diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2fa4e9e..70b63cf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -66,4 +66,4 @@ jobs: --durations=20 - name: Upload coverage report - uses: codecov/codecov-action@v3.1.4 + uses: codecov/codecov-action@v3.1.5 diff --git a/pystocktopus/core.py b/pystocktopus/core.py index 2eb0716..e620b02 100644 --- a/pystocktopus/core.py +++ b/pystocktopus/core.py @@ -3,6 +3,7 @@ import datetime import json + from polygon import RESTClient import pystocktopus.config as config diff --git a/pystocktopus/news_analysis.py b/pystocktopus/news_analysis.py index 85ea396..abcde84 100644 --- a/pystocktopus/news_analysis.py +++ b/pystocktopus/news_analysis.py @@ -5,9 +5,10 @@ import pandas as pd from newsapi import NewsApiClient -from pystocktopus.config import news_api from transformers import pipeline +from pystocktopus.config import news_api + class News: """Class for handling news data.""" diff --git a/stock-env/bin/Activate.ps1 b/stock-env/bin/Activate.ps1 index b49d77b..354eb42 100644 --- a/stock-env/bin/Activate.ps1 +++ b/stock-env/bin/Activate.ps1 @@ -44,7 +44,7 @@ command: PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -For more information on Execution Policies: +For more information on Execution Policies: https://go.microsoft.com/fwlink/?LinkID=135170 #> diff --git a/stock-env/bin/coverage b/stock-env/bin/coverage index bec971d..3a46106 100755 --- a/stock-env/bin/coverage +++ b/stock-env/bin/coverage @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from coverage.cmdline import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/coverage-3.10 b/stock-env/bin/coverage-3.10 index bec971d..3a46106 100755 --- a/stock-env/bin/coverage-3.10 +++ b/stock-env/bin/coverage-3.10 @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from coverage.cmdline import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/coverage3 b/stock-env/bin/coverage3 index bec971d..3a46106 100755 --- a/stock-env/bin/coverage3 +++ b/stock-env/bin/coverage3 @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from coverage.cmdline import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/cygdb b/stock-env/bin/cygdb index d60c030..cbff29a 100755 --- a/stock-env/bin/cygdb +++ b/stock-env/bin/cygdb @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from Cython.Debugger.Cygdb import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/cython b/stock-env/bin/cython index 1f50dac..cffe649 100755 --- a/stock-env/bin/cython +++ b/stock-env/bin/cython @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from Cython.Compiler.Main import setuptools_main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(setuptools_main()) diff --git a/stock-env/bin/cythonize b/stock-env/bin/cythonize index 0a7fb22..d039f32 100755 --- a/stock-env/bin/cythonize +++ b/stock-env/bin/cythonize @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from Cython.Build.Cythonize import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/estimator_ckpt_converter b/stock-env/bin/estimator_ckpt_converter index a360351..7643dc1 100755 --- a/stock-env/bin/estimator_ckpt_converter +++ b/stock-env/bin/estimator_ckpt_converter @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from tensorflow_estimator.python.estimator.tools.checkpoint_converter import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/f2py b/stock-env/bin/f2py index 349d630..934f96e 100755 --- a/stock-env/bin/f2py +++ b/stock-env/bin/f2py @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from numpy.f2py.f2py2e import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/fonttools b/stock-env/bin/fonttools index 716ce87..a2cfe2d 100755 --- a/stock-env/bin/fonttools +++ b/stock-env/bin/fonttools @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from fontTools.__main__ import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/google-oauthlib-tool b/stock-env/bin/google-oauthlib-tool index df6acf8..6977c70 100755 --- a/stock-env/bin/google-oauthlib-tool +++ b/stock-env/bin/google-oauthlib-tool @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from google_auth_oauthlib.tool.__main__ import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/huggingface-cli b/stock-env/bin/huggingface-cli index de6ef1d..905a1a9 100755 --- a/stock-env/bin/huggingface-cli +++ b/stock-env/bin/huggingface-cli @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from huggingface_hub.commands.huggingface_cli import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/import_pb_to_tensorboard b/stock-env/bin/import_pb_to_tensorboard index 3bc392e..ae2c38f 100755 --- a/stock-env/bin/import_pb_to_tensorboard +++ b/stock-env/bin/import_pb_to_tensorboard @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from tensorflow.python.tools.import_pb_to_tensorboard import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/markdown_py b/stock-env/bin/markdown_py index b69e82d..c4b6300 100755 --- a/stock-env/bin/markdown_py +++ b/stock-env/bin/markdown_py @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from markdown.__main__ import run -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(run()) diff --git a/stock-env/bin/normalizer b/stock-env/bin/normalizer index d0c40e6..0b3c692 100755 --- a/stock-env/bin/normalizer +++ b/stock-env/bin/normalizer @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from charset_normalizer.cli import cli_detect -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(cli_detect()) diff --git a/stock-env/bin/pip b/stock-env/bin/pip index a3d9124..6ecf315 100755 --- a/stock-env/bin/pip +++ b/stock-env/bin/pip @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from pip._internal.cli.main import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/pip3 b/stock-env/bin/pip3 index a3d9124..6ecf315 100755 --- a/stock-env/bin/pip3 +++ b/stock-env/bin/pip3 @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from pip._internal.cli.main import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/pip3.10 b/stock-env/bin/pip3.10 index a3d9124..6ecf315 100755 --- a/stock-env/bin/pip3.10 +++ b/stock-env/bin/pip3.10 @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from pip._internal.cli.main import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/py.test b/stock-env/bin/py.test index 679c1be..fe9e3e6 100755 --- a/stock-env/bin/py.test +++ b/stock-env/bin/py.test @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from pytest import console_main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(console_main()) diff --git a/stock-env/bin/pyftmerge b/stock-env/bin/pyftmerge index ad5eded..377e65a 100755 --- a/stock-env/bin/pyftmerge +++ b/stock-env/bin/pyftmerge @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from fontTools.merge import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/pyftsubset b/stock-env/bin/pyftsubset index 9125280..aa36f83 100755 --- a/stock-env/bin/pyftsubset +++ b/stock-env/bin/pyftsubset @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from fontTools.subset import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/pyrsa-decrypt b/stock-env/bin/pyrsa-decrypt index 80b3a1c..a88fc64 100755 --- a/stock-env/bin/pyrsa-decrypt +++ b/stock-env/bin/pyrsa-decrypt @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from rsa.cli import decrypt -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(decrypt()) diff --git a/stock-env/bin/pyrsa-encrypt b/stock-env/bin/pyrsa-encrypt index eb65103..77d5cdf 100755 --- a/stock-env/bin/pyrsa-encrypt +++ b/stock-env/bin/pyrsa-encrypt @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from rsa.cli import encrypt -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(encrypt()) diff --git a/stock-env/bin/pyrsa-keygen b/stock-env/bin/pyrsa-keygen index 9329a7d..12887cf 100755 --- a/stock-env/bin/pyrsa-keygen +++ b/stock-env/bin/pyrsa-keygen @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from rsa.cli import keygen -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(keygen()) diff --git a/stock-env/bin/pyrsa-priv2pub b/stock-env/bin/pyrsa-priv2pub index 7c16fdf..6783625 100755 --- a/stock-env/bin/pyrsa-priv2pub +++ b/stock-env/bin/pyrsa-priv2pub @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from rsa.util import private_to_public -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(private_to_public()) diff --git a/stock-env/bin/pyrsa-sign b/stock-env/bin/pyrsa-sign index 47b69ba..e062e30 100755 --- a/stock-env/bin/pyrsa-sign +++ b/stock-env/bin/pyrsa-sign @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from rsa.cli import sign -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(sign()) diff --git a/stock-env/bin/pyrsa-verify b/stock-env/bin/pyrsa-verify index 5d43b08..7fa0f26 100755 --- a/stock-env/bin/pyrsa-verify +++ b/stock-env/bin/pyrsa-verify @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from rsa.cli import verify -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(verify()) diff --git a/stock-env/bin/pytest b/stock-env/bin/pytest index 679c1be..fe9e3e6 100755 --- a/stock-env/bin/pytest +++ b/stock-env/bin/pytest @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from pytest import console_main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(console_main()) diff --git a/stock-env/bin/saved_model_cli b/stock-env/bin/saved_model_cli index 777844b..21168e8 100755 --- a/stock-env/bin/saved_model_cli +++ b/stock-env/bin/saved_model_cli @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from tensorflow.python.tools.saved_model_cli import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/tensorboard b/stock-env/bin/tensorboard index 6a18eca..51efdae 100755 --- a/stock-env/bin/tensorboard +++ b/stock-env/bin/tensorboard @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from tensorboard.main import run_main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(run_main()) diff --git a/stock-env/bin/tf_upgrade_v2 b/stock-env/bin/tf_upgrade_v2 index b944179..050fa4a 100755 --- a/stock-env/bin/tf_upgrade_v2 +++ b/stock-env/bin/tf_upgrade_v2 @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from tensorflow.tools.compatibility.tf_upgrade_v2_main import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/tflite_convert b/stock-env/bin/tflite_convert index 8ea7801..75e1741 100755 --- a/stock-env/bin/tflite_convert +++ b/stock-env/bin/tflite_convert @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from tensorflow.lite.python.tflite_convert import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/toco b/stock-env/bin/toco index 8ea7801..75e1741 100755 --- a/stock-env/bin/toco +++ b/stock-env/bin/toco @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from tensorflow.lite.python.tflite_convert import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/toco_from_protos b/stock-env/bin/toco_from_protos index 9b1e30e..c37da82 100755 --- a/stock-env/bin/toco_from_protos +++ b/stock-env/bin/toco_from_protos @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from tensorflow.lite.toco.python.toco_from_protos import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/tqdm b/stock-env/bin/tqdm index 5fa6249..e52aaef 100755 --- a/stock-env/bin/tqdm +++ b/stock-env/bin/tqdm @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from tqdm.cli import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/transformers-cli b/stock-env/bin/transformers-cli index e280f0b..c7d9c5b 100755 --- a/stock-env/bin/transformers-cli +++ b/stock-env/bin/transformers-cli @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from transformers.commands.transformers_cli import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/ttx b/stock-env/bin/ttx index 42cb95b..689eb30 100755 --- a/stock-env/bin/ttx +++ b/stock-env/bin/ttx @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from fontTools.ttx import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/bin/wheel b/stock-env/bin/wheel index a28dd7c..9f1b887 100755 --- a/stock-env/bin/wheel +++ b/stock-env/bin/wheel @@ -1,8 +1,11 @@ #!/Users/akhilsharma/Downloads/porfolio/Stock/stock-env/bin/python3.10 -# -*- coding: utf-8 -*- +from __future__ import annotations + import re import sys + from wheel.cli import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + +if __name__ == "__main__": + sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main()) diff --git a/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/133.e85857c23bc96dec5e13.js b/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/133.e85857c23bc96dec5e13.js index 487cd01..aba9dab 100644 --- a/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/133.e85857c23bc96dec5e13.js +++ b/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/133.e85857c23bc96dec5e13.js @@ -1 +1,36 @@ -"use strict";(self.webpackChunkjupyterlab_plotly=self.webpackChunkjupyterlab_plotly||[]).push([[133,657],{133:(e,t,n)=>{n.r(t),n.d(t,{default:()=>p});var l=n(900),i=n(657);const p={id:"jupyterlab-plotly",requires:[l.IJupyterWidgetRegistry],activate:function(e,t){t.registerWidget({name:i.o,version:i.Y,exports:()=>Promise.all([n.e(478),n.e(855)]).then(n.bind(n,855))})},autoStart:!0}},657:(e,t,n)=>{n.d(t,{Y:()=>i,o:()=>p});const l=n(147),i=l.version,p=l.name},147:e=>{e.exports=JSON.parse('{"name":"jupyterlab-plotly","version":"5.17.0","description":"The plotly Jupyter extension","author":"The plotly.py team","license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"https://github.com/plotly/plotly.py"},"keywords":["jupyter","widgets","ipython","ipywidgets","plotly"],"files":["lib/**/*.js","dist/*.js","style/*.*"],"scripts":{"build:dev":"npm run build:lib && npm run build:nbextension && npm run build:labextension:dev","build:prod":"npm run build:lib && npm run build:nbextension && npm run build:labextension","build:labextension":"jupyter labextension build .","build:labextension:dev":"jupyter labextension build --development True .","build:lib":"tsc","build:nbextension":"webpack --mode=production","clean":"npm run clean:lib && npm run clean:nbextension && npm run clean:labextension","clean:lib":"rimraf lib","clean:labextension":"rimraf ../../python/plotly/jupyterlab_plotly/labextension","clean:nbextension":"rimraf ../../python/plotly/jupyterlab_plotly/nbextension/index.js*","lint":"eslint . --ext .ts,.tsx --fix","lint:check":"eslint . --ext .ts,.tsx","prepack":"npm run build:lib","test":"echo \\"Error: no test specified\\" && exit 1","watch":"npm-run-all -p watch:*","watch:lib":"tsc -w","watch:nbextension":"webpack --watch"},"devDependencies":{"@jupyterlab/builder":"^3.0.0","@lumino/application":"^1.6.0","@types/plotly.js":"^1.54.10","@types/webpack-env":"^1.13.6","acorn":"^7.2.0","css-loader":"^5.2.6","fs-extra":"^7.0.0","mkdirp":"^0.5.1","npm-run-all":"^4.1.3","prettier":"^2.0.5","rimraf":"^2.6.2","source-map-loader":"^1.1.3","style-loader":"^1.0.0","ts-loader":"^8.0.0","typescript":"~4.1.3","webpack":"^5.0.0","webpack-cli":"^4.0.0"},"dependencies":{"@jupyter-widgets/base":">=2.0.0 <7.0.0","@jupyterlab/rendermime-interfaces":"^1.3.0 || ^2.0.0 || ^3.0.0","@lumino/messaging":"^1.2.3","@lumino/widgets":"^1.8.1","lodash":"^4.17.4","plotly.js":"^2.26.0"},"jupyterlab":{"extension":"lib/jupyterlab-plugin","mimeExtension":"lib/plotly-renderer","outputDir":"../../python/plotly/jupyterlab_plotly/labextension","sharedPackages":{"@jupyter-widgets/base":{"bundled":false,"singleton":true}}}}')}}]); \ No newline at end of file +"use strict"; +(self.webpackChunkjupyterlab_plotly = + self.webpackChunkjupyterlab_plotly || []).push([ + [133, 657], + { + 133: (e, t, n) => { + n.r(t), n.d(t, { default: () => p }); + var l = n(900), + i = n(657); + const p = { + id: "jupyterlab-plotly", + requires: [l.IJupyterWidgetRegistry], + activate: function (e, t) { + t.registerWidget({ + name: i.o, + version: i.Y, + exports: () => + Promise.all([n.e(478), n.e(855)]).then(n.bind(n, 855)), + }); + }, + autoStart: !0, + }; + }, + 657: (e, t, n) => { + n.d(t, { Y: () => i, o: () => p }); + const l = n(147), + i = l.version, + p = l.name; + }, + 147: (e) => { + e.exports = JSON.parse( + '{"name":"jupyterlab-plotly","version":"5.17.0","description":"The plotly Jupyter extension","author":"The plotly.py team","license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"https://github.com/plotly/plotly.py"},"keywords":["jupyter","widgets","ipython","ipywidgets","plotly"],"files":["lib/**/*.js","dist/*.js","style/*.*"],"scripts":{"build:dev":"npm run build:lib && npm run build:nbextension && npm run build:labextension:dev","build:prod":"npm run build:lib && npm run build:nbextension && npm run build:labextension","build:labextension":"jupyter labextension build .","build:labextension:dev":"jupyter labextension build --development True .","build:lib":"tsc","build:nbextension":"webpack --mode=production","clean":"npm run clean:lib && npm run clean:nbextension && npm run clean:labextension","clean:lib":"rimraf lib","clean:labextension":"rimraf ../../python/plotly/jupyterlab_plotly/labextension","clean:nbextension":"rimraf ../../python/plotly/jupyterlab_plotly/nbextension/index.js*","lint":"eslint . --ext .ts,.tsx --fix","lint:check":"eslint . --ext .ts,.tsx","prepack":"npm run build:lib","test":"echo \\"Error: no test specified\\" && exit 1","watch":"npm-run-all -p watch:*","watch:lib":"tsc -w","watch:nbextension":"webpack --watch"},"devDependencies":{"@jupyterlab/builder":"^3.0.0","@lumino/application":"^1.6.0","@types/plotly.js":"^1.54.10","@types/webpack-env":"^1.13.6","acorn":"^7.2.0","css-loader":"^5.2.6","fs-extra":"^7.0.0","mkdirp":"^0.5.1","npm-run-all":"^4.1.3","prettier":"^2.0.5","rimraf":"^2.6.2","source-map-loader":"^1.1.3","style-loader":"^1.0.0","ts-loader":"^8.0.0","typescript":"~4.1.3","webpack":"^5.0.0","webpack-cli":"^4.0.0"},"dependencies":{"@jupyter-widgets/base":">=2.0.0 <7.0.0","@jupyterlab/rendermime-interfaces":"^1.3.0 || ^2.0.0 || ^3.0.0","@lumino/messaging":"^1.2.3","@lumino/widgets":"^1.8.1","lodash":"^4.17.4","plotly.js":"^2.26.0"},"jupyterlab":{"extension":"lib/jupyterlab-plugin","mimeExtension":"lib/plotly-renderer","outputDir":"../../python/plotly/jupyterlab_plotly/labextension","sharedPackages":{"@jupyter-widgets/base":{"bundled":false,"singleton":true}}}}', + ); + }, + }, +]); diff --git a/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/423.d0d3e2912c33c7566484.js b/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/423.d0d3e2912c33c7566484.js index 004df2a..a0cda34 100644 --- a/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/423.d0d3e2912c33c7566484.js +++ b/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/423.d0d3e2912c33c7566484.js @@ -1 +1,434 @@ -(self.webpackChunkjupyterlab_plotly=self.webpackChunkjupyterlab_plotly||[]).push([[423],{423:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MIME_TYPE:()=>i,RenderedPlotly:()=>s,default:()=>a,rendererFactory:()=>r});var o=n(832),l=(n(549),function(e,t,n,o){return new(n||(n=Promise))((function(l,i){function s(e){try{a(o.next(e))}catch(e){i(e)}}function r(e){try{a(o.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?l(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,r)}a((o=o.apply(e,t||[])).next())}))});const i="application/vnd.plotly.v1+json";class s extends o.Widget{constructor(e){super(),this.addClass("jp-RenderedPlotly"),this._mimeType=e.mimeType,this._img_el=document.createElement("img"),this._img_el.className="plot-img",this.node.appendChild(this._img_el),this._img_el.addEventListener("mouseenter",(e=>{this.createGraph(this._model)}))}renderModel(e){if(this.hasGraphElement())return Promise.resolve();this._model=e;const t=e.data["image/png"];return null!=t?(this.updateImage(t),Promise.resolve()):this.createGraph(e)}hasGraphElement(){return null!==this.node.querySelector(".plot-container")}updateImage(e){this.hideGraph(),this._img_el.src="data:image/png;base64,"+e,this.showImage()}hideGraph(){let e=this.node.querySelector(".plot-container");null!=e&&(e.style.display="none")}showGraph(){let e=this.node.querySelector(".plot-container");null!=e&&(e.style.display="block")}hideImage(){let e=this.node.querySelector(".plot-img");null!=e&&(e.style.display="none")}showImage(){let e=this.node.querySelector(".plot-img");null!=e&&(e.style.display="block")}createGraph(e){const{data:t,layout:o,frames:i,config:r}=e.data[this._mimeType];return o.height||(o.height=360),(()=>l(this,void 0,void 0,(function*(){return null===s.Plotly&&(s.Plotly=yield n.e(478).then(n.t.bind(n,478,23)),s._resolveLoadingPlotly()),s.loadingPlotly})))().then((()=>s.Plotly.react(this.node,t,o,r))).then((t=>{this.showGraph(),this.hideImage(),this.update(),i&&s.Plotly.addFrames(this.node,i),this.node.offsetWidth>0&&this.node.offsetHeight>0&&s.Plotly.toImage(t,{format:"png",width:this.node.offsetWidth,height:this.node.offsetHeight}).then((t=>{const n=t.split(",")[1];e.data["image/png"]!==n&&e.setData({data:Object.assign(Object.assign({},e.data),{"image/png":n})})})),this.node.on("plotly_webglcontextlost",(()=>{const t=e.data["image/png"];if(null!=t)return this.updateImage(t),Promise.resolve()}))}))}onAfterShow(e){this.update()}onResize(e){this.update()}onUpdateRequest(e){s.Plotly&&this.isVisible&&this.hasGraphElement()&&s.Plotly.redraw(this.node).then((()=>{s.Plotly.Plots.resize(this.node)}))}}s.Plotly=null,s.loadingPlotly=new Promise((e=>{s._resolveLoadingPlotly=e}));const r={safe:!0,mimeTypes:[i],createRenderer:e=>new s(e)},a=[{id:"@jupyterlab/plotly-extension:factory",rendererFactory:r,rank:0,dataType:"json",fileTypes:[{name:"plotly",mimeTypes:[i],extensions:[".plotly",".plotly.json"],iconClass:"jp-MaterialIcon jp-PlotlyIcon"}],documentWidgetFactoryOptions:{name:"Plotly",primaryFileType:"plotly",fileTypes:["plotly","json"],defaultFor:["plotly"]}}]},760:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>h});var o=n(645),l=n.n(o),i=n(667),s=n.n(i),r=n(745),a=n.n(r),c=l()((function(e){return e[1]})),d=s()(a());c.push([e.id,"/**\n Copyright (c) Jupyter Development Team.\n Distributed under the terms of the Modified BSD License.\n*/\n\n/* Add CSS variables to :root */\n:root {\n --jp-icon-plotly: url("+d+");\n}\n\n/* Base styles */\n.jp-RenderedPlotly {\n width: 100%;\n height: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n/* Document styles */\n.jp-MimeDocument .jp-RenderedPlotly {\n overflow: hidden;\n}\n\n/* Document icon */\n.jp-PlotlyIcon {\n background-image: var(--jp-icon-plotly);\n}\n",""]);const h=c},645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,o){"string"==typeof e&&(e=[[null,e,""]]);var l={};if(o)for(var i=0;i{"use strict";e.exports=function(e,t){return t||(t={}),"string"!=typeof(e=e&&e.__esModule?e.default:e)?e:(/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e)}},549:(e,t,n)=>{var o=n(379),l=n(760);"string"==typeof(l=l.__esModule?l.default:l)&&(l=[[e.id,l,""]]);o(l,{insert:"head",singleton:!1}),e.exports=l.locals||{}},379:(e,t,n)=>{"use strict";var o,l=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),i=[];function s(e){for(var t=-1,n=0;n{e.exports="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 132'%3E %3Cdefs%3E %3Cstyle%3E .cls-1 %7B fill: %23119dff; %7D .cls-2 %7B fill: %2325fefd; %7D .cls-3 %7B fill: %23fff; %7D %3C/style%3E %3C/defs%3E %3Ctitle%3Eplotly-logomark%3C/title%3E %3Cg id='symbol'%3E %3Crect class='cls-1' width='132' height='132' rx='6' ry='6'/%3E %3Ccircle class='cls-2' cx='78' cy='54' r='6'/%3E %3Ccircle class='cls-2' cx='102' cy='30' r='6'/%3E %3Ccircle class='cls-2' cx='78' cy='30' r='6'/%3E %3Ccircle class='cls-2' cx='54' cy='30' r='6'/%3E %3Ccircle class='cls-2' cx='30' cy='30' r='6'/%3E %3Ccircle class='cls-2' cx='30' cy='54' r='6'/%3E %3Cpath class='cls-3' d='M30,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,30,72Z'/%3E %3Cpath class='cls-3' d='M78,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,78,72Z'/%3E %3Cpath class='cls-3' d='M54,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,54,48Z'/%3E %3Cpath class='cls-3' d='M102,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,102,48Z'/%3E %3C/g%3E %3C/svg%3E"}}]); \ No newline at end of file +(self.webpackChunkjupyterlab_plotly = + self.webpackChunkjupyterlab_plotly || []).push([ + [423], + { + 423: (e, t, n) => { + "use strict"; + n.r(t), + n.d(t, { + MIME_TYPE: () => i, + RenderedPlotly: () => s, + default: () => a, + rendererFactory: () => r, + }); + var o = n(832), + l = + (n(549), + function (e, t, n, o) { + return new (n || (n = Promise))(function (l, i) { + function s(e) { + try { + a(o.next(e)); + } catch (e) { + i(e); + } + } + function r(e) { + try { + a(o.throw(e)); + } catch (e) { + i(e); + } + } + function a(e) { + var t; + e.done + ? l(e.value) + : ((t = e.value), + t instanceof n + ? t + : new n(function (e) { + e(t); + })).then(s, r); + } + a((o = o.apply(e, t || [])).next()); + }); + }); + const i = "application/vnd.plotly.v1+json"; + class s extends o.Widget { + constructor(e) { + super(), + this.addClass("jp-RenderedPlotly"), + (this._mimeType = e.mimeType), + (this._img_el = document.createElement("img")), + (this._img_el.className = "plot-img"), + this.node.appendChild(this._img_el), + this._img_el.addEventListener("mouseenter", (e) => { + this.createGraph(this._model); + }); + } + renderModel(e) { + if (this.hasGraphElement()) return Promise.resolve(); + this._model = e; + const t = e.data["image/png"]; + return null != t + ? (this.updateImage(t), Promise.resolve()) + : this.createGraph(e); + } + hasGraphElement() { + return null !== this.node.querySelector(".plot-container"); + } + updateImage(e) { + this.hideGraph(), + (this._img_el.src = "data:image/png;base64," + e), + this.showImage(); + } + hideGraph() { + let e = this.node.querySelector(".plot-container"); + null != e && (e.style.display = "none"); + } + showGraph() { + let e = this.node.querySelector(".plot-container"); + null != e && (e.style.display = "block"); + } + hideImage() { + let e = this.node.querySelector(".plot-img"); + null != e && (e.style.display = "none"); + } + showImage() { + let e = this.node.querySelector(".plot-img"); + null != e && (e.style.display = "block"); + } + createGraph(e) { + const { + data: t, + layout: o, + frames: i, + config: r, + } = e.data[this._mimeType]; + return ( + o.height || (o.height = 360), + (() => + l(this, void 0, void 0, function* () { + return ( + null === s.Plotly && + ((s.Plotly = yield n.e(478).then(n.t.bind(n, 478, 23))), + s._resolveLoadingPlotly()), + s.loadingPlotly + ); + }))() + .then(() => s.Plotly.react(this.node, t, o, r)) + .then((t) => { + this.showGraph(), + this.hideImage(), + this.update(), + i && s.Plotly.addFrames(this.node, i), + this.node.offsetWidth > 0 && + this.node.offsetHeight > 0 && + s.Plotly.toImage(t, { + format: "png", + width: this.node.offsetWidth, + height: this.node.offsetHeight, + }).then((t) => { + const n = t.split(",")[1]; + e.data["image/png"] !== n && + e.setData({ + data: Object.assign(Object.assign({}, e.data), { + "image/png": n, + }), + }); + }), + this.node.on("plotly_webglcontextlost", () => { + const t = e.data["image/png"]; + if (null != t) + return this.updateImage(t), Promise.resolve(); + }); + }) + ); + } + onAfterShow(e) { + this.update(); + } + onResize(e) { + this.update(); + } + onUpdateRequest(e) { + s.Plotly && + this.isVisible && + this.hasGraphElement() && + s.Plotly.redraw(this.node).then(() => { + s.Plotly.Plots.resize(this.node); + }); + } + } + (s.Plotly = null), + (s.loadingPlotly = new Promise((e) => { + s._resolveLoadingPlotly = e; + })); + const r = { safe: !0, mimeTypes: [i], createRenderer: (e) => new s(e) }, + a = [ + { + id: "@jupyterlab/plotly-extension:factory", + rendererFactory: r, + rank: 0, + dataType: "json", + fileTypes: [ + { + name: "plotly", + mimeTypes: [i], + extensions: [".plotly", ".plotly.json"], + iconClass: "jp-MaterialIcon jp-PlotlyIcon", + }, + ], + documentWidgetFactoryOptions: { + name: "Plotly", + primaryFileType: "plotly", + fileTypes: ["plotly", "json"], + defaultFor: ["plotly"], + }, + }, + ]; + }, + 760: (e, t, n) => { + "use strict"; + n.r(t), n.d(t, { default: () => h }); + var o = n(645), + l = n.n(o), + i = n(667), + s = n.n(i), + r = n(745), + a = n.n(r), + c = l()(function (e) { + return e[1]; + }), + d = s()(a()); + c.push([ + e.id, + "/**\n Copyright (c) Jupyter Development Team.\n Distributed under the terms of the Modified BSD License.\n*/\n\n/* Add CSS variables to :root */\n:root {\n --jp-icon-plotly: url(" + + d + + ");\n}\n\n/* Base styles */\n.jp-RenderedPlotly {\n width: 100%;\n height: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n/* Document styles */\n.jp-MimeDocument .jp-RenderedPlotly {\n overflow: hidden;\n}\n\n/* Document icon */\n.jp-PlotlyIcon {\n background-image: var(--jp-icon-plotly);\n}\n", + "", + ]); + const h = c; + }, + 645: (e) => { + "use strict"; + e.exports = function (e) { + var t = []; + return ( + (t.toString = function () { + return this.map(function (t) { + var n = e(t); + return t[2] ? "@media ".concat(t[2], " {").concat(n, "}") : n; + }).join(""); + }), + (t.i = function (e, n, o) { + "string" == typeof e && (e = [[null, e, ""]]); + var l = {}; + if (o) + for (var i = 0; i < this.length; i++) { + var s = this[i][0]; + null != s && (l[s] = !0); + } + for (var r = 0; r < e.length; r++) { + var a = [].concat(e[r]); + (o && l[a[0]]) || + (n && + (a[2] + ? (a[2] = "".concat(n, " and ").concat(a[2])) + : (a[2] = n)), + t.push(a)); + } + }), + t + ); + }; + }, + 667: (e) => { + "use strict"; + e.exports = function (e, t) { + return ( + t || (t = {}), + "string" != typeof (e = e && e.__esModule ? e.default : e) + ? e + : (/^['"].*['"]$/.test(e) && (e = e.slice(1, -1)), + t.hash && (e += t.hash), + /["'() \t\n]/.test(e) || t.needQuotes + ? '"'.concat(e.replace(/"/g, '\\"').replace(/\n/g, "\\n"), '"') + : e) + ); + }; + }, + 549: (e, t, n) => { + var o = n(379), + l = n(760); + "string" == typeof (l = l.__esModule ? l.default : l) && + (l = [[e.id, l, ""]]); + o(l, { insert: "head", singleton: !1 }), (e.exports = l.locals || {}); + }, + 379: (e, t, n) => { + "use strict"; + var o, + l = (function () { + var e = {}; + return function (t) { + if (void 0 === e[t]) { + var n = document.querySelector(t); + if ( + window.HTMLIFrameElement && + n instanceof window.HTMLIFrameElement + ) + try { + n = n.contentDocument.head; + } catch (e) { + n = null; + } + e[t] = n; + } + return e[t]; + }; + })(), + i = []; + function s(e) { + for (var t = -1, n = 0; n < i.length; n++) + if (i[n].identifier === e) { + t = n; + break; + } + return t; + } + function r(e, t) { + for (var n = {}, o = [], l = 0; l < e.length; l++) { + var r = e[l], + a = t.base ? r[0] + t.base : r[0], + c = n[a] || 0, + d = "".concat(a, " ").concat(c); + n[a] = c + 1; + var h = s(d), + u = { css: r[1], media: r[2], sourceMap: r[3] }; + -1 !== h + ? (i[h].references++, i[h].updater(u)) + : i.push({ identifier: d, updater: y(u, t), references: 1 }), + o.push(d); + } + return o; + } + function a(e) { + var t = document.createElement("style"), + o = e.attributes || {}; + if (void 0 === o.nonce) { + var i = n.nc; + i && (o.nonce = i); + } + if ( + (Object.keys(o).forEach(function (e) { + t.setAttribute(e, o[e]); + }), + "function" == typeof e.insert) + ) + e.insert(t); + else { + var s = l(e.insert || "head"); + if (!s) + throw new Error( + "Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.", + ); + s.appendChild(t); + } + return t; + } + var c, + d = + ((c = []), + function (e, t) { + return (c[e] = t), c.filter(Boolean).join("\n"); + }); + function h(e, t, n, o) { + var l = n + ? "" + : o.media + ? "@media ".concat(o.media, " {").concat(o.css, "}") + : o.css; + if (e.styleSheet) e.styleSheet.cssText = d(t, l); + else { + var i = document.createTextNode(l), + s = e.childNodes; + s[t] && e.removeChild(s[t]), + s.length ? e.insertBefore(i, s[t]) : e.appendChild(i); + } + } + function u(e, t, n) { + var o = n.css, + l = n.media, + i = n.sourceMap; + if ( + (l ? e.setAttribute("media", l) : e.removeAttribute("media"), + i && + "undefined" != typeof btoa && + (o += "\n/*# sourceMappingURL=data:application/json;base64,".concat( + btoa(unescape(encodeURIComponent(JSON.stringify(i)))), + " */", + )), + e.styleSheet) + ) + e.styleSheet.cssText = o; + else { + for (; e.firstChild; ) e.removeChild(e.firstChild); + e.appendChild(document.createTextNode(o)); + } + } + var p = null, + f = 0; + function y(e, t) { + var n, o, l; + if (t.singleton) { + var i = f++; + (n = p || (p = a(t))), + (o = h.bind(null, n, i, !1)), + (l = h.bind(null, n, i, !0)); + } else + (n = a(t)), + (o = u.bind(null, n, t)), + (l = function () { + !(function (e) { + if (null === e.parentNode) return !1; + e.parentNode.removeChild(e); + })(n); + }); + return ( + o(e), + function (t) { + if (t) { + if ( + t.css === e.css && + t.media === e.media && + t.sourceMap === e.sourceMap + ) + return; + o((e = t)); + } else l(); + } + ); + } + e.exports = function (e, t) { + (t = t || {}).singleton || + "boolean" == typeof t.singleton || + (t.singleton = + (void 0 === o && + (o = Boolean(window && document && document.all && !window.atob)), + o)); + var n = r((e = e || []), t); + return function (e) { + if ( + ((e = e || []), + "[object Array]" === Object.prototype.toString.call(e)) + ) { + for (var o = 0; o < n.length; o++) { + var l = s(n[o]); + i[l].references--; + } + for (var a = r(e, t), c = 0; c < n.length; c++) { + var d = s(n[c]); + 0 === i[d].references && (i[d].updater(), i.splice(d, 1)); + } + n = a; + } + }; + }; + }, + 745: (e) => { + e.exports = + "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 132'%3E %3Cdefs%3E %3Cstyle%3E .cls-1 %7B fill: %23119dff; %7D .cls-2 %7B fill: %2325fefd; %7D .cls-3 %7B fill: %23fff; %7D %3C/style%3E %3C/defs%3E %3Ctitle%3Eplotly-logomark%3C/title%3E %3Cg id='symbol'%3E %3Crect class='cls-1' width='132' height='132' rx='6' ry='6'/%3E %3Ccircle class='cls-2' cx='78' cy='54' r='6'/%3E %3Ccircle class='cls-2' cx='102' cy='30' r='6'/%3E %3Ccircle class='cls-2' cx='78' cy='30' r='6'/%3E %3Ccircle class='cls-2' cx='54' cy='30' r='6'/%3E %3Ccircle class='cls-2' cx='30' cy='30' r='6'/%3E %3Ccircle class='cls-2' cx='30' cy='54' r='6'/%3E %3Cpath class='cls-3' d='M30,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,30,72Z'/%3E %3Cpath class='cls-3' d='M78,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,78,72Z'/%3E %3Cpath class='cls-3' d='M54,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,54,48Z'/%3E %3Cpath class='cls-3' d='M102,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,102,48Z'/%3E %3C/g%3E %3C/svg%3E"; + }, + }, +]); diff --git a/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/478.3105ed2766dbb1bb6616.js b/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/478.3105ed2766dbb1bb6616.js index a4d5088..3d6b473 100644 --- a/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/478.3105ed2766dbb1bb6616.js +++ b/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/478.3105ed2766dbb1bb6616.js @@ -1,2 +1,243666 @@ /*! For license information please see 478.3105ed2766dbb1bb6616.js.LICENSE.txt */ -(self.webpackChunkjupyterlab_plotly=self.webpackChunkjupyterlab_plotly||[]).push([[478],{478:t=>{var e;self,e=function(){return function(){var t={98847:function(t,e,r){"use strict";var n=r(71828),i={"X,X div":'direction:ltr;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 .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;","X .modebar--hover>:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","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:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;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,.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:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var a in i){var o=a.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,i[a])}},98222:function(t,e,r){"use strict";t.exports=r(82887)},27206:function(t,e,r){"use strict";t.exports=r(60822)},59893:function(t,e,r){"use strict";t.exports=r(23381)},5224:function(t,e,r){"use strict";t.exports=r(83832)},59509:function(t,e,r){"use strict";t.exports=r(72201)},75557:function(t,e,r){"use strict";t.exports=r(91815)},40338:function(t,e,r){"use strict";t.exports=r(21462)},35080:function(t,e,r){"use strict";t.exports=r(51319)},61396:function(t,e,r){"use strict";t.exports=r(57516)},40549:function(t,e,r){"use strict";t.exports=r(98128)},49866:function(t,e,r){"use strict";t.exports=r(99442)},36089:function(t,e,r){"use strict";t.exports=r(93740)},19548:function(t,e,r){"use strict";t.exports=r(8729)},35831:function(t,e,r){"use strict";t.exports=r(93814)},61039:function(t,e,r){"use strict";t.exports=r(14382)},97040:function(t,e,r){"use strict";t.exports=r(51759)},77986:function(t,e,r){"use strict";t.exports=r(10421)},24296:function(t,e,r){"use strict";t.exports=r(43102)},58872:function(t,e,r){"use strict";t.exports=r(92165)},29626:function(t,e,r){"use strict";t.exports=r(3325)},65591:function(t,e,r){"use strict";t.exports=r(36071)},69738:function(t,e,r){"use strict";t.exports=r(43905)},92650:function(t,e,r){"use strict";t.exports=r(35902)},35630:function(t,e,r){"use strict";t.exports=r(69816)},73434:function(t,e,r){"use strict";t.exports=r(94507)},27909:function(t,e,r){"use strict";var n=r(19548);n.register([r(27206),r(5224),r(58872),r(65591),r(69738),r(92650),r(49866),r(25743),r(6197),r(97040),r(85461),r(73434),r(54201),r(81299),r(47645),r(35630),r(77986),r(83043),r(93005),r(96881),r(4534),r(50581),r(40549),r(77900),r(47582),r(35080),r(21641),r(17280),r(5861),r(29626),r(10021),r(65317),r(96268),r(61396),r(35831),r(16122),r(46163),r(40344),r(40338),r(48131),r(36089),r(55334),r(75557),r(19440),r(99488),r(59893),r(97393),r(98222),r(61039),r(24296),r(66398),r(59509)]),t.exports=n},46163:function(t,e,r){"use strict";t.exports=r(15154)},96881:function(t,e,r){"use strict";t.exports=r(64943)},50581:function(t,e,r){"use strict";t.exports=r(21164)},55334:function(t,e,r){"use strict";t.exports=r(54186)},65317:function(t,e,r){"use strict";t.exports=r(94873)},10021:function(t,e,r){"use strict";t.exports=r(67618)},54201:function(t,e,r){"use strict";t.exports=r(58810)},5861:function(t,e,r){"use strict";t.exports=r(20593)},16122:function(t,e,r){"use strict";t.exports=r(29396)},83043:function(t,e,r){"use strict";t.exports=r(13551)},48131:function(t,e,r){"use strict";t.exports=r(46858)},47582:function(t,e,r){"use strict";t.exports=r(17988)},21641:function(t,e,r){"use strict";t.exports=r(68868)},96268:function(t,e,r){"use strict";t.exports=r(20467)},19440:function(t,e,r){"use strict";t.exports=r(91271)},99488:function(t,e,r){"use strict";t.exports=r(21461)},97393:function(t,e,r){"use strict";t.exports=r(85956)},25743:function(t,e,r){"use strict";t.exports=r(52979)},66398:function(t,e,r){"use strict";t.exports=r(32275)},17280:function(t,e,r){"use strict";t.exports=r(6419)},77900:function(t,e,r){"use strict";t.exports=r(61510)},81299:function(t,e,r){"use strict";t.exports=r(87619)},93005:function(t,e,r){"use strict";t.exports=r(93601)},40344:function(t,e,r){"use strict";t.exports=r(96595)},47645:function(t,e,r){"use strict";t.exports=r(70954)},6197:function(t,e,r){"use strict";t.exports=r(47462)},4534:function(t,e,r){"use strict";t.exports=r(17659)},85461:function(t,e,r){"use strict";t.exports=r(19990)},82884:function(t){"use strict";t.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},50215:function(t,e,r){"use strict";var n=r(82884),i=r(41940),a=r(85555),o=r(44467).templatedArray;r(24695),t.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+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:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.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:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",a.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",a.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+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:i({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},3749:function(t,e,r){"use strict";var n=r(71828),i=r(89298),a=r(92605).draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref),a=i.getRefType(e.xref),o=i.getRefType(e.yref);e._extremes={},"range"===a&&s(e,r),"range"===o&&s(e,n)}))}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t["a"+a],l=t[a+"ref"],u=t["a"+a+"ref"],c=t["_"+a+"padplus"],f=t["_"+a+"padminus"],h={x:1,y:-1}[a]*t[a+"shift"],p=3*t.arrowsize*t.arrowwidth||0,d=p+h,v=p-h,g=3*t.startarrowsize*t.arrowwidth||0,y=g+h,m=g-h;if(u===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:v}),b=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(c,y),ppadminus:Math.max(f,m)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else y=s?y+s:y,m=s?m-s:m,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(c,d,y),ppadminus:Math.max(f,v,m)});t._extremes[n]=r}t.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},44317:function(t,e,r){"use strict";var n=r(71828),i=r(73972),a=r(44467).arrayEditor;function o(t,e){var r,n,i,a,o,l,u,c=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),u=l.on,c=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(u.length||c.length){for(r=0;r2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var Y=!1,W=["x","y"],X=0;X1)&&(nt===rt?((pt=it.r2fraction(e["a"+et]))<0||pt>1)&&(Y=!0):Y=!0),J=it._offset+it.r2p(e[et]),Q=.5}else{var dt="domain"===ht;"x"===et?($=e[et],J=dt?it._offset+it._length*$:J=T.l+T.w*$):($=1-e[et],J=dt?it._offset+it._length*$:J=T.t+T.h*$),Q=e.showarrow?.5:$}if(e.showarrow){ft.head=J;var vt=e["a"+et];if(tt=ot*q(.5,e.xanchor)-st*q(.5,e.yanchor),nt===rt){var gt=l.getRefType(nt);"domain"===gt?("y"===et&&(vt=1-vt),ft.tail=it._offset+it._length*vt):"paper"===gt?"y"===et?(vt=1-vt,ft.tail=T.t+T.h*vt):ft.tail=T.l+T.w*vt:ft.tail=it._offset+it.r2p(vt),K=tt}else ft.tail=J+vt,K=tt+vt;ft.text=ft.tail+tt;var yt=w["x"===et?"width":"height"];if("paper"===rt&&(ft.head=o.constrain(ft.head,1,yt-1)),"pixel"===nt){var mt=-Math.max(ft.tail-3,ft.text),xt=Math.min(ft.tail+3,ft.text)-yt;mt>0?(ft.tail+=mt,ft.text+=mt):xt>0&&(ft.tail-=xt,ft.text-=xt)}ft.tail+=ct,ft.head+=ct}else K=tt=lt*q(Q,ut),ft.text=J+tt;ft.text+=ct,tt+=ct,K+=ct,e["_"+et+"padplus"]=lt/2+K,e["_"+et+"padminus"]=lt/2-K,e["_"+et+"size"]=lt,e["_"+et+"shift"]=tt}if(Y)R.remove();else{var bt=0,_t=0;if("left"!==e.align&&(bt=(A-b)*("center"===e.align?.5:1)),"top"!==e.valign&&(_t=(z-_)*("middle"===e.valign?.5:1)),f)n.select("svg").attr({x:N+bt-1,y:N+_t}).call(c.setClipUrl,U?L:null,t);else{var wt=N+_t-v.top,Tt=N+bt-v.left;G.call(h.positionText,Tt,wt).call(c.setClipUrl,U?L:null,t)}V.select("rect").call(c.setRect,N,N,A,z),j.call(c.setRect,F/2,F/2,B-F,H-F),R.call(c.setTranslate,Math.round(C.x.text-B/2),Math.round(C.y.text-H/2)),I.attr({transform:"rotate("+P+","+C.x.text+","+C.y.text+")"});var kt,At=function(r,n){O.selectAll(".annotation-arrow-g").remove();var l=C.x.head,f=C.y.head,h=C.x.tail+r,p=C.y.tail+n,v=C.x.text+r,b=C.y.text+n,_=o.rotationXYMatrix(P,v,b),w=o.apply2DTransform(_),A=o.apply2DTransform2(_),L=+j.attr("width"),D=+j.attr("height"),z=v-.5*L,F=z+L,B=b-.5*D,N=B+D,U=[[z,B,z,N],[z,N,F,N],[F,N,F,B],[F,B,z,B]].map(A);if(!U.reduce((function(t,e){return t^!!o.segmentsIntersect(l,f,l+1e6,f+1e6,e[0],e[1],e[2],e[3])}),!1)){U.forEach((function(t){var e=o.segmentsIntersect(h,p,l,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,p=e.y)}));var V=e.arrowwidth,H=e.arrowcolor,q=e.arrowside,G=O.append("g").style({opacity:u.opacity(H)}).classed("annotation-arrow-g",!0),Z=G.append("path").attr("d","M"+h+","+p+"L"+l+","+f).style("stroke-width",V+"px").call(u.stroke,u.rgb(H));if(g(Z,q,e),k.annotationPosition&&Z.node().parentNode&&!a){var Y=l,W=f;if(e.standoff){var X=Math.sqrt(Math.pow(l-h,2)+Math.pow(f-p,2));Y+=e.standoff*(h-l)/X,W+=e.standoff*(p-f)/X}var J,K,$=G.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-Y)+","+(p-W),transform:s(Y,W)}).style("stroke-width",V+6+"px").call(u.stroke,"rgba(0,0,0,0)").call(u.fill,"rgba(0,0,0,0)");d.init({element:$.node(),gd:t,prepFn:function(){var t=c.getTranslate(R);J=t.x,K=t.y,y&&y.autorange&&M(y._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0)},moveFn:function(t,r){var n=w(J,K),i=n[0]+t,a=n[1]+r;R.call(c.setTranslate,i,a),S("x",m(y,t,"x",T,e)),S("y",m(x,r,"y",T,e)),e.axref===e.xref&&S("ax",m(y,t,"ax",T,e)),e.ayref===e.yref&&S("ay",m(x,r,"ay",T,e)),G.attr("transform",s(t,r)),I.attr({transform:"rotate("+P+","+i+","+a+")"})},doneFn:function(){i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};e.showarrow&&At(0,0),D&&d.init({element:R.node(),gd:t,prepFn:function(){kt=I.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?S("ax",m(y,t,"ax",T,e)):S("ax",e.ax+t),e.ayref===e.yref?S("ay",m(x,r,"ay",T.w,e)):S("ay",e.ay+r),At(t,r);else{if(a)return;var i,o;if(y)i=m(y,t,"x",T,e);else{var l=e._xsize/T.w,u=e.x+(e._xshift-e.xshift)/T.w-l/2;i=d.align(u+t/T.w,l,0,1,e.xanchor)}if(x)o=m(x,r,"y",T,e);else{var c=e._ysize/T.h,f=e.y-(e._yshift+e.yshift)/T.h-c/2;o=d.align(f-r/T.h,c,0,1,e.yanchor)}S("x",i),S("y",o),y&&x||(n=d.getCursor(y?.5:i,x?.5:o,e.xanchor,e.yanchor))}I.attr({transform:s(t,r)+kt}),p(R,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",Z(n))},doneFn:function(){p(R),i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}t.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r=0,x=e.indexOf("end")>=0,b=d.backoff*g+r.standoff,_=v.backoff*y+r.startstandoff;if("line"===p.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},c={x:+t.attr("x2"),y:+t.attr("y2")};var w=o.x-c.x,T=o.y-c.y;if(h=(f=Math.atan2(T,w))+Math.PI,b&&_&&b+_>Math.sqrt(w*w+T*T))return void D();if(b){if(b*b>w*w+T*T)return void D();var k=b*Math.cos(f),A=b*Math.sin(f);c.x+=k,c.y+=A,t.attr({x2:c.x,y2:c.y})}if(_){if(_*_>w*w+T*T)return void D();var M=_*Math.cos(f),S=_*Math.sin(f);o.x-=M,o.y-=S,t.attr({x1:o.x,y1:o.y})}}else if("path"===p.nodeName){var E=p.getTotalLength(),L="";if(E1){u=!0;break}}u?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},2468:function(t,e,r){"use strict";var n=r(73972),i=r(71828);t.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:r(26997)}}},layoutAttributes:r(26997),handleDefaults:r(20226),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(r)for(var a=r.attrRegex,o=Object.keys(t),s=0;s=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return a?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}o.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},o.rgb=function(t){return o.tinyRGB(n(t))},o.opacity=function(t){return t?n(t).getAlpha():0},o.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},o.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||u).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},o.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(o.combine(t,u))),(i.isDark()?e?i.lighten(e):u:r?i.darken(r):l).toString()},o.stroke=function(t,e){var r=n(e);t.style({stroke:o.tinyRGB(r),"stroke-opacity":r.getAlpha()})},o.fill=function(t,e){var r=n(e);t.style({fill:o.tinyRGB(r),"fill-opacity":r.getAlpha()})},o.clean=function(t){if(t&&"object"==typeof t){var e,r,n,i,s=Object.keys(t);for(e=0;e0?n>=l:n<=l));i++)n>c&&n0?n>=l:n<=l));i++)n>r[0]&&n1){var pt=Math.pow(10,Math.floor(Math.log(ht)/Math.LN10));ct*=pt*u.roundUp(ht/pt,[2,5,10]),(Math.abs(Z.start)/Z.size+1e-6)%1<2e-6&&(lt.tick0=0)}lt.dtick=ct}lt.domain=o?[ot+O/B.h,ot+Q-O/B.h]:[ot+P/B.w,ot+Q-P/B.w],lt.setScale(),t.attr("transform",c(Math.round(B.l),Math.round(B.t)));var dt,vt=t.select("."+A.cbtitleunshift).attr("transform",c(-Math.round(B.l),-Math.round(B.t))),gt=lt.ticklabelposition,yt=lt.title.font.size,mt=t.select("."+A.cbaxis),xt=0,bt=0;function _t(n,i){var a={propContainer:lt,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:F._dfltTitle.colorbar,containerGroup:t.select("."+A.cbtitle)},o="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+o+",."+o+"-math-group").remove(),v.draw(r,n,f(a,i||{}))}return u.syncOrAsync([a.previousPromises,function(){var t,e;(o&&ut||!o&&!ut)&&("top"===V&&(t=P+B.l+tt*I,e=O+B.t+et*(1-ot-Q)+3+.75*yt),"bottom"===V&&(t=P+B.l+tt*I,e=O+B.t+et*(1-ot)-3-.25*yt),"right"===V&&(e=O+B.t+et*D+3+.75*yt,t=P+B.l+tt*ot),_t(lt._id+"title",{attributes:{x:t,y:e,"text-anchor":o?"start":"middle"}}))},function(){if(!o&&!ut||o&&ut){var a,l=t.select("."+A.cbtitle),f=l.select("text"),h=[-M/2,M/2],d=l.select(".h"+lt._id+"title-math-group").node(),v=15.6;if(f.node()&&(v=parseInt(f.node().style.fontSize,10)*w),d?(a=p.bBox(d),bt=a.width,(xt=a.height)>v&&(h[1]-=(xt-v)/2)):f.node()&&!f.classed(A.jsPlaceholder)&&(a=p.bBox(f.node()),bt=a.width,xt=a.height),o){if(xt){if(xt+=5,"top"===V)lt.domain[1]-=xt/B.h,h[1]*=-1;else{lt.domain[0]+=xt/B.h;var y=g.lineCount(f);h[1]+=(1-y)*v}l.attr("transform",c(h[0],h[1])),lt.setScale()}}else bt&&("right"===V&&(lt.domain[0]+=(bt+yt/2)/B.w),l.attr("transform",c(h[0],h[1])),lt.setScale())}t.selectAll("."+A.cbfills+",."+A.cblines).attr("transform",o?c(0,Math.round(B.h*(1-lt.domain[1]))):c(Math.round(B.w*lt.domain[0]),0)),mt.attr("transform",o?c(0,Math.round(-B.t)):c(Math.round(-B.l),0));var m=t.select("."+A.cbfills).selectAll("rect."+A.cbfill).attr("style","").data(W);m.enter().append("rect").classed(A.cbfill,!0).attr("style",""),m.exit().remove();var x=H.map(lt.c2p).map(Math.round).sort((function(t,e){return t-e}));m.each((function(t,a){var s=[0===a?H[0]:(W[a]+W[a-1])/2,a===W.length-1?H[1]:(W[a]+W[a+1])/2].map(lt.c2p).map(Math.round);o&&(s[1]=u.constrain(s[1]+(s[1]>s[0])?1:-1,x[0],x[1]));var l=n.select(this).attr(o?"x":"y",rt).attr(o?"y":"x",n.min(s)).attr(o?"width":"height",Math.max(J,2)).attr(o?"height":"width",Math.max(n.max(s)-n.min(s),2));if(e._fillgradient)p.gradient(l,r,e._id,o?"vertical":"horizontalreversed",e._fillgradient,"fill");else{var c=G(t).replace("e-","");l.attr("fill",i(c).toHexString())}}));var b=t.select("."+A.cblines).selectAll("path."+A.cbline).data(j.color&&j.width?X:[]);b.enter().append("path").classed(A.cbline,!0),b.exit().remove(),b.each((function(t){var e=rt,r=Math.round(lt.c2p(t))+j.width/2%1;n.select(this).attr("d","M"+(o?e+","+r:r+","+e)+(o?"h":"v")+J).call(p.lineGroupStyle,j.width,q(t),j.dash)})),mt.selectAll("g."+lt._id+"tick,path").remove();var _=rt+J+(M||0)/2-("outside"===e.ticks?1:0),T=s.calcTicks(lt),k=s.getTickSigns(lt)[2];return s.drawTicks(r,lt,{vals:"inside"===lt.ticks?s.clipEnds(lt,T):T,layer:mt,path:s.makeTickPath(lt,_,k),transFn:s.makeTransTickFn(lt)}),s.drawLabels(r,lt,{vals:T,layer:mt,transFn:s.makeTransTickLabelFn(lt),labelFns:s.makeLabelFns(lt,_)})},function(){if(o&&!ut||!o&&ut){var t,i,a=lt.position||0,s=lt._offset+lt._length/2;if("right"===V)i=s,t=B.l+tt*a+10+yt*(lt.showticklabels?1:.5);else if(t=s,"bottom"===V&&(i=B.t+et*a+10+(-1===gt.indexOf("inside")?lt.tickfont.size:0)+("intside"!==lt.ticks&&e.ticklen||0)),"top"===V){var l=U.text.split("
").length;i=B.t+et*a+10-J-w*yt*l}_t((o?"h":"v")+lt._id+"title",{avoid:{selection:n.select(r).selectAll("g."+lt._id+"tick"),side:V,offsetTop:o?0:B.t,offsetLeft:o?B.l:0,maxShift:o?F.width:F.height},attributes:{x:t,y:i,"text-anchor":"middle"},transform:{rotate:o?-90:0,offset:0}})}},a.previousPromises,function(){var n,s=J+M/2;-1===gt.indexOf("inside")&&(n=p.bBox(mt.node()),s+=o?n.width:n.height),dt=vt.select("text");var u=0,f=o&&"top"===V,v=!o&&"right"===V,g=0;if(dt.node()&&!dt.classed(A.jsPlaceholder)){var m,x=vt.select(".h"+lt._id+"title-math-group").node();x&&(o&&ut||!o&&!ut)?(u=(n=p.bBox(x)).width,m=n.height):(u=(n=p.bBox(vt.node())).right-B.l-(o?rt:st),m=n.bottom-B.t-(o?st:rt),o||"top"!==V||(s+=n.height,g=n.height)),v&&(dt.attr("transform",c(u/2+yt/2,0)),u*=2),s=Math.max(s,o?u:m)}var b=2*(o?P:O)+s+S+M/2,w=0;!o&&U.text&&"bottom"===C&&D<=0&&(b+=w=b/2,g+=w),F._hColorbarMoveTitle=w,F._hColorbarMoveCBTitle=g;var N=S+M,j=(o?rt:st)-N/2-(o?P:0),H=(o?st:rt)-(o?$:O+g-w);t.select("."+A.cbbg).attr("x",j).attr("y",H).attr(o?"width":"height",Math.max(b-w,2)).attr(o?"height":"width",Math.max($+N,2)).call(d.fill,E).call(d.stroke,e.bordercolor).style("stroke-width",S);var q=v?Math.max(u-10,0):0;t.selectAll("."+A.cboutline).attr("x",(o?rt:st+P)+q).attr("y",(o?st+O-$:rt)+(f?xt:0)).attr(o?"width":"height",Math.max(J,2)).attr(o?"height":"width",Math.max($-(o?2*O+xt:2*P+q),2)).call(d.stroke,e.outlinecolor).style({fill:"none","stroke-width":M});var G=o?nt*b:0,Z=o?0:(1-it)*b-g;if(G=R?B.l-G:-G,Z=z?B.t-Z:-Z,t.attr("transform",c(G,Z)),!o&&(S||i(E).getAlpha()&&!i.equals(F.paper_bgcolor,E))){var Y=mt.selectAll("text"),W=Y[0].length,X=t.select("."+A.cbbg).node(),K=p.bBox(X),Q=p.getTranslate(t);Y.each((function(t,e){var r=W-1;if(0===e||e===r){var n,i=p.bBox(this),a=p.getTranslate(this);if(e===r){var o=i.right+a.x;(n=K.right+Q.x+st-S-2+I-o)>0&&(n=0)}else if(0===e){var s=i.left+a.x;(n=K.left+Q.x+st+S+2-s)<0&&(n=0)}n&&(W<3?this.setAttribute("transform","translate("+n+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}}))}var tt={},et=T[L],at=k[L],ot=T[C],ct=k[C],ft=b-J;o?("pixels"===h?(tt.y=D,tt.t=$*ot,tt.b=$*ct):(tt.t=tt.b=0,tt.yt=D+l*ot,tt.yb=D-l*ct),"pixels"===_?(tt.x=I,tt.l=b*et,tt.r=b*at):(tt.l=ft*et,tt.r=ft*at,tt.xl=I-y*et,tt.xr=I+y*at)):("pixels"===h?(tt.x=I,tt.l=$*et,tt.r=$*at):(tt.l=tt.r=0,tt.xl=I+l*et,tt.xr=I-l*at),"pixels"===_?(tt.y=1-D,tt.t=b*ot,tt.b=b*ct):(tt.t=ft*ot,tt.b=ft*ct,tt.yt=D-y*ot,tt.yb=D+y*ct));var ht=e.y<.5?"b":"t",pt=e.x<.5?"l":"r";r._fullLayout._reservedMargin[e._id]={};var bt={r:F.width-j-G,l:j+tt.r,b:F.height-H-Z,t:H+tt.b};R&&z?a.autoMargin(r,e._id,tt):R?r._fullLayout._reservedMargin[e._id][ht]=bt[ht]:z||o?r._fullLayout._reservedMargin[e._id][pt]=bt[pt]:r._fullLayout._reservedMargin[e._id][ht]=bt[ht]}],r)}(r,e,t);y&&y.then&&(t._promises||[]).push(y),t._context.edits.colorbarPosition&&function(t,e,r){var n,i,a,s="v"===e.orientation,u=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr("transform"),h(t)},moveFn:function(r,o){t.attr("transform",n+c(r,o)),i=l.align((s?e._uFrac:e._vFrac)+r/u.w,s?e._thickFrac:e._lenFrac,0,1,e.xanchor),a=l.align((s?e._vFrac:1-e._uFrac)-o/u.h,s?e._lenFrac:e._thickFrac,0,1,e.yanchor);var f=l.getCursor(i,a,e.xanchor,e.yanchor);h(t,f)},doneFn:function(){if(h(t),void 0!==i&&void 0!==a){var n={};n[e._propPrefix+"x"]=i,n[e._propPrefix+"y"]=a,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)})),e.exit().each((function(e){a.autoMargin(t,e._id)})).remove(),e.order()}}},76228:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t){return n.isPlainObject(t.colorbar)}},12311:function(t,e,r){"use strict";t.exports={moduleType:"component",name:"colorbar",attributes:r(63583),supplyDefaults:r(62499),draw:r(98981).draw,hasColorbar:r(76228)}},50693:function(t,e,r){"use strict";var n=r(63583),i=r(30587).counter,a=r(78607),o=r(63282).scales;function s(t){return"`"+t+"`"}a(o),t.exports=function(t,e){t=t||"";var r,a=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),u="showScaleDflt"in e?e.showScaleDflt:"z"===a,c="string"==typeof e.colorscaleDflt?o[e.colorscaleDflt]:null,f=e.editTypeOverride||"",h=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):s(h+(r={z:"z",c:"color"}[a]));var p=a+"auto",d=a+"min",v=a+"max",g=a+"mid",y=(s(h+p),s(h+d),s(h+v),{});y[d]=y[v]=void 0;var m={};m[p]=!1;var x={};return"color"===r&&(x.color={valType:"color",arrayOk:!0,editType:f||"style"},e.anim&&(x.color.anim=!0)),x[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:y},x[d]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:m},x[v]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:m},x[g]={valType:"number",dflt:null,editType:"calc",impliedEdits:y},x.colorscale={valType:"colorscale",editType:"calc",dflt:c,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},x.reversescale={valType:"boolean",dflt:!1,editType:"plot"},l||(x.showscale={valType:"boolean",dflt:u,editType:"calc"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:"subplotid",regex:i("coloraxis"),dflt:null,editType:"calc"}),x}},78803:function(t,e,r){"use strict";var n=r(92770),i=r(71828),a=r(52075).extractOpts;t.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,u=r.containerStr,c=u?i.nestedProperty(e,u).get():e,f=a(c),h=!1!==f.auto,p=f.min,d=f.max,v=f.mid,g=function(){return i.aggNums(Math.min,null,l)},y=function(){return i.aggNums(Math.max,null,l)};void 0===p?p=g():h&&(p=c._colorAx&&n(p)?Math.min(p,g()):g()),void 0===d?d=y():h&&(d=c._colorAx&&n(d)?Math.max(d,y()):y()),h&&void 0!==v&&(d-v>v-p?p=v-(d-v):d-v=0?s.colorscale.sequential:s.colorscale.sequentialminus,f._sync("colorscale",o))}},33046:function(t,e,r){"use strict";var n=r(71828),i=r(52075).hasColorscale,a=r(52075).extractOpts;t.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,i){var o=i.container?n.nestedProperty(t,i.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=a(o),l=s.auto;(l||void 0===s.min)&&r(o,i.min),(l||void 0===s.max)&&r(o,i.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s=0;n--,i++){var a=t[n];r[i]=[1-a[0],a[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,u=new Array(l),c=0;c4/3-s?o:s}},70461:function(t,e,r){"use strict";var n=r(71828),i=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];t.exports=function(t,e,r,a){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===a?0:"middle"===a?1:"top"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},64505:function(t,e){"use strict";e.selectMode=function(t){return"lasso"===t||"select"===t},e.drawMode=function(t){return"drawclosedpath"===t||"drawopenpath"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.openMode=function(t){return"drawline"===t||"drawopenpath"===t},e.rectMode=function(t){return"select"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.freeMode=function(t){return"lasso"===t||"drawclosedpath"===t||"drawopenpath"===t},e.selectingOrDrawing=function(t){return e.freeMode(t)||e.rectMode(t)}},28569:function(t,e,r){"use strict";var n=r(48956),i=r(57035),a=r(38520),o=r(71828).removeElement,s=r(85555),l=t.exports={};l.align=r(92807),l.getCursor=r(70461);var u=r(26041);function c(){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 f(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=u.wrapped,l.unhoverRaw=u.raw,l.init=function(t){var e,r,n,u,h,p,d,v,g=t.gd,y=1,m=g._context.doubleClickDelay,x=t.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=_,a?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=_,x.addEventListener("touchstart",_,{passive:!1})):x.ontouchstart=_;var b=t.clampFn||function(t,e,r){return Math.abs(t)m&&(y=Math.max(y-1,1)),g._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(y,p),!v){var r;try{r=new MouseEvent("click",e)}catch(t){var n=f(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)}d.dispatchEvent(r)}g._dragging=!1,g._dragged=!1}else g._dragged=!1}},l.coverSlip=c},26041:function(t,e,r){"use strict";var n=r(11086),i=r(79990),a=r(24401).getGraphDiv,o=r(26675),s=t.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!t._dragged&&!1===n.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&&i&&t.emit("plotly_unhover",{event:e,points:i}))}},79952:function(t,e){"use strict";e.P={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"},e.u={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:!0,editType:"style"},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style"},bgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgopacity:{valType:"number",editType:"style",min:0,max:1},size:{valType:"number",min:0,dflt:8,arrayOk:!0,editType:"style"},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:!0,editType:"style"},editType:"style"}},91424:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=i.numberFormat,o=r(92770),s=r(84267),l=r(73972),u=r(7901),c=r(21081),f=i.strTranslate,h=r(63893),p=r(77922),d=r(18783).LINE_SPACING,v=r(37822).DESELECTDIM,g=r(34098),y=r(39984),m=r(23469).appendArrayPointValue,x=t.exports={};function b(t,e,r){var n=e.fillpattern,i=n&&x.getPatternAttr(n.shape,0,"");if(i){var a=x.getPatternAttr(n.bgcolor,0,null),o=x.getPatternAttr(n.fgcolor,0,null),s=n.fgopacity,l=x.getPatternAttr(n.size,0,8),c=x.getPatternAttr(n.solidity,0,.3),f=e.uid;x.pattern(t,"point",r,f,i,l,c,void 0,n.fillmode,a,o,s)}else e.fillcolor&&t.call(u.fill,e.fillcolor)}x.font=function(t,e,r,n){i.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(u.fill,n)},x.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},x.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},x.setRect=function(t,e,r,n,i){t.call(x.setPosition,e,r).call(x.setSize,n,i)},x.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(o(i)&&o(a)&&e.node())&&("text"===e.node().nodeName?e.attr("x",i).attr("y",a):e.attr("transform",f(i,a)),!0)},x.translatePoints=function(t,e,r){t.each((function(t){var i=n.select(this);x.translatePoint(t,i,e,r)}))},x.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr("display",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:"none")},x.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each((function(e){var a=e[0].trace,o=a.xcalendar,s=a.ycalendar,u=l.traceIs(a,"bar-like")?".bartext":".point,.textpoint";t.selectAll(u).each((function(t){x.hideOutsideRangePoint(t,n.select(this),r,i,o,s)}))}))}},x.crispRound=function(t,e,r){return e&&o(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},x.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||"";u.stroke(e,n||a.color),x.dashLine(e,s,o)},x.lineGroupStyle=function(t,e,r,i){t.style("fill","none").each((function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,s=i||a.dash||"";n.select(this).call(u.stroke,r||a.color).call(x.dashLine,s,o)}))},x.dashLine=function(t,e,r){r=+r||0,e=x.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},x.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},x.singleFillStyle=function(t,e){var r=n.select(t.node());b(t,((r.data()[0]||[])[0]||{}).trace||{},e)},x.fillGroupStyle=function(t,e){t.style("stroke-width",0).each((function(t){var r=n.select(this);t[0].trace&&b(r,t[0].trace,e)}))};var _=r(90998);x.symbolNames=[],x.symbolFuncs=[],x.symbolBackOffs=[],x.symbolNeedLines={},x.symbolNoDot={},x.symbolNoFill={},x.symbolList=[],Object.keys(_).forEach((function(t){var e=_[t],r=e.n;x.symbolList.push(r,String(r),t,r+100,String(r+100),t+"-open"),x.symbolNames[r]=t,x.symbolFuncs[r]=e.f,x.symbolBackOffs[r]=e.backoff||0,e.needLine&&(x.symbolNeedLines[r]=!0),e.noDot?x.symbolNoDot[r]=!0:x.symbolList.push(r+200,String(r+200),t+"-dot",r+300,String(r+300),t+"-open-dot"),e.noFill&&(x.symbolNoFill[r]=!0)}));var w=x.symbolNames.length;function T(t,e,r,n){var i=t%100;return x.symbolFuncs[i](e,r,n)+(t>=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}x.symbolNumber=function(t){if(o(t))t=+t;else 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=x.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=w||t>=400?0:Math.floor(Math.max(t,0))};var k={x1:1,x2:0,y1:0,y2:0},A={x1:0,x2:0,y1:1,y2:0},M=a("~f"),S={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:k},horizontalreversed:{node:"linearGradient",attrs:k,reversed:!0},vertical:{node:"linearGradient",attrs:A},verticalreversed:{node:"linearGradient",attrs:A,reversed:!0}};x.gradient=function(t,e,r,a,o,l){for(var c=o.length,f=S[a],h=new Array(c),p=0;p=0&&void 0===t.i&&(t.i=o.i),e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?s.opacity:t.mo),n.ms2mrc){var c;c="various"===t.ms||"various"===s.size?3:n.ms2mrc(t.ms),t.mrc=c,n.selectedSizeFn&&(c=t.mrc=n.selectedSizeFn(t));var f=x.symbolNumber(t.mx||s.symbol)||0;t.om=f%200>=100;var h=rt(t,r),p=G(t,r);e.attr("d",T(f,c,h,p))}var d,v,g,y=!1;if(t.so)g=l.outlierwidth,v=l.outliercolor,d=s.outliercolor;else{var m=(l||{}).width;g=(t.mlw+1||m+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,v="mlc"in t?t.mlcc=n.lineScale(t.mlc):i.isArrayOrTypedArray(l.color)?u.defaultLine:l.color,i.isArrayOrTypedArray(s.color)&&(d=u.defaultLine,y=!0),d="mc"in t?t.mcc=n.markerScale(t.mc):s.color||s.colors||"rgba(0,0,0,0)",n.selectedColorFn&&(d=n.selectedColorFn(t))}if(t.om)e.call(u.stroke,d).style({"stroke-width":(g||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:g)+"px");var b=s.gradient,_=t.mgt;_?y=!0:_=b&&b.type,i.isArrayOrTypedArray(_)&&(_=_[0],S[_]||(_=0));var w=s.pattern,k=w&&x.getPatternAttr(w.shape,t.i,"");if(_&&"none"!==_){var A=t.mgc;A?y=!0:A=b.color;var M=r.uid;y&&(M+="-"+t.i),x.gradient(e,a,M,_,[[0,A],[1,d]],"fill")}else if(k){var E=!1,L=w.fgcolor;!L&&o&&o.color&&(L=o.color,E=!0);var C=x.getPatternAttr(L,t.i,o&&o.color||null),P=x.getPatternAttr(w.bgcolor,t.i,null),O=w.fgopacity,I=x.getPatternAttr(w.size,t.i,8),D=x.getPatternAttr(w.solidity,t.i,.3);E=E||t.mcc||i.isArrayOrTypedArray(w.shape)||i.isArrayOrTypedArray(w.bgcolor)||i.isArrayOrTypedArray(w.fgcolor)||i.isArrayOrTypedArray(w.size)||i.isArrayOrTypedArray(w.solidity);var z=r.uid;E&&(z+="-"+t.i),x.pattern(e,"point",a,z,k,I,D,t.mcc,w.fillmode,P,C,O)}else i.isArrayOrTypedArray(d)?u.fill(e,d[t.i]):u.fill(e,d);g&&u.stroke(e,v)}},x.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=x.tryColorscale(r,""),e.lineScale=x.tryColorscale(r,"line"),l.traceIs(t,"symbols")&&(e.ms2mrc=g.isBubble(t)?y(t):function(){return(r.size||6)/2}),t.selectedpoints&&i.extendFlat(e,x.makeSelectedPointStyleFns(t)),e},x.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},o=r.marker||{},s=n.marker||{},u=a.opacity,c=o.opacity,f=s.opacity,h=void 0!==c,p=void 0!==f;(i.isArrayOrTypedArray(u)||h||p)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?h?c:e:p?f:v*e});var d=a.color,g=o.color,y=s.color;(g||y)&&(e.selectedColorFn=function(t){var e=t.mcc||d;return t.selected?g||e:y||e});var m=a.size,x=o.size,b=s.size,_=void 0!==x,w=void 0!==b;return l.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||m/2;return t.selected?_?x/2:e:w?b/2:e}),e},x.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,c=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||s;return t.selected?l||e:c||(l?e:u.addOpacity(e,v))},e},x.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push((function(t,e){t.style("opacity",r.selectedOpacityFn(e))})),r.selectedColorFn&&a.push((function(t,e){u.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&a.push((function(t,n){var a=n.mx||i.symbol||0,o=r.selectedSizeFn(n);t.attr("d",T(x.symbolNumber(a),o,rt(n,e),G(n,e))),n.mrc2=o})),a.length&&t.each((function(t){for(var e=n.select(this),r=0;r0?r:0}function I(t,e,r){return r&&(t=N(t)),e?z(t[1]):D(t[0])}function D(t){var e=n.round(t,2);return E=e,e}function z(t){var e=n.round(t,2);return L=e,e}function R(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,f=(u*u*a-l*l*s)*n,h=3*u*(l+u),p=3*l*(l+u);return[[D(e[0]+(h&&c/h)),z(e[1]+(h&&f/h))],[D(e[0]-(p&&c/p)),z(e[1]-(p&&f/p))]]}x.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var o=x.makeSelectedTextStyleFns(e);a=o.selectedTextColorFn}var s=e.texttemplate,l=r._fullLayout;t.each((function(t){var o=n.select(this),u=s?i.extractOption(t,e,"txt","texttemplate"):i.extractOption(t,e,"tx","text");if(u||0===u){if(s){var c=e._module.formatLabels,f=c?c(t,e,l):{},p={};m(p,e,t.i);var d=e._meta||{};u=i.texttemplateString(u,f,l._d3locale,p,t,d)}var v=t.tp||e.textposition,g=O(t,e),y=a?a(t):t.tc||e.textfont.color;o.call(x.font,t.tf||e.textfont.family,g,y).text(u).call(h.convertToTspans,r).call(P,v,g,t.mrc)}else o.remove()}))}},x.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedTextStyleFns(e);t.each((function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,s=O(t,e);u.fill(i,a);var c=l.traceIs(e,"bar-like");P(i,o,s,t.mrc2||t.mrc,c)}))}},x.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],i=[];for(r=1;r=u||w>=f&&w<=u)&&(T<=h&&T>=c||T>=h&&T<=c)&&(t=[w,T])}return t}x.steps=function(t){var e=F[t]||B;return function(t){for(var r="M"+D(t[0][0])+","+z(t[0][1]),n=t.length,i=1;i=1e4&&(x.savedBBoxes={},j=0),r&&(x.savedBBoxes[r]=g),j++,i.extendFlat({},g)},x.setClipUrl=function(t,e,r){t.attr("clip-path",V(e,r))},x.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}},x.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+=f(e,r)).trim(),t[i]("transform",a),a},x.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}},x.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};var H=/\s*sc.*/;x.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":"scale("+e+","+r+")";t.each((function(){var t=(this.getAttribute("transform")||"").replace(H,"");t=(t+=n).trim(),this.setAttribute("transform",t)}))}};var q=/translate\([^)]*\)\s*$/;function G(t,e){var r;return t&&(r=t.mf),void 0===r&&(r=e.marker&&e.marker.standoff||0),e._geo||e._xA?r:-r}x.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,i=n.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(q);t=1===e&&1===r?[]:[f(o,s),"scale("+e+","+r+")",f(-o,-s)],l&&t.push(l),i.attr("transform",t.join(""))}}))},x.getMarkerStandoff=G;var Z,Y,W,X,J,K,$=Math.atan2,Q=Math.cos,tt=Math.sin;function et(t,e){var r=e[0],n=e[1];return[r*Q(t)-n*tt(t),r*tt(t)+n*Q(t)]}function rt(t,e){var r,n,i=t.ma;void 0===i&&(i=e.marker.angle||0);var a=e.marker.angleref;if("previous"===a||"north"===a){if(e._geo){var s=e._geo.project(t.lonlat);r=s[0],n=s[1]}else{var l=e._xA,u=e._yA;if(!l||!u)return 90;r=l.c2p(t.x),n=u.c2p(t.y)}if(e._geo){var c,f=t.lonlat[0],h=t.lonlat[1],p=e._geo.project([f,h+1e-5]),d=e._geo.project([f+1e-5,h]),v=$(d[1]-n,d[0]-r),g=$(p[1]-n,p[0]-r);if("north"===a)c=i/180*Math.PI;else if("previous"===a){var y=f/180*Math.PI,m=h/180*Math.PI,x=Z/180*Math.PI,b=Y/180*Math.PI,_=x-y,w=Q(b)*tt(_),T=tt(b)*Q(m)-Q(b)*tt(m)*Q(_);c=-$(w,T)-Math.PI,Z=f,Y=h}var k=et(v,[Q(c),0]),A=et(g,[tt(c),0]);i=$(k[1]+A[1],k[0]+A[0])/Math.PI*180,"previous"!==a||K===e.uid&&t.i===J+1||(i=null)}if("previous"===a&&!e._geo)if(K===e.uid&&t.i===J+1&&o(r)&&o(n)){var M=r-W,S=n-X,E=e.line&&e.line.shape||"",L=E.slice(E.length-1);"h"===L&&(S=0),"v"===L&&(M=0),i+=$(S,M)/Math.PI*180+90}else i=null}return W=r,X=n,J=t.i,K=e.uid,i}x.getMarkerAngle=rt},90998:function(t,e,r){"use strict";var n,i,a,o,s=r(95616),l=r(39898).round,u="M0,0Z",c=Math.sqrt(2),f=Math.sqrt(3),h=Math.PI,p=Math.cos,d=Math.sin;function v(t){return null===t}function g(t,e,r){if(!(t&&t%360!=0||e))return r;if(a===t&&o===e&&n===r)return i;function l(t,r){var n=p(t),i=d(t),a=r[0],o=r[1]+(e||0);return[a*n-o*i,a*i+o*n]}a=t,o=e,n=r;for(var u=t/180*h,c=0,f=0,v=s(r),g="",y=0;y0,f=t._context.staticPlot;e.each((function(e){var h,p=e[0].trace,d=p.error_x||{},v=p.error_y||{};p.ids&&(h=function(t){return t.id});var g=o.hasMarkers(p)&&p.marker.maxdisplayed>0;v.visible||d.visible||(e=[]);var y=n.select(this).selectAll("g.errorbar").data(e,h);if(y.exit().remove(),e.length){d.visible||y.selectAll("path.xerror").remove(),v.visible||y.selectAll("path.yerror").remove(),y.style("opacity",1);var m=y.enter().append("g").classed("errorbar",!0);c&&m.style("opacity",0).transition().duration(s.duration).style("opacity",1),a.setClipUrl(y,r.layerClipId,t),y.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0))),void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0))),n}(t,l,u);if(!g||t.vis){var a,o=e.select("path.yerror");if(v.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var h=v.width;a="M"+(r.x-h)+","+r.yh+"h"+2*h+"m-"+h+",0V"+r.ys,r.noYS||(a+="m-"+h+",0h"+2*h),o.size()?c&&(o=o.transition().duration(s.duration).ease(s.easing)):o=e.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("yerror",!0),o.attr("d",a)}else o.remove();var p=e.select("path.xerror");if(d.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var y=(d.copy_ystyle?v:d).width;a="M"+r.xh+","+(r.y-y)+"v"+2*y+"m0,-"+y+"H"+r.xs,r.noXS||(a+="m0,-"+y+"v"+2*y),p.size()?c&&(p=p.transition().duration(s.duration).ease(s.easing)):p=e.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("xerror",!0),p.attr("d",a)}else p.remove()}}))}}))}},62662:function(t,e,r){"use strict";var n=r(39898),i=r(7901);t.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(i.stroke,a.color)}))}},77914:function(t,e,r){"use strict";var n=r(41940),i=r(528).hoverlabel,a=r(1426).extendFlat;t.exports={hoverlabel:{bgcolor:a({},i.bgcolor,{arrayOk:!0}),bordercolor:a({},i.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:a({},i.align,{arrayOk:!0}),namelength:a({},i.namelength,{arrayOk:!0}),editType:"none"}}},30732:function(t,e,r){"use strict";var n=r(71828),i=r(73972);function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}t.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s=0&&r.index_[0]._length||lt<0||lt>w[0]._length)return d.unhoverRaw(t,e)}else st="xpx"in e?e.xpx:_[0]._length/2,lt="ypx"in e?e.ypx:w[0]._length/2;if(e.pointerX=st+_[0]._offset,e.pointerY=lt+w[0]._offset,q="xval"in e?y.flat(l,e.xval):y.p2c(_,st),G="yval"in e?y.flat(l,e.yval):y.p2c(w,lt),!i(q[0])||!i(G[0]))return o.warn("Fx.hover failed",e,t),d.unhoverRaw(t,e)}var ft=1/0;function ht(t,r){for(Y=0;Yrt&&(nt.splice(0,rt),ft=nt[0].distance),m&&0!==H&&0===nt.length){et.distance=H,et.index=!1;var f=X._module.hoverPoints(et,Q,tt,"closest",{hoverLayer:c._hoverlayer});if(f&&(f=f.filter((function(t){return t.spikeDistance<=H}))),f&&f.length){var h,d=f.filter((function(t){return t.xa.showspikes&&"hovered data"!==t.xa.spikesnap}));if(d.length){var v=d[0];i(v.x0)&&i(v.y0)&&(h=dt(v),(!at.vLinePoint||at.vLinePoint.spikeDistance>h.spikeDistance)&&(at.vLinePoint=h))}var g=f.filter((function(t){return t.ya.showspikes&&"hovered data"!==t.ya.spikesnap}));if(g.length){var x=g[0];i(x.x0)&&i(x.y0)&&(h=dt(x),(!at.hLinePoint||at.hLinePoint.spikeDistance>h.spikeDistance)&&(at.hLinePoint=h))}}}}}function pt(t,e,r){for(var n,i=null,a=1/0,o=0;o0&&Math.abs(t.distance)At-1;Mt--)Ct(nt[Mt]);nt=St,mt()}var Pt=t._hoverdata,Ot=[],It=U(t),Dt=V(t);for(Z=0;Z1||nt.length>1)||"closest"===I&&ot&&nt.length>1,Yt=p.combine(c.plot_bgcolor||p.background,c.paper_bgcolor),Wt=O(nt,{gd:t,hovermode:I,rotateLabels:Zt,bgColor:Yt,container:c._hoverlayer,outerContainer:c._paper.node(),commonLabelOpts:c.hoverlabel,hoverdistance:c.hoverdistance}),Xt=Wt.hoverLabels;if(y.isUnifiedHover(I)||(function(t,e,r,n){var i,a,o,s,l,u,c,f=e?"xa":"ya",h=e?"ya":"xa",p=0,d=1,v=t.size(),g=new Array(v),y=0,m=n.minX,x=n.maxX,b=n.minY,_=n.maxY,w=function(t){return t*r._invScaleX},k=function(t){return t*r._invScaleY};function A(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,o=r.pos+r.dp+r.size-e.pmax,a>.01){for(l=t.length-1;l>=0;l--)t[l].dp+=a;i=!1}if(!(o<.01)){if(a<-.01){for(l=t.length-1;l>=0;l--)t[l].dp-=o;i=!1}if(i){var n=0;for(s=0;se.pmax&&n++;for(s=t.length-1;s>=0&&!(n<=0);s--)(u=t[s]).pos>e.pmax-1&&(u.del=!0,n--);for(s=0;s=0;l--)t[l].dp-=o;for(s=t.length-1;s>=0&&!(n<=0);s--)(u=t[s]).pos+u.dp+u.size>e.pmax&&(u.del=!0,n--)}}}for(t.each((function(t){var n=t[f],i=t[h],a="x"===n._id.charAt(0),o=n.range;0===y&&o&&o[0]>o[1]!==a&&(d=-1);var s=0,l=a?r.width:r.height;if("x"===r.hovermode||"y"===r.hovermode){var u,c,p=D(t,e),v=t.anchor,A="end"===v?-1:1;if("middle"===v)c=(u=t.crossPos+(a?k(p.y-t.by/2):w(t.bx/2+t.tx2width/2)))+(a?k(t.by):w(t.bx));else if(a)c=(u=t.crossPos+k(M+p.y)-k(t.by/2-M))+k(t.by);else{var S=w(A*M+p.x),E=S+w(A*t.bx);u=t.crossPos+Math.min(S,E),c=t.crossPos+Math.max(S,E)}a?void 0!==b&&void 0!==_&&Math.min(c,_)-Math.max(u,b)>1&&("left"===i.side?(s=i._mainLinePosition,l=r.width):l=i._mainLinePosition):void 0!==m&&void 0!==x&&Math.min(c,x)-Math.max(u,m)>1&&("top"===i.side?(s=i._mainLinePosition,l=r.height):l=i._mainLinePosition)}g[y++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?T:1)/2,pmin:s,pmax:l}]})),g.sort((function(t,e){return t[0].posref-e[0].posref||d*(e[0].traceIndex-t[0].traceIndex)}));!i&&p<=v;){for(p++,i=!0,s=0;s.01&&L.pmin===C.pmin&&L.pmax===C.pmax){for(l=E.length-1;l>=0;l--)E[l].dp+=a;for(S.push.apply(S,E),g.splice(s+1,1),c=0,l=S.length-1;l>=0;l--)c+=S[l].dp;for(o=c/S.length,l=S.length-1;l>=0;l--)S[l].dp-=o;i=!1}else s++}g.forEach(A)}for(s=g.length-1;s>=0;s--){var P=g[s];for(l=P.length-1;l>=0;l--){var O=P[l],I=O.datum;I.offset=O.dp,I.del=O.del}}}(Xt,Zt,c,Wt.commonLabelBoundingBox),z(Xt,Zt,c._invScaleX,c._invScaleY)),s&&s.tagName){var Jt=g.getComponentMethod("annotations","hasClickToShow")(t,Ot);f(n.select(s),Jt?"pointer":"")}s&&!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)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}(t,0,Pt)&&(Pt&&t.emit("plotly_unhover",{event:e,points:Pt}),t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:_,yaxes:w,xvals:q,yvals:G}))}(t,e,r,a,s)}))},e.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var i=e.gd,a=U(i),o=V(i),s=O(t.map((function(t){var r=t._x0||t.x0||t.x||0,n=t._x1||t.x1||t.x||0,s=t._y0||t.y0||t.y||0,l=t._y1||t.y1||t.y||0,u=t.eventData;if(u){var c=Math.min(r,n),f=Math.max(r,n),h=Math.min(s,l),d=Math.max(s,l),v=t.trace;if(g.traceIs(v,"gl3d")){var y=i._fullLayout[v.scene]._scene.container,m=y.offsetLeft,x=y.offsetTop;c+=m,f+=m,h+=x,d+=x}u.bbox={x0:c+o,x1:f+o,y0:h+a,y1:d+a},e.inOut_bbox&&e.inOut_bbox.push(u.bbox)}else u=!1;return{color:t.color||p.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,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,hovertemplateLabels:t.hovertemplateLabels||!1,eventData:u}})),{gd:i,hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||p.background,container:n.select(e.container),outerContainer:e.outerContainer||e.container}).hoverLabels,l=0,u=0;return s.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5([\s\S]*)<\/extra>/;function O(t,e){var r=e.gd,i=r._fullLayout,a=e.hovermode,u=e.rotateLabels,f=e.bgColor,d=e.container,v=e.outerContainer,w=e.commonLabelOpts||{};if(0===t.length)return[[]];var T=e.fontFamily||m.HOVERFONT,k=e.fontSize||m.HOVERFONTSIZE,A=t[0],E=A.xa,L=A.ya,P=a.charAt(0),O=P+"Label",D=A[O];if(void 0===D&&"multicategory"===E.type)for(var z=0;zi.width-b?(g=i.width-b,e.attr("d","M"+(b-M)+",0L"+b+","+x+M+"v"+x+(2*S+m.height)+"H-"+b+"V"+x+M+"H"+(b-2*M)+"Z")):e.attr("d","M0,0L"+M+","+x+M+"H"+b+"v"+x+(2*S+m.height)+"H-"+b+"V"+x+M+"H-"+M+"Z"),Y.minX=g-b,Y.maxX=g+b,"top"===E.side?(Y.minY=y-(2*S+m.height),Y.maxY=y-S):(Y.minY=y+S,Y.maxY=y+(2*S+m.height))}else{var _,C,P;"right"===L.side?(_="start",C=1,P="",g=E._offset+E._length):(_="end",C=-1,P="-",g=E._offset),y=L._offset+(A.y0+A.y1)/2,l.attr("text-anchor",_),e.attr("d","M0,0L"+P+M+","+M+"V"+(S+m.height/2)+"h"+P+(2*S+m.width)+"V-"+(S+m.height/2)+"H"+P+M+"V-"+M+"Z"),Y.minY=y-(S+m.height/2),Y.maxY=y+(S+m.height/2),"right"===L.side?(Y.minX=g+M,Y.maxX=g+M+(2*S+m.width)):(Y.minX=g-M-(2*S+m.width),Y.maxX=g-M);var O,I=m.height/2,z=F-m.top-I,R="clip"+i._uid+"commonlabel"+L._id;if(g=0?lt:ut+ht=0?ut:bt+ht=0?ot:st+pt=0?st:_t+pt=0,"top"!==t.idealAlign&&G||!Z?G?(O+=R/2,t.anchor="start"):t.anchor="middle":(O-=R/2,t.anchor="end"),t.crossPos=O;else{if(t.pos=O,G=P+z/2+Y<=B,Z=P-z/2-Y>=0,"left"!==t.idealAlign&&G||!Z)if(G)P+=z/2,t.anchor="start";else{t.anchor="middle";var W=Y/2,X=P+W-B,J=P-W;X>0&&(P-=X),J<0&&(P+=-J)}else P-=z/2,t.anchor="end";t.crossPos=P}w.attr("text-anchor",t.anchor),E&&A.attr("text-anchor",t.anchor),e.attr("transform",s(P,O)+(u?l(_):""))})),{hoverLabels:wt,commonLabelBoundingBox:Y}}function I(t,e,r,n,i,a){var s="",l="";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=N(t.name,t.nameLength));var u=r.charAt(0),c="x"===u?"y":"x";void 0!==t.zLabel?(void 0!==t.xLabel&&(l+="x: "+t.xLabel+"
"),void 0!==t.yLabel&&(l+="y: "+t.yLabel+"
"),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&(l+=(l?"z: ":"")+t.zLabel)):e&&t[u+"Label"]===i?l=t[c+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?"
":"")+t.text),void 0!==t.extraText&&(l+=(l?"
":"")+t.extraText),a&&""===l&&!t.hovertemplate&&(""===s&&a.remove(),l=s);var f=t.hovertemplate||!1;if(f){var h=t.hovertemplateLabels||t;t[u+"Label"]!==i&&(h[u+"other"]=h[u+"Val"],h[u+"otherLabel"]=h[u+"Label"]),l=(l=o.hovertemplateString(f,h,n._d3locale,t.eventData[0]||{},t.trace._meta)).replace(P,(function(e,r){return s=N(r,t.nameLength),""}))}return[l,s]}function D(t,e){var r=0,n=t.offset;return e&&(n*=-A,r=t.offset*k),{x:r,y:n}}function z(t,e,r,i){var a=function(t){return t*r},o=function(t){return t*i};t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var i,s,l,u,f=r.select("text.nums"),p=t.anchor,d="end"===p?-1:1,v=(u=(l=(s={start:1,end:-1,middle:0}[(i=t).anchor])*(M+S))+s*(i.txwidth+S),"middle"===i.anchor&&(l-=i.tx2width/2,u+=i.txwidth/2+S),{alignShift:s,textShiftX:l,text2ShiftX:u}),g=D(t,e),y=g.x,m=g.y,x="middle"===p;r.select("path").attr("d",x?"M-"+a(t.bx/2+t.tx2width/2)+","+o(m-t.by/2)+"h"+a(t.bx)+"v"+o(t.by)+"h-"+a(t.bx)+"Z":"M0,0L"+a(d*M+y)+","+o(M+m)+"v"+o(t.by/2-M)+"h"+a(d*t.bx)+"v-"+o(t.by)+"H"+a(d*M+y)+"V"+o(m-M)+"Z");var b=y+v.textShiftX,_=m+t.ty0-t.by/2+S,w=t.textAlign||"auto";"auto"!==w&&("left"===w&&"start"!==p?(f.attr("text-anchor","start"),b=x?-t.bx/2-t.tx2width/2+S:-t.bx-S):"right"===w&&"end"!==p&&(f.attr("text-anchor","end"),b=x?t.bx/2-t.tx2width/2-S:t.bx+S)),f.call(c.positionText,a(b),o(_)),t.tx2width&&(r.select("text.name").call(c.positionText,a(v.text2ShiftX+v.alignShift*S+y),o(m+t.ty0-t.by/2+S)),r.select("rect").call(h.setRect,a(v.text2ShiftX+(v.alignShift-1)*t.tx2width/2+y),o(m-t.by/2-1),a(t.tx2width),o(t.by+2)))}))}function R(t,e){var r=t.index,n=t.trace||{},a=t.cd[0],s=t.cd[r]||{};function l(t){return t||i(t)&&0===t}var u=Array.isArray(r)?function(t,e){var i=o.castOption(a,r,t);return l(i)?i:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function c(e,r,n){var i=u(r,n);l(i)&&(t[e]=i)}if(c("hoverinfo","hi","hoverinfo"),c("bgcolor","hbg","hoverlabel.bgcolor"),c("borderColor","hbc","hoverlabel.bordercolor"),c("fontFamily","htf","hoverlabel.font.family"),c("fontSize","hts","hoverlabel.font.size"),c("fontColor","htc","hoverlabel.font.color"),c("nameLength","hnl","hoverlabel.namelength"),c("textAlign","hta","hoverlabel.align"),t.posref="y"===e||"closest"===e&&"h"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:v.hoverLabelText(t.xa,t.xLabelVal,n.xhoverformat),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:v.hoverLabelText(t.ya,t.yLabelVal,n.yhoverformat),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 f=v.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+f+" / -"+v.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" ± "+f,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var h=v.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+h+" / -"+v.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" ± "+h,"y"===e&&(t.distance+=1)}var p=t.hoverinfo||t.trace.hoverinfo;return p&&"all"!==p&&(-1===(p=Array.isArray(p)?p:p.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===p.indexOf("y")&&(t.yLabel=void 0),-1===p.indexOf("z")&&(t.zLabel=void 0),-1===p.indexOf("text")&&(t.text=void 0),-1===p.indexOf("name")&&(t.name=void 0)),t}function F(t,e,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,u=r.event,c=!!e.hLinePoint,f=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),f||c){var d=p.combine(s.plot_bgcolor,s.paper_bgcolor);if(c){var g,y,m=e.hLinePoint;n=m&&m.xa,"cursor"===(i=m&&m.ya).spikesnap?(g=u.pointerX,y=u.pointerY):(g=n._offset+m.x,y=i._offset+m.y);var x,b,_=a.readability(m.color,d)<1.5?p.contrast(d):m.color,w=i.spikemode,T=i.spikethickness,k=i.spikecolor||_,A=v.getPxPosition(t,i);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=A,b=g),-1!==w.indexOf("across")){var M=i._counterDomainMin,S=i._counterDomainMax;"free"===i.anchor&&(M=Math.min(M,i.position),S=Math.max(S,i.position)),x=l.l+M*l.w,b=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:b,y1:y,y2:y,"stroke-width":T,stroke:k,"stroke-dasharray":h.dashStyle(i.spikedash,T)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:b,y1:y,y2:y,"stroke-width":T+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==i.side?T:-T),cy:y,r:T,fill:k}).classed("spikeline",!0)}if(f){var E,L,C=e.vLinePoint;n=C&&C.xa,i=C&&C.ya,"cursor"===n.spikesnap?(E=u.pointerX,L=u.pointerY):(E=n._offset+C.x,L=i._offset+C.y);var P,O,I=a.readability(C.color,d)<1.5?p.contrast(d):C.color,D=n.spikemode,z=n.spikethickness,R=n.spikecolor||I,F=v.getPxPosition(t,n);if(-1!==D.indexOf("toaxis")||-1!==D.indexOf("across")){if(-1!==D.indexOf("toaxis")&&(P=F,O=L),-1!==D.indexOf("across")){var B=n._counterDomainMin,N=n._counterDomainMax;"free"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),P=l.t+(1-N)*l.h,O=l.t+(1-B)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:P,y2:O,"stroke-width":z,stroke:R,"stroke-dasharray":h.dashStyle(n.spikedash,z)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:P,y2:O,"stroke-width":z+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}-1!==D.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==n.side?z:-z),r:z,fill:R}).classed("spikeline",!0)}}}function B(t,e){return!e||e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint}function N(t,e){return c.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em"]})}function j(t,e,r){var n=e[t+"a"],i=e[t+"Val"],a=e.cd[0];if("category"===n.type||"multicategory"===n.type)i=n._categoriesMap[i];else if("date"===n.type){var o=e.trace[t+"periodalignment"];if(o){var s=e.cd[e.index],l=s[t+"Start"];void 0===l&&(l=s[t]);var u=s[t+"End"];void 0===u&&(u=s[t]);var c=u-l;"end"===o?i+=c:"middle"===o&&(i+=c/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&("group"!==r.boxmode&&"group"!==r.violinmode||(i+=a.t.dPos)),i}function U(t){return t.offsetTop+t.clientTop}function V(t){return t.offsetLeft+t.clientLeft}function H(t,e){var r=t._fullLayout,n=e.getBoundingClientRect(),i=n.left,a=n.top,s=i+n.width,l=a+n.height,u=o.apply3DTransform(r._invTransform)(i,a),c=o.apply3DTransform(r._invTransform)(s,l),f=u[0],h=u[1],p=c[0],d=c[1];return{x:f,y:h,width:p-f,height:d-h,top:Math.min(h,d),left:Math.min(f,p),right:Math.max(f,p),bottom:Math.max(h,d)}}},38048:function(t,e,r){"use strict";var n=r(71828),i=r(7901),a=r(23469).isUnifiedHover;t.exports=function(t,e,r,o){o=o||{};var s=e.legend;function l(t){o.font[t]||(o.font[t]=s?e.legend.font[t]:e.font[t])}e&&a(e.hovermode)&&(o.font||(o.font={}),l("size"),l("family"),l("color"),s?(o.bgcolor||(o.bgcolor=i.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r("hoverlabel.bgcolor",o.bgcolor),r("hoverlabel.bordercolor",o.bordercolor),r("hoverlabel.namelength",o.namelength),n.coerceFont(r,"hoverlabel.font",o.font),r("hoverlabel.align",o.align)}},98212:function(t,e,r){"use strict";var n=r(71828),i=r(528);t.exports=function(t,e){function r(r,a){return void 0!==e[r]?e[r]:n.coerce(t,e,i,r,a)}return r("clickmode"),r("hovermode")}},30211:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(28569),o=r(23469),s=r(528),l=r(88335);t.exports={moduleType:"component",name:"fx",constants:r(26675),schema:{layout:s},attributes:r(77914),layoutAttributes:s,supplyLayoutGlobalDefaults:r(22774),supplyDefaults:r(54268),supplyLayoutDefaults:r(34938),calc:r(30732),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,"hoverinfo",(function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}))},hover:l.hover,unhover:a.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:r(75914)}},528:function(t,e,r){"use strict";var n=r(26675),i=r(41940),a=i({editType:"none"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,t.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],dflt:"closest",editType:"modebar"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:a,grouptitlefont:i({editType:"none"}),align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},34938:function(t,e,r){"use strict";var n=r(71828),i=r(528),a=r(98212),o=r(38048);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}a(t,e)&&(r("hoverdistance"),r("spikedistance")),"select"===r("dragmode")&&r("selectdirection");var s=e._has("mapbox"),l=e._has("geo"),u=e._basePlotModules.length;"zoom"===e.dragmode&&((s||l)&&1===u||s&&l&&2===u)&&(e.dragmode="pan"),o(t,e,r),n.coerceFont(r,"hoverlabel.grouptitlefont",e.hoverlabel.font)}},22774:function(t,e,r){"use strict";var n=r(71828),i=r(38048),a=r(528);t.exports=function(t,e){i(t,e,(function(r,i){return n.coerce(t,e,a,r,i)}))}},83312:function(t,e,r){"use strict";var n=r(71828),i=r(30587).counter,a=r(27670).Y,o=r(85555).idRegex,s=r(44467),l={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:[i("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.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:a({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function u(t,e,r){var n=e[r+"axes"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function c(t,e,r,n,i,a){var o=e(t+"gap",r),s=e("domain."+t);e(t+"side",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h1){h||p||d||"independent"===k("pattern")&&(h=!0),g._hasSubplotGrid=h;var x,b,_="top to bottom"===k("roworder"),w=h?.2:.1,T=h?.3:.1;v&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),g._domains={x:c("x",k,w,x,m),y:c("y",k,T,b,y,_)}}else delete e.grid}function k(t,e){return n.coerce(r,g,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,c,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,v=r.rows,g=r.columns,y="independent"===r.pattern,m=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(v);var b=1;for(n=0;n("legend"===t?1:0));if(!1===M&&(r[t]=void 0),(!1!==M||f.uirevision)&&(p("uirevision",r.uirevision),!1!==M)){p("borderwidth");var S,E,L,C="h"===p("orientation"),P="paper"===p("yref"),O="paper"===p("xref"),I="left";if(C?(S=0,n.getComponentMethod("rangeslider","isVisible")(e.xaxis)?P?(E=1.1,L="bottom"):(E=1,L="top"):P?(E=-.1,L="top"):(E=0,L="bottom")):(E=1,L="auto",O?S=1.02:(S=1,I="right")),i.coerce(f,h,{x:{valType:"number",editType:"legend",min:O?-2:0,max:O?3:1,dflt:S}},"x"),i.coerce(f,h,{y:{valType:"number",editType:"legend",min:P?-2:0,max:P?3:1,dflt:E}},"y"),p("traceorder",_),u.isGrouped(r[t])&&p("tracegroupgap"),p("entrywidth"),p("entrywidthmode"),p("itemsizing"),p("itemwidth"),p("itemclick"),p("itemdoubleclick"),p("groupclick"),p("xanchor",I),p("yanchor",L),p("valign"),i.noneOrAll(f,h,["x","y"]),p("title.text")){p("title.side",C?"left":"top");var D=i.extendFlat({},d,{size:i.bigFont(d.size)});i.coerceFont(p,"title.font",D)}}}}t.exports=function(t,e,r){var n,a=r.slice(),o=e.shapes;if(o)for(n=0;n1)}var z=h.hiddenlabels||[];if(!(v||h.showlegend&&_.length))return s.selectAll("."+d).remove(),h._topdefs.select("#"+r).remove(),a.autoMargin(t,d);var R=i.ensureSingle(s,"g",d,(function(t){v||t.attr("pointer-events","all")})),F=i.ensureSingleById(h._topdefs,"clipPath",r,(function(t){t.append("rect")})),B=i.ensureSingle(R,"rect","bg",(function(t){t.attr("shape-rendering","crispEdges")}));B.call(c.stroke,f.bordercolor).call(c.fill,f.bgcolor).style("stroke-width",f.borderwidth+"px");var N=i.ensureSingle(R,"g","scrollbox"),j=f.title;if(f._titleWidth=0,f._titleHeight=0,j.text){var U=i.ensureSingle(N,"text",d+"titletext");U.attr("text-anchor","start").call(u.font,j.font).text(j.text),E(U,N,t,f,1)}else N.selectAll("."+d+"titletext").remove();var V=i.ensureSingle(R,"rect","scrollbar",(function(t){t.attr(p.scrollBarEnterAttrs).call(c.fill,p.scrollBarColor)})),H=N.selectAll("g.groups").data(_);H.enter().append("g").attr("class","groups"),H.exit().remove();var q=H.selectAll("g.traces").data(i.identity);q.enter().append("g").attr("class","traces"),q.exit().remove(),q.style("opacity",(function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==z.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1})).each((function(){n.select(this).call(A,t,f)})).call(x,t,f).each((function(){v||n.select(this).call(S,t,d)})),i.syncOrAsync([a.previousPromises,function(){return function(t,e,r,i){var a=t._fullLayout,o=P(i);i||(i=a[o]);var s=a._size,l=b.isVertical(i),c=b.isGrouped(i),f="fraction"===i.entrywidthmode,h=i.borderwidth,d=2*h,v=p.itemGap,g=i.itemwidth+2*v,y=2*(h+v),m=C(i),x=i.y<0||0===i.y&&"top"===m,_=i.y>1||1===i.y&&"bottom"===m,w=i.tracegroupgap,k={};i._maxHeight=Math.max(x||_?a.height/2:s.h,30);var A=0;i._width=0,i._height=0;var M=function(t){var e=0,r=0,n=t.title.side;return n&&(-1!==n.indexOf("left")&&(e=t._titleWidth),-1!==n.indexOf("top")&&(r=t._titleHeight)),[e,r]}(i);if(l)r.each((function(t){var e=t[0].height;u.setTranslate(this,h+M[0],h+M[1]+i._height+e/2+v),i._height+=e,i._width=Math.max(i._width,t[0].width)})),A=g+i._width,i._width+=v+g+d,i._height+=y,c&&(e.each((function(t,e){u.setTranslate(this,0,e*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var S=L(i),E=i.x<0||0===i.x&&"right"===S,O=i.x>1||1===i.x&&"left"===S,I=_||x,D=a.width/2;i._maxWidth=Math.max(E?I&&"left"===S?s.l+s.w:D:O?I&&"right"===S?s.r+s.w:D:s.w,2*g);var z=0,R=0;r.each((function(t){var e=T(t,i,g);z=Math.max(z,e),R+=e})),A=null;var F=0;if(c){var B=0,N=0,j=0;e.each((function(){var t=0,e=0;n.select(this).selectAll("g.traces").each((function(r){var n=T(r,i,g),a=r[0].height;u.setTranslate(this,M[0],M[1]+h+v+a/2+e),e+=a,t=Math.max(t,n),k[r[0].trace.legendgroup]=t}));var r=t+v;N>0&&r+h+N>i._maxWidth?(F=Math.max(F,N),N=0,j+=B+w,B=e):B=Math.max(B,e),u.setTranslate(this,N,j),N+=r})),i._width=Math.max(F,N)+h,i._height=j+B+y}else{var U=r.size(),V=R+d+(U-1)*v=i._maxWidth&&(F=Math.max(F,Z),q=0,G+=H,i._height+=H,H=0),u.setTranslate(this,M[0]+h+q,M[1]+h+G+e/2+v),Z=q+r+v,q+=n,H=Math.max(H,e)})),V?(i._width=q+d,i._height=H+y):(i._width=Math.max(F,Z)+d,i._height+=H+y)}}i._width=Math.ceil(Math.max(i._width+M[0],i._titleWidth+2*(h+p.titlePad))),i._height=Math.ceil(Math.max(i._height+M[1],i._titleHeight+2*(h+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var Y=t._context.edits,W=Y.legendText||Y.legendPosition;r.each((function(t){var e=n.select(this).select("."+o+"toggle"),r=t[0].height,a=t[0].trace.legendgroup,s=T(t,i,g);c&&""!==a&&(s=k[a]);var h=W?g:A||s;l||f||(h+=v/2),u.setRect(e,0,-r/2,h,r)}))}(t,H,q,f)},function(){var e,c,m,x,b=h._size,_=f.borderwidth,w="paper"===f.xref,T="paper"===f.yref;if(!v){var A,M;A=w?b.l+b.w*f.x-g[L(f)]*f._width:h.width*f.x-g[L(f)]*f._width,M=T?b.t+b.h*(1-f.y)-g[C(f)]*f._effHeight:h.height*(1-f.y)-g[C(f)]*f._effHeight;var S=function(t,e,r,n){var i=t._fullLayout,o=i[e],s=L(o),l=C(o),u="paper"===o.xref,c="paper"===o.yref;t._fullLayout._reservedMargin[e]={};var f=o.y<.5?"b":"t",h=o.x<.5?"l":"r",p={r:i.width-r,l:r+o._width,b:i.height-n,t:n+o._effHeight};if(u&&c)return a.autoMargin(t,e,{x:o.x,y:o.y,l:o._width*g[s],r:o._width*y[s],b:o._effHeight*y[l],t:o._effHeight*g[l]});u?t._fullLayout._reservedMargin[e][f]=p[f]:c||"v"===o.orientation?t._fullLayout._reservedMargin[e][h]=p[h]:t._fullLayout._reservedMargin[e][f]=p[f]}(t,d,A,M);if(S)return;if(h.margin.autoexpand){var E=A,P=M;A=w?i.constrain(A,0,h.width-f._width):E,M=T?i.constrain(M,0,h.height-f._effHeight):P,A!==E&&i.log("Constrain "+d+".x to make legend fit inside graph"),M!==P&&i.log("Constrain "+d+".y to make legend fit inside graph")}u.setTranslate(R,A,M)}if(V.on(".drag",null),R.on("wheel",null),v||f._height<=f._maxHeight||t._context.staticPlot){var O=f._effHeight;v&&(O=f._height),B.attr({width:f._width-_,height:O-_,x:_/2,y:_/2}),u.setTranslate(N,0,0),F.select("rect").attr({width:f._width-2*_,height:O-2*_,x:_,y:_}),u.setClipUrl(N,r,t),u.setRect(V,0,0,0,0),delete f._scrollY}else{var I,D,z,j=Math.max(p.scrollBarMinHeight,f._effHeight*f._effHeight/f._height),U=f._effHeight-j-2*p.scrollBarMargin,H=f._height-f._effHeight,q=U/H,G=Math.min(f._scrollY||0,H);B.attr({width:f._width-2*_+p.scrollBarWidth+p.scrollBarMargin,height:f._effHeight-_,x:_/2,y:_/2}),F.select("rect").attr({width:f._width-2*_+p.scrollBarWidth+p.scrollBarMargin,height:f._effHeight-2*_,x:_,y:_+G}),u.setClipUrl(N,r,t),W(G,j,q),R.on("wheel",(function(){W(G=i.constrain(f._scrollY+n.event.deltaY/U*H,0,H),j,q),0!==G&&G!==H&&n.event.preventDefault()}));var Z=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;I="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,z=G})).on("drag",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(D="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,G=function(t,e,r){var n=(r-e)/q+t;return i.constrain(n,0,H)}(z,I,D),W(G,j,q))}));V.call(Z);var Y=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(I=t.changedTouches[0].clientY,z=G)})).on("drag",(function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(D=t.changedTouches[0].clientY,G=function(t,e,r){var n=(e-r)/q+t;return i.constrain(n,0,H)}(z,I,D),W(G,j,q))}));N.call(Y)}function W(e,r,n){f._scrollY=t._fullLayout[d]._scrollY=e,u.setTranslate(N,0,-e),u.setRect(V,f._width,p.scrollBarMargin+e*n,p.scrollBarWidth,r),F.select("rect").attr("y",_+e)}t._context.edits.legendPosition&&(R.classed("cursor-move",!0),l.init({element:R.node(),gd:t,prepFn:function(){var t=u.getTranslate(R);m=t.x,x=t.y},moveFn:function(t,r){var n=m+t,i=x+r;u.setTranslate(R,n,i),e=l.align(n,f._width,b.l,b.l+b.w,f.xanchor),c=l.align(i+f._height,-f._height,b.t+b.h,b.t,f.yanchor)},doneFn:function(){if(void 0!==e&&void 0!==c){var r={};r[d+".x"]=e,r[d+".y"]=c,o.call("_guiRelayout",t,r)}},clickFn:function(e,r){var n=s.selectAll("g.traces").filter((function(){var t=this.getBoundingClientRect();return r.clientX>=t.left&&r.clientX<=t.right&&r.clientY>=t.top&&r.clientY<=t.bottom}));n.size()>0&&k(t,R,n,e,r)}}))}],t)}}function T(t,e,r){var n=t[0],i=n.width,a=e.entrywidthmode,o=n.trace.legendwidth||e.entrywidth;return"fraction"===a?e._maxWidth*o:r+(o||i)}function k(t,e,r,n,i){var a=r.data()[0][0].trace,l={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};a._group&&(l.group=a._group),o.traceIs(a,"pie-like")&&(l.label=r.datum()[0].label),!1!==s.triggerHandler(t,"plotly_legendclick",l)&&(1===n?e._clickTimeout=setTimeout((function(){t._fullLayout&&h(r,t,n)}),t._context.doubleClickDelay):2===n&&(e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&h(r,t,n)))}function A(t,e,r){var n,a,s=P(r),l=t.data()[0][0],c=l.trace,h=o.traceIs(c,"pie-like"),d=!r._inHover&&e._context.edits.legendText&&!h,v=r._maxNameLength;l.groupTitle?(n=l.groupTitle.text,a=l.groupTitle.font):(a=r.font,r.entries?n=l.text:(n=h?l.label:c.name,c._meta&&(n=i.templateString(n,c._meta))));var g=i.ensureSingle(t,"text",s+"text");g.attr("text-anchor","start").call(u.font,a).text(d?M(n,v):n);var y=r.itemwidth+2*p.itemGap;f.positionText(g,y,0),d?g.call(f.makeEditable,{gd:e,text:n}).call(E,t,e,r).on("edit",(function(n){this.text(M(n,v)).call(E,t,e,r);var a=l.trace._fullInput||{},s={};if(o.hasTransform(a,"groupby")){var u=o.getTransformIndices(a,"groupby"),f=u[u.length-1],h=i.keyedContainer(a,"transforms["+f+"].styles","target","value.name");h.set(l.trace._group,n),s=h.constructUpdate()}else s.name=n;return a._isShape?o.call("_guiRelayout",e,"shapes["+c.index+"].name",s.name):o.call("_guiRestyle",e,s,c.index)})):E(g,t,e,r)}function M(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function S(t,e,r){var a,o=e._context.doubleClickDelay,s=1,l=i.ensureSingle(t,"rect",r+"toggle",(function(t){e._context.staticPlot||t.style("cursor","pointer").attr("pointer-events","all"),t.call(c.fill,"rgba(0,0,0,0)")}));e._context.staticPlot||(l.on("mousedown",(function(){(a=(new Date).getTime())-e._legendMouseDownTimeo&&(s=Math.max(s-1,1)),k(e,i,t,s,n.event)}})))}function E(t,e,r,n,i){n._inHover&&t.attr("data-notex",!0),f.convertToTspans(t,r,(function(){!function(t,e,r,n){var i=t.data()[0][0];if(r._inHover||!i||i.trace.showlegend){var a=t.select("g[class*=math-group]"),o=a.node(),s=P(r);r||(r=e._fullLayout[s]);var l,c,h=r.borderwidth,d=(1===n?r.title.font:i.groupTitle?i.groupTitle.font:r.font).size*v;if(o){var g=u.bBox(o);l=g.height,c=g.width,1===n?u.setTranslate(a,h,h+.75*l):u.setTranslate(a,0,.25*l)}else{var y="."+s+(1===n?"title":"")+"text",m=t.select(y),x=f.lineCount(m),b=m.node();if(l=d*x,c=b?u.bBox(b).width:0,1===n){var _=0;"left"===r.title.side?c+=2*p.itemGap:"top center"===r.title.side?r._width&&(_=.5*(r._width-2*h-2*p.titlePad-c)):"top right"===r.title.side&&r._width&&(_=r._width-2*h-2*p.titlePad-c),f.positionText(m,h+p.titlePad+_,h+d)}else{var w=2*p.itemGap+r.itemwidth;i.groupTitle&&(w=p.itemGap,c-=r.itemwidth),f.positionText(m,w,-d*((x-1)/2-.3))}}1===n?(r._titleWidth=c,r._titleHeight=l):(i.lineHeight=d,i.height=Math.max(l,16)+3,i.width=c)}else t.remove()}(e,r,n,i)}))}function L(t){return i.isRightAnchor(t)?"right":i.isCenterAnchor(t)?"center":"left"}function C(t){return i.isBottomAnchor(t)?"bottom":i.isMiddleAnchor(t)?"middle":"top"}function P(t){return t._id||"legend"}t.exports=function(t,e){if(e)w(t,e);else{var r=t._fullLayout,i=r._legends;r._infolayer.selectAll('[class^="legend"]').each((function(){var t=n.select(this),e=t.attr("class").split(" ")[0];e.match(_)&&-1===i.indexOf(e)&&t.remove()}));for(var a=0;aS&&(M=S)}k[a][0]._groupMinRank=M,k[a][0]._preGroupSort=a}var E=function(t,e){return t.trace.legendrank-e.trace.legendrank||t._preSort-e._preSort};for(k.forEach((function(t,e){t[0]._preGroupSort=e})),k.sort((function(t,e){return t[0]._groupMinRank-e[0]._groupMinRank||t[0]._preGroupSort-e[0]._preGroupSort})),a=0;ar?r:t}t.exports=function(t,e,r){var y=e._fullLayout;r||(r=y.legend);var m="constant"===r.itemsizing,x=r.itemwidth,b=(x+2*p.itemGap)/2,_=o(b,0),w=function(t,e,r,n){var i;if(t+1)i=t;else{if(!(e&&e.width>0))return 0;i=e.width}return m?n:Math.min(i,r)};function T(t,a,o){var c=t[0].trace,f=c.marker||{},h=f.line||{},p=o?c.visible&&c.type===o:i.traceIs(c,"bar"),d=n.select(a).select("g.legendpoints").selectAll("path.legend"+o).data(p?[t]:[]);d.enter().append("path").classed("legend"+o,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),d.exit().remove(),d.each((function(t){var i=n.select(this),a=t[0],o=w(a.mlw,f.line,5,2);i.style("stroke-width",o+"px");var p=a.mcc;if(!r._inHover&&"mc"in a){var d=u(f),v=d.mid;void 0===v&&(v=(d.max+d.min)/2),p=s.tryColorscale(f,"")(v)}var y=p||a.mc||f.color,m=f.pattern,x=m&&s.getPatternAttr(m.shape,0,"");if(x){var b=s.getPatternAttr(m.bgcolor,0,null),_=s.getPatternAttr(m.fgcolor,0,null),T=m.fgopacity,k=g(m.size,8,10),A=g(m.solidity,.5,1),M="legend-"+c.uid;i.call(s.pattern,"legend",e,M,x,k,A,p,m.fillmode,b,_,T)}else i.call(l.fill,y);o&&l.stroke(i,a.mlc||h.color)}))}function k(t,r,o){var s=t[0],l=s.trace,u=o?l.visible&&l.type===o:i.traceIs(l,o),c=n.select(r).select("g.legendpoints").selectAll("path.legend"+o).data(u?[t]:[]);if(c.enter().append("path").classed("legend"+o,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),c.exit().remove(),c.size()){var p=l.marker||{},d=w(h(p.line.width,s.pts),p.line,5,2),v="pieLike",g=a.minExtend(l,{marker:{line:{width:d}}},v),y=a.minExtend(s,{trace:g},v);f(c,y,g,e)}}t.each((function(t){var e=n.select(this),i=a.ensureSingle(e,"g","layers");i.style("opacity",t[0].trace.opacity);var s=r.valign,l=t[0].lineHeight,u=t[0].height;if("middle"!==s&&l&&u){var c={top:1,bottom:-1}[s]*(.5*(l-u+3));i.attr("transform",o(0,c))}else i.attr("transform",null);i.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),i.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var f=i.selectAll("g.legendsymbols").data([t]);f.enter().append("g").classed("legendsymbols",!0),f.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)})).each((function(t){var r,i=t[0].trace,o=[];if(i.visible)switch(i.type){case"histogram2d":case"heatmap":o=[["M-15,-2V4H15V-2Z"]],r=!0;break;case"choropleth":case"choroplethmapbox":o=[["M-6,-6V6H6V-6Z"]],r=!0;break;case"densitymapbox":o=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],r="radial";break;case"cone":o=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],r=!1;break;case"streamtube":o=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],r=!1;break;case"surface":o=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],r=!0;break;case"mesh3d":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!1;break;case"volume":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!0;break;case"isosurface":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],r=!1}var c=n.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(o);c.enter().append("path").classed("legend3dandfriends",!0).attr("transform",_).style("stroke-miterlimit",1),c.exit().remove(),c.each((function(t,o){var c,f=n.select(this),h=u(i),p=h.colorscale,v=h.reversescale;if(p){if(!r){var g=p.length;c=0===o?p[v?g-1:0][1]:1===o?p[v?0:g-1][1]:p[Math.floor((g-1)/2)][1]}}else{var y=i.vertexcolor||i.facecolor||i.color;c=a.isArrayOrTypedArray(y)?y[o]||y[0]:y}f.attr("d",t[0]),c?f.call(l.fill,c):f.call((function(t){if(t.size()){var n="legendfill-"+i.uid;s.gradient(t,e,n,d(v,"radial"===r),p,"fill")}}))}))})).each((function(t){var e=t[0].trace,r="waterfall"===e.type;if(t[0]._distinct&&r){var i=t[0].trace[t[0].dir].marker;return t[0].mc=i.color,t[0].mlw=i.line.width,t[0].mlc=i.line.color,T(t,this,"waterfall")}var a=[];e.visible&&r&&(a=t[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var o=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(a);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",_).style("stroke-miterlimit",1),o.exit().remove(),o.each((function(t){var r=n.select(this),i=e[t[0]].marker,a=w(void 0,i.line,5,2);r.attr("d",t[1]).style("stroke-width",a+"px").call(l.fill,i.color),a&&r.call(l.stroke,i.line.color)}))})).each((function(t){T(t,this,"funnel")})).each((function(t){T(t,this)})).each((function(t){var r=t[0].trace,o=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&i.traceIs(r,"box-violin")?[t]:[]);o.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),o.exit().remove(),o.each((function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var i=w(void 0,r.line,5,2);t.style("stroke-width",i+"px").call(l.fill,r.fillcolor),i&&l.stroke(t,r.line.color)}else{var u=a.minExtend(r,{marker:{size:m?12:a.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});o.call(s.pointStyle,u,e)}}))})).each((function(t){k(t,this,"funnelarea")})).each((function(t){k(t,this,"pie")})).each((function(t){var r,i,o=v(t),l=o.showFill,f=o.showLine,h=o.showGradientLine,p=o.showGradientFill,g=o.anyFill,y=o.anyLine,m=t[0],b=m.trace,_=u(b),T=_.colorscale,k=_.reversescale,A=c.hasMarkers(b)||!g?"M5,0":y?"M5,-2":"M5,-3",M=n.select(this),S=M.select(".legendfill").selectAll("path").data(l||p?[t]:[]);if(S.enter().append("path").classed("js-fill",!0),S.exit().remove(),S.attr("d",A+"h"+x+"v6h-"+x+"z").call((function(t){if(t.size())if(l)s.fillGroupStyle(t,e);else{var r="legendfill-"+b.uid;s.gradient(t,e,r,d(k),T,"fill")}})),f||h){var E=w(void 0,b.line,10,5);i=a.minExtend(b,{line:{width:E}}),r=[a.minExtend(m,{trace:i})]}var L=M.select(".legendlines").selectAll("path").data(f||h?[r]:[]);L.enter().append("path").classed("js-line",!0),L.exit().remove(),L.attr("d",A+(h?"l"+x+",0.0001":"h"+x)).call(f?s.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+b.uid;s.lineGroupStyle(t),s.gradient(t,e,r,d(k),T,"stroke")}})})).each((function(t){var r,i,o=v(t),l=o.anyFill,u=o.anyLine,f=o.showLine,h=o.showMarker,p=t[0],d=p.trace,g=!h&&!u&&!l&&c.hasText(d);function y(t,e,r,n){var i=a.nestedProperty(d,t).get(),o=a.isArrayOrTypedArray(i)&&e?e(i):i;if(m&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function x(t){return p._distinct&&p.index&&t[p.index]?t[p.index]:t[0]}if(h||g||f){var b={},w={};if(h){b.mc=y("marker.color",x),b.mx=y("marker.symbol",x),b.mo=y("marker.opacity",a.mean,[.2,1]),b.mlc=y("marker.line.color",x),b.mlw=y("marker.line.width",a.mean,[0,5],2),w.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var T=y("marker.size",a.mean,[2,16],12);b.ms=T,w.marker.size=T}f&&(w.line={width:y("line.width",x,[0,10],5)}),g&&(b.tx="Aa",b.tp=y("textposition",x),b.ts=10,b.tc=y("textfont.color",x),b.tf=y("textfont.family",x)),r=[a.minExtend(p,b)],(i=a.minExtend(d,w)).selectedpoints=null,i.texttemplate=null}var k=n.select(this).select("g.legendpoints"),A=k.selectAll("path.scatterpts").data(h?r:[]);A.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",_),A.exit().remove(),A.call(s.pointStyle,i,e),h&&(r[0].mrc=3);var M=k.selectAll("g.pointtext").data(g?r:[]);M.enter().append("g").classed("pointtext",!0).append("text").attr("transform",_),M.exit().remove(),M.selectAll("text").call(s.textPointStyle,i,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(e.visible&&"candlestick"===e.type?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",(function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"})).attr("transform",_).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("stroke-width",o+"px").call(l.fill,a.fillcolor),o&&l.stroke(i,a.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(e.visible&&"ohlc"===e.type?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",(function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"})).attr("transform",_).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("fill","none").call(s.dashLine,a.line.dash,o),o&&l.stroke(i,a.line.color)}))}))}},42068:function(t,e,r){"use strict";r(93348),t.exports={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"}}},26023:function(t,e,r){"use strict";var n=r(73972),i=r(74875),a=r(41675),o=r(24255),s=r(34031).eraseActiveShape,l=r(71828),u=l._,c=t.exports={};function f(t,e){var r,i,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,u=t._fullLayout,c={},f=a.list(t,null,!0),h=u._cartesianSpikesEnabled;if("zoom"===s){var p,d="in"===l?.5:2,v=(1+d)/2,g=(1-d)/2;for(i=0;i1?(O=["toggleHover"],I=["resetViews"]):y?(P=["zoomInGeo","zoomOutGeo"],O=["hoverClosestGeo"],I=["resetGeo"]):g?(O=["hoverClosest3d"],I=["resetCameraDefault3d","resetCameraLastSave3d"]):w?(P=["zoomInMapbox","zoomOutMapbox"],O=["toggleHover"],I=["resetViewMapbox"]):b?O=["hoverClosestGl2d"]:m?O=["hoverClosestPie"]:A?(O=["hoverClosestCartesian","hoverCompareCartesian"],I=["resetViewSankey"]):O=["toggleHover"],v&&(O=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]),(function(t){for(var e=0;e0)){var v=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),i=0,a=0;a=n.max)e=F[r+1];else if(t=n.pmax)e=F[r+1];else if(tr._length||y+b<0)return;c=g+b,p=y+b;break;case l:if(x="col-resize",g+b>r._length)return;c=g+b,p=y;break;case u:if(x="col-resize",y+b<0)return;c=g,p=y+b;break;default:x="ew-resize",c=v,p=v+b}if(p=0;k--){var A=r.append("path").attr(g).style("opacity",k?.1:y).call(o.stroke,x).call(o.fill,m).call(s.dashLine,k?"solid":_,k?4+b:b);if(d(A,t,a),w){var M=l(t.layout,"selections",a);A.style({cursor:"move"});var S={element:A.node(),plotinfo:p,gd:t,editHelpers:M,isActiveSelection:!0},E=n(u,t);i(E,A,S)}else A.style("pointer-events",k?"all":"none");T[k]=A}var L=T[0];T[1].node().addEventListener("click",(function(){return function(t,e){if(h(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeSelectionIndex)return void v(t);t._fullLayout._activeSelectionIndex=r,t._fullLayout._deactivateSelection=v,f(t)}}}(t,L)}))}(t._fullLayout._selectionLayer)}function d(t,e,r){var n=r.xref+r.yref;s.setClipUrl(t,"clip"+e._fullLayout._uid+n,e)}function v(t){h(t)&&t._fullLayout._activeSelectionIndex>=0&&(a(t),delete t._fullLayout._activeSelectionIndex,f(t))}t.exports={draw:f,drawOne:p,activateLastSelection:function(t){if(h(t)){var e=t._fullLayout.selections.length-1;t._fullLayout._activeSelectionIndex=e,t._fullLayout._deactivateSelection=v,f(t)}}}},53777:function(t,e,r){"use strict";var n=r(79952).P,i=r(1426).extendFlat;t.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none"},line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:1,dflt:1,editType:"none"},dash:i({},n,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}},90849:function(t){"use strict";t.exports=function(t,e,r){r("newselection.mode"),r("newselection.line.width")&&(r("newselection.line.color"),r("newselection.line.dash")),r("activeselection.fillcolor"),r("activeselection.opacity")}},35855:function(t,e,r){"use strict";var n=r(64505).selectMode,i=r(51873).clearOutline,a=r(60165),o=a.readPaths,s=a.writePaths,l=a.fixDatesForPaths;t.exports=function(t,e){if(t.length){var r=t[0][0];if(r){var a=r.getAttribute("d"),u=e.gd,c=u._fullLayout.newselection,f=e.plotinfo,h=f.xaxis,p=f.yaxis,d=e.isActiveSelection,v=e.dragmode,g=(u.layout||{}).selections||[];if(!n(v)&&void 0!==d){var y=u._fullLayout._activeSelectionIndex;if(y-1,b=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){Z(t,e,a);var _=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n0?function(t,e){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i1)return!1;if((n+=e.selectedpoints.length)>1)return!1}return 1===n}(s)&&(h=K(_))){for(o&&o.remove(),g=0;g=0})(i)&&i._fullLayout._deactivateShape(i),function(t){return t._fullLayout._activeSelectionIndex>=0}(i)&&i._fullLayout._deactivateSelection(i);var o=i._fullLayout._zoomlayer,s=p(r),l=v(r);if(s||l){var u,c,f=o.selectAll(".select-outline-"+n.id);f&&i._fullLayout._outlining&&(s&&(u=T(f,t)),u&&a.call("_guiRelayout",i,{shapes:u}),l&&!U(t)&&(c=k(f,t)),c&&(i._fullLayout._noEmitSelectedAtStart=!0,a.call("_guiRelayout",i,{selections:c}).then((function(){e&&A(i)}))),i._fullLayout._outlining=!1)}n.selection={},n.selection.selectionDefs=t.selectionDefs=[],n.selection.mergedPolygons=t.mergedPolygons=[]}function W(t){return t._id}function X(t,e,r,n){if(!t.calcdata)return[];var i,a,o,s=[],l=e.map(W),u=r.map(W);for(o=0;o0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function $(t,e,r){var n,i;for(n=0;n-1&&e;if(!a&&e){var et=ot(t,!0);if(et.length){var nt=et[0].xref,pt=et[0].yref;if(nt&&pt){var dt=ut(et);ct([C(t,nt,"x"),C(t,pt,"y")])(Q,dt)}}t._fullLayout._noEmitSelectedAtStart?t._fullLayout._noEmitSelectedAtStart=!1:tt&&ft(t,Q),h._reselect=!1}if(!a&&h._deselect){var vt=h._deselect;(function(t,e,r){for(var n=0;n=0)k._fullLayout._deactivateShape(k);else if(!x){var r=A.clickmode;L.done(Mt).then((function(){if(L.clear(Mt),2===t){for(bt.remove(),K=0;K-1&&V(e,k,n.xaxes,n.yaxes,n.subplot,n,bt),"event"===r&&ft(k,void 0);l.click(k,e)})).catch(M.error)}},n.doneFn=function(){kt.remove(),L.done(Mt).then((function(){L.clear(Mt),!S&&J&&n.selectionDefs&&(J.subtract=xt,n.selectionDefs.push(J),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,W)),(S||x)&&Y(n,S),n.doneFnCompleted&&n.doneFnCompleted(St),b&&ft(k,at)})).catch(M.error)}},clearOutline:x,clearSelectionsCache:Y,selectOnClick:V}},89827:function(t,e,r){"use strict";var n=r(50215),i=r(41940),a=r(82196).line,o=r(79952).P,s=r(1426).extendFlat,l=r(44467).templatedArray,u=(r(24695),r(9012)),c=r(5386).R,f=r(37281);t.exports=l("shape",{visible:s({},u.visible,{editType:"calc+arraydraw"}),showlegend:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},legend:s({},u.legend,{editType:"calc+arraydraw"}),legendgroup:s({},u.legendgroup,{editType:"calc+arraydraw"}),legendgrouptitle:{text:s({},u.legendgrouptitle.text,{editType:"calc+arraydraw"}),font:i({editType:"calc+arraydraw"}),editType:"calc+arraydraw"},legendrank:s({},u.legendrank,{editType:"calc+arraydraw"}),legendwidth:s({},u.legendwidth,{editType:"calc+arraydraw"}),type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},xref:s({},n.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},yref:s({},n.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:s({},a.color,{editType:"arraydraw"}),width:s({},a.width,{editType:"calc+arraydraw"}),dash:s({},o,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw"},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},label:{text:{valType:"string",dflt:"",editType:"arraydraw"},texttemplate:c({},{keys:Object.keys(f)}),font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"],editType:"arraydraw"},textangle:{valType:"angle",dflt:"auto",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],editType:"calc+arraydraw"},padding:{valType:"number",dflt:3,min:0,editType:"arraydraw"},editType:"arraydraw"},editType:"arraydraw"})},5627:function(t,e,r){"use strict";var n=r(71828),i=r(89298),a=r(21459),o=r(30477);function s(t){return u(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return u(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function u(t,e,r,i,s,l){var u=t/2,c=l;if("pixel"===e){var f=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],h=n.aggNums(Math.max,null,f),p=n.aggNums(Math.min,null,f),d=p<0?Math.abs(p)+u:u,v=h>0?h+u:u;return{ppad:u,ppadplus:c?d:v,ppadminus:c?v:d}}return{ppad:u}}function c(t,e,r,n,i){var s="category"===t.type||"multicategory"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,u,c,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;lp&&(p=f)));return p>=h?[h,p]:void 0}}t.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o=t?e-n:n-e,-180/Math.PI*Math.atan2(i,a)}(x,_,b,w):0),A.call((function(e){return e.call(o.font,k).attr({}),a.convertToTspans(e,t),e}));var U=function(t,e,r,n,i,a,o){var s,l,u,c,h=i.label.textposition,p=i.label.textangle,d=i.label.padding,v=i.type,g=Math.PI/180*a,y=Math.sin(g),m=Math.cos(g),x=i.label.xanchor,b=i.label.yanchor;if("line"===v){"start"===h?(s=t,l=e):"end"===h?(s=r,l=n):(s=(t+r)/2,l=(e+n)/2),"auto"===x&&(x="start"===h?"auto"===p?r>t?"left":rt?"right":rt?"right":rt?"left":r1&&(2!==t.length||"Z"!==t[1][0])&&(0===C&&(t[0][0]="M"),e[L]=t,A(),M())}}()}}function V(t,r){!function(t,r){if(e.length)for(var n=0;n_?(M=p,C="y0",S=_,P="y1"):(M=_,C="y1",S=p,P="y0"),$(n),et(l,r),function(t,e,r){var n=e.xref,i=e.yref,a=o.getFromId(r,n),s=o.getFromId(r,i),l="";"paper"===n||a.autorange||(l+=n),"paper"===i||s.autorange||(l+=i),h.setClipUrl(t,l?"clip"+r._fullLayout._uid+l:null,r)}(e,r,t),K.moveFn="move"===z?Q:tt,K.altKey=n.altKey)},doneFn:function(){b(t)||(v(e),rt(l),T(e,t,r),i.call("_guiRelayout",t,c.getUpdateObj()))},clickFn:function(){b(t)||rt(l)}};function $(r){if(b(t))z=null;else if(B)z="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=K.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!N&&i>10&&a>10&&!r.shiftKey?d.getCursor(o/i,1-s/a):"move";v(e,l),z=l.split("-")[0]}}function Q(n,i){if("path"===r.type){var a=function(t){return t},o=a,c=a;R?j("xanchor",r.xanchor=W(w+n)):(o=function(t){return W(Z(t)+n)},V&&"date"===V.type&&(o=y.encodeDate(o))),F?j("yanchor",r.yanchor=X(A+i)):(c=function(t){return X(Y(t)+i)},q&&"date"===q.type&&(c=y.encodeDate(c))),j("path",r.path=k(D,o,c))}else R?j("xanchor",r.xanchor=W(w+n)):(j("x0",r.x0=W(f+n)),j("x1",r.x1=W(x+n))),F?j("yanchor",r.yanchor=X(A+i)):(j("y0",r.y0=X(p+i)),j("y1",r.y1=X(_+i)));e.attr("d",m(t,r)),et(l,r),u(t,s,r,U)}function tt(n,i){if(N){var a=function(t){return t},o=a,c=a;R?j("xanchor",r.xanchor=W(w+n)):(o=function(t){return W(Z(t)+n)},V&&"date"===V.type&&(o=y.encodeDate(o))),F?j("yanchor",r.yanchor=X(A+i)):(c=function(t){return X(Y(t)+i)},q&&"date"===q.type&&(c=y.encodeDate(c))),j("path",r.path=k(D,o,c))}else if(B){if("resize-over-start-point"===z){var h=f+n,d=F?p-i:p+i;j("x0",r.x0=R?h:W(h)),j("y0",r.y0=F?d:X(d))}else if("resize-over-end-point"===z){var v=x+n,g=F?_-i:_+i;j("x1",r.x1=R?v:W(v)),j("y1",r.y1=F?g:X(g))}}else{var b=function(t){return-1!==z.indexOf(t)},T=b("n"),H=b("s"),G=b("w"),J=b("e"),K=T?M+i:M,$=H?S+i:S,Q=G?E+n:E,tt=J?L+n:L;F&&(T&&(K=M-i),H&&($=S-i)),(!F&&$-K>10||F&&K-$>10)&&(j(C,r[C]=F?K:X(K)),j(P,r[P]=F?$:X($))),tt-Q>10&&(j(O,r[O]=R?Q:W(Q)),j(I,r[I]=R?tt:W(tt)))}e.attr("d",m(t,r)),et(l,r),u(t,s,r,U)}function et(t,e){(R||F)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var i=Z(R?e.xanchor:a.midRange(r?[e.x0,e.x1]:y.extractPathCoords(e.path,g.paramIsX))),o=Y(F?e.yanchor:a.midRange(r?[e.y0,e.y1]:y.extractPathCoords(e.path,g.paramIsY)));if(i=y.roundPositionForSharpStrokeRendering(i,1),o=y.roundPositionForSharpStrokeRendering(o,1),R&&F){var s="M"+(i-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(R){var l="M"+(i-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var u="M"+(i-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",u)}}()}function rt(t){t.selectAll(".visual-cue").remove()}d.init(K),J.node().onmousemove=$}(t,F,c,e,r,z):!0===c.editable&&F.style("pointer-events",I||f.opacity(L)*E<=.5?"stroke":"all");F.node().addEventListener("click",(function(){return function(t,e){if(_(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void A(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=A,x(t)}}}(t,F)}))}c._input&&!0===c.visible&&("below"!==c.layer?M(t._fullLayout._shapeUpperLayer):"paper"===c.xref||"paper"===c.yref?M(t._fullLayout._shapeLowerLayer):w._hadPlotinfo?M((w.mainplotinfo||w).shapelayer):M(t._fullLayout._shapeLowerLayer))}function T(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"").replace(/[xyz][1-9]* *domain/g,"");h.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function k(t,e,r){return t.replace(g.segmentRE,(function(t){var n=0,i=t.charAt(0),a=g.paramIsX[i],o=g.paramIsY[i],s=g.numParams[i];return i+t.substr(1).replace(g.paramRE,(function(t){return n>=s||(a[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function A(t){_(t)&&t._fullLayout._activeShapeIndex>=0&&(c(t),delete t._fullLayout._activeShapeIndex,x(t))}t.exports={draw:x,drawOne:w,eraseActiveShape:function(t){if(_(t)){c(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e0&&lp&&(t="X"),t}));return a>p&&(d=d.replace(/[\s,]*X.*/,""),i.log("Ignoring extra params in segment "+t)),c+d}))}(r,s,u);if("pixel"===r.xsizemode){var b=s(r.xanchor);c=b+r.x0,f=b+r.x1}else c=s(r.x0),f=s(r.x1);if("pixel"===r.ysizemode){var _=u(r.yanchor);h=_-r.y0,p=_-r.y1}else h=u(r.y0),p=u(r.y1);if("line"===d)return"M"+c+","+h+"L"+f+","+p;if("rect"===d)return"M"+c+","+h+"H"+f+"V"+p+"H"+c+"Z";var w=(c+f)/2,T=(h+p)/2,k=Math.abs(w-c),A=Math.abs(T-h),M="A"+k+","+A,S=w+k+","+T;return"M"+S+M+" 0 1,1 "+w+","+(T-A)+M+" 0 0,1 "+S+"Z"}},89853:function(t,e,r){"use strict";var n=r(34031);t.exports={moduleType:"component",name:"shapes",layoutAttributes:r(89827),supplyLayoutDefaults:r(84726),supplyDrawNewShapeDefaults:r(45547),includeBasePlot:r(76325)("shapes"),calcAutorange:r(5627),draw:n.draw,drawOne:n.drawOne}},37281:function(t){"use strict";function e(t,e){return e?e.d2l(t):t}function r(t,e){return e?e.l2d(t):t}function n(t,r){return e(t.x1,r)-e(t.x0,r)}function i(t,r,n){return e(t.y1,n)-e(t.y0,n)}t.exports={x0:function(t){return t.x0},x1:function(t){return t.x1},y0:function(t){return t.y0},y1:function(t){return t.y1},slope:function(t,e,r){return"line"!==t.type?void 0:i(t,0,r)/n(t,e)},dx:n,dy:i,width:function(t,e){return Math.abs(n(t,e))},height:function(t,e,r){return Math.abs(i(t,0,r))},length:function(t,e,r){return"line"!==t.type?void 0:Math.sqrt(Math.pow(n(t,e),2)+Math.pow(i(t,0,r),2))},xcenter:function(t,n){return r((e(t.x1,n)+e(t.x0,n))/2,n)},ycenter:function(t,n,i){return r((e(t.y1,i)+e(t.y0,i))/2,i)}}},75067:function(t,e,r){"use strict";var n=r(41940),i=r(35025),a=r(1426).extendDeepAll,o=r(30962).overrideAll,s=r(85594),l=r(44467).templatedArray,u=r(98292),c=l("step",{visible:{valType:"boolean",dflt:!0},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}});t.exports=o(l("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:c,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:a(i({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:s.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:n({})},font:n({}),activebgcolor:{valType:"color",dflt:u.gripBgActiveColor},bgcolor:{valType:"color",dflt:u.railBgColor},bordercolor:{valType:"color",dflt:u.railBorderColor},borderwidth:{valType:"number",min:0,dflt:u.railBorderWidth},ticklen:{valType:"number",min:0,dflt:u.tickLength},tickcolor:{valType:"color",dflt:u.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:u.minorTickLength}}),"arraydraw","from-root")},98292:function(t){"use strict";t.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,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}},12343:function(t,e,r){"use strict";var n=r(71828),i=r(85501),a=r(75067),o=r(98292).name,s=a.steps;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=i(t,e,{name:"steps",handleItemDefaults:u}),l=0,c=0;c0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform",l(o-.5*f.gripWidth,e._dims.currentValueTotalHeight))}}function E(t,e){var r=t._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,e))}function L(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function C(t,e,r){var n=r._dims,i=s.ensureSingle(t,"rect",f.railTouchRectClass,(function(n){n.call(A,e,t,r).style("pointer-events","all")}));i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr("opacity",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function P(t,e){var r=e._dims,n=r.inputAreaLength-2*f.railInset,i=s.ensureSingle(t,"rect",f.railRectClass);i.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,"shape-rendering":"crispEdges"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(i,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}t.exports=function(t){var e=t._context.staticPlot,r=t._fullLayout,a=function(t,e){for(var r=t[f.name],n=[],i=0;i0?[0]:[]);function l(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,g(e))}if(s.enter().append("g").classed(f.containerClassName,!0).style("cursor",e?null:"ew-resize"),s.exit().each((function(){n.select(this).selectAll("g."+f.groupClassName).each(l)})).remove(),0!==a.length){var u=s.selectAll("g."+f.groupClassName).data(a,y);u.enter().append("g").classed(f.groupClassName,!0),u.exit().each(l).remove();for(var c=0;c0||_<0){var M={left:[-w,0],right:[w,0],top:[0,-w],bottom:[0,w]}[b.side];r.attr("transform",l(M[0],M[1]))}}}return R.call(F),I&&(E?R.on(".opacity",null):(A=0,M=!0,R.text(m).on("mouseover.opacity",(function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)}))),R.call(f.makeEditable,{gd:t}).on("edit",(function(e){void 0!==x?o.call("_guiRestyle",t,y,e,x):o.call("_guiRelayout",t,y,e)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(F)})).on("input",(function(t){this.text(t||" ").call(f.positionText,_.x,_.y)}))),R.classed("js-placeholder",M),T}}},7163:function(t,e,r){"use strict";var n=r(41940),i=r(22399),a=r(1426).extendFlat,o=r(30962).overrideAll,s=r(35025),l=r(44467).templatedArray,u=l("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("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:u,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:a(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:i.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},75909:function(t){"use strict";t.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"◄",right:"►",up:"▲",down:"▼"}}},64897:function(t,e,r){"use strict";var n=r(71828),i=r(85501),a=r(7163),o=r(75909).name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o("visible",i(t,e,{name:"buttons",handleItemDefaults:u}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function u(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}t.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},13689:function(t,e,r){"use strict";var n=r(39898),i=r(74875),a=r(7901),o=r(91424),s=r(71828),l=r(63893),u=r(44467).arrayEditor,c=r(18783).LINE_SPACING,f=r(75909),h=r(25849);function p(t){return t._index}function d(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function v(t,e,r,n,i,a,o,s){e.active=o,u(t.layout,f.name,e).applyUpdate("active",o),"buttons"===e.type?y(t,n,null,null,e):"dropdown"===e.type&&(i.attr(f.menuIndexAttrName,"-1"),g(t,n,i,a,e),s||y(t,n,i,a,e))}function g(t,e,r,n,i){var a=s.ensureSingle(e,"g",f.headerClassName,(function(t){t.style("pointer-events","all")})),l=i._dims,u=i.active,c=i.buttons[u]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(m,i,c,t).call(M,i,h,p),s.ensureSingle(e,"text",f.headerArrowClassName,(function(t){t.attr("text-anchor","end").call(o.font,i.font).text(f.arrowSymbol[i.direction])})).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on("click",(function(){r.call(S,String(d(r,i)?-1:i._index)),y(t,e,r,n,i)})),a.on("mouseover",(function(){a.call(w)})),a.on("mouseout",(function(){a.call(T,i)})),o.setTranslate(e,l.lx,l.ly)}function y(t,e,r,a,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,u="dropdown"===o.type?f.dropdownButtonClassName:f.buttonClassName,c=r.selectAll("g."+u).data(s.filterVisible(l)),h=c.enter().append("g").classed(u,!0),p=c.exit();"dropdown"===o.type?(h.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var d=0,g=0,y=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?g=y.headerHeight+f.gapButtonHeader:d=y.headerWidth+f.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(g=-f.gapButtonHeader+f.gapButton-y.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-y.openWidth);var b={x:y.lx+d+o.pad.l,y:y.ly+g+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},k={l:b.x+o.borderwidth,t:b.y+o.borderwidth};c.each((function(s,l){var u=n.select(this);u.call(m,o,s,t).call(M,o,b),u.on("click",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(v(t,o,0,e,r,a,-1),i.executeAPICommand(t,s.method,s.args2)):(v(t,o,0,e,r,a,l),i.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))})),u.on("mouseover",(function(){u.call(w)})),u.on("mouseout",(function(){u.call(T,o),c.call(_,o)}))})),c.call(_,o),x?(k.w=Math.max(y.openWidth,y.headerWidth),k.h=b.y-k.t):(k.w=b.x-k.l,k.h=Math.max(y.openHeight,y.headerHeight)),k.direction=o.direction,a&&(c.size()?function(t,e,r,n,i,a){var o,s,l,u=i.direction,c="up"===u||"down"===u,h=i._dims,p=i.active;if(c)for(s=0,l=0;l0?[0]:[]);if(o.enter().append("g").classed(f.containerClassName,!0).style("cursor","pointer"),o.exit().each((function(){n.select(this).selectAll("g."+f.headerGroupClassName).each(a)})).remove(),0!==r.length){var l=o.selectAll("g."+f.headerGroupClassName).data(r,p);l.enter().append("g").classed(f.headerGroupClassName,!0);for(var u=s.ensureSingle(o,"g",f.dropdownButtonGroupClassName,(function(t){t.style("pointer-events","all")})),c=0;cw,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=g+y;E+M>u&&(E=u-M);var L=this.container.selectAll("rect.scrollbar-horizontal").data(k?[0]:[]);L.exit().on(".drag",null).remove(),L.enter().append("rect").classed("scrollbar-horizontal",!0).call(i.fill,s.barColor),k?(this.hbar=L.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=y>T,P=s.barWidth+2*s.barPad,O=s.barLength+2*s.barPad,I=d+v,D=g;I+P>l&&(I=l-P);var z=this.container.selectAll("rect.scrollbar-vertical").data(C?[0]:[]);z.exit().on(".drag",null).remove(),z.enter().append("rect").classed("scrollbar-vertical",!0).call(i.fill,s.barColor),C?(this.vbar=z.attr({rx:s.barRadius,ry:s.barRadius,x:I,y:D,width:P,height:O}),this._vbarYMin=D+O/2,this._vbarTranslateMax=T-O):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=c-.5,B=C?f+P+.5:f+.5,N=h-.5,j=k?p+M+.5:p+.5,U=o._topdefs.selectAll("#"+R).data(k||C?[0]:[]);if(U.exit().remove(),U.enter().append("clipPath").attr("id",R).append("rect"),k||C?(this._clipRect=U.select("rect").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R,this.gd),this.bg.attr({x:d,y:g,width:v,height:y})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),k||C){var V=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(V);var H=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));k&&this.hbar.on(".drag",null).call(H),C&&this.vbar.on(".drag",null).call(H)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.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)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.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(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},18783:function(t){"use strict";t.exports={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,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},24695:function(t){"use strict";t.exports={axisRefDescription:function(t,e,r){return["If set to a",t,"axis id (e.g. *"+t+"* or","*"+t+"2*), the `"+t+"` position refers to a",t,"coordinate. If set to *paper*, the `"+t+"`","position refers to the distance from the",e,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",e,"("+r+"). If set to a",t,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",e,"of the domain of that axis: e.g.,","*"+t+"2 domain* refers to the domain of the second",t," axis and a",t,"position of 0.5 refers to the","point between the",e,"and the",r,"of the domain of the","second",t,"axis."].join(" ")}}},22372:function(t){"use strict";t.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"▲"},DECREASING:{COLOR:"#FF4136",SYMBOL:"▼"}}},31562:function(t){"use strict";t.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}},74808:function(t){"use strict";t.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},29659:function(t){"use strict";t.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},87381:function(t){"use strict";t.exports={circle:"●","circle-open":"○",square:"■","square-open":"□",diamond:"◆","diamond-open":"◇",cross:"+",x:"❌"}},37822:function(t){"use strict";t.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},50606:function(t){"use strict";t.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"−"}},32396:function(t,e){"use strict";e.CSS_DECLARATIONS=[["image-rendering","optimizeSpeed"],["image-rendering","-moz-crisp-edges"],["image-rendering","-o-crisp-edges"],["image-rendering","-webkit-optimize-contrast"],["image-rendering","optimize-contrast"],["image-rendering","crisp-edges"],["image-rendering","pixelated"]],e.STYLE=e.CSS_DECLARATIONS.map((function(t){return t.join(": ")+"; "})).join("")},77922:function(t,e){"use strict";e.xmlns="http://www.w3.org/2000/xmlns/",e.svg="http://www.w3.org/2000/svg",e.xlink="http://www.w3.org/1999/xlink",e.svgAttrs={xmlns:e.svg,"xmlns:xlink":e.xlink}},8729:function(t,e,r){"use strict";e.version=r(11506).version,r(7417),r(98847);for(var n=r(73972),i=e.register=n.register,a=r(10641),o=Object.keys(a),s=0;s",""," ",""," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}},99863:function(t,e){"use strict";e.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},e.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},e.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},e.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},e.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},e.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},26348:function(t,e,r){"use strict";var n=r(64872),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function u(t,e){return a(e-t,s)}function c(t,e){if(l(e))return!0;var r,n;e[0](n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function f(t,e,r,n,i,a,u){i=i||0,a=a||0;var c,f,h,p,d,v=l([r,n]);function g(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}v?(c=0,f=o,h=s):r=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return f(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return f(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return f(t,e,r,n,i,a,1)}}},73627:function(t,e){"use strict";var r=Array.isArray,n=ArrayBuffer,i=DataView;function a(t){return n.isView(t)&&!(t instanceof i)}function o(t){return r(t)||a(t)}function s(t,e,r){if(o(t)){if(o(t[0])){for(var n=r,i=0;ii.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&ti.max?e.set(r):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){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return i(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o.get(t,r))}},angle:{coerceFunction:function(t,e,r){"auto"===t?e.set("auto"):n(t)?e.set(f(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||c(r);"string"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!c(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(-1===(n.extras||[]).indexOf(t))if("string"==typeof t){for(var i=t.split("+"),a=0;a=n&&t<=i?t:c}if("string"!=typeof t&&"number"!=typeof t)return c;t=String(t);var u=_(r),y=t.charAt(0);!u||"G"!==y&&"g"!==y||(t=t.substr(1),r="");var w=u&&"chinese"===r.substr(0,7),T=t.match(w?x:m);if(!T)return c;var k=T[1],A=T[3]||"1",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),L=Number(T[11]||0);if(u){if(2===k.length)return c;var C;k=Number(k);try{var P=g.getComponentMethod("calendars","getCal")(r);if(w){var O="i"===A.charAt(A.length-1);A=parseInt(A,10),C=P.newDate(k,P.toMonthIndex(k,A,O),M)}else C=P.newDate(k,Number(A),M)}catch(t){return c}return C?(C.toJD()-v)*f+S*h+E*p+L*d:c}k=2===k.length?(Number(k)+2e3-b)%100+b:Number(k),A-=1;var I=new Date(Date.UTC(2e3,A,M,S,E));return I.setUTCFullYear(k),I.getUTCMonth()!==A||I.getUTCDate()!==M?c:I.getTime()+L*d},n=e.MIN_MS=e.dateTime2ms("-9999"),i=e.MAX_MS=e.dateTime2ms("9999-12-31 23:59:59.9999"),e.isDateTime=function(t,r){return e.dateTime2ms(t,r)!==c};var T=90*f,k=3*h,A=5*p;function M(t,e,r,n,i){if((e||r||n||i)&&(t+=" "+w(e,2)+":"+w(r,2),(n||i)&&(t+=":"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+="."+w(i,a)}return t}e.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=i))return c;e||(e=0);var a,o,s,u,m,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+v,E=Math.floor(l(t,f));try{a=g.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){a=y("G%Y-%m-%d")(new Date(w))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=e=n+f&&t<=i-f))return c;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(a("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},e.cleanDate=function(t,r,n){if(t===c)return r;if(e.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),r;if(!(t=e.ms2DateTimeLocal(+t))&&void 0!==r)return r}else if(!e.isDateTime(t,n))return s.error("unrecognized date",t),r;return t};var S=/%\d?f/g,E=/%h/g,L={1:"1",2:"1",3:"2",4:"2"};function C(t,e,r,n){t=t.replace(S,(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(t=t.replace(E,(function(){return L[r("%q")(i)]})),_(n))try{t=g.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(i)}var P=[59,59.9,59.99,59.999,59.9999];e.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if("y"===r)e=a.year;else if("m"===r)e=a.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),P[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+i}return n}(t,r)+"\n"+C(a.dayMonthYear,t,n,i);e=a.dayMonth+"\n"+a.year}return C(e,t,n,i)};var O=3*f;e.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+v,a=g.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return e%12?a.add(o,e,"m"):a.add(o,e/12,"y"),(o.toJD()-v)*f+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var u=new Date(t+O);return u.setUTCMonth(u.getUTCMonth()+e)+n-O},e.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,u=_(e)&&g.getComponentMethod("calendars","getCal")(e),c=0;c0&&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;ie?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=h.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(h.tester(t))},a.type){case"MultiPolygon":for(r=0;ri&&(i=u,e=l)}else e=r;return o.default(e).geometry.coordinates}(c),n.fIn=t,n.fOut=c,s.push(c)}else u.log(["Location",n.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete i[r]}switch(r.type){case"FeatureCollection":var h=r.features;for(n=0;n100?(clearInterval(a),n("Unexpected error while fetching from "+t)):void i++}),50)}))}for(var o=0;o0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},e.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},e.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r1||v<0||v>1?null:{x:t+l*v,y:e+f*v}}function l(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}e.segmentsIntersect=s,e.segmentDistance=function(t,e,r,n,i,a,o,u){if(s(t,e,r,n,i,a,o,u))return 0;var c=r-t,f=n-e,h=o-i,p=u-a,d=c*c+f*f,v=h*h+p*p,g=Math.min(l(c,f,d,i-t,a-e),l(c,f,d,o-t,u-e),l(h,p,v,t-i,e-a),l(h,p,v,r-i,n-a));return Math.sqrt(g)},e.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),u=t.getPointAtLength(o(r+s/2,e)),c=Math.atan((u.y-l.y)/(u.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+u.x)/6,y:(4*f.y+l.y+u.y)/6,theta:c};return n[r]=h,h},e.clearLocationCache=function(){i=null},e.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(),f=c;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===c&&(i=r);var u=r.xo?r.x-o:0,f=r.yl?r.y-l:0;return Math.sqrt(u*u+f*f)}for(var p=h(u);p;){if((u+=p+r)>f)return;p=h(u)}for(p=h(f);p;){if(u>(f-=p+r))return;p=h(f)}return{min:u,max:f,len:f-u,total:c,isClosed:0===u&&f===c&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},e.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,f=0,h=0,p=s;f0?p=i:h=i,f++}return a}},81697:function(t,e,r){"use strict";var n=r(92770),i=r(84267),a=r(25075),o=r(21081),s=r(22399).defaultLine,l=r(73627).isArrayOrTypedArray,u=a(s);function c(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return u;var e=a(t);return e.length?e:u}function h(t){return n(t)?t:1}t.exports={formatColor:function(t,e,r){var n,i,s,p,d,v=t.color,g=l(v),y=l(e),m=o.extractOpts(t),x=[];if(n=void 0!==m.colorscale?o.makeColorScaleFuncFromTrace(t):f,i=g?function(t,e){return void 0===t[e]?u:a(n(t[e]))}:f,s=y?function(t,e){return void 0===t[e]?1:h(t[e])}:h,g||y)for(var b=0;b1?(r*t+r*e)/r:t+e,i=String(n).length;if(i>16){var a=String(e).length;if(i>=String(t).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf("e+")&&(n=+o)}}return n}},71828:function(t,e,r){"use strict";var n=r(39898),i=r(84096).g0,a=r(60721).WU,o=r(92770),s=r(50606),l=s.FP_SAFE,u=-l,c=s.BADNUM,f=t.exports={};f.adjustFormat=function(t){return!t||/^\d[.]\df/.test(t)||/[.]\d%/.test(t)?t:"0.f"===t?"~f":/^\d%/.test(t)?"~%":/^\ds/.test(t)?"~s":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?"~"+t:t};var h={};f.warnBadFormat=function(t){var e=String(t);h[e]||(h[e]=1,f.warn('encountered bad format: "'+e+'"'))},f.noFormat=function(t){return String(t)},f.numberFormat=function(t){var e;try{e=a(f.adjustFormat(t))}catch(e){return f.warnBadFormat(t),f.noFormat}return e},f.nestedProperty=r(65487),f.keyedContainer=r(66636),f.relativeAttr=r(6962),f.isPlainObject=r(41965),f.toLogRange=r(58163),f.relinkPrivateKeys=r(51332);var p=r(73627);f.isTypedArray=p.isTypedArray,f.isArrayOrTypedArray=p.isArrayOrTypedArray,f.isArray1D=p.isArray1D,f.ensureArray=p.ensureArray,f.concat=p.concat,f.maxRowLength=p.maxRowLength,f.minRowLength=p.minRowLength;var d=r(64872);f.mod=d.mod,f.modHalf=d.modHalf;var v=r(96554);f.valObjectMeta=v.valObjectMeta,f.coerce=v.coerce,f.coerce2=v.coerce2,f.coerceFont=v.coerceFont,f.coercePattern=v.coercePattern,f.coerceHoverinfo=v.coerceHoverinfo,f.coerceSelectionMarkerOpacity=v.coerceSelectionMarkerOpacity,f.validate=v.validate;var g=r(41631);f.dateTime2ms=g.dateTime2ms,f.isDateTime=g.isDateTime,f.ms2DateTime=g.ms2DateTime,f.ms2DateTimeLocal=g.ms2DateTimeLocal,f.cleanDate=g.cleanDate,f.isJSDate=g.isJSDate,f.formatDate=g.formatDate,f.incrementMonth=g.incrementMonth,f.dateTick0=g.dateTick0,f.dfltRange=g.dfltRange,f.findExactDates=g.findExactDates,f.MIN_MS=g.MIN_MS,f.MAX_MS=g.MAX_MS;var y=r(65888);f.findBin=y.findBin,f.sorterAsc=y.sorterAsc,f.sorterDes=y.sorterDes,f.distinctVals=y.distinctVals,f.roundUp=y.roundUp,f.sort=y.sort,f.findIndexOfMin=y.findIndexOfMin,f.sortObjectKeys=r(78607);var m=r(80038);f.aggNums=m.aggNums,f.len=m.len,f.mean=m.mean,f.median=m.median,f.midRange=m.midRange,f.variance=m.variance,f.stdev=m.stdev,f.interp=m.interp;var x=r(35657);f.init2dArray=x.init2dArray,f.transposeRagged=x.transposeRagged,f.dot=x.dot,f.translationMatrix=x.translationMatrix,f.rotationMatrix=x.rotationMatrix,f.rotationXYMatrix=x.rotationXYMatrix,f.apply3DTransform=x.apply3DTransform,f.apply2DTransform=x.apply2DTransform,f.apply2DTransform2=x.apply2DTransform2,f.convertCssMatrix=x.convertCssMatrix,f.inverseTransformMatrix=x.inverseTransformMatrix;var b=r(26348);f.deg2rad=b.deg2rad,f.rad2deg=b.rad2deg,f.angleDelta=b.angleDelta,f.angleDist=b.angleDist,f.isFullCircle=b.isFullCircle,f.isAngleInsideSector=b.isAngleInsideSector,f.isPtInsideSector=b.isPtInsideSector,f.pathArc=b.pathArc,f.pathSector=b.pathSector,f.pathAnnulus=b.pathAnnulus;var _=r(99863);f.isLeftAnchor=_.isLeftAnchor,f.isCenterAnchor=_.isCenterAnchor,f.isRightAnchor=_.isRightAnchor,f.isTopAnchor=_.isTopAnchor,f.isMiddleAnchor=_.isMiddleAnchor,f.isBottomAnchor=_.isBottomAnchor;var w=r(87642);f.segmentsIntersect=w.segmentsIntersect,f.segmentDistance=w.segmentDistance,f.getTextLocation=w.getTextLocation,f.clearLocationCache=w.clearLocationCache,f.getVisibleSegment=w.getVisibleSegment,f.findPointOnPath=w.findPointOnPath;var T=r(1426);f.extendFlat=T.extendFlat,f.extendDeep=T.extendDeep,f.extendDeepAll=T.extendDeepAll,f.extendDeepNoArrays=T.extendDeepNoArrays;var k=r(47769);f.log=k.log,f.warn=k.warn,f.error=k.error;var A=r(30587);f.counterRegex=A.counter;var M=r(79990);f.throttle=M.throttle,f.throttleDone=M.done,f.clearThrottle=M.clear;var S=r(24401);function E(t){var e={};for(var r in t)for(var n=t[r],i=0;il||t=e)&&o(t)&&t>=0&&t%1==0},f.noop=r(64213),f.identity=r(23389),f.repeat=function(t,e){for(var r=new Array(e),n=0;nr?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},f.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},f.simpleMap=function(t,e,r,n,i){for(var a=t.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(f.warn("randstr failed uniqueness"),l):t(e,r,n,(i||0)+1):l},f.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},f.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=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},f.syncOrAsync=function(t,e,r){var n;function i(){return f.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i);return r&&r(e)},f.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},f.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n0?e:0}))},f.fillArray=function(t,e,r,n){if(n=n||f.identity,f.isArrayOrTypedArray(t))for(var i=0;i1?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},f.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var z=/^\w*$/;f.templateString=function(t,e){var r={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,n){var i;return z.test(n)?i=e[n]:(r[n]=r[n]||f.nestedProperty(e,n).get,i=r[n]()),f.isValidTextValue(i)?i:""}))};var R={max:10,count:0,name:"hovertemplate"};f.hovertemplateString=function(){return V.apply(R,arguments)};var F={max:10,count:0,name:"texttemplate"};f.texttemplateString=function(){return V.apply(F,arguments)};var B=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/;function N(t){var e=t.match(B);return e?{key:e[1],op:e[2],number:Number(e[3])}:{key:t,op:null,number:null}}var j={max:10,count:0,name:"texttemplate",parseMultDiv:!0};f.texttemplateStringForShapes=function(){return V.apply(j,arguments)};var U=/^[:|\|]/;function V(t,e,r){var n=this,a=arguments;e||(e={});var o={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,s,l){var u="_xother"===s||"_yother"===s,c="_xother_"===s||"_yother_"===s,h="xother_"===s||"yother_"===s,p="xother"===s||"yother"===s||u||h||c,d=s;(u||c)&&(d=d.substring(1)),(h||c)&&(d=d.substring(0,d.length-1));var v,g,y,m=null,x=null;if(n.parseMultDiv){var b=N(d);d=b.key,m=b.op,x=b.number}if(p){if(void 0===(v=e[d]))return""}else for(y=3;y=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 H=2e9;f.seedPseudoRandom=function(){H=2e9},f.pseudoRandom=function(){var t=H;return H=(69069*H+1)%4294967296,Math.abs(H-t)<429496729?f.pseudoRandom():H/4294967296},f.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=f.extractOption(t,e,"htx","hovertext");if(f.isValidTextValue(i))return n(i);var a=f.extractOption(t,e,"tx","text");return f.isValidTextValue(a)?n(a):void 0},f.isValidTextValue=function(t){return t||0===t},f.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+"%",n=0;n1&&(u=1):u=0,f.strTranslate(i-u*(r+o),a-u*(n+s))+f.strScale(u)+(l?"rotate("+l+(e?"":" "+r+" "+n)+")":"")},f.setTransormAndDisplay=function(t,e){t.attr("transform",f.getTextTransform(e)),t.style("display",e.scale?null:"none")},f.ensureUniformFontSize=function(t,e){var r=f.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r},f.join2=function(t,e,r){var n=t.length;return n>1?t.slice(0,-1).join(e)+r+t[n-1]:t.join(e)},f.bigFont=function(t){return Math.round(1.2*t)};var q=f.getFirefoxVersion(),G=null!==q&&q<86;f.getPositionFromD3Event=function(){return G?[n.event.layerX,n.event.layerY]:[n.event.offsetX,n.event.offsetY]}},41965:function(t){"use strict";t.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t).hasOwnProperty("hasOwnProperty")}},66636:function(t,e,r){"use strict";var n=r(65487),i=/^\w*$/;t.exports=function(t,e,r,a){var o,s,l;r=r||"name",a=a||"value";var u={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var c={};if(s)for(o=0;o2)return u[e]=2|u[e],h.set(t,null);if(f){for(o=e;o1){var e=["LOG:"];for(t=0;t1){var r=[];for(t=0;t"),"long")}},a.warn=function(){var t;if(n.logging>0){var e=["WARN:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}},a.error=function(){var t;if(n.logging>0){var e=["ERROR:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}}},77310:function(t,e,r){"use strict";var n=r(39898);t.exports=function(t,e,r){var i=t.selectAll("g."+r.replace(/\s/g,".")).data(e,(function(t){return t[0].trace.uid}));i.exit().remove(),i.enter().append("g").attr("class",r),i.order();var a=t.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each((function(t){t[0][a]=n.select(this)})),i}},35657:function(t,e,r){"use strict";var n=r(79576);e.init2dArray=function(t,e){for(var r=new Array(t),n=0;ne/2?t-Math.round(t/e)*e:t}}},65487:function(t,e,r){"use strict";var n=r(92770),i=r(73627).isArrayOrTypedArray;function a(t,e){return function(){var r,n,o,s,l,u=t;for(s=0;s/g),l=0;la||u===i||us||e&&l(t))}:function(t,e){var l=t[0],u=t[1];if(l===i||la||u===i||us)return!1;var c,f,h,p,d,v=r.length,g=r[0][0],y=r[0][1],m=0;for(c=1;cMath.max(f,g)||u>Math.max(h,y)))if(uc||Math.abs(n(o,h))>i)return!0;return!1},a.filter=function(t,e){var r=[t[0]],n=0,i=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(i+1);for(var u=l+1;u1&&o(t.pop()),{addPt:o,raw:t,filtered:r}}},79749:function(t,e,r){"use strict";var n=r(58617),i=r(98580);t.exports=function(t,e,a){var o=t._fullLayout,s=!0;return o._glcanvas.each((function(n){if(n.regl)n.regl.preloadCachedCode(a);else if(!n.pick||o._has("parcoords")){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.g.devicePixelRatio,extensions:e||[],cachedCode:a||{}})}catch(t){s=!1}n.regl||(s=!1),s&&this.addEventListener("webglcontextlost",(function(e){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:e,layer:n.key})}),!1)}})),s||n({container:o._glcontainer.node()}),s}},45142:function(t,e,r){"use strict";var n=r(92770),i=r(35791);t.exports=function(t){var e;if("string"!=typeof(e=t&&t.hasOwnProperty("userAgent")?t.userAgent:function(){var t;return"undefined"!=typeof navigator&&(t=navigator.userAgent),t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),t}()))return!0;var r=i({ua:{headers:{"user-agent":e}},tablet:!0,featureDetect:!1});if(!r)for(var a=e.split(" "),o=1;o-1;s--){var l=a[s];if("Version/"===l.substr(0,8)){var u=l.substr(8).split(".")[0];if(n(u)&&(u=+u),u>=13)return!0}}return r}},75138:function(t){"use strict";t.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;ni.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(!(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=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function f(t,e){return t>=e}e.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-s)-1:Math.floor((t-e.start)/e.size+s);var a,o,h=0,p=e.length,d=0,v=p>1?(e[p-1]-e[0])/(p-1):1;for(o=v>=0?r?l:u:r?f:c,t+=v*s*(r?-1:1)*(v>=0?1:-1);h90&&i.log("Long binary search..."),h-1},e.sorterAsc=function(t,e){return t-e},e.sorterDes=function(t,e){return e-t},e.distinctVals=function(t){var r,n=t.slice();for(n.sort(e.sorterAsc),r=n.length-1;r>-1&&n[r]===o;r--);for(var i,a=n[r]-n[0]||1,s=a/(r||1)/1e4,l=[],u=0;u<=r;u++){var c=n[u],f=c-i;void 0===i?(l.push(c),i=c):f>s&&(a=Math.min(a,f),l.push(c),i=c)}return{vals:l,minDiff:a}},e.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;i0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},e.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;ia.length)&&(o=a.length),n(r)||(r=!1),i(a[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},78614:function(t,e,r){"use strict";var n=r(25075);t.exports=function(t){return t?n(t):[0,0,0,1]}},3883:function(t,e,r){"use strict";var n=r(32396),i=r(91424),a=r(71828),o=null;t.exports=function(){if(null!==o)return o;o=!1;var t=a.isIE()||a.isSafari()||a.isIOS();if(window.navigator.userAgent&&!t){var e=Array.from(n.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if("function"==typeof r)o=e.some((function(t){return r.apply(null,t)}));else{var s=i.tester.append("image").attr("style",n.STYLE),l=window.getComputedStyle(s.node()).imageRendering;o=e.some((function(t){var e=t[1];return l===e||l===e.toLowerCase()})),s.remove()}}return o}},63893:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=i.strTranslate,o=r(77922),s=r(18783).LINE_SPACING,l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;e.convertToTspans=function(t,r,g){var S=t.text(),E=!t.attr("data-notex")&&r&&r._context.typesetMath&&"undefined"!=typeof MathJax&&S.match(l),P=n.select(t.node().parentNode);if(!P.empty()){var O=t.attr("class")?t.attr("class").split(" ")[0]:"text";return O+="-math",P.selectAll("svg."+O).remove(),P.selectAll("g."+O+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),E?(r&&r._promises||[]).push(new Promise((function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),o={fontSize:r};!function(t,e,r){var a,o,s,l,h=parseInt((MathJax.version||"").split(".")[0]);if(2===h||3===h){var p=function(){var r="math-output-"+i.randstr({},64),a=(l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute","font-size":e.fontSize+"px"}).text(t.replace(u,"\\lt ").replace(c,"\\gt "))).node();return 2===h?MathJax.Hub.Typeset(a):MathJax.typeset([a])},d=function(){var e=l.select(2===h?".MathJax_SVG":".MathJax"),a=!e.empty()&&l.select("svg").node();if(a){var o,s=a.getBoundingClientRect();o=2===h?n.select("body").select("#MathJax_SVG_glyphs"):e.select("defs"),r(e,o,s)}else i.log("There was an error in the tex syntax.",t),r();l.remove()};2===h?MathJax.Hub.Queue((function(){return o=i.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:f},displayAlign:"left"})}),(function(){if("SVG"!==(a=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")}),p,d,(function(){if("SVG"!==a)return MathJax.Hub.setRenderer(a)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})):3===h&&(o=i.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=f,"svg"!==(a=MathJax.config.startup.output)&&(MathJax.config.startup.output="svg"),MathJax.startup.defaultReady(),MathJax.startup.promise.then((function(){p(),d(),"svg"!==a&&(MathJax.config.startup.output=a),MathJax.config=o})))}else i.warn("No MathJax version:",MathJax.version)}(E[2],o,(function(n,i,o){P.selectAll("svg."+O).remove(),P.selectAll("g."+O+"-group").remove();var s=n&&n.select("svg");if(!s||!s.node())return I(),void e();var l=P.append("g").classed(O+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});l.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild);var u=o.width,c=o.height;s.attr({class:O,height:c,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var f=t.node().style.fill||"black",h=s.select("g");h.attr({fill:f,stroke:f});var p=h.node().getBoundingClientRect(),d=p.width,v=p.height;(d>u||v>c)&&(s.style("overflow","hidden"),d=(p=s.node().getBoundingClientRect()).width,v=p.height);var y=+t.attr("x"),m=+t.attr("y"),x=-(r||t.node().getBoundingClientRect().height)/4;if("y"===O[0])l.attr({transform:"rotate("+[-90,y,m]+")"+a(-d/2,x-v/2)});else if("l"===O[0])m=x-v/2;else if("a"===O[0]&&0!==O.indexOf("atitle"))y=0,m=x;else{var b=t.attr("text-anchor");y-=d*("middle"===b?.5:"end"===b?1:0),m=m+x-v/2}s.attr({x:y,y:m}),g&&g.call(t,l),e(l)}))}))):I(),t}function I(){P.empty()||(O=t.attr("class")+"-math",P.select("svg."+O).remove()),t.text("").style("white-space","pre");var r=function(t,e){e=e.replace(y," ");var r,a=!1,l=[],u=-1;function c(){u++;var e=document.createElementNS(o.svg,"tspan");n.select(e).attr({class:"line",dy:u*s+"em"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var a=1;a doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else i.log("Ignoring unexpected end tag .",e)}b.test(e)?c():(r=t,l=[{node:t}]);for(var E=e.split(m),P=0;P|>|>)/g,f=[["$","$"],["\\(","\\)"]],h={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"},p={sub:"0.3em",sup:"-0.6em"},d={sub:"-0.21em",sup:"0.42em"},v="​",g=["http:","https:","mailto:","",void 0,":"],y=e.NEWLINES=/(\r\n?|\n)/g,m=/(<[^<>]*>)/,x=/<(\/?)([^ >]*)(\s+(.*))?>/i,b=//i;e.BR_TAG_ALL=//gi;var _=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,w=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,T=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,k=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function A(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&L(n)}var M=/(^|;)\s*color:/;e.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:["br"],i="...".length,a=t.split(m),o=[],s="",l=0,u=0;ui?o.push(c.substr(0,d-i)+"..."):o.push(c.substr(0,d));break}s=""}}return o.join("")};var S={mu:"μ",amp:"&",lt:"<",gt:">",nbsp:" ",times:"×",plusmn:"±",deg:"°"},E=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function L(t){return t.replace(E,(function(t,e){return("#"===e.charAt(0)?function(t){if(!(t>1114111)){var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):S[e])||t}))}function C(t){var e=encodeURI(decodeURI(t)),r=document.createElement("a"),n=document.createElement("a");r.href=t,n.href=e;var i=r.protocol,a=n.protocol;return-1!==g.indexOf(i)&&-1!==g.indexOf(a)?e:""}function P(t,e,r){var n,a,o,s=r.horizontalAlign,l=r.verticalAlign||"top",u=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return a="bottom"===l?function(){return u.bottom-n.height}:"middle"===l?function(){return u.top+(u.height-n.height)/2}:function(){return u.top},o="right"===s?function(){return u.right-n.width}:"center"===s?function(){return u.left+(u.width-n.width)/2}:function(){return u.left},function(){n=this.node().getBoundingClientRect();var t=o()-c.left,e=a()-c.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=i.apply3DTransform(s._fullLayout._invTransform)(t,e);t=l[0],e=l[1]}return this.style({top:e+"px",left:t+"px","z-index":1e3}),this}}e.convertEntities=L,e.sanitizeHTML=function(t){t=t.replace(y," ");for(var e=document.createElement("p"),r=e,i=[],a=t.split(m),o=0;oa.ts+e?l():a.timer=setTimeout((function(){l(),a.timer=null}),e)},e.done=function(t){var e=r[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},e.clear=function(t){if(t)n(r[t]),delete r[t];else for(var i in r)e.clear(i)}},58163:function(t,e,r){"use strict";var n=r(92770);t.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},90973:function(t,e,r){"use strict";var n=t.exports={},i=r(78776).locationmodeToLayer,a=r(96892).zL;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},37815:function(t){"use strict";t.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},92177:function(t){"use strict";t.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{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"],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"}}},14458:function(t,e,r){"use strict";var n=r(73972);t.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},e.cleanLayout=function(t){var r,n;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 a=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,f=(s.subplotsRegistry.ternary||{}).attrRegex,h=(s.subplotsRegistry.gl3d||{}).attrRegex,v=Object.keys(t);for(r=0;r3?(I.x=1.02,I.xanchor="left"):I.x<-2&&(I.x=-.02,I.xanchor="right"),I.y>3?(I.y=1.02,I.yanchor="bottom"):I.y<-2&&(I.y=-.02,I.yanchor="top")),d(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),u.clean(t),t.template&&t.template.layout&&e.cleanLayout(t.template.layout),t},e.cleanData=function(t){for(var r=0;r0)return t.substr(0,e)}e.hasParent=function(t,e){for(var r=b(e);r;){if(r in t)return!0;r=b(r)}return!1};var _=["x","y","z"];e.clearAxisTypes=function(t,e,r){for(var n=0;n1&&a.warn("Full array edits are incompatible with other edits",f);var m=r[""][""];if(u(m))e.set(null);else{if(!Array.isArray(m))return a.warn("Unrecognized full array edit value",f,m),!0;e.set(m)}return!v&&(h(g,y),p(t),!0)}var x,b,_,w,T,k,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),L=E||[],C=c(y,f).get(),P=[],O=-1,I=L.length;for(x=0;xL.length-(A?0:1))a.warn("index out of range",f,_);else if(void 0!==k)T.length>1&&a.warn("Insertion & removal are incompatible with edits to the same index.",f,_),u(k)?P.push(_):A?("add"===k&&(k={}),L.splice(_,0,k),C&&C.splice(_,0,{})):a.warn("Unrecognized full object edit value",f,_,k),-1===O&&(O=_);else for(b=0;b=0;x--)L.splice(P[x],1),C&&C.splice(P[x],1);if(L.length?E||e.set(L):e.set(null),v)return!1;if(h(g,y),d!==i){var D;if(-1===O)D=S;else{for(I=Math.max(L.length,I),D=[],x=0;x=O);x++)D.push(_);for(x=O;x=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 O(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]),P(t,e,"currentIndices"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&P(t,r,"newIndices"),void 0!==r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function I(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.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 P(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,r,n);for(var l=function(t,e,r,n){var a,l,u,c,f,h=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=C(r,t.data.length-1),e)for(var v=0;v-1&&-1===r.indexOf("grouptitlefont")?l(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?l(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?l(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&l(r,r.replace("titleoffset","title.offset")):l(r,r.replace("title","title.text"));function l(e,r){t[r]=t[e],delete t[e]}}function U(t,e,r){t=o.getGraphDiv(t),_.clearPromiseQueue(t);var n={};if("string"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn("Relayout fail.",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var i=Y(t,n),a=i.flags;a.calc&&(t.calcdata=void 0);var s=[h.previousPromises];a.layoutReplot?s.push(w.layoutReplot):Object.keys(n).length&&(V(t,a,i)||h.supplyDefaults(t),a.legend&&s.push(w.doLegend),a.layoutstyle&&s.push(w.layoutStyles),a.axrange&&H(s,i.rangesAltered),a.ticks&&s.push(w.doTicksRelayout),a.modebar&&s.push(w.doModeBar),a.camera&&s.push(w.doCamera),a.colorbars&&s.push(w.doColorBars),s.push(M)),s.push(h.rehover,h.redrag,h.reselect),u.add(t,U,[t,i.undoit],U,[t,i.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit("plotly_relayout",i.eventData),t}))}function V(t,e,r){var n=t._fullLayout;if(!e.axrange)return!1;for(var i in e)if("axrange"!==i&&e[i])return!1;for(var a in r.rangesAltered){var o=p.id2name(a),s=t.layout[o],l=n[o];l.autorange=s.autorange;var u=l._rangeInitial0,c=l._rangeInitial1;if(void 0===u&&void 0!==c||void 0!==u&&void 0===c)return!1;if(s.range&&(l.range=s.range.slice()),l.cleanRange(),l._matchGroup)for(var f in l._matchGroup)if(f!==a){var h=n[p.id2name(f)];h.autorange=l.autorange,h.range=l.range.slice(),h._input.range=l.range.slice()}}return!0}function H(t,e){var r=e?function(t){var r=[];for(var n in e){var i=p.getFromId(t,n);if(r.push(n),-1!==(i.ticklabelposition||"").indexOf("inside")&&i._anchorAxis&&r.push(i._anchorAxis._id),i._matchGroup)for(var a in i._matchGroup)e[a]||r.push(a)}return p.draw(t,r,{skipTitle:!0})}:function(t){return p.draw(t,"redraw")};t.push(m,w.doAutoRangeAndConstraints,r,w.drawData,w.finalDraw)}var q=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,G=/^[xyz]axis[0-9]*\.autorange$/,Z=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function Y(t,e){var r,n,i,a=t.layout,l=t._fullLayout,u=l._guiEditing,h=F(l._preGUI,u),d=Object.keys(e),v=p.list(t),g=o.extendDeepAll({},e),y={};for(j(e),d=Object.keys(e),n=0;n0&&"string"!=typeof I.parts[z];)z--;var B=I.parts[z],N=I.parts[z-1]+"."+B,U=I.parts.slice(0,z).join("."),V=s(t.layout,U).get(),H=s(l,U).get(),Y=I.get();if(void 0!==D){M[O]=D,S[O]="reverse"===B?D:R(Y);var X=f.getLayoutValObject(l,I.parts);if(X&&X.impliedEdits&&null!==D)for(var J in X.impliedEdits)E(o.relativeAttr(O,J),X.impliedEdits[J]);if(-1!==["width","height"].indexOf(O))if(D){E("autosize",null);var K="height"===O?"width":"height";E(K,l[K])}else l[O]=t._initialAutoSize[O];else if("autosize"===O)E("width",D?null:l.width),E("height",D?null:l.height);else if(N.match(q))P(N),s(l,U+"._inputRange").set(null);else if(N.match(G)){P(N),s(l,U+"._inputRange").set(null);var $=s(l,U).get();$._inputDomain&&($._input.domain=$._inputDomain.slice())}else N.match(Z)&&s(l,U+"._inputDomain").set(null);if("type"===B){L=V;var Q="linear"===H.type&&"log"===D,tt="log"===H.type&&"linear"===D;if(Q||tt){if(L&&L.range)if(H.autorange)Q&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var et=L.range[0],rt=L.range[1];Q?(et<=0&&rt<=0&&E(U+".autorange",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),E(U+".range[0]",Math.log(et)/Math.LN10),E(U+".range[1]",Math.log(rt)/Math.LN10)):(E(U+".range[0]",Math.pow(10,et)),E(U+".range[1]",Math.pow(10,rt)))}else E(U+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[I.parts[0]]&&"radialaxis"===I.parts[1]&&delete l[I.parts[0]]._subplot.viewInitial["radialaxis.range"],c.getComponentMethod("annotations","convertCoords")(t,H,D,E),c.getComponentMethod("images","convertCoords")(t,H,D,E)}else E(U+".autorange",!0),E(U+".range",null);s(l,U+"._inputRange").set(null)}else if(B.match(k)){var nt=s(l,O).get(),it=(D||{}).type;it&&"-"!==it||(it="linear"),c.getComponentMethod("annotations","convertCoords")(t,nt,it,E),c.getComponentMethod("images","convertCoords")(t,nt,it,E)}var at=b.containerArrayMatch(O);if(at){r=at.array,n=at.index;var ot=at.property,st=X||{editType:"calc"};""!==n&&""===ot&&(b.isAddVal(D)?S[O]=null:b.isRemoveVal(D)?S[O]=(s(a,r).get()||[])[n]:o.warn("unrecognized full object value",e)),T.update(A,st),y[r]||(y[r]={});var lt=y[r][n];lt||(lt=y[r][n]={}),lt[ot]=D,delete e[O]}else"reverse"===B?(V.range?V.range.reverse():(E(U+".autorange",!0),V.range=[1,0]),H.autorange?A.calc=!0:A.plot=!0):("dragmode"===O&&(!1===D&&!1!==Y||!1!==D&&!1===Y)||l._has("scatter-like")&&l._has("regl")&&"dragmode"===O&&("lasso"===D||"select"===D)&&"lasso"!==Y&&"select"!==Y||l._has("gl2d")?A.plot=!0:X?T.update(A,X):A.calc=!0,I.set(D))}}for(r in y)b.applyContainerArrayChanges(t,h(a,r),y[r],A,h)||(A.plot=!0);for(var ut in C){var ct=(L=p.getFromId(t,ut))&&L._constraintGroup;if(ct)for(var ft in A.calc=!0,ct)C[ft]||(p.getFromId(t,ft)._constraintShrinkable=!0)}(W(t)||e.height||e.width)&&(A.plot=!0);var ht=l.shapes;for(n=0;n1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function et(t,e){for(var r=0;r=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function u(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,c){function f(){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&&function(){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,h.transition(t,e.frame.data,e.frame.layout,_.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}()};e()}var p,d,v=0;function g(t){return Array.isArray(i)?v>=i.length?t.transitionOpts=i[v]:t.transitionOpts=i[0]:t.transitionOpts=i,v++,t}var y=[],m=null==e,x=Array.isArray(e);if(m||x||!o.isPlainObject(e)){if(m||-1!==["string","number"].indexOf(typeof e))for(p=0;p0&&TT)&&k.push(d);y=k}}y.length>0?function(e){if(0!==e.length){for(var i=0;i=0;n--)if(o.isPlainObject(e[n])){var v=e[n].name,g=(c[v]||d[v]||{}).name,y=e[n].name,m=c[g]||d[g];g&&y&&"number"==typeof y&&m&&A<5&&(A++,o.warn('addFrames: overwriting frame "'+(c[g]||d[g]).name+'" with a frame whose name of type "number" also equates to "'+g+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===A&&o.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.")),d[v]={name:v},p.push({frame:h.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}p.sort((function(t,e){return t.index>e.index?-1:t.index=0;n--){if("number"==typeof(i=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;c[i.name="frame "+t._transitionData._counter++];);if(c[i.name]){for(a=0;a=0;r--)n=e[r],a.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:i[n]});var l=h.modifyFrames,c=h.modifyFrames,f=[t,s],p=[t,a];return u&&u.add(t,l,f,c,p),h.modifyFrames(t,a)},e.addTraces=function t(r,n,i){r=o.getGraphDiv(r);var a,s,l=[],c=e.deleteTraces,f=t,h=[r,l],p=[r,n];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=0&&r=0&&r=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!_(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function _(t){return t===Math.round(t)&&t>=0}function w(){var t,e,r={};for(t in f(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i=l.length)return!1;i=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[e[2]],s=3}else{var c=t._module;if(c||(c=(n.modules[t.type||a.type.dflt]||{})._module),!c)return!1;if(!(i=(r=c.attributes)&&r[o])){var f=c.basePlotModule;f&&f.attributes&&(i=f.attributes[o])}i||(i=a[o])}return b(i,e,s)},e.getLayoutValObject=function(t,e){var r=function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var u;for(r=0;r=i&&(r._input||{})._templateitemname;o&&(a=i);var s,l=e+"["+a+"]";function u(){s={},o&&(s[l]={},s[l].templateitemname=o)}function c(t,e){o?n.nestedProperty(s[l],t).set(e):s[l+"."+t]=e}function f(){var t=s;return u(),t}return u(),{modifyBase:function(t,e){s[t]=e},modifyItem:c,getUpdateObj:f,applyUpdate:function(e,r){e&&c(e,r);var i=f();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},61549:function(t,e,r){"use strict";var n=r(39898),i=r(73972),a=r(74875),o=r(71828),s=r(63893),l=r(33306),u=r(7901),c=r(91424),f=r(92998),h=r(64168),p=r(89298),d=r(18783),v=r(99082),g=v.enforce,y=v.clean,m=r(71739).doAutoRange,x="start";function b(t,e,r){for(var n=0;n=t[1]||i[1]<=t[0])&&a[0]e[0])return!0}return!1}function _(t){var r,i,s,l,f,v,g=t._fullLayout,y=g._size,m=y.p,x=p.list(t,"",!0);if(g._paperdiv.style({width:t._context.responsive&&g.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":g.width+"px",height:t._context.responsive&&g.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":g.height+"px"}).selectAll(".main-svg").call(c.setSize,g.width,g.height),t._context.setBackground(t,g.paper_bgcolor),e.drawMainTitle(t),h.manage(t),!g._has("cartesian"))return a.previousPromises(t);function _(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-m-n:e._offset+e._length+m+n:y.t+y.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+m+n:e._offset-m-n:y.l+y.w*(t.position||0)+n%1}for(r=0;r.5?"t":"b",o=t._fullLayout.margin[a],s=0;return"paper"===e.yref?s=r+e.pad.t+e.pad.b:"container"===e.yref&&(s=function(t,e,r,n,i){var a=0;return"middle"===r&&(a+=i/2),"t"===t?("top"===r&&(a+=i),a+=n-e*n):("bottom"===r&&(a+=i),a+=e*n),a}(a,n,i,t._fullLayout.height,r)+e.pad.t+e.pad.b),s>o?s:0}(t,r,g);y>0&&(function(t,e,r,n){var i="title.automargin",s=t._fullLayout.title,l=s.y>.5?"t":"b",u={x:s.x,y:s.y,t:0,b:0},c={};"paper"===s.yref&&function(t,e,r,n,i){var a="paper"===e.yref?t._fullLayout._size.h:t._fullLayout.height,s=o.isTopAnchor(e)?n:n-i,l="b"===r?a-s:s;return!(o.isTopAnchor(e)&&"t"===r||o.isBottomAnchor(e)&&"b"===r)&&lT?c.push({code:"unused",traceType:m,templateCount:w,dataCount:T}):T>w&&c.push({code:"reused",traceType:m,templateCount:w,dataCount:T})}}else c.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var a=e[n],o=v(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&c.push({code:"missing",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&g(a)&&t(a,o)}}({data:p,layout:h},""),c.length)return c.map(y)}},403:function(t,e,r){"use strict";var n=r(92770),i=r(72391),a=r(74875),o=r(71828),s=r(25095),l=r(5900),u=r(70942),c=r(11506).version,f={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],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}};t.exports=function(t,e){var r,h,p,d;function v(t){return!(t in e)||o.validate(e[t],f[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],h=t.layout||{},p=t.config||{},d={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),h=o.extendDeep({},t.layout),p=t._context,d=t._fullLayout||{}),!v("width")&&null!==e.width||!v("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!v("format"))throw new Error("Export format is not "+o.join2(f.format.values,", "," or ")+".");var g={};function y(t,r){return o.coerce(e,g,f,t,r)}var m=y("format"),x=y("width"),b=y("height"),_=y("scale"),w=y("setBackground"),T=y("imageDataOnly"),k=document.createElement("div");k.style.position="absolute",k.style.left="-5000px",document.body.appendChild(k);var A=o.extendFlat({},h);x?A.width=x:null===e.width&&n(d.width)&&(A.width=d.width),b?A.height=b:null===e.height&&n(d.height)&&(A.height=d.height);var M=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(k);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(k._fullLayout))}))}function L(){return new Promise((function(t,e){var r=l(k,m,_),n=k._fullLayout.width,f=k._fullLayout.height;function h(){i.purge(k),document.body.removeChild(k)}if("full-json"===m){var p=a.graphJson(k,!1,"keepdata","object",!0,!0);return p.version=c,p=JSON.stringify(p),h(),t(T?p:s.encodeJSON(p))}if(h(),"svg"===m)return t(T?r:s.encodeSVG(r));var d=document.createElement("canvas");d.id=o.randstr(),u({format:m,width:n,height:f,scale:_,canvas:d,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){i.newPlot(k,r,A,M).then(S).then(E).then(L).then((function(e){t(function(t){return T?t.replace(s.IMAGE_URL_PREFIX,""):t}(e))})).catch((function(t){e(t)}))}))}},84936:function(t,e,r){"use strict";var n=r(71828),i=r(74875),a=r(86281),o=r(72075).dfltConfig,s=n.isPlainObject,l=Array.isArray,u=n.isArrayOrTypedArray;function c(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;hx.length&&i.push(d("unused",a,y.concat(x.length)));var A,M,S,E,L,C=x.length,P=Array.isArray(k);if(P&&(C=Math.min(C,k.length)),2===b.dimensions)for(M=0;Mx[M].length&&i.push(d("unused",a,y.concat(M,x[M].length)));var O=x[M].length;for(A=0;A<(P?Math.min(O,k[M].length):O);A++)S=P?k[M][A]:k,E=m[M][A],L=x[M][A],n.validate(E,S)?L!==E&&L!==+E&&i.push(d("dynamic",a,y.concat(M,A),E,L)):i.push(d("value",a,y.concat(M,A),E))}else i.push(d("array",a,y.concat(M),m[M]));else for(M=0;M1&&p.push(d("object","layout"))),i.supplyDefaults(v);for(var g=v._fullData,y=r.length,m=0;m0&&Math.round(f)===f))return{vals:i};u=f}for(var h=e.calendar,p="start"===l,d="end"===l,v=t[r+"period0"],g=a(v,h)||0,y=[],m=[],x=[],b=i.length,_=0;_A;)k=o(k,-u,h);for(;k<=A;)k=o(k,u,h);T=o(k,-u,h)}else{for(k=g+(w=Math.round((A-g)/c))*c;k>A;)k-=c;for(;k<=A;)k+=c;T=k-c}y[_]=p?T:d?k:(T+k)/2,m[_]=T,x[_]=k}return{vals:y,starts:m,ends:x}}},89502:function(t){"use strict";t.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},71739:function(t,e,r){"use strict";var n=r(39898),i=r(92770),a=r(71828),o=r(50606).FP_SAFE,s=r(73972),l=r(91424),u=r(41675),c=u.getFromId,f=u.isLinked;function h(t,e){var r,n,i=[],o=t._fullLayout,s=d(o,e,0),l=d(o,e,1),u=v(t,e),c=u.min,f=u.max;if(0===c.length||0===f.length)return a.simpleMap(e.range,e.r2l);var h=c[0].val,g=f[0].val;for(r=1;r0&&((A=C-s(b)-l(_))>P?M/A>O&&(w=b,k=_,O=M/A):M/C>O&&(w={val:b.val,nopad:1},k={val:_.val,nopad:1},O=M/C));if(h===g){var I=h-1,D=h+1;if(E)if(0===h)i=[0,1];else{var z=(h>0?f:c).reduce((function(t,e){return Math.max(t,l(e))}),0),R=h/(1-Math.min(.5,z/C));i=h>0?[0,R]:[R,0]}else i=L?[Math.max(0,I),Math.max(1,D)]:[I,D]}else E?(w.val>=0&&(w={val:0,nopad:1}),k.val<=0&&(k={val:0,nopad:1})):L&&(w.val-O*s(w)<0&&(w={val:0,nopad:1}),k.val<=0&&(k={val:1,nopad:1})),O=(k.val-w.val-p(e,b.val,_.val))/(C-s(w)-l(k)),i=[w.val-O*s(w),k.val+O*l(k)];return i=T(i,e),e.limitRange&&e.limitRange(),m&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function p(t,e,r){var n=0;if(t.rangebreaks)for(var i=t.locateBreaks(e,r),a=0;a=r&&(u.extrapad||!o)){s=!1;break}i(e,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(t.splice(l,1),l--)}if(s){var c=a&&0===e;t.push({val:e,pad:c?0:r,extrapad:!c&&o})}}function x(t){return i(t)&&Math.abs(t)=e}function w(t,e,r){return void 0===e||void 0===r||(e=t.d2l(e))=u&&(o=u,r=u),s<=u&&(s=u,n=u)}}return r=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.minallowed&&w(e,r.minallowed,r.maxallowed)?r.minallowed:r&&void 0!==r.clipmin&&w(e,r.clipmin,r.clipmax)?Math.max(t,e.d2l(r.clipmin)):t}(r,e),n=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.maxallowed&&w(e,r.minallowed,r.maxallowed)?r.maxallowed:r&&void 0!==r.clipmax&&w(e,r.clipmin,r.clipmax)?Math.min(t,e.d2l(r.clipmax)):t}(n,e),[r,n]}t.exports={applyAutorangeOptions:T,getAutoRange:h,makePadFn:d,doAutoRange:function(t,e,r){if(e.setScale(),e.autorange){e.range=r?r.slice():h(t,e),e._r=e.range.slice(),e._rl=a.simpleMap(e._r,e.r2l);var n=e._input,i={};i[e._attr+".range"]=e.range,i[e._attr+".autorange"]=e.autorange,s.call("_storeDirectGUIEdit",t.layout,t._fullLayout._preGUI,i),n.range=e.range.slice(),n.autorange=e.autorange}var o=e._anchorAxis;if(o&&o.rangeslider){var l=o.rangeslider[e._name];l&&"auto"===l.rangemode&&(l.range=h(t,e)),o._input.rangeslider[e._name]=a.extendFlat({},l)}},findExtremes:function(t,e,r){r||(r={}),t._m||t.setScale();var n,a,s,l,u,c,f,h,p,d=[],v=[],m=e.length,b=r.padded||!1,_=r.tozero&&("linear"===t.type||"-"===t.type),w="log"===t.type,T=!1,k=r.vpadLinearized||!1;function A(t){if(Array.isArray(t))return T=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var M=A((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),L=A(r.vpadminus||r.vpad);if(!T){if(h=1/0,p=-1/0,w)for(n=0;n0&&(h=a),a>p&&a-o&&(h=a),a>p&&a=O;n--)P(n);return{min:d,max:v,opts:r}},concatExtremes:v}},23074:function(t){"use strict";t.exports=function(t,e,r){var n,i;if(r){var a="reversed"===e||"min reversed"===e||"max reversed"===e;n=r[a?1:0],i=r[a?0:1]}var o=t("autorangeoptions.minallowed",null===i?n:void 0),s=t("autorangeoptions.maxallowed",null===n?i:void 0);void 0===o&&t("autorangeoptions.clipmin"),void 0===s&&t("autorangeoptions.clipmax"),t("autorangeoptions.include")}},89298:function(t,e,r){"use strict";var n=r(39898),i=r(92770),a=r(74875),o=r(73972),s=r(71828),l=s.strTranslate,u=r(63893),c=r(92998),f=r(7901),h=r(91424),p=r(13838),d=r(66287),v=r(50606),g=v.ONEMAXYEAR,y=v.ONEAVGYEAR,m=v.ONEMINYEAR,x=v.ONEMAXQUARTER,b=v.ONEAVGQUARTER,_=v.ONEMINQUARTER,w=v.ONEMAXMONTH,T=v.ONEAVGMONTH,k=v.ONEMINMONTH,A=v.ONEWEEK,M=v.ONEDAY,S=M/2,E=v.ONEHOUR,L=v.ONEMIN,C=v.ONESEC,P=v.MINUS_SIGN,O=v.BADNUM,I={K:"zeroline"},D={K:"gridline",L:"path"},z={K:"minor-gridline",L:"path"},R={K:"tick",L:"path"},F={K:"tick",L:"text"},B={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},N=r(18783),j=N.MID_SHIFT,U=N.CAP_SHIFT,V=N.LINE_SPACING,H=N.OPPOSITE_SIDE,q=t.exports={};q.setConvert=r(21994);var G=r(4322),Z=r(41675),Y=Z.idSort,W=Z.isLinked;q.id2name=Z.id2name,q.name2id=Z.name2id,q.cleanId=Z.cleanId,q.list=Z.list,q.listIds=Z.listIds,q.getFromId=Z.getFromId,q.getFromTrace=Z.getFromTrace;var X=r(71739);function J(t){var e=1e-4*(t[1]-t[0]);return[t[0]-e,t[1]+e]}q.getAutoRange=X.getAutoRange,q.findExtremes=X.findExtremes,q.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],u=n+"ref",c={};return i||(i=l[0]||("string"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(t){return t+" domain"}))),c[u]={valType:"enumerated",values:l.concat(a?"string"==typeof a?[a]:a:[]),dflt:i},s.coerce(t,e,c,u)},q.getRefType=function(t){return void 0===t?t:"paper"===t?"paper":"pixel"===t?"pixel":/( domain)$/.test(t)?"domain":"range"},q.coercePosition=function(t,e,r,n,i,a){var o,l;if("range"!==q.getRefType(n))o=s.ensureNumber,l=r(i,a);else{var u=q.getFromId(e,n);l=r(i,a=u.fraction2r(a)),o=u.cleanPos}t[i]=o(l)},q.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:q.getFromId(e,r).cleanPos)(t)},q.redrawComponents=function(t,e){e=e||q.listIds(t);var r=t._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),u={},c=0;cr&&f2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},q.saveRangeInitial=function(t,e){for(var r=q.list(t,"",!0),n=!1,i=0;i.3*h||c(n)||c(a))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=q.tickIncrement(t,"M6","reverse")+1.5*M:a.exactMonths>.8?t=q.tickIncrement(t,"M1","reverse")+15.5*M:t-=S;var l=q.tickIncrement(t,r);if(l<=n)return l}return t}(m,t,y,u,a)),g=m;g<=c;)g=q.tickIncrement(g,y,!1,a);return{start:e.c2r(m,0,a),end:e.c2r(g,0,a),size:y,_dataSpan:c-u}},q.prepMinorTicks=function(t,e,r){if(!e.minor.dtick){delete t.dtick;var n,a=e.dtick&&i(e._tmin);if(a){var o=q.tickIncrement(e._tmin,e.dtick,!0);n=[e._tmin,.99*o+.01*e._tmin]}else{var l=s.simpleMap(e.range,e.r2l);n=[l[0],.8*l[0]+.2*l[1]]}if(t.range=s.simpleMap(n,e.l2r),t._isMinor=!0,q.prepTicks(t,r),a){var u=i(e.dtick),c=i(t.dtick),f=u?e.dtick:+e.dtick.substring(1),h=c?t.dtick:+t.dtick.substring(1);u&&c?tt(f,h)?f===2*A&&h===2*M&&(t.dtick=A):f===2*A&&h===3*M?t.dtick=A:f!==A||(e._input.minor||{}).nticks?et(f/h,2.5)?t.dtick=f/2:t.dtick=f:t.dtick=M:"M"===String(e.dtick).charAt(0)?c?t.dtick="M1":tt(f,h)?f>=12&&2===h&&(t.dtick="M3"):t.dtick=e.dtick:"L"===String(t.dtick).charAt(0)?"L"===String(e.dtick).charAt(0)?tt(f,h)||(t.dtick=et(f/h,2.5)?e.dtick/2:e.dtick):t.dtick="D1":"D2"===t.dtick&&+e.dtick>1&&(t.dtick=1)}t.range=e.range}void 0===e.minor._tick0Init&&(t.tick0=e.tick0)},q.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if("auto"===t.tickmode||!t.dtick){var n,a=t.nticks;a||("category"===t.type||"multicategory"===t.type?(n=t.tickfont?s.bigFont(t.tickfont.size||12):15,a=t._length/n):(n="y"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),"radialaxis"===t._name&&(a*=2)),t.minor&&"array"!==t.minor.tickmode||"array"===t.tickmode&&(a*=100),t._roughDTick=Math.abs(r[1]-r[0])/a,q.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}"period"===t.ticklabelmode&&function(t){var e;function r(){return!(i(t.dtick)||"M"!==t.dtick.charAt(0))}var n=r(),a=q.getTickFormat(t);if(a){var o=t._dtickInit!==t.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(e=E,o&&!n&&t.dtick=(I?0:1);D--){var z=!D;D?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var R=D?t:s.extendFlat({},t,t.minor);if(z?q.prepMinorTicks(R,t,e):q.prepTicks(R,e),"array"!==R.tickmode)if("sync"!==R.tickmode){var F=J(c),B=F[0],N=F[1],j=i(R.dtick),U="log"===a&&!(j||"L"===R.dtick.charAt(0)),V=q.tickFirst(R,e);if(D){if(t._tmin=V,V=N:Y<=N;Y=q.tickIncrement(Y,W,f,o)){if(D&&H++,R.rangebreaks&&!f){if(Y=p)break}if(C.length>d||Y===Z)break;Z=Y;var X={value:Y};D?(U&&Y!==(0|Y)&&(X.simpleLabel=!0),l>1&&H%l&&(X.skipLabel=!0),C.push(X)):(X.minor=!0,P.push(X))}}else C=[],v=it(t);else D?(C=[],v=at(t)):(P=[],L=at(t))}if(I&&!("inside"===t.minor.ticks&&"outside"===t.ticks||"outside"===t.minor.ticks&&"inside"===t.ticks)){for(var K=C.map((function(t){return t.value})),$=[],Q=0;Q0?(a=n-1,o=n):(a=n,o=n);var s,l=t[a].value,u=t[o].value,c=Math.abs(u-l),f=r||c,h=0;f>=m?h=c>=m&&c<=g?c:y:r===b&&f>=_?h=c>=_&&c<=x?c:b:f>=k?h=c>=k&&c<=w?c:T:r===A&&f>=A?h=A:f>=M?h=M:r===S&&f>=S?h=S:r===E&&f>=E&&(h=E),h>=c&&(h=c,s=!0);var p=i+h;if(e.rangebreaks&&h>0){for(var d=0,v=0;v<84;v++){var L=(v+.5)/84;e.maskBreaks(i*(1-L)+L*p)!==O&&d++}(h*=d/84)||(t[n].drop=!0),s&&c>A&&(h=c)}(h>0||0===n)&&(t[n].periodX=i+h/2)}}(C,t,t._definedDelta),t.rangebreaks){var ot="y"===t._id.charAt(0),st=1;"auto"===t.tickmode&&(st=t.tickfont?t.tickfont.size:12);var lt=NaN;for(r=C.length-1;r>-1;r--)if(C[r].drop)C.splice(r,1);else{C[r].value=Dt(C[r].value,t);var ut=t.c2p(C[r].value);(ot?lt>ut-st:ltp||ftp&&(ct.periodX=p),ft10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=M&&a<=10||e>=15*M)t._tickround="d";else if(e>=L&&a<=16||e>=E)t._tickround="M";else if(e>=C&&a<=19||e>=L)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(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),c=void 0===t.minexponent?3:t.minexponent;Math.abs(u)>c&&(yt(t.exponentformat)&&!mt(u)?t._tickexponent=3*Math.round((u-1)/3):t._tickexponent=u)}else t._tickround=null}function vt(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}}q.autoTicks=function(t,e,r){var n;function a(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar,0);var o=2*e;if(o>y)e/=y,n=a(10),t.dtick="M"+12*pt(e,n,ot);else if(o>T)e/=T,t.dtick="M"+pt(e,1,st);else if(o>M){if(t.dtick=pt(e,M,t._hasDayOfWeekBreaks?[1,2,7,14]:ut),!r){var l=q.getTickFormat(t),u="period"===t.ticklabelmode;u&&(t._rawTick0=t.tick0),/%[uVW]/.test(l)?t.tick0=s.dateTick0(t.calendar,2):t.tick0=s.dateTick0(t.calendar,1),u&&(t._dowTick0=t.tick0)}}else o>E?t.dtick=pt(e,E,st):o>L?t.dtick=pt(e,L,lt):o>C?t.dtick=pt(e,C,lt):(n=a(10),t.dtick=pt(e,n,ot))}else if("log"===t.type){t.tick0=0;var c=s.simpleMap(t.range,t.r2l);if(t._isMinor&&(e*=1.5),e>.7)t.dtick=Math.ceil(e);else if(Math.abs(c[1]-c[0])<1){var f=1.5*Math.abs((c[1]-c[0])/e);e=Math.abs(Math.pow(10,c[1])-Math.pow(10,c[0]))/f,n=a(10),t.dtick="L"+pt(e,n,ot)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type||"multicategory"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):It(t)?(t.tick0=0,n=1,t.dtick=pt(e,n,ht)):(t.tick0=0,n=a(10),t.dtick=pt(e,n,ot));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&"string"!=typeof t.dtick){var h=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(h)}},q.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return s.increment(t,o*e);var l=e.charAt(0),u=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,u,a);if("L"===l)return Math.log(Math.pow(10,t)+u)/Math.LN10;if("D"===l){var c="D2"===e?ft:ct,f=t+.01*o,h=s.roundUp(s.mod(f,1),c,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw"unrecognized dtick "+String(e)},q.tickFirst=function(t,e){var r=t.r2l||Number,a=s.simpleMap(t.range,r,void 0,void 0,e),o=a[1] ")}else t._prevDateHead=l,u+="
"+l;e.text=u}(t,o,r,u):"log"===c?function(t,e,r,n,a){var o=t.dtick,l=e.x,u=t.tickformat,c="string"==typeof o&&o.charAt(0);if("never"===a&&(a=""),n&&"L"!==c&&(o="L3",c="L"),u||"L"===c)e.text=xt(Math.pow(10,l),t,a,n);else if(i(o)||"D"===c&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),p=t.exponentformat;"power"===p||yt(p)&&mt(f)?(e.text=0===f?1:1===f?"10":"10"+(f>1?"":P)+h+"",e.fontSize*=1.25):("e"===p||"E"===p)&&h>2?e.text="1"+p+(f>0?"+":P)+h:(e.text=xt(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==c)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var d=String(e.text).charAt(0);"0"!==d&&"1"!==d||("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*(l<0?.5:.25)))}}(t,o,0,u,v):"category"===c?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=""),e.text=String(r)}(t,o):"multicategory"===c?function(t,e,r){var n=Math.round(e.x),i=t._categories[n]||[],a=void 0===i[1]?"":String(i[1]),o=void 0===i[0]?"":String(i[0]);r?e.text=o+" - "+a:(e.text=a,e.text2=o)}(t,o,r):It(t)?function(t,e,r,n,i){if("radians"!==t.thetaunit||r)e.text=xt(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){for(var r=1;!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=xt(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="π":e.text=o[0]+"π":e.text=["",o[0],"","⁄","",o[1],"","π"].join(""),l&&(e.text=P+e.text)}}}}(t,o,r,u,v):function(t,e,r,n,i){"never"===i?i="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i="hide"),e.text=xt(e.x,t,i,n)}(t,o,0,u,v),n||(t.tickprefix&&!d(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!d(t.showticksuffix)&&(o.text+=t.ticksuffix)),t.labelalias&&t.labelalias.hasOwnProperty(o.text)){var g=t.labelalias[o.text];"string"==typeof g&&(o.text=g)}if("boundaries"===t.tickson||t.showdividers){var y=function(e){var r=t.l2p(e);return r>=0&&r<=t._length?e:null};o.xbnd=[y(o.x-.5),y(o.x+t.dtick-.5)]}return o},q.hoverLabelText=function(t,e,r){r&&(t=s.extendFlat({},t,{hoverformat:r}));var n=Array.isArray(e)?e[0]:e,i=Array.isArray(e)?e[1]:void 0;if(void 0!==i&&i!==n)return q.hoverLabelText(t,n,r)+" - "+q.hoverLabelText(t,i,r);var a="log"===t.type&&n<=0,o=q.tickText(t,t.c2l(a?-n:n),"hover").text;return a?0===n?"0":P+o:o};var gt=["f","p","n","μ","m","","k","M","G","T"];function yt(t){return"SI"===t||"B"===t}function mt(t){return t>14||t<-15}function xt(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||"B",u=e._tickexponent,c=q.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,minexponent:e.minexponent,dtick:"none"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};dt(h),o=(Number(h._tickround)||0)+4,u=h._tickexponent,e.hoverformat&&(c=e.hoverformat)}if(c)return e._numFormat(c)(t).replace(/-/g,P);var p,d=Math.pow(10,-o)/2;if("none"===l&&(u=0),(t=Math.abs(t))"+p+"":"B"===l&&9===u?t+="B":yt(l)&&(t+=gt[u/3+5])),a?P+t:t}function bt(t,e){if(t){var r=Object.keys(B).reduce((function(t,r){return-1!==e.indexOf(r)&&B[r].forEach((function(e){t[e]=1})),t}),{});Object.keys(t).forEach((function(e){r[e]||(1===e.length?t[e]=0:delete t[e])}))}}function _t(t,e){for(var r=[],n={},i=0;i1&&r=i.min&&t=0,a=c(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=o(i)))){r=n;break}break;case"log":for(e=0;e=0&&i.unshift(i.splice(n,1).shift())}}));var o={false:{left:0,right:0}};return s.syncOrAsync(i.map((function(e){return function(){if(e){var n=q.getFromId(t,e);r||(r={}),r.axShifts=o,r.overlayingShiftedAx=a;var i=q.drawOne(t,n,r);return n._shiftPusher&&Ft(n,n._fullDepth||0,o,!0),n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),i}}})))},q.drawOne=function(t,e,r){var n,i,l,u=(r=r||{}).axShifts||{},p=r.overlayingShiftedAx||[];e.setScale();var d=t._fullLayout,v=e._id,g=v.charAt(0),y=q.counterLetter(v),m=d._plots[e._mainSubplot];if(m){if(e._shiftPusher=e.autoshift||-1!==p.indexOf(e._id)||-1!==p.indexOf(e.overlaying),e._shiftPusher&"free"===e.anchor){var x=e.linewidth/2||0;"inside"===e.ticks&&(x+=e.ticklen),Ft(e,x,u,!0),Ft(e,e.shift||0,u,!1)}!0===r.skipTitle&&void 0!==e._shift||(e._shift=function(t,e){return t.autoshift?e[t.overlaying][t.side]:t.shift||0}(e,u));var b=m[g+"axislayer"],_=e._mainLinePosition,w=_+=e._shift,T=e._mainMirrorPosition,k=e._vals=q.calcTicks(e),A=[e.mirror,w,T].join("_");for(n=0;n0?r.bottom-c:0,f))));var h=0,p=0;if(e._shiftPusher&&(h=Math.max(f,r.height>0?"l"===l?c-r.left:r.right-c:0),e.title.text!==d._dfltTitle[g]&&(p=(e._titleStandoff||0)+(e._titleScoot||0),"l"===l&&(p+=kt(e))),e._fullDepth=Math.max(h,p)),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var v=[0,1],m="number"==typeof e._shift?e._shift:0;if("x"===g){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?c-r.top:0,f),v.reverse()),r.width>0){var x=r.right-(e._offset+e._length);x>0&&(n.xr=1,n.r=x);var b=e._offset-r.left;b>0&&(n.xl=0,n.l=b)}}else if("l"===l?(e._depth=Math.max(r.height>0?c-r.left:0,f),n[l]=e._depth-m):(e._depth=Math.max(r.height>0?r.right-c:0,f),n[l]=e._depth+m,v.reverse()),r.height>0){var _=r.bottom-(e._offset+e._length);_>0&&(n.yb=0,n.b=_);var w=e._offset-r.top;w>0&&(n.yt=1,n.t=w)}n[y]="free"===e.anchor?e.position:e._anchorAxis.domain[v[0]],e.title.text!==d._dfltTitle[g]&&(n[l]+=kt(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((i={x:0,y:0,r:0,l:0,t:0,b:0})[u]=e.linewidth,e.mirror&&!0!==e.mirror&&(i[u]+=f),!0===e.mirror||"ticks"===e.mirror?i[y]=e._anchorAxis.domain[v[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(i[y]=[e._counterDomainMin,e._counterDomainMax][v[1]]))}lt&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),"string"==typeof e.automargin&&(bt(n,e.automargin),bt(i,e.automargin)),a.autoMargin(t,St(e),n),a.autoMargin(t,Et(e),i),a.autoMargin(t,Lt(e),s)})),s.syncOrAsync(ot)}}function ut(t){var r=v+(t||"tick");return M[r]||(M[r]=function(t,e){var r,n,i,a;return t._selections[e].size()?(r=1/0,n=-1/0,i=1/0,a=-1/0,t._selections[e].each((function(){var t=Mt(this),e=h.bBox(t.node().parentNode);r=Math.min(r,e.top),n=Math.max(n,e.bottom),i=Math.min(i,e.left),a=Math.max(a,e.right)}))):(r=0,n=0,i=0,a=0),{top:r,bottom:n,left:i,right:a,height:n-r,width:a-i}}(e,r)),M[r]}},q.getTickSigns=function(t,e){var r=t._id.charAt(0),n={x:"top",y:"right"}[r],i=t.side===n?1:-1,a=[-1,1,i,-i];return"inside"!==(e?(t.minor||{}).ticks:t.ticks)==("x"===r)&&(a=a.map((function(t){return-t}))),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},q.makeTransTickFn=function(t){return"x"===t._id.charAt(0)?function(e){return l(t._offset+t.l2p(e.x),0)}:function(e){return l(0,t._offset+t.l2p(e.x))}},q.makeTransTickLabelFn=function(t){var e=function(t){var e=t.ticklabelposition||"",r=function(t){return-1!==e.indexOf(t)},n=r("top"),i=r("left"),a=r("right"),o=r("bottom"),s=r("inside"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=t.side,c=l?(t.tickwidth||0)/2:0,f=3,h=t.tickfont?t.tickfont.size:12;return(o||n)&&(c+=h*U,f+=(t.linewidth||0)/2),(i||a)&&(c+=(t.linewidth||0)/2,f+=3),s&&"top"===u&&(f-=h*(1-U)),(i||n)&&(c=-c),"bottom"!==u&&"right"!==u||(f=-f),[l?c:0,s?f:0]}(t),r=e[0],n=e[1];return"x"===t._id.charAt(0)?function(e){return l(r+t._offset+t.l2p(wt(e)),n)}:function(e){return l(n,r+t._offset+t.l2p(wt(e)))}},q.makeTickPath=function(t,e,r,n){n||(n={});var i=n.minor;if(i&&!t.minor)return"";var a=void 0!==n.len?n.len:i?t.minor.ticklen:t.ticklen,o=t._id.charAt(0),s=(t.linewidth||1)/2;return"x"===o?"M0,"+(e+s*r)+"v"+a*r:"M"+(e+s*r)+",0h"+a*r},q.makeLabelFns=function(t,e,r){var n=t.ticklabelposition||"",a=function(t){return-1!==n.indexOf(t)},o=a("top"),l=a("left"),u=a("right"),c=a("bottom")||l||o||u,f=a("inside"),h="inside"===n&&"inside"===t.ticks||!f&&"outside"===t.ticks&&"boundaries"!==t.tickson,p=0,d=0,v=h?t.ticklen:0;if(f?v*=-1:c&&(v=0),h&&(p+=v,r)){var g=s.deg2rad(r);p=v*Math.cos(g)+1,d=v*Math.sin(g)}t.showticklabels&&(h||t.showline)&&(p+=.2*t.tickfont.size);var y,m,x,b,_,w={labelStandoff:p+=(t.linewidth||1)/2*(f?-1:1),labelShift:d},T=0,k=t.side,A=t._id.charAt(0),M=t.tickangle;if("x"===A)b=(_=!f&&"bottom"===k||f&&"top"===k)?1:-1,f&&(b*=-1),y=d*b,m=e+p*b,x=_?1:-.2,90===Math.abs(M)&&(f?x+=j:x=-90===M&&"bottom"===k?U:90===M&&"top"===k?j:.5,T=j/2*(M/90)),w.xFn=function(t){return t.dx+y+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*x},w.anchorFn=function(t,e){if(c){if(l)return"end";if(u)return"start"}return i(e)&&0!==e&&180!==e?e*b<0!==f?"end":"start":"middle"},w.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side!==f?-n:0};else if("y"===A){if(b=(_=!f&&"left"===k||f&&"right"===k)?1:-1,f&&(b*=-1),y=p,m=d*b,x=0,f||90!==Math.abs(M)||(x=-90===M&&"left"===k||90===M&&"right"===k?U:.5),f){var S=i(M)?+M:0;if(0!==S){var E=s.deg2rad(S);T=Math.abs(Math.sin(E))*U*b,x=0}}w.xFn=function(t){return t.dx+e-(y+t.fontSize*x)*b+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*j},w.anchorFn=function(t,e){return i(e)&&90===Math.abs(e)?"middle":_?"end":"start"},w.heightFn=function(e,r,n){return"right"===t.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},q.drawTicks=function(t,e,r){r=r||{};var i=e._id+"tick",a=[].concat(e.minor&&e.minor.ticks?r.vals.filter((function(t){return t.minor&&!t.noTick})):[]).concat(e.ticks?r.vals.filter((function(t){return!t.minor&&!t.noTick})):[]),o=r.layer.selectAll("path."+i).data(a,Tt);o.exit().remove(),o.enter().append("path").classed(i,1).classed("ticks",1).classed("crisp",!1!==r.crisp).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.tickcolor:e.tickcolor)})).style("stroke-width",(function(r){return h.crispRound(t,r.minor?e.minor.tickwidth:e.tickwidth,1)+"px"})).attr("d",r.path).style("display",null),Rt(e,[R]),o.attr("transform",r.transFn)},q.drawGrid=function(t,e,r){if(r=r||{},"sync"!==e.tickmode){var i=e._id+"grid",a=e.minor&&e.minor.showgrid,o=a?r.vals.filter((function(t){return t.minor})):[],s=e.showgrid?r.vals.filter((function(t){return!t.minor})):[],l=r.counterAxis;if(l&&q.shouldShowZeroLine(t,e,l))for(var u="array"===e.tickmode,c=0;c=0;y--){var m=y?v:g;if(m){var x=m.selectAll("path."+i).data(y?s:o,Tt);x.exit().remove(),x.enter().append("path").classed(i,1).classed("crisp",!1!==r.crisp),x.attr("transform",r.transFn).attr("d",r.path).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.gridcolor:e.gridcolor||"#ddd")})).style("stroke-dasharray",(function(t){return h.dashStyle(t.minor?e.minor.griddash:e.griddash,t.minor?e.minor.gridwidth:e.gridwidth)})).style("stroke-width",(function(t){return(t.minor?d:e._gw)+"px"})).style("display",null),"function"==typeof r.path&&x.attr("d",r.path)}}Rt(e,[D,z])}},q.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+"zl",i=q.shouldShowZeroLine(t,e,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:e._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",!1!==r.crisp).each((function(){r.layer.selectAll("path").sort((function(t,e){return Y(t.id,e.id)}))})),a.attr("transform",r.transFn).attr("d",r.path).call(f.stroke,e.zerolinecolor||f.defaultLine).style("stroke-width",h.crispRound(t,e.zerolinewidth,e._gw||1)+"px").style("display",null),Rt(e,[I])},q.drawLabels=function(t,e,r){r=r||{};var a=t._fullLayout,o=e._id,c=o.charAt(0),f=r.cls||o+"tick",p=r.vals.filter((function(t){return t.text})),d=r.labelFns,v=r.secondary?0:e.tickangle,g=(e._prevTickAngles||{})[f],y=r.layer.selectAll("g."+f).data(e.showticklabels?p:[],Tt),m=[];function x(t,a){t.each((function(t){var o=n.select(this),s=o.select(".text-math-group"),c=d.anchorFn(t,a),f=r.transFn.call(o.node(),t)+(i(a)&&0!=+a?" rotate("+a+","+d.xFn(t)+","+(d.yFn(t)-t.fontSize/2)+")":""),p=u.lineCount(o),v=V*t.fontSize,g=d.heightFn(t,i(a)?+a:0,(p-1)*v);if(g&&(f+=l(0,g)),s.empty()){var y=o.select("text");y.attr({transform:f,"text-anchor":c}),y.style("opacity",1),e._adjustTickLabelsOverflow&&e._adjustTickLabelsOverflow()}else{var m=h.bBox(s.node()).width*{end:-.5,start:.5}[c];s.attr("transform",f+l(m,0))}}))}y.enter().append("g").classed(f,1).append("text").attr("text-anchor","middle").each((function(e){var r=n.select(this),i=t._promises.length;r.call(u.positionText,d.xFn(e),d.yFn(e)).call(h.font,e.font,e.fontSize,e.fontColor).text(e.text).call(u.convertToTspans,t),t._promises[i]?m.push(t._promises.pop().then((function(){x(r,v)}))):x(r,v)})),Rt(e,[F]),y.exit().remove(),r.repositionOnUpdate&&y.each((function(t){n.select(this).select("text").call(u.positionText,d.xFn(t),d.yFn(t))})),e._adjustTickLabelsOverflow=function(){var r=e.ticklabeloverflow;if(r&&"allow"!==r){var i=-1!==r.indexOf("hide"),o="x"===e._id.charAt(0),l=0,u=o?t._fullLayout.width:t._fullLayout.height;if(-1!==r.indexOf("domain")){var c=s.simpleMap(e.range,e.r2l);l=e.l2p(c[0])+e._offset,u=e.l2p(c[1])+e._offset}var f=Math.min(l,u),p=Math.max(l,u),d=e.side,v=1/0,g=-1/0;for(var m in y.each((function(t){var r=n.select(this);if(r.select(".text-math-group").empty()){var a=h.bBox(r.node()),s=0;o?(a.right>p||a.leftp||a.top+(e.tickangle?0:t.fontSize/4)e["_visibleLabelMin_"+r._id]?l.style("display","none"):"tick"!==t.K||i||l.style("display",null)}))}))}))}))},x(y,g+1?g:v);var b=null;e._selections&&(e._selections[f]=y);var _=[function(){return m.length&&Promise.all(m)}];e.automargin&&a._redrawFromAutoMarginCount&&90===g?(b=90,_.push((function(){x(y,g)}))):_.push((function(){if(x(y,v),p.length&&"x"===c&&!i(v)&&("log"!==e.type||"D"!==String(e.dtick).charAt(0))){b=0;var t,n=0,a=[];if(y.each((function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),i=Mt(this),o=h.bBox(i.node());a.push({top:0,bottom:10,height:10,left:r-o.width/2,right:r+o.width/2+2,width:o.width+2})})),"boundaries"!==e.tickson&&!e.showdividers||r.secondary){var o=p.length,l=Math.abs((p[o-1].x-p[0].x)*e._m)/(o-1),u=e.ticklabelposition||"",f=function(t){return-1!==u.indexOf(t)},d=f("top"),g=f("left"),m=f("right"),_=f("bottom")||g||d||m?(e.tickwidth||0)+6:0,w=l<2.5*n||"multicategory"===e.type||"realaxis"===e._name;for(t=0;t1)for(n=1;n2*o}(i,e))return"date";var g="strict"!==r.autotypenumbers;return function(t,e){for(var r=t.length,n=f(r),i=0,o=0,s={},c=0;c2*i}(i,g)?"category":function(t,e){for(var r=t.length,n=0;n=2){var s,u,c="";if(2===o.length)for(s=0;s<2;s++)if(u=_(o[s])){c=y;break}var f=i("pattern",c);if(f===y)for(s=0;s<2;s++)(u=_(o[s]))&&(e.bounds[s]=o[s]=u-1);if(f)for(s=0;s<2;s++)switch(u=o[s],f){case y:if(!n(u))return void(e.enabled=!1);if((u=+u)!==Math.floor(u)||u<0||u>=7)return void(e.enabled=!1);e.bounds[s]=o[s]=u;break;case m:if(!n(u))return void(e.enabled=!1);if((u=+u)<0||u>24)return void(e.enabled=!1);e.bounds[s]=o[s]=u}if(!1===r.autorange){var h=r.range;if(h[0]h[1])return void(e.enabled=!1)}else if(o[0]>h[0]&&o[1]n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},e.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(" ")[0]},e.isLinked=function(t,e){return a(e,t._axisMatchGroups)||a(e,t._axisConstraintGroups)}},15258:function(t){"use strict";t.exports=function(t,e,r,n){if("category"===e.type){var i,a=t.categoryarray,o=Array.isArray(a)&&a.length>0;o&&(i="array");var s,l=r("categoryorder",i);"array"===l&&(s=r("categoryarray")),o||"array"!==l||(l=e.categoryorder="trace"),"trace"===l?e._initialCategories=[]:"array"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;nn?i.substr(n):a.substr(r))+o:i+a+t*e:o}function g(t,e){for(var r=e._size,n=r.h/r.w,i={},a=Object.keys(t),o=0;ou*x)||T)for(r=0;rI&&FP&&(P=F);h/=(P-C)/(2*O),C=l.l2r(C),P=l.l2r(P),l.range=l._input.range=S=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function N(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",u(r,n)).attr("d",i+"Z")}function j(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:f.background,stroke:f.defaultLine,"stroke-width":1,opacity:0}).attr("transform",u(e,r)).attr("d","M0,0Z")}function U(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"),V(t,e,i,a)}function V(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 H(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function q(t){O&&t.data&&t._context.showTips&&(i.notifier(i._(t,"Double-click to zoom back out"),"long"),O=!1)}function G(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,P)/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 Z(t,e,r,n,a){for(var o,s,l,u,c=!1,f={},h={},p=(a||{}).xaHash,d=(a||{}).yaHash,v=0;v=0)i._fullLayout._deactivateShape(i);else{var o=i._fullLayout.clickmode;if(H(i),2!==t||yt||qt(),gt)o.indexOf("select")>-1&&S(r,i,J,K,e.id,Pt),o.indexOf("event")>-1&&p.click(i,r,e.id);else if(1===t&&yt){var s=v?I:O,u="s"===v||"w"===y?0:1,f=s._name+".range["+u+"]",h=function(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return"date"===t.type?n:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,a("."+r+"g")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,a("."+String(r)+"g")(n))}(s,u),d="left",g="middle";if(s.fixedrange)return;v?(g="n"===v?"top":"bottom","right"===s.side&&(d="right")):"e"===y&&(d="right"),i._context.showAxisRangeEntryBoxes&&n.select(bt).call(c.makeEditable,{gd:i,immediate:!0,background:i._fullLayout.paper_bgcolor,text:String(h),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:d,verticalAlign:g}).on("edit",(function(t){var e=s.d2r(t);void 0!==e&&l.call("_guiRelayout",i,f,e)}))}}}function Dt(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(tt,pt*e+_t)),i=Math.max(0,Math.min(et,dt*r+wt)),a=Math.abs(n-_t),o=Math.abs(i-wt);function s(){St="",Tt.r=Tt.l,Tt.t=Tt.b,Lt.attr("d","M0,0Z")}if(Tt.l=Math.min(_t,n),Tt.r=Math.max(_t,n),Tt.t=Math.min(wt,i),Tt.b=Math.max(wt,i),rt.isSubplotConstrained)a>P||o>P?(St="xy",a/tt>o/et?(o=a*et/tt,wt>i?Tt.t=wt-o:Tt.b=wt+o):(a=o*tt/et,_t>n?Tt.l=_t-a:Tt.r=_t+a),Lt.attr("d",G(Tt))):s();else if(nt.isSubplotConstrained)if(a>P||o>P){St="xy";var l=Math.min(Tt.l/tt,(et-Tt.b)/et),u=Math.max(Tt.r/tt,(et-Tt.t)/et);Tt.l=l*tt,Tt.r=u*tt,Tt.b=(1-l)*et,Tt.t=(1-u)*et,Lt.attr("d",G(Tt))}else s();else!at||o0){var c;if(nt.isSubplotConstrained||!it&&1===at.length){for(c=0;c1&&(void 0!==a.maxallowed&&st===(a.range[0]1&&(void 0!==o.maxallowed&<===(o.range[0]b[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s),"sync"===e.tickmode&&(e.tickmode="auto")}return r("layer"),e}},89426:function(t,e,r){"use strict";var n=r(59652);t.exports=function(t,e,r,i,a){a||(a={});var o=a.tickSuffixDflt,s=n(t);r("tickprefix")&&r("showtickprefix",s),r("ticksuffix",o)&&r("showticksuffix",s)}},42449:function(t,e,r){"use strict";var n=r(18783).FROM_BL;t.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)],t.setScale()}},21994:function(t,e,r){"use strict";var n=r(39898),i=r(84096).g0,a=r(71828),o=a.numberFormat,s=r(92770),l=a.cleanNumber,u=a.ms2DateTime,c=a.dateTime2ms,f=a.ensureNumber,h=a.isArrayOrTypedArray,p=r(50606),d=p.FP_SAFE,v=p.BADNUM,g=p.LOG_CLIP,y=p.ONEWEEK,m=p.ONEDAY,x=p.ONEHOUR,b=p.ONEMIN,_=p.ONESEC,w=r(41675),T=r(85555),k=T.HOUR_PATTERN,A=T.WEEKDAY_PATTERN;function M(t){return Math.pow(10,t)}function S(t){return null!=t}t.exports=function(t,e){e=e||{};var r=t._id||"x",p=r.charAt(0);function E(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*g*Math.abs(n-i))}return v}function L(e,r,n,i){if((i||{}).msUTC&&s(e))return+e;var o=c(e,n||t.calendar);if(o===v){if(!s(e))return v;e=+e;var l=Math.floor(10*a.mod(e+.05,1)),u=Math.round(e-l/10);o=c(new Date(u))+l/10}return o}function C(e,r,n){return u(e,r,n||t.calendar)}function P(e){return t._categories[Math.round(e)]}function O(e){if(S(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push("number"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return v}function I(e){if(t._categoriesMap)return t._categoriesMap[e]}function D(t){var e=I(t);return void 0!==e?e:s(t)?+t:void 0}function z(t){return s(t)?+t:I(t)}function R(t,e,r){return n.round(r+e*t,2)}function F(t,e,r){return(t-r)/e}var B=function(e){return s(e)?R(e,t._m,t._b):v},N=function(e){return F(e,t._m,t._b)};if(t.rangebreaks){var j="y"===p;B=function(e){if(!s(e))return v;var r=t._rangebreaks.length;if(!r)return R(e,t._m,t._b);var n=j;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,a=i*e,o=0,l=0;lc)){o=a<(u+c)/2?l:l+1;break}o=l+1}var f=t._B[o]||0;return isFinite(f)?R(e,t._m2,f):0},N=function(e){var r=t._rangebreaks.length;if(!r)return F(e,t._m,t._b);for(var n=0,i=0;it._rangebreaks[i].pmax&&(n=i+1);return F(e,t._m2,t._B[n])}}t.c2l="log"===t.type?E:f,t.l2c="log"===t.type?M:f,t.l2p=B,t.p2l=N,t.c2p="log"===t.type?function(t,e){return B(E(t,e))}:B,t.p2c="log"===t.type?function(t){return M(N(t))}:N,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=l,t.c2d=t.c2r=t.l2d=t.l2r=f,t.d2p=t.r2p=function(e){return t.l2p(l(e))},t.p2d=t.p2r=N,t.cleanPos=f):"log"===t.type?(t.d2r=t.d2l=function(t,e){return E(l(t),e)},t.r2d=t.r2c=function(t){return M(l(t))},t.d2c=t.r2l=l,t.c2d=t.l2r=f,t.c2r=E,t.l2d=M,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return M(N(t))},t.r2p=function(e){return t.l2p(l(e))},t.p2r=N,t.cleanPos=f):"date"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=L,t.c2d=t.c2r=t.l2d=t.l2r=C,t.d2p=t.r2p=function(e,r,n){return t.l2p(L(e,0,n))},t.p2d=t.p2r=function(t,e,r){return C(N(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,v,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=O,t.r2d=t.c2d=t.l2d=P,t.d2r=t.d2l_noadd=D,t.r2c=function(e){var r=z(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=f,t.r2l=z,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return P(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:f(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=P,t.d2r=t.d2l_noadd=D,t.r2c=function(e){var r=D(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=I,t.l2r=t.c2r=f,t.r2l=D,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return P(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:f(t)},t.setupMultiCategory=function(n){var i,o,s=t._traceIndices,l=t._matchGroup;if(l&&0===t._categories.length)for(var u in l)if(u!==r){var c=e[w.id2name(u)];s=s.concat(c._traceIndices)}var f=[[0,{}],[0,{}]],d=[];for(i=0;il[1]&&(i[s?0:1]=n)}},t.cleanRange=function(e,r){t._cleanRange(e,r),t.limitRange(e)},t._cleanRange=function(e,r){r||(r={}),e||(e="range");var n,i,o=a.nestedProperty(t,e).get();if(i=(i="date"===t.type?a.dfltRange(t.calendar):"y"===p?T.DFLTRANGEY:"realaxis"===t._name?[0,1]:r.dfltRange||T.DFLTRANGEX).slice(),"tozero"!==t.rangemode&&"nonnegative"!==t.rangemode||(i[0]=0),o&&2===o.length){var l=null===o[0],u=null===o[1];for("date"!==t.type||t.autorange||(o[0]=a.cleanDate(o[0],v,t.calendar),o[1]=a.cleanDate(o[1],v,t.calendar)),n=0;n<2;n++)if("date"===t.type){if(!a.isDateTime(o[n],t.calendar)){t[e]=i;break}if(t.r2l(o[0])===t.r2l(o[1])){var c=a.constrain(t.r2l(o[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);o[0]=t.l2r(c-1e3),o[1]=t.l2r(c+1e3);break}}else{if(!s(o[n])){if(l||u||!s(o[1-n])){t[e]=i;break}o[n]=o[1-n]*(n?10:.1)}if(o[n]<-d?o[n]=-d:o[n]>d&&(o[n]=d),o[0]===o[1]){var f=Math.max(1,Math.abs(1e-6*o[0]));o[0]-=f,o[1]+=f}}}else a.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t.overlaying){var i=w.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(a);var s,l,u=t.r2l(t[a][0],o),c=t.r2l(t[a][1],o),f="y"===p;if(f?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks&&(t._rangebreaks=t.locateBreaks(Math.min(u,c),Math.max(u,c)),t._rangebreaks.length)){for(s=0;sc&&(h=!h),h&&t._rangebreaks.reverse();var d=h?-1:1;for(t._m2=d*t._length/(Math.abs(c-u)-t._lBreaks),t._B.push(-t._m2*(f?c:u)),s=0;si&&(i+=7,oi&&(i+=24,o=n&&o=n&&e=s.min&&(ts.max&&(s.max=n),i=!1)}i&&u.push({min:t,max:n})}};for(n=0;nr.duration?(function(){for(var r={},n=0;n rect").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(o.setPointGroupScale,1,1),n.selectAll(".textpoint").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function g(e,r){var n=e.plotinfo,i=n.xaxis,l=n.yaxis,u=i._length,c=l._length,f=!!e.xr1,h=!!e.yr1,p=[];if(f){var d=a.simpleMap(e.xr0,i.r2l),v=a.simpleMap(e.xr1,i.r2l),g=d[1]-d[0],y=v[1]-v[0];p[0]=(d[0]*(1-r)+r*v[0]-d[0])/(d[1]-d[0])*u,p[2]=u*(1-r+r*y/g),i.range[0]=i.l2r(d[0]*(1-r)+r*v[0]),i.range[1]=i.l2r(d[1]*(1-r)+r*v[1])}else p[0]=0,p[2]=u;if(h){var m=a.simpleMap(e.yr0,l.r2l),x=a.simpleMap(e.yr1,l.r2l),b=m[1]-m[0],_=x[1]-x[0];p[1]=(m[1]*(1-r)+r*x[1]-m[1])/(m[0]-m[1])*c,p[3]=c*(1-r+r*_/b),l.range[0]=i.l2r(m[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(m[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=c;s.drawOne(t,i,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[i._id,l._id]);var w=f?u/p[2]:1,T=h?c/p[3]:1,k=f?p[0]:0,A=h?p[1]:0,M=f?p[0]/p[2]*u:0,S=h?p[1]/p[3]*c:0,E=i._offset-M,L=l._offset-S;n.clipRect.call(o.setTranslate,k,A).call(o.setScale,1/w,1/T),n.plot.call(o.setTranslate,E,L).call(o.setScale,w,T),o.setPointGroupScale(n.zoomScalePts,1/w,1/T),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}s.redrawComponents(t)}},951:function(t,e,r){"use strict";var n=r(73972).traceIs,i=r(4322);function a(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=a(t),i=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}t.exports=function(t,e,r,s){r("autotypenumbers",s.autotypenumbersDflt),"-"===r("type",(s.splomStash||{}).type)&&(function(t,e){if("-"===t.type){var r,s=t._id,l=s.charAt(0);-1!==s.indexOf("scene")&&(s=l);var u=function(t,e,r){for(var n=0;n0&&(i["_"+r+"axes"]||{})[e])return i;if((i[r+"axis"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(e,s,l);if(u)if("histogram"!==u.type||l!=={v:"y",h:"x"}[u.orientation||"v"]){var c=l+"calendar",f=u[c],h={noMultiCategory:!n(u,"cartesian")||n(u,"noMultiCategory")};if("box"===u.type&&u._hasPreCompStats&&l==={h:"x",v:"y"}[u.orientation||"v"]&&(h.noMultiCategory=!0),h.autotypenumbers=t.autotypenumbers,o(u,l)){var p=a(u),d=[];for(r=0;r0?".":"")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}}))}e.manageCommandObserver=function(t,r,n,o){var s={},l=!0;r&&r._commandObserver&&(s=r._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var u=e.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(r&&r._commandObserver){if(u)return s;if(r._commandObserver.remove)return r._commandObserver.remove(),r._commandObserver=null,s}if(u){a(t,u,s.cache),s.check=function(){if(l){var e=a(t,u,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:u.type,prop:u.prop,traces:u.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var c=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],f=0;f0&&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]]]}}t.exports=function(t){return new M(t)},S.plot=function(t,e,r,n){var i=this;if(n)return i.update(t,e,!0);i._geoCalcData=t,i._fullLayout=e;var a=e[this.id],o=[],s=!1;for(var l in w.layerNameToAdjective)if("frame"!==l&&a["show"+l]){s=!0;break}for(var u=!1,c=0;c0&&o._module.calcGeoJSON(a,e)}if(!r){if(this.updateProjection(t,e))return;this.viewInitial&&this.scope===n.scope||this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(e,n),this.updateDims(e,n),this.updateFx(e,n),d.generalUpdatePerTraceModule(this.graphDiv,this,t,n);var s=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=s.selectAll(".point"),this.dataPoints.text=s.selectAll("text"),this.dataPaths.line=s.selectAll(".js-line");var l=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=l.selectAll("path"),this._render()},S.updateProjection=function(t,e){var r=this.graphDiv,n=e[this.id],l=e._size,c=n.domain,f=n.projection,h=n.lonaxis,p=n.lataxis,d=h._ax,v=p._ax,y=this.projection=function(t){var e=t.projection,r=e.type,n=w.projNames[r];n="geo"+u.titleCase(n);for(var l=(i[n]||s[n])(),c=t._isSatellite?180*Math.acos(1/e.distance)/Math.PI:t._isClipped?w.lonaxisSpan[r]/2:null,f=["center","rotate","parallels","clipExtent"],h=function(t){return t?l:[]},p=0;pc*Math.PI/180}return!1},l.getPath=function(){return a().projection(l)},l.getBounds=function(t){return l.getPath().bounds(t)},l.precision(w.precision),t._isSatellite&&l.tilt(e.tilt).distance(e.distance),c&&l.clipAngle(c-w.clipPad),l}(n),m=[[l.l+l.w*c.x[0],l.t+l.h*(1-c.y[1])],[l.l+l.w*c.x[1],l.t+l.h*(1-c.y[0])]],x=n.center||{},b=f.rotation||{},_=h.range||[],T=p.range||[];if(n.fitbounds){d._length=m[1][0]-m[0][0],v._length=m[1][1]-m[0][1],d.range=g(r,d),v.range=g(r,v);var k=(d.range[0]+d.range[1])/2,A=(v.range[0]+v.range[1])/2;if(n._isScoped)x={lon:k,lat:A};else if(n._isClipped){x={lon:k,lat:A},b={lon:k,lat:A,roll:b.roll};var M=f.type,S=w.lonaxisSpan[M]/2||180,L=w.lataxisSpan[M]/2||90;_=[k-S,k+S],T=[A-L,A+L]}else x={lon:k,lat:A},b={lon:k,lat:b.lat,roll:b.roll}}y.center([x.lon-b.lon,x.lat-b.lat]).rotate([-b.lon,-b.lat,b.roll]).parallels(f.parallels);var C=E(_,T);y.fitExtent(m,C);var P=this.bounds=y.getBounds(C),O=this.fitScale=y.scale(),I=y.translate();if(n.fitbounds){var D=y.getBounds(E(d.range,v.range)),z=Math.min((P[1][0]-P[0][0])/(D[1][0]-D[0][0]),(P[1][1]-P[0][1])/(D[1][1]-D[0][1]));isFinite(z)?y.scale(z*O):u.warn("Something went wrong during"+this.id+"fitbounds computations.")}else y.scale(f.scale*O);var R=this.midPt=[(P[0][0]+P[1][0])/2,(P[0][1]+P[1][1])/2];if(y.translate([I[0]+(R[0]-I[0]),I[1]+(R[1]-I[1])]).clipExtent(P),n._isAlbersUsa){var F=y([x.lon,x.lat]),B=y.translate();y.translate([B[0]-(F[0]-B[0]),B[1]-(F[1]-B[1])])}},S.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,o=r.basePaths;function s(t){return"lonaxis"===t||"lataxis"===t}function l(t){return Boolean(w.lineLayers[t])}function u(t){return Boolean(w.fillLayers[t])}var c=(this.hasChoropleth?w.layersForChoropleth:w.layers).filter((function(t){return l(t)||u(t)?e["show"+t]:!s(t)||e[t].showgrid})),p=r.framework.selectAll(".layer").data(c,String);p.exit().each((function(t){delete a[t],delete o[t],n.select(this).remove()})),p.enter().append("g").attr("class",(function(t){return"layer "+t})).each((function(t){var e=a[t]=n.select(this);"bg"===t?r.bgRect=e.append("rect").style("pointer-events","all"):s(t)?o[t]=e.append("path").style("fill","none"):"backplot"===t?e.append("g").classed("choroplethlayer",!0):"frontplot"===t?e.append("g").classed("scatterlayer",!0):l(t)?o[t]=e.append("path").style("fill","none").style("stroke-miterlimit",2):u(t)&&(o[t]=e.append("path").style("stroke","none"))})),p.order(),p.each((function(r){var n=o[r],a=w.layerNameToAdjective[r];"frame"===r?n.datum(w.sphereSVG):l(r)||u(r)?n.datum(A(i,i.objects[r])):s(r)&&n.datum(function(t,e,r){var n,i,a,o=e[t],s=w.scopeDefaults[e.scope];"lonaxis"===t?(n=s.lonaxisRange,i=s.lataxisRange,a=function(t,e){return[t,e]}):"lataxis"===t&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(t,e){return[e,t]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};v.setConvert(l,r);var u=v.calcTicks(l);e.isScoped||"lonaxis"!==t||u.pop();for(var c=u.length,f=new Array(c),h=0;h-1&&b(n.event,i,[r.xaxis],[r.yaxis],r.id,c),s.indexOf("event")>-1&&p.click(i,n.event))}))}function f(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},S.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,i="clip"+r._uid+t.id;t.clipDef=r._clips.append("clipPath").attr("id",i),t.clipRect=t.clipDef.append("rect"),t.framework=n.select(t.container).append("g").attr("class","geo "+t.id).call(h.setClipUrl,i,e),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"},v.setConvert(t.mockAxis,r)},S.saveViewInitial=function(t){var e,r=t.center||{},n=t.projection,i=n.rotation||{};this.viewInitial={fitbounds:t.fitbounds,"projection.scale":n.scale},e=t._isScoped?{"center.lon":r.lon,"center.lat":r.lat}:t._isClipped?{"projection.rotation.lon":i.lon,"projection.rotation.lat":i.lat}:{"center.lon":r.lon,"center.lat":r.lat,"projection.rotation.lon":i.lon},u.extendFlat(this.viewInitial,e)},S.render=function(t){this._hasMarkerAngles&&t?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},S._render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?c(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)}},44622:function(t,e,r){"use strict";var n=r(27659).AU,i=r(71828).counterRegex,a=r(69082),o="geo",s=i(o),l={};l.geo={valType:"subplotid",dflt:o,editType:"calc"},t.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:r(77519),supplyLayoutDefaults:r(82161),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots.geo,s=0;s0&&P<0&&(P+=360);var O,I,D,z=(C+P)/2;if(!p){var R=d?f.projRotate:[z,0,0];O=r("projection.rotation.lon",R[0]),r("projection.rotation.lat",R[1]),r("projection.rotation.roll",R[2]),r("showcoastlines",!d&&x)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean",!!x&&void 0)&&r("oceancolor")}p?(I=-96.6,D=38.7):(I=d?z:O,D=(L[0]+L[1])/2),r("center.lon",I),r("center.lat",D),v&&(r("projection.tilt"),r("projection.distance")),g&&r("projection.parallels",f.projParallels||[0,60]),r("projection.scale"),r("showland",!!x&&void 0)&&r("landcolor"),r("showlakes",!!x&&void 0)&&r("lakecolor"),r("showrivers",!!x&&void 0)&&(r("rivercolor"),r("riverwidth")),r("showcountries",d&&"usa"!==c&&x)&&(r("countrycolor"),r("countrywidth")),("usa"===c||"north america"===c&&50===u)&&(r("showsubunits",x),r("subunitcolor"),r("subunitwidth")),d||r("showframe",x)&&(r("framecolor"),r("framewidth")),r("bgcolor"),r("fitbounds")&&(delete e.projection.scale,d?(delete e.center.lon,delete e.center.lat):y?(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon,delete e.projection.rotation.lat,delete e.lonaxis.range,delete e.lataxis.range):(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon))}t.exports=function(t,e,r){i(t,e,r,{type:"geo",attributes:s,handleDefaults:u,fullData:r,partition:"y"})}},74455:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(73972),o=Math.PI/180,s=180/Math.PI,l={cursor:"pointer"},u={cursor:"auto"};function c(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function f(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],u=o._fullLayout,c=u[n],f={},h={};function p(t,e){f[n+"."+t]=i.nestedProperty(l,t).get(),a.call("_storeDirectGUIEdit",s,u._preGUI,f);var r=i.nestedProperty(c,t);r.get()!==e&&(r.set(e),i.nestedProperty(l,t).set(e),h[n+"."+t]=e)}r(p),p("projection.scale",e.scale()/t.fitScale),p("fitbounds",!1),o.emit("plotly_relayout",h)}function h(t,e){var r=c(0,e);function i(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",(function(){n.select(this).style(l)})).on("zoom",(function(){e.scale(n.event.scale).translate(n.event.translate),t.render(!0);var r=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":r[0],"geo.center.lat":r[1]})})).on("zoomend",(function(){n.select(this).style(u),f(t,e,i)})),r}function p(t,e){var r,i,a,o,s,h,p,d,v,g=c(0,e);function y(t){return e.invert(t)}function m(r){var n=e.rotate(),i=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return g.on("zoomstart",(function(){n.select(this).style(l),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,s=y(r)})).on("zoom",(function(){if(h=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>2||Math.abs(n[1]-t[1])>2}(r))return g.scale(e.scale()),void g.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),s?y(h)&&(d=y(h),p=[o[0]+(d[0]-s[0]),i[1],i[2]],e.rotate(p),o=p):s=y(r=h),v=!0,t.render(!0);var l=e.rotate(),u=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":u[0],"geo.center.lat":u[1],"geo.projection.rotation.lon":-l[0]})})).on("zoomend",(function(){n.select(this).style(u),v&&f(t,e,m)})),g}function d(t,e){var r,i={r:e.rotate(),k:e.scale()},a=c(0,e),o=function(t){for(var e=0,r=arguments.length,i=[];++ed?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*s-p,i=Math.sqrt(d*d-f*f));var v=180-a-2*p,g=(Math.atan2(h,c)-Math.atan2(u,i))*s,y=(Math.atan2(h,c)-Math.atan2(u,-i))*s;return b(r[0],r[1],a,g)<=b(r[0],r[1],v,y)?[a,g,r[2]]:[v,y,r[2]]}function b(t,e,r,n){var i=_(r-t),a=_(n-e);return Math.sqrt(i*i+a*a)}function _(t){return(t%360+540)%360-180}function w(t,e,r){var n=r*o,i=t.slice(),a=0===e?1:0,s=2===e?1:2,l=Math.cos(n),u=Math.sin(n);return i[a]=t[a]*l-t[s]*u,i[s]=t[s]*l+t[a]*u,i}function T(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*s,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*s,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*s]}function k(t,e){for(var r=0,n=0,i=t.length;nMath.abs(s)?(u.boxEnd[1]=u.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),u.boxEnd[1]l[3]&&(u.boxEnd[1]=l[3],u.boxEnd[0]=u.boxStart[0]+(l[3]-u.boxStart[1])/Math.abs(_))):(u.boxEnd[0]=u.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),u.boxEnd[0]l[2]&&(u.boxEnd[0]=l[2],u.boxEnd[1]=u.boxStart[1]+(l[2]-u.boxStart[0])*Math.abs(_)))}}else u.boxEnabled?(a=u.boxStart[0]!==u.boxEnd[0],s=u.boxStart[1]!==u.boxEnd[1],a||s?(a&&(g(0,u.boxStart[0],u.boxEnd[0]),t.xaxis.autorange=!1),s&&(g(1,u.boxStart[1],u.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),u.boxEnabled=!1,u.boxInited=!1):u.boxInited&&(u.boxInited=!1);break;case"pan":u.boxEnabled=!1,u.boxInited=!1,e?(u.panning||(u.dragStart[0]=n,u.dragStart[1]=i),Math.abs(u.dragStart[0]-n).999&&(g="turntable"):g="turntable")}else g="turntable";r("dragmode",g),r("hovermode",n.getDfltFromLayout("hovermode"))}t.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:c,attributes:l,handleDefaults:f,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},65500:function(t,e,r){"use strict";var n=r(77894),i=r(27670).Y,a=r(1426).extendFlat,o=r(71828).counterRegex;function s(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"}}t.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:i({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:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},13133:function(t,e,r){"use strict";var n=r(78614),i=["xaxis","yaxis","zaxis"];function a(){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]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},t.exports=function(t){var e=new a;return e.merge(t),e}},96085:function(t,e,r){"use strict";t.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],u=0;u<3;++u){var c=s[a[u]];if(c._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(c._length)===1/0||isNaN(c._length))l[u]=[];else{c._input_range=c.range.slice(),c.range[0]=r[u].lo/t.dataScale[u],c.range[1]=r[u].hi/t.dataScale[u],c._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),c.range[0]===c.range[1]&&(c.range[0]-=1,c.range[1]+=1);var f=c.tickmode;if("auto"===c.tickmode){c.tickmode="linear";var h=c.nticks||i.constrain(c._length/40,4,9);n.autoTicks(c,Math.abs(c.range[1]-c.range[0])/h)}for(var p=n.calcTicks(c,{msUTC:!0}),d=0;d/g," "));l[u]=p,c.tickmode=f}}for(e.ticks=l,u=0;u<3;++u)for(o[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]),d=0;d<2;++d)e.bounds[d][u]=t.glplot.bounds[d][u];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;ar.deltaY?1.1:1/1.1,a=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(t)}}),!!u&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit("plotly_relayouting",e)}})),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",(function(r){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:r,layer:t.id})}),!1)),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},k.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,i=e.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),b(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,h=e.glplot.selection,v=0;v")):"isosurface"===t.type||"volume"===t.type?(k.valueLabel=p.hoverLabelText(e._mockAxis,e._mockAxis.d2l(h.traceCoordinate[3]),t.valuehoverformat),E.push("value: "+k.valueLabel),h.textLabel&&E.push(h.textLabel),x=E.join("
")):x=h.textLabel;var L={x:h.traceCoordinate[0],y:h.traceCoordinate[1],z:h.traceCoordinate[2],data:_._input,fullData:_,curveNumber:_.index,pointNumber:T};d.appendArrayPointValue(L,_,T),t._module.eventData&&(L=_._module.eventData(L,h,_,{},T));var C={points:[L]};if(e.fullSceneLayout.hovermode){var P=[];d.loneHover({trace:_,x:(.5+.5*m[0]/m[3])*s,y:(.5-.5*m[1]/m[3])*l,xLabel:k.xLabel,yLabel:k.yLabel,zLabel:k.zLabel,text:x,name:c.name,color:d.castHoverOption(_,T,"bgcolor")||c.color,borderColor:d.castHoverOption(_,T,"bordercolor"),fontFamily:d.castHoverOption(_,T,"font.family"),fontSize:d.castHoverOption(_,T,"font.size"),fontColor:d.castHoverOption(_,T,"font.color"),nameLength:d.castHoverOption(_,T,"namelength"),textAlign:d.castHoverOption(_,T,"align"),hovertemplate:f.castOption(_,T,"hovertemplate"),hovertemplateLabels:f.extendFlat({},L,k),eventData:[L]},{container:n,gd:r,inOut_bbox:P}),L.bbox=P[0]}h.distance<5&&(h.buttons||w)?r.emit("plotly_click",C):r.emit("plotly_hover",C),this.oldEventData=C}else d.loneUnhover(n),this.oldEventData&&r.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)},k.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):f.error("Catastrophic and unrecoverable WebGL error. Context lost.")};requestAnimationFrame(e)};var M=["xaxis","yaxis","zaxis"];function S(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=M[i],o=a.charAt(0),s=n[a],l=e[o],u=e[o+"calendar"],c=e["_"+o+"length"];if(f.isArrayOrTypedArray(l))for(var h,p=0;p<(c||l.length);p++)if(f.isArrayOrTypedArray(l[p]))for(var d=0;dy[1][o])y[0][o]=-1,y[1][o]=1;else{var O=y[1][o]-y[0][o];y[0][o]-=O/32,y[1][o]+=O/32}if(b=[y[0][o],y[1][o]],b=_(b,l),y[0][o]=b[0],y[1][o]=b[1],l.isReversed()){var I=y[0][o];y[0][o]=y[1][o],y[1][o]=I}}else b=l.range,y[0][o]=l.r2l(b[0]),y[1][o]=l.r2l(b[1]);y[0][o]===y[1][o]&&(y[0][o]-=1,y[1][o]+=1),m[o]=y[1][o]-y[0][o],l.range=[y[0][o],y[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*p[o],max:l.range[1]*p[o]})}var D=c.aspectmode;if("cube"===D)g=[1,1,1];else if("manual"===D){var z=c.aspectratio;g=[z.x,z.y,z.z]}else{if("auto"!==D&&"data"!==D)throw new Error("scene.js aspectRatio was not one of the enumerated types");var R=[1,1,1];for(o=0;o<3;++o){var F=x[u=(l=c[M[o]]).type];R[o]=Math.pow(F.acc,1/F.count)/p[o]}g="data"===D||Math.max.apply(null,R)/Math.min.apply(null,R)<=4?R:[1,1,1]}c.aspectratio.x=f.aspectratio.x=g[0],c.aspectratio.y=f.aspectratio.y=g[1],c.aspectratio.z=f.aspectratio.z=g[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var B=c.domain||null,N=e._size||null;if(B&&N){var j=n.container.style;j.position="absolute",j.left=N.l+B.x[0]*N.w+"px",j.top=N.t+(1-B.y[1])*N.h+"px",j.width=N.w*(B.x[1]-B.x[0])+"px",j.height=N.h*(B.y[1]-B.y[0])+"px"}n.glplot.redraw()}},k.destroy=function(){var t=this;t.glplot&&(t.camera.mouseListener.enabled=!1,t.container.removeEventListener("wheel",t.camera.wheelListener),t.camera=null,t.glplot.dispose(),t.container.parentNode.removeChild(t.container),t.glplot=null)},k.getCamera=function(){var t,e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),{up:{x:(t=e.camera).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]},projection:{type:!0===t._ortho?"orthographic":"perspective"}}},k.setViewport=function(t){var e,r=this,n=t.camera;r.camera.lookAt.apply(this,[[(e=n).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]]),r.glplot.setAspectratio(t.aspectratio),"orthographic"===n.projection.type!==r.camera._ortho&&(r.glplot.redraw(),r.glplot.clearRGBA(),r.glplot.dispose(),r.initializeGLPlot())},k.isCameraChanged=function(t){var e=this.getCamera(),r=f.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var i=["up","center","eye"],a=["x","y","z"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}var i=!1;if(void 0===r)i=!0;else{for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!n(e,r,a,o)){i=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(i=!0)}return i},k.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=f.nestedProperty(t,this.id+".aspectratio").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},k.saveLayout=function(t){var e,r,n,i,a,o,s=this,l=s.fullLayout,u=s.isCameraChanged(t),h=s.isAspectChanged(t),p=u||h;if(p){var d={};u&&(e=s.getCamera(),n=(r=f.nestedProperty(t,s.id+".camera")).get(),d[s.id+".camera"]=n),h&&(i=s.glplot.getAspectratio(),o=(a=f.nestedProperty(t,s.id+".aspectratio")).get(),d[s.id+".aspectratio"]=o),c.call("_storeDirectGUIEdit",t,l._preGUI,d),u&&(r.set(e),f.nestedProperty(l,s.id+".camera").set(e)),h&&(a.set(i),f.nestedProperty(l,s.id+".aspectratio").set(i),s.glplot.redraw())}return p},k.updateFx=function(t,e){var r=this,n=r.camera;if(n)if("orbit"===t)n.mode="orbit",n.keyBindingMode="rotate";else if("turntable"===t){n.up=[0,0,1],n.mode="turntable",n.keyBindingMode="rotate";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var h=r.id+".camera.up",p={x:0,y:0,z:1},d={};d[h]=p;var v=i.layout;c.call("_storeDirectGUIEdit",v,a._preGUI,d),o.up=p,f.nestedProperty(v,h).set(p)}}else n.keyBindingMode=t;r.fullSceneLayout.hovermode=e},k.toImage=function(t){var e=this;t||(t="png"),e.staticMode&&e.container.appendChild(n),e.glplot.redraw();var r=e.glplot.gl,i=r.drawingBufferWidth,a=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var o=new Uint8Array(i*a*4);r.readPixels(0,0,i,a,r.RGBA,r.UNSIGNED_BYTE,o),function(t,e,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)t[a+l]=Math.min(s*t[a+l],255)}}(o,i,a);var s=document.createElement("canvas");s.width=i,s.height=a;var l,u=s.getContext("2d",{willReadFrequently:!0}),c=u.createImageData(i,a);switch(c.data.set(o),u.putImageData(c,0,0),t){case"jpeg":l=s.toDataURL("image/jpeg");break;case"webp":l=s.toDataURL("image/webp");break;default:l=s.toDataURL("image/png")}return e.staticMode&&e.container.removeChild(n),l},k.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[M[t]];p.setConvert(e,this.fullLayout),e.setScale=f.noop}},k.make4thDimension=function(){var t=this,e=t.graphDiv._fullLayout;t._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},p.setConvert(t._mockAxis,e)},t.exports=T},90060:function(t){"use strict";t.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;aOpenStreetMap contributors',a=['© Carto',i].join(" "),o=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under ODbL'].join(" "),s={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:i,tiles:["https://a.tile.openstreetmap.org/{z}/{x}/{y}.png","https://b.tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-positron":{id:"carto-positron",version:8,sources:{"plotly-carto-positron":{type:"raster",attribution:a,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-positron",type:"raster",source:"plotly-carto-positron",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-darkmatter":{id:"carto-darkmatter",version:8,sources:{"plotly-carto-darkmatter":{type:"raster",attribution:a,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-darkmatter",type:"raster",source:"plotly-carto-darkmatter",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-terrain":{id:"stamen-terrain",version:8,sources:{"plotly-stamen-terrain":{type:"raster",attribution:o,tiles:["https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-terrain",type:"raster",source:"plotly-stamen-terrain",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-toner":{id:"stamen-toner",version:8,sources:{"plotly-stamen-toner":{type:"raster",attribution:o,tiles:["https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-toner",type:"raster",source:"plotly-stamen-toner",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-watercolor":{id:"stamen-watercolor",version:8,sources:{"plotly-stamen-watercolor":{type:"raster",attribution:['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under CC BY SA'].join(" "),tiles:["https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-watercolor",type:"raster",source:"plotly-stamen-watercolor",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"}},l=n(s);t.exports={requiredVersion:"1.10.1",styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:s,styleValuesNonMapbox:l,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",wrongVersionErrorMsg:["Your custom plotly.js bundle is not using the correct mapbox-gl version","Please install mapbox-gl@1.10.1."].join("\n"),noAccessTokenErrorMsg:["Missing Mapbox access token.","Mapbox trace type require a Mapbox access token to be registered.","For example:"," Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });","More info here: https://www.mapbox.com/help/define-access-token/"].join("\n"),missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",l.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join("\n"),multipleTokensErrorMsg:["Set multiple mapbox access token across different mapbox subplot,","using first token found as mapbox-gl does not allow multipleaccess tokens on the same page."].join("\n"),mapOnErrorMsg:"Mapbox error.",mapboxLogo:{path0:"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z",path1:"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z",path2:"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z",polygon:"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34"},styleRules:{map:"overflow:hidden;position:relative;","missing-css":"display:none;",canary:"background-color:salmon;","ctrl-bottom-left":"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;","ctrl-bottom-right":"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;",ctrl:"clear: both; pointer-events: auto; transform: translate(0, 0);","ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner":"display: none;","ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner":"display: block; margin-top:2px","ctrl-attrib.mapboxgl-compact:hover":"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;","ctrl-attrib.mapboxgl-compact::after":'content: ""; cursor: pointer; position: absolute; background-image: url(\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',"ctrl-attrib.mapboxgl-compact":"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;","ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; right: 0","ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; left: 0","ctrl-bottom-left .mapboxgl-ctrl":"margin: 0 0 10px 10px; float: left;","ctrl-bottom-right .mapboxgl-ctrl":"margin: 0 10px 10px 0; float: right;","ctrl-attrib":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a:hover":"color: inherit; text-decoration: underline;","ctrl-attrib .mapbox-improve-map":"font-weight: bold; margin-left: 2px;","attrib-empty":"display: none;","ctrl-logo":'display:block; width: 21px; height: 21px; background-image: url(\'data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E\')'}}},13056:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){var r=t.split(" "),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,u=["",""],c=[0,0];switch(i){case"top":u[0]="top",c[1]=-l;break;case"bottom":u[0]="bottom",c[1]=l}switch(a){case"left":u[1]="right",c[0]=-s;break;case"right":u[1]="left",c[0]=s}return{anchor:u[0]&&u[1]?u.join("-"):u[0]?u[0]:u[1]?u[1]:"center",offset:c}}},50101:function(t,e,r){"use strict";var n=r(44517),i=r(71828),a=i.strTranslate,o=i.strScale,s=r(27659).AU,l=r(77922),u=r(39898),c=r(91424),f=r(63893),h=r(10481),p="mapbox",d=e.constants=r(77734);function v(t){return"string"==typeof t&&(-1!==d.styleValuesMapbox.indexOf(t)||0===t.indexOf("mapbox://"))}e.name=p,e.attr="subplot",e.idRoot=p,e.idRegex=e.attrRegex=i.counterRegex(p),e.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},e.layoutAttributes=r(23585),e.supplyLayoutDefaults=r(77882),e.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots.mapbox;if(n.version!==d.requiredVersion)throw new Error(d.wrongVersionErrorMsg);var o=function(t,e){var r=t._fullLayout;if(""===t._context.mapboxAccessToken)return"";for(var n=[],a=[],o=!1,s=!1,l=0;l1&&i.warn(d.multipleTokensErrorMsg),n[0]):(a.length&&i.log(["Listed mapbox access token(s)",a.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(t,a);n.accessToken=o;for(var l=0;l_/2){var w=y.split("|").join("
");x.text(w).attr("data-unformatted",w).call(f.convertToTspans,t),b=c.bBox(x.node())}x.attr("transform",a(-3,8-b.height)),m.insert("rect",".static-attribution").attr({x:-b.width-6,y:-b.height-3,width:b.width+6,height:b.height+3,fill:"rgba(255, 255, 255, 0.75)"});var T=1;b.width+6>_&&(T=_/(b.width+6));var k=[n.l+n.w*h.x[1],n.t+n.h*(1-h.y[0])];m.attr("transform",a(k[0],k[1])+o(T))}},e.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=0;n0){for(var r=0;r0}function c(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity,"line-dasharray":t.line.dash});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{"icon-image":i.icon+"-15","icon-size":i.iconsize/10,"text-field":i.text,"text-size":i.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":i.placement}),n.extendFlat(r,{"icon-color":t.color,"text-color":i.textfont.color,"text-opacity":t.opacity});break;case"raster":n.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=u(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapboxLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,u(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};return"geojson"===r?e="data":"vector"===r?e="string"==typeof n?"url":"tiles":"raster"===r?(e="tiles",a.tileSize=256):"image"===r&&(e="url",a.coordinates=t.coordinates),a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution)),a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapboxLayerId=function(t){if("traces"===t)for(var e=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&g(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf("event")>-1&&u.click(n,e.originalEvent)}}},b.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=function(t,r){r.isRect?(t.range={})[e.id]=[u([r.xmin,r.ymin]),u([r.xmax,r.ymax])]:(t.lassoPoints={})[e.id]=r.map(u)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),h(o)||f(o)?(r.dragPan.disable(),r.on("zoomstart",e.clearOutline),e.dragOptions.prepFn=function(t,r,n){p(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearOutline),e.div.onmousedown=null,e.div.ontouchstart=null,e.div.removeEventListener("touchstart",e.div._ontouchstart),e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function u(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},b.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])},b.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e=e.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=e._paper.attr("width")-7),r.attr(a);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),l=r.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(){_.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()?" - ":"")}},_.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit("plotly_beforeexport");var r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),i=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=_.graphJson(t,!1,"keepdata"),i.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1}};var k=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],A=["year","month","dayMonth","dayMonthYear"];function M(t,e){var r=t._context.locale;r||(r="en-US");var n=!1,i={};function a(t){for(var r=!0,a=0;a1&&D.length>1){for(s.getComponentMethod("grid","sizeDefaults")(u,l),o=0;o15&&D.length>15&&0===l.shapes.length&&0===l.images.length,_.linkSubplots(h,l,f,n),_.cleanPlot(h,l,f,n);var N=!(!n._has||!n._has("gl2d")),j=!(!l._has||!l._has("gl2d")),U=!(!n._has||!n._has("cartesian"))||N,V=!(!l._has||!l._has("cartesian"))||j;U&&!V?n._bgLayer.remove():V&&!U&&(l._shouldCreateBgLayer=!0),n._zoomlayer&&!t._dragging&&d({_fullLayout:n}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var i=0;i0){var f=1-2*s;n=Math.round(f*n),i=Math.round(f*i)}}var h=_.layoutAttributes.width.min,p=_.layoutAttributes.height.min;n1,v=!e.height&&Math.abs(r.height-i)>1;(v||d)&&(d&&(r.width=n),v&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),_.sanitizeMargins(r)},_.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,l=s.componentsRegistry,u=e._basePlotModules,f=s.subplotsRegistry.cartesian;for(i in l)(o=l[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var h in u.length||u.push(f),e._has("cartesian")&&(s.getComponentMethod("grid","contentDefaults")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(c.subplotSort);for(a=0;a1&&(r.l/=y,r.r/=y)}if(p){var m=(r.t+r.b)/p;m>1&&(r.t/=m,r.b/=m)}var x=void 0!==r.xl?r.xl:r.x,b=void 0!==r.xr?r.xr:r.x,w=void 0!==r.yt?r.yt:r.y,T=void 0!==r.yb?r.yb:r.y;d[e]={l:{val:x,size:r.l+g},r:{val:b,size:r.r+g},b:{val:T,size:r.b+g},t:{val:w,size:r.t+g}},v[e]=1}else delete d[e],delete v[e];if(!n._replotting)return _.doAutoMargin(t)}},_.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),P(e);var i=e._size,a=e.margin,l={t:0,b:0,l:0,r:0},u=c.extendFlat({},i),f=a.l,h=a.r,d=a.t,v=a.b,g=e._pushmargin,y=e._pushmarginIds,m=e.minreducedwidth,x=e.minreducedheight;if(!1!==a.autoexpand){for(var b in g)y[b]||delete g[b];var w=t._fullLayout._reservedMargin;for(var T in w)for(var k in w[T]){var A=w[T][k];l[k]=Math.max(l[k],A)}for(var M in g.base={l:{val:0,size:f},r:{val:1,size:h},t:{val:1,size:d},b:{val:0,size:v}},l){var S=0;for(var E in g)"base"!==E&&o(g[E][M].size)&&(S=g[E][M].size>S?g[E][M].size:S);var L=Math.max(0,a[M]-S);l[M]=Math.max(0,l[M]-L)}for(var C in g){var O=g[C].l||{},I=g[C].b||{},D=O.val,z=O.size,R=I.val,F=I.size,B=r-l.r-l.l,N=n-l.t-l.b;for(var j in g){if(o(z)&&g[j].r){var U=g[j].r.val,V=g[j].r.size;if(U>D){var H=(z*U+(V-B)*D)/(U-D),q=(V*(1-D)+(z-B)*(1-U))/(U-D);H+q>f+h&&(f=H,h=q)}}if(o(F)&&g[j].t){var G=g[j].t.val,Z=g[j].t.size;if(G>R){var Y=(F*G+(Z-N)*R)/(G-R),W=(Z*(1-R)+(F-N)*(1-G))/(G-R);Y+W>v+d&&(v=Y,d=W)}}}}}var X=c.constrain(r-a.l-a.r,2,m),J=c.constrain(n-a.t-a.b,2,x),K=Math.max(0,r-X),$=Math.max(0,n-J);if(K){var Q=(f+h)/K;Q>1&&(f/=Q,h/=Q)}if($){var tt=(v+d)/$;tt>1&&(v/=tt,d/=tt)}if(i.l=Math.round(f)+l.l,i.r=Math.round(h)+l.r,i.t=Math.round(d)+l.t,i.b=Math.round(v)+l.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!e._replotting&&(_.didMarginChange(u,i)||function(t){if("_redrawFromAutoMarginCount"in t._fullLayout)return!1;var e=p.list(t,"",!0);for(var r in e)if(e[r].autoshift||e[r].shift)return!0;return!1}(t))){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var et=3*(1+Object.keys(y).length);if(e._redrawFromAutoMarginCount0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return s.call("redraw",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit("plotly_transitioninterrupted",[])}));var a=0,o=0;function l(){return a++,function(){var e;o++,n||o!==a||(e=i,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return s.call("redraw",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])})).then(e)))}}r.runFn(l),setTimeout(l())}))}],a=c.syncOrAsync(i,t);return a&&a.then||(a=Promise.resolve()),a.then((function(){return t}))}_.didMarginChange=function(t,e){for(var r=0;r1)return!0}return!1},_.graphJson=function(t,e,r,n,i,a){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&_.supplyDefaults(t);var o=i?t._fullData:t.data,s=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames;function u(t,e){if("function"==typeof t)return e?"_function_":null;if(c.isPlainObject(t)){var n,i={};return Object.keys(t).sort().forEach((function(a){if(-1===["_","["].indexOf(a.charAt(0)))if("function"!=typeof t[a]){if("keepdata"===r){if("src"===a.substr(a.length-3))return}else if("keepstream"===r){if("string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0&&!c.isPlainObject(t.stream))return}else if("keepall"!==r&&"string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0)return;i[a]=u(t[a],e)}else e&&(i[a]="_function")})),i}return Array.isArray(t)?t.map((function(t){return u(t,e)})):c.isTypedArray(t)?c.simpleMap(t,c.identity):c.isJSDate(t)?c.ms2DateTimeLocal(+t):t}var f={data:(o||[]).map((function(t){var r=u(t);return e&&delete r.fit,r}))};if(!e&&(f.layout=u(s),i)){var h=s._size;f.layout.computed={margin:{b:h.b,l:h.l,r:h.r,t:h.t}}}return l&&(f.frames=u(l)),a&&(f.config=u(t._context,!0)),"object"===n?f:JSON.stringify(f)},_.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;a--)if(s[a].enabled){r._indexToPoints=s[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:h,y:h}]),o[0].t||(o[0].t={}),o[0].trace=r,d[e]=o}}for(z(o,u,f),i=0;i1e-10?t:0}function h(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a0?r:1/0})),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:u,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),u=(-o+l)/(2*a),c=(-o-l)/(2*a);return[[u,e*u+i+n],[c,e*c+i+n]]},clampTiny:f,pathPolygon:function(t,e,r,n,i,a){return"M"+h(c(t,e,r,n),i,a).join("L")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t=90||i>90&&a>=450?1:s<=0&&u<=0?0:Math.max(s,u),[i<=180&&a>=180||i>180&&a>=540?-1:o>=0&&l>=0?0:Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?-1:s>=0&&u>=0?0:Math.min(s,u),a>=360?1:o<=0&&l<=0?0:Math.max(o,l),e]}(d),_=b[2]-b[0],w=b[3]-b[1],T=p/h,k=Math.abs(w/_);T>k?(v=h,x=(p-(g=h*k))/i.h/2,y=[s[0],s[1]],m=[f[0]+x,f[1]-x]):(g=p,x=(h-(v=p/k))/i.w/2,y=[s[0]+x,s[1]-x],m=[f[0],f[1]]),r.xLength2=v,r.yLength2=g,r.xDomain2=y,r.yDomain2=m;var A,M=r.xOffset2=i.l+i.w*y[0],S=r.yOffset2=i.t+i.h*(1-m[1]),E=r.radius=v/_,L=r.innerRadius=r.getHole(e)*E,C=r.cx=M-E*b[0],P=r.cy=S+E*b[3],O=r.cxx=C-M,I=r.cyy=P-S,D=a.side;"counterclockwise"===D?(A=D,D="top"):"clockwise"===D&&(A=D,D="bottom"),r.radialAxis=r.mockAxis(t,e,a,{_id:"x",side:D,_trueSide:A,domain:[L/i.w,E/i.w]}),r.angularAxis=r.mockAxis(t,e,o,{side:"right",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(t,e),r.updateAngularAxis(t,e),r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.xaxis=r.mockCartesianAxis(t,e,{_id:"x",domain:y}),r.yaxis=r.mockCartesianAxis(t,e,{_id:"y",domain:m});var F=r.pathSubplot();r.clipPaths.forTraces.select("path").attr("d",F).attr("transform",l(O,I)),n.frontplot.attr("transform",l(M,S)).call(c.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr("d",F).attr("transform",l(C,P)).call(u.fill,e.bgcolor)},N.mockAxis=function(t,e,r,n){var i=o.extendFlat({},r,n);return d(i,e,t),i},N.mockCartesianAxis=function(t,e,r){var n=this,i=n.isSmith,a=r._id,s=o.extendFlat({type:"linear"},r);p(s,t);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var t=n.sectorBBox,r=l[a],i=n.radialAxis._rl,o=(i[1]-i[0])/(1-n.getHole(e));s.range=[t[r[0]]*o,t[r[1]]*o]},s.isPtWithinRange="x"!==a||i?function(){return!0}:function(t){return n.isPtInside(t)},s.setRange(),s.setScale(),s},N.doAutoRange=function(t,e){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(e);v(n,i);var o=i.range;a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,"gregorian"),i.r2l(o[1],null,"gregorian")]},N.updateRadialAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,c=r.innerRadius,f=r.cx,p=r.cy,d=r.getRadial(e),v=z(r.getSector(e)[0],360),g=r.radialAxis,y=c90&&v<=270&&(g.tickangle=180);var x=m?function(t){var e=I(r,C([t.x,0]));return l(e[0]-f,e[1]-p)}:function(t){return l(g.l2p(t.x)+c,0)},b=m?function(t){return O(r,t.x,-1/0,1/0)}:function(t){return r.pathArc(g.r2p(t.x)+c)},_=j(d);if(r.radialTickLayout!==_&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=_),y){g.setScale();var w=0,T=m?(g.tickvals||[]).filter((function(t){return t>=0})).map((function(t){return h.tickText(g,t,!0,!1)})):h.calcTicks(g),k=m?T:h.clipEnds(g,T),A=h.getTickSigns(g)[2];m&&(("top"===g.ticks&&"bottom"===g.side||"bottom"===g.ticks&&"top"===g.side)&&(A=-A),"top"===g.ticks&&"top"===g.side&&(w=-g.ticklen),"bottom"===g.ticks&&"bottom"===g.side&&(w=g.ticklen)),h.drawTicks(n,g,{vals:T,layer:i["radial-axis"],path:h.makeTickPath(g,0,A),transFn:x,crisp:!1}),h.drawGrid(n,g,{vals:k,layer:i["radial-grid"],path:b,transFn:o.noop,crisp:!1}),h.drawLabels(n,g,{vals:T,layer:i["radial-axis"],transFn:x,labelFns:h.makeLabelFns(g,w)})}var M=r.radialAxisAngle=r.vangles?F(U(R(d.angle),r.vangles)):d.angle,S=l(f,p),E=S+s(-M);V(i["radial-axis"],y&&(d.showticklabels||d.ticks),{transform:E}),V(i["radial-grid"],y&&d.showgrid,{transform:m?"":S}),V(i["radial-line"].select("line"),y&&d.showline,{x1:m?-a:c,y1:0,x2:a,y2:0,transform:E}).attr("stroke-width",d.linewidth).call(u.stroke,d.linecolor)},N.updateRadialAxisTitle=function(t,e,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(e),u=n.id+"title",f=0;if(l.title){var h=c.bBox(n.layers["radial-axis"].node()).height,p=l.title.font.size,d=l.side;f="top"===d?p:"counterclockwise"===d?-(h+.4*p):h+.8*p}var v=void 0!==r?r:n.radialAxisAngle,g=R(v),y=Math.cos(g),m=Math.sin(g),b=o+a/2*y+f*m,_=s-a/2*m+f*y;n.layers["radial-axis-title"]=x.draw(i,u,{propContainer:l,propName:n.id+".radialaxis.title",placeholder:D(i,"Click to enter radial axis title"),attributes:{x:b,y:_,"text-anchor":"middle"},transform:{rotate:-v}})}},N.updateAngularAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,c=r.innerRadius,f=r.cx,p=r.cy,d=r.getAngular(e),v=r.angularAxis,g=r.isSmith;g||(r.fillViewInitialKey("angularaxis.rotation",d.rotation),v.setGeometry(),v.setScale());var y=g?function(t){var e=I(r,C([0,t.x]));return Math.atan2(e[0]-f,e[1]-p)-Math.PI/2}:function(t){return v.t2g(t.x)};"linear"===v.type&&"radians"===v.thetaunit&&(v.tick0=F(v.tick0),v.dtick=F(v.dtick));var m=function(t){return l(f+a*Math.cos(t),p-a*Math.sin(t))},x=g?function(t){var e=I(r,C([0,t.x]));return l(e[0],e[1])}:function(t){return m(y(t))},b=g?function(t){var e=I(r,C([0,t.x])),n=Math.atan2(e[0]-f,e[1]-p)-Math.PI/2;return l(e[0],e[1])+s(-F(n))}:function(t){var e=y(t);return m(e)+s(-F(e))},_=g?function(t){return P(r,t.x,0,1/0)}:function(t){var e=y(t),r=Math.cos(e),n=Math.sin(e);return"M"+[f+c*r,p-c*n]+"L"+[f+a*r,p-a*n]},w=h.makeLabelFns(v,0).labelStandoff,T={xFn:function(t){var e=y(t);return Math.cos(e)*w},yFn:function(t){var e=y(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(w+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*M)},anchorFn:function(t){var e=y(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(t,e,r){var n=y(t);return-.5*(1+Math.sin(n))*r}},k=j(d);r.angularTickLayout!==k&&(i["angular-axis"].selectAll("."+v._id+"tick").remove(),r.angularTickLayout=k);var A,S=g?[1/0].concat(v.tickvals||[]).map((function(t){return h.tickText(v,t,!0,!1)})):h.calcTicks(v);if(g&&(S[0].text="∞",S[0].fontSize*=1.75),"linear"===e.gridshape?(A=S.map(y),o.angleDelta(A[0],A[1])<0&&(A=A.slice().reverse())):A=null,r.vangles=A,"category"===v.type&&(S=S.filter((function(t){return o.isAngleInsideSector(y(t),r.sectorInRad)}))),v.visible){var E="inside"===v.ticks?-1:1,L=(v.linewidth||1)/2;h.drawTicks(n,v,{vals:S,layer:i["angular-axis"],path:"M"+E*L+",0h"+E*v.ticklen,transFn:b,crisp:!1}),h.drawGrid(n,v,{vals:S,layer:i["angular-grid"],path:_,transFn:o.noop,crisp:!1}),h.drawLabels(n,v,{vals:S,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:x,labelFns:T})}V(i["angular-line"].select("path"),d.showline,{d:r.pathSubplot(),transform:l(f,p)}).attr("stroke-width",d.linewidth).call(u.stroke,d.linecolor)},N.updateFx=function(t,e){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1)),this.updateHoverAndMainDrag(t))},N.updateHoverAndMainDrag=function(t){var e,r,s=this,u=s.isSmith,c=s.gd,f=s.layers,h=t._zoomlayer,p=S.MINZOOM,d=S.OFFEDGE,v=s.radius,x=s.innerRadius,T=s.cx,k=s.cy,A=s.cxx,M=s.cyy,L=s.sectorInRad,C=s.vangles,P=s.radialAxis,O=E.clampTiny,I=E.findXYatLength,D=E.findEnclosingVertexAngles,z=S.cornerHalfWidth,R=S.cornerLen/2,F=g.makeDragger(f,"path","maindrag",!1===t.dragmode?"none":"crosshair");n.select(F).attr("d",s.pathSubplot()).attr("transform",l(T,k)),F.onmousemove=function(t){m.hover(c,t,s.id),c._fullLayout._lasthover=F,c._fullLayout._hoversubplot=s.id},F.onmouseout=function(t){c._dragging||y.unhover(c,t)};var B,N,j,U,V,H,q,G,Z,Y={element:F,gd:c,subplot:s.id,plotinfo:{id:s.id,xaxis:s.xaxis,yaxis:s.yaxis},xaxes:[s.xaxis],yaxes:[s.yaxis]};function W(t,e){return Math.sqrt(t*t+e*e)}function X(t,e){return W(t-A,e-M)}function J(t,e){return Math.atan2(M-e,t-A)}function K(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function $(t,e){if(0===t)return s.pathSector(2*z);var r=R/t,n=e-r,i=e+r,a=Math.max(0,Math.min(t,v)),o=a-z,l=a+z;return"M"+K(o,n)+"A"+[o,o]+" 0,0,0 "+K(o,i)+"L"+K(l,i)+"A"+[l,l]+" 0,0,1 "+K(l,n)+"Z"}function Q(t,e,r){if(0===t)return s.pathSector(2*z);var n,i,a=K(t,e),o=K(t,r),l=O((a[0]+o[0])/2),u=O((a[1]+o[1])/2);if(l&&u){var c=u/l,f=-1/c,h=I(z,c,l,u);n=I(R,f,h[0][0],h[0][1]),i=I(R,f,h[1][0],h[1][1])}else{var p,d;u?(p=R,d=z):(p=z,d=R),n=[[l-p,u-d],[l+p,u-d]],i=[[l-p,u+d],[l+p,u+d]]}return"M"+n.join("L")+"L"+i.reverse().join("L")+"Z"}function tt(t,e){return e=Math.max(Math.min(e,v),x),tp?(t-1&&1===t&&_(e,c,[s.xaxis],[s.yaxis],s.id,Y),r.indexOf("event")>-1&&m.click(c,e,s.id)}Y.prepFn=function(t,n,a){var l=c._fullLayout.dragmode,f=F.getBoundingClientRect();c._fullLayout._calcInverseTransform(c);var p=c._fullLayout._invTransform;e=c._fullLayout._invScaleX,r=c._fullLayout._invScaleY;var d=o.apply3DTransform(p)(n-f.left,a-f.top);if(B=d[0],N=d[1],C){var y=E.findPolygonOffset(v,L[0],L[1],C);B+=A+y[0],N+=M+y[1]}switch(l){case"zoom":Y.clickFn=st,u||(Y.moveFn=C?it:rt,Y.doneFn=at,function(){j=null,U=null,V=s.pathSubplot(),H=!1;var t=c._fullLayout[s.id];q=i(t.bgcolor).getLuminance(),(G=g.makeZoombox(h,q,T,k,V)).attr("fill-rule","evenodd"),Z=g.makeCorners(h,T,k),w(c)}());break;case"select":case"lasso":b(t,n,a,Y,l)}},y.init(Y)},N.updateRadialDrag=function(t,e,r){var i=this,u=i.gd,c=i.layers,f=i.radius,h=i.innerRadius,p=i.cx,d=i.cy,v=i.radialAxis,m=S.radialDragBoxSize,x=m/2;if(v.visible){var b,_,T,M=R(i.radialAxisAngle),E=v._rl,L=E[0],C=E[1],P=E[r],O=.75*(E[1]-E[0])/(1-i.getHole(e))/f;r?(b=p+(f+x)*Math.cos(M),_=d-(f+x)*Math.sin(M),T="radialdrag"):(b=p+(h-x)*Math.cos(M),_=d-(h-x)*Math.sin(M),T="radialdrag-inner");var I,D,z,B=g.makeRectDragger(c,T,"crosshair",-x,-x,m,m),N={element:B,gd:u};!1===t.dragmode&&(N.dragmode=!1),V(n.select(B),v.visible&&h0==(r?z>L:zn?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case"angularaxis":!function(t,e){var r=t.type;if("linear"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return"degrees"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return"degrees"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,i){var a,o,s=e[i],l=e._length,u=function(r){return t.d2c(r,e.thetaunit)};if(s){if(n.isTypedArray(s)&&"linear"===r){if(l===s.length)return s;if(s.subarray)return s.subarray(0,l)}for(a=new Array(l),o=0;o0?1:0}function r(t){var e=t[0],r=t[1];if(!isFinite(e)||!isFinite(r))return[1,0];var n=(e+1)*(e+1)+r*r;return[(e*e+r*r-1)/n,2*r/n]}function n(t,e){var r=e[0],n=e[1];return[r*t.radius+t.cx,-n*t.radius+t.cy]}function i(t,e){return e*t.radius}t.exports={smith:r,reactanceArc:function(t,e,a,o){var s=n(t,r([a,e])),l=s[0],u=s[1],c=n(t,r([o,e])),f=c[0],h=c[1];if(0===e)return["M"+l+","+u,"L"+f+","+h].join(" ");var p=i(t,1/Math.abs(e));return["M"+l+","+u,"A"+p+","+p+" 0 0,"+(e<0?1:0)+" "+f+","+h].join(" ")},resistanceArc:function(t,a,o,s){var l=i(t,1/(a+1)),u=n(t,r([a,o])),c=u[0],f=u[1],h=n(t,r([a,s])),p=h[0],d=h[1];if(e(o)!==e(s)){var v=n(t,r([a,0]));return["M"+c+","+f,"A"+l+","+l+" 0 0,"+(00){for(var n=[],i=0;i=c&&(h.min=0,d.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function v(t,e,r,n){var i=h[e._name];function o(r,n){return a.coerce(t,e,i,r,n)}o("uirevision",n.uirevision),e.type="linear";var p=o("color"),d=p!==i.color.dflt?p:r.font.color,v=e._name.charAt(0).toUpperCase(),g="Component "+v,y=o("title.text",g);e._hovertitle=y===g?y:v,a.coerceFont(o,"title.font",{family:r.font.family,size:a.bigFont(r.font.size),color:d}),o("min"),c(t,e,o,"linear"),l(t,e,o,"linear"),s(t,e,o,"linear"),u(t,e,o,{outerTicks:!0}),o("showticklabels")&&(a.coerceFont(o,"tickfont",{family:r.font.family,size:r.font.size,color:d}),o("tickangle"),o("tickformat")),f(t,e,o,{dfltColor:p,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),o("hoverformat"),o("layer")}t.exports=function(t,e,r){o(t,e,r,{type:"ternary",attributes:h,handleDefaults:d,font:e.font,paper_bgcolor:e.paper_bgcolor})}},64380:function(t,e,r){"use strict";var n=r(39898),i=r(84267),a=r(73972),o=r(71828),s=o.strTranslate,l=o._,u=r(7901),c=r(91424),f=r(21994),h=r(1426).extendFlat,p=r(74875),d=r(89298),v=r(28569),g=r(30211),y=r(64505),m=y.freeMode,x=y.rectMode,b=r(92998),_=r(47322).prepSelect,w=r(47322).selectOnClick,T=r(47322).clearOutline,k=r(47322).clearSelectionsCache,A=r(85555);function M(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}t.exports=M;var S=M.prototype;S.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},S.plot=function(t,e){var r=this,n=e[r.id],i=e._size;r._hasClipOnAxisFalse=!1;for(var a=0;aE*b?i=(a=b)*E:a=(i=x)/E,o=y*i/x,l=m*a/b,r=e.l+e.w*v-i/2,n=e.t+e.h*(1-g)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=_,p.xaxis={type:"linear",range:[w+2*k-_,_-w-2*T],domain:[v-o/2,v+o/2],_id:"x"},f(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(t){return t.a>=p.aaxis.range[0]&&t.a<=p.aaxis.range[1]&&t.b>=p.baxis.range[1]&&t.b<=p.baxis.range[0]&&t.c>=p.caxis.range[1]&&t.c<=p.caxis.range[0]},p.yaxis={type:"linear",range:[w,_-T-k],domain:[g-l/2,g+l/2],_id:"y"},f(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var A=p.yaxis.domain[0],M=p.aaxis=h({},t.aaxis,{range:[w,_-T-k],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});f(M,p.graphDiv._fullLayout),M.setScale();var S=p.baxis=h({},t.baxis,{range:[_-w-k,T],side:"bottom",domain:p.xaxis.domain,anchor:"free",position:0,_id:"x",_length:i});f(S,p.graphDiv._fullLayout),S.setScale();var L=p.caxis=h({},t.caxis,{range:[_-w-T,k],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});f(L,p.graphDiv._fullLayout),L.setScale();var C="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDef.select("path").attr("d",C),p.layers.plotbg.select("path").attr("d",C);var P="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDefRelative.select("path").attr("d",P);var O=s(r,n);p.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",O),p.clipDefRelative.select("path").attr("transform",null);var I=s(r-S._offset,n+a);p.layers.baxis.attr("transform",I),p.layers.bgrid.attr("transform",I);var D=s(r+i/2,n)+"rotate(30)"+s(0,-M._offset);p.layers.aaxis.attr("transform",D),p.layers.agrid.attr("transform",D);var z=s(r+i/2,n)+"rotate(-30)"+s(0,-L._offset);p.layers.caxis.attr("transform",z),p.layers.cgrid.attr("transform",z),p.drawAxes(!0),p.layers.aline.select("path").attr("d",M.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(u.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),p.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(u.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),p.layers.cline.select("path").attr("d",L.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(u.stroke,L.linecolor||"#000").style("stroke-width",(L.linewidth||0)+"px"),p.graphDiv._context.staticPlot||p.initInteractions(),c.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(t){var e=this,r=e.graphDiv,n=e.id.substr(7)+"title",i=e.layers,a=e.aaxis,o=e.baxis,s=e.caxis;if(e.drawAx(a),e.drawAx(o),e.drawAx(s),t){var u=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?.75*s.tickfont.size:0)+("outside"===s.ticks?.87*s.ticklen:0)),c=(o.showticklabels?o.tickfont.size:0)+("outside"===o.ticks?o.ticklen:0)+3;i["a-title"]=b.draw(r,"a"+n,{propContainer:a,propName:e.id+".aaxis.title",placeholder:l(r,"Click to enter Component A title"),attributes:{x:e.x0+e.w/2,y:e.y0-a.title.font.size/3-u,"text-anchor":"middle"}}),i["b-title"]=b.draw(r,"b"+n,{propContainer:o,propName:e.id+".baxis.title",placeholder:l(r,"Click to enter Component B title"),attributes:{x:e.x0-c,y:e.y0+e.h+.83*o.title.font.size+c,"text-anchor":"middle"}}),i["c-title"]=b.draw(r,"c"+n,{propContainer:s,propName:e.id+".caxis.title",placeholder:l(r,"Click to enter Component C title"),attributes:{x:e.x0+e.w+c,y:e.y0+e.h+.83*s.title.font.size+c,"text-anchor":"middle"}})}},S.drawAx=function(t){var e,r=this,n=r.graphDiv,i=t._name,a=i.charAt(0),s=t._id,l=r.layers[i],u=a+"tickLayout",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);r[u]!==c&&(l.selectAll("."+s+"tick").remove(),r[u]=c),t.setScale();var f=d.calcTicks(t),h=d.clipEnds(t,f),p=d.makeTransTickFn(t),v=d.getTickSigns(t)[2],g=o.deg2rad(30),y=v*(t.linewidth||1)/2,m=v*t.ticklen,x=r.w,b=r.h,_="b"===a?"M0,"+y+"l"+Math.sin(g)*m+","+Math.cos(g)*m:"M"+y+",0l"+Math.cos(g)*m+","+-Math.sin(g)*m,w={a:"M0,0l"+b+",-"+x/2,b:"M0,0l-"+x/2+",-"+b,c:"M0,0l-"+b+","+x/2}[a];d.drawTicks(n,t,{vals:"inside"===t.ticks?h:f,layer:l,path:_,transFn:p,crisp:!1}),d.drawGrid(n,t,{vals:h,layer:r.layers[a+"grid"],path:w,transFn:p,crisp:!1}),d.drawLabels(n,t,{vals:f,layer:l,transFn:p,labelFns:d.makeLabelFns(t,0,30)})};var L=A.MINZOOM/2+.87,C="m-0.87,.5h"+L+"v3h-"+(L+5.2)+"l"+(L/2+2.6)+",-"+(.87*L+4.5)+"l2.6,1.5l-"+L/2+","+.87*L+"Z",P="m0.87,.5h-"+L+"v3h"+(L+5.2)+"l-"+(L/2+2.6)+",-"+(.87*L+4.5)+"l-2.6,1.5l"+L/2+","+.87*L+"Z",O="m0,1l"+L/2+","+.87*L+"l2.6,-1.5l-"+(L/2+2.6)+",-"+(.87*L+4.5)+"l-"+(L/2+2.6)+","+(.87*L+4.5)+"l2.6,1.5l"+L/2+",-"+.87*L+"Z",I=!0;function D(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}S.clearOutline=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var t,e,r,n,f,h,p,d,y,b,T,k,M=this,S=M.layers.plotbg.select("path").node(),L=M.graphDiv,z=L._fullLayout._zoomlayer;function R(t){var e={};return e[M.id+".aaxis.min"]=t.a,e[M.id+".baxis.min"]=t.b,e[M.id+".caxis.min"]=t.c,e}function F(t,e){var r=L._fullLayout.clickmode;D(L),2===t&&(L.emit("plotly_doubleclick",null),a.call("_guiRelayout",L,R({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&w(e,L,[M.xaxis],[M.yaxis],M.id,M.dragOptions),r.indexOf("event")>-1&&g.click(L,e,M.id)}function B(t,e){return 1-e/M.h}function N(t,e){return 1-(t+(M.h-e)/Math.sqrt(3))/M.w}function j(t,e){return(t-(M.h-e)/Math.sqrt(3))/M.w}function U(i,a){var o=r+i*t,s=n+a*e,l=Math.max(0,Math.min(1,B(0,n),B(0,s))),u=Math.max(0,Math.min(1,N(r,n),N(o,s))),c=Math.max(0,Math.min(1,j(r,n),j(o,s))),v=(l/2+c)*M.w,g=(1-l/2-u)*M.w,m=(v+g)/2,x=g-v,_=(1-l)*M.h,w=_-x/E;x.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),k.transition().style("opacity",1).duration(200),b=!0),L.emit("plotly_relayouting",R(p))}function V(){D(L),p!==f&&(a.call("_guiRelayout",L,R(p)),I&&L.data&&L._context.showTips&&(o.notifier(l(L,"Double-click to zoom back out"),"long"),I=!1))}function H(t,e){var r=t/M.xaxis._m,n=e/M.yaxis._m,i=[(p={a:f.a-n,b:f.b+(r+n)/2,c:f.c-(r-n)/2}).a,p.b,p.c].sort(o.sorterAsc),a=i.indexOf(p.a),l=i.indexOf(p.b),u=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[a],b:i[l],c:i[u]},e=(f.a-p.a)*M.yaxis._m,t=(f.c-p.c-f.b+p.b)*M.xaxis._m);var h=s(M.x0+t,M.y0+e);M.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",h);var d=s(-t,-e);M.clipDefRelative.select("path").attr("transform",d),M.aaxis.range=[p.a,M.sum-p.b-p.c],M.baxis.range=[M.sum-p.a-p.c,p.b],M.caxis.range=[M.sum-p.a-p.b,p.c],M.drawAxes(!1),M._hasClipOnAxisFalse&&M.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,M),L.emit("plotly_relayouting",R(p))}function q(){a.call("_guiRelayout",L,R(p))}this.dragOptions={element:S,gd:L,plotinfo:{id:M.id,domain:L._fullLayout[M.id].domain,xaxis:M.xaxis,yaxis:M.yaxis},subplot:M.id,prepFn:function(a,l,c){M.dragOptions.xaxes=[M.xaxis],M.dragOptions.yaxes=[M.yaxis],t=L._fullLayout._invScaleX,e=L._fullLayout._invScaleY;var v=M.dragOptions.dragmode=L._fullLayout.dragmode;m(v)?M.dragOptions.minDrag=1:M.dragOptions.minDrag=void 0,"zoom"===v?(M.dragOptions.moveFn=U,M.dragOptions.clickFn=F,M.dragOptions.doneFn=V,function(t,e,a){var l=S.getBoundingClientRect();r=e-l.left,n=a-l.top,L._fullLayout._calcInverseTransform(L);var c=L._fullLayout._invTransform,v=o.apply3DTransform(c)(r,n);r=v[0],n=v[1],f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,h=M.aaxis.range[1]-f.a,d=i(M.graphDiv._fullLayout[M.id].bgcolor).getLuminance(),y="M0,"+M.h+"L"+M.w/2+", 0L"+M.w+","+M.h+"Z",b=!1,T=z.append("path").attr("class","zoombox").attr("transform",s(M.x0,M.y0)).style({fill:d>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",y),k=z.append("path").attr("class","zoombox-corners").attr("transform",s(M.x0,M.y0)).style({fill:u.background,stroke:u.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),M.clearOutline(L)}(0,l,c)):"pan"===v?(M.dragOptions.moveFn=H,M.dragOptions.clickFn=F,M.dragOptions.doneFn=q,f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,M.clearOutline(L)):(x(v)||m(v))&&_(a,l,c,M.dragOptions,v)}},S.onmousemove=function(t){g.hover(L,t,M.id),L._fullLayout._lasthover=S,L._fullLayout._hoversubplot=M.id},S.onmouseout=function(t){L._dragging||v.unhover(L,t)},v.init(this.dragOptions)}},73972:function(t,e,r){"use strict";var n=r(47769),i=r(64213),a=r(75138),o=r(41965),s=r(24401).addStyleRule,l=r(1426),u=r(9012),c=r(10820),f=l.extendFlat,h=l.extendDeepAll;function p(t){var r=t.name,i=t.categories,a=t.meta;if(e.modules[r])n.log("Type "+r+" already registered");else{e.subplotsRegistry[t.basePlotModule.name]||function(t){var r=t.name;if(e.subplotsRegistry[r])n.log("Plot type "+r+" already registered.");else for(var i in y(t),e.subplotsRegistry[r]=t,e.componentsRegistry)b(i,t.name)}(t.basePlotModule);for(var o={},l=0;l-1&&(f[p[r]].title={text:""});for(r=0;r")?"":e.html(t).text()}));return e.remove(),r}(w)).replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(c,"'"),i.isIE()&&(w=(w=(w=w.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),w}},75341:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){for(var r=0;rf+u||!n(c))}for(var p=0;pa))return e}return void 0!==r?r:t.dflt},e.coerceColor=function(t,e,r){return i(e).isValid()?e:void 0!==r?r:t.dflt},e.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},e.getValue=function(t,e){var r;return Array.isArray(t)?e0?e+=r:c<0&&(e-=r)}return e}function D(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,_+(i-e)/(i-r)-1)}var z=t[f+"a"],R=t[h+"a"];v=Math.abs(z.r2c(z.range[1])-z.r2c(z.range[0]));var F=n.getDistanceFunction(i,p,d,(function(t){return(p(t)+d(t))/2}));if(n.getClosest(g,F,t),!1!==t.index&&g[t.index].p!==u){k||(L=function(t){return Math.min(A(t),t.p-m.bargroupwidth/2)},C=function(t){return Math.max(M(t),t.p+m.bargroupwidth/2)});var B=g[t.index],N=y.base?B.b+B.s:B.s;t[h+"0"]=t[h+"1"]=R.c2p(B[h],!0),t[h+"LabelVal"]=N;var j=m.extents[m.extents.round(B.p)];t[f+"0"]=z.c2p(x?L(B):j[0],!0),t[f+"1"]=z.c2p(x?C(B):j[1],!0);var U=void 0!==B.orig_p;return t[f+"LabelVal"]=U?B.orig_p:B.p,t.labelLabel=l(z,t[f+"LabelVal"],y[f+"hoverformat"]),t.valueLabel=l(R,t[h+"LabelVal"],y[h+"hoverformat"]),t.baseLabel=l(R,B.b,y[h+"hoverformat"]),t.spikeDistance=(function(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,w+(i-e)/(i-r)-1)}(B)+function(t){return P(A(t),M(t),w)}(B))/2,t[f+"Spike"]=z.c2p(B.p,!0),o(B,y,t),t.hovertemplate=y.hovertemplate,t}}function f(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=s(t,e);return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}t.exports={hoverPoints:function(t,e,r,n,a){var o=c(t,e,r,n,a);if(o){var s=o.cd,l=s[0].trace,u=s[o.index];return o.color=f(l,u),i.getComponentMethod("errorbars","hoverInfo")(u,l,o),[o]}},hoverOnBars:c,getTraceColor:f}},60822:function(t,e,r){"use strict";t.exports={attributes:r(1486),layoutAttributes:r(43641),supplyDefaults:r(90769).supplyDefaults,crossTraceDefaults:r(90769).crossTraceDefaults,supplyLayoutDefaults:r(13957),calc:r(92290),crossTraceCalc:r(11661).crossTraceCalc,colorbar:r(4898),arraysToCalcdata:r(75341),plot:r(17295).plot,style:r(16688).style,styleOnSelect:r(16688).styleOnSelect,hoverPoints:r(95423).hoverPoints,eventData:r(58065),selectPoints:r(81974),moduleType:"trace",name:"bar",basePlotModule:r(93612),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}},43641:function(t){"use strict";t.exports={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"}}},13957:function(t,e,r){"use strict";var n=r(73972),i=r(89298),a=r(71828),o=r(43641);t.exports=function(t,e,r){function s(r,n){return a.coerce(t,e,o,r,n)}for(var l=!1,u=!1,c=!1,f={},h=s("barmode"),p=0;p0}function S(t){return"auto"===t?0:t}function E(t,e){var r=Math.PI/180*e,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:t.width*i+t.height*n,y:t.width*n+t.height*i}}function L(t,e,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor||"end",c="end"===u,f="start"===u,h=((a.leftToRight||0)+1)/2,p=1-h,d=i.width,v=i.height,g=Math.abs(e-t),y=Math.abs(n-r),m=g>2*_&&y>2*_?_:0;g-=2*m,y-=2*m;var x=S(l);"auto"!==l||d<=g&&v<=y||!(d>g||v>y)||(d>y||v>g)&&d.01?G:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?G(t):t>e?Math.ceil(t):Math.floor(t)};N=Z(N,j,R),j=Z(j,N,R),U=Z(U,V,!R),V=Z(V,U,!R)}var Y=A(a.ensureSingle(I,"path"),P,g,y);if(Y.style("vector-effect",O?"none":"non-scaling-stroke").attr("d",isNaN((j-N)*(V-U))||H&&t._context.staticPlot?"M0,0Z":"M"+N+","+U+"V"+V+"H"+j+"V"+U+"Z").call(l.setClipUrl,e.layerClipId,t),!P.uniformtext.mode&&F){var W=l.makePointStyleFns(f);l.singlePointStyle(u,Y,f,W,t)}!function(t,e,r,n,i,s,u,f,p,g,y){var w,T=e.xaxis,M=e.yaxis,C=t._fullLayout;function P(e,r,n){return a.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+w,"text-anchor":"middle","data-notex":1}).call(l.font,n).call(o.convertToTspans,t)}var O=n[0].trace,I="h"===O.orientation,D=function(t,e,r,n,i){var o,s=e[0].trace;return o=s.texttemplate?function(t,e,r,n,i){var o=e[0].trace,s=a.castOption(o,r,"texttemplate");if(!s)return"";var l,u,f,h,p="histogram"===o.type,d="waterfall"===o.type,v="funnel"===o.type,g="h"===o.orientation;function y(t){return c(h,h.c2l(t),!0).text}g?(l="y",u=i,f="x",h=n):(l="x",u=n,f="y",h=i);var m,x=e[r],_={};_.label=x.p,_.labelLabel=_[l+"Label"]=(m=x.p,c(u,u.c2l(m),!0).text);var w=a.castOption(o,x.i,"text");(0===w||w)&&(_.text=w),_.value=x.s,_.valueLabel=_[f+"Label"]=y(x.s);var T={};b(T,o,x.i),(p||void 0===T.x)&&(T.x=g?_.value:_.label),(p||void 0===T.y)&&(T.y=g?_.label:_.value),(p||void 0===T.xLabel)&&(T.xLabel=g?_.valueLabel:_.labelLabel),(p||void 0===T.yLabel)&&(T.yLabel=g?_.labelLabel:_.valueLabel),d&&(_.delta=+x.rawS||x.s,_.deltaLabel=y(_.delta),_.final=x.v,_.finalLabel=y(_.final),_.initial=_.final-_.delta,_.initialLabel=y(_.initial)),v&&(_.value=x.s,_.valueLabel=y(_.value),_.percentInitial=x.begR,_.percentInitialLabel=a.formatPercent(x.begR),_.percentPrevious=x.difR,_.percentPreviousLabel=a.formatPercent(x.difR),_.percentTotal=x.sumR,_.percenTotalLabel=a.formatPercent(x.sumR));var k=a.castOption(o,x.i,"customdata");return k&&(_.customdata=k),a.texttemplateString(s,_,t._d3locale,T,_,o._meta||{})}(t,e,r,n,i):s.textinfo?function(t,e,r,n){var i=t[0].trace,o="h"===i.orientation,s="waterfall"===i.type,l="funnel"===i.type;function u(t){return c(o?r:n,+t,!0).text}var f,h,p=i.textinfo,d=t[e],v=p.split("+"),g=[],y=function(t){return-1!==v.indexOf(t)};if(y("label")&&g.push((h=t[e].p,c(o?n:r,h,!0).text)),y("text")&&(0===(f=a.castOption(i,d.i,"text"))||f)&&g.push(f),s){var m=+d.rawS||d.s,x=d.v,b=x-m;y("initial")&&g.push(u(b)),y("delta")&&g.push(u(m)),y("final")&&g.push(u(x))}if(l){y("value")&&g.push(u(d.s));var _=0;y("percent initial")&&_++,y("percent previous")&&_++,y("percent total")&&_++;var w=_>1;y("percent initial")&&(f=a.formatPercent(d.begR),w&&(f+=" of initial"),g.push(f)),y("percent previous")&&(f=a.formatPercent(d.difR),w&&(f+=" of previous"),g.push(f)),y("percent total")&&(f=a.formatPercent(d.sumR),w&&(f+=" of total"),g.push(f))}return g.join("
")}(e,r,n,i):v.getValue(s.text,r),v.coerceString(m,o)}(C,n,i,T,M);w=function(t,e){var r=v.getValue(t.textposition,e);return v.coerceEnumerated(x,r)}(O,i);var z="stack"===g.mode||"relative"===g.mode,R=n[i],F=!z||R._outmost;if(D&&"none"!==w&&(!R.isBlank&&s!==u&&f!==p||"auto"!==w&&"inside"!==w)){var B=C.font,N=d.getBarColor(n[i],O),j=d.getInsideTextFont(O,i,B,N),U=d.getOutsideTextFont(O,i,B),V=r.datum();I?"log"===T.type&&V.s0<=0&&(s=T.range[0]0&&Z>0&&(G<=W&&Z<=X||G<=X&&Z<=W||(I?W>=G*(X/Z):X>=Z*(W/G)))?w="inside":(w="outside",H.remove(),H=null)):w="inside"),!H){var J=(H=P(r,D,Y=a.ensureUniformFontSize(t,"outside"===w?U:j))).attr("transform");if(H.attr("transform",""),G=(q=l.bBox(H.node())).width,Z=q.height,H.attr("transform",J),G<=0||Z<=0)return void H.remove()}var K,$=O.textangle;K="outside"===w?function(t,e,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,u=a.angle||0,c=i.width,f=i.height,h=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*_?_:0:h>2*_?_:0;var d=1;l&&(d=s?Math.min(1,p/f):Math.min(1,h/c));var v=S(u),g=E(i,v),y=(s?g.x:g.y)/2,m=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=(t+e)/2,w=(r+n)/2,T=0,A=0,M=s?k(e,t):k(r,n);return s?(b=e-M*o,T=M*y):(w=n+M*o,A=-M*y),{textX:m,textY:x,targetX:b,targetY:w,anchorX:T,anchorY:A,scale:d,rotate:v}}(s,u,f,p,q,{isHorizontal:I,constrained:"both"===O.constraintext||"outside"===O.constraintext,angle:$}):L(s,u,f,p,q,{isHorizontal:I,constrained:"both"===O.constraintext||"inside"===O.constraintext,angle:$,anchor:O.insidetextanchor}),K.fontSize=Y.size,h("histogram"===O.type?"bar":O.type,K,C),R.transform=K;var Q=A(H,C,g,y);a.setTransormAndDisplay(Q,K)}else r.select("text").remove()}(t,e,I,r,p,N,j,U,V,g,y),e.layerClipId&&l.hideOutsideRangePoint(u,I.select("text"),w,C,f.xcalendar,f.ycalendar)}));var U=!1===f.cliponaxis;l.setClipUrl(u,U?null:e.layerClipId,t)}));u.getComponentMethod("errorbars","plot")(t,I,e,g)},toMoveInsideBar:L}},81974:function(t){"use strict";function e(t,e,r,n,i){var a=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}t.exports=function(t,r){var n,i=t.cd,a=t.xaxis,o=t.yaxis,s=i[0].trace,l="funnel"===s.type,u="h"===s.orientation,c=[];if(!1===r)for(n=0;n1||0===i.bargap&&0===i.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")})),e.selectAll("g.points").each((function(e){d(n.select(this),e[0].trace,t)})),s.getComponentMethod("errorbars","style")(e)},styleTextPoints:v,styleOnSelect:function(t,e,r){var i=e[0].trace;i.selectedpoints?function(t,e,r){a.selectedPointStyle(t.selectAll("path"),e),function(t,e,r){t.each((function(t){var i,s=n.select(this);if(t.selected){i=o.ensureUniformFontSize(r,g(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(i.color=l),a.font(s,i)}else a.selectedTextStyle(s,e)}))}(t.selectAll("text"),e,r)}(r,i,t):(d(r,i,t),s.getComponentMethod("errorbars","style")(r))},getInsideTextFont:m,getOutsideTextFont:x,getBarColor:_,resizeText:l}},98340:function(t,e,r){"use strict";var n=r(7901),i=r(52075).hasColorscale,a=r(1586),o=r(71828).coercePattern;t.exports=function(t,e,r,s,l){var u=r("marker.color",s),c=i(t,"marker");c&&a(t,e,l,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),i(t,"marker.line")&&a(t,e,l,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),o(r,"marker.pattern",u,c),r("selected.marker.color"),r("unselected.marker.color")}},72597:function(t,e,r){"use strict";var n=r(39898),i=r(71828);function a(t){return"_"+t+"Text_minsize"}t.exports={recordMinTextSize:function(t,e,r){if(r.uniformtext.mode){var n=a(t),i=r.uniformtext.minsize,o=e.scale*e.fontSize;e.hide=oh.range[1]&&(x+=Math.PI),n.getClosest(u,(function(t){return v(m,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?g+Math.min(1,Math.abs(t.thetag1-t.thetag0)/y)-1+(t.rp1-m)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var b=u[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=i.extendFlat({},b,{r:b.s,theta:b.p});return o(b,c,t),s(_,c,f,t),t.hovertemplate=c.hovertemplate,t.color=a(c,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign="left"),[t]}}},23381:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"barpolar",basePlotModule:r(23580),categories:["polar","bar","showLegend"],attributes:r(55023),layoutAttributes:r(40151),supplyDefaults:r(6135),supplyLayoutDefaults:r(19860),calc:r(74692).calc,crossTraceCalc:r(74692).crossTraceCalc,plot:r(60173),colorbar:r(4898),formatLabels:r(98608),style:r(16688).style,styleOnSelect:r(16688).styleOnSelect,hoverPoints:r(27379),selectPoints:r(81974),meta:{}}},40151:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},19860:function(t,e,r){"use strict";var n=r(71828),i=r(40151);t.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l0?(u=o,c=l):(u=l,c=o);var f=[s.findEnclosingVertexAngles(u,t.vangles)[0],(u+c)/2,s.findEnclosingVertexAngles(c,t.vangles)[1]];return s.pathPolygonAnnulus(n,i,u,c,f,e,r)}:function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),d=e.layers.frontplot.select("g.barlayer");a.makeTraceGroups(d,r,"trace bars").each((function(){var r=n.select(this),s=a.ensureSingle(r,"g","points").selectAll("g.point").data(a.identity);s.enter().append("g").style("vector-effect",l?"none":"non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each((function(t){var e,r=n.select(this),o=t.rp0=f.c2p(t.s0),s=t.rp1=f.c2p(t.s1),l=t.thetag0=h.c2g(t.p0),d=t.thetag1=h.c2g(t.p1);if(i(o)&&i(s)&&i(l)&&i(d)&&o!==s&&l!==d){var v=f.c2g(t.s1),g=(l+d)/2;t.ct=[u.c2p(v*Math.cos(g)),c.c2p(v*Math.sin(g))],e=p(o,s,l,d)}else e="M0,0Z";a.ensureSingle(r,"path").attr("d",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},53522:function(t,e,r){"use strict";var n=r(82196),i=r(1486),a=r(22399),o=r(12663).axisHoverFormat,s=r(5386).fF,l=r(1426).extendFlat,u=n.marker,c=u.line;t.exports={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"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,xhoverformat:o("x"),yhoverformat:o("y"),name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},sdmultiple:{valType:"number",min:0,editType:"calc",dflt:1},sizemode:{valType:"enumerated",values:["quartiles","sd"],editType:"calc",dflt:"quartiles"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:l({},u.symbol,{arrayOk:!1,editType:"plot"}),opacity:l({},u.opacity,{arrayOk:!1,dflt:1,editType:"style"}),angle:l({},u.angle,{arrayOk:!1,editType:"calc"}),size:l({},u.size,{arrayOk:!1,editType:"calc"}),color:l({},u.color,{arrayOk:!1,editType:"style"}),line:{color:l({},c.color,{arrayOk:!1,dflt:a.defaultLine,editType:"style"}),width:l({},c.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:n.fillcolor,whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},showwhiskers:{valType:"boolean",editType:"calc"},offsetgroup:i.offsetgroup,alignmentgroup:i.alignmentgroup,selected:{marker:n.selected.marker,editType:"style"},unselected:{marker:n.unselected.marker,editType:"style"},text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),hovertemplate:s({}),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"}}},48518:function(t,e,r){"use strict";var n=r(92770),i=r(89298),a=r(42973),o=r(71828),s=r(50606).BADNUM,l=o._;t.exports=function(t,e){var r,u,m,x,b,_,w,T=t._fullLayout,k=i.getFromId(t,e.xaxis||"x"),A=i.getFromId(t,e.yaxis||"y"),M=[],S="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(m=k,x="x",b=A,_="y",w=!!e.yperiodalignment):(m=A,x="y",b=k,_="x",w=!!e.xperiodalignment);var E,L,C,P,O,I,D=function(t,e,r,i){var s,l=e+"0"in t;if(e in t||l&&"d"+e in t){var u=r.makeCalcdata(t,e);return[a(t,r,e,u).vals,u]}s=l?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||o.isDateTime(t.name)&&"date"===r.type)?t.name:i;for(var c="multicategory"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+"calendar"]),f=t._length,h=new Array(f),p=0;pE.uf};if(e._hasPreCompStats){var U=e[x],V=function(t){return m.d2c((e[t]||[])[r])},H=1/0,q=-1/0;for(r=0;r=E.q1&&E.q3>=E.med){var Z=V("lowerfence");E.lf=Z!==s&&Z<=E.q1?Z:p(E,C,P);var Y=V("upperfence");E.uf=Y!==s&&Y>=E.q3?Y:d(E,C,P);var W=V("mean");E.mean=W!==s?W:P?o.mean(C,P):(E.q1+E.q3)/2;var X=V("sd");E.sd=W!==s&&X>=0?X:P?o.stdev(C,P,E.mean):E.q3-E.q1,E.lo=v(E),E.uo=g(E);var J=V("notchspan");J=J!==s&&J>0?J:y(E,P),E.ln=E.med-J,E.un=E.med+J;var K=E.lf,$=E.uf;e.boxpoints&&C.length&&(K=Math.min(K,C[0]),$=Math.max($,C[P-1])),e.notched&&(K=Math.min(K,E.ln),$=Math.max($,E.un)),E.min=K,E.max=$}else{var Q;o.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+E.q1,"median = "+E.med,"q3 = "+E.q3].join("\n")),Q=E.med!==s?E.med:E.q1!==s?E.q3!==s?(E.q1+E.q3)/2:E.q1:E.q3!==s?E.q3:0,E.med=Q,E.q1=E.q3=Q,E.lf=E.uf=Q,E.mean=E.sd=Q,E.ln=E.un=Q,E.min=E.max=Q}H=Math.min(H,E.min),q=Math.max(q,E.max),E.pts2=L.filter(j),M.push(E)}}e._extremes[m._id]=i.findExtremes(m,[H,q],{padded:!0})}else{var tt=m.makeCalcdata(e,x),et=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i=0&&it0){var ct,ft;(E={}).pos=E[_]=B[r],L=E.pts=nt[r].sort(f),P=(C=E[x]=L.map(h)).length,E.min=C[0],E.max=C[P-1],E.mean=o.mean(C,P),E.sd=o.stdev(C,P,E.mean)*e.sdmultiple,E.med=o.interp(C,.5),P%2&&(lt||ut)?(lt?(ct=C.slice(0,P/2),ft=C.slice(P/2+1)):ut&&(ct=C.slice(0,P/2+1),ft=C.slice(P/2)),E.q1=o.interp(ct,.5),E.q3=o.interp(ft,.5)):(E.q1=o.interp(C,.25),E.q3=o.interp(C,.75)),E.lf=p(E,C,P),E.uf=d(E,C,P),E.lo=v(E),E.uo=g(E);var ht=y(E,P);E.ln=E.med-ht,E.un=E.med+ht,at=Math.min(at,E.ln),ot=Math.max(ot,E.un),E.pts2=L.filter(j),M.push(E)}e._extremes[m._id]=i.findExtremes(m,e.notched?tt.concat([at,ot]):tt,{padded:!0})}return function(t,e){if(o.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(M[0].t={num:T[S],dPos:N,posLetter:_,valLetter:x,labels:{med:l(t,"median:"),min:l(t,"min:"),q1:l(t,"q1:"),q3:l(t,"q3:"),max:l(t,"max:"),mean:"sd"===e.boxmean||"sd"===e.sizemode?l(t,"mean ± σ:").replace("σ",1===e.sdmultiple?"σ":e.sdmultiple+"σ"):l(t,"mean:"),lf:l(t,"lower fence:"),uf:l(t,"upper fence:")}},T[S]++,M):[{t:{empty:!0}}]};var u={text:"tx",hovertext:"htx"};function c(t,e,r){for(var n in u)o.isArrayOrTypedArray(e[n])&&(Array.isArray(r)?o.isArrayOrTypedArray(e[n][r[0]])&&(t[u[n]]=e[n][r[0]][r[1]]):t[u[n]]=e[n][r])}function f(t,e){return t.v-e.v}function h(t){return t.v}function p(t,e,r){return 0===r?t.q1:Math.min(t.q1,e[Math.min(o.findBin(2.5*t.q1-1.5*t.q3,e,!0)+1,r-1)])}function d(t,e,r){return 0===r?t.q3:Math.max(t.q3,e[Math.max(o.findBin(2.5*t.q3-1.5*t.q1,e),0)])}function v(t){return 4*t.q1-3*t.q3}function g(t){return 4*t.q3-3*t.q1}function y(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},37188:function(t,e,r){"use strict";var n=r(89298),i=r(71828),a=r(99082).getAxisGroup,o=["v","h"];function s(t,e,r,o){var s,l,u,c=e.calcdata,f=e._fullLayout,h=o._id,p=h.charAt(0),d=[],v=0;for(s=0;s1,b=1-f[t+"gap"],_=1-f[t+"groupgap"];for(s=0;s0){var q=E.pointpos,G=E.jitter,Z=E.marker.size/2,Y=0;q+G>=0&&((Y=V*(q+G))>M?(H=!0,j=Z,B=Y):Y>R&&(j=Z,B=M)),Y<=M&&(B=M);var W=0;q-G<=0&&((W=-V*(q-G))>S?(H=!0,U=Z,N=W):W>F&&(U=Z,N=S)),W<=S&&(N=S)}else B=M,N=S;var X=new Array(u.length);for(l=0;l0?(g="v",y=x>0?Math.min(_,b):Math.min(b)):x>0?(g="h",y=Math.min(_)):y=0;if(y){e._length=y;var S=r("orientation",g);e._hasPreCompStats?"v"===S&&0===x?(r("x0",0),r("dx",1)):"h"===S&&0===m&&(r("y0",0),r("dy",1)):"v"===S&&0===x?r("x0"):"h"===S&&0===m&&r("y0"),i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],a)}else e.visible=!1}function f(t,e,r,i){var a=i.prefix,o=n.coerce2(t,e,u,"marker.outliercolor"),s=r("marker.line.outliercolor"),l="outliers";e._hasPreCompStats?l="all":(o||s)&&(l="suspectedoutliers");var c=r(a+"points",l);c?(r("jitter","all"===c?.3:0),r("pointpos","all"===c?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.angle"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===c&&(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"),r("hovertext")):delete e.marker;var f=r("hoveron");"all"!==f&&-1===f.indexOf("points")||r("hovertemplate"),n.coerceSelectionMarkerOpacity(e,r)}t.exports={supplyDefaults:function(t,e,r,i){function s(r,i){return n.coerce(t,e,u,r,i)}if(c(t,e,s,i),!1!==e.visible){o(t,e,i,s),s("xhoverformat"),s("yhoverformat");var l=e._hasPreCompStats;l&&(s("lowerfence"),s("upperfence")),s("line.color",(t.marker||{}).color||r),s("line.width"),s("fillcolor",a.addOpacity(e.line.color,.5));var h=!1;if(l){var p=s("mean"),d=s("sd");p&&p.length&&(h=!0,d&&d.length&&(h="sd"))}s("whiskerwidth");var v,g=s("sizemode");"quartiles"===g&&(v=s("boxmean",h)),s("showwhiskers","quartiles"===g),"sd"!==g&&"sd"!==v||s("sdmultiple"),s("width"),s("quartilemethod");var y=!1;if(l){var m=s("notchspan");m&&m.length&&(y=!0)}else n.validate(t.notchwidth,u.notchwidth)&&(y=!0);s("notched",y)&&s("notchwidth"),f(t,e,s,{prefix:"box"})}},crossTraceDefaults:function(t,e){var r,i;function a(t){return n.coerce(i._input,i,u,t)}for(var o=0;ot.lo&&(x.so=!0)}return a}));h.enter().append("path").classed("point",!0),h.exit().remove(),h.call(a.translatePoints,o,s)}function l(t,e,r,a){var o,s,l=e.val,u=e.pos,c=!!u.rangebreaks,f=a.bPos,h=a.bPosPxOffset||0,p=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);d.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),d.exit().remove(),d.each((function(t){var e=u.c2l(t.pos+f,!0),i=u.l2p(e-o)+h,a=u.l2p(e+s)+h,d=c?(i+a)/2:u.l2p(e)+h,v=l.c2p(t.mean,!0),g=l.c2p(t.mean-t.sd,!0),y=l.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+v+","+i+"V"+a+("sd"===p?"m0,0L"+g+","+d+"L"+v+","+i+"L"+y+","+d+"Z":"")):n.select(this).attr("d","M"+i+","+v+"H"+a+("sd"===p?"m0,0L"+d+","+g+"L"+i+","+v+"L"+d+","+y+"Z":""))}))}t.exports={plot:function(t,e,r,a){var u=t._context.staticPlot,c=e.xaxis,f=e.yaxis;i.makeTraceGroups(a,r,"trace boxes").each((function(t){var e,r,i=n.select(this),a=t[0],h=a.t,p=a.trace;h.wdPos=h.bdPos*p.whiskerwidth,!0!==p.visible||h.empty?i.remove():("h"===p.orientation?(e=f,r=c):(e=c,r=f),o(i,{pos:e,val:r},p,h,u),s(i,{x:c,y:f},p,h),l(i,{pos:e,val:r},p,h))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},24626:function(t){"use strict";t.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r=10)return null;for(var r=1/0,a=-1/0,o=t.length,s=0;s0?Math.floor:Math.ceil,O=L>0?Math.ceil:Math.floor,I=L>0?Math.min:Math.max,D=L>0?Math.max:Math.min,z=P(S+C),R=O(E-C),F=[[f=M(S)]];for(a=z;a*L=0;i--)a[c-i]=t[f][i],o[c-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:u}),s}},20347:function(t,e,r){"use strict";var n=r(89298),i=r(1426).extendFlat;t.exports=function(t,e,r){var a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],T=b._boundarylines=[],k=t["_"+r],A=t[r+"axis"];"array"===b.tickmode&&(b.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,L=M.length,C=t._a.length,P=t._b.length;n.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var O=b.smoothing?3:1;function I(n){var i,a,o,s,l,u,c,f,p,d,v,g,y=[],m=[],x={};if("b"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(P-2,a))),s=a-o,x.length=P,x.crossLength=C,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i0&&(p=t.dxydi([],i-1,o,0,s),y.push(l[0]+p[0]/3),m.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),y.push(f[0]-d[0]/3),m.push(f[1]-d[1]/3)),y.push(f[0]),m.push(f[1]),l=f;else for(i=t.a2i(n),u=Math.floor(Math.max(0,Math.min(C-2,i))),c=i-u,x.length=C,x.crossLength=P,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],u,e,c,r)},a=0;a0&&(v=t.dxydj([],u,a-1,c,0),y.push(l[0]+v[0]/3),m.push(l[1]+v[1]/3),g=t.dxydj([],u,a-1,c,1),y.push(f[0]-g[0]/3),m.push(f[1]-g[1]/3)),y.push(f[0]),m.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=h,x.x=y,x.y=m,x.smoothing=A.smoothing,x}function D(n){var i,a,o,s,l,u=[],c=[],f={};if(f.length=x.length,f.crossLength=k.length,"b"===e)for(o=Math.max(0,Math.min(P-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;ix.length-1||_.push(i(D(o),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c;hx.length-1||v<0||v>x.length-1))for(g=x[s],y=x[v],a=0;ax[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(D(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(D(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,c=(u=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort((function(t,e){return t-e})))[0],f=u[1],h=c;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(I(p),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c-1;hx[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(I(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(I(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},83311:function(t,e,r){"use strict";var n=r(89298),i=r(1426).extendFlat;t.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;re.length&&(t=t.slice(0,e.length)):t=[],i=0;i90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:u}}},89740:function(t,e,r){"use strict";var n=r(39898),i=r(91424),a=r(27669),o=r(67961),s=r(11651),l=r(63893),u=r(71828),c=u.strRotate,f=u.strTranslate,h=r(18783);function p(t,e,r,s,l,u,c){var f="const-"+l+"-lines",h=r.selectAll("."+f).data(u);h.enter().append("path").classed(f,!0).style("vector-effect",c?"none":"non-scaling-stroke"),h.each((function(r){var s=r,l=s.x,u=s.y,c=a([],l,t.c2p),f=a([],u,e.c2p),h="M"+o(c,f,s.smoothing);n.select(this).attr("d",h).style("stroke-width",s.width).style("stroke",s.color).style("stroke-dasharray",i.dashStyle(s.dash,s.width)).style("fill","none")})),h.exit().remove()}function d(t,e,r,a,o,u,h,p){var d=u.selectAll("text."+p).data(h);d.enter().append("text").classed(p,!0);var v=0,g={};return d.each((function(o,u){var h;if("auto"===o.axis.tickangle)h=s(a,e,r,o.xy,o.dxy);else{var p=(o.axis.tickangle+180)*Math.PI/180;h=s(a,e,r,o.xy,[Math.cos(p),Math.sin(p)])}u||(g={angle:h.angle,flip:h.flip});var d=(o.endAnchor?-1:1)*h.flip,y=n.select(this).attr({"text-anchor":d>0?"start":"end","data-notex":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),m=i.bBox(this);y.attr("transform",f(h.p[0],h.p[1])+c(h.angle)+f(o.axis.labelpadding*d,.3*m.height)),v=Math.max(v,m.width+o.axis.labelpadding)})),d.exit().remove(),g.maxExtent=v,g}t.exports=function(t,e,r,i){var l=t._context.staticPlot,c=e.xaxis,f=e.yaxis,h=t._fullLayout._clips;u.makeTraceGroups(i,r,"trace").each((function(e){var r=n.select(this),i=e[0],v=i.trace,g=v.aaxis,m=v.baxis,x=u.ensureSingle(r,"g","minorlayer"),b=u.ensureSingle(r,"g","majorlayer"),_=u.ensureSingle(r,"g","boundarylayer"),w=u.ensureSingle(r,"g","labellayer");r.style("opacity",v.opacity),p(c,f,b,0,"a",g._gridlines,!0),p(c,f,b,0,"b",m._gridlines,!0),p(c,f,x,0,"a",g._minorgridlines,!0),p(c,f,x,0,"b",m._minorgridlines,!0),p(c,f,_,0,"a-boundary",g._boundarylines,l),p(c,f,_,0,"b-boundary",m._boundarylines,l);var T=d(t,c,f,v,0,w,g._labels,"a-label"),k=d(t,c,f,v,0,w,m._labels,"b-label");!function(t,e,r,n,i,a,o,l){var c,f,h,p,d=u.aggNums(Math.min,null,r.a),v=u.aggNums(Math.max,null,r.a),g=u.aggNums(Math.min,null,r.b),m=u.aggNums(Math.max,null,r.b);c=.5*(d+v),f=g,h=r.ab2xy(c,f,!0),p=r.dxyda_rough(c,f),void 0===o.angle&&u.extendFlat(o,s(r,i,a,h,r.dxydb_rough(c,f))),y(t,e,r,0,h,p,r.aaxis,i,a,o,"a-title"),c=d,f=.5*(g+m),h=r.ab2xy(c,f,!0),p=r.dxydb_rough(c,f),void 0===l.angle&&u.extendFlat(l,s(r,i,a,h,r.dxyda_rough(c,f))),y(t,e,r,0,h,p,r.baxis,i,a,l,"b-title")}(t,w,v,0,c,f,T,k),function(t,e,r,n,i){var s,l,c,f,h=r.select("#"+t._clipPathId);h.size()||(h=r.append("clipPath").classed("carpetclip",!0));var p=u.ensureSingle(h,"path","carpetboundary"),d=e.clipsegments,v=[];for(f=0;f90&&m<270,b=n.select(this);b.text(h.title.text).call(l.convertToTspans,t),x&&(_=(-l.lineCount(b)+g)*v*a-_),b.attr("transform",f(e.p[0],e.p[1])+c(e.angle)+f(0,_)).attr("text-anchor","middle").call(i.font,h.title.font)})),b.exit().remove()}},11435:function(t,e,r){"use strict";var n=r(35509),i=r(65888).findBin,a=r(45664),o=r(20349),s=r(54495),l=r(73057);t.exports=function(t){var e=t._a,r=t._b,u=e.length,c=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[u-1],v=r[0],g=r[c-1],y=e[e.length-1]-e[0],m=r[r.length-1]-r[0],x=y*n.RELATIVE_CULL_TOLERANCE,b=m*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,v-=b,g+=b,t.isVisible=function(t,e){return t>p&&tv&&ed||eg},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],u,c,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),u-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),u-2),n=t[1]-e;return(1-n)*r[e]+n*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(i(t,e),u-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(u-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),c-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(c-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(n,i,a){if(!a&&(ne[u-1]|ir[c-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,v=0,g=0,y=[];ne[u-1]?(f=u-2,h=1,v=(n-e[u-1])/(e[u-1]-e[u-2])):h=o-(f=Math.max(0,Math.min(u-2,Math.floor(o)))),ir[c-1]?(p=c-2,d=1,g=(i-r[c-1])/(r[c-1]-r[c-2])):d=s-(p=Math.max(0,Math.min(c-2,Math.floor(s)))),v&&(t.dxydi(y,f,p,h,d),l[0]+=y[0]*v,l[1]+=y[1]*v),g&&(t.dxydj(y,f,p,h,d),l[0]+=y[0]*g,l[1]+=y[1]*g)}return l},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=y*(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=m*(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}}},72505:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e,r){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r0&&a0&&i1e-5);return n.log("Smoother converged to",k,"after",A,"iterations"),t}},19237:function(t,e,r){"use strict";var n=r(71828).isArray1D;t.exports=function(t,e,r){var i=r("x"),a=i&&i.length,o=r("y"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},69568:function(t,e,r){"use strict";var n=r(5386).fF,i=r(19316),a=r(50693),o=r(9012),s=r(22399).defaultLine,l=r(1426).extendFlat,u=i.marker.line;t.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:i.locationmode,z:{valType:"data_array",editType:"calc"},geojson:l({},i.geojson,{}),featureidkey:i.featureidkey,text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),marker:{line:{color:l({},u.color,{dflt:s}),width:l({},u.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:i.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:i.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},a("",{cLetter:"z",editTypeOverride:"calc"}))},38675:function(t,e,r){"use strict";var n=r(92770),i=r(50606).BADNUM,a=r(78803),o=r(75225),s=r(66279);function l(t){return t&&"string"==typeof t}t.exports=function(t,e){var r,u=e._length,c=new Array(u);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var f=0;f")}}(t,f,o),[t]}},51319:function(t,e,r){"use strict";t.exports={attributes:r(69568),supplyDefaults:r(61869),colorbar:r(61243),calc:r(38675),calcGeoJSON:r(99841).calcGeoJSON,plot:r(99841).plot,style:r(99636).style,styleOnSelect:r(99636).styleOnSelect,hoverPoints:r(42300),eventData:r(92069),selectPoints:r(81253),moduleType:"trace",name:"choropleth",basePlotModule:r(44622),categories:["geo","noOpacity","showLegend"],meta:{}}},99841:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(41327),o=r(90973).getTopojsonFeatures,s=r(71739).findExtremes,l=r(99636).style;t.exports={calcGeoJSON:function(t,e){for(var r=t[0].trace,n=e[r.geo],i=n._subplot,l=r.locationmode,u=r._length,c="geojson-id"===l?a.extractTraceFeature(t):o(r,i.topojson),f=[],h=[],p=0;p=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(a,{type:"geojson",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},12674:function(t,e,r){"use strict";var n=r(50693),i=r(12663).axisHoverFormat,a=r(5386).fF,o=r(2418),s=r(9012),l=r(1426).extendFlat,u={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",editType:"calc",min:0},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"},{keys:["norm"]}),uhoverformat:i("u",1),vhoverformat:i("v",1),whoverformat:i("w",1),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),showlegend:l({},s.showlegend,{dflt:!1})};l(u,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"})),["opacity","lightposition","lighting"].forEach((function(t){u[t]=o[t]})),u.hoverinfo=l({},s.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),u.transforms=void 0,t.exports=u},31371:function(t,e,r){"use strict";var n=r(78803);t.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,u=0;uo.level||o.starts.length&&a===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,u=-1/0,c=1/0;for(r=0;r":p>u&&(n.prefixBoundary=!0);break;case"<":(pu||n.starts.length&&h===c)&&(n.prefixBoundary=!0);break;case"][":f=Math.min(p[0],p[1]),h=Math.max(p[0],p[1]),fu&&(n.prefixBoundary=!0)}}}},90654:function(t,e,r){"use strict";var n=r(21081),i=r(86068),a=r(53572);t.exports={min:"zmin",max:"zmax",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,u=o.coloring,c=i(e,{isColorbar:!0});if("heatmap"===u){var f=n.extractOpts(e);r._fillgradient=f.reversescale?n.flipScale(f.colorscale):f.colorscale,r._zrange=[f.min,f.max]}else"fill"===u&&(r._fillcolor=c);r._line={color:"lines"===u?c:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:a(o),size:l}}}},36914:function(t){"use strict";t.exports={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}}},83179:function(t,e,r){"use strict";var n=r(92770),i=r(14523),a=r(7901),o=a.addOpacity,s=a.opacity,l=r(74808),u=l.CONSTRAINT_REDUCTION,c=l.COMPARISON_OPS2;t.exports=function(t,e,r,a,l,f){var h,p,d,v=e.contours,g=r("contours.operation");v._operation=u[g],function(t,e){var r;-1===c.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?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,v),"="===g?h=v.showlines=!0:(h=r("contours.showlines"),d=r("fillcolor",o((t.line||{}).color||l,.5))),h&&(p=r("line.color",d&&s(d)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash")),r("line.smoothing"),i(r,a,p,f)}},64237:function(t,e,r){"use strict";var n=r(74808),i=r(92770);function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(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 s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}t.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},67217:function(t){"use strict";t.exports=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")}},84857:function(t,e,r){"use strict";var n=r(71828);function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}t.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),a=t[0],r=0;r1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},53572:function(t){"use strict";t.exports=function(t){return t.end+t.size/1e6}},81696:function(t,e,r){"use strict";var n=r(71828),i=r(36914);function a(t,e,r,n){return Math.abs(t[0]-e[0])20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1,[n,a]}(f,r,e),p=[s(t,e,[-h[0],-h[1]])],d=t.z.length,v=t.z[0].length,g=e.slice(),y=h.slice();for(u=0;u<1e4;u++){if(f>20?(f=i.CHOOSESADDLE[f][(h[0]||h[1])<0?0:1],t.crossings[c]=i.SADDLEREMAINDER[f]):delete t.crossings[c],!(h=i.NEWDELTA[f])){n.log("Found bad marching index:",f,e,t.level);break}p.push(s(t,e,h)),e[0]+=h[0],e[1]+=h[1],c=e.join(","),a(p[p.length-1],p[p.length-2],o,l)&&p.pop();var m=h[0]&&(e[0]<0||e[0]>v-2)||h[1]&&(e[1]<0||e[1]>d-2);if(e[0]===g[0]&&e[1]===g[1]&&h[0]===y[0]&&h[1]===y[1]||r&&m)break;f=t.crossings[c]}1e4===u&&n.log("Infinite loop in contour?");var x,b,_,w,T,k,A,M,S,E,L,C,P,O,I,D=a(p[0],p[p.length-1],o,l),z=0,R=.2*t.smoothing,F=[],B=0;for(u=1;u=B;u--)if((x=F[u])=B&&x+F[b]M&&S--,t.edgepaths[S]=L.concat(p,E));break}V||(t.edgepaths[M]=p.concat(E))}for(M=0;M=m)&&(r<=y&&(r=y),o>=m&&(o=m),l=Math.floor((o-r)/s)+1,u=0),h=0;hy&&(v.unshift(y),g.unshift(g[0])),v[v.length-1]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}t.exports=function(t){var e,r,a,o,s,l,u,c,f,h=t[0].z,p=h.length,d=h[0].length,v=2===p||2===d;for(r=0;r=0&&(n=m,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-m[1])<.01&&(m[0]-r[0])*(n[0]-m[0])>=0&&(n=m,s=l):i.log("endpt to newendpt is not vert. or horz.",r,n,m)}if(r=n,s>=0)break;f+="L"+n}if(s===t.edgepaths.length){i.log("unclosed perimeter path");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+="Z")}for(h=0;hn.center?n.right-s:s-n.left)/(c+Math.abs(Math.sin(u)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(u)*o);if(h<1||p<1)return 1/0;var d=y.EDGECOST*(1/(h-1)+1/(p-1));d+=y.ANGLECOST*u*u;for(var v=s-c,g=l-f,m=s+c,x=l+f,b=0;b2*y.MAXCOST)break;p&&(s/=2),l=(o=u-s/2)+1.5*s}if(h<=y.MAXCOST)return c},e.addLabelData=function(t,e,r,n){var i=e.fontSize,a=e.width+i/3,o=Math.max(0,e.height-i/3),s=t.x,l=t.y,u=t.theta,c=Math.sin(u),f=Math.cos(u),h=function(t,e){return[s+t*f-e*c,l+t*c+e*f]},p=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:e.text,x:s,y:l,dy:e.dy,theta:u,level:e.level,width:a,height:o}),n.push(p)},e.drawLabels=function(t,e,r,a,o){var l=t.selectAll("text").data(e,(function(t){return t.text+","+t.x+","+t.y+","+t.theta}));if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each((function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+i+")"}).call(s.convertToTspans,r)})),o){for(var u="",c=0;cr.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if("constraint"!==r.type){var u,c=r.start,f=r.end,h=t._input.contours;c>f&&(r.start=h.start=f,f=r.end=h.end=c,c=r.start),r.size>0||(u=c===f?1:a(c,f,t.ncontours).dtick,h.size=r.size=u)}}},84426:function(t,e,r){"use strict";var n=r(39898),i=r(91424),a=r(70035),o=r(86068);t.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",(function(t){return t[0].trace.opacity})),e.each((function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,u=a.start,c="constraint"===a.type,f=!c&&"lines"===a.coloring,h=!c&&"fill"===a.coloring,p=f||h?o(r):null;e.selectAll("g.contourlevel").each((function(t){n.select(this).selectAll("path").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)}));var d=a.labelfont;if(e.selectAll("g.contourlabels text").each((function(t){i.font(n.select(this),{family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})})),c)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(h){var v;e.selectAll("g.contourfill path").style("fill",(function(t){return void 0===v&&(v=t.level),p(t.level+.5*l)})),void 0===v&&(v=u),e.selectAll("g.contourbg path").style("fill",p(v-.5*l))}})),a(t)}},8724:function(t,e,r){"use strict";var n=r(1586),i=r(14523);t.exports=function(t,e,r,a,o){var s,l=r("contours.coloring"),u="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(u=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),i(r,a,u,o)}},88085:function(t,e,r){"use strict";var n=r(21606),i=r(70600),a=r(50693),o=r(1426).extendFlat,s=i.contours;t.exports=o({carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:i.line.color,width:i.line.width,dash:i.line.dash,smoothing:i.line.smoothing,editType:"plot"},transforms:void 0},a("",{cLetter:"z",autoColorDflt:!1}))},59885:function(t,e,r){"use strict";var n=r(78803),i=r(71828),a=r(68296),o=r(4742),s=r(824),l=r(43907),u=r(70769),c=r(75005),f=r(22882),h=r(18670);t.exports=function(t,e){var r=e._carpetTrace=f(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),c(d,e,e._defaultColor,t._fullLayout)}var v=function(t,e){var r,c,f,h,p,d,v,g=e._carpetTrace,y=g.aaxis,m=g.baxis;y._minDtick=0,m._minDtick=0,i.isArray1D(e.z)&&a(e,y,m,"a","b",["z"]),r=e._a=e._a||e.a,h=e._b=e._b||e.b,r=r?y.makeCalcdata(e,"_a"):[],h=h?m.makeCalcdata(e,"_b"):[],c=e.a0||0,f=e.da||1,p=e.b0||0,d=e.db||1,v=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(v),s(v,e._emptypoints);var x=i.maxRowLength(v),b="scaled"===e.xtype?"":r,_=u(e,b,c,f,x,y),w="scaled"===e.ytype?"":h,T={a:_,b:u(e,w,p,d,v.length,m),z:v};return"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(t,e,{vals:v,containerStr:"",cLetter:"z"}),[T]}(t,e);return h(e,e._z),v}}},75005:function(t,e,r){"use strict";var n=r(71828),i=r(67684),a=r(88085),o=r(83179),s=r(67217),l=r(8724);t.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,a,r,i)}if(c("carpet"),t.a&&t.b){if(!i(t,e,c,u,"a","b"))return void(e.visible=!1);c("text"),"constraint"===c("contours.type")?o(t,e,c,u,r,{hasHover:!1}):(s(t,e,c,(function(r){return n.coerce2(t,e,a,r)})),l(t,e,c,u,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},93740:function(t,e,r){"use strict";t.exports={attributes:r(88085),supplyDefaults:r(75005),colorbar:r(90654),calc:r(59885),plot:r(51048),style:r(84426),moduleType:"trace",name:"contourcarpet",basePlotModule:r(93612),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},51048:function(t,e,r){"use strict";var n=r(39898),i=r(27669),a=r(67961),o=r(91424),s=r(71828),l=r(87678),u=r(81696),c=r(29854),f=r(36914),h=r(84857),p=r(87558),d=r(20083),v=r(22882),g=r(4536);function y(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 m(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}t.exports=function(t,e,r,b){var _=e.xaxis,w=e.yaxis;s.makeTraceGroups(b,r,"contour").each((function(r){var b=n.select(this),T=r[0],k=T.trace,A=k._carpetTrace=v(t,k),M=t.calcdata[A.index][0];if(A.visible&&"legendonly"!==A.visible){var S=T.a,E=T.b,L=k.contours,C=p(L,e,T),P="constraint"===L.type,O=L._operation,I=P?"="===O?"lines":"fill":L.coloring,D=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(C);var z=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);u(C,z,R);var F,B,N,j,U=C;"constraint"===L.type&&(U=h(C,O)),function(t,e){var r,n,i,a,o,s,l,u,c;for(r=0;r=0;j--)F=M.clipsegments[j],B=i([],F.x,_.c2p),N=i([],F.y,w.c2p),B.reverse(),N.reverse(),V.push(a(B,N,F.bicubic));var H="M"+V.join("L")+"Z";!function(t,e,r,n,o,l){var u,c,f,h,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(h=0;h=0&&(h=L,d=v):Math.abs(f[1]-h[1])=0&&(h=L,d=v):s.log("endpt to newendpt is not vert. or horz.",f,h,L)}if(d>=0)break;m+=S(f,h),f=h}if(d===e.edgepaths.length){s.log("unclosed perimeter path");break}c=d,(b=-1===x.indexOf(c))&&(c=x[0],m+=S(f,h)+"Z",f=null)}for(c=0;cv&&(n.max=v),n.len=n.max-n.min}function g(t,e){var r,n=0,o=.1;return(Math.abs(t[0]-l)0?+p[c]:0),f.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:m})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],T=["interpolate",["linear"],["heatmap-density"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(c=1;c<_.length;c++)T.push(_[c][0],_[c][1]);var k=["interpolate",["linear"],["get","z"],b.min,0,b.max,1];return i.extendFlat(u.heatmap.paint,{"heatmap-weight":d?k:1/(b.max-b.min),"heatmap-color":T,"heatmap-radius":v?{type:"identity",property:"r"}:e.radius,"heatmap-opacity":e.opacity}),u.geojson={type:"FeatureCollection",features:f},u.heatmap.layout.visibility="visible",u}},79429:function(t,e,r){"use strict";var n=r(71828),i=r(1586),a=r(64096);t.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("lon")||[],u=s("lat")||[],c=Math.min(l.length,u.length);c?(e._length=c,s("z"),s("radius"),s("below"),s("text"),s("hovertext"),s("hovertemplate"),i(t,e,o,s,{prefix:"",cLetter:"z"})):e.visible=!1}},62474:function(t){"use strict";t.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},84684:function(t,e,r){"use strict";var n=r(89298),i=r(28178).hoverPoints,a=r(28178).getExtraText;t.exports=function(t,e,r){var o=i(t,e,r);if(o){var s=o[0],l=s.cd,u=l[0].trace,c=l[s.index];if(delete s.color,"z"in c){var f=s.subplot.mockAxis;s.z=c.z,s.zLabel=n.tickText(f,f.c2l(c.z),"hover").text}return s.extraText=a(u,c,l[0].t.labels),[s]}}},93814:function(t,e,r){"use strict";t.exports={attributes:r(64096),supplyDefaults:r(79429),colorbar:r(61243),formatLabels:r(15636),calc:r(85070),plot:r(7336),hoverPoints:r(84684),eventData:r(62474),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),i}},49789:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){for(var r=0;r"),l.color=function(t,e){var r=t.marker,i=e.mc||r.color,a=e.mlc||r.line.color,o=e.mlw||r.line.width;return n(i)?i:n(a)&&o?a:void 0}(c,h),[l]}}},51759:function(t,e,r){"use strict";t.exports={attributes:r(1285),layoutAttributes:r(10440),supplyDefaults:r(26199).supplyDefaults,crossTraceDefaults:r(26199).crossTraceDefaults,supplyLayoutDefaults:r(93138),calc:r(9532),crossTraceCalc:r(8984),plot:r(80461),style:r(68266).style,hoverPoints:r(63341),eventData:r(34598),selectPoints:r(81974),moduleType:"trace",name:"funnel",basePlotModule:r(93612),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},10440:function(t){"use strict";t.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},93138:function(t,e,r){"use strict";var n=r(71828),i=r(10440);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s path").each((function(t){if(!t.isBlank){var e=s.marker;n.select(this).call(a.fill,t.mc||e.color).call(a.stroke,t.mlc||e.line.color).call(i.dashLine,e.line.dash,t.mlw||e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(".regions").each((function(){n.select(this).selectAll("path").style("stroke-width",0).call(a.fill,s.connector.fillcolor)})),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},86807:function(t,e,r){"use strict";var n=r(34e3),i=r(9012),a=r(27670).Y,o=r(5386).fF,s=r(5386).si,l=r(1426).extendFlat;t.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:"calc"},pattern:n.marker.pattern,editType:"calc"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:["label","text","value","percent"]}),texttemplate:s({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:l({},i.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","text","percent"]}),textposition:l({},n.textposition,{values:["inside","none"],dflt:"inside"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:a({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}},6452:function(t,e,r){"use strict";var n=r(74875);e.name="funnelarea",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},89574:function(t,e,r){"use strict";var n=r(32354);t.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:"funnelarea"})}}},86282:function(t,e,r){"use strict";var n=r(71828),i=r(86807),a=r(27670).c,o=r(90769).handleText,s=r(37434).handleLabelsAndValues,l=r(37434).handleMarkerDefaults;t.exports=function(t,e,r,u){function c(r,a){return n.coerce(t,e,i,r,a)}var f=c("labels"),h=c("values"),p=s(f,h),d=p.len;if(e._hasLabels=p.hasLabels,e._hasValues=p.hasValues,!e._hasLabels&&e._hasValues&&(c("label0"),c("dlabel")),d){e._length=d,l(t,e,u,c),c("scalegroup");var v,g=c("text"),y=c("texttemplate");if(y||(v=c("textinfo",Array.isArray(g)?"text+percent":"percent")),c("hovertext"),c("hovertemplate"),y||v&&"none"!==v){var m=c("textposition");o(t,e,u,c,m,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}a(e,u,c),c("title.text")&&(c("title.position"),n.coerceFont(c,"title.font",u.font)),c("aspectratio"),c("baseratio")}else e.visible=!1}},10421:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"funnelarea",basePlotModule:r(6452),categories:["pie-like","funnelarea","showLegend"],attributes:r(86807),layoutAttributes:r(80097),supplyDefaults:r(86282),supplyLayoutDefaults:r(57402),calc:r(89574).calc,crossTraceCalc:r(89574).crossTraceCalc,plot:r(79187),style:r(71858),styleOne:r(63463),meta:{}}},80097:function(t,e,r){"use strict";var n=r(92774).hiddenlabels;t.exports={hiddenlabels:n,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}},57402:function(t,e,r){"use strict";var n=r(71828),i=r(80097);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("hiddenlabels"),r("funnelareacolorway",e.colorway),r("extendfunnelareacolors")}},79187:function(t,e,r){"use strict";var n=r(39898),i=r(91424),a=r(71828),o=a.strScale,s=a.strTranslate,l=r(63893),u=r(17295).toMoveInsideBar,c=r(72597),f=c.recordMinTextSize,h=c.clearMinTextSize,p=r(53581),d=r(14575),v=d.attachFxHandlers,g=d.determineInsideTextFont,y=d.layoutAreas,m=d.prerenderTitles,x=d.positionTitleOutside,b=d.formatSliceLabel;function _(t,e){return"l"+(e[0]-t[0])+","+(e[1]-t[1])}t.exports=function(t,e){var r=t._context.staticPlot,c=t._fullLayout;h("funnelarea",c),m(e,t),y(e,c._size),a.makeTraceGroups(c._funnelarealayer,e,"trace").each((function(e){var h=n.select(this),d=e[0],y=d.trace;!function(t){if(t.length){var e=t[0],r=e.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o,s,l=Math.pow(i,2),u=e.vTotal,c=u,f=u*l/(1-l)/u,h=[];for(h.push(E()),o=t.length-1;o>-1;o--)if(!(s=t[o]).hidden){var p=s.v/c;f+=p,h.push(E())}var d=1/0,v=-1/0;for(o=0;o-1;o--)if(!(s=t[o]).hidden){var k=h[T+=1][0],A=h[T][1];s.TL=[-k,A],s.TR=[k,A],s.BL=_,s.BR=w,s.pxmid=(M=s.TR,S=s.BR,[.5*(M[0]+S[0]),.5*(M[1]+S[1])]),_=s.TL,w=s.TR}}var M,S;function E(){var t,e={x:t=Math.sqrt(f),y:-t};return[e.x,e.y]}}(e),h.each((function(){var h=n.select(this).selectAll("g.slice").data(e);h.enter().append("g").classed("slice",!0),h.exit().remove(),h.each((function(o,s){if(o.hidden)n.select(this).selectAll("path,g").remove();else{o.pointNumber=o.i,o.curveNumber=y.index;var h=d.cx,m=d.cy,x=n.select(this),w=x.selectAll("path.surface").data([o]);w.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),x.call(v,t,e);var T="M"+(h+o.TR[0])+","+(m+o.TR[1])+_(o.TR,o.BR)+_(o.BR,o.BL)+_(o.BL,o.TL)+"Z";w.attr("d",T),b(t,o,d);var k=p.castOption(y.textposition,o.pts),A=x.selectAll("g.slicetext").data(o.text&&"none"!==k?[0]:[]);A.enter().append("g").classed("slicetext",!0),A.exit().remove(),A.each((function(){var r=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),p=a.ensureUniformFontSize(t,g(y,o,c.font));r.text(o.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(i.font,p).call(l.convertToTspans,t);var d,v,x,b=i.bBox(r.node()),_=Math.min(o.BL[1],o.BR[1])+m,w=Math.max(o.TL[1],o.TR[1])+m;v=Math.max(o.TL[0],o.BL[0])+h,x=Math.min(o.TR[0],o.BR[0])+h,(d=u(v,x,_,w,b,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})).fontSize=p.size,f(y.type,d,c),e[s].transform=d,a.setTransormAndDisplay(r,d)}))}}));var m=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);m.enter().append("g").classed("titletext",!0),m.exit().remove(),m.each((function(){var e=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),r=y.title.text;y._meta&&(r=a.templateString(r,y._meta)),e.text(r).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(i.font,y.title.font).call(l.convertToTspans,t);var u=x(d,c._size);e.attr("transform",s(u.x,u.y)+o(Math.min(1,u.scale))+s(u.tx,u.ty))}))}))}))}},71858:function(t,e,r){"use strict";var n=r(39898),i=r(63463),a=r(72597).resizeText;t.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(".trace");a(t,e,"funnelarea"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll("path.surface").each((function(e){n.select(this).call(i,e,r,t)}))}))}},21606:function(t,e,r){"use strict";var n=r(82196),i=r(9012),a=r(41940),o=r(12663).axisHoverFormat,s=r(5386).fF,l=r(5386).si,u=r(50693),c=r(1426).extendFlat;t.exports=c({z:{valType:"data_array",editType:"calc"},x:c({},n.x,{impliedEdits:{xtype:"array"}}),x0:c({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:c({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:c({},n.y,{impliedEdits:{ytype:"array"}}),y0:c({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:c({},n.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:c({},n.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:c({},n.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:c({},n.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:c({},n.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:c({},n.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:c({},n.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{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"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},xhoverformat:o("x"),yhoverformat:o("y"),zhoverformat:o("z",1),hovertemplate:s(),texttemplate:l({arrayOk:!1,editType:"plot"},{keys:["x","y","z","text"]}),textfont:a({editType:"plot",autoSize:!0,autoColor:!0,colorEditType:"style"}),showlegend:c({},i.showlegend,{dflt:!1})},{transforms:void 0},u("",{cLetter:"z",autoColorDflt:!1}))},90757:function(t,e,r){"use strict";var n=r(73972),i=r(71828),a=r(89298),o=r(42973),s=r(17562),l=r(78803),u=r(68296),c=r(4742),f=r(824),h=r(43907),p=r(70769),d=r(50606).BADNUM;function v(t){for(var e=[],r=t.length,n=0;n1){var e=(t[t.length-1]-t[0])/(t.length-1),r=Math.abs(e/100);for(k=0;kr)return!1}return!0}(M.rangebreaks||S.rangebreaks)&&(T=function(t,e,r){for(var n=[],i=-1,a=0;a=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||v)[2]+(f[[r+1,i]]||v)[2]+(f[[r,i-1]]||v)[2]+(f[[r,i+1]]||v)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),u=!0);if(!u)throw"findEmpties iterated with no new neighbors";for(a in l)f[a]=l[a],c.push(l[a])}return c.sort((function(t,e){return e[2]-t[2]}))}},46248:function(t,e,r){"use strict";var n=r(30211),i=r(71828),a=r(89298),o=r(21081).extractOpts;t.exports=function(t,e,r,s,l){l||(l={});var u,c,f,h,p=l.isContour,d=t.cd[0],v=d.trace,g=t.xa,y=t.ya,m=d.x,x=d.y,b=d.z,_=d.xCenter,w=d.yCenter,T=d.zmask,k=v.zhoverformat,A=m,M=x;if(!1!==t.index){try{f=Math.round(t.index[1]),h=Math.round(t.index[0])}catch(e){return void i.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(f<0||f>=b[0].length||h<0||h>b.length)return}else{if(n.inbox(e-m[0],e-m[m.length-1],0)>0||n.inbox(r-x[0],r-x[x.length-1],0)>0)return;if(p){var S;for(A=[2*m[0]-m[1]],S=1;Sv&&(y=Math.max(y,Math.abs(t[a][o]-d)/(g-v))))}return y}t.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r.01;r++)i=o(t,e,a(i));return i>.01&&n.log("interp2d didn't converge quickly",i),t}},58623:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){t("texttemplate");var r=n.extendFlat({},e.font,{color:"auto",size:"auto"});n.coerceFont(t,"textfont",r)}},70769:function(t,e,r){"use strict";var n=r(73972),i=r(71828).isArrayOrTypedArray;t.exports=function(t,e,r,a,o,s){var l,u,c,f=[],h=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(i(e)&&e.length>1&&!p&&"category"!==s.type){var v=e.length;if(!(v<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=e.slice(0,o);else if(1===o)f=[e[0]-.5,e[0]+.5];else{for(f=[1.5*e[0]-.5*e[1]],c=1;c0;)k=A.c2p(N[C]),C--;for(k0;)L=M.c2p(j[C]),C--;L=A._length||k<=0||E>=M._length||L<=0)return I.selectAll("image").data([]).exit().remove(),void b(I);"fast"===X?(K=Z,$=G):(K=Q,$=tt);var et=document.createElement("canvas");et.width=K,et.height=$;var rt,nt,it=et.getContext("2d"),at=p(z,{noNumericCheck:!0,returnArray:!0});"fast"===X?(rt=Y?function(t){return Z-1-t}:l.identity,nt=W?function(t){return G-1-t}:l.identity):(rt=function(t){return l.constrain(Math.round(A.c2p(N[t])-r),0,Q)},nt=function(t){return l.constrain(Math.round(M.c2p(j[t])-E),0,tt)});var ot,st,lt,ut,ct=nt(0),ft=[ct,ct],ht=Y?0:1,pt=W?0:1,dt=0,vt=0,gt=0,yt=0;function mt(t,e){if(void 0!==t){var r=at(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),dt+=e,vt+=r[0]*e,gt+=r[1]*e,yt+=r[2]*e,r}return[0,0,0,0]}function xt(t,e,r,n){var i=t[r.bin0];if(void 0===i)return mt(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,mt(i+r.frac*u+n.frac*(c+r.frac*a))}if("default"!==X){var bt,_t=0;try{bt=new Uint8Array(K*$*4)}catch(t){bt=new Array(K*$*4)}if("smooth"===X){var wt,Tt,kt,At=U||N,Mt=V||j,St=new Array(At.length),Et=new Array(Mt.length),Lt=new Array(Q),Ct=U?w:_,Pt=V?w:_;for(C=0;CXt||Xt>M._length))for(P=Gt;PKt||Kt>A._length)){var $t=c({x:Jt,y:Wt},z,t._fullLayout);$t.x=Jt,$t.y=Wt;var Qt=D.z[C][P];void 0===Qt?($t.z="",$t.zLabel=""):($t.z=Qt,$t.zLabel=s.tickText(Ut,Qt,"hover").text);var te=D.text&&D.text[C]&&D.text[C][P];void 0!==te&&!1!==te||(te=""),$t.text=te;var ee=l.texttemplateString(Nt,$t,t._fullLayout._d3locale,$t,z._meta||{});if(ee){var re=ee.split("
"),ne=re.length,ie=0;for(O=0;O0&&(a=!0);for(var l=0;la){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]u?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:u:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),u=d(r,a,s),c=t===i?0:1;return l[c]!==u[c]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}t.exports=function(t,e,r,n,a){var s,l,u=-1.1*e,h=-.1*e,p=t-h,d=r[0],v=r[1],g=Math.min(f(d+h,d+p,n,a),f(v+h,v+p,n,a)),y=Math.min(f(d+u,d+h,n,a),f(v+u,v+h,n,a));if(g>y&&yo){var m=s===i?1:6,x=s===i?"M12":"M1";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf("-",m);s>0&&(o=o.substr(0,s));var u=n.d2c(o,0,a);if(ur.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),D.start=r.l2r(j),F||i.nestedProperty(e,y+".start").set(D.start)}var U=b.end,V=r.r2l(I.end),H=void 0!==V;if((b.endFound||H)&&V!==r.r2l(U)){var q=H?V:i.aggNums(Math.max,null,d);D.end=r.l2r(q),H||i.nestedProperty(e,y+".start").set(D.end)}var G="autobin"+s;return!1===e._input[G]&&(e._input[y]=i.extendFlat({},e[y]||{}),delete e._input[G],delete e[G]),[D,d]}t.exports={calc:function(t,e){var r,a,p,d,v=[],g=[],y="h"===e.orientation,m=o.getFromId(t,y?e.yaxis:e.xaxis),x=y?"y":"x",b={x:"y",y:"x"}[x],_=e[x+"calendar"],w=e.cumulative,T=h(t,e,m,x),k=T[0],A=T[1],M="string"==typeof k.size,S=[],E=M?S:k,L=[],C=[],P=[],O=0,I=e.histnorm,D=e.histfunc,z=-1!==I.indexOf("density");w.enabled&&z&&(I=I.replace(/ ?density$/,""),z=!1);var R,F="max"===D||"min"===D?null:0,B=l.count,N=u[I],j=!1,U=function(t){return m.r2c(t,0,_)};for(i.isArrayOrTypedArray(e[b])&&"count"!==D&&(R=e[b],j="avg"===D,B=l[D]),r=U(k.start),p=U(k.end)+(r-o.tickIncrement(r,k.size,!1,_))/1e6;r=0&&d=0;n--)s(n);else if("increasing"===e){for(n=1;n=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(g,w.direction,w.currentbin);var K=Math.min(v.length,g.length),$=[],Q=0,tt=K-1;for(r=0;r=Q;r--)if(g[r]){tt=r;break}for(r=Q;r<=tt;r++)if(n(v[r])&&n(g[r])){var et={p:v[r],s:g[r],b:0};w.enabled||(et.pts=P[r],Z?et.ph0=et.ph1=P[r].length?A[P[r][0]]:v[r]:(e._computePh=!0,et.ph0=q(S[r]),et.ph1=q(S[r+1],!0))),$.push(et)}return 1===$.length&&($[0].width1=o.tickIncrement($[0].p,k.size,!1,_)-$[0].p),s($,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected($,e,X),$},calcAllAutoBins:h}},72406:function(t){"use strict";t.exports={eventDataKeys:["binNumber"]}},82222:function(t,e,r){"use strict";var n=r(71828),i=r(41675),a=r(73972).traceIs,o=r(26125),s=n.nestedProperty,l=r(99082).getAxisGroup,u=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],c=["x","y"];t.exports=function(t,e){var r,f,h,p,d,v,g,y=e._histogramBinOpts={},m=[],x={},b=[];function _(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function w(t){return"v"===t.orientation?"x":"y"}function T(t,r,a){var o=t.uid+"__"+a;r||(r=o);var s=function(t,r){return i.getFromTrace({_fullLayout:e},t,r).type}(t,a),l=t[a+"calendar"]||"",u=y[r],c=!0;u&&(s===u.axType&&l===u.calendar?(c=!1,u.traces.push(t),u.dirs.push(a)):(r=o,s!==u.axType&&n.warn(["Attempted to group the bins of trace",t.index,"set on a","type:"+s,"axis","with bins on","type:"+u.axType,"axis."].join(" ")),l!==u.calendar&&n.warn(["Attempted to group the bins of trace",t.index,"set with a",l,"calendar","with bins",u.calendar?"on a "+u.calendar+" calendar":"w/o a set calendar"].join(" ")))),c&&(y[r]={traces:[t],dirs:[a],axType:s,calendar:t[a+"calendar"]||""}),t["_"+a+"bingroup"]=r}for(d=0;dS&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],L=[],C=[],P="string"==typeof w.size,O="string"==typeof A.size,I=[],D=[],z=P?I:w,R=O?D:A,F=0,B=[],N=[],j=e.histnorm,U=e.histfunc,V=-1!==j.indexOf("density"),H="max"===U||"min"===U?null:0,q=a.count,G=o[j],Z=!1,Y=[],W=[],X="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";X&&"count"!==U&&(Z="avg"===U,q=a[U]);var J=w.size,K=x(w.start),$=x(w.end)+(K-i.tickIncrement(K,J,!1,y))/1e6;for(r=K;r<$;r=i.tickIncrement(r,J,!1,y))L.push(H),I.push(r),Z&&C.push(0);I.push(r);var Q,tt=L.length,et=(r-K)/tt,rt=(Q=K+et/2,v.c2r(Q,0,y)),nt=A.size,it=b(A.start),at=b(A.end)+(it-i.tickIncrement(it,nt,!1,m))/1e6;for(r=it;r=0&&p=0&&d-1,flipY:C.tiling.flip.indexOf("y")>-1,orientation:C.tiling.orientation,pad:{inner:C.tiling.pad},maxDepth:C._maxDepth}).descendants(),z=1/0,R=-1/0;D.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(z=Math.min(z,e),R=Math.max(R,e))})),d=d.data(D,c.getPtId),C._maxVisibleLayers=isFinite(R)?R-z+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],b),d.order();var F=null;if(T&&S){var B=c.getPtId(S);d.each((function(t){null===F&&c.getPtId(t)===B&&(F={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var N=function(){return F||{x0:0,x1:g,y0:0,y1:y}},j=d;return T&&(j=j.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),j.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.tiling.pad),s._hoverY=x(I?s.y1-C.tiling.pad/2:s.y0+C.tiling.pad/2);var d=n.select(this),v=i.ensureSingle(d,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?v.transition().attrTween("d",(function(t){var e=A(t,p,N(),[g,y],{orientation:C.tiling.orientation,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1});return function(t){return b(e(t))}})):v.attr("d",b),d.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),v.call(l,s,C,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=h(s,r,C,e,L)||"";var k=i.ensureSingle(d,"g","slicetext"),S=i.ensureSingle(k,"text","",(function(t){t.attr("data-notex",1)})),D=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font));S.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",O?"end":P?"start":"middle").call(a.font,D).call(o.convertToTspans,t),s.textBB=a.bBox(S.node()),s.transform=_(s,{fontSize:D.size}),s.transform.fontSize=D.size,T?S.transition().attrTween("transform",(function(t){var e=M(t,p,N(),[g,y]);return function(t){return w(e(t))}})):S.attr("transform",w(s))})),F}},69816:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"icicle",basePlotModule:r(96346),categories:[],animatable:!0,attributes:r(46291),layoutAttributes:r(92894),supplyDefaults:r(56524),supplyLayoutDefaults:r(21070),calc:r(46584).y,crossTraceCalc:r(46584).T,plot:r(85596),style:r(82454).style,colorbar:r(4898),meta:{}}},92894:function(t){"use strict";t.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}},21070:function(t,e,r){"use strict";var n=r(71828),i=r(92894);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("iciclecolorway",e.colorway),r("extendiciclecolors")}},21538:function(t,e,r){"use strict";var n=r(674),i=r(14102);t.exports=function(t,e,r){var a=r.flipX,o=r.flipY,s="h"===r.orientation,l=r.maxDepth,u=e[0],c=e[1];l&&(u=(t.height+1)*e[0]/Math.min(t.height+1,l),c=(t.height+1)*e[1]/Math.min(t.height+1,l));var f=n.partition().padding(r.pad.inner).size(s?[e[1],u]:[e[0],c])(t);return(s||a||o)&&i(f,e,{swapXY:s,flipX:a,flipY:o}),f}},85596:function(t,e,r){"use strict";var n=r(80694),i=r(90666);t.exports=function(t,e,r,a){return n(t,e,r,a,{type:"icicle",drawDescendants:i})}},82454:function(t,e,r){"use strict";var n=r(39898),i=r(7901),a=r(71828),o=r(72597).resizeText,s=r(43467);function l(t,e,r,n){var o=e.data.data,l=!e.children,u=o.i,c=a.castOption(r,u,"marker.line.color")||i.defaultLine,f=a.castOption(r,u,"marker.line.width")||0;t.call(s,e,r,n).style("stroke-width",f).call(i.stroke,c).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._iciclelayer.selectAll(".trace");o(t,e,"icicle"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style("opacity",i.opacity),r.selectAll("path.surface").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},17230:function(t,e,r){"use strict";for(var n=r(9012),i=r(5386).fF,a=r(1426).extendFlat,o=r(51877).colormodel,s=["rgb","rgba","rgba256","hsl","hsla"],l=[],u=[],c=0;c0||n.inbox(r-o.y0,r-(o.y0+o.h*s.dy),0)>0)){var c,f=Math.floor((e-o.x0)/s.dx),h=Math.floor(Math.abs(r-o.y0)/s.dy);if(s._hasZ?c=o.z[h][f]:s._hasSource&&(c=s._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(f,h,1,1).data),c){var p,d=o.hi||s.hoverinfo;if(d){var v=d.split("+");-1!==v.indexOf("all")&&(v=["color"]),-1!==v.indexOf("color")&&(p=!0)}var g,y=a.colormodel[s.colormodel],m=y.colormodel||s.colormodel,x=m.length,b=s._scaler(c),_=y.suffix,w=[];(s.hovertemplate||p)&&(w.push("["+[b[0]+_[0],b[1]+_[1],b[2]+_[2]].join(", ")),4===x&&w.push(", "+b[3]+_[3]),w.push("]"),w=w.join(""),t.extraText=m.toUpperCase()+": "+w),Array.isArray(s.hovertext)&&Array.isArray(s.hovertext[h])?g=s.hovertext[h][f]:Array.isArray(s.text)&&Array.isArray(s.text[h])&&(g=s.text[h][f]);var T=u.c2p(o.y0+(h+.5)*s.dy),k=o.x0+(f+.5)*s.dx,A=o.y0+(h+.5)*s.dy,M="["+c.slice(0,s.colormodel.length).join(", ")+"]";return[i.extendFlat(t,{index:[h,f],x0:l.c2p(o.x0+f*s.dx),x1:l.c2p(o.x0+(f+1)*s.dx),y0:T,y1:T,color:b,xVal:k,xLabelVal:k,yVal:A,yLabelVal:A,zLabelVal:M,text:g,hovertemplateLabels:{zLabel:M,colorLabel:w,"color[0]Label":b[0]+_[0],"color[1]Label":b[1]+_[1],"color[2]Label":b[2]+_[2],"color[3]Label":b[3]+_[3]}})]}}}},94507:function(t,e,r){"use strict";t.exports={attributes:r(17230),supplyDefaults:r(13245),calc:r(71113),plot:r(60775),style:r(12826),hoverPoints:r(28749),eventData:r(30835),moduleType:"trace",name:"image",basePlotModule:r(93612),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}},60775:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=i.strTranslate,o=r(77922),s=r(51877),l=r(3883),u=r(32396).STYLE;t.exports=function(t,e,r,c){var f=e.xaxis,h=e.yaxis,p=!t._context._exportedPlot&&l();i.makeTraceGroups(c,r,"im").each((function(e){var r=n.select(this),l=e[0],c=l.trace,d=("fast"===c.zsmooth||!1===c.zsmooth&&p)&&!c._hasZ&&c._hasSource&&"linear"===f.type&&"linear"===h.type;c._realImage=d;var v,g,y,m,x,b,_=l.z,w=l.x0,T=l.y0,k=l.w,A=l.h,M=c.dx,S=c.dy;for(b=0;void 0===v&&b0;)g=f.c2p(w+b*M),b--;for(b=0;void 0===m&&b0;)x=h.c2p(T+b*S),b--;gI[0];if(D||z){var R=v+E/2,F=m+L/2;P+="transform:"+a(R+"px",F+"px")+"scale("+(D?-1:1)+","+(z?-1:1)+")"+a(-R+"px",-F+"px")+";"}}C.attr("style",P);var B=new Promise((function(t){if(c._hasZ)t();else if(c._hasSource)if(c._canvas&&c._canvas.el.width===k&&c._canvas.el.height===A&&c._canvas.source===c.source)t();else{var e=document.createElement("canvas");e.width=k,e.height=A;var r=e.getContext("2d",{willReadFrequently:!0});c._image=c._image||new Image;var n=c._image;n.onload=function(){r.drawImage(n,0,0),c._canvas={el:e,source:c.source},t()},n.setAttribute("src",c.source)}})).then((function(){var t,e;if(c._hasZ)e=N((function(t,e){return _[e][t]})),t=e.toDataURL("image/png");else if(c._hasSource)if(d)t=c.source;else{var r=c._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,k,A).data;e=N((function(t,e){var n=4*(e*k+t);return[r[n],r[n+1],r[n+2],r[n+3]]})),t=e.toDataURL("image/png")}C.attr({"xlink:href":t,height:L,width:E,x:v,y:m})}));t._promises.push(B)}function N(t){var e=document.createElement("canvas");e.width=E,e.height=L;var r,n=e.getContext("2d",{willReadFrequently:!0}),a=function(t){return i.constrain(Math.round(f.c2p(w+t*M)-v),0,E)},o=function(t){return i.constrain(Math.round(h.c2p(T+t*S)-m),0,L)},u=s.colormodel[c.colormodel],p=u.colormodel||c.colormodel,d=u.fmt;for(b=0;b0}function T(t){t.each((function(t){m.stroke(n.select(this),t.line.color)})).each((function(t){m.fill(n.select(this),t.color)})).style("stroke-width",(function(t){return t.line.width}))}function k(t,e,r){var n=t._fullLayout,i=o.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},e),a={type:"linear",_id:"x"+e._id},s={letter:"x",font:n.font,noHover:!0,noTickson:!0};function l(t,e){return o.coerce(i,a,y,t,e)}return v(i,a,l,s,n),g(i,a,l,s),a}function A(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+"x"+r]}function M(t,e,r,i){var a=document.createElementNS("http://www.w3.org/2000/svg","text"),o=n.select(a);return o.text(t).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",t).call(p.convertToTspans,i).call(f.font,e),f.bBox(o.node())}function S(t,e,r,n,i,a){var s="_cache"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=o.aggNums(a,null,[t[s].value,n],2);return t[s].value=l,l}t.exports=function(t,e,r,v){var g,y=t._fullLayout;w(r)&&v&&(g=v()),o.makeTraceGroups(y._indicatorlayer,e,"trace").each((function(e){var v,E,L,C,P,O=e[0].trace,I=n.select(this),D=O._hasGauge,z=O._isAngular,R=O._isBullet,F=O.domain,B={w:y._size.w*(F.x[1]-F.x[0]),h:y._size.h*(F.y[1]-F.y[0]),l:y._size.l+y._size.w*F.x[0],r:y._size.r+y._size.w*(1-F.x[1]),t:y._size.t+y._size.h*(1-F.y[1]),b:y._size.b+y._size.h*F.y[0]},N=B.l+B.w/2,j=B.t+B.h/2,U=Math.min(B.w/2,B.h),V=h.innerRadius*U,H=O.align||"center";if(E=j,D){if(z&&(v=N,E=j+U/2,L=function(t){return function(t,e){return[e/Math.sqrt(t.width/2*(t.width/2)+t.height*t.height),t,e]}(t,.9*V)}),R){var q=h.bulletPadding,G=1-h.bulletNumberDomainSize+q;v=B.l+(G+(1-G)*b[H])*B.w,L=function(t){return A(t,(h.bulletNumberDomainSize-q)*B.w,B.h)}}}else v=B.l+b[H]*B.w,L=function(t){return A(t,B.w,B.h)};!function(t,e,r,i){var u,c,h,v=r[0].trace,g=i.numbersX,y=i.numbersY,T=v.align||"center",A=x[T],E=i.transitionOpts,L=i.onComplete,C=o.ensureSingle(e,"g","numbers"),P=[];v._hasNumber&&P.push("number"),v._hasDelta&&(P.push("delta"),"left"===v.delta.position&&P.reverse());var O=C.selectAll("text").data(P);function I(e,r,n,i){if(!e.match("s")||n>=0==i>=0||r(n).slice(-1).match(_)||r(i).slice(-1).match(_))return r;var a=e.slice().replace("s","f").replace(/\d+/,(function(t){return parseInt(t)-1})),o=k(t,{tickformat:a});return function(t){return Math.abs(t)<1?d.tickText(o,t).text:r(t)}}O.enter().append("text"),O.attr("text-anchor",(function(){return A})).attr("class",(function(t){return t})).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),O.exit().remove();var D,z=v.mode+v.align;if(v._hasDelta&&(D=function(){var e=k(t,{tickformat:v.delta.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.delta.suffix,s=v.delta.prefix,l=function(t){return v.delta.relative?t.relativeDelta:t.delta},u=function(t,e){return 0===t||"number"!=typeof t||isNaN(t)?"-":(t>0?v.delta.increasing.symbol:v.delta.decreasing.symbol)+s+e(t)+o},h=function(t){return t.delta>=0?v.delta.increasing.color:v.delta.decreasing.color};void 0===v._deltaLastValue&&(v._deltaLastValue=l(r[0]));var g=C.select("text.delta");function y(){g.text(u(l(r[0]),i)).call(m.fill,h(r[0])).call(p.convertToTspans,t)}return g.call(f.font,v.delta.font).call(m.fill,h({delta:v._deltaLastValue})),w(E)?g.transition().duration(E.duration).ease(E.easing).tween("text",(function(){var t=n.select(this),e=l(r[0]),o=v._deltaLastValue,s=I(v.delta.valueformat,i,o,e),c=a(o,e);return v._deltaLastValue=e,function(e){t.text(u(c(e),s)),t.call(m.fill,h({delta:c(e)}))}})).each("end",(function(){y(),L&&L()})).each("interrupt",(function(){y(),L&&L()})):y(),c=M(u(l(r[0]),i),v.delta.font,A,t),g}(),z+=v.delta.position+v.delta.font.size+v.delta.font.family+v.delta.valueformat,z+=v.delta.increasing.symbol+v.delta.decreasing.symbol,h=c),v._hasNumber&&(function(){var e=k(t,{tickformat:v.number.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.number.suffix,s=v.number.prefix,l=C.select("text.number");function c(){var e="number"==typeof r[0].y?s+i(r[0].y)+o:"-";l.text(e).call(f.font,v.number.font).call(p.convertToTspans,t)}w(E)?l.transition().duration(E.duration).ease(E.easing).each("end",(function(){c(),L&&L()})).each("interrupt",(function(){c(),L&&L()})).attrTween("text",(function(){var t=n.select(this),e=a(r[0].lastY,r[0].y);v._lastValue=r[0].y;var l=I(v.number.valueformat,i,r[0].lastY,r[0].y);return function(r){t.text(s+l(e(r))+o)}})):c(),u=M(s+i(r[0].y)+o,v.number.font,A,t)}(),z+=v.number.font.size+v.number.font.family+v.number.valueformat+v.number.suffix+v.number.prefix,h=u),v._hasDelta&&v._hasNumber){var R,F,B=[(u.left+u.right)/2,(u.top+u.bottom)/2],N=[(c.left+c.right)/2,(c.top+c.bottom)/2],j=.75*v.delta.font.size;"left"===v.delta.position&&(R=S(v,"deltaPos",0,-1*(u.width*b[v.align]+c.width*(1-b[v.align])+j),z,Math.min),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:c.left+R,right:u.right,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),"right"===v.delta.position&&(R=S(v,"deltaPos",0,u.width*(1-b[v.align])+c.width*b[v.align]+j,z,Math.max),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:u.left,right:c.right+R,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),"bottom"===v.delta.position&&(R=null,F=c.height,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height,bottom:u.bottom+c.height}),"top"===v.delta.position&&(R=null,F=u.top,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height-c.height,bottom:u.bottom}),D.attr({dx:R,dy:F})}(v._hasNumber||v._hasDelta)&&C.attr("transform",(function(){var t=i.numbersScaler(h);z+=t[2];var e,r=S(v,"numbersScale",1,t[0],z,Math.min);v._scaleNumbers||(r=1),e=v._isAngular?y-r*h.bottom:y-r*(h.top+h.bottom)/2,v._numbersTop=r*h.top+e;var n=h[T];"center"===T&&(n=(h.left+h.right)/2);var a=g-r*n;return a=S(v,"numbersTranslate",0,a,z,Math.max),l(a,e)+s(r)}))}(t,I,e,{numbersX:v,numbersY:E,numbersScaler:L,transitionOpts:r,onComplete:g}),D&&(C={range:O.gauge.axis.range,color:O.gauge.bgcolor,line:{color:O.gauge.bordercolor,width:0},thickness:1},P={range:O.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:O.gauge.bordercolor,width:O.gauge.borderwidth},thickness:1});var Z=I.selectAll("g.angular").data(z?e:[]);Z.exit().remove();var Y=I.selectAll("g.angularaxis").data(z?e:[]);Y.exit().remove(),z&&function(t,e,r,a){var o,s,f,h,p=r[0].trace,v=a.size,g=a.radius,y=a.innerRadius,m=a.gaugeBg,x=a.gaugeOutline,b=[v.l+v.w/2,v.t+v.h/2+g/2],_=a.gauge,A=a.layer,M=a.transitionOpts,S=a.onComplete,E=Math.PI/2;function L(t){var e=p.gauge.axis.range[0],r=(t-e)/(p.gauge.axis.range[1]-e)*Math.PI-E;return r<-E?-E:r>E?E:r}function C(t){return n.svg.arc().innerRadius((y+g)/2-t/2*(g-y)).outerRadius((y+g)/2+t/2*(g-y)).startAngle(-E)}function P(t){t.attr("d",(function(t){return C(t.thickness).startAngle(L(t.range[0])).endAngle(L(t.range[1]))()}))}_.enter().append("g").classed("angular",!0),_.attr("transform",l(b[0],b[1])),A.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),A.selectAll("g.xangularaxistick,path,text").remove(),(o=k(t,p.gauge.axis)).type="linear",o.range=p.gauge.axis.range,o._id="xangularaxis",o.ticklabeloverflow="allow",o.setScale();var O=function(t){return(o.range[0]-t.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},I={},D=d.makeLabelFns(o,0).labelStandoff;I.xFn=function(t){var e=O(t);return Math.cos(e)*D},I.yFn=function(t){var e=O(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(D+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*c)},I.anchorFn=function(t){var e=O(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},I.heightFn=function(t,e,r){var n=O(t);return-.5*(1+Math.sin(n))*r};var z=function(t){return l(b[0]+g*Math.cos(t),b[1]-g*Math.sin(t))};f=function(t){return z(O(t))};if(s=d.calcTicks(o),h=d.getTickSigns(o)[2],o.visible){h="inside"===o.ticks?-1:1;var R=(o.linewidth||1)/2;d.drawTicks(t,o,{vals:s,layer:A,path:"M"+h*R+",0h"+h*o.ticklen,transFn:function(t){var e=O(t);return z(e)+"rotate("+-u(e)+")"}}),d.drawLabels(t,o,{vals:s,layer:A,transFn:f,labelFns:I})}var F=[m].concat(p.gauge.steps),B=_.selectAll("g.bg-arc").data(F);B.enter().append("g").classed("bg-arc",!0).append("path"),B.select("path").call(P).call(T),B.exit().remove();var N=C(p.gauge.bar.thickness),j=_.selectAll("g.value-arc").data([p.gauge.bar]);j.enter().append("g").classed("value-arc",!0).append("path");var U,V,H,q=j.select("path");w(M)?(q.transition().duration(M.duration).ease(M.easing).each("end",(function(){S&&S()})).each("interrupt",(function(){S&&S()})).attrTween("d",(U=N,V=L(r[0].lastY),H=L(r[0].y),function(){var t=i(V,H);return function(e){return U.endAngle(t(e))()}})),p._lastValue=r[0].y):q.attr("d","number"==typeof r[0].y?N.endAngle(L(r[0].y)):"M0,0Z"),q.call(T),j.exit().remove(),F=[];var G=p.gauge.threshold.value;(G||0===G)&&F.push({range:[G,G],color:p.gauge.threshold.color,line:{color:p.gauge.threshold.line.color,width:p.gauge.threshold.line.width},thickness:p.gauge.threshold.thickness});var Z=_.selectAll("g.threshold-arc").data(F);Z.enter().append("g").classed("threshold-arc",!0).append("path"),Z.select("path").call(P).call(T),Z.exit().remove();var Y=_.selectAll("g.gauge-outline").data([x]);Y.enter().append("g").classed("gauge-outline",!0).append("path"),Y.select("path").call(P).call(T),Y.exit().remove()}(t,0,e,{radius:U,innerRadius:V,gauge:Z,layer:Y,size:B,gaugeBg:C,gaugeOutline:P,transitionOpts:r,onComplete:g});var W=I.selectAll("g.bullet").data(R?e:[]);W.exit().remove();var X=I.selectAll("g.bulletaxis").data(R?e:[]);X.exit().remove(),R&&function(t,e,r,n){var i,a,o,s,u,c=r[0].trace,f=n.gauge,p=n.layer,v=n.gaugeBg,g=n.gaugeOutline,y=n.size,x=c.domain,b=n.transitionOpts,_=n.onComplete;f.enter().append("g").classed("bullet",!0),f.attr("transform",l(y.l,y.t)),p.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),p.selectAll("g.xbulletaxistick,path,text").remove();var A=y.h,M=c.gauge.bar.thickness*A,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(c._hasNumber||c._hasDelta?1-h.bulletNumberDomainSize:1);function L(t){t.attr("width",(function(t){return Math.max(0,i.c2p(t.range[1])-i.c2p(t.range[0]))})).attr("x",(function(t){return i.c2p(t.range[0])})).attr("y",(function(t){return.5*(1-t.thickness)*A})).attr("height",(function(t){return t.thickness*A}))}(i=k(t,c.gauge.axis))._id="xbulletaxis",i.domain=[S,E],i.setScale(),a=d.calcTicks(i),o=d.makeTransTickFn(i),s=d.getTickSigns(i)[2],u=y.t+y.h,i.visible&&(d.drawTicks(t,i,{vals:"inside"===i.ticks?d.clipEnds(i,a):a,layer:p,path:d.makeTickPath(i,u,s),transFn:o}),d.drawLabels(t,i,{vals:a,layer:p,transFn:o,labelFns:d.makeLabelFns(i,u)}));var C=[v].concat(c.gauge.steps),P=f.selectAll("g.bg-bullet").data(C);P.enter().append("g").classed("bg-bullet",!0).append("rect"),P.select("rect").call(L).call(T),P.exit().remove();var O=f.selectAll("g.value-bullet").data([c.gauge.bar]);O.enter().append("g").classed("value-bullet",!0).append("rect"),O.select("rect").attr("height",M).attr("y",(A-M)/2).call(T),w(b)?O.select("rect").transition().duration(b.duration).ease(b.easing).each("end",(function(){_&&_()})).each("interrupt",(function(){_&&_()})).attr("width",Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y)))):O.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y))):0),O.exit().remove();var I=r.filter((function(){return c.gauge.threshold.value||0===c.gauge.threshold.value})),D=f.selectAll("g.threshold-bullet").data(I);D.enter().append("g").classed("threshold-bullet",!0).append("line"),D.select("line").attr("x1",i.c2p(c.gauge.threshold.value)).attr("x2",i.c2p(c.gauge.threshold.value)).attr("y1",(1-c.gauge.threshold.thickness)/2*A).attr("y2",(1-(1-c.gauge.threshold.thickness)/2)*A).call(m.stroke,c.gauge.threshold.line.color).style("stroke-width",c.gauge.threshold.line.width),D.exit().remove();var z=f.selectAll("g.gauge-outline").data([g]);z.enter().append("g").classed("gauge-outline",!0).append("rect"),z.select("rect").call(L).call(T),z.exit().remove()}(t,0,e,{gauge:W,layer:X,size:B,gaugeBg:C,gaugeOutline:P,transitionOpts:r,onComplete:g});var J=I.selectAll("text.title").data(e);J.exit().remove(),J.enter().append("text").classed("title",!0),J.attr("text-anchor",(function(){return R?x.right:x[O.title.align]})).text(O.title.text).call(f.font,O.title.font).call(p.convertToTspans,t),J.attr("transform",(function(){var t,e=B.l+B.w*b[O.title.align],r=h.titlePadding,n=f.bBox(J.node());return D?(z&&(t=O.gauge.axis.visible?f.bBox(Y.node()).top-r-n.bottom:B.t+B.h/2-U/2-n.bottom-r),R&&(t=E-(n.top+n.bottom)/2,e=B.l-h.bulletPadding*B.w)):t=O._numbersTop-r-n.bottom,l(e,t)}))}))}},16249:function(t,e,r){"use strict";var n=r(50693),i=r(12663).axisHoverFormat,a=r(5386).fF,o=r(2418),s=r(9012),l=r(1426).extendFlat,u=r(30962).overrideAll,c=t.exports=u(l({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:a(),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),valuehoverformat:i("value",1),showlegend:l({},s.showlegend,{dflt:!1})},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,lightposition:o.lightposition,lighting:o.lighting,flatshading:o.flatshading,contour:o.contour,hoverinfo:l({},s.hoverinfo)}),"calc","nested");c.flatshading.dflt=!0,c.lighting.facenormalsepsilon.dflt=0,c.x.editType=c.y.editType=c.z.editType=c.value.editType="calc+clearAxisTypes",c.transforms=void 0},56959:function(t,e,r){"use strict";var n=r(78803),i=r(88489).processGrid,a=r(88489).filter;t.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=a(e.x,e._len),e._y=a(e.y,e._len),e._z=a(e.z,e._len),e._value=a(e.value,e._len);var r=i(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n-1}function R(t,e){return null===t?e:t}function F(e,r,n){C();var i,a,o,l=[r],u=[n];if(s>=1)l=[r],u=[n];else if(s>0){var c=function(t,e){var r=t[0],n=t[1],i=t[2],a=function(t,e,r){for(var n=[],i=0;i-1?n[p]:L(d,v,y);h[p]=x>-1?x:O(d,v,y,R(e,m))}i=h[0],a=h[1],o=h[2],t._meshI.push(i),t._meshJ.push(a),t._meshK.push(o),++g}}function B(t,e,r,n){var i=t[3];in&&(i=n);for(var a=(t[3]-i)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*t[s]+a*e[s];return o}function N(t,e,r){return t>=e&&t<=r}function j(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function U(e){for(var r=[],n=0;n<4;n++){var i=e[n];r.push([t._x[i],t._y[i],t._z[i],t._value[i]])}return r}function V(t,e,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(e[0][3],n,i),N(e[1][3],n,i),N(e[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return j(e[0][3])&&j(e[1][3])&&j(e[2][3])?(F(t,e,r),!0):a<3&&V(t,e,r,S,E,++a)};if(s[0]&&s[1]&&s[2])return l(t,e,r)||o;var u=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach((function(a){if(s[a[0]]&&s[a[1]]&&!s[a[2]]){var c=e[a[0]],f=e[a[1]],h=e[a[2]],p=B(h,c,n,i),d=B(h,f,n,i);o=l(t,[d,p,c],[-1,-1,r[a[0]]])||o,o=l(t,[c,f,d],[r[a[0]],r[a[1]],-1])||o,u=!0}})),u||[[0,1,2],[1,2,0],[2,0,1]].forEach((function(a){if(s[a[0]]&&!s[a[1]]&&!s[a[2]]){var c=e[a[0]],f=e[a[1]],h=e[a[2]],p=B(f,c,n,i),d=B(h,c,n,i);o=l(t,[d,p,c],[-1,-1,r[a[0]]])||o,u=!0}})),o}function H(t,e,r,n){var i=!1,a=U(e),o=[N(a[0][3],r,n),N(a[1][3],r,n),N(a[2][3],r,n),N(a[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return i;if(o[0]&&o[1]&&o[2]&&o[3])return v&&(i=function(t,e,r){var n=function(n,i,a){F(t,[e[n],e[i],e[a]],[r[n],r[i],r[a]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(t,a,e)||i),i;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&o[l[2]]&&!o[l[3]]){var u=a[l[0]],c=a[l[1]],f=a[l[2]],h=a[l[3]];if(v)i=F(t,[u,c,f],[e[l[0]],e[l[1]],e[l[2]]])||i;else{var p=B(h,u,r,n),d=B(h,c,r,n),g=B(h,f,r,n);i=F(null,[p,d,g],[-1,-1,-1])||i}s=!0}})),s||([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&!o[l[2]]&&!o[l[3]]){var u=a[l[0]],c=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(f,u,r,n),d=B(f,c,r,n),g=B(h,c,r,n),y=B(h,u,r,n);v?(i=F(t,[u,y,p],[e[l[0]],-1,-1])||i,i=F(t,[c,d,g],[e[l[1]],-1,-1])||i):i=function(t,e,r){var n=function(t,n,i){F(null,[e[t],e[n],e[i]],[r[t],r[n],r[i]])};n(0,1,2),n(2,3,0)}(0,[p,d,g,y],[-1,-1,-1,-1])||i,s=!0}})),s||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach((function(l){if(o[l[0]]&&!o[l[1]]&&!o[l[2]]&&!o[l[3]]){var u=a[l[0]],c=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(c,u,r,n),d=B(f,u,r,n),g=B(h,u,r,n);v?(i=F(t,[u,p,d],[e[l[0]],-1,-1])||i,i=F(t,[u,d,g],[e[l[0]],-1,-1])||i,i=F(t,[u,g,p],[e[l[0]],-1,-1])||i):i=F(null,[p,d,g],[-1,-1,-1])||i,s=!0}}))),i}function q(t,e,r,n,i,a,o,s,l,u,c){var f=!1;return d&&(z(t,"A")&&(f=H(null,[e,r,n,a],u,c)||f),z(t,"B")&&(f=H(null,[r,n,i,l],u,c)||f),z(t,"C")&&(f=H(null,[r,a,o,l],u,c)||f),z(t,"D")&&(f=H(null,[n,a,s,l],u,c)||f),z(t,"E")&&(f=H(null,[r,n,a,l],u,c)||f)),v&&(f=H(t,[r,n,a,l],u,c)||f),f}function G(t,e,r,n,i,a,o,s){return[!0===s[0]||V(t,U([e,r,n]),[e,r,n],a,o),!0===s[1]||V(t,U([n,i,e]),[n,i,e],a,o)]}function Z(t,e,r,n,i,a,o,s,l){return s?G(t,e,r,i,n,a,o,l):G(t,r,i,n,e,a,o,l)}function Y(t,e,r,n,i,a,o){var s,l,u,c,f=!1,h=function(){f=V(t,[s,l,u],[-1,-1,-1],i,a)||f,f=V(t,[u,c,s],[-1,-1,-1],i,a)||f},p=o[0],d=o[1],v=o[2];return p&&(s=I(U([k(e,r-0,n-0)])[0],U([k(e-1,r-0,n-0)])[0],p),l=I(U([k(e,r-0,n-1)])[0],U([k(e-1,r-0,n-1)])[0],p),u=I(U([k(e,r-1,n-1)])[0],U([k(e-1,r-1,n-1)])[0],p),c=I(U([k(e,r-1,n-0)])[0],U([k(e-1,r-1,n-0)])[0],p),h()),d&&(s=I(U([k(e-0,r,n-0)])[0],U([k(e-0,r-1,n-0)])[0],d),l=I(U([k(e-0,r,n-1)])[0],U([k(e-0,r-1,n-1)])[0],d),u=I(U([k(e-1,r,n-1)])[0],U([k(e-1,r-1,n-1)])[0],d),c=I(U([k(e-1,r,n-0)])[0],U([k(e-1,r-1,n-0)])[0],d),h()),v&&(s=I(U([k(e-0,r-0,n)])[0],U([k(e-0,r-0,n-1)])[0],v),l=I(U([k(e-0,r-1,n)])[0],U([k(e-0,r-1,n-1)])[0],v),u=I(U([k(e-1,r-1,n)])[0],U([k(e-1,r-1,n-1)])[0],v),c=I(U([k(e-1,r-0,n)])[0],U([k(e-1,r-0,n-1)])[0],v),h()),f}function W(t,e,r,n,i,a,o,s,l,u,c,f){var h=t;return f?(d&&"even"===t&&(h=null),q(h,e,r,n,i,a,o,s,l,u,c)):(d&&"odd"===t&&(h=null),q(h,l,s,o,a,i,n,r,e,u,c))}function X(t,e,r,n,i){for(var a=[],o=0,s=0;sMath.abs(L-M)?[A,L]:[L,M];d=!0,$(r,C[0],C[1]),d=!1}}var I=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];["x","y","z"].forEach((function(r){for(var n=[],i=0;i0&&(f.push(d.id),"x"===r?h.push([d.distRatio,0,0]):"y"===r?h.push([0,d.distRatio,0]):h.push([0,0,d.distRatio]))}else c=rt(1,"x"===r?b-1:"y"===r?_-1:w-1);f.length>0&&(n[a]="x"===r?Q(e,f,o,s,h,n[a]):"y"===r?tt(e,f,o,s,h,n[a]):et(e,f,o,s,h,n[a]),a++),c.length>0&&(n[a]="x"===r?X(e,c,o,s,n[a]):"y"===r?J(e,c,o,s,n[a]):K(e,c,o,s,n[a]),a++)}var v=t.caps[r];v.show&&v.fill&&(D(v.fill),n[a]="x"===r?X(e,[0,b-1],o,s,n[a]):"y"===r?J(e,[0,_-1],o,s,n[a]):K(e,[0,w-1],o,s,n[a]),a++)}})),0===g&&P(),t._meshX=n,t._meshY=i,t._meshZ=a,t._meshIntensity=o,t._Xs=y,t._Ys=m,t._Zs=x}(),t}t.exports={findNearestOnAxis:l,generateIsoMeshes:h,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new u(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}}},82738:function(t,e,r){"use strict";var n=r(71828),i=r(73972),a=r(16249),o=r(1586);function s(t,e,r,n,a){var s=a("isomin"),l=a("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var u=a("x"),c=a("y"),f=a("z"),h=a("value");u&&u.length&&c&&c.length&&f&&f.length&&h&&h.length?(i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),a("valuehoverformat"),["x","y","z"].forEach((function(t){a(t+"hoverformat");var e="caps."+t;a(e+".show")&&a(e+".fill");var r="slices."+t;a(r+".show")&&(a(r+".fill"),a(r+".locations"))})),a("spaceframe.show")&&a("spaceframe.fill"),a("surface.show")&&(a("surface.count"),a("surface.fill"),a("surface.pattern")),a("contour.show")&&(a("contour.color"),a("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach((function(t){a(t)})),o(t,e,n,a,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}t.exports={supplyDefaults:function(t,e,r,i){s(t,e,0,i,(function(r,i){return n.coerce(t,e,a,r,i)}))},supplyIsoDefaults:s}},64943:function(t,e,r){"use strict";t.exports={attributes:r(16249),supplyDefaults:r(82738).supplyDefaults,calc:r(56959),colorbar:{min:"cmin",max:"cmax"},plot:r(22674).createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:r(58547),categories:["gl3d","showLegend"],meta:{}}},2418:function(t,e,r){"use strict";var n=r(50693),i=r(12663).axisHoverFormat,a=r(5386).fF,o=r(54532),s=r(9012),l=r(1426).extendFlat;t.exports=l({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"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"}),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:void 0},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:l({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:"calc"},lightposition:{x:l({},o.lightposition.x,{dflt:1e5}),y:l({},o.lightposition.y,{dflt:1e5}),z:l({},o.lightposition.z,{dflt:0}),editType:"calc"},lighting:l({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"},o.lighting),hoverinfo:l({},s.hoverinfo,{editType:"calc"}),showlegend:l({},s.showlegend,{dflt:!1})})},82932:function(t,e,r){"use strict";var n=r(78803);t.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},91134:function(t,e,r){"use strict";var n=r(9330).gl_mesh3d,i=r(9330).delaunay_triangulate,a=r(9330).alpha_shape,o=r(9330).convex_hull,s=r(81697).parseColorScale,l=r(78614),u=r(21081).extractOpts,c=r(90060);function f(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var h=f.prototype;function p(t){for(var e=[],r=t.length,n=0;n=e-.5)return!1;return!0}h.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},h.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,f=t.x.length,h=c(d(r.xaxis,t.x,e.dataScale[0],t.xcalendar),d(r.yaxis,t.y,e.dataScale[1],t.ycalendar),d(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!g(t.i,f)||!g(t.j,f)||!g(t.k,f))return;n=c(v(t.i),v(t.j),v(t.k))}else n=0===t.alphahull?o(h):t.alphahull>0?a(t.alphahull,h):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],a=e.length,o=0;oy):g=A>w,y=A;var M=u(w,T,k,A);M.pos=_,M.yc=(w+A)/2,M.i=b,M.dir=g?"increasing":"decreasing",M.x=M.pos,M.y=[k,T],m&&(M.orig_p=r[b]),d&&(M.tx=e.text[b]),v&&(M.htx=e.hovertext[b]),x.push(M)}else x.push({pos:_,empty:!0})}return e._extremes[l._id]=a.findExtremes(l,n.concat(h,f),{padded:!0}),x.length&&(x[0].t={labels:{open:i(t,"open:")+" ",high:i(t,"high:")+" ",low:i(t,"low:")+" ",close:i(t,"close:")+" "}}),x}t.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),s=function(t,e,r){var i=r._minDiff;if(!i){var a,s=t._fullData,l=[];for(i=1/0,a=0;a"+u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat):((m=i.extendFlat({},h)).y0=m.y1=_,m.yLabelVal=b,m.yLabel=u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat),m.name="",f.push(m),g[b]=m)}return f}function h(t,e,r,i){var a=t.cd,o=t.ya,l=a[0].trace,f=a[0].t,h=c(t,e,r,i);if(!h)return[];var p=a[h.index],d=h.index=p.i,v=p.dir;function g(t){return f.labels[t]+n.hoverLabelText(o,l[t][d],l.yhoverformat)}var y=p.hi||l.hoverinfo,m=y.split("+"),x="all"===y,b=x||-1!==m.indexOf("y"),_=x||-1!==m.indexOf("text"),w=b?[g("open"),g("high"),g("low"),g("close")+" "+u[v]]:[];return _&&s(p,l,w),h.extraText=w.join("
"),h.y0=h.y1=o.c2p(p.yc,!0),[h]}t.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?f(t,e,r,n):h(t,e,r,n)},hoverSplit:f,hoverOnPoints:h}},54186:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"ohlc",basePlotModule:r(93612),categories:["cartesian","svg","showLegend"],meta:{},attributes:r(2522),supplyDefaults:r(16169),calc:r(3485).calc,plot:r(72314),style:r(53101),hoverPoints:r(66449).hoverPoints,selectPoints:r(67324)}},14555:function(t,e,r){"use strict";var n=r(73972),i=r(71828);t.exports=function(t,e,r,a){var o=r("x"),s=r("open"),l=r("high"),u=r("low"),c=r("close");if(r("hoverlabel.split"),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],a),s&&l&&u&&c){var f=Math.min(s.length,l.length,u.length,c.length);return o&&(f=Math.min(f,i.minRowLength(o))),e._length=f,f}}},72314:function(t,e,r){"use strict";var n=r(39898),i=r(71828);t.exports=function(t,e,r,a){var o=e.yaxis,s=e.xaxis,l=!!s.rangebreaks;i.makeTraceGroups(a,r,"trace ohlc").each((function(t){var e=n.select(this),r=t[0],a=r.t;if(!0!==r.trace.visible||a.empty)e.remove();else{var u=a.tickLen,c=e.selectAll("path").data(i.identity);c.enter().append("path"),c.exit().remove(),c.attr("d",(function(t){if(t.empty)return"M0,0Z";var e=s.c2p(t.pos-u,!0),r=s.c2p(t.pos+u,!0),n=l?(e+r)/2:s.c2p(t.pos,!0);return"M"+e+","+o.c2p(t.o,!0)+"H"+n+"M"+n+","+o.c2p(t.h,!0)+"V"+o.c2p(t.l,!0)+"M"+r+","+o.c2p(t.c,!0)+"H"+n}))}}))}},67324:function(t){"use strict";t.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(r))for(e=0;e0;u&&(o="array");var c=r("categoryorder",o);"array"===c?(r("categoryarray"),r("ticktext")):(delete t.categoryarray,delete t.ticktext),u||"array"!==c||(e.categoryorder="trace")}}t.exports=function(t,e,r,f){function h(r,i){return n.coerce(t,e,l,r,i)}var p=s(t,e,{name:"dimensions",handleItemDefaults:c}),d=function(t,e,r,o,s){s("line.shape"),s("line.hovertemplate");var l=s("line.color",o.colorway[0]);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,f,h);o(e,f,h),Array.isArray(p)&&p.length||(e.visible=!1),u(e,p,"values",d),h("hoveron"),h("hovertemplate"),h("arrangement"),h("bundlecolors"),h("sortpaths"),h("counts");var v={family:f.font.family,size:Math.round(f.font.size),color:f.font.color};n.coerceFont(h,"labelfont",v);var g={family:f.font.family,size:Math.round(f.font.size/1.2),color:f.font.color};n.coerceFont(h,"tickfont",g)}},94873:function(t,e,r){"use strict";t.exports={attributes:r(99506),supplyDefaults:r(14647),calc:r(28699),plot:r(45784),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:r(27677),categories:["noOpacity"],meta:{}}},45460:function(t,e,r){"use strict";var n=r(39898),i=r(81684).k4,a=r(72391),o=r(30211),s=r(71828),l=s.strTranslate,u=r(91424),c=r(84267),f=r(63893);function h(t,e,r,i){var a=e._context.staticPlot,o=t.map(F.bind(0,e,r)),c=i.selectAll("g.parcatslayer").data([null]);c.enter().append("g").attr("class","parcatslayer").style("pointer-events",a?"none":"all");var h=c.selectAll("g.trace.parcats").data(o,p),m=h.enter().append("g").attr("class","trace parcats");h.attr("transform",(function(t){return l(t.x,t.y)})),m.append("g").attr("class","paths");var x=h.select("g.paths").selectAll("path.path").data((function(t){return t.paths}),p);x.attr("fill",(function(t){return t.model.color}));var w=x.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",(function(t){return t.model.color})).attr("fill-opacity",0);_(w),x.attr("d",(function(t){return t.svgD})),w.empty()||x.sort(v),x.exit().remove(),x.on("mouseover",g).on("mouseout",y).on("click",b),m.append("g").attr("class","dimensions");var A=h.select("g.dimensions").selectAll("g.dimension").data((function(t){return t.dimensions}),p);A.enter().append("g").attr("class","dimension"),A.attr("transform",(function(t){return l(t.x,0)})),A.exit().remove();var M=A.selectAll("g.category").data((function(t){return t.categories}),p),S=M.enter().append("g").attr("class","category");M.attr("transform",(function(t){return l(0,t.y)})),S.append("rect").attr("class","catrect").attr("pointer-events","none"),M.select("rect.catrect").attr("fill","none").attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})),T(S);var E=M.selectAll("rect.bandrect").data((function(t){return t.bands}),p);E.each((function(){s.raiseToTop(this)})),E.attr("fill",(function(t){return t.color}));var D=E.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",(function(t){return t.color})).attr("fill-opacity",0);E.attr("fill",(function(t){return t.color})).attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})).attr("y",(function(t){return t.y})).attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"perpendicular"===t.parcatsViewModel.arrangement?"ns-resize":"move"})),k(D),E.exit().remove(),S.append("text").attr("class","catlabel").attr("pointer-events","none");var z=e._fullLayout.paper_bgcolor;M.select("text.catlabel").attr("text-anchor",(function(t){return d(t)?"start":"end"})).attr("alignment-baseline","middle").style("text-shadow",f.makeTextShadow(z)).style("fill","rgb(0, 0, 0)").attr("x",(function(t){return d(t)?t.width+5:-5})).attr("y",(function(t){return t.height/2})).text((function(t){return t.model.categoryLabel})).each((function(t){u.font(n.select(this),t.parcatsViewModel.categorylabelfont),f.convertToTspans(n.select(this),e)})),S.append("text").attr("class","dimlabel"),M.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"ew-resize"})).attr("x",(function(t){return t.width/2})).attr("y",-5).text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})).each((function(t){u.font(n.select(this),t.parcatsViewModel.labelfont)})),M.selectAll("rect.bandrect").on("mouseover",L).on("mouseout",C),M.exit().remove(),A.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on("dragstart",P).on("drag",O).on("dragend",I)),h.each((function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll("g.paths").selectAll("path.path"),t.dimensionSelection=n.select(this).selectAll("g.dimensions").selectAll("g.dimension")})),h.exit().remove()}function p(t){return t.key}function d(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function v(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor"),L=n.mouse(f)[0];o.loneHover({trace:h,x:b-d.left+v.left,y:_-d.top+v.top,text:E,color:t.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:T,idealAlign:L1&&h.displayInd===f.dimensions.length-1?(i=u.left,a="left"):(i=u.left+u.width,a="right");var v=c.model.count,g=c.model.categoryLabel,y=v/c.parcatsViewModel.model.count,m={countLabel:v,categoryLabel:g,probabilityLabel:y.toFixed(3)},x=[];-1!==c.parcatsViewModel.hoverinfoItems.indexOf("count")&&x.push(["Count:",m.countLabel].join(" ")),-1!==c.parcatsViewModel.hoverinfoItems.indexOf("probability")&&x.push(["P("+m.categoryLabel+"):",m.probabilityLabel].join(" "));var b=x.join("
");return{trace:p,x:o*(i-e.left),y:s*(d-e.top),text:b,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:m,eventData:[{data:p._input,fullData:p,count:v,category:g,probability:y}]}}function L(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,i=r._fullLayout,a=i._paperdiv.node().getBoundingClientRect(),l=t.parcatsViewModel.hoveron,u=this;"color"===l?(function(t){var e=n.select(t).datum(),r=A(e);w(r),r.each((function(){s.raiseToTop(this)})),n.select(t.parentNode).selectAll("rect.bandrect").filter((function(t){return t.color===e.color})).each((function(){s.raiseToTop(this),n.select(this).attr("stroke","black").attr("stroke-width",1.5)}))}(u),S(u,"plotly_hover",n.event)):(function(t){n.select(t.parentNode).selectAll("rect.bandrect").each((function(t){var e=A(t);w(e),e.each((function(){s.raiseToTop(this)}))})),n.select(t.parentNode).select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(u),M(u,"plotly_hover",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none")&&("category"===l?e=E(r,a,u):"color"===l?e=function(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=r.getBoundingClientRect(),u=n.select(r).datum(),f=u.categoryViewModel,h=f.parcatsViewModel,p=h.model.dimensions[f.model.dimensionInd],d=h.trace,v=l.y+l.height/2;h.dimensions.length>1&&p.displayInd===h.dimensions.length-1?(i=l.left,a="left"):(i=l.left+l.width,a="right");var g=f.model.categoryLabel,y=u.parcatsViewModel.model.count,m=0;u.categoryViewModel.bands.forEach((function(t){t.color===u.color&&(m+=t.count)}));var x=f.model.count,b=0;h.pathSelection.each((function(t){t.model.color===u.color&&(b+=t.model.count)}));var _=m/y,w=m/b,T=m/x,k={countLabel:y,categoryLabel:g,probabilityLabel:_.toFixed(3)},A=[];-1!==f.parcatsViewModel.hoverinfoItems.indexOf("count")&&A.push(["Count:",k.countLabel].join(" ")),-1!==f.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(A.push("P(color ∩ "+g+"): "+k.probabilityLabel),A.push("P("+g+" | color): "+w.toFixed(3)),A.push("P(color | "+g+"): "+T.toFixed(3)));var M=A.join("
"),S=c.mostReadable(u.color,["black","white"]);return{trace:d,x:o*(i-e.left),y:s*(v-e.top),text:M,color:u.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:g,count:y,probability:_,categorycount:x,colorcount:b,bandcolorcount:m}]}}(r,a,u):"dimension"===l&&(e=function(t,e,r){var i=[];return n.select(r.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each((function(){i.push(E(t,e,this))})),i}(r,a,u)),e&&o.loneHover(e,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}))}}function C(t){var e=t.parcatsViewModel;e.dragDimension||(_(e.pathSelection),T(e.dimensionSelection.selectAll("g.category")),k(e.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),o.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(v),-1!==e.hoverinfoItems.indexOf("skip"))||("color"===t.parcatsViewModel.hoveron?S(this,"plotly_unhover",n.event):M(this,"plotly_unhover",n.event))}function P(t){"fixed"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll("g.category").select("rect.catrect").each((function(e){var r=n.mouse(this)[0],i=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=i&&i<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map((function(t){return t.displayInd})),e.model.dragY=e.y,s.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll("rect.bandrect").each((function(e){e.yf.y+f.height/2&&(o.model.displayInd=f.model.displayInd,f.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||"freeform"===t.parcatsViewModel.arrangement){a.model.dragX=n.event.x;var h=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[i];void 0!==h&&a.model.dragXp.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=a.model.displayInd}j(t.parcatsViewModel),N(t.parcatsViewModel),R(t.parcatsViewModel),z(t.parcatsViewModel)}}function I(t){if("fixed"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll("text").attr("font-weight","normal");var e={},r=D(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),o=t.initialDragDimensionDisplayInds.some((function(t,e){return t!==i[e]}));o&&i.forEach((function(r,n){var i=t.parcatsViewModel.model.dimensions[n].containerInd;e["dimensions["+i+"].displayindex"]=r}));var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map((function(t){return t.displayInd}));if(s=t.initialDragCategoryDisplayInds.some((function(t,e){return t!==l[e]}))){var u=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),c=u.map((function(t){return t.categoryValue})),f=u.map((function(t){return t.categoryLabel}));e["dimensions["+t.model.containerInd+"].categoryarray"]=[c],e["dimensions["+t.model.containerInd+"].ticktext"]=[f],e["dimensions["+t.model.containerInd+"].categoryorder"]="array"}}-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!t.dragHasMoved&&t.potentialClickBand&&("color"===t.parcatsViewModel.hoveron?S(t.potentialClickBand,"plotly_click",n.event.sourceEvent):M(t.potentialClickBand,"plotly_click",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd&&(t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null),t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,j(t.parcatsViewModel),N(t.parcatsViewModel),n.transition().duration(300).ease("cubic-in-out").each((function(){R(t.parcatsViewModel,!0),z(t.parcatsViewModel,!0)})).each("end",(function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])}))}}function D(t){for(var e,r=t.graphDiv._fullData,n=0;n=0;s--)c+="C"+u[s]+","+(e[s+1]+n)+" "+l[s]+","+(e[s]+n)+" "+(t[s]+r[s])+","+(e[s]+n),c+="l-"+r[s]+",0 ";return c+"Z"}function N(t){var e=t.dimensions,r=t.model,n=e.map((function(t){return t.categories.map((function(t){return t.y}))})),i=t.model.dimensions.map((function(t){return t.categories.map((function(t){return t.displayInd}))})),a=t.model.dimensions.map((function(t){return t.displayInd})),o=t.dimensions.map((function(t){return t.model.dimensionInd})),s=e.map((function(t){return t.x})),l=e.map((function(t){return t.width})),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(t){var e=t.categoryInds.map((function(t,e){return i[e][t]}));return o.map((function(t){return e[t]}))}u.sort((function(e,r){var n=f(e),i=f(r);return"backward"===t.sortpaths&&(n.reverse(),i.reverse()),n.push(e.valueInds[0]),i.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),i.unshift(r.rawColor)),ni?1:0}));for(var h=new Array(u.length),p=e[0].model.count,d=e[0].categories.map((function(t){return t.height})).reduce((function(t,e){return t+e})),v=0;v0?d*(y.count/p):0;for(var m,x=new Array(n.length),b=0;b1?(t.width-80-16)/(n-1):0)*i;var a,o,s,l,u,c=[],f=t.model.maxCats,h=e.categories.length,p=e.count,d=t.height-8*(f-1),v=8*(f-h)/2,g=e.categories.map((function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}}));for(g.sort((function(t,e){return t.displayInd-e.displayInd})),u=0;u0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:v,bands:[],parcatsViewModel:t},v=v+a+8,c.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:c,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}t.exports=function(t,e,r,n){h(r,t,n,e)}},45784:function(t,e,r){"use strict";var n=r(45460);t.exports=function(t,e,r,i){var a=t._fullLayout,o=a._paper,s=a._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,i)}},73362:function(t,e,r){"use strict";var n=r(50693),i=r(13838),a=r(41940),o=r(27670).Y,s=r(1426).extendFlat,l=r(44467).templatedArray;t.exports={domain:o({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:a({editType:"plot"}),tickfont:a({editType:"plot"}),rangefont:a({editType:"plot"}),dimensions:l("dimension",{label:{valType:"string",editType:"plot"},tickvals:s({},i.tickvals,{editType:"plot"}),ticktext:s({},i.ticktext,{editType:"plot"}),tickformat:s({},i.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:s({editType:"calc"},n("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"})),unselected:{line:{color:{valType:"color",dflt:"#7f7f7f",editType:"plot"},opacity:{valType:"number",min:0,max:1,dflt:"auto",editType:"plot"},editType:"plot"},editType:"plot"}}},57920:function(t,e,r){"use strict";var n=r(25706),i=r(39898),a=r(28984).keyFun,o=r(28984).repeat,s=r(71828).sorterAsc,l=r(71828).strTranslate,u=n.bar.snapRatio;function c(t,e){return t*(1-u)+e*u}var f=n.bar.snapClose;function h(t,e){return t*(1-f)+e*f}function p(t,e,r,n){if(function(t,e){for(var r=0;r=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var i=t?-1:1,a=0,o=e.length-1;if(i<0){var s=a;a=o,o=s}for(var l=e[a],u=l,f=a;i*fe){h=r;break}}if(a=c,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-u[f][1]t[1]+r||e=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);v&&(o.interval=l[a],o.intervalPix=d,o.region=v)}}if(t.ordinal&&!o.region){var g=t.unitTickvals,m=t.unitToPaddedPx.invert(e);for(r=0;r=x[0]&&m<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[r-a.grabPoint,r+a.barLength-a.grabPoint].map(e.unitToPaddedPx.invert):a.newExtent=[a.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(e),b(t.parentNode)}function T(t,e){var r=_(e,e.height-i.mouse(t)[1]-2*n.verticalPadding),a="crosshair";r.clickableOrdinalRange?a="pointer":r.region&&(a=r.region+"-resize"),i.select(document.body).style("cursor",a)}function k(t){t.on("mousemove",(function(t){i.event.preventDefault(),t.parent.inBrushDrag||T(this,t)})).on("mouseleave",(function(t){t.parent.inBrushDrag||m()})).call(i.behavior.drag().on("dragstart",(function(t){!function(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.unitToPaddedPx.invert(r),o=e.brush,s=_(e,r),l=s.interval,u=o.svgBrush;if(u.wasDragged=!1,u.grabbingBar="ns"===s.region,u.grabbingBar){var c=l.map(e.unitToPaddedPx);u.grabPoint=r-c[0]-n.verticalPadding,u.barLength=c[1]-c[0]}u.clickableOrdinalRange=s.clickableOrdinalRange,u.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(u.stayingIntervals=u.stayingIntervals.filter((function(t){return t[0]!==l[0]&&t[1]!==l[1]}))),u.startExtent=s.region?l["s"===s.region?1:0]:a,e.parent.inBrushDrag=!0,u.brushStartCallback()}(this,t)})).on("drag",(function(t){w(this,t)})).on("dragend",(function(t){!function(t,e){var r=e.brush,n=r.filter,a=r.svgBrush;a._dragging||(T(t,e),w(t,e),e.brush.svgBrush.wasDragged=!1),a._dragging=!1,i.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,e.parent.inBrushDrag=!1,m(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&e.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&M(r)):M(r),a.brushCallback(e),b(t.parentNode),void a.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]a.newExtent[0];a.extent=a.stayingIntervals.concat(u?[a.newExtent]:[]),a.extent.length||M(r),a.brushCallback(e),u?b(t.parentNode,s):(s(),b(t.parentNode))}else s();a.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)})))}function A(t,e){return t[0]-e[0]}function M(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function S(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}t.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map((function(t){return t.slice().sort(s)})).sort(A)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=S(r),e=r.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map((function(t){return t.slice()}))}(e),n=r.slice();e.filter.set(n),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t,e,r){var i=t.selectAll("."+n.cn.axisBrush).data(o,a);i.enter().append("g").classed(n.cn.axisBrush,!0),function(t,e,r){var i=r._context.staticPlot,a=t.selectAll(".background").data(o);a.enter().append("rect").classed("background",!0).call(d).call(v).style("pointer-events",i?"none":"auto").attr("transform",l(0,n.verticalPadding)),a.call(k).attr("height",(function(t){return t.height-n.verticalPadding}));var s=t.selectAll(".highlight-shadow").data(o);s.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",e).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),s.attr("y1",(function(t){return t.height})).call(x);var u=t.selectAll(".highlight").data(o);u.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),u.attr("y1",(function(t){return t.height})).call(x)}(i,e,r)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map((function(t){return t.sort(s)})),t=e.multiselect?S(t.sort(A)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map((function(t){var e=[p(0,r,t[0],[]),p(1,r,t[1],[])];if(e[1]>e[0])return e})).filter((function(t){return t}))).length)return}return t.length>1?t:t[0]}}},71791:function(t,e,r){"use strict";t.exports={attributes:r(73362),supplyDefaults:r(3633),calc:r(24639),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:r(49351),categories:["gl","regl","noOpacity","noHover"],meta:{}}},49351:function(t,e,r){"use strict";var n=r(39898),i=r(27659).a0,a=r(21341),o=r(77922);e.name="parcoords",e.plot=function(t){var e=i(t.calcdata,"parcoords")[0];e.length&&a(t,e)},e.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())},e.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter((function(t,e){return e===r.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var t=this,r=t.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":r,preserveAspectRatio:"none",x:0,y:0,width:t.style.width,height:t.style.height})})),window.setTimeout((function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")}),60)}},24639:function(t,e,r){"use strict";var n=r(71828).isArrayOrTypedArray,i=r(21081),a=r(28984).wrap;t.exports=function(t,e){var r,o;return i.hasColorscale(e,"line")&&n(e.line.color)?(r=e.line.color,o=i.extractOpts(e.line).colorscale,i.calc(t,e,{vals:r,containerStr:"line",cLetter:"c"})):(r=function(t){for(var e=new Array(t),r=0;rf&&(n.log("parcoords traces support up to "+f+" dimensions at the moment"),d.splice(f));var v=s(t,e,{name:"dimensions",layout:l,handleItemDefaults:p}),g=function(t,e,r,o,s){var l=s("line.color",r);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,c);o(e,l,c),Array.isArray(v)&&v.length||(e.visible=!1),h(e,v,"values",g);var y={family:l.font.family,size:Math.round(l.font.size/1.2),color:l.font.color};n.coerceFont(c,"labelfont",y),n.coerceFont(c,"tickfont",y),n.coerceFont(c,"rangefont",y),c("labelangle"),c("labelside"),c("unselected.line.color"),c("unselected.line.opacity")}},1602:function(t,e,r){"use strict";var n=r(71828).isTypedArray;e.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},e.isOrdinal=function(t){return!!t.tickvals},e.isVisible=function(t){return t.visible||!("visible"in t)}},67618:function(t,e,r){"use strict";var n=r(71791);n.plot=r(21341),t.exports=n},83398:function(t,e,r){"use strict";var n=r(56068),i=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\n p17_20, p21_24, p25_28, p29_32,\n p33_36, p37_40, p41_44, p45_48,\n p49_52, p53_56, p57_60, colors;\n\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\nuniform float maskHeight;\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\nuniform vec4 contextColor;\nuniform sampler2D maskTexture, palette;\n\nbool isPick = (drwLayer > 1.5);\nbool isContext = (drwLayer < 0.5);\n\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * UNITS, UNITS);\n}\n\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\n float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\n float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\n return y1 * (1.0 - ratio) + y2 * ratio;\n}\n\nint iMod(int a, int b) {\n return a - b * (a / b);\n}\n\nbool fOutside(float p, float lo, float hi) {\n return (lo < hi) && (lo > p || p > hi);\n}\n\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\n return (\n fOutside(p[0], lo[0], hi[0]) ||\n fOutside(p[1], lo[1], hi[1]) ||\n fOutside(p[2], lo[2], hi[2]) ||\n fOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\n return (\n vOutside(p[0], lo[0], hi[0]) ||\n vOutside(p[1], lo[1], hi[1]) ||\n vOutside(p[2], lo[2], hi[2]) ||\n vOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\n return mOutside(A, loA, hiA) ||\n mOutside(B, loB, hiB) ||\n mOutside(C, loC, hiC) ||\n mOutside(D, loD, hiD);\n}\n\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\n mat4 pnts[4];\n pnts[0] = A;\n pnts[1] = B;\n pnts[2] = C;\n pnts[3] = D;\n\n for(int i = 0; i < 4; ++i) {\n for(int j = 0; j < 4; ++j) {\n for(int k = 0; k < 4; ++k) {\n if(0 == iMod(\n int(255.0 * texture2D(maskTexture,\n vec2(\n (float(i * 2 + j / 2) + 0.5) / 8.0,\n (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\n ))[3]\n ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\n 2\n )) return true;\n }\n }\n }\n return false;\n}\n\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\n float x = 0.5 * sign(v) + 0.5;\n float y = axisY(x, A, B, C, D);\n float z = 1.0 - abs(v);\n\n z += isContext ? 0.0 : 2.0 * float(\n outsideBoundingBox(A, B, C, D) ||\n outsideRasterMask(A, B, C, D)\n );\n\n return vec4(\n 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\n z,\n 1.0\n );\n}\n\nvoid main() {\n mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\n mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\n mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\n mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\n\n float v = colors[3];\n\n gl_Position = position(isContext, v, A, B, C, D);\n\n fragColor =\n isContext ? vec4(contextColor) :\n isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\n}\n"]),a=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}\n"]),o=r(25706).maxDimensionCount,s=r(71828),l=new Uint8Array(4),u=new Uint8Array(4),c={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function f(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 h(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:l})}(t),r.drawCompleted=!0),function s(l){var u=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],f(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(a.count=2*u,a.offset=2*l*n,e(a),l*n+u>>8*e)%256/255}function v(t,e,r){for(var n=new Array(8*e),i=0,a=0;ac&&(c=t[i].dim1.canvasX,o=i);0===s&&f(T,0,0,r.canvasWidth,r.canvasHeight);var p=function(t){var e,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!t&&no._length&&(S=S.slice(0,o._length));var L,C=o.tickvals;function P(t,e){return{val:t,text:L[e]}}function O(t,e){return t.val-e.val}if(Array.isArray(C)&&C.length){L=o.ticktext,Array.isArray(L)&&L.length?L.length>C.length?L=L.slice(0,C.length):C.length>L.length&&(C=C.slice(0,L.length)):L=C.map(a(o.tickformat));for(var I=1;I=r||l>=i)return;var u=t.lineLayer.readPixel(s,i-1-l),c=0!==u[3],f=c?u[2]+256*(u[1]+256*u[0]):null,h={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:f};f!==N&&(c?a.hover(h):a.unhover&&a.unhover(h),N=f)}})),B.style("opacity",(function(t){return t.pick?0:1})),p.style("background","rgba(255, 255, 255, 0)");var j=p.selectAll("."+m.cn.parcoords).data(F,d);j.exit().remove(),j.enter().append("g").classed(m.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),j.attr("transform",(function(t){return u(t.model.translateX,t.model.translateY)}));var U=j.selectAll("."+m.cn.parcoordsControlView).data(v,d);U.enter().append("g").classed(m.cn.parcoordsControlView,!0),U.attr("transform",(function(t){return u(t.model.pad.l,t.model.pad.t)}));var V=U.selectAll("."+m.cn.yAxis).data((function(t){return t.dimensions}),d);V.enter().append("g").classed(m.cn.yAxis,!0),U.each((function(t){I(V,t,T)})),B.each((function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=b(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}})),V.attr("transform",(function(t){return u(t.xScale(t.xIndex),0)})),V.call(n.behavior.drag().origin((function(t){return t})).on("drag",(function(t){var e=t.parent;R.linePickActive(!1),t.x=Math.max(-m.overdrag,Math.min(t.model.width+m.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,V.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})),I(V,e,T),V.filter((function(e){return 0!==Math.abs(t.xIndex-e.xIndex)})).attr("transform",(function(t){return u(t.xScale(t.xIndex),0)})),n.select(this).attr("transform",u(t.x,0)),V.each((function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!E(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)})).on("dragend",(function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,I(V,e,T),n.select(this).attr("transform",(function(t){return u(t.x,0)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!E(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),R.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),V.exit().remove();var H=V.selectAll("."+m.cn.axisOverlays).data(v,d);H.enter().append("g").classed(m.cn.axisOverlays,!0),H.selectAll("."+m.cn.axis).remove();var q=H.selectAll("."+m.cn.axis).data(v,d);q.enter().append("g").classed(m.cn.axis,!0),q.each((function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,i=r.domain();n.select(this).call(n.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat((function(e){return y.isOrdinal(t)?e:D(t.model.dimensions[t.visibleIndex],e)})).scale(r)),f.font(q.selectAll("text"),t.model.tickFont)})),q.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),q.selectAll("text").style("text-shadow",c.makeTextShadow(A)).style("cursor","default");var G=H.selectAll("."+m.cn.axisHeading).data(v,d);G.enter().append("g").classed(m.cn.axisHeading,!0);var Z=G.selectAll("."+m.cn.axisTitle).data(v,d);Z.enter().append("text").classed(m.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",o?"none":"auto"),Z.text((function(t){return t.label})).each((function(e){var r=n.select(this);f.font(r,e.model.labelFont),c.convertToTspans(r,t)})).attr("transform",(function(t){var e=O(t.model.labelAngle,t.model.labelSide),r=m.axisTitleOffset;return(e.dir>0?"":u(0,2*r+t.model.height))+l(e.degrees)+u(-r*e.dx,-r*e.dy)})).attr("text-anchor",(function(t){var e=O(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?"start":"end":"middle"}));var Y=H.selectAll("."+m.cn.axisExtent).data(v,d);Y.enter().append("g").classed(m.cn.axisExtent,!0);var W=Y.selectAll("."+m.cn.axisExtentTop).data(v,d);W.enter().append("g").classed(m.cn.axisExtentTop,!0),W.attr("transform",u(0,-m.axisExtentOffset));var X=W.selectAll("."+m.cn.axisExtentTopText).data(v,d);X.enter().append("text").classed(m.cn.axisExtentTopText,!0).call(P),X.text((function(t){return z(t,!0)})).each((function(t){f.font(n.select(this),t.model.rangeFont)}));var J=Y.selectAll("."+m.cn.axisExtentBottom).data(v,d);J.enter().append("g").classed(m.cn.axisExtentBottom,!0),J.attr("transform",(function(t){return u(0,t.model.height+m.axisExtentOffset)}));var K=J.selectAll("."+m.cn.axisExtentBottomText).data(v,d);K.enter().append("text").classed(m.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(P),K.text((function(t){return z(t,!1)})).each((function(t){f.font(n.select(this),t.model.rangeFont)})),x.ensureAxisBrush(H,A,t)}},21341:function(t,e,r){"use strict";var n=r(17171),i=r(79749),a=r(1602).isVisible,o={};function s(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}(t.exports=function(t,e){var r=t._fullLayout;if(i(t,[],o)){var l={},u={},c={},f={},h=r._size;e.forEach((function(e,r){var n=e[0].trace;c[r]=n.index;var i=f[r]=n._fullInput.index;l[r]=t.data[i].dimensions,u[r]=t.data[i].dimensions.slice()})),n(t,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(e,n,i){var a=u[e][n],o=i.map((function(t){return t.slice()})),s="dimensions["+n+"].constraintrange",l=r._tracePreGUI[t._fullData[c[e]]._fullInput.uid];if(void 0===l[s]){var h=a.constraintrange;l[s]=h||null}var p=t._fullData[c[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),a.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete a.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit("plotly_restyle",[d,[f[e]]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return s(t,e,r)-s(t,e,n)}}(r,u[e].filter(a));l[e].sort(n),u[e].filter((function(t){return!a(t)})).sort((function(t){return u[e].indexOf(t)})).forEach((function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(u[e].indexOf(t),0,t)})),t.emit("plotly_restyle",[{dimensions:[l[e]]},[f[e]]])}})}}).reglPrecompiled=o},34e3:function(t,e,r){"use strict";var n=r(9012),i=r(27670).Y,a=r(41940),o=r(22399),s=r(5386).fF,l=r(5386).si,u=r(1426).extendFlat,c=r(79952).u,f=a({editType:"plot",arrayOk:!0,colorEditType:"plot"});t.exports={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:o.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},pattern:c,editType:"calc"},text:{valType:"data_array",editType:"plot"},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:u({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:s({},{keys:["label","color","value","percent","text"]}),texttemplate:l({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:u({},f,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:u({},f,{}),outsidetextfont:u({},f,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:u({},f,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:i({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:"angle",dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:u({},f,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},13584:function(t,e,r){"use strict";var n=r(74875);e.name="pie",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},32354:function(t,e,r){"use strict";var n=r(92770),i=r(84267),a=r(7901),o={};function s(t){return function(e,r){return!!e&&!!(e=i(e)).isValid()&&(e=a.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e)}}function l(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r=0})),("funnelarea"===e.type?y:e.sort)&&a.sort((function(t,e){return e.v-t.v})),a[0]&&(a[0].vTotal=g),a},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r="pie");var n=t._fullLayout,i=t.calcdata,a=n[r+"colorway"],s=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(a=l(a,o));for(var u=0,c=0;c0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:a,len:o}}function c(t,e,r,n,i){n("marker.line.width")&&n("marker.line.color",i?void 0:r.paper_bgcolor);var a=n("marker.colors");l(n,"marker.pattern",a),t.marker&&!e.marker.pattern.fgcolor&&(e.marker.pattern.fgcolor=t.marker.colors),e.marker.pattern.bgcolor||(e.marker.pattern.bgcolor=r.paper_bgcolor)}t.exports={handleLabelsAndValues:u,handleMarkerDefaults:c,supplyDefaults:function(t,e,r,n){function l(r,n){return i.coerce(t,e,a,r,n)}var f=u(l("labels"),l("values")),h=f.len;if(e._hasLabels=f.hasLabels,e._hasValues=f.hasValues,!e._hasLabels&&e._hasValues&&(l("label0"),l("dlabel")),h){e._length=h,c(t,e,n,l,!0),l("scalegroup");var p,d=l("text"),v=l("texttemplate");if(v||(p=l("textinfo",Array.isArray(d)?"text+percent":"percent")),l("hovertext"),l("hovertemplate"),v||p&&"none"!==p){var g=l("textposition");s(t,e,n,l,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||"auto"===g||"outside"===g)&&l("automargin"),("inside"===g||"auto"===g||Array.isArray(g))&&l("insidetextorientation")}o(e,n,l);var y=l("hole");if(l("title.text")){var m=l("title.position",y?"middle center":"top center");y||"middle center"!==m||(e.title.position="top center"),i.coerceFont(l,"title.font",n.font)}l("sort"),l("direction"),l("rotation"),l("pull")}else e.visible=!1}}},20007:function(t,e,r){"use strict";var n=r(23469).appendArrayMultiPointValues;t.exports=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,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),"funnelarea"===e.type&&(delete r.v,delete r.i),r}},22209:function(t,e,r){"use strict";var n=r(91424),i=r(7901);t.exports=function(t,e,r,a){var o=r.marker.pattern;o&&o.shape?n.pointStyle(t,r,a,e):i.fill(t,e.color)}},53581:function(t,e,r){"use strict";var n=r(71828);function i(t){return-1!==t.indexOf("e")?t.replace(/[.]?0+e/,"e"):-1!==t.indexOf(".")?t.replace(/[.]?0+$/,""):t}e.formatPiePercent=function(t,e){var r=i((100*t).toPrecision(3));return n.numSeparate(r,e)+"%"},e.formatPieValue=function(t,e){var r=i(t.toPrecision(10));return n.numSeparate(r,e)},e.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r"),name:f.hovertemplate||-1!==h.indexOf("name")?f.name:void 0,idealAlign:t.pxmid[0]<0?"left":"right",color:g.castOption(_.bgcolor,t.pts)||t.color,borderColor:g.castOption(_.bordercolor,t.pts),fontFamily:g.castOption(w.family,t.pts),fontSize:g.castOption(w.size,t.pts),fontColor:g.castOption(w.color,t.pts),nameLength:g.castOption(_.namelength,t.pts),textAlign:g.castOption(_.align,t.pts),hovertemplate:g.castOption(f.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[y(t,f)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e,inOut_bbox:T}),t.bbox=T[0],u._hasHoverLabel=!0}u._hasHoverEvent=!0,e.emit("plotly_hover",{points:[y(t,f)],event:n.event})}})),t.on("mouseout",(function(t){var r=e._fullLayout,i=e._fullData[u.index],o=n.select(this).datum();u._hasHoverEvent&&(t.originalEvent=n.event,e.emit("plotly_unhover",{points:[y(o,i)],event:n.event}),u._hasHoverEvent=!1),u._hasHoverLabel&&(a.loneUnhover(r._hoverlayer.node()),u._hasHoverLabel=!1)})),t.on("click",(function(t){var r=e._fullLayout,i=e._fullData[u.index];e._dragging||!1===r.hovermode||(e._hoverdata=[y(t,i)],a.click(e,n.event))}))}function b(t,e,r){var n=g.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=g.castOption(t._input.textfont.color,e.pts));var i=g.castOption(t.insidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,a=g.castOption(t.insidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size;return{color:n||o.contrast(e.color),family:i,size:a}}function _(t,e){for(var r,n,i=0;ie&&e>n||r=-4;g-=2)y(Math.PI*g,"tan");for(g=4;g>=-4;g-=2)y(Math.PI*(g+1),"tan")}if(f||p){for(g=4;g>=-4;g-=2)y(Math.PI*(g+1.5),"rad");for(g=4;g>=-4;g-=2)y(Math.PI*(g+.5),"rad")}}if(s||d||f){var m=Math.sqrt(t.width*t.width+t.height*t.height);if((a={scale:i*n*2/m,rCenter:1-i,rotate:0}).textPosAngle=(e.startangle+e.stopangle)/2,a.scale>=1)return a;v.push(a)}(d||p)&&((a=T(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a)),(d||h)&&((a=k(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a));for(var x=0,b=0,_=0;_=1)break}return v[x]}function T(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.width/t.height,o=S(a,n,e,r);return{scale:2*o/t.height,rCenter:A(a,o/e),rotate:M(i)}}function k(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.height/t.width,o=S(a,n,e,r);return{scale:2*o/t.width,rCenter:A(a,o/e),rotate:M(i+Math.PI/2)}}function A(t,e){return Math.cos(e)-t*e}function M(t){return(180/Math.PI*t+720)%180-90}function S(t,e,r,n){var i=t+1/(2*Math.tan(e));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(t*t+n/2)+t))}function E(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function L(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function C(t,e){var r,n,i,a=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=O(a),-1!==a.title.position.indexOf("top")?(o.y-=(1+i)*t.r,s.ty-=t.titleBox.height):-1!==a.title.position.indexOf("bottom")&&(o.y+=(1+i)*t.r);var l,u=t.r/(void 0===(l=t.trace.aspectratio)?1:l),c=e.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf("left")?(c+=u,o.x-=(1+i)*u,s.tx+=t.titleBox.width/2):-1!==a.title.position.indexOf("center")?c*=2:-1!==a.title.position.indexOf("right")&&(c+=u,o.x+=(1+i)*u,s.tx-=t.titleBox.width/2),r=c/t.titleBox.width,n=P(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function P(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function O(t){var e,r=t.pull;if(!r)return 0;if(Array.isArray(r))for(r=0,e=0;er&&(r=t.pull[e]);return r}function I(t,e){for(var r=[],n=0;n1?c=(u=r.r)/i.aspectratio:u=(c=r.r)*i.aspectratio,l=(u*=(1+i.baseratio)/2)*c}o=Math.min(o,l/r.vTotal)}for(n=0;n")}if(a){var x=l.castOption(i,e.i,"texttemplate");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:g.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:g.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(i,t.i,"customdata")}}(e),_=g.getFirstFilled(i.text,e.pts);(m(_)||""===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,i._meta||{})}else e.text=""}}function R(t,e){var r=t.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(e.left+e.right)/2,o=(e.top+e.bottom)/2;t.textX=a*n-o*i,t.textY=a*i+o*n,t.noCenter=!0}t.exports={plot:function(t,e){var r=t._context.staticPlot,a=t._fullLayout,h=a._size;d("pie",a),_(e,t),I(e,h);var v=l.makeTraceGroups(a._pielayer,e,"trace").each((function(e){var d=n.select(this),v=e[0],y=v.trace;!function(t){var e,r,n,i=t[0],a=i.r,o=i.trace,s=g.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,u="px0",c="px1";if("counterclockwise"===o.direction){for(e=0;ei.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))}(e),d.attr("stroke-linejoin","round"),d.each((function(){var m=n.select(this).selectAll("g.slice").data(e);m.enter().append("g").classed("slice",!0),m.exit().remove();var _=[[[],[]],[[],[]]],T=!1;m.each((function(i,o){if(i.hidden)n.select(this).selectAll("path,g").remove();else{i.pointNumber=i.i,i.curveNumber=y.index,_[i.pxmid[1]<0?0:1][i.pxmid[0]<0?0:1].push(i);var u=v.cx,c=v.cy,h=n.select(this),d=h.selectAll("path.surface").data([i]);if(d.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),h.call(x,t,e),y.pull){var m=+g.castOption(y.pull,i.pts)||0;m>0&&(u+=m*i.pxmid[0],c+=m*i.pxmid[1])}i.cxFinal=u,i.cyFinal=c;var k=y.hole;if(i.v===v.vTotal){var A="M"+(u+i.px0[0])+","+(c+i.px0[1])+P(i.px0,i.pxmid,!0,1)+P(i.pxmid,i.px0,!0,1)+"Z";k?d.attr("d","M"+(u+k*i.px0[0])+","+(c+k*i.px0[1])+P(i.px0,i.pxmid,!1,k)+P(i.pxmid,i.px0,!1,k)+"Z"+A):d.attr("d",A)}else{var M=P(i.px0,i.px1,!0,1);if(k){var S=1-k;d.attr("d","M"+(u+k*i.px1[0])+","+(c+k*i.px1[1])+P(i.px1,i.px0,!1,k)+"l"+S*i.px0[0]+","+S*i.px0[1]+M+"Z")}else d.attr("d","M"+u+","+c+"l"+i.px0[0]+","+i.px0[1]+M+"Z")}z(t,i,v);var E=g.castOption(y.textposition,i.pts),C=h.selectAll("g.slicetext").data(i.text&&"none"!==E?[0]:[]);C.enter().append("g").classed("slicetext",!0),C.exit().remove(),C.each((function(){var r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),h=l.ensureUniformFontSize(t,"outside"===E?function(t,e,r){return{color:g.castOption(t.outsidetextfont.color,e.pts)||g.castOption(t.textfont.color,e.pts)||r.color,family:g.castOption(t.outsidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,size:g.castOption(t.outsidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size}}(y,i,a.font):b(y,i,a.font));r.text(i.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(s.font,h).call(f.convertToTspans,t);var d,m=s.bBox(r.node());if("outside"===E)d=L(m,i);else if(d=w(m,i,v),"auto"===E&&d.scale<1){var x=l.ensureUniformFontSize(t,y.outsidetextfont);r.call(s.font,x),d=L(m=s.bBox(r.node()),i)}var _=d.textPosAngle,k=void 0===_?i.pxmid:D(v.r,_);if(d.targetX=u+k[0]*d.rCenter+(d.x||0),d.targetY=c+k[1]*d.rCenter+(d.y||0),R(d,m),d.outside){var A=d.targetY;i.yLabelMin=A-m.height/2,i.yLabelMid=A,i.yLabelMax=A+m.height/2,i.labelExtraX=0,i.labelExtraY=0,T=!0}d.fontSize=h.size,p(y.type,d,a),e[o].transform=d,l.setTransormAndDisplay(r,d)}))}function P(t,e,r,n){var a=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return"a"+n*v.r+","+n*v.r+" 0 "+i.largeArc+(r?" 1 ":" 0 ")+a+","+o}}));var k=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);if(k.enter().append("g").classed("titletext",!0),k.exit().remove(),k.each((function(){var e,r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),i=y.title.text;y._meta&&(i=l.templateString(i,y._meta)),r.text(i).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(s.font,y.title.font).call(f.convertToTspans,t),e="middle center"===y.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(v):C(v,h),r.attr("transform",c(e.x,e.y)+u(Math.min(1,e.scale))+c(e.tx,e.ty))})),T&&function(t,e){var r,n,i,a,o,s,l,u,c,f,h,p,d;function v(t,e){return t.pxmid[1]-e.pxmid[1]}function y(t,e){return e.pxmid[1]-t.pxmid[1]}function m(t,r){r||(r={});var i,u,c,h,p=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),d=n?t.yLabelMin:t.yLabelMax,v=n?t.yLabelMax:t.yLabelMin,y=t.cyFinal+o(t.px0[1],t.px1[1]),m=p-d;if(m*l>0&&(t.labelExtraY=m),Array.isArray(e.pull))for(u=0;u=(g.castOption(e.pull,c.pts)||0)||((t.pxmid[1]-c.pxmid[1])*l>0?(m=c.cyFinal+o(c.px0[1],c.px1[1])-d-t.labelExtraY)*l>0&&(t.labelExtraY+=m):(v+t.labelExtraY-y)*l>0&&(i=3*s*Math.abs(u-f.indexOf(t)),(h=c.cxFinal+a(c.px0[0],c.px1[0])+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=h)))}for(n=0;n<2;n++)for(i=n?v:y,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],f=c.concat(u),p=[],h=0;hMath.abs(f)?s+="l"+f*t.pxmid[0]/t.pxmid[1]+","+f+"H"+(a+t.labelExtraX+u):s+="l"+t.labelExtraX+","+c+"v"+(f-c)+"h"+u}else s+="V"+(t.yLabelMid+t.labelExtraY)+"h"+u;l.ensureSingle(r,"path","textline").call(o.stroke,e.outsidetextfont.color).attr({"stroke-width":Math.min(2,e.outsidetextfont.size/8),d:s,fill:"none"})}else r.select("path.textline").remove()}))}(m,y),T&&y.automargin){var A=s.bBox(d.node()),M=y.domain,S=h.w*(M.x[1]-M.x[0]),E=h.h*(M.y[1]-M.y[0]),P=(.5*S-v.r)/h.w,O=(.5*E-v.r)/h.h;i.autoMargin(t,"pie."+y.uid+".automargin",{xl:M.x[0]-P,xr:M.x[1]+P,yb:M.y[0]-O,yt:M.y[1]+O,l:Math.max(v.cx-v.r-A.left,0),r:Math.max(A.right-(v.cx+v.r),0),b:Math.max(A.bottom-(v.cy+v.r),0),t:Math.max(v.cy-v.r-A.top,0),pad:5})}}))}));setTimeout((function(){v.selectAll("tspan").each((function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))}))}),0)},formatSliceLabel:z,transformInsideText:w,determineInsideTextFont:b,positionTitleOutside:C,prerenderTitles:_,layoutAreas:I,attachFxHandlers:x,computeTransform:R}},68357:function(t,e,r){"use strict";var n=r(39898),i=r(63463),a=r(72597).resizeText;t.exports=function(t){var e=t._fullLayout._pielayer.selectAll(".trace");a(t,e,"pie"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll("path.surface").each((function(e){n.select(this).call(i,e,r,t)}))}))}},63463:function(t,e,r){"use strict";var n=r(7901),i=r(53581).castOption,a=r(22209);t.exports=function(t,e,r,o){var s=r.marker.line,l=i(s.color,e.pts)||n.defaultLine,u=i(s.width,e.pts)||0;t.call(a,e,r,o).style("stroke-width",u).call(n.stroke,l)}},10959:function(t,e,r){"use strict";var n=r(82196);t.exports={x:n.x,y:n.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:n.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"},transforms:void 0}},42743:function(t,e,r){"use strict";var n=r(9330).gl_pointcloud2d,i=r(78614),a=r(71739).findExtremes,o=r(34603);function s(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=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var l=s.prototype;l.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}},l.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=o(t,{})},l.updateFast=function(t){var e,r,n,o,s,l,u=this.xData=this.pickXData=t.x,c=this.yData=this.pickYData=t.y,f=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(f){if(n=f,e=f.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;ld[2]&&(d[2]=o),sd[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;ld[2]&&(d[2]=o),sd[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var v=i(t.marker.color),g=i(t.marker.border.color),y=t.opacity*t.marker.opacity;v[3]*=y,this.pointcloudOptions.color=v;var m=t.marker.blend;null===m&&(m=u.length<100||c.length<100),this.pointcloudOptions.blend=m,g[3]*=y,this.pointcloudOptions.borderColor=g;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,T=b/2||.5;t._extremes[_._id]=a(_,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=a(w,[d[1],d[3]],{ppad:T})},l.dispose=function(){this.pointcloud.dispose()},t.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},33876:function(t,e,r){"use strict";var n=r(71828),i=r(10959);t.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a("x"),a("y"),a("xbounds"),a("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a("text"),a("marker.color",r),a("marker.opacity"),a("marker.blend"),a("marker.sizemin"),a("marker.sizemax"),a("marker.border.color",r),a("marker.border.arearatio"),e._length=null}},20593:function(t,e,r){"use strict";["*pointcloud* trace is deprecated!","Please consider switching to the *scattergl* trace type."].join(" "),t.exports={attributes:r(10959),supplyDefaults:r(33876),calc:r(36563),plot:r(42743),moduleType:"trace",name:"pointcloud",basePlotModule:r(4796),categories:["gl","gl2d","showLegend"],meta:{}}},39953:function(t,e,r){"use strict";var n=r(41940),i=r(9012),a=r(22399),o=r(77914),s=r(27670).Y,l=r(5386).fF,u=r(50693),c=r(44467).templatedArray,f=r(12663).descriptionOnlyNumbers,h=r(1426).extendFlat,p=r(30962).overrideAll;(t.exports=p({hoverinfo:h({},i.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s",description:f("value")},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({}),customdata:void 0,node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.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},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]})},link:{arrowlen:{valType:"number",min:0,dflt:0},label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.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:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),colorscales:c("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:h(u().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")).transforms=void 0},75536:function(t,e,r){"use strict";var n=r(30962).overrideAll,i=r(27659).a0,a=r(60436),o=r(528),s=r(6964),l=r(28569),u=r(47322).prepSelect,c=r(71828),f=r(73972),h="sankey";function p(t,e){var r=t._fullData[e],n=t._fullLayout,i=n.dragmode,a="pan"===n.dragmode?"move":"crosshair",o=r._bgRect;if(o&&"pan"!==i&&"zoom"!==i){s(o,a);var h={_id:"x",c2p:c.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:c.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:h,yaxis:p,fillRangeItems:c.noop},subplot:e,xaxes:[h],yaxes:[p],doneFnCompleted:function(r){var n,i=t._fullData[e],a=i.node.groups.slice(),o=[];function s(t){for(var e=i._sankey.graph.nodes,r=0;rm&&(m=a.source[e]),a.target[e]>m&&(m=a.target[e]);var x,b=m+1;t.node._count=b;var _=t.node.groups,w={};for(e=0;e<_.length;e++){var T=_[e];for(x=0;x0&&s(E,b)&&s(L,b)&&(!w.hasOwnProperty(E)||!w.hasOwnProperty(L)||w[E]!==w[L])){w.hasOwnProperty(L)&&(L=w[L]),w.hasOwnProperty(E)&&(E=w[E]),L=+L,h[E=+E]=h[L]=!0;var C="";a.label&&a.label[e]&&(C=a.label[e]);var P=null;C&&p.hasOwnProperty(C)&&(P=p[C]),u.push({pointNumber:e,label:C,color:c?a.color[e]:a.color,customdata:f?a.customdata[e]:a.customdata,concentrationscale:P,source:E,target:L,value:+S}),M.source.push(E),M.target.push(L)}}var O=b+_.length,I=o(r.color),D=o(r.customdata),z=[];for(e=0;eb-1,childrenNodes:[],pointNumber:e,label:R,color:I?r.color[e]:r.color,customdata:D?r.customdata[e]:r.customdata})}var F=!1;return function(t,e,r){for(var a=i.init2dArray(t,0),o=0;o1}))}(O,M.source,M.target)&&(F=!0),{circular:F,links:u,nodes:z,groups:_,groupLookup:w}}(e);return a({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},85247:function(t){"use strict";t.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeLabel:"node-label"}}},26857:function(t,e,r){"use strict";var n=r(71828),i=r(39953),a=r(7901),o=r(84267),s=r(27670).c,l=r(38048),u=r(44467),c=r(85501);function f(t,e){function r(r,a){return n.coerce(t,e,i.link.colorscales,r,a)}r("label"),r("cmin"),r("cmax"),r("colorscale")}t.exports=function(t,e,r,h){function p(r,a){return n.coerce(t,e,i,r,a)}var d=n.extendDeep(h.hoverlabel,t.hoverlabel),v=t.node,g=u.newContainer(e,"node");function y(t,e){return n.coerce(v,g,i.node,t,e)}y("label"),y("groups"),y("x"),y("y"),y("pad"),y("thickness"),y("line.color"),y("line.width"),y("hoverinfo",t.hoverinfo),l(v,g,y,d),y("hovertemplate");var m=h.colorway;y("color",g.label.map((function(t,e){return a.addOpacity(function(t){return m[t%m.length]}(e),.8)}))),y("customdata");var x=t.link||{},b=u.newContainer(e,"link");function _(t,e){return n.coerce(x,b,i.link,t,e)}_("label"),_("arrowlen"),_("source"),_("target"),_("value"),_("line.color"),_("line.width"),_("hoverinfo",t.hoverinfo),l(x,b,_,d),_("hovertemplate");var w,T=o(h.paper_bgcolor).getLuminance()<.333?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)";_("color",n.repeat(T,b.value.length)),_("customdata"),c(x,b,{name:"colorscales",handleItemDefaults:f}),s(e,h,p),p("orientation"),p("valueformat"),p("valuesuffix"),g.x.length&&g.y.length&&(w="freeform"),p("arrangement",w),n.coerceFont(p,"textfont",n.extendFlat({},h.font)),e._length=null}},29396:function(t,e,r){"use strict";t.exports={attributes:r(39953),supplyDefaults:r(26857),calc:r(92930),plot:r(60436),moduleType:"trace",name:"sankey",basePlotModule:r(75536),selectPoints:r(84564),categories:["noOpacity"],meta:{}}},60436:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=i.numberFormat,o=r(3393),s=r(30211),l=r(7901),u=r(85247).cn,c=i._;function f(t){return""!==t}function h(t,e){return t.filter((function(t){return t.key===e.traceId}))}function p(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function d(t){n.select(t).select("text.name").style("fill","black")}function v(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function y(t,e,r){e&&r&&h(r,e).selectAll("."+u.sankeyLink).filter(v(e)).call(x.bind(0,e,r,!1))}function m(t,e,r){e&&r&&h(r,e).selectAll("."+u.sankeyLink).filter(v(e)).call(b.bind(0,e,r,!1))}function x(t,e,r,n){var i=n.datum().link.label;n.style("fill-opacity",(function(t){if(!t.link.concentrationscale)return.4})),i&&h(e,t).selectAll("."+u.sankeyLink).filter((function(t){return t.link.label===i})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return.4})),r&&h(e,t).selectAll("."+u.sankeyNode).filter(g(t)).call(y)}function b(t,e,r,n){var i=n.datum().link.label;n.style("fill-opacity",(function(t){return t.tinyColorAlpha})),i&&h(e,t).selectAll("."+u.sankeyLink).filter((function(t){return t.link.label===i})).style("fill-opacity",(function(t){return t.tinyColorAlpha})),r&&h(e,t).selectAll(u.sankeyNode).filter(g(t)).call(m)}function _(t,e){var r=t.hoverlabel||{},n=i.nestedProperty(r,e).get();return!Array.isArray(n)&&n}t.exports=function(t,e){for(var r=t._fullLayout,i=r._paper,h=r._size,v=0;v"),color:_(o,"bgcolor")||l.addOpacity(v.color,1),borderColor:_(o,"bordercolor"),fontFamily:_(o,"font.family"),fontSize:_(o,"font.size"),fontColor:_(o,"font.color"),nameLength:_(o,"namelength"),textAlign:_(o,"align"),idealAlign:n.event.x"),color:_(o,"bgcolor")||i.tinyColorHue,borderColor:_(o,"bordercolor"),fontFamily:_(o,"font.family"),fontSize:_(o,"font.size"),fontColor:_(o,"font.color"),nameLength:_(o,"namelength"),textAlign:_(o,"align"),idealAlign:"left",hovertemplate:o.hovertemplate,hovertemplateLabels:m,eventData:[i.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});p(w,.85),d(w)}}},unhover:function(e,i,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,i,a),"skip"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,t.emit("plotly_unhover",{event:n.event,points:[i.node]})),s.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var a=r.node;a.originalEvent=n.event,t._hoverdata=[a],n.select(e).call(m,r,i),s.click(t,{target:!0})}}})}},3393:function(t,e,r){"use strict";var n=r(49887),i=r(81684).k4,a=r(39898),o=r(30838),s=r(86781),l=r(85247),u=r(84267),c=r(7901),f=r(91424),h=r(71828),p=h.strTranslate,d=h.strRotate,v=r(28984),g=v.keyFun,y=v.repeat,m=v.unwrap,x=r(63893),b=r(73972),_=r(18783),w=_.CAP_SHIFT,T=_.LINE_SPACING;function k(t,e,r){var n,i=m(e),a=i.trace,c=a.domain,f="h"===a.orientation,p=a.node.pad,d=a.node.thickness,v=t.width*(c.x[1]-c.x[0]),g=t.height*(c.y[1]-c.y[0]),y=i._nodes,x=i._links,b=i.circular;(n=b?s.sankeyCircular().circularLinkGap(0):o.sankey()).iterations(l.sankeyIterations).size(f?[v,g]:[g,v]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodes(y).links(x);var _,w,T,k=n();for(var A in n.nodePadding()o+d&&(a+=1,e=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return i}(y=k.nodes).forEach((function(t){var e,r,n,i=0,a=t.length;for(t.sort((function(t,e){return t.y0-e.y0})),n=0;n=i||(r=i-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),i=e.y1+p})),n.update(k)}return{circular:b,key:r,trace:a,guid:h.randstr(),horizontal:f,width:v,height:g,nodePad:a.node.pad,nodeLineColor:a.node.line.color,nodeLineWidth:a.node.line.width,linkLineColor:a.link.line.color,linkLineWidth:a.link.line.width,linkArrowLength:a.link.arrowlen,valueFormat:a.valueformat,valueSuffix:a.valuesuffix,textFont:a.textfont,translateX:c.x[0]*t.width+t.margin.l,translateY:t.height-c.y[1]*t.height+t.margin.t,dragParallel:f?g:v,dragPerpendicular:f?v:g,arrangement:a.arrangement,sankey:n,graph:k,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function A(t,e,r){var n=u(e.color),i=e.source.label+"|"+e.target.label+"__"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:i,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:c.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkPath:M,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,linkArrowLength:t.linkArrowLength,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function M(){return function(t){var e=t.linkArrowLength;if(t.link.circular)return function(t,e){var r=t.width/2,n=t.circularPathData;return"top"===t.circularLinkType?"M "+(n.targetX-e)+" "+(n.targetY+r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 1 "+(n.rightFullExtent-r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 1 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY-n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.leftInnerExtent+" "+(n.sourceY-r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 0 "+(n.leftFullExtent-r)+" "+(n.sourceY-n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 0 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"L"+(n.targetX-e)+" "+(n.targetY-r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z":"M "+(n.targetX-e)+" "+(n.targetY-r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 0 "+(n.rightFullExtent-r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 0 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY+n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.leftInnerExtent+" "+(n.sourceY+r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 1 "+(n.leftFullExtent-r)+" "+(n.sourceY+n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 1 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"L"+(n.targetX-e)+" "+(n.targetY+r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z"}(t.link,e);var r=Math.abs((t.link.target.x0-t.link.source.x1)/2);e>r&&(e=r);var n=t.link.source.x1,a=t.link.target.x0-e,o=i(n,a),s=o(.5),l=o(.5),u=t.link.y0-t.link.width/2,c=t.link.y0+t.link.width/2,f=t.link.y1-t.link.width/2,h=t.link.y1+t.link.width/2,p="M"+n+","+u,d="C"+s+","+u+" "+l+","+f+" "+a+","+f,v="C"+l+","+h+" "+s+","+c+" "+n+","+c,g=e>0?"L"+(a+e)+","+(f+t.link.width/2):"";return p+d+(g+="L"+a+","+h)+v+"Z"}}function S(t,e){var r=u(e.color),n=l.nodePadAcross,i=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var a=e.dx,o=Math.max(.5,e.dy),s="node_"+e.pointNumber;return e.group&&(s=h.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:s,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:c.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,s].join("_"),interactionState:t.interactionState,figure:t}}function E(t){t.attr("transform",(function(t){return p(t.node.x0.toFixed(3),t.node.y0.toFixed(3))}))}function L(t){t.call(E)}function C(t,e){t.call(L),e.attr("d",M())}function P(t){t.attr("width",(function(t){return t.node.x1-t.node.x0})).attr("height",(function(t){return t.visibleHeight}))}function O(t){return t.link.width>1||t.linkLineWidth>0}function I(t){return p(t.translateX,t.translateY)+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function D(t,e,r){t.on(".basic",null).on("mouseover.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])})).on("mousemove.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])})).on("mouseout.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(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||t.partOfGroup||r.select(this,t,e)}))}function z(t,e,r,i){var o=a.behavior.drag().origin((function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}})).on("dragstart",(function(a){if("fixed"!==a.arrangement&&(h.ensureSingle(i._fullLayout._infolayer,"g","dragcover",(function(t){i._fullLayout._dragCover=t})),h.raiseToTop(this),a.interactionState.dragInProgress=a.node,F(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),"snap"===a.arrangement)){var o=a.traceId+"|"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,i){!function(t){for(var e=0;e0&&n.forceLayouts[e].alpha(0)}}(0,e,a,r)).stop()}(0,o,a),function(t,e,r,n,i){window.requestAnimationFrame((function a(){var o;for(o=0;o0)window.requestAnimationFrame(a);else{var s=r.node.originalX;r.node.x0=s-r.visibleWidth/2,r.node.x1=s+r.visibleWidth/2,R(r,i)}}))}(t,e,a,o,i)}})).on("drag",(function(r){if("fixed"!==r.arrangement){var n=a.event.x,i=a.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),F(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),C(t.filter(B(r)),e))}})).on("dragend",(function(t){if("fixed"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;el&&C[y].gap;)y--;for(x=C[y].s,v=C.length-1;v>y;v--)C[v].s=x;for(;lS[f]&&f=0;f--){var h=t[f];if("scatter"===h.type&&h.xaxis===u.xaxis&&h.yaxis===u.yaxis){h.opacity=void 0;break}}}}}},17438:function(t,e,r){"use strict";var n=r(71828),i=r(73972),a=r(82196),o=r(47581),s=r(34098),l=r(67513),u=r(73927),c=r(565),f=r(49508),h=r(11058),p=r(94039),d=r(82410),v=r(28908),g=r(71828).coercePattern;t.exports=function(t,e,r,y){function m(r,i){return n.coerce(t,e,a,r,i)}var x=l(t,e,y,m);if(x||(e.visible=!1),e.visible){u(t,e,y,m),m("xhoverformat"),m("yhoverformat");var b=c(t,e,y,m);"group"===y.scattermode&&void 0===e.orientation&&m("orientation","v");var _=!b&&x=Math.min(e,r)&&d<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(h.c2p(t.x)-d);return a=Math.min(e,r)&&v<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(p.c2p(t.y)-v);return aY!=(N=D[O][1])>=Y&&(R=D[O-1][0],F=D[O][0],N-B&&(z=R+(F-R)*(Y-B)/(N-B),H=Math.min(H,z),q=Math.max(q,z)));H=Math.max(H,0),q=Math.min(q,h._length);var W=s.defaultLine;return s.opacity(f.fillcolor)?W=f.fillcolor:s.opacity((f.line||{}).color)&&(W=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:H,x1:q,y0:Y,y1:Y,color:W,hovertemplate:!1}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},67368:function(t,e,r){"use strict";var n=r(34098);t.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:r(82196),layoutAttributes:r(21479),supplyDefaults:r(17438),crossTraceDefaults:r(34936),supplyLayoutDefaults:r(79334),calc:r(47761).calc,crossTraceCalc:r(72626),arraysToCalcdata:r(75225),plot:r(32663),colorbar:r(4898),formatLabels:r(8225),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(33720),selectPoints:r(98002),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:r(93612),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},21479:function(t){"use strict";t.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}},79334:function(t,e,r){"use strict";var n=r(71828),i=r(21479);t.exports=function(t,e){var r,a="group"===e.barmode;"group"===e.scattermode&&("scattergap",r=a?e.bargap:.2,n.coerce(t,e,i,"scattergap",r))}},11058:function(t,e,r){"use strict";var n=r(71828).isArrayOrTypedArray,i=r(52075).hasColorscale,a=r(1586);t.exports=function(t,e,r,o,s,l){l||(l={});var u=(t.marker||{}).color;s("line.color",r),i(t,"line")?a(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(u)&&u||r),s("line.width"),l.noDash||s("line.dash"),l.backoff&&s("line.backoff")}},34621:function(t,e,r){"use strict";var n=r(91424),i=r(50606),a=i.BADNUM,o=i.LOG_CLIP,s=o+.5,l=o-.5,u=r(71828),c=u.segmentsIntersect,f=u.constrain,h=r(47581);t.exports=function(t,e){var r,i,o,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=e.trace||{},L=e.xaxis,C=e.yaxis,P="log"===L.type,O="log"===C.type,I=L._length,D=C._length,z=e.backoff,R=E.marker,F=e.connectGaps,B=e.baseTolerance,N=e.shape,j="linear"===N,U=E.fill&&"none"!==E.fill,V=[],H=h.minTolerance,q=t.length,G=new Array(q),Z=0;function Y(r){var n=t[r];if(!n)return!1;var i=e.linearized?L.l2p(n.x):L.c2p(n.x),o=e.linearized?C.l2p(n.y):C.c2p(n.y);if(i===a){if(P&&(i=L.c2p(n.x,!0)),i===a)return!1;O&&o===a&&(i*=Math.abs(L._m*D*(L._m>0?s:l)/(C._m*I*(C._m>0?s:l)))),i*=1e3}if(o===a){if(O&&(o=C.c2p(n.y,!0)),o===a)return!1;o*=1e3}return[i,o]}function W(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,u=i*o+a*s;if(u>0&&uot||t[1]lt)return[f(t[0],at,ot),f(t[1],st,lt)]}function ft(t,e){return t[0]===e[0]&&(t[0]===at||t[0]===ot)||t[1]===e[1]&&(t[1]===st||t[1]===lt)||void 0}function ht(t,e,r){return function(n,i){var a=ct(n),o=ct(i),s=[];if(a&&o&&ft(a,o))return s;a&&s.push(a),o&&s.push(o);var l=2*u.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);return l&&((a&&o?l>0==a[t]>o[t]?a:o:a||o)[t]+=l),s}}function pt(t){var e=t[0],r=t[1],n=e===G[Z-1][0],i=r===G[Z-1][1];if(!n||!i)if(Z>1){var a=e===G[Z-2][0],o=r===G[Z-2][1];n&&(e===at||e===ot)&&a?o?Z--:G[Z-1]=t:i&&(r===st||r===lt)&&o?a?Z--:G[Z-1]=t:G[Z++]=t}else G[Z++]=t}function dt(t){G[Z-1][0]!==t[0]&&G[Z-1][1]!==t[1]&&pt([Q,tt]),pt(t),et=null,Q=tt=0}"linear"===N||"spline"===N?nt=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=ut[i],o=c(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&&J(o,t)ot?ot:0,$=e[1]lt?lt:0,K||$){if(Z)if(et){var n=nt(et,e);n.length>1&&(dt(n[0]),G[Z++]=n[1])}else rt=nt(G[Z-1],e)[0],G[Z++]=rt;else G[Z++]=[K||e[0],$||e[1]];var i=G[Z-1];K&&$&&(i[0]!==K||i[1]!==$)?(et&&(Q!==K&&tt!==$?pt(Q&&tt?(a=et,s=(o=e)[0]-a[0],l=(o[1]-a[1])/s,(a[1]*o[0]-o[1]*a[0])/s>0?[l>0?at:ot,lt]:[l>0?ot:at,st]):[Q||K,tt||$]):Q&&tt&&pt([Q,tt])),pt([K,$])):Q-K&&tt-$&&pt([K||Q,$||tt]),et=e,Q=K,tt=$}else et&&dt(nt(et,e)[0]),G[Z++]=e;var a,o,s,l}for(r=0;rX(v,yt))break;o=v,(w=m[0]*y[0]+m[1]*y[1])>b?(b=w,p=v,g=!1):w<_&&(_=w,d=v,g=!0)}if(g?(gt(p),o!==d&>(d)):(d!==i&>(d),o!==p&>(p)),gt(o),r>=t.length||!v)break;gt(v),i=v}}else gt(p)}et&&pt([Q||et[0],tt||et[1]]),V.push(G.slice(0,Z))}var mt=N.slice(N.length-1);if(z&&"h"!==mt&&"v"!==mt){for(var xt=!1,bt=-1,_t=[],wt=0;wt=0?l=p:(l=p=h,h++),l0?Math.max(r,a):0}}},4898:function(t){"use strict";t.exports={container:"marker",min:"cmin",max:"cmax"}},49508:function(t,e,r){"use strict";var n=r(7901),i=r(52075).hasColorscale,a=r(1586),o=r(34098);t.exports=function(t,e,r,s,l,u){var c=o.isBubble(t),f=(t.line||{}).color;u=u||{},f&&(r=f),l("marker.symbol"),l("marker.opacity",c?.7:1),l("marker.size"),u.noAngle||(l("marker.angle"),u.noAngleRef||l("marker.angleref"),u.noStandOff||l("marker.standoff")),l("marker.color",r),i(t,"marker")&&a(t,e,s,l,{prefix:"marker.",cLetter:"c"}),u.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),u.noLine||(l("marker.line.color",f&&!Array.isArray(f)&&e.marker.color!==f?f:c?n.background:n.defaultLine),i(t,"marker.line")&&a(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",c?1:0)),c&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),u.gradient&&"none"!==l("marker.gradient.type")&&l("marker.gradient.color")}},73927:function(t,e,r){"use strict";var n=r(71828).dateTick0,i=r(50606).ONEWEEK;function a(t,e){return n(e,t%i==0?1:0)}t.exports=function(t,e,r,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n("xperiod");o&&(n("xperiod0",a(o,e.xcalendar)),n("xperiodalignment"))}if(i.y){var s=n("yperiod");s&&(n("yperiod0",a(s,e.ycalendar)),n("yperiodalignment"))}}},32663:function(t,e,r){"use strict";var n=r(39898),i=r(73972),a=r(71828),o=a.ensureSingle,s=a.identity,l=r(91424),u=r(34098),c=r(34621),f=r(68687),h=r(61082).tester;function p(t,e,r,f,p,d,v){var g,y=t._context.staticPlot;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,c=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(u.hasMarkers(h)){var p=h.marker.maxdisplayed;if(0!==p){var d=i.filter((function(t){return t.x>=c[0]&&t.x<=c[1]&&t.y>=f[0]&&t.y<=f[1]})),v=Math.ceil(d.length/p),g=0;o.forEach((function(t,r){var n=t[0].trace;u.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function x(t){return m?t.transition():t}var b=r.xaxis,_=r.yaxis,w=f[0].trace,T=w.line,k=n.select(d),A=o(k,"g","errorbars"),M=o(k,"g","lines"),S=o(k,"g","points"),E=o(k,"g","text");if(i.getComponentMethod("errorbars","plot")(t,A,r,v),!0===w.visible){var L,C;x(k).style("opacity",w.opacity);var P=w.fill.charAt(w.fill.length-1);"x"!==P&&"y"!==P&&(P=""),f[0][r.isRangePlot?"nodeRangePlot3":"node3"]=k;var O,I,D="",z=[],R=w._prevtrace;R&&(D=R._prevRevpath||"",C=R._nextFill,z=R._polygons);var F,B,N,j,U,V,H,q="",G="",Z=[],Y=a.noop;if(L=w._ownFill,u.hasLines(w)||"none"!==w.fill){for(C&&C.datum(f),-1!==["hv","vh","hvh","vhv"].indexOf(T.shape)?(F=l.steps(T.shape),B=l.steps(T.shape.split("").reverse().join(""))):F=B="spline"===T.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),T.smoothing):l.smoothopen(t,T.smoothing)}:function(t){return"M"+t.join("L")},N=function(t){return B(t.reverse())},Z=c(f,{xaxis:b,yaxis:_,trace:w,connectGaps:w.connectgaps,baseTolerance:Math.max(T.width||1,3)/4,shape:T.shape,backoff:T.backoff,simplify:T.simplify,fill:w.fill}),H=w._polygons=new Array(Z.length),g=0;g0,g=f(t,e,r);(c=i.selectAll("g.trace").data(g,(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),c.order(),function(t,e,r){e.each((function(e){var i=o(n.select(this),"g","fills");l.setClipUrl(i,r.layerClipId,t);var a=e[0].trace,u=[];a._ownfill&&u.push("_ownFill"),a._nexttrace&&u.push("_nextFill");var c=i.selectAll("g").data(u,s);c.enter().append("g"),c.exit().each((function(t){a[t]=null})).remove(),c.order().each((function(t){a[t]=o(n.select(this),"path","js-fill")}))}))}(t,c,e),v?(u&&(h=u()),n.transition().duration(a.duration).ease(a.easing).each("end",(function(){h&&h()})).each("interrupt",(function(){h&&h()})).each((function(){i.selectAll("g.trace").each((function(r,n){p(t,n,e,r,g,this,a)}))}))):c.each((function(r,n){p(t,n,e,r,g,this,a)})),d&&c.exit().remove(),i.selectAll("path:not([d])").remove()}},98002:function(t,e,r){"use strict";var n=r(34098);t.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r0){var h=i.c2l(c);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}t.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e-1?-1:t.indexOf("right")>-1?1:0}function b(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return p[t]}function T(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o=0){var E=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n=0&&f("surfacecolor",p||d);for(var v=["x","y","z"],g=0;g<3;++g){var y="projection."+v[g];f(y+".show")&&(f(y+".opacity"),f(y+".scale"))}var m=n.getComponentMethod("errorbars","supplyDefaults");m(t,e,p||d||r,{axis:"z"}),m(t,e,p||d||r,{axis:"y",inherit:"z"}),m(t,e,p||d||r,{axis:"x",inherit:"z"})}else e.visible=!1}},13551:function(t,e,r){"use strict";t.exports={plot:r(58925),attributes:r(44542),markerSymbols:r(87381),supplyDefaults:r(21428),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:r(36563),moduleType:"trace",name:"scatter3d",basePlotModule:r(58547),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},97001:function(t,e,r){"use strict";var n=r(82196),i=r(9012),a=r(5386).fF,o=r(5386).si,s=r(50693),l=r(1426).extendFlat,u=n.marker,c=n.line,f=u.line;t.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:l({},n.mode,{dflt:"markers"}),text:l({},n.text,{}),texttemplate:o({editType:"plot"},{keys:["a","b","text"]}),hovertext:l({},n.hovertext,{}),line:{color:c.color,width:c.width,dash:c.dash,backoff:c.backoff,shape:l({},c.shape,{values:["linear","spline"]}),smoothing:c.smoothing,editType:"calc"},connectgaps:n.connectgaps,fill:l({},n.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n.fillcolor,marker:l({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,angle:u.angle,angleref:u.angleref,standoff:u.standoff,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:l({width:f.width,editType:"calc"},s("marker.line")),gradient:u.gradient,editType:"calc"},s("marker")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:["a","b","text","name"]}),hoveron:n.hoveron,hovertemplate:a()}},34618:function(t,e,r){"use strict";var n=r(92770),i=r(36922),a=r(75225),o=r(66279),s=r(47761).calcMarkerSize,l=r(22882);t.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var u;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var c,f,h=e._length,p=new Array(h),d=!1;for(u=0;u")}return o}function m(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,g.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},46858:function(t,e,r){"use strict";t.exports={attributes:r(97001),supplyDefaults:r(98965),colorbar:r(4898),formatLabels:r(48953),calc:r(34618),plot:r(1913),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(22931),selectPoints:r(98002),eventData:r(16165),moduleType:"trace",name:"scattercarpet",basePlotModule:r(93612),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},1913:function(t,e,r){"use strict";var n=r(32663),i=r(89298),a=r(91424);t.exports=function(t,e,r,o){var s,l,u,c=r[0][0].carpet,f=i.getFromId(t,c.xaxis||"x"),h=i.getFromId(t,c.yaxis||"y"),p={xaxis:f,yaxis:h,plot:e.plot};for(s=0;s")}function p(t){return t+"°"}}(u,v,t,l[0].t.labels),t.hovertemplate=u.hovertemplate,[t]}}},17988:function(t,e,r){"use strict";t.exports={attributes:r(19316),supplyDefaults:r(10659),colorbar:r(4898),formatLabels:r(82719),calc:r(84622),calcGeoJSON:r(89171).calcGeoJSON,plot:r(89171).plot,style:r(33095),styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(14977),eventData:r(84084),selectPoints:r(20548),moduleType:"trace",name:"scattergeo",basePlotModule:r(44622),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},89171:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(90973).getTopojsonFeatures,o=r(18214),s=r(41327),l=r(71739).findExtremes,u=r(50606).BADNUM,c=r(47761).calcMarkerSize,f=r(34098),h=r(33095);t.exports={calcGeoJSON:function(t,e){var r,n,i=t[0].trace,o=e[i.geo],f=o._subplot,h=i._length;if(Array.isArray(i.locations)){var p=i.locationmode,d="geojson-id"===p?s.extractTraceFeature(t):a(i,f.topojson);for(r=0;r=g,w=2*b,T={},k=l.makeCalcdata(e,"x"),A=m.makeCalcdata(e,"y"),M=s(e,l,"x",k),S=s(e,m,"y",A),E=M.vals,L=S.vals;e._x=E,e._y=L,e.xperiodalignment&&(e._origX=k,e._xStarts=M.starts,e._xEnds=M.ends),e.yperiodalignment&&(e._origY=A,e._yStarts=S.starts,e._yEnds=S.ends);var C=new Array(w),P=new Array(b);for(r=0;r1&&i.extendFlat(s.line,p.linePositions(t,r,n)),s.errorX||s.errorY){var l=p.errorBarPositions(t,r,n,a,o);s.errorX&&i.extendFlat(s.errorX,l.x),s.errorY&&i.extendFlat(s.errorY,l.y)}return s.text&&(i.extendFlat(s.text,{positions:n},p.textPosition(t,r,s.text,s.marker)),i.extendFlat(s.textSel,{positions:n},p.textPosition(t,r,s.text,s.markerSel)),i.extendFlat(s.textUnsel,{positions:n},p.textPosition(t,r,s.text,s.markerUnsel))),s}(t,0,e,C,E,L),D=d(t,x);return f(o,e),_?I.marker&&(O=I.marker.sizeAvg||Math.max(I.marker.size,3)):O=u(e,b),c(t,e,l,m,E,L,O),I.errorX&&y(e,l,I.errorX),I.errorY&&y(e,m,I.errorY),I.fill&&!D.fill2d&&(D.fill2d=!0),I.marker&&!D.scatter2d&&(D.scatter2d=!0),I.line&&!D.line2d&&(D.line2d=!0),!I.errorX&&!I.errorY||D.error2d||(D.error2d=!0),I.text&&!D.glText&&(D.glText=!0),I.marker&&(I.marker.snap=b),D.lineOptions.push(I.line),D.errorXOptions.push(I.errorX),D.errorYOptions.push(I.errorY),D.fillOptions.push(I.fill),D.markerOptions.push(I.marker),D.markerSelectedOptions.push(I.markerSel),D.markerUnselectedOptions.push(I.markerUnsel),D.textOptions.push(I.text),D.textSelectedOptions.push(I.textSel),D.textUnselectedOptions.push(I.textUnsel),D.selectBatch.push([]),D.unselectBatch.push([]),T._scene=D,T.index=D.count,T.x=E,T.y=L,T.positions=C,D.count++,[{x:!1,y:!1,t:T,trace:e}]}},78232:function(t){"use strict";t.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},19635:function(t,e,r){"use strict";var n=r(92770),i=r(82019),a=r(25075),o=r(73972),s=r(71828),l=r(91424),u=r(41675),c=r(81697).formatColor,f=r(34098),h=r(39984),p=r(68645),d=r(78232),v=r(37822).DESELECTDIM,g={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},y=r(23469).appendArrayPointValue;function m(t,e){var r,i=t._fullLayout,a=e._length,o=e.textfont,l=e.textposition,u=Array.isArray(l)?l:[l],c=o.color,f=o.size,h=o.family,p={},d=t._context.plotGlPixelRatio,v=e.texttemplate;if(v){p.text=[];var g=i._d3locale,m=Array.isArray(v),x=m?Math.min(v.length,a):a,b=m?function(t){return v[t]}:function(){return v};for(r=0;rd.TOO_MANY_POINTS||f.hasMarkers(e)?"rect":"round";if(u&&e.connectgaps){var h=n[0],p=n[1];for(i=0;i1?l[i]:l[0]:l,d=Array.isArray(u)?u.length>1?u[i]:u[0]:u,v=g[p],y=g[d],m=c?c/.8+1:0,x=-y*m-.5*y;o.offset[i]=[v*m/h,x/h]}}return o}}},47148:function(t,e,r){"use strict";var n=r(71828),i=r(73972),a=r(68645),o=r(42341),s=r(47581),l=r(34098),u=r(67513),c=r(73927),f=r(49508),h=r(11058),p=r(28908),d=r(82410);t.exports=function(t,e,r,v){function g(r,i){return n.coerce(t,e,o,r,i)}var y=!!t.marker&&a.isOpenSymbol(t.marker.symbol),m=l.isBubble(t),x=u(t,e,v,g);if(x){c(t,e,v,g),g("xhoverformat"),g("yhoverformat");var b=x100},e.isDotSymbol=function(t){return"string"==typeof t?n.DOT_RE.test(t):t>200}},20794:function(t,e,r){"use strict";var n=r(73972),i=r(71828),a=r(34603);function o(t,e,r,o){var s=t.xa,l=t.ya,u=t.distance,c=t.dxy,f=t.index,h={pointNumber:f,x:e[f],y:r[f]};h.tx=Array.isArray(o.text)?o.text[f]:o.text,h.htx=Array.isArray(o.hovertext)?o.hovertext[f]:o.hovertext,h.data=Array.isArray(o.customdata)?o.customdata[f]:o.customdata,h.tp=Array.isArray(o.textposition)?o.textposition[f]:o.textposition;var p=o.textfont;p&&(h.ts=i.isArrayOrTypedArray(p.size)?p.size[f]:p.size,h.tc=Array.isArray(p.color)?p.color[f]:p.color,h.tf=Array.isArray(p.family)?p.family[f]:p.family);var d=o.marker;d&&(h.ms=i.isArrayOrTypedArray(d.size)?d.size[f]:d.size,h.mo=i.isArrayOrTypedArray(d.opacity)?d.opacity[f]:d.opacity,h.mx=i.isArrayOrTypedArray(d.symbol)?d.symbol[f]:d.symbol,h.ma=i.isArrayOrTypedArray(d.angle)?d.angle[f]:d.angle,h.mc=i.isArrayOrTypedArray(d.color)?d.color[f]:d.color);var v=d&&d.line;v&&(h.mlc=Array.isArray(v.color)?v.color[f]:v.color,h.mlw=i.isArrayOrTypedArray(v.width)?v.width[f]:v.width);var g=d&&d.gradient;g&&"none"!==g.type&&(h.mgt=Array.isArray(g.type)?g.type[f]:g.type,h.mgc=Array.isArray(g.color)?g.color[f]:g.color);var y=s.c2p(h.x,!0),m=l.c2p(h.y,!0),x=h.mrc||1,b=o.hoverlabel;b&&(h.hbg=Array.isArray(b.bgcolor)?b.bgcolor[f]:b.bgcolor,h.hbc=Array.isArray(b.bordercolor)?b.bordercolor[f]:b.bordercolor,h.hts=i.isArrayOrTypedArray(b.font.size)?b.font.size[f]:b.font.size,h.htc=Array.isArray(b.font.color)?b.font.color[f]:b.font.color,h.htf=Array.isArray(b.font.family)?b.font.family[f]:b.font.family,h.hnl=i.isArrayOrTypedArray(b.namelength)?b.namelength[f]:b.namelength);var _=o.hoverinfo;_&&(h.hi=Array.isArray(_)?_[f]:_);var w=o.hovertemplate;w&&(h.ht=Array.isArray(w)?w[f]:w);var T={};T[t.index]=h;var k=o._origX,A=o._origY,M=i.extendFlat({},t,{color:a(o,h),x0:y-x,x1:y+x,xLabelVal:k?k[f]:h.x,y0:m-x,y1:m+x,yLabelVal:A?A[f]:h.y,cd:T,distance:u,spikeDistance:c,hovertemplate:h.ht});return h.htx?M.text=h.htx:h.tx?M.text=h.tx:o.text&&(M.text=o.text),i.fillText(h,o,M),n.getComponentMethod("errorbars","hoverInfo")(h,o,M),M}t.exports={hoverPoints:function(t,e,r,n){var i,a,s,l,u,c,f,h,p,d,v=t.cd,g=v[0].t,y=v[0].trace,m=t.xa,x=t.ya,b=g.x,_=g.y,w=m.c2p(e),T=x.c2p(r),k=t.distance;if(g.tree){var A=m.p2c(w-k),M=m.p2c(w+k),S=x.p2c(T-k),E=x.p2c(T+k);i="x"===n?g.tree.range(Math.min(A,M),Math.min(x._rl[0],x._rl[1]),Math.max(A,M),Math.max(x._rl[0],x._rl[1])):g.tree.range(Math.min(A,M),Math.min(S,E),Math.max(A,M),Math.max(S,E))}else i=g.ids;var L=k;if("x"===n){var C=!!y.xperiodalignment,P=!!y.yperiodalignment;for(c=0;c=Math.min(O,I)&&w<=Math.max(O,I)?0:1/0}if(f=Math.min(D,z)&&T<=Math.max(D,z)?0:1/0}d=Math.sqrt(f*f+h*h),s=i[c]}}}else for(c=i.length-1;c>-1;c--)l=b[a=i[c]],u=_[a],f=m.c2p(l)-w,h=x.c2p(u)-T,(p=Math.sqrt(f*f+h*h))m.glText.length){var T=_-m.glText.length;for(v=0;vr&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),m.line2d.update(m.lineOptions)),m.error2d){var A=(m.errorXOptions||[]).concat(m.errorYOptions||[]);m.error2d.update(A)}m.scatter2d&&m.scatter2d.update(m.markerOptions),m.fillOrder=s.repeat(null,_),m.fill2d&&(m.fillOptions=m.fillOptions.map((function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,u=m.lineOptions[e],c=[];s._ownfill&&c.push(e),s._nexttrace&&c.push(e+1),c.length&&(m.fillOrder[e]=c);var f,h,p=[],d=u&&u.positions||l.positions;if("tozeroy"===s.fill){for(f=0;ff&&isNaN(d[h+1]);)h-=2;0!==d[f+1]&&(p=[d[f],0]),p=p.concat(d.slice(f,h+2)),0!==d[h+1]&&(p=p.concat([d[h],0]))}else if("tozerox"===s.fill){for(f=0;ff&&isNaN(d[h]);)h-=2;0!==d[f]&&(p=[0,d[f+1]]),p=p.concat(d.slice(f,h+2)),0!==d[h]&&(p=p.concat([0,d[h+1]]))}else if("toself"===s.fill||"tonext"===s.fill){for(p=[],i=0,t.splitNull=!0,a=0;a-1;for(v=0;v<_;v++){var L=r[v][0],C=L.trace,P=L.t,O=P.index,I=C._length,D=P.x,z=P.y;if(C.selectedpoints||S||E){if(S||(S=!0),C.selectedpoints){var R=m.selectBatch[O]=s.selIndices2selPoints(C),F={};for(g=0;g")}function c(t){return t+"°"}}t.exports={hoverPoints:function(t,e,r){var o=t.cd,c=o[0].trace,f=t.xa,h=t.ya,p=t.subplot,d=[],v=l+c.uid+"-circle",g=c.cluster&&c.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[v]});d=y.map((function(t){return t.id}))}var m=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),x=e-m;if(n.getClosest(o,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;if(g&&-1===d.indexOf(t.i+1))return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=p.project([n,a]),l=o.x-f.c2p([x,a]),u=o.y-h.c2p([n,r]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+u*u)-c,1-3/c)}),t),!1!==t.index){var b=o[t.index],_=b.lonlat,w=[i.modHalf(_[0],360)+m,_[1]],T=f.c2p(w),k=h.c2p(w),A=b.mrc||1;t.x0=T-A,t.x1=T+A,t.y0=k-A,t.y1=k+A;var M={};M[c.subplot]={_subplot:p};var S=c._module.formatLabels(b,c,M);return t.lonLabel=S.lonLabel,t.latLabel=S.latLabel,t.color=a(c,b),t.extraText=u(c,b,o[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}},getExtraText:u}},20467:function(t,e,r){"use strict";t.exports={attributes:r(99181),supplyDefaults:r(76645),colorbar:r(4898),formatLabels:r(15636),calc:r(84622),plot:r(86951),hoverPoints:r(28178).hoverPoints,eventData:r(53353),selectPoints:r(86387),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermapbox",basePlotModule:r(50101),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},86951:function(t,e,r){"use strict";var n=r(71828),i=r(15790),a=r(77734).traceLayerPrefix,o={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function s(t,e,r,n){this.type="scattermapbox",this.subplot=t,this.uid=e,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol",cluster:"source-"+e+"-circle",clusterCount:"source-"+e+"-circle"},this.layerIds={fill:a+e+"-fill",line:a+e+"-line",circle:a+e+"-circle",symbol:a+e+"-symbol",cluster:a+e+"-cluster",clusterCount:a+e+"-cluster-count"},this.below=null}var l=s.prototype;l.addSource=function(t,e,r){var i={type:"geojson",data:e.geojson};r&&r.enabled&&n.extendFlat(i,{cluster:!0,clusterMaxZoom:r.maxzoom});var a=this.subplot.map.getSource(this.sourceIds[t]);a?a.setData(e.geojson):this.subplot.map.addSource(this.sourceIds[t],i)},l.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},l.addLayer=function(t,e,r){var n={type:e.type,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint};e.filter&&(n.filter=e.filter);for(var i,a=this.layerIds[t],o=this.subplot.getMapLayers(),s=0;s=0;r--){var i=e[r];n.removeLayer(c.layerIds[i])}t||n.removeSource(c.sourceIds.circle)}(t):function(t){for(var e=o.nonCluster,r=e.length-1;r>=0;r--){var i=e[r];n.removeLayer(c.layerIds[i]),t||n.removeSource(c.sourceIds[i])}}(t)}function h(t){l?function(t){t||c.addSource("circle",a.circle,e.cluster);for(var r=o.cluster,n=0;n=0;r--){var n=e[r];t.removeLayer(this.layerIds[n]),t.removeSource(this.sourceIds[n])}},t.exports=function(t,e){var r,n,a,l=e[0].trace,u=l.cluster&&l.cluster.enabled,c=!0!==l.visible,f=new s(t,l.uid,u,c),h=i(t.gd,e),p=f.below=t.belowLookup["trace-"+l.uid];if(u)for(f.addSource("circle",h.circle,l.cluster),r=0;r")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},91271:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:r(23580),categories:["polar","symbols","showLegend","scatter-like"],attributes:r(81245),supplyDefaults:r(22184).supplyDefaults,colorbar:r(4898),formatLabels:r(98608),calc:r(26442),plot:r(45162),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(59150).hoverPoints,selectPoints:r(98002),meta:{}}},45162:function(t,e,r){"use strict";var n=r(32663),i=r(50606).BADNUM;t.exports=function(t,e,r){for(var a=e.layers.frontplot.select("g.scatterlayer"),o=e.xaxis,s=e.yaxis,l={xaxis:o,yaxis:s,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},u=e.radialAxis,c=e.angularAxis,f=0;f=u&&(m.marker.cluster=d.tree),m.marker&&(m.markerSel.positions=m.markerUnsel.positions=m.marker.positions=_),m.line&&_.length>1&&l.extendFlat(m.line,s.linePositions(t,p,_)),m.text&&(l.extendFlat(m.text,{positions:_},s.textPosition(t,p,m.text,m.marker)),l.extendFlat(m.textSel,{positions:_},s.textPosition(t,p,m.text,m.markerSel)),l.extendFlat(m.textUnsel,{positions:_},s.textPosition(t,p,m.text,m.markerUnsel))),m.fill&&!h.fill2d&&(h.fill2d=!0),m.marker&&!h.scatter2d&&(h.scatter2d=!0),m.line&&!h.line2d&&(h.line2d=!0),m.text&&!h.glText&&(h.glText=!0),h.lineOptions.push(m.line),h.fillOptions.push(m.fill),h.markerOptions.push(m.marker),h.markerSelectedOptions.push(m.markerSel),h.markerUnselectedOptions.push(m.markerUnsel),h.textOptions.push(m.text),h.textSelectedOptions.push(m.textSel),h.textUnselectedOptions.push(m.textUnsel),h.selectBatch.push([]),h.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=g,d.theta=y,d.positions=_,d._scene=h,d.index=h.count,h.count++}})),a(t,e,r)}},t.exports.reglPrecompiled={}},48300:function(t,e,r){"use strict";var n=r(5386).fF,i=r(5386).si,a=r(1426).extendFlat,o=r(82196),s=r(9012),l=o.line;t.exports={mode:o.mode,real:{valType:"data_array",editType:"calc+clearAxisTypes"},imag:{valType:"data_array",editType:"calc+clearAxisTypes"},text:o.text,texttemplate:i({editType:"plot"},{keys:["real","imag","text"]}),hovertext:o.hovertext,line:{color:l.color,width:l.width,dash:l.dash,backoff:l.backoff,shape:a({},l.shape,{values:["linear","spline"]}),smoothing:l.smoothing,editType:"calc"},connectgaps:o.connectgaps,marker:o.marker,cliponaxis:a({},o.cliponaxis,{dflt:!1}),textposition:o.textposition,textfont:o.textfont,fill:a({},o.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:o.fillcolor,hoverinfo:a({},s.hoverinfo,{flags:["real","imag","text","name"]}),hoveron:o.hoveron,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},30621:function(t,e,r){"use strict";var n=r(92770),i=r(50606).BADNUM,a=r(36922),o=r(75225),s=r(66279),l=r(47761).calcMarkerSize;t.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,c=r[u].realaxis,f=r[u].imaginaryaxis,h=c.makeCalcdata(e,"real"),p=f.makeCalcdata(e,"imag"),d=e._length,v=new Array(d),g=0;g")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},85956:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scattersmith",basePlotModule:r(7504),categories:["smith","symbols","showLegend","scatter-like"],attributes:r(48300),supplyDefaults:r(65269),colorbar:r(4898),formatLabels:r(62047),calc:r(30621),plot:r(12480),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(11350).hoverPoints,selectPoints:r(98002),meta:{}}},12480:function(t,e,r){"use strict";var n=r(32663),i=r(50606).BADNUM,a=r(23893).smith;t.exports=function(t,e,r){for(var o=e.layers.frontplot.select("g.scatterlayer"),s=e.xaxis,l=e.yaxis,u={xaxis:s,yaxis:l,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},c=0;c"),o.hovertemplate=h.hovertemplate,a}function x(t,e){y.push(t._hovertitle+": "+e)}}},52979:function(t,e,r){"use strict";t.exports={attributes:r(50413),supplyDefaults:r(46008),colorbar:r(4898),formatLabels:r(93645),calc:r(54337),plot:r(7507),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(47250),selectPoints:r(98002),eventData:r(4524),moduleType:"trace",name:"scatterternary",basePlotModule:r(61639),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},7507:function(t,e,r){"use strict";var n=r(32663);t.exports=function(t,e,r){var i=e.plotContainer;i.select(".scatterlayer").selectAll("*").remove();for(var a=e.xaxis,o=e.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},l=e.layers.frontplot.select("g.scatterlayer"),u=0;uh?b.sizeAvg||Math.max(b.size,3):a(e,x),p=0;pa&&l||i-1,P=!0;if(o(x)||p.selectedpoints||C){var O=p._length;if(p.selectedpoints){v.selectBatch=p.selectedpoints;var I=p.selectedpoints,D={};for(l=0;l1&&(c=v[m-1],h=g[m-1],d=y[m-1]),e=0;ec?"-":"+")+"x")).replace("y",(f>h?"-":"+")+"y")).replace("z",(p>d?"-":"+")+"z");var L=function(){m=0,M=[],S=[],E=[]};(!m||m2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,c=e._len,f={};function d(t,e){var n=r[e],o=i[u[e]];return a.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(f.vectors=l(d(e._u,"xaxis"),d(e._v,"yaxis"),d(e._w,"zaxis"),c),!c)return{positions:[],cells:[]};var v=d(e._Xs,"xaxis"),g=d(e._Ys,"yaxis"),y=d(e._Zs,"zaxis");if(f.meshgrid=[v,g,y],f.gridFill=e._gridFill,e._slen)f.startingPositions=l(d(e._startsX,"xaxis"),d(e._startsY,"yaxis"),d(e._startsZ,"zaxis"));else{for(var m=g[0],x=h(v),b=h(y),_=new Array(x.length*b.length),w=0,T=0;T=0};m?(r=Math.min(y.length,b.length),l=function(t){return M(y[t])&&S(t)},f=function(t){return String(y[t])}):(r=Math.min(x.length,b.length),l=function(t){return M(x[t])&&S(t)},f=function(t){return String(x[t])}),w&&(r=Math.min(r,_.length));for(var E=0;E1){for(var O=a.randstr(),I=0;I=0){e.i=s.i;var c=r.marker;c.pattern&&c.colors&&c.pattern.shape||(c.color=u,e.color=u),n.pointStyle(t,r,a,e)}else i.fill(t,u)}},83523:function(t,e,r){"use strict";var n=r(39898),i=r(73972),a=r(23469).appendArrayPointValue,o=r(30211),s=r(71828),l=r(11086),u=r(2791),c=r(53581).formatPieValue;function f(t,e,r){for(var n=t.data.data,i={curveNumber:e.index,pointNumber:n.i,data:e._input,fullData:e},o=0;o"),name:A||D("name")?m.name:void 0,color:k("hoverlabel.bgcolor")||x.color,borderColor:k("hoverlabel.bordercolor"),fontFamily:k("hoverlabel.font.family"),fontSize:k("hoverlabel.font.size"),fontColor:k("hoverlabel.font.color"),nameLength:k("hoverlabel.namelength"),textAlign:k("hoverlabel.align"),hovertemplate:A,hovertemplateLabels:P,eventData:l};g&&(F.x0=E-i.rInscribed*i.rpx1,F.x1=E+i.rInscribed*i.rpx1,F.idealAlign=i.pxmid[0]<0?"left":"right"),y&&(F.x=E,F.idealAlign=E<0?"left":"right");var B=[];o.loneHover(F,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r,inOut_bbox:B}),l[0].bbox=B[0],d._hasHoverLabel=!0}if(y){var N=t.select("path.surface");h.styleOne(N,i,m,r,{hovered:!0})}d._hasHoverEvent=!0,r.emit("plotly_hover",{points:l||[f(i,m,h.eventDataKeys)],event:n.event})}})),t.on("mouseout",(function(e){var i=r._fullLayout,a=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit("plotly_unhover",{points:[f(s,a,h.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(i._hoverlayer.node()),d._hasHoverLabel=!1),y){var l=t.select("path.surface");h.styleOne(l,s,a,r,{hovered:!1})}})),t.on("click",(function(t){var e=r._fullLayout,a=r._fullData[d.index],s=g&&(u.isHierarchyRoot(t)||u.isLeaf(t)),c=u.getPtId(t),p=u.isEntry(t)?u.findEntryWithChild(v,c):u.findEntryWithLevel(v,c),y=u.getPtId(p),m={points:[f(t,a,h.eventDataKeys)],event:n.event};s||(m.nextLevel=y);var x=l.triggerHandler(r,"plotly_"+d.type+"click",m);if(!1!==x&&e.hovermode&&(r._hoverdata=[f(t,a,h.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){i.call("_storeDirectGUIEdit",a,e._tracePreGUI[a.uid],{level:a.level});var b={data:[{level:y}],traces:[d.index]},_={frame:{redraw:!1,duration:h.transitionTime},transition:{duration:h.transitionTime,easing:h.transitionEasing},mode:"immediate",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),i.call("animate",r,b,_)}}))}},2791:function(t,e,r){"use strict";var n=r(71828),i=r(7901),a=r(6964),o=r(53581);function s(t){return t.data.data.pid}e.findEntryWithLevel=function(t,r){var n;return r&&t.eachAfter((function(t){if(e.getPtId(t)===r)return n=t.copy()})),n||t},e.findEntryWithChild=function(t,r){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a0)},e.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},e.isHeader=function(t,r){return!(e.isLeaf(t)||t.depth===r._maxDepth-1)},e.getParent=function(t,r){return e.findEntryWithLevel(t,s(r))},e.listPath=function(t,r){var n=t.parent;if(!n)return[];var i=r?[n.data[r]]:[n];return e.listPath(n,r).concat(i)},e.getPath=function(t){return e.listPath(t,"label").join("/")+"/"},e.formatValue=o.formatPieValue,e.formatPercent=function(t,e){var r=n.formatPercent(t,0);return"0%"===r&&(r=o.formatPiePercent(t,e)),r}},87619:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"sunburst",basePlotModule:r(66888),categories:[],animatable:!0,attributes:r(57564),layoutAttributes:r(2654),supplyDefaults:r(17094),supplyLayoutDefaults:r(57034),calc:r(52147).calc,crossTraceCalc:r(52147).crossTraceCalc,plot:r(24714).plot,style:r(29969).style,colorbar:r(4898),meta:{}}},2654:function(t){"use strict";t.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},57034:function(t,e,r){"use strict";var n=r(71828),i=r(2654);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("sunburstcolorway",e.colorway),r("extendsunburstcolors")}},24714:function(t,e,r){"use strict";var n=r(39898),i=r(674),a=r(81684).sX,o=r(91424),s=r(71828),l=r(63893),u=r(72597),c=u.recordMinTextSize,f=u.clearMinTextSize,h=r(14575),p=r(53581).getRotationAngle,d=h.computeTransform,v=h.transformInsideText,g=r(29969).styleOne,y=r(16688).resizeText,m=r(83523),x=r(7055),b=r(2791);function _(t,r,u,f){var h=t._context.staticPlot,y=t._fullLayout,_=!y.uniformtext.mode&&b.hasTransition(f),T=n.select(u).selectAll("g.slice"),k=r[0],A=k.trace,M=k.hierarchy,S=b.findEntryWithLevel(M,A.level),E=b.getMaxDepth(A),L=y._size,C=A.domain,P=L.w*(C.x[1]-C.x[0]),O=L.h*(C.y[1]-C.y[0]),I=.5*Math.min(P,O),D=k.cx=L.l+L.w*(C.x[1]+C.x[0])/2,z=k.cy=L.t+L.h*(1-C.y[0])-O/2;if(!S)return T.remove();var R=null,F={};_&&T.each((function(t){F[b.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!R&&b.isEntry(t)&&(R=t)}));var B=function(t){return i.partition().size([2*Math.PI,t.height+1])(t)}(S).descendants(),N=S.height+1,j=0,U=E;k.hasMultipleRoots&&b.isHierarchyRoot(S)&&(B=B.slice(1),N-=1,j=1,U+=1),B=B.filter((function(t){return t.y1<=U}));var V=p(A.rotation);V&&B.forEach((function(t){t.x0+=V,t.x1+=V}));var H=Math.min(N,E),q=function(t){return(t-j)/H*I},G=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},Z=function(t){return s.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,D,z)},Y=function(t){return D+w(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},W=function(t){return z+w(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(T=T.data(B,b.getPtId)).enter().append("g").classed("slice",!0),_?T.exit().transition().each((function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",(function(t){var e=function(t){var e,r=b.getPtId(t),n=F[r],i=F[b.getPtId(S)];if(i){var o=(t.x1>i.x1?2*Math.PI:0)+V;e=t.rpx1X?2*Math.PI:0)+V;e={x0:i,x1:i}}else e={rpx0:I,rpx1:I},s.extendFlat(e,$(t));else e={rpx0:0,rpx1:0};else e={x0:V,x1:V};return a(e,n)}(t);return function(t){return Z(e(t))}})):f.attr("d",Z),u.call(m,S,t,r,{eventDataKeys:x.eventDataKeys,transitionTime:x.CLICK_TRANSITION_TIME,transitionEasing:x.CLICK_TRANSITION_EASING}).call(b.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),f.call(g,i,A,t);var p=s.ensureSingle(u,"g","slicetext"),w=s.ensureSingle(p,"text","",(function(t){t.attr("data-notex",1)})),T=s.ensureUniformFontSize(t,b.determineTextFont(A,i,y.font));w.text(e.formatSliceLabel(i,S,A,r,y)).classed("slicetext",!0).attr("text-anchor","middle").call(o.font,T).call(l.convertToTspans,t);var M=o.bBox(w.node());i.transform=v(M,i,k),i.transform.targetX=Y(i),i.transform.targetY=W(i);var E=function(t,e){var r=t.transform;return d(r,e),r.fontSize=T.size,c(A.type,r,y),s.getTextTransform(r)};_?w.transition().attrTween("transform",(function(t){var e=function(t){var e,r=F[b.getPtId(t)],n=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{textPosAngle:n.textPosAngle,scale:0,rotate:n.rotate,rCenter:n.rCenter,x:n.x,y:n.y}},R)if(t.parent)if(X){var i=t.x1>X?2*Math.PI:0;e.x0=e.x1=i}else s.extendFlat(e,$(t));else e.x0=e.x1=V;else e.x0=e.x1=V;var o=a(e.transform.textPosAngle,t.transform.textPosAngle),l=a(e.rpx1,t.rpx1),u=a(e.x0,t.x0),f=a(e.x1,t.x1),h=a(e.transform.scale,n.scale),p=a(e.transform.rotate,n.rotate),d=0===n.rCenter?3:0===e.transform.rCenter?1/3:1,v=a(e.transform.rCenter,n.rCenter);return function(t){var e=l(t),r=u(t),i=f(t),a=function(t){return v(Math.pow(t,d))}(t),s={pxmid:G(e,(r+i)/2),rpx1:e,transform:{textPosAngle:o(t),rCenter:a,x:n.x,y:n.y}};return c(A.type,n,y),{transform:{targetX:Y(s),targetY:W(s),scale:h(t),rotate:p(t),rCenter:a}}}}(t);return function(t){return E(e(t),M)}})):w.attr("transform",E(i,M))}))}function w(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}e.plot=function(t,e,r,i){var a,o,s=t._fullLayout,l=s._sunburstlayer,u=!r,c=!s.uniformtext.mode&&b.hasTransition(r);f("sunburst",s),(a=l.selectAll("g.trace.sunburst").data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),a.order(),c?(i&&(o=i()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){o&&o()})).each("interrupt",(function(){o&&o()})).each((function(){l.selectAll("g.trace").each((function(e){_(t,e,this,r)}))}))):(a.each((function(e){_(t,e,this,r)})),s.uniformtext.mode&&y(t,s._sunburstlayer.selectAll(".trace"),"sunburst")),u&&a.exit().remove()},e.formatSliceLabel=function(t,e,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!(a||o&&"none"!==o))return"";var l=i.separators,u=n[0],c=t.data.data,f=u.hierarchy,h=b.isHierarchyRoot(t),p=b.getParent(f,t),d=b.getValue(t);if(!a){var v,g=o.split("+"),y=function(t){return-1!==g.indexOf(t)},m=[];if(y("label")&&c.label&&m.push(c.label),c.hasOwnProperty("v")&&y("value")&&m.push(b.formatValue(c.v,l)),!h){y("current path")&&m.push(b.getPath(t.data));var x=0;y("percent parent")&&x++,y("percent entry")&&x++,y("percent root")&&x++;var _=x>1;if(x){var w,T=function(t){v=b.formatPercent(w,l),_&&(v+=" of "+t),m.push(v)};y("percent parent")&&!h&&(w=d/b.getValue(p),T("parent")),y("percent entry")&&(w=d/b.getValue(e),T("entry")),y("percent root")&&(w=d/b.getValue(f),T("root"))}}return y("text")&&(v=s.castOption(r,c.i,"text"),s.isValidTextValue(v)&&m.push(v)),m.join("
")}var k=s.castOption(r,c.i,"texttemplate");if(!k)return"";var A={};c.label&&(A.label=c.label),c.hasOwnProperty("v")&&(A.value=c.v,A.valueLabel=b.formatValue(c.v,l)),A.currentPath=b.getPath(t.data),h||(A.percentParent=d/b.getValue(p),A.percentParentLabel=b.formatPercent(A.percentParent,l),A.parent=b.getPtLabel(p)),A.percentEntry=d/b.getValue(e),A.percentEntryLabel=b.formatPercent(A.percentEntry,l),A.entry=b.getPtLabel(e),A.percentRoot=d/b.getValue(f),A.percentRootLabel=b.formatPercent(A.percentRoot,l),A.root=b.getPtLabel(f),c.hasOwnProperty("color")&&(A.color=c.color);var M=s.castOption(r,c.i,"text");return(s.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=s.castOption(r,c.i,"customdata"),s.texttemplateString(k,A,i._d3locale,A,r._meta||{})}},29969:function(t,e,r){"use strict";var n=r(39898),i=r(7901),a=r(71828),o=r(72597).resizeText,s=r(43467);function l(t,e,r,n){var o=e.data.data,l=!e.children,u=o.i,c=a.castOption(r,u,"marker.line.color")||i.defaultLine,f=a.castOption(r,u,"marker.line.width")||0;t.call(s,e,r,n).style("stroke-width",f).call(i.stroke,c).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(".trace");o(t,e,"sunburst"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style("opacity",i.opacity),r.selectAll("path.surface").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},54532:function(t,e,r){"use strict";var n=r(7901),i=r(50693),a=r(12663).axisHoverFormat,o=r(5386).fF,s=r(9012),l=r(1426).extendFlat,u=r(30962).overrideAll;function c(t){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:{valType:"boolean",dflt:!1},y:{valType:"boolean",dflt:!1},z:{valType:"boolean",dflt:!1}},color:{valType:"color",dflt:n.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:n.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var f=t.exports=u(l({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:o(),xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z"),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},i("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:c(),y:c(),z:c()},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},opacityscale:{valType:"any",editType:"calc"},_deprecated:{zauto:l({},i.zauto,{}),zmin:l({},i.zmin,{}),zmax:l({},i.zmax,{})},hoverinfo:l({},s.hoverinfo),showlegend:l({},s.showlegend,{dflt:!1})}),"calc","nested");f.x.editType=f.y.editType=f.z.editType="calc+clearAxisTypes",f.transforms=void 0},18396:function(t,e,r){"use strict";var n=r(78803);t.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:"",cLetter:"c"}):n(t,e,{vals:e.z,containerStr:"",cLetter:"c"})}},43768:function(t,e,r){"use strict";var n=r(9330).gl_surface3d,i=r(9330).ndarray,a=r(9330).ndarray_linear_interpolate.d2,o=r(824),s=r(43907),l=r(71828).isArrayOrTypedArray,u=r(81697).parseColorScale,c=r(78614),f=r(21081).extractOpts;function h(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var p=h.prototype;p.getXat=function(t,e,r,n){var i=l(this.data.x)?l(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?i:n.d2l(i,0,r)},p.getYat=function(t,e,r,n){var i=l(this.data.y)?l(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?i:n.d2l(i,0,r)},p.getZat=function(t,e,r,n){var i=this.data.z[e][t];return null===i&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[e][t]),void 0===r?i:n.d2l(i,0,r)},p.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,i],t.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],t.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){null!=t.dataCoordinate[a]&&(t.dataCoordinate[a]*=this.scene.dataScale[a])}var o=this.data.hovertext||this.data.text;return Array.isArray(o)&&o[i]&&void 0!==o[i][n]?t.textLabel=o[i][n]:t.textLabel=o||"",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var d=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function v(t,e){if(t0){r=d[n];break}return r}function m(t,e){if(!(t<1||e<1)){for(var r=g(t),n=g(e),i=1,a=0;a_;)r--,r/=y(r),++r1?n:1},p.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],a=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,u=1+a+1,c=i(new Float32Array(l*u),[l,u]),f=[1/e,0,0,0,1/r,0,0,0,1],h=0;h0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(i[t]=!0,e=this.contourStart[t];ea&&(this.minValues[e]=a),this.maxValues[e]",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"}}},51018:function(t,e,r){"use strict";var n=r(49850),i=r(1426).extendFlat,a=r(92770);function o(t){if(Array.isArray(t)){for(var e=0,r=0;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}t.exports=function(t,e){var r=l(e.cells.values),p=function(t){return t.slice(e.header.values.length,t.length)},d=l(e.header.values);d.length&&!d[0].length&&(d[0]=[""],d=l(d));var v=d.concat(p(r).map((function(){return u((d[0]||[""]).length)}))),g=e.domain,y=Math.floor(t._fullLayout._size.w*(g.x[1]-g.x[0])),m=Math.floor(t._fullLayout._size.h*(g.y[1]-g.y[0])),x=e.header.values.length?v[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],b=r.length?r[0].map((function(){return e.cells.height})):[],_=x.reduce(s,0),w=h(b,m-_+n.uplift),T=f(h(x,_),[]),k=f(w,T),A={},M=e._fullInput.columnorder.concat(p(r.map((function(t,e){return e})))),S=v.map((function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1})),E=S.reduce(s,0);S=S.map((function(t){return t/E*y}));var L=Math.max(o(e.header.line.width),o(e.cells.line.width)),C={key:e.uid+t._context.staticPlot,translateX:g.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-g.y[1]),size:t._fullLayout._size,width:y,maxLineWidth:L,height:m,columnOrder:M,groupHeight:m,rowBlocks:k,headerRowBlocks:T,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:v}),gdColumns:v.map((function(t){return t[0]})),gdColumnsOriginalOrder:v.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:v.map((function(t,e){var r=A[t];return A[t]=(r||0)+1,{key:t+"__"+A[t],label:t,specIndex:e,xIndex:M[e],xScale:c,x:void 0,calcdata:void 0,columnWidth:S[e]}}))};return C.columns.forEach((function(t){t.calcdata=C,t.x=c(t)})),C}},56269:function(t,e,r){"use strict";var n=r(1426).extendFlat;e.splitToPanels=function(t){var e=[0,0],r=n({},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:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},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}),n({},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]},e.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0;return[r,e?r+e.rows.length:0]}(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}}))}},39754:function(t,e,r){"use strict";var n=r(71828),i=r(44464),a=r(27670).c;t.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",n.extendFlat({},o.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/i),l=!o||s;t.mayHaveMarkup=o&&i.match(/[<&>]/);var u,c="string"==typeof(u=i)&&u.match(n.latexCheck);t.latex=c;var f,h,p=c?"":T(t.calcdata.cells.prefix,e,r)||"",d=c?"":T(t.calcdata.cells.suffix,e,r)||"",v=c?null:T(t.calcdata.cells.format,e,r)||null,g=p+(v?a(v)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!c&&(f=w(g)),t.cellHeightMayIncrease=s||c||t.mayHaveMarkup||(void 0===f?w(g):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var y=(" "===n.wrapSplitCharacter?g.replace(/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){var e=z(t.rowBlocks,t.page)-t.scrollY;return c(0,e)})),t&&(C(t,r,e,u,n.prevPages,n,0),C(t,r,e,u,n.prevPages,n,1),x(r,t))}}function L(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter((function(t){return s.key===t.key})),u=r||s.scrollbarState.dragMultiplier,c=s.scrollY;s.scrollY=void 0===a?s.scrollY+u*i.event.dy:a;var f=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(A);return E(t,f,l),s.scrollY===c}}function C(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]}));b(t,e,a,r),i[o]=n[o]})))}function P(t,e,r,a){return function(){var o=i.select(e.parentNode);o.each((function(t){var e=t.fragments;o.selectAll("tspan.line").each((function(t,r){e[r].width=this.getComputedTextLength()}));var r,i,a=e[e.length-1].width,s=e.slice(0,-1),l=[],u=0,c=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)u+(i=(r=s.shift()).width+a)>c&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],u=0),l.push(r.text),u+=i;u&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0})),o.selectAll("tspan.line").remove(),_(o.select("."+n.cn.cellText),r,t,a),i.select(e.parentNode.parentNode).call(D)}}function O(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=B(o),u=o.key-l.firstRowIndex,f=l.rows[u].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:f,p=Math.max(h,f);p-l.rows[u].rowHeight&&(l.rows[u].rowHeight=p,t.selectAll("."+n.cn.columnCell).call(D),E(null,t.filter(A),0),x(r,a,!0)),s.attr("transform",(function(){var t=this,e=t.parentNode.getBoundingClientRect(),r=i.select(t.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),a=t.transform.baseVal.consolidate(),s=r.top-e.top+(a?a.matrix.f:n.cellPad);return c(I(o,i.select(t.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width),s)})),o.settledY=!0}}}function I(t,e){switch(t.align){case"left":default:return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2}}function D(t){t.attr("transform",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+R(e,1/0)}),0),r=R(B(t),t.key);return c(0,r+e)})).selectAll("."+n.cn.cellRect).attr("height",(function(t){return(e=B(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function z(t,e){for(var r=0,n=e-1;n>=0;n--)r+=F(t[n]);return r}function R(t,e){for(var r=0,n=0;n","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:c({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:i({editType:"plot"},{keys:u.eventDataKeys.concat(["label","value"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:u.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:c({},s.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:s.sort,root:l.root,domain:o({name:"treemap",trace:!0,editType:"calc"})}},78018:function(t,e,r){"use strict";var n=r(74875);e.name="treemap",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},65039:function(t,e,r){"use strict";var n=r(52147);e.y=function(t,e){return n.calc(t,e)},e.T=function(t){return n._runCrossTraceCalc("treemap",t)}},43473:function(t){"use strict";t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},91174:function(t,e,r){"use strict";var n=r(71828),i=r(45802),a=r(7901),o=r(27670).c,s=r(90769).handleText,l=r(97313).TEXTPAD,u=r(37434).handleMarkerDefaults,c=r(21081),f=c.hasColorscale,h=c.handleDefaults;t.exports=function(t,e,r,c){function p(r,a){return n.coerce(t,e,i,r,a)}var d=p("labels"),v=p("parents");if(d&&d.length&&v&&v.length){var g=p("values");g&&g.length?p("branchvalues"):p("count"),p("level"),p("maxdepth"),"squarify"===p("tiling.packing")&&p("tiling.squarifyratio"),p("tiling.flip"),p("tiling.pad");var y=p("text");p("texttemplate"),e.texttemplate||p("textinfo",Array.isArray(y)?"text+label":"label"),p("hovertext"),p("hovertemplate");var m=p("pathbar.visible");s(t,e,c,p,"auto",{hasPathbar:m,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p("textposition");var x=-1!==e.textposition.indexOf("bottom");u(t,e,c,p),(e._hasColorscale=f(t,"marker","colors")||(t.marker||{}).coloraxis)?h(t,e,c,p,{prefix:"marker.",cLetter:"c"}):p("marker.depthfade",!(e.marker.colors||[]).length);var b=2*e.textfont.size;p("marker.pad.t",x?b/4:b),p("marker.pad.l",b/4),p("marker.pad.r",b/4),p("marker.pad.b",x?b:b/4),p("marker.cornerradius"),e._hovered={marker:{line:{width:2,color:a.contrast(c.paper_bgcolor)}}},m&&(p("pathbar.thickness",e.pathbar.textfont.size+2*l),p("pathbar.side"),p("pathbar.edgeshape")),p("sort"),p("root.color"),o(e,c,p),e._length=null}else e.visible=!1}},80694:function(t,e,r){"use strict";var n=r(39898),i=r(2791),a=r(72597).clearMinTextSize,o=r(16688).resizeText,s=r(46650);t.exports=function(t,e,r,l,u){var c,f,h=u.type,p=u.drawDescendants,d=t._fullLayout,v=d["_"+h+"layer"],g=!r;a(h,d),(c=v.selectAll("g.trace."+h).data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed(h,!0),c.order(),!d.uniformtext.mode&&i.hasTransition(r)?(l&&(f=l()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){f&&f()})).each("interrupt",(function(){f&&f()})).each((function(){v.selectAll("g.trace").each((function(e){s(t,e,this,r,p)}))}))):(c.each((function(e){s(t,e,this,r,p)})),d.uniformtext.mode&&o(t,v.selectAll(".trace"),h)),g&&c.exit().remove()}},66209:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(91424),o=r(63893),s=r(37210),l=r(96362).styleOne,u=r(43473),c=r(2791),f=r(83523),h=!0;t.exports=function(t,e,r,p,d){var v=d.barDifY,g=d.width,y=d.height,m=d.viewX,x=d.viewY,b=d.pathSlice,_=d.toMoveInsideSlice,w=d.strTransform,T=d.hasTransition,k=d.handleSlicesExit,A=d.makeUpdateSliceInterpolator,M=d.makeUpdateTextInterpolator,S={},E=t._context.staticPlot,L=t._fullLayout,C=e[0],P=C.trace,O=C.hierarchy,I=g/P._entryDepth,D=c.listPath(r.data,"id"),z=s(O.copy(),[g,y],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(z=z.filter((function(t){var e=D.indexOf(t.data.id);return-1!==e&&(t.x0=I*e,t.x1=I*(e+1),t.y0=v,t.y1=v+y,t.onPathbar=!0,!0)}))).reverse(),(p=p.data(z,c.getPtId)).enter().append("g").classed("pathbar",!0),k(p,h,S,[g,y],b),p.order();var R=p;T&&(R=R.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),R.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-Math.min(g,y)/2),s._hoverY=x(s.y1-y/2);var p=n.select(this),d=i.ensureSingle(p,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?d.transition().attrTween("d",(function(t){var e=A(t,h,S,[g,y]);return function(t){return b(e(t))}})):d.attr("d",b),p.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),d.call(l,s,P,t,{hovered:!1}),s._text=(c.getPtLabel(s)||"").split("
").join(" ")||"";var v=i.ensureSingle(p,"g","slicetext"),k=i.ensureSingle(v,"text","",(function(t){t.attr("data-notex",1)})),C=i.ensureUniformFontSize(t,c.determineTextFont(P,s,L.font,{onPathbar:!0}));k.text(s._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(a.font,C).call(o.convertToTspans,t),s.textBB=a.bBox(k.node()),s.transform=_(s,{fontSize:C.size,onPathbar:!0}),s.transform.fontSize=C.size,T?k.transition().attrTween("transform",(function(t){var e=M(t,h,S,[g,y]);return function(t){return w(e(t))}})):k.attr("transform",w(s))}))}},52583:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(91424),o=r(63893),s=r(37210),l=r(96362).styleOne,u=r(43473),c=r(2791),f=r(83523),h=r(24714).formatSliceLabel,p=!1;t.exports=function(t,e,r,d,v){var g=v.width,y=v.height,m=v.viewX,x=v.viewY,b=v.pathSlice,_=v.toMoveInsideSlice,w=v.strTransform,T=v.hasTransition,k=v.handleSlicesExit,A=v.makeUpdateSliceInterpolator,M=v.makeUpdateTextInterpolator,S=v.prevEntry,E=t._context.staticPlot,L=t._fullLayout,C=e[0].trace,P=-1!==C.textposition.indexOf("left"),O=-1!==C.textposition.indexOf("right"),I=-1!==C.textposition.indexOf("bottom"),D=!I&&!C.marker.pad.t||I&&!C.marker.pad.b,z=s(r,[g,y],{packing:C.tiling.packing,squarifyratio:C.tiling.squarifyratio,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1,pad:{inner:C.tiling.pad,top:C.marker.pad.t,left:C.marker.pad.l,right:C.marker.pad.r,bottom:C.marker.pad.b}}).descendants(),R=1/0,F=-1/0;z.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(R=Math.min(R,e),F=Math.max(F,e))})),d=d.data(z,c.getPtId),C._maxVisibleLayers=isFinite(F)?F-R+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],b),d.order();var B=null;if(T&&S){var N=c.getPtId(S);d.each((function(t){null===B&&c.getPtId(t)===N&&(B={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var j=function(){return B||{x0:0,x1:g,y0:0,y1:y}},U=d;return T&&(U=U.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),U.each((function(s){var d=c.isHeader(s,C);s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.marker.pad.r),s._hoverY=x(I?s.y1-C.marker.pad.b/2:s.y0+C.marker.pad.t/2);var v=n.select(this),k=i.ensureSingle(v,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?k.transition().attrTween("d",(function(t){var e=A(t,p,j(),[g,y]);return function(t){return b(e(t))}})):k.attr("d",b),v.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),k.call(l,s,C,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=d?D?"":c.getPtLabel(s)||"":h(s,r,C,e,L)||"";var S=i.ensureSingle(v,"g","slicetext"),z=i.ensureSingle(S,"text","",(function(t){t.attr("data-notex",1)})),R=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font));z.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",O?"end":P||d?"start":"middle").call(a.font,R).call(o.convertToTspans,t),s.textBB=a.bBox(z.node()),s.transform=_(s,{fontSize:R.size,isHeader:d}),s.transform.fontSize=R.size,T?z.transition().attrTween("transform",(function(t){var e=M(t,p,j(),[g,y]);return function(t){return w(e(t))}})):z.attr("transform",w(s))})),B}},14102:function(t){"use strict";t.exports=function t(e,r,n){var i;n.swapXY&&(i=e.x0,e.x0=e.y0,e.y0=i,i=e.x1,e.x1=e.y1,e.y1=i),n.flipX&&(i=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-i),n.flipY&&(i=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-i);var a=e.children;if(a)for(var o=0;o-1?C+I:-(O+I):0,z={x0:P,x1:P,y0:D,y1:D+O},R=function(t,e,r){var n=y.tiling.pad,i=function(t){return t-n<=e.x0},a=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return t.x0===e.x0&&t.x1===e.x1&&t.y0===e.y0&&t.y1===e.y1?{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1}:{x0:i(t.x0-n)?0:a(t.x0-n)?r[0]:t.x0,x1:i(t.x1+n)?0:a(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},F=null,B={},N={},j=null,U=function(t,e){return e?B[h(t)]:N[h(t)]};g.hasMultipleRoots&&k&&M++,y._maxDepth=M,y._backgroundColor=v.paper_bgcolor,y._entryDepth=b.data.depth,y._atRootLevel=k;var V=-L/2+S.l+S.w*(E.x[1]+E.x[0])/2,H=-C/2+S.t+S.h*(1-(E.y[1]+E.y[0])/2),q=function(t){return V+t},G=function(t){return H+t},Z=G(0),Y=q(0),W=function(t){return Y+t},X=function(t){return Z+t};function J(t,e){return t+","+e}var K=W(0),$=function(t){t.x=Math.max(K,t.x)},Q=y.pathbar.edgeshape,tt=y[m?"tiling":"marker"].pad,et=function(t){return-1!==y.textposition.indexOf(t)},rt=et("top"),nt=et("left"),it=et("right"),at=et("bottom"),ot=function(t,e){var r=t.x0,n=t.x1,i=t.y0,a=t.y1,o=t.textBB,c=rt||e.isHeader&&!at?"start":at?"end":"middle",f=et("right"),h=et("left")||e.onPathbar?-1:f?1:0;if(e.isHeader){if((r+=(m?tt:tt.l)-s)>=(n-=(m?tt:tt.r)-s)){var p=(r+n)/2;r=p,n=p}var d;at?i<(d=a-(m?tt:tt.b))&&d"===Q?(l.x-=a,u.x-=a,c.x-=a,f.x-=a):"/"===Q?(c.x-=a,f.x-=a,o.x-=a/2,s.x-=a/2):"\\"===Q?(l.x-=a,u.x-=a,o.x-=a/2,s.x-=a/2):"<"===Q&&(o.x-=a,s.x-=a),$(l),$(f),$(o),$(u),$(c),$(s),"M"+J(l.x,l.y)+"L"+J(u.x,u.y)+"L"+J(s.x,s.y)+"L"+J(c.x,c.y)+"L"+J(f.x,f.y)+"L"+J(o.x,o.y)+"Z"},toMoveInsideSlice:ot,makeUpdateSliceInterpolator:lt,makeUpdateTextInterpolator:ut,handleSlicesExit:ct,hasTransition:A,strTransform:ft}):w.remove()}},96362:function(t,e,r){"use strict";var n=r(39898),i=r(7901),a=r(71828),o=r(2791),s=r(72597).resizeText,l=r(43467);function u(t,e,r,n,s){var u,c,f=(s||{}).hovered,h=e.data.data,p=h.i,d=h.color,v=o.isHierarchyRoot(e),g=1;if(f)u=r._hovered.marker.line.color,c=r._hovered.marker.line.width;else if(v&&d===r.root.color)g=100,u="rgba(0,0,0,0)",c=0;else if(u=a.castOption(r,p,"marker.line.color")||i.defaultLine,c=a.castOption(r,p,"marker.line.width")||0,!r._hasColorscale&&!e.onPathbar){var y=r.marker.depthfade;if(y){var m,x=i.combine(i.addOpacity(r._backgroundColor,.75),d);if(!0===y){var b=o.getMaxDepth(r);m=isFinite(b)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else m=e.data.depth-r._entryDepth,r._atRootLevel||m++;if(m>0)for(var _=0;_0){var b,_,w,T,k,A=t.xa,M=t.ya;"h"===d.orientation?(k=e,b="y",w=M,_="x",T=A):(k=r,b="x",w=A,_="y",T=M);var S=p[t.index];if(k>=S.span[0]&&k<=S.span[1]){var E=i.extendFlat({},t),L=T.c2p(k,!0),C=s.getKdeValue(S,d,k),P=s.getPositionOnKdePath(S,d,L),O=w._offset,I=w._length;E[b+"0"]=P[0],E[b+"1"]=P[1],E[_+"0"]=E[_+"1"]=L,E[_+"Label"]=_+": "+a.hoverLabelText(T,k,d[_+"hoverformat"])+", "+p[0].t.labels.kde+" "+C.toFixed(3);for(var D=0,z=0;z")),c.color=function(t,e){var r=t[e.dir].marker,n=r.color,a=r.line.color,o=r.line.width;return i(n)?n:i(a)&&o?a:void 0}(h,g),[c]}function k(t){return n(v,t,h[d+"hoverformat"])}}},19990:function(t,e,r){"use strict";t.exports={attributes:r(43037),layoutAttributes:r(13494),supplyDefaults:r(83266).supplyDefaults,crossTraceDefaults:r(83266).crossTraceDefaults,supplyLayoutDefaults:r(5176),calc:r(52752),crossTraceCalc:r(70766),plot:r(30436),style:r(55750).style,hoverPoints:r(61326),eventData:r(58593),selectPoints:r(81974),moduleType:"trace",name:"waterfall",basePlotModule:r(93612),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},13494:function(t){"use strict";t.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},5176:function(t,e,r){"use strict";var n=r(71828),i=r(13494);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s0&&(g+=h?"M"+f[0]+","+d[1]+"V"+d[0]:"M"+f[1]+","+d[0]+"H"+f[0]),"between"!==p&&(r.isSum||s path").each((function(t){if(!t.isBlank){var e=s[t.dir].marker;n.select(this).call(a.fill,e.color).call(a.stroke,e.line.color).call(i.dashLine,e.line.dash,e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},82887:function(t,e,r){"use strict";var n=r(89298),i=r(71828),a=r(86281),o=r(79344).p,s=r(50606).BADNUM;e.moduleType="transform",e.name="aggregate";var l=e.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","change","range"],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"},u=l.aggregations;function c(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),u=l.get(),c=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case"count":return f;case"first":return h;case"last":return p;case"sum":return function(t,e){for(var r=0,i=0;ii&&(i=c,o=u)}}return i?a(o):s};case"rms":return function(t,e){for(var r=0,i=0,o=0;o":return function(t){return h(t)>s};case">=":return function(t){return h(t)>=s};case"[]":return function(t){var e=h(t);return e>=s[0]&&e<=s[1]};case"()":return function(t){var e=h(t);return e>s[0]&&e=s[0]&&es[0]&&e<=s[1]};case"][":return function(t){var e=h(t);return e<=s[0]||e>=s[1]};case")(":return function(t){var e=h(t);return es[1]};case"](":return function(t){var e=h(t);return e<=s[0]||e>s[1]};case")[":return function(t){var e=h(t);return e=s[1]};case"{}":return function(t){return-1!==s.indexOf(h(t))};case"}{":return function(t){return-1===s.indexOf(h(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},y=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},y=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(g);for(var w=o(e.transforms,r),T=0;T1?"%{group} (%{trace})":"%{group}");var l=t.styles,u=o.styles=[];if(l)for(a=0;ap)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,v.prototype),e}function v(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return m(t)}return g(t,e,r)}function g(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!v.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|w(t,e),n=d(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(rt(t,Uint8Array)){var e=new Uint8Array(t);return b(e.buffer,e.byteOffset,e.byteLength)}return x(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+u(t));if(rt(t,ArrayBuffer)||t&&rt(t.buffer,ArrayBuffer))return b(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(rt(t,SharedArrayBuffer)||t&&rt(t.buffer,SharedArrayBuffer)))return b(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return v.from(n,e,r);var i=function(t){if(v.isBuffer(t)){var e=0|_(t.length),r=d(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||nt(t.length)?d(0):x(t):"Buffer"===t.type&&Array.isArray(t.data)?x(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return v.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+u(t))}function y(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function m(t){return y(t),d(t<0?0:0|_(t))}function x(t){for(var e=t.length<0?0:0|_(t.length),r=d(e),n=0;n=p)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+p.toString(16)+" bytes");return 0|t}function w(t,e){if(v.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||rt(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+u(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Q(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return tt(t).length;default:if(i)return n?-1:Q(t).length;e=(""+e).toLowerCase(),i=!0}}function T(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 F(this,e,r);case"utf8":case"utf-8":return I(this,e,r);case"ascii":return z(this,e,r);case"latin1":case"binary":return R(this,e,r);case"base64":return O(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function k(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function A(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),nt(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=v.from(e,n)),v.isBuffer(e))return 0===e.length?-1:M(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):M(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function M(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;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function O(t,e,r){return 0===e&&r===t.length?c.fromByteArray(t):c.fromByteArray(t.slice(e,r))}function I(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=D)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(v.isBuffer(a)||(a=v.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!v.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},v.byteLength=w,v.prototype._isBuffer=!0,v.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;er&&(t+=" ... "),""},h&&(v.prototype[h]=v.prototype.inspect),v.prototype.compare=function(t,e,r,n,i){if(rt(t,Uint8Array)&&(t=v.from(t,t.offset,t.byteLength)),!v.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+u(t));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(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),l=this.slice(n,i),c=t.slice(e,r),f=0;f>>=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 S(this,t,e,r);case"utf8":case"utf-8":return E(this,t,e,r);case"ascii":case"latin1":case"binary":return L(this,t,e,r);case"base64":return C(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},v.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var D=4096;function z(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function j(t,e,r,n,i,a){if(!v.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function U(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function V(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function H(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 q(t,e,r,n,i){return e=+e,r>>>=0,i||H(t,0,r,4),f.write(t,e,r,n,23,4),r+4}function G(t,e,r,n,i){return e=+e,r>>>=0,i||H(t,0,r,8),f.write(t,e,r,n,52,8),r+8}v.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},v.prototype.readUint8=v.prototype.readUInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),this[t]},v.prototype.readUint16LE=v.prototype.readUInt16LE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]|this[t+1]<<8},v.prototype.readUint16BE=v.prototype.readUInt16BE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]<<8|this[t+1]},v.prototype.readUint32LE=v.prototype.readUInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},v.prototype.readUint32BE=v.prototype.readUInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},v.prototype.readBigUInt64LE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},v.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||N(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},v.prototype.readInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},v.prototype.readInt16LE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},v.prototype.readInt16BE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},v.prototype.readInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},v.prototype.readInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},v.prototype.readBigInt64LE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||N(t,4,this.length),f.read(this,t,!0,23,4)},v.prototype.readFloatBE=function(t,e){return t>>>=0,e||N(t,4,this.length),f.read(this,t,!1,23,4)},v.prototype.readDoubleLE=function(t,e){return t>>>=0,e||N(t,8,this.length),f.read(this,t,!0,52,8)},v.prototype.readDoubleBE=function(t,e){return t>>>=0,e||N(t,8,this.length),f.read(this,t,!1,52,8)},v.prototype.writeUintLE=v.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||j(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||j(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},v.prototype.writeUint8=v.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,255,0),this[e]=255&t,e+1},v.prototype.writeUint16LE=v.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},v.prototype.writeUint16BE=v.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},v.prototype.writeUint32LE=v.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(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},v.prototype.writeUint32BE=v.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(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},v.prototype.writeBigUInt64LE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return U(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),v.prototype.writeBigUInt64BE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return V(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),v.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},v.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(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},v.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},v.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},v.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},v.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(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},v.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(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},v.prototype.writeBigInt64LE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return U(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),v.prototype.writeBigInt64BE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return V(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),v.prototype.writeFloatLE=function(t,e,r){return q(this,t,e,!0,r)},v.prototype.writeFloatBE=function(t,e,r){return q(this,t,e,!1,r)},v.prototype.writeDoubleLE=function(t,e,r){return G(this,t,e,!0,r)},v.prototype.writeDoubleBE=function(t,e,r){return G(this,t,e,!1,r)},v.prototype.copy=function(t,e,r,n){if(!v.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=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>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function X(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new Z.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){J(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||K(e,t.length-(r+1))}(n,i,a)}function J(t,e){if("number"!=typeof t)throw new Z.ERR_INVALID_ARG_TYPE(e,"number",t)}function K(t,e,r){if(Math.floor(t)!==t)throw J(t,r),new Z.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new Z.ERR_BUFFER_OUT_OF_BOUNDS;throw new Z.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}Y("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),Y("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(u(e))}),TypeError),Y("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=W(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=W(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var $=/[^+/0-9A-Za-z-_]/g;function Q(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&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 tt(t){return c.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace($,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function et(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function rt(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function nt(t){return t!=t}var it=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function at(t){return"undefined"==typeof BigInt?ot:t}function ot(){throw new Error("BigInt not supported")}},2321:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|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[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},3910:function(t,e){"use strict";e.byteLength=function(t){var e=l(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,a=l(t),o=a[0],s=a[1],u=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,s)),c=0,f=s>0?o-4:o;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===s&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===s&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,l=n-i;sl?l:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,s=a.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},3187:function(t,e){e.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,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)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=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+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},1152:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],u=t.mode||"turntable",c=n(),f=i(),h=a();return c.setDistanceLimits(l[0],l[1]),c.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:c,orbit:f,matrix:h},u)};var n=r(3440),i=r(7774),a=r(9298);function o(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 s=o.prototype;s.flush=function(t){for(var e=this._controllerList,r=0;r0?u=u.ushln(f):f<0&&(c=c.ushln(-f)),s(u,c)}},234:function(t,e,r){"use strict";var n=r(3218);t.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},4275:function(t,e,r){"use strict";var n=r(1928);t.exports=function(t){return t.cmp(new n(0))}},9958:function(t,e,r){"use strict";var n=r(4275);t.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a20?52:r+32}},3218:function(t,e,r){"use strict";r(1928),t.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},5514:function(t,e,r){"use strict";var n=r(1928),i=r(8362);t.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},8524:function(t,e,r){"use strict";var n=r(5514),i=r(4275);t.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}},2813:function(t,e,r){"use strict";var n=r(1928);t.exports=function(t){return new n(t)}},3962:function(t,e,r){"use strict";var n=r(8524);t.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},4951:function(t,e,r){"use strict";var n=r(4275);t.exports=function(t){return n(t[0])*n(t[1])}},4354:function(t,e,r){"use strict";var n=r(8524);t.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},7999:function(t,e,r){"use strict";var n=r(9958),i=r(1112);t.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,u=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return u*s;if(s){var c=i(s)+4,f=n(l.ushln(c).divRound(r));return u*(s+f*Math.pow(2,-c))}var h=r.bitLength()-l.bitLength()+53;return f=n(l.ushln(h).divRound(r)),h<1023?u*f*Math.pow(2,-h):u*(f*=Math.pow(2,-1023))*Math.pow(2,1023-h)}},5070:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},2288:function(t,e){"use strict";function r(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}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.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},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,1+((t|=t>>>8)|t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=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<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.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},e.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},e.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},e.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},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},1928:function(t,e,r){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.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 o;"object"==typeof t?t.exports=a:e.BN=a,a.BN=a,a.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(6601).Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(t,e,r){var n=s(t,r);return r-1>=e&&(n|=s(t,r-1)<<4),n}function u(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=l(t,e,n)<=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;this.strip()},a.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,s=Math.min(a,a-o)+r,l=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var c=["","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"],f=[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],h=[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 p(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>>26,f=67108863&l,h=Math.min(u,e.length-1),p=Math.max(0,u-t.length+1);p<=h;p++){var d=u-p|0;c+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[u]=0|f,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,a=0,o=0;o>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=f[t],p=h[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var v=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?v+r:c[u-v.length]+v+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.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&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(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=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},a.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},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;at.length?this.clone().iadd(t):t.clone().iadd(this)},a.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>26,this.words[o]=67108863&e;for(;0!==a&&o>26,this.words[o]=67108863&e;if(0===a&&o>>13,p=0|o[1],d=8191&p,v=p>>>13,g=0|o[2],y=8191&g,m=g>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],L=8191&E,C=E>>>13,P=0|o[7],O=8191&P,I=P>>>13,D=0|o[8],z=8191&D,R=D>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],U=8191&j,V=j>>>13,H=0|s[1],q=8191&H,G=H>>>13,Z=0|s[2],Y=8191&Z,W=Z>>>13,X=0|s[3],J=8191&X,K=X>>>13,$=0|s[4],Q=8191&$,tt=$>>>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],ft=8191&ct,ht=ct>>>13,pt=0|s[9],dt=8191&pt,vt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(n=Math.imul(f,U))|0)+((8191&(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))<<13)|0;u=((a=Math.imul(h,V))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(v,U)|0,a=Math.imul(v,V);var yt=(u+(n=n+Math.imul(f,q)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,q)|0))<<13)|0;u=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,U),i=(i=Math.imul(y,V))+Math.imul(m,U)|0,a=Math.imul(m,V),n=n+Math.imul(d,q)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(v,q)|0,a=a+Math.imul(v,G)|0;var mt=(u+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,W)|0)+Math.imul(h,Y)|0))<<13)|0;u=((a=a+Math.imul(h,W)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(b,U),i=(i=Math.imul(b,V))+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(y,q)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(m,q)|0,a=a+Math.imul(m,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,W)|0)+Math.imul(v,Y)|0,a=a+Math.imul(v,W)|0;var xt=(u+(n=n+Math.imul(f,J)|0)|0)+((8191&(i=(i=i+Math.imul(f,K)|0)+Math.imul(h,J)|0))<<13)|0;u=((a=a+Math.imul(h,K)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(b,q)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,q)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,W)|0)+Math.imul(m,Y)|0,a=a+Math.imul(m,W)|0,n=n+Math.imul(d,J)|0,i=(i=i+Math.imul(d,K)|0)+Math.imul(v,J)|0,a=a+Math.imul(v,K)|0;var bt=(u+(n=n+Math.imul(f,Q)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,Q)|0))<<13)|0;u=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,q)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,q)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,W)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,W)|0,n=n+Math.imul(y,J)|0,i=(i=i+Math.imul(y,K)|0)+Math.imul(m,J)|0,a=a+Math.imul(m,K)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,tt)|0;var _t=(u+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;u=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,U),i=(i=Math.imul(L,V))+Math.imul(C,U)|0,a=Math.imul(C,V),n=n+Math.imul(M,q)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,q)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,W)|0)+Math.imul(k,Y)|0,a=a+Math.imul(k,W)|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(y,Q)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(m,Q)|0,a=a+Math.imul(m,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(v,rt)|0,a=a+Math.imul(v,nt)|0;var wt=(u+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;u=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(O,U),i=(i=Math.imul(O,V))+Math.imul(I,U)|0,a=Math.imul(I,V),n=n+Math.imul(L,q)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(C,q)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,W)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,W)|0,n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(k,J)|0,a=a+Math.imul(k,K)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(y,rt)|0,i=(i=i+Math.imul(y,nt)|0)+Math.imul(m,rt)|0,a=a+Math.imul(m,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(v,at)|0,a=a+Math.imul(v,ot)|0;var Tt=(u+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ut)|0)+Math.imul(h,lt)|0))<<13)|0;u=((a=a+Math.imul(h,ut)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(z,U),i=(i=Math.imul(z,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(O,q)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(I,q)|0,a=a+Math.imul(I,G)|0,n=n+Math.imul(L,Y)|0,i=(i=i+Math.imul(L,W)|0)+Math.imul(C,Y)|0,a=a+Math.imul(C,W)|0,n=n+Math.imul(M,J)|0,i=(i=i+Math.imul(M,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,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(y,at)|0,i=(i=i+Math.imul(y,ot)|0)+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ut)|0)+Math.imul(v,lt)|0,a=a+Math.imul(v,ut)|0;var kt=(u+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;u=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(z,q)|0,i=(i=i+Math.imul(z,G)|0)+Math.imul(R,q)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(O,Y)|0,i=(i=i+Math.imul(O,W)|0)+Math.imul(I,Y)|0,a=a+Math.imul(I,W)|0,n=n+Math.imul(L,J)|0,i=(i=i+Math.imul(L,K)|0)+Math.imul(C,J)|0,a=a+Math.imul(C,K)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(k,rt)|0,a=a+Math.imul(k,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(y,lt)|0,i=(i=i+Math.imul(y,ut)|0)+Math.imul(m,lt)|0,a=a+Math.imul(m,ut)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(v,ft)|0,a=a+Math.imul(v,ht)|0;var At=(u+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,vt)|0)+Math.imul(h,dt)|0))<<13)|0;u=((a=a+Math.imul(h,vt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,G))+Math.imul(N,q)|0,a=Math.imul(N,G),n=n+Math.imul(z,Y)|0,i=(i=i+Math.imul(z,W)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,W)|0,n=n+Math.imul(O,J)|0,i=(i=i+Math.imul(O,K)|0)+Math.imul(I,J)|0,a=a+Math.imul(I,K)|0,n=n+Math.imul(L,Q)|0,i=(i=i+Math.imul(L,tt)|0)+Math.imul(C,Q)|0,a=a+Math.imul(C,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(k,at)|0,a=a+Math.imul(k,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(y,ft)|0,i=(i=i+Math.imul(y,ht)|0)+Math.imul(m,ft)|0,a=a+Math.imul(m,ht)|0;var Mt=(u+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,vt)|0)+Math.imul(v,dt)|0))<<13)|0;u=((a=a+Math.imul(v,vt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,Y),i=(i=Math.imul(B,W))+Math.imul(N,Y)|0,a=Math.imul(N,W),n=n+Math.imul(z,J)|0,i=(i=i+Math.imul(z,K)|0)+Math.imul(R,J)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(I,Q)|0,a=a+Math.imul(I,tt)|0,n=n+Math.imul(L,rt)|0,i=(i=i+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,a=a+Math.imul(C,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ut)|0)+Math.imul(k,lt)|0,a=a+Math.imul(k,ut)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(u+(n=n+Math.imul(y,dt)|0)|0)+((8191&(i=(i=i+Math.imul(y,vt)|0)+Math.imul(m,dt)|0))<<13)|0;u=((a=a+Math.imul(m,vt)|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(z,Q)|0,i=(i=i+Math.imul(z,tt)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(I,rt)|0,a=a+Math.imul(I,nt)|0,n=n+Math.imul(L,at)|0,i=(i=i+Math.imul(L,ot)|0)+Math.imul(C,at)|0,a=a+Math.imul(C,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ut)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(k,ft)|0,a=a+Math.imul(k,ht)|0;var Et=(u+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,vt)|0)+Math.imul(_,dt)|0))<<13)|0;u=((a=a+Math.imul(_,vt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,Q),i=(i=Math.imul(B,tt))+Math.imul(N,Q)|0,a=Math.imul(N,tt),n=n+Math.imul(z,rt)|0,i=(i=i+Math.imul(z,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(O,at)|0,i=(i=i+Math.imul(O,ot)|0)+Math.imul(I,at)|0,a=a+Math.imul(I,ot)|0,n=n+Math.imul(L,lt)|0,i=(i=i+Math.imul(L,ut)|0)+Math.imul(C,lt)|0,a=a+Math.imul(C,ut)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Lt=(u+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,vt)|0)+Math.imul(k,dt)|0))<<13)|0;u=((a=a+Math.imul(k,vt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=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(z,at)|0,i=(i=i+Math.imul(z,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(O,lt)|0,i=(i=i+Math.imul(O,ut)|0)+Math.imul(I,lt)|0,a=a+Math.imul(I,ut)|0,n=n+Math.imul(L,ft)|0,i=(i=i+Math.imul(L,ht)|0)+Math.imul(C,ft)|0,a=a+Math.imul(C,ht)|0;var Ct=(u+(n=n+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,vt)|0)+Math.imul(S,dt)|0))<<13)|0;u=((a=a+Math.imul(S,vt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=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(z,lt)|0,i=(i=i+Math.imul(z,ut)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ut)|0,n=n+Math.imul(O,ft)|0,i=(i=i+Math.imul(O,ht)|0)+Math.imul(I,ft)|0,a=a+Math.imul(I,ht)|0;var Pt=(u+(n=n+Math.imul(L,dt)|0)|0)+((8191&(i=(i=i+Math.imul(L,vt)|0)+Math.imul(C,dt)|0))<<13)|0;u=((a=a+Math.imul(C,vt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=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(z,ft)|0,i=(i=i+Math.imul(z,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Ot=(u+(n=n+Math.imul(O,dt)|0)|0)+((8191&(i=(i=i+Math.imul(O,vt)|0)+Math.imul(I,dt)|0))<<13)|0;u=((a=a+Math.imul(I,vt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(B,ft),i=(i=Math.imul(B,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var It=(u+(n=n+Math.imul(z,dt)|0)|0)+((8191&(i=(i=i+Math.imul(z,vt)|0)+Math.imul(R,dt)|0))<<13)|0;u=((a=a+Math.imul(R,vt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Dt=(u+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,vt))+Math.imul(N,dt)|0))<<13)|0;return u=((a=Math.imul(N,vt))+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,l[0]=gt,l[1]=yt,l[2]=mt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Tt,l[8]=kt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=Pt,l[16]=Ot,l[17]=It,l[18]=Dt,0!==u&&(l[19]=u,r.length++),r};function v(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(d=p),a.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):n<63?p(this,t,e):n<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>>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):v(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}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=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,u=0;u=0&&(0!==c||u>=i);u--){var f=0|this.words[u];this.words[u]=c<<26-a|f>>>a,c=f&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>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},a.prototype.isubn=function(t){if(n("number"==typeof t),n(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>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!=(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var u=0;u=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(i=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.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)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var c=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(c),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,v=1;0==(r.words[0]&v)&&d<26;++d,v<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(u)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.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 f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.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)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new T(t)},a.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function m(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function T(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){T.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(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)}m.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},m.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=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},m.prototype.split=function(t,e){t.iushrn(this.n,0,e)},m.prototype.imulK=function(t){return t.imul(this.k)},i(x,m),x.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i>>22,a=o}a>>>=22,t.words[i-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},x.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>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new x;else if("p224"===t)e=new b;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return y[t]=e,e},T.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},T.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},T.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},T.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},T.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)},T.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},T.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)},T.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},T.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},T.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},T.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},T.prototype.isqr=function(t){return this.imul(t,t.clone())},T.prototype.sqr=function(t){return this.mul(t,t)},T.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var f=this.pow(c,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var v=p,g=0;0!==v.cmp(s);g++)v=v.redSqr();n(g=0;n--){for(var u=e.words[n],c=l-1;c>=0;c--){var f=u>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4==++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},T.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},T.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,T),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.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)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},2692:function(t){"use strict";t.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e>>1;if(!(c<=0)){var f,h=i.mallocDouble(2*c*s),p=i.mallocInt32(s);if((s=l(t,c,h,p))>0){if(1===c&&n)a.init(s),f=a.sweepComplete(c,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*c*u),v=i.mallocInt32(u);(u=l(e,c,d,v))>0&&(a.init(s+u),f=1===c?a.sweepBipartite(c,r,0,s,h,p,0,u,d,v):o(c,r,n,s,h,p,u,d,v),i.free(d),i.free(v))}i.free(h),i.free(p)}return f}}}function c(t,e){n.push([t,e])}function f(t){return n=[],u(t,t,c,!0),n}function h(t,e){return n=[],u(t,e,c,!1),n}},7333:function(t,e){"use strict";function r(t){return t?function(t,e,r,n,i,a,o,s,l,u,c){return i-n>l-s?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;hu-l?n?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;h0;){var L=6*(S-=1),C=y[L],P=y[L+1],O=y[L+2],I=y[L+3],D=y[L+4],z=y[L+5],R=2*S,F=m[R],B=m[R+1],N=1&z,j=!!(16&z),U=c,V=w,H=k,q=A;if(N&&(U=k,V=A,H=c,q=w),!(2&z&&(O=p(t,C,P,O,U,V,B),P>=O)||4&z&&(P=d(t,C,P,O,U,V,F))>=O)){var G=O-P,Z=D-I;if(j){if(t*G*(G+Z)<4194304){if(void 0!==(M=l.scanComplete(t,C,e,P,O,U,V,I,D,H,q)))return M;continue}}else{if(t*Math.min(G,Z)<128){if(void 0!==(M=o(t,C,e,N,P,O,U,V,I,D,H,q)))return M;continue}if(t*G*Z<4194304){if(void 0!==(M=l.scanBipartite(t,C,e,N,P,O,U,V,I,D,H,q)))return M;continue}}var Y=f(t,C,P,O,U,V,F,B);if(P=p0)&&!(p1>=hi)"),h=c("lo===p0"),p=c("lo>>1,f=2*t,h=c,p=o[f*c+e];l=m?(h=y,p=m):g>=b?(h=v,p=g):(h=x,p=b):m>=b?(h=y,p=m):b>=g?(h=v,p=g):(h=x,p=b);for(var _=f*(u-1),w=f*h,T=0;Tr&&i[f+e]>u;--c,f-=o){for(var h=f,p=f+o,d=0;dh;++h,l+=s)if(i[l+f]===o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"loh;++h,l+=s)if(i[l+f]p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"lo<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"hi<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"lop;++p,l+=s){var d=i[l+f],v=i[l+h];if(dg;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},"lo<=p0&&p0<=hi":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=e,h=t+e,p=r;n>p;++p,l+=s){var d=i[l+f],v=i[l+h];if(d<=o&&o<=v)if(c===p)c+=1,u+=s;else{for(var g=0;s>g;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},"!(lo>=p0)&&!(p1>=hi)":function(t,e,r,n,i,a,o,s){for(var l=2*t,u=l*r,c=u,f=r,h=e,p=t+e,d=r;n>d;++d,u+=l){var v=i[u+h],g=i[u+p];if(!(v>=o||s>=g))if(f===d)f+=1,c+=l;else{for(var y=0;l>y;++y){var m=i[u+y];i[u+y]=i[c],i[c++]=m}var x=a[d];a[d]=a[f],a[f++]=x}}return f}}},309:function(t){"use strict";function e(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(ur[e+1])}function s(t,e,r,n){var i=n[t*=2];return i>1,v=d-f,g=d+f,y=h,m=v,x=d,b=g,_=p,w=t+1,T=u-1,k=0;o(y,m,c)&&(k=y,y=m,m=k),o(b,_,c)&&(k=b,b=_,_=k),o(y,x,c)&&(k=y,y=x,x=k),o(m,x,c)&&(k=m,m=x,x=k),o(y,b,c)&&(k=y,y=b,b=k),o(x,b,c)&&(k=x,x=b,b=k),o(m,_,c)&&(k=m,m=_,_=k),o(m,x,c)&&(k=m,m=x,x=k),o(b,_,c)&&(k=b,b=_,_=k);for(var A=c[2*m],M=c[2*m+1],S=c[2*b],E=c[2*b+1],L=2*y,C=2*x,P=2*_,O=2*h,I=2*d,D=2*p,z=0;z<2;++z){var R=c[L+z],F=c[C+z],B=c[P+z];c[O+z]=R,c[I+z]=F,c[D+z]=B}n(v,t,c),n(g,u,c);for(var N=w;N<=T;++N)if(s(N,A,M,c))N!==w&&r(N,w,c),++w;else if(!s(N,S,E,c))for(;;){if(s(T,S,E,c)){s(T,A,M,c)?(i(N,w,T,c),++w,--T):(r(N,T,c),--T);break}if(--T>>1;a(d,S);var E=0,L=0;for(T=0;T=o)v(c,f,L--,C=C-o|0);else if(C>=0)v(l,u,E--,C);else if(C<=-268435456){C=-C-o|0;for(var P=0;P>>1;a(d,E);var L=0,C=0,P=0;for(k=0;k>1==d[2*k+3]>>1&&(I=2,k+=1),O<0){for(var D=-(O>>1)-1,z=0;z>1)-1,0===I?v(l,u,L--,D):1===I?v(c,f,C--,D):2===I&&v(h,p,P--,D)}},scanBipartite:function(t,e,r,n,i,s,c,f,h,p,y,m){var x=0,b=2*t,_=e,w=e+t,T=1,k=1;n?k=o:T=o;for(var A=i;A>>1;a(d,L);var C=0;for(A=0;A=o?(O=!n,M-=o):(O=!!n,M-=1),O)g(l,u,C++,M);else{var I=m[M],D=b*M,z=y[D+e+1],R=y[D+e+1+t];t:for(var F=0;F>>1;a(d,T);var k=0;for(x=0;x=o)l[k++]=b-o;else{var M=p[b-=1],S=g*b,E=h[S+e+1],L=h[S+e+1+t];t:for(var C=0;C=0;--C)if(l[C]===b){for(D=C+1;D0;){for(var p=r.pop(),d=(c=-1,f=-1,l=o[s=r.pop()],1);d=0||(e.flip(s,p),i(t,e,r,c,s,f),i(t,e,r,s,f,c),i(t,e,r,f,p,c),i(t,e,r,p,c,f))}}},7098:function(t,e,r){"use strict";var n,i=r(5070);function a(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 o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}t.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(u[p]!==-i){u[p]=i,c[p];for(var d=0;d<3;++d){var v=h[3*p+d];v>=0&&0===u[v]&&(f[3*p+d]?l.push(v):(s.push(v),u[v]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var y=function(t,e,r){for(var n=0,i=0;i1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=f.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function c(t,e){var r;return(r=t.a[0]d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var v=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),g=[new a([v,1],[v,0],-1,[],[],[],[])],y=[],m=(l=0,i.length);l=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;ne[2]?1:0)}function y(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--a){var x=e[c=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],T=t[_];if((w[0]-T[0]||w[1]-T[1])<0){var k=b;b=_,_=k}x[0]=b;var A,M=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===c;){var S,E=(S=n[--a])[1];i?e.push([M,E,A]):e.push([M,E]),M=E}i?e.push([M,_,A]):e.push([M,_])}return h}(t,e,h,v,r),m=d(t,g);return y(e,m,r),!!m||h.length>0||v.length>0}},5528:function(t,e,r){"use strict";t.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=c(a,f);if(0===o(h))return null;var p=c(f,s(t,r)),d=i(p,h),v=u(a,d);return l(t,v)};var n=r(3962),i=r(9189),a=r(4354),o=r(4951),s=r(6695),l=r(7584),u=r(4469);function c(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},5692:function(t){t.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],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]}]}},9156:function(t,e,r){"use strict";var n=r(5692),i=r(3578);function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}t.exports=function(t){var e,r,l,u,c,f,h,p,d,v;if(t||(t={}),p=(t.nshades||72)-1,h=t.format||"hex",(f=t.colormap)||(f="jet"),"string"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+" not a supported colorscale");c=n[f]}else{if(!Array.isArray(f))throw Error("unsupported colormap option",f);c=f.slice()}if(c.length>p+1)throw new Error(f+" map requires nshades to be at least size "+c.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=c.map((function(t){return Math.round(t.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var g=c.map((function(t,e){var r=c[e].index,n=c[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),y=[];for(v=0;v0||l(t,e,a)?-1:1:0===s?u>0||l(t,e,r)?1:-1:i(u-s)}var f=n(t,e,r);return f>0?o>0&&n(t,e,a)>0?1:-1:f<0?o>0||n(t,e,a)>0?1:-1:n(t,e,a)>0||l(t,e,r)?1:-1};var n=r(417),i=r(7538),a=r(87),o=r(2019),s=r(9662);function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),u=a(r[1],-e[1]),c=s(o(n,l),o(i,u));return c[c.length-1]>=0}},7538:function(t){"use strict";t.exports=function(t){return t<0?-1:t>0?1:0}},9209:function(t){t.exports=function(t,n){var i=t.length,a=t.length-n.length;if(a)return a;switch(i){case 0:return 0;case 1:return t[0]-n[0];case 2:return t[0]+t[1]-n[0]-n[1]||e(t[0],t[1])-e(n[0],n[1]);case 3:var o=t[0]+t[1],s=n[0]+n[1];if(a=o+t[2]-(s+n[2]))return a;var l=e(t[0],t[1]),u=e(n[0],n[1]);return e(l,t[2])-e(u,n[2])||e(l+t[2],o)-e(u+n[2],s);case 4:var c=t[0],f=t[1],h=t[2],p=t[3],d=n[0],v=n[1],g=n[2],y=n[3];return c+f+h+p-(d+v+g+y)||e(c,f,h,p)-e(d,v,g,y,d)||e(c+f,c+h,c+p,f+h,f+p,h+p)-e(d+v,d+g,d+y,v+g,v+y,g+y)||e(c+f+h,c+f+p,c+h+p,f+h+p)-e(d+v+g,d+v+y,d+g+y,v+g+y);default:for(var m=t.slice().sort(r),x=n.slice().sort(r),b=0;bt[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},8722:function(t,e,r){"use strict";t.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o=e[l]&&(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=r(2183),i=r(2153)},9680:function(t){"use strict";t.exports=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,f=s*(3-2*i),h=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]+f*r[p]+h*n[p];return a}return u*t+c*e+f*r+h*n},t.exports.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}},4419:function(t,e,r){"use strict";var n=r(2183),i=r(1215);function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a=2)return!1;t[r]=n}return!0})):_.filter((function(t){for(var e=0;e<=s;++e){var r=y[t[e]];if(r<0)return!1;t[e]=r}return!0})),1&s)for(c=0;c<_.length;++c)h=(b=_[c])[0],b[0]=b[1],b[1]=h;return _}},8362:function(t){var e=!1;if("undefined"!=typeof Float64Array){var r=new Float64Array(1),n=new Uint32Array(r.buffer);r[0]=1,e=!0,1072693248===n[1]?(t.exports=function(t){return r[0]=t,[n[0],n[1]]},t.exports.pack=function(t,e){return n[0]=t,n[1]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[0]},t.exports.hi=function(t){return r[0]=t,n[1]}):1072693248===n[0]?(t.exports=function(t){return r[0]=t,[n[1],n[0]]},t.exports.pack=function(t,e){return n[1]=t,n[0]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[1]},t.exports.hi=function(t){return r[0]=t,n[0]}):e=!1}if(!e){var i=new Buffer(8);t.exports=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]},t.exports.pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},t.exports.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},t.exports.hi=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(4,!0)}}t.exports.sign=function(e){return t.exports.hi(e)>>>31},t.exports.exponent=function(e){return(t.exports.hi(e)<<1>>>21)-1023},t.exports.fraction=function(e){var r=t.exports.lo(e),n=t.exports.hi(e),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},t.exports.denormalized=function(e){return!(2146435072&t.exports.hi(e))}},3094:function(t){"use strict";function e(t,r,n){var i=0|t[n];if(i<=0)return[];var a,o=new Array(i);if(n===t.length-1)for(a=0;a0)return function(t,e){var r,n;for(r=new Array(t),n=0;n=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p=r-1)for(var c=s.length-1,f=(e[r-1],0);f=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--f)n.push(a(l[f-1],u[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(u[h-1],c[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],u=s[1],c=t-e,f=c>1e-6?1/c:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],u[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--f)n.push(a(l[f],u[f],n[o]+c*i[o])),i.push(0),o+=1}}},7080:function(t){"use strict";function e(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 r(t){return new e(t._color,t.key,t.value,t.left,t.right,t._count)}function n(t,r){return new e(t,r.key,r.value,r.left,r.right,r._count)}function i(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function a(t,e){this._compare=t,this.root=e}t.exports=function(t){return new a(t||p,null)};var o=a.prototype;function s(t,e){var r;return e.left&&(r=s(t,e.left))?r:(r=t(e.key,e.value))||(e.right?s(t,e.right):void 0)}function l(t,e,r,n){if(e(t,n.key)<=0){var i;if(n.left&&(i=l(t,e,r,n.left)))return i;if(i=r(n.key,n.value))return i}if(n.right)return l(t,e,r,n.right)}function u(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=u(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return u(t,e,r,n,i.right)}function c(t,e){this.tree=t,this._stack=e}Object.defineProperty(o,"keys",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(o,"values",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(o,"length",{get:function(){return this.root?this.root._count:0}}),o.insert=function(t,r){for(var o=this._compare,s=this.root,l=[],u=[];s;){var c=o(t,s.key);l.push(s),u.push(c),s=c<=0?s.left:s.right}l.push(new e(0,t,r,null,null,1));for(var f=l.length-2;f>=0;--f)s=l[f],u[f]<=0?l[f]=new e(s._color,s.key,s.value,l[f+1],s.right,s._count+1):l[f]=new e(s._color,s.key,s.value,s.left,l[f+1],s._count+1);for(f=l.length-1;f>1;--f){var h=l[f-1];if(s=l[f],1===h._color||1===s._color)break;var p=l[f-2];if(p.left===h)if(h.left===s){if(!(d=p.right)||0!==d._color){p._color=0,p.left=h.right,h._color=1,h.right=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).left===p?v.left=h:v.right=h);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else{if(!(d=p.right)||0!==d._color){h.right=s.left,p._color=0,p.left=s.right,s._color=1,s.left=h,s.right=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).left===p?v.left=s:v.right=s);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else if(h.right===s){if(!(d=p.left)||0!==d._color){p._color=0,p.right=h.left,h._color=1,h.left=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).right===p?v.right=h:v.left=h);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}else{var d;if(!(d=p.left)||0!==d._color){var v;h.left=s.right,p._color=0,p.right=s.left,s._color=1,s.right=h,s.left=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).right===p?v.right=s:v.left=s);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}}return l[0]._color=1,new a(o,l[0])},o.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return s(t,this.root);case 2:return l(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return u(e,r,this._compare,t,this.root)}},Object.defineProperty(o,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new c(this,t)}}),Object.defineProperty(o,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new c(this,t)}}),o.at=function(t){if(t<0)return new c(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new c(this,[])},o.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 c(this,n)},o.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 c(this,n)},o.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 c(this,n)},o.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 c(this,n)},o.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 c(this,n);r=i<=0?r.left:r.right}return new c(this,[])},o.remove=function(t){var e=this.find(t);return e?e.remove():this},o.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 f=c.prototype;function h(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 p(t,e){return te?1:0}Object.defineProperty(f,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(f,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),f.clone=function(){return new c(this.tree,this._stack.slice())},f.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var o=new Array(t.length),s=t[t.length-1];o[o.length-1]=new e(s._color,s.key,s.value,s.left,s.right,s._count);for(var l=t.length-2;l>=0;--l)(s=t[l]).left===t[l+1]?o[l]=new e(s._color,s.key,s.value,o[l+1],s.right,s._count):o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);if((s=o[o.length-1]).left&&s.right){var u=o.length;for(s=s.left;s.right;)o.push(s),s=s.right;var c=o[u-1];for(o.push(new e(s._color,c.key,c.value,s.left,s.right,s._count)),o[u-1].key=s.key,o[u-1].value=s.value,l=o.length-2;l>=u;--l)s=o[l],o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);o[u-1].left=o[u]}if(0===(s=o[o.length-1])._color){var f=o[o.length-2];for(f.left===s?f.left=null:f.right===s&&(f.right=null),o.pop(),l=0;l=0;--l){if(e=t[l],0===l)return void(e._color=1);if((a=t[l-1]).left===e){if((o=a.right).right&&0===o.right._color)return s=(o=a.right=r(o)).right=r(o.right),a.right=o.left,o.left=a,o.right=s,o._color=a._color,e._color=1,a._color=1,s._color=1,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),void(t[l-1]=o);if(o.left&&0===o.left._color)return s=(o=a.right=r(o)).left=r(o.left),a.right=s.left,o.left=s.right,s.left=a,s.right=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).left===a?u.left=s:u.right=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.right=n(0,o));a.right=n(0,o);continue}o=r(o),a.right=o.left,o.left=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),t[l-1]=o,t[l]=a,l+11&&((u=t[l-2]).right===a?u.right=o:u.left=o),void(t[l-1]=o);if(o.right&&0===o.right._color)return s=(o=a.left=r(o)).right=r(o.right),a.left=s.right,o.right=s.left,s.right=a,s.left=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).right===a?u.right=s:u.left=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.left=n(0,o));a.left=n(0,o);continue}var u;o=r(o),a.left=o.right,o.right=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).right===a?u.right=o:u.left=o),t[l-1]=o,t[l]=a,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(f,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(f,"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}),f.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(f,"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}}),f.update=function(t){var r=this._stack;if(0===r.length)throw new Error("Can't update empty node!");var n=new Array(r.length),i=r[r.length-1];n[n.length-1]=new e(i._color,i.key,t,i.left,i.right,i._count);for(var o=r.length-2;o>=0;--o)(i=r[o]).left===r[o+1]?n[o]=new e(i._color,i.key,i.value,n[o+1],i.right,i._count):n[o]=new e(i._color,i.key,i.value,i.left,n[o+1],i._count);return new a(this.tree._compare,n[0])},f.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(f,"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}})},7453:function(t,e,r){"use strict";t.exports=function(t,e){var r=new c(t);return r.update(e),r};var n=r(9557),i=r(1681),a=r(1011),o=r(2864),s=r(8468),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function u(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function c(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.tickAlign=["auto","auto","auto"],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.labelAlign=["auto","auto","auto"],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=a(t)}var f=c.prototype;function h(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}f.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,a=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),u=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]})),c=!1,f=!1;if("bounds"in t)for(var h=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)h[p][d]!==this.bounds[p][d]&&(f=!0),this.bounds[p][d]=h[p][d];if("ticks"in t)for(r=t.ticks,c=!0,this.autoTicks=!1,p=0;p<3;++p)this.tickSpacing[p]=0;else a("tickSpacing")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&("ticks"in t||"tickSpacing"in t||(this.autoTicks=!0),f=!0,c=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),c=!0),c){for(p=0;p<3;++p)r[p].sort((function(t,e){return t.x-e.x}));s.equal(r,this.ticks)?c=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(c=!0),a("tickSize"),a("tickAngle"),a("tickPad"),u("tickColor");var v=l("labels");l("labelFont")&&(v=!0),o("labelEnable"),a("labelSize"),a("labelPad"),u("labelColor"),o("lineEnable"),o("lineMirror"),a("lineWidth"),u("lineColor"),o("lineTickEnable"),o("lineTickMirror"),a("lineTickLength"),a("lineTickWidth"),u("lineTickColor"),o("gridEnable"),a("gridWidth"),u("gridColor"),o("zeroEnable"),u("zeroLineColor"),a("zeroLineWidth"),o("backgroundEnable"),u("backgroundColor"),this._text?this._text&&(v||c)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=n(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&c&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var p=[new h,new h,new h];function d(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 f=a,h=s,p=o,d=l;u&1<0?(p[c]=-1,d[c]=0):(p[c]=0,d[c]=1)}}var v=[0,0,0],g={model:l,view:l,projection:l,_ortho:!1};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var y=[0,0,0],m=[0,0,0],x=[0,0,0];f.draw=function(t){t=t||g;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=t._ortho||!1,c=o(r,n,i,a,s),f=c.cubeEdges,h=c.axis,b=n[12],_=n[13],w=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(i[3]*b+i[7]*_+i[11]*w+i[15]*T)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=f[A],this.lastCubeProps.axis[A]=h[A];var M=p;for(A=0;A<3;++A)d(p[A],A,this.bounds,f,h);e=this.gl;var S,E,L,C=v;for(A=0;A<3;++A)this.backgroundEnable[A]?C[A]=h[A]:C[A]=0;for(this._background.draw(r,n,i,a,C,this.backgroundColor),this._lines.bind(r,n,i,this),A=0;A<3;++A){var P=[0,0,0];h[A]>0?P[A]=a[1][A]:P[A]=a[0][A];for(var O=0;O<2;++O){var I=(A+1+O)%3,D=(A+1+(1^O))%3;this.gridEnable[I]&&this._lines.drawGrid(I,D,this.bounds,P,this.gridColor[I],this.gridWidth[I]*this.pixelRatio)}for(O=0;O<2;++O)I=(A+1+O)%3,D=(A+1+(1^O))%3,this.zeroEnable[D]&&Math.min(a[0][D],a[1][D])<=0&&Math.max(a[0][D],a[1][D])>=0&&this._lines.drawZero(I,D,this.bounds,P,this.zeroLineColor[D],this.zeroLineWidth[D]*this.pixelRatio)}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var z=u(y,M[A].primalMinor),R=u(m,M[A].mirrorMinor),F=this.lineTickLength;for(O=0;O<3;++O){var B=k/r[5*O];z[O]*=F[O]*B,R[O]*=F[O]*B}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,z,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,R,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}function N(t){(L=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,i=(t+2)%3,a=e[n],o=e[i],s=r[n],l=r[i];a>0&&l>0||a>0&&l<0||a<0&&l>0||a<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(i)}for(this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio),A=0;A<3;++A){var U=M[A].primalMinor,V=M[A].mirrorMinor,H=u(x,M[A].primalOffset);for(O=0;O<3;++O)this.lineTickEnable[A]&&(H[O]+=k*U[O]*Math.max(this.lineTickLength[O],0)/r[5*O]);var q=[0,0,0];if(q[A]=1,this.tickEnable[A]){for(-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,E=1,"auto"===(S=[this.tickAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),L=[0,0,0],j(A,U,V),O=0;O<3;++O)H[O]+=k*U[O]*this.tickPad[O]/r[5*O];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],H,this.tickColor[A],q,L,S)}if(this.labelEnable[A]){for(E=0,L=[0,0,0],this.labels[A].length>4&&(N(A),E=1),"auto"===(S=[this.labelAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),O=0;O<3;++O)H[O]+=k*U[O]*this.labelPad[O]/r[5*O];H[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],H,this.labelColor[A],[0,0,0],L,S)}}this._text.unbind()},f.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},1011:function(t,e,r){"use strict";t.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var u=(l+1)%3,c=(l+2)%3,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[u]=d;for(var v=-1;v<=1;v+=2)f[c]=v,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var g=u;u=c,c=g}var y=n(t,new Float32Array(e)),m=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:y,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:y,type:t.FLOAT,size:3,offset:12,stride:24}],m),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,y,x,b)};var n=r(5827),i=r(2944),a=r(1943).bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.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)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},2864:function(t,e,r){"use strict";t.exports=function(t,e,r,a,p){i(s,e,t),i(s,r,s);for(var m=0,x=0;x<2;++x){c[2]=a[x][2];for(var b=0;b<2;++b){c[1]=a[b][1];for(var _=0;_<2;++_)c[0]=a[_][0],h(l[m],c,s),m+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)u[x][k]=l[x][k]/T;p&&(u[x][2]*=-1),T<0&&(w<0||u[x][2]E&&(w|=1<E&&(w|=1<u[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x)(N=R^1<u[B][0]&&(B=N))}var j=v;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var U=7^B;U===w||U===z?(U=7^F,j[n.log2(B^U)]=U&B):j[n.log2(F^U)]=U&F;var V=g,H=w;for(A=0;A<3;++A)V[A]=H&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);e.f=function(t){return i(t,s,l,null,[{name:"position",type:"vec3"}])};var u=n(["precision highp float;\n#define GLSLIFY 1\n\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\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 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\n colorChannel = abs(realNormal);\n}"]),c=n(["precision highp 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}"]);e.bg=function(t){return i(t,u,c,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},9557:function(t,e,r){"use strict";t.exports=function(t,e,r,i,o,l){var u=n(t),f=a(t,[{buffer:u,size:3}]),h=s(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,i,o,l),p};var n=r(5827),a=r(2944),o=r(875),s=r(1943).f,l=window||i.global||{},u=l.__TEXT_CACHE||{};function c(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}l.__TEXT_CACHE={};var f=c.prototype,h=[0,0];f.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,h[0]=this.gl.drawingBufferWidth,h[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=h},f.unbind=function(){this.vao.unbind()},f.update=function(t,e,r,n,i){var a=[];function s(t,e,r,n,i,s){var l=u[r];l||(l=u[r]={});var c=l[e];c||(c=l[e]=function(t,e){try{return o(t,e)}catch(e){return console.warn('error vectorizing text:"'+t+'" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:"center",textBaseline:"middle",lineSpacing:i,styletags:s}));for(var f=(n||12)/12,h=c.positions,p=c.cells,d=0,v=p.length;d=0;--y){var m=h[g[y]];a.push(f*m[0],-f*m[1],t)}}for(var l=[0,0,0],c=[0,0,0],f=[0,0,0],h=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){f[d]=a.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),h[d]=(a.length/3|0)-f[d],l[d]=a.length/3|0;for(var v=0;v=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 f=""+u;f.length=t[0][i];--o)a.push({x:o*e[i],text:r(e[i],o)});n.push(a)}return n},e.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;nr)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,a,i),r}function c(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a=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=u(this.gl,this.type,this.length,this.usage,t.data,e):this.length=u(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=u(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?c(t,"uint16"):c(t,"float32"),this.length=u(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if("object"==typeof t&&"number"==typeof t.length)this.length=u(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}},t.exports=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=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},1140:function(t,e,r){"use strict";var n=r(2858);t.exports=function(t,e){var r=t.positions,i=t.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,u=1/0,c=-1/0,f=1/0,h=-1/0,p=null,d=null,v=[],g=1/0,y=!1,m=0;mo&&(o=n.length(b)),m){var _=2*n.distance(p,x)/(n.length(d)+n.length(b));_?(g=Math.min(g,_),y=!1):y=!0}y||(p=x,d=b),v.push(b)}var w=[s,u,f],T=[l,c,h];e&&(e[0]=w,e[1]=T),0===o&&(o=1);var k=1/o;isFinite(g)||(g=1),a.vectorScale=g;var A=t.coneSize||.5;t.absoluteConeSize&&(A=t.absoluteConeSize*k),a.coneScale=A,m=0;for(var M=0;m=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"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),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),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=c({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 u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],f=[];this.cells=r,this.positions=n,this.vectors=i;var h=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,v=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],v=+t.vertexIntensityBounds[1];else for(var g=0;g0){var v=this.triShader;v.bind(),v.uniforms=u,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||f,n=t.view||f,i=t.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?i.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=e),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},t.exports=function(t,e,r){var n=r.shaders;1===arguments.length&&(t=(e=t).gl);var s=d(t,n),l=v(t,n),c=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));c.generateMipmap(),c.minFilter=t.LINEAR_MIPMAP_LINEAR,c.magFilter=t.LINEAR;var f=i(t),p=i(t),g=i(t),y=i(t),m=i(t),x=a(t,[{buffer:f,type:t.FLOAT,size:4},{buffer:m,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:y,type:t.FLOAT,size:2},{buffer:p,type:t.FLOAT,size:4}]),b=new h(t,c,s,l,f,p,m,g,y,x,r.traceType||"cone");return b.update(e),b}},7234:function(t,e,r){var n=r(6832),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp 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\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\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 = min(1.0, max(0.0, 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}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * view * conePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},1950:function(t){t.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34e3:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},6603:function(t,e,r){var n=r(1950);t.exports=function(t){return n[t]}},3110:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=n(e),o=i(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}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var u=new s(e,r,o,l);return u.update(t),u};var n=r(5827),i=r(2944),a=r(7667),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(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,this.hasAlpha=!1}var l=s.prototype;function u(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])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],u=n[15],c=(t._ortho?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*u)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]*this.pixelRatio),r.capSize=this.capSize[f]*c,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var c=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 f(t,e,r,n){for(var i=c[n],a=0;a0&&((p=c.slice())[s]+=d[1][s],i.push(c[0],c[1],c[2],v[0],v[1],v[2],v[3],0,0,0,p[0],p[1],p[2],v[0],v[1],v[2],v[3],0,0,0),u(this.bounds,p),o+=2+f(i,p,v,s)))}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},7667:function(t,e,r){"use strict";var n=r(6832),i=r(5158),a=n(["precision highp 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}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},4234:function(t,e,r){"use strict";var n=r(8931);t.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var u=t.getExtension("WEBGL_draw_buffers");if(!l&&u&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;ac||r<0||r>c)throw new Error("gl-fbo: Parameters are too large for FBO");var f=1;if("color"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(f>1){if(!u)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(f>t.getParameter(u.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+f+" draw buffers")}}var h=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&f>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=t.FLOAT);var v=!0;"depth"in n&&(v=!!n.depth);var g=!1;return"stencil"in n&&(g=!!n.stencil),new d(t,e,r,h,f,v,g,u)};var i,a,o,s,l=null;function u(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function c(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(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 d(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 d=0;d1&&s.drawBuffersWEBGL(l[o]);var m=r.getExtension("WEBGL_depth_texture");m?d?t.depth=h(r,i,a,m.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):v&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==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),y=0;yi||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=u(n),o=0;o>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var v=i.attributes;return this.positionBuffer.bind(),v.position.pointer(),this.weightBuffer.bind(),v.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),v.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(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]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]),l=!1!==t.zsmooth;this.xData=r,this.yData=o;var u,c,f,p,d=t.colorLevels||[0],v=t.colorValues||[0,0,0,1],g=d.length,y=this.bounds;l?(u=y[0]=r[0],c=y[1]=o[0],f=y[2]=r[r.length-1],p=y[3]=o[o.length-1]):(u=y[0]=r[0]+(r[1]-r[0])/2,c=y[1]=o[0]+(o[1]-o[0])/2,f=y[2]=r[r.length-1]+(r[r.length-1]-r[r.length-2])/2,p=y[3]=o[o.length-1]+(o[o.length-1]-o[o.length-2])/2);var m=1/(f-u),x=1/(p-c),b=e[0],_=e[1];this.shape=[b,_];var w=(l?(b-1)*(_-1):b*_)*(h.length>>>1);this.numVertices=w;for(var T=a.mallocUint8(4*w),k=a.mallocFloat32(2*w),A=a.mallocUint8(2*w),M=a.mallocUint32(w),S=0,E=l?b-1:b,L=l?_-1:_,C=0;C max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\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"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n 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 vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n 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 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\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];e.createShader=function(t){return i(t,a,o,null,l)},e.createPickShader=function(t){return i(t,a,s,null,l)}},6086:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=f(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 o=h(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),c=u(new Array(1024),[256,1,4]),p=0;p<1024;++p)c.data[p]=255;var d=a(e,c);d.wrap=e.REPEAT;var v=new y(e,r,o,s,l,d);return v.update(t),v};var n=r(5827),i=r(2944),a=r(8931),o=new Uint8Array(4),s=new Float32Array(o.buffer),l=r(5070),u=r(5050),c=r(248),f=c.createShader,h=c.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(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 v(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 g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function y(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.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var m=y.prototype;m.isTransparent=function(){return this.hasAlpha},m.isOpaque=function(){return!this.hasAlpha},m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.drawTransparent=m.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,clipBounds:v(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()}},m.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,pickId:this.pickId,clipBounds:v(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,c=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],h=t.position||t.positions;if(h){var p=t.color||t.colors||[0,0,0,1],v=t.lineWidth||1,g=!1;t:for(e=1;e0){for(var w=0;w<24;++w)i.push(i[i.length-12]);c+=2,g=!0}continue t}f[0][r]=Math.min(f[0][r],b[r],_[r]),f[1][r]=Math.max(f[1][r],b[r],_[r])}Array.isArray(p[0])?(y=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],m=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):y=m=p,3===y.length&&(y=[y[0],y[1],y[2],1]),3===m.length&&(m=[m[0],m[1],m[2],1]),!this.hasAlpha&&y[3]<1&&(this.hasAlpha=!0),x=Array.isArray(v)?v.length>e-1?v[e-1]:v.length>0?v[v.length-1]:[0,0,0,1]:v;var T=s;if(s+=d(b,_),g){for(r=0;r<2;++r)i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3]);c+=2,g=!1}i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3],b[0],b[1],b[2],_[0],_[1],_[2],T,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],s,-x,m[0],m[1],m[2],m[3],_[0],_[1],_[2],b[0],b[1],b[2],s,x,m[0],m[1],m[2],m[3]),c+=4}}if(this.buffer.update(i),a.push(s),o.push(h[h.length-1].slice()),this.bounds=f,this.vertexCount=c,this.points=o,this.arcLength=a,"dashes"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e1.0001)return null;y+=g[f]}return Math.abs(y-1)>.001?null:[h,s(t,g),g]}},2056:function(t,e,r){var n=r(6832),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\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\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp 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\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\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 (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\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 = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * 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 * f_color.a;\n}\n"]),o=n(["precision highp 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}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,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}"]),u=n(["precision highp 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}"]),c=n(["precision highp 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}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 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}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.pointShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},e.pickShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},e.pointPickShader={vertex:h,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},e.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},8116:function(t,e,r){"use strict";var n=r(5158),i=r(5827),a=r(2944),o=r(8931),s=r(115),l=r(104),u=r(7437),c=r(5050),f=r(9156),h=r(7212),p=r(5306),d=r(2056),v=r(4340),g=d.meshShader,y=d.wireShader,m=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,T,k,A,M,S){this.gl=t,this.pixelRatio=1,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=h,this.triangleUVs=f,this.triangleIds=u,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=y,this.edgeIds=v,this.edgeVAO=m,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=T,this.pointSizes=k,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!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.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,g.vertex,g.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}function S(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}function E(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function L(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function C(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function P(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()),this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,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*this.pixelRatio),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())},k.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;ai[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t],r.uniforms.angle=y[t],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t]&&T&&(c[1^t]-=M*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,T)),c[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(c[1^t]+=M*p*v[t+2],ki[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t+2],r.uniforms.angle=y[t+2],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t+2]&&T&&(c[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,T))}),v.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)}}}(),v.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,u=.5*(n[o+2]+n[o]),c=n[o+2]-n[o],f=a[o],v=a[o+2]-f,g=i[o],y=i[o+2]-g;p[o]=2*l/c*v/y,h[o]=2*(s-u)/c*v/y}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),v.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,u=t.bounds;for(o=0;o<2;++o){var c=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e=0){var v=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(v,e[1],v,e[3],p[d],h[d]):o.drawLine(e[0],v,e[2],v,p[d],h[d])}}for(d=0;d=0;--t)this.objects[t].dispose();for(this.objects.length=0,t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},u.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},u.removeObject=function(t){for(var e=this.objects,r=0;rMath.abs(e))u.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*e/window.innerHeight*(a-u.lastT())/20;u.pan(a,0,0,f*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=r(8161),i=r(1152),a=r(6145),o=r(6475),s=r(2565),l=r(5233)},8245:function(t,e,r){var n=r(6832),i=r(5158),a=n(["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}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec2"}])}},1059:function(t,e,r){"use strict";var n=r(4296),i=r(7453),a=r(2771),o=r(6496),s=r(2611),l=r(4234),u=r(8126),c=r(6145),f=r(1120),h=r(5268),p=r(8245),d=r(2321)({tablet:!0,featureDetect:!0});function v(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(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}return e>0?(r=Math.round(Math.pow(10,e)),Math.ceil(t/r)*r):Math.ceil(t)}function y(t){return"boolean"!=typeof t||t}t.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;e||(e=document.createElement("canvas"),t.container?t.container.appendChild(e):document.body.appendChild(e));var r=t.gl;if(r||(t.glOptions&&(d=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d})),!r)throw new Error("webgl not supported");var m=t.bounds||[[-10,-10,-10],[10,10,10]],x=new v,b=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),_=p(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&"orthographic"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||"turntable",_ortho:w},k=t.axes||{},A=i(r,k);A.enable=!k.disable;var M=t.spikes||{},S=o(r,M),E=[],L=[],C=[],P=[],O=!0,I=!0,D={view:null,projection:new Array(16),model:new Array(16),_ortho:!1},z=(I=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),R=t.cameraObject||n(e,T),F={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:R,axes:A,axesPixels:null,spikes:S,bounds:m,objects:E,shape:z,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:y(t.autoResize),autoBounds:y(t.autoBounds),autoScale:!!t.autoScale,autoCenter:y(t.autoCenter),clipToBounds:y(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:D,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,I=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},B=[r.drawingBufferWidth/F.pixelRatio|0,r.drawingBufferHeight/F.pixelRatio|0];function N(){if(!F._stopped&&F.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*F.pixelRatio),a=0|Math.ceil(n*F.pixelRatio);if(i!==e.width||a!==e.height){e.width=i,e.height=a;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",O=!0}}}function j(){for(var t=E.length,e=P.length,n=0;n0&&0===C[e-1];)C.pop(),P.pop().dispose()}function U(){if(F.contextLost)return!0;r.isContextLost()&&(F.contextLost=!0,F.mouseListener.enabled=!1,F.selection.object=null,F.oncontextloss&&F.oncontextloss())}F.autoResize&&N(),window.addEventListener("resize",N),F.update=function(t){F._stopped||(t=t||{},O=!0,I=!0)},F.add=function(t){F._stopped||(t.axes=A,E.push(t),L.push(-1),O=!0,I=!0,j())},F.remove=function(t){if(!F._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),L.pop(),O=!0,I=!0,j())}},F.dispose=function(){if(!F._stopped&&(F._stopped=!0,window.removeEventListener("resize",N),e.removeEventListener("webglcontextlost",U),F.mouseListener.enabled=!1,!F.contextLost)){A.dispose(),S.dispose();for(var t=0;tx.distance)continue;for(var u=0;u 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"]),e.pickVertex=n(["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"]),e.pickFragment=n(["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"])},8271:function(t,e,r){"use strict";var n=r(5158),i=r(5827),a=r(5306),o=r(8023);function s(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}t.exports=function(t,e){var r=t.gl,a=new s(t,i(r),i(r),n(r,o.pointVertex,o.pointFragment),n(r,o.pickVertex,o.pickFragment));return a.update(e),t.addObject(a),a};var l,u,c=s.prototype;c.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},c.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,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),u=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e>>1;for(r=0;r=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),c=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=c<5,r.uniforms.pointSize=c,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(u[0]=255&t,u[1]=t>>8&255,u[2]=t>>16&255,u[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=u,this.pickOffset=t);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),t+this.pointCount}),c.draw=c.unifiedDraw,c.drawPick=c.unifiedDraw,c.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},6093:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],f=e[2],h=e[3],p=r[0],d=r[1],v=r[2],g=r[3];return(a=u*p+c*d+f*v+h*g)<0&&(a=-a,p=-p,d=-d,v=-v,g=-g),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*u+l*p,t[1]=s*c+l*d,t[2]=s*f+l*v,t[3]=s*h+l*g,t}},8240:function(t){"use strict";t.exports=function(t){return t||0===t?t.toString():""}},4123:function(t,e,r){"use strict";var n=r(875);t.exports=function(t,e,r){var a=i[e];if(a||(a=i[e]={}),t in a)return a[t];var o={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},s=n(t,o);o.triangles=!1;var l,u,c=n(t,o);if(r&&1!==r){for(l=0;l max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * view * model * vec4(position, 1);\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n"]),u=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),c=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],f={vertex:a,fragment:l,attributes:c},h={vertex:o,fragment:l,attributes:c},p={vertex:s,fragment:l,attributes:c},d={vertex:a,fragment:u,attributes:c},v={vertex:o,fragment:u,attributes:c},g={vertex:s,fragment:u,attributes:c};function y(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}e.createPerspective=function(t){return y(t,f)},e.createOrtho=function(t){return y(t,h)},e.createProject=function(t){return y(t,p)},e.createPickPerspective=function(t){return y(t,d)},e.createPickOrtho=function(t){return y(t,v)},e.createPickProject=function(t){return y(t,g)}},2182:function(t,e,r){"use strict";var n=r(3596),i=r(5827),a=r(2944),o=r(5306),s=r(104),l=r(9282),u=r(4123),c=r(8240),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function h(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 p(t,e,r,n){return h(n,n),h(n,n),h(n,n)}function d(t,e){this.index=t,this.dataCoordinate=this.position=e}function v(t){return!0===t||t>1?1:t}function g(t,e,r,n,i,a,o,s,l,u,c,f){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.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=u,this.pickOrthoShader=c,this.pickProjectShader=f,this.points=[],this._selectResult=new d(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}t.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),u=l.createPickOrtho(e),c=l.createPickProject(e),f=i(e),h=i(e),p=i(e),d=i(e),v=new g(e,r,n,o,f,h,p,d,a(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:h,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),s,u,c);return v.update(t),v};var y=g.prototype;y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},y.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var m=[0,0],x=[0,0,0],b=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],T=f.slice(),k=[0,0,0],A=[[0,0,0],[0,0,0]];function M(t){return t[0]=t[1]=t[2]=0,t}function S(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function E(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}var L=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function C(t,e,r,n,i,a,o){var l=r.gl;if((a===r.projectHasAlpha||o)&&function(t,e,r,n){var i,a=e.axesProject,o=e.gl,l=t.uniforms,u=r.model||f,c=r.view||f,h=r.projection||f,d=e.axesBounds,v=function(t){for(var e=A,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);i=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],m[0]=2/o.drawingBufferWidth,m[1]=2/o.drawingBufferHeight,t.bind(),l.view=c,l.projection=h,l.screenSize=m,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=v,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var g=0;g<3;++g)if(a[g]){l.scale=e.projectScale[g],l.opacity=e.projectOpacity[g];for(var y=T,L=0;L<16;++L)y[L]=0;for(L=0;L<4;++L)y[5*L]=1;y[5*g]=0,i[g]<0?y[12+g]=d[0][g]:y[12+g]=d[1][g],s(y,u,y),l.model=y;var C=(g+1)%3,P=(g+2)%3,O=M(x),I=M(b);O[C]=1,I[P]=1;var D=p(0,0,0,S(_,O)),z=p(0,0,0,S(w,I));if(Math.abs(D[1])>Math.abs(z[1])){var R=D;D=z,z=R,R=O,O=I,I=R;var F=C;C=P,P=F}D[0]<0&&(O[C]=-1),z[1]>0&&(I[P]=-1);var B=0,N=0;for(L=0;L<4;++L)B+=Math.pow(u[4*C+L],2),N+=Math.pow(u[4*P+L],2);O[C]/=Math.sqrt(B),I[P]/=Math.sqrt(N),l.axes[0]=O,l.axes[1]=I,l.fragClipBounds[0]=E(k,v[0],g,-1e8),l.fragClipBounds[1]=E(k,v[1],g,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}(e,r,n,i),a===r.hasAlpha||o){t.bind();var u=t.uniforms;u.model=n.model||f,u.view=n.view||f,u.projection=n.projection||f,m[0]=2/l.drawingBufferWidth,m[1]=2/l.drawingBufferHeight,u.screenSize=m,u.highlightId=r.highlightId,u.highlightScale=r.highlightScale,u.fragClipBounds=L,u.clipBounds=r.axes.bounds,u.opacity=r.opacity,u.pickGroup=r.pickId/255,u.pixelRatio=i,r.vao.bind(),r.vao.draw(l.TRIANGLES,r.vertexCount),r.lineWidth>0&&(l.lineWidth(r.lineWidth*i),r.vao.draw(l.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function P(t,e,r,i){var a;a=Array.isArray(t)?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},y.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]},y.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(this.projectHasAlpha=!1,"projectOpacity"in t){Array.isArray(t.projectOpacity)?this.projectOpacity=t.projectOpacity.slice():(r=+t.projectOpacity,this.projectOpacity=[r,r,r]);for(var n=0;n<3;++n)this.projectOpacity[n]=v(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=v(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=t.position,l=t.font||"normal",u=t.alignment||[0,0];if(2===u.length)i=u[0],a=u[1];else for(i=[],a=[],n=0;n0){var I=0,D=x,z=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(y)&&Array.isArray(y[0]);t:for(n=0;n<_;++n){for(m+=1,w=s[n],T=0;T<3;++T){if(isNaN(w[T])||!isFinite(w[T]))continue t;f[T]=Math.max(f[T],w[T]),c[T]=Math.min(c[T],w[T])}k=(N=P(h,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;var N,j=N.visible;if(j)if(Array.isArray(p)){if(3===(U=F?n0?1-M[0][0]:Z<0?1+M[1][0]:1,Y*=Y>0?1-M[0][1]:Y<0?1+M[1][1]:1],X=k.cells||[],J=k.positions||[];for(T=0;T0){var y=r*c;o.drawBox(f-y,h-y,p+y,h+y,a),o.drawBox(f-y,d-y,p+y,d+y,a),o.drawBox(f-y,h-y,f+y,d+y,a),o.drawBox(p-y,h-y,p+y,d+y,a)}}}},s.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()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},2611:function(t,e,r){"use strict";t.exports=function(t,e){var r=e[0],a=e[1];return new l(t,n(t,r,a,{}),i.mallocUint8(r*a*4))};var n=r(4234),i=r(5306),a=r(5050),o=r(2288).nextPow2;function s(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function l(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 u=l.prototype;Object.defineProperty(u,"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){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;ar)for(t=r;te)for(t=e;t=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A=0;)M+=1;_[m]=M}var S=new Array(r.length);function E(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t=0){if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);s(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+f+": "+h);var d;if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);l(t,e,p,i,d,a,f)}}}return a};var n=r(9068);function i(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 a=i.prototype;a.pointer=function(t,e,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(o)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,"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 o=[function(t,e,r){return void 0===r.length?t.vertexAttrib1f(e,r):t.vertexAttrib1fv(e,r)},function(t,e,r,n){return void 0===r.length?t.vertexAttrib2f(e,r,n):t.vertexAttrib2fv(e,r)},function(t,e,r,n,i){return void 0===r.length?t.vertexAttrib3f(e,r,n,i):t.vertexAttrib3fv(e,r)},function(t,e,r,n,i,a){return void 0===r.length?t.vertexAttrib4f(e,r,n,i,a):t.vertexAttrib4fv(e,r)}];function s(t,e,r,n,a,s,l){var u=o[a],c=new i(t,e,r,n,a,u);Object.defineProperty(s,l,{set:function(e){return t.disableVertexAttribArray(n[r]),u(t,n[r],e),e},get:function(){return c},enumerable:!0})}function l(t,e,r,n,i,a,o){for(var l=new Array(i),u=new Array(i),c=0;c4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+m);t["uniformMatrix"+y+"fv"](s[f],!1,h);break}throw new i("","Unknown uniform data type for "+name+": "+m)}if((y=m.charCodeAt(m.length-1)-48)<2||y>4)throw new i("","Invalid data type");switch(m.charAt(0)){case"b":case"i":t["uniform"+y+"iv"](s[f],h);break;case"v":t["uniform"+y+"fv"](s[f],h);break;default:throw new i("","Unrecognized data type for vector "+name+": "+m)}}}}}}function u(t,e){if("object"!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;parseInt(n)+""===n?a+="["+n+"]":a+="."+n,"object"==typeof i?r.push.apply(r,u(a,i)):r.push([a,i])}return r}function c(t,e,n){if("object"==typeof n){var u=f(n);Object.defineProperty(t,e,{get:a(u),set:l(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(t,e,{get:(c=n,function(t,e,r){return t.getUniform(e.program,r[c])}),set:l(n),enumerable:!0,configurable:!1}):t[e]=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){if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+t)}}(r[n].type);var c}function f(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l1)for(var l=0;l 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp 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\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\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 = min(1.0, max(0.0, 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}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * view * tubePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7307:function(t,e,r){"use strict";var n=r(2858),i=r(4020),a=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e){var r,n=t.length;for(r=0;re)return r-1}return r},s=function(t,e,r){return tr?r:t},l=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;nf-1||m>h-1||x>p-1)return n.create();var b,_,w,T,k,A,M=a[0][d],S=a[0][y],E=a[1][v],L=a[1][m],C=a[2][g],P=(l-M)/(S-M),O=(u-E)/(L-E),I=(c-C)/(a[2][x]-C);switch(isFinite(P)||(P=.5),isFinite(O)||(O=.5),isFinite(I)||(I=.5),r.reversedX&&(d=f-1-d,y=f-1-y),r.reversedY&&(v=h-1-v,m=h-1-m),r.reversedZ&&(g=p-1-g,x=p-1-x),r.filled){case 5:k=g,A=x,w=v*p,T=m*p,b=d*p*h,_=y*p*h;break;case 4:k=g,A=x,b=d*p,_=y*p,w=v*p*f,T=m*p*f;break;case 3:w=v,T=m,k=g*h,A=x*h,b=d*h*p,_=y*h*p;break;case 2:w=v,T=m,b=d*h,_=y*h,k=g*h*f,A=x*h*f;break;case 1:b=d,_=y,k=g*f,A=x*f,w=v*f*p,T=m*f*p;break;default:b=d,_=y,w=v*f,T=m*f,k=g*f*h,A=x*f*h}var D=i[b+w+k],z=i[b+w+A],R=i[b+T+k],F=i[b+T+A],B=i[_+w+k],N=i[_+w+A],j=i[_+T+k],U=i[_+T+A],V=n.create(),H=n.create(),q=n.create(),G=n.create();n.lerp(V,D,B,P),n.lerp(H,z,N,P),n.lerp(q,R,j,P),n.lerp(G,F,U,P);var Z=n.create(),Y=n.create();n.lerp(Z,V,q,O),n.lerp(Y,H,G,O);var W=n.create();return n.lerp(W,Z,Y,I),W}(e,t,p)},v=t.getDivergence||function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=d(r);n.subtract(a,a,e),n.scale(a,a,1/i),n.add(r,t,[0,i,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1/i),n.add(r,t,[0,0,i]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},g=[],y=e[0][0],m=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],T=function(t){var e=t[0],r=t[1],n=t[2];return!(eb||r_||nw)},k=10*n.distance(e[0],e[1])/u,A=k*k,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=t.length,u=0;uS&&(S=F),z.push(F),g.push({points:P,velocities:O,divergences:z});for(var B=0;B<100*u&&P.lengthA&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,C),I=d(N),n.squaredDistance(D,N)-A>-1e-4*A&&(P.push(N),D=N,O.push(I),R=v(N,I),F=n.length(R),isFinite(F)&&F>S&&(S=F),z.push(F)),C=N}}var U=function(t,e,r,a){for(var o=0,s=0;s0)for(T=0;T<8;T++){var k=(T+1)%8;u.push(h[T],p[T],p[k],p[k],h[k],h[T]),f.push(m,y,y,y,m,m),d.push(v,g,g,g,v,v);var A=u.length;c.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=h;h=p,p=M;var S=m;m=y,y=S;var E=v;v=g,g=E}return{positions:u,cells:c,vectors:f,vertexIntensity:d}}(t,r,a,o)})),f=[],h=[],p=[],d=[];for(s=0;s max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\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 (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\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 — in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n 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"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\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 worldCoordinate = objectOffset + dataCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n\n vec4 clipPosition = projection * view * worldPosition;\n clipPosition.z += zOffset;\n\n gl_Position = clipPosition;\n value = f + objectOffset.z;\n kill = -1.0;\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"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) 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"]);e.createShader=function(t){var e=n(t,a,o,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},e.createPickShader=function(t){var e=n(t,a,l,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},e.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},e.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},3754:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=m(e),n=b(e),s=x(e),l=_(e),u=i(e),c=a(e,[{buffer:u,size:4,stride:40,offset:0},{buffer:u,size:3,stride:40,offset:16},{buffer:u,size:3,stride:40,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),v=o(e,1,256,e.RGBA,e.UNSIGNED_BYTE);v.minFilter=e.LINEAR,v.magFilter=e.LINEAR;var g=new M(e,[0,0],[[0,0,0],[0,0,0]],r,n,u,c,v,s,l,f,h,p,d,[0,0,0]),y={levels:[[],[],[]]};for(var w in t)y[w]=t[w];return y.colormap=y.colormap||"jet",g.update(y),g};var n=r(2288),i=r(5827),a=r(2944),o=r(8931),s=r(5306),l=r(9156),u=r(7498),c=r(7382),f=r(5050),h=r(4162),p=r(104),d=r(7437),v=r(5070),g=r(9144),y=r(9054),m=y.createShader,x=y.createContourShader,b=y.createPickShader,_=y.createPickContourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],k=[[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 A(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}function M(t,e,r,n,i,a,o,l,u,c,h,p,d,v,g){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=u,this._contourPickShader=c,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new A([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=v,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=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.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.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}!function(){for(var t=0;t<3;++t){var e=k[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=M.prototype;S.genColormap=function(t,e){var r=!1,n=c([l({colormap:t,nshades:256,format:"rgba"}).map((function(t,n){var i=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(n/255,e):t[3];return i<1&&(r=!0),[t[0],t[1],t[2],255*i]}))]);return u.divseq(n,255),this.hasAlphaScale=r,n},S.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},S.isOpaque=function(){return!this.isTransparent()},S.pickSlots=1,S.setPickBase=function(t){this.pickId=t};var E=[0,0,0],L={showSurface:!1,showContour:!1,projections:[w.slice(),w.slice(),w.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function C(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||E,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=L.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],p(l,t.model,l);var u=L.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 L.showSurface=o,L.showContour=s,L}var P={model:w,view:w,projection:w,inverseModel:w.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,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},O=w.slice(),I=[1,0,0,0,1,0,0,0,1];function D(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=P;n.model=t.model||w,n.view=t.view||w,n.projection=t.projection||w,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.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(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=I,n.vertexColor=this.vertexColor;var s=O;for(p(s,n.view,n.model),p(s,n.projection,s),d(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=C(n,this);if(c.showSurface){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){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=k[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o>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 f=c?a:1-a,h=0;h<2;++h)for(var p=i+c,d=s+h,g=f*(h?l:1-l),y=0;y<3;++y)u[y]+=this._field[y].get(p,d)*g;for(var m=this._pickResult.level,x=0;x<3;++x)if(m[x]=v.le(this.contourLevels[x],u[x]),m[x]<0)this.contourLevels[x].length>0&&(m[x]=0);else if(m[x]Math.abs(_-u[x])&&(m[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],y=0;y<3;++y)r.dataCoordinate[y]=this._field[y].get(r.index[0],r.index[1]);return r},S.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();u.assign(t.lo(1,1).hi(r[0],r[1]),e),u.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),u.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),u.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),u.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))},S.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=R(t.contourWidth,Number)),"showContour"in t&&(this.showContour=R(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=R(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=B(t.contourColor)),"contourProject"in t&&(this.contourProject=R(t.contourProject,(function(t){return R(t,Boolean)}))),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=B(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=R(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=R(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"opacityscale"in t&&(this.opacityscale=t.opacityscale),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0),"colormap"in t&&this._colorMap.setPixels(this.genColormap(t.colormap,this.opacityscale));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 i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var u=l[o];for(y=0;y<2;++y)if(u.shape[y]!==a[y])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],u)}}else if(t.ticks){var c=t.ticks;if(!Array.isArray(c)||2!==c.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var p=c[o];if((Array.isArray(p)||p.length)&&(p=f(p)),p.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var d=f(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var v=[0,0];v[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],v,0)}this._field[0].set(0,0,0);for(var y=0;y0){for(var xt=0;xt<5;++xt)$.pop();U-=1}continue t}$.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[Q]=et,this._contourCounts[Q]=rt}var bt=s.mallocFloat($.length);for(o=0;o<$.length;++o)bt[o]=$[o];this._contourBuffer.update(bt),s.freeFloat(bt)}},S.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)s.freeFloat(this._field[t].data)},S.highlight=function(t){var e,r;if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;for(r=this.snapToData?t.dataCoordinate:t.position,e=0;e<3;++e)r[e]-=this.objectOffset[e];if(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=s.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,u=(o+2)%3,c=this._field[o],f=this._field[l],p=this._field[u],d=h(c,r[o]),v=d.cells,g=d.positions;for(this._dynamicOffsets[o]=n,e=0;ei||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 p(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 d=p.prototype;function v(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 g(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 y(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=g(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new p(t,o,e,r,n,i)}function m(t,e,r,n,i,a){var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new p(t,o,r,n,i,a)}function x(t,e){var r=e.dtype,o=e.shape.slice(),s=t.getParameter(t.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=v(o,e.stride.slice()),u=0;"float32"===r?u=t.FLOAT:"float64"===r?(u=t.FLOAT,l=!1,r="float32"):"uint8"===r?u=t.UNSIGNED_BYTE:(u=t.UNSIGNED_BYTE,l=!1,r="uint8");var c,h,d=0;if(2===o.length)d=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])d=t.ALPHA;else if(2===o[2])d=t.LUMINANCE_ALPHA;else if(3===o[2])d=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");d=t.RGBA}}u!==t.FLOAT||t.getExtension("OES_texture_float")||(u=t.UNSIGNED_BYTE,l=!1);var y=e.size;if(l)c=0===e.offset&&e.data.length===y?e.data:e.data.subarray(e.offset,e.offset+y);else{var m=[o[2],o[2]*o[0],1];h=a.malloc(y,r);var x=n(h,o,m,0);"float32"!==r&&"float64"!==r||u!==t.UNSIGNED_BYTE?i.assign(x,e):f(x,e),c=h.subarray(0,y)}var b=g(t);return t.texImage2D(t.TEXTURE_2D,0,d,o[0],o[1],0,d,u,c),l||a.free(h),new p(t,b,o[0],o[1],d,u)}Object.defineProperties(d,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.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&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.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(),l.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(),l.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(l.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 h(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return h(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t}}}),d.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},d.dispose=function(){this.gl.deleteTexture(this.handle)},d.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)},d.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=c(t)?t:t.raw;if(l)this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l);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]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,u,c){var h=c.dtype,p=c.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var d=0,g=0,y=v(p,c.stride.slice());if("float32"===h?d=t.FLOAT:"float64"===h?(d=t.FLOAT,y=!1,h="float32"):"uint8"===h?d=t.UNSIGNED_BYTE:(d=t.UNSIGNED_BYTE,y=!1,h="uint8"),2===p.length)g=t.LUMINANCE,p=[p[0],p[1],1],c=n(c.data,p,[c.stride[0],c.stride[1],1],c.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])g=t.ALPHA;else if(2===p[2])g=t.LUMINANCE_ALPHA;else if(3===p[2])g=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=t.RGBA}p[2]}if(g!==t.LUMINANCE&&g!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(g=s),g!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var m=c.size,x=u.indexOf(o)<0;if(x&&u.push(o),d===l&&y)0===c.offset&&c.data.length===m?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,c.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,c.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,c.data.subarray(c.offset,c.offset+m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,c.data.subarray(c.offset,c.offset+m));else{var b;b=l===t.FLOAT?a.mallocFloat32(m):a.mallocUint8(m);var _=n(b,p,[p[2],p[2]*p[0],1]);d===t.FLOAT&&l===t.UNSIGNED_BYTE?f(_,c):i.assign(_,c),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,m)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},3056:function(t){"use strict";t.exports=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;i1?0:Math.acos(s)};var n=r(5415),i=r(899),a=r(9305)},8827:function(t){t.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},7622:function(t){t.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},8782:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},8501:function(t){t.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},903:function(t){t.exports=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}},5981:function(t,e,r){t.exports=r(8288)},8288:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},8629:function(t,e,r){t.exports=r(7979)},7979:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},9305:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},154:function(t){t.exports=1e-6},4932:function(t,e,r){t.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=r(154)},5777:function(t){t.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},3306:function(t){t.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},7447:function(t,e,r){t.exports=function(t,e,r,i,a,o){var s,l;for(e||(e=3),r||(r=0),l=i?Math.min(i*e+r,t.length):t.length,s=r;s0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}},6660:function(t){t.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},392:function(t){t.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=e[0],t[1]=i+o*u-s*l,t[2]=a+o*l+s*u,t}},3222:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+s*l+o*u,t[1]=e[1],t[2]=a+s*u-o*l,t}},3388:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+o*u-s*l,t[1]=a+o*l+s*u,t[2]=e[2],t}},1624:function(t){t.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},5685:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},6722:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},831:function(t){t.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},5294:function(t,e,r){t.exports=r(6403)},3303:function(t,e,r){t.exports=r(4337)},6403:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},4337:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},8921:function(t,e,r){t.exports=r(911)},911:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},9908:function(t){t.exports=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}},3255:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},6568:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t}},3433:function(t){t.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},1413:function(t){t.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},3470:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},5313:function(t){t.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},5446:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},205:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},4242:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},5680:function(t){t.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},4020:function(t,e,r){t.exports={create:r(5313),clone:r(1413),fromValues:r(5680),copy:r(3470),set:r(6453),add:r(3433),subtract:r(2705),multiply:r(746),divide:r(205),min:r(2170),max:r(3030),scale:r(5510),scaleAndAdd:r(4224),distance:r(5446),squaredDistance:r(1542),length:r(8177),squaredLength:r(9037),negate:r(6459),inverse:r(8057),normalize:r(381),dot:r(4242),lerp:r(8746),random:r(3770),transformMat4:r(6342),transformQuat:r(5022)}},8057:function(t){t.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},8177:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},8746:function(t){t.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},3030:function(t){t.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},2170:function(t){t.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},746:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},6459:function(t){t.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},381:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t}},3770:function(t,e,r){var n=r(381),i=r(5510);t.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},5510:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},4224:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},6453:function(t){t.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},1542:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},9037:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},2705:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},6342:function(t){t.exports=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}},5022:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t[3]=e[3],t}},9365:function(t,e,r){var n=r(8096),i=r(7896);t.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join("")}return S(r),x+=r.length,(v=v.slice(r.length)).length}}function D(){return/[^a-fA-F0-9]/.test(e)?(S(v.join("")),d=l,h):(v.push(e),r=e,h+1)}function z(){return"."===e||/[eE]/.test(e)?(v.push(e),d=5,r=e,h+1):"x"===e&&1===v.length&&"0"===v[0]?(d=11,v.push(e),r=e,h+1):/[^\d]/.test(e)?(S(v.join("")),d=l,h):(v.push(e),r=e,h+1)}function R(){return"f"===e&&(v.push(e),r=e,h+=1),/[eE]/.test(e)?(v.push(e),r=e,h+1):("-"!==e&&"+"!==e||!/[eE]/.test(r))&&/[^\d]/.test(e)?(S(v.join("")),d=l,h):(v.push(e),r=e,h+1)}function F(){if(/[^\d\w_]/.test(e)){var t=v.join("");return d=M[t]?8:A[t]?7:6,S(v.join("")),d=l,h}return v.push(e),r=e,h+1}};var n=r(399),i=r(9746),a=r(9525),o=r(9458),s=r(3585),l=999,u=9999,c=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},3585:function(t,e,r){var n=r(9525);n=n.slice().filter((function(t){return!/^(gl\_|texture)/.test(t)})),t.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},9525:function(t){t.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},9458:function(t,e,r){var n=r(399);t.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","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"])},399:function(t){t.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","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"]},9746:function(t){t.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},8096:function(t,e,r){var n=r(3193);t.exports=function(t,e){var r=n(e),i=[];return(i=i.concat(r(t))).concat(r(null))}},6832:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n0;)for(var s=(t=o.pop()).adjacent,l=0;l<=r;++l){var u=s[l];if(u.boundary&&!(u.lastVisited<=-n)){for(var c=u.vertices,f=0;f<=r;++f){var h=c[f];i[f]=h<0?e:a[h]}var p=this.orient();if(p>0)return u;u.lastVisited=-n,0===p&&o.push(u)}}return null},c.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]];for(s.lastVisited=r,c=0;c<=n;++c){var f=u[c];if(!(f.lastVisited>=r)){var h=a[c];a[c]=t;var p=this.orient();if(a[c]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},c.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,u=this.interior,c=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,u.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,v=p.indexOf(r);if(!(v<0))for(var g=0;g<=n;++g)if(g!==v){var y=d[g];if(y.boundary&&!(y.lastVisited>=r)){var m=y.vertices;if(y.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)m[b]<0?(x=b,l[b]=t):l[b]=i[m[b]];if(this.orient()>0){m[x]=r,y.boundary=!1,u.push(y),f.push(y),y.lastVisited=r;continue}y.lastVisited=-r}var _=y.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);c.push(k);var A=_.indexOf(e);if(!(A<0))for(_[A]=k,T[v]=y,w[g]=-1,T[g]=e,d[g]=k,k.flip(),b=0;b<=n;++b){var M=w[b];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,L=0;L<=n;++L){var C=w[L];C<0||L===b||(S[E++]=C)}h.push(new o(S,k,b))}}}}}for(h.sort(s),g=0;g+1=0?o[l++]=s[c]:u=1&c;if(u===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},9014:function(t,e,r){"use strict";var n=r(5070);function i(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}t.exports=function(t){return t&&0!==t.length?new y(g(t)):new y(null)};var a=i.prototype;function o(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 s(t,e){var r=g(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 l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function u(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function c(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function h(t,e){for(var r=0;r>1],a=[],o=[],s=[];for(r=0;r3*(e+1)?l(this,t):this.left.insert(t):this.left=g([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=g([t]);else{var r=n.ge(this.leftPoints,t,d),i=n.ge(this.rightPoints,t,v);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},a.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?u(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?u(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,t,d);athis.mid?this.right&&(r=this.right.queryPoint(t,e))?r:f(this.rightPoints,t,e):h(this.leftPoints,e);var r},a.queryInterval=function(t,e,r){var n;return tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r))?n:ethis.mid?f(this.rightPoints,t,r):h(this.leftPoints,r)};var m=y.prototype;m.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},m.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},m.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},m.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(m,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(m,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},9560:function(t){"use strict";t.exports=function(t){for(var e=new Array(t),r=0;r13)&&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}},3578:function(t){t.exports=function(t,e,r){return t*(1-r)+e*r}},7191:function(t,e,r){var n=r(4690),i=r(9823),a=r(7332),o=r(7787),s=r(7437),l=r(2142),u={length:r(4693),normalize:r(899),dot:r(9305),cross:r(903)},c=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function v(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}t.exports=function(t,e,r,i,g,y){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),y||(y=[0,0,0,1]),!n(c,t))return!1;if(a(f,c),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var m,x,b,_,w,T,k,A=c[3],M=c[7],S=c[11],E=c[12],L=c[13],C=c[14],P=c[15];if(0!==A||0!==M||0!==S){if(h[0]=A,h[1]=M,h[2]=S,h[3]=P,!s(f,f))return!1;l(f,f),m=g,b=f,_=(x=h)[0],w=x[1],T=x[2],k=x[3],m[0]=b[0]*_+b[4]*w+b[8]*T+b[12]*k,m[1]=b[1]*_+b[5]*w+b[9]*T+b[13]*k,m[2]=b[2]*_+b[6]*w+b[10]*T+b[14]*k,m[3]=b[3]*_+b[7]*w+b[11]*T+b[15]*k}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=E,e[1]=L,e[2]=C,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]}(p,c),r[0]=u.length(p[0]),u.normalize(p[0],p[0]),i[0]=u.dot(p[0],p[1]),v(p[1],p[1],p[0],1,-i[0]),r[1]=u.length(p[1]),u.normalize(p[1],p[1]),i[0]/=r[1],i[1]=u.dot(p[0],p[2]),v(p[2],p[2],p[0],1,-i[1]),i[2]=u.dot(p[1],p[2]),v(p[2],p[2],p[1],1,-i[2]),r[2]=u.length(p[2]),u.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],u.cross(d,p[1],p[2]),u.dot(p[0],d)<0)for(var O=0;O<3;O++)r[O]*=-1,p[O][0]*=-1,p[O][1]*=-1,p[O][2]*=-1;return y[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),y[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),y[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),y[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(y[0]=-y[0]),p[0][2]>p[2][0]&&(y[1]=-y[1]),p[1][0]>p[0][1]&&(y[2]=-y[2]),!0}},4690:function(t){t.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},7649:function(t,e,r){var n=r(1868),i=r(1102),a=r(7191),o=r(7787),s=r(1116),l=f(),u=f(),c=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}t.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,u.translate,u.scale,u.skew,u.perspective,u.quaternion);return!(!h||!p||(n(c.translate,l.translate,u.translate,f),n(c.skew,l.skew,u.skew,f),n(c.scale,l.scale,u.scale,f),n(c.perspective,l.perspective,u.perspective,f),s(c.quaternion,l.quaternion,u.quaternion,f),i(t,c.translate,c.scale,c.skew,c.perspective,c.quaternion),0))}},1102:function(t,e,r){var n={identity:r(9947),translate:r(998),multiply:r(104),create:r(9823),scale:r(3668),fromRotationTranslation:r(7280)},i=(n.create(),n.create());t.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},9298:function(t,e,r){"use strict";var n=r(5070),i=r(7649),a=r(7437),o=r(6109),s=r(7115),l=r(5240),u=r(3012),c=r(998),f=(r(3668),r(899)),h=[0,0,0];function p(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]}t.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,u=0;u<16;++u)o[u]=s[l++];else{var c=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),p=!0;for(u=0;u<16;++u)h[u]=s[l++];var d=this.nextMatrix;for(u=0;u<16;++u)d[u]=s[l++],p=p&&h[u]===d[u];if(c<1e-6||p)for(u=0;u<16;++u)o[u]=h[u];else i(o,h,d,(t-e[r])/c)}var v=this.computedUp;v[0]=o[1],v[1]=o[5],v[2]=o[9],f(v,v);var g=this.computedInverse;a(g,o);var y=this.computedEye,m=g[15];y[0]=g[12]/m,y[1]=g[13]/m,y[2]=g[14]/m;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(u=0;u<3;++u)x[u]=y[u]-o[2+4*u]*b}},d.idle=function(t){if(!(t1&&n(t[o[c-2]],t[o[c-1]],u)<=0;)c-=1,o.pop();for(o.push(l),c=s.length;c>1&&n(t[s[c-2]],t[s[c-1]],u)>=0;)c-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var f=0,h=(i=0,o.length);i0;--p)r[f++]=s[p];return r};var n=r(417)[3]},6145:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",v),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",v),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),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 i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(4110)},2565:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},4110:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.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<=0)return 1< 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 o=t.getters||[],s=new Array(a),l=0;l=0?s[l]=!0:s[l]=!1;return function(t,e,r,a,o,s){var l=[s,o].join(",");return(0,i[l])(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,0,r,s)};var i={"false,0,1":function(t,e,r,n,i){return function(a,o,s,l){var u,c=0|a.shape[0],f=0|a.shape[1],h=a.data,p=0|a.offset,d=0|a.stride[0],v=0|a.stride[1],g=p,y=0|-d,m=0,x=0|-v,b=0,_=-d-v|0,w=0,T=0|d,k=v-d*c|0,A=0,M=0,S=0,E=2*c|0,L=n(E),C=n(E),P=0,O=0,I=-1,D=-1,z=0,R=0|-c,F=0|c,B=0,N=-c-1|0,j=c-1|0,U=0,V=0,H=0;for(A=0;A0){if(M=1,L[P++]=r(h[g],o,s,l),g+=T,c>0)for(A=1,u=h[g],O=L[P]=r(u,o,s,l),z=L[P+I],B=L[P+R],U=L[P+N],O===z&&O===B&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,z,B,U,o,s,l),V=C[P]=S++),P+=1,g+=T,A=2;A0)for(A=1,u=h[g],O=L[P]=r(u,o,s,l),z=L[P+I],B=L[P+R],U=L[P+N],O===z&&O===B&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,z,B,U,o,s,l),V=C[P]=S++,U!==B&&e(C[P+R],V,b,w,B,U,o,s,l)),P+=1,g+=T,A=2;A0){if(A=1,L[P++]=r(h[g],o,s,l),g+=T,f>0)for(M=1,u=h[g],O=L[P]=r(u,o,s,l),B=L[P+R],z=L[P+I],U=L[P+N],O===B&&O===z&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,B,z,U,o,s,l),V=C[P]=S++),P+=1,g+=T,M=2;M0)for(M=1,u=h[g],O=L[P]=r(u,o,s,l),B=L[P+R],z=L[P+I],U=L[P+N],O===B&&O===z&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,B,z,U,o,s,l),V=C[P]=S++,U!==B&&e(C[P+R],V,w,m,U,B,o,s,l)),P+=1,g+=T,M=2;M2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),t.pick(0,-1,1).lo(1).hi(a[1]-2)),e(t.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),t.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),e(t.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),t.pick(-1,0,0).lo(1).hi(a[0]-2)),e(t.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),t.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),e(t.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),t.set(0,0,0,0),t.set(0,0,1,0),t.set(a[0]-1,0,0,0),t.set(a[0]-1,0,1,0),t.set(0,a[1]-1,0,0),t.set(0,a[1]-1,1,0),t.set(a[0]-1,a[1]-1,0,0),t.set(a[0]-1,a[1]-1,1,0),t}}t.exports=function(t,e,r){return Array.isArray(r)||(r=n(e.dimension,"string"==typeof r?r:"clamp")),0===e.size?t:0===e.dimension?(t.set(0),t):function(t){var e=t.join();if(a=c[e])return a;for(var r=t.length,n=[f,h],i=1;i<=r;++i)n.push(p(i));var a=d.apply(void 0,n);return c[e]=a,a}(r)(t,e)}},3581:function(t){"use strict";function e(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r0;){x<64?(l=x,x=0):(l=64,x-=64);for(var b=0|t[1];b>0;){b<64?(u=b,b=0):(u=64,b-=64),n=y+x*f+b*h,o=m+x*d+b*v;var _=0,w=0,T=0,k=p,A=f-c*p,M=h-l*f,S=g,E=d-c*g,L=v-l*d;for(T=0;T0;){v<64?(l=v,v=0):(l=64,v-=64);for(var g=0|t[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=p+v*c+g*u,o=d+v*h+g*f;var y=0,m=0,x=c,b=u-l*c,_=h,w=f-l*h;for(m=0;m0;){m<64?(u=m,m=0):(u=64,m-=64);for(var x=0|t[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var b=0|t[1];b>0;){b<64?(l=b,b=0):(l=64,b-=64),n=g+m*h+x*c+b*f,o=y+m*v+x*p+b*d;var _=0,w=0,T=0,k=h,A=c-u*h,M=f-s*c,S=v,E=p-u*v,L=d-s*p;for(T=0;Tr;){y=0,m=v-o;e:for(g=0;gb)break e;m+=f,y+=h}for(y=v,m=v-o,g=0;g>1,q=H-j,G=H+j,Z=U,Y=q,W=H,X=G,J=V,K=i+1,$=a-1,Q=!0,tt=0,et=0,rt=0,nt=f,it=e(nt),at=e(nt);A=l*Z,M=l*Y,N=s;t:for(k=0;k0){g=Z,Z=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*J,N=s;t:for(k=0;k0){g=X,X=J,J=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*W,N=s;t:for(k=0;k0){g=Z,Z=W,W=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*W,N=s;t:for(k=0;k0){g=Y,Y=W,W=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*X,N=s;t:for(k=0;k0){g=Z,Z=X,X=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*X,N=s;t:for(k=0;k0){g=W,W=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*J,N=s;t:for(k=0;k0){g=Y,Y=J,J=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*W,N=s;t:for(k=0;k0){g=Y,Y=W,W=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*J,N=s;t:for(k=0;k0){g=X,X=J,J=g;break t}if(rt<0)break t;N+=p}for(A=l*Z,M=l*Y,S=l*W,E=l*X,L=l*J,C=l*U,P=l*H,O=l*V,B=0,N=s,k=0;k0)){if(rt<0){for(A=l*b,M=l*K,S=l*$,N=s,k=0;k0)for(;;){for(_=s+$*l,B=0,k=0;k0)){for(_=s+$*l,B=0,k=0;kV){t:for(;;){for(_=s+K*l,B=0,N=s,k=0;k1&&n?s(r,n[0],n[1]):s(r)}(t,e,l);return n(l,u)}},8729:function(t,e,r){"use strict";var n=r(8139),i={};t.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(":"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},5050:function(t,e,r){var n=r(4780),i="undefined"!=typeof Float64Array;function a(t,e){return t[0]-e[0]}function o(){var t,e=this.stride,r=new Array(e.length);for(t=0;t=0&&(e+=a*(r=0|t),i-=r),new n(this.data,i,a,e)},i.step=function(t){var e=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return"number"==typeof t&&((a=0|t)<0?(i+=r*(e-1),e=o(-e/a)):e=o(e/a),r*=a),new n(this.data,e,r,i)},i.transpose=function(t){t=void 0===t?0:0|t;var e=this.shape,r=this.stride;return new n(this.data,e[t],r[t],this.offset)},i.pick=function(t){var r=[],n=[],i=this.offset;return"number"==typeof t&&t>=0?i=i+this.stride[0]*t|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,e[r.length+1])(this.data,r,n,i)},function(t,e,r,i){return new n(t,e[0],r[0],i)}},2:function(t,e,r){function n(t,e,r,n,i,a){this.data=t,this.shape=[e,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=t,i.dimension=2,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(e,r,n){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]=n},i.get=function(e,r){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]},i.index=function(t,e){return this.offset+this.stride[0]*t+this.stride[1]*e},i.hi=function(t,e){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,this.stride[0],this.stride[1],this.offset)},i.lo=function(t,e){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return"number"==typeof t&&t>=0&&(r+=s*(i=0|t),a-=i),"number"==typeof e&&e>=0&&(r+=l*(i=0|e),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(t,e){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,u=Math.ceil;return"number"==typeof t&&((l=0|t)<0?(s+=a*(r-1),r=u(-r/l)):r=u(r/l),a*=l),"number"==typeof e&&((l=0|e)<0?(s+=o*(i-1),i=u(-i/l)):i=u(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(t,e){t=void 0===t?0:0|t,e=void 0===e?1:0|e;var r=this.shape,i=this.stride;return new n(this.data,r[t],r[e],i[t],i[e],this.offset)},i.pick=function(t,r){var n=[],i=[],a=this.offset;return"number"==typeof t&&t>=0?a=a+this.stride[0]*t|0:(n.push(this.shape[0]),i.push(this.stride[0])),"number"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,e[n.length+1])(this.data,n,i,a)},function(t,e,r,i){return new n(t,e[0],e[1],r[0],r[1],i)}},3:function(t,e,r){function n(t,e,r,n,i,a,o,s){this.data=t,this.shape=[e,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=t,i.dimension=3,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,"order",{get:function(){var t=Math.abs(this.stride[0]),e=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return t>e?e>r?[2,1,0]:t>r?[1,2,0]:[1,0,2]:t>r?[2,0,1]:r>e?[0,1,2]:[0,2,1]}}),i.set=function(e,r,n,i){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(e,r,n){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]},i.index=function(t,e,r){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r},i.hi=function(t,e,r){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(t,e,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.stride[0],c=this.stride[1],f=this.stride[2];return"number"==typeof t&&t>=0&&(i+=u*(a=0|t),o-=a),"number"==typeof e&&e>=0&&(i+=c*(a=0|e),s-=a),"number"==typeof r&&r>=0&&(i+=f*(a=0|r),l-=a),new n(this.data,o,s,l,u,c,f,i)},i.step=function(t,e,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],u=this.stride[2],c=this.offset,f=0,h=Math.ceil;return"number"==typeof t&&((f=0|t)<0?(c+=s*(i-1),i=h(-i/f)):i=h(i/f),s*=f),"number"==typeof e&&((f=0|e)<0?(c+=l*(a-1),a=h(-a/f)):a=h(a/f),l*=f),"number"==typeof r&&((f=0|r)<0?(c+=u*(o-1),o=h(-o/f)):o=h(o/f),u*=f),new n(this.data,i,a,o,s,l,u,c)},i.transpose=function(t,e,r){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[t],i[e],i[r],a[t],a[e],a[r],this.offset)},i.pick=function(t,r,n){var i=[],a=[],o=this.offset;return"number"==typeof t&&t>=0?o=o+this.stride[0]*t|0:(i.push(this.shape[0]),a.push(this.stride[0])),"number"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),"number"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,e[i.length+1])(this.data,i,a,o)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],r[0],r[1],r[2],i)}},4:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u){this.data=t,this.shape=[e,r,n,i],this.stride=[a,o,s,l],this.offset=0|u}var i=n.prototype;return i.dtype=t,i.dimension=4,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(e,r,n,i){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(t,e,r,n){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n},i.hi=function(t,e,r,i){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(t,e,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],u=this.shape[2],c=this.shape[3],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3];return"number"==typeof t&&t>=0&&(a+=f*(o=0|t),s-=o),"number"==typeof e&&e>=0&&(a+=h*(o=0|e),l-=o),"number"==typeof r&&r>=0&&(a+=p*(o=0|r),u-=o),"number"==typeof i&&i>=0&&(a+=d*(o=0|i),c-=o),new n(this.data,s,l,u,c,f,h,p,d,a)},i.step=function(t,e,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],u=this.stride[0],c=this.stride[1],f=this.stride[2],h=this.stride[3],p=this.offset,d=0,v=Math.ceil;return"number"==typeof t&&((d=0|t)<0?(p+=u*(a-1),a=v(-a/d)):a=v(a/d),u*=d),"number"==typeof e&&((d=0|e)<0?(p+=c*(o-1),o=v(-o/d)):o=v(o/d),c*=d),"number"==typeof r&&((d=0|r)<0?(p+=f*(s-1),s=v(-s/d)):s=v(s/d),f*=d),"number"==typeof i&&((d=0|i)<0?(p+=h*(l-1),l=v(-l/d)):l=v(l/d),h*=d),new n(this.data,a,o,s,l,u,c,f,h,p)},i.transpose=function(t,e,r,i){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[t],a[e],a[r],a[i],o[t],o[e],o[r],o[i],this.offset)},i.pick=function(t,r,n,i){var a=[],o=[],s=this.offset;return"number"==typeof t&&t>=0?s=s+this.stride[0]*t|0:(a.push(this.shape[0]),o.push(this.stride[0])),"number"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),"number"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),"number"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,e[a.length+1])(this.data,a,o,s)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],r[0],r[1],r[2],r[3],i)}},5:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u,c,f){this.data=t,this.shape=[e,r,n,i,a],this.stride=[o,s,l,u,c],this.offset=0|f}var i=n.prototype;return i.dtype=t,i.dimension=5,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a,o){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(e,r,n,i,a){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(t,e,r,n,i){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(t,e,r,i,a){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,"number"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(t,e,r,i,a){var o=this.offset,s=0,l=this.shape[0],u=this.shape[1],c=this.shape[2],f=this.shape[3],h=this.shape[4],p=this.stride[0],d=this.stride[1],v=this.stride[2],g=this.stride[3],y=this.stride[4];return"number"==typeof t&&t>=0&&(o+=p*(s=0|t),l-=s),"number"==typeof e&&e>=0&&(o+=d*(s=0|e),u-=s),"number"==typeof r&&r>=0&&(o+=v*(s=0|r),c-=s),"number"==typeof i&&i>=0&&(o+=g*(s=0|i),f-=s),"number"==typeof a&&a>=0&&(o+=y*(s=0|a),h-=s),new n(this.data,l,u,c,f,h,p,d,v,g,y,o)},i.step=function(t,e,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.shape[3],c=this.shape[4],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3],v=this.stride[4],g=this.offset,y=0,m=Math.ceil;return"number"==typeof t&&((y=0|t)<0?(g+=f*(o-1),o=m(-o/y)):o=m(o/y),f*=y),"number"==typeof e&&((y=0|e)<0?(g+=h*(s-1),s=m(-s/y)):s=m(s/y),h*=y),"number"==typeof r&&((y=0|r)<0?(g+=p*(l-1),l=m(-l/y)):l=m(l/y),p*=y),"number"==typeof i&&((y=0|i)<0?(g+=d*(u-1),u=m(-u/y)):u=m(u/y),d*=y),"number"==typeof a&&((y=0|a)<0?(g+=v*(c-1),c=m(-c/y)):c=m(c/y),v*=y),new n(this.data,o,s,l,u,c,f,h,p,d,v,g)},i.transpose=function(t,e,r,i,a){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[t],o[e],o[r],o[i],o[a],s[t],s[e],s[r],s[i],s[a],this.offset)},i.pick=function(t,r,n,i,a){var o=[],s=[],l=this.offset;return"number"==typeof t&&t>=0?l=l+this.stride[0]*t|0:(o.push(this.shape[0]),s.push(this.stride[0])),"number"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),"number"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),"number"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),"number"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,e[o.length+1])(this.data,o,s,l)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],e[4],r[0],r[1],r[2],r[3],r[4],i)}}};function l(t,e){var r=-1===e?"T":String(e),n=s[r];return-1===e?n(t):0===e?n(t,u[t][0]):n(t,u[t],o)}var u={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};t.exports=function(t,e,r,a){if(void 0===t)return(0,u.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,c=1;s>=0;--s)r[s]=c,c*=e[s]}if(void 0===a)for(a=0,s=0;s>>0;t.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);return e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},115:function(t,e){e.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var b=i[u],_=1/Math.sqrt(g*m);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;b[x]+=_*(y[w]*v[T]-y[T]*v[w])}}}for(o=0;oa)for(_=1/Math.sqrt(k),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},e.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(p):0,u=0;u<3;++u)h[u]*=p;i[o]=h}return i}},567:function(t){"use strict";t.exports=function(t,e,r,n,i,a,o,s,l,u){var c=e+a+u;if(f>0){var f=Math.sqrt(c+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,u);f=Math.sqrt(2*h-c+1),e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},7774:function(t,e,r){"use strict";t.exports=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),c(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&i.lookAt(0,t.eye,t.center,t.up),i};var n=r(8444),i=r(3012),a=r(5950),o=r(7437),s=r(567);function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function c(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=u(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 f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(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 h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;c(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var u=0,f=0;f<3;++f)u+=r[l+4*f]*i[f];r[12+l]=-u}},h.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},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.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],u=l(a,o,s);a/=u,o/=u,s/=u;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=l(c-=a*p,f-=o*p,h-=s*p);c/=d,f/=d,h/=d;var v=i[2],g=i[6],y=i[10],m=v*a+g*o+y*s,x=v*c+g*f+y*h,b=l(v-=m*a+x*c,g-=m*o+x*f,y-=m*s+x*h);v/=b,g/=b,y/=b;var _=c*e+a*r,w=f*e+o*r,T=h*e+s*r;this.center.move(t,_,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(t,Math.log(k))},h.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],c=i[1],f=i[5],h=i[9],p=i[2],d=i[6],v=i[10],g=e*a+r*c,y=e*o+r*f,m=e*s+r*h,x=-(d*m-v*y),b=-(v*g-p*m),_=-(p*y-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),T=u(x,b,_,w);T>1e-6?(x/=T,b/=T,_/=T,w/=T):(x=b=_=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],L=A*w+E*x+M*_-S*b,C=M*w+E*b+S*x-A*_,P=S*w+E*_+A*b-M*x,O=E*w-A*x-M*b-S*_;if(n){x=p,b=d,_=v;var I=Math.sin(n)/l(x,b,_);x*=I,b*=I,_*=I,O=O*(w=Math.cos(e))-(L=L*w+O*x+C*_-P*b)*x-(C=C*w+O*b+P*x-L*_)*b-(P=P*w+O*_+L*b-C*x)*_}var D=u(L,C,P,O);D>1e-6?(L/=D,C/=D,P/=D,O/=D):(L=C=P=0,O=1),this.rotation.set(t,L,C,P,O)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),c(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,u=0;u<3;++u)l+=Math.pow(r[u]-e[u],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),c(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,u=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,u-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.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},h.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])]},h.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]}},h.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)}},4930:function(t,e,r){"use strict";var n=r(6184);t.exports=function(t,e,r){return n(r=void 0!==r?r+"":" ",e)+t}},4405:function(t){t.exports=function(t,e){e||(e=[0,""]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",e}},4166:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o0){o=a[c][r][0],l=c;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p0&&(o=d,s=v,l=f)}return i||o&&u(o,l),s}function f(t,r){var i=a[r][t][0],o=[t];u(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=c(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=c(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=c(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(o=0;o0;){a[0][o].length;var v=f(o,p);h(0,v)?d.push.apply(d,v):(d.length>0&&l.push(d),d=v)}d.length>0&&l.push(d)}return l};var n=r(9398)},3959:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s0;){var u=o.pop();i[u]=!1;var c=r[u];for(s=0;s0}))).length,g=new Array(v),y=new Array(v);for(p=0;p0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];if(0===V){var H=d[B];j=[H]}for(p=0;p=0||(F[q]=1^V,R.push(q),0===V&&(z(H=d[q])||(H.reverse(),j.push(H))))}0===V&&r.push(j)}return r};var n=r(8348),i=r(4166),a=r(211),o=r(9660),s=r(9662),l=r(1215),u=r(3959);function c(t,e){for(var r=new Array(t),n=0;n0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,u=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(u>0)a=a.left;else{if(!(u<0))return 0;s=1,a=a.right}}return s}}(y.slabs,y.coordinates);return 0===a.length?m:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),m)};var n=r(417)[3],i=r(4385),a=r(9014),o=r(5070);function s(){return!0}function l(t){for(var e={},r=0;r=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d):(k=0,p>=0?(A=0,m=d):-p>=f?(A=1,m=f+2*p+d):m=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(k=0,m=d):-h>=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d;else{var M=1/T;m=(k*=M)*(u*k+c*(A*=M)+2*h)+A*(c*k+f*A+2*p)+d}else k<0?(b=f+p)>(x=c+h)?(_=b-x)>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d:(k=0,b<=0?(A=1,m=f+2*p+d):p>=0?(A=0,m=d):m=p*(A=-p/f)+d):A<0?(b=u+h)>(x=c+p)?(_=b-x)>=(w=u-2*c+f)?(A=1,k=0,m=f+2*p+d):m=(k=1-(A=_/w))*(u*k+c*A+2*h)+A*(c*k+f*A+2*p)+d:(A=0,b<=0?(k=1,m=u+2*h+d):h>=0?(k=0,m=d):m=h*(k=-h/u)+d):(_=f+p-c-h)<=0?(k=0,A=1,m=f+2*p+d):_>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d;var S=1-k-A;for(l=0;l0){var u=t[r-1];if(0===n(s,u)&&a(u)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},6184:function(t){"use strict";var e,r="";t.exports=function(t,n){if("string"!=typeof t)throw new TypeError("expected a string");if(1===n)return t;if(2===n)return t+t;var i=t.length*n;if(e!==t||void 0===e)e=t,r="";else if(r.length>=i)return r.substr(0,i);for(;i>r.length&&n>1;)1&n&&(r+=t),n>>=1,t+=t;return r=(r+=t).substr(0,i)}},8161:function(t,e,r){t.exports=r.g.performance&&r.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},402:function(t){"use strict";t.exports=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];(l=o-((r=a+o)-a))&&(t[--n]=r,r=l)}var s=0;for(i=n;i0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:f(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],f=e[2]-n[2],p=r[2]-n[2],d=a*u,v=o*l,g=o*s,y=i*u,m=i*l,x=a*s,b=c*(d-v)+f*(g-y)+p*(m-x),_=7771561172376103e-31*((Math.abs(d)+Math.abs(v))*Math.abs(c)+(Math.abs(g)+Math.abs(y))*Math.abs(f)+(Math.abs(m)+Math.abs(x))*Math.abs(p));return b>_||-b>_?b:h(t,e,r,n)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=c(t.length)),e.apply(void 0,t)}function v(t,e,r,n,i,a,o){return function(e,r,s,l,u){switch(arguments.length){case 0:case 1:return 0;case 2:return n(e,r);case 3:return i(e,r,s);case 4:return a(e,r,s,l);case 5:return o(e,r,s,l,u)}for(var c=new Array(arguments.length),f=0;f0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);return!(s>0&&l>0||s<0&&l<0)&&(0!==a||0!==o||0!==s||0!==l||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],f=Math.min(u,c);if(Math.max(u,c)=n?(i=f,(l+=1)=n?(i=f,(l+=1)>1,u=e[2*l+1];if(u===a)return l;a>1,u=e[2*l+1];if(u===a)return l;a>1,u=e[2*l+1];if(u===a)return l;a0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.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},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,1+((t|=t>>>8)|t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=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<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.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},e.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},e.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},e.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},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},6656:function(t,e,r){"use strict";var n=r(9392),i=r(9521);function a(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 f=e.slice(0);f.sort();for(var h=0;h>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function c(t,e){for(var r=new Array(t.length),i=0,o=r.length;i=t.length||0!==a(t[g],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<>>c&1&&u.push(i[c]);e.push(u)}return s(e)},e.skeleton=f,e.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function x(t){for(var e=y(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n0;){var r=m(t);if(!(r>=0&&e0){var t=k[0];return g(0,M-1),M-=1,x(0),t}return-1}function w(t,e){var r=k[t];return u[r]===e?t:(u[r]=-1/0,b(t),_(),u[r]=e,b((M+=1)-1))}function T(t){if(!c[t]){c[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],v(e)),A[r]>=0&&w(A[r],v(r))}}var k=[],A=new Array(a);for(f=0;f>1;f>=0;--f)x(f);for(;;){var S=_();if(S<0||u[S]>r)break;T(S)}var E=[];for(f=0;f=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&C.push([n,i])}})),i.unique(i.normalize(C)),{positions:E,edges:C}};var n=r(417),i=r(6656)},6638:function(t,e,r){"use strict";t.exports=function(t,e){var r,a,o,s;if(e[0][0]e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),u=n(r,a,o);if(l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;if(l=n(s,o,a),u=n(s,o,r),l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;return a[0]-s[0]};var n=r(417);function i(t,e){var r,i,a,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),u=Math.min(e[0][1],e[1][1]),c=Math.max(e[0][1],e[1][1]);return lc?s-c:l-c}r=e[1],i=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=u(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=u(t.right,e))return l;t=t.left}}return r}function c(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=u(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var c=u(this.slabs[e-1],t);c&&(s?o(c.key,s)>0&&(s=c.key,i=c.value):(i=c.value,s=c.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},4670:function(t,e,r){"use strict";var n=r(9130),i=r(9662);function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(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;l0||i>0&&c<0){var f=o(s,c,l,i);r.push(f),n.push(f.slice())}c<0?n.push(l.slice()):c>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=c}return{positive:r,negative:n}},t.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u>=0&&r.push(s.slice()),n=u}return r},t.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u<=0&&r.push(s.slice()),n=u}return r}},8974:function(t,e,r){var n;!function(){"use strict";var i={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 a(t){return s(u(t),arguments)}function o(t,e){return a.apply(null,[t].concat(e||[]))}function s(t,e){var r,n,o,s,l,u,c,f,h,p=1,d=t.length,v="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?v+=r:(!i.number.test(s.type)||f&&!s.sign?h="":(h=f?"+":"-",r=r.toString().replace(i.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",c=s.width-(h+r).length,l=s.width&&c>0?u.repeat(c):"",v+=s.align?h+r+l:"0"===u?h+l+r:l+h+r)}return v}var l=Object.create(null);function u(t){if(l[t])return l[t];for(var e,r=t,n=[],a=0;r;){if(null!==(e=i.text.exec(r)))n.push(e[0]);else if(null!==(e=i.modulo.exec(r)))n.push("%");else{if(null===(e=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){a|=1;var o=[],s=e[2],u=[];if(null===(u=i.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(u[1]);""!==(s=s.substring(u[0].length));)if(null!==(u=i.key_access.exec(s)))o.push(u[1]);else{if(null===(u=i.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(u[1])}e[2]=o}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return l[t]=n}e.sprintf=a,e.vsprintf=o,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=o,void 0===(n=function(){return{sprintf:a,vsprintf:o}}.call(e,r,e,t))||(t.exports=n))}()},4162:function(t,e,r){"use strict";t.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;sn|0},vertex:function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=(o<<0)+(s<<1)+(l<<2)+(u<<3)|0;if(0!==p&&15!==p)switch(p){case 0:case 15:c.push([t-.5,e-.5]);break;case 1:c.push([t-.25-.25*(n+r-2*h)/(r-n),e-.25-.25*(i+r-2*h)/(r-i)]);break;case 2:c.push([t-.75-.25*(-n-r+2*h)/(n-r),e-.25-.25*(a+n-2*h)/(n-a)]);break;case 3:c.push([t-.5,e-.5-.5*(i+r+a+n-4*h)/(r-i+n-a)]);break;case 4:c.push([t-.25-.25*(a+i-2*h)/(i-a),e-.75-.25*(-i-r+2*h)/(i-r)]);break;case 5:c.push([t-.5-.5*(n+r+a+i-4*h)/(r-n+i-a),e-.5]);break;case 6:c.push([t-.5-.25*(-n-r+a+i)/(n-r+i-a),e-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:c.push([t-.75-.25*(a+i-2*h)/(i-a),e-.75-.25*(a+n-2*h)/(n-a)]);break;case 8:c.push([t-.75-.25*(-a-i+2*h)/(a-i),e-.75-.25*(-a-n+2*h)/(a-n)]);break;case 9:c.push([t-.5-.25*(n+r+-a-i)/(r-n+a-i),e-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:c.push([t-.5-.5*(-n-r-a-i+4*h)/(n-r+a-i),e-.5]);break;case 11:c.push([t-.25-.25*(-a-i+2*h)/(a-i),e-.75-.25*(i+r-2*h)/(r-i)]);break;case 12:c.push([t-.5,e-.5-.5*(-i-r-a-n+4*h)/(i-r+a-n)]);break;case 13:c.push([t-.75-.25*(n+r-2*h)/(r-n),e-.25-.25*(-a-n+2*h)/(a-n)]);break;case 14:c.push([t-.25-.25*(-n-r+2*h)/(n-r),e-.25-.25*(-i-r+2*h)/(i-r)])}},cell:function(t,e,r,n,i,a,o,s,l){i?s.push([t,e]):s.push([e,t])}});return function(t,e){var r=[],i=[];return n(t,r,i,e),{positions:r,cells:i}}}},o={}},6946:function(t,e,r){"use strict";t.exports=function t(e,r,i){i=i||{};var a=o[e];a||(a=o[e]={" ":{data:new Float32Array(0),shape:.2}});var s=a[r];if(!s)if(r.length<=1||!/\d/.test(r))s=a[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o0&&(f+=.02);var p=new Float32Array(c),d=0,v=-.5*f;for(h=0;hMath.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var u=0;u<16;++u)this.computedMatrix[u]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),c=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,c+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(c);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],v=this.computedAngle[1],g=Math.cos(d),y=Math.sin(d),m=Math.cos(v),x=Math.sin(v),b=this.computedCenter,_=g*m,w=y*m,T=x,k=-g*x,A=-y*x,M=m,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var L=_*r[a]+w*h[a]+T*e[a];E[4*a+1]=k*r[a]+A*h[a]+M*e[a],E[4*a+2]=L,E[4*a+3]=0}var C=E[1],P=E[5],O=E[9],I=E[2],D=E[6],z=E[10],R=P*z-O*D,F=O*I-C*z,B=C*D-P*I,N=u(R,F,B);for(R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B,a=0;a<3;++a)S[a]=b[a]+E[2+4*a]*p;for(a=0;a<3;++a){c=0;for(var j=0;j<3;++j)c+=E[a+4*j]*S[j];E[12+a]=-c}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,u=0;u<3;++u)i[4*u]=o[u],i[4*u+1]=s[u],i[4*u+2]=l[u];for(a(i,i,n,d),u=0;u<3;++u)o[u]=i[4*u],s[u]=i[4*u+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.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=u(a,o,s);a/=l,o/=l,s/=l;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=u(c-=a*p,f-=o*p,h-=s*p),v=(c/=d)*e+a*r,g=(f/=d)*e+o*r,y=(h/=d)*e+s*r;this.center.move(t,v,g,y);var m=Math.exp(this.computedRadius[0]);m=Math.max(1e-4,m+n),this.radius.set(t,Math.log(m))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),v=Math.max(h,p,d);h===v?(s=s<0?-1:1,l=f=0):d===v?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var g=u(s,l,f);s/=g,l/=g,f/=g}var y,m,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,T=u(x-=s*w,b-=l*w,_-=f*w),k=l*(_/=T)-f*(b/=T),A=f*(x/=T)-s*_,M=s*b-l*x,S=u(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(t,q,G,Z),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var E=e[1],L=e[5],C=e[9],P=E*x+L*b+C*_,O=E*k+L*A+C*M;y=R<0?-Math.PI/2:Math.PI/2,m=Math.atan2(O,P)}else{var I=e[2],D=e[6],z=e[10],R=I*s+D*l+z*f,F=I*x+D*b+z*_,B=I*k+D*A+z*M;y=Math.asin(c(R)),m=Math.atan2(B,F)}this.angle.jump(t,m,y),this.recalcMatrix(t);var N=e[2],j=e[6],U=e[10],V=this.computedMatrix;i(V,e);var H=V[15],q=V[12]/H,G=V[13]/H,Z=V[14]/H,Y=Math.exp(this.computedRadius[0]);this.center.jump(t,q-N*Y,G-j*Y,Z-U*Y)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,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=u(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=u(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,v=d[0],g=d[1],y=d[2],m=i*v+a*g+o*y,x=u(v-=m*i,g-=m*a,y-=m*o);if(!(x<.01&&(x=u(v=a*h-o*f,g=o*l-i*h,y=i*f-a*l))<1e-6)){v/=x,g/=x,y/=x,this.up.set(t,i,a,o),this.right.set(t,v,g,y),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*y-o*g,_=o*v-i*y,w=i*g-a*v,T=u(b,_,w),k=i*l+a*f+o*h,A=v*l+g*f+y*h,M=(b/=T)*l+(_/=T)*f+(w/=T)*h,S=Math.asin(c(k)),E=Math.atan2(M,A),L=this.angle._state,C=L[L.length-1],P=L[L.length-2];C%=2*Math.PI;var O=Math.abs(C+2*Math.PI-E),I=Math.abs(C-E),D=Math.abs(C-2*Math.PI-E);O0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return v(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return m(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},1731:function(t){"use strict";function e(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts)),r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+"px",n.font].filter((function(t){return t})).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",d(function(t,e,r,n,a,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\/g,"\n"):r.replace(/\/g," ");var s="",l=[];for(v=0;v-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(L(),"?px "),m*=Math.pow(.75,l-s),n=n.replace("?px ",L())),y+=.25*_*(l-s)}if(!0===o.superscripts){var f=t.indexOf("+"),h=r.indexOf("+"),p=f>-1?parseInt(t[1+f]):0,d=h>-1?parseInt(r[1+h]):0;p!==d&&(n=n.replace(L(),"?px "),m*=Math.pow(.75,d-p),n=n.replace("?px ",L())),y-=.25*_*(d-p)}if(!0===o.bolds){var v=t.indexOf(u)>-1,g=r.indexOf(u)>-1;!v&&g&&(n=x?n.replace("italic ","italic bold "):"bold "+n),v&&!g&&(n=n.replace("bold ",""))}if(!0===o.italics){var x=t.indexOf(c)>-1,b=r.indexOf(c)>-1;!x&&b&&(n="italic "+n),x&&!b&&(n=n.replace("italic ",""))}e.font=n}for(d=0;d",a="",o=i.length,s=a.length,l="+"===e[0]||"-"===e[0],u=0,c=-s;u>-1&&-1!==(u=r.indexOf(i,u))&&-1!==(c=r.indexOf(a,u+o))&&!(c<=u);){for(var f=u;f=c)n[f]=null,r=r.substr(0,f)+" "+r.substr(f+1);else if(null!==n[f]){var h=n[f].indexOf(e[0]);-1===h?n[f]+=e:l&&(n[f]=n[f].substr(0,h+1)+(1+parseInt(n[f][h+1]))+n[f].substr(h+2))}var p=u+o,d=r.substr(p,c-p).indexOf(i);u=-1!==d?d:c+s}return n}function h(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function p(t,e,r,n){var i=h(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=0?e[a]:i}))},has___:{value:x((function(e){var n=m(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:x((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:x((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))}))}})};v.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 r?function(){function n(){this instanceof v||b();var t,n=new r,i=void 0,a=!1;return t=e?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new v),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new v),i.set___(t,e)}else n.set(t,e);return this},Object.create(v.prototype,{get___:{value:x((function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)}))},has___:{value:x((function(t){return n.has(t)||!!i&&i.has___(t)}))},set___:{value:x(t)},delete___:{value:x((function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e}))},permitHostObjects___:{value:x((function(t){if(t!==g)throw new Error("bogus call to permitHostObjects___");a=!0}))}})}e&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=v.prototype,t.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),t.exports=v)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function y(t){return!(t.substr(0,l.length)==l&&"___"===t.substr(t.length-3))}function m(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[u];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,u,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||"undefined"==typeof console||(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},9222:function(t,e,r){var n=r(7178);t.exports=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:n(e,t)}}},7178:function(t){t.exports=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}},4037:function(t,e,r){var n=r(9222);t.exports=function(){var t=n();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}}}},6183:function(t){"use strict";t.exports=function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=[a,o.join()].join(),l=e[s];return l||(e[s]=l=t([a,o])),l(r.shape.slice(0),r.data,r.stride,0|r.offset,n,i)}}(function(){return function(t,e,r,n,i,a){var o=t[0],s=r[0],l=[0],u=s;n|=0;var c=0,f=s;for(c=0;c=0!=p>=0&&i.push(l[0]+.5+.5*(h+p)/(h-p)),n+=f,++l[0]}}}.bind(void 0,{funcName:"zeroCrossings"}))},9584:function(t,e,r){"use strict";t.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=r(6183)},6601:function(){}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var a=e[n]={id:n,loaded:!1,exports:{}};return t[n].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t},r(7386)}()},t.exports=n()},12856:function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var r=0;rp)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,v.prototype),e}function v(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return m(t)}return g(t,e,r)}function g(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!v.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|w(t,e),n=d(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(rt(t,Uint8Array)){var e=new Uint8Array(t);return b(e.buffer,e.byteOffset,e.byteLength)}return x(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+u(t));if(rt(t,ArrayBuffer)||t&&rt(t.buffer,ArrayBuffer))return b(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(rt(t,SharedArrayBuffer)||t&&rt(t.buffer,SharedArrayBuffer)))return b(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return v.from(n,e,r);var i=function(t){if(v.isBuffer(t)){var e=0|_(t.length),r=d(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||nt(t.length)?d(0):x(t):"Buffer"===t.type&&Array.isArray(t.data)?x(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return v.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+u(t))}function y(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function m(t){return y(t),d(t<0?0:0|_(t))}function x(t){for(var e=t.length<0?0:0|_(t.length),r=d(e),n=0;n=p)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+p.toString(16)+" bytes");return 0|t}function w(t,e){if(v.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||rt(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+u(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Q(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return tt(t).length;default:if(i)return n?-1:Q(t).length;e=(""+e).toLowerCase(),i=!0}}function T(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 F(this,e,r);case"utf8":case"utf-8":return I(this,e,r);case"ascii":return z(this,e,r);case"latin1":case"binary":return R(this,e,r);case"base64":return O(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function k(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function A(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),nt(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=v.from(e,n)),v.isBuffer(e))return 0===e.length?-1:M(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):M(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function M(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;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function O(t,e,r){return 0===e&&r===t.length?c.fromByteArray(t):c.fromByteArray(t.slice(e,r))}function I(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=D)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(v.isBuffer(a)||(a=v.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!v.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},v.byteLength=w,v.prototype._isBuffer=!0,v.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;er&&(t+=" ... "),""},h&&(v.prototype[h]=v.prototype.inspect),v.prototype.compare=function(t,e,r,n,i){if(rt(t,Uint8Array)&&(t=v.from(t,t.offset,t.byteLength)),!v.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+u(t));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(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),l=this.slice(n,i),c=t.slice(e,r),f=0;f>>=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 S(this,t,e,r);case"utf8":case"utf-8":return E(this,t,e,r);case"ascii":case"latin1":case"binary":return L(this,t,e,r);case"base64":return C(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},v.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var D=4096;function z(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function j(t,e,r,n,i,a){if(!v.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function U(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function V(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function H(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 q(t,e,r,n,i){return e=+e,r>>>=0,i||H(t,0,r,4),f.write(t,e,r,n,23,4),r+4}function G(t,e,r,n,i){return e=+e,r>>>=0,i||H(t,0,r,8),f.write(t,e,r,n,52,8),r+8}v.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},v.prototype.readUint8=v.prototype.readUInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),this[t]},v.prototype.readUint16LE=v.prototype.readUInt16LE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]|this[t+1]<<8},v.prototype.readUint16BE=v.prototype.readUInt16BE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]<<8|this[t+1]},v.prototype.readUint32LE=v.prototype.readUInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},v.prototype.readUint32BE=v.prototype.readUInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},v.prototype.readBigUInt64LE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},v.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||N(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},v.prototype.readInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},v.prototype.readInt16LE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},v.prototype.readInt16BE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},v.prototype.readInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},v.prototype.readInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},v.prototype.readBigInt64LE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||N(t,4,this.length),f.read(this,t,!0,23,4)},v.prototype.readFloatBE=function(t,e){return t>>>=0,e||N(t,4,this.length),f.read(this,t,!1,23,4)},v.prototype.readDoubleLE=function(t,e){return t>>>=0,e||N(t,8,this.length),f.read(this,t,!0,52,8)},v.prototype.readDoubleBE=function(t,e){return t>>>=0,e||N(t,8,this.length),f.read(this,t,!1,52,8)},v.prototype.writeUintLE=v.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||j(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||j(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},v.prototype.writeUint8=v.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,255,0),this[e]=255&t,e+1},v.prototype.writeUint16LE=v.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},v.prototype.writeUint16BE=v.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},v.prototype.writeUint32LE=v.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(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},v.prototype.writeUint32BE=v.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(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},v.prototype.writeBigUInt64LE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return U(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),v.prototype.writeBigUInt64BE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return V(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),v.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},v.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(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},v.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},v.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},v.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},v.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(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},v.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(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},v.prototype.writeBigInt64LE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return U(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),v.prototype.writeBigInt64BE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return V(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),v.prototype.writeFloatLE=function(t,e,r){return q(this,t,e,!0,r)},v.prototype.writeFloatBE=function(t,e,r){return q(this,t,e,!1,r)},v.prototype.writeDoubleLE=function(t,e,r){return G(this,t,e,!0,r)},v.prototype.writeDoubleBE=function(t,e,r){return G(this,t,e,!1,r)},v.prototype.copy=function(t,e,r,n){if(!v.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=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>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function X(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new Z.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){J(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||K(e,t.length-(r+1))}(n,i,a)}function J(t,e){if("number"!=typeof t)throw new Z.ERR_INVALID_ARG_TYPE(e,"number",t)}function K(t,e,r){if(Math.floor(t)!==t)throw J(t,r),new Z.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new Z.ERR_BUFFER_OUT_OF_BOUNDS;throw new Z.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}Y("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),Y("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(u(e))}),TypeError),Y("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=W(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=W(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var $=/[^+/0-9A-Za-z-_]/g;function Q(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&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 tt(t){return c.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace($,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function et(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function rt(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function nt(t){return t!=t}var it=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function at(t){return"undefined"==typeof BigInt?ot:t}function ot(){throw new Error("BigInt not supported")}},35791:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|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[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},86781:function(t,e,r){"use strict";r.r(e),r.d(e,{sankeyCenter:function(){return h},sankeyCircular:function(){return L},sankeyJustify:function(){return f},sankeyLeft:function(){return u},sankeyRight:function(){return c}});var n=r(33064),i=r(15140),a=r(45879),o=r(2502),s=r.n(o);function l(t){return t.target.depth}function u(t){return t.depth}function c(t,e){return e-1-t.height}function f(t,e){return t.sourceLinks.length?t.depth:e-1}function h(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.VV)(t.sourceLinks,l)-1:0}function p(t){return function(){return t}}var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function v(t,e){return y(t.source,e.source)||t.index-e.index}function g(t,e){return y(t.target,e.target)||t.index-e.index}function y(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:"top"===t.circularLinkType||"bottom"===e.circularLinkType?-1:1}function m(t){return t.value}function x(t){return(t.y0+t.y1)/2}function b(t){return x(t.source)}function _(t){return x(t.target)}function w(t){return t.index}function T(t){return t.nodes}function k(t){return t.links}function A(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function M(t,e){return e(t)}var S=25,E=10;function L(){var t,e,r=0,a=0,o=1,s=1,l=24,u=w,c=f,h=T,M=k,L=32,O=2,D=null;function z(){var t={nodes:h.apply(null,arguments),links:M.apply(null,arguments)};F(t),C(t,0,D),B(t),N(t),P(t,u),j(t,L,u),U(t);for(var e=4,r=0;r0?e+S+E:e,bottom:r=r>0?r+S+E:r,left:a=a>0?a+S+E:a,right:i=i>0?i+S+E:i}}(u),d=function(t,e){var i=(0,n.Fp)(t.nodes,(function(t){return t.column})),u=o-r,c=s-a,f=u/(u+e.right+e.left),h=c/(c+e.top+e.bottom);return r=r*f+e.left,o=0==e.right?o:o*f,a=a*h+e.top,s*=h,t.nodes.forEach((function(t){t.x0=r+t.column*((o-r-l)/i),t.x1=t.x0+l})),h}(u,p);f*=d,u.links.forEach((function(t){t.width=t.value*f})),h.forEach((function(t){var e=t.length;t.forEach((function(t,r){t.depth==h.length-1&&1==e||0==t.depth&&1==e?(t.y0=s/2-t.value*f,t.y1=t.y0+t.value*f):t.partOfCycle?0==I(t,i)?(t.y0=s/2+r,t.y1=t.y0+t.value*f):"top"==t.circularLinkType?(t.y0=a+r,t.y1=t.y0+t.value*f):(t.y0=s-t.value*f-r,t.y1=t.y0+t.value*f):0==p.top||0==p.bottom?(t.y0=(s-a)/e*r,t.y1=t.y0+t.value*f):(t.y0=(s-a)/2-e/2+r,t.y1=t.y0+t.value*f)}))}))}(f),g();for(var p=1,d=c;d>0;--d)v(p*=.99,f),g();function v(t,e){var r=h.length;h.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var l;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&I(i,e)>0);else if(0==o&&1==a)l=i.y1-i.y0,i.y0=s/2-l/2,i.y1=s/2+l/2;else if(o==r-1&&1==a)l=i.y1-i.y0,i.y0=s/2-l/2,i.y1=s/2+l/2;else{var u=(0,n.J6)(i.sourceLinks,_),c=(0,n.J6)(i.targetLinks,b),f=((u&&c?(u+c)/2:u||c)-x(i))*t;i.y0+=f,i.y1+=f}}))}))}function g(){h.forEach((function(e){var r,n,i,o=a,l=e.length;for(e.sort(y),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-s)>0)for(o=r.y0-=n,r.y1-=n,i=l-2;i>=0;--i)(n=(r=e[i]).y1+t-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}function U(t){t.nodes.forEach((function(t){t.sourceLinks.sort(g),t.targetLinks.sort(v)})),t.nodes.forEach((function(t){var e=t.y0,r=e,n=t.y1,i=n;t.sourceLinks.forEach((function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)})),t.targetLinks.forEach((function(t){t.circular?(t.y1=i-t.width/2,i-=t.width):(t.y1=r+t.width/2,r+=t.width)}))}))}return z.nodeId=function(t){return arguments.length?(u="function"==typeof t?t:p(t),z):u},z.nodeAlign=function(t){return arguments.length?(c="function"==typeof t?t:p(t),z):c},z.nodeWidth=function(t){return arguments.length?(l=+t,z):l},z.nodePadding=function(e){return arguments.length?(t=+e,z):t},z.nodes=function(t){return arguments.length?(h="function"==typeof t?t:p(t),z):h},z.links=function(t){return arguments.length?(M="function"==typeof t?t:p(t),z):M},z.size=function(t){return arguments.length?(r=a=0,o=+t[0],s=+t[1],z):[o-r,s-a]},z.extent=function(t){return arguments.length?(r=+t[0][0],o=+t[1][0],a=+t[0][1],s=+t[1][1],z):[[r,a],[o,s]]},z.iterations=function(t){return arguments.length?(L=+t,z):L},z.circularLinkGap=function(t){return arguments.length?(O=+t,z):O},z.nodePaddingRatio=function(t){return arguments.length?(e=+t,z):e},z.sortNodes=function(t){return arguments.length?(D=t,z):D},z.update=function(t){return P(t,u),U(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y11||i>1)}function z(t,e,r){return t.sort(F),t.forEach((function(n,i){var a,o,s=0;if($(n,r)&&D(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;lo.source.column)){var u=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=u>s?u:s}n.circularPathData.verticalBuffer=s+n.width/2}})),t}function R(t,e,r,i){var o=(0,n.VV)(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),z(t.links.filter((function(t){return"top"==t.circularLinkType})),e,i),z(t.links.filter((function(t){return"bottom"==t.circularLinkType})),e,i),t.links.forEach((function(n){if(n.circular){if(n.circularPathData.arcRadius=n.width+E,n.circularPathData.leftNodeBuffer=5,n.circularPathData.rightNodeBuffer=5,n.circularPathData.sourceWidth=n.source.x1-n.source.x0,n.circularPathData.sourceX=n.source.x0+n.circularPathData.sourceWidth,n.circularPathData.targetX=n.target.x0,n.circularPathData.sourceY=n.y0,n.circularPathData.targetY=n.y1,$(n,i)&&D(n))n.circularPathData.leftSmallArcRadius=E+n.width/2,n.circularPathData.leftLargeArcRadius=E+n.width/2,n.circularPathData.rightSmallArcRadius=E+n.width/2,n.circularPathData.rightLargeArcRadius=E+n.width/2,"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=n.source.y1+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=n.source.y0-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius);else{var s=n.source.column,l=n.circularLinkType,u=t.links.filter((function(t){return t.source.column==s&&t.circularLinkType==l}));"bottom"==n.circularLinkType?u.sort(N):u.sort(B);var c=0;u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.leftSmallArcRadius=E+n.width/2+c,n.circularPathData.leftLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),s=n.target.column,u=t.links.filter((function(t){return t.target.column==s&&t.circularLinkType==l})),"bottom"==n.circularLinkType?u.sort(U):u.sort(j),c=0,u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.rightSmallArcRadius=E+n.width/2+c,n.circularPathData.rightLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=Math.max(r,n.source.y1,n.target.y1)+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=o-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius)}n.circularPathData.leftInnerExtent=n.circularPathData.sourceX+n.circularPathData.leftNodeBuffer,n.circularPathData.rightInnerExtent=n.circularPathData.targetX-n.circularPathData.rightNodeBuffer,n.circularPathData.leftFullExtent=n.circularPathData.sourceX+n.circularPathData.leftLargeArcRadius+n.circularPathData.leftNodeBuffer,n.circularPathData.rightFullExtent=n.circularPathData.targetX-n.circularPathData.rightLargeArcRadius-n.circularPathData.rightNodeBuffer}if(n.circular)n.path=function(t){return"top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY}(n);else{var f=(0,a.h5)().source((function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]})).target((function(t){return[t.target.x0,t.y1]}));n.path=f(n)}}))}function F(t,e){return V(t)==V(e)?"bottom"==t.circularLinkType?N(t,e):B(t,e):V(e)-V(t)}function B(t,e){return t.y0-e.y0}function N(t,e){return e.y0-t.y0}function j(t,e){return t.y1-e.y1}function U(t,e){return e.y1-t.y1}function V(t){return t.target.column-t.source.column}function H(t){return t.target.x0-t.source.x1}function q(t,e){var r=O(t),n=H(e)/Math.tan(r);return"up"==K(t)?t.y1+n:t.y1-n}function G(t,e){var r=O(t),n=H(e)/Math.tan(r);return"up"==K(t)?t.y1-n:t.y1+n}function Z(t,e,r,n){t.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)t.nodes.forEach((function(o){if(o.column==a){var u,c=s/(l+1),f=Math.pow(1-c,3),h=3*c*Math.pow(1-c,2),p=3*Math.pow(c,2)*(1-c),d=Math.pow(c,3),v=f*i.y0+h*i.y0+p*i.y1+d*i.y1,g=v-i.width/2,y=v+i.width/2;g>o.y0&&ga.y0&&i.y0a.y0&&i.y1a.y1)&&Y(t,u,e,r)}))):(y>o.y0&&yo.y1)&&(u=y-o.y0+10,o=Y(o,u,e,r),t.nodes.forEach((function(t){M(t,n)!=M(o,n)&&t.column==o.column&&t.y0o.y1&&Y(t,u,e,r)})))}}))}}))}function Y(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach((function(t){t.y1=t.y1+e})),t.sourceLinks.forEach((function(t){t.y0=t.y0+e}))),t}function W(t,e,r,n){t.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>e&&(i.y=i.y-(i.y+(i.y1-i.y0)-e));var a=t.links.filter((function(t){return M(t.source,r)==M(i,r)})),o=a.length;o>1&&a.sort((function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!J(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=G(e,t);return t.y1-r}if(e.target.column>t.target.column)return G(t,e)-e.y1}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:"top"==t.circularLinkType?-1:1:void 0}));var s=i.y0;a.forEach((function(t){t.y0=s+t.width/2,s+=t.width})),a.forEach((function(t,e){if("bottom"==t.circularLinkType){for(var r=e+1,n=0;r1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!J(t,e))return t.y0-e.y0;if(e.source.column0?"up":"down"}function $(t,e){return M(t.source,e)==M(t.target,e)}function Q(t,e,r){var i=t.nodes,a=t.links,o=!1,s=!1;if(a.forEach((function(t){"top"==t.circularLinkType?o=!0:"bottom"==t.circularLinkType&&(s=!0)})),0==o||0==s){var l=(0,n.VV)(i,(function(t){return t.y0})),u=(r-e)/((0,n.Fp)(i,(function(t){return t.y1}))-l);i.forEach((function(t){var e=(t.y1-t.y0)*u;t.y0=(t.y0-l)*u,t.y1=t.y0+e})),a.forEach((function(t){t.y0=(t.y0-l)*u,t.y1=(t.y1-l)*u,t.width=t.width*u}))}}},30838:function(t,e,r){"use strict";r.r(e),r.d(e,{sankey:function(){return w},sankeyCenter:function(){return u},sankeyJustify:function(){return l},sankeyLeft:function(){return o},sankeyLinkHorizontal:function(){return M},sankeyRight:function(){return s}});var n=r(33064),i=r(15140);function a(t){return t.target.depth}function o(t){return t.depth}function s(t,e){return e-1-t.height}function l(t,e){return t.sourceLinks.length?t.depth:e-1}function u(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.VV)(t.sourceLinks,a)-1:0}function c(t){return function(){return t}}function f(t,e){return p(t.source,e.source)||t.index-e.index}function h(t,e){return p(t.target,e.target)||t.index-e.index}function p(t,e){return t.y0-e.y0}function d(t){return t.value}function v(t){return(t.y0+t.y1)/2}function g(t){return v(t.source)*t.value}function y(t){return v(t.target)*t.value}function m(t){return t.index}function x(t){return t.nodes}function b(t){return t.links}function _(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function w(){var t=0,e=0,r=1,a=1,o=24,s=8,u=m,w=l,T=x,k=b,A=32;function M(){var t={nodes:T.apply(null,arguments),links:k.apply(null,arguments)};return S(t),E(t),L(t),C(t),P(t),t}function S(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.UI)(t.nodes,u);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!=typeof n&&(n=t.source=_(e,n)),"object"!=typeof i&&(i=t.target=_(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}function E(t){t.nodes.forEach((function(t){t.value=Math.max((0,n.Sm)(t.sourceLinks,d),(0,n.Sm)(t.targetLinks,d))}))}function L(e){var n,i,a;for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.depth=a,t.sourceLinks.forEach((function(t){i.indexOf(t.target)<0&&i.push(t.target)}))}));for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.height=a,t.targetLinks.forEach((function(t){i.indexOf(t.source)<0&&i.push(t.source)}))}));var s=(r-t-o)/(a-1);e.nodes.forEach((function(e){e.x1=(e.x0=t+Math.max(0,Math.min(a-1,Math.floor(w.call(null,e,a))))*s)+o}))}function C(t){var r=(0,i.b1)().key((function(t){return t.x0})).sortKeys(n.j2).entries(t.nodes).map((function(t){return t.values}));!function(){var i=(0,n.Fp)(r,(function(t){return t.length})),o=.6666666666666666*(a-e)/(i-1);s>o&&(s=o);var l=(0,n.VV)(r,(function(t){return(a-e-(t.length-1)*s)/(0,n.Sm)(t,d)}));r.forEach((function(t){t.forEach((function(t,e){t.y1=(t.y0=e)+t.value*l}))})),t.links.forEach((function(t){t.width=t.value*l}))}(),f();for(var o=1,l=A;l>0;--l)c(o*=.99),f(),u(o),f();function u(t){r.forEach((function(e){e.forEach((function(e){if(e.targetLinks.length){var r=((0,n.Sm)(e.targetLinks,g)/(0,n.Sm)(e.targetLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function c(t){r.slice().reverse().forEach((function(e){e.forEach((function(e){if(e.sourceLinks.length){var r=((0,n.Sm)(e.sourceLinks,y)/(0,n.Sm)(e.sourceLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function f(){r.forEach((function(t){var r,n,i,o=e,l=t.length;for(t.sort(p),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+s;if((n=o-s-a)>0)for(o=r.y0-=n,r.y1-=n,i=l-2;i>=0;--i)(n=(r=t[i]).y1+s-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}function P(t){t.nodes.forEach((function(t){t.sourceLinks.sort(h),t.targetLinks.sort(f)})),t.nodes.forEach((function(t){var e=t.y0,r=e;t.sourceLinks.forEach((function(t){t.y0=e+t.width/2,e+=t.width})),t.targetLinks.forEach((function(t){t.y1=r+t.width/2,r+=t.width}))}))}return M.update=function(t){return P(t),t},M.nodeId=function(t){return arguments.length?(u="function"==typeof t?t:c(t),M):u},M.nodeAlign=function(t){return arguments.length?(w="function"==typeof t?t:c(t),M):w},M.nodeWidth=function(t){return arguments.length?(o=+t,M):o},M.nodePadding=function(t){return arguments.length?(s=+t,M):s},M.nodes=function(t){return arguments.length?(T="function"==typeof t?t:c(t),M):T},M.links=function(t){return arguments.length?(k="function"==typeof t?t:c(t),M):k},M.size=function(n){return arguments.length?(t=e=0,r=+n[0],a=+n[1],M):[r-t,a-e]},M.extent=function(n){return arguments.length?(t=+n[0][0],r=+n[1][0],e=+n[0][1],a=+n[1][1],M):[[t,e],[r,a]]},M.iterations=function(t){return arguments.length?(A=+t,M):A},M}var T=r(45879);function k(t){return[t.source.x1,t.y0]}function A(t){return[t.target.x0,t.y1]}function M(){return(0,T.h5)().source(k).target(A)}},39898:function(t,e,r){var n,i;(function(){var a={version:"3.8.0"},o=[].slice,s=function(t){return o.call(t)},l=self.document;function u(t){return t&&(t.ownerDocument||t.document||t).documentElement}function c(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(l)try{s(l.documentElement.childNodes)[0].nodeType}catch(t){s=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}),l)try{l.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var f=this.Element.prototype,h=f.setAttribute,p=f.setAttributeNS,d=this.CSSStyleDeclaration.prototype,v=d.setProperty;f.setAttribute=function(t,e){h.call(this,t,e+"")},f.setAttributeNS=function(t,e,r){p.call(this,t,e,r+"")},d.setProperty=function(t,e,r){v.call(this,t,e+"",r)}}function g(t,e){return te?1:t>=e?0:NaN}function y(t){return null===t?NaN:+t}function m(t){return!isNaN(t)}function x(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>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>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}a.ascending=g,a.descending=function(t,e){return et?1:e>=t?0:NaN},a.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},a.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},a.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},a.deviation=function(){var t=a.variance.apply(this,arguments);return t?Math.sqrt(t):t};var b=x(g);function _(t){return t.length}a.bisectLeft=b.left,a.bisect=a.bisectRight=b.right,a.bisector=function(t){return x(1===t.length?function(e,r){return g(t(e),r)}:t)},a.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},a.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},a.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var w=Math.abs;function T(t){for(var e=1;t*e%1;)e*=10;return e}function k(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function A(){this._=Object.create(null)}function M(t){return"__proto__"==(t+="")||"\0"===t[0]?"\0"+t:t}function S(t){return"\0"===(t+="")[0]?t.slice(1):t}function E(t){return M(t)in this._}function L(t){return(t=M(t))in this._&&delete this._[t]}function C(){var t=[];for(var e in this._)t.push(S(e));return t}function P(){var t=0;for(var e in this._)++t;return t}function O(){for(var t in this._)return!1;return!0}function I(){this._=Object.create(null)}function D(t){return t}function z(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function R(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=F.length;re;)i.push(n/a);else for(;(n=t+r*++o)=n.length)return e?e.call(r,a):t?a.sort(t):a;for(var l,u,c,f,h=-1,p=a.length,d=n[s++],v=new A;++h=n.length)return t;var r=[],a=i[e++];return t.forEach((function(t,n){r.push({key:t,values:s(n,e)})})),a?r.sort((function(t,e){return a(t.key,e.key)})):r}return r.map=function(t,e){return o(e,t,0)},r.entries=function(t){return s(o(a.map,t,0),0)},r.key=function(t){return n.push(t),r},r.sortKeys=function(t){return i[n.length-1]=t,r},r.sortValues=function(e){return t=e,r},r.rollup=function(t){return e=t,r},r},a.set=function(t){var e=new I;if(t)for(var r=0,n=t.length;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}},a.event=null,a.requote=function(t){return t.replace(q,"\\$&")};var q=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,G={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function Z(t){return G(t,J),t}var Y=function(t,e){return e.querySelector(t)},W=function(t,e){return e.querySelectorAll(t)},X=function(t,e){var r=t.matches||t[R(t,"matchesSelector")];return X=function(t,e){return r.call(t,e)},X(t,e)};"function"==typeof Sizzle&&(Y=function(t,e){return Sizzle(t,e)[0]||null},W=Sizzle,X=Sizzle.matchesSelector),a.selection=function(){return a.select(l.documentElement)};var J=a.selection.prototype=[];function K(t){return"function"==typeof t?t:function(){return Y(t,this)}}function $(t){return"function"==typeof t?t:function(){return W(t,this)}}J.select=function(t){var e,r,n,i,a=[];t=K(t);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),tt.hasOwnProperty(r)?{space:tt[r],local:t}:t}},J.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node();return(t=a.ns.qualify(t)).local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(et(e,t[e]));return this}return this.each(et(t,e))},J.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=it(t)).length,i=-1;if(e=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},J.sort=function(t){t=pt.apply(this,arguments);for(var e=-1,r=this.length;++e=e&&(e=i+1);!(o=s[e])&&++e0&&(t=t.slice(0,i));var l=xt.get(t);function u(){var e=this[n];e&&(this.removeEventListener(t,e,e.$),delete this[n])}return l&&(t=l,o=_t),i?e?function(){var i=o(e,s(arguments));u.call(this),this.addEventListener(t,this[n]=i,i.$=r),i._=e}:u:e?B:function(){var e,r=new RegExp("^__on([^.]+)"+a.requote(t)+"$");for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}}a.selection.enter=vt,a.selection.enter.prototype=gt,gt.append=J.append,gt.empty=J.empty,gt.node=J.node,gt.call=J.call,gt.size=J.size,gt.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s1?Ot:t<-1?-Ot:Math.asin(t)}function Rt(t){return((t=Math.exp(t))+1/t)/2}var Ft=Math.SQRT2;a.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,f=l-a,h=c*c+f*f;if(h<1e-12)n=Math.log(u/o)/Ft,r=function(t){return[i+t*c,a+t*f,o*Math.exp(Ft*t*n)]};else{var p=Math.sqrt(h),d=(u*u-o*o+4*h)/(2*o*2*p),v=(u*u-o*o-4*h)/(2*u*2*p),g=Math.log(Math.sqrt(d*d+1)-d),y=Math.log(Math.sqrt(v*v+1)-v);n=(y-g)/Ft,r=function(t){var e,r=t*n,s=Rt(g),l=o/(2*p)*(s*(e=Ft*r+g,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(g));return[i+l*c,a+l*f,o*s/Rt(Ft*r+g)]}}return r.duration=1e3*n,r},a.behavior.zoom=function(){var t,e,r,n,i,o,s,u,f,h={x:0,y:0,k:1},p=[960,500],d=jt,v=250,g=0,y="mousedown.zoom",m="mousemove.zoom",x="mouseup.zoom",b="touchstart.zoom",_=H(w,"zoomstart","zoom","zoomend");function w(t){t.on(y,P).on(Nt+".zoom",I).on("dblclick.zoom",D).on(b,O)}function T(t){return[(t[0]-h.x)/h.k,(t[1]-h.y)/h.k]}function k(t){h.k=Math.max(d[0],Math.min(d[1],t))}function A(t,e){e=function(t){return[t[0]*h.k+h.x,t[1]*h.k+h.y]}(e),h.x+=t[0]-e[0],h.y+=t[1]-e[1]}function M(t,r,n,i){t.__chart__={x:h.x,y:h.y,k:h.k},k(Math.pow(2,i)),A(e=r,n),t=a.select(t),v>0&&(t=t.transition().duration(v)),t.call(w.event)}function S(){s&&s.domain(o.range().map((function(t){return(t-h.x)/h.k})).map(o.invert)),f&&f.domain(u.range().map((function(t){return(t-h.y)/h.k})).map(u.invert))}function E(t){g++||t({type:"zoomstart"})}function L(t){S(),t({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function C(t){--g||(t({type:"zoomend"}),e=null)}function P(){var t=this,e=_.of(t,arguments),r=0,n=a.select(c(t)).on(m,s).on(x,l),i=T(a.mouse(t)),o=kt(t);function s(){r=1,A(a.mouse(t),i),L(e)}function l(){n.on(m,null).on(x,null),o(r),C(e)}$i.call(t),E(e)}function O(){var t,e=this,r=_.of(e,arguments),n={},o=0,s=".zoom-"+a.event.changedTouches[0].identifier,l="touchmove"+s,u="touchend"+s,c=[],f=a.select(e),p=kt(e);function d(){var r=a.touches(e);return t=h.k,r.forEach((function(t){t.identifier in n&&(n[t.identifier]=T(t))})),r}function v(){var t=a.event.target;a.select(t).on(l,g).on(u,m),c.push(t);for(var r=a.event.changedTouches,s=0,f=r.length;s1){y=p[0];var x=p[1],b=y[0]-x[0],_=y[1]-x[1];o=b*b+_*_}}function g(){var s,l,u,c,f=a.touches(e);$i.call(e);for(var h=0,p=f.length;h360?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)||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 ie(a(t+120),a(t),a(t-120))}function Gt(t,e,r){return this instanceof Gt?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length<2?t instanceof Gt?new Gt(t.h,t.c,t.l):te(t instanceof Wt?t.l:(t=fe((t=a.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new Gt(t,e,r)}Ht.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Vt(this.h,this.s,this.l/t)},Ht.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Vt(this.h,this.s,t*this.l)},Ht.rgb=function(){return qt(this.h,this.s,this.l)},a.hcl=Gt;var Zt=Gt.prototype=new Ut;function Yt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Wt(r,Math.cos(t*=It)*e,Math.sin(t)*e)}function Wt(t,e,r){return this instanceof Wt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Wt?new Wt(t.l,t.a,t.b):t instanceof Gt?Yt(t.h,t.c,t.l):fe((t=ie(t)).r,t.g,t.b):new Wt(t,e,r)}Zt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Xt*(arguments.length?t:1)))},Zt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Xt*(arguments.length?t:1)))},Zt.rgb=function(){return Yt(this.h,this.c,this.l).rgb()},a.lab=Wt;var Xt=18,Jt=.95047,Kt=1.08883,$t=Wt.prototype=new Ut;function Qt(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ie(ne(3.2404542*(i=ee(i)*Jt)-1.5371385*(n=1*ee(n))-.4985314*(a=ee(a)*Kt)),ne(-.969266*i+1.8760108*n+.041556*a),ne(.0556434*i-.2040259*n+1.0572252*a))}function te(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Dt,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function ee(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function re(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ne(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ie(t,e,r){return this instanceof ie?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ie?new ie(t.r,t.g,t.b):ue(""+t,ie,qt):new ie(t,e,r)}function ae(t){return new ie(t>>16,t>>8&255,255&t)}function oe(t){return ae(t)+""}$t.brighter=function(t){return new Wt(Math.min(100,this.l+Xt*(arguments.length?t:1)),this.a,this.b)},$t.darker=function(t){return new Wt(Math.max(0,this.l-Xt*(arguments.length?t:1)),this.a,this.b)},$t.rgb=function(){return Qt(this.l,this.a,this.b)},a.rgb=ie;var se=ie.prototype=new Ut;function le(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(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(pe(i[0]),pe(i[1]),pe(i[2]))}return(a=de.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 ce(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+(e0&&l<1?0:n),new Vt(n,i,l)}function fe(t,e,r){var n=re((.4124564*(t=he(t))+.3575761*(e=he(e))+.1804375*(r=he(r)))/Jt),i=re((.2126729*t+.7151522*e+.072175*r)/1);return Wt(116*i-16,500*(n-i),200*(i-re((.0193339*t+.119192*e+.9503041*r)/Kt)))}function he(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function pe(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}se.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=200&&e<300||304===e){try{t=r.call(i,u)}catch(t){return void o.error.call(i,t)}o.load.call(i,t)}else o.error.call(i,u)}return self.XDomainRequest&&!("withCredentials"in u)&&/^(http(s)?:)?\/\//.test(t)&&(u=new XDomainRequest),"onload"in u?u.onload=u.onerror=f:u.onreadystatechange=function(){u.readyState>3&&f()},u.onprogress=function(t){var e=a.event;a.event=t;try{o.progress.call(i,u)}finally{a.event=e}},i.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",i)},i.mimeType=function(t){return arguments.length?(e=null==t?null:t+"",i):e},i.responseType=function(t){return arguments.length?(c=t,i):c},i.response=function(t){return r=t,i},["get","post"].forEach((function(t){i[t]=function(){return i.send.apply(i,[t].concat(s(arguments)))}})),i.send=function(r,n,a){if(2===arguments.length&&"function"==typeof n&&(a=n,n=null),u.open(r,t,!0),null==e||"accept"in l||(l.accept=e+",*/*"),u.setRequestHeader)for(var s in l)u.setRequestHeader(s,l[s]);return null!=e&&u.overrideMimeType&&u.overrideMimeType(e),null!=c&&(u.responseType=c),null!=a&&i.on("error",a).on("load",(function(t){a(null,t)})),o.beforesend.call(i,u),u.send(null==n?null:n),i},i.abort=function(){return u.abort(),i},a.rebind(i,o,"on"),null==n?i:i.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(n))}de.forEach((function(t,e){de.set(t,ae(e))})),a.functor=ve,a.xhr=ge(D),a.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=function(e){for(var r={},n=t.length,i=0;i=l)return o;if(i)return i=!1,a;var e=u;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(_e),_e=setTimeout(ke,e)),be=0):(be=1,we(ke))}function Ae(){for(var t=Date.now(),e=me;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Me(){for(var t,e=me,r=1/0;e;)e.c?(e.t1&&(e=t[a[o-2]],r=t[a[o-1]],n=t[s],(r[0]-e[0])*(n[1]-e[1])-(r[1]-e[1])*(n[0]-e[0])<=0);)--o;a[o++]=s}return a.slice(0,o)}function Ce(t,e){return t[0]-e[0]||t[1]-e[1]}a.timer=function(){Te.apply(this,arguments)},a.timer.flush=function(){Ae(),Me()},a.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)},a.geom={},a.geom.hull=function(t){var e=Se,r=Ee;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=0;--n)p.push(t[s[u[n]][2]]);for(n=+f;nEt)s=s.L;else{if(!((i=a-We(s,o))>Et)){n>-Et?(e=s.P,r=s):i>-Et?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=He(t);if(Fe.insert(e,l),e||r){if(e===r)return Qe(e),r=He(e.site),Fe.insert(l,r),l.edge=r.edge=rr(e.site,l.site),$e(e),void $e(r);if(r){Qe(e),Qe(r);var u=e.site,c=u.x,f=u.y,h=t.x-c,p=t.y-f,d=r.site,v=d.x-c,g=d.y-f,y=2*(h*g-p*v),m=h*h+p*p,x=v*v+g*g,b={x:(g*m-p*x)/y+c,y:(h*x-v*m)/y+f};nr(r.edge,u,d,b),l.edge=rr(u,t,null,b),r.edge=rr(t,d,null,b),$e(e),$e(r)}else l.edge=rr(e.site,l.site)}}function Ye(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,f=1/a-1/u,h=c/u;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*u)-l+u/2+i-a/2)))/f+n:(n+s)/2}function We(t,e){var r=t.N;if(r)return Ye(r,e);var n=t.site;return n.y===e?n.x:1/0}function Xe(t){this.site=t,this.edges=[]}function Je(t,e){return e.angle-t.angle}function Ke(){or(this),this.x=this.y=this.arc=this.site=this.cy=null}function $e(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,f=2*(l*(g=a.y-s)-u*c);if(!(f>=-1e-12)){var h=l*l+u*u,p=c*c+g*g,d=(g*h-u*p)/f,v=(l*p-c*h)/f,g=v+s,y=Ue.pop()||new Ke;y.arc=t,y.site=i,y.x=d+o,y.y=g+Math.sqrt(d*d+v*v),y.cy=g,t.circle=y;for(var m=null,x=Ne._;x;)if(y.y=s)return;if(h>d){if(a){if(a.y>=u)return}else a={x:g,y:l};r={x:g,y:u}}else{if(a){if(a.y1)if(h>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=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x0)){if(e/=h,h<0){if(e0){if(e>f)return;e>c&&(c=e)}if(e=i-l,h||!(e<0)){if(e/=h,h<0){if(e>f)return;e>c&&(c=e)}else if(h>0){if(e0)){if(e/=p,p<0){if(e0){if(e>f)return;e>c&&(c=e)}if(e=a-u,p||!(e<0)){if(e/=p,p<0){if(e>f)return;e>c&&(c=e)}else if(p>0){if(e0&&(t.a={x:l+c*h,y:u+c*p}),f<1&&(t.b={x:l+f*h,y:u+f*p}),t}}}}}),l=o.length;l--;)(!tr(e=o[l],t)||!s(e)||w(e.a.x-e.b.x)Et||w(i-r)>Et)&&(s.splice(o,0,new ir((y=a.site,m=c,x=w(n-f)Et?{x:f,y:w(e-f)Et?{x:w(r-d)Et?{x:h,y:w(e-h)Et?{x:w(r-p)=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)/Et)*Et,y:Math.round(i(t,e)/Et)*Et,i:e}}))}return o.links=function(t){return cr(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 cr(s(t)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,u=r.edges.sort(Je),c=-1,f=u.length,h=u[f-1].edge,p=h.l===l?h.r:h.l;++ca||f>o||h=_)<<1|e>=b,T=w+4;wa&&(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:xr(r,n)})),a=wr.lastIndex;return av&&(v=l.x),l.y>g&&(g=l.y),u.push(l.x),c.push(l.y);else for(f=0;fv&&(v=x),b>g&&(g=b),u.push(x),c.push(b)}var _=v-p,T=g-d;function k(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(w(l-r)+w(u-n)<.01)A(t,e,r,n,i,a,o,s);else{var c=t.point;t.x=t.y=t.point=null,A(t,c,l,u,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),u=.5*(a+s),c=r>=l,f=n>=u,h=f<<1|c;t.leaf=!1,c?i=l:o=l,f?a=u:s=u,k(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,i,a,o,s)}_>T?g=d+_:v=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(M,t,+y(t,++f),+m(t,f),p,d,v,g)},visit:function(t){vr(t,M,p,d,v,g)},find:function(t){return gr(M,t[0],t[1],p,d,v,g)}};if(f=-1,null==e){for(;++f=0&&!(r=a.interpolators[n](t,e)););return r}function kr(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1?1:t(e)}}function Lr(t){return function(e){return 1-t(1-e)}}function Cr(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Pr(t){return t*t}function Or(t){return t*t*t}function Ir(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 Dr(t){return 1-Math.cos(t*Ot)}function zr(t){return Math.pow(2,10*(t-1))}function Rr(t){return 1-Math.sqrt(1-t*t)}function Fr(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 Br(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Nr(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=Ur(i),s=jr(i,a),l=Ur(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]=0?t.slice(0,e):t,n=e>=0?t.slice(e+1):"in";return r=Mr.get(r)||Ar,Er((n=Sr.get(n)||D)(r.apply(null,o.call(arguments,1))))},a.interpolateHcl=function(t,e){t=a.hcl(t),e=a.hcl(e);var r=t.h,n=t.c,i=t.l,o=e.h-r,s=e.c-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.c:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Yt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateHsl=function(t,e){t=a.hsl(t),e=a.hsl(e);var r=t.h,n=t.s,i=t.l,o=e.h-r,s=e.s-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.s:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return qt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateLab=function(t,e){t=a.lab(t),e=a.lab(e);var r=t.l,n=t.a,i=t.b,o=e.l-r,s=e.a-n,l=e.b-i;return function(t){return Qt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateRound=Br,a.transform=function(t){var e=l.createElementNS(a.ns.prefix.svg,"g");return(a.transform=function(t){if(null!=t){e.setAttribute("transform",t);var r=e.transform.baseVal.consolidate()}return new Nr(r?r.matrix:Vr)})(t)},Nr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var Vr={a:1,b:0,c:0,d:1,e:0,f:0};function Hr(t){return t.length?t.pop()+",":""}function qr(t,e){var r=[],n=[];return t=a.transform(t),e=a.transform(e),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:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(t.translate,e.translate,r,n),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(Hr(r)+"rotate(",null,")")-2,x:xr(t,e)})):e&&r.push(Hr(r)+"rotate("+e+")")}(t.rotate,e.rotate,r,n),function(t,e,r,n){t!==e?n.push({i:r.push(Hr(r)+"skewX(",null,")")-2,x:xr(t,e)}):e&&r.push(Hr(r)+"skewX("+e+")")}(t.skew,e.skew,r,n),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(Hr(r)+"scale(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(Hr(r)+"scale("+e+")")}(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i0?r=e:(t.c=null,t.t=NaN,t=null,l.end({type:"end",alpha:r=0})):e>0&&(l.start({type:"start",alpha:r=e}),t=Te(s.tick)),s):r},s.start=function(){var t,e,r,a=y.length,l=m.length,c=u[0],d=u[1];for(t=0;t=0;)r.push(i[n])}function on(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=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 on(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&&(an(t,(function(t){t.children&&(t.value=0)})),on(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},a.layout.partition=function(){var t=a.layout.hierarchy(),e=[1,1];function r(t,e,n,i){var a=t.children;if(t.x=e,t.y=t.depth*i,t.dx=n,t.dy=i,a&&(o=a.length)){var o,s,l,u=-1;for(n=t.value?n/t.value:0;++us&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=e);return n}function bn(t){return t.reduce(_n,0)}function _n(t,e){return t+e[1]}function wn(t,e){return Tn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Tn(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 kn(t){return[a.min(t),a.max(t)]}function An(t,e){return t.value-e.value}function Mn(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Sn(t,e){t._pack_next=e,e._pack_prev=t}function En(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 Ln(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,u=1/0,c=-1/0,f=1/0,h=-1/0;if(e.forEach(Cn),(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(In(r,n,i=e[2]),x(i),Mn(r,i),r._pack_prev=i,Mn(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=f[0]&&l<=f[1]&&((s=u[a.bisect(h,l,1,d)-1]).y+=v,s.push(i[o]));return u}return i.value=function(t){return arguments.length?(e=t,i):e},i.range=function(t){return arguments.length?(r=ve(t),i):r},i.bins=function(t){return arguments.length?(n="number"==typeof t?function(e){return Tn(e,t)}:ve(t),i):n},i.frequency=function(e){return arguments.length?(t=!!e,i):t},i},a.layout.pack=function(){var t,e=a.layout.hierarchy().sort(An),r=0,n=[1,1];function i(i,a){var o=e.call(this,i,a),s=o[0],l=n[0],u=n[1],c=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(s.x=s.y=0,on(s,(function(t){t.r=+c(t.value)})),on(s,Ln),r){var f=r*(t?1:Math.max(2*s.r/l,2*s.r/u))/2;on(s,(function(t){t.r+=f})),on(s,Ln),on(s,(function(t){t.r-=f}))}return On(s,l/2,u/2,t?1:1/Math.max(2*s.r/l,2*s.r/u)),o}return i.size=function(t){return arguments.length?(n=t,i):n},i.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,i):t},i.padding=function(t){return arguments.length?(r=+t,i):r},nn(i,e)},a.layout.tree=function(){var t=a.layout.hierarchy().sort(null).value(null),e=Dn,r=[1,1],n=null;function i(i,a){var u=t.call(this,i,a),c=u[0],f=function(t){for(var e,r={A:null,children:[t]},n=[r];null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;op.x&&(p=t),t.depth>d.depth&&(d=t)}));var v=e(h,p)/2-h.x,g=r[0]/(p.x+e(p,h)/2+v),y=r[1]/(d.depth||1);an(c,(function(t){t.x=(t.x+v)*g,t.y=t.depth*y}))}return u}function o(t){var r=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(r.length){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(r[0].z+r[r.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,r,n){if(r){for(var i,a=t,o=t,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=Rn(s),a=zn(a),s&&a;)l=zn(l),(o=Rn(o)).a=t,(i=s.z+f-a.z-u+e(s._,a._))>0&&(Fn(Bn(s,t,n),t,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!Rn(o)&&(o.t=s,o.m+=f-c),a&&!zn(l)&&(l.t=a,l.m+=u-h,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*=r[0],t.y=t.depth*r[1]}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t)?l:null,i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null==(r=t)?null:l,i):n?r:null},nn(i,t)},a.layout.cluster=function(){var t=a.layout.hierarchy().sort(null).value(null),e=Dn,r=[1,1],n=!1;function i(i,o){var s,l=t.call(this,i,o),u=l[0],c=0;on(u,(function(t){var r=t.children;r&&r.length?(t.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(r),t.y=function(t){return 1+a.max(t,(function(t){return t.y}))}(r)):(t.x=s?c+=e(t,s):0,t.y=0,s=t)}));var f=Nn(u),h=jn(u),p=f.x-e(f,h)/2,d=h.x+e(h,f)/2;return on(u,n?function(t){t.x=(t.x-u.x)*r[0],t.y=(u.y-t.y)*r[1]}:function(t){t.x=(t.x-p)/(d-p)*r[0],t.y=(1-(u.y?t.y/u.y:1))*r[1]}),l}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t),i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null!=(r=t),i):n?r:null},nn(i,t)},a.layout.treemap=function(){var t,e=a.layout.hierarchy(),r=Math.round,n=[1,1],i=null,o=Un,s=!1,l="squarify",u=.5*(1+Math.sqrt(5));function c(t,e){for(var r,n,i=-1,a=t.length;++i0;)s.push(r=u[i-1]),s.area+=r.area,"squarify"!==l||(n=p(s,v))<=h?(u.pop(),h=n):(s.area-=s.pop().area,d(s,v,a,!1),v=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,v,a,!0),s.length=s.area=0),e.forEach(f)}}function h(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(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++oi&&(i=r));return e*=e,(n*=n)?Math.max(e*i*u/n,n/(e*a*u)):1/0}function d(t,e,n,i){var a,o=-1,s=t.length,l=n.x,u=n.y,c=e?r(t.area/e):0;if(e==n.dx){for((i||c>n.dy)&&(c=n.dy);++on.dx)&&(c=n.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=a.random.normal.apply(a,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=a.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r2?Xn:Gn,l=n?Zr:Gr;return i=o(t,e,l,r),a=o(e,t,l,Tr),s}function s(t){return i(t)}return s.invert=function(t){return a(t)},s.domain=function(e){return arguments.length?(t=e.map(Number),o()):t},s.range=function(t){return arguments.length?(e=t,o()):e},s.rangeRound=function(t){return s.range(t).interpolate(Br)},s.clamp=function(t){return arguments.length?(n=t,o()):n},s.interpolate=function(t){return arguments.length?(r=t,o()):r},s.ticks=function(e){return ti(t,e)},s.tickFormat=function(e,r){return d3_scale_linearTickFormat(t,e,r)},s.nice=function(e){return $n(t,e),o()},s.copy=function(){return Jn(t,e,r,n)},o()}function Kn(t,e){return a.rebind(t,e,"range","rangeRound","interpolate","clamp")}function $n(t,e){return Zn(t,Yn(Qn(t,e)[2])),Zn(t,Yn(Qn(t,e)[2])),t}function Qn(t,e){null==e&&(e=10);var r=Hn(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 ti(t,e){return a.range.apply(a,Qn(t,e))}function ei(t,e,r,n){function i(t){return(r?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]>=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Zn(n.map(i),r?Math:ri);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Hn(n),o=[],s=t[0],l=t[1],u=Math.floor(i(s)),c=Math.ceil(i(l)),f=e%1?2:e;if(isFinite(c-u)){if(r){for(;u0;h--)o.push(a(u)*h);for(u=0;o[u]l;c--);o=o.slice(u,c)}return o},o.copy=function(){return ei(t.copy(),e,r,n)},Kn(o,t)}a.scale.linear=function(){return Jn([0,1],[0,1],Tr,!1)},a.scale.log=function(){return ei(a.scale.linear().domain([0,1]),10,!0,[1,10])};var ri={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function ni(t,e,r){var n=ii(e),i=ii(1/e);function a(e){return t(n(e))}return a.invert=function(e){return i(t.invert(e))},a.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(n)),a):r},a.ticks=function(t){return ti(r,t)},a.tickFormat=function(t,e){return d3_scale_linearTickFormat(r,t,e)},a.nice=function(t){return a.domain($n(r,t))},a.exponent=function(o){return arguments.length?(n=ii(e=o),i=ii(1/e),t.domain(r.map(n)),a):e},a.copy=function(){return ni(t.copy(),e,r)},Kn(a,t)}function ii(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function ai(t,e){var r,n,i;function o(i){return n[((r.get(i)||("range"===e.t?r.set(i,t.push(i)):NaN))-1)%n.length]}function s(e,r){return a.range(t.length).map((function(t){return e+r*t}))}return o.domain=function(n){if(!arguments.length)return t;t=[],r=new A;for(var i,a=-1,s=n.length;++a0?r[n-1]:t[0],nf?0:1;if(u=Pt)return l(u,p)+(s?l(s,1-p):"")+"Z";var d,v,g,y,m,x,b,_,w,T,k,A,M=0,S=0,E=[];if((y=(+o.apply(this,arguments)||0)/2)&&(g=n===vi?Math.sqrt(s*s+u*u):+n.apply(this,arguments),p||(S*=-1),u&&(S=zt(g/u*Math.sin(y))),s&&(M=zt(g/s*Math.sin(y)))),u){m=u*Math.cos(c+S),x=u*Math.sin(c+S),b=u*Math.cos(f-S),_=u*Math.sin(f-S);var L=Math.abs(f-c-2*S)<=Lt?0:1;if(S&&_i(m,x,b,_)===p^L){var C=(c+f)/2;m=u*Math.cos(C),x=u*Math.sin(C),b=_=null}}else m=x=0;if(s){w=s*Math.cos(f-M),T=s*Math.sin(f-M),k=s*Math.cos(c+M),A=s*Math.sin(c+M);var P=Math.abs(c-f+2*M)<=Lt?0:1;if(M&&_i(w,T,k,A)===1-p^P){var O=(c+f)/2;w=s*Math.cos(O),T=s*Math.sin(O),k=A=null}}else w=T=0;if(h>Et&&(d=Math.min(Math.abs(u-s)/2,+r.apply(this,arguments)))>.001){v=s0?0:1}function wi(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,f=t[1]+u,h=e[0]+l,p=e[1]+u,d=(c+h)/2,v=(f+p)/2,g=h-c,y=p-f,m=g*g+y*y,x=r-n,b=c*p-h*f,_=(y<0?-1:1)*Math.sqrt(Math.max(0,x*x*m-b*b)),w=(b*y-g*_)/m,T=(-b*g-y*_)/m,k=(b*y+g*_)/m,A=(-b*g+y*_)/m,M=w-d,S=T-v,E=k-d,L=A-v;return M*M+S*S>E*E+L*L&&(w=k,T=A),[[w-l,T-u],[w*r/x,T*r/x]]}function Ti(){return!0}function ki(t){var e=Se,r=Ee,n=Ti,i=Mi,a=i.key,o=.7;function s(a){var s,l=[],u=[],c=-1,f=a.length,h=ve(e),p=ve(r);function d(){l.push("M",i(t(u),o))}for(;++c1&&i.push("H",n[0]),i.join("")},"step-before":Ei,"step-after":Li,basis:Oi,"basis-open":function(t){if(t.length<4)return Mi(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Ii(Ri,a)+","+Ii(Ri,o)),--n;++n9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Mi(t){return t.length>1?t.join("L"):t+"Z"}function Si(t){return t.join("L")+"Z"}function Ei(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e1){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;uLt)+",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},a.svg.diagonal=function(){var t=Ui,e=Vi,r=qi;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},a.svg.diagonal.radial=function(){var t=a.svg.diagonal(),e=qi,r=t.projection;return t.projection=function(t){return arguments.length?r(Gi(e=t)):e},t},a.svg.symbol=function(){var t=Yi,e=Zi;function r(r,n){return(Xi.get(t.call(this,r,n))||Wi)(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 Xi=a.map({circle:Wi,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*Ki)),r=e*Ki;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/Ji),r=e*Ji/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/Ji),r=e*Ji/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});a.svg.symbolTypes=Xi.keys();var Ji=Math.sqrt(3),Ki=Math.tan(30*It);J.transition=function(t){for(var e,r,n=ea||++ia,i=sa(t),a=[],o=ra||{time:Date.now(),ease:Ir,delay:0,duration:250},s=-1,l=this.length;++s0;)u[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--c.count?delete c[n]:delete t[r],1}f||(a=i.time,o=Te((function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h}),0,a),f=c[n]={tween:new A,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++c.count)}na.call=J.call,na.empty=J.empty,na.node=J.node,na.size=J.size,a.transition=function(t,e){return t&&t.transition?ea?t.transition(e):t:a.selection().transition(t)},a.transition.prototype=na,na.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=K(t);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",o[1]-o[0])}function v(t){t.select(".extent").attr("y",s[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",s[1]-s[0])}function g(){var f,g,y=this,m=a.select(a.event.target),x=r.of(y,arguments),b=a.select(y),_=m.datum(),w=!/^(n|s)$/.test(_)&&n,T=!/^(e|w)$/.test(_)&&i,k=m.classed("extent"),A=kt(y),M=a.mouse(y),S=a.select(c(y)).on("keydown.brush",C).on("keyup.brush",P);if(a.event.changedTouches?S.on("touchmove.brush",O).on("touchend.brush",D):S.on("mousemove.brush",O).on("mouseup.brush",D),b.interrupt().selectAll("*").interrupt(),k)M[0]=o[0]-M[0],M[1]=s[0]-M[1];else if(_){var E=+/w$/.test(_),L=+/^n/.test(_);g=[o[1-E]-M[0],s[1-L]-M[1]],M[0]=o[E],M[1]=s[L]}else a.event.altKey&&(f=M.slice());function C(){32==a.event.keyCode&&(k||(f=null,M[0]-=o[1],M[1]-=s[1],k=2),U())}function P(){32==a.event.keyCode&&2==k&&(M[0]+=o[1],M[1]+=s[1],k=0,U())}function O(){var t=a.mouse(y),e=!1;g&&(t[0]+=g[0],t[1]+=g[1]),k||(a.event.altKey?(f||(f=[(o[0]+o[1])/2,(s[0]+s[1])/2]),M[0]=o[+(t[0]>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?d=new(f(e.dtype))(g):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=g));for(var y=0;yr||s>1073741824){for(var h=0;he+n||T>r+n||k=M||a===o)){var s=m[i];void 0===o&&(o=s.length);for(var l=a;l=v&&c<=y&&f>=g&&f<=b&&S.push(u)}var h=x[i],p=h[4*a+0],d=h[4*a+1],_=h[4*a+2],E=h[4*a+3],P=C(h,a+1),O=.5*n,I=i+1;L(e,r,O,I,p,d||_||E||P),L(e,r+O,O,I,d,_||E||P),L(e+O,r,O,I,_,E||P),L(e+O,r+O,O,I,E,P)}}function C(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}return L(0,0,1,0,0,1),S},d;function E(t,e,r,i,a){for(var o=[],s=0;s0){e+=Math.abs(o(t[0]));for(var r=1;r2){for(l=0;l=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},60302:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(23132);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;st[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},27138:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(94228);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;s=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")},e.radians2degrees=function(){throw new Error("method has been renamed to `radiansToDegrees`")},e.degrees2radians=function(){throw new Error("method has been renamed to `degreesToRadians`")},e.distanceToDegrees=function(){throw new Error("method has been renamed to `lengthToDegrees`")},e.distanceToRadians=function(){throw new Error("method has been renamed to `lengthToRadians`")},e.radiansToDistance=function(){throw new Error("method has been renamed to `radiansToLength`")},e.bearingToAngle=function(){throw new Error("method has been renamed to `bearingToAzimuth`")},e.convertDistance=function(){throw new Error("method has been renamed to `convertLength`")}},88553:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(64182);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;si&&(i=t[o]),t[o]1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;it.length)&&(r=t.length),t.substring(r-e.length,r)===e}var y="",m="",x="",b="",_={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function w(t){var e=Object.keys(t),r=Object.create(Object.getPrototypeOf(t));return e.forEach((function(e){r[e]=t[e]})),Object.defineProperty(r,"message",{value:t.message}),r}function T(t){return d(t,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var k=function(t){function e(t){var r;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),"object"!==p(t)||null===t)throw new v("options","Object",t);var i=t.message,a=t.operator,l=t.stackStartFn,u=t.actual,c=t.expected,f=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=i)r=o(this,h(e).call(this,String(i)));else if(n.stderr&&n.stderr.isTTY&&(n.stderr&&n.stderr.getColorDepth&&1!==n.stderr.getColorDepth()?(y="",m="",b="",x=""):(y="",m="",b="",x="")),"object"===p(u)&&null!==u&&"object"===p(c)&&null!==c&&"stack"in u&&u instanceof Error&&"stack"in c&&c instanceof Error&&(u=w(u),c=w(c)),"deepStrictEqual"===a||"strictEqual"===a)r=o(this,h(e).call(this,function(t,e,r){var i="",a="",o=0,s="",l=!1,u=T(t),c=u.split("\n"),f=T(e).split("\n"),h=0,d="";if("strictEqual"===r&&"object"===p(t)&&"object"===p(e)&&null!==t&&null!==e&&(r="strictEqualObject"),1===c.length&&1===f.length&&c[0]!==f[0]){var v=c[0].length+f[0].length;if(v<=10){if(!("object"===p(t)&&null!==t||"object"===p(e)&&null!==e||0===t&&0===e))return"".concat(_[r],"\n\n")+"".concat(c[0]," !== ").concat(f[0],"\n")}else if("strictEqualObject"!==r&&v<(n.stderr&&n.stderr.isTTY?n.stderr.columns:80)){for(;c[0][h]===f[0][h];)h++;h>2&&(d="\n ".concat(function(t,e){if(e=Math.floor(e),0==t.length||0==e)return"";var r=t.length*e;for(e=Math.floor(Math.log(e)/Math.log(2));e;)t+=t,e--;return t+t.substring(0,r-t.length)}(" ",h),"^"),h=0)}}for(var w=c[c.length-1],k=f[f.length-1];w===k&&(h++<2?s="\n ".concat(w).concat(s):i=w,c.pop(),f.pop(),0!==c.length&&0!==f.length);)w=c[c.length-1],k=f[f.length-1];var A=Math.max(c.length,f.length);if(0===A){var M=u.split("\n");if(M.length>30)for(M[26]="".concat(y,"...").concat(b);M.length>27;)M.pop();return"".concat(_.notIdentical,"\n\n").concat(M.join("\n"),"\n")}h>3&&(s="\n".concat(y,"...").concat(b).concat(s),l=!0),""!==i&&(s="\n ".concat(i).concat(s),i="");var S=0,E=_[r]+"\n".concat(m,"+ actual").concat(b," ").concat(x,"- expected").concat(b),L=" ".concat(y,"...").concat(b," Lines skipped");for(h=0;h1&&h>2&&(C>4?(a+="\n".concat(y,"...").concat(b),l=!0):C>3&&(a+="\n ".concat(f[h-2]),S++),a+="\n ".concat(f[h-1]),S++),o=h,i+="\n".concat(x,"-").concat(b," ").concat(f[h]),S++;else if(f.length1&&h>2&&(C>4?(a+="\n".concat(y,"...").concat(b),l=!0):C>3&&(a+="\n ".concat(c[h-2]),S++),a+="\n ".concat(c[h-1]),S++),o=h,a+="\n".concat(m,"+").concat(b," ").concat(c[h]),S++;else{var P=f[h],O=c[h],I=O!==P&&(!g(O,",")||O.slice(0,-1)!==P);I&&g(P,",")&&P.slice(0,-1)===O&&(I=!1,O+=","),I?(C>1&&h>2&&(C>4?(a+="\n".concat(y,"...").concat(b),l=!0):C>3&&(a+="\n ".concat(c[h-2]),S++),a+="\n ".concat(c[h-1]),S++),o=h,a+="\n".concat(m,"+").concat(b," ").concat(O),i+="\n".concat(x,"-").concat(b," ").concat(P),S+=2):(a+=i,i="",1!==C&&0!==h||(a+="\n ".concat(O),S++))}if(S>20&&h30)for(k[26]="".concat(y,"...").concat(b);k.length>27;)k.pop();r=1===k.length?o(this,h(e).call(this,"".concat(d," ").concat(k[0]))):o(this,h(e).call(this,"".concat(d,"\n\n").concat(k.join("\n"),"\n")))}else{var A=T(u),M="",S=_[a];"notDeepEqual"===a||"notEqual"===a?(A="".concat(_[a],"\n\n").concat(A)).length>1024&&(A="".concat(A.slice(0,1021),"...")):(M="".concat(T(c)),A.length>512&&(A="".concat(A.slice(0,509),"...")),M.length>512&&(M="".concat(M.slice(0,509),"...")),"deepEqual"===a||"equal"===a?A="".concat(S,"\n\n").concat(A,"\n\nshould equal\n\n"):M=" ".concat(a," ").concat(M)),r=o(this,h(e).call(this,"".concat(A).concat(M)))}return Error.stackTraceLimit=f,r.generatedMessage=!i,Object.defineProperty(s(r),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),r.code="ERR_ASSERTION",r.actual=u,r.expected=c,r.operator=a,Error.captureStackTrace&&Error.captureStackTrace(s(r),l),r.stack,r.name="AssertionError",o(r)}var r,l;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&f(t,e)}(e,t),r=e,l=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:d.custom,value:function(t,e){return d(this,function(t){for(var e=1;e2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}u("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),u("ERR_INVALID_ARG_TYPE",(function(t,e,i){var a,s,l,u,f;if(void 0===o&&(o=r(32791)),o("string"==typeof t,"'name' must be a string"),"string"==typeof e&&(s="not ",e.substr(0,s.length)===s)?(a="must not be",e=e.replace(/^not /,"")):a="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))l="The ".concat(t," ").concat(a," ").concat(c(e,"type"));else{var h=("number"!=typeof f&&(f=0),f+".".length>(u=t).length||-1===u.indexOf(".",f)?"argument":"property");l='The "'.concat(t,'" ').concat(h," ").concat(a," ").concat(c(e,"type"))}return l+". Received type ".concat(n(i))}),TypeError),u("ERR_INVALID_ARG_VALUE",(function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===s&&(s=r(43827));var i=s.inspect(e);return i.length>128&&(i="".concat(i.slice(0,128),"...")),"The argument '".concat(t,"' ").concat(n,". Received ").concat(i)}),TypeError,RangeError),u("ERR_INVALID_RETURN_VALUE",(function(t,e,r){var i;return i=r&&r.constructor&&r.constructor.name?"instance of ".concat(r.constructor.name):"type ".concat(n(r)),"Expected ".concat(t,' to be returned from the "').concat(e,'"')+" function but got ".concat(i,".")}),TypeError),u("ERR_MISSING_ARGS",(function(){for(var t=arguments.length,e=new Array(t),n=0;n0,"At least one arg needs to be specified");var i="The ",a=e.length;switch(e=e.map((function(t){return'"'.concat(t,'"')})),a){case 1:i+="".concat(e[0]," argument");break;case 2:i+="".concat(e[0]," and ").concat(e[1]," arguments");break;default:i+=e.slice(0,a-1).join(", "),i+=", and ".concat(e[a-1]," arguments")}return"".concat(i," must be specified")}),TypeError),t.exports.codes=l},74061:function(t,e,r){"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||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||null==s.return||s.return()}finally{if(i)throw a}}return r}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}var a=void 0!==/a/g.flags,o=function(t){var e=[];return t.forEach((function(t){return e.push(t)})),e},s=function(t){var e=[];return t.forEach((function(t,r){return e.push([r,t])})),e},l=Object.is?Object.is:r(64003),u=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},c=Number.isNaN?Number.isNaN:r(15567);function f(t){return t.call.bind(t)}var h=f(Object.prototype.hasOwnProperty),p=f(Object.prototype.propertyIsEnumerable),d=f(Object.prototype.toString),v=r(43827).types,g=v.isAnyArrayBuffer,y=v.isArrayBufferView,m=v.isDate,x=v.isMap,b=v.isRegExp,_=v.isSet,w=v.isNativeError,T=v.isBoxedPrimitive,k=v.isNumberObject,A=v.isStringObject,M=v.isBooleanObject,S=v.isBigIntObject,E=v.isSymbolObject,L=v.isFloat32Array,C=v.isFloat64Array;function P(t){if(0===t.length||t.length>10)return!0;for(var e=0;e57)return!0}return 10===t.length&&t>=Math.pow(2,32)}function O(t){return Object.keys(t).filter(P).concat(u(t).filter(Object.prototype.propertyIsEnumerable.bind(t)))}function I(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i0?o-4:o;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===s&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===s&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,l=n-i;sl?l:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,s=a.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},91358:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},13547:function(t,e){"use strict";function r(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}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.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},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,1+((t|=t>>>8)|t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=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<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.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},e.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},e.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},e.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},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},44781:function(t,e,r){"use strict";var n=r(53435);t.exports=function(t,e){e||(e={});var r,o,s,l,u,c,f,h,p,d,v,g=null==e.cutoff?.25:e.cutoff,y=null==e.radius?8:e.radius,m=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,o=e.height,l=t,c=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(f=(h=t).getContext("2d"),r=h.width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(f=t,r=(h=t.canvas).width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,c=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(r*o),d=0,v=u.length;d-1?i(r):r}},68222:function(t,e,r){"use strict";var n=r(77575),i=r(68318),a=i("%Function.prototype.apply%"),o=i("%Function.prototype.call%"),s=i("%Reflect.apply%",!0)||n.call(o,a),l=i("%Object.getOwnPropertyDescriptor%",!0),u=i("%Object.defineProperty%",!0),c=i("%Math.max%");if(u)try{u({},"a",{value:1})}catch(t){u=null}t.exports=function(t){var e=s(n,o,arguments);if(l&&u){var r=l(e,"length");r.configurable&&u(e,"length",{value:1+c(0,t.length-(arguments.length-1))})}return e};var f=function(){return s(n,a,arguments)};u?u(t.exports,"apply",{value:f}):t.exports.apply=f},53435:function(t){t.exports=function(t,e,r){return er?r:t:te?e:t}},6475:function(t,e,r){"use strict";var n=r(53435);function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(255&n(o,0,255))}t.exports=i,t.exports.to=i,t.exports.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]}},76857:function(t){"use strict";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},25075:function(t,e,r){"use strict";var n=r(36652),i=r(53435),a=r(90660);t.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(a(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},90736:function(t,e,r){"use strict";var n=r(76857),i=r(10973),a=r(46775);t.exports=function(t){var e,s,l=[],u=1;if("string"==typeof t)if(n[t])l=n[t].slice(),s="rgb";else if("transparent"===t)u=0,s="rgb",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var c=(p=t.slice(1)).length;u=1,c<=4?(l=[parseInt(p[0]+p[0],16),parseInt(p[1]+p[1],16),parseInt(p[2]+p[2],16)],4===c&&(u=parseInt(p[3]+p[3],16)/255)):(l=[parseInt(p[0]+p[1],16),parseInt(p[2]+p[3],16),parseInt(p[4]+p[5],16)],8===c&&(u=parseInt(p[6]+p[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var f=e[1],h="rgb"===f,p=f.replace(/a$/,"");s=p,c="cmyk"===p?4:"gray"===p?1:3,l=e[2].trim().split(/\s*,\s*/).map((function(t,e){if(/%$/.test(t))return e===c?parseFloat(t)/100:"rgb"===p?255*parseFloat(t)/100:parseFloat(t);if("h"===p[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)})),f===p&&l.push(1),u=h||void 0===l[c]?1:l[c],l=l.slice(0,c)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),s=t.match(/([a-z])/gi).join("").toLowerCase());else if(isNaN(t))if(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s="rgb",l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s="hsl",l=[a(t.h,t.hue,t.H),a(t.s,t.saturation,t.S),a(t.l,t.lightness,t.L,t.b,t.brightness)]),u=a(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(u/=100)}else(Array.isArray(t)||r.g.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s="rgb",u=4===t.length?t[3]:1);else s="rgb",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:u}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}},36652:function(t,e,r){"use strict";var n=r(90736),i=r(80009),a=r(53435);t.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),"h"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},80009:function(t,e,r){"use strict";var n=r(6866);t.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];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}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},6866:function(t){"use strict";t.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},24138:function(t){t.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|ç)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|é)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|é)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|ã)o.?tom(e|é)",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"}},72791:function(t,e,r){"use strict";t.exports={parse:r(41004),stringify:r(53313)}},63625:function(t,e,r){"use strict";var n=r(40402);t.exports={isSize:function(t){return/^[\d\.]/.test(t)||-1!==t.indexOf("/")||-1!==n.indexOf(t)}}},41004:function(t,e,r){"use strict";var n=r(90448),i=r(38732),a=r(41901),o=r(15659),s=r(96209),l=r(83794),u=r(99011),c=r(63625).isSize;t.exports=h;var f=h.cache={};function h(t){if("string"!=typeof t)throw new Error("Font argument must be a string.");if(f[t])return f[t];if(""===t)throw new Error("Cannot parse an empty string.");if(-1!==a.indexOf(t))return f[t]={system:t};for(var e,r={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},h=u(t,/\s+/);e=h.shift();){if(-1!==i.indexOf(e))return["style","variant","weight","stretch"].forEach((function(t){r[t]=e})),f[t]=r;if(-1===s.indexOf(e))if("normal"!==e&&"small-caps"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(c(e)){var d=u(e,"/");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):"/"===h[0]&&(h.shift(),r.lineHeight=p(h.shift())),!h.length)throw new Error("Missing required font-family.");return r.family=u(h.join(" "),/\s*,\s*/).map(n),f[t]=r}throw new Error("Unknown or unsupported font token: "+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error("Missing required font-size.")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},53313:function(t,e,r){"use strict";var n=r(71299),i=r(63625).isSize,a=d(r(38732)),o=d(r(41901)),s=d(r(15659)),l=d(r(96209)),u=d(r(83794)),c={normal:1,"small-caps":1},f={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},h="serif";function p(t,e){if(t&&!e[t]&&!a[t])throw Error("Unknown keyword `"+t+"`");return t}function d(t){for(var e={},r=0;re?1:t>=e?0:NaN}r.d(e,{j2:function(){return n},Fp:function(){return s},J6:function(){return u},TS:function(){return c},VV:function(){return f},w6:function(){return h},Sm:function(){return p}}),1===(i=n).length&&(a=i,i=function(t,e){return n(a(t),e)});var i,a,o=Array.prototype;function s(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n}function l(t){return null===t?NaN:+t}function u(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r}function f(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n}function h(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=n.length)return null!=t&&r.sort(t),null!=e?e(r):r;for(var u,c,f,h=-1,p=r.length,d=n[i++],v=o(),g=s();++hn.length)return t;var a,o=i[r-1];return null!=e&&r>=n.length?a=t.entries():(a=[],t.each((function(t,e){a.push({key:e,values:s(t,r)})}))),null!=o?a.sort((function(t,e){return o(t.key,e.key)})):a}return r={object:function(t){return a(t,0,l,u)},map:function(t){return a(t,0,c,f)},entries:function(t){return s(a(t,0,c,f),0)},key:function(t){return n.push(t),r},sortKeys:function(t){return i[n.length-1]=t,r},sortValues:function(e){return t=e,r},rollup:function(t){return e=t,r}}}function l(){return{}}function u(t,e,r){t[e]=r}function c(){return o()}function f(t,e,r){t.set(e,r)}function h(){}var p=o.prototype;h.prototype=function(t,e){var r=new h;if(t instanceof h)t.each((function(t){r.add(t)}));else if(t){var n=-1,i=t.length;if(null==e)for(;++n=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o,i=p,!(p=p[f=c<<1|u]))return i[f]=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[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(u=e>=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o}while((f=c<<1|u)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}function s(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i}function l(t){return t[0]}function u(t){return t[1]}function c(t,e,r){var n=new f(null==e?l:e,null==r?u:r,NaN,NaN,NaN,NaN);return null==t?n:n.addAll(t)}function f(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 h(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}r.r(e),r.d(e,{forceCenter:function(){return n},forceCollide:function(){return g},forceLink:function(){return b},forceManyBody:function(){return X},forceRadial:function(){return J},forceSimulation:function(){return W},forceX:function(){return K},forceY:function(){return $}});var p=c.prototype=f.prototype;function d(t){return t.x+t.vx}function v(t){return t.y+t.vy}function g(t){var e,r,n=1,o=1;function s(){for(var t,i,s,u,f,h,p,g=e.length,y=0;yu+d||if+d||os.index){var v=u-l.x-l.vx,g=f-l.y-l.vy,y=v*v+g*g;yt.r&&(t.r=t[e].r)}function u(){if(e){var n,i,a=e.length;for(r=new Array(a),n=0;nf&&(f=n),ih&&(h=i));if(u>f||c>h)return this;for(this.cover(u,c).cover(f,h),r=0;rt||t>=i||n>e||e>=a;)switch(s=(ep||(a=u.y0)>d||(o=u.x1)=m)<<1|t>=y)&&(u=v[v.length-1],v[v.length-1]=v[v.length-1-c],v[v.length-1-c]=u)}else{var x=t-+this._x.call(null,g.data),b=e-+this._y.call(null,g.data),_=x*x+b*b;if(_=(s=(d+g)/2))?d=s:g=s,(c=o>=(l=(v+y)/2))?v=l:y=l,e=p,!(p=p[f=c<<1|u]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}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[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},p.removeAll=function(t){for(var e=0,r=t.length;e=0&&(r=t.slice(n+1),t=t.slice(0,n)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:r}}))}function A(t,e){for(var r,n=0,i=t.length;n0)for(var r,n,i=new Array(r),a=0;a=0&&e._call.call(null,t),e=e._next;--C}()}finally{C=0,function(){for(var t,e,r=S,n=1/0;r;)r._call?(n>r._time&&(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:S=e);E=t,q(n)}(),D=0}}function H(){var t=R.now(),e=t-I;e>1e3&&(z-=e,I=t)}function q(t){C||(P&&(P=clearTimeout(P)),t-D>24?(t<1/0&&(P=setTimeout(V,t-R.now()-z)),O&&(O=clearInterval(O))):(O||(I=R.now(),O=setInterval(H,1e3)),C=1,F(V)))}function G(t){return t.x}function Z(t){return t.y}j.prototype=U.prototype={constructor:j,restart:function(t,e,r){if("function"!=typeof t)throw new TypeError("callback is not a function");r=(null==r?B():+r)+(null==e?0:+e),this._next||E===this||(E?E._next=this:S=this,E=this),this._call=t,this._time=r,q()},stop:function(){this._call&&(this._call=null,this._time=1/0,q())}};var Y=Math.PI*(3-Math.sqrt(5));function W(t){var e,r=1,n=.001,i=1-Math.pow(n,1/300),a=0,o=.6,s=(0,y.UI)(),l=U(c),u=L("tick","end");function c(){f(),u.call("tick",e),r1?(null==r?s.remove(t):s.set(t,p(r)),e):s.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;u1?(u.on(t,r),e):u.on(t)}}}function X(){var t,e,r,n,o=i(-30),s=1,l=1/0,u=.81;function f(n){var i,a=t.length,o=c(t,G,Z).visitAfter(p);for(r=n,i=0;i=l)){(t.data!==e||t.next)&&(0===f&&(d+=(f=a())*f),0===h&&(d+=(h=a())*h),d1?n[0]+n.slice(2):n,+t.slice(r+1)]}r.d(e,{WU:function(){return h},FF:function(){return v}});var i,a=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(t){if(!(e=a.exec(t)))throw new Error("invalid format: "+t);var e;return new s({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function s(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function l(t,e){var r=n(t,e);if(!r)return t+"";var i=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+i:i.length>a+1?i.slice(0,a+1)+"."+i.slice(a+1):i+new Array(a-i.length+2).join("0")}o.prototype=s.prototype,s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var u={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return l(100*t,e)},r:l,s:function(t,e){var r=n(t,e);if(!r)return t+"";var a=r[0],o=r[1],s=o-(i=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+new Array(s-l+1).join("0"):s>0?a.slice(0,s)+"."+a.slice(s):"0."+new Array(1-s).join("0")+n(t,Math.max(0,e+s-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function c(t){return t}var f,h,p=Array.prototype.map,d=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function v(t){var e,r,a=void 0===t.grouping||void 0===t.thousands?c:(e=p.call(t.grouping,Number),r=t.thousands+"",function(t,n){for(var i=t.length,a=[],o=0,s=e[0],l=0;i>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)>n));)s=e[o=(o+1)%e.length];return a.reverse().join(r)}),s=void 0===t.currency?"":t.currency[0]+"",l=void 0===t.currency?"":t.currency[1]+"",f=void 0===t.decimal?".":t.decimal+"",h=void 0===t.numerals?c:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(p.call(t.numerals,String)),v=void 0===t.percent?"%":t.percent+"",g=void 0===t.minus?"-":t.minus+"",y=void 0===t.nan?"NaN":t.nan+"";function m(t){var e=(t=o(t)).fill,r=t.align,n=t.sign,c=t.symbol,p=t.zero,m=t.width,x=t.comma,b=t.precision,_=t.trim,w=t.type;"n"===w?(x=!0,w="g"):u[w]||(void 0===b&&(b=12),_=!0,w="g"),(p||"0"===e&&"="===r)&&(p=!0,e="0",r="=");var T="$"===c?s:"#"===c&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",k="$"===c?l:/[%p]/.test(w)?v:"",A=u[w],M=/[defgprs%]/.test(w);function S(t){var o,s,l,u=T,c=k;if("c"===w)c=A(t)+c,t="";else{var v=(t=+t)<0||1/t<0;if(t=isNaN(t)?y:A(Math.abs(t),b),_&&(t=function(t){t:for(var e,r=t.length,n=1,i=-1;n0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),v&&0==+t&&"+"!==n&&(v=!1),u=(v?"("===n?n:g:"-"===n||"("===n?"":n)+u,c=("s"===w?d[8+i/3]:"")+c+(v&&"("===n?")":""),M)for(o=-1,s=t.length;++o(l=t.charCodeAt(o))||l>57){c=(46===l?f+t.slice(o+1):t.slice(o))+c,t=t.slice(0,o);break}}x&&!p&&(t=a(t,1/0));var S=u.length+t.length+c.length,E=S>1)+u+t+c+E.slice(S);break;default:t=E+u+t+c}return h(t)}return b=void 0===b?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),S.toString=function(){return t+""},S}return{format:m,formatPrefix:function(t,e){var r,i=m(((t=o(t)).type="f",t)),a=3*Math.max(-8,Math.min(8,Math.floor((r=e,((r=n(Math.abs(r)))?r[1]:NaN)/3)))),s=Math.pow(10,-a),l=d[8+a/3];return function(t){return i(s*t)+l}}}}f=v({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),h=f.format,f.formatPrefix},65704:function(t,e,r){"use strict";r.r(e),r.d(e,{geoAiry:function(){return z},geoAiryRaw:function(){return D},geoAitoff:function(){return F},geoAitoffRaw:function(){return R},geoArmadillo:function(){return N},geoArmadilloRaw:function(){return B},geoAugust:function(){return U},geoAugustRaw:function(){return j},geoBaker:function(){return G},geoBakerRaw:function(){return q},geoBerghaus:function(){return W},geoBerghausRaw:function(){return Y},geoBertin1953:function(){return rt},geoBertin1953Raw:function(){return et},geoBoggs:function(){return ct},geoBoggsRaw:function(){return ut},geoBonne:function(){return vt},geoBonneRaw:function(){return dt},geoBottomley:function(){return yt},geoBottomleyRaw:function(){return gt},geoBromley:function(){return xt},geoBromleyRaw:function(){return mt},geoChamberlin:function(){return Et},geoChamberlinAfrica:function(){return St},geoChamberlinRaw:function(){return At},geoCollignon:function(){return Ct},geoCollignonRaw:function(){return Lt},geoCraig:function(){return Ot},geoCraigRaw:function(){return Pt},geoCraster:function(){return zt},geoCrasterRaw:function(){return Dt},geoCylindricalEqualArea:function(){return Ft},geoCylindricalEqualAreaRaw:function(){return Rt},geoCylindricalStereographic:function(){return Nt},geoCylindricalStereographicRaw:function(){return Bt},geoEckert1:function(){return Ut},geoEckert1Raw:function(){return jt},geoEckert2:function(){return Ht},geoEckert2Raw:function(){return Vt},geoEckert3:function(){return Gt},geoEckert3Raw:function(){return qt},geoEckert4:function(){return Yt},geoEckert4Raw:function(){return Zt},geoEckert5:function(){return Xt},geoEckert5Raw:function(){return Wt},geoEckert6:function(){return Kt},geoEckert6Raw:function(){return Jt},geoEisenlohr:function(){return te},geoEisenlohrRaw:function(){return Qt},geoFahey:function(){return ne},geoFaheyRaw:function(){return re},geoFoucaut:function(){return ae},geoFoucautRaw:function(){return ie},geoFoucautSinusoidal:function(){return se},geoFoucautSinusoidalRaw:function(){return oe},geoGilbert:function(){return he},geoGingery:function(){return ge},geoGingeryRaw:function(){return pe},geoGinzburg4:function(){return xe},geoGinzburg4Raw:function(){return me},geoGinzburg5:function(){return _e},geoGinzburg5Raw:function(){return be},geoGinzburg6:function(){return Te},geoGinzburg6Raw:function(){return we},geoGinzburg8:function(){return Ae},geoGinzburg8Raw:function(){return ke},geoGinzburg9:function(){return Se},geoGinzburg9Raw:function(){return Me},geoGringorten:function(){return Ce},geoGringortenQuincuncial:function(){return ei},geoGringortenRaw:function(){return Le},geoGuyou:function(){return De},geoGuyouRaw:function(){return Ie},geoHammer:function(){return $},geoHammerRaw:function(){return J},geoHammerRetroazimuthal:function(){return Be},geoHammerRetroazimuthalRaw:function(){return Re},geoHealpix:function(){return Ye},geoHealpixRaw:function(){return He},geoHill:function(){return Xe},geoHillRaw:function(){return We},geoHomolosine:function(){return er},geoHomolosineRaw:function(){return tr},geoHufnagel:function(){return nr},geoHufnagelRaw:function(){return rr},geoHyperelliptical:function(){return sr},geoHyperellipticalRaw:function(){return or},geoInterrupt:function(){return fr},geoInterruptedBoggs:function(){return pr},geoInterruptedHomolosine:function(){return vr},geoInterruptedMollweide:function(){return yr},geoInterruptedMollweideHemispheres:function(){return xr},geoInterruptedQuarticAuthalic:function(){return hn},geoInterruptedSinuMollweide:function(){return _r},geoInterruptedSinusoidal:function(){return Tr},geoKavrayskiy7:function(){return Ar},geoKavrayskiy7Raw:function(){return kr},geoLagrange:function(){return Sr},geoLagrangeRaw:function(){return Mr},geoLarrivee:function(){return Cr},geoLarriveeRaw:function(){return Lr},geoLaskowski:function(){return Or},geoLaskowskiRaw:function(){return Pr},geoLittrow:function(){return Dr},geoLittrowRaw:function(){return Ir},geoLoximuthal:function(){return Rr},geoLoximuthalRaw:function(){return zr},geoMiller:function(){return Br},geoMillerRaw:function(){return Fr},geoModifiedStereographic:function(){return Jr},geoModifiedStereographicAlaska:function(){return Gr},geoModifiedStereographicGs48:function(){return Zr},geoModifiedStereographicGs50:function(){return Yr},geoModifiedStereographicLee:function(){return Xr},geoModifiedStereographicMiller:function(){return Wr},geoModifiedStereographicRaw:function(){return Nr},geoMollweide:function(){return ot},geoMollweideRaw:function(){return at},geoMtFlatPolarParabolic:function(){return tn},geoMtFlatPolarParabolicRaw:function(){return Qr},geoMtFlatPolarQuartic:function(){return rn},geoMtFlatPolarQuarticRaw:function(){return en},geoMtFlatPolarSinusoidal:function(){return an},geoMtFlatPolarSinusoidalRaw:function(){return nn},geoNaturalEarth:function(){return on.Z},geoNaturalEarth2:function(){return ln},geoNaturalEarth2Raw:function(){return sn},geoNaturalEarthRaw:function(){return on.K},geoNellHammer:function(){return cn},geoNellHammerRaw:function(){return un},geoNicolosi:function(){return dn},geoNicolosiRaw:function(){return pn},geoPatterson:function(){return _n},geoPattersonRaw:function(){return bn},geoPeirceQuincuncial:function(){return ri},geoPierceQuincuncial:function(){return ri},geoPolyconic:function(){return Tn},geoPolyconicRaw:function(){return wn},geoPolyhedral:function(){return Ln},geoPolyhedralButterfly:function(){return Rn},geoPolyhedralCollignon:function(){return Nn},geoPolyhedralWaterman:function(){return jn},geoProject:function(){return Gn},geoQuantize:function(){return ni},geoQuincuncial:function(){return ti},geoRectangularPolyconic:function(){return ai},geoRectangularPolyconicRaw:function(){return ii},geoRobinson:function(){return li},geoRobinsonRaw:function(){return si},geoSatellite:function(){return ci},geoSatelliteRaw:function(){return ui},geoSinuMollweide:function(){return Qe},geoSinuMollweideRaw:function(){return $e},geoSinusoidal:function(){return pt},geoSinusoidalRaw:function(){return ht},geoStitch:function(){return Ti},geoTimes:function(){return Ai},geoTimesRaw:function(){return ki},geoTwoPointAzimuthal:function(){return Li},geoTwoPointAzimuthalRaw:function(){return Si},geoTwoPointAzimuthalUsa:function(){return Ei},geoTwoPointEquidistant:function(){return Oi},geoTwoPointEquidistantRaw:function(){return Ci},geoTwoPointEquidistantUsa:function(){return Pi},geoVanDerGrinten:function(){return Di},geoVanDerGrinten2:function(){return Ri},geoVanDerGrinten2Raw:function(){return zi},geoVanDerGrinten3:function(){return Bi},geoVanDerGrinten3Raw:function(){return Fi},geoVanDerGrinten4:function(){return ji},geoVanDerGrinten4Raw:function(){return Ni},geoVanDerGrintenRaw:function(){return Ii},geoWagner:function(){return Vi},geoWagner4:function(){return Yi},geoWagner4Raw:function(){return Zi},geoWagner6:function(){return Xi},geoWagner6Raw:function(){return Wi},geoWagner7:function(){return Hi},geoWagnerRaw:function(){return Ui},geoWiechel:function(){return Ki},geoWiechelRaw:function(){return Ji},geoWinkel3:function(){return Qi},geoWinkel3Raw:function(){return $i}});var n=r(15002),i=Math.abs,a=Math.atan,o=Math.atan2,s=(Math.ceil,Math.cos),l=Math.exp,u=Math.floor,c=Math.log,f=Math.max,h=Math.min,p=Math.pow,d=Math.round,v=Math.sign||function(t){return t>0?1:t<0?-1:0},g=Math.sin,y=Math.tan,m=1e-6,x=1e-12,b=Math.PI,_=b/2,w=b/4,T=Math.SQRT1_2,k=P(2),A=P(b),M=2*b,S=180/b,E=b/180;function L(t){return t>1?_:t<-1?-_:Math.asin(t)}function C(t){return t>1?0:t<-1?b:Math.acos(t)}function P(t){return t>0?Math.sqrt(t):0}function O(t){return(l(t)-l(-t))/2}function I(t){return(l(t)+l(-t))/2}function D(t){var e=y(t/2),r=2*c(s(t/2))/(e*e);function n(t,e){var n=s(t),i=s(e),a=g(e),o=i*n,l=-((1-o?c((1+o)/2)/(1-o):-.5)+r/(1+o));return[l*i*g(t),l*a]}return n.invert=function(e,n){var a,l=P(e*e+n*n),u=-t/2,f=50;if(!l)return[0,0];do{var h=u/2,p=s(h),d=g(h),v=d/p,y=-c(i(p));u-=a=(2/v*y-r*v-l)/(-y/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(i(a)>m&&--f>0);var x=g(u);return[o(e*x,l*s(u)),L(n*x/l)]},n}function z(){var t=_,e=(0,n.r)(D),r=e(t);return r.radius=function(r){return arguments.length?e(t=r*E):t*S},r.scale(179.976).clipAngle(147)}function R(t,e){var r=s(e),n=function(t){return t?t/Math.sin(t):1}(C(r*s(t/=2)));return[2*r*g(t)*n,g(e)*n]}function F(){return(0,n.Z)(R).scale(152.63)}function B(t){var e=g(t),r=s(t),n=t>=0?1:-1,a=y(n*t),l=(1+e-r)/2;function u(t,i){var u=s(i),c=s(t/=2);return[(1+u)*g(t),(n*i>-o(c,a)-.001?0:10*-n)+l+g(i)*r-(1+u)*e*c]}return u.invert=function(t,u){var c=0,f=0,h=50;do{var p=s(c),d=g(c),v=s(f),y=g(f),x=1+v,b=x*d-t,_=l+y*r-x*e*p-u,w=x*p/2,T=-d*y,k=e*x*d/2,A=r*v+e*p*y,M=T*k-A*w,S=(_*T-b*A)/M/2,E=(b*k-_*w)/M;i(E)>2&&(E/=2),c-=S,f-=E}while((i(S)>m||i(E)>m)&&--h>0);return n*f>-o(s(c),a)-.001?[2*c,f]:null},u}function N(){var t=20*E,e=t>=0?1:-1,r=y(e*t),i=(0,n.r)(B),a=i(t),l=a.stream;return a.parallel=function(n){return arguments.length?(r=y((e=(t=n*E)>=0?1:-1)*t),i(t)):t*S},a.stream=function(n){var i=a.rotate(),u=l(n),c=(a.rotate([0,0]),l(n)),f=a.precision();return a.rotate(i),u.sphere=function(){c.polygonStart(),c.lineStart();for(var n=-180*e;e*n<180;n+=90*e)c.point(n,90*e);if(t)for(;e*(n-=3*e*f)>=-180;)c.point(n,e*-o(s(n*E/2),r)*S);c.lineEnd(),c.polygonEnd()},u},a.scale(218.695).center([0,28.0974])}function j(t,e){var r=y(e/2),n=P(1-r*r),i=1+n*s(t/=2),a=g(t)*n/i,o=r/i,l=a*a,u=o*o;return[4/3*a*(3+l-3*u),4/3*o*(3+3*l-u)]}function U(){return(0,n.Z)(j).scale(66.1603)}R.invert=function(t,e){if(!(t*t+4*e*e>b*b+m)){var r=t,n=e,a=25;do{var o,l=g(r),u=g(r/2),c=s(r/2),f=g(n),h=s(n),p=g(2*n),d=f*f,v=h*h,y=u*u,x=1-v*c*c,_=x?C(h*c)*P(o=1/x):o=0,w=2*_*h*u-t,T=_*f-e,k=o*(v*y+_*h*c*d),A=o*(.5*l*p-2*_*f*u),M=.25*o*(p*u-_*f*v*l),S=o*(d*c+_*y*h),E=A*M-S*k;if(!E)break;var L=(T*A-w*S)/E,O=(w*M-T*k)/E;r-=L,n-=O}while((i(L)>m||i(O)>m)&&--a>0);return[r,n]}},j.invert=function(t,e){if(e*=3/8,!(t*=3/8)&&i(e)>1)return null;var r=1+t*t+e*e,n=P((r-P(r*r-4*e*e))/2),a=L(n)/3,l=n?function(t){return c(t+P(t*t-1))}(i(e/n))/3:function(t){return c(t+P(t*t+1))}(i(t))/3,u=s(a),f=I(l),h=f*f-u*u;return[2*v(t)*o(O(l)*u,.25-h),2*v(e)*o(f*g(a),.25+h)]};var V=P(8),H=c(1+k);function q(t,e){var r=i(e);return rx&&--u>0);return[t/(s(o)*(V-1/g(o))),v(e)*o]};var Z=r(17889);function Y(t){var e=2*b/t;function r(t,r){var n=(0,Z.N)(t,r);if(i(t)>_){var a=o(n[1],n[0]),l=P(n[0]*n[0]+n[1]*n[1]),u=e*d((a-_)/e)+_,c=o(g(a-=u),2-s(a));a=u+L(b/l*g(c))-c,n[0]=l*s(a),n[1]=l*g(a)}return n}return r.invert=function(t,r){var n=P(t*t+r*r);if(n>_){var i=o(r,t),l=e*d((i-_)/e)+_,u=i>l?-1:1,c=n*s(l-i),f=1/y(u*C((c-b)/P(b*(b-2*c)+n*n)));i=l+2*a((f+u*P(f*f-3))/3),t=n*s(i),r=n*g(i)}return Z.N.invert(t,r)},r}function W(){var t=5,e=(0,n.r)(Y),r=e(t),i=r.stream,a=.01,l=-s(a*E),u=g(a*E);return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),c=i(e),f=(r.rotate([0,0]),i(e));return r.rotate(n),c.sphere=function(){f.polygonStart(),f.lineStart();for(var e=0,r=360/t,n=2*b/t,i=90-180/t,c=_;e0&&i(n)>m);return s<0?NaN:r}function tt(t,e,r){return void 0===e&&(e=40),void 0===r&&(r=x),function(n,a,o,s){var l,u,c;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var f=0;fl)o-=u/=2,s-=c/=2;else{l=v;var g=(o>0?-1:1)*r,y=(s>0?-1:1)*r,m=t(o+g,s),x=t(o,s+y),b=(m[0]-h[0])/g,_=(m[1]-h[1])/g,w=(x[0]-h[0])/y,T=(x[1]-h[1])/y,k=T*b-_*w,A=(i(k)<.5?.5:1)/k;if(o+=u=(d*w-p*T)*A,s+=c=(p*_-d*b)*A,i(u)0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return e.invert=tt(e),e}function rt(){return(0,n.Z)(et()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function nt(t,e){var r,n=t*g(e),a=30;do{e-=r=(e+g(e)-n)/(1+s(e))}while(i(r)>m&&--a>0);return e/2}function it(t,e,r){function n(n,i){return[t*n*s(i=nt(r,i)),e*g(i)]}return n.invert=function(n,i){return i=L(i/e),[n/(t*s(i)),L((2*i+g(2*i))/r)]},n}K.invert=function(t,e){var r=2*L(e/2);return[t*s(r/2)/s(r),r]};var at=it(k/_,k,b);function ot(){return(0,n.Z)(at).scale(169.529)}var st=2.00276,lt=1.11072;function ut(t,e){var r=nt(b,e);return[st*t/(1/s(e)+lt/s(r)),(e+k*g(r))/st]}function ct(){return(0,n.Z)(ut).scale(160.857)}function ft(t){var e=0,r=(0,n.r)(t),i=r(e);return i.parallel=function(t){return arguments.length?r(e=t*E):e*S},i}function ht(t,e){return[t*s(e),e]}function pt(){return(0,n.Z)(ht).scale(152.63)}function dt(t){if(!t)return ht;var e=1/y(t);function r(r,n){var i=e+t-n,a=i?r*s(n)/i:i;return[i*g(a),e-i*s(a)]}return r.invert=function(r,n){var i=P(r*r+(n=e-n)*n),a=e+t-i;return[i/s(a)*o(r,n),a]},r}function vt(){return ft(dt).scale(123.082).center([0,26.1441]).parallel(45)}function gt(t){function e(e,r){var n=_-r,i=n?e*t*g(n)/n:n;return[n*g(i)/t,_-n*s(i)]}return e.invert=function(e,r){var n=e*t,i=_-r,a=P(n*n+i*i),s=o(n,i);return[(a?a/g(a):1)*s/t,_-a]},e}function yt(){var t=.5,e=(0,n.r)(gt),r=e(t);return r.fraction=function(r){return arguments.length?e(t=+r):t},r.scale(158.837)}ut.invert=function(t,e){var r,n,a=st*e,o=e<0?-w:w,l=25;do{n=a-k*g(o),o-=r=(g(2*o)+2*o-b*g(n))/(2*s(2*o)+2+b*s(n)*k*s(o))}while(i(r)>m&&--l>0);return n=a-k*g(o),[t*(1/s(n)+lt/s(o))/st,n]},ht.invert=function(t,e){return[t/s(e),e]};var mt=it(1,4/b,b);function xt(){return(0,n.Z)(mt).scale(152.63)}var bt=r(66624),_t=r(49386);function wt(t,e,r,n,a,l){var u,c=s(l);if(i(t)>1||i(l)>1)u=C(r*a+e*n*c);else{var f=g(t/2),h=g(l/2);u=2*L(P(f*f+e*n*h*h))}return i(u)>m?[u,o(n*g(l),e*a-r*n*c)]:[0,0]}function Tt(t,e,r){return C((t*t+e*e-r*r)/(2*t*e))}function kt(t){return t-2*b*u((t+b)/(2*b))}function At(t,e,r){for(var n,i=[[t[0],t[1],g(t[1]),s(t[1])],[e[0],e[1],g(e[1]),s(e[1])],[r[0],r[1],g(r[1]),s(r[1])]],a=i[2],o=0;o<3;++o,a=n)n=i[o],a.v=wt(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=Tt(i[0].v[0],i[2].v[0],i[1].v[0]),u=Tt(i[0].v[0],i[1].v[0],i[2].v[0]),c=b-l;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var f=[i[2].point[0]=i[0].point[0]+i[2].v[0]*s(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*g(l))];return function(t,e){var r,n=g(e),a=s(e),o=new Array(3);for(r=0;r<3;++r){var l=i[r];if(o[r]=wt(e-l[1],l[3],l[2],a,n,t-l[0]),!o[r][0])return l.point;o[r][1]=kt(o[r][1]-l.v[1])}var h=f.slice();for(r=0;r<3;++r){var p=2==r?0:r+1,d=Tt(i[r].v[0],o[r][0],o[p][0]);o[r][1]<0&&(d=-d),r?1==r?(d=u-d,h[0]-=o[r][0]*s(d),h[1]-=o[r][0]*g(d)):(d=c-d,h[0]+=o[r][0]*s(d),h[1]+=o[r][0]*g(d)):(h[0]+=o[r][0]*s(d),h[1]-=o[r][0]*g(d))}return h[0]/=3,h[1]/=3,h}}function Mt(t){return t[0]*=E,t[1]*=E,t}function St(){return Et([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Et(t,e,r){var i=(0,bt.Z)({type:"MultiPoint",coordinates:[t,e,r]}),a=[-i[0],-i[1]],o=(0,_t.Z)(a),s=At(Mt(o(t)),Mt(o(e)),Mt(o(r)));s.invert=tt(s);var l=(0,n.Z)(s).rotate(a),u=l.center;return delete l.rotate,l.center=function(t){return arguments.length?u(o(t)):o.invert(u())},l.clipAngle(90)}function Lt(t,e){var r=P(1-g(e));return[2/A*t*r,A*(1-r)]}function Ct(){return(0,n.Z)(Lt).scale(95.6464).center([0,30])}function Pt(t){var e=y(t);function r(t,r){return[t,(t?t/g(t):1)*(g(r)*s(t)-e*s(r))]}return r.invert=e?function(t,r){t&&(r*=g(t)/t);var n=s(t);return[t,2*o(P(n*n+e*e-r*r)-n,e-r)]}:function(t,e){return[t,L(t?e*y(t)/t:e)]},r}function Ot(){return ft(Pt).scale(249.828).clipAngle(90)}Lt.invert=function(t,e){var r=(r=e/A-1)*r;return[r>0?t*P(b/r)/2:0,L(1-r)]};var It=P(3);function Dt(t,e){return[It*t*(2*s(2*e/3)-1)/A,It*A*g(e/3)]}function zt(){return(0,n.Z)(Dt).scale(156.19)}function Rt(t){var e=s(t);function r(t,r){return[t*e,g(r)/e]}return r.invert=function(t,r){return[t/e,L(r*e)]},r}function Ft(){return ft(Rt).parallel(38.58).scale(195.044)}function Bt(t){var e=s(t);function r(t,r){return[t*e,(1+e)*y(r/2)]}return r.invert=function(t,r){return[t/e,2*a(r/(1+e))]},r}function Nt(){return ft(Bt).scale(124.75)}function jt(t,e){var r=P(8/(3*b));return[r*t*(1-i(e)/b),r*e]}function Ut(){return(0,n.Z)(jt).scale(165.664)}function Vt(t,e){var r=P(4-3*g(i(e)));return[2/P(6*b)*t*r,v(e)*P(2*b/3)*(2-r)]}function Ht(){return(0,n.Z)(Vt).scale(165.664)}function qt(t,e){var r=P(b*(4+b));return[2/r*t*(1+P(1-4*e*e/(b*b))),4/r*e]}function Gt(){return(0,n.Z)(qt).scale(180.739)}function Zt(t,e){var r=(2+_)*g(e);e/=2;for(var n=0,a=1/0;n<10&&i(a)>m;n++){var o=s(e);e-=a=(e+g(e)*(o+2)-r)/(2*o*(1+o))}return[2/P(b*(4+b))*t*(1+s(e)),2*P(b/(4+b))*g(e)]}function Yt(){return(0,n.Z)(Zt).scale(180.739)}function Wt(t,e){return[t*(1+s(e))/P(2+b),2*e/P(2+b)]}function Xt(){return(0,n.Z)(Wt).scale(173.044)}function Jt(t,e){for(var r=(1+_)*g(e),n=0,a=1/0;n<10&&i(a)>m;n++)e-=a=(e+g(e)-r)/(1+s(e));return r=P(2+b),[t*(1+s(e))/r,2*e/r]}function Kt(){return(0,n.Z)(Jt).scale(173.044)}Dt.invert=function(t,e){var r=3*L(e/(It*A));return[A*t/(It*(2*s(2*r/3)-1)),r]},jt.invert=function(t,e){var r=P(8/(3*b)),n=e/r;return[t/(r*(1-i(n)/b)),n]},Vt.invert=function(t,e){var r=2-i(e)/P(2*b/3);return[t*P(6*b)/(2*r),v(e)*L((4-r*r)/3)]},qt.invert=function(t,e){var r=P(b*(4+b))/2;return[t*r/(1+P(1-e*e*(4+b)/(4*b))),e*r/2]},Zt.invert=function(t,e){var r=e*P((4+b)/b)/2,n=L(r),i=s(n);return[t/(2/P(b*(4+b))*(1+i)),L((n+r*(i+2))/(2+_))]},Wt.invert=function(t,e){var r=P(2+b),n=e*r/2;return[r*t/(1+s(n)),n]},Jt.invert=function(t,e){var r=1+_,n=P(r/2);return[2*t*n/(1+s(e*=n)),L((e+g(e))/r)]};var $t=3+2*k;function Qt(t,e){var r=g(t/=2),n=s(t),i=P(s(e)),o=s(e/=2),l=g(e)/(o+k*n*i),u=P(2/(1+l*l)),f=P((k*o+(n+r)*i)/(k*o+(n-r)*i));return[$t*(u*(f-1/f)-2*c(f)),$t*(u*l*(f+1/f)-2*a(l))]}function te(){return(0,n.Z)(Qt).scale(62.5271)}Qt.invert=function(t,e){if(!(r=j.invert(t/1.2,1.065*e)))return null;var r,n=r[0],o=r[1],l=20;t/=$t,e/=$t;do{var u=n/2,p=o/2,d=g(u),v=s(u),y=g(p),x=s(p),b=s(o),w=P(b),A=y/(x+k*v*w),M=A*A,S=P(2/(1+M)),E=(k*x+(v+d)*w)/(k*x+(v-d)*w),L=P(E),C=L-1/L,O=L+1/L,I=S*C-2*c(L)-t,D=S*A*O-2*a(A)-e,z=y&&T*w*d*M/y,R=(k*v*x+w)/(2*(x+k*v*w)*(x+k*v*w)*w),F=-.5*A*S*S*S,B=F*z,N=F*R,U=(U=2*x+k*w*(v-d))*U*L,V=(k*v*x*w+b)/U,H=-k*d*y/(w*U),q=C*B-2*V/L+S*(V+V/E),G=C*N-2*H/L+S*(H+H/E),Z=A*O*B-2*z/(1+M)+S*O*z+S*A*(V-V/E),Y=A*O*N-2*R/(1+M)+S*O*R+S*A*(H-H/E),W=G*Z-Y*q;if(!W)break;var X=(D*G-I*Y)/W,J=(I*Z-D*q)/W;n-=X,o=f(-_,h(_,o-J))}while((i(X)>m||i(J)>m)&&--l>0);return i(i(o)-_)n){var h=P(f),p=o(c,u),v=r*d(p/r),y=p-v,x=t*s(y),w=(t*g(y)-y*g(x))/(_-x),T=de(y,w),k=(b-t)/ve(T,x,b);u=h;var A,M=50;do{u-=A=(t+ve(T,x,u)*k-h)/(T(u)*k)}while(i(A)>m&&--M>0);c=y*g(u),u<_&&(c-=w*(u-_));var S=g(v),E=s(v);l[0]=u*E-c*S,l[1]=u*S+c*E}return l}return a.invert=function(e,a){var l=e*e+a*a;if(l>n){var u=P(l),c=o(a,e),f=r*d(c/r),h=c-f;e=u*s(h),a=u*g(h);for(var p=e-_,v=g(e),y=a/v,m=e<_?1/0:0,w=10;;){var T=t*g(y),k=t*s(y),A=g(k),M=_-k,S=(T-y*A)/M,E=de(y,S);if(i(m)m||i(p)>m)&&--y>0);return[d,v]},c}var me=ye(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function xe(){return(0,n.Z)(me).scale(149.995)}var be=ye(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function _e(){return(0,n.Z)(be).scale(153.93)}var we=ye(5/6*b,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Te(){return(0,n.Z)(we).scale(130.945)}function ke(t,e){var r=t*t,n=e*e;return[t*(1-.162388*n)*(.87-952426e-9*r*r),e*(1+n/12)]}function Ae(){return(0,n.Z)(ke).scale(131.747)}ke.invert=function(t,e){var r,n=t,a=e,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-e)/(1+s/4)}while(i(r)>m&&--o>0);o=50,t/=1-.162388*s;do{var l=(l=n*n)*l;n-=r=(n*(.87-952426e-9*l)-t)/(.87-.00476213*l)}while(i(r)>m&&--o>0);return[n,a]};var Me=ye(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Se(){return(0,n.Z)(Me).scale(131.087)}function Ee(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var i=r>0?-.5:.5,a=t(r+i*b,n);return a[0]-=i*e,a}return t.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=t.invert(r+i*e,n),o=a[0]-i*b;return o<-b?o+=2*b:o>b&&(o-=2*b),a[0]=o,a}),r}function Le(t,e){var r=v(t),n=v(e),a=s(e),l=s(t)*a,u=g(t)*a,c=g(n*e);t=i(o(u,c)),e=L(l),i(t-_)>m&&(t%=_);var f=function(t,e){if(e===_)return[0,0];var r,n,a=g(e),o=a*a,l=o*o,u=1+l,c=1+3*l,f=1-l,h=L(1/P(u)),p=f+o*u*h,d=(1-a)/p,v=P(d),y=d*u,x=P(y),w=v*f;if(0===t)return[0,-(w+o*x)];var T,k=s(e),A=1/k,M=2*a*k,S=(-p*k-(-3*o+h*c)*M*(1-a))/(p*p),E=-A*M,C=-A*(o*u*S+d*c*M),O=-2*A*(f*(.5*S/v)-2*o*v*M),I=4*t/b;if(t>.222*b||e.175*b){if(r=(w+o*P(y*(1+l)-w*w))/(1+l),t>b/4)return[r,r];var D=r,z=.5*r;r=.5*(z+D),n=50;do{var R=r*(O+E*P(y-r*r))+C*L(r/x)-I;if(!R)break;R<0?z=r:D=r,r=.5*(z+D)}while(i(D-z)>m&&--n>0)}else{r=m,n=25;do{var F=r*r,B=P(y-F),N=O+E*B,j=r*N+C*L(r/x)-I;r-=T=B?j/(N+(C-E*F)/B):0}while(i(T)>m&&--n>0)}return[r,-w-o*P(y-r*r)]}(t>b/4?_-t:t,e);return t>b/4&&(c=f[0],f[0]=-f[1],f[1]=-c),f[0]*=r,f[1]*=-n,f}function Ce(){return(0,n.Z)(Ee(Le)).scale(239.75)}function Pe(t,e){var r,n,o,u,c,f;if(e=.999999)return r=(1-e)/4,o=1/(n=I(t)),[(u=((f=l(2*(f=t)))-1)/(f+1))+r*((c=n*O(t))-t)/(n*n),o-r*u*o*(c-t),o+r*u*o*(c+t),2*a(l(t))-_+r*(c-t)/n];var h=[1,0,0,0,0,0,0,0,0],p=[P(e),0,0,0,0,0,0,0,0],d=0;for(n=P(1-e),c=1;i(p[d]/h[d])>m&&d<8;)r=h[d++],p[d]=(r-n)/2,h[d]=(r+n)/2,n=P(r*n),c*=2;o=c*h[d]*t;do{o=(L(u=p[d]*g(n=o)/h[d])+o)/2}while(--d);return[g(o),u=s(o),u/s(o-n),o]}function Oe(t,e){if(!e)return t;if(1===e)return c(y(t/2+w));for(var r=1,n=P(1-e),o=P(e),s=0;i(o)>m;s++){if(t%b){var l=a(n*y(t)/r);l<0&&(l+=b),t+=l+~~(t/b)*b}else t+=t;o=(r+n)/2,n=P(r*n),o=((r=o)-n)/2}return t/(p(2,s)*r)}function Ie(t,e){var r=(k-1)/(k+1),n=P(1-r*r),u=Oe(_,n*n),f=c(y(b/4+i(e)/2)),h=l(-1*f)/P(r),p=function(t,e){var r=t*t,n=e+1,i=1-r-e*e;return[.5*((t>=0?_:-_)-o(i,2*t)),-.25*c(i*i+4*r)+.5*c(n*n+r)]}(h*s(-1*t),h*g(-1*t)),d=function(t,e,r){var n=i(t),o=O(i(e));if(n){var s=1/g(n),l=1/(y(n)*y(n)),u=-(l+r*(o*o*s*s)-1+r),c=(-u+P(u*u-(r-1)*l*4))/2;return[Oe(a(1/P(c)),r)*v(t),Oe(a(P((c/l-1)/r)),1-r)*v(e)]}return[0,Oe(a(o),1-r)*v(e)]}(p[0],p[1],n*n);return[-d[1],(e>=0?1:-1)*(.5*u-d[0])]}function De(){return(0,n.Z)(Ee(Ie)).scale(151.496)}Le.invert=function(t,e){i(t)>1&&(t=2*v(t)-t),i(e)>1&&(e=2*v(e)-e);var r=v(t),n=v(e),a=-r*t,l=-n*e,u=l/a<1,c=function(t,e){for(var r=0,n=1,a=.5,o=50;;){var l=a*a,u=P(a),c=L(1/P(1+l)),f=1-l+a*(1+l)*c,h=(1-u)/f,p=P(h),d=h*(1+l),v=p*(1-l),g=P(d-t*t),y=e+v+a*g;if(i(n-r)0?r=a:n=a,a=.5*(r+n)}if(!o)return null;var m=L(u),_=s(m),w=1/_,T=2*u*_,k=(-f*_-(-3*a+c*(1+3*l))*T*(1-u))/(f*f);return[b/4*(t*(-2*w*(.5*k/p*(1-l)-2*a*p*T)+-w*T*g)+-w*(a*(1+l)*k+h*(1+3*l)*T)*L(t/P(d))),m]}(u?l:a,u?a:l),f=c[0],h=c[1],p=s(h);return u&&(f=-_-f),[r*(o(g(f)*p,-g(h))+b),n*L(s(f)*p)]},Ie.invert=function(t,e){var r,n,i,s,u,f,h=(k-1)/(k+1),p=P(1-h*h),d=(n=-t,i=p*p,(r=.5*Oe(_,p*p)-e)?(s=Pe(r,i),n?(f=(u=Pe(n,1-i))[1]*u[1]+i*s[0]*s[0]*u[0]*u[0],[[s[0]*u[2]/f,s[1]*s[2]*u[0]*u[1]/f],[s[1]*u[1]/f,-s[0]*s[2]*u[0]*u[2]/f],[s[2]*u[1]*u[2]/f,-i*s[0]*s[1]*u[0]/f]]):[[s[0],0],[s[1],0],[s[2],0]]):[[0,(u=Pe(n,1-i))[0]/u[1]],[1/u[1],0],[u[2]/u[1],0]]),v=function(t,e){var r=e[0]*e[0]+e[1]*e[1];return[(t[0]*e[0]+t[1]*e[1])/r,(t[1]*e[0]-t[0]*e[1])/r]}(d[0],d[1]);return[o(v[1],v[0])/-1,2*a(l(-.5*c(h*v[0]*v[0]+h*v[1]*v[1])))-_]};var ze=r(7613);function Re(t){var e=g(t),r=s(t),n=Fe(t);function a(t,a){var o=n(t,a);t=o[0],a=o[1];var l=g(a),u=s(a),c=s(t),f=C(e*l+r*u*c),h=g(f),p=i(h)>m?f/h:1;return[p*r*g(t),(i(t)>_?p:-p)*(e*u-r*l*c)]}return n.invert=Fe(-t),a.invert=function(t,r){var i=P(t*t+r*r),a=-g(i),l=s(i),u=i*l,c=-r*a,f=i*e,h=P(u*u+c*c-f*f),p=o(u*f+c*h,c*f-u*h),d=(i>_?-1:1)*o(t*a,i*s(p)*l+r*g(p)*a);return n.invert(d,p)},a}function Fe(t){var e=g(t),r=s(t);return function(t,n){var i=s(n),a=s(t)*i,l=g(t)*i,u=g(n);return[o(l,a*r-u*e),L(u*r+a*e)]}}function Be(){var t=0,e=(0,n.r)(Re),r=e(t),i=r.rotate,a=r.stream,o=(0,ze.Z)();return r.parallel=function(n){if(!arguments.length)return t*S;var i=r.rotate();return e(t=n*E).rotate(i)},r.rotate=function(e){return arguments.length?(i.call(r,[e[0],e[1]-t*S]),o.center([-e[0],-e[1]]),r):((e=i.call(r))[1]+=t*S,e)},r.stream=function(t){return(t=a(t)).sphere=function(){t.polygonStart();var e,r=o.radius(89.99)().coordinates[0],n=r.length-1,i=-1;for(t.lineStart();++i=0;)t.point((e=r[i])[0],e[1]);t.lineEnd(),t.polygonEnd()},t},r.scale(79.4187).parallel(45).clipAngle(179.999)}var Ne=r(33064),je=r(72736),Ue=L(1-1/3)*S,Ve=Rt(0);function He(t){var e=Ue*E,r=Lt(b,e)[0]-Lt(-b,e)[0],n=Ve(0,e)[1],a=Lt(0,e)[1],o=A-a,s=M/t,l=4/M,c=n+o*o*4/M;function p(p,d){var v,g=i(d);if(g>e){var y=h(t-1,f(0,u((p+b)/s)));(v=Lt(p+=b*(t-1)/t-y*s,g))[0]=v[0]*M/r-M*(t-1)/(2*t)+y*M/t,v[1]=n+4*(v[1]-a)*o/M,d<0&&(v[1]=-v[1])}else v=Ve(p,d);return v[0]*=l,v[1]/=c,v}return p.invert=function(e,p){e/=l;var d=i(p*=c);if(d>n){var v=h(t-1,f(0,u((e+b)/s)));e=(e+b*(t-1)/t-v*s)*r/M;var g=Lt.invert(e,.25*(d-n)*M/o+a);return g[0]-=b*(t-1)/t-v*s,p<0&&(g[1]=-g[1]),g}return Ve.invert(e,p)},p}function qe(t,e){return[t,1&e?89.999999:Ue]}function Ge(t,e){return[t,1&e?-89.999999:-Ue]}function Ze(t){return[.999999*t[0],t[1]]}function Ye(){var t=4,e=(0,n.r)(He),r=e(t),i=r.stream;return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),a=i(e),o=(r.rotate([0,0]),i(e));return r.rotate(n),a.sphere=function(){var e,r;(0,je.Z)((e=180/t,r=[].concat((0,Ne.w6)(-180,180+e/2,e).map(qe),(0,Ne.w6)(180,-180-e/2,-e).map(Ge)),{type:"Polygon",coordinates:[180===e?r.map(Ze):r]}),o)},a},r.scale(239.75)}function We(t){var e,r=1+t,n=L(g(1/r)),a=2*P(b/(e=b+4*n*r)),l=.5*a*(r+P(t*(2+t))),u=t*t,c=r*r;function f(f,h){var p,d,v=1-g(h);if(v&&v<2){var y,m=_-h,w=25;do{var T=g(m),k=s(m),A=n+o(T,r-k),M=1+c-2*r*k;m-=y=(m-u*n-r*T+M*A-.5*v*e)/(2*r*T*A)}while(i(y)>x&&--w>0);p=a*P(M),d=f*A/b}else p=a*(t+v),d=f*n/b;return[p*g(d),l-p*s(d)]}return f.invert=function(t,i){var s=t*t+(i-=l)*i,f=(1+c-s/(a*a))/(2*r),h=C(f),p=g(h),d=n+o(p,r-f);return[L(t/P(s))*b/d,L(1-2*(h-u*n-r*p+(1+c-2*r*f)*d)/e)]},f}function Xe(){var t=1,e=(0,n.r)(We),r=e(t);return r.ratio=function(r){return arguments.length?e(t=+r):t},r.scale(167.774).center([0,18.67])}var Je=.7109889596207567,Ke=.0528035274542;function $e(t,e){return e>-Je?((t=at(t,e))[1]+=Ke,t):ht(t,e)}function Qe(){return(0,n.Z)($e).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function tr(t,e){return i(e)>Je?((t=at(t,e))[1]-=e>0?Ke:-Ke,t):ht(t,e)}function er(){return(0,n.Z)(tr).scale(152.63)}function rr(t,e,r,n){var i=P(4*b/(2*r+(1+t-e/2)*g(2*r)+(t+e)/2*g(4*r)+e/2*g(6*r))),a=P(n*g(r)*P((1+t*s(2*r)+e*s(4*r))/(1+t+e))),o=r*u(1);function l(r){return P(1+t*s(2*r)+e*s(4*r))}function u(n){var i=n*r;return(2*i+(1+t-e/2)*g(2*i)+(t+e)/2*g(4*i)+e/2*g(6*i))/r}function c(t){return l(t)*g(t)}var f=function(t,e){var n=r*Q(u,o*g(e)/r,e/b);isNaN(n)&&(n=r*v(e));var c=i*l(n);return[c*a*t/b*s(n),c/a*g(n)]};return f.invert=function(t,e){var n=Q(c,e*a/i);return[t*b/(s(n)*i*a*l(n)),L(r*u(n/r)/o)]},0===r&&(i=P(n/b),(f=function(t,e){return[t*i,g(e)/i]}).invert=function(t,e){return[t/i,L(e*i)]}),f}function nr(){var t=1,e=0,r=45*E,i=2,a=(0,n.r)(rr),o=a(t,e,r,i);return o.a=function(n){return arguments.length?a(t=+n,e,r,i):t},o.b=function(n){return arguments.length?a(t,e=+n,r,i):e},o.psiMax=function(n){return arguments.length?a(t,e,r=+n*E,i):r*S},o.ratio=function(n){return arguments.length?a(t,e,r,i=+n):i},o.scale(180.739)}function ir(t,e,r,n,i,a,o,s,l,u,c){if(c.nanEncountered)return NaN;var f,h,p,d,v,g,y,m,x,b;if(h=t(e+.25*(f=r-e)),p=t(r-.25*f),isNaN(h))c.nanEncountered=!0;else{if(!isNaN(p))return b=((g=(d=f*(n+4*h+i)/12)+(v=f*(i+4*p+a)/12))-o)/15,u>l?(c.maxDepthCount++,g+b):Math.abs(b)t?r=n:e=n,n=e+r>>1}while(n>e);var i=u[n+1]-u[n];return i&&(i=(t-u[n+1])/i),(n+1+i)/s}var h=2*f(1)/b*o/r,d=function(t,e){var r=f(i(g(e))),a=n(r)*t;return r/=h,[a,e>=0?r:-r]};return d.invert=function(t,e){var r;return i(e*=h)<1&&(r=v(e)*L(a(i(e))*o)),[t/n(i(e)),r]},d}function sr(){var t=0,e=2.5,r=1.183136,i=(0,n.r)(or),a=i(t,e,r);return a.alpha=function(n){return arguments.length?i(t=+n,e,r):t},a.k=function(n){return arguments.length?i(t,e=+n,r):e},a.gamma=function(n){return arguments.length?i(t,e,r=+n):r},a.scale(152.63)}function lr(t,e){return i(t[0]-e[0])=0;--s)r=(e=t[1][s])[0][0],n=e[0][1],i=e[1][1],a=e[2][0],o=e[2][1],l.push(ur([[a-m,o-m],[a-m,i+m],[r+m,i+m],[r+m,n-m]],30));return{type:"Polygon",coordinates:[(0,Ne.TS)(l)]}}function fr(t,e,r){var i,a;function o(r,n){for(var i=n<0?-1:1,a=e[+(n<0)],o=0,s=a.length-1;oa[o][2][0];++o);var l=t(r-a[o][1][0],n);return l[0]+=t(a[o][1][0],i*n>i*a[o][0][1]?a[o][0][1]:n)[0],l}r?o.invert=r(o):t.invert&&(o.invert=function(r,n){for(var i=a[+(n<0)],s=e[+(n<0)],l=0,u=i.length;lo&&(r=a,a=o,o=r),[[n,a],[i,o]]}))})),s):e.map((function(t){return t.map((function(t){return[[t[0][0]*S,t[0][1]*S],[t[1][0]*S,t[1][1]*S],[t[2][0]*S,t[2][1]*S]]}))}))},null!=e&&s.lobes(e),s}$e.invert=function(t,e){return e>-Je?at.invert(t,e-Ke):ht.invert(t,e)},tr.invert=function(t,e){return i(e)>Je?at.invert(t,e+(e>0?Ke:-Ke)):ht.invert(t,e)};var hr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function pr(){return fr(ut,hr).scale(160.857)}var dr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function vr(){return fr(tr,dr).scale(152.63)}var gr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function yr(){return fr(at,gr).scale(169.529)}var mr=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function xr(){return fr(at,mr).scale(169.529).rotate([20,0])}var br=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function _r(){return fr($e,br,tt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var wr=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function Tr(){return fr(ht,wr).scale(152.63).rotate([-20,0])}function kr(t,e){return[3/M*t*P(b*b/3-e*e),e]}function Ar(){return(0,n.Z)(kr).scale(158.837)}function Mr(t){function e(e,r){if(i(i(r)-_)2)return null;var a=(e/=2)*e,s=(r/=2)*r,l=2*r/(1+a+s);return l=p((1+l)/(1-l),1/t),[o(2*e,1-a-s)/t,L((l-1)/(l+1))]},e}function Sr(){var t=.5,e=(0,n.r)(Mr),r=e(t);return r.spacing=function(r){return arguments.length?e(t=+r):t},r.scale(124.75)}kr.invert=function(t,e){return[M/3*t/P(b*b/3-e*e),e]};var Er=b/k;function Lr(t,e){return[t*(1+P(s(e)))/2,e/(s(e/2)*s(t/6))]}function Cr(){return(0,n.Z)(Lr).scale(97.2672)}function Pr(t,e){var r=t*t,n=e*e;return[t*(.975534+n*(-.0143059*r-.119161+-.0547009*n)),e*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function Or(){return(0,n.Z)(Pr).scale(139.98)}function Ir(t,e){return[g(t)/s(e),y(e)*s(t)]}function Dr(){return(0,n.Z)(Ir).scale(144.049).clipAngle(89.999)}function zr(t){var e=s(t),r=y(w+t/2);function n(n,a){var o=a-t,s=i(o)=0;)h=(f=t[c])[0]+l*(i=h)-u*p,p=f[1]+l*p+u*i;return[h=l*(i=h)-u*p,p=l*p+u*i]}return r.invert=function(r,n){var l=20,u=r,c=n;do{for(var f,h=e,p=t[h],d=p[0],v=p[1],y=0,m=0;--h>=0;)y=d+u*(f=y)-c*m,m=v+u*m+c*f,d=(p=t[h])[0]+u*(f=d)-c*v,v=p[1]+u*v+c*f;var x,b,_=(y=d+u*(f=y)-c*m)*y+(m=v+u*m+c*f)*m;u-=x=((d=u*(f=d)-c*v-r)*y+(v=u*v+c*f-n)*m)/_,c-=b=(v*y-d*m)/_}while(i(x)+i(b)>1e-12&&--l>0);if(l){var w=P(u*u+c*c),T=2*a(.5*w),k=g(T);return[o(u*k,w*s(T)),w?L(c*k/w):0]}},r}Lr.invert=function(t,e){var r=i(t),n=i(e),a=m,o=_;nm||i(x)>m)&&--a>0);return a&&[r,n]},Ir.invert=function(t,e){var r=t*t,n=e*e+1,i=r+n,a=t?T*P((i-P(i*i-4*r))/r):1/P(n);return[L(t*a),v(e)*C(a)]},Fr.invert=function(t,e){return[t,2.5*a(l(.8*e))-.625*b]};var jr=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],Ur=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Vr=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Hr=[[.9245,0],[0,0],[.01943,0]],qr=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Gr(){return Jr(jr,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function Zr(){return Jr(Ur,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Yr(){return Jr(Vr,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Wr(){return Jr(Hr,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function Xr(){return Jr(qr,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Jr(t,e){var r=(0,n.Z)(Nr(t)).rotate(e).clipAngle(90),i=(0,_t.Z)(e),a=r.center;return delete r.rotate,r.center=function(t){return arguments.length?a(i(t)):i.invert(a())},r}var Kr=P(6),$r=P(7);function Qr(t,e){var r=L(7*g(e)/(3*Kr));return[Kr*t*(2*s(2*r/3)-1)/$r,9*g(r/3)/$r]}function tn(){return(0,n.Z)(Qr).scale(164.859)}function en(t,e){for(var r,n=(1+T)*g(e),a=e,o=0;o<25&&(a-=r=(g(a/2)+g(a)-n)/(.5*s(a/2)+s(a)),!(i(r)x&&--l>0);return[t/(.84719-.13063*(n=s*s)+(o=n*(a=n*n))*o*(.05494*n-.04515-.02326*a+.00331*o)),s]},un.invert=function(t,e){for(var r=e/2,n=0,a=1/0;n<10&&i(a)>m;++n){var o=s(e/2);e-=a=(e-y(e/2)-r)/(1-.5/(o*o))}return[2*t/(1+s(e)),e]};var fn=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function hn(){return fr(J(1/0),fn).rotate([20,0]).scale(152.63)}function pn(t,e){var r=g(e),n=s(e),a=v(t);if(0===t||i(e)===_)return[0,e];if(0===e)return[t,0];if(i(t)===_)return[t*n,_*r];var o=b/(2*t)-2*t/b,l=2*e/b,u=(1-l*l)/(r-l),c=o*o,f=u*u,h=1+c/f,p=1+f/c,d=(o*r/u-o/2)/h,y=(f*r/c+u/2)/p,m=y*y-(f*r*r/c+u*r-1)/p;return[_*(d+P(d*d+n*n/h)*a),_*(y+P(m<0?0:m)*v(-e*o)*a)]}function dn(){return(0,n.Z)(pn).scale(127.267)}pn.invert=function(t,e){var r=(t/=_)*t,n=r+(e/=_)*e,i=b*b;return[t?(n-1+P((1-n)*(1-n)+4*r))/(2*t)*_:0,Q((function(t){return n*(b*g(t)-2*t)*b+4*t*t*(e-g(t))+2*b*t-i*e}),0)]};var vn=1.0148,gn=.23185,yn=-.14499,mn=.02406,xn=1.790857183;function bn(t,e){var r=e*e;return[t,e*(vn+r*r*(gn+r*(yn+mn*r)))]}function _n(){return(0,n.Z)(bn).scale(139.319)}function wn(t,e){if(i(e)xn?e=xn:e<-1.790857183&&(e=-1.790857183);var r,n=e;do{var a=n*n;n-=r=(n*(vn+a*a*(gn+a*(yn+mn*a)))-e)/(1.0148+a*a*(1.1592500000000001+a*(.21654*a-1.01493)))}while(i(r)>m);return[t,n]},wn.invert=function(t,e){if(i(e)m&&--o>0);return l=y(a),[(i(e)=0;)if(n=e[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(e.face,r.face),i=(c=n.map(r.project),f=n.map(e.project),h=Sn(c[1],c[0]),p=Sn(f[1],f[0]),d=function(t,e){return o(t[0]*e[1]-t[1]*e[0],t[0]*e[0]+t[1]*e[1])}(h,p),v=En(h)/En(p),Mn([1,0,c[0][0],0,1,c[0][1]],Mn([v,0,0,0,v,0],Mn([s(d),g(d),0,-g(d),s(d),0],[1,0,-f[0][0],0,1,-f[0][1]]))));e.transform=r.transform?Mn(r.transform,i):i;for(var a=r.edges,l=0,u=a.length;l0?[-e[0],0]:[180-e[0],180])};var e=zn.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,r){var n=e[t];n&&(n.children||(n.children=[])).push(e[r])})),Ln(e[0],(function(t,r){return e[t<-b/2?r<0?6:4:t<0?r<0?2:0:tn^p>n&&r<(h-u)*(n-c)/(p-c)+u&&(i=!i)}return i}(t[0],r))return t.push(e),!0}))||t.push([e])})),Jn=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}};function ti(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var a=i(r)<_,o=t(a?r:r>0?r-b:r+b,n),s=(o[0]-o[1])*T,l=(o[0]+o[1])*T;if(a)return[s,l];var u=e*T,c=s>0^l>0?-1:1;return[c*s-v(l)*u,c*l-v(s)*u]}return t.invert&&(r.invert=function(r,n){var a=(r+n)*T,o=(n-r)*T,s=i(a)<.5*e&&i(o)<.5*e;if(!s){var l=e*T,u=a>0^o>0?-1:1,c=-u*r+(o>0?1:-1)*l,f=-u*n+(a>0?1:-1)*l;a=(-c-f)*T,o=(c-f)*T}var h=t.invert(a,o);return s||(h[0]+=a>0?b:-b),h}),(0,n.Z)(r).rotate([-90,-90,45]).clipAngle(179.999)}function ei(){return ti(Le).scale(176.423)}function ri(){return ti(Ie).scale(111.48)}function ni(t,e){if(!(0<=(e=+e)&&e<=20))throw new Error("invalid digits");function r(t){var r=t.length,n=2,i=new Array(r);for(i[0]=+t[0].toFixed(e),i[1]=+t[1].toFixed(e);n2||a[0]!=e[0]||a[1]!=e[1])&&(n.push(a),e=a)}return 1===n.length&&t.length>1&&n.push(r(t[t.length-1])),n}function a(t){return t.map(i)}function o(t){if(null==t)return t;var e;switch(t.type){case"GeometryCollection":e={type:"GeometryCollection",geometries:t.geometries.map(o)};break;case"Point":e={type:"Point",coordinates:r(t.coordinates)};break;case"MultiPoint":e={type:t.type,coordinates:n(t.coordinates)};break;case"LineString":e={type:t.type,coordinates:i(t.coordinates)};break;case"MultiLineString":case"Polygon":e={type:t.type,coordinates:a(t.coordinates)};break;case"MultiPolygon":e={type:"MultiPolygon",coordinates:t.coordinates.map(a)};break;default:return t}return null!=t.bbox&&(e.bbox=t.bbox),e}function s(t){var e={type:"Feature",properties:t.properties,geometry:o(t.geometry)};return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),e}if(null!=t)switch(t.type){case"Feature":return s(t);case"FeatureCollection":var l={type:"FeatureCollection",features:t.features.map(s)};return null!=t.bbox&&(l.bbox=t.bbox),l;default:return o(t)}return t}function ii(t){var e=g(t);function r(r,n){var i=e?y(r*e/2)/e:r/2;if(!n)return[2*i,-t];var o=2*a(i*g(n)),l=1/y(n);return[g(o)*l,n+(1-s(o))*l-t]}return r.invert=function(r,n){if(i(n+=t)m&&--c>0);var d=r*(f=y(u)),v=y(i(n)0?_:-_)*(f+o*(d-l)/2+o*o*(d-2*f+l)/2)]}function li(){return(0,n.Z)(si).scale(152.63)}function ui(t,e){var r=function(t){function e(e,r){var n=s(r),i=(t-1)/(t-n*s(e));return[i*n*g(e),i*g(r)]}return e.invert=function(e,r){var n=e*e+r*r,i=P(n),a=(t-P(1-n*(t+1)/(t-1)))/((t-1)/i+i/(t-1));return[o(e*a,i*P(1-a*a)),i?L(r*a/i):0]},e}(t);if(!e)return r;var n=s(e),i=g(e);function a(e,a){var o=r(e,a),s=o[1],l=s*i/(t-1)+n;return[o[0]*n/l,s/l]}return a.invert=function(e,a){var o=(t-1)/(t-1-a*i);return r.invert(o*e,o*a*n)},a}function ci(){var t=2,e=0,r=(0,n.r)(ui),i=r(t,e);return i.distance=function(n){return arguments.length?r(t=+n,e):t},i.tilt=function(n){return arguments.length?r(t,e=n*E):e*S},i.scale(432.147).clipAngle(C(1/t)*S-1e-6)}oi.forEach((function(t){t[1]*=1.0144})),si.invert=function(t,e){var r=e/_,n=90*r,a=h(18,i(n/5)),o=f(0,u(a));do{var s=oi[o][1],l=oi[o+1][1],c=oi[h(19,o+2)][1],p=c-s,d=c-2*l+s,v=2*(i(r)-l)/p,g=d/p,y=v*(1-g*v*(1-2*g*v));if(y>=0||1===o){n=(e>=0?5:-5)*(y+a);var m,b=50;do{y=(a=h(18,i(n)/5))-(o=u(a)),s=oi[o][1],l=oi[o+1][1],c=oi[h(19,o+2)][1],n-=(m=(e>=0?_:-_)*(l+y*(c-s)/2+y*y*(c-2*l+s)/2)-e)*S}while(i(m)>x&&--b>0);break}}while(--o>=0);var w=oi[o][0],T=oi[o+1][0],k=oi[h(19,o+2)][0];return[t/(T+y*(k-w)/2+y*y*(k-2*T+w)/2),n*E]};var fi=-179.9999,hi=179.9999,pi=-89.9999,di=89.9999;function vi(t){return t.length>0}function gi(t){return-90===t||90===t?[0,t]:[-180,(e=t,Math.floor(1e4*e)/1e4)];var e}function yi(t){var e=t[0],r=t[1],n=!1;return e<=fi?(e=-180,n=!0):e>=hi&&(e=180,n=!0),r<=pi?(r=-90,n=!0):r>=di&&(r=90,n=!0),n?[e,r]:t}function mi(t){return t.map(yi)}function xi(t,e,r){for(var n=0,i=t.length;n=hi||c<=pi||c>=di){a[o]=yi(l);for(var f=o+1;ffi&&ppi&&d=s)break;r.push({index:-1,polygon:e,ring:a=a.slice(f-1)}),a[0]=gi(a[0][1]),o=-1,s=a.length}}}}function bi(t){var e,r,n,i,a,o,s=t.length,l={},u={};for(e=0;e0?b-l:l)*S],c=(0,n.Z)(t(s)).rotate(u),f=(0,_t.Z)(u),h=c.center;return delete c.rotate,c.center=function(t){return arguments.length?h(f(t)):f.invert(h())},c.clipAngle(90)}function Si(t){var e=s(t);function r(t,r){var n=(0,In.M)(t,r);return n[0]*=e,n}return r.invert=function(t,r){return In.M.invert(t/e,r)},r}function Ei(){return Li([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Li(t,e){return Mi(Si,t,e)}function Ci(t){if(!(t*=2))return Z.N;var e=-t/2,r=-e,n=t*t,i=y(r),a=.5/g(r);function l(i,a){var o=C(s(a)*s(i-e)),l=C(s(a)*s(i-r));return[((o*=o)-(l*=l))/(2*t),(a<0?-1:1)*P(4*n*l-(n-o+l)*(n-o+l))/(2*t)]}return l.invert=function(t,n){var l,u,c=n*n,f=s(P(c+(l=t+e)*l)),h=s(P(c+(l=t+r)*l));return[o(u=f-h,l=(f+h)*i),(n<0?-1:1)*C(P(l*l+u*u)*a)]},l}function Pi(){return Oi([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function Oi(t,e){return Mi(Ci,t,e)}function Ii(t,e){if(i(e)m&&--l>0);return[v(t)*(P(a*a+4)+a)*b/4,_*s]};var qi=4*b+3*P(3),Gi=2*P(2*b*P(3)/qi),Zi=it(Gi*P(3)/b,Gi,qi/6);function Yi(){return(0,n.Z)(Zi).scale(176.84)}function Wi(t,e){return[t*P(1-3*e*e/(b*b)),e]}function Xi(){return(0,n.Z)(Wi).scale(152.63)}function Ji(t,e){var r=s(e),n=s(t)*r,i=1-n,a=s(t=o(g(t)*r,-g(e))),l=g(t);return[l*(r=P(1-n*n))-a*i,-a*r-l*i]}function Ki(){return(0,n.Z)(Ji).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)}function $i(t,e){var r=R(t,e);return[(r[0]+t/_)/2,(r[1]+e)/2]}function Qi(){return(0,n.Z)($i).scale(158.837)}Wi.invert=function(t,e){return[t/P(1-3*e*e/(b*b)),e]},Ji.invert=function(t,e){var r=(t*t+e*e)/-2,n=P(-r*(2+r)),i=e*r+t*n,a=t*r-e*n,s=P(a*a+i*i);return[o(n*i,s*(1+r)),s?-L(n*a/s):0]},$i.invert=function(t,e){var r=t,n=e,a=25;do{var o,l=s(n),u=g(n),c=g(2*n),f=u*u,h=l*l,p=g(r),d=s(r/2),v=g(r/2),y=v*v,x=1-h*d*d,b=x?C(l*d)*P(o=1/x):o=0,w=.5*(2*b*l*v+r/_)-t,T=.5*(b*u+n)-e,k=.5*o*(h*y+b*l*d*f)+.5/_,A=o*(p*c/4-b*u*v),M=.125*o*(c*v-b*u*h*p),S=.5*o*(f*d+b*y*l)+.5,E=A*M-S*k,L=(T*A-w*S)/E,O=(w*M-T*k)/E;r-=L,n-=O}while((i(L)>m||i(O)>m)&&--a>0);return[r,n]}},33940:function(t,e,r){"use strict";function n(){return new i}function i(){this.reset()}r.d(e,{Z:function(){return n}}),i.prototype={constructor:i,reset:function(){this.s=this.t=0},add:function(t){o(a,t,this.t),o(this,a.s,this.s),this.s?this.t+=a.t:this.s=a.t},valueOf:function(){return this.s}};var a=new i;function o(t,e,r){var n=t.s=e+r,i=n-e,a=n-i;t.t=e-a+(r-i)}},97860:function(t,e,r){"use strict";r.d(e,{L9:function(){return h},ZP:function(){return x},gL:function(){return d}});var n,i,a,o,s,l=r(33940),u=r(39695),c=r(73182),f=r(72736),h=(0,l.Z)(),p=(0,l.Z)(),d={point:c.Z,lineStart:c.Z,lineEnd:c.Z,polygonStart:function(){h.reset(),d.lineStart=v,d.lineEnd=g},polygonEnd:function(){var t=+h;p.add(t<0?u.BZ+t:t),this.lineStart=this.lineEnd=this.point=c.Z},sphere:function(){p.add(u.BZ)}};function v(){d.point=y}function g(){m(n,i)}function y(t,e){d.point=m,n=t,i=e,t*=u.uR,e*=u.uR,a=t,o=(0,u.mC)(e=e/2+u.pu),s=(0,u.O$)(e)}function m(t,e){t*=u.uR,e=(e*=u.uR)/2+u.pu;var r=t-a,n=r>=0?1:-1,i=n*r,l=(0,u.mC)(e),c=(0,u.O$)(e),f=s*c,p=o*l+f*(0,u.mC)(i),d=f*n*(0,u.O$)(i);h.add((0,u.fv)(d,p)),a=t,o=l,s=c}function x(t){return p.reset(),(0,f.Z)(t,d),2*p}},77338:function(t,e,r){"use strict";r.d(e,{Z:function(){return C}});var n,i,a,o,s,l,u,c,f,h,p=r(33940),d=r(97860),v=r(7620),g=r(39695),y=r(72736),m=(0,p.Z)(),x={point:b,lineStart:w,lineEnd:T,polygonStart:function(){x.point=k,x.lineStart=A,x.lineEnd=M,m.reset(),d.gL.polygonStart()},polygonEnd:function(){d.gL.polygonEnd(),x.point=b,x.lineStart=w,x.lineEnd=T,d.L9<0?(n=-(a=180),i=-(o=90)):m>g.Ho?o=90:m<-g.Ho&&(i=-90),h[0]=n,h[1]=a},sphere:function(){n=-(a=180),i=-(o=90)}};function b(t,e){f.push(h=[n=t,a=t]),eo&&(o=e)}function _(t,e){var r=(0,v.Og)([t*g.uR,e*g.uR]);if(c){var l=(0,v.T5)(c,r),u=[l[1],-l[0],0],p=(0,v.T5)(u,l);(0,v.iJ)(p),p=(0,v.Y1)(p);var d,y=t-s,m=y>0?1:-1,x=p[0]*g.RW*m,b=(0,g.Wn)(y)>180;b^(m*so&&(o=d):b^(m*s<(x=(x+360)%360-180)&&xo&&(o=e)),b?tS(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t):a>=n?(ta&&(a=t)):t>s?S(n,t)>S(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t)}else f.push(h=[n=t,a=t]);eo&&(o=e),c=r,s=t}function w(){x.point=_}function T(){h[0]=n,h[1]=a,x.point=b,c=null}function k(t,e){if(c){var r=t-s;m.add((0,g.Wn)(r)>180?r+(r>0?360:-360):r)}else l=t,u=e;d.gL.point(t,e),_(t,e)}function A(){d.gL.lineStart()}function M(){k(l,u),d.gL.lineEnd(),(0,g.Wn)(m)>g.Ho&&(n=-(a=180)),h[0]=n,h[1]=a,c=null}function S(t,e){return(e-=t)<0?e+360:e}function E(t,e){return t[0]-e[0]}function L(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:eS(s[0],s[1])&&(s[1]=l[1]),S(l[0],s[1])>S(s[0],s[1])&&(s[0]=l[0])):u.push(s=l);for(c=-1/0,e=0,s=u[r=u.length-1];e<=r;s=l,++e)l=u[e],(p=S(s[1],l[0]))>c&&(c=p,n=l[0],a=s[1])}return f=h=null,n===1/0||i===1/0?[[NaN,NaN],[NaN,NaN]]:[[n,i],[a,o]]}},7620:function(t,e,r){"use strict";r.d(e,{Og:function(){return a},T:function(){return u},T5:function(){return s},Y1:function(){return i},iJ:function(){return c},j9:function(){return o},s0:function(){return l}});var n=r(39695);function i(t){return[(0,n.fv)(t[1],t[0]),(0,n.ZR)(t[2])]}function a(t){var e=t[0],r=t[1],i=(0,n.mC)(r);return[i*(0,n.mC)(e),i*(0,n.O$)(e),(0,n.O$)(r)]}function o(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function s(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 l(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function u(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function c(t){var e=(0,n._b)(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}},66624:function(t,e,r){"use strict";r.d(e,{Z:function(){return I}});var n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=r(39695),b=r(73182),_=r(72736),w={sphere:b.Z,point:T,lineStart:A,lineEnd:E,polygonStart:function(){w.lineStart=L,w.lineEnd=C},polygonEnd:function(){w.lineStart=A,w.lineEnd=E}};function T(t,e){t*=x.uR,e*=x.uR;var r=(0,x.mC)(e);k(r*(0,x.mC)(t),r*(0,x.O$)(t),(0,x.O$)(e))}function k(t,e,r){++n,a+=(t-a)/n,o+=(e-o)/n,s+=(r-s)/n}function A(){w.point=M}function M(t,e){t*=x.uR,e*=x.uR;var r=(0,x.mC)(e);g=r*(0,x.mC)(t),y=r*(0,x.O$)(t),m=(0,x.O$)(e),w.point=S,k(g,y,m)}function S(t,e){t*=x.uR,e*=x.uR;var r=(0,x.mC)(e),n=r*(0,x.mC)(t),a=r*(0,x.O$)(t),o=(0,x.O$)(e),s=(0,x.fv)((0,x._b)((s=y*o-m*a)*s+(s=m*n-g*o)*s+(s=g*a-y*n)*s),g*n+y*a+m*o);i+=s,l+=s*(g+(g=n)),u+=s*(y+(y=a)),c+=s*(m+(m=o)),k(g,y,m)}function E(){w.point=T}function L(){w.point=P}function C(){O(d,v),w.point=T}function P(t,e){d=t,v=e,t*=x.uR,e*=x.uR,w.point=O;var r=(0,x.mC)(e);g=r*(0,x.mC)(t),y=r*(0,x.O$)(t),m=(0,x.O$)(e),k(g,y,m)}function O(t,e){t*=x.uR,e*=x.uR;var r=(0,x.mC)(e),n=r*(0,x.mC)(t),a=r*(0,x.O$)(t),o=(0,x.O$)(e),s=y*o-m*a,d=m*n-g*o,v=g*a-y*n,b=(0,x._b)(s*s+d*d+v*v),_=(0,x.ZR)(b),w=b&&-_/b;f+=w*s,h+=w*d,p+=w*v,i+=_,l+=_*(g+(g=n)),u+=_*(y+(y=a)),c+=_*(m+(m=o)),k(g,y,m)}function I(t){n=i=a=o=s=l=u=c=f=h=p=0,(0,_.Z)(t,w);var e=f,r=h,d=p,v=e*e+r*r+d*d;return v0?os)&&(o+=i*a.BZ));for(var h,p=o;i>0?p>s:p0?i.pi:-i.pi,u=(0,i.Wn)(o-r);(0,i.Wn)(u-i.pi)0?i.ou:-i.ou),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),t.point(o,n),e=0):a!==l&&u>=i.pi&&((0,i.Wn)(r-a)i.Ho?(0,i.z4)(((0,i.O$)(e)*(o=(0,i.mC)(n))*(0,i.O$)(r)-(0,i.O$)(n)*(a=(0,i.mC)(e))*(0,i.O$)(t))/(a*o*s)):(e+n)/2}(r,n,o,s),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),e=0),t.point(r=o,n=s),a=l},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var a;if(null==t)a=r*i.ou,n.point(-i.pi,a),n.point(0,a),n.point(i.pi,a),n.point(i.pi,0),n.point(i.pi,-a),n.point(0,-a),n.point(-i.pi,-a),n.point(-i.pi,0),n.point(-i.pi,a);else if((0,i.Wn)(t[0]-e[0])>i.Ho){var o=t[0]1&&e.push(e.pop().concat(e.shift()))},result:function(){var r=e;return e=[],t=null,r}}}},1457:function(t,e,r){"use strict";r.d(e,{Z:function(){return l}});var n=r(7620),i=r(7613),a=r(39695),o=r(67108),s=r(97023);function l(t){var e=(0,a.mC)(t),r=6*a.uR,l=e>0,u=(0,a.Wn)(e)>a.Ho;function c(t,r){return(0,a.mC)(t)*(0,a.mC)(r)>e}function f(t,r,i){var o=(0,n.Og)(t),s=(0,n.Og)(r),l=[1,0,0],u=(0,n.T5)(o,s),c=(0,n.j9)(u,u),f=u[0],h=c-f*f;if(!h)return!i&&t;var p=e*c/h,d=-e*f/h,v=(0,n.T5)(l,u),g=(0,n.T)(l,p),y=(0,n.T)(u,d);(0,n.s0)(g,y);var m=v,x=(0,n.j9)(g,m),b=(0,n.j9)(m,m),_=x*x-b*((0,n.j9)(g,g)-1);if(!(_<0)){var w=(0,a._b)(_),T=(0,n.T)(m,(-x-w)/b);if((0,n.s0)(T,g),T=(0,n.Y1)(T),!i)return T;var k,A=t[0],M=r[0],S=t[1],E=r[1];M0^T[1]<((0,a.Wn)(T[0]-A)a.pi^(A<=T[0]&&T[0]<=M)){var P=(0,n.T)(m,(-x+w)/b);return(0,n.s0)(P,g),[T,(0,n.Y1)(P)]}}}function h(e,r){var n=l?t:a.pi-t,i=0;return e<-n?i|=1:e>n&&(i|=2),r<-n?i|=4:r>n&&(i|=8),i}return(0,s.Z)(c,(function(t){var e,r,n,i,s;return{lineStart:function(){i=n=!1,s=1},point:function(p,d){var v,g=[p,d],y=c(p,d),m=l?y?0:h(p,d):y?h(p+(p<0?a.pi:-a.pi),d):0;if(!e&&(i=n=y)&&t.lineStart(),y!==n&&(!(v=f(e,g))||(0,o.Z)(e,v)||(0,o.Z)(g,v))&&(g[2]=1),y!==n)s=0,y?(t.lineStart(),v=f(g,e),t.point(v[0],v[1])):(v=f(e,g),t.point(v[0],v[1],2),t.lineEnd()),e=v;else if(u&&e&&l^y){var x;m&r||!(x=f(g,e,!0))||(s=0,l?(t.lineStart(),t.point(x[0][0],x[0][1]),t.point(x[1][0],x[1][1]),t.lineEnd()):(t.point(x[1][0],x[1][1]),t.lineEnd(),t.lineStart(),t.point(x[0][0],x[0][1],3)))}!y||e&&(0,o.Z)(e,g)||t.point(g[0],g[1]),e=g,n=y,r=m},lineEnd:function(){n&&t.lineEnd(),e=null},clean:function(){return s|(i&&n)<<1}}}),(function(e,n,a,o){(0,i.m)(o,t,r,a,e,n)}),l?[0,-t]:[-a.pi,t-a.pi])}},97023:function(t,e,r){"use strict";r.d(e,{Z:function(){return l}});var n=r(85272),i=r(46225),a=r(39695),o=r(23071),s=r(33064);function l(t,e,r,a){return function(l){var f,h,p,d=e(l),v=(0,n.Z)(),g=e(v),y=!1,m={point:x,lineStart:_,lineEnd:w,polygonStart:function(){m.point=T,m.lineStart=k,m.lineEnd=A,h=[],f=[]},polygonEnd:function(){m.point=x,m.lineStart=_,m.lineEnd=w,h=(0,s.TS)(h);var t=(0,o.Z)(f,a);h.length?(y||(l.polygonStart(),y=!0),(0,i.Z)(h,c,t,r,l)):t&&(y||(l.polygonStart(),y=!0),l.lineStart(),r(null,null,1,l),l.lineEnd()),y&&(l.polygonEnd(),y=!1),h=f=null},sphere:function(){l.polygonStart(),l.lineStart(),r(null,null,1,l),l.lineEnd(),l.polygonEnd()}};function x(e,r){t(e,r)&&l.point(e,r)}function b(t,e){d.point(t,e)}function _(){m.point=b,d.lineStart()}function w(){m.point=x,d.lineEnd()}function T(t,e){p.push([t,e]),g.point(t,e)}function k(){g.lineStart(),p=[]}function A(){T(p[0][0],p[0][1]),g.lineEnd();var t,e,r,n,i=g.clean(),a=v.result(),o=a.length;if(p.pop(),f.push(p),p=null,o)if(1&i){if((e=(r=a[0]).length-1)>0){for(y||(l.polygonStart(),y=!0),l.lineStart(),t=0;t1&&2&i&&a.push(a.pop().concat(a.shift())),h.push(a.filter(u))}return m}}function u(t){return t.length>1}function c(t,e){return((t=t.x)[0]<0?t[1]-a.ou-a.Ho:a.ou-t[1])-((e=e.x)[0]<0?e[1]-a.ou-a.Ho:a.ou-e[1])}},87605:function(t,e,r){"use strict";r.d(e,{Z:function(){return u}});var n=r(39695),i=r(85272),a=r(46225),o=r(33064),s=1e9,l=-s;function u(t,e,r,u){function c(n,i){return t<=n&&n<=r&&e<=i&&i<=u}function f(n,i,a,o){var s=0,l=0;if(null==n||(s=h(n,a))!==(l=h(i,a))||d(n,i)<0^a>0)do{o.point(0===s||3===s?t:r,s>1?u:e)}while((s=(s+a+4)%4)!==l);else o.point(i[0],i[1])}function h(i,a){return(0,n.Wn)(i[0]-t)0?0:3:(0,n.Wn)(i[0]-r)0?2:1:(0,n.Wn)(i[1]-e)0?1:0:a>0?3:2}function p(t,e){return d(t.x,e.x)}function d(t,e){var r=h(t,1),n=h(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}return function(n){var h,d,v,g,y,m,x,b,_,w,T,k=n,A=(0,i.Z)(),M={point:S,lineStart:function(){M.point=E,d&&d.push(v=[]),w=!0,_=!1,x=b=NaN},lineEnd:function(){h&&(E(g,y),m&&_&&A.rejoin(),h.push(A.result())),M.point=S,_&&k.lineEnd()},polygonStart:function(){k=A,h=[],d=[],T=!0},polygonEnd:function(){var e=function(){for(var e=0,r=0,n=d.length;ru&&(f-i)*(u-a)>(h-a)*(t-i)&&++e:h<=u&&(f-i)*(u-a)<(h-a)*(t-i)&&--e;return e}(),r=T&&e,i=(h=(0,o.TS)(h)).length;(r||i)&&(n.polygonStart(),r&&(n.lineStart(),f(null,null,1,n),n.lineEnd()),i&&(0,a.Z)(h,p,e,f,n),n.polygonEnd()),k=n,h=d=v=null}};function S(t,e){c(t,e)&&k.point(t,e)}function E(n,i){var a=c(n,i);if(d&&v.push([n,i]),w)g=n,y=i,m=a,w=!1,a&&(k.lineStart(),k.point(n,i));else if(a&&_)k.point(n,i);else{var o=[x=Math.max(l,Math.min(s,x)),b=Math.max(l,Math.min(s,b))],f=[n=Math.max(l,Math.min(s,n)),i=Math.max(l,Math.min(s,i))];!function(t,e,r,n,i,a){var o,s=t[0],l=t[1],u=0,c=1,f=e[0]-s,h=e[1]-l;if(o=r-s,f||!(o>0)){if(o/=f,f<0){if(o0){if(o>c)return;o>u&&(u=o)}if(o=i-s,f||!(o<0)){if(o/=f,f<0){if(o>c)return;o>u&&(u=o)}else if(f>0){if(o0)){if(o/=h,h<0){if(o0){if(o>c)return;o>u&&(u=o)}if(o=a-l,h||!(o<0)){if(o/=h,h<0){if(o>c)return;o>u&&(u=o)}else if(h>0){if(o0&&(t[0]=s+u*f,t[1]=l+u*h),c<1&&(e[0]=s+c*f,e[1]=l+c*h),!0}}}}}(o,f,t,e,r,u)?a&&(k.lineStart(),k.point(n,i),T=!1):(_||(k.lineStart(),k.point(o[0],o[1])),k.point(f[0],f[1]),a||k.lineEnd(),T=!1)}x=n,b=i,_=a}return M}}},46225:function(t,e,r){"use strict";r.d(e,{Z:function(){return o}});var n=r(67108),i=r(39695);function a(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 o(t,e,r,o,l){var u,c,f=[],h=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,r,o=t[0],s=t[e];if((0,n.Z)(o,s)){if(!o[2]&&!s[2]){for(l.lineStart(),u=0;u=0;--u)l.point((d=p[u])[0],d[1]);else o(g.x,g.p.x,-1,l);g=g.p}p=(g=g.o).z,y=!y}while(!g.v);l.lineEnd()}}}function s(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n0&&(i=S(t[a],t[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))g.Ho})).map(l)).concat((0,F.w6)((0,g.mD)(a/p)*p,i,p).filter((function(t){return(0,g.Wn)(t%v)>g.Ho})).map(u))}return m.lines=function(){return x().map((function(t){return{type:"LineString",coordinates:t}}))},m.outline=function(){return{type:"Polygon",coordinates:[c(n).concat(f(o).slice(1),c(r).reverse().slice(1),f(s).reverse().slice(1))]}},m.extent=function(t){return arguments.length?m.extentMajor(t).extentMinor(t):m.extentMinor()},m.extentMajor=function(t){return arguments.length?(n=+t[0][0],r=+t[1][0],s=+t[0][1],o=+t[1][1],n>r&&(t=n,n=r,r=t),s>o&&(t=s,s=o,o=t),m.precision(y)):[[n,s],[r,o]]},m.extentMinor=function(r){return arguments.length?(e=+r[0][0],t=+r[1][0],a=+r[0][1],i=+r[1][1],e>t&&(r=e,e=t,t=r),a>i&&(r=a,a=i,i=r),m.precision(y)):[[e,a],[t,i]]},m.step=function(t){return arguments.length?m.stepMajor(t).stepMinor(t):m.stepMinor()},m.stepMajor=function(t){return arguments.length?(d=+t[0],v=+t[1],m):[d,v]},m.stepMinor=function(t){return arguments.length?(h=+t[0],p=+t[1],m):[h,p]},m.precision=function(h){return arguments.length?(y=+h,l=B(a,i,90),u=N(e,t,y),c=B(s,o,90),f=N(n,r,y),m):y},m.extentMajor([[-180,-90+g.Ho],[180,90-g.Ho]]).extentMinor([[-180,-80-g.Ho],[180,80+g.Ho]])}function U(){return j()()}var V,H,q,G,Z=r(83074),Y=r(8593),W=(0,v.Z)(),X=(0,v.Z)(),J={point:y.Z,lineStart:y.Z,lineEnd:y.Z,polygonStart:function(){J.lineStart=K,J.lineEnd=tt},polygonEnd:function(){J.lineStart=J.lineEnd=J.point=y.Z,W.add((0,g.Wn)(X)),X.reset()},result:function(){var t=W/2;return W.reset(),t}};function K(){J.point=$}function $(t,e){J.point=Q,V=q=t,H=G=e}function Q(t,e){X.add(G*t-q*e),q=t,G=e}function tt(){Q(V,H)}var et,rt,nt,it,at=J,ot=r(3559),st=0,lt=0,ut=0,ct=0,ft=0,ht=0,pt=0,dt=0,vt=0,gt={point:yt,lineStart:mt,lineEnd:_t,polygonStart:function(){gt.lineStart=wt,gt.lineEnd=Tt},polygonEnd:function(){gt.point=yt,gt.lineStart=mt,gt.lineEnd=_t},result:function(){var t=vt?[pt/vt,dt/vt]:ht?[ct/ht,ft/ht]:ut?[st/ut,lt/ut]:[NaN,NaN];return st=lt=ut=ct=ft=ht=pt=dt=vt=0,t}};function yt(t,e){st+=t,lt+=e,++ut}function mt(){gt.point=xt}function xt(t,e){gt.point=bt,yt(nt=t,it=e)}function bt(t,e){var r=t-nt,n=e-it,i=(0,g._b)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,yt(nt=t,it=e)}function _t(){gt.point=yt}function wt(){gt.point=kt}function Tt(){At(et,rt)}function kt(t,e){gt.point=At,yt(et=nt=t,rt=it=e)}function At(t,e){var r=t-nt,n=e-it,i=(0,g._b)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,pt+=(i=it*t-nt*e)*(nt+t),dt+=i*(it+e),vt+=3*i,yt(nt=t,it=e)}var Mt=gt;function St(t){this._context=t}St.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,g.BZ)}},result:y.Z};var Et,Lt,Ct,Pt,Ot,It=(0,v.Z)(),Dt={point:y.Z,lineStart:function(){Dt.point=zt},lineEnd:function(){Et&&Rt(Lt,Ct),Dt.point=y.Z},polygonStart:function(){Et=!0},polygonEnd:function(){Et=null},result:function(){var t=+It;return It.reset(),t}};function zt(t,e){Dt.point=Rt,Lt=Pt=t,Ct=Ot=e}function Rt(t,e){Pt-=t,Ot-=e,It.add((0,g._b)(Pt*Pt+Ot*Ot)),Pt=t,Ot=e}var Ft=Dt;function Bt(){this._string=[]}function Nt(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function jt(t,e){var r,n,i=4.5;function a(t){return t&&("function"==typeof i&&n.pointRadius(+i.apply(this,arguments)),(0,m.Z)(t,r(n))),n.result()}return a.area=function(t){return(0,m.Z)(t,r(at)),at.result()},a.measure=function(t){return(0,m.Z)(t,r(Ft)),Ft.result()},a.bounds=function(t){return(0,m.Z)(t,r(ot.Z)),ot.Z.result()},a.centroid=function(t){return(0,m.Z)(t,r(Mt)),Mt.result()},a.projection=function(e){return arguments.length?(r=null==e?(t=null,Y.Z):(t=e).stream,a):t},a.context=function(t){return arguments.length?(n=null==t?(e=null,new Bt):new St(e=t),"function"!=typeof i&&n.pointRadius(i),a):e},a.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(n.pointRadius(+t),+t),a):i},a.projection(t).context(e)}Bt.prototype={_radius:4.5,_circle:Nt(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=Nt(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var Ut=r(15002);function Vt(t){var e=0,r=g.pi/3,n=(0,Ut.r)(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*g.uR,r=t[1]*g.uR):[e*g.RW,r*g.RW]},i}function Ht(t,e){var r=(0,g.O$)(t),n=(r+(0,g.O$)(e))/2;if((0,g.Wn)(n)=.12&&i<.234&&n>=-.425&&n<-.214?s:i>=.166&&i<.234&&n>=-.214&&n<-.115?l:o).invert(t)},c.stream=function(r){return t&&e===r?t:(n=[o.stream(e=r),s.stream(r),l.stream(r)],i=n.length,t={point:function(t,e){for(var r=-1;++r0?e<-g.ou+g.Ho&&(e=-g.ou+g.Ho):e>g.ou-g.Ho&&(e=g.ou-g.Ho);var r=i/(0,g.sQ)(te(e),n);return[r*(0,g.O$)(n*t),i-r*(0,g.mC)(n*t)]}return a.invert=function(t,e){var r=i-e,a=(0,g.Xx)(n)*(0,g._b)(t*t+r*r),o=(0,g.fv)(t,(0,g.Wn)(r))*(0,g.Xx)(r);return r*n<0&&(o-=g.pi*(0,g.Xx)(t)*(0,g.Xx)(r)),[o/n,2*(0,g.z4)((0,g.sQ)(i/a,1/n))-g.ou]},a}function re(){return Vt(ee).scale(109.5).parallels([30,30])}Kt.invert=function(t,e){return[t,2*(0,g.z4)((0,g.Qq)(e))-g.ou]};var ne=r(97492);function ie(t,e){var r=(0,g.mC)(t),n=t===e?(0,g.O$)(t):(r-(0,g.mC)(e))/(e-t),i=r/n+t;if((0,g.Wn)(n)2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90]).scale(159.155)}xe.invert=(0,me.O)((function(t){return 2*(0,g.z4)(t)})),_e.invert=function(t,e){return[-e,2*(0,g.z4)((0,g.Qq)(t))-g.ou]}},83074:function(t,e,r){"use strict";r.d(e,{Z:function(){return i}});var n=r(39695);function i(t,e){var r=t[0]*n.uR,i=t[1]*n.uR,a=e[0]*n.uR,o=e[1]*n.uR,s=(0,n.mC)(i),l=(0,n.O$)(i),u=(0,n.mC)(o),c=(0,n.O$)(o),f=s*(0,n.mC)(r),h=s*(0,n.O$)(r),p=u*(0,n.mC)(a),d=u*(0,n.O$)(a),v=2*(0,n.ZR)((0,n._b)((0,n.Jy)(o-i)+s*u*(0,n.Jy)(a-r))),g=(0,n.O$)(v),y=v?function(t){var e=(0,n.O$)(t*=v)/g,r=(0,n.O$)(v-t)/g,i=r*f+e*p,a=r*h+e*d,o=r*l+e*c;return[(0,n.fv)(a,i)*n.RW,(0,n.fv)(o,(0,n._b)(i*i+a*a))*n.RW]}:function(){return[r*n.RW,i*n.RW]};return y.distance=v,y}},39695:function(t,e,r){"use strict";r.d(e,{BZ:function(){return l},Ho:function(){return n},Jy:function(){return A},Kh:function(){return T},O$:function(){return x},OR:function(){return w},Qq:function(){return g},RW:function(){return u},Wn:function(){return f},Xx:function(){return b},ZR:function(){return k},_b:function(){return _},aW:function(){return i},cM:function(){return y},fv:function(){return p},mC:function(){return d},mD:function(){return v},ou:function(){return o},pi:function(){return a},pu:function(){return s},sQ:function(){return m},uR:function(){return c},z4:function(){return h}});var n=1e-6,i=1e-12,a=Math.PI,o=a/2,s=a/4,l=2*a,u=180/a,c=a/180,f=Math.abs,h=Math.atan,p=Math.atan2,d=Math.cos,v=Math.ceil,g=Math.exp,y=(Math.floor,Math.log),m=Math.pow,x=Math.sin,b=Math.sign||function(t){return t>0?1:t<0?-1:0},_=Math.sqrt,w=Math.tan;function T(t){return t>1?0:t<-1?a:Math.acos(t)}function k(t){return t>1?o:t<-1?-o:Math.asin(t)}function A(t){return(t=x(t/2))*t}},73182:function(t,e,r){"use strict";function n(){}r.d(e,{Z:function(){return n}})},3559:function(t,e,r){"use strict";var n=r(73182),i=1/0,a=i,o=-i,s=o,l={point:function(t,e){to&&(o=t),es&&(s=e)},lineStart:n.Z,lineEnd:n.Z,polygonStart:n.Z,polygonEnd:n.Z,result:function(){var t=[[i,a],[o,s]];return o=s=-(a=i=1/0),t}};e.Z=l},67108:function(t,e,r){"use strict";r.d(e,{Z:function(){return i}});var n=r(39695);function i(t,e){return(0,n.Wn)(t[0]-e[0])=0?1:-1,L=E*S,C=L>a.pi,P=x*A;if(o.add((0,a.fv)(P*E*(0,a.O$)(L),b*M+P*(0,a.mC)(L))),c+=C?S+E*a.BZ:S,C^y>=r^T>=r){var O=(0,i.T5)((0,i.Og)(g),(0,i.Og)(w));(0,i.iJ)(O);var I=(0,i.T5)(u,O);(0,i.iJ)(I);var D=(C^S>=0?-1:1)*(0,a.ZR)(I[2]);(n>D||n===D&&(O[0]||O[1]))&&(f+=C^S>=0?1:-1)}}return(c<-a.Ho||c4*e&&y--){var w=o+d,T=s+v,k=u+g,A=(0,l._b)(w*w+T*T+k*k),M=(0,l.ZR)(k/=A),S=(0,l.Wn)((0,l.Wn)(k)-1)e||(0,l.Wn)((x*P+b*O)/_-.5)>.3||o*d+s*v+u*g2?t[2]%360*l.uR:0,V()):[L*l.RW,C*l.RW,P*l.RW]},j.angle=function(t){return arguments.length?(O=t%360*l.uR,V()):O*l.RW},j.reflectX=function(t){return arguments.length?(I=t?-1:1,V()):I<0},j.reflectY=function(t){return arguments.length?(D=t?-1:1,V()):D<0},j.precision=function(t){return arguments.length?(x=d(b,N=t*t),H()):(0,l._b)(N)},j.fitExtent=function(t,e){return(0,f.qg)(j,t,e)},j.fitSize=function(t,e){return(0,f.mF)(j,t,e)},j.fitWidth=function(t,e){return(0,f.V6)(j,t,e)},j.fitHeight=function(t,e){return(0,f.rf)(j,t,e)},function(){return e=t.apply(this,arguments),j.invert=e.invert&&U,V()}}},26867:function(t,e,r){"use strict";r.d(e,{K:function(){return a},Z:function(){return o}});var n=r(15002),i=r(39695);function a(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}function o(){return(0,n.Z)(a).scale(175.295)}a.invert=function(t,e){var r,n=e,a=25;do{var o=n*n,s=o*o;n-=r=(n*(1.007226+o*(.015085+s*(.028874*o-.044475-.005916*s)))-e)/(1.007226+o*(.045255+s*(.259866*o-.311325-.005916*11*s)))}while((0,i.Wn)(r)>i.Ho&&--a>0);return[t/(.8707+(o=n*n)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),n]}},57962:function(t,e,r){"use strict";r.d(e,{I:function(){return o},Z:function(){return s}});var n=r(39695),i=r(25382),a=r(15002);function o(t,e){return[(0,n.mC)(e)*(0,n.O$)(t),(0,n.O$)(e)]}function s(){return(0,a.Z)(o).scale(249.5).clipAngle(90+n.Ho)}o.invert=(0,i.O)(n.ZR)},49386:function(t,e,r){"use strict";r.d(e,{I:function(){return o},Z:function(){return c}});var n=r(96059),i=r(39695);function a(t,e){return[(0,i.Wn)(t)>i.pi?t+Math.round(-t/i.BZ)*i.BZ:t,e]}function o(t,e,r){return(t%=i.BZ)?e||r?(0,n.Z)(l(t),u(e,r)):l(t):e||r?u(e,r):a}function s(t){return function(e,r){return[(e+=t)>i.pi?e-i.BZ:e<-i.pi?e+i.BZ:e,r]}}function l(t){var e=s(t);return e.invert=s(-t),e}function u(t,e){var r=(0,i.mC)(t),n=(0,i.O$)(t),a=(0,i.mC)(e),o=(0,i.O$)(e);function s(t,e){var s=(0,i.mC)(e),l=(0,i.mC)(t)*s,u=(0,i.O$)(t)*s,c=(0,i.O$)(e),f=c*r+l*n;return[(0,i.fv)(u*a-f*o,l*r-c*n),(0,i.ZR)(f*a+u*o)]}return s.invert=function(t,e){var s=(0,i.mC)(e),l=(0,i.mC)(t)*s,u=(0,i.O$)(t)*s,c=(0,i.O$)(e),f=c*a-u*o;return[(0,i.fv)(u*a+c*o,l*r+f*n),(0,i.ZR)(f*r-l*n)]},s}function c(t){function e(e){return(e=t(e[0]*i.uR,e[1]*i.uR))[0]*=i.RW,e[1]*=i.RW,e}return t=o(t[0]*i.uR,t[1]*i.uR,t.length>2?t[2]*i.uR:0),e.invert=function(e){return(e=t.invert(e[0]*i.uR,e[1]*i.uR))[0]*=i.RW,e[1]*=i.RW,e},e}a.invert=a},72736:function(t,e,r){"use strict";function n(t,e){t&&a.hasOwnProperty(t.type)&&a[t.type](t,e)}r.d(e,{Z:function(){return l}});var i={Feature:function(t,e){n(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,i=-1,a=r.length;++i=0;)e+=r[n].value;else e=1;t.value=e}function l(t,e){var r,n,i,a,o,s=new h(t),l=+t.value&&(s.value=t.value),c=[s];for(null==e&&(e=u);r=c.pop();)if(l&&(r.value=+r.data.value),(i=e(r.data))&&(o=i.length))for(r.children=new Array(o),a=o-1;a>=0;--a)c.push(n=r.children[a]=new h(i[a])),n.parent=r,n.depth=r.depth+1;return s.eachBefore(f)}function u(t){return t.children}function c(t){t.data=t.data.data}function f(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function h(t){this.data=t,this.depth=this.height=0,this.parent=null}r.r(e),r.d(e,{cluster:function(){return o},hierarchy:function(){return l},pack:function(){return I},packEnclose:function(){return d},packSiblings:function(){return S},partition:function(){return N},stratify:function(){return q},tree:function(){return K},treemap:function(){return rt},treemapBinary:function(){return nt},treemapDice:function(){return B},treemapResquarify:function(){return at},treemapSlice:function(){return $},treemapSliceDice:function(){return it},treemapSquarify:function(){return et}}),h.prototype=l.prototype={constructor:h,count:function(){return this.eachAfter(s)},each:function(t){var e,r,n,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),r=a.children)for(n=0,i=r.length;n=0;--r)i.push(e[r]);return this},sum:function(t){return this.eachAfter((function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(r){r!==t&&e.push({source:r.parent,target:r})})),e},copy:function(){return l(this).eachBefore(c)}};var p=Array.prototype.slice;function d(t){for(var e,r,n=0,i=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(p.call(t))).length,a=[];n0&&r*r>n*n+i*i}function m(t,e){for(var r=0;r(o*=o)?(n=(u+o-i)/(2*u),a=Math.sqrt(Math.max(0,o/u-n*n)),r.x=t.x-n*s-a*l,r.y=t.y-n*l+a*s):(n=(u+i-o)/(2*u),a=Math.sqrt(Math.max(0,i/u-n*n)),r.x=e.x+n*s-a*l,r.y=e.y+n*l+a*s)):(r.x=e.x+r.r,r.y=e.y)}function T(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function k(t){var e=t._,r=t.next._,n=e.r+r.r,i=(e.x*r.r+r.x*e.r)/n,a=(e.y*r.r+r.y*e.r)/n;return i*i+a*a}function A(t){this._=t,this.next=null,this.previous=null}function M(t){if(!(i=t.length))return 0;var e,r,n,i,a,o,s,l,u,c,f;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(i>2))return e.r+r.r;w(r,e,n=t[2]),e=new A(e),r=new A(r),n=new A(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s0)throw new Error("cycle");return a}return r.id=function(e){return arguments.length?(t=L(e),r):t},r.parentId=function(t){return arguments.length?(e=L(t),r):e},r}function G(t,e){return t.parent===e.parent?1:2}function Z(t){var e=t.children;return e?e[0]:t.t}function Y(t){var e=t.children;return e?e[e.length-1]:t.t}function W(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 X(t,e,r){return t.a.parent===e.parent?t.a:r}function J(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function K(){var t=G,e=1,r=1,n=null;function i(i){var l=function(t){for(var e,r,n,i,a,o=new J(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=e.children[i]=new J(n[i],i)),r.parent=e;return(o.parent=new J(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var u=i,c=i,f=i;i.eachBefore((function(t){t.xc.x&&(c=t),t.depth>f.depth&&(f=t)}));var h=u===c?1:t(u,c)/2,p=h-u.x,d=e/(c.x+h+p),v=r/(f.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*v}))}return i}function a(e){var r=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var a=(r[0].z+r[r.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,r,n){if(r){for(var i,a=e,o=e,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=Y(s),a=Z(a),s&&a;)l=Z(l),(o=Y(o)).a=e,(i=s.z+f-a.z-u+t(s._,a._))>0&&(W(X(s,e,n),e,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!Y(o)&&(o.t=s,o.m+=f-c),a&&!Z(l)&&(l.t=a,l.m+=u-h,n=e)}return n}(e,i,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],i):n?null:[e,r]},i.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],i):n?[e,r]:null},i}function $(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,u=t.value&&(i-r)/t.value;++sh&&(h=s),g=c*c*v,(p=Math.max(h/g,g/f))>d){c-=s;break}d=p}y.push(o={value:c,dice:l1?e:1)},r}(Q);function rt(){var t=et,e=!1,r=1,n=1,i=[0],a=C,o=C,s=C,l=C,u=C;function c(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(f),i=[0],e&&t.eachBefore(F),t}function f(e){var r=i[e.depth],n=e.x0+r,c=e.y0+r,f=e.x1-r,h=e.y1-r;f=r-1){var c=s[e];return c.x0=i,c.y0=a,c.x1=o,void(c.y1=l)}for(var f=u[e],h=n/2+f,p=e+1,d=r-1;p>>1;u[v]l-a){var m=(i*y+o*g)/n;t(e,p,g,i,a,m,l),t(p,r,y,m,a,o,l)}else{var x=(a*y+l*g)/n;t(e,p,g,i,a,o,x),t(p,r,y,i,x,o,l)}}(0,l,t.value,e,r,n,i)}function it(t,e,r,n,i){(1&t.depth?$:B)(t,e,r,n,i)}var at=function t(e){function r(t,r,n,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,u,c,f=-1,h=o.length,p=t.value;++f1?e:1)},r}(Q)},45879:function(t,e,r){"use strict";r.d(e,{h5:function(){return y}});var n=Math.PI,i=2*n,a=1e-6,o=i-a;function s(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function l(){return new s}s.prototype=l.prototype={constructor:s,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,i,o){t=+t,e=+e,r=+r,i=+i,o=+o;var s=this._x1,l=this._y1,u=r-t,c=i-e,f=s-t,h=l-e,p=f*f+h*h;if(o<0)throw new Error("negative radius: "+o);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(p>a)if(Math.abs(h*u-c*f)>a&&o){var d=r-s,v=i-l,g=u*u+c*c,y=d*d+v*v,m=Math.sqrt(g),x=Math.sqrt(p),b=o*Math.tan((n-Math.acos((g+p-y)/(2*m*x)))/2),_=b/x,w=b/m;Math.abs(_-1)>a&&(this._+="L"+(t+_*f)+","+(e+_*h)),this._+="A"+o+","+o+",0,0,"+ +(h*d>f*v)+","+(this._x1=t+w*u)+","+(this._y1=e+w*c)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,r,s,l,u){t=+t,e=+e,u=!!u;var c=(r=+r)*Math.cos(s),f=r*Math.sin(s),h=t+c,p=e+f,d=1^u,v=u?s-l:l-s;if(r<0)throw new Error("negative radius: "+r);null===this._x1?this._+="M"+h+","+p:(Math.abs(this._x1-h)>a||Math.abs(this._y1-p)>a)&&(this._+="L"+h+","+p),r&&(v<0&&(v=v%i+i),v>o?this._+="A"+r+","+r+",0,1,"+d+","+(t-c)+","+(e-f)+"A"+r+","+r+",0,1,"+d+","+(this._x1=h)+","+(this._y1=p):v>a&&(this._+="A"+r+","+r+",0,"+ +(v>=n)+","+d+","+(this._x1=t+r*Math.cos(l))+","+(this._y1=e+r*Math.sin(l))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};var u=l,c=Array.prototype.slice;function f(t){return function(){return t}}function h(t){return t[0]}function p(t){return t[1]}function d(t){return t.source}function v(t){return t.target}function g(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function y(){return function(t){var e=d,r=v,n=h,i=p,a=null;function o(){var o,s=c.call(arguments),l=e.apply(this,s),f=r.apply(this,s);if(a||(a=o=u()),t(a,+n.apply(this,(s[0]=l,s)),+i.apply(this,s),+n.apply(this,(s[0]=f,s)),+i.apply(this,s)),o)return a=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(r=t,o):r},o.x=function(t){return arguments.length?(n="function"==typeof t?t:f(+t),o):n},o.y=function(t){return arguments.length?(i="function"==typeof t?t:f(+t),o):i},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}(g)}},84096:function(t,e,r){"use strict";r.d(e,{i$:function(){return d},Dq:function(){return h},g0:function(){return v}});var n=r(58176),i=r(48480),a=r(59879),o=r(82301),s=r(34823),l=r(79791);function u(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function c(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function f(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function h(t){var e=t.dateTime,r=t.date,s=t.time,l=t.periods,h=t.days,p=t.shortDays,d=t.months,v=t.shortMonths,y=w(l),m=T(l),x=w(h),b=T(h),_=w(p),St=T(p),Et=w(d),Lt=T(d),Ct=w(v),Pt=T(v),Ot={a:function(t){return p[t.getDay()]},A:function(t){return h[t.getDay()]},b:function(t){return v[t.getMonth()]},B:function(t){return d[t.getMonth()]},c:null,d:q,e:q,f:X,H:G,I:Z,j:Y,L:W,m:J,M:K,p:function(t){return l[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:At,s:Mt,S:$,u:Q,U:tt,V:et,w:rt,W:nt,x:null,X:null,y:it,Y:at,Z:ot,"%":kt},It={a:function(t){return p[t.getUTCDay()]},A:function(t){return h[t.getUTCDay()]},b:function(t){return v[t.getUTCMonth()]},B:function(t){return d[t.getUTCMonth()]},c:null,d:st,e:st,f:ht,H:lt,I:ut,j:ct,L:ft,m:pt,M:dt,p:function(t){return l[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:At,s:Mt,S:vt,u:gt,U:yt,V:mt,w:xt,W:bt,x:null,X:null,y:_t,Y:wt,Z:Tt,"%":kt},Dt={a:function(t,e,r){var n=_.exec(e.slice(r));return n?(t.w=St[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=x.exec(e.slice(r));return n?(t.w=b[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=Ct.exec(e.slice(r));return n?(t.m=Pt[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=Et.exec(e.slice(r));return n?(t.m=Lt[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,r,n){return Ft(t,e,r,n)},d:D,e:D,f:j,H:R,I:R,j:z,L:N,m:I,M:F,p:function(t,e,r){var n=y.exec(e.slice(r));return n?(t.p=m[n[0].toLowerCase()],r+n[0].length):-1},q:O,Q:V,s:H,S:B,u:A,U:M,V:S,w:k,W:E,x:function(t,e,n){return Ft(t,r,e,n)},X:function(t,e,r){return Ft(t,s,e,r)},y:C,Y:L,Z:P,"%":U};function zt(t,e){return function(r){var n,i,a,o=[],s=-1,l=0,u=t.length;for(r instanceof Date||(r=new Date(+r));++s53)return null;"w"in h||(h.w=1),"Z"in h?(l=(s=c(f(h.y,0,1))).getUTCDay(),s=l>4||0===l?n.l6.ceil(s):(0,n.l6)(s),s=i.Z.offset(s,7*(h.V-1)),h.y=s.getUTCFullYear(),h.m=s.getUTCMonth(),h.d=s.getUTCDate()+(h.w+6)%7):(l=(s=u(f(h.y,0,1))).getDay(),s=l>4||0===l?a.wA.ceil(s):(0,a.wA)(s),s=o.Z.offset(s,7*(h.V-1)),h.y=s.getFullYear(),h.m=s.getMonth(),h.d=s.getDate()+(h.w+6)%7)}else("W"in h||"U"in h)&&("w"in h||(h.w="u"in h?h.u%7:"W"in h?1:0),l="Z"in h?c(f(h.y,0,1)).getUTCDay():u(f(h.y,0,1)).getDay(),h.m=0,h.d="W"in h?(h.w+6)%7+7*h.W-(l+5)%7:h.w+7*h.U-(l+6)%7);return"Z"in h?(h.H+=h.Z/100|0,h.M+=h.Z%100,c(h)):u(h)}}function Ft(t,e,r,n){for(var i,a,o=0,s=e.length,l=r.length;o=l)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=Dt[i in g?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Ot.x=zt(r,Ot),Ot.X=zt(s,Ot),Ot.c=zt(e,Ot),It.x=zt(r,It),It.X=zt(s,It),It.c=zt(e,It),{format:function(t){var e=zt(t+="",Ot);return e.toString=function(){return t},e},parse:function(t){var e=Rt(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=zt(t+="",It);return e.toString=function(){return t},e},utcParse:function(t){var e=Rt(t+="",!0);return e.toString=function(){return t},e}}}var p,d,v,g={"-":"",_:" ",0:"0"},y=/^\s*\d+/,m=/^%/,x=/[\\^$*+?|[\]().{}]/g;function b(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a68?1900:2e3),r+n[0].length):-1}function P(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function O(t,e,r){var n=y.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function I(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function D(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function z(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function R(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function F(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function B(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function N(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function j(t,e,r){var n=y.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function U(t,e,r){var n=m.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function V(t,e,r){var n=y.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function H(t,e,r){var n=y.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function q(t,e){return b(t.getDate(),e,2)}function G(t,e){return b(t.getHours(),e,2)}function Z(t,e){return b(t.getHours()%12||12,e,2)}function Y(t,e){return b(1+o.Z.count((0,s.Z)(t),t),e,3)}function W(t,e){return b(t.getMilliseconds(),e,3)}function X(t,e){return W(t,e)+"000"}function J(t,e){return b(t.getMonth()+1,e,2)}function K(t,e){return b(t.getMinutes(),e,2)}function $(t,e){return b(t.getSeconds(),e,2)}function Q(t){var e=t.getDay();return 0===e?7:e}function tt(t,e){return b(a.OM.count((0,s.Z)(t)-1,t),e,2)}function et(t,e){var r=t.getDay();return t=r>=4||0===r?(0,a.bL)(t):a.bL.ceil(t),b(a.bL.count((0,s.Z)(t),t)+(4===(0,s.Z)(t).getDay()),e,2)}function rt(t){return t.getDay()}function nt(t,e){return b(a.wA.count((0,s.Z)(t)-1,t),e,2)}function it(t,e){return b(t.getFullYear()%100,e,2)}function at(t,e){return b(t.getFullYear()%1e4,e,4)}function ot(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+b(e/60|0,"0",2)+b(e%60,"0",2)}function st(t,e){return b(t.getUTCDate(),e,2)}function lt(t,e){return b(t.getUTCHours(),e,2)}function ut(t,e){return b(t.getUTCHours()%12||12,e,2)}function ct(t,e){return b(1+i.Z.count((0,l.Z)(t),t),e,3)}function ft(t,e){return b(t.getUTCMilliseconds(),e,3)}function ht(t,e){return ft(t,e)+"000"}function pt(t,e){return b(t.getUTCMonth()+1,e,2)}function dt(t,e){return b(t.getUTCMinutes(),e,2)}function vt(t,e){return b(t.getUTCSeconds(),e,2)}function gt(t){var e=t.getUTCDay();return 0===e?7:e}function yt(t,e){return b(n.Ox.count((0,l.Z)(t)-1,t),e,2)}function mt(t,e){var r=t.getUTCDay();return t=r>=4||0===r?(0,n.hB)(t):n.hB.ceil(t),b(n.hB.count((0,l.Z)(t),t)+(4===(0,l.Z)(t).getUTCDay()),e,2)}function xt(t){return t.getUTCDay()}function bt(t,e){return b(n.l6.count((0,l.Z)(t)-1,t),e,2)}function _t(t,e){return b(t.getUTCFullYear()%100,e,2)}function wt(t,e){return b(t.getUTCFullYear()%1e4,e,4)}function Tt(){return"+0000"}function kt(){return"%"}function At(t){return+t}function Mt(t){return Math.floor(+t/1e3)}p=h({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",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"]}),d=p.format,p.parse,v=p.utcFormat,p.utcParse},82301:function(t,e,r){"use strict";r.d(e,{a:function(){return o}});var n=r(30052),i=r(54263),a=(0,n.Z)((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.yB)/i.UD}),(function(t){return t.getDate()-1}));e.Z=a;var o=a.range},54263:function(t,e,r){"use strict";r.d(e,{UD:function(){return o},Y2:function(){return a},Ym:function(){return n},iM:function(){return s},yB:function(){return i}});var n=1e3,i=6e4,a=36e5,o=864e5,s=6048e5},81041:function(t,e,r){"use strict";r.r(e),r.d(e,{timeDay:function(){return y.Z},timeDays:function(){return y.a},timeFriday:function(){return m.mC},timeFridays:function(){return m.b$},timeHour:function(){return v},timeHours:function(){return g},timeInterval:function(){return n.Z},timeMillisecond:function(){return a},timeMilliseconds:function(){return o},timeMinute:function(){return h},timeMinutes:function(){return p},timeMonday:function(){return m.wA},timeMondays:function(){return m.bJ},timeMonth:function(){return b},timeMonths:function(){return _},timeSaturday:function(){return m.EY},timeSaturdays:function(){return m.Ff},timeSecond:function(){return u},timeSeconds:function(){return c},timeSunday:function(){return m.OM},timeSundays:function(){return m.vm},timeThursday:function(){return m.bL},timeThursdays:function(){return m.$t},timeTuesday:function(){return m.sy},timeTuesdays:function(){return m.aU},timeWednesday:function(){return m.zg},timeWednesdays:function(){return m.Ld},timeWeek:function(){return m.OM},timeWeeks:function(){return m.vm},timeYear:function(){return w.Z},timeYears:function(){return w.g},utcDay:function(){return L.Z},utcDays:function(){return L.y},utcFriday:function(){return C.QQ},utcFridays:function(){return C.fz},utcHour:function(){return S},utcHours:function(){return E},utcMillisecond:function(){return a},utcMilliseconds:function(){return o},utcMinute:function(){return k},utcMinutes:function(){return A},utcMonday:function(){return C.l6},utcMondays:function(){return C.$3},utcMonth:function(){return O},utcMonths:function(){return I},utcSaturday:function(){return C.g4},utcSaturdays:function(){return C.Q_},utcSecond:function(){return u},utcSeconds:function(){return c},utcSunday:function(){return C.Ox},utcSundays:function(){return C.SU},utcThursday:function(){return C.hB},utcThursdays:function(){return C.xj},utcTuesday:function(){return C.J1},utcTuesdays:function(){return C.DK},utcWednesday:function(){return C.b3},utcWednesdays:function(){return C.uy},utcWeek:function(){return C.Ox},utcWeeks:function(){return C.SU},utcYear:function(){return D.Z},utcYears:function(){return D.D}});var n=r(30052),i=(0,n.Z)((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?(0,n.Z)((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,r){e.setTime(+e+r*t)}),(function(e,r){return(r-e)/t})):i:null};var a=i,o=i.range,s=r(54263),l=(0,n.Z)((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*s.Ym)}),(function(t,e){return(e-t)/s.Ym}),(function(t){return t.getUTCSeconds()})),u=l,c=l.range,f=(0,n.Z)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.Ym)}),(function(t,e){t.setTime(+t+e*s.yB)}),(function(t,e){return(e-t)/s.yB}),(function(t){return t.getMinutes()})),h=f,p=f.range,d=(0,n.Z)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.Ym-t.getMinutes()*s.yB)}),(function(t,e){t.setTime(+t+e*s.Y2)}),(function(t,e){return(e-t)/s.Y2}),(function(t){return t.getHours()})),v=d,g=d.range,y=r(82301),m=r(59879),x=(0,n.Z)((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),b=x,_=x.range,w=r(34823),T=(0,n.Z)((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*s.yB)}),(function(t,e){return(e-t)/s.yB}),(function(t){return t.getUTCMinutes()})),k=T,A=T.range,M=(0,n.Z)((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*s.Y2)}),(function(t,e){return(e-t)/s.Y2}),(function(t){return t.getUTCHours()})),S=M,E=M.range,L=r(48480),C=r(58176),P=(0,n.Z)((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),O=P,I=P.range,D=r(79791)},30052:function(t,e,r){"use strict";r.d(e,{Z:function(){return a}});var n=new Date,i=new Date;function a(t,e,r,o){function s(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return s.floor=function(e){return t(e=new Date(+e)),e},s.ceil=function(r){return t(r=new Date(r-1)),e(r,1),t(r),r},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e0))return o;do{o.push(a=new Date(+r)),e(r,i),t(r)}while(a=e)for(;t(e),!r(e);)e.setTime(e-1)}),(function(t,n){if(t>=t)if(n<0)for(;++n<=0;)for(;e(t,-1),!r(t););else for(;--n>=0;)for(;e(t,1),!r(t););}))},r&&(s.count=function(e,a){return n.setTime(+e),i.setTime(+a),t(n),t(i),Math.floor(r(n,i))},s.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?s.filter(o?function(e){return o(e)%t==0}:function(e){return s.count(0,e)%t==0}):s:null}),s}},48480:function(t,e,r){"use strict";r.d(e,{y:function(){return o}});var n=r(30052),i=r(54263),a=(0,n.Z)((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/i.UD}),(function(t){return t.getUTCDate()-1}));e.Z=a;var o=a.range},58176:function(t,e,r){"use strict";r.d(e,{$3:function(){return d},DK:function(){return v},J1:function(){return l},Ox:function(){return o},QQ:function(){return f},Q_:function(){return x},SU:function(){return p},b3:function(){return u},fz:function(){return m},g4:function(){return h},hB:function(){return c},l6:function(){return s},uy:function(){return g},xj:function(){return y}});var n=r(30052),i=r(54263);function a(t){return(0,n.Z)((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/i.iM}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},79791:function(t,e,r){"use strict";r.d(e,{D:function(){return a}});var n=r(30052),i=(0,n.Z)((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.Z)((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null},e.Z=i;var a=i.range},59879:function(t,e,r){"use strict";r.d(e,{$t:function(){return y},EY:function(){return h},Ff:function(){return x},Ld:function(){return g},OM:function(){return o},aU:function(){return v},b$:function(){return m},bJ:function(){return d},bL:function(){return c},mC:function(){return f},sy:function(){return l},vm:function(){return p},wA:function(){return s},zg:function(){return u}});var n=r(30052),i=r(54263);function a(t){return(0,n.Z)((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.yB)/i.iM}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},34823:function(t,e,r){"use strict";r.d(e,{g:function(){return a}});var n=r(30052),i=(0,n.Z)((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.Z)((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,r){e.setFullYear(e.getFullYear()+r*t)})):null},e.Z=i;var a=i.range},17045:function(t,e,r){"use strict";var n=r(8709),i="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),a=Object.prototype.toString,o=Array.prototype.concat,s=Object.defineProperty,l=r(55622)(),u=s&&l,c=function(t,e,r,n){if(e in t)if(!0===n){if(t[e]===r)return}else if("function"!=typeof(i=n)||"[object Function]"!==a.call(i)||!n())return;var i;u?s(t,e,{configurable:!0,enumerable:!1,value:r,writable:!0}):t[e]=r},f=function(t,e){var r=arguments.length>2?arguments[2]:{},a=n(e);i&&(a=o.call(a,Object.getOwnPropertySymbols(e)));for(var s=0;ss*l){var p=(h-f)/s;o[c]=1e3*p}}return o}function i(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i0)return function(t,e){var r,n;for(r=new Array(t),n=0;n80*a){o=l=t[0],s=f=t[1];for(var b=a;bl&&(l=h),d>f&&(f=d);v=0!==(v=Math.max(l-o,f-s))?1/v:0}return i(m,x,a,o,s,v),x}function r(t,e,r,n,i){var a,o;if(i===M(t,e,r,n)>0)for(a=e;a=e;a-=n)o=T(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function n(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==g(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function i(t,e,r,u,c,f,p){if(t){!p&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=h(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;e0||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,u,c,f);for(var d,v,g=t;t.prev!==t.next;)if(d=t.prev,v=t.next,f?o(t,u,c,f):a(t))e.push(d.i/r),e.push(t.i/r),e.push(v.i/r),k(t),t=v.next,g=v.next;else if((t=v)===g){p?1===p?i(t=s(n(t),e,r),e,r,u,c,f,2):2===p&&l(t,e,r,u,c,f):i(n(t),e,r,u,c,f,1);break}}}function a(t){var e=t.prev,r=t,n=t.next;if(g(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(d(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&g(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function o(t,e,r,n){var i=t.prev,a=t,o=t.next;if(g(i,a,o)>=0)return!1;for(var s=i.xa.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,f=h(s,l,e,r,n),p=h(u,c,e,r,n),v=t.prevZ,y=t.nextZ;v&&v.z>=f&&y&&y.z<=p;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;if(v=v.prevZ,y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(;v&&v.z>=f;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;y&&y.z<=p;){if(y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}return!0}function s(t,e,r){var i=t;do{var a=i.prev,o=i.next.next;!y(a,o)&&m(a,i,i.next,o)&&_(a,o)&&_(o,a)&&(e.push(a.i/r),e.push(i.i/r),e.push(o.i/r),k(i),k(i.next),i=t=o),i=i.next}while(i!==t);return n(i)}function l(t,e,r,a,o,s){var l=t;do{for(var u=l.next.next;u!==l.prev;){if(l.i!==u.i&&v(l,u)){var c=w(l,u);return l=n(l,l.next),c=n(c,c.next),i(l,e,r,a,o,s),void i(c,e,r,a,o,s)}u=u.next}l=l.next}while(l!==t)}function u(t,e){return t.x-e.x}function c(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.x&&n.x>=c&&i!==n.x&&d(ar.x||n.x===r.x&&f(r,n)))&&(r=n,p=l)),n=n.next}while(n!==u);return r}(t,e),e){var r=w(e,t);n(e,e.next),n(r,r.next)}}function f(t,e){return g(t.prev,t,e.prev)<0&&g(e.next,t,t.next)<0}function h(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 p(t){var e=t,r=t;do{(e.x=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&&m(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(_(t,e)&&_(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)&&(g(t.prev,t,e.prev)||g(t,e.prev,e))||y(t,e)&&g(t.prev,t,t.next)>0&&g(e.prev,e,e.next)>0)}function g(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 m(t,e,r,n){var i=b(g(t,e,r)),a=b(g(t,e,n)),o=b(g(r,n,t)),s=b(g(r,n,e));return i!==a&&o!==s||!(0!==i||!x(t,r,e))||!(0!==a||!x(t,n,e))||!(0!==o||!x(r,t,n))||!(0!==s||!x(r,e,n))}function x(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function b(t){return t>0?1:t<0?-1:0}function _(t,e){return g(t.prev,t,t.next)<0?g(t,e,t.next)>=0&&g(t,t.prev,e)>=0:g(t,e,t.prev)<0||g(t,t.next,e)<0}function w(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 T(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 k(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 M(t,e,r,n){for(var i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r}},2502:function(t,e,r){var n=r(68664);t.exports=function(t,e){var r,i=[],a=[],o=[],s={},l=[];function u(t){o[t]=!1,s.hasOwnProperty(t)&&Object.keys(s[t]).forEach((function(e){delete s[t][e],o[e]&&u(e)}))}function c(t){var e,n,i=!1;for(a.push(t),o[t]=!0,e=0;e=e}))}(e);for(var r,i=n(t).components.filter((function(t){return t.length>1})),a=1/0,o=0;o=55296&&m<=56319&&(w+=t[++r]),w=T?h.call(T,k,w,v):w,e?(p.value=w,d(g,v,p)):g[v]=w,++v;y=v}if(void 0===y)for(y=o(t.length),e&&(g=new e(y)),r=0;r0?1:-1}},56247:function(t,e,r){"use strict";var n=r(9953),i=Math.abs,a=Math.floor;t.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},35976:function(t,e,r){"use strict";var n=r(56247),i=Math.max;t.exports=function(t){return i(0,n(t))}},67260:function(t,e,r){"use strict";var n=r(78513),i=r(36672),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;t.exports=function(t,e){return function(r,u){var c,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(u),c=s(r),h&&c.sort("function"==typeof h?a.call(h,r):void 0),"function"!=typeof t&&(t=c[t]),o.call(t,c,(function(t,n){return l.call(r,t)?o.call(u,f,r[t],t,r,n):e}))}}},95879:function(t,e,r){"use strict";t.exports=r(73583)()?Object.assign:r(34205)},73583:function(t){"use strict";t.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},34205:function(t,e,r){"use strict";var n=r(68700),i=r(36672),a=Math.max;t.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o-1}},87963:function(t){"use strict";var e=Object.prototype.toString,r=e.call("");t.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||e.call(t)===r)||!1}},43043:function(t){"use strict";var e=Object.create(null),r=Math.random;t.exports=function(){var t;do{t=r().toString(36).slice(2)}while(e[t]);return t}},32411:function(t,e,r){"use strict";var n,i=r(1496),a=r(66741),o=r(62072),s=r(8260),l=r(95426),u=Object.defineProperty;n=t.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?a.call(e,"key+value")?"key+value":a.call(e,"key")?"key":"value":"value",u(this,"__kind__",o("",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o((function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t}))}),u(n.prototype,s.toStringTag,o("c","Array Iterator"))},27515:function(t,e,r){"use strict";var n=r(73051),i=r(78513),a=r(87963),o=r(66661),s=Array.isArray,l=Function.prototype.call,u=Array.prototype.some;t.exports=function(t,e){var r,c,f,h,p,d,v,g,y=arguments[2];if(s(t)||n(t)?r="array":a(t)?r="string":t=o(t),i(e),f=function(){h=!0},"array"!==r)if("string"!==r)for(c=t.next();!c.done;){if(l.call(e,y,c.value,f),h)return;c=t.next()}else for(d=t.length,p=0;p=55296&&g<=56319&&(v+=t[++p]),l.call(e,y,v,f),!h);++p);else u.call(t,(function(t){return l.call(e,y,t,f),h}))}},66661:function(t,e,r){"use strict";var n=r(73051),i=r(87963),a=r(32411),o=r(259),s=r(58095),l=r(8260).iterator;t.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},95426:function(t,e,r){"use strict";var n,i=r(16134),a=r(95879),o=r(78513),s=r(36672),l=r(62072),u=r(55174),c=r(8260),f=Object.defineProperty,h=Object.defineProperties;t.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");h(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,h(n.prototype,a({_next:l((function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach((function(e,r){e>=t&&(this.__redo__[r]=++e)}),this),this.__redo__.push(t)):f(this,"__redo__",l("c",[t])))})),_onDelete:l((function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach((function(e,r){e>t&&(this.__redo__[r]=--e)}),this)))})),_onClear:l((function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0}))}))),f(n.prototype,c.iterator,l((function(){return this})))},35940:function(t,e,r){"use strict";var n=r(73051),i=r(95296),a=r(87963),o=r(8260).iterator,s=Array.isArray;t.exports=function(t){return!(!i(t)||!s(t)&&!a(t)&&!n(t)&&"function"!=typeof t[o])}},259:function(t,e,r){"use strict";var n,i=r(1496),a=r(62072),o=r(8260),s=r(95426),l=Object.defineProperty;n=t.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",a("",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a((function(){if(this.__list__)return this.__nextIndex__=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,a("c","String Iterator"))},58095:function(t,e,r){"use strict";var n=r(35940);t.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},73523:function(t){"use strict";function e(t,e){if(null==t)throw new TypeError("Cannot convert first argument to object");for(var r=Object(t),n=1;n0&&o.length>i&&!o.warned){o.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=t,c.type=e,c.count=o.length,u=c,console&&console.warn&&console.warn(u)}return t}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=c.bind(n);return i.listener=r,n.wrapFn=i,i}function h(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[t];if(void 0===l)return!1;if("function"==typeof l)n(l,this,e);else{var u=l.length,c=d(l,u);for(r=0;r=0;a--)if(r[a]===e||r[a].listener===e){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},a.prototype.listeners=function(t){return h(this,t,!0)},a.prototype.rawListeners=function(t){return h(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):p.call(t,e)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},60774:function(t){var e=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};t.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(t){return e()}try{return __global__||e()}finally{delete Object.prototype.__global__}}()},94908:function(t,e,r){"use strict";t.exports=r(51152)()?globalThis:r(60774)},51152:function(t){"use strict";t.exports=function(){return"object"==typeof globalThis&&!!globalThis&&globalThis.Array===Array}},92770:function(t,e,r){"use strict";var n=r(18546);t.exports=function(t){var e=typeof t;if("string"===e){var r=t;if(0==(t=+t)&&n(r))return!1}else if("number"!==e)return!1;return t-t<1}},30120:function(t,e,r){var n=r(90660);t.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&"number"==typeof t[0][0]){var i,a,o,s,l=t[0].length,u=t.length*l;e&&"string"!=typeof e||(e=new(n(e||"float32"))(u+r));var c=e.length-r;if(u!==c)throw new Error("source length "+u+" ("+l+"x"+t.length+") does not match destination length "+c);for(i=0,o=r;ie[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},32879:function(t){"use strict";function e(t,a){a||(a={}),("string"==typeof t||Array.isArray(t))&&(a.family=t);var o=Array.isArray(a.family)?a.family.join(", "):a.family;if(!o)throw Error("`family` must be defined");var s=a.size||a.fontSize||a.em||48,l=a.weight||a.fontWeight||"",u=(t=[a.style||a.fontStyle||"",l,s].join(" ")+"px "+o,a.origin||"top");if(e.cache[o]&&s<=e.cache[o].em)return r(e.cache[o],u);var c=a.canvas||e.canvas,f=c.getContext("2d"),h={upper:void 0!==a.upper?a.upper:"H",lower:void 0!==a.lower?a.lower:"x",descent:void 0!==a.descent?a.descent:"p",ascent:void 0!==a.ascent?a.ascent:"h",tittle:void 0!==a.tittle?a.tittle:"i",overshoot:void 0!==a.overshoot?a.overshoot:"O"},p=Math.ceil(1.5*s);c.height=p,c.width=.5*p,f.font=t;var d="H",v={top:0};f.clearRect(0,0,p,p),f.textBaseline="top",f.fillStyle="black",f.fillText(d,0,0);var g=n(f.getImageData(0,0,p,p));f.clearRect(0,0,p,p),f.textBaseline="bottom",f.fillText(d,0,p);var y=n(f.getImageData(0,0,p,p));v.lineHeight=v.bottom=p-y+g,f.clearRect(0,0,p,p),f.textBaseline="alphabetic",f.fillText(d,0,p);var m=p-n(f.getImageData(0,0,p,p))-1+g;v.baseline=v.alphabetic=m,f.clearRect(0,0,p,p),f.textBaseline="middle",f.fillText(d,0,.5*p);var x=n(f.getImageData(0,0,p,p));v.median=v.middle=p-x-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="hanging",f.fillText(d,0,.5*p);var b=n(f.getImageData(0,0,p,p));v.hanging=p-b-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="ideographic",f.fillText(d,0,p);var _=n(f.getImageData(0,0,p,p));if(v.ideographic=p-_-1+g,h.upper&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.upper,0,0),v.upper=n(f.getImageData(0,0,p,p)),v.capHeight=v.baseline-v.upper),h.lower&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.lower,0,0),v.lower=n(f.getImageData(0,0,p,p)),v.xHeight=v.baseline-v.lower),h.tittle&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.tittle,0,0),v.tittle=n(f.getImageData(0,0,p,p))),h.ascent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.ascent,0,0),v.ascent=n(f.getImageData(0,0,p,p))),h.descent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.descent,0,0),v.descent=i(f.getImageData(0,0,p,p))),h.overshoot){f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.overshoot,0,0);var w=i(f.getImageData(0,0,p,p));v.overshoot=w-m}for(var T in v)v[T]/=s;return v.em=s,e.cache[o]=v,r(v,u)}function r(t,e){var r={};for(var n in"string"==typeof e&&(e=t[e]),t)"em"!==n&&(r[n]=t[n]-e);return r}function n(t){for(var e=t.height,r=t.data,n=3;n0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}t.exports=e,e.canvas=document.createElement("canvas"),e.cache={}},31353:function(t,e,r){"use strict";var n=r(85395),i=Object.prototype.toString,a=Object.prototype.hasOwnProperty,o=function(t,e,r){for(var n=0,i=t.length;n=3&&(a=r),"[object Array]"===i.call(t)?o(t,e,a):"string"==typeof t?s(t,e,a):l(t,e,a)}},73047:function(t){"use strict";var e="Function.prototype.bind called on incompatible ",r=Array.prototype.slice,n=Object.prototype.toString,i="[object Function]";t.exports=function(t){var a=this;if("function"!=typeof a||n.call(a)!==i)throw new TypeError(e+a);for(var o,s=r.call(arguments,1),l=function(){if(this instanceof o){var e=a.apply(this,s.concat(r.call(arguments)));return Object(e)===e?e:this}return a.apply(t,s.concat(r.call(arguments)))},u=Math.max(0,a.length-s.length),c=[],f=0;f1&&"boolean"!=typeof e)throw new o('"allowMissing" argument must be a boolean');if(null===A(/^%?[^%]*%?$/,t))throw new i("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=E(t),n=r.length>0?r[0]:"",a=L("%"+n+"%",e),s=a.name,u=a.value,c=!1,f=a.alias;f&&(n=f[0],w(r,_([0,1],f)));for(var h=1,p=!0;h=r.length){var m=l(u,d);u=(p=!!m)&&"get"in m&&!("originalValue"in m.get)?m.get:u[d]}else p=b(u,d),u=u[d];p&&!c&&(v[s]=u)}}return u}},85400:function(t){t.exports=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],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15];return t[0]=s*(h*y-p*g)-f*(l*y-u*g)+v*(l*p-u*h),t[1]=-(n*(h*y-p*g)-f*(i*y-a*g)+v*(i*p-a*h)),t[2]=n*(l*y-u*g)-s*(i*y-a*g)+v*(i*u-a*l),t[3]=-(n*(l*p-u*h)-s*(i*p-a*h)+f*(i*u-a*l)),t[4]=-(o*(h*y-p*g)-c*(l*y-u*g)+d*(l*p-u*h)),t[5]=r*(h*y-p*g)-c*(i*y-a*g)+d*(i*p-a*h),t[6]=-(r*(l*y-u*g)-o*(i*y-a*g)+d*(i*u-a*l)),t[7]=r*(l*p-u*h)-o*(i*p-a*h)+c*(i*u-a*l),t[8]=o*(f*y-p*v)-c*(s*y-u*v)+d*(s*p-u*f),t[9]=-(r*(f*y-p*v)-c*(n*y-a*v)+d*(n*p-a*f)),t[10]=r*(s*y-u*v)-o*(n*y-a*v)+d*(n*u-a*s),t[11]=-(r*(s*p-u*f)-o*(n*p-a*f)+c*(n*u-a*s)),t[12]=-(o*(f*g-h*v)-c*(s*g-l*v)+d*(s*h-l*f)),t[13]=r*(f*g-h*v)-c*(n*g-i*v)+d*(n*h-i*f),t[14]=-(r*(s*g-l*v)-o*(n*g-i*v)+d*(n*l-i*s)),t[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),t}},42331:function(t){t.exports=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}},31042:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},11902:function(t){t.exports=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}},89887:function(t){t.exports=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],f=t[10],h=t[11],p=t[12],d=t[13],v=t[14],g=t[15];return(e*o-r*a)*(f*g-h*v)-(e*s-n*a)*(c*g-h*d)+(e*l-i*a)*(c*v-f*d)+(r*s-n*o)*(u*g-h*p)-(r*l-i*o)*(u*v-f*p)+(n*l-i*s)*(u*d-c*p)}},27812:function(t){t.exports=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,f=n*s,h=i*o,p=i*s,d=i*l,v=a*o,g=a*s,y=a*l;return t[0]=1-f-d,t[1]=c+y,t[2]=h-g,t[3]=0,t[4]=c-y,t[5]=1-u-d,t[6]=p+v,t[7]=0,t[8]=h+g,t[9]=p-v,t[10]=1-u-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},34045:function(t){t.exports=function(t,e,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(o*=u=1/u,s*=u,l*=u,n=Math.sin(e),a=1-(i=Math.cos(e)),t[0]=o*o*a+i,t[1]=s*o*a+l*n,t[2]=l*o*a-s*n,t[3]=0,t[4]=o*s*a-l*n,t[5]=s*s*a+i,t[6]=l*s*a+o*n,t[7]=0,t[8]=o*l*a+s*n,t[9]=s*l*a-o*n,t[10]=l*l*a+i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}},45973:function(t){t.exports=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,f=n*l,h=n*u,p=i*l,d=i*u,v=a*u,g=o*s,y=o*l,m=o*u;return t[0]=1-(p+v),t[1]=f+m,t[2]=h-y,t[3]=0,t[4]=f-m,t[5]=1-(c+v),t[6]=d+g,t[7]=0,t[8]=h+y,t[9]=d-g,t[10]=1-(c+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},81472:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},14669:function(t){t.exports=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}},75262:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},331:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},11049:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},75195:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(r-e),l=1/(i-n),u=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*l,t[10]=(o+a)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*u,t[15]=0,t}},71551:function(t){t.exports=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}},79576:function(t,e,r){t.exports={create:r(11902),clone:r(42331),copy:r(31042),identity:r(71551),transpose:r(88654),invert:r(95874),adjoint:r(85400),determinant:r(89887),multiply:r(91362),translate:r(31283),scale:r(10789),rotate:r(65074),rotateX:r(35545),rotateY:r(94918),rotateZ:r(15692),fromRotation:r(34045),fromRotationTranslation:r(45973),fromScaling:r(81472),fromTranslation:r(14669),fromXRotation:r(75262),fromYRotation:r(331),fromZRotation:r(11049),fromQuat:r(27812),frustum:r(75195),perspective:r(7864),perspectiveFromFieldOfView:r(35279),ortho:r(60378),lookAt:r(65551),str:r(6726)}},95874:function(t){t.exports=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],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15],m=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,T=i*u-a*l,k=c*v-f*d,A=c*g-h*d,M=c*y-p*d,S=f*g-h*v,E=f*y-p*v,L=h*y-p*g,C=m*L-x*E+b*S+_*M-w*A+T*k;return C?(C=1/C,t[0]=(s*L-l*E+u*S)*C,t[1]=(i*E-n*L-a*S)*C,t[2]=(v*T-g*w+y*_)*C,t[3]=(h*w-f*T-p*_)*C,t[4]=(l*M-o*L-u*A)*C,t[5]=(r*L-i*M+a*A)*C,t[6]=(g*b-d*T-y*x)*C,t[7]=(c*T-h*b+p*x)*C,t[8]=(o*E-s*M+u*k)*C,t[9]=(n*M-r*E-a*k)*C,t[10]=(d*w-v*b+y*m)*C,t[11]=(f*b-c*w-p*m)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(v*x-d*_-g*m)*C,t[15]=(c*_-f*x+h*m)*C,t):null}},65551:function(t,e,r){var n=r(71551);t.exports=function(t,e,r,i){var a,o,s,l,u,c,f,h,p,d,v=e[0],g=e[1],y=e[2],m=i[0],x=i[1],b=i[2],_=r[0],w=r[1],T=r[2];return Math.abs(v-_)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(y-T)<1e-6?n(t):(f=v-_,h=g-w,p=y-T,a=x*(p*=d=1/Math.sqrt(f*f+h*h+p*p))-b*(h*=d),o=b*(f*=d)-m*p,s=m*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0),l=h*s-p*o,u=p*a-f*s,c=f*o-h*a,(d=Math.sqrt(l*l+u*u+c*c))?(l*=d=1/d,u*=d,c*=d):(l=0,u=0,c=0),t[0]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=u,t[6]=h,t[7]=0,t[8]=s,t[9]=c,t[10]=p,t[11]=0,t[12]=-(a*v+o*g+s*y),t[13]=-(l*v+u*g+c*y),t[14]=-(f*v+h*g+p*y),t[15]=1,t)}},91362:function(t){t.exports=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],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}},60378:function(t){t.exports=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}},7864:function(t){t.exports=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}},35279:function(t){t.exports=function(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-(o-s)*l*.5,t[9]=(i-a)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}},65074:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=n[0],L=n[1],C=n[2],P=Math.sqrt(E*E+L*L+C*C);return Math.abs(P)<1e-6?null:(E*=P=1/P,L*=P,C*=P,i=Math.sin(r),o=1-(a=Math.cos(r)),s=e[0],l=e[1],u=e[2],c=e[3],f=e[4],h=e[5],p=e[6],d=e[7],v=e[8],g=e[9],y=e[10],m=e[11],x=E*E*o+a,b=L*E*o+C*i,_=C*E*o-L*i,w=E*L*o-C*i,T=L*L*o+a,k=C*L*o+E*i,A=E*C*o+L*i,M=L*C*o-E*i,S=C*C*o+a,t[0]=s*x+f*b+v*_,t[1]=l*x+h*b+g*_,t[2]=u*x+p*b+y*_,t[3]=c*x+d*b+m*_,t[4]=s*w+f*T+v*k,t[5]=l*w+h*T+g*k,t[6]=u*w+p*T+y*k,t[7]=c*w+d*T+m*k,t[8]=s*A+f*M+v*S,t[9]=l*A+h*M+g*S,t[10]=u*A+p*M+y*S,t[11]=c*A+d*M+m*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}},35545:function(t){t.exports=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],f=e[10],h=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+f*n,t[7]=l*i+h*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},94918:function(t){t.exports=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],f=e[10],h=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},15692:function(t){t.exports=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],f=e[6],h=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+f*n,t[3]=l*i+h*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},10789:function(t){t.exports=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}},6726:function(t){t.exports=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}},31283:function(t){t.exports=function(t,e,r){var n,i,a,o,s,l,u,c,f,h,p,d,v=r[0],g=r[1],y=r[2];return e===t?(t[12]=e[0]*v+e[4]*g+e[8]*y+e[12],t[13]=e[1]*v+e[5]*g+e[9]*y+e[13],t[14]=e[2]*v+e[6]*g+e[10]*y+e[14],t[15]=e[3]*v+e[7]*g+e[11]*y+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],f=e[8],h=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]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*v+s*g+f*y+e[12],t[13]=i*v+l*g+h*y+e[13],t[14]=a*v+u*g+p*y+e[14],t[15]=o*v+c*g+d*y+e[15]),t}},88654:function(t){t.exports=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}},42505:function(t,e,r){"use strict";var n=r(72791),i=r(71299),a=r(98580),o=r(12018),s=r(83522),l=r(25075),u=r(68016),c=r(58404),f=r(18863),h=r(10973),p=r(25677),d=r(75686),v=r(53545),g=r(56131),y=r(32879),m=r(30120),x=r(13547).nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement("div"));w.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var T=function(t){!function(t){return"function"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(h(t)?t:{})};T.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:"\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ vec2(positionOffset.x, -positionOffset.y)))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}",frag:"\n\t\t\tprecision highp float;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform sampler2D atlas;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});return{regl:t,draw:e,atlas:{}}},T.prototype.update=function(t){var e=this;if("string"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map((function(t){return parseFloat(t)})):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=f(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&("number"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=m(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=T.baseFontSize+"px sans-serif");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach((function(t,r){if("string"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(T.baseFontSize+"px "+t)}else t=n.parse(n.stringify(t));var i=n.stringify({size:T.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),s=p(t.size),l=Math.round(s[0]*d(s[1]));if(l!==e.fontSize[r]&&(o=!0,e.fontSize[r]=l),!(e.font[r]&&i==e.font[r].baseString||(a=!0,e.font[r]=T.fonts[i],e.font[r]))){var u=t.family.join(", "),c=[t.style];t.style!=t.variant&&c.push(t.variant),t.variant!=t.weight&&c.push(t.weight),_&&t.weight!=t.stretch&&c.push(t.stretch),e.font[r]={baseString:i,family:u,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:y(u,{origin:"top",fontSize:T.baseFontSize,fontStyle:c.join(" ")})},T.fonts[i]=e.font[r]}})),(a||o)&&this.font.forEach((function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)})),"string"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),h=0;h2){for(var w=!t.position[0].length,k=c.mallocFloat(2*this.count),A=0,M=0;A1?e.align[r]:e.align[0]:e.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-t;case"center":case"centre":case"middle":return.5*-t}return 0}))),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,-1*(i+="number"==typeof t?t-n.baseline:-n[t])}))),null!=t.color)if(t.color||(t.color="transparent"),"string"!=typeof t.color&&isNaN(t.color)){var q;if("number"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;q=c.mallocUint8(G);for(var Z=(t.color.subarray||t.color.slice).bind(t.color),Y=0;Y4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var J=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(J);for(var K=0;K1?this.counts[K]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[K]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*K,4*K+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[K]:this.opacity,baseline:null!=this.baselineOffset[K]?this.baselineOffset[K]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[K]?this.alignOffset[K]:this.alignOffset[0]:0,atlas:this.fontAtlas[K]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*K,2*K+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},T.prototype.destroy=function(){},T.prototype.kerning=!0,T.prototype.position={constant:new Float32Array(2)},T.prototype.translate=null,T.prototype.scale=null,T.prototype.font=null,T.prototype.text="",T.prototype.positionOffset=[0,0],T.prototype.opacity=1,T.prototype.color=new Uint8Array([0,0,0,255]),T.prototype.alignOffset=[0,0],T.maxAtlasSize=1024,T.atlasCanvas=document.createElement("canvas"),T.atlasContext=T.atlasCanvas.getContext("2d",{alpha:!1}),T.baseFontSize=64,T.fonts={},t.exports=T},12018:function(t,e,r){"use strict";var n=r(71299);function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.g.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.g.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return"function"==typeof t.getContext&&"width"in t&&"height"in t}function o(){var t=document.createElement("canvas");return t.style.position="absolute",t.style.top=0,t.style.left=0,t}t.exports=function(t){var e;if(t?"string"==typeof t&&(t={container:t}):t={},(t=a(t)||"string"==typeof(e=t).nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect?{container:t}:function(t){return"function"==typeof t.drawArrays||"function"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0)).pixelRatio||(t.pixelRatio=r.g.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if("string"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error("Element "+t.container+" is not found");t.container=s}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),i(t))}else if(!t.canvas){if("undefined"==typeof document)throw Error("Not DOM environment. Use headless-gl.");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),i(t)}return t.gl||["webgl","experimental-webgl","webgl-experimental"].some((function(e){try{t.gl=t.canvas.getContext(e,t.attrs)}catch(t){}return t.gl})),t.gl}},56068:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,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)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=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+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},42018:function(t){"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},47216:function(t,e,r){"use strict";var n=r(84543)(),i=r(6614)("Object.prototype.toString"),a=function(t){return!(n&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===i(t)},o=function(t){return!!a(t)||null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==i(t)&&"[object Function]"===i(t.callee)},s=function(){return a(arguments)}();a.isLegacyArguments=o,t.exports=s?a:o},54404:function(t){t.exports=!0},85395:function(t){"use strict";var e,r,n=Function.prototype.toString,i="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof i&&"function"==typeof Object.defineProperty)try{e=Object.defineProperty({},"length",{get:function(){throw r}}),r={},i((function(){throw 42}),null,e)}catch(t){t!==r&&(i=null)}else i=null;var a=/^\s*class\b/,o=function(t){try{var e=n.call(t);return a.test(e)}catch(t){return!1}},s=function(t){try{return!o(t)&&(n.call(t),!0)}catch(t){return!1}},l=Object.prototype.toString,u="function"==typeof Symbol&&!!Symbol.toStringTag,c=!(0 in[,]),f=function(){return!1};if("object"==typeof document){var h=document.all;l.call(h)===l.call(document.all)&&(f=function(t){if((c||!t)&&(void 0===t||"object"==typeof t))try{var e=l.call(t);return("[object HTMLAllCollection]"===e||"[object HTML document.all class]"===e||"[object HTMLCollection]"===e||"[object Object]"===e)&&null==t("")}catch(t){}return!1})}t.exports=i?function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;try{i(t,null,e)}catch(t){if(t!==r)return!1}return!o(t)&&s(t)}:function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;if(u)return s(t);if(o(t))return!1;var e=l.call(t);return!("[object Function]"!==e&&"[object GeneratorFunction]"!==e&&!/^\[object HTML/.test(e))&&s(t)}},65481:function(t,e,r){"use strict";var n,i=Object.prototype.toString,a=Function.prototype.toString,o=/^\s*(?:function)?\*/,s=r(84543)(),l=Object.getPrototypeOf;t.exports=function(t){if("function"!=typeof t)return!1;if(o.test(a.call(t)))return!0;if(!s)return"[object GeneratorFunction]"===i.call(t);if(!l)return!1;if(void 0===n){var e=function(){if(!s)return!1;try{return Function("return function*() {}")()}catch(t){}}();n=!!e&&l(e)}return l(t)===n}},62683:function(t){"use strict";t.exports="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},64274:function(t){"use strict";t.exports=function(t){return t!=t}},15567:function(t,e,r){"use strict";var n=r(68222),i=r(17045),a=r(64274),o=r(14922),s=r(22442),l=n(o(),Number);i(l,{getPolyfill:o,implementation:a,shim:s}),t.exports=l},14922:function(t,e,r){"use strict";var n=r(64274);t.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:n}},22442:function(t,e,r){"use strict";var n=r(17045),i=r(14922);t.exports=function(){var t=i();return n(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}},64941:function(t){"use strict";t.exports=function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}},10973:function(t){"use strict";var e=Object.prototype.toString;t.exports=function(t){var r;return"[object Object]"===e.call(t)&&(null===(r=Object.getPrototypeOf(t))||r===Object.getPrototypeOf({}))}},18546:function(t){"use strict";t.exports=function(t){for(var e,r=t.length,n=0;n13)&&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}},89546:function(t){"use strict";t.exports=function(t){return"string"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}},9187:function(t,e,r){"use strict";var n=r(31353),i=r(72077),a=r(6614),o=a("Object.prototype.toString"),s=r(84543)(),l=r(40383),u="undefined"==typeof globalThis?r.g:globalThis,c=i(),f=a("Array.prototype.indexOf",!0)||function(t,e){for(var r=0;r-1}return!!l&&function(t){var e=!1;return n(p,(function(r,n){if(!e)try{e=r.call(t)===n}catch(t){}})),e}(t)}},44517:function(t){t.exports=function(){"use strict";var t,e,r;function n(n,i){if(t)if(e){var a="var sharedChunk = {}; ("+t+")(sharedChunk); ("+e+")(sharedChunk);",o={};t(o),(r=i(o)).workerUrl=window.URL.createObjectURL(new Blob([a],{type:"text/javascript"}))}else e=i;else t=i}return n(0,(function(t){function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r="1.10.1",n=i;function i(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}i.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},i.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},i.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},i.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)(n=1))return n;for(;ra?r=i:n=i,i=.5*(n-r)+r}return i},i.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var a=o;function o(t,e){this.x=t,this.y=e}function s(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}}o.prototype={clone:function(){return new o(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}},o.convert=function(t){return t instanceof o?t:Array.isArray(t)?new o(t[0],t[1]):t};var l=s(.25,.1,.25,1);function u(t,e,r){return Math.min(r,Math.max(e,t))}function c(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function f(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function v(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function g(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}function y(t,e){return-1!==t.indexOf(e,t.length-e.length)}function m(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function x(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function b(t){return Array.isArray(t)?t.map(b):"object"==typeof t&&t?m(t,b):t}var _={};function w(t){_[t]||("undefined"!=typeof console&&console.warn(t),_[t]=!0)}function T(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function k(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r@\,;\:\\"\/\[\]\?\=\{\}\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}var S=null;function E(t){if(null==S){var e=t.navigator?t.navigator.userAgent:null;S=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return S}function L(t){try{var e=self[t];return e.setItem("_mapbox_test_",1),e.removeItem("_mapbox_test_"),!0}catch(t){return!1}}var C,P,O,I,D=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date),z=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame,R=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame,F={now:D,frame:function(t){var e=z(t);return{cancel:function(){return R(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=self.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw new Error("failed to create canvas 2d context");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return C||(C=self.document.createElement("a")),C.href=t,C.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},get prefersReducedMotion(){return!!self.matchMedia&&(null==P&&(P=self.matchMedia("(prefers-reduced-motion: reduce)")),P.matches)}},B={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},N={supported:!1,testSupport:function(t){!j&&I&&(U?V(t):O=t)}},j=!1,U=!1;function V(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,I),t.isContextLost())return;N.supported=!0}catch(t){}t.deleteTexture(e),j=!0}self.document&&((I=self.document.createElement("img")).onload=function(){O&&V(O),O=null,U=!0},I.onerror=function(){j=!0,O=null},I.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var H="01";var q=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function G(t){return 0===t.indexOf("mapbox:")}q.prototype._createSkuToken=function(){var t=function(){for(var t="",e=0;e<10;e++)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",H,t].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},q.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},q.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},q.prototype.normalizeStyleURL=function(t,e){if(!G(t))return t;var r=X(t);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeGlyphsURL=function(t,e){if(!G(t))return t;var r=X(t);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeSourceURL=function(t,e){if(!G(t))return t;var r=X(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeSpriteURL=function(t,e,r,n){var i=X(t);return G(t)?(i.path="/styles/v1"+i.path+"/sprite"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=""+e+r,J(i))},q.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!G(t))return t;var r=X(t),n=F.devicePixelRatio>=2||512===e?"@2x":"",i=N.supported?".webp":"$1";r.path=r.path.replace(/(\.(png|jpg)\d*)(?=$)/,""+n+i),r.path=r.path.replace(/^.+\/v4\//,"/"),r.path="/v4"+r.path;var a=this._customAccessToken||function(t){for(var e=0,r=t;e=1&&self.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){w("Unable to write to LocalStorage")}},Q.prototype.processRequests=function(t){},Q.prototype.postEvent=function(t,e,n,i){var a=this;if(B.EVENTS_URL){var o=X(B.EVENTS_URL);o.params.push("access_token="+(i||B.ACCESS_TOKEN||""));var s={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:r,skuId:H,userId:this.anonId},l=e?f(s,e):s,u={url:J(o),headers:{"Content-Type":"text/plain"},body:JSON.stringify([l])};this.pendingRequest=kt(u,(function(t){a.pendingRequest=null,n(t),a.saveEventData(),a.processRequests(i)}))}},Q.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var tt,et,rt=function(t){function e(){t.call(this,"map.load"),this.success={},this.skuToken=""}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(B.EVENTS_URL&&n||B.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return G(t)||Y(t)})))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),v(this.anonId)||(this.anonId=d()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(Q),nt=function(t){function e(e){t.call(this,"appUserTurnstile"),this._customAccessToken=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postTurnstileEvent=function(t,e){B.EVENTS_URL&&B.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return G(t)||Y(t)}))&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=$(B.ACCESS_TOKEN),n=r?r.u:B.ACCESS_TOKEN,i=n!==this.eventData.tokenU;v(this.anonId)||(this.anonId=d(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{"enabled.telemetry":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n)}),t)}},e}(Q),it=new nt,at=it.postTurnstileEvent.bind(it),ot=new rt,st=ot.postMapLoadEvent.bind(ot),lt="mapbox-tiles",ut=500,ct=50;function ft(){self.caches&&!tt&&(tt=self.caches.open(lt))}function ht(t,e,r){if(ft(),tt){var n={status:e.status,statusText:e.statusText,headers:new self.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=M(e.headers.get("Cache-Control")||"");i["no-store"]||(i["max-age"]&&n.headers.set("Expires",new Date(r+1e3*i["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-r<42e4||function(t,e){if(void 0===et)try{new Response(new ReadableStream),et=!0}catch(t){et=!1}et?e(t.body):t.blob().then(e)}(e,(function(e){var r=new self.Response(e,n);ft(),tt&&tt.then((function(e){return e.put(pt(t.url),r)})).catch((function(t){return w(t.message)}))})))}}function pt(t){var e=t.indexOf("?");return e<0?t:t.slice(0,e)}function dt(t,e){if(ft(),!tt)return e(null);var r=pt(t.url);tt.then((function(t){t.match(r).then((function(n){var i=function(t){if(!t)return!1;var e=new Date(t.headers.get("Expires")||0),r=M(t.headers.get("Cache-Control")||"");return e>Date.now()&&!r["no-cache"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i)})).catch(e)})).catch(e)}var vt,gt=1/0;function yt(){return null==vt&&(vt=self.OffscreenCanvas&&new self.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof self.createImageBitmap),vt}var mt={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(mt);var xt=function(t){function e(e,r,n){401===r&&Y(n)&&(e+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},e}(Error),bt=A()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===self.location.protocol?self.parent:self).location.href};function _t(t,e){var r,n=new self.AbortController,i=new self.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:bt(),signal:n.signal}),a=!1,o=!1,s=(r=i.url).indexOf("sku=")>0&&Y(r);"json"===t.type&&i.headers.set("Accept","application/json");var l=function(r,n,a){if(!o){if(r&&"SecurityError"!==r.message&&w(r),n&&a)return u(n);var l=Date.now();self.fetch(i).then((function(r){if(r.ok){var n=s?r.clone():null;return u(r,n,l)}return e(new xt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message))}))}},u=function(r,n,s){("arrayBuffer"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text()).then((function(t){o||(n&&s&&ht(i,n,s),a=!0,e(null,t,r.headers.get("Cache-Control"),r.headers.get("Expires")))})).catch((function(t){o||e(new Error(t.message))}))};return s?dt(i,l):l(null,null),{cancel:function(){o=!0,a||n.abort()}}}var wt=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(bt())&&!/^\w+:/.test(r))){if(self.fetch&&self.Request&&self.AbortController&&self.Request.prototype.hasOwnProperty("signal"))return _t(t,e);if(A()&&self.worker&&self.worker.actor){return self.worker.actor.send("getResource",t,e,void 0,!0)}}var r;return function(t,e){var r=new self.XMLHttpRequest;for(var n in r.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(r.responseType="arraybuffer"),t.headers)r.setRequestHeader(n,t.headers[n]);return"json"===t.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else e(new xt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},Tt=function(t,e){return wt(f(t,{type:"arrayBuffer"}),e)},kt=function(t,e){return wt(f(t,{method:"POST"}),e)};var At,Mt;At=[],Mt=0;var St=function(t,e){if(N.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),Mt>=B.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return At.push(r),r}Mt++;var n=!1,i=function(){if(!n)for(n=!0,Mt--;At.length&&Mt0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Ot.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var It={$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_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.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},"*":{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.051129,180,85.051129]},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.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{}},default:"mapbox"},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},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"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},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","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},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:24,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"},in:{group:"Lookup"},"index-of":{group:"Lookup"},slice:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},"interpolate-hcl":{group:"Ramps, scales, curves"},"interpolate-lab":{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"},collator:{group:"Types"},format:{group:"Types"},image:{group:"Types"},"number-format":{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"},"feature-state":{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"line-progress":{group:"Feature data"},accumulated:{group:"Feature data"},"+":{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"},round:{group:"Math"},abs:{group:"Math"},ceil:{group:"Math"},floor:{group:"Math"},distance:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},within:{group:"Decision"},"is-supported-script":{group:"String"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"},"resolved-locale":{group:"String"}}},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},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",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"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"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}},Dt=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function zt(t){var e=t.key,r=t.value;return r?[new Dt(e,r,"constants have been deprecated as of v8")]:[]}function Rt(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var Qt=[Ut,Vt,Ht,qt,Gt,Xt,Zt,Kt(Yt),Jt];function te(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!te(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=Qt;r255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return"%"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return"%"===t[t.length-1]?i(parseFloat(t)/100):i(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,i=t.replace(/ /g,"").toLowerCase();if(i in r)return r[i].slice();if("#"===i[0])return 4===i.length?(e=parseInt(i.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===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=i.indexOf("("),u=i.indexOf(")");if(-1!==l&&u+1===i.length){var c=i.substr(0,l),f=i.substr(l+1,u-(l+1)).split(","),h=1;switch(c){case"rgba":if(4!==f.length)return null;h=o(f.pop());case"rgb":return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case"hsla":if(4!==f.length)return null;h=o(f.pop());case"hsl":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=o(f[1]),v=o(f[2]),g=v<=.5?v*(d+1):v+d-v*d,y=2*v-g;return[n(255*s(y,g,p+1/3)),n(255*s(y,g,p)),n(255*s(y,g,p-1/3)),h];default:return null}}return null}}catch(t){}})),ie=ne.parseCSSColor,ae=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};ae.parse=function(t){if(t){if(t instanceof ae)return t;if("string"==typeof t){var e=ie(t);if(e)return new ae(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},ae.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],i=t[3];return"rgba("+Math.round(e)+","+Math.round(r)+","+Math.round(n)+","+i+")"},ae.prototype.toArray=function(){var t=this,e=t.r,r=t.g,n=t.b,i=t.a;return 0===i?[0,0,0,0]:[255*e/i,255*r/i,255*n/i,i]},ae.black=new ae(0,0,0,1),ae.white=new ae(1,1,1,1),ae.transparent=new ae(0,0,0,0),ae.red=new ae(1,0,0,1);var oe=function(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};oe.prototype.compare=function(t,e){return this.collator.compare(t,e)},oe.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var se=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i},le=function(t){this.sections=t};le.fromString=function(t){return new le([new se(t,null,null,null,null)])},le.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},le.factory=function(t){return t instanceof le?t:le.fromString(t)},le.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map((function(t){return t.text})).join("")},le.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e=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."}function fe(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof ae)return!0;if(t instanceof oe)return!0;if(t instanceof le)return!0;if(t instanceof ue)return!0;if(Array.isArray(t)){for(var e=0,r=t;e2){var s=t[1];if("string"!=typeof s||!(s in ge)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);a=ge[s],n++}else a=Yt;if(t.length>3){if(null!==t[2]&&("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);o=t[2],n++}r=Kt(a,o)}else r=ge[i];for(var l=[];n1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var me=function(t){this.type=Xt,this.sections=t};me.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[1];if(!Array.isArray(r)&&"object"==typeof r)return e.error("First argument must be an image or text section.");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&"object"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o["font-scale"]&&!(s=e.parse(o["font-scale"],1,Vt)))return null;var l=null;if(o["text-font"]&&!(l=e.parse(o["text-font"],1,Kt(Ht))))return null;var u=null;if(o["text-color"]&&!(u=e.parse(o["text-color"],1,Gt)))return null;var c=n[n.length-1];c.scale=s,c.font=l,c.textColor=u}else{var f=e.parse(t[a],1,Yt);if(!f)return null;var h=f.type.kind;if("string"!==h&&"value"!==h&&"null"!==h&&"resolvedImage"!==h)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:f,scale:null,font:null,textColor:null})}}return new me(n)},me.prototype.evaluate=function(t){return new le(this.sections.map((function(e){var r=e.content.evaluate(t);return he(r)===Jt?new se("",r,null,null,null):new se(pe(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))},me.prototype.eachChild=function(t){for(var e=0,r=this.sections;e-1),r},xe.prototype.eachChild=function(t){t(this.input)},xe.prototype.outputDefined=function(){return!1},xe.prototype.serialize=function(){return["image",this.input.serialize()]};var be={"to-boolean":qt,"to-color":Gt,"to-number":Vt,"to-string":Ht},_e=function(t,e){this.type=t,this.args=e};_e.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=be[r],i=[],a=1;a4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":ce(e[0],e[1],e[2],e[3])))return new ae(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new ve(r||"Could not parse color from value '"+("string"==typeof e?e:String(JSON.stringify(e)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s=e[2]||t[1]<=e[1]||t[3]>=e[3])}function Le(t,e){var r,n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360),a=Math.pow(2,e.z);return[Math.round(n*a*Me),Math.round(i*a*Me)]}function Ce(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function Pe(t,e){for(var r=!1,n=0,i=e.length;n0&&f<0||c<0&&f>0}function De(t,e,r){for(var n=0,i=r;nr[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a}Se(e,t)}function je(t,e,r,n){for(var i=Math.pow(2,n.z)*Me,a=[n.x*Me,n.y*Me],o=[],s=0,l=t;s=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Ge(t,e)&&(r=!1)})),r}Ve.parse=function(t,e){if(2!==t.length)return e.error("'within' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(fe(t[1])){var r=t[1];if("FeatureCollection"===r.type)for(var n=0;ne))throw new ve("Input is not a number.");o=s-1}return 0}Ye.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},Ye.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new ye(e,[t]):"coerce"===r?new _e(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind&&"resolvedImage"!==o.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||"coerce");else a=r(a,o,e.typeAnnotation||"assert")}if(!(a instanceof de)&&"resolvedImage"!==a.type.kind&&We(a)){var l=new Te;try{a=new de(a.type,a.evaluate(l))}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof t+" instead.")},Ye.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 Ye(this.registry,n,e||null,i,this.errors)},Ye.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map((function(t){return"["+t+"]"})).join("");this.errors.push(new Nt(n,t))},Ye.prototype.checkSubtype=function(t,e){var r=te(t,e);return r&&this.error(r),r};var Je=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var c=e.parse(s,u,i);if(!c)return null;i=i||c.type,n.push([o,c])}return new Je(i,r,n)},Je.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;return n>=e[i-1]?r[i-1].evaluate(t):r[Xe(e,n)].evaluate(t)},Je.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var $e=Object.freeze({__proto__:null,number:Ke,color:function(t,e,r){return new ae(Ke(t.r,e.r,r),Ke(t.g,e.g,r),Ke(t.b,e.b,r),Ke(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return Ke(t,e[n],r)}))}}),Qe=.95047,tr=1.08883,er=4/29,rr=6/29,nr=3*rr*rr,ir=Math.PI/180,ar=180/Math.PI;function or(t){return t>.008856451679035631?Math.pow(t,1/3):t/nr+er}function sr(t){return t>rr?t*t*t:nr*(t-er)}function lr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function ur(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function cr(t){var e=ur(t.r),r=ur(t.g),n=ur(t.b),i=or((.4124564*e+.3575761*r+.1804375*n)/Qe),a=or((.2126729*e+.7151522*r+.072175*n)/1);return{l:116*a-16,a:500*(i-a),b:200*(a-or((.0193339*e+.119192*r+.9503041*n)/tr)),alpha:t.a}}function fr(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=1*sr(e),r=Qe*sr(r),n=tr*sr(n),new ae(lr(3.2404542*r-1.5371385*e-.4985314*n),lr(-.969266*r+1.8760108*e+.041556*n),lr(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function hr(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var pr={forward:cr,reverse:fr,interpolate:function(t,e,r){return{l:Ke(t.l,e.l,r),a:Ke(t.a,e.a,r),b:Ke(t.b,e.b,r),alpha:Ke(t.alpha,e.alpha,r)}}},dr={forward:function(t){var e=cr(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*ar;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*ir,r=t.c;return fr({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:hr(t.h,e.h,r),c:Ke(t.c,e.c,r),l:Ke(t.l,e.l,r),alpha:Ke(t.alpha,e.alpha,r)}}},vr=Object.freeze({__proto__:null,lab:pr,hcl:dr}),gr=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a1})))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}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(!(i=e.parse(i,2,Vt)))return null;var l=[],u=null;"interpolate-hcl"===r||"interpolate-lab"===r?u=Gt:e.expectedType&&"value"!==e.expectedType.kind&&(u=e.expectedType);for(var c=0;c=f)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var v=e.parse(h,d,u);if(!v)return null;u=u||v.type,l.push([f,v])}return"number"===u.kind||"color"===u.kind||"array"===u.kind&&"number"===u.itemType.kind&&"number"==typeof u.N?new gr(u,r,n,i,l):e.error("Type "+$t(u)+" is not interpolatable.")},gr.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 a=Xe(e,n),o=e[a],s=e[a+1],l=gr.interpolationFactor(this.interpolation,n,o,s),u=r[a].evaluate(t),c=r[a+1].evaluate(t);return"interpolate"===this.operator?$e[this.type.kind.toLowerCase()](u,c,l):"interpolate-hcl"===this.operator?dr.reverse(dr.interpolate(dr.forward(u),dr.forward(c),l)):pr.reverse(pr.interpolate(pr.forward(u),pr.forward(c),l))},gr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e=r.length)throw new ve("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new ve("Array index must be an integer, but found "+e+" instead.");return r[e]},br.prototype.eachChild=function(t){t(this.index),t(this.input)},br.prototype.outputDefined=function(){return!1},br.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var _r=function(t,e){this.type=qt,this.needle=t,this.haystack=e};_r.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,Yt),n=e.parse(t[2],2,Yt);return r&&n?ee(r.type,[qt,Ht,Vt,Ut,Yt])?new _r(r,n):e.error("Expected first argument to be of type boolean, string, number or null, but found "+$t(r.type)+" instead"):null},_r.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!re(e,["boolean","string","number","null"]))throw new ve("Expected first argument to be of type boolean, string, number or null, but found "+$t(he(e))+" instead.");if(!re(r,["string","array"]))throw new ve("Expected second argument to be of type array or string, but found "+$t(he(r))+" instead.");return r.indexOf(e)>=0},_r.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},_r.prototype.outputDefined=function(){return!0},_r.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var wr=function(t,e,r){this.type=Vt,this.needle=t,this.haystack=e,this.fromIndex=r};wr.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Yt),n=e.parse(t[2],2,Yt);if(!r||!n)return null;if(!ee(r.type,[qt,Ht,Vt,Ut,Yt]))return e.error("Expected first argument to be of type boolean, string, number or null, but found "+$t(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Vt);return i?new wr(r,n,i):null}return new wr(r,n)},wr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!re(e,["boolean","string","number","null"]))throw new ve("Expected first argument to be of type boolean, string, number or null, but found "+$t(he(e))+" instead.");if(!re(r,["string","array"]))throw new ve("Expected second argument to be of type array or string, but found "+$t(he(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},wr.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},wr.prototype.outputDefined=function(){return!1},wr.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),t]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var Tr=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};Tr.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,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;oNumber.MAX_SAFE_INTEGER)return u.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof h&&Math.floor(h)!==h)return u.error("Numeric branch labels must be integer values.");if(r){if(u.checkSubtype(r,he(h)))return null}else r=he(h);if(void 0!==i[String(h)])return u.error("Branch labels must be unique.");i[String(h)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,Yt);if(!d)return null;var v=e.parse(t[t.length-1],t.length-1,n);return v?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new Tr(r,n,d,i,a,v):null},Tr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(he(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},Tr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},Tr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},Tr.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Yt),n=e.parse(t[2],2,Vt);if(!r||!n)return null;if(!ee(r.type,[Kt(Yt),Ht,Yt]))return e.error("Expected first argument to be of type array or string, but found "+$t(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Vt);return i?new Ar(r.type,r,n,i):null}return new Ar(r.type,r,n)},Ar.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!re(e,["string","array"]))throw new ve("Expected first argument to be of type array or string, but found "+$t(he(e))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},Ar.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},Ar.prototype.outputDefined=function(){return!1},Ar.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),t]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var Lr=Er("==",(function(t,e,r){return e===r}),Sr),Cr=Er("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!Sr(0,e,r,n)})),Pr=Er("<",(function(t,e,r){return e",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Ir=Er("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),Dr=Er(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),zr=function(t,e,r,n,i){this.type=Ht,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};zr.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,Vt);if(!r)return null;var n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,Ht)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Ht)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=e.parse(n["min-fraction-digits"],1,Vt)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,Vt))?null:new zr(r,i,a,o,s)},zr.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},zr.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},zr.prototype.outputDefined=function(){return!1},zr.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]};var Rr=function(t){this.type=Vt,this.input=t};Rr.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+$t(r.type)+" instead."):new Rr(r):null},Rr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new ve("Expected value to be of type string or array, but found "+$t(he(e))+" instead.")},Rr.prototype.eachChild=function(t){t(this.input)},Rr.prototype.outputDefined=function(){return!1},Rr.prototype.serialize=function(){var t=["length"];return this.eachChild((function(e){t.push(e.serialize())})),t};var Fr={"==":Lr,"!=":Cr,">":Or,"<":Pr,">=":Dr,"<=":Ir,array:ye,at:br,boolean:ye,case:kr,coalesce:mr,collator:Ae,format:me,image:xe,in:_r,"index-of":wr,interpolate:gr,"interpolate-hcl":gr,"interpolate-lab":gr,length:Rr,let:xr,literal:de,match:Tr,number:ye,"number-format":zr,object:ye,slice:Ar,step:Je,string:ye,"to-boolean":_e,"to-color":_e,"to-number":_e,"to-string":_e,var:Ze,within:Ve};function Br(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=ce(r,n,i,o);if(s)throw new ve(s);return new ae(r/255*o,n/255*o,i/255*o,o)}function Nr(t,e){return t in e}function jr(t,e){var r=e[t];return void 0===r?null:r}function Ur(t){return{type:t}}function Vr(t){return{result:"success",value:t}}function Hr(t){return{result:"error",value:t}}function qr(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function Gr(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function Zr(t){return!!t.expression&&t.expression.interpolated}function Yr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function Wr(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function Xr(t){return t}function Jr(t,e){var r,n,i,a="color"===e.type,o=t.stops&&"object"==typeof t.stops[0][0],s=o||void 0!==t.property,l=o||!s,u=t.type||(Zr(e)?"exponential":"interval");if(a&&((t=Rt({},t)).stops&&(t.stops=t.stops.map((function(t){return[t[0],ae.parse(t[1])]}))),t.default?t.default=ae.parse(t.default):t.default=ae.parse(e.default)),t.colorSpace&&"rgb"!==t.colorSpace&&!vr[t.colorSpace])throw new Error("Unknown color space: "+t.colorSpace);if("exponential"===u)r=tn;else if("interval"===u)r=Qr;else if("categorical"===u){r=$r,n=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var i=Xe(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function tn(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==Yr(r))return Kr(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=Xe(t.stops.map((function(t){return t[0]})),r),o=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,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],u=$e[e.type]||Xr;if(t.colorSpace&&"rgb"!==t.colorSpace){var c=vr[t.colorSpace];u=function(t,e){return c.reverse(c.interpolate(c.forward(t),c.forward(e),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return u(r,n,o)}}:u(s,l,o)}function en(t,e,r){return"color"===e.type?r=ae.parse(r):"formatted"===e.type?r=le.fromString(r.toString()):"resolvedImage"===e.type?r=ue.fromString(r.toString()):Yr(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),Kr(r,t.default,e.default)}ke.register(Fr,{error:[{kind:"error"},[Ht],function(t,e){var r=e[0];throw new ve(r.evaluate(t))}],typeof:[Ht,[Yt],function(t,e){return $t(he(e[0].evaluate(t)))}],"to-rgba":[Kt(Vt,4),[Gt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Gt,[Vt,Vt,Vt],Br],rgba:[Gt,[Vt,Vt,Vt,Vt],Br],has:{type:qt,overloads:[[[Ht],function(t,e){return Nr(e[0].evaluate(t),t.properties())}],[[Ht,Zt],function(t,e){var r=e[0],n=e[1];return Nr(r.evaluate(t),n.evaluate(t))}]]},get:{type:Yt,overloads:[[[Ht],function(t,e){return jr(e[0].evaluate(t),t.properties())}],[[Ht,Zt],function(t,e){var r=e[0],n=e[1];return jr(r.evaluate(t),n.evaluate(t))}]]},"feature-state":[Yt,[Ht],function(t,e){return jr(e[0].evaluate(t),t.featureState||{})}],properties:[Zt,[],function(t){return t.properties()}],"geometry-type":[Ht,[],function(t){return t.geometryType()}],id:[Yt,[],function(t){return t.id()}],zoom:[Vt,[],function(t){return t.globals.zoom}],"heatmap-density":[Vt,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[Vt,[],function(t){return t.globals.lineProgress||0}],accumulated:[Yt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[Vt,Ur(Vt),function(t,e){for(var r=0,n=0,i=e;n":[qt,[Ht,Yt],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->":[qt,[Yt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[qt,[Ht,Yt],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-<=":[qt,[Yt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[qt,[Ht,Yt],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->=":[qt,[Yt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[qt,[Yt],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[qt,[],function(t){return null!==t.id()&&void 0!==t.id()}],"filter-type-in":[qt,[Kt(Ht)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[qt,[Kt(Yt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[qt,[Ht,Kt(Yt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[qt,[Ht,Kt(Yt)],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)}],all:{type:qt,overloads:[[[qt,qt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Ur(qt),function(t,e){for(var r=0,n=e;r0&&"string"==typeof t[0]&&t[0]in Fr}function an(t,e){var r=new Ye(Fr,[],e?function(t){var e={color:Gt,string:Ht,number:Vt,enum:Ht,boolean:qt,formatted:Xt,resolvedImage:Jt};return"array"===t.type?Kt(e[t.value]||Yt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?Vr(new rn(n,e)):Hr(r.errors)}rn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},rn.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||"number"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new ve("Expected value to be one of "+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(", ")+", but found "+JSON.stringify(o)+" instead.");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var on=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!qe(e.expression)};on.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},on.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var sn=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!qe(e.expression),this.interpolationType=n};function ln(t,e){if("error"===(t=an(t,e)).result)return t;var r=t.value.expression,n=He(r);if(!n&&!qr(e))return Hr([new Nt("","data expressions not supported")]);var i=Ge(r,["zoom"]);if(!i&&!Gr(e))return Hr([new Nt("","zoom expressions not supported")]);var a=cn(r);if(!a&&!i)return Hr([new Nt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof Nt)return Hr([a]);if(a instanceof gr&&!Zr(e))return Hr([new Nt("",'"interpolate" expressions cannot be used with this property')]);if(!a)return Vr(new on(n?"constant":"source",t.value));var o=a instanceof gr?a.interpolation:void 0;return Vr(new sn(n?"camera":"composite",t.value,a.labels,o))}sn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},sn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},sn.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?gr.interpolationFactor(this.interpolationType,t,e,r):0};var un=function(t,e){this._parameters=t,this._specification=e,Rt(this,Jr(this._parameters,this._specification))};function cn(t){var e=null;if(t instanceof xr)e=cn(t.result);else if(t instanceof mr)for(var r=0,n=t.args;rn.maximum?[new Dt(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function dn(t){var e,r,n,i=t.valueSpec,a=Ft(t.value.type),o={},s="categorical"!==a&&void 0===t.value.property,l=!s,u="array"===Yr(t.value.stops)&&"array"===Yr(t.value.stops[0])&&"object"===Yr(t.value.stops[0][0]),c=fn({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===a)return[new Dt(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(hn({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:f})),"array"===Yr(r)&&0===r.length&&e.push(new Dt(t.key,r,"array must have at least one stop")),e},default:function(t){return Bn({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===a&&s&&c.push(new Dt(t.key,t.value,'missing required property "property"')),"identity"===a||t.value.stops||c.push(new Dt(t.key,t.value,'missing required property "stops"')),"exponential"===a&&t.valueSpec.expression&&!Zr(t.valueSpec)&&c.push(new Dt(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!qr(t.valueSpec)?c.push(new Dt(t.key,t.value,"property functions not supported")):s&&!Gr(t.valueSpec)&&c.push(new Dt(t.key,t.value,"zoom functions not supported"))),"categorical"!==a&&!u||void 0!==t.value.property||c.push(new Dt(t.key,t.value,'"property" property is required')),c;function f(t){var e=[],a=t.value,s=t.key;if("array"!==Yr(a))return[new Dt(s,a,"array expected, "+Yr(a)+" found")];if(2!==a.length)return[new Dt(s,a,"array length 2 expected, length "+a.length+" found")];if(u){if("object"!==Yr(a[0]))return[new Dt(s,a,"object expected, "+Yr(a[0])+" found")];if(void 0===a[0].zoom)return[new Dt(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new Dt(s,a,"object stop key must have value")];if(n&&n>Ft(a[0].zoom))return[new Dt(s,a[0].zoom,"stop zoom values must appear in ascending order")];Ft(a[0].zoom)!==n&&(n=Ft(a[0].zoom),r=void 0,o={}),e=e.concat(fn({key:s+"[0]",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:pn,value:h}}))}else e=e.concat(h({key:s+"[0]",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return nn(Bt(a[1]))?e.concat([new Dt(s+"[1]",a[1],"expressions are not allowed in function stops.")]):e.concat(Bn({key:s+"[1]",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=Yr(t.value),l=Ft(t.value),u=null!==t.value?t.value:n;if(e){if(s!==e)return[new Dt(t.key,u,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new Dt(t.key,u,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){var c="number expected, "+s+" found";return qr(i)&&void 0===a&&(c+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Dt(t.key,u,c)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&l=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));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);ee?1:0}function _n(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(var e=1;e"===r||"<="===r||">="===r?Tn(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(wn))):"all"===r?["all"].concat(t.slice(1).map(wn)):"none"===r?["all"].concat(t.slice(1).map(wn).map(Mn)):"in"===r?kn(t[1],t.slice(2)):"!in"===r?Mn(kn(t[1],t.slice(2))):"has"===r?An(t[1]):"!has"===r?Mn(An(t[1])):"within"!==r||t}function Tn(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 kn(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(bn)]]:["filter-in-small",t,["literal",e]]}}function An(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Mn(t){return["!",t]}function Sn(t){return yn(Bt(t.value))?vn(Rt({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):En(t)}function En(t){var e=t.value,r=t.key;if("array"!==Yr(e))return[new Dt(r,e,"array expected, "+Yr(e)+" found")];var n,i=t.styleSpec,a=[];if(e.length<1)return[new Dt(r,e,"filter array must have at least 1 element")];switch(a=a.concat(gn({key:r+"[0]",value:e[0],valueSpec:i.filter_operator,style:t.style,styleSpec:t.styleSpec})),Ft(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===Ft(e[1])&&a.push(new Dt(r,e,'"$type" cannot be use with operator "'+e[0]+'"'));case"==":case"!=":3!==e.length&&a.push(new Dt(r,e,'filter array for operator "'+e[0]+'" must have 3 elements'));case"in":case"!in":e.length>=2&&"string"!==(n=Yr(e[1]))&&a.push(new Dt(r+"[1]",e[1],"string expected, "+n+" found"));for(var o=2;o=c[p+0]&&n>=c[p+1])?(o[h]=!0,a.push(u[h])):o[h]=!1}}},Xn.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToCellCoord(t),u=this._convertToCellCoord(e),c=this._convertToCellCoord(r),f=this._convertToCellCoord(n),h=l;h<=c;h++)for(var p=u;p<=f;p++){var d=this.d*p+h;if((!s||s(this._convertFromCellCoord(h),this._convertFromCellCoord(p),this._convertFromCellCoord(h+1),this._convertFromCellCoord(p+1)))&&i.call(this,t,e,r,n,d,a,o,s))return}},Xn.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},Xn.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},Xn.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=3+this.cells.length+1+1,r=0,n=0;n=0)){var f=t[c];u[c]=$n[l].shallow.indexOf(c)>=0?f:ni(f,e)}t instanceof Error&&(u.message=t.message)}if(u.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==l&&(u.$name=l),u}throw new Error("can't serialize object of type "+typeof t)}function ii(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||ei(t)||ri(t)||ArrayBuffer.isView(t)||t instanceof Jn)return t;if(Array.isArray(t))return t.map(ii);if("object"==typeof t){var e=t.$name||"Object",r=$n[e].klass;if(!r)throw new Error("can't deserialize unregistered class "+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i=0?s:ii(s)}}return n}throw new Error("can't deserialize object of type "+typeof t)}var ai=function(){this.first=!0};ai.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=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},Khmer:function(t){return t>=6016&&t<=6143},"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}};function si(t){for(var e=0,r=t;e=65097&&t<=65103)||oi["CJK Compatibility Ideographs"](t)||oi["CJK Compatibility"](t)||oi["CJK Radicals Supplement"](t)||oi["CJK Strokes"](t)||!(!oi["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||oi["CJK Unified Ideographs Extension A"](t)||oi["CJK Unified Ideographs"](t)||oi["Enclosed CJK Letters and Months"](t)||oi["Hangul Compatibility Jamo"](t)||oi["Hangul Jamo Extended-A"](t)||oi["Hangul Jamo Extended-B"](t)||oi["Hangul Jamo"](t)||oi["Hangul Syllables"](t)||oi.Hiragana(t)||oi["Ideographic Description Characters"](t)||oi.Kanbun(t)||oi["Kangxi Radicals"](t)||oi["Katakana Phonetic Extensions"](t)||oi.Katakana(t)&&12540!==t||!(!oi["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)||!(!oi["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||oi["Unified Canadian Aboriginal Syllabics"](t)||oi["Unified Canadian Aboriginal Syllabics Extended"](t)||oi["Vertical Forms"](t)||oi["Yijing Hexagram Symbols"](t)||oi["Yi Syllables"](t)||oi["Yi Radicals"](t))))}function ui(t){return!(li(t)||function(t){return!!(oi["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||oi["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)||oi["Letterlike Symbols"](t)||oi["Number Forms"](t)||oi["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)||oi["Control Pictures"](t)&&9251!==t||oi["Optical Character Recognition"](t)||oi["Enclosed Alphanumerics"](t)||oi["Geometric Shapes"](t)||oi["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||oi["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||oi["CJK Symbols and Punctuation"](t)||oi.Katakana(t)||oi["Private Use Area"](t)||oi["CJK Compatibility Forms"](t)||oi["Small Form Variants"](t)||oi["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function ci(t){return oi.Arabic(t)||oi["Arabic Supplement"](t)||oi["Arabic Extended-A"](t)||oi["Arabic Presentation Forms-A"](t)||oi["Arabic Presentation Forms-B"](t)}function fi(t){return t>=1424&&t<=2303||oi["Arabic Presentation Forms-A"](t)||oi["Arabic Presentation Forms-B"](t)}function hi(t,e){return!(!e&&fi(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||oi.Khmer(t))}function pi(t){for(var e=0,r=t;e-1&&(xi=yi),mi&&mi(t)};function wi(){Ti.fire(new Ct("pluginStateChange",{pluginStatus:xi,pluginURL:bi}))}var Ti=new Ot,ki=function(){return xi},Ai=function(){if(xi!==di||!bi)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");xi=vi,wi(),bi&&Tt({url:bi},(function(t){t?_i(t):(xi=gi,wi())}))},Mi={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return xi===gi||null!=Mi.applyArabicShaping},isLoading:function(){return xi===vi},setState:function(t){xi=t.pluginStatus,bi=t.pluginURL},isParsed:function(){return null!=Mi.applyArabicShaping&&null!=Mi.processBidirectionalText&&null!=Mi.processStyledBidirectionalText},getPluginURL:function(){return bi}},Si=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 ai,this.transition={})};Si.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;rthis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var Ei=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(Wr(t))return new un(t,e);if(nn(t)){var r=ln(t,e);if("error"===r.result)throw new Error(r.value.map((function(t){return t.key+": "+t.message})).join(", "));return r.value}var n=t;return"string"==typeof t&&"color"===e.type&&(n=ae.parse(t)),{kind:"constant",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};Ei.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},Ei.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var Li=function(t){this.property=t,this.value=new Ei(t,void 0)};Li.prototype.transitioned=function(t,e){return new Pi(this.property,this.value,e,f({},t.transition,this.transition),t.now)},Li.prototype.untransitioned=function(){return new Pi(this.property,this.value,null,{},0)};var Ci=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};Ci.prototype.getValue=function(t){return b(this._values[t].value.value)},Ci.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Li(this._values[t].property)),this._values[t].value=new Ei(this._values[t].property,null===e?void 0:b(e))},Ci.prototype.getTransition=function(t){return b(this._values[t].transition)},Ci.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Li(this._values[t].property)),this._values[t].transition=b(e)||void 0},Ci.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);ethis.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var Oi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Oi.prototype.possiblyEvaluate=function(t,e,r){for(var n=new zi(this._properties),i=0,a=Object.keys(this._values);in.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(Fi),Ni=function(t){this.specification=t};Ni.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if("constant"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new Si(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Si(Math.floor(e.zoom),e)),t.expression.evaluate(new Si(Math.floor(e.zoom+1),e)),e)}},Ni.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Ni.prototype.interpolate=function(t){return t};var ji=function(t){this.specification=t};ji.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},ji.prototype.interpolate=function(){return!1};var Ui=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new Ei(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Li(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};Qn("DataDrivenProperty",Fi),Qn("DataConstantProperty",Ri),Qn("CrossFadedDataDrivenProperty",Bi),Qn("CrossFadedProperty",Ni),Qn("ColorRampProperty",ji);var Vi="-transition",Hi=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new Ii(r.layout)),r.paint)){for(var n in this._transitionablePaint=new Ci(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(),this.paint=new zi(r.paint)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".layout."+t;if(this._validate(Zn,n,t,e,r))return}"visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return y(t,Vi)?this._transitionablePaint.getTransition(t.slice(0,-Vi.length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".paint."+t;if(this._validate(Gn,n,t,e,r))return!1}if(y(t,Vi))return this._transitionablePaint.setTransition(t.slice(0,-Vi.length),e||void 0),!1;var i=this._transitionablePaint._values[t],a="cross-faded-data-driven"===i.property.specification["property-type"],o=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var l=this._transitionablePaint._values[t].value;return l.isDataDriven()||o||a||this._handleOverridablePaintPropertyUpdate(t,s,l)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&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,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)},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 this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),x(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,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Yn(this,t.call(Hn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:It,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof Di&&qr(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(Ot),qi={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Gi=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},Zi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Yi(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var i,a=(i=t.type,qi[i].BYTES_PER_ELEMENT),o=r=Wi(r,Math.max(e,a)),s=t.components||1;return n=Math.max(n,a),r+=a*s,{name:t.name,type:t.type,components:s,offset:o}})),size:Wi(r,Math.max(n,e)),alignment:e}}function Wi(t,e){return Math.ceil(t/e)*e}Zi.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Zi.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},Zi.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Zi.prototype.clear=function(){this.length=0},Zi.prototype.resize=function(t){this.reserve(t),this.length=t},Zi.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)}},Zi.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var Xi=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;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(Zi);Xi.prototype.bytesPerElement=4,Qn("StructArrayLayout2i4",Xi);var Ji=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;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(Zi);Ji.prototype.bytesPerElement=8,Qn("StructArrayLayout4i8",Ji);var Ki=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;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Zi);Ki.prototype.bytesPerElement=12,Qn("StructArrayLayout2i4i12",Ki);var $i=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;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t},e}(Zi);$i.prototype.bytesPerElement=8,Qn("StructArrayLayout2i4ub8",$i);var Qi=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,n,i,a,o,s,l,u){var c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l,u)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c){var f=9*t,h=18*t;return this.uint16[f+0]=e,this.uint16[f+1]=r,this.uint16[f+2]=n,this.uint16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=l,this.uint8[h+16]=u,this.uint8[h+17]=c,t},e}(Zi);Qi.prototype.bytesPerElement=18,Qn("StructArrayLayout8ui2ub18",Qi);var ta=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,l,u,c,f){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,i,a,o,s,l,u,c,f)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=u,this.int16[p+9]=c,this.int16[p+10]=f,this.int16[p+11]=h,t},e}(Zi);ta.prototype.bytesPerElement=24,Qn("StructArrayLayout4i4ui4i24",ta);var ea=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;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(Zi);ea.prototype.bytesPerElement=12,Qn("StructArrayLayout3f12",ea);var ra=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;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint32[r+0]=e,t},e}(Zi);ra.prototype.bytesPerElement=4,Qn("StructArrayLayout1ul4",ra);var na=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){var u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u){var c=10*t,f=5*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=i,this.int16[c+4]=a,this.int16[c+5]=o,this.uint32[f+3]=s,this.uint16[c+8]=l,this.uint16[c+9]=u,t},e}(Zi);na.prototype.bytesPerElement=20,Qn("StructArrayLayout6i1ul2ui20",na);var ia=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;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Zi);ia.prototype.bytesPerElement=12,Qn("StructArrayLayout2i2i2i12",ia);var aa=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),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(Zi);aa.prototype.bytesPerElement=16,Qn("StructArrayLayout2f1f2i16",aa);var oa=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;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(Zi);oa.prototype.bytesPerElement=12,Qn("StructArrayLayout2ub2f12",oa);var sa=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;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(Zi);sa.prototype.bytesPerElement=6,Qn("StructArrayLayout3ui6",sa);var la=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,f,h,p,d,v,g){var y=this.length;return this.resize(y+1),this.emplace(y,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y){var m=24*t,x=12*t,b=48*t;return this.int16[m+0]=e,this.int16[m+1]=r,this.uint16[m+2]=n,this.uint16[m+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[m+10]=l,this.uint16[m+11]=u,this.uint16[m+12]=c,this.float32[x+7]=f,this.float32[x+8]=h,this.uint8[b+36]=p,this.uint8[b+37]=d,this.uint8[b+38]=v,this.uint32[x+10]=g,this.int16[m+22]=y,t},e}(Zi);la.prototype.bytesPerElement=48,Qn("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",la);var ua=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,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E){var L=34*t,C=17*t;return this.int16[L+0]=e,this.int16[L+1]=r,this.int16[L+2]=n,this.int16[L+3]=i,this.int16[L+4]=a,this.int16[L+5]=o,this.int16[L+6]=s,this.int16[L+7]=l,this.uint16[L+8]=u,this.uint16[L+9]=c,this.uint16[L+10]=f,this.uint16[L+11]=h,this.uint16[L+12]=p,this.uint16[L+13]=d,this.uint16[L+14]=v,this.uint16[L+15]=g,this.uint16[L+16]=y,this.uint16[L+17]=m,this.uint16[L+18]=x,this.uint16[L+19]=b,this.uint16[L+20]=_,this.uint16[L+21]=w,this.uint16[L+22]=T,this.uint32[C+12]=k,this.float32[C+13]=A,this.float32[C+14]=M,this.float32[C+15]=S,this.float32[C+16]=E,t},e}(Zi);ua.prototype.bytesPerElement=68,Qn("StructArrayLayout8i15ui1ul4f68",ua);var ca=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;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.float32[r+0]=e,t},e}(Zi);ca.prototype.bytesPerElement=4,Qn("StructArrayLayout1f4",ca);var fa=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;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(Zi);fa.prototype.bytesPerElement=6,Qn("StructArrayLayout3i6",fa);var ha=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;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=2*t,a=4*t;return this.uint32[i+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t},e}(Zi);ha.prototype.bytesPerElement=8,Qn("StructArrayLayout1ul2ui8",ha);var pa=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;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(Zi);pa.prototype.bytesPerElement=4,Qn("StructArrayLayout2ui4",pa);var da=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){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint16[r+0]=e,t},e}(Zi);da.prototype.bytesPerElement=2,Qn("StructArrayLayout1ui2",da);var va=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;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(Zi);va.prototype.bytesPerElement=8,Qn("StructArrayLayout2f8",va);var ga=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;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(Zi);ga.prototype.bytesPerElement=16,Qn("StructArrayLayout4f16",ga);var ya=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:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Gi);ya.prototype.size=20;var ma=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 ya(this,t)},e}(na);Qn("CollisionBoxArray",ma);var xa=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:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}(Gi);xa.prototype.size=48;var ba=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 xa(this,t)},e}(la);Qn("PlacedSymbolArray",ba);var _a=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:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}(Gi);_a.prototype.size=68;var wa=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 _a(this,t)},e}(ua);Qn("SymbolInstanceArray",wa);var Ta=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}(ca);Qn("GlyphOffsetArray",Ta);var ka=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}(fa);Qn("SymbolLineVertexArray",ka);var Aa=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:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}(Gi);Aa.prototype.size=8;var Ma=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 Aa(this,t)},e}(ha);Qn("FeatureIndexArray",Ma);var Sa=Yi([{name:"a_pos",components:2,type:"Int16"}],4).members,Ea=function(t){void 0===t&&(t=[]),this.segments=t};function La(t,e){return 256*(t=u(Math.floor(t),0,255))+u(Math.floor(e),0,255)}Ea.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>Ea.MAX_VERTEX_ARRAY_LENGTH&&w("Max vertices per segment is "+Ea.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!i||i.vertexLength+t>Ea.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},Ea.prototype.get=function(){return this.segments},Ea.prototype.destroy=function(){for(var t=0,e=this.segments;t>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(u+2))<<16;case 2:l^=(255&t.charCodeAt(u+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(u)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),Oa=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),Ia=Pa,Da=Pa,za=Oa;Ia.murmur3=Da,Ia.murmur2=za;var Ra=function(){this.ids=[],this.positions=[],this.indexed=!1};Ra.prototype.add=function(t,e,r,n){this.ids.push(Ba(t)),this.positions.push(e,r,n)},Ra.prototype.getPositions=function(t){for(var e=Ba(t),r=0,n=this.ids.length-1;r>1;this.ids[i]>=e?n=i:r=i+1}for(var a=[];this.ids[r]===e;){var o=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:o,start:s,end:l}),r++}return a},Ra.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Na(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},Ra.deserialize=function(t){var e=new Ra;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var Fa=Math.pow(2,53)-1;function Ba(t){var e=+t;return!isNaN(e)&&e<=Fa?e:Ia(String(t))}function Na(t,e,r,n){for(;r>1],a=r-1,o=n+1;;){do{a++}while(t[a]i);if(a>=o)break;ja(t,a,o),ja(e,3*a,3*o),ja(e,3*a+1,3*o+1),ja(e,3*a+2,3*o+2)}o-rlo.max||o.ylo.max)&&(w("Geometry exceeds allowed extent, reduce your vector tile buffer size"),o.x=u(o.x,lo.min,lo.max),o.y=u(o.y,lo.min,lo.max))}return r}function co(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var fo=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.hasPattern=!1,this.layoutVertexArray=new Xi,this.indexArray=new sa,this.segments=new Ea,this.programConfigurations=new no(Sa,t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function ho(t,e){for(var r=0;r1){if(yo(t,e))return!0;for(var n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function _o(t,e){for(var r,n,i,a=!1,o=0;oe.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 wo(t,e){for(var r=!1,n=0,i=t.length-1;ne.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}function To(t,e,r){var n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return!1;var a=T(t,e,r[0]);return a!==T(t,e,r[1])||a!==T(t,e,r[2])||a!==T(t,e,r[3])}function ko(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function Ao(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Mo(t,e,r,n,i){if(!e[0]&&!e[1])return t;var o=a.convert(e)._mult(i);"viewport"===r&&o._rotate(-n);for(var s=[],l=0;l=oo||c<0||c>=oo)){var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=f.vertexLength;co(this.layoutVertexArray,u,c,-1,-1),co(this.layoutVertexArray,u,c,1,-1),co(this.layoutVertexArray,u,c,1,1),co(this.layoutVertexArray,u,c,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),f.vertexLength+=4,f.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)},Qn("CircleBucket",fo,{omit:["layers"]});var So=new Ui({"circle-sort-key":new Fi(It.layout_circle["circle-sort-key"])}),Eo={paint:new Ui({"circle-radius":new Fi(It.paint_circle["circle-radius"]),"circle-color":new Fi(It.paint_circle["circle-color"]),"circle-blur":new Fi(It.paint_circle["circle-blur"]),"circle-opacity":new Fi(It.paint_circle["circle-opacity"]),"circle-translate":new Ri(It.paint_circle["circle-translate"]),"circle-translate-anchor":new Ri(It.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new Ri(It.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new Ri(It.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new Fi(It.paint_circle["circle-stroke-width"]),"circle-stroke-color":new Fi(It.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new Fi(It.paint_circle["circle-stroke-opacity"])}),layout:So},Lo="undefined"!=typeof Float32Array?Float32Array:Array;function Co(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Po(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],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var Oo=Po;var Io,Do=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t};function zo(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}Io=new Lo(3),Lo!=Float32Array&&(Io[0]=0,Io[1]=0,Io[2]=0),function(){var t=new Lo(4);Lo!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var Ro=function(t){var e=t[0],r=t[1];return e*e+r*r},Fo=(function(){var t=new Lo(2);Lo!=Float32Array&&(t[0]=0,t[1]=0)}(),function(t){function e(e){t.call(this,e,Eo)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new fo(t)},e.prototype.queryRadius=function(t){var e=t;return ko("circle-radius",this,e)+ko("circle-stroke-width",this,e)+Ao(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var l=Mo(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),a.angle,o),u=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r),c="map"===this.paint.get("circle-pitch-alignment"),f=c?l:function(t,e){return t.map((function(t){return Bo(t,e)}))}(l,s),h=c?u*o:u,p=0,d=n;pt.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;l80*r){n=a=t[0],i=o=t[1];for(var d=r;da&&(a=s),l>o&&(o=l);u=0!==(u=Math.max(a-n,o-i))?1/u:0}return rs(h,p,r,n,i,u),p}function ts(t,e,r,n,i){var a,o;if(i===ks(t,e,r,n)>0)for(a=e;a=e;a-=n)o=_s(a,t[a],t[a+1],o);return o&&vs(o,o.next)&&(ws(o),o=o.next),o}function es(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!vs(n,n.next)&&0!==ds(n.prev,n,n.next))n=n.next;else{if(ws(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function rs(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=cs(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;e0||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?is(t,n,i,a):ns(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),ws(t),t=l.next,u=l.next;else if((t=l)===u){o?1===o?rs(t=as(es(t),e,r),e,r,n,i,a,2):2===o&&os(t,e,r,n,i,a):rs(es(t),e,r,n,i,a,1);break}}}function ns(t){var e=t.prev,r=t,n=t.next;if(ds(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(hs(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&ds(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function is(t,e,r,n){var i=t.prev,a=t,o=t.next;if(ds(i,a,o)>=0)return!1;for(var s=i.xa.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,f=cs(s,l,e,r,n),h=cs(u,c,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=f&&d&&d.z<=h;){if(p!==t.prev&&p!==t.next&&hs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ds(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&hs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ds(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&hs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ds(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=h;){if(d!==t.prev&&d!==t.next&&hs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ds(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function as(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!vs(i,a)&&gs(i,n,n.next,a)&&xs(i,a)&&xs(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),ws(n),ws(n.next),n=t=a),n=n.next}while(n!==t);return es(n)}function os(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&ps(o,s)){var l=bs(o,s);return o=es(o,o.next),l=es(l,l.next),rs(o,e,r,n,i,a),void rs(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function ss(t,e){return t.x-e.x}function ls(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.x&&n.x>=c&&i!==n.x&&hs(ar.x||n.x===r.x&&us(r,n)))&&(r=n,h=l)),n=n.next}while(n!==u);return r}(t,e)){var r=bs(e,t);es(e,e.next),es(r,r.next)}}function us(t,e){return ds(t.prev,t,e.prev)<0&&ds(e.next,t,t.next)<0}function cs(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 fs(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function ps(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&&gs(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(xs(t,e)&&xs(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)&&(ds(t.prev,t,e.prev)||ds(t,e.prev,e))||vs(t,e)&&ds(t.prev,t,t.next)>0&&ds(e.prev,e,e.next)>0)}function ds(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function vs(t,e){return t.x===e.x&&t.y===e.y}function gs(t,e,r,n){var i=ms(ds(t,e,r)),a=ms(ds(t,e,n)),o=ms(ds(r,n,t)),s=ms(ds(r,n,e));return i!==a&&o!==s||!(0!==i||!ys(t,r,e))||!(0!==a||!ys(t,n,e))||!(0!==o||!ys(r,t,n))||!(0!==s||!ys(r,e,n))}function ys(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function ms(t){return t>0?1:t<0?-1:0}function xs(t,e){return ds(t.prev,t,t.next)<0?ds(t,e,t.next)>=0&&ds(t,t.prev,e)>=0:ds(t,e,t.prev)<0||ds(t,t.next,e)<0}function bs(t,e){var r=new Ts(t.i,t.x,t.y),n=new Ts(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function _s(t,e,r,n){var i=new Ts(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 ws(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 Ts(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 ks(t,e,r,n){for(var i=0,a=e,o=r-n;ar;){if(n-r>600){var a=n-r+1,o=e-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),u=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);Ms(t,e,Math.max(r,Math.floor(e-o*l/a+u)),Math.min(n,Math.floor(e+(a-o)*l/a+u)),i)}var c=t[e],f=r,h=n;for(Ss(t,r,e),i(t[n],c)>0&&Ss(t,r,n);f0;)h--}0===i(t[r],c)?Ss(t,r,h):Ss(t,++h,n),h<=e&&(r=h+1),e<=h&&(n=h-1)}}function Ss(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Es(t,e){return te?1:0}function Ls(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o1)for(var l=0;l0&&(n+=t[i-1].length,r.holes.push(n))}return r},Ko.default=$o;var Is=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.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Xi,this.indexArray=new sa,this.indexArray2=new pa,this.programConfigurations=new no(Jo,t.layers,t.zoom),this.segments=new Ea,this.segments2=new Ea,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};Is.prototype.populate=function(t,e,r){this.hasPattern=Ps("fill",this.layers,e);for(var n=this.layers[0].layout.get("fill-sort-key"),i=[],a=0,o=t;a>3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},Ns.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>3}if(n--,1===r||2===r)(i+=t.readSVarint())s&&(s=i),(a+=t.readSVarint())u&&(u=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,u]},Ns.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),u=Ns.types[this.type];function c(t){for(var e=0;e>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))}function Gs(t,e,r){if(3===t){var n=new Vs(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Hs.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 Bs(this._pbf,e,this.extent,this._keys,this._values)};var Zs={VectorTile:function(t,e){this.layers=t.readFields(Gs,{},e)},VectorTileFeature:Bs,VectorTileLayer:Vs},Ys=Zs.VectorTileFeature.types,Ws=Math.pow(2,13);function Xs(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*Ws)+o,i*Ws*2,a*Ws*2,Math.round(s))}var Js=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.hasPattern=!1,this.layoutVertexArray=new Ki,this.indexArray=new sa,this.programConfigurations=new no(Fs,t.layers,t.zoom),this.segments=new Ea,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function Ks(t,e){return t.x===e.x&&(t.x<0||t.x>oo)||t.y===e.y&&(t.y<0||t.y>oo)}Js.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=Ps("fill-extrusion",this.layers,e);for(var n=0,i=t;noo}))||O.every((function(t){return t.y<0}))||O.every((function(t){return t.y>oo}))))for(var v=0,g=0;g=1){var m=d[g-1];if(!Ks(y,m)){f.vertexLength+4>Ea.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=y.sub(m)._perp()._unit(),b=m.dist(y);v+b>32768&&(v=0),Xs(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,v),Xs(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,v),v+=b,Xs(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,0,v),Xs(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,1,v);var _=f.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),f.vertexLength+=4,f.primitiveLength+=2}}}}if(f.vertexLength+l>Ea.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),"Polygon"===Ys[t.type]){for(var w=[],T=[],k=f.vertexLength,A=0,M=s;A=2&&t[l-1].equals(t[l-2]);)l--;for(var u=0;u0;if(T&&y>u){var A=c.dist(p);if(A>2*f){var M=c.sub(c.sub(p)._mult(f/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,v,0,0,h),p=M}}var S=p&&d,E=S?r:s?"butt":n;if(S&&"round"===E&&(_i&&(E="bevel"),"bevel"===E&&(_>2&&(E="flipbevel"),_100)m=g.mult(-1);else{var L=_*v.add(g).mag()/v.sub(g).mag();m._perp()._mult(L*(k?-1:1))}this.addCurrentVertex(c,m,0,0,h),this.addCurrentVertex(c,m.mult(-1),0,0,h)}else if("bevel"===E||"fakeround"===E){var C=-Math.sqrt(_*_-1),P=k?C:0,O=k?0:C;if(p&&this.addCurrentVertex(c,v,P,O,h),"fakeround"===E)for(var I=Math.round(180*w/Math.PI/20),D=1;D2*f){var j=c.add(d.sub(c)._mult(f/N)._round());this.updateDistance(c,j),this.addCurrentVertex(j,g,0,0,h),c=j}}}}},ol.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,u=-e.y-e.x*n;this.addHalfVertex(t,o,s,a,!1,r,i),this.addHalfVertex(t,l,u,a,!0,-n,i),this.distance>al/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a))},ol.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=t.x,l=t.y,u=.5*this.scaledDistance;this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&u)<<2,u>>6);var c=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),o.primitiveLength++),i?this.e2=c:this.e1=c},ol.prototype.updateScaledDistance=function(){this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(al-1):this.distance},ol.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},Qn("LineBucket",ol,{omit:["layers","patternFeatures"]});var sl=new Ui({"line-cap":new Ri(It.layout_line["line-cap"]),"line-join":new Fi(It.layout_line["line-join"]),"line-miter-limit":new Ri(It.layout_line["line-miter-limit"]),"line-round-limit":new Ri(It.layout_line["line-round-limit"]),"line-sort-key":new Fi(It.layout_line["line-sort-key"])}),ll={paint:new Ui({"line-opacity":new Fi(It.paint_line["line-opacity"]),"line-color":new Fi(It.paint_line["line-color"]),"line-translate":new Ri(It.paint_line["line-translate"]),"line-translate-anchor":new Ri(It.paint_line["line-translate-anchor"]),"line-width":new Fi(It.paint_line["line-width"]),"line-gap-width":new Fi(It.paint_line["line-gap-width"]),"line-offset":new Fi(It.paint_line["line-offset"]),"line-blur":new Fi(It.paint_line["line-blur"]),"line-dasharray":new Ni(It.paint_line["line-dasharray"]),"line-pattern":new Bi(It.paint_line["line-pattern"]),"line-gradient":new ji(It.paint_line["line-gradient"])}),layout:sl},ul=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 Si(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,i){return r=f({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(Fi),cl=new ul(ll.paint.properties["line-width"].specification);cl.useIntegerZoom=!0;var fl=function(t){function e(e){t.call(this,e,ll)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){"line-gradient"===t&&this._updateGradient()},e.prototype._updateGradient=function(){var t=this._transitionablePaint._values["line-gradient"].value.expression;this.gradient=Zo(t,"lineProgress"),this.gradientTexture=null},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values["line-floorwidth"]=cl.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new ol(t)},e.prototype.queryRadius=function(t){var e=t,r=hl(ko("line-width",this,e),ko("line-gap-width",this,e)),n=ko("line-offset",this,e);return r/2+Math.abs(n)+Ao(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s){var l=Mo(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),u=s/2*hl(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),c=this.paint.get("line-offset").evaluate(e,r);return c&&(n=function(t,e){for(var r=[],n=new a(0,0),i=0;i=3)for(var a=0;a0?e+2*t:t}var pl=Yi([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),dl=Yi([{name:"a_projected_pos",components:3,type:"Float32"}],4),vl=(Yi([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),Yi([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),gl=(Yi([{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"}]),Yi([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),yl=Yi([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function ml(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),Mi.applyArabicShaping&&(t=Mi.applyArabicShaping(t)),t}(t.text,e,r)})),t}Yi([{name:"triangle",components:3,type:"Uint16"}]),Yi([{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:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),Yi([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),Yi([{type:"Float32",name:"offsetX"}]),Yi([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var xl={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var bl=24,_l=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,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)},wl=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=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+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v},Tl=kl;function kl(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}kl.Varint=0,kl.Fixed64=1,kl.Bytes=2,kl.Fixed32=5;var Al=4294967296,Ml=1/Al,Sl="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function El(t){return t.type===kl.Bytes?t.readVarint()+t.pos:t.pos+1}function Ll(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Cl(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(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 Pl(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function Vl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}kl.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>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=jl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Vl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=jl(this.buf,this.pos)+jl(this.buf,this.pos+4)*Al;return this.pos+=8,t},readSFixed64:function(){var t=jl(this.buf,this.pos)+Vl(this.buf,this.pos+4)*Al;return this.pos+=8,t},readFloat:function(){var t=_l(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=_l(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,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Ll(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Ll(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Ll(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Ll(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Ll(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Ll(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=this.pos;return this.pos=t,t-e>=12&&Sl?function(t,e,r){return Sl.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n="",i=e;i239?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,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==kl.Bytes)return t.push(this.readVarint(e));var r=El(this);for(t=t||[];this.pos127;);else if(e===kl.Bytes)this.pos=this.readVarint()+this.pos;else if(e===kl.Fixed32)this.pos+=4;else{if(e!==kl.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;e268435455||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;a55295&&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&&Cl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),wl(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),wl(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=128&&Cl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,kl.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,Pl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Ol,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,zl,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Il,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Dl,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Rl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Fl,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Bl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Nl,e)},writeBytesField:function(t,e){this.writeTag(t,kl.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,kl.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,kl.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,kl.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,kl.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,kl.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,kl.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,kl.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,kl.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,kl.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};function Hl(t,e,r){1===t&&r.readMessage(ql,e)}function ql(t,e,r){if(3===t){var n=r.readMessage(Gl,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,u=n.top,c=n.advance;e.push({id:i,bitmap:new Ho({width:o+6,height:s+6},a),metrics:{width:o,height:s,left:l,top:u,advance:c}})}}function Gl(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())}function Zl(t){for(var e=0,r=0,n=0,i=t;n=0;h--){var p=o[h];if(!(f.w>p.w||f.h>p.h)){if(f.x=p.x,f.y=p.y,l=Math.max(l,f.y+f.h),s=Math.max(s,f.x+f.w),f.w===p.w&&f.h===p.h){var d=o.pop();h0&&B>A&&(A=B)}else{var N=r[S.fontStack],j=N&&N[L];if(j&&j.rect)O=j.rect,P=j.metrics;else{var U=e[S.fontStack],V=U&&U[L];if(!V)continue;P=V.metrics}C=(_-S.scale)*bl}z?(t.verticalizable=!0,k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:z,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:O}),h+=D*S.scale+u):(k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:z,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:O}),h+=P.advance*S.scale+u)}if(0!==k.length){var H=h-u;d=Math.max(H,d),cu(k,0,k.length-1,g,A)}h=0;var q=a*_+A;T.lineOffset=Math.max(A,w),p+=q,v=Math.max(q,v),++y}else p+=a,++y}var G=p-Kl,Z=uu(o),Y=Z.horizontalAlign,W=Z.verticalAlign;(function(t,e,r,n,i,a,o,s,l){var u=(e-r)*i,c=0;c=a!==o?-s*n-Kl:(-n*l+.5)*o;for(var f=0,h=t;f=0&&n>=t&&eu[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},Ql.prototype.substring=function(t,e){var r=new Ql;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},Ql.prototype.toString=function(){return this.text},Ql.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},Ql.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push($l.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var eu={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},ru={};function nu(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*bl/a+i:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+i:0}function iu(t,e,r,n){var i=Math.pow(t-e,2);return n?t=0,c=0,f=0;f-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;sn;)u-=l.shift().angleDelta;if(u>i)return!1;o++,s+=f.dist(h)}return!0}function xu(t){for(var e=0,r=0;ru){var d=(u-l)/p,v=Ke(f.x,h.x,d),g=Ke(f.y,h.y,d),y=new hu(v,g,h.angleTo(f),c);return y._round(),!o||mu(t,y,s,o,e)?y:void 0}l+=p}}function Tu(t,e,r,n,i,a,o,s,l){var u=bu(n,a,o),c=_u(n,i),f=c*o,h=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-f=0&&b=0&&_=0&&h+u<=c){var w=new hu(b,_,m,d);w._round(),n&&!mu(t,w,a,n,i)||p.push(w)}}f+=y}return s||p.length||o||(p=ku(t,f/2,r,n,i,a,o,!0,l)),p}function Au(t,e,r,n,i){for(var o=[],s=0;s=n&&h.x>=n||(f.x>=n?f=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round():h.x>=n&&(h=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round()),f.y>=i&&h.y>=i||(f.y>=i?f=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round():h.y>=i&&(h=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round()),u&&f.equals(u[u.length-1])||(u=[f],o.push(u)),u.push(h)))))}return o}function Mu(t,e,r,n){var i=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2,u=o.paddedRect.h-2,c=t.right-t.left,f=t.bottom-t.top,h=o.stretchX||[[0,l]],p=o.stretchY||[[0,u]],d=function(t,e){return t+e[1]-e[0]},v=h.reduce(d,0),g=p.reduce(d,0),y=l-v,m=u-g,x=0,b=v,_=0,w=g,T=0,k=y,A=0,M=m;if(o.content&&n){var S=o.content;x=Su(h,0,S[0]),_=Su(p,0,S[1]),b=Su(h,S[0],S[2]),w=Su(p,S[1],S[3]),T=S[0]-x,A=S[1]-_,k=S[2]-S[0]-b,M=S[3]-S[1]-w}var E=function(n,i,l,u){var h=Lu(n.stretch-x,b,c,t.left),p=Cu(n.fixed-T,k,n.stretch,v),d=Lu(i.stretch-_,w,f,t.top),y=Cu(i.fixed-A,M,i.stretch,g),m=Lu(l.stretch-x,b,c,t.left),S=Cu(l.fixed-T,k,l.stretch,v),E=Lu(u.stretch-_,w,f,t.top),L=Cu(u.fixed-A,M,u.stretch,g),C=new a(h,d),P=new a(m,d),O=new a(m,E),I=new a(h,E),D=new a(p/s,y/s),z=new a(S/s,L/s),R=e*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];C._matMult(N),P._matMult(N),I._matMult(N),O._matMult(N)}var j=n.stretch+n.fixed,U=l.stretch+l.fixed,V=i.stretch+i.fixed,H=u.stretch+u.fixed;return{tl:C,tr:P,bl:I,br:O,tex:{x:o.paddedRect.x+1+j,y:o.paddedRect.y+1+V,w:U-j,h:H-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:D,pixelOffsetBR:z,minFontScaleX:k/s/c,minFontScaleY:M/s/f,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var L=Eu(h,y,v),C=Eu(p,m,g),P=0;P0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var v=o.top*s-l,g=o.bottom*s+l,y=o.left*s-l,m=o.right*s+l,x=o.collisionPadding;if(x&&(y-=x[0]*s,v-=x[1]*s,m+=x[2]*s,g+=x[3]*s),c){var b=new a(y,v),_=new a(m,v),w=new a(y,g),T=new a(m,g),k=c*Math.PI/180;b._rotate(k),_._rotate(k),w._rotate(k),T._rotate(k),y=Math.min(b.x,_.x,w.x,T.x),m=Math.max(b.x,_.x,w.x,T.x),v=Math.min(b.y,_.y,w.y,T.y),g=Math.max(b.y,_.y,w.y,T.y)}t.emplaceBack(e.x,e.y,y,v,m,g,r,n,i)}this.boxEndIndex=t.length},Ou=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=Iu),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function Iu(t,e){return te?1:0}function Du(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=t[0],u=0;uo)&&(o=c.x),(!u||c.y>s)&&(s=c.y)}var f=o-n,h=s-i,p=Math.min(f,h),d=p/2,v=new Ou([],zu);if(0===p)return new a(n,i);for(var g=n;gm.d||!m.d)&&(m=b,r&&console.log("found best %d after %d probes",Math.round(1e4*b.d)/1e4,x)),b.max-m.d<=e||(d=b.h/2,v.push(new Ru(b.p.x-d,b.p.y-d,d,t)),v.push(new Ru(b.p.x+d,b.p.y-d,d,t)),v.push(new Ru(b.p.x-d,b.p.y+d,d,t)),v.push(new Ru(b.p.x+d,b.p.y+d,d,t)),x+=4)}return r&&(console.log("num probes: "+x),console.log("best distance: "+m.d)),m.p}function zu(t,e){return e.max-t.max}function Ru(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;it.y!=c.y>t.y&&t.x<(c.x-u.x)*(t.y-u.y)/(c.y-u.y)+u.x&&(r=!r),n=Math.min(n,bo(t,u,c))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}Ou.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},Ou.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Ou.prototype.peek=function(){return this.data[0]},Ou.prototype._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},Ou.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t=0)break;e[t]=o,t=a}e[t]=i};var Fu=Number.POSITIVE_INFINITY;function Bu(t,e){return e[1]!==Fu?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case"top-right":case"top-left":case"top":i=r-7;break;case"bottom-right":case"bottom-left":case"bottom":i=7-r}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":n=i-7;break;case"bottom-right":case"bottom-left":n=7-i;break;case"bottom":n=7-e;break;case"top":n=e-7}switch(t){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=e;break;case"right":r=-e}return[r,n]}(t,e[0])}function Nu(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}var ju=32640;function Uu(t,e,r,n,i,o,s,l,u,c,f,h,p,d,v){var g=function(t,e,r,n,i,o,s,l){for(var u=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,c=[],f=0,h=e.positionedLines;fju&&w(t.layerIds[0]+': Value for "text-size" is >= '+'255. Reduce your "text-size".'):"composite"===y.kind&&((m=[pu*d.compositeTextSizes[0].evaluate(s,{},v),pu*d.compositeTextSizes[1].evaluate(s,{},v)])[0]>ju||m[1]>ju)&&w(t.layerIds[0]+': Value for "text-size" is >= '+'255. Reduce your "text-size".'),t.addSymbols(t.text,g,m,l,o,s,c,e,u.lineStartIndex,u.lineLength,p,v);for(var x=0,b=f;x=0;o--)if(n.dist(a[o])0)&&("constant"!==a.value.kind||a.value.value.length>0),u="constant"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,c=i.get("symbol-sort-key");if(this.features=[],l||u){for(var f=e.iconDependencies,h=e.glyphDependencies,p=e.availableImages,d=new Si(this.zoom),v=0,g=t;v=0;for(var I=0,D=k.sections;I=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;l0},Ku.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Ku.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},Ku.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},Ku.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},Ku.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},Qn("SymbolBucket",Ku,{omit:["layers","collisionBoxArray","features","compareText"]}),Ku.MAX_GLYPHS=65535,Ku.addDynamicAttributes=Yu;var $u=new Ui({"symbol-placement":new Ri(It.layout_symbol["symbol-placement"]),"symbol-spacing":new Ri(It.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Ri(It.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Fi(It.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Ri(It.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Ri(It.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new Ri(It.layout_symbol["icon-ignore-placement"]),"icon-optional":new Ri(It.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Ri(It.layout_symbol["icon-rotation-alignment"]),"icon-size":new Fi(It.layout_symbol["icon-size"]),"icon-text-fit":new Ri(It.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Ri(It.layout_symbol["icon-text-fit-padding"]),"icon-image":new Fi(It.layout_symbol["icon-image"]),"icon-rotate":new Fi(It.layout_symbol["icon-rotate"]),"icon-padding":new Ri(It.layout_symbol["icon-padding"]),"icon-keep-upright":new Ri(It.layout_symbol["icon-keep-upright"]),"icon-offset":new Fi(It.layout_symbol["icon-offset"]),"icon-anchor":new Fi(It.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Ri(It.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Ri(It.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Ri(It.layout_symbol["text-rotation-alignment"]),"text-field":new Fi(It.layout_symbol["text-field"]),"text-font":new Fi(It.layout_symbol["text-font"]),"text-size":new Fi(It.layout_symbol["text-size"]),"text-max-width":new Fi(It.layout_symbol["text-max-width"]),"text-line-height":new Ri(It.layout_symbol["text-line-height"]),"text-letter-spacing":new Fi(It.layout_symbol["text-letter-spacing"]),"text-justify":new Fi(It.layout_symbol["text-justify"]),"text-radial-offset":new Fi(It.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Ri(It.layout_symbol["text-variable-anchor"]),"text-anchor":new Fi(It.layout_symbol["text-anchor"]),"text-max-angle":new Ri(It.layout_symbol["text-max-angle"]),"text-writing-mode":new Ri(It.layout_symbol["text-writing-mode"]),"text-rotate":new Fi(It.layout_symbol["text-rotate"]),"text-padding":new Ri(It.layout_symbol["text-padding"]),"text-keep-upright":new Ri(It.layout_symbol["text-keep-upright"]),"text-transform":new Fi(It.layout_symbol["text-transform"]),"text-offset":new Fi(It.layout_symbol["text-offset"]),"text-allow-overlap":new Ri(It.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new Ri(It.layout_symbol["text-ignore-placement"]),"text-optional":new Ri(It.layout_symbol["text-optional"])}),Qu={paint:new Ui({"icon-opacity":new Fi(It.paint_symbol["icon-opacity"]),"icon-color":new Fi(It.paint_symbol["icon-color"]),"icon-halo-color":new Fi(It.paint_symbol["icon-halo-color"]),"icon-halo-width":new Fi(It.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Fi(It.paint_symbol["icon-halo-blur"]),"icon-translate":new Ri(It.paint_symbol["icon-translate"]),"icon-translate-anchor":new Ri(It.paint_symbol["icon-translate-anchor"]),"text-opacity":new Fi(It.paint_symbol["text-opacity"]),"text-color":new Fi(It.paint_symbol["text-color"],{runtimeType:Gt,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),"text-halo-color":new Fi(It.paint_symbol["text-halo-color"]),"text-halo-width":new Fi(It.paint_symbol["text-halo-width"]),"text-halo-blur":new Fi(It.paint_symbol["text-halo-blur"]),"text-translate":new Ri(It.paint_symbol["text-translate"]),"text-translate-anchor":new Ri(It.paint_symbol["text-translate-anchor"])}),layout:$u},tc=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Ut,this.defaultValue=t};tc.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},tc.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},tc.prototype.outputDefined=function(){return!1},tc.prototype.serialize=function(){return null},Qn("FormatSectionOverride",tc,{omit:["defaultValue"]});var ec=function(t){function e(e){t.call(this,e,Qu)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),"auto"===this.layout.get("icon-rotation-alignment")&&("point"!==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")&&("point"!==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")),"point"===this.layout.get("symbol-placement")){var n=this.layout.get("text-writing-mode");if(n){for(var i=[],a=0,o=n;a",targetMapId:n,sourceMapId:a.mapId})}}},vc.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(""===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else A()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},vc.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}},vc.prototype.processTask=function(t,e){var r=this;if(""===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(ii(e.error)):n(null,ii(e.data)))}else{var i=!1,a=E(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:"",sourceMapId:r.mapId,error:e?ni(e):null,data:ni(n,a)},a)}:function(t){i=!0},s=null,l=ii(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,l,o);else if(this.parent.getWorkerSource){var u=e.type.split(".");s=this.parent.getWorkerSource(e.sourceMapId,u[0],l.source)[u[1]](l,o)}else o(new Error("Could not find function "+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}},vc.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};var yc=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]))};yc.prototype.setNorthEast=function(t){return this._ne=t instanceof xc?new xc(t.lng,t.lat):xc.convert(t),this},yc.prototype.setSouthWest=function(t){return this._sw=t instanceof xc?new xc(t.lng,t.lat):xc.convert(t),this},yc.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof xc)e=t,r=t;else{if(!(t instanceof yc)){if(Array.isArray(t)){if(4===t.length||t.every(Array.isArray)){var a=t;return this.extend(yc.convert(a))}var o=t;return this.extend(xc.convert(o))}return this}if(e=t._sw,r=t._ne,!e||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new xc(e.lng,e.lat),this._ne=new xc(r.lng,r.lat)),this},yc.prototype.getCenter=function(){return new xc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},yc.prototype.getSouthWest=function(){return this._sw},yc.prototype.getNorthEast=function(){return this._ne},yc.prototype.getNorthWest=function(){return new xc(this.getWest(),this.getNorth())},yc.prototype.getSouthEast=function(){return new xc(this.getEast(),this.getSouth())},yc.prototype.getWest=function(){return this._sw.lng},yc.prototype.getSouth=function(){return this._sw.lat},yc.prototype.getEast=function(){return this._ne.lng},yc.prototype.getNorth=function(){return this._ne.lat},yc.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},yc.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},yc.prototype.isEmpty=function(){return!(this._sw&&this._ne)},yc.prototype.contains=function(t){var e=xc.convert(t),r=e.lng,n=e.lat,i=this._sw.lat<=n&&n<=this._ne.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a},yc.convert=function(t){return!t||t instanceof yc?t:new yc(t)};var mc=6371008.8,xc=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")};xc.prototype.wrap=function(){return new xc(c(this.lng,-180,180),this.lat)},xc.prototype.toArray=function(){return[this.lng,this.lat]},xc.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},xc.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return mc*Math.acos(Math.min(i,1))},xc.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new yc(new xc(this.lng-r,this.lat-e),new xc(this.lng+r,this.lat+e))},xc.convert=function(t){if(t instanceof xc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new xc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new xc(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")};var bc=2*Math.PI*mc;function _c(t){return bc*Math.cos(t*Math.PI/180)}function wc(t){return(180+t)/360}function Tc(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function kc(t,e){return t/_c(e)}function Ac(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var Mc=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Mc.fromLngLat=function(t,e){void 0===e&&(e=0);var r=xc.convert(t);return new Mc(wc(r.lng),Tc(r.lat),kc(e,r.lat))},Mc.prototype.toLngLat=function(){return new xc(360*this.x-180,Ac(this.y))},Mc.prototype.toAltitude=function(){return t=this.z,e=this.y,t*_c(Ac(e));var t,e},Mc.prototype.meterInMercatorCoordinateUnits=function(){return 1/bc*(t=Ac(this.y),1/Math.cos(t*Math.PI/180));var t};var Sc=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Cc(0,t,t,e,r)};Sc.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Sc.prototype.url=function(t,e){var r,n,i,a,o,s=(r=this.x,n=this.y,i=this.z,a=gc(256*r,256*(n=Math.pow(2,i)-n-1),i),o=gc(256*(r+1),256*(n+1),i),a[0]+","+a[1]+","+o[0]+","+o[1]),l=function(t,e,r){for(var n,i="",a=t;a>0;a--)i+=(e&(n=1<this.canonical.z?new Lc(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Lc(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Lc.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?Cc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Cc(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Lc.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e},Lc.prototype.children=function(t){if(this.overscaledZ>=t)return[new Lc(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 Lc(e,this.wrap,e,r,n),new Lc(e,this.wrap,e,r+1,n),new Lc(e,this.wrap,e,r,n+1),new Lc(e,this.wrap,e,r+1,n+1)]},Lc.prototype.isLessThan=function(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.y=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)},Pc.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Pc.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Pc.prototype.getPixels=function(){return new qo({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Pc.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-e*this.dim,l=-r*this.dim,u=a;u=0&&c[3]>=0&&s.insert(o,c[0],c[1],c[2],c[3])}},Rc.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new Zs.VectorTile(new Tl(this.rawTileData)).layers,this.sourceLayerCoder=new Oc(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Rc.prototype.query=function(t,e,r,n){var i=this;this.loadVTLayers();for(var o=t.params||{},s=oo/t.tileSize/t.scale,l=xn(o.filter),u=t.queryGeometry,c=t.queryPadding*s,f=Bc(u),h=this.grid.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c),p=Bc(t.cameraQueryGeometry),d=0,v=this.grid3D.query(p.minX-c,p.minY-c,p.maxX+c,p.maxY+c,(function(e,r,n,i){return function(t,e,r,n,i){for(var o=0,s=t;o=l.x&&i>=l.y)return!0}var u=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(var c=0,f=u;c=0)return!0;return!1}(a,f)){var h=this.sourceLayerCoder.decode(r),p=this.vtLayers[h].feature(n);if(i.filter(new Si(this.tileID.overscaledZ),p))for(var d=this.getId(p,h),v=0;vn)i=!1;else if(e)if(this.expirationTimect&&(t.getActor().send("enforceCacheSizeLimit",ut),gt=0)},t.clamp=u,t.clearTileCache=function(t){var e=self.caches.delete(lt);t&&e.catch(t).then((function(){return t()}))},t.clipLine=Au,t.clone=function(t){var e=new Lo(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},t.clone$1=b,t.clone$2=function(t){var e=new Lo(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=yl,t.config=B,t.create=function(){var t=new Lo(16);return Lo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new Lo(9);return Lo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new Lo(4);return Lo!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=an,t.createLayout=Yi,t.createStyleLayer=function(t){return"custom"===t.type?new oc(t):new sc[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=Ke,t.offscreenCanvasSupported=yt,t.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},t.parseGlyphPBF=function(t){return new Tl(t).readFields(Hl,[])},t.pbf=Tl,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays();var s=512*t.overscaling;t.tilePixelRatio=oo/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,u=t.layers[0]._unevaluatedLayout._values,c={};if("composite"===t.textSizeData.kind){var f=t.textSizeData,h=f.minZoom,p=f.maxZoom;c.compositeTextSizes=[u["text-size"].possiblyEvaluate(new Si(h),o),u["text-size"].possiblyEvaluate(new Si(p),o)]}if("composite"===t.iconSizeData.kind){var d=t.iconSizeData,v=d.minZoom,g=d.maxZoom;c.compositeIconSizes=[u["icon-size"].possiblyEvaluate(new Si(v),o),u["icon-size"].possiblyEvaluate(new Si(g),o)]}c.layoutTextSize=u["text-size"].possiblyEvaluate(new Si(t.zoom+1),o),c.layoutIconSize=u["icon-size"].possiblyEvaluate(new Si(t.zoom+1),o),c.textMaxSize=u["text-size"].possiblyEvaluate(new Si(18));for(var y=l.get("text-line-height")*bl,m="map"===l.get("text-rotation-alignment")&&"point"!==l.get("symbol-placement"),x=l.get("text-keep-upright"),b=l.get("text-size"),_=function(){var a=k[T],s=l.get("text-font").evaluate(a,{},o).join(","),u=b.evaluate(a,{},o),f=c.layoutTextSize.evaluate(a,{},o),h=c.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},d=a.text,v=[0,0];if(d){var g=d.toString(),_=l.get("text-letter-spacing").evaluate(a,{},o)*bl,A=function(t){for(var e=0,r=t;e=oo||f.y<0||f.y>=oo||function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,T,k,A){var M,S,E,L,C,P=t.addToLineVertexArray(e,r),O=0,I=0,D=0,z=0,R=-1,F=-1,B={},N=Ia(""),j=0,U=0;if(void 0===s._unevaluatedLayout.getValue("text-radial-offset")?(j=(M=s.layout.get("text-offset").evaluate(b,{},k).map((function(t){return t*bl})))[0],U=M[1]):(j=s.layout.get("text-radial-offset").evaluate(b,{},k)*bl,U=Fu),t.allowVerticalPlacement&&n.vertical){var V=s.layout.get("text-rotate").evaluate(b,{},k)+90,H=n.vertical;L=new Pu(l,e,u,c,f,H,h,p,d,V),o&&(C=new Pu(l,e,u,c,f,o,g,y,d,V))}if(i){var q=s.layout.get("icon-rotate").evaluate(b,{}),G="none"!==s.layout.get("icon-text-fit"),Z=Mu(i,q,T,G),Y=o?Mu(o,q,T,G):void 0;E=new Pu(l,e,u,c,f,i,g,y,!1,q),O=4*Z.length;var W=t.iconSizeData,X=null;"source"===W.kind?(X=[pu*s.layout.get("icon-size").evaluate(b,{})])[0]>ju&&w(t.layerIds[0]+': Value for "icon-size" is >= '+'255. Reduce your "icon-size".'):"composite"===W.kind&&((X=[pu*_.compositeIconSizes[0].evaluate(b,{},k),pu*_.compositeIconSizes[1].evaluate(b,{},k)])[0]>ju||X[1]>ju)&&w(t.layerIds[0]+': Value for "icon-size" is >= '+'255. Reduce your "icon-size".'),t.addSymbols(t.icon,Z,X,x,m,b,!1,e,P.lineStartIndex,P.lineLength,-1,k),R=t.icon.placedSymbolArray.length-1,Y&&(I=4*Y.length,t.addSymbols(t.icon,Y,X,x,m,b,Jl.vertical,e,P.lineStartIndex,P.lineLength,-1,k),F=t.icon.placedSymbolArray.length-1)}for(var J in n.horizontal){var K=n.horizontal[J];if(!S){N=Ia(K.text);var $=s.layout.get("text-rotate").evaluate(b,{},k);S=new Pu(l,e,u,c,f,K,h,p,d,$)}var Q=1===K.positionedLines.length;if(D+=Uu(t,e,K,a,s,d,b,v,P,n.vertical?Jl.horizontal:Jl.horizontalOnly,Q?Object.keys(n.horizontal):[J],B,R,_,k),Q)break}n.vertical&&(z+=Uu(t,e,n.vertical,a,s,d,b,v,P,Jl.vertical,["vertical"],B,F,_,k));var tt=S?S.boxStartIndex:t.collisionBoxArray.length,et=S?S.boxEndIndex:t.collisionBoxArray.length,rt=L?L.boxStartIndex:t.collisionBoxArray.length,nt=L?L.boxEndIndex:t.collisionBoxArray.length,it=E?E.boxStartIndex:t.collisionBoxArray.length,at=E?E.boxEndIndex:t.collisionBoxArray.length,ot=C?C.boxStartIndex:t.collisionBoxArray.length,st=C?C.boxEndIndex:t.collisionBoxArray.length,lt=-1,ut=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};lt=ut(S,lt),lt=ut(L,lt),lt=ut(E,lt);var ct=(lt=ut(C,lt))>-1?1:0;ct&&(lt*=A/bl),t.glyphOffsetArray.length>=Ku.MAX_GLYPHS&&w("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,tt,et,rt,nt,it,at,ot,st,u,D,z,O,I,ct,0,h,j,U,lt)}(t,f,s,r,n,i,h,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,m,T,M,l,b,k,S,d,e,a,u,c,o)};if("line"===E)for(var O=0,I=Au(e.geometry,0,0,oo,oo);O1){var U=wu(j,A,r.vertical||v,n,g,x);U&&P(j,U)}}else if("Polygon"===e.type)for(var V=0,H=Ls(e.geometry,0);V=E.maxzoom||"none"!==E.visibility&&(o(S,this.zoom,n),(v[E.id]=E.createBucket({index:c.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:b,sourceID:this.source})).populate(_,g,this.tileID.canonical),c.bucketLayerIDs.push(S.map((function(t){return t.id}))))}}}var L=t.mapObject(g.glyphDependencies,(function(t){return Object.keys(t).map(Number)}));Object.keys(L).length?a.send("getGlyphs",{uid:this.uid,stacks:L},(function(t,e){f||(f=t,h=e,O.call(l))})):h={};var C=Object.keys(g.iconDependencies);C.length?a.send("getImages",{icons:C,source:this.source,tileID:this.tileID,type:"icons"},(function(t,e){f||(f=t,p=e,O.call(l))})):p={};var P=Object.keys(g.patternDependencies);function O(){if(f)return s(f);if(h&&p&&d){var e=new i(h),r=new t.ImageAtlas(p,d);for(var a in v){var l=v[a];l instanceof t.SymbolBucket?(o(l.layers,this.zoom,n),t.performSymbolLayout(l,h,e.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof t.LineBucket||l instanceof t.FillBucket||l instanceof t.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(g,this.tileID.canonical,r.patternPositions))}this.status="done",s(null,{buckets:t.values(v).filter((function(t){return!t.isEmpty()})),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}P.length?a.send("getImages",{icons:P,source:this.source,tileID:this.tileID,type:"patterns"},(function(t,e){f||(f=t,d=e,O.call(l))})):d={},O.call(this)};var l=function(t,e,r,n){this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),s=this.loading[i]=new a(e);s.abort=this.loadVectorData(e,(function(e,a){if(delete n.loading[i],e||!a)return s.status="done",n.loaded[i]=s,r(e);var l=a.rawData,u={};a.expires&&(u.expires=a.expires),a.cacheControl&&(u.cacheControl=a.cacheControl);var c={};if(o){var f=o.finish();f&&(c.resourceTiming=JSON.parse(JSON.stringify(f)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,u,c))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(t,e){var r=this,n=this.loaded,i=t.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=t.showCollisionBoxes;var s=function(t,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),e(t,n)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},l.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var u=t.window.ImageBitmap,c=function(){this.loaded={}};c.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=e.rawImageData,o=u&&a instanceof u?this.getImageData(a):a,s=new t.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},c.prototype.getImageData=function(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:r.width,height:r.height},r.data)},c.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var f=function t(e,r){var n,i=e&&e.type;if("FeatureCollection"===i)for(n=0;n=0!=!!e&&t.reverse()}var d=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,v=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};v.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r>31}function P(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s>1;D(t,e,o,n,i,a%2),I(t,e,r,n,o-1,a+1),I(t,e,r,o+1,i,a+1)}}function D(t,e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),u=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*u*(o-u)/o)*(s-o/2<0?-1:1);D(t,e,r,Math.max(n,Math.floor(r-s*u/o+c)),Math.min(i,Math.floor(r+(o-s)*u/o+c)),a)}var f=e[2*r+a],h=n,p=i;for(z(t,e,n,r),e[2*i+a]>f&&z(t,e,n,i);hf;)p--}e[2*n+a]===f?z(t,e,n,p):z(t,e,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}function z(t,e,r,n){R(t,r,n),R(e,2*r,2*n),R(e,2*r+1,2*n+1)}function R(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function F(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}_.fromVectorTileJs=w,_.fromGeojsonVt=T,_.GeoJSONWrapper=k;var B=function(t){return t[0]},N=function(t){return t[1]},j=function(t,e,r,n,i){void 0===e&&(e=B),void 0===r&&(r=N),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=t;for(var a=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(t.length),s=this.coords=new i(2*t.length),l=0;l=r&&s<=i&&l>=n&&l<=a&&c.push(t[d]);else{var v=Math.floor((p+h)/2);s=e[2*v],l=e[2*v+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[v]);var g=(f+1)%2;(0===f?r<=s:n<=l)&&(u.push(p),u.push(v-1),u.push(g)),(0===f?i>=s:a>=l)&&(u.push(v+1),u.push(h),u.push(g))}}return c}(this.ids,this.coords,t,e,r,n,this.nodeSize)},j.prototype.within=function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var u=o.pop(),c=o.pop(),f=o.pop();if(c-f<=a)for(var h=f;h<=c;h++)F(e[2*h],e[2*h+1],r,n)<=l&&s.push(t[h]);else{var p=Math.floor((f+c)/2),d=e[2*p],v=e[2*p+1];F(d,v,r,n)<=l&&s.push(t[p]);var g=(u+1)%2;(0===u?r-i<=d:n-i<=v)&&(o.push(f),o.push(p-1),o.push(g)),(0===u?r+i>=d:n+i>=v)&&(o.push(p+1),o.push(c),o.push(g))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var U={minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},V=function(t){this.options=X(Object.create(U),t),this.trees=new Array(this.options.maxZoom+1)};function H(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function q(t,e){var r=t.geometry.coordinates,n=r[0],i=r[1];return{x:Y(n),y:W(i),zoom:1/0,index:e,parentId:-1}}function G(t){return{type:"Feature",id:t.id,properties:Z(t),geometry:{type:"Point",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function Z(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return X(X({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function Y(t){return t/360+.5}function W(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 X(t,e){for(var r in e)t[r]=e[r];return t}function J(t){return t.x}function K(t){return t.y}function $(t,e,r,n){for(var i,a=n,o=r-e>>1,s=r-e,l=t[e],u=t[e+1],c=t[r],f=t[r+1],h=e+3;ha)i=h,a=p;else if(p===a){var d=Math.abs(h-o);dn&&(i-e>3&&$(t,e,i,n),t[i+2]=a,r-i>3&&$(t,i,r,n))}function Q(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}function tt(t,e,r,n){var i={id:void 0===t?null:t,type:e,geometry:r,tags:n,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)et(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n0&&(o+=n?(i*u-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(u-a,2))),i=l,a=u}var c=e.length-3;e[2]=1,$(e,0,c,r),e[c+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function at(t,e,r,n){for(var i=0;i1?1:r}function lt(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o=n)return null;for(var l=[],u=0;u=r&&d=n)){var v=[];if("Point"===h||"MultiPoint"===h)ut(f,v,r,n,i);else if("LineString"===h)ct(f,v,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===h)ht(f,v,r,n,i,!1);else if("Polygon"===h)ht(f,v,r,n,i,!0);else if("MultiPolygon"===h)for(var g=0;g=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function ct(t,e,r,n,i,a,o){for(var s,l,u=ft(t),c=0===i?dt:vt,f=t.start,h=0;hr&&(l=c(u,p,d,g,y,r),o&&(u.start=f+s*l)):m>n?x=r&&(l=c(u,p,d,g,y,r),b=!0),x>n&&m<=n&&(l=c(u,p,d,g,y,n),b=!0),!a&&b&&(o&&(u.end=f+s*l),e.push(u),u=ft(t)),o&&(f+=s)}var _=t.length-3;p=t[_],d=t[_+1],v=t[_+2],(m=0===i?p:d)>=r&&m<=n&&pt(u,p,d,v),_=u.length-3,a&&_>=3&&(u[_]!==u[0]||u[_+1]!==u[1])&&pt(u,u[0],u[1],u[2]),u.length&&e.push(u)}function ft(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ht(t,e,r,n,i,a){for(var o=0;oo.maxX&&(o.maxX=c),f>o.maxY&&(o.maxY=f)}return o}function _t(t,e,r,n){var i=e.geometry,a=e.type,o=[];if("Point"===a||"MultiPoint"===a)for(var s=0;s0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;lo)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n0===e)for(n=0,i=t.length;n24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var n=0;n=n;u--){var c=+Date.now();s=this._cluster(s,u),this.trees[u]=new j(s,J,K,a,Float32Array),r&&console.log("z%d: %d clusters in %dms",u,s.length,+Date.now()-c)}return r&&console.timeEnd("total time"),this},V.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),i=180===t[2]?180:((t[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],e),s=this.getClusters([-180,n,i,a],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],u=[],c=0,f=l.range(Y(r),W(a),Y(i),W(n));c1?this._map(u,!0):null,g=(l<<5)+(e+1)+this.points.length,y=0,m=f;y>5},V.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},V.prototype._map=function(t,e){if(t.numPoints)return e?X({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?X({},n):n},Tt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Tt.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,u=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var c=1<1&&console.time("creation"),h=this.tiles[f]=bt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(h.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<1&&console.time("clipping");var v,g,y,m,x,b,_=.5*l.buffer/l.extent,w=.5-_,T=.5+_,k=1+_;v=g=y=m=null,x=lt(t,c,r-_,r+T,0,h.minX,h.maxX,l),b=lt(t,c,r+w,r+k,0,h.minX,h.maxX,l),t=null,x&&(v=lt(x,c,n-_,n+T,1,h.minY,h.maxY,l),g=lt(x,c,n+w,n+k,1,h.minY,h.maxY,l),x=null),b&&(y=lt(b,c,n-_,n+T,1,h.minY,h.maxY,l),m=lt(b,c,n+w,n+k,1,h.minY,h.maxY,l),b=null),u>1&&console.timeEnd("clipping"),s.push(v||[],e+1,2*r,2*n),s.push(g||[],e+1,2*r,2*n+1),s.push(y||[],e+1,2*r+1,2*n),s.push(m||[],e+1,2*r+1,2*n+1)}}},Tt.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var l,u=t,c=e,f=r;!l&&u>0;)u--,c=Math.floor(c/2),f=Math.floor(f/2),l=this.tiles[kt(u,c,f)];return l&&l.source?(a>1&&console.log("found parent tile z%d-%d-%d",u,c,f),a>1&&console.time("drilling down"),this.splitTile(l.source,u,c,f,t,e,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?mt(this.tiles[s],i):null):null};var Mt=function(e){function r(t,r,n,i){e.call(this,t,r,n,At),i&&(this.loadGeoJSON=i)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new t.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));f(o,!0);try{e._geoJSONIndex=n.cluster?new V(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),u=0,c=l;u=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var h=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e=0?1.2:1))}function y(t,e,r,n,i,a,o){for(var s=0;s65535)e(new Error("glyphs > 65535 not supported"));else if(a.ranges[s])e(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(t,e){if(e){for(var r in e)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=e[+r]);a.ranges[s]=!0}for(var i=0,o=l;i1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=void 0,d=i/r*(n+1);if(l.isDash){var v=n-Math.abs(d);p=Math.sqrt(h*h+v*v)}else p=n-Math.sqrt(h*h+d*d);this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}var i=t[0],a=t[t.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=t[s],u=0;u1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=l.isDash?h:-h;this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce("LineAtlas out of space"),null;for(var a=0,o=0;o=n&&e.x=i&&e.y0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event("data",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event("data",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send("geojson.getClusterChildren",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),i=this._data;"string"==typeof i?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(i),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+".loadData",n,(function(t,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,i=e.actor?"reloadTile":"loadTile";e.actor=this.actor;var a={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.request=this.actor.send(i,a,(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(a,n.map.painter,"reloadTile"===i),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),O=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),I=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new t.ErrorEvent(i)):a&&(n.image=a,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=e;or.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){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,O.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),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 t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(I),z=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return"number"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var 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,O.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];tthis.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},j.prototype.has=function(t){return t.wrapped().key in this.data},j.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},j.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},j.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},j.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},j.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},j.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this},j.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,i=this.data[r];n1||(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)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},r.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)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(t){return n._source.hasTile(t)})))):i=[];var a=e.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(Dt(this._source.type)){for(var u={},c={},f=0,h=Object.keys(l);fthis._source.maxzoom){var g=d.children(this._source.maxzoom)[0],y=this.getTile(g);if(y&&y.hasData()){n[g.key]=g;continue}}else{var m=d.children(this._source.maxzoom);if(n[m[0].key]&&n[m[1].key]&&n[m[2].key]&&n[m[3].key])continue}for(var x=v.wasRequested(),b=d.overscaledZ-1;b>=a;--b){var _=d.scaledTo(b);if(i[_.key])break;if(i[_.key]=!0,!(v=this.getTile(_))&&x&&(v=this._addTile(_)),v&&(n[_.key]=_,x=v.wasRequested(),v.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],r=void 0,n=this._tiles[t].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=e;a0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map((function(t){return o.pointCoordinate(t)})),u=s.map((function(t){return o.pointCoordinate(t)})),c=this.getIds(),f=1/0,h=1/0,p=-1/0,d=-1/0,v=0,g=u;v=0&&y[1].y+g>=0){var m=l.map((function(t){return s.getTilePoint(t)})),x=u.map((function(t){return s.getTilePoint(t)}));a.push({tile:n,tileID:s,queryGeometry:m,cameraQueryGeometry:x,scale:v})}}},x=0;x=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.updateState(t,e,r)},r.prototype.removeFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.removeFeatureState(t,e,r)},r.prototype.getFeatureState=function(t,e){return t=t||"_geojsonTileLayer",this._state.getState(t,e)},r.prototype.setDependencies=function(t,e,r){var n=this._tiles[t];n&&n.setDependencies(e,r)},r.prototype.reloadTilesForDependencies=function(t,e){for(var r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,"reloading");this._cache.filter((function(r){return!r.hasDependency(t,e)}))},r}(t.Evented);function It(t,e){var r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function Dt(t){return"raster"===t||"image"===t||"video"===t}function zt(){return new t.window.Worker(ta.workerUrl)}Ot.maxOverzooming=10,Ot.maxUnderzooming=3;var Rt="mapboxgl_preloaded_worker_pool",Ft=function(){this.active={}};Ft.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Qt=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=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function ae(e,r,n,i,a,o,s,l){var u=i?e.textSizeData:e.iconSizeData,c=t.evaluateSizeForZoom(u,n.transform.zoom),f=[256/n.width*2+1,256/n.height*2+1],h=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;h.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,v=n.transform.width/n.transform.height,g=!1,y=0;yMath.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function le(e,r,n,i,a,o,s,l,u,c,f,h,p,d){var v,g=r/24,y=e.lineOffsetX*g,m=e.lineOffsetY*g;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=oe(g,l,y,m,n,f,h,e,u,o,p);if(!w)return{notEnoughRoom:!0};var T=re(w.first.point,s).point,k=re(w.last.point,s).point;if(i&&!n){var A=se(e.writingMode,T,k,d);if(A)return A}v=[w.first];for(var M=e.glyphStartIndex+1;M0?C.point:ue(h,L,S,1,a),O=se(e.writingMode,S,P,d);if(O)return O}var I=ce(g*l.getoffsetX(e.glyphStartIndex),y,m,n,f,h,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,u,o,p);if(!I)return{notEnoughRoom:!0};v=[I]}for(var D=0,z=v;D0?1:-1,v=0;i&&(d*=-1,v=Math.PI),d<0&&(v+=Math.PI);for(var g=d>0?l+s:l+s+1,y=a,m=a,x=0,b=0,_=Math.abs(p),w=[];x+b<=_;){if((g+=d)=u)return null;if(m=y,w.push(y),void 0===(y=h[g])){var T=new t.Point(c.getx(g),c.gety(g)),k=re(T,f);if(k.signedDistanceFromCamera>0)y=h[g]=k.point;else{var A=g-d;y=ue(0===x?o:new t.Point(c.getx(A),c.gety(A)),T,m,_-x+1,f)}}x+=b,b=m.dist(y)}var M=(_-x)/b,S=y.sub(m),E=S.mult(M)._add(m);E._add(S._unit()._perp()._mult(n*d));var L=v+Math.atan2(y.y-m.y,y.x-m.x);return w.push(E),{point:E,angle:L,path:w}}Qt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Qt.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)},Qt.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)},Qt.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},Qt.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},Qt.prototype._query=function(t,e,r,n,i,a){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s0:o},Qt.prototype._queryCircle=function(t,e,r,n,i){var a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var u=[],c={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,u,c,i),n?u.length>0:u},Qt.prototype.query=function(t,e,r,n,i){return this._query(t,e,r,n,!1,i)},Qt.prototype.hitTest=function(t,e,r,n,i){return this._query(t,e,r,n,!0,i)},Qt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Qt.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=o.seenUids,u=this.boxCells[i];if(null!==u)for(var c=this.bboxes,f=0,h=u;f=c[d+0]&&n>=c[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:c[d],y1:c[d+1],x2:c[d+2],y2:c[d+3]})}}}var v=this.circleCells[i];if(null!==v)for(var g=this.circles,y=0,m=v;yo*o+s*s},Qt.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 f=l-s,h=c-u;return f*f+h*h<=r*r};var fe=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function he(t,e){for(var r=0;r=1;P--)C.push(E.path[P]);for(var O=1;O0){for(var R=C[0].clone(),F=C[0].clone(),B=1;B=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[C]:F.xM.x||F.yM.y?[]:t.clipLine([C],A.x,A.y,M.x,M.y)}for(var N=0,j=z;N=this.screenRightBoundary||nthis.screenBottomBoundary},ve.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t=0&&e0?(this.prevPlacement&&this.prevPlacement.variableOffsets[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID].text&&(v=this.prevPlacement.variableOffsets[f.crossTileID].anchor),this.variableOffsets[f.crossTileID]={textOffset:g,width:r,height:n,anchor:t,textBoxScale:i,prevAnchor:v},this.markUsedJustification(h,t,f,p),h.allowVerticalPlacement&&(this.markUsedOrientation(h,p,f),this.placedOrientations[f.crossTileID]=p),{shift:y,placedGlyphBoxes:m}):void 0},Ae.prototype.placeLayerBucketPart=function(e,r,n){var i=this,a=e.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,u=a.textLabelPlaneMatrix,c=a.labelToScreenMatrix,f=a.textPixelRatio,h=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,v=a.collisionGroup,g=s.get("text-optional"),y=s.get("icon-optional"),m=s.get("text-allow-overlap"),x=s.get("icon-allow-overlap"),b="map"===s.get("text-rotation-alignment"),_="map"===s.get("text-pitch-alignment"),w="none"!==s.get("icon-text-fit"),T="viewport-y"===s.get("symbol-z-order"),k=m&&(x||!o.hasIconData()||y),A=x&&(m||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(e,a){if(!r[e.crossTileID])if(h)i.placements[e.crossTileID]=new xe(!1,!1,!1);else{var p,T=!1,M=!1,S=!0,E=null,L={box:null,offscreen:null},C={box:null,offscreen:null},P=null,O=null,I=0,D=0,z=0;a.textFeatureIndex?I=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(I=e.featureIndex),a.verticalTextFeatureIndex&&(D=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[e.crossTileID];a&&(i.placedOrientations[e.crossTileID]=a,n=a,i.markUsedOrientation(o,n,e))}return n},B=function(r,n){if(o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i0&&(N=N.filter((function(t){return t!==j.anchor}))).unshift(j.anchor)}var U=function(t,r,n){for(var a=t.x2-t.x1,s=t.y2-t.y1,u=e.textBoxScale,c=w&&!x?r:null,h={box:[],offscreen:!1},p=m?2*N.length:N.length,d=0;d=N.length,k=i.attemptAnchorPlacement(g,t,a,s,u,b,_,f,l,v,y,e,o,n,c);if(k&&(h=k.placedGlyphBoxes)&&h.box&&h.box.length){T=!0,E=k.shift;break}}return h};B((function(){return U(R,a.iconBox,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox,n=L&&L.box&&L.box.length;return o.allowVerticalPlacement&&!n&&e.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),L&&(T=L.box,S=L.offscreen);var V=F(L&&L.box);if(!T&&i.prevPlacement){var H=i.prevPlacement.variableOffsets[e.crossTileID];H&&(i.variableOffsets[e.crossTileID]=H,i.markUsedJustification(o,H.anchor,e,V))}}else{var q=function(t,r){var n=i.collisionIndex.placeCollisionBox(t,m,f,l,v.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,e),i.placedOrientations[e.crossTileID]=r),n};B((function(){return q(R,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?q(r,t.WritingMode.vertical):{box:null,offscreen:null}})),F(L&&L.box&&L.box.length)}}if(T=(p=L)&&p.box&&p.box.length>0,S=p&&p.offscreen,e.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),Z=t.evaluateSizeForFeature(o.textSizeData,d,G),Y=s.get("text-padding"),W=e.collisionCircleDiameter;P=i.collisionIndex.placeCollisionCircles(m,G,o.lineVertexArray,o.glyphOffsetArray,Z,l,u,c,n,_,v.predicate,W,Y),T=m||P.circles.length>0&&!P.collisionDetected,S=S&&P.offscreen}if(a.iconFeatureIndex&&(z=a.iconFeatureIndex),a.iconBox){var X=function(t){var e=w&&E?ke(t,E.x,E.y,b,_,i.transform.angle):t;return i.collisionIndex.placeCollisionBox(e,x,f,l,v.predicate)};M=C&&C.box&&C.box.length&&a.verticalIconBox?(O=X(a.verticalIconBox)).box.length>0:(O=X(a.iconBox)).box.length>0,S=S&&O.offscreen}var J=g||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,K=y||0===e.numIconVertices;if(J||K?K?J||(M=M&&T):T=M&&T:M=T=M&&T,T&&p&&p.box&&(C&&C.box&&D?i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,D,v.ID):i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,I,v.ID)),M&&O&&i.collisionIndex.insertCollisionBox(O.box,s.get("icon-ignore-placement"),o.bucketInstanceId,z,v.ID),P&&(T&&i.collisionIndex.insertCollisionCircles(P.circles,s.get("text-ignore-placement"),o.bucketInstanceId,I,v.ID),n)){var $=o.bucketInstanceId,Q=i.collisionCircleArrays[$];void 0===Q&&(Q=i.collisionCircleArrays[$]=new be);for(var tt=0;tt=0;--E){var L=S[E];M(o.symbolInstances.get(L),o.collisionArrays[L])}else for(var C=e.symbolInstanceStart;C=0&&(e.text.placedSymbolArray.get(u).crossTileID=a>=0&&u!==a?0:n.crossTileID)}},Ae.prototype.markUsedOrientation=function(e,r,n){for(var i=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,a=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o0||l>0,x=a.numIconVertices>0,b=i.placedOrientations[a.crossTileID],_=b===t.WritingMode.vertical,w=b===t.WritingMode.horizontal||b===t.WritingMode.horizontalOnly;if(m){var T=De(y.text),k=_?ze:T;d(e.text,s,k);var A=w?ze:T;d(e.text,l,A);var M=y.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=M||_?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=M||w?1:0);var S=i.variableOffsets[a.crossTileID];S&&i.markUsedJustification(e,S.anchor,a,b);var E=i.placedOrientations[a.crossTileID];E&&(i.markUsedJustification(e,"left",a,E),i.markUsedOrientation(e,E,a))}if(x){var L=De(y.icon),C=!(h&&a.verticalPlacedIconSymbolIndex&&_);if(a.placedIconSymbolIndex>=0){var P=C?L:ze;d(e.icon,a.numIconVertices,P),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=y.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var O=C?ze:L;d(e.icon,a.numVerticalIconVertices,O),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=y.icon.isHidden()}}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var I=e.collisionArrays[n];if(I){var D=new t.Point(0,0);if(I.textBox||I.verticalTextBox){var z=!0;if(u){var R=i.variableOffsets[v];R?(D=Te(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),c&&D._rotate(f?i.transform.angle:-i.transform.angle)):z=!1}I.textBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!z||_,D.x,D.y),I.verticalTextBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!z||w,D.x,D.y)}var F=Boolean(!w&&I.verticalIconBox);I.iconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,F,h?D.x:0,h?D.y:0),I.verticalIconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,!F,h?D.x:0,h?D.y:0)}}},g=0;gt},Ae.prototype.setStale=function(){this.stale=!0};var Se=Math.pow(2,25),Ee=Math.pow(2,24),Le=Math.pow(2,17),Ce=Math.pow(2,16),Pe=Math.pow(2,9),Oe=Math.pow(2,8),Ie=Math.pow(2,1);function De(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*Se+e*Ee+r*Le+e*Ce+r*Pe+e*Oe+r*Ie+e}var ze=0,Re=function(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&void 0!==t.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Re.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Re(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Fe.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Be=512/t.EXTENT/2,Ne=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;nt.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,i)}else{var u=o[t.scaledTo(Number(a)).key];u&&u.findMatches(e.symbolInstances,t,i)}}for(var c=0;c1?"@2x":"",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,".json"),t.ResourceType.SpriteJSON),(function(t,e){l=null,o||(o=t,i=e,c())})),u=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,".png"),t.ResourceType.SpriteImage),(function(t,e){u=null,o||(o=t,a=e,c())}));function c(){if(o)n(o);else if(i&&a){var e=t.browser.getImageData(a),r={};for(var s in i){var l=i[s],u=l.width,c=l.height,f=l.x,h=l.y,p=l.sdf,d=l.pixelRatio,v=l.stretchX,g=l.stretchY,y=l.content,m=new t.RGBAImage({width:u,height:c});t.RGBAImage.copy(e,m,{x:f,y:h},{x:0,y:0},{width:u,height:c}),r[s]={data:m,pixelRatio:d,sdf:p,stretchX:v,stretchY:g,content:y}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),u&&(u.cancel(),u=null)}}}(e,this.map._requestManager,(function(e,n){if(r._spriteRequest=null,e)r.fire(new t.ErrorEvent(e));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast("setImages",r._availableImages),r.fire(new t.Event("data",{dataType:"style"}))}))},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+i.id+'" as specified by style layer "'+e.id+'"')))}}},r.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()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r0)throw new Error("Unimplemented: "+i.map((function(t){return t.command})).join(", ")+".");return n.forEach((function(t){"setTransition"!==t.command&&r[t.command].apply(r,t.args)})),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(e,r),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(e),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,"sources."+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Ot(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source "'+e+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id "'+i+'" already exists on this map')));else{var a;if("custom"===e.type){if(He(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(i,e.source),e=t.clone$1(e),e=t.extend(e,{source:i})),this._validate(t.validateStyle.layer,"layers."+i,e,{arrayIndex:-1},n))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&"custom"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.hasLayer=function(t){return t in this._layers},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.deepEqual(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.validateStyle.filter,"layers."+i.id+".filter",r,null,n)||(i.filter=t.clone$1(r),this._updateLayer(i)))}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style.")))},r.prototype.setPaintProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;"geojson"===o&&i?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,e.id,r)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o="vector"===a?e.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is requred to remove its specific state property."))):i.removeFeatureState(o,e.id,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if("vector"!==i.getSource().type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.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:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return"fill-extrusion"===e._layers[t].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=t;s=0;d--){var v=this._order[d];if(r(v))for(var g=i.length-1;g>=0;g--){var y=i[g].feature;if(n[y.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),nr=_r("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),ir=_r("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}"),ar=_r("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),or=_r("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),sr=_r("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),lr=_r("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),ur=_r("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),cr=_r("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),fr=_r("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform float u_maxzoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*exaggeration+19.2562-u_zoom);gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hr=_r("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),pr=_r("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\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\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\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),dr=_r("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define MAX_LINE_DISTANCE 32767.0\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\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\nvoid main() {\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\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),vr=_r("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\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#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\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#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),gr=_r("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\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\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\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\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\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\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),yr=_r("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),mr=_r("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),xr=_r("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\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\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\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\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\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\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),br=_r("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\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\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\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\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\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\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}");function _r(t,e){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n={};return{fragmentSource:t=t.replace(r,(function(t,e,r,i,a){return n[a]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nvarying "+r+" "+i+" "+a+";\n#else\nuniform "+r+" "+i+" u_"+a+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+a+"\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n"})),vertexSource:e=e.replace(r,(function(t,e,r,i,a){var o="float"===i?"vec2":"vec4",s=a.match(/color/)?"color":o;return n[a]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float u_"+a+"_t;\nattribute "+r+" "+o+" a_"+a+";\nvarying "+r+" "+i+" "+a+";\n#else\nuniform "+r+" "+i+" u_"+a+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+a+" = a_"+a+";\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+a+" = unpack_mix_"+s+"(a_"+a+", u_"+a+"_t);\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float u_"+a+"_t;\nattribute "+r+" "+o+" a_"+a+";\n#else\nuniform "+r+" "+i+" u_"+a+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+r+" "+i+" "+a+" = a_"+a+";\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+r+" "+i+" "+a+" = unpack_mix_"+s+"(a_"+a+", u_"+a+"_t);\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n"}))}}var wr=Object.freeze({__proto__:null,prelude:Xe,background:Je,backgroundPattern:Ke,circle:$e,clippingMask:Qe,heatmap:tr,heatmapTexture:er,collisionBox:rr,collisionCircle:nr,debug:ir,fill:ar,fillOutline:or,fillOutlinePattern:sr,fillPattern:lr,fillExtrusion:ur,fillExtrusionPattern:cr,hillshadePrepare:fr,hillshade:hr,line:pr,lineGradient:dr,linePattern:vr,lineSDF:gr,raster:yr,symbolIcon:mr,symbolSDF:xr,symbolTextAndIcon:br}),Tr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};Tr.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>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}kr.prototype.draw=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v){var g,y=t.gl;if(!this.failedToCreate){for(var m in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[m].set(o[m]);p&&p.setUniforms(t,this.binderUniforms,f,{zoom:h});for(var x=(g={},g[y.LINES]=2,g[y.TRIANGLES]=3,g[y.LINE_STRIP]=1,g)[e],b=0,_=c.get();b<_.length;b+=1){var w=_[b],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new Tr)).bind(t,this,l,p?p.getPaintVertexBuffers():[],u,w.vertexOffset,d,v),y.drawElements(e,w.primitiveLength*x,y.UNSIGNED_SHORT,w.primitiveOffset*x*2)}}};var Mr=function(e,r,n,i){var a=r.style.light,o=a.properties.get("position"),s=[o.x,o.y,o.z],l=t.create$1();"viewport"===a.properties.get("anchor")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var u=a.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get("intensity"),u_lightcolor:[u.r,u.g,u.b],u_vertical_gradient:+n,u_opacity:i}},Sr=function(e,r,n,i,a,o,s){return t.extend(Mr(e,r,n,i),Ar(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},Er=function(t){return{u_matrix:t}},Lr=function(e,r,n,i){return t.extend(Er(e),Ar(n,r,i))},Cr=function(t,e){return{u_matrix:t,u_world:e}},Pr=function(e,r,n,i,a){return t.extend(Lr(e,r,n,i),{u_world:a})},Or=function(e,r,n,i){var a,o,s=e.transform;if("map"===i.paint.get("circle-pitch-alignment")){var l=ge(n,1,s.zoom);a=!0,o=[l,l]}else a=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+("map"===i.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(r.posMatrix,n,i.paint.get("circle-translate"),i.paint.get("circle-translate-anchor")),u_pitch_with_map:+a,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},Ir=function(t,e,r){var n=ge(r,1,e.zoom),i=Math.pow(2,e.zoom-r.tileID.overscaledZ),a=r.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[e.pixelsToGLUnits[0]/(n*i),e.pixelsToGLUnits[1]/(n*i)],u_overscale_factor:a}},Dr=function(t,e,r){return{u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}},zr=function(t,e,r){return void 0===r&&(r=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}},Rr=function(t){return{u_matrix:t}},Fr=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:ge(e,1,r),u_intensity:n}};var Br=function(e,r,n){var i=e.transform;return{u_matrix:Hr(e,r,n),u_ratio:1/ge(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},Nr=function(e,r,n){return t.extend(Br(e,r,n),{u_image:0})},jr=function(e,r,n,i){var a=e.transform,o=Vr(r,a);return{u_matrix:Hr(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/ge(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[o,i.fromScale,i.toScale],u_fade:i.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Ur=function(e,r,n,i,a){var o=e.transform,s=e.lineAtlas,l=Vr(r,o),u="round"===n.layout.get("line-cap"),c=s.getDash(i.from,u),f=s.getDash(i.to,u),h=c.width*a.fromScale,p=f.width*a.toScale;return t.extend(Br(e,r,n),{u_patternscale_a:[l/h,-c.height/2],u_patternscale_b:[l/p,-f.height/2],u_sdfgamma:s.width/(256*Math.min(h,p)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:f.y,u_mix:a.t})};function Vr(t,e){return 1/ge(t,1,e.tileZoom)}function Hr(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}var qr=function(t,e,r,n,i){return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get("raster-brightness-min"),u_brightness_high:i.paint.get("raster-brightness-max"),u_saturation_factor:(o=i.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Gr(i.paint.get("raster-hue-rotate"))};var a,o};function Gr(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]}var Zr,Yr=function(t,e,r,n,i,a,o,s,l,u){var c=i.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:c.cameraToCenterDistance,u_pitch:c.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:c.width/c.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:u,u_texture:0}},Wr=function(e,r,n,i,a,o,s,l,u,c,f){var h=a.transform;return t.extend(Yr(e,r,n,i,a,o,s,l,u,c),{u_gamma_scale:i?Math.cos(h._pitch)*h.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+f})},Xr=function(e,r,n,i,a,o,s,l,u,c){return t.extend(Wr(e,r,n,i,a,o,s,l,!0,u,!0),{u_texsize_icon:c,u_texture_icon:1})},Jr=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},Kr=function(e,r,n,i,a,o){return t.extend(function(t,e,r,n){var i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,u=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/u,f=c*(n.tileID.canonical.x+n.tileID.wrap*u),h=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/ge(n,1,r.transform.tileZoom),u_pixel_coord_upper:[f>>16,h>>16],u_pixel_coord_lower:[65535&f,65535&h]}}(i,o,n,a),{u_matrix:e,u_opacity:r})},$r={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},collisionCircle:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,r.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,r.u_viewport_size)}},debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_overlay:new t.Uniform1i(e,r.u_overlay),u_overlay_scale:new t.Uniform1f(e,r.u_overlay_scale)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_maxzoom:new t.Uniform1f(e,r.u_maxzoom),u_unpack:new t.Uniform4f(e,r.u_unpack)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},symbolTextAndIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texsize_icon:new t.Uniform2f(e,r.u_texsize_icon),u_texture:new t.Uniform1i(e,r.u_texture),u_texture_icon:new t.Uniform1i(e,r.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function Qr(e,r,n,i,a,o,s){for(var l=e.context,u=l.gl,c=e.useProgram("collisionBox"),f=[],h=0,p=0,d=0;d0){var _=t.create(),w=m;t.mul(_,y.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(_,_,y.placementViewportMatrix),f.push({circleArray:b,circleOffset:p,transform:w,invTransform:_}),p=h+=b.length/4}x&&c.draw(l,u.LINES,Mt.disabled,Et.disabled,e.colorModeForRenderPass(),Ct.disabled,Ir(m,e.transform,g),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&f.length){var T=e.useProgram("collisionCircle"),k=new t.StructArrayLayout2f1f2i16;k.resize(4*h),k._trim();for(var A=0,M=0,S=f;M=0&&(v[y.associatedIconIndex]={shiftedAnchor:S,angle:E})}else he(y.numGlyphs,p)}if(f){d.clear();for(var C=e.icon.placedSymbolArray,P=0;P0){var s=t.browser.now(),l=(s-e.timeAdded)/o,u=r?(s-r.timeAdded)/o:-1,c=n.getSource(),f=a.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),h=!r||Math.abs(r.tileID.overscaledZ-f)>Math.abs(e.tileID.overscaledZ-f),p=h&&e.refreshedUponExpiration?1:t.clamp(h?l:1-u,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var hn=new t.Color(1,0,0,1),pn=new t.Color(0,1,0,1),dn=new t.Color(0,0,1,1),vn=new t.Color(1,0,1,1),gn=new t.Color(0,1,1,1);function yn(t){var e=t.transform.padding;mn(t,t.transform.height-(e.top||0),3,hn),mn(t,e.bottom||0,3,pn),xn(t,e.left||0,3,dn),xn(t,t.transform.width-(e.right||0),3,vn);var r=t.transform.centerPoint;!function(t,e,r,n){var i=20,a=2;bn(t,e-a/2,r-i/2,a,i,n),bn(t,e-i/2,r-a/2,i,a,n)}(t,r.x,t.transform.height-r.y,gn)}function mn(t,e,r,n){bn(t,0,e+r/2,t.transform.width,r,n)}function xn(t,e,r,n){bn(t,e-r/2,0,r,t.transform.height,n)}function bn(e,r,n,i,a,o){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*t.browser.devicePixelRatio,n*t.browser.devicePixelRatio,i*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function _n(e,r,n){var i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram("debug"),l=Mt.disabled,u=Et.disabled,c=e.colorModeForRenderPass(),f="$debug";i.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,u,c,Ct.disabled,zr(o,t.Color.red),f,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var h=r.getTileByID(n.key).latestRawTileData,p=h&&h.byteLength||0,d=Math.floor(p/1024),v=r.getTile(n).tileSize,g=512/Math.min(v,512)*(n.overscaledZ/e.transform.zoom)*.5,y=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(y+=" => "+n.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,y+" "+d+"kb"),s.draw(i,a.TRIANGLES,l,u,Lt.alphaBlended,Ct.disabled,zr(o,t.Color.transparent,g),f,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var wn={symbol:function(e,r,n,i,a){if("translucent"===e.renderPass){var o=Et.disabled,s=e.colorModeForRenderPass();n.layout.get("text-variable-anchor")&&function(e,r,n,i,a,o,s){for(var l=r.transform,u="map"===a,c="map"===o,f=0,h=e;f256&&this.clearStencil(),r.setColorMode(Lt.disabled),r.setDepthMode(Mt.disabled);var i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var a=0,o=e;a256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Et({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},Tn.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Et({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},Tn.prototype.stencilConfigForOverlap=function(t){var e,r=this.context.gl,n=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s=0;this.currentLayer--){var w=this.style._layers[i[this.currentLayer]],T=a[w.source],k=c[w.source];this._renderTileClippingMasks(w,k),this.renderLayer(this,T,w,k)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?e.pop():null},Tn.prototype.isPatternMissing=function(t){if(!t)return!1;if(!t.from||!t.to)return!0;var e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r},Tn.prototype.useProgram=function(t,e){this.cache=this.cache||{};var r=""+t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new kr(this.context,wr[t],e,$r[t],this._showOverdrawInspector)),this.cache[r]},Tn.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},Tn.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)},Tn.prototype.initDebugOverlayCanvas=function(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=t.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var e=this.context.gl;this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,e.RGBA)}},Tn.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var kn=function(t,e){this.points=t,this.planes=e};kn.fromInvProjectionMatrix=function(e,r,n){var i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return t.transformMat4([],r,e)})).map((function(e){return t.scale$1([],e,1/e[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var r=t.sub([],a[e[0]],a[e[1]]),n=t.sub([],a[e[2]],a[e[1]]),i=t.normalize([],t.cross([],r,n)),o=-t.dot(i,a[e[1]]);return i.concat(o)}));return new kn(a,o)};var An=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};An.prototype.quadrant=function(e){for(var r=[e%2==0,e<2],n=t.clone$2(this.min),i=t.clone$2(this.max),a=0;a=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var u=Number.MAX_VALUE,c=-Number.MAX_VALUE,f=0;fthis.max[l]-this.min[l])return 0}return 1};var Mn=function(t,e,r,n){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=r,this.right=n};Mn.prototype.interpolate=function(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.number(e.right,r.right,n)),this},Mn.prototype.getCenter=function(e,r){var n=t.clamp((this.left+e-this.right)/2,0,e),i=t.clamp((this.top+r-this.bottom)/2,0,r);return new t.Point(n,i)},Mn.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},Mn.prototype.clone=function(){return new Mn(this.top,this.bottom,this.left,this.right)},Mn.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var Sn=function(e,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Mn,this._posMatrixCache={},this._alignedPosMatrixCache={}},En={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};Sn.prototype.clone=function(){var t=new Sn(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,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._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},En.minZoom.get=function(){return this._minZoom},En.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},En.maxZoom.get=function(){return this._maxZoom},En.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},En.minPitch.get=function(){return this._minPitch},En.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},En.maxPitch.get=function(){return this._maxPitch},En.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},En.renderWorldCopies.get=function(){return this._renderWorldCopies},En.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},En.worldSize.get=function(){return this.tileSize*this.scale},En.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},En.size.get=function(){return new t.Point(this.width,this.height)},En.bearing.get=function(){return-this.angle/Math.PI*180},En.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},En.pitch.get=function(){return this._pitch/Math.PI*180},En.pitch.set=function(e){var r=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},En.fov.get=function(){return this._fov/Math.PI*180},En.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())},En.zoom.get=function(){return this._zoom},En.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())},En.center.get=function(){return this._center},En.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},En.padding.get=function(){return this._edgeInsets.toJSON()},En.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},En.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},Sn.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},Sn.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},Sn.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},Sn.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),i=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),u=s-1;u<=l+1;u++)0!==u&&r.push(new t.UnwrappedTileID(u,e));return r},Sn.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&re.maxzoom&&(r=e.maxzoom);var i=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=kn.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var u=function(t){return{aabb:new An([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},c=[],f=[],h=r,p=e.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)c.push(u(-d)),c.push(u(d));for(c.push(u(0));c.length>0;){var v=c.pop(),g=v.x,y=v.y,m=v.fullyVisible;if(!m){var x=v.aabb.intersects(s);if(0===x)continue;m=2===x}var b=v.aabb.distanceX(o),_=v.aabb.distanceY(o),w=Math.max(Math.abs(b),Math.abs(_)),T=3+(1<T&&v.zoom>=l)f.push({tileID:new t.OverscaledTileID(v.zoom===h?p:v.zoom,v.wrap,v.zoom,g,y),distanceSq:t.sqrLen([o[0]-.5-g,o[1]-.5-y])});else for(var k=0;k<4;k++){var A=(g<<1)+k%2,M=(y<<1)+(k>>1);c.push({aabb:v.aabb.quadrant(k),zoom:v.zoom+1,x:A,y:M,wrap:v.wrap,fullyVisible:m})}}return f.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},Sn.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},En.unmodified.get=function(){return this._unmodified},Sn.prototype.zoomScale=function(t){return Math.pow(2,t)},Sn.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Sn.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},Sn.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},En.point.get=function(){return this.project(this.center)},Sn.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},Sn.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Sn.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Sn.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},Sn.prototype.coordinateLocation=function(t){return t.toLngLat()},Sn.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[0]/i,s=n[0]/a,l=r[1]/i,u=n[1]/a,c=r[2]/i,f=n[2]/a,h=c===f?0:(0-c)/(f-c);return new t.MercatorCoordinate(t.number(o,s,h)/this.worldSize,t.number(l,u,h)/this.worldSize)},Sn.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},Sn.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},Sn.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},Sn.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},Sn.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,a.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},Sn.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},Sn.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,u=this.size,c=this._unmodified;if(this.latRange){var f=this.latRange;a=t.mercatorYfromLat(f[1])*this.worldSize,e=(o=t.mercatorYfromLat(f[0])*this.worldSize)-ao&&(i=o-g)}if(this.lngRange){var y=p.x,m=u.x/2;y-ml&&(n=l-m)}void 0===n&&void 0===i||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=c,this._constraining=!1}},Sn.prototype._calcMatrices=function(){if(this.height){var e=this._fov/2,r=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(e)*this.height;var n=Math.PI/2+this._pitch,i=this._fov*(.5+r.y/this.height),a=Math.sin(i)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-n-i,.01,Math.PI-.01)),o=this.point,s=o.x,l=o.y,u=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),c=this.height/50,f=new Float64Array(16);t.perspective(f,this._fov,this.width/this.height,c,u),f[8]=2*-r.x/this.width,f[9]=2*r.y/this.height,t.scale(f,f,[1,-1,1]),t.translate(f,f,[0,0,-this.cameraToCenterDistance]),t.rotateX(f,f,this._pitch),t.rotateZ(f,f,this.angle),t.translate(f,f,[-s,-l,0]),this.mercatorMatrix=t.scale([],f,[this.worldSize,this.worldSize,this.worldSize]),t.scale(f,f,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=f,this.invProjMatrix=t.invert([],this.projMatrix);var h=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),v=Math.sin(this.angle),g=s-Math.round(s)+d*h+v*p,y=l-Math.round(l)+d*p+v*h,m=new Float64Array(f);if(t.translate(m,m,[g>.5?g-1:g,y>.5?y-1:y,0]),this.alignedProjMatrix=m,f=t.create(),t.scale(f,f,[this.width/2,-this.height/2,1]),t.translate(f,f,[1,-1,0]),this.labelPlaneMatrix=f,f=t.create(),t.scale(f,f,[1,-1,1]),t.translate(f,f,[-1,-1,0]),t.scale(f,f,[2/this.width,2/this.height,1]),this.glCoordMatrix=f,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(f=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=f,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Sn.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},Sn.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},Sn.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=e;s=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},Ln.prototype._updateHashUnthrottled=function(){var e=this.getHashString();try{t.window.history.replaceState(t.window.history.state,"",e)}catch(t){}};var Cn={linearity:.3,easing:t.bezier(0,0,.3,1)},Pn=t.extend({deceleration:2500,maxSpeed:1400},Cn),On=t.extend({deceleration:20,maxSpeed:1400},Cn),In=t.extend({deceleration:1e3,maxSpeed:360},Cn),Dn=t.extend({deceleration:1e3,maxSpeed:90},Cn),zn=function(t){this._map=t,this.clear()};function Rn(t,e){(!t.duration||t.duration0&&r-e[0].time>160;)e.shift()},zn.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n=this._clickTolerance||this._map.fire(new Bn(t.type,this._map,t))},Un.prototype.dblclick=function(t){return this._firePreventable(new Bn(t.type,this._map,t))},Un.prototype.mouseover=function(t){this._map.fire(new Bn(t.type,this._map,t))},Un.prototype.mouseout=function(t){this._map.fire(new Bn(t.type,this._map,t))},Un.prototype.touchstart=function(t){return this._firePreventable(new Nn(t.type,this._map,t))},Un.prototype.touchmove=function(t){this._map.fire(new Nn(t.type,this._map,t))},Un.prototype.touchend=function(t){this._map.fire(new Nn(t.type,this._map,t))},Un.prototype.touchcancel=function(t){this._map.fire(new Nn(t.type,this._map,t))},Un.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Un.prototype.isEnabled=function(){return!0},Un.prototype.isActive=function(){return!1},Un.prototype.enable=function(){},Un.prototype.disable=function(){};var Vn=function(t){this._map=t};Vn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Vn.prototype.mousemove=function(t){this._map.fire(new Bn(t.type,this._map,t))},Vn.prototype.mousedown=function(){this._delayContextMenu=!0},Vn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Bn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Vn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new Bn(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()},Vn.prototype.isEnabled=function(){return!0},Vn.prototype.isActive=function(){return!1},Vn.prototype.enable=function(){},Vn.prototype.disable=function(){};var Hn=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function qn(t,e){for(var r={},n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){for(var r=new t.Point(0,0),n=0,i=e;n30)&&(this.aborted=!0)}}},Gn.prototype.touchend=function(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var Zn=function(t){this.singleTap=new Gn(t),this.numTaps=t.numTaps,this.reset()};Zn.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},Zn.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},Zn.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},Zn.prototype.touchend=function(t,e,r){var n=this.singleTap.touchend(t,e,r);if(n){var i=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if(i&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Yn=function(){this._zoomIn=new Zn({numTouches:1,numTaps:2}),this._zoomOut=new Zn({numTouches:2,numTaps:1}),this.reset()};Yn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Yn.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Yn.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Yn.prototype.touchend=function(t,e,r){var n=this,i=this._zoomIn.touchend(t,e,r),a=this._zoomOut.touchend(t,e,r);return i?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(i)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},Yn.prototype.touchcancel=function(){this.reset()},Yn.prototype.enable=function(){this._enabled=!0},Yn.prototype.disable=function(){this._enabled=!1,this.reset()},Yn.prototype.isEnabled=function(){return this._enabled},Yn.prototype.isActive=function(){return this._active};var Wn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};Wn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},Wn.prototype._correctButton=function(t,e){return!1},Wn.prototype._move=function(t,e){return{}},Wn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},Wn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r&&(t.preventDefault(),this._moved||!(e.dist(r)0&&(this._active=!0);var i=qn(n,r),a=new t.Point(0,0),o=new t.Point(0,0),s=0;for(var l in i){var u=i[l],c=this._touches[l];c&&(a._add(u),o._add(u.sub(c)),s++,i[l]=u)}if(this._touches=i,!(sMath.abs(t.x)}var oi=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.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},e.prototype._start=function(t){this._lastPoints=t,ai(t[0].sub(t[1]))&&(this._valid=!1)},e.prototype._move=function(t,e,r){var n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}},e.prototype.gestureBeginsVertically=function(t,e,r){if(void 0!==this._valid)return this._valid;var n=t.mag()>=2,i=e.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return ai(t)&&ai(e)&&a}},e}(Qn),si={panStep:100,bearingStep:15,pitchStep:10},li=function(){var t=si;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep};function ui(t){return t*(2-t)}li.prototype.reset=function(){this._active=!1},li.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:t.shiftKey?n=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?n=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(t.preventDefault(),o=1);break;default:return}return{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:ui,zoom:r?Math.round(l)+r*(t.shiftKey?2:1):l,bearing:s.getBearing()+n*e._bearingStep,pitch:s.getPitch()+i*e._pitchStep,offset:[-a*e._panStep,-o*e._panStep],center:s.getCenter()},{originalEvent:t})}}}},li.prototype.enable=function(){this._enabled=!0},li.prototype.disable=function(){this._enabled=!1,this.reset()},li.prototype.isEnabled=function(){return this._enabled},li.prototype.isActive=function(){return this._active};var ci=4.000244140625,fi=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};fi.prototype.setZoomRate=function(t){this._defaultZoomRate=t},fi.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},fi.prototype.isEnabled=function(){return!!this._enabled},fi.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},fi.prototype.isZooming=function(){return!!this._zooming},fi.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},fi.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},fi.prototype.wheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%ci==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}},fi.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)},fi.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},fi.prototype.renderFrame=function(){return this._onScrollFrame()},fi.prototype._onScrollFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>ci?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s="number"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,u=this._easing,c=!1;if("wheel"===this._type&&l&&u){var f=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),h=u(f);o=t.number(l,s,h),f<1?this._frameId||(this._frameId=!0):c=!0}else o=s,c=!0;return this._active=!0,c&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!c,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},fi.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(t.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r},fi.prototype.reset=function(){this._active=!1};var hi=function(t,e){this._clickZoom=t,this._tapZoom=e};hi.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},hi.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},hi.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},hi.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var pi=function(){this.reset()};pi.prototype.reset=function(){this._active=!1},pi.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(t.shiftKey?-1:1),around:r.unproject(e)},{originalEvent:t})}}},pi.prototype.enable=function(){this._enabled=!0},pi.prototype.disable=function(){this._enabled=!1,this.reset()},pi.prototype.isEnabled=function(){return this._enabled},pi.prototype.isActive=function(){return this._active};var di=function(){this._tap=new Zn({numTouches:1,numTaps:1}),this.reset()};di.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},di.prototype.touchstart=function(t,e,r){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=e[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(t,e,r))},di.prototype.touchmove=function(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)},di.prototype.touchend=function(t,e,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(t,e,r)&&(this._tapTime=t.timeStamp)},di.prototype.touchcancel=function(){this.reset()},di.prototype.enable=function(){this._enabled=!0},di.prototype.disable=function(){this._enabled=!1,this.reset()},di.prototype.isEnabled=function(){return this._enabled},di.prototype.isActive=function(){return this._active};var vi=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};vi.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},vi.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},vi.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},vi.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var gi=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};gi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},gi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},gi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},gi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var yi=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};yi.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},yi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},yi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},yi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},yi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},yi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var mi=function(t){return t.zoom||t.drag||t.pitch||t.rotate},xi=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}(t.Event);function bi(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var _i=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new zn(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),t.bindAll(["handleEvent","handleWindowEvent"],this);var i=this._el;this._listeners=[[i,"touchstart",{passive:!1}],[i,"touchmove",{passive:!1}],[i,"touchend",void 0],[i,"touchcancel",void 0],[i,"mousedown",void 0],[i,"mousemove",void 0],[i,"mouseup",void 0],[t.window.document,"mousemove",{capture:!0}],[t.window.document,"mouseup",void 0],[i,"mouseover",void 0],[i,"mouseout",void 0],[i,"dblclick",void 0],[i,"click",void 0],[i,"keydown",{capture:!1}],[i,"keyup",void 0],[i,"wheel",{passive:!1}],[i,"contextmenu",void 0],[t.window,"blur",void 0]];for(var a=0,o=this._listeners;aa?Math.min(2,_):Math.max(.5,_),w=Math.pow(g,1-e),T=i.unproject(x.add(b.mult(e*w)).mult(v));i.setLocationAtPoint(i.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(t){n._afterEase(r,t)}),e),this},r.prototype._prepareEase=function(e,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.Event("pitchstart",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))},r.prototype._afterEase=function(e,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event("zoomend",e)),i&&this.fire(new t.Event("rotateend",e)),a&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}},r.prototype.flyTo=function(e,r){var n=this;if(!e.essential&&t.browser.prefersReducedMotion){var i=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(i,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),u=this.getPadding(),c="zoom"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):o,f="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:l,p="padding"in e?e.padding:a.padding,d=a.zoomScale(c-o),v=t.Point.convert(e.offset),g=a.centerPoint.add(v),y=a.pointLocation(g),m=t.LngLat.convert(e.center||y);this._normalizeCenter(m);var x=a.project(y),b=a.project(m).sub(x),_=e.curve,w=Math.max(a.width,a.height),T=w/d,k=b.mag();if("minZoom"in e){var A=t.clamp(Math.min(e.minZoom,o,c),a.minZoom,a.maxZoom),M=w/a.zoomScale(A-o);_=Math.sqrt(M/k*2)}var S=_*_;function E(t){var e=(T*T-w*w+(t?-1:1)*S*S*k*k)/(2*(t?T:w)*S*k);return Math.log(Math.sqrt(e*e+1)-e)}function L(t){return(Math.exp(t)-Math.exp(-t))/2}function C(t){return(Math.exp(t)+Math.exp(-t))/2}var P=E(0),O=function(t){return C(P)/C(P+_*t)},I=function(t){return w*((C(P)*(L(e=P+_*t)/C(e))-L(P))/S)/k;var e},D=(E(1)-P)/_;if(Math.abs(k)<1e-6||!isFinite(D)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);var z=Te.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==f,this._pitching=h!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(e){var i=e*D,d=1/O(i);a.zoom=1===e?c:o+a.scaleZoom(d),n._rotating&&(a.bearing=t.number(s,f,e)),n._pitching&&(a.pitch=t.number(l,h,e)),n._padding&&(a.interpolatePadding(u,p,e),g=a.centerPoint.add(v));var y=1===e?m:a.unproject(x.add(b.mult(I(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?y.wrap():y,g),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,e)}if(!t){var n=this.handlers;n&&n.stop()}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}},r}(t.Evented),Ti=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};Ti.prototype.getDefaultPosition=function(){return"bottom-right"},Ti.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._innerContainer=r.create("div","mapboxgl-ctrl-attrib-inner",this._container),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),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},Ti.prototype.onRemove=function(){r.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0},Ti.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce((function(t,e,n){return e.value&&(t+=e.key+"="+e.value+(n=0)return!1;return!0}))).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},Ti.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")};var ki=function(){t.bindAll(["_updateLogo"],this),t.bindAll(["_updateCompact"],this)};ki.prototype.onAdd=function(t){this._map=t,this._container=r.create("div","mapboxgl-ctrl");var e=r.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://www.mapbox.com/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},ki.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},ki.prototype.getDefaultPosition=function(){return"bottom-left"},ki.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},ki.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}},ki.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add("mapboxgl-compact"):e.classList.remove("mapboxgl-compact")}};var Ai=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Ai.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},Ai.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;re.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>Ci)throw new Error("maxPitch must be less than or equal to 60");var i=new Sn(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new Ai,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},Mi,e.locale),this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),"string"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else{if(!(e.container instanceof Ei))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(function(){return r._update(!1)})),this.on("moveend",(function(){return r._update(!1)})),this.on("zoom",(function(){return r._update(!0)})),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1)),this.handlers=new _i(this,e);var a="string"==typeof e.hash&&e.hash||void 0;this._hash=e.hash&&new Ln(a).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new Ti({customAttribution:e.customAttribution})),this.addControl(new ki,e.logoPosition),this.on("style.load",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on("data",(function(e){r._update("style"===e.dataType),r.fire(new t.Event(e.dataType+"data",e))})),this.on("dataloading",(function(e){r.fire(new t.Event(e.dataType+"dataloading",e))}))}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(e,r){if(void 0===r&&e.getDefaultPosition&&(r=e.getDefaultPosition()),void 0===r&&(r="top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var n=e.onAdd(this);this._controls.push(e);var i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},i.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),a&&this.fire(new t.Event("moveend",e)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},i.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=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")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()Ci)throw new Error("maxPitch must be less than or equal to 60");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error("maxPitch must be greater than the current minPitch")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},i.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},i.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(t,e,r){var n,i=this;if("mouseenter"===t||"mouseover"===t){var a=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?a||(a=!0,r.call(i,new Bn(t,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(i,new Bn(t,i,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(i,new Bn(t,i,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=i.getLayer(e)?i.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(i,t),delete t.features)},n)}},i.prototype.on=function(t,e,r){if(void 0===r)return n.prototype.on.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(t,e,r){if(void 0===r)return n.prototype.once.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(t,e,r){var i=this;if(void 0===r)return n.prototype.off.call(this,t,e);return this._delegatedListeners&&this._delegatedListeners[t]&&function(n){for(var a=n[t],o=0;o180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Ri.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ri.prototype.move=function(t,e){var r=this.map,n=this.mouseRotate.mousemoveWindow(t,e);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(t,e);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Ri.prototype.off=function(){var t=this.element;r.removeEventListener(t,"mousedown",this.mousedown),r.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),r.removeEventListener(t,"touchmove",this.touchmove),r.removeEventListener(t,"touchend",this.touchend),r.removeEventListener(t,"touchcancel",this.reset),this.offTemp()},Ri.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,"mousemove",this.mousemove),r.removeEventListener(t.window,"mouseup",this.mouseup)},Ri.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),r.mousePos(this.element,e)),r.addEventListener(t.window,"mousemove",this.mousemove),r.addEventListener(t.window,"mouseup",this.mouseup)},Ri.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ri.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ri.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos))},Ri.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos))},Ri.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)e.getEast()||r.latitudee.getNorth())},n.prototype._setErrorState=function(){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")}},n.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,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(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(e){if(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),r=this._map.unproject([1,t]),n=e.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+"px",this._circleElement.style.height=i+"px"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.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"),this._geolocateButton.disabled=!0;var r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&qi)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;if(this._container.addEventListener("contextmenu",(function(t){return t.preventDefault()})),this._geolocateButton=r.create("button","mapboxgl-ctrl-geolocate",this._container),r.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var i=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute("aria-label",i)}else{var a=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=a,this._geolocateButton.setAttribute("aria-label",a)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=r.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Ui(this._dotElement),this._circleElement=r.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Ui({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(function(e){var r=e.originalEvent&&"resize"===e.originalEvent.type;e.geolocateSource||"ACTIVE_LOCK"!==n._watchState||r||(n._watchState="BACKGROUND",n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),n.fire(new t.Event("trackuserlocationend")))}))},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Hi--,qi=!1,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(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("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")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++Hi>1?(e={maximumAge:6e5,timeout:0},qi=!0):(e=this.options.positionOptions,qi=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.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)},n}(t.Evented),Zi={maxWidth:100,unit:"metric"},Yi=function(e){this.options=t.extend({},Zi,e),t.bindAll(["_onMove","setUnit"],this)};function Wi(t,e,r){var n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){var l=3.2808*s;l>5280?Xi(e,n,l/5280,t._getUIString("ScaleControl.Miles")):Xi(e,n,l,t._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?Xi(e,n,s/1852,t._getUIString("ScaleControl.NauticalMiles")):s>=1e3?Xi(e,n,s/1e3,t._getUIString("ScaleControl.Kilometers")):Xi(e,n,s,t._getUIString("ScaleControl.Meters"))}function Xi(t,e,r,n){var i,a,o,s=(i=r,(a=Math.pow(10,(""+Math.floor(i)).length-1))*((o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o))),l=s/r;t.style.width=e*l+"px",t.innerHTML=s+" "+n}Yi.prototype.getDefaultPosition=function(){return"bottom-left"},Yi.prototype._onMove=function(){Wi(this._map,this._container,this.options)},Yi.prototype.onAdd=function(t){return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},Yi.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},Yi.prototype.setUnit=function(t){this.options.unit=t,Wi(this._map,this._container,this.options)};var Ji=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in t.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in t.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in t.window.document&&(this._fullscreenchange="MSFullscreenChange")};Ji.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},Ji.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Ji.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},Ji.prototype._setupUI=function(){var e=this._fullscreenButton=r.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);r.create("span","mapboxgl-ctrl-icon",e).setAttribute("aria-hidden",!0),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Ji.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t},Ji.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},Ji.prototype._isFullscreen=function(){return this._fullscreen},Ji.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},Ji.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var Ki={closeButton:!0,closeOnClick:!0,className:"",maxWidth:"240px"},$i=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(Ki),r),t.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new t.Event("open")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new t.Event("close")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),i=t.window.document.createElement("body");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},n.prototype.addClassName=function(t){this._container&&this._container.classList.add(t)},n.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t)},n.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createContent=function(){this._content&&r.remove(this._content),this._content=r.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=r.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))},n.prototype._onMouseUp=function(t){this._update(t.point)},n.prototype._onMouseMove=function(t){this._update(t.point)},n.prototype._onDrag=function(t){this._update(t.point)},n.prototype._update=function(t){var e=this,n=this._lngLat||this._trackPointer;if(this._map&&n&&this._content&&(this._container||(this._container=r.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=r.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((function(t){return e._container.classList.add(t)})),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Fi(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||t)){var i=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat),a=this.options.anchor,o=Qi(this.options.offset);if(!a){var s,l=this._container.offsetWidth,u=this._container.offsetHeight;s=i.y+o.bottom.ythis._map.transform.height-u?["bottom"]:[],i.xthis._map.transform.width-l/2&&s.push("right"),a=0===s.length?"bottom":s.join("-")}var c=i.add(o[a]).round();r.setTransform(this._container,Bi[a]+" translate("+c.x+"px,"+c.y+"px)"),Ni(this._container,a,"popup")}},n.prototype._onClose=function(){this.remove()},n}(t.Evented);function Qi(e){if(e){if("number"==typeof e){var r=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{center:new t.Point(0,0),top:new t.Point(0,e),"top-left":new t.Point(r,r),"top-right":new t.Point(-r,r),bottom:new t.Point(0,-e),"bottom-left":new t.Point(r,-r),"bottom-right":new t.Point(-r,-r),left:new t.Point(e,0),right:new t.Point(-e,0)}}if(e instanceof t.Point||Array.isArray(e)){var n=t.Point.convert(e);return{center:n,top:n,"top-left":n,"top-right":n,bottom:n,"bottom-left":n,"bottom-right":n,left:n,right:n}}return{center:t.Point.convert(e.center||[0,0]),top:t.Point.convert(e.top||[0,0]),"top-left":t.Point.convert(e["top-left"]||[0,0]),"top-right":t.Point.convert(e["top-right"]||[0,0]),bottom:t.Point.convert(e.bottom||[0,0]),"bottom-left":t.Point.convert(e["bottom-left"]||[0,0]),"bottom-right":t.Point.convert(e["bottom-right"]||[0,0]),left:t.Point.convert(e.left||[0,0]),right:t.Point.convert(e.right||[0,0])}}return Qi(new t.Point(0,0))}var ta={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Oi,NavigationControl:zi,GeolocateControl:Gi,AttributionControl:Ti,ScaleControl:Yi,FullscreenControl:Ji,Popup:$i,Marker:Ui,Style:Ye,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){jt().acquire(Rt)},clearPrewarmedResources:function(){var t=Bt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Rt),Bt=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Ft.workerCount},set workerCount(t){Ft.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:""};return ta})),r}()},27084:function(t){"use strict";t.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},16825:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",v),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",v),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),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 i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(74311)},48956:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},74311:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.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<=0)return 1<0&&a(s,r))}catch(t){c.call(new h(r),t)}}}function c(t){var e=this;e.triggered||(e.triggered=!0,e.def&&(e=e.def),e.msg=t,e.state=2,e.chain.length>0&&a(s,e))}function f(t,e,r,n){for(var i=0;i1&&(i*=y=Math.sqrt(y),s*=y);var m=i*i,x=s*s,b=(u==c?-1:1)*Math.sqrt(Math.abs((m*x-m*g*g-x*v*v)/(m*g*g+x*v*v)));b==1/0&&(b=1);var _=b*i*g/s+(t+f)/2,w=b*-s*v/i+(n+h)/2,T=Math.asin(((n-w)/s).toFixed(9)),k=Math.asin(((h-w)/s).toFixed(9));(T=t<_?e-T:T)<0&&(T=2*e+T),(k=f<_?e-k:k)<0&&(k=2*e+k),c&&T>k&&(T-=2*e),!c&&k>T&&(k-=2*e)}if(Math.abs(k-T)>r){var A=k,M=f,S=h;k=T+r*(c&&k>T?1:-1);var E=a(f=_+i*Math.cos(k),h=w+s*Math.sin(k),i,s,l,0,c,M,S,[k,A,_,w])}var L=Math.tan((k-T)/4),C=4/3*i*L,P=4/3*s*L,O=[2*t-(t+C*Math.sin(T)),2*n-(n-P*Math.cos(T)),f+C*Math.sin(k),h-P*Math.cos(k),f,h];if(p)return O;E&&(O=O.concat(E));for(var I=0;I7&&(r.push(y.splice(0,7)),y.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-o,b+=b-l),y=["C",x,b,y[1],y[2],y[3],y[4]];break;case"T":"Q"==e||"T"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),y=i(p,d,f,h,y[1],y[2]);break;case"Q":f=y[1],h=y[2],y=i(p,d,y[1],y[2],y[3],y[4]);break;case"L":y=n(p,d,y[1],y[2]);break;case"H":y=n(p,d,y[1],d);break;case"V":y=n(p,d,p,y[1]);break;case"Z":y=n(p,d,u,c)}e=m,p=y[y.length-2],d=y[y.length-1],y.length>4?(o=y[y.length-4],l=y[y.length-3]):(o=p,l=d),r.push(y)}return r}},56131:function(t){"use strict";var e=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function i(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,a){for(var o,s,l=i(t),u=1;u0&&!i.call(t,0))for(var v=0;v0)for(var g=0;g=0&&"[object Function]"===e.call(t.callee)),n}},88641:function(t){"use strict";function e(t,e){if("string"!=typeof t)return[t];var r=[t];"string"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:["{}","[]","()"],i=e.escape||"___",a=!!e.flat;n.forEach((function(t){var e=new RegExp(["\\",t[0],"[^\\",t[0],"\\",t[1],"]*\\",t[1]].join("")),n=[];function a(e,a,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),i+s+i}r.forEach((function(t,n){for(var i,o=0;t!=i;)if(i=t,t=t.replace(e,a),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp("(\\"+i+r+"\\"+i+")","g"),t[0]+"$1"+t[1])})),e}))}));var o=new RegExp("\\"+i+"([0-9]+)\\"+i);return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error("Circular references in parenthesis");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function r(t,e){if(e&&e.flat){var r,n=e&&e.escape||"___",i=t[0];if(!i)return"";for(var a=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;i!=r;){if(o++>1e4)throw Error("Circular references in "+t);r=i,i=i.replace(a,s)}return i}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,"")),e+r}),"");function s(e,r){if(null==t[r])throw Error("Reference "+r+"is undefined");return t[r]}}function n(t,n){return Array.isArray(t)?r(t,n):e(t,n)}n.parse=e,n.stringify=r,t.exports=n},18863:function(t,e,r){"use strict";var n=r(71299);t.exports=function(t){var e;return arguments.length>1&&(t=arguments),"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]),t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}: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&&(e={x:(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"})).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),e}},95616:function(t){t.exports=function(t){var i=[];return t.replace(r,(function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(n);return e?e.map(Number):[]}(a),"m"==o&&a.length>2&&(i.push([r].concat(a.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(a.length==e[o])return a.unshift(r),i.push(a);if(a.lengtha!=p>a&&i<(h-c)*(a-f)/(p-f)+c&&(o=!o)}return o}},52142:function(t,e,r){var n,i=r(69444),a=r(29023),o=r(87263),s=r(11328),l=r(55968),u=r(10670),c=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?c=i():!1===t&&(c=!1),!1!==c&&c.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,c);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,c).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,c),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,c),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,c),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,c),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,c),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,f,c),inverted:t.inverted}},polygonFromGeoJSON:function(t){return u.toPolygon(n,t)},polygonToGeoJSON:function(t){return u.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},"object"==typeof window&&(window.PolyBool=n),t.exports=n},69444:function(t){t.exports=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")}}}},29023:function(t){t.exports=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)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-i>t&&(a-u)*(i-c)/(o-c)+u-n>t&&(s=!s),a=u,o=c}return s}};return e}},10670:function(t){var e={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;i0}))}function c(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,u=a.start,c=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,u,c);if(!1===f){if(!e.pointsCollinear(o,s,u))return!1;if(e.pointsSame(o,c)||e.pointsSame(s,u))return!1;var h=e.pointsSame(o,u),p=e.pointsSame(s,c);if(h&&p)return n;var d=!h&&e.pointBetween(o,u,c),v=!p&&e.pointBetween(s,u,c);if(h)return v?l(n,s):l(t,c),n;d&&(p||(v?l(n,s):l(t,c)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,u):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,c)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=u(h),d=p.before?p.before.ev:null,v=p.after?p.after.ev:null;function g(){if(d){var t=c(h,d);if(t)return t}return!!v&&c(h,v)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!v&&v.seg);var y,m,x=g();if(x&&(t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(x.seg),h.other.remove(),h.remove()),a.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=v?v.seg.myFill.above:i,h.seg.myFill.above=m?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(y=v?h.primary===v.primary?v.seg.otherFill.above:v.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:y,below:y}),r&&r.status(h.seg,!!d&&d.seg,!!v&&v.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(b.prev)&&s.exists(b.next)&&c(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,t)}},n.prototype.read_uint16=function(t){var r=this.input;if(t+2>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?256*r[t]+r[t+1]:r[t]+256*r[t+1]},n.prototype.read_uint32=function(t){var r=this.input;if(t+4>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?16777216*r[t]+65536*r[t+1]+256*r[t+2]+r[t+3]:r[t]+256*r[t+1]+65536*r[t+2]+16777216*r[t+3]},n.prototype.is_subifd_link=function(t,e){return 0===t&&34665===e||0===t&&34853===e||34665===t&&40965===e},n.prototype.exif_format_length=function(t){switch(t){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},n.prototype.exif_format_read=function(t,e){var r;switch(t){case 1:case 2:return this.input[e];case 6:return(r=this.input[e])|33554430*(128&r);case 3:return this.read_uint16(e);case 8:return(r=this.read_uint16(e))|131070*(32768&r);case 4:return this.read_uint32(e);case 9:return 0|this.read_uint32(e);default:return null}},n.prototype.scan_ifd=function(t,n,i){var a=this.read_uint16(n);n+=2;for(var o=0;othis.input.length)throw e("unexpected EOF","EBADDATA");for(var d=[],v=h,g=0;g0&&(this.ifds_to_read.push({id:s,offset:d[0]}),p=!0),!1===i({is_big_endian:this.big_endian,ifd:t,tag:s,format:l,count:u,entry_offset:n+this.start,data_length:f,data_offset:h+this.start,value:d,is_subifd_link:p}))return void(this.aborted=!0);n+=12}0===t&&this.ifds_to_read.push({id:1,offset:this.read_uint32(n)})},t.exports.ExifParser=n,t.exports.get_orientation=function(t){var e=0;try{return new n(t,0,t.length).each((function(t){if(0===t.ifd&&274===t.tag&&Array.isArray(t.value))return e=t.value[0],!1})),e}catch(t){return-1}}},76767:function(t,e,r){"use strict";var n=r(14847).n8,i=r(14847).Ag;function a(t,e){if(t.length<4+e)return null;var r=i(t,e);return t.length>4&15,i=15&t[4],a=t[5]>>4&15,o=n(t,6),l=8,u=0;ue.width||t.width===e.width&&t.height>e.height?t:e})),i=r.reduce((function(t,e){return t.height>e.height||t.height===e.height&&t.width>e.width?t:e})),n.width>i.height||n.width===i.height&&n.height>i.width?n:i),s=1;e.transforms.forEach((function(t){var e={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if("imir"===t.type&&(s=0===t.value?r[s]:e[s=e[s=r[s]]]),"irot"===t.type)for(var n=0;n1&&(h.variants=f.variants),f.orientation&&(h.orientation=f.orientation),f.exif_location&&f.exif_location.offset+f.exif_location.length<=t.length){var p=a(t,f.exif_location.offset),d=t.slice(f.exif_location.offset+p+4,f.exif_location.offset+f.exif_location.length),v=s.get_orientation(d);v>0&&(h.orientation=v)}return h}}}}}}},2504:function(t,e,r){"use strict";var n=r(14847).eG,i=r(14847).OF,a=r(14847).mP,o=n("BM");t.exports=function(t){if(!(t.length<26)&&i(t,0,o))return{width:a(t,18),height:a(t,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}},47342:function(t,e,r){"use strict";var n=r(14847).eG,i=r(14847).OF,a=r(14847).mP,o=n("GIF87a"),s=n("GIF89a");t.exports=function(t){if(!(t.length<10)&&(i(t,0,o)||i(t,0,s)))return{width:a(t,6),height:a(t,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}},31355:function(t,e,r){"use strict";var n=r(14847).mP;t.exports=function(t){var e=n(t,0),r=n(t,2),i=n(t,4);if(0===e&&1===r&&i){for(var a=[],o={width:0,height:0},s=0;so.width||u>o.height)&&(o=c)}return{width:o.width,height:o.height,variants:a,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}},54261:function(t,e,r){"use strict";var n=r(14847).n8,i=r(14847).eG,a=r(14847).OF,o=r(71371),s=i("Exif\0\0");t.exports=function(t){if(!(t.length<2)&&255===t[0]&&216===t[1]&&255===t[2])for(var e=2;;){for(;;){if(t.length-e<2)return;if(255===t[e++])break}for(var r,i,l=t[e++];255===l;)l=t[e++];if(208<=l&&l<=217||1===l)r=0;else{if(!(192<=l&&l<=254))return;if(t.length-e<2)return;r=n(t,e)-2,e+=2}if(217===l||218===l)return;if(225===l&&r>=10&&a(t,e,s)&&(i=o.get_orientation(t.slice(e+6,e+r))),r>=5&&192<=l&&l<=207&&196!==l&&200!==l&&204!==l){if(t.length-e0&&(u.orientation=i),u}e+=r}}},6303:function(t,e,r){"use strict";var n=r(14847).eG,i=r(14847).OF,a=r(14847).Ag,o=n("‰PNG\r\n\n"),s=n("IHDR");t.exports=function(t){if(!(t.length<24)&&i(t,0,o)&&i(t,12,s))return{width:a(t,16),height:a(t,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}},38689:function(t,e,r){"use strict";var n=r(14847).eG,i=r(14847).OF,a=r(14847).Ag,o=n("8BPS\0");t.exports=function(t){if(!(t.length<22)&&i(t,0,o))return{width:a(t,18),height:a(t,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}},6881:function(t){"use strict";function e(t){return"number"==typeof t&&isFinite(t)&&t>0}var r=/<[-_.:a-zA-Z0-9][^>]*>/,n=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,i=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,a=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,o=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,s=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function l(t){return s.test(t)?t.match(s)[0]:"px"}t.exports=function(t){if(function(t){var e,r=0,n=t.length;for(239===t[0]&&187===t[1]&&191===t[2]&&(r=3);r>14&16383),type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function h(t,e){return{width:1+(t[e+6]<<16|t[e+5]<<8|t[e+4]),height:1+(t[e+9]<t.length)){for(;e+8=10?r=r||c(t,e+8):"VP8L"===p&&d>=9?r=r||f(t,e+8):"VP8X"===p&&d>=10?r=r||h(t,e+8):"EXIF"===p&&(n=s.get_orientation(t.slice(e+8,e+8+d)),e=1/0),e+=8+d}else e++;if(r)return n>0&&(r.orientation=n),r}}}},91497:function(t,e,r){"use strict";t.exports={avif:r(24461),bmp:r(2504),gif:r(47342),ico:r(31355),jpeg:r(54261),png:r(6303),psd:r(38689),svg:r(6881),tiff:r(66278),webp:r(90784)}},33575:function(t,e,r){"use strict";var n=r(91497);t.exports=function(t){return function(t){for(var e=Object.keys(n),r=0;r1)for(var r=1;r1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function T(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map((function(t,u){var c=x[u];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(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"}),c||(x[u]=c={id:u,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},m,t)),a(c,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(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 a=0;a 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) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + 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:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\nuniform sampler2D dashTexture;\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(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\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\tfragColor.a *= opacity;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\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:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},y.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},y.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},y.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach((function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);"number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>y.precisionThreshold||e.scale[1]*e.viewport.height>y.precisionThreshold||"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=y.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},y.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,o=this.gl;if(t.forEach((function(t,f){var d=e.passes[f];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=s(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 colour stroke colors colours 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",splitNull:"splitNull"}),d||(e.passes[f]=d={id:f,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=a({},y.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,f=z}));(O=O.slice(0,R)).push(z)}for(var F=function(t){var e=k.slice(2*D,2*O[t]).concat(z?k.slice(2*z):[]),r=(d.hole||[]).map((function(e){return e-z+(O[t]-D)})),n=u(e,r);n=n.map((function(e){return e+D+(e+Dt.length)&&(e=t.length);for(var r=0,n=new Array(e);r 1.0 + delta) {\n\t\tdiscard;\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"]),l.vert=f(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pointSizeScale;\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 fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n"]),v&&(l.frag=l.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(l)}x.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},x.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},x.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;nn)?e.tree=u(t,{bounds:f}):n&&n.length&&(e.tree=n),e.tree){var h={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(h):e.elements=o.elements(h)}var p=g.float32(t);return i({data:p,usage:"dynamic"}),a({data:g.fract32(t,p),usage:"dynamic"}),l({data:new Uint8Array(c),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach((function(t){return t&&t.destroy&&t.destroy()})),i.length=0,e&&"number"!=typeof e[0]){for(var a=[],s=0,l=Math.min(e.length,r.count);s=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},x.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x,s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y,l.height),[a,n,o,i]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}t.exports=c,c.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){e.draw(),e.dirty=!0,e.planned=null}))):(this.draw(),this.dirty=!0,o((function(){e.dirty=!1}))),this)},c.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;nk))&&(s.lower||!(T>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function l(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[s(t.byteLength)>>2].push(t)}var r=o(8,(function(){return[]}));return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function u(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)||$(t.data))}function c(t,e,r,n,i,a){for(var o=0;o(i=s)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},l=0,c={uint8:5121,uint16:5123};e.oes_element_index_uint&&(c.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function s(t){if(t)if("number"==typeof t)l(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,h=0;Array.isArray(t)||$(t)||u(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=nt[t.usage]),"primitive"in t&&(n=st[t.primitive]),"count"in t&&(i=0|t.count),"type"in t&&(h=c[t.type]),"length"in t?o=0|t.length:(o=i,5123===h||5122===h?o*=2:5125!==h&&5124!==h||(o*=4))),a(f,e,r,n,i,o,h)}else l(),f.primType=4,f.vertCount=0,f.type=5121;return s}var l=r.create(null,34963,!0),f=new i(l._buffer);return n.elementsCount++,s(t),s._reglType="elements",s._elements=f,s.subdata=function(t,e){return l.subdata(t,e),s},s.destroy=function(){o(f)},s},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){Q(s).forEach(o)}}}function y(t){for(var e=J.allocType(5123,t.length),r=0;r>>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,r.height>>=i,p(r,n[i]),t.mipmask|=1<e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;re){for(var r=0;r=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(ut).forEach((function(e){t+=ut[e].stats.size})),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;P.call(r);var a=L();return"number"==typeof t?M(a,0|t,"number"==typeof e?0|e:0|t):t?(O(r,t),S(a,t)):M(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,l(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,z(i),E(a,3553),I(r,3553),R(),C(a),o.profile&&(i.stats.size=A(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=X[i.internalformat],n.type=K[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new D(3553);return ut[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=v();return l(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,z(i),d(o,3553,e,r,a),R(),g(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,z(i);for(var l=0;i.mipmask>>l;++l){var u=a>>l,c=s>>l;if(!u||!c)break;t.texImage2D(3553,l,i.format,u,c,0,i.format,i.type,null)}return R(),o.profile&&(i.stats.size=A(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType="texture2d",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,u){function f(t,e,r,n,i,a){var s,u=h.texInfo;for(P.call(u),s=0;6>s;++s)y[s]=L();if("number"!=typeof t&&t){if("object"==typeof t)if(e)S(y[0],t),S(y[1],e),S(y[2],r),S(y[3],n),S(y[4],i),S(y[5],a);else if(O(u,t),c(h,t),"faces"in t)for(t=t.faces,s=0;6>s;++s)l(y[s],h),S(y[s],t[s]);else for(s=0;6>s;++s)S(y[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(y[s],t,t);for(l(h,y[0]),h.mipmask=u.genMipmaps?(y[0].width<<1)-1:y[0].mipmask,h.internalformat=y[0].internalformat,f.width=y[0].width,f.height=y[0].height,z(h),s=0;6>s;++s)E(y[s],34069+s);for(I(u,34067),R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,u.genMipmaps,!0)),f.format=X[h.internalformat],f.type=K[h.type],f.mag=rt[u.magFilter],f.min=nt[u.minFilter],f.wrapS=it[u.wrapS],f.wrapT=it[u.wrapT],s=0;6>s;++s)C(y[s]);return f}var h=new D(34067);ut[h.id]=h,a.cubeCount++;var y=Array(6);return f(e,r,n,i,s,u),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=v();return l(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,z(h),d(a,34069+t,r,n,i),R(),g(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,z(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType="textureCube",f._texture=h,o.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;er;++r)if(0!=(e.mipmask&1<>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);I(e.texInfo,e.target)}))},refresh:function(){for(var e=0;ei;++i){for(u=0;ut;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){Q(k).forEach(g)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,Q(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),y(e)}))}})}function E(){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 L(t,e,r,n,i,a,o){function s(){this.id=++f,this.attributes=[],this.elements=null,this.ownsElements=!1,this.offset=this.count=0,this.instances=-1,this.primitive=4;var t=e.oes_vertex_array_object;this.vao=t?t.createVertexArrayOES():null,h[this.id]=this,this.buffers=[]}var l=r.maxAttributes,c=Array(l);for(r=0;r=h.byteLength?l.subdata(h):(l.destroy(),r.buffers[s]=null)),r.buffers[s]||(l=r.buffers[s]=i.create(c,34962,!1,!0)),f.buffer=i.getBuffer(l),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1,t[s]=1):i.getBuffer(c)?(f.buffer=i.getBuffer(c),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1):i.getBuffer(c.buffer)?(f.buffer=i.getBuffer(c.buffer),f.size=0|(+c.size||f.buffer.dimension),f.normalized=!!c.normalized||!1,f.type="type"in c?rt[c.type]:f.buffer.dtype,f.offset=0|(c.offset||0),f.stride=0|(c.stride||0),f.divisor=0|(c.divisor||0),f.state=1):"x"in c&&(f.x=+c.x||0,f.y=+c.y||0,f.z=+c.z||0,f.w=+c.w||0,f.state=2)}for(l=0;lt&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);Q(u).forEach(e),u={},Q(c).forEach(e),c={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,f={},r.shaderCount=0},program:function(e,n,i,a){var o=f[n];o||(o=f[n]={});var p=o[e];if(p&&(p.refCount++,!a))return p;var d=new s(n,e);return r.shaderCount++,l(d,i,a),p||(o[e]=d),h.push(d),G(d,{destroy:function(){if(d.refCount--,0>=d.refCount){t.deleteProgram(d.program);var e=h.indexOf(d);h.splice(e,1),r.shaderCount--}0>=o[d.vertId].refCount&&(t.deleteShader(c[d.vertId]),delete c[d.vertId],delete f[d.fragId][d.vertId]),Object.keys(f[d.fragId]).length||(t.deleteShader(u[d.fragId]),delete u[d.fragId],delete f[d.fragId])}})},restore:function(){u={},c={};for(var t=0;t>>e|t<<32-e}function I(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}function D(t){return Array.prototype.slice.call(t)}function z(t){return D(t).join("")}function R(t){function e(){var t=[],e=[];return G((function(){t.push.apply(t,D(arguments))}),{def:function(){var r="v"+i++;return e.push(r),0>>4&15)+"0123456789abcdef".charAt(15&e);return r}(function(t){for(var e=Array(t.length>>2),r=0;r>5]|=(255&t.charCodeAt(r/8))<<24-r%32;var n,i,a,o,s,l,u,c,f,h,p,d=8*t.length;for(t=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],r=Array(64),e[d>>5]|=128<<24-d%32,e[15+(d+64>>9<<4)]=d,c=0;cf;f++){var v;16>f?r[f]=e[f+c]:(h=f,p=I(p=O(p=r[f-2],17)^O(p,19)^p>>>10,r[f-7]),v=O(v=r[f-15],7)^O(v,18)^v>>>3,r[h]=I(I(p,v),r[f-16])),h=I(I(I(I(u,h=O(h=o,6)^O(h,11)^O(h,25)),o&s^~o&l),Mt[f]),r[f]),p=I(u=O(u=d,2)^O(u,13)^O(u,22),d&n^d&i^n&i),u=l,l=s,s=o,o=I(a,h),a=i,i=n,n=d,d=I(h,p)}t[0]=I(d,t[0]),t[1]=I(n,t[1]),t[2]=I(i,t[2]),t[3]=I(a,t[3]),t[4]=I(o,t[4]),t[5]=I(s,t[5]),t[6]=I(l,t[6]),t[7]=I(u,t[7])}for(e="",r=0;r<32*t.length;r+=8)e+=String.fromCharCode(t[r>>5]>>>24-r%32&255);return e}(function(t){for(var e,r,n="",i=-1;++i=e&&56320<=r&&57343>=r&&(e=65536+((1023&e)<<10)+(1023&r),i++),127>=e?n+=String.fromCharCode(e):2047>=e?n+=String.fromCharCode(192|e>>>6&31,128|63&e):65535>=e?n+=String.fromCharCode(224|e>>>12&15,128|e>>>6&63,128|63&e):2097151>=e&&(n+=String.fromCharCode(240|e>>>18&7,128|e>>>12&63,128|e>>>6&63,128|63&e));return n}(r))),n[e])?n[e].apply(null,o):(r=Function.apply(null,a.concat(r)),n&&(n[e]=r),r.apply(null,o))}}}function F(t){return Array.isArray(t)||$(t)||u(t)}function B(t){return t.sort((function(t,e){return"viewport"===t?-1:"viewport"===e?1:t"+e+"?"+i+".constant["+e+"]:0;"})).join(""),"}}else{","if(",s,"(",i,".buffer)){",c,"=",a,".createStream(",34962,",",i,".buffer);","}else{",c,"=",a,".getBuffer(",i,".buffer);","}",f,'="type" in ',i,"?",o.glTypes,"[",i,".type]:",c,".dtype;",l.normalized,"=!!",i,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",a,".destroyStream(",c,");","}"),l}))})),o}function M(t,e,n,i,a){function s(t){var e=u[t];e&&(h[t]=e)}var l=function(t,e){if("string"==typeof(r=t.static).frag&&"string"==typeof r.vert){if(0>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,v,g,s],");")}p&&"null"!==p?m?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(c+".drawElements("+[d,g,y,v+"<<(("+y+"-5121)>>1)"]+");")}function e(){r(c+".drawArrays("+[d,v,g]+");")}p&&"null"!==p?m?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,u=t.shared,c=u.gl,f=u.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a),h.elementsActive&&a("if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);")):(i=a.def(),a(i,"=",f,".","elements",";","if(",i,"){",c,".bindBuffer(",34963,",",i,".buffer.buffer);}","else if(",u.vao,".currentVAO){",i,"=",t.shared.elements+".getElements("+u.vao,".currentVAO.elements);",et?"":"if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);","}")),i}(),d=i("primitive"),v=i("offset"),g=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,".","count"),i}();if("number"==typeof g){if(0===g)return}else r("if(",g,"){"),r.exit("}");Q&&(s=i("instances"),l=t.instancing);var y=p+".type",m=h.elements&&j(h.elements)&&!h.vaoActive;Q&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),a(),r("}else if(",s,"<0){"),o(),r("}")):a():o()}function H(t,e,r,n,i){return i=(e=_()).proc("body",i),Q&&(e.instancing=i.def(e.shared.extensions,".angle_instanced_arrays")),t(e,i,r,n),e.compile().body}function q(t,e,r,n){P(t,e),r.useVAO?r.drawVAO?e(t.shared.vao,".setVAO(",r.drawVAO.append(t,e),");"):e(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(e(t.shared.vao,".setVAO(null);"),I(t,e,r,n.attributes,(function(){return!0}))),D(t,e,r,n.uniforms,(function(){return!0}),!1),z(t,e,e,r)}function Z(t,e,r,n){function i(){return!0}t.batchId="a1",P(t,e),I(t,e,r,n.attributes,i),D(t,e,r,n.uniforms,i,!1),z(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)}P(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&&S(t,c,r.context),r.needsFramebuffer&&E(t,c,r.framebuffer),C(t,c,r.state,i),r.profile&&i(r.profile)&&O(t,c,r,!1,!0),n?(r.useVAO?r.drawVAO?i(r.drawVAO)?c(t.shared.vao,".setVAO(",r.drawVAO.append(t,c),");"):u(t.shared.vao,".setVAO(",r.drawVAO.append(t,u),");"):u(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(u(t.shared.vao,".setVAO(null);"),I(t,u,r,n.attributes,a),I(t,c,r,n.attributes,i)),D(t,u,r,n.uniforms,a,!1),D(t,c,r,n.uniforms,i,!0),z(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 H(Z,t,r,e,2)})),"(",n,");}",u,".call(this,a0[",s,"],",s,");"))}function X(t,r){function n(e){var n=r.shader[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.shader,"."+e,n):i.set(a.shader,"."+e,t.link(n,{stable:!0})))}var i=t.proc("scope",3);t.batchId="a2";var a=t.shared,o=a.current;if(S(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),B(Object.keys(r.state)).forEach((function(e){var n=r.state[e],o=n.append(t,i);m(o)?o.forEach((function(r,n){isNaN(r)?i.set(t.next[e],"["+n+"]",r):i.set(t.next[e],"["+n+"]",t.link(r,{stable:!0}))})):j(n)?i.set(a.next,"."+e,t.link(o,{stable:!0})):i.set(a.next,"."+e,o)})),O(t,i,r,!0,!0),["elements","offset","count","instances","primitive"].forEach((function(e){var n=r.draw[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.draw,"."+e,n):i.set(a.draw,"."+e,t.link(n),{stable:!0}))})),Object.keys(r.uniforms).forEach((function(n){var o=r.uniforms[n].append(t,i);Array.isArray(o)&&(o="["+o.map((function(e){return isNaN(e)?e:t.link(e,{stable:!0})}))+"]"),i.set(a.uniforms,"["+t.link(e.id(n),{stable:!0})+"]",o)})),Object.keys(r.attributes).forEach((function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new K).forEach((function(t){i.set(a,"."+t,n[t])}))})),r.scopeVAO){var s=r.scopeVAO.append(t,i);isNaN(s)?i.set(a.vao,".targetVAO",s):i.set(a.vao,".targetVAO",t.link(s,{stable:!0}))}n("vert"),n("frag"),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=wt[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.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=wt[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(){Q(c).forEach(o)},restore:function(){Q(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)}}},kt=[];kt[6408]=4,kt[6407]=3;var At=[];At[5121]=1,At[5126]=4,At[36193]=2;var Mt=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],St=["x","y","z","w"],Et="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),Lt={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},Ct={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},Pt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Ot={cw:2304,ccw:2305},It=new N(!1,!1,!1,(function(){}));return function(t){function e(){if(0===J.length)T&&T.update(),et=null;else{et=W.next(e),f();for(var t=J.length-1;0<=t;--t){var r=J[t];r&&r(O,null,0)}d.flush(),T&&T.update()}}function r(){!et&&0=J.length&&n()}}}}function c(){var t=V.viewport,e=V.scissor_box;t[0]=t[1]=e[0]=e[1]=0,O.viewportWidth=O.framebufferWidth=O.drawingBufferWidth=t[2]=e[2]=d.drawingBufferWidth,O.viewportHeight=O.framebufferHeight=O.drawingBufferHeight=t[3]=e[3]=d.drawingBufferHeight}function f(){O.tick+=1,O.time=p(),c(),U.procs.poll()}function h(){B.refresh(),c(),U.procs.refresh(),T&&T.update()}function p(){return(X()-k)/1e3}if(!(t=a(t)))return null;var d=t.gl,y=d.getContextAttributes();d.isContextLost();var m=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;ie;++e)rt(G({framebuffer:t.framebuffer.faces[e]},t),l);else rt(t,l);else l(0,t)},prop:Y.define.bind(null,1),context:Y.define.bind(null,2),this:Y.define.bind(null,3),draw:s({}),buffer:function(t){return D.create(t,34962,!1,!1)},elements:function(t){return z.create(t,!1)},texture:B.create2D,cube:B.createCube,renderbuffer:N.create,framebuffer:j.create,framebufferCube:j.createCube,vao:R.createVAO,attributes:y,frame:u,on:function(t,e){var r;switch(t){case"frame":return u(e);case"lost":r=$;break;case"restore":r=Q;break;case"destroy":r=tt}return r.push(e),{cancel:function(){for(var t=0;t2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),r("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,a,o,s,l;if("string"==typeof e&&(a="not ",e.substr(0,a.length)===a)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))o="The ".concat(t," ").concat(i," ").concat(n(e,"type"));else{var u=("number"!=typeof l&&(l=0),l+".".length>(s=t).length||-1===s.indexOf(".",l)?"argument":"property");o='The "'.concat(t,'" ').concat(u," ").concat(i," ").concat(n(e,"type"))}return o+". Received type ".concat(typeof r)}),TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.q=e},37865:function(t,e,r){"use strict";var n=r(90386),i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=c;var a=r(40410),o=r(37493);r(42018)(c,a);for(var s=i(o.prototype),l=0;l0)if("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===l.prototype||(e=function(t){return l.from(t)}(e)),n)s.endEmitted?w(t,new _):S(t,s,e,!0);else if(s.ended)w(t,new x);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?S(t,s,e,!1):O(t,s)):S(t,s,e,!1)}else n||(s.reading=!1,O(t,s));return!s.ended&&(s.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=E?t=E:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function C(t){var e=t._readableState;a("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(a("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(P,t))}function P(t){var e=t._readableState;a("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,F(t)}function O(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(I,t,e))}function I(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function z(t){a("readable nexttick read 0"),t.read(0)}function R(t,e){a("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),F(t),e.flowing&&!e.reading&&t.read(0)}function F(t){var e=t._readableState;for(a("flow",e.flowing);e.flowing&&null!==t.read(););}function B(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function N(t){var e=t._readableState;a("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(j,e,t))}function j(t,e){if(a("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function U(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return a("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?N(this):C(this),null;if(0===(t=L(t,e))&&e.ended)return 0===e.length&&N(this),null;var n,i=e.needReadable;return a("need readable",i),(0===e.length||e.length-t0?B(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&N(this)),null!==n&&this.emit("data",n),n},A.prototype._read=function(t){w(this,new b("_read()"))},A.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,a("pipe count=%d opts=%j",n.pipesCount,e);var s=e&&!1===e.end||t===i.stdout||t===i.stderr?v:l;function l(){a("onend"),t.end()}n.endEmitted?i.nextTick(s):r.once("end",s),t.on("unpipe",(function e(i,o){a("onunpipe"),i===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,a("cleanup"),t.removeListener("close",p),t.removeListener("finish",d),t.removeListener("drain",u),t.removeListener("error",h),t.removeListener("unpipe",e),r.removeListener("end",l),r.removeListener("end",v),r.removeListener("data",f),c=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||u())}));var u=function(t){return function(){var e=t._readableState;a("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,F(t))}}(r);t.on("drain",u);var c=!1;function f(e){a("ondata");var i=t.write(e);a("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==U(n.pipes,t))&&!c&&(a("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function h(e){a("onerror",e),v(),t.removeListener("error",h),0===o(t,"error")&&w(t,e)}function p(){t.removeListener("finish",d),v()}function d(){a("onfinish"),t.removeListener("close",p),v()}function v(){a("unpipe"),r.unpipe(t)}return r.on("data",f),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events.error?Array.isArray(t._events.error)?t._events.error.unshift(r):t._events.error=[r,t._events.error]:t.on(e,r)}(t,"error",h),t.once("close",p),t.once("finish",d),t.emit("pipe",r),n.flowing||(a("pipe resume"),r.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var a=0;a0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,a("on readable",n.length,n.reading),n.length?C(this):n.reading||i.nextTick(z,this))),r},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var r=s.prototype.removeListener.call(this,t,e);return"readable"===t&&i.nextTick(D,this),r},A.prototype.removeAllListeners=function(t){var e=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||i.nextTick(D,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(a("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(R,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return a("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(a("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(a("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){a("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new v("_write()"))},A.prototype._writev=null,A.prototype.end=function(t,e,r){var n=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,P(t,e),r&&(e.finished?i.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}(this,n,r),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=f.destroy,A.prototype._undestroy=f.undestroy,A.prototype._destroy=function(t,e){e(t)}},68221:function(t,e,r){"use strict";var n,i=r(90386);function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r(12726),s=Symbol("lastResolve"),l=Symbol("lastReject"),u=Symbol("error"),c=Symbol("ended"),f=Symbol("lastPromise"),h=Symbol("handlePromise"),p=Symbol("stream");function d(t,e){return{value:t,done:e}}function v(t){var e=t[s];if(null!==e){var r=t[p].read();null!==r&&(t[f]=null,t[s]=null,t[l]=null,e(d(r,!1)))}}function g(t){i.nextTick(v,t)}var y=Object.getPrototypeOf((function(){})),m=Object.setPrototypeOf((a(n={get stream(){return this[p]},next:function(){var t=this,e=this[u];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(d(void 0,!0));if(this[p].destroyed)return new Promise((function(e,r){i.nextTick((function(){t[u]?r(t[u]):e(d(void 0,!0))}))}));var r,n=this[f];if(n)r=new Promise(function(t,e){return function(r,n){t.then((function(){e[c]?r(d(void 0,!0)):e[h](r,n)}),n)}}(n,this));else{var a=this[p].read();if(null!==a)return Promise.resolve(d(a,!1));r=new Promise(this[h])}return this[f]=r,r}},Symbol.asyncIterator,(function(){return this})),a(n,"return",(function(){var t=this;return new Promise((function(e,r){t[p].destroy(null,(function(t){t?r(t):e(d(void 0,!0))}))}))})),n),y);t.exports=function(t){var e,r=Object.create(m,(a(e={},p,{value:t,writable:!0}),a(e,s,{value:null,writable:!0}),a(e,l,{value:null,writable:!0}),a(e,u,{value:null,writable:!0}),a(e,c,{value:t._readableState.endEmitted,writable:!0}),a(e,h,{value:function(t,e){var n=r[p].read();n?(r[f]=null,r[s]=null,r[l]=null,t(d(n,!1))):(r[s]=t,r[l]=e)},writable:!0}),e));return r[f]=null,o(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[l];return null!==e&&(r[f]=null,r[s]=null,r[l]=null,e(t)),void(r[u]=t)}var n=r[s];null!==n&&(r[f]=null,r[s]=null,r[l]=null,n(d(void 0,!0))),r[c]=!0})),t.on("readable",g.bind(null,r)),r}},31125:function(t,e,r){"use strict";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e,r,n,i=o.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=i,n=s,o.prototype.copy.call(e,r,n),s+=a.data.length,a=a.next;return i}},{key:"consume",value:function(t,e){var r;return ti.length?i.length:t;if(a===i.length?n+=i:n+=i.slice(0,t),0==(t-=a)){a===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,a=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,a),0==(t-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,e}},{key:l,value:function(t,e){return s(this,function(t){for(var e=1;e0,(function(t){n||(n=t),t&&o.forEach(u),a||(o.forEach(u),i(n))}))}));return e.reduce(c)}},56306:function(t,e,r){"use strict";var n=r(74322).q.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,r,i){var a=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new n(i?r:"highWaterMark",a);return Math.floor(a)}return t.objectMode?16:16384}}},71405:function(t,e,r){t.exports=r(15398).EventEmitter},68019:function(t,e,r){"use strict";var n=r(71665).Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=l,this.end=u,e=4;break;case"utf8":this.fillLast=s,e=4;break;case"base64":this.text=c,this.end=f,e=3;break;default:return this.write=h,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function c(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function f(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function h(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}e.s=a,a.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(i>0&&(t.lastNeed=i-1),i):--n=0?(i>0&&(t.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},90715:function(t,e,r){var n=r(32791),i=r(41633)("stream-parser");function a(t){i("initializing parser stream"),t._parserBytesLeft=0,t._parserBuffers=[],t._parserBuffered=0,t._parserState=-1,t._parserCallback=null,"function"==typeof t.push&&(t._parserOutput=t.push.bind(t)),t._parserInit=!0}function o(t,e){n(!this._parserCallback,'there is already a "callback" set!'),n(isFinite(t)&&t>0,'can only buffer a finite number of bytes > 0, got "'+t+'"'),this._parserInit||a(this),i("buffering %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=0}function s(t,e){n(!this._parserCallback,'there is already a "callback" set!'),n(t>0,'can only skip > 0 bytes, got "'+t+'"'),this._parserInit||a(this),i("skipping %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=1}function l(t,e){n(!this._parserCallback,'There is already a "callback" set!'),n(t>0,'can only pass through > 0 bytes, got "'+t+'"'),this._parserInit||a(this),i("passing through %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=2}function u(t,e,r){this._parserInit||a(this),i("write(%o bytes)",t.length),"function"==typeof e&&(r=e),h(this,t,null,r)}function c(t,e,r){this._parserInit||a(this),i("transform(%o bytes)",t.length),"function"!=typeof e&&(e=this._parserOutput),h(this,t,e,r)}function f(t,e,r,n){if(t._parserBytesLeft-=e.length,i("%o bytes left for stream piece",t._parserBytesLeft),0===t._parserState?(t._parserBuffers.push(e),t._parserBuffered+=e.length):2===t._parserState&&r(e),0!==t._parserBytesLeft)return n;var a=t._parserCallback;if(a&&0===t._parserState&&t._parserBuffers.length>1&&(e=Buffer.concat(t._parserBuffers,t._parserBuffered)),0!==t._parserState&&(e=null),t._parserCallback=null,t._parserBuffered=0,t._parserState=-1,t._parserBuffers.splice(0),a){var o=[];e&&o.push(e),r&&o.push(r);var s=a.length>o.length;s&&o.push(p(n));var l=a.apply(t,o);if(!s||n===l)return n}}t.exports=function(t){var e=t&&"function"==typeof t._transform,r=t&&"function"==typeof t._write;if(!e&&!r)throw new Error("must pass a Writable or Transform stream in");i("extending Parser into stream"),t._bytes=o,t._skipBytes=s,e&&(t._passthrough=l),e?t._transform=c:t._write=u};var h=p((function t(e,r,n,i){return e._parserBytesLeft<=0?i(new Error("got data but not currently parsing anything")):r.length<=e._parserBytesLeft?function(){return f(e,r,n,i)}:function(){var a=r.slice(0,e._parserBytesLeft);return f(e,a,n,(function(o){return o?i(o):r.length>a.length?function(){return t(e,r.slice(a.length),n,i)}:void 0}))}}));function p(t){return function(){for(var e=t.apply(this,arguments);"function"==typeof e;)e=e();return e}}},41633:function(t,e,r){var n=r(90386);function i(){var t;try{t=e.storage.debug}catch(t){}return!t&&void 0!==n&&"env"in n&&(t=n.env.DEBUG),t}(e=t.exports=r(74469)).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},e.formatArgs=function(t){var r=this.useColors;if(t[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+t[0]+(r?"%c ":" ")+"+"+e.humanize(this.diff),r){var n="color: "+this.color;t.splice(1,0,n,"color: inherit");var i=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(function(t){"%%"!==t&&(i++,"%c"===t&&(a=i))})),t.splice(a,0,n)}},e.save=function(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(t){}},e.load=i,e.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type)||"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},e.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(i())},74469:function(t,e,r){var n;function i(t){function r(){if(r.enabled){var t=r,i=+new Date,a=i-(n||i);t.diff=a,t.prev=n,t.curr=i,n=i;for(var o=new Array(arguments.length),s=0;s0)return function(t){if(!((t=String(t)).length>100)){var a=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(a){var o=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"days":case"day":case"d":return o*i;case"hours":case"hour":case"hrs":case"hr":case"h":return o*n;case"minutes":case"minute":case"mins":case"min":case"m":return o*r;case"seconds":case"second":case"secs":case"sec":case"s":return o*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(t);if("number"===l&&!1===isNaN(t))return o.long?a(s=t,i,"day")||a(s,n,"hour")||a(s,r,"minute")||a(s,e,"second")||s+" ms":function(t){return t>=i?Math.round(t/i)+"d":t>=n?Math.round(t/n)+"h":t>=r?Math.round(t/r)+"m":t>=e?Math.round(t/e)+"s":t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},99011:function(t,e,r){"use strict";var n=r(88641);t.exports=function(t,e,r){if(null==t)throw Error("First argument should be a string");if(null==e)throw Error("Separator should be a string or a RegExp");r?("string"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=["[]","()","{}","<>",'""',"''","``","“”","«»"]:("string"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(t){return 1===t.length&&(t+=t),t})));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s0;){e=u[u.length-1];var p=t[e];if(a[e]=0&&s[e].push(o[v])}a[e]=d}else{if(n[e]===r[e]){var g=[],y=[],m=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,g.push(x),y.push(s[x]),m+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(g);var b=new Array(m);for(d=0;d1&&(i=1),i<-1&&(i=-1),(t*n-e*r<0?-1:1)*Math.acos(i)};e.default=function(t){var e=t.px,r=t.py,s=t.cx,l=t.cy,u=t.rx,c=t.ry,f=t.xAxisRotation,h=void 0===f?0:f,p=t.largeArcFlag,d=void 0===p?0:p,v=t.sweepFlag,g=void 0===v?0:v,y=[];if(0===u||0===c)return[];var m=Math.sin(h*n/360),x=Math.cos(h*n/360),b=x*(e-s)/2+m*(r-l)/2,_=-m*(e-s)/2+x*(r-l)/2;if(0===b&&0===_)return[];u=Math.abs(u),c=Math.abs(c);var w=Math.pow(b,2)/Math.pow(u,2)+Math.pow(_,2)/Math.pow(c,2);w>1&&(u*=Math.sqrt(w),c*=Math.sqrt(w));var T=function(t,e,r,i,a,s,l,u,c,f,h,p){var d=Math.pow(a,2),v=Math.pow(s,2),g=Math.pow(h,2),y=Math.pow(p,2),m=d*v-d*y-v*g;m<0&&(m=0),m/=d*y+v*g;var x=(m=Math.sqrt(m)*(l===u?-1:1))*a/s*p,b=m*-s/a*h,_=f*x-c*b+(t+r)/2,w=c*x+f*b+(e+i)/2,T=(h-x)/a,k=(p-b)/s,A=(-h-x)/a,M=(-p-b)/s,S=o(1,0,T,k),E=o(T,k,A,M);return 0===u&&E>0&&(E-=n),1===u&&E<0&&(E+=n),[_,w,S,E]}(e,r,s,l,u,c,d,g,m,x,b,_),k=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")}(T,4),A=k[0],M=k[1],S=k[2],E=k[3],L=Math.abs(E)/(n/4);Math.abs(1-L)<1e-7&&(L=1);var C=Math.max(Math.ceil(L),1);E/=C;for(var P=0;Pe[2]&&(e[2]=u[c+0]),u[c+1]>e[3]&&(e[3]=u[c+1]);return e}},29988:function(t,e,r){"use strict";t.exports=function(t){for(var e,r=[],o=0,s=0,l=0,u=0,c=null,f=null,h=0,p=0,d=0,v=t.length;d4?(o=g[g.length-4],s=g[g.length-3]):(o=h,s=p),r.push(g)}return r};var n=r(7095);function i(t,e,r,n){return["C",t,e,r,n,r,n]}function a(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]}},82019:function(t,e,r){"use strict";var n,i=r(1750),a=r(95616),o=r(31457),s=r(89546),l=r(44781),u=document.createElement("canvas"),c=u.getContext("2d");t.exports=function(t,e){if(!s(t))throw Error("Argument should be valid svg path string");var r,f;e||(e={}),e.shape?(r=e.shape[0],f=e.shape[1]):(r=u.width=e.w||e.width||200,f=u.height=e.h||e.height||200);var h=Math.min(r,f),p=e.stroke||0,d=e.viewbox||e.viewBox||i(t),v=[r/(d[2]-d[0]),f/(d[3]-d[1])],g=Math.min(v[0]||0,v[1]||0)/2;if(c.fillStyle="black",c.fillRect(0,0,r,f),c.fillStyle="white",p&&("number"!=typeof p&&(p=1),c.strokeStyle=p>0?"white":"black",c.lineWidth=Math.abs(p)),c.translate(.5*r,.5*f),c.scale(g,g),function(){if(null!=n)return n;var t=document.createElement("canvas").getContext("2d");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D("M0,0h1v1h-1v-1Z");t.fillStyle="black",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var y=new Path2D(t);c.fill(y),p&&c.stroke(y)}else{var m=a(t);o(c,m),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),l(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}},84267:function(t,e,r){var n;!function(i){var a=/^\s+/,o=/\s+$/,s=0,l=i.round,u=i.min,c=i.max,f=i.random;function h(t,e){if(e=e||{},(t=t||"")instanceof h)return t;if(!(this instanceof h))return new h(t,e);var r=function(t){var e,r,n,s={r:0,g:0,b:0},l=1,f=null,h=null,p=null,d=!1,v=!1;return"string"==typeof t&&(t=function(t){t=t.replace(a,"").replace(o,"").toLowerCase();var e,r=!1;if(C[t])t=C[t],r=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};return(e=H.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=H.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=H.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=H.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=H.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=H.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=H.hex8.exec(t))?{r:z(e[1]),g:z(e[2]),b:z(e[3]),a:N(e[4]),format:r?"name":"hex8"}:(e=H.hex6.exec(t))?{r:z(e[1]),g:z(e[2]),b:z(e[3]),format:r?"name":"hex"}:(e=H.hex4.exec(t))?{r:z(e[1]+""+e[1]),g:z(e[2]+""+e[2]),b:z(e[3]+""+e[3]),a:N(e[4]+""+e[4]),format:r?"name":"hex8"}:!!(e=H.hex3.exec(t))&&{r:z(e[1]+""+e[1]),g:z(e[2]+""+e[2]),b:z(e[3]+""+e[3]),format:r?"name":"hex"}}(t)),"object"==typeof t&&(q(t.r)&&q(t.g)&&q(t.b)?(e=t.r,r=t.g,n=t.b,s={r:255*I(e,255),g:255*I(r,255),b:255*I(n,255)},d=!0,v="%"===String(t.r).substr(-1)?"prgb":"rgb"):q(t.h)&&q(t.s)&&q(t.v)?(f=F(t.s),h=F(t.v),s=function(t,e,r){t=6*I(t,360),e=I(e,100),r=I(r,100);var n=i.floor(t),a=t-n,o=r*(1-e),s=r*(1-a*e),l=r*(1-(1-a)*e),u=n%6;return{r:255*[r,s,o,o,l,r][u],g:255*[l,r,r,s,o,o][u],b:255*[o,o,l,r,r,s][u]}}(t.h,f,h),d=!0,v="hsv"):q(t.h)&&q(t.s)&&q(t.l)&&(f=F(t.s),p=F(t.l),s=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=I(t,360),e=I(e,100),r=I(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}}(t.h,f,p),d=!0,v="hsl"),t.hasOwnProperty("a")&&(l=t.a)),l=O(l),{ok:d,format:t.format||v,r:u(255,c(s.r,0)),g:u(255,c(s.g,0)),b:u(255,c(s.b,0)),a:l}}(t);this._originalInput=t,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=l(100*this._a)/100,this._format=e.format||r.format,this._gradientType=e.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=r.ok,this._tc_id=s++}function p(t,e,r){t=I(t,255),e=I(e,255),r=I(r,255);var n,i,a=c(t,e,r),o=u(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s>.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(h(n));return a}function L(t,e){e=e||6;for(var r=h(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(h({h:n,s:i,v:a})),a=(a+s)%1;return o}h.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,r,n=this.toRgb();return t=n.r/255,e=n.g/255,r=n.b/255,.2126*(t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:i.pow((r+.055)/1.055,2.4))},setAlpha:function(t){return this._a=O(t),this._roundA=l(100*this._a)/100,this},toHsv:function(){var t=d(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=d(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=p(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=p(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return v(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var a=[R(l(t).toString(16)),R(l(e).toString(16)),R(l(r).toString(16)),R(B(n))];return i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+l(this._r)+", "+l(this._g)+", "+l(this._b)+")":"rgba("+l(this._r)+", "+l(this._g)+", "+l(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:l(100*I(this._r,255))+"%",g:l(100*I(this._g,255))+"%",b:l(100*I(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+l(100*I(this._r,255))+"%, "+l(100*I(this._g,255))+"%, "+l(100*I(this._b,255))+"%)":"rgba("+l(100*I(this._r,255))+"%, "+l(100*I(this._g,255))+"%, "+l(100*I(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(P[v(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+g(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var i=h(t);r="#"+g(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 h(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(b,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(w,arguments)},desaturate:function(){return this._applyModification(y,arguments)},saturate:function(){return this._applyModification(m,arguments)},greyscale:function(){return this._applyModification(x,arguments)},spin:function(){return this._applyModification(T,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(E,arguments)},complement:function(){return this._applyCombination(k,arguments)},monochromatic:function(){return this._applyCombination(L,arguments)},splitcomplement:function(){return this._applyCombination(S,arguments)},triad:function(){return this._applyCombination(A,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},h.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:F(t[n]));t=r}return h(t,e)},h.equals=function(t,e){return!(!t||!e)&&h(t).toRgbString()==h(e).toRgbString()},h.random=function(){return h.fromRatio({r:f(),g:f(),b:f()})},h.mix=function(t,e,r){r=0===r?0:r||50;var n=h(t).toRgb(),i=h(e).toRgb(),a=r/100;return h({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})},h.readability=function(t,e){var r=h(t),n=h(e);return(i.max(r.getLuminance(),n.getLuminance())+.05)/(i.min(r.getLuminance(),n.getLuminance())+.05)},h.isReadable=function(t,e,r){var n,i,a,o,s,l=h.readability(t,e);switch(i=!1,(a=r,o=((a=a||{level:"AA",size:"small"}).level||"AA").toUpperCase(),s=(a.size||"small").toLowerCase(),"AA"!==o&&"AAA"!==o&&(o="AA"),"small"!==s&&"large"!==s&&(s="small"),n={level:o,size:s}).level+n.size){case"AAsmall":case"AAAlarge":i=l>=4.5;break;case"AAlarge":i=l>=3;break;case"AAAsmall":i=l>=7}return i},h.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 u=0;ul&&(l=n,s=h(e[u]));return h.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,h.mostReadable(t,["#fff","#000"],r))};var C=h.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"},P=h.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(C);function O(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function I(t,e){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var r=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(t);return t=u(e,c(0,parseFloat(t))),r&&(t=parseInt(t*e,10)/100),i.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function D(t){return u(1,c(0,t))}function z(t){return parseInt(t,16)}function R(t){return 1==t.length?"0"+t:""+t}function F(t){return t<=1&&(t=100*t+"%"),t}function B(t){return i.round(255*parseFloat(t)).toString(16)}function N(t){return z(t)/255}var j,U,V,H=(U="[\\s|\\(]+("+(j="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",V="[\\s|\\(]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",{CSS_UNIT:new RegExp(j),rgb:new RegExp("rgb"+U),rgba:new RegExp("rgba"+V),hsl:new RegExp("hsl"+U),hsla:new RegExp("hsla"+V),hsv:new RegExp("hsv"+U),hsva:new RegExp("hsva"+V),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 q(t){return!!H.CSS_UNIT.exec(t)}t.exports?t.exports=h:void 0===(n=function(){return h}.call(e,r,e,t))||(t.exports=n)}(Math)},57060:function(t){"use strict";t.exports=r,t.exports.float32=t.exports.float=r,t.exports.fract32=t.exports.fract=function(t,e){if(t.length){if(t instanceof Float32Array)return new Float32Array(t.length);e instanceof Float32Array||(e=r(t));for(var n=0,i=e.length;n":(e.length>100&&(e=e.slice(0,99)+"…"),e=e.replace(i,(function(t){switch(t){case"\n":return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}})))}},47403:function(t,e,r){"use strict";var n=r(24582),i={object:!0,function:!0,undefined:!0};t.exports=function(t){return!!n(t)&&hasOwnProperty.call(i,typeof t)}},82527:function(t,e,r){"use strict";var n=r(69190),i=r(84985);t.exports=function(t){return i(t)?t:n(t,"%v is not a plain function",arguments[1])}},84985:function(t,e,r){"use strict";var n=r(73116),i=/^\s*class[\s{/}]/,a=Function.prototype.toString;t.exports=function(t){return!!n(t)&&!i.test(a.call(t))}},24511:function(t,e,r){"use strict";var n=r(47403);t.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},9234:function(t,e,r){"use strict";var n=r(24582),i=r(47403),a=Object.prototype.toString;t.exports=function(t){if(!n(t))return null;if(i(t)){var e=t.toString;if("function"!=typeof e)return null;if(e===a)return null}try{return""+t}catch(t){return null}}},10424:function(t,e,r){"use strict";var n=r(69190),i=r(24582);t.exports=function(t){return i(t)?t:n(t,"Cannot use %v",arguments[1])}},24582:function(t){"use strict";t.exports=function(t){return null!=t}},58404:function(t,e,r){"use strict";var n=r(13547),i=r(12129),a=r(12856).Buffer;r.g.__TYPEDARRAY_POOL||(r.g.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s="undefined"!=typeof BigUint64Array,l="undefined"!=typeof BigInt64Array,u=r.g.__TYPEDARRAY_POOL;u.UINT8C||(u.UINT8C=i([32,0])),u.BIGUINT64||(u.BIGUINT64=i([32,0])),u.BIGINT64||(u.BIGINT64=i([32,0])),u.BUFFER||(u.BUFFER=i([32,0]));var c=u.DATA,f=u.BUFFER;function h(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);c[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=c[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return v(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return m(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},90448:function(t){var e=/[\'\"]/;t.exports=function(t){return t?(e.test(t.charAt(0))&&(t=t.substr(1)),e.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}},93447:function(t){"use strict";t.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n=i)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}})),s=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(r)?n.showHidden=r:r&&e._extend(n,r),b(n.showHidden)&&(n.showHidden=!1),b(n.depth)&&(n.depth=2),b(n.colors)&&(n.colors=!1),b(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=c),h(n,t,n.depth)}function c(t,e){var r=u.styles[e];return r?"["+u.colors[r][0]+"m"+t+"["+u.colors[r][1]+"m":t}function f(t,e){return t}function h(t,r,n){if(t.customInspect&&r&&A(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return x(i)||(i=h(t,i,n)),i}var a=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(x(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}return m(e)?t.stylize(""+e,"number"):g(e)?t.stylize(""+e,"boolean"):y(e)?t.stylize("null","null"):void 0}(t,r);if(a)return a;var o=Object.keys(r),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),k(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return p(r);if(0===o.length){if(A(r)){var l=r.name?": "+r.name:"";return t.stylize("[Function"+l+"]","special")}if(_(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(T(r))return t.stylize(Date.prototype.toString.call(r),"date");if(k(r))return p(r)}var u,c="",f=!1,w=["{","}"];return v(r)&&(f=!0,w=["[","]"]),A(r)&&(c=" [Function"+(r.name?": "+r.name:"")+"]"),_(r)&&(c=" "+RegExp.prototype.toString.call(r)),T(r)&&(c=" "+Date.prototype.toUTCString.call(r)),k(r)&&(c=" "+p(r)),0!==o.length||f&&0!=r.length?n<0?_(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=f?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o60?r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}(u,c,w)):w[0]+c+w[1]}function p(t){return"["+Error.prototype.toString.call(t)+"]"}function d(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),C(n,i)||(o="["+i+"]"),s||(t.seen.indexOf(l.value)<0?(s=y(r)?h(t,l.value,null):h(t,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(t){return" "+t})).join("\n").slice(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),b(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function v(t){return Array.isArray(t)}function g(t){return"boolean"==typeof t}function y(t){return null===t}function m(t){return"number"==typeof t}function x(t){return"string"==typeof t}function b(t){return void 0===t}function _(t){return w(t)&&"[object RegExp]"===M(t)}function w(t){return"object"==typeof t&&null!==t}function T(t){return w(t)&&"[object Date]"===M(t)}function k(t){return w(t)&&("[object Error]"===M(t)||t instanceof Error)}function A(t){return"function"==typeof t}function M(t){return Object.prototype.toString.call(t)}function S(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!o[t])if(s.test(t)){var r=n.pid;o[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else o[t]=function(){};return o[t]},e.inspect=u,u.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]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=r(4936),e.isArray=v,e.isBoolean=g,e.isNull=y,e.isNullOrUndefined=function(t){return null==t},e.isNumber=m,e.isString=x,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=b,e.isRegExp=_,e.types.isRegExp=_,e.isObject=w,e.isDate=T,e.types.isDate=T,e.isError=k,e.types.isNativeError=k,e.isFunction=A,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(45920);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function L(){var t=new Date,e=[S(t.getHours()),S(t.getMinutes()),S(t.getSeconds())].join(":");return[t.getDate(),E[t.getMonth()],e].join(" ")}function C(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",L(),e.format.apply(e,arguments))},e.inherits=r(42018),e._extend=function(t,e){if(!e||!w(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t};var P="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function O(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(P&&t[P]){var e;if("function"!=typeof(e=t[P]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,P,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,n=new Promise((function(t,n){e=t,r=n})),i=[],a=0;a2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!r&&e<=i?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 n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e>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 i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,u=s>>5&15,c=31&s;(i=a.newDate(l,u,c)).add(4-(i.dayOfWeek()||7),"d");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/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=f[t-f[0]];if(e>(r>>13?12:11))throw n.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 i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if("object"==typeof t)o=t,a=e||{};else{var l;if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Lunar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Lunar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=30))throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(l=!1,a=n):(l=!!n,a={}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var u,c=f[o.year-f[0]],p=c>>13;u=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d>9&4095,(v>>5&15)-1,(31&v)+s);return a.year=g.getFullYear(),a.month=1+g.getMonth(),a.day=g.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if("object"==typeof t)i=t,a=e||{};else{if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Solar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Solar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=31))throw new Error("Solar day outside range 1 - 31");i={year:t,month:e,day:r},a={}}var o=h[i.year-h[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=h[a.year-h[0]];var l,u=new Date(o>>9&4095,(o>>5&15)-1,31&o),c=new Date(i.year,i.month-1,i.day);l=Math.round((c-u)/864e5);var p,d=f[a.year-f[0]];for(p=0;p<13;p++){var v=d&1<<12-p?30:29;if(l>13;return!g||p=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||""}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=a},37715:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.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,n.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,n.local.invalidYear||n.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,n.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 i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.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)}}),n.calendars.ethiopian=a},99384:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.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,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.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,n.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,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(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 i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=tthis.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},43805:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.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īs","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,n.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,n.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 i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+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)}}),n.calendars.islamic=a},88874:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.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,n.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,n.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 i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.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)}}),n.calendars.julian=a},83290:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.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,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.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;r19||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,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o(8+(t-=this.jdEpoch)+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s(20+(t-=this.jdEpoch),20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.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)}}),n.calendars.mayan=a},29108:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar;var o=n.instance("gregorian");i(a.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,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.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 i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s=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)}}),n.calendars.nanakshahi=a},55422:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.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,n.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,n.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 i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var u=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(u)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(u,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r0?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,n.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 i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/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=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var u=t-this.toJD(l,1,1)+1,c=u<=186?Math.ceil(u/31):Math.ceil((u-6)/30),f=t-this.toJD(l,c,1)+1;return this.newDate(l,c,f)}}),n.calendars.persian=a,n.calendars.jalali=a},31320:function(t,e,r){var n=r(63489),i=r(56131),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.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,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.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 i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.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)}}),n.calendars.taiwan=o},51367:function(t,e,r){var n=r(63489),i=r(56131),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.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,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.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 i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.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)}}),n.calendars.thai=o},21457:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.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āthā’","Yawm al-Arba‘ā’","Yawm al-Khamīs","Yawm al-Jum‘a","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,n.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,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;ar)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,u=e-o[r-1]+1;return this.newDate(s,l,u)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},63489:function(t,e,r){var n=r(56131);function i(){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 a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(i.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]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(u.local.differentCalendars||u.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);i=t.day(),"y"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):"m"===r&&(function(t){for(;oe-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),i="m"===r?e:t.month(),a="d"===r?e:t.day();return"y"!==r&&"m"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var u=t.exports=new i;u.cdate=a,u.baseCalendar=s,u.calendars.gregorian=l},94338:function(t,e,r){var n=r(56131),i=r(63489);n(i.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),i.local=i.regionalOptions[""],n(i.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,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,f=r.monthNames||this.local.monthNames,h=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;_+n1}),p=function(t,e,r,n){var i=""+e;if(h(t,n))for(;i.length1},x=function(t,r){var n=m(t,r),a=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+a+"}"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){m("m");var t=l.call(b,e.substring(A));return A+=t.length,t}return x("m")},w=function(t,r,n,a){for(var o=m(t,a)?n:r,s=0;s-1){p=1,d=v;for(var E=this.daysInMonth(h,p);d>E;E=this.daysInMonth(h,p))p++,d-=E}return f>-1?this.fromJD(f):this.newDate(h,p,d)},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,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)}})},69862:function(){},40964:function(){},72077:function(t,e,r){"use strict";var n=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],i="undefined"==typeof globalThis?r.g:globalThis;t.exports=function(){for(var t=[],e=0;e>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?T(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?T(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=h.exec(t))?new M(e[1],e[2],e[3],1):(e=p.exec(t))?new M(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=d.exec(t))?T(e[1],e[2],e[3],e[4]):(e=v.exec(t))?T(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=g.exec(t))?O(e[1],e[2]/100,e[3]/100,1):(e=y.exec(t))?O(e[1],e[2]/100,e[3]/100,e[4]):m.hasOwnProperty(t)?w(m[t]):"transparent"===t?new M(NaN,NaN,NaN,0):null}function w(t){return new M(t>>16&255,t>>8&255,255&t,1)}function T(t,e,r,n){return n<=0&&(t=e=r=NaN),new M(t,e,r,n)}function k(t){return t instanceof a||(t=_(t)),t?new M((t=t.rgb()).r,t.g,t.b,t.opacity):new M}function A(t,e,r,n){return 1===arguments.length?k(t):new M(t,e,r,null==n?1:n)}function M(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function S(){return"#".concat(P(this.r)).concat(P(this.g)).concat(P(this.b))}function E(){var t=L(this.opacity);return"".concat(1===t?"rgb(":"rgba(").concat(C(this.r),", ").concat(C(this.g),", ").concat(C(this.b)).concat(1===t?")":", ".concat(t,")"))}function L(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function C(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function P(t){return((t=C(t))<16?"0":"")+t.toString(16)}function O(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new D(t,e,r,n)}function I(t){if(t instanceof D)return new D(t.h,t.s,t.l,t.opacity);if(t instanceof a||(t=_(t)),!t)return new D;if(t instanceof D)return t;var e=(t=t.rgb()).r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,l=o-i,u=(o+i)/2;return l?(s=e===o?(r-n)/l+6*(r0&&u<1?0:s,new D(s,l,u,t.opacity)}function D(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function z(t){return(t=(t||0)%360)<0?t+360:t}function R(t){return Math.max(0,Math.min(1,t||0))}function F(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}function B(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}n(a,_,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return I(this).formatHsl()},formatRgb:b,toString:b}),n(M,A,i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new M(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new M(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},clamp:function(){return new M(C(this.r),C(this.g),C(this.b),L(this.opacity))},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:S,formatHex:S,formatHex8:function(){return"#".concat(P(this.r)).concat(P(this.g)).concat(P(this.b)).concat(P(255*(isNaN(this.opacity)?1:this.opacity)))},formatRgb:E,toString:E})),n(D,(function(t,e,r,n){return 1===arguments.length?I(t):new D(t,e,r,null==n?1:n)}),i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new D(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new D(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 M(F(t>=240?t-240:t+120,i,n),F(t,i,n),F(t<120?t+240:t-120,i,n),this.opacity)},clamp:function(){return new D(z(this.h),R(this.s),R(this.l),L(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},formatHsl:function(){var t=L(this.opacity);return"".concat(1===t?"hsl(":"hsla(").concat(z(this.h),", ").concat(100*R(this.s),"%, ").concat(100*R(this.l),"%").concat(1===t?")":", ".concat(t,")"))}}));var N=function(t){return function(){return t}};function j(t,e){var r=e-t;return r?function(t,e){return function(r){return t+r*e}}(t,r):N(isNaN(t)?e:t)}var U=function t(e){var r=function(t){return 1==(t=+t)?j: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):N(isNaN(e)?r:e)}}(e);function n(t,e){var n=r((t=A(t)).r,(e=A(e)).r),i=r(t.g,e.g),a=r(t.b,e.b),o=j(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return n.gamma=t,n}(1);function V(t){return function(e){var r,n,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(r=0;r=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],o=n>0?t[n-1]:2*i-a,s=na&&(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:G(r,n)})),a=X.lastIndex;return a { + var e; + self, + (e = function () { + return (function () { + var t = { + 98847: function (t, e, r) { + "use strict"; + var n = r(71828), + i = { + "X,X div": + 'direction:ltr;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 .cursor-grab": "cursor:-webkit-grab;cursor:grab;", + "X .modebar": "position:absolute;top:2px;right:2px;", + "X .ease-bg": + "-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;", + "X .modebar--hover>:not(.watermark)": + "opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;", + "X:hover .modebar--hover .modebar-group": "opacity:1;", + "X .modebar-group": + "float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;", + "X .modebar-btn": + "position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;", + "X .modebar-btn svg": "position:relative;top:2px;", + "X .modebar.vertical": + "display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;", + "X .modebar.vertical svg": "top:-1px;", + "X .modebar.vertical .modebar-group": + "display:block;float:none;padding-left:0px;padding-bottom:8px;", + "X .modebar.vertical .modebar-group .modebar-btn": + "display:block;text-align:center;", + "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:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;', + "X [data-title]:after": + "content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;", + "X .vertical [data-title]:before,X .vertical [data-title]:after": + "top:0%;right:200%;", + "X .vertical [data-title]:before": + "border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;", + Y: 'font-family:"Open Sans",verdana,arial,sans-serif;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,.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:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;", + "Y .notifier-close:hover": + "color:#444;text-decoration:none;cursor:pointer;", + }; + for (var a in i) { + var o = a + .replace(/^,/, " ,") + .replace(/X/g, ".js-plotly-plot .plotly") + .replace(/Y/g, ".plotly-notifier"); + n.addStyleRule(o, i[a]); + } + }, + 98222: function (t, e, r) { + "use strict"; + t.exports = r(82887); + }, + 27206: function (t, e, r) { + "use strict"; + t.exports = r(60822); + }, + 59893: function (t, e, r) { + "use strict"; + t.exports = r(23381); + }, + 5224: function (t, e, r) { + "use strict"; + t.exports = r(83832); + }, + 59509: function (t, e, r) { + "use strict"; + t.exports = r(72201); + }, + 75557: function (t, e, r) { + "use strict"; + t.exports = r(91815); + }, + 40338: function (t, e, r) { + "use strict"; + t.exports = r(21462); + }, + 35080: function (t, e, r) { + "use strict"; + t.exports = r(51319); + }, + 61396: function (t, e, r) { + "use strict"; + t.exports = r(57516); + }, + 40549: function (t, e, r) { + "use strict"; + t.exports = r(98128); + }, + 49866: function (t, e, r) { + "use strict"; + t.exports = r(99442); + }, + 36089: function (t, e, r) { + "use strict"; + t.exports = r(93740); + }, + 19548: function (t, e, r) { + "use strict"; + t.exports = r(8729); + }, + 35831: function (t, e, r) { + "use strict"; + t.exports = r(93814); + }, + 61039: function (t, e, r) { + "use strict"; + t.exports = r(14382); + }, + 97040: function (t, e, r) { + "use strict"; + t.exports = r(51759); + }, + 77986: function (t, e, r) { + "use strict"; + t.exports = r(10421); + }, + 24296: function (t, e, r) { + "use strict"; + t.exports = r(43102); + }, + 58872: function (t, e, r) { + "use strict"; + t.exports = r(92165); + }, + 29626: function (t, e, r) { + "use strict"; + t.exports = r(3325); + }, + 65591: function (t, e, r) { + "use strict"; + t.exports = r(36071); + }, + 69738: function (t, e, r) { + "use strict"; + t.exports = r(43905); + }, + 92650: function (t, e, r) { + "use strict"; + t.exports = r(35902); + }, + 35630: function (t, e, r) { + "use strict"; + t.exports = r(69816); + }, + 73434: function (t, e, r) { + "use strict"; + t.exports = r(94507); + }, + 27909: function (t, e, r) { + "use strict"; + var n = r(19548); + n.register([ + r(27206), + r(5224), + r(58872), + r(65591), + r(69738), + r(92650), + r(49866), + r(25743), + r(6197), + r(97040), + r(85461), + r(73434), + r(54201), + r(81299), + r(47645), + r(35630), + r(77986), + r(83043), + r(93005), + r(96881), + r(4534), + r(50581), + r(40549), + r(77900), + r(47582), + r(35080), + r(21641), + r(17280), + r(5861), + r(29626), + r(10021), + r(65317), + r(96268), + r(61396), + r(35831), + r(16122), + r(46163), + r(40344), + r(40338), + r(48131), + r(36089), + r(55334), + r(75557), + r(19440), + r(99488), + r(59893), + r(97393), + r(98222), + r(61039), + r(24296), + r(66398), + r(59509), + ]), + (t.exports = n); + }, + 46163: function (t, e, r) { + "use strict"; + t.exports = r(15154); + }, + 96881: function (t, e, r) { + "use strict"; + t.exports = r(64943); + }, + 50581: function (t, e, r) { + "use strict"; + t.exports = r(21164); + }, + 55334: function (t, e, r) { + "use strict"; + t.exports = r(54186); + }, + 65317: function (t, e, r) { + "use strict"; + t.exports = r(94873); + }, + 10021: function (t, e, r) { + "use strict"; + t.exports = r(67618); + }, + 54201: function (t, e, r) { + "use strict"; + t.exports = r(58810); + }, + 5861: function (t, e, r) { + "use strict"; + t.exports = r(20593); + }, + 16122: function (t, e, r) { + "use strict"; + t.exports = r(29396); + }, + 83043: function (t, e, r) { + "use strict"; + t.exports = r(13551); + }, + 48131: function (t, e, r) { + "use strict"; + t.exports = r(46858); + }, + 47582: function (t, e, r) { + "use strict"; + t.exports = r(17988); + }, + 21641: function (t, e, r) { + "use strict"; + t.exports = r(68868); + }, + 96268: function (t, e, r) { + "use strict"; + t.exports = r(20467); + }, + 19440: function (t, e, r) { + "use strict"; + t.exports = r(91271); + }, + 99488: function (t, e, r) { + "use strict"; + t.exports = r(21461); + }, + 97393: function (t, e, r) { + "use strict"; + t.exports = r(85956); + }, + 25743: function (t, e, r) { + "use strict"; + t.exports = r(52979); + }, + 66398: function (t, e, r) { + "use strict"; + t.exports = r(32275); + }, + 17280: function (t, e, r) { + "use strict"; + t.exports = r(6419); + }, + 77900: function (t, e, r) { + "use strict"; + t.exports = r(61510); + }, + 81299: function (t, e, r) { + "use strict"; + t.exports = r(87619); + }, + 93005: function (t, e, r) { + "use strict"; + t.exports = r(93601); + }, + 40344: function (t, e, r) { + "use strict"; + t.exports = r(96595); + }, + 47645: function (t, e, r) { + "use strict"; + t.exports = r(70954); + }, + 6197: function (t, e, r) { + "use strict"; + t.exports = r(47462); + }, + 4534: function (t, e, r) { + "use strict"; + t.exports = r(17659); + }, + 85461: function (t, e, r) { + "use strict"; + t.exports = r(19990); + }, + 82884: function (t) { + "use strict"; + t.exports = [ + { path: "", backoff: 0 }, + { path: "M-2.4,-3V3L0.6,0Z", backoff: 0.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 }, + ]; + }, + 50215: function (t, e, r) { + "use strict"; + var n = r(82884), + i = r(41940), + a = r(85555), + o = r(44467).templatedArray; + r(24695), + (t.exports = o("annotation", { + visible: { + valType: "boolean", + dflt: !0, + editType: "calc+arraydraw", + }, + text: { valType: "string", editType: "calc+arraydraw" }, + textangle: { + valType: "angle", + dflt: 0, + editType: "calc+arraydraw", + }, + font: i({ + editType: "calc+arraydraw", + colorEditType: "arraydraw", + }), + width: { + valType: "number", + min: 1, + dflt: null, + editType: "calc+arraydraw", + }, + height: { + valType: "number", + min: 1, + dflt: null, + editType: "calc+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: "calc+arraydraw", + }, + borderwidth: { + valType: "number", + min: 0, + dflt: 1, + editType: "calc+arraydraw", + }, + showarrow: { + valType: "boolean", + dflt: !0, + editType: "calc+arraydraw", + }, + arrowcolor: { valType: "color", editType: "arraydraw" }, + arrowhead: { + valType: "integer", + min: 0, + max: n.length, + dflt: 1, + editType: "arraydraw", + }, + startarrowhead: { + valType: "integer", + min: 0, + max: n.length, + dflt: 1, + editType: "arraydraw", + }, + arrowside: { + valType: "flaglist", + flags: ["end", "start"], + extras: ["none"], + dflt: "end", + editType: "arraydraw", + }, + arrowsize: { + valType: "number", + min: 0.3, + dflt: 1, + editType: "calc+arraydraw", + }, + startarrowsize: { + valType: "number", + min: 0.3, + dflt: 1, + editType: "calc+arraydraw", + }, + arrowwidth: { + valType: "number", + min: 0.1, + editType: "calc+arraydraw", + }, + standoff: { + valType: "number", + min: 0, + dflt: 0, + editType: "calc+arraydraw", + }, + startstandoff: { + valType: "number", + min: 0, + dflt: 0, + editType: "calc+arraydraw", + }, + ax: { valType: "any", editType: "calc+arraydraw" }, + ay: { valType: "any", editType: "calc+arraydraw" }, + axref: { + valType: "enumerated", + dflt: "pixel", + values: ["pixel", a.idRegex.x.toString()], + editType: "calc", + }, + ayref: { + valType: "enumerated", + dflt: "pixel", + values: ["pixel", a.idRegex.y.toString()], + editType: "calc", + }, + xref: { + valType: "enumerated", + values: ["paper", a.idRegex.x.toString()], + editType: "calc", + }, + x: { valType: "any", editType: "calc+arraydraw" }, + xanchor: { + valType: "enumerated", + values: ["auto", "left", "center", "right"], + dflt: "auto", + editType: "calc+arraydraw", + }, + xshift: { + valType: "number", + dflt: 0, + editType: "calc+arraydraw", + }, + yref: { + valType: "enumerated", + values: ["paper", a.idRegex.y.toString()], + editType: "calc", + }, + y: { valType: "any", editType: "calc+arraydraw" }, + yanchor: { + valType: "enumerated", + values: ["auto", "top", "middle", "bottom"], + dflt: "auto", + editType: "calc+arraydraw", + }, + yshift: { + valType: "number", + dflt: 0, + editType: "calc+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: i({ editType: "arraydraw" }), + editType: "arraydraw", + }, + captureevents: { + valType: "boolean", + editType: "arraydraw", + }, + editType: "calc", + _deprecated: { + ref: { valType: "string", editType: "calc" }, + }, + })); + }, + 3749: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(92605).draw; + function o(t) { + var e = t._fullLayout; + n.filterVisible(e.annotations).forEach(function (e) { + var r = i.getFromId(t, e.xref), + n = i.getFromId(t, e.yref), + a = i.getRefType(e.xref), + o = i.getRefType(e.yref); + (e._extremes = {}), + "range" === a && s(e, r), + "range" === o && s(e, n); + }); + } + function s(t, e) { + var r, + n = e._id, + a = n.charAt(0), + o = t[a], + s = t["a" + a], + l = t[a + "ref"], + u = t["a" + a + "ref"], + c = t["_" + a + "padplus"], + f = t["_" + a + "padminus"], + h = { x: 1, y: -1 }[a] * t[a + "shift"], + p = 3 * t.arrowsize * t.arrowwidth || 0, + d = p + h, + v = p - h, + g = 3 * t.startarrowsize * t.arrowwidth || 0, + y = g + h, + m = g - h; + if (u === l) { + var x = i.findExtremes(e, [e.r2c(o)], { + ppadplus: d, + ppadminus: v, + }), + b = i.findExtremes(e, [e.r2c(s)], { + ppadplus: Math.max(c, y), + ppadminus: Math.max(f, m), + }); + r = { + min: [x.min[0], b.min[0]], + max: [x.max[0], b.max[0]], + }; + } else + (y = s ? y + s : y), + (m = s ? m - s : m), + (r = i.findExtremes(e, [e.r2c(o)], { + ppadplus: Math.max(c, d, y), + ppadminus: Math.max(f, v, m), + })); + t._extremes[n] = r; + } + t.exports = function (t) { + var e = t._fullLayout; + if ( + n.filterVisible(e.annotations).length && + t._fullData.length + ) + return n.syncOrAsync([a, o], t); + }; + }, + 44317: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(73972), + a = r(44467).arrayEditor; + function o(t, e) { + var r, + n, + i, + a, + o, + l, + u, + c = t._fullLayout.annotations, + f = [], + h = [], + p = [], + d = (e || []).length; + for (r = 0; r < c.length; r++) + if ((a = (i = c[r]).clicktoshow)) { + for (n = 0; n < d; n++) + if ( + ((l = (o = e[n]).xaxis), + (u = o.yaxis), + l._id === i.xref && + u._id === i.yref && + l.d2r(o.x) === s(i._xclick, l) && + u.d2r(o.y) === s(i._yclick, u)) + ) { + (i.visible ? ("onout" === a ? h : p) : f).push(r); + break; + } + n === d && i.visible && "onout" === a && h.push(r); + } + return { on: f, off: h, explicitOff: p }; + } + function s(t, e) { + return "log" === e.type ? e.l2r(t) : e.d2r(t); + } + t.exports = { + hasClickToShow: function (t, e) { + var r = o(t, e); + return r.on.length > 0 || r.explicitOff.length > 0; + }, + onClick: function (t, e) { + var r, + s, + l = o(t, e), + u = l.on, + c = l.off.concat(l.explicitOff), + f = {}, + h = t._fullLayout.annotations; + if (u.length || c.length) { + for (r = 0; r < u.length; r++) + (s = a(t.layout, "annotations", h[u[r]])).modifyItem( + "visible", + !0, + ), + n.extendFlat(f, s.getUpdateObj()); + for (r = 0; r < c.length; r++) + (s = a(t.layout, "annotations", h[c[r]])).modifyItem( + "visible", + !1, + ), + n.extendFlat(f, s.getUpdateObj()); + return i.call("update", t, {}, f); + } + }, + }; + }, + 25625: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901); + t.exports = function (t, e, r, a) { + a("opacity"); + var o = a("bgcolor"), + s = a("bordercolor"), + l = i.opacity(s); + a("borderpad"); + var u = a("borderwidth"), + c = a("showarrow"); + if ( + (a("text", c ? " " : r._dfltTitle.annotation), + a("textangle"), + n.coerceFont(a, "font", r.font), + a("width"), + a("align"), + a("height") && a("valign"), + c) + ) { + var f, + h, + p = a("arrowside"); + -1 !== p.indexOf("end") && + ((f = a("arrowhead")), (h = a("arrowsize"))), + -1 !== p.indexOf("start") && + (a("startarrowhead", f), a("startarrowsize", h)), + a("arrowcolor", l ? e.bordercolor : i.defaultLine), + a("arrowwidth", 2 * ((l && u) || 1)), + a("standoff"), + a("startstandoff"); + } + var d = a("hovertext"), + v = r.hoverlabel || {}; + if (d) { + var g = a( + "hoverlabel.bgcolor", + v.bgcolor || + (i.opacity(o) ? i.rgb(o) : i.defaultLine), + ), + y = a( + "hoverlabel.bordercolor", + v.bordercolor || i.contrast(g), + ); + n.coerceFont(a, "hoverlabel.font", { + family: v.font.family, + size: v.font.size, + color: v.font.color || y, + }); + } + a("captureevents", !!d); + }; + }, + 94128: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(58163); + t.exports = function (t, e, r, a) { + e = e || {}; + var o = "log" === r && "linear" === e.type, + s = "linear" === r && "log" === e.type; + if (o || s) + for ( + var l, + u, + c = t._fullLayout.annotations, + f = e._id.charAt(0), + h = 0; + h < c.length; + h++ + ) + (l = c[h]), + (u = "annotations[" + h + "]."), + l[f + "ref"] === e._id && p(f), + l["a" + f + "ref"] === e._id && p("a" + f); + function p(t) { + var r = l[t], + s = null; + (s = o ? i(r, e.range) : Math.pow(10, r)), + n(s) || (s = null), + a(u + t, s); + } + }; + }, + 84046: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(85501), + o = r(25625), + s = r(50215); + function l(t, e, r) { + function a(r, i) { + return n.coerce(t, e, s, r, i); + } + var l = a("visible"), + u = a("clicktoshow"); + if (l || u) { + o(t, e, r, a); + for ( + var c = e.showarrow, + f = ["x", "y"], + h = [-10, -30], + p = { _fullLayout: r }, + d = 0; + d < 2; + d++ + ) { + var v = f[d], + g = i.coerceRef(t, e, p, v, "", "paper"); + if ( + ("paper" !== g && + i.getFromId(p, g)._annIndices.push(e._index), + i.coercePosition(e, p, a, g, v, 0.5), + c) + ) { + var y = "a" + v, + m = i.coerceRef(t, e, p, y, "pixel", [ + "pixel", + "paper", + ]); + "pixel" !== m && m !== g && (m = e[y] = "pixel"); + var x = "pixel" === m ? h[d] : 0.4; + i.coercePosition(e, p, a, m, y, x); + } + a(v + "anchor"), a(v + "shift"); + } + if ( + (n.noneOrAll(t, e, ["x", "y"]), + c && n.noneOrAll(t, e, ["ax", "ay"]), + u) + ) { + var b = a("xclick"), + _ = a("yclick"); + (e._xclick = + void 0 === b ? e.x : i.cleanPosition(b, p, e.xref)), + (e._yclick = + void 0 === _ ? e.y : i.cleanPosition(_, p, e.yref)); + } + } + } + t.exports = function (t, e) { + a(t, e, { name: "annotations", handleItemDefaults: l }); + }; + }, + 92605: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(74875), + o = r(71828), + s = o.strTranslate, + l = r(89298), + u = r(7901), + c = r(91424), + f = r(30211), + h = r(63893), + p = r(6964), + d = r(28569), + v = r(44467).arrayEditor, + g = r(13011); + function y(t, e) { + var r = t._fullLayout.annotations[e] || {}, + n = l.getFromId(t, r.xref), + i = l.getFromId(t, r.yref); + n && n.setScale(), i && i.setScale(), x(t, r, e, !1, n, i); + } + function m(t, e, r, n, i) { + var a = i[r], + o = i[r + "ref"], + s = -1 !== r.indexOf("y"), + u = "domain" === l.getRefType(o), + c = s ? n.h : n.w; + return t + ? u + ? a + (s ? -e : e) / t._length + : t.p2r(t.r2p(a) + e) + : a + (s ? -e : e) / c; + } + function x(t, e, r, a, y, x) { + var b, + _, + w = t._fullLayout, + T = t._fullLayout._size, + k = t._context.edits; + a + ? ((b = "annotation-" + a), (_ = a + ".annotations")) + : ((b = "annotation"), (_ = "annotations")); + var A = v(t.layout, _, e), + M = A.modifyBase, + S = A.modifyItem, + E = A.getUpdateObj; + w._infolayer + .selectAll("." + b + '[data-index="' + r + '"]') + .remove(); + var L = "clip" + w._uid + "_ann" + r; + if (e._input && !1 !== e.visible) { + var C = { x: {}, y: {} }, + P = +e.textangle || 0, + O = w._infolayer + .append("g") + .classed(b, !0) + .attr("data-index", String(r)) + .style("opacity", e.opacity), + I = O.append("g").classed("annotation-text-g", !0), + D = + k[ + e.showarrow + ? "annotationTail" + : "annotationPosition" + ], + z = e.captureevents || k.annotationText || D, + R = I.append("g") + .style("pointer-events", z ? "all" : null) + .call(p, "pointer") + .on("click", function () { + (t._dragging = !1), + t.emit("plotly_clickannotation", Z(n.event)); + }); + e.hovertext && + R.on("mouseover", function () { + var r = e.hoverlabel, + n = r.font, + i = this.getBoundingClientRect(), + a = t.getBoundingClientRect(); + f.loneHover( + { + x0: i.left - a.left, + x1: i.right - a.left, + y: (i.top + i.bottom) / 2 - a.top, + text: e.hovertext, + color: r.bgcolor, + borderColor: r.bordercolor, + fontFamily: n.family, + fontSize: n.size, + fontColor: n.color, + }, + { + container: w._hoverlayer.node(), + outerContainer: w._paper.node(), + gd: t, + }, + ); + }).on("mouseout", function () { + f.loneUnhover(w._hoverlayer.node()); + }); + var F = e.borderwidth, + B = e.borderpad, + N = F + B, + j = R.append("rect") + .attr("class", "bg") + .style("stroke-width", F + "px") + .call(u.stroke, e.bordercolor) + .call(u.fill, e.bgcolor), + U = e.width || e.height, + V = w._topclips.selectAll("#" + L).data(U ? [0] : []); + V.enter() + .append("clipPath") + .classed("annclip", !0) + .attr("id", L) + .append("rect"), + V.exit().remove(); + var H = e.font, + q = w._meta + ? o.templateString(e.text, w._meta) + : e.text, + G = R.append("text") + .classed("annotation-text", !0) + .text(q); + k.annotationText + ? G.call(h.makeEditable, { delegate: R, gd: t }) + .call(Y) + .on("edit", function (r) { + (e.text = r), + this.call(Y), + S("text", r), + y && + y.autorange && + M(y._name + ".autorange", !0), + x && + x.autorange && + M(x._name + ".autorange", !0), + i.call("_guiRelayout", t, E()); + }) + : G.call(Y); + } else n.selectAll("#" + L).remove(); + function Z(t) { + var n = { + index: r, + annotation: e._input, + fullAnnotation: e, + event: t, + }; + return a && (n.subplotId = a), n; + } + function Y(r) { + return ( + r + .call(c.font, H) + .attr({ + "text-anchor": + { left: "start", right: "end" }[e.align] || + "middle", + }), + h.convertToTspans(r, t, W), + r + ); + } + function W() { + var r = G.selectAll("a"); + 1 === r.size() && + r.text() === G.text() && + R.insert("a", ":first-child") + .attr({ + "xlink:xlink:href": r.attr("xlink:href"), + "xlink:xlink:show": r.attr("xlink:show"), + }) + .style({ cursor: "pointer" }) + .node() + .appendChild(j.node()); + var n = R.select(".annotation-text-math-group"), + f = !n.empty(), + v = c.bBox((f ? n : G).node()), + b = v.width, + _ = v.height, + A = e.width || b, + z = e.height || _, + B = Math.round(A + 2 * N), + H = Math.round(z + 2 * N); + function q(t, e) { + return ( + "auto" === e && + (e = + t < 1 / 3 + ? "left" + : t > 2 / 3 + ? "right" + : "center"), + { + center: 0, + middle: 0, + left: 0.5, + bottom: -0.5, + right: -0.5, + top: 0.5, + }[e] + ); + } + for ( + var Y = !1, W = ["x", "y"], X = 0; + X < W.length; + X++ + ) { + var J, + K, + $, + Q, + tt, + et = W[X], + rt = e[et + "ref"] || et, + nt = e["a" + et + "ref"], + it = { x: y, y: x }[et], + at = ((P + ("x" === et ? 0 : -90)) * Math.PI) / 180, + ot = B * Math.cos(at), + st = H * Math.sin(at), + lt = Math.abs(ot) + Math.abs(st), + ut = e[et + "anchor"], + ct = e[et + "shift"] * ("x" === et ? 1 : -1), + ft = C[et], + ht = l.getRefType(rt); + if (it && "domain" !== ht) { + var pt = it.r2fraction(e[et]); + (pt < 0 || pt > 1) && + (nt === rt + ? ((pt = it.r2fraction(e["a" + et])) < 0 || + pt > 1) && + (Y = !0) + : (Y = !0)), + (J = it._offset + it.r2p(e[et])), + (Q = 0.5); + } else { + var dt = "domain" === ht; + "x" === et + ? (($ = e[et]), + (J = dt + ? it._offset + it._length * $ + : (J = T.l + T.w * $))) + : (($ = 1 - e[et]), + (J = dt + ? it._offset + it._length * $ + : (J = T.t + T.h * $))), + (Q = e.showarrow ? 0.5 : $); + } + if (e.showarrow) { + ft.head = J; + var vt = e["a" + et]; + if ( + ((tt = + ot * q(0.5, e.xanchor) - st * q(0.5, e.yanchor)), + nt === rt) + ) { + var gt = l.getRefType(nt); + "domain" === gt + ? ("y" === et && (vt = 1 - vt), + (ft.tail = it._offset + it._length * vt)) + : "paper" === gt + ? "y" === et + ? ((vt = 1 - vt), (ft.tail = T.t + T.h * vt)) + : (ft.tail = T.l + T.w * vt) + : (ft.tail = it._offset + it.r2p(vt)), + (K = tt); + } else (ft.tail = J + vt), (K = tt + vt); + ft.text = ft.tail + tt; + var yt = w["x" === et ? "width" : "height"]; + if ( + ("paper" === rt && + (ft.head = o.constrain(ft.head, 1, yt - 1)), + "pixel" === nt) + ) { + var mt = -Math.max(ft.tail - 3, ft.text), + xt = Math.min(ft.tail + 3, ft.text) - yt; + mt > 0 + ? ((ft.tail += mt), (ft.text += mt)) + : xt > 0 && ((ft.tail -= xt), (ft.text -= xt)); + } + (ft.tail += ct), (ft.head += ct); + } else (K = tt = lt * q(Q, ut)), (ft.text = J + tt); + (ft.text += ct), + (tt += ct), + (K += ct), + (e["_" + et + "padplus"] = lt / 2 + K), + (e["_" + et + "padminus"] = lt / 2 - K), + (e["_" + et + "size"] = lt), + (e["_" + et + "shift"] = tt); + } + if (Y) R.remove(); + else { + var bt = 0, + _t = 0; + if ( + ("left" !== e.align && + (bt = (A - b) * ("center" === e.align ? 0.5 : 1)), + "top" !== e.valign && + (_t = (z - _) * ("middle" === e.valign ? 0.5 : 1)), + f) + ) + n.select("svg") + .attr({ x: N + bt - 1, y: N + _t }) + .call(c.setClipUrl, U ? L : null, t); + else { + var wt = N + _t - v.top, + Tt = N + bt - v.left; + G.call(h.positionText, Tt, wt).call( + c.setClipUrl, + U ? L : null, + t, + ); + } + V.select("rect").call(c.setRect, N, N, A, z), + j.call(c.setRect, F / 2, F / 2, B - F, H - F), + R.call( + c.setTranslate, + Math.round(C.x.text - B / 2), + Math.round(C.y.text - H / 2), + ), + I.attr({ + transform: + "rotate(" + + P + + "," + + C.x.text + + "," + + C.y.text + + ")", + }); + var kt, + At = function (r, n) { + O.selectAll(".annotation-arrow-g").remove(); + var l = C.x.head, + f = C.y.head, + h = C.x.tail + r, + p = C.y.tail + n, + v = C.x.text + r, + b = C.y.text + n, + _ = o.rotationXYMatrix(P, v, b), + w = o.apply2DTransform(_), + A = o.apply2DTransform2(_), + L = +j.attr("width"), + D = +j.attr("height"), + z = v - 0.5 * L, + F = z + L, + B = b - 0.5 * D, + N = B + D, + U = [ + [z, B, z, N], + [z, N, F, N], + [F, N, F, B], + [F, B, z, B], + ].map(A); + if ( + !U.reduce(function (t, e) { + return ( + t ^ + !!o.segmentsIntersect( + l, + f, + l + 1e6, + f + 1e6, + e[0], + e[1], + e[2], + e[3], + ) + ); + }, !1) + ) { + U.forEach(function (t) { + var e = o.segmentsIntersect( + h, + p, + l, + f, + t[0], + t[1], + t[2], + t[3], + ); + e && ((h = e.x), (p = e.y)); + }); + var V = e.arrowwidth, + H = e.arrowcolor, + q = e.arrowside, + G = O.append("g") + .style({ opacity: u.opacity(H) }) + .classed("annotation-arrow-g", !0), + Z = G.append("path") + .attr( + "d", + "M" + h + "," + p + "L" + l + "," + f, + ) + .style("stroke-width", V + "px") + .call(u.stroke, u.rgb(H)); + if ( + (g(Z, q, e), + k.annotationPosition && + Z.node().parentNode && + !a) + ) { + var Y = l, + W = f; + if (e.standoff) { + var X = Math.sqrt( + Math.pow(l - h, 2) + Math.pow(f - p, 2), + ); + (Y += (e.standoff * (h - l)) / X), + (W += (e.standoff * (p - f)) / X); + } + var J, + K, + $ = G.append("path") + .classed("annotation-arrow", !0) + .classed("anndrag", !0) + .classed("cursor-move", !0) + .attr({ + d: + "M3,3H-3V-3H3ZM0,0L" + + (h - Y) + + "," + + (p - W), + transform: s(Y, W), + }) + .style("stroke-width", V + 6 + "px") + .call(u.stroke, "rgba(0,0,0,0)") + .call(u.fill, "rgba(0,0,0,0)"); + d.init({ + element: $.node(), + gd: t, + prepFn: function () { + var t = c.getTranslate(R); + (J = t.x), + (K = t.y), + y && + y.autorange && + M(y._name + ".autorange", !0), + x && + x.autorange && + M(x._name + ".autorange", !0); + }, + moveFn: function (t, r) { + var n = w(J, K), + i = n[0] + t, + a = n[1] + r; + R.call(c.setTranslate, i, a), + S("x", m(y, t, "x", T, e)), + S("y", m(x, r, "y", T, e)), + e.axref === e.xref && + S("ax", m(y, t, "ax", T, e)), + e.ayref === e.yref && + S("ay", m(x, r, "ay", T, e)), + G.attr("transform", s(t, r)), + I.attr({ + transform: + "rotate(" + + P + + "," + + i + + "," + + a + + ")", + }); + }, + doneFn: function () { + i.call("_guiRelayout", t, E()); + var e = document.querySelector( + ".js-notes-box-panel", + ); + e && e.redraw(e.selectedObj); + }, + }); + } + } + }; + e.showarrow && At(0, 0), + D && + d.init({ + element: R.node(), + gd: t, + prepFn: function () { + kt = I.attr("transform"); + }, + moveFn: function (t, r) { + var n = "pointer"; + if (e.showarrow) + e.axref === e.xref + ? S("ax", m(y, t, "ax", T, e)) + : S("ax", e.ax + t), + e.ayref === e.yref + ? S("ay", m(x, r, "ay", T.w, e)) + : S("ay", e.ay + r), + At(t, r); + else { + if (a) return; + var i, o; + if (y) i = m(y, t, "x", T, e); + else { + var l = e._xsize / T.w, + u = + e.x + + (e._xshift - e.xshift) / T.w - + l / 2; + i = d.align( + u + t / T.w, + l, + 0, + 1, + e.xanchor, + ); + } + if (x) o = m(x, r, "y", T, e); + else { + var c = e._ysize / T.h, + f = + e.y - + (e._yshift + e.yshift) / T.h - + c / 2; + o = d.align( + f - r / T.h, + c, + 0, + 1, + e.yanchor, + ); + } + S("x", i), + S("y", o), + (y && x) || + (n = d.getCursor( + y ? 0.5 : i, + x ? 0.5 : o, + e.xanchor, + e.yanchor, + )); + } + I.attr({ transform: s(t, r) + kt }), p(R, n); + }, + clickFn: function (r, n) { + e.captureevents && + t.emit("plotly_clickannotation", Z(n)); + }, + doneFn: function () { + p(R), i.call("_guiRelayout", t, E()); + var e = document.querySelector( + ".js-notes-box-panel", + ); + e && e.redraw(e.selectedObj); + }, + }); + } + } + } + t.exports = { + 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 && y(t, r); + return a.previousPromises(t); + }, + drawOne: y, + drawRaw: x, + }; + }, + 13011: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(7901), + a = r(82884), + o = r(71828), + s = o.strScale, + l = o.strRotate, + u = o.strTranslate; + t.exports = function (t, e, r) { + var o, + c, + f, + h, + p = t.node(), + d = a[r.arrowhead || 0], + v = a[r.startarrowhead || 0], + g = (r.arrowwidth || 1) * (r.arrowsize || 1), + y = (r.arrowwidth || 1) * (r.startarrowsize || 1), + m = e.indexOf("start") >= 0, + x = e.indexOf("end") >= 0, + b = d.backoff * g + r.standoff, + _ = v.backoff * y + r.startstandoff; + if ("line" === p.nodeName) { + (o = { x: +t.attr("x1"), y: +t.attr("y1") }), + (c = { x: +t.attr("x2"), y: +t.attr("y2") }); + var w = o.x - c.x, + T = o.y - c.y; + if ( + ((h = (f = Math.atan2(T, w)) + Math.PI), + b && _ && b + _ > Math.sqrt(w * w + T * T)) + ) + return void D(); + if (b) { + if (b * b > w * w + T * T) return void D(); + var k = b * Math.cos(f), + A = b * Math.sin(f); + (c.x += k), (c.y += A), t.attr({ x2: c.x, y2: c.y }); + } + if (_) { + if (_ * _ > w * w + T * T) return void D(); + var M = _ * Math.cos(f), + S = _ * Math.sin(f); + (o.x -= M), (o.y -= S), t.attr({ x1: o.x, y1: o.y }); + } + } else if ("path" === p.nodeName) { + var E = p.getTotalLength(), + L = ""; + if (E < b + _) return void D(); + var C = p.getPointAtLength(0), + P = p.getPointAtLength(0.1); + (f = Math.atan2(C.y - P.y, C.x - P.x)), + (o = p.getPointAtLength(Math.min(_, E))), + (L = "0px," + _ + "px,"); + var O = p.getPointAtLength(E), + I = p.getPointAtLength(E - 0.1); + (h = Math.atan2(O.y - I.y, O.x - I.x)), + (c = p.getPointAtLength(Math.max(0, E - b))), + (L += E - (L ? _ + b : b) + "px," + E + "px"), + t.style("stroke-dasharray", L); + } + function D() { + t.style("stroke-dasharray", "0px,100px"); + } + function z(e, a, o, c) { + e.path && + (e.noRotate && (o = 0), + n + .select(p.parentNode) + .append("path") + .attr({ + class: t.attr("class"), + d: e.path, + transform: + u(a.x, a.y) + l((180 * o) / Math.PI) + s(c), + }) + .style({ + fill: i.rgb(r.arrowcolor), + "stroke-width": 0, + })); + } + m && z(v, o, f, y), x && z(d, c, h, g); + }; + }, + 32745: function (t, e, r) { + "use strict"; + var n = r(92605), + i = r(44317); + t.exports = { + moduleType: "component", + name: "annotations", + layoutAttributes: r(50215), + supplyLayoutDefaults: r(84046), + includeBasePlot: r(76325)("annotations"), + calcAutorange: r(3749), + draw: n.draw, + drawOne: n.drawOne, + drawRaw: n.drawRaw, + hasClickToShow: i.hasClickToShow, + onClick: i.onClick, + convertCoords: r(94128), + }; + }, + 26997: function (t, e, r) { + "use strict"; + var n = r(50215), + i = r(30962).overrideAll, + a = r(44467).templatedArray; + t.exports = i( + a("annotation", { + visible: n.visible, + x: { valType: "any" }, + y: { valType: "any" }, + z: { valType: "any" }, + ax: { valType: "number" }, + ay: { valType: "number" }, + xanchor: n.xanchor, + xshift: n.xshift, + yanchor: n.yanchor, + yshift: n.yshift, + text: n.text, + textangle: n.textangle, + font: n.font, + width: n.width, + height: n.height, + opacity: n.opacity, + align: n.align, + valign: n.valign, + bgcolor: n.bgcolor, + bordercolor: n.bordercolor, + borderpad: n.borderpad, + borderwidth: n.borderwidth, + showarrow: n.showarrow, + arrowcolor: n.arrowcolor, + arrowhead: n.arrowhead, + startarrowhead: n.startarrowhead, + arrowside: n.arrowside, + arrowsize: n.arrowsize, + startarrowsize: n.startarrowsize, + arrowwidth: n.arrowwidth, + standoff: n.standoff, + startstandoff: n.startstandoff, + hovertext: n.hovertext, + hoverlabel: n.hoverlabel, + captureevents: n.captureevents, + }), + "calc", + "from-root", + ); + }, + 5485: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298); + function a(t, e) { + var r = e.fullSceneLayout.domain, + a = e.fullLayout._size, + o = { + pdata: null, + type: "linear", + autorange: !1, + range: [-1 / 0, 1 / 0], + }; + (t._xa = {}), + n.extendFlat(t._xa, o), + i.setConvert(t._xa), + (t._xa._offset = a.l + r.x[0] * a.w), + (t._xa.l2p = function () { + return ( + 0.5 * + (1 + t._pdata[0] / t._pdata[3]) * + a.w * + (r.x[1] - r.x[0]) + ); + }), + (t._ya = {}), + n.extendFlat(t._ya, o), + i.setConvert(t._ya), + (t._ya._offset = a.t + (1 - r.y[1]) * a.h), + (t._ya.l2p = function () { + return ( + 0.5 * + (1 - t._pdata[1] / t._pdata[3]) * + a.h * + (r.y[1] - r.y[0]) + ); + }); + } + t.exports = function (t) { + for ( + var e = t.fullSceneLayout.annotations, r = 0; + r < e.length; + r++ + ) + a(e[r], t); + t.fullLayout._infolayer + .selectAll(".annotation-" + t.id) + .remove(); + }; + }, + 20226: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(85501), + o = r(25625), + s = r(26997); + function l(t, e, r, a) { + function l(r, i) { + return n.coerce(t, e, s, r, i); + } + function u(t) { + var n = t + "axis", + a = { _fullLayout: {} }; + return ( + (a._fullLayout[n] = r[n]), + i.coercePosition(e, a, l, t, t, 0.5) + ); + } + l("visible") && + (o(t, e, a.fullLayout, l), + u("x"), + u("y"), + u("z"), + n.noneOrAll(t, e, ["x", "y", "z"]), + (e.xref = "x"), + (e.yref = "y"), + (e.zref = "z"), + l("xanchor"), + l("yanchor"), + l("xshift"), + l("yshift"), + e.showarrow && + ((e.axref = "pixel"), + (e.ayref = "pixel"), + l("ax", -10), + l("ay", -30), + n.noneOrAll(t, e, ["ax", "ay"]))); + } + t.exports = function (t, e, r) { + a(t, e, { + name: "annotations", + handleItemDefaults: l, + fullLayout: r.fullLayout, + }); + }; + }, + 82188: function (t, e, r) { + "use strict"; + var n = r(92605).drawRaw, + i = r(63538), + a = ["x", "y", "z"]; + t.exports = function (t) { + for ( + var e = t.fullSceneLayout, + r = t.dataScale, + o = e.annotations, + s = 0; + s < o.length; + s++ + ) { + for (var l = o[s], u = !1, c = 0; c < 3; c++) { + var f = a[c], + h = l[f], + p = e[f + "axis"].r2fraction(h); + if (p < 0 || p > 1) { + u = !0; + break; + } + } + u + ? t.fullLayout._infolayer + .select( + ".annotation-" + + t.id + + '[data-index="' + + s + + '"]', + ) + .remove() + : ((l._pdata = i(t.glplot.cameraParams, [ + e.xaxis.r2l(l.x) * r[0], + e.yaxis.r2l(l.y) * r[1], + e.zaxis.r2l(l.z) * r[2], + ])), + n(t.graphDiv, l, s, t.id, l._xa, l._ya)); + } + }; + }, + 2468: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828); + t.exports = { + moduleType: "component", + name: "annotations3d", + schema: { subplots: { scene: { annotations: r(26997) } } }, + layoutAttributes: r(26997), + handleDefaults: r(20226), + includeBasePlot: function (t, e) { + var r = n.subplotsRegistry.gl3d; + if (r) + for ( + var a = r.attrRegex, o = Object.keys(t), s = 0; + s < o.length; + s++ + ) { + var l = o[s]; + a.test(l) && + (t[l].annotations || []).length && + (i.pushUnique(e._basePlotModules, r), + i.pushUnique(e._subplots.gl3d, l)); + } + }, + convert: r(5485), + draw: r(82188), + }; + }, + 7561: function (t, e, r) { + "use strict"; + (t.exports = r(63489)), + r(94338), + r(3961), + r(38751), + r(86825), + r(37715), + r(99384), + r(43805), + r(88874), + r(83290), + r(29108), + r(55422), + r(94320), + r(31320), + r(51367), + r(21457); + }, + 72201: function (t, e, r) { + "use strict"; + var n = r(7561), + i = r(71828), + a = r(50606), + o = a.EPOCHJD, + s = a.ONEDAY, + l = { + valType: "enumerated", + values: i.sortObjectKeys(n.calendars), + editType: "calc", + dflt: "gregorian", + }, + u = function (t, e, r, n) { + var a = {}; + return (a[r] = l), i.coerce(t, e, a, r, n); + }, + c = "##", + f = { + 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: c, + w: c, + c: { 0: "D M d %X yyyy", "-": "D M d %X yyyy" }, + x: { 0: "mm/dd/yyyy", "-": "mm/dd/yyyy" }, + }, + h = {}; + function p(t) { + var e = h[t]; + return e || (h[t] = n.instance(t)); + } + function d(t) { + return i.extendFlat({}, l, { description: t }); + } + function v(t) { + return ( + "Sets the calendar system to use with `" + + t + + "` date data." + ); + } + var g = { xcalendar: d(v("x")) }, + y = i.extendFlat({}, g, { ycalendar: d(v("y")) }), + m = i.extendFlat({}, y, { zcalendar: d(v("z")) }), + x = d( + [ + "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(" "), + ); + t.exports = { + moduleType: "component", + name: "calendars", + schema: { + traces: { + scatter: y, + bar: y, + box: y, + heatmap: y, + contour: y, + histogram: y, + histogram2d: y, + histogram2dcontour: y, + scatter3d: m, + surface: m, + mesh3d: m, + scattergl: y, + ohlc: g, + candlestick: g, + }, + layout: { + calendar: d( + [ + "Sets the default calendar system to use for interpreting and", + "displaying dates throughout the plot.", + ].join(" "), + ), + }, + subplots: { + xaxis: { calendar: x }, + yaxis: { calendar: x }, + scene: { + xaxis: { calendar: x }, + yaxis: { calendar: x }, + zaxis: { calendar: x }, + }, + polar: { radialaxis: { calendar: x } }, + }, + transforms: { + filter: { + valuecalendar: d( + [ + "WARNING: All transforms are deprecated and may be removed from the API in next major version.", + "Sets the calendar system to use for `value`, if it is a date.", + ].join(" "), + ), + targetcalendar: d( + [ + "WARNING: All transforms are deprecated and may be removed from the API in next major version.", + "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: l, + handleDefaults: u, + handleTraceDefaults: function (t, e, r, n) { + for (var i = 0; i < r.length; i++) + u(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: p, + worldCalFmt: function (t, e, r) { + for ( + var n, + i, + a, + l, + u, + h = Math.floor((e + 0.05) / s) + o, + d = p(r).fromJD(h), + v = 0; + -1 !== (v = t.indexOf("%", v)); + + ) + "0" === (n = t.charAt(v + 1)) || "-" === n || "_" === n + ? ((a = 3), + (i = t.charAt(v + 2)), + "_" === n && (n = "-")) + : ((i = n), (n = "0"), (a = 2)), + (l = f[i]) + ? ((u = l === c ? c : d.formatDate(l[n])), + (t = t.substr(0, v) + u + t.substr(v + a)), + (v += u.length)) + : (v += a); + return t; + }, + }; + }, + 22399: function (t, e) { + "use strict"; + (e.defaults = [ + "#1f77b4", + "#ff7f0e", + "#2ca02c", + "#d62728", + "#9467bd", + "#8c564b", + "#e377c2", + "#7f7f7f", + "#bcbd22", + "#17becf", + ]), + (e.defaultLine = "#444"), + (e.lightLine = "#eee"), + (e.background = "#fff"), + (e.borderLine = "#BEC8D9"), + (e.lightFraction = 1e3 / 11); + }, + 7901: function (t, e, r) { + "use strict"; + var n = r(84267), + i = r(92770), + a = r(73627).isTypedArray, + o = (t.exports = {}), + s = r(22399); + o.defaults = s.defaults; + var l = (o.defaultLine = s.defaultLine); + o.lightLine = s.lightLine; + var u = (o.background = s.background); + function c(t) { + if (i(t) || "string" != typeof t) return t; + var e = t.trim(); + if ("rgb" !== e.substr(0, 3)) return t; + var r = e.match(/^rgba?\s*\(([^()]*)\)$/); + if (!r) return t; + var n = r[1].trim().split(/\s*[\s,]\s*/), + a = "a" === e.charAt(3) && 4 === n.length; + if (!a && 3 !== n.length) return t; + for (var o = 0; o < n.length; o++) { + if (!n[o].length) return t; + if (((n[o] = Number(n[o])), !(n[o] >= 0))) return t; + if (3 === o) n[o] > 1 && (n[o] = 1); + else if (n[o] >= 1) return t; + } + var s = + Math.round(255 * n[0]) + + ", " + + Math.round(255 * n[1]) + + ", " + + Math.round(255 * n[2]); + return a + ? "rgba(" + s + ", " + n[3] + ")" + : "rgb(" + s + ")"; + } + (o.tinyRGB = function (t) { + var e = t.toRgb(); + return ( + "rgb(" + + Math.round(e.r) + + ", " + + Math.round(e.g) + + ", " + + Math.round(e.b) + + ")" + ); + }), + (o.rgb = function (t) { + return o.tinyRGB(n(t)); + }), + (o.opacity = function (t) { + return t ? n(t).getAlpha() : 0; + }), + (o.addOpacity = function (t, e) { + var r = n(t).toRgb(); + return ( + "rgba(" + + Math.round(r.r) + + ", " + + Math.round(r.g) + + ", " + + Math.round(r.b) + + ", " + + e + + ")" + ); + }), + (o.combine = function (t, e) { + var r = n(t).toRgb(); + if (1 === r.a) return n(t).toRgbString(); + var i = n(e || u).toRgb(), + a = + 1 === i.a + ? i + : { + r: 255 * (1 - i.a) + i.r * i.a, + g: 255 * (1 - i.a) + i.g * i.a, + b: 255 * (1 - i.a) + i.b * i.a, + }, + o = { + r: a.r * (1 - r.a) + r.r * r.a, + g: a.g * (1 - r.a) + r.g * r.a, + b: a.b * (1 - r.a) + r.b * r.a, + }; + return n(o).toRgbString(); + }), + (o.contrast = function (t, e, r) { + var i = n(t); + return ( + 1 !== i.getAlpha() && (i = n(o.combine(t, u))), + (i.isDark() + ? e + ? i.lighten(e) + : u + : r + ? i.darken(r) + : l + ).toString() + ); + }), + (o.stroke = function (t, e) { + var r = n(e); + t.style({ + stroke: o.tinyRGB(r), + "stroke-opacity": r.getAlpha(), + }); + }), + (o.fill = function (t, e) { + var r = n(e); + t.style({ + fill: o.tinyRGB(r), + "fill-opacity": r.getAlpha(), + }); + }), + (o.clean = function (t) { + if (t && "object" == typeof t) { + var e, + r, + n, + i, + s = Object.keys(t); + for (e = 0; e < s.length; e++) + if ( + ((i = t[(n = s[e])]), + "color" === n.substr(n.length - 5)) + ) + if (Array.isArray(i)) + for (r = 0; r < i.length; r++) i[r] = c(i[r]); + else t[n] = c(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] = c(i[r][1])); + else if (Array.isArray(i)) { + var l = i[0]; + if (!Array.isArray(l) && l && "object" == typeof l) + for (r = 0; r < i.length; r++) o.clean(i[r]); + } else + i && "object" == typeof i && !a(i) && o.clean(i); + } + }); + }, + 63583: function (t, e, r) { + "use strict"; + var n = r(13838), + i = r(41940), + a = r(1426).extendFlat, + o = r(30962).overrideAll; + t.exports = o( + { + orientation: { + valType: "enumerated", + values: ["h", "v"], + dflt: "v", + }, + 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" }, + xref: { + valType: "enumerated", + dflt: "paper", + values: ["container", "paper"], + editType: "layoutstyle", + }, + xanchor: { + valType: "enumerated", + values: ["left", "center", "right"], + }, + xpad: { valType: "number", min: 0, dflt: 10 }, + y: { valType: "number" }, + yref: { + valType: "enumerated", + dflt: "paper", + values: ["container", "paper"], + editType: "layoutstyle", + }, + yanchor: { + valType: "enumerated", + values: ["top", "middle", "bottom"], + }, + ypad: { valType: "number", min: 0, dflt: 10 }, + outlinecolor: n.linecolor, + outlinewidth: n.linewidth, + bordercolor: n.linecolor, + borderwidth: { valType: "number", min: 0, dflt: 0 }, + bgcolor: { valType: "color", dflt: "rgba(0,0,0,0)" }, + tickmode: n.minor.tickmode, + nticks: n.nticks, + tick0: n.tick0, + dtick: n.dtick, + tickvals: n.tickvals, + ticktext: n.ticktext, + ticks: a({}, n.ticks, { dflt: "" }), + ticklabeloverflow: a({}, n.ticklabeloverflow, {}), + ticklabelposition: { + valType: "enumerated", + values: [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom", + ], + dflt: "outside", + }, + ticklen: n.ticklen, + tickwidth: n.tickwidth, + tickcolor: n.tickcolor, + ticklabelstep: n.ticklabelstep, + showticklabels: n.showticklabels, + labelalias: n.labelalias, + tickfont: i({}), + tickangle: n.tickangle, + tickformat: n.tickformat, + tickformatstops: n.tickformatstops, + tickprefix: n.tickprefix, + showtickprefix: n.showtickprefix, + ticksuffix: n.ticksuffix, + showticksuffix: n.showticksuffix, + separatethousands: n.separatethousands, + exponentformat: n.exponentformat, + minexponent: n.minexponent, + showexponent: n.showexponent, + title: { + text: { valType: "string" }, + font: i({}), + side: { + valType: "enumerated", + values: ["right", "top", "bottom"], + }, + }, + _deprecated: { + title: { valType: "string" }, + titlefont: i({}), + titleside: { + valType: "enumerated", + values: ["right", "top", "bottom"], + dflt: "top", + }, + }, + }, + "colorbars", + "from-root", + ); + }, + 30939: function (t) { + "use strict"; + t.exports = { + cn: { + 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", + }, + }; + }, + 62499: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(44467), + a = r(26218), + o = r(38701), + s = r(96115), + l = r(89426), + u = r(63583); + t.exports = function (t, e, r) { + var c = i.newContainer(e, "colorbar"), + f = t.colorbar || {}; + function h(t, e) { + return n.coerce(f, c, u, t, e); + } + var p = r.margin || { t: 0, b: 0, l: 0, r: 0 }, + d = r.width - p.l - p.r, + v = r.height - p.t - p.b, + g = "v" === h("orientation"), + y = h("thicknessmode"); + h("thickness", "fraction" === y ? 30 / (g ? d : v) : 30); + var m = h("lenmode"); + h("len", "fraction" === m ? 1 : g ? v : d); + var x, + b, + _, + w = "paper" === h("yref"), + T = "paper" === h("xref"), + k = "left"; + g + ? ((_ = "middle"), + (k = T ? "left" : "right"), + (x = T ? 1.02 : 1), + (b = 0.5)) + : ((_ = w ? "bottom" : "top"), + (k = "center"), + (x = 0.5), + (b = w ? 1.02 : 1)), + n.coerce( + f, + c, + { + x: { + valType: "number", + min: T ? -2 : 0, + max: T ? 3 : 1, + dflt: x, + }, + }, + "x", + ), + n.coerce( + f, + c, + { + y: { + valType: "number", + min: w ? -2 : 0, + max: w ? 3 : 1, + dflt: b, + }, + }, + "y", + ), + h("xanchor", k), + h("xpad"), + h("yanchor", _), + h("ypad"), + n.noneOrAll(f, c, ["x", "y"]), + h("outlinecolor"), + h("outlinewidth"), + h("bordercolor"), + h("borderwidth"), + h("bgcolor"); + var A = n.coerce( + f, + c, + { + ticklabelposition: { + valType: "enumerated", + dflt: "outside", + values: g + ? [ + "outside", + "inside", + "outside top", + "inside top", + "outside bottom", + "inside bottom", + ] + : [ + "outside", + "inside", + "outside left", + "inside left", + "outside right", + "inside right", + ], + }, + }, + "ticklabelposition", + ); + h( + "ticklabeloverflow", + -1 !== A.indexOf("inside") + ? "hide past domain" + : "hide past div", + ), + a(f, c, h, "linear"); + var M = r.font, + S = { outerTicks: !1, font: M }; + -1 !== A.indexOf("inside") && (S.bgColor = "black"), + l(f, c, h, "linear", S), + s(f, c, h, "linear", S), + o(f, c, h, "linear", S), + h("title.text", r._dfltTitle.colorbar); + var E = c.showticklabels ? c.tickfont : M, + L = n.extendFlat({}, E, { + color: M.color, + size: n.bigFont(E.size), + }); + n.coerceFont(h, "title.font", L), + h("title.side", g ? "top" : "right"); + }; + }, + 98981: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(84267), + a = r(74875), + o = r(73972), + s = r(89298), + l = r(28569), + u = r(71828), + c = u.strTranslate, + f = r(1426).extendFlat, + h = r(6964), + p = r(91424), + d = r(7901), + v = r(92998), + g = r(63893), + y = r(52075).flipScale, + m = r(71453), + x = r(52830), + b = r(13838), + _ = r(18783), + w = _.LINE_SPACING, + T = _.FROM_TL, + k = _.FROM_BR, + A = r(30939).cn; + t.exports = { + draw: function (t) { + var e = t._fullLayout._infolayer + .selectAll("g." + A.colorbar) + .data( + (function (t) { + var e, + r, + n, + i, + a = t._fullLayout, + o = t.calcdata, + s = []; + function l(t) { + return f(t, { + _fillcolor: null, + _line: { color: null, width: null, dash: null }, + _levels: { start: null, end: null, size: null }, + _filllevels: null, + _fillgradient: null, + _zrange: null, + }); + } + function u() { + "function" == typeof i.calc + ? i.calc(t, n, e) + : ((e._fillgradient = r.reversescale + ? y(r.colorscale) + : r.colorscale), + (e._zrange = [r[i.min], r[i.max]])); + } + for (var c = 0; c < o.length; c++) { + var h = o[c]; + if ((n = h[0].trace)._module) { + var p = n._module.colorbar; + if (!0 === n.visible && p) + for ( + var d = Array.isArray(p), + v = d ? p : [p], + g = 0; + g < v.length; + g++ + ) { + var m = (i = v[g]).container; + (r = m ? n[m] : n) && + r.showscale && + (((e = l(r.colorbar))._id = + "cb" + n.uid + (d && m ? "-" + m : "")), + (e._traceIndex = n.index), + (e._propPrefix = + (m ? m + "." : "") + "colorbar."), + (e._meta = n._meta), + u(), + s.push(e)); + } + } + } + for (var x in a._colorAxes) + if ((r = a[x]).showscale) { + var b = a._colorAxes[x]; + ((e = l(r.colorbar))._id = "cb" + x), + (e._propPrefix = x + ".colorbar."), + (e._meta = a._meta), + (i = { min: "cmin", max: "cmax" }), + "heatmap" !== b[0] && + ((n = b[1]), + (i.calc = n._module.colorbar.calc)), + u(), + s.push(e); + } + return s; + })(t), + function (t) { + return t._id; + }, + ); + e + .enter() + .append("g") + .attr("class", function (t) { + return t._id; + }) + .classed(A.colorbar, !0), + e.each(function (e) { + var r = n.select(this); + u.ensureSingle(r, "rect", A.cbbg), + u.ensureSingle(r, "g", A.cbfills), + u.ensureSingle(r, "g", A.cblines), + u.ensureSingle(r, "g", A.cbaxis, function (t) { + t.classed(A.crisp, !0); + }), + u.ensureSingle( + r, + "g", + A.cbtitleunshift, + function (t) { + t.append("g").classed(A.cbtitle, !0); + }, + ), + u.ensureSingle(r, "rect", A.cboutline); + var y = (function (t, e, r) { + var o = "v" === e.orientation, + l = e.len, + h = e.lenmode, + y = e.thickness, + _ = e.thicknessmode, + M = e.outlinewidth, + S = e.borderwidth, + E = e.bgcolor, + L = e.xanchor, + C = e.yanchor, + P = e.xpad, + O = e.ypad, + I = e.x, + D = o ? e.y : 1 - e.y, + z = "paper" === e.yref, + R = "paper" === e.xref, + F = r._fullLayout, + B = F._size, + N = e._fillcolor, + j = e._line, + U = e.title, + V = U.side, + H = + e._zrange || + n.extent( + ("function" == typeof N + ? N + : j.color + ).domain(), + ), + q = + "function" == typeof j.color + ? j.color + : function () { + return j.color; + }, + G = + "function" == typeof N + ? N + : function () { + return N; + }, + Z = e._levels, + Y = (function (t, e, r) { + var n, + i, + a = e._levels, + o = [], + s = [], + l = a.end + a.size / 100, + u = a.size, + c = 1.001 * r[0] - 0.001 * r[1], + f = 1.001 * r[1] - 0.001 * r[0]; + for ( + i = 0; + i < 1e5 && + ((n = a.start + i * u), + !(u > 0 ? n >= l : n <= l)); + i++ + ) + n > c && n < f && o.push(n); + if (e._fillgradient) s = [0]; + else if ("function" == typeof e._fillcolor) { + var h = e._filllevels; + if (h) + for ( + l = h.end + h.size / 100, + u = h.size, + i = 0; + i < 1e5 && + ((n = h.start + i * u), + !(u > 0 ? n >= l : n <= l)); + i++ + ) + n > r[0] && n < r[1] && s.push(n); + else + (s = o.map(function (t) { + return t - a.size / 2; + })).push(s[s.length - 1] + a.size); + } else + e._fillcolor && + "string" == typeof e._fillcolor && + (s = [0]); + return ( + a.size < 0 && (o.reverse(), s.reverse()), + { line: o, fill: s } + ); + })(0, e, H), + W = Y.fill, + X = Y.line, + J = Math.round( + y * ("fraction" === _ ? (o ? B.w : B.h) : 1), + ), + K = J / (o ? B.w : B.h), + $ = Math.round( + l * ("fraction" === h ? (o ? B.h : B.w) : 1), + ), + Q = $ / (o ? B.h : B.w), + tt = R ? B.w : r._fullLayout.width, + et = z ? B.h : r._fullLayout.height, + rt = Math.round(o ? I * tt + P : D * et + O), + nt = { center: 0.5, right: 1 }[L] || 0, + it = { top: 1, middle: 0.5 }[C] || 0, + at = o ? I - nt * K : D - it * K, + ot = o ? D - it * Q : I - nt * Q, + st = Math.round(o ? et * (1 - ot) : tt * ot); + (e._lenFrac = Q), + (e._thickFrac = K), + (e._uFrac = at), + (e._vFrac = ot); + var lt = (e._axis = (function (t, e, r) { + var n = t._fullLayout, + i = "v" === e.orientation, + a = { + type: "linear", + range: r, + tickmode: e.tickmode, + nticks: e.nticks, + tick0: e.tick0, + dtick: e.dtick, + tickvals: e.tickvals, + ticktext: e.ticktext, + ticks: e.ticks, + ticklen: e.ticklen, + tickwidth: e.tickwidth, + tickcolor: e.tickcolor, + showticklabels: e.showticklabels, + labelalias: e.labelalias, + ticklabelposition: e.ticklabelposition, + ticklabeloverflow: e.ticklabeloverflow, + ticklabelstep: e.ticklabelstep, + tickfont: e.tickfont, + tickangle: e.tickangle, + tickformat: e.tickformat, + exponentformat: e.exponentformat, + minexponent: e.minexponent, + separatethousands: e.separatethousands, + showexponent: e.showexponent, + showtickprefix: e.showtickprefix, + tickprefix: e.tickprefix, + showticksuffix: e.showticksuffix, + ticksuffix: e.ticksuffix, + title: e.title, + showline: !0, + anchor: "free", + side: i ? "right" : "bottom", + position: 1, + }, + o = i ? "y" : "x", + s = { type: "linear", _id: o + e._id }, + l = { + letter: o, + font: n.font, + noHover: !0, + noTickson: !0, + noTicklabelmode: !0, + calendar: n.calendar, + }; + function c(t, e) { + return u.coerce(a, s, b, t, e); + } + return m(a, s, c, l, n), x(a, s, c, l), s; + })(r, e, H)); + lt.position = K + (o ? I + P / B.w : D + O / B.h); + var ut = -1 !== ["top", "bottom"].indexOf(V); + if ( + (o && + ut && + ((lt.title.side = V), + (lt.titlex = I + P / B.w), + (lt.titley = + ot + + ("top" === U.side ? Q - O / B.h : O / B.h))), + o || + ut || + ((lt.title.side = V), + (lt.titley = D + O / B.h), + (lt.titlex = ot + P / B.w)), + j.color && "auto" === e.tickmode) + ) { + (lt.tickmode = "linear"), (lt.tick0 = Z.start); + var ct = Z.size, + ft = u.constrain($ / 50, 4, 15) + 1, + ht = (H[1] - H[0]) / ((e.nticks || ft) * ct); + if (ht > 1) { + var pt = Math.pow( + 10, + Math.floor(Math.log(ht) / Math.LN10), + ); + (ct *= pt * u.roundUp(ht / pt, [2, 5, 10])), + (Math.abs(Z.start) / Z.size + 1e-6) % 1 < + 2e-6 && (lt.tick0 = 0); + } + lt.dtick = ct; + } + (lt.domain = o + ? [ot + O / B.h, ot + Q - O / B.h] + : [ot + P / B.w, ot + Q - P / B.w]), + lt.setScale(), + t.attr( + "transform", + c(Math.round(B.l), Math.round(B.t)), + ); + var dt, + vt = t + .select("." + A.cbtitleunshift) + .attr( + "transform", + c(-Math.round(B.l), -Math.round(B.t)), + ), + gt = lt.ticklabelposition, + yt = lt.title.font.size, + mt = t.select("." + A.cbaxis), + xt = 0, + bt = 0; + function _t(n, i) { + var a = { + propContainer: lt, + propName: e._propPrefix + "title", + traceIndex: e._traceIndex, + _meta: e._meta, + placeholder: F._dfltTitle.colorbar, + containerGroup: t.select("." + A.cbtitle), + }, + o = "h" === n.charAt(0) ? n.substr(1) : "h" + n; + t + .selectAll("." + o + ",." + o + "-math-group") + .remove(), + v.draw(r, n, f(a, i || {})); + } + return u.syncOrAsync( + [ + a.previousPromises, + function () { + var t, e; + ((o && ut) || (!o && !ut)) && + ("top" === V && + ((t = P + B.l + tt * I), + (e = + O + + B.t + + et * (1 - ot - Q) + + 3 + + 0.75 * yt)), + "bottom" === V && + ((t = P + B.l + tt * I), + (e = + O + + B.t + + et * (1 - ot) - + 3 - + 0.25 * yt)), + "right" === V && + ((e = O + B.t + et * D + 3 + 0.75 * yt), + (t = P + B.l + tt * ot)), + _t(lt._id + "title", { + attributes: { + x: t, + y: e, + "text-anchor": o ? "start" : "middle", + }, + })); + }, + function () { + if ((!o && !ut) || (o && ut)) { + var a, + l = t.select("." + A.cbtitle), + f = l.select("text"), + h = [-M / 2, M / 2], + d = l + .select( + ".h" + lt._id + "title-math-group", + ) + .node(), + v = 15.6; + if ( + (f.node() && + (v = + parseInt( + f.node().style.fontSize, + 10, + ) * w), + d + ? ((a = p.bBox(d)), + (bt = a.width), + (xt = a.height) > v && + (h[1] -= (xt - v) / 2)) + : f.node() && + !f.classed(A.jsPlaceholder) && + ((a = p.bBox(f.node())), + (bt = a.width), + (xt = a.height)), + o) + ) { + if (xt) { + if (((xt += 5), "top" === V)) + (lt.domain[1] -= xt / B.h), + (h[1] *= -1); + else { + lt.domain[0] += xt / B.h; + var y = g.lineCount(f); + h[1] += (1 - y) * v; + } + l.attr("transform", c(h[0], h[1])), + lt.setScale(); + } + } else + bt && + ("right" === V && + (lt.domain[0] += (bt + yt / 2) / B.w), + l.attr("transform", c(h[0], h[1])), + lt.setScale()); + } + t + .selectAll( + "." + A.cbfills + ",." + A.cblines, + ) + .attr( + "transform", + o + ? c( + 0, + Math.round( + B.h * (1 - lt.domain[1]), + ), + ) + : c(Math.round(B.w * lt.domain[0]), 0), + ), + mt.attr( + "transform", + o + ? c(0, Math.round(-B.t)) + : c(Math.round(-B.l), 0), + ); + var m = t + .select("." + A.cbfills) + .selectAll("rect." + A.cbfill) + .attr("style", "") + .data(W); + m + .enter() + .append("rect") + .classed(A.cbfill, !0) + .attr("style", ""), + m.exit().remove(); + var x = H.map(lt.c2p) + .map(Math.round) + .sort(function (t, e) { + return t - e; + }); + m.each(function (t, a) { + var s = [ + 0 === a ? H[0] : (W[a] + W[a - 1]) / 2, + a === W.length - 1 + ? H[1] + : (W[a] + W[a + 1]) / 2, + ] + .map(lt.c2p) + .map(Math.round); + o && + (s[1] = u.constrain( + s[1] + (s[1] > s[0]) ? 1 : -1, + x[0], + x[1], + )); + var l = n + .select(this) + .attr(o ? "x" : "y", rt) + .attr(o ? "y" : "x", n.min(s)) + .attr( + o ? "width" : "height", + Math.max(J, 2), + ) + .attr( + o ? "height" : "width", + Math.max(n.max(s) - n.min(s), 2), + ); + if (e._fillgradient) + p.gradient( + l, + r, + e._id, + o ? "vertical" : "horizontalreversed", + e._fillgradient, + "fill", + ); + else { + var c = G(t).replace("e-", ""); + l.attr("fill", i(c).toHexString()); + } + }); + var b = t + .select("." + A.cblines) + .selectAll("path." + A.cbline) + .data(j.color && j.width ? X : []); + b + .enter() + .append("path") + .classed(A.cbline, !0), + b.exit().remove(), + b.each(function (t) { + var e = rt, + r = + Math.round(lt.c2p(t)) + + ((j.width / 2) % 1); + n.select(this) + .attr( + "d", + "M" + + (o ? e + "," + r : r + "," + e) + + (o ? "h" : "v") + + J, + ) + .call( + p.lineGroupStyle, + j.width, + q(t), + j.dash, + ); + }), + mt + .selectAll("g." + lt._id + "tick,path") + .remove(); + var _ = + rt + + J + + (M || 0) / 2 - + ("outside" === e.ticks ? 1 : 0), + T = s.calcTicks(lt), + k = s.getTickSigns(lt)[2]; + return ( + s.drawTicks(r, lt, { + vals: + "inside" === lt.ticks + ? s.clipEnds(lt, T) + : T, + layer: mt, + path: s.makeTickPath(lt, _, k), + transFn: s.makeTransTickFn(lt), + }), + s.drawLabels(r, lt, { + vals: T, + layer: mt, + transFn: s.makeTransTickLabelFn(lt), + labelFns: s.makeLabelFns(lt, _), + }) + ); + }, + function () { + if ((o && !ut) || (!o && ut)) { + var t, + i, + a = lt.position || 0, + s = lt._offset + lt._length / 2; + if ("right" === V) + (i = s), + (t = + B.l + + tt * a + + 10 + + yt * (lt.showticklabels ? 1 : 0.5)); + else if ( + ((t = s), + "bottom" === V && + (i = + B.t + + et * a + + 10 + + (-1 === gt.indexOf("inside") + ? lt.tickfont.size + : 0) + + (("intside" !== lt.ticks && + e.ticklen) || + 0)), + "top" === V) + ) { + var l = U.text.split("
").length; + i = B.t + et * a + 10 - J - w * yt * l; + } + _t((o ? "h" : "v") + lt._id + "title", { + avoid: { + selection: n + .select(r) + .selectAll("g." + lt._id + "tick"), + side: V, + offsetTop: o ? 0 : B.t, + offsetLeft: o ? B.l : 0, + maxShift: o ? F.width : F.height, + }, + attributes: { + x: t, + y: i, + "text-anchor": "middle", + }, + transform: { + rotate: o ? -90 : 0, + offset: 0, + }, + }); + } + }, + a.previousPromises, + function () { + var n, + s = J + M / 2; + -1 === gt.indexOf("inside") && + ((n = p.bBox(mt.node())), + (s += o ? n.width : n.height)), + (dt = vt.select("text")); + var u = 0, + f = o && "top" === V, + v = !o && "right" === V, + g = 0; + if ( + dt.node() && + !dt.classed(A.jsPlaceholder) + ) { + var m, + x = vt + .select( + ".h" + lt._id + "title-math-group", + ) + .node(); + x && ((o && ut) || (!o && !ut)) + ? ((u = (n = p.bBox(x)).width), + (m = n.height)) + : ((u = + (n = p.bBox(vt.node())).right - + B.l - + (o ? rt : st)), + (m = n.bottom - B.t - (o ? st : rt)), + o || + "top" !== V || + ((s += n.height), (g = n.height))), + v && + (dt.attr( + "transform", + c(u / 2 + yt / 2, 0), + ), + (u *= 2)), + (s = Math.max(s, o ? u : m)); + } + var b = 2 * (o ? P : O) + s + S + M / 2, + w = 0; + !o && + U.text && + "bottom" === C && + D <= 0 && + ((b += w = b / 2), (g += w)), + (F._hColorbarMoveTitle = w), + (F._hColorbarMoveCBTitle = g); + var N = S + M, + j = (o ? rt : st) - N / 2 - (o ? P : 0), + H = (o ? st : rt) - (o ? $ : O + g - w); + t.select("." + A.cbbg) + .attr("x", j) + .attr("y", H) + .attr( + o ? "width" : "height", + Math.max(b - w, 2), + ) + .attr( + o ? "height" : "width", + Math.max($ + N, 2), + ) + .call(d.fill, E) + .call(d.stroke, e.bordercolor) + .style("stroke-width", S); + var q = v ? Math.max(u - 10, 0) : 0; + t.selectAll("." + A.cboutline) + .attr("x", (o ? rt : st + P) + q) + .attr( + "y", + (o ? st + O - $ : rt) + (f ? xt : 0), + ) + .attr( + o ? "width" : "height", + Math.max(J, 2), + ) + .attr( + o ? "height" : "width", + Math.max( + $ - (o ? 2 * O + xt : 2 * P + q), + 2, + ), + ) + .call(d.stroke, e.outlinecolor) + .style({ fill: "none", "stroke-width": M }); + var G = o ? nt * b : 0, + Z = o ? 0 : (1 - it) * b - g; + if ( + ((G = R ? B.l - G : -G), + (Z = z ? B.t - Z : -Z), + t.attr("transform", c(G, Z)), + !o && + (S || + (i(E).getAlpha() && + !i.equals(F.paper_bgcolor, E)))) + ) { + var Y = mt.selectAll("text"), + W = Y[0].length, + X = t.select("." + A.cbbg).node(), + K = p.bBox(X), + Q = p.getTranslate(t); + Y.each(function (t, e) { + var r = W - 1; + if (0 === e || e === r) { + var n, + i = p.bBox(this), + a = p.getTranslate(this); + if (e === r) { + var o = i.right + a.x; + (n = + K.right + + Q.x + + st - + S - + 2 + + I - + o) > 0 && (n = 0); + } else if (0 === e) { + var s = i.left + a.x; + (n = K.left + Q.x + st + S + 2 - s) < + 0 && (n = 0); + } + n && + (W < 3 + ? this.setAttribute( + "transform", + "translate(" + + n + + ",0) " + + this.getAttribute( + "transform", + ), + ) + : this.setAttribute( + "visibility", + "hidden", + )); + } + }); + } + var tt = {}, + et = T[L], + at = k[L], + ot = T[C], + ct = k[C], + ft = b - J; + o + ? ("pixels" === h + ? ((tt.y = D), + (tt.t = $ * ot), + (tt.b = $ * ct)) + : ((tt.t = tt.b = 0), + (tt.yt = D + l * ot), + (tt.yb = D - l * ct)), + "pixels" === _ + ? ((tt.x = I), + (tt.l = b * et), + (tt.r = b * at)) + : ((tt.l = ft * et), + (tt.r = ft * at), + (tt.xl = I - y * et), + (tt.xr = I + y * at))) + : ("pixels" === h + ? ((tt.x = I), + (tt.l = $ * et), + (tt.r = $ * at)) + : ((tt.l = tt.r = 0), + (tt.xl = I + l * et), + (tt.xr = I - l * at)), + "pixels" === _ + ? ((tt.y = 1 - D), + (tt.t = b * ot), + (tt.b = b * ct)) + : ((tt.t = ft * ot), + (tt.b = ft * ct), + (tt.yt = D - y * ot), + (tt.yb = D + y * ct))); + var ht = e.y < 0.5 ? "b" : "t", + pt = e.x < 0.5 ? "l" : "r"; + r._fullLayout._reservedMargin[e._id] = {}; + var bt = { + r: F.width - j - G, + l: j + tt.r, + b: F.height - H - Z, + t: H + tt.b, + }; + R && z + ? a.autoMargin(r, e._id, tt) + : R + ? (r._fullLayout._reservedMargin[e._id][ + ht + ] = bt[ht]) + : z || o + ? (r._fullLayout._reservedMargin[e._id][ + pt + ] = bt[pt]) + : (r._fullLayout._reservedMargin[e._id][ + ht + ] = bt[ht]); + }, + ], + r, + ); + })(r, e, t); + y && y.then && (t._promises || []).push(y), + t._context.edits.colorbarPosition && + (function (t, e, r) { + var n, + i, + a, + s = "v" === e.orientation, + u = r._fullLayout._size; + l.init({ + element: t.node(), + gd: r, + prepFn: function () { + (n = t.attr("transform")), h(t); + }, + moveFn: function (r, o) { + t.attr("transform", n + c(r, o)), + (i = l.align( + (s ? e._uFrac : e._vFrac) + r / u.w, + s ? e._thickFrac : e._lenFrac, + 0, + 1, + e.xanchor, + )), + (a = l.align( + (s ? e._vFrac : 1 - e._uFrac) - o / u.h, + s ? e._lenFrac : e._thickFrac, + 0, + 1, + e.yanchor, + )); + var f = l.getCursor( + i, + a, + e.xanchor, + e.yanchor, + ); + h(t, f); + }, + doneFn: function () { + if ((h(t), void 0 !== i && void 0 !== a)) { + var n = {}; + (n[e._propPrefix + "x"] = i), + (n[e._propPrefix + "y"] = a), + void 0 !== e._traceIndex + ? o.call( + "_guiRestyle", + r, + n, + e._traceIndex, + ) + : o.call("_guiRelayout", r, n); + } + }, + }); + })(r, e, t); + }), + e + .exit() + .each(function (e) { + a.autoMargin(t, e._id); + }) + .remove(), + e.order(); + }, + }; + }, + 76228: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t) { + return n.isPlainObject(t.colorbar); + }; + }, + 12311: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "component", + name: "colorbar", + attributes: r(63583), + supplyDefaults: r(62499), + draw: r(98981).draw, + hasColorbar: r(76228), + }; + }, + 50693: function (t, e, r) { + "use strict"; + var n = r(63583), + i = r(30587).counter, + a = r(78607), + o = r(63282).scales; + function s(t) { + return "`" + t + "`"; + } + a(o), + (t.exports = function (t, e) { + t = t || ""; + var r, + a = (e = e || {}).cLetter || "c", + l = + ("onlyIfNumerical" in e + ? e.onlyIfNumerical + : Boolean(t), + "noScale" in e ? e.noScale : "marker.line" === t), + u = "showScaleDflt" in e ? e.showScaleDflt : "z" === a, + c = + "string" == typeof e.colorscaleDflt + ? o[e.colorscaleDflt] + : null, + f = e.editTypeOverride || "", + h = t ? t + "." : ""; + "colorAttr" in e + ? ((r = e.colorAttr), e.colorAttr) + : s(h + (r = { z: "z", c: "color" }[a])); + var p = a + "auto", + d = a + "min", + v = a + "max", + g = a + "mid", + y = (s(h + p), s(h + d), s(h + v), {}); + y[d] = y[v] = void 0; + var m = {}; + m[p] = !1; + var x = {}; + return ( + "color" === r && + ((x.color = { + valType: "color", + arrayOk: !0, + editType: f || "style", + }), + e.anim && (x.color.anim = !0)), + (x[p] = { + valType: "boolean", + dflt: !0, + editType: "calc", + impliedEdits: y, + }), + (x[d] = { + valType: "number", + dflt: null, + editType: f || "plot", + impliedEdits: m, + }), + (x[v] = { + valType: "number", + dflt: null, + editType: f || "plot", + impliedEdits: m, + }), + (x[g] = { + valType: "number", + dflt: null, + editType: "calc", + impliedEdits: y, + }), + (x.colorscale = { + valType: "colorscale", + editType: "calc", + dflt: c, + impliedEdits: { autocolorscale: !1 }, + }), + (x.autocolorscale = { + valType: "boolean", + dflt: !1 !== e.autoColorDflt, + editType: "calc", + impliedEdits: { colorscale: void 0 }, + }), + (x.reversescale = { + valType: "boolean", + dflt: !1, + editType: "plot", + }), + l || + ((x.showscale = { + valType: "boolean", + dflt: u, + editType: "calc", + }), + (x.colorbar = n)), + e.noColorAxis || + (x.coloraxis = { + valType: "subplotid", + regex: i("coloraxis"), + dflt: null, + editType: "calc", + }), + x + ); + }); + }, + 78803: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(52075).extractOpts; + t.exports = function (t, e, r) { + var o, + s = t._fullLayout, + l = r.vals, + u = r.containerStr, + c = u ? i.nestedProperty(e, u).get() : e, + f = a(c), + h = !1 !== f.auto, + p = f.min, + d = f.max, + v = f.mid, + g = function () { + return i.aggNums(Math.min, null, l); + }, + y = function () { + return i.aggNums(Math.max, null, l); + }; + void 0 === p + ? (p = g()) + : h && (p = c._colorAx && n(p) ? Math.min(p, g()) : g()), + void 0 === d + ? (d = y()) + : h && + (d = c._colorAx && n(d) ? Math.max(d, y()) : y()), + h && + void 0 !== v && + (d - v > v - p + ? (p = v - (d - v)) + : d - v < v - p && (d = v + (v - p))), + p === d && ((p -= 0.5), (d += 0.5)), + f._sync("min", p), + f._sync("max", d), + f.autocolorscale && + ((o = + p * d < 0 + ? s.colorscale.diverging + : p >= 0 + ? s.colorscale.sequential + : s.colorscale.sequentialminus), + f._sync("colorscale", o)); + }; + }, + 33046: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(52075).hasColorscale, + a = r(52075).extractOpts; + t.exports = function (t, e) { + function r(t, e) { + var r = t["_" + e]; + void 0 !== r && (t[e] = r); + } + function o(t, i) { + var o = i.container + ? n.nestedProperty(t, i.container).get() + : t; + if (o) + if (o.coloraxis) o._colorAx = e[o.coloraxis]; + else { + var s = a(o), + l = s.auto; + (l || void 0 === s.min) && r(o, i.min), + (l || void 0 === s.max) && r(o, i.max), + s.autocolorscale && r(o, "colorscale"); + } + } + for (var s = 0; s < t.length; s++) { + var l = t[s], + u = l._module.colorbar; + if (u) + if (Array.isArray(u)) + for (var c = 0; c < u.length; c++) o(l, u[c]); + else o(l, u); + i(l, "marker.line") && + o(l, { + container: "marker.line", + min: "cmin", + max: "cmax", + }); + } + for (var f in e._colorAxes) + o(e[f], { min: "cmin", max: "cmax" }); + }; + }, + 1586: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(76228), + o = r(62499), + s = r(63282).isValid, + l = r(73972).traceIs; + function u(t, e) { + var r = e.slice(0, e.length - 1); + return e ? i.nestedProperty(t, r).get() || {} : t; + } + t.exports = function t(e, r, c, f, h) { + var p = h.prefix, + d = h.cLetter, + v = "_module" in r, + g = u(e, p), + y = u(r, p), + m = u(r._template || {}, p) || {}, + x = function () { + return ( + delete e.coloraxis, + delete r.coloraxis, + t(e, r, c, f, h) + ); + }; + if (v) { + var b = c._colorAxes || {}, + _ = f(p + "coloraxis"); + if (_) { + var w = + (l(r, "contour") && + i.nestedProperty(r, "contours.coloring").get()) || + "heatmap", + T = b[_]; + return void (T + ? (T[2].push(x), + T[0] !== w && + ((T[0] = !1), + i.warn( + [ + "Ignoring coloraxis:", + _, + "setting", + "as it is linked to incompatible colorscales.", + ].join(" "), + ))) + : (b[_] = [w, r, [x]])); + } + } + var k = g[d + "min"], + A = g[d + "max"], + M = n(k) && n(A) && k < A; + f(p + d + "auto", !M) + ? f(p + d + "mid") + : (f(p + d + "min"), f(p + d + "max")); + var S, + E, + L = g.colorscale, + C = m.colorscale; + void 0 !== L && (S = !s(L)), + void 0 !== C && (S = !s(C)), + f(p + "autocolorscale", S), + f(p + "colorscale"), + f(p + "reversescale"), + "marker.line." !== p && + (p && v && (E = a(g)), + f(p + "showscale", E) && + (p && m && (y._template = m), o(g, y, c))); + }; + }, + 52075: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(84267), + a = r(92770), + o = r(71828), + s = r(7901), + l = r(63282).isValid, + u = [ + "showscale", + "autocolorscale", + "colorscale", + "reversescale", + "colorbar", + ], + c = ["min", "max", "mid", "auto"]; + function f(t) { + var e, + r, + n, + i = t._colorAx, + a = i || t, + o = {}; + for (r = 0; r < u.length; r++) o[(n = u[r])] = a[n]; + if (i) + for (e = "c", r = 0; r < c.length; r++) + o[(n = c[r])] = a["c" + n]; + else { + var s; + for (r = 0; r < c.length; r++) + ((s = "c" + (n = c[r])) in a || (s = "z" + n) in a) && + (o[n] = a[s]); + e = s.charAt(0); + } + return ( + (o._sync = function (t, r) { + var n = -1 !== c.indexOf(t) ? e + t : t; + a[n] = a["_" + n] = r; + }), + o + ); + } + function h(t) { + for ( + var e = f(t), + r = e.min, + n = e.max, + i = e.reversescale ? p(e.colorscale) : e.colorscale, + a = i.length, + o = new Array(a), + s = new Array(a), + l = 0; + l < a; + l++ + ) { + var u = i[l]; + (o[l] = r + u[0] * (n - r)), (s[l] = u[1]); + } + return { domain: o, range: s }; + } + function p(t) { + for ( + var e = t.length, r = new Array(e), n = e - 1, i = 0; + n >= 0; + n--, i++ + ) { + var a = t[n]; + r[i] = [1 - a[0], a[1]]; + } + return r; + } + function d(t, e) { + e = e || {}; + for ( + var r = t.domain, + o = t.range, + l = o.length, + u = new Array(l), + c = 0; + c < l; + c++ + ) { + var f = i(o[c]).toRgb(); + u[c] = [f.r, f.g, f.b, f.a]; + } + var h, + p = n.scale.linear().domain(r).range(u).clamp(!0), + d = e.noNumericCheck, + g = e.returnArray; + return ( + ((h = + d && g + ? p + : d + ? function (t) { + return v(p(t)); + } + : g + ? function (t) { + return a(t) + ? p(t) + : i(t).isValid() + ? t + : s.defaultLine; + } + : function (t) { + return a(t) + ? v(p(t)) + : i(t).isValid() + ? t + : s.defaultLine; + }).domain = p.domain), + (h.range = function () { + return o; + }), + h + ); + } + function v(t) { + var e = { r: t[0], g: t[1], b: t[2], a: t[3] }; + return i(e).toRgbString(); + } + t.exports = { + hasColorscale: function (t, e, r) { + var n = e ? o.nestedProperty(t, e).get() || {} : t, + i = n[r || "color"], + s = !1; + if (o.isArrayOrTypedArray(i)) + for (var u = 0; u < i.length; u++) + if (a(i[u])) { + s = !0; + break; + } + return ( + o.isPlainObject(n) && + (s || + !0 === n.showscale || + (a(n.cmin) && a(n.cmax)) || + l(n.colorscale) || + o.isPlainObject(n.colorbar)) + ); + }, + extractOpts: f, + extractScale: h, + flipScale: p, + makeColorScaleFunc: d, + makeColorScaleFuncFromTrace: function (t, e) { + return d(h(t), e); + }, + }; + }, + 21081: function (t, e, r) { + "use strict"; + var n = r(63282), + i = r(52075); + t.exports = { + moduleType: "component", + name: "colorscale", + attributes: r(50693), + layoutAttributes: r(72673), + supplyLayoutDefaults: r(30959), + handleDefaults: r(1586), + crossTraceDefaults: r(33046), + calc: r(78803), + scales: n.scales, + defaultScale: n.defaultScale, + getScale: n.get, + isValidScale: n.isValid, + hasColorscale: i.hasColorscale, + extractOpts: i.extractOpts, + extractScale: i.extractScale, + flipScale: i.flipScale, + makeColorScaleFunc: i.makeColorScaleFunc, + makeColorScaleFuncFromTrace: i.makeColorScaleFuncFromTrace, + }; + }, + 72673: function (t, e, r) { + "use strict"; + var n = r(1426).extendFlat, + i = r(50693), + a = r(63282).scales; + t.exports = { + editType: "calc", + colorscale: { + editType: "calc", + sequential: { + valType: "colorscale", + dflt: a.Reds, + editType: "calc", + }, + sequentialminus: { + valType: "colorscale", + dflt: a.Blues, + editType: "calc", + }, + diverging: { + valType: "colorscale", + dflt: a.RdBu, + editType: "calc", + }, + }, + coloraxis: n( + { _isSubplotObj: !0, editType: "calc" }, + i("", { + colorAttr: "corresponding trace color array(s)", + noColorAxis: !0, + showScaleDflt: !0, + }), + ), + }; + }, + 30959: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(44467), + a = r(72673), + o = r(1586); + t.exports = function (t, e) { + function r(r, i) { + return n.coerce(t, e, a, r, i); + } + r("colorscale.sequential"), + r("colorscale.sequentialminus"), + r("colorscale.diverging"); + var s, + l, + u = e._colorAxes; + function c(t, e) { + return n.coerce(s, l, a.coloraxis, t, e); + } + for (var f in u) { + var h = u[f]; + if (h[0]) + (s = t[f] || {}), + ((l = i.newContainer(e, f, "coloraxis"))._name = f), + o(s, l, e, c, { prefix: "", cLetter: "c" }); + else { + for (var p = 0; p < h[2].length; p++) h[2][p](); + delete e._colorAxes[f]; + } + } + }; + }, + 63282: function (t, e, r) { + "use strict"; + var n = r(84267), + i = { + Greys: [ + [0, "rgb(0,0,0)"], + [1, "rgb(255,255,255)"], + ], + YlGnBu: [ + [0, "rgb(8,29,88)"], + [0.125, "rgb(37,52,148)"], + [0.25, "rgb(34,94,168)"], + [0.375, "rgb(29,145,192)"], + [0.5, "rgb(65,182,196)"], + [0.625, "rgb(127,205,187)"], + [0.75, "rgb(199,233,180)"], + [0.875, "rgb(237,248,217)"], + [1, "rgb(255,255,217)"], + ], + Greens: [ + [0, "rgb(0,68,27)"], + [0.125, "rgb(0,109,44)"], + [0.25, "rgb(35,139,69)"], + [0.375, "rgb(65,171,93)"], + [0.5, "rgb(116,196,118)"], + [0.625, "rgb(161,217,155)"], + [0.75, "rgb(199,233,192)"], + [0.875, "rgb(229,245,224)"], + [1, "rgb(247,252,245)"], + ], + YlOrRd: [ + [0, "rgb(128,0,38)"], + [0.125, "rgb(189,0,38)"], + [0.25, "rgb(227,26,28)"], + [0.375, "rgb(252,78,42)"], + [0.5, "rgb(253,141,60)"], + [0.625, "rgb(254,178,76)"], + [0.75, "rgb(254,217,118)"], + [0.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)"], + [0.35, "rgb(106,137,247)"], + [0.5, "rgb(190,190,190)"], + [0.6, "rgb(220,170,132)"], + [0.7, "rgb(230,145,90)"], + [1, "rgb(178,10,28)"], + ], + Reds: [ + [0, "rgb(220,220,220)"], + [0.2, "rgb(245,195,157)"], + [0.4, "rgb(245,160,105)"], + [1, "rgb(178,10,28)"], + ], + Blues: [ + [0, "rgb(5,10,172)"], + [0.35, "rgb(40,60,190)"], + [0.5, "rgb(70,100,245)"], + [0.6, "rgb(90,120,245)"], + [0.7, "rgb(106,137,247)"], + [1, "rgb(220,220,220)"], + ], + Picnic: [ + [0, "rgb(0,0,255)"], + [0.1, "rgb(51,153,255)"], + [0.2, "rgb(102,204,255)"], + [0.3, "rgb(153,204,255)"], + [0.4, "rgb(204,204,255)"], + [0.5, "rgb(255,255,255)"], + [0.6, "rgb(255,204,255)"], + [0.7, "rgb(255,153,255)"], + [0.8, "rgb(255,102,204)"], + [0.9, "rgb(255,102,102)"], + [1, "rgb(255,0,0)"], + ], + Rainbow: [ + [0, "rgb(150,0,90)"], + [0.125, "rgb(0,0,200)"], + [0.25, "rgb(0,25,255)"], + [0.375, "rgb(0,152,255)"], + [0.5, "rgb(44,255,150)"], + [0.625, "rgb(151,255,0)"], + [0.75, "rgb(255,234,0)"], + [0.875, "rgb(255,111,0)"], + [1, "rgb(255,0,0)"], + ], + Portland: [ + [0, "rgb(12,51,131)"], + [0.25, "rgb(10,136,186)"], + [0.5, "rgb(242,211,56)"], + [0.75, "rgb(242,143,56)"], + [1, "rgb(217,30,30)"], + ], + Jet: [ + [0, "rgb(0,0,131)"], + [0.125, "rgb(0,60,170)"], + [0.375, "rgb(5,255,255)"], + [0.625, "rgb(255,255,0)"], + [0.875, "rgb(250,0,0)"], + [1, "rgb(128,0,0)"], + ], + Hot: [ + [0, "rgb(0,0,0)"], + [0.3, "rgb(230,0,0)"], + [0.6, "rgb(255,210,0)"], + [1, "rgb(255,255,255)"], + ], + Blackbody: [ + [0, "rgb(0,0,0)"], + [0.2, "rgb(230,0,0)"], + [0.4, "rgb(230,210,0)"], + [0.7, "rgb(255,255,255)"], + [1, "rgb(160,200,255)"], + ], + Earth: [ + [0, "rgb(0,0,130)"], + [0.1, "rgb(0,180,180)"], + [0.2, "rgb(40,210,40)"], + [0.4, "rgb(230,230,50)"], + [0.6, "rgb(120,70,20)"], + [1, "rgb(255,255,255)"], + ], + Electric: [ + [0, "rgb(0,0,0)"], + [0.15, "rgb(30,0,100)"], + [0.4, "rgb(120,0,100)"], + [0.6, "rgb(160,90,0)"], + [0.8, "rgb(230,200,0)"], + [1, "rgb(255,250,220)"], + ], + Viridis: [ + [0, "#440154"], + [0.06274509803921569, "#48186a"], + [0.12549019607843137, "#472d7b"], + [0.18823529411764706, "#424086"], + [0.25098039215686274, "#3b528b"], + [0.3137254901960784, "#33638d"], + [0.3764705882352941, "#2c728e"], + [0.4392156862745098, "#26828e"], + [0.5019607843137255, "#21918c"], + [0.5647058823529412, "#1fa088"], + [0.6274509803921569, "#28ae80"], + [0.6901960784313725, "#3fbc73"], + [0.7529411764705882, "#5ec962"], + [0.8156862745098039, "#84d44b"], + [0.8784313725490196, "#addc30"], + [0.9411764705882353, "#d8e219"], + [1, "#fde725"], + ], + Cividis: [ + [0, "rgb(0,32,76)"], + [0.058824, "rgb(0,42,102)"], + [0.117647, "rgb(0,52,110)"], + [0.176471, "rgb(39,63,108)"], + [0.235294, "rgb(60,74,107)"], + [0.294118, "rgb(76,85,107)"], + [0.352941, "rgb(91,95,109)"], + [0.411765, "rgb(104,106,112)"], + [0.470588, "rgb(117,117,117)"], + [0.529412, "rgb(131,129,120)"], + [0.588235, "rgb(146,140,120)"], + [0.647059, "rgb(161,152,118)"], + [0.705882, "rgb(176,165,114)"], + [0.764706, "rgb(192,177,109)"], + [0.823529, "rgb(209,191,102)"], + [0.882353, "rgb(225,204,92)"], + [0.941176, "rgb(243,219,79)"], + [1, "rgb(255,233,69)"], + ], + }, + a = i.RdBu; + function o(t) { + var e = 0; + if (!Array.isArray(t) || t.length < 2) return !1; + if (!t[0] || !t[t.length - 1]) return !1; + if (0 != +t[0][0] || 1 != +t[t.length - 1][0]) return !1; + for (var r = 0; r < t.length; r++) { + var i = t[r]; + if (2 !== i.length || +i[0] < e || !n(i[1]).isValid()) + return !1; + e = +i[0]; + } + return !0; + } + t.exports = { + scales: i, + defaultScale: a, + get: function (t, e) { + if ((e || (e = a), !t)) return e; + function r() { + try { + t = i[t] || JSON.parse(t); + } catch (r) { + t = e; + } + } + return ( + "string" == typeof t && + (r(), "string" == typeof t && r()), + o(t) ? t : e + ); + }, + isValid: function (t) { + return void 0 !== i[t] || o(t); + }, + }; + }, + 92807: function (t) { + "use strict"; + t.exports = function (t, e, r, n, i) { + var a = (t - r) / (n - r), + o = a + e / (n - r), + s = (a + o) / 2; + return "left" === i || "bottom" === i + ? a + : "center" === i || "middle" === i + ? s + : "right" === i || "top" === i + ? o + : a < 2 / 3 - s + ? a + : o > 4 / 3 - s + ? o + : s; + }; + }, + 70461: function (t, e, r) { + "use strict"; + var n = r(71828), + i = [ + ["sw-resize", "s-resize", "se-resize"], + ["w-resize", "move", "e-resize"], + ["nw-resize", "n-resize", "ne-resize"], + ]; + t.exports = function (t, e, r, a) { + return ( + (t = + "left" === r + ? 0 + : "center" === r + ? 1 + : "right" === r + ? 2 + : n.constrain(Math.floor(3 * t), 0, 2)), + (e = + "bottom" === a + ? 0 + : "middle" === a + ? 1 + : "top" === a + ? 2 + : n.constrain(Math.floor(3 * e), 0, 2)), + i[e][t] + ); + }; + }, + 64505: function (t, e) { + "use strict"; + (e.selectMode = function (t) { + return "lasso" === t || "select" === t; + }), + (e.drawMode = function (t) { + return ( + "drawclosedpath" === t || + "drawopenpath" === t || + "drawline" === t || + "drawrect" === t || + "drawcircle" === t + ); + }), + (e.openMode = function (t) { + return "drawline" === t || "drawopenpath" === t; + }), + (e.rectMode = function (t) { + return ( + "select" === t || + "drawline" === t || + "drawrect" === t || + "drawcircle" === t + ); + }), + (e.freeMode = function (t) { + return ( + "lasso" === t || + "drawclosedpath" === t || + "drawopenpath" === t + ); + }), + (e.selectingOrDrawing = function (t) { + return e.freeMode(t) || e.rectMode(t); + }); + }, + 28569: function (t, e, r) { + "use strict"; + var n = r(48956), + i = r(57035), + a = r(38520), + o = r(71828).removeElement, + s = r(85555), + l = (t.exports = {}); + (l.align = r(92807)), (l.getCursor = r(70461)); + var u = r(26041); + function c() { + 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 f(t) { + return n( + t.changedTouches ? t.changedTouches[0] : t, + document.body, + ); + } + (l.unhover = u.wrapped), + (l.unhoverRaw = u.raw), + (l.init = function (t) { + var e, + r, + n, + u, + h, + p, + d, + v, + g = t.gd, + y = 1, + m = g._context.doubleClickDelay, + x = t.element; + g._mouseDownTime || (g._mouseDownTime = 0), + (x.style.pointerEvents = "all"), + (x.onmousedown = _), + a + ? (x._ontouchstart && + x.removeEventListener( + "touchstart", + x._ontouchstart, + ), + (x._ontouchstart = _), + x.addEventListener("touchstart", _, { + passive: !1, + })) + : (x.ontouchstart = _); + var b = + t.clampFn || + function (t, e, r) { + return ( + Math.abs(t) < r && (t = 0), + Math.abs(e) < r && (e = 0), + [t, e] + ); + }; + function _(a) { + (g._dragged = !1), (g._dragging = !0); + var o = f(a); + (e = o[0]), + (r = o[1]), + (d = a.target), + (p = a), + (v = 2 === a.buttons || a.ctrlKey), + void 0 === a.clientX && + void 0 === a.clientY && + ((a.clientX = e), (a.clientY = r)), + (n = new Date().getTime()) - g._mouseDownTime < m + ? (y += 1) + : ((y = 1), (g._mouseDownTime = n)), + t.prepFn && t.prepFn(a, e, r), + i && !v + ? ((h = c()).style.cursor = + window.getComputedStyle(x).cursor) + : i || + ((h = document), + (u = window.getComputedStyle( + document.documentElement, + ).cursor), + (document.documentElement.style.cursor = + window.getComputedStyle(x).cursor)), + document.addEventListener("mouseup", T), + document.addEventListener("touchend", T), + !1 !== t.dragmode && + (a.preventDefault(), + document.addEventListener("mousemove", w), + document.addEventListener("touchmove", w, { + passive: !1, + })); + } + function w(n) { + n.preventDefault(); + var i = f(n), + a = t.minDrag || s.MINDRAG, + o = b(i[0] - e, i[1] - r, a), + u = o[0], + c = o[1]; + (u || c) && ((g._dragged = !0), l.unhover(g, n)), + g._dragged && + t.moveFn && + !v && + ((g._dragdata = { element: x, dx: u, dy: c }), + t.moveFn(u, c)); + } + function T(e) { + if ( + (delete g._dragdata, + !1 !== t.dragmode && + (e.preventDefault(), + document.removeEventListener("mousemove", w), + document.removeEventListener("touchmove", w)), + document.removeEventListener("mouseup", T), + document.removeEventListener("touchend", T), + i + ? o(h) + : u && + ((h.documentElement.style.cursor = u), + (u = null)), + g._dragging) + ) { + if ( + ((g._dragging = !1), + new Date().getTime() - g._mouseDownTime > m && + (y = Math.max(y - 1, 1)), + g._dragged) + ) + t.doneFn && t.doneFn(); + else if ((t.clickFn && t.clickFn(y, p), !v)) { + var r; + try { + r = new MouseEvent("click", e); + } catch (t) { + var n = f(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, + ); + } + d.dispatchEvent(r); + } + (g._dragging = !1), (g._dragged = !1); + } else g._dragged = !1; + } + }), + (l.coverSlip = c); + }, + 26041: function (t, e, r) { + "use strict"; + var n = r(11086), + i = r(79990), + a = r(24401).getGraphDiv, + o = r(26675), + s = (t.exports = {}); + (s.wrapped = function (t, e, r) { + (t = a(t))._fullLayout && + i.clear(t._fullLayout._uid + o.HOVERID), + s.raw(t, e, r); + }), + (s.raw = function (t, e) { + var r = t._fullLayout, + i = t._hoverdata; + e || (e = {}), + (e.target && + !t._dragged && + !1 === + n.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 && + i && + t.emit("plotly_unhover", { event: e, points: i })); + }); + }, + 79952: function (t, e) { + "use strict"; + (e.P = { + valType: "string", + values: [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot", + ], + dflt: "solid", + editType: "style", + }), + (e.u = { + shape: { + valType: "enumerated", + values: ["", "/", "\\", "x", "-", "|", "+", "."], + dflt: "", + arrayOk: !0, + editType: "style", + }, + fillmode: { + valType: "enumerated", + values: ["replace", "overlay"], + dflt: "replace", + editType: "style", + }, + bgcolor: { + valType: "color", + arrayOk: !0, + editType: "style", + }, + fgcolor: { + valType: "color", + arrayOk: !0, + editType: "style", + }, + fgopacity: { + valType: "number", + editType: "style", + min: 0, + max: 1, + }, + size: { + valType: "number", + min: 0, + dflt: 8, + arrayOk: !0, + editType: "style", + }, + solidity: { + valType: "number", + min: 0, + max: 1, + dflt: 0.3, + arrayOk: !0, + editType: "style", + }, + editType: "style", + }); + }, + 91424: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = i.numberFormat, + o = r(92770), + s = r(84267), + l = r(73972), + u = r(7901), + c = r(21081), + f = i.strTranslate, + h = r(63893), + p = r(77922), + d = r(18783).LINE_SPACING, + v = r(37822).DESELECTDIM, + g = r(34098), + y = r(39984), + m = r(23469).appendArrayPointValue, + x = (t.exports = {}); + function b(t, e, r) { + var n = e.fillpattern, + i = n && x.getPatternAttr(n.shape, 0, ""); + if (i) { + var a = x.getPatternAttr(n.bgcolor, 0, null), + o = x.getPatternAttr(n.fgcolor, 0, null), + s = n.fgopacity, + l = x.getPatternAttr(n.size, 0, 8), + c = x.getPatternAttr(n.solidity, 0, 0.3), + f = e.uid; + x.pattern( + t, + "point", + r, + f, + i, + l, + c, + void 0, + n.fillmode, + a, + o, + s, + ); + } else e.fillcolor && t.call(u.fill, e.fillcolor); + } + (x.font = function (t, e, r, n) { + i.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(u.fill, n); + }), + (x.setPosition = function (t, e, r) { + t.attr("x", e).attr("y", r); + }), + (x.setSize = function (t, e, r) { + t.attr("width", e).attr("height", r); + }), + (x.setRect = function (t, e, r, n, i) { + t.call(x.setPosition, e, r).call(x.setSize, n, i); + }), + (x.translatePoint = function (t, e, r, n) { + var i = r.c2p(t.x), + a = n.c2p(t.y); + return ( + !!(o(i) && o(a) && e.node()) && + ("text" === e.node().nodeName + ? e.attr("x", i).attr("y", a) + : e.attr("transform", f(i, a)), + !0) + ); + }), + (x.translatePoints = function (t, e, r) { + t.each(function (t) { + var i = n.select(this); + x.translatePoint(t, i, e, r); + }); + }), + (x.hideOutsideRangePoint = function (t, e, r, n, i, a) { + e.attr( + "display", + r.isPtWithinRange(t, i) && n.isPtWithinRange(t, a) + ? null + : "none", + ); + }), + (x.hideOutsideRangePoints = function (t, e) { + if (e._hasClipOnAxisFalse) { + var r = e.xaxis, + i = e.yaxis; + t.each(function (e) { + var a = e[0].trace, + o = a.xcalendar, + s = a.ycalendar, + u = l.traceIs(a, "bar-like") + ? ".bartext" + : ".point,.textpoint"; + t.selectAll(u).each(function (t) { + x.hideOutsideRangePoint( + t, + n.select(this), + r, + i, + o, + s, + ); + }); + }); + } + }), + (x.crispRound = function (t, e, r) { + return e && o(e) + ? t._context.staticPlot + ? e + : e < 1 + ? 1 + : Math.round(e) + : r || 0; + }), + (x.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 || ""; + u.stroke(e, n || a.color), x.dashLine(e, s, o); + }), + (x.lineGroupStyle = function (t, e, r, i) { + t.style("fill", "none").each(function (t) { + var a = (((t || [])[0] || {}).trace || {}).line || {}, + o = e || a.width || 0, + s = i || a.dash || ""; + n.select(this) + .call(u.stroke, r || a.color) + .call(x.dashLine, s, o); + }); + }), + (x.dashLine = function (t, e, r) { + (r = +r || 0), + (e = x.dashStyle(e, r)), + t.style({ + "stroke-dasharray": e, + "stroke-width": r + "px", + }); + }), + (x.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 + ); + }), + (x.singleFillStyle = function (t, e) { + var r = n.select(t.node()); + b(t, ((r.data()[0] || [])[0] || {}).trace || {}, e); + }), + (x.fillGroupStyle = function (t, e) { + t.style("stroke-width", 0).each(function (t) { + var r = n.select(this); + t[0].trace && b(r, t[0].trace, e); + }); + }); + var _ = r(90998); + (x.symbolNames = []), + (x.symbolFuncs = []), + (x.symbolBackOffs = []), + (x.symbolNeedLines = {}), + (x.symbolNoDot = {}), + (x.symbolNoFill = {}), + (x.symbolList = []), + Object.keys(_).forEach(function (t) { + var e = _[t], + r = e.n; + x.symbolList.push( + r, + String(r), + t, + r + 100, + String(r + 100), + t + "-open", + ), + (x.symbolNames[r] = t), + (x.symbolFuncs[r] = e.f), + (x.symbolBackOffs[r] = e.backoff || 0), + e.needLine && (x.symbolNeedLines[r] = !0), + e.noDot + ? (x.symbolNoDot[r] = !0) + : x.symbolList.push( + r + 200, + String(r + 200), + t + "-dot", + r + 300, + String(r + 300), + t + "-open-dot", + ), + e.noFill && (x.symbolNoFill[r] = !0); + }); + var w = x.symbolNames.length; + function T(t, e, r, n) { + var i = t % 100; + return ( + x.symbolFuncs[i](e, r, n) + + (t >= 200 ? "M0,0.5L0.5,0L0,-0.5L-0.5,0Z" : "") + ); + } + x.symbolNumber = function (t) { + if (o(t)) t = +t; + else 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 = x.symbolNames.indexOf(t)) >= 0 && (t += e); + } + return t % 100 >= w || t >= 400 + ? 0 + : Math.floor(Math.max(t, 0)); + }; + var k = { x1: 1, x2: 0, y1: 0, y2: 0 }, + A = { x1: 0, x2: 0, y1: 1, y2: 0 }, + M = a("~f"), + S = { + radial: { node: "radialGradient" }, + radialreversed: { node: "radialGradient", reversed: !0 }, + horizontal: { node: "linearGradient", attrs: k }, + horizontalreversed: { + node: "linearGradient", + attrs: k, + reversed: !0, + }, + vertical: { node: "linearGradient", attrs: A }, + verticalreversed: { + node: "linearGradient", + attrs: A, + reversed: !0, + }, + }; + (x.gradient = function (t, e, r, a, o, l) { + for ( + var c = o.length, f = S[a], h = new Array(c), p = 0; + p < c; + p++ + ) + f.reversed + ? (h[c - 1 - p] = [M(100 * (1 - o[p][0])), o[p][1]]) + : (h[p] = [M(100 * o[p][0]), o[p][1]]); + var d = e._fullLayout, + v = "g" + d._uid + "-" + r, + g = d._defs + .select(".gradients") + .selectAll("#" + v) + .data([a + h.join(";")], i.identity); + g.exit().remove(), + g + .enter() + .append(f.node) + .each(function () { + var t = n.select(this); + f.attrs && t.attr(f.attrs), t.attr("id", v); + var e = t.selectAll("stop").data(h); + e.exit().remove(), + e.enter().append("stop"), + e.each(function (t) { + var e = s(t[1]); + n.select(this).attr({ + offset: t[0] + "%", + "stop-color": u.tinyRGB(e), + "stop-opacity": e.getAlpha(), + }); + }); + }), + t.style(l, V(v, e)).style(l + "-opacity", null), + t.classed("gradient_filled", !0); + }), + (x.pattern = function (t, e, r, a, o, l, c, f, h, p, d, v) { + var g = "legend" === e; + f && + ("overlay" === h + ? ((p = f), (d = u.contrast(p))) + : ((p = void 0), (d = f))); + var y, + m, + x, + b, + _, + w, + T, + k, + A, + M = r._fullLayout, + S = "p" + M._uid + "-" + a, + E = {}, + L = s(d), + C = u.tinyRGB(L), + P = v * L.getAlpha(); + switch (o) { + case "/": + (y = l * Math.sqrt(2)), + (m = l * Math.sqrt(2)), + (w = "path"), + (E = { + d: (x = + "M-" + + y / 4 + + "," + + m / 4 + + "l" + + y / 2 + + ",-" + + m / 2 + + "M0," + + m + + "L" + + y + + ",0M" + + (y / 4) * 3 + + "," + + (m / 4) * 5 + + "l" + + y / 2 + + ",-" + + m / 2), + opacity: P, + stroke: C, + "stroke-width": (b = c * l) + "px", + }); + break; + case "\\": + (y = l * Math.sqrt(2)), + (m = l * Math.sqrt(2)), + (w = "path"), + (E = { + d: (x = + "M" + + (y / 4) * 3 + + ",-" + + m / 4 + + "l" + + y / 2 + + "," + + m / 2 + + "M0,0L" + + y + + "," + + m + + "M-" + + y / 4 + + "," + + (m / 4) * 3 + + "l" + + y / 2 + + "," + + m / 2), + opacity: P, + stroke: C, + "stroke-width": (b = c * l) + "px", + }); + break; + case "x": + (y = l * Math.sqrt(2)), + (m = l * Math.sqrt(2)), + (x = + "M-" + + y / 4 + + "," + + m / 4 + + "l" + + y / 2 + + ",-" + + m / 2 + + "M0," + + m + + "L" + + y + + ",0M" + + (y / 4) * 3 + + "," + + (m / 4) * 5 + + "l" + + y / 2 + + ",-" + + m / 2 + + "M" + + (y / 4) * 3 + + ",-" + + m / 4 + + "l" + + y / 2 + + "," + + m / 2 + + "M0,0L" + + y + + "," + + m + + "M-" + + y / 4 + + "," + + (m / 4) * 3 + + "l" + + y / 2 + + "," + + m / 2), + (b = l - l * Math.sqrt(1 - c)), + (w = "path"), + (E = { + d: x, + opacity: P, + stroke: C, + "stroke-width": b + "px", + }); + break; + case "|": + (w = "path"), + (w = "path"), + (E = { + d: (x = + "M" + + (y = l) / 2 + + ",0L" + + y / 2 + + "," + + (m = l)), + opacity: P, + stroke: C, + "stroke-width": (b = c * l) + "px", + }); + break; + case "-": + (w = "path"), + (w = "path"), + (E = { + d: (x = + "M0," + + (m = l) / 2 + + "L" + + (y = l) + + "," + + m / 2), + opacity: P, + stroke: C, + "stroke-width": (b = c * l) + "px", + }); + break; + case "+": + (w = "path"), + (x = + "M" + + (y = l) / 2 + + ",0L" + + y / 2 + + "," + + (m = l) + + "M0," + + m / 2 + + "L" + + y + + "," + + m / 2), + (b = l - l * Math.sqrt(1 - c)), + (w = "path"), + (E = { + d: x, + opacity: P, + stroke: C, + "stroke-width": b + "px", + }); + break; + case ".": + (y = l), + (m = l), + c < Math.PI / 4 + ? (_ = Math.sqrt((c * l * l) / Math.PI)) + : ((T = c), + (k = Math.PI / 4), + 1, + (_ = + (A = l / 2) + + ((l / Math.sqrt(2) - A) * (T - k)) / + (1 - k))), + (w = "circle"), + (E = { + cx: y / 2, + cy: m / 2, + r: _, + opacity: P, + fill: C, + }); + } + var O = [ + o || "noSh", + p || "noBg", + d || "noFg", + l, + c, + ].join(";"), + I = M._defs + .select(".patterns") + .selectAll("#" + S) + .data([O], i.identity); + I.exit().remove(), + I.enter() + .append("pattern") + .each(function () { + var t = n.select(this); + if ( + (t.attr({ + id: S, + width: y + "px", + height: m + "px", + patternUnits: "userSpaceOnUse", + patternTransform: g ? "scale(0.8)" : "", + }), + p) + ) { + var e = s(p), + r = u.tinyRGB(e), + i = e.getAlpha(), + a = t.selectAll("rect").data([0]); + a.exit().remove(), + a + .enter() + .append("rect") + .attr({ + width: y + "px", + height: m + "px", + fill: r, + "fill-opacity": i, + }); + } + var o = t.selectAll(w).data([0]); + o.exit().remove(), o.enter().append(w).attr(E); + }), + t.style("fill", V(S, r)).style("fill-opacity", null), + t.classed("pattern_filled", !0); + }), + (x.initGradients = function (t) { + var e = t._fullLayout; + i + .ensureSingle(e._defs, "g", "gradients") + .selectAll("linearGradient,radialGradient") + .remove(), + n + .select(t) + .selectAll(".gradient_filled") + .classed("gradient_filled", !1); + }), + (x.initPatterns = function (t) { + var e = t._fullLayout; + i + .ensureSingle(e._defs, "g", "patterns") + .selectAll("pattern") + .remove(), + n + .select(t) + .selectAll(".pattern_filled") + .classed("pattern_filled", !1); + }), + (x.getPatternAttr = function (t, e, r) { + return t && i.isArrayOrTypedArray(t) + ? e < t.length + ? t[e] + : r + : t; + }), + (x.pointStyle = function (t, e, r, i) { + if (t.size()) { + var a = x.makePointStyleFns(e); + t.each(function (t) { + x.singlePointStyle(t, n.select(this), e, a, r, i); + }); + } + }), + (x.singlePointStyle = function (t, e, r, n, a, o) { + var s = r.marker, + l = s.line; + if ( + (o && o.i >= 0 && void 0 === t.i && (t.i = o.i), + e.style( + "opacity", + n.selectedOpacityFn + ? n.selectedOpacityFn(t) + : void 0 === t.mo + ? s.opacity + : t.mo, + ), + n.ms2mrc) + ) { + var c; + (c = + "various" === t.ms || "various" === s.size + ? 3 + : n.ms2mrc(t.ms)), + (t.mrc = c), + n.selectedSizeFn && (c = t.mrc = n.selectedSizeFn(t)); + var f = x.symbolNumber(t.mx || s.symbol) || 0; + t.om = f % 200 >= 100; + var h = rt(t, r), + p = G(t, r); + e.attr("d", T(f, c, h, p)); + } + var d, + v, + g, + y = !1; + if (t.so) + (g = l.outlierwidth), + (v = l.outliercolor), + (d = s.outliercolor); + else { + var m = (l || {}).width; + (g = + (t.mlw + 1 || + m + 1 || + (t.trace ? (t.trace.marker.line || {}).width : 0) + + 1) - 1 || 0), + (v = + "mlc" in t + ? (t.mlcc = n.lineScale(t.mlc)) + : i.isArrayOrTypedArray(l.color) + ? u.defaultLine + : l.color), + i.isArrayOrTypedArray(s.color) && + ((d = u.defaultLine), (y = !0)), + (d = + "mc" in t + ? (t.mcc = n.markerScale(t.mc)) + : s.color || s.colors || "rgba(0,0,0,0)"), + n.selectedColorFn && (d = n.selectedColorFn(t)); + } + if (t.om) + e.call(u.stroke, d).style({ + "stroke-width": (g || 1) + "px", + fill: "none", + }); + else { + e.style("stroke-width", (t.isBlank ? 0 : g) + "px"); + var b = s.gradient, + _ = t.mgt; + _ ? (y = !0) : (_ = b && b.type), + i.isArrayOrTypedArray(_) && + ((_ = _[0]), S[_] || (_ = 0)); + var w = s.pattern, + k = w && x.getPatternAttr(w.shape, t.i, ""); + if (_ && "none" !== _) { + var A = t.mgc; + A ? (y = !0) : (A = b.color); + var M = r.uid; + y && (M += "-" + t.i), + x.gradient( + e, + a, + M, + _, + [ + [0, A], + [1, d], + ], + "fill", + ); + } else if (k) { + var E = !1, + L = w.fgcolor; + !L && o && o.color && ((L = o.color), (E = !0)); + var C = x.getPatternAttr( + L, + t.i, + (o && o.color) || null, + ), + P = x.getPatternAttr(w.bgcolor, t.i, null), + O = w.fgopacity, + I = x.getPatternAttr(w.size, t.i, 8), + D = x.getPatternAttr(w.solidity, t.i, 0.3); + E = + E || + t.mcc || + i.isArrayOrTypedArray(w.shape) || + i.isArrayOrTypedArray(w.bgcolor) || + i.isArrayOrTypedArray(w.fgcolor) || + i.isArrayOrTypedArray(w.size) || + i.isArrayOrTypedArray(w.solidity); + var z = r.uid; + E && (z += "-" + t.i), + x.pattern( + e, + "point", + a, + z, + k, + I, + D, + t.mcc, + w.fillmode, + P, + C, + O, + ); + } else + i.isArrayOrTypedArray(d) + ? u.fill(e, d[t.i]) + : u.fill(e, d); + g && u.stroke(e, v); + } + }), + (x.makePointStyleFns = function (t) { + var e = {}, + r = t.marker; + return ( + (e.markerScale = x.tryColorscale(r, "")), + (e.lineScale = x.tryColorscale(r, "line")), + l.traceIs(t, "symbols") && + (e.ms2mrc = g.isBubble(t) + ? y(t) + : function () { + return (r.size || 6) / 2; + }), + t.selectedpoints && + i.extendFlat(e, x.makeSelectedPointStyleFns(t)), + e + ); + }), + (x.makeSelectedPointStyleFns = function (t) { + var e = {}, + r = t.selected || {}, + n = t.unselected || {}, + a = t.marker || {}, + o = r.marker || {}, + s = n.marker || {}, + u = a.opacity, + c = o.opacity, + f = s.opacity, + h = void 0 !== c, + p = void 0 !== f; + (i.isArrayOrTypedArray(u) || h || p) && + (e.selectedOpacityFn = function (t) { + var e = void 0 === t.mo ? a.opacity : t.mo; + return t.selected ? (h ? c : e) : p ? f : v * e; + }); + var d = a.color, + g = o.color, + y = s.color; + (g || y) && + (e.selectedColorFn = function (t) { + var e = t.mcc || d; + return t.selected ? g || e : y || e; + }); + var m = a.size, + x = o.size, + b = s.size, + _ = void 0 !== x, + w = void 0 !== b; + return ( + l.traceIs(t, "symbols") && + (_ || w) && + (e.selectedSizeFn = function (t) { + var e = t.mrc || m / 2; + return t.selected ? (_ ? x / 2 : e) : w ? b / 2 : e; + }), + e + ); + }), + (x.makeSelectedTextStyleFns = function (t) { + var e = {}, + r = t.selected || {}, + n = t.unselected || {}, + i = t.textfont || {}, + a = r.textfont || {}, + o = n.textfont || {}, + s = i.color, + l = a.color, + c = o.color; + return ( + (e.selectedTextColorFn = function (t) { + var e = t.tc || s; + return t.selected + ? l || e + : c || (l ? e : u.addOpacity(e, v)); + }), + e + ); + }), + (x.selectedPointStyle = function (t, e) { + if (t.size() && e.selectedpoints) { + var r = x.makeSelectedPointStyleFns(e), + i = e.marker || {}, + a = []; + r.selectedOpacityFn && + a.push(function (t, e) { + t.style("opacity", r.selectedOpacityFn(e)); + }), + r.selectedColorFn && + a.push(function (t, e) { + u.fill(t, r.selectedColorFn(e)); + }), + r.selectedSizeFn && + a.push(function (t, n) { + var a = n.mx || i.symbol || 0, + o = r.selectedSizeFn(n); + t.attr( + "d", + T(x.symbolNumber(a), o, rt(n, e), G(n, e)), + ), + (n.mrc2 = o); + }), + a.length && + t.each(function (t) { + for ( + var e = n.select(this), r = 0; + r < a.length; + r++ + ) + a[r](e, t); + }); + } + }), + (x.tryColorscale = function (t, e) { + var r = e ? i.nestedProperty(t, e).get() : t; + if (r) { + var n = r.color; + if ( + (r.colorscale || r._colorAx) && + i.isArrayOrTypedArray(n) + ) + return c.makeColorScaleFuncFromTrace(r); + } + return i.identity; + }); + var E, + L, + C = { start: 1, end: -1, middle: 0, bottom: 1, top: -1 }; + function P(t, e, r, i, a) { + var o = n.select(t.node().parentNode), + s = + -1 !== e.indexOf("top") + ? "top" + : -1 !== e.indexOf("bottom") + ? "bottom" + : "middle", + l = + -1 !== e.indexOf("left") + ? "end" + : -1 !== e.indexOf("right") + ? "start" + : "middle", + u = i ? i / 0.8 + 1 : 0, + c = (h.lineCount(t) - 1) * d + 1, + p = C[l] * u, + v = 0.75 * r + C[s] * u + ((C[s] - 1) * c * r) / 2; + t.attr("text-anchor", l), a || o.attr("transform", f(p, v)); + } + function O(t, e) { + var r = t.ts || e.textfont.size; + return o(r) && r > 0 ? r : 0; + } + function I(t, e, r) { + return r && (t = N(t)), e ? z(t[1]) : D(t[0]); + } + function D(t) { + var e = n.round(t, 2); + return (E = e), e; + } + function z(t) { + var e = n.round(t, 2); + return (L = e), e; + } + function R(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, 0.25), + u = Math.pow(o * o + s * s, 0.25), + c = (u * u * i - l * l * o) * n, + f = (u * u * a - l * l * s) * n, + h = 3 * u * (l + u), + p = 3 * l * (l + u); + return [ + [D(e[0] + (h && c / h)), z(e[1] + (h && f / h))], + [D(e[0] - (p && c / p)), z(e[1] - (p && f / p))], + ]; + } + (x.textPointStyle = function (t, e, r) { + if (t.size()) { + var a; + if (e.selectedpoints) { + var o = x.makeSelectedTextStyleFns(e); + a = o.selectedTextColorFn; + } + var s = e.texttemplate, + l = r._fullLayout; + t.each(function (t) { + var o = n.select(this), + u = s + ? i.extractOption(t, e, "txt", "texttemplate") + : i.extractOption(t, e, "tx", "text"); + if (u || 0 === u) { + if (s) { + var c = e._module.formatLabels, + f = c ? c(t, e, l) : {}, + p = {}; + m(p, e, t.i); + var d = e._meta || {}; + u = i.texttemplateString( + u, + f, + l._d3locale, + p, + t, + d, + ); + } + var v = t.tp || e.textposition, + g = O(t, e), + y = a ? a(t) : t.tc || e.textfont.color; + o.call(x.font, t.tf || e.textfont.family, g, y) + .text(u) + .call(h.convertToTspans, r) + .call(P, v, g, t.mrc); + } else o.remove(); + }); + } + }), + (x.selectedTextStyle = function (t, e) { + if (t.size() && e.selectedpoints) { + var r = x.makeSelectedTextStyleFns(e); + t.each(function (t) { + var i = n.select(this), + a = r.selectedTextColorFn(t), + o = t.tp || e.textposition, + s = O(t, e); + u.fill(i, a); + var c = l.traceIs(e, "bar-like"); + P(i, o, s, t.mrc2 || t.mrc, c); + }); + } + }), + (x.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(R(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] + ); + }), + (x.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 = [R(t[i], t[0], t[1], e)]; + for (r = 1; r < i; r++) + a.push(R(t[r - 1], t[r], t[r + 1], e)); + for ( + a.push(R(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 F = { + hv: function (t, e, r) { + return "H" + D(e[0]) + "V" + I(e, 1, r); + }, + vh: function (t, e, r) { + return "V" + z(e[1]) + "H" + I(e, 0, r); + }, + hvh: function (t, e, r) { + return ( + "H" + + D((t[0] + e[0]) / 2) + + "V" + + z(e[1]) + + "H" + + I(e, 0, r) + ); + }, + vhv: function (t, e, r) { + return ( + "V" + + z((t[1] + e[1]) / 2) + + "H" + + D(e[0]) + + "V" + + I(e, 1, r) + ); + }, + }, + B = function (t, e, r) { + return "L" + I(e, 0, r) + "," + I(e, 1, r); + }; + function N(t, e) { + var r = t.backoff, + n = t.trace, + a = t.d, + o = t.i; + if ( + r && + n && + n.marker && + n.marker.angle % 360 == 0 && + n.line && + "spline" !== n.line.shape + ) { + var s = i.isArrayOrTypedArray(r), + l = t, + u = e ? e[0] : E || 0, + c = e ? e[1] : L || 0, + f = l[0], + h = l[1], + p = f - u, + d = h - c, + v = Math.atan2(d, p), + g = s ? r[o] : r; + if ("auto" === g) { + var y = l.i; + "scatter" === n.type && y--; + var m = l.marker, + b = m.symbol; + i.isArrayOrTypedArray(b) && (b = b[y]); + var _ = m.size; + i.isArrayOrTypedArray(_) && (_ = _[y]), + (g = m ? x.symbolBackOffs[x.symbolNumber(b)] * _ : 0), + (g += x.getMarkerStandoff(a[y], n) || 0); + } + var w = f - g * Math.cos(v), + T = h - g * Math.sin(v); + ((w <= f && w >= u) || (w >= f && w <= u)) && + ((T <= h && T >= c) || (T >= h && T <= c)) && + (t = [w, T]); + } + return t; + } + (x.steps = function (t) { + var e = F[t] || B; + return function (t) { + for ( + var r = "M" + D(t[0][0]) + "," + z(t[0][1]), + n = t.length, + i = 1; + i < n; + i++ + ) + r += e(t[i - 1], t[i], i === n - 1); + return r; + }; + }), + (x.applyBackoff = N), + (x.makeTester = function () { + var t = i.ensureSingleById( + n.select("body"), + "svg", + "js-plotly-tester", + function (t) { + t.attr(p.svgAttrs).style({ + position: "absolute", + left: "-10000px", + top: "-10000px", + width: "9000px", + height: "9000px", + "z-index": "1", + }); + }, + ), + e = i.ensureSingle( + t, + "path", + "js-reference-point", + function (t) { + t.attr("d", "M0,0H1V1H0Z").style({ + "stroke-width": 0, + fill: "black", + }); + }, + ); + (x.tester = t), (x.testref = e); + }), + (x.savedBBoxes = {}); + var j = 0; + function U(t) { + var e = t.getAttribute("data-unformatted"); + if (null !== e) + return ( + e + + t.getAttribute("data-math") + + t.getAttribute("text-anchor") + + t.getAttribute("style") + ); + } + function V(t, e) { + if (!t) return null; + var r = e._context, + n = r._exportedPlot ? "" : r._baseUrl || ""; + return n ? "url('" + n + "#" + t + "')" : "url(#" + t + ")"; + } + (x.bBox = function (t, e, r) { + var a, o, s; + if ((r || (r = U(t)), r)) { + if ((a = x.savedBBoxes[r])) return i.extendFlat({}, a); + } else if (1 === t.childNodes.length) { + var l = t.childNodes[0]; + if ((r = U(l))) { + var u = +l.getAttribute("x") || 0, + c = +l.getAttribute("y") || 0, + f = l.getAttribute("transform"); + if (!f) { + var p = x.bBox(l, !1, r); + return ( + u && ((p.left += u), (p.right += u)), + c && ((p.top += c), (p.bottom += c)), + p + ); + } + if ( + ((r += "~" + u + "~" + c + "~" + f), + (a = x.savedBBoxes[r])) + ) + return i.extendFlat({}, a); + } + } + e + ? (o = t) + : ((s = x.tester.node()), + (o = t.cloneNode(!0)), + s.appendChild(o)), + n + .select(o) + .attr("transform", null) + .call(h.positionText, 0, 0); + var d = o.getBoundingClientRect(), + v = x.testref.node().getBoundingClientRect(); + e || s.removeChild(o); + var g = { + height: d.height, + width: d.width, + left: d.left - v.left, + top: d.top - v.top, + right: d.right - v.left, + bottom: d.bottom - v.top, + }; + return ( + j >= 1e4 && ((x.savedBBoxes = {}), (j = 0)), + r && (x.savedBBoxes[r] = g), + j++, + i.extendFlat({}, g) + ); + }), + (x.setClipUrl = function (t, e, r) { + t.attr("clip-path", V(e, r)); + }), + (x.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 }; + }), + (x.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 += f(e, r)).trim()), + t[i]("transform", a), + a + ); + }), + (x.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 }; + }), + (x.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 + ); + }); + var H = /\s*sc.*/; + x.setPointGroupScale = function (t, e, r) { + if (((e = e || 1), (r = r || 1), t)) { + var n = + 1 === e && 1 === r ? "" : "scale(" + e + "," + r + ")"; + t.each(function () { + var t = (this.getAttribute("transform") || "").replace( + H, + "", + ); + (t = (t += n).trim()), + this.setAttribute("transform", t); + }); + } + }; + var q = /translate\([^)]*\)\s*$/; + function G(t, e) { + var r; + return ( + t && (r = t.mf), + void 0 === r && + (r = (e.marker && e.marker.standoff) || 0), + e._geo || e._xA ? r : -r + ); + } + (x.setTextPointsScale = function (t, e, r) { + t && + t.each(function () { + var t, + i = n.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(q); + (t = + 1 === e && 1 === r + ? [] + : [ + f(o, s), + "scale(" + e + "," + r + ")", + f(-o, -s), + ]), + l && t.push(l), + i.attr("transform", t.join("")); + } + }); + }), + (x.getMarkerStandoff = G); + var Z, + Y, + W, + X, + J, + K, + $ = Math.atan2, + Q = Math.cos, + tt = Math.sin; + function et(t, e) { + var r = e[0], + n = e[1]; + return [r * Q(t) - n * tt(t), r * tt(t) + n * Q(t)]; + } + function rt(t, e) { + var r, + n, + i = t.ma; + void 0 === i && (i = e.marker.angle || 0); + var a = e.marker.angleref; + if ("previous" === a || "north" === a) { + if (e._geo) { + var s = e._geo.project(t.lonlat); + (r = s[0]), (n = s[1]); + } else { + var l = e._xA, + u = e._yA; + if (!l || !u) return 90; + (r = l.c2p(t.x)), (n = u.c2p(t.y)); + } + if (e._geo) { + var c, + f = t.lonlat[0], + h = t.lonlat[1], + p = e._geo.project([f, h + 1e-5]), + d = e._geo.project([f + 1e-5, h]), + v = $(d[1] - n, d[0] - r), + g = $(p[1] - n, p[0] - r); + if ("north" === a) c = (i / 180) * Math.PI; + else if ("previous" === a) { + var y = (f / 180) * Math.PI, + m = (h / 180) * Math.PI, + x = (Z / 180) * Math.PI, + b = (Y / 180) * Math.PI, + _ = x - y, + w = Q(b) * tt(_), + T = tt(b) * Q(m) - Q(b) * tt(m) * Q(_); + (c = -$(w, T) - Math.PI), (Z = f), (Y = h); + } + var k = et(v, [Q(c), 0]), + A = et(g, [tt(c), 0]); + (i = ($(k[1] + A[1], k[0] + A[0]) / Math.PI) * 180), + "previous" !== a || + (K === e.uid && t.i === J + 1) || + (i = null); + } + if ("previous" === a && !e._geo) + if (K === e.uid && t.i === J + 1 && o(r) && o(n)) { + var M = r - W, + S = n - X, + E = (e.line && e.line.shape) || "", + L = E.slice(E.length - 1); + "h" === L && (S = 0), + "v" === L && (M = 0), + (i += ($(S, M) / Math.PI) * 180 + 90); + } else i = null; + } + return (W = r), (X = n), (J = t.i), (K = e.uid), i; + } + x.getMarkerAngle = rt; + }, + 90998: function (t, e, r) { + "use strict"; + var n, + i, + a, + o, + s = r(95616), + l = r(39898).round, + u = "M0,0Z", + c = Math.sqrt(2), + f = Math.sqrt(3), + h = Math.PI, + p = Math.cos, + d = Math.sin; + function v(t) { + return null === t; + } + function g(t, e, r) { + if (!((t && t % 360 != 0) || e)) return r; + if (a === t && o === e && n === r) return i; + function l(t, r) { + var n = p(t), + i = d(t), + a = r[0], + o = r[1] + (e || 0); + return [a * n - o * i, a * i + o * n]; + } + (a = t), (o = e), (n = r); + for ( + var u = (t / 180) * h, + c = 0, + f = 0, + v = s(r), + g = "", + y = 0; + y < v.length; + y++ + ) { + var m = v[y], + x = m[0], + b = c, + _ = f; + if ("M" === x || "L" === x) (c = +m[1]), (f = +m[2]); + else if ("m" === x || "l" === x) + (c += +m[1]), (f += +m[2]); + else if ("H" === x) c = +m[1]; + else if ("h" === x) c += +m[1]; + else if ("V" === x) f = +m[1]; + else if ("v" === x) f += +m[1]; + else if ("A" === x) { + (c = +m[1]), (f = +m[2]); + var w = l(u, [+m[6], +m[7]]); + (m[6] = w[0]), (m[7] = w[1]), (m[3] = +m[3] + t); + } + ("H" !== x && "V" !== x) || (x = "L"), + ("h" !== x && "v" !== x) || (x = "l"), + ("m" !== x && "l" !== x) || ((c -= b), (f -= _)); + var T = l(u, [c, f]); + ("H" !== x && "V" !== x) || (x = "L"), + ("M" !== x && "L" !== x && "m" !== x && "l" !== x) || + ((m[1] = T[0]), (m[2] = T[1])), + (m[0] = x), + (g += m[0] + m.slice(1).join(",")); + } + return (i = g), g; + } + t.exports = { + circle: { + n: 0, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2), + i = + "M" + + n + + ",0A" + + n + + "," + + n + + " 0 1,1 0,-" + + n + + "A" + + n + + "," + + n + + " 0 0,1 " + + n + + ",0Z"; + return r ? g(e, r, i) : i; + }, + }, + square: { + n: 1, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M" + + n + + "," + + n + + "H-" + + n + + "V-" + + n + + "H" + + n + + "Z", + ); + }, + }, + diamond: { + n: 2, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.3 * t, 2); + return g( + e, + r, + "M" + n + ",0L0," + n + "L-" + n + ",0L0,-" + n + "Z", + ); + }, + }, + cross: { + n: 3, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(0.4 * t, 2), + i = l(1.2 * t, 2); + return g( + e, + r, + "M" + + i + + "," + + n + + "H" + + n + + "V" + + i + + "H-" + + n + + "V" + + n + + "H-" + + i + + "V-" + + n + + "H-" + + n + + "V-" + + i + + "H" + + n + + "V-" + + n + + "H" + + i + + "Z", + ); + }, + }, + x: { + n: 4, + f: function (t, e, r) { + if (v(e)) return u; + var n = l((0.8 * t) / c, 2), + i = "l" + n + "," + n, + a = "l" + n + ",-" + n, + o = "l-" + n + ",-" + n, + s = "l-" + n + "," + n; + return g( + e, + r, + "M0," + + n + + i + + a + + o + + a + + o + + s + + o + + s + + i + + s + + i + + "Z", + ); + }, + }, + "triangle-up": { + n: 5, + f: function (t, e, r) { + if (v(e)) return u; + var n = l((2 * t) / f, 2); + return g( + e, + r, + "M-" + + n + + "," + + l(t / 2, 2) + + "H" + + n + + "L0,-" + + l(t, 2) + + "Z", + ); + }, + }, + "triangle-down": { + n: 6, + f: function (t, e, r) { + if (v(e)) return u; + var n = l((2 * t) / f, 2); + return g( + e, + r, + "M-" + + n + + ",-" + + l(t / 2, 2) + + "H" + + n + + "L0," + + l(t, 2) + + "Z", + ); + }, + }, + "triangle-left": { + n: 7, + f: function (t, e, r) { + if (v(e)) return u; + var n = l((2 * t) / f, 2); + return g( + e, + r, + "M" + + l(t / 2, 2) + + ",-" + + n + + "V" + + n + + "L-" + + l(t, 2) + + ",0Z", + ); + }, + }, + "triangle-right": { + n: 8, + f: function (t, e, r) { + if (v(e)) return u; + var n = l((2 * t) / f, 2); + return g( + e, + r, + "M-" + + l(t / 2, 2) + + ",-" + + n + + "V" + + n + + "L" + + l(t, 2) + + ",0Z", + ); + }, + }, + "triangle-ne": { + n: 9, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(0.6 * t, 2), + i = l(1.2 * t, 2); + return g( + e, + r, + "M-" + i + ",-" + n + "H" + n + "V" + i + "Z", + ); + }, + }, + "triangle-se": { + n: 10, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(0.6 * t, 2), + i = l(1.2 * t, 2); + return g( + e, + r, + "M" + n + ",-" + i + "V" + n + "H-" + i + "Z", + ); + }, + }, + "triangle-sw": { + n: 11, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(0.6 * t, 2), + i = l(1.2 * t, 2); + return g( + e, + r, + "M" + i + "," + n + "H-" + n + "V-" + i + "Z", + ); + }, + }, + "triangle-nw": { + n: 12, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(0.6 * t, 2), + i = l(1.2 * t, 2); + return g( + e, + r, + "M-" + n + "," + i + "V-" + n + "H" + i + "Z", + ); + }, + }, + pentagon: { + n: 13, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(0.951 * t, 2), + i = l(0.588 * t, 2), + a = l(-t, 2), + o = l(-0.309 * t, 2); + return g( + e, + r, + "M" + + n + + "," + + o + + "L" + + i + + "," + + l(0.809 * t, 2) + + "H-" + + i + + "L-" + + n + + "," + + o + + "L0," + + a + + "Z", + ); + }, + }, + hexagon: { + n: 14, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2), + i = l(t / 2, 2), + a = l((t * f) / 2, 2); + return g( + e, + r, + "M" + + a + + ",-" + + i + + "V" + + i + + "L0," + + n + + "L-" + + a + + "," + + i + + "V-" + + i + + "L0,-" + + n + + "Z", + ); + }, + }, + hexagon2: { + n: 15, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2), + i = l(t / 2, 2), + a = l((t * f) / 2, 2); + return g( + e, + r, + "M-" + + i + + "," + + a + + "H" + + i + + "L" + + n + + ",0L" + + i + + ",-" + + a + + "H-" + + i + + "L-" + + n + + ",0Z", + ); + }, + }, + octagon: { + n: 16, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(0.924 * t, 2), + i = l(0.383 * t, 2); + return g( + e, + r, + "M-" + + i + + ",-" + + n + + "H" + + i + + "L" + + n + + ",-" + + i + + "V" + + i + + "L" + + i + + "," + + n + + "H-" + + i + + "L-" + + n + + "," + + i + + "V-" + + i + + "Z", + ); + }, + }, + star: { + n: 17, + f: function (t, e, r) { + if (v(e)) return u; + var n = 1.4 * t, + i = l(0.225 * n, 2), + a = l(0.951 * n, 2), + o = l(0.363 * n, 2), + s = l(0.588 * n, 2), + c = l(-n, 2), + f = l(-0.309 * n, 2), + h = l(0.118 * n, 2), + p = l(0.809 * n, 2); + return g( + e, + r, + "M" + + i + + "," + + f + + "H" + + a + + "L" + + o + + "," + + h + + "L" + + s + + "," + + p + + "L0," + + l(0.382 * n, 2) + + "L-" + + s + + "," + + p + + "L-" + + o + + "," + + h + + "L-" + + a + + "," + + f + + "H-" + + i + + "L0," + + c + + "Z", + ); + }, + }, + hexagram: { + n: 18, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(0.66 * t, 2), + i = l(0.38 * t, 2), + a = l(0.76 * t, 2); + return g( + e, + r, + "M-" + + a + + ",0l-" + + i + + ",-" + + n + + "h" + + a + + "l" + + i + + ",-" + + n + + "l" + + i + + "," + + n + + "h" + + a + + "l-" + + i + + "," + + n + + "l" + + i + + "," + + n + + "h-" + + a + + "l-" + + i + + "," + + n + + "l-" + + i + + ",-" + + n + + "h-" + + a + + "Z", + ); + }, + }, + "star-triangle-up": { + n: 19, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t * f * 0.8, 2), + i = l(0.8 * t, 2), + a = l(1.6 * t, 2), + o = l(4 * t, 2), + s = "A " + o + "," + o + " 0 0 1 "; + return g( + e, + r, + "M-" + + n + + "," + + i + + s + + n + + "," + + i + + s + + "0,-" + + a + + s + + "-" + + n + + "," + + i + + "Z", + ); + }, + }, + "star-triangle-down": { + n: 20, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t * f * 0.8, 2), + i = l(0.8 * t, 2), + a = l(1.6 * t, 2), + o = l(4 * t, 2), + s = "A " + o + "," + o + " 0 0 1 "; + return g( + e, + r, + "M" + + n + + ",-" + + i + + s + + "-" + + n + + ",-" + + i + + s + + "0," + + a + + s + + n + + ",-" + + i + + "Z", + ); + }, + }, + "star-square": { + n: 21, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.1 * t, 2), + i = l(2 * t, 2), + a = "A " + i + "," + i + " 0 0 1 "; + return g( + e, + r, + "M-" + + n + + ",-" + + n + + a + + "-" + + n + + "," + + n + + a + + n + + "," + + n + + a + + n + + ",-" + + n + + a + + "-" + + n + + ",-" + + n + + "Z", + ); + }, + }, + "star-diamond": { + n: 22, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.4 * t, 2), + i = l(1.9 * t, 2), + a = "A " + i + "," + i + " 0 0 1 "; + return g( + e, + r, + "M-" + + n + + ",0" + + a + + "0," + + n + + a + + n + + ",0" + + a + + "0,-" + + n + + a + + "-" + + n + + ",0Z", + ); + }, + }, + "diamond-tall": { + n: 23, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(0.7 * t, 2), + i = l(1.4 * t, 2); + return g( + e, + r, + "M0," + i + "L" + n + ",0L0,-" + i + "L-" + n + ",0Z", + ); + }, + }, + "diamond-wide": { + n: 24, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.4 * t, 2), + i = l(0.7 * t, 2); + return g( + e, + r, + "M0," + i + "L" + n + ",0L0,-" + i + "L-" + n + ",0Z", + ); + }, + }, + hourglass: { + n: 25, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M" + + n + + "," + + n + + "H-" + + n + + "L" + + n + + ",-" + + n + + "H-" + + n + + "Z", + ); + }, + noDot: !0, + }, + bowtie: { + n: 26, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M" + + n + + "," + + n + + "V-" + + n + + "L-" + + n + + "," + + n + + "V-" + + n + + "Z", + ); + }, + noDot: !0, + }, + "circle-cross": { + n: 27, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M0," + + n + + "V-" + + n + + "M" + + n + + ",0H-" + + n + + "M" + + n + + ",0A" + + n + + "," + + n + + " 0 1,1 0,-" + + n + + "A" + + n + + "," + + n + + " 0 0,1 " + + n + + ",0Z", + ); + }, + needLine: !0, + noDot: !0, + }, + "circle-x": { + n: 28, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2), + i = l(t / c, 2); + return g( + e, + r, + "M" + + i + + "," + + i + + "L-" + + i + + ",-" + + i + + "M" + + i + + ",-" + + i + + "L-" + + i + + "," + + i + + "M" + + n + + ",0A" + + n + + "," + + n + + " 0 1,1 0,-" + + n + + "A" + + n + + "," + + n + + " 0 0,1 " + + n + + ",0Z", + ); + }, + needLine: !0, + noDot: !0, + }, + "square-cross": { + n: 29, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M0," + + n + + "V-" + + n + + "M" + + n + + ",0H-" + + n + + "M" + + n + + "," + + n + + "H-" + + n + + "V-" + + n + + "H" + + n + + "Z", + ); + }, + needLine: !0, + noDot: !0, + }, + "square-x": { + n: 30, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M" + + n + + "," + + n + + "L-" + + n + + ",-" + + n + + "M" + + n + + ",-" + + n + + "L-" + + n + + "," + + n + + "M" + + n + + "," + + n + + "H-" + + n + + "V-" + + n + + "H" + + n + + "Z", + ); + }, + needLine: !0, + noDot: !0, + }, + "diamond-cross": { + n: 31, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.3 * t, 2); + return g( + e, + r, + "M" + + n + + ",0L0," + + n + + "L-" + + n + + ",0L0,-" + + n + + "ZM0,-" + + n + + "V" + + n + + "M-" + + n + + ",0H" + + n, + ); + }, + needLine: !0, + noDot: !0, + }, + "diamond-x": { + n: 32, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.3 * t, 2), + i = l(0.65 * t, 2); + return g( + e, + r, + "M" + + n + + ",0L0," + + n + + "L-" + + n + + ",0L0,-" + + n + + "ZM-" + + i + + ",-" + + i + + "L" + + i + + "," + + i + + "M-" + + i + + "," + + i + + "L" + + i + + ",-" + + i, + ); + }, + needLine: !0, + noDot: !0, + }, + "cross-thin": { + n: 33, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.4 * t, 2); + return g( + e, + r, + "M0," + n + "V-" + n + "M" + n + ",0H-" + n, + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "x-thin": { + n: 34, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M" + + n + + "," + + n + + "L-" + + n + + ",-" + + n + + "M" + + n + + ",-" + + n + + "L-" + + n + + "," + + n, + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + asterisk: { + n: 35, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.2 * t, 2), + i = l(0.85 * t, 2); + return g( + e, + r, + "M0," + + n + + "V-" + + n + + "M" + + n + + ",0H-" + + n + + "M" + + i + + "," + + i + + "L-" + + i + + ",-" + + i + + "M" + + i + + ",-" + + i + + "L-" + + i + + "," + + i, + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + hash: { + n: 36, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t / 2, 2), + i = l(t, 2); + return g( + e, + r, + "M" + + n + + "," + + i + + "V-" + + i + + "M" + + (n - i) + + ",-" + + i + + "V" + + i + + "M" + + i + + "," + + n + + "H-" + + i + + "M-" + + i + + "," + + (n - i) + + "H" + + i, + ); + }, + needLine: !0, + noFill: !0, + }, + "y-up": { + n: 37, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.2 * t, 2), + i = l(1.6 * t, 2), + a = l(0.8 * t, 2); + return g( + e, + r, + "M-" + + n + + "," + + a + + "L0,0M" + + n + + "," + + a + + "L0,0M0,-" + + i + + "L0,0", + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "y-down": { + n: 38, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.2 * t, 2), + i = l(1.6 * t, 2), + a = l(0.8 * t, 2); + return g( + e, + r, + "M-" + + n + + ",-" + + a + + "L0,0M" + + n + + ",-" + + a + + "L0,0M0," + + i + + "L0,0", + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "y-left": { + n: 39, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.2 * t, 2), + i = l(1.6 * t, 2), + a = l(0.8 * t, 2); + return g( + e, + r, + "M" + + a + + "," + + n + + "L0,0M" + + a + + ",-" + + n + + "L0,0M-" + + i + + ",0L0,0", + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "y-right": { + n: 40, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.2 * t, 2), + i = l(1.6 * t, 2), + a = l(0.8 * t, 2); + return g( + e, + r, + "M-" + + a + + "," + + n + + "L0,0M-" + + a + + ",-" + + n + + "L0,0M" + + i + + ",0L0,0", + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "line-ew": { + n: 41, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.4 * t, 2); + return g(e, r, "M" + n + ",0H-" + n); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "line-ns": { + n: 42, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.4 * t, 2); + return g(e, r, "M0," + n + "V-" + n); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "line-ne": { + n: 43, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g(e, r, "M" + n + ",-" + n + "L-" + n + "," + n); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "line-nw": { + n: 44, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g(e, r, "M" + n + "," + n + "L-" + n + ",-" + n); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "arrow-up": { + n: 45, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M0,0L-" + n + "," + l(2 * t, 2) + "H" + n + "Z", + ); + }, + backoff: 1, + noDot: !0, + }, + "arrow-down": { + n: 46, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M0,0L-" + n + ",-" + l(2 * t, 2) + "H" + n + "Z", + ); + }, + noDot: !0, + }, + "arrow-left": { + n: 47, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(2 * t, 2), + i = l(t, 2); + return g(e, r, "M0,0L" + n + ",-" + i + "V" + i + "Z"); + }, + noDot: !0, + }, + "arrow-right": { + n: 48, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(2 * t, 2), + i = l(t, 2); + return g(e, r, "M0,0L-" + n + ",-" + i + "V" + i + "Z"); + }, + noDot: !0, + }, + "arrow-bar-up": { + n: 49, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M-" + + n + + ",0H" + + n + + "M0,0L-" + + n + + "," + + l(2 * t, 2) + + "H" + + n + + "Z", + ); + }, + backoff: 1, + needLine: !0, + noDot: !0, + }, + "arrow-bar-down": { + n: 50, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M-" + + n + + ",0H" + + n + + "M0,0L-" + + n + + ",-" + + l(2 * t, 2) + + "H" + + n + + "Z", + ); + }, + needLine: !0, + noDot: !0, + }, + "arrow-bar-left": { + n: 51, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(2 * t, 2), + i = l(t, 2); + return g( + e, + r, + "M0,-" + + i + + "V" + + i + + "M0,0L" + + n + + ",-" + + i + + "V" + + i + + "Z", + ); + }, + needLine: !0, + noDot: !0, + }, + "arrow-bar-right": { + n: 52, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(2 * t, 2), + i = l(t, 2); + return g( + e, + r, + "M0,-" + + i + + "V" + + i + + "M0,0L-" + + n + + ",-" + + i + + "V" + + i + + "Z", + ); + }, + needLine: !0, + noDot: !0, + }, + arrow: { + n: 53, + f: function (t, e, r) { + if (v(e)) return u; + var n = h / 2.5, + i = 2 * t * p(n), + a = 2 * t * d(n); + return g( + e, + r, + "M0,0L" + -i + "," + a + "L" + i + "," + a + "Z", + ); + }, + backoff: 0.9, + noDot: !0, + }, + "arrow-wide": { + n: 54, + f: function (t, e, r) { + if (v(e)) return u; + var n = h / 4, + i = 2 * t * p(n), + a = 2 * t * d(n); + return g( + e, + r, + "M0,0L" + + -i + + "," + + a + + "A " + + 2 * t + + "," + + 2 * t + + " 0 0 1 " + + i + + "," + + a + + "Z", + ); + }, + backoff: 0.4, + noDot: !0, + }, + }; + }, + 25673: function (t) { + "use strict"; + t.exports = { + 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" }, + }, + }; + }, + 84532: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(73972), + a = r(89298), + o = r(71828), + s = r(45827); + function l(t, e, r, i) { + var l = e["error_" + i] || {}, + u = []; + if (l.visible && -1 !== ["linear", "log"].indexOf(r.type)) { + for (var c = s(l), f = 0; f < t.length; f++) { + var h = t[f], + p = h.i; + if (void 0 === p) p = f; + else if (null === p) continue; + var d = h[i]; + if (n(r.c2l(d))) { + var v = c(d, p); + if (n(v[0]) && n(v[1])) { + var g = (h[i + "s"] = d - v[0]), + y = (h[i + "h"] = d + v[1]); + u.push(g, y); + } + } + } + var m = r._id, + x = e._extremes[m], + b = a.findExtremes( + r, + u, + o.extendFlat( + { tozero: x.opts.tozero }, + { padded: !0 }, + ), + ); + (x.min = x.min.concat(b.min)), + (x.max = x.max.concat(b.max)); + } + } + t.exports = function (t) { + for (var e = t.calcdata, r = 0; r < e.length; r++) { + var n = e[r], + o = n[0].trace; + if (!0 === o.visible && i.traceIs(o, "errorBarsOK")) { + var s = a.getFromId(t, o.xaxis), + u = a.getFromId(t, o.yaxis); + l(n, o, s, "x"), l(n, o, u, "y"); + } + } + }; + }, + 45827: function (t) { + "use strict"; + function e(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; + } + t.exports = function (t) { + var r = t.type, + n = t.symmetric; + if ("data" === r) { + var i = t.array || []; + if (n) + return function (t, e) { + var r = +i[e]; + return [r, r]; + }; + var a = t.arrayminus || []; + return function (t, e) { + var r = +i[e], + n = +a[e]; + return isNaN(r) && isNaN(n) + ? [NaN, NaN] + : [n || 0, r || 0]; + }; + } + var o = e(r, t.value), + s = e(r, t.valueminus); + return n || void 0 === t.valueminus + ? function (t) { + var e = o(t); + return [e, e]; + } + : function (t) { + return [s(t), o(t)]; + }; + }; + }, + 97587: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(73972), + a = r(71828), + o = r(44467), + s = r(25673); + t.exports = function (t, e, r, l) { + var u = "error_" + l.axis, + c = o.newContainer(e, u), + f = t[u] || {}; + function h(t, e) { + return a.coerce(f, c, s, t, e); + } + if ( + !1 !== + h( + "visible", + void 0 !== f.array || + void 0 !== f.value || + "sqrt" === f.type, + ) + ) { + var p = h("type", "array" in f ? "data" : "percent"), + d = !0; + "sqrt" !== p && + (d = h( + "symmetric", + !(("data" === p ? "arrayminus" : "valueminus") in f), + )), + "data" === p + ? (h("array"), + h("traceref"), + d || (h("arrayminus"), h("tracerefminus"))) + : ("percent" !== p && "constant" !== p) || + (h("value"), d || h("valueminus")); + var v = "copy_" + l.inherit + "style"; + l.inherit && + (e["error_" + l.inherit] || {}).visible && + h(v, !(f.color || n(f.thickness) || n(f.width))), + (l.inherit && c[v]) || + (h("color", r), + h("thickness"), + h("width", i.traceIs(e, "gl3d") ? 0 : 4)); + } + }; + }, + 37369: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(30962).overrideAll, + a = r(25673), + o = { + error_x: n.extendFlat({}, a), + error_y: n.extendFlat({}, a), + }; + delete o.error_x.copy_zstyle, + delete o.error_y.copy_zstyle, + delete o.error_y.copy_ystyle; + var s = { + error_x: n.extendFlat({}, a), + error_y: n.extendFlat({}, a), + error_z: n.extendFlat({}, a), + }; + delete s.error_x.copy_ystyle, + delete s.error_y.copy_ystyle, + delete s.error_z.copy_ystyle, + delete s.error_z.copy_zstyle, + (t.exports = { + moduleType: "component", + name: "errorbars", + schema: { + traces: { + scatter: o, + bar: o, + histogram: o, + scatter3d: i(s, "calc", "nested"), + scattergl: i(o, "calc", "nested"), + }, + }, + supplyDefaults: r(97587), + calc: r(84532), + makeComputeError: r(45827), + plot: r(19398), + style: r(62662), + 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)); + }, + }); + }, + 19398: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = r(91424), + o = r(34098); + t.exports = function (t, e, r, s) { + var l = r.xaxis, + u = r.yaxis, + c = s && s.duration > 0, + f = t._context.staticPlot; + e.each(function (e) { + var h, + p = e[0].trace, + d = p.error_x || {}, + v = p.error_y || {}; + p.ids && + (h = function (t) { + return t.id; + }); + var g = o.hasMarkers(p) && p.marker.maxdisplayed > 0; + v.visible || d.visible || (e = []); + var y = n.select(this).selectAll("g.errorbar").data(e, h); + if ((y.exit().remove(), e.length)) { + d.visible || y.selectAll("path.xerror").remove(), + v.visible || y.selectAll("path.yerror").remove(), + y.style("opacity", 1); + var m = y.enter().append("g").classed("errorbar", !0); + c && + m + .style("opacity", 0) + .transition() + .duration(s.duration) + .style("opacity", 1), + a.setClipUrl(y, r.layerClipId, t), + y.each(function (t) { + var e = n.select(this), + r = (function (t, e, r) { + var n = { x: e.c2p(t.x), y: r.c2p(t.y) }; + return ( + void 0 !== t.yh && + ((n.yh = r.c2p(t.yh)), + (n.ys = r.c2p(t.ys)), + i(n.ys) || + ((n.noYS = !0), + (n.ys = r.c2p(t.ys, !0)))), + void 0 !== t.xh && + ((n.xh = e.c2p(t.xh)), + (n.xs = e.c2p(t.xs)), + i(n.xs) || + ((n.noXS = !0), + (n.xs = e.c2p(t.xs, !0)))), + n + ); + })(t, l, u); + if (!g || t.vis) { + var a, + o = e.select("path.yerror"); + if (v.visible && i(r.x) && i(r.yh) && i(r.ys)) { + var h = v.width; + (a = + "M" + + (r.x - h) + + "," + + r.yh + + "h" + + 2 * h + + "m-" + + h + + ",0V" + + r.ys), + r.noYS || (a += "m-" + h + ",0h" + 2 * h), + o.size() + ? c && + (o = o + .transition() + .duration(s.duration) + .ease(s.easing)) + : (o = e + .append("path") + .style( + "vector-effect", + f ? "none" : "non-scaling-stroke", + ) + .classed("yerror", !0)), + o.attr("d", a); + } else o.remove(); + var p = e.select("path.xerror"); + if (d.visible && i(r.y) && i(r.xh) && i(r.xs)) { + var y = (d.copy_ystyle ? v : d).width; + (a = + "M" + + r.xh + + "," + + (r.y - y) + + "v" + + 2 * y + + "m0,-" + + y + + "H" + + r.xs), + r.noXS || (a += "m0,-" + y + "v" + 2 * y), + p.size() + ? c && + (p = p + .transition() + .duration(s.duration) + .ease(s.easing)) + : (p = e + .append("path") + .style( + "vector-effect", + f ? "none" : "non-scaling-stroke", + ) + .classed("xerror", !0)), + p.attr("d", a); + } else p.remove(); + } + }); + } + }); + }; + }, + 62662: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(7901); + t.exports = function (t) { + t.each(function (t) { + var e = t[0].trace, + r = e.error_y || {}, + a = e.error_x || {}, + o = n.select(this); + o + .selectAll("path.yerror") + .style("stroke-width", r.thickness + "px") + .call(i.stroke, r.color), + a.copy_ystyle && (a = r), + o + .selectAll("path.xerror") + .style("stroke-width", a.thickness + "px") + .call(i.stroke, a.color); + }); + }; + }, + 77914: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(528).hoverlabel, + a = r(1426).extendFlat; + t.exports = { + hoverlabel: { + bgcolor: a({}, i.bgcolor, { arrayOk: !0 }), + bordercolor: a({}, i.bordercolor, { arrayOk: !0 }), + font: n({ arrayOk: !0, editType: "none" }), + align: a({}, i.align, { arrayOk: !0 }), + namelength: a({}, i.namelength, { arrayOk: !0 }), + editType: "none", + }, + }; + }, + 30732: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(73972); + function a(t, e, r, i) { + (i = i || n.identity), Array.isArray(t) && (e[0][r] = i(t)); + } + t.exports = function (t) { + var e = t.calcdata, + r = t._fullLayout; + function o(t) { + return function (e) { + return n.coerceHoverinfo( + { hoverinfo: e }, + { _module: t._module }, + r, + ); + }; + } + for (var s = 0; s < e.length; s++) { + var l = e[s], + u = l[0].trace; + if (!i.traceIs(u, "pie-like")) { + var c = i.traceIs(u, "2dMap") ? a : n.fillArray; + c(u.hoverinfo, l, "hi", o(u)), + u.hovertemplate && c(u.hovertemplate, l, "ht"), + u.hoverlabel && + (c(u.hoverlabel.bgcolor, l, "hbg"), + c(u.hoverlabel.bordercolor, l, "hbc"), + c(u.hoverlabel.font.size, l, "hts"), + c(u.hoverlabel.font.color, l, "htc"), + c(u.hoverlabel.font.family, l, "htf"), + c(u.hoverlabel.namelength, l, "hnl"), + c(u.hoverlabel.align, l, "hta")); + } + } + }; + }, + 75914: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(88335).hover; + t.exports = function (t, e, r) { + var a = n.getComponentMethod("annotations", "onClick")( + t, + t._hoverdata, + ); + function o() { + t.emit("plotly_click", { + points: t._hoverdata, + event: e, + }); + } + void 0 !== r && i(t, e, r, !0), + t._hoverdata && + e && + e.target && + (a && a.then ? a.then(o) : o(), + e.stopImmediatePropagation && + e.stopImmediatePropagation()); + }; + }, + 26675: function (t) { + "use strict"; + t.exports = { + YANGLE: 60, + HOVERARROWSIZE: 6, + HOVERTEXTPAD: 3, + HOVERFONTSIZE: 13, + HOVERFONT: "Arial, sans-serif", + HOVERMINTIME: 50, + HOVERID: "-hover", + }; + }, + 54268: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(77914), + a = r(38048); + t.exports = function (t, e, r, o) { + var s = n.extendFlat({}, o.hoverlabel); + e.hovertemplate && (s.namelength = -1), + a( + t, + e, + function (r, a) { + return n.coerce(t, e, i, r, a); + }, + s, + ); + }; + }, + 23469: function (t, e, r) { + "use strict"; + var n = r(71828); + (e.getSubplot = function (t) { + return t.subplot || t.xaxis + t.yaxis || t.geo; + }), + (e.isTraceInSubplots = function (t, r) { + if ("splom" === t.type) { + for ( + var n = t.xaxes || [], i = t.yaxes || [], a = 0; + a < n.length; + a++ + ) + for (var o = 0; o < i.length; o++) + if (-1 !== r.indexOf(n[a] + i[o])) return !0; + return !1; + } + return -1 !== r.indexOf(e.getSubplot(t)); + }), + (e.flat = function (t, e) { + for ( + var r = new Array(t.length), n = 0; + n < t.length; + n++ + ) + r[n] = e; + return r; + }), + (e.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; + }), + (e.getDistanceFunction = function (t, r, n, i) { + return "closest" === t + ? i || e.quadrature(r, n) + : "x" === t.charAt(0) + ? r + : n; + }), + (e.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; + }), + (e.inbox = function (t, e, r) { + return t * e < 0 || 0 === t ? r : 1 / 0; + }), + (e.quadrature = function (t, e) { + return function (r) { + var n = t(r), + i = e(r); + return Math.sqrt(n * n + i * i); + }; + }), + (e.makeEventData = function (t, r, n) { + var i = "index" in t ? t.index : t.pointNumber, + a = { + data: r._input, + fullData: r, + curveNumber: r.index, + pointNumber: i, + }; + if (r._indexToPoints) { + var o = r._indexToPoints[i]; + 1 === o.length + ? (a.pointIndex = o[0]) + : (a.pointIndices = o); + } else a.pointIndex = i; + return ( + r._module.eventData + ? (a = r._module.eventData(a, t, r, n, i)) + : ("xVal" in t + ? (a.x = t.xVal) + : "x" in t && (a.x = t.x), + "yVal" in t + ? (a.y = t.yVal) + : "y" in t && (a.y = t.y), + t.xa && (a.xaxis = t.xa), + t.ya && (a.yaxis = t.ya), + void 0 !== t.zLabelVal && (a.z = t.zLabelVal)), + e.appendArrayPointValue(a, r, i), + a + ); + }), + (e.appendArrayPointValue = function (t, e, r) { + var i = e._arrayAttrs; + if (i) + for (var s = 0; s < i.length; s++) { + var l = i[s], + u = a(l); + if (void 0 === t[u]) { + var c = o(n.nestedProperty(e, l).get(), r); + void 0 !== c && (t[u] = c); + } + } + }), + (e.appendArrayMultiPointValues = function (t, e, r) { + var i = e._arrayAttrs; + if (i) + for (var s = 0; s < i.length; s++) { + var l = i[s], + u = a(l); + if (void 0 === t[u]) { + for ( + var c = n.nestedProperty(e, l).get(), + f = new Array(r.length), + h = 0; + h < r.length; + h++ + ) + f[h] = o(c, r[h]); + t[u] = f; + } + } + }); + var i = { + ids: "id", + locations: "location", + labels: "label", + values: "value", + "marker.colors": "color", + parents: "parent", + }; + function a(t) { + return i[t] || t; + } + function o(t, e) { + return Array.isArray(e) + ? Array.isArray(t) && Array.isArray(t[e[0]]) + ? t[e[0]][e[1]] + : void 0 + : t[e]; + } + var s = { x: !0, y: !0 }, + l = { "x unified": !0, "y unified": !0 }; + (e.isUnifiedHover = function (t) { + return "string" == typeof t && !!l[t]; + }), + (e.isXYhover = function (t) { + return "string" == typeof t && !!s[t]; + }); + }, + 88335: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = r(84267), + o = r(71828), + s = o.strTranslate, + l = o.strRotate, + u = r(11086), + c = r(63893), + f = r(39918), + h = r(91424), + p = r(7901), + d = r(28569), + v = r(89298), + g = r(73972), + y = r(23469), + m = r(26675), + x = r(99017), + b = r(43969), + _ = m.YANGLE, + w = (Math.PI * _) / 180, + T = 1 / Math.sin(w), + k = Math.cos(w), + A = Math.sin(w), + M = m.HOVERARROWSIZE, + S = m.HOVERTEXTPAD, + E = { box: !0, ohlc: !0, violin: !0, candlestick: !0 }, + L = { scatter: !0, scattergl: !0, splom: !0 }; + function C(t) { + return [ + t.trace.index, + t.index, + t.x0, + t.y0, + t.name, + t.attr, + t.xa ? t.xa._id : "", + t.ya ? t.ya._id : "", + ].join(","); + } + (e.hover = function (t, e, r, a) { + t = o.getGraphDiv(t); + var s = e.target; + o.throttle( + t._fullLayout._uid + m.HOVERID, + m.HOVERMINTIME, + function () { + !(function (t, e, r, a, s) { + r || (r = "xy"); + var l = Array.isArray(r) ? r : [r], + c = t._fullLayout, + h = c._plots || [], + v = h[r], + m = c._has("cartesian"); + if (v) { + var x = v.overlays.map(function (t) { + return t.id; + }); + l = l.concat(x); + } + for ( + var b = l.length, + _ = new Array(b), + w = new Array(b), + k = !1, + A = 0; + A < b; + A++ + ) { + var S = l[A]; + if (h[S]) + (k = !0), + (_[A] = h[S].xaxis), + (w[A] = h[S].yaxis); + else { + if (!c[S] || !c[S]._subplot) + return void o.warn( + "Unrecognized subplot: " + S, + ); + var P = c[S]._subplot; + (_[A] = P.xaxis), (w[A] = P.yaxis); + } + } + var I = e.hovermode || c.hovermode; + if ( + (I && !k && (I = "closest"), + -1 === + [ + "x", + "y", + "closest", + "x unified", + "y unified", + ].indexOf(I) || + !t.calcdata || + t.querySelector(".zoombox") || + t._dragging) + ) + return d.unhoverRaw(t, e); + var N = c.hoverdistance; + -1 === N && (N = 1 / 0); + var H = c.spikedistance; + -1 === H && (H = 1 / 0); + var q, + G, + Z, + Y, + W, + X, + J, + K, + $, + Q, + tt, + et, + rt, + nt = [], + it = [], + at = { hLinePoint: null, vLinePoint: null }, + ot = !1; + if (Array.isArray(e)) + for (I = "array", Z = 0; Z < e.length; Z++) + (W = t.calcdata[e[Z].curveNumber || 0]) && + ((X = W[0].trace), + "skip" !== W[0].trace.hoverinfo && + (it.push(W), + "h" === X.orientation && (ot = !0))); + else { + for (Y = 0; Y < t.calcdata.length; Y++) + (W = t.calcdata[Y]), + "skip" !== (X = W[0].trace).hoverinfo && + y.isTraceInSubplots(X, l) && + (it.push(W), + "h" === X.orientation && (ot = !0)); + var st, lt; + if (s) { + if ( + !1 === + u.triggerHandler(t, "plotly_beforehover", e) + ) + return; + var ut = s.getBoundingClientRect(); + (st = e.clientX - ut.left), + (lt = e.clientY - ut.top), + c._calcInverseTransform(t); + var ct = o.apply3DTransform(c._invTransform)( + st, + lt, + ); + if ( + ((st = ct[0]), + (lt = ct[1]), + st < 0 || + st > _[0]._length || + lt < 0 || + lt > w[0]._length) + ) + return d.unhoverRaw(t, e); + } else + (st = "xpx" in e ? e.xpx : _[0]._length / 2), + (lt = "ypx" in e ? e.ypx : w[0]._length / 2); + if ( + ((e.pointerX = st + _[0]._offset), + (e.pointerY = lt + w[0]._offset), + (q = + "xval" in e ? y.flat(l, e.xval) : y.p2c(_, st)), + (G = + "yval" in e ? y.flat(l, e.yval) : y.p2c(w, lt)), + !i(q[0]) || !i(G[0])) + ) + return ( + o.warn("Fx.hover failed", e, t), + d.unhoverRaw(t, e) + ); + } + var ft = 1 / 0; + function ht(t, r) { + for (Y = 0; Y < it.length; Y++) + if ( + (W = it[Y]) && + W[0] && + W[0].trace && + !0 === (X = W[0].trace).visible && + 0 !== X._length && + -1 === + ["carpet", "contourcarpet"].indexOf( + X._module.name, + ) + ) { + if ( + ("splom" === X.type + ? (J = l[(K = 0)]) + : ((J = y.getSubplot(X)), + (K = l.indexOf(J))), + ($ = I), + y.isUnifiedHover($) && ($ = $.charAt(0)), + (et = { + cd: W, + trace: X, + xa: _[K], + ya: w[K], + maxHoverDistance: N, + maxSpikeDistance: H, + index: !1, + distance: Math.min(ft, N), + spikeDistance: 1 / 0, + xSpike: void 0, + ySpike: void 0, + color: p.defaultLine, + name: X.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, + }), + c[J] && (et.subplot = c[J]._subplot), + c._splomScenes && + c._splomScenes[X.uid] && + (et.scene = c._splomScenes[X.uid]), + (rt = nt.length), + "array" === $) + ) { + var n = e[Y]; + "pointNumber" in n + ? ((et.index = n.pointNumber), + ($ = "closest")) + : (($ = ""), + "xval" in n && ((Q = n.xval), ($ = "x")), + "yval" in n && + ((tt = n.yval), + ($ = $ ? "closest" : "y"))); + } else + void 0 !== t && void 0 !== r + ? ((Q = t), (tt = r)) + : ((Q = q[K]), (tt = G[K])); + if (0 !== N) + if (X._module && X._module.hoverPoints) { + var a = X._module.hoverPoints( + et, + Q, + tt, + $, + { + finiteRange: !0, + hoverLayer: c._hoverlayer, + }, + ); + if (a) + for (var s, u = 0; u < a.length; u++) + (s = a[u]), + i(s.x0) && + i(s.y0) && + nt.push(R(s, I)); + } else + o.log( + "Unrecognized trace type in hover:", + X, + ); + if ( + ("closest" === I && + nt.length > rt && + (nt.splice(0, rt), (ft = nt[0].distance)), + m && 0 !== H && 0 === nt.length) + ) { + (et.distance = H), (et.index = !1); + var f = X._module.hoverPoints( + et, + Q, + tt, + "closest", + { hoverLayer: c._hoverlayer }, + ); + if ( + (f && + (f = f.filter(function (t) { + return t.spikeDistance <= H; + })), + f && f.length) + ) { + var h, + d = f.filter(function (t) { + return ( + t.xa.showspikes && + "hovered data" !== t.xa.spikesnap + ); + }); + if (d.length) { + var v = d[0]; + i(v.x0) && + i(v.y0) && + ((h = dt(v)), + (!at.vLinePoint || + at.vLinePoint.spikeDistance > + h.spikeDistance) && + (at.vLinePoint = h)); + } + var g = f.filter(function (t) { + return ( + t.ya.showspikes && + "hovered data" !== t.ya.spikesnap + ); + }); + if (g.length) { + var x = g[0]; + i(x.x0) && + i(x.y0) && + ((h = dt(x)), + (!at.hLinePoint || + at.hLinePoint.spikeDistance > + h.spikeDistance) && + (at.hLinePoint = h)); + } + } + } + } + } + function pt(t, e, r) { + for ( + var n, i = null, a = 1 / 0, o = 0; + o < t.length; + o++ + ) + (n = t[o].spikeDistance), + r && 0 === o && (n = -1 / 0), + n <= a && n <= e && ((i = t[o]), (a = n)); + return i; + } + function dt(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; + } + ht(); + var vt = { + fullLayout: c, + container: c._hoverlayer, + event: e, + }, + gt = t._spikepoints, + yt = { + vLinePoint: at.vLinePoint, + hLinePoint: at.hLinePoint, + }; + t._spikepoints = yt; + var mt = function () { + nt.sort(function (t, e) { + return t.distance - e.distance; + }), + (nt = (function (t, e) { + for ( + var r = e.charAt(0), + n = [], + i = [], + a = [], + o = 0; + o < t.length; + o++ + ) { + var s = t[o]; + g.traceIs(s.trace, "bar-like") || + g.traceIs(s.trace, "box-violin") + ? a.push(s) + : s.trace[r + "period"] + ? i.push(s) + : n.push(s); + } + return n.concat(i).concat(a); + })(nt, I)); + }; + mt(); + var xt = I.charAt(0), + bt = + ("x" === xt || "y" === xt) && + nt[0] && + L[nt[0].trace.type]; + if (m && 0 !== H && 0 !== nt.length) { + var _t = pt( + nt.filter(function (t) { + return t.ya.showspikes; + }), + H, + bt, + ); + at.hLinePoint = dt(_t); + var wt = pt( + nt.filter(function (t) { + return t.xa.showspikes; + }), + H, + bt, + ); + at.vLinePoint = dt(wt); + } + if (0 === nt.length) { + var Tt = d.unhoverRaw(t, e); + return ( + !m || + (null === at.hLinePoint && + null === at.vLinePoint) || + (B(gt) && F(t, at, vt)), + Tt + ); + } + if ( + (m && B(gt) && F(t, at, vt), + y.isXYhover($) && + 0 !== nt[0].length && + "splom" !== nt[0].trace.type) + ) { + var kt = nt[0], + At = (nt = E[kt.trace.type] + ? nt.filter(function (t) { + return t.trace.index === kt.trace.index; + }) + : [kt]).length; + ht(j("x", kt, c), j("y", kt, c)); + var Mt, + St = [], + Et = {}, + Lt = 0, + Ct = function (t) { + var e = E[t.trace.type] ? C(t) : t.trace.index; + if (Et[e]) { + var r = Et[e] - 1, + n = St[r]; + r > 0 && + Math.abs(t.distance) < + Math.abs(n.distance) && + (St[r] = t); + } else Lt++, (Et[e] = Lt), St.push(t); + }; + for (Mt = 0; Mt < At; Mt++) Ct(nt[Mt]); + for (Mt = nt.length - 1; Mt > At - 1; Mt--) + Ct(nt[Mt]); + (nt = St), mt(); + } + var Pt = t._hoverdata, + Ot = [], + It = U(t), + Dt = V(t); + for (Z = 0; Z < nt.length; Z++) { + var zt = nt[Z], + Rt = y.makeEventData(zt, zt.trace, zt.cd); + if (!1 !== zt.hovertemplate) { + var Ft = !1; + zt.cd[zt.index] && + zt.cd[zt.index].ht && + (Ft = zt.cd[zt.index].ht), + (zt.hovertemplate = + Ft || zt.trace.hovertemplate || !1); + } + if (zt.xa && zt.ya) { + var Bt = zt.x0 + zt.xa._offset, + Nt = zt.x1 + zt.xa._offset, + jt = zt.y0 + zt.ya._offset, + Ut = zt.y1 + zt.ya._offset, + Vt = Math.min(Bt, Nt), + Ht = Math.max(Bt, Nt), + qt = Math.min(jt, Ut), + Gt = Math.max(jt, Ut); + Rt.bbox = { + x0: Vt + Dt, + x1: Ht + Dt, + y0: qt + It, + y1: Gt + It, + }; + } + (zt.eventData = [Rt]), Ot.push(Rt); + } + t._hoverdata = Ot; + var Zt = + ("y" === I && (it.length > 1 || nt.length > 1)) || + ("closest" === I && ot && nt.length > 1), + Yt = p.combine( + c.plot_bgcolor || p.background, + c.paper_bgcolor, + ), + Wt = O(nt, { + gd: t, + hovermode: I, + rotateLabels: Zt, + bgColor: Yt, + container: c._hoverlayer, + outerContainer: c._paper.node(), + commonLabelOpts: c.hoverlabel, + hoverdistance: c.hoverdistance, + }), + Xt = Wt.hoverLabels; + if ( + (y.isUnifiedHover(I) || + ((function (t, e, r, n) { + var i, + a, + o, + s, + l, + u, + c, + f = e ? "xa" : "ya", + h = e ? "ya" : "xa", + p = 0, + d = 1, + v = t.size(), + g = new Array(v), + y = 0, + m = n.minX, + x = n.maxX, + b = n.minY, + _ = n.maxY, + w = function (t) { + return t * r._invScaleX; + }, + k = function (t) { + return t * r._invScaleY; + }; + function A(t) { + var e = t[0], + r = t[t.length - 1]; + if ( + ((a = e.pmin - e.pos - e.dp + e.size), + (o = r.pos + r.dp + r.size - e.pmax), + a > 0.01) + ) { + for (l = t.length - 1; l >= 0; l--) + t[l].dp += a; + i = !1; + } + if (!(o < 0.01)) { + if (a < -0.01) { + for (l = t.length - 1; l >= 0; l--) + t[l].dp -= o; + i = !1; + } + if (i) { + var n = 0; + for (s = 0; s < t.length; s++) + (u = t[s]).pos + u.dp + u.size > + e.pmax && n++; + for ( + s = t.length - 1; + s >= 0 && !(n <= 0); + s-- + ) + (u = t[s]).pos > e.pmax - 1 && + ((u.del = !0), n--); + for ( + s = 0; + s < t.length && !(n <= 0); + s++ + ) + if ((u = t[s]).pos < e.pmin + 1) + for ( + u.del = !0, + n--, + o = 2 * u.size, + l = t.length - 1; + l >= 0; + l-- + ) + t[l].dp -= o; + for ( + s = t.length - 1; + s >= 0 && !(n <= 0); + s-- + ) + (u = t[s]).pos + u.dp + u.size > + e.pmax && ((u.del = !0), n--); + } + } + } + for ( + t.each(function (t) { + var n = t[f], + i = t[h], + a = "x" === n._id.charAt(0), + o = n.range; + 0 === y && + o && + o[0] > o[1] !== a && + (d = -1); + var s = 0, + l = a ? r.width : r.height; + if ( + "x" === r.hovermode || + "y" === r.hovermode + ) { + var u, + c, + p = D(t, e), + v = t.anchor, + A = "end" === v ? -1 : 1; + if ("middle" === v) + c = + (u = + t.crossPos + + (a + ? k(p.y - t.by / 2) + : w(t.bx / 2 + t.tx2width / 2))) + + (a ? k(t.by) : w(t.bx)); + else if (a) + c = + (u = + t.crossPos + + k(M + p.y) - + k(t.by / 2 - M)) + k(t.by); + else { + var S = w(A * M + p.x), + E = S + w(A * t.bx); + (u = t.crossPos + Math.min(S, E)), + (c = t.crossPos + Math.max(S, E)); + } + a + ? void 0 !== b && + void 0 !== _ && + Math.min(c, _) - Math.max(u, b) > 1 && + ("left" === i.side + ? ((s = i._mainLinePosition), + (l = r.width)) + : (l = i._mainLinePosition)) + : void 0 !== m && + void 0 !== x && + Math.min(c, x) - Math.max(u, m) > 1 && + ("top" === i.side + ? ((s = i._mainLinePosition), + (l = r.height)) + : (l = i._mainLinePosition)); + } + g[y++] = [ + { + datum: t, + traceIndex: t.trace.index, + dp: 0, + pos: t.pos, + posref: t.posref, + size: (t.by * (a ? T : 1)) / 2, + pmin: s, + pmax: l, + }, + ]; + }), + g.sort(function (t, e) { + return ( + t[0].posref - e[0].posref || + d * (e[0].traceIndex - t[0].traceIndex) + ); + }); + !i && p <= v; + + ) { + for (p++, i = !0, s = 0; s < g.length - 1; ) { + var S = g[s], + E = g[s + 1], + L = S[S.length - 1], + C = E[0]; + if ( + (a = + L.pos + + L.dp + + L.size - + C.pos - + C.dp + + C.size) > 0.01 && + L.pmin === C.pmin && + L.pmax === C.pmax + ) { + for (l = E.length - 1; l >= 0; l--) + E[l].dp += a; + for ( + S.push.apply(S, E), + g.splice(s + 1, 1), + c = 0, + l = S.length - 1; + l >= 0; + l-- + ) + c += S[l].dp; + for ( + o = c / S.length, l = S.length - 1; + l >= 0; + l-- + ) + S[l].dp -= o; + i = !1; + } else s++; + } + g.forEach(A); + } + for (s = g.length - 1; s >= 0; s--) { + var P = g[s]; + for (l = P.length - 1; l >= 0; l--) { + var O = P[l], + I = O.datum; + (I.offset = O.dp), (I.del = O.del); + } + } + })(Xt, Zt, c, Wt.commonLabelBoundingBox), + z(Xt, Zt, c._invScaleX, c._invScaleY)), + s && s.tagName) + ) { + var Jt = g.getComponentMethod( + "annotations", + "hasClickToShow", + )(t, Ot); + f(n.select(s), Jt ? "pointer" : ""); + } + s && + !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) || + String(i.pointNumbers) !== + String(a.pointNumbers) + ) + return !0; + } + return !1; + })(t, 0, Pt) && + (Pt && + t.emit("plotly_unhover", { + event: e, + points: Pt, + }), + t.emit("plotly_hover", { + event: e, + points: t._hoverdata, + xaxes: _, + yaxes: w, + xvals: q, + yvals: G, + })); + })(t, e, r, a, s); + }, + ); + }), + (e.loneHover = function (t, e) { + var r = !0; + Array.isArray(t) || ((r = !1), (t = [t])); + var i = e.gd, + a = U(i), + o = V(i), + s = O( + t.map(function (t) { + var r = t._x0 || t.x0 || t.x || 0, + n = t._x1 || t.x1 || t.x || 0, + s = t._y0 || t.y0 || t.y || 0, + l = t._y1 || t.y1 || t.y || 0, + u = t.eventData; + if (u) { + var c = Math.min(r, n), + f = Math.max(r, n), + h = Math.min(s, l), + d = Math.max(s, l), + v = t.trace; + if (g.traceIs(v, "gl3d")) { + var y = i._fullLayout[v.scene]._scene.container, + m = y.offsetLeft, + x = y.offsetTop; + (c += m), (f += m), (h += x), (d += x); + } + (u.bbox = { + x0: c + o, + x1: f + o, + y0: h + a, + y1: d + a, + }), + e.inOut_bbox && e.inOut_bbox.push(u.bbox); + } else u = !1; + return { + color: t.color || p.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, + nameLength: t.nameLength, + textAlign: t.textAlign, + trace: t.trace || { index: 0, hoverinfo: "" }, + xa: { _offset: 0 }, + ya: { _offset: 0 }, + index: 0, + hovertemplate: t.hovertemplate || !1, + hovertemplateLabels: t.hovertemplateLabels || !1, + eventData: u, + }; + }), + { + gd: i, + hovermode: "closest", + rotateLabels: !1, + bgColor: e.bgColor || p.background, + container: n.select(e.container), + outerContainer: e.outerContainer || e.container, + }, + ).hoverLabels, + l = 0, + u = 0; + return ( + s + .sort(function (t, e) { + return t.y0 - e.y0; + }) + .each(function (t, r) { + var n = t.y0 - t.by / 2; + (t.offset = n - 5 < l ? l - n + 5 : 0), + (l = n + t.by + t.offset), + r === e.anchorIndex && (u = t.offset); + }) + .each(function (t) { + t.offset -= u; + }), + z( + s, + !1, + i._fullLayout._invScaleX, + i._fullLayout._invScaleY, + ), + r ? s : s.node() + ); + }); + var P = /([\s\S]*)<\/extra>/; + function O(t, e) { + var r = e.gd, + i = r._fullLayout, + a = e.hovermode, + u = e.rotateLabels, + f = e.bgColor, + d = e.container, + v = e.outerContainer, + w = e.commonLabelOpts || {}; + if (0 === t.length) return [[]]; + var T = e.fontFamily || m.HOVERFONT, + k = e.fontSize || m.HOVERFONTSIZE, + A = t[0], + E = A.xa, + L = A.ya, + P = a.charAt(0), + O = P + "Label", + D = A[O]; + if (void 0 === D && "multicategory" === E.type) + for ( + var z = 0; + z < t.length && void 0 === (D = t[z][O]); + z++ + ); + var R = H(r, v), + F = R.top, + B = R.width, + N = R.height, + j = + void 0 !== D && + A.distance <= e.hoverdistance && + ("x" === a || "y" === a); + if (j) { + var U, + V, + q = !0; + for (U = 0; U < t.length; U++) + if ( + (q && void 0 === t[U].zLabel && (q = !1), + (V = t[U].hoverinfo || t[U].trace.hoverinfo)) + ) { + var G = Array.isArray(V) ? V : V.split("+"); + if (-1 === G.indexOf("all") && -1 === G.indexOf(a)) { + j = !1; + break; + } + } + q && (j = !1); + } + var Z = d.selectAll("g.axistext").data(j ? [0] : []); + Z.enter().append("g").classed("axistext", !0), + Z.exit().remove(); + var Y = { minX: 0, maxX: 0, minY: 0, maxY: 0 }; + if ( + (Z.each(function () { + var t = n.select(this), + e = o.ensureSingle(t, "path", "", function (t) { + t.style({ "stroke-width": "1px" }); + }), + l = o.ensureSingle(t, "text", "", function (t) { + t.attr("data-notex", 1); + }), + u = w.bgcolor || p.defaultLine, + f = w.bordercolor || p.contrast(u), + d = p.contrast(u), + v = { + family: w.font.family || T, + size: w.font.size || k, + color: w.font.color || d, + }; + e.style({ fill: u, stroke: f }), + l + .text(D) + .call(h.font, v) + .call(c.positionText, 0, 0) + .call(c.convertToTspans, r), + t.attr("transform", ""); + var g, + y, + m = H(r, l.node()); + if ("x" === a) { + var x = "top" === E.side ? "-" : ""; + l + .attr("text-anchor", "middle") + .call( + c.positionText, + 0, + "top" === E.side + ? F - m.bottom - M - S + : F - m.top + M + S, + ), + (g = E._offset + (A.x0 + A.x1) / 2), + (y = + L._offset + ("top" === E.side ? 0 : L._length)); + var b = m.width / 2 + S; + g < b + ? ((g = b), + e.attr( + "d", + "M-" + + (b - M) + + ",0L-" + + (b - 2 * M) + + "," + + x + + M + + "H" + + b + + "v" + + x + + (2 * S + m.height) + + "H-" + + b + + "V" + + x + + M + + "Z", + )) + : g > i.width - b + ? ((g = i.width - b), + e.attr( + "d", + "M" + + (b - M) + + ",0L" + + b + + "," + + x + + M + + "v" + + x + + (2 * S + m.height) + + "H-" + + b + + "V" + + x + + M + + "H" + + (b - 2 * M) + + "Z", + )) + : e.attr( + "d", + "M0,0L" + + M + + "," + + x + + M + + "H" + + b + + "v" + + x + + (2 * S + m.height) + + "H-" + + b + + "V" + + x + + M + + "H-" + + M + + "Z", + ), + (Y.minX = g - b), + (Y.maxX = g + b), + "top" === E.side + ? ((Y.minY = y - (2 * S + m.height)), + (Y.maxY = y - S)) + : ((Y.minY = y + S), + (Y.maxY = y + (2 * S + m.height))); + } else { + var _, C, P; + "right" === L.side + ? ((_ = "start"), + (C = 1), + (P = ""), + (g = E._offset + E._length)) + : ((_ = "end"), + (C = -1), + (P = "-"), + (g = E._offset)), + (y = L._offset + (A.y0 + A.y1) / 2), + l.attr("text-anchor", _), + e.attr( + "d", + "M0,0L" + + P + + M + + "," + + M + + "V" + + (S + m.height / 2) + + "h" + + P + + (2 * S + m.width) + + "V-" + + (S + m.height / 2) + + "H" + + P + + M + + "V-" + + M + + "Z", + ), + (Y.minY = y - (S + m.height / 2)), + (Y.maxY = y + (S + m.height / 2)), + "right" === L.side + ? ((Y.minX = g + M), + (Y.maxX = g + M + (2 * S + m.width))) + : ((Y.minX = g - M - (2 * S + m.width)), + (Y.maxX = g - M)); + var O, + I = m.height / 2, + z = F - m.top - I, + R = "clip" + i._uid + "commonlabel" + L._id; + if (g < m.width + 2 * S + M) { + O = + "M-" + + (M + S) + + "-" + + I + + "h-" + + (m.width - S) + + "V" + + I + + "h" + + (m.width - S) + + "Z"; + var B = m.width - g + S; + c.positionText(l, B, z), + "end" === _ && + l.selectAll("tspan").each(function () { + var t = n.select(this), + e = h.tester + .append("text") + .text(t.text()) + .call(h.font, v), + i = H(r, e.node()); + Math.round(i.width) < Math.round(m.width) && + t.attr("x", B - i.width), + e.remove(); + }); + } else c.positionText(l, C * (S + M), z), (O = null); + var N = i._topclips + .selectAll("#" + R) + .data(O ? [0] : []); + N.enter() + .append("clipPath") + .attr("id", R) + .append("path"), + N.exit().remove(), + N.select("path").attr("d", O), + h.setClipUrl(l, O ? R : null, r); + } + t.attr("transform", s(g, y)); + }), + y.isUnifiedHover(a)) + ) { + d.selectAll("g.hovertext").remove(); + var W = t.filter(function (t) { + return "none" !== t.hoverinfo; + }); + if (0 === W.length) return []; + var X = i.hoverlabel, + J = X.font, + K = { + showlegend: !0, + legend: { + title: { text: D, font: J }, + font: J, + bgcolor: X.bgcolor, + bordercolor: X.bordercolor, + borderwidth: 1, + tracegroupgap: 7, + traceorder: i.legend ? i.legend.traceorder : void 0, + orientation: "v", + }, + }, + $ = { font: J }; + x(K, $, r._fullData); + var Q = $.legend; + Q.entries = []; + for (var tt = 0; tt < W.length; tt++) { + var et = W[tt]; + if ("none" !== et.hoverinfo) { + var rt = I(et, !0, a, i, D), + nt = rt[0], + it = rt[1]; + (et.name = it), + (et.text = "" !== it ? it + " : " + nt : nt); + var at = et.cd[et.index]; + at && + (at.mc && (et.mc = at.mc), + at.mcc && (et.mc = at.mcc), + at.mlc && (et.mlc = at.mlc), + at.mlcc && (et.mlc = at.mlcc), + at.mlw && (et.mlw = at.mlw), + at.mrc && (et.mrc = at.mrc), + at.dir && (et.dir = at.dir)), + (et._distinct = !0), + Q.entries.push([et]); + } + } + Q.entries.sort(function (t, e) { + return t[0].trace.index - e[0].trace.index; + }), + (Q.layer = d), + (Q._inHover = !0), + (Q._groupTitleFont = X.grouptitlefont), + b(r, Q); + var ot, + st, + lt, + ut, + ct = d.select("g.legend"), + ft = H(r, ct.node()), + ht = ft.width + 2 * S, + pt = ft.height + 2 * S, + dt = W[0], + vt = (dt.x0 + dt.x1) / 2, + gt = (dt.y0 + dt.y1) / 2, + yt = !( + g.traceIs(dt.trace, "bar-like") || + g.traceIs(dt.trace, "box-violin") + ); + "y" === P + ? yt + ? ((st = gt - S), (ot = gt + S)) + : ((st = Math.min.apply( + null, + W.map(function (t) { + return Math.min(t.y0, t.y1); + }), + )), + (ot = Math.max.apply( + null, + W.map(function (t) { + return Math.max(t.y0, t.y1); + }), + ))) + : (st = ot = + o.mean( + W.map(function (t) { + return (t.y0 + t.y1) / 2; + }), + ) - + pt / 2), + "x" === P + ? yt + ? ((lt = vt + S), (ut = vt - S)) + : ((lt = Math.max.apply( + null, + W.map(function (t) { + return Math.max(t.x0, t.x1); + }), + )), + (ut = Math.min.apply( + null, + W.map(function (t) { + return Math.min(t.x0, t.x1); + }), + ))) + : (lt = ut = + o.mean( + W.map(function (t) { + return (t.x0 + t.x1) / 2; + }), + ) - + ht / 2); + var mt, + xt, + bt = E._offset, + _t = L._offset; + return ( + (ut += bt - ht), + (st += _t - pt), + (mt = + (lt += bt) + ht < B && lt >= 0 + ? lt + : ut + ht < B && ut >= 0 + ? ut + : bt + ht < B + ? bt + : lt - vt < vt - ut + ht + ? B - ht + : 0), + (mt += S), + (xt = + (ot += _t) + pt < N && ot >= 0 + ? ot + : st + pt < N && st >= 0 + ? st + : _t + pt < N + ? _t + : ot - gt < gt - st + pt + ? N - pt + : 0), + (xt += S), + ct.attr("transform", s(mt - 1, xt - 1)), + ct + ); + } + var wt = d.selectAll("g.hovertext").data(t, function (t) { + return C(t); + }); + return ( + wt + .enter() + .append("g") + .classed("hovertext", !0) + .each(function () { + var t = n.select(this); + t.append("rect").call(p.fill, p.addOpacity(f, 0.8)), + t.append("text").classed("name", !0), + t.append("path").style("stroke-width", "1px"), + t + .append("text") + .classed("nums", !0) + .call(h.font, T, k); + }), + wt.exit().remove(), + wt.each(function (t) { + var e = n.select(this).attr("transform", ""), + o = t.color; + Array.isArray(o) && (o = o[t.eventData[0].pointNumber]); + var d = t.bgcolor || o, + v = p.combine(p.opacity(d) ? d : p.defaultLine, f), + g = p.combine(p.opacity(o) ? o : p.defaultLine, f), + y = t.borderColor || p.contrast(v), + m = I(t, j, a, i, D, e), + x = m[0], + b = m[1], + w = e + .select("text.nums") + .call( + h.font, + t.fontFamily || T, + t.fontSize || k, + t.fontColor || y, + ) + .text(x) + .attr("data-notex", 1) + .call(c.positionText, 0, 0) + .call(c.convertToTspans, r), + A = e.select("text.name"), + E = 0, + L = 0; + if (b && b !== x) { + A.call(h.font, t.fontFamily || T, t.fontSize || k, g) + .text(b) + .attr("data-notex", 1) + .call(c.positionText, 0, 0) + .call(c.convertToTspans, r); + var C = H(r, A.node()); + (E = C.width + 2 * S), (L = C.height + 2 * S); + } else A.remove(), e.select("rect").remove(); + e.select("path").style({ fill: v, stroke: y }); + var P = t.xa._offset + (t.x0 + t.x1) / 2, + O = t.ya._offset + (t.y0 + t.y1) / 2, + z = Math.abs(t.x1 - t.x0), + R = Math.abs(t.y1 - t.y0), + U = H(r, w.node()), + V = U.width / i._invScaleX, + q = U.height / i._invScaleY; + (t.ty0 = (F - U.top) / i._invScaleY), + (t.bx = V + 2 * S), + (t.by = Math.max(q + 2 * S, L)), + (t.anchor = "start"), + (t.txwidth = V), + (t.tx2width = E), + (t.offset = 0); + var G, + Z, + Y = (V + M + S + E) * i._invScaleX; + if (u) + (t.pos = P), + (G = O + R / 2 + Y <= N), + (Z = O - R / 2 - Y >= 0), + ("top" !== t.idealAlign && G) || !Z + ? G + ? ((O += R / 2), (t.anchor = "start")) + : (t.anchor = "middle") + : ((O -= R / 2), (t.anchor = "end")), + (t.crossPos = O); + else { + if ( + ((t.pos = O), + (G = P + z / 2 + Y <= B), + (Z = P - z / 2 - Y >= 0), + ("left" !== t.idealAlign && G) || !Z) + ) + if (G) (P += z / 2), (t.anchor = "start"); + else { + t.anchor = "middle"; + var W = Y / 2, + X = P + W - B, + J = P - W; + X > 0 && (P -= X), J < 0 && (P += -J); + } + else (P -= z / 2), (t.anchor = "end"); + t.crossPos = P; + } + w.attr("text-anchor", t.anchor), + E && A.attr("text-anchor", t.anchor), + e.attr("transform", s(P, O) + (u ? l(_) : "")); + }), + { hoverLabels: wt, commonLabelBoundingBox: Y } + ); + } + function I(t, e, r, n, i, a) { + var s = "", + l = ""; + void 0 !== t.nameOverride && (t.name = t.nameOverride), + t.name && + (t.trace._meta && + (t.name = o.templateString(t.name, t.trace._meta)), + (s = N(t.name, t.nameLength))); + var u = r.charAt(0), + c = "x" === u ? "y" : "x"; + void 0 !== t.zLabel + ? (void 0 !== t.xLabel && + (l += "x: " + t.xLabel + "
"), + void 0 !== t.yLabel && (l += "y: " + t.yLabel + "
"), + "choropleth" !== t.trace.type && + "choroplethmapbox" !== t.trace.type && + (l += (l ? "z: " : "") + t.zLabel)) + : e && t[u + "Label"] === i + ? (l = t[c + "Label"] || "") + : void 0 === t.xLabel + ? void 0 !== t.yLabel && + "scattercarpet" !== t.trace.type && + (l = t.yLabel) + : (l = + void 0 === t.yLabel + ? t.xLabel + : "(" + t.xLabel + ", " + t.yLabel + ")"), + (!t.text && 0 !== t.text) || + Array.isArray(t.text) || + (l += (l ? "
" : "") + t.text), + void 0 !== t.extraText && + (l += (l ? "
" : "") + t.extraText), + a && + "" === l && + !t.hovertemplate && + ("" === s && a.remove(), (l = s)); + var f = t.hovertemplate || !1; + if (f) { + var h = t.hovertemplateLabels || t; + t[u + "Label"] !== i && + ((h[u + "other"] = h[u + "Val"]), + (h[u + "otherLabel"] = h[u + "Label"])), + (l = (l = o.hovertemplateString( + f, + h, + n._d3locale, + t.eventData[0] || {}, + t.trace._meta, + )).replace(P, function (e, r) { + return (s = N(r, t.nameLength)), ""; + })); + } + return [l, s]; + } + function D(t, e) { + var r = 0, + n = t.offset; + return e && ((n *= -A), (r = t.offset * k)), { x: r, y: n }; + } + function z(t, e, r, i) { + var a = function (t) { + return t * r; + }, + o = function (t) { + return t * i; + }; + t.each(function (t) { + var r = n.select(this); + if (t.del) return r.remove(); + var i, + s, + l, + u, + f = r.select("text.nums"), + p = t.anchor, + d = "end" === p ? -1 : 1, + v = + ((u = + (l = + (s = { start: 1, end: -1, middle: 0 }[ + (i = t).anchor + ]) * + (M + S)) + + s * (i.txwidth + S)), + "middle" === i.anchor && + ((l -= i.tx2width / 2), (u += i.txwidth / 2 + S)), + { alignShift: s, textShiftX: l, text2ShiftX: u }), + g = D(t, e), + y = g.x, + m = g.y, + x = "middle" === p; + r.select("path").attr( + "d", + x + ? "M-" + + a(t.bx / 2 + t.tx2width / 2) + + "," + + o(m - t.by / 2) + + "h" + + a(t.bx) + + "v" + + o(t.by) + + "h-" + + a(t.bx) + + "Z" + : "M0,0L" + + a(d * M + y) + + "," + + o(M + m) + + "v" + + o(t.by / 2 - M) + + "h" + + a(d * t.bx) + + "v-" + + o(t.by) + + "H" + + a(d * M + y) + + "V" + + o(m - M) + + "Z", + ); + var b = y + v.textShiftX, + _ = m + t.ty0 - t.by / 2 + S, + w = t.textAlign || "auto"; + "auto" !== w && + ("left" === w && "start" !== p + ? (f.attr("text-anchor", "start"), + (b = x + ? -t.bx / 2 - t.tx2width / 2 + S + : -t.bx - S)) + : "right" === w && + "end" !== p && + (f.attr("text-anchor", "end"), + (b = x + ? t.bx / 2 - t.tx2width / 2 - S + : t.bx + S))), + f.call(c.positionText, a(b), o(_)), + t.tx2width && + (r + .select("text.name") + .call( + c.positionText, + a(v.text2ShiftX + v.alignShift * S + y), + o(m + t.ty0 - t.by / 2 + S), + ), + r + .select("rect") + .call( + h.setRect, + a( + v.text2ShiftX + + ((v.alignShift - 1) * t.tx2width) / 2 + + y, + ), + o(m - t.by / 2 - 1), + a(t.tx2width), + o(t.by + 2), + )); + }); + } + function R(t, e) { + var r = t.index, + n = t.trace || {}, + a = t.cd[0], + s = t.cd[r] || {}; + function l(t) { + return t || (i(t) && 0 === t); + } + var u = Array.isArray(r) + ? function (t, e) { + var i = o.castOption(a, r, t); + return l(i) ? i : o.extractOption({}, n, "", e); + } + : function (t, e) { + return o.extractOption(s, n, t, e); + }; + function c(e, r, n) { + var i = u(r, n); + l(i) && (t[e] = i); + } + if ( + (c("hoverinfo", "hi", "hoverinfo"), + c("bgcolor", "hbg", "hoverlabel.bgcolor"), + c("borderColor", "hbc", "hoverlabel.bordercolor"), + c("fontFamily", "htf", "hoverlabel.font.family"), + c("fontSize", "hts", "hoverlabel.font.size"), + c("fontColor", "htc", "hoverlabel.font.color"), + c("nameLength", "hnl", "hoverlabel.namelength"), + c("textAlign", "hta", "hoverlabel.align"), + (t.posref = + "y" === e || ("closest" === e && "h" === n.orientation) + ? t.xa._offset + (t.x0 + t.x1) / 2 + : t.ya._offset + (t.y0 + t.y1) / 2), + (t.x0 = o.constrain(t.x0, 0, t.xa._length)), + (t.x1 = o.constrain(t.x1, 0, t.xa._length)), + (t.y0 = o.constrain(t.y0, 0, t.ya._length)), + (t.y1 = o.constrain(t.y1, 0, t.ya._length)), + void 0 !== t.xLabelVal && + ((t.xLabel = + "xLabel" in t + ? t.xLabel + : v.hoverLabelText( + t.xa, + t.xLabelVal, + n.xhoverformat, + )), + (t.xVal = t.xa.c2d(t.xLabelVal))), + void 0 !== t.yLabelVal && + ((t.yLabel = + "yLabel" in t + ? t.yLabel + : v.hoverLabelText( + t.ya, + t.yLabelVal, + n.yhoverformat, + )), + (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 f = v.tickText(t.xa, t.xa.c2l(t.xerr), "hover").text; + void 0 !== t.xerrneg + ? (t.xLabel += + " +" + + f + + " / -" + + v.tickText(t.xa, t.xa.c2l(t.xerrneg), "hover").text) + : (t.xLabel += " ± " + f), + "x" === e && (t.distance += 1); + } + if ( + !(isNaN(t.yerr) || ("log" === t.ya.type && t.yerr <= 0)) + ) { + var h = v.tickText(t.ya, t.ya.c2l(t.yerr), "hover").text; + void 0 !== t.yerrneg + ? (t.yLabel += + " +" + + h + + " / -" + + v.tickText(t.ya, t.ya.c2l(t.yerrneg), "hover").text) + : (t.yLabel += " ± " + h), + "y" === e && (t.distance += 1); + } + var p = t.hoverinfo || t.trace.hoverinfo; + return ( + p && + "all" !== p && + (-1 === + (p = Array.isArray(p) ? p : p.split("+")).indexOf( + "x", + ) && (t.xLabel = void 0), + -1 === p.indexOf("y") && (t.yLabel = void 0), + -1 === p.indexOf("z") && (t.zLabel = void 0), + -1 === p.indexOf("text") && (t.text = void 0), + -1 === p.indexOf("name") && (t.name = void 0)), + t + ); + } + function F(t, e, r) { + var n, + i, + o = r.container, + s = r.fullLayout, + l = s._size, + u = r.event, + c = !!e.hLinePoint, + f = !!e.vLinePoint; + if ((o.selectAll(".spikeline").remove(), f || c)) { + var d = p.combine(s.plot_bgcolor, s.paper_bgcolor); + if (c) { + var g, + y, + m = e.hLinePoint; + (n = m && m.xa), + "cursor" === (i = m && m.ya).spikesnap + ? ((g = u.pointerX), (y = u.pointerY)) + : ((g = n._offset + m.x), (y = i._offset + m.y)); + var x, + b, + _ = + a.readability(m.color, d) < 1.5 + ? p.contrast(d) + : m.color, + w = i.spikemode, + T = i.spikethickness, + k = i.spikecolor || _, + A = v.getPxPosition(t, i); + if ( + -1 !== w.indexOf("toaxis") || + -1 !== w.indexOf("across") + ) { + if ( + (-1 !== w.indexOf("toaxis") && ((x = A), (b = g)), + -1 !== w.indexOf("across")) + ) { + var M = i._counterDomainMin, + S = i._counterDomainMax; + "free" === i.anchor && + ((M = Math.min(M, i.position)), + (S = Math.max(S, i.position))), + (x = l.l + M * l.w), + (b = l.l + S * l.w); + } + o + .insert("line", ":first-child") + .attr({ + x1: x, + x2: b, + y1: y, + y2: y, + "stroke-width": T, + stroke: k, + "stroke-dasharray": h.dashStyle(i.spikedash, T), + }) + .classed("spikeline", !0) + .classed("crisp", !0), + o + .insert("line", ":first-child") + .attr({ + x1: x, + x2: b, + y1: y, + y2: y, + "stroke-width": T + 2, + stroke: d, + }) + .classed("spikeline", !0) + .classed("crisp", !0); + } + -1 !== w.indexOf("marker") && + o + .insert("circle", ":first-child") + .attr({ + cx: A + ("right" !== i.side ? T : -T), + cy: y, + r: T, + fill: k, + }) + .classed("spikeline", !0); + } + if (f) { + var E, + L, + C = e.vLinePoint; + (n = C && C.xa), + (i = C && C.ya), + "cursor" === n.spikesnap + ? ((E = u.pointerX), (L = u.pointerY)) + : ((E = n._offset + C.x), (L = i._offset + C.y)); + var P, + O, + I = + a.readability(C.color, d) < 1.5 + ? p.contrast(d) + : C.color, + D = n.spikemode, + z = n.spikethickness, + R = n.spikecolor || I, + F = v.getPxPosition(t, n); + if ( + -1 !== D.indexOf("toaxis") || + -1 !== D.indexOf("across") + ) { + if ( + (-1 !== D.indexOf("toaxis") && ((P = F), (O = L)), + -1 !== D.indexOf("across")) + ) { + var B = n._counterDomainMin, + N = n._counterDomainMax; + "free" === n.anchor && + ((B = Math.min(B, n.position)), + (N = Math.max(N, n.position))), + (P = l.t + (1 - N) * l.h), + (O = l.t + (1 - B) * l.h); + } + o + .insert("line", ":first-child") + .attr({ + x1: E, + x2: E, + y1: P, + y2: O, + "stroke-width": z, + stroke: R, + "stroke-dasharray": h.dashStyle(n.spikedash, z), + }) + .classed("spikeline", !0) + .classed("crisp", !0), + o + .insert("line", ":first-child") + .attr({ + x1: E, + x2: E, + y1: P, + y2: O, + "stroke-width": z + 2, + stroke: d, + }) + .classed("spikeline", !0) + .classed("crisp", !0); + } + -1 !== D.indexOf("marker") && + o + .insert("circle", ":first-child") + .attr({ + cx: E, + cy: F - ("top" !== n.side ? z : -z), + r: z, + fill: R, + }) + .classed("spikeline", !0); + } + } + } + function B(t, e) { + return ( + !e || + e.vLinePoint !== t._spikepoints.vLinePoint || + e.hLinePoint !== t._spikepoints.hLinePoint + ); + } + function N(t, e) { + return c.plainText(t || "", { + len: e, + allowedTags: ["br", "sub", "sup", "b", "i", "em"], + }); + } + function j(t, e, r) { + var n = e[t + "a"], + i = e[t + "Val"], + a = e.cd[0]; + if ("category" === n.type || "multicategory" === n.type) + i = n._categoriesMap[i]; + else if ("date" === n.type) { + var o = e.trace[t + "periodalignment"]; + if (o) { + var s = e.cd[e.index], + l = s[t + "Start"]; + void 0 === l && (l = s[t]); + var u = s[t + "End"]; + void 0 === u && (u = s[t]); + var c = u - l; + "end" === o ? (i += c) : "middle" === o && (i += c / 2); + } + i = n.d2c(i); + } + return ( + a && + a.t && + a.t.posLetter === n._id && + (("group" !== r.boxmode && "group" !== r.violinmode) || + (i += a.t.dPos)), + i + ); + } + function U(t) { + return t.offsetTop + t.clientTop; + } + function V(t) { + return t.offsetLeft + t.clientLeft; + } + function H(t, e) { + var r = t._fullLayout, + n = e.getBoundingClientRect(), + i = n.left, + a = n.top, + s = i + n.width, + l = a + n.height, + u = o.apply3DTransform(r._invTransform)(i, a), + c = o.apply3DTransform(r._invTransform)(s, l), + f = u[0], + h = u[1], + p = c[0], + d = c[1]; + return { + x: f, + y: h, + width: p - f, + height: d - h, + top: Math.min(h, d), + left: Math.min(f, p), + right: Math.max(f, p), + bottom: Math.max(h, d), + }; + } + }, + 38048: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(23469).isUnifiedHover; + t.exports = function (t, e, r, o) { + o = o || {}; + var s = e.legend; + function l(t) { + o.font[t] || + (o.font[t] = s ? e.legend.font[t] : e.font[t]); + } + e && + a(e.hovermode) && + (o.font || (o.font = {}), + l("size"), + l("family"), + l("color"), + s + ? (o.bgcolor || + (o.bgcolor = i.combine( + e.legend.bgcolor, + e.paper_bgcolor, + )), + o.bordercolor || + (o.bordercolor = e.legend.bordercolor)) + : o.bgcolor || (o.bgcolor = e.paper_bgcolor)), + r("hoverlabel.bgcolor", o.bgcolor), + r("hoverlabel.bordercolor", o.bordercolor), + r("hoverlabel.namelength", o.namelength), + n.coerceFont(r, "hoverlabel.font", o.font), + r("hoverlabel.align", o.align); + }; + }, + 98212: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(528); + t.exports = function (t, e) { + function r(r, a) { + return void 0 !== e[r] ? e[r] : n.coerce(t, e, i, r, a); + } + return r("clickmode"), r("hovermode"); + }; + }, + 30211: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(28569), + o = r(23469), + s = r(528), + l = r(88335); + t.exports = { + moduleType: "component", + name: "fx", + constants: r(26675), + schema: { layout: s }, + attributes: r(77914), + layoutAttributes: s, + supplyLayoutGlobalDefaults: r(22774), + supplyDefaults: r(54268), + supplyLayoutDefaults: r(34938), + calc: r(30732), + getDistanceFunction: o.getDistanceFunction, + getClosest: o.getClosest, + inbox: o.inbox, + quadrature: o.quadrature, + appendArrayPointValue: o.appendArrayPointValue, + castHoverOption: function (t, e, r) { + return i.castOption(t, e, "hoverlabel." + r); + }, + castHoverinfo: function (t, e, r) { + return i.castOption(t, r, "hoverinfo", function (r) { + return i.coerceHoverinfo( + { hoverinfo: r }, + { _module: t._module }, + e, + ); + }); + }, + hover: l.hover, + unhover: a.unhover, + loneHover: l.loneHover, + loneUnhover: function (t) { + var e = i.isD3Selection(t) ? t : n.select(t); + e.selectAll("g.hovertext").remove(), + e.selectAll(".spikeline").remove(); + }, + click: r(75914), + }; + }, + 528: function (t, e, r) { + "use strict"; + var n = r(26675), + i = r(41940), + a = i({ editType: "none" }); + (a.family.dflt = n.HOVERFONT), + (a.size.dflt = n.HOVERFONTSIZE), + (t.exports = { + clickmode: { + valType: "flaglist", + flags: ["event", "select"], + dflt: "event", + editType: "plot", + extras: ["none"], + }, + dragmode: { + valType: "enumerated", + values: [ + "zoom", + "pan", + "select", + "lasso", + "drawclosedpath", + "drawopenpath", + "drawline", + "drawrect", + "drawcircle", + "orbit", + "turntable", + !1, + ], + dflt: "zoom", + editType: "modebar", + }, + hovermode: { + valType: "enumerated", + values: [ + "x", + "y", + "closest", + !1, + "x unified", + "y unified", + ], + dflt: "closest", + editType: "modebar", + }, + hoverdistance: { + valType: "integer", + min: -1, + dflt: 20, + editType: "none", + }, + spikedistance: { + valType: "integer", + min: -1, + dflt: -1, + editType: "none", + }, + hoverlabel: { + bgcolor: { valType: "color", editType: "none" }, + bordercolor: { valType: "color", editType: "none" }, + font: a, + grouptitlefont: i({ editType: "none" }), + align: { + valType: "enumerated", + values: ["left", "right", "auto"], + dflt: "auto", + editType: "none", + }, + namelength: { + valType: "integer", + min: -1, + dflt: 15, + editType: "none", + }, + editType: "none", + }, + selectdirection: { + valType: "enumerated", + values: ["h", "v", "d", "any"], + dflt: "any", + editType: "none", + }, + }); + }, + 34938: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(528), + a = r(98212), + o = r(38048); + t.exports = function (t, e) { + function r(r, a) { + return n.coerce(t, e, i, r, a); + } + a(t, e) && (r("hoverdistance"), r("spikedistance")), + "select" === r("dragmode") && r("selectdirection"); + var s = e._has("mapbox"), + l = e._has("geo"), + u = e._basePlotModules.length; + "zoom" === e.dragmode && + (((s || l) && 1 === u) || (s && l && 2 === u)) && + (e.dragmode = "pan"), + o(t, e, r), + n.coerceFont( + r, + "hoverlabel.grouptitlefont", + e.hoverlabel.font, + ); + }; + }, + 22774: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(38048), + a = r(528); + t.exports = function (t, e) { + i(t, e, function (r, i) { + return n.coerce(t, e, a, r, i); + }); + }; + }, + 83312: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(30587).counter, + a = r(27670).Y, + o = r(85555).idRegex, + s = r(44467), + l = { + 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: [i("xy").toString(), ""], + editType: "plot", + }, + editType: "plot", + }, + xaxes: { + valType: "info_array", + freeLength: !0, + items: { + valType: "enumerated", + values: [o.x.toString(), ""], + editType: "plot", + }, + editType: "plot", + }, + yaxes: { + valType: "info_array", + freeLength: !0, + items: { + valType: "enumerated", + values: [o.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: a( + { name: "grid", editType: "plot", noGridCell: !0 }, + {}, + ), + xside: { + valType: "enumerated", + values: ["bottom", "bottom plot", "top plot", "top"], + dflt: "bottom plot", + editType: "plot", + }, + yside: { + valType: "enumerated", + values: ["left", "left plot", "right plot", "right"], + dflt: "left plot", + editType: "plot", + }, + editType: "plot", + }; + function u(t, e, r) { + var n = e[r + "axes"], + i = Object.keys((t._splomAxes || {})[r] || {}); + return Array.isArray(n) ? n : i.length ? i : void 0; + } + function c(t, e, r, n, i, a) { + var o = e(t + "gap", r), + s = e("domain." + t); + e(t + "side", n); + for ( + var l = new Array(i), + u = s[0], + c = (s[1] - u) / (i - o), + f = c * (1 - o), + h = 0; + h < i; + h++ + ) { + var p = u + c * h; + l[a ? i - 1 - h : h] = [p, p + f]; + } + return l; + } + function f(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; + } + t.exports = { + moduleType: "component", + name: "grid", + schema: { layout: { grid: l } }, + layoutAttributes: l, + sizeDefaults: function (t, e) { + var r = t.grid || {}, + i = u(e, r, "x"), + a = u(e, r, "y"); + if (t.grid || i || a) { + var o, + f, + h = + Array.isArray(r.subplots) && + Array.isArray(r.subplots[0]), + p = Array.isArray(i), + d = Array.isArray(a), + v = p && i !== r.xaxes && d && a !== r.yaxes; + h + ? ((o = r.subplots.length), + (f = r.subplots[0].length)) + : (d && (o = a.length), p && (f = i.length)); + var g = s.newContainer(e, "grid"), + y = k("rows", o), + m = k("columns", f); + if (y * m > 1) { + h || + p || + d || + ("independent" === k("pattern") && (h = !0)), + (g._hasSubplotGrid = h); + var x, + b, + _ = "top to bottom" === k("roworder"), + w = h ? 0.2 : 0.1, + T = h ? 0.3 : 0.1; + v && + e._splomGridDflt && + ((x = e._splomGridDflt.xside), + (b = e._splomGridDflt.yside)), + (g._domains = { + x: c("x", k, w, x, m), + y: c("y", k, T, b, y, _), + }); + } else delete e.grid; + } + function k(t, e) { + return n.coerce(r, g, l, t, e); + } + }, + contentDefaults: function (t, e) { + var r = e.grid; + if (r && r._domains) { + var n, + i, + a, + o, + s, + l, + c, + h = t.grid || {}, + p = e._subplots, + d = r._hasSubplotGrid, + v = r.rows, + g = r.columns, + y = "independent" === r.pattern, + m = (r._axisMap = {}); + if (d) { + var x = h.subplots || []; + l = r.subplots = new Array(v); + var b = 1; + for (n = 0; n < v; n++) { + var _ = (l[n] = new Array(g)), + w = x[n] || []; + for (i = 0; i < g; i++) + if ( + (y + ? ((s = 1 === b ? "xy" : "x" + b + "y" + b), + b++) + : (s = w[i]), + (_[i] = ""), + -1 !== p.cartesian.indexOf(s)) + ) { + if ( + ((c = s.indexOf("y")), + (a = s.slice(0, c)), + (o = s.slice(c)), + (void 0 !== m[a] && m[a] !== i) || + (void 0 !== m[o] && m[o] !== n)) + ) + continue; + (_[i] = s), (m[a] = i), (m[o] = n); + } + } + } else { + var T = u(e, h, "x"), + k = u(e, h, "y"); + (r.xaxes = f(T, p.xaxis, g, m, "x")), + (r.yaxes = f(k, p.yaxis, v, m, "y")); + } + var A = (r._anchors = {}), + M = "top to bottom" === r.roworder; + for (var S in m) { + var E, + L, + C, + P = S.charAt(0), + O = r[P + "side"]; + if (O.length < 8) A[S] = "free"; + else if ("x" === P) { + if ( + (("t" === O.charAt(0)) === M + ? ((E = 0), (L = 1), (C = v)) + : ((E = v - 1), (L = -1), (C = -1)), + d) + ) { + var I = m[S]; + for (n = E; n !== C; n += L) + if ( + (s = l[n][I]) && + ((c = s.indexOf("y")), s.slice(0, c) === S) + ) { + A[S] = s.slice(c); + break; + } + } else + for (n = E; n !== C; n += L) + if ( + ((o = r.yaxes[n]), + -1 !== p.cartesian.indexOf(S + o)) + ) { + A[S] = o; + break; + } + } else if ( + ("l" === O.charAt(0) + ? ((E = 0), (L = 1), (C = g)) + : ((E = g - 1), (L = -1), (C = -1)), + d) + ) { + var D = m[S]; + for (n = E; n !== C; n += L) + if ( + (s = l[D][n]) && + ((c = s.indexOf("y")), s.slice(c) === S) + ) { + A[S] = s.slice(0, c); + break; + } + } else + for (n = E; n !== C; n += L) + if ( + ((a = r.xaxes[n]), + -1 !== p.cartesian.indexOf(a + S)) + ) { + A[S] = a; + break; + } + } + } + }, + }; + }, + 69819: function (t, e, r) { + "use strict"; + var n = r(85555), + i = r(44467).templatedArray; + r(24695), + (t.exports = i("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", n.idRegex.x.toString()], + dflt: "paper", + editType: "arraydraw", + }, + yref: { + valType: "enumerated", + values: ["paper", n.idRegex.y.toString()], + dflt: "paper", + editType: "arraydraw", + }, + editType: "arraydraw", + })); + }, + 75378: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(58163); + t.exports = function (t, e, r, a) { + e = e || {}; + var o = "log" === r && "linear" === e.type, + s = "linear" === r && "log" === e.type; + if (o || s) + for ( + var l, + u, + c = t._fullLayout.images, + f = e._id.charAt(0), + h = 0; + h < c.length; + h++ + ) + if ( + ((u = "images[" + h + "]."), + (l = c[h])[f + "ref"] === e._id) + ) { + var p = l[f], + d = l["size" + f], + v = null, + g = null; + if (o) { + v = i(p, e.range); + var y = d / Math.pow(10, v) / 2; + g = + (2 * Math.log(y + Math.sqrt(1 + y * y))) / + Math.LN10; + } else + g = + (v = Math.pow(10, p)) * + (Math.pow(10, d / 2) - Math.pow(10, -d / 2)); + n(v) ? n(g) || (g = null) : ((v = null), (g = null)), + a(u + f, v), + a(u + "size" + f, g); + } + }; + }, + 81603: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(85501), + o = r(69819); + function s(t, e, r) { + function a(r, i) { + return n.coerce(t, e, o, r, i); + } + var s = a("source"); + if (!a("visible", !!s)) return e; + a("layer"), + a("xanchor"), + a("yanchor"), + a("sizex"), + a("sizey"), + a("sizing"), + a("opacity"); + for ( + var l = { _fullLayout: r }, u = ["x", "y"], c = 0; + c < 2; + c++ + ) { + var f = u[c], + h = i.coerceRef(t, e, l, f, "paper", void 0); + "paper" !== h && + i.getFromId(l, h)._imgIndices.push(e._index), + i.coercePosition(e, l, a, h, f, 0); + } + return e; + } + t.exports = function (t, e) { + a(t, e, { name: "images", handleItemDefaults: s }); + }; + }, + 80750: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(91424), + a = r(89298), + o = r(41675), + s = r(77922); + t.exports = function (t) { + var e, + r, + l = t._fullLayout, + u = [], + c = {}, + f = []; + for (r = 0; r < l.images.length; r++) { + var h = l.images[r]; + if (h.visible) + if ( + "below" === h.layer && + "paper" !== h.xref && + "paper" !== h.yref + ) { + e = o.ref2id(h.xref) + o.ref2id(h.yref); + var p = l._plots[e]; + if (!p) { + f.push(h); + continue; + } + p.mainplot && (e = p.mainplot.id), + c[e] || (c[e] = []), + c[e].push(h); + } else "above" === h.layer ? u.push(h) : f.push(h); + } + var d = { + left: { sizing: "xMin", offset: 0 }, + center: { sizing: "xMid", offset: -0.5 }, + right: { sizing: "xMax", offset: -1 }, + }, + v = { + top: { sizing: "YMin", offset: 0 }, + middle: { sizing: "YMid", offset: -0.5 }, + bottom: { sizing: "YMax", offset: -1 }, + }; + function g(e) { + var r = n.select(this); + if (this._imgSrc !== e.source) + if ( + (r.attr("xmlns", s.svg), + e.source && "data:" === e.source.slice(0, 5)) + ) + r.attr("xlink:href", e.source), + (this._imgSrc = e.source); + else { + var i = new Promise( + function (t) { + var n = new Image(); + function i() { + r.remove(), t(); + } + (this.img = n), + n.setAttribute("crossOrigin", "anonymous"), + (n.onerror = i), + (n.onload = function () { + var e = document.createElement("canvas"); + (e.width = this.width), + (e.height = this.height), + e + .getContext("2d", { + willReadFrequently: !0, + }) + .drawImage(this, 0, 0); + var n = e.toDataURL("image/png"); + r.attr("xlink:href", n), t(); + }), + r.on("error", i), + (n.src = e.source), + (this._imgSrc = e.source); + }.bind(this), + ); + t._promises.push(i); + } + } + function y(e) { + var r, + o, + s = n.select(this), + u = a.getFromId(t, e.xref), + c = a.getFromId(t, e.yref), + f = "domain" === a.getRefType(e.xref), + h = "domain" === a.getRefType(e.yref), + p = l._size; + (r = + void 0 !== u + ? "string" == typeof e.xref && f + ? u._length * e.sizex + : Math.abs(u.l2p(e.sizex) - u.l2p(0)) + : e.sizex * p.w), + (o = + void 0 !== c + ? "string" == typeof e.yref && h + ? c._length * e.sizey + : Math.abs(c.l2p(e.sizey) - c.l2p(0)) + : e.sizey * p.h); + var g, + y, + m = r * d[e.xanchor].offset, + x = o * v[e.yanchor].offset, + b = d[e.xanchor].sizing + v[e.yanchor].sizing; + switch ( + ((g = + void 0 !== u + ? "string" == typeof e.xref && f + ? u._length * e.x + u._offset + : u.r2p(e.x) + u._offset + : e.x * p.w + p.l), + (g += m), + (y = + void 0 !== c + ? "string" == typeof e.yref && h + ? c._length * (1 - e.y) + c._offset + : c.r2p(e.y) + c._offset + : p.h - e.y * p.h + p.t), + (y += x), + e.sizing) + ) { + case "fill": + b += " slice"; + break; + case "stretch": + b = "none"; + } + s.attr({ + x: g, + y, + width: r, + height: o, + preserveAspectRatio: b, + opacity: e.opacity, + }); + var _ = + (u && "domain" !== a.getRefType(e.xref) ? u._id : "") + + (c && "domain" !== a.getRefType(e.yref) ? c._id : ""); + i.setClipUrl(s, _ ? "clip" + l._uid + _ : null, t); + } + var m = l._imageLowerLayer.selectAll("image").data(f), + x = l._imageUpperLayer.selectAll("image").data(u); + m.enter().append("image"), + x.enter().append("image"), + m.exit().remove(), + x.exit().remove(), + m.each(function (t) { + g.bind(this)(t), y.bind(this)(t); + }), + x.each(function (t) { + g.bind(this)(t), y.bind(this)(t); + }); + var b = Object.keys(l._plots); + for (r = 0; r < b.length; r++) { + e = b[r]; + var _ = l._plots[e]; + if (_.imagelayer) { + var w = _.imagelayer + .selectAll("image") + .data(c[e] || []); + w.enter().append("image"), + w.exit().remove(), + w.each(function (t) { + g.bind(this)(t), y.bind(this)(t); + }); + } + } + }; + }, + 68804: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "component", + name: "images", + layoutAttributes: r(69819), + supplyLayoutDefaults: r(81603), + includeBasePlot: r(76325)("images"), + draw: r(80750), + convertCoords: r(75378), + }; + }, + 33030: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(22399); + t.exports = { + _isSubplotObj: !0, + visible: { + valType: "boolean", + dflt: !0, + editType: "legend", + }, + bgcolor: { valType: "color", editType: "legend" }, + bordercolor: { + valType: "color", + dflt: i.defaultLine, + editType: "legend", + }, + borderwidth: { + valType: "number", + min: 0, + dflt: 0, + editType: "legend", + }, + font: n({ editType: "legend" }), + grouptitlefont: n({ 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", + }, + entrywidth: { + valType: "number", + min: 0, + editType: "legend", + }, + entrywidthmode: { + valType: "enumerated", + values: ["fraction", "pixels"], + dflt: "pixels", + editType: "legend", + }, + itemsizing: { + valType: "enumerated", + values: ["trace", "constant"], + dflt: "trace", + editType: "legend", + }, + itemwidth: { + valType: "number", + min: 30, + dflt: 30, + editType: "legend", + }, + itemclick: { + valType: "enumerated", + values: ["toggle", "toggleothers", !1], + dflt: "toggle", + editType: "legend", + }, + itemdoubleclick: { + valType: "enumerated", + values: ["toggle", "toggleothers", !1], + dflt: "toggleothers", + editType: "legend", + }, + groupclick: { + valType: "enumerated", + values: ["toggleitem", "togglegroup"], + dflt: "togglegroup", + editType: "legend", + }, + x: { valType: "number", editType: "legend" }, + xref: { + valType: "enumerated", + dflt: "paper", + values: ["container", "paper"], + editType: "layoutstyle", + }, + xanchor: { + valType: "enumerated", + values: ["auto", "left", "center", "right"], + dflt: "left", + editType: "legend", + }, + y: { valType: "number", editType: "legend" }, + yref: { + valType: "enumerated", + dflt: "paper", + values: ["container", "paper"], + editType: "layoutstyle", + }, + yanchor: { + valType: "enumerated", + values: ["auto", "top", "middle", "bottom"], + editType: "legend", + }, + uirevision: { valType: "any", editType: "none" }, + valign: { + valType: "enumerated", + values: ["top", "middle", "bottom"], + dflt: "middle", + editType: "legend", + }, + title: { + text: { valType: "string", dflt: "", editType: "legend" }, + font: n({ editType: "legend" }), + side: { + valType: "enumerated", + values: [ + "top", + "left", + "top left", + "top center", + "top right", + ], + editType: "legend", + }, + editType: "legend", + }, + editType: "legend", + }; + }, + 14928: function (t) { + "use strict"; + t.exports = { + scrollBarWidth: 6, + scrollBarMinHeight: 20, + scrollBarColor: "#808BA4", + scrollBarMargin: 4, + scrollBarEnterAttrs: { rx: 20, ry: 3, width: 0, height: 0 }, + titlePad: 2, + itemGap: 5, + }; + }, + 99017: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(44467), + o = r(9012), + s = r(33030), + l = r(10820), + u = r(10130); + function c(t, e, r, c) { + var f = e[t] || {}, + h = a.newContainer(r, t); + function p(t, e) { + return i.coerce(f, h, s, t, e); + } + var d = i.coerceFont(p, "font", r.font); + if ( + (p("bgcolor", r.paper_bgcolor), + p("bordercolor"), + p("visible")) + ) { + for ( + var v, + g = function (t, e) { + var r = v._input, + n = v; + return i.coerce(r, n, o, t, e); + }, + y = r.font || {}, + m = i.coerceFont( + p, + "grouptitlefont", + i.extendFlat({}, y, { + size: Math.round(1.1 * y.size), + }), + ), + x = 0, + b = !1, + _ = "normal", + w = (r.shapes || []).filter(function (t) { + return t.showlegend; + }), + T = c.concat(w).filter(function (e) { + return t === (e.legend || "legend"); + }), + k = 0; + k < T.length; + k++ + ) + if ((v = T[k]).visible) { + var A = v._isShape; + (v.showlegend || + (v._dfltShowLegend && + !( + v._module && + v._module.attributes && + v._module.attributes.showlegend && + !1 === v._module.attributes.showlegend.dflt + ))) && + (x++, + v.showlegend && + ((b = !0), + ((!A && n.traceIs(v, "pie-like")) || + !0 === v._input.showlegend) && + x++), + i.coerceFont(g, "legendgrouptitle.font", m)), + ((!A && + n.traceIs(v, "bar") && + "stack" === r.barmode) || + -1 !== ["tonextx", "tonexty"].indexOf(v.fill)) && + (_ = u.isGrouped({ traceorder: _ }) + ? "grouped+reversed" + : "reversed"), + void 0 !== v.legendgroup && + "" !== v.legendgroup && + (_ = u.isReversed({ traceorder: _ }) + ? "reversed+grouped" + : "grouped"); + } + var M = i.coerce( + e, + r, + l, + "showlegend", + b && x > ("legend" === t ? 1 : 0), + ); + if ( + (!1 === M && (r[t] = void 0), + (!1 !== M || f.uirevision) && + (p("uirevision", r.uirevision), !1 !== M)) + ) { + p("borderwidth"); + var S, + E, + L, + C = "h" === p("orientation"), + P = "paper" === p("yref"), + O = "paper" === p("xref"), + I = "left"; + if ( + (C + ? ((S = 0), + n.getComponentMethod( + "rangeslider", + "isVisible", + )(e.xaxis) + ? P + ? ((E = 1.1), (L = "bottom")) + : ((E = 1), (L = "top")) + : P + ? ((E = -0.1), (L = "top")) + : ((E = 0), (L = "bottom"))) + : ((E = 1), + (L = "auto"), + O ? (S = 1.02) : ((S = 1), (I = "right"))), + i.coerce( + f, + h, + { + x: { + valType: "number", + editType: "legend", + min: O ? -2 : 0, + max: O ? 3 : 1, + dflt: S, + }, + }, + "x", + ), + i.coerce( + f, + h, + { + y: { + valType: "number", + editType: "legend", + min: P ? -2 : 0, + max: P ? 3 : 1, + dflt: E, + }, + }, + "y", + ), + p("traceorder", _), + u.isGrouped(r[t]) && p("tracegroupgap"), + p("entrywidth"), + p("entrywidthmode"), + p("itemsizing"), + p("itemwidth"), + p("itemclick"), + p("itemdoubleclick"), + p("groupclick"), + p("xanchor", I), + p("yanchor", L), + p("valign"), + i.noneOrAll(f, h, ["x", "y"]), + p("title.text")) + ) { + p("title.side", C ? "left" : "top"); + var D = i.extendFlat({}, d, { + size: i.bigFont(d.size), + }); + i.coerceFont(p, "title.font", D); + } + } + } + } + t.exports = function (t, e, r) { + var n, + a = r.slice(), + o = e.shapes; + if (o) + for (n = 0; n < o.length; n++) { + var s = o[n]; + if (s.showlegend) { + var l = { + _input: s._input, + visible: s.visible, + showlegend: s.showlegend, + legend: s.legend, + }; + a.push(l); + } + } + var u = ["legend"]; + for (n = 0; n < a.length; n++) i.pushUnique(u, a[n].legend); + for (e._legends = [], n = 0; n < u.length; n++) { + var f = u[n]; + c(f, t, e, a), + e[f] && e[f].visible && (e[f]._id = f), + e._legends.push(f); + } + }; + }, + 43969: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(74875), + o = r(73972), + s = r(11086), + l = r(28569), + u = r(91424), + c = r(7901), + f = r(63893), + h = r(85167), + p = r(14928), + d = r(18783), + v = d.LINE_SPACING, + g = d.FROM_TL, + y = d.FROM_BR, + m = r(82424), + x = r(53630), + b = r(10130), + _ = /^legend[0-9]*$/; + function w(t, e) { + var r, + s, + f = e || {}, + h = t._fullLayout, + d = P(f), + v = f._inHover; + if ( + (v + ? ((s = f.layer), (r = "hover")) + : ((s = h._infolayer), (r = d)), + s) + ) { + var _; + if ( + ((r += h._uid), + t._legendMouseDownTime || (t._legendMouseDownTime = 0), + v) + ) { + if (!f.entries) return; + _ = m(f.entries, f); + } else { + for ( + var w = (t.calcdata || []).slice(), + M = h.shapes, + O = 0; + O < M.length; + O++ + ) { + var I = M[O]; + if (I.showlegend) { + var D = { + _isShape: !0, + _fullInput: I, + index: I._index, + name: + I.name || I.label.text || "shape " + I._index, + legend: I.legend, + legendgroup: I.legendgroup, + legendgrouptitle: I.legendgrouptitle, + legendrank: I.legendrank, + legendwidth: I.legendwidth, + showlegend: I.showlegend, + visible: I.visible, + opacity: I.opacity, + mode: "line" === I.type ? "lines" : "markers", + line: I.line, + marker: { + line: I.line, + color: I.fillcolor, + size: 12, + symbol: + "rect" === I.type + ? "square" + : "circle" === I.type + ? "circle" + : "hexagon2", + }, + }; + w.push([{ trace: D }]); + } + } + _ = h.showlegend && m(w, f, h._legends.length > 1); + } + var z = h.hiddenlabels || []; + if (!(v || (h.showlegend && _.length))) + return ( + s.selectAll("." + d).remove(), + h._topdefs.select("#" + r).remove(), + a.autoMargin(t, d) + ); + var R = i.ensureSingle(s, "g", d, function (t) { + v || t.attr("pointer-events", "all"); + }), + F = i.ensureSingleById( + h._topdefs, + "clipPath", + r, + function (t) { + t.append("rect"); + }, + ), + B = i.ensureSingle(R, "rect", "bg", function (t) { + t.attr("shape-rendering", "crispEdges"); + }); + B.call(c.stroke, f.bordercolor) + .call(c.fill, f.bgcolor) + .style("stroke-width", f.borderwidth + "px"); + var N = i.ensureSingle(R, "g", "scrollbox"), + j = f.title; + if (((f._titleWidth = 0), (f._titleHeight = 0), j.text)) { + var U = i.ensureSingle(N, "text", d + "titletext"); + U.attr("text-anchor", "start") + .call(u.font, j.font) + .text(j.text), + E(U, N, t, f, 1); + } else N.selectAll("." + d + "titletext").remove(); + var V = i.ensureSingle( + R, + "rect", + "scrollbar", + function (t) { + t.attr(p.scrollBarEnterAttrs).call( + c.fill, + p.scrollBarColor, + ); + }, + ), + H = N.selectAll("g.groups").data(_); + H.enter().append("g").attr("class", "groups"), + H.exit().remove(); + var q = H.selectAll("g.traces").data(i.identity); + q.enter().append("g").attr("class", "traces"), + q.exit().remove(), + q + .style("opacity", function (t) { + var e = t[0].trace; + return o.traceIs(e, "pie-like") + ? -1 !== z.indexOf(t[0].label) + ? 0.5 + : 1 + : "legendonly" === e.visible + ? 0.5 + : 1; + }) + .each(function () { + n.select(this).call(A, t, f); + }) + .call(x, t, f) + .each(function () { + v || n.select(this).call(S, t, d); + }), + i.syncOrAsync( + [ + a.previousPromises, + function () { + return (function (t, e, r, i) { + var a = t._fullLayout, + o = P(i); + i || (i = a[o]); + var s = a._size, + l = b.isVertical(i), + c = b.isGrouped(i), + f = "fraction" === i.entrywidthmode, + h = i.borderwidth, + d = 2 * h, + v = p.itemGap, + g = i.itemwidth + 2 * v, + y = 2 * (h + v), + m = C(i), + x = i.y < 0 || (0 === i.y && "top" === m), + _ = i.y > 1 || (1 === i.y && "bottom" === m), + w = i.tracegroupgap, + k = {}; + i._maxHeight = Math.max( + x || _ ? a.height / 2 : s.h, + 30, + ); + var A = 0; + (i._width = 0), (i._height = 0); + var M = (function (t) { + var e = 0, + r = 0, + n = t.title.side; + return ( + n && + (-1 !== n.indexOf("left") && + (e = t._titleWidth), + -1 !== n.indexOf("top") && + (r = t._titleHeight)), + [e, r] + ); + })(i); + if (l) + r.each(function (t) { + var e = t[0].height; + u.setTranslate( + this, + h + M[0], + h + M[1] + i._height + e / 2 + v, + ), + (i._height += e), + (i._width = Math.max( + i._width, + t[0].width, + )); + }), + (A = g + i._width), + (i._width += v + g + d), + (i._height += y), + c && + (e.each(function (t, e) { + u.setTranslate( + this, + 0, + e * i.tracegroupgap, + ); + }), + (i._height += + (i._lgroupsLength - 1) * + i.tracegroupgap)); + else { + var S = L(i), + E = i.x < 0 || (0 === i.x && "right" === S), + O = i.x > 1 || (1 === i.x && "left" === S), + I = _ || x, + D = a.width / 2; + i._maxWidth = Math.max( + E + ? I && "left" === S + ? s.l + s.w + : D + : O + ? I && "right" === S + ? s.r + s.w + : D + : s.w, + 2 * g, + ); + var z = 0, + R = 0; + r.each(function (t) { + var e = T(t, i, g); + (z = Math.max(z, e)), (R += e); + }), + (A = null); + var F = 0; + if (c) { + var B = 0, + N = 0, + j = 0; + e.each(function () { + var t = 0, + e = 0; + n.select(this) + .selectAll("g.traces") + .each(function (r) { + var n = T(r, i, g), + a = r[0].height; + u.setTranslate( + this, + M[0], + M[1] + h + v + a / 2 + e, + ), + (e += a), + (t = Math.max(t, n)), + (k[r[0].trace.legendgroup] = t); + }); + var r = t + v; + N > 0 && r + h + N > i._maxWidth + ? ((F = Math.max(F, N)), + (N = 0), + (j += B + w), + (B = e)) + : (B = Math.max(B, e)), + u.setTranslate(this, N, j), + (N += r); + }), + (i._width = Math.max(F, N) + h), + (i._height = j + B + y); + } else { + var U = r.size(), + V = R + d + (U - 1) * v < i._maxWidth, + H = 0, + q = 0, + G = 0, + Z = 0; + r.each(function (t) { + var e = t[0].height, + r = T(t, i, g), + n = V ? r : z; + f || (n += v), + n + h + q - v >= i._maxWidth && + ((F = Math.max(F, Z)), + (q = 0), + (G += H), + (i._height += H), + (H = 0)), + u.setTranslate( + this, + M[0] + h + q, + M[1] + h + G + e / 2 + v, + ), + (Z = q + r + v), + (q += n), + (H = Math.max(H, e)); + }), + V + ? ((i._width = q + d), + (i._height = H + y)) + : ((i._width = Math.max(F, Z) + d), + (i._height += H + y)); + } + } + (i._width = Math.ceil( + Math.max( + i._width + M[0], + i._titleWidth + 2 * (h + p.titlePad), + ), + )), + (i._height = Math.ceil( + Math.max( + i._height + M[1], + i._titleHeight + 2 * (h + p.itemGap), + ), + )), + (i._effHeight = Math.min( + i._height, + i._maxHeight, + )); + var Y = t._context.edits, + W = Y.legendText || Y.legendPosition; + r.each(function (t) { + var e = n + .select(this) + .select("." + o + "toggle"), + r = t[0].height, + a = t[0].trace.legendgroup, + s = T(t, i, g); + c && "" !== a && (s = k[a]); + var h = W ? g : A || s; + l || f || (h += v / 2), + u.setRect(e, 0, -r / 2, h, r); + }); + })(t, H, q, f); + }, + function () { + var e, + c, + m, + x, + b = h._size, + _ = f.borderwidth, + w = "paper" === f.xref, + T = "paper" === f.yref; + if (!v) { + var A, M; + (A = w + ? b.l + b.w * f.x - g[L(f)] * f._width + : h.width * f.x - g[L(f)] * f._width), + (M = T + ? b.t + + b.h * (1 - f.y) - + g[C(f)] * f._effHeight + : h.height * (1 - f.y) - + g[C(f)] * f._effHeight); + var S = (function (t, e, r, n) { + var i = t._fullLayout, + o = i[e], + s = L(o), + l = C(o), + u = "paper" === o.xref, + c = "paper" === o.yref; + t._fullLayout._reservedMargin[e] = {}; + var f = o.y < 0.5 ? "b" : "t", + h = o.x < 0.5 ? "l" : "r", + p = { + r: i.width - r, + l: r + o._width, + b: i.height - n, + t: n + o._effHeight, + }; + if (u && c) + return a.autoMargin(t, e, { + x: o.x, + y: o.y, + l: o._width * g[s], + r: o._width * y[s], + b: o._effHeight * y[l], + t: o._effHeight * g[l], + }); + u + ? (t._fullLayout._reservedMargin[e][f] = + p[f]) + : c || "v" === o.orientation + ? (t._fullLayout._reservedMargin[e][h] = + p[h]) + : (t._fullLayout._reservedMargin[e][f] = + p[f]); + })(t, d, A, M); + if (S) return; + if (h.margin.autoexpand) { + var E = A, + P = M; + (A = w + ? i.constrain(A, 0, h.width - f._width) + : E), + (M = T + ? i.constrain( + M, + 0, + h.height - f._effHeight, + ) + : P), + A !== E && + i.log( + "Constrain " + + d + + ".x to make legend fit inside graph", + ), + M !== P && + i.log( + "Constrain " + + d + + ".y to make legend fit inside graph", + ); + } + u.setTranslate(R, A, M); + } + if ( + (V.on(".drag", null), + R.on("wheel", null), + v || + f._height <= f._maxHeight || + t._context.staticPlot) + ) { + var O = f._effHeight; + v && (O = f._height), + B.attr({ + width: f._width - _, + height: O - _, + x: _ / 2, + y: _ / 2, + }), + u.setTranslate(N, 0, 0), + F.select("rect").attr({ + width: f._width - 2 * _, + height: O - 2 * _, + x: _, + y: _, + }), + u.setClipUrl(N, r, t), + u.setRect(V, 0, 0, 0, 0), + delete f._scrollY; + } else { + var I, + D, + z, + j = Math.max( + p.scrollBarMinHeight, + (f._effHeight * f._effHeight) / f._height, + ), + U = f._effHeight - j - 2 * p.scrollBarMargin, + H = f._height - f._effHeight, + q = U / H, + G = Math.min(f._scrollY || 0, H); + B.attr({ + width: + f._width - + 2 * _ + + p.scrollBarWidth + + p.scrollBarMargin, + height: f._effHeight - _, + x: _ / 2, + y: _ / 2, + }), + F.select("rect").attr({ + width: + f._width - + 2 * _ + + p.scrollBarWidth + + p.scrollBarMargin, + height: f._effHeight - 2 * _, + x: _, + y: _ + G, + }), + u.setClipUrl(N, r, t), + W(G, j, q), + R.on("wheel", function () { + W( + (G = i.constrain( + f._scrollY + (n.event.deltaY / U) * H, + 0, + H, + )), + j, + q, + ), + 0 !== G && + G !== H && + n.event.preventDefault(); + }); + var Z = n.behavior + .drag() + .on("dragstart", function () { + var t = n.event.sourceEvent; + (I = + "touchstart" === t.type + ? t.changedTouches[0].clientY + : t.clientY), + (z = G); + }) + .on("drag", function () { + var t = n.event.sourceEvent; + 2 === t.buttons || + t.ctrlKey || + ((D = + "touchmove" === t.type + ? t.changedTouches[0].clientY + : t.clientY), + (G = (function (t, e, r) { + var n = (r - e) / q + t; + return i.constrain(n, 0, H); + })(z, I, D)), + W(G, j, q)); + }); + V.call(Z); + var Y = n.behavior + .drag() + .on("dragstart", function () { + var t = n.event.sourceEvent; + "touchstart" === t.type && + ((I = t.changedTouches[0].clientY), + (z = G)); + }) + .on("drag", function () { + var t = n.event.sourceEvent; + "touchmove" === t.type && + ((D = t.changedTouches[0].clientY), + (G = (function (t, e, r) { + var n = (e - r) / q + t; + return i.constrain(n, 0, H); + })(z, I, D)), + W(G, j, q)); + }); + N.call(Y); + } + function W(e, r, n) { + (f._scrollY = t._fullLayout[d]._scrollY = e), + u.setTranslate(N, 0, -e), + u.setRect( + V, + f._width, + p.scrollBarMargin + e * n, + p.scrollBarWidth, + r, + ), + F.select("rect").attr("y", _ + e); + } + t._context.edits.legendPosition && + (R.classed("cursor-move", !0), + l.init({ + element: R.node(), + gd: t, + prepFn: function () { + var t = u.getTranslate(R); + (m = t.x), (x = t.y); + }, + moveFn: function (t, r) { + var n = m + t, + i = x + r; + u.setTranslate(R, n, i), + (e = l.align( + n, + f._width, + b.l, + b.l + b.w, + f.xanchor, + )), + (c = l.align( + i + f._height, + -f._height, + b.t + b.h, + b.t, + f.yanchor, + )); + }, + doneFn: function () { + if (void 0 !== e && void 0 !== c) { + var r = {}; + (r[d + ".x"] = e), + (r[d + ".y"] = c), + o.call("_guiRelayout", t, r); + } + }, + clickFn: function (e, r) { + var n = s + .selectAll("g.traces") + .filter(function () { + var t = this.getBoundingClientRect(); + return ( + r.clientX >= t.left && + r.clientX <= t.right && + r.clientY >= t.top && + r.clientY <= t.bottom + ); + }); + n.size() > 0 && k(t, R, n, e, r); + }, + })); + }, + ], + t, + ); + } + } + function T(t, e, r) { + var n = t[0], + i = n.width, + a = e.entrywidthmode, + o = n.trace.legendwidth || e.entrywidth; + return "fraction" === a ? e._maxWidth * o : r + (o || i); + } + function k(t, e, r, n, i) { + var a = r.data()[0][0].trace, + l = { + event: i, + node: r.node(), + curveNumber: a.index, + expandedIndex: a._expandedIndex, + data: t.data, + layout: t.layout, + frames: t._transitionData._frames, + config: t._context, + fullData: t._fullData, + fullLayout: t._fullLayout, + }; + a._group && (l.group = a._group), + o.traceIs(a, "pie-like") && + (l.label = r.datum()[0].label), + !1 !== s.triggerHandler(t, "plotly_legendclick", l) && + (1 === n + ? (e._clickTimeout = setTimeout(function () { + t._fullLayout && h(r, t, n); + }, t._context.doubleClickDelay)) + : 2 === n && + (e._clickTimeout && clearTimeout(e._clickTimeout), + (t._legendMouseDownTime = 0), + !1 !== + s.triggerHandler( + t, + "plotly_legenddoubleclick", + l, + ) && h(r, t, n))); + } + function A(t, e, r) { + var n, + a, + s = P(r), + l = t.data()[0][0], + c = l.trace, + h = o.traceIs(c, "pie-like"), + d = !r._inHover && e._context.edits.legendText && !h, + v = r._maxNameLength; + l.groupTitle + ? ((n = l.groupTitle.text), (a = l.groupTitle.font)) + : ((a = r.font), + r.entries + ? (n = l.text) + : ((n = h ? l.label : c.name), + c._meta && (n = i.templateString(n, c._meta)))); + var g = i.ensureSingle(t, "text", s + "text"); + g.attr("text-anchor", "start") + .call(u.font, a) + .text(d ? M(n, v) : n); + var y = r.itemwidth + 2 * p.itemGap; + f.positionText(g, y, 0), + d + ? g + .call(f.makeEditable, { gd: e, text: n }) + .call(E, t, e, r) + .on("edit", function (n) { + this.text(M(n, v)).call(E, t, e, r); + var a = l.trace._fullInput || {}, + s = {}; + if (o.hasTransform(a, "groupby")) { + var u = o.getTransformIndices(a, "groupby"), + f = u[u.length - 1], + h = i.keyedContainer( + a, + "transforms[" + f + "].styles", + "target", + "value.name", + ); + h.set(l.trace._group, n), + (s = h.constructUpdate()); + } else s.name = n; + return a._isShape + ? o.call( + "_guiRelayout", + e, + "shapes[" + c.index + "].name", + s.name, + ) + : o.call("_guiRestyle", e, s, c.index); + }) + : E(g, t, e, r); + } + function M(t, e) { + var r = Math.max(4, e); + if (t && t.trim().length >= r / 2) return t; + for (var n = r - (t = t || "").length; n > 0; n--) t += " "; + return t; + } + function S(t, e, r) { + var a, + o = e._context.doubleClickDelay, + s = 1, + l = i.ensureSingle(t, "rect", r + "toggle", function (t) { + e._context.staticPlot || + t + .style("cursor", "pointer") + .attr("pointer-events", "all"), + t.call(c.fill, "rgba(0,0,0,0)"); + }); + e._context.staticPlot || + (l.on("mousedown", function () { + (a = new Date().getTime()) - e._legendMouseDownTime < o + ? (s += 1) + : ((s = 1), (e._legendMouseDownTime = a)); + }), + l.on("mouseup", function () { + if (!e._dragged && !e._editing) { + var i = e._fullLayout[r]; + new Date().getTime() - e._legendMouseDownTime > o && + (s = Math.max(s - 1, 1)), + k(e, i, t, s, n.event); + } + })); + } + function E(t, e, r, n, i) { + n._inHover && t.attr("data-notex", !0), + f.convertToTspans(t, r, function () { + !(function (t, e, r, n) { + var i = t.data()[0][0]; + if (r._inHover || !i || i.trace.showlegend) { + var a = t.select("g[class*=math-group]"), + o = a.node(), + s = P(r); + r || (r = e._fullLayout[s]); + var l, + c, + h = r.borderwidth, + d = + (1 === n + ? r.title.font + : i.groupTitle + ? i.groupTitle.font + : r.font + ).size * v; + if (o) { + var g = u.bBox(o); + (l = g.height), + (c = g.width), + 1 === n + ? u.setTranslate(a, h, h + 0.75 * l) + : u.setTranslate(a, 0, 0.25 * l); + } else { + var y = + "." + s + (1 === n ? "title" : "") + "text", + m = t.select(y), + x = f.lineCount(m), + b = m.node(); + if ( + ((l = d * x), + (c = b ? u.bBox(b).width : 0), + 1 === n) + ) { + var _ = 0; + "left" === r.title.side + ? (c += 2 * p.itemGap) + : "top center" === r.title.side + ? r._width && + (_ = + 0.5 * + (r._width - 2 * h - 2 * p.titlePad - c)) + : "top right" === r.title.side && + r._width && + (_ = r._width - 2 * h - 2 * p.titlePad - c), + f.positionText(m, h + p.titlePad + _, h + d); + } else { + var w = 2 * p.itemGap + r.itemwidth; + i.groupTitle && + ((w = p.itemGap), (c -= r.itemwidth)), + f.positionText( + m, + w, + -d * ((x - 1) / 2 - 0.3), + ); + } + } + 1 === n + ? ((r._titleWidth = c), (r._titleHeight = l)) + : ((i.lineHeight = d), + (i.height = Math.max(l, 16) + 3), + (i.width = c)); + } else t.remove(); + })(e, r, n, i); + }); + } + function L(t) { + return i.isRightAnchor(t) + ? "right" + : i.isCenterAnchor(t) + ? "center" + : "left"; + } + function C(t) { + return i.isBottomAnchor(t) + ? "bottom" + : i.isMiddleAnchor(t) + ? "middle" + : "top"; + } + function P(t) { + return t._id || "legend"; + } + t.exports = function (t, e) { + if (e) w(t, e); + else { + var r = t._fullLayout, + i = r._legends; + r._infolayer + .selectAll('[class^="legend"]') + .each(function () { + var t = n.select(this), + e = t.attr("class").split(" ")[0]; + e.match(_) && -1 === i.indexOf(e) && t.remove(); + }); + for (var a = 0; a < i.length; a++) { + var o = i[a]; + w(t, t._fullLayout[o]); + } + } + }; + }, + 82424: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(10130); + t.exports = function (t, e, r) { + var a, + o, + s = e._inHover, + l = i.isGrouped(e), + u = i.isReversed(e), + c = {}, + f = [], + h = !1, + p = {}, + d = 0, + v = 0; + function g(t, n, a) { + if (!1 !== e.visible && (!r || t === e._id)) + if ("" !== n && i.isGrouped(e)) + -1 === f.indexOf(n) + ? (f.push(n), (h = !0), (c[n] = [a])) + : c[n].push(a); + else { + var o = "~~i" + d; + f.push(o), (c[o] = [a]), d++; + } + } + for (a = 0; a < t.length; a++) { + var y = t[a], + m = y[0], + x = m.trace, + b = x.legend, + _ = x.legendgroup; + if (s || (x.visible && x.showlegend)) + if (n.traceIs(x, "pie-like")) + for (p[_] || (p[_] = {}), o = 0; o < y.length; o++) { + var w = y[o].label; + p[_][w] || + (g(b, _, { + label: w, + color: y[o].color, + i: y[o].i, + trace: x, + pts: y[o].pts, + }), + (p[_][w] = !0), + (v = Math.max(v, (w || "").length))); + } + else + g(b, _, m), (v = Math.max(v, (x.name || "").length)); + } + if (!f.length) return []; + var T = !h || !l, + k = []; + for (a = 0; a < f.length; a++) { + var A = c[f[a]]; + T ? k.push(A[0]) : k.push(A); + } + for (T && (k = [k]), a = 0; a < k.length; a++) { + var M = 1 / 0; + for (o = 0; o < k[a].length; o++) { + var S = k[a][o].trace.legendrank; + M > S && (M = S); + } + (k[a][0]._groupMinRank = M), (k[a][0]._preGroupSort = a); + } + var E = function (t, e) { + return ( + t.trace.legendrank - e.trace.legendrank || + t._preSort - e._preSort + ); + }; + for ( + k.forEach(function (t, e) { + t[0]._preGroupSort = e; + }), + k.sort(function (t, e) { + return ( + t[0]._groupMinRank - e[0]._groupMinRank || + t[0]._preGroupSort - e[0]._preGroupSort + ); + }), + a = 0; + a < k.length; + a++ + ) { + k[a].forEach(function (t, e) { + t._preSort = e; + }), + k[a].sort(E); + var L = k[a][0].trace, + C = null; + for (o = 0; o < k[a].length; o++) { + var P = k[a][o].trace.legendgrouptitle; + if (P && P.text) { + (C = P), s && (P.font = e._groupTitleFont); + break; + } + } + if ((u && k[a].reverse(), C)) { + var O = !1; + for (o = 0; o < k[a].length; o++) + if (n.traceIs(k[a][o].trace, "pie-like")) { + O = !0; + break; + } + k[a].unshift({ + i: -1, + groupTitle: C, + noClick: O, + trace: { + showlegend: L.showlegend, + legendgroup: L.legendgroup, + visible: "toggleitem" === e.groupclick || L.visible, + }, + }); + } + for (o = 0; o < k[a].length; o++) k[a][o] = [k[a][o]]; + } + return ( + (e._lgroupsLength = k.length), (e._maxNameLength = v), k + ); + }; + }, + 85167: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = i.pushUnique, + o = !0; + t.exports = function (t, e, r) { + var s = e._fullLayout; + if (!e._dragged && !e._editing) { + var l, + u = s.legend.itemclick, + c = s.legend.itemdoubleclick, + f = s.legend.groupclick; + if ( + (1 === r && + "toggle" === u && + "toggleothers" === c && + o && + e.data && + e._context.showTips + ? (i.notifier( + i._( + e, + "Double-click on legend to isolate one trace", + ), + "long", + ), + (o = !1)) + : (o = !1), + 1 === r ? (l = u) : 2 === r && (l = c), + l) + ) { + var h = "togglegroup" === f, + p = s.hiddenlabels ? s.hiddenlabels.slice() : [], + d = t.data()[0][0]; + if (!d.groupTitle || !d.noClick) { + var v = e._fullData, + g = (s.shapes || []).filter(function (t) { + return t.showlegend; + }), + y = v.concat(g), + m = d.trace; + m._isShape && (m = m._fullInput); + var x, + b, + _, + w, + T, + k = m.legendgroup, + A = {}, + M = [], + S = [], + E = [], + L = (s.shapes || []).map(function (t) { + return t._input; + }), + C = !1, + P = m.legend, + O = m._fullInput; + if ((O && O._isShape) || !n.traceIs(m, "pie-like")) { + var I, + D = k && k.length, + z = []; + if (D) + for (x = 0; x < y.length; x++) + (I = y[x]).visible && + I.legendgroup === k && + z.push(x); + if ("toggle" === l) { + var R; + switch (m.visible) { + case !0: + R = "legendonly"; + break; + case !1: + R = !1; + break; + case "legendonly": + R = !0; + } + if (D) + if (h) + for (x = 0; x < y.length; x++) { + var F = y[x]; + !1 !== F.visible && + F.legendgroup === k && + tt(F, R); + } + else tt(m, R); + else tt(m, R); + } else if ("toggleothers" === l) { + var B, + N, + j, + U, + V = !0; + for (x = 0; x < y.length; x++) + if ( + ((B = (U = y[x]) === m), + (N = !0 !== U.showlegend), + !( + B || + N || + (D && U.legendgroup === k) || + U.legend !== P || + !0 !== U.visible || + n.traceIs(U, "notLegendIsolatable") + )) + ) { + V = !1; + break; + } + for (x = 0; x < y.length; x++) + if ( + !1 !== (U = y[x]).visible && + U.legend === P && + !n.traceIs(U, "notLegendIsolatable") + ) + switch (m.visible) { + case "legendonly": + tt(U, !0); + break; + case !0: + (j = !!V || "legendonly"), + (B = U === m), + (N = + !0 !== U.showlegend && + !U.legendgroup), + tt( + U, + !!( + B || + (D && U.legendgroup === k) || + N + ) || j, + ); + } + } + for (x = 0; x < S.length; x++) + if ((_ = S[x])) { + var H = _.constructUpdate(), + q = Object.keys(H); + for (b = 0; b < q.length; b++) + (w = q[b]), + ((A[w] = A[w] || [])[E[x]] = H[w]); + } + for (T = Object.keys(A), x = 0; x < T.length; x++) + for (w = T[x], b = 0; b < M.length; b++) + A[w].hasOwnProperty(b) || (A[w][b] = void 0); + C + ? n.call("_guiUpdate", e, A, { shapes: L }, M) + : n.call("_guiRestyle", e, A, M); + } else { + var G = d.label, + Z = p.indexOf(G); + if ("toggle" === l) + -1 === Z ? p.push(G) : p.splice(Z, 1); + else if ("toggleothers" === l) { + var Y = -1 !== Z, + W = []; + for (x = 0; x < e.calcdata.length; x++) { + var X = e.calcdata[x]; + for (b = 0; b < X.length; b++) { + var J = X[b].label; + P === X[0].trace.legend && + G !== J && + (-1 === p.indexOf(J) && (Y = !0), + a(p, J), + W.push(J)); + } + } + if (!Y) + for (var K = 0; K < W.length; K++) { + var $ = p.indexOf(W[K]); + -1 !== $ && p.splice($, 1); + } + } + n.call("_guiRelayout", e, "hiddenlabels", p); + } + } + } + } + function Q(t, e) { + var r = M.indexOf(t), + n = A.visible; + return ( + n || (n = A.visible = []), + -1 === M.indexOf(t) && (M.push(t), (r = M.length - 1)), + (n[r] = e), + r + ); + } + function tt(t, e) { + if (!d.groupTitle || h) { + var r, + a = t._fullInput || t, + o = a._isShape, + s = a.index; + if ( + (void 0 === s && (s = a._index), + n.hasTransform(a, "groupby")) + ) { + var l = S[s]; + if (!l) { + var u = n.getTransformIndices(a, "groupby"), + c = u[u.length - 1]; + (l = i.keyedContainer( + a, + "transforms[" + c + "].styles", + "target", + "value.visible", + )), + (S[s] = l); + } + var f = l.get(t._group); + void 0 === f && (f = !0), + !1 !== f && l.set(t._group, e), + (E[s] = Q(s, !1 !== a.visible)); + } else { + var p = !1 !== a.visible && e; + o ? ((r = p), (L[s].visible = r), (C = !0)) : Q(s, p); + } + } + } + }; + }, + 10130: function (t, e) { + "use strict"; + (e.isGrouped = function (t) { + return -1 !== (t.traceorder || "").indexOf("grouped"); + }), + (e.isVertical = function (t) { + return "h" !== t.orientation; + }), + (e.isReversed = function (t) { + return -1 !== (t.traceorder || "").indexOf("reversed"); + }); + }, + 2199: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "component", + name: "legend", + layoutAttributes: r(33030), + supplyLayoutDefaults: r(99017), + draw: r(43969), + style: r(53630), + }; + }, + 53630: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(71828), + o = a.strTranslate, + s = r(91424), + l = r(7901), + u = r(52075).extractOpts, + c = r(34098), + f = r(63463), + h = r(53581).castOption, + p = r(14928); + function d(t, e) { + return ( + (e ? "radial" : "horizontal") + (t ? "" : "reversed") + ); + } + function v(t) { + var e = t[0].trace, + r = e.contours, + n = c.hasLines(e), + i = c.hasMarkers(e), + a = e.visible && e.fill && "none" !== e.fill, + o = !1, + s = !1; + if (r) { + var l = r.coloring; + "lines" === l + ? (o = !0) + : (n = "none" === l || "heatmap" === l || r.showlines), + "constraint" === r.type + ? (a = "=" !== r._operation) + : ("fill" !== l && "heatmap" !== l) || (s = !0); + } + return { + showMarker: i, + showLine: n, + showFill: a, + showGradientLine: o, + showGradientFill: s, + anyLine: n || o, + anyFill: a || s, + }; + } + function g(t, e, r) { + return t && a.isArrayOrTypedArray(t) ? e : t > r ? r : t; + } + t.exports = function (t, e, r) { + var y = e._fullLayout; + r || (r = y.legend); + var m = "constant" === r.itemsizing, + x = r.itemwidth, + b = (x + 2 * p.itemGap) / 2, + _ = o(b, 0), + w = function (t, e, r, n) { + var i; + if (t + 1) i = t; + else { + if (!(e && e.width > 0)) return 0; + i = e.width; + } + return m ? n : Math.min(i, r); + }; + function T(t, a, o) { + var c = t[0].trace, + f = c.marker || {}, + h = f.line || {}, + p = o ? c.visible && c.type === o : i.traceIs(c, "bar"), + d = n + .select(a) + .select("g.legendpoints") + .selectAll("path.legend" + o) + .data(p ? [t] : []); + d + .enter() + .append("path") + .classed("legend" + o, !0) + .attr("d", "M6,6H-6V-6H6Z") + .attr("transform", _), + d.exit().remove(), + d.each(function (t) { + var i = n.select(this), + a = t[0], + o = w(a.mlw, f.line, 5, 2); + i.style("stroke-width", o + "px"); + var p = a.mcc; + if (!r._inHover && "mc" in a) { + var d = u(f), + v = d.mid; + void 0 === v && (v = (d.max + d.min) / 2), + (p = s.tryColorscale(f, "")(v)); + } + var y = p || a.mc || f.color, + m = f.pattern, + x = m && s.getPatternAttr(m.shape, 0, ""); + if (x) { + var b = s.getPatternAttr(m.bgcolor, 0, null), + _ = s.getPatternAttr(m.fgcolor, 0, null), + T = m.fgopacity, + k = g(m.size, 8, 10), + A = g(m.solidity, 0.5, 1), + M = "legend-" + c.uid; + i.call( + s.pattern, + "legend", + e, + M, + x, + k, + A, + p, + m.fillmode, + b, + _, + T, + ); + } else i.call(l.fill, y); + o && l.stroke(i, a.mlc || h.color); + }); + } + function k(t, r, o) { + var s = t[0], + l = s.trace, + u = o ? l.visible && l.type === o : i.traceIs(l, o), + c = n + .select(r) + .select("g.legendpoints") + .selectAll("path.legend" + o) + .data(u ? [t] : []); + if ( + (c + .enter() + .append("path") + .classed("legend" + o, !0) + .attr("d", "M6,6H-6V-6H6Z") + .attr("transform", _), + c.exit().remove(), + c.size()) + ) { + var p = l.marker || {}, + d = w(h(p.line.width, s.pts), p.line, 5, 2), + v = "pieLike", + g = a.minExtend( + l, + { marker: { line: { width: d } } }, + v, + ), + y = a.minExtend(s, { trace: g }, v); + f(c, y, g, e); + } + } + t.each(function (t) { + var e = n.select(this), + i = a.ensureSingle(e, "g", "layers"); + i.style("opacity", t[0].trace.opacity); + var s = r.valign, + l = t[0].lineHeight, + u = t[0].height; + if ("middle" !== s && l && u) { + var c = { top: 1, bottom: -1 }[s] * (0.5 * (l - u + 3)); + i.attr("transform", o(0, c)); + } else i.attr("transform", null); + i + .selectAll("g.legendfill") + .data([t]) + .enter() + .append("g") + .classed("legendfill", !0), + i + .selectAll("g.legendlines") + .data([t]) + .enter() + .append("g") + .classed("legendlines", !0); + var f = i.selectAll("g.legendsymbols").data([t]); + f.enter().append("g").classed("legendsymbols", !0), + f + .selectAll("g.legendpoints") + .data([t]) + .enter() + .append("g") + .classed("legendpoints", !0); + }) + .each(function (t) { + var r, + i = t[0].trace, + o = []; + if (i.visible) + switch (i.type) { + case "histogram2d": + case "heatmap": + (o = [["M-15,-2V4H15V-2Z"]]), (r = !0); + break; + case "choropleth": + case "choroplethmapbox": + (o = [["M-6,-6V6H6V-6Z"]]), (r = !0); + break; + case "densitymapbox": + (o = [ + ["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"], + ]), + (r = "radial"); + break; + case "cone": + (o = [ + ["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"], + ["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"], + ["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"], + ]), + (r = !1); + break; + case "streamtube": + (o = [ + ["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"], + [ + "M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z", + ], + ["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"], + ]), + (r = !1); + break; + case "surface": + (o = [ + ["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"], + ["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"], + ]), + (r = !0); + break; + case "mesh3d": + (o = [ + ["M-6,6H0L-6,-6Z"], + ["M6,6H0L6,-6Z"], + ["M-6,-6H6L0,6Z"], + ]), + (r = !1); + break; + case "volume": + (o = [ + ["M-6,6H0L-6,-6Z"], + ["M6,6H0L6,-6Z"], + ["M-6,-6H6L0,6Z"], + ]), + (r = !0); + break; + case "isosurface": + (o = [ + ["M-6,6H0L-6,-6Z"], + ["M6,6H0L6,-6Z"], + ["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"], + ]), + (r = !1); + } + var c = n + .select(this) + .select("g.legendpoints") + .selectAll("path.legend3dandfriends") + .data(o); + c + .enter() + .append("path") + .classed("legend3dandfriends", !0) + .attr("transform", _) + .style("stroke-miterlimit", 1), + c.exit().remove(), + c.each(function (t, o) { + var c, + f = n.select(this), + h = u(i), + p = h.colorscale, + v = h.reversescale; + if (p) { + if (!r) { + var g = p.length; + c = + 0 === o + ? p[v ? g - 1 : 0][1] + : 1 === o + ? p[v ? 0 : g - 1][1] + : p[Math.floor((g - 1) / 2)][1]; + } + } else { + var y = i.vertexcolor || i.facecolor || i.color; + c = a.isArrayOrTypedArray(y) ? y[o] || y[0] : y; + } + f.attr("d", t[0]), + c + ? f.call(l.fill, c) + : f.call(function (t) { + if (t.size()) { + var n = "legendfill-" + i.uid; + s.gradient( + t, + e, + n, + d(v, "radial" === r), + p, + "fill", + ); + } + }); + }); + }) + .each(function (t) { + var e = t[0].trace, + r = "waterfall" === e.type; + if (t[0]._distinct && r) { + var i = t[0].trace[t[0].dir].marker; + return ( + (t[0].mc = i.color), + (t[0].mlw = i.line.width), + (t[0].mlc = i.line.color), + T(t, this, "waterfall") + ); + } + var a = []; + e.visible && + r && + (a = t[0].hasTotals + ? [ + ["increasing", "M-6,-6V6H0Z"], + ["totals", "M6,6H0L-6,-6H-0Z"], + ["decreasing", "M6,6V-6H0Z"], + ] + : [ + ["increasing", "M-6,-6V6H6Z"], + ["decreasing", "M6,6V-6H-6Z"], + ]); + var o = n + .select(this) + .select("g.legendpoints") + .selectAll("path.legendwaterfall") + .data(a); + o + .enter() + .append("path") + .classed("legendwaterfall", !0) + .attr("transform", _) + .style("stroke-miterlimit", 1), + o.exit().remove(), + o.each(function (t) { + var r = n.select(this), + i = e[t[0]].marker, + a = w(void 0, i.line, 5, 2); + r + .attr("d", t[1]) + .style("stroke-width", a + "px") + .call(l.fill, i.color), + a && r.call(l.stroke, i.line.color); + }); + }) + .each(function (t) { + T(t, this, "funnel"); + }) + .each(function (t) { + T(t, this); + }) + .each(function (t) { + var r = t[0].trace, + o = n + .select(this) + .select("g.legendpoints") + .selectAll("path.legendbox") + .data( + r.visible && i.traceIs(r, "box-violin") + ? [t] + : [], + ); + o + .enter() + .append("path") + .classed("legendbox", !0) + .attr("d", "M6,6H-6V-6H6Z") + .attr("transform", _), + o.exit().remove(), + o.each(function () { + var t = n.select(this); + if ( + ("all" !== r.boxpoints && "all" !== r.points) || + 0 !== l.opacity(r.fillcolor) || + 0 !== l.opacity((r.line || {}).color) + ) { + var i = w(void 0, r.line, 5, 2); + t + .style("stroke-width", i + "px") + .call(l.fill, r.fillcolor), + i && l.stroke(t, r.line.color); + } else { + var u = a.minExtend(r, { + marker: { + size: m + ? 12 + : a.constrain(r.marker.size, 2, 16), + sizeref: 1, + sizemin: 1, + sizemode: "diameter", + }, + }); + o.call(s.pointStyle, u, e); + } + }); + }) + .each(function (t) { + k(t, this, "funnelarea"); + }) + .each(function (t) { + k(t, this, "pie"); + }) + .each(function (t) { + var r, + i, + o = v(t), + l = o.showFill, + f = o.showLine, + h = o.showGradientLine, + p = o.showGradientFill, + g = o.anyFill, + y = o.anyLine, + m = t[0], + b = m.trace, + _ = u(b), + T = _.colorscale, + k = _.reversescale, + A = + c.hasMarkers(b) || !g + ? "M5,0" + : y + ? "M5,-2" + : "M5,-3", + M = n.select(this), + S = M.select(".legendfill") + .selectAll("path") + .data(l || p ? [t] : []); + if ( + (S.enter().append("path").classed("js-fill", !0), + S.exit().remove(), + S.attr("d", A + "h" + x + "v6h-" + x + "z").call( + function (t) { + if (t.size()) + if (l) s.fillGroupStyle(t, e); + else { + var r = "legendfill-" + b.uid; + s.gradient(t, e, r, d(k), T, "fill"); + } + }, + ), + f || h) + ) { + var E = w(void 0, b.line, 10, 5); + (i = a.minExtend(b, { line: { width: E } })), + (r = [a.minExtend(m, { trace: i })]); + } + var L = M.select(".legendlines") + .selectAll("path") + .data(f || h ? [r] : []); + L.enter().append("path").classed("js-line", !0), + L.exit().remove(), + L.attr( + "d", + A + (h ? "l" + x + ",0.0001" : "h" + x), + ).call( + f + ? s.lineGroupStyle + : function (t) { + if (t.size()) { + var r = "legendline-" + b.uid; + s.lineGroupStyle(t), + s.gradient(t, e, r, d(k), T, "stroke"); + } + }, + ); + }) + .each(function (t) { + var r, + i, + o = v(t), + l = o.anyFill, + u = o.anyLine, + f = o.showLine, + h = o.showMarker, + p = t[0], + d = p.trace, + g = !h && !u && !l && c.hasText(d); + function y(t, e, r, n) { + var i = a.nestedProperty(d, t).get(), + o = a.isArrayOrTypedArray(i) && e ? e(i) : i; + if ((m && o && void 0 !== n && (o = n), r)) { + if (o < r[0]) return r[0]; + if (o > r[1]) return r[1]; + } + return o; + } + function x(t) { + return p._distinct && p.index && t[p.index] + ? t[p.index] + : t[0]; + } + if (h || g || f) { + var b = {}, + w = {}; + if (h) { + (b.mc = y("marker.color", x)), + (b.mx = y("marker.symbol", x)), + (b.mo = y("marker.opacity", a.mean, [0.2, 1])), + (b.mlc = y("marker.line.color", x)), + (b.mlw = y( + "marker.line.width", + a.mean, + [0, 5], + 2, + )), + (w.marker = { + sizeref: 1, + sizemin: 1, + sizemode: "diameter", + }); + var T = y("marker.size", a.mean, [2, 16], 12); + (b.ms = T), (w.marker.size = T); + } + f && + (w.line = { + width: y("line.width", x, [0, 10], 5), + }), + g && + ((b.tx = "Aa"), + (b.tp = y("textposition", x)), + (b.ts = 10), + (b.tc = y("textfont.color", x)), + (b.tf = y("textfont.family", x))), + (r = [a.minExtend(p, b)]), + ((i = a.minExtend(d, w)).selectedpoints = null), + (i.texttemplate = null); + } + var k = n.select(this).select("g.legendpoints"), + A = k.selectAll("path.scatterpts").data(h ? r : []); + A.enter() + .insert("path", ":first-child") + .classed("scatterpts", !0) + .attr("transform", _), + A.exit().remove(), + A.call(s.pointStyle, i, e), + h && (r[0].mrc = 3); + var M = k.selectAll("g.pointtext").data(g ? r : []); + M.enter() + .append("g") + .classed("pointtext", !0) + .append("text") + .attr("transform", _), + M.exit().remove(), + M.selectAll("text").call(s.textPointStyle, i, e); + }) + .each(function (t) { + var e = t[0].trace, + r = n + .select(this) + .select("g.legendpoints") + .selectAll("path.legendcandle") + .data( + e.visible && "candlestick" === e.type + ? [t, t] + : [], + ); + r + .enter() + .append("path") + .classed("legendcandle", !0) + .attr("d", function (t, e) { + return e + ? "M-15,0H-8M-8,6V-6H8Z" + : "M15,0H8M8,-6V6H-8Z"; + }) + .attr("transform", _) + .style("stroke-miterlimit", 1), + r.exit().remove(), + r.each(function (t, r) { + var i = n.select(this), + a = e[r ? "increasing" : "decreasing"], + o = w(void 0, a.line, 5, 2); + i + .style("stroke-width", o + "px") + .call(l.fill, a.fillcolor), + o && l.stroke(i, a.line.color); + }); + }) + .each(function (t) { + var e = t[0].trace, + r = n + .select(this) + .select("g.legendpoints") + .selectAll("path.legendohlc") + .data(e.visible && "ohlc" === e.type ? [t, t] : []); + r + .enter() + .append("path") + .classed("legendohlc", !0) + .attr("d", function (t, e) { + return e ? "M-15,0H0M-8,-6V0" : "M15,0H0M8,6V0"; + }) + .attr("transform", _) + .style("stroke-miterlimit", 1), + r.exit().remove(), + r.each(function (t, r) { + var i = n.select(this), + a = e[r ? "increasing" : "decreasing"], + o = w(void 0, a.line, 5, 2); + i + .style("fill", "none") + .call(s.dashLine, a.line.dash, o), + o && l.stroke(i, a.line.color); + }); + }); + }; + }, + 42068: function (t, e, r) { + "use strict"; + r(93348), + (t.exports = { + editType: "modebar", + orientation: { + valType: "enumerated", + values: ["v", "h"], + dflt: "h", + editType: "modebar", + }, + bgcolor: { valType: "color", editType: "modebar" }, + color: { valType: "color", editType: "modebar" }, + activecolor: { valType: "color", editType: "modebar" }, + uirevision: { valType: "any", editType: "none" }, + add: { + valType: "string", + arrayOk: !0, + dflt: "", + editType: "modebar", + }, + remove: { + valType: "string", + arrayOk: !0, + dflt: "", + editType: "modebar", + }, + }); + }, + 26023: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(74875), + a = r(41675), + o = r(24255), + s = r(34031).eraseActiveShape, + l = r(71828), + u = l._, + c = (t.exports = {}); + function f(t, e) { + var r, + i, + o = e.currentTarget, + s = o.getAttribute("data-attr"), + l = o.getAttribute("data-val") || !0, + u = t._fullLayout, + c = {}, + f = a.list(t, null, !0), + h = u._cartesianSpikesEnabled; + if ("zoom" === s) { + var p, + d = "in" === l ? 0.5 : 2, + v = (1 + d) / 2, + g = (1 - d) / 2; + for (i = 0; i < f.length; i++) + if (!(r = f[i]).fixedrange) + if (((p = r._name), "auto" === l)) + c[p + ".autorange"] = !0; + else if ("reset" === l) + void 0 === r._rangeInitial0 && + void 0 === r._rangeInitial1 + ? (c[p + ".autorange"] = !0) + : void 0 === r._rangeInitial0 + ? ((c[p + ".autorange"] = r._autorangeInitial), + (c[p + ".range"] = [null, r._rangeInitial1])) + : void 0 === r._rangeInitial1 + ? ((c[p + ".range"] = [r._rangeInitial0, null]), + (c[p + ".autorange"] = r._autorangeInitial)) + : (c[p + ".range"] = [ + r._rangeInitial0, + r._rangeInitial1, + ]), + void 0 !== r._showSpikeInitial && + ((c[p + ".showspikes"] = r._showSpikeInitial), + "on" !== h || + r._showSpikeInitial || + (h = "off")); + else { + var y = [r.r2l(r.range[0]), r.r2l(r.range[1])], + m = [v * y[0] + g * y[1], v * y[1] + g * y[0]]; + (c[p + ".range[0]"] = r.l2r(m[0])), + (c[p + ".range[1]"] = r.l2r(m[1])); + } + } else + "hovermode" !== s || + ("x" !== l && "y" !== l) || + ((l = u._isHoriz ? "y" : "x"), + o.setAttribute("data-val", l)), + (c[s] = l); + (u._cartesianSpikesEnabled = h), + n.call("_guiRelayout", t, c); + } + function h(t, e) { + for ( + var r = e.currentTarget, + i = r.getAttribute("data-attr"), + a = r.getAttribute("data-val") || !0, + o = t._fullLayout._subplots.gl3d || [], + s = {}, + l = i.split("."), + u = 0; + u < o.length; + u++ + ) + s[o[u] + "." + l[1]] = a; + var c = "pan" === a ? a : "zoom"; + (s.dragmode = c), n.call("_guiRelayout", t, s); + } + function p(t, e) { + for ( + var r = e.currentTarget.getAttribute("data-attr"), + i = "resetLastSave" === r, + a = "resetDefault" === r, + o = t._fullLayout, + s = o._subplots.gl3d || [], + l = {}, + u = 0; + u < s.length; + u++ + ) { + var c, + f = s[u], + h = f + ".camera", + p = f + ".aspectratio", + d = f + ".aspectmode", + v = o[f]._scene; + i + ? ((l[h + ".up"] = v.viewInitial.up), + (l[h + ".eye"] = v.viewInitial.eye), + (l[h + ".center"] = v.viewInitial.center), + (c = !0)) + : a && + ((l[h + ".up"] = null), + (l[h + ".eye"] = null), + (l[h + ".center"] = null), + (c = !0)), + c && + ((l[p + ".x"] = v.viewInitial.aspectratio.x), + (l[p + ".y"] = v.viewInitial.aspectratio.y), + (l[p + ".z"] = v.viewInitial.aspectratio.z), + (l[d] = v.viewInitial.aspectmode)); + } + n.call("_guiRelayout", t, l); + } + function d(t, e) { + var r = e.currentTarget, + n = r._previousVal, + i = t._fullLayout, + a = i._subplots.gl3d || [], + o = ["xaxis", "yaxis", "zaxis"], + s = {}, + l = {}; + if (n) (l = n), (r._previousVal = null); + else { + for (var u = 0; u < a.length; u++) { + var c = a[u], + f = i[c], + h = c + ".hovermode"; + (s[h] = f.hovermode), (l[h] = !1); + for (var p = 0; p < 3; p++) { + var d = o[p], + v = c + "." + d + ".showspikes"; + (l[v] = !1), (s[v] = f[d].showspikes); + } + } + r._previousVal = s; + } + return l; + } + function v(t, e) { + for ( + var r = e.currentTarget, + i = r.getAttribute("data-attr"), + a = r.getAttribute("data-val") || !0, + o = t._fullLayout, + s = o._subplots.geo || [], + l = 0; + l < s.length; + l++ + ) { + var u = s[l], + c = o[u]; + if ("zoom" === i) { + var f = c.projection.scale, + h = "in" === a ? 2 * f : 0.5 * f; + n.call("_guiRelayout", t, u + ".projection.scale", h); + } + } + "reset" === i && x(t, "geo"); + } + function g(t) { + var e = t._fullLayout; + return ( + !e.hovermode && + (e._has("cartesian") + ? e._isHoriz + ? "y" + : "x" + : "closest") + ); + } + function y(t) { + var e = g(t); + n.call("_guiRelayout", t, "hovermode", e); + } + function m(t, e) { + for ( + var r = e.currentTarget.getAttribute("data-val"), + i = t._fullLayout, + a = i._subplots.mapbox || [], + o = {}, + s = 0; + s < a.length; + s++ + ) { + var l = a[s], + u = i[l].zoom, + c = "in" === r ? 1.05 * u : u / 1.05; + o[l + ".zoom"] = c; + } + n.call("_guiRelayout", t, o); + } + function x(t, e) { + for ( + var r = t._fullLayout, + i = r._subplots[e] || [], + a = {}, + o = 0; + o < i.length; + o++ + ) + for ( + var s = i[o], + l = r[s]._subplot.viewInitial, + u = Object.keys(l), + c = 0; + c < u.length; + c++ + ) { + var f = u[c]; + a[s + "." + f] = l[f]; + } + n.call("_guiRelayout", t, a); + } + (c.toImage = { + name: "toImage", + title: function (t) { + var e = + (t._context.toImageButtonOptions || {}).format || "png"; + return u( + t, + "png" === e + ? "Download plot as a png" + : "Download plot", + ); + }, + icon: o.camera, + click: function (t) { + var e = t._context.toImageButtonOptions, + r = { format: e.format || "png" }; + l.notifier( + u(t, "Taking snapshot - this may take a few seconds"), + "long", + ), + "svg" !== r.format && + l.isIE() && + (l.notifier( + u( + t, + "IE only supports svg. Changing format to svg.", + ), + "long", + ), + (r.format = "svg")), + ["filename", "width", "height", "scale"].forEach( + function (t) { + t in e && (r[t] = e[t]); + }, + ), + n + .call("downloadImage", t, r) + .then(function (e) { + l.notifier( + u(t, "Snapshot succeeded") + " - " + e, + "long", + ); + }) + .catch(function () { + l.notifier( + u( + t, + "Sorry, there was a problem downloading your snapshot!", + ), + "long", + ); + }); + }, + }), + (c.sendDataToCloud = { + name: "sendDataToCloud", + title: function (t) { + return u(t, "Edit in Chart Studio"); + }, + icon: o.disk, + click: function (t) { + i.sendDataToCloud(t); + }, + }), + (c.editInChartStudio = { + name: "editInChartStudio", + title: function (t) { + return u(t, "Edit in Chart Studio"); + }, + icon: o.pencil, + click: function (t) { + i.sendDataToCloud(t); + }, + }), + (c.zoom2d = { + name: "zoom2d", + _cat: "zoom", + title: function (t) { + return u(t, "Zoom"); + }, + attr: "dragmode", + val: "zoom", + icon: o.zoombox, + click: f, + }), + (c.pan2d = { + name: "pan2d", + _cat: "pan", + title: function (t) { + return u(t, "Pan"); + }, + attr: "dragmode", + val: "pan", + icon: o.pan, + click: f, + }), + (c.select2d = { + name: "select2d", + _cat: "select", + title: function (t) { + return u(t, "Box Select"); + }, + attr: "dragmode", + val: "select", + icon: o.selectbox, + click: f, + }), + (c.lasso2d = { + name: "lasso2d", + _cat: "lasso", + title: function (t) { + return u(t, "Lasso Select"); + }, + attr: "dragmode", + val: "lasso", + icon: o.lasso, + click: f, + }), + (c.drawclosedpath = { + name: "drawclosedpath", + title: function (t) { + return u(t, "Draw closed freeform"); + }, + attr: "dragmode", + val: "drawclosedpath", + icon: o.drawclosedpath, + click: f, + }), + (c.drawopenpath = { + name: "drawopenpath", + title: function (t) { + return u(t, "Draw open freeform"); + }, + attr: "dragmode", + val: "drawopenpath", + icon: o.drawopenpath, + click: f, + }), + (c.drawline = { + name: "drawline", + title: function (t) { + return u(t, "Draw line"); + }, + attr: "dragmode", + val: "drawline", + icon: o.drawline, + click: f, + }), + (c.drawrect = { + name: "drawrect", + title: function (t) { + return u(t, "Draw rectangle"); + }, + attr: "dragmode", + val: "drawrect", + icon: o.drawrect, + click: f, + }), + (c.drawcircle = { + name: "drawcircle", + title: function (t) { + return u(t, "Draw circle"); + }, + attr: "dragmode", + val: "drawcircle", + icon: o.drawcircle, + click: f, + }), + (c.eraseshape = { + name: "eraseshape", + title: function (t) { + return u(t, "Erase active shape"); + }, + icon: o.eraseshape, + click: s, + }), + (c.zoomIn2d = { + name: "zoomIn2d", + _cat: "zoomin", + title: function (t) { + return u(t, "Zoom in"); + }, + attr: "zoom", + val: "in", + icon: o.zoom_plus, + click: f, + }), + (c.zoomOut2d = { + name: "zoomOut2d", + _cat: "zoomout", + title: function (t) { + return u(t, "Zoom out"); + }, + attr: "zoom", + val: "out", + icon: o.zoom_minus, + click: f, + }), + (c.autoScale2d = { + name: "autoScale2d", + _cat: "autoscale", + title: function (t) { + return u(t, "Autoscale"); + }, + attr: "zoom", + val: "auto", + icon: o.autoscale, + click: f, + }), + (c.resetScale2d = { + name: "resetScale2d", + _cat: "resetscale", + title: function (t) { + return u(t, "Reset axes"); + }, + attr: "zoom", + val: "reset", + icon: o.home, + click: f, + }), + (c.hoverClosestCartesian = { + name: "hoverClosestCartesian", + _cat: "hoverclosest", + title: function (t) { + return u(t, "Show closest data on hover"); + }, + attr: "hovermode", + val: "closest", + icon: o.tooltip_basic, + gravity: "ne", + click: f, + }), + (c.hoverCompareCartesian = { + name: "hoverCompareCartesian", + _cat: "hoverCompare", + title: function (t) { + return u(t, "Compare data on hover"); + }, + attr: "hovermode", + val: function (t) { + return t._fullLayout._isHoriz ? "y" : "x"; + }, + icon: o.tooltip_compare, + gravity: "ne", + click: f, + }), + (c.zoom3d = { + name: "zoom3d", + _cat: "zoom", + title: function (t) { + return u(t, "Zoom"); + }, + attr: "scene.dragmode", + val: "zoom", + icon: o.zoombox, + click: h, + }), + (c.pan3d = { + name: "pan3d", + _cat: "pan", + title: function (t) { + return u(t, "Pan"); + }, + attr: "scene.dragmode", + val: "pan", + icon: o.pan, + click: h, + }), + (c.orbitRotation = { + name: "orbitRotation", + title: function (t) { + return u(t, "Orbital rotation"); + }, + attr: "scene.dragmode", + val: "orbit", + icon: o["3d_rotate"], + click: h, + }), + (c.tableRotation = { + name: "tableRotation", + title: function (t) { + return u(t, "Turntable rotation"); + }, + attr: "scene.dragmode", + val: "turntable", + icon: o["z-axis"], + click: h, + }), + (c.resetCameraDefault3d = { + name: "resetCameraDefault3d", + _cat: "resetCameraDefault", + title: function (t) { + return u(t, "Reset camera to default"); + }, + attr: "resetDefault", + icon: o.home, + click: p, + }), + (c.resetCameraLastSave3d = { + name: "resetCameraLastSave3d", + _cat: "resetCameraLastSave", + title: function (t) { + return u(t, "Reset camera to last save"); + }, + attr: "resetLastSave", + icon: o.movie, + click: p, + }), + (c.hoverClosest3d = { + name: "hoverClosest3d", + _cat: "hoverclosest", + title: function (t) { + return u(t, "Toggle show closest data on hover"); + }, + attr: "hovermode", + val: null, + toggle: !0, + icon: o.tooltip_basic, + gravity: "ne", + click: function (t, e) { + var r = d(t, e); + n.call("_guiRelayout", t, r); + }, + }), + (c.zoomInGeo = { + name: "zoomInGeo", + _cat: "zoomin", + title: function (t) { + return u(t, "Zoom in"); + }, + attr: "zoom", + val: "in", + icon: o.zoom_plus, + click: v, + }), + (c.zoomOutGeo = { + name: "zoomOutGeo", + _cat: "zoomout", + title: function (t) { + return u(t, "Zoom out"); + }, + attr: "zoom", + val: "out", + icon: o.zoom_minus, + click: v, + }), + (c.resetGeo = { + name: "resetGeo", + _cat: "reset", + title: function (t) { + return u(t, "Reset"); + }, + attr: "reset", + val: null, + icon: o.autoscale, + click: v, + }), + (c.hoverClosestGeo = { + name: "hoverClosestGeo", + _cat: "hoverclosest", + title: function (t) { + return u(t, "Toggle show closest data on hover"); + }, + attr: "hovermode", + val: null, + toggle: !0, + icon: o.tooltip_basic, + gravity: "ne", + click: y, + }), + (c.hoverClosestGl2d = { + name: "hoverClosestGl2d", + _cat: "hoverclosest", + title: function (t) { + return u(t, "Toggle show closest data on hover"); + }, + attr: "hovermode", + val: null, + toggle: !0, + icon: o.tooltip_basic, + gravity: "ne", + click: y, + }), + (c.hoverClosestPie = { + name: "hoverClosestPie", + _cat: "hoverclosest", + title: function (t) { + return u(t, "Toggle show closest data on hover"); + }, + attr: "hovermode", + val: "closest", + icon: o.tooltip_basic, + gravity: "ne", + click: y, + }), + (c.resetViewSankey = { + name: "resetSankeyGroup", + title: function (t) { + return u(t, "Reset view"); + }, + icon: o.home, + click: function (t) { + for ( + var e = { + "node.groups": [], + "node.x": [], + "node.y": [], + }, + r = 0; + r < t._fullData.length; + r++ + ) { + var i = t._fullData[r]._viewInitial; + e["node.groups"].push(i.node.groups.slice()), + e["node.x"].push(i.node.x.slice()), + e["node.y"].push(i.node.y.slice()); + } + n.call("restyle", t, e); + }, + }), + (c.toggleHover = { + name: "toggleHover", + title: function (t) { + return u(t, "Toggle show closest data on hover"); + }, + attr: "hovermode", + val: null, + toggle: !0, + icon: o.tooltip_basic, + gravity: "ne", + click: function (t, e) { + var r = d(t, e); + (r.hovermode = g(t)), n.call("_guiRelayout", t, r); + }, + }), + (c.resetViews = { + name: "resetViews", + title: function (t) { + return u(t, "Reset views"); + }, + icon: o.home, + click: function (t, e) { + var r = e.currentTarget; + r.setAttribute("data-attr", "zoom"), + r.setAttribute("data-val", "reset"), + f(t, e), + r.setAttribute("data-attr", "resetLastSave"), + p(t, e), + x(t, "geo"), + x(t, "mapbox"); + }, + }), + (c.toggleSpikelines = { + name: "toggleSpikelines", + title: function (t) { + return u(t, "Toggle Spike Lines"); + }, + icon: o.spikeline, + attr: "_cartesianSpikesEnabled", + val: "on", + click: function (t) { + var e = t._fullLayout, + r = e._cartesianSpikesEnabled; + (e._cartesianSpikesEnabled = "on" === r ? "off" : "on"), + n.call( + "_guiRelayout", + t, + (function (t) { + for ( + var e = + "on" === + t._fullLayout._cartesianSpikesEnabled, + r = a.list(t, null, !0), + n = {}, + i = 0; + i < r.length; + i++ + ) { + var o = r[i]; + n[o._name + ".showspikes"] = + !!e || o._showSpikeInitial; + } + return n; + })(t), + ); + }, + }), + (c.resetViewMapbox = { + name: "resetViewMapbox", + _cat: "resetView", + title: function (t) { + return u(t, "Reset view"); + }, + attr: "reset", + icon: o.home, + click: function (t) { + x(t, "mapbox"); + }, + }), + (c.zoomInMapbox = { + name: "zoomInMapbox", + _cat: "zoomin", + title: function (t) { + return u(t, "Zoom in"); + }, + attr: "zoom", + val: "in", + icon: o.zoom_plus, + click: m, + }), + (c.zoomOutMapbox = { + name: "zoomOutMapbox", + _cat: "zoomout", + title: function (t) { + return u(t, "Zoom out"); + }, + attr: "zoom", + val: "out", + icon: o.zoom_minus, + click: m, + }); + }, + 93348: function (t, e, r) { + "use strict"; + var n = r(26023), + i = Object.keys(n), + a = [ + "drawline", + "drawopenpath", + "drawclosedpath", + "drawcircle", + "drawrect", + "eraseshape", + ], + o = [ + "v1hovermode", + "hoverclosest", + "hovercompare", + "togglehover", + "togglespikelines", + ].concat(a), + s = []; + i.forEach(function (t) { + !(function (t) { + if (-1 === o.indexOf(t._cat || t.name)) { + var e = t.name, + r = (t._cat || t.name).toLowerCase(); + -1 === s.indexOf(e) && s.push(e), + -1 === s.indexOf(r) && s.push(r); + } + })(n[t]); + }), + s.sort(), + (t.exports = { + DRAW_MODES: a, + backButtons: o, + foreButtons: s, + }); + }, + 35750: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(44467), + o = r(42068); + t.exports = function (t, e) { + var r = t.modebar || {}, + s = a.newContainer(e, "modebar"); + function l(t, e) { + return n.coerce(r, s, o, t, e); + } + l("orientation"), + l("bgcolor", i.addOpacity(e.paper_bgcolor, 0.5)); + var u = i.contrast(i.rgb(e.modebar.bgcolor)); + l("color", i.addOpacity(u, 0.3)), + l("activecolor", i.addOpacity(u, 0.7)), + l("uirevision", e.uirevision), + l("add"), + l("remove"); + }; + }, + 64168: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "component", + name: "modebar", + layoutAttributes: r(42068), + supplyLayoutDefaults: r(35750), + manage: r(14192), + }; + }, + 14192: function (t, e, r) { + "use strict"; + var n = r(41675), + i = r(34098), + a = r(73972), + o = r(23469).isUnifiedHover, + s = r(37676), + l = r(26023), + u = r(93348).DRAW_MODES, + c = r(71828).extendDeep; + t.exports = function (t) { + var e = t._fullLayout, + r = t._context, + f = e._modeBar; + if (r.displayModeBar || r.watermark) { + 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 h, + p = r.modeBarButtons; + (h = + Array.isArray(p) && p.length + ? (function (t) { + for (var e = c([], t), r = 0; r < e.length; r++) + for (var n = e[r], i = 0; i < n.length; i++) { + var a = n[i]; + if ("string" == typeof a) { + if (void 0 === l[a]) + throw new Error( + [ + "*modeBarButtons* configuration options", + "invalid button name", + ].join(" "), + ); + e[r][i] = l[a]; + } + } + return e; + })(p) + : !r.displayModeBar && r.watermark + ? [] + : (function (t) { + var e = t._fullLayout, + r = t._fullData, + s = t._context; + function c(t, e) { + if ("string" == typeof e) { + if (e.toLowerCase() === t.toLowerCase()) + return !0; + } else { + var r = e.name, + n = e._cat || e.name; + if (r === t || n === t.toLowerCase()) + return !0; + } + return !1; + } + var f = e.modebar.add; + "string" == typeof f && (f = [f]); + var h = e.modebar.remove; + "string" == typeof h && (h = [h]); + var p = s.modeBarButtonsToAdd.concat( + f.filter(function (t) { + for ( + var e = 0; + e < s.modeBarButtonsToRemove.length; + e++ + ) + if (c(t, s.modeBarButtonsToRemove[e])) + return !1; + return !0; + }), + ), + d = s.modeBarButtonsToRemove.concat( + h.filter(function (t) { + for ( + var e = 0; + e < s.modeBarButtonsToAdd.length; + e++ + ) + if (c(t, s.modeBarButtonsToAdd[e])) + return !1; + return !0; + }), + ), + v = e._has("cartesian"), + g = e._has("gl3d"), + y = e._has("geo"), + m = e._has("pie"), + x = e._has("funnelarea"), + b = e._has("gl2d"), + _ = e._has("ternary"), + w = e._has("mapbox"), + T = e._has("polar"), + k = e._has("smith"), + A = e._has("sankey"), + M = (function (t) { + for ( + var e = n.list( + { _fullLayout: t }, + null, + !0, + ), + r = 0; + r < e.length; + r++ + ) + if (!e[r].fixedrange) return !1; + return !0; + })(e), + S = o(e.hovermode), + E = []; + function L(t) { + if (t.length) { + for (var e = [], r = 0; r < t.length; r++) { + for ( + var n = t[r], + i = l[n], + a = i.name.toLowerCase(), + o = (i._cat || i.name).toLowerCase(), + s = !1, + u = 0; + u < d.length; + u++ + ) { + var c = d[u].toLowerCase(); + if (c === a || c === o) { + s = !0; + break; + } + } + s || e.push(l[n]); + } + E.push(e); + } + } + var C = ["toImage"]; + s.showEditInChartStudio + ? C.push("editInChartStudio") + : s.showSendToCloud && + C.push("sendDataToCloud"), + L(C); + var P = [], + O = [], + I = [], + D = []; + (v || b || m || x || _) + y + g + w + T + k > 1 + ? ((O = ["toggleHover"]), (I = ["resetViews"])) + : y + ? ((P = ["zoomInGeo", "zoomOutGeo"]), + (O = ["hoverClosestGeo"]), + (I = ["resetGeo"])) + : g + ? ((O = ["hoverClosest3d"]), + (I = [ + "resetCameraDefault3d", + "resetCameraLastSave3d", + ])) + : w + ? ((P = ["zoomInMapbox", "zoomOutMapbox"]), + (O = ["toggleHover"]), + (I = ["resetViewMapbox"])) + : b + ? (O = ["hoverClosestGl2d"]) + : m + ? (O = ["hoverClosestPie"]) + : A + ? ((O = [ + "hoverClosestCartesian", + "hoverCompareCartesian", + ]), + (I = ["resetViewSankey"])) + : (O = ["toggleHover"]), + v && + (O = [ + "toggleSpikelines", + "hoverClosestCartesian", + "hoverCompareCartesian", + ]), + ((function (t) { + for (var e = 0; e < t.length; e++) + if (!a.traceIs(t[e], "noHover")) return !1; + return !0; + })(r) || + S) && + (O = []), + (!v && !b) || + M || + ((P = [ + "zoomIn2d", + "zoomOut2d", + "autoScale2d", + ]), + "resetViews" !== I[0] && + (I = ["resetScale2d"])), + g + ? (D = [ + "zoom3d", + "pan3d", + "orbitRotation", + "tableRotation", + ]) + : ((v || b) && !M) || _ + ? (D = ["zoom2d", "pan2d"]) + : w || y + ? (D = ["pan2d"]) + : T && (D = ["zoom2d"]), + (function (t) { + for ( + var e = !1, r = 0; + r < t.length && !e; + r++ + ) { + var n = t[r]; + n._module && + n._module.selectPoints && + (a.traceIs(n, "scatter-like") + ? (i.hasMarkers(n) || i.hasText(n)) && + (e = !0) + : (a.traceIs(n, "box-violin") && + "all" !== n.boxpoints && + "all" !== n.points) || + (e = !0)); + } + return e; + })(r) && D.push("select2d", "lasso2d"); + var z = [], + R = function (t) { + -1 === z.indexOf(t) && + -1 !== O.indexOf(t) && + z.push(t); + }; + if (Array.isArray(p)) { + for (var F = [], B = 0; B < p.length; B++) { + var N = p[B]; + "string" == typeof N + ? ((N = N.toLowerCase()), + -1 !== u.indexOf(N) + ? (e._has("mapbox") || + e._has("cartesian")) && + D.push(N) + : "togglespikelines" === N + ? R("toggleSpikelines") + : "togglehover" === N + ? R("toggleHover") + : "hovercompare" === N + ? R("hoverCompareCartesian") + : "hoverclosest" === N + ? (R("hoverClosestCartesian"), + R("hoverClosestGeo"), + R("hoverClosest3d"), + R("hoverClosestGl2d"), + R("hoverClosestPie")) + : "v1hovermode" === N && + (R("toggleHover"), + R("hoverClosestCartesian"), + R("hoverCompareCartesian"), + R("hoverClosestGeo"), + R("hoverClosest3d"), + R("hoverClosestGl2d"), + R("hoverClosestPie"))) + : F.push(N); + } + p = F; + } + return ( + L(D), + L(P.concat(I)), + L(z), + (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; + })(E, p) + ); + })(t)), + f ? f.update(t, h) : (e._modeBar = s(t, h)); + } else f && (f.destroy(), delete e._modeBar); + }; + }, + 37676: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = r(71828), + o = r(24255), + s = r(11506).version, + l = new DOMParser(); + function u(t) { + (this.container = t.container), + (this.element = document.createElement("div")), + this.update(t.graphInfo, t.buttons), + this.container.appendChild(this.element); + } + var c = u.prototype; + (c.update = function (t, e) { + this.graphInfo = t; + var r = this.graphInfo._context, + n = this.graphInfo._fullLayout, + i = "modebar-" + n._uid; + this.element.setAttribute("id", i), + (this._uid = i), + (this.element.className = "modebar"), + "hover" === r.displayModeBar && + (this.element.className += " modebar--hover ease-bg"), + "v" === n.modebar.orientation && + ((this.element.className += " vertical"), + (e = e.reverse())); + var o = n.modebar, + s = + "hover" === r.displayModeBar + ? ".js-plotly-plot .plotly:hover " + : ""; + a.deleteRelatedStyleRule(i), + a.addRelatedStyleRule( + i, + s + "#" + i + " .modebar-group", + "background-color: " + o.bgcolor, + ), + a.addRelatedStyleRule( + i, + "#" + i + " .modebar-btn .icon path", + "fill: " + o.color, + ), + a.addRelatedStyleRule( + i, + "#" + i + " .modebar-btn:hover .icon path", + "fill: " + o.activecolor, + ), + a.addRelatedStyleRule( + i, + "#" + i + " .modebar-btn.active .icon path", + "fill: " + o.activecolor, + ); + var l = !this.hasButtons(e), + u = this.hasLogo !== r.displaylogo, + c = this.locale !== r.locale; + if ( + ((this.locale = r.locale), + (l || u || c) && + (this.removeAllButtons(), + this.updateButtons(e), + r.watermark || r.displaylogo)) + ) { + var f = this.getLogo(); + r.watermark && (f.className = f.className + " watermark"), + "v" === n.modebar.orientation + ? this.element.insertBefore( + f, + this.element.childNodes[0], + ) + : this.element.appendChild(f), + (this.hasLogo = !0); + } + this.updateActiveButton(); + }), + (c.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); + }); + }), + (c.createGroup = function () { + var t = document.createElement("div"); + return (t.className = "modebar-group"), t; + }), + (c.createButton = function (t) { + var e = this, + r = document.createElement("a"); + r.setAttribute("rel", "tooltip"), + (r.className = "modebar-btn"); + var i = t.title; + void 0 === i + ? (i = t.name) + : "function" == typeof i && (i = i(this.graphInfo)), + (i || 0 === i) && r.setAttribute("data-title", i), + void 0 !== t.attr && + r.setAttribute("data-attr", t.attr); + var a = t.val; + if ( + (void 0 !== a && + ("function" == typeof a && (a = a(this.graphInfo)), + r.setAttribute("data-val", a)), + "function" != typeof t.click) + ) + throw new Error( + "must provide button 'click' function in button config", + ); + r.addEventListener("click", function (r) { + t.click(e.graphInfo, r), + e.updateActiveButton(r.currentTarget); + }), + r.setAttribute("data-toggle", t.toggle || !1), + t.toggle && n.select(r).classed("active", !0); + var s = t.icon; + return ( + "function" == typeof s + ? r.appendChild(s()) + : r.appendChild(this.createIcon(s || o.question)), + r.setAttribute("data-gravity", t.gravity || "n"), + r + ); + }), + (c.createIcon = function (t) { + var e, + r = i(t.height) + ? Number(t.height) + : t.ascent - t.descent, + n = "http://www.w3.org/2000/svg"; + if (t.path) { + (e = document.createElementNS(n, "svg")).setAttribute( + "viewBox", + [0, 0, t.width, r].join(" "), + ), + e.setAttribute("class", "icon"); + var a = document.createElementNS(n, "path"); + a.setAttribute("d", t.path), + t.transform + ? a.setAttribute("transform", t.transform) + : void 0 !== t.ascent && + a.setAttribute( + "transform", + "matrix(1 0 0 -1 0 " + t.ascent + ")", + ), + e.appendChild(a); + } + return ( + t.svg && + (e = l.parseFromString(t.svg, "application/xml") + .childNodes[0]), + e.setAttribute("height", "1em"), + e.setAttribute("width", "1em"), + e + ); + }), + (c.updateActiveButton = function (t) { + var e = this.graphInfo._fullLayout, + r = void 0 !== t ? t.getAttribute("data-attr") : null; + this.buttonElements.forEach(function (t) { + var i = t.getAttribute("data-val") || !0, + o = t.getAttribute("data-attr"), + s = "true" === t.getAttribute("data-toggle"), + l = n.select(t); + if (s) + o === r && l.classed("active", !l.classed("active")); + else { + var u = null === o ? o : a.nestedProperty(e, o).get(); + l.classed("active", u === i); + } + }); + }), + (c.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; + }), + (c.getLogo = function () { + var t = this.createGroup(), + e = document.createElement("a"); + return ( + (e.href = "https://plotly.com/"), + (e.target = "_blank"), + e.setAttribute( + "data-title", + a._(this.graphInfo, "Produced with Plotly.js") + + " (v" + + s + + ")", + ), + (e.className = + "modebar-btn plotlyjsicon modebar-btn--logo"), + e.appendChild(this.createIcon(o.newplotlylogo)), + t.appendChild(e), + t + ); + }), + (c.removeAllButtons = function () { + for (; this.element.firstChild; ) + this.element.removeChild(this.element.firstChild); + this.hasLogo = !1; + }), + (c.destroy = function () { + a.removeElement(this.container.querySelector(".modebar")), + a.deleteRelatedStyleRule(this._uid); + }), + (t.exports = function (t, e) { + var r = t._fullLayout, + i = new u({ + graphInfo: t, + container: r._modebardiv.node(), + buttons: e, + }); + return ( + r._privateplot && + n + .select(i.element) + .append("span") + .classed("badge-private float--left", !0) + .text("PRIVATE"), + i + ); + }); + }, + 37113: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(22399), + a = (0, r(44467).templatedArray)("button", { + visible: { + valType: "boolean", + dflt: !0, + editType: "plot", + }, + 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", + }); + t.exports = { + visible: { valType: "boolean", editType: "plot" }, + buttons: a, + 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: n({ editType: "plot" }), + bgcolor: { + valType: "color", + dflt: i.lightLine, + editType: "plot", + }, + activecolor: { valType: "color", editType: "plot" }, + bordercolor: { + valType: "color", + dflt: i.defaultLine, + editType: "plot", + }, + borderwidth: { + valType: "number", + min: 0, + dflt: 0, + editType: "plot", + }, + editType: "plot", + }; + }, + 89573: function (t) { + "use strict"; + t.exports = { + yPad: 0.02, + minButtonWidth: 30, + rx: 3, + ry: 3, + lightAmount: 25, + darkAmount: 10, + }; + }, + 28674: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(44467), + o = r(85501), + s = r(37113), + l = r(89573); + function u(t, e, r, i) { + var a = i.calendar; + function o(r, i) { + return n.coerce(t, e, s.buttons, r, i); + } + if (o("visible")) { + var l = o("step"); + "all" !== l && + (!a || + "gregorian" === a || + ("month" !== l && "year" !== l) + ? o("stepmode") + : (e.stepmode = "backward"), + o("count")), + o("label"); + } + } + t.exports = function (t, e, r, c, f) { + var h = t.rangeselector || {}, + p = a.newContainer(e, "rangeselector"); + function d(t, e) { + return n.coerce(h, p, s, t, e); + } + if ( + d( + "visible", + o(h, p, { + name: "buttons", + handleItemDefaults: u, + calendar: f, + }).length > 0, + ) + ) { + var v = (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 + l.yPad]; + })(e, r, c); + d("x", v[0]), + d("y", v[1]), + n.noneOrAll(t, e, ["x", "y"]), + d("xanchor"), + d("yanchor"), + n.coerceFont(d, "font", r.font); + var g = d("bgcolor"); + d( + "activecolor", + i.contrast(g, l.lightAmount, l.darkAmount), + ), + d("bordercolor"), + d("borderwidth"); + } + }; + }, + 21598: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(74875), + o = r(7901), + s = r(91424), + l = r(71828), + u = l.strTranslate, + c = r(63893), + f = r(41675), + h = r(18783), + p = h.LINE_SPACING, + d = h.FROM_TL, + v = h.FROM_BR, + g = r(89573), + y = r(70565); + function m(t) { + return t._id; + } + function x(t, e, r) { + var n = l.ensureSingle( + t, + "rect", + "selector-rect", + function (t) { + t.attr("shape-rendering", "crispEdges"); + }, + ); + n.attr({ rx: g.rx, ry: g.ry }), + n + .call(o.stroke, e.bordercolor) + .call( + o.fill, + (function (t, e) { + return e._isActive || e._isHovered + ? t.activecolor + : t.bgcolor; + })(e, r), + ) + .style("stroke-width", e.borderwidth + "px"); + } + function b(t, e, r, n) { + var i, a; + l.ensureSingle(t, "text", "selector-text", function (t) { + t.attr("text-anchor", "middle"); + }) + .call(s.font, e.font) + .text( + ((i = r), + (a = n._fullLayout._meta), + i.label + ? a + ? l.templateString(i.label, a) + : i.label + : "all" === i.step + ? "all" + : i.count + i.step.charAt(0)), + ) + .call(function (t) { + c.convertToTspans(t, n); + }); + } + t.exports = function (t) { + var e = t._fullLayout._infolayer + .selectAll(".rangeselector") + .data( + (function (t) { + for ( + var e = f.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), + m, + ); + e.enter().append("g").classed("rangeselector", !0), + e.exit().remove(), + e.style({ cursor: "pointer", "pointer-events": "all" }), + e.each(function (e) { + var r = n.select(this), + o = e, + f = o.rangeselector, + h = r + .selectAll("g.button") + .data(l.filterVisible(f.buttons)); + h.enter().append("g").classed("button", !0), + h.exit().remove(), + h.each(function (e) { + var r = n.select(this), + a = y(o, e); + (e._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]] + ); + })(o, e, a)), + r.call(x, f, e), + r.call(b, f, e, t), + r.on("click", function () { + t._dragged || i.call("_guiRelayout", t, a); + }), + r.on("mouseover", function () { + (e._isHovered = !0), r.call(x, f, e); + }), + r.on("mouseout", function () { + (e._isHovered = !1), r.call(x, f, e); + }); + }), + (function (t, e, r, i, o) { + var f = 0, + h = 0, + y = r.borderwidth; + e.each(function () { + var t = n.select(this).select(".selector-text"), + e = r.font.size * p, + i = Math.max(e * c.lineCount(t), 16) + 3; + h = Math.max(h, i); + }), + e.each(function () { + var t = n.select(this), + e = t.select(".selector-rect"), + i = t.select(".selector-text"), + a = i.node() && s.bBox(i.node()).width, + o = r.font.size * p, + l = c.lineCount(i), + d = Math.max(a + 10, g.minButtonWidth); + t.attr("transform", u(y + f, y)), + e.attr({ x: 0, y: 0, width: d, height: h }), + c.positionText( + i, + d / 2, + h / 2 - ((l - 1) * o) / 2 + 3, + ), + (f += d + 5); + }); + var m = t._fullLayout._size, + x = m.l + m.w * r.x, + b = m.t + m.h * (1 - r.y), + _ = "left"; + l.isRightAnchor(r) && ((x -= f), (_ = "right")), + l.isCenterAnchor(r) && + ((x -= f / 2), (_ = "center")); + var w = "top"; + l.isBottomAnchor(r) && ((b -= h), (w = "bottom")), + l.isMiddleAnchor(r) && + ((b -= h / 2), (w = "middle")), + (f = Math.ceil(f)), + (h = Math.ceil(h)), + (x = Math.round(x)), + (b = Math.round(b)), + a.autoMargin(t, i + "-range-selector", { + x: r.x, + y: r.y, + l: f * d[_], + r: f * v[_], + b: h * v[w], + t: h * d[w], + }), + o.attr("transform", u(x, b)); + })(t, h, f, o._name, r); + }); + }; + }, + 70565: function (t, e, r) { + "use strict"; + var n = r(81041), + i = r(71828).titleCase; + t.exports = function (t, e) { + var r = t._name, + a = {}; + if ("all" === e.step) a[r + ".autorange"] = !0; + else { + var o = (function (t, e) { + var r, + a = t.range, + o = new Date(t.r2l(a[1])), + s = e.step, + l = n["utc" + i(s)], + u = e.count; + switch (e.stepmode) { + case "backward": + r = t.l2r(+l.offset(o, -u)); + break; + case "todate": + var c = l.offset(o, -u); + r = t.l2r(+l.ceil(c)); + } + return [r, a[1]]; + })(t, e); + (a[r + ".range[0]"] = o[0]), (a[r + ".range[1]"] = o[1]); + } + return a; + }; + }, + 97218: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "component", + name: "rangeselector", + schema: { + subplots: { xaxis: { rangeselector: r(37113) } }, + }, + layoutAttributes: r(37113), + handleDefaults: r(28674), + draw: r(21598), + }; + }, + 75148: function (t, e, r) { + "use strict"; + var n = r(22399); + t.exports = { + bgcolor: { + valType: "color", + dflt: n.background, + editType: "plot", + }, + bordercolor: { + valType: "color", + dflt: n.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: 0.15, + min: 0, + max: 1, + editType: "plot", + }, + visible: { valType: "boolean", dflt: !0, editType: "calc" }, + editType: "calc", + }; + }, + 88443: function (t, e, r) { + "use strict"; + var n = r(41675).list, + i = r(71739).getAutoRange, + a = r(73251); + t.exports = function (t) { + for (var e = n(t, "x", !0), r = 0; r < e.length; r++) { + var o = e[r], + s = o[a.name]; + s && + s.visible && + s.autorange && + ((s._input.autorange = !0), + (s._input.range = s.range = i(t, o))); + } + }; + }, + 73251: function (t) { + "use strict"; + t.exports = { + name: "rangeslider", + containerClassName: "rangeslider-container", + bgClassName: "rangeslider-bg", + rangePlotClassName: "rangeslider-rangeplot", + maskMinClassName: "rangeslider-mask-min", + maskMaxClassName: "rangeslider-mask-max", + slideBoxClassName: "rangeslider-slidebox", + grabberMinClassName: "rangeslider-grabber-min", + grabAreaMinClassName: "rangeslider-grabarea-min", + handleMinClassName: "rangeslider-handle-min", + grabberMaxClassName: "rangeslider-grabber-max", + grabAreaMaxClassName: "rangeslider-grabarea-max", + handleMaxClassName: "rangeslider-handle-max", + 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, + }; + }, + 26377: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(44467), + a = r(41675), + o = r(75148), + s = r(47850); + t.exports = function (t, e, r) { + var l = t[r], + u = e[r]; + if (l.rangeslider || e._requestRangeslider[u._id]) { + n.isPlainObject(l.rangeslider) || (l.rangeslider = {}); + var c, + f, + h = l.rangeslider, + p = i.newContainer(u, "rangeslider"); + if (_("visible")) { + _("bgcolor", e.plot_bgcolor), + _("bordercolor"), + _("borderwidth"), + _("thickness"), + _("autorange", !u.isValidRange(h.range)), + _("range"); + var d = e._subplots; + if (d) + for ( + var v = d.cartesian + .filter(function (t) { + return ( + t.substr(0, t.indexOf("y")) === a.name2id(r) + ); + }) + .map(function (t) { + return t.substr(t.indexOf("y"), t.length); + }), + g = n.simpleMap(v, a.id2name), + y = 0; + y < g.length; + y++ + ) { + var m = g[y]; + (c = h[m] || {}), + (f = i.newContainer(p, m, "yaxis")); + var x, + b = e[m]; + c.range && b.isValidRange(c.range) && (x = "fixed"), + "match" !== w("rangemode", x) && + w("range", b.range.slice()); + } + p._input = h; + } + } + function _(t, e) { + return n.coerce(h, p, o, t, e); + } + function w(t, e) { + return n.coerce(c, f, s, t, e); + } + }; + }, + 72413: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(74875), + o = r(71828), + s = o.strTranslate, + l = r(91424), + u = r(7901), + c = r(92998), + f = r(93612), + h = r(41675), + p = r(28569), + d = r(6964), + v = r(73251); + function g(t, e, r, n) { + var i = o.ensureSingle( + t, + "rect", + v.bgClassName, + function (t) { + t.attr({ + x: 0, + y: 0, + "shape-rendering": "crispEdges", + }); + }, + ), + a = + n.borderwidth % 2 == 0 + ? n.borderwidth + : n.borderwidth - 1, + c = -n._offsetShift, + f = l.crispRound(e, n.borderwidth); + i.attr({ + width: n._width + a, + height: n._height + a, + transform: s(c, c), + "stroke-width": f, + }) + .call(u.stroke, n.bordercolor) + .call(u.fill, n.bgcolor); + } + function y(t, e, r, n) { + var i = e._fullLayout; + o.ensureSingleById( + i._topdefs, + "clipPath", + n._clipId, + function (t) { + t.append("rect").attr({ x: 0, y: 0 }); + }, + ) + .select("rect") + .attr({ width: n._width, height: n._height }); + } + function m(t, e, r, i) { + var s, + u = e.calcdata, + c = t + .selectAll("g." + v.rangePlotClassName) + .data(r._subplotsWith, o.identity); + c + .enter() + .append("g") + .attr("class", function (t) { + return v.rangePlotClassName + " " + t; + }) + .call(l.setClipUrl, i._clipId, e), + c.order(), + c.exit().remove(), + c.each(function (t, o) { + var l = n.select(this), + c = 0 === o, + p = h.getFromId(e, t, "y"), + d = p._name, + v = i[d], + g = { + data: [], + layout: { + xaxis: { + type: r.type, + domain: [0, 1], + range: i.range.slice(), + calendar: r.calendar, + }, + width: i._width, + height: i._height, + margin: { t: 0, b: 0, l: 0, r: 0 }, + }, + _context: e._context, + }; + r.rangebreaks && + (g.layout.xaxis.rangebreaks = r.rangebreaks), + (g.layout[d] = { + type: p.type, + domain: [0, 1], + range: + "match" !== v.rangemode + ? v.range.slice() + : p.range.slice(), + calendar: p.calendar, + }), + p.rangebreaks && + (g.layout[d].rangebreaks = p.rangebreaks), + a.supplyDefaults(g); + var y = g._fullLayout.xaxis, + m = g._fullLayout[d]; + y.clearCalc(), + y.setScale(), + m.clearCalc(), + m.setScale(); + var x = { + id: t, + plotgroup: l, + xaxis: y, + yaxis: m, + isRangePlot: !0, + }; + c + ? (s = x) + : ((x.mainplot = "xy"), (x.mainplotinfo = s)), + f.rangePlot( + e, + x, + (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; + })(u, t), + ); + }); + } + function x(t, e, r, n, i) { + o + .ensureSingle( + t, + "rect", + v.maskMinClassName, + function (t) { + t.attr({ + x: 0, + y: 0, + "shape-rendering": "crispEdges", + }); + }, + ) + .attr("height", n._height) + .call(u.fill, v.maskColor), + o + .ensureSingle( + t, + "rect", + v.maskMaxClassName, + function (t) { + t.attr({ y: 0, "shape-rendering": "crispEdges" }); + }, + ) + .attr("height", n._height) + .call(u.fill, v.maskColor), + "match" !== i.rangemode && + (o + .ensureSingle( + t, + "rect", + v.maskMinOppAxisClassName, + function (t) { + t.attr({ y: 0, "shape-rendering": "crispEdges" }); + }, + ) + .attr("width", n._width) + .call(u.fill, v.maskOppAxisColor), + o + .ensureSingle( + t, + "rect", + v.maskMaxOppAxisClassName, + function (t) { + t.attr({ y: 0, "shape-rendering": "crispEdges" }); + }, + ) + .attr("width", n._width) + .style("border-top", v.maskOppBorder) + .call(u.fill, v.maskOppAxisColor)); + } + function b(t, e, r, n) { + e._context.staticPlot || + o + .ensureSingle( + t, + "rect", + v.slideBoxClassName, + function (t) { + t.attr({ + y: 0, + cursor: v.slideBoxCursor, + "shape-rendering": "crispEdges", + }); + }, + ) + .attr({ height: n._height, fill: v.slideBoxFill }); + } + function _(t, e, r, n) { + var i = o.ensureSingle(t, "g", v.grabberMinClassName), + a = o.ensureSingle(t, "g", v.grabberMaxClassName), + s = { + x: 0, + width: v.handleWidth, + rx: v.handleRadius, + fill: u.background, + stroke: u.defaultLine, + "stroke-width": v.handleStrokeWidth, + "shape-rendering": "crispEdges", + }, + l = { + y: Math.round(n._height / 4), + height: Math.round(n._height / 2), + }; + o + .ensureSingle( + i, + "rect", + v.handleMinClassName, + function (t) { + t.attr(s); + }, + ) + .attr(l), + o + .ensureSingle( + a, + "rect", + v.handleMaxClassName, + function (t) { + t.attr(s); + }, + ) + .attr(l); + var c = { + width: v.grabAreaWidth, + x: 0, + y: 0, + fill: v.grabAreaFill, + cursor: e._context.staticPlot ? void 0 : v.grabAreaCursor, + }; + o + .ensureSingle( + i, + "rect", + v.grabAreaMinClassName, + function (t) { + t.attr(c); + }, + ) + .attr("height", n._height), + o + .ensureSingle( + a, + "rect", + v.grabAreaMaxClassName, + function (t) { + t.attr(c); + }, + ) + .attr("height", n._height); + } + t.exports = function (t) { + for ( + var e = t._fullLayout, r = e._rangeSliderData, a = 0; + a < r.length; + a++ + ) { + var l = r[a][v.name]; + l._clipId = l._id + "-" + e._uid; + } + var u = e._infolayer + .selectAll("g." + v.containerClassName) + .data(r, function (t) { + return t._name; + }); + u + .exit() + .each(function (t) { + var r = t[v.name]; + e._topdefs.select("#" + r._clipId).remove(); + }) + .remove(), + 0 !== r.length && + (u + .enter() + .append("g") + .classed(v.containerClassName, !0) + .attr("pointer-events", "all"), + u.each(function (r) { + var a = n.select(this), + l = r[v.name], + u = e[h.id2name(r.anchor)], + f = l[h.id2name(r.anchor)]; + if (l.range) { + var w, + T = o.simpleMap(l.range, r.r2l), + k = o.simpleMap(r.range, r.r2l); + (w = + k[0] < k[1] + ? [Math.min(T[0], k[0]), Math.max(T[1], k[1])] + : [Math.max(T[0], k[0]), Math.min(T[1], k[1])]), + (l.range = l._input.range = + o.simpleMap(w, r.l2r)); + } + r.cleanRange("rangeslider.range"); + var A = e._size, + M = r.domain; + l._width = A.w * (M[1] - M[0]); + var S = Math.round(A.l + A.w * M[0]), + E = Math.round( + A.t + + A.h * (1 - r._counterDomainMin) + + ("bottom" === r.side ? r._depth : 0) + + l._offsetShift + + v.extraPad, + ); + a.attr("transform", s(S, E)), + (l._rl = o.simpleMap(l.range, r.r2l)); + var L = l._rl[0], + C = l._rl[1], + P = C - L; + if ( + ((l.p2d = function (t) { + return (t / l._width) * P + L; + }), + (l.d2p = function (t) { + return ((t - L) / P) * l._width; + }), + r.rangebreaks) + ) { + var O = r.locateBreaks(L, C); + if (O.length) { + var I, + D, + z = 0; + for (I = 0; I < O.length; I++) + z += (D = O[I]).max - D.min; + var R = l._width / (C - L - z), + F = [-R * L]; + for (I = 0; I < O.length; I++) + (D = O[I]), + F.push(F[F.length - 1] - R * (D.max - D.min)); + for ( + l.d2p = function (t) { + for (var e = F[0], r = 0; r < O.length; r++) { + var n = O[r]; + if (t >= n.max) e = F[r + 1]; + else if (t < n.min) break; + } + return e + R * t; + }, + I = 0; + I < O.length; + I++ + ) + ((D = O[I]).pmin = l.d2p(D.min)), + (D.pmax = l.d2p(D.max)); + l.p2d = function (t) { + for (var e = F[0], r = 0; r < O.length; r++) { + var n = O[r]; + if (t >= n.pmax) e = F[r + 1]; + else if (t < n.pmin) break; + } + return (t - e) / R; + }; + } + } + if ("match" !== f.rangemode) { + var B = u.r2l(f.range[0]), + N = u.r2l(f.range[1]) - B; + l.d2pOppAxis = function (t) { + return ((t - B) / N) * l._height; + }; + } + a + .call(g, t, r, l) + .call(y, t, r, l) + .call(m, t, r, l) + .call(x, t, r, l, f) + .call(b, t, r, l) + .call(_, t, r, l), + (function (t, e, r, a) { + if (!e._context.staticPlot) { + var s = t + .select("rect." + v.slideBoxClassName) + .node(), + l = t + .select("rect." + v.grabAreaMinClassName) + .node(), + u = t + .select("rect." + v.grabAreaMaxClassName) + .node(); + t.on("mousedown", c), t.on("touchstart", c); + } + function c() { + var c = n.event, + f = c.target, + h = c.clientX || c.touches[0].clientX, + v = h - t.node().getBoundingClientRect().left, + g = a.d2p(r._rl[0]), + y = a.d2p(r._rl[1]), + m = p.coverSlip(); + function x(t) { + var c, + p, + x, + b = + +(t.clientX || t.touches[0].clientX) - h; + switch (f) { + case s: + if ( + ((x = "ew-resize"), + g + b > r._length || y + b < 0) + ) + return; + (c = g + b), (p = y + b); + break; + case l: + if ( + ((x = "col-resize"), g + b > r._length) + ) + return; + (c = g + b), (p = y); + break; + case u: + if (((x = "col-resize"), y + b < 0)) + return; + (c = g), (p = y + b); + break; + default: + (x = "ew-resize"), (c = v), (p = v + b); + } + if (p < c) { + var _ = p; + (p = c), (c = _); + } + (a._pixelMin = c), + (a._pixelMax = p), + d(n.select(m), x), + (function (t, e, r, n) { + function a(t) { + return r.l2r( + o.constrain(t, n._rl[0], n._rl[1]), + ); + } + var s = a(n.p2d(n._pixelMin)), + l = a(n.p2d(n._pixelMax)); + window.requestAnimationFrame(function () { + i.call( + "_guiRelayout", + e, + r._name + ".range", + [s, l], + ); + }); + })(0, e, r, a); + } + function b() { + m.removeEventListener("mousemove", x), + m.removeEventListener("mouseup", b), + this.removeEventListener("touchmove", x), + this.removeEventListener("touchend", b), + o.removeElement(m); + } + this.addEventListener("touchmove", x), + this.addEventListener("touchend", b), + m.addEventListener("mousemove", x), + m.addEventListener("mouseup", b); + } + })(a, t, r, l), + (function (t, e, r, n, i, a) { + var l = v.handleWidth / 2; + function u(t) { + return o.constrain(t, 0, n._width); + } + function c(t) { + return o.constrain(t, 0, n._height); + } + function f(t) { + return o.constrain(t, -l, n._width + l); + } + var h = u(n.d2p(r._rl[0])), + p = u(n.d2p(r._rl[1])); + if ( + (t + .select("rect." + v.slideBoxClassName) + .attr("x", h) + .attr("width", p - h), + t + .select("rect." + v.maskMinClassName) + .attr("width", h), + t + .select("rect." + v.maskMaxClassName) + .attr("x", p) + .attr("width", n._width - p), + "match" !== a.rangemode) + ) { + var d = n._height - c(n.d2pOppAxis(i._rl[1])), + g = n._height - c(n.d2pOppAxis(i._rl[0])); + t + .select("rect." + v.maskMinOppAxisClassName) + .attr("x", h) + .attr("height", d) + .attr("width", p - h), + t + .select("rect." + v.maskMaxOppAxisClassName) + .attr("x", h) + .attr("y", g) + .attr("height", n._height - g) + .attr("width", p - h), + t + .select("rect." + v.slideBoxClassName) + .attr("y", d) + .attr("height", g - d); + } + var y = 0.5, + m = Math.round(f(h - l)) - y, + x = Math.round(f(p - l)) + y; + t + .select("g." + v.grabberMinClassName) + .attr("transform", s(m, y)), + t + .select("g." + v.grabberMaxClassName) + .attr("transform", s(x, y)); + })(a, 0, r, l, u, f), + "bottom" === r.side && + c.draw(t, r._id + "title", { + propContainer: r, + propName: r._name + ".title", + placeholder: e._dfltTitle.x, + attributes: { + x: r._offset + r._length / 2, + y: + E + + l._height + + l._offsetShift + + 10 + + 1.5 * r.title.font.size, + "text-anchor": "middle", + }, + }); + })); + }; + }, + 549: function (t, e, r) { + "use strict"; + var n = r(41675), + i = r(63893), + a = r(73251), + o = r(18783).LINE_SPACING, + s = a.name; + function l(t) { + var e = t && t[s]; + return e && e.visible; + } + (e.isVisible = l), + (e.makeData = function (t) { + var e = n.list({ _fullLayout: t }, "x", !0), + r = t.margin, + i = []; + if (!t._has("gl2d")) + for (var a = 0; a < e.length; a++) { + var o = e[a]; + if (l(o)) { + i.push(o); + var u = o[s]; + (u._id = s + o._id), + (u._height = + (t.height - r.b - r.t) * u.thickness), + (u._offsetShift = Math.floor(u.borderwidth / 2)); + } + } + t._rangeSliderData = i; + }), + (e.autoMarginOpts = function (t, e) { + var r = t._fullLayout, + n = e[s], + l = e._id.charAt(0), + u = 0, + c = 0; + return ( + "bottom" === e.side && + ((u = e._depth), + e.title.text !== r._dfltTitle[l] && + ((c = + 1.5 * e.title.font.size + 10 + n._offsetShift), + (c += + (e.title.text.match(i.BR_TAG_ALL) || []).length * + e.title.font.size * + o))), + { + x: 0, + y: e._counterDomainMin, + l: 0, + r: 0, + t: 0, + b: n._height + u + Math.max(r.margin.b, c), + pad: a.extraPad + 2 * n._offsetShift, + } + ); + }); + }, + 13137: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(75148), + a = r(47850), + o = r(549); + t.exports = { + moduleType: "component", + name: "rangeslider", + schema: { + subplots: { + xaxis: { + rangeslider: n.extendFlat({}, i, { yaxis: a }), + }, + }, + }, + layoutAttributes: r(75148), + handleDefaults: r(26377), + calcAutorange: r(88443), + draw: r(72413), + isVisible: o.isVisible, + makeData: o.makeData, + autoMarginOpts: o.autoMarginOpts, + }; + }, + 47850: function (t) { + "use strict"; + t.exports = { + _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", + }; + }, + 8389: function (t, e, r) { + "use strict"; + var n = r(50215), + i = r(82196).line, + a = r(79952).P, + o = r(1426).extendFlat, + s = r(30962).overrideAll, + l = r(44467).templatedArray; + r(24695), + (t.exports = s( + l("selection", { + type: { + valType: "enumerated", + values: ["rect", "path"], + }, + xref: o({}, n.xref, {}), + yref: o({}, n.yref, {}), + x0: { valType: "any" }, + x1: { valType: "any" }, + y0: { valType: "any" }, + y1: { valType: "any" }, + path: { valType: "string", editType: "arraydraw" }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: 0.7, + editType: "arraydraw", + }, + line: { + color: i.color, + width: o({}, i.width, { min: 1, dflt: 1 }), + dash: o({}, a, { dflt: "dot" }), + }, + }), + "arraydraw", + "from-root", + )); + }, + 34122: function (t) { + "use strict"; + t.exports = { + BENDPX: 1.5, + MINSELECT: 12, + SELECTDELAY: 100, + SELECTID: "-select", + }; + }, + 59402: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(85501), + o = r(8389), + s = r(30477); + function l(t, e, r) { + function a(r, i) { + return n.coerce(t, e, o, r, i); + } + var l = a("path"), + u = "path" !== a("type", l ? "path" : "rect"); + u && delete e.path, + a("opacity"), + a("line.color"), + a("line.width"), + a("line.dash"); + for (var c = ["x", "y"], f = 0; f < 2; f++) { + var h, + p, + d, + v = c[f], + g = { _fullLayout: r }, + y = i.coerceRef(t, e, g, v); + if ( + ((h = i.getFromId(g, y))._selectionIndices.push( + e._index, + ), + (d = s.rangeToShapePosition(h)), + (p = s.shapePositionToRange(h)), + u) + ) { + var m = v + "0", + x = v + "1", + b = t[m], + _ = t[x]; + (t[m] = p(t[m], !0)), + (t[x] = p(t[x], !0)), + i.coercePosition(e, g, a, y, m), + i.coercePosition(e, g, a, y, x); + var w = e[m], + T = e[x]; + void 0 !== w && + void 0 !== T && + ((e[m] = d(w)), + (e[x] = d(T)), + (t[m] = b), + (t[x] = _)); + } + } + u && n.noneOrAll(t, e, ["x0", "x1", "y0", "y1"]); + } + t.exports = function (t, e) { + a(t, e, { name: "selections", handleItemDefaults: l }); + for (var r = e.selections, n = 0; n < r.length; n++) { + var i = r[n]; + i && + void 0 === i.path && + ((void 0 !== i.x0 && + void 0 !== i.x1 && + void 0 !== i.y0 && + void 0 !== i.y1) || + (e.selections[n] = null)); + } + }; + }, + 32485: function (t, e, r) { + "use strict"; + var n = r(60165).readPaths, + i = r(42359), + a = r(51873).clearOutlineControllers, + o = r(7901), + s = r(91424), + l = r(44467).arrayEditor, + u = r(30477), + c = u.getPathString; + function f(t) { + var e = t._fullLayout; + for (var r in (a(t), + e._selectionLayer.selectAll("path").remove(), + e._plots)) { + var n = e._plots[r].selectionLayer; + n && n.selectAll("path").remove(); + } + for (var i = 0; i < e.selections.length; i++) p(t, i); + } + function h(t) { + return t._context.editSelection; + } + function p(t, e) { + t._fullLayout._paperdiv + .selectAll('.selectionlayer [data-index="' + e + '"]') + .remove(); + var r = u.makeSelectionsOptionsAndPlotinfo(t, e), + a = r.options, + p = r.plotinfo; + a._input && + (function (r) { + var u = c(t, a), + g = { "data-index": e, "fill-rule": "evenodd", d: u }, + y = a.opacity, + m = "rgba(0,0,0,0)", + x = + a.line.color || + o.contrast(t._fullLayout.plot_bgcolor), + b = a.line.width, + _ = a.line.dash; + b || ((b = 5), (_ = "solid")); + var w = + h(t) && t._fullLayout._activeSelectionIndex === e; + w && + ((m = t._fullLayout.activeselection.fillcolor), + (y = t._fullLayout.activeselection.opacity)); + for (var T = [], k = 1; k >= 0; k--) { + var A = r + .append("path") + .attr(g) + .style("opacity", k ? 0.1 : y) + .call(o.stroke, x) + .call(o.fill, m) + .call(s.dashLine, k ? "solid" : _, k ? 4 + b : b); + if ((d(A, t, a), w)) { + var M = l(t.layout, "selections", a); + A.style({ cursor: "move" }); + var S = { + element: A.node(), + plotinfo: p, + gd: t, + editHelpers: M, + isActiveSelection: !0, + }, + E = n(u, t); + i(E, A, S); + } else A.style("pointer-events", k ? "all" : "none"); + T[k] = A; + } + var L = T[0]; + T[1].node().addEventListener("click", function () { + return (function (t, e) { + if (h(t)) { + var r = +e.node().getAttribute("data-index"); + if (r >= 0) { + if (r === t._fullLayout._activeSelectionIndex) + return void v(t); + (t._fullLayout._activeSelectionIndex = r), + (t._fullLayout._deactivateSelection = v), + f(t); + } + } + })(t, L); + }); + })(t._fullLayout._selectionLayer); + } + function d(t, e, r) { + var n = r.xref + r.yref; + s.setClipUrl(t, "clip" + e._fullLayout._uid + n, e); + } + function v(t) { + h(t) && + t._fullLayout._activeSelectionIndex >= 0 && + (a(t), delete t._fullLayout._activeSelectionIndex, f(t)); + } + t.exports = { + draw: f, + drawOne: p, + activateLastSelection: function (t) { + if (h(t)) { + var e = t._fullLayout.selections.length - 1; + (t._fullLayout._activeSelectionIndex = e), + (t._fullLayout._deactivateSelection = v), + f(t); + } + }, + }; + }, + 53777: function (t, e, r) { + "use strict"; + var n = r(79952).P, + i = r(1426).extendFlat; + t.exports = { + newselection: { + mode: { + valType: "enumerated", + values: ["immediate", "gradual"], + dflt: "immediate", + editType: "none", + }, + line: { + color: { valType: "color", editType: "none" }, + width: { + valType: "number", + min: 1, + dflt: 1, + editType: "none", + }, + dash: i({}, n, { dflt: "dot", editType: "none" }), + editType: "none", + }, + editType: "none", + }, + activeselection: { + fillcolor: { + valType: "color", + dflt: "rgba(0,0,0,0)", + editType: "none", + }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: 0.5, + editType: "none", + }, + editType: "none", + }, + }; + }, + 90849: function (t) { + "use strict"; + t.exports = function (t, e, r) { + r("newselection.mode"), + r("newselection.line.width") && + (r("newselection.line.color"), + r("newselection.line.dash")), + r("activeselection.fillcolor"), + r("activeselection.opacity"); + }; + }, + 35855: function (t, e, r) { + "use strict"; + var n = r(64505).selectMode, + i = r(51873).clearOutline, + a = r(60165), + o = a.readPaths, + s = a.writePaths, + l = a.fixDatesForPaths; + t.exports = function (t, e) { + if (t.length) { + var r = t[0][0]; + if (r) { + var a = r.getAttribute("d"), + u = e.gd, + c = u._fullLayout.newselection, + f = e.plotinfo, + h = f.xaxis, + p = f.yaxis, + d = e.isActiveSelection, + v = e.dragmode, + g = (u.layout || {}).selections || []; + if (!n(v) && void 0 !== d) { + var y = u._fullLayout._activeSelectionIndex; + if (y < g.length) + switch (u._fullLayout.selections[y].type) { + case "rect": + v = "select"; + break; + case "path": + v = "lasso"; + } + } + var m, + x = o(a, u, f, d), + b = { + xref: h._id, + yref: p._id, + opacity: c.opacity, + line: { + color: c.line.color, + width: c.line.width, + dash: c.line.dash, + }, + }; + 1 === x.length && (m = x[0]), + m && 5 === m.length && "select" === v + ? ((b.type = "rect"), + (b.x0 = m[0][1]), + (b.y0 = m[0][2]), + (b.x1 = m[2][1]), + (b.y1 = m[2][2])) + : ((b.type = "path"), + h && p && l(x, h, p), + (b.path = s(x)), + (m = null)), + i(u); + for ( + var _ = e.editHelpers, + w = (_ || {}).modifyItem, + T = [], + k = 0; + k < g.length; + k++ + ) { + var A = u._fullLayout.selections[k]; + if (A) { + if ( + ((T[k] = A._input), + void 0 !== d && + k === u._fullLayout._activeSelectionIndex) + ) { + var M = b; + switch (A.type) { + case "rect": + w("x0", M.x0), + w("x1", M.x1), + w("y0", M.y0), + w("y1", M.y1); + break; + case "path": + w("path", M.path); + } + } + } else T[k] = A; + } + return void 0 === d + ? (T.push(b), T) + : _ + ? _.getUpdateObj() + : {}; + } + } + }; + }, + 75549: function (t, e, r) { + "use strict"; + var n = r(71828).strTranslate; + function i(t, e) { + switch (t.type) { + case "log": + return t.p2d(e); + case "date": + return t.p2r(e, 0, t.calendar); + default: + return t.p2r(e); + } + } + t.exports = { + p2r: i, + r2p: function (t, e) { + switch (t.type) { + case "log": + return t.d2p(e); + case "date": + return t.r2p(e, 0, t.calendar); + default: + return t.r2p(e); + } + }, + axValue: function (t) { + var e = "y" === t._id.charAt(0) ? 1 : 0; + return function (r) { + return i(t, r[e]); + }; + }, + getTransform: function (t) { + return n(t.xaxis._offset, t.yaxis._offset); + }, + }; + }, + 47322: function (t, e, r) { + "use strict"; + var n = r(32485), + i = r(3937); + t.exports = { + moduleType: "component", + name: "selections", + layoutAttributes: r(8389), + supplyLayoutDefaults: r(59402), + supplyDrawNewSelectionDefaults: r(90849), + includeBasePlot: r(76325)("selections"), + draw: n.draw, + drawOne: n.drawOne, + reselect: i.reselect, + prepSelect: i.prepSelect, + clearOutline: i.clearOutline, + clearSelectionsCache: i.clearSelectionsCache, + selectOnClick: i.selectOnClick, + }; + }, + 3937: function (t, e, r) { + "use strict"; + var n = r(52142), + i = r(38258), + a = r(73972), + o = r(91424).dashStyle, + s = r(7901), + l = r(30211), + u = r(23469).makeEventData, + c = r(64505), + f = c.freeMode, + h = c.rectMode, + p = c.drawMode, + d = c.openMode, + v = c.selectMode, + g = r(30477), + y = r(21459), + m = r(42359), + x = r(51873).clearOutline, + b = r(60165), + _ = b.handleEllipse, + w = b.readPaths, + T = r(90551).newShapes, + k = r(35855), + A = r(32485).activateLastSelection, + M = r(71828), + S = M.sorterAsc, + E = r(61082), + L = r(79990), + C = r(41675).getFromId, + P = r(33306), + O = r(61549).redrawReglTraces, + I = r(34122), + D = I.MINSELECT, + z = E.filter, + R = E.tester, + F = r(75549), + B = F.p2r, + N = F.axValue, + j = F.getTransform; + function U(t) { + return void 0 !== t.subplot; + } + function V(t, e, r, n, i, a, o) { + var s, + l, + u, + c, + f, + h, + p, + v, + g, + y = e._hoverdata, + x = e._fullLayout.clickmode.indexOf("event") > -1, + b = []; + if ( + (function (t) { + return t && Array.isArray(t) && !0 !== t[0].hoverOnBox; + })(y) + ) { + Z(t, e, a); + var _ = (function (t, e) { + var r, + n, + i = t[0], + a = -1, + o = []; + for (n = 0; n < e.length; n++) + if ( + ((r = e[n]), + i.fullData._expandedIndex === + r.cd[0].trace._expandedIndex) + ) { + if (!0 === i.hoverOnBox) break; + void 0 !== i.pointNumber + ? (a = i.pointNumber) + : void 0 !== i.binNumber && + ((a = i.binNumber), (o = i.pointNumbers)); + break; + } + return { + pointNumber: a, + pointNumbers: o, + searchInfo: r, + }; + })(y, (s = X(e, r, n, i))); + if ( + _.pointNumbers.length > 0 + ? (function (t, e) { + var r, + n, + i, + a = []; + for (i = 0; i < t.length; i++) + (r = t[i]).cd[0].trace.selectedpoints && + r.cd[0].trace.selectedpoints.length > 0 && + a.push(r); + if ( + 1 === a.length && + a[0] === e.searchInfo && + (n = e.searchInfo.cd[0].trace).selectedpoints + .length === e.pointNumbers.length + ) { + for (i = 0; i < e.pointNumbers.length; i++) + if ( + n.selectedpoints.indexOf( + e.pointNumbers[i], + ) < 0 + ) + return !1; + return !0; + } + return !1; + })(s, _) + : (function (t) { + var e, + r, + n = 0; + for (r = 0; r < t.length; r++) + if ((e = t[r].cd[0].trace).selectedpoints) { + if (e.selectedpoints.length > 1) return !1; + if ((n += e.selectedpoints.length) > 1) + return !1; + } + return 1 === n; + })(s) && (h = K(_)) + ) { + for (o && o.remove(), g = 0; g < s.length; g++) + (l = s[g])._module.selectPoints(l, !1); + $(e, s), Y(a), x && ht(e); + } else { + for ( + p = t.shiftKey && (void 0 !== h ? h : K(_)), + u = (function (t, e, r) { + return { + pointNumber: t, + searchInfo: e, + subtract: !!r, + }; + })(_.pointNumber, _.searchInfo, p), + c = G(a.selectionDefs.concat([u])), + g = 0; + g < s.length; + g++ + ) + if ( + ((f = tt(s[g]._module.selectPoints(s[g], c), s[g])), + b.length) + ) + for (var w = 0; w < f.length; w++) b.push(f[w]); + else b = f; + if ( + ($(e, s, (v = { points: b })), + u && a && a.selectionDefs.push(u), + o) + ) { + var T = a.mergedPolygons, + k = d(a.dragmode); + m(et(T, k), o, a); + } + x && ft(e, v); + } + } + } + function H(t) { + return "pointNumber" in t && "searchInfo" in t; + } + function q(t) { + return { + xmin: 0, + xmax: 0, + ymin: 0, + ymax: 0, + pts: [], + contains: function (e, r, n, i) { + var a = t.searchInfo.cd[0].trace._expandedIndex; + return ( + i.cd[0].trace._expandedIndex === a && + n === t.pointNumber + ); + }, + isRect: !1, + degenerate: !1, + subtract: !!t.subtract, + }; + } + function G(t) { + if (t.length) { + for ( + var e = [], + r = H(t[0]) ? 0 : t[0][0][0], + n = r, + i = H(t[0]) ? 0 : t[0][0][1], + a = i, + o = 0; + o < t.length; + o++ + ) + if (H(t[o])) e.push(q(t[o])); + else { + var s = R(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, n, i) { + for (var a = !1, o = 0; o < e.length; o++) + e[o].contains(t, r, n, i) && (a = !e[o].subtract); + return a; + }, + isRect: !1, + degenerate: !1, + }; + } + } + function Z(t, e, r) { + var n = e._fullLayout, + i = r.plotinfo, + a = r.dragmode, + o = + n._lastSelectedSubplot && + n._lastSelectedSubplot === i.id, + s = (t.shiftKey || t.altKey) && !(p(a) && d(a)); + o && + s && + i.selection && + i.selection.selectionDefs && + !r.selectionDefs + ? ((r.selectionDefs = i.selection.selectionDefs), + (r.mergedPolygons = i.selection.mergedPolygons)) + : (s && i.selection) || Y(r), + o || (x(e), (n._lastSelectedSubplot = i.id)); + } + function Y(t, e) { + var r = t.dragmode, + n = t.plotinfo, + i = t.gd; + (function (t) { + return t._fullLayout._activeShapeIndex >= 0; + })(i) && i._fullLayout._deactivateShape(i), + (function (t) { + return t._fullLayout._activeSelectionIndex >= 0; + })(i) && i._fullLayout._deactivateSelection(i); + var o = i._fullLayout._zoomlayer, + s = p(r), + l = v(r); + if (s || l) { + var u, + c, + f = o.selectAll(".select-outline-" + n.id); + f && + i._fullLayout._outlining && + (s && (u = T(f, t)), + u && a.call("_guiRelayout", i, { shapes: u }), + l && !U(t) && (c = k(f, t)), + c && + ((i._fullLayout._noEmitSelectedAtStart = !0), + a + .call("_guiRelayout", i, { selections: c }) + .then(function () { + e && A(i); + })), + (i._fullLayout._outlining = !1)); + } + (n.selection = {}), + (n.selection.selectionDefs = t.selectionDefs = []), + (n.selection.mergedPolygons = t.mergedPolygons = []); + } + function W(t) { + return t._id; + } + function X(t, e, r, n) { + if (!t.calcdata) return []; + var i, + a, + o, + s = [], + l = e.map(W), + u = r.map(W); + for (o = 0; o < t.calcdata.length; o++) + if ( + !0 === (a = (i = t.calcdata[o])[0].trace).visible && + a._module && + a._module.selectPoints + ) + if ( + !U({ subplot: n }) || + (a.subplot !== n && a.geo !== n) + ) + if ("splom" === a.type) { + if (a._xaxes[l[0]] && a._yaxes[u[0]]) { + var c = J(a._module, i, e[0], r[0]); + (c.scene = t._fullLayout._splomScenes[a.uid]), + s.push(c); + } + } else if ("sankey" === a.type) { + var f = J(a._module, i, e[0], r[0]); + s.push(f); + } else { + if (-1 === l.indexOf(a.xaxis)) continue; + if (-1 === u.indexOf(a.yaxis)) continue; + s.push( + J(a._module, i, C(t, a.xaxis), C(t, a.yaxis)), + ); + } + else s.push(J(a._module, i, e[0], r[0])); + return s; + } + function J(t, e, r, n) { + return { _module: t, cd: e, xaxis: r, yaxis: n }; + } + function K(t) { + var e = t.searchInfo.cd[0].trace, + r = t.pointNumber, + n = t.pointNumbers, + i = n.length > 0 ? n[0] : r; + return ( + !!e.selectedpoints && e.selectedpoints.indexOf(i) > -1 + ); + } + function $(t, e, r) { + var n, i; + for (n = 0; n < e.length; n++) { + var o = e[n].cd[0].trace._fullInput, + s = t._fullLayout._tracePreGUI[o.uid] || {}; + void 0 === s.selectedpoints && + (s.selectedpoints = o._input.selectedpoints || null); + } + if (r) { + var l = r.points || []; + for (n = 0; n < e.length; n++) + ((i = e[n].cd[0].trace)._input.selectedpoints = + i._fullInput.selectedpoints = + []), + i._fullInput !== i && (i.selectedpoints = []); + for (var u = 0; u < l.length; u++) { + var c = l[u], + f = c.data, + h = c.fullData, + p = c.pointIndex, + d = c.pointIndices; + d + ? ([].push.apply(f.selectedpoints, d), + i._fullInput !== i && + [].push.apply(h.selectedpoints, d)) + : (f.selectedpoints.push(p), + i._fullInput !== i && h.selectedpoints.push(p)); + } + } else + for (n = 0; n < e.length; n++) + delete (i = e[n].cd[0].trace).selectedpoints, + delete i._input.selectedpoints, + i._fullInput !== i && + delete i._fullInput.selectedpoints; + !(function (t, e) { + for (var r = !1, n = 0; n < e.length; n++) { + var i = e[n], + o = i.cd; + a.traceIs(o[0].trace, "regl") && (r = !0); + var s = i._module, + l = s.styleOnSelect || s.style; + l && + (l(t, o, o[0].node3), + o[0].nodeRangePlot3 && l(t, o, o[0].nodeRangePlot3)); + } + r && (P(t), O(t)); + })(t, e); + } + function Q(t, e, r) { + for ( + var i = (r ? n.difference : n.union)( + { regions: t }, + { regions: [e] }, + ).regions.reverse(), + a = 0; + a < i.length; + a++ + ) { + var o = i[a]; + o.subtract = st(o, i.slice(0, a)); + } + return i; + } + function tt(t, e) { + if (Array.isArray(t)) + for ( + var r = e.cd, n = e.cd[0].trace, i = 0; + i < t.length; + i++ + ) + t[i] = u(t[i], n, r); + return t; + } + function et(t, e) { + for (var r = [], n = 0; n < t.length; n++) { + r[n] = []; + for (var i = 0; i < t[n].length; i++) { + (r[n][i] = []), (r[n][i][0] = i ? "L" : "M"); + for (var a = 0; a < t[n][i].length; a++) + r[n][i].push(t[n][i][a]); + } + e || r[n].push(["Z", r[n][0][1], r[n][0][2]]); + } + return r; + } + function rt(t, e) { + for (var r, n, i = [], a = [], o = 0; o < e.length; o++) { + var s = e[o]; + (n = s._module.selectPoints(s, t)), + a.push(n), + (r = tt(n, s)), + (i = i.concat(r)); + } + return i; + } + function nt(t, e, r, n, i) { + var a, + o, + s, + l = !!n; + i && + ((a = i.plotinfo), + (o = i.xaxes[0]._id), + (s = i.yaxes[0]._id)); + var u = [], + c = [], + f = ot(t), + h = t._fullLayout; + if (a) { + var d = h._zoomlayer, + g = h.dragmode, + y = p(g), + m = v(g); + if (y || m) { + var x = C(t, o, "x"), + b = C(t, s, "y"); + if (x && b) { + var _ = d.selectAll(".select-outline-" + a.id); + if (_ && t._fullLayout._outlining && _.length) { + for ( + var T = _[0][0].getAttribute("d"), + k = w(T, t, a), + A = [], + M = 0; + M < k.length; + M++ + ) { + for ( + var S = k[M], E = [], L = 0; + L < S.length; + L++ + ) + E.push([lt(x, S[L][1]), lt(b, S[L][2])]); + (E.xref = o), + (E.yref = s), + (E.subtract = st(E, A)), + A.push(E); + } + f = f.concat(A); + } + } + } + } + var P = o && s ? [o + s] : h._subplots.cartesian; + !(function (t) { + var e = t.calcdata; + if (e) + for (var r = 0; r < e.length; r++) { + var n = e[r][0].trace, + i = t._fullLayout._splomScenes; + if (i) { + var a = i[n.uid]; + a && (a.selectBatch = []); + } + } + })(t); + for (var O = {}, I = 0; I < P.length; I++) { + var D = P[I], + z = D.indexOf("y"), + R = D.slice(0, z), + F = D.slice(z), + B = o && s ? r : void 0; + if ((B = at(f, R, F, B))) { + var N = n; + if (!l) { + var j = C(t, R, "x"), + U = C(t, F, "y"); + N = X(t, [j], [U], D); + for (var V = 0; V < N.length; V++) { + var H = N[V], + q = H.cd[0], + G = q.trace; + if ("scattergl" === H._module.name && !q.t.xpx) { + var Z = G.x, + Y = G.y, + W = G._length; + (q.t.xpx = []), (q.t.ypx = []); + for (var J = 0; J < W; J++) + (q.t.xpx[J] = j.c2p(Z[J])), + (q.t.ypx[J] = U.c2p(Y[J])); + } + "splom" === H._module.name && + (O[G.uid] || (O[G.uid] = !0)); + } + } + var K = rt(B, N); + (u = u.concat(K)), (c = c.concat(N)); + } + } + var Q = { points: u }; + $(t, c, Q); + var tt = h.clickmode.indexOf("event") > -1 && e; + if (!a && e) { + var et = ot(t, !0); + if (et.length) { + var nt = et[0].xref, + pt = et[0].yref; + if (nt && pt) { + var dt = ut(et); + ct([C(t, nt, "x"), C(t, pt, "y")])(Q, dt); + } + } + t._fullLayout._noEmitSelectedAtStart + ? (t._fullLayout._noEmitSelectedAtStart = !1) + : tt && ft(t, Q), + (h._reselect = !1); + } + if (!a && h._deselect) { + var vt = h._deselect; + (function (t, e, r) { + for (var n = 0; n < r.length; n++) { + var i = r[n]; + if ( + i.xaxis && + i.xaxis._id === t && + i.yaxis && + i.yaxis._id === e + ) + return !0; + } + return !1; + })((o = vt.xref), (s = vt.yref), c) || it(t, o, s, n), + tt && (Q.points.length ? ft(t, Q) : ht(t)), + (h._deselect = !1); + } + return { eventData: Q, selectionTesters: r }; + } + function it(t, e, r, n) { + n = X(t, [C(t, e, "x")], [C(t, r, "y")], e + r); + for (var i = 0; i < n.length; i++) { + var a = n[i]; + a._module.selectPoints(a, !1); + } + $(t, n); + } + function at(t, e, r, n) { + for (var i, a = 0; a < t.length; a++) { + var o = t[a]; + e === o.xref && + r === o.yref && + (i + ? (n = G((i = Q(i, o, !!o.subtract)))) + : ((i = [o]), (n = R(o)))); + } + return n; + } + function ot(t, e) { + for ( + var r = [], + n = t._fullLayout, + i = n.selections, + a = i.length, + o = 0; + o < a; + o++ + ) + if (!e || o === n._activeSelectionIndex) { + var s = i[o]; + if (s) { + var l, + u, + c, + f, + h, + p = s.xref, + d = s.yref, + v = C(t, p, "x"), + m = C(t, d, "y"); + if ("rect" === s.type) { + h = []; + var x = lt(v, s.x0), + b = lt(v, s.x1), + _ = lt(m, s.y0), + w = lt(m, s.y1); + (h = [ + [x, _], + [x, w], + [b, w], + [b, _], + ]), + (l = Math.min(x, b)), + (u = Math.max(x, b)), + (c = Math.min(_, w)), + (f = Math.max(_, w)), + (h.xmin = l), + (h.xmax = u), + (h.ymin = c), + (h.ymax = f), + (h.xref = p), + (h.yref = d), + (h.subtract = !1), + (h.isRect = !0), + r.push(h); + } else if ("path" === s.type) + for ( + var T = s.path.split("Z"), k = [], A = 0; + A < T.length; + A++ + ) { + var M = T[A]; + if (M) { + M += "Z"; + var S = g.extractPathCoords( + M, + y.paramIsX, + "raw", + ), + E = g.extractPathCoords(M, y.paramIsY, "raw"); + (l = 1 / 0), + (u = -1 / 0), + (c = 1 / 0), + (f = -1 / 0), + (h = []); + for (var L = 0; L < S.length; L++) { + var P = lt(v, S[L]), + O = lt(m, E[L]); + h.push([P, O]), + (l = Math.min(P, l)), + (u = Math.max(P, u)), + (c = Math.min(O, c)), + (f = Math.max(O, f)); + } + (h.xmin = l), + (h.xmax = u), + (h.ymin = c), + (h.ymax = f), + (h.xref = p), + (h.yref = d), + (h.subtract = st(h, k)), + k.push(h), + r.push(h); + } + } + } + } + return r; + } + function st(t, e) { + for (var r = !1, n = 0; n < e.length; n++) + for (var a = e[n], o = 0; o < t.length; o++) + if (i(t[o], a)) { + r = !r; + break; + } + return r; + } + function lt(t, e) { + return ( + "date" === t.type && (e = e.replace("_", " ")), + "log" === t.type ? t.c2p(e) : t.r2p(e, null, t.calendar) + ); + } + function ut(t) { + for (var e = t.length, r = [], n = 0; n < e; n++) { + var i = t[n]; + r = (r = r.concat(i)).concat([i[0]]); + } + return ( + ((a = r).isRect = + (5 === a.length && + a[0][0] === a[4][0] && + a[0][1] === a[4][1] && + a[0][0] === a[1][0] && + a[2][0] === a[3][0] && + a[0][1] === a[3][1] && + a[1][1] === a[2][1]) || + (a[0][1] === a[1][1] && + a[2][1] === a[3][1] && + a[0][0] === a[3][0] && + a[1][0] === a[2][0])), + a.isRect && + ((a.xmin = Math.min(a[0][0], a[2][0])), + (a.xmax = Math.max(a[0][0], a[2][0])), + (a.ymin = Math.min(a[0][1], a[2][1])), + (a.ymax = Math.max(a[0][1], a[2][1]))), + a + ); + var a; + } + function ct(t) { + return function (e, r) { + for (var n, i, a = 0; a < t.length; a++) { + var o = t[a], + s = o._id, + l = s.charAt(0); + if (r.isRect) { + n || (n = {}); + var u = r[l + "min"], + c = r[l + "max"]; + void 0 !== u && + void 0 !== c && + (n[s] = [B(o, u), B(o, c)].sort(S)); + } else i || (i = {}), (i[s] = r.map(N(o))); + } + n && (e.range = n), i && (e.lassoPoints = i); + }; + } + function ft(t, e) { + e && (e.selections = (t.layout || {}).selections || []), + t.emit("plotly_selected", e); + } + function ht(t) { + t.emit("plotly_deselect", null); + } + t.exports = { + reselect: nt, + prepSelect: function (t, e, r, n, i) { + var u = !U(n), + c = f(i), + g = h(i), + y = d(i), + x = p(i), + b = v(i), + w = "drawcircle" === i, + T = "drawline" === i || w, + k = n.gd, + A = k._fullLayout, + S = b && "immediate" === A.newselection.mode && u, + E = A._zoomlayer, + C = n.element.getBoundingClientRect(), + P = n.plotinfo, + O = j(P), + F = e - C.left, + B = r - C.top; + A._calcInverseTransform(k); + var N = M.apply3DTransform(A._invTransform)(F, B); + (F = N[0]), (B = N[1]); + var H, + q, + W, + J, + K, + tt, + at, + ot = A._invScaleX, + st = A._invScaleY, + lt = F, + pt = B, + dt = "M" + F + "," + B, + vt = n.xaxes[0], + gt = n.yaxes[0], + yt = vt._length, + mt = gt._length, + xt = t.altKey && !(p(i) && y); + Z(t, k, n), c && (H = z([[F, B]], I.BENDPX)); + var bt = E.selectAll("path.select-outline-" + P.id).data([ + 1, + ]), + _t = x ? A.newshape : A.newselection; + x && (n.hasText = _t.label.text || _t.label.texttemplate); + var wt = x && !y ? _t.fillcolor : "rgba(0,0,0,0)", + Tt = + _t.line.color || + (u + ? s.contrast(k._fullLayout.plot_bgcolor) + : "#7f7f7f"); + bt.enter() + .append("path") + .attr("class", "select-outline select-outline-" + P.id) + .style({ + opacity: x ? _t.opacity / 2 : 1, + "stroke-dasharray": o(_t.line.dash, _t.line.width), + "stroke-width": _t.line.width + "px", + "shape-rendering": "crispEdges", + }) + .call(s.stroke, Tt) + .call(s.fill, wt) + .attr("fill-rule", "evenodd") + .classed("cursor-move", !!x) + .attr("transform", O) + .attr("d", dt + "Z"); + var kt = E.append("path") + .attr("class", "zoombox-corners") + .style({ + fill: s.background, + stroke: s.defaultLine, + "stroke-width": 1, + }) + .attr("transform", O) + .attr("d", "M0,0Z"); + if (x && n.hasText) { + var At = E.select(".label-temp"); + At.empty() && + (At = E.append("g") + .classed("label-temp", !0) + .classed("select-outline", !0) + .style({ opacity: 0.8 })); + } + var Mt = A._uid + I.SELECTID, + St = [], + Et = X(k, n.xaxes, n.yaxes, n.subplot); + S && + !t.shiftKey && + (n._clearSubplotSelections = function () { + if (u) { + var t = vt._id, + e = gt._id; + it(k, t, e, Et); + for ( + var r = (k.layout || {}).selections || [], + n = [], + i = !1, + o = 0; + o < r.length; + o++ + ) { + var s = A.selections[o]; + s.xref !== t || s.yref !== e + ? n.push(r[o]) + : (i = !0); + } + i && + ((k._fullLayout._noEmitSelectedAtStart = !0), + a.call("_guiRelayout", k, { selections: n })); + } + }); + var Lt = (function (t) { + return ( + t.plotinfo.fillRangeItems || + ct(t.xaxes.concat(t.yaxes)) + ); + })(n); + (n.moveFn = function (t, e) { + n._clearSubplotSelections && + (n._clearSubplotSelections(), + (n._clearSubplotSelections = void 0)), + (lt = Math.max(0, Math.min(yt, ot * t + F))), + (pt = Math.max(0, Math.min(mt, st * e + B))); + var r = Math.abs(lt - F), + i = Math.abs(pt - B); + if (g) { + var a, o, s; + if (b) { + var l = A.selectdirection; + switch ( + (a = + "any" === l + ? i < Math.min(0.6 * r, D) + ? "h" + : r < Math.min(0.6 * i, D) + ? "v" + : "d" + : l) + ) { + case "h": + (o = w ? mt / 2 : 0), (s = mt); + break; + case "v": + (o = w ? yt / 2 : 0), (s = yt); + } + } + if (x) + switch (A.newshape.drawdirection) { + case "vertical": + (a = "h"), (o = w ? mt / 2 : 0), (s = mt); + break; + case "horizontal": + (a = "v"), (o = w ? yt / 2 : 0), (s = yt); + break; + case "ortho": + r < i + ? ((a = "h"), (o = B), (s = pt)) + : ((a = "v"), (o = F), (s = lt)); + break; + default: + a = "d"; + } + "h" === a + ? (((J = T + ? _(w, [lt, o], [lt, s]) + : [ + [F, o], + [F, s], + [lt, s], + [lt, o], + ]).xmin = T ? lt : Math.min(F, lt)), + (J.xmax = T ? lt : Math.max(F, lt)), + (J.ymin = Math.min(o, s)), + (J.ymax = Math.max(o, s)), + kt.attr( + "d", + "M" + + J.xmin + + "," + + (B - D) + + "h-4v" + + 2 * D + + "h4ZM" + + (J.xmax - 1) + + "," + + (B - D) + + "h4v" + + 2 * D + + "h-4Z", + )) + : "v" === a + ? (((J = T + ? _(w, [o, pt], [s, pt]) + : [ + [o, B], + [o, pt], + [s, pt], + [s, B], + ]).xmin = Math.min(o, s)), + (J.xmax = Math.max(o, s)), + (J.ymin = T ? pt : Math.min(B, pt)), + (J.ymax = T ? pt : Math.max(B, pt)), + kt.attr( + "d", + "M" + + (F - D) + + "," + + J.ymin + + "v-4h" + + 2 * D + + "v4ZM" + + (F - D) + + "," + + (J.ymax - 1) + + "v4h" + + 2 * D + + "v-4Z", + )) + : "d" === a && + (((J = T + ? _(w, [F, B], [lt, pt]) + : [ + [F, B], + [F, pt], + [lt, pt], + [lt, B], + ]).xmin = Math.min(F, lt)), + (J.xmax = Math.max(F, lt)), + (J.ymin = Math.min(B, pt)), + (J.ymax = Math.max(B, pt)), + kt.attr("d", "M0,0Z")); + } else c && (H.addPt([lt, pt]), (J = H.filtered)); + if ( + (n.selectionDefs && n.selectionDefs.length + ? ((W = Q(n.mergedPolygons, J, xt)), + (J.subtract = xt), + (q = G(n.selectionDefs.concat([J])))) + : ((W = [J]), (q = R(J))), + m(et(W, y), bt, n), + b) + ) { + var u, + f = nt(k, !1), + h = f.eventData ? f.eventData.points.slice() : []; + (f = nt(k, !1, q, Et, n)), + (q = f.selectionTesters), + (at = f.eventData), + (u = H ? H.filtered : ut(W)), + L.throttle(Mt, I.SELECTDELAY, function () { + for ( + var t = (St = rt(q, Et)).slice(), e = 0; + e < h.length; + e++ + ) { + for ( + var r = h[e], n = !1, i = 0; + i < t.length; + i++ + ) + if ( + t[i].curveNumber === r.curveNumber && + t[i].pointNumber === r.pointNumber + ) { + n = !0; + break; + } + n || t.push(r); + } + t.length && (at || (at = {}), (at.points = t)), + Lt(at, u), + (function (t, e) { + t.emit("plotly_selecting", e); + })(k, at); + }); + } + }), + (n.clickFn = function (t, e) { + if ( + (kt.remove(), k._fullLayout._activeShapeIndex >= 0) + ) + k._fullLayout._deactivateShape(k); + else if (!x) { + var r = A.clickmode; + L.done(Mt) + .then(function () { + if ((L.clear(Mt), 2 === t)) { + for (bt.remove(), K = 0; K < Et.length; K++) + (tt = Et[K])._module.selectPoints(tt, !1); + if (($(k, Et), Y(n), ht(k), Et.length)) { + var i = Et[0].xaxis, + o = Et[0].yaxis; + if (i && o) { + for ( + var s = [], + u = k._fullLayout.selections, + c = 0; + c < u.length; + c++ + ) { + var f = u[c]; + f && + ((f.xref === i._id && + f.yref === o._id) || + s.push(f)); + } + s.length < u.length && + ((k._fullLayout._noEmitSelectedAtStart = + !0), + a.call("_guiRelayout", k, { + selections: s, + })); + } + } + } else + r.indexOf("select") > -1 && + V(e, k, n.xaxes, n.yaxes, n.subplot, n, bt), + "event" === r && ft(k, void 0); + l.click(k, e); + }) + .catch(M.error); + } + }), + (n.doneFn = function () { + kt.remove(), + L.done(Mt) + .then(function () { + L.clear(Mt), + !S && + J && + n.selectionDefs && + ((J.subtract = xt), + n.selectionDefs.push(J), + (n.mergedPolygons.length = 0), + [].push.apply(n.mergedPolygons, W)), + (S || x) && Y(n, S), + n.doneFnCompleted && n.doneFnCompleted(St), + b && ft(k, at); + }) + .catch(M.error); + }); + }, + clearOutline: x, + clearSelectionsCache: Y, + selectOnClick: V, + }; + }, + 89827: function (t, e, r) { + "use strict"; + var n = r(50215), + i = r(41940), + a = r(82196).line, + o = r(79952).P, + s = r(1426).extendFlat, + l = r(44467).templatedArray, + u = (r(24695), r(9012)), + c = r(5386).R, + f = r(37281); + t.exports = l("shape", { + visible: s({}, u.visible, { editType: "calc+arraydraw" }), + showlegend: { + valType: "boolean", + dflt: !1, + editType: "calc+arraydraw", + }, + legend: s({}, u.legend, { editType: "calc+arraydraw" }), + legendgroup: s({}, u.legendgroup, { + editType: "calc+arraydraw", + }), + legendgrouptitle: { + text: s({}, u.legendgrouptitle.text, { + editType: "calc+arraydraw", + }), + font: i({ editType: "calc+arraydraw" }), + editType: "calc+arraydraw", + }, + legendrank: s({}, u.legendrank, { + editType: "calc+arraydraw", + }), + legendwidth: s({}, u.legendwidth, { + editType: "calc+arraydraw", + }), + type: { + valType: "enumerated", + values: ["circle", "rect", "path", "line"], + editType: "calc+arraydraw", + }, + layer: { + valType: "enumerated", + values: ["below", "above"], + dflt: "above", + editType: "arraydraw", + }, + xref: s({}, n.xref, {}), + xsizemode: { + valType: "enumerated", + values: ["scaled", "pixel"], + dflt: "scaled", + editType: "calc+arraydraw", + }, + xanchor: { valType: "any", editType: "calc+arraydraw" }, + x0: { valType: "any", editType: "calc+arraydraw" }, + x1: { valType: "any", editType: "calc+arraydraw" }, + yref: s({}, n.yref, {}), + ysizemode: { + valType: "enumerated", + values: ["scaled", "pixel"], + dflt: "scaled", + editType: "calc+arraydraw", + }, + yanchor: { valType: "any", editType: "calc+arraydraw" }, + y0: { valType: "any", editType: "calc+arraydraw" }, + y1: { valType: "any", editType: "calc+arraydraw" }, + path: { valType: "string", editType: "calc+arraydraw" }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + editType: "arraydraw", + }, + line: { + color: s({}, a.color, { editType: "arraydraw" }), + width: s({}, a.width, { editType: "calc+arraydraw" }), + dash: s({}, o, { editType: "arraydraw" }), + editType: "calc+arraydraw", + }, + fillcolor: { + valType: "color", + dflt: "rgba(0,0,0,0)", + editType: "arraydraw", + }, + fillrule: { + valType: "enumerated", + values: ["evenodd", "nonzero"], + dflt: "evenodd", + editType: "arraydraw", + }, + editable: { + valType: "boolean", + dflt: !1, + editType: "calc+arraydraw", + }, + label: { + text: { + valType: "string", + dflt: "", + editType: "arraydraw", + }, + texttemplate: c({}, { keys: Object.keys(f) }), + font: i({ + editType: "calc+arraydraw", + colorEditType: "arraydraw", + }), + textposition: { + valType: "enumerated", + values: [ + "top left", + "top center", + "top right", + "middle left", + "middle center", + "middle right", + "bottom left", + "bottom center", + "bottom right", + "start", + "middle", + "end", + ], + editType: "arraydraw", + }, + textangle: { + valType: "angle", + dflt: "auto", + editType: "calc+arraydraw", + }, + xanchor: { + valType: "enumerated", + values: ["auto", "left", "center", "right"], + dflt: "auto", + editType: "calc+arraydraw", + }, + yanchor: { + valType: "enumerated", + values: ["top", "middle", "bottom"], + editType: "calc+arraydraw", + }, + padding: { + valType: "number", + dflt: 3, + min: 0, + editType: "arraydraw", + }, + editType: "arraydraw", + }, + editType: "arraydraw", + }); + }, + 5627: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(21459), + o = r(30477); + function s(t) { + return u(t.line.width, t.xsizemode, t.x0, t.x1, t.path, !1); + } + function l(t) { + return u(t.line.width, t.ysizemode, t.y0, t.y1, t.path, !0); + } + function u(t, e, r, i, s, l) { + var u = t / 2, + c = l; + if ("pixel" === e) { + var f = s + ? o.extractPathCoords(s, l ? a.paramIsY : a.paramIsX) + : [r, i], + h = n.aggNums(Math.max, null, f), + p = n.aggNums(Math.min, null, f), + d = p < 0 ? Math.abs(p) + u : u, + v = h > 0 ? h + u : u; + return { + ppad: u, + ppadplus: c ? d : v, + ppadminus: c ? v : d, + }; + } + return { ppad: u }; + } + function c(t, e, r, n, i) { + var s = + "category" === t.type || "multicategory" === t.type + ? t.r2c + : t.d2c; + if (void 0 !== e) return [s(e), s(r)]; + if (n) { + var l, + u, + c, + f, + h = 1 / 0, + p = -1 / 0, + d = n.match(a.segmentRE); + for ( + "date" === t.type && (s = o.decodeDate(s)), l = 0; + l < d.length; + l++ + ) + void 0 !== (u = i[d[l].charAt(0)].drawn) && + (!(c = d[l].substr(1).match(a.paramRE)) || + c.length < u || + ((f = s(c[u])) < h && (h = f), f > p && (p = f))); + return p >= h ? [h, p] : void 0; + } + } + t.exports = function (t) { + var e = t._fullLayout, + r = n.filterVisible(e.shapes); + if (r.length && t._fullData.length) + for (var o = 0; o < r.length; o++) { + var u, + f, + h = r[o]; + h._extremes = {}; + var p = i.getRefType(h.xref), + d = i.getRefType(h.yref); + if ("paper" !== h.xref && "domain" !== p) { + var v = "pixel" === h.xsizemode ? h.xanchor : h.x0, + g = "pixel" === h.xsizemode ? h.xanchor : h.x1; + (f = c( + (u = i.getFromId(t, h.xref)), + v, + g, + h.path, + a.paramIsX, + )) && + (h._extremes[u._id] = i.findExtremes(u, f, s(h))); + } + if ("paper" !== h.yref && "domain" !== d) { + var y = "pixel" === h.ysizemode ? h.yanchor : h.y0, + m = "pixel" === h.ysizemode ? h.yanchor : h.y1; + (f = c( + (u = i.getFromId(t, h.yref)), + y, + m, + h.path, + a.paramIsY, + )) && + (h._extremes[u._id] = i.findExtremes(u, f, l(h))); + } + } + }; + }, + 21459: function (t) { + "use strict"; + t.exports = { + segmentRE: /[MLHVQCTSZ][^MLHVQCTSZ]*/g, + paramRE: /[^\s,]+/g, + paramIsX: { + M: { 0: !0, drawn: 0 }, + L: { 0: !0, drawn: 0 }, + H: { 0: !0, drawn: 0 }, + V: {}, + Q: { 0: !0, 2: !0, drawn: 2 }, + C: { 0: !0, 2: !0, 4: !0, drawn: 4 }, + T: { 0: !0, drawn: 0 }, + S: { 0: !0, 2: !0, drawn: 2 }, + Z: {}, + }, + paramIsY: { + M: { 1: !0, drawn: 1 }, + L: { 1: !0, drawn: 1 }, + H: {}, + V: { 0: !0, drawn: 0 }, + Q: { 1: !0, 3: !0, drawn: 3 }, + C: { 1: !0, 3: !0, 5: !0, drawn: 5 }, + T: { 1: !0, drawn: 1 }, + S: { 1: !0, 3: !0, drawn: 5 }, + Z: {}, + }, + numParams: { + M: 2, + L: 2, + H: 1, + V: 1, + Q: 4, + C: 6, + T: 2, + S: 4, + Z: 0, + }, + }; + }, + 84726: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(85501), + o = r(89827), + s = r(30477); + function l(t, e, r) { + function a(r, i) { + return n.coerce(t, e, o, r, i); + } + if (((e._isShape = !0), a("visible"))) { + a("showlegend") && + (a("legend"), + a("legendwidth"), + a("legendgroup"), + a("legendgrouptitle.text"), + n.coerceFont(a, "legendgrouptitle.font"), + a("legendrank")); + var l = a("path"), + u = a("type", l ? "path" : "rect"), + c = "path" !== u; + c && delete e.path, + a("editable"), + a("layer"), + a("opacity"), + a("fillcolor"), + a("fillrule"), + a("line.width") && (a("line.color"), a("line.dash")); + for ( + var f = a("xsizemode"), + h = a("ysizemode"), + p = ["x", "y"], + d = 0; + d < 2; + d++ + ) { + var v, + g, + y, + m = p[d], + x = m + "anchor", + b = "x" === m ? f : h, + _ = { _fullLayout: r }, + w = i.coerceRef(t, e, _, m, void 0, "paper"); + if ( + ("range" === i.getRefType(w) + ? ((v = i.getFromId(_, w))._shapeIndices.push( + e._index, + ), + (y = s.rangeToShapePosition(v)), + (g = s.shapePositionToRange(v))) + : (g = y = n.identity), + c) + ) { + var T = m + "0", + k = m + "1", + A = t[T], + M = t[k]; + (t[T] = g(t[T], !0)), + (t[k] = g(t[k], !0)), + "pixel" === b + ? (a(T, 0), a(k, 10)) + : (i.coercePosition(e, _, a, w, T, 0.25), + i.coercePosition(e, _, a, w, k, 0.75)), + (e[T] = y(e[T])), + (e[k] = y(e[k])), + (t[T] = A), + (t[k] = M); + } + if ("pixel" === b) { + var S = t[x]; + (t[x] = g(t[x], !0)), + i.coercePosition(e, _, a, w, x, 0.25), + (e[x] = y(e[x])), + (t[x] = S); + } + } + c && n.noneOrAll(t, e, ["x0", "x1", "y0", "y1"]); + var E, + L, + C = "line" === u; + if ( + (c && (E = a("label.texttemplate")), + E || (L = a("label.text")), + L || E) + ) { + a("label.textangle"); + var P = a( + "label.textposition", + C ? "middle" : "middle center", + ); + a("label.xanchor"), + a( + "label.yanchor", + (function (t, e) { + return t + ? "bottom" + : -1 !== e.indexOf("top") + ? "top" + : -1 !== e.indexOf("bottom") + ? "bottom" + : "middle"; + })(C, P), + ), + a("label.padding"), + n.coerceFont(a, "label.font", r.font); + } + } + } + t.exports = function (t, e) { + a(t, e, { name: "shapes", handleItemDefaults: l }); + }; + }, + 48100: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(63893), + o = r(91424), + s = r(60165).readPaths, + l = r(30477), + u = l.getPathString, + c = r(37281), + f = r(18783).FROM_TL; + t.exports = function (t, e, r, h) { + if ( + (h.selectAll(".shape-label").remove(), + r.label.text || r.label.texttemplate) + ) { + var p; + if (r.label.texttemplate) { + var d = {}; + if ("path" !== r.type) { + var v = i.getFromId(t, r.xref), + g = i.getFromId(t, r.yref); + for (var y in c) { + var m = c[y](r, v, g); + void 0 !== m && (d[y] = m); + } + } + p = n.texttemplateStringForShapes( + r.label.texttemplate, + {}, + t._fullLayout._d3locale, + d, + ); + } else p = r.label.text; + var x, + b, + _, + w, + T = { "data-index": e }, + k = r.label.font, + A = h + .append("g") + .attr(T) + .classed("shape-label", !0) + .append("text") + .attr({ "data-notex": 1 }) + .classed("shape-label-text", !0) + .text(p); + if (r.path) { + var M = u(t, r), + S = s(M, t); + (x = 1 / 0), (_ = 1 / 0), (b = -1 / 0), (w = -1 / 0); + for (var E = 0; E < S.length; E++) + for (var L = 0; L < S[E].length; L++) + for (var C = S[E][L], P = 1; P < C.length; P += 2) { + var O = C[P], + I = C[P + 1]; + (x = Math.min(x, O)), + (b = Math.max(b, O)), + (_ = Math.min(_, I)), + (w = Math.max(w, I)); + } + } else { + var D = i.getFromId(t, r.xref), + z = i.getRefType(r.xref), + R = i.getFromId(t, r.yref), + F = i.getRefType(r.yref), + B = l.getDataToPixel(t, D, !1, z), + N = l.getDataToPixel(t, R, !0, F); + (x = B(r.x0)), + (b = B(r.x1)), + (_ = N(r.y0)), + (w = N(r.y1)); + } + var j = r.label.textangle; + "auto" === j && + (j = + "line" === r.type + ? (function (t, e, r, n) { + var i, a; + return ( + (a = Math.abs(r - t)), + (i = r >= t ? e - n : n - e), + (-180 / Math.PI) * Math.atan2(i, a) + ); + })(x, _, b, w) + : 0), + A.call(function (e) { + return ( + e.call(o.font, k).attr({}), + a.convertToTspans(e, t), + e + ); + }); + var U = (function (t, e, r, n, i, a, o) { + var s, + l, + u, + c, + h = i.label.textposition, + p = i.label.textangle, + d = i.label.padding, + v = i.type, + g = (Math.PI / 180) * a, + y = Math.sin(g), + m = Math.cos(g), + x = i.label.xanchor, + b = i.label.yanchor; + if ("line" === v) { + "start" === h + ? ((s = t), (l = e)) + : "end" === h + ? ((s = r), (l = n)) + : ((s = (t + r) / 2), (l = (e + n) / 2)), + "auto" === x && + (x = + "start" === h + ? "auto" === p + ? r > t + ? "left" + : r < t + ? "right" + : "center" + : r > t + ? "right" + : r < t + ? "left" + : "center" + : "end" === h + ? "auto" === p + ? r > t + ? "right" + : r < t + ? "left" + : "center" + : r > t + ? "left" + : r < t + ? "right" + : "center" + : "center"); + var _ = { bottom: -1, middle: 0, top: 1 }; + if ("auto" === p) { + var w = _[b]; + (u = -d * y * w), (c = d * m * w); + } else + (u = d * { left: 1, center: 0, right: -1 }[x]), + (c = d * _[b]); + (s += u), (l += c); + } else + (u = d + 3), + -1 !== h.indexOf("right") + ? ((s = Math.max(t, r) - u), + "auto" === x && (x = "right")) + : -1 !== h.indexOf("left") + ? ((s = Math.min(t, r) + u), + "auto" === x && (x = "left")) + : ((s = (t + r) / 2), + "auto" === x && (x = "center")), + (l = + -1 !== h.indexOf("top") + ? Math.min(e, n) + : -1 !== h.indexOf("bottom") + ? Math.max(e, n) + : (e + n) / 2), + (c = d), + "bottom" === b + ? (l -= c) + : "top" === b && (l += c); + var T = f[b], + k = i.label.font.size, + A = o.height; + return { + textx: s + (A * T - k) * y, + texty: l + -(A * T - k) * m, + xanchor: x, + }; + })(x, _, b, w, r, j, o.bBox(A.node())), + V = U.textx, + H = U.texty, + q = U.xanchor; + A.attr({ + "text-anchor": { + left: "start", + center: "middle", + right: "end", + }[q], + y: H, + x: V, + transform: "rotate(" + j + "," + V + "," + H + ")", + }).call(a.positionText, V, H); + } + }; + }, + 42359: function (t, e, r) { + "use strict"; + var n = r(71828).strTranslate, + i = r(28569), + a = r(64505), + o = a.drawMode, + s = a.selectMode, + l = r(73972), + u = r(7901), + c = r(89995), + f = c.i000, + h = c.i090, + p = c.i180, + d = c.i270, + v = r(51873).clearOutlineControllers, + g = r(60165), + y = g.pointsOnRectangle, + m = g.pointsOnEllipse, + x = g.writePaths, + b = r(90551).newShapes, + _ = r(90551).createShapeObj, + w = r(35855), + T = r(48100); + function k(t, e) { + var r, + n, + i, + a = t[e][1], + o = t[e][2], + s = t.length; + return ( + (n = t[(r = (e + 1) % s)][1]), + (i = t[r][2]), + n === a && + i === o && + ((n = t[(r = (e + 2) % s)][1]), (i = t[r][2])), + [r, n, i] + ); + } + t.exports = function t(e, r, a, c) { + c || (c = 0); + var g = a.gd; + function A() { + t(e, r, a, c++), + (m(e[0]) || a.hasText) && M({ redrawing: !0 }); + } + function M(t) { + var e = {}; + void 0 !== a.isActiveShape && + ((a.isActiveShape = !1), (e = b(r, a))), + void 0 !== a.isActiveSelection && + ((a.isActiveSelection = !1), + (e = w(r, a)), + (g._fullLayout._reselect = !0)), + Object.keys(e).length && + l.call( + (t || {}).redrawing ? "relayout" : "_guiRelayout", + g, + e, + ); + } + var S, + E, + L, + C, + P, + O = g._fullLayout._zoomlayer, + I = a.dragmode, + D = o(I), + z = s(I); + if ( + ((D || z) && (g._fullLayout._outlining = !0), + v(g), + r.attr("d", x(e)), + c || + (!a.isActiveShape && !a.isActiveSelection) || + ((P = (function (t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r]; + t[r] = []; + for (var i = 0; i < n.length; i++) { + t[r][i] = []; + for (var a = 0; a < n[i].length; a++) + t[r][i][a] = n[i][a]; + } + } + return t; + })([], e)), + (function (t) { + S = []; + for (var r = 0; r < e.length; r++) { + var o = e[r], + s = y(o), + l = !s && m(o); + S[r] = []; + for (var c = o.length, v = 0; v < c; v++) + if ( + "Z" !== o[v][0] && + (!l || v === f || v === h || v === p || v === d) + ) { + var x, + b = s && a.isActiveSelection; + b && (x = k(o, v)); + var _ = o[v][1], + w = o[v][2], + T = t + .append(b ? "rect" : "circle") + .attr("data-i", r) + .attr("data-j", v) + .style({ + fill: u.background, + stroke: u.defaultLine, + "stroke-width": 1, + "shape-rendering": "crispEdges", + }); + if (b) { + var A = x[1] - _, + M = x[2] - w, + E = M + ? 5 + : Math.max( + Math.min(25, Math.abs(A) - 5), + 5, + ), + L = A + ? 5 + : Math.max( + Math.min(25, Math.abs(M) - 5), + 5, + ); + T.classed( + M ? "cursor-ew-resize" : "cursor-ns-resize", + !0, + ) + .attr("width", E) + .attr("height", L) + .attr("x", _ - E / 2) + .attr("y", w - L / 2) + .attr("transform", n(A / 2, M / 2)); + } else + T.classed("cursor-grab", !0) + .attr("r", 5) + .attr("cx", _) + .attr("cy", w); + (S[r][v] = { + element: T.node(), + gd: g, + prepFn: B, + doneFn: j, + clickFn: U, + }), + i.init(S[r][v]); + } + } + })(O.append("g").attr("class", "outline-controllers")), + (function () { + if (((E = []), e.length)) { + (E[0] = { + element: r[0][0], + gd: g, + prepFn: H, + doneFn: q, + clickFn: G, + }), + i.init(E[0]); + } + })()), + D && a.hasText) + ) { + var R = O.select(".label-temp"), + F = _(r, a, a.dragmode); + T(g, "label-temp", F, R); + } + function B(t) { + (L = +t.srcElement.getAttribute("data-i")), + (C = +t.srcElement.getAttribute("data-j")), + (S[L][C].moveFn = N); + } + function N(t, r) { + if (e.length) { + var n = P[L][C][1], + i = P[L][C][2], + o = e[L], + s = o.length; + if (y(o)) { + var l = t, + u = r; + a.isActiveSelection && + (k(o, C)[1] === o[C][1] ? (u = 0) : (l = 0)); + for (var c = 0; c < s; c++) + if (c !== C) { + var f = o[c]; + f[1] === o[C][1] && (f[1] = n + l), + f[2] === o[C][2] && (f[2] = i + u); + } + if (((o[C][1] = n + l), (o[C][2] = i + u), !y(o))) + for (var h = 0; h < s; h++) + for (var p = 0; p < o[h].length; p++) + o[h][p] = P[L][h][p]; + } else (o[C][1] = n + t), (o[C][2] = i + r); + A(); + } + } + function j() { + M(); + } + function U(t, r) { + if (2 === t) { + (L = +r.srcElement.getAttribute("data-i")), + (C = +r.srcElement.getAttribute("data-j")); + var n = e[L]; + y(n) || + m(n) || + (function () { + if (e.length && e[L] && e[L].length) { + for (var t = [], r = 0; r < e[L].length; r++) + r !== C && t.push(e[L][r]); + t.length > 1 && + (2 !== t.length || "Z" !== t[1][0]) && + (0 === C && (t[0][0] = "M"), + (e[L] = t), + A(), + M()); + } + })(); + } + } + function V(t, r) { + !(function (t, r) { + if (e.length) + for (var n = 0; n < e.length; n++) + for (var i = 0; i < e[n].length; i++) + for (var a = 0; a + 2 < e[n][i].length; a += 2) + (e[n][i][a + 1] = P[n][i][a + 1] + t), + (e[n][i][a + 2] = P[n][i][a + 2] + r); + })(t, r), + A(); + } + function H(t) { + (L = +t.srcElement.getAttribute("data-i")) || (L = 0), + (E[L].moveFn = V); + } + function q() { + M(); + } + function G(t) { + 2 === t && + (function (t) { + if (s(t._fullLayout.dragmode)) { + v(t); + var e = t._fullLayout._activeSelectionIndex, + r = (t.layout || {}).selections || []; + if (e < r.length) { + for (var n = [], i = 0; i < r.length; i++) + i !== e && n.push(r[i]); + delete t._fullLayout._activeSelectionIndex; + var a = t._fullLayout.selections[e]; + (t._fullLayout._deselect = { + xref: a.xref, + yref: a.yref, + }), + l.call("_guiRelayout", t, { selections: n }); + } + } + })(g); + } + }; + }, + 34031: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(71828), + o = r(89298), + s = r(60165).readPaths, + l = r(42359), + u = r(48100), + c = r(51873).clearOutlineControllers, + f = r(7901), + h = r(91424), + p = r(44467).arrayEditor, + d = r(28569), + v = r(6964), + g = r(21459), + y = r(30477), + m = y.getPathString; + function x(t) { + var e = t._fullLayout; + for (var r in (e._shapeUpperLayer + .selectAll("path") + .remove(), + e._shapeLowerLayer.selectAll("path").remove(), + e._shapeUpperLayer.selectAll("text").remove(), + e._shapeLowerLayer.selectAll("text").remove(), + e._plots)) { + var n = e._plots[r].shapelayer; + n && + (n.selectAll("path").remove(), + n.selectAll("text").remove()); + } + for (var i = 0; i < e.shapes.length; i++) + !0 === e.shapes[i].visible && w(t, i); + } + function b(t) { + return !!t._fullLayout._outlining; + } + function _(t) { + return !t._context.edits.shapePosition; + } + function w(t, e) { + t._fullLayout._paperdiv + .selectAll('.shapelayer [data-index="' + e + '"]') + .remove(); + var r = y.makeShapesOptionsAndPlotinfo(t, e), + c = r.options, + w = r.plotinfo; + function M(r) { + var M = m(t, c), + S = { "data-index": e, "fill-rule": c.fillrule, d: M }, + E = c.opacity, + L = c.fillcolor, + C = c.line.width ? c.line.color : "rgba(0,0,0,0)", + P = c.line.width, + O = c.line.dash; + P || !0 !== c.editable || ((P = 5), (O = "solid")); + var I = "Z" !== M[M.length - 1], + D = + _(t) && + c.editable && + t._fullLayout._activeShapeIndex === e; + D && + ((L = I + ? "rgba(0,0,0,0)" + : t._fullLayout.activeshape.fillcolor), + (E = t._fullLayout.activeshape.opacity)); + var z, + R = r + .append("g") + .classed("shape-group", !0) + .attr({ "data-index": e }), + F = R.append("path") + .attr(S) + .style("opacity", E) + .call(f.stroke, C) + .call(f.fill, L) + .call(h.dashLine, O, P); + if ( + (T(R, t, c), + u(t, e, c, R), + (D || t._context.edits.shapePosition) && + (z = p(t.layout, "shapes", c)), + D) + ) { + F.style({ cursor: "move" }); + var B = { + element: F.node(), + plotinfo: w, + gd: t, + editHelpers: z, + hasText: c.label.text || c.label.texttemplate, + isActiveShape: !0, + }, + N = s(M, t); + l(N, F, B); + } else + t._context.edits.shapePosition + ? (function (t, e, r, s, l, c) { + var f, + p, + x, + _, + w, + A, + M, + S, + E, + L, + C, + P, + O, + I, + D, + z, + R = "pixel" === r.xsizemode, + F = "pixel" === r.ysizemode, + B = "line" === r.type, + N = "path" === r.type, + j = c.modifyItem, + U = n.select(e.node().parentNode), + V = o.getFromId(t, r.xref), + H = o.getRefType(r.xref), + q = o.getFromId(t, r.yref), + G = o.getRefType(r.yref), + Z = y.getDataToPixel(t, V, !1, H), + Y = y.getDataToPixel(t, q, !0, G), + W = y.getPixelToData(t, V, !1, H), + X = y.getPixelToData(t, q, !0, G), + J = B + ? (function () { + var t = 10, + n = Math.max(r.line.width, t), + i = l + .append("g") + .attr("data-index", s) + .attr("drag-helper", !0); + i.append("path") + .attr("d", e.attr("d")) + .style({ + cursor: "move", + "stroke-width": n, + "stroke-opacity": "0", + }); + var a = { "fill-opacity": "0" }, + o = Math.max(n / 2, t); + return ( + i + .append("circle") + .attr({ + "data-line-point": "start-point", + cx: R + ? Z(r.xanchor) + r.x0 + : Z(r.x0), + cy: F + ? Y(r.yanchor) - r.y0 + : Y(r.y0), + r: o, + }) + .style(a) + .classed("cursor-grab", !0), + i + .append("circle") + .attr({ + "data-line-point": "end-point", + cx: R + ? Z(r.xanchor) + r.x1 + : Z(r.x1), + cy: F + ? Y(r.yanchor) - r.y1 + : Y(r.y1), + r: o, + }) + .style(a) + .classed("cursor-grab", !0), + i + ); + })() + : e, + K = { + element: J.node(), + gd: t, + prepFn: function (n) { + b(t) || + (R && (w = Z(r.xanchor)), + F && (A = Y(r.yanchor)), + "path" === r.type + ? (D = r.path) + : ((f = R ? r.x0 : Z(r.x0)), + (p = F ? r.y0 : Y(r.y0)), + (x = R ? r.x1 : Z(r.x1)), + (_ = F ? r.y1 : Y(r.y1))), + f < x + ? ((E = f), + (O = "x0"), + (L = x), + (I = "x1")) + : ((E = x), + (O = "x1"), + (L = f), + (I = "x0")), + (!F && p < _) || (F && p > _) + ? ((M = p), + (C = "y0"), + (S = _), + (P = "y1")) + : ((M = _), + (C = "y1"), + (S = p), + (P = "y0")), + $(n), + et(l, r), + (function (t, e, r) { + var n = e.xref, + i = e.yref, + a = o.getFromId(r, n), + s = o.getFromId(r, i), + l = ""; + "paper" === n || + a.autorange || + (l += n), + "paper" === i || + s.autorange || + (l += i), + h.setClipUrl( + t, + l + ? "clip" + r._fullLayout._uid + l + : null, + r, + ); + })(e, r, t), + (K.moveFn = "move" === z ? Q : tt), + (K.altKey = n.altKey)); + }, + doneFn: function () { + b(t) || + (v(e), + rt(l), + T(e, t, r), + i.call( + "_guiRelayout", + t, + c.getUpdateObj(), + )); + }, + clickFn: function () { + b(t) || rt(l); + }, + }; + function $(r) { + if (b(t)) z = null; + else if (B) + z = + "path" === r.target.tagName + ? "move" + : "start-point" === + r.target.attributes["data-line-point"] + .value + ? "resize-over-start-point" + : "resize-over-end-point"; + else { + var n = K.element.getBoundingClientRect(), + i = n.right - n.left, + a = n.bottom - n.top, + o = r.clientX - n.left, + s = r.clientY - n.top, + l = + !N && i > 10 && a > 10 && !r.shiftKey + ? d.getCursor(o / i, 1 - s / a) + : "move"; + v(e, l), (z = l.split("-")[0]); + } + } + function Q(n, i) { + if ("path" === r.type) { + var a = function (t) { + return t; + }, + o = a, + c = a; + R + ? j("xanchor", (r.xanchor = W(w + n))) + : ((o = function (t) { + return W(Z(t) + n); + }), + V && + "date" === V.type && + (o = y.encodeDate(o))), + F + ? j("yanchor", (r.yanchor = X(A + i))) + : ((c = function (t) { + return X(Y(t) + i); + }), + q && + "date" === q.type && + (c = y.encodeDate(c))), + j("path", (r.path = k(D, o, c))); + } else + R + ? j("xanchor", (r.xanchor = W(w + n))) + : (j("x0", (r.x0 = W(f + n))), + j("x1", (r.x1 = W(x + n)))), + F + ? j("yanchor", (r.yanchor = X(A + i))) + : (j("y0", (r.y0 = X(p + i))), + j("y1", (r.y1 = X(_ + i)))); + e.attr("d", m(t, r)), et(l, r), u(t, s, r, U); + } + function tt(n, i) { + if (N) { + var a = function (t) { + return t; + }, + o = a, + c = a; + R + ? j("xanchor", (r.xanchor = W(w + n))) + : ((o = function (t) { + return W(Z(t) + n); + }), + V && + "date" === V.type && + (o = y.encodeDate(o))), + F + ? j("yanchor", (r.yanchor = X(A + i))) + : ((c = function (t) { + return X(Y(t) + i); + }), + q && + "date" === q.type && + (c = y.encodeDate(c))), + j("path", (r.path = k(D, o, c))); + } else if (B) { + if ("resize-over-start-point" === z) { + var h = f + n, + d = F ? p - i : p + i; + j("x0", (r.x0 = R ? h : W(h))), + j("y0", (r.y0 = F ? d : X(d))); + } else if ("resize-over-end-point" === z) { + var v = x + n, + g = F ? _ - i : _ + i; + j("x1", (r.x1 = R ? v : W(v))), + j("y1", (r.y1 = F ? g : X(g))); + } + } else { + var b = function (t) { + return -1 !== z.indexOf(t); + }, + T = b("n"), + H = b("s"), + G = b("w"), + J = b("e"), + K = T ? M + i : M, + $ = H ? S + i : S, + Q = G ? E + n : E, + tt = J ? L + n : L; + F && (T && (K = M - i), H && ($ = S - i)), + ((!F && $ - K > 10) || (F && K - $ > 10)) && + (j(C, (r[C] = F ? K : X(K))), + j(P, (r[P] = F ? $ : X($)))), + tt - Q > 10 && + (j(O, (r[O] = R ? Q : W(Q))), + j(I, (r[I] = R ? tt : W(tt)))); + } + e.attr("d", m(t, r)), et(l, r), u(t, s, r, U); + } + function et(t, e) { + (R || F) && + (function () { + var r = "path" !== e.type, + n = t.selectAll(".visual-cue").data([0]); + n.enter() + .append("path") + .attr({ + fill: "#fff", + "fill-rule": "evenodd", + stroke: "#000", + "stroke-width": 1, + }) + .classed("visual-cue", !0); + var i = Z( + R + ? e.xanchor + : a.midRange( + r + ? [e.x0, e.x1] + : y.extractPathCoords( + e.path, + g.paramIsX, + ), + ), + ), + o = Y( + F + ? e.yanchor + : a.midRange( + r + ? [e.y0, e.y1] + : y.extractPathCoords( + e.path, + g.paramIsY, + ), + ), + ); + if ( + ((i = + y.roundPositionForSharpStrokeRendering( + i, + 1, + )), + (o = + y.roundPositionForSharpStrokeRendering( + o, + 1, + )), + R && F) + ) { + var s = + "M" + + (i - 1 - 1) + + "," + + (o - 1 - 1) + + "h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z"; + n.attr("d", s); + } else if (R) { + var l = + "M" + + (i - 1 - 1) + + "," + + (o - 9 - 1) + + "v18 h2 v-18 Z"; + n.attr("d", l); + } else { + var u = + "M" + + (i - 9 - 1) + + "," + + (o - 1 - 1) + + "h18 v2 h-18 Z"; + n.attr("d", u); + } + })(); + } + function rt(t) { + t.selectAll(".visual-cue").remove(); + } + d.init(K), (J.node().onmousemove = $); + })(t, F, c, e, r, z) + : !0 === c.editable && + F.style( + "pointer-events", + I || f.opacity(L) * E <= 0.5 ? "stroke" : "all", + ); + F.node().addEventListener("click", function () { + return (function (t, e) { + if (_(t)) { + var r = +e.node().getAttribute("data-index"); + if (r >= 0) { + if (r === t._fullLayout._activeShapeIndex) + return void A(t); + (t._fullLayout._activeShapeIndex = r), + (t._fullLayout._deactivateShape = A), + x(t); + } + } + })(t, F); + }); + } + c._input && + !0 === c.visible && + ("below" !== c.layer + ? M(t._fullLayout._shapeUpperLayer) + : "paper" === c.xref || "paper" === c.yref + ? M(t._fullLayout._shapeLowerLayer) + : w._hadPlotinfo + ? M((w.mainplotinfo || w).shapelayer) + : M(t._fullLayout._shapeLowerLayer)); + } + function T(t, e, r) { + var n = (r.xref + r.yref) + .replace(/paper/g, "") + .replace(/[xyz][1-9]* *domain/g, ""); + h.setClipUrl( + t, + n ? "clip" + e._fullLayout._uid + n : null, + e, + ); + } + function k(t, e, r) { + return t.replace(g.segmentRE, function (t) { + var n = 0, + i = t.charAt(0), + a = g.paramIsX[i], + o = g.paramIsY[i], + s = g.numParams[i]; + return ( + i + + t.substr(1).replace(g.paramRE, function (t) { + return ( + n >= s || + (a[n] ? (t = e(t)) : o[n] && (t = r(t)), n++), + t + ); + }) + ); + }); + } + function A(t) { + _(t) && + t._fullLayout._activeShapeIndex >= 0 && + (c(t), delete t._fullLayout._activeShapeIndex, x(t)); + } + t.exports = { + draw: x, + drawOne: w, + eraseActiveShape: function (t) { + if (_(t)) { + c(t); + var e = t._fullLayout._activeShapeIndex, + r = (t.layout || {}).shapes || []; + if (e < r.length) { + for (var n = [], a = 0; a < r.length; a++) + a !== e && n.push(r[a]); + return ( + delete t._fullLayout._activeShapeIndex, + i.call("_guiRelayout", t, { shapes: n }) + ); + } + } + }, + drawLabel: u, + }; + }, + 29241: function (t, e, r) { + "use strict"; + var n = r(30962).overrideAll, + i = r(9012), + a = r(41940), + o = r(79952).P, + s = r(1426).extendFlat, + l = r(5386).R, + u = r(37281); + t.exports = n( + { + newshape: { + visible: s({}, i.visible, {}), + showlegend: { valType: "boolean", dflt: !1 }, + legend: s({}, i.legend, {}), + legendgroup: s({}, i.legendgroup, {}), + legendgrouptitle: { + text: s({}, i.legendgrouptitle.text, {}), + font: a({}), + }, + legendrank: s({}, i.legendrank, {}), + legendwidth: s({}, i.legendwidth, {}), + line: { + color: { valType: "color" }, + width: { valType: "number", min: 0, dflt: 4 }, + dash: s({}, o, { dflt: "solid" }), + }, + fillcolor: { valType: "color", dflt: "rgba(0,0,0,0)" }, + fillrule: { + valType: "enumerated", + values: ["evenodd", "nonzero"], + dflt: "evenodd", + }, + opacity: { valType: "number", min: 0, max: 1, dflt: 1 }, + layer: { + valType: "enumerated", + values: ["below", "above"], + dflt: "above", + }, + drawdirection: { + valType: "enumerated", + values: [ + "ortho", + "horizontal", + "vertical", + "diagonal", + ], + dflt: "diagonal", + }, + name: s({}, i.name, {}), + label: { + text: { valType: "string", dflt: "" }, + texttemplate: l( + { newshape: !0 }, + { keys: Object.keys(u) }, + ), + font: a({}), + textposition: { + valType: "enumerated", + values: [ + "top left", + "top center", + "top right", + "middle left", + "middle center", + "middle right", + "bottom left", + "bottom center", + "bottom right", + "start", + "middle", + "end", + ], + }, + textangle: { valType: "angle", dflt: "auto" }, + xanchor: { + valType: "enumerated", + values: ["auto", "left", "center", "right"], + dflt: "auto", + }, + yanchor: { + valType: "enumerated", + values: ["top", "middle", "bottom"], + }, + padding: { valType: "number", dflt: 3, min: 0 }, + }, + }, + activeshape: { + fillcolor: { valType: "color", dflt: "rgb(255,0,255)" }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: 0.5, + }, + }, + }, + "none", + "from-root", + ); + }, + 89995: function (t) { + "use strict"; + t.exports = { + CIRCLE_SIDES: 32, + i000: 0, + i090: 8, + i180: 16, + i270: 24, + cos45: Math.cos(Math.PI / 4), + sin45: Math.sin(Math.PI / 4), + SQRT2: Math.sqrt(2), + }; + }, + 45547: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(71828); + t.exports = function (t, e, r) { + if ( + (r("newshape.visible"), + r("newshape.name"), + r("newshape.showlegend"), + r("newshape.legend"), + r("newshape.legendwidth"), + r("newshape.legendgroup"), + r("newshape.legendgrouptitle.text"), + i.coerceFont(r, "newshape.legendgrouptitle.font"), + r("newshape.legendrank"), + r("newshape.drawdirection"), + r("newshape.layer"), + r("newshape.fillcolor"), + r("newshape.fillrule"), + r("newshape.opacity"), + r("newshape.line.width")) + ) { + var a = (t || {}).plot_bgcolor || "#FFF"; + r("newshape.line.color", n.contrast(a)), + r("newshape.line.dash"); + } + var o = "drawline" === t.dragmode, + s = r("newshape.label.text"), + l = r("newshape.label.texttemplate"); + if (s || l) { + r("newshape.label.textangle"); + var u = r( + "newshape.label.textposition", + o ? "middle" : "middle center", + ); + r("newshape.label.xanchor"), + r( + "newshape.label.yanchor", + (function (t, e) { + return t + ? "bottom" + : -1 !== e.indexOf("top") + ? "top" + : -1 !== e.indexOf("bottom") + ? "bottom" + : "middle"; + })(o, u), + ), + r("newshape.label.padding"), + i.coerceFont(r, "newshape.label.font", e.font); + } + r("activeshape.fillcolor"), r("activeshape.opacity"); + }; + }, + 60165: function (t, e, r) { + "use strict"; + var n = r(95616), + i = r(89995), + a = i.CIRCLE_SIDES, + o = i.SQRT2, + s = r(75549), + l = s.p2r, + u = s.r2p, + c = [0, 3, 4, 5, 6, 1, 2], + f = [0, 3, 4, 1, 2]; + function h(t, e) { + return Math.abs(t - e) <= 1e-6; + } + function p(t, e) { + var r = e[1] - t[1], + n = e[2] - t[2]; + return Math.sqrt(r * r + n * n); + } + (e.writePaths = function (t) { + var e = t.length; + if (!e) return "M0,0Z"; + for (var r = "", n = 0; n < e; n++) + for (var i = t[n].length, a = 0; a < i; a++) { + var o = t[n][a][0]; + if ("Z" === o) r += "Z"; + else + for (var s = t[n][a].length, l = 0; l < s; l++) { + var u = l; + "Q" === o || "S" === o + ? (u = f[l]) + : "C" === o && (u = c[l]), + (r += t[n][a][u]), + l > 0 && l < s - 1 && (r += ","); + } + } + return r; + }), + (e.readPaths = function (t, e, r, i) { + var o, + s, + c, + f = n(t), + h = [], + p = -1, + d = 0, + v = 0, + g = function () { + (s = d), (c = v); + }; + g(); + for (var y = 0; y < f.length; y++) { + var m, + x, + b, + _, + w = [], + T = f[y][0], + k = T; + switch (T) { + case "M": + (h[++p] = []), + (d = +f[y][1]), + (v = +f[y][2]), + w.push([k, d, v]), + g(); + break; + case "Q": + case "S": + (m = +f[y][1]), + (b = +f[y][2]), + (d = +f[y][3]), + (v = +f[y][4]), + w.push([k, d, v, m, b]); + break; + case "C": + (m = +f[y][1]), + (b = +f[y][2]), + (x = +f[y][3]), + (_ = +f[y][4]), + (d = +f[y][5]), + (v = +f[y][6]), + w.push([k, d, v, m, b, x, _]); + break; + case "T": + case "L": + (d = +f[y][1]), (v = +f[y][2]), w.push([k, d, v]); + break; + case "H": + (k = "L"), (d = +f[y][1]), w.push([k, d, v]); + break; + case "V": + (k = "L"), (v = +f[y][1]), w.push([k, d, v]); + break; + case "A": + k = "L"; + var A = +f[y][1], + M = +f[y][2]; + +f[y][4] || ((A = -A), (M = -M)); + var S = d - A, + E = v; + for (o = 1; o <= a / 2; o++) { + var L = (2 * Math.PI * o) / a; + w.push([ + k, + S + A * Math.cos(L), + E + M * Math.sin(L), + ]); + } + break; + case "Z": + (d === s && v === c) || + ((d = s), (v = c), w.push([k, d, v])); + } + for ( + var C = (r || {}).domain, + P = e._fullLayout._size, + O = r && "pixel" === r.xsizemode, + I = r && "pixel" === r.ysizemode, + D = !1 === i, + z = 0; + z < w.length; + z++ + ) { + for (o = 0; o + 2 < 7; o += 2) { + var R = w[z][o + 1], + F = w[z][o + 2]; + void 0 !== R && + void 0 !== F && + ((d = R), + (v = F), + r && + (r.xaxis && r.xaxis.p2r + ? (D && (R -= r.xaxis._offset), + (R = O + ? u(r.xaxis, r.xanchor) + R + : l(r.xaxis, R))) + : (D && (R -= P.l), + C ? (R = C.x[0] + R / P.w) : (R /= P.w)), + r.yaxis && r.yaxis.p2r + ? (D && (F -= r.yaxis._offset), + (F = I + ? u(r.yaxis, r.yanchor) - F + : l(r.yaxis, F))) + : (D && (F -= P.t), + (F = C ? C.y[1] - F / P.h : 1 - F / P.h))), + (w[z][o + 1] = R), + (w[z][o + 2] = F)); + } + h[p].push(w[z].slice()); + } + } + return h; + }), + (e.pointsOnRectangle = function (t) { + if (5 !== t.length) return !1; + for (var e = 1; e < 3; e++) { + if (!h(t[0][e] - t[1][e], t[3][e] - t[2][e])) return !1; + if (!h(t[0][e] - t[3][e], t[1][e] - t[2][e])) return !1; + } + return !( + (!h(t[0][1], t[1][1]) && !h(t[0][1], t[3][1])) || + !(p(t[0], t[1]) * p(t[0], t[3])) + ); + }), + (e.pointsOnEllipse = function (t) { + var e = t.length; + if (e !== a + 1) return !1; + e = a; + for (var r = 0; r < e; r++) { + var n = (2 * e - r) % e, + i = (e / 2 + n) % e, + o = (e / 2 + r) % e; + if (!h(p(t[r], t[o]), p(t[n], t[i]))) return !1; + } + return !0; + }), + (e.handleEllipse = function (t, r, n) { + if (!t) return [r, n]; + var i = e.ellipseOver({ + x0: r[0], + y0: r[1], + x1: n[0], + y1: n[1], + }), + s = (i.x1 + i.x0) / 2, + l = (i.y1 + i.y0) / 2, + u = (i.x1 - i.x0) / 2, + c = (i.y1 - i.y0) / 2; + u || (u = c /= o), c || (c = u /= o); + for (var f = [], h = 0; h < a; h++) { + var p = (2 * h * Math.PI) / a; + f.push([s + u * Math.cos(p), l + c * Math.sin(p)]); + } + return f; + }), + (e.ellipseOver = function (t) { + var e = t.x0, + r = t.y0, + n = t.x1, + i = t.y1, + a = n - e, + s = i - r, + l = ((e -= a) + n) / 2, + u = ((r -= s) + i) / 2; + return { + x0: l - (a *= o), + y0: u - (s *= o), + x1: l + a, + y1: u + s, + }; + }), + (e.fixDatesForPaths = function (t, e, r) { + var n = "date" === e.type, + i = "date" === r.type; + if (!n && !i) return t; + for (var a = 0; a < t.length; a++) + for (var o = 0; o < t[a].length; o++) + for (var s = 0; s + 2 < t[a][o].length; s += 2) + n && + (t[a][o][s + 1] = t[a][o][s + 1].replace( + " ", + "_", + )), + i && + (t[a][o][s + 2] = t[a][o][s + 2].replace( + " ", + "_", + )); + return t; + }); + }, + 90551: function (t, e, r) { + "use strict"; + var n = r(64505), + i = n.drawMode, + a = n.openMode, + o = r(89995), + s = o.i000, + l = o.i090, + u = o.i180, + c = o.i270, + f = o.cos45, + h = o.sin45, + p = r(75549), + d = p.p2r, + v = p.r2p, + g = r(51873).clearOutline, + y = r(60165), + m = y.readPaths, + x = y.writePaths, + b = y.ellipseOver, + _ = y.fixDatesForPaths; + function w(t, e, r) { + var n, + i = t[0][0], + o = e.gd, + p = i.getAttribute("d"), + g = o._fullLayout.newshape, + y = e.plotinfo, + w = e.isActiveShape, + T = y.xaxis, + k = y.yaxis, + A = !!y.domain || !y.xaxis, + M = !!y.domain || !y.yaxis, + S = a(r), + E = m(p, o, y, w), + L = { + editable: !0, + visible: g.visible, + name: g.name, + showlegend: g.showlegend, + legend: g.legend, + legendwidth: g.legendwidth, + legendgroup: g.legendgroup, + legendgrouptitle: { + text: g.legendgrouptitle.text, + font: g.legendgrouptitle.font, + }, + legendrank: g.legendrank, + label: g.label, + xref: A ? "paper" : T._id, + yref: M ? "paper" : k._id, + layer: g.layer, + opacity: g.opacity, + line: { + color: g.line.color, + width: g.line.width, + dash: g.line.dash, + }, + }; + if ( + (S || + ((L.fillcolor = g.fillcolor), + (L.fillrule = g.fillrule)), + 1 === E.length && (n = E[0]), + n && 5 === n.length && "drawrect" === r) + ) + (L.type = "rect"), + (L.x0 = n[0][1]), + (L.y0 = n[0][2]), + (L.x1 = n[2][1]), + (L.y1 = n[2][2]); + else if (n && "drawline" === r) + (L.type = "line"), + (L.x0 = n[0][1]), + (L.y0 = n[0][2]), + (L.x1 = n[1][1]), + (L.y1 = n[1][2]); + else if (n && "drawcircle" === r) { + L.type = "circle"; + var C = n[s][1], + P = n[l][1], + O = n[u][1], + I = n[c][1], + D = n[s][2], + z = n[l][2], + R = n[u][2], + F = n[c][2], + B = + y.xaxis && + ("date" === y.xaxis.type || "log" === y.xaxis.type), + N = + y.yaxis && + ("date" === y.yaxis.type || "log" === y.yaxis.type); + B && + ((C = v(y.xaxis, C)), + (P = v(y.xaxis, P)), + (O = v(y.xaxis, O)), + (I = v(y.xaxis, I))), + N && + ((D = v(y.yaxis, D)), + (z = v(y.yaxis, z)), + (R = v(y.yaxis, R)), + (F = v(y.yaxis, F))); + var j = (P + I) / 2, + U = (D + R) / 2, + V = b({ + x0: j, + y0: U, + x1: j + ((I - P + O - C) / 2) * f, + y1: U + ((F - z + R - D) / 2) * h, + }); + B && + ((V.x0 = d(y.xaxis, V.x0)), (V.x1 = d(y.xaxis, V.x1))), + N && + ((V.y0 = d(y.yaxis, V.y0)), + (V.y1 = d(y.yaxis, V.y1))), + (L.x0 = V.x0), + (L.y0 = V.y0), + (L.x1 = V.x1), + (L.y1 = V.y1); + } else + (L.type = "path"), + T && k && _(E, T, k), + (L.path = x(E)), + (n = null); + return L; + } + t.exports = { + newShapes: function (t, e) { + if (t.length && t[0][0]) { + var r = e.gd, + n = e.isActiveShape, + a = e.dragmode, + o = (r.layout || {}).shapes || []; + if (!i(a) && void 0 !== n) { + var s = r._fullLayout._activeShapeIndex; + if (s < o.length) + switch (r._fullLayout.shapes[s].type) { + case "rect": + a = "drawrect"; + break; + case "circle": + a = "drawcircle"; + break; + case "line": + a = "drawline"; + break; + case "path": + var l = o[s].path || ""; + a = + "Z" === l[l.length - 1] + ? "drawclosedpath" + : "drawopenpath"; + } + } + var u = w(t, e, a); + g(r); + for ( + var c = e.editHelpers, + f = (c || {}).modifyItem, + h = [], + p = 0; + p < o.length; + p++ + ) { + var d = r._fullLayout.shapes[p]; + if ( + ((h[p] = d._input), + void 0 !== n && + p === r._fullLayout._activeShapeIndex) + ) { + var v = u; + switch (d.type) { + case "line": + case "rect": + case "circle": + f("x0", v.x0), + f("x1", v.x1), + f("y0", v.y0), + f("y1", v.y1); + break; + case "path": + f("path", v.path); + } + } + } + return void 0 === n + ? (h.push(u), h) + : c + ? c.getUpdateObj() + : {}; + } + }, + createShapeObj: w, + }; + }, + 51873: function (t) { + "use strict"; + t.exports = { + clearOutlineControllers: function (t) { + var e = t._fullLayout._zoomlayer; + e && e.selectAll(".outline-controllers").remove(); + }, + clearOutline: function (t) { + var e = t._fullLayout._zoomlayer; + e && e.selectAll(".select-outline").remove(), + (t._fullLayout._outlining = !1); + }, + }; + }, + 30477: function (t, e, r) { + "use strict"; + var n = r(21459), + i = r(71828), + a = r(89298); + (e.rangeToShapePosition = function (t) { + return "log" === t.type + ? t.r2d + : function (t) { + return t; + }; + }), + (e.shapePositionToRange = function (t) { + return "log" === t.type + ? t.d2r + : function (t) { + return t; + }; + }), + (e.decodeDate = function (t) { + return function (e) { + return e.replace && (e = e.replace("_", " ")), t(e); + }; + }), + (e.encodeDate = function (t) { + return function (e) { + return t(e).replace(" ", "_"); + }; + }), + (e.extractPathCoords = function (t, e, r) { + var a = []; + return ( + t.match(n.segmentRE).forEach(function (t) { + var o = e[t.charAt(0)].drawn; + if (void 0 !== o) { + var s = t.substr(1).match(n.paramRE); + if (s && !(s.length < o)) { + var l = s[o], + u = r ? l : i.cleanNumber(l); + a.push(u); + } + } + }), + a + ); + }), + (e.getDataToPixel = function (t, r, n, i) { + var a, + o = t._fullLayout._size; + if (r) + if ("domain" === i) + a = function (t) { + return r._length * (n ? 1 - t : t) + r._offset; + }; + else { + var s = e.shapePositionToRange(r); + (a = function (t) { + return r._offset + r.r2p(s(t, !0)); + }), + "date" === r.type && (a = e.decodeDate(a)); + } + else + a = n + ? function (t) { + return o.t + o.h * (1 - t); + } + : function (t) { + return o.l + o.w * t; + }; + return a; + }), + (e.getPixelToData = function (t, r, n, i) { + var a, + o = t._fullLayout._size; + if (r) + if ("domain" === i) + a = function (t) { + var e = (t - r._offset) / r._length; + return n ? 1 - e : e; + }; + else { + var s = e.rangeToShapePosition(r); + a = function (t) { + return s(r.p2r(t - r._offset)); + }; + } + else + a = n + ? function (t) { + return 1 - (t - o.t) / o.h; + } + : function (t) { + return (t - o.l) / o.w; + }; + return a; + }), + (e.roundPositionForSharpStrokeRendering = function (t, e) { + var r = 1 === Math.round(e % 2), + n = Math.round(t); + return r ? n + 0.5 : n; + }), + (e.makeShapesOptionsAndPlotinfo = function (t, e) { + var r = t._fullLayout.shapes[e] || {}, + n = t._fullLayout._plots[r.xref + r.yref]; + return ( + n + ? (n._hadPlotinfo = !0) + : ((n = {}), + r.xref && + "paper" !== r.xref && + (n.xaxis = t._fullLayout[r.xref + "axis"]), + r.yref && + "paper" !== r.yref && + (n.yaxis = t._fullLayout[r.yref + "axis"])), + (n.xsizemode = r.xsizemode), + (n.ysizemode = r.ysizemode), + (n.xanchor = r.xanchor), + (n.yanchor = r.yanchor), + { options: r, plotinfo: n } + ); + }), + (e.makeSelectionsOptionsAndPlotinfo = function (t, e) { + var r = t._fullLayout.selections[e] || {}, + n = t._fullLayout._plots[r.xref + r.yref]; + return ( + n + ? (n._hadPlotinfo = !0) + : ((n = {}), + r.xref && + (n.xaxis = t._fullLayout[r.xref + "axis"]), + r.yref && + (n.yaxis = t._fullLayout[r.yref + "axis"])), + { options: r, plotinfo: n } + ); + }), + (e.getPathString = function (t, r) { + var o, + s, + l, + u, + c, + f, + h, + p, + d = r.type, + v = a.getRefType(r.xref), + g = a.getRefType(r.yref), + y = a.getFromId(t, r.xref), + m = a.getFromId(t, r.yref), + x = t._fullLayout._size; + if ( + (y + ? "domain" === v + ? (s = function (t) { + return y._offset + y._length * t; + }) + : ((o = e.shapePositionToRange(y)), + (s = function (t) { + return y._offset + y.r2p(o(t, !0)); + })) + : (s = function (t) { + return x.l + x.w * t; + }), + m + ? "domain" === g + ? (u = function (t) { + return m._offset + m._length * (1 - t); + }) + : ((l = e.shapePositionToRange(m)), + (u = function (t) { + return m._offset + m.r2p(l(t, !0)); + })) + : (u = function (t) { + return x.t + x.h * (1 - t); + }), + "path" === d) + ) + return ( + y && "date" === y.type && (s = e.decodeDate(s)), + m && "date" === m.type && (u = e.decodeDate(u)), + (function (t, e, r) { + var a = t.path, + o = t.xsizemode, + s = t.ysizemode, + l = t.xanchor, + u = t.yanchor; + return a.replace(n.segmentRE, function (t) { + var a = 0, + c = t.charAt(0), + f = n.paramIsX[c], + h = n.paramIsY[c], + p = n.numParams[c], + d = t + .substr(1) + .replace(n.paramRE, function (t) { + return ( + f[a] + ? (t = + "pixel" === o + ? e(l) + Number(t) + : e(t)) + : h[a] && + (t = + "pixel" === s + ? r(u) - Number(t) + : r(t)), + ++a > p && (t = "X"), + t + ); + }); + return ( + a > p && + ((d = d.replace(/[\s,]*X.*/, "")), + i.log( + "Ignoring extra params in segment " + t, + )), + c + d + ); + }); + })(r, s, u) + ); + if ("pixel" === r.xsizemode) { + var b = s(r.xanchor); + (c = b + r.x0), (f = b + r.x1); + } else (c = s(r.x0)), (f = s(r.x1)); + if ("pixel" === r.ysizemode) { + var _ = u(r.yanchor); + (h = _ - r.y0), (p = _ - r.y1); + } else (h = u(r.y0)), (p = u(r.y1)); + if ("line" === d) + return "M" + c + "," + h + "L" + f + "," + p; + if ("rect" === d) + return ( + "M" + c + "," + h + "H" + f + "V" + p + "H" + c + "Z" + ); + var w = (c + f) / 2, + T = (h + p) / 2, + k = Math.abs(w - c), + A = Math.abs(T - h), + M = "A" + k + "," + A, + S = w + k + "," + T; + return ( + "M" + + S + + M + + " 0 1,1 " + + w + + "," + + (T - A) + + M + + " 0 0,1 " + + S + + "Z" + ); + }); + }, + 89853: function (t, e, r) { + "use strict"; + var n = r(34031); + t.exports = { + moduleType: "component", + name: "shapes", + layoutAttributes: r(89827), + supplyLayoutDefaults: r(84726), + supplyDrawNewShapeDefaults: r(45547), + includeBasePlot: r(76325)("shapes"), + calcAutorange: r(5627), + draw: n.draw, + drawOne: n.drawOne, + }; + }, + 37281: function (t) { + "use strict"; + function e(t, e) { + return e ? e.d2l(t) : t; + } + function r(t, e) { + return e ? e.l2d(t) : t; + } + function n(t, r) { + return e(t.x1, r) - e(t.x0, r); + } + function i(t, r, n) { + return e(t.y1, n) - e(t.y0, n); + } + t.exports = { + x0: function (t) { + return t.x0; + }, + x1: function (t) { + return t.x1; + }, + y0: function (t) { + return t.y0; + }, + y1: function (t) { + return t.y1; + }, + slope: function (t, e, r) { + return "line" !== t.type ? void 0 : i(t, 0, r) / n(t, e); + }, + dx: n, + dy: i, + width: function (t, e) { + return Math.abs(n(t, e)); + }, + height: function (t, e, r) { + return Math.abs(i(t, 0, r)); + }, + length: function (t, e, r) { + return "line" !== t.type + ? void 0 + : Math.sqrt( + Math.pow(n(t, e), 2) + Math.pow(i(t, 0, r), 2), + ); + }, + xcenter: function (t, n) { + return r((e(t.x1, n) + e(t.x0, n)) / 2, n); + }, + ycenter: function (t, n, i) { + return r((e(t.y1, i) + e(t.y0, i)) / 2, i); + }, + }; + }, + 75067: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(35025), + a = r(1426).extendDeepAll, + o = r(30962).overrideAll, + s = r(85594), + l = r(44467).templatedArray, + u = r(98292), + c = l("step", { + visible: { valType: "boolean", dflt: !0 }, + 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 }, + }); + t.exports = o( + l("slider", { + visible: { valType: "boolean", dflt: !0 }, + active: { valType: "number", min: 0, dflt: 0 }, + steps: c, + 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: a( + i({ editType: "arraydraw" }), + {}, + { t: { dflt: 20 } }, + ), + xanchor: { + valType: "enumerated", + values: ["auto", "left", "center", "right"], + dflt: "left", + }, + y: { valType: "number", min: -2, max: 3, dflt: 0 }, + yanchor: { + valType: "enumerated", + values: ["auto", "top", "middle", "bottom"], + dflt: "top", + }, + transition: { + duration: { valType: "number", min: 0, dflt: 150 }, + easing: { + valType: "enumerated", + values: s.transition.easing.values, + dflt: "cubic-in-out", + }, + }, + currentvalue: { + visible: { valType: "boolean", dflt: !0 }, + xanchor: { + valType: "enumerated", + values: ["left", "center", "right"], + dflt: "left", + }, + offset: { valType: "number", dflt: 10 }, + prefix: { valType: "string" }, + suffix: { valType: "string" }, + font: n({}), + }, + font: n({}), + activebgcolor: { + valType: "color", + dflt: u.gripBgActiveColor, + }, + bgcolor: { valType: "color", dflt: u.railBgColor }, + bordercolor: { + valType: "color", + dflt: u.railBorderColor, + }, + borderwidth: { + valType: "number", + min: 0, + dflt: u.railBorderWidth, + }, + ticklen: { + valType: "number", + min: 0, + dflt: u.tickLength, + }, + tickcolor: { valType: "color", dflt: u.tickColor }, + tickwidth: { valType: "number", min: 0, dflt: 1 }, + minorticklen: { + valType: "number", + min: 0, + dflt: u.minorTickLength, + }, + }), + "arraydraw", + "from-root", + ); + }, + 98292: function (t) { + "use strict"; + t.exports = { + name: "sliders", + containerClassName: "slider-container", + groupClassName: "slider-group", + inputAreaClass: "slider-input-area", + railRectClass: "slider-rail-rect", + railTouchRectClass: "slider-rail-touch-rect", + gripRectClass: "slider-grip-rect", + tickRectClass: "slider-tick-rect", + inputProxyClass: "slider-input-proxy", + labelsClass: "slider-labels", + labelGroupClass: "slider-label-group", + labelClass: "slider-label", + currentValueClass: "slider-current-value", + railHeight: 5, + menuIndexAttrName: "slider-active-index", + autoMarginIdRoot: "slider-", + minWidth: 30, + minHeight: 30, + textPadX: 40, + 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, + }; + }, + 12343: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(85501), + a = r(75067), + o = r(98292).name, + s = a.steps; + function l(t, e, r) { + function o(r, i) { + return n.coerce(t, e, a, r, i); + } + for ( + var s = i(t, e, { name: "steps", handleItemDefaults: u }), + l = 0, + c = 0; + c < s.length; + c++ + ) + s[c].visible && l++; + if (l < 2 ? (e.visible = !1) : o("visible")) { + e._stepCount = l; + var f = (e._visibleSteps = n.filterVisible(s)); + (s[o("active")] || {}).visible || + (e.active = f[0]._index), + o("x"), + o("y"), + n.noneOrAll(t, e, ["x", "y"]), + o("xanchor"), + o("yanchor"), + o("len"), + o("lenmode"), + o("pad.t"), + o("pad.r"), + o("pad.b"), + o("pad.l"), + n.coerceFont(o, "font", r.font), + o("currentvalue.visible") && + (o("currentvalue.xanchor"), + o("currentvalue.prefix"), + o("currentvalue.suffix"), + o("currentvalue.offset"), + n.coerceFont(o, "currentvalue.font", e.font)), + o("transition.duration"), + o("transition.easing"), + o("bgcolor"), + o("activebgcolor"), + o("bordercolor"), + o("borderwidth"), + o("ticklen"), + o("tickwidth"), + o("tickcolor"), + o("minorticklen"); + } + } + function u(t, e) { + function r(r, i) { + return n.coerce(t, e, s, r, i); + } + if ( + "skip" === t.method || Array.isArray(t.args) + ? r("visible") + : (e.visible = !1) + ) { + r("method"), r("args"); + var i = r("label", "step-" + e._index); + r("value", i), r("execute"); + } + } + t.exports = function (t, e) { + i(t, e, { name: o, handleItemDefaults: l }); + }; + }, + 44504: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(74875), + a = r(7901), + o = r(91424), + s = r(71828), + l = s.strTranslate, + u = r(63893), + c = r(44467).arrayEditor, + f = r(98292), + h = r(18783), + p = h.LINE_SPACING, + d = h.FROM_TL, + v = h.FROM_BR; + function g(t) { + return f.autoMarginIdRoot + t._index; + } + function y(t) { + return t._index; + } + function m(t, e) { + var r = o.tester + .selectAll("g." + f.labelGroupClass) + .data(e._visibleSteps); + r.enter().append("g").classed(f.labelGroupClass, !0); + var a = 0, + l = 0; + r.each(function (t) { + var r = _(n.select(this), { step: t }, e).node(); + if (r) { + var i = o.bBox(r); + (l = Math.max(l, i.height)), (a = Math.max(a, i.width)); + } + }), + r.remove(); + var c = (e._dims = {}); + c.inputAreaWidth = Math.max(f.railWidth, f.gripHeight); + var h = t._fullLayout._size; + (c.lx = h.l + h.w * e.x), + (c.ly = h.t + h.h * (1 - e.y)), + "fraction" === e.lenmode + ? (c.outerLength = Math.round(h.w * e.len)) + : (c.outerLength = e.len), + (c.inputAreaStart = 0), + (c.inputAreaLength = Math.round( + c.outerLength - e.pad.l - e.pad.r, + )); + var p = + (c.inputAreaLength - 2 * f.stepInset) / + (e._stepCount - 1), + y = a + f.labelPadding; + if ( + ((c.labelStride = Math.max(1, Math.ceil(y / p))), + (c.labelHeight = l), + (c.currentValueMaxWidth = 0), + (c.currentValueHeight = 0), + (c.currentValueTotalHeight = 0), + (c.currentValueMaxLines = 1), + e.currentvalue.visible) + ) { + var m = o.tester.append("g"); + r.each(function (t) { + var r = x(m, e, t.label), + n = (r.node() && o.bBox(r.node())) || { + width: 0, + height: 0, + }, + i = u.lineCount(r); + (c.currentValueMaxWidth = Math.max( + c.currentValueMaxWidth, + Math.ceil(n.width), + )), + (c.currentValueHeight = Math.max( + c.currentValueHeight, + Math.ceil(n.height), + )), + (c.currentValueMaxLines = Math.max( + c.currentValueMaxLines, + i, + )); + }), + (c.currentValueTotalHeight = + c.currentValueHeight + e.currentvalue.offset), + m.remove(); + } + c.height = + c.currentValueTotalHeight + + f.tickOffset + + e.ticklen + + f.labelOffset + + c.labelHeight + + e.pad.t + + e.pad.b; + var b = "left"; + s.isRightAnchor(e) && + ((c.lx -= c.outerLength), (b = "right")), + s.isCenterAnchor(e) && + ((c.lx -= c.outerLength / 2), (b = "center")); + var w = "top"; + s.isBottomAnchor(e) && ((c.ly -= c.height), (w = "bottom")), + s.isMiddleAnchor(e) && + ((c.ly -= c.height / 2), (w = "middle")), + (c.outerLength = Math.ceil(c.outerLength)), + (c.height = Math.ceil(c.height)), + (c.lx = Math.round(c.lx)), + (c.ly = Math.round(c.ly)); + var T = { y: e.y, b: c.height * v[w], t: c.height * d[w] }; + "fraction" === e.lenmode + ? ((T.l = 0), + (T.xl = e.x - e.len * d[b]), + (T.r = 0), + (T.xr = e.x + e.len * v[b])) + : ((T.x = e.x), + (T.l = c.outerLength * d[b]), + (T.r = c.outerLength * v[b])), + i.autoMargin(t, g(e), T); + } + function x(t, e, r) { + if (e.currentvalue.visible) { + var n, + i, + a = e._dims; + switch (e.currentvalue.xanchor) { + case "right": + (n = + a.inputAreaLength - + f.currentValueInset - + a.currentValueMaxWidth), + (i = "left"); + break; + case "center": + (n = 0.5 * a.inputAreaLength), (i = "middle"); + break; + default: + (n = f.currentValueInset), (i = "left"); + } + var l = s.ensureSingle( + t, + "text", + f.labelClass, + function (t) { + t.attr({ "text-anchor": i, "data-notex": 1 }); + }, + ), + c = e.currentvalue.prefix ? e.currentvalue.prefix : ""; + if ("string" == typeof r) c += r; + else { + var h = e.steps[e.active].label, + d = e._gd._fullLayout._meta; + d && (h = s.templateString(h, d)), (c += h); + } + e.currentvalue.suffix && (c += e.currentvalue.suffix), + l + .call(o.font, e.currentvalue.font) + .text(c) + .call(u.convertToTspans, e._gd); + var v = u.lineCount(l), + g = + (a.currentValueMaxLines + 1 - v) * + e.currentvalue.font.size * + p; + return u.positionText(l, n, g), l; + } + } + function b(t, e, r) { + s.ensureSingle(t, "rect", f.gripRectClass, function (n) { + n.call(A, e, t, r).style("pointer-events", "all"); + }) + .attr({ + width: f.gripWidth, + height: f.gripHeight, + rx: f.gripRadius, + ry: f.gripRadius, + }) + .call(a.stroke, r.bordercolor) + .call(a.fill, r.bgcolor) + .style("stroke-width", r.borderwidth + "px"); + } + function _(t, e, r) { + var n = s.ensureSingle( + t, + "text", + f.labelClass, + function (t) { + t.attr({ "text-anchor": "middle", "data-notex": 1 }); + }, + ), + i = e.step.label, + a = r._gd._fullLayout._meta; + return ( + a && (i = s.templateString(i, a)), + n + .call(o.font, r.font) + .text(i) + .call(u.convertToTspans, r._gd), + n + ); + } + function w(t, e) { + var r = s.ensureSingle(t, "g", f.labelsClass), + i = e._dims, + a = r + .selectAll("g." + f.labelGroupClass) + .data(i.labelSteps); + a.enter().append("g").classed(f.labelGroupClass, !0), + a.exit().remove(), + a.each(function (t) { + var r = n.select(this); + r.call(_, t, e), + o.setTranslate( + r, + E(e, t.fraction), + f.tickOffset + + e.ticklen + + e.font.size * p + + f.labelOffset + + i.currentValueTotalHeight, + ); + }); + } + function T(t, e, r, n, i) { + var a = Math.round(n * (r._stepCount - 1)), + o = r._visibleSteps[a]._index; + o !== r.active && k(t, e, r, o, !0, i); + } + function k(t, e, r, n, a, o) { + var s = r.active; + (r.active = n), + c(t.layout, f.name, r).applyUpdate("active", n); + var l = r.steps[r.active]; + e.call(S, r, o), + e.call(x, r), + t.emit("plotly_sliderchange", { + slider: r, + step: r.steps[r.active], + interaction: a, + previousActive: s, + }), + l && + l.method && + a && + (e._nextMethod + ? ((e._nextMethod.step = l), + (e._nextMethod.doCallback = a), + (e._nextMethod.doTransition = o)) + : ((e._nextMethod = { + step: l, + doCallback: a, + doTransition: o, + }), + (e._nextMethodRaf = window.requestAnimationFrame( + function () { + var r = e._nextMethod.step; + r.method && + (r.execute && + i.executeAPICommand(t, r.method, r.args), + (e._nextMethod = null), + (e._nextMethodRaf = null)); + }, + )))); + } + function A(t, e, r) { + if (!e._context.staticPlot) { + var i = r.node(), + o = n.select(e); + t.on("mousedown", l), t.on("touchstart", l); + } + function s() { + return r.data()[0]; + } + function l() { + var t = s(); + e.emit("plotly_sliderstart", { slider: t }); + var l = r.select("." + f.gripRectClass); + n.event.stopPropagation(), + n.event.preventDefault(), + l.call(a.fill, t.activebgcolor); + var u = L(t, n.mouse(i)[0]); + function c() { + var t = s(), + a = L(t, n.mouse(i)[0]); + T(e, r, t, a, !1); + } + function h() { + var t = s(); + (t._dragging = !1), + l.call(a.fill, t.bgcolor), + o.on("mouseup", null), + o.on("mousemove", null), + o.on("touchend", null), + o.on("touchmove", null), + e.emit("plotly_sliderend", { + slider: t, + step: t.steps[t.active], + }); + } + T(e, r, t, u, !0), + (t._dragging = !0), + o.on("mousemove", c), + o.on("touchmove", c), + o.on("mouseup", h), + o.on("touchend", h); + } + } + function M(t, e) { + var r = t + .selectAll("rect." + f.tickRectClass) + .data(e._visibleSteps), + i = e._dims; + r.enter().append("rect").classed(f.tickRectClass, !0), + r.exit().remove(), + r.attr({ + width: e.tickwidth + "px", + "shape-rendering": "crispEdges", + }), + r.each(function (t, r) { + var s = r % i.labelStride == 0, + l = n.select(this); + l + .attr({ height: s ? e.ticklen : e.minorticklen }) + .call(a.fill, e.tickcolor), + o.setTranslate( + l, + E(e, r / (e._stepCount - 1)) - 0.5 * e.tickwidth, + (s ? f.tickOffset : f.minorTickOffset) + + i.currentValueTotalHeight, + ); + }); + } + function S(t, e, r) { + for ( + var n = t.select("rect." + f.gripRectClass), i = 0, a = 0; + a < e._stepCount; + a++ + ) + if (e._visibleSteps[a]._index === e.active) { + i = a; + break; + } + var o = E(e, i / (e._stepCount - 1)); + if (!e._invokingCommand) { + var s = n; + r && + e.transition.duration > 0 && + (s = s + .transition() + .duration(e.transition.duration) + .ease(e.transition.easing)), + s.attr( + "transform", + l( + o - 0.5 * f.gripWidth, + e._dims.currentValueTotalHeight, + ), + ); + } + } + function E(t, e) { + var r = t._dims; + return ( + r.inputAreaStart + + f.stepInset + + (r.inputAreaLength - 2 * f.stepInset) * + Math.min(1, Math.max(0, e)) + ); + } + function L(t, e) { + var r = t._dims; + return Math.min( + 1, + Math.max( + 0, + (e - f.stepInset - r.inputAreaStart) / + (r.inputAreaLength - + 2 * f.stepInset - + 2 * r.inputAreaStart), + ), + ); + } + function C(t, e, r) { + var n = r._dims, + i = s.ensureSingle( + t, + "rect", + f.railTouchRectClass, + function (n) { + n.call(A, e, t, r).style("pointer-events", "all"); + }, + ); + i + .attr({ + width: n.inputAreaLength, + height: Math.max( + n.inputAreaWidth, + f.tickOffset + r.ticklen + n.labelHeight, + ), + }) + .call(a.fill, r.bgcolor) + .attr("opacity", 0), + o.setTranslate(i, 0, n.currentValueTotalHeight); + } + function P(t, e) { + var r = e._dims, + n = r.inputAreaLength - 2 * f.railInset, + i = s.ensureSingle(t, "rect", f.railRectClass); + i + .attr({ + width: n, + height: f.railWidth, + rx: f.railRadius, + ry: f.railRadius, + "shape-rendering": "crispEdges", + }) + .call(a.stroke, e.bordercolor) + .call(a.fill, e.bgcolor) + .style("stroke-width", e.borderwidth + "px"), + o.setTranslate( + i, + f.railInset, + 0.5 * (r.inputAreaWidth - f.railWidth) + + r.currentValueTotalHeight, + ); + } + t.exports = function (t) { + var e = t._context.staticPlot, + r = t._fullLayout, + a = (function (t, e) { + for ( + var r = t[f.name], n = [], i = 0; + i < r.length; + i++ + ) { + var a = r[i]; + a.visible && ((a._gd = e), n.push(a)); + } + return n; + })(r, t), + s = r._infolayer + .selectAll("g." + f.containerClassName) + .data(a.length > 0 ? [0] : []); + function l(e) { + e._commandObserver && + (e._commandObserver.remove(), + delete e._commandObserver), + i.autoMargin(t, g(e)); + } + if ( + (s + .enter() + .append("g") + .classed(f.containerClassName, !0) + .style("cursor", e ? null : "ew-resize"), + s + .exit() + .each(function () { + n.select(this) + .selectAll("g." + f.groupClassName) + .each(l); + }) + .remove(), + 0 !== a.length) + ) { + var u = s.selectAll("g." + f.groupClassName).data(a, y); + u.enter().append("g").classed(f.groupClassName, !0), + u.exit().each(l).remove(); + for (var c = 0; c < a.length; c++) { + var h = a[c]; + m(t, h); + } + u.each(function (e) { + var r = n.select(this); + !(function (t) { + var e = t._dims; + e.labelSteps = []; + for ( + var r = t._stepCount, n = 0; + n < r; + n += e.labelStride + ) + e.labelSteps.push({ + fraction: n / (r - 1), + step: t._visibleSteps[n], + }); + })(e), + i.manageCommandObserver( + t, + e, + e._visibleSteps, + function (e) { + var n = r.data()[0]; + n.active !== e.index && + (n._dragging || k(t, r, n, e.index, !1, !0)); + }, + ), + (function (t, e, r) { + (r.steps[r.active] || {}).visible || + (r.active = r._visibleSteps[0]._index), + e + .call(x, r) + .call(P, r) + .call(w, r) + .call(M, r) + .call(C, t, r) + .call(b, t, r); + var n = r._dims; + o.setTranslate(e, n.lx + r.pad.l, n.ly + r.pad.t), + e.call(S, r, !1), + e.call(x, r); + })(t, n.select(this), e); + }); + } + }; + }, + 23243: function (t, e, r) { + "use strict"; + var n = r(98292); + t.exports = { + moduleType: "component", + name: n.name, + layoutAttributes: r(75067), + supplyLayoutDefaults: r(12343), + draw: r(44504), + }; + }, + 92998: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = r(74875), + o = r(73972), + s = r(71828), + l = s.strTranslate, + u = r(91424), + c = r(7901), + f = r(63893), + h = r(37822), + p = r(18783).OPPOSITE_SIDE, + d = / [XY][0-9]* /; + t.exports = { + draw: function (t, e, r) { + var v, + g = r.propContainer, + y = r.propName, + m = r.placeholder, + x = r.traceIndex, + b = r.avoid || {}, + _ = r.attributes, + w = r.transform, + T = r.containerGroup, + k = t._fullLayout, + A = 1, + M = !1, + S = g.title, + E = (S && S.text ? S.text : "").trim(), + L = S && S.font ? S.font : {}, + C = L.family, + P = L.size, + O = L.color; + "title.text" === y + ? (v = "titleText") + : -1 !== y.indexOf("axis") + ? (v = "axisTitleText") + : y.indexOf(!0) && (v = "colorbarTitleText"); + var I = t._context.edits[v]; + "" === E + ? (A = 0) + : E.replace(d, " % ") === m.replace(d, " % ") && + ((A = 0.2), (M = !0), I || (E = "")), + r._meta + ? (E = s.templateString(E, r._meta)) + : k._meta && (E = s.templateString(E, k._meta)); + var D, + z = E || I; + T || + ((T = s.ensureSingle(k._infolayer, "g", "g-" + e)), + (D = k._hColorbarMoveTitle)); + var R = T.selectAll("text").data(z ? [0] : []); + if ( + (R.enter().append("text"), + R.text(E).attr("class", e), + R.exit().remove(), + !z) + ) + return T; + function F(t) { + s.syncOrAsync([B, N], t); + } + function B(e) { + var r; + return ( + !w && D && (w = {}), + w + ? ((r = ""), + w.rotate && + (r += "rotate(" + [w.rotate, _.x, _.y] + ")"), + (w.offset || D) && + (r += l(0, (w.offset || 0) - (D || 0)))) + : (r = null), + e.attr("transform", r), + e + .style({ + "font-family": C, + "font-size": n.round(P, 2) + "px", + fill: c.rgb(O), + opacity: A * c.opacity(O), + "font-weight": a.fontWeight, + }) + .attr(_) + .call(f.convertToTspans, t), + a.previousPromises(t) + ); + } + function N(e) { + var r = n.select(e.node().parentNode); + if (b && b.selection && b.side && E) { + r.attr("transform", null); + var a = p[b.side], + o = "left" === b.side || "top" === b.side ? -1 : 1, + c = i(b.pad) ? b.pad : 2, + f = u.bBox(r.node()), + h = { t: 0, b: 0, l: 0, r: 0 }, + d = t._fullLayout._reservedMargin; + for (var v in d) + for (var y in d[v]) { + var m = d[v][y]; + h[y] = Math.max(h[y], m); + } + var x = { + left: h.l, + top: h.t, + right: k.width - h.r, + bottom: k.height - h.b, + }, + _ = b.maxShift || o * (x[b.side] - f[b.side]), + w = 0; + if (_ < 0) w = _; + else { + var T = b.offsetLeft || 0, + A = b.offsetTop || 0; + (f.left -= T), + (f.right -= T), + (f.top -= A), + (f.bottom -= A), + b.selection.each(function () { + var t = u.bBox(this); + s.bBoxIntersect(f, t, c) && + (w = Math.max(w, o * (t[b.side] - f[a]) + c)); + }), + (w = Math.min(_, w)), + (g._titleScoot = Math.abs(w)); + } + if (w > 0 || _ < 0) { + var M = { + left: [-w, 0], + right: [w, 0], + top: [0, -w], + bottom: [0, w], + }[b.side]; + r.attr("transform", l(M[0], M[1])); + } + } + } + return ( + R.call(F), + I && + (E + ? R.on(".opacity", null) + : ((A = 0), + (M = !0), + R.text(m) + .on("mouseover.opacity", function () { + n.select(this) + .transition() + .duration(h.SHOW_PLACEHOLDER) + .style("opacity", 1); + }) + .on("mouseout.opacity", function () { + n.select(this) + .transition() + .duration(h.HIDE_PLACEHOLDER) + .style("opacity", 0); + })), + R.call(f.makeEditable, { gd: t }) + .on("edit", function (e) { + void 0 !== x + ? o.call("_guiRestyle", t, y, e, x) + : o.call("_guiRelayout", t, y, e); + }) + .on("cancel", function () { + this.text(this.attr("data-unformatted")).call(F); + }) + .on("input", function (t) { + this.text(t || " ").call( + f.positionText, + _.x, + _.y, + ); + })), + R.classed("js-placeholder", M), + T + ); + }, + }; + }, + 7163: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(22399), + a = r(1426).extendFlat, + o = r(30962).overrideAll, + s = r(35025), + l = r(44467).templatedArray, + u = l("button", { + visible: { valType: "boolean" }, + method: { + valType: "enumerated", + values: [ + "restyle", + "relayout", + "animate", + "update", + "skip", + ], + dflt: "restyle", + }, + args: { + valType: "info_array", + freeLength: !0, + items: [ + { valType: "any" }, + { valType: "any" }, + { valType: "any" }, + ], + }, + args2: { + valType: "info_array", + freeLength: !0, + items: [ + { valType: "any" }, + { valType: "any" }, + { valType: "any" }, + ], + }, + label: { valType: "string", dflt: "" }, + execute: { valType: "boolean", dflt: !0 }, + }); + t.exports = o( + l("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: u, + x: { valType: "number", min: -2, max: 3, dflt: -0.05 }, + xanchor: { + valType: "enumerated", + values: ["auto", "left", "center", "right"], + dflt: "right", + }, + y: { valType: "number", min: -2, max: 3, dflt: 1 }, + yanchor: { + valType: "enumerated", + values: ["auto", "top", "middle", "bottom"], + dflt: "top", + }, + pad: a(s({ editType: "arraydraw" }), {}), + font: n({}), + bgcolor: { valType: "color" }, + bordercolor: { valType: "color", dflt: i.borderLine }, + borderwidth: { + valType: "number", + min: 0, + dflt: 1, + editType: "arraydraw", + }, + }), + "arraydraw", + "from-root", + ); + }, + 75909: function (t) { + "use strict"; + t.exports = { + name: "updatemenus", + containerClassName: "updatemenu-container", + headerGroupClassName: "updatemenu-header-group", + headerClassName: "updatemenu-header", + headerArrowClassName: "updatemenu-header-arrow", + dropdownButtonGroupClassName: + "updatemenu-dropdown-button-group", + dropdownButtonClassName: "updatemenu-dropdown-button", + buttonClassName: "updatemenu-button", + itemRectClassName: "updatemenu-item-rect", + itemTextClassName: "updatemenu-item-text", + menuIndexAttrName: "updatemenu-active-index", + autoMarginIdRoot: "updatemenu-", + blankHeaderOpts: { label: " " }, + minWidth: 30, + minHeight: 30, + textPadX: 24, + arrowPadX: 16, + rx: 2, + ry: 2, + textOffsetX: 12, + textOffsetY: 3, + arrowOffsetX: 4, + gapButtonHeader: 5, + gapButton: 2, + activeColor: "#F4FAFF", + hoverColor: "#F4FAFF", + arrowSymbol: { left: "◄", right: "►", up: "▲", down: "▼" }, + }; + }, + 64897: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(85501), + a = r(7163), + o = r(75909).name, + s = a.buttons; + function l(t, e, r) { + function o(r, i) { + return n.coerce(t, e, a, r, i); + } + o( + "visible", + i(t, e, { name: "buttons", handleItemDefaults: u }) + .length > 0, + ) && + (o("active"), + o("direction"), + o("type"), + o("showactive"), + o("x"), + o("y"), + n.noneOrAll(t, e, ["x", "y"]), + o("xanchor"), + o("yanchor"), + o("pad.t"), + o("pad.r"), + o("pad.b"), + o("pad.l"), + n.coerceFont(o, "font", r.font), + o("bgcolor", r.paper_bgcolor), + o("bordercolor"), + o("borderwidth")); + } + function u(t, e) { + function r(r, i) { + return n.coerce(t, e, s, r, i); + } + r( + "visible", + "skip" === t.method || Array.isArray(t.args), + ) && + (r("method"), + r("args"), + r("args2"), + r("label"), + r("execute")); + } + t.exports = function (t, e) { + i(t, e, { name: o, handleItemDefaults: l }); + }; + }, + 13689: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(74875), + a = r(7901), + o = r(91424), + s = r(71828), + l = r(63893), + u = r(44467).arrayEditor, + c = r(18783).LINE_SPACING, + f = r(75909), + h = r(25849); + function p(t) { + return t._index; + } + function d(t, e) { + return +t.attr(f.menuIndexAttrName) === e._index; + } + function v(t, e, r, n, i, a, o, s) { + (e.active = o), + u(t.layout, f.name, e).applyUpdate("active", o), + "buttons" === e.type + ? y(t, n, null, null, e) + : "dropdown" === e.type && + (i.attr(f.menuIndexAttrName, "-1"), + g(t, n, i, a, e), + s || y(t, n, i, a, e)); + } + function g(t, e, r, n, i) { + var a = s.ensureSingle( + e, + "g", + f.headerClassName, + function (t) { + t.style("pointer-events", "all"); + }, + ), + l = i._dims, + u = i.active, + c = i.buttons[u] || f.blankHeaderOpts, + h = { + y: i.pad.t, + yPad: 0, + x: i.pad.l, + xPad: 0, + index: 0, + }, + p = { width: l.headerWidth, height: l.headerHeight }; + a.call(m, i, c, t).call(M, i, h, p), + s + .ensureSingle( + e, + "text", + f.headerArrowClassName, + function (t) { + t.attr("text-anchor", "end") + .call(o.font, i.font) + .text(f.arrowSymbol[i.direction]); + }, + ) + .attr({ + x: l.headerWidth - f.arrowOffsetX + i.pad.l, + y: l.headerHeight / 2 + f.textOffsetY + i.pad.t, + }), + a.on("click", function () { + r.call(S, String(d(r, i) ? -1 : i._index)), + y(t, e, r, n, i); + }), + a.on("mouseover", function () { + a.call(w); + }), + a.on("mouseout", function () { + a.call(T, i); + }), + o.setTranslate(e, l.lx, l.ly); + } + function y(t, e, r, a, o) { + r || (r = e).attr("pointer-events", "all"); + var l = + (function (t) { + return -1 == +t.attr(f.menuIndexAttrName); + })(r) && "buttons" !== o.type + ? [] + : o.buttons, + u = + "dropdown" === o.type + ? f.dropdownButtonClassName + : f.buttonClassName, + c = r.selectAll("g." + u).data(s.filterVisible(l)), + h = c.enter().append("g").classed(u, !0), + p = c.exit(); + "dropdown" === o.type + ? (h + .attr("opacity", "0") + .transition() + .attr("opacity", "1"), + p.transition().attr("opacity", "0").remove()) + : p.remove(); + var d = 0, + g = 0, + y = o._dims, + x = -1 !== ["up", "down"].indexOf(o.direction); + "dropdown" === o.type && + (x + ? (g = y.headerHeight + f.gapButtonHeader) + : (d = y.headerWidth + f.gapButtonHeader)), + "dropdown" === o.type && + "up" === o.direction && + (g = -f.gapButtonHeader + f.gapButton - y.openHeight), + "dropdown" === o.type && + "left" === o.direction && + (d = -f.gapButtonHeader + f.gapButton - y.openWidth); + var b = { + x: y.lx + d + o.pad.l, + y: y.ly + g + o.pad.t, + yPad: f.gapButton, + xPad: f.gapButton, + index: 0, + }, + k = { l: b.x + o.borderwidth, t: b.y + o.borderwidth }; + c.each(function (s, l) { + var u = n.select(this); + u.call(m, o, s, t).call(M, o, b), + u.on("click", function () { + n.event.defaultPrevented || + (s.execute && + (s.args2 && o.active === l + ? (v(t, o, 0, e, r, a, -1), + i.executeAPICommand(t, s.method, s.args2)) + : (v(t, o, 0, e, r, a, l), + i.executeAPICommand(t, s.method, s.args))), + t.emit("plotly_buttonclicked", { + menu: o, + button: s, + active: o.active, + })); + }), + u.on("mouseover", function () { + u.call(w); + }), + u.on("mouseout", function () { + u.call(T, o), c.call(_, o); + }); + }), + c.call(_, o), + x + ? ((k.w = Math.max(y.openWidth, y.headerWidth)), + (k.h = b.y - k.t)) + : ((k.w = b.x - k.l), + (k.h = Math.max(y.openHeight, y.headerHeight))), + (k.direction = o.direction), + a && + (c.size() + ? (function (t, e, r, n, i, a) { + var o, + s, + l, + u = i.direction, + c = "up" === u || "down" === u, + h = i._dims, + p = i.active; + if (c) + for (s = 0, l = 0; l < p; l++) + s += h.heights[l] + f.gapButton; + else + for (o = 0, l = 0; l < p; l++) + o += h.widths[l] + f.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, a, o, k) + : (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(); + }); + })(a)); + } + function m(t, e, r, n) { + t.call(x, e).call(b, e, r, n); + } + function x(t, e) { + s.ensureSingle( + t, + "rect", + f.itemRectClassName, + function (t) { + t.attr({ + rx: f.rx, + ry: f.ry, + "shape-rendering": "crispEdges", + }); + }, + ) + .call(a.stroke, e.bordercolor) + .call(a.fill, e.bgcolor) + .style("stroke-width", e.borderwidth + "px"); + } + function b(t, e, r, n) { + var i = s.ensureSingle( + t, + "text", + f.itemTextClassName, + function (t) { + t.attr({ "text-anchor": "start", "data-notex": 1 }); + }, + ), + a = r.label, + u = n._fullLayout._meta; + u && (a = s.templateString(a, u)), + i.call(o.font, e.font).text(a).call(l.convertToTspans, n); + } + function _(t, e) { + var r = e.active; + t.each(function (t, i) { + var o = n.select(this); + i === r && + e.showactive && + o + .select("rect." + f.itemRectClassName) + .call(a.fill, f.activeColor); + }); + } + function w(t) { + t.select("rect." + f.itemRectClassName).call( + a.fill, + f.hoverColor, + ); + } + function T(t, e) { + t.select("rect." + f.itemRectClassName).call( + a.fill, + e.bgcolor, + ); + } + function k(t, e) { + var r = (e._dims = { + width1: 0, + height1: 0, + heights: [], + widths: [], + totalWidth: 0, + totalHeight: 0, + openWidth: 0, + openHeight: 0, + lx: 0, + ly: 0, + }), + a = o.tester + .selectAll("g." + f.dropdownButtonClassName) + .data(s.filterVisible(e.buttons)); + a.enter() + .append("g") + .classed(f.dropdownButtonClassName, !0); + var u = -1 !== ["up", "down"].indexOf(e.direction); + a.each(function (i, a) { + var s = n.select(this); + s.call(m, e, i, t); + var h = s.select("." + f.itemTextClassName), + p = h.node() && o.bBox(h.node()).width, + d = Math.max(p + f.textPadX, f.minWidth), + v = e.font.size * c, + g = l.lineCount(h), + y = Math.max(v * g, f.minHeight) + f.textOffsetY; + (y = Math.ceil(y)), + (d = Math.ceil(d)), + (r.widths[a] = d), + (r.heights[a] = y), + (r.height1 = Math.max(r.height1, y)), + (r.width1 = Math.max(r.width1, d)), + u + ? ((r.totalWidth = Math.max(r.totalWidth, d)), + (r.openWidth = r.totalWidth), + (r.totalHeight += y + f.gapButton), + (r.openHeight += y + f.gapButton)) + : ((r.totalWidth += d + f.gapButton), + (r.openWidth += d + f.gapButton), + (r.totalHeight = Math.max(r.totalHeight, y)), + (r.openHeight = r.totalHeight)); + }), + u + ? (r.totalHeight -= f.gapButton) + : (r.totalWidth -= f.gapButton), + (r.headerWidth = r.width1 + f.arrowPadX), + (r.headerHeight = r.height1), + "dropdown" === e.type && + (u + ? ((r.width1 += f.arrowPadX), + (r.totalHeight = r.height1)) + : (r.totalWidth = r.width1), + (r.totalWidth += f.arrowPadX)), + a.remove(); + var h = r.totalWidth + e.pad.l + e.pad.r, + p = r.totalHeight + e.pad.t + e.pad.b, + d = t._fullLayout._size; + (r.lx = d.l + d.w * e.x), (r.ly = d.t + d.h * (1 - e.y)); + var v = "left"; + s.isRightAnchor(e) && ((r.lx -= h), (v = "right")), + s.isCenterAnchor(e) && ((r.lx -= h / 2), (v = "center")); + var g = "top"; + s.isBottomAnchor(e) && ((r.ly -= p), (g = "bottom")), + s.isMiddleAnchor(e) && ((r.ly -= p / 2), (g = "middle")), + (r.totalWidth = Math.ceil(r.totalWidth)), + (r.totalHeight = Math.ceil(r.totalHeight)), + (r.lx = Math.round(r.lx)), + (r.ly = Math.round(r.ly)), + i.autoMargin(t, A(e), { + x: e.x, + y: e.y, + l: h * ({ right: 1, center: 0.5 }[v] || 0), + r: h * ({ left: 1, center: 0.5 }[v] || 0), + b: p * ({ top: 1, middle: 0.5 }[g] || 0), + t: p * ({ bottom: 1, middle: 0.5 }[g] || 0), + }); + } + function A(t) { + return f.autoMarginIdRoot + t._index; + } + function M(t, e, r, n) { + n = n || {}; + var i = t.select("." + f.itemRectClassName), + a = t.select("." + f.itemTextClassName), + s = e.borderwidth, + u = r.index, + h = e._dims; + o.setTranslate(t, s + r.x, s + r.y); + var p = -1 !== ["up", "down"].indexOf(e.direction), + d = n.height || (p ? h.heights[u] : h.height1); + i.attr({ + x: 0, + y: 0, + width: n.width || (p ? h.width1 : h.widths[u]), + height: d, + }); + var v = e.font.size * c, + g = ((l.lineCount(a) - 1) * v) / 2; + l.positionText(a, f.textOffsetX, d / 2 - g + f.textOffsetY), + p + ? (r.y += h.heights[u] + r.yPad) + : (r.x += h.widths[u] + r.xPad), + r.index++; + } + function S(t, e) { + t.attr(f.menuIndexAttrName, e || "-1") + .selectAll("g." + f.dropdownButtonClassName) + .remove(); + } + t.exports = function (t) { + var e = t._fullLayout, + r = s.filterVisible(e[f.name]); + function a(e) { + i.autoMargin(t, A(e)); + } + var o = e._menulayer + .selectAll("g." + f.containerClassName) + .data(r.length > 0 ? [0] : []); + if ( + (o + .enter() + .append("g") + .classed(f.containerClassName, !0) + .style("cursor", "pointer"), + o + .exit() + .each(function () { + n.select(this) + .selectAll("g." + f.headerGroupClassName) + .each(a); + }) + .remove(), + 0 !== r.length) + ) { + var l = o + .selectAll("g." + f.headerGroupClassName) + .data(r, p); + l.enter().append("g").classed(f.headerGroupClassName, !0); + for ( + var u = s.ensureSingle( + o, + "g", + f.dropdownButtonGroupClassName, + function (t) { + t.style("pointer-events", "all"); + }, + ), + c = 0; + c < r.length; + c++ + ) { + var m = r[c]; + k(t, m); + } + var x = "updatemenus" + e._uid, + b = new h(t, u, x); + l.enter().size() && + (u.node().parentNode.appendChild(u.node()), u.call(S)), + l + .exit() + .each(function (t) { + u.call(S), a(t); + }) + .remove(), + l.each(function (e) { + var r = n.select(this), + a = "dropdown" === e.type ? u : null; + i.manageCommandObserver( + t, + e, + e.buttons, + function (n) { + v(t, e, e.buttons[n.index], r, a, b, n.index, !0); + }, + ), + "dropdown" === e.type + ? (g(t, r, u, b, e), d(u, e) && y(t, r, u, b, e)) + : y(t, r, null, null, e); + }); + } + }; + }, + 20763: function (t, e, r) { + "use strict"; + var n = r(75909); + t.exports = { + moduleType: "component", + name: n.name, + layoutAttributes: r(7163), + supplyLayoutDefaults: r(64897), + draw: r(13689), + }; + }, + 25849: function (t, e, r) { + "use strict"; + t.exports = s; + var n = r(39898), + i = r(7901), + a = r(91424), + o = r(71828); + function s(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 }); + } + (s.barWidth = 2), + (s.barLength = 20), + (s.barRadius = 2), + (s.barPad = 1), + (s.barColor = "#808BA4"), + (s.prototype.enable = function (t, e, r) { + var o = this.gd._fullLayout, + l = o.width, + u = o.height; + this.position = t; + var c, + f, + h, + p, + d = this.position.l, + v = this.position.w, + g = this.position.t, + y = this.position.h, + m = this.position.direction, + x = "down" === m, + b = "left" === m, + _ = "up" === m, + w = v, + T = y; + x || + b || + "right" === m || + _ || + ((this.position.direction = "down"), (x = !0)), + x || _ + ? ((f = (c = d) + w), + x + ? ((h = g), (T = (p = Math.min(h + T, u)) - h)) + : (T = (p = g + T) - (h = Math.max(p - T, 0)))) + : ((p = (h = g) + T), + b + ? (w = (f = d + w) - (c = Math.max(f - w, 0))) + : ((c = d), (w = (f = Math.min(c + w, l)) - c))), + (this._box = { l: c, t: h, w, h: T }); + var k = v > w, + A = s.barLength + 2 * s.barPad, + M = s.barWidth + 2 * s.barPad, + S = d, + E = g + y; + E + M > u && (E = u - M); + var L = this.container + .selectAll("rect.scrollbar-horizontal") + .data(k ? [0] : []); + L.exit().on(".drag", null).remove(), + L.enter() + .append("rect") + .classed("scrollbar-horizontal", !0) + .call(i.fill, s.barColor), + k + ? ((this.hbar = L.attr({ + rx: s.barRadius, + ry: s.barRadius, + x: S, + y: E, + width: A, + height: M, + })), + (this._hbarXMin = S + A / 2), + (this._hbarTranslateMax = w - A)) + : (delete this.hbar, + delete this._hbarXMin, + delete this._hbarTranslateMax); + var C = y > T, + P = s.barWidth + 2 * s.barPad, + O = s.barLength + 2 * s.barPad, + I = d + v, + D = g; + I + P > l && (I = l - P); + var z = this.container + .selectAll("rect.scrollbar-vertical") + .data(C ? [0] : []); + z.exit().on(".drag", null).remove(), + z + .enter() + .append("rect") + .classed("scrollbar-vertical", !0) + .call(i.fill, s.barColor), + C + ? ((this.vbar = z.attr({ + rx: s.barRadius, + ry: s.barRadius, + x: I, + y: D, + width: P, + height: O, + })), + (this._vbarYMin = D + O / 2), + (this._vbarTranslateMax = T - O)) + : (delete this.vbar, + delete this._vbarYMin, + delete this._vbarTranslateMax); + var R = this.id, + F = c - 0.5, + B = C ? f + P + 0.5 : f + 0.5, + N = h - 0.5, + j = k ? p + M + 0.5 : p + 0.5, + U = o._topdefs + .selectAll("#" + R) + .data(k || C ? [0] : []); + if ( + (U.exit().remove(), + U.enter() + .append("clipPath") + .attr("id", R) + .append("rect"), + k || C + ? ((this._clipRect = U.select("rect").attr({ + x: Math.floor(F), + y: Math.floor(N), + width: Math.ceil(B) - Math.floor(F), + height: Math.ceil(j) - Math.floor(N), + })), + this.container.call(a.setClipUrl, R, this.gd), + this.bg.attr({ x: d, y: g, width: v, height: y })) + : (this.bg.attr({ width: 0, height: 0 }), + this.container + .on("wheel", null) + .on(".drag", null) + .call(a.setClipUrl, null), + delete this._clipRect), + k || C) + ) { + var V = n.behavior + .drag() + .on("dragstart", function () { + n.event.sourceEvent.preventDefault(); + }) + .on("drag", this._onBoxDrag.bind(this)); + this.container + .on("wheel", null) + .on("wheel", this._onBoxWheel.bind(this)) + .on(".drag", null) + .call(V); + var H = n.behavior + .drag() + .on("dragstart", function () { + n.event.sourceEvent.preventDefault(), + n.event.sourceEvent.stopPropagation(); + }) + .on("drag", this._onBarDrag.bind(this)); + k && this.hbar.on(".drag", null).call(H), + C && this.vbar.on(".drag", null).call(H); + } + this.setTranslate(e, r); + }), + (s.prototype.disable = function () { + (this.hbar || this.vbar) && + (this.bg.attr({ width: 0, height: 0 }), + this.container + .on("wheel", null) + .on(".drag", null) + .call(a.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); + }), + (s.prototype._onBoxDrag = function () { + var t = this.translateX, + e = this.translateY; + this.hbar && (t -= n.event.dx), + this.vbar && (e -= n.event.dy), + this.setTranslate(t, e); + }), + (s.prototype._onBoxWheel = function () { + var t = this.translateX, + e = this.translateY; + this.hbar && (t += n.event.deltaY), + this.vbar && (e += n.event.deltaY), + this.setTranslate(t, e); + }), + (s.prototype._onBarDrag = function () { + var t = this.translateX, + e = this.translateY; + if (this.hbar) { + var r = t + this._hbarXMin, + i = r + this._hbarTranslateMax; + t = + ((o.constrain(n.event.x, r, i) - r) / (i - r)) * + (this.position.w - this._box.w); + } + if (this.vbar) { + var a = e + this._vbarYMin, + s = a + this._vbarTranslateMax; + e = + ((o.constrain(n.event.y, a, s) - a) / (s - a)) * + (this.position.h - this._box.h); + } + this.setTranslate(t, e); + }), + (s.prototype.setTranslate = function (t, e) { + var r = this.position.w - this._box.w, + n = this.position.h - this._box.h; + if ( + ((t = o.constrain(t || 0, 0, r)), + (e = o.constrain(e || 0, 0, n)), + (this.translateX = t), + (this.translateY = e), + this.container.call( + a.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 - 0.5), + y: Math.floor(this.position.t + e - 0.5), + }), + this.hbar) + ) { + var i = t / r; + this.hbar.call( + a.setTranslate, + t + i * this._hbarTranslateMax, + e, + ); + } + if (this.vbar) { + var s = e / n; + this.vbar.call( + a.setTranslate, + t, + e + s * this._vbarTranslateMax, + ); + } + }); + }, + 18783: function (t) { + "use strict"; + t.exports = { + FROM_BL: { + left: 0, + center: 0.5, + right: 1, + bottom: 0, + middle: 0.5, + top: 1, + }, + FROM_TL: { + left: 0, + center: 0.5, + right: 1, + bottom: 1, + middle: 0.5, + top: 0, + }, + FROM_BR: { + left: 1, + center: 0.5, + right: 0, + bottom: 0, + middle: 0.5, + top: 1, + }, + LINE_SPACING: 1.3, + CAP_SHIFT: 0.7, + MID_SHIFT: 0.35, + OPPOSITE_SIDE: { + left: "right", + right: "left", + top: "bottom", + bottom: "top", + }, + }; + }, + 24695: function (t) { + "use strict"; + t.exports = { + axisRefDescription: function (t, e, r) { + return [ + "If set to a", + t, + "axis id (e.g. *" + t + "* or", + "*" + t + "2*), the `" + t + "` position refers to a", + t, + "coordinate. If set to *paper*, the `" + t + "`", + "position refers to the distance from the", + e, + "of the plotting", + "area in normalized coordinates where *0* (*1*) corresponds to the", + e, + "(" + r + "). If set to a", + t, + "axis ID followed by", + "*domain* (separated by a space), the position behaves like for", + "*paper*, but refers to the distance in fractions of the domain", + "length from the", + e, + "of the domain of that axis: e.g.,", + "*" + + t + + "2 domain* refers to the domain of the second", + t, + " axis and a", + t, + "position of 0.5 refers to the", + "point between the", + e, + "and the", + r, + "of the domain of the", + "second", + t, + "axis.", + ].join(" "); + }, + }; + }, + 22372: function (t) { + "use strict"; + t.exports = { + INCREASING: { COLOR: "#3D9970", SYMBOL: "▲" }, + DECREASING: { COLOR: "#FF4136", SYMBOL: "▼" }, + }; + }, + 31562: function (t) { + "use strict"; + t.exports = { + FORMAT_LINK: + "https://github.com/d3/d3-format/tree/v1.4.5#d3-format", + DATE_FORMAT_LINK: + "https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format", + }; + }, + 74808: function (t) { + "use strict"; + t.exports = { + COMPARISON_OPS: ["=", "!=", "<", ">=", ">", "<="], + COMPARISON_OPS2: ["=", "<", ">=", ">", "<="], + INTERVAL_OPS: [ + "[]", + "()", + "[)", + "(]", + "][", + ")(", + "](", + ")[", + ], + SET_OPS: ["{}", "}{"], + CONSTRAINT_REDUCTION: { + "=": "=", + "<": "<", + "<=": "<", + ">": ">", + ">=": ">", + "[]": "[]", + "()": "[]", + "[)": "[]", + "(]": "[]", + "][": "][", + ")(": "][", + "](": "][", + ")[": "][", + }, + }; + }, + 29659: function (t) { + "use strict"; + t.exports = { + solid: [[], 0], + dot: [[0.5, 1], 200], + dash: [[0.5, 1], 50], + longdash: [[0.5, 1], 10], + dashdot: [[0.5, 0.625, 0.875, 1], 50], + longdashdot: [[0.5, 0.7, 0.8, 1], 10], + }; + }, + 87381: function (t) { + "use strict"; + t.exports = { + circle: "●", + "circle-open": "○", + square: "■", + "square-open": "□", + diamond: "◆", + "diamond-open": "◇", + cross: "+", + x: "❌", + }; + }, + 37822: function (t) { + "use strict"; + t.exports = { + SHOW_PLACEHOLDER: 100, + HIDE_PLACEHOLDER: 1e3, + DESELECTDIM: 0.2, + }; + }, + 50606: function (t) { + "use strict"; + t.exports = { + BADNUM: void 0, + FP_SAFE: 1e-4 * Number.MAX_VALUE, + ONEMAXYEAR: 316224e5, + ONEAVGYEAR: 315576e5, + ONEMINYEAR: 31536e6, + ONEMAXQUARTER: 79488e5, + ONEAVGQUARTER: 78894e5, + ONEMINQUARTER: 76896e5, + ONEMAXMONTH: 26784e5, + ONEAVGMONTH: 26298e5, + ONEMINMONTH: 24192e5, + ONEWEEK: 6048e5, + ONEDAY: 864e5, + ONEHOUR: 36e5, + ONEMIN: 6e4, + ONESEC: 1e3, + EPOCHJD: 2440587.5, + ALMOST_EQUAL: 0.999999, + LOG_CLIP: 10, + MINUS_SIGN: "−", + }; + }, + 32396: function (t, e) { + "use strict"; + (e.CSS_DECLARATIONS = [ + ["image-rendering", "optimizeSpeed"], + ["image-rendering", "-moz-crisp-edges"], + ["image-rendering", "-o-crisp-edges"], + ["image-rendering", "-webkit-optimize-contrast"], + ["image-rendering", "optimize-contrast"], + ["image-rendering", "crisp-edges"], + ["image-rendering", "pixelated"], + ]), + (e.STYLE = e.CSS_DECLARATIONS.map(function (t) { + return t.join(": ") + "; "; + }).join("")); + }, + 77922: function (t, e) { + "use strict"; + (e.xmlns = "http://www.w3.org/2000/xmlns/"), + (e.svg = "http://www.w3.org/2000/svg"), + (e.xlink = "http://www.w3.org/1999/xlink"), + (e.svgAttrs = { xmlns: e.svg, "xmlns:xlink": e.xlink }); + }, + 8729: function (t, e, r) { + "use strict"; + (e.version = r(11506).version), r(7417), r(98847); + for ( + var n = r(73972), + i = (e.register = n.register), + a = r(10641), + o = Object.keys(a), + s = 0; + s < o.length; + s++ + ) { + var l = o[s]; + "_" !== l.charAt(0) && (e[l] = a[l]), + i({ moduleType: "apiMethod", name: l, fn: a[l] }); + } + i(r(67368)), + i([ + r(32745), + r(2468), + r(47322), + r(89853), + r(68804), + r(20763), + r(23243), + r(13137), + r(97218), + r(83312), + r(37369), + r(21081), + r(12311), + r(2199), + r(30211), + r(64168), + ]), + i([r(92177), r(37815)]), + window.PlotlyLocales && + Array.isArray(window.PlotlyLocales) && + (i(window.PlotlyLocales), delete window.PlotlyLocales), + (e.Icons = r(24255)); + var u = r(30211), + c = r(74875); + (e.Plots = { + resize: c.resize, + graphJson: c.graphJson, + sendDataToCloud: c.sendDataToCloud, + }), + (e.Fx = { + hover: u.hover, + unhover: u.unhover, + loneHover: u.loneHover, + loneUnhover: u.loneUnhover, + }), + (e.Snapshot = r(44511)), + (e.PlotSchema = r(86281)); + }, + 24255: function (t) { + "use strict"; + t.exports = { + undo: { + width: 857.1, + height: 1e3, + 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + home: { + width: 928.6, + height: 1e3, + 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + "camera-retro": { + width: 1e3, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + zoombox: { + width: 1e3, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + pan: { + width: 1e3, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + zoom_plus: { + width: 875, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + zoom_minus: { + width: 875, + height: 1e3, + path: "m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z", + transform: "matrix(1 0 0 -1 0 850)", + }, + autoscale: { + width: 1e3, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + tooltip_basic: { + width: 1500, + height: 1e3, + path: "m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z", + transform: "matrix(1 0 0 -1 0 850)", + }, + tooltip_compare: { + width: 1125, + height: 1e3, + 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + plotlylogo: { + width: 1542, + height: 1e3, + 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + "z-axis": { + width: 1e3, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + "3d_rotate": { + width: 1e3, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + camera: { + width: 1e3, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + movie: { + width: 1e3, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + question: { + width: 857.1, + height: 1e3, + 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + disk: { + width: 857.1, + height: 1e3, + 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + drawopenpath: { + width: 70, + height: 70, + path: "M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z", + transform: "matrix(1 0 0 1 -15 -15)", + }, + drawclosedpath: { + width: 90, + height: 90, + path: "M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z", + transform: "matrix(1 0 0 1 -5 -5)", + }, + lasso: { + width: 1031, + height: 1e3, + 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + selectbox: { + width: 1e3, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + drawline: { + width: 70, + height: 70, + path: "M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z", + transform: "matrix(1 0 0 1 -15 -15)", + }, + drawrect: { + width: 80, + height: 80, + path: "M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z", + transform: "matrix(1 0 0 1 -10 -10)", + }, + drawcircle: { + width: 80, + height: 80, + path: "M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z", + transform: "matrix(1 0 0 1 -10 -10)", + }, + eraseshape: { + width: 80, + height: 80, + path: "M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z", + transform: "matrix(1 0 0 1 -10 -10)", + }, + spikeline: { + width: 1e3, + height: 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", + transform: "matrix(1.5 0 0 -1.5 0 850)", + }, + pencil: { + width: 1792, + height: 1792, + path: "M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z", + transform: "matrix(1 0 0 1 0 1)", + }, + newplotlylogo: { + name: "newplotlylogo", + svg: [ + "", + "", + " ", + "", + " plotly-logomark", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "", + ].join(""), + }, + }; + }, + 99863: function (t, e) { + "use strict"; + (e.isLeftAnchor = function (t) { + return ( + "left" === t.xanchor || + ("auto" === t.xanchor && t.x <= 1 / 3) + ); + }), + (e.isCenterAnchor = function (t) { + return ( + "center" === t.xanchor || + ("auto" === t.xanchor && t.x > 1 / 3 && t.x < 2 / 3) + ); + }), + (e.isRightAnchor = function (t) { + return ( + "right" === t.xanchor || + ("auto" === t.xanchor && t.x >= 2 / 3) + ); + }), + (e.isTopAnchor = function (t) { + return ( + "top" === t.yanchor || + ("auto" === t.yanchor && t.y >= 2 / 3) + ); + }), + (e.isMiddleAnchor = function (t) { + return ( + "middle" === t.yanchor || + ("auto" === t.yanchor && t.y > 1 / 3 && t.y < 2 / 3) + ); + }), + (e.isBottomAnchor = function (t) { + return ( + "bottom" === t.yanchor || + ("auto" === t.yanchor && t.y <= 1 / 3) + ); + }); + }, + 26348: function (t, e, r) { + "use strict"; + var n = r(64872), + i = n.mod, + a = n.modHalf, + o = Math.PI, + s = 2 * o; + function l(t) { + return Math.abs(t[1] - t[0]) > s - 1e-14; + } + function u(t, e) { + return a(e - t, s); + } + function c(t, e) { + if (l(e)) return !0; + var r, n; + e[0] < e[1] + ? ((r = e[0]), (n = e[1])) + : ((r = e[1]), (n = e[0])), + (r = i(r, s)) > (n = i(n, s)) && (n += s); + var a = i(t, s), + o = a + s; + return (a >= r && a <= n) || (o >= r && o <= n); + } + function f(t, e, r, n, i, a, u) { + (i = i || 0), (a = a || 0); + var c, + f, + h, + p, + d, + v = l([r, n]); + function g(t, e) { + return [t * Math.cos(e) + i, a - t * Math.sin(e)]; + } + v + ? ((c = 0), (f = o), (h = s)) + : r < n + ? ((c = r), (h = n)) + : ((c = n), (h = r)), + t < e ? ((p = t), (d = e)) : ((p = e), (d = t)); + var y, + m = Math.abs(h - c) <= o ? 0 : 1; + function x(t, e, r) { + return "A" + [t, t] + " " + [0, m, r] + " " + g(t, e); + } + return ( + v + ? (y = + null === p + ? "M" + g(d, c) + x(d, f, 0) + x(d, h, 0) + "Z" + : "M" + + g(p, c) + + x(p, f, 0) + + x(p, h, 0) + + "ZM" + + g(d, c) + + x(d, f, 1) + + x(d, h, 1) + + "Z") + : null === p + ? ((y = "M" + g(d, c) + x(d, h, 0)), + u && (y += "L0,0Z")) + : (y = + "M" + + g(p, c) + + "L" + + g(d, c) + + x(d, h, 0) + + "L" + + g(p, h) + + x(p, c, 1) + + "Z"), + y + ); + } + t.exports = { + deg2rad: function (t) { + return (t / 180) * o; + }, + rad2deg: function (t) { + return (t / o) * 180; + }, + angleDelta: u, + angleDist: function (t, e) { + return Math.abs(u(t, e)); + }, + isFullCircle: l, + isAngleInsideSector: c, + isPtInsideSector: function (t, e, r, n) { + return ( + !!c(e, n) && + (r[0] < r[1] + ? ((i = r[0]), (a = r[1])) + : ((i = r[1]), (a = r[0])), + t >= i && t <= a) + ); + var i, a; + }, + pathArc: function (t, e, r, n, i) { + return f(null, t, e, r, n, i, 0); + }, + pathSector: function (t, e, r, n, i) { + return f(null, t, e, r, n, i, 1); + }, + pathAnnulus: function (t, e, r, n, i, a) { + return f(t, e, r, n, i, a, 1); + }, + }; + }, + 73627: function (t, e) { + "use strict"; + var r = Array.isArray, + n = ArrayBuffer, + i = DataView; + function a(t) { + return n.isView(t) && !(t instanceof i); + } + function o(t) { + return r(t) || a(t); + } + function s(t, e, r) { + if (o(t)) { + if (o(t[0])) { + for (var n = r, i = 0; i < t.length; i++) + n = e(n, t[i].length); + return n; + } + return t.length; + } + return 0; + } + (e.isTypedArray = a), + (e.isArrayOrTypedArray = o), + (e.isArray1D = function (t) { + return !o(t[0]); + }), + (e.ensureArray = function (t, e) { + return r(t) || (t = []), (t.length = e), t; + }), + (e.concat = function () { + var t, + e, + n, + i, + a, + o, + s, + l, + u = [], + c = !0, + f = 0; + for (n = 0; n < arguments.length; n++) + (o = (i = arguments[n]).length) && + (e ? u.push(i) : ((e = i), (a = o)), + r(i) + ? (t = !1) + : ((c = !1), + f + ? t !== i.constructor && (t = !1) + : (t = i.constructor)), + (f += o)); + if (!f) return []; + if (!u.length) return e; + if (c) return e.concat.apply(e, u); + if (t) { + for ((s = new t(f)).set(e), n = 0; n < u.length; n++) + (i = u[n]), s.set(i, a), (a += i.length); + return s; + } + for (s = new Array(f), l = 0; l < e.length; l++) + s[l] = e[l]; + for (n = 0; n < u.length; n++) { + for (i = u[n], l = 0; l < i.length; l++) + s[a + l] = i[l]; + a += l; + } + return s; + }), + (e.maxRowLength = function (t) { + return s(t, Math.max, 0); + }), + (e.minRowLength = function (t) { + return s(t, Math.min, 1 / 0); + }); + }, + 95218: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(50606).BADNUM, + a = /^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g; + t.exports = function (t) { + return ( + "string" == typeof t && (t = t.replace(a, "")), + n(t) ? Number(t) : i + ); + }; + }, + 33306: function (t) { + "use strict"; + t.exports = function (t) { + var e = t._fullLayout; + e._glcanvas && + e._glcanvas.size() && + e._glcanvas.each(function (t) { + t.regl && t.regl.clear({ color: !0, depth: !0 }); + }); + }; + }, + 86367: function (t) { + "use strict"; + t.exports = function (t) { + t._responsiveChartHandler && + (window.removeEventListener( + "resize", + t._responsiveChartHandler, + ), + delete t._responsiveChartHandler); + }; + }, + 96554: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(84267), + a = r(9012), + o = r(63282), + s = r(7901), + l = r(37822).DESELECTDIM, + u = r(65487), + c = r(30587).counter, + f = r(64872).modHalf, + h = r(73627).isArrayOrTypedArray; + function p(t, r) { + var n = e.valObjectMeta[r.valType]; + if (r.arrayOk && h(t)) return !0; + if (n.validateFunction) return n.validateFunction(t, r); + var i = {}, + a = i, + o = { + set: function (t) { + a = t; + }, + }; + return n.coerceFunction(t, o, i, r), a !== i; + } + (e.valObjectMeta = { + data_array: { + coerceFunction: function (t, e, r) { + h(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, r, i) { + !n(t) || + (void 0 !== i.min && t < i.min) || + (void 0 !== i.max && t > i.max) + ? e.set(r) + : e.set(+t); + }, + }, + integer: { + coerceFunction: function (t, e, r, i) { + t % 1 || + !n(t) || + (void 0 !== i.min && t < i.min) || + (void 0 !== i.max && t > i.max) + ? e.set(r) + : e.set(+t); + }, + }, + string: { + coerceFunction: function (t, e, r, n) { + if ("string" != typeof t) { + var i = "number" == typeof t; + !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) { + i(t).isValid() ? e.set(t) : e.set(r); + }, + }, + colorlist: { + coerceFunction: function (t, e, r) { + Array.isArray(t) && + t.length && + t.every(function (t) { + return i(t).isValid(); + }) + ? e.set(t) + : e.set(r); + }, + }, + colorscale: { + coerceFunction: function (t, e, r) { + e.set(o.get(t, r)); + }, + }, + angle: { + coerceFunction: function (t, e, r) { + "auto" === t + ? e.set("auto") + : n(t) + ? e.set(f(+t, 360)) + : e.set(r); + }, + }, + subplotid: { + coerceFunction: function (t, e, r, n) { + var i = n.regex || c(r); + "string" == typeof t && i.test(t) ? e.set(t) : e.set(r); + }, + validateFunction: function (t, e) { + var r = e.dflt; + return ( + t === r || ("string" == typeof t && !!c(r).test(t)) + ); + }, + }, + flaglist: { + coerceFunction: function (t, e, r, n) { + if (-1 === (n.extras || []).indexOf(t)) + if ("string" == typeof 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(r); + else e.set(t); + }, + }, + any: { + coerceFunction: function (t, e, r) { + void 0 === t ? e.set(r) : e.set(t); + }, + }, + info_array: { + coerceFunction: function (t, r, n, i) { + function a(t, r, n) { + var i, + a = { + set: function (t) { + i = t; + }, + }; + return ( + void 0 === n && (n = r.dflt), + e.valObjectMeta[r.valType].coerceFunction( + t, + a, + n, + r, + ), + i + ); + } + var o = + 2 === i.dimensions || + ("1-2" === i.dimensions && + Array.isArray(t) && + Array.isArray(t[0])); + if (Array.isArray(t)) { + var s, + l, + u, + c, + f, + h, + p = i.items, + d = [], + v = Array.isArray(p), + g = v && o && Array.isArray(p[0]), + y = o && v && !g, + m = v && !y ? p.length : t.length; + if (((n = Array.isArray(n) ? n : []), o)) + for (s = 0; s < m; s++) + for ( + d[s] = [], + u = Array.isArray(t[s]) ? t[s] : [], + f = y ? p.length : v ? p[s].length : u.length, + l = 0; + l < f; + l++ + ) + (c = y ? p[l] : v ? p[s][l] : p), + void 0 !== + (h = a(u[l], c, (n[s] || [])[l])) && + (d[s][l] = h); + else + for (s = 0; s < m; s++) + void 0 !== (h = a(t[s], v ? p[s] : p, n[s])) && + (d[s] = h); + r.set(d); + } else r.set(n); + }, + 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 (!p(t[a][o], n ? r[a][o] : r)) return !1; + } else if (!p(t[a], n ? r[a] : r)) return !1; + return !0; + }, + }, + }), + (e.coerce = function (t, r, n, i, a) { + var o = u(n, i).get(), + s = u(t, i), + l = u(r, i), + c = s.get(), + f = r._template; + if ( + (void 0 === c && f && ((c = u(f, i).get()), (f = 0)), + void 0 === a && (a = o.dflt), + o.arrayOk && h(c)) + ) + return l.set(c), c; + var d = e.valObjectMeta[o.valType].coerceFunction; + d(c, l, a, o); + var v = l.get(); + return ( + f && + v === a && + !p(c, o) && + (d((c = u(f, i).get()), l, a, o), (v = l.get())), + v + ); + }), + (e.coerce2 = function (t, r, n, i, a) { + var o = u(t, i), + s = e.coerce(t, r, n, i, a); + return null != o.get() && s; + }), + (e.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 + ); + }), + (e.coercePattern = function (t, e, r, n) { + if (t(e + ".shape")) { + t(e + ".solidity"), t(e + ".size"); + var i = "overlay" === t(e + ".fillmode"); + if (!n) { + var a = t(e + ".bgcolor", i ? r : void 0); + t(e + ".fgcolor", i ? s.contrast(a) : r); + } + t(e + ".fgopacity", i ? 0.5 : 1); + } + }), + (e.coerceHoverinfo = function (t, r, n) { + var i, + o = r._module.attributes, + s = o.hoverinfo ? o : a, + l = s.hoverinfo; + if (1 === n._dataLength) { + var u = + "all" === l.dflt + ? l.flags.slice() + : l.dflt.split("+"); + u.splice(u.indexOf("name"), 1), (i = u.join("+")); + } + return e.coerce(t, r, s, "hoverinfo", i); + }), + (e.coerceSelectionMarkerOpacity = function (t, e) { + if (t.marker) { + var r, + n, + i = t.marker.opacity; + void 0 !== i && + (h(i) || + t.selected || + t.unselected || + ((r = i), (n = l * i)), + e("selected.marker.opacity", r), + e("unselected.marker.opacity", n)); + } + }), + (e.validate = p); + }, + 41631: function (t, e, r) { + "use strict"; + var n, + i, + a = r(84096).i$, + o = r(92770), + s = r(47769), + l = r(64872).mod, + u = r(50606), + c = u.BADNUM, + f = u.ONEDAY, + h = u.ONEHOUR, + p = u.ONEMIN, + d = u.ONESEC, + v = u.EPOCHJD, + g = r(73972), + y = r(84096).g0, + m = + /^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m, + x = + /^\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, + b = new Date().getFullYear() - 70; + function _(t) { + return ( + t && + g.componentsRegistry.calendars && + "string" == typeof t && + "gregorian" !== t + ); + } + function w(t, e) { + return String(t + Math.pow(10, e)).substr(1); + } + (e.dateTick0 = function (t, r) { + var n = (function (t, e) { + return _(t) + ? e + ? g.getComponentMethod( + "calendars", + "CANONICAL_SUNDAY", + )[t] + : g.getComponentMethod("calendars", "CANONICAL_TICK")[ + t + ] + : e + ? "2000-01-02" + : "2000-01-01"; + })(t, !!r); + if (r < 2) return n; + var i = e.dateTime2ms(n, t); + return (i += f * (r - 1)), e.ms2DateTime(i, 0, t); + }), + (e.dfltRange = function (t) { + return _(t) + ? g.getComponentMethod("calendars", "DFLTRANGE")[t] + : ["2000-01-01", "2001-01-01"]; + }), + (e.isJSDate = function (t) { + return ( + "object" == typeof t && + null !== t && + "function" == typeof t.getTime + ); + }), + (e.dateTime2ms = function (t, r) { + if (e.isJSDate(t)) { + var a = t.getTimezoneOffset() * p, + o = + (t.getUTCMinutes() - t.getMinutes()) * p + + (t.getUTCSeconds() - t.getSeconds()) * d + + (t.getUTCMilliseconds() - t.getMilliseconds()); + if (o) { + var s = 3 * p; + a = a - s / 2 + l(o - a + s / 2, s); + } + return (t = Number(t) - a) >= n && t <= i ? t : c; + } + if ("string" != typeof t && "number" != typeof t) + return c; + t = String(t); + var u = _(r), + y = t.charAt(0); + !u || + ("G" !== y && "g" !== y) || + ((t = t.substr(1)), (r = "")); + var w = u && "chinese" === r.substr(0, 7), + T = t.match(w ? x : m); + if (!T) return c; + var k = T[1], + A = T[3] || "1", + M = Number(T[5] || 1), + S = Number(T[7] || 0), + E = Number(T[9] || 0), + L = Number(T[11] || 0); + if (u) { + if (2 === k.length) return c; + var C; + k = Number(k); + try { + var P = g.getComponentMethod( + "calendars", + "getCal", + )(r); + if (w) { + var O = "i" === A.charAt(A.length - 1); + (A = parseInt(A, 10)), + (C = P.newDate(k, P.toMonthIndex(k, A, O), M)); + } else C = P.newDate(k, Number(A), M); + } catch (t) { + return c; + } + return C + ? (C.toJD() - v) * f + S * h + E * p + L * d + : c; + } + (k = + 2 === k.length + ? ((Number(k) + 2e3 - b) % 100) + b + : Number(k)), + (A -= 1); + var I = new Date(Date.UTC(2e3, A, M, S, E)); + return ( + I.setUTCFullYear(k), + I.getUTCMonth() !== A || I.getUTCDate() !== M + ? c + : I.getTime() + L * d + ); + }), + (n = e.MIN_MS = e.dateTime2ms("-9999")), + (i = e.MAX_MS = e.dateTime2ms("9999-12-31 23:59:59.9999")), + (e.isDateTime = function (t, r) { + return e.dateTime2ms(t, r) !== c; + }); + var T = 90 * f, + k = 3 * h, + A = 5 * p; + function M(t, e, r, n, i) { + if ( + (e || r || n || i) && + ((t += " " + w(e, 2) + ":" + w(r, 2)), + (n || i) && ((t += ":" + w(n, 2)), i)) + ) { + for (var a = 4; i % 10 == 0; ) (a -= 1), (i /= 10); + t += "." + w(i, a); + } + return t; + } + (e.ms2DateTime = function (t, e, r) { + if ("number" != typeof t || !(t >= n && t <= i)) return c; + e || (e = 0); + var a, + o, + s, + u, + m, + x, + b = Math.floor(10 * l(t + 0.05, 1)), + w = Math.round(t - b / 10); + if (_(r)) { + var S = Math.floor(w / f) + v, + E = Math.floor(l(t, f)); + try { + a = g + .getComponentMethod( + "calendars", + "getCal", + )(r) + .fromJD(S) + .formatDate("yyyy-mm-dd"); + } catch (t) { + a = y("G%Y-%m-%d")(new Date(w)); + } + if ("-" === a.charAt(0)) + for (; a.length < 11; ) a = "-0" + a.substr(1); + else for (; a.length < 10; ) a = "0" + a; + (o = e < T ? Math.floor(E / h) : 0), + (s = e < T ? Math.floor((E % h) / p) : 0), + (u = e < k ? Math.floor((E % p) / d) : 0), + (m = e < A ? (E % d) * 10 + b : 0); + } else + (x = new Date(w)), + (a = y("%Y-%m-%d")(x)), + (o = e < T ? x.getUTCHours() : 0), + (s = e < T ? x.getUTCMinutes() : 0), + (u = e < k ? x.getUTCSeconds() : 0), + (m = e < A ? 10 * x.getUTCMilliseconds() + b : 0); + return M(a, o, s, u, m); + }), + (e.ms2DateTimeLocal = function (t) { + if (!(t >= n + f && t <= i - f)) return c; + var e = Math.floor(10 * l(t + 0.05, 1)), + r = new Date(Math.round(t - e / 10)); + return M( + a("%Y-%m-%d")(r), + r.getHours(), + r.getMinutes(), + r.getSeconds(), + 10 * r.getUTCMilliseconds() + e, + ); + }), + (e.cleanDate = function (t, r, n) { + if (t === c) return r; + if ( + e.isJSDate(t) || + ("number" == typeof t && isFinite(t)) + ) { + if (_(n)) + return ( + s.error( + "JS Dates and milliseconds are incompatible with world calendars", + t, + ), + r + ); + if (!(t = e.ms2DateTimeLocal(+t)) && void 0 !== r) + return r; + } else if (!e.isDateTime(t, n)) + return s.error("unrecognized date", t), r; + return t; + }); + var S = /%\d?f/g, + E = /%h/g, + L = { 1: "1", 2: "1", 3: "2", 4: "2" }; + function C(t, e, r, n) { + t = t.replace(S, 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 + 0.05)); + if ( + ((t = t.replace(E, function () { + return L[r("%q")(i)]; + })), + _(n)) + ) + try { + t = g.getComponentMethod("calendars", "worldCalFmt")( + t, + e, + n, + ); + } catch (t) { + return "Invalid"; + } + return r(t)(i); + } + var P = [59, 59.9, 59.99, 59.999, 59.9999]; + e.formatDate = function (t, e, r, n, i, a) { + if (((i = _(i) && i), !e)) + if ("y" === r) e = a.year; + else if ("m" === r) e = a.month; + else { + if ("d" !== r) + return ( + (function (t, e) { + var r = l(t + 0.05, f), + n = + w(Math.floor(r / h), 2) + + ":" + + w(l(Math.floor(r / p), 60), 2); + if ("M" !== e) { + o(e) || (e = 0); + var i = (100 + Math.min(l(t / d, 60), P[e])) + .toFixed(e) + .substr(1); + e > 0 && + (i = i + .replace(/0+$/, "") + .replace(/[\.]$/, "")), + (n += ":" + i); + } + return n; + })(t, r) + + "\n" + + C(a.dayMonthYear, t, n, i) + ); + e = a.dayMonth + "\n" + a.year; + } + return C(e, t, n, i); + }; + var O = 3 * f; + (e.incrementMonth = function (t, e, r) { + r = _(r) && r; + var n = l(t, f); + if (((t = Math.round(t - n)), r)) + try { + var i = Math.round(t / f) + v, + a = g.getComponentMethod("calendars", "getCal")(r), + o = a.fromJD(i); + return ( + e % 12 ? a.add(o, e, "m") : a.add(o, e / 12, "y"), + (o.toJD() - v) * f + n + ); + } catch (e) { + s.error("invalid ms " + t + " in calendar " + r); + } + var u = new Date(t + O); + return u.setUTCMonth(u.getUTCMonth() + e) + n - O; + }), + (e.findExactDates = function (t, e) { + for ( + var r, + n, + i = 0, + a = 0, + s = 0, + l = 0, + u = + _(e) && + g.getComponentMethod("calendars", "getCal")(e), + c = 0; + c < t.length; + c++ + ) + if (((n = t[c]), o(n))) { + if (!(n % f)) + if (u) + try { + 1 === (r = u.fromJD(n / f + v)).day() + ? 1 === r.month() + ? i++ + : a++ + : s++; + } catch (t) {} + else + 1 === (r = new Date(n)).getUTCDate() + ? 0 === r.getUTCMonth() + ? i++ + : a++ + : s++; + } else l++; + s += a += i; + var h = t.length - l; + return { + exactYears: i / h, + exactMonths: a / h, + exactDays: s / h, + }; + }); + }, + 24401: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(47769), + a = r(35657), + o = r(79576); + function s(t) { + var e = t && t.parentNode; + e && e.removeChild(t); + } + function l(t, e, r) { + var n = "plotly.js-style-" + t, + a = document.getElementById(n); + a || + ((a = document.createElement("style")).setAttribute( + "id", + n, + ), + a.appendChild(document.createTextNode("")), + document.head.appendChild(a)); + var o = a.sheet; + o.insertRule + ? o.insertRule(e + "{" + r + "}", 0) + : o.addRule + ? o.addRule(e, r, 0) + : i.warn("addStyleRule failed"); + } + function u(t) { + var e = window.getComputedStyle(t, null), + r = + e.getPropertyValue("-webkit-transform") || + e.getPropertyValue("-moz-transform") || + e.getPropertyValue("-ms-transform") || + e.getPropertyValue("-o-transform") || + e.getPropertyValue("transform"); + return "none" === r + ? null + : r + .replace("matrix", "") + .replace("3d", "") + .slice(1, -1) + .split(",") + .map(function (t) { + return +t; + }); + } + function c(t) { + for (var e = []; f(t); ) e.push(t), (t = t.parentNode); + return e; + } + function f(t) { + return ( + t && (t instanceof Element || t instanceof HTMLElement) + ); + } + t.exports = { + getGraphDiv: function (t) { + var e; + if ("string" == typeof t) { + if (null === (e = document.getElementById(t))) + throw new Error( + "No DOM element with id '" + + t + + "' exists on the page.", + ); + return e; + } + if (null == t) + throw new Error( + "DOM element provided is null or undefined", + ); + return t; + }, + isPlotDiv: function (t) { + var e = n.select(t); + return ( + e.node() instanceof HTMLElement && + e.size() && + e.classed("js-plotly-plot") + ); + }, + removeElement: s, + addStyleRule: function (t, e) { + l("global", t, e); + }, + addRelatedStyleRule: l, + deleteRelatedStyleRule: function (t) { + var e = "plotly.js-style-" + t, + r = document.getElementById(e); + r && s(r); + }, + getFullTransformMatrix: function (t) { + var e = c(t), + r = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; + return ( + e.forEach(function (t) { + var e = u(t); + if (e) { + var n = a.convertCssMatrix(e); + r = o.multiply(r, r, n); + } + }), + r + ); + }, + getElementTransformMatrix: u, + getElementAndAncestors: c, + equalDomRects: function (t, e) { + return ( + t && + e && + t.top === e.top && + t.left === e.left && + t.right === e.right && + t.bottom === e.bottom + ); + }, + }; + }, + 11086: function (t, e, r) { + "use strict"; + var n = r(15398).EventEmitter, + i = { + init: function (t) { + if (t._ev instanceof n) return t; + var e = new n(), + r = new n(); + return ( + (t._ev = e), + (t._internalEv = r), + (t.on = e.on.bind(e)), + (t.once = e.once.bind(e)), + (t.removeListener = e.removeListener.bind(e)), + (t.removeAllListeners = e.removeAllListeners.bind(e)), + (t._internalOn = r.on.bind(r)), + (t._internalOnce = r.once.bind(r)), + (t._removeInternalListener = + r.removeListener.bind(r)), + (t._removeAllInternalListeners = + r.removeAllListeners.bind(r)), + (t.emit = function (n, i) { + "undefined" != typeof jQuery && + jQuery(t).trigger(n, i), + e.emit(n, i), + r.emit(n, i); + }), + t + ); + }, + triggerHandler: function (t, e, r) { + var n, i; + "undefined" != typeof jQuery && + (n = jQuery(t).triggerHandler(e, r)); + var a = t._ev; + if (!a) return n; + var o, + s = a._events[e]; + if (!s) return n; + function l(t) { + return t.listener + ? (a.removeListener(e, t.listener), + t.fired + ? void 0 + : ((t.fired = !0), t.listener.apply(a, [r]))) + : t.apply(a, [r]); + } + for ( + s = Array.isArray(s) ? s : [s], o = 0; + o < s.length - 1; + o++ + ) + l(s[o]); + return (i = l(s[o])), 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 + ); + }, + }; + t.exports = i; + }, + 1426: function (t, e, r) { + "use strict"; + var n = r(41965), + i = Array.isArray; + function a(t, e, r, o) { + var s, + l, + u, + c, + f, + h, + p, + d = t[0], + v = t.length; + if (2 === v && i(d) && i(t[1]) && 0 === d.length) { + if ( + ((p = (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], d)), + p) + ) + return d; + d.splice(0, d.length); + } + for (var g = 1; g < v; g++) + for (l in (s = t[g])) + (u = d[l]), + (c = s[l]), + o && i(c) + ? (d[l] = c) + : e && c && (n(c) || (f = i(c))) + ? (f + ? ((f = !1), (h = u && i(u) ? u : [])) + : (h = u && n(u) ? u : {}), + (d[l] = a([h, c], e, r, o))) + : (void 0 !== c || r) && (d[l] = c); + return d; + } + (e.extendFlat = function () { + return a(arguments, !1, !1, !1); + }), + (e.extendDeep = function () { + return a(arguments, !0, !1, !1); + }), + (e.extendDeepAll = function () { + return a(arguments, !0, !0, !1); + }), + (e.extendDeepNoArrays = function () { + return a(arguments, !0, !1, !0); + }); + }, + 75744: function (t) { + "use strict"; + t.exports = function (t) { + for (var e = {}, r = [], n = 0, i = 0; i < t.length; i++) { + var a = t[i]; + 1 !== e[a] && ((e[a] = 1), (r[n++] = a)); + } + return r; + }; + }, + 76756: function (t) { + "use strict"; + function e(t) { + return !0 === t.visible; + } + function r(t) { + var e = t[0].trace; + return !0 === e.visible && 0 !== e._length; + } + t.exports = function (t) { + for ( + var n, + i = + ((n = t), + Array.isArray(n) && + Array.isArray(n[0]) && + n[0][0] && + n[0][0].trace + ? r + : e), + a = [], + o = 0; + o < t.length; + o++ + ) { + var s = t[o]; + i(s) && a.push(s); + } + return a; + }; + }, + 41327: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(24138), + a = r(30774), + o = r(29261), + s = r(85268), + l = r(23389), + u = r(47769), + c = r(41965), + f = r(65487), + h = r(61082), + p = Object.keys(i), + d = { + "ISO-3": l, + "USA-states": l, + "country names": function (t) { + for (var e = 0; e < p.length; e++) { + var r = p[e]; + if (new RegExp(i[r]).test(t.trim().toLowerCase())) + return r; + } + return ( + u.log("Unrecognized country name: " + t + "."), !1 + ); + }, + }; + function v(t) { + var e = t.geojson, + r = window.PlotlyGeoAssets || {}, + n = "string" == typeof e ? r[e] : e; + return c(n) + ? n + : (u.error( + "Oops ... something went wrong when fetching " + e, + ), + !1); + } + t.exports = { + locationToFeature: function (t, e, r) { + if (!e || "string" != typeof e) return !1; + var n, + i, + a, + o = d[t](e); + if (o) { + if ("USA-states" === t) + for (n = [], a = 0; a < r.length; a++) + (i = r[a]).properties && + i.properties.gu && + "USA" === i.properties.gu && + n.push(i); + else n = r; + for (a = 0; a < n.length; a++) + if ((i = n[a]).id === o) return i; + u.log( + [ + "Location with id", + o, + "does not have a matching topojson feature at this resolution.", + ].join(" "), + ); + } + return !1; + }, + feature2polygons: function (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(h.tester(e)); + } + : "ATA" === s + ? function (t) { + var e = u(t); + if (null === e) return l.push(h.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 = h.tester(r); + a.pts.pop(), l.push(a); + } + : function (t) { + l.push(h.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; + }, + getTraceGeojson: v, + extractTraceFeature: function (t) { + var e = t[0].trace, + r = v(e); + if (!r) return !1; + var n, + i = {}, + s = []; + for (n = 0; n < e._length; n++) { + var l = t[n]; + (l.loc || 0 === l.loc) && (i[l.loc] = l); + } + function c(t) { + var r = f(t, e.featureidkey || "id").get(), + n = i[r]; + if (n) { + var l = t.geometry; + if ( + "Polygon" === l.type || + "MultiPolygon" === l.type + ) { + var c = { + type: "Feature", + id: r, + geometry: l, + properties: {}, + }; + (c.properties.ct = (function (t) { + var e, + r = t.geometry; + if ("MultiPolygon" === r.type) + for ( + var n = r.coordinates, i = 0, s = 0; + s < n.length; + s++ + ) { + var l = { + type: "Polygon", + coordinates: n[s], + }, + u = a.default(l); + u > i && ((i = u), (e = l)); + } + else e = r; + return o.default(e).geometry.coordinates; + })(c)), + (n.fIn = t), + (n.fOut = c), + s.push(c); + } else + u.log( + [ + "Location", + n.loc, + "does not have a valid GeoJSON geometry.", + "Traces with locationmode *geojson-id* only support", + "*Polygon* and *MultiPolygon* geometries.", + ].join(" "), + ); + } + delete i[r]; + } + switch (r.type) { + case "FeatureCollection": + var h = r.features; + for (n = 0; n < h.length; n++) c(h[n]); + break; + case "Feature": + c(r); + break; + default: + return ( + u.warn( + [ + "Invalid GeoJSON type", + (r.type || "none") + ".", + "Traces with locationmode *geojson-id* only support", + "*FeatureCollection* and *Feature* types.", + ].join(" "), + ), + !1 + ); + } + for (var p in i) + u.log( + [ + "Location *" + p + "*", + "does not have a matching feature with id-key", + "*" + e.featureidkey + "*.", + ].join(" "), + ); + return s; + }, + fetchTraceGeoData: function (t) { + var e = window.PlotlyGeoAssets || {}, + r = []; + function i(t) { + return new Promise(function (r, i) { + n.json(t, function (n, a) { + if (n) { + delete e[t]; + var o = + 404 === n.status + ? 'GeoJSON at URL "' + t + '" does not exist.' + : "Unexpected error while fetching from " + t; + return i(new Error(o)); + } + return (e[t] = a), r(a); + }); + }); + } + function a(t) { + return new Promise(function (r, n) { + var i = 0, + a = setInterval(function () { + return e[t] && "pending" !== e[t] + ? (clearInterval(a), r(e[t])) + : i > 100 + ? (clearInterval(a), + n( + "Unexpected error while fetching from " + t, + )) + : void i++; + }, 50); + }); + } + for (var o = 0; o < t.length; o++) { + var s = t[o][0].trace.geojson; + "string" == typeof s && + (e[s] + ? "pending" === e[s] && r.push(a(s)) + : ((e[s] = "pending"), r.push(i(s)))); + } + return r; + }, + computeBbox: function (t) { + return s.default(t); + }, + }; + }, + 18214: function (t, e, r) { + "use strict"; + var n = r(50606).BADNUM; + (e.calcTraceToLineCoords = function (t) { + for ( + var e = t[0].trace.connectgaps, r = [], i = [], a = 0; + a < t.length; + a++ + ) { + var o = t[a].lonlat; + o[0] !== n + ? i.push(o) + : !e && i.length > 0 && (r.push(i), (i = [])); + } + return i.length > 0 && r.push(i), r; + }), + (e.makeLine = function (t) { + return 1 === t.length + ? { type: "LineString", coordinates: t[0] } + : { type: "MultiLineString", coordinates: t }; + }), + (e.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 }; + }), + (e.makeBlank = function () { + return { type: "Point", coordinates: [] }; + }); + }, + 87642: function (t, e, r) { + "use strict"; + var n, + i, + a, + o = r(64872).mod; + function s(t, e, r, n, i, a, o, s) { + var l = r - t, + u = i - t, + c = o - i, + f = n - e, + h = a - e, + p = s - a, + d = l * p - c * f; + if (0 === d) return null; + var v = (u * p - c * h) / d, + g = (u * f - l * h) / d; + return g < 0 || g > 1 || v < 0 || v > 1 + ? null + : { x: t + l * v, y: e + f * v }; + } + function l(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; + } + (e.segmentsIntersect = s), + (e.segmentDistance = function (t, e, r, n, i, a, o, u) { + if (s(t, e, r, n, i, a, o, u)) return 0; + var c = r - t, + f = n - e, + h = o - i, + p = u - a, + d = c * c + f * f, + v = h * h + p * p, + g = Math.min( + l(c, f, d, i - t, a - e), + l(c, f, d, o - t, u - e), + l(h, p, v, t - i, e - a), + l(h, p, v, r - i, n - a), + ); + return Math.sqrt(g); + }), + (e.getTextLocation = function (t, e, r, s) { + if ( + ((t === i && s === a) || ((n = {}), (i = t), (a = s)), + n[r]) + ) + return n[r]; + var l = t.getPointAtLength(o(r - s / 2, e)), + u = t.getPointAtLength(o(r + s / 2, e)), + c = Math.atan((u.y - l.y) / (u.x - l.x)), + f = t.getPointAtLength(o(r, e)), + h = { + x: (4 * f.x + l.x + u.x) / 6, + y: (4 * f.y + l.y + u.y) / 6, + theta: c, + }; + return (n[r] = h), h; + }), + (e.clearLocationCache = function () { + i = null; + }), + (e.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(), + f = c; + function h(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, + f = r.y < s ? s - r.y : r.y > l ? r.y - l : 0; + return Math.sqrt(u * u + f * f); + } + for (var p = h(u); p; ) { + if ((u += p + r) > f) return; + p = h(u); + } + for (p = h(f); p; ) { + if (u > (f -= p + r)) return; + p = h(f); + } + return { + min: u, + max: f, + len: f - u, + total: c, + isClosed: + 0 === u && + f === c && + Math.abs(n.x - i.x) < 0.1 && + Math.abs(n.y - i.y) < 0.1, + }; + }), + (e.findPointOnPath = function (t, e, r, n) { + for ( + var i, + a, + o, + s = (n = n || {}).pathLength || t.getTotalLength(), + l = n.tolerance || 0.001, + u = n.iterationLimit || 30, + c = + t.getPointAtLength(0)[r] > t.getPointAtLength(s)[r] + ? -1 + : 1, + f = 0, + h = 0, + p = s; + f < u; + + ) { + if ( + ((i = (h + p) / 2), + (o = (a = t.getPointAtLength(i))[r] - e), + Math.abs(o) < l) + ) + return a; + c * o > 0 ? (p = i) : (h = i), f++; + } + return a; + }); + }, + 81697: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(84267), + a = r(25075), + o = r(21081), + s = r(22399).defaultLine, + l = r(73627).isArrayOrTypedArray, + u = a(s); + function c(t, e) { + var r = t; + return (r[3] *= e), r; + } + function f(t) { + if (n(t)) return u; + var e = a(t); + return e.length ? e : u; + } + function h(t) { + return n(t) ? t : 1; + } + t.exports = { + formatColor: function (t, e, r) { + var n, + i, + s, + p, + d, + v = t.color, + g = l(v), + y = l(e), + m = o.extractOpts(t), + x = []; + if ( + ((n = + void 0 !== m.colorscale + ? o.makeColorScaleFuncFromTrace(t) + : f), + (i = g + ? function (t, e) { + return void 0 === t[e] ? u : a(n(t[e])); + } + : f), + (s = y + ? function (t, e) { + return void 0 === t[e] ? 1 : h(t[e]); + } + : h), + g || y) + ) + for (var b = 0; b < r; b++) + (p = i(v, b)), (d = s(e, b)), (x[b] = c(p, d)); + else x = c(a(v), e); + return x; + }, + parseColorScale: function (t) { + var e = o.extractOpts(t), + r = e.colorscale; + return ( + e.reversescale && (r = o.flipScale(e.colorscale)), + r.map(function (t) { + var e = t[0], + r = i(t[1]).toRgb(); + return { index: e, rgb: [r.r, r.g, r.b, r.a] }; + }) + ); + }, + }; + }, + 28984: function (t, e, r) { + "use strict"; + var n = r(23389); + function i(t) { + return [t]; + } + t.exports = { + keyFun: function (t) { + return t.key; + }, + repeat: i, + descend: n, + wrap: i, + unwrap: function (t) { + return t[0]; + }, + }; + }, + 23389: function (t) { + "use strict"; + t.exports = function (t) { + return t; + }; + }, + 39240: function (t) { + "use strict"; + t.exports = function (t, e) { + if (!e) return t; + var r = 1 / Math.abs(e), + n = r > 1 ? (r * t + r * e) / r : t + e, + i = String(n).length; + if (i > 16) { + var a = String(e).length; + if (i >= String(t).length + a) { + var o = parseFloat(n).toPrecision(12); + -1 === o.indexOf("e+") && (n = +o); + } + } + return n; + }; + }, + 71828: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(84096).g0, + a = r(60721).WU, + o = r(92770), + s = r(50606), + l = s.FP_SAFE, + u = -l, + c = s.BADNUM, + f = (t.exports = {}); + f.adjustFormat = function (t) { + return !t || /^\d[.]\df/.test(t) || /[.]\d%/.test(t) + ? t + : "0.f" === t + ? "~f" + : /^\d%/.test(t) + ? "~%" + : /^\ds/.test(t) + ? "~s" + : !/^[~,.0$]/.test(t) && /[&fps]/.test(t) + ? "~" + t + : t; + }; + var h = {}; + (f.warnBadFormat = function (t) { + var e = String(t); + h[e] || + ((h[e] = 1), + f.warn('encountered bad format: "' + e + '"')); + }), + (f.noFormat = function (t) { + return String(t); + }), + (f.numberFormat = function (t) { + var e; + try { + e = a(f.adjustFormat(t)); + } catch (e) { + return f.warnBadFormat(t), f.noFormat; + } + return e; + }), + (f.nestedProperty = r(65487)), + (f.keyedContainer = r(66636)), + (f.relativeAttr = r(6962)), + (f.isPlainObject = r(41965)), + (f.toLogRange = r(58163)), + (f.relinkPrivateKeys = r(51332)); + var p = r(73627); + (f.isTypedArray = p.isTypedArray), + (f.isArrayOrTypedArray = p.isArrayOrTypedArray), + (f.isArray1D = p.isArray1D), + (f.ensureArray = p.ensureArray), + (f.concat = p.concat), + (f.maxRowLength = p.maxRowLength), + (f.minRowLength = p.minRowLength); + var d = r(64872); + (f.mod = d.mod), (f.modHalf = d.modHalf); + var v = r(96554); + (f.valObjectMeta = v.valObjectMeta), + (f.coerce = v.coerce), + (f.coerce2 = v.coerce2), + (f.coerceFont = v.coerceFont), + (f.coercePattern = v.coercePattern), + (f.coerceHoverinfo = v.coerceHoverinfo), + (f.coerceSelectionMarkerOpacity = + v.coerceSelectionMarkerOpacity), + (f.validate = v.validate); + var g = r(41631); + (f.dateTime2ms = g.dateTime2ms), + (f.isDateTime = g.isDateTime), + (f.ms2DateTime = g.ms2DateTime), + (f.ms2DateTimeLocal = g.ms2DateTimeLocal), + (f.cleanDate = g.cleanDate), + (f.isJSDate = g.isJSDate), + (f.formatDate = g.formatDate), + (f.incrementMonth = g.incrementMonth), + (f.dateTick0 = g.dateTick0), + (f.dfltRange = g.dfltRange), + (f.findExactDates = g.findExactDates), + (f.MIN_MS = g.MIN_MS), + (f.MAX_MS = g.MAX_MS); + var y = r(65888); + (f.findBin = y.findBin), + (f.sorterAsc = y.sorterAsc), + (f.sorterDes = y.sorterDes), + (f.distinctVals = y.distinctVals), + (f.roundUp = y.roundUp), + (f.sort = y.sort), + (f.findIndexOfMin = y.findIndexOfMin), + (f.sortObjectKeys = r(78607)); + var m = r(80038); + (f.aggNums = m.aggNums), + (f.len = m.len), + (f.mean = m.mean), + (f.median = m.median), + (f.midRange = m.midRange), + (f.variance = m.variance), + (f.stdev = m.stdev), + (f.interp = m.interp); + var x = r(35657); + (f.init2dArray = x.init2dArray), + (f.transposeRagged = x.transposeRagged), + (f.dot = x.dot), + (f.translationMatrix = x.translationMatrix), + (f.rotationMatrix = x.rotationMatrix), + (f.rotationXYMatrix = x.rotationXYMatrix), + (f.apply3DTransform = x.apply3DTransform), + (f.apply2DTransform = x.apply2DTransform), + (f.apply2DTransform2 = x.apply2DTransform2), + (f.convertCssMatrix = x.convertCssMatrix), + (f.inverseTransformMatrix = x.inverseTransformMatrix); + var b = r(26348); + (f.deg2rad = b.deg2rad), + (f.rad2deg = b.rad2deg), + (f.angleDelta = b.angleDelta), + (f.angleDist = b.angleDist), + (f.isFullCircle = b.isFullCircle), + (f.isAngleInsideSector = b.isAngleInsideSector), + (f.isPtInsideSector = b.isPtInsideSector), + (f.pathArc = b.pathArc), + (f.pathSector = b.pathSector), + (f.pathAnnulus = b.pathAnnulus); + var _ = r(99863); + (f.isLeftAnchor = _.isLeftAnchor), + (f.isCenterAnchor = _.isCenterAnchor), + (f.isRightAnchor = _.isRightAnchor), + (f.isTopAnchor = _.isTopAnchor), + (f.isMiddleAnchor = _.isMiddleAnchor), + (f.isBottomAnchor = _.isBottomAnchor); + var w = r(87642); + (f.segmentsIntersect = w.segmentsIntersect), + (f.segmentDistance = w.segmentDistance), + (f.getTextLocation = w.getTextLocation), + (f.clearLocationCache = w.clearLocationCache), + (f.getVisibleSegment = w.getVisibleSegment), + (f.findPointOnPath = w.findPointOnPath); + var T = r(1426); + (f.extendFlat = T.extendFlat), + (f.extendDeep = T.extendDeep), + (f.extendDeepAll = T.extendDeepAll), + (f.extendDeepNoArrays = T.extendDeepNoArrays); + var k = r(47769); + (f.log = k.log), (f.warn = k.warn), (f.error = k.error); + var A = r(30587); + f.counterRegex = A.counter; + var M = r(79990); + (f.throttle = M.throttle), + (f.throttleDone = M.done), + (f.clearThrottle = M.clear); + var S = r(24401); + function E(t) { + var e = {}; + for (var r in t) + for (var n = t[r], i = 0; i < n.length; i++) e[n[i]] = +r; + return e; + } + (f.getGraphDiv = S.getGraphDiv), + (f.isPlotDiv = S.isPlotDiv), + (f.removeElement = S.removeElement), + (f.addStyleRule = S.addStyleRule), + (f.addRelatedStyleRule = S.addRelatedStyleRule), + (f.deleteRelatedStyleRule = S.deleteRelatedStyleRule), + (f.getFullTransformMatrix = S.getFullTransformMatrix), + (f.getElementTransformMatrix = S.getElementTransformMatrix), + (f.getElementAndAncestors = S.getElementAndAncestors), + (f.equalDomRects = S.equalDomRects), + (f.clearResponsive = r(86367)), + (f.preserveDrawingBuffer = r(45142)), + (f.makeTraceGroups = r(77310)), + (f._ = r(15867)), + (f.notifier = r(75046)), + (f.filterUnique = r(75744)), + (f.filterVisible = r(76756)), + (f.pushUnique = r(75138)), + (f.increment = r(39240)), + (f.cleanNumber = r(95218)), + (f.ensureNumber = function (t) { + return o(t) ? ((t = Number(t)) > l || t < u ? c : t) : c; + }), + (f.isIndex = function (t, e) { + return ( + !(void 0 !== e && t >= e) && + o(t) && + t >= 0 && + t % 1 == 0 + ); + }), + (f.noop = r(64213)), + (f.identity = r(23389)), + (f.repeat = function (t, e) { + for (var r = new Array(e), n = 0; n < e; n++) r[n] = t; + return r; + }), + (f.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 = f.nestedProperty(t, a.replace("?", r)), + s = f.nestedProperty(t, a.replace("?", n)), + l = o.get(); + o.set(s.get()), s.set(l); + } + }), + (f.raiseToTop = function (t) { + t.parentNode.appendChild(t); + }), + (f.cancelTransition = function (t) { + return t.transition().duration(0); + }), + (f.constrain = function (t, e, r) { + return e > r + ? Math.max(r, Math.min(e, t)) + : Math.max(e, Math.min(r, t)); + }), + (f.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 + ); + }), + (f.simpleMap = function (t, e, r, n, i) { + for ( + var a = t.length, o = new Array(a), s = 0; + s < a; + s++ + ) + o[s] = e(t[s], r, n, i); + return o; + }), + (f.randstr = function t(e, r, n, i) { + if ((n || (n = 16), void 0 === r && (r = 24), r <= 0)) + return "0"; + var a, + o, + s = Math.log(Math.pow(2, r)) / Math.log(n), + l = ""; + for (a = 2; s === 1 / 0; a *= 2) + s = (Math.log(Math.pow(2, r / a)) / Math.log(n)) * a; + var u = s - Math.floor(s); + for (a = 0; a < Math.floor(s); a++) + l = Math.floor(Math.random() * n).toString(n) + l; + u && + ((o = Math.pow(n, u)), + (l = Math.floor(Math.random() * o).toString(n) + l)); + var c = parseInt(l, n); + return (e && e[l]) || (c !== 1 / 0 && c >= Math.pow(2, r)) + ? i > 10 + ? (f.warn("randstr failed uniqueness"), l) + : t(e, r, n, (i || 0) + 1) + : l; + }), + (f.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; + }), + (f.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; + }), + (f.syncOrAsync = function (t, e, r) { + var n; + function i() { + return f.syncOrAsync(t, e, r); + } + for (; t.length; ) + if ((n = (0, t.splice(0, 1)[0])(e)) && n.then) + return n.then(i); + return r && r(e); + }), + (f.stripTrailingSlash = function (t) { + return "/" === t.substr(-1) + ? t.substr(0, t.length - 1) + : t; + }), + (f.noneOrAll = function (t, e, r) { + if (t) { + var n, + i = !1, + a = !0; + for (n = 0; n < r.length; n++) + null != t[r[n]] ? (i = !0) : (a = !1); + if (i && !a) + for (n = 0; n < r.length; n++) t[r[n]] = e[r[n]]; + } + }), + (f.mergeArray = function (t, e, r, n) { + var i = "function" == typeof n; + if (f.isArrayOrTypedArray(t)) + for ( + var a = Math.min(t.length, e.length), o = 0; + o < a; + o++ + ) { + var s = t[o]; + e[o][r] = i ? n(s) : s; + } + }), + (f.mergeArrayCastPositive = function (t, e, r) { + return f.mergeArray(t, e, r, function (t) { + var e = +t; + return isFinite(e) && e > 0 ? e : 0; + }); + }), + (f.fillArray = function (t, e, r, n) { + if (((n = n || f.identity), f.isArrayOrTypedArray(t))) + for (var i = 0; i < e.length; i++) e[i][r] = n(t[i]); + }), + (f.castOption = function (t, e, r, n) { + n = n || f.identity; + var i = f.nestedProperty(t, r).get(); + return f.isArrayOrTypedArray(i) + ? Array.isArray(e) && f.isArrayOrTypedArray(i[e[0]]) + ? n(i[e[0]][e[1]]) + : n(i[e]) + : i; + }), + (f.extractOption = function (t, e, r, n) { + if (r in t) return t[r]; + var i = f.nestedProperty(e, n).get(); + return Array.isArray(i) ? void 0 : i; + }), + (f.tagSelected = function (t, e, r) { + var n, + i, + a = e.selectedpoints, + o = e._indexToPoints; + o && (n = E(o)); + for (var s = 0; s < a.length; s++) { + var l = a[s]; + if ( + f.isIndex(l) || + (f.isArrayOrTypedArray(l) && + f.isIndex(l[0]) && + f.isIndex(l[1])) + ) { + var u = n ? n[l] : l, + c = r ? r[u] : u; + void 0 !== (i = c) && + i < t.length && + (t[c].selected = 1); + } + } + }), + (f.selIndices2selPoints = function (t) { + var e = t.selectedpoints, + r = t._indexToPoints; + if (r) { + for (var n = E(r), i = [], a = 0; a < e.length; a++) { + var o = e[a]; + if (f.isIndex(o)) { + var s = n[o]; + f.isIndex(s) && i.push(s); + } + } + return i; + } + return e; + }), + (f.getTargetArray = function (t, e) { + var r = e.target; + if ("string" == typeof r && r) { + var n = f.nestedProperty(t, r).get(); + return !!Array.isArray(n) && n; + } + return !!Array.isArray(r) && r; + }), + (f.minExtend = function t(e, r, n) { + var i = {}; + "object" != typeof r && (r = {}); + var a, + o, + s, + l = "pieLike" === n ? -1 : 3, + u = Object.keys(e); + for (a = 0; a < u.length; a++) + (s = e[(o = u[a])]), + "_" !== o.charAt(0) && + "function" != typeof s && + ("module" === o + ? (i[o] = s) + : Array.isArray(s) + ? (i[o] = + "colorscale" === o || -1 === l + ? s.slice() + : s.slice(0, l)) + : f.isTypedArray(s) + ? (i[o] = + -1 === l ? s.subarray() : s.subarray(0, l)) + : (i[o] = + s && "object" == typeof s + ? t(e[o], r[o], n) + : s)); + for (u = Object.keys(r), a = 0; a < u.length; a++) + ("object" == typeof (s = r[(o = u[a])]) && + o in i && + "object" == typeof i[o]) || + (i[o] = s); + return i; + }), + (f.titleCase = function (t) { + return t.charAt(0).toUpperCase() + t.substr(1); + }), + (f.containsAny = function (t, e) { + for (var r = 0; r < e.length; r++) + if (-1 !== t.indexOf(e[r])) return !0; + return !1; + }), + (f.isIE = function () { + return void 0 !== window.navigator.msSaveBlob; + }); + var L = /Version\/[\d\.]+.*Safari/; + f.isSafari = function () { + return L.test(window.navigator.userAgent); + }; + var C = /iPad|iPhone|iPod/; + f.isIOS = function () { + return C.test(window.navigator.userAgent); + }; + var P = /Firefox\/(\d+)\.\d+/; + (f.getFirefoxVersion = function () { + var t = P.exec(window.navigator.userAgent); + if (t && 2 === t.length) { + var e = parseInt(t[1]); + if (!isNaN(e)) return e; + } + return null; + }), + (f.isD3Selection = function (t) { + return t instanceof n.selection; + }), + (f.ensureSingle = function (t, e, r, n) { + var i = t.select(e + (r ? "." + r : "")); + if (i.size()) return i; + var a = t.append(e); + return r && a.classed(r, !0), n && a.call(n), a; + }), + (f.ensureSingleById = function (t, e, r, n) { + var i = t.select(e + "#" + r); + if (i.size()) return i; + var a = t.append(e).attr("id", r); + return n && a.call(n), a; + }), + (f.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 O = /^([^\[\.]+)\.(.+)?/, + I = /^([^\.]+)\[([0-9]+)\](\.)?(.+)?/; + function D(t) { + return "__" === t.slice(0, 2); + } + (f.expandObjectPaths = function (t) { + var e, r, n, i, a, o, s; + if ("object" == typeof t && !Array.isArray(t)) + for (r in t) + if (t.hasOwnProperty(r)) + if ((e = r.match(O))) { + if (((i = t[r]), D((n = e[1])))) continue; + delete t[r], + (t[n] = f.extendDeepNoArrays( + t[n] || {}, + f.objectFromPath(r, f.expandObjectPaths(i))[n], + )); + } else if ((e = r.match(I))) { + if (((i = t[r]), D((n = e[1])))) continue; + if ( + ((a = parseInt(e[2])), + delete t[r], + (t[n] = t[n] || []), + "." === e[3]) + ) + (s = e[4]), + (o = t[n][a] = t[n][a] || {}), + f.extendDeepNoArrays( + o, + f.objectFromPath(s, f.expandObjectPaths(i)), + ); + else { + if (D(n)) continue; + t[n][a] = f.expandObjectPaths(i); + } + } else { + if (D(r)) continue; + t[r] = f.expandObjectPaths(t[r]); + } + return t; + }), + (f.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; + }), + (f.TEMPLATE_STRING_REGEX = + /%{([^\s%{}:]*)([:|\|][^}]*)?}/g); + var z = /^\w*$/; + f.templateString = function (t, e) { + var r = {}; + return t.replace(f.TEMPLATE_STRING_REGEX, function (t, n) { + var i; + return ( + z.test(n) + ? (i = e[n]) + : ((r[n] = r[n] || f.nestedProperty(e, n).get), + (i = r[n]())), + f.isValidTextValue(i) ? i : "" + ); + }); + }; + var R = { max: 10, count: 0, name: "hovertemplate" }; + f.hovertemplateString = function () { + return V.apply(R, arguments); + }; + var F = { max: 10, count: 0, name: "texttemplate" }; + f.texttemplateString = function () { + return V.apply(F, arguments); + }; + var B = /^(\S+)([\*\/])(-?\d+(\.\d+)?)$/; + function N(t) { + var e = t.match(B); + return e + ? { key: e[1], op: e[2], number: Number(e[3]) } + : { key: t, op: null, number: null }; + } + var j = { + max: 10, + count: 0, + name: "texttemplate", + parseMultDiv: !0, + }; + f.texttemplateStringForShapes = function () { + return V.apply(j, arguments); + }; + var U = /^[:|\|]/; + function V(t, e, r) { + var n = this, + a = arguments; + e || (e = {}); + var o = {}; + return t.replace( + f.TEMPLATE_STRING_REGEX, + function (t, s, l) { + var u = "_xother" === s || "_yother" === s, + c = "_xother_" === s || "_yother_" === s, + h = "xother_" === s || "yother_" === s, + p = "xother" === s || "yother" === s || u || h || c, + d = s; + (u || c) && (d = d.substring(1)), + (h || c) && (d = d.substring(0, d.length - 1)); + var v, + g, + y, + m = null, + x = null; + if (n.parseMultDiv) { + var b = N(d); + (d = b.key), (m = b.op), (x = b.number); + } + if (p) { + if (void 0 === (v = e[d])) return ""; + } else + for (y = 3; y < a.length; y++) + if ((g = a[y])) { + if (g.hasOwnProperty(d)) { + v = g[d]; + break; + } + if ( + (z.test(d) || + ((v = f.nestedProperty(g, d).get()), + (v = o[d] || f.nestedProperty(g, d).get()) && + (o[d] = v)), + void 0 !== v) + ) + break; + } + if ( + (void 0 !== v && + ("*" === m && (v *= x), "/" === m && (v /= x)), + void 0 === v && n) + ) + return ( + n.count < n.max && + (f.warn( + "Variable '" + + d + + "' in " + + n.name + + " could not be found!", + ), + (v = t)), + n.count === n.max && + f.warn( + "Too many " + + n.name + + " warnings - additional warnings will be suppressed", + ), + n.count++, + t + ); + if (l) { + var _; + if ( + (":" === l[0] && + (v = (_ = r ? r.numberFormat : f.numberFormat)( + l.replace(U, ""), + )(v)), + "|" === l[0]) + ) { + _ = r ? r.timeFormat : i; + var w = f.dateTime2ms(v); + v = f.formatDate(w, l.replace(U, ""), !1, _); + } + } else { + var T = d + "Label"; + e.hasOwnProperty(T) && (v = e[T]); + } + return ( + p && + ((v = "(" + v + ")"), + (u || c) && (v = " " + v), + (h || c) && (v += " ")), + v + ); + }, + ); + } + f.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 H = 2e9; + (f.seedPseudoRandom = function () { + H = 2e9; + }), + (f.pseudoRandom = function () { + var t = H; + return ( + (H = (69069 * H + 1) % 4294967296), + Math.abs(H - t) < 429496729 + ? f.pseudoRandom() + : H / 4294967296 + ); + }), + (f.fillText = function (t, e, r) { + var n = Array.isArray(r) + ? function (t) { + r.push(t); + } + : function (t) { + r.text = t; + }, + i = f.extractOption(t, e, "htx", "hovertext"); + if (f.isValidTextValue(i)) return n(i); + var a = f.extractOption(t, e, "tx", "text"); + return f.isValidTextValue(a) ? n(a) : void 0; + }), + (f.isValidTextValue = function (t) { + return t || 0 === t; + }), + (f.formatPercent = function (t, e) { + e = e || 0; + for ( + var r = + ( + Math.round(100 * t * Math.pow(10, e)) * + Math.pow(0.1, e) + ).toFixed(e) + "%", + n = 0; + n < e; + n++ + ) + -1 !== r.indexOf(".") && + (r = (r = r.replace("0%", "%")).replace(".%", "%")); + return r; + }), + (f.isHidden = function (t) { + var e = window.getComputedStyle(t).display; + return !e || "none" === e; + }), + (f.strTranslate = function (t, e) { + return t || e ? "translate(" + t + "," + e + ")" : ""; + }), + (f.strRotate = function (t) { + return t ? "rotate(" + t + ")" : ""; + }), + (f.strScale = function (t) { + return 1 !== t ? "scale(" + t + ")" : ""; + }), + (f.getTextTransform = function (t) { + var e = t.noCenter, + r = t.textX, + n = t.textY, + i = t.targetX, + a = t.targetY, + o = t.anchorX || 0, + s = t.anchorY || 0, + l = t.rotate, + u = t.scale; + return ( + u ? u > 1 && (u = 1) : (u = 0), + f.strTranslate(i - u * (r + o), a - u * (n + s)) + + f.strScale(u) + + (l + ? "rotate(" + l + (e ? "" : " " + r + " " + n) + ")" + : "") + ); + }), + (f.setTransormAndDisplay = function (t, e) { + t.attr("transform", f.getTextTransform(e)), + t.style("display", e.scale ? null : "none"); + }), + (f.ensureUniformFontSize = function (t, e) { + var r = f.extendFlat({}, e); + return ( + (r.size = Math.max( + e.size, + t._fullLayout.uniformtext.minsize || 0, + )), + r + ); + }), + (f.join2 = function (t, e, r) { + var n = t.length; + return n > 1 + ? t.slice(0, -1).join(e) + r + t[n - 1] + : t.join(e); + }), + (f.bigFont = function (t) { + return Math.round(1.2 * t); + }); + var q = f.getFirefoxVersion(), + G = null !== q && q < 86; + f.getPositionFromD3Event = function () { + return G + ? [n.event.layerX, n.event.layerY] + : [n.event.offsetX, n.event.offsetY]; + }; + }, + 41965: function (t) { + "use strict"; + t.exports = function (t) { + return window && window.process && window.process.versions + ? "[object Object]" === Object.prototype.toString.call(t) + : "[object Object]" === + Object.prototype.toString.call(t) && + Object.getPrototypeOf(t).hasOwnProperty( + "hasOwnProperty", + ); + }; + }, + 66636: function (t, e, r) { + "use strict"; + var n = r(65487), + i = /^\w*$/; + t.exports = function (t, e, r, a) { + var o, s, l; + (r = r || "name"), (a = a || "value"); + var u = {}; + e && e.length ? ((l = n(t, e)), (s = l.get())) : (s = t), + (e = e || ""); + var c = {}; + if (s) for (o = 0; o < s.length; o++) c[s[o][r]] = o; + var f = i.test(a), + h = { + set: function (t, e) { + var i = null === e ? 4 : 0; + if (!s) { + if (!l || 4 === i) return; + (s = []), l.set(s); + } + var o = c[t]; + if (void 0 === o) { + if (4 === i) return; + (i |= 3), (o = s.length), (c[t] = o); + } else + e !== (f ? s[o][a] : n(s[o], a).get()) && (i |= 2); + var p = (s[o] = s[o] || {}); + return ( + (p[r] = t), + f ? (p[a] = e) : n(p, a).set(e), + null !== e && (i &= -5), + (u[o] = u[o] | i), + h + ); + }, + get: function (t) { + if (s) { + var e = c[t]; + return void 0 === e + ? void 0 + : f + ? s[e][a] + : n(s[e], a).get(); + } + }, + rename: function (t, e) { + var n = c[t]; + return ( + void 0 === n || + ((u[n] = 1 | u[n]), + (c[e] = n), + delete c[t], + (s[n][r] = e)), + h + ); + }, + remove: function (t) { + var e = c[t]; + if (void 0 === e) return h; + var i = s[e]; + if (Object.keys(i).length > 2) + return (u[e] = 2 | u[e]), h.set(t, null); + if (f) { + for (o = e; o < s.length; o++) u[o] = 3 | u[o]; + for (o = e; o < s.length; o++) c[s[o][r]]--; + s.splice(e, 1), delete c[t]; + } else n(i, a).set(null), (u[e] = 6 | u[e]); + return h; + }, + constructUpdate: function () { + for ( + var t, i, o = {}, l = Object.keys(u), c = 0; + c < l.length; + c++ + ) + (i = l[c]), + (t = e + "[" + i + "]"), + s[i] + ? (1 & u[i] && (o[t + "." + r] = s[i][r]), + 2 & u[i] && + (o[t + "." + a] = f + ? 4 & u[i] + ? null + : s[i][a] + : 4 & u[i] + ? null + : n(s[i], a).get())) + : (o[t] = null); + return o; + }, + }; + return h; + }; + }, + 15867: function (t, e, r) { + "use strict"; + var n = r(73972); + t.exports = function (t, e) { + for (var r = t._context.locale, i = 0; i < 2; i++) { + for (var a = t._context.locales, o = 0; o < 2; o++) { + var s = (a[r] || {}).dictionary; + if (s) { + var l = s[e]; + if (l) return l; + } + a = n.localeRegistry; + } + var u = r.split("-")[0]; + if (u === r) break; + r = u; + } + return e; + }; + }, + 47769: function (t, e, r) { + "use strict"; + var n = r(72075).dfltConfig, + i = r(75046), + a = (t.exports = {}); + (a.log = function () { + var t; + if (n.logging > 1) { + var e = ["LOG:"]; + for (t = 0; t < arguments.length; t++) + e.push(arguments[t]); + console.trace.apply(console, e); + } + if (n.notifyOnLogging > 1) { + var r = []; + for (t = 0; t < arguments.length; t++) + r.push(arguments[t]); + i(r.join("
"), "long"); + } + }), + (a.warn = function () { + var t; + if (n.logging > 0) { + var e = ["WARN:"]; + for (t = 0; t < arguments.length; t++) + e.push(arguments[t]); + console.trace.apply(console, e); + } + if (n.notifyOnLogging > 0) { + var r = []; + for (t = 0; t < arguments.length; t++) + r.push(arguments[t]); + i(r.join("
"), "stick"); + } + }), + (a.error = function () { + var t; + if (n.logging > 0) { + var e = ["ERROR:"]; + for (t = 0; t < arguments.length; t++) + e.push(arguments[t]); + console.error.apply(console, e); + } + if (n.notifyOnLogging > 0) { + var r = []; + for (t = 0; t < arguments.length; t++) + r.push(arguments[t]); + i(r.join("
"), "stick"); + } + }); + }, + 77310: function (t, e, r) { + "use strict"; + var n = r(39898); + t.exports = function (t, e, r) { + var i = t + .selectAll("g." + r.replace(/\s/g, ".")) + .data(e, function (t) { + return t[0].trace.uid; + }); + i.exit().remove(), + i.enter().append("g").attr("class", r), + i.order(); + var a = t.classed("rangeplot") ? "nodeRangePlot3" : "node3"; + return ( + i.each(function (t) { + t[0][a] = n.select(this); + }), + i + ); + }; + }, + 35657: function (t, e, r) { + "use strict"; + var n = r(79576); + (e.init2dArray = function (t, e) { + for (var r = new Array(t), n = 0; n < t; n++) + r[n] = new Array(e); + return r; + }), + (e.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; + }), + (e.dot = function (t, r) { + if (!t.length || !r.length || t.length !== r.length) + return null; + var n, + i, + a = t.length; + if (t[0].length) + for (n = new Array(a), i = 0; i < a; i++) + n[i] = e.dot(t[i], r); + else if (r[0].length) { + var o = e.transposeRagged(r); + for (n = new Array(o.length), i = 0; i < o.length; i++) + n[i] = e.dot(t, o[i]); + } else for (n = 0, i = 0; i < a; i++) n += t[i] * r[i]; + return n; + }), + (e.translationMatrix = function (t, e) { + return [ + [1, 0, t], + [0, 1, e], + [0, 0, 1], + ]; + }), + (e.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], + ]; + }), + (e.rotationXYMatrix = function (t, r, n) { + return e.dot( + e.dot(e.translationMatrix(r, n), e.rotationMatrix(t)), + e.translationMatrix(-r, -n), + ); + }), + (e.apply3DTransform = function (t) { + return function () { + var r = arguments, + n = + 1 === arguments.length + ? r[0] + : [r[0], r[1], r[2] || 0]; + return e.dot(t, [n[0], n[1], n[2], 1]).slice(0, 3); + }; + }), + (e.apply2DTransform = function (t) { + return function () { + var r = arguments; + 3 === r.length && (r = r[0]); + var n = 1 === arguments.length ? r[0] : [r[0], r[1]]; + return e.dot(t, [n[0], n[1], 1]).slice(0, 2); + }; + }), + (e.apply2DTransform2 = function (t) { + var r = e.apply2DTransform(t); + return function (t) { + return r(t.slice(0, 2)).concat(r(t.slice(2, 4))); + }; + }), + (e.convertCssMatrix = function (t) { + if (t) { + var e = t.length; + if (16 === e) return t; + if (6 === e) + return [ + t[0], + t[1], + 0, + 0, + t[2], + t[3], + 0, + 0, + 0, + 0, + 1, + 0, + t[4], + t[5], + 0, + 1, + ]; + } + return [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; + }), + (e.inverseTransformMatrix = function (t) { + var e = []; + return ( + n.invert(e, t), + [ + [e[0], e[1], e[2], e[3]], + [e[4], e[5], e[6], e[7]], + [e[8], e[9], e[10], e[11]], + [e[12], e[13], e[14], e[15]], + ] + ); + }); + }, + 64872: function (t) { + "use strict"; + t.exports = { + mod: function (t, e) { + var r = t % e; + return r < 0 ? r + e : r; + }, + modHalf: function (t, e) { + return Math.abs(t) > e / 2 + ? t - Math.round(t / e) * e + : t; + }, + }; + }, + 65487: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(73627).isArrayOrTypedArray; + function a(t, e) { + return function () { + var r, + n, + o, + s, + l, + u = t; + for (s = 0; s < e.length - 1; s++) { + if (-1 === (r = e[s])) { + for (n = !0, o = [], l = 0; l < u.length; l++) + (o[l] = a(u[l], e.slice(s + 1))()), + o[l] !== o[0] && (n = !1); + return n ? o[0] : o; + } + if ("number" == typeof r && !i(u)) return; + if ("object" != typeof (u = u[r]) || null === u) return; + } + if ( + "object" == typeof u && + null !== u && + null !== (o = u[e[s]]) + ) + return o; + }; + } + t.exports = function (t, e) { + if (n(e)) e = String(e); + else if ( + "string" != typeof e || + "[-1]" === e.substr(e.length - 4) + ) + throw "bad property string"; + var r, + i, + o, + s, + u = e.split("."); + for (s = 0; s < u.length; s++) + if ("__" === String(u[s]).slice(0, 2)) + throw "bad property string"; + for (s = 0; s < u.length; ) { + if ( + (r = String(u[s]).match( + /^([^\[\]]*)((\[\-?[0-9]*\])+)$/, + )) + ) { + if (r[1]) u[s] = r[1]; + else { + if (0 !== s) throw "bad property string"; + u.splice(0, 1); + } + for ( + i = r[2].substr(1, r[2].length - 2).split("]["), + o = 0; + o < i.length; + o++ + ) + s++, u.splice(s, 0, Number(i[o])); + } + s++; + } + return "object" != typeof t + ? (function (t, e, r) { + return { + set: function () { + throw "bad container"; + }, + get: function () {}, + astr: e, + parts: r, + obj: t, + }; + })(t, e, u) + : { + set: l(t, u, e), + get: a(t, u), + astr: e, + parts: u, + obj: t, + }; + }; + var o = /(^|\.)args\[/; + function s(t, e) { + return void 0 === t || (null === t && !e.match(o)); + } + function l(t, e, r) { + return function (n) { + var a, + o, + l = t, + h = "", + p = [[t, h]], + d = s(n, r); + for (o = 0; o < e.length - 1; o++) { + if ("number" == typeof (a = e[o]) && !i(l)) + throw "array index but container is not an array"; + if (-1 === a) { + if ((d = !c(l, e.slice(o + 1), n, r))) break; + return; + } + if (!f(l, a, e[o + 1], d)) break; + if ("object" != typeof (l = l[a]) || null === l) + throw "container is not an object"; + (h = u(h, a)), p.push([l, h]); + } + if (d) { + if ( + o === e.length - 1 && + (delete l[e[o]], + Array.isArray(l) && +e[o] == l.length - 1) + ) + for (; l.length && void 0 === l[l.length - 1]; ) + l.pop(); + } else l[e[o]] = n; + }; + } + function u(t, e) { + var r = e; + return ( + n(e) ? (r = "[" + e + "]") : t && (r = "." + e), t + r + ); + } + function c(t, e, r, n) { + var a, + o = i(r), + u = !0, + c = r, + h = n.replace("-1", 0), + p = !o && s(r, h), + d = e[0]; + for (a = 0; a < t.length; a++) + (h = n.replace("-1", a)), + o && (p = s((c = r[a % r.length]), h)), + p && (u = !1), + f(t, a, d, p) && l(t[a], e, n.replace("-1", a))(c); + return u; + } + function f(t, e, r, n) { + if (void 0 === t[e]) { + if (n) return !1; + t[e] = "number" == typeof r ? [] : {}; + } + return !0; + } + }, + 64213: function (t) { + "use strict"; + t.exports = function () {}; + }, + 75046: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = []; + t.exports = function (t, e) { + if (-1 === a.indexOf(t)) { + a.push(t); + var r = 1e3; + i(e) ? (r = e) : "long" === e && (r = 3e3); + var o = n + .select("body") + .selectAll(".plotly-notifier") + .data([0]); + o.enter().append("div").classed("plotly-notifier", !0), + o + .selectAll(".notifier-note") + .data(a) + .enter() + .append("div") + .classed("notifier-note", !0) + .style("opacity", 0) + .each(function (t) { + var i = n.select(this); + i.append("button") + .classed("notifier-close", !0) + .html("×") + .on("click", function () { + i.transition().call(s); + }); + for ( + var a = i.append("p"), + o = t.split(//g), + l = 0; + l < o.length; + l++ + ) + l && a.append("br"), a.append("span").text(o[l]); + "stick" === e + ? i.transition().duration(350).style("opacity", 1) + : i + .transition() + .duration(700) + .style("opacity", 1) + .transition() + .delay(r) + .call(s); + }); + } + function s(t) { + t.duration(700) + .style("opacity", 0) + .each("end", function (t) { + var e = a.indexOf(t); + -1 !== e && a.splice(e, 1), n.select(this).remove(); + }); + } + }; + }, + 39918: function (t, e, r) { + "use strict"; + var n = r(6964), + i = "data-savedcursor"; + t.exports = function (t, e) { + var r = t.attr(i); + if (e) { + if (!r) { + for ( + var a = (t.attr("class") || "").split(" "), o = 0; + o < a.length; + o++ + ) { + var s = a[o]; + 0 === s.indexOf("cursor-") && + t.attr(i, s.substr(7)).classed(s, !1); + } + t.attr(i) || t.attr(i, "!!"); + } + n(t, e); + } else r && (t.attr(i, null), "!!" === r ? n(t) : n(t, r)); + }; + }, + 61082: function (t, e, r) { + "use strict"; + var n = r(35657).dot, + i = r(50606).BADNUM, + a = (t.exports = {}); + (a.tester = function (t) { + var e, + r = t.slice(), + n = r[0][0], + a = n, + o = r[0][1], + s = o; + for ( + (r[r.length - 1][0] === r[0][0] && + r[r.length - 1][1] === r[0][1]) || + r.push(r[0]), + e = 1; + e < r.length; + e++ + ) + (n = Math.min(n, r[e][0])), + (a = Math.max(a, r[e][0])), + (o = Math.min(o, r[e][1])), + (s = Math.max(s, r[e][1])); + var l, + u = !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] && + ((u = !0), + (l = 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] && + ((u = !0), + (l = function (t) { + return t[1] === r[0][1]; + }))); + var c = !0, + f = r[0]; + for (e = 1; e < r.length; e++) + if (f[0] !== r[e][0] || f[1] !== r[e][1]) { + c = !1; + break; + } + return { + xmin: n, + xmax: a, + ymin: o, + ymax: s, + pts: r, + contains: u + ? function (t, e) { + var r = t[0], + u = t[1]; + return !( + r === i || + r < n || + r > a || + u === i || + u < o || + u > s || + (e && l(t)) + ); + } + : function (t, e) { + var l = t[0], + u = t[1]; + if ( + l === i || + l < n || + l > a || + u === i || + u < o || + u > s + ) + return !1; + var c, + f, + h, + p, + d, + v = r.length, + g = r[0][0], + y = r[0][1], + m = 0; + for (c = 1; c < v; c++) + if ( + ((f = g), + (h = y), + (g = r[c][0]), + (y = r[c][1]), + !( + l < (p = Math.min(f, g)) || + l > Math.max(f, g) || + u > Math.max(h, y) + )) + ) + if (u < Math.min(h, y)) l !== p && m++; + else { + if ( + u === + (d = + g === f + ? u + : h + ((l - f) * (y - h)) / (g - f)) + ) + return 1 !== c || !e; + u <= d && l !== p && m++; + } + return m % 2 == 1; + }, + isRect: u, + degenerate: c, + }; + }), + (a.isSegmentBent = function (t, e, r, i) { + var a, + o, + s, + l = t[e], + u = [t[r][0] - l[0], t[r][1] - l[1]], + c = n(u, u), + f = Math.sqrt(c), + h = [-u[1] / f, u[0] / f]; + for (a = e + 1; a < r; a++) + if ( + ((o = [t[a][0] - l[0], t[a][1] - l[1]]), + (s = n(o, u)) < 0 || s > c || Math.abs(n(o, h)) > i) + ) + return !0; + return !1; + }), + (a.filter = function (t, e) { + var r = [t[0]], + n = 0, + i = 0; + function o(o) { + t.push(o); + var s = r.length, + l = n; + r.splice(i + 1); + for (var u = l + 1; u < t.length; u++) + (u === t.length - 1 || + a.isSegmentBent(t, l, u + 1, e)) && + (r.push(t[u]), + r.length < s - 2 && ((n = u), (i = r.length - 1)), + (l = u)); + } + return ( + t.length > 1 && o(t.pop()), + { addPt: o, raw: t, filtered: r } + ); + }); + }, + 79749: function (t, e, r) { + "use strict"; + var n = r(58617), + i = r(98580); + t.exports = function (t, e, a) { + var o = t._fullLayout, + s = !0; + return ( + o._glcanvas.each(function (n) { + if (n.regl) n.regl.preloadCachedCode(a); + else if (!n.pick || o._has("parcoords")) { + try { + n.regl = i({ + canvas: this, + attributes: { + antialias: !n.pick, + preserveDrawingBuffer: !0, + }, + pixelRatio: + t._context.plotGlPixelRatio || + r.g.devicePixelRatio, + extensions: e || [], + cachedCode: a || {}, + }); + } catch (t) { + s = !1; + } + n.regl || (s = !1), + s && + this.addEventListener( + "webglcontextlost", + function (e) { + t && + t.emit && + t.emit("plotly_webglcontextlost", { + event: e, + layer: n.key, + }); + }, + !1, + ); + } + }), + s || n({ container: o._glcontainer.node() }), + s + ); + }; + }, + 45142: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(35791); + t.exports = function (t) { + var e; + if ( + "string" != + typeof (e = + t && t.hasOwnProperty("userAgent") + ? t.userAgent + : (function () { + var t; + return ( + "undefined" != typeof navigator && + (t = navigator.userAgent), + t && + t.headers && + "string" == typeof t.headers["user-agent"] && + (t = t.headers["user-agent"]), + t + ); + })()) + ) + return !0; + var r = i({ + ua: { headers: { "user-agent": e } }, + tablet: !0, + featureDetect: !1, + }); + if (!r) + for (var a = e.split(" "), o = 1; o < a.length; o++) + if (-1 !== a[o].indexOf("Safari")) + for (var s = o - 1; s > -1; s--) { + var l = a[s]; + if ("Version/" === l.substr(0, 8)) { + var u = l.substr(8).split(".")[0]; + if ((n(u) && (u = +u), u >= 13)) return !0; + } + } + return r; + }; + }, + 75138: function (t) { + "use strict"; + t.exports = function (t, e) { + if (e instanceof RegExp) { + for (var r = e.toString(), n = 0; n < t.length; n++) + if (t[n] instanceof RegExp && t[n].toString() === r) + return t; + t.push(e); + } else (!e && 0 !== e) || -1 !== t.indexOf(e) || t.push(e); + return t; + }; + }, + 10847: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(72075).dfltConfig, + a = { + add: function (t, e, r, n, a) { + var o, s; + (t.undoQueue = t.undoQueue || { + index: 0, + queue: [], + sequence: !1, + }), + (s = t.undoQueue.index), + t.autoplay + ? t.undoQueue.inSequence || (t.autoplay = !1) + : (!t.undoQueue.sequence || + t.undoQueue.beginSequence + ? ((o = { + undo: { calls: [], args: [] }, + redo: { calls: [], args: [] }, + }), + t.undoQueue.queue.splice( + s, + t.undoQueue.queue.length - s, + o, + ), + (t.undoQueue.index += 1)) + : (o = t.undoQueue.queue[s - 1]), + (t.undoQueue.beginSequence = !1), + o && + (o.undo.calls.unshift(e), + o.undo.args.unshift(r), + o.redo.calls.push(n), + o.redo.args.push(a)), + t.undoQueue.queue.length > i.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 ( + !( + 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++ + ) + a.plotDo(t, e.undo.calls[r], e.undo.args[r]); + (t.undoQueue.inSequence = !1), (t.autoplay = !1); + } + }, + redo: function (t) { + var e, r; + 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++ + ) + a.plotDo(t, e.redo.calls[r], e.redo.args[r]); + (t.undoQueue.inSequence = !1), + (t.autoplay = !1), + t.undoQueue.index++; + } + }, + plotDo: function (t, e, r) { + (t.autoplay = !0), + (r = (function (t, e) { + for (var r, i = [], a = 0; a < e.length; a++) + (r = e[a]), + (i[a] = + r === t + ? r + : "object" == typeof r + ? Array.isArray(r) + ? n.extendDeep([], r) + : n.extendDeepAll({}, r) + : r); + return i; + })(t, r)), + e.apply(null, r); + }, + }; + t.exports = a; + }, + 30587: function (t, e) { + "use strict"; + e.counter = function (t, e, r, n) { + var i = (e || "") + (r ? "" : "$"), + a = !1 === n ? "" : "^"; + return "xy" === t + ? new RegExp( + a + "x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?" + i, + ) + : new RegExp(a + t + "([2-9]|[1-9][0-9]+)?" + i); + }; + }, + 6962: function (t) { + "use strict"; + var e = /^(.*)(\.[^\.\[\]]+|\[\d\])$/, + r = /^[^\.\[\]]+$/; + t.exports = function (t, n) { + for (; n; ) { + var i = t.match(e); + if (i) t = i[1]; + else { + if (!t.match(r)) + throw new Error("bad relativeAttr call:" + [t, n]); + t = ""; + } + if ("^" !== n.charAt(0)) break; + n = n.slice(1); + } + return t && "[" !== n.charAt(0) ? t + "." + n : t + n; + }; + }, + 51332: function (t, e, r) { + "use strict"; + var n = r(73627).isArrayOrTypedArray, + i = r(41965); + t.exports = function t(e, r) { + for (var a in r) { + var o = r[a], + s = e[a]; + if (s !== o) + if ("_" === a.charAt(0) || "function" == typeof o) { + if (a in e) continue; + e[a] = o; + } else if (n(o) && n(s) && i(o[0])) { + if ("customdata" === a || "ids" === a) continue; + for ( + var l = Math.min(o.length, s.length), u = 0; + u < l; + u++ + ) + s[u] !== o[u] && + i(o[u]) && + i(s[u]) && + t(s[u], o[u]); + } else + i(o) && + i(s) && + (t(s, o), Object.keys(s).length || delete e[a]); + } + }; + }, + 65888: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(47769), + a = r(23389), + o = r(50606).BADNUM, + s = 1e-9; + function l(t, e) { + return t < e; + } + function u(t, e) { + return t <= e; + } + function c(t, e) { + return t > e; + } + function f(t, e) { + return t >= e; + } + (e.findBin = function (t, e, r) { + if (n(e.start)) + return r + ? Math.ceil((t - e.start) / e.size - s) - 1 + : Math.floor((t - e.start) / e.size + s); + var a, + o, + h = 0, + p = e.length, + d = 0, + v = p > 1 ? (e[p - 1] - e[0]) / (p - 1) : 1; + for ( + o = v >= 0 ? (r ? l : u) : r ? f : c, + t += v * s * (r ? -1 : 1) * (v >= 0 ? 1 : -1); + h < p && d++ < 100; + + ) + o(e[(a = Math.floor((h + p) / 2))], t) + ? (h = a + 1) + : (p = a); + return d > 90 && i.log("Long binary search..."), h - 1; + }), + (e.sorterAsc = function (t, e) { + return t - e; + }), + (e.sorterDes = function (t, e) { + return e - t; + }), + (e.distinctVals = function (t) { + var r, + n = t.slice(); + for ( + n.sort(e.sorterAsc), r = n.length - 1; + r > -1 && n[r] === o; + r-- + ); + for ( + var i, + a = n[r] - n[0] || 1, + s = a / (r || 1) / 1e4, + l = [], + u = 0; + u <= r; + u++ + ) { + var c = n[u], + f = c - i; + void 0 === i + ? (l.push(c), (i = c)) + : f > s && ((a = Math.min(a, f)), l.push(c), (i = c)); + } + return { vals: l, minDiff: a }; + }), + (e.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]; + }), + (e.sort = function (t, e) { + for (var r = 0, n = 0, i = 1; i < t.length; i++) { + var a = e(t[i], t[i - 1]); + if ((a < 0 ? (r = 1) : a > 0 && (n = 1), r && n)) + return t.sort(e); + } + return n ? t : t.reverse(); + }), + (e.findIndexOfMin = function (t, e) { + e = e || a; + for (var r, n = 1 / 0, i = 0; i < t.length; i++) { + var o = e(t[i]); + o < n && ((n = o), (r = i)); + } + return r; + }); + }, + 6964: function (t) { + "use strict"; + t.exports = function (t, e) { + (t.attr("class") || "").split(" ").forEach(function (e) { + 0 === e.indexOf("cursor-") && t.classed(e, !1); + }), + e && t.classed("cursor-" + e, !0); + }; + }, + 58617: function (t, e, r) { + "use strict"; + var n = r(7901), + i = function () {}; + t.exports = function (t) { + for (var e in t) "function" == typeof t[e] && (t[e] = i); + t.destroy = function () { + t.container.parentNode.removeChild(t.container); + }; + var r = document.createElement("div"); + (r.className = "no-webgl"), + (r.style.cursor = "pointer"), + (r.style.fontSize = "24px"), + (r.style.color = n.defaults[0]), + (r.style.position = "absolute"), + (r.style.left = r.style.top = "0px"), + (r.style.width = r.style.height = "100%"), + (r.style["background-color"] = n.lightLine), + (r.style["z-index"] = 30); + var a = document.createElement("p"); + return ( + (a.textContent = + "WebGL is not supported by your browser - visit https://get.webgl.org for more info"), + (a.style.position = "relative"), + (a.style.top = "50%"), + (a.style.left = "50%"), + (a.style.height = "30%"), + (a.style.width = "50%"), + (a.style.margin = "-15% 0 0 -25%"), + r.appendChild(a), + t.container.appendChild(r), + (t.container.style.background = "#FFFFFF"), + (t.container.onclick = function () { + window.open("https://get.webgl.org"); + }), + !1 + ); + }; + }, + 78607: function (t) { + "use strict"; + t.exports = function (t) { + return Object.keys(t).sort(); + }; + }, + 80038: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(73627).isArrayOrTypedArray; + (e.aggNums = function (t, r, a, o) { + var s, l; + if ( + ((!o || o > a.length) && (o = a.length), + n(r) || (r = !1), + i(a[0])) + ) { + for (l = new Array(o), s = 0; s < o; s++) + l[s] = e.aggNums(t, r, a[s]); + a = l; + } + for (s = 0; s < o; s++) + n(r) ? n(a[s]) && (r = t(+r, +a[s])) : (r = a[s]); + return r; + }), + (e.len = function (t) { + return e.aggNums( + function (t) { + return t + 1; + }, + 0, + t, + ); + }), + (e.mean = function (t, r) { + return ( + r || (r = e.len(t)), + e.aggNums( + function (t, e) { + return t + e; + }, + 0, + t, + ) / r + ); + }), + (e.midRange = function (t) { + if (void 0 !== t && 0 !== t.length) + return ( + (e.aggNums(Math.max, null, t) + + e.aggNums(Math.min, null, t)) / + 2 + ); + }), + (e.variance = function (t, r, i) { + return ( + r || (r = e.len(t)), + n(i) || (i = e.mean(t, r)), + e.aggNums( + function (t, e) { + return t + Math.pow(e - i, 2); + }, + 0, + t, + ) / r + ); + }), + (e.stdev = function (t, r, n) { + return Math.sqrt(e.variance(t, r, n)); + }), + (e.median = function (t) { + var r = t.slice().sort(); + return e.interp(r, 0.5); + }), + (e.interp = function (t, e) { + if (!n(e)) throw "n should be a finite number"; + if ((e = e * t.length - 0.5) < 0) return t[0]; + if (e > t.length - 1) return t[t.length - 1]; + var r = e % 1; + return r * t[Math.ceil(e)] + (1 - r) * t[Math.floor(e)]; + }); + }, + 78614: function (t, e, r) { + "use strict"; + var n = r(25075); + t.exports = function (t) { + return t ? n(t) : [0, 0, 0, 1]; + }; + }, + 3883: function (t, e, r) { + "use strict"; + var n = r(32396), + i = r(91424), + a = r(71828), + o = null; + t.exports = function () { + if (null !== o) return o; + o = !1; + var t = a.isIE() || a.isSafari() || a.isIOS(); + if (window.navigator.userAgent && !t) { + var e = Array.from(n.CSS_DECLARATIONS).reverse(), + r = + (window.CSS && window.CSS.supports) || + window.supportsCSS; + if ("function" == typeof r) + o = e.some(function (t) { + return r.apply(null, t); + }); + else { + var s = i.tester.append("image").attr("style", n.STYLE), + l = window.getComputedStyle(s.node()).imageRendering; + (o = e.some(function (t) { + var e = t[1]; + return l === e || l === e.toLowerCase(); + })), + s.remove(); + } + } + return o; + }; + }, + 63893: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = i.strTranslate, + o = r(77922), + s = r(18783).LINE_SPACING, + l = /([^$]*)([$]+[^$]*[$]+)([^$]*)/; + e.convertToTspans = function (t, r, g) { + var S = t.text(), + E = + !t.attr("data-notex") && + r && + r._context.typesetMath && + "undefined" != typeof MathJax && + S.match(l), + P = n.select(t.node().parentNode); + if (!P.empty()) { + var O = t.attr("class") + ? t.attr("class").split(" ")[0] + : "text"; + return ( + (O += "-math"), + P.selectAll("svg." + O).remove(), + P.selectAll("g." + O + "-group").remove(), + t + .style("display", null) + .attr({ "data-unformatted": S, "data-math": "N" }), + E + ? ((r && r._promises) || []).push( + new Promise(function (e) { + t.style("display", "none"); + var r = parseInt(t.node().style.fontSize, 10), + o = { fontSize: r }; + !(function (t, e, r) { + var a, + o, + s, + l, + h = parseInt( + (MathJax.version || "").split(".")[0], + ); + if (2 === h || 3 === h) { + var p = function () { + var r = + "math-output-" + i.randstr({}, 64), + a = (l = n + .select("body") + .append("div") + .attr({ id: r }) + .style({ + visibility: "hidden", + position: "absolute", + "font-size": e.fontSize + "px", + }) + .text( + t + .replace(u, "\\lt ") + .replace(c, "\\gt "), + )).node(); + return 2 === h + ? MathJax.Hub.Typeset(a) + : MathJax.typeset([a]); + }, + d = function () { + var e = l.select( + 2 === h + ? ".MathJax_SVG" + : ".MathJax", + ), + a = + !e.empty() && + l.select("svg").node(); + if (a) { + var o, + s = a.getBoundingClientRect(); + (o = + 2 === h + ? n + .select("body") + .select("#MathJax_SVG_glyphs") + : e.select("defs")), + r(e, o, s); + } else + i.log( + "There was an error in the tex syntax.", + t, + ), + r(); + l.remove(); + }; + 2 === h + ? MathJax.Hub.Queue( + function () { + return ( + (o = i.extendDeepAll( + {}, + MathJax.Hub.config, + )), + (s = + MathJax.Hub + .processSectionDelay), + void 0 !== + MathJax.Hub + .processSectionDelay && + (MathJax.Hub.processSectionDelay = 0), + MathJax.Hub.Config({ + messageStyle: "none", + tex2jax: { inlineMath: f }, + displayAlign: "left", + }) + ); + }, + function () { + if ( + "SVG" !== + (a = + MathJax.Hub.config.menuSettings + .renderer) + ) + return MathJax.Hub.setRenderer( + "SVG", + ); + }, + p, + d, + function () { + if ("SVG" !== a) + return MathJax.Hub.setRenderer(a); + }, + function () { + return ( + void 0 !== s && + (MathJax.Hub.processSectionDelay = + s), + MathJax.Hub.Config(o) + ); + }, + ) + : 3 === h && + ((o = i.extendDeepAll( + {}, + MathJax.config, + )), + MathJax.config.tex || + (MathJax.config.tex = {}), + (MathJax.config.tex.inlineMath = f), + "svg" !== + (a = MathJax.config.startup.output) && + (MathJax.config.startup.output = + "svg"), + MathJax.startup.defaultReady(), + MathJax.startup.promise.then( + function () { + p(), + d(), + "svg" !== a && + (MathJax.config.startup.output = + a), + (MathJax.config = o); + }, + )); + } else + i.warn( + "No MathJax version:", + MathJax.version, + ); + })(E[2], o, function (n, i, o) { + P.selectAll("svg." + O).remove(), + P.selectAll("g." + O + "-group").remove(); + var s = n && n.select("svg"); + if (!s || !s.node()) return I(), void e(); + var l = P.append("g") + .classed(O + "-group", !0) + .attr({ + "pointer-events": "none", + "data-unformatted": S, + "data-math": "Y", + }); + l.node().appendChild(s.node()), + i && + i.node() && + s + .node() + .insertBefore( + i.node().cloneNode(!0), + s.node().firstChild, + ); + var u = o.width, + c = o.height; + s.attr({ + class: O, + height: c, + preserveAspectRatio: "xMinYMin meet", + }).style({ + overflow: "visible", + "pointer-events": "none", + }); + var f = t.node().style.fill || "black", + h = s.select("g"); + h.attr({ fill: f, stroke: f }); + var p = h.node().getBoundingClientRect(), + d = p.width, + v = p.height; + (d > u || v > c) && + (s.style("overflow", "hidden"), + (d = (p = s.node().getBoundingClientRect()) + .width), + (v = p.height)); + var y = +t.attr("x"), + m = +t.attr("y"), + x = + -( + r || + t.node().getBoundingClientRect().height + ) / 4; + if ("y" === O[0]) + l.attr({ + transform: + "rotate(" + + [-90, y, m] + + ")" + + a(-d / 2, x - v / 2), + }); + else if ("l" === O[0]) m = x - v / 2; + else if ( + "a" === O[0] && + 0 !== O.indexOf("atitle") + ) + (y = 0), (m = x); + else { + var b = t.attr("text-anchor"); + (y -= + d * + ("middle" === b + ? 0.5 + : "end" === b + ? 1 + : 0)), + (m = m + x - v / 2); + } + s.attr({ x: y, y: m }), + g && g.call(t, l), + e(l); + }); + }), + ) + : I(), + t + ); + } + function I() { + P.empty() || + ((O = t.attr("class") + "-math"), + P.select("svg." + O).remove()), + t.text("").style("white-space", "pre"); + var r = (function (t, e) { + e = e.replace(y, " "); + var r, + a = !1, + l = [], + u = -1; + function c() { + u++; + var e = document.createElementNS(o.svg, "tspan"); + n.select(e).attr({ class: "line", dy: u * s + "em" }), + t.appendChild(e), + (r = e); + var i = l; + if (((l = [{ node: e }]), i.length > 1)) + for (var a = 1; a < i.length; a++) f(i[a]); + } + function f(t) { + var e, + i = t.type, + a = {}; + if ("a" === i) { + e = "a"; + var s = t.target, + u = t.href, + c = t.popup; + u && + ((a = { + "xlink:xlink:show": + "_blank" === s || "_" !== s.charAt(0) + ? "new" + : "replace", + target: s, + "xlink:xlink:href": u, + }), + c && + (a.onclick = + 'window.open(this.href.baseVal,this.target.baseVal,"' + + c + + '");return false;')); + } else e = "tspan"; + t.style && (a.style = t.style); + var f = document.createElementNS(o.svg, e); + if ("sup" === i || "sub" === i) { + g(r, v), r.appendChild(f); + var h = document.createElementNS(o.svg, "tspan"); + g(h, v), + n.select(h).attr("dy", d[i]), + (a.dy = p[i]), + r.appendChild(f), + r.appendChild(h); + } else r.appendChild(f); + n.select(f).attr(a), (r = t.node = f), l.push(t); + } + function g(t, e) { + t.appendChild(document.createTextNode(e)); + } + function S(t) { + if (1 !== l.length) { + var n = l.pop(); + t !== n.type && + i.log( + "Start tag <" + + n.type + + "> doesnt match end tag <" + + t + + ">. Pretending it did match.", + e, + ), + (r = l[l.length - 1].node); + } else + i.log( + "Ignoring unexpected end tag .", + e, + ); + } + b.test(e) ? c() : ((r = t), (l = [{ node: t }])); + for (var E = e.split(m), P = 0; P < E.length; P++) { + var O = E[P], + I = O.match(x), + D = I && I[2].toLowerCase(), + z = h[D]; + if ("br" === D) c(); + else if (void 0 === z) g(r, L(O)); + else if (I[1]) S(D); + else { + var R = I[4], + F = { type: D }, + B = A(R, _); + if ( + (B + ? ((B = B.replace(M, "$1 fill:")), + z && (B += ";" + z)) + : z && (B = z), + B && (F.style = B), + "a" === D) + ) { + a = !0; + var N = A(R, w); + if (N) { + var j = C(N); + j && + ((F.href = j), + (F.target = A(R, T) || "_blank"), + (F.popup = A(R, k))); + } + } + f(F); + } + } + return a; + })(t.node(), S); + r && t.style("pointer-events", "all"), + e.positionText(t), + g && g.call(t); + } + }; + var u = /(<|<|<)/g, + c = /(>|>|>)/g, + f = [ + ["$", "$"], + ["\\(", "\\)"], + ], + h = { + 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", + }, + p = { sub: "0.3em", sup: "-0.6em" }, + d = { sub: "-0.21em", sup: "0.42em" }, + v = "​", + g = ["http:", "https:", "mailto:", "", void 0, ":"], + y = (e.NEWLINES = /(\r\n?|\n)/g), + m = /(<[^<>]*>)/, + x = /<(\/?)([^ >]*)(\s+(.*))?>/i, + b = //i; + e.BR_TAG_ALL = //gi; + var _ = /(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i, + w = /(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i, + T = /(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i, + k = /(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i; + function A(t, e) { + if (!t) return null; + var r = t.match(e), + n = r && (r[3] || r[4]); + return n && L(n); + } + var M = /(^|;)\s*color:/; + e.plainText = function (t, e) { + for ( + var r = + void 0 !== (e = e || {}).len && -1 !== e.len + ? e.len + : 1 / 0, + n = void 0 !== e.allowedTags ? e.allowedTags : ["br"], + i = "...".length, + a = t.split(m), + o = [], + s = "", + l = 0, + u = 0; + u < a.length; + u++ + ) { + var c = a[u], + f = c.match(x), + h = f && f[2].toLowerCase(); + if (h) -1 !== n.indexOf(h) && (o.push(c), (s = h)); + else { + var p = c.length; + if (l + p < r) o.push(c), (l += p); + else if (l < r) { + var d = r - l; + s && ("br" !== s || d <= i || p <= i) && o.pop(), + r > i + ? o.push(c.substr(0, d - i) + "...") + : o.push(c.substr(0, d)); + break; + } + s = ""; + } + } + return o.join(""); + }; + var S = { + mu: "μ", + amp: "&", + lt: "<", + gt: ">", + nbsp: " ", + times: "×", + plusmn: "±", + deg: "°", + }, + E = /&(#\d+|#x[\da-fA-F]+|[a-z]+);/g; + function L(t) { + return t.replace(E, function (t, e) { + return ( + ("#" === e.charAt(0) + ? (function (t) { + if (!(t > 1114111)) { + var e = String.fromCodePoint; + if (e) return e(t); + var r = String.fromCharCode; + return t <= 65535 + ? r(t) + : r(55232 + (t >> 10), (t % 1024) + 56320); + } + })( + "x" === e.charAt(1) + ? parseInt(e.substr(2), 16) + : parseInt(e.substr(1), 10), + ) + : S[e]) || t + ); + }); + } + function C(t) { + var e = encodeURI(decodeURI(t)), + r = document.createElement("a"), + n = document.createElement("a"); + (r.href = t), (n.href = e); + var i = r.protocol, + a = n.protocol; + return -1 !== g.indexOf(i) && -1 !== g.indexOf(a) ? e : ""; + } + function P(t, e, r) { + var n, + a, + o, + s = r.horizontalAlign, + l = r.verticalAlign || "top", + u = t.node().getBoundingClientRect(), + c = e.node().getBoundingClientRect(); + return ( + (a = + "bottom" === l + ? function () { + return u.bottom - n.height; + } + : "middle" === l + ? function () { + return u.top + (u.height - n.height) / 2; + } + : function () { + return u.top; + }), + (o = + "right" === s + ? function () { + return u.right - n.width; + } + : "center" === s + ? function () { + return u.left + (u.width - n.width) / 2; + } + : function () { + return u.left; + }), + function () { + n = this.node().getBoundingClientRect(); + var t = o() - c.left, + e = a() - c.top, + s = r.gd || {}; + if (r.gd) { + s._fullLayout._calcInverseTransform(s); + var l = i.apply3DTransform( + s._fullLayout._invTransform, + )(t, e); + (t = l[0]), (e = l[1]); + } + return ( + this.style({ + top: e + "px", + left: t + "px", + "z-index": 1e3, + }), + this + ); + } + ); + } + (e.convertEntities = L), + (e.sanitizeHTML = function (t) { + t = t.replace(y, " "); + for ( + var e = document.createElement("p"), + r = e, + i = [], + a = t.split(m), + o = 0; + o < a.length; + o++ + ) { + var s = a[o], + l = s.match(x), + u = l && l[2].toLowerCase(); + if (u in h) + if (l[1]) i.length && (r = i.pop()); + else { + var c = l[4], + f = A(c, _), + p = f ? { style: f } : {}; + if ("a" === u) { + var d = A(c, w); + if (d) { + var v = C(d); + if (v) { + p.href = v; + var g = A(c, T); + g && (p.target = g); + } + } + } + var b = document.createElement(u); + r.appendChild(b), + n.select(b).attr(p), + (r = b), + i.push(b); + } + else r.appendChild(document.createTextNode(L(s))); + } + return e.innerHTML; + }), + (e.lineCount = function (t) { + return t.selectAll("tspan.line").size() || 1; + }), + (e.positionText = function (t, e, r) { + return t.each(function () { + var t = n.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", e), + o = i("y", r); + "text" === this.nodeName && + t.selectAll("tspan.line").attr({ x: a, y: o }); + }); + }); + var O = "1px "; + (e.makeTextShadow = function (t) { + return ( + "1px 1px 1px " + + t + + ", -1px -" + + O + + O + + t + + ", 1px -" + + O + + O + + t + + ", -" + + O + + O + + O + + t + ); + }), + (e.makeEditable = function (t, e) { + var r = e.gd, + i = e.delegate, + a = n.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, f; + (i = n.select(r).select(".svg-container")), + (s = i.append("div")), + (u = t.node().style), + (c = parseFloat(u.fontSize || 12)), + void 0 === (f = e.text) && + (f = t.attr("data-unformatted")), + s + .classed("plugin-editable editable", !0) + .style({ + position: "absolute", + "font-family": u.fontFamily || "Arial", + "font-size": c, + color: e.fill || u.fill || "black", + opacity: 1, + "background-color": e.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(f) + .call(P(t, i, e)) + .on("blur", function () { + (r._editing = !1), + t.text(this.textContent).style({ opacity: 1 }); + var e, + i = n.select(this).attr("class"); + (e = i + ? "." + i.split(" ")[0] + "-math-group" + : "[class*=-math-group]") && + n + .select(t.node().parentNode) + .select(e) + .style({ opacity: 0 }); + var o = this.textContent; + n.select(this).transition().duration(0).remove(), + n.select(document).on("mouseup", null), + a.edit.call(t, o); + }) + .on("focus", function () { + var t = this; + (r._editing = !0), + n.select(document).on("mouseup", function () { + if (n.event.target === t) return !1; + document.activeElement === s.node() && + s.node().blur(); + }); + }) + .on("keyup", function () { + 27 === n.event.which + ? ((r._editing = !1), + t.style({ opacity: 1 }), + n + .select(this) + .style({ opacity: 0 }) + .on("blur", function () { + return !1; + }) + .transition() + .remove(), + a.cancel.call(t, this.textContent)) + : (a.input.call(t, this.textContent), + n.select(this).call(P(t, i, e))); + }) + .on("keydown", function () { + 13 === n.event.which && this.blur(); + }) + .call(l), + t.style({ opacity: 0 }); + var h, + p = o.attr("class"); + (h = p + ? "." + p.split(" ")[0] + "-math-group" + : "[class*=-math-group]") && + n + .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 ( + e.immediate ? s() : o.on("click", s), + n.rebind(t, a, "on") + ); + }); + }, + 79990: function (t, e) { + "use strict"; + var r = {}; + function n(t) { + t && + null !== t.timer && + (clearTimeout(t.timer), (t.timer = null)); + } + (e.throttle = function (t, e, i) { + var a = r[t], + o = Date.now(); + if (!a) { + for (var s in r) r[s].ts < o - 6e4 && delete r[s]; + a = r[t] = { ts: 0, timer: null }; + } + function l() { + i(), + (a.ts = Date.now()), + a.onDone && (a.onDone(), (a.onDone = null)); + } + n(a), + o > a.ts + e + ? l() + : (a.timer = setTimeout(function () { + l(), (a.timer = null); + }, e)); + }), + (e.done = function (t) { + var e = r[t]; + return e && e.timer + ? new Promise(function (t) { + var r = e.onDone; + e.onDone = function () { + r && r(), t(), (e.onDone = null); + }; + }) + : Promise.resolve(); + }), + (e.clear = function (t) { + if (t) n(r[t]), delete r[t]; + else for (var i in r) e.clear(i); + }); + }, + 58163: function (t, e, r) { + "use strict"; + var n = r(92770); + t.exports = function (t, e) { + if (t > 0) return Math.log(t) / Math.LN10; + var r = Math.log(Math.min(e[0], e[1])) / Math.LN10; + return ( + n(r) || + (r = Math.log(Math.max(e[0], e[1])) / Math.LN10 - 6), + r + ); + }; + }, + 90973: function (t, e, r) { + "use strict"; + var n = (t.exports = {}), + i = r(78776).locationmodeToLayer, + a = r(96892).zL; + (n.getTopojsonName = function (t) { + return [ + t.scope.replace(/ /g, "-"), + "_", + t.resolution.toString(), + "m", + ].join(""); + }), + (n.getTopojsonPath = function (t, e) { + return t + e + ".json"; + }), + (n.getTopojsonFeatures = function (t, e) { + var r = i[t.locationmode], + n = e.objects[r]; + return a(e, n).features; + }); + }, + 37815: function (t) { + "use strict"; + t.exports = { + moduleType: "locale", + name: "en-US", + dictionary: { + "Click to enter Colorscale title": + "Click to enter Colorscale title", + }, + format: { date: "%m/%d/%Y" }, + }; + }, + 92177: function (t) { + "use strict"; + t.exports = { + moduleType: "locale", + name: "en", + dictionary: { + "Click to enter Colorscale title": + "Click to enter Colourscale title", + }, + format: { + 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", + ], + 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", + }, + }; + }, + 14458: function (t, e, r) { + "use strict"; + var n = r(73972); + t.exports = function (t) { + for ( + var e, + r, + i = n.layoutArrayContainers, + a = n.layoutArrayRegexes, + o = t.split("[")[0], + s = 0; + s < a.length; + s++ + ) + if ((r = t.match(a[s])) && 0 === r.index) { + e = r[0]; + break; + } + if ((e || (e = i[i.indexOf(o)]), !e)) return !1; + var l = t.substr(e.length); + return l + ? !!(r = l.match(/^\[(0|[1-9][0-9]*)\](\.(.+))?$/)) && { + array: e, + index: Number(r[1]), + property: r[3] || "", + } + : { array: e, index: "", property: "" }; + }; + }, + 30962: function (t, e, r) { + "use strict"; + var n = r(1426).extendFlat, + i = r(41965), + a = { + valType: "flaglist", + extras: ["none"], + flags: [ + "calc", + "clearAxisTypes", + "plot", + "style", + "markerSize", + "colorbars", + ], + }, + o = { + valType: "flaglist", + extras: ["none"], + flags: [ + "calc", + "plot", + "legend", + "ticks", + "axrange", + "layoutstyle", + "modebar", + "camera", + "arraydraw", + "colorbars", + ], + }, + s = a.flags.slice().concat(["fullReplot"]), + l = o.flags.slice().concat("layoutReplot"); + function u(t) { + for (var e = {}, r = 0; r < t.length; r++) e[t[r]] = !1; + return e; + } + function c(t, e, r) { + var a = n({}, t); + for (var o in a) { + var s = a[o]; + i(s) && (a[o] = f(s, e, 0, o)); + } + return "from-root" === r && (a.editType = e), a; + } + function f(t, e, r, i) { + if (t.valType) { + var a = n({}, t); + if (((a.editType = e), Array.isArray(t.items))) { + a.items = new Array(t.items.length); + for (var o = 0; o < t.items.length; o++) + a.items[o] = f(t.items[o], e); + } + return a; + } + return c( + t, + e, + "_" === i.charAt(0) ? "nested" : "from-root", + ); + } + t.exports = { + traces: a, + layout: o, + traceFlags: function () { + return u(s); + }, + layoutFlags: function () { + return u(l); + }, + 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: c, + }; + }, + 58377: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(27812), + a = r(73972), + o = r(71828), + s = r(74875), + l = r(41675), + u = r(7901), + c = l.cleanId, + f = l.getFromTrace, + h = a.traceIs; + function p(t, e) { + var r = t[e], + n = e.charAt(0); + r && "paper" !== r && (t[e] = c(r, n, !0)); + } + function d(t) { + function e(e, r) { + var n = t[e], + i = t.title && t.title[r]; + n && + !i && + (t.title || (t.title = {}), + (t.title[r] = t[e]), + delete t[e]); + } + t && + (("string" != typeof t.title && + "number" != typeof t.title) || + (t.title = { text: t.title }), + e("titlefont", "font"), + e("titleposition", "position"), + e("titleside", "side"), + e("titleoffset", "offset")); + } + function v(t) { + if (!o.isPlainObject(t)) return !1; + var e = t.name; + return ( + delete t.name, + delete t.showlegend, + ("string" == typeof e || "number" == typeof e) && + String(e) + ); + } + function g(t, e, r, n) { + if (r && !n) return t; + if (n && !r) return e; + if (!t.trim()) return e; + if (!e.trim()) return t; + var i, + a = Math.min(t.length, e.length); + for (i = 0; i < a && t.charAt(i) === e.charAt(i); i++); + return t.substr(0, i).trim(); + } + function y(t) { + var e = "middle", + r = "center"; + return ( + "string" == typeof t && + (-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 m(t, e) { + return ( + e in t && + "object" == typeof t[e] && + 0 === Object.keys(t[e]).length + ); + } + (e.clearPromiseQueue = function (t) { + Array.isArray(t._promises) && + t._promises.length > 0 && + o.log("Clearing previous rejected promises from queue."), + (t._promises = []); + }), + (e.cleanLayout = function (t) { + var r, n; + 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 a = (s.subplotsRegistry.cartesian || {}).attrRegex, + l = (s.subplotsRegistry.polar || {}).attrRegex, + f = (s.subplotsRegistry.ternary || {}).attrRegex, + h = (s.subplotsRegistry.gl3d || {}).attrRegex, + v = Object.keys(t); + for (r = 0; r < v.length; r++) { + var g = v[r]; + if (a && a.test(g)) { + var y = t[g]; + y.anchor && + "free" !== y.anchor && + (y.anchor = c(y.anchor)), + y.overlaying && (y.overlaying = c(y.overlaying)), + y.type || + (y.isdate + ? (y.type = "date") + : y.islog + ? (y.type = "log") + : !1 === y.isdate && + !1 === y.islog && + (y.type = "linear")), + ("withzero" !== y.autorange && + "tozero" !== y.autorange) || + ((y.autorange = !0), (y.rangemode = "tozero")), + delete y.islog, + delete y.isdate, + delete y.categories, + m(y, "domain") && delete y.domain, + void 0 !== y.autotick && + (void 0 === y.tickmode && + (y.tickmode = y.autotick ? "auto" : "linear"), + delete y.autotick), + d(y); + } else if (l && l.test(g)) d(t[g].radialaxis); + else if (f && f.test(g)) { + var x = t[g]; + d(x.aaxis), d(x.baxis), d(x.caxis); + } else if (h && h.test(g)) { + var b = t[g], + _ = b.cameraposition; + if (Array.isArray(_) && 4 === _[0].length) { + var w = _[0], + T = _[1], + k = _[2], + A = i([], w), + M = []; + for (n = 0; n < 3; ++n) + M[n] = T[n] + k * A[2 + 4 * n]; + (b.camera = { + eye: { x: M[0], y: M[1], z: M[2] }, + center: { x: T[0], y: T[1], z: T[2] }, + up: { x: 0, y: 0, z: 1 }, + }), + delete b.cameraposition; + } + d(b.xaxis), d(b.yaxis), d(b.zaxis); + } + } + var S = Array.isArray(t.annotations) + ? t.annotations.length + : 0; + for (r = 0; r < S; r++) { + var E = t.annotations[r]; + o.isPlainObject(E) && + (E.ref && + ("paper" === E.ref + ? ((E.xref = "paper"), (E.yref = "paper")) + : "data" === E.ref && + ((E.xref = "x"), (E.yref = "y")), + delete E.ref), + p(E, "xref"), + p(E, "yref")); + } + var L = Array.isArray(t.shapes) ? t.shapes.length : 0; + for (r = 0; r < L; r++) { + var C = t.shapes[r]; + o.isPlainObject(C) && (p(C, "xref"), p(C, "yref")); + } + var P = Array.isArray(t.images) ? t.images.length : 0; + for (r = 0; r < P; r++) { + var O = t.images[r]; + o.isPlainObject(O) && (p(O, "xref"), p(O, "yref")); + } + var I = t.legend; + return ( + I && + (I.x > 3 + ? ((I.x = 1.02), (I.xanchor = "left")) + : I.x < -2 && + ((I.x = -0.02), (I.xanchor = "right")), + I.y > 3 + ? ((I.y = 1.02), (I.yanchor = "bottom")) + : I.y < -2 && ((I.y = -0.02), (I.yanchor = "top"))), + d(t), + "rotate" === t.dragmode && (t.dragmode = "orbit"), + u.clean(t), + t.template && + t.template.layout && + e.cleanLayout(t.template.layout), + t + ); + }), + (e.cleanData = function (t) { + for (var r = 0; r < t.length; r++) { + var n, + i = t[r]; + if ( + ("histogramy" === i.type && + "xbins" in i && + !("ybins" in i) && + ((i.ybins = i.xbins), delete i.xbins), + i.error_y && "opacity" in i.error_y) + ) { + var l = u.defaults, + f = + i.error_y.color || + (h(i, "bar") ? u.defaultLine : l[r % l.length]); + (i.error_y.color = u.addOpacity( + u.rgb(f), + u.opacity(f) * i.error_y.opacity, + )), + delete i.error_y.opacity; + } + if ( + ("bardir" in i && + ("h" !== i.bardir || + (!h(i, "bar") && + "histogram" !== i.type.substr(0, 9)) || + ((i.orientation = "h"), e.swapXYData(i)), + delete i.bardir), + "histogramy" === i.type && e.swapXYData(i), + ("histogramx" !== i.type && + "histogramy" !== i.type) || + (i.type = "histogram"), + "scl" in i && + !("colorscale" in i) && + ((i.colorscale = i.scl), delete i.scl), + "reversescl" in i && + !("reversescale" in i) && + ((i.reversescale = i.reversescl), + delete i.reversescl), + i.xaxis && (i.xaxis = c(i.xaxis, "x")), + i.yaxis && (i.yaxis = c(i.yaxis, "y")), + h(i, "gl3d") && + i.scene && + (i.scene = s.subplotsRegistry.gl3d.cleanId( + i.scene, + )), + !h(i, "pie-like") && !h(i, "bar-like")) + ) + if (Array.isArray(i.textposition)) + for (n = 0; n < i.textposition.length; n++) + i.textposition[n] = y(i.textposition[n]); + else + i.textposition && + (i.textposition = y(i.textposition)); + var p = a.getModule(i); + if (p && p.colorbar) { + var x = p.colorbar.container, + b = x ? i[x] : i; + b && + b.colorscale && + ("YIGnBu" === b.colorscale && + (b.colorscale = "YlGnBu"), + "YIOrRd" === b.colorscale && + (b.colorscale = "YlOrRd")); + } + if ( + "surface" === i.type && + o.isPlainObject(i.contours) + ) { + var _ = ["x", "y", "z"]; + for (n = 0; n < _.length; n++) { + var w = i.contours[_[n]]; + o.isPlainObject(w) && + (w.highlightColor && + ((w.highlightcolor = w.highlightColor), + delete w.highlightColor), + w.highlightWidth && + ((w.highlightwidth = w.highlightWidth), + delete w.highlightWidth)); + } + } + if ("candlestick" === i.type || "ohlc" === i.type) { + var T = !1 !== (i.increasing || {}).showlegend, + k = !1 !== (i.decreasing || {}).showlegend, + A = v(i.increasing), + M = v(i.decreasing); + if (!1 !== A && !1 !== M) { + var S = g(A, M, T, k); + S && (i.name = S); + } else (!A && !M) || i.name || (i.name = A || M); + } + if (Array.isArray(i.transforms)) { + var E = i.transforms; + for (n = 0; n < E.length; n++) { + var L = E[n]; + if (o.isPlainObject(L)) + switch (L.type) { + case "filter": + L.filtersrc && + ((L.target = L.filtersrc), + delete L.filtersrc), + L.calendar && + (L.valuecalendar || + (L.valuecalendar = L.calendar), + delete L.calendar); + break; + case "groupby": + if ( + ((L.styles = L.styles || L.style), + L.styles && !Array.isArray(L.styles)) + ) { + var C = L.styles, + P = Object.keys(C); + L.styles = []; + for (var O = 0; O < P.length; O++) + L.styles.push({ + target: P[O], + value: C[P[O]], + }); + } + } + } + } + m(i, "line") && delete i.line, + "marker" in i && + (m(i.marker, "line") && delete i.marker.line, + m(i, "marker") && delete i.marker), + u.clean(i), + i.autobinx && (delete i.autobinx, delete i.xbins), + i.autobiny && (delete i.autobiny, delete i.ybins), + d(i), + i.colorbar && d(i.colorbar), + i.marker && i.marker.colorbar && d(i.marker.colorbar), + i.line && i.line.colorbar && d(i.line.colorbar), + i.aaxis && d(i.aaxis), + i.baxis && d(i.baxis); + } + }), + (e.swapXYData = function (t) { + var e; + if ( + (o.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); + o.swapAttrs(t, ["error_?.copy_ystyle"]), + n && + o.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("+"); + } + }), + (e.coerceTraceIndices = function (t, e) { + if (n(e)) return [e]; + if (!Array.isArray(e) || !e.length) + return t.data.map(function (t, e) { + return e; + }); + if (Array.isArray(e)) { + for (var r = [], i = 0; i < e.length; i++) + o.isIndex(e[i], t.data.length) + ? r.push(e[i]) + : o.warn( + "trace index (", + e[i], + ") is not a number or is out of bounds", + ); + return r; + } + return e; + }), + (e.manageArrayContainers = function (t, e, r) { + var i = t.obj, + a = t.parts, + s = a.length, + l = a[s - 1], + u = n(l); + if (u && null === e) { + var c = a.slice(0, s - 1).join("."); + o.nestedProperty(i, c).get().splice(l, 1); + } else + u && void 0 === t.get() + ? (void 0 === t.get() && (r[t.astr] = null), t.set(e)) + : t.set(e); + }); + var x = /(\.[^\[\]\.]+|\[[^\[\]\.]+\])$/; + function b(t) { + var e = t.search(x); + if (e > 0) return t.substr(0, e); + } + e.hasParent = function (t, e) { + for (var r = b(e); r; ) { + if (r in t) return !0; + r = b(r); + } + return !1; + }; + var _ = ["x", "y", "z"]; + e.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 s = f(t, i, _[a]); + if (s && "log" !== s.type) { + var l = s._name, + u = s._id.substr(1); + if ("scene" === u.substr(0, 5)) { + if (void 0 !== r[u]) continue; + l = u + "." + l; + } + var c = l + ".type"; + void 0 === r[l] && + void 0 === r[c] && + o.nestedProperty(t.layout, c).set(null); + } + } + }; + }, + 10641: function (t, e, r) { + "use strict"; + var n = r(72391); + (e._doPlot = n._doPlot), + (e.newPlot = n.newPlot), + (e.restyle = n.restyle), + (e.relayout = n.relayout), + (e.redraw = n.redraw), + (e.update = n.update), + (e._guiRestyle = n._guiRestyle), + (e._guiRelayout = n._guiRelayout), + (e._guiUpdate = n._guiUpdate), + (e._storeDirectGUIEdit = n._storeDirectGUIEdit), + (e.react = n.react), + (e.extendTraces = n.extendTraces), + (e.prependTraces = n.prependTraces), + (e.addTraces = n.addTraces), + (e.deleteTraces = n.deleteTraces), + (e.moveTraces = n.moveTraces), + (e.purge = n.purge), + (e.addFrames = n.addFrames), + (e.deleteFrames = n.deleteFrames), + (e.animate = n.animate), + (e.setPlotConfig = n.setPlotConfig); + var i = r(24401).getGraphDiv, + a = r(34031).eraseActiveShape; + (e.deleteActiveShape = function (t) { + return a(i(t)); + }), + (e.toImage = r(403)), + (e.validate = r(84936)), + (e.downloadImage = r(7239)); + var o = r(96318); + (e.makeTemplate = o.makeTemplate), + (e.validateTemplate = o.validateTemplate); + }, + 6611: function (t, e, r) { + "use strict"; + var n = r(41965), + i = r(64213), + a = r(47769), + o = r(65888).sorterAsc, + s = r(73972); + e.containerArrayMatch = r(14458); + var l = (e.isAddVal = function (t) { + return "add" === t || n(t); + }), + u = (e.isRemoveVal = function (t) { + return null === t || "remove" === t; + }); + e.applyContainerArrayChanges = function (t, e, r, n, c) { + var f = e.astr, + h = s.getComponentMethod(f, "supplyLayoutDefaults"), + p = s.getComponentMethod(f, "draw"), + d = s.getComponentMethod(f, "drawOne"), + v = n.replot || n.recalc || h === i || p === i, + g = t.layout, + y = t._fullLayout; + if (r[""]) { + Object.keys(r).length > 1 && + a.warn( + "Full array edits are incompatible with other edits", + f, + ); + var m = r[""][""]; + if (u(m)) e.set(null); + else { + if (!Array.isArray(m)) + return ( + a.warn("Unrecognized full array edit value", f, m), + !0 + ); + e.set(m); + } + return !v && (h(g, y), p(t), !0); + } + var x, + b, + _, + w, + T, + k, + A, + M, + S = Object.keys(r).map(Number).sort(o), + E = e.get(), + L = E || [], + C = c(y, f).get(), + P = [], + O = -1, + I = L.length; + for (x = 0; x < S.length; x++) + if ( + ((w = r[(_ = S[x])]), + (T = Object.keys(w)), + (k = w[""]), + (A = l(k)), + _ < 0 || _ > L.length - (A ? 0 : 1)) + ) + a.warn("index out of range", f, _); + else if (void 0 !== k) + T.length > 1 && + a.warn( + "Insertion & removal are incompatible with edits to the same index.", + f, + _, + ), + u(k) + ? P.push(_) + : A + ? ("add" === k && (k = {}), + L.splice(_, 0, k), + C && C.splice(_, 0, {})) + : a.warn( + "Unrecognized full object edit value", + f, + _, + k, + ), + -1 === O && (O = _); + else + for (b = 0; b < T.length; b++) + (M = f + "[" + _ + "]."), + c(L[_], T[b], M).set(w[T[b]]); + for (x = P.length - 1; x >= 0; x--) + L.splice(P[x], 1), C && C.splice(P[x], 1); + if ((L.length ? E || e.set(L) : e.set(null), v)) return !1; + if ((h(g, y), d !== i)) { + var D; + if (-1 === O) D = S; + else { + for ( + I = Math.max(L.length, I), D = [], x = 0; + x < S.length && !((_ = S[x]) >= O); + x++ + ) + D.push(_); + for (x = O; x < I; x++) D.push(x); + } + for (x = 0; x < D.length; x++) d(t, D[x]); + } else p(t); + return !0; + }; + }, + 72391: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = r(57035), + o = r(71828), + s = o.nestedProperty, + l = r(11086), + u = r(10847), + c = r(73972), + f = r(86281), + h = r(74875), + p = r(89298), + d = r(91424), + v = r(7901), + g = r(4305).initInteractions, + y = r(77922), + m = r(47322).clearOutline, + x = r(72075).dfltConfig, + b = r(6611), + _ = r(58377), + w = r(61549), + T = r(30962), + k = r(85555).AX_NAME_PATTERN, + A = 0; + function M(t) { + var e = t._fullLayout; + e._redrawFromAutoMarginCount + ? e._redrawFromAutoMarginCount-- + : t.emit("plotly_afterplot"); + } + function S(t, e) { + try { + t._fullLayout._paper.style("background", e); + } catch (t) { + o.error(t); + } + } + function E(t, e) { + S(t, v.combine(e, "white")); + } + function L(t, e) { + if (!t._context) { + t._context = o.extendDeep({}, x); + var r = n.select("base"); + t._context._baseUrl = + r.size() && r.attr("href") + ? window.location.href.split("#")[0] + : ""; + } + var i, + s, + l, + u = t._context; + if (e) { + for (s = Object.keys(e), i = 0; i < s.length; i++) + "editable" !== (l = s[i]) && + "edits" !== l && + l in u && + ("setBackground" === l && "opaque" === e[l] + ? (u[l] = E) + : (u[l] = e[l])); + e.plot3dPixelRatio && + !u.plotGlPixelRatio && + (u.plotGlPixelRatio = u.plot3dPixelRatio); + var c = e.editable; + if (void 0 !== c) + for ( + u.editable = c, s = Object.keys(u.edits), i = 0; + i < s.length; + i++ + ) + u.edits[s[i]] = c; + if (e.edits) + for (s = Object.keys(e.edits), i = 0; i < s.length; i++) + (l = s[i]) in u.edits && (u.edits[l] = e.edits[l]); + u._exportedPlot = e._exportedPlot; + } + u.staticPlot && + ((u.editable = !1), + (u.edits = {}), + (u.autosizable = !1), + (u.scrollZoom = !1), + (u.doubleClick = !1), + (u.showTips = !1), + (u.showLink = !1), + (u.displayModeBar = !1)), + "hover" !== u.displayModeBar || + a || + (u.displayModeBar = !0), + ("transparent" !== u.setBackground && + "function" == typeof u.setBackground) || + (u.setBackground = S), + (u._hasZeroHeight = + u._hasZeroHeight || 0 === t.clientHeight), + (u._hasZeroWidth = + u._hasZeroWidth || 0 === t.clientWidth); + var f = u.scrollZoom, + h = (u._scrollZoom = {}); + if (!0 === f) + (h.cartesian = 1), + (h.gl3d = 1), + (h.geo = 1), + (h.mapbox = 1); + else if ("string" == typeof f) { + var p = f.split("+"); + for (i = 0; i < p.length; i++) h[p[i]] = 1; + } else + !1 !== f && ((h.gl3d = 1), (h.geo = 1), (h.mapbox = 1)); + } + function C(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 P(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 O(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]), + P(t, e, "currentIndices"), + void 0 === r || Array.isArray(r) || (r = [r]), + void 0 !== r && P(t, r, "newIndices"), + void 0 !== r && e.length !== r.length) + ) + throw new Error( + "current and new indices must be of equal length.", + ); + } + function I(t, e, r, n, a) { + !(function (t, e, r, n) { + var i = o.isPlainObject(n); + if (!Array.isArray(t.data)) + throw new Error("gd.data must be an array"); + if (!o.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 (P(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, r, n); + for ( + var l = (function (t, e, r, n) { + var a, + l, + u, + c, + f, + h = o.isPlainObject(n), + p = []; + for (var d in (Array.isArray(r) || (r = [r]), + (r = C(r, t.data.length - 1)), + e)) + for (var v = 0; v < r.length; v++) { + if ( + ((a = t.data[r[v]]), + (l = (u = s(a, d)).get()), + (c = e[d][v]), + !o.isArrayOrTypedArray(c)) + ) + throw new Error( + "attribute: " + + d + + " index: " + + v + + " must be an array", + ); + if (!o.isArrayOrTypedArray(l)) + throw new Error( + "cannot extend missing or non-array attribute: " + + d, + ); + if (l.constructor !== c.constructor) + throw new Error( + "cannot extend array with an array of a different type: " + + d, + ); + (f = h ? n[d][v] : n), + i(f) || (f = -1), + p.push({ + prop: u, + target: l, + insert: c, + maxp: Math.floor(f), + }); + } + return p; + })(t, e, r, n), + u = {}, + c = {}, + f = 0; + f < l.length; + f++ + ) { + var h = l[f].prop, + p = l[f].maxp, + d = a(l[f].target, l[f].insert, p); + h.set(d[0]), + Array.isArray(u[h.astr]) || (u[h.astr] = []), + u[h.astr].push(d[1]), + Array.isArray(c[h.astr]) || (c[h.astr] = []), + c[h.astr].push(l[f].target.length); + } + return { update: u, maxPoints: c }; + } + function D(t, e) { + var r = new t.constructor(t.length + e.length); + return r.set(t), r.set(e, t.length), r; + } + function z(t, r, n, i) { + (t = o.getGraphDiv(t)), _.clearPromiseQueue(t); + var a = {}; + if ("string" == typeof r) a[r] = n; + else { + if (!o.isPlainObject(r)) + return ( + o.warn("Restyle fail.", r, n, i), Promise.reject() + ); + (a = o.extendFlat({}, r)), void 0 === i && (i = n); + } + Object.keys(a).length && (t.changed = !0); + var s = _.coerceTraceIndices(t, i), + l = N(t, a, s), + c = l.flags; + c.calc && (t.calcdata = void 0), + c.clearAxisTypes && _.clearAxisTypes(t, s, {}); + var f = []; + c.fullReplot + ? f.push(e._doPlot) + : (f.push(h.previousPromises), + h.supplyDefaults(t), + c.markerSize && (h.doCalcdata(t), H(f)), + c.style && f.push(w.doTraceStyle), + c.colorbars && f.push(w.doColorBars), + f.push(M)), + f.push(h.rehover, h.redrag, h.reselect), + u.add(t, z, [t, l.undoit, l.traces], z, [ + t, + l.redoit, + l.traces, + ]); + var p = o.syncOrAsync(f, t); + return ( + (p && p.then) || (p = Promise.resolve()), + p.then(function () { + return t.emit("plotly_restyle", l.eventData), t; + }) + ); + } + function R(t) { + return void 0 === t ? null : t; + } + function F(t, e) { + return e + ? function (e, r, n) { + var i = s(e, r), + a = i.set; + return ( + (i.set = function (e) { + B((n || "") + r, i.get(), e, t), a(e); + }), + i + ); + } + : s; + } + function B(t, e, r, n) { + if (Array.isArray(e) || Array.isArray(r)) + for ( + var i = Array.isArray(e) ? e : [], + a = Array.isArray(r) ? r : [], + s = Math.max(i.length, a.length), + l = 0; + l < s; + l++ + ) + B(t + "[" + l + "]", i[l], a[l], n); + else if (o.isPlainObject(e) || o.isPlainObject(r)) { + var u = o.isPlainObject(e) ? e : {}, + c = o.isPlainObject(r) ? r : {}, + f = o.extendFlat({}, u, c); + for (var h in f) B(t + "." + h, u[h], c[h], n); + } else void 0 === n[t] && (n[t] = R(e)); + } + function N(t, e, r) { + var n, + i = t._fullLayout, + a = t._fullData, + l = t.data, + u = i._guiEditing, + d = F(i._preGUI, u), + v = o.extendDeepAll({}, e); + j(e); + var g, + y = T.traceFlags(), + m = {}, + x = {}; + function b() { + return r.map(function () {}); + } + function w(t) { + var e = p.id2name(t); + -1 === g.indexOf(e) && g.push(e); + } + function k(t) { + return "LAYOUT" + t + ".autorange"; + } + function A(t) { + return "LAYOUT" + t + ".range"; + } + function M(t) { + for (var e = t; e < a.length; e++) + if (a[e]._input === l[t]) return a[e]; + } + function S(n, a, o) { + if (Array.isArray(n)) + n.forEach(function (t) { + S(t, a, o); + }); + else if (!(n in e) && !_.hasParent(e, n)) { + var s; + if ("LAYOUT" === n.substr(0, 6)) + s = d(t.layout, n.replace("LAYOUT", "")); + else { + var c = r[o]; + s = F(i._tracePreGUI[M(c)._fullInput.uid], u)( + l[c], + n, + ); + } + n in x || (x[n] = b()), + void 0 === x[n][o] && (x[n][o] = R(s.get())), + void 0 !== a && s.set(a); + } + } + function E(t) { + return function (e) { + return a[e][t]; + }; + } + function L(t) { + return function (e, n) { + return !1 === e ? a[r[n]][t] : null; + }; + } + for (var C in e) { + if (_.hasParent(e, C)) + throw new Error( + "cannot set " + + C + + " and a parent attribute simultaneously", + ); + var P, + O, + I, + D, + z, + B, + N = e[C]; + if ( + (("autobinx" !== C && "autobiny" !== C) || + ((C = C.charAt(C.length - 1) + "bins"), + (N = Array.isArray(N) + ? N.map(L(C)) + : !1 === N + ? r.map(E(C)) + : null)), + (m[C] = N), + "LAYOUT" !== C.substr(0, 6)) + ) { + for (x[C] = b(), n = 0; n < r.length; n++) + if ( + ((P = l[r[n]]), + (O = M(r[n])), + (D = (I = F(i._tracePreGUI[O._fullInput.uid], u)( + P, + C, + )).get()), + void 0 !== + (z = Array.isArray(N) ? N[n % N.length] : N)) + ) { + var U = I.parts[I.parts.length - 1], + V = C.substr(0, C.length - U.length - 1), + H = V ? V + "." : "", + q = V ? s(O, V).get() : O; + if ( + (B = f.getTraceValObject(O, I.parts)) && + B.impliedEdits && + null !== z + ) + for (var G in B.impliedEdits) + S(o.relativeAttr(C, G), B.impliedEdits[G], n); + else if ( + ("thicknessmode" !== U && "lenmode" !== U) || + D === z || + ("fraction" !== z && "pixels" !== z) || + !q + ) { + if ( + "type" === C && + (("pie" === z) != ("pie" === D) || + ("funnelarea" === z) != ("funnelarea" === D)) + ) { + var Z = "x", + Y = "y"; + ("bar" !== z && "bar" !== D) || + "h" !== P.orientation || + ((Z = "y"), (Y = "x")), + o.swapAttrs(P, ["?", "?src"], "labels", Z), + o.swapAttrs(P, ["d?", "?0"], "label", Z), + o.swapAttrs(P, ["?", "?src"], "values", Y), + "pie" === D || "funnelarea" === D + ? (s(P, "marker.color").set( + s(P, "marker.colors").get(), + ), + i._pielayer.selectAll("g.trace").remove()) + : c.traceIs(P, "cartesian") && + s(P, "marker.colors").set( + s(P, "marker.color").get(), + ); + } + } else { + var W = i._size, + X = q.orient, + J = "top" === X || "bottom" === X; + if ("thicknessmode" === U) { + var K = J ? W.h : W.w; + S( + H + "thickness", + q.thickness * ("fraction" === z ? 1 / K : K), + n, + ); + } else { + var $ = J ? W.w : W.h; + S( + H + "len", + q.len * ("fraction" === z ? 1 / $ : $), + n, + ); + } + } + if ( + ((x[C][n] = R(D)), + -1 !== + [ + "swapxy", + "swapxyaxes", + "orientation", + "orientationaxes", + ].indexOf(C)) + ) { + if ("orientation" === C) { + I.set(z); + var Q = P.x && !P.y ? "h" : "v"; + if ((I.get() || Q) === O.orientation) continue; + } else + "orientationaxes" === C && + (P.orientation = { v: "h", h: "v" }[ + O.orientation + ]); + _.swapXYData(P), (y.calc = y.clearAxisTypes = !0); + } else + -1 !== h.dataArrayContainers.indexOf(I.parts[0]) + ? (_.manageArrayContainers(I, z, x), + (y.calc = !0)) + : (B + ? B.arrayOk && + !c.traceIs(O, "regl") && + (o.isArrayOrTypedArray(z) || + o.isArrayOrTypedArray(D)) + ? (y.calc = !0) + : T.update(y, B) + : (y.calc = !0), + I.set(z)); + } + if ( + (-1 !== + ["swapxyaxes", "orientationaxes"].indexOf(C) && + p.swap(t, r), + "orientationaxes" === C) + ) { + var tt = s(t.layout, "hovermode"), + et = tt.get(); + "x" === et + ? tt.set("y") + : "y" === et + ? tt.set("x") + : "x unified" === et + ? tt.set("y unified") + : "y unified" === et && tt.set("x unified"); + } + if (-1 !== ["orientation", "type"].indexOf(C)) { + for (g = [], n = 0; n < r.length; n++) { + var rt = l[r[n]]; + c.traceIs(rt, "cartesian") && + (w(rt.xaxis || "x"), w(rt.yaxis || "y")); + } + S(g.map(k), !0, 0), S(g.map(A), [0, 1], 0); + } + } else + (I = d(t.layout, C.replace("LAYOUT", ""))), + (x[C] = [R(I.get())]), + I.set(Array.isArray(N) ? N[0] : N), + (y.calc = !0); + } + return ( + (y.calc || y.plot) && (y.fullReplot = !0), + { + flags: y, + undoit: x, + redoit: m, + traces: r, + eventData: o.extendDeepNoArrays([], [v, r]), + } + ); + } + function j(t) { + var e, + r, + n, + i = o.counterRegex("axis", ".title", !1, !1), + a = /colorbar\.title$/, + s = Object.keys(t); + for (e = 0; e < s.length; e++) + (r = s[e]), + (n = t[r]), + ("title" !== r && !i.test(r) && !a.test(r)) || + ("string" != typeof n && "number" != typeof n) + ? r.indexOf("titlefont") > -1 && + -1 === r.indexOf("grouptitlefont") + ? l(r, r.replace("titlefont", "title.font")) + : r.indexOf("titleposition") > -1 + ? l(r, r.replace("titleposition", "title.position")) + : r.indexOf("titleside") > -1 + ? l(r, r.replace("titleside", "title.side")) + : r.indexOf("titleoffset") > -1 && + l(r, r.replace("titleoffset", "title.offset")) + : l(r, r.replace("title", "title.text")); + function l(e, r) { + (t[r] = t[e]), delete t[e]; + } + } + function U(t, e, r) { + (t = o.getGraphDiv(t)), _.clearPromiseQueue(t); + var n = {}; + if ("string" == typeof e) n[e] = r; + else { + if (!o.isPlainObject(e)) + return o.warn("Relayout fail.", e, r), Promise.reject(); + n = o.extendFlat({}, e); + } + Object.keys(n).length && (t.changed = !0); + var i = Y(t, n), + a = i.flags; + a.calc && (t.calcdata = void 0); + var s = [h.previousPromises]; + a.layoutReplot + ? s.push(w.layoutReplot) + : Object.keys(n).length && + (V(t, a, i) || h.supplyDefaults(t), + a.legend && s.push(w.doLegend), + a.layoutstyle && s.push(w.layoutStyles), + a.axrange && H(s, i.rangesAltered), + a.ticks && s.push(w.doTicksRelayout), + a.modebar && s.push(w.doModeBar), + a.camera && s.push(w.doCamera), + a.colorbars && s.push(w.doColorBars), + s.push(M)), + s.push(h.rehover, h.redrag, h.reselect), + u.add(t, U, [t, i.undoit], U, [t, i.redoit]); + var l = o.syncOrAsync(s, t); + return ( + (l && l.then) || (l = Promise.resolve(t)), + l.then(function () { + return t.emit("plotly_relayout", i.eventData), t; + }) + ); + } + function V(t, e, r) { + var n = t._fullLayout; + if (!e.axrange) return !1; + for (var i in e) if ("axrange" !== i && e[i]) return !1; + for (var a in r.rangesAltered) { + var o = p.id2name(a), + s = t.layout[o], + l = n[o]; + l.autorange = s.autorange; + var u = l._rangeInitial0, + c = l._rangeInitial1; + if ( + (void 0 === u && void 0 !== c) || + (void 0 !== u && void 0 === c) + ) + return !1; + if ( + (s.range && (l.range = s.range.slice()), + l.cleanRange(), + l._matchGroup) + ) + for (var f in l._matchGroup) + if (f !== a) { + var h = n[p.id2name(f)]; + (h.autorange = l.autorange), + (h.range = l.range.slice()), + (h._input.range = l.range.slice()); + } + } + return !0; + } + function H(t, e) { + var r = e + ? function (t) { + var r = []; + for (var n in e) { + var i = p.getFromId(t, n); + if ( + (r.push(n), + -1 !== + (i.ticklabelposition || "").indexOf("inside") && + i._anchorAxis && + r.push(i._anchorAxis._id), + i._matchGroup) + ) + for (var a in i._matchGroup) e[a] || r.push(a); + } + return p.draw(t, r, { skipTitle: !0 }); + } + : function (t) { + return p.draw(t, "redraw"); + }; + t.push( + m, + w.doAutoRangeAndConstraints, + r, + w.drawData, + w.finalDraw, + ); + } + var q = /^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/, + G = /^[xyz]axis[0-9]*\.autorange$/, + Z = /^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/; + function Y(t, e) { + var r, + n, + i, + a = t.layout, + l = t._fullLayout, + u = l._guiEditing, + h = F(l._preGUI, u), + d = Object.keys(e), + v = p.list(t), + g = o.extendDeepAll({}, e), + y = {}; + for (j(e), d = Object.keys(e), n = 0; n < d.length; n++) + if (0 === d[n].indexOf("allaxes")) { + for (i = 0; i < v.length; i++) { + var m = v[i]._id.substr(1), + x = -1 !== m.indexOf("scene") ? m + "." : "", + w = d[n].replace("allaxes", x + v[i]._name); + e[w] || (e[w] = e[d[n]]); + } + delete e[d[n]]; + } + var A = T.layoutFlags(), + M = {}, + S = {}; + function E(t, r) { + if (Array.isArray(t)) + t.forEach(function (t) { + E(t, r); + }); + else if (!(t in e) && !_.hasParent(e, t)) { + var n = h(a, t); + t in S || (S[t] = R(n.get())), void 0 !== r && n.set(r); + } + } + var L, + C = {}; + function P(t) { + var e = p.name2id(t.split(".")[0]); + return (C[e] = 1), e; + } + for (var O in e) { + if (_.hasParent(e, O)) + throw new Error( + "cannot set " + + O + + " and a parent attribute simultaneously", + ); + for ( + var I = h(a, O), D = e[O], z = I.parts.length - 1; + z > 0 && "string" != typeof I.parts[z]; + + ) + z--; + var B = I.parts[z], + N = I.parts[z - 1] + "." + B, + U = I.parts.slice(0, z).join("."), + V = s(t.layout, U).get(), + H = s(l, U).get(), + Y = I.get(); + if (void 0 !== D) { + (M[O] = D), (S[O] = "reverse" === B ? D : R(Y)); + var X = f.getLayoutValObject(l, I.parts); + if (X && X.impliedEdits && null !== D) + for (var J in X.impliedEdits) + E(o.relativeAttr(O, J), X.impliedEdits[J]); + if (-1 !== ["width", "height"].indexOf(O)) + if (D) { + E("autosize", null); + var K = "height" === O ? "width" : "height"; + E(K, l[K]); + } else l[O] = t._initialAutoSize[O]; + else if ("autosize" === O) + E("width", D ? null : l.width), + E("height", D ? null : l.height); + else if (N.match(q)) + P(N), s(l, U + "._inputRange").set(null); + else if (N.match(G)) { + P(N), s(l, U + "._inputRange").set(null); + var $ = s(l, U).get(); + $._inputDomain && + ($._input.domain = $._inputDomain.slice()); + } else + N.match(Z) && s(l, U + "._inputDomain").set(null); + if ("type" === B) { + L = V; + var Q = "linear" === H.type && "log" === D, + tt = "log" === H.type && "linear" === D; + if (Q || tt) { + if (L && L.range) + if (H.autorange) + Q && + (L.range = + L.range[1] > L.range[0] ? [1, 2] : [2, 1]); + else { + var et = L.range[0], + rt = L.range[1]; + Q + ? (et <= 0 && + rt <= 0 && + E(U + ".autorange", !0), + et <= 0 + ? (et = rt / 1e6) + : rt <= 0 && (rt = et / 1e6), + E( + U + ".range[0]", + Math.log(et) / Math.LN10, + ), + E( + U + ".range[1]", + Math.log(rt) / Math.LN10, + )) + : (E(U + ".range[0]", Math.pow(10, et)), + E(U + ".range[1]", Math.pow(10, rt))); + } + else E(U + ".autorange", !0); + Array.isArray(l._subplots.polar) && + l._subplots.polar.length && + l[I.parts[0]] && + "radialaxis" === I.parts[1] && + delete l[I.parts[0]]._subplot.viewInitial[ + "radialaxis.range" + ], + c.getComponentMethod( + "annotations", + "convertCoords", + )(t, H, D, E), + c.getComponentMethod("images", "convertCoords")( + t, + H, + D, + E, + ); + } else E(U + ".autorange", !0), E(U + ".range", null); + s(l, U + "._inputRange").set(null); + } else if (B.match(k)) { + var nt = s(l, O).get(), + it = (D || {}).type; + (it && "-" !== it) || (it = "linear"), + c.getComponentMethod( + "annotations", + "convertCoords", + )(t, nt, it, E), + c.getComponentMethod("images", "convertCoords")( + t, + nt, + it, + E, + ); + } + var at = b.containerArrayMatch(O); + if (at) { + (r = at.array), (n = at.index); + var ot = at.property, + st = X || { editType: "calc" }; + "" !== n && + "" === ot && + (b.isAddVal(D) + ? (S[O] = null) + : b.isRemoveVal(D) + ? (S[O] = (s(a, r).get() || [])[n]) + : o.warn("unrecognized full object value", e)), + T.update(A, st), + y[r] || (y[r] = {}); + var lt = y[r][n]; + lt || (lt = y[r][n] = {}), (lt[ot] = D), delete e[O]; + } else + "reverse" === B + ? (V.range + ? V.range.reverse() + : (E(U + ".autorange", !0), (V.range = [1, 0])), + H.autorange ? (A.calc = !0) : (A.plot = !0)) + : (("dragmode" === O && + ((!1 === D && !1 !== Y) || + (!1 !== D && !1 === Y))) || + (l._has("scatter-like") && + l._has("regl") && + "dragmode" === O && + ("lasso" === D || "select" === D) && + "lasso" !== Y && + "select" !== Y) || + l._has("gl2d") + ? (A.plot = !0) + : X + ? T.update(A, X) + : (A.calc = !0), + I.set(D)); + } + } + for (r in y) + b.applyContainerArrayChanges(t, h(a, r), y[r], A, h) || + (A.plot = !0); + for (var ut in C) { + var ct = (L = p.getFromId(t, ut)) && L._constraintGroup; + if (ct) + for (var ft in ((A.calc = !0), ct)) + C[ft] || + (p.getFromId(t, ft)._constraintShrinkable = !0); + } + (W(t) || e.height || e.width) && (A.plot = !0); + var ht = l.shapes; + for (n = 0; n < ht.length; n++) + if (ht[n].showlegend) { + A.calc = !0; + break; + } + return ( + (A.plot || A.calc) && (A.layoutReplot = !0), + { + flags: A, + rangesAltered: C, + undoit: S, + redoit: M, + eventData: g, + } + ); + } + function W(t) { + var e = t._fullLayout, + r = e.width, + n = e.height; + return ( + t.layout.autosize && h.plotAutoSize(t, t.layout, e), + e.width !== r || e.height !== n + ); + } + function X(t, r, n, i) { + (t = o.getGraphDiv(t)), + _.clearPromiseQueue(t), + o.isPlainObject(r) || (r = {}), + o.isPlainObject(n) || (n = {}), + Object.keys(r).length && (t.changed = !0), + Object.keys(n).length && (t.changed = !0); + var a = _.coerceTraceIndices(t, i), + s = N(t, o.extendFlat({}, r), a), + l = s.flags, + c = Y(t, o.extendFlat({}, n)), + f = c.flags; + (l.calc || f.calc) && (t.calcdata = void 0), + l.clearAxisTypes && _.clearAxisTypes(t, a, n); + var p = []; + f.layoutReplot + ? p.push(w.layoutReplot) + : l.fullReplot + ? p.push(e._doPlot) + : (p.push(h.previousPromises), + V(t, f, c) || h.supplyDefaults(t), + l.style && p.push(w.doTraceStyle), + (l.colorbars || f.colorbars) && p.push(w.doColorBars), + f.legend && p.push(w.doLegend), + f.layoutstyle && p.push(w.layoutStyles), + f.axrange && H(p, c.rangesAltered), + f.ticks && p.push(w.doTicksRelayout), + f.modebar && p.push(w.doModeBar), + f.camera && p.push(w.doCamera), + p.push(M)), + p.push(h.rehover, h.redrag, h.reselect), + u.add(t, X, [t, s.undoit, c.undoit, s.traces], X, [ + t, + s.redoit, + c.redoit, + s.traces, + ]); + var d = o.syncOrAsync(p, t); + return ( + (d && d.then) || (d = Promise.resolve(t)), + d.then(function () { + return ( + t.emit("plotly_update", { + data: s.eventData, + layout: c.eventData, + }), + t + ); + }) + ); + } + function J(t) { + return function (e) { + e._fullLayout._guiEditing = !0; + var r = t.apply(null, arguments); + return (e._fullLayout._guiEditing = !1), r; + }; + } + var K = [ + { pattern: /^hiddenlabels/, attr: "legend.uirevision" }, + { + pattern: /^((x|y)axis\d*)\.((auto)?range|title\.text)/, + }, + { + pattern: /axis\d*\.showspikes$/, + attr: "modebar.uirevision", + }, + { + pattern: /(hover|drag)mode$/, + attr: "modebar.uirevision", + }, + { pattern: /^(scene\d*)\.camera/ }, + { pattern: /^(geo\d*)\.(projection|center|fitbounds)/ }, + { + pattern: /^(ternary\d*\.[abc]axis)\.(min|title\.text)$/, + }, + { + pattern: + /^(polar\d*\.radialaxis)\.((auto)?range|angle|title\.text)/, + }, + { pattern: /^(polar\d*\.angularaxis)\.rotation/ }, + { pattern: /^(mapbox\d*)\.(center|zoom|bearing|pitch)/ }, + { pattern: /^legend\.(x|y)$/, attr: "editrevision" }, + { + pattern: /^(shapes|annotations)/, + attr: "editrevision", + }, + { pattern: /^title\.text$/, attr: "editrevision" }, + ], + $ = [ + { + pattern: /^selectedpoints$/, + attr: "selectionrevision", + }, + { + pattern: /(^|value\.)visible$/, + attr: "legend.uirevision", + }, + { pattern: /^dimensions\[\d+\]\.constraintrange/ }, + { pattern: /^node\.(x|y|groups)/ }, + { pattern: /^level$/ }, + { pattern: /(^|value\.)name$/ }, + { pattern: /colorbar\.title\.text$/ }, + { pattern: /colorbar\.(x|y)$/, attr: "editrevision" }, + ]; + function Q(t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r], + i = t.match(n.pattern); + if (i) { + var a = i[1] || ""; + return { + head: a, + tail: t.substr(a.length + 1), + attr: n.attr, + }; + } + } + } + function tt(t, e) { + var r = s(e, t).get(); + if (void 0 !== r) return r; + var n = t.split("."); + for (n.pop(); n.length > 1; ) + if ( + (n.pop(), + void 0 !== + (r = s(e, n.join(".") + ".uirevision").get())) + ) + return r; + return e.uirevision; + } + function et(t, e) { + for (var r = 0; r < e.length; r++) + if (e[r]._fullInput.uid === t) return r; + return -1; + } + function rt(t, e, r) { + for (var n = 0; n < e.length; n++) + if (e[n].uid === t) return n; + return !e[r] || e[r].uid ? -1 : r; + } + function nt(t, e) { + var r = o.isPlainObject(t), + n = Array.isArray(t); + return r || n + ? ((r && o.isPlainObject(e)) || + (n && Array.isArray(e))) && + JSON.stringify(t) === JSON.stringify(e) + : t === e; + } + function it(t, e, r, n) { + var i, + a, + l, + u = n.getValObject, + c = n.flags, + f = n.immutable, + h = n.inArray, + p = n.arrayIndex; + function d() { + var t = i.editType; + h && -1 !== t.indexOf("arraydraw") + ? o.pushUnique(c.arrays[h], p) + : (T.update(c, i), + "none" !== t && c.nChanges++, + n.transition && i.anim && c.nChangesAnim++, + (q.test(l) || G.test(l)) && + (c.rangesAltered[r[0]] = 1), + Z.test(l) && s(e, "_inputDomain").set(null), + "datarevision" === a && (c.newDataRevision = 1)); + } + function v(t) { + return "data_array" === t.valType || t.arrayOk; + } + for (a in t) { + if (c.calc && !n.transition) return; + var g = t[a], + y = e[a], + m = r.concat(a); + if ( + ((l = m.join(".")), + "_" !== a.charAt(0) && + "function" != typeof g && + g !== y) + ) { + if ( + ("tick0" === a || "dtick" === a) && + "geo" !== r[0] + ) { + var x = e.tickmode; + if ("auto" === x || "array" === x || !x) continue; + } + if ( + ("range" !== a || !e.autorange) && + (("zmin" !== a && "zmax" !== a) || + "contourcarpet" !== e.type) && + (i = u(m)) && + (!i._compareAsJSON || + JSON.stringify(g) !== JSON.stringify(y)) + ) { + var b, + _ = i.valType, + w = v(i), + k = Array.isArray(g), + A = Array.isArray(y); + if (k && A) { + var M = "_input_" + a, + S = t[M], + E = e[M]; + if (Array.isArray(S) && S === E) continue; + } + if (void 0 === y) w && k ? (c.calc = !0) : d(); + else if (i._isLinkedToArray) { + var L = [], + C = !1; + h || (c.arrays[a] = L); + var P = Math.min(g.length, y.length), + O = Math.max(g.length, y.length); + if (P !== O) { + if ("arraydraw" !== i.editType) { + d(); + continue; + } + C = !0; + } + for (b = 0; b < P; b++) + it( + g[b], + y[b], + m.concat(b), + o.extendFlat({ inArray: a, arrayIndex: b }, n), + ); + if (C) for (b = P; b < O; b++) L.push(b); + } else + !_ && o.isPlainObject(g) + ? it(g, y, m, n) + : w + ? k && A + ? (f && (c.calc = !0), + (f || n.newDataRevision) && d()) + : k !== A + ? (c.calc = !0) + : d() + : (k && + A && + g.length === y.length && + String(g) === String(y)) || + d(); + } + } + } + for (a in e) + if ( + !(a in t) && + "_" !== a.charAt(0) && + "function" != typeof e[a] + ) { + if (v((i = u(r.concat(a)))) && Array.isArray(e[a])) + return void (c.calc = !0); + d(); + } + } + function at(t, e) { + var r; + for (r in t) + if ("_" !== r.charAt(0)) { + var n = t[r], + i = e[r]; + if (n !== i) + if (o.isPlainObject(n) && o.isPlainObject(i)) { + if (at(n, i)) return !0; + } else { + if (!Array.isArray(n) || !Array.isArray(i)) + return !0; + if (n.length !== i.length) return !0; + for (var a = 0; a < n.length; a++) + if (n[a] !== i[a]) { + if ( + !o.isPlainObject(n[a]) || + !o.isPlainObject(i[a]) + ) + return !0; + if (at(n[a], i[a])) return !0; + } + } + } + } + function ot(t) { + var e = t._fullLayout, + r = t.getBoundingClientRect(); + if (!o.equalDomRects(r, e._lastBBox)) { + var n = (e._invTransform = o.inverseTransformMatrix( + o.getFullTransformMatrix(t), + )); + (e._invScaleX = Math.sqrt( + n[0][0] * n[0][0] + + n[0][1] * n[0][1] + + n[0][2] * n[0][2], + )), + (e._invScaleY = Math.sqrt( + n[1][0] * n[1][0] + + n[1][1] * n[1][1] + + n[1][2] * n[1][2], + )), + (e._lastBBox = r); + } + } + (e.animate = function (t, e, r) { + if (((t = o.getGraphDiv(t)), !o.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://plotly.com/javascript/animations/", + ); + var n = t._transitionData; + n._frameQueue || (n._frameQueue = []); + var i = (r = h.supplyAnimationDefaults(r)).transition, + a = r.frame; + function s(t) { + return Array.isArray(i) + ? t >= i.length + ? i[0] + : i[t] + : i; + } + function l(t) { + return Array.isArray(a) + ? t >= a.length + ? a[0] + : a[t] + : a; + } + function u(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, c) { + function f() { + 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 && + (function () { + 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), + h + .transition( + t, + e.frame.data, + e.frame.layout, + _.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); + })(); + }; + e(); + } + var p, + d, + v = 0; + function g(t) { + return ( + Array.isArray(i) + ? v >= i.length + ? (t.transitionOpts = i[v]) + : (t.transitionOpts = i[0]) + : (t.transitionOpts = i), + v++, + t + ); + } + var y = [], + m = null == e, + x = Array.isArray(e); + if (m || x || !o.isPlainObject(e)) { + if ( + m || + -1 !== ["string", "number"].indexOf(typeof e) + ) + for (p = 0; p < n._frames.length; p++) + (d = n._frames[p]) && + (m || String(d.group) === String(e)) && + y.push({ + type: "byname", + name: String(d.name), + data: g({ name: d.name }), + }); + else if (x) + for (p = 0; p < e.length; p++) { + var b = e[p]; + -1 !== ["number", "string"].indexOf(typeof b) + ? ((b = String(b)), + y.push({ + type: "byname", + name: b, + data: g({ name: b }), + })) + : o.isPlainObject(b) && + y.push({ + type: "object", + data: g(o.extendFlat({}, b)), + }); + } + } else + y.push({ + type: "object", + data: g(o.extendFlat({}, e)), + }); + for (p = 0; p < y.length; p++) + if ( + "byname" === (d = y[p]).type && + !n._frameHash[d.data.name] + ) + return ( + o.warn( + 'animate failure: frame not found: "' + + d.data.name + + '"', + ), + void c() + ); + -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 && y.reverse(); + var w = t._fullLayout._currentFrame; + if (w && r.fromcurrent) { + var T = -1; + for (p = 0; p < y.length; p++) + if ("byname" === (d = y[p]).type && d.name === w) { + T = p; + break; + } + if (T > 0 && T < y.length - 1) { + var k = []; + for (p = 0; p < y.length; p++) + (d = y[p]), + ("byname" !== y[p].type || p > T) && k.push(d); + y = k; + } + } + y.length > 0 + ? (function (e) { + if (0 !== e.length) { + for (var i = 0; i < e.length; i++) { + var o; + o = + "byname" === e[i].type + ? h.computeFrame(t, e[i].name) + : e[i].data; + var p = l(i), + d = s(i); + d.duration = Math.min(d.duration, p.duration); + var v = { + frame: o, + name: e[i].name, + frameOpts: p, + transitionOpts: d, + }; + i === e.length - 1 && + ((v.onComplete = u(a, 2)), + (v.onInterrupt = c)), + n._frameQueue.push(v); + } + "immediate" === r.mode && + (n._lastFrameAt = -1 / 0), + n._animationRaf || f(); + } + })(y) + : (t.emit("plotly_animated"), a()); + }) + ); + }), + (e.addFrames = function (t, e, r) { + if (((t = o.getGraphDiv(t)), null == e)) + return Promise.resolve(); + if (!o.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://plotly.com/javascript/animations/", + ); + var n, + i, + a, + s, + l = t._transitionData._frames, + c = t._transitionData._frameHash; + if (!Array.isArray(e)) + throw new Error( + "addFrames failure: frameList must be an Array of frame definitions" + + e, + ); + var f = l.length + 2 * e.length, + p = [], + d = {}; + for (n = e.length - 1; n >= 0; n--) + if (o.isPlainObject(e[n])) { + var v = e[n].name, + g = (c[v] || d[v] || {}).name, + y = e[n].name, + m = c[g] || d[g]; + g && + y && + "number" == typeof y && + m && + A < 5 && + (A++, + o.warn( + 'addFrames: overwriting frame "' + + (c[g] || d[g]).name + + '" with a frame whose name of type "number" also equates to "' + + g + + '". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.', + ), + 5 === A && + o.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.", + )), + (d[v] = { name: v }), + p.push({ + frame: h.supplyFrameDefaults(e[n]), + index: + r && void 0 !== r[n] && null !== r[n] + ? r[n] + : f + n, + }); + } + p.sort(function (t, e) { + return t.index > e.index + ? -1 + : t.index < e.index + ? 1 + : 0; + }); + var x = [], + b = [], + _ = l.length; + for (n = p.length - 1; n >= 0; n--) { + if ( + ("number" == typeof (i = p[n].frame).name && + o.warn( + "Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings", + ), + !i.name) + ) + for ( + ; + c[ + (i.name = "frame " + t._transitionData._counter++) + ]; + + ); + if (c[i.name]) { + for ( + a = 0; + a < l.length && (l[a] || {}).name !== i.name; + a++ + ); + x.push({ type: "replace", index: a, value: i }), + b.unshift({ + type: "replace", + index: a, + value: l[a], + }); + } else + (s = Math.max(0, Math.min(p[n].index, _))), + x.push({ type: "insert", index: s, value: i }), + b.unshift({ type: "delete", index: s }), + _++; + } + var w = h.modifyFrames, + T = h.modifyFrames, + k = [t, b], + M = [t, x]; + return u && u.add(t, w, k, T, M), h.modifyFrames(t, x); + }), + (e.deleteFrames = function (t, e) { + if (((t = o.getGraphDiv(t)), !o.isPlotDiv(t))) + throw new Error( + "This element is not a Plotly plot: " + t, + ); + var r, + n, + i = t._transitionData._frames, + a = [], + s = []; + if (!e) for (e = [], r = 0; r < i.length; r++) e.push(r); + for ( + (e = e.slice()).sort(), r = e.length - 1; + r >= 0; + r-- + ) + (n = e[r]), + a.push({ type: "delete", index: n }), + s.unshift({ type: "insert", index: n, value: i[n] }); + var l = h.modifyFrames, + c = h.modifyFrames, + f = [t, s], + p = [t, a]; + return u && u.add(t, l, f, c, p), h.modifyFrames(t, a); + }), + (e.addTraces = function t(r, n, i) { + r = o.getGraphDiv(r); + var a, + s, + l = [], + c = e.deleteTraces, + f = t, + h = [r, l], + p = [r, n]; + 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", + ); + })(r, n, i), + Array.isArray(n) || (n = [n]), + n = n.map(function (t) { + return o.extendFlat({}, t); + }), + _.cleanData(n), + a = 0; + a < n.length; + a++ + ) + r.data.push(n[a]); + for (a = 0; a < n.length; a++) l.push(-n.length + a); + if (void 0 === i) + return (s = e.redraw(r)), u.add(r, c, h, f, p), s; + Array.isArray(i) || (i = [i]); + try { + O(r, l, i); + } catch (t) { + throw ( + (r.data.splice(r.data.length - n.length, n.length), t) + ); + } + return ( + u.startSequence(r), + u.add(r, c, h, f, p), + (s = e.moveTraces(r, l, i)), + u.stopSequence(r), + s + ); + }), + (e.deleteTraces = function t(r, n) { + r = o.getGraphDiv(r); + var i, + a, + s = [], + l = e.addTraces, + c = t, + f = [r, s, n], + h = [r, n]; + if (void 0 === n) + throw new Error( + "indices must be an integer or array of integers.", + ); + for ( + Array.isArray(n) || (n = [n]), + P(r, n, "indices"), + (n = C(n, r.data.length - 1)).sort(o.sorterDes), + i = 0; + i < n.length; + i += 1 + ) + (a = r.data.splice(n[i], 1)[0]), s.push(a); + var p = e.redraw(r); + return u.add(r, l, f, c, h), p; + }), + (e.extendTraces = function t(r, n, i, a) { + function s(t, e, r) { + var n, i; + if (o.isTypedArray(t)) + if (r < 0) { + var a = new t.constructor(0), + s = D(t, e); + r < 0 ? ((n = s), (i = a)) : ((n = a), (i = s)); + } 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 l = e.length - r; + n.set(e.subarray(l)), + i.set(t), + i.set(e.subarray(0, l), t.length); + } else { + var u = r - e.length, + c = t.length - u; + n.set(t.subarray(c)), + n.set(e, u), + i.set(t.subarray(0, c)); + } + else + (n = t.concat(e)), + (i = + r >= 0 && r < n.length + ? n.splice(0, n.length - r) + : []); + return [n, i]; + } + var l = I((r = o.getGraphDiv(r)), n, i, a, s), + c = e.redraw(r), + f = [r, l.update, i, l.maxPoints]; + return u.add(r, e.prependTraces, f, t, arguments), c; + }), + (e.moveTraces = function t(r, n, i) { + var a, + s = [], + l = [], + c = t, + f = t, + h = [(r = o.getGraphDiv(r)), i, n], + p = [r, n, i]; + if ( + (O(r, n, i), + (n = Array.isArray(n) ? n : [n]), + void 0 === i) + ) + for (i = [], a = 0; a < n.length; a++) + i.push(-n.length + a); + for ( + i = Array.isArray(i) ? i : [i], + n = C(n, r.data.length - 1), + i = C(i, r.data.length - 1), + a = 0; + a < r.data.length; + a++ + ) + -1 === n.indexOf(a) && s.push(r.data[a]); + for (a = 0; a < n.length; a++) + l.push({ newIndex: i[a], trace: r.data[n[a]] }); + for ( + l.sort(function (t, e) { + return t.newIndex - e.newIndex; + }), + a = 0; + a < l.length; + a += 1 + ) + s.splice(l[a].newIndex, 0, l[a].trace); + r.data = s; + var d = e.redraw(r); + return u.add(r, c, h, f, p), d; + }), + (e.prependTraces = function t(r, n, i, a) { + function s(t, e, r) { + var n, i; + if (o.isTypedArray(t)) + if (r <= 0) { + var a = new t.constructor(0), + s = D(e, t); + r < 0 ? ((n = s), (i = a)) : ((n = a), (i = s)); + } 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 l = e.length - r; + n.set(e.subarray(0, l)), + i.set(e.subarray(l)), + i.set(t, l); + } else { + var u = r - e.length; + n.set(e), + n.set(t.subarray(0, u), e.length), + i.set(t.subarray(u)); + } + else + (n = e.concat(t)), + (i = + r >= 0 && r < n.length + ? n.splice(r, n.length) + : []); + return [n, i]; + } + var l = I((r = o.getGraphDiv(r)), n, i, a, s), + c = e.redraw(r), + f = [r, l.update, i, l.maxPoints]; + return u.add(r, e.extendTraces, f, t, arguments), c; + }), + (e.newPlot = function (t, r, n, i) { + return ( + (t = o.getGraphDiv(t)), + h.cleanPlot( + [], + {}, + t._fullData || [], + t._fullLayout || {}, + ), + h.purge(t), + e._doPlot(t, r, n, i) + ); + }), + (e._doPlot = function (t, r, i, a) { + var s; + if ( + ((t = o.getGraphDiv(t)), l.init(t), o.isPlainObject(r)) + ) { + var u = r; + (r = u.data), + (i = u.layout), + (a = u.config), + (s = u.frames); + } + if ( + !1 === + l.triggerHandler(t, "plotly_beforeplot", [r, i, a]) + ) + return Promise.reject(); + r || + i || + o.isPlotDiv(t) || + o.warn( + "Calling _doPlot as if redrawing but this container doesn't yet have a plot.", + t, + ), + L(t, a), + i || (i = {}), + n.select(t).classed("js-plotly-plot", !0), + d.makeTester(), + Array.isArray(t._promises) || (t._promises = []); + var f = 0 === (t.data || []).length && Array.isArray(r); + Array.isArray(r) && + (_.cleanData(r), + f ? (t.data = r) : t.data.push.apply(t.data, r), + (t.empty = !1)), + (t.layout && !f) || (t.layout = _.cleanLayout(i)), + h.supplyDefaults(t); + var v = t._fullLayout, + m = v._has("cartesian"); + (v._replotting = !0), + (f || v._shouldCreateBgLayer) && + ((function (t) { + var e = n.select(t), + r = t._fullLayout; + if ( + ((r._calcInverseTransform = ot), + r._calcInverseTransform(t), + (r._container = e + .selectAll(".plot-container") + .data([0])), + r._container + .enter() + .insert("div", ":first-child") + .classed("plot-container", !0) + .classed("plotly", !0), + (r._paperdiv = r._container + .selectAll(".svg-container") + .data([0])), + r._paperdiv + .enter() + .append("div") + .classed("user-select-none", !0) + .classed("svg-container", !0) + .style("position", "relative"), + (r._glcontainer = r._paperdiv + .selectAll(".gl-container") + .data([{}])), + r._glcontainer + .enter() + .append("div") + .classed("gl-container", !0), + r._paperdiv.selectAll(".main-svg").remove(), + r._paperdiv.select(".modebar-container").remove(), + (r._paper = r._paperdiv + .insert("svg", ":first-child") + .classed("main-svg", !0)), + (r._toppaper = r._paperdiv + .append("svg") + .classed("main-svg", !0)), + (r._modebardiv = r._paperdiv.append("div")), + delete r._modeBar, + (r._hoverpaper = r._paperdiv + .append("svg") + .classed("main-svg", !0)), + !r._uid) + ) { + var i = {}; + n.selectAll("defs").each(function () { + this.id && (i[this.id.split("-")[1]] = 1); + }), + (r._uid = o.randstr(i)); + } + r._paperdiv.selectAll(".main-svg").attr(y.svgAttrs), + (r._defs = r._paper + .append("defs") + .attr("id", "defs-" + r._uid)), + (r._clips = r._defs + .append("g") + .classed("clips", !0)), + (r._topdefs = r._toppaper + .append("defs") + .attr("id", "topdefs-" + r._uid)), + (r._topclips = r._topdefs + .append("g") + .classed("clips", !0)), + (r._bgLayer = r._paper + .append("g") + .classed("bglayer", !0)), + (r._draggers = r._paper + .append("g") + .classed("draglayer", !0)); + var a = r._paper + .append("g") + .classed("layer-below", !0); + (r._imageLowerLayer = a + .append("g") + .classed("imagelayer", !0)), + (r._shapeLowerLayer = a + .append("g") + .classed("shapelayer", !0)), + (r._cartesianlayer = r._paper + .append("g") + .classed("cartesianlayer", !0)), + (r._polarlayer = r._paper + .append("g") + .classed("polarlayer", !0)), + (r._smithlayer = r._paper + .append("g") + .classed("smithlayer", !0)), + (r._ternarylayer = r._paper + .append("g") + .classed("ternarylayer", !0)), + (r._geolayer = r._paper + .append("g") + .classed("geolayer", !0)), + (r._funnelarealayer = r._paper + .append("g") + .classed("funnelarealayer", !0)), + (r._pielayer = r._paper + .append("g") + .classed("pielayer", !0)), + (r._iciclelayer = r._paper + .append("g") + .classed("iciclelayer", !0)), + (r._treemaplayer = r._paper + .append("g") + .classed("treemaplayer", !0)), + (r._sunburstlayer = r._paper + .append("g") + .classed("sunburstlayer", !0)), + (r._indicatorlayer = r._toppaper + .append("g") + .classed("indicatorlayer", !0)), + (r._glimages = r._paper + .append("g") + .classed("glimages", !0)); + var s = r._toppaper + .append("g") + .classed("layer-above", !0); + (r._imageUpperLayer = s + .append("g") + .classed("imagelayer", !0)), + (r._shapeUpperLayer = s + .append("g") + .classed("shapelayer", !0)), + (r._selectionLayer = r._toppaper + .append("g") + .classed("selectionlayer", !0)), + (r._infolayer = r._toppaper + .append("g") + .classed("infolayer", !0)), + (r._menulayer = r._toppaper + .append("g") + .classed("menulayer", !0)), + (r._zoomlayer = r._toppaper + .append("g") + .classed("zoomlayer", !0)), + (r._hoverlayer = r._hoverpaper + .append("g") + .classed("hoverlayer", !0)), + r._modebardiv + .classed("modebar-container", !0) + .style("position", "absolute") + .style("top", "0px") + .style("right", "0px"), + t.emit("plotly_framework"); + })(t), + v._shouldCreateBgLayer && + delete v._shouldCreateBgLayer), + d.initGradients(t), + d.initPatterns(t), + f && p.saveShowSpikeInitial(t); + var x = + !t.calcdata || + t.calcdata.length !== (t._fullData || []).length; + x && h.doCalcdata(t); + for (var b = 0; b < t.calcdata.length; b++) + t.calcdata[b][0].trace = t._fullData[b]; + t._context.responsive + ? t._responsiveChartHandler || + ((t._responsiveChartHandler = function () { + o.isHidden(t) || h.resize(t); + }), + window.addEventListener( + "resize", + t._responsiveChartHandler, + )) + : o.clearResponsive(t); + var T = o.extendFlat({}, v._size), + k = 0; + function A() { + if ( + (h.clearAutoMarginIds(t), + w.drawMarginPushers(t), + p.allowAutoMargin(t), + t._fullLayout.title.text && + t._fullLayout.title.automargin && + h.allowAutoMargin(t, "title.automargin"), + v._has("pie")) + ) + for (var e = t._fullData, r = 0; r < e.length; r++) { + var n = e[r]; + "pie" === n.type && + n.automargin && + h.allowAutoMargin( + t, + "pie." + n.uid + ".automargin", + ); + } + return h.doAutoMargin(t), h.previousPromises(t); + } + function S() { + t._transitioning || + (w.doAutoRangeAndConstraints(t), + f && p.saveRangeInitial(t), + c.getComponentMethod( + "rangeslider", + "calcAutorange", + )(t)); + } + var E = [ + h.previousPromises, + function () { + if (s) return e.addFrames(t, s); + }, + function e() { + for ( + var r = v._basePlotModules, n = 0; + n < r.length; + n++ + ) + r[n].drawFramework && r[n].drawFramework(t); + !v._glcanvas && + v._has("gl") && + ((v._glcanvas = v._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; + }, + )), + v._glcanvas + .enter() + .append("canvas") + .attr("class", function (t) { + return ( + "gl-canvas gl-canvas-" + + t.key.replace("Layer", "") + ); + }) + .style({ + position: "absolute", + top: 0, + left: 0, + overflow: "visible", + "pointer-events": "none", + })); + var i = t._context.plotGlPixelRatio; + if (v._glcanvas) { + v._glcanvas + .attr("width", v.width * i) + .attr("height", v.height * i) + .style("width", v.width + "px") + .style("height", v.height + "px"); + var a = v._glcanvas.data()[0].regl; + if ( + a && + (Math.floor(v.width * i) !== + a._gl.drawingBufferWidth || + Math.floor(v.height * i) !== + a._gl.drawingBufferHeight) + ) { + var s = + "WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug."; + if (!k) + return ( + o.log( + s + " Clearing graph and plotting again.", + ), + h.cleanPlot([], {}, t._fullData, v), + h.supplyDefaults(t), + (v = t._fullLayout), + h.doCalcdata(t), + k++, + e() + ); + o.error(s); + } + } + return ( + "h" === v.modebar.orientation + ? v._modebardiv + .style("height", null) + .style("width", "100%") + : v._modebardiv + .style("width", null) + .style("height", v.height + "px"), + h.previousPromises(t) + ); + }, + A, + function () { + if (h.didMarginChange(T, v._size)) + return o.syncOrAsync([A, w.layoutStyles], t); + }, + ]; + m && + E.push(function () { + if (x) + return o.syncOrAsync( + [ + c.getComponentMethod("shapes", "calcAutorange"), + c.getComponentMethod( + "annotations", + "calcAutorange", + ), + S, + ], + t, + ); + S(); + }), + E.push(w.layoutStyles), + m && + E.push( + function () { + return p.draw(t, f ? "" : "redraw"); + }, + function (t) { + t._fullLayout._insideTickLabelsAutorange && + U( + t, + t._fullLayout._insideTickLabelsAutorange, + ).then(function () { + t._fullLayout._insideTickLabelsAutorange = + void 0; + }); + }, + ), + E.push( + w.drawData, + w.finalDraw, + g, + h.addLinks, + h.rehover, + h.redrag, + h.reselect, + h.doAutoMargin, + function (t) { + t._fullLayout._insideTickLabelsAutorange && + f && + p.saveRangeInitial(t, !0); + }, + h.previousPromises, + ); + var C = o.syncOrAsync(E, t); + return ( + (C && C.then) || (C = Promise.resolve()), + C.then(function () { + return M(t), t; + }) + ); + }), + (e.purge = function (t) { + var e = (t = o.getGraphDiv(t))._fullLayout || {}, + r = t._fullData || []; + return ( + h.cleanPlot([], {}, r, e), + h.purge(t), + l.purge(t), + e._container && e._container.remove(), + delete t._context, + t + ); + }), + (e.react = function (t, r, n, i) { + var a, l; + (t = o.getGraphDiv(t)), _.clearPromiseQueue(t); + var u = t._fullData, + p = t._fullLayout; + if (o.isPlotDiv(t) && u && p) { + if (o.isPlainObject(r)) { + var d = r; + (r = d.data), + (n = d.layout), + (i = d.config), + (a = d.frames); + } + var v = !1; + if (i) { + var g = o.extendDeep({}, t._context); + (t._context = void 0), + L(t, i), + (v = at(g, t._context)); + } + (t.data = r || []), + _.cleanData(t.data), + (t.layout = n || {}), + _.cleanLayout(t.layout), + (function (t, e, r, n) { + var i, + a, + l, + u, + c, + f, + h, + p, + d, + v, + g = n._preGUI, + y = [], + m = {}, + x = {}; + for (i in g) { + if ((c = Q(i, K))) { + if ( + ((d = c.head), + (v = c.tail), + (a = c.attr || d + ".uirevision"), + (u = (l = s(n, a).get()) && tt(a, e)) && + u === l) + ) { + if ( + (null === (f = g[i]) && (f = void 0), + nt((p = (h = s(e, i)).get()), f)) + ) { + void 0 === p && + "autorange" === v && + y.push(d), + h.set(R(s(n, i).get())); + continue; + } + if ( + "autorange" === v || + "range[" === v.substr(0, 6) + ) { + var b = g[d + ".range[0]"], + _ = g[d + ".range[1]"], + w = g[d + ".autorange"]; + if ( + w || + (null === w && null === b && null === _) + ) { + if (!(d in m)) { + var T = s(e, d).get(); + m[d] = + T && + (T.autorange || + (!1 !== T.autorange && + (!T.range || + 2 !== T.range.length))); + } + if (m[d]) { + h.set(R(s(n, i).get())); + continue; + } + } + } + } + } else o.warn("unrecognized GUI edit: " + i); + delete g[i], + c && + "range[" === c.tail.substr(0, 6) && + (x[c.head] = 1); + } + for (var k = 0; k < y.length; k++) { + var A = y[k]; + if (x[A]) { + var M = s(e, A).get(); + M && delete M.autorange; + } + } + var S = n._tracePreGUI; + for (var E in S) { + var L, + C = S[E], + P = null; + for (i in C) { + if (!P) { + var O = et(E, r); + if (O < 0) { + delete S[E]; + break; + } + var I = rt(E, t, (L = r[O]._fullInput).index); + if (I < 0) { + delete S[E]; + break; + } + P = t[I]; + } + if ((c = Q(i, $))) { + if ( + (c.attr + ? (u = + (l = s(n, c.attr).get()) && + tt(c.attr, e)) + : ((l = L.uirevision), + void 0 === (u = P.uirevision) && + (u = e.uirevision)), + u && + u === l && + (null === (f = C[i]) && (f = void 0), + nt((p = (h = s(P, i)).get()), f))) + ) { + h.set(R(s(L, i).get())); + continue; + } + } else + o.warn( + "unrecognized GUI edit: " + + i + + " in trace uid " + + E, + ); + delete C[i]; + } + } + })(t.data, t.layout, u, p), + h.supplyDefaults(t, { skipUpdateCalc: !0 }); + var y = t._fullData, + m = t._fullLayout, + x = void 0 === m.datarevision, + b = m.transition, + k = (function (t, e, r, n, i) { + var a = T.layoutFlags(); + return ( + (a.arrays = {}), + (a.rangesAltered = {}), + (a.nChanges = 0), + (a.nChangesAnim = 0), + it(e, r, [], { + getValObject: function (t) { + return f.getLayoutValObject(r, t); + }, + flags: a, + immutable: n, + transition: i, + gd: t, + }), + (a.plot || a.calc) && (a.layoutReplot = !0), + i && + a.nChanges && + a.nChangesAnim && + (a.anim = + a.nChanges === a.nChangesAnim + ? "all" + : "some"), + a + ); + })(t, p, m, x, b), + A = k.newDataRevision, + S = (function (t, e, r, n, i, a) { + var o = e.length === r.length; + if (!i && !o) return { fullReplot: !0, calc: !0 }; + var s, + l, + u = T.traceFlags(); + (u.arrays = {}), + (u.nChanges = 0), + (u.nChangesAnim = 0); + var c = { + getValObject: function (t) { + var e = f.getTraceValObject(l, t); + return ( + !l._module.animatable && + e.anim && + (e.anim = !1), + e + ); + }, + flags: u, + immutable: n, + transition: i, + newDataRevision: a, + gd: t, + }, + p = {}; + for (s = 0; s < e.length; s++) + if (r[s]) { + if ( + ((l = r[s]._fullInput), + h.hasMakesDataTransform(l) && (l = r[s]), + p[l.uid]) + ) + continue; + (p[l.uid] = 1), it(e[s]._fullInput, l, [], c); + } + return ( + (u.calc || u.plot) && (u.fullReplot = !0), + i && + u.nChanges && + u.nChangesAnim && + (u.anim = + u.nChanges === u.nChangesAnim && o + ? "all" + : "some"), + u + ); + })(t, u, y, x, b, A); + if ((W(t) && (k.layoutReplot = !0), S.calc || k.calc)) { + t.calcdata = void 0; + for ( + var E = Object.getOwnPropertyNames(m), C = 0; + C < E.length; + C++ + ) { + var P = E[C], + O = P.substring(0, 5); + if ("xaxis" === O || "yaxis" === O) { + var I = m[P]._emptyCategories; + I && I(); + } + } + } else h.supplyDefaultsUpdateCalc(t.calcdata, y); + var D = []; + if ( + (a && + ((t._transitionData = {}), + h.createTransitionData(t), + D.push(function () { + return e.addFrames(t, a); + })), + m.transition && !v && (S.anim || k.anim)) + ) + k.ticks && D.push(w.doTicksRelayout), + h.doCalcdata(t), + w.doAutoRangeAndConstraints(t), + D.push(function () { + return h.transitionFromReact(t, S, k, p); + }); + else if (S.fullReplot || k.layoutReplot || v) + (t._fullLayout._skipDefaults = !0), D.push(e._doPlot); + else { + for (var z in k.arrays) { + var F = k.arrays[z]; + if (F.length) { + var B = c.getComponentMethod(z, "drawOne"); + if (B !== o.noop) + for (var N = 0; N < F.length; N++) B(t, F[N]); + else { + var j = c.getComponentMethod(z, "draw"); + if (j === o.noop) + throw new Error( + "cannot draw components: " + z, + ); + j(t); + } + } + } + D.push(h.previousPromises), + S.style && D.push(w.doTraceStyle), + (S.colorbars || k.colorbars) && + D.push(w.doColorBars), + k.legend && D.push(w.doLegend), + k.layoutstyle && D.push(w.layoutStyles), + k.axrange && H(D), + k.ticks && D.push(w.doTicksRelayout), + k.modebar && D.push(w.doModeBar), + k.camera && D.push(w.doCamera), + D.push(M); + } + D.push(h.rehover, h.redrag, h.reselect), + ((l = o.syncOrAsync(D, t)) && l.then) || + (l = Promise.resolve(t)); + } else l = e.newPlot(t, r, n, i); + return l.then(function () { + return ( + t.emit("plotly_react", { data: r, layout: n }), t + ); + }); + }), + (e.redraw = function (t) { + if (((t = o.getGraphDiv(t)), !o.isPlotDiv(t))) + throw new Error( + "This element is not a Plotly plot: " + t, + ); + return ( + _.cleanData(t.data), + _.cleanLayout(t.layout), + (t.calcdata = void 0), + e._doPlot(t).then(function () { + return t.emit("plotly_redraw"), t; + }) + ); + }), + (e.relayout = U), + (e.restyle = z), + (e.setPlotConfig = function (t) { + return o.extendFlat(x, t); + }), + (e.update = X), + (e._guiRelayout = J(U)), + (e._guiRestyle = J(z)), + (e._guiUpdate = J(X)), + (e._storeDirectGUIEdit = function (t, e, r) { + for (var n in r) B(n, s(t, n).get(), r[n], e); + }); + }, + 72075: function (t) { + "use strict"; + var e = { + staticPlot: { valType: "boolean", dflt: !1 }, + typesetMath: { valType: "boolean", dflt: !0 }, + plotlyServerURL: { valType: "string", dflt: "" }, + editable: { valType: "boolean", dflt: !1 }, + edits: { + annotationPosition: { valType: "boolean", dflt: !1 }, + annotationTail: { valType: "boolean", dflt: !1 }, + annotationText: { valType: "boolean", dflt: !1 }, + axisTitleText: { valType: "boolean", dflt: !1 }, + colorbarPosition: { valType: "boolean", dflt: !1 }, + colorbarTitleText: { valType: "boolean", dflt: !1 }, + legendPosition: { valType: "boolean", dflt: !1 }, + legendText: { valType: "boolean", dflt: !1 }, + shapePosition: { valType: "boolean", dflt: !1 }, + titleText: { valType: "boolean", dflt: !1 }, + }, + editSelection: { valType: "boolean", dflt: !0 }, + autosizable: { valType: "boolean", dflt: !1 }, + responsive: { valType: "boolean", dflt: !1 }, + fillFrame: { valType: "boolean", dflt: !1 }, + frameMargins: { + valType: "number", + dflt: 0, + min: 0, + max: 0.5, + }, + scrollZoom: { + valType: "flaglist", + flags: ["cartesian", "gl3d", "geo", "mapbox"], + extras: [!0, !1], + dflt: "gl3d+geo+mapbox", + }, + doubleClick: { + valType: "enumerated", + values: [!1, "reset", "autosize", "reset+autosize"], + dflt: "reset+autosize", + }, + doubleClickDelay: { + valType: "number", + dflt: 300, + min: 0, + }, + showAxisDragHandles: { valType: "boolean", dflt: !0 }, + showAxisRangeEntryBoxes: { valType: "boolean", dflt: !0 }, + showTips: { valType: "boolean", dflt: !0 }, + showLink: { valType: "boolean", dflt: !1 }, + linkText: { + valType: "string", + dflt: "Edit chart", + noBlank: !0, + }, + sendData: { valType: "boolean", dflt: !0 }, + showSources: { valType: "any", dflt: !1 }, + displayModeBar: { + valType: "enumerated", + values: ["hover", !0, !1], + dflt: "hover", + }, + showSendToCloud: { valType: "boolean", dflt: !1 }, + showEditInChartStudio: { valType: "boolean", dflt: !1 }, + modeBarButtonsToRemove: { valType: "any", dflt: [] }, + modeBarButtonsToAdd: { valType: "any", dflt: [] }, + modeBarButtons: { valType: "any", dflt: !1 }, + toImageButtonOptions: { valType: "any", dflt: {} }, + displaylogo: { valType: "boolean", dflt: !0 }, + watermark: { valType: "boolean", dflt: !1 }, + plotGlPixelRatio: { + valType: "number", + dflt: 2, + min: 1, + max: 4, + }, + setBackground: { valType: "any", dflt: "transparent" }, + topojsonURL: { + valType: "string", + noBlank: !0, + dflt: "https://cdn.plot.ly/", + }, + mapboxAccessToken: { valType: "string", dflt: null }, + logging: { valType: "integer", min: 0, max: 2, dflt: 1 }, + notifyOnLogging: { + valType: "integer", + min: 0, + max: 2, + dflt: 0, + }, + queueLength: { valType: "integer", min: 0, dflt: 0 }, + globalTransforms: { valType: "any", dflt: [] }, + locale: { valType: "string", dflt: "en-US" }, + locales: { valType: "any", dflt: {} }, + }, + r = {}; + !(function t(e, r) { + for (var n in e) { + var i = e[n]; + i.valType + ? (r[n] = i.dflt) + : (r[n] || (r[n] = {}), t(i, r[n])); + } + })(e, r), + (t.exports = { configAttributes: e, dfltConfig: r }); + }, + 86281: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(9012), + o = r(10820), + s = r(31391), + l = r(85594), + u = r(72075).configAttributes, + c = r(30962), + f = i.extendDeepAll, + h = i.isPlainObject, + p = i.isArrayOrTypedArray, + d = i.nestedProperty, + v = i.valObjectMeta, + g = "_isSubplotObj", + y = "_isLinkedToArray", + m = "_deprecated", + x = [g, y, "_arrayAttrRegexps", m]; + function b(t, e, r) { + if (!t) return !1; + if (t._isLinkedToArray) + if (_(e[r])) r++; + else if (r < e.length) return !1; + for (; r < e.length; r++) { + var n = t[e[r]]; + if (!h(n)) break; + if (((t = n), r === e.length - 1)) break; + if (t._isLinkedToArray) { + if (!_(e[++r])) return !1; + } else if ("info_array" === t.valType) { + var i = e[++r]; + if (!_(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 (!_(o)) return !1; + t = a[i][o]; + } else t = a[i]; + } else t = a; + } + } + return t; + } + function _(t) { + return t === Math.round(t) && t >= 0; + } + function w() { + var t, + e, + r = {}; + for (t in (f(r, o), n.subplotsRegistry)) + if ((e = n.subplotsRegistry[t]).layoutAttributes) + if (Array.isArray(e.attr)) + for (var i = 0; i < e.attr.length; i++) + k(r, e, e.attr[i]); + else k(r, e, "subplot" === e.attr ? e.name : e.attr); + for (t in n.componentsRegistry) { + var a = (e = n.componentsRegistry[t]).schema; + if (a && (a.subplots || a.layout)) { + var s = a.subplots; + if (s && s.xaxis && !s.yaxis) + for (var l in s.xaxis) delete r.yaxis[l]; + delete r.xaxis.shift, delete r.xaxis.autoshift; + } else + "colorscale" === e.name + ? f(r, e.layoutAttributes) + : e.layoutAttributes && + A(r, e.layoutAttributes, e.name); + } + return { layoutAttributes: T(r) }; + } + function T(t) { + return ( + (function (t) { + e.crawl(t, function (t, r, n) { + e.isValObject(t) + ? (!0 !== t.arrayOk && + "data_array" !== t.valType) || + (n[r + "src"] = { + valType: "string", + editType: "none", + }) + : h(t) && (t.role = "object"); + }); + })(t), + (function (t) { + e.crawl(t, function (t, e, r) { + if (t) { + var n = t._isLinkedToArray; + n && + (delete t._isLinkedToArray, + (r[e] = { items: {} }), + (r[e].items[n] = t), + (r[e].role = "object")); + } + }); + })(t), + (function (t) { + !(function t(e) { + for (var r in e) + if (h(e[r])) t(e[r]); + else if (Array.isArray(e[r])) + for (var n = 0; n < e[r].length; n++) t(e[r][n]); + else + e[r] instanceof RegExp && + (e[r] = e[r].toString()); + })(t); + })(t), + t + ); + } + function k(t, e, r) { + var n = d(t, r), + i = f({}, e.layoutAttributes); + (i._isSubplotObj = !0), n.set(i); + } + function A(t, e, r) { + var n = d(t, r); + n.set(f(n.get() || {}, e)); + } + (e.IS_SUBPLOT_OBJ = g), + (e.IS_LINKED_TO_ARRAY = y), + (e.DEPRECATED = m), + (e.UNDERSCORE_ATTRS = x), + (e.get = function () { + var t = {}; + n.allTypes.forEach(function (r) { + t[r] = (function (t) { + var r, i; + i = (r = n.modules[t]._module).basePlotModule; + var o = { type: null }, + s = f({}, a), + l = f({}, r.attributes); + e.crawl(l, function (t, e, r, n, i) { + d(s, i).set(void 0), + void 0 === t && d(l, i).set(void 0); + }), + f(o, s), + n.traceIs(t, "noOpacity") && delete o.opacity, + n.traceIs(t, "showLegend") || + (delete o.showlegend, delete o.legendgroup), + n.traceIs(t, "noHover") && + (delete o.hoverinfo, delete o.hoverlabel), + r.selectPoints || delete o.selectedpoints, + f(o, l), + i.attributes && f(o, i.attributes), + (o.type = t); + var u = { + meta: r.meta || {}, + categories: r.categories || {}, + animatable: Boolean(r.animatable), + type: t, + attributes: T(o), + }; + if (r.layoutAttributes) { + var c = {}; + f(c, r.layoutAttributes), + (u.layoutAttributes = T(c)); + } + return ( + r.animatable || + e.crawl(u, function (t) { + e.isValObject(t) && + "anim" in t && + delete t.anim; + }), + u + ); + })(r); + }); + var r, + i = {}; + return ( + Object.keys(n.transformsRegistry).forEach(function (t) { + i[t] = (function (t) { + var e = n.transformsRegistry[t], + r = f({}, e.attributes); + return ( + Object.keys(n.componentsRegistry).forEach( + function (e) { + var i = n.componentsRegistry[e]; + i.schema && + i.schema.transforms && + i.schema.transforms[t] && + Object.keys(i.schema.transforms[t]).forEach( + function (e) { + A(r, i.schema.transforms[t][e], e); + }, + ); + }, + ), + { attributes: T(r) } + ); + })(t); + }), + { + defs: { + valObjects: v, + metaKeys: x.concat([ + "description", + "role", + "editType", + "impliedEdits", + ]), + editType: { traces: c.traces, layout: c.layout }, + impliedEdits: {}, + }, + traces: t, + layout: w(), + transforms: i, + frames: ((r = { frames: f({}, s) }), T(r), r.frames), + animation: T(l), + config: T(u), + } + ); + }), + (e.crawl = function (t, r, n, i) { + var a = n || 0; + (i = i || ""), + Object.keys(t).forEach(function (n) { + var o = t[n]; + if (-1 === x.indexOf(n)) { + var s = (i ? i + "." : "") + n; + r(o, n, t, a, s), + e.isValObject(o) || + (h(o) && + "impliedEdits" !== n && + e.crawl(o, r, a + 1, s)); + } + }); + }), + (e.isValObject = function (t) { + return t && void 0 !== t.valType; + }), + (e.findArrayAttributes = function (t) { + var r, + n, + i = [], + o = [], + s = []; + function l(t, e, n, i) { + (o = o.slice(0, i).concat([e])), + (s = s.slice(0, i).concat([t && t._isLinkedToArray])), + t && + ("data_array" === t.valType || !0 === t.arrayOk) && + ("colorbar" !== o[i - 1] || + ("ticktext" !== e && "tickvals" !== e)) && + u(r, 0, ""); + } + function u(t, e, r) { + var a = t[o[e]], + l = r + o[e]; + if (e === o.length - 1) p(a) && i.push(n + l); + else if (s[e]) { + if (Array.isArray(a)) + for (var c = 0; c < a.length; c++) + h(a[c]) && u(a[c], e + 1, l + "[" + c + "]."); + } else h(a) && u(a, e + 1, l + "."); + } + (r = t), + (n = ""), + e.crawl(a, l), + t._module && + t._module.attributes && + e.crawl(t._module.attributes, l); + var c = t.transforms; + if (c) + for (var f = 0; f < c.length; f++) { + var d = c[f], + v = d._module; + v && + ((n = "transforms[" + f + "]."), + (r = d), + e.crawl(v.attributes, l)); + } + return i; + }), + (e.getTraceValObject = function (t, e) { + var r, + i, + o = e[0], + s = 1; + if ("transforms" === o) { + if (1 === e.length) return a.transforms; + var l = t.transforms; + if (!Array.isArray(l) || !l.length) return !1; + var u = e[1]; + if (!_(u) || u >= l.length) return !1; + (i = + (r = (n.transformsRegistry[l[u].type] || {}) + .attributes) && r[e[2]]), + (s = 3); + } else { + var c = t._module; + if ( + (c || + (c = (n.modules[t.type || a.type.dflt] || {}) + ._module), + !c) + ) + return !1; + if (!(i = (r = c.attributes) && r[o])) { + var f = c.basePlotModule; + f && f.attributes && (i = f.attributes[o]); + } + i || (i = a[o]); + } + return b(i, e, s); + }), + (e.getLayoutValObject = function (t, e) { + var r = (function (t, e) { + var r, + i, + a, + s, + l = t._basePlotModules; + if (l) { + var u; + for (r = 0; r < l.length; r++) { + if ((a = l[r]).attrRegex && a.attrRegex.test(e)) { + if (a.layoutAttrOverrides) + return a.layoutAttrOverrides; + !u && + a.layoutAttributes && + (u = a.layoutAttributes); + } + var c = a.baseLayoutAttrOverrides; + if (c && e in c) return c[e]; + } + if (u) return u; + } + var f = t._modules; + if (f) + for (r = 0; r < f.length; r++) + if ((s = f[r].layoutAttributes) && e in s) + return s[e]; + for (i in n.componentsRegistry) { + if ( + "colorscale" === + (a = n.componentsRegistry[i]).name && + 0 === e.indexOf("coloraxis") + ) + return a.layoutAttributes[e]; + if (!a.schema && e === a.name) + return a.layoutAttributes; + } + return e in o && o[e]; + })(t, e[0]); + return b(r, e, 1); + }); + }, + 44467: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(9012), + a = { name: { valType: "string", editType: "none" } }; + function o(t) { + return t && "string" == typeof t; + } + function s(t) { + var e = t.length - 1; + return ( + "s" !== t.charAt(e) && + n.warn("bad argument to arrayDefaultKey: " + t), + t.substr(0, t.length - 1) + "defaults" + ); + } + (a.templateitemname = { + valType: "string", + editType: "calc", + }), + (e.templatedArray = function (t, e) { + return ( + (e._isLinkedToArray = t), + (e.name = a.name), + (e.templateitemname = a.templateitemname), + e + ); + }), + (e.traceTemplater = function (t) { + var e, + r, + a = {}; + for (e in t) + (r = t[e]), Array.isArray(r) && r.length && (a[e] = 0); + return { + newTrace: function (o) { + var s = { + type: (e = n.coerce(o, {}, i, "type")), + _template: null, + }; + if (e in a) { + r = t[e]; + var l = a[e] % r.length; + a[e]++, (s._template = r[l]); + } + return s; + }, + }; + }), + (e.newContainer = function (t, e, r) { + var i = t._template, + a = i && (i[e] || (r && i[r])); + return ( + n.isPlainObject(a) || (a = null), + (t[e] = { _template: a }) + ); + }), + (e.arrayTemplater = function (t, e, r) { + var n = t._template, + i = n && n[s(e)], + a = n && n[e]; + (Array.isArray(a) && a.length) || (a = []); + var l = {}; + return { + newItem: function (t) { + var e = { name: t.name, _input: t }, + n = (e.templateitemname = t.templateitemname); + if (!o(n)) return (e._template = i), e; + for (var s = 0; s < a.length; s++) { + var u = a[s]; + if (u.name === n) + return (l[n] = 1), (e._template = u), e; + } + return (e[r] = t[r] || !1), (e._template = !1), e; + }, + defaultItems: function () { + for (var t = [], e = 0; e < a.length; e++) { + var r = a[e], + n = r.name; + if (o(n) && !l[n]) { + var i = { + _template: r, + name: n, + _input: { _templateitemname: n }, + }; + (i.templateitemname = r.templateitemname), + t.push(i), + (l[n] = 1); + } + } + return t; + }, + }; + }), + (e.arrayDefaultKey = s), + (e.arrayEditor = function (t, e, r) { + var i = (n.nestedProperty(t, e).get() || []).length, + a = r._index, + o = a >= i && (r._input || {})._templateitemname; + o && (a = i); + var s, + l = e + "[" + a + "]"; + function u() { + (s = {}), + o && ((s[l] = {}), (s[l].templateitemname = o)); + } + function c(t, e) { + o + ? n.nestedProperty(s[l], t).set(e) + : (s[l + "." + t] = e); + } + function f() { + var t = s; + return u(), t; + } + return ( + u(), + { + modifyBase: function (t, e) { + s[t] = e; + }, + modifyItem: c, + getUpdateObj: f, + applyUpdate: function (e, r) { + e && c(e, r); + var i = f(); + for (var a in i) n.nestedProperty(t, a).set(i[a]); + }, + } + ); + }); + }, + 61549: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(74875), + o = r(71828), + s = r(63893), + l = r(33306), + u = r(7901), + c = r(91424), + f = r(92998), + h = r(64168), + p = r(89298), + d = r(18783), + v = r(99082), + g = v.enforce, + y = v.clean, + m = r(71739).doAutoRange, + x = "start"; + function b(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; + } + function _(t) { + var r, + i, + s, + l, + f, + v, + g = t._fullLayout, + y = g._size, + m = y.p, + x = p.list(t, "", !0); + if ( + (g._paperdiv + .style({ + width: + t._context.responsive && + g.autosize && + !t._context._hasZeroWidth && + !t.layout.width + ? "100%" + : g.width + "px", + height: + t._context.responsive && + g.autosize && + !t._context._hasZeroHeight && + !t.layout.height + ? "100%" + : g.height + "px", + }) + .selectAll(".main-svg") + .call(c.setSize, g.width, g.height), + t._context.setBackground(t, g.paper_bgcolor), + e.drawMainTitle(t), + h.manage(t), + !g._has("cartesian")) + ) + return a.previousPromises(t); + function _(t, e, r) { + var n = t._lw / 2; + return "x" === t._id.charAt(0) + ? e + ? "top" === r + ? e._offset - m - n + : e._offset + e._length + m + n + : y.t + y.h * (1 - (t.position || 0)) + (n % 1) + : e + ? "right" === r + ? e._offset + e._length + m + n + : e._offset - m - n + : y.l + y.w * (t.position || 0) + (n % 1); + } + for (r = 0; r < x.length; r++) { + var T = (l = x[r])._anchorAxis; + (l._linepositions = {}), + (l._lw = c.crispRound(t, l.linewidth, 1)), + (l._mainLinePosition = _(l, T, l.side)), + (l._mainMirrorPosition = + l.mirror && T + ? _(l, T, d.OPPOSITE_SIDE[l.side]) + : null); + } + var A = [], + M = [], + S = [], + E = + 1 === u.opacity(g.paper_bgcolor) && + 1 === u.opacity(g.plot_bgcolor) && + g.paper_bgcolor === g.plot_bgcolor; + for (i in g._plots) + if ((s = g._plots[i]).mainplot) + s.bg && s.bg.remove(), (s.bg = void 0); + else { + var L = s.xaxis.domain, + C = s.yaxis.domain, + P = s.plotgroup; + if (b(L, C, S)) { + var O = P.node(), + I = (s.bg = o.ensureSingle(P, "rect", "bg")); + O.insertBefore(I.node(), O.childNodes[0]), M.push(i); + } else + P.select("rect.bg").remove(), + S.push([L, C]), + E || (A.push(i), M.push(i)); + } + var D, + z, + R, + F, + B, + N, + j, + U, + V, + H, + q, + G, + Z, + Y = g._bgLayer.selectAll(".bg").data(A); + for ( + Y.enter().append("rect").classed("bg", !0), + Y.exit().remove(), + Y.each(function (t) { + g._plots[t].bg = n.select(this); + }), + r = 0; + r < M.length; + r++ + ) + (s = g._plots[M[r]]), + (f = s.xaxis), + (v = s.yaxis), + s.bg && + void 0 !== f._offset && + void 0 !== v._offset && + s.bg + .call( + c.setRect, + f._offset - m, + v._offset - m, + f._length + 2 * m, + v._length + 2 * m, + ) + .call(u.fill, g.plot_bgcolor) + .style("stroke-width", 0); + if (!g._hasOnlyLargeSploms) + for (i in g._plots) { + (s = g._plots[i]), (f = s.xaxis), (v = s.yaxis); + var W, + X, + J = (s.clipId = "clip" + g._uid + i + "plot"), + K = o.ensureSingleById( + g._clips, + "clipPath", + J, + function (t) { + t.classed("plotclip", !0).append("rect"); + }, + ); + (s.clipRect = K.select("rect").attr({ + width: f._length, + height: v._length, + })), + c.setTranslate(s.plot, f._offset, v._offset), + s._hasClipOnAxisFalse + ? ((W = null), (X = J)) + : ((W = J), (X = null)), + c.setClipUrl(s.plot, W, t), + (s.layerClipId = X); + } + function $(t) { + return "M" + D + "," + t + "H" + z; + } + function Q(t) { + return "M" + f._offset + "," + t + "h" + f._length; + } + function tt(t) { + return "M" + t + "," + U + "V" + j; + } + function et(t) { + return ( + void 0 !== v._shift && (t += v._shift), + "M" + t + "," + v._offset + "v" + v._length + ); + } + function rt(t, e, r) { + if (!t.showline || i !== t._mainSubplot) return ""; + if (!t._anchorAxis) return r(t._mainLinePosition); + var n = e(t._mainLinePosition); + return t.mirror && (n += e(t._mainMirrorPosition)), n; + } + for (i in g._plots) { + (s = g._plots[i]), (f = s.xaxis), (v = s.yaxis); + var nt = "M0,0"; + w(f, i) && + ((B = k(f, "left", v, x)), + (D = f._offset - (B ? m + B : 0)), + (N = k(f, "right", v, x)), + (z = f._offset + f._length + (N ? m + N : 0)), + (R = _(f, v, "bottom")), + (F = _(f, v, "top")), + !(Z = !f._anchorAxis || i !== f._mainSubplot) || + ("allticks" !== f.mirror && "all" !== f.mirror) || + (f._linepositions[i] = [R, F]), + (nt = rt(f, $, Q)), + Z && + f.showline && + ("all" === f.mirror || "allticks" === f.mirror) && + (nt += $(R) + $(F)), + s.xlines + .style("stroke-width", f._lw + "px") + .call( + u.stroke, + f.showline ? f.linecolor : "rgba(0,0,0,0)", + )), + s.xlines.attr("d", nt); + var it = "M0,0"; + w(v, i) && + ((q = k(v, "bottom", f, x)), + (j = v._offset + v._length + (q ? m : 0)), + (G = k(v, "top", f, x)), + (U = v._offset - (G ? m : 0)), + (V = _(v, f, "left")), + (H = _(v, f, "right")), + !(Z = !v._anchorAxis || i !== v._mainSubplot) || + ("allticks" !== v.mirror && "all" !== v.mirror) || + (v._linepositions[i] = [V, H]), + (it = rt(v, tt, et)), + Z && + v.showline && + ("all" === v.mirror || "allticks" === v.mirror) && + (it += tt(V) + tt(H)), + s.ylines + .style("stroke-width", v._lw + "px") + .call( + u.stroke, + v.showline ? v.linecolor : "rgba(0,0,0,0)", + )), + s.ylines.attr("d", it); + } + return p.makeClipPaths(t), a.previousPromises(t); + } + function w(t, e) { + return ( + (t.ticks || t.showline) && + (e === t._mainSubplot || + "all" === t.mirror || + "allticks" === t.mirror) + ); + } + function T(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 = d.FROM_BL[e]; + return r.side === e + ? n.domain[i] === t.domain[i] + : r.mirror && n.domain[1 - i] === t.domain[1 - i]; + } + function k(t, e, r, n) { + if (T(t, e, r)) return r._lw; + for (var i = 0; i < n.length; i++) { + var a = n[i]; + if (a._mainAxis === r._mainAxis && T(t, e, a)) + return a._lw; + } + return 0; + } + (e.layoutStyles = function (t) { + return o.syncOrAsync([a.doAutoMargin, _], t); + }), + (e.drawMainTitle = function (t) { + var e, + r = t._fullLayout.title, + i = t._fullLayout, + l = (function (t) { + var e = t.title, + r = "middle"; + return ( + o.isRightAnchor(e) + ? (r = "end") + : o.isLeftAnchor(e) && (r = x), + r + ); + })(i), + u = (function (t) { + var e = t.title, + r = "0em"; + return ( + o.isTopAnchor(e) + ? (r = d.CAP_SHIFT + "em") + : o.isMiddleAnchor(e) && (r = d.MID_SHIFT + "em"), + r + ); + })(i), + h = (function (t, e) { + var r = t.title, + n = t._size, + i = 0; + return ( + "0em" !== e && e + ? e === d.CAP_SHIFT + "em" && (i = r.pad.t) + : (i = -r.pad.b), + "auto" === r.y + ? n.t / 2 + : "paper" === r.yref + ? n.t + n.h - n.h * r.y + i + : t.height - t.height * r.y + i + ); + })(i, u), + p = (function (t, e) { + var r = t.title, + n = t._size, + i = 0; + return ( + e === x + ? (i = r.pad.l) + : "end" === e && (i = -r.pad.r), + "paper" === r.xref + ? n.l + n.w * r.x + i + : t.width * r.x + i + ); + })(i, l); + if ( + (f.draw(t, "gtitle", { + propContainer: i, + propName: "title.text", + placeholder: i._dfltTitle.plot, + attributes: { x: p, y: h, "text-anchor": l, dy: u }, + }), + r.text && r.automargin) + ) { + var v = n.selectAll(".gtitle"), + g = c.bBox(v.node()).height, + y = (function (t, e, r) { + var n = e.y, + i = e.yanchor, + a = n > 0.5 ? "t" : "b", + o = t._fullLayout.margin[a], + s = 0; + return ( + "paper" === e.yref + ? (s = r + e.pad.t + e.pad.b) + : "container" === e.yref && + (s = + (function (t, e, r, n, i) { + var a = 0; + return ( + "middle" === r && (a += i / 2), + "t" === t + ? ("top" === r && (a += i), + (a += n - e * n)) + : ("bottom" === r && (a += i), + (a += e * n)), + a + ); + })(a, n, i, t._fullLayout.height, r) + + e.pad.t + + e.pad.b), + s > o ? s : 0 + ); + })(t, r, g); + y > 0 && + ((function (t, e, r, n) { + var i = "title.automargin", + s = t._fullLayout.title, + l = s.y > 0.5 ? "t" : "b", + u = { x: s.x, y: s.y, t: 0, b: 0 }, + c = {}; + "paper" === s.yref && + (function (t, e, r, n, i) { + var a = + "paper" === e.yref + ? t._fullLayout._size.h + : t._fullLayout.height, + s = o.isTopAnchor(e) ? n : n - i, + l = "b" === r ? a - s : s; + return ( + !( + (o.isTopAnchor(e) && "t" === r) || + (o.isBottomAnchor(e) && "b" === r) + ) && l < i + ); + })(t, s, l, e, n) + ? (u[l] = r) + : "container" === s.yref && + ((c[l] = r), + (t._fullLayout._reservedMargin[i] = c)), + a.allowAutoMargin(t, i), + a.autoMargin(t, i, u); + })(t, h, y, g), + v + .attr({ + x: p, + y: h, + "text-anchor": l, + dy: + ((e = r.yanchor), + "top" === e + ? d.CAP_SHIFT + 0.3 + "em" + : "bottom" === e + ? "-0.3em" + : d.MID_SHIFT + "em"), + }) + .call(s.positionText, p, h)); + } + }), + (e.doTraceStyle = function (t) { + var r, + n = t.calcdata, + o = []; + for (r = 0; r < n.length; r++) { + var s = n[r], + u = s[0] || {}, + c = u.trace || {}, + f = c._module || {}, + h = f.arraysToCalcdata; + h && h(s, c); + var p = f.editStyle; + p && o.push({ fn: p, cd0: u }); + } + if (o.length) { + for (r = 0; r < o.length; r++) { + var d = o[r]; + d.fn(t, d.cd0); + } + l(t), e.redrawReglTraces(t); + } + return ( + a.style(t), + i.getComponentMethod("legend", "draw")(t), + a.previousPromises(t) + ); + }), + (e.doColorBars = function (t) { + return ( + i.getComponentMethod("colorbar", "draw")(t), + a.previousPromises(t) + ); + }), + (e.layoutReplot = function (t) { + var e = t.layout; + return (t.layout = void 0), i.call("_doPlot", t, "", e); + }), + (e.doLegend = function (t) { + return ( + i.getComponentMethod("legend", "draw")(t), + a.previousPromises(t) + ); + }), + (e.doTicksRelayout = function (t) { + return ( + p.draw(t, "redraw"), + t._fullLayout._hasOnlyLargeSploms && + (i.subplotsRegistry.splom.updateGrid(t), + l(t), + e.redrawReglTraces(t)), + e.drawMainTitle(t), + a.previousPromises(t) + ); + }), + (e.doModeBar = function (t) { + var e = t._fullLayout; + h.manage(t); + for (var r = 0; r < e._basePlotModules.length; r++) { + var n = e._basePlotModules[r].updateFx; + n && n(t); + } + return a.previousPromises(t); + }), + (e.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.setViewport(i); + } + }), + (e.drawData = function (t) { + var r = t._fullLayout; + l(t); + for (var n = r._basePlotModules, o = 0; o < n.length; o++) + n[o].plot(t); + return ( + e.redrawReglTraces(t), + a.style(t), + i.getComponentMethod("selections", "draw")(t), + i.getComponentMethod("shapes", "draw")(t), + i.getComponentMethod("annotations", "draw")(t), + i.getComponentMethod("images", "draw")(t), + (r._replotting = !1), + a.previousPromises(t) + ); + }), + (e.redrawReglTraces = function (t) { + var e = t._fullLayout; + if (e._has("regl")) { + var r, + n, + i = t._fullData, + a = [], + s = []; + for ( + e._hasOnlyLargeSploms && e._splomGrid.draw(), r = 0; + r < i.length; + r++ + ) { + var l = i[r]; + !0 === l.visible && + 0 !== l._length && + ("splom" === l.type + ? e._splomScenes[l.uid].draw() + : "scattergl" === l.type + ? o.pushUnique(a, l.xaxis + l.yaxis) + : "scatterpolargl" === l.type && + o.pushUnique(s, l.subplot)); + } + for (r = 0; r < a.length; r++) + (n = e._plots[a[r]])._scene && n._scene.draw(); + for (r = 0; r < s.length; r++) + (n = e[s[r]]._subplot)._scene && n._scene.draw(); + } + }), + (e.doAutoRangeAndConstraints = function (t) { + for ( + var e, r = p.list(t, "", !0), n = {}, i = 0; + i < r.length; + i++ + ) + if (!n[(e = r[i])._id]) { + (n[e._id] = 1), y(t, e), m(t, e); + var a = e._matchGroup; + if (a) + for (var o in a) { + var s = p.getFromId(t, o); + m(t, s, e.range), (n[o] = 1); + } + } + g(t); + }), + (e.finalDraw = function (t) { + i.getComponentMethod("rangeslider", "draw")(t), + i.getComponentMethod("rangeselector", "draw")(t); + }), + (e.drawMarginPushers = function (t) { + i.getComponentMethod("legend", "draw")(t), + i.getComponentMethod("rangeselector", "draw")(t), + i.getComponentMethod("sliders", "draw")(t), + i.getComponentMethod("updatemenus", "draw")(t), + i.getComponentMethod("colorbar", "draw")(t); + }); + }, + 96318: function (t, e, r) { + "use strict"; + var n = r(71828), + i = n.isPlainObject, + a = r(86281), + o = r(74875), + s = r(9012), + l = r(44467), + u = r(72075).dfltConfig; + function c(t, e) { + t = n.extendDeep({}, t); + var r, + a, + o = Object.keys(t).sort(); + function s(e, r, n) { + if (i(r) && i(e)) c(e, r); + else if (Array.isArray(r) && Array.isArray(e)) { + var o = l.arrayTemplater({ _template: t }, n); + for (a = 0; a < r.length; a++) { + var s = r[a], + u = o.newItem(s)._template; + u && c(u, s); + } + var f = o.defaultItems(); + for (a = 0; a < f.length; a++) r.push(f[a]._template); + for (a = 0; a < r.length; a++) + delete r[a].templateitemname; + } + } + for (r = 0; r < o.length; r++) { + var u = o[r], + h = t[u]; + if ((u in e ? s(h, e[u], u) : (e[u] = h), f(u) === u)) + for (var p in e) { + var d = f(p); + p === d || d !== u || p in t || s(h, e[p], u); + } + } + } + function f(t) { + return t.replace(/[0-9]+$/, ""); + } + function h(t, e, r, a, o) { + var s = o && r(o); + for (var u in t) { + var c = t[u], + p = v(t, u, a), + d = v(t, u, o), + g = r(d); + if (!g) { + var y = f(u); + y !== u && (g = r((d = v(t, y, o)))); + } + if ( + !( + (s && s === g) || + !g || + g._noTemplating || + "data_array" === g.valType || + (g.arrayOk && Array.isArray(c)) + ) + ) + if (!g.valType && i(c)) h(c, e, r, p, d); + else if (g._isLinkedToArray && Array.isArray(c)) + for ( + var m = !1, x = 0, b = {}, _ = 0; + _ < c.length; + _++ + ) { + var w = c[_]; + if (i(w)) { + var T = w.name; + if (T) + b[T] || + (h(w, e, r, v(c, x, p), v(c, x, d)), + x++, + (b[T] = 1)); + else if (!m) { + var k = v(t, l.arrayDefaultKey(u), a), + A = v(c, x, p); + h(w, e, r, A, v(c, x, d)); + var M = n.nestedProperty(e, A); + n.nestedProperty(e, k).set(M.get()), + M.set(null), + (m = !0); + } + } + } + else n.nestedProperty(e, p).set(c); + } + } + function p(t, e) { + return a.getLayoutValObject( + t, + n.nestedProperty({}, e).parts, + ); + } + function d(t, e) { + return a.getTraceValObject( + t, + n.nestedProperty({}, e).parts, + ); + } + function v(t, e, r) { + return r + ? Array.isArray(t) + ? r + "[" + e + "]" + : r + "." + e + : e; + } + function g(t) { + for (var e = 0; e < t.length; e++) if (i(t[e])) return !0; + } + function y(t) { + var e; + switch (t.code) { + case "data": + e = "The template has no key data."; + break; + case "layout": + e = "The template has no key layout."; + break; + case "missing": + e = t.path + ? "There are no templates for item " + + t.path + + " with name " + + t.templateitemname + : "There are no templates for trace " + + t.index + + ", of type " + + t.traceType + + "."; + break; + case "unused": + e = t.path + ? "The template item at " + + t.path + + " was not used in constructing the plot." + : t.dataCount + ? "Some of the templates of type " + + t.traceType + + " were not used. The template has " + + t.templateCount + + " traces, the data only has " + + t.dataCount + + " of this type." + : "The template has " + + t.templateCount + + " traces of type " + + t.traceType + + " but there are none in the data."; + break; + case "reused": + e = + "Some of the templates of type " + + t.traceType + + " were used more than once. The template has " + + t.templateCount + + " traces, the data has " + + t.dataCount + + " of this type."; + } + return (t.msg = e), t; + } + (e.makeTemplate = function (t) { + (t = n.isPlainObject(t) ? t : n.getGraphDiv(t)), + (t = n.extendDeep( + { _context: u }, + { data: t.data, layout: t.layout }, + )), + o.supplyDefaults(t); + var e = t.data || [], + r = t.layout || {}; + (r._basePlotModules = t._fullLayout._basePlotModules), + (r._modules = t._fullLayout._modules); + var a = { data: {}, layout: {} }; + e.forEach(function (t) { + var e = {}; + h(t, e, d.bind(null, t)); + var r = n.coerce(t, {}, s, "type"), + i = a.data[r]; + i || (i = a.data[r] = []), i.push(e); + }), + h(r, a.layout, p.bind(null, r)), + delete a.layout.template; + var l = r.template; + if (i(l)) { + var f, + v, + g, + y, + m, + x, + b = l.layout; + i(b) && c(b, a.layout); + var _ = l.data; + if (i(_)) { + for (v in a.data) + if (((g = _[v]), Array.isArray(g))) { + for ( + x = (m = a.data[v]).length, y = g.length, f = 0; + f < x; + f++ + ) + c(g[f % y], m[f]); + for (f = x; f < y; f++) + m.push(n.extendDeep({}, g[f])); + } + for (v in _) + v in a.data || (a.data[v] = n.extendDeep([], _[v])); + } + } + return a; + }), + (e.validateTemplate = function (t, e) { + var r = n.extendDeep( + {}, + { _context: u, data: t.data, layout: t.layout }, + ), + a = r.layout || {}; + i(e) || (e = a.template || {}); + var s = e.layout, + l = e.data, + c = []; + (r.layout = a), + (r.layout.template = e), + o.supplyDefaults(r); + var h = r._fullLayout, + p = r._fullData, + d = {}; + if ( + (i(s) + ? ((function t(e, r) { + for (var n in e) + if ("_" !== n.charAt(0) && i(e[n])) { + var a, + o = f(n), + s = []; + for (a = 0; a < r.length; a++) + s.push(v(e, n, r[a])), + o !== n && s.push(v(e, o, r[a])); + for (a = 0; a < s.length; a++) d[s[a]] = 1; + t(e[n], s); + } + })(h, ["layout"]), + (function t(e, r) { + for (var n in e) + if (-1 === n.indexOf("defaults") && i(e[n])) { + var a = v(e, n, r); + d[a] + ? t(e[n], a) + : c.push({ code: "unused", path: a }); + } + })(s, "layout")) + : c.push({ code: "layout" }), + i(l)) + ) { + for (var m, x = {}, b = 0; b < p.length; b++) { + var _ = p[b]; + (x[(m = _.type)] = (x[m] || 0) + 1), + _._fullInput._template || + c.push({ + code: "missing", + index: _._fullInput.index, + traceType: m, + }); + } + for (m in l) { + var w = l[m].length, + T = x[m] || 0; + w > T + ? c.push({ + code: "unused", + traceType: m, + templateCount: w, + dataCount: T, + }) + : T > w && + c.push({ + code: "reused", + traceType: m, + templateCount: w, + dataCount: T, + }); + } + } else c.push({ code: "data" }); + if ( + ((function t(e, r) { + for (var n in e) + if ("_" !== n.charAt(0)) { + var a = e[n], + o = v(e, n, r); + i(a) + ? (Array.isArray(e) && + !1 === a._template && + a.templateitemname && + c.push({ + code: "missing", + path: o, + templateitemname: a.templateitemname, + }), + t(a, o)) + : Array.isArray(a) && g(a) && t(a, o); + } + })({ data: p, layout: h }, ""), + c.length) + ) + return c.map(y); + }); + }, + 403: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(72391), + a = r(74875), + o = r(71828), + s = r(25095), + l = r(5900), + u = r(70942), + c = r(11506).version, + f = { + format: { + valType: "enumerated", + values: ["png", "jpeg", "webp", "svg", "full-json"], + 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 }, + }; + t.exports = function (t, e) { + var r, h, p, d; + function v(t) { + return !(t in e) || o.validate(e[t], f[t]); + } + if ( + ((e = e || {}), + o.isPlainObject(t) + ? ((r = t.data || []), + (h = t.layout || {}), + (p = t.config || {}), + (d = {})) + : ((t = o.getGraphDiv(t)), + (r = o.extendDeep([], t.data)), + (h = o.extendDeep({}, t.layout)), + (p = t._context), + (d = t._fullLayout || {})), + (!v("width") && null !== e.width) || + (!v("height") && null !== e.height)) + ) + throw new Error( + "Height and width should be pixel values.", + ); + if (!v("format")) + throw new Error( + "Export format is not " + + o.join2(f.format.values, ", ", " or ") + + ".", + ); + var g = {}; + function y(t, r) { + return o.coerce(e, g, f, t, r); + } + var m = y("format"), + x = y("width"), + b = y("height"), + _ = y("scale"), + w = y("setBackground"), + T = y("imageDataOnly"), + k = document.createElement("div"); + (k.style.position = "absolute"), + (k.style.left = "-5000px"), + document.body.appendChild(k); + var A = o.extendFlat({}, h); + x + ? (A.width = x) + : null === e.width && n(d.width) && (A.width = d.width), + b + ? (A.height = b) + : null === e.height && + n(d.height) && + (A.height = d.height); + var M = o.extendFlat({}, p, { + _exportedPlot: !0, + staticPlot: !0, + setBackground: w, + }), + S = s.getRedrawFunc(k); + function E() { + return new Promise(function (t) { + setTimeout(t, s.getDelay(k._fullLayout)); + }); + } + function L() { + return new Promise(function (t, e) { + var r = l(k, m, _), + n = k._fullLayout.width, + f = k._fullLayout.height; + function h() { + i.purge(k), document.body.removeChild(k); + } + if ("full-json" === m) { + var p = a.graphJson( + k, + !1, + "keepdata", + "object", + !0, + !0, + ); + return ( + (p.version = c), + (p = JSON.stringify(p)), + h(), + t(T ? p : s.encodeJSON(p)) + ); + } + if ((h(), "svg" === m)) + return t(T ? r : s.encodeSVG(r)); + var d = document.createElement("canvas"); + (d.id = o.randstr()), + u({ + format: m, + width: n, + height: f, + scale: _, + canvas: d, + svg: r, + promise: !0, + }) + .then(t) + .catch(e); + }); + } + return new Promise(function (t, e) { + i.newPlot(k, r, A, M) + .then(S) + .then(E) + .then(L) + .then(function (e) { + t( + (function (t) { + return T ? t.replace(s.IMAGE_URL_PREFIX, "") : t; + })(e), + ); + }) + .catch(function (t) { + e(t); + }); + }); + }; + }, + 84936: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(74875), + a = r(86281), + o = r(72075).dfltConfig, + s = n.isPlainObject, + l = Array.isArray, + u = n.isArrayOrTypedArray; + function c(t, e, r, i, a, o) { + o = o || []; + for (var f = Object.keys(t), h = 0; h < f.length; h++) { + var p = f[h]; + if ("transforms" !== p) { + var y = o.slice(); + y.push(p); + var m = t[p], + x = e[p], + b = g(r, p), + _ = (b || {}).valType, + w = "info_array" === _, + T = "colorscale" === _, + k = (b || {}).items; + if (v(r, p)) + if (s(m) && s(x) && "any" !== _) c(m, x, b, i, a, y); + else if (w && l(m)) { + m.length > x.length && + i.push(d("unused", a, y.concat(x.length))); + var A, + M, + S, + E, + L, + C = x.length, + P = Array.isArray(k); + if ( + (P && (C = Math.min(C, k.length)), + 2 === b.dimensions) + ) + for (M = 0; M < C; M++) + if (l(m[M])) { + m[M].length > x[M].length && + i.push( + d("unused", a, y.concat(M, x[M].length)), + ); + var O = x[M].length; + for ( + A = 0; + A < (P ? Math.min(O, k[M].length) : O); + A++ + ) + (S = P ? k[M][A] : k), + (E = m[M][A]), + (L = x[M][A]), + n.validate(E, S) + ? L !== E && + L !== +E && + i.push( + d( + "dynamic", + a, + y.concat(M, A), + E, + L, + ), + ) + : i.push( + d("value", a, y.concat(M, A), E), + ); + } else i.push(d("array", a, y.concat(M), m[M])); + else + for (M = 0; M < C; M++) + (S = P ? k[M] : k), + (E = m[M]), + (L = x[M]), + n.validate(E, S) + ? L !== E && + L !== +E && + i.push(d("dynamic", a, y.concat(M), E, L)) + : i.push(d("value", a, y.concat(M), E)); + } else if (b.items && !w && l(m)) { + var I, + D, + z = k[Object.keys(k)[0]], + R = []; + for (I = 0; I < x.length; I++) { + var F = x[I]._index || I; + if ( + ((D = y.slice()).push(F), s(m[F]) && s(x[I])) + ) { + R.push(F); + var B = m[F], + N = x[I]; + s(B) && !1 !== B.visible && !1 === N.visible + ? i.push(d("invisible", a, D)) + : c(B, N, z, i, a, D); + } + } + for (I = 0; I < m.length; I++) + (D = y.slice()).push(I), + s(m[I]) + ? -1 === R.indexOf(I) && + i.push(d("unused", a, D)) + : i.push(d("object", a, D, m[I])); + } else + !s(m) && s(x) + ? i.push(d("object", a, y, m)) + : u(m) || !u(x) || w || T + ? p in e + ? n.validate(m, b) + ? "enumerated" === b.valType && + ((b.coerceNumber && m !== +x) || m !== x) && + i.push(d("dynamic", a, y, m, x)) + : i.push(d("value", a, y, m)) + : i.push(d("unused", a, y, m)) + : i.push(d("array", a, y, m)); + else i.push(d("schema", a, y)); + } + } + return i; + } + function f(t, e) { + for ( + var r = t.layout.layoutAttributes, i = 0; + i < e.length; + i++ + ) { + var a = e[i], + o = t.traces[a.type], + s = o.layoutAttributes; + s && + (a.subplot + ? n.extendFlat(r[o.attributes.subplot.dflt], s) + : n.extendFlat(r, s)); + } + return r; + } + t.exports = function (t, e) { + void 0 === t && (t = []), void 0 === e && (e = {}); + var r, + u, + h = a.get(), + p = [], + v = { _context: n.extendFlat({}, o) }; + l(t) + ? ((v.data = n.extendDeep([], t)), (r = t)) + : ((v.data = []), (r = []), p.push(d("array", "data"))), + s(e) + ? ((v.layout = n.extendDeep({}, e)), (u = e)) + : ((v.layout = {}), + (u = {}), + arguments.length > 1 && + p.push(d("object", "layout"))), + i.supplyDefaults(v); + for (var g = v._fullData, y = r.length, m = 0; m < y; m++) { + var x = r[m], + b = ["data", m]; + if (s(x)) { + var _ = g[m], + w = _.type, + T = h.traces[w].attributes; + (T.type = { valType: "enumerated", values: [w] }), + !1 === _.visible && + !1 !== x.visible && + p.push(d("invisible", b)), + c(x, _, T, p, b); + var k = x.transforms, + A = _.transforms; + if (k) { + l(k) || p.push(d("array", b, ["transforms"])), + b.push("transforms"); + for (var M = 0; M < k.length; M++) { + var S = ["transforms", M], + E = k[M].type; + if (s(k[M])) { + var L = h.transforms[E] + ? h.transforms[E].attributes + : {}; + (L.type = { + valType: "enumerated", + values: Object.keys(h.transforms), + }), + c(k[M], A[M], L, p, b, S); + } else p.push(d("object", b, S)); + } + } + } else p.push(d("object", b)); + } + var C = v._fullLayout, + P = f(h, g); + return c(u, C, P, p, "layout"), 0 === p.length ? void 0 : p; + }; + var h = { + object: function (t, e) { + return ( + ("layout" === t && "" === e + ? "The layout argument" + : "data" === t[0] && "" === e + ? "Trace " + t[1] + " in the data argument" + : p(t) + "key " + e) + + " must be linked to an object container" + ); + }, + array: function (t, e) { + return ( + ("data" === t + ? "The data argument" + : p(t) + "key " + e) + + " must be linked to an array container" + ); + }, + schema: function (t, e) { + return p(t) + "key " + e + " is not part of the schema"; + }, + unused: function (t, e, r) { + var n = s(r) ? "container" : "key"; + return p(t) + n + " " + e + " did not get coerced"; + }, + dynamic: function (t, e, r, n) { + return [ + p(t) + "key", + e, + "(set to '" + r + "')", + "got reset to", + "'" + n + "'", + "during defaults.", + ].join(" "); + }, + invisible: function (t, e) { + return ( + (e ? p(t) + "item " + e : "Trace " + t[1]) + + " got defaulted to be not visible" + ); + }, + value: function (t, e, r) { + return [ + p(t) + "key " + e, + "is set to an invalid value (" + r + ")", + ].join(" "); + }, + }; + function p(t) { + return l(t) + ? "In data trace " + t[1] + ", " + : "In " + t + ", "; + } + function d(t, e, r, i, a) { + var o, s; + (r = r || ""), + l(e) ? ((o = e[0]), (s = e[1])) : ((o = e), (s = null)); + var u = (function (t) { + if (!l(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), + c = h[t](e, u, i, a); + return ( + n.log(c), + { + code: t, + container: o, + trace: s, + path: r, + astr: u, + msg: c, + } + ); + } + function v(t, e) { + var r = m(e), + n = r.keyMinusId, + i = r.id; + return !!(n in t && t[n]._isSubplotObj && i) || e in t; + } + function g(t, e) { + return e in t ? t[e] : t[m(e).keyMinusId]; + } + var y = n.counterRegex("([a-z]+)"); + function m(t) { + var e = t.match(y); + return { keyMinusId: e && e[1], id: e && e[2] }; + } + }, + 85594: function (t) { + "use strict"; + t.exports = { + mode: { + valType: "enumerated", + dflt: "afterall", + values: ["immediate", "next", "afterall"], + }, + direction: { + valType: "enumerated", + values: ["forward", "reverse"], + dflt: "forward", + }, + fromcurrent: { valType: "boolean", dflt: !1 }, + frame: { + duration: { valType: "number", min: 0, dflt: 500 }, + redraw: { valType: "boolean", dflt: !0 }, + }, + transition: { + duration: { + valType: "number", + min: 0, + dflt: 500, + editType: "none", + }, + 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", + ], + editType: "none", + }, + ordering: { + valType: "enumerated", + values: ["layout first", "traces first"], + dflt: "layout first", + editType: "none", + }, + }, + }; + }, + 85501: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(44467); + t.exports = function (t, e, r) { + var a, + o, + s = r.name, + l = r.inclusionAttr || "visible", + u = e[s], + c = n.isArrayOrTypedArray(t[s]) ? t[s] : [], + f = (e[s] = []), + h = i.arrayTemplater(e, s, l); + for (a = 0; a < c.length; a++) { + var p = c[a]; + n.isPlainObject(p) + ? (o = h.newItem(p)) + : ((o = h.newItem({}))[l] = !1), + (o._index = a), + !1 !== o[l] && r.handleItemDefaults(p, o, e, r), + f.push(o); + } + var d = h.defaultItems(); + for (a = 0; a < d.length; a++) + ((o = d[a])._index = f.length), + r.handleItemDefaults({}, o, e, r, {}), + f.push(o); + if (n.isArrayOrTypedArray(u)) { + var v = Math.min(u.length, f.length); + for (a = 0; a < v; a++) n.relinkPrivateKeys(f[a], u[a]); + } + return f; + }; + }, + 9012: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(77914); + t.exports = { + type: { + valType: "enumerated", + values: [], + dflt: "scatter", + editType: "calc+clearAxisTypes", + _noTemplating: !0, + }, + visible: { + valType: "enumerated", + values: [!0, !1, "legendonly"], + dflt: !0, + editType: "calc", + }, + showlegend: { + valType: "boolean", + dflt: !0, + editType: "style", + }, + legend: { + valType: "subplotid", + dflt: "legend", + editType: "style", + }, + legendgroup: { + valType: "string", + dflt: "", + editType: "style", + }, + legendgrouptitle: { + text: { valType: "string", dflt: "", editType: "style" }, + font: n({ editType: "style" }), + editType: "style", + }, + legendrank: { + valType: "number", + dflt: 1e3, + editType: "style", + }, + legendwidth: { + valType: "number", + min: 0, + editType: "style", + }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + editType: "style", + }, + name: { valType: "string", editType: "style" }, + uid: { valType: "string", editType: "plot", anim: !0 }, + ids: { valType: "data_array", editType: "calc", anim: !0 }, + customdata: { valType: "data_array", editType: "calc" }, + meta: { valType: "any", arrayOk: !0, editType: "plot" }, + 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: i.hoverlabel, + stream: { + token: { + valType: "string", + noBlank: !0, + strict: !0, + editType: "calc", + }, + maxpoints: { + valType: "number", + min: 0, + max: 1e4, + dflt: 500, + editType: "calc", + }, + editType: "calc", + }, + transforms: { + _isLinkedToArray: "transform", + editType: "calc", + }, + uirevision: { valType: "any", editType: "none" }, + }; + }, + 42973: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = i.dateTime2ms, + o = i.incrementMonth, + s = r(50606).ONEAVGMONTH; + t.exports = function (t, e, r, i) { + if ("date" !== e.type) return { vals: i }; + var l = t[r + "periodalignment"]; + if (!l) return { vals: i }; + var u, + c = t[r + "period"]; + if (n(c)) { + if ((c = +c) <= 0) return { vals: i }; + } else if ("string" == typeof c && "M" === c.charAt(0)) { + var f = +c.substring(1); + if (!(f > 0 && Math.round(f) === f)) return { vals: i }; + u = f; + } + for ( + var h = e.calendar, + p = "start" === l, + d = "end" === l, + v = t[r + "period0"], + g = a(v, h) || 0, + y = [], + m = [], + x = [], + b = i.length, + _ = 0; + _ < b; + _++ + ) { + var w, + T, + k, + A = i[_]; + if (u) { + for ( + w = Math.round((A - g) / (u * s)), k = o(g, u * w, h); + k > A; + + ) + k = o(k, -u, h); + for (; k <= A; ) k = o(k, u, h); + T = o(k, -u, h); + } else { + for (k = g + (w = Math.round((A - g) / c)) * c; k > A; ) + k -= c; + for (; k <= A; ) k += c; + T = k - c; + } + (y[_] = p ? T : d ? k : (T + k) / 2), + (m[_] = T), + (x[_] = k); + } + return { vals: y, starts: m, ends: x }; + }; + }, + 89502: function (t) { + "use strict"; + t.exports = { + xaxis: { + valType: "subplotid", + dflt: "x", + editType: "calc+clearAxisTypes", + }, + yaxis: { + valType: "subplotid", + dflt: "y", + editType: "calc+clearAxisTypes", + }, + }; + }, + 71739: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = r(71828), + o = r(50606).FP_SAFE, + s = r(73972), + l = r(91424), + u = r(41675), + c = u.getFromId, + f = u.isLinked; + function h(t, e) { + var r, + n, + i = [], + o = t._fullLayout, + s = d(o, e, 0), + l = d(o, e, 1), + u = v(t, e), + c = u.min, + f = u.max; + if (0 === c.length || 0 === f.length) + return a.simpleMap(e.range, e.r2l); + var h = c[0].val, + g = f[0].val; + for (r = 1; r < c.length && h === g; r++) + h = Math.min(h, c[r].val); + for (r = 1; r < f.length && h === g; r++) + g = Math.max(g, f[r].val); + var y = e.autorange, + m = + "reversed" === y || + "min reversed" === y || + "max reversed" === y; + if (!m && e.range) { + var x = a.simpleMap(e.range, e.r2l); + m = x[1] < x[0]; + } + "reversed" === e.autorange && (e.autorange = !0); + var b, + _, + w, + k, + A, + M, + S = e.rangemode, + E = "tozero" === S, + L = "nonnegative" === S, + C = e._length, + P = C / 10, + O = 0; + for (r = 0; r < c.length; r++) + for (b = c[r], n = 0; n < f.length; n++) + (M = (_ = f[n]).val - b.val - p(e, b.val, _.val)) > 0 && + ((A = C - s(b) - l(_)) > P + ? M / A > O && ((w = b), (k = _), (O = M / A)) + : M / C > O && + ((w = { val: b.val, nopad: 1 }), + (k = { val: _.val, nopad: 1 }), + (O = M / C))); + if (h === g) { + var I = h - 1, + D = h + 1; + if (E) + if (0 === h) i = [0, 1]; + else { + var z = (h > 0 ? f : c).reduce(function (t, e) { + return Math.max(t, l(e)); + }, 0), + R = h / (1 - Math.min(0.5, z / C)); + i = h > 0 ? [0, R] : [R, 0]; + } + else i = L ? [Math.max(0, I), Math.max(1, D)] : [I, D]; + } else + E + ? (w.val >= 0 && (w = { val: 0, nopad: 1 }), + k.val <= 0 && (k = { val: 0, nopad: 1 })) + : L && + (w.val - O * s(w) < 0 && (w = { val: 0, nopad: 1 }), + k.val <= 0 && (k = { val: 1, nopad: 1 })), + (O = + (k.val - w.val - p(e, b.val, _.val)) / + (C - s(w) - l(k))), + (i = [w.val - O * s(w), k.val + O * l(k)]); + return ( + (i = T(i, e)), + e.limitRange && e.limitRange(), + m && i.reverse(), + a.simpleMap(i, e.l2r || Number) + ); + } + function p(t, e, r) { + var n = 0; + if (t.rangebreaks) + for ( + var i = t.locateBreaks(e, r), a = 0; + a < i.length; + a++ + ) { + var o = i[a]; + n += o.max - o.min; + } + return n; + } + function d(t, e, r) { + var i = 0.05 * e._length, + o = e._anchorAxis || {}; + if ( + -1 !== (e.ticklabelposition || "").indexOf("inside") || + -1 !== (o.ticklabelposition || "").indexOf("inside") + ) { + var s = e.isReversed(); + if (!s) { + var u = a.simpleMap(e.range, e.r2l); + s = u[1] < u[0]; + } + s && (r = !r); + } + var c = 0; + return ( + f(t, e._id) || + (c = (function (t, e, r) { + var i = 0, + o = "x" === e._id.charAt(0); + for (var s in t._plots) { + var u = t._plots[s]; + if ( + e._id === u.xaxis._id || + e._id === u.yaxis._id + ) { + var c = (o ? u.yaxis : u.xaxis) || {}; + if ( + -1 !== + (c.ticklabelposition || "").indexOf( + "inside", + ) && + ((!r && + ("left" === c.side || "bottom" === c.side)) || + (r && + ("top" === c.side || "right" === c.side))) + ) { + if (c._vals) { + var f = a.deg2rad( + c._tickAngles[c._id + "tick"] || 0, + ), + h = Math.abs(Math.cos(f)), + p = Math.abs(Math.sin(f)); + if (!c._vals[0].bb) { + var d = c._id + "tick"; + c._selections[d].each(function (t) { + var e = n.select(this); + e.select(".text-math-group").empty() && + (t.bb = l.bBox(e.node())); + }); + } + for (var v = 0; v < c._vals.length; v++) { + var g = c._vals[v].bb; + if (g) { + var y = 6 + g.width, + m = 6 + g.height; + i = Math.max( + i, + o + ? Math.max(y * h, m * p) + : Math.max(m * h, y * p), + ); + } + } + } + "inside" === c.ticks && + "inside" === c.ticklabelposition && + (i += c.ticklen || 0); + } + } + } + return i; + })(t, e, r)), + (i = Math.max(c, i)), + "domain" === e.constrain && + e._inputDomain && + (i *= + (e._inputDomain[1] - e._inputDomain[0]) / + (e.domain[1] - e.domain[0])), + function (t) { + return t.nopad ? 0 : t.pad + (t.extrapad ? i : c); + } + ); + } + function v(t, e, r) { + var n, + i, + a, + o = e._id, + s = t._fullData, + l = t._fullLayout, + u = [], + f = []; + function h(t, e) { + for (n = 0; n < e.length; n++) { + var r = t[e[n]], + s = (r._extremes || {})[o]; + if (!0 === r.visible && s) { + for (i = 0; i < s.min.length; i++) + (a = s.min[i]), + g(u, a.val, a.pad, { extrapad: a.extrapad }); + for (i = 0; i < s.max.length; i++) + (a = s.max[i]), + y(f, a.val, a.pad, { extrapad: a.extrapad }); + } + } + } + if ( + (h(s, e._traceIndices), + h(l.annotations || [], e._annIndices || []), + h(l.shapes || [], e._shapeIndices || []), + e._matchGroup && !r) + ) + for (var p in e._matchGroup) + if (p !== e._id) { + var d = c(t, p), + m = v(t, d, !0), + x = e._length / d._length; + for (i = 0; i < m.min.length; i++) + (a = m.min[i]), + g(u, a.val, a.pad * x, { extrapad: a.extrapad }); + for (i = 0; i < m.max.length; i++) + (a = m.max[i]), + y(f, a.val, a.pad * x, { extrapad: a.extrapad }); + } + return { min: u, max: f }; + } + function g(t, e, r, n) { + m(t, e, r, n, b); + } + function y(t, e, r, n) { + m(t, e, r, n, _); + } + function m(t, e, r, n, i) { + for ( + var a = n.tozero, o = n.extrapad, s = !0, l = 0; + l < t.length && s; + l++ + ) { + var u = t[l]; + if (i(u.val, e) && u.pad >= r && (u.extrapad || !o)) { + s = !1; + break; + } + i(e, u.val) && + u.pad <= r && + (o || !u.extrapad) && + (t.splice(l, 1), l--); + } + if (s) { + var c = a && 0 === e; + t.push({ val: e, pad: c ? 0 : r, extrapad: !c && o }); + } + } + function x(t) { + return i(t) && Math.abs(t) < o; + } + function b(t, e) { + return t <= e; + } + function _(t, e) { + return t >= e; + } + function w(t, e, r) { + return ( + void 0 === e || void 0 === r || (e = t.d2l(e)) < t.d2l(r) + ); + } + function T(t, e) { + if (!e || !e.autorangeoptions) return t; + var r = t[0], + n = t[1], + i = e.autorangeoptions.include; + if (void 0 !== i) { + var o = e.d2l(r), + s = e.d2l(n); + a.isArrayOrTypedArray(i) || (i = [i]); + for (var l = 0; l < i.length; l++) { + var u = e.d2l(i[l]); + o >= u && ((o = u), (r = u)), + s <= u && ((s = u), (n = u)); + } + } + return ( + (r = (function (t, e) { + var r = e.autorangeoptions; + return r && + void 0 !== r.minallowed && + w(e, r.minallowed, r.maxallowed) + ? r.minallowed + : r && + void 0 !== r.clipmin && + w(e, r.clipmin, r.clipmax) + ? Math.max(t, e.d2l(r.clipmin)) + : t; + })(r, e)), + (n = (function (t, e) { + var r = e.autorangeoptions; + return r && + void 0 !== r.maxallowed && + w(e, r.minallowed, r.maxallowed) + ? r.maxallowed + : r && + void 0 !== r.clipmax && + w(e, r.clipmin, r.clipmax) + ? Math.min(t, e.d2l(r.clipmax)) + : t; + })(n, e)), + [r, n] + ); + } + t.exports = { + applyAutorangeOptions: T, + getAutoRange: h, + makePadFn: d, + doAutoRange: function (t, e, r) { + if ((e.setScale(), e.autorange)) { + (e.range = r ? r.slice() : h(t, e)), + (e._r = e.range.slice()), + (e._rl = a.simpleMap(e._r, e.r2l)); + var n = e._input, + i = {}; + (i[e._attr + ".range"] = e.range), + (i[e._attr + ".autorange"] = e.autorange), + s.call( + "_storeDirectGUIEdit", + t.layout, + t._fullLayout._preGUI, + i, + ), + (n.range = e.range.slice()), + (n.autorange = e.autorange); + } + var o = e._anchorAxis; + if (o && o.rangeslider) { + var l = o.rangeslider[e._name]; + l && "auto" === l.rangemode && (l.range = h(t, e)), + (o._input.rangeslider[e._name] = a.extendFlat({}, l)); + } + }, + findExtremes: function (t, e, r) { + r || (r = {}), t._m || t.setScale(); + var n, + a, + s, + l, + u, + c, + f, + h, + p, + d = [], + v = [], + m = e.length, + b = r.padded || !1, + _ = r.tozero && ("linear" === t.type || "-" === t.type), + w = "log" === t.type, + T = !1, + k = r.vpadLinearized || !1; + function A(t) { + if (Array.isArray(t)) + return ( + (T = !0), + function (e) { + return Math.max(Number(t[e] || 0), 0); + } + ); + var e = Math.max(Number(t || 0), 0); + return function () { + return e; + }; + } + var M = A( + (t._m > 0 ? r.ppadplus : r.ppadminus) || r.ppad || 0, + ), + S = A( + (t._m > 0 ? r.ppadminus : r.ppadplus) || r.ppad || 0, + ), + E = A(r.vpadplus || r.vpad), + L = A(r.vpadminus || r.vpad); + if (!T) { + if (((h = 1 / 0), (p = -1 / 0), w)) + for (n = 0; n < m; n++) + (a = e[n]) < h && a > 0 && (h = a), + a > p && a < o && (p = a); + else + for (n = 0; n < m; n++) + (a = e[n]) < h && a > -o && (h = a), + a > p && a < o && (p = a); + (e = [h, p]), (m = 2); + } + var C = { tozero: _, extrapad: b }; + function P(r) { + (s = e[r]), + i(s) && + ((c = M(r)), + (f = S(r)), + k + ? ((l = t.c2l(s) - L(r)), (u = t.c2l(s) + E(r))) + : ((h = s - L(r)), + (p = s + E(r)), + w && h < p / 10 && (h = p / 10), + (l = t.c2l(h)), + (u = t.c2l(p))), + _ && ((l = Math.min(0, l)), (u = Math.max(0, u))), + x(l) && g(d, l, f, C), + x(u) && y(v, u, c, C)); + } + var O = Math.min(6, m); + for (n = 0; n < O; n++) P(n); + for (n = m - 1; n >= O; n--) P(n); + return { min: d, max: v, opts: r }; + }, + concatExtremes: v, + }; + }, + 23074: function (t) { + "use strict"; + t.exports = function (t, e, r) { + var n, i; + if (r) { + var a = + "reversed" === e || + "min reversed" === e || + "max reversed" === e; + (n = r[a ? 1 : 0]), (i = r[a ? 0 : 1]); + } + var o = t( + "autorangeoptions.minallowed", + null === i ? n : void 0, + ), + s = t( + "autorangeoptions.maxallowed", + null === n ? i : void 0, + ); + void 0 === o && t("autorangeoptions.clipmin"), + void 0 === s && t("autorangeoptions.clipmax"), + t("autorangeoptions.include"); + }; + }, + 89298: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = r(74875), + o = r(73972), + s = r(71828), + l = s.strTranslate, + u = r(63893), + c = r(92998), + f = r(7901), + h = r(91424), + p = r(13838), + d = r(66287), + v = r(50606), + g = v.ONEMAXYEAR, + y = v.ONEAVGYEAR, + m = v.ONEMINYEAR, + x = v.ONEMAXQUARTER, + b = v.ONEAVGQUARTER, + _ = v.ONEMINQUARTER, + w = v.ONEMAXMONTH, + T = v.ONEAVGMONTH, + k = v.ONEMINMONTH, + A = v.ONEWEEK, + M = v.ONEDAY, + S = M / 2, + E = v.ONEHOUR, + L = v.ONEMIN, + C = v.ONESEC, + P = v.MINUS_SIGN, + O = v.BADNUM, + I = { K: "zeroline" }, + D = { K: "gridline", L: "path" }, + z = { K: "minor-gridline", L: "path" }, + R = { K: "tick", L: "path" }, + F = { K: "tick", L: "text" }, + B = { + width: ["x", "r", "l", "xl", "xr"], + height: ["y", "t", "b", "yt", "yb"], + right: ["r", "xr"], + left: ["l", "xl"], + top: ["t", "yt"], + bottom: ["b", "yb"], + }, + N = r(18783), + j = N.MID_SHIFT, + U = N.CAP_SHIFT, + V = N.LINE_SPACING, + H = N.OPPOSITE_SIDE, + q = (t.exports = {}); + q.setConvert = r(21994); + var G = r(4322), + Z = r(41675), + Y = Z.idSort, + W = Z.isLinked; + (q.id2name = Z.id2name), + (q.name2id = Z.name2id), + (q.cleanId = Z.cleanId), + (q.list = Z.list), + (q.listIds = Z.listIds), + (q.getFromId = Z.getFromId), + (q.getFromTrace = Z.getFromTrace); + var X = r(71739); + function J(t) { + var e = 1e-4 * (t[1] - t[0]); + return [t[0] - e, t[1] + e]; + } + (q.getAutoRange = X.getAutoRange), + (q.findExtremes = X.findExtremes), + (q.coerceRef = function (t, e, r, n, i, a) { + var o = n.charAt(n.length - 1), + l = r._fullLayout._subplots[o + "axis"], + u = n + "ref", + c = {}; + return ( + i || (i = l[0] || ("string" == typeof a ? a : a[0])), + a || (a = i), + (l = l.concat( + l.map(function (t) { + return t + " domain"; + }), + )), + (c[u] = { + valType: "enumerated", + values: l.concat( + a ? ("string" == typeof a ? [a] : a) : [], + ), + dflt: i, + }), + s.coerce(t, e, c, u) + ); + }), + (q.getRefType = function (t) { + return void 0 === t + ? t + : "paper" === t + ? "paper" + : "pixel" === t + ? "pixel" + : /( domain)$/.test(t) + ? "domain" + : "range"; + }), + (q.coercePosition = function (t, e, r, n, i, a) { + var o, l; + if ("range" !== q.getRefType(n)) + (o = s.ensureNumber), (l = r(i, a)); + else { + var u = q.getFromId(e, n); + (l = r(i, (a = u.fraction2r(a)))), (o = u.cleanPos); + } + t[i] = o(l); + }), + (q.cleanPosition = function (t, e, r) { + return ( + "paper" === r || "pixel" === r + ? s.ensureNumber + : q.getFromId(e, r).cleanPos + )(t); + }), + (q.redrawComponents = function (t, e) { + e = e || q.listIds(t); + var r = t._fullLayout; + function n(n, i, a, s) { + for ( + var l = o.getComponentMethod(n, i), u = {}, c = 0; + c < e.length; + c++ + ) + for ( + var f = r[q.id2name(e[c])][a], h = 0; + h < f.length; + h++ + ) { + var p = f[h]; + if (!u[p] && (l(t, p), (u[p] = 1), s)) return; + } + } + n("annotations", "drawOne", "_annIndices"), + n("shapes", "drawOne", "_shapeIndices"), + n("images", "draw", "_imgIndices", !0), + n("selections", "drawOne", "_selectionIndices"); + }); + var K = (q.getDataConversions = function (t, e, r, n) { + var i, + a = "x" === r || "y" === r || "z" === r ? r : n; + if (Array.isArray(a)) { + if ( + ((i = { + type: G(n, void 0, { + autotypenumbers: t._fullLayout.autotypenumbers, + }), + _categories: [], + }), + q.setConvert(i), + "category" === i.type) + ) + for (var o = 0; o < n.length; o++) i.d2c(n[o]); + } else i = q.getFromTrace(t, e, a); + return i + ? { d2c: i.d2c, c2d: i.c2d } + : "ids" === a + ? { d2c: Q, c2d: Q } + : { d2c: $, c2d: $ }; + }); + function $(t) { + return +t; + } + function Q(t) { + return String(t); + } + function tt(t, e) { + return Math.abs(((t / e + 0.5) % 1) - 0.5) < 0.001; + } + function et(t, e) { + return Math.abs(t / e - 1) < 0.001; + } + function rt(t) { + return +t.substring(1); + } + function nt(t, e) { + return ( + t.rangebreaks && + (e = e.filter(function (e) { + return t.maskBreaks(e.x) !== O; + })), + e + ); + } + function it(t) { + var e = t._mainAxis, + r = []; + if (e._vals) + for (var n = 0; n < e._vals.length; n++) + if (!e._vals[n].noTick) { + var i = e.l2p(e._vals[n].x), + a = t.p2l(i), + o = q.tickText(t, a); + e._vals[n].minor && ((o.minor = !0), (o.text = "")), + r.push(o); + } + return nt(t, r); + } + function at(t) { + var e = J(s.simpleMap(t.range, t.r2l)), + r = Math.min(e[0], e[1]), + n = Math.max(e[0], e[1]), + i = "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 (var a = [], o = 0; o <= 1; o++) + if (!o || t.minor) { + var l = o ? t.minor.tickvals : t.tickvals, + u = o ? [] : t.ticktext; + if (l) { + Array.isArray(u) || (u = []); + for (var c = 0; c < l.length; c++) { + var f = i(l[c]); + if (f > r && f < n) { + var h = + void 0 === u[c] + ? q.tickText(t, f) + : vt(t, f, String(u[c])); + o && ((h.minor = !0), (h.text = "")), a.push(h); + } + } + } + } + return nt(t, a); + } + (q.getDataToCoordFunc = function (t, e, r, n) { + return K(t, e, r, n).d2c; + }), + (q.counterLetter = function (t) { + var e = t.charAt(0); + return "x" === e ? "y" : "y" === e ? "x" : void 0; + }), + (q.minDtick = function (t, e, r, n) { + -1 === + ["log", "category", "multicategory"].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); + }), + (q.saveRangeInitial = function (t, e) { + for ( + var r = q.list(t, "", !0), n = !1, i = 0; + i < r.length; + i++ + ) { + var a = r[i], + o = + void 0 === a._rangeInitial0 && + void 0 === a._rangeInitial1, + s = + o || + a.range[0] !== a._rangeInitial0 || + a.range[1] !== a._rangeInitial1, + l = a.autorange; + ((o && !0 !== l) || (e && s)) && + ((a._rangeInitial0 = + "min" === l || "max reversed" === l + ? void 0 + : a.range[0]), + (a._rangeInitial1 = + "max" === l || "min reversed" === l + ? void 0 + : a.range[1]), + (a._autorangeInitial = l), + (n = !0)); + } + return n; + }), + (q.saveShowSpikeInitial = function (t, e) { + for ( + var r = q.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; + }), + (q.autoBin = function (t, e, r, n, a, o) { + var l, + u = s.aggNums(Math.min, null, t), + c = s.aggNums(Math.max, null, t); + if ("category" === e.type || "multicategory" === e.type) + return { + start: u - 0.5, + end: c + 0.5, + size: Math.max(1, Math.round(o) || 1), + _dataSpan: c - u, + }; + if ( + (a || (a = e.calendar), + (l = + "log" === e.type + ? { type: "linear", range: [u, c] } + : { + type: e.type, + range: s.simpleMap([u, c], e.c2r, 0, a), + calendar: a, + }), + q.setConvert(l), + (o = o && d.dtick(o, l.type))) + ) + (l.dtick = o), (l.tick0 = d.tick0(void 0, l.type, a)); + else { + var f; + if (r) f = (c - u) / r; + else { + var h = s.distinctVals(t), + p = Math.pow( + 10, + Math.floor(Math.log(h.minDiff) / Math.LN10), + ), + v = + p * + s.roundUp( + h.minDiff / p, + [0.9, 1.9, 4.9, 9.9], + !0, + ); + (f = Math.max( + v, + (2 * s.stdev(t)) / + Math.pow(t.length, n ? 0.25 : 0.4), + )), + i(f) || (f = 1); + } + q.autoTicks(l, f); + } + var g, + y = l.dtick, + m = q.tickIncrement(q.tickFirst(l), y, "reverse", a); + if ("number" == typeof y) + (m = (function (t, e, r, n, a) { + var o = 0, + s = 0, + l = 0, + u = 0; + function c(e) { + return (1 + (100 * (e - t)) / r.dtick) % 100 < 2; + } + for (var f = 0; f < e.length; f++) + e[f] % 1 == 0 ? l++ : i(e[f]) || u++, + c(e[f]) && o++, + c(e[f] + r.dtick / 2) && s++; + var h = e.length - u; + if (l === h && "date" !== r.type) + r.dtick < 1 + ? (t = n - 0.5 * r.dtick) + : (t -= 0.5) + r.dtick < n && (t += r.dtick); + else if ( + s < 0.1 * h && + (o > 0.3 * h || c(n) || c(a)) + ) { + var p = r.dtick / 2; + t += t + p < n ? p : -p; + } + return t; + })(m, t, l, u, c)), + (g = m + (1 + Math.floor((c - m) / y)) * y); + else + for ( + "M" === l.dtick.charAt(0) && + (m = (function (t, e, r, n, i) { + var a = s.findExactDates(e, i); + if (a.exactDays > 0.8) { + var o = Number(r.substr(1)); + a.exactYears > 0.8 && o % 12 == 0 + ? (t = + q.tickIncrement(t, "M6", "reverse") + + 1.5 * M) + : a.exactMonths > 0.8 + ? (t = + q.tickIncrement(t, "M1", "reverse") + + 15.5 * M) + : (t -= S); + var l = q.tickIncrement(t, r); + if (l <= n) return l; + } + return t; + })(m, t, y, u, a)), + g = m; + g <= c; + + ) + g = q.tickIncrement(g, y, !1, a); + return { + start: e.c2r(m, 0, a), + end: e.c2r(g, 0, a), + size: y, + _dataSpan: c - u, + }; + }), + (q.prepMinorTicks = function (t, e, r) { + if (!e.minor.dtick) { + delete t.dtick; + var n, + a = e.dtick && i(e._tmin); + if (a) { + var o = q.tickIncrement(e._tmin, e.dtick, !0); + n = [e._tmin, 0.99 * o + 0.01 * e._tmin]; + } else { + var l = s.simpleMap(e.range, e.r2l); + n = [l[0], 0.8 * l[0] + 0.2 * l[1]]; + } + if ( + ((t.range = s.simpleMap(n, e.l2r)), + (t._isMinor = !0), + q.prepTicks(t, r), + a) + ) { + var u = i(e.dtick), + c = i(t.dtick), + f = u ? e.dtick : +e.dtick.substring(1), + h = c ? t.dtick : +t.dtick.substring(1); + u && c + ? tt(f, h) + ? f === 2 * A && h === 2 * M && (t.dtick = A) + : f === 2 * A && h === 3 * M + ? (t.dtick = A) + : f !== A || (e._input.minor || {}).nticks + ? et(f / h, 2.5) + ? (t.dtick = f / 2) + : (t.dtick = f) + : (t.dtick = M) + : "M" === String(e.dtick).charAt(0) + ? c + ? (t.dtick = "M1") + : tt(f, h) + ? f >= 12 && 2 === h && (t.dtick = "M3") + : (t.dtick = e.dtick) + : "L" === String(t.dtick).charAt(0) + ? "L" === String(e.dtick).charAt(0) + ? tt(f, h) || + (t.dtick = et(f / h, 2.5) + ? e.dtick / 2 + : e.dtick) + : (t.dtick = "D1") + : "D2" === t.dtick && +e.dtick > 1 && (t.dtick = 1); + } + t.range = e.range; + } + void 0 === e.minor._tick0Init && (t.tick0 = e.tick0); + }), + (q.prepTicks = function (t, e) { + var r = s.simpleMap(t.range, t.r2l, void 0, void 0, e); + if ("auto" === t.tickmode || !t.dtick) { + var n, + a = t.nticks; + a || + ("category" === t.type || "multicategory" === t.type + ? ((n = t.tickfont + ? s.bigFont(t.tickfont.size || 12) + : 15), + (a = t._length / n)) + : ((n = "y" === t._id.charAt(0) ? 40 : 80), + (a = s.constrain(t._length / n, 4, 9) + 1)), + "radialaxis" === t._name && (a *= 2)), + (t.minor && "array" !== t.minor.tickmode) || + ("array" === t.tickmode && (a *= 100)), + (t._roughDTick = Math.abs(r[1] - r[0]) / a), + q.autoTicks(t, t._roughDTick), + t._minDtick > 0 && + t.dtick < 2 * t._minDtick && + ((t.dtick = t._minDtick), + (t.tick0 = t.l2r(t._forceTick0))); + } + "period" === t.ticklabelmode && + (function (t) { + var e; + function r() { + return !(i(t.dtick) || "M" !== t.dtick.charAt(0)); + } + var n = r(), + a = q.getTickFormat(t); + if (a) { + var o = t._dtickInit !== t.dtick; + /%[fLQsSMX]/.test(a) || + (/%[HI]/.test(a) + ? ((e = E), + o && !n && t.dtick < E && (t.dtick = E)) + : /%p/.test(a) + ? ((e = S), + o && !n && t.dtick < S && (t.dtick = S)) + : /%[Aadejuwx]/.test(a) + ? ((e = M), + o && !n && t.dtick < M && (t.dtick = M)) + : /%[UVW]/.test(a) + ? ((e = A), + o && !n && t.dtick < A && (t.dtick = A)) + : /%[Bbm]/.test(a) + ? ((e = T), + o && + (n ? rt(t.dtick) < 1 : t.dtick < k) && + (t.dtick = "M1")) + : /%[q]/.test(a) + ? ((e = b), + o && + (n ? rt(t.dtick) < 3 : t.dtick < _) && + (t.dtick = "M3")) + : /%[Yy]/.test(a) && + ((e = y), + o && + (n ? rt(t.dtick) < 12 : t.dtick < m) && + (t.dtick = "M12"))); + } + (n = r()) && + t.tick0 === t._dowTick0 && + (t.tick0 = t._rawTick0), + (t._definedDelta = e); + })(t), + t.tick0 || + (t.tick0 = "date" === t.type ? "2000-01-01" : 0), + "date" === t.type && t.dtick < 0.1 && (t.dtick = 0.1), + dt(t); + }), + (q.calcTicks = function (t, e) { + for ( + var r, + n, + a = t.type, + o = t.calendar, + l = t.ticklabelstep, + u = "period" === t.ticklabelmode, + c = s.simpleMap(t.range, t.r2l, void 0, void 0, e), + f = c[1] < c[0], + h = Math.min(c[0], c[1]), + p = Math.max(c[0], c[1]), + d = Math.max(1e3, t._length || 0), + v = [], + L = [], + C = [], + P = [], + I = t.minor && (t.minor.ticks || t.minor.showgrid), + D = 1; + D >= (I ? 0 : 1); + D-- + ) { + var z = !D; + D + ? ((t._dtickInit = t.dtick), (t._tick0Init = t.tick0)) + : ((t.minor._dtickInit = t.minor.dtick), + (t.minor._tick0Init = t.minor.tick0)); + var R = D ? t : s.extendFlat({}, t, t.minor); + if ( + (z ? q.prepMinorTicks(R, t, e) : q.prepTicks(R, e), + "array" !== R.tickmode) + ) + if ("sync" !== R.tickmode) { + var F = J(c), + B = F[0], + N = F[1], + j = i(R.dtick), + U = + "log" === a && + !(j || "L" === R.dtick.charAt(0)), + V = q.tickFirst(R, e); + if (D) { + if (((t._tmin = V), V < B !== f)) break; + ("category" !== a && "multicategory" !== a) || + (N = f + ? Math.max(-0.5, N) + : Math.min(t._categories.length - 0.5, N)); + } + var H, + G, + Z = null, + Y = V; + D && + (j + ? (G = t.dtick) + : "date" === a + ? "string" == typeof t.dtick && + "M" === t.dtick.charAt(0) && + (G = T * t.dtick.substring(1)) + : (G = t._roughDTick), + (H = + Math.round((t.r2l(Y) - t.r2l(t.tick0)) / G) - + 1)); + var W = R.dtick; + for ( + R.rangebreaks && + R._tick0Init !== R.tick0 && + ((Y = Dt(Y, t)), + f || (Y = q.tickIncrement(Y, W, !f, o))), + D && + u && + ((Y = q.tickIncrement(Y, W, !f, o)), H--); + f ? Y >= N : Y <= N; + Y = q.tickIncrement(Y, W, f, o) + ) { + if ((D && H++, R.rangebreaks && !f)) { + if (Y < B) continue; + if (R.maskBreaks(Y) === O && Dt(Y, R) >= p) + break; + } + if (C.length > d || Y === Z) break; + Z = Y; + var X = { value: Y }; + D + ? (U && Y !== (0 | Y) && (X.simpleLabel = !0), + l > 1 && H % l && (X.skipLabel = !0), + C.push(X)) + : ((X.minor = !0), P.push(X)); + } + } else (C = []), (v = it(t)); + else + D ? ((C = []), (v = at(t))) : ((P = []), (L = at(t))); + } + if ( + I && + !( + ("inside" === t.minor.ticks && + "outside" === t.ticks) || + ("outside" === t.minor.ticks && "inside" === t.ticks) + ) + ) { + for ( + var K = C.map(function (t) { + return t.value; + }), + $ = [], + Q = 0; + Q < P.length; + Q++ + ) { + var tt = P[Q], + et = tt.value; + if (-1 === K.indexOf(et)) { + for ( + var rt = !1, nt = 0; + !rt && nt < C.length; + nt++ + ) + 1e7 + C[nt].value === 1e7 + et && (rt = !0); + rt || $.push(tt); + } + } + P = $; + } + if ( + (u && + (function (t, e, r) { + for (var n = 0; n < t.length; n++) { + var i = t[n].value, + a = n, + o = n + 1; + n < t.length - 1 + ? ((a = n), (o = n + 1)) + : n > 0 + ? ((a = n - 1), (o = n)) + : ((a = n), (o = n)); + var s, + l = t[a].value, + u = t[o].value, + c = Math.abs(u - l), + f = r || c, + h = 0; + f >= m + ? (h = c >= m && c <= g ? c : y) + : r === b && f >= _ + ? (h = c >= _ && c <= x ? c : b) + : f >= k + ? (h = c >= k && c <= w ? c : T) + : r === A && f >= A + ? (h = A) + : f >= M + ? (h = M) + : r === S && f >= S + ? (h = S) + : r === E && f >= E && (h = E), + h >= c && ((h = c), (s = !0)); + var p = i + h; + if (e.rangebreaks && h > 0) { + for (var d = 0, v = 0; v < 84; v++) { + var L = (v + 0.5) / 84; + e.maskBreaks(i * (1 - L) + L * p) !== O && + d++; + } + (h *= d / 84) || (t[n].drop = !0), + s && c > A && (h = c); + } + (h > 0 || 0 === n) && (t[n].periodX = i + h / 2); + } + })(C, t, t._definedDelta), + t.rangebreaks) + ) { + var ot = "y" === t._id.charAt(0), + st = 1; + "auto" === t.tickmode && + (st = t.tickfont ? t.tickfont.size : 12); + var lt = NaN; + for (r = C.length - 1; r > -1; r--) + if (C[r].drop) C.splice(r, 1); + else { + C[r].value = Dt(C[r].value, t); + var ut = t.c2p(C[r].value); + (ot ? lt > ut - st : lt < ut + st) + ? C.splice(f ? r + 1 : r, 1) + : (lt = ut); + } + } + It(t) && 360 === Math.abs(c[1] - c[0]) && C.pop(), + (t._tmax = (C[C.length - 1] || {}).value), + (t._prevDateHead = ""), + (t._inCalcTicks = !0); + var ct, + ft, + ht = function (e) { + (e.text = ""), (t._prevDateHead = n); + }; + for (C = C.concat(P), r = 0; r < C.length; r++) { + var pt = C[r].minor, + dt = C[r].value; + pt + ? L.push({ x: dt, minor: !0 }) + : ((n = t._prevDateHead), + (ct = q.tickText(t, dt, !1, C[r].simpleLabel)), + void 0 !== (ft = C[r].periodX) && + ((ct.periodX = ft), + (ft > p || ft < h) && + (ft > p && (ct.periodX = p), + ft < h && (ct.periodX = h), + ht(ct))), + C[r].skipLabel && ht(ct), + v.push(ct)); + } + return ( + (v = v.concat(L)), + (t._inCalcTicks = !1), + u && v.length && (v[0].noTick = !0), + v + ); + }); + var ot = [2, 5, 10], + st = [1, 2, 3, 6, 12], + lt = [1, 2, 5, 10, 15, 30], + ut = [1, 2, 3, 7, 14], + ct = [ + -0.046, 0, 0.301, 0.477, 0.602, 0.699, 0.778, 0.845, + 0.903, 0.954, 1, + ], + ft = [-0.301, 0, 0.301, 0.699, 1], + ht = [15, 30, 45, 90, 180]; + function pt(t, e, r) { + return e * s.roundUp(t / e, r); + } + function dt(t) { + var e = t.dtick; + if ( + ((t._tickexponent = 0), + i(e) || "string" == typeof e || (e = 1), + ("category" !== t.type && "multicategory" !== t.type) || + (t._tickround = null), + "date" === t.type) + ) { + var r = t.r2l(t.tick0), + n = t.l2r(r).replace(/(^-|i)/g, ""), + a = n.length; + if ("M" === String(e).charAt(0)) + a > 10 || "01-01" !== n.substr(5) + ? (t._tickround = "d") + : (t._tickround = +e.substr(1) % 12 == 0 ? "y" : "m"); + else if ((e >= M && a <= 10) || e >= 15 * M) + t._tickround = "d"; + else if ((e >= L && a <= 16) || e >= E) + t._tickround = "M"; + else if ((e >= C && a <= 19) || e >= L) + t._tickround = "S"; + else { + var o = t.l2r(r + e).replace(/^-/, "").length; + (t._tickround = Math.max(a, o) - 20), + t._tickround < 0 && (t._tickround = 4); + } + } else if (i(e) || "L" === e.charAt(0)) { + var s = t.range.map(t.r2d || Number); + i(e) || (e = Number(e.substr(1))), + (t._tickround = + 2 - Math.floor(Math.log(e) / Math.LN10 + 0.01)); + var l = Math.max(Math.abs(s[0]), Math.abs(s[1])), + u = Math.floor(Math.log(l) / Math.LN10 + 0.01), + c = void 0 === t.minexponent ? 3 : t.minexponent; + Math.abs(u) > c && + (yt(t.exponentformat) && !mt(u) + ? (t._tickexponent = 3 * Math.round((u - 1) / 3)) + : (t._tickexponent = u)); + } else t._tickround = null; + } + function vt(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, + }; + } + (q.autoTicks = function (t, e, r) { + var n; + function a(t) { + return Math.pow(t, Math.floor(Math.log(e) / Math.LN10)); + } + if ("date" === t.type) { + t.tick0 = s.dateTick0(t.calendar, 0); + var o = 2 * e; + if (o > y) + (e /= y), + (n = a(10)), + (t.dtick = "M" + 12 * pt(e, n, ot)); + else if (o > T) (e /= T), (t.dtick = "M" + pt(e, 1, st)); + else if (o > M) { + if ( + ((t.dtick = pt( + e, + M, + t._hasDayOfWeekBreaks ? [1, 2, 7, 14] : ut, + )), + !r) + ) { + var l = q.getTickFormat(t), + u = "period" === t.ticklabelmode; + u && (t._rawTick0 = t.tick0), + /%[uVW]/.test(l) + ? (t.tick0 = s.dateTick0(t.calendar, 2)) + : (t.tick0 = s.dateTick0(t.calendar, 1)), + u && (t._dowTick0 = t.tick0); + } + } else + o > E + ? (t.dtick = pt(e, E, st)) + : o > L + ? (t.dtick = pt(e, L, lt)) + : o > C + ? (t.dtick = pt(e, C, lt)) + : ((n = a(10)), (t.dtick = pt(e, n, ot))); + } else if ("log" === t.type) { + t.tick0 = 0; + var c = s.simpleMap(t.range, t.r2l); + if ((t._isMinor && (e *= 1.5), e > 0.7)) + t.dtick = Math.ceil(e); + else if (Math.abs(c[1] - c[0]) < 1) { + var f = 1.5 * Math.abs((c[1] - c[0]) / e); + (e = + Math.abs(Math.pow(10, c[1]) - Math.pow(10, c[0])) / + f), + (n = a(10)), + (t.dtick = "L" + pt(e, n, ot)); + } else t.dtick = e > 0.3 ? "D2" : "D1"; + } else + "category" === t.type || "multicategory" === t.type + ? ((t.tick0 = 0), (t.dtick = Math.ceil(Math.max(e, 1)))) + : It(t) + ? ((t.tick0 = 0), (n = 1), (t.dtick = pt(e, n, ht))) + : ((t.tick0 = 0), + (n = a(10)), + (t.dtick = pt(e, n, ot))); + if ( + (0 === t.dtick && (t.dtick = 1), + !i(t.dtick) && "string" != typeof t.dtick) + ) { + var h = t.dtick; + throw ((t.dtick = 1), "ax.dtick error: " + String(h)); + } + }), + (q.tickIncrement = function (t, e, r, a) { + var o = r ? -1 : 1; + if (i(e)) return s.increment(t, o * e); + var l = e.charAt(0), + u = o * Number(e.substr(1)); + if ("M" === l) return s.incrementMonth(t, u, a); + if ("L" === l) + return Math.log(Math.pow(10, t) + u) / Math.LN10; + if ("D" === l) { + var c = "D2" === e ? ft : ct, + f = t + 0.01 * o, + h = s.roundUp(s.mod(f, 1), c, r); + return ( + Math.floor(f) + + Math.log(n.round(Math.pow(10, h), 1)) / Math.LN10 + ); + } + throw "unrecognized dtick " + String(e); + }), + (q.tickFirst = function (t, e) { + var r = t.r2l || Number, + a = s.simpleMap(t.range, r, void 0, void 0, e), + o = a[1] < a[0], + l = o ? Math.floor : Math.ceil, + u = J(a)[0], + c = t.dtick, + f = r(t.tick0); + if (i(c)) { + var h = l((u - f) / c) * c + f; + return ( + ("category" !== t.type && + "multicategory" !== t.type) || + (h = s.constrain(h, 0, t._categories.length - 1)), + h + ); + } + var p = c.charAt(0), + d = Number(c.substr(1)); + if ("M" === p) { + for (var v, g, y, m = 0, x = f; m < 10; ) { + if ( + ((v = q.tickIncrement(x, c, o, t.calendar)) - u) * + (x - u) <= + 0 + ) + return o ? Math.min(x, v) : Math.max(x, v); + (g = (u - (x + v) / 2) / (v - x)), + (y = p + (Math.abs(Math.round(g)) || 1) * d), + (x = q.tickIncrement( + x, + y, + g < 0 ? !o : o, + t.calendar, + )), + m++; + } + return s.error("tickFirst did not converge", t), x; + } + if ("L" === p) + return ( + Math.log(l((Math.pow(10, u) - f) / d) * d + f) / + Math.LN10 + ); + if ("D" === p) { + var b = "D2" === c ? ft : ct, + _ = s.roundUp(s.mod(u, 1), b, o); + return ( + Math.floor(u) + + Math.log(n.round(Math.pow(10, _), 1)) / Math.LN10 + ); + } + throw "unrecognized dtick " + String(c); + }), + (q.tickText = function (t, e, r, n) { + var a, + o = vt(t, e), + l = "array" === t.tickmode, + u = r || l, + c = t.type, + f = "category" === c ? t.d2l_noadd : t.d2l; + if (l && Array.isArray(t.ticktext)) { + var h = s.simpleMap(t.range, t.r2l), + p = (Math.abs(h[1] - h[0]) - (t._lBreaks || 0)) / 1e4; + for ( + a = 0; + a < t.ticktext.length && + !(Math.abs(e - f(t.tickvals[a])) < p); + a++ + ); + if (a < t.ticktext.length) + return (o.text = String(t.ticktext[a])), o; + } + function d(n) { + if (void 0 === n) return !0; + if (r) return "none" === n; + var i = { first: t._tmin, last: t._tmax }[n]; + return "all" !== n && e !== i; + } + var v = r + ? "never" + : "none" !== t.exponentformat && d(t.showexponent) + ? "hide" + : ""; + if ( + ("date" === c + ? (function (t, e, r, n) { + var a = t._tickround, + o = (r && t.hoverformat) || q.getTickFormat(t); + n && + (a = i(a) + ? 4 + : { y: "m", m: "d", d: "M", M: "S", S: 4 }[ + a + ]); + var l, + u = s.formatDate( + e.x, + o, + a, + t._dateFormat, + t.calendar, + t._extraFormat, + ), + c = u.indexOf("\n"); + if ( + (-1 !== c && + ((l = u.substr(c + 1)), (u = u.substr(0, c))), + n && + ("00:00:00" === u || "00:00" === u + ? ((u = l), (l = "")) + : 8 === u.length && + (u = u.replace(/:00$/, ""))), + l) + ) + if (r) + "d" === a + ? (u += ", " + l) + : (u = l + (u ? ", " + u : "")); + else if ( + t._inCalcTicks && + t._prevDateHead === l + ) { + var f = zt(t), + h = t._trueSide || t.side; + ((!f && "top" === h) || + (f && "bottom" === h)) && + (u += "
"); + } else (t._prevDateHead = l), (u += "
" + l); + e.text = u; + })(t, o, r, u) + : "log" === c + ? (function (t, e, r, n, a) { + var o = t.dtick, + l = e.x, + u = t.tickformat, + c = "string" == typeof o && o.charAt(0); + if ( + ("never" === a && (a = ""), + n && "L" !== c && ((o = "L3"), (c = "L")), + u || "L" === c) + ) + e.text = xt(Math.pow(10, l), t, a, n); + else if ( + i(o) || + ("D" === c && s.mod(l + 0.01, 1) < 0.1) + ) { + var f = Math.round(l), + h = Math.abs(f), + p = t.exponentformat; + "power" === p || (yt(p) && mt(f)) + ? ((e.text = + 0 === f + ? 1 + : 1 === f + ? "10" + : "10" + + (f > 1 ? "" : P) + + h + + ""), + (e.fontSize *= 1.25)) + : ("e" === p || "E" === p) && h > 2 + ? (e.text = "1" + p + (f > 0 ? "+" : P) + h) + : ((e.text = xt( + Math.pow(10, l), + t, + "", + "fakehover", + )), + "D1" === o && + "y" === t._id.charAt(0) && + (e.dy -= e.fontSize / 6)); + } else { + if ("D" !== c) + throw "unrecognized dtick " + String(o); + (e.text = String( + Math.round(Math.pow(10, s.mod(l, 1))), + )), + (e.fontSize *= 0.75); + } + if ("D1" === t.dtick) { + var d = String(e.text).charAt(0); + ("0" !== d && "1" !== d) || + ("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 * + (l < 0 ? 0.5 : 0.25)))); + } + })(t, o, 0, u, v) + : "category" === c + ? (function (t, e) { + var r = t._categories[Math.round(e.x)]; + void 0 === r && (r = ""), (e.text = String(r)); + })(t, o) + : "multicategory" === c + ? (function (t, e, r) { + var n = Math.round(e.x), + i = t._categories[n] || [], + a = void 0 === i[1] ? "" : String(i[1]), + o = void 0 === i[0] ? "" : String(i[0]); + r + ? (e.text = o + " - " + a) + : ((e.text = a), (e.text2 = o)); + })(t, o, r) + : It(t) + ? (function (t, e, r, n, i) { + if ("radians" !== t.thetaunit || r) + e.text = xt(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) { + for ( + var r = 1; + !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 = xt(s.deg2rad(e.x), t, i, n); + else { + var l = e.x < 0; + 1 === o[1] + ? 1 === o[0] + ? (e.text = "π") + : (e.text = o[0] + "π") + : (e.text = [ + "", + o[0], + "", + "⁄", + "", + o[1], + "", + "π", + ].join("")), + l && (e.text = P + e.text); + } + } + } + })(t, o, r, u, v) + : (function (t, e, r, n, i) { + "never" === i + ? (i = "") + : "all" === t.showexponent && + Math.abs(e.x / t.dtick) < 1e-6 && + (i = "hide"), + (e.text = xt(e.x, t, i, n)); + })(t, o, 0, u, v), + n || + (t.tickprefix && + !d(t.showtickprefix) && + (o.text = t.tickprefix + o.text), + t.ticksuffix && + !d(t.showticksuffix) && + (o.text += t.ticksuffix)), + t.labelalias && t.labelalias.hasOwnProperty(o.text)) + ) { + var g = t.labelalias[o.text]; + "string" == typeof g && (o.text = g); + } + if ("boundaries" === t.tickson || t.showdividers) { + var y = function (e) { + var r = t.l2p(e); + return r >= 0 && r <= t._length ? e : null; + }; + o.xbnd = [y(o.x - 0.5), y(o.x + t.dtick - 0.5)]; + } + return o; + }), + (q.hoverLabelText = function (t, e, r) { + r && (t = s.extendFlat({}, t, { hoverformat: r })); + var n = Array.isArray(e) ? e[0] : e, + i = Array.isArray(e) ? e[1] : void 0; + if (void 0 !== i && i !== n) + return ( + q.hoverLabelText(t, n, r) + + " - " + + q.hoverLabelText(t, i, r) + ); + var a = "log" === t.type && n <= 0, + o = q.tickText(t, t.c2l(a ? -n : n), "hover").text; + return a ? (0 === n ? "0" : P + o) : o; + }); + var gt = ["f", "p", "n", "μ", "m", "", "k", "M", "G", "T"]; + function yt(t) { + return "SI" === t || "B" === t; + } + function mt(t) { + return t > 14 || t < -15; + } + function xt(t, e, r, n) { + var a = t < 0, + o = e._tickround, + l = r || e.exponentformat || "B", + u = e._tickexponent, + c = q.getTickFormat(e), + f = e.separatethousands; + if (n) { + var h = { + exponentformat: l, + minexponent: e.minexponent, + dtick: + "none" === e.showexponent + ? e.dtick + : (i(t) && Math.abs(t)) || 1, + range: + "none" === e.showexponent + ? e.range.map(e.r2d) + : [0, t || 1], + }; + dt(h), + (o = (Number(h._tickround) || 0) + 4), + (u = h._tickexponent), + e.hoverformat && (c = e.hoverformat); + } + if (c) return e._numFormat(c)(t).replace(/-/g, P); + var p, + d = Math.pow(10, -o) / 2; + if (("none" === l && (u = 0), (t = Math.abs(t)) < d)) + (t = "0"), (a = !1); + else { + if ( + ((t += d), + u && ((t *= Math.pow(10, -u)), (o += u)), + 0 === o) + ) + t = String(Math.floor(t)); + else if (o < 0) { + t = (t = String(Math.round(t))).substr(0, t.length + o); + for (var v = o; v < 0; v++) t += "0"; + } else { + var g = (t = String(t)).indexOf(".") + 1; + g && (t = t.substr(0, g + o).replace(/\.?0+$/, "")); + } + t = s.numSeparate(t, e._separators, f); + } + return ( + u && + "hide" !== l && + (yt(l) && mt(u) && (l = "power"), + (p = + u < 0 ? P + -u : "power" !== l ? "+" + u : String(u)), + "e" === l || "E" === l + ? (t += l + p) + : "power" === l + ? (t += "×10" + p + "") + : "B" === l && 9 === u + ? (t += "B") + : yt(l) && (t += gt[u / 3 + 5])), + a ? P + t : t + ); + } + function bt(t, e) { + if (t) { + var r = Object.keys(B).reduce(function (t, r) { + return ( + -1 !== e.indexOf(r) && + B[r].forEach(function (e) { + t[e] = 1; + }), + t + ); + }, {}); + Object.keys(t).forEach(function (e) { + r[e] || (1 === e.length ? (t[e] = 0) : delete t[e]); + }); + } + } + function _t(t, e) { + for (var r = [], n = {}, i = 0; i < e.length; i++) { + var a = e[i]; + n[a.text2] ? n[a.text2].push(a.x) : (n[a.text2] = [a.x]); + } + for (var o in n) r.push(vt(t, s.interp(n[o], 0.5), o)); + return r; + } + function wt(t) { + return void 0 !== t.periodX ? t.periodX : t.x; + } + function Tt(t) { + return [ + t.text, + t.x, + t.axInfo, + t.font, + t.fontSize, + t.fontColor, + ].join("_"); + } + function kt(t) { + var e = t.title.font.size, + r = (t.title.text.match(u.BR_TAG_ALL) || []).length; + return t.title.hasOwnProperty("standoff") + ? r + ? e * (U + r * V) + : e * U + : r + ? e * (r + 1) * V + : e; + } + function At(t, e) { + var r = t.l2p(e); + return r > 1 && r < t._length - 1; + } + function Mt(t) { + var e = n.select(t), + r = e.select(".text-math-group"); + return r.empty() ? e.select("text") : r; + } + function St(t) { + return t._id + ".automargin"; + } + function Et(t) { + return St(t) + ".mirror"; + } + function Lt(t) { + return t._id + ".rangeslider"; + } + function Ct(t, e) { + for (var r = 0; r < e.length; r++) + -1 === t.indexOf(e[r]) && t.push(e[r]); + } + function Pt(t, e, r) { + var n, + i, + a = [], + o = [], + l = t.layout; + for (n = 0; n < e.length; n++) a.push(q.getFromId(t, e[n])); + for (n = 0; n < r.length; n++) o.push(q.getFromId(t, r[n])); + var u = Object.keys(p), + c = [ + "anchor", + "domain", + "overlaying", + "position", + "side", + "tickangle", + "editType", + ], + f = ["linear", "log"]; + for (n = 0; n < u.length; n++) { + var h = u[n], + d = a[0][h], + v = o[0][h], + g = !0, + y = !1, + m = !1; + if ( + "_" !== h.charAt(0) && + "function" != typeof d && + -1 === c.indexOf(h) + ) { + for (i = 1; i < a.length && g; i++) { + var x = a[i][h]; + "type" === h && + -1 !== f.indexOf(d) && + -1 !== f.indexOf(x) && + d !== x + ? (y = !0) + : x !== d && (g = !1); + } + for (i = 1; i < o.length && g; i++) { + var b = o[i][h]; + "type" === h && + -1 !== f.indexOf(v) && + -1 !== f.indexOf(b) && + v !== b + ? (m = !0) + : o[i][h] !== v && (g = !1); + } + g && + (y && (l[a[0]._name].type = "linear"), + m && (l[o[0]._name].type = "linear"), + Ot(l, h, a, o, t._fullLayout._dfltTitle)); + } + } + for (n = 0; n < t._fullLayout.annotations.length; n++) { + var _ = t._fullLayout.annotations[n]; + -1 !== e.indexOf(_.xref) && + -1 !== r.indexOf(_.yref) && + s.swapAttrs(l.annotations[n], ["?"]); + } + } + function Ot(t, e, r, n, i) { + var a, + o = s.nestedProperty, + l = o(t[r[0]._name], e).get(), + u = o(t[n[0]._name], e).get(); + for ( + "title" === e && + (l && l.text === i.x && (l.text = i.y), + u && u.text === i.y && (u.text = i.x)), + a = 0; + a < r.length; + a++ + ) + o(t, r[a]._name + "." + e).set(u); + for (a = 0; a < n.length; a++) + o(t, n[a]._name + "." + e).set(l); + } + function It(t) { + return "angularaxis" === t._id; + } + function Dt(t, e) { + for (var r = e._rangebreaks.length, n = 0; n < r; n++) { + var i = e._rangebreaks[n]; + if (t >= i.min && t < i.max) return i.max; + } + return t; + } + function zt(t) { + return -1 !== (t.ticklabelposition || "").indexOf("inside"); + } + function Rt(t, e) { + zt(t._anchorAxis || {}) && + t._hideCounterAxisInsideTickLabels && + t._hideCounterAxisInsideTickLabels(e); + } + function Ft(t, e, r, n) { + var i, + a = + "free" === t.anchor || + (void 0 !== t.overlaying && !1 !== t.overlaying) + ? t.overlaying + : t._id; + (i = n ? ("right" === t.side ? e : -e) : e), + a in r || (r[a] = {}), + t.side in r[a] || (r[a][t.side] = 0), + (r[a][t.side] += i); + } + (q.getTickFormat = function (t) { + var e, r, n, i, a, o, s, l; + function u(t) { + return "string" != typeof t + ? t + : Number(t.replace("M", "")) * T; + } + function c(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 f(t, e) { + var r = null === e[0], + n = null === e[1], + i = c(t, e[0]) >= 0, + a = c(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.tickformatstops[e]).enabled && + ((i = t.dtick), + (a = n.dtickrange), + (o = void 0), + (s = void 0), + (l = void 0), + (o = + u || + function (t) { + return t; + }), + (s = a[0]), + (l = a[1]), + ((!s && "number" != typeof s) || o(s) <= o(i)) && + ((!l && "number" != typeof l) || o(l) >= o(i))) + ) { + r = n; + break; + } + break; + case "log": + for (e = 0; e < t.tickformatstops.length; e++) + if ( + (n = t.tickformatstops[e]).enabled && + f(t.dtick, n.dtickrange) + ) { + r = n; + break; + } + } + return r ? r.value : t.tickformat; + }), + (q.getSubplots = function (t, e) { + var r = t._fullLayout._subplots, + n = r.cartesian.concat(r.gl2d || []), + i = e ? q.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 + ); + }), + (q.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; + }), + (q.makeClipPaths = function (t) { + var e = t._fullLayout; + if (!e._hasOnlyLargeSploms) { + var r, + i, + a = { _offset: 0, _length: e.width, _id: "" }, + o = { _offset: 0, _length: e.height, _id: "" }, + s = q.list(t, "x", !0), + l = q.list(t, "y", !0), + u = []; + for (r = 0; r < s.length; r++) + for ( + u.push({ x: s[r], y: o }), i = 0; + i < l.length; + i++ + ) + 0 === r && u.push({ x: a, y: l[i] }), + u.push({ x: s[r], y: l[i] }); + var c = e._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" + e._uid + t.x._id + t.y._id; + }) + .append("rect"), + c.exit().remove(), + c.each(function (t) { + n.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, + }); + }); + } + }), + (q.draw = function (t, e, r) { + var n = t._fullLayout; + "redraw" === e && + n._paper.selectAll("g.subplot").each(function (t) { + var e = t[0], + r = n._plots[e]; + if (r) { + var i = r.xaxis, + a = r.yaxis; + r.xaxislayer + .selectAll("." + i._id + "tick") + .remove(), + r.yaxislayer + .selectAll("." + a._id + "tick") + .remove(), + r.xaxislayer + .selectAll("." + i._id + "tick2") + .remove(), + r.yaxislayer + .selectAll("." + a._id + "tick2") + .remove(), + r.xaxislayer + .selectAll("." + i._id + "divider") + .remove(), + r.yaxislayer + .selectAll("." + a._id + "divider") + .remove(), + r.minorGridlayer && + r.minorGridlayer.selectAll("path").remove(), + r.gridlayer && + r.gridlayer.selectAll("path").remove(), + r.zerolinelayer && + r.zerolinelayer.selectAll("path").remove(), + n._infolayer + .select(".g-" + i._id + "title") + .remove(), + n._infolayer + .select(".g-" + a._id + "title") + .remove(); + } + }); + var i = e && "redraw" !== e ? e : q.listIds(t), + a = q + .list(t) + .filter(function (t) { + return t.autoshift; + }) + .map(function (t) { + return t.overlaying; + }); + i.map(function (e) { + var r = q.getFromId(t, e); + if ("sync" === r.tickmode && r.overlaying) { + var n = i.findIndex(function (t) { + return t === r.overlaying; + }); + n >= 0 && i.unshift(i.splice(n, 1).shift()); + } + }); + var o = { false: { left: 0, right: 0 } }; + return s.syncOrAsync( + i.map(function (e) { + return function () { + if (e) { + var n = q.getFromId(t, e); + r || (r = {}), + (r.axShifts = o), + (r.overlayingShiftedAx = a); + var i = q.drawOne(t, n, r); + return ( + n._shiftPusher && + Ft(n, n._fullDepth || 0, o, !0), + (n._r = n.range.slice()), + (n._rl = s.simpleMap(n._r, n.r2l)), + i + ); + } + }; + }), + ); + }), + (q.drawOne = function (t, e, r) { + var n, + i, + l, + u = (r = r || {}).axShifts || {}, + p = r.overlayingShiftedAx || []; + e.setScale(); + var d = t._fullLayout, + v = e._id, + g = v.charAt(0), + y = q.counterLetter(v), + m = d._plots[e._mainSubplot]; + if (m) { + if ( + ((e._shiftPusher = + e.autoshift || + -1 !== p.indexOf(e._id) || + -1 !== p.indexOf(e.overlaying)), + e._shiftPusher & ("free" === e.anchor)) + ) { + var x = e.linewidth / 2 || 0; + "inside" === e.ticks && (x += e.ticklen), + Ft(e, x, u, !0), + Ft(e, e.shift || 0, u, !1); + } + (!0 === r.skipTitle && void 0 !== e._shift) || + (e._shift = (function (t, e) { + return t.autoshift + ? e[t.overlaying][t.side] + : t.shift || 0; + })(e, u)); + var b = m[g + "axislayer"], + _ = e._mainLinePosition, + w = (_ += e._shift), + T = e._mainMirrorPosition, + k = (e._vals = q.calcTicks(e)), + A = [e.mirror, w, T].join("_"); + for (n = 0; n < k.length; n++) k[n].axInfo = A; + (e._selections = {}), + e._tickAngles && (e._prevTickAngles = e._tickAngles), + (e._tickAngles = {}), + (e._depth = null); + var M = {}; + if (e.visible) { + var S, + E, + L = q.makeTransTickFn(e), + C = q.makeTransTickLabelFn(e), + P = "inside" === e.ticks, + O = "outside" === e.ticks; + if ("boundaries" === e.tickson) { + var I = (function (t, e) { + var r, + n = [], + i = function (t, e) { + var r = t.xbnd[e]; + null !== r && + n.push(s.extendFlat({}, t, { x: r })); + }; + if (e.length) { + for (r = 0; r < e.length; r++) i(e[r], 0); + i(e[r - 1], 1); + } + return n; + })(0, k); + (E = q.clipEnds(e, I)), (S = P ? E : I); + } else + (E = q.clipEnds(e, k)), + (S = P && "period" !== e.ticklabelmode ? E : k); + var D, + z = (e._gridVals = E), + R = (function (t, e) { + var r, + n, + i = [], + a = e.length && e[e.length - 1].x < e[0].x, + o = function (t, e) { + var r = t.xbnd[e]; + null !== r && + i.push(s.extendFlat({}, t, { x: r })); + }; + if (t.showdividers && e.length) { + for (r = 0; r < e.length; r++) { + var l = e[r]; + l.text2 !== n && o(l, a ? 1 : 0), + (n = l.text2); + } + o(e[r - 1], a ? 0 : 1); + } + return i; + })(e, k); + if (!d._hasOnlyLargeSploms) { + var F = e._subplotsWith, + B = {}; + for (n = 0; n < F.length; n++) { + i = F[n]; + var N = (l = d._plots[i])[y + "axis"], + j = N._mainAxis._id; + if (!B[j]) { + B[j] = 1; + var U = + "x" === g + ? "M0," + N._offset + "v" + N._length + : "M" + N._offset + ",0h" + N._length; + q.drawGrid(t, e, { + vals: z, + counterAxis: N, + layer: l.gridlayer.select("." + v), + minorLayer: l.minorGridlayer.select("." + v), + path: U, + transFn: L, + }), + q.drawZeroLine(t, e, { + counterAxis: N, + layer: l.zerolinelayer, + path: U, + transFn: L, + }); + } + } + } + var G = q.getTickSigns(e), + Z = q.getTickSigns(e, "minor"); + if (e.ticks || (e.minor && e.minor.ticks)) { + var Y, + W, + X, + J, + K = q.makeTickPath(e, w, G[2]), + $ = q.makeTickPath(e, w, Z[2], { minor: !0 }); + if ( + (e._anchorAxis && e.mirror && !0 !== e.mirror + ? ((Y = q.makeTickPath(e, T, G[3])), + (W = q.makeTickPath(e, T, Z[3], { + minor: !0, + })), + (X = K + Y), + (J = $ + W)) + : ((Y = ""), (W = ""), (X = K), (J = $)), + e.showdividers && O && "boundaries" === e.tickson) + ) { + var Q = {}; + for (n = 0; n < R.length; n++) Q[R[n].x] = 1; + D = function (t) { + return Q[t.x] ? Y : X; + }; + } else + D = function (t) { + return t.minor ? J : X; + }; + } + if ( + (q.drawTicks(t, e, { + vals: S, + layer: b, + path: D, + transFn: L, + }), + "allticks" === e.mirror) + ) { + var tt = Object.keys(e._linepositions || {}); + for (n = 0; n < tt.length; n++) { + (i = tt[n]), (l = d._plots[i]); + var et = e._linepositions[i] || [], + rt = et[0], + nt = et[1], + it = et[2], + at = + q.makeTickPath(e, rt, it ? G[0] : Z[0], { + minor: it, + }) + + q.makeTickPath(e, nt, it ? G[1] : Z[1], { + minor: it, + }); + q.drawTicks(t, e, { + vals: S, + layer: l[g + "axislayer"], + path: at, + transFn: L, + }); + } + } + var ot = []; + if ( + (ot.push(function () { + return q.drawLabels(t, e, { + vals: k, + layer: b, + plotinfo: l, + transFn: C, + labelFns: q.makeLabelFns(e, w), + }); + }), + "multicategory" === e.type) + ) { + var st = { x: 2, y: 10 }[g]; + ot.push(function () { + var r = { x: "height", y: "width" }[g], + n = + ut()[r] + + st + + (e._tickAngles[v + "tick"] + ? e.tickfont.size * V + : 0); + return q.drawLabels(t, e, { + vals: _t(e, k), + layer: b, + cls: v + "tick2", + repositionOnUpdate: !0, + secondary: !0, + transFn: L, + labelFns: q.makeLabelFns(e, w + n * G[4]), + }); + }), + ot.push(function () { + return ( + (e._depth = G[4] * (ut("tick2")[e.side] - w)), + (function (t, e, r) { + var n = e._id + "divider", + i = r.vals, + a = r.layer + .selectAll("path." + n) + .data(i, Tt); + a.exit().remove(), + a + .enter() + .insert("path", ":first-child") + .classed(n, 1) + .classed("crisp", 1) + .call(f.stroke, e.dividercolor) + .style( + "stroke-width", + h.crispRound(t, e.dividerwidth, 1) + + "px", + ), + a + .attr("transform", r.transFn) + .attr("d", r.path); + })(t, e, { + vals: R, + layer: b, + path: q.makeTickPath(e, w, G[4], { + len: e._depth, + }), + transFn: L, + }) + ); + }); + } else + e.title.hasOwnProperty("standoff") && + ot.push(function () { + e._depth = G[4] * (ut()[e.side] - w); + }); + var lt = o.getComponentMethod( + "rangeslider", + "isVisible", + )(e); + return ( + r.skipTitle || + (lt && "bottom" === e.side) || + ot.push(function () { + return (function (t, e) { + var r, + n = t._fullLayout, + i = e._id, + a = i.charAt(0), + o = e.title.font.size; + if (e.title.hasOwnProperty("standoff")) + r = e._depth + e.title.standoff + kt(e); + else { + var s = zt(e); + if ("multicategory" === e.type) + r = e._depth; + else { + var l = 1.5 * o; + s && + ((l = 0.5 * o), + "outside" === e.ticks && + (l += e.ticklen)), + (r = + 10 + + l + + (e.linewidth ? e.linewidth - 1 : 0)); + } + s || + (r += + "x" === a + ? "top" === e.side + ? o * (e.showticklabels ? 1 : 0) + : o * (e.showticklabels ? 1.5 : 0.5) + : "right" === e.side + ? o * (e.showticklabels ? 1 : 0.5) + : o * (e.showticklabels ? 0.5 : 0)); + } + var u, + f, + p, + d, + v = q.getPxPosition(t, e); + if ( + ("x" === a + ? ((f = e._offset + e._length / 2), + (p = "top" === e.side ? v - r : v + r)) + : ((p = e._offset + e._length / 2), + (f = + "right" === e.side ? v + r : v - r), + (u = { rotate: "-90", offset: 0 })), + "multicategory" !== e.type) + ) { + var g = e._selections[e._id + "tick"]; + if ( + ((d = { selection: g, side: e.side }), + g && g.node() && g.node().parentNode) + ) { + var y = h.getTranslate( + g.node().parentNode, + ); + (d.offsetLeft = y.x), (d.offsetTop = y.y); + } + e.title.hasOwnProperty("standoff") && + (d.pad = 0); + } + return ( + (e._titleStandoff = r), + c.draw(t, i + "title", { + propContainer: e, + propName: e._name + ".title.text", + placeholder: n._dfltTitle[a], + avoid: d, + transform: u, + attributes: { + x: f, + y: p, + "text-anchor": "middle", + }, + }) + ); + })(t, e); + }), + ot.push(function () { + var r, + n, + i, + s, + l = e.side.charAt(0), + u = H[e.side].charAt(0), + c = q.getPxPosition(t, e), + f = O ? e.ticklen : 0; + (e.automargin || lt || e._shiftPusher) && + ("multicategory" === e.type + ? (r = ut("tick2")) + : ((r = ut()), + "x" === g && + "b" === l && + (e._depth = Math.max( + r.width > 0 ? r.bottom - c : 0, + f, + )))); + var h = 0, + p = 0; + if ( + (e._shiftPusher && + ((h = Math.max( + f, + r.height > 0 + ? "l" === l + ? c - r.left + : r.right - c + : 0, + )), + e.title.text !== d._dfltTitle[g] && + ((p = + (e._titleStandoff || 0) + + (e._titleScoot || 0)), + "l" === l && (p += kt(e))), + (e._fullDepth = Math.max(h, p))), + e.automargin) + ) { + n = { x: 0, y: 0, r: 0, l: 0, t: 0, b: 0 }; + var v = [0, 1], + m = + "number" == typeof e._shift ? e._shift : 0; + if ("x" === g) { + if ( + ("b" === l + ? (n[l] = e._depth) + : ((n[l] = e._depth = + Math.max( + r.width > 0 ? c - r.top : 0, + f, + )), + v.reverse()), + r.width > 0) + ) { + var x = r.right - (e._offset + e._length); + x > 0 && ((n.xr = 1), (n.r = x)); + var b = e._offset - r.left; + b > 0 && ((n.xl = 0), (n.l = b)); + } + } else if ( + ("l" === l + ? ((e._depth = Math.max( + r.height > 0 ? c - r.left : 0, + f, + )), + (n[l] = e._depth - m)) + : ((e._depth = Math.max( + r.height > 0 ? r.right - c : 0, + f, + )), + (n[l] = e._depth + m), + v.reverse()), + r.height > 0) + ) { + var _ = r.bottom - (e._offset + e._length); + _ > 0 && ((n.yb = 0), (n.b = _)); + var w = e._offset - r.top; + w > 0 && ((n.yt = 1), (n.t = w)); + } + (n[y] = + "free" === e.anchor + ? e.position + : e._anchorAxis.domain[v[0]]), + e.title.text !== d._dfltTitle[g] && + (n[l] += kt(e) + (e.title.standoff || 0)), + e.mirror && + "free" !== e.anchor && + (((i = { + x: 0, + y: 0, + r: 0, + l: 0, + t: 0, + b: 0, + })[u] = e.linewidth), + e.mirror && !0 !== e.mirror && (i[u] += f), + !0 === e.mirror || "ticks" === e.mirror + ? (i[y] = e._anchorAxis.domain[v[1]]) + : ("all" !== e.mirror && + "allticks" !== e.mirror) || + (i[y] = [ + e._counterDomainMin, + e._counterDomainMax, + ][v[1]])); + } + lt && + (s = o.getComponentMethod( + "rangeslider", + "autoMarginOpts", + )(t, e)), + "string" == typeof e.automargin && + (bt(n, e.automargin), bt(i, e.automargin)), + a.autoMargin(t, St(e), n), + a.autoMargin(t, Et(e), i), + a.autoMargin(t, Lt(e), s); + }), + s.syncOrAsync(ot) + ); + } + } + function ut(t) { + var r = v + (t || "tick"); + return ( + M[r] || + (M[r] = (function (t, e) { + var r, n, i, a; + return ( + t._selections[e].size() + ? ((r = 1 / 0), + (n = -1 / 0), + (i = 1 / 0), + (a = -1 / 0), + t._selections[e].each(function () { + var t = Mt(this), + e = h.bBox(t.node().parentNode); + (r = Math.min(r, e.top)), + (n = Math.max(n, e.bottom)), + (i = Math.min(i, e.left)), + (a = Math.max(a, e.right)); + })) + : ((r = 0), (n = 0), (i = 0), (a = 0)), + { + top: r, + bottom: n, + left: i, + right: a, + height: n - r, + width: a - i, + } + ); + })(e, r)), + M[r] + ); + } + }), + (q.getTickSigns = function (t, e) { + var r = t._id.charAt(0), + n = { x: "top", y: "right" }[r], + i = t.side === n ? 1 : -1, + a = [-1, 1, i, -i]; + return ( + ("inside" !== (e ? (t.minor || {}).ticks : t.ticks)) == + ("x" === r) && + (a = a.map(function (t) { + return -t; + })), + t.side && + a.push( + { l: -1, t: -1, r: 1, b: 1 }[t.side.charAt(0)], + ), + a + ); + }), + (q.makeTransTickFn = function (t) { + return "x" === t._id.charAt(0) + ? function (e) { + return l(t._offset + t.l2p(e.x), 0); + } + : function (e) { + return l(0, t._offset + t.l2p(e.x)); + }; + }), + (q.makeTransTickLabelFn = function (t) { + var e = (function (t) { + var e = t.ticklabelposition || "", + r = function (t) { + return -1 !== e.indexOf(t); + }, + n = r("top"), + i = r("left"), + a = r("right"), + o = r("bottom"), + s = r("inside"), + l = o || i || n || a; + if (!l && !s) return [0, 0]; + var u = t.side, + c = l ? (t.tickwidth || 0) / 2 : 0, + f = 3, + h = t.tickfont ? t.tickfont.size : 12; + return ( + (o || n) && + ((c += h * U), (f += (t.linewidth || 0) / 2)), + (i || a) && + ((c += (t.linewidth || 0) / 2), (f += 3)), + s && "top" === u && (f -= h * (1 - U)), + (i || n) && (c = -c), + ("bottom" !== u && "right" !== u) || (f = -f), + [l ? c : 0, s ? f : 0] + ); + })(t), + r = e[0], + n = e[1]; + return "x" === t._id.charAt(0) + ? function (e) { + return l(r + t._offset + t.l2p(wt(e)), n); + } + : function (e) { + return l(n, r + t._offset + t.l2p(wt(e))); + }; + }), + (q.makeTickPath = function (t, e, r, n) { + n || (n = {}); + var i = n.minor; + if (i && !t.minor) return ""; + var a = + void 0 !== n.len + ? n.len + : i + ? t.minor.ticklen + : t.ticklen, + o = t._id.charAt(0), + s = (t.linewidth || 1) / 2; + return "x" === o + ? "M0," + (e + s * r) + "v" + a * r + : "M" + (e + s * r) + ",0h" + a * r; + }), + (q.makeLabelFns = function (t, e, r) { + var n = t.ticklabelposition || "", + a = function (t) { + return -1 !== n.indexOf(t); + }, + o = a("top"), + l = a("left"), + u = a("right"), + c = a("bottom") || l || o || u, + f = a("inside"), + h = + ("inside" === n && "inside" === t.ticks) || + (!f && + "outside" === t.ticks && + "boundaries" !== t.tickson), + p = 0, + d = 0, + v = h ? t.ticklen : 0; + if ((f ? (v *= -1) : c && (v = 0), h && ((p += v), r))) { + var g = s.deg2rad(r); + (p = v * Math.cos(g) + 1), (d = v * Math.sin(g)); + } + t.showticklabels && + (h || t.showline) && + (p += 0.2 * t.tickfont.size); + var y, + m, + x, + b, + _, + w = { + labelStandoff: (p += + ((t.linewidth || 1) / 2) * (f ? -1 : 1)), + labelShift: d, + }, + T = 0, + k = t.side, + A = t._id.charAt(0), + M = t.tickangle; + if ("x" === A) + (b = (_ = (!f && "bottom" === k) || (f && "top" === k)) + ? 1 + : -1), + f && (b *= -1), + (y = d * b), + (m = e + p * b), + (x = _ ? 1 : -0.2), + 90 === Math.abs(M) && + (f + ? (x += j) + : (x = + -90 === M && "bottom" === k + ? U + : 90 === M && "top" === k + ? j + : 0.5), + (T = (j / 2) * (M / 90))), + (w.xFn = function (t) { + return t.dx + y + T * t.fontSize; + }), + (w.yFn = function (t) { + return t.dy + m + t.fontSize * x; + }), + (w.anchorFn = function (t, e) { + if (c) { + if (l) return "end"; + if (u) return "start"; + } + return i(e) && 0 !== e && 180 !== e + ? e * b < 0 !== f + ? "end" + : "start" + : "middle"; + }), + (w.heightFn = function (e, r, n) { + return r < -60 || r > 60 + ? -0.5 * n + : ("top" === t.side) !== f + ? -n + : 0; + }); + else if ("y" === A) { + if ( + ((b = (_ = + (!f && "left" === k) || (f && "right" === k)) + ? 1 + : -1), + f && (b *= -1), + (y = p), + (m = d * b), + (x = 0), + f || + 90 !== Math.abs(M) || + (x = + (-90 === M && "left" === k) || + (90 === M && "right" === k) + ? U + : 0.5), + f) + ) { + var S = i(M) ? +M : 0; + if (0 !== S) { + var E = s.deg2rad(S); + (T = Math.abs(Math.sin(E)) * U * b), (x = 0); + } + } + (w.xFn = function (t) { + return ( + t.dx + e - (y + t.fontSize * x) * b + T * t.fontSize + ); + }), + (w.yFn = function (t) { + return t.dy + m + t.fontSize * j; + }), + (w.anchorFn = function (t, e) { + return i(e) && 90 === Math.abs(e) + ? "middle" + : _ + ? "end" + : "start"; + }), + (w.heightFn = function (e, r, n) { + return ( + "right" === t.side && (r *= -1), + r < -30 ? -n : r < 30 ? -0.5 * n : 0 + ); + }); + } + return w; + }), + (q.drawTicks = function (t, e, r) { + r = r || {}; + var i = e._id + "tick", + a = [] + .concat( + e.minor && e.minor.ticks + ? r.vals.filter(function (t) { + return t.minor && !t.noTick; + }) + : [], + ) + .concat( + e.ticks + ? r.vals.filter(function (t) { + return !t.minor && !t.noTick; + }) + : [], + ), + o = r.layer.selectAll("path." + i).data(a, Tt); + o.exit().remove(), + o + .enter() + .append("path") + .classed(i, 1) + .classed("ticks", 1) + .classed("crisp", !1 !== r.crisp) + .each(function (t) { + return f.stroke( + n.select(this), + t.minor ? e.minor.tickcolor : e.tickcolor, + ); + }) + .style("stroke-width", function (r) { + return ( + h.crispRound( + t, + r.minor ? e.minor.tickwidth : e.tickwidth, + 1, + ) + "px" + ); + }) + .attr("d", r.path) + .style("display", null), + Rt(e, [R]), + o.attr("transform", r.transFn); + }), + (q.drawGrid = function (t, e, r) { + if (((r = r || {}), "sync" !== e.tickmode)) { + var i = e._id + "grid", + a = e.minor && e.minor.showgrid, + o = a + ? r.vals.filter(function (t) { + return t.minor; + }) + : [], + s = e.showgrid + ? r.vals.filter(function (t) { + return !t.minor; + }) + : [], + l = r.counterAxis; + if (l && q.shouldShowZeroLine(t, e, l)) + for ( + var u = "array" === e.tickmode, c = 0; + c < s.length; + c++ + ) { + var p = s[c].x; + if (u ? !p : Math.abs(p) < e.dtick / 100) { + if ( + ((s = s.slice(0, c).concat(s.slice(c + 1))), !u) + ) + break; + c--; + } + } + e._gw = h.crispRound(t, e.gridwidth, 1); + for ( + var d = a ? h.crispRound(t, e.minor.gridwidth, 1) : 0, + v = r.layer, + g = r.minorLayer, + y = 1; + y >= 0; + y-- + ) { + var m = y ? v : g; + if (m) { + var x = m + .selectAll("path." + i) + .data(y ? s : o, Tt); + x.exit().remove(), + x + .enter() + .append("path") + .classed(i, 1) + .classed("crisp", !1 !== r.crisp), + x + .attr("transform", r.transFn) + .attr("d", r.path) + .each(function (t) { + return f.stroke( + n.select(this), + t.minor + ? e.minor.gridcolor + : e.gridcolor || "#ddd", + ); + }) + .style("stroke-dasharray", function (t) { + return h.dashStyle( + t.minor ? e.minor.griddash : e.griddash, + t.minor ? e.minor.gridwidth : e.gridwidth, + ); + }) + .style("stroke-width", function (t) { + return (t.minor ? d : e._gw) + "px"; + }) + .style("display", null), + "function" == typeof r.path && + x.attr("d", r.path); + } + } + Rt(e, [D, z]); + } + }), + (q.drawZeroLine = function (t, e, r) { + r = r || r; + var n = e._id + "zl", + i = q.shouldShowZeroLine(t, e, r.counterAxis), + a = r.layer + .selectAll("path." + n) + .data(i ? [{ x: 0, id: e._id }] : []); + a.exit().remove(), + a + .enter() + .append("path") + .classed(n, 1) + .classed("zl", 1) + .classed("crisp", !1 !== r.crisp) + .each(function () { + r.layer.selectAll("path").sort(function (t, e) { + return Y(t.id, e.id); + }); + }), + a + .attr("transform", r.transFn) + .attr("d", r.path) + .call(f.stroke, e.zerolinecolor || f.defaultLine) + .style( + "stroke-width", + h.crispRound(t, e.zerolinewidth, e._gw || 1) + "px", + ) + .style("display", null), + Rt(e, [I]); + }), + (q.drawLabels = function (t, e, r) { + r = r || {}; + var a = t._fullLayout, + o = e._id, + c = o.charAt(0), + f = r.cls || o + "tick", + p = r.vals.filter(function (t) { + return t.text; + }), + d = r.labelFns, + v = r.secondary ? 0 : e.tickangle, + g = (e._prevTickAngles || {})[f], + y = r.layer + .selectAll("g." + f) + .data(e.showticklabels ? p : [], Tt), + m = []; + function x(t, a) { + t.each(function (t) { + var o = n.select(this), + s = o.select(".text-math-group"), + c = d.anchorFn(t, a), + f = + r.transFn.call(o.node(), t) + + (i(a) && 0 != +a + ? " rotate(" + + a + + "," + + d.xFn(t) + + "," + + (d.yFn(t) - t.fontSize / 2) + + ")" + : ""), + p = u.lineCount(o), + v = V * t.fontSize, + g = d.heightFn(t, i(a) ? +a : 0, (p - 1) * v); + if ((g && (f += l(0, g)), s.empty())) { + var y = o.select("text"); + y.attr({ transform: f, "text-anchor": c }), + y.style("opacity", 1), + e._adjustTickLabelsOverflow && + e._adjustTickLabelsOverflow(); + } else { + var m = + h.bBox(s.node()).width * + { end: -0.5, start: 0.5 }[c]; + s.attr("transform", f + l(m, 0)); + } + }); + } + y + .enter() + .append("g") + .classed(f, 1) + .append("text") + .attr("text-anchor", "middle") + .each(function (e) { + var r = n.select(this), + i = t._promises.length; + r + .call(u.positionText, d.xFn(e), d.yFn(e)) + .call(h.font, e.font, e.fontSize, e.fontColor) + .text(e.text) + .call(u.convertToTspans, t), + t._promises[i] + ? m.push( + t._promises.pop().then(function () { + x(r, v); + }), + ) + : x(r, v); + }), + Rt(e, [F]), + y.exit().remove(), + r.repositionOnUpdate && + y.each(function (t) { + n.select(this) + .select("text") + .call(u.positionText, d.xFn(t), d.yFn(t)); + }), + (e._adjustTickLabelsOverflow = function () { + var r = e.ticklabeloverflow; + if (r && "allow" !== r) { + var i = -1 !== r.indexOf("hide"), + o = "x" === e._id.charAt(0), + l = 0, + u = o + ? t._fullLayout.width + : t._fullLayout.height; + if (-1 !== r.indexOf("domain")) { + var c = s.simpleMap(e.range, e.r2l); + (l = e.l2p(c[0]) + e._offset), + (u = e.l2p(c[1]) + e._offset); + } + var f = Math.min(l, u), + p = Math.max(l, u), + d = e.side, + v = 1 / 0, + g = -1 / 0; + for (var m in (y.each(function (t) { + var r = n.select(this); + if (r.select(".text-math-group").empty()) { + var a = h.bBox(r.node()), + s = 0; + o + ? (a.right > p || a.left < f) && (s = 1) + : (a.bottom > p || + a.top + + (e.tickangle ? 0 : t.fontSize / 4) < + f) && + (s = 1); + var l = r.select("text"); + s + ? i && l.style("opacity", 0) + : (l.style("opacity", 1), + (v = + "bottom" === d || "right" === d + ? Math.min(v, o ? a.top : a.left) + : -1 / 0), + (g = + "top" === d || "left" === d + ? Math.max(g, o ? a.bottom : a.right) + : 1 / 0)); + } + }), + a._plots)) { + var x = a._plots[m]; + if ( + e._id === x.xaxis._id || + e._id === x.yaxis._id + ) { + var b = o ? x.yaxis : x.xaxis; + b && + ((b["_visibleLabelMin_" + e._id] = v), + (b["_visibleLabelMax_" + e._id] = g)); + } + } + } + }), + (e._hideCounterAxisInsideTickLabels = function (t) { + var r = "x" === e._id.charAt(0), + i = []; + for (var o in a._plots) { + var s = a._plots[o]; + (e._id !== s.xaxis._id && e._id !== s.yaxis._id) || + i.push(r ? s.yaxis : s.xaxis); + } + i.forEach(function (r, i) { + r && + zt(r) && + (t || [I, z, D, R, F]).forEach(function (t) { + var o = + "tick" === t.K && + "text" === t.L && + "period" === e.ticklabelmode, + s = a._plots[e._mainSubplot]; + (t.K === I.K + ? s.zerolinelayer.selectAll( + "." + e._id + "zl", + ) + : t.K === z.K + ? s.minorGridlayer.selectAll("." + e._id) + : t.K === D.K + ? s.gridlayer.selectAll("." + e._id) + : s[e._id.charAt(0) + "axislayer"] + ).each(function () { + var a = n.select(this); + t.L && (a = a.selectAll(t.L)), + a.each(function (a) { + var s = + e.l2p(o ? wt(a) : a.x) + e._offset, + l = n.select(this); + s < e["_visibleLabelMax_" + r._id] && + s > e["_visibleLabelMin_" + r._id] + ? l.style("display", "none") + : "tick" !== t.K || + i || + l.style("display", null); + }); + }); + }); + }); + }), + x(y, g + 1 ? g : v); + var b = null; + e._selections && (e._selections[f] = y); + var _ = [ + function () { + return m.length && Promise.all(m); + }, + ]; + e.automargin && a._redrawFromAutoMarginCount && 90 === g + ? ((b = 90), + _.push(function () { + x(y, g); + })) + : _.push(function () { + if ( + (x(y, v), + p.length && + "x" === c && + !i(v) && + ("log" !== e.type || + "D" !== String(e.dtick).charAt(0))) + ) { + b = 0; + var t, + n = 0, + a = []; + if ( + (y.each(function (t) { + n = Math.max(n, t.fontSize); + var r = e.l2p(t.x), + i = Mt(this), + o = h.bBox(i.node()); + a.push({ + top: 0, + bottom: 10, + height: 10, + left: r - o.width / 2, + right: r + o.width / 2 + 2, + width: o.width + 2, + }); + }), + ("boundaries" !== e.tickson && + !e.showdividers) || + r.secondary) + ) { + var o = p.length, + l = + Math.abs((p[o - 1].x - p[0].x) * e._m) / + (o - 1), + u = e.ticklabelposition || "", + f = function (t) { + return -1 !== u.indexOf(t); + }, + d = f("top"), + g = f("left"), + m = f("right"), + _ = + f("bottom") || g || d || m + ? (e.tickwidth || 0) + 6 + : 0, + w = + l < 2.5 * n || + "multicategory" === e.type || + "realaxis" === e._name; + for (t = 0; t < a.length - 1; t++) + if (s.bBoxIntersect(a[t], a[t + 1], _)) { + b = w ? 90 : 30; + break; + } + } else { + var T = 2; + for ( + e.ticks && (T += e.tickwidth / 2), t = 0; + t < a.length; + t++ + ) { + var k = p[t].xbnd, + A = a[t]; + if ( + (null !== k[0] && + A.left - e.l2p(k[0]) < T) || + (null !== k[1] && e.l2p(k[1]) - A.right < T) + ) { + b = 90; + break; + } + } + } + b && x(y, b); + } + }), + e._tickAngles && + _.push(function () { + e._tickAngles[f] = null === b ? (i(v) ? v : 0) : b; + }); + var w = e._anchorAxis; + w && + w.autorange && + zt(e) && + !W(a, e._id) && + (a._insideTickLabelsAutorange || + (a._insideTickLabelsAutorange = {}), + (a._insideTickLabelsAutorange[w._name + ".autorange"] = + w.autorange), + _.push(function () { + y.each(function (t, r) { + var n = Mt(this); + n.select(".text-math-group").empty() && + (e._vals[r].bb = h.bBox(n.node())); + }); + })); + var T = s.syncOrAsync(_); + return T && T.then && t._promises.push(T), T; + }), + (q.getPxPosition = function (t, e) { + var r, + n = t._fullLayout._size, + i = e._id.charAt(0), + a = e.side; + return ( + "free" !== e.anchor + ? (r = e._anchorAxis) + : "x" === i + ? (r = { + _offset: n.t + (1 - (e.position || 0)) * n.h, + _length: 0, + }) + : "y" === i && + (r = { + _offset: n.l + (e.position || 0) * n.w + e._shift, + _length: 0, + }), + "top" === a || "left" === a + ? r._offset + : "bottom" === a || "right" === a + ? r._offset + r._length + : void 0 + ); + }), + (q.shouldShowZeroLine = function (t, e, r) { + var n = s.simpleMap(e.range, e.r2l); + return ( + n[0] * n[1] <= 0 && + e.zeroline && + ("linear" === e.type || "-" === e.type) && + !(e.rangebreaks && e.maskBreaks(0) === O) && + (At(e, 0) || + !(function (t, e, r, n) { + var i = r._mainAxis; + if (i) { + var a = t._fullLayout, + o = e._id.charAt(0), + s = q.counterLetter(e._id), + l = + e._offset + + (Math.abs(n[0]) < Math.abs(n[1]) == + ("x" === o) + ? 0 + : e._length), + u = a._plots[r._mainSubplot]; + if (!(u.mainplotinfo || u).overlays.length) + return p(r); + for ( + var c = q.list(t, s), f = 0; + f < c.length; + f++ + ) { + var h = c[f]; + if (h._mainAxis === i && p(h)) return !0; + } + } + function p(t) { + if (!t.showline || !t.linewidth) return !1; + var r = Math.max( + (t.linewidth + e.zerolinewidth) / 2, + 1, + ); + function n(t) { + return ( + "number" == typeof t && Math.abs(t - l) < r + ); + } + if ( + n(t._mainLinePosition) || + n(t._mainMirrorPosition) + ) + return !0; + var i = t._linepositions || {}; + for (var a in i) + if (n(i[a][0]) || n(i[a][1])) return !0; + } + })(t, e, r, n) || + (function (t, e) { + for ( + var r = t._fullData, + n = e._mainSubplot, + i = e._id.charAt(0), + a = 0; + a < r.length; + a++ + ) { + var s = r[a]; + if (!0 === s.visible && s.xaxis + s.yaxis === n) { + if ( + o.traceIs(s, "bar-like") && + s.orientation === { x: "h", y: "v" }[i] + ) + return !0; + if ( + s.fill && + s.fill.charAt(s.fill.length - 1) === i + ) + return !0; + } + } + return !1; + })(t, e)) + ); + }), + (q.clipEnds = function (t, e) { + return e.filter(function (e) { + return At(t, e.x); + }); + }), + (q.allowAutoMargin = function (t) { + for ( + var e = q.list(t, "", !0), r = 0; + r < e.length; + r++ + ) { + var n = e[r]; + n.automargin && + (a.allowAutoMargin(t, St(n)), + n.mirror && a.allowAutoMargin(t, Et(n))), + o.getComponentMethod("rangeslider", "isVisible")(n) && + a.allowAutoMargin(t, Lt(n)); + } + }), + (q.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]]), Ct(u.x, l.x), Ct(u.y, l.y); + Ct(u.x, [o]), Ct(u.y, [s]); + } else i.push({ x: [o], y: [s] }); + } + } + return i; + })(t, e), + n = 0; + n < r.length; + n++ + ) + Pt(t, r[n].x, r[n].y); + }); + }, + 4322: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(50606).BADNUM, + o = i.isArrayOrTypedArray, + s = i.isDateTime, + l = i.cleanNumber, + u = Math.round; + function c(t, e) { + return e ? n(t) : "number" == typeof t; + } + function f(t) { + return Math.max(1, (t - 1) / 1e3); + } + t.exports = function (t, e, r) { + var i = t, + h = r.noMultiCategory; + if (o(i) && !i.length) return "-"; + if ( + !h && + (function (t) { + return o(t[0]) && o(t[1]); + })(i) + ) + return "multicategory"; + if (h && Array.isArray(i[0])) { + for (var p = [], d = 0; d < i.length; d++) + if (o(i[d])) + for (var v = 0; v < i[d].length; v++) p.push(i[d][v]); + i = p; + } + if ( + (function (t, e) { + for ( + var r = t.length, + i = f(r), + a = 0, + o = 0, + l = {}, + c = 0; + c < r; + c += i + ) { + var h = t[u(c)], + p = String(h); + l[p] || ((l[p] = 1), s(h, e) && a++, n(h) && o++); + } + return a > 2 * o; + })(i, e) + ) + return "date"; + var g = "strict" !== r.autotypenumbers; + return (function (t, e) { + for ( + var r = t.length, n = f(r), i = 0, o = 0, s = {}, c = 0; + c < r; + c += n + ) { + var h = t[u(c)], + p = String(h); + if (!s[p]) { + s[p] = 1; + var d = typeof h; + "boolean" === d + ? o++ + : (e ? l(h) !== a : "number" === d) + ? i++ + : "string" === d && o++; + } + } + return o > 2 * i; + })(i, g) + ? "category" + : (function (t, e) { + for (var r = t.length, n = 0; n < r; n++) + if (c(t[n], e)) return !0; + return !1; + })(i, g) + ? "linear" + : "-"; + }; + }, + 71453: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(73972), + a = r(71828), + o = r(44467), + s = r(85501), + l = r(13838), + u = r(26218), + c = r(38701), + f = r(96115), + h = r(89426), + p = r(15258), + d = r(92128), + v = r(23074), + g = r(21994), + y = r(85555).WEEKDAY_PATTERN, + m = r(85555).HOUR_PATTERN; + function x(t, e, r) { + function i(r, n) { + return a.coerce(t, e, l.rangebreaks, r, n); + } + if (i("enabled")) { + var o = i("bounds"); + if (o && o.length >= 2) { + var s, + u, + c = ""; + if (2 === o.length) + for (s = 0; s < 2; s++) + if ((u = _(o[s]))) { + c = y; + break; + } + var f = i("pattern", c); + if (f === y) + for (s = 0; s < 2; s++) + (u = _(o[s])) && (e.bounds[s] = o[s] = u - 1); + if (f) + for (s = 0; s < 2; s++) + switch (((u = o[s]), f)) { + case y: + if (!n(u)) return void (e.enabled = !1); + if ( + (u = +u) !== Math.floor(u) || + u < 0 || + u >= 7 + ) + return void (e.enabled = !1); + e.bounds[s] = o[s] = u; + break; + case m: + if (!n(u)) return void (e.enabled = !1); + if ((u = +u) < 0 || u > 24) + return void (e.enabled = !1); + e.bounds[s] = o[s] = u; + } + if (!1 === r.autorange) { + var h = r.range; + if (h[0] < h[1]) { + if (o[0] < h[0] && o[1] > h[1]) + return void (e.enabled = !1); + } else if (o[0] > h[0] && o[1] < h[1]) + return void (e.enabled = !1); + } + } else { + var p = i("values"); + if (!p || !p.length) return void (e.enabled = !1); + i("dvalue"); + } + } + } + t.exports = function (t, e, r, n, m) { + var b, + _ = n.letter, + w = n.font || {}, + T = n.splomStash || {}, + k = r("visible", !n.visibleDflt), + A = e._template || {}, + M = e.type || A.type || "-"; + "date" === M && + (i.getComponentMethod("calendars", "handleDefaults")( + t, + e, + "calendar", + n.calendar, + ), + n.noTicklabelmode || (b = r("ticklabelmode"))); + var S = ""; + (n.noTicklabelposition && "multicategory" !== M) || + (S = a.coerce( + t, + e, + { + ticklabelposition: { + valType: "enumerated", + dflt: "outside", + values: + "period" === b + ? ["outside", "inside"] + : "x" === _ + ? [ + "outside", + "inside", + "outside left", + "inside left", + "outside right", + "inside right", + ] + : [ + "outside", + "inside", + "outside top", + "inside top", + "outside bottom", + "inside bottom", + ], + }, + }, + "ticklabelposition", + )), + n.noTicklabeloverflow || + r( + "ticklabeloverflow", + -1 !== S.indexOf("inside") + ? "hide past domain" + : "category" === M || "multicategory" === M + ? "allow" + : "hide past div", + ), + g(e, m), + r("minallowed"), + r("maxallowed"); + var E, + L = r("range"), + C = e.getAutorangeDflt(L, n), + P = r("autorange", C); + !L || + ((null !== L[0] || null !== L[1]) && + ((null !== L[0] && null !== L[1]) || + ("reversed" !== P && !0 !== P)) && + (null === L[0] || + ("min" !== P && "max reversed" !== P)) && + (null === L[1] || + ("max" !== P && "min reversed" !== P))) || + ((L = void 0), + delete e.range, + (e.autorange = !0), + (E = !0)), + E || (P = r("autorange", (C = e.getAutorangeDflt(L, n)))), + P && + (v(r, P, L), + ("linear" !== M && "-" !== M) || r("rangemode")), + e.cleanRange(), + p(t, e, r, n), + "category" === M || n.noHover || r("hoverformat"); + var O = r("color"), + I = O !== l.color.dflt ? O : w.color, + D = T.label || m._dfltTitle[_]; + if ((h(t, e, r, M, n), !k)) return e; + r("title.text", D), + a.coerceFont(r, "title.font", { + family: w.family, + size: a.bigFont(w.size), + color: I, + }), + u(t, e, r, M); + var z = n.hasMinor; + if ( + (z && + (o.newContainer(e, "minor"), + u(t, e, r, M, { isMinor: !0 })), + f(t, e, r, M, n), + c(t, e, r, n), + z) + ) { + var R = n.isMinor; + (n.isMinor = !0), c(t, e, r, n), (n.isMinor = R); + } + d(t, e, r, { + dfltColor: O, + bgColor: n.bgColor, + showGrid: n.showGrid, + hasMinor: z, + attributes: l, + }), + !z || e.minor.ticks || e.minor.showgrid || delete e.minor, + (e.showline || e.ticks) && r("mirror"); + var F, + B = "multicategory" === M; + if ( + (n.noTickson || + ("category" !== M && !B) || + (!e.ticks && !e.showgrid) || + (B && (F = "boundaries"), + "boundaries" === r("tickson", F) && + delete e.ticklabelposition), + B && + r("showdividers") && + (r("dividercolor"), r("dividerwidth")), + "date" === M) + ) + if ( + (s(t, e, { + name: "rangebreaks", + inclusionAttr: "enabled", + handleItemDefaults: x, + }), + e.rangebreaks.length) + ) { + for (var N = 0; N < e.rangebreaks.length; N++) + if (e.rangebreaks[N].pattern === y) { + e._hasDayOfWeekBreaks = !0; + break; + } + if ((g(e, m), m._has("scattergl") || m._has("splom"))) + for (var j = 0; j < n.data.length; j++) { + var U = n.data[j]; + ("scattergl" !== U.type && "splom" !== U.type) || + ((U.visible = !1), + a.warn( + U.type + + " traces do not work on axes with rangebreaks. Setting trace " + + U.index + + " to `visible: false`.", + )); + } + } else delete e.rangebreaks; + return e; + }; + var b = { + sun: 1, + mon: 2, + tue: 3, + wed: 4, + thu: 5, + fri: 6, + sat: 7, + }; + function _(t) { + if ("string" == typeof t) + return b[t.substr(0, 3).toLowerCase()]; + } + }, + 12663: function (t, e, r) { + "use strict"; + var n = r(31562), + i = n.FORMAT_LINK, + a = n.DATE_FORMAT_LINK; + function o(t, e) { + return [ + "Sets the " + + t + + " formatting rule" + + (e ? "for `" + e + "` " : ""), + "using d3 formatting mini-languages", + "which are very similar to those in Python. For numbers, see: " + + i + + ".", + ].join(" "); + } + function s(t, e) { + return ( + o(t, e) + + [ + " And for dates see: " + a + ".", + "We add two items to d3's date formatter:", + "*%h* for half of the year as a decimal number as well as", + "*%{n}f* for fractional seconds", + "with n digits. For example, *2016-10-13 09:15:23.456* with tickformat", + "*%H~%M~%S.%2f* would display *09~15~23.46*", + ].join(" ") + ); + } + t.exports = { + axisHoverFormat: function (t, e) { + return { + valType: "string", + dflt: "", + editType: "none", + description: + (e ? o : s)("hover text", t) + + [ + "By default the values are formatted using " + + (e + ? "generic number format" + : "`" + t + "axis.hoverformat`") + + ".", + ].join(" "), + }; + }, + descriptionOnlyNumbers: o, + descriptionWithDates: s, + }; + }, + 41675: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(85555); + function a(t, e) { + if (e && e.length) + for (var r = 0; r < e.length; r++) if (e[r][t]) return !0; + return !1; + } + (e.id2name = function (t) { + if ("string" == typeof t && t.match(i.AX_ID_PATTERN)) { + var e = t.split(" ")[0].substr(1); + return "1" === e && (e = ""), t.charAt(0) + "axis" + e; + } + }), + (e.name2id = function (t) { + if (t.match(i.AX_NAME_PATTERN)) { + var e = t.substr(5); + return "1" === e && (e = ""), t.charAt(0) + e; + } + }), + (e.cleanId = function (t, e, r) { + var n = /( domain)$/.test(t); + if ( + "string" == typeof t && + t.match(i.AX_ID_PATTERN) && + (!e || t.charAt(0) === e) && + (!n || r) + ) { + var a = t.split(" ")[0].substr(1).replace(/^0+/, ""); + return ( + "1" === a && (a = ""), + t.charAt(0) + a + (n && r ? " domain" : "") + ); + } + }), + (e.list = function (t, r, n) { + var i = t._fullLayout; + if (!i) return []; + var a, + o = e.listIds(t, r), + s = new Array(o.length); + for (a = 0; a < o.length; a++) { + var l = o[a]; + s[a] = i[l.charAt(0) + "axis" + l.substr(1)]; + } + if (!n) { + var u = i._subplots.gl3d || []; + for (a = 0; a < u.length; a++) { + var c = i[u[a]]; + r + ? s.push(c[r + "axis"]) + : s.push(c.xaxis, c.yaxis, c.zaxis); + } + } + return s; + }), + (e.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); + }), + (e.getFromId = function (t, r, n) { + var i = t._fullLayout; + return ( + (r = + void 0 === r || "string" != typeof r + ? r + : r.replace(" domain", "")), + "x" === n + ? (r = r.replace(/y[0-9]*/, "")) + : "y" === n && (r = r.replace(/x[0-9]*/, "")), + i[e.id2name(r)] + ); + }), + (e.getFromTrace = function (t, r, i) { + var a = t._fullLayout, + o = null; + if (n.traceIs(r, "gl3d")) { + var s = r.scene; + "scene" === s.substr(0, 5) && (o = a[s][i + "axis"]); + } else o = e.getFromId(t, r[i + "axis"] || i); + return o; + }), + (e.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); + }), + (e.ref2id = function (t) { + return !!/^[xyz]/.test(t) && t.split(" ")[0]; + }), + (e.isLinked = function (t, e) { + return ( + a(e, t._axisMatchGroups) || + a(e, t._axisConstraintGroups) + ); + }); + }, + 15258: function (t) { + "use strict"; + t.exports = function (t, e, r, n) { + if ("category" === e.type) { + var i, + a = t.categoryarray, + o = Array.isArray(a) && a.length > 0; + o && (i = "array"); + var s, + l = r("categoryorder", i); + "array" === l && (s = r("categoryarray")), + o || "array" !== l || (l = e.categoryorder = "trace"), + "trace" === l + ? (e._initialCategories = []) + : "array" === l + ? (e._initialCategories = s.slice()) + : ((s = (function (t, e) { + var r, + n, + i, + a = e.dataAttr || t._id.charAt(0), + o = {}; + if (e.axData) r = e.axData; + else + for (r = [], n = 0; n < e.data.length; n++) { + var s = e.data[n]; + s[a + "axis"] === t._id && r.push(s); + } + for (n = 0; n < r.length; n++) { + var l = r[n][a]; + for (i = 0; i < l.length; i++) { + var u = l[i]; + null != u && (o[u] = 1); + } + } + return Object.keys(o); + })(e, n).sort()), + "category ascending" === l + ? (e._initialCategories = s) + : "category descending" === l && + (e._initialCategories = s.reverse())); + } + }; + }, + 66287: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(50606), + o = a.ONEDAY, + s = a.ONEWEEK; + (e.dtick = function (t, e) { + var r = "log" === e, + i = "date" === e, + a = "category" === e, + s = i ? o : 1; + if (!t) return s; + if (n(t)) + return (t = Number(t)) <= 0 + ? s + : a + ? Math.max(1, Math.round(t)) + : i + ? Math.max(0.1, t) + : t; + if ("string" != typeof t || (!i && !r)) return s; + var l = t.charAt(0), + u = t.substr(1); + return (u = n(u) ? Number(u) : 0) <= 0 || + !( + (i && "M" === l && u === Math.round(u)) || + (r && "L" === l) || + (r && "D" === l && (1 === u || 2 === u)) + ) + ? s + : t; + }), + (e.tick0 = function (t, e, r, a) { + return "date" === e + ? i.cleanDate(t, i.dateTick0(r, a % s == 0 ? 1 : 0)) + : "D1" !== a && "D2" !== a + ? n(t) + ? Number(t) + : 0 + : void 0; + }); + }, + 85555: function (t, e, r) { + "use strict"; + var n = r(30587).counter; + t.exports = { + idRegex: { + x: n("x", "( domain)?"), + y: n("y", "( domain)?"), + }, + attrRegex: n("[xy]axis"), + xAxisMatch: n("xaxis"), + yAxisMatch: n("yaxis"), + AX_ID_PATTERN: /^[xyz][0-9]*( domain)?$/, + AX_NAME_PATTERN: /^[xyz]axis[0-9]*$/, + SUBPLOT_PATTERN: /^x([0-9]*)y([0-9]*)$/, + HOUR_PATTERN: "hour", + WEEKDAY_PATTERN: "day of week", + MINDRAG: 8, + MINZOOM: 20, + DRAGGERSIZE: 20, + REDRAWDELAY: 50, + DFLTRANGEX: [-1, 6], + DFLTRANGEY: [-1, 4], + traceLayerClasses: [ + "imagelayer", + "heatmaplayer", + "contourcarpetlayer", + "contourlayer", + "funnellayer", + "waterfalllayer", + "barlayer", + "carpetlayer", + "violinlayer", + "boxlayer", + "ohlclayer", + "scattercarpetlayer", + "scatterlayer", + ], + clipOnAxisFalseQuery: [ + ".scatterlayer", + ".barlayer", + ".funnellayer", + ".waterfalllayer", + ], + layerValue2layerClass: { + "above traces": "above", + "below traces": "below", + }, + }; + }, + 99082: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(71739), + a = r(41675).id2name, + o = r(13838), + s = r(42449), + l = r(21994), + u = r(50606).ALMOST_EQUAL, + c = r(18783).FROM_BL; + function f(t, e, r) { + var i = r.axIds, + s = r.layoutOut, + l = r.hasImage, + u = s._axisConstraintGroups, + c = s._axisMatchGroups, + f = e._id, + v = f.charAt(0), + g = ((s._splomAxes || {})[v] || {})[f] || {}, + y = e._id, + m = "x" === y.charAt(0); + function x(r, i) { + return n.coerce(t, e, o, r, i); + } + (e._matchGroup = null), + (e._constraintGroup = null), + x("constrain", l ? "domain" : "range"), + n.coerce( + t, + e, + { + constraintoward: { + valType: "enumerated", + values: m + ? ["left", "center", "right"] + : ["bottom", "middle", "top"], + dflt: m ? "center" : "middle", + }, + }, + "constraintoward", + ); + var b, + _, + w = e.type, + T = []; + for (b = 0; b < i.length; b++) + (_ = i[b]) !== y && s[a(_)].type === w && T.push(_); + var k = p(u, y); + if (k) { + var A = []; + for (b = 0; b < T.length; b++) k[(_ = T[b])] || A.push(_); + T = A; + } + var M, + S, + E = T.length; + E && + (t.matches || g.matches) && + (M = n.coerce( + t, + e, + { + matches: { + valType: "enumerated", + values: T, + dflt: + -1 !== T.indexOf(g.matches) ? g.matches : void 0, + }, + }, + "matches", + )); + var L = l && !m ? e.anchor : void 0; + if ( + (E && + !M && + (t.scaleanchor || L) && + (S = n.coerce( + t, + e, + { + scaleanchor: { + valType: "enumerated", + values: T.concat([!1]), + }, + }, + "scaleanchor", + L, + )), + M) + ) { + e._matchGroup = d(c, y, M, 1); + var C = s[a(M)], + P = h(s, e) / h(s, C); + m !== ("x" === M.charAt(0)) && (P = (m ? "x" : "y") + P), + d(u, y, M, P); + } else + t.matches && + -1 !== i.indexOf(t.matches) && + n.warn( + "ignored " + + e._name + + '.matches: "' + + t.matches + + '" to avoid an infinite loop', + ); + if (S) { + var O = x("scaleratio"); + O || (O = e.scaleratio = 1), d(u, y, S, O); + } else + t.scaleanchor && + -1 !== i.indexOf(t.scaleanchor) && + n.warn( + "ignored " + + e._name + + '.scaleanchor: "' + + t.scaleanchor + + '" to avoid either an infinite loop and possibly inconsistent scaleratios, or because this axis declares a *matches* constraint.', + ); + } + function h(t, e) { + var r = e.domain; + return r || (r = t[a(e.overlaying)].domain), r[1] - r[0]; + } + function p(t, e) { + for (var r = 0; r < t.length; r++) if (t[r][e]) return t[r]; + return null; + } + function d(t, e, r, n) { + var i, + a, + o, + s, + l, + u = p(t, e); + null === u + ? (((u = {})[e] = 1), (l = t.length), t.push(u)) + : (l = t.indexOf(u)); + var c = Object.keys(u); + for (i = 0; i < t.length; i++) + if (((o = t[i]), i !== l && o[r])) { + var f = o[r]; + for (a = 0; a < c.length; a++) + o[(s = c[a])] = v(f, v(n, u[s])); + return void t.splice(l, 1); + } + if (1 !== n) + for (a = 0; a < c.length; a++) { + var h = c[a]; + u[h] = v(n, u[h]); + } + u[r] = 1; + } + function v(t, e) { + var r, + n, + i = "", + a = ""; + "string" == typeof t && + ((r = (i = t.match(/^[xy]*/)[0]).length), + (t = +t.substr(r))), + "string" == typeof e && + ((n = (a = e.match(/^[xy]*/)[0]).length), + (e = +e.substr(n))); + var o = t * e; + return r || n + ? r && n && i.charAt(0) !== a.charAt(0) + ? r === n + ? o + : (r > n ? i.substr(n) : a.substr(r)) + o + : i + a + t * e + : o; + } + function g(t, e) { + for ( + var r = e._size, + n = r.h / r.w, + i = {}, + a = Object.keys(t), + o = 0; + o < a.length; + o++ + ) { + var s = a[o], + l = t[s]; + if ("string" == typeof l) { + var u = l.match(/^[xy]*/)[0], + c = u.length; + l = +l.substr(c); + for ( + var f = "y" === u.charAt(0) ? n : 1 / n, h = 0; + h < c; + h++ + ) + l *= f; + } + i[s] = l; + } + return i; + } + function y(t, e) { + var r = t._inputDomain, + n = c[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]), + t.setScale(); + } + (e.handleDefaults = function (t, e, r) { + var i, + o, + s, + u, + c, + h, + p, + d, + v = r.axIds, + g = r.axHasImage, + y = (e._axisConstraintGroups = []), + m = (e._axisMatchGroups = []); + for (i = 0; i < v.length; i++) + f((c = t[(u = a(v[i]))]), (h = e[u]), { + axIds: v, + layoutOut: e, + hasImage: g[u], + }); + function x(t, r) { + for (i = 0; i < t.length; i++) + for (s in (o = t[i])) e[a(s)][r] = o; + } + for (x(m, "_matchGroup"), i = 0; i < y.length; i++) + for (s in (o = y[i])) + if ((h = e[a(s)]).fixedrange) { + for (var b in o) { + var _ = a(b); + !1 === (t[_] || {}).fixedrange && + n.warn( + "fixedrange was specified as false for axis " + + _ + + " but was overridden because another axis in its constraint group has fixedrange true", + ), + (e[_].fixedrange = !0); + } + break; + } + for (i = 0; i < y.length; ) { + for (s in (o = y[i])) { + (h = e[a(s)])._matchGroup && + Object.keys(h._matchGroup).length === + Object.keys(o).length && + (y.splice(i, 1), i--); + break; + } + i++; + } + x(y, "_constraintGroup"); + var w = [ + "constrain", + "range", + "autorange", + "rangemode", + "rangebreaks", + "categoryorder", + "categoryarray", + ], + T = !1, + k = !1; + function A() { + (d = h[p]), + "rangebreaks" === p && (k = h._hasDayOfWeekBreaks); + } + for (i = 0; i < m.length; i++) { + o = m[i]; + for (var M = 0; M < w.length; M++) { + var S; + for (s in ((p = w[M]), (d = null), o)) + if (((c = t[(u = a(s))]), (h = e[u]), p in h)) { + if (!h.matches && ((S = h), p in c)) { + A(); + break; + } + null === d && p in c && A(); + } + if ( + ("range" === p && + d && + c.range && + 2 === c.range.length && + null !== c.range[0] && + null !== c.range[1] && + (T = !0), + "autorange" === p && null === d && T && (d = !1), + null === d && p in S && (d = S[p]), + null !== d) + ) + for (s in o) + ((h = e[a(s)])[p] = "range" === p ? d.slice() : d), + "rangebreaks" === p && + ((h._hasDayOfWeekBreaks = k), l(h, e)); + } + } + }), + (e.enforce = function (t) { + var e, + r, + n, + o, + l, + c, + f, + h, + p = t._fullLayout, + d = p._axisConstraintGroups || []; + for (e = 0; e < d.length; e++) { + n = g(d[e], p); + var v = Object.keys(n), + m = 1 / 0, + x = 0, + b = 1 / 0, + _ = {}, + w = {}, + T = !1; + for (r = 0; r < v.length; r++) + (w[(o = v[r])] = l = p[a(o)]), + l._inputDomain + ? (l.domain = l._inputDomain.slice()) + : (l._inputDomain = l.domain.slice()), + l._inputRange || (l._inputRange = l.range.slice()), + l.setScale(), + (_[o] = c = Math.abs(l._m) / n[o]), + (m = Math.min(m, c)), + ("domain" !== l.constrain && + l._constraintShrinkable) || + (b = Math.min(b, c)), + delete l._constraintShrinkable, + (x = Math.max(x, c)), + "domain" === l.constrain && (T = !0); + if (!(m > u * x) || T) + for (r = 0; r < v.length; r++) + if ( + ((c = _[(o = v[r])]), + (f = (l = w[o]).constrain), + c !== b || "domain" === f) + ) + if (((h = c / b), "range" === f)) s(l, h); + else { + var k = l._inputDomain, + A = + (l.domain[1] - l.domain[0]) / (k[1] - k[0]), + M = + (l.r2l(l.range[1]) - l.r2l(l.range[0])) / + (l.r2l(l._inputRange[1]) - + l.r2l(l._inputRange[0])); + if ((h /= A) * M < 1) { + (l.domain = l._input.domain = k.slice()), + s(l, h); + continue; + } + if ( + (M < 1 && + ((l.range = l._input.range = + l._inputRange.slice()), + (h *= M)), + l.autorange) + ) { + var S = l.r2l(l.range[0]), + E = l.r2l(l.range[1]), + L = (S + E) / 2, + C = L, + P = L, + O = Math.abs(E - L), + I = L - O * h * 1.0001, + D = L + O * h * 1.0001, + z = i.makePadFn(p, l, 0), + R = i.makePadFn(p, l, 1); + y(l, h); + var F, + B, + N = Math.abs(l._m), + j = i.concatExtremes(t, l), + U = j.min, + V = j.max; + for (B = 0; B < U.length; B++) + (F = U[B].val - z(U[B]) / N) > I && + F < C && + (C = F); + for (B = 0; B < V.length; B++) + (F = V[B].val + R(V[B]) / N) < D && + F > P && + (P = F); + (h /= (P - C) / (2 * O)), + (C = l.l2r(C)), + (P = l.l2r(P)), + (l.range = l._input.range = + S < E ? [C, P] : [P, C]); + } + y(l, h); + } + } + }), + (e.getAxisGroup = function (t, e) { + for (var r = t._axisMatchGroups, n = 0; n < r.length; n++) + if (r[n][e]) return "g" + n; + return e; + }), + (e.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); + } + }); + }, + 29323: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = i.numberFormat, + o = r(84267), + s = r(38520), + l = r(73972), + u = i.strTranslate, + c = r(63893), + f = r(7901), + h = r(91424), + p = r(30211), + d = r(89298), + v = r(6964), + g = r(28569), + y = r(64505), + m = y.selectingOrDrawing, + x = y.freeMode, + b = r(18783).FROM_TL, + _ = r(33306), + w = r(61549).redrawReglTraces, + T = r(74875), + k = r(41675).getFromId, + A = r(47322).prepSelect, + M = r(47322).clearOutline, + S = r(47322).selectOnClick, + E = r(42449), + L = r(85555), + C = L.MINDRAG, + P = L.MINZOOM, + O = !0; + function I(t, e, r, n) { + var a = i.ensureSingle(t.draglayer, e, r, function (e) { + e.classed("drag", !0) + .style({ fill: "transparent", "stroke-width": 0 }) + .attr("data-subplot", t.id); + }); + return a.call(v, n), a.node(); + } + function D(t, e, r, i, a, o, s) { + var l = I(t, "rect", e, r); + return n.select(l).call(h.setRect, i, a, o, s), l; + } + function z(t, e) { + for (var r = 0; r < t.length; r++) + if (!t[r].fixedrange) return e; + return ""; + } + function R(t, e, r, n, i) { + for (var a = 0; a < t.length; a++) { + var o = t[a]; + if (!o.fixedrange) + if (o.rangebreaks) { + var s = "y" === o._id.charAt(0), + l = s ? 1 - e : e, + u = s ? 1 - r : r; + (n[o._name + ".range[0]"] = o.l2r( + o.p2l(l * o._length), + )), + (n[o._name + ".range[1]"] = o.l2r( + o.p2l(u * o._length), + )); + } else { + var c = o._rl[0], + f = o._rl[1] - c; + (n[o._name + ".range[0]"] = o.l2r(c + f * e)), + (n[o._name + ".range[1]"] = o.l2r(c + f * r)); + } + } + if (i && i.length) { + var h = (e + (1 - r)) / 2; + R(i, h, 1 - h, n, []); + } + } + function F(t, e) { + for (var r = 0; r < t.length; r++) { + var n = t[r]; + if (!n.fixedrange) { + if (n.rangebreaks) { + var i = n._length, + a = + (n.p2l(0 + e) - + n.p2l(0) + + (n.p2l(i + e) - n.p2l(i))) / + 2; + n.range = [n.l2r(n._rl[0] - a), n.l2r(n._rl[1] - a)]; + } else + n.range = [ + n.l2r(n._rl[0] - e / n._m), + n.l2r(n._rl[1] - e / n._m), + ]; + n.limitRange && n.limitRange(); + } + } + } + function B(t) { + return ( + 1 - + (t >= 0 + ? Math.min(t, 0.9) + : 1 / (1 / Math.max(t, -0.3) + 3.222)) + ); + } + function N(t, e, r, n, i) { + return t + .append("path") + .attr("class", "zoombox") + .style({ + fill: e > 0.2 ? "rgba(0,0,0,0)" : "rgba(255,255,255,0)", + "stroke-width": 0, + }) + .attr("transform", u(r, n)) + .attr("d", i + "Z"); + } + function j(t, e, r) { + return t + .append("path") + .attr("class", "zoombox-corners") + .style({ + fill: f.background, + stroke: f.defaultLine, + "stroke-width": 1, + opacity: 0, + }) + .attr("transform", u(e, r)) + .attr("d", "M0,0Z"); + } + function U(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", + ), + V(t, e, i, a); + } + function V(t, e, r, n) { + r || + (t + .transition() + .style( + "fill", + n > 0.2 ? "rgba(0,0,0,0.4)" : "rgba(255,255,255,0.3)", + ) + .duration(200), + e.transition().style("opacity", 1).duration(200)); + } + function H(t) { + n.select(t) + .selectAll( + ".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners", + ) + .remove(); + } + function q(t) { + O && + t.data && + t._context.showTips && + (i.notifier( + i._(t, "Double-click to zoom back out"), + "long", + ), + (O = !1)); + } + function G(t) { + var e = Math.floor(Math.min(t.b - t.t, t.r - t.l, P) / 2); + return ( + "M" + + (t.l - 3.5) + + "," + + (t.t - 0.5 + e) + + "h3v" + + -e + + "h" + + e + + "v-3h-" + + (e + 3) + + "ZM" + + (t.r + 3.5) + + "," + + (t.t - 0.5 + e) + + "h-3v" + + -e + + "h" + + -e + + "v-3h" + + (e + 3) + + "ZM" + + (t.r + 3.5) + + "," + + (t.b + 0.5 - e) + + "h-3v" + + e + + "h" + + -e + + "v3h" + + (e + 3) + + "ZM" + + (t.l - 3.5) + + "," + + (t.b + 0.5 - e) + + "h3v" + + e + + "h" + + e + + "v3h-" + + (e + 3) + + "Z" + ); + } + function Z(t, e, r, n, a) { + for ( + var o, + s, + l, + u, + c = !1, + f = {}, + h = {}, + p = (a || {}).xaHash, + d = (a || {}).yaHash, + v = 0; + v < e.length; + v++ + ) { + var g = e[v]; + for (o in r) + if (g[o]) { + for (l in g) + (a && (p[l] || d[l])) || + ("x" === l.charAt(0) ? r : n)[l] || + (f[l] = o); + for (s in n) + (a && (p[s] || d[s])) || !g[s] || (c = !0); + } + for (s in n) + if (g[s]) + for (u in g) + (a && (p[u] || d[u])) || + ("x" === u.charAt(0) ? r : n)[u] || + (h[u] = s); + } + c && (i.extendFlat(f, h), (h = {})); + var y = {}, + m = []; + for (l in f) { + var x = k(t, l); + m.push(x), (y[x._id] = x); + } + var b = {}, + _ = []; + for (u in h) { + var w = k(t, u); + _.push(w), (b[w._id] = w); + } + return { + xaHash: y, + yaHash: b, + xaxes: m, + yaxes: _, + xLinks: f, + yLinks: h, + isSubplotConstrained: c, + }; + } + function Y(t, e) { + if (s) { + 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) + : t.isAddedWheelEvent || + ((t.isAddedWheelEvent = !0), + t.addEventListener("wheel", e, { passive: !1 })); + } + function W(t) { + var e = []; + for (var r in t) e.push(t[r]); + return e; + } + t.exports = { + makeDragBox: function (t, e, r, s, u, f, v, y) { + var O, + I, + V, + X, + J, + K, + $, + Q, + tt, + et, + rt, + nt, + it, + at, + ot, + st, + lt, + ut, + ct, + ft, + ht, + pt, + dt, + vt = t._fullLayout._zoomlayer, + gt = v + y === "nsew", + yt = 1 === (v + y).length; + function mt() { + if ( + ((O = e.xaxis), + (I = e.yaxis), + (tt = O._length), + (et = I._length), + ($ = O._offset), + (Q = I._offset), + ((V = {})[O._id] = O), + ((X = {})[I._id] = I), + v && y) + ) + for (var r = e.overlays, n = 0; n < r.length; n++) { + var i = r[n].xaxis; + V[i._id] = i; + var a = r[n].yaxis; + X[a._id] = a; + } + (J = W(V)), + (K = W(X)), + (it = z(J, y)), + (at = z(K, v)), + (ot = !at && !it), + (nt = Z(t, t._fullLayout._axisMatchGroups, V, X)); + var o = + (rt = Z( + t, + t._fullLayout._axisConstraintGroups, + V, + X, + nt, + )).isSubplotConstrained || nt.isSubplotConstrained; + (st = y || o), (lt = v || o); + var s = t._fullLayout; + (ut = s._has("scattergl")), + (ct = s._has("splom")), + (ft = s._has("svg")); + } + (r += e.yaxis._shift), mt(); + var xt = (function (t, e, r) { + return t + ? "nsew" === t + ? r + ? "" + : "pan" === e + ? "move" + : "crosshair" + : t.toLowerCase() + "-resize" + : "pointer"; + })(at + it, t._fullLayout.dragmode, gt), + bt = D(e, v + y + "drag", xt, r, s, u, f); + if (ot && !gt) + return ( + (bt.onmousedown = null), + (bt.style.pointerEvents = "none"), + bt + ); + var _t, + wt, + Tt, + kt, + At, + Mt, + St, + Et, + Lt, + Ct, + Pt = { element: bt, gd: t, plotinfo: e }; + function Ot() { + (Pt.plotinfo.selection = !1), M(t); + } + function It(t, r) { + var i = Pt.gd; + if (i._fullLayout._activeShapeIndex >= 0) + i._fullLayout._deactivateShape(i); + else { + var o = i._fullLayout.clickmode; + if ((H(i), 2 !== t || yt || qt(), gt)) + o.indexOf("select") > -1 && S(r, i, J, K, e.id, Pt), + o.indexOf("event") > -1 && p.click(i, r, e.id); + else if (1 === t && yt) { + var s = v ? I : O, + u = "s" === v || "w" === y ? 0 : 1, + f = s._name + ".range[" + u + "]", + h = (function (t, e) { + var r, + n = t.range[e], + i = Math.abs(n - t.range[1 - e]); + return "date" === t.type + ? n + : "log" === t.type + ? ((r = + Math.ceil( + Math.max(0, -Math.log(i) / Math.LN10), + ) + 3), + a("." + r + "g")(Math.pow(10, n))) + : ((r = + Math.floor( + Math.log(Math.abs(n)) / Math.LN10, + ) - + Math.floor(Math.log(i) / Math.LN10) + + 4), + a("." + String(r) + "g")(n)); + })(s, u), + d = "left", + g = "middle"; + if (s.fixedrange) return; + v + ? ((g = "n" === v ? "top" : "bottom"), + "right" === s.side && (d = "right")) + : "e" === y && (d = "right"), + i._context.showAxisRangeEntryBoxes && + n + .select(bt) + .call(c.makeEditable, { + gd: i, + immediate: !0, + background: i._fullLayout.paper_bgcolor, + text: String(h), + fill: s.tickfont + ? s.tickfont.color + : "#444", + horizontalAlign: d, + verticalAlign: g, + }) + .on("edit", function (t) { + var e = s.d2r(t); + void 0 !== e && + l.call("_guiRelayout", i, f, e); + }); + } + } + } + function Dt(e, r) { + if (t._transitioningWithDuration) return !1; + var n = Math.max(0, Math.min(tt, pt * e + _t)), + i = Math.max(0, Math.min(et, dt * r + wt)), + a = Math.abs(n - _t), + o = Math.abs(i - wt); + function s() { + (St = ""), + (Tt.r = Tt.l), + (Tt.t = Tt.b), + Lt.attr("d", "M0,0Z"); + } + if ( + ((Tt.l = Math.min(_t, n)), + (Tt.r = Math.max(_t, n)), + (Tt.t = Math.min(wt, i)), + (Tt.b = Math.max(wt, i)), + rt.isSubplotConstrained) + ) + a > P || o > P + ? ((St = "xy"), + a / tt > o / et + ? ((o = (a * et) / tt), + wt > i ? (Tt.t = wt - o) : (Tt.b = wt + o)) + : ((a = (o * tt) / et), + _t > n ? (Tt.l = _t - a) : (Tt.r = _t + a)), + Lt.attr("d", G(Tt))) + : s(); + else if (nt.isSubplotConstrained) + if (a > P || o > P) { + St = "xy"; + var l = Math.min(Tt.l / tt, (et - Tt.b) / et), + u = Math.max(Tt.r / tt, (et - Tt.t) / et); + (Tt.l = l * tt), + (Tt.r = u * tt), + (Tt.b = (1 - l) * et), + (Tt.t = (1 - u) * et), + Lt.attr("d", G(Tt)); + } else s(); + else + !at || o < Math.min(Math.max(0.6 * a, C), P) + ? a < C || !it + ? s() + : ((Tt.t = 0), + (Tt.b = et), + (St = "x"), + Lt.attr( + "d", + (function (t, e) { + return ( + "M" + + (t.l - 0.5) + + "," + + (e - P - 0.5) + + "h-3v" + + (2 * P + 1) + + "h3ZM" + + (t.r + 0.5) + + "," + + (e - P - 0.5) + + "h3v" + + (2 * P + 1) + + "h-3Z" + ); + })(Tt, wt), + )) + : !it || a < Math.min(0.6 * o, P) + ? ((Tt.l = 0), + (Tt.r = tt), + (St = "y"), + Lt.attr( + "d", + (function (t, e) { + return ( + "M" + + (e - P - 0.5) + + "," + + (t.t - 0.5) + + "v-3h" + + (2 * P + 1) + + "v3ZM" + + (e - P - 0.5) + + "," + + (t.b + 0.5) + + "v3h" + + (2 * P + 1) + + "v-3Z" + ); + })(Tt, _t), + )) + : ((St = "xy"), Lt.attr("d", G(Tt))); + (Tt.w = Tt.r - Tt.l), + (Tt.h = Tt.b - Tt.t), + St && (Ct = !0), + (t._dragged = Ct), + U(Et, Lt, Tt, At, Mt, kt), + zt(), + t.emit("plotly_relayouting", ht), + (Mt = !0); + } + function zt() { + (ht = {}), + ("xy" !== St && "x" !== St) || + (R(J, Tt.l / tt, Tt.r / tt, ht, rt.xaxes), + Vt("x", ht)), + ("xy" !== St && "y" !== St) || + (R( + K, + (et - Tt.b) / et, + (et - Tt.t) / et, + ht, + rt.yaxes, + ), + Vt("y", ht)); + } + function Rt() { + zt(), H(t), Gt(), q(t); + } + (Pt.prepFn = function (e, r, n) { + var a = Pt.dragmode, + s = t._fullLayout.dragmode; + s !== a && (Pt.dragmode = s), + mt(), + (pt = t._fullLayout._invScaleX), + (dt = t._fullLayout._invScaleY), + ot || + (gt + ? e.shiftKey + ? "pan" === s + ? (s = "zoom") + : m(s) || (s = "pan") + : e.ctrlKey && (s = "pan") + : (s = "pan")), + x(s) ? (Pt.minDrag = 1) : (Pt.minDrag = void 0), + m(s) + ? ((Pt.xaxes = J), + (Pt.yaxes = K), + A(e, r, n, Pt, s)) + : ((Pt.clickFn = It), + m(a) && Ot(), + ot || + ("zoom" === s + ? ((Pt.moveFn = Dt), + (Pt.doneFn = Rt), + (Pt.minDrag = 1), + (function (e, r, n) { + var a = bt.getBoundingClientRect(); + (_t = r - a.left), + (wt = n - a.top), + t._fullLayout._calcInverseTransform(t); + var s = i.apply3DTransform( + t._fullLayout._invTransform, + )(_t, wt); + (_t = s[0]), + (wt = s[1]), + (Tt = { + l: _t, + r: _t, + w: 0, + t: wt, + b: wt, + h: 0, + }), + (kt = t._hmpixcount + ? t._hmlumcount / t._hmpixcount + : o( + t._fullLayout.plot_bgcolor, + ).getLuminance()), + (Mt = !1), + (St = "xy"), + (Ct = !1), + (Et = N( + vt, + kt, + $, + Q, + (At = + "M0,0H" + tt + "V" + et + "H0V0"), + )), + (Lt = j(vt, $, Q)); + })(0, r, n)) + : "pan" === s && + ((Pt.moveFn = Ut), (Pt.doneFn = Gt)))), + (t._fullLayout._redrag = function () { + var e = t._dragdata; + if (e && e.element === bt) { + var r = t._fullLayout.dragmode; + m(r) || + (mt(), + Zt([0, 0, tt, et]), + Pt.moveFn(e.dx, e.dy)); + } + }); + }), + g.init(Pt); + var Ft = [0, 0, tt, et], + Bt = null, + Nt = L.REDRAWDELAY, + jt = e.mainplot ? t._fullLayout._plots[e.mainplot] : e; + function Ut(e, r) { + if ( + ((e *= pt), (r *= dt), !t._transitioningWithDuration) + ) { + if ( + ((t._fullLayout._replotting = !0), + "ew" === it || "ns" === at) + ) { + var n = it ? -e : 0, + i = at ? -r : 0; + if (nt.isSubplotConstrained) { + if (it && at) { + var a = (e / tt - r / et) / 2; + (n = -(e = a * tt)), (i = -(r = -a * et)); + } + at ? (n = (-i * tt) / et) : (i = (-n * et) / tt); + } + return ( + it && (F(J, e), Vt("x")), + at && (F(K, r), Vt("y")), + Zt([n, i, tt, et]), + Ht(), + void t.emit("plotly_relayouting", ht) + ); + } + var o, + s, + l = ("w" === it) == ("n" === at) ? 1 : -1; + if ( + it && + at && + (rt.isSubplotConstrained || nt.isSubplotConstrained) + ) { + var u = (e / tt + (l * r) / et) / 2; + (e = u * tt), (r = l * u * et); + } + if ( + ("w" === it + ? (e = p(J, 0, e)) + : "e" === it + ? (e = p(J, 1, -e)) + : it || (e = 0), + "n" === at + ? (r = p(K, 1, r)) + : "s" === at + ? (r = p(K, 0, -r)) + : at || (r = 0), + (o = "w" === it ? e : 0), + (s = "n" === at ? r : 0), + (rt.isSubplotConstrained && + !nt.isSubplotConstrained) || + (nt.isSubplotConstrained && it && at && l > 0)) + ) { + var c; + if ( + nt.isSubplotConstrained || + (!it && 1 === at.length) + ) { + for (c = 0; c < J.length; c++) + (J[c].range = J[c]._r.slice()), + E(J[c], 1 - r / et); + o = (e = (r * tt) / et) / 2; + } + if ( + nt.isSubplotConstrained || + (!at && 1 === it.length) + ) { + for (c = 0; c < K.length; c++) + (K[c].range = K[c]._r.slice()), + E(K[c], 1 - e / tt); + s = (r = (e * et) / tt) / 2; + } + } + (nt.isSubplotConstrained && at) || Vt("x"), + (nt.isSubplotConstrained && it) || Vt("y"); + var f = tt - e, + h = et - r; + !nt.isSubplotConstrained || + (it && at) || + (it + ? ((s = o ? 0 : (e * et) / tt), + (h = (f * et) / tt)) + : ((o = s ? 0 : (r * tt) / et), + (f = (h * tt) / et))), + Zt([o, s, f, h]), + Ht(), + t.emit("plotly_relayouting", ht); + } + function p(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]) / B(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 Vt(t, e) { + for ( + var r = nt.isSubplotConstrained + ? { x: K, y: J }[t] + : nt[t + "axes"], + n = nt.isSubplotConstrained + ? { x: J, y: K }[t] + : [], + i = 0; + i < r.length; + i++ + ) { + var a = r[i], + o = a._id, + s = nt.xLinks[o] || nt.yLinks[o], + l = n[0] || V[s] || X[s]; + l && + (e + ? ((e[a._name + ".range[0]"] = + e[l._name + ".range[0]"]), + (e[a._name + ".range[1]"] = + e[l._name + ".range[1]"])) + : (a.range = l.range.slice())); + } + } + function Ht() { + var r, + n = []; + function i(t) { + for (r = 0; r < t.length; r++) + t[r].fixedrange || n.push(t[r]._id); + } + function a(t, e) { + for (r = 0; r < t.length; r++) { + var i = t[r], + a = i[e]; + i.fixedrange || + "sync" !== a.tickmode || + n.push(a._id); + } + } + for ( + st && + (i(J), + i(rt.xaxes), + i(nt.xaxes), + a(e.overlays, "xaxis")), + lt && + (i(K), + i(rt.yaxes), + i(nt.yaxes), + a(e.overlays, "yaxis")), + ht = {}, + r = 0; + r < n.length; + r++ + ) { + var o = n[r], + s = k(t, o); + d.drawOne(t, s, { skipTitle: !0 }), + (ht[s._name + ".range[0]"] = s.range[0]), + (ht[s._name + ".range[1]"] = s.range[1]); + } + d.redrawComponents(t, n); + } + function qt() { + if (!t._transitioningWithDuration) { + var e = t._context.doubleClick, + r = []; + it && (r = r.concat(J)), + at && (r = r.concat(K)), + nt.xaxes && (r = r.concat(nt.xaxes)), + nt.yaxes && (r = r.concat(nt.yaxes)); + var n, + i, + a = {}; + if ("reset+autosize" === e) + for (e = "autosize", i = 0; i < r.length; i++) { + var o = (n = r[i])._rangeInitial0, + s = n._rangeInitial1, + u = void 0 !== o || void 0 !== s; + if ( + (u && + ((void 0 !== o && o !== n.range[0]) || + (void 0 !== s && s !== n.range[1]))) || + (!u && !0 !== n.autorange) + ) { + e = "reset"; + break; + } + } + if ("autosize" === e) + for (i = 0; i < r.length; i++) + (n = r[i]).fixedrange || + (a[n._name + ".autorange"] = !0); + else if ("reset" === e) + for ( + (it || rt.isSubplotConstrained) && + (r = r.concat(rt.xaxes)), + at && + !rt.isSubplotConstrained && + (r = r.concat(rt.yaxes)), + rt.isSubplotConstrained && + (it + ? at || (r = r.concat(K)) + : (r = r.concat(J))), + i = 0; + i < r.length; + i++ + ) + if (!(n = r[i]).fixedrange) { + var c = n._name, + f = n._autorangeInitial; + void 0 === n._rangeInitial0 && + void 0 === n._rangeInitial1 + ? (a[c + ".autorange"] = !0) + : void 0 === n._rangeInitial0 + ? ((a[c + ".autorange"] = f), + (a[c + ".range"] = [ + null, + n._rangeInitial1, + ])) + : void 0 === n._rangeInitial1 + ? ((a[c + ".range"] = [ + n._rangeInitial0, + null, + ]), + (a[c + ".autorange"] = f)) + : (a[c + ".range"] = [ + n._rangeInitial0, + n._rangeInitial1, + ]); + } + t.emit("plotly_doubleclick", null), + l.call("_guiRelayout", t, a); + } + } + function Gt() { + Zt([0, 0, tt, et]), + i.syncOrAsync( + [ + T.previousPromises, + function () { + (t._fullLayout._replotting = !1), + l.call("_guiRelayout", t, ht); + }, + ], + t, + ); + } + function Zt(e) { + var r, + n, + a, + o, + s = t._fullLayout, + u = s._plots, + c = s._subplots.cartesian; + if ((ct && l.subplotsRegistry.splom.drag(t), ut)) + for (r = 0; r < c.length; r++) + if ( + ((a = (n = u[c[r]]).xaxis), + (o = n.yaxis), + n._scene) + ) { + var f = i.simpleMap(a.range, a.r2l), + p = i.simpleMap(o.range, o.r2l); + a.limitRange && a.limitRange(), + o.limitRange && o.limitRange(), + (f = a.range), + (p = o.range), + n._scene.update({ + range: [f[0], p[0], f[1], p[1]], + }); + } + if (((ct || ut) && (_(t), w(t)), ft)) { + var d = e[2] / O._length, + g = e[3] / I._length; + for (r = 0; r < c.length; r++) { + (a = (n = u[c[r]]).xaxis), (o = n.yaxis); + var m, + x, + b, + T, + k = + (st || nt.isSubplotConstrained) && + !a.fixedrange && + V[a._id], + A = + (lt || nt.isSubplotConstrained) && + !o.fixedrange && + X[o._id]; + if ( + (k + ? ((m = d), + (b = + y || nt.isSubplotConstrained + ? e[0] + : Xt(a, m))) + : nt.xaHash[a._id] + ? ((m = d), + (b = (e[0] * a._length) / O._length)) + : nt.yaHash[a._id] + ? ((m = g), + (b = + "ns" === at + ? (-e[1] * a._length) / I._length + : Xt( + a, + m, + { n: "top", s: "bottom" }[at], + ))) + : (b = Wt(a, (m = Yt(a, d, g)))), + m > 1 && + ((void 0 !== a.maxallowed && + st === + (a.range[0] < a.range[1] ? "e" : "w")) || + (void 0 !== a.minallowed && + st === + (a.range[0] < a.range[1] ? "w" : "e"))) && + ((m = 1), (b = 0)), + A + ? ((x = g), + (T = + v || nt.isSubplotConstrained + ? e[1] + : Xt(o, x))) + : nt.yaHash[o._id] + ? ((x = g), + (T = (e[1] * o._length) / I._length)) + : nt.xaHash[o._id] + ? ((x = d), + (T = + "ew" === it + ? (-e[0] * o._length) / O._length + : Xt( + o, + x, + { e: "right", w: "left" }[it], + ))) + : (T = Wt(o, (x = Yt(o, d, g)))), + x > 1 && + ((void 0 !== o.maxallowed && + lt === + (o.range[0] < o.range[1] ? "n" : "s")) || + (void 0 !== o.minallowed && + lt === + (o.range[0] < o.range[1] ? "s" : "n"))) && + ((x = 1), (T = 0)), + m || x) + ) { + m || (m = 1), x || (x = 1); + var M = a._offset - b / m, + S = o._offset - T / x; + n.clipRect + .call(h.setTranslate, b, T) + .call(h.setScale, m, x), + n.plot + .call(h.setTranslate, M, S) + .call(h.setScale, 1 / m, 1 / x), + (m === n.xScaleFactor && + x === n.yScaleFactor) || + (h.setPointGroupScale(n.zoomScalePts, m, x), + h.setTextPointsScale(n.zoomScaleTxt, m, x)), + h.hideOutsideRangePoints( + n.clipOnAxisFalseTraces, + n, + ), + (n.xScaleFactor = m), + (n.yScaleFactor = x); + } + } + } + } + function Yt(t, e, r) { + return t.fixedrange + ? 0 + : st && rt.xaHash[t._id] + ? e + : lt && + (rt.isSubplotConstrained ? rt.xaHash : rt.yaHash)[ + t._id + ] + ? r + : 0; + } + function Wt(t, e) { + return e + ? ((t.range = t._r.slice()), E(t, e), Xt(t, e)) + : 0; + } + function Xt(t, e, r) { + return ( + t._length * + (1 - e) * + b[r || t.constraintoward || "middle"] + ); + } + return ( + v.length * y.length != 1 && + Y(bt, function (e) { + if ( + t._context._scrollZoom.cartesian || + t._fullLayout._enablescrollzoom + ) { + if ((Ot(), t._transitioningWithDuration)) + return ( + e.preventDefault(), void e.stopPropagation() + ); + mt(), clearTimeout(Bt); + var r = -e.deltaY; + if ( + (isFinite(r) || (r = e.wheelDelta / 10), + isFinite(r)) + ) { + var n, + a = Math.exp( + -Math.min(Math.max(r, -20), 20) / 200, + ), + o = jt.draglayer + .select(".nsewdrag") + .node() + .getBoundingClientRect(), + s = (e.clientX - o.left) / o.width, + l = (o.bottom - e.clientY) / o.height; + if (st) { + for (y || (s = 0.5), n = 0; n < J.length; n++) + u(J[n], s, a); + Vt("x"), + (Ft[2] *= a), + (Ft[0] += Ft[2] * s * (1 / a - 1)); + } + if (lt) { + for (v || (l = 0.5), n = 0; n < K.length; n++) + u(K[n], l, a); + Vt("y"), + (Ft[3] *= a), + (Ft[1] += Ft[3] * (1 - l) * (1 / a - 1)); + } + Zt(Ft), + Ht(), + t.emit("plotly_relayouting", ht), + (Bt = setTimeout(function () { + t._fullLayout && + ((Ft = [0, 0, tt, et]), Gt()); + }, Nt)), + e.preventDefault(); + } else + i.log( + "Did not find wheel motion attributes: ", + e, + ); + } + function u(t, e, r) { + if (!t.fixedrange) { + var n = i.simpleMap(t.range, t.r2l), + a = n[0] + (n[1] - n[0]) * e; + t.range = n.map(function (e) { + return t.l2r(a + (e - a) * r); + }); + } + } + }), + bt + ); + }, + makeDragger: I, + makeRectDragger: D, + makeZoombox: N, + makeCorners: j, + updateZoombox: U, + xyCorners: G, + transitionZoombox: V, + removeZoombox: H, + showDoubleClickNotifier: q, + attachWheelEventHandler: Y, + }; + }, + 4305: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(30211), + a = r(28569), + o = r(6964), + s = r(29323).makeDragBox, + l = r(85555).DRAGGERSIZE; + (e.initInteractions = function (t) { + var r = t._fullLayout; + if (t._context.staticPlot) + n.select(t).selectAll(".drag").remove(); + else if (r._has("cartesian") || r._has("splom")) { + 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], + o = n.xaxis, + u = n.yaxis; + if (!n.mainplot) { + var c = s( + t, + n, + o._offset, + u._offset, + o._length, + u._length, + "ns", + "ew", + ); + (c.onmousemove = function (r) { + (t._fullLayout._rehover = function () { + t._fullLayout._hoversubplot === e && + t._fullLayout._plots[e] && + i.hover(t, r, e); + }), + i.hover(t, r, e), + (t._fullLayout._lasthover = c), + (t._fullLayout._hoversubplot = e); + }), + (c.onmouseout = function (e) { + t._dragging || + ((t._fullLayout._hoversubplot = null), + a.unhover(t, e)); + }), + t._context.showAxisDragHandles && + (s( + t, + n, + o._offset - l, + u._offset - l, + l, + l, + "n", + "w", + ), + s( + t, + n, + o._offset + o._length, + u._offset - l, + l, + l, + "n", + "e", + ), + s( + t, + n, + o._offset - l, + u._offset + u._length, + l, + l, + "s", + "w", + ), + s( + t, + n, + o._offset + o._length, + u._offset + u._length, + l, + l, + "s", + "e", + )); + } + if (t._context.showAxisDragHandles) { + if (e === o._mainSubplot) { + var f = o._mainLinePosition; + "top" === o.side && (f -= l), + s( + t, + n, + o._offset + 0.1 * o._length, + f, + 0.8 * o._length, + l, + "", + "ew", + ), + s( + t, + n, + o._offset, + f, + 0.1 * o._length, + l, + "", + "w", + ), + s( + t, + n, + o._offset + 0.9 * o._length, + f, + 0.1 * o._length, + l, + "", + "e", + ); + } + if (e === u._mainSubplot) { + var h = u._mainLinePosition; + "right" !== u.side && (h -= l), + s( + t, + n, + h, + u._offset + 0.1 * u._length, + l, + 0.8 * u._length, + "ns", + "", + ), + s( + t, + n, + h, + u._offset + 0.9 * u._length, + l, + 0.1 * u._length, + "s", + "", + ), + s( + t, + n, + h, + u._offset, + l, + 0.1 * u._length, + "n", + "", + ); + } + } + }); + var o = r._hoverlayer.node(); + (o.onmousemove = function (e) { + (e.target = t._fullLayout._lasthover), + i.hover(t, e, r._hoversubplot); + }), + (o.onclick = function (e) { + (e.target = t._fullLayout._lasthover), i.click(t, e); + }), + (o.onmousedown = function (e) { + t._fullLayout._lasthover.onmousedown(e); + }), + e.updateFx(t); + } + }), + (e.updateFx = function (t) { + var e = t._fullLayout, + r = "pan" === e.dragmode ? "move" : "crosshair"; + o(e._draggers, r); + }); + }, + 76325: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(41675); + t.exports = function (t) { + return function (e, r) { + var o = e[t]; + if (Array.isArray(o)) + for ( + var s = n.subplotsRegistry.cartesian, + l = s.idRegex, + u = r._subplots, + c = u.xaxis, + f = u.yaxis, + h = u.cartesian, + p = r._has("cartesian") || r._has("gl2d"), + d = 0; + d < o.length; + d++ + ) { + var v = o[d]; + if (i.isPlainObject(v)) { + var g = a.cleanId(v.xref, "x", !1), + y = a.cleanId(v.yref, "y", !1), + m = l.x.test(g), + x = l.y.test(y); + if (m || x) { + p || i.pushUnique(r._basePlotModules, s); + var b = !1; + m && -1 === c.indexOf(g) && (c.push(g), (b = !0)), + x && + -1 === f.indexOf(y) && + (f.push(y), (b = !0)), + b && m && x && h.push(g + y); + } + } + } + }; + }; + }, + 93612: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(71828), + o = r(74875), + s = r(91424), + l = r(27659).a0, + u = r(41675), + c = r(85555), + f = r(77922), + h = a.ensureSingle; + function p(t, e, r) { + return a.ensureSingle(t, e, r, function (t) { + t.datum(r); + }); + } + function d(t, e, r, a, o) { + for ( + var u, + f, + h, + p = c.traceLayerClasses, + d = t._fullLayout, + v = d._modules, + g = [], + y = [], + m = 0; + m < v.length; + m++ + ) { + var x = (u = v[m]).name, + b = i.modules[x].categories; + if (b.svg) { + var _ = u.layerName || x + "layer", + w = u.plot; + (h = (f = l(r, w))[0]), + (r = f[1]), + h.length && + g.push({ + i: p.indexOf(_), + className: _, + plotMethod: w, + cdModule: h, + }), + b.zoomScale && y.push("." + _); + } + } + g.sort(function (t, e) { + return t.i - e.i; + }); + var T = e.plot.selectAll("g.mlayer").data(g, function (t) { + return t.className; + }); + if ( + (T.enter() + .append("g") + .attr("class", function (t) { + return t.className; + }) + .classed("mlayer", !0) + .classed("rangeplot", e.isRangePlot), + T.exit().remove(), + T.order(), + T.each(function (r) { + var i = n.select(this), + l = r.className; + r.plotMethod(t, e, r.cdModule, i, a, o), + -1 === c.clipOnAxisFalseQuery.indexOf("." + l) && + s.setClipUrl(i, e.layerClipId, t); + }), + d._has("scattergl") && + ((u = i.getModule("scattergl")), + (h = l(r, u)[0]), + u.plot(t, e, h)), + !t._context.staticPlot && + (e._hasClipOnAxisFalse && + (e.clipOnAxisFalseTraces = e.plot + .selectAll(c.clipOnAxisFalseQuery.join(",")) + .selectAll(".trace")), + y.length)) + ) { + var k = e.plot.selectAll(y.join(",")).selectAll(".trace"); + (e.zoomScalePts = k.selectAll("path.point")), + (e.zoomScaleTxt = k.selectAll(".textpoint")); + } + } + function v(t, e) { + var r = e.plotgroup, + n = e.id, + i = c.layerValue2layerClass[e.xaxis.layer], + a = c.layerValue2layerClass[e.yaxis.layer], + o = t._fullLayout._hasOnlyLargeSploms; + if (e.mainplot) { + var s = e.mainplotinfo, + l = s.plotgroup, + f = n + "-x", + d = n + "-y"; + (e.minorGridlayer = s.minorGridlayer), + (e.gridlayer = s.gridlayer), + (e.zerolinelayer = s.zerolinelayer), + h(s.overlinesBelow, "path", f), + h(s.overlinesBelow, "path", d), + h(s.overaxesBelow, "g", f), + h(s.overaxesBelow, "g", d), + (e.plot = h(s.overplot, "g", n)), + h(s.overlinesAbove, "path", f), + h(s.overlinesAbove, "path", d), + h(s.overaxesAbove, "g", f), + h(s.overaxesAbove, "g", d), + (e.xlines = l + .select(".overlines-" + i) + .select("." + f)), + (e.ylines = l + .select(".overlines-" + a) + .select("." + d)), + (e.xaxislayer = l + .select(".overaxes-" + i) + .select("." + f)), + (e.yaxislayer = l + .select(".overaxes-" + a) + .select("." + d)); + } else if (o) + (e.xlines = h(r, "path", "xlines-above")), + (e.ylines = h(r, "path", "ylines-above")), + (e.xaxislayer = h(r, "g", "xaxislayer-above")), + (e.yaxislayer = h(r, "g", "yaxislayer-above")); + else { + var v = h(r, "g", "layer-subplot"); + (e.shapelayer = h(v, "g", "shapelayer")), + (e.imagelayer = h(v, "g", "imagelayer")), + (e.minorGridlayer = h(r, "g", "minor-gridlayer")), + (e.gridlayer = h(r, "g", "gridlayer")), + (e.zerolinelayer = h(r, "g", "zerolinelayer")), + h(r, "path", "xlines-below"), + h(r, "path", "ylines-below"), + (e.overlinesBelow = h(r, "g", "overlines-below")), + h(r, "g", "xaxislayer-below"), + h(r, "g", "yaxislayer-below"), + (e.overaxesBelow = h(r, "g", "overaxes-below")), + (e.plot = h(r, "g", "plot")), + (e.overplot = h(r, "g", "overplot")), + (e.xlines = h(r, "path", "xlines-above")), + (e.ylines = h(r, "path", "ylines-above")), + (e.overlinesAbove = h(r, "g", "overlines-above")), + h(r, "g", "xaxislayer-above"), + h(r, "g", "yaxislayer-above"), + (e.overaxesAbove = h(r, "g", "overaxes-above")), + (e.xlines = r.select(".xlines-" + i)), + (e.ylines = r.select(".ylines-" + a)), + (e.xaxislayer = r.select(".xaxislayer-" + i)), + (e.yaxislayer = r.select(".yaxislayer-" + a)); + } + o || + (p(e.minorGridlayer, "g", e.xaxis._id), + p(e.minorGridlayer, "g", e.yaxis._id), + e.minorGridlayer + .selectAll("g") + .map(function (t) { + return t[0]; + }) + .sort(u.idSort), + p(e.gridlayer, "g", e.xaxis._id), + p(e.gridlayer, "g", e.yaxis._id), + e.gridlayer + .selectAll("g") + .map(function (t) { + return t[0]; + }) + .sort(u.idSort)), + e.xlines.style("fill", "none").classed("crisp", !0), + e.ylines.style("fill", "none").classed("crisp", !0); + } + function g(t, e) { + if (t) { + var r = {}; + for (var i in (t.each(function (t) { + var i = t[0]; + n.select(this).remove(), y(i, e), (r[i] = !0); + }), + e._plots)) + for ( + var a = e._plots[i].overlays || [], o = 0; + o < a.length; + o++ + ) { + var s = a[o]; + r[s.id] && s.plot.selectAll(".trace").remove(); + } + } + } + function y(t, e) { + e._draggers.selectAll("g." + t).remove(), + e._defs.select("#clip" + e._uid + t + "plot").remove(); + } + (e.name = "cartesian"), + (e.attr = ["xaxis", "yaxis"]), + (e.idRoot = ["x", "y"]), + (e.idRegex = c.idRegex), + (e.attrRegex = c.attrRegex), + (e.attributes = r(89502)), + (e.layoutAttributes = r(13838)), + (e.supplyLayoutDefaults = r(86763)), + (e.transitionAxes = r(66847)), + (e.finalizeSubplots = function (t, e) { + var r, + n, + i, + o = e._subplots, + s = o.xaxis, + l = o.yaxis, + f = o.cartesian, + h = f.concat(o.gl2d || []), + p = {}, + d = {}; + for (r = 0; r < h.length; r++) { + var v = h[r].split("y"); + (p[v[0]] = 1), (d["y" + v[1]] = 1); + } + for (r = 0; r < s.length; r++) + p[(n = s[r])] || + ((i = (t[u.id2name(n)] || {}).anchor), + c.idRegex.y.test(i) || (i = "y"), + f.push(n + i), + h.push(n + i), + d[i] || ((d[i] = 1), a.pushUnique(l, i))); + for (r = 0; r < l.length; r++) + d[(i = l[r])] || + ((n = (t[u.id2name(i)] || {}).anchor), + c.idRegex.x.test(n) || (n = "x"), + f.push(n + i), + h.push(n + i), + p[n] || ((p[n] = 1), a.pushUnique(s, n))); + if (!h.length) { + for (var g in ((n = ""), (i = ""), t)) + c.attrRegex.test(g) && + ("x" === g.charAt(0) + ? (!n || +g.substr(5) < +n.substr(5)) && (n = g) + : (!i || +g.substr(5) < +i.substr(5)) && (i = g)); + (n = n ? u.name2id(n) : "x"), + (i = i ? u.name2id(i) : "y"), + s.push(n), + l.push(i), + f.push(n + i); + } + }), + (e.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 (i = 0; i < o.length; i++) { + for ( + var l, u = o[i], c = a._plots[u], f = [], h = 0; + h < s.length; + h++ + ) { + var p = s[h], + v = p[0].trace; + v.xaxis + v.yaxis === u && + ((-1 !== e.indexOf(v.index) || v.carpet) && + (l && + l[0].trace.xaxis + l[0].trace.yaxis === u && + -1 !== + ["tonextx", "tonexty", "tonext"].indexOf( + v.fill, + ) && + -1 === f.indexOf(l) && + f.push(l), + f.push(p)), + (l = p)); + } + d(t, c, f, r, n); + } + }), + (e.clean = function (t, e, r, n) { + var i, + a, + o, + s = n._plots || {}, + l = e._plots || {}, + c = n._subplots || {}; + if (n._hasOnlyLargeSploms && !e._hasOnlyLargeSploms) + for (o in s) + (i = s[o]).plotgroup && i.plotgroup.remove(); + var f = n._has && n._has("gl"), + h = e._has && e._has("gl"); + if (f && !h) + for (o in s) (i = s[o])._scene && i._scene.destroy(); + if (c.xaxis && c.yaxis) { + var p = u.listIds({ _fullLayout: n }); + for (a = 0; a < p.length; a++) { + var d = p[a]; + e[u.id2name(d)] || + n._infolayer + .selectAll(".g-" + d + "title") + .remove(); + } + } + var v = n._has && n._has("cartesian"), + m = e._has && e._has("cartesian"); + if (v && !m) + g(n._cartesianlayer.selectAll(".subplot"), n), + n._defs.selectAll(".axesclip").remove(), + delete n._axisConstraintGroups, + delete n._axisMatchGroups; + else if (c.cartesian) + for (a = 0; a < c.cartesian.length; a++) { + var x = c.cartesian[a]; + if (!l[x]) { + var b = "." + x + ",." + x + "-x,." + x + "-y"; + n._cartesianlayer.selectAll(b).remove(), y(x, n); + } + } + }), + (e.drawFramework = function (t) { + var e = t._fullLayout, + r = (function (t) { + var e, + r, + n, + i, + a, + o, + s = t._fullLayout, + l = s._subplots.cartesian, + u = l.length, + c = [], + f = []; + for (e = 0; e < u; e++) { + (n = l[e]), + (a = (i = s._plots[n]).xaxis), + (o = i.yaxis); + var h = a._mainAxis, + p = o._mainAxis, + d = h._id + p._id, + v = s._plots[d]; + (i.overlays = []), + d !== n && v + ? ((i.mainplot = d), + (i.mainplotinfo = v), + f.push(n)) + : ((i.mainplot = void 0), + (i.mainplotinfo = void 0), + c.push(n)); + } + for (e = 0; e < f.length; e++) + (n = f[e]), + (i = s._plots[n]).mainplotinfo.overlays.push(i); + var g = c.concat(f), + y = new Array(u); + for (e = 0; e < u; e++) { + (n = g[e]), + (a = (i = s._plots[n]).xaxis), + (o = i.yaxis); + var m = [ + n, + a.layer, + o.layer, + a.overlaying || "", + o.overlaying || "", + ]; + for (r = 0; r < i.overlays.length; r++) + m.push(i.overlays[r].id); + y[e] = m; + } + return y; + })(t), + i = e._cartesianlayer + .selectAll(".subplot") + .data(r, String); + i + .enter() + .append("g") + .attr("class", function (t) { + return "subplot " + t[0]; + }), + i.order(), + i.exit().call(g, e), + i.each(function (r) { + var i = r[0], + a = e._plots[i]; + (a.plotgroup = n.select(this)), + v(t, a), + (a.draglayer = h(e._draggers, "g", i)); + }); + }), + (e.rangePlot = function (t, e, r) { + v(t, e), d(t, e, r), o.style(t); + }), + (e.toSVG = function (t) { + var e = t._fullLayout._glimages, + r = n.select(t).selectAll(".svg-container"); + r.filter(function (t, e) { + return e === r.size() - 1; + }) + .selectAll(".gl-canvas-context, .gl-canvas-focus") + .each(function () { + var t = this, + r = t.toDataURL("image/png"); + e.append("svg:image").attr({ + xmlns: f.svg, + "xlink:href": r, + preserveAspectRatio: "none", + x: 0, + y: 0, + width: t.style.width, + height: t.style.height, + }); + }); + }), + (e.updateFx = r(4305).updateFx); + }, + 13838: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(22399), + a = r(79952).P, + o = r(1426).extendFlat, + s = r(44467).templatedArray, + l = r(12663).descriptionWithDates, + u = r(50606).ONEDAY, + c = r(85555), + f = c.HOUR_PATTERN, + h = c.WEEKDAY_PATTERN, + p = { + valType: "enumerated", + values: ["auto", "linear", "array"], + editType: "ticks", + impliedEdits: { tick0: void 0, dtick: void 0 }, + }, + d = o({}, p, { values: p.values.slice().concat(["sync"]) }); + function v(t) { + return { + valType: "integer", + min: 0, + dflt: t ? 5 : 0, + editType: "ticks", + }; + } + var g = { + valType: "any", + editType: "ticks", + impliedEdits: { tickmode: "linear" }, + }, + y = { + valType: "any", + editType: "ticks", + impliedEdits: { tickmode: "linear" }, + }, + m = { valType: "data_array", editType: "ticks" }, + x = { + valType: "enumerated", + values: ["outside", "inside", ""], + editType: "ticks", + }; + function b(t) { + var e = { valType: "number", min: 0, editType: "ticks" }; + return t || (e.dflt = 5), e; + } + function _(t) { + var e = { valType: "number", min: 0, editType: "ticks" }; + return t || (e.dflt = 1), e; + } + var w = { + valType: "color", + dflt: i.defaultLine, + editType: "ticks", + }, + T = { + valType: "color", + dflt: i.lightLine, + editType: "ticks", + }; + function k(t) { + var e = { valType: "number", min: 0, editType: "ticks" }; + return t || (e.dflt = 1), e; + } + var A = o({}, a, { editType: "ticks" }), + M = { valType: "boolean", editType: "ticks" }; + t.exports = { + visible: { valType: "boolean", editType: "plot" }, + color: { + valType: "color", + dflt: i.defaultLine, + editType: "ticks", + }, + title: { + text: { valType: "string", editType: "ticks" }, + font: n({ editType: "ticks" }), + standoff: { + valType: "number", + min: 0, + editType: "ticks", + }, + editType: "ticks", + }, + type: { + valType: "enumerated", + values: [ + "-", + "linear", + "log", + "date", + "category", + "multicategory", + ], + dflt: "-", + editType: "calc", + _noTemplating: !0, + }, + autotypenumbers: { + valType: "enumerated", + values: ["convert types", "strict"], + dflt: "convert types", + editType: "calc", + }, + autorange: { + valType: "enumerated", + values: [ + !0, + !1, + "reversed", + "min reversed", + "max reversed", + "min", + "max", + ], + dflt: !0, + editType: "axrange", + impliedEdits: { "range[0]": void 0, "range[1]": void 0 }, + }, + autorangeoptions: { + minallowed: { + valType: "any", + editType: "plot", + impliedEdits: { + "range[0]": void 0, + "range[1]": void 0, + }, + }, + maxallowed: { + valType: "any", + editType: "plot", + impliedEdits: { + "range[0]": void 0, + "range[1]": void 0, + }, + }, + clipmin: { + valType: "any", + editType: "plot", + impliedEdits: { + "range[0]": void 0, + "range[1]": void 0, + }, + }, + clipmax: { + valType: "any", + editType: "plot", + impliedEdits: { + "range[0]": void 0, + "range[1]": void 0, + }, + }, + include: { + valType: "any", + arrayOk: !0, + editType: "plot", + impliedEdits: { + "range[0]": void 0, + "range[1]": void 0, + }, + }, + editType: "plot", + }, + rangemode: { + valType: "enumerated", + values: ["normal", "tozero", "nonnegative"], + dflt: "normal", + editType: "plot", + }, + range: { + valType: "info_array", + items: [ + { + valType: "any", + editType: "axrange", + impliedEdits: { "^autorange": !1 }, + anim: !0, + }, + { + valType: "any", + editType: "axrange", + impliedEdits: { "^autorange": !1 }, + anim: !0, + }, + ], + editType: "axrange", + impliedEdits: { autorange: !1 }, + anim: !0, + }, + minallowed: { + valType: "any", + editType: "plot", + impliedEdits: { "^autorange": !1 }, + }, + maxallowed: { + valType: "any", + editType: "plot", + impliedEdits: { "^autorange": !1 }, + }, + fixedrange: { + valType: "boolean", + dflt: !1, + editType: "calc", + }, + scaleanchor: { + valType: "enumerated", + values: [ + c.idRegex.x.toString(), + c.idRegex.y.toString(), + !1, + ], + editType: "plot", + }, + scaleratio: { + valType: "number", + min: 0, + dflt: 1, + editType: "plot", + }, + constrain: { + valType: "enumerated", + values: ["range", "domain"], + editType: "plot", + }, + constraintoward: { + valType: "enumerated", + values: [ + "left", + "center", + "right", + "top", + "middle", + "bottom", + ], + editType: "plot", + }, + matches: { + valType: "enumerated", + values: [c.idRegex.x.toString(), c.idRegex.y.toString()], + editType: "calc", + }, + rangebreaks: s("rangebreak", { + enabled: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + bounds: { + valType: "info_array", + items: [ + { valType: "any", editType: "calc" }, + { valType: "any", editType: "calc" }, + ], + editType: "calc", + }, + pattern: { + valType: "enumerated", + values: [h, f, ""], + editType: "calc", + }, + values: { + valType: "info_array", + freeLength: !0, + editType: "calc", + items: { valType: "any", editType: "calc" }, + }, + dvalue: { + valType: "number", + editType: "calc", + min: 0, + dflt: u, + }, + editType: "calc", + }), + tickmode: d, + nticks: v(), + tick0: g, + dtick: y, + ticklabelstep: { + valType: "integer", + min: 1, + dflt: 1, + editType: "ticks", + }, + tickvals: m, + ticktext: { valType: "data_array", editType: "ticks" }, + ticks: x, + tickson: { + valType: "enumerated", + values: ["labels", "boundaries"], + dflt: "labels", + editType: "ticks", + }, + ticklabelmode: { + valType: "enumerated", + values: ["instant", "period"], + dflt: "instant", + editType: "ticks", + }, + ticklabelposition: { + valType: "enumerated", + values: [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom", + ], + dflt: "outside", + editType: "calc", + }, + ticklabeloverflow: { + valType: "enumerated", + values: ["allow", "hide past div", "hide past domain"], + editType: "calc", + }, + mirror: { + valType: "enumerated", + values: [!0, "ticks", !1, "all", "allticks"], + dflt: !1, + editType: "ticks+layoutstyle", + }, + ticklen: b(), + tickwidth: _(), + tickcolor: w, + showticklabels: { + valType: "boolean", + dflt: !0, + editType: "ticks", + }, + labelalias: { valType: "any", dflt: !1, editType: "ticks" }, + automargin: { + valType: "flaglist", + flags: [ + "height", + "width", + "left", + "right", + "top", + "bottom", + ], + extras: [!0, !1], + dflt: !1, + editType: "ticks", + }, + showspikes: { + valType: "boolean", + dflt: !1, + editType: "modebar", + }, + spikecolor: { + valType: "color", + dflt: null, + editType: "none", + }, + spikethickness: { + valType: "number", + dflt: 3, + editType: "none", + }, + spikedash: o({}, a, { dflt: "dash", editType: "none" }), + spikemode: { + valType: "flaglist", + flags: ["toaxis", "across", "marker"], + dflt: "toaxis", + editType: "none", + }, + spikesnap: { + valType: "enumerated", + values: ["data", "cursor", "hovered data"], + dflt: "hovered data", + editType: "none", + }, + tickfont: n({ editType: "ticks" }), + tickangle: { + valType: "angle", + dflt: "auto", + editType: "ticks", + }, + tickprefix: { + valType: "string", + dflt: "", + editType: "ticks", + }, + showtickprefix: { + valType: "enumerated", + values: ["all", "first", "last", "none"], + dflt: "all", + editType: "ticks", + }, + ticksuffix: { + valType: "string", + dflt: "", + editType: "ticks", + }, + showticksuffix: { + valType: "enumerated", + values: ["all", "first", "last", "none"], + dflt: "all", + editType: "ticks", + }, + showexponent: { + valType: "enumerated", + values: ["all", "first", "last", "none"], + dflt: "all", + editType: "ticks", + }, + exponentformat: { + valType: "enumerated", + values: ["none", "e", "E", "power", "SI", "B"], + dflt: "B", + editType: "ticks", + }, + minexponent: { + valType: "number", + dflt: 3, + min: 0, + editType: "ticks", + }, + separatethousands: { + valType: "boolean", + dflt: !1, + editType: "ticks", + }, + tickformat: { + valType: "string", + dflt: "", + editType: "ticks", + description: l("tick label"), + }, + tickformatstops: s("tickformatstop", { + enabled: { + valType: "boolean", + dflt: !0, + editType: "ticks", + }, + dtickrange: { + valType: "info_array", + items: [ + { valType: "any", editType: "ticks" }, + { valType: "any", editType: "ticks" }, + ], + editType: "ticks", + }, + value: { valType: "string", dflt: "", editType: "ticks" }, + editType: "ticks", + }), + hoverformat: { + valType: "string", + dflt: "", + editType: "none", + description: l("hover text"), + }, + showline: { + valType: "boolean", + dflt: !1, + editType: "ticks+layoutstyle", + }, + linecolor: { + valType: "color", + dflt: i.defaultLine, + editType: "layoutstyle", + }, + linewidth: { + valType: "number", + min: 0, + dflt: 1, + editType: "ticks+layoutstyle", + }, + showgrid: M, + gridcolor: T, + gridwidth: k(), + griddash: A, + zeroline: { valType: "boolean", editType: "ticks" }, + zerolinecolor: { + valType: "color", + dflt: i.defaultLine, + editType: "ticks", + }, + zerolinewidth: { + valType: "number", + dflt: 1, + editType: "ticks", + }, + showdividers: { + valType: "boolean", + dflt: !0, + editType: "ticks", + }, + dividercolor: { + valType: "color", + dflt: i.defaultLine, + editType: "ticks", + }, + dividerwidth: { + valType: "number", + dflt: 1, + editType: "ticks", + }, + anchor: { + valType: "enumerated", + values: [ + "free", + c.idRegex.x.toString(), + c.idRegex.y.toString(), + ], + editType: "plot", + }, + side: { + valType: "enumerated", + values: ["top", "bottom", "left", "right"], + editType: "plot", + }, + overlaying: { + valType: "enumerated", + values: [ + "free", + c.idRegex.x.toString(), + c.idRegex.y.toString(), + ], + editType: "plot", + }, + minor: { + tickmode: p, + nticks: v("minor"), + tick0: g, + dtick: y, + tickvals: m, + ticks: x, + ticklen: b("minor"), + tickwidth: _("minor"), + tickcolor: w, + gridcolor: T, + gridwidth: k("minor"), + griddash: A, + showgrid: M, + editType: "ticks", + }, + 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" }, + { valType: "number", min: 0, max: 1, editType: "plot" }, + ], + dflt: [0, 1], + editType: "plot", + }, + position: { + valType: "number", + min: 0, + max: 1, + dflt: 0, + editType: "plot", + }, + autoshift: { + valType: "boolean", + dflt: !1, + editType: "plot", + }, + shift: { valType: "number", editType: "plot" }, + categoryorder: { + valType: "enumerated", + values: [ + "trace", + "category ascending", + "category descending", + "array", + "total ascending", + "total descending", + "min ascending", + "min descending", + "max ascending", + "max descending", + "sum ascending", + "sum descending", + "mean ascending", + "mean descending", + "median ascending", + "median descending", + ], + dflt: "trace", + editType: "calc", + }, + categoryarray: { valType: "data_array", editType: "calc" }, + uirevision: { valType: "any", editType: "none" }, + editType: "calc", + _deprecated: { + autotick: { valType: "boolean", editType: "ticks" }, + title: { valType: "string", editType: "ticks" }, + titlefont: n({ editType: "ticks" }), + }, + }; + }, + 86763: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(23469).isUnifiedHover, + o = r(98212), + s = r(44467), + l = r(10820), + u = r(13838), + c = r(951), + f = r(71453), + h = r(99082), + p = r(52830), + d = r(41675), + v = d.id2name, + g = d.name2id, + y = r(85555).AX_ID_PATTERN, + m = r(73972), + x = m.traceIs, + b = m.getComponentMethod; + function _(t, e, r) { + Array.isArray(t[e]) ? t[e].push(r) : (t[e] = [r]); + } + t.exports = function (t, e, r) { + var m, + w, + T = e.autotypenumbers, + k = {}, + A = {}, + M = {}, + S = {}, + E = {}, + L = {}, + C = {}, + P = {}, + O = {}, + I = {}; + for (m = 0; m < r.length; m++) { + var D = r[m]; + if (x(D, "cartesian") || x(D, "gl2d")) { + var z, R; + if (D.xaxis) (z = v(D.xaxis)), _(k, z, D); + else if (D.xaxes) + for (w = 0; w < D.xaxes.length; w++) + _(k, v(D.xaxes[w]), D); + if (D.yaxis) (R = v(D.yaxis)), _(k, R, D); + else if (D.yaxes) + for (w = 0; w < D.yaxes.length; w++) + _(k, v(D.yaxes[w]), D); + "funnel" === D.type + ? "h" === D.orientation + ? (z && (A[z] = !0), R && (C[R] = !0)) + : R && (M[R] = !0) + : "image" === D.type + ? (R && (P[R] = !0), z && (P[z] = !0)) + : (R && ((E[R] = !0), (L[R] = !0)), + (x(D, "carpet") && + ("carpet" !== D.type || D._cheater)) || + (z && (S[z] = !0))), + "carpet" === D.type && D._cheater && z && (A[z] = !0), + x(D, "2dMap") && ((O[z] = !0), (O[R] = !0)), + x(D, "oriented") && + (I["h" === D.orientation ? R : z] = !0); + } + } + var F = e._subplots, + B = F.xaxis, + N = F.yaxis, + j = n.simpleMap(B, v), + U = n.simpleMap(N, v), + V = j.concat(U), + H = i.background; + B.length && + N.length && + (H = n.coerce(t, e, l, "plot_bgcolor")); + var q, + G, + Z, + Y, + W, + X = i.combine(H, e.paper_bgcolor); + function J() { + var t = k[q] || []; + (W._traceIndices = t.map(function (t) { + return t._expandedIndex; + })), + (W._annIndices = []), + (W._shapeIndices = []), + (W._selectionIndices = []), + (W._imgIndices = []), + (W._subplotsWith = []), + (W._counterAxes = []), + (W._name = W._attr = q), + (W._id = G); + } + function K(t, e) { + return n.coerce(Y, W, u, t, e); + } + function $(t, e) { + return n.coerce2(Y, W, u, t, e); + } + function Q(t) { + return "x" === t ? N : B; + } + function tt(e, r) { + for ( + var n = "x" === e ? j : U, i = [], a = 0; + a < n.length; + a++ + ) { + var o = n[a]; + o === r || (t[o] || {}).overlaying || i.push(g(o)); + } + return i; + } + var et = { x: Q("x"), y: Q("y") }, + rt = et.x.concat(et.y), + nt = {}, + it = []; + function at() { + var t = Y.matches; + y.test(t) && + -1 === rt.indexOf(t) && + ((nt[t] = Y.type), (it = Object.keys(nt))); + } + var ot = o(t, e), + st = a(ot); + for (m = 0; m < V.length; m++) { + (q = V[m]), + (G = g(q)), + (Z = q.charAt(0)), + n.isPlainObject(t[q]) || (t[q] = {}), + (Y = t[q]), + (W = s.newContainer(e, q, Z + "axis")), + J(); + var lt = + ("x" === Z && !S[q] && A[q]) || + ("y" === Z && !E[q] && M[q]), + ut = "y" === Z && ((!L[q] && C[q]) || P[q]), + ct = { + hasMinor: !0, + letter: Z, + font: e.font, + outerTicks: O[q], + showGrid: !I[q], + data: k[q] || [], + bgColor: X, + calendar: e.calendar, + automargin: !0, + visibleDflt: lt, + reverseDflt: ut, + autotypenumbersDflt: T, + splomStash: ((e._splomAxes || {})[Z] || {})[G], + }; + K("uirevision", e.uirevision), + c(Y, W, K, ct), + f(Y, W, K, ct, e); + var ft = st && Z === ot.charAt(0), + ht = $("spikecolor", st ? W.color : void 0), + pt = $("spikethickness", st ? 1.5 : void 0), + dt = $("spikedash", st ? "dot" : void 0), + vt = $("spikemode", st ? "across" : void 0), + gt = $("spikesnap"); + K("showspikes", !!(ft || ht || pt || dt || vt || gt)) || + (delete W.spikecolor, + delete W.spikethickness, + delete W.spikedash, + delete W.spikemode, + delete W.spikesnap); + var yt = v(Y.overlaying), + mt = [0, 1]; + if (void 0 !== e[yt]) { + var xt = v(e[yt].anchor); + void 0 !== e[xt] && (mt = e[xt].domain); + } + p(Y, W, K, { + letter: Z, + counterAxes: et[Z], + overlayableAxes: tt(Z, q), + grid: e.grid, + overlayingDomain: mt, + }), + K("title.standoff"), + at(), + (W._input = Y); + } + for (m = 0; m < it.length; ) { + (G = it[m++]), + (Z = (q = v(G)).charAt(0)), + n.isPlainObject(t[q]) || (t[q] = {}), + (Y = t[q]), + (W = s.newContainer(e, q, Z + "axis")), + J(); + var bt = { + letter: Z, + font: e.font, + outerTicks: O[q], + showGrid: !I[q], + data: [], + bgColor: X, + calendar: e.calendar, + automargin: !0, + visibleDflt: !1, + reverseDflt: !1, + autotypenumbersDflt: T, + splomStash: ((e._splomAxes || {})[Z] || {})[G], + }; + K("uirevision", e.uirevision), + (W.type = nt[G] || "linear"), + f(Y, W, K, bt, e), + p(Y, W, K, { + letter: Z, + counterAxes: et[Z], + overlayableAxes: tt(Z, q), + grid: e.grid, + }), + K("fixedrange"), + at(), + (W._input = Y); + } + var _t = b("rangeslider", "handleDefaults"), + wt = b("rangeselector", "handleDefaults"); + for (m = 0; m < j.length; m++) + (q = j[m]), + (Y = t[q]), + (W = e[q]), + _t(t, e, q), + "date" === W.type && wt(Y, W, e, U, W.calendar), + K("fixedrange"); + for (m = 0; m < U.length; m++) { + (q = U[m]), (Y = t[q]), (W = e[q]); + var Tt = e[v(W.anchor)]; + K("fixedrange", b("rangeslider", "isVisible")(Tt)); + } + h.handleDefaults(t, e, { + axIds: rt.concat(it).sort(d.idSort), + axHasImage: P, + }); + }; + }, + 92128: function (t, e, r) { + "use strict"; + var n = r(84267).mix, + i = r(22399), + a = r(71828); + t.exports = function (t, e, r, o) { + var s = (o = o || {}).dfltColor; + function l(r, n) { + return a.coerce2(t, e, o.attributes, r, n); + } + var u = l("linecolor", s), + c = l("linewidth"); + r("showline", o.showLine || !!u || !!c) || + (delete e.linecolor, delete e.linewidth); + var f = l( + "gridcolor", + n( + s, + o.bgColor, + o.blend || i.lightFraction, + ).toRgbString(), + ), + h = l("gridwidth"), + p = l("griddash"); + if ( + (r("showgrid", o.showGrid || !!f || !!h || !!p) || + (delete e.gridcolor, + delete e.gridwidth, + delete e.griddash), + o.hasMinor) + ) { + var d = l( + "minor.gridcolor", + n(e.gridcolor, o.bgColor, 67).toRgbString(), + ), + v = l("minor.gridwidth", e.gridwidth || 1), + g = l("minor.griddash", e.griddash || "solid"); + r("minor.showgrid", !!d || !!v || !!g) || + (delete e.minor.gridcolor, + delete e.minor.gridwidth, + delete e.minor.griddash); + } + if (!o.noZeroLine) { + var y = l("zerolinecolor", s), + m = l("zerolinewidth"); + r("zeroline", o.showGrid || !!y || !!m) || + (delete e.zerolinecolor, delete e.zerolinewidth); + } + }; + }, + 52830: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828); + t.exports = function (t, e, r, a) { + var o, + s, + l, + u, + c, + f, + h = a.counterAxes || [], + p = a.overlayableAxes || [], + d = a.letter, + v = a.grid, + g = a.overlayingDomain; + v && + ((s = v._domains[d][v._axisMap[e._id]]), + (o = v._anchors[e._id]), + s && + ((l = v[d + "side"].split(" ")[0]), + (u = + v.domain[d]["right" === l || "top" === l ? 1 : 0]))), + (s = s || [0, 1]), + (o = o || (n(t.position) ? "free" : h[0] || "free")), + (l = l || ("x" === d ? "bottom" : "left")), + (u = u || 0), + (c = 0), + (f = !1); + var y = i.coerce( + t, + e, + { + anchor: { + valType: "enumerated", + values: ["free"].concat(h), + dflt: o, + }, + }, + "anchor", + ), + m = i.coerce( + t, + e, + { + side: { + valType: "enumerated", + values: + "x" === d ? ["bottom", "top"] : ["left", "right"], + dflt: l, + }, + }, + "side", + ); + "free" === y && + ("y" === d && + (r("autoshift") && + ((u = "left" === m ? g[0] : g[1]), + (f = !e.automargin || e.automargin), + (c = "left" === m ? -3 : 3)), + r("shift", c)), + r("position", u)), + r("automargin", f); + var x = !1; + if ( + (p.length && + (x = i.coerce( + t, + e, + { + overlaying: { + valType: "enumerated", + values: [!1].concat(p), + dflt: !1, + }, + }, + "overlaying", + )), + !x) + ) { + var b = r("domain", s); + b[0] > b[1] - 1 / 4096 && (e.domain = s), + i.noneOrAll(t.domain, e.domain, s), + "sync" === e.tickmode && (e.tickmode = "auto"); + } + return r("layer"), e; + }; + }, + 89426: function (t, e, r) { + "use strict"; + var n = r(59652); + t.exports = function (t, e, r, i, a) { + a || (a = {}); + var o = a.tickSuffixDflt, + s = n(t); + r("tickprefix") && r("showtickprefix", s), + r("ticksuffix", o) && r("showticksuffix", s); + }; + }, + 42449: function (t, e, r) { + "use strict"; + var n = r(18783).FROM_BL; + t.exports = function (t, e, r) { + void 0 === r && (r = n[t.constraintoward || "center"]); + var i = [t.r2l(t.range[0]), t.r2l(t.range[1])], + a = i[0] + (i[1] - i[0]) * r; + (t.range = t._input.range = + [t.l2r(a + (i[0] - a) * e), t.l2r(a + (i[1] - a) * e)]), + t.setScale(); + }; + }, + 21994: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(84096).g0, + a = r(71828), + o = a.numberFormat, + s = r(92770), + l = a.cleanNumber, + u = a.ms2DateTime, + c = a.dateTime2ms, + f = a.ensureNumber, + h = a.isArrayOrTypedArray, + p = r(50606), + d = p.FP_SAFE, + v = p.BADNUM, + g = p.LOG_CLIP, + y = p.ONEWEEK, + m = p.ONEDAY, + x = p.ONEHOUR, + b = p.ONEMIN, + _ = p.ONESEC, + w = r(41675), + T = r(85555), + k = T.HOUR_PATTERN, + A = T.WEEKDAY_PATTERN; + function M(t) { + return Math.pow(10, t); + } + function S(t) { + return null != t; + } + t.exports = function (t, e) { + e = e || {}; + var r = t._id || "x", + p = r.charAt(0); + function E(e, r) { + if (e > 0) return Math.log(e) / Math.LN10; + if (e <= 0 && r && t.range && 2 === t.range.length) { + var n = t.range[0], + i = t.range[1]; + return 0.5 * (n + i - 2 * g * Math.abs(n - i)); + } + return v; + } + function L(e, r, n, i) { + if ((i || {}).msUTC && s(e)) return +e; + var o = c(e, n || t.calendar); + if (o === v) { + if (!s(e)) return v; + e = +e; + var l = Math.floor(10 * a.mod(e + 0.05, 1)), + u = Math.round(e - l / 10); + o = c(new Date(u)) + l / 10; + } + return o; + } + function C(e, r, n) { + return u(e, r, n || t.calendar); + } + function P(e) { + return t._categories[Math.round(e)]; + } + function O(e) { + if (S(e)) { + if ( + (void 0 === t._categoriesMap && + (t._categoriesMap = {}), + void 0 !== t._categoriesMap[e]) + ) + return t._categoriesMap[e]; + t._categories.push( + "number" == typeof e ? String(e) : e, + ); + var r = t._categories.length - 1; + return (t._categoriesMap[e] = r), r; + } + return v; + } + function I(e) { + if (t._categoriesMap) return t._categoriesMap[e]; + } + function D(t) { + var e = I(t); + return void 0 !== e ? e : s(t) ? +t : void 0; + } + function z(t) { + return s(t) ? +t : I(t); + } + function R(t, e, r) { + return n.round(r + e * t, 2); + } + function F(t, e, r) { + return (t - r) / e; + } + var B = function (e) { + return s(e) ? R(e, t._m, t._b) : v; + }, + N = function (e) { + return F(e, t._m, t._b); + }; + if (t.rangebreaks) { + var j = "y" === p; + (B = function (e) { + if (!s(e)) return v; + var r = t._rangebreaks.length; + if (!r) return R(e, t._m, t._b); + var n = j; + t.range[0] > t.range[1] && (n = !n); + for ( + var i = n ? -1 : 1, a = i * e, o = 0, l = 0; + l < r; + l++ + ) { + var u = i * t._rangebreaks[l].min, + c = i * t._rangebreaks[l].max; + if (a < u) break; + if (!(a > c)) { + o = a < (u + c) / 2 ? l : l + 1; + break; + } + o = l + 1; + } + var f = t._B[o] || 0; + return isFinite(f) ? R(e, t._m2, f) : 0; + }), + (N = function (e) { + var r = t._rangebreaks.length; + if (!r) return F(e, t._m, t._b); + for ( + var n = 0, i = 0; + i < r && !(e < t._rangebreaks[i].pmin); + i++ + ) + e > t._rangebreaks[i].pmax && (n = i + 1); + return F(e, t._m2, t._B[n]); + }); + } + (t.c2l = "log" === t.type ? E : f), + (t.l2c = "log" === t.type ? M : f), + (t.l2p = B), + (t.p2l = N), + (t.c2p = + "log" === t.type + ? function (t, e) { + return B(E(t, e)); + } + : B), + (t.p2c = + "log" === t.type + ? function (t) { + return M(N(t)); + } + : N), + -1 !== ["linear", "-"].indexOf(t.type) + ? ((t.d2r = t.r2d = t.d2c = t.r2c = t.d2l = t.r2l = l), + (t.c2d = t.c2r = t.l2d = t.l2r = f), + (t.d2p = t.r2p = + function (e) { + return t.l2p(l(e)); + }), + (t.p2d = t.p2r = N), + (t.cleanPos = f)) + : "log" === t.type + ? ((t.d2r = t.d2l = + function (t, e) { + return E(l(t), e); + }), + (t.r2d = t.r2c = + function (t) { + return M(l(t)); + }), + (t.d2c = t.r2l = l), + (t.c2d = t.l2r = f), + (t.c2r = E), + (t.l2d = M), + (t.d2p = function (e, r) { + return t.l2p(t.d2r(e, r)); + }), + (t.p2d = function (t) { + return M(N(t)); + }), + (t.r2p = function (e) { + return t.l2p(l(e)); + }), + (t.p2r = N), + (t.cleanPos = f)) + : "date" === t.type + ? ((t.d2r = t.r2d = a.identity), + (t.d2c = t.r2c = t.d2l = t.r2l = L), + (t.c2d = t.c2r = t.l2d = t.l2r = C), + (t.d2p = t.r2p = + function (e, r, n) { + return t.l2p(L(e, 0, n)); + }), + (t.p2d = t.p2r = + function (t, e, r) { + return C(N(t), e, r); + }), + (t.cleanPos = function (e) { + return a.cleanDate(e, v, t.calendar); + })) + : "category" === t.type + ? ((t.d2c = t.d2l = O), + (t.r2d = t.c2d = t.l2d = P), + (t.d2r = t.d2l_noadd = D), + (t.r2c = function (e) { + var r = z(e); + return void 0 !== r ? r : t.fraction2r(0.5); + }), + (t.l2r = t.c2r = f), + (t.r2l = z), + (t.d2p = function (e) { + return t.l2p(t.r2c(e)); + }), + (t.p2d = function (t) { + return P(N(t)); + }), + (t.r2p = t.d2p), + (t.p2r = N), + (t.cleanPos = function (t) { + return "string" == typeof t && "" !== t ? t : f(t); + })) + : "multicategory" === t.type && + ((t.r2d = t.c2d = t.l2d = P), + (t.d2r = t.d2l_noadd = D), + (t.r2c = function (e) { + var r = D(e); + return void 0 !== r ? r : t.fraction2r(0.5); + }), + (t.r2c_just_indices = I), + (t.l2r = t.c2r = f), + (t.r2l = D), + (t.d2p = function (e) { + return t.l2p(t.r2c(e)); + }), + (t.p2d = function (t) { + return P(N(t)); + }), + (t.r2p = t.d2p), + (t.p2r = N), + (t.cleanPos = function (t) { + return Array.isArray(t) || + ("string" == typeof t && "" !== t) + ? t + : f(t); + }), + (t.setupMultiCategory = function (n) { + var i, + o, + s = t._traceIndices, + l = t._matchGroup; + if (l && 0 === t._categories.length) + for (var u in l) + if (u !== r) { + var c = e[w.id2name(u)]; + s = s.concat(c._traceIndices); + } + var f = [ + [0, {}], + [0, {}], + ], + d = []; + for (i = 0; i < s.length; i++) { + var v = n[s[i]]; + if (p in v) { + var g = v[p], + y = v._length || a.minRowLength(g); + if (h(g[0]) && h(g[1])) + for (o = 0; o < y; o++) { + var m = g[0][o], + x = g[1][o]; + S(m) && + S(x) && + (d.push([m, x]), + m in f[0][1] || (f[0][1][m] = f[0][0]++), + x in f[1][1] || (f[1][1][x] = f[1][0]++)); + } + } + } + for ( + d.sort(function (t, e) { + var r = f[0][1], + n = r[t[0]] - r[e[0]]; + if (n) return n; + var i = f[1][1]; + return i[t[1]] - i[e[1]]; + }), + i = 0; + i < d.length; + i++ + ) + O(d[i]); + })), + (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.limitRange = function (e) { + var r = t.minallowed, + n = t.maxallowed; + if (void 0 !== r || void 0 !== n) { + e || (e = "range"); + var i = a.nestedProperty(t, e).get(), + o = a.simpleMap(i, t.r2l), + s = o[1] < o[0]; + s && o.reverse(); + var l = a.simpleMap([r, n], t.r2l); + void 0 !== r && o[0] < l[0] && (i[s ? 1 : 0] = r), + void 0 !== n && o[1] > l[1] && (i[s ? 0 : 1] = n); + } + }), + (t.cleanRange = function (e, r) { + t._cleanRange(e, r), t.limitRange(e); + }), + (t._cleanRange = function (e, r) { + r || (r = {}), e || (e = "range"); + var n, + i, + o = a.nestedProperty(t, e).get(); + if ( + ((i = (i = + "date" === t.type + ? a.dfltRange(t.calendar) + : "y" === p + ? T.DFLTRANGEY + : "realaxis" === t._name + ? [0, 1] + : r.dfltRange || T.DFLTRANGEX).slice()), + ("tozero" !== t.rangemode && + "nonnegative" !== t.rangemode) || + (i[0] = 0), + o && 2 === o.length) + ) { + var l = null === o[0], + u = null === o[1]; + for ( + "date" !== t.type || + t.autorange || + ((o[0] = a.cleanDate(o[0], v, t.calendar)), + (o[1] = a.cleanDate(o[1], v, t.calendar))), + n = 0; + n < 2; + n++ + ) + if ("date" === t.type) { + if (!a.isDateTime(o[n], t.calendar)) { + t[e] = i; + break; + } + if (t.r2l(o[0]) === t.r2l(o[1])) { + var c = a.constrain( + t.r2l(o[0]), + a.MIN_MS + 1e3, + a.MAX_MS - 1e3, + ); + (o[0] = t.l2r(c - 1e3)), + (o[1] = t.l2r(c + 1e3)); + break; + } + } else { + if (!s(o[n])) { + if (l || u || !s(o[1 - n])) { + t[e] = i; + break; + } + o[n] = o[1 - n] * (n ? 10 : 0.1); + } + if ( + (o[n] < -d + ? (o[n] = -d) + : o[n] > d && (o[n] = d), + o[0] === o[1]) + ) { + var f = Math.max(1, Math.abs(1e-6 * o[0])); + (o[0] -= f), (o[1] += f); + } + } + } else a.nestedProperty(t, e).set(i); + }), + (t.setScale = function (r) { + var n = e._size; + if (t.overlaying) { + var i = w.getFromId({ _fullLayout: e }, t.overlaying); + t.domain = i.domain; + } + var a = r && t._r ? "_r" : "range", + o = t.calendar; + t.cleanRange(a); + var s, + l, + u = t.r2l(t[a][0], o), + c = t.r2l(t[a][1], o), + f = "y" === p; + if ( + (f + ? ((t._offset = n.t + (1 - t.domain[1]) * n.h), + (t._length = n.h * (t.domain[1] - t.domain[0])), + (t._m = t._length / (u - c)), + (t._b = -t._m * c)) + : ((t._offset = n.l + t.domain[0] * n.w), + (t._length = n.w * (t.domain[1] - t.domain[0])), + (t._m = t._length / (c - u)), + (t._b = -t._m * u)), + (t._rangebreaks = []), + (t._lBreaks = 0), + (t._m2 = 0), + (t._B = []), + t.rangebreaks && + ((t._rangebreaks = t.locateBreaks( + Math.min(u, c), + Math.max(u, c), + )), + t._rangebreaks.length)) + ) { + for (s = 0; s < t._rangebreaks.length; s++) + (l = t._rangebreaks[s]), + (t._lBreaks += Math.abs(l.max - l.min)); + var h = f; + u > c && (h = !h), h && t._rangebreaks.reverse(); + var d = h ? -1 : 1; + for ( + t._m2 = + (d * t._length) / (Math.abs(c - u) - t._lBreaks), + t._B.push(-t._m2 * (f ? c : u)), + s = 0; + s < t._rangebreaks.length; + s++ + ) + (l = t._rangebreaks[s]), + t._B.push( + t._B[t._B.length - 1] - + d * t._m2 * (l.max - l.min), + ); + for (s = 0; s < t._rangebreaks.length; s++) + ((l = t._rangebreaks[s]).pmin = B(l.min)), + (l.pmax = B(l.max)); + } + if (!isFinite(t._m) || !isFinite(t._b) || t._length < 0) + throw ( + ((e._replotting = !1), + new Error("Something went wrong with axis scaling")) + ); + }), + (t.maskBreaks = function (e) { + var r, + n, + i, + o, + s, + u = t.rangebreaks || []; + u._cachedPatterns || + (u._cachedPatterns = u.map(function (e) { + return e.enabled && e.bounds + ? a.simpleMap(e.bounds, e.pattern ? l : t.d2c) + : null; + })), + u._cachedValues || + (u._cachedValues = u.map(function (e) { + return e.enabled && e.values + ? a.simpleMap(e.values, t.d2c).sort(a.sorterAsc) + : null; + })); + for (var c = 0; c < u.length; c++) { + var f = u[c]; + if (f.enabled) + if (f.bounds) { + var h = f.pattern; + switch ( + ((n = (r = u._cachedPatterns[c])[0]), + (i = r[1]), + h) + ) { + case A: + (o = (s = new Date(e)).getUTCDay()), + n > i && ((i += 7), o < n && (o += 7)); + break; + case k: + (o = + (s = new Date(e)).getUTCHours() + + (s.getUTCMinutes() / 60 + + s.getUTCSeconds() / 3600 + + s.getUTCMilliseconds() / 36e5)), + n > i && ((i += 24), o < n && (o += 24)); + break; + case "": + o = e; + } + if (o >= n && o < i) return v; + } else + for ( + var p = u._cachedValues[c], d = 0; + d < p.length; + d++ + ) + if ( + ((i = (n = p[d]) + f.dvalue), e >= n && e < i) + ) + return v; + } + return e; + }), + (t.locateBreaks = function (e, r) { + var n, + i, + o, + s, + u = []; + if (!t.rangebreaks) return u; + var c = t.rangebreaks.slice().sort(function (t, e) { + return t.pattern === A && e.pattern === k + ? -1 + : e.pattern === A && t.pattern === k + ? 1 + : 0; + }), + f = function (t, n) { + if ( + (t = a.constrain(t, e, r)) !== + (n = a.constrain(n, e, r)) + ) { + for (var i = !0, o = 0; o < u.length; o++) { + var s = u[o]; + t < s.max && + n >= s.min && + (t < s.min && (s.min = t), + n > s.max && (s.max = n), + (i = !1)); + } + i && u.push({ min: t, max: n }); + } + }; + for (n = 0; n < c.length; n++) { + var h = c[n]; + if (h.enabled) + if (h.bounds) { + var p = e, + d = r; + h.pattern && (p = Math.floor(p)), + (o = (i = a.simpleMap( + h.bounds, + h.pattern ? l : t.r2l, + ))[0]), + (s = i[1]); + var v, + g, + w = new Date(p); + switch (h.pattern) { + case A: + (g = y), + (v = (s - o + (s < o ? 7 : 0)) * m), + (p += + o * m - + (w.getUTCDay() * m + + w.getUTCHours() * x + + w.getUTCMinutes() * b + + w.getUTCSeconds() * _ + + w.getUTCMilliseconds())); + break; + case k: + (g = m), + (v = (s - o + (s < o ? 24 : 0)) * x), + (p += + o * x - + (w.getUTCHours() * x + + w.getUTCMinutes() * b + + w.getUTCSeconds() * _ + + w.getUTCMilliseconds())); + break; + default: + (p = Math.min(i[0], i[1])), + (v = g = (d = Math.max(i[0], i[1])) - p); + } + for (var T = p; T < d; T += g) f(T, T + v); + } else + for ( + var M = a.simpleMap(h.values, t.d2c), S = 0; + S < M.length; + S++ + ) + f((o = M[S]), (s = o + h.dvalue)); + } + return ( + u.sort(function (t, e) { + return t.min - e.min; + }), + u + ); + }), + (t.makeCalcdata = function (e, r, n) { + var i, + o, + s, + l, + u = t.type, + c = "date" === u && e[r + "calendar"]; + if (r in e) { + if ( + ((i = e[r]), + (l = e._length || a.minRowLength(i)), + a.isTypedArray(i) && + ("linear" === u || "log" === u)) + ) { + if (l === i.length) return i; + if (i.subarray) return i.subarray(0, l); + } + if ("multicategory" === u) + return (function (t, e) { + for (var r = new Array(e), n = 0; n < e; n++) { + var i = (t[0] || [])[n], + a = (t[1] || [])[n]; + r[n] = I([i, a]); + } + return r; + })(i, l); + for (o = new Array(l), s = 0; s < l; s++) + o[s] = t.d2c(i[s], 0, c, n); + } else { + var f = r + "0" in e ? t.d2c(e[r + "0"], 0, c) : 0, + h = e["d" + r] ? Number(e["d" + r]) : 1; + for ( + i = e[{ x: "y", y: "x" }[r]], + l = e._length || i.length, + o = new Array(l), + s = 0; + s < l; + s++ + ) + o[s] = f + s * h; + } + if (t.rangebreaks) + for (s = 0; s < l; s++) o[s] = t.maskBreaks(o[s]); + return o; + }), + (t.isValidRange = function (e, r) { + return ( + Array.isArray(e) && + 2 === e.length && + ((r && null === e[0]) || s(t.r2l(e[0]))) && + ((r && null === e[1]) || s(t.r2l(e[1]))) + ); + }), + (t.getAutorangeDflt = function (e, r) { + var n = !t.isValidRange(e, "nullOk"); + return ( + n && r && r.reverseDflt + ? (n = "reversed") + : e && + (null === e[0] && null === e[1] + ? (n = !0) + : null === e[0] && null !== e[1] + ? (n = "min") + : null !== e[0] && + null === e[1] && + (n = "max")), + n + ); + }), + (t.isReversed = function () { + var e = t.autorange; + return ( + "reversed" === e || + "min reversed" === e || + "max reversed" === e + ); + }), + (t.isPtWithinRange = function (e, r) { + var n = t.c2l(e[p], null, r), + i = t.r2l(t.range[0]), + a = t.r2l(t.range[1]); + return i < a ? i <= n && n <= a : a <= n && n <= i; + }), + (t._emptyCategories = function () { + (t._categories = []), (t._categoriesMap = {}); + }), + (t.clearCalc = function () { + var r = t._matchGroup; + if (r) { + var n = null, + i = null; + for (var a in r) { + var o = e[w.id2name(a)]; + if (o._categories) { + (n = o._categories), (i = o._categoriesMap); + break; + } + } + n && i + ? ((t._categories = n), (t._categoriesMap = i)) + : t._emptyCategories(); + } else t._emptyCategories(); + if (t._initialCategories) + for (var s = 0; s < t._initialCategories.length; s++) + O(t._initialCategories[s]); + }), + (t.sortByInitialCategories = function () { + var n = []; + if ((t._emptyCategories(), t._initialCategories)) + for (var i = 0; i < t._initialCategories.length; i++) + O(t._initialCategories[i]); + n = n.concat(t._traceIndices); + var a = t._matchGroup; + for (var o in a) + if (r !== o) { + var s = e[w.id2name(o)]; + (s._categories = t._categories), + (s._categoriesMap = t._categoriesMap), + (n = n.concat(s._traceIndices)); + } + return n; + }); + var U = e._d3locale; + "date" === t.type && + ((t._dateFormat = U ? U.timeFormat : i), + (t._extraFormat = e._extraFormat)), + (t._separators = e.separators), + (t._numFormat = U ? U.numberFormat : o), + delete t._minDtick, + delete t._forceTick0; + }; + }, + 59652: function (t) { + "use strict"; + t.exports = 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]]; + }; + }, + 96115: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901).contrast, + a = r(13838), + o = r(59652), + s = r(85501); + function l(t, e) { + function r(r, i) { + return n.coerce(t, e, a.tickformatstops, r, i); + } + r("enabled") && (r("dtickrange"), r("value")); + } + t.exports = function (t, e, r, u, c) { + c || (c = {}); + var f = r("labelalias"); + n.isPlainObject(f) || delete e.labelalias; + var h = o(t); + if (r("showticklabels")) { + var p = c.font || {}, + d = e.color, + v = + -1 !== (e.ticklabelposition || "").indexOf("inside") + ? i(c.bgColor) + : d && d !== a.color.dflt + ? d + : p.color; + if ( + (n.coerceFont(r, "tickfont", { + family: p.family, + size: p.size, + color: v, + }), + c.noTicklabelstep || + "multicategory" === u || + "log" === u || + r("ticklabelstep"), + c.noAng || r("tickangle"), + "category" !== u) + ) { + var g = r("tickformat"); + s(t, e, { + name: "tickformatstops", + inclusionAttr: "enabled", + handleItemDefaults: l, + }), + e.tickformatstops.length || delete e.tickformatstops, + c.noExp || + g || + "date" === u || + (r("showexponent", h), + r("exponentformat"), + r("minexponent"), + r("separatethousands")); + } + } + }; + }, + 38701: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(13838); + t.exports = function (t, e, r, a) { + var o = a.isMinor, + s = o ? t.minor || {} : t, + l = o ? e.minor : e, + u = o ? i.minor : i, + c = o ? "minor." : "", + f = n.coerce2( + s, + l, + u, + "ticklen", + o ? 0.6 * (e.ticklen || 5) : void 0, + ), + h = n.coerce2( + s, + l, + u, + "tickwidth", + o ? e.tickwidth || 1 : void 0, + ), + p = n.coerce2( + s, + l, + u, + "tickcolor", + (o ? e.tickcolor : void 0) || l.color, + ); + r( + c + "ticks", + (!o && a.outerTicks) || f || h || p ? "outside" : "", + ) || + (delete l.ticklen, + delete l.tickwidth, + delete l.tickcolor); + }; + }, + 26218: function (t, e, r) { + "use strict"; + var n = r(66287), + i = r(71828).isArrayOrTypedArray; + t.exports = function (t, e, r, a, o) { + o || (o = {}); + var s = o.isMinor, + l = s ? t.minor || {} : t, + u = s ? e.minor : e, + c = s ? "minor." : ""; + function f(t) { + var e = l[t]; + return void 0 !== e ? e : (u._template || {})[t]; + } + var h = f("tick0"), + p = f("dtick"), + d = f("tickvals"), + v = r( + c + "tickmode", + i(d) ? "array" : p ? "linear" : "auto", + ); + if ("auto" === v || "sync" === v) r(c + "nticks"); + else if ("linear" === v) { + var g = (u.dtick = n.dtick(p, a)); + u.tick0 = n.tick0(h, a, e.calendar, g); + } else + "multicategory" !== a && + (void 0 === r(c + "tickvals") + ? (u.tickmode = "auto") + : s || r("ticktext")); + }; + }, + 66847: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(71828), + o = r(91424), + s = r(89298); + t.exports = function (t, e, r, l) { + var u = t._fullLayout; + if (0 !== e.length) { + var c, f, h, p; + l && (c = l()); + var d = n.ease(r.easing); + return ( + t._transitionData._interruptCallbacks.push(function () { + return ( + window.cancelAnimationFrame(p), + (p = null), + (function () { + for (var r = {}, n = 0; n < e.length; n++) { + var a = e[n], + o = a.plotinfo.xaxis, + s = a.plotinfo.yaxis; + a.xr0 && + (r[o._name + ".range"] = a.xr0.slice()), + a.yr0 && + (r[s._name + ".range"] = a.yr0.slice()); + } + return i.call("relayout", t, r).then(function () { + for (var t = 0; t < e.length; t++) + v(e[t].plotinfo); + }); + })() + ); + }), + (f = Date.now()), + (p = window.requestAnimationFrame(function n() { + h = Date.now(); + for ( + var a = Math.min(1, (h - f) / r.duration), + o = d(a), + s = 0; + s < e.length; + s++ + ) + g(e[s], o); + h - f > r.duration + ? ((function () { + for (var r = {}, n = 0; n < e.length; n++) { + var a = e[n], + o = a.plotinfo.xaxis, + s = a.plotinfo.yaxis; + a.xr1 && + (r[o._name + ".range"] = a.xr1.slice()), + a.yr1 && + (r[s._name + ".range"] = a.yr1.slice()); + } + c && c(), + i.call("relayout", t, r).then(function () { + for (var t = 0; t < e.length; t++) + v(e[t].plotinfo); + }); + })(), + (p = window.cancelAnimationFrame(n))) + : (p = window.requestAnimationFrame(n)); + })), + Promise.resolve() + ); + } + function v(t) { + var e = t.xaxis, + r = t.yaxis; + u._defs + .select("#" + t.clipId + "> rect") + .call(o.setTranslate, 0, 0) + .call(o.setScale, 1, 1), + t.plot + .call(o.setTranslate, e._offset, r._offset) + .call(o.setScale, 1, 1); + var n = t.plot.selectAll(".scatterlayer .trace"); + n.selectAll(".point").call(o.setPointGroupScale, 1, 1), + n + .selectAll(".textpoint") + .call(o.setTextPointsScale, 1, 1), + n.call(o.hideOutsideRangePoints, t); + } + function g(e, r) { + var n = e.plotinfo, + i = n.xaxis, + l = n.yaxis, + u = i._length, + c = l._length, + f = !!e.xr1, + h = !!e.yr1, + p = []; + if (f) { + var d = a.simpleMap(e.xr0, i.r2l), + v = a.simpleMap(e.xr1, i.r2l), + g = d[1] - d[0], + y = v[1] - v[0]; + (p[0] = + ((d[0] * (1 - r) + r * v[0] - d[0]) / (d[1] - d[0])) * + u), + (p[2] = u * (1 - r + (r * y) / g)), + (i.range[0] = i.l2r(d[0] * (1 - r) + r * v[0])), + (i.range[1] = i.l2r(d[1] * (1 - r) + r * v[1])); + } else (p[0] = 0), (p[2] = u); + if (h) { + var m = a.simpleMap(e.yr0, l.r2l), + x = a.simpleMap(e.yr1, l.r2l), + b = m[1] - m[0], + _ = x[1] - x[0]; + (p[1] = + ((m[1] * (1 - r) + r * x[1] - m[1]) / (m[0] - m[1])) * + c), + (p[3] = c * (1 - r + (r * _) / b)), + (l.range[0] = i.l2r(m[0] * (1 - r) + r * x[0])), + (l.range[1] = l.l2r(m[1] * (1 - r) + r * x[1])); + } else (p[1] = 0), (p[3] = c); + s.drawOne(t, i, { skipTitle: !0 }), + s.drawOne(t, l, { skipTitle: !0 }), + s.redrawComponents(t, [i._id, l._id]); + var w = f ? u / p[2] : 1, + T = h ? c / p[3] : 1, + k = f ? p[0] : 0, + A = h ? p[1] : 0, + M = f ? (p[0] / p[2]) * u : 0, + S = h ? (p[1] / p[3]) * c : 0, + E = i._offset - M, + L = l._offset - S; + n.clipRect + .call(o.setTranslate, k, A) + .call(o.setScale, 1 / w, 1 / T), + n.plot + .call(o.setTranslate, E, L) + .call(o.setScale, w, T), + o.setPointGroupScale(n.zoomScalePts, 1 / w, 1 / T), + o.setTextPointsScale(n.zoomScaleTxt, 1 / w, 1 / T); + } + s.redrawComponents(t); + }; + }, + 951: function (t, e, r) { + "use strict"; + var n = r(73972).traceIs, + i = r(4322); + function a(t) { + return { v: "x", h: "y" }[t.orientation || "v"]; + } + function o(t, e) { + var r = a(t), + i = n(t, "box-violin"), + o = n(t._fullInput || {}, "candlestick"); + return ( + i && + !o && + e === r && + void 0 === t[r] && + void 0 === t[r + "0"] + ); + } + t.exports = function (t, e, r, s) { + r("autotypenumbers", s.autotypenumbersDflt), + "-" === r("type", (s.splomStash || {}).type) && + ((function (t, e) { + if ("-" === t.type) { + var r, + s = t._id, + l = s.charAt(0); + -1 !== s.indexOf("scene") && (s = l); + var u = (function (t, e, r) { + for (var n = 0; n < t.length; n++) { + var i = t[n]; + if ( + "splom" === i.type && + i._length > 0 && + (i["_" + r + "axes"] || {})[e] + ) + return i; + if ((i[r + "axis"] || r) === e) { + if (o(i, r)) return i; + if ((i[r] || []).length || i[r + "0"]) + return i; + } + } + })(e, s, l); + if (u) + if ( + "histogram" !== u.type || + l !== { v: "y", h: "x" }[u.orientation || "v"] + ) { + var c = l + "calendar", + f = u[c], + h = { + noMultiCategory: + !n(u, "cartesian") || + n(u, "noMultiCategory"), + }; + if ( + ("box" === u.type && + u._hasPreCompStats && + l === + { h: "x", v: "y" }[ + u.orientation || "v" + ] && + (h.noMultiCategory = !0), + (h.autotypenumbers = t.autotypenumbers), + o(u, l)) + ) { + var p = a(u), + d = []; + for (r = 0; r < e.length; r++) { + var v = e[r]; + n(v, "box-violin") && + (v[l + "axis"] || l) === s && + (void 0 !== v[p] + ? d.push(v[p][0]) + : void 0 !== v.name + ? d.push(v.name) + : d.push("text"), + v[c] !== f && (f = void 0)); + } + t.type = i(d, f, h); + } else if ("splom" === u.type) { + var g = u.dimensions[u._axesDim[s]]; + g.visible && (t.type = i(g.values, f, h)); + } else t.type = i(u[l] || [u[l + "0"]], f, h); + } else t.type = "linear"; + } + })(e, s.data), + "-" === e.type + ? (e.type = "linear") + : (t.type = e.type)); + }; + }, + 31137: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828); + function a(t, e, r) { + var n, + a, + o, + s = !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 ( + (a = i.nestedProperty(n, e.prop).get()), + (o = r[e.type] = r[e.type] || {}).hasOwnProperty( + e.prop, + ) && + o[e.prop] !== a && + (s = !0), + (o[e.prop] = a), + { changed: s, value: a } + ); + } + function o(t, e) { + var r = [], + n = e[0], + a = {}; + if ("string" == typeof n) a[n] = e[1]; + else { + if (!i.isPlainObject(n)) return r; + a = n; + } + return ( + l( + a, + function (t, e, n) { + r.push({ type: "layout", prop: t, value: n }); + }, + "", + 0, + ), + r + ); + } + function s(t, e) { + var r, + n, + a, + o, + s = []; + if ( + ((n = e[0]), + (a = e[1]), + (r = e[2]), + (o = {}), + "string" == typeof n) + ) + o[n] = a; + else { + if (!i.isPlainObject(n)) return s; + (o = n), void 0 === r && (r = a); + } + return ( + void 0 === r && (r = null), + l( + o, + function (e, n, i) { + var a, o; + if (Array.isArray(i)) { + o = i.slice(); + var l = Math.min(o.length, t.data.length); + r && (l = Math.min(l, r.length)), (a = []); + for (var u = 0; u < l; u++) a[u] = r ? r[u] : u; + } else (o = i), (a = r ? r.slice() : null); + if (null === a) Array.isArray(o) && (o = o[0]); + else if (Array.isArray(a)) { + if (!Array.isArray(o)) { + var c = o; + o = []; + for (var f = 0; f < a.length; f++) o[f] = c; + } + o.length = Math.min(a.length, o.length); + } + s.push({ + type: "data", + prop: e, + traces: a, + value: o, + }); + }, + "", + 0, + ), + s + ); + } + function l(t, e, r, n) { + Object.keys(t).forEach(function (a) { + var o = t[a]; + if ("_" !== a[0]) { + var s = r + (n > 0 ? "." : "") + a; + i.isPlainObject(o) ? l(o, e, s, n + 1) : e(s, a, o); + } + }); + } + (e.manageCommandObserver = function (t, r, n, o) { + var s = {}, + l = !0; + r && r._commandObserver && (s = r._commandObserver), + s.cache || (s.cache = {}), + (s.lookupTable = {}); + var u = e.hasSimpleAPICommandBindings(t, n, s.lookupTable); + if (r && r._commandObserver) { + if (u) return s; + if (r._commandObserver.remove) + return ( + r._commandObserver.remove(), + (r._commandObserver = null), + s + ); + } + if (u) { + a(t, u, s.cache), + (s.check = function () { + if (l) { + var e = a(t, u, s.cache); + return ( + e.changed && + o && + void 0 !== s.lookupTable[e.value] && + (s.disable(), + Promise.resolve( + o({ + value: e.value, + type: u.type, + prop: u.prop, + traces: u.traces, + index: s.lookupTable[e.value], + }), + ).then(s.enable, s.enable)), + e.changed + ); + } + }); + for ( + var c = [ + "plotly_relayout", + "plotly_redraw", + "plotly_restyle", + "plotly_update", + "plotly_animatingframe", + "plotly_afterplot", + ], + f = 0; + f < c.length; + f++ + ) + t._internalOn(c[f], s.check); + s.remove = function () { + for (var e = 0; e < c.length; e++) + t._removeInternalListener(c[e], s.check); + }; + } else + i.log( + "Unable to automatically bind plot updates to API command", + ), + (s.lookupTable = {}), + (s.remove = function () {}); + return ( + (s.disable = function () { + l = !1; + }), + (s.enable = function () { + l = !0; + }), + r && (r._commandObserver = s), + s + ); + }), + (e.hasSimpleAPICommandBindings = function (t, r, n) { + var i, + a, + o = r.length; + for (i = 0; i < o; i++) { + var s, + l = r[i], + u = l.method, + c = l.args; + if ((Array.isArray(c) || (c = []), !u)) return !1; + var f = e.computeAPICommandBindings(t, u, c); + if (1 !== f.length) return !1; + if (a) { + if ((s = f[0]).type !== a.type) return !1; + if (s.prop !== a.prop) return !1; + if (Array.isArray(a.traces)) { + if (!Array.isArray(s.traces)) return !1; + s.traces.sort(); + for (var h = 0; h < a.traces.length; h++) + if (a.traces[h] !== s.traces[h]) return !1; + } else if (s.prop !== a.prop) return !1; + } else + (a = f[0]), + Array.isArray(a.traces) && a.traces.sort(); + var p = (s = f[0]).value; + if (Array.isArray(p)) { + if (1 !== p.length) return !1; + p = p[0]; + } + n && (n[p] = i); + } + return a; + }), + (e.executeAPICommand = function (t, e, r) { + if ("skip" === e) return Promise.resolve(); + var a = n.apiMethodRegistry[e], + o = [t]; + Array.isArray(r) || (r = []); + for (var s = 0; s < r.length; s++) o.push(r[s]); + return a.apply(null, o).catch(function (t) { + return ( + i.warn("API call to Plotly." + e + " rejected.", t), + Promise.reject(t) + ); + }); + }), + (e.computeAPICommandBindings = function (t, e, r) { + var n; + switch ((Array.isArray(r) || (r = []), e)) { + case "restyle": + n = s(t, r); + break; + case "relayout": + n = o(0, r); + break; + case "update": + n = s(t, [r[0], r[2]]).concat(o(0, [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; + }); + }, + 27670: function (t, e, r) { + "use strict"; + var n = r(1426).extendFlat; + (e.Y = function (t, e) { + e = e || {}; + var r = { + valType: "info_array", + editType: (t = t || {}).editType, + items: [ + { + valType: "number", + min: 0, + max: 1, + editType: t.editType, + }, + { + valType: "number", + min: 0, + max: 1, + editType: t.editType, + }, + ], + dflt: [0, 1], + }, + i = + (t.name && t.name, + t.trace, + e.description && e.description, + { + x: n({}, r, {}), + y: n({}, r, {}), + editType: t.editType, + }); + return ( + t.noGridCell || + ((i.row = { + valType: "integer", + min: 0, + dflt: 0, + editType: t.editType, + }), + (i.column = { + valType: "integer", + min: 0, + dflt: 0, + editType: t.editType, + })), + i + ); + }), + (e.c = 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); + } + var u = r("domain.x", i), + c = r("domain.y", a); + u[0] < u[1] || (t.domain.x = i.slice()), + c[0] < c[1] || (t.domain.y = a.slice()); + }); + }, + 41940: function (t) { + "use strict"; + t.exports = 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.autoSize && (n.size.dflt = "auto"), + t.autoColor && (n.color.dflt = "auto"), + t.arrayOk && + ((n.family.arrayOk = !0), + (n.size.arrayOk = !0), + (n.color.arrayOk = !0)), + n + ); + }; + }, + 31391: function (t) { + "use strict"; + t.exports = { + _isLinkedToArray: "frames_entry", + group: { valType: "string" }, + name: { valType: "string" }, + traces: { valType: "any" }, + baseframe: { valType: "string" }, + data: { valType: "any" }, + layout: { valType: "any" }, + }; + }, + 78776: function (t, e) { + "use strict"; + (e.projNames = { + airy: "airy", + aitoff: "aitoff", + "albers usa": "albersUsa", + albers: "albers", + august: "august", + "azimuthal equal area": "azimuthalEqualArea", + "azimuthal equidistant": "azimuthalEquidistant", + baker: "baker", + bertin1953: "bertin1953", + boggs: "boggs", + bonne: "bonne", + bottomley: "bottomley", + bromley: "bromley", + collignon: "collignon", + "conic conformal": "conicConformal", + "conic equal area": "conicEqualArea", + "conic equidistant": "conicEquidistant", + craig: "craig", + craster: "craster", + "cylindrical equal area": "cylindricalEqualArea", + "cylindrical stereographic": "cylindricalStereographic", + eckert1: "eckert1", + eckert2: "eckert2", + eckert3: "eckert3", + eckert4: "eckert4", + eckert5: "eckert5", + eckert6: "eckert6", + eisenlohr: "eisenlohr", + "equal earth": "equalEarth", + equirectangular: "equirectangular", + fahey: "fahey", + "foucaut sinusoidal": "foucautSinusoidal", + foucaut: "foucaut", + ginzburg4: "ginzburg4", + ginzburg5: "ginzburg5", + ginzburg6: "ginzburg6", + ginzburg8: "ginzburg8", + ginzburg9: "ginzburg9", + gnomonic: "gnomonic", + "gringorten quincuncial": "gringortenQuincuncial", + gringorten: "gringorten", + guyou: "guyou", + hammer: "hammer", + hill: "hill", + homolosine: "homolosine", + hufnagel: "hufnagel", + hyperelliptical: "hyperelliptical", + kavrayskiy7: "kavrayskiy7", + lagrange: "lagrange", + larrivee: "larrivee", + laskowski: "laskowski", + loximuthal: "loximuthal", + mercator: "mercator", + miller: "miller", + mollweide: "mollweide", + "mt flat polar parabolic": "mtFlatPolarParabolic", + "mt flat polar quartic": "mtFlatPolarQuartic", + "mt flat polar sinusoidal": "mtFlatPolarSinusoidal", + "natural earth": "naturalEarth", + "natural earth1": "naturalEarth1", + "natural earth2": "naturalEarth2", + "nell hammer": "nellHammer", + nicolosi: "nicolosi", + orthographic: "orthographic", + patterson: "patterson", + "peirce quincuncial": "peirceQuincuncial", + polyconic: "polyconic", + "rectangular polyconic": "rectangularPolyconic", + robinson: "robinson", + satellite: "satellite", + "sinu mollweide": "sinuMollweide", + sinusoidal: "sinusoidal", + stereographic: "stereographic", + times: "times", + "transverse mercator": "transverseMercator", + "van der grinten": "vanDerGrinten", + "van der grinten2": "vanDerGrinten2", + "van der grinten3": "vanDerGrinten3", + "van der grinten4": "vanDerGrinten4", + wagner4: "wagner4", + wagner6: "wagner6", + wiechel: "wiechel", + "winkel tripel": "winkel3", + winkel3: "winkel3", + }), + (e.axesNames = ["lonaxis", "lataxis"]), + (e.lonaxisSpan = { + orthographic: 180, + "azimuthal equal area": 360, + "azimuthal equidistant": 360, + "conic conformal": 180, + gnomonic: 160, + stereographic: 180, + "transverse mercator": 180, + "*": 360, + }), + (e.lataxisSpan = { + "conic conformal": 150, + stereographic: 179.5, + "*": 180, + }), + (e.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], + }, + }), + (e.clipPad = 0.001), + (e.precision = 0.1), + (e.landColor = "#F0DC82"), + (e.waterColor = "#3399FF"), + (e.locationmodeToLayer = { + "ISO-3": "countries", + "USA-states": "subunits", + "country names": "countries", + }), + (e.sphereSVG = { type: "Sphere" }), + (e.fillLayers = { ocean: 1, land: 1, lakes: 1 }), + (e.lineLayers = { + subunits: 1, + countries: 1, + coastlines: 1, + rivers: 1, + frame: 1, + }), + (e.layers = [ + "bg", + "ocean", + "land", + "lakes", + "subunits", + "countries", + "coastlines", + "rivers", + "lataxis", + "lonaxis", + "frame", + "backplot", + "frontplot", + ]), + (e.layersForChoropleth = [ + "bg", + "ocean", + "land", + "subunits", + "countries", + "coastlines", + "lataxis", + "lonaxis", + "frame", + "backplot", + "rivers", + "lakes", + "frontplot", + ]), + (e.layerNameToAdjective = { + ocean: "ocean", + land: "land", + lakes: "lake", + subunits: "subunit", + countries: "country", + coastlines: "coastline", + rivers: "river", + frame: "frame", + }); + }, + 69082: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(27362), + a = i.geoPath, + o = i.geoDistance, + s = r(65704), + l = r(73972), + u = r(71828), + c = u.strTranslate, + f = r(7901), + h = r(91424), + p = r(30211), + d = r(74875), + v = r(89298), + g = r(71739).getAutoRange, + y = r(28569), + m = r(47322).prepSelect, + x = r(47322).clearOutline, + b = r(47322).selectOnClick, + _ = r(74455), + w = r(78776), + T = r(41327), + k = r(90973), + A = r(96892).zL; + function M(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.scope = 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(); + } + var S = M.prototype; + function E(t, e) { + var r = w.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], + ], + ], + }; + } + (t.exports = function (t) { + return new M(t); + }), + (S.plot = function (t, e, r, n) { + var i = this; + if (n) return i.update(t, e, !0); + (i._geoCalcData = t), (i._fullLayout = e); + var a = e[this.id], + o = [], + s = !1; + for (var l in w.layerNameToAdjective) + if ("frame" !== l && a["show" + l]) { + s = !0; + break; + } + for (var u = !1, c = 0; c < t.length; c++) { + var f = t[0][0].trace; + (f._geo = i), f.locationmode && (s = !0); + var h = f.marker; + if (h) { + var p = h.angle, + d = h.angleref; + (p || "north" === d || "previous" === d) && (u = !0); + } + } + if (((this._hasMarkerAngles = u), s)) { + var v = k.getTopojsonName(a); + (null !== i.topojson && v === i.topojsonName) || + ((i.topojsonName = v), + void 0 === PlotlyGeoAssets.topojson[i.topojsonName] && + o.push(i.fetchTopojson())); + } + (o = o.concat(T.fetchTraceGeoData(t))), + r.push( + new Promise(function (r, n) { + Promise.all(o) + .then(function () { + (i.topojson = + PlotlyGeoAssets.topojson[i.topojsonName]), + i.update(t, e), + r(); + }) + .catch(n); + }), + ); + }), + (S.fetchTopojson = function () { + var t = this, + e = k.getTopojsonPath(t.topojsonURL, t.topojsonName); + return new Promise(function (r, i) { + n.json(e, function (n, a) { + if (n) + return 404 === n.status + ? i( + new Error( + [ + "plotly.js could not find topojson file at", + e + ".", + "Make sure the *topojsonURL* plot config option", + "is set properly.", + ].join(" "), + ), + ) + : i( + new Error( + [ + "unexpected error while fetching topojson file at", + e, + ].join(" "), + ), + ); + (PlotlyGeoAssets.topojson[t.topojsonName] = a), r(); + }); + }); + }), + (S.update = function (t, e, r) { + var n = e[this.id]; + this.hasChoropleth = !1; + for (var i = 0; i < t.length; i++) { + var a = t[i], + o = a[0].trace; + "choropleth" === o.type && (this.hasChoropleth = !0), + !0 === o.visible && + o._length > 0 && + o._module.calcGeoJSON(a, e); + } + if (!r) { + if (this.updateProjection(t, e)) return; + (this.viewInitial && this.scope === n.scope) || + this.saveViewInitial(n); + } + (this.scope = n.scope), + this.updateBaseLayers(e, n), + this.updateDims(e, n), + this.updateFx(e, n), + d.generalUpdatePerTraceModule( + this.graphDiv, + this, + t, + n, + ); + var s = this.layers.frontplot.select(".scatterlayer"); + (this.dataPoints.point = s.selectAll(".point")), + (this.dataPoints.text = s.selectAll("text")), + (this.dataPaths.line = s.selectAll(".js-line")); + var l = this.layers.backplot.select(".choroplethlayer"); + (this.dataPaths.choropleth = l.selectAll("path")), + this._render(); + }), + (S.updateProjection = function (t, e) { + var r = this.graphDiv, + n = e[this.id], + l = e._size, + c = n.domain, + f = n.projection, + h = n.lonaxis, + p = n.lataxis, + d = h._ax, + v = p._ax, + y = (this.projection = (function (t) { + var e = t.projection, + r = e.type, + n = w.projNames[r]; + n = "geo" + u.titleCase(n); + for ( + var l = (i[n] || s[n])(), + c = t._isSatellite + ? (180 * Math.acos(1 / e.distance)) / Math.PI + : t._isClipped + ? w.lonaxisSpan[r] / 2 + : null, + f = [ + "center", + "rotate", + "parallels", + "clipExtent", + ], + h = function (t) { + return t ? l : []; + }, + p = 0; + p < f.length; + p++ + ) { + var d = f[p]; + "function" != typeof l[d] && (l[d] = h); + } + return ( + (l.isLonLatOverEdges = function (t) { + if (null === l(t)) return !0; + if (c) { + var e = l.rotate(); + return ( + o(t, [-e[0], -e[1]]) > (c * Math.PI) / 180 + ); + } + return !1; + }), + (l.getPath = function () { + return a().projection(l); + }), + (l.getBounds = function (t) { + return l.getPath().bounds(t); + }), + l.precision(w.precision), + t._isSatellite && + l.tilt(e.tilt).distance(e.distance), + c && l.clipAngle(c - w.clipPad), + l + ); + })(n)), + m = [ + [l.l + l.w * c.x[0], l.t + l.h * (1 - c.y[1])], + [l.l + l.w * c.x[1], l.t + l.h * (1 - c.y[0])], + ], + x = n.center || {}, + b = f.rotation || {}, + _ = h.range || [], + T = p.range || []; + if (n.fitbounds) { + (d._length = m[1][0] - m[0][0]), + (v._length = m[1][1] - m[0][1]), + (d.range = g(r, d)), + (v.range = g(r, v)); + var k = (d.range[0] + d.range[1]) / 2, + A = (v.range[0] + v.range[1]) / 2; + if (n._isScoped) x = { lon: k, lat: A }; + else if (n._isClipped) { + (x = { lon: k, lat: A }), + (b = { lon: k, lat: A, roll: b.roll }); + var M = f.type, + S = w.lonaxisSpan[M] / 2 || 180, + L = w.lataxisSpan[M] / 2 || 90; + (_ = [k - S, k + S]), (T = [A - L, A + L]); + } else + (x = { lon: k, lat: A }), + (b = { lon: k, lat: b.lat, roll: b.roll }); + } + y.center([x.lon - b.lon, x.lat - b.lat]) + .rotate([-b.lon, -b.lat, b.roll]) + .parallels(f.parallels); + var C = E(_, T); + y.fitExtent(m, C); + var P = (this.bounds = y.getBounds(C)), + O = (this.fitScale = y.scale()), + I = y.translate(); + if (n.fitbounds) { + var D = y.getBounds(E(d.range, v.range)), + z = Math.min( + (P[1][0] - P[0][0]) / (D[1][0] - D[0][0]), + (P[1][1] - P[0][1]) / (D[1][1] - D[0][1]), + ); + isFinite(z) + ? y.scale(z * O) + : u.warn( + "Something went wrong during" + + this.id + + "fitbounds computations.", + ); + } else y.scale(f.scale * O); + var R = (this.midPt = [ + (P[0][0] + P[1][0]) / 2, + (P[0][1] + P[1][1]) / 2, + ]); + if ( + (y + .translate([ + I[0] + (R[0] - I[0]), + I[1] + (R[1] - I[1]), + ]) + .clipExtent(P), + n._isAlbersUsa) + ) { + var F = y([x.lon, x.lat]), + B = y.translate(); + y.translate([ + B[0] - (F[0] - B[0]), + B[1] - (F[1] - B[1]), + ]); + } + }), + (S.updateBaseLayers = function (t, e) { + var r = this, + i = r.topojson, + a = r.layers, + o = r.basePaths; + function s(t) { + return "lonaxis" === t || "lataxis" === t; + } + function l(t) { + return Boolean(w.lineLayers[t]); + } + function u(t) { + return Boolean(w.fillLayers[t]); + } + var c = ( + this.hasChoropleth ? w.layersForChoropleth : w.layers + ).filter(function (t) { + return l(t) || u(t) + ? e["show" + t] + : !s(t) || e[t].showgrid; + }), + p = r.framework.selectAll(".layer").data(c, String); + p.exit().each(function (t) { + delete a[t], delete o[t], n.select(this).remove(); + }), + p + .enter() + .append("g") + .attr("class", function (t) { + return "layer " + t; + }) + .each(function (t) { + var e = (a[t] = n.select(this)); + "bg" === t + ? (r.bgRect = e + .append("rect") + .style("pointer-events", "all")) + : s(t) + ? (o[t] = e.append("path").style("fill", "none")) + : "backplot" === t + ? e.append("g").classed("choroplethlayer", !0) + : "frontplot" === t + ? e.append("g").classed("scatterlayer", !0) + : l(t) + ? (o[t] = e + .append("path") + .style("fill", "none") + .style("stroke-miterlimit", 2)) + : u(t) && + (o[t] = e + .append("path") + .style("stroke", "none")); + }), + p.order(), + p.each(function (r) { + var n = o[r], + a = w.layerNameToAdjective[r]; + "frame" === r + ? n.datum(w.sphereSVG) + : l(r) || u(r) + ? n.datum(A(i, i.objects[r])) + : s(r) && + n + .datum( + (function (t, e, r) { + var n, + i, + a, + o = e[t], + s = w.scopeDefaults[e.scope]; + "lonaxis" === t + ? ((n = s.lonaxisRange), + (i = s.lataxisRange), + (a = function (t, e) { + return [t, e]; + })) + : "lataxis" === t && + ((n = s.lataxisRange), + (i = s.lonaxisRange), + (a = function (t, e) { + return [e, t]; + })); + var l = { + type: "linear", + range: [n[0], n[1] - 1e-6], + tick0: o.tick0, + dtick: o.dtick, + }; + v.setConvert(l, r); + var u = v.calcTicks(l); + e.isScoped || "lonaxis" !== t || u.pop(); + for ( + var c = u.length, f = new Array(c), h = 0; + h < c; + h++ + ) + for ( + var p = u[h].x, + d = (f[h] = []), + g = i[0]; + g < i[1] + 2.5; + g += 2.5 + ) + d.push(a(p, g)); + return { + type: "MultiLineString", + coordinates: f, + }; + })(r, e, t), + ) + .call(f.stroke, e[r].gridcolor) + .call( + h.dashLine, + e[r].griddash, + e[r].gridwidth, + ), + l(r) + ? n + .call(f.stroke, e[a + "color"]) + .call(h.dashLine, "", e[a + "width"]) + : u(r) && n.call(f.fill, e[a + "color"]); + }); + }), + (S.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; + h.setRect(this.clipRect, i, a, o, s), + this.bgRect + .call(h.setRect, i, a, o, s) + .call(f.fill, e.bgcolor), + (this.xaxis._offset = i), + (this.xaxis._length = o), + (this.yaxis._offset = a), + (this.yaxis._length = s); + }), + (S.updateFx = function (t, e) { + var r = this, + i = r.graphDiv, + a = r.bgRect, + o = t.dragmode, + s = t.clickmode; + if (!r.isStatic) { + var c = { + element: r.bgRect.node(), + gd: i, + plotinfo: { + id: r.id, + xaxis: r.xaxis, + yaxis: r.yaxis, + fillRangeItems: function (t, e) { + e.isRect + ? ((t.range = {})[r.id] = [ + f([e.xmin, e.ymin]), + f([e.xmax, e.ymax]), + ]) + : ((t.lassoPoints = {})[r.id] = e.map(f)); + }, + }, + xaxes: [r.xaxis], + yaxes: [r.yaxis], + subplot: r.id, + clickFn: function (t) { + 2 === t && x(i); + }, + }; + "pan" === o + ? ((a.node().onmousedown = null), + a.call(_(r, e)), + a.on("dblclick.zoom", function () { + var t = r.viewInitial, + e = {}; + for (var n in t) e[r.id + "." + n] = t[n]; + l.call("_guiRelayout", i, e), + i.emit("plotly_doubleclick", null); + }), + i._context._scrollZoom.geo || + a.on("wheel.zoom", null)) + : ("select" !== o && "lasso" !== o) || + (a.on(".zoom", null), + (c.prepFn = function (t, e, r) { + m(t, e, r, c, o); + }), + y.init(c)), + a.on("mousemove", function () { + var t = r.projection.invert( + u.getPositionFromD3Event(), + ); + if (!t) return y.unhover(i, n.event); + (r.xaxis.p2c = function () { + return t[0]; + }), + (r.yaxis.p2c = function () { + return t[1]; + }), + p.hover(i, n.event, r.id); + }), + a.on("mouseout", function () { + i._dragging || y.unhover(i, n.event); + }), + a.on("click", function () { + "select" !== o && + "lasso" !== o && + (s.indexOf("select") > -1 && + b(n.event, i, [r.xaxis], [r.yaxis], r.id, c), + s.indexOf("event") > -1 && p.click(i, n.event)); + }); + } + function f(t) { + return r.projection.invert([ + t[0] + r.xaxis._offset, + t[1] + r.yaxis._offset, + ]); + } + }), + (S.makeFramework = function () { + var t = this, + e = t.graphDiv, + r = e._fullLayout, + i = "clip" + r._uid + t.id; + (t.clipDef = r._clips.append("clipPath").attr("id", i)), + (t.clipRect = t.clipDef.append("rect")), + (t.framework = n + .select(t.container) + .append("g") + .attr("class", "geo " + t.id) + .call(h.setClipUrl, i, e)), + (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", + }), + v.setConvert(t.mockAxis, r); + }), + (S.saveViewInitial = function (t) { + var e, + r = t.center || {}, + n = t.projection, + i = n.rotation || {}; + (this.viewInitial = { + fitbounds: t.fitbounds, + "projection.scale": n.scale, + }), + (e = t._isScoped + ? { "center.lon": r.lon, "center.lat": r.lat } + : t._isClipped + ? { + "projection.rotation.lon": i.lon, + "projection.rotation.lat": i.lat, + } + : { + "center.lon": r.lon, + "center.lat": r.lat, + "projection.rotation.lon": i.lon, + }), + u.extendFlat(this.viewInitial, e); + }), + (S.render = function (t) { + this._hasMarkerAngles && t + ? this.plot(this._geoCalcData, this._fullLayout, [], !0) + : this._render(); + }), + (S._render = function () { + var t, + e = this.projection, + r = e.getPath(); + function n(t) { + var r = e(t.lonlat); + return r ? c(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); + }); + }, + 44622: function (t, e, r) { + "use strict"; + var n = r(27659).AU, + i = r(71828).counterRegex, + a = r(69082), + o = "geo", + s = i(o), + l = {}; + (l.geo = { valType: "subplotid", dflt: o, editType: "calc" }), + (t.exports = { + attr: o, + name: o, + idRoot: o, + idRegex: s, + attrRegex: s, + attributes: l, + layoutAttributes: r(77519), + supplyLayoutDefaults: r(82161), + plot: function (t) { + for ( + var e = t._fullLayout, + r = t.calcdata, + i = e._subplots.geo, + s = 0; + s < i.length; + s++ + ) { + var l = i[s], + u = n(r, o, l), + c = e[l]._subplot; + c || + ((c = a({ + id: l, + graphDiv: t, + container: e._geolayer.node(), + topojsonURL: t._context.topojsonURL, + staticPlot: t._context.staticPlot, + })), + (e[l]._subplot = c)), + c.plot(u, e, t._promises); + } + }, + updateFx: function (t) { + for ( + var e = t._fullLayout, r = e._subplots.geo, n = 0; + n < r.length; + n++ + ) { + var i = e[r[n]]; + i._subplot.updateFx(e, i); + } + }, + 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()); + } + }, + }); + }, + 77519: function (t, e, r) { + "use strict"; + var n = r(22399), + i = r(27670).Y, + a = r(79952).P, + o = r(78776), + s = r(30962).overrideAll, + l = r(78607), + u = { + range: { + valType: "info_array", + items: [{ valType: "number" }, { valType: "number" }], + }, + showgrid: { valType: "boolean", dflt: !1 }, + tick0: { valType: "number", dflt: 0 }, + dtick: { valType: "number" }, + gridcolor: { valType: "color", dflt: n.lightLine }, + gridwidth: { valType: "number", min: 0, dflt: 1 }, + griddash: a, + }; + (t.exports = s( + { + domain: i({ name: "geo" }, {}), + fitbounds: { + valType: "enumerated", + values: [!1, "locations", "geojson"], + dflt: !1, + editType: "plot", + }, + resolution: { + valType: "enumerated", + values: [110, 50], + dflt: 110, + coerceNumber: !0, + }, + scope: { + valType: "enumerated", + values: l(o.scopeDefaults), + dflt: "world", + }, + projection: { + type: { valType: "enumerated", values: l(o.projNames) }, + rotation: { + lon: { valType: "number" }, + lat: { valType: "number" }, + roll: { valType: "number" }, + }, + tilt: { valType: "number", dflt: 0 }, + distance: { valType: "number", min: 1.001, dflt: 2 }, + parallels: { + valType: "info_array", + items: [{ valType: "number" }, { valType: "number" }], + }, + scale: { valType: "number", min: 0, dflt: 1 }, + }, + center: { + lon: { valType: "number" }, + lat: { valType: "number" }, + }, + visible: { valType: "boolean", dflt: !0 }, + showcoastlines: { valType: "boolean" }, + coastlinecolor: { valType: "color", dflt: n.defaultLine }, + coastlinewidth: { valType: "number", min: 0, dflt: 1 }, + showland: { valType: "boolean", dflt: !1 }, + landcolor: { valType: "color", dflt: o.landColor }, + showocean: { valType: "boolean", dflt: !1 }, + oceancolor: { valType: "color", dflt: o.waterColor }, + showlakes: { valType: "boolean", dflt: !1 }, + lakecolor: { valType: "color", dflt: o.waterColor }, + showrivers: { valType: "boolean", dflt: !1 }, + rivercolor: { valType: "color", dflt: o.waterColor }, + riverwidth: { valType: "number", min: 0, dflt: 1 }, + showcountries: { valType: "boolean" }, + countrycolor: { valType: "color", dflt: n.defaultLine }, + countrywidth: { valType: "number", min: 0, dflt: 1 }, + showsubunits: { valType: "boolean" }, + subunitcolor: { valType: "color", dflt: n.defaultLine }, + subunitwidth: { valType: "number", min: 0, dflt: 1 }, + showframe: { valType: "boolean" }, + framecolor: { valType: "color", dflt: n.defaultLine }, + framewidth: { valType: "number", min: 0, dflt: 1 }, + bgcolor: { valType: "color", dflt: n.background }, + lonaxis: u, + lataxis: u, + }, + "plot", + "from-root", + )).uirevision = { valType: "any", editType: "none" }; + }, + 82161: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(49119), + a = r(27659).NG, + o = r(78776), + s = r(77519), + l = o.axesNames; + function u(t, e, r, i) { + var s = a(i.fullData, "geo", i.id).map(function (t) { + return t._expandedIndex; + }), + u = r("resolution"), + c = r("scope"), + f = o.scopeDefaults[c], + h = r("projection.type", f.projType), + p = (e._isAlbersUsa = "albers usa" === h); + p && (c = e.scope = "usa"); + var d = (e._isScoped = "world" !== c), + v = (e._isSatellite = "satellite" === h), + g = (e._isConic = + -1 !== h.indexOf("conic") || "albers" === h), + y = (e._isClipped = !!o.lonaxisSpan[h]); + if (!1 === t.visible) { + var m = n.extendDeep({}, e._template); + (m.showcoastlines = !1), + (m.showcountries = !1), + (m.showframe = !1), + (m.showlakes = !1), + (m.showland = !1), + (m.showocean = !1), + (m.showrivers = !1), + (m.showsubunits = !1), + m.lonaxis && (m.lonaxis.showgrid = !1), + m.lataxis && (m.lataxis.showgrid = !1), + (e._template = m); + } + for (var x = r("visible"), b = 0; b < l.length; b++) { + var _, + w = l[b], + T = [30, 10][b]; + if (d) _ = f[w + "Range"]; + else { + var k = o[w + "Span"], + A = (k[h] || k["*"]) / 2, + M = r( + "projection.rotation." + w.substr(0, 3), + f.projRotate[b], + ); + _ = [M - A, M + A]; + } + var S = r(w + ".range", _); + r(w + ".tick0"), + r(w + ".dtick", T), + r(w + ".showgrid", !!x && void 0) && + (r(w + ".gridcolor"), + r(w + ".gridwidth"), + r(w + ".griddash")), + (e[w]._ax = { + type: "linear", + _id: w.slice(0, 3), + _traceIndices: s, + setScale: n.identity, + c2l: n.identity, + r2l: n.identity, + autorange: !0, + range: S.slice(), + _m: 1, + _input: {}, + }); + } + var E = e.lonaxis.range, + L = e.lataxis.range, + C = E[0], + P = E[1]; + C > 0 && P < 0 && (P += 360); + var O, + I, + D, + z = (C + P) / 2; + if (!p) { + var R = d ? f.projRotate : [z, 0, 0]; + (O = r("projection.rotation.lon", R[0])), + r("projection.rotation.lat", R[1]), + r("projection.rotation.roll", R[2]), + r("showcoastlines", !d && x) && + (r("coastlinecolor"), r("coastlinewidth")), + r("showocean", !!x && void 0) && r("oceancolor"); + } + p + ? ((I = -96.6), (D = 38.7)) + : ((I = d ? z : O), (D = (L[0] + L[1]) / 2)), + r("center.lon", I), + r("center.lat", D), + v && (r("projection.tilt"), r("projection.distance")), + g && + r("projection.parallels", f.projParallels || [0, 60]), + r("projection.scale"), + r("showland", !!x && void 0) && r("landcolor"), + r("showlakes", !!x && void 0) && r("lakecolor"), + r("showrivers", !!x && void 0) && + (r("rivercolor"), r("riverwidth")), + r("showcountries", d && "usa" !== c && x) && + (r("countrycolor"), r("countrywidth")), + ("usa" === c || ("north america" === c && 50 === u)) && + (r("showsubunits", x), + r("subunitcolor"), + r("subunitwidth")), + d || + (r("showframe", x) && + (r("framecolor"), r("framewidth"))), + r("bgcolor"), + r("fitbounds") && + (delete e.projection.scale, + d + ? (delete e.center.lon, delete e.center.lat) + : y + ? (delete e.center.lon, + delete e.center.lat, + delete e.projection.rotation.lon, + delete e.projection.rotation.lat, + delete e.lonaxis.range, + delete e.lataxis.range) + : (delete e.center.lon, + delete e.center.lat, + delete e.projection.rotation.lon)); + } + t.exports = function (t, e, r) { + i(t, e, r, { + type: "geo", + attributes: s, + handleDefaults: u, + fullData: r, + partition: "y", + }); + }; + }, + 74455: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(73972), + o = Math.PI / 180, + s = 180 / Math.PI, + l = { cursor: "pointer" }, + u = { cursor: "auto" }; + function c(t, e) { + return n.behavior + .zoom() + .translate(e.translate()) + .scale(e.scale()); + } + function f(t, e, r) { + var n = t.id, + o = t.graphDiv, + s = o.layout, + l = s[n], + u = o._fullLayout, + c = u[n], + f = {}, + h = {}; + function p(t, e) { + (f[n + "." + t] = i.nestedProperty(l, t).get()), + a.call("_storeDirectGUIEdit", s, u._preGUI, f); + var r = i.nestedProperty(c, t); + r.get() !== e && + (r.set(e), + i.nestedProperty(l, t).set(e), + (h[n + "." + t] = e)); + } + r(p), + p("projection.scale", e.scale() / t.fitScale), + p("fitbounds", !1), + o.emit("plotly_relayout", h); + } + function h(t, e) { + var r = c(0, e); + function i(r) { + var n = e.invert(t.midPt); + r("center.lon", n[0]), r("center.lat", n[1]); + } + return ( + r + .on("zoomstart", function () { + n.select(this).style(l); + }) + .on("zoom", function () { + e.scale(n.event.scale).translate(n.event.translate), + t.render(!0); + var r = e.invert(t.midPt); + t.graphDiv.emit("plotly_relayouting", { + "geo.projection.scale": e.scale() / t.fitScale, + "geo.center.lon": r[0], + "geo.center.lat": r[1], + }); + }) + .on("zoomend", function () { + n.select(this).style(u), f(t, e, i); + }), + r + ); + } + function p(t, e) { + var r, + i, + a, + o, + s, + h, + p, + d, + v, + g = c(0, e); + function y(t) { + return e.invert(t); + } + function m(r) { + var n = e.rotate(), + i = e.invert(t.midPt); + r("projection.rotation.lon", -n[0]), + r("center.lon", i[0]), + r("center.lat", i[1]); + } + return ( + g + .on("zoomstart", function () { + n.select(this).style(l), + (r = n.mouse(this)), + (i = e.rotate()), + (a = e.translate()), + (o = i), + (s = y(r)); + }) + .on("zoom", function () { + if ( + ((h = n.mouse(this)), + (function (t) { + var r = y(t); + if (!r) return !0; + var n = e(r); + return ( + Math.abs(n[0] - t[0]) > 2 || + Math.abs(n[1] - t[1]) > 2 + ); + })(r)) + ) + return ( + g.scale(e.scale()), + void g.translate(e.translate()) + ); + e.scale(n.event.scale), + e.translate([a[0], n.event.translate[1]]), + s + ? y(h) && + ((d = y(h)), + (p = [o[0] + (d[0] - s[0]), i[1], i[2]]), + e.rotate(p), + (o = p)) + : (s = y((r = h))), + (v = !0), + t.render(!0); + var l = e.rotate(), + u = e.invert(t.midPt); + t.graphDiv.emit("plotly_relayouting", { + "geo.projection.scale": e.scale() / t.fitScale, + "geo.center.lon": u[0], + "geo.center.lat": u[1], + "geo.projection.rotation.lon": -l[0], + }); + }) + .on("zoomend", function () { + n.select(this).style(u), v && f(t, e, m); + }), + g + ); + } + function d(t, e) { + var r, + i = { r: e.rotate(), k: e.scale() }, + a = c(0, e), + o = (function (t) { + for (var e = 0, r = arguments.length, i = []; ++e < r; ) + i.push(arguments[e]); + var a = n.dispatch.apply(null, i); + return ( + (a.of = function (e, r) { + return function (i) { + var o; + try { + (o = i.sourceEvent = n.event), + (i.target = t), + (n.event = i), + a[i.type].apply(e, r); + } finally { + n.event = o; + } + }; + }), + a + ); + })(a, "zoomstart", "zoom", "zoomend"), + s = 0, + h = a.on; + function p(t) { + s++ || t({ type: "zoomstart" }); + } + function d(t) { + t({ type: "zoom" }); + } + function b(t) { + --s || t({ type: "zoomend" }); + } + function _(t) { + var r = e.rotate(); + t("projection.rotation.lon", -r[0]), + t("projection.rotation.lat", -r[1]); + } + return ( + a + .on("zoomstart", function () { + n.select(this).style(l); + var t = n.mouse(this), + s = e.rotate(), + u = s, + c = e.translate(), + f = g(s); + (r = v(e, t)), + h.call(a, "zoom", function () { + var a = n.mouse(this); + if ((e.scale((i.k = n.event.scale)), r)) { + if (v(e, a)) { + e.rotate(s).translate(c); + var l = v(e, a), + h = m(r, l), + p = T(y(f, h)), + g = (i.r = x(p, r, u)); + (isFinite(g[0]) && + isFinite(g[1]) && + isFinite(g[2])) || + (g = u), + e.rotate(g), + (u = g); + } + } else r = v(e, (t = a)); + d(o.of(this, arguments)); + }), + p(o.of(this, arguments)); + }) + .on("zoomend", function () { + n.select(this).style(u), + h.call(a, "zoom", null), + b(o.of(this, arguments)), + f(t, e, _); + }) + .on("zoom.redraw", function () { + t.render(!0); + var r = e.rotate(); + t.graphDiv.emit("plotly_relayouting", { + "geo.projection.scale": e.scale() / t.fitScale, + "geo.projection.rotation.lon": -r[0], + "geo.projection.rotation.lat": -r[1], + }); + }), + n.rebind(a, o, "on") + ); + } + function v(t, e) { + var r = t.invert(e); + return ( + r && + isFinite(r[0]) && + isFinite(r[1]) && + (function (t) { + var e = t[0] * o, + r = t[1] * o, + n = Math.cos(r); + return [n * Math.cos(e), n * Math.sin(e), Math.sin(r)]; + })(r) + ); + } + function g(t) { + var e = 0.5 * t[0] * o, + r = 0.5 * t[1] * o, + n = 0.5 * t[2] * o, + i = Math.sin(e), + a = Math.cos(e), + s = Math.sin(r), + l = Math.cos(r), + u = Math.sin(n), + c = Math.cos(n); + return [ + a * l * c + i * s * u, + i * l * c - a * s * u, + a * s * c + i * l * u, + a * l * u - i * s * c, + ]; + } + function y(t, e) { + var r = t[0], + n = t[1], + i = t[2], + a = t[3], + o = e[0], + s = e[1], + l = e[2], + u = e[3]; + return [ + r * o - n * s - i * l - a * u, + r * s + n * o + i * u - a * l, + r * l - n * u + i * o + a * s, + r * u + n * l - i * s + a * o, + ]; + } + function m(t, e) { + if (t && e) { + 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(k(r, r)), + i = 0.5 * Math.acos(Math.max(-1, Math.min(1, k(t, e)))), + a = Math.sin(i) / n; + return n && [Math.cos(i), r[2] * a, -r[1] * a, r[0] * a]; + } + } + function x(t, e, r) { + var n = w(e, 2, t[0]); + (n = w(n, 1, t[1])), (n = w(n, 0, t[2] - r[2])); + var i, + a, + o = e[0], + l = e[1], + u = e[2], + c = n[0], + f = n[1], + h = n[2], + p = Math.atan2(l, o) * s, + d = Math.sqrt(o * o + l * l); + Math.abs(f) > d + ? ((a = (f > 0 ? 90 : -90) - p), (i = 0)) + : ((a = Math.asin(f / d) * s - p), + (i = Math.sqrt(d * d - f * f))); + var v = 180 - a - 2 * p, + g = (Math.atan2(h, c) - Math.atan2(u, i)) * s, + y = (Math.atan2(h, c) - Math.atan2(u, -i)) * s; + return b(r[0], r[1], a, g) <= b(r[0], r[1], v, y) + ? [a, g, r[2]] + : [v, y, r[2]]; + } + function b(t, e, r, n) { + var i = _(r - t), + a = _(n - e); + return Math.sqrt(i * i + a * a); + } + function _(t) { + return (((t % 360) + 540) % 360) - 180; + } + function w(t, e, r) { + var n = r * o, + i = t.slice(), + a = 0 === e ? 1 : 0, + s = 2 === e ? 1 : 2, + l = Math.cos(n), + u = Math.sin(n); + return ( + (i[a] = t[a] * l - t[s] * u), + (i[s] = t[s] * l + t[a] * u), + i + ); + } + function T(t) { + return [ + Math.atan2( + 2 * (t[0] * t[1] + t[2] * t[3]), + 1 - 2 * (t[1] * t[1] + t[2] * t[2]), + ) * s, + Math.asin( + Math.max( + -1, + Math.min(1, 2 * (t[0] * t[2] - t[3] * t[1])), + ), + ) * s, + Math.atan2( + 2 * (t[0] * t[3] + t[1] * t[2]), + 1 - 2 * (t[2] * t[2] + t[3] * t[3]), + ) * s, + ]; + } + function k(t, e) { + for (var r = 0, n = 0, i = t.length; n < i; ++n) + r += t[n] * e[n]; + return r; + } + t.exports = function (t, e) { + var r = t.projection; + return (e._isScoped ? h : e._isClipped ? d : p)(t, r); + }; + }, + 27659: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(85555).SUBPLOT_PATTERN; + (e.AU = function (t, e, r) { + var i = n.subplotsRegistry[e]; + if (!i) return []; + for (var a = i.attr, o = [], s = 0; s < t.length; s++) { + var l = t[s]; + l[0].trace[a] === r && o.push(l); + } + return o; + }), + (e.a0 = function (t, e) { + var r, + i = [], + a = []; + if ( + !(r = + "string" == typeof e + ? n.getModule(e).plot + : "function" == typeof e + ? e + : e.plot) + ) + return [i, t]; + for (var o = 0; o < t.length; o++) { + var s = t[o], + l = s[0].trace; + !0 === l.visible && + 0 !== l._length && + (l._module && l._module.plot === r + ? i.push(s) + : a.push(s)); + } + return [i, a]; + }), + (e.NG = function (t, e, r) { + if (!n.subplotsRegistry[e]) return []; + var a, + o, + s, + l = n.subplotsRegistry[e].attr, + u = []; + if ("gl2d" === e) { + var c = r.match(i); + (o = "x" + c[1]), (s = "y" + c[2]); + } + for (var f = 0; f < t.length; f++) + (a = t[f]), + "gl2d" === e && n.traceIs(a, "gl2d") + ? a[l[0]] === o && a[l[1]] === s && u.push(a) + : a[l] === r && u.push(a); + return u; + }); + }, + 75071: function (t, e, r) { + "use strict"; + var n = r(16825), + i = r(1195), + a = r(48956), + o = r(85555), + s = r(38520); + function l(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]); + } + t.exports = function (t) { + var e = t.mouseContainer, + r = t.glplot, + u = new l(e, r); + function c() { + (t.xaxis.autorange = !1), (t.yaxis.autorange = !1); + } + function f(e, n, i) { + var a, + s, + l = t.calcDataBox(), + f = r.viewBox, + h = u.lastPos[0], + p = u.lastPos[1], + d = o.MINDRAG * r.pixelRatio, + v = o.MINZOOM * r.pixelRatio; + function g(e, r, n) { + var i = Math.min(r, n), + a = Math.max(r, n); + i !== a + ? ((l[e] = i), + (l[e + 2] = a), + (u.dataBox = l), + t.setRanges(l)) + : ((t.selectBox.selectBox = [0, 0, 1, 1]), + t.glplot.setDirty()); + } + switch ( + ((n *= r.pixelRatio), + (i *= r.pixelRatio), + (i = f[3] - f[1] - i), + t.fullLayout.dragmode) + ) { + case "zoom": + if (e) { + var y = (n / (f[2] - f[0])) * (l[2] - l[0]) + l[0], + m = (i / (f[3] - f[1])) * (l[3] - l[1]) + l[1]; + u.boxInited || + ((u.boxStart[0] = y), + (u.boxStart[1] = m), + (u.dragStart[0] = n), + (u.dragStart[1] = i)), + (u.boxEnd[0] = y), + (u.boxEnd[1] = m), + (u.boxInited = !0), + u.boxEnabled || + (u.boxStart[0] === u.boxEnd[0] && + u.boxStart[1] === u.boxEnd[1]) || + (u.boxEnabled = !0); + var x = Math.abs(u.dragStart[0] - n) < v, + b = Math.abs(u.dragStart[1] - i) < v; + 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; + })() || + (x && b) + ) + x && (u.boxEnd[0] = u.boxStart[0]), + b && (u.boxEnd[1] = u.boxStart[1]); + else { + (a = u.boxEnd[0] - u.boxStart[0]), + (s = u.boxEnd[1] - u.boxStart[1]); + var _ = (l[3] - l[1]) / (l[2] - l[0]); + Math.abs(a * _) > Math.abs(s) + ? ((u.boxEnd[1] = + u.boxStart[1] + + Math.abs(a) * _ * (s >= 0 ? 1 : -1)), + u.boxEnd[1] < l[1] + ? ((u.boxEnd[1] = l[1]), + (u.boxEnd[0] = + u.boxStart[0] + + (l[1] - u.boxStart[1]) / Math.abs(_))) + : u.boxEnd[1] > l[3] && + ((u.boxEnd[1] = l[3]), + (u.boxEnd[0] = + u.boxStart[0] + + (l[3] - u.boxStart[1]) / Math.abs(_)))) + : ((u.boxEnd[0] = + u.boxStart[0] + + (Math.abs(s) / _) * (a >= 0 ? 1 : -1)), + u.boxEnd[0] < l[0] + ? ((u.boxEnd[0] = l[0]), + (u.boxEnd[1] = + u.boxStart[1] + + (l[0] - u.boxStart[0]) * Math.abs(_))) + : u.boxEnd[0] > l[2] && + ((u.boxEnd[0] = l[2]), + (u.boxEnd[1] = + u.boxStart[1] + + (l[2] - u.boxStart[0]) * Math.abs(_)))); + } + } else + u.boxEnabled + ? ((a = u.boxStart[0] !== u.boxEnd[0]), + (s = u.boxStart[1] !== u.boxEnd[1]), + a || s + ? (a && + (g(0, u.boxStart[0], u.boxEnd[0]), + (t.xaxis.autorange = !1)), + s && + (g(1, u.boxStart[1], u.boxEnd[1]), + (t.yaxis.autorange = !1)), + t.relayoutCallback()) + : t.glplot.setDirty(), + (u.boxEnabled = !1), + (u.boxInited = !1)) + : u.boxInited && (u.boxInited = !1); + break; + case "pan": + (u.boxEnabled = !1), + (u.boxInited = !1), + e + ? (u.panning || + ((u.dragStart[0] = n), (u.dragStart[1] = i)), + Math.abs(u.dragStart[0] - n) < d && + (n = u.dragStart[0]), + Math.abs(u.dragStart[1] - i) < d && + (i = u.dragStart[1]), + (a = + ((h - n) * (l[2] - l[0])) / + (r.viewBox[2] - r.viewBox[0])), + (s = + ((p - i) * (l[3] - l[1])) / + (r.viewBox[3] - r.viewBox[1])), + (l[0] += a), + (l[2] += a), + (l[1] += s), + (l[3] += s), + t.setRanges(l), + (u.panning = !0), + (u.lastInputTime = Date.now()), + c(), + t.cameraChanged(), + t.handleAnnotations()) + : u.panning && + ((u.panning = !1), t.relayoutCallback()); + } + (u.lastPos[0] = n), (u.lastPos[1] = i); + } + return ( + (u.mouseListener = n(e, f)), + e.addEventListener( + "touchstart", + function (t) { + var r = a(t.changedTouches[0], e); + f(0, r[0], r[1]), + f(1, r[0], r[1]), + t.preventDefault(); + }, + !!s && { passive: !1 }, + ), + e.addEventListener( + "touchmove", + function (t) { + t.preventDefault(); + var r = a(t.changedTouches[0], e); + f(1, r[0], r[1]), t.preventDefault(); + }, + !!s && { passive: !1 }, + ), + e.addEventListener( + "touchend", + function (t) { + f(0, u.lastPos[0], u.lastPos[1]), t.preventDefault(); + }, + !!s && { passive: !1 }, + ), + (u.wheelListener = i( + e, + function (e, n) { + if (!t.scrollZoom) return !1; + var i = t.calcDataBox(), + a = r.viewBox, + o = u.lastPos[0], + s = u.lastPos[1], + l = Math.exp((5 * n) / (a[3] - a[1])), + f = (o / (a[2] - a[0])) * (i[2] - i[0]) + i[0], + h = (s / (a[3] - a[1])) * (i[3] - i[1]) + i[1]; + return ( + (i[0] = (i[0] - f) * l + f), + (i[2] = (i[2] - f) * l + f), + (i[1] = (i[1] - h) * l + h), + (i[3] = (i[3] - h) * l + h), + t.setRanges(i), + (u.lastInputTime = Date.now()), + c(), + t.cameraChanged(), + t.handleAnnotations(), + t.relayoutCallback(), + !0 + ); + }, + !0, + )), + u + ); + }; + }, + 82961: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(78614); + function a(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, 0.5], + [0, 0, 0, 0.5], + ]), + (this.gridLineWidth = [1, 1]), + (this.zeroLineEnable = [!0, !0]), + (this.zeroLineWidth = [1, 1]), + (this.zeroLineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.borderColor = [0, 0, 0, 0]), + (this.backgroundColor = [0, 0, 0, 0]), + (this.static = this.scene.staticPlot); + } + var o = a.prototype, + s = ["xaxis", "yaxis"]; + (o.merge = function (t) { + var e, r, n, a, o, l, u, c, f, h, p; + for ( + this.titleEnable = !1, + this.backgroundColor = i(t.plot_bgcolor), + h = 0; + h < 2; + ++h + ) { + var d = (e = s[h]).charAt(0); + for ( + n = + (r = t[this.scene[e]._name]).title.text === + this.scene.fullLayout._dfltTitle[d] + ? "" + : r.title.text, + p = 0; + p <= 2; + p += 2 + ) + (this.labelEnable[h + p] = !1), + (this.labels[h + p] = n), + (this.labelColor[h + p] = i(r.title.font.color)), + (this.labelFont[h + p] = r.title.font.family), + (this.labelSize[h + p] = r.title.font.size), + (this.labelPad[h + p] = this.getLabelPad(e, r)), + (this.tickEnable[h + p] = !1), + (this.tickColor[h + p] = i((r.tickfont || {}).color)), + (this.tickAngle[h + p] = + "auto" === r.tickangle + ? 0 + : (Math.PI * -r.tickangle) / 180), + (this.tickPad[h + p] = this.getTickPad(r)), + (this.tickMarkLength[h + p] = 0), + (this.tickMarkWidth[h + p] = r.tickwidth || 0), + (this.tickMarkColor[h + p] = i(r.tickcolor)), + (this.borderLineEnable[h + p] = !1), + (this.borderLineColor[h + p] = i(r.linecolor)), + (this.borderLineWidth[h + p] = r.linewidth || 0); + (u = this.hasSharedAxis(r)), + (o = this.hasAxisInDfltPos(e, r) && !u), + (l = this.hasAxisInAltrPos(e, r) && !u), + (a = r.mirror || !1), + (c = u ? -1 !== String(a).indexOf("all") : !!a), + (f = u + ? "allticks" === a + : -1 !== String(a).indexOf("ticks")), + o + ? (this.labelEnable[h] = !0) + : l && (this.labelEnable[h + 2] = !0), + o + ? (this.tickEnable[h] = r.showticklabels) + : l && (this.tickEnable[h + 2] = r.showticklabels), + (o || c) && (this.borderLineEnable[h] = r.showline), + (l || c) && (this.borderLineEnable[h + 2] = r.showline), + (o || f) && + (this.tickMarkLength[h] = this.getTickMarkLength(r)), + (l || f) && + (this.tickMarkLength[h + 2] = + this.getTickMarkLength(r)), + (this.gridLineEnable[h] = r.showgrid), + (this.gridLineColor[h] = i(r.gridcolor)), + (this.gridLineWidth[h] = r.gridwidth), + (this.zeroLineEnable[h] = r.zeroline), + (this.zeroLineColor[h] = i(r.zerolinecolor)), + (this.zeroLineWidth[h] = r.zerolinewidth); + } + }), + (o.hasSharedAxis = function (t) { + var e = this.scene, + r = e.fullLayout._subplots.gl2d; + return 0 !== n.findSubplotsWithAxis(r, t).indexOf(e.id); + }), + (o.hasAxisInDfltPos = function (t, e) { + var r = e.side; + return "xaxis" === t + ? "bottom" === r + : "yaxis" === t + ? "left" === r + : void 0; + }), + (o.hasAxisInAltrPos = function (t, e) { + var r = e.side; + return "xaxis" === t + ? "top" === r + : "yaxis" === t + ? "right" === r + : void 0; + }), + (o.getLabelPad = function (t, e) { + var r = 1.5, + n = e.title.font.size, + i = e.showticklabels; + return "xaxis" === t + ? "top" === e.side + ? n * (r + (i ? 1 : 0)) - 10 + : n * (r + (i ? 0.5 : 0)) - 10 + : "yaxis" === t + ? "right" === e.side + ? 10 + n * (r + (i ? 1 : 0.5)) + : 10 + n * (r + (i ? 0.5 : 0)) + : void 0; + }), + (o.getTickPad = function (t) { + return "outside" === t.ticks ? 10 + t.ticklen : 15; + }), + (o.getTickMarkLength = function (t) { + if (!t.ticks) return 0; + var e = t.ticklen; + return "inside" === t.ticks ? -e : e; + }), + (t.exports = function (t) { + return new a(t); + }); + }, + 4796: function (t, e, r) { + "use strict"; + var n = r(30962).overrideAll, + i = r(92918), + a = r(10820), + o = r(77922), + s = r(85555), + l = r(93612), + u = r(528), + c = r(27659).NG; + (e.name = "gl2d"), + (e.attr = ["xaxis", "yaxis"]), + (e.idRoot = ["x", "y"]), + (e.idRegex = s.idRegex), + (e.attrRegex = s.attrRegex), + (e.attributes = r(89502)), + (e.supplyLayoutDefaults = function (t, e, r) { + e._has("cartesian") || l.supplyLayoutDefaults(t, e, r); + }), + (e.layoutAttrOverrides = n( + l.layoutAttributes, + "plot", + "from-root", + )), + (e.baseLayoutAttrOverrides = n( + { + plot_bgcolor: a.plot_bgcolor, + hoverlabel: u.hoverlabel, + }, + "plot", + "nested", + )), + (e.plot = function (t) { + for ( + var e = t._fullLayout, + r = t._fullData, + n = e._subplots.gl2d, + a = 0; + a < n.length; + a++ + ) { + var o = n[a], + s = e._plots[o], + l = c(r, "gl2d", o), + u = s._scene2d; + void 0 === u && + ((u = new i( + { + id: o, + graphDiv: t, + container: t.querySelector(".gl-container"), + staticPlot: t._context.staticPlot, + plotGlPixelRatio: t._context.plotGlPixelRatio, + }, + e, + )), + (s._scene2d = u)), + u.plot(l, t.calcdata, e, t.layout); + } + }), + (e.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) { + var u = c(t, "gl2d", o); + 0 === u.length && + (s._scene2d.destroy(), delete n._plots[o]); + } + } + l.clean.apply(this, arguments); + }), + (e.drawFramework = function (t) { + t._context.staticPlot || l.drawFramework(t); + }), + (e.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: o.svg, + "xlink:href": a, + x: 0, + y: 0, + width: "100%", + height: "100%", + preserveAspectRatio: "none", + }), + i.destroy(); + } + }), + (e.updateFx = function (t) { + for ( + var e = t._fullLayout, r = e._subplots.gl2d, n = 0; + n < r.length; + n++ + ) + e._plots[r[n]]._scene2d.updateFx(e.dragmode); + }); + }, + 92918: function (t, e, r) { + "use strict"; + var n, + i, + a = r(73972), + o = r(89298), + s = r(30211), + l = r(9330).gl_plot2d, + u = r(9330).gl_spikes2d, + c = r(9330).gl_select_box, + f = r(40372), + h = r(82961), + p = r(75071), + d = r(58617), + v = r(99082), + g = v.enforce, + y = v.clean, + m = r(71739).doAutoRange, + x = r(64505), + b = x.drawMode, + _ = x.selectMode, + w = ["xaxis", "yaxis"], + T = r(85555).SUBPLOT_PATTERN; + function k(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.cartesian), + (this.fullData = null), + this.updateRefs(e), + this.makeFramework(), + this.stopped || + ((this.glplotOptions = h(this)), + this.glplotOptions.merge(e), + (this.glplot = l(this.glplotOptions)), + (this.camera = p(this)), + (this.traces = {}), + (this.spikes = u(this.glplot)), + (this.selectBox = c(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()); + } + t.exports = k; + var A = k.prototype; + (A.makeFramework = function () { + if (this.staticPlot) { + if ( + !( + i || + ((n = document.createElement("canvas")), + (i = f({ + canvas: n, + preserveDrawingBuffer: !1, + premultipliedAlpha: !0, + antialias: !0, + }))) + ) + ) + throw new Error( + "Error creating static canvas/context for image server", + ); + (this.canvas = n), (this.gl = i); + } else { + var t = this.container.querySelector(".gl-canvas-focus"), + e = f({ + canvas: t, + preserveDrawingBuffer: !0, + premultipliedAlpha: !0, + }); + if (!e) return d(this), void (this.stopped = !0); + (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); + var a = (this.svgContainer = document.createElementNS( + "http://www.w3.org/2000/svg", + "svg", + )); + (a.style.position = "absolute"), + (a.style.top = a.style.left = "0px"), + (a.style.width = a.style.height = "100%"), + (a.style["z-index"] = 20), + (a.style["pointer-events"] = "none"); + var o = (this.mouseContainer = + document.createElement("div")); + (o.style.position = "absolute"), + (o.style["pointer-events"] = "auto"), + (this.pickCanvas = + this.container.querySelector(".gl-canvas-pick")); + var s = this.container; + s.appendChild(a), s.appendChild(o); + var l = this; + o.addEventListener("mouseout", function () { + (l.isMouseOver = !1), l.unhover(); + }), + o.addEventListener("mouseover", function () { + l.isMouseOver = !0; + }); + }), + (A.toImage = function (t) { + t || (t = "png"), + (this.stopped = !0), + this.staticPlot && this.container.appendChild(n), + this.updateSize(this.canvas); + var e = this.glplot.gl, + r = e.drawingBufferWidth, + i = 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 a = new Uint8Array(r * i * 4); + e.readPixels(0, 0, r, i, e.RGBA, e.UNSIGNED_BYTE, a); + for (var o = 0, s = i - 1; o < s; ++o, --s) + for (var l = 0; l < r; ++l) + for (var u = 0; u < 4; ++u) { + var c = a[4 * (r * o + l) + u]; + (a[4 * (r * o + l) + u] = a[4 * (r * s + l) + u]), + (a[4 * (r * s + l) + u] = c); + } + var f = document.createElement("canvas"); + (f.width = r), (f.height = i); + var h, + p = f.getContext("2d", { willReadFrequently: !0 }), + d = p.createImageData(r, i); + switch ((d.data.set(a), p.putImageData(d, 0, 0), t)) { + case "jpeg": + h = f.toDataURL("image/jpeg"); + break; + case "webp": + h = f.toDataURL("image/webp"); + break; + default: + h = f.toDataURL("image/png"); + } + return ( + this.staticPlot && this.container.removeChild(n), h + ); + }), + (A.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 + ); + }), + (A.computeTickMarks = function () { + this.xaxis.setScale(), this.yaxis.setScale(); + for ( + var t = [ + o.calcTicks(this.xaxis), + o.calcTicks(this.yaxis), + ], + e = 0; + e < 2; + ++e + ) + for (var r = 0; r < t[e].length; ++r) + t[e][r].text = t[e][r].text + ""; + return t; + }), + (A.updateRefs = function (t) { + this.fullLayout = t; + var e = this.id.match(T), + r = "xaxis" + e[1], + n = "yaxis" + e[2]; + (this.xaxis = this.fullLayout[r]), + (this.yaxis = this.fullLayout[n]); + }), + (A.relayoutCallback = function () { + var t = this.graphDiv, + e = this.xaxis, + r = this.yaxis, + n = t.layout, + i = {}, + o = (i[e._name + ".range"] = e.range.slice()), + s = (i[r._name + ".range"] = r.range.slice()); + (i[e._name + ".autorange"] = e.autorange), + (i[r._name + ".autorange"] = r.autorange), + a.call( + "_storeDirectGUIEdit", + t.layout, + t._fullLayout._preGUI, + i, + ); + var l = n[e._name]; + (l.range = o), (l.autorange = e.autorange); + var u = n[r._name]; + (u.range = s), + (u.autorange = r.autorange), + (i.lastInputTime = this.camera.lastInputTime), + t.emit("plotly_relayout", i); + }), + (A.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()); + }), + (A.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 && + a.getComponentMethod("annotations", "drawOne")(t, r); + } + }), + (A.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); + } + }), + (A.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: r._axisConstraintGroups, + xaxis: this.xaxis, + yaxis: this.yaxis, + _size: r._size, + }, + }; + y(s, this.xaxis), y(s, this.yaxis); + var l, + u, + c = r._size, + f = this.xaxis.domain, + h = this.yaxis.domain; + for ( + o.viewBox = [ + c.l + f[0] * c.w, + c.b + h[0] * c.h, + i - c.r - (1 - f[1]) * c.w, + a - c.t - (1 - h[1]) * c.h, + ], + this.mouseContainer.style.width = + c.w * (f[1] - f[0]) + "px", + this.mouseContainer.style.height = + c.h * (h[1] - h[0]) + "px", + this.mouseContainer.height = c.h * (h[1] - h[0]), + this.mouseContainer.style.left = + c.l + f[0] * c.w + "px", + this.mouseContainer.style.top = + c.t + (1 - h[1]) * c.h + "px", + u = 0; + u < 2; + ++u + ) + ((l = this[w[u]])._length = + o.viewBox[u + 2] - o.viewBox[u]), + m(this.graphDiv, l), + l.setScale(); + g(s), + (o.ticks = this.computeTickMarks()), + (o.dataBox = this.calcDataBox()), + o.merge(r), + n.update(o), + this.glplot.draw(); + }), + (A.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])]; + }), + (A.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])]); + }), + (A.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; + }); + }), + (A.updateFx = function (t) { + _(t) || b(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); + }), + (A.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, + }; + s.appendArrayPointValue(o, r, i), + this.graphDiv.emit(e, { points: [o] }); + }), + (A.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, + l = this.canvas.height - t.pixelRatio * r.y; + if (e.boxEnabled && "zoom" === i.dragmode) { + this.selectBox.enabled = !0; + for ( + var u = (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]), + ]), + c = 0; + c < 2; + c++ + ) + e.boxStart[c] === e.boxEnd[c] && + ((u[c] = t.dataBox[c]), + (u[c + 2] = t.dataBox[c + 2])); + t.setDirty(); + } else if (!e.panning && this.isMouseOver) { + this.selectBox.enabled = !1; + var f = i._size, + h = this.xaxis.domain, + p = this.yaxis.domain, + d = + (a = t.pick( + o / t.pixelRatio + f.l + h[0] * f.w, + l / t.pixelRatio - (f.t + (1 - p[1]) * f.h), + )) && a.object._trace.handlePick(a); + if ( + (d && n && this.emitPointAction(d, "plotly_click"), + a && + "skip" !== a.object._trace.hoverinfo && + i.hovermode && + d && + (!this.lastPickResult || + this.lastPickResult.traceUid !== d.trace.uid || + this.lastPickResult.dataCoord[0] !== + d.dataCoord[0] || + this.lastPickResult.dataCoord[1] !== + d.dataCoord[1])) + ) { + var v = d; + (this.lastPickResult = { + traceUid: d.trace ? d.trace.uid : null, + dataCoord: d.dataCoord.slice(), + }), + this.spikes.update({ center: a.dataCoord }), + (v.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(d, "plotly_hover"); + var g = this.fullData[v.trace.index] || {}, + y = v.pointIndex, + m = s.castHoverinfo(g, i, y); + if (m && "all" !== m) { + var x = m.split("+"); + -1 === x.indexOf("x") && + (v.traceCoord[0] = void 0), + -1 === x.indexOf("y") && + (v.traceCoord[1] = void 0), + -1 === x.indexOf("z") && + (v.traceCoord[2] = void 0), + -1 === x.indexOf("text") && + (v.textLabel = void 0), + -1 === x.indexOf("name") && (v.name = void 0); + } + s.loneHover( + { + x: v.screenCoord[0], + y: v.screenCoord[1], + xLabel: this.hoverFormatter( + "xaxis", + v.traceCoord[0], + ), + yLabel: this.hoverFormatter( + "yaxis", + v.traceCoord[1], + ), + zLabel: v.traceCoord[2], + text: v.textLabel, + name: v.name, + color: + s.castHoverOption(g, y, "bgcolor") || v.color, + borderColor: s.castHoverOption( + g, + y, + "bordercolor", + ), + fontFamily: s.castHoverOption( + g, + y, + "font.family", + ), + fontSize: s.castHoverOption(g, y, "font.size"), + fontColor: s.castHoverOption( + g, + y, + "font.color", + ), + nameLength: s.castHoverOption( + g, + y, + "namelength", + ), + textAlign: s.castHoverOption(g, y, "align"), + }, + { + container: this.svgContainer, + gd: this.graphDiv, + }, + ); + } + } + a || this.unhover(), t.draw(); + } + }), + (A.unhover = function () { + this.lastPickResult && + (this.spikes.update({}), + (this.lastPickResult = null), + this.graphDiv.emit("plotly_unhover"), + s.loneUnhover(this.svgContainer)); + }), + (A.hoverFormatter = function (t, e) { + if (void 0 !== e) { + var r = this[t]; + return o.tickText(r, r.c2l(e), "hover").text; + } + }); + }, + 58547: function (t, e, r) { + "use strict"; + var n = r(30962).overrideAll, + i = r(528), + a = r(33539), + o = r(27659).NG, + s = r(71828), + l = r(77922), + u = "gl3d", + c = "scene"; + (e.name = u), + (e.attr = c), + (e.idRoot = c), + (e.idRegex = e.attrRegex = s.counterRegex("scene")), + (e.attributes = r(59084)), + (e.layoutAttributes = r(65500)), + (e.baseLayoutAttrOverrides = n( + { hoverlabel: i.hoverlabel }, + "plot", + "nested", + )), + (e.supplyLayoutDefaults = r(24682)), + (e.plot = function (t) { + for ( + var e = t._fullLayout, + r = t._fullData, + n = e._subplots.gl3d, + i = 0; + i < n.length; + i++ + ) { + var s = n[i], + l = o(r, u, s), + c = e[s], + f = c.camera, + h = c._scene; + h || + ((h = new a( + { + id: s, + graphDiv: t, + container: t.querySelector(".gl-container"), + staticPlot: t._context.staticPlot, + plotGlPixelRatio: t._context.plotGlPixelRatio, + camera: f, + }, + e, + )), + (c._scene = h)), + h.viewInitial || + (h.viewInitial = { + up: { x: f.up.x, y: f.up.y, z: f.up.z }, + eye: { x: f.eye.x, y: f.eye.y, z: f.eye.z }, + center: { + x: f.center.x, + y: f.center.y, + z: f.center.z, + }, + }), + h.plot(l, e, t.layout); + } + }), + (e.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()); + } + }), + (e.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, + u = s.toImage("png"); + e._glimages + .append("svg:image") + .attr({ + xmlns: l.svg, + "xlink:href": u, + 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(); + } + }), + (e.cleanId = function (t) { + if (t.match(/^scene[0-9]*$/)) { + var e = t.substr(5); + return "1" === e && (e = ""), c + e; + } + }), + (e.updateFx = function (t) { + for ( + var e = t._fullLayout, r = e._subplots.gl3d, n = 0; + n < r.length; + n++ + ) + e[r[n]]._scene.updateFx(e.dragmode, e.hovermode); + }); + }, + 59084: function (t) { + "use strict"; + t.exports = { + scene: { + valType: "subplotid", + dflt: "scene", + editType: "calc+clearAxisTypes", + }, + }; + }, + 77894: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(13838), + a = r(1426).extendFlat, + o = r(30962).overrideAll; + t.exports = o( + { + visible: i.visible, + showspikes: { valType: "boolean", dflt: !0 }, + spikesides: { valType: "boolean", dflt: !0 }, + spikethickness: { valType: "number", min: 0, dflt: 2 }, + spikecolor: { valType: "color", dflt: n.defaultLine }, + showbackground: { valType: "boolean", dflt: !1 }, + backgroundcolor: { + valType: "color", + dflt: "rgba(204, 204, 204, 0.5)", + }, + showaxeslabels: { valType: "boolean", dflt: !0 }, + color: i.color, + categoryorder: i.categoryorder, + categoryarray: i.categoryarray, + title: { text: i.title.text, font: i.title.font }, + type: a({}, i.type, { + values: ["-", "linear", "log", "date", "category"], + }), + autotypenumbers: i.autotypenumbers, + autorange: i.autorange, + autorangeoptions: { + minallowed: i.autorangeoptions.minallowed, + maxallowed: i.autorangeoptions.maxallowed, + clipmin: i.autorangeoptions.clipmin, + clipmax: i.autorangeoptions.clipmax, + include: i.autorangeoptions.include, + editType: "plot", + }, + rangemode: i.rangemode, + minallowed: i.minallowed, + maxallowed: i.maxallowed, + range: a({}, i.range, { + items: [ + { + valType: "any", + editType: "plot", + impliedEdits: { "^autorange": !1 }, + }, + { + valType: "any", + editType: "plot", + impliedEdits: { "^autorange": !1 }, + }, + ], + anim: !1, + }), + tickmode: i.minor.tickmode, + nticks: i.nticks, + tick0: i.tick0, + dtick: i.dtick, + tickvals: i.tickvals, + ticktext: i.ticktext, + ticks: i.ticks, + mirror: i.mirror, + ticklen: i.ticklen, + tickwidth: i.tickwidth, + tickcolor: i.tickcolor, + showticklabels: i.showticklabels, + labelalias: i.labelalias, + tickfont: i.tickfont, + tickangle: i.tickangle, + tickprefix: i.tickprefix, + showtickprefix: i.showtickprefix, + ticksuffix: i.ticksuffix, + showticksuffix: i.showticksuffix, + showexponent: i.showexponent, + exponentformat: i.exponentformat, + minexponent: i.minexponent, + separatethousands: i.separatethousands, + tickformat: i.tickformat, + tickformatstops: i.tickformatstops, + hoverformat: i.hoverformat, + showline: i.showline, + linecolor: i.linecolor, + linewidth: i.linewidth, + showgrid: i.showgrid, + gridcolor: a({}, i.gridcolor, { + dflt: "rgb(204, 204, 204)", + }), + gridwidth: i.gridwidth, + zeroline: i.zeroline, + zerolinecolor: i.zerolinecolor, + zerolinewidth: i.zerolinewidth, + _deprecated: { + title: i._deprecated.title, + titlefont: i._deprecated.titlefont, + }, + }, + "plot", + "from-root", + ); + }, + 3277: function (t, e, r) { + "use strict"; + var n = r(84267).mix, + i = r(71828), + a = r(44467), + o = r(77894), + s = r(951), + l = r(71453), + u = ["xaxis", "yaxis", "zaxis"]; + t.exports = function (t, e, r) { + var c, f; + function h(t, e) { + return i.coerce(c, f, o, t, e); + } + for (var p = 0; p < u.length; p++) { + var d = u[p]; + (c = t[d] || {}), + ((f = a.newContainer(e, d))._id = d[0] + r.scene), + (f._name = d), + s(c, f, h, r), + l( + c, + f, + h, + { + font: r.font, + letter: d[0], + data: r.data, + showGrid: !0, + noTickson: !0, + noTicklabelmode: !0, + noTicklabelstep: !0, + noTicklabelposition: !0, + noTicklabeloverflow: !0, + bgColor: r.bgColor, + calendar: r.calendar, + }, + r.fullLayout, + ), + h( + "gridcolor", + n( + f.color, + r.bgColor, + 72.72727272727273, + ).toRgbString(), + ), + h("title.text", d[0]), + (f.setScale = i.noop), + h("showspikes") && + (h("spikesides"), + h("spikethickness"), + h("spikecolor", f.color)), + h("showaxeslabels"), + h("showbackground") && h("backgroundcolor"); + } + }; + }, + 30422: function (t, e, r) { + "use strict"; + var n = r(78614), + i = r(71828), + a = ["xaxis", "yaxis", "zaxis"]; + function o() { + (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.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 = [ + [0.8, 0.8, 0.8, 0.5], + [0.8, 0.8, 0.8, 0.5], + [0.8, 0.8, 0.8, 0.5], + ]), + (this._defaultTickPad = this.tickPad.slice()), + (this._defaultLabelPad = this.labelPad.slice()), + (this._defaultLineTickLength = + this.lineTickLength.slice()); + } + (o.prototype.merge = function (t, e) { + for (var r = this, o = 0; o < 3; ++o) { + var s = e[a[o]]; + s.visible + ? ((r.labels[o] = t._meta + ? i.templateString(s.title.text, t._meta) + : s.title.text), + "font" in s.title && + (s.title.font.color && + (r.labelColor[o] = n(s.title.font.color)), + s.title.font.family && + (r.labelFont[o] = s.title.font.family), + s.title.font.size && + (r.labelSize[o] = s.title.font.size)), + "showline" in s && (r.lineEnable[o] = s.showline), + "linecolor" in s && (r.lineColor[o] = n(s.linecolor)), + "linewidth" in s && (r.lineWidth[o] = s.linewidth), + "showgrid" in s && (r.gridEnable[o] = s.showgrid), + "gridcolor" in s && (r.gridColor[o] = n(s.gridcolor)), + "gridwidth" in s && (r.gridWidth[o] = s.gridwidth), + "log" === s.type + ? (r.zeroEnable[o] = !1) + : "zeroline" in s && (r.zeroEnable[o] = s.zeroline), + "zerolinecolor" in s && + (r.zeroLineColor[o] = n(s.zerolinecolor)), + "zerolinewidth" in s && + (r.zeroLineWidth[o] = s.zerolinewidth), + "ticks" in s && s.ticks + ? (r.lineTickEnable[o] = !0) + : (r.lineTickEnable[o] = !1), + "ticklen" in s && + (r.lineTickLength[o] = r._defaultLineTickLength[o] = + s.ticklen), + "tickcolor" in s && + (r.lineTickColor[o] = n(s.tickcolor)), + "tickwidth" in s && + (r.lineTickWidth[o] = s.tickwidth), + "tickangle" in s && + (r.tickAngle[o] = + "auto" === s.tickangle + ? -3600 + : (Math.PI * -s.tickangle) / 180), + "showticklabels" in s && + (r.tickEnable[o] = s.showticklabels), + "tickfont" in s && + (s.tickfont.color && + (r.tickColor[o] = n(s.tickfont.color)), + s.tickfont.family && + (r.tickFont[o] = s.tickfont.family), + s.tickfont.size && + (r.tickSize[o] = s.tickfont.size)), + "mirror" in s + ? -1 !== + ["ticks", "all", "allticks"].indexOf(s.mirror) + ? ((r.lineTickMirror[o] = !0), + (r.lineMirror[o] = !0)) + : !0 === s.mirror + ? ((r.lineTickMirror[o] = !1), + (r.lineMirror[o] = !0)) + : ((r.lineTickMirror[o] = !1), + (r.lineMirror[o] = !1)) + : (r.lineMirror[o] = !1), + "showbackground" in s && !1 !== s.showbackground + ? ((r.backgroundEnable[o] = !0), + (r.backgroundColor[o] = n(s.backgroundcolor))) + : (r.backgroundEnable[o] = !1)) + : ((r.tickEnable[o] = !1), + (r.labelEnable[o] = !1), + (r.lineEnable[o] = !1), + (r.lineTickEnable[o] = !1), + (r.gridEnable[o] = !1), + (r.zeroEnable[o] = !1), + (r.backgroundEnable[o] = !1)); + } + }), + (t.exports = function (t, e) { + var r = new o(); + return r.merge(t, e), r; + }); + }, + 24682: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(73972), + o = r(49119), + s = r(3277), + l = r(65500), + u = r(27659).NG, + c = "gl3d"; + function f(t, e, r, n) { + for ( + var o = r("bgcolor"), + l = i.combine(o, n.paper_bgcolor), + f = ["up", "center", "eye"], + h = 0; + h < f.length; + h++ + ) + r("camera." + f[h] + ".x"), + r("camera." + f[h] + ".y"), + r("camera." + f[h] + ".z"); + r("camera.projection.type"); + var p = + !!r("aspectratio.x") && + !!r("aspectratio.y") && + !!r("aspectratio.z"), + d = r("aspectmode", p ? "manual" : "auto"); + p || + ((t.aspectratio = e.aspectratio = { x: 1, y: 1, z: 1 }), + "manual" === d && (e.aspectmode = "auto"), + (t.aspectmode = e.aspectmode)); + var v = u(n.fullData, c, n.id); + s(t, e, { + font: n.font, + scene: n.id, + data: v, + bgColor: l, + calendar: n.calendar, + autotypenumbersDflt: n.autotypenumbersDflt, + fullLayout: n.fullLayout, + }), + a.getComponentMethod("annotations3d", "handleDefaults")( + t, + e, + n, + ); + var g = n.getDfltFromLayout("dragmode"); + if (!1 !== g && !g) + if (((g = "orbit"), t.camera && t.camera.up)) { + var y = t.camera.up.x, + m = t.camera.up.y, + x = t.camera.up.z; + 0 !== x && + (y && m && x + ? x / Math.sqrt(y * y + m * m + x * x) > 0.999 && + (g = "turntable") + : (g = "turntable")); + } else g = "turntable"; + r("dragmode", g), + r("hovermode", n.getDfltFromLayout("hovermode")); + } + t.exports = function (t, e, r) { + var i = e._basePlotModules.length > 1; + o(t, e, r, { + type: c, + attributes: l, + handleDefaults: f, + fullLayout: e, + font: e.font, + fullData: r, + getDfltFromLayout: function (e) { + if (!i) return n.validate(t[e], l[e]) ? t[e] : void 0; + }, + autotypenumbersDflt: e.autotypenumbers, + paper_bgcolor: e.paper_bgcolor, + calendar: e.calendar, + }); + }; + }, + 65500: function (t, e, r) { + "use strict"; + var n = r(77894), + i = r(27670).Y, + a = r(1426).extendFlat, + o = r(71828).counterRegex; + function s(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", + }; + } + t.exports = { + _arrayAttrRegexps: [o("scene", ".annotations", !0)], + bgcolor: { + valType: "color", + dflt: "rgba(0,0,0,0)", + editType: "plot", + }, + camera: { + up: a(s(0, 0, 1), {}), + center: a(s(0, 0, 0), {}), + eye: a(s(1.25, 1.25, 1.25), {}), + projection: { + type: { + valType: "enumerated", + values: ["perspective", "orthographic"], + dflt: "perspective", + editType: "calc", + }, + editType: "calc", + }, + editType: "camera", + }, + domain: i({ 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: n, + yaxis: n, + zaxis: n, + dragmode: { + valType: "enumerated", + values: ["orbit", "turntable", "zoom", "pan", !1], + editType: "plot", + }, + hovermode: { + valType: "enumerated", + values: ["closest", !1], + dflt: "closest", + editType: "modebar", + }, + uirevision: { valType: "any", editType: "none" }, + editType: "plot", + _deprecated: { + cameraposition: { + valType: "info_array", + editType: "camera", + }, + }, + }; + }, + 13133: function (t, e, r) { + "use strict"; + var n = r(78614), + i = ["xaxis", "yaxis", "zaxis"]; + function a() { + (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]); + } + (a.prototype.merge = function (t) { + for (var e = 0; e < 3; ++e) { + var r = t[i[e]]; + r.visible + ? ((this.enabled[e] = r.showspikes), + (this.colors[e] = n(r.spikecolor)), + (this.drawSides[e] = r.spikesides), + (this.lineWidth[e] = r.spikethickness)) + : ((this.enabled[e] = !1), (this.drawSides[e] = !1)); + } + }), + (t.exports = function (t) { + var e = new a(); + return e.merge(t), e; + }); + }, + 96085: function (t, e, r) { + "use strict"; + t.exports = function (t) { + for ( + var e = t.axesOptions, + r = t.glplot.axesPixels, + s = t.fullSceneLayout, + l = [[], [], []], + u = 0; + u < 3; + ++u + ) { + var c = s[a[u]]; + if ( + ((c._length = + ((r[u].hi - r[u].lo) * r[u].pixelsPerDataUnit) / + t.dataScale[u]), + Math.abs(c._length) === 1 / 0 || isNaN(c._length)) + ) + l[u] = []; + else { + (c._input_range = c.range.slice()), + (c.range[0] = r[u].lo / t.dataScale[u]), + (c.range[1] = r[u].hi / t.dataScale[u]), + (c._m = + 1 / (t.dataScale[u] * r[u].pixelsPerDataUnit)), + c.range[0] === c.range[1] && + ((c.range[0] -= 1), (c.range[1] += 1)); + var f = c.tickmode; + if ("auto" === c.tickmode) { + c.tickmode = "linear"; + var h = c.nticks || i.constrain(c._length / 40, 4, 9); + n.autoTicks(c, Math.abs(c.range[1] - c.range[0]) / h); + } + for ( + var p = n.calcTicks(c, { msUTC: !0 }), d = 0; + d < p.length; + ++d + ) + (p[d].x = p[d].x * t.dataScale[u]), + "date" === c.type && + (p[d].text = p[d].text.replace(/\/g, " ")); + (l[u] = p), (c.tickmode = f); + } + } + for (e.ticks = l, u = 0; u < 3; ++u) + for ( + o[u] = + 0.5 * (t.glplot.bounds[0][u] + t.glplot.bounds[1][u]), + d = 0; + d < 2; + ++d + ) + e.bounds[d][u] = t.glplot.bounds[d][u]; + 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; + })(l); + }; + var n = r(89298), + i = r(71828), + a = ["xaxis", "yaxis", "zaxis"], + o = [0, 0, 0]; + }, + 63538: function (t) { + "use strict"; + function e(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; + } + t.exports = function (t, r) { + return e( + t.projection, + e(t.view, e(t.model, [r[0], r[1], r[2], 1])), + ); + }; + }, + 33539: function (t, e, r) { + "use strict"; + var n, + i, + a = r(9330).gl_plot3d, + o = a.createCamera, + s = a.createScene, + l = r(40372), + u = r(38520), + c = r(73972), + f = r(71828), + h = f.preserveDrawingBuffer(), + p = r(89298), + d = r(30211), + v = r(78614), + g = r(58617), + y = r(63538), + m = r(30422), + x = r(13133), + b = r(96085), + _ = r(71739).applyAutorangeOptions, + w = !1; + function T(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 = m(e, e[this.id])), + (this.spikeOptions = x(e[this.id])), + (this.container = r), + (this.staticMode = !!t.staticPlot), + (this.pixelRatio = + this.pixelRatio || t.plotGlPixelRatio || 2), + (this.dataScale = [1, 1, 1]), + (this.contourLevels = [[], [], []]), + (this.convertAnnotations = c.getComponentMethod( + "annotations3d", + "convert", + )), + (this.drawAnnotations = c.getComponentMethod( + "annotations3d", + "draw", + )), + this.initializeGLPlot(); + } + var k = T.prototype; + k.prepareOptions = function () { + var t = this, + e = { + canvas: t.canvas, + gl: t.gl, + glOptions: { + preserveDrawingBuffer: h, + premultipliedAlpha: !0, + antialias: !0, + }, + container: t.container, + axes: t.axesOptions, + spikes: t.spikeOptions, + pickRadius: 10, + snapToData: !0, + autoScale: !0, + autoBounds: !1, + cameraObject: t.camera, + pixelRatio: t.pixelRatio, + }; + if (t.staticMode) { + if ( + !( + i || + ((n = document.createElement("canvas")), + (i = l({ + canvas: n, + preserveDrawingBuffer: !0, + premultipliedAlpha: !0, + antialias: !0, + }))) + ) + ) + throw new Error( + "error creating static canvas/context for image server", + ); + (e.gl = i), (e.canvas = n); + } + return e; + }; + var A = !0; + (k.tryCreatePlot = function () { + var t = this, + e = t.prepareOptions(), + r = !0; + try { + t.glplot = s(e); + } catch (n) { + if (t.staticMode || !A || h) r = !1; + else { + f.warn( + [ + "webgl setup failed possibly due to", + "false preserveDrawingBuffer config.", + "The mobile/tablet device may not be detected by is-mobile module.", + "Enabling preserveDrawingBuffer in second attempt to create webgl scene...", + ].join(" "), + ); + try { + (h = e.glOptions.preserveDrawingBuffer = !0), + (t.glplot = s(e)); + } catch (t) { + (h = e.glOptions.preserveDrawingBuffer = !1), + (r = !1); + } + } + } + return (A = !1), r; + }), + (k.initializeGLCamera = function () { + var t = this, + e = t.fullSceneLayout.camera, + r = "orthographic" === e.projection.type; + t.camera = o(t.container, { + center: [e.center.x, e.center.y, e.center.z], + eye: [e.eye.x, e.eye.y, e.eye.z], + up: [e.up.x, e.up.y, e.up.z], + _ortho: r, + zoomMin: 0.01, + zoomMax: 100, + mode: "orbit", + }); + }), + (k.initializeGLPlot = function () { + var t = this; + if ((t.initializeGLCamera(), !t.tryCreatePlot())) + return g(t); + (t.traces = {}), t.make4thDimension(); + var e = t.graphDiv, + r = e.layout, + n = function () { + var e = {}; + return ( + t.isCameraChanged(r) && + (e[t.id + ".camera"] = t.getCamera()), + t.isAspectChanged(r) && + ((e[t.id + ".aspectratio"] = + t.glplot.getAspectratio()), + "manual" !== r[t.id].aspectmode && + (t.fullSceneLayout.aspectmode = + r[t.id].aspectmode = + e[t.id + ".aspectmode"] = + "manual")), + e + ); + }, + i = function (t) { + if (!1 !== t.fullSceneLayout.dragmode) { + var e = n(); + t.saveLayout(r), + t.graphDiv.emit("plotly_relayout", e); + } + }; + return ( + t.glplot.canvas && + (t.glplot.canvas.addEventListener( + "mouseup", + function () { + i(t); + }, + ), + t.glplot.canvas.addEventListener( + "touchstart", + function () { + w = !0; + }, + ), + t.glplot.canvas.addEventListener( + "wheel", + function (r) { + if (e._context._scrollZoom.gl3d) { + if (t.camera._ortho) { + var n = r.deltaX > r.deltaY ? 1.1 : 1 / 1.1, + a = t.glplot.getAspectratio(); + t.glplot.setAspectratio({ + x: n * a.x, + y: n * a.y, + z: n * a.z, + }); + } + i(t); + } + }, + !!u && { passive: !1 }, + ), + t.glplot.canvas.addEventListener( + "mousemove", + function () { + if ( + !1 !== t.fullSceneLayout.dragmode && + 0 !== t.camera.mouseListener.buttons + ) { + var e = n(); + t.graphDiv.emit("plotly_relayouting", e); + } + }, + ), + t.staticMode || + t.glplot.canvas.addEventListener( + "webglcontextlost", + function (r) { + e && + e.emit && + e.emit("plotly_webglcontextlost", { + event: r, + layer: t.id, + }); + }, + !1, + )), + (t.glplot.oncontextloss = function () { + t.recoverContext(); + }), + (t.glplot.onrender = function () { + t.render(); + }), + !0 + ); + }), + (k.render = function () { + var t, + e = this, + r = e.graphDiv, + n = e.svgContainer, + i = e.container.getBoundingClientRect(); + r._fullLayout._calcInverseTransform(r); + var a = r._fullLayout._invScaleX, + o = r._fullLayout._invScaleY, + s = i.width * a, + l = i.height * o; + n.setAttributeNS(null, "viewBox", "0 0 " + s + " " + l), + n.setAttributeNS(null, "width", s), + n.setAttributeNS(null, "height", l), + b(e), + e.glplot.axes.update(e.axesOptions); + for ( + var u = Object.keys(e.traces), + c = null, + h = e.glplot.selection, + v = 0; + v < u.length; + ++v + ) + "skip" !== (t = e.traces[u[v]]).data.hoverinfo && + t.handlePick(h) && + (c = t), + t.setContourLevels && t.setContourLevels(); + function g(t, r, n) { + var i = e.fullSceneLayout[t + "axis"]; + return ( + "log" !== i.type && (r = i.d2l(r)), + p.hoverLabelText(i, r, n) + ); + } + if (null !== c) { + var m = y(e.glplot.cameraParams, h.dataCoordinate); + t = c.data; + var x, + _ = r._fullData[t.index], + T = h.index, + k = { + xLabel: g( + "x", + h.traceCoordinate[0], + t.xhoverformat, + ), + yLabel: g( + "y", + h.traceCoordinate[1], + t.yhoverformat, + ), + zLabel: g( + "z", + h.traceCoordinate[2], + t.zhoverformat, + ), + }, + A = d.castHoverinfo(_, e.fullLayout, T), + M = (A || "").split("+"), + S = A && "all" === A; + _.hovertemplate || + S || + (-1 === M.indexOf("x") && (k.xLabel = void 0), + -1 === M.indexOf("y") && (k.yLabel = void 0), + -1 === M.indexOf("z") && (k.zLabel = void 0), + -1 === M.indexOf("text") && (h.textLabel = void 0), + -1 === M.indexOf("name") && (c.name = void 0)); + var E = []; + "cone" === t.type || "streamtube" === t.type + ? ((k.uLabel = g( + "x", + h.traceCoordinate[3], + t.uhoverformat, + )), + (S || -1 !== M.indexOf("u")) && + E.push("u: " + k.uLabel), + (k.vLabel = g( + "y", + h.traceCoordinate[4], + t.vhoverformat, + )), + (S || -1 !== M.indexOf("v")) && + E.push("v: " + k.vLabel), + (k.wLabel = g( + "z", + h.traceCoordinate[5], + t.whoverformat, + )), + (S || -1 !== M.indexOf("w")) && + E.push("w: " + k.wLabel), + (k.normLabel = h.traceCoordinate[6].toPrecision(3)), + (S || -1 !== M.indexOf("norm")) && + E.push("norm: " + k.normLabel), + "streamtube" === t.type && + ((k.divergenceLabel = + h.traceCoordinate[7].toPrecision(3)), + (S || -1 !== M.indexOf("divergence")) && + E.push("divergence: " + k.divergenceLabel)), + h.textLabel && E.push(h.textLabel), + (x = E.join("
"))) + : "isosurface" === t.type || "volume" === t.type + ? ((k.valueLabel = p.hoverLabelText( + e._mockAxis, + e._mockAxis.d2l(h.traceCoordinate[3]), + t.valuehoverformat, + )), + E.push("value: " + k.valueLabel), + h.textLabel && E.push(h.textLabel), + (x = E.join("
"))) + : (x = h.textLabel); + var L = { + x: h.traceCoordinate[0], + y: h.traceCoordinate[1], + z: h.traceCoordinate[2], + data: _._input, + fullData: _, + curveNumber: _.index, + pointNumber: T, + }; + d.appendArrayPointValue(L, _, T), + t._module.eventData && + (L = _._module.eventData(L, h, _, {}, T)); + var C = { points: [L] }; + if (e.fullSceneLayout.hovermode) { + var P = []; + d.loneHover( + { + trace: _, + x: (0.5 + (0.5 * m[0]) / m[3]) * s, + y: (0.5 - (0.5 * m[1]) / m[3]) * l, + xLabel: k.xLabel, + yLabel: k.yLabel, + zLabel: k.zLabel, + text: x, + name: c.name, + color: + d.castHoverOption(_, T, "bgcolor") || c.color, + borderColor: d.castHoverOption( + _, + T, + "bordercolor", + ), + fontFamily: d.castHoverOption( + _, + T, + "font.family", + ), + fontSize: d.castHoverOption(_, T, "font.size"), + fontColor: d.castHoverOption(_, T, "font.color"), + nameLength: d.castHoverOption(_, T, "namelength"), + textAlign: d.castHoverOption(_, T, "align"), + hovertemplate: f.castOption( + _, + T, + "hovertemplate", + ), + hovertemplateLabels: f.extendFlat({}, L, k), + eventData: [L], + }, + { container: n, gd: r, inOut_bbox: P }, + ), + (L.bbox = P[0]); + } + h.distance < 5 && (h.buttons || w) + ? r.emit("plotly_click", C) + : r.emit("plotly_hover", C), + (this.oldEventData = C); + } else + d.loneUnhover(n), + this.oldEventData && + r.emit("plotly_unhover", this.oldEventData), + (this.oldEventData = void 0); + e.drawAnnotations(e); + }), + (k.recoverContext = function () { + var t = this; + t.glplot.dispose(); + var e = function () { + t.glplot.gl.isContextLost() + ? requestAnimationFrame(e) + : t.initializeGLPlot() + ? t.plot.apply(t, t.plotArgs) + : f.error( + "Catastrophic and unrecoverable WebGL error. Context lost.", + ); + }; + requestAnimationFrame(e); + }); + var M = ["xaxis", "yaxis", "zaxis"]; + function S(t, e, r) { + for (var n = t.fullSceneLayout, i = 0; i < 3; i++) { + var a = M[i], + o = a.charAt(0), + s = n[a], + l = e[o], + u = e[o + "calendar"], + c = e["_" + o + "length"]; + if (f.isArrayOrTypedArray(l)) + for (var h, p = 0; p < (c || l.length); p++) + if (f.isArrayOrTypedArray(l[p])) + for (var d = 0; d < l[p].length; ++d) + (h = s.d2l(l[p][d], 0, u)), + !isNaN(h) && + isFinite(h) && + ((r[0][i] = Math.min(r[0][i], h)), + (r[1][i] = Math.max(r[1][i], h))); + else + (h = s.d2l(l[p], 0, u)), + !isNaN(h) && + isFinite(h) && + ((r[0][i] = Math.min(r[0][i], h)), + (r[1][i] = Math.max(r[1][i], h))); + else + (r[0][i] = Math.min(r[0][i], 0)), + (r[1][i] = Math.max(r[1][i], c - 1)); + } + } + (k.plot = function (t, e, r) { + var n = this; + if (((n.plotArgs = [t, e, r]), !n.glplot.contextLost)) { + var i, + a, + o, + s, + l, + u, + c = e[n.id], + f = r[n.id]; + (n.fullLayout = e), + (n.fullSceneLayout = c), + n.axesOptions.merge(e, c), + n.spikeOptions.merge(c), + n.setViewport(c), + n.updateFx(c.dragmode, c.hovermode), + (n.camera.enableWheel = + n.graphDiv._context._scrollZoom.gl3d), + n.glplot.setClearColor(v(c.bgcolor)), + n.setConvert(l), + t ? Array.isArray(t) || (t = [t]) : (t = []); + var h = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ]; + for (o = 0; o < t.length; ++o) + !0 === (i = t[o]).visible && + 0 !== i._length && + S(this, i, h); + !(function (t, e) { + for ( + var r = t.fullSceneLayout, + n = r.annotations || [], + i = 0; + i < 3; + i++ + ) + for ( + var a = M[i], o = a.charAt(0), s = r[a], l = 0; + l < n.length; + l++ + ) { + var u = n[l]; + if (u.visible) { + var c = s.r2l(u[o]); + !isNaN(c) && + isFinite(c) && + ((e[0][i] = Math.min(e[0][i], c)), + (e[1][i] = Math.max(e[1][i], c))); + } + } + })(this, h); + var p = [1, 1, 1]; + for (s = 0; s < 3; ++s) + h[1][s] === h[0][s] + ? (p[s] = 1) + : (p[s] = 1 / (h[1][s] - h[0][s])); + for ( + n.dataScale = p, n.convertAnnotations(this), o = 0; + o < t.length; + ++o + ) + !0 === (i = t[o]).visible && + 0 !== i._length && + ((a = n.traces[i.uid]) + ? a.data.type === i.type + ? a.update(i) + : (a.dispose(), + (a = i._module.plot(this, i)), + (n.traces[i.uid] = a)) + : ((a = i._module.plot(this, i)), + (n.traces[i.uid] = a)), + (a.name = i.name)); + var d = Object.keys(n.traces); + t: for (o = 0; o < d.length; ++o) { + for (s = 0; s < t.length; ++s) + if ( + t[s].uid === d[o] && + !0 === t[s].visible && + 0 !== t[s]._length + ) + continue t; + (a = n.traces[d[o]]).dispose(), delete n.traces[d[o]]; + } + n.glplot.objects.sort(function (t, e) { + return t._trace.data.index - e._trace.data.index; + }); + var g, + y = [ + [0, 0, 0], + [0, 0, 0], + ], + m = [], + x = {}; + for (o = 0; o < 3; ++o) { + var b; + if ( + ((u = (l = c[M[o]]).type) in x + ? ((x[u].acc *= p[o]), (x[u].count += 1)) + : (x[u] = { acc: p[o], count: 1 }), + l.autorange) + ) { + (y[0][o] = 1 / 0), (y[1][o] = -1 / 0); + var w = n.glplot.objects, + T = n.fullSceneLayout.annotations || [], + k = l._name.charAt(0); + for (s = 0; s < w.length; s++) { + var A = w[s], + E = A.bounds, + L = A._trace.data._pad || 0; + "ErrorBars" === A.constructor.name && + l._lowerLogErrorBound + ? (y[0][o] = Math.min( + y[0][o], + l._lowerLogErrorBound, + )) + : (y[0][o] = Math.min( + y[0][o], + E[0][o] / p[o] - L, + )), + (y[1][o] = Math.max(y[1][o], E[1][o] / p[o] + L)); + } + for (s = 0; s < T.length; s++) { + var C = T[s]; + if (C.visible) { + var P = l.r2l(C[k]); + (y[0][o] = Math.min(y[0][o], P)), + (y[1][o] = Math.max(y[1][o], P)); + } + } + if ( + ("rangemode" in l && + "tozero" === l.rangemode && + ((y[0][o] = Math.min(y[0][o], 0)), + (y[1][o] = Math.max(y[1][o], 0))), + y[0][o] > y[1][o]) + ) + (y[0][o] = -1), (y[1][o] = 1); + else { + var O = y[1][o] - y[0][o]; + (y[0][o] -= O / 32), (y[1][o] += O / 32); + } + if ( + ((b = [y[0][o], y[1][o]]), + (b = _(b, l)), + (y[0][o] = b[0]), + (y[1][o] = b[1]), + l.isReversed()) + ) { + var I = y[0][o]; + (y[0][o] = y[1][o]), (y[1][o] = I); + } + } else + (b = l.range), + (y[0][o] = l.r2l(b[0])), + (y[1][o] = l.r2l(b[1])); + y[0][o] === y[1][o] && ((y[0][o] -= 1), (y[1][o] += 1)), + (m[o] = y[1][o] - y[0][o]), + (l.range = [y[0][o], y[1][o]]), + l.limitRange(), + n.glplot.setBounds(o, { + min: l.range[0] * p[o], + max: l.range[1] * p[o], + }); + } + var D = c.aspectmode; + if ("cube" === D) g = [1, 1, 1]; + else if ("manual" === D) { + var z = c.aspectratio; + g = [z.x, z.y, z.z]; + } else { + if ("auto" !== D && "data" !== D) + throw new Error( + "scene.js aspectRatio was not one of the enumerated types", + ); + var R = [1, 1, 1]; + for (o = 0; o < 3; ++o) { + var F = x[(u = (l = c[M[o]]).type)]; + R[o] = Math.pow(F.acc, 1 / F.count) / p[o]; + } + g = + "data" === D || + Math.max.apply(null, R) / Math.min.apply(null, R) <= 4 + ? R + : [1, 1, 1]; + } + (c.aspectratio.x = f.aspectratio.x = g[0]), + (c.aspectratio.y = f.aspectratio.y = g[1]), + (c.aspectratio.z = f.aspectratio.z = g[2]), + n.glplot.setAspectratio(c.aspectratio), + n.viewInitial.aspectratio || + (n.viewInitial.aspectratio = { + x: c.aspectratio.x, + y: c.aspectratio.y, + z: c.aspectratio.z, + }), + n.viewInitial.aspectmode || + (n.viewInitial.aspectmode = c.aspectmode); + var B = c.domain || null, + N = e._size || null; + if (B && N) { + var j = n.container.style; + (j.position = "absolute"), + (j.left = N.l + B.x[0] * N.w + "px"), + (j.top = N.t + (1 - B.y[1]) * N.h + "px"), + (j.width = N.w * (B.x[1] - B.x[0]) + "px"), + (j.height = N.h * (B.y[1] - B.y[0]) + "px"); + } + n.glplot.redraw(); + } + }), + (k.destroy = function () { + var t = this; + t.glplot && + ((t.camera.mouseListener.enabled = !1), + t.container.removeEventListener( + "wheel", + t.camera.wheelListener, + ), + (t.camera = null), + t.glplot.dispose(), + t.container.parentNode.removeChild(t.container), + (t.glplot = null)); + }), + (k.getCamera = function () { + var t, + e = this; + return ( + e.camera.view.recalcMatrix(e.camera.view.lastT()), + { + up: { + x: (t = e.camera).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] }, + projection: { + type: + !0 === t._ortho ? "orthographic" : "perspective", + }, + } + ); + }), + (k.setViewport = function (t) { + var e, + r = this, + n = t.camera; + r.camera.lookAt.apply(this, [ + [(e = n).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], + ]), + r.glplot.setAspectratio(t.aspectratio), + ("orthographic" === n.projection.type) !== + r.camera._ortho && + (r.glplot.redraw(), + r.glplot.clearRGBA(), + r.glplot.dispose(), + r.initializeGLPlot()); + }), + (k.isCameraChanged = function (t) { + var e = this.getCamera(), + r = f.nestedProperty(t, this.id + ".camera").get(); + function n(t, e, r, n) { + var i = ["up", "center", "eye"], + a = ["x", "y", "z"]; + return e[i[r]] && t[i[r]][a[n]] === e[i[r]][a[n]]; + } + var i = !1; + if (void 0 === r) i = !0; + else { + for (var a = 0; a < 3; a++) + for (var o = 0; o < 3; o++) + if (!n(e, r, a, o)) { + i = !0; + break; + } + (!r.projection || + (e.projection && + e.projection.type !== r.projection.type)) && + (i = !0); + } + return i; + }), + (k.isAspectChanged = function (t) { + var e = this.glplot.getAspectratio(), + r = f.nestedProperty(t, this.id + ".aspectratio").get(); + return ( + void 0 === r || + r.x !== e.x || + r.y !== e.y || + r.z !== e.z + ); + }), + (k.saveLayout = function (t) { + var e, + r, + n, + i, + a, + o, + s = this, + l = s.fullLayout, + u = s.isCameraChanged(t), + h = s.isAspectChanged(t), + p = u || h; + if (p) { + var d = {}; + u && + ((e = s.getCamera()), + (n = (r = f.nestedProperty( + t, + s.id + ".camera", + )).get()), + (d[s.id + ".camera"] = n)), + h && + ((i = s.glplot.getAspectratio()), + (o = (a = f.nestedProperty( + t, + s.id + ".aspectratio", + )).get()), + (d[s.id + ".aspectratio"] = o)), + c.call("_storeDirectGUIEdit", t, l._preGUI, d), + u && + (r.set(e), + f.nestedProperty(l, s.id + ".camera").set(e)), + h && + (a.set(i), + f.nestedProperty(l, s.id + ".aspectratio").set(i), + s.glplot.redraw()); + } + return p; + }), + (k.updateFx = function (t, e) { + var r = this, + n = r.camera; + if (n) + if ("orbit" === t) + (n.mode = "orbit"), (n.keyBindingMode = "rotate"); + else if ("turntable" === t) { + (n.up = [0, 0, 1]), + (n.mode = "turntable"), + (n.keyBindingMode = "rotate"); + var i = r.graphDiv, + a = i._fullLayout, + o = r.fullSceneLayout.camera, + s = o.up.x, + l = o.up.y, + u = o.up.z; + if (u / Math.sqrt(s * s + l * l + u * u) < 0.999) { + var h = r.id + ".camera.up", + p = { x: 0, y: 0, z: 1 }, + d = {}; + d[h] = p; + var v = i.layout; + c.call("_storeDirectGUIEdit", v, a._preGUI, d), + (o.up = p), + f.nestedProperty(v, h).set(p); + } + } else n.keyBindingMode = t; + r.fullSceneLayout.hovermode = e; + }), + (k.toImage = function (t) { + var e = this; + t || (t = "png"), + e.staticMode && e.container.appendChild(n), + e.glplot.redraw(); + var r = e.glplot.gl, + i = r.drawingBufferWidth, + a = r.drawingBufferHeight; + r.bindFramebuffer(r.FRAMEBUFFER, null); + var o = new Uint8Array(i * a * 4); + r.readPixels(0, 0, i, a, r.RGBA, r.UNSIGNED_BYTE, o), + (function (t, e, r) { + for (var n = 0, i = r - 1; n < i; ++n, --i) + for (var a = 0; a < e; ++a) + for (var o = 0; o < 4; ++o) { + var s = 4 * (e * n + a) + o, + l = 4 * (e * i + a) + o, + u = t[s]; + (t[s] = t[l]), (t[l] = u); + } + })(o, i, a), + (function (t, e, r) { + for (var n = 0; n < r; ++n) + for (var i = 0; i < e; ++i) { + var a = 4 * (e * n + i), + o = t[a + 3]; + if (o > 0) + for (var s = 255 / o, l = 0; l < 3; ++l) + t[a + l] = Math.min(s * t[a + l], 255); + } + })(o, i, a); + var s = document.createElement("canvas"); + (s.width = i), (s.height = a); + var l, + u = s.getContext("2d", { willReadFrequently: !0 }), + c = u.createImageData(i, a); + switch ((c.data.set(o), u.putImageData(c, 0, 0), t)) { + case "jpeg": + l = s.toDataURL("image/jpeg"); + break; + case "webp": + l = s.toDataURL("image/webp"); + break; + default: + l = s.toDataURL("image/png"); + } + return e.staticMode && e.container.removeChild(n), l; + }), + (k.setConvert = function () { + for (var t = 0; t < 3; t++) { + var e = this.fullSceneLayout[M[t]]; + p.setConvert(e, this.fullLayout), (e.setScale = f.noop); + } + }), + (k.make4thDimension = function () { + var t = this, + e = t.graphDiv._fullLayout; + (t._mockAxis = { + type: "linear", + showexponent: "all", + exponentformat: "B", + }), + p.setConvert(t._mockAxis, e); + }), + (t.exports = T); + }, + 90060: function (t) { + "use strict"; + t.exports = function (t, e, r, n) { + n = n || t.length; + for (var i = new Array(n), a = 0; a < n; a++) + i[a] = [t[a], e[a], r[a]]; + return i; + }; + }, + 10820: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(85594), + a = r(22399), + o = r(29241), + s = r(53777), + l = r(35025), + u = r(1426).extendFlat, + c = n({ editType: "calc" }); + (c.family.dflt = '"Open Sans", verdana, arial, sans-serif'), + (c.size.dflt = 12), + (c.color.dflt = a.defaultLine), + (t.exports = { + font: c, + title: { + text: { valType: "string", editType: "layoutstyle" }, + font: n({ editType: "layoutstyle" }), + xref: { + valType: "enumerated", + dflt: "container", + values: ["container", "paper"], + editType: "layoutstyle", + }, + yref: { + valType: "enumerated", + dflt: "container", + values: ["container", "paper"], + editType: "layoutstyle", + }, + x: { + valType: "number", + min: 0, + max: 1, + dflt: 0.5, + editType: "layoutstyle", + }, + y: { + valType: "number", + min: 0, + max: 1, + dflt: "auto", + editType: "layoutstyle", + }, + xanchor: { + valType: "enumerated", + dflt: "auto", + values: ["auto", "left", "center", "right"], + editType: "layoutstyle", + }, + yanchor: { + valType: "enumerated", + dflt: "auto", + values: ["auto", "top", "middle", "bottom"], + editType: "layoutstyle", + }, + pad: u(l({ editType: "layoutstyle" }), {}), + automargin: { + valType: "boolean", + dflt: !1, + editType: "plot", + }, + editType: "layoutstyle", + }, + uniformtext: { + mode: { + valType: "enumerated", + values: [!1, "hide", "show"], + dflt: !1, + editType: "plot", + }, + minsize: { + valType: "number", + min: 0, + dflt: 0, + editType: "plot", + }, + editType: "plot", + }, + 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", + }, + minreducedwidth: { + valType: "number", + min: 2, + dflt: 64, + editType: "plot", + }, + minreducedheight: { + valType: "number", + min: 2, + dflt: 64, + 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", + }, + computed: { valType: "any", editType: "none" }, + paper_bgcolor: { + valType: "color", + dflt: a.background, + editType: "plot", + }, + plot_bgcolor: { + valType: "color", + dflt: a.background, + editType: "layoutstyle", + }, + autotypenumbers: { + valType: "enumerated", + values: ["convert types", "strict"], + dflt: "convert types", + editType: "calc", + }, + separators: { valType: "string", editType: "plot" }, + hidesources: { + valType: "boolean", + dflt: !1, + editType: "plot", + }, + showlegend: { valType: "boolean", editType: "legend" }, + colorway: { + valType: "colorlist", + dflt: a.defaults, + editType: "calc", + }, + datarevision: { valType: "any", editType: "calc" }, + uirevision: { valType: "any", editType: "none" }, + editrevision: { valType: "any", editType: "none" }, + selectionrevision: { valType: "any", editType: "none" }, + template: { valType: "any", editType: "calc" }, + newshape: o.newshape, + activeshape: o.activeshape, + newselection: s.newselection, + activeselection: s.activeselection, + meta: { valType: "any", arrayOk: !0, editType: "plot" }, + transition: u({}, i.transition, { editType: "none" }), + _deprecated: { + title: { valType: "string", editType: "layoutstyle" }, + titlefont: n({ editType: "layoutstyle" }), + }, + }); + }, + 77734: function (t, e, r) { + "use strict"; + var n = r(78607), + i = + '©
OpenStreetMap contributors', + a = [ + '© Carto', + i, + ].join(" "), + o = [ + 'Map tiles by Stamen Design', + 'under CC BY 3.0', + "|", + 'Data by OpenStreetMap contributors', + 'under ODbL', + ].join(" "), + s = { + "open-street-map": { + id: "osm", + version: 8, + sources: { + "plotly-osm-tiles": { + type: "raster", + attribution: i, + tiles: [ + "https://a.tile.openstreetmap.org/{z}/{x}/{y}.png", + "https://b.tile.openstreetmap.org/{z}/{x}/{y}.png", + ], + tileSize: 256, + }, + }, + layers: [ + { + id: "plotly-osm-tiles", + type: "raster", + source: "plotly-osm-tiles", + minzoom: 0, + maxzoom: 22, + }, + ], + glyphs: + "https://fonts.openmaptiles.org/{fontstack}/{range}.pbf", + }, + "white-bg": { + id: "white-bg", + version: 8, + sources: {}, + layers: [ + { + id: "white-bg", + type: "background", + paint: { "background-color": "#FFFFFF" }, + minzoom: 0, + maxzoom: 22, + }, + ], + glyphs: + "https://fonts.openmaptiles.org/{fontstack}/{range}.pbf", + }, + "carto-positron": { + id: "carto-positron", + version: 8, + sources: { + "plotly-carto-positron": { + type: "raster", + attribution: a, + tiles: [ + "https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png", + ], + tileSize: 256, + }, + }, + layers: [ + { + id: "plotly-carto-positron", + type: "raster", + source: "plotly-carto-positron", + minzoom: 0, + maxzoom: 22, + }, + ], + glyphs: + "https://fonts.openmaptiles.org/{fontstack}/{range}.pbf", + }, + "carto-darkmatter": { + id: "carto-darkmatter", + version: 8, + sources: { + "plotly-carto-darkmatter": { + type: "raster", + attribution: a, + tiles: [ + "https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png", + ], + tileSize: 256, + }, + }, + layers: [ + { + id: "plotly-carto-darkmatter", + type: "raster", + source: "plotly-carto-darkmatter", + minzoom: 0, + maxzoom: 22, + }, + ], + glyphs: + "https://fonts.openmaptiles.org/{fontstack}/{range}.pbf", + }, + "stamen-terrain": { + id: "stamen-terrain", + version: 8, + sources: { + "plotly-stamen-terrain": { + type: "raster", + attribution: o, + tiles: [ + "https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png", + ], + tileSize: 256, + }, + }, + layers: [ + { + id: "plotly-stamen-terrain", + type: "raster", + source: "plotly-stamen-terrain", + minzoom: 0, + maxzoom: 22, + }, + ], + glyphs: + "https://fonts.openmaptiles.org/{fontstack}/{range}.pbf", + }, + "stamen-toner": { + id: "stamen-toner", + version: 8, + sources: { + "plotly-stamen-toner": { + type: "raster", + attribution: o, + tiles: [ + "https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png", + ], + tileSize: 256, + }, + }, + layers: [ + { + id: "plotly-stamen-toner", + type: "raster", + source: "plotly-stamen-toner", + minzoom: 0, + maxzoom: 22, + }, + ], + glyphs: + "https://fonts.openmaptiles.org/{fontstack}/{range}.pbf", + }, + "stamen-watercolor": { + id: "stamen-watercolor", + version: 8, + sources: { + "plotly-stamen-watercolor": { + type: "raster", + attribution: [ + 'Map tiles by Stamen Design', + 'under CC BY 3.0', + "|", + 'Data by OpenStreetMap contributors', + 'under CC BY SA', + ].join(" "), + tiles: [ + "https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png", + ], + tileSize: 256, + }, + }, + layers: [ + { + id: "plotly-stamen-watercolor", + type: "raster", + source: "plotly-stamen-watercolor", + minzoom: 0, + maxzoom: 22, + }, + ], + glyphs: + "https://fonts.openmaptiles.org/{fontstack}/{range}.pbf", + }, + }, + l = n(s); + t.exports = { + requiredVersion: "1.10.1", + styleUrlPrefix: "mapbox://styles/mapbox/", + styleUrlSuffix: "v9", + styleValuesMapbox: [ + "basic", + "streets", + "outdoors", + "light", + "dark", + "satellite", + "satellite-streets", + ], + styleValueDflt: "basic", + stylesNonMapbox: s, + styleValuesNonMapbox: l, + traceLayerPrefix: "plotly-trace-layer-", + layoutLayerPrefix: "plotly-layout-layer-", + wrongVersionErrorMsg: [ + "Your custom plotly.js bundle is not using the correct mapbox-gl version", + "Please install mapbox-gl@1.10.1.", + ].join("\n"), + noAccessTokenErrorMsg: [ + "Missing Mapbox access token.", + "Mapbox trace type require a Mapbox access token to be registered.", + "For example:", + " Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });", + "More info here: https://www.mapbox.com/help/define-access-token/", + ].join("\n"), + missingStyleErrorMsg: [ + "No valid mapbox style found, please set `mapbox.style` to one of:", + l.join(", "), + "or register a Mapbox access token to use a Mapbox-served style.", + ].join("\n"), + multipleTokensErrorMsg: [ + "Set multiple mapbox access token across different mapbox subplot,", + "using first token found as mapbox-gl does not allow multipleaccess tokens on the same page.", + ].join("\n"), + mapOnErrorMsg: "Mapbox error.", + mapboxLogo: { + path0: + "m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z", + path1: + "M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z", + path2: + "M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z", + polygon: + "11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34", + }, + styleRules: { + map: "overflow:hidden;position:relative;", + "missing-css": "display:none;", + canary: "background-color:salmon;", + "ctrl-bottom-left": + "position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;", + "ctrl-bottom-right": + "position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;", + ctrl: "clear: both; pointer-events: auto; transform: translate(0, 0);", + "ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner": + "display: none;", + "ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner": + "display: block; margin-top:2px", + "ctrl-attrib.mapboxgl-compact:hover": + "padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;", + "ctrl-attrib.mapboxgl-compact::after": + 'content: ""; cursor: pointer; position: absolute; background-image: url(\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;', + "ctrl-attrib.mapboxgl-compact": + "min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;", + "ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after": + "bottom: 0; right: 0", + "ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after": + "bottom: 0; left: 0", + "ctrl-bottom-left .mapboxgl-ctrl": + "margin: 0 0 10px 10px; float: left;", + "ctrl-bottom-right .mapboxgl-ctrl": + "margin: 0 10px 10px 0; float: right;", + "ctrl-attrib": + "color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px", + "ctrl-attrib a": + "color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px", + "ctrl-attrib a:hover": + "color: inherit; text-decoration: underline;", + "ctrl-attrib .mapbox-improve-map": + "font-weight: bold; margin-left: 2px;", + "attrib-empty": "display: none;", + "ctrl-logo": + 'display:block; width: 21px; height: 21px; background-image: url(\'data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E\')', + }, + }; + }, + 13056: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e) { + var r = t.split(" "), + i = r[0], + a = r[1], + o = n.isArrayOrTypedArray(e) ? n.mean(e) : e, + s = 0.5 + o / 100, + l = 1.5 + o / 100, + u = ["", ""], + c = [0, 0]; + switch (i) { + case "top": + (u[0] = "top"), (c[1] = -l); + break; + case "bottom": + (u[0] = "bottom"), (c[1] = l); + } + switch (a) { + case "left": + (u[1] = "right"), (c[0] = -s); + break; + case "right": + (u[1] = "left"), (c[0] = s); + } + return { + anchor: + u[0] && u[1] + ? u.join("-") + : u[0] + ? u[0] + : u[1] + ? u[1] + : "center", + offset: c, + }; + }; + }, + 50101: function (t, e, r) { + "use strict"; + var n = r(44517), + i = r(71828), + a = i.strTranslate, + o = i.strScale, + s = r(27659).AU, + l = r(77922), + u = r(39898), + c = r(91424), + f = r(63893), + h = r(10481), + p = "mapbox", + d = (e.constants = r(77734)); + function v(t) { + return ( + "string" == typeof t && + (-1 !== d.styleValuesMapbox.indexOf(t) || + 0 === t.indexOf("mapbox://")) + ); + } + (e.name = p), + (e.attr = "subplot"), + (e.idRoot = p), + (e.idRegex = e.attrRegex = i.counterRegex(p)), + (e.attributes = { + subplot: { + valType: "subplotid", + dflt: "mapbox", + editType: "calc", + }, + }), + (e.layoutAttributes = r(23585)), + (e.supplyLayoutDefaults = r(77882)), + (e.plot = function (t) { + var e = t._fullLayout, + r = t.calcdata, + a = e._subplots.mapbox; + if (n.version !== d.requiredVersion) + throw new Error(d.wrongVersionErrorMsg); + var o = (function (t, e) { + var r = t._fullLayout; + if ("" === t._context.mapboxAccessToken) return ""; + for ( + var n = [], a = [], o = !1, s = !1, l = 0; + l < e.length; + l++ + ) { + var u = r[e[l]], + c = u.accesstoken; + v(u.style) && + (c + ? i.pushUnique(n, c) + : (v(u._input.style) && + (i.error( + "Uses Mapbox map style, but did not set an access token.", + ), + (o = !0)), + (s = !0))), + c && i.pushUnique(a, c); + } + if (s) { + var f = o + ? d.noAccessTokenErrorMsg + : d.missingStyleErrorMsg; + throw (i.error(f), new Error(f)); + } + return n.length + ? (n.length > 1 && i.warn(d.multipleTokensErrorMsg), + n[0]) + : (a.length && + i.log( + [ + "Listed mapbox access token(s)", + a.join(","), + "but did not use a Mapbox map style, ignoring token(s).", + ].join(" "), + ), + ""); + })(t, a); + n.accessToken = o; + for (var l = 0; l < a.length; l++) { + var u = a[l], + c = s(r, p, u), + f = e[u], + g = f._subplot; + g || ((g = new h(t, u)), (e[u]._subplot = g)), + g.viewInitial || + (g.viewInitial = { + center: i.extendFlat({}, f.center), + zoom: f.zoom, + bearing: f.bearing, + pitch: f.pitch, + }), + g.plot(c, e, t._promises); + } + }), + (e.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(); + } + }), + (e.toSVG = function (t) { + for ( + var e = t._fullLayout, + r = e._subplots.mapbox, + n = e._size, + i = 0; + i < r.length; + i++ + ) { + var s = e[r[i]], + h = s.domain, + p = s._subplot.toImage("png"); + e._glimages + .append("svg:image") + .attr({ + xmlns: l.svg, + "xlink:href": p, + x: n.l + n.w * h.x[0], + y: n.t + n.h * (1 - h.y[1]), + width: n.w * (h.x[1] - h.x[0]), + height: n.h * (h.y[1] - h.y[0]), + preserveAspectRatio: "none", + }); + var v = u.select(s._subplot.div); + if ( + null !== + v.select(".mapboxgl-ctrl-logo").node().offsetParent + ) { + var g = e._glimages.append("g"); + g.attr( + "transform", + a( + n.l + n.w * h.x[0] + 10, + n.t + n.h * (1 - h.y[0]) - 31, + ), + ), + g + .append("path") + .attr("d", d.mapboxLogo.path0) + .style({ + opacity: 0.9, + fill: "#ffffff", + "enable-background": "new", + }), + g + .append("path") + .attr("d", d.mapboxLogo.path1) + .style("opacity", 0.35) + .style("enable-background", "new"), + g + .append("path") + .attr("d", d.mapboxLogo.path2) + .style("opacity", 0.35) + .style("enable-background", "new"), + g + .append("polygon") + .attr("points", d.mapboxLogo.polygon) + .style({ + opacity: 0.9, + fill: "#ffffff", + "enable-background": "new", + }); + } + var y = v + .select(".mapboxgl-ctrl-attrib") + .text() + .replace("Improve this map", ""), + m = e._glimages.append("g"), + x = m.append("text"); + x.text(y) + .classed("static-attribution", !0) + .attr({ + "font-size": 12, + "font-family": "Arial", + color: "rgba(0, 0, 0, 0.75)", + "text-anchor": "end", + "data-unformatted": y, + }); + var b = c.bBox(x.node()), + _ = n.w * (h.x[1] - h.x[0]); + if (b.width > _ / 2) { + var w = y.split("|").join("
"); + x + .text(w) + .attr("data-unformatted", w) + .call(f.convertToTspans, t), + (b = c.bBox(x.node())); + } + x.attr("transform", a(-3, 8 - b.height)), + m + .insert("rect", ".static-attribution") + .attr({ + x: -b.width - 6, + y: -b.height - 3, + width: b.width + 6, + height: b.height + 3, + fill: "rgba(255, 255, 255, 0.75)", + }); + var T = 1; + b.width + 6 > _ && (T = _ / (b.width + 6)); + var k = [n.l + n.w * h.x[1], n.t + n.h * (1 - h.y[0])]; + m.attr("transform", a(k[0], k[1]) + o(T)); + } + }), + (e.updateFx = function (t) { + for ( + var e = t._fullLayout, r = e._subplots.mapbox, n = 0; + n < r.length; + n++ + ) + e[r[n]]._subplot.updateFx(e); + }); + }, + 67911: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(63893).sanitizeHTML, + a = r(13056), + o = r(77734); + function s(t, e) { + (this.subplot = t), + (this.uid = t.uid + "-" + e), + (this.index = e), + (this.idSource = "source-" + this.uid), + (this.idLayer = o.layoutLayerPrefix + this.uid), + (this.sourceType = null), + (this.source = null), + (this.layerType = null), + (this.below = null), + (this.visible = !1); + } + var l = s.prototype; + function u(t) { + if (!t.visible) return !1; + var e = t.source; + if (Array.isArray(e) && e.length > 0) { + for (var r = 0; r < e.length; r++) + if ("string" != typeof e[r] || 0 === e[r].length) + return !1; + return !0; + } + return ( + n.isPlainObject(e) || + ("string" == typeof e && e.length > 0) + ); + } + function c(t) { + var e = {}, + r = {}; + switch (t.type) { + case "circle": + n.extendFlat(r, { + "circle-radius": t.circle.radius, + "circle-color": t.color, + "circle-opacity": t.opacity, + }); + break; + case "line": + n.extendFlat(r, { + "line-width": t.line.width, + "line-color": t.color, + "line-opacity": t.opacity, + "line-dasharray": t.line.dash, + }); + break; + case "fill": + n.extendFlat(r, { + "fill-color": t.color, + "fill-outline-color": t.fill.outlinecolor, + "fill-opacity": t.opacity, + }); + break; + case "symbol": + var i = t.symbol, + o = a(i.textposition, i.iconsize); + n.extendFlat(e, { + "icon-image": i.icon + "-15", + "icon-size": i.iconsize / 10, + "text-field": i.text, + "text-size": i.textfont.size, + "text-anchor": o.anchor, + "text-offset": o.offset, + "symbol-placement": i.placement, + }), + n.extendFlat(r, { + "icon-color": t.color, + "text-color": i.textfont.color, + "text-opacity": t.opacity, + }); + break; + case "raster": + n.extendFlat(r, { + "raster-fade-duration": 0, + "raster-opacity": t.opacity, + }); + } + return { layout: e, paint: r }; + } + (l.update = function (t) { + this.visible + ? this.needsNewImage(t) + ? this.updateImage(t) + : this.needsNewSource(t) + ? (this.removeLayer(), + this.updateSource(t), + this.updateLayer(t)) + : this.needsNewLayer(t) + ? this.updateLayer(t) + : this.updateStyle(t) + : (this.updateSource(t), this.updateLayer(t)), + (this.visible = u(t)); + }), + (l.needsNewImage = function (t) { + return ( + this.subplot.map.getSource(this.idSource) && + "image" === this.sourceType && + "image" === t.sourcetype && + (this.source !== t.source || + JSON.stringify(this.coordinates) !== + JSON.stringify(t.coordinates)) + ); + }), + (l.needsNewSource = function (t) { + return ( + this.sourceType !== t.sourcetype || + JSON.stringify(this.source) !== + JSON.stringify(t.source) || + this.layerType !== t.type + ); + }), + (l.needsNewLayer = function (t) { + return ( + this.layerType !== t.type || + this.below !== + this.subplot.belowLookup["layout-" + this.index] + ); + }), + (l.lookupBelow = function () { + return this.subplot.belowLookup["layout-" + this.index]; + }), + (l.updateImage = function (t) { + this.subplot.map + .getSource(this.idSource) + .updateImage({ + url: t.source, + coordinates: t.coordinates, + }); + var e = this.findFollowingMapboxLayerId( + this.lookupBelow(), + ); + null !== e && this.subplot.map.moveLayer(this.idLayer, e); + }), + (l.updateSource = function (t) { + var e = this.subplot.map; + if ( + (e.getSource(this.idSource) && + e.removeSource(this.idSource), + (this.sourceType = t.sourcetype), + (this.source = t.source), + u(t)) + ) { + var r = (function (t) { + var e, + r = t.sourcetype, + n = t.source, + a = { type: r }; + return ( + "geojson" === r + ? (e = "data") + : "vector" === r + ? (e = "string" == typeof n ? "url" : "tiles") + : "raster" === r + ? ((e = "tiles"), (a.tileSize = 256)) + : "image" === r && + ((e = "url"), (a.coordinates = t.coordinates)), + (a[e] = n), + t.sourceattribution && + (a.attribution = i(t.sourceattribution)), + a + ); + })(t); + e.addSource(this.idSource, r); + } + }), + (l.findFollowingMapboxLayerId = function (t) { + if ("traces" === t) + for ( + var e = this.subplot.getMapLayers(), r = 0; + r < e.length; + r++ + ) { + var n = e[r].id; + if ( + "string" == typeof n && + 0 === n.indexOf(o.traceLayerPrefix) + ) { + t = n; + break; + } + } + return t; + }), + (l.updateLayer = function (t) { + var e = this.subplot, + r = c(t), + n = this.lookupBelow(), + i = this.findFollowingMapboxLayerId(n); + this.removeLayer(), + u(t) && + e.addLayer( + { + id: this.idLayer, + source: this.idSource, + "source-layer": t.sourcelayer || "", + type: t.type, + minzoom: t.minzoom, + maxzoom: t.maxzoom, + layout: r.layout, + paint: r.paint, + }, + i, + ), + (this.layerType = t.type), + (this.below = n); + }), + (l.updateStyle = function (t) { + if (u(t)) { + var e = c(t); + this.subplot.setOptions( + this.idLayer, + "setLayoutProperty", + e.layout, + ), + this.subplot.setOptions( + this.idLayer, + "setPaintProperty", + e.paint, + ); + } + }), + (l.removeLayer = function () { + var t = this.subplot.map; + t.getLayer(this.idLayer) && t.removeLayer(this.idLayer); + }), + (l.dispose = function () { + var t = this.subplot.map; + t.getLayer(this.idLayer) && t.removeLayer(this.idLayer), + t.getSource(this.idSource) && + t.removeSource(this.idSource); + }), + (t.exports = function (t, e, r) { + var n = new s(t, e); + return n.update(r), n; + }); + }, + 23585: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901).defaultLine, + a = r(27670).Y, + o = r(41940), + s = r(82196).textposition, + l = r(30962).overrideAll, + u = r(44467).templatedArray, + c = r(77734), + f = o({}); + (f.family.dflt = + "Open Sans Regular, Arial Unicode MS Regular"), + ((t.exports = l( + { + _arrayAttrRegexps: [ + n.counterRegex("mapbox", ".layers", !0), + ], + domain: a({ name: "mapbox" }), + accesstoken: { + valType: "string", + noBlank: !0, + strict: !0, + }, + style: { + valType: "any", + values: c.styleValuesMapbox.concat( + c.styleValuesNonMapbox, + ), + dflt: c.styleValueDflt, + }, + 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 }, + bounds: { + west: { valType: "number" }, + east: { valType: "number" }, + south: { valType: "number" }, + north: { valType: "number" }, + }, + layers: u("layer", { + visible: { valType: "boolean", dflt: !0 }, + sourcetype: { + valType: "enumerated", + values: ["geojson", "vector", "raster", "image"], + dflt: "geojson", + }, + source: { valType: "any" }, + sourcelayer: { valType: "string", dflt: "" }, + sourceattribution: { valType: "string" }, + type: { + valType: "enumerated", + values: [ + "circle", + "line", + "fill", + "symbol", + "raster", + ], + dflt: "circle", + }, + coordinates: { valType: "any" }, + below: { valType: "string" }, + color: { valType: "color", dflt: i }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + minzoom: { + valType: "number", + min: 0, + max: 24, + dflt: 0, + }, + maxzoom: { + valType: "number", + min: 0, + max: 24, + dflt: 24, + }, + circle: { radius: { valType: "number", dflt: 15 } }, + line: { + width: { valType: "number", dflt: 2 }, + dash: { valType: "data_array" }, + }, + fill: { outlinecolor: { valType: "color", dflt: i } }, + symbol: { + icon: { valType: "string", dflt: "marker" }, + iconsize: { valType: "number", dflt: 10 }, + text: { valType: "string", dflt: "" }, + placement: { + valType: "enumerated", + values: ["point", "line", "line-center"], + dflt: "point", + }, + textfont: f, + textposition: n.extendFlat({}, s, { arrayOk: !1 }), + }, + }), + }, + "plot", + "from-root", + )).uirevision = { valType: "any", editType: "none" }); + }, + 77882: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(49119), + a = r(85501), + o = r(23585); + function s(t, e, r, n) { + r("accesstoken", n.accessToken), + r("style"), + r("center.lon"), + r("center.lat"), + r("zoom"), + r("bearing"), + r("pitch"); + var i = r("bounds.west"), + o = r("bounds.east"), + s = r("bounds.south"), + u = r("bounds.north"); + (void 0 !== i && + void 0 !== o && + void 0 !== s && + void 0 !== u) || + delete e.bounds, + a(t, e, { name: "layers", handleItemDefaults: l }), + (e._input = t); + } + function l(t, e) { + function r(r, i) { + return n.coerce(t, e, o.layers, r, i); + } + if (r("visible")) { + var i, + a = r("sourcetype"), + s = "raster" === a || "image" === a; + r("source"), + r("sourceattribution"), + "vector" === a && r("sourcelayer"), + "image" === a && r("coordinates"), + s && (i = "raster"); + var l = r("type", i); + s && + "raster" !== l && + ((l = e.type = "raster"), + n.log( + "Source types *raster* and *image* must drawn *raster* layer type.", + )), + r("below"), + r("color"), + r("opacity"), + r("minzoom"), + r("maxzoom"), + "circle" === l && r("circle.radius"), + "line" === l && (r("line.width"), r("line.dash")), + "fill" === l && r("fill.outlinecolor"), + "symbol" === l && + (r("symbol.icon"), + r("symbol.iconsize"), + r("symbol.text"), + n.coerceFont(r, "symbol.textfont"), + r("symbol.textposition"), + r("symbol.placement")); + } + } + t.exports = function (t, e, r) { + i(t, e, r, { + type: "mapbox", + attributes: o, + handleDefaults: s, + partition: "y", + accessToken: e._mapboxAccessToken, + }); + }; + }, + 10481: function (t, e, r) { + "use strict"; + var n = r(44517), + i = r(71828), + a = r(41327), + o = r(73972), + s = r(89298), + l = r(28569), + u = r(30211), + c = r(64505), + f = c.drawMode, + h = c.selectMode, + p = r(47322).prepSelect, + d = r(47322).clearOutline, + v = r(47322).clearSelectionsCache, + g = r(47322).selectOnClick, + y = r(77734), + m = r(67911); + function x(t, e) { + (this.id = e), (this.gd = t); + var r = t._fullLayout, + n = t._context; + (this.container = r._glcontainer.node()), + (this.isStatic = n.staticPlot), + (this.uid = r._uid + "-" + this.id), + (this.div = null), + (this.xaxis = null), + (this.yaxis = null), + this.createFramework(r), + (this.map = null), + (this.accessToken = null), + (this.styleObj = null), + (this.traceHash = {}), + (this.layerList = []), + (this.belowLookup = {}), + (this.dragging = !1), + (this.wheeling = !1); + } + var b = x.prototype; + (b.plot = function (t, e, r) { + var n, + i = this, + a = e[i.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); + }), + (b.createMap = function (t, e, r, i) { + var o = this, + s = e[o.id], + l = (o.styleObj = w(s.style)); + o.accessToken = s.accesstoken; + var u = s.bounds, + c = u + ? [ + [u.west, u.south], + [u.east, u.north], + ] + : null, + f = (o.map = new n.Map({ + container: o.div, + style: l.style, + center: k(s.center), + zoom: s.zoom, + bearing: s.bearing, + pitch: s.pitch, + maxBounds: c, + interactive: !o.isStatic, + preserveDrawingBuffer: o.isStatic, + doubleClickZoom: !1, + boxZoom: !1, + attributionControl: !1, + }).addControl( + new n.AttributionControl({ compact: !0 }), + )); + (f._canvas.style.left = "0px"), + (f._canvas.style.top = "0px"), + o.rejectOnError(i), + o.isStatic || o.initFx(t, e); + var h = []; + h.push( + new Promise(function (t) { + f.once("load", t); + }), + ), + (h = h.concat(a.fetchTraceGeoData(t))), + Promise.all(h) + .then(function () { + o.fillBelowLookup(t, e), + o.updateData(t), + o.updateLayout(e), + o.resolveOnRender(r); + }) + .catch(i); + }), + (b.updateMap = function (t, e, r, n) { + var i = this, + o = i.map, + s = e[this.id]; + i.rejectOnError(n); + var l = [], + u = w(s.style); + JSON.stringify(i.styleObj) !== JSON.stringify(u) && + ((i.styleObj = u), + o.setStyle(u.style), + (i.traceHash = {}), + l.push( + new Promise(function (t) { + o.once("styledata", t); + }), + )), + (l = l.concat(a.fetchTraceGeoData(t))), + Promise.all(l) + .then(function () { + i.fillBelowLookup(t, e), + i.updateData(t), + i.updateLayout(e), + i.resolveOnRender(r); + }) + .catch(n); + }), + (b.fillBelowLookup = function (t, e) { + var r, + n, + i = e[this.id].layers, + a = (this.belowLookup = {}), + o = !1; + for (r = 0; r < t.length; r++) { + var s = t[r][0].trace, + l = s._module; + "string" == typeof s.below + ? (n = s.below) + : l.getBelow && (n = l.getBelow(s, this)), + "" === n && (o = !0), + (a["trace-" + s.uid] = n || ""); + } + for (r = 0; r < i.length; r++) { + var u = i[r]; + (n = + "string" == typeof u.below + ? u.below + : o + ? "traces" + : ""), + (a["layout-" + r] = n); + } + var c, + f, + h = {}; + for (c in a) h[(n = a[c])] ? h[n].push(c) : (h[n] = [c]); + for (n in h) { + var p = h[n]; + if (p.length > 1) + for (r = 0; r < p.length; r++) + 0 === (c = p[r]).indexOf("trace-") + ? ((f = c.split("trace-")[1]), + this.traceHash[f] && + (this.traceHash[f].below = null)) + : 0 === c.indexOf("layout-") && + ((f = c.split("layout-")[1]), + this.layerList[f] && + (this.layerList[f].below = null)); + } + }); + var _ = { + choroplethmapbox: 0, + densitymapbox: 1, + scattermapbox: 2, + }; + function w(t) { + var e = {}; + return ( + i.isPlainObject(t) + ? ((e.id = t.id), (e.style = t)) + : "string" == typeof t + ? ((e.id = t), + -1 !== y.styleValuesMapbox.indexOf(t) + ? (e.style = T(t)) + : y.stylesNonMapbox[t] + ? (e.style = y.stylesNonMapbox[t]) + : (e.style = t)) + : ((e.id = y.styleValueDflt), + (e.style = T(y.styleValueDflt))), + (e.transition = { duration: 0, delay: 0 }), + e + ); + } + function T(t) { + return y.styleUrlPrefix + t + "-" + y.styleUrlSuffix; + } + function k(t) { + return [t.lon, t.lat]; + } + (b.updateData = function (t) { + var e, + r, + n, + i, + a = this.traceHash, + o = t.slice().sort(function (t, e) { + return _[t[0].trace.type] - _[e[0].trace.type]; + }); + for (n = 0; n < o.length; n++) { + var s = o[n], + l = !1; + (e = a[(r = s[0].trace).uid]) && + (e.type === r.type + ? (e.update(s), (l = !0)) + : e.dispose()), + !l && r._module && (a[r.uid] = r._module.plot(this, s)); + } + var u = Object.keys(a); + t: for (n = 0; n < u.length; n++) { + var c = u[n]; + for (i = 0; i < t.length; i++) + if (c === (r = t[i][0].trace).uid) continue t; + (e = a[c]).dispose(), delete a[c]; + } + }), + (b.updateLayout = function (t) { + var e = this.map, + r = t[this.id]; + this.dragging || + this.wheeling || + (e.setCenter(k(r.center)), + e.setZoom(r.zoom), + e.setBearing(r.bearing), + e.setPitch(r.pitch)), + this.updateLayers(t), + this.updateFramework(t), + this.updateFx(t), + this.map.resize(), + this.gd._context._scrollZoom.mapbox + ? e.scrollZoom.enable() + : e.scrollZoom.disable(); + }), + (b.resolveOnRender = function (t) { + var e = this.map; + e.on("render", function r() { + e.loaded() && (e.off("render", r), setTimeout(t, 10)); + }); + }), + (b.rejectOnError = function (t) { + var e = this.map; + function r() { + t(new Error(y.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); + }), + (b.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), + (e.mockAxis = { + type: "linear", + showexponent: "all", + exponentformat: "B", + }), + s.setConvert(e.mockAxis, t); + }), + (b.initFx = function (t, e) { + var r = this, + n = r.gd, + i = r.map; + function a() { + u.loneUnhover(e._hoverlayer); + } + function s() { + var t = r.getView(); + n.emit( + "plotly_relayouting", + r.getViewEditsWithDerived(t), + ); + } + i.on("moveend", function (t) { + if (r.map) { + var e = n._fullLayout; + if (t.originalEvent || r.wheeling) { + var i = e[r.id]; + o.call( + "_storeDirectGUIEdit", + n.layout, + e._preGUI, + r.getViewEdits(i), + ); + var a = r.getView(); + (i._input.center = i.center = a.center), + (i._input.zoom = i.zoom = a.zoom), + (i._input.bearing = i.bearing = a.bearing), + (i._input.pitch = i.pitch = a.pitch), + n.emit( + "plotly_relayout", + r.getViewEditsWithDerived(a), + ); + } + t.originalEvent && "mouseup" === t.originalEvent.type + ? (r.dragging = !1) + : r.wheeling && (r.wheeling = !1), + e._rehover && e._rehover(); + } + }), + i.on("wheel", function () { + r.wheeling = !0; + }), + i.on("mousemove", function (t) { + var e = r.div.getBoundingClientRect(), + a = [ + t.originalEvent.offsetX, + t.originalEvent.offsetY, + ]; + (t.target.getBoundingClientRect = function () { + return e; + }), + (r.xaxis.p2c = function () { + return i.unproject(a).lng; + }), + (r.yaxis.p2c = function () { + return i.unproject(a).lat; + }), + (n._fullLayout._rehover = function () { + n._fullLayout._hoversubplot === r.id && + n._fullLayout[r.id] && + u.hover(n, t, r.id); + }), + u.hover(n, t, r.id), + (n._fullLayout._hoversubplot = r.id); + }), + i.on("dragstart", function () { + (r.dragging = !0), a(); + }), + i.on("zoomstart", a), + i.on("mouseout", function () { + n._fullLayout._hoversubplot = null; + }), + i.on("drag", s), + i.on("zoom", s), + i.on("dblclick", function () { + var t = n._fullLayout[r.id]; + o.call( + "_storeDirectGUIEdit", + n.layout, + n._fullLayout._preGUI, + r.getViewEdits(t), + ); + var e = r.viewInitial; + i.setCenter(k(e.center)), + i.setZoom(e.zoom), + i.setBearing(e.bearing), + i.setPitch(e.pitch); + var a = r.getView(); + (t._input.center = t.center = a.center), + (t._input.zoom = t.zoom = a.zoom), + (t._input.bearing = t.bearing = a.bearing), + (t._input.pitch = t.pitch = a.pitch), + n.emit("plotly_doubleclick", null), + n.emit( + "plotly_relayout", + r.getViewEditsWithDerived(a), + ); + }), + (r.clearOutline = function () { + v(r.dragOptions), d(r.dragOptions.gd); + }), + (r.onClickInPanFn = function (t) { + return function (e) { + var i = n._fullLayout.clickmode; + i.indexOf("select") > -1 && + g( + e.originalEvent, + n, + [r.xaxis], + [r.yaxis], + r.id, + t, + ), + i.indexOf("event") > -1 && + u.click(n, e.originalEvent); + }; + }); + }), + (b.updateFx = function (t) { + var e = this, + r = e.map, + n = e.gd; + if (!e.isStatic) { + var a, + o = t.dragmode; + a = function (t, r) { + r.isRect + ? ((t.range = {})[e.id] = [ + u([r.xmin, r.ymin]), + u([r.xmax, r.ymax]), + ]) + : ((t.lassoPoints = {})[e.id] = r.map(u)); + }; + var s = e.dragOptions; + (e.dragOptions = i.extendDeep(s || {}, { + dragmode: t.dragmode, + element: e.div, + gd: n, + plotinfo: { + id: e.id, + domain: t[e.id].domain, + xaxis: e.xaxis, + yaxis: e.yaxis, + fillRangeItems: a, + }, + xaxes: [e.xaxis], + yaxes: [e.yaxis], + subplot: e.id, + })), + r.off("click", e.onClickInPanHandler), + h(o) || f(o) + ? (r.dragPan.disable(), + r.on("zoomstart", e.clearOutline), + (e.dragOptions.prepFn = function (t, r, n) { + p(t, r, n, e.dragOptions, o); + }), + l.init(e.dragOptions)) + : (r.dragPan.enable(), + r.off("zoomstart", e.clearOutline), + (e.div.onmousedown = null), + (e.div.ontouchstart = null), + e.div.removeEventListener( + "touchstart", + e.div._ontouchstart, + ), + (e.onClickInPanHandler = e.onClickInPanFn( + e.dragOptions, + )), + r.on("click", e.onClickInPanHandler)); + } + function u(t) { + var r = e.map.unproject(t); + return [r.lng, r.lat]; + } + }), + (b.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])); + }), + (b.updateLayers = function (t) { + var e, + r = t[this.id].layers, + n = this.layerList; + if (r.length !== n.length) { + for (e = 0; e < n.length; e++) n[e].dispose(); + for (n = this.layerList = [], e = 0; e < r.length; e++) + n.push(m(this, e, r[e])); + } else for (e = 0; e < r.length; e++) n[e].update(r[e]); + }), + (b.destroy = function () { + this.map && + (this.map.remove(), + (this.map = null), + this.container.removeChild(this.div)); + }), + (b.toImage = function () { + return this.map.stop(), this.map.getCanvas().toDataURL(); + }), + (b.setOptions = function (t, e, r) { + for (var n in r) this.map[e](t, n, r[n]); + }), + (b.getMapLayers = function () { + return this.map.getStyle().layers; + }), + (b.addLayer = function (t, e) { + var r = this.map; + if ("string" == typeof e) { + if ("" === e) return void r.addLayer(t, e); + for ( + var n = this.getMapLayers(), a = 0; + a < n.length; + a++ + ) + if (e === n[a].id) return void r.addLayer(t, e); + i.warn( + [ + "Trying to add layer with *below* value", + e, + "referencing a layer that does not exist", + "or that does not yet exist.", + ].join(" "), + ); + } + r.addLayer(t); + }), + (b.project = function (t) { + return this.map.project(new n.LngLat(t[0], t[1])); + }), + (b.getView = function () { + var t = this.map, + e = t.getCenter(), + r = { lon: e.lng, lat: e.lat }, + n = t.getCanvas(), + i = parseInt(n.style.width), + a = parseInt(n.style.height); + return { + center: r, + zoom: t.getZoom(), + bearing: t.getBearing(), + pitch: t.getPitch(), + _derived: { + coordinates: [ + t.unproject([0, 0]).toArray(), + t.unproject([i, 0]).toArray(), + t.unproject([i, a]).toArray(), + t.unproject([0, a]).toArray(), + ], + }, + }; + }), + (b.getViewEdits = function (t) { + for ( + var e = this.id, + r = ["center", "zoom", "bearing", "pitch"], + n = {}, + i = 0; + i < r.length; + i++ + ) { + var a = r[i]; + n[e + "." + a] = t[a]; + } + return n; + }), + (b.getViewEditsWithDerived = function (t) { + var e = this.id, + r = this.getViewEdits(t); + return (r[e + "._derived"] = t._derived), r; + }), + (t.exports = x); + }, + 35025: function (t) { + "use strict"; + t.exports = function (t) { + var e = t.editType; + return { + t: { valType: "number", dflt: 0, editType: e }, + r: { valType: "number", dflt: 0, editType: e }, + b: { valType: "number", dflt: 0, editType: e }, + l: { valType: "number", dflt: 0, editType: e }, + editType: e, + }; + }; + }, + 74875: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(84096).Dq, + a = r(60721).FF, + o = r(92770), + s = r(73972), + l = r(86281), + u = r(44467), + c = r(71828), + f = r(7901), + h = r(50606).BADNUM, + p = r(41675), + d = r(51873).clearOutline, + v = r(21479), + g = r(85594), + y = r(31391), + m = r(27659).a0, + x = c.relinkPrivateKeys, + b = c._, + _ = (t.exports = {}); + c.extendFlat(_, s), + (_.attributes = r(9012)), + (_.attributes.type.values = _.allTypes), + (_.fontAttrs = r(41940)), + (_.layoutAttributes = r(10820)), + (_.fontWeight = "normal"); + var w = _.transformsRegistry, + T = r(31137); + (_.executeAPICommand = T.executeAPICommand), + (_.computeAPICommandBindings = T.computeAPICommandBindings), + (_.manageCommandObserver = T.manageCommandObserver), + (_.hasSimpleAPICommandBindings = + T.hasSimpleAPICommandBindings), + (_.redrawText = function (t) { + return ( + (t = c.getGraphDiv(t)), + new Promise(function (e) { + setTimeout(function () { + t._fullLayout && + (s.getComponentMethod("annotations", "draw")(t), + s.getComponentMethod("legend", "draw")(t), + s.getComponentMethod("colorbar", "draw")(t), + e(_.previousPromises(t))); + }, 300); + }) + ); + }), + (_.resize = function (t) { + var e; + t = c.getGraphDiv(t); + var r = new Promise(function (r, n) { + (t && !c.isHidden(t)) || + n( + new Error( + "Resize must be passed a displayed plot div element.", + ), + ), + t._redrawTimer && clearTimeout(t._redrawTimer), + t._resolveResize && (e = t._resolveResize), + (t._resolveResize = r), + (t._redrawTimer = setTimeout(function () { + if ( + !t.layout || + (t.layout.width && t.layout.height) || + c.isHidden(t) + ) + r(t); + else { + delete t.layout.width, delete t.layout.height; + var e = t.changed; + (t.autoplay = !0), + s + .call("relayout", t, { autosize: !0 }) + .then(function () { + (t.changed = e), + t._resolveResize === r && + (delete t._resolveResize, r(t)); + }); + } + }, 100)); + }); + return e && e(r), r; + }), + (_.previousPromises = function (t) { + if ((t._promises || []).length) + return Promise.all(t._promises).then(function () { + t._promises = []; + }); + }), + (_.addLinks = function (t) { + if (t._context.showLink || t._context.showSources) { + var e = t._fullLayout, + r = c.ensureSingle( + e._paper, + "text", + "js-plot-link-container", + function (t) { + t.style({ + "font-family": '"Open Sans", Arial, sans-serif', + "font-size": "12px", + fill: f.defaultLine, + "pointer-events": "all", + }).each(function () { + var t = n.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); + }); + }, + ), + i = r.node(), + a = { y: e._paper.attr("height") - 9 }; + document.body.contains(i) && + i.getComputedTextLength() >= e.width - 20 + ? ((a["text-anchor"] = "start"), (a.x = 5)) + : ((a["text-anchor"] = "end"), + (a.x = e._paper.attr("width") - 7)), + r.attr(a); + var o = r.select(".js-link-to-tool"), + s = r.select(".js-link-spacer"), + l = r.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 () { + _.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() ? " - " : ""); + } + }), + (_.sendDataToCloud = function (t) { + var e = + (window.PLOTLYENV || {}).BASE_URL || + t._context.plotlyServerURL; + if (e) { + t.emit("plotly_beforeexport"); + var r = n + .select(t) + .append("div") + .attr("id", "hiddenform") + .style("display", "none"), + i = r + .append("form") + .attr({ + action: e + "/external", + method: "post", + target: "_blank", + }); + return ( + (i + .append("input") + .attr({ type: "text", name: "data" }) + .node().value = _.graphJson(t, !1, "keepdata")), + i.node().submit(), + r.remove(), + t.emit("plotly_afterexport"), + !1 + ); + } + }); + var k = [ + "days", + "shortDays", + "months", + "shortMonths", + "periods", + "dateTime", + "date", + "time", + "decimal", + "thousands", + "grouping", + "currency", + ], + A = ["year", "month", "dayMonth", "dayMonthYear"]; + function M(t, e) { + var r = t._context.locale; + r || (r = "en-US"); + var 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 l = t._context.locales, u = 0; u < 2; u++) { + var c = (l[r] || {}).format; + if (c && (a(c), n)) break; + l = s.localeRegistry; + } + var f = r.split("-")[0]; + if (n || f === r) break; + r = f; + } + return n || a(s.localeRegistry.en.format), i; + } + function S(t, e) { + var r = { _fullLayout: e }, + n = "x" === t._id.charAt(0), + i = t._mainAxis._anchorAxis, + a = "", + o = "", + s = ""; + if ( + (i && + ((s = i._mainAxis._id), + (a = n ? t._id + s : s + t._id)), + !a || !e._plots[a]) + ) { + a = ""; + for (var l = t._counterAxes, u = 0; u < l.length; u++) { + var c = l[u], + f = n ? t._id + c : c + t._id; + o || (o = f); + var h = p.getFromId(r, c); + if (s && h.overlaying === s) { + a = f; + break; + } + } + } + return a || o; + } + function E(t) { + var e = t.transforms; + if (Array.isArray(e) && e.length) + for (var r = 0; r < e.length; r++) { + var n = e[r], + i = n._module || w[n.type]; + if (i && i.makesData) return !0; + } + return !1; + } + function L(t, e, r, n) { + for ( + var i = t.transforms, a = [t], o = 0; + o < i.length; + o++ + ) { + var s = i[o], + l = w[s.type]; + l && + l.transform && + (a = l.transform(a, { + transform: s, + fullTrace: t, + fullData: e, + layout: r, + fullLayout: n, + transformIndex: o, + })); + } + return a; + } + function C(t) { + return ( + "string" == typeof t && + "px" === t.substr(t.length - 2) && + parseFloat(t) + ); + } + function P(t) { + var e = t.margin; + if (!t._size) { + var r = (t._size = { + l: Math.round(e.l), + r: Math.round(e.r), + t: Math.round(e.t), + b: Math.round(e.b), + p: Math.round(e.pad), + }); + (r.w = Math.round(t.width) - r.l - r.r), + (r.h = Math.round(t.height) - r.t - r.b); + } + t._pushmargin || (t._pushmargin = {}), + t._pushmarginIds || (t._pushmarginIds = {}), + t._reservedMargin || (t._reservedMargin = {}); + } + (_.supplyDefaults = function (t, e) { + var r = e && e.skipUpdateCalc, + n = t._fullLayout || {}; + if (n._skipDefaults) delete n._skipDefaults; + else { + var o, + l = (t._fullLayout = {}), + u = t.layout || {}, + f = t._fullData || [], + h = (t._fullData = []), + p = t.data || [], + v = t.calcdata || [], + g = t._context || {}; + t._transitionData || _.createTransitionData(t), + (l._dfltTitle = { + plot: b(t, "Click to enter Plot title"), + x: b(t, "Click to enter X axis title"), + y: b(t, "Click to enter Y axis title"), + colorbar: b(t, "Click to enter Colorscale title"), + annotation: b(t, "new text"), + }), + (l._traceWord = b(t, "trace")); + var y = M(t, k); + if ( + ((l._mapboxAccessToken = g.mapboxAccessToken), + n._initialAutoSizeIsDone) + ) { + var m = n.width, + w = n.height; + _.supplyLayoutGlobalDefaults(u, l, y), + u.width || (l.width = m), + u.height || (l.height = w), + _.sanitizeMargins(l); + } else { + _.supplyLayoutGlobalDefaults(u, l, y); + var T = !u.width || !u.height, + S = l.autosize, + E = g.autosizable; + T && (S || E) + ? _.plotAutoSize(t, u, l) + : T && _.sanitizeMargins(l), + !S && + T && + ((u.width = l.width), (u.height = l.height)); + } + (l._d3locale = (function (t, e) { + return ( + (t.decimal = e.charAt(0)), + (t.thousands = e.charAt(1)), + { + numberFormat: function (e) { + try { + e = a(t).format(c.adjustFormat(e)); + } catch (t) { + return c.warnBadFormat(e), c.noFormat; + } + return e; + }, + timeFormat: i(t).utcFormat, + } + ); + })(y, l.separators)), + (l._extraFormat = M(t, A)), + (l._initialAutoSizeIsDone = !0), + (l._dataLength = p.length), + (l._modules = []), + (l._visibleModules = []), + (l._basePlotModules = []); + var L = (l._subplots = (function () { + var t, + e, + r = s.collectableSubplotTypes, + n = {}; + if (!r) { + r = []; + var i = s.subplotsRegistry; + for (var a in i) { + var o = i[a].attr; + if (o && (r.push(a), Array.isArray(o))) + for (e = 0; e < o.length; e++) + c.pushUnique(r, o[e]); + } + } + for (t = 0; t < r.length; t++) n[r[t]] = []; + return n; + })()), + C = (l._splomAxes = { x: {}, y: {} }), + O = (l._splomSubplots = {}); + (l._splomGridDflt = {}), + (l._scatterStackOpts = {}), + (l._firstScatter = {}), + (l._alignmentOpts = {}), + (l._colorAxes = {}), + (l._requestRangeslider = {}), + (l._traceUids = (function (t, e) { + var r, + n, + i = e.length, + a = []; + for (r = 0; r < t.length; r++) { + var o = t[r]._fullInput; + o !== n && a.push(o), (n = o); + } + var s = a.length, + l = new Array(i), + u = {}; + function f(t, e) { + (l[e] = t), (u[t] = 1); + } + function h(t, e) { + if (t && "string" == typeof t && !u[t]) + return f(t, e), !0; + } + for (r = 0; r < i; r++) { + var p = e[r].uid; + "number" == typeof p && (p = String(p)), + h(p, r) || + (r < s && h(a[r].uid, r)) || + f(c.randstr(u), r); + } + return l; + })(f, p)), + (l._globalTransforms = ( + t._context || {} + ).globalTransforms), + _.supplyDataDefaults(p, h, u, l); + var I = Object.keys(C.x), + D = Object.keys(C.y); + if (I.length > 1 && D.length > 1) { + for ( + s.getComponentMethod("grid", "sizeDefaults")(u, l), + o = 0; + o < I.length; + o++ + ) + c.pushUnique(L.xaxis, I[o]); + for (o = 0; o < D.length; o++) + c.pushUnique(L.yaxis, D[o]); + for (var z in O) c.pushUnique(L.cartesian, z); + } + if ( + ((l._has = _._hasPlotType.bind(l)), + f.length === h.length) + ) + for (o = 0; o < h.length; o++) x(h[o], f[o]); + _.supplyLayoutModuleDefaults(u, l, h, t._transitionData); + var R = l._visibleModules, + F = []; + for (o = 0; o < R.length; o++) { + var B = R[o].crossTraceDefaults; + B && c.pushUnique(F, B); + } + for (o = 0; o < F.length; o++) F[o](h, l); + (l._hasOnlyLargeSploms = + 1 === l._basePlotModules.length && + "splom" === l._basePlotModules[0].name && + I.length > 15 && + D.length > 15 && + 0 === l.shapes.length && + 0 === l.images.length), + _.linkSubplots(h, l, f, n), + _.cleanPlot(h, l, f, n); + var N = !(!n._has || !n._has("gl2d")), + j = !(!l._has || !l._has("gl2d")), + U = !(!n._has || !n._has("cartesian")) || N, + V = !(!l._has || !l._has("cartesian")) || j; + U && !V + ? n._bgLayer.remove() + : V && !U && (l._shouldCreateBgLayer = !0), + n._zoomlayer && !t._dragging && d({ _fullLayout: n }), + (function (t, e) { + var r, + n = []; + e.meta && + (r = e._meta = + { meta: e.meta, layout: { meta: e.meta } }); + for (var i = 0; i < t.length; i++) { + var a = t[i]; + a.meta + ? (n[a.index] = a._meta = { meta: a.meta }) + : e.meta && (a._meta = { meta: e.meta }), + e.meta && (a._meta.layout = { meta: e.meta }); + } + n.length && (r || (r = e._meta = {}), (r.data = n)); + })(h, l), + x(l, n), + s.getComponentMethod( + "colorscale", + "crossTraceDefaults", + )(h, l), + l._preGUI || (l._preGUI = {}), + l._tracePreGUI || (l._tracePreGUI = {}); + var H, + q = l._tracePreGUI, + G = {}; + for (H in q) G[H] = "old"; + for (o = 0; o < h.length; o++) + G[(H = h[o]._fullInput.uid)] || (q[H] = {}), + (G[H] = "new"); + for (H in G) "old" === G[H] && delete q[H]; + P(l), + s.getComponentMethod("rangeslider", "makeData")(l), + r || + v.length !== h.length || + _.supplyDefaultsUpdateCalc(v, h); + } + }), + (_.supplyDefaultsUpdateCalc = function (t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r], + i = (t[r] || [])[0]; + if (i && i.trace) { + var a = i.trace; + if (a._hasCalcTransform) { + var o, + s, + l, + u = a._arrayAttrs; + for (o = 0; o < u.length; o++) + (s = u[o]), + (l = c.nestedProperty(a, s).get().slice()), + c.nestedProperty(n, s).set(l); + } + i.trace = n; + } + } + }), + (_.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 = []); + }), + (_._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].name; + if (i === t) return !0; + var a = s.modules[i]; + if (a && a.categories[t]) return !0; + } + return !1; + }), + (_.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._has && n._has("gl"), + u = e._has && e._has("gl"); + l && + !u && + void 0 !== n._glcontainer && + (n._glcontainer.selectAll(".gl-canvas").remove(), + n._glcontainer.selectAll(".no-webgl").remove(), + (n._glcanvas = null)); + var c = !!n._infolayer; + 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; + c && n._infolayer.select(".cb" + f).remove(); + } + }), + (_.linkSubplots = function (t, e, r, n) { + var i, + a, + o = n._plots || {}, + l = (e._plots = {}), + u = e._subplots, + f = { _fullData: t, _fullLayout: e }, + h = u.cartesian.concat(u.gl2d || []); + for (i = 0; i < h.length; i++) { + var d, + v = h[i], + g = o[v], + y = p.getFromId(f, v, "x"), + m = p.getFromId(f, v, "y"); + for ( + g ? (d = l[v] = g) : ((d = l[v] = {}).id = v), + y._counterAxes.push(m._id), + m._counterAxes.push(y._id), + y._subplotsWith.push(v), + m._subplotsWith.push(v), + d.xaxis = y, + d.yaxis = m, + d._hasClipOnAxisFalse = !1, + a = 0; + a < t.length; + a++ + ) { + var x = t[a]; + if ( + x.xaxis === d.xaxis._id && + x.yaxis === d.yaxis._id && + !1 === x.cliponaxis + ) { + d._hasClipOnAxisFalse = !0; + break; + } + } + } + var b, + _ = p.list(f, null, !0); + for (i = 0; i < _.length; i++) { + var w = null; + (b = _[i]).overlaying && + (w = p.getFromId(f, b.overlaying)) && + w.overlaying && + ((b.overlaying = !1), (w = null)), + (b._mainAxis = w || b), + w && (b.domain = w.domain.slice()), + (b._anchorAxis = + "free" === b.anchor + ? null + : p.getFromId(f, b.anchor)); + } + for (i = 0; i < _.length; i++) + if ( + ((b = _[i])._counterAxes.sort(p.idSort), + b._subplotsWith.sort(c.subplotSort), + (b._mainSubplot = S(b, e)), + b._counterAxes.length && + ((b.spikemode && + -1 !== b.spikemode.indexOf("across")) || + (b.automargin && + b.mirror && + "free" !== b.anchor) || + s.getComponentMethod( + "rangeslider", + "isVisible", + )(b))) + ) { + var T = 1, + k = 0; + for (a = 0; a < b._counterAxes.length; a++) { + var A = p.getFromId(f, b._counterAxes[a]); + (T = Math.min(T, A.domain[0])), + (k = Math.max(k, A.domain[1])); + } + T < k && + ((b._counterDomainMin = T), + (b._counterDomainMax = k)); + } + }), + (_.clearExpandedTraceDefaultColors = function (t) { + var e, r, n; + for ( + r = [], + (e = t._module._colorAttrs) || + ((t._module._colorAttrs = e = []), + l.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++ + ) + c.nestedProperty(t, "_input." + e[n]).get() || + c.nestedProperty(t, e[n]).set(null); + }), + (_.supplyDataDefaults = function (t, e, r, n) { + var i, + a, + o, + l = n._modules, + f = n._visibleModules, + h = n._basePlotModules, + p = 0, + d = 0; + function v(t) { + e.push(t); + var r = t._module; + r && + (c.pushUnique(l, r), + !0 === t.visible && c.pushUnique(f, r), + c.pushUnique(h, t._module.basePlotModule), + p++, + !1 !== t._input.visible && d++); + } + n._transformModules = []; + var g = {}, + y = [], + m = (r.template || {}).data || {}, + b = u.traceTemplater(m); + for (i = 0; i < t.length; i++) { + if ( + ((o = t[i]), + ((a = b.newTrace(o)).uid = n._traceUids[i]), + _.supplyTraceDefaults(o, a, d, n, i), + (a.index = i), + (a._input = o), + (a._expandedIndex = p), + a.transforms && a.transforms.length) + ) + for ( + var w = !1 !== o.visible && !1 === a.visible, + T = L(a, e, r, n), + k = 0; + k < T.length; + k++ + ) { + var A = T[k], + M = { + _template: a._template, + type: a.type, + uid: a.uid + k, + }; + w && !1 === A.visible && delete A.visible, + _.supplyTraceDefaults(A, M, p, n, i), + x(M, A), + (M.index = i), + (M._input = o), + (M._fullInput = a), + (M._expandedIndex = p), + (M._expandedInput = A), + v(M); + } + else (a._fullInput = a), (a._expandedInput = a), v(a); + s.traceIs(a, "carpetAxis") && (g[a.carpet] = a), + s.traceIs(a, "carpetDependent") && y.push(i); + } + for (i = 0; i < y.length; i++) + if ((a = e[y[i]]).visible) { + var S = g[a.carpet]; + (a._carpet = S), + S && S.visible + ? ((a.xaxis = S.xaxis), (a.yaxis = S.yaxis)) + : (a.visible = !1); + } + }), + (_.supplyAnimationDefaults = function (t) { + var e; + t = t || {}; + var r = {}; + function n(e, n) { + return c.coerce(t || {}, r, g, 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] = _.supplyAnimationFrameDefaults( + t.frame[e] || {}, + ); + else + r.frame = _.supplyAnimationFrameDefaults(t.frame || {}); + if (Array.isArray(t.transition)) + for ( + r.transition = [], e = 0; + e < t.transition.length; + e++ + ) + r.transition[e] = _.supplyAnimationTransitionDefaults( + t.transition[e] || {}, + ); + else + r.transition = _.supplyAnimationTransitionDefaults( + t.transition || {}, + ); + return r; + }), + (_.supplyAnimationFrameDefaults = function (t) { + var e = {}; + function r(r, n) { + return c.coerce(t || {}, e, g.frame, r, n); + } + return r("duration"), r("redraw"), e; + }), + (_.supplyAnimationTransitionDefaults = function (t) { + var e = {}; + function r(r, n) { + return c.coerce(t || {}, e, g.transition, r, n); + } + return r("duration"), r("easing"), e; + }), + (_.supplyFrameDefaults = function (t) { + var e = {}; + function r(r, n) { + return c.coerce(t, e, y, r, n); + } + return ( + r("group"), + r("name"), + r("traces"), + r("baseframe"), + r("data"), + r("layout"), + e + ); + }), + (_.supplyTraceDefaults = function (t, e, r, n, i) { + var a, + o = n.colorway || f.defaults, + l = o[r % o.length]; + function u(r, n) { + return c.coerce(t, e, _.attributes, r, n); + } + var h = u("visible"); + u("type"), + u("name", n._traceWord + " " + i), + u("uirevision", n.uirevision); + var p = _.getModule(e); + if (((e._module = p), p)) { + var d = p.basePlotModule, + v = d.attr, + g = d.attributes; + if (v && g) { + var y = n._subplots, + m = ""; + if (h || "gl2d" !== d.name) { + if (Array.isArray(v)) + for (a = 0; a < v.length; a++) { + var x = v[a], + b = c.coerce(t, e, g, x); + y[x] && c.pushUnique(y[x], b), (m += b); + } + else m = c.coerce(t, e, g, v); + y[d.name] && c.pushUnique(y[d.name], m); + } + } + } + return ( + h && + (u("customdata"), + u("ids"), + u("meta"), + s.traceIs(e, "showLegend") + ? (c.coerce( + t, + e, + p.attributes.showlegend + ? p.attributes + : _.attributes, + "showlegend", + ), + u("legend"), + u("legendwidth"), + u("legendgroup"), + u("legendgrouptitle.text"), + u("legendrank"), + (e._dfltShowLegend = !0)) + : (e._dfltShowLegend = !1), + p && p.supplyDefaults(t, e, l, n), + s.traceIs(e, "noOpacity") || u("opacity"), + s.traceIs(e, "notLegendIsolatable") && + (e.visible = !!e.visible), + s.traceIs(e, "noHover") || + (e.hovertemplate || c.coerceHoverinfo(t, e, n), + "parcats" !== e.type && + s.getComponentMethod("fx", "supplyDefaults")( + t, + e, + l, + n, + )), + p && p.selectPoints && u("selectedpoints"), + _.supplyTransformDefaults(t, e, n)), + e + ); + }), + (_.hasMakesDataTransform = E), + (_.supplyTransformDefaults = function (t, e, r) { + if (e._length || E(t)) { + 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, + f = o[l], + h = f.type, + p = w[h], + d = !(f._module && f._module === p), + v = p && "function" == typeof p.transform; + p || + c.warn("Unrecognized transform type " + h + "."), + p && p.supplyDefaults && (d || v) + ? (((u = p.supplyDefaults(f, e, r, t)).type = + h), + (u._module = p), + c.pushUnique(i, p)) + : (u = c.extendFlat({}, f)), + s.push(u); + } + } + }), + (_.supplyLayoutGlobalDefaults = function (t, e, r) { + function n(r, n) { + return c.coerce(t, e, _.layoutAttributes, r, n); + } + var i = t.template; + c.isPlainObject(i) && + ((e.template = i), + (e._template = i.layout), + (e._dataTemplate = i.data)), + n("autotypenumbers"); + var a = c.coerceFont(n, "font"), + o = a.size; + c.coerceFont( + n, + "title.font", + c.extendFlat({}, a, { size: Math.round(1.4 * o) }), + ), + n("title.text", e._dfltTitle.plot), + n("title.xref"); + var l = n("title.yref"); + n("title.pad.t"), + n("title.pad.r"), + n("title.pad.b"), + n("title.pad.l"); + var u = n("title.automargin"); + n("title.x"), + n("title.xanchor"), + n("title.y"), + n("title.yanchor"), + u && + ("paper" === l && + (0 !== e.title.y && (e.title.y = 1), + "auto" === e.title.yanchor && + (e.title.yanchor = + 0 === e.title.y ? "top" : "bottom")), + "container" === l && + ("auto" === e.title.y && (e.title.y = 1), + "auto" === e.title.yanchor && + (e.title.yanchor = + e.title.y < 0.5 ? "bottom" : "top"))), + n("uniformtext.mode") && n("uniformtext.minsize"), + n("autosize", !(t.width && t.height)), + n("width"), + n("height"), + n("minreducedwidth"), + n("minreducedheight"), + n("margin.l"), + n("margin.r"), + n("margin.t"), + n("margin.b"), + n("margin.pad"), + n("margin.autoexpand"), + t.width && t.height && _.sanitizeMargins(e), + s.getComponentMethod("grid", "sizeDefaults")(t, e), + n("paper_bgcolor"), + n("separators", r.decimal + r.thousands), + n("hidesources"), + n("colorway"), + n("datarevision"); + var f = n("uirevision"); + n("editrevision", f), + n("selectionrevision", f), + s.getComponentMethod("modebar", "supplyLayoutDefaults")( + t, + e, + ), + s.getComponentMethod( + "shapes", + "supplyDrawNewShapeDefaults", + )(t, e, n), + s.getComponentMethod( + "selections", + "supplyDrawNewSelectionDefaults", + )(t, e, n), + n("meta"), + c.isPlainObject(t.transition) && + (n("transition.duration"), + n("transition.easing"), + n("transition.ordering")), + s.getComponentMethod("calendars", "handleDefaults")( + t, + e, + "calendar", + ), + s.getComponentMethod( + "fx", + "supplyLayoutGlobalDefaults", + )(t, e, n), + c.coerce(t, e, v, "scattermode"); + }), + (_.plotAutoSize = function (t, e, r) { + var n, + i, + a = t._context || {}, + s = a.frameMargins, + l = c.isPlotDiv(t); + if ((l && t.emit("plotly_autosize"), a.fillFrame)) + (n = window.innerWidth), + (i = window.innerHeight), + (document.body.style.overflow = "hidden"); + else { + var u = l ? window.getComputedStyle(t) : {}; + if ( + ((n = C(u.width) || C(u.maxWidth) || r.width), + (i = C(u.height) || C(u.maxHeight) || r.height), + o(s) && s > 0) + ) { + var f = 1 - 2 * s; + (n = Math.round(f * n)), (i = Math.round(f * i)); + } + } + var h = _.layoutAttributes.width.min, + p = _.layoutAttributes.height.min; + n < h && (n = h), i < p && (i = p); + var d = !e.width && Math.abs(r.width - n) > 1, + v = !e.height && Math.abs(r.height - i) > 1; + (v || d) && (d && (r.width = n), v && (r.height = i)), + t._initialAutoSize || + (t._initialAutoSize = { width: n, height: i }), + _.sanitizeMargins(r); + }), + (_.supplyLayoutModuleDefaults = function (t, e, r, n) { + var i, + a, + o, + l = s.componentsRegistry, + u = e._basePlotModules, + f = s.subplotsRegistry.cartesian; + for (i in l) + (o = l[i]).includeBasePlot && o.includeBasePlot(t, e); + for (var h in (u.length || u.push(f), + e._has("cartesian") && + (s.getComponentMethod("grid", "contentDefaults")(t, e), + f.finalizeSubplots(t, e)), + e._subplots)) + e._subplots[h].sort(c.subplotSort); + for (a = 0; a < u.length; a++) + (o = u[a]).supplyLayoutDefaults && + o.supplyLayoutDefaults(t, e, r); + var p = e._modules; + for (a = 0; a < p.length; a++) + (o = p[a]).supplyLayoutDefaults && + o.supplyLayoutDefaults(t, e, r); + var d = e._transformModules; + for (a = 0; a < d.length; a++) + (o = d[a]).supplyLayoutDefaults && + o.supplyLayoutDefaults(t, e, r, n); + for (i in l) + (o = l[i]).supplyLayoutDefaults && + o.supplyLayoutDefaults(t, e, r); + }), + (_.purge = function (t) { + var e = t._fullLayout || {}; + void 0 !== e._glcontainer && + (e._glcontainer.selectAll(".gl-canvas").remove(), + e._glcontainer.remove(), + (e._glcanvas = null)), + e._modeBar && e._modeBar.destroy(), + t._transitionData && + (t._transitionData._interruptCallbacks && + (t._transitionData._interruptCallbacks.length = 0), + t._transitionData._animationRaf && + window.cancelAnimationFrame( + t._transitionData._animationRaf, + )), + c.clearThrottle(), + c.clearResponsive(t), + delete t.data, + delete t.layout, + delete t._fullData, + delete t._fullLayout, + delete t.calcdata, + 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._hmlumcount, + delete t._hmpixcount, + delete t._transitionData, + delete t._transitioning, + delete t._initialAutoSize, + delete t._transitioningWithDuration, + delete t._dragging, + delete t._dragged, + delete t._dragdata, + delete t._hoverdata, + delete t._snapshotInProgress, + delete t._editing, + delete t._mouseDownTime, + delete t._legendMouseDownTime, + t.removeAllListeners && t.removeAllListeners(); + }), + (_.style = function (t) { + var e, + r = t._fullLayout._visibleModules, + n = []; + for (e = 0; e < r.length; e++) { + var i = r[e]; + i.style && c.pushUnique(n, i.style); + } + for (e = 0; e < n.length; e++) n[e](t); + }), + (_.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))); + } + }), + (_.clearAutoMarginIds = function (t) { + t._fullLayout._pushmarginIds = {}; + }), + (_.allowAutoMargin = function (t, e) { + t._fullLayout._pushmarginIds[e] = 1; + }), + (_.autoMargin = function (t, e, r) { + var n = t._fullLayout, + i = n.width, + a = n.height, + o = n.margin, + s = n.minreducedwidth, + l = n.minreducedheight, + u = c.constrain(i - o.l - o.r, 2, s), + f = c.constrain(a - o.t - o.b, 2, l), + h = Math.max(0, i - u), + p = Math.max(0, a - f), + d = n._pushmargin, + v = n._pushmarginIds; + if (!1 !== o.autoexpand) { + if (r) { + var g = r.pad; + if ( + (void 0 === g && + (g = Math.min(12, o.l, o.r, o.t, o.b)), + h) + ) { + var y = (r.l + r.r) / h; + y > 1 && ((r.l /= y), (r.r /= y)); + } + if (p) { + var m = (r.t + r.b) / p; + m > 1 && ((r.t /= m), (r.b /= m)); + } + var x = void 0 !== r.xl ? r.xl : r.x, + b = void 0 !== r.xr ? r.xr : r.x, + w = void 0 !== r.yt ? r.yt : r.y, + T = void 0 !== r.yb ? r.yb : r.y; + (d[e] = { + l: { val: x, size: r.l + g }, + r: { val: b, size: r.r + g }, + b: { val: T, size: r.b + g }, + t: { val: w, size: r.t + g }, + }), + (v[e] = 1); + } else delete d[e], delete v[e]; + if (!n._replotting) return _.doAutoMargin(t); + } + }), + (_.doAutoMargin = function (t) { + var e = t._fullLayout, + r = e.width, + n = e.height; + e._size || (e._size = {}), P(e); + var i = e._size, + a = e.margin, + l = { t: 0, b: 0, l: 0, r: 0 }, + u = c.extendFlat({}, i), + f = a.l, + h = a.r, + d = a.t, + v = a.b, + g = e._pushmargin, + y = e._pushmarginIds, + m = e.minreducedwidth, + x = e.minreducedheight; + if (!1 !== a.autoexpand) { + for (var b in g) y[b] || delete g[b]; + var w = t._fullLayout._reservedMargin; + for (var T in w) + for (var k in w[T]) { + var A = w[T][k]; + l[k] = Math.max(l[k], A); + } + for (var M in ((g.base = { + l: { val: 0, size: f }, + r: { val: 1, size: h }, + t: { val: 1, size: d }, + b: { val: 0, size: v }, + }), + l)) { + var S = 0; + for (var E in g) + "base" !== E && + o(g[E][M].size) && + (S = g[E][M].size > S ? g[E][M].size : S); + var L = Math.max(0, a[M] - S); + l[M] = Math.max(0, l[M] - L); + } + for (var C in g) { + var O = g[C].l || {}, + I = g[C].b || {}, + D = O.val, + z = O.size, + R = I.val, + F = I.size, + B = r - l.r - l.l, + N = n - l.t - l.b; + for (var j in g) { + if (o(z) && g[j].r) { + var U = g[j].r.val, + V = g[j].r.size; + if (U > D) { + var H = (z * U + (V - B) * D) / (U - D), + q = + (V * (1 - D) + (z - B) * (1 - U)) / (U - D); + H + q > f + h && ((f = H), (h = q)); + } + } + if (o(F) && g[j].t) { + var G = g[j].t.val, + Z = g[j].t.size; + if (G > R) { + var Y = (F * G + (Z - N) * R) / (G - R), + W = + (Z * (1 - R) + (F - N) * (1 - G)) / (G - R); + Y + W > v + d && ((v = Y), (d = W)); + } + } + } + } + } + var X = c.constrain(r - a.l - a.r, 2, m), + J = c.constrain(n - a.t - a.b, 2, x), + K = Math.max(0, r - X), + $ = Math.max(0, n - J); + if (K) { + var Q = (f + h) / K; + Q > 1 && ((f /= Q), (h /= Q)); + } + if ($) { + var tt = (v + d) / $; + tt > 1 && ((v /= tt), (d /= tt)); + } + if ( + ((i.l = Math.round(f) + l.l), + (i.r = Math.round(h) + l.r), + (i.t = Math.round(d) + l.t), + (i.b = Math.round(v) + l.b), + (i.p = Math.round(a.pad)), + (i.w = Math.round(r) - i.l - i.r), + (i.h = Math.round(n) - i.t - i.b), + !e._replotting && + (_.didMarginChange(u, i) || + (function (t) { + if ("_redrawFromAutoMarginCount" in t._fullLayout) + return !1; + var e = p.list(t, "", !0); + for (var r in e) + if (e[r].autoshift || e[r].shift) return !0; + return !1; + })(t))) + ) { + "_redrawFromAutoMarginCount" in e + ? e._redrawFromAutoMarginCount++ + : (e._redrawFromAutoMarginCount = 1); + var et = 3 * (1 + Object.keys(y).length); + if (e._redrawFromAutoMarginCount < et) + return s.call("_doPlot", t); + (e._size = u), c.warn("Too many auto-margin redraws."); + } + !(function (t) { + var e = p.list(t, "", !0); + [ + "_adjustTickLabelsOverflow", + "_hideCounterAxisInsideTickLabels", + ].forEach(function (t) { + for (var r = 0; r < e.length; r++) { + var n = e[r][t]; + n && n(); + } + }); + })(t); + }); + var O = ["l", "r", "t", "b", "p", "w", "h"]; + function I(t, e, r) { + var n = !1, + i = [ + _.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) + ); + }, + r.prepareFn, + _.rehover, + _.reselect, + function () { + return ( + t.emit("plotly_transitioning", []), + new Promise(function (i) { + (t._transitioning = !0), + e.duration > 0 && + (t._transitioningWithDuration = !0), + t._transitionData._interruptCallbacks.push( + function () { + n = !0; + }, + ), + r.redraw && + t._transitionData._interruptCallbacks.push( + function () { + return s.call("redraw", t); + }, + ), + t._transitionData._interruptCallbacks.push( + function () { + t.emit("plotly_transitioninterrupted", []); + }, + ); + var a = 0, + o = 0; + function l() { + return ( + a++, + function () { + var e; + o++, + n || + o !== a || + ((e = i), + t._transitionData && + ((function (t) { + if (t) for (; t.length; ) t.shift(); + })( + t._transitionData + ._interruptCallbacks, + ), + Promise.resolve() + .then(function () { + if (r.redraw) + return s.call("redraw", t); + }) + .then(function () { + (t._transitioning = !1), + (t._transitioningWithDuration = + !1), + t.emit( + "plotly_transitioned", + [], + ); + }) + .then(e))); + } + ); + } + r.runFn(l), setTimeout(l()); + }) + ); + }, + ], + a = c.syncOrAsync(i, t); + return ( + (a && a.then) || (a = Promise.resolve()), + a.then(function () { + return t; + }) + ); + } + (_.didMarginChange = function (t, e) { + for (var r = 0; r < O.length; r++) { + var n = O[r], + i = t[n], + a = e[n]; + if (!o(i) || Math.abs(a - i) > 1) return !0; + } + return !1; + }), + (_.graphJson = function (t, e, r, n, i, a) { + ((i && e && !t._fullData) || + (i && !e && !t._fullLayout)) && + _.supplyDefaults(t); + var o = i ? t._fullData : t.data, + s = i ? t._fullLayout : t.layout, + l = (t._transitionData || {})._frames; + function u(t, e) { + if ("function" == typeof t) + return e ? "_function_" : null; + if (c.isPlainObject(t)) { + var n, + i = {}; + return ( + Object.keys(t) + .sort() + .forEach(function (a) { + if (-1 === ["_", "["].indexOf(a.charAt(0))) + if ("function" != typeof t[a]) { + if ("keepdata" === r) { + if ("src" === a.substr(a.length - 3)) + return; + } else if ("keepstream" === r) { + if ( + "string" == typeof (n = t[a + "src"]) && + n.indexOf(":") > 0 && + !c.isPlainObject(t.stream) + ) + return; + } else if ( + "keepall" !== r && + "string" == typeof (n = t[a + "src"]) && + n.indexOf(":") > 0 + ) + return; + i[a] = u(t[a], e); + } else e && (i[a] = "_function"); + }), + i + ); + } + return Array.isArray(t) + ? t.map(function (t) { + return u(t, e); + }) + : c.isTypedArray(t) + ? c.simpleMap(t, c.identity) + : c.isJSDate(t) + ? c.ms2DateTimeLocal(+t) + : t; + } + var f = { + data: (o || []).map(function (t) { + var r = u(t); + return e && delete r.fit, r; + }), + }; + if (!e && ((f.layout = u(s)), i)) { + var h = s._size; + f.layout.computed = { + margin: { b: h.b, l: h.l, r: h.r, t: h.t }, + }; + } + return ( + l && (f.frames = u(l)), + a && (f.config = u(t._context, !0)), + "object" === n ? f : JSON.stringify(f) + ); + }), + (_.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(); + }), + (_.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 = _.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++ + ) + null != (i = n[r]) && + (-1 === (a = c.traces.indexOf(i)) && + ((a = c.data.length), (c.traces[a] = i)), + (c.data[a] = _.extendTrace( + c.data[a], + s.data[r], + ))); + } + return c; + }), + (_.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); + } + }), + (_.extendObjectWithContainers = function (t, e, r) { + var n, + i, + a, + o, + s, + l, + u, + f = c.extendDeepNoArrays({}, e || {}), + h = c.expandObjectPaths(f), + p = {}; + if (r && r.length) + for (a = 0; a < r.length; a++) + void 0 === (i = (n = c.nestedProperty(h, r[a])).get()) + ? c.nestedProperty(p, r[a]).set(null) + : (n.set(null), c.nestedProperty(p, r[a]).set(i)); + if ( + ((t = c.extendDeepNoArrays(t || {}, h)), r && r.length) + ) + for (a = 0; a < r.length; a++) + if ((l = c.nestedProperty(p, r[a]).get())) { + for ( + u = (s = c.nestedProperty(t, r[a])).get(), + Array.isArray(u) || ((u = []), s.set(u)), + o = 0; + o < l.length; + o++ + ) { + var d = l[o]; + u[o] = + null === d + ? null + : _.extendObjectWithContainers(u[o], d); + } + s.set(u); + } + return t; + }), + (_.dataArrayContainers = ["transforms", "dimensions"]), + (_.layoutArrayContainers = s.layoutArrayContainers), + (_.extendTrace = function (t, e) { + return _.extendObjectWithContainers( + t, + e, + _.dataArrayContainers, + ); + }), + (_.extendLayout = function (t, e) { + return _.extendObjectWithContainers( + t, + e, + _.layoutArrayContainers, + ); + }), + (_.transition = function (t, e, r, n, i, a) { + var o = { redraw: i.redraw }, + s = {}, + l = []; + return ( + (o.prepareFn = function () { + for ( + var i = Array.isArray(e) ? e.length : 0, + a = n.slice(0, i), + o = 0; + o < a.length; + o++ + ) { + var u = a[o], + f = t._fullData[u]._module; + if (f) { + if (f.animatable) { + var h = f.basePlotModule.name; + s[h] || (s[h] = []), s[h].push(u); + } + t.data[a[o]] = _.extendTrace(t.data[a[o]], e[o]); + } + } + var p = c.expandObjectPaths( + c.extendDeepNoArrays({}, r), + ), + d = /^[xy]axis[0-9]*$/; + for (var v in p) d.test(v) && delete p[v].range; + _.extendLayout(t.layout, p), + delete t.calcdata, + _.supplyDefaults(t), + _.doCalcdata(t); + var g = c.expandObjectPaths(r); + if (g) { + var y = t._fullLayout._plots; + for (var m in y) { + var x = y[m], + b = x.xaxis, + w = x.yaxis, + T = b.range.slice(), + k = w.range.slice(), + A = null, + M = null, + S = null, + E = null; + Array.isArray(g[b._name + ".range"]) + ? (A = g[b._name + ".range"].slice()) + : Array.isArray((g[b._name] || {}).range) && + (A = g[b._name].range.slice()), + Array.isArray(g[w._name + ".range"]) + ? (M = g[w._name + ".range"].slice()) + : Array.isArray((g[w._name] || {}).range) && + (M = g[w._name].range.slice()), + T && + A && + (b.r2l(T[0]) !== b.r2l(A[0]) || + b.r2l(T[1]) !== b.r2l(A[1])) && + (S = { xr0: T, xr1: A }), + k && + M && + (w.r2l(k[0]) !== w.r2l(M[0]) || + w.r2l(k[1]) !== w.r2l(M[1])) && + (E = { yr0: k, yr1: M }), + (S || E) && + l.push(c.extendFlat({ plotinfo: x }, S, E)); + } + } + return Promise.resolve(); + }), + (o.runFn = function (e) { + var n, + i, + o = t._fullLayout._basePlotModules, + u = l.length; + if (r) + for (i = 0; i < o.length; i++) + o[i].transitionAxes && + o[i].transitionAxes(t, l, a, e); + for (var f in (u + ? (((n = c.extendFlat({}, a)).duration = 0), + delete s.cartesian) + : (n = a), + s)) { + var h = s[f]; + t._fullData[h[0]]._module.basePlotModule.plot( + t, + h, + n, + e, + ); + } + }), + I(t, a, o) + ); + }), + (_.transitionFromReact = function (t, e, r, n) { + var i = t._fullLayout, + a = i.transition, + o = {}, + s = []; + return ( + (o.prepareFn = function () { + var t = i._plots; + for (var a in ((o.redraw = !1), + "some" === e.anim && (o.redraw = !0), + "some" === r.anim && (o.redraw = !0), + t)) { + var l = t[a], + u = l.xaxis, + f = l.yaxis, + h = n[u._name].range.slice(), + p = n[f._name].range.slice(), + d = u.range.slice(), + v = f.range.slice(); + u.setScale(), f.setScale(); + var g = null, + y = null; + (u.r2l(h[0]) === u.r2l(d[0]) && + u.r2l(h[1]) === u.r2l(d[1])) || + (g = { xr0: h, xr1: d }), + (f.r2l(p[0]) === f.r2l(v[0]) && + f.r2l(p[1]) === f.r2l(v[1])) || + (y = { yr0: p, yr1: v }), + (g || y) && + s.push(c.extendFlat({ plotinfo: l }, g, y)); + } + return Promise.resolve(); + }), + (o.runFn = function (r) { + for ( + var n, + i, + o, + l = t._fullData, + u = t._fullLayout._basePlotModules, + f = [], + h = 0; + h < l.length; + h++ + ) + f.push(h); + function p() { + if (t._fullLayout) + for (var e = 0; e < u.length; e++) + u[e].transitionAxes && + u[e].transitionAxes(t, s, n, r); + } + function d() { + if (t._fullLayout) + for (var e = 0; e < u.length; e++) + u[e].plot(t, o, i, r); + } + s.length && e.anim + ? "traces first" === a.ordering + ? ((n = c.extendFlat({}, a, { duration: 0 })), + (o = f), + (i = a), + setTimeout(p, a.duration), + d()) + : ((n = a), + (o = null), + (i = c.extendFlat({}, a, { duration: 0 })), + setTimeout(d, n.duration), + p()) + : s.length + ? ((n = a), p()) + : e.anim && ((o = f), (i = a), d()); + }), + I(t, a, o) + ); + }), + (_.doCalcdata = function (t, e) { + var r, + n, + i, + a, + o = p.list(t), + u = t._fullData, + f = t._fullLayout, + d = new Array(u.length), + v = (t.calcdata || []).slice(); + for ( + t.calcdata = d, + f._numBoxes = 0, + f._numViolins = 0, + f._violinScaleGroupStats = {}, + t._hmpixcount = 0, + t._hmlumcount = 0, + f._piecolormap = {}, + f._sunburstcolormap = {}, + f._treemapcolormap = {}, + f._iciclecolormap = {}, + f._funnelareacolormap = {}, + i = 0; + i < u.length; + i++ + ) + Array.isArray(e) && + -1 === e.indexOf(i) && + (d[i] = v[i]); + for (i = 0; i < u.length; i++) + ((r = u[i])._arrayAttrs = l.findArrayAttributes(r)), + (r._extremes = {}); + var g = f._subplots.polar || []; + for (i = 0; i < g.length; i++) + o.push(f[g[i]].radialaxis, f[g[i]].angularaxis); + for (var y in f._colorAxes) { + var m = f[y]; + !1 !== m.cauto && (delete m.cmin, delete m.cmax); + } + var x = !1; + function b(e) { + if ( + ((r = u[e]), + (n = r._module), + !0 === r.visible && r.transforms) + ) { + if (n && n.calc) { + var i = n.calc(t, r); + i[0] && + i[0].t && + i[0].t._scene && + delete i[0].t._scene.dirty; + } + for (a = 0; a < r.transforms.length; a++) { + var o = r.transforms[a]; + (n = w[o.type]) && + n.calcTransform && + ((r._hasCalcTransform = !0), + (x = !0), + n.calcTransform(t, r, o)); + } + } + } + function _(e, i) { + if (((r = u[e]), !!(n = r._module).isContainer === i)) { + var o = []; + if (!0 === r.visible && 0 !== r._length) { + delete r._indexToPoints; + var s = r.transforms || []; + for (a = s.length - 1; a >= 0; a--) + if (s[a].enabled) { + r._indexToPoints = s[a]._indexToPoints; + break; + } + n && n.calc && (o = n.calc(t, r)); + } + (Array.isArray(o) && o[0]) || (o = [{ x: h, y: h }]), + o[0].t || (o[0].t = {}), + (o[0].trace = r), + (d[e] = o); + } + } + for (z(o, u, f), i = 0; i < u.length; i++) _(i, !0); + for (i = 0; i < u.length; i++) b(i); + for (x && z(o, u, f), i = 0; i < u.length; i++) _(i, !0); + for (i = 0; i < u.length; i++) _(i, !1); + R(t); + var T = (function (t, e) { + var r, + n, + i, + a, + o, + l = []; + function u(t, r, n) { + var i = r._id.charAt(0); + if ("histogram2dcontour" === t) { + var a = r._counterAxes[0], + o = p.getFromId(e, a), + s = + "x" === i || + ("x" === a && "category" === o.type), + l = + "y" === i || + ("y" === a && "category" === o.type); + return function (t, e) { + return 0 === t || + 0 === e || + (s && t === n[e].length - 1) || + (l && e === n.length - 1) + ? -1 + : ("y" === i ? e : t) - 1; + }; + } + return function (t, e) { + return "y" === i ? e : t; + }; + } + var f = { + min: function (t) { + return c.aggNums(Math.min, null, t); + }, + max: function (t) { + return c.aggNums(Math.max, null, t); + }, + sum: function (t) { + return c.aggNums( + function (t, e) { + return t + e; + }, + null, + t, + ); + }, + total: function (t) { + return c.aggNums( + function (t, e) { + return t + e; + }, + null, + t, + ); + }, + mean: function (t) { + return c.mean(t); + }, + median: function (t) { + return c.median(t); + }, + }; + for (r = 0; r < t.length; r++) { + var h = t[r]; + if ("category" === h.type) { + var d = h.categoryorder.match(D); + if (d) { + var v = d[1], + g = d[2], + y = h._id.charAt(0), + m = "x" === y, + x = []; + for (n = 0; n < h._categories.length; n++) + x.push([h._categories[n], []]); + for (n = 0; n < h._traceIndices.length; n++) { + var b = h._traceIndices[n], + _ = e._fullData[b]; + if (!0 === _.visible) { + var w = _.type; + s.traceIs(_, "histogram") && + (delete _._xautoBinFinished, + delete _._yautoBinFinished); + var T = "splom" === w, + k = "scattergl" === w, + A = e.calcdata[b]; + for (i = 0; i < A.length; i++) { + var M, + S, + E = A[i]; + if (T) { + var L = _._axesDim[h._id]; + if (!m) { + var C = _._diag[L][0]; + C && (h = e._fullLayout[p.id2name(C)]); + } + var P = E.trace.dimensions[L].values; + for (a = 0; a < P.length; a++) + for ( + M = h._categoriesMap[P[a]], o = 0; + o < E.trace.dimensions.length; + o++ + ) + if (o !== L) { + var O = E.trace.dimensions[o]; + x[M][1].push(O.values[a]); + } + } else if (k) { + for (a = 0; a < E.t.x.length; a++) + m + ? ((M = E.t.x[a]), (S = E.t.y[a])) + : ((M = E.t.y[a]), (S = E.t.x[a])), + x[M][1].push(S); + E.t && + E.t._scene && + delete E.t._scene.dirty; + } else if (E.hasOwnProperty("z")) { + S = E.z; + var I = u(_.type, h, S); + for (a = 0; a < S.length; a++) + for (o = 0; o < S[a].length; o++) + (M = I(o, a)) + 1 && + x[M][1].push(S[a][o]); + } else + for ( + void 0 === (M = E.p) && (M = E[y]), + void 0 === (S = E.s) && (S = E.v), + void 0 === S && (S = m ? E.y : E.x), + Array.isArray(S) || + (S = void 0 === S ? [] : [S]), + a = 0; + a < S.length; + a++ + ) + x[M][1].push(S[a]); + } + } + } + h._categoriesValue = x; + var z = []; + for (n = 0; n < x.length; n++) + z.push([x[n][0], f[v](x[n][1])]); + z.sort(function (t, e) { + return t[1] - e[1]; + }), + (h._categoriesAggregatedValue = z), + (h._initialCategories = z.map(function (t) { + return t[0]; + })), + "descending" === g && + h._initialCategories.reverse(), + (l = l.concat(h.sortByInitialCategories())); + } + } + } + return l; + })(o, t); + if (T.length) { + for ( + f._numBoxes = 0, f._numViolins = 0, i = 0; + i < T.length; + i++ + ) + _(T[i], !0); + for (i = 0; i < T.length; i++) _(T[i], !1); + R(t); + } + s.getComponentMethod("fx", "calc")(t), + s.getComponentMethod("errorbars", "calc")(t); + }); + var D = + /(total|sum|min|max|mean|median) (ascending|descending)/; + function z(t, e, r) { + var n = {}; + function i(t) { + t.clearCalc(), + "multicategory" === t.type && t.setupMultiCategory(e), + (n[t._id] = 1); + } + c.simpleMap(t, i); + for ( + var a = r._axisMatchGroups || [], o = 0; + o < a.length; + o++ + ) + for (var s in a[o]) n[s] || i(r[p.id2name(s)]); + } + function R(t) { + var e, + r, + n, + i = t._fullLayout, + a = i._visibleModules, + o = {}; + for (r = 0; r < a.length; r++) { + var s = a[r], + l = s.crossTraceCalc; + if (l) { + var u = s.basePlotModule.name; + o[u] ? c.pushUnique(o[u], l) : (o[u] = [l]); + } + } + for (n in o) { + var f = o[n], + h = i._subplots[n]; + if (Array.isArray(h)) + for (e = 0; e < h.length; e++) { + var p = h[e], + d = "cartesian" === n ? i._plots[p] : i[p]; + for (r = 0; r < f.length; r++) f[r](t, d, p); + } + else for (r = 0; r < f.length; r++) f[r](t); + } + } + (_.rehover = function (t) { + t._fullLayout._rehover && t._fullLayout._rehover(); + }), + (_.redrag = function (t) { + t._fullLayout._redrag && t._fullLayout._redrag(); + }), + (_.reselect = function (t) { + var e = t._fullLayout, + r = (t.layout || {}).selections, + n = e._previousSelections; + e._previousSelections = r; + var i = + e._reselect || JSON.stringify(r) !== JSON.stringify(n); + s.getComponentMethod("selections", "reselect")(t, i); + }), + (_.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 f = a[u][0]; + (f[0].trace.visible = !1), (o[u] = [f]); + } + for (var h in o) { + var p = o[h]; + p[0][0].trace._module.plot(t, e, c.filterVisible(p), n); + } + e.traceHash = o; + }), + (_.plotBasePlot = function (t, e, r, n, i) { + var a = s.getModule(t), + o = m(e.calcdata, a)[0]; + a.plot(e, o, n, i); + }), + (_.cleanBasePlot = function (t, e, r, n, i) { + var a = i._has && i._has(t), + o = r._has && r._has(t); + a && + !o && + i["_" + t + "layer"].selectAll("g.trace").remove(); + }); + }, + 9813: function (t) { + "use strict"; + t.exports = { + attr: "subplot", + name: "polar", + axisNames: ["angularaxis", "radialaxis"], + axisName2dataArray: { + angularaxis: "theta", + radialaxis: "r", + }, + layerNames: [ + "draglayer", + "plotbg", + "backplot", + "angular-grid", + "radial-grid", + "frontplot", + "angular-line", + "radial-line", + "angular-axis", + "radial-axis", + ], + radialDragBoxSize: 50, + angularDragBoxSize: 30, + cornerLen: 25, + cornerHalfWidth: 2, + MINDRAG: 8, + MINZOOM: 20, + OFFEDGE: 20, + }; + }, + 10869: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(61082).tester, + a = n.findIndexOfMin, + o = n.isAngleInsideSector, + s = n.angleDelta, + l = n.angleDist; + function u(t, e, r, n) { + var i, + a, + o = n[0], + s = n[1], + l = f(Math.sin(e) - Math.sin(t)), + u = f(Math.cos(e) - Math.cos(t)), + c = Math.tan(r), + h = f(1 / c), + p = l / u, + d = s - p * o; + return ( + h + ? l && u + ? (a = c * (i = d / (c - p))) + : u + ? ((i = s * h), (a = s)) + : ((i = o), (a = o * c)) + : l && u + ? ((i = 0), (a = d)) + : u + ? ((i = 0), (a = s)) + : (i = a = NaN), + [i, a] + ); + } + function c(t, e, r, i) { + return n.isFullCircle([e, r]) + ? (function (t, e) { + var r, + n = e.length, + i = new Array(n + 1); + for (r = 0; r < n; r++) { + var a = e[r]; + i[r] = [t * Math.cos(a), t * Math.sin(a)]; + } + return (i[r] = i[0].slice()), i; + })(t, i) + : (function (t, e, r, i) { + var s, + c, + f = i.length, + h = []; + function p(e) { + return [t * Math.cos(e), t * Math.sin(e)]; + } + function d(t, e, r) { + return u(t, e, r, p(t)); + } + function v(t) { + return n.mod(t, f); + } + function g(t) { + return o(t, [e, r]); + } + var y = a(i, function (t) { + return g(t) ? l(t, e) : 1 / 0; + }), + m = d(i[y], i[v(y - 1)], e); + for (h.push(m), s = y, c = 0; c < f; s++, c++) { + var x = i[v(s)]; + if (!g(x)) break; + h.push(p(x)); + } + var b = a(i, function (t) { + return g(t) ? l(t, r) : 1 / 0; + }), + _ = d(i[b], i[v(b + 1)], r); + return ( + h.push(_), h.push([0, 0]), h.push(h[0].slice()), h + ); + })(t, e, r, i); + } + function f(t) { + return Math.abs(t) > 1e-10 ? t : 0; + } + function h(t, e, r) { + (e = e || 0), (r = r || 0); + for ( + var n = t.length, i = new Array(n), a = 0; + a < n; + a++ + ) { + var o = t[a]; + i[a] = [e + o[0], r - o[1]]; + } + return i; + } + t.exports = { + isPtInsidePolygon: function (t, e, r, n, a) { + if (!o(e, n)) return !1; + var s, l; + r[0] < r[1] + ? ((s = r[0]), (l = r[1])) + : ((s = r[1]), (l = r[0])); + var u = i(c(s, n[0], n[1], a)), + f = i(c(l, n[0], n[1], a)), + h = [t * Math.cos(e), t * Math.sin(e)]; + return f.contains(h) && !u.contains(h); + }, + findPolygonOffset: function (t, e, r, n) { + for ( + var i = 1 / 0, a = 1 / 0, o = c(t, e, r, n), s = 0; + s < o.length; + s++ + ) { + var l = o[s]; + (i = Math.min(i, l[0])), (a = Math.min(a, -l[1])); + } + return [i, a]; + }, + findEnclosingVertexAngles: function (t, e) { + var r = a(e, function (e) { + var r = s(e, t); + return r > 0 ? r : 1 / 0; + }), + i = n.mod(r + 1, e.length); + return [e[r], e[i]]; + }, + findIntersectionXY: u, + findXYatLength: function (t, e, r, n) { + var i = -e * r, + a = e * e + 1, + o = 2 * (e * i - r), + s = i * i + r * r - t * t, + l = Math.sqrt(o * o - 4 * a * s), + u = (-o + l) / (2 * a), + c = (-o - l) / (2 * a); + return [ + [u, e * u + i + n], + [c, e * c + i + n], + ]; + }, + clampTiny: f, + pathPolygon: function (t, e, r, n, i, a) { + return "M" + h(c(t, e, r, n), i, a).join("L"); + }, + pathPolygonAnnulus: function (t, e, r, n, i, a, o) { + var s, l; + t < e ? ((s = t), (l = e)) : ((s = e), (l = t)); + var u = h(c(s, r, n, i), a, o); + return ( + "M" + + h(c(l, r, n, i), a, o) + .reverse() + .join("L") + + "M" + + u.join("L") + ); + }, + }; + }, + 23580: function (t, e, r) { + "use strict"; + var n = r(27659).AU, + i = r(71828).counterRegex, + a = r(77997), + o = r(9813), + s = o.attr, + l = o.name, + u = i(l), + c = {}; + (c[s] = { valType: "subplotid", dflt: l, editType: "calc" }), + (t.exports = { + attr: s, + name: l, + idRoot: l, + idRegex: u, + attrRegex: u, + attributes: c, + layoutAttributes: r(73812), + supplyLayoutDefaults: r(68993), + plot: function (t) { + for ( + var e = t._fullLayout, + r = t.calcdata, + i = e._subplots[l], + o = 0; + o < i.length; + o++ + ) { + var s = i[o], + u = n(r, l, s), + c = e[s]._subplot; + c || ((c = a(t, s)), (e[s]._subplot = c)), + c.plot(u, e, t._promises); + } + }, + clean: function (t, e, r, n) { + for ( + var i = n._subplots[l] || [], + a = n._has && n._has("gl"), + o = e._has && e._has("gl"), + s = a && !o, + u = 0; + u < i.length; + u++ + ) { + var c = i[u], + f = n[c]._subplot; + if (!e[c] && f) + for (var h in (f.framework.remove(), + f.layers["radial-axis-title"].remove(), + f.clipPaths)) + f.clipPaths[h].remove(); + s && + f._scene && + (f._scene.destroy(), (f._scene = null)); + } + }, + toSVG: r(93612).toSVG, + }); + }, + 73812: function (t, e, r) { + "use strict"; + var n = r(22399), + i = r(13838), + a = r(27670).Y, + o = r(71828).extendFlat, + s = r(30962).overrideAll, + l = s( + { + color: i.color, + showline: o({}, i.showline, { dflt: !0 }), + linecolor: i.linecolor, + linewidth: i.linewidth, + showgrid: o({}, i.showgrid, { dflt: !0 }), + gridcolor: i.gridcolor, + gridwidth: i.gridwidth, + griddash: i.griddash, + }, + "plot", + "from-root", + ), + u = s( + { + tickmode: i.minor.tickmode, + nticks: i.nticks, + tick0: i.tick0, + dtick: i.dtick, + tickvals: i.tickvals, + ticktext: i.ticktext, + ticks: i.ticks, + ticklen: i.ticklen, + tickwidth: i.tickwidth, + tickcolor: i.tickcolor, + ticklabelstep: i.ticklabelstep, + showticklabels: i.showticklabels, + labelalias: i.labelalias, + showtickprefix: i.showtickprefix, + tickprefix: i.tickprefix, + showticksuffix: i.showticksuffix, + ticksuffix: i.ticksuffix, + showexponent: i.showexponent, + exponentformat: i.exponentformat, + minexponent: i.minexponent, + separatethousands: i.separatethousands, + tickfont: i.tickfont, + tickangle: i.tickangle, + tickformat: i.tickformat, + tickformatstops: i.tickformatstops, + layer: i.layer, + }, + "plot", + "from-root", + ), + c = { + visible: o({}, i.visible, { dflt: !0 }), + type: o({}, i.type, { + values: ["-", "linear", "log", "date", "category"], + }), + autotypenumbers: i.autotypenumbers, + autorangeoptions: { + minallowed: i.autorangeoptions.minallowed, + maxallowed: i.autorangeoptions.maxallowed, + clipmin: i.autorangeoptions.clipmin, + clipmax: i.autorangeoptions.clipmax, + include: i.autorangeoptions.include, + editType: "plot", + }, + autorange: o({}, i.autorange, { editType: "plot" }), + rangemode: { + valType: "enumerated", + values: ["tozero", "nonnegative", "normal"], + dflt: "tozero", + editType: "calc", + }, + minallowed: o({}, i.minallowed, { editType: "plot" }), + maxallowed: o({}, i.maxallowed, { editType: "plot" }), + range: o({}, i.range, { + items: [ + { + valType: "any", + editType: "plot", + impliedEdits: { "^autorange": !1 }, + }, + { + valType: "any", + editType: "plot", + impliedEdits: { "^autorange": !1 }, + }, + ], + editType: "plot", + }), + categoryorder: i.categoryorder, + categoryarray: i.categoryarray, + angle: { valType: "angle", editType: "plot" }, + side: { + valType: "enumerated", + values: ["clockwise", "counterclockwise"], + dflt: "clockwise", + editType: "plot", + }, + title: { + text: o({}, i.title.text, { + editType: "plot", + dflt: "", + }), + font: o({}, i.title.font, { editType: "plot" }), + editType: "plot", + }, + hoverformat: i.hoverformat, + uirevision: { valType: "any", editType: "none" }, + editType: "calc", + _deprecated: { + title: i._deprecated.title, + titlefont: i._deprecated.titlefont, + }, + }; + o(c, l, u); + var f = { + visible: o({}, i.visible, { dflt: !0 }), + type: { + valType: "enumerated", + values: ["-", "linear", "category"], + dflt: "-", + editType: "calc", + _noTemplating: !0, + }, + autotypenumbers: i.autotypenumbers, + categoryorder: i.categoryorder, + categoryarray: i.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: i.hoverformat, + uirevision: { valType: "any", editType: "none" }, + editType: "calc", + }; + o(f, l, u), + (t.exports = { + domain: a({ name: "polar", editType: "plot" }), + sector: { + valType: "info_array", + items: [ + { valType: "number", editType: "plot" }, + { valType: "number", editType: "plot" }, + ], + dflt: [0, 360], + editType: "plot", + }, + hole: { + valType: "number", + min: 0, + max: 1, + dflt: 0, + editType: "plot", + }, + bgcolor: { + valType: "color", + editType: "plot", + dflt: n.background, + }, + radialaxis: c, + angularaxis: f, + gridshape: { + valType: "enumerated", + values: ["circular", "linear"], + dflt: "circular", + editType: "plot", + }, + uirevision: { valType: "any", editType: "none" }, + editType: "calc", + }); + }, + 68993: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(44467), + o = r(49119), + s = r(27659).NG, + l = r(26218), + u = r(38701), + c = r(96115), + f = r(89426), + h = r(15258), + p = r(92128), + d = r(23074), + v = r(4322), + g = r(73812), + y = r(12101), + m = r(9813), + x = m.axisNames; + function b(t, e, r, o) { + var v = r("bgcolor"); + o.bgColor = i.combine(v, o.paper_bgcolor); + var b = r("sector"); + r("hole"); + var w, + T = s(o.fullData, m.name, o.id), + k = o.layoutOut; + function A(t, e) { + return r(w + "." + t, e); + } + for (var M = 0; M < x.length; M++) { + (w = x[M]), n.isPlainObject(t[w]) || (t[w] = {}); + var S = t[w], + E = a.newContainer(e, w); + (E._id = E._name = w), + (E._attr = o.id + "." + w), + (E._traceIndices = T.map(function (t) { + return t._expandedIndex; + })); + var L = m.axisName2dataArray[w], + C = _(S, E, A, T, L, o); + h(S, E, A, { axData: T, dataAttr: L }); + var P = A("visible"); + switch ( + (y(E, e, k), + A("uirevision", e.uirevision), + (E._m = 1), + w) + ) { + case "radialaxis": + A("minallowed"), A("maxallowed"); + var O, + I = A("range"), + D = E.getAutorangeDflt(I), + z = A("autorange", D); + !I || + ((null !== I[0] || null !== I[1]) && + ((null !== I[0] && null !== I[1]) || + ("reversed" !== z && !0 !== z)) && + (null === I[0] || + ("min" !== z && "max reversed" !== z)) && + (null === I[1] || + ("max" !== z && "min reversed" !== z))) || + ((I = void 0), + delete E.range, + (E.autorange = !0), + (O = !0)), + O || + (z = A("autorange", (D = E.getAutorangeDflt(I)))), + (S.autorange = z), + z && + (d(A, z, I), + ("linear" !== C && "-" !== C) || A("rangemode"), + E.isReversed() && (E._m = -1)), + E.cleanRange("range", { dfltRange: [0, 1] }); + break; + case "angularaxis": + if ("date" === C) { + n.log( + "Polar plots do not support date angular axes yet.", + ); + for (var R = 0; R < T.length; R++) + T[R].visible = !1; + C = S.type = E.type = "linear"; + } + A("linear" === C ? "thetaunit" : "period"); + var F = A("direction"); + A( + "rotation", + { counterclockwise: 0, clockwise: 90 }[F], + ); + } + if ( + (f(S, E, A, E.type, { + tickSuffixDflt: + "degrees" === E.thetaunit ? "°" : void 0, + }), + P) + ) { + var B, + N, + j, + U, + V = o.font || {}; + (N = (B = A("color")) === S.color ? B : V.color), + (j = V.size), + (U = V.family), + l(S, E, A, E.type), + c(S, E, A, E.type, { + font: { color: N, size: j, family: U }, + }), + u(S, E, A, { outerTicks: !0 }), + p(S, E, A, { + dfltColor: B, + bgColor: o.bgColor, + blend: 60, + showLine: !0, + showGrid: !0, + noZeroLine: !0, + attributes: g[w], + }), + A("layer"), + "radialaxis" === w && + (A("side"), + A("angle", b[0]), + A("title.text"), + n.coerceFont(A, "title.font", { + color: N, + size: n.bigFont(j), + family: U, + })); + } + "category" !== C && A("hoverformat"), (E._input = S); + } + "category" === e.angularaxis.type && r("gridshape"); + } + function _(t, e, r, n, i, a) { + var o = r("autotypenumbers", a.autotypenumbersDflt); + if ("-" === r("type")) { + for (var s, l = 0; l < n.length; l++) + if (n[l].visible) { + s = n[l]; + break; + } + s && + s[i] && + (e.type = v(s[i], "gregorian", { + noMultiCategory: !0, + autotypenumbers: o, + })), + "-" === e.type + ? (e.type = "linear") + : (t.type = e.type); + } + return e.type; + } + t.exports = function (t, e, r) { + o(t, e, r, { + type: m.name, + attributes: g, + handleDefaults: b, + font: e.font, + autotypenumbersDflt: e.autotypenumbers, + paper_bgcolor: e.paper_bgcolor, + fullData: r, + layoutOut: e, + }); + }; + }, + 77997: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(84267), + a = r(73972), + o = r(71828), + s = o.strRotate, + l = o.strTranslate, + u = r(7901), + c = r(91424), + f = r(74875), + h = r(89298), + p = r(21994), + d = r(12101), + v = r(71739).doAutoRange, + g = r(29323), + y = r(28569), + m = r(30211), + x = r(92998), + b = r(47322).prepSelect, + _ = r(47322).selectOnClick, + w = r(47322).clearOutline, + T = r(6964), + k = r(33306), + A = r(61549).redrawReglTraces, + M = r(18783).MID_SHIFT, + S = r(9813), + E = r(10869), + L = r(23893), + C = L.smith, + P = L.reactanceArc, + O = L.resistanceArc, + I = L.smithTransform, + D = o._, + z = o.mod, + R = o.deg2rad, + F = o.rad2deg; + function B(t, e, r) { + (this.isSmith = r || !1), + (this.id = e), + (this.gd = t), + (this._hasClipOnAxisFalse = null), + (this.vangles = null), + (this.radialAxisAngle = null), + (this.traceHash = {}), + (this.layers = {}), + (this.clipPaths = {}), + (this.clipIds = {}), + (this.viewInitial = {}); + var n = t._fullLayout, + i = "clip" + n._uid + e; + (this.clipIds.forTraces = i + "-for-traces"), + (this.clipPaths.forTraces = n._clips + .append("clipPath") + .attr("id", this.clipIds.forTraces)), + this.clipPaths.forTraces.append("path"), + (this.framework = n[ + "_" + (r ? "smith" : "polar") + "layer" + ] + .append("g") + .attr("class", e)), + (this.getHole = function (t) { + return this.isSmith ? 0 : t.hole; + }), + (this.getSector = function (t) { + return this.isSmith ? [0, 360] : t.sector; + }), + (this.getRadial = function (t) { + return this.isSmith ? t.realaxis : t.radialaxis; + }), + (this.getAngular = function (t) { + return this.isSmith ? t.imaginaryaxis : t.angularaxis; + }), + r || + ((this.radialTickLayout = null), + (this.angularTickLayout = null)); + } + var N = B.prototype; + function j(t) { + var e = + t.ticks + String(t.ticklen) + String(t.showticklabels); + return "side" in t && (e += t.side), e; + } + function U(t, e) { + return e[ + o.findIndexOfMin(e, function (e) { + return o.angleDist(t, e); + }) + ]; + } + function V(t, e, r) { + return ( + e + ? (t.attr("display", null), t.attr(r)) + : t && t.attr("display", "none"), + t + ); + } + (t.exports = function (t, e, r) { + return new B(t, e, r); + }), + (N.plot = function (t, e) { + for ( + var r = this, n = e[r.id], i = !1, a = 0; + a < t.length; + a++ + ) + if (!1 === t[a][0].trace.cliponaxis) { + i = !0; + break; + } + (r._hasClipOnAxisFalse = i), + r.updateLayers(e, n), + r.updateLayout(e, n), + f.generalUpdatePerTraceModule(r.gd, r, t, n), + r.updateFx(e, n), + r.isSmith && + (delete n.realaxis.range, + delete n.imaginaryaxis.range); + }), + (N.updateLayers = function (t, e) { + var r = this, + i = r.isSmith, + a = r.layers, + o = r.getRadial(e), + s = r.getAngular(e), + l = S.layerNames, + u = l.indexOf("frontplot"), + c = l.slice(0, u), + f = "below traces" === s.layer, + h = "below traces" === o.layer; + f && c.push("angular-line"), + h && c.push("radial-line"), + f && c.push("angular-axis"), + h && c.push("radial-axis"), + c.push("frontplot"), + f || c.push("angular-line"), + h || c.push("radial-line"), + f || c.push("angular-axis"), + h || c.push("radial-axis"); + var p = (i ? "smith" : "polar") + "sublayer", + d = r.framework.selectAll("." + p).data(c, String); + d + .enter() + .append("g") + .attr("class", function (t) { + return p + " " + t; + }) + .each(function (t) { + var e = (a[t] = n.select(this)); + switch (t) { + case "frontplot": + i || e.append("g").classed("barlayer", !0), + e.append("g").classed("scatterlayer", !0); + break; + case "backplot": + e.append("g").classed("maplayer", !0); + break; + case "plotbg": + a.bg = e.append("path"); + break; + case "radial-grid": + case "angular-grid": + e.style("fill", "none"); + break; + case "radial-line": + e.append("line").style("fill", "none"); + break; + case "angular-line": + e.append("path").style("fill", "none"); + } + }), + d.order(); + }), + (N.updateLayout = function (t, e) { + var r = this, + n = r.layers, + i = t._size, + a = r.getRadial(e), + o = r.getAngular(e), + s = e.domain.x, + f = e.domain.y; + (r.xOffset = i.l + i.w * s[0]), + (r.yOffset = i.t + i.h * (1 - f[1])); + var h = (r.xLength = i.w * (s[1] - s[0])), + p = (r.yLength = i.h * (f[1] - f[0])), + d = r.getSector(e); + r.sectorInRad = d.map(R); + var v, + g, + y, + m, + x, + b = (r.sectorBBox = (function (t) { + var e, + r = t[0], + n = t[1] - r, + i = z(r, 360), + a = i + n, + o = Math.cos(R(i)), + s = Math.sin(R(i)), + l = Math.cos(R(a)), + u = Math.sin(R(a)); + return ( + (e = + (i <= 90 && a >= 90) || (i > 90 && a >= 450) + ? 1 + : s <= 0 && u <= 0 + ? 0 + : Math.max(s, u)), + [ + (i <= 180 && a >= 180) || (i > 180 && a >= 540) + ? -1 + : o >= 0 && l >= 0 + ? 0 + : Math.min(o, l), + (i <= 270 && a >= 270) || (i > 270 && a >= 630) + ? -1 + : s >= 0 && u >= 0 + ? 0 + : Math.min(s, u), + a >= 360 + ? 1 + : o <= 0 && l <= 0 + ? 0 + : Math.max(o, l), + e, + ] + ); + })(d)), + _ = b[2] - b[0], + w = b[3] - b[1], + T = p / h, + k = Math.abs(w / _); + T > k + ? ((v = h), + (x = (p - (g = h * k)) / i.h / 2), + (y = [s[0], s[1]]), + (m = [f[0] + x, f[1] - x])) + : ((g = p), + (x = (h - (v = p / k)) / i.w / 2), + (y = [s[0] + x, s[1] - x]), + (m = [f[0], f[1]])), + (r.xLength2 = v), + (r.yLength2 = g), + (r.xDomain2 = y), + (r.yDomain2 = m); + var A, + M = (r.xOffset2 = i.l + i.w * y[0]), + S = (r.yOffset2 = i.t + i.h * (1 - m[1])), + E = (r.radius = v / _), + L = (r.innerRadius = r.getHole(e) * E), + C = (r.cx = M - E * b[0]), + P = (r.cy = S + E * b[3]), + O = (r.cxx = C - M), + I = (r.cyy = P - S), + D = a.side; + "counterclockwise" === D + ? ((A = D), (D = "top")) + : "clockwise" === D && ((A = D), (D = "bottom")), + (r.radialAxis = r.mockAxis(t, e, a, { + _id: "x", + side: D, + _trueSide: A, + domain: [L / i.w, E / i.w], + })), + (r.angularAxis = r.mockAxis(t, e, o, { + side: "right", + domain: [0, Math.PI], + autorange: !1, + })), + r.doAutoRange(t, e), + r.updateAngularAxis(t, e), + r.updateRadialAxis(t, e), + r.updateRadialAxisTitle(t, e), + (r.xaxis = r.mockCartesianAxis(t, e, { + _id: "x", + domain: y, + })), + (r.yaxis = r.mockCartesianAxis(t, e, { + _id: "y", + domain: m, + })); + var F = r.pathSubplot(); + r.clipPaths.forTraces + .select("path") + .attr("d", F) + .attr("transform", l(O, I)), + n.frontplot + .attr("transform", l(M, S)) + .call( + c.setClipUrl, + r._hasClipOnAxisFalse ? null : r.clipIds.forTraces, + r.gd, + ), + n.bg + .attr("d", F) + .attr("transform", l(C, P)) + .call(u.fill, e.bgcolor); + }), + (N.mockAxis = function (t, e, r, n) { + var i = o.extendFlat({}, r, n); + return d(i, e, t), i; + }), + (N.mockCartesianAxis = function (t, e, r) { + var n = this, + i = n.isSmith, + a = r._id, + s = o.extendFlat({ type: "linear" }, r); + p(s, t); + var l = { x: [0, 2], y: [1, 3] }; + return ( + (s.setRange = function () { + var t = n.sectorBBox, + r = l[a], + i = n.radialAxis._rl, + o = (i[1] - i[0]) / (1 - n.getHole(e)); + s.range = [t[r[0]] * o, t[r[1]] * o]; + }), + (s.isPtWithinRange = + "x" !== a || i + ? function () { + return !0; + } + : function (t) { + return n.isPtInside(t); + }), + s.setRange(), + s.setScale(), + s + ); + }), + (N.doAutoRange = function (t, e) { + var r = this, + n = r.gd, + i = r.radialAxis, + a = r.getRadial(e); + v(n, i); + var o = i.range; + (a.range = o.slice()), + (a._input.range = o.slice()), + (i._rl = [ + i.r2l(o[0], null, "gregorian"), + i.r2l(o[1], null, "gregorian"), + ]); + }), + (N.updateRadialAxis = function (t, e) { + var r = this, + n = r.gd, + i = r.layers, + a = r.radius, + c = r.innerRadius, + f = r.cx, + p = r.cy, + d = r.getRadial(e), + v = z(r.getSector(e)[0], 360), + g = r.radialAxis, + y = c < a, + m = r.isSmith; + m || + (r.fillViewInitialKey("radialaxis.angle", d.angle), + r.fillViewInitialKey( + "radialaxis.range", + g.range.slice(), + ), + g.setGeometry()), + "auto" === g.tickangle && + v > 90 && + v <= 270 && + (g.tickangle = 180); + var x = m + ? function (t) { + var e = I(r, C([t.x, 0])); + return l(e[0] - f, e[1] - p); + } + : function (t) { + return l(g.l2p(t.x) + c, 0); + }, + b = m + ? function (t) { + return O(r, t.x, -1 / 0, 1 / 0); + } + : function (t) { + return r.pathArc(g.r2p(t.x) + c); + }, + _ = j(d); + if ( + (r.radialTickLayout !== _ && + (i["radial-axis"].selectAll(".xtick").remove(), + (r.radialTickLayout = _)), + y) + ) { + g.setScale(); + var w = 0, + T = m + ? (g.tickvals || []) + .filter(function (t) { + return t >= 0; + }) + .map(function (t) { + return h.tickText(g, t, !0, !1); + }) + : h.calcTicks(g), + k = m ? T : h.clipEnds(g, T), + A = h.getTickSigns(g)[2]; + m && + ((("top" === g.ticks && "bottom" === g.side) || + ("bottom" === g.ticks && "top" === g.side)) && + (A = -A), + "top" === g.ticks && + "top" === g.side && + (w = -g.ticklen), + "bottom" === g.ticks && + "bottom" === g.side && + (w = g.ticklen)), + h.drawTicks(n, g, { + vals: T, + layer: i["radial-axis"], + path: h.makeTickPath(g, 0, A), + transFn: x, + crisp: !1, + }), + h.drawGrid(n, g, { + vals: k, + layer: i["radial-grid"], + path: b, + transFn: o.noop, + crisp: !1, + }), + h.drawLabels(n, g, { + vals: T, + layer: i["radial-axis"], + transFn: x, + labelFns: h.makeLabelFns(g, w), + }); + } + var M = (r.radialAxisAngle = r.vangles + ? F(U(R(d.angle), r.vangles)) + : d.angle), + S = l(f, p), + E = S + s(-M); + V(i["radial-axis"], y && (d.showticklabels || d.ticks), { + transform: E, + }), + V(i["radial-grid"], y && d.showgrid, { + transform: m ? "" : S, + }), + V(i["radial-line"].select("line"), y && d.showline, { + x1: m ? -a : c, + y1: 0, + x2: a, + y2: 0, + transform: E, + }) + .attr("stroke-width", d.linewidth) + .call(u.stroke, d.linecolor); + }), + (N.updateRadialAxisTitle = function (t, e, r) { + if (!this.isSmith) { + var n = this, + i = n.gd, + a = n.radius, + o = n.cx, + s = n.cy, + l = n.getRadial(e), + u = n.id + "title", + f = 0; + if (l.title) { + var h = c.bBox(n.layers["radial-axis"].node()).height, + p = l.title.font.size, + d = l.side; + f = + "top" === d + ? p + : "counterclockwise" === d + ? -(h + 0.4 * p) + : h + 0.8 * p; + } + var v = void 0 !== r ? r : n.radialAxisAngle, + g = R(v), + y = Math.cos(g), + m = Math.sin(g), + b = o + (a / 2) * y + f * m, + _ = s - (a / 2) * m + f * y; + n.layers["radial-axis-title"] = x.draw(i, u, { + propContainer: l, + propName: n.id + ".radialaxis.title", + placeholder: D(i, "Click to enter radial axis title"), + attributes: { x: b, y: _, "text-anchor": "middle" }, + transform: { rotate: -v }, + }); + } + }), + (N.updateAngularAxis = function (t, e) { + var r = this, + n = r.gd, + i = r.layers, + a = r.radius, + c = r.innerRadius, + f = r.cx, + p = r.cy, + d = r.getAngular(e), + v = r.angularAxis, + g = r.isSmith; + g || + (r.fillViewInitialKey( + "angularaxis.rotation", + d.rotation, + ), + v.setGeometry(), + v.setScale()); + var y = g + ? function (t) { + var e = I(r, C([0, t.x])); + return Math.atan2(e[0] - f, e[1] - p) - Math.PI / 2; + } + : function (t) { + return v.t2g(t.x); + }; + "linear" === v.type && + "radians" === v.thetaunit && + ((v.tick0 = F(v.tick0)), (v.dtick = F(v.dtick))); + var m = function (t) { + return l(f + a * Math.cos(t), p - a * Math.sin(t)); + }, + x = g + ? function (t) { + var e = I(r, C([0, t.x])); + return l(e[0], e[1]); + } + : function (t) { + return m(y(t)); + }, + b = g + ? function (t) { + var e = I(r, C([0, t.x])), + n = + Math.atan2(e[0] - f, e[1] - p) - Math.PI / 2; + return l(e[0], e[1]) + s(-F(n)); + } + : function (t) { + var e = y(t); + return m(e) + s(-F(e)); + }, + _ = g + ? function (t) { + return P(r, t.x, 0, 1 / 0); + } + : function (t) { + var e = y(t), + r = Math.cos(e), + n = Math.sin(e); + return ( + "M" + + [f + c * r, p - c * n] + + "L" + + [f + a * r, p - a * n] + ); + }, + w = h.makeLabelFns(v, 0).labelStandoff, + T = { + xFn: function (t) { + var e = y(t); + return Math.cos(e) * w; + }, + yFn: function (t) { + var e = y(t), + r = Math.sin(e) > 0 ? 0.2 : 1; + return ( + -Math.sin(e) * (w + t.fontSize * r) + + Math.abs(Math.cos(e)) * (t.fontSize * M) + ); + }, + anchorFn: function (t) { + var e = y(t), + r = Math.cos(e); + return Math.abs(r) < 0.1 + ? "middle" + : r > 0 + ? "start" + : "end"; + }, + heightFn: function (t, e, r) { + var n = y(t); + return -0.5 * (1 + Math.sin(n)) * r; + }, + }, + k = j(d); + r.angularTickLayout !== k && + (i["angular-axis"] + .selectAll("." + v._id + "tick") + .remove(), + (r.angularTickLayout = k)); + var A, + S = g + ? [1 / 0].concat(v.tickvals || []).map(function (t) { + return h.tickText(v, t, !0, !1); + }) + : h.calcTicks(v); + if ( + (g && ((S[0].text = "∞"), (S[0].fontSize *= 1.75)), + "linear" === e.gridshape + ? ((A = S.map(y)), + o.angleDelta(A[0], A[1]) < 0 && + (A = A.slice().reverse())) + : (A = null), + (r.vangles = A), + "category" === v.type && + (S = S.filter(function (t) { + return o.isAngleInsideSector(y(t), r.sectorInRad); + })), + v.visible) + ) { + var E = "inside" === v.ticks ? -1 : 1, + L = (v.linewidth || 1) / 2; + h.drawTicks(n, v, { + vals: S, + layer: i["angular-axis"], + path: "M" + E * L + ",0h" + E * v.ticklen, + transFn: b, + crisp: !1, + }), + h.drawGrid(n, v, { + vals: S, + layer: i["angular-grid"], + path: _, + transFn: o.noop, + crisp: !1, + }), + h.drawLabels(n, v, { + vals: S, + layer: i["angular-axis"], + repositionOnUpdate: !0, + transFn: x, + labelFns: T, + }); + } + V(i["angular-line"].select("path"), d.showline, { + d: r.pathSubplot(), + transform: l(f, p), + }) + .attr("stroke-width", d.linewidth) + .call(u.stroke, d.linecolor); + }), + (N.updateFx = function (t, e) { + this.gd._context.staticPlot || + (!this.isSmith && + (this.updateAngularDrag(t), + this.updateRadialDrag(t, e, 0), + this.updateRadialDrag(t, e, 1)), + this.updateHoverAndMainDrag(t)); + }), + (N.updateHoverAndMainDrag = function (t) { + var e, + r, + s = this, + u = s.isSmith, + c = s.gd, + f = s.layers, + h = t._zoomlayer, + p = S.MINZOOM, + d = S.OFFEDGE, + v = s.radius, + x = s.innerRadius, + T = s.cx, + k = s.cy, + A = s.cxx, + M = s.cyy, + L = s.sectorInRad, + C = s.vangles, + P = s.radialAxis, + O = E.clampTiny, + I = E.findXYatLength, + D = E.findEnclosingVertexAngles, + z = S.cornerHalfWidth, + R = S.cornerLen / 2, + F = g.makeDragger( + f, + "path", + "maindrag", + !1 === t.dragmode ? "none" : "crosshair", + ); + n + .select(F) + .attr("d", s.pathSubplot()) + .attr("transform", l(T, k)), + (F.onmousemove = function (t) { + m.hover(c, t, s.id), + (c._fullLayout._lasthover = F), + (c._fullLayout._hoversubplot = s.id); + }), + (F.onmouseout = function (t) { + c._dragging || y.unhover(c, t); + }); + var B, + N, + j, + U, + V, + H, + q, + G, + Z, + Y = { + element: F, + gd: c, + subplot: s.id, + plotinfo: { + id: s.id, + xaxis: s.xaxis, + yaxis: s.yaxis, + }, + xaxes: [s.xaxis], + yaxes: [s.yaxis], + }; + function W(t, e) { + return Math.sqrt(t * t + e * e); + } + function X(t, e) { + return W(t - A, e - M); + } + function J(t, e) { + return Math.atan2(M - e, t - A); + } + function K(t, e) { + return [t * Math.cos(e), t * Math.sin(-e)]; + } + function $(t, e) { + if (0 === t) return s.pathSector(2 * z); + var r = R / t, + n = e - r, + i = e + r, + a = Math.max(0, Math.min(t, v)), + o = a - z, + l = a + z; + return ( + "M" + + K(o, n) + + "A" + + [o, o] + + " 0,0,0 " + + K(o, i) + + "L" + + K(l, i) + + "A" + + [l, l] + + " 0,0,1 " + + K(l, n) + + "Z" + ); + } + function Q(t, e, r) { + if (0 === t) return s.pathSector(2 * z); + var n, + i, + a = K(t, e), + o = K(t, r), + l = O((a[0] + o[0]) / 2), + u = O((a[1] + o[1]) / 2); + if (l && u) { + var c = u / l, + f = -1 / c, + h = I(z, c, l, u); + (n = I(R, f, h[0][0], h[0][1])), + (i = I(R, f, h[1][0], h[1][1])); + } else { + var p, d; + u ? ((p = R), (d = z)) : ((p = z), (d = R)), + (n = [ + [l - p, u - d], + [l + p, u - d], + ]), + (i = [ + [l - p, u + d], + [l + p, u + d], + ]); + } + return ( + "M" + n.join("L") + "L" + i.reverse().join("L") + "Z" + ); + } + function tt(t, e) { + return ( + (e = Math.max(Math.min(e, v), x)), + t < d + ? (t = 0) + : v - t < d + ? (t = v) + : e < d + ? (e = 0) + : v - e < d && (e = v), + Math.abs(e - t) > p + ? (t < e ? ((j = t), (U = e)) : ((j = e), (U = t)), + !0) + : ((j = null), (U = null), !1) + ); + } + function et(t, e) { + (t = t || V), + (e = e || "M0,0Z"), + G.attr("d", t), + Z.attr("d", e), + g.transitionZoombox(G, Z, H, q), + (H = !0); + var r = {}; + ot(r), c.emit("plotly_relayouting", r); + } + function rt(t, n) { + var i, + a, + o = B + (t *= e), + l = N + (n *= r), + u = X(B, N), + c = Math.min(X(o, l), v), + f = J(B, N); + tt(u, c) && + ((i = V + s.pathSector(U)), + j && (i += s.pathSector(j)), + (a = $(j, f) + $(U, f))), + et(i, a); + } + function nt(t, e, r, n) { + var i = E.findIntersectionXY(r, n, r, [t - A, M - e]); + return W(i[0], i[1]); + } + function it(t, e) { + var r, + n, + i = B + t, + a = N + e, + o = J(B, N), + l = J(i, a), + u = D(o, C), + c = D(l, C); + tt( + nt(B, N, u[0], u[1]), + Math.min(nt(i, a, c[0], c[1]), v), + ) && + ((r = V + s.pathSector(U)), + j && (r += s.pathSector(j)), + (n = [Q(j, u[0], u[1]), Q(U, u[0], u[1])].join(" "))), + et(r, n); + } + function at() { + if ((g.removeZoombox(c), null !== j && null !== U)) { + var t = {}; + ot(t), + g.showDoubleClickNotifier(c), + a.call("_guiRelayout", c, t); + } + } + function ot(t) { + var e = P._rl, + r = (e[1] - e[0]) / (1 - x / v) / v, + n = [e[0] + (j - x) * r, e[0] + (U - x) * r]; + t[s.id + ".radialaxis.range"] = n; + } + function st(t, e) { + var r = c._fullLayout.clickmode; + if ((g.removeZoombox(c), 2 === t)) { + var n = {}; + for (var i in s.viewInitial) + n[s.id + "." + i] = s.viewInitial[i]; + c.emit("plotly_doubleclick", null), + a.call("_guiRelayout", c, n); + } + r.indexOf("select") > -1 && + 1 === t && + _(e, c, [s.xaxis], [s.yaxis], s.id, Y), + r.indexOf("event") > -1 && m.click(c, e, s.id); + } + (Y.prepFn = function (t, n, a) { + var l = c._fullLayout.dragmode, + f = F.getBoundingClientRect(); + c._fullLayout._calcInverseTransform(c); + var p = c._fullLayout._invTransform; + (e = c._fullLayout._invScaleX), + (r = c._fullLayout._invScaleY); + var d = o.apply3DTransform(p)(n - f.left, a - f.top); + if (((B = d[0]), (N = d[1]), C)) { + var y = E.findPolygonOffset(v, L[0], L[1], C); + (B += A + y[0]), (N += M + y[1]); + } + switch (l) { + case "zoom": + (Y.clickFn = st), + u || + ((Y.moveFn = C ? it : rt), + (Y.doneFn = at), + (function () { + (j = null), + (U = null), + (V = s.pathSubplot()), + (H = !1); + var t = c._fullLayout[s.id]; + (q = i(t.bgcolor).getLuminance()), + (G = g.makeZoombox(h, q, T, k, V)).attr( + "fill-rule", + "evenodd", + ), + (Z = g.makeCorners(h, T, k)), + w(c); + })()); + break; + case "select": + case "lasso": + b(t, n, a, Y, l); + } + }), + y.init(Y); + }), + (N.updateRadialDrag = function (t, e, r) { + var i = this, + u = i.gd, + c = i.layers, + f = i.radius, + h = i.innerRadius, + p = i.cx, + d = i.cy, + v = i.radialAxis, + m = S.radialDragBoxSize, + x = m / 2; + if (v.visible) { + var b, + _, + T, + M = R(i.radialAxisAngle), + E = v._rl, + L = E[0], + C = E[1], + P = E[r], + O = (0.75 * (E[1] - E[0])) / (1 - i.getHole(e)) / f; + r + ? ((b = p + (f + x) * Math.cos(M)), + (_ = d - (f + x) * Math.sin(M)), + (T = "radialdrag")) + : ((b = p + (h - x) * Math.cos(M)), + (_ = d - (h - x) * Math.sin(M)), + (T = "radialdrag-inner")); + var I, + D, + z, + B = g.makeRectDragger( + c, + T, + "crosshair", + -x, + -x, + m, + m, + ), + N = { element: B, gd: u }; + !1 === t.dragmode && (N.dragmode = !1), + V(n.select(B), v.visible && h < f, { + transform: l(b, _), + }), + (N.prepFn = function () { + (I = null), + (D = null), + (z = null), + (N.moveFn = j), + (N.doneFn = H), + w(u); + }), + (N.clampFn = function (t, e) { + return ( + Math.sqrt(t * t + e * e) < S.MINDRAG && + ((t = 0), (e = 0)), + [t, e] + ); + }), + y.init(N); + } + function j(t, e) { + if (I) I(t, e); + else { + var n = [t, -e], + a = [Math.cos(M), Math.sin(M)], + s = Math.abs(o.dot(n, a) / Math.sqrt(o.dot(n, n))); + isNaN(s) || (I = s < 0.5 ? q : G); + } + var l = {}; + !(function (t) { + null !== D + ? (t[i.id + ".radialaxis.angle"] = D) + : null !== z && + (t[i.id + ".radialaxis.range[" + r + "]"] = z); + })(l), + u.emit("plotly_relayouting", l); + } + function H() { + null !== D + ? a.call( + "_guiRelayout", + u, + i.id + ".radialaxis.angle", + D, + ) + : null !== z && + a.call( + "_guiRelayout", + u, + i.id + ".radialaxis.range[" + r + "]", + z, + ); + } + function q(t, e) { + if (0 !== r) { + var n = b + t, + a = _ + e; + (D = Math.atan2(d - a, n - p)), + i.vangles && (D = U(D, i.vangles)), + (D = F(D)); + var o = l(p, d) + s(-D); + c["radial-axis"].attr("transform", o), + c["radial-line"] + .select("line") + .attr("transform", o); + var u = i.gd._fullLayout, + f = u[i.id]; + i.updateRadialAxisTitle(u, f, D); + } + } + function G(t, e) { + var n = o.dot([t, -e], [Math.cos(M), Math.sin(M)]); + if (((z = P - O * n), O > 0 == (r ? z > L : z < C))) { + var s = u._fullLayout, + l = s[i.id]; + (v.range[r] = z), + (v._rl[r] = z), + i.updateRadialAxis(s, l), + i.xaxis.setRange(), + i.xaxis.setScale(), + i.yaxis.setRange(), + i.yaxis.setScale(); + var c = !1; + for (var f in i.traceHash) { + var h = i.traceHash[f], + p = o.filterVisible(h); + h[0][0].trace._module.plot(u, i, p, l), + a.traceIs(f, "gl") && p.length && (c = !0); + } + c && (k(u), A(u)); + } else z = null; + } + }), + (N.updateAngularDrag = function (t) { + var e = this, + r = e.gd, + i = e.layers, + u = e.radius, + f = e.angularAxis, + h = e.cx, + p = e.cy, + d = e.cxx, + v = e.cyy, + m = S.angularDragBoxSize, + x = g.makeDragger( + i, + "path", + "angulardrag", + !1 === t.dragmode ? "none" : "move", + ), + b = { element: x, gd: r }; + function _(t, e) { + return Math.atan2(v + m - e, t - d - m); + } + !1 === t.dragmode + ? (b.dragmode = !1) + : n + .select(x) + .attr("d", e.pathAnnulus(u, u + m)) + .attr("transform", l(h, p)) + .call(T, "move"); + var M, + E, + L, + C, + P, + O, + I = i.frontplot + .select(".scatterlayer") + .selectAll(".trace"), + D = I.selectAll(".point"), + z = I.selectAll(".textpoint"); + function R(u, g) { + var y = e.gd._fullLayout, + m = y[e.id], + x = _(M + u * t._invScaleX, E + g * t._invScaleY), + b = F(x - O); + if ( + ((C = L + b), + i.frontplot.attr( + "transform", + l(e.xOffset2, e.yOffset2) + s([-b, d, v]), + ), + e.vangles) + ) { + P = e.radialAxisAngle + b; + var w = l(h, p) + s(-b), + T = l(h, p) + s(-P); + i.bg.attr("transform", w), + i["radial-grid"].attr("transform", w), + i["radial-axis"].attr("transform", T), + i["radial-line"] + .select("line") + .attr("transform", T), + e.updateRadialAxisTitle(y, m, P); + } else + e.clipPaths.forTraces + .select("path") + .attr("transform", l(d, v) + s(b)); + D.each(function () { + var t = n.select(this), + e = c.getTranslate(t); + t.attr("transform", l(e.x, e.y) + s([b])); + }), + z.each(function () { + var t = n.select(this), + e = t.select("text"), + r = c.getTranslate(t); + t.attr( + "transform", + s([b, e.attr("x"), e.attr("y")]) + l(r.x, r.y), + ); + }), + (f.rotation = o.modHalf(C, 360)), + e.updateAngularAxis(y, m), + e._hasClipOnAxisFalse && + !o.isFullCircle(e.sectorInRad) && + I.call(c.hideOutsideRangePoints, e); + var S = !1; + for (var R in e.traceHash) + if (a.traceIs(R, "gl")) { + var N = e.traceHash[R], + j = o.filterVisible(N); + N[0][0].trace._module.plot(r, e, j, m), + j.length && (S = !0); + } + S && (k(r), A(r)); + var U = {}; + B(U), r.emit("plotly_relayouting", U); + } + function B(t) { + (t[e.id + ".angularaxis.rotation"] = C), + e.vangles && (t[e.id + ".radialaxis.angle"] = P); + } + function N() { + z.select("text").attr("transform", null); + var t = {}; + B(t), a.call("_guiRelayout", r, t); + } + (b.prepFn = function (n, i, a) { + var s = t[e.id]; + L = s.angularaxis.rotation; + var l = x.getBoundingClientRect(); + (M = i - l.left), + (E = a - l.top), + r._fullLayout._calcInverseTransform(r); + var u = o.apply3DTransform(t._invTransform)(M, E); + (M = u[0]), + (E = u[1]), + (O = _(M, E)), + (b.moveFn = R), + (b.doneFn = N), + w(r); + }), + e.vangles && + !o.isFullCircle(e.sectorInRad) && + ((b.prepFn = o.noop), T(n.select(x), null)), + y.init(b); + }), + (N.isPtInside = function (t) { + if (this.isSmith) return !0; + var e = this.sectorInRad, + r = this.vangles, + n = this.angularAxis.c2g(t.theta), + i = this.radialAxis, + a = i.c2l(t.r), + s = i._rl; + return (r ? E.isPtInsidePolygon : o.isPtInsideSector)( + a, + n, + s, + e, + r, + ); + }), + (N.pathArc = function (t) { + var e = this.sectorInRad, + r = this.vangles; + return (r ? E.pathPolygon : o.pathArc)(t, e[0], e[1], r); + }), + (N.pathSector = function (t) { + var e = this.sectorInRad, + r = this.vangles; + return (r ? E.pathPolygon : o.pathSector)( + t, + e[0], + e[1], + r, + ); + }), + (N.pathAnnulus = function (t, e) { + var r = this.sectorInRad, + n = this.vangles; + return (n ? E.pathPolygonAnnulus : o.pathAnnulus)( + t, + e, + r[0], + r[1], + n, + ); + }), + (N.pathSubplot = function () { + var t = this.innerRadius, + e = this.radius; + return t ? this.pathAnnulus(t, e) : this.pathSector(e); + }), + (N.fillViewInitialKey = function (t, e) { + t in this.viewInitial || (this.viewInitial[t] = e); + }); + }, + 12101: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(21994), + a = n.deg2rad, + o = n.rad2deg; + t.exports = function (t, e, r) { + switch ((i(t, r), t._id)) { + case "x": + case "radialaxis": + !(function (t, e) { + var r = e._subplot; + t.setGeometry = function () { + var e = t._rl[0], + n = t._rl[1], + i = r.innerRadius, + a = (r.radius - i) / (n - e), + o = i / a, + s = + e > n + ? function (t) { + return t <= 0; + } + : function (t) { + return t >= 0; + }; + (t.c2g = function (r) { + var n = t.c2l(r) - e; + return (s(n) ? n : 0) + o; + }), + (t.g2c = function (r) { + return t.l2c(r + e - o); + }), + (t.g2p = function (t) { + return t * a; + }), + (t.c2p = function (e) { + return t.g2p(t.c2g(e)); + }); + }; + })(t, e); + break; + case "angularaxis": + !(function (t, e) { + var r = t.type; + if ("linear" === r) { + var i = t.d2c, + s = t.c2d; + (t.d2c = function (t, e) { + return (function (t, e) { + return "degrees" === e ? a(t) : t; + })(i(t), e); + }), + (t.c2d = function (t, e) { + return s( + (function (t, e) { + return "degrees" === e ? o(t) : t; + })(t, e), + ); + }); + } + (t.makeCalcdata = function (e, i) { + var a, + o, + s = e[i], + l = e._length, + u = function (r) { + return t.d2c(r, e.thetaunit); + }; + if (s) { + if (n.isTypedArray(s) && "linear" === r) { + if (l === s.length) return s; + if (s.subarray) return s.subarray(0, l); + } + for (a = new Array(l), o = 0; o < l; o++) + a[o] = u(s[o]); + } else { + var c = i + "0", + f = "d" + i, + h = c in e ? u(e[c]) : 0, + p = e[f] + ? u(e[f]) + : (t.period || 2 * Math.PI) / l; + for (a = new Array(l), o = 0; o < l; o++) + a[o] = h + o * p; + } + return a; + }), + (t.setGeometry = function () { + var i, + s, + l, + u, + c = e.sector, + f = c.map(a), + h = { clockwise: -1, counterclockwise: 1 }[ + t.direction + ], + p = a(t.rotation), + d = function (t) { + return h * t + p; + }, + v = function (t) { + return (t - p) / h; + }; + switch (r) { + case "linear": + (s = i = n.identity), + (u = a), + (l = o), + (t.range = n.isFullCircle(f) + ? [c[0], c[0] + 360] + : f.map(v).map(o)); + break; + case "category": + var g = t._categories.length, + y = t.period ? Math.max(t.period, g) : g; + 0 === y && (y = 1), + (s = u = + function (t) { + return (2 * t * Math.PI) / y; + }), + (i = l = + function (t) { + return (t * y) / Math.PI / 2; + }), + (t.range = [0, y]); + } + (t.c2g = function (t) { + return d(s(t)); + }), + (t.g2c = function (t) { + return i(v(t)); + }), + (t.t2g = function (t) { + return d(u(t)); + }), + (t.g2t = function (t) { + return l(v(t)); + }); + }); + })(t, e); + } + }; + }, + 39779: function (t) { + "use strict"; + t.exports = { + attr: "subplot", + name: "smith", + axisNames: ["realaxis", "imaginaryaxis"], + axisName2dataArray: { + imaginaryaxis: "imag", + realaxis: "real", + }, + }; + }, + 23893: function (t) { + "use strict"; + function e(t) { + return t < 0 ? -1 : t > 0 ? 1 : 0; + } + function r(t) { + var e = t[0], + r = t[1]; + if (!isFinite(e) || !isFinite(r)) return [1, 0]; + var n = (e + 1) * (e + 1) + r * r; + return [(e * e + r * r - 1) / n, (2 * r) / n]; + } + function n(t, e) { + var r = e[0], + n = e[1]; + return [r * t.radius + t.cx, -n * t.radius + t.cy]; + } + function i(t, e) { + return e * t.radius; + } + t.exports = { + smith: r, + reactanceArc: function (t, e, a, o) { + var s = n(t, r([a, e])), + l = s[0], + u = s[1], + c = n(t, r([o, e])), + f = c[0], + h = c[1]; + if (0 === e) + return ["M" + l + "," + u, "L" + f + "," + h].join(" "); + var p = i(t, 1 / Math.abs(e)); + return [ + "M" + l + "," + u, + "A" + + p + + "," + + p + + " 0 0," + + (e < 0 ? 1 : 0) + + " " + + f + + "," + + h, + ].join(" "); + }, + resistanceArc: function (t, a, o, s) { + var l = i(t, 1 / (a + 1)), + u = n(t, r([a, o])), + c = u[0], + f = u[1], + h = n(t, r([a, s])), + p = h[0], + d = h[1]; + if (e(o) !== e(s)) { + var v = n(t, r([a, 0])); + return [ + "M" + c + "," + f, + "A" + + l + + "," + + l + + " 0 0," + + (0 < o ? 0 : 1) + + " " + + v[0] + + "," + + v[1], + "A" + + l + + "," + + l + + " 0 0," + + (s < 0 ? 0 : 1) + + p + + "," + + d, + ].join(" "); + } + return [ + "M" + c + "," + f, + "A" + + l + + "," + + l + + " 0 0," + + (s < o ? 0 : 1) + + " " + + p + + "," + + d, + ].join(" "); + }, + smithTransform: n, + }; + }, + 7504: function (t, e, r) { + "use strict"; + var n = r(27659).AU, + i = r(71828).counterRegex, + a = r(77997), + o = r(39779), + s = o.attr, + l = o.name, + u = i(l), + c = {}; + (c[s] = { valType: "subplotid", dflt: l, editType: "calc" }), + (t.exports = { + attr: s, + name: l, + idRoot: l, + idRegex: u, + attrRegex: u, + attributes: c, + layoutAttributes: r(33419), + supplyLayoutDefaults: r(9558), + plot: function (t) { + for ( + var e = t._fullLayout, + r = t.calcdata, + i = e._subplots[l], + o = 0; + o < i.length; + o++ + ) { + var s = i[o], + u = n(r, l, s), + c = e[s]._subplot; + c || ((c = a(t, s, !0)), (e[s]._subplot = c)), + c.plot(u, e, t._promises); + } + }, + clean: function (t, e, r, n) { + for ( + var i = n._subplots[l] || [], a = 0; + a < i.length; + a++ + ) { + var o = i[a], + s = n[o]._subplot; + if (!e[o] && s) + for (var u in (s.framework.remove(), s.clipPaths)) + s.clipPaths[u].remove(); + } + }, + toSVG: r(93612).toSVG, + }); + }, + 33419: function (t, e, r) { + "use strict"; + var n = r(22399), + i = r(13838), + a = r(27670).Y, + o = r(71828).extendFlat, + s = r(30962).overrideAll, + l = s( + { + color: i.color, + showline: o({}, i.showline, { dflt: !0 }), + linecolor: i.linecolor, + linewidth: i.linewidth, + showgrid: o({}, i.showgrid, { dflt: !0 }), + gridcolor: i.gridcolor, + gridwidth: i.gridwidth, + griddash: i.griddash, + }, + "plot", + "from-root", + ), + u = s( + { + ticklen: i.ticklen, + tickwidth: o({}, i.tickwidth, { dflt: 2 }), + tickcolor: i.tickcolor, + showticklabels: i.showticklabels, + labelalias: i.labelalias, + showtickprefix: i.showtickprefix, + tickprefix: i.tickprefix, + showticksuffix: i.showticksuffix, + ticksuffix: i.ticksuffix, + tickfont: i.tickfont, + tickformat: i.tickformat, + hoverformat: i.hoverformat, + layer: i.layer, + }, + "plot", + "from-root", + ), + c = o( + { + visible: o({}, i.visible, { dflt: !0 }), + tickvals: { + dflt: [0.2, 0.5, 1, 2, 5], + valType: "data_array", + editType: "plot", + }, + tickangle: o({}, i.tickangle, { dflt: 90 }), + ticks: { + valType: "enumerated", + values: ["top", "bottom", ""], + editType: "ticks", + }, + side: { + valType: "enumerated", + values: ["top", "bottom"], + dflt: "top", + editType: "plot", + }, + editType: "calc", + }, + l, + u, + ), + f = o( + { + visible: o({}, i.visible, { dflt: !0 }), + tickvals: { valType: "data_array", editType: "plot" }, + ticks: i.ticks, + editType: "calc", + }, + l, + u, + ); + t.exports = { + domain: a({ name: "smith", editType: "plot" }), + bgcolor: { + valType: "color", + editType: "plot", + dflt: n.background, + }, + realaxis: c, + imaginaryaxis: f, + editType: "calc", + }; + }, + 9558: function (t, e, r) { + "use strict"; + var n, + i, + a, + o = r(71828), + s = r(7901), + l = r(44467), + u = r(49119), + c = r(27659).NG, + f = r(89426), + h = r(96115), + p = r(92128), + d = r(21994), + v = r(33419), + g = r(39779), + y = g.axisNames, + m = + ((n = function (t) { + return t + .slice() + .reverse() + .map(function (t) { + return -t; + }) + .concat([0]) + .concat(t); + }), + (i = String), + (a = {}), + function (t) { + var e = i ? i(t) : t; + if (e in a) return a[e]; + var r = n(t); + return (a[e] = r), r; + }); + function x(t, e, r, n) { + var i = r("bgcolor"); + n.bgColor = s.combine(i, n.paper_bgcolor); + var a, + u = c(n.fullData, g.name, n.id), + x = n.layoutOut; + function b(t, e) { + return r(a + "." + t, e); + } + for (var _ = 0; _ < y.length; _++) { + (a = y[_]), o.isPlainObject(t[a]) || (t[a] = {}); + var w = t[a], + T = l.newContainer(e, a); + (T._id = T._name = a), + (T._attr = n.id + "." + a), + (T._traceIndices = u.map(function (t) { + return t._expandedIndex; + })); + var k = b("visible"); + if ( + ((T.type = "linear"), d(T, x), f(w, T, b, T.type), k) + ) { + var A, + M, + S, + E, + L = "realaxis" === a; + L && b("side"), + L + ? b("tickvals") + : b( + "tickvals", + m( + e.realaxis.tickvals || + v.realaxis.tickvals.dflt, + ), + ); + var C = n.font || {}; + k && + ((M = (A = b("color")) === w.color ? A : C.color), + (S = C.size), + (E = C.family)), + h(w, T, b, T.type, { + noTicklabelstep: !0, + noAng: !L, + noExp: !0, + font: { color: M, size: S, family: E }, + }), + o.coerce2(t, e, v, a + ".ticklen"), + o.coerce2(t, e, v, a + ".tickwidth"), + o.coerce2(t, e, v, a + ".tickcolor", e.color), + b("ticks") || + (delete e[a].ticklen, + delete e[a].tickwidth, + delete e[a].tickcolor), + p(w, T, b, { + dfltColor: A, + bgColor: n.bgColor, + blend: 60, + showLine: !0, + showGrid: !0, + noZeroLine: !0, + attributes: v[a], + }), + b("layer"); + } + b("hoverformat"), delete T.type, (T._input = w); + } + } + t.exports = function (t, e, r) { + u(t, e, r, { + noUirevision: !0, + type: g.name, + attributes: v, + handleDefaults: x, + font: e.font, + paper_bgcolor: e.paper_bgcolor, + fullData: r, + layoutOut: e, + }); + }; + }, + 49119: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(44467), + a = r(27670).c; + t.exports = function (t, e, r, o) { + var s, + l, + u = o.type, + c = o.attributes, + f = o.handleDefaults, + h = o.partition || "x", + p = e._subplots[u], + d = p.length, + v = d && p[0].replace(/\d+$/, ""); + function g(t, e) { + return n.coerce(s, l, c, t, e); + } + for (var y = 0; y < d; y++) { + var m = p[y]; + (s = t[m] ? t[m] : (t[m] = {})), + (l = i.newContainer(e, m, v)), + o.noUirevision || g("uirevision", e.uirevision); + var x = {}; + (x[h] = [y / d, (y + 1) / d]), + a(l, e, g, x), + (o.id = m), + f(s, l, g, o); + } + }; + }, + 5386: function (t, e, r) { + "use strict"; + var n = r(31562); + function i(t) { + var e = t.description ? " " + t.description : "", + r = t.keys || []; + if (r.length > 0) { + for (var n = [], i = 0; i < r.length; i++) + n[i] = "`" + r[i] + "`"; + (e += "Finally, the template string has access to "), + (e = + 1 === r.length + ? e + "variable " + n[0] + : e + + "variables " + + n.slice(0, -1).join(", ") + + " and " + + n.slice(-1) + + "."); + } + return e; + } + n.FORMAT_LINK, + n.DATE_FORMAT_LINK, + (e.fF = function (t, e) { + (t = t || {}), i((e = e || {})); + var r = { + valType: "string", + dflt: "", + editType: t.editType || "none", + }; + return !1 !== t.arrayOk && (r.arrayOk = !0), r; + }), + (e.si = function (t, e) { + (t = t || {}), i((e = e || {})); + var r = { + valType: "string", + dflt: "", + editType: t.editType || "calc", + }; + return !1 !== t.arrayOk && (r.arrayOk = !0), r; + }), + (e.R = function (t, e) { + return ( + (e = e || {}), + (t = t || {}).newshape, + i(e), + { + valType: "string", + dflt: "", + editType: t.editType || "arraydraw", + } + ); + }); + }, + 61639: function (t, e, r) { + "use strict"; + var n = r(64380), + i = r(27659).AU, + a = r(71828).counterRegex, + o = "ternary"; + e.name = o; + var s = (e.attr = "subplot"); + (e.idRoot = o), + (e.idRegex = e.attrRegex = a(o)), + ((e.attributes = {})[s] = { + valType: "subplotid", + dflt: "ternary", + editType: "calc", + }), + (e.layoutAttributes = r(81367)), + (e.supplyLayoutDefaults = r(25369)), + (e.plot = function (t) { + for ( + var e = t._fullLayout, + r = t.calcdata, + a = e._subplots.ternary, + s = 0; + s < a.length; + s++ + ) { + var l = a[s], + u = i(r, o, l), + c = e[l]._subplot; + c || + ((c = new n( + { + id: l, + graphDiv: t, + container: e._ternarylayer.node(), + }, + e, + )), + (e[l]._subplot = c)), + c.plot(u, e, t._promises); + } + }), + (e.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()); + } + }); + }, + 81367: function (t, e, r) { + "use strict"; + var n = r(22399), + i = r(27670).Y, + a = r(13838), + o = r(30962).overrideAll, + s = r(1426).extendFlat, + l = { + title: { text: a.title.text, font: a.title.font }, + color: a.color, + tickmode: a.minor.tickmode, + nticks: s({}, a.nticks, { dflt: 6, min: 1 }), + tick0: a.tick0, + dtick: a.dtick, + tickvals: a.tickvals, + ticktext: a.ticktext, + ticks: a.ticks, + ticklen: a.ticklen, + tickwidth: a.tickwidth, + tickcolor: a.tickcolor, + ticklabelstep: a.ticklabelstep, + showticklabels: a.showticklabels, + labelalias: a.labelalias, + showtickprefix: a.showtickprefix, + tickprefix: a.tickprefix, + showticksuffix: a.showticksuffix, + ticksuffix: a.ticksuffix, + showexponent: a.showexponent, + exponentformat: a.exponentformat, + minexponent: a.minexponent, + separatethousands: a.separatethousands, + tickfont: a.tickfont, + tickangle: a.tickangle, + tickformat: a.tickformat, + tickformatstops: a.tickformatstops, + hoverformat: a.hoverformat, + showline: s({}, a.showline, { dflt: !0 }), + linecolor: a.linecolor, + linewidth: a.linewidth, + showgrid: s({}, a.showgrid, { dflt: !0 }), + gridcolor: a.gridcolor, + gridwidth: a.gridwidth, + griddash: a.griddash, + layer: a.layer, + min: { valType: "number", dflt: 0, min: 0 }, + _deprecated: { + title: a._deprecated.title, + titlefont: a._deprecated.titlefont, + }, + }, + u = (t.exports = o( + { + domain: i({ name: "ternary" }), + bgcolor: { valType: "color", dflt: n.background }, + sum: { valType: "number", dflt: 1, min: 0 }, + aaxis: l, + baxis: l, + caxis: l, + }, + "plot", + "from-root", + )); + (u.uirevision = { valType: "any", editType: "none" }), + (u.aaxis.uirevision = + u.baxis.uirevision = + u.caxis.uirevision = + { valType: "any", editType: "none" }); + }, + 25369: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(44467), + a = r(71828), + o = r(49119), + s = r(96115), + l = r(89426), + u = r(38701), + c = r(26218), + f = r(92128), + h = r(81367), + p = ["aaxis", "baxis", "caxis"]; + function d(t, e, r, a) { + var o, + s, + l, + u = r("bgcolor"), + c = r("sum"); + a.bgColor = n.combine(u, a.paper_bgcolor); + for (var f = 0; f < p.length; f++) + (s = t[(o = p[f])] || {}), + ((l = i.newContainer(e, o))._name = o), + v(s, l, a, e); + var h = e.aaxis, + d = e.baxis, + g = e.caxis; + h.min + d.min + g.min >= c && + ((h.min = 0), + (d.min = 0), + (g.min = 0), + t.aaxis && delete t.aaxis.min, + t.baxis && delete t.baxis.min, + t.caxis && delete t.caxis.min); + } + function v(t, e, r, n) { + var i = h[e._name]; + function o(r, n) { + return a.coerce(t, e, i, r, n); + } + o("uirevision", n.uirevision), (e.type = "linear"); + var p = o("color"), + d = p !== i.color.dflt ? p : r.font.color, + v = e._name.charAt(0).toUpperCase(), + g = "Component " + v, + y = o("title.text", g); + (e._hovertitle = y === g ? y : v), + a.coerceFont(o, "title.font", { + family: r.font.family, + size: a.bigFont(r.font.size), + color: d, + }), + o("min"), + c(t, e, o, "linear"), + l(t, e, o, "linear"), + s(t, e, o, "linear"), + u(t, e, o, { outerTicks: !0 }), + o("showticklabels") && + (a.coerceFont(o, "tickfont", { + family: r.font.family, + size: r.font.size, + color: d, + }), + o("tickangle"), + o("tickformat")), + f(t, e, o, { + dfltColor: p, + bgColor: r.bgColor, + blend: 60, + showLine: !0, + showGrid: !0, + noZeroLine: !0, + attributes: i, + }), + o("hoverformat"), + o("layer"); + } + t.exports = function (t, e, r) { + o(t, e, r, { + type: "ternary", + attributes: h, + handleDefaults: d, + font: e.font, + paper_bgcolor: e.paper_bgcolor, + }); + }; + }, + 64380: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(84267), + a = r(73972), + o = r(71828), + s = o.strTranslate, + l = o._, + u = r(7901), + c = r(91424), + f = r(21994), + h = r(1426).extendFlat, + p = r(74875), + d = r(89298), + v = r(28569), + g = r(30211), + y = r(64505), + m = y.freeMode, + x = y.rectMode, + b = r(92998), + _ = r(47322).prepSelect, + w = r(47322).selectOnClick, + T = r(47322).clearOutline, + k = r(47322).clearSelectionsCache, + A = r(85555); + function M(t, e) { + (this.id = t.id), + (this.graphDiv = t.graphDiv), + this.init(e), + this.makeFramework(e), + (this.aTickLayout = null), + (this.bTickLayout = null), + (this.cTickLayout = null); + } + t.exports = M; + var S = M.prototype; + (S.init = function (t) { + (this.container = t._ternarylayer), + (this.defs = t._defs), + (this.layoutId = t._uid), + (this.traceHash = {}), + (this.layers = {}); + }), + (S.plot = function (t, e) { + var r = this, + n = e[r.id], + i = e._size; + r._hasClipOnAxisFalse = !1; + for (var a = 0; a < t.length; a++) + if (!1 === t[a][0].trace.cliponaxis) { + r._hasClipOnAxisFalse = !0; + break; + } + r.updateLayers(n), + r.adjustLayout(n, i), + p.generalUpdatePerTraceModule(r.graphDiv, r, t, n), + r.layers.plotbg.select("path").call(u.fill, n.bgcolor); + }), + (S.makeFramework = function (t) { + var e = this, + r = e.graphDiv, + n = t[e.id], + i = (e.clipId = "clip" + e.layoutId + e.id), + a = (e.clipIdRelative = + "clip-relative" + e.layoutId + e.id); + (e.clipDef = o.ensureSingleById( + t._clips, + "clipPath", + i, + function (t) { + t.append("path").attr("d", "M0,0Z"); + }, + )), + (e.clipDefRelative = o.ensureSingleById( + t._clips, + "clipPath", + a, + function (t) { + t.append("path").attr("d", "M0,0Z"); + }, + )), + (e.plotContainer = o.ensureSingle( + e.container, + "g", + e.id, + )), + e.updateLayers(n), + c.setClipUrl(e.layers.backplot, i, r), + c.setClipUrl(e.layers.grids, i, r); + }), + (S.updateLayers = function (t) { + var e = this.layers, + r = ["draglayer", "plotbg", "backplot", "grids"]; + "below traces" === t.aaxis.layer && + r.push("aaxis", "aline"), + "below traces" === t.baxis.layer && + r.push("baxis", "bline"), + "below traces" === t.caxis.layer && + r.push("caxis", "cline"), + r.push("frontplot"), + "above traces" === t.aaxis.layer && + r.push("aaxis", "aline"), + "above traces" === t.baxis.layer && + r.push("baxis", "bline"), + "above traces" === t.caxis.layer && + r.push("caxis", "cline"); + var i = this.plotContainer + .selectAll("g.toplevel") + .data(r, String), + a = ["agrid", "bgrid", "cgrid"]; + i + .enter() + .append("g") + .attr("class", function (t) { + return "toplevel " + t; + }) + .each(function (t) { + var r = n.select(this); + (e[t] = r), + "frontplot" === t + ? r.append("g").classed("scatterlayer", !0) + : "backplot" === t + ? r.append("g").classed("maplayer", !0) + : "plotbg" === t + ? r.append("path").attr("d", "M0,0Z") + : "aline" === t || "bline" === t || "cline" === t + ? r.append("path") + : "grids" === t && + a.forEach(function (t) { + e[t] = r.append("g").classed("grid " + t, !0); + }); + }), + i.order(); + }); + var E = Math.sqrt(4 / 3); + (S.adjustLayout = function (t, e) { + var r, + n, + i, + a, + o, + l, + p = this, + d = t.domain, + v = (d.x[0] + d.x[1]) / 2, + g = (d.y[0] + d.y[1]) / 2, + y = d.x[1] - d.x[0], + m = d.y[1] - d.y[0], + x = y * e.w, + b = m * e.h, + _ = t.sum, + w = t.aaxis.min, + T = t.baxis.min, + k = t.caxis.min; + x > E * b ? (i = (a = b) * E) : (a = (i = x) / E), + (o = (y * i) / x), + (l = (m * a) / b), + (r = e.l + e.w * v - i / 2), + (n = e.t + e.h * (1 - g) - a / 2), + (p.x0 = r), + (p.y0 = n), + (p.w = i), + (p.h = a), + (p.sum = _), + (p.xaxis = { + type: "linear", + range: [w + 2 * k - _, _ - w - 2 * T], + domain: [v - o / 2, v + o / 2], + _id: "x", + }), + f(p.xaxis, p.graphDiv._fullLayout), + p.xaxis.setScale(), + (p.xaxis.isPtWithinRange = function (t) { + return ( + t.a >= p.aaxis.range[0] && + t.a <= p.aaxis.range[1] && + t.b >= p.baxis.range[1] && + t.b <= p.baxis.range[0] && + t.c >= p.caxis.range[1] && + t.c <= p.caxis.range[0] + ); + }), + (p.yaxis = { + type: "linear", + range: [w, _ - T - k], + domain: [g - l / 2, g + l / 2], + _id: "y", + }), + f(p.yaxis, p.graphDiv._fullLayout), + p.yaxis.setScale(), + (p.yaxis.isPtWithinRange = function () { + return !0; + }); + var A = p.yaxis.domain[0], + M = (p.aaxis = h({}, t.aaxis, { + range: [w, _ - T - k], + side: "left", + tickangle: (+t.aaxis.tickangle || 0) - 30, + domain: [A, A + l * E], + anchor: "free", + position: 0, + _id: "y", + _length: i, + })); + f(M, p.graphDiv._fullLayout), M.setScale(); + var S = (p.baxis = h({}, t.baxis, { + range: [_ - w - k, T], + side: "bottom", + domain: p.xaxis.domain, + anchor: "free", + position: 0, + _id: "x", + _length: i, + })); + f(S, p.graphDiv._fullLayout), S.setScale(); + var L = (p.caxis = h({}, t.caxis, { + range: [_ - w - T, k], + side: "right", + tickangle: (+t.caxis.tickangle || 0) + 30, + domain: [A, A + l * E], + anchor: "free", + position: 0, + _id: "y", + _length: i, + })); + f(L, p.graphDiv._fullLayout), L.setScale(); + var C = + "M" + + r + + "," + + (n + a) + + "h" + + i + + "l-" + + i / 2 + + ",-" + + a + + "Z"; + p.clipDef.select("path").attr("d", C), + p.layers.plotbg.select("path").attr("d", C); + var P = "M0," + a + "h" + i + "l-" + i / 2 + ",-" + a + "Z"; + p.clipDefRelative.select("path").attr("d", P); + var O = s(r, n); + p.plotContainer + .selectAll(".scatterlayer,.maplayer") + .attr("transform", O), + p.clipDefRelative.select("path").attr("transform", null); + var I = s(r - S._offset, n + a); + p.layers.baxis.attr("transform", I), + p.layers.bgrid.attr("transform", I); + var D = s(r + i / 2, n) + "rotate(30)" + s(0, -M._offset); + p.layers.aaxis.attr("transform", D), + p.layers.agrid.attr("transform", D); + var z = s(r + i / 2, n) + "rotate(-30)" + s(0, -L._offset); + p.layers.caxis.attr("transform", z), + p.layers.cgrid.attr("transform", z), + p.drawAxes(!0), + p.layers.aline + .select("path") + .attr( + "d", + M.showline + ? "M" + r + "," + (n + a) + "l" + i / 2 + ",-" + a + : "M0,0", + ) + .call(u.stroke, M.linecolor || "#000") + .style("stroke-width", (M.linewidth || 0) + "px"), + p.layers.bline + .select("path") + .attr( + "d", + S.showline + ? "M" + r + "," + (n + a) + "h" + i + : "M0,0", + ) + .call(u.stroke, S.linecolor || "#000") + .style("stroke-width", (S.linewidth || 0) + "px"), + p.layers.cline + .select("path") + .attr( + "d", + L.showline + ? "M" + + (r + i / 2) + + "," + + n + + "l" + + i / 2 + + "," + + a + : "M0,0", + ) + .call(u.stroke, L.linecolor || "#000") + .style("stroke-width", (L.linewidth || 0) + "px"), + p.graphDiv._context.staticPlot || p.initInteractions(), + c.setClipUrl( + p.layers.frontplot, + p._hasClipOnAxisFalse ? null : p.clipId, + p.graphDiv, + ); + }), + (S.drawAxes = function (t) { + var e = this, + r = e.graphDiv, + n = e.id.substr(7) + "title", + i = e.layers, + a = e.aaxis, + o = e.baxis, + s = e.caxis; + if ((e.drawAx(a), e.drawAx(o), e.drawAx(s), t)) { + var u = Math.max( + a.showticklabels ? a.tickfont.size / 2 : 0, + (s.showticklabels ? 0.75 * s.tickfont.size : 0) + + ("outside" === s.ticks ? 0.87 * s.ticklen : 0), + ), + c = + (o.showticklabels ? o.tickfont.size : 0) + + ("outside" === o.ticks ? o.ticklen : 0) + + 3; + (i["a-title"] = b.draw(r, "a" + n, { + propContainer: a, + propName: e.id + ".aaxis.title", + placeholder: l(r, "Click to enter Component A title"), + attributes: { + x: e.x0 + e.w / 2, + y: e.y0 - a.title.font.size / 3 - u, + "text-anchor": "middle", + }, + })), + (i["b-title"] = b.draw(r, "b" + n, { + propContainer: o, + propName: e.id + ".baxis.title", + placeholder: l( + r, + "Click to enter Component B title", + ), + attributes: { + x: e.x0 - c, + y: e.y0 + e.h + 0.83 * o.title.font.size + c, + "text-anchor": "middle", + }, + })), + (i["c-title"] = b.draw(r, "c" + n, { + propContainer: s, + propName: e.id + ".caxis.title", + placeholder: l( + r, + "Click to enter Component C title", + ), + attributes: { + x: e.x0 + e.w + c, + y: e.y0 + e.h + 0.83 * s.title.font.size + c, + "text-anchor": "middle", + }, + })); + } + }), + (S.drawAx = function (t) { + var e, + r = this, + n = r.graphDiv, + i = t._name, + a = i.charAt(0), + s = t._id, + l = r.layers[i], + u = a + "tickLayout", + c = + (e = t).ticks + + String(e.ticklen) + + String(e.showticklabels); + r[u] !== c && + (l.selectAll("." + s + "tick").remove(), (r[u] = c)), + t.setScale(); + var f = d.calcTicks(t), + h = d.clipEnds(t, f), + p = d.makeTransTickFn(t), + v = d.getTickSigns(t)[2], + g = o.deg2rad(30), + y = (v * (t.linewidth || 1)) / 2, + m = v * t.ticklen, + x = r.w, + b = r.h, + _ = + "b" === a + ? "M0," + + y + + "l" + + Math.sin(g) * m + + "," + + Math.cos(g) * m + : "M" + + y + + ",0l" + + Math.cos(g) * m + + "," + + -Math.sin(g) * m, + w = { + a: "M0,0l" + b + ",-" + x / 2, + b: "M0,0l-" + x / 2 + ",-" + b, + c: "M0,0l-" + b + "," + x / 2, + }[a]; + d.drawTicks(n, t, { + vals: "inside" === t.ticks ? h : f, + layer: l, + path: _, + transFn: p, + crisp: !1, + }), + d.drawGrid(n, t, { + vals: h, + layer: r.layers[a + "grid"], + path: w, + transFn: p, + crisp: !1, + }), + d.drawLabels(n, t, { + vals: f, + layer: l, + transFn: p, + labelFns: d.makeLabelFns(t, 0, 30), + }); + }); + var L = A.MINZOOM / 2 + 0.87, + C = + "m-0.87,.5h" + + L + + "v3h-" + + (L + 5.2) + + "l" + + (L / 2 + 2.6) + + ",-" + + (0.87 * L + 4.5) + + "l2.6,1.5l-" + + L / 2 + + "," + + 0.87 * L + + "Z", + P = + "m0.87,.5h-" + + L + + "v3h" + + (L + 5.2) + + "l-" + + (L / 2 + 2.6) + + ",-" + + (0.87 * L + 4.5) + + "l-2.6,1.5l" + + L / 2 + + "," + + 0.87 * L + + "Z", + O = + "m0,1l" + + L / 2 + + "," + + 0.87 * L + + "l2.6,-1.5l-" + + (L / 2 + 2.6) + + ",-" + + (0.87 * L + 4.5) + + "l-" + + (L / 2 + 2.6) + + "," + + (0.87 * L + 4.5) + + "l2.6,1.5l" + + L / 2 + + ",-" + + 0.87 * L + + "Z", + I = !0; + function D(t) { + n.select(t) + .selectAll( + ".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners", + ) + .remove(); + } + (S.clearOutline = function () { + k(this.dragOptions), T(this.dragOptions.gd); + }), + (S.initInteractions = function () { + var t, + e, + r, + n, + f, + h, + p, + d, + y, + b, + T, + k, + M = this, + S = M.layers.plotbg.select("path").node(), + L = M.graphDiv, + z = L._fullLayout._zoomlayer; + function R(t) { + var e = {}; + return ( + (e[M.id + ".aaxis.min"] = t.a), + (e[M.id + ".baxis.min"] = t.b), + (e[M.id + ".caxis.min"] = t.c), + e + ); + } + function F(t, e) { + var r = L._fullLayout.clickmode; + D(L), + 2 === t && + (L.emit("plotly_doubleclick", null), + a.call("_guiRelayout", L, R({ a: 0, b: 0, c: 0 }))), + r.indexOf("select") > -1 && + 1 === t && + w(e, L, [M.xaxis], [M.yaxis], M.id, M.dragOptions), + r.indexOf("event") > -1 && g.click(L, e, M.id); + } + function B(t, e) { + return 1 - e / M.h; + } + function N(t, e) { + return 1 - (t + (M.h - e) / Math.sqrt(3)) / M.w; + } + function j(t, e) { + return (t - (M.h - e) / Math.sqrt(3)) / M.w; + } + function U(i, a) { + var o = r + i * t, + s = n + a * e, + l = Math.max(0, Math.min(1, B(0, n), B(0, s))), + u = Math.max(0, Math.min(1, N(r, n), N(o, s))), + c = Math.max(0, Math.min(1, j(r, n), j(o, s))), + v = (l / 2 + c) * M.w, + g = (1 - l / 2 - u) * M.w, + m = (v + g) / 2, + x = g - v, + _ = (1 - l) * M.h, + w = _ - x / E; + x < A.MINZOOM + ? ((p = f), T.attr("d", y), k.attr("d", "M0,0Z")) + : ((p = { + a: f.a + l * h, + b: f.b + u * h, + c: f.c + c * h, + }), + T.attr( + "d", + y + + "M" + + v + + "," + + _ + + "H" + + g + + "L" + + m + + "," + + w + + "L" + + v + + "," + + _ + + "Z", + ), + k.attr( + "d", + "M" + + r + + "," + + n + + "m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2ZM" + + v + + "," + + _ + + C + + "M" + + g + + "," + + _ + + P + + "M" + + m + + "," + + w + + O, + )), + b || + (T.transition() + .style( + "fill", + d > 0.2 + ? "rgba(0,0,0,0.4)" + : "rgba(255,255,255,0.3)", + ) + .duration(200), + k.transition().style("opacity", 1).duration(200), + (b = !0)), + L.emit("plotly_relayouting", R(p)); + } + function V() { + D(L), + p !== f && + (a.call("_guiRelayout", L, R(p)), + I && + L.data && + L._context.showTips && + (o.notifier( + l(L, "Double-click to zoom back out"), + "long", + ), + (I = !1))); + } + function H(t, e) { + var r = t / M.xaxis._m, + n = e / M.yaxis._m, + i = [ + (p = { + a: f.a - n, + b: f.b + (r + n) / 2, + c: f.c - (r - n) / 2, + }).a, + p.b, + p.c, + ].sort(o.sorterAsc), + a = i.indexOf(p.a), + l = i.indexOf(p.b), + u = i.indexOf(p.c); + i[0] < 0 && + (i[1] + i[0] / 2 < 0 + ? ((i[2] += i[0] + i[1]), (i[0] = i[1] = 0)) + : ((i[2] += i[0] / 2), + (i[1] += i[0] / 2), + (i[0] = 0)), + (p = { a: i[a], b: i[l], c: i[u] }), + (e = (f.a - p.a) * M.yaxis._m), + (t = (f.c - p.c - f.b + p.b) * M.xaxis._m)); + var h = s(M.x0 + t, M.y0 + e); + M.plotContainer + .selectAll(".scatterlayer,.maplayer") + .attr("transform", h); + var d = s(-t, -e); + M.clipDefRelative.select("path").attr("transform", d), + (M.aaxis.range = [p.a, M.sum - p.b - p.c]), + (M.baxis.range = [M.sum - p.a - p.c, p.b]), + (M.caxis.range = [M.sum - p.a - p.b, p.c]), + M.drawAxes(!1), + M._hasClipOnAxisFalse && + M.plotContainer + .select(".scatterlayer") + .selectAll(".trace") + .call(c.hideOutsideRangePoints, M), + L.emit("plotly_relayouting", R(p)); + } + function q() { + a.call("_guiRelayout", L, R(p)); + } + (this.dragOptions = { + element: S, + gd: L, + plotinfo: { + id: M.id, + domain: L._fullLayout[M.id].domain, + xaxis: M.xaxis, + yaxis: M.yaxis, + }, + subplot: M.id, + prepFn: function (a, l, c) { + (M.dragOptions.xaxes = [M.xaxis]), + (M.dragOptions.yaxes = [M.yaxis]), + (t = L._fullLayout._invScaleX), + (e = L._fullLayout._invScaleY); + var v = (M.dragOptions.dragmode = + L._fullLayout.dragmode); + m(v) + ? (M.dragOptions.minDrag = 1) + : (M.dragOptions.minDrag = void 0), + "zoom" === v + ? ((M.dragOptions.moveFn = U), + (M.dragOptions.clickFn = F), + (M.dragOptions.doneFn = V), + (function (t, e, a) { + var l = S.getBoundingClientRect(); + (r = e - l.left), + (n = a - l.top), + L._fullLayout._calcInverseTransform(L); + var c = L._fullLayout._invTransform, + v = o.apply3DTransform(c)(r, n); + (r = v[0]), + (n = v[1]), + (f = { + a: M.aaxis.range[0], + b: M.baxis.range[1], + c: M.caxis.range[1], + }), + (p = f), + (h = M.aaxis.range[1] - f.a), + (d = i( + M.graphDiv._fullLayout[M.id].bgcolor, + ).getLuminance()), + (y = + "M0," + + M.h + + "L" + + M.w / 2 + + ", 0L" + + M.w + + "," + + M.h + + "Z"), + (b = !1), + (T = z + .append("path") + .attr("class", "zoombox") + .attr("transform", s(M.x0, M.y0)) + .style({ + fill: + d > 0.2 + ? "rgba(0,0,0,0)" + : "rgba(255,255,255,0)", + "stroke-width": 0, + }) + .attr("d", y)), + (k = z + .append("path") + .attr("class", "zoombox-corners") + .attr("transform", s(M.x0, M.y0)) + .style({ + fill: u.background, + stroke: u.defaultLine, + "stroke-width": 1, + opacity: 0, + }) + .attr("d", "M0,0Z")), + M.clearOutline(L); + })(0, l, c)) + : "pan" === v + ? ((M.dragOptions.moveFn = H), + (M.dragOptions.clickFn = F), + (M.dragOptions.doneFn = q), + (f = { + a: M.aaxis.range[0], + b: M.baxis.range[1], + c: M.caxis.range[1], + }), + (p = f), + M.clearOutline(L)) + : (x(v) || m(v)) && _(a, l, c, M.dragOptions, v); + }, + }), + (S.onmousemove = function (t) { + g.hover(L, t, M.id), + (L._fullLayout._lasthover = S), + (L._fullLayout._hoversubplot = M.id); + }), + (S.onmouseout = function (t) { + L._dragging || v.unhover(L, t); + }), + v.init(this.dragOptions); + }); + }, + 73972: function (t, e, r) { + "use strict"; + var n = r(47769), + i = r(64213), + a = r(75138), + o = r(41965), + s = r(24401).addStyleRule, + l = r(1426), + u = r(9012), + c = r(10820), + f = l.extendFlat, + h = l.extendDeepAll; + function p(t) { + var r = t.name, + i = t.categories, + a = t.meta; + if (e.modules[r]) + n.log("Type " + r + " already registered"); + else { + e.subplotsRegistry[t.basePlotModule.name] || + (function (t) { + var r = t.name; + if (e.subplotsRegistry[r]) + n.log("Plot type " + r + " already registered."); + else + for (var i in (y(t), + (e.subplotsRegistry[r] = t), + e.componentsRegistry)) + b(i, t.name); + })(t.basePlotModule); + for (var o = {}, l = 0; l < i.length; l++) + (o[i[l]] = !0), (e.allCategories[i[l]] = !0); + for (var u in ((e.modules[r] = { + _module: t, + categories: o, + }), + a && Object.keys(a).length && (e.modules[r].meta = a), + e.allTypes.push(r), + e.componentsRegistry)) + m(u, r); + t.layoutAttributes && + f(e.traceLayoutAttributes, t.layoutAttributes); + var c = t.basePlotModule, + h = c.name; + if ("mapbox" === h) { + var p = c.constants.styleRules; + for (var d in p) + s(".js-plotly-plot .plotly .mapboxgl-" + d, p[d]); + } + ("geo" !== h && "mapbox" !== h) || + void 0 !== window.PlotlyGeoAssets || + (window.PlotlyGeoAssets = { topojson: {} }); + } + } + function d(t) { + if ("string" != typeof t.name) + throw new Error( + "Component module *name* must be a string.", + ); + var r = t.name; + for (var n in ((e.componentsRegistry[r] = t), + t.layoutAttributes && + (t.layoutAttributes._isLinkedToArray && + a(e.layoutArrayContainers, r), + y(t)), + e.modules)) + m(r, n); + for (var i in e.subplotsRegistry) b(r, i); + for (var o in e.transformsRegistry) x(r, o); + t.schema && t.schema.layout && h(c, t.schema.layout); + } + function v(t) { + if ("string" != typeof t.name) + throw new Error( + "Transform module *name* must be a string.", + ); + var r = "Transform module " + t.name, + i = "function" == typeof t.transform, + a = "function" == typeof t.calcTransform; + if (!i && !a) + throw new Error( + r + + " is missing a *transform* or *calcTransform* method.", + ); + for (var s in (i && + a && + n.log( + [ + r + + " has both a *transform* and *calcTransform* methods.", + "Please note that all *transform* methods are executed", + "before all *calcTransform* methods.", + ].join(" "), + ), + o(t.attributes) || + n.log(r + " registered without an *attributes* object."), + "function" != typeof t.supplyDefaults && + n.log( + r + " registered without a *supplyDefaults* method.", + ), + (e.transformsRegistry[t.name] = t), + e.componentsRegistry)) + x(s, t.name); + } + function g(t) { + var r = t.name, + n = r.split("-")[0], + i = t.dictionary, + a = t.format, + o = i && Object.keys(i).length, + s = a && Object.keys(a).length, + l = e.localeRegistry, + u = l[r]; + if ((u || (l[r] = u = {}), n !== r)) { + var c = l[n]; + c || (l[n] = c = {}), + o && + c.dictionary === u.dictionary && + (c.dictionary = i), + s && c.format === u.format && (c.format = a); + } + o && (u.dictionary = i), s && (u.format = a); + } + function y(t) { + if (t.layoutAttributes) { + var r = t.layoutAttributes._arrayAttrRegexps; + if (r) + for (var n = 0; n < r.length; n++) + a(e.layoutArrayRegexes, r[n]); + } + } + function m(t, r) { + var n = e.componentsRegistry[t].schema; + if (n && n.traces) { + var i = n.traces[r]; + i && h(e.modules[r]._module.attributes, i); + } + } + function x(t, r) { + var n = e.componentsRegistry[t].schema; + if (n && n.transforms) { + var i = n.transforms[r]; + i && h(e.transformsRegistry[r].attributes, i); + } + } + function b(t, r) { + var n = e.componentsRegistry[t].schema; + if (n && n.subplots) { + var i = e.subplotsRegistry[r], + a = i.layoutAttributes, + o = "subplot" === i.attr ? i.name : i.attr; + Array.isArray(o) && (o = o[0]); + var s = n.subplots[o]; + a && s && h(a, s); + } + } + function _(t) { + return "object" == typeof t && (t = t.type), t; + } + (e.modules = {}), + (e.allCategories = {}), + (e.allTypes = []), + (e.subplotsRegistry = {}), + (e.transformsRegistry = {}), + (e.componentsRegistry = {}), + (e.layoutArrayContainers = []), + (e.layoutArrayRegexes = []), + (e.traceLayoutAttributes = {}), + (e.localeRegistry = {}), + (e.apiMethodRegistry = {}), + (e.collectableSubplotTypes = null), + (e.register = function (t) { + if (((e.collectableSubplotTypes = null), !t)) + throw new Error( + "No argument passed to Plotly.register.", + ); + t && !Array.isArray(t) && (t = [t]); + for (var r = 0; r < t.length; r++) { + var n = t[r]; + if (!n) + throw new Error( + "Invalid module was attempted to be registered!", + ); + switch (n.moduleType) { + case "trace": + p(n); + break; + case "transform": + v(n); + break; + case "component": + d(n); + break; + case "locale": + g(n); + break; + case "apiMethod": + var i = n.name; + e.apiMethodRegistry[i] = n.fn; + break; + default: + throw new Error( + "Invalid module was attempted to be registered!", + ); + } + } + }), + (e.getModule = function (t) { + var r = e.modules[_(t)]; + return !!r && r._module; + }), + (e.traceIs = function (t, r) { + if ("various" === (t = _(t))) return !1; + var i = e.modules[t]; + return ( + i || + (t && n.log("Unrecognized trace type " + t + "."), + (i = e.modules[u.type.dflt])), + !!i.categories[r] + ); + }), + (e.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; + }), + (e.hasTransform = function (t, e) { + for (var r = t.transforms || [], n = 0; n < r.length; n++) + if (r[n].type === e) return !0; + return !1; + }), + (e.getComponentMethod = function (t, r) { + var n = e.componentsRegistry[t]; + return (n && n[r]) || i; + }), + (e.call = function () { + var t = arguments[0], + r = [].slice.call(arguments, 1); + return e.apiMethodRegistry[t].apply(null, r); + }); + }, + 61914: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = i.extendFlat, + o = i.extendDeep; + function s(t) { + var e; + switch (t) { + case "themes__thumb": + e = { + autosize: !0, + width: 150, + height: 150, + title: { text: "" }, + showlegend: !1, + margin: { l: 5, r: 5, t: 5, b: 5, pad: 0 }, + annotations: [], + }; + break; + case "thumbnail": + e = { + title: { text: "" }, + hidesources: !0, + showlegend: !1, + borderwidth: 0, + bordercolor: "", + margin: { l: 1, r: 1, t: 1, b: 1, pad: 0 }, + annotations: [], + }; + break; + default: + e = {}; + } + return e; + } + t.exports = function (t, e) { + var r, + i, + l = t.data, + u = t.layout, + c = o([], l), + f = o({}, u, s(e.tileClass)), + h = t._context || {}; + if ( + (e.width && (f.width = e.width), + e.height && (f.height = e.height), + "thumbnail" === e.tileClass || + "themes__thumb" === e.tileClass) + ) { + f.annotations = []; + var p = Object.keys(f); + for (r = 0; r < p.length; r++) + (i = p[r]), + ["xaxis", "yaxis", "zaxis"].indexOf(i.slice(0, 5)) > + -1 && (f[p[r]].title = { text: "" }); + for (r = 0; r < c.length; r++) { + var d = c[r]; + (d.showscale = !1), + d.marker && (d.marker.showscale = !1), + n.traceIs(d, "pie-like") && (d.textposition = "none"); + } + } + if (Array.isArray(e.annotations)) + for (r = 0; r < e.annotations.length; r++) + f.annotations.push(e.annotations[r]); + var v = Object.keys(f).filter(function (t) { + return t.match(/^scene\d*$/); + }); + if (v.length) { + var g = {}; + for ( + "thumbnail" === e.tileClass && + (g = { + title: { text: "" }, + showaxeslabels: !1, + showticklabels: !1, + linetickenable: !1, + }), + r = 0; + r < v.length; + r++ + ) { + var y = f[v[r]]; + y.xaxis || (y.xaxis = {}), + y.yaxis || (y.yaxis = {}), + y.zaxis || (y.zaxis = {}), + a(y.xaxis, g), + a(y.yaxis, g), + a(y.zaxis, g), + (y._scene = null); + } + } + var m = document.createElement("div"); + e.tileClass && (m.className = e.tileClass); + var x = { + gd: m, + td: m, + layout: f, + data: c, + config: { + staticPlot: void 0 === e.staticPlot || e.staticPlot, + plotGlPixelRatio: + void 0 === e.plotGlPixelRatio + ? 2 + : e.plotGlPixelRatio, + displaylogo: e.displaylogo || !1, + showLink: e.showLink || !1, + showTips: e.showTips || !1, + mapboxAccessToken: h.mapboxAccessToken, + }, + }; + return ( + "transparent" !== e.setBackground && + (x.config.setBackground = e.setBackground || "opaque"), + (x.gd.defaultLayout = s(e.tileClass)), + x + ); + }; + }, + 7239: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(403), + a = r(22435), + o = r(25095); + t.exports = function (t, e) { + var r; + return ( + n.isPlainObject(t) || (r = n.getGraphDiv(t)), + ((e = e || {}).format = e.format || "png"), + (e.width = e.width || null), + (e.height = e.height || null), + (e.imageDataOnly = !0), + new Promise(function (s, l) { + r && + r._snapshotInProgress && + l(new Error("Snapshotting already in progress.")), + n.isIE() && + "svg" !== e.format && + l(new Error(o.MSG_IE_BAD_FORMAT)), + r && (r._snapshotInProgress = !0); + var u = i(t, e), + c = e.filename || t.fn || "newplot"; + (c += "." + e.format.replace("-", ".")), + u + .then(function (t) { + return ( + r && (r._snapshotInProgress = !1), + a(t, c, e.format) + ); + }) + .then(function (t) { + s(t); + }) + .catch(function (t) { + r && (r._snapshotInProgress = !1), l(t); + }); + }) + ); + }; + }, + 22435: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(25095); + t.exports = function (t, e, r) { + var a = document.createElement("a"), + o = "download" in a; + return new Promise(function (s, l) { + var u, c; + if (n.isIE()) + return ( + (u = i.createBlob(t, "svg")), + window.navigator.msSaveBlob(u, e), + (u = null), + s(e) + ); + if (o) + return ( + (u = i.createBlob(t, r)), + (c = i.createObjectURL(u)), + (a.href = c), + (a.download = e), + document.body.appendChild(a), + a.click(), + document.body.removeChild(a), + i.revokeObjectURL(c), + (u = null), + s(e) + ); + if (n.isSafari()) { + var f = "svg" === r ? "," : ";base64,"; + return i.octetStream(f + encodeURIComponent(t)), s(e); + } + l(new Error("download error")); + }); + }; + }, + 25095: function (t, e, r) { + "use strict"; + var n = r(73972); + (e.getDelay = function (t) { + return t._has && + (t._has("gl3d") || t._has("gl2d") || t._has("mapbox")) + ? 500 + : 0; + }), + (e.getRedrawFunc = function (t) { + return function () { + n.getComponentMethod("colorbar", "draw")(t); + }; + }), + (e.encodeSVG = function (t) { + return "data:image/svg+xml," + encodeURIComponent(t); + }), + (e.encodeJSON = function (t) { + return "data:application/json," + encodeURIComponent(t); + }); + var i = window.URL || window.webkitURL; + (e.createObjectURL = function (t) { + return i.createObjectURL(t); + }), + (e.revokeObjectURL = function (t) { + return i.revokeObjectURL(t); + }), + (e.createBlob = function (t, e) { + if ("svg" === e) + return new window.Blob([t], { + type: "image/svg+xml;charset=utf-8", + }); + if ("full-json" === e) + return new window.Blob([t], { + type: "application/json;charset=utf-8", + }); + var r = (function (t) { + for ( + var e = t.length, + r = new ArrayBuffer(e), + n = new Uint8Array(r), + i = 0; + i < e; + i++ + ) + n[i] = t.charCodeAt(i); + return r; + })(window.atob(t)); + return new window.Blob([r], { type: "image/" + e }); + }), + (e.octetStream = function (t) { + document.location.href = + "data:application/octet-stream" + t; + }), + (e.IMAGE_URL_PREFIX = /^data:image\/\w+;base64,/), + (e.MSG_IE_BAD_FORMAT = + "Sorry IE does not support downloading from canvas. Try {format:'svg'} instead."); + }, + 44511: function (t, e, r) { + "use strict"; + var n = r(25095), + i = { + getDelay: n.getDelay, + getRedrawFunc: n.getRedrawFunc, + clone: r(61914), + toSVG: r(5900), + svgToImg: r(70942), + toImage: r(56395), + downloadImage: r(7239), + }; + t.exports = i; + }, + 70942: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(15398).EventEmitter, + a = r(25095); + t.exports = function (t) { + var e = t.emitter || new i(), + r = new Promise(function (i, o) { + var s = window.Image, + l = t.svg, + u = t.format || "png"; + if (n.isIE() && "svg" !== u) { + var c = new Error(a.MSG_IE_BAD_FORMAT); + return o(c), t.promise ? r : e.emit("error", c); + } + var f, + h, + p = t.canvas, + d = t.scale || 1, + v = t.width || 300, + g = t.height || 150, + y = d * v, + m = d * g, + x = p.getContext("2d", { willReadFrequently: !0 }), + b = new s(); + "svg" === u || n.isSafari() + ? (h = a.encodeSVG(l)) + : ((f = a.createBlob(l, "svg")), + (h = a.createObjectURL(f))), + (p.width = y), + (p.height = m), + (b.onload = function () { + var r; + switch ( + ((f = null), + a.revokeObjectURL(h), + "svg" !== u && x.drawImage(b, 0, 0, y, m), + u) + ) { + case "jpeg": + r = p.toDataURL("image/jpeg"); + break; + case "png": + r = p.toDataURL("image/png"); + break; + case "webp": + r = p.toDataURL("image/webp"); + break; + case "svg": + r = h; + break; + default: + var n = + "Image format is not jpeg, png, svg or webp."; + if ((o(new Error(n)), !t.promise)) + return e.emit("error", n); + } + i(r), t.promise || e.emit("success", r); + }), + (b.onerror = function (r) { + if ( + ((f = null), + a.revokeObjectURL(h), + o(r), + !t.promise) + ) + return e.emit("error", r); + }), + (b.src = h); + }); + return t.promise ? r : e; + }; + }, + 56395: function (t, e, r) { + "use strict"; + var n = r(15398).EventEmitter, + i = r(73972), + a = r(71828), + o = r(25095), + s = r(61914), + l = r(5900), + u = r(70942); + t.exports = function (t, e) { + var r = new n(), + c = s(t, { format: "png" }), + f = c.gd; + (f.style.position = "absolute"), + (f.style.left = "-5000px"), + document.body.appendChild(f); + var h = o.getRedrawFunc(f); + return ( + i + .call("_doPlot", f, c.data, c.layout, c.config) + .then(h) + .then(function () { + var t = o.getDelay(f._fullLayout); + setTimeout(function () { + var t = l(f), + n = document.createElement("canvas"); + (n.id = a.randstr()), + ((r = u({ + format: e.format, + width: f._fullLayout.width, + height: f._fullLayout.height, + canvas: n, + emitter: r, + svg: t, + })).clean = function () { + f && document.body.removeChild(f); + }); + }, t); + }) + .catch(function (t) { + r.emit("error", t); + }), + r + ); + }; + }, + 5900: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(91424), + o = r(7901), + s = r(77922), + l = /"/g, + u = "TOBESTRIPPED", + c = new RegExp('("TOBESTRIPPED)|(TOBESTRIPPED")', "g"); + t.exports = function (t, e, r) { + var f, + h = t._fullLayout, + p = h._paper, + d = h._toppaper, + v = h.width, + g = h.height; + p.insert("rect", ":first-child") + .call(a.setRect, 0, 0, v, g) + .call(o.fill, h.paper_bgcolor); + var y = h._basePlotModules || []; + for (f = 0; f < y.length; f++) { + var m = y[f]; + m.toSVG && m.toSVG(t); + } + if (d) { + var x = d.node().childNodes, + b = Array.prototype.slice.call(x); + for (f = 0; f < b.length; f++) { + var _ = b[f]; + _.childNodes.length && p.node().appendChild(_); + } + } + h._draggers && h._draggers.remove(), + (p.node().style.background = ""), + p + .selectAll("text") + .attr({ "data-unformatted": null, "data-math": null }) + .each(function () { + var t = n.select(this); + if ( + "hidden" !== this.style.visibility && + "none" !== this.style.display + ) { + t.style({ visibility: null, display: null }); + var e = this.style.fontFamily; + e && + -1 !== e.indexOf('"') && + t.style("font-family", e.replace(l, u)); + } else t.remove(); + }), + p + .selectAll(".gradient_filled,.pattern_filled") + .each(function () { + var t = n.select(this), + e = this.style.fill; + e && + -1 !== e.indexOf("url(") && + t.style("fill", e.replace(l, u)); + var r = this.style.stroke; + r && + -1 !== r.indexOf("url(") && + t.style("stroke", r.replace(l, u)); + }), + ("pdf" !== e && "eps" !== e) || + p + .selectAll("#MathJax_SVG_glyphs path") + .attr("stroke-width", 0), + p.node().setAttributeNS(s.xmlns, "xmlns", s.svg), + p.node().setAttributeNS(s.xmlns, "xmlns:xlink", s.xlink), + "svg" === e && + r && + (p.attr("width", r * v), + p.attr("height", r * g), + p.attr("viewBox", "0 0 " + v + " " + g)); + var w = new window.XMLSerializer().serializeToString( + p.node(), + ); + return ( + (w = (w = (w = (function (t) { + var e = n + .select("body") + .append("div") + .style({ display: "none" }) + .html(""), + r = t.replace(/(&[^;]*;)/gi, function (t) { + return "<" === t + ? "<" + : "&rt;" === t + ? ">" + : -1 !== t.indexOf("<") || -1 !== t.indexOf(">") + ? "" + : e.html(t).text(); + }); + return e.remove(), r; + })(w)).replace( + /&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g, + "&", + )).replace(c, "'")), + i.isIE() && + (w = (w = (w = w.replace(/"/gi, "'")).replace( + /(\('#)([^']*)('\))/gi, + '("#$2")', + )).replace(/(\\')/gi, '"')), + w + ); + }; + }, + 75341: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e) { + for (var r = 0; r < t.length; r++) t[r].i = r; + n.mergeArray(e.text, t, "tx"), + n.mergeArray(e.hovertext, t, "htx"); + var i = e.marker; + if (i) { + n.mergeArray(i.opacity, t, "mo", !0), + n.mergeArray(i.color, t, "mc"); + var a = i.line; + a && + (n.mergeArray(a.color, t, "mlc"), + n.mergeArrayCastPositive(a.width, t, "mlw")); + } + }; + }, + 1486: function (t, e, r) { + "use strict"; + var n = r(82196), + i = r(12663).axisHoverFormat, + a = r(5386).fF, + o = r(5386).si, + s = r(50693), + l = r(41940), + u = r(97313), + c = r(79952).u, + f = r(1426).extendFlat, + h = l({ + editType: "calc", + arrayOk: !0, + colorEditType: "style", + }), + p = f({}, n.marker.line.width, { dflt: 0 }), + d = f({ width: p, editType: "calc" }, s("marker.line")), + v = f({ line: d, editType: "calc" }, s("marker"), { + opacity: { + valType: "number", + arrayOk: !0, + dflt: 1, + min: 0, + max: 1, + editType: "style", + }, + pattern: c, + }); + t.exports = { + x: n.x, + x0: n.x0, + dx: n.dx, + y: n.y, + y0: n.y0, + dy: n.dy, + xperiod: n.xperiod, + yperiod: n.yperiod, + xperiod0: n.xperiod0, + yperiod0: n.yperiod0, + xperiodalignment: n.xperiodalignment, + yperiodalignment: n.yperiodalignment, + xhoverformat: i("x"), + yhoverformat: i("y"), + text: n.text, + texttemplate: o( + { editType: "plot" }, + { keys: u.eventDataKeys }, + ), + hovertext: n.hovertext, + hovertemplate: a({}, { keys: u.eventDataKeys }), + textposition: { + valType: "enumerated", + values: ["inside", "outside", "auto", "none"], + dflt: "auto", + arrayOk: !0, + editType: "calc", + }, + insidetextanchor: { + valType: "enumerated", + values: ["end", "middle", "start"], + dflt: "end", + editType: "plot", + }, + textangle: { + valType: "angle", + dflt: "auto", + editType: "plot", + }, + textfont: f({}, h, {}), + insidetextfont: f({}, h, {}), + outsidetextfont: f({}, h, {}), + constraintext: { + valType: "enumerated", + values: ["inside", "outside", "both", "none"], + dflt: "both", + editType: "calc", + }, + cliponaxis: f({}, n.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: v, + offsetgroup: n.offsetgroup, + alignmentgroup: n.alignmentgroup, + selected: { + marker: { + opacity: n.selected.marker.opacity, + color: n.selected.marker.color, + editType: "style", + }, + textfont: n.selected.textfont, + editType: "style", + }, + unselected: { + marker: { + opacity: n.unselected.marker.opacity, + color: n.unselected.marker.color, + editType: "style", + }, + textfont: n.unselected.textfont, + editType: "style", + }, + _deprecated: { + bardir: { + valType: "enumerated", + editType: "calc", + values: ["v", "h"], + }, + }, + }; + }, + 92290: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(42973), + a = r(52075).hasColorscale, + o = r(78803), + s = r(75341), + l = r(66279); + t.exports = function (t, e) { + var r, + u, + c, + f, + h, + p, + d = n.getFromId(t, e.xaxis || "x"), + v = n.getFromId(t, e.yaxis || "y"), + g = { msUTC: !(!e.base && 0 !== e.base) }; + "h" === e.orientation + ? ((r = d.makeCalcdata(e, "x", g)), + (c = v.makeCalcdata(e, "y")), + (f = i(e, v, "y", c)), + (h = !!e.yperiodalignment), + (p = "y")) + : ((r = v.makeCalcdata(e, "y", g)), + (c = d.makeCalcdata(e, "x")), + (f = i(e, d, "x", c)), + (h = !!e.xperiodalignment), + (p = "x")), + (u = f.vals); + for ( + var y = Math.min(u.length, r.length), + m = new Array(y), + x = 0; + x < y; + x++ + ) + (m[x] = { p: u[x], s: r[x] }), + h && + ((m[x].orig_p = c[x]), + (m[x][p + "End"] = f.ends[x]), + (m[x][p + "Start"] = f.starts[x])), + e.ids && (m[x].id = String(e.ids[x])); + return ( + a(e, "marker") && + o(t, e, { + vals: e.marker.color, + containerStr: "marker", + cLetter: "c", + }), + a(e, "marker.line") && + o(t, e, { + vals: e.marker.line.color, + containerStr: "marker.line", + cLetter: "c", + }), + s(m, e), + l(m, e), + m + ); + }; + }, + 97313: function (t) { + "use strict"; + t.exports = { TEXTPAD: 3, eventDataKeys: ["value", "label"] }; + }, + 11661: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828).isArrayOrTypedArray, + a = r(50606).BADNUM, + o = r(73972), + s = r(89298), + l = r(99082).getAxisGroup, + u = r(61546); + function c(t, e, r, o, c) { + if (o.length) { + var b, _, w, T; + switch ( + ((function (t, e) { + var r, a; + for (r = 0; r < e.length; r++) { + var o, + s = e[r], + l = s[0].trace, + u = "funnel" === l.type ? l._base : l.base, + c = + "h" === l.orientation + ? l.xcalendar + : l.ycalendar, + f = + "category" === t.type || + "multicategory" === t.type + ? function () { + return null; + } + : t.d2c; + if (i(u)) { + for (a = 0; a < Math.min(u.length, s.length); a++) + (o = f(u[a], 0, c)), + n(o) + ? ((s[a].b = +o), (s[a].hasB = 1)) + : (s[a].b = 0); + for (; a < s.length; a++) s[a].b = 0; + } else { + o = f(u, 0, c); + var h = n(o); + for (o = h ? o : 0, a = 0; a < s.length; a++) + (s[a].b = o), h && (s[a].hasB = 1); + } + } + })(r, o), + c.mode) + ) { + case "overlay": + f(e, r, o, c); + break; + case "group": + for (b = [], _ = [], w = 0; w < o.length; w++) + void 0 === (T = o[w])[0].trace.offset + ? _.push(T) + : b.push(T); + _.length && + (function (t, e, r, n, i) { + var o = new u(n, { + posAxis: e, + sepNegVal: !1, + overlapNoMerge: !i.norm, + }); + (function (t, e, r, n) { + for ( + var i = t._fullLayout, + a = r.positions, + o = r.distinctPositions, + s = r.minDiff, + u = r.traces, + c = u.length, + f = a.length !== o.length, + h = s * (1 - n.gap), + g = l(i, e._id) + u[0][0].trace.orientation, + y = i._alignmentOpts[g] || {}, + m = 0; + m < c; + m++ + ) { + var x, + b, + _ = u[m], + w = _[0].trace, + T = y[w.alignmentgroup] || {}, + k = Object.keys( + T.offsetGroups || {}, + ).length, + A = + (x = k ? h / k : f ? h / c : h) * + (1 - (n.groupgap || 0)); + b = k + ? ((2 * w._offsetIndex + 1 - k) * x - A) / 2 + : f + ? ((2 * m + 1 - c) * x - A) / 2 + : -A / 2; + var M = _[0].t; + (M.barwidth = A), + (M.poffset = b), + (M.bargroupwidth = h), + (M.bardelta = s); + } + (r.binWidth = u[0][0].t.barwidth / 100), + p(r), + d(e, r), + v(e, r, f); + })(t, e, o, i), + (function (t, e) { + for ( + var r = t.traces, n = 0; + n < r.length; + n++ + ) { + var i = r[n]; + if (void 0 === i[0].trace.base) + for ( + var o = new u([i], { + posAxis: e, + sepNegVal: !0, + overlapNoMerge: !0, + }), + s = 0; + s < i.length; + s++ + ) { + var l = i[s]; + if (l.p !== a) { + var c = o.put(l.p, l.b + l.s); + c && (l.b = c); + } + } + } + })(o, e), + i.norm ? (y(o), m(r, o, i)) : g(r, o); + })(t, e, r, _, c), + b.length && f(e, r, b, c); + break; + case "stack": + case "relative": + for (b = [], _ = [], w = 0; w < o.length; w++) + void 0 === (T = o[w])[0].trace.base + ? _.push(T) + : b.push(T); + _.length && + (function (t, e, r, n, i) { + var o = new u(n, { + posAxis: e, + sepNegVal: "relative" === i.mode, + overlapNoMerge: !( + i.norm || + "stack" === i.mode || + "relative" === i.mode + ), + }); + h(e, o, i), + (function (t, e, r) { + var n, + i, + o, + l, + u, + c, + f = x(t), + h = e.traces; + for (l = 0; l < h.length; l++) + if ( + "funnel" === + (i = (n = h[l])[0].trace).type + ) + for (u = 0; u < n.length; u++) + (c = n[u]).s !== a && + e.put(c.p, -0.5 * c.s); + for (l = 0; l < h.length; l++) { + o = + "funnel" === + (i = (n = h[l])[0].trace).type; + var p = []; + for (u = 0; u < n.length; u++) + if ((c = n[u]).s !== a) { + var d; + d = o ? c.s : c.s + c.b; + var v = e.put(c.p, d), + g = v + d; + (c.b = v), + (c[f] = g), + r.norm || + (p.push(g), c.hasB && p.push(v)); + } + r.norm || + (i._extremes[t._id] = s.findExtremes( + t, + p, + { tozero: !0, padded: !0 }, + )); + } + })(r, o, i); + for (var l = 0; l < n.length; l++) + for (var c = n[l], f = 0; f < c.length; f++) { + var p = c[f]; + p.s !== a && + p.b + p.s === o.get(p.p, p.s) && + (p._outmost = !0); + } + i.norm && m(r, o, i); + })(0, e, r, _, c), + b.length && f(e, r, b, c); + } + !(function (t, e) { + var r, + i, + a, + o = x(e), + s = {}, + l = 1 / 0, + u = -1 / 0; + for (r = 0; r < t.length; r++) + for (a = t[r], i = 0; i < a.length; i++) { + var c = a[i].p; + n(c) && + ((l = Math.min(l, c)), (u = Math.max(u, c))); + } + var f = 1e4 / (u - l), + h = (s.round = function (t) { + return String(Math.round(f * (t - l))); + }); + for (r = 0; r < t.length; r++) { + (a = t[r])[0].t.extents = s; + var p = a[0].t.poffset, + d = Array.isArray(p); + for (i = 0; i < a.length; i++) { + var v = a[i], + g = v[o] - v.w / 2; + if (n(g)) { + var y = v[o] + v.w / 2, + m = h(v.p); + s[m] + ? (s[m] = [ + Math.min(g, s[m][0]), + Math.max(y, s[m][1]), + ]) + : (s[m] = [g, y]); + } + (v.p0 = v.p + (d ? p[i] : p)), + (v.p1 = v.p0 + v.w), + (v.s0 = v.b), + (v.s1 = v.s0 + v.s); + } + } + })(o, e); + } + } + function f(t, e, r, n) { + for (var i = 0; i < r.length; i++) { + var a = r[i], + o = new u([a], { + posAxis: t, + sepNegVal: !1, + overlapNoMerge: !n.norm, + }); + h(t, o, n), n.norm ? (y(o), m(e, o, n)) : g(e, o); + } + } + function h(t, e, r) { + for ( + var n = e.minDiff, + i = e.traces, + a = n * (1 - r.gap), + o = a * (1 - (r.groupgap || 0)), + s = -o / 2, + l = 0; + l < i.length; + l++ + ) { + var u = i[l][0].t; + (u.barwidth = o), + (u.poffset = s), + (u.bargroupwidth = a), + (u.bardelta = n); + } + (e.binWidth = i[0][0].t.barwidth / 100), + p(e), + d(t, e), + v(t, e); + } + function p(t) { + var e, + r, + a = t.traces; + for (e = 0; e < a.length; e++) { + var o, + s = a[e], + l = s[0], + u = l.trace, + c = l.t, + f = u._offset || u.offset, + h = c.poffset; + if (i(f)) { + for ( + o = Array.prototype.slice.call(f, 0, s.length), r = 0; + r < o.length; + r++ + ) + n(o[r]) || (o[r] = h); + for (r = o.length; r < s.length; r++) o.push(h); + c.poffset = o; + } else void 0 !== f && (c.poffset = f); + var p = u._width || u.width, + d = c.barwidth; + if (i(p)) { + var v = Array.prototype.slice.call(p, 0, s.length); + for (r = 0; r < v.length; r++) n(v[r]) || (v[r] = d); + for (r = v.length; r < s.length; r++) v.push(d); + if (((c.barwidth = v), void 0 === f)) { + for (o = [], r = 0; r < s.length; r++) + o.push(h + (d - v[r]) / 2); + c.poffset = o; + } + } else + void 0 !== p && + ((c.barwidth = p), + void 0 === f && (c.poffset = h + (d - p) / 2)); + } + } + function d(t, e) { + for (var r = e.traces, n = x(t), i = 0; i < r.length; i++) + for ( + var a = r[i], + o = a[0].t, + s = o.poffset, + l = Array.isArray(s), + u = o.barwidth, + c = Array.isArray(u), + f = 0; + f < a.length; + f++ + ) { + var h = a[f], + p = (h.w = c ? u[f] : u); + void 0 === h.p && + ((h.p = h[n]), (h["orig_" + n] = h[n])); + var d = (l ? s[f] : s) + p / 2; + h[n] = h.p + d; + } + } + function v(t, e, r) { + var n = e.traces, + i = e.minDiff / 2; + s.minDtick(t, e.minDiff, e.distinctPositions[0], r); + for (var a = 0; a < n.length; a++) { + var o, + l, + u, + c, + f = n[a], + h = f[0], + p = h.trace, + d = []; + for (c = 0; c < f.length; c++) + (l = (o = f[c]).p - i), (u = o.p + i), d.push(l, u); + if (p.width || p.offset) { + var v = h.t, + g = v.poffset, + y = v.barwidth, + m = Array.isArray(g), + x = Array.isArray(y); + for (c = 0; c < f.length; c++) { + o = f[c]; + var b = m ? g[c] : g, + _ = x ? y[c] : y; + (u = (l = o.p + b) + _), d.push(l, u); + } + } + p._extremes[t._id] = s.findExtremes(t, d, { padded: !1 }); + } + } + function g(t, e) { + for (var r = e.traces, n = x(t), i = 0; i < r.length; i++) { + for ( + var a = r[i], + o = a[0].trace, + l = "scatter" === o.type, + u = "v" === o.orientation, + c = [], + f = !1, + h = 0; + h < a.length; + h++ + ) { + var p = a[h], + d = l ? 0 : p.b, + v = l ? (u ? p.y : p.x) : d + p.s; + (p[n] = v), + c.push(v), + p.hasB && c.push(d), + (p.hasB && p.b) || (f = !0); + } + o._extremes[t._id] = s.findExtremes(t, c, { + tozero: f, + padded: !0, + }); + } + } + function y(t) { + for (var e = t.traces, r = 0; r < e.length; r++) + for (var n = e[r], i = 0; i < n.length; i++) { + var o = n[i]; + o.s !== a && t.put(o.p, o.b + o.s); + } + } + function m(t, e, r) { + var i = e.traces, + o = x(t), + l = "fraction" === r.norm ? 1 : 100, + u = l / 1e9, + c = t.l2c(t.c2l(0)), + f = "stack" === r.mode ? l : c; + function h(e) { + return n(t.c2l(e)) && (e < c - u || e > f + u || !n(c)); + } + for (var p = 0; p < i.length; p++) { + for ( + var d = i[p], + v = d[0].trace, + g = [], + y = !1, + m = !1, + b = 0; + b < d.length; + b++ + ) { + var _ = d[b]; + if (_.s !== a) { + var w = Math.abs(l / e.get(_.p, _.s)); + (_.b *= w), (_.s *= w); + var T = _.b, + k = T + _.s; + (_[o] = k), + g.push(k), + (m = m || h(k)), + _.hasB && (g.push(T), (m = m || h(T))), + (_.hasB && _.b) || (y = !0); + } + } + v._extremes[t._id] = s.findExtremes(t, g, { + tozero: y, + padded: m, + }); + } + } + function x(t) { + return t._id.charAt(0); + } + t.exports = { + crossTraceCalc: function (t, e) { + for ( + var r = e.xaxis, + n = e.yaxis, + i = t._fullLayout, + a = t._fullData, + s = t.calcdata, + l = [], + u = [], + f = 0; + f < a.length; + f++ + ) { + var h = a[f]; + if ( + !0 === h.visible && + o.traceIs(h, "bar") && + h.xaxis === r._id && + h.yaxis === n._id && + ("h" === h.orientation ? l.push(s[f]) : u.push(s[f]), + h._computePh) + ) + for (var p = t.calcdata[f], d = 0; d < p.length; d++) + "function" == typeof p[d].ph0 && + (p[d].ph0 = p[d].ph0()), + "function" == typeof p[d].ph1 && + (p[d].ph1 = p[d].ph1()); + } + var v = { + xCat: + "category" === r.type || "multicategory" === r.type, + yCat: + "category" === n.type || "multicategory" === n.type, + mode: i.barmode, + norm: i.barnorm, + gap: i.bargap, + groupgap: i.bargroupgap, + }; + c(t, r, n, u, v), c(t, n, r, l, v); + }, + setGroupPositions: c, + }; + }, + 90769: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(73972), + o = r(67513), + s = r(73927), + l = r(98340), + u = r(26125), + c = r(1486), + f = n.coerceFont; + function h(t, e, r, i, a, o) { + var s = !(!1 === (o = o || {}).moduleHasSelected), + l = !(!1 === o.moduleHasUnselected), + u = !(!1 === o.moduleHasConstrain), + c = !(!1 === o.moduleHasCliponaxis), + h = !(!1 === o.moduleHasTextangle), + p = !(!1 === o.moduleHasInsideanchor), + d = !!o.hasPathbar, + v = Array.isArray(a) || "auto" === a, + g = v || "inside" === a, + y = v || "outside" === a; + if (g || y) { + var m = f(i, "textfont", r.font), + x = n.extendFlat({}, m), + b = !(t.textfont && t.textfont.color); + if ((b && delete x.color, f(i, "insidetextfont", x), d)) { + var _ = n.extendFlat({}, m); + b && delete _.color, f(i, "pathbar.textfont", _); + } + y && f(i, "outsidetextfont", m), + s && i("selected.textfont.color"), + l && i("unselected.textfont.color"), + u && i("constraintext"), + c && i("cliponaxis"), + h && i("textangle"), + i("texttemplate"); + } + g && p && i("insidetextanchor"); + } + t.exports = { + supplyDefaults: function (t, e, r, u) { + function f(r, i) { + return n.coerce(t, e, c, r, i); + } + if (o(t, e, u, f)) { + s(t, e, u, f), + f("xhoverformat"), + f("yhoverformat"), + f("orientation", e.x && !e.y ? "h" : "v"), + f("base"), + f("offset"), + f("width"), + f("text"), + f("hovertext"), + f("hovertemplate"); + var p = f("textposition"); + h(t, 0, u, f, p, { + moduleHasSelected: !0, + moduleHasUnselected: !0, + moduleHasConstrain: !0, + moduleHasCliponaxis: !0, + moduleHasTextangle: !0, + moduleHasInsideanchor: !0, + }), + l(t, e, f, r, u); + var d = (e.marker.line || {}).color, + v = a.getComponentMethod( + "errorbars", + "supplyDefaults", + ); + v(t, e, d || i.defaultLine, { axis: "y" }), + v(t, e, d || i.defaultLine, { + axis: "x", + inherit: "y", + }), + n.coerceSelectionMarkerOpacity(e, f); + } else e.visible = !1; + }, + crossTraceDefaults: function (t, e) { + var r, i; + function a(t) { + return n.coerce(i._input, i, c, t); + } + if ("group" === e.barmode) + for (var o = 0; o < t.length; o++) + "bar" === (i = t[o]).type && + ((r = i._input), u(r, i, e, a)); + }, + handleText: h, + }; + }, + 58065: function (t) { + "use strict"; + t.exports = function (t, e, r) { + return ( + (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), + "h" === r.orientation + ? ((t.label = t.y), (t.value = t.x)) + : ((t.label = t.x), (t.value = t.y)), + t + ); + }; + }, + 69383: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(84267), + a = r(71828).isArrayOrTypedArray; + (e.coerceString = function (t, e, r) { + if ("string" == typeof e) { + if (e || !t.noBlank) return e; + } else if (("number" == typeof e || !0 === e) && !t.strict) + return String(e); + return void 0 !== r ? r : t.dflt; + }), + (e.coerceNumber = function (t, e, r) { + if (n(e)) { + e = +e; + var i = t.min, + a = t.max; + if ( + !((void 0 !== i && e < i) || (void 0 !== a && e > a)) + ) + return e; + } + return void 0 !== r ? r : t.dflt; + }), + (e.coerceColor = function (t, e, r) { + return i(e).isValid() ? e : void 0 !== r ? r : t.dflt; + }), + (e.coerceEnumerated = function (t, e, r) { + return ( + t.coerceNumber && (e = +e), + -1 !== t.values.indexOf(e) + ? e + : void 0 !== r + ? r + : t.dflt + ); + }), + (e.getValue = function (t, e) { + var r; + return ( + Array.isArray(t) ? e < t.length && (r = t[e]) : (r = t), + r + ); + }), + (e.getLineWidth = function (t, e) { + return 0 < e.mlw + ? e.mlw + : a(t.marker.line.width) + ? 0 + : t.marker.line.width; + }); + }, + 95423: function (t, e, r) { + "use strict"; + var n = r(30211), + i = r(73972), + a = r(7901), + o = r(71828).fillText, + s = r(69383).getLineWidth, + l = r(89298).hoverLabelText, + u = r(50606).BADNUM; + function c(t, e, r, i, a) { + var s, + c, + f, + h, + p, + d, + v, + g = t.cd, + y = g[0].trace, + m = g[0].t, + x = "closest" === i, + b = "waterfall" === y.type, + _ = t.maxHoverDistance, + w = t.maxSpikeDistance; + "h" === y.orientation + ? ((s = r), + (c = e), + (f = "y"), + (h = "x"), + (p = D), + (d = O)) + : ((s = e), + (c = r), + (f = "x"), + (h = "y"), + (d = D), + (p = O)); + var T = y[f + "period"], + k = x || T; + function A(t) { + return S(t, -1); + } + function M(t) { + return S(t, 1); + } + function S(t, e) { + var r = t.w; + return t[f] + (e * r) / 2; + } + function E(t) { + return t[f + "End"] - t[f + "Start"]; + } + var L = x + ? A + : T + ? function (t) { + return t.p - E(t) / 2; + } + : function (t) { + return Math.min(A(t), t.p - m.bardelta / 2); + }, + C = x + ? M + : T + ? function (t) { + return t.p + E(t) / 2; + } + : function (t) { + return Math.max(M(t), t.p + m.bardelta / 2); + }; + function P(t, e, r) { + return ( + a.finiteRange && (r = 0), + n.inbox( + t - s, + e - s, + r + Math.min(1, Math.abs(e - t) / v) - 1, + ) + ); + } + function O(t) { + return P(L(t), C(t), _); + } + function I(t) { + var e = t[h]; + if (b) { + var r = Math.abs(t.rawS) || 0; + c > 0 ? (e += r) : c < 0 && (e -= r); + } + return e; + } + function D(t) { + var e = c, + r = t.b, + i = I(t); + return n.inbox(r - e, i - e, _ + (i - e) / (i - r) - 1); + } + var z = t[f + "a"], + R = t[h + "a"]; + v = Math.abs(z.r2c(z.range[1]) - z.r2c(z.range[0])); + var F = n.getDistanceFunction(i, p, d, function (t) { + return (p(t) + d(t)) / 2; + }); + if ( + (n.getClosest(g, F, t), + !1 !== t.index && g[t.index].p !== u) + ) { + k || + ((L = function (t) { + return Math.min(A(t), t.p - m.bargroupwidth / 2); + }), + (C = function (t) { + return Math.max(M(t), t.p + m.bargroupwidth / 2); + })); + var B = g[t.index], + N = y.base ? B.b + B.s : B.s; + (t[h + "0"] = t[h + "1"] = R.c2p(B[h], !0)), + (t[h + "LabelVal"] = N); + var j = m.extents[m.extents.round(B.p)]; + (t[f + "0"] = z.c2p(x ? L(B) : j[0], !0)), + (t[f + "1"] = z.c2p(x ? C(B) : j[1], !0)); + var U = void 0 !== B.orig_p; + return ( + (t[f + "LabelVal"] = U ? B.orig_p : B.p), + (t.labelLabel = l( + z, + t[f + "LabelVal"], + y[f + "hoverformat"], + )), + (t.valueLabel = l( + R, + t[h + "LabelVal"], + y[h + "hoverformat"], + )), + (t.baseLabel = l(R, B.b, y[h + "hoverformat"])), + (t.spikeDistance = + ((function (t) { + var e = c, + r = t.b, + i = I(t); + return n.inbox( + r - e, + i - e, + w + (i - e) / (i - r) - 1, + ); + })(B) + + (function (t) { + return P(A(t), M(t), w); + })(B)) / + 2), + (t[f + "Spike"] = z.c2p(B.p, !0)), + o(B, y, t), + (t.hovertemplate = y.hovertemplate), + t + ); + } + } + function f(t, e) { + var r = e.mcc || t.marker.color, + n = e.mlcc || t.marker.line.color, + i = s(t, e); + return a.opacity(r) ? r : a.opacity(n) && i ? n : void 0; + } + t.exports = { + hoverPoints: function (t, e, r, n, a) { + var o = c(t, e, r, n, a); + if (o) { + var s = o.cd, + l = s[0].trace, + u = s[o.index]; + return ( + (o.color = f(l, u)), + i.getComponentMethod("errorbars", "hoverInfo")( + u, + l, + o, + ), + [o] + ); + } + }, + hoverOnBars: c, + getTraceColor: f, + }; + }, + 60822: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(1486), + layoutAttributes: r(43641), + supplyDefaults: r(90769).supplyDefaults, + crossTraceDefaults: r(90769).crossTraceDefaults, + supplyLayoutDefaults: r(13957), + calc: r(92290), + crossTraceCalc: r(11661).crossTraceCalc, + colorbar: r(4898), + arraysToCalcdata: r(75341), + plot: r(17295).plot, + style: r(16688).style, + styleOnSelect: r(16688).styleOnSelect, + hoverPoints: r(95423).hoverPoints, + eventData: r(58065), + selectPoints: r(81974), + moduleType: "trace", + name: "bar", + basePlotModule: r(93612), + categories: [ + "bar-like", + "cartesian", + "svg", + "bar", + "oriented", + "errorBarsOK", + "showLegend", + "zoomScale", + ], + animatable: !0, + meta: {}, + }; + }, + 43641: function (t) { + "use strict"; + t.exports = { + 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", + }, + }; + }, + 13957: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(89298), + a = r(71828), + o = r(43641); + t.exports = function (t, e, r) { + function s(r, n) { + return a.coerce(t, e, o, r, n); + } + for ( + var l = !1, + u = !1, + c = !1, + f = {}, + h = s("barmode"), + p = 0; + p < r.length; + p++ + ) { + var d = r[p]; + if (n.traceIs(d, "bar") && d.visible) { + if (((l = !0), "group" === h)) { + var v = d.xaxis + d.yaxis; + f[v] && (c = !0), (f[v] = !0); + } + d.visible && + "histogram" === d.type && + "category" !== + i.getFromId( + { _fullLayout: e }, + d["v" === d.orientation ? "xaxis" : "yaxis"], + ).type && + (u = !0); + } + } + l + ? ("overlay" !== h && s("barnorm"), + s("bargap", u && !c ? 0 : 0.2), + s("bargroupgap")) + : delete e.barmode; + }; + }, + 17295: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = r(71828), + o = r(63893), + s = r(7901), + l = r(91424), + u = r(73972), + c = r(89298).tickText, + f = r(72597), + h = f.recordMinTextSize, + p = f.clearMinTextSize, + d = r(16688), + v = r(69383), + g = r(97313), + y = r(1486), + m = y.text, + x = y.textposition, + b = r(23469).appendArrayPointValue, + _ = g.TEXTPAD; + function w(t) { + return t.id; + } + function T(t) { + if (t.ids) return w; + } + function k(t, e) { + return t < e ? 1 : -1; + } + function A(t, e, r, n) { + var i; + return !e.uniformtext.mode && M(r) + ? (n && (i = n()), + t + .transition() + .duration(r.duration) + .ease(r.easing) + .each("end", function () { + i && i(); + }) + .each("interrupt", function () { + i && i(); + })) + : t; + } + function M(t) { + return t && t.duration > 0; + } + function S(t) { + return "auto" === t ? 0 : t; + } + function E(t, e) { + var r = (Math.PI / 180) * e, + n = Math.abs(Math.sin(r)), + i = Math.abs(Math.cos(r)); + return { + x: t.width * i + t.height * n, + y: t.width * n + t.height * i, + }; + } + function L(t, e, r, n, i, a) { + var o = !!a.isHorizontal, + s = !!a.constrained, + l = a.angle || 0, + u = a.anchor || "end", + c = "end" === u, + f = "start" === u, + h = ((a.leftToRight || 0) + 1) / 2, + p = 1 - h, + d = i.width, + v = i.height, + g = Math.abs(e - t), + y = Math.abs(n - r), + m = g > 2 * _ && y > 2 * _ ? _ : 0; + (g -= 2 * m), (y -= 2 * m); + var x = S(l); + "auto" !== l || + (d <= g && v <= y) || + !(d > g || v > y) || + ((d > y || v > g) && d < v == g < y) || + (x += 90); + var b = E(i, x), + w = 1; + s && (w = Math.min(1, g / b.x, y / b.y)); + var T = i.left * p + i.right * h, + A = (i.top + i.bottom) / 2, + M = (t + _) * p + (e - _) * h, + L = (r + n) / 2, + C = 0, + P = 0; + if (f || c) { + var O = (o ? b.x : b.y) / 2, + I = o ? k(t, e) : k(r, n); + o + ? f + ? ((M = t + I * m), (C = -I * O)) + : ((M = e - I * m), (C = I * O)) + : f + ? ((L = r + I * m), (P = -I * O)) + : ((L = n - I * m), (P = I * O)); + } + return { + textX: T, + textY: A, + targetX: M, + targetY: L, + anchorX: C, + anchorY: P, + scale: w, + rotate: x, + }; + } + t.exports = { + plot: function (t, e, r, f, g, y) { + var w = e.xaxis, + C = e.yaxis, + P = t._fullLayout, + O = t._context.staticPlot; + g || + ((g = { + mode: P.barmode, + norm: P.barmode, + gap: P.bargap, + groupgap: P.bargroupgap, + }), + p("bar", P)); + var I = a + .makeTraceGroups(f, r, "trace bars") + .each(function (r) { + var u = n.select(this), + f = r[0].trace, + p = "waterfall" === f.type, + I = "funnel" === f.type, + D = "bar" === f.type || I, + z = 0; + p && + f.connector.visible && + "between" === f.connector.mode && + (z = f.connector.line.width / 2); + var R = "h" === f.orientation, + F = M(g), + B = a.ensureSingle(u, "g", "points"), + N = T(f), + j = B.selectAll("g.point").data(a.identity, N); + j.enter().append("g").classed("point", !0), + j.exit().remove(), + j.each(function (u, p) { + var T, + M, + I = n.select(this), + B = (function (t, e, r, n) { + var i = [], + a = [], + o = n ? e : r, + s = n ? r : e; + return ( + (i[0] = o.c2p(t.s0, !0)), + (a[0] = s.c2p(t.p0, !0)), + (i[1] = o.c2p(t.s1, !0)), + (a[1] = s.c2p(t.p1, !0)), + n ? [i, a] : [a, i] + ); + })(u, w, C, R), + N = B[0][0], + j = B[0][1], + U = B[1][0], + V = B[1][1], + H = 0 == (R ? j - N : V - U); + if ( + (H && D && v.getLineWidth(f, u) && (H = !1), + H || (H = !(i(N) && i(j) && i(U) && i(V))), + (u.isBlank = H), + H && (R ? (j = N) : (V = U)), + z && + !H && + (R + ? ((N -= k(N, j) * z), (j += k(N, j) * z)) + : ((U -= k(U, V) * z), (V += k(U, V) * z))), + "waterfall" === f.type) + ) { + if (!H) { + var q = f[u.dir].marker; + (T = q.line.width), (M = q.color); + } + } else + (T = v.getLineWidth(f, u)), + (M = u.mc || f.marker.color); + function G(t) { + var e = n.round((T / 2) % 1, 2); + return 0 === g.gap && 0 === g.groupgap + ? n.round(Math.round(t) - e, 2) + : t; + } + if (!t._context.staticPlot) { + var Z = + s.opacity(M) < 1 || T > 0.01 + ? G + : function (t, e, r) { + return r && t === e + ? t + : Math.abs(t - e) >= 2 + ? G(t) + : t > e + ? Math.ceil(t) + : Math.floor(t); + }; + (N = Z(N, j, R)), + (j = Z(j, N, R)), + (U = Z(U, V, !R)), + (V = Z(V, U, !R)); + } + var Y = A(a.ensureSingle(I, "path"), P, g, y); + if ( + (Y.style( + "vector-effect", + O ? "none" : "non-scaling-stroke", + ) + .attr( + "d", + isNaN((j - N) * (V - U)) || + (H && t._context.staticPlot) + ? "M0,0Z" + : "M" + + N + + "," + + U + + "V" + + V + + "H" + + j + + "V" + + U + + "Z", + ) + .call(l.setClipUrl, e.layerClipId, t), + !P.uniformtext.mode && F) + ) { + var W = l.makePointStyleFns(f); + l.singlePointStyle(u, Y, f, W, t); + } + !(function (t, e, r, n, i, s, u, f, p, g, y) { + var w, + T = e.xaxis, + M = e.yaxis, + C = t._fullLayout; + function P(e, r, n) { + return a + .ensureSingle(e, "text") + .text(r) + .attr({ + class: "bartext bartext-" + w, + "text-anchor": "middle", + "data-notex": 1, + }) + .call(l.font, n) + .call(o.convertToTspans, t); + } + var O = n[0].trace, + I = "h" === O.orientation, + D = (function (t, e, r, n, i) { + var o, + s = e[0].trace; + return ( + (o = s.texttemplate + ? (function (t, e, r, n, i) { + var o = e[0].trace, + s = a.castOption( + o, + r, + "texttemplate", + ); + if (!s) return ""; + var l, + u, + f, + h, + p = "histogram" === o.type, + d = "waterfall" === o.type, + v = "funnel" === o.type, + g = "h" === o.orientation; + function y(t) { + return c(h, h.c2l(t), !0).text; + } + g + ? ((l = "y"), + (u = i), + (f = "x"), + (h = n)) + : ((l = "x"), + (u = n), + (f = "y"), + (h = i)); + var m, + x = e[r], + _ = {}; + (_.label = x.p), + (_.labelLabel = _[l + "Label"] = + ((m = x.p), + c(u, u.c2l(m), !0).text)); + var w = a.castOption( + o, + x.i, + "text", + ); + (0 === w || w) && (_.text = w), + (_.value = x.s), + (_.valueLabel = _[f + "Label"] = + y(x.s)); + var T = {}; + b(T, o, x.i), + (p || void 0 === T.x) && + (T.x = g ? _.value : _.label), + (p || void 0 === T.y) && + (T.y = g ? _.label : _.value), + (p || void 0 === T.xLabel) && + (T.xLabel = g + ? _.valueLabel + : _.labelLabel), + (p || void 0 === T.yLabel) && + (T.yLabel = g + ? _.labelLabel + : _.valueLabel), + d && + ((_.delta = +x.rawS || x.s), + (_.deltaLabel = y(_.delta)), + (_.final = x.v), + (_.finalLabel = y(_.final)), + (_.initial = _.final - _.delta), + (_.initialLabel = y( + _.initial, + ))), + v && + ((_.value = x.s), + (_.valueLabel = y(_.value)), + (_.percentInitial = x.begR), + (_.percentInitialLabel = + a.formatPercent(x.begR)), + (_.percentPrevious = x.difR), + (_.percentPreviousLabel = + a.formatPercent(x.difR)), + (_.percentTotal = x.sumR), + (_.percenTotalLabel = + a.formatPercent(x.sumR))); + var k = a.castOption( + o, + x.i, + "customdata", + ); + return ( + k && (_.customdata = k), + a.texttemplateString( + s, + _, + t._d3locale, + T, + _, + o._meta || {}, + ) + ); + })(t, e, r, n, i) + : s.textinfo + ? (function (t, e, r, n) { + var i = t[0].trace, + o = "h" === i.orientation, + s = "waterfall" === i.type, + l = "funnel" === i.type; + function u(t) { + return c(o ? r : n, +t, !0).text; + } + var f, + h, + p = i.textinfo, + d = t[e], + v = p.split("+"), + g = [], + y = function (t) { + return -1 !== v.indexOf(t); + }; + if ( + (y("label") && + g.push( + ((h = t[e].p), + c(o ? n : r, h, !0).text), + ), + y("text") && + (0 === + (f = a.castOption( + i, + d.i, + "text", + )) || + f) && + g.push(f), + s) + ) { + var m = +d.rawS || d.s, + x = d.v, + b = x - m; + y("initial") && g.push(u(b)), + y("delta") && g.push(u(m)), + y("final") && g.push(u(x)); + } + if (l) { + y("value") && g.push(u(d.s)); + var _ = 0; + y("percent initial") && _++, + y("percent previous") && _++, + y("percent total") && _++; + var w = _ > 1; + y("percent initial") && + ((f = a.formatPercent(d.begR)), + w && (f += " of initial"), + g.push(f)), + y("percent previous") && + ((f = a.formatPercent( + d.difR, + )), + w && (f += " of previous"), + g.push(f)), + y("percent total") && + ((f = a.formatPercent( + d.sumR, + )), + w && (f += " of total"), + g.push(f)); + } + return g.join("
"); + })(e, r, n, i) + : v.getValue(s.text, r)), + v.coerceString(m, o) + ); + })(C, n, i, T, M); + w = (function (t, e) { + var r = v.getValue(t.textposition, e); + return v.coerceEnumerated(x, r); + })(O, i); + var z = + "stack" === g.mode || "relative" === g.mode, + R = n[i], + F = !z || R._outmost; + if ( + D && + "none" !== w && + ((!R.isBlank && s !== u && f !== p) || + ("auto" !== w && "inside" !== w)) + ) { + var B = C.font, + N = d.getBarColor(n[i], O), + j = d.getInsideTextFont(O, i, B, N), + U = d.getOutsideTextFont(O, i, B), + V = r.datum(); + I + ? "log" === T.type && + V.s0 <= 0 && + (s = + T.range[0] < T.range[1] ? 0 : T._length) + : "log" === M.type && + V.s0 <= 0 && + (f = + M.range[0] < M.range[1] + ? M._length + : 0); + var H, + q, + G, + Z, + Y, + W = Math.abs(u - s) - 2 * _, + X = Math.abs(p - f) - 2 * _; + if ( + ("outside" === w && + (F || R.hasB || (w = "inside")), + "auto" === w && + (F + ? ((w = "inside"), + (H = P( + r, + D, + (Y = a.ensureUniformFontSize(t, j)), + )), + (G = (q = l.bBox(H.node())).width), + (Z = q.height), + G > 0 && + Z > 0 && + ((G <= W && Z <= X) || + (G <= X && Z <= W) || + (I + ? W >= G * (X / Z) + : X >= Z * (W / G))) + ? (w = "inside") + : ((w = "outside"), + H.remove(), + (H = null))) + : (w = "inside")), + !H) + ) { + var J = (H = P( + r, + D, + (Y = a.ensureUniformFontSize( + t, + "outside" === w ? U : j, + )), + )).attr("transform"); + if ( + (H.attr("transform", ""), + (G = (q = l.bBox(H.node())).width), + (Z = q.height), + H.attr("transform", J), + G <= 0 || Z <= 0) + ) + return void H.remove(); + } + var K, + $ = O.textangle; + (K = + "outside" === w + ? (function (t, e, r, n, i, a) { + var o, + s = !!a.isHorizontal, + l = !!a.constrained, + u = a.angle || 0, + c = i.width, + f = i.height, + h = Math.abs(e - t), + p = Math.abs(n - r); + o = s + ? p > 2 * _ + ? _ + : 0 + : h > 2 * _ + ? _ + : 0; + var d = 1; + l && + (d = s + ? Math.min(1, p / f) + : Math.min(1, h / c)); + var v = S(u), + g = E(i, v), + y = (s ? g.x : g.y) / 2, + m = (i.left + i.right) / 2, + x = (i.top + i.bottom) / 2, + b = (t + e) / 2, + w = (r + n) / 2, + T = 0, + A = 0, + M = s ? k(e, t) : k(r, n); + return ( + s + ? ((b = e - M * o), (T = M * y)) + : ((w = n + M * o), (A = -M * y)), + { + textX: m, + textY: x, + targetX: b, + targetY: w, + anchorX: T, + anchorY: A, + scale: d, + rotate: v, + } + ); + })(s, u, f, p, q, { + isHorizontal: I, + constrained: + "both" === O.constraintext || + "outside" === O.constraintext, + angle: $, + }) + : L(s, u, f, p, q, { + isHorizontal: I, + constrained: + "both" === O.constraintext || + "inside" === O.constraintext, + angle: $, + anchor: O.insidetextanchor, + })), + (K.fontSize = Y.size), + h( + "histogram" === O.type ? "bar" : O.type, + K, + C, + ), + (R.transform = K); + var Q = A(H, C, g, y); + a.setTransormAndDisplay(Q, K); + } else r.select("text").remove(); + })(t, e, I, r, p, N, j, U, V, g, y), + e.layerClipId && + l.hideOutsideRangePoint( + u, + I.select("text"), + w, + C, + f.xcalendar, + f.ycalendar, + ); + }); + var U = !1 === f.cliponaxis; + l.setClipUrl(u, U ? null : e.layerClipId, t); + }); + u.getComponentMethod("errorbars", "plot")(t, I, e, g); + }, + toMoveInsideBar: L, + }; + }, + 81974: function (t) { + "use strict"; + function e(t, e, r, n, i) { + var a = e.c2p(n ? t.s0 : t.p0, !0), + o = e.c2p(n ? t.s1 : t.p1, !0), + s = r.c2p(n ? t.p0 : t.s0, !0), + l = r.c2p(n ? t.p1 : t.s1, !0); + return i + ? [(a + o) / 2, (s + l) / 2] + : n + ? [o, (s + l) / 2] + : [(a + o) / 2, l]; + } + t.exports = function (t, r) { + var n, + i = t.cd, + a = t.xaxis, + o = t.yaxis, + s = i[0].trace, + l = "funnel" === s.type, + u = "h" === s.orientation, + c = []; + if (!1 === r) + for (n = 0; n < i.length; n++) i[n].selected = 0; + else + for (n = 0; n < i.length; n++) { + var f = i[n], + h = "ct" in f ? f.ct : e(f, a, o, u, l); + r.contains(h, !1, n, t) + ? (c.push({ + pointNumber: n, + x: a.c2d(f.x), + y: o.c2d(f.y), + }), + (f.selected = 1)) + : (f.selected = 0); + } + return c; + }; + }, + 61546: function (t, e, r) { + "use strict"; + t.exports = i; + var n = r(71828).distinctVals; + function i(t, e) { + (this.traces = t), + (this.sepNegVal = e.sepNegVal), + (this.overlapNoMerge = e.overlapNoMerge); + for ( + var r = 1 / 0, i = e.posAxis._id.charAt(0), a = [], o = 0; + o < t.length; + o++ + ) { + for (var s = t[o], l = 0; l < s.length; l++) { + var u = s[l], + c = u.p; + void 0 === c && (c = u[i]), void 0 !== c && a.push(c); + } + s[0] && s[0].width1 && (r = Math.min(s[0].width1, r)); + } + this.positions = a; + var f = n(a); + (this.distinctPositions = f.vals), + 1 === f.vals.length && r !== 1 / 0 + ? (this.minDiff = r) + : (this.minDiff = Math.min(f.minDiff, r)); + var h = (e.posAxis || {}).type; + ("category" !== h && "multicategory" !== h) || + (this.minDiff = 1), + (this.binWidth = this.minDiff), + (this.bins = {}); + } + (i.prototype.put = function (t, e) { + var r = this.getLabel(t, e), + n = this.bins[r] || 0; + return (this.bins[r] = n + e), n; + }), + (i.prototype.get = function (t, e) { + var r = this.getLabel(t, e); + return this.bins[r] || 0; + }), + (i.prototype.getLabel = function (t, e) { + return ( + (e < 0 && this.sepNegVal ? "v" : "^") + + (this.overlapNoMerge + ? t + : Math.round(t / this.binWidth)) + ); + }); + }, + 16688: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(7901), + a = r(91424), + o = r(71828), + s = r(73972), + l = r(72597).resizeText, + u = r(1486), + c = u.textfont, + f = u.insidetextfont, + h = u.outsidetextfont, + p = r(69383); + function d(t, e, r) { + a.pointStyle(t.selectAll("path"), e, r), v(t, e, r); + } + function v(t, e, r) { + t.selectAll("text").each(function (t) { + var i = n.select(this), + s = o.ensureUniformFontSize(r, g(i, t, e, r)); + a.font(i, s); + }); + } + function g(t, e, r, n) { + var i = n._fullLayout.font, + a = r.textfont; + if (t.classed("bartext-inside")) { + var o = _(e, r); + a = m(r, e.i, i, o); + } else t.classed("bartext-outside") && (a = x(r, e.i, i)); + return a; + } + function y(t, e, r) { + return b(c, t.textfont, e, r); + } + function m(t, e, r, n) { + var a = y(t, e, r); + return ( + (void 0 === t._input.textfont || + void 0 === t._input.textfont.color || + (Array.isArray(t.textfont.color) && + void 0 === t.textfont.color[e])) && + (a = { + color: i.contrast(n), + family: a.family, + size: a.size, + }), + b(f, t.insidetextfont, e, a) + ); + } + function x(t, e, r) { + var n = y(t, e, r); + return b(h, t.outsidetextfont, e, n); + } + function b(t, e, r, n) { + e = e || {}; + var i = p.getValue(e.family, r), + a = p.getValue(e.size, r), + o = p.getValue(e.color, r); + return { + family: p.coerceString(t.family, i, n.family), + size: p.coerceNumber(t.size, a, n.size), + color: p.coerceColor(t.color, o, n.color), + }; + } + function _(t, e) { + return "waterfall" === e.type + ? e[t.dir].marker.color + : t.mcc || t.mc || e.marker.color; + } + t.exports = { + style: function (t) { + var e = n + .select(t) + .selectAll("g.barlayer") + .selectAll("g.trace"); + l(t, e, "bar"); + var r = e.size(), + i = t._fullLayout; + e + .style("opacity", function (t) { + return t[0].trace.opacity; + }) + .each(function (t) { + (("stack" === i.barmode && r > 1) || + (0 === i.bargap && + 0 === i.bargroupgap && + !t[0].trace.marker.line.width)) && + n + .select(this) + .attr("shape-rendering", "crispEdges"); + }), + e.selectAll("g.points").each(function (e) { + d(n.select(this), e[0].trace, t); + }), + s.getComponentMethod("errorbars", "style")(e); + }, + styleTextPoints: v, + styleOnSelect: function (t, e, r) { + var i = e[0].trace; + i.selectedpoints + ? (function (t, e, r) { + a.selectedPointStyle(t.selectAll("path"), e), + (function (t, e, r) { + t.each(function (t) { + var i, + s = n.select(this); + if (t.selected) { + i = o.ensureUniformFontSize( + r, + g(s, t, e, r), + ); + var l = + e.selected.textfont && + e.selected.textfont.color; + l && (i.color = l), a.font(s, i); + } else a.selectedTextStyle(s, e); + }); + })(t.selectAll("text"), e, r); + })(r, i, t) + : (d(r, i, t), + s.getComponentMethod("errorbars", "style")(r)); + }, + getInsideTextFont: m, + getOutsideTextFont: x, + getBarColor: _, + resizeText: l, + }; + }, + 98340: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(52075).hasColorscale, + a = r(1586), + o = r(71828).coercePattern; + t.exports = function (t, e, r, s, l) { + var u = r("marker.color", s), + c = i(t, "marker"); + c && a(t, e, l, r, { prefix: "marker.", cLetter: "c" }), + r("marker.line.color", n.defaultLine), + i(t, "marker.line") && + a(t, e, l, r, { prefix: "marker.line.", cLetter: "c" }), + r("marker.line.width"), + r("marker.opacity"), + o(r, "marker.pattern", u, c), + r("selected.marker.color"), + r("unselected.marker.color"); + }; + }, + 72597: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828); + function a(t) { + return "_" + t + "Text_minsize"; + } + t.exports = { + recordMinTextSize: function (t, e, r) { + if (r.uniformtext.mode) { + var n = a(t), + i = r.uniformtext.minsize, + o = e.scale * e.fontSize; + (e.hide = o < i), + (r[n] = r[n] || 1 / 0), + e.hide || (r[n] = Math.min(r[n], Math.max(o, i))); + } + }, + clearMinTextSize: function (t, e) { + e[a(t)] = void 0; + }, + resizeText: function (t, e, r) { + var a = t._fullLayout, + o = a["_" + r + "Text_minsize"]; + if (o) { + var s, + l = "hide" === a.uniformtext.mode; + switch (r) { + case "funnelarea": + case "pie": + case "sunburst": + s = "g.slice"; + break; + case "treemap": + case "icicle": + s = "g.slice, g.pathbar"; + break; + default: + s = "g.points > g.point"; + } + e.selectAll(s).each(function (t) { + var e = t.transform; + if (e) { + e.scale = l && e.hide ? 0 : o / e.fontSize; + var r = n.select(this).select("text"); + i.setTransormAndDisplay(r, e); + } + }); + } + }, + }; + }, + 55023: function (t, e, r) { + "use strict"; + var n = r(5386).fF, + i = r(1426).extendFlat, + a = r(81245), + o = r(1486); + t.exports = { + r: a.r, + theta: a.theta, + r0: a.r0, + dr: a.dr, + theta0: a.theta0, + dtheta: a.dtheta, + thetaunit: a.thetaunit, + base: i({}, o.base, {}), + offset: i({}, o.offset, {}), + width: i({}, o.width, {}), + text: i({}, o.text, {}), + hovertext: i({}, o.hovertext, {}), + marker: o.marker, + hoverinfo: a.hoverinfo, + hovertemplate: n(), + selected: o.selected, + unselected: o.unselected, + }; + }, + 74692: function (t, e, r) { + "use strict"; + var n = r(52075).hasColorscale, + i = r(78803), + a = r(75341), + o = r(11661).setGroupPositions, + s = r(66279), + l = r(73972).traceIs, + u = r(71828).extendFlat; + t.exports = { + calc: function (t, e) { + for ( + var r = t._fullLayout, + o = e.subplot, + l = r[o].radialaxis, + u = r[o].angularaxis, + c = l.makeCalcdata(e, "r"), + f = u.makeCalcdata(e, "theta"), + h = e._length, + p = new Array(h), + d = c, + v = f, + g = 0; + g < h; + g++ + ) + p[g] = { p: v[g], s: d[g] }; + function y(t) { + var r = e[t]; + void 0 !== r && + (e["_" + t] = Array.isArray(r) + ? u.makeCalcdata(e, t) + : u.d2c(r, e.thetaunit)); + } + return ( + "linear" === u.type && (y("width"), y("offset")), + n(e, "marker") && + i(t, e, { + vals: e.marker.color, + containerStr: "marker", + cLetter: "c", + }), + n(e, "marker.line") && + i(t, e, { + vals: e.marker.line.color, + containerStr: "marker.line", + cLetter: "c", + }), + a(p, e), + s(p, e), + p + ); + }, + crossTraceCalc: function (t, e, r) { + for ( + var n = t.calcdata, i = [], a = 0; + a < n.length; + a++ + ) { + var s = n[a], + c = s[0].trace; + !0 === c.visible && + l(c, "bar") && + c.subplot === r && + i.push(s); + } + var f = u({}, e.radialaxis, { _id: "x" }), + h = e.angularaxis; + o(t, h, f, i, { + mode: e.barmode, + norm: e.barnorm, + gap: e.bargap, + groupgap: e.bargroupgap, + }); + }, + }; + }, + 6135: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(22184).handleRThetaDefaults, + a = r(98340), + o = r(55023); + t.exports = function (t, e, r, s) { + function l(r, i) { + return n.coerce(t, e, o, r, i); + } + i(t, e, s, l) + ? (l("thetaunit"), + l("base"), + l("offset"), + l("width"), + l("text"), + l("hovertext"), + l("hovertemplate"), + a(t, e, l, r, s), + n.coerceSelectionMarkerOpacity(e, l)) + : (e.visible = !1); + }; + }, + 27379: function (t, e, r) { + "use strict"; + var n = r(30211), + i = r(71828), + a = r(95423).getTraceColor, + o = i.fillText, + s = r(59150).makeHoverPointText, + l = r(10869).isPtInsidePolygon; + t.exports = function (t, e, r) { + var u = t.cd, + c = u[0].trace, + f = t.subplot, + h = f.radialAxis, + p = f.angularAxis, + d = f.vangles, + v = d ? l : i.isPtInsideSector, + g = t.maxHoverDistance, + y = p._period || 2 * Math.PI, + m = Math.abs(h.g2p(Math.sqrt(e * e + r * r))), + x = Math.atan2(r, e); + if ( + (h.range[0] > h.range[1] && (x += Math.PI), + n.getClosest( + u, + function (t) { + return v( + m, + x, + [t.rp0, t.rp1], + [t.thetag0, t.thetag1], + d, + ) + ? g + + Math.min( + 1, + Math.abs(t.thetag1 - t.thetag0) / y, + ) - + 1 + + (t.rp1 - m) / (t.rp1 - t.rp0) - + 1 + : 1 / 0; + }, + t, + ), + !1 !== t.index) + ) { + var b = u[t.index]; + (t.x0 = t.x1 = b.ct[0]), (t.y0 = t.y1 = b.ct[1]); + var _ = i.extendFlat({}, b, { r: b.s, theta: b.p }); + return ( + o(b, c, t), + s(_, c, f, t), + (t.hovertemplate = c.hovertemplate), + (t.color = a(c, b)), + (t.xLabelVal = t.yLabelVal = void 0), + b.s < 0 && (t.idealAlign = "left"), + [t] + ); + } + }; + }, + 23381: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "barpolar", + basePlotModule: r(23580), + categories: ["polar", "bar", "showLegend"], + attributes: r(55023), + layoutAttributes: r(40151), + supplyDefaults: r(6135), + supplyLayoutDefaults: r(19860), + calc: r(74692).calc, + crossTraceCalc: r(74692).crossTraceCalc, + plot: r(60173), + colorbar: r(4898), + formatLabels: r(98608), + style: r(16688).style, + styleOnSelect: r(16688).styleOnSelect, + hoverPoints: r(27379), + selectPoints: r(81974), + meta: {}, + }; + }, + 40151: function (t) { + "use strict"; + t.exports = { + barmode: { + valType: "enumerated", + values: ["stack", "overlay"], + dflt: "stack", + editType: "calc", + }, + bargap: { + valType: "number", + dflt: 0.1, + min: 0, + max: 1, + editType: "calc", + }, + }; + }, + 19860: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(40151); + t.exports = function (t, e, r) { + var a, + o = {}; + function s(r, o) { + return n.coerce(t[a] || {}, e[a], i, r, o); + } + for (var l = 0; l < r.length; l++) { + var u = r[l]; + "barpolar" === u.type && + !0 === u.visible && + (o[(a = u.subplot)] || + (s("barmode"), s("bargap"), (o[a] = 1))); + } + }; + }, + 60173: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = r(71828), + o = r(91424), + s = r(10869); + t.exports = function (t, e, r) { + var l = t._context.staticPlot, + u = e.xaxis, + c = e.yaxis, + f = e.radialAxis, + h = e.angularAxis, + p = (function (t) { + var e = t.cxx, + r = t.cyy; + return t.vangles + ? function (n, i, o, l) { + var u, c; + a.angleDelta(o, l) > 0 + ? ((u = o), (c = l)) + : ((u = l), (c = o)); + var f = [ + s.findEnclosingVertexAngles(u, t.vangles)[0], + (u + c) / 2, + s.findEnclosingVertexAngles(c, t.vangles)[1], + ]; + return s.pathPolygonAnnulus(n, i, u, c, f, e, r); + } + : function (t, n, i, o) { + return a.pathAnnulus(t, n, i, o, e, r); + }; + })(e), + d = e.layers.frontplot.select("g.barlayer"); + a.makeTraceGroups(d, r, "trace bars").each(function () { + var r = n.select(this), + s = a + .ensureSingle(r, "g", "points") + .selectAll("g.point") + .data(a.identity); + s + .enter() + .append("g") + .style( + "vector-effect", + l ? "none" : "non-scaling-stroke", + ) + .style("stroke-miterlimit", 2) + .classed("point", !0), + s.exit().remove(), + s.each(function (t) { + var e, + r = n.select(this), + o = (t.rp0 = f.c2p(t.s0)), + s = (t.rp1 = f.c2p(t.s1)), + l = (t.thetag0 = h.c2g(t.p0)), + d = (t.thetag1 = h.c2g(t.p1)); + if ( + i(o) && + i(s) && + i(l) && + i(d) && + o !== s && + l !== d + ) { + var v = f.c2g(t.s1), + g = (l + d) / 2; + (t.ct = [ + u.c2p(v * Math.cos(g)), + c.c2p(v * Math.sin(g)), + ]), + (e = p(o, s, l, d)); + } else e = "M0,0Z"; + a.ensureSingle(r, "path").attr("d", e); + }), + o.setClipUrl( + r, + e._hasClipOnAxisFalse ? e.clipIds.forTraces : null, + t, + ); + }); + }; + }, + 53522: function (t, e, r) { + "use strict"; + var n = r(82196), + i = r(1486), + a = r(22399), + o = r(12663).axisHoverFormat, + s = r(5386).fF, + l = r(1426).extendFlat, + u = n.marker, + c = u.line; + t.exports = { + 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" }, + dx: { valType: "number", editType: "calc" }, + dy: { valType: "number", editType: "calc" }, + xperiod: n.xperiod, + yperiod: n.yperiod, + xperiod0: n.xperiod0, + yperiod0: n.yperiod0, + xperiodalignment: n.xperiodalignment, + yperiodalignment: n.yperiodalignment, + xhoverformat: o("x"), + yhoverformat: o("y"), + name: { + valType: "string", + editType: "calc+clearAxisTypes", + }, + q1: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + median: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + q3: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + lowerfence: { valType: "data_array", editType: "calc" }, + upperfence: { valType: "data_array", editType: "calc" }, + notched: { valType: "boolean", editType: "calc" }, + notchwidth: { + valType: "number", + min: 0, + max: 0.5, + dflt: 0.25, + editType: "calc", + }, + notchspan: { valType: "data_array", editType: "calc" }, + boxpoints: { + valType: "enumerated", + values: ["all", "outliers", "suspectedoutliers", !1], + editType: "calc", + }, + jitter: { + valType: "number", + min: 0, + max: 1, + editType: "calc", + }, + pointpos: { + valType: "number", + min: -2, + max: 2, + editType: "calc", + }, + sdmultiple: { + valType: "number", + min: 0, + editType: "calc", + dflt: 1, + }, + sizemode: { + valType: "enumerated", + values: ["quartiles", "sd"], + editType: "calc", + dflt: "quartiles", + }, + boxmean: { + valType: "enumerated", + values: [!0, "sd", !1], + editType: "calc", + }, + mean: { valType: "data_array", editType: "calc" }, + sd: { valType: "data_array", editType: "calc" }, + orientation: { + valType: "enumerated", + values: ["v", "h"], + editType: "calc+clearAxisTypes", + }, + quartilemethod: { + valType: "enumerated", + values: ["linear", "exclusive", "inclusive"], + dflt: "linear", + editType: "calc", + }, + width: { + valType: "number", + min: 0, + dflt: 0, + editType: "calc", + }, + marker: { + outliercolor: { + valType: "color", + dflt: "rgba(0, 0, 0, 0)", + editType: "style", + }, + symbol: l({}, u.symbol, { + arrayOk: !1, + editType: "plot", + }), + opacity: l({}, u.opacity, { + arrayOk: !1, + dflt: 1, + editType: "style", + }), + angle: l({}, u.angle, { arrayOk: !1, editType: "calc" }), + size: l({}, u.size, { arrayOk: !1, editType: "calc" }), + color: l({}, u.color, { arrayOk: !1, editType: "style" }), + line: { + color: l({}, c.color, { + arrayOk: !1, + dflt: a.defaultLine, + editType: "style", + }), + width: l({}, c.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: n.fillcolor, + whiskerwidth: { + valType: "number", + min: 0, + max: 1, + dflt: 0.5, + editType: "calc", + }, + showwhiskers: { valType: "boolean", editType: "calc" }, + offsetgroup: i.offsetgroup, + alignmentgroup: i.alignmentgroup, + selected: { marker: n.selected.marker, editType: "style" }, + unselected: { + marker: n.unselected.marker, + editType: "style", + }, + text: l({}, n.text, {}), + hovertext: l({}, n.hovertext, {}), + hovertemplate: s({}), + hoveron: { + valType: "flaglist", + flags: ["boxes", "points"], + dflt: "boxes+points", + editType: "style", + }, + }; + }, + 48518: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(89298), + a = r(42973), + o = r(71828), + s = r(50606).BADNUM, + l = o._; + t.exports = function (t, e) { + var r, + u, + m, + x, + b, + _, + w, + T = t._fullLayout, + k = i.getFromId(t, e.xaxis || "x"), + A = i.getFromId(t, e.yaxis || "y"), + M = [], + S = "violin" === e.type ? "_numViolins" : "_numBoxes"; + "h" === e.orientation + ? ((m = k), + (x = "x"), + (b = A), + (_ = "y"), + (w = !!e.yperiodalignment)) + : ((m = A), + (x = "y"), + (b = k), + (_ = "x"), + (w = !!e.xperiodalignment)); + var E, + L, + C, + P, + O, + I, + D = (function (t, e, r, i) { + var s, + l = e + "0" in t; + if (e in t || (l && "d" + e in t)) { + var u = r.makeCalcdata(t, e); + return [a(t, r, e, u).vals, u]; + } + s = l + ? t[e + "0"] + : "name" in t && + ("category" === r.type || + (n(t.name) && + -1 !== ["linear", "log"].indexOf(r.type)) || + (o.isDateTime(t.name) && "date" === r.type)) + ? t.name + : i; + for ( + var c = + "multicategory" === r.type + ? r.r2c_just_indices(s) + : r.d2c(s, 0, t[e + "calendar"]), + f = t._length, + h = new Array(f), + p = 0; + p < f; + p++ + ) + h[p] = c; + return [h]; + })(e, _, b, T[S]), + z = D[0], + R = D[1], + F = o.distinctVals(z, b), + B = F.vals, + N = F.minDiff / 2, + j = + "all" === (e.boxpoints || e.points) + ? o.identity + : function (t) { + return t.v < E.lf || t.v > E.uf; + }; + if (e._hasPreCompStats) { + var U = e[x], + V = function (t) { + return m.d2c((e[t] || [])[r]); + }, + H = 1 / 0, + q = -1 / 0; + for (r = 0; r < e._length; r++) { + var G = z[r]; + if (n(G)) { + if ( + (((E = {}).pos = E[_] = G), + w && R && (E.orig_p = R[r]), + (E.q1 = V("q1")), + (E.med = V("median")), + (E.q3 = V("q3")), + (L = []), + U && o.isArrayOrTypedArray(U[r])) + ) + for (u = 0; u < U[r].length; u++) + (I = m.d2c(U[r][u])) !== s && + (c((O = { v: I, i: [r, u] }), e, [r, u]), + L.push(O)); + if ( + ((E.pts = L.sort(f)), + (P = (C = E[x] = L.map(h)).length), + E.med !== s && + E.q1 !== s && + E.q3 !== s && + E.med >= E.q1 && + E.q3 >= E.med) + ) { + var Z = V("lowerfence"); + E.lf = Z !== s && Z <= E.q1 ? Z : p(E, C, P); + var Y = V("upperfence"); + E.uf = Y !== s && Y >= E.q3 ? Y : d(E, C, P); + var W = V("mean"); + E.mean = + W !== s + ? W + : P + ? o.mean(C, P) + : (E.q1 + E.q3) / 2; + var X = V("sd"); + (E.sd = + W !== s && X >= 0 + ? X + : P + ? o.stdev(C, P, E.mean) + : E.q3 - E.q1), + (E.lo = v(E)), + (E.uo = g(E)); + var J = V("notchspan"); + (J = J !== s && J > 0 ? J : y(E, P)), + (E.ln = E.med - J), + (E.un = E.med + J); + var K = E.lf, + $ = E.uf; + e.boxpoints && + C.length && + ((K = Math.min(K, C[0])), + ($ = Math.max($, C[P - 1]))), + e.notched && + ((K = Math.min(K, E.ln)), + ($ = Math.max($, E.un))), + (E.min = K), + (E.max = $); + } else { + var Q; + o.warn( + [ + "Invalid input - make sure that q1 <= median <= q3", + "q1 = " + E.q1, + "median = " + E.med, + "q3 = " + E.q3, + ].join("\n"), + ), + (Q = + E.med !== s + ? E.med + : E.q1 !== s + ? E.q3 !== s + ? (E.q1 + E.q3) / 2 + : E.q1 + : E.q3 !== s + ? E.q3 + : 0), + (E.med = Q), + (E.q1 = E.q3 = Q), + (E.lf = E.uf = Q), + (E.mean = E.sd = Q), + (E.ln = E.un = Q), + (E.min = E.max = Q); + } + (H = Math.min(H, E.min)), + (q = Math.max(q, E.max)), + (E.pts2 = L.filter(j)), + M.push(E); + } + } + e._extremes[m._id] = i.findExtremes(m, [H, q], { + padded: !0, + }); + } else { + var tt = m.makeCalcdata(e, x), + et = (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; + })(B, N), + rt = B.length, + nt = (function (t) { + for (var e = new Array(t), r = 0; r < t; r++) + e[r] = []; + return e; + })(rt); + for (r = 0; r < e._length; r++) + if (((I = tt[r]), n(I))) { + var it = o.findBin(z[r], et); + it >= 0 && + it < rt && + (c((O = { v: I, i: r }), e, r), nt[it].push(O)); + } + var at = 1 / 0, + ot = -1 / 0, + st = e.quartilemethod, + lt = "exclusive" === st, + ut = "inclusive" === st; + for (r = 0; r < rt; r++) + if (nt[r].length > 0) { + var ct, ft; + ((E = {}).pos = E[_] = B[r]), + (L = E.pts = nt[r].sort(f)), + (P = (C = E[x] = L.map(h)).length), + (E.min = C[0]), + (E.max = C[P - 1]), + (E.mean = o.mean(C, P)), + (E.sd = o.stdev(C, P, E.mean) * e.sdmultiple), + (E.med = o.interp(C, 0.5)), + P % 2 && (lt || ut) + ? (lt + ? ((ct = C.slice(0, P / 2)), + (ft = C.slice(P / 2 + 1))) + : ut && + ((ct = C.slice(0, P / 2 + 1)), + (ft = C.slice(P / 2))), + (E.q1 = o.interp(ct, 0.5)), + (E.q3 = o.interp(ft, 0.5))) + : ((E.q1 = o.interp(C, 0.25)), + (E.q3 = o.interp(C, 0.75))), + (E.lf = p(E, C, P)), + (E.uf = d(E, C, P)), + (E.lo = v(E)), + (E.uo = g(E)); + var ht = y(E, P); + (E.ln = E.med - ht), + (E.un = E.med + ht), + (at = Math.min(at, E.ln)), + (ot = Math.max(ot, E.un)), + (E.pts2 = L.filter(j)), + M.push(E); + } + e._extremes[m._id] = i.findExtremes( + m, + e.notched ? tt.concat([at, ot]) : tt, + { padded: !0 }, + ); + } + return ( + (function (t, e) { + if (o.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; + o.tagSelected(n, e, i); + } + })(M, e), + M.length > 0 + ? ((M[0].t = { + num: T[S], + dPos: N, + posLetter: _, + valLetter: x, + labels: { + med: l(t, "median:"), + min: l(t, "min:"), + q1: l(t, "q1:"), + q3: l(t, "q3:"), + max: l(t, "max:"), + mean: + "sd" === e.boxmean || "sd" === e.sizemode + ? l(t, "mean ± σ:").replace( + "σ", + 1 === e.sdmultiple + ? "σ" + : e.sdmultiple + "σ", + ) + : l(t, "mean:"), + lf: l(t, "lower fence:"), + uf: l(t, "upper fence:"), + }, + }), + T[S]++, + M) + : [{ t: { empty: !0 } }] + ); + }; + var u = { text: "tx", hovertext: "htx" }; + function c(t, e, r) { + for (var n in u) + o.isArrayOrTypedArray(e[n]) && + (Array.isArray(r) + ? o.isArrayOrTypedArray(e[n][r[0]]) && + (t[u[n]] = e[n][r[0]][r[1]]) + : (t[u[n]] = e[n][r])); + } + function f(t, e) { + return t.v - e.v; + } + function h(t) { + return t.v; + } + function p(t, e, r) { + return 0 === r + ? t.q1 + : Math.min( + t.q1, + e[ + Math.min( + o.findBin(2.5 * t.q1 - 1.5 * t.q3, e, !0) + 1, + r - 1, + ) + ], + ); + } + function d(t, e, r) { + return 0 === r + ? t.q3 + : Math.max( + t.q3, + e[Math.max(o.findBin(2.5 * t.q3 - 1.5 * t.q1, e), 0)], + ); + } + function v(t) { + return 4 * t.q1 - 3 * t.q3; + } + function g(t) { + return 4 * t.q3 - 3 * t.q1; + } + function y(t, e) { + return 0 === e ? 0 : (1.57 * (t.q3 - t.q1)) / Math.sqrt(e); + } + }, + 37188: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(71828), + a = r(99082).getAxisGroup, + o = ["v", "h"]; + function s(t, e, r, o) { + var s, + l, + u, + c = e.calcdata, + f = e._fullLayout, + h = o._id, + p = h.charAt(0), + d = [], + v = 0; + for (s = 0; s < r.length; s++) + for (u = c[r[s]], l = 0; l < u.length; l++) + d.push(o.c2l(u[l].pos, !0)), + (v += (u[l].pts2 || []).length); + if (d.length) { + var g = i.distinctVals(d); + ("category" !== o.type && "multicategory" !== o.type) || + (g.minDiff = 1); + var y = g.minDiff / 2; + n.minDtick(o, g.minDiff, g.vals[0], !0); + var m = f["violin" === t ? "_numViolins" : "_numBoxes"], + x = "group" === f[t + "mode"] && m > 1, + b = 1 - f[t + "gap"], + _ = 1 - f[t + "groupgap"]; + for (s = 0; s < r.length; s++) { + var w, + T, + k, + A, + M, + S, + E = (u = c[r[s]])[0].trace, + L = u[0].t, + C = E.width, + P = E.side; + if (C) (w = T = A = C / 2), (k = 0); + else if (((w = y), x)) { + var O = a(f, o._id) + E.orientation, + I = + (f._alignmentOpts[O] || {})[E.alignmentgroup] || + {}, + D = Object.keys(I.offsetGroups || {}).length, + z = D || m; + (T = (w * b * _) / z), + (k = + 2 * + w * + (((D ? E._offsetIndex : L.num) + 0.5) / z - 0.5) * + b), + (A = (w * b) / z); + } else (T = w * b * _), (k = 0), (A = w); + (L.dPos = w), + (L.bPos = k), + (L.bdPos = T), + (L.wHover = A); + var R, + F, + B, + N, + j, + U, + V = k + T, + H = Boolean(C); + if ( + ("positive" === P + ? ((M = w * (C ? 1 : 0.5)), (R = V), (S = R = k)) + : "negative" === P + ? ((M = R = k), (S = w * (C ? 1 : 0.5)), (F = V)) + : ((M = S = w), (R = F = V)), + (E.boxpoints || E.points) && v > 0) + ) { + var q = E.pointpos, + G = E.jitter, + Z = E.marker.size / 2, + Y = 0; + q + G >= 0 && + ((Y = V * (q + G)) > M + ? ((H = !0), (j = Z), (B = Y)) + : Y > R && ((j = Z), (B = M))), + Y <= M && (B = M); + var W = 0; + q - G <= 0 && + ((W = -V * (q - G)) > S + ? ((H = !0), (U = Z), (N = W)) + : W > F && ((U = Z), (N = S))), + W <= S && (N = S); + } else (B = M), (N = S); + var X = new Array(u.length); + for (l = 0; l < u.length; l++) X[l] = u[l].pos; + E._extremes[h] = n.findExtremes(o, X, { + padded: H, + vpadminus: N, + vpadplus: B, + vpadLinearized: !0, + ppadminus: { x: U, y: j }[p], + ppadplus: { x: j, y: U }[p], + }); + } + } + } + t.exports = { + crossTraceCalc: function (t, e) { + for ( + var r = t.calcdata, n = e.xaxis, i = e.yaxis, a = 0; + a < o.length; + a++ + ) { + for ( + var l = o[a], u = "h" === l ? i : n, c = [], f = 0; + f < r.length; + f++ + ) { + var h = r[f], + p = h[0].t, + d = h[0].trace; + !0 !== d.visible || + ("box" !== d.type && "candlestick" !== d.type) || + p.empty || + (d.orientation || "v") !== l || + d.xaxis !== n._id || + d.yaxis !== i._id || + c.push(f); + } + s("box", t, c, u); + } + }, + setPositionOffset: s, + }; + }, + 36411: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(73972), + a = r(7901), + o = r(73927), + s = r(26125), + l = r(4322), + u = r(53522); + function c(t, e, r, a) { + function o(t) { + var e = 0; + return ( + t && + t.length && + ((e += 1), + n.isArrayOrTypedArray(t[0]) && + t[0].length && + (e += 1)), + e + ); + } + function s(e) { + return n.validate(t[e], u[e]); + } + var c, + f = r("y"), + h = r("x"); + if ("box" === e.type) { + var p = r("q1"), + d = r("median"), + v = r("q3"); + (e._hasPreCompStats = + p && p.length && d && d.length && v && v.length), + (c = Math.min( + n.minRowLength(p), + n.minRowLength(d), + n.minRowLength(v), + )); + } + var g, + y, + m = o(f), + x = o(h), + b = m && n.minRowLength(f), + _ = x && n.minRowLength(h), + w = a.calendar, + T = { autotypenumbers: a.autotypenumbers }; + if (e._hasPreCompStats) + switch (String(x) + String(m)) { + case "00": + var k = s("x0") || s("dx"); + (g = (!s("y0") && !s("dy")) || k ? "v" : "h"), + (y = c); + break; + case "10": + (g = "v"), (y = Math.min(c, _)); + break; + case "20": + (g = "h"), (y = Math.min(c, h.length)); + break; + case "01": + (g = "h"), (y = Math.min(c, b)); + break; + case "02": + (g = "v"), (y = Math.min(c, f.length)); + break; + case "12": + (g = "v"), (y = Math.min(c, _, f.length)); + break; + case "21": + (g = "h"), (y = Math.min(c, h.length, b)); + break; + case "11": + y = 0; + break; + case "22": + var A, + M = !1; + for (A = 0; A < h.length; A++) + if ("category" === l(h[A], w, T)) { + M = !0; + break; + } + if (M) (g = "v"), (y = Math.min(c, _, f.length)); + else { + for (A = 0; A < f.length; A++) + if ("category" === l(f[A], w, T)) { + M = !0; + break; + } + M + ? ((g = "h"), (y = Math.min(c, h.length, b))) + : ((g = "v"), (y = Math.min(c, _, f.length))); + } + } + else + m > 0 + ? ((g = "v"), + (y = x > 0 ? Math.min(_, b) : Math.min(b))) + : x > 0 + ? ((g = "h"), (y = Math.min(_))) + : (y = 0); + if (y) { + e._length = y; + var S = r("orientation", g); + e._hasPreCompStats + ? "v" === S && 0 === x + ? (r("x0", 0), r("dx", 1)) + : "h" === S && 0 === m && (r("y0", 0), r("dy", 1)) + : "v" === S && 0 === x + ? r("x0") + : "h" === S && 0 === m && r("y0"), + i.getComponentMethod( + "calendars", + "handleTraceDefaults", + )(t, e, ["x", "y"], a); + } else e.visible = !1; + } + function f(t, e, r, i) { + var a = i.prefix, + o = n.coerce2(t, e, u, "marker.outliercolor"), + s = r("marker.line.outliercolor"), + l = "outliers"; + e._hasPreCompStats + ? (l = "all") + : (o || s) && (l = "suspectedoutliers"); + var c = r(a + "points", l); + c + ? (r("jitter", "all" === c ? 0.3 : 0), + r("pointpos", "all" === c ? -1.5 : 0), + r("marker.symbol"), + r("marker.opacity"), + r("marker.size"), + r("marker.angle"), + r("marker.color", e.line.color), + r("marker.line.color"), + r("marker.line.width"), + "suspectedoutliers" === c && + (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"), + r("hovertext")) + : delete e.marker; + var f = r("hoveron"); + ("all" !== f && -1 === f.indexOf("points")) || + r("hovertemplate"), + n.coerceSelectionMarkerOpacity(e, r); + } + t.exports = { + supplyDefaults: function (t, e, r, i) { + function s(r, i) { + return n.coerce(t, e, u, r, i); + } + if ((c(t, e, s, i), !1 !== e.visible)) { + o(t, e, i, s), s("xhoverformat"), s("yhoverformat"); + var l = e._hasPreCompStats; + l && (s("lowerfence"), s("upperfence")), + s("line.color", (t.marker || {}).color || r), + s("line.width"), + s("fillcolor", a.addOpacity(e.line.color, 0.5)); + var h = !1; + if (l) { + var p = s("mean"), + d = s("sd"); + p && + p.length && + ((h = !0), d && d.length && (h = "sd")); + } + s("whiskerwidth"); + var v, + g = s("sizemode"); + "quartiles" === g && (v = s("boxmean", h)), + s("showwhiskers", "quartiles" === g), + ("sd" !== g && "sd" !== v) || s("sdmultiple"), + s("width"), + s("quartilemethod"); + var y = !1; + if (l) { + var m = s("notchspan"); + m && m.length && (y = !0); + } else + n.validate(t.notchwidth, u.notchwidth) && (y = !0); + s("notched", y) && s("notchwidth"), + f(t, e, s, { prefix: "box" }); + } + }, + crossTraceDefaults: function (t, e) { + var r, i; + function a(t) { + return n.coerce(i._input, i, u, t); + } + for (var o = 0; o < t.length; o++) { + var l = (i = t[o]).type; + ("box" !== l && "violin" !== l) || + ((r = i._input), + "group" === e[l + "mode"] && s(r, i, e, a)); + } + }, + handleSampleDefaults: c, + handlePointsDefaults: f, + }; + }, + 74907: function (t) { + "use strict"; + t.exports = function (t, e) { + return ( + e.hoverOnBox && (t.hoverOnBox = e.hoverOnBox), + "xVal" in e && (t.x = e.xVal), + "yVal" in e && (t.y = e.yVal), + e.xa && (t.xaxis = e.xa), + e.ya && (t.yaxis = e.ya), + t + ); + }; + }, + 41868: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(71828), + a = r(30211), + o = r(7901), + s = i.fillText; + function l(t, e, r, s) { + var l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + w = t.cd, + T = t.xa, + k = t.ya, + A = w[0].trace, + M = w[0].t, + S = "violin" === A.type, + E = M.bdPos, + L = M.wHover, + C = function (t) { + return c.c2l(t.pos) + M.bPos - c.c2l(p); + }; + S && "both" !== A.side + ? ("positive" === A.side && + ((g = function (t) { + var e = C(t); + return a.inbox(e, e + L, y); + }), + (x = E), + (b = 0)), + "negative" === A.side && + ((g = function (t) { + var e = C(t); + return a.inbox(e - L, e, y); + }), + (x = 0), + (b = E))) + : ((g = function (t) { + var e = C(t); + return a.inbox(e - L, e + L, y); + }), + (x = b = E)), + (_ = S + ? function (t) { + return a.inbox(t.span[0] - h, t.span[1] - h, y); + } + : function (t) { + return a.inbox(t.min - h, t.max - h, y); + }), + "h" === A.orientation + ? ((h = e), + (p = r), + (d = _), + (v = g), + (l = "y"), + (c = k), + (u = "x"), + (f = T)) + : ((h = r), + (p = e), + (d = g), + (v = _), + (l = "x"), + (c = T), + (u = "y"), + (f = k)); + var P = Math.min( + 1, + E / Math.abs(c.r2c(c.range[1]) - c.r2c(c.range[0])), + ); + function O(t) { + return (d(t) + v(t)) / 2; + } + (y = t.maxHoverDistance - P), (m = t.maxSpikeDistance - P); + var I = a.getDistanceFunction(s, d, v, O); + if ((a.getClosest(w, I, t), !1 === t.index)) return []; + var D = w[t.index], + z = A.line.color, + R = (A.marker || {}).color; + o.opacity(z) && A.line.width + ? (t.color = z) + : o.opacity(R) && A.boxpoints + ? (t.color = R) + : (t.color = A.fillcolor), + (t[l + "0"] = c.c2p(D.pos + M.bPos - b, !0)), + (t[l + "1"] = c.c2p(D.pos + M.bPos + x, !0)), + (t[l + "LabelVal"] = + void 0 !== D.orig_p ? D.orig_p : D.pos); + var F = l + "Spike"; + (t.spikeDistance = (O(D) * m) / y), + (t[F] = c.c2p(D.pos, !0)); + var B = + A.boxmean || + "sd" === A.sizemode || + (A.meanline || {}).visible, + N = A.boxpoints || A.points, + j = + N && B + ? [ + "max", + "uf", + "q3", + "med", + "mean", + "q1", + "lf", + "min", + ] + : N && !B + ? ["max", "uf", "q3", "med", "q1", "lf", "min"] + : !N && B + ? ["max", "q3", "med", "mean", "q1", "min"] + : ["max", "q3", "med", "q1", "min"], + U = f.range[1] < f.range[0]; + A.orientation === (U ? "v" : "h") && j.reverse(); + for ( + var V = t.spikeDistance, H = t[F], q = [], G = 0; + G < j.length; + G++ + ) { + var Z = j[G]; + if (Z in D) { + var Y = D[Z], + W = f.c2p(Y, !0), + X = i.extendFlat({}, t); + (X.attr = Z), + (X[u + "0"] = X[u + "1"] = W), + (X[u + "LabelVal"] = Y), + (X[u + "Label"] = + (M.labels ? M.labels[Z] + " " : "") + + n.hoverLabelText(f, Y, A[u + "hoverformat"])), + (X.hoverOnBox = !0), + "mean" !== Z || + !("sd" in D) || + ("sd" !== A.boxmean && "sd" !== A.sizemode) || + (X[u + "err"] = D.sd), + (X.hovertemplate = !1), + q.push(X); + } + } + (t.name = ""), (t.spikeDistance = void 0), (t[F] = void 0); + for (var J = 0; J < q.length; J++) + "med" !== q[J].attr + ? ((q[J].name = ""), + (q[J].spikeDistance = void 0), + (q[J][F] = void 0)) + : ((q[J].spikeDistance = V), (q[J][F] = H)); + return q; + } + function u(t, e, r) { + for ( + var n, + o, + l, + u = t.cd, + c = t.xa, + f = t.ya, + h = u[0].trace, + p = c.c2p(e), + d = f.c2p(r), + v = a.quadrature( + function (t) { + var e = Math.max(3, t.mrc || 0); + return Math.max( + Math.abs(c.c2p(t.x) - p) - e, + 1 - 3 / e, + ); + }, + function (t) { + var e = Math.max(3, t.mrc || 0); + return Math.max( + Math.abs(f.c2p(t.y) - d) - e, + 1 - 3 / e, + ); + }, + ), + g = !1, + y = 0; + y < u.length; + y++ + ) { + o = u[y]; + for (var m = 0; m < (o.pts || []).length; m++) { + var x = v((l = o.pts[m])); + x <= t.distance && ((t.distance = x), (g = [y, m])); + } + } + if (!g) return !1; + l = (o = u[g[0]]).pts[g[1]]; + var b = c.c2p(l.x, !0), + _ = f.c2p(l.y, !0), + w = l.mrc || 1; + n = i.extendFlat({}, t, { + index: l.i, + color: (h.marker || {}).color, + name: h.name, + x0: b - w, + x1: b + w, + y0: _ - w, + y1: _ + w, + spikeDistance: t.distance, + hovertemplate: h.hovertemplate, + }); + var T, + k = o.orig_p, + A = void 0 !== k ? k : o.pos; + return ( + "h" === h.orientation + ? ((T = f), (n.xLabelVal = l.x), (n.yLabelVal = A)) + : ((T = c), (n.xLabelVal = A), (n.yLabelVal = l.y)), + (n[T._id.charAt(0) + "Spike"] = T.c2p(o.pos, !0)), + s(l, h, n), + n + ); + } + t.exports = { + hoverPoints: function (t, e, r, n) { + var i, + a = t.cd[0].trace.hoveron, + o = []; + return ( + -1 !== a.indexOf("boxes") && + (o = o.concat(l(t, e, r, n))), + -1 !== a.indexOf("points") && (i = u(t, e, r)), + "closest" === n ? (i ? [i] : o) : i ? (o.push(i), o) : o + ); + }, + hoverOnBoxes: l, + hoverOnPoints: u, + }; + }, + 83832: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(53522), + layoutAttributes: r(40094), + supplyDefaults: r(36411).supplyDefaults, + crossTraceDefaults: r(36411).crossTraceDefaults, + supplyLayoutDefaults: r(4199).supplyLayoutDefaults, + calc: r(48518), + crossTraceCalc: r(37188).crossTraceCalc, + plot: r(86047).plot, + style: r(58063).style, + styleOnSelect: r(58063).styleOnSelect, + hoverPoints: r(41868).hoverPoints, + eventData: r(74907), + selectPoints: r(24626), + moduleType: "trace", + name: "box", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "symbols", + "oriented", + "box-violin", + "showLegend", + "boxLayout", + "zoomScale", + ], + meta: {}, + }; + }, + 40094: function (t) { + "use strict"; + t.exports = { + boxmode: { + valType: "enumerated", + values: ["group", "overlay"], + dflt: "overlay", + editType: "calc", + }, + boxgap: { + valType: "number", + min: 0, + max: 1, + dflt: 0.3, + editType: "calc", + }, + boxgroupgap: { + valType: "number", + min: 0, + max: 1, + dflt: 0.3, + editType: "calc", + }, + }; + }, + 4199: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(40094); + function o(t, e, r, i, a) { + for ( + var o = a + "Layout", s = !1, l = 0; + l < r.length; + l++ + ) { + var u = r[l]; + if (n.traceIs(u, o)) { + s = !0; + break; + } + } + s && (i(a + "mode"), i(a + "gap"), i(a + "groupgap")); + } + t.exports = { + supplyLayoutDefaults: function (t, e, r) { + o( + 0, + 0, + r, + function (r, n) { + return i.coerce(t, e, a, r, n); + }, + "box", + ); + }, + _supply: o, + }; + }, + 86047: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(91424); + function o(t, e, r, a, o) { + var s, + l, + u = "h" === r.orientation, + c = e.val, + f = e.pos, + h = !!f.rangebreaks, + p = a.bPos, + d = a.wdPos || 0, + v = a.bPosPxOffset || 0, + g = r.whiskerwidth || 0, + y = !1 !== r.showwhiskers, + m = r.notched || !1, + x = m ? 1 - 2 * r.notchwidth : 1; + Array.isArray(a.bdPos) + ? ((s = a.bdPos[0]), (l = a.bdPos[1])) + : ((s = a.bdPos), (l = a.bdPos)); + var b = t + .selectAll("path.box") + .data( + "violin" !== r.type || r.box.visible ? i.identity : [], + ); + b + .enter() + .append("path") + .style("vector-effect", o ? "none" : "non-scaling-stroke") + .attr("class", "box"), + b.exit().remove(), + b.each(function (t) { + if (t.empty) return "M0,0Z"; + var e = f.c2l(t.pos + p, !0), + a = f.l2p(e - s) + v, + o = f.l2p(e + l) + v, + b = h ? (a + o) / 2 : f.l2p(e) + v, + _ = r.whiskerwidth, + w = h ? a * _ + (1 - _) * b : f.l2p(e - d) + v, + T = h ? o * _ + (1 - _) * b : f.l2p(e + d) + v, + k = f.l2p(e - s * x) + v, + A = f.l2p(e + l * x) + v, + M = "sd" === r.sizemode, + S = c.c2p(M ? t.mean - t.sd : t.q1, !0), + E = M ? c.c2p(t.mean + t.sd, !0) : c.c2p(t.q3, !0), + L = i.constrain( + M ? c.c2p(t.mean, !0) : c.c2p(t.med, !0), + Math.min(S, E) + 1, + Math.max(S, E) - 1, + ), + C = void 0 === t.lf || !1 === r.boxpoints || M, + P = c.c2p(C ? t.min : t.lf, !0), + O = c.c2p(C ? t.max : t.uf, !0), + I = c.c2p(t.ln, !0), + D = c.c2p(t.un, !0); + u + ? n + .select(this) + .attr( + "d", + "M" + + L + + "," + + k + + "V" + + A + + "M" + + S + + "," + + a + + "V" + + o + + (m + ? "H" + + I + + "L" + + L + + "," + + A + + "L" + + D + + "," + + o + : "") + + "H" + + E + + "V" + + a + + (m + ? "H" + + D + + "L" + + L + + "," + + k + + "L" + + I + + "," + + a + : "") + + "Z" + + (y + ? "M" + + S + + "," + + b + + "H" + + P + + "M" + + E + + "," + + b + + "H" + + O + + (0 === g + ? "" + : "M" + + P + + "," + + w + + "V" + + T + + "M" + + O + + "," + + w + + "V" + + T) + : ""), + ) + : n + .select(this) + .attr( + "d", + "M" + + k + + "," + + L + + "H" + + A + + "M" + + a + + "," + + S + + "H" + + o + + (m + ? "V" + + I + + "L" + + A + + "," + + L + + "L" + + o + + "," + + D + : "") + + "V" + + E + + "H" + + a + + (m + ? "V" + + D + + "L" + + k + + "," + + L + + "L" + + a + + "," + + I + : "") + + "Z" + + (y + ? "M" + + b + + "," + + S + + "V" + + P + + "M" + + b + + "," + + E + + "V" + + O + + (0 === g + ? "" + : "M" + + w + + "," + + P + + "H" + + T + + "M" + + w + + "," + + O + + "H" + + T) + : ""), + ); + }); + } + function s(t, e, r, n) { + var o = e.x, + s = e.y, + l = n.bdPos, + u = n.bPos, + c = r.boxpoints || r.points; + i.seedPseudoRandom(); + var f = t.selectAll("g.points").data( + c + ? function (t) { + return ( + t.forEach(function (t) { + (t.t = n), (t.trace = r); + }), + t + ); + } + : [], + ); + f.enter().append("g").attr("class", "points"), + f.exit().remove(); + var h = f.selectAll("path").data(function (t) { + var e, + n, + a = t.pts2, + o = Math.max((t.max - t.min) / 10, t.q3 - t.q1), + s = 1e-9 * o, + f = 0.01 * o, + h = [], + p = 0; + if (r.jitter) { + if (0 === o) + for ( + p = 1, h = new Array(a.length), e = 0; + e < a.length; + e++ + ) + h[e] = 1; + else + for (e = 0; e < a.length; e++) { + var d = Math.max(0, e - 5), + v = a[d].v, + g = Math.min(a.length - 1, e + 5), + y = a[g].v; + "all" !== c && + (a[e].v < t.lf + ? (y = Math.min(y, t.lf)) + : (v = Math.max(v, t.uf))); + var m = Math.sqrt((f * (g - d)) / (y - v + s)) || 0; + (m = i.constrain(Math.abs(m), 0, 1)), + h.push(m), + (p = Math.max(m, p)); + } + n = (2 * r.jitter) / (p || 1); + } + for (e = 0; e < a.length; e++) { + var x = a[e], + b = x.v, + _ = r.jitter + ? n * h[e] * (i.pseudoRandom() - 0.5) + : 0, + w = t.pos + u + l * (r.pointpos + _); + "h" === r.orientation + ? ((x.y = w), (x.x = b)) + : ((x.x = w), (x.y = b)), + "suspectedoutliers" === c && + b < t.uo && + b > t.lo && + (x.so = !0); + } + return a; + }); + h.enter().append("path").classed("point", !0), + h.exit().remove(), + h.call(a.translatePoints, o, s); + } + function l(t, e, r, a) { + var o, + s, + l = e.val, + u = e.pos, + c = !!u.rangebreaks, + f = a.bPos, + h = a.bPosPxOffset || 0, + p = r.boxmean || (r.meanline || {}).visible; + Array.isArray(a.bdPos) + ? ((o = a.bdPos[0]), (s = a.bdPos[1])) + : ((o = a.bdPos), (s = a.bdPos)); + var d = t + .selectAll("path.mean") + .data( + ("box" === r.type && r.boxmean) || + ("violin" === r.type && + r.box.visible && + r.meanline.visible) + ? i.identity + : [], + ); + d + .enter() + .append("path") + .attr("class", "mean") + .style({ + fill: "none", + "vector-effect": "non-scaling-stroke", + }), + d.exit().remove(), + d.each(function (t) { + var e = u.c2l(t.pos + f, !0), + i = u.l2p(e - o) + h, + a = u.l2p(e + s) + h, + d = c ? (i + a) / 2 : u.l2p(e) + h, + v = l.c2p(t.mean, !0), + g = l.c2p(t.mean - t.sd, !0), + y = l.c2p(t.mean + t.sd, !0); + "h" === r.orientation + ? n + .select(this) + .attr( + "d", + "M" + + v + + "," + + i + + "V" + + a + + ("sd" === p + ? "m0,0L" + + g + + "," + + d + + "L" + + v + + "," + + i + + "L" + + y + + "," + + d + + "Z" + : ""), + ) + : n + .select(this) + .attr( + "d", + "M" + + i + + "," + + v + + "H" + + a + + ("sd" === p + ? "m0,0L" + + d + + "," + + g + + "L" + + i + + "," + + v + + "L" + + d + + "," + + y + + "Z" + : ""), + ); + }); + } + t.exports = { + plot: function (t, e, r, a) { + var u = t._context.staticPlot, + c = e.xaxis, + f = e.yaxis; + i.makeTraceGroups(a, r, "trace boxes").each(function (t) { + var e, + r, + i = n.select(this), + a = t[0], + h = a.t, + p = a.trace; + (h.wdPos = h.bdPos * p.whiskerwidth), + !0 !== p.visible || h.empty + ? i.remove() + : ("h" === p.orientation + ? ((e = f), (r = c)) + : ((e = c), (r = f)), + o(i, { pos: e, val: r }, p, h, u), + s(i, { x: c, y: f }, p, h), + l(i, { pos: e, val: r }, p, h)); + }); + }, + plotBoxAndWhiskers: o, + plotPoints: s, + plotBoxMean: l, + }; + }, + 24626: function (t) { + "use strict"; + t.exports = 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], null, l.i, t) + ? (s.push({ + pointNumber: l.i, + x: a.c2d(l.x), + y: o.c2d(l.y), + }), + (l.selected = 1)) + : (l.selected = 0); + } + return s; + }; + }, + 58063: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(7901), + a = r(91424); + t.exports = { + style: function (t, e, r) { + var o = r || n.select(t).selectAll("g.trace.boxes"); + o.style("opacity", function (t) { + return t[0].trace.opacity; + }), + o.each(function (e) { + var r = n.select(this), + o = e[0].trace, + s = o.line.width; + function l(t, e, r, n) { + t.style("stroke-width", e + "px") + .call(i.stroke, r) + .call(i.fill, n); + } + var u = r.selectAll("path.box"); + if ("candlestick" === o.type) + u.each(function (t) { + if (!t.empty) { + var e = n.select(this), + r = o[t.dir]; + l(e, r.line.width, r.line.color, r.fillcolor), + e.style( + "opacity", + o.selectedpoints && !t.selected ? 0.3 : 1, + ); + } + }); + else { + l(u, s, o.line.color, o.fillcolor), + r + .selectAll("path.mean") + .style({ + "stroke-width": s, + "stroke-dasharray": 2 * s + "px," + s + "px", + }) + .call(i.stroke, o.line.color); + var c = r.selectAll("path.point"); + a.pointStyle(c, o, t); + } + }); + }, + styleOnSelect: function (t, e, r) { + var n = e[0].trace, + i = r.selectAll("path.point"); + n.selectedpoints + ? a.selectedPointStyle(i, n) + : a.pointStyle(i, n, t); + }, + }; + }, + 75343: function (t, e, r) { + "use strict"; + var n = r(71828).extendFlat, + i = r(12663).axisHoverFormat, + a = r(2522), + o = r(53522); + function s(t) { + return { + line: { + color: n({}, o.line.color, { dflt: t }), + width: o.line.width, + editType: "style", + }, + fillcolor: o.fillcolor, + editType: "style", + }; + } + t.exports = { + xperiod: a.xperiod, + xperiod0: a.xperiod0, + xperiodalignment: a.xperiodalignment, + xhoverformat: i("x"), + yhoverformat: i("y"), + x: a.x, + open: a.open, + high: a.high, + low: a.low, + close: a.close, + line: { width: n({}, o.line.width, {}), editType: "style" }, + increasing: s(a.increasing.line.color.dflt), + decreasing: s(a.decreasing.line.color.dflt), + text: a.text, + hovertext: a.hovertext, + whiskerwidth: n({}, o.whiskerwidth, { dflt: 0 }), + hoverlabel: a.hoverlabel, + }; + }, + 41197: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(42973), + o = r(3485).calcCommon; + function s(t, e, r, n) { + return { + min: r, + q1: Math.min(t, n), + med: n, + q3: Math.max(t, n), + max: e, + }; + } + t.exports = function (t, e) { + var r = t._fullLayout, + l = i.getFromId(t, e.xaxis), + u = i.getFromId(t, e.yaxis), + c = l.makeCalcdata(e, "x"), + f = a(e, l, "x", c).vals, + h = o(t, e, c, f, u, s); + return h.length + ? (n.extendFlat(h[0].t, { + num: r._numBoxes, + dPos: n.distinctVals(f).minDiff / 2, + posLetter: "x", + valLetter: "y", + }), + r._numBoxes++, + h) + : [{ t: { empty: !0 } }]; + }; + }, + 1026: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(14555), + o = r(73927), + s = r(75343); + function l(t, e, r, n) { + var a = r(n + ".line.color"); + r(n + ".line.width", e.line.width), + r(n + ".fillcolor", i.addOpacity(a, 0.5)); + } + t.exports = function (t, e, r, i) { + function u(r, i) { + return n.coerce(t, e, s, r, i); + } + a(t, e, u, i) + ? (o(t, e, i, u, { x: !0 }), + u("xhoverformat"), + u("yhoverformat"), + u("line.width"), + l(0, e, u, "increasing"), + l(0, e, u, "decreasing"), + u("text"), + u("hovertext"), + u("whiskerwidth"), + (i._requestRangeslider[e.xaxis] = !0)) + : (e.visible = !1); + }; + }, + 91815: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "candlestick", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "showLegend", + "candlestick", + "boxLayout", + ], + meta: {}, + attributes: r(75343), + layoutAttributes: r(40094), + supplyLayoutDefaults: r(4199).supplyLayoutDefaults, + crossTraceCalc: r(37188).crossTraceCalc, + supplyDefaults: r(1026), + calc: r(41197), + plot: r(86047).plot, + layerName: "boxlayer", + style: r(58063).style, + hoverPoints: r(66449).hoverPoints, + selectPoints: r(67324), + }; + }, + 13145: function (t, e, r) { + "use strict"; + var n = r(11500), + i = r(44467); + t.exports = function (t, e, r, a, o) { + a("a") || (a("da"), a("a0")), + a("b") || (a("db"), a("b0")), + (function (t, e, r, a) { + ["aaxis", "baxis"].forEach(function (o) { + var s = o.charAt(0), + l = t[o] || {}, + u = i.newContainer(e, o), + c = { + noTicklabelstep: !0, + tickfont: "x", + id: s + "axis", + letter: s, + font: e.font, + name: o, + data: t[s], + calendar: e.calendar, + dfltColor: a, + bgColor: r.paper_bgcolor, + autotypenumbersDflt: r.autotypenumbers, + fullLayout: r, + }; + n(l, u, c), + (u._categories = u._categories || []), + t[o] || "-" === l.type || (t[o] = { type: l.type }); + }); + })(t, e, r, o); + }; + }, + 402: function (t, e, r) { + "use strict"; + var n = r(71828).isArrayOrTypedArray; + function i(t, e) { + if (!n(t) || e >= 10) return null; + for ( + var r = 1 / 0, a = -1 / 0, o = t.length, s = 0; + s < o; + s++ + ) { + var l = t[s]; + if (n(l)) { + var u = i(l, e + 1); + u && ((r = Math.min(u[0], r)), (a = Math.max(u[1], a))); + } else (r = Math.min(l, r)), (a = Math.max(l, a)); + } + return [r, a]; + } + t.exports = function (t) { + return i(t, 0); + }; + }, + 99798: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(1928), + a = r(22399), + o = n({ editType: "calc" }); + (o.family.dflt = '"Open Sans", verdana, arial, sans-serif'), + (o.size.dflt = 12), + (o.color.dflt = a.defaultLine), + (t.exports = { + 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: i, + baxis: i, + font: o, + color: { + valType: "color", + dflt: a.defaultLine, + editType: "plot", + }, + transforms: void 0, + }); + }, + 4536: function (t, e, r) { + "use strict"; + var n = r(71828).isArrayOrTypedArray; + t.exports = function (t, e, r, i) { + var a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m = n(r) ? "a" : "b", + x = ("a" === m ? t.aaxis : t.baxis).smoothing, + b = "a" === m ? t.a2i : t.b2j, + _ = "a" === m ? r : i, + w = "a" === m ? i : r, + T = "a" === m ? e.a.length : e.b.length, + k = "a" === m ? e.b.length : e.a.length, + A = Math.floor("a" === m ? t.b2j(w) : t.a2i(w)), + M = + "a" === m + ? function (e) { + return t.evalxy([], e, A); + } + : function (e) { + return t.evalxy([], A, e); + }; + x && + ((s = Math.max(0, Math.min(k - 2, A))), + (l = A - s), + (o = + "a" === m + ? function (e, r) { + return t.dxydi([], e, s, r, l); + } + : function (e, r) { + return t.dxydj([], s, e, l, r); + })); + var S = b(_[0]), + E = b(_[1]), + L = S < E ? 1 : -1, + C = 1e-8 * (E - S), + P = L > 0 ? Math.floor : Math.ceil, + O = L > 0 ? Math.ceil : Math.floor, + I = L > 0 ? Math.min : Math.max, + D = L > 0 ? Math.max : Math.min, + z = P(S + C), + R = O(E - C), + F = [[(f = M(S))]]; + for (a = z; a * L < R * L; a += L) + (u = []), + (v = D(S, a)), + (y = (g = I(E, a + L)) - v), + (c = Math.max( + 0, + Math.min(T - 2, Math.floor(0.5 * (v + g))), + )), + (h = M(g)), + x && + ((p = o(c, v - c)), + (d = o(c, g - c)), + u.push([ + f[0] + (p[0] / 3) * y, + f[1] + (p[1] / 3) * y, + ]), + u.push([ + h[0] - (d[0] / 3) * y, + h[1] - (d[1] / 3) * y, + ])), + u.push(h), + F.push(u), + (f = h); + return F; + }; + }, + 1928: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(22399), + a = r(13838), + o = r(12663).descriptionWithDates, + s = r(30962).overrideAll, + l = r(79952).P, + u = r(1426).extendFlat; + t.exports = { + color: { valType: "color", editType: "calc" }, + smoothing: { + valType: "number", + dflt: 1, + min: 0, + max: 1.3, + editType: "calc", + }, + title: { + text: { valType: "string", dflt: "", editType: "calc" }, + font: n({ editType: "calc" }), + offset: { valType: "number", dflt: 10, editType: "calc" }, + editType: "calc", + }, + type: { + valType: "enumerated", + values: ["-", "linear", "date", "category"], + dflt: "-", + editType: "calc", + }, + autotypenumbers: a.autotypenumbers, + 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", + }, + labelalias: u({}, a.labelalias, { editType: "calc" }), + tickfont: n({ 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", + }, + minexponent: { + valType: "number", + dflt: 3, + min: 0, + editType: "calc", + }, + separatethousands: { + valType: "boolean", + dflt: !1, + editType: "calc", + }, + tickformat: { + valType: "string", + dflt: "", + editType: "calc", + description: o("tick label"), + }, + tickformatstops: s(a.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: i.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", + }, + griddash: u({}, l, { 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", + }, + minorgriddash: u({}, l, { editType: "calc" }), + minorgridcolor: { + valType: "color", + dflt: i.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", + }, + _deprecated: { + title: { valType: "string", editType: "calc" }, + titlefont: n({ editType: "calc" }), + titleoffset: { + valType: "number", + dflt: 10, + editType: "calc", + }, + }, + editType: "calc", + }; + }, + 11500: function (t, e, r) { + "use strict"; + var n = r(99798), + i = r(7901).addOpacity, + a = r(73972), + o = r(71828), + s = r(26218), + l = r(96115), + u = r(89426), + c = r(15258), + f = r(21994), + h = r(4322); + t.exports = function (t, e, r) { + var p = r.letter, + d = r.font || {}, + v = n[p + "axis"]; + function g(r, n) { + return o.coerce(t, e, v, r, n); + } + function y(r, n) { + return o.coerce2(t, e, v, r, n); + } + r.name && ((e._name = r.name), (e._id = r.name)), + g("autotypenumbers", r.autotypenumbersDflt); + var m = g("type"); + "-" === m && + (r.data && + (function (t, e) { + if ("-" === t.type) { + var r = t._id.charAt(0), + n = t[r + "calendar"]; + t.type = h(e, n, { + autotypenumbers: t.autotypenumbers, + }); + } + })(e, r.data), + "-" === e.type + ? (e.type = "linear") + : (m = t.type = e.type)), + g("smoothing"), + g("cheatertype"), + g("showticklabels"), + g("labelprefix", p + " = "), + g("labelsuffix"), + g("showtickprefix"), + g("showticksuffix"), + g("separatethousands"), + g("tickformat"), + g("exponentformat"), + g("minexponent"), + g("showexponent"), + g("categoryorder"), + g("tickmode"), + g("tickvals"), + g("ticktext"), + g("tick0"), + g("dtick"), + "array" === e.tickmode && + (g("arraytick0"), g("arraydtick")), + g("labelpadding"), + (e._hovertitle = p), + "date" === m && + a.getComponentMethod("calendars", "handleDefaults")( + t, + e, + "calendar", + r.calendar, + ), + f(e, r.fullLayout), + (e.c2p = o.identity); + var x = g("color", r.dfltColor), + b = x === t.color ? x : d.color; + g("title.text") && + (o.coerceFont(g, "title.font", { + family: d.family, + size: o.bigFont(d.size), + color: b, + }), + g("title.offset")), + g("tickangle"), + g("autorange", !e.isValidRange(t.range)) && + g("rangemode"), + g("range"), + e.cleanRange(), + g("fixedrange"), + s(t, e, g, m), + u(t, e, g, m, r), + l(t, e, g, m, r), + c(t, e, g, { data: r.data, dataAttr: p }); + var _ = y("gridcolor", i(x, 0.3)), + w = y("gridwidth"), + T = y("griddash"), + k = g("showgrid"); + k || + (delete e.gridcolor, + delete e.gridwidth, + delete e.griddash); + var A = y("startlinecolor", x), + M = y("startlinewidth", w); + g("startline", e.showgrid || !!A || !!M) || + (delete e.startlinecolor, delete e.startlinewidth); + var S = y("endlinecolor", x), + E = y("endlinewidth", w); + return ( + g("endline", e.showgrid || !!S || !!E) || + (delete e.endlinecolor, delete e.endlinewidth), + k + ? (g("minorgridcount"), + g("minorgridwidth", w), + g("minorgriddash", T), + g("minorgridcolor", i(_, 0.06)), + e.minorgridcount || + (delete e.minorgridwidth, + delete e.minorgriddash, + delete e.minorgridcolor)) + : (delete e.gridcolor, + delete e.gridwidth, + delete e.griddash), + "none" === e.showticklabels && + (delete e.tickfont, + delete e.tickangle, + delete e.showexponent, + delete e.exponentformat, + delete e.minexponent, + delete e.tickformat, + delete e.showticksuffix, + delete e.showtickprefix), + e.showticksuffix || delete e.ticksuffix, + e.showtickprefix || delete e.tickprefix, + g("tickmode"), + e + ); + }; + }, + 25281: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(71828).isArray1D, + a = r(53824), + o = r(402), + s = r(20347), + l = r(83311), + u = r(44807), + c = r(4742), + f = r(72505), + h = r(68296), + p = r(11435); + t.exports = function (t, e) { + var r = n.getFromId(t, e.xaxis), + d = n.getFromId(t, e.yaxis), + v = e.aaxis, + g = e.baxis, + y = e.x, + m = e.y, + x = []; + y && i(y) && x.push("x"), + m && i(m) && x.push("y"), + x.length && h(e, v, g, "a", "b", x); + var b = (e._a = e._a || e.a), + _ = (e._b = e._b || e.b); + (y = e._x || e.x), (m = e._y || e.y); + var w = {}; + if (e._cheater) { + var T = "index" === v.cheatertype ? b.length : b, + k = "index" === g.cheatertype ? _.length : _; + y = a(T, k, e.cheaterslope); + } + (e._x = y = c(y)), + (e._y = m = c(m)), + f(y, b, _), + f(m, b, _), + p(e), + e.setScale(); + var A = o(y), + M = o(m), + S = 0.5 * (A[1] - A[0]), + E = 0.5 * (A[1] + A[0]), + L = 0.5 * (M[1] - M[0]), + C = 0.5 * (M[1] + M[0]), + P = 1.3; + return ( + (A = [E - S * P, E + S * P]), + (M = [C - L * P, C + L * P]), + (e._extremes[r._id] = n.findExtremes(r, A, { + padded: !0, + })), + (e._extremes[d._id] = n.findExtremes(d, M, { + padded: !0, + })), + s(e, "a", "b"), + s(e, "b", "a"), + l(e, v), + l(e, g), + (w.clipsegments = u(e._xctrl, e._yctrl, v, g)), + (w.x = y), + (w.y = m), + (w.a = b), + (w.b = _), + [w] + ); + }; + }, + 44807: function (t) { + "use strict"; + t.exports = function (t, e, r, n) { + var i, + a, + o, + s = [], + l = !!r.smoothing, + u = !!n.smoothing, + c = t[0].length - 1, + f = 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 <= f; + 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[f][i]), (o[c - i] = e[f][i]); + for ( + s.push({ x: a, y: o, bicubic: l }), i = f, a = [], o = []; + i >= 0; + i-- + ) + (a[f - i] = t[i][0]), (o[f - i] = e[i][0]); + return s.push({ x: a, y: o, bicubic: u }), s; + }; + }, + 20347: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(1426).extendFlat; + t.exports = function (t, e, r) { + var a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x = t["_" + e], + b = t[e + "axis"], + _ = (b._gridlines = []), + w = (b._minorgridlines = []), + T = (b._boundarylines = []), + k = t["_" + r], + A = t[r + "axis"]; + "array" === b.tickmode && (b.tickvals = x.slice()); + var M = t._xctrl, + S = t._yctrl, + E = M[0].length, + L = M.length, + C = t._a.length, + P = t._b.length; + n.prepTicks(b), "array" === b.tickmode && delete b.tickvals; + var O = b.smoothing ? 3 : 1; + function I(n) { + var i, + a, + o, + s, + l, + u, + c, + f, + p, + d, + v, + g, + y = [], + m = [], + x = {}; + if ("b" === e) + for ( + a = t.b2j(n), + o = Math.floor(Math.max(0, Math.min(P - 2, a))), + s = a - o, + x.length = P, + x.crossLength = C, + x.xy = function (e) { + return t.evalxy([], e, a); + }, + x.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)), + y.push(l[0] + p[0] / 3), + m.push(l[1] + p[1] / 3), + (d = t.dxydi([], i - 1, o, 1, s)), + y.push(f[0] - d[0] / 3), + m.push(f[1] - d[1] / 3)), + y.push(f[0]), + m.push(f[1]), + (l = f); + else + for ( + i = t.a2i(n), + u = Math.floor(Math.max(0, Math.min(C - 2, i))), + c = i - u, + x.length = C, + x.crossLength = P, + x.xy = function (e) { + return t.evalxy([], i, e); + }, + x.dxy = function (e, r) { + return t.dxydj([], u, e, c, r); + }, + a = 0; + a < P; + a++ + ) + (o = Math.min(P - 2, a)), + (s = a - o), + (f = t.evalxy([], i, a)), + A.smoothing && + a > 0 && + ((v = t.dxydj([], u, a - 1, c, 0)), + y.push(l[0] + v[0] / 3), + m.push(l[1] + v[1] / 3), + (g = t.dxydj([], u, a - 1, c, 1)), + y.push(f[0] - g[0] / 3), + m.push(f[1] - g[1] / 3)), + y.push(f[0]), + m.push(f[1]), + (l = f); + return ( + (x.axisLetter = e), + (x.axis = b), + (x.crossAxis = A), + (x.value = n), + (x.constvar = r), + (x.index = h), + (x.x = y), + (x.y = m), + (x.smoothing = A.smoothing), + x + ); + } + function D(n) { + var i, + a, + o, + s, + l, + u = [], + c = [], + f = {}; + if ( + ((f.length = x.length), + (f.crossLength = k.length), + "b" === e) + ) + for ( + o = Math.max(0, Math.min(P - 2, n)), + l = Math.min(1, Math.max(0, n - o)), + f.xy = function (e) { + return t.evalxy([], e, n); + }, + f.dxy = function (e, r) { + return t.dxydi([], e, o, r, l); + }, + i = 0; + i < E; + i++ + ) + (u[i] = M[n * O][i]), (c[i] = S[n * O][i]); + else + for ( + a = Math.max(0, Math.min(C - 2, n)), + s = Math.min(1, Math.max(0, n - a)), + f.xy = function (e) { + return t.evalxy([], n, e); + }, + f.dxy = function (e, r) { + return t.dxydj([], a, e, s, r); + }, + i = 0; + i < L; + i++ + ) + (u[i] = M[i][n * O]), (c[i] = S[i][n * O]); + return ( + (f.axisLetter = e), + (f.axis = b), + (f.crossAxis = A), + (f.value = x[n]), + (f.constvar = r), + (f.index = n), + (f.x = u), + (f.y = c), + (f.smoothing = A.smoothing), + f + ); + } + if ("array" === b.tickmode) { + for ( + l = 5e-15, + c = + (u = [ + Math.floor( + ((x.length - 1 - b.arraytick0) / b.arraydtick) * + (1 + l), + ), + Math.ceil(-b.arraytick0 / b.arraydtick / (1 + l)), + ].sort(function (t, e) { + return t - e; + }))[0] - 1, + f = u[1] + 1, + h = c; + h < f; + h++ + ) + (o = b.arraytick0 + b.arraydtick * h) < 0 || + o > x.length - 1 || + _.push( + i(D(o), { + color: b.gridcolor, + width: b.gridwidth, + dash: b.griddash, + }), + ); + for (h = c; h < f; h++) + if ( + ((s = b.arraytick0 + b.arraydtick * h), + (v = Math.min(s + b.arraydtick, x.length - 1)), + !( + s < 0 || + s > x.length - 1 || + v < 0 || + v > x.length - 1 + )) + ) + for ( + g = x[s], y = x[v], a = 0; + a < b.minorgridcount; + a++ + ) + (m = v - s) <= 0 || + (d = + g + + (((y - g) * (a + 1)) / (b.minorgridcount + 1)) * + (b.arraydtick / m)) < x[0] || + d > x[x.length - 1] || + w.push( + i(I(d), { + color: b.minorgridcolor, + width: b.minorgridwidth, + dash: b.minorgriddash, + }), + ); + b.startline && + T.push( + i(D(0), { + color: b.startlinecolor, + width: b.startlinewidth, + }), + ), + b.endline && + T.push( + i(D(x.length - 1), { + color: b.endlinecolor, + width: b.endlinewidth, + }), + ); + } else { + for ( + l = 5e-15, + c = (u = [ + Math.floor( + ((x[x.length - 1] - b.tick0) / b.dtick) * (1 + l), + ), + Math.ceil((x[0] - b.tick0) / b.dtick / (1 + l)), + ].sort(function (t, e) { + return t - e; + }))[0], + f = u[1], + h = c; + h <= f; + h++ + ) + (p = b.tick0 + b.dtick * h), + _.push( + i(I(p), { + color: b.gridcolor, + width: b.gridwidth, + dash: b.griddash, + }), + ); + for (h = c - 1; h < f + 1; h++) + for ( + p = b.tick0 + b.dtick * h, a = 0; + a < b.minorgridcount; + a++ + ) + (d = + p + (b.dtick * (a + 1)) / (b.minorgridcount + 1)) < + x[0] || + d > x[x.length - 1] || + w.push( + i(I(d), { + color: b.minorgridcolor, + width: b.minorgridwidth, + dash: b.minorgriddash, + }), + ); + b.startline && + T.push( + i(I(x[0]), { + color: b.startlinecolor, + width: b.startlinewidth, + }), + ), + b.endline && + T.push( + i(I(x[x.length - 1]), { + color: b.endlinecolor, + width: b.endlinewidth, + }), + ); + } + }; + }, + 83311: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(1426).extendFlat; + t.exports = function (t, e) { + var r, + a, + o, + s = (e._labels = []), + l = e._gridlines; + for (r = 0; r < l.length; r++) + (o = l[r]), + -1 !== ["start", "both"].indexOf(e.showticklabels) && + ((a = n.tickText(e, o.value)), + i(a, { + prefix: void 0, + suffix: void 0, + endAnchor: !0, + xy: o.xy(0), + dxy: o.dxy(0, 0), + axis: o.axis, + length: o.crossAxis.length, + font: o.axis.tickfont, + isFirst: 0 === r, + isLast: r === l.length - 1, + }), + s.push(a)), + -1 !== ["end", "both"].indexOf(e.showticklabels) && + ((a = n.tickText(e, o.value)), + i(a, { + endAnchor: !1, + xy: o.xy(o.crossLength - 1), + dxy: o.dxy(o.crossLength - 2, 1), + axis: o.axis, + length: o.crossAxis.length, + font: o.axis.tickfont, + isFirst: 0 === r, + isLast: r === l.length - 1, + }), + s.push(a)); + }; + }, + 42048: function (t) { + "use strict"; + t.exports = 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, 0.25), + u = Math.pow(o * o + s * s, 0.25), + c = (u * u * i - l * l * o) * n, + f = (u * u * a - l * l * s) * n, + h = u * (l + u) * 3, + p = l * (l + u) * 3; + return [ + [e[0] + (h && c / h), e[1] + (h && f / h)], + [e[0] - (p && c / p), e[1] - (p && f / p)], + ]; + }; + }, + 53824: function (t, e, r) { + "use strict"; + var n = r(71828).isArrayOrTypedArray; + t.exports = function (t, e, r) { + var i, + a, + o, + s, + l, + u, + c = [], + f = n(t) ? t.length : t, + h = n(e) ? e.length : e, + p = n(t) ? t : null, + d = n(e) ? e : null; + p && + (o = (p.length - 1) / (p[p.length - 1] - p[0]) / (f - 1)), + d && + (s = + (d.length - 1) / (d[d.length - 1] - d[0]) / (h - 1)); + var v = 1 / 0, + g = -1 / 0; + for (a = 0; a < h; a++) + for ( + c[a] = [], + l = d ? (d[a] - d[0]) * s : a / (h - 1), + i = 0; + i < f; + i++ + ) + (u = (p ? (p[i] - p[0]) * o : i / (f - 1)) - l * r), + (v = Math.min(u, v)), + (g = Math.max(u, g)), + (c[a][i] = u); + var y = 1 / (g - v), + m = -v * y; + for (a = 0; a < h; a++) + for (i = 0; i < f; i++) c[a][i] = y * c[a][i] + m; + return c; + }; + }, + 45664: function (t, e, r) { + "use strict"; + var n = r(42048), + i = r(71828).ensureArray; + function a(t, e, r) { + var n = -0.5 * r[0] + 1.5 * e[0], + i = -0.5 * r[1] + 1.5 * e[1]; + return [(2 * n + t[0]) / 3, (2 * i + t[1]) / 3]; + } + t.exports = function (t, e, r, o, s, l) { + var u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x = r[0].length, + b = r.length, + _ = s ? 3 * x - 2 : x, + w = l ? 3 * b - 2 : b; + for (t = i(t, w), e = i(e, w), f = 0; f < w; f++) + (t[f] = i(t[f], _)), (e[f] = i(e[f], _)); + for (c = 0, h = 0; c < b; c++, h += l ? 3 : 1) + for ( + p = t[h], d = e[h], v = r[c], g = o[c], u = 0, f = 0; + u < x; + u++, f += s ? 3 : 1 + ) + (p[f] = v[u]), (d[f] = g[u]); + if (s) + for (c = 0, h = 0; c < b; c++, h += l ? 3 : 1) { + for (u = 1, f = 3; u < x - 1; u++, f += 3) + (y = n( + [r[c][u - 1], o[c][u - 1]], + [r[c][u], o[c][u]], + [r[c][u + 1], o[c][u + 1]], + s, + )), + (t[h][f - 1] = y[0][0]), + (e[h][f - 1] = y[0][1]), + (t[h][f + 1] = y[1][0]), + (e[h][f + 1] = y[1][1]); + (m = a( + [t[h][0], e[h][0]], + [t[h][2], e[h][2]], + [t[h][3], e[h][3]], + )), + (t[h][1] = m[0]), + (e[h][1] = m[1]), + (m = a( + [t[h][_ - 1], e[h][_ - 1]], + [t[h][_ - 3], e[h][_ - 3]], + [t[h][_ - 4], e[h][_ - 4]], + )), + (t[h][_ - 2] = m[0]), + (e[h][_ - 2] = m[1]); + } + if (l) + for (f = 0; f < _; f++) { + for (h = 3; h < w - 3; h += 3) + (y = n( + [t[h - 3][f], e[h - 3][f]], + [t[h][f], e[h][f]], + [t[h + 3][f], e[h + 3][f]], + l, + )), + (t[h - 1][f] = y[0][0]), + (e[h - 1][f] = y[0][1]), + (t[h + 1][f] = y[1][0]), + (e[h + 1][f] = y[1][1]); + (m = a( + [t[0][f], e[0][f]], + [t[2][f], e[2][f]], + [t[3][f], e[3][f]], + )), + (t[1][f] = m[0]), + (e[1][f] = m[1]), + (m = a( + [t[w - 1][f], e[w - 1][f]], + [t[w - 3][f], e[w - 3][f]], + [t[w - 4][f], e[w - 4][f]], + )), + (t[w - 2][f] = m[0]), + (e[w - 2][f] = m[1]); + } + if (s && l) + for (h = 1; h < w; h += (h + 1) % 3 == 0 ? 2 : 1) { + for (f = 3; f < _ - 3; f += 3) + (y = n( + [t[h][f - 3], e[h][f - 3]], + [t[h][f], e[h][f]], + [t[h][f + 3], e[h][f + 3]], + s, + )), + (t[h][f - 1] = 0.5 * (t[h][f - 1] + y[0][0])), + (e[h][f - 1] = 0.5 * (e[h][f - 1] + y[0][1])), + (t[h][f + 1] = 0.5 * (t[h][f + 1] + y[1][0])), + (e[h][f + 1] = 0.5 * (e[h][f + 1] + y[1][1])); + (m = a( + [t[h][0], e[h][0]], + [t[h][2], e[h][2]], + [t[h][3], e[h][3]], + )), + (t[h][1] = 0.5 * (t[h][1] + m[0])), + (e[h][1] = 0.5 * (e[h][1] + m[1])), + (m = a( + [t[h][_ - 1], e[h][_ - 1]], + [t[h][_ - 3], e[h][_ - 3]], + [t[h][_ - 4], e[h][_ - 4]], + )), + (t[h][_ - 2] = 0.5 * (t[h][_ - 2] + m[0])), + (e[h][_ - 2] = 0.5 * (e[h][_ - 2] + m[1])); + } + return [t, e]; + }; + }, + 35509: function (t) { + "use strict"; + t.exports = { RELATIVE_CULL_TOLERANCE: 1e-6 }; + }, + 54495: function (t) { + "use strict"; + t.exports = function (t, e, r) { + return e && r + ? function (e, r, n, i, a) { + var o, s, l, u, c, f; + e || (e = []), (r *= 3), (n *= 3); + var h = i * i, + p = 1 - i, + d = p * p, + v = p * i * 2, + g = -3 * d, + y = 3 * (d - v), + m = 3 * (v - h), + x = 3 * h, + b = a * a, + _ = b * a, + w = 1 - a, + T = w * w, + k = T * w; + for (f = 0; f < t.length; f++) + (o = + g * (c = t[f])[n][r] + + y * c[n][r + 1] + + m * c[n][r + 2] + + x * c[n][r + 3]), + (s = + g * c[n + 1][r] + + y * c[n + 1][r + 1] + + m * c[n + 1][r + 2] + + x * c[n + 1][r + 3]), + (l = + g * c[n + 2][r] + + y * c[n + 2][r + 1] + + m * c[n + 2][r + 2] + + x * c[n + 2][r + 3]), + (u = + g * c[n + 3][r] + + y * c[n + 3][r + 1] + + m * c[n + 3][r + 2] + + x * c[n + 3][r + 3]), + (e[f] = + k * o + 3 * (T * a * s + w * b * l) + _ * u); + return e; + } + : e + ? function (e, r, n, i, a) { + var o, s, l, u; + e || (e = []), (r *= 3); + var c = i * i, + f = 1 - i, + h = f * f, + p = f * i * 2, + d = -3 * h, + v = 3 * (h - p), + g = 3 * (p - c), + y = 3 * c, + m = 1 - a; + for (l = 0; l < t.length; l++) + (o = + d * (u = t[l])[n][r] + + v * u[n][r + 1] + + g * u[n][r + 2] + + y * u[n][r + 3]), + (s = + d * u[n + 1][r] + + v * u[n + 1][r + 1] + + g * u[n + 1][r + 2] + + y * u[n + 1][r + 3]), + (e[l] = m * o + a * s); + return e; + } + : r + ? function (e, r, n, i, a) { + var o, s, l, u, c, f; + e || (e = []), (n *= 3); + var h = a * a, + p = h * a, + d = 1 - a, + v = d * d, + g = v * d; + for (c = 0; c < t.length; c++) + (o = (f = t[c])[n][r + 1] - f[n][r]), + (s = f[n + 1][r + 1] - f[n + 1][r]), + (l = f[n + 2][r + 1] - f[n + 2][r]), + (u = f[n + 3][r + 1] - f[n + 3][r]), + (e[c] = + g * o + 3 * (v * a * s + d * h * l) + p * u); + return e; + } + : function (e, r, n, i, a) { + var o, s, l, u; + e || (e = []); + var c = 1 - a; + for (l = 0; l < t.length; l++) + (o = (u = t[l])[n][r + 1] - u[n][r]), + (s = u[n + 1][r + 1] - u[n + 1][r]), + (e[l] = c * o + a * s); + return e; + }; + }; + }, + 73057: function (t) { + "use strict"; + t.exports = function (t, e, r) { + return e && r + ? function (e, r, n, i, a) { + var o, s, l, u, c, f; + e || (e = []), (r *= 3), (n *= 3); + var h = i * i, + p = h * i, + d = 1 - i, + v = d * d, + g = v * d, + y = a * a, + m = 1 - a, + x = m * m, + b = m * a * 2, + _ = -3 * x, + w = 3 * (x - b), + T = 3 * (b - y), + k = 3 * y; + for (f = 0; f < t.length; f++) + (o = + _ * (c = t[f])[n][r] + + w * c[n + 1][r] + + T * c[n + 2][r] + + k * c[n + 3][r]), + (s = + _ * c[n][r + 1] + + w * c[n + 1][r + 1] + + T * c[n + 2][r + 1] + + k * c[n + 3][r + 1]), + (l = + _ * c[n][r + 2] + + w * c[n + 1][r + 2] + + T * c[n + 2][r + 2] + + k * c[n + 3][r + 2]), + (u = + _ * c[n][r + 3] + + w * c[n + 1][r + 3] + + T * c[n + 2][r + 3] + + k * c[n + 3][r + 3]), + (e[f] = + g * o + 3 * (v * i * s + d * h * l) + p * u); + return e; + } + : e + ? function (e, r, n, i, a) { + var o, s, l, u, c, f; + e || (e = []), (r *= 3); + var h = a * a, + p = h * a, + d = 1 - a, + v = d * d, + g = v * d; + for (c = 0; c < t.length; c++) + (o = (f = t[c])[n + 1][r] - f[n][r]), + (s = f[n + 1][r + 1] - f[n][r + 1]), + (l = f[n + 1][r + 2] - f[n][r + 2]), + (u = f[n + 1][r + 3] - f[n][r + 3]), + (e[c] = + g * o + 3 * (v * a * s + d * h * 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, + f = a * a, + h = 1 - a, + p = h * h, + d = h * a * 2, + v = -3 * p, + g = 3 * (p - d), + y = 3 * (d - f), + m = 3 * f; + for (l = 0; l < t.length; l++) + (o = + v * (u = t[l])[n][r] + + g * u[n + 1][r] + + y * u[n + 2][r] + + m * u[n + 3][r]), + (s = + v * u[n][r + 1] + + g * u[n + 1][r + 1] + + y * u[n + 2][r + 1] + + m * 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; + }; + }; + }, + 20349: function (t) { + "use strict"; + t.exports = 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, f; + e || (e = []); + var h = 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 - h)), + v = Math.max(0, Math.min(1, n - p)); + (h *= 3), (p *= 3); + var g = d * d, + y = g * d, + m = 1 - d, + x = m * m, + b = x * m, + _ = v * v, + w = _ * v, + T = 1 - v, + k = T * T, + A = k * T; + for (f = 0; f < t.length; f++) + (i = + b * (c = t[f])[p][h] + + 3 * (x * d * c[p][h + 1] + m * g * c[p][h + 2]) + + y * c[p][h + 3]), + (s = + b * c[p + 1][h] + + 3 * + (x * d * c[p + 1][h + 1] + + m * g * c[p + 1][h + 2]) + + y * c[p + 1][h + 3]), + (l = + b * c[p + 2][h] + + 3 * + (x * d * c[p + 2][h + 1] + + m * g * c[p + 2][h + 2]) + + y * c[p + 2][h + 3]), + (u = + b * c[p + 3][h] + + 3 * + (x * d * c[p + 3][h + 1] + + m * g * c[p + 3][h + 2]) + + y * c[p + 3][h + 3]), + (e[f] = + A * i + 3 * (k * v * s + T * _ * l) + w * u); + return e; + } + : n + ? function (e, r, n) { + e || (e = []); + var i, + s, + l, + u, + c, + f, + h = 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 - h)), + v = Math.max(0, Math.min(1, n - p)); + h *= 3; + var g = d * d, + y = g * d, + m = 1 - d, + x = m * m, + b = x * m, + _ = 1 - v; + for (c = 0; c < t.length; c++) + (i = _ * (f = t[c])[p][h] + v * f[p + 1][h]), + (s = _ * f[p][h + 1] + v * f[p + 1][h + 1]), + (l = _ * f[p][h + 2] + v * f[p + 1][h + 1]), + (u = _ * f[p][h + 3] + v * f[p + 1][h + 1]), + (e[c] = + b * i + 3 * (x * d * s + m * g * l) + y * u); + return e; + } + : i + ? function (e, r, n) { + e || (e = []); + var i, + s, + l, + u, + c, + f, + h = 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 - h)), + v = Math.max(0, Math.min(1, n - p)); + p *= 3; + var g = v * v, + y = g * v, + m = 1 - v, + x = m * m, + b = x * m, + _ = 1 - d; + for (c = 0; c < t.length; c++) + (i = _ * (f = t[c])[p][h] + d * f[p][h + 1]), + (s = _ * f[p + 1][h] + d * f[p + 1][h + 1]), + (l = _ * f[p + 2][h] + d * f[p + 2][h + 1]), + (u = _ * f[p + 3][h] + d * f[p + 3][h + 1]), + (e[c] = + b * i + 3 * (x * v * s + m * g * l) + y * u); + return e; + } + : function (e, r, n) { + e || (e = []); + var i, + s, + l, + u, + c = Math.max(0, Math.min(Math.floor(r), a)), + f = Math.max(0, Math.min(Math.floor(n), o)), + h = Math.max(0, Math.min(1, r - c)), + p = Math.max(0, Math.min(1, n - f)), + d = 1 - p, + v = 1 - h; + for (l = 0; l < t.length; l++) + (i = v * (u = t[l])[f][c] + h * u[f][c + 1]), + (s = v * u[f + 1][c] + h * u[f + 1][c + 1]), + (e[l] = d * i + p * s); + return e; + }; + }; + }, + 92087: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(19237), + a = r(13145), + o = r(99798), + s = r(22399); + t.exports = function (t, e, r, l) { + function u(r, i) { + return n.coerce(t, e, o, r, i); + } + e._clipPathId = "clip" + e.uid + "carpet"; + var c = u("color", s.defaultLine); + n.coerceFont(u, "font"), + u("carpet"), + a(t, e, l, u, c), + e.a && e.b + ? (e.a.length < 3 && (e.aaxis.smoothing = 0), + e.b.length < 3 && (e.baxis.smoothing = 0), + i(t, e, u) || (e.visible = !1), + e._cheater && u("cheaterslope")) + : (e.visible = !1); + }; + }, + 21462: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(99798), + supplyDefaults: r(92087), + plot: r(89740), + calc: r(25281), + animatable: !0, + isContainer: !0, + moduleType: "trace", + name: "carpet", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "carpet", + "carpetAxis", + "notLegendIsolatable", + "noMultiCategory", + "noHover", + "noSortingByValue", + ], + meta: {}, + }; + }, + 22882: function (t) { + "use strict"; + t.exports = 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; + }; + }, + 67961: function (t) { + "use strict"; + t.exports = 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"); + }; + }, + 27669: function (t, e, r) { + "use strict"; + var n = r(71828).isArrayOrTypedArray; + t.exports = function (t, e, r) { + var i; + for ( + n(t) + ? t.length > e.length && (t = t.slice(0, e.length)) + : (t = []), + i = 0; + i < e.length; + i++ + ) + t[i] = r(e[i]); + return t; + }; + }, + 11651: function (t) { + "use strict"; + t.exports = 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]), + f = Math.sqrt(a[0] * a[0] + a[1] * a[1]), + h = (i[0] * a[0] + i[1] * a[1]) / c / f; + u = Math.max(0, h); + } + 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, + } + ); + }; + }, + 89740: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(91424), + a = r(27669), + o = r(67961), + s = r(11651), + l = r(63893), + u = r(71828), + c = u.strRotate, + f = u.strTranslate, + h = r(18783); + function p(t, e, r, s, l, u, c) { + var f = "const-" + l + "-lines", + h = r.selectAll("." + f).data(u); + h + .enter() + .append("path") + .classed(f, !0) + .style( + "vector-effect", + c ? "none" : "non-scaling-stroke", + ), + h.each(function (r) { + var s = r, + l = s.x, + u = s.y, + c = a([], l, t.c2p), + f = a([], u, e.c2p), + h = "M" + o(c, f, s.smoothing); + n.select(this) + .attr("d", h) + .style("stroke-width", s.width) + .style("stroke", s.color) + .style( + "stroke-dasharray", + i.dashStyle(s.dash, s.width), + ) + .style("fill", "none"); + }), + h.exit().remove(); + } + function d(t, e, r, a, o, u, h, p) { + var d = u.selectAll("text." + p).data(h); + d.enter().append("text").classed(p, !0); + var v = 0, + g = {}; + return ( + d.each(function (o, u) { + var h; + if ("auto" === o.axis.tickangle) + h = s(a, e, r, o.xy, o.dxy); + else { + var p = ((o.axis.tickangle + 180) * Math.PI) / 180; + h = s(a, e, r, o.xy, [Math.cos(p), Math.sin(p)]); + } + u || (g = { angle: h.angle, flip: h.flip }); + var d = (o.endAnchor ? -1 : 1) * h.flip, + y = n + .select(this) + .attr({ + "text-anchor": d > 0 ? "start" : "end", + "data-notex": 1, + }) + .call(i.font, o.font) + .text(o.text) + .call(l.convertToTspans, t), + m = i.bBox(this); + y.attr( + "transform", + f(h.p[0], h.p[1]) + + c(h.angle) + + f(o.axis.labelpadding * d, 0.3 * m.height), + ), + (v = Math.max(v, m.width + o.axis.labelpadding)); + }), + d.exit().remove(), + (g.maxExtent = v), + g + ); + } + t.exports = function (t, e, r, i) { + var l = t._context.staticPlot, + c = e.xaxis, + f = e.yaxis, + h = t._fullLayout._clips; + u.makeTraceGroups(i, r, "trace").each(function (e) { + var r = n.select(this), + i = e[0], + v = i.trace, + g = v.aaxis, + m = v.baxis, + x = u.ensureSingle(r, "g", "minorlayer"), + b = u.ensureSingle(r, "g", "majorlayer"), + _ = u.ensureSingle(r, "g", "boundarylayer"), + w = u.ensureSingle(r, "g", "labellayer"); + r.style("opacity", v.opacity), + p(c, f, b, 0, "a", g._gridlines, !0), + p(c, f, b, 0, "b", m._gridlines, !0), + p(c, f, x, 0, "a", g._minorgridlines, !0), + p(c, f, x, 0, "b", m._minorgridlines, !0), + p(c, f, _, 0, "a-boundary", g._boundarylines, l), + p(c, f, _, 0, "b-boundary", m._boundarylines, l); + var T = d(t, c, f, v, 0, w, g._labels, "a-label"), + k = d(t, c, f, v, 0, w, m._labels, "b-label"); + !(function (t, e, r, n, i, a, o, l) { + var c, + f, + h, + p, + d = u.aggNums(Math.min, null, r.a), + v = u.aggNums(Math.max, null, r.a), + g = u.aggNums(Math.min, null, r.b), + m = u.aggNums(Math.max, null, r.b); + (c = 0.5 * (d + v)), + (f = g), + (h = r.ab2xy(c, f, !0)), + (p = r.dxyda_rough(c, f)), + void 0 === o.angle && + u.extendFlat(o, s(r, i, a, h, r.dxydb_rough(c, f))), + y(t, e, r, 0, h, p, r.aaxis, i, a, o, "a-title"), + (c = d), + (f = 0.5 * (g + m)), + (h = r.ab2xy(c, f, !0)), + (p = r.dxydb_rough(c, f)), + void 0 === l.angle && + u.extendFlat(l, s(r, i, a, h, r.dxyda_rough(c, f))), + y(t, e, r, 0, h, p, r.baxis, i, a, l, "b-title"); + })(t, w, v, 0, c, f, T, k), + (function (t, e, r, n, i) { + var s, + l, + c, + f, + h = r.select("#" + t._clipPathId); + h.size() || + (h = r + .append("clipPath") + .classed("carpetclip", !0)); + var p = u.ensureSingle(h, "path", "carpetboundary"), + d = e.clipsegments, + v = []; + for (f = 0; f < d.length; f++) + (s = d[f]), + (l = a([], s.x, n.c2p)), + (c = a([], s.y, i.c2p)), + v.push(o(l, c, s.bicubic)); + var g = "M" + v.join("L") + "Z"; + h.attr("id", t._clipPathId), p.attr("d", g); + })(v, i, h, c, f); + }); + }; + var v = h.LINE_SPACING, + g = (1 - h.MID_SHIFT) / v + 1; + function y(t, e, r, a, o, u, h, p, d, y, m) { + var x = []; + h.title.text && x.push(h.title.text); + var b = e.selectAll("text." + m).data(x), + _ = y.maxExtent; + b.enter().append("text").classed(m, !0), + b.each(function () { + var e = s(r, p, d, o, u); + -1 === ["start", "both"].indexOf(h.showticklabels) && + (_ = 0); + var a = h.title.font.size; + _ += a + h.title.offset; + var m = + (y.angle + (y.flip < 0 ? 180 : 0) - e.angle + 450) % + 360, + x = m > 90 && m < 270, + b = n.select(this); + b.text(h.title.text).call(l.convertToTspans, t), + x && (_ = (-l.lineCount(b) + g) * v * a - _), + b + .attr( + "transform", + f(e.p[0], e.p[1]) + c(e.angle) + f(0, _), + ) + .attr("text-anchor", "middle") + .call(i.font, h.title.font); + }), + b.exit().remove(); + } + }, + 11435: function (t, e, r) { + "use strict"; + var n = r(35509), + i = r(65888).findBin, + a = r(45664), + o = r(20349), + s = r(54495), + l = r(73057); + t.exports = function (t) { + var e = t._a, + r = t._b, + u = e.length, + c = r.length, + f = t.aaxis, + h = t.baxis, + p = e[0], + d = e[u - 1], + v = r[0], + g = r[c - 1], + y = e[e.length - 1] - e[0], + m = r[r.length - 1] - r[0], + x = y * n.RELATIVE_CULL_TOLERANCE, + b = m * n.RELATIVE_CULL_TOLERANCE; + (p -= x), + (d += x), + (v -= b), + (g += b), + (t.isVisible = function (t, e) { + return t > p && t < d && e > v && e < g; + }), + (t.isOccluded = function (t, e) { + return t < p || t > d || e < v || e > g; + }), + (t.setScale = function () { + var e = t._x, + r = t._y, + n = a( + t._xctrl, + t._yctrl, + e, + r, + f.smoothing, + h.smoothing, + ); + (t._xctrl = n[0]), + (t._yctrl = n[1]), + (t.evalxy = o( + [t._xctrl, t._yctrl], + u, + c, + f.smoothing, + h.smoothing, + )), + (t.dxydi = s( + [t._xctrl, t._yctrl], + f.smoothing, + h.smoothing, + )), + (t.dxydj = l( + [t._xctrl, t._yctrl], + f.smoothing, + h.smoothing, + )); + }), + (t.i2a = function (t) { + var r = Math.max(0, Math.floor(t[0]), u - 2), + n = t[0] - r; + return (1 - n) * e[r] + n * e[r + 1]; + }), + (t.j2b = function (t) { + var e = Math.max(0, Math.floor(t[1]), u - 2), + n = t[1] - e; + return (1 - n) * r[e] + n * 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(i(t, e), u - 2)), + n = e[r], + a = e[r + 1]; + return Math.max( + 0, + Math.min(u - 1, r + (t - n) / (a - n)), + ); + }), + (t.b2j = function (t) { + var e = Math.max(0, Math.min(i(t, r), c - 2)), + n = r[e], + a = r[e + 1]; + return Math.max( + 0, + Math.min(c - 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 (n, i, a) { + if ( + !a && + (n < e[0] || + (n > e[u - 1]) | (i < r[0]) || + i > r[c - 1]) + ) + return [!1, !1]; + var o = t.a2i(n), + s = t.b2j(i), + l = t.evalxy([], o, s); + if (a) { + var f, + h, + p, + d, + v = 0, + g = 0, + y = []; + n < e[0] + ? ((f = 0), + (h = 0), + (v = (n - e[0]) / (e[1] - e[0]))) + : n > e[u - 1] + ? ((f = u - 2), + (h = 1), + (v = (n - e[u - 1]) / (e[u - 1] - e[u - 2]))) + : (h = + o - + (f = Math.max( + 0, + Math.min(u - 2, Math.floor(o)), + ))), + i < r[0] + ? ((p = 0), + (d = 0), + (g = (i - r[0]) / (r[1] - r[0]))) + : i > r[c - 1] + ? ((p = c - 2), + (d = 1), + (g = (i - r[c - 1]) / (r[c - 1] - r[c - 2]))) + : (d = + s - + (p = Math.max( + 0, + Math.min(c - 2, Math.floor(s)), + ))), + v && + (t.dxydi(y, f, p, h, d), + (l[0] += y[0] * v), + (l[1] += y[1] * v)), + g && + (t.dxydj(y, f, p, h, d), + (l[0] += y[0] * g), + (l[1] += y[1] * g)); + } + return l; + }), + (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 = y * (n || 0.1), + a = t.ab2xy(e + i, r, !0), + o = t.ab2xy(e - i, r, !0); + return [ + (0.5 * (a[0] - o[0])) / i, + (0.5 * (a[1] - o[1])) / i, + ]; + }), + (t.dxydb_rough = function (e, r, n) { + var i = m * (n || 0.1), + a = t.ab2xy(e, r + i, !0), + o = t.ab2xy(e, r - i, !0); + return [ + (0.5 * (a[0] - o[0])) / i, + (0.5 * (a[1] - o[1])) / i, + ]; + }), + (t.dpdx = function (t) { + return t._m; + }), + (t.dpdy = function (t) { + return t._m; + }); + }; + }, + 72505: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e, r) { + var i, + a, + o, + s = [], + l = [], + u = t[0].length, + c = t.length; + function f(e, r) { + var n, + i = 0, + a = 0; + return ( + e > 0 && + void 0 !== (n = t[r][e - 1]) && + (a++, (i += n)), + e < u - 1 && + void 0 !== (n = t[r][e + 1]) && + (a++, (i += n)), + r > 0 && + void 0 !== (n = t[r - 1][e]) && + (a++, (i += n)), + r < c - 1 && + void 0 !== (n = t[r + 1][e]) && + (a++, (i += n)), + i / Math.max(1, a) + ); + } + var h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + w, + T = 0; + for (i = 0; i < u; i++) + for (a = 0; a < c; a++) + void 0 === t[a][i] && + (s.push(i), l.push(a), (t[a][i] = f(i, a))), + (T = Math.max(T, Math.abs(t[a][i]))); + if (!s.length) return t; + var k = 0, + A = 0, + M = s.length; + do { + for (k = 0, o = 0; o < M; o++) { + (i = s[o]), (a = l[o]); + var S, + E, + L, + C, + P, + O, + I = 0, + D = 0; + 0 === i + ? ((L = e[(P = Math.min(u - 1, 2))]), + (C = e[1]), + (S = t[a][P]), + (D += + (E = t[a][1]) + ((E - S) * (e[0] - C)) / (C - L)), + I++) + : i === u - 1 && + ((L = e[(P = Math.max(0, u - 3))]), + (C = e[u - 2]), + (S = t[a][P]), + (D += + (E = t[a][u - 2]) + + ((E - S) * (e[u - 1] - C)) / (C - L)), + I++), + (0 === i || i === u - 1) && + a > 0 && + a < c - 1 && + ((h = r[a + 1] - r[a]), + (D += + ((p = r[a] - r[a - 1]) * t[a + 1][i] + + h * t[a - 1][i]) / + (p + h)), + I++), + 0 === a + ? ((L = r[(O = Math.min(c - 1, 2))]), + (C = r[1]), + (S = t[O][i]), + (D += + (E = t[1][i]) + + ((E - S) * (r[0] - C)) / (C - L)), + I++) + : a === c - 1 && + ((L = r[(O = Math.max(0, c - 3))]), + (C = r[c - 2]), + (S = t[O][i]), + (D += + (E = t[c - 2][i]) + + ((E - S) * (r[c - 1] - C)) / (C - L)), + I++), + (0 === a || a === c - 1) && + i > 0 && + i < u - 1 && + ((h = e[i + 1] - e[i]), + (D += + ((p = e[i] - e[i - 1]) * t[a][i + 1] + + h * t[a][i - 1]) / + (p + h)), + I++), + I + ? (D /= I) + : ((d = e[i + 1] - e[i]), + (v = e[i] - e[i - 1]), + (x = + (g = r[a + 1] - r[a]) * + (y = r[a] - r[a - 1]) * + (g + y)), + (D = + ((m = d * v * (d + v)) * + (y * t[a + 1][i] + g * t[a - 1][i]) + + x * (v * t[a][i + 1] + d * t[a][i - 1])) / + (x * (v + d) + m * (y + g)))), + (k += (_ = (b = D - t[a][i]) / T) * _), + (w = I ? 0 : 0.85), + (t[a][i] += b * (1 + w)); + } + k = Math.sqrt(k); + } while (A++ < 100 && k > 1e-5); + return ( + n.log( + "Smoother converged to", + k, + "after", + A, + "iterations", + ), + t + ); + }; + }, + 19237: function (t, e, r) { + "use strict"; + var n = r(71828).isArray1D; + t.exports = function (t, e, r) { + var i = r("x"), + a = i && i.length, + o = r("y"), + s = o && o.length; + if (!a && !s) return !1; + if (((e._cheater = !i), (a && !n(i)) || (s && !n(o)))) + e._length = null; + else { + var l = a ? i.length : 1 / 0; + s && (l = Math.min(l, o.length)), + e.a && e.a.length && (l = Math.min(l, e.a.length)), + e.b && e.b.length && (l = Math.min(l, e.b.length)), + (e._length = l); + } + return !0; + }; + }, + 69568: function (t, e, r) { + "use strict"; + var n = r(5386).fF, + i = r(19316), + a = r(50693), + o = r(9012), + s = r(22399).defaultLine, + l = r(1426).extendFlat, + u = i.marker.line; + t.exports = l( + { + locations: { valType: "data_array", editType: "calc" }, + locationmode: i.locationmode, + z: { valType: "data_array", editType: "calc" }, + geojson: l({}, i.geojson, {}), + featureidkey: i.featureidkey, + text: l({}, i.text, {}), + hovertext: l({}, i.hovertext, {}), + marker: { + line: { + color: l({}, u.color, { dflt: s }), + width: l({}, u.width, { dflt: 1 }), + editType: "calc", + }, + opacity: { + valType: "number", + arrayOk: !0, + min: 0, + max: 1, + dflt: 1, + editType: "style", + }, + editType: "calc", + }, + selected: { + marker: { + opacity: i.selected.marker.opacity, + editType: "plot", + }, + editType: "plot", + }, + unselected: { + marker: { + opacity: i.unselected.marker.opacity, + editType: "plot", + }, + editType: "plot", + }, + hoverinfo: l({}, o.hoverinfo, { + editType: "calc", + flags: ["location", "z", "text", "name"], + }), + hovertemplate: n(), + showlegend: l({}, o.showlegend, { dflt: !1 }), + }, + a("", { cLetter: "z", editTypeOverride: "calc" }), + ); + }, + 38675: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(50606).BADNUM, + a = r(78803), + o = r(75225), + s = r(66279); + function l(t) { + return t && "string" == typeof t; + } + t.exports = function (t, e) { + var r, + u = e._length, + c = new Array(u); + r = e.geojson + ? function (t) { + return l(t) || n(t); + } + : l; + for (var f = 0; f < u; f++) { + var h = (c[f] = {}), + p = e.locations[f], + d = e.z[f]; + r(p) && n(d) + ? ((h.loc = p), (h.z = d)) + : ((h.loc = null), (h.z = i)), + (h.index = f); + } + return ( + o(c, e), + a(t, e, { vals: e.z, containerStr: "", cLetter: "z" }), + s(c, e), + c + ); + }; + }, + 61869: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(1586), + a = r(69568); + t.exports = function (t, e, r, o) { + function s(r, i) { + return n.coerce(t, e, a, r, i); + } + var l = s("locations"), + u = s("z"); + if (l && l.length && n.isArrayOrTypedArray(u) && u.length) { + e._length = Math.min(l.length, u.length); + var c, + f = s("geojson"); + (("string" == typeof f && "" !== f) || + n.isPlainObject(f)) && + (c = "geojson-id"), + "geojson-id" === s("locationmode", c) && + s("featureidkey"), + s("text"), + s("hovertext"), + s("hovertemplate"), + s("marker.line.width") && s("marker.line.color"), + s("marker.opacity"), + i(t, e, o, s, { prefix: "", cLetter: "z" }), + n.coerceSelectionMarkerOpacity(e, s); + } else e.visible = !1; + }; + }, + 92069: function (t) { + "use strict"; + t.exports = function (t, e, r, n, i) { + (t.location = e.location), (t.z = e.z); + var a = n[i]; + return ( + a.fIn && + a.fIn.properties && + (t.properties = a.fIn.properties), + (t.ct = a.ct), + t + ); + }; + }, + 42300: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(69568), + a = r(71828).fillText; + t.exports = function (t, e, r) { + var o, + s, + l, + u, + c = t.cd, + f = c[0].trace, + h = t.subplot, + p = [e, r], + d = [e + 360, r]; + for (s = 0; s < c.length; s++) + if (((u = !1), (o = c[s])._polygons)) { + for (l = 0; l < o._polygons.length; l++) + o._polygons[l].contains(p) && (u = !u), + o._polygons[l].contains(d) && (u = !u); + if (u) break; + } + if (u && o) + return ( + (t.x0 = t.x1 = t.xa.c2p(o.ct)), + (t.y0 = t.y1 = t.ya.c2p(o.ct)), + (t.index = o.index), + (t.location = o.loc), + (t.z = o.z), + (t.zLabel = n.tickText( + h.mockAxis, + h.mockAxis.c2l(o.z), + "hover", + ).text), + (t.hovertemplate = o.hovertemplate), + (function (t, e, r) { + if (!e.hovertemplate) { + var n = r.hi || e.hoverinfo, + o = String(r.loc), + s = + "all" === n ? i.hoverinfo.flags : n.split("+"), + l = -1 !== s.indexOf("name"), + u = -1 !== s.indexOf("location"), + c = -1 !== s.indexOf("z"), + f = -1 !== s.indexOf("text"), + h = []; + !l && u + ? (t.nameOverride = o) + : (l && (t.nameOverride = e.name), + u && h.push(o)), + c && h.push(t.zLabel), + f && a(r, e, h), + (t.extraText = h.join("
")); + } + })(t, f, o), + [t] + ); + }; + }, + 51319: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(69568), + supplyDefaults: r(61869), + colorbar: r(61243), + calc: r(38675), + calcGeoJSON: r(99841).calcGeoJSON, + plot: r(99841).plot, + style: r(99636).style, + styleOnSelect: r(99636).styleOnSelect, + hoverPoints: r(42300), + eventData: r(92069), + selectPoints: r(81253), + moduleType: "trace", + name: "choropleth", + basePlotModule: r(44622), + categories: ["geo", "noOpacity", "showLegend"], + meta: {}, + }; + }, + 99841: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(41327), + o = r(90973).getTopojsonFeatures, + s = r(71739).findExtremes, + l = r(99636).style; + t.exports = { + calcGeoJSON: function (t, e) { + for ( + var r = t[0].trace, + n = e[r.geo], + i = n._subplot, + l = r.locationmode, + u = r._length, + c = + "geojson-id" === l + ? a.extractTraceFeature(t) + : o(r, i.topojson), + f = [], + h = [], + p = 0; + p < u; + p++ + ) { + var d = t[p], + v = + "geojson-id" === l + ? d.fOut + : a.locationToFeature(l, d.loc, c); + if (v) { + (d.geojson = v), + (d.ct = v.properties.ct), + (d._polygons = a.feature2polygons(v)); + var g = a.computeBbox(v); + f.push(g[0], g[2]), h.push(g[1], g[3]); + } else d.geojson = null; + } + if ("geojson" === n.fitbounds && "geojson-id" === l) { + var y = a.computeBbox(a.getTraceGeojson(r)); + (f = [y[0], y[2]]), (h = [y[1], y[3]]); + } + var m = { padded: !0 }; + (r._extremes.lon = s(n.lonaxis._ax, f, m)), + (r._extremes.lat = s(n.lataxis._ax, h, m)); + }, + plot: function (t, e, r) { + var a = e.layers.backplot.select(".choroplethlayer"); + i.makeTraceGroups(a, r, "trace choropleth").each( + function (e) { + var r = n + .select(this) + .selectAll("path.choroplethlocation") + .data(i.identity); + r + .enter() + .append("path") + .classed("choroplethlocation", !0), + r.exit().remove(), + l(t, e); + }, + ); + }, + }; + }, + 81253: function (t) { + "use strict"; + t.exports = 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], null, r, t) + ? (c.push({ pointNumber: r, lon: i[0], lat: i[1] }), + (n.selected = 1)) + : (n.selected = 0)); + return c; + }; + }, + 99636: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(7901), + a = r(91424), + o = r(21081); + function s(t, e) { + var r = e[0].trace, + s = e[0].node3.selectAll(".choroplethlocation"), + l = r.marker || {}, + u = l.line || {}, + c = o.makeColorScaleFuncFromTrace(r); + s.each(function (t) { + n.select(this) + .attr("fill", c(t.z)) + .call(i.stroke, t.mlc || u.color) + .call(a.dashLine, "", t.mlw || u.width || 0) + .style("opacity", l.opacity); + }), + a.selectedPointStyle(s, r); + } + t.exports = { + style: function (t, e) { + e && s(0, e); + }, + styleOnSelect: function (t, e) { + var r = e[0].node3, + n = e[0].trace; + n.selectedpoints + ? a.selectedPointStyle( + r.selectAll(".choroplethlocation"), + n, + ) + : s(0, e); + }, + }; + }, + 64496: function (t, e, r) { + "use strict"; + var n = r(69568), + i = r(50693), + a = r(5386).fF, + o = r(9012), + s = r(1426).extendFlat; + t.exports = s( + { + locations: { valType: "data_array", editType: "calc" }, + z: { valType: "data_array", editType: "calc" }, + geojson: { valType: "any", editType: "calc" }, + featureidkey: s({}, n.featureidkey, {}), + below: { valType: "string", editType: "plot" }, + text: n.text, + hovertext: n.hovertext, + marker: { + line: { + color: s({}, n.marker.line.color, { + editType: "plot", + }), + width: s({}, n.marker.line.width, { + editType: "plot", + }), + editType: "calc", + }, + opacity: s({}, n.marker.opacity, { editType: "plot" }), + editType: "calc", + }, + selected: { + marker: { + opacity: s({}, n.selected.marker.opacity, { + editType: "plot", + }), + editType: "plot", + }, + editType: "plot", + }, + unselected: { + marker: { + opacity: s({}, n.unselected.marker.opacity, { + editType: "plot", + }), + editType: "plot", + }, + editType: "plot", + }, + hoverinfo: n.hoverinfo, + hovertemplate: a({}, { keys: ["properties"] }), + showlegend: s({}, o.showlegend, { dflt: !1 }), + }, + i("", { cLetter: "z", editTypeOverride: "calc" }), + ); + }, + 82004: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(21081), + o = r(91424), + s = r(18214).makeBlank, + l = r(41327); + function u(t) { + var e, + r = t[0].trace, + n = r._opts; + if (r.selectedpoints) { + for ( + var a = o.makeSelectedPointStyleFns(r), s = 0; + s < t.length; + s++ + ) { + var l = t[s]; + l.fOut && + (l.fOut.properties.mo2 = a.selectedOpacityFn(l)); + } + e = { type: "identity", property: "mo2" }; + } else + e = i.isArrayOrTypedArray(r.marker.opacity) + ? { type: "identity", property: "mo" } + : r.marker.opacity; + return ( + i.extendFlat(n.fill.paint, { "fill-opacity": e }), + i.extendFlat(n.line.paint, { "line-opacity": e }), + n + ); + } + t.exports = { + convert: function (t) { + var e = t[0].trace, + r = !0 === e.visible && 0 !== e._length, + o = { layout: { visibility: "none" }, paint: {} }, + c = { layout: { visibility: "none" }, paint: {} }, + f = (e._opts = { fill: o, line: c, geojson: s() }); + if (!r) return f; + var h = l.extractTraceFeature(t); + if (!h) return f; + var p, + d, + v, + g = a.makeColorScaleFuncFromTrace(e), + y = e.marker, + m = y.line || {}; + i.isArrayOrTypedArray(y.opacity) && + (p = function (t) { + var e = t.mo; + return n(e) ? +i.constrain(e, 0, 1) : 0; + }), + i.isArrayOrTypedArray(m.color) && + (d = function (t) { + return t.mlc; + }), + i.isArrayOrTypedArray(m.width) && + (v = function (t) { + return t.mlw; + }); + for (var x = 0; x < t.length; x++) { + var b = t[x], + _ = b.fOut; + if (_) { + var w = _.properties; + (w.fc = g(b.z)), + p && (w.mo = p(b)), + d && (w.mlc = d(b)), + v && (w.mlw = v(b)), + (b.ct = w.ct), + (b._polygons = l.feature2polygons(_)); + } + } + var T = p + ? { type: "identity", property: "mo" } + : y.opacity; + return ( + i.extendFlat(o.paint, { + "fill-color": { type: "identity", property: "fc" }, + "fill-opacity": T, + }), + i.extendFlat(c.paint, { + "line-color": d + ? { type: "identity", property: "mlc" } + : m.color, + "line-width": v + ? { type: "identity", property: "mlw" } + : m.width, + "line-opacity": T, + }), + (o.layout.visibility = "visible"), + (c.layout.visibility = "visible"), + (f.geojson = { + type: "FeatureCollection", + features: h, + }), + u(t), + f + ); + }, + convertOnSelect: u, + }; + }, + 22654: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(1586), + a = r(64496); + t.exports = function (t, e, r, o) { + function s(r, i) { + return n.coerce(t, e, a, r, i); + } + var l = s("locations"), + u = s("z"), + c = s("geojson"); + n.isArrayOrTypedArray(l) && + l.length && + n.isArrayOrTypedArray(u) && + u.length && + (("string" == typeof c && "" !== c) || n.isPlainObject(c)) + ? (s("featureidkey"), + (e._length = Math.min(l.length, u.length)), + s("below"), + s("text"), + s("hovertext"), + s("hovertemplate"), + s("marker.line.width") && s("marker.line.color"), + s("marker.opacity"), + i(t, e, o, s, { prefix: "", cLetter: "z" }), + n.coerceSelectionMarkerOpacity(e, s)) + : (e.visible = !1); + }; + }, + 57516: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(64496), + supplyDefaults: r(22654), + colorbar: r(61243), + calc: r(38675), + plot: r(7852), + hoverPoints: r(42300), + eventData: r(92069), + selectPoints: r(81253), + styleOnSelect: function (t, e) { + e && e[0].trace._glTrace.updateOnSelect(e); + }, + getBelow: function (t, e) { + for ( + var r = e.getMapLayers(), n = r.length - 2; + n >= 0; + n-- + ) { + var i = r[n].id; + if ("string" == typeof i && 0 === i.indexOf("water")) + for (var a = n + 1; a < r.length; a++) + if ( + "string" == typeof (i = r[a].id) && + -1 === i.indexOf("plotly-") + ) + return i; + } + }, + moduleType: "trace", + name: "choroplethmapbox", + basePlotModule: r(50101), + categories: ["mapbox", "gl", "noOpacity", "showLegend"], + meta: { hr_name: "choropleth_mapbox" }, + }; + }, + 7852: function (t, e, r) { + "use strict"; + var n = r(82004).convert, + i = r(82004).convertOnSelect, + a = r(77734).traceLayerPrefix; + function o(t, e) { + (this.type = "choroplethmapbox"), + (this.subplot = t), + (this.uid = e), + (this.sourceId = "source-" + e), + (this.layerList = [ + ["fill", a + e + "-fill"], + ["line", a + e + "-line"], + ]), + (this.below = null); + } + var s = o.prototype; + (s.update = function (t) { + this._update(n(t)), (t[0].trace._glTrace = this); + }), + (s.updateOnSelect = function (t) { + this._update(i(t)); + }), + (s._update = function (t) { + var e = this.subplot, + r = this.layerList, + n = e.belowLookup["trace-" + this.uid]; + e.map.getSource(this.sourceId).setData(t.geojson), + n !== this.below && + (this._removeLayers(), + this._addLayers(t, n), + (this.below = n)); + for (var i = 0; i < r.length; i++) { + var a = r[i], + o = a[0], + s = a[1], + l = t[o]; + e.setOptions(s, "setLayoutProperty", l.layout), + "visible" === l.layout.visibility && + e.setOptions(s, "setPaintProperty", l.paint); + } + }), + (s._addLayers = function (t, e) { + for ( + var r = this.subplot, + n = this.layerList, + i = this.sourceId, + a = 0; + a < n.length; + a++ + ) { + var o = n[a], + s = o[0], + l = t[s]; + r.addLayer( + { + type: s, + id: o[1], + source: i, + layout: l.layout, + paint: l.paint, + }, + e, + ); + } + }), + (s._removeLayers = function () { + for ( + var t = this.subplot.map, + e = this.layerList, + r = e.length - 1; + r >= 0; + r-- + ) + t.removeLayer(e[r][1]); + }), + (s.dispose = function () { + var t = this.subplot.map; + this._removeLayers(), t.removeSource(this.sourceId); + }), + (t.exports = function (t, e) { + var r = e[0].trace, + i = new o(t, r.uid), + a = i.sourceId, + s = n(e), + l = (i.below = t.belowLookup["trace-" + r.uid]); + return ( + t.map.addSource(a, { + type: "geojson", + data: s.geojson, + }), + i._addLayers(s, l), + (e[0].trace._glTrace = i), + i + ); + }); + }, + 12674: function (t, e, r) { + "use strict"; + var n = r(50693), + i = r(12663).axisHoverFormat, + a = r(5386).fF, + o = r(2418), + s = r(9012), + l = r(1426).extendFlat, + u = { + x: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + y: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + z: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + u: { valType: "data_array", editType: "calc" }, + v: { valType: "data_array", editType: "calc" }, + w: { valType: "data_array", editType: "calc" }, + sizemode: { + valType: "enumerated", + values: ["scaled", "absolute"], + editType: "calc", + dflt: "scaled", + }, + sizeref: { valType: "number", editType: "calc", min: 0 }, + anchor: { + valType: "enumerated", + editType: "calc", + values: ["tip", "tail", "cm", "center"], + dflt: "cm", + }, + text: { + valType: "string", + dflt: "", + arrayOk: !0, + editType: "calc", + }, + hovertext: { + valType: "string", + dflt: "", + arrayOk: !0, + editType: "calc", + }, + hovertemplate: a( + { editType: "calc" }, + { keys: ["norm"] }, + ), + uhoverformat: i("u", 1), + vhoverformat: i("v", 1), + whoverformat: i("w", 1), + xhoverformat: i("x"), + yhoverformat: i("y"), + zhoverformat: i("z"), + showlegend: l({}, s.showlegend, { dflt: !1 }), + }; + l( + u, + n("", { + colorAttr: "u/v/w norm", + showScaleDflt: !0, + editTypeOverride: "calc", + }), + ), + ["opacity", "lightposition", "lighting"].forEach( + function (t) { + u[t] = o[t]; + }, + ), + (u.hoverinfo = l({}, s.hoverinfo, { + editType: "calc", + flags: [ + "x", + "y", + "z", + "u", + "v", + "w", + "norm", + "text", + "name", + ], + dflt: "x+y+z+norm+text+name", + })), + (u.transforms = void 0), + (t.exports = u); + }, + 31371: function (t, e, r) { + "use strict"; + var n = r(78803); + t.exports = function (t, e) { + for ( + var r = e.u, + i = e.v, + a = e.w, + o = Math.min( + e.x.length, + e.y.length, + e.z.length, + r.length, + i.length, + a.length, + ), + s = -1 / 0, + l = 1 / 0, + u = 0; + u < o; + u++ + ) { + var c = r[u], + f = i[u], + h = a[u], + p = Math.sqrt(c * c + f * f + h * h); + (s = Math.max(s, p)), (l = Math.min(l, p)); + } + (e._len = o), + (e._normMax = s), + n(t, e, { vals: [l, s], containerStr: "", cLetter: "c" }); + }; + }, + 5453: function (t, e, r) { + "use strict"; + var n = r(9330).gl_cone3d, + i = r(9330).gl_cone3d.createConeMesh, + a = r(71828).simpleMap, + o = r(81697).parseColorScale, + s = r(21081).extractOpts, + l = r(90060); + function u(t, e) { + (this.scene = t), + (this.uid = e), + (this.mesh = null), + (this.data = null); + } + var c = u.prototype; + c.handlePick = function (t) { + if (t.object === this.mesh) { + var e = (t.index = t.data.index), + r = this.data.x[e], + n = this.data.y[e], + i = this.data.z[e], + a = this.data.u[e], + o = this.data.v[e], + s = this.data.w[e]; + t.traceCoordinate = [ + r, + n, + i, + a, + o, + s, + Math.sqrt(a * a + o * o + s * s), + ]; + var l = this.data.hovertext || this.data.text; + return ( + Array.isArray(l) && void 0 !== l[e] + ? (t.textLabel = l[e]) + : l && (t.textLabel = l), + !0 + ); + } + }; + var f = { xaxis: 0, yaxis: 1, zaxis: 2 }, + h = { tip: 1, tail: 0, cm: 0.25, center: 0.5 }, + p = { tip: 1, tail: 1, cm: 0.75, center: 0.5 }; + function d(t, e) { + var r = t.fullSceneLayout, + i = t.dataScale, + u = {}; + function c(t, e) { + var n = r[e], + o = i[f[e]]; + return a(t, function (t) { + return n.d2l(t) * o; + }); + } + (u.vectors = l( + c(e.u, "xaxis"), + c(e.v, "yaxis"), + c(e.w, "zaxis"), + e._len, + )), + (u.positions = l( + c(e.x, "xaxis"), + c(e.y, "yaxis"), + c(e.z, "zaxis"), + e._len, + )); + var d = s(e); + (u.colormap = o(e)), + (u.vertexIntensityBounds = [ + d.min / e._normMax, + d.max / e._normMax, + ]), + (u.coneOffset = h[e.anchor]), + "scaled" === e.sizemode + ? (u.coneSize = e.sizeref || 0.5) + : (u.coneSize = + e.sizeref && e._normMax + ? e.sizeref / e._normMax + : 0.5); + var v = n(u), + g = e.lightposition; + return ( + (v.lightPosition = [g.x, g.y, g.z]), + (v.ambient = e.lighting.ambient), + (v.diffuse = e.lighting.diffuse), + (v.specular = e.lighting.specular), + (v.roughness = e.lighting.roughness), + (v.fresnel = e.lighting.fresnel), + (v.opacity = e.opacity), + (e._pad = + p[e.anchor] * v.vectorScale * v.coneScale * e._normMax), + v + ); + } + (c.update = function (t) { + this.data = t; + var e = d(this.scene, t); + this.mesh.update(e); + }), + (c.dispose = function () { + this.scene.glplot.remove(this.mesh), this.mesh.dispose(); + }), + (t.exports = function (t, e) { + var r = t.glplot.gl, + n = d(t, e), + a = i(r, n), + o = new u(t, e.uid); + return ( + (o.mesh = a), + (o.data = e), + (a._trace = o), + t.glplot.add(a), + o + ); + }); + }, + 91750: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(1586), + a = r(12674); + t.exports = function (t, e, r, o) { + function s(r, i) { + return n.coerce(t, e, a, r, i); + } + var l = s("u"), + u = s("v"), + c = s("w"), + f = s("x"), + h = s("y"), + p = s("z"); + l && + l.length && + u && + u.length && + c && + c.length && + f && + f.length && + h && + h.length && + p && + p.length + ? (s("sizeref"), + s("sizemode"), + s("anchor"), + s("lighting.ambient"), + s("lighting.diffuse"), + s("lighting.specular"), + s("lighting.roughness"), + s("lighting.fresnel"), + s("lightposition.x"), + s("lightposition.y"), + s("lightposition.z"), + i(t, e, o, s, { prefix: "", cLetter: "c" }), + s("text"), + s("hovertext"), + s("hovertemplate"), + s("uhoverformat"), + s("vhoverformat"), + s("whoverformat"), + s("xhoverformat"), + s("yhoverformat"), + s("zhoverformat"), + (e._length = null)) + : (e.visible = !1); + }; + }, + 98128: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "cone", + basePlotModule: r(58547), + categories: ["gl3d", "showLegend"], + attributes: r(12674), + supplyDefaults: r(91750), + colorbar: { min: "cmin", max: "cmax" }, + calc: r(31371), + plot: r(5453), + eventData: function (t, e) { + return (t.norm = e.traceCoordinate[6]), t; + }, + meta: {}, + }; + }, + 70600: function (t, e, r) { + "use strict"; + var n = r(21606), + i = r(82196), + a = r(12663), + o = a.axisHoverFormat, + s = a.descriptionOnlyNumbers, + l = r(50693), + u = r(79952).P, + c = r(41940), + f = r(1426).extendFlat, + h = r(74808), + p = h.COMPARISON_OPS2, + d = h.INTERVAL_OPS, + v = i.line; + t.exports = f( + { + z: n.z, + x: n.x, + x0: n.x0, + dx: n.dx, + y: n.y, + y0: n.y0, + dy: n.dy, + xperiod: n.xperiod, + yperiod: n.yperiod, + xperiod0: i.xperiod0, + yperiod0: i.yperiod0, + xperiodalignment: n.xperiodalignment, + yperiodalignment: n.yperiodalignment, + text: n.text, + hovertext: n.hovertext, + transpose: n.transpose, + xtype: n.xtype, + ytype: n.ytype, + xhoverformat: o("x"), + yhoverformat: o("y"), + zhoverformat: o("z", 1), + hovertemplate: n.hovertemplate, + texttemplate: f({}, n.texttemplate, {}), + textfont: f({}, n.textfont, {}), + hoverongaps: n.hoverongaps, + connectgaps: f({}, n.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: c({ + editType: "plot", + colorEditType: "style", + }), + labelformat: { + valType: "string", + dflt: "", + editType: "plot", + description: s("contour label"), + }, + operation: { + valType: "enumerated", + values: [].concat(p).concat(d), + dflt: "=", + editType: "calc", + }, + value: { valType: "any", dflt: 0, editType: "calc" }, + editType: "calc", + impliedEdits: { autocontour: !1 }, + }, + line: { + color: f({}, v.color, { editType: "style+colorbars" }), + width: { + valType: "number", + min: 0, + editType: "style+colorbars", + }, + dash: u, + smoothing: f({}, v.smoothing, {}), + editType: "plot", + }, + }, + l("", { + cLetter: "z", + autoColorDflt: !1, + editTypeOverride: "calc", + }), + ); + }, + 27529: function (t, e, r) { + "use strict"; + var n = r(21081), + i = r(90757), + a = r(18670), + o = r(53572); + t.exports = function (t, e) { + var r = i(t, e), + s = r[0].z; + a(e, s); + var l, + u = e.contours, + c = n.extractOpts(e); + if ( + "heatmap" === u.coloring && + c.auto && + !1 === e.autocontour + ) { + var f = u.start, + h = o(u), + p = u.size || 1, + d = Math.floor((h - f) / p) + 1; + isFinite(p) || ((p = 1), (d = 1)); + var v = f - p / 2; + l = [v, v + d * p]; + } else l = s; + return n.calc(t, e, { vals: l, cLetter: "z" }), r; + }; + }, + 20083: function (t) { + "use strict"; + t.exports = function (t, e) { + var r, + n = t[0], + i = n.z; + switch (e.type) { + case "levels": + var a = Math.min(i[0][0], i[0][1]); + for (r = 0; r < t.length; r++) { + var o = t[r]; + o.prefixBoundary = + !o.edgepaths.length && + (a > o.level || (o.starts.length && a === o.level)); + } + break; + case "constraint": + if (((n.prefixBoundary = !1), n.edgepaths.length)) + return; + var s = n.x.length, + l = n.y.length, + u = -1 / 0, + c = 1 / 0; + for (r = 0; r < l; r++) + (c = Math.min(c, i[r][0])), + (c = Math.min(c, i[r][s - 1])), + (u = Math.max(u, i[r][0])), + (u = Math.max(u, i[r][s - 1])); + for (r = 1; r < s - 1; r++) + (c = Math.min(c, i[0][r])), + (c = Math.min(c, i[l - 1][r])), + (u = Math.max(u, i[0][r])), + (u = Math.max(u, i[l - 1][r])); + var f, + h, + p = e.value; + switch (e._operation) { + case ">": + p > u && (n.prefixBoundary = !0); + break; + case "<": + (p < c || (n.starts.length && p === c)) && + (n.prefixBoundary = !0); + break; + case "[]": + (f = Math.min(p[0], p[1])), + ((h = Math.max(p[0], p[1])) < c || + f > u || + (n.starts.length && h === c)) && + (n.prefixBoundary = !0); + break; + case "][": + (f = Math.min(p[0], p[1])), + (h = Math.max(p[0], p[1])), + f < c && h > u && (n.prefixBoundary = !0); + } + } + }; + }, + 90654: function (t, e, r) { + "use strict"; + var n = r(21081), + i = r(86068), + a = r(53572); + t.exports = { + min: "zmin", + max: "zmax", + calc: function (t, e, r) { + var o = e.contours, + s = e.line, + l = o.size || 1, + u = o.coloring, + c = i(e, { isColorbar: !0 }); + if ("heatmap" === u) { + var f = n.extractOpts(e); + (r._fillgradient = f.reversescale + ? n.flipScale(f.colorscale) + : f.colorscale), + (r._zrange = [f.min, f.max]); + } else "fill" === u && (r._fillcolor = c); + (r._line = { + color: "lines" === u ? c : s.color, + width: !1 !== o.showlines ? s.width : 0, + dash: s.dash, + }), + (r._levels = { start: o.start, end: a(o), size: l }); + }, + }; + }, + 36914: function (t) { + "use strict"; + t.exports = { + 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, + }, + }; + }, + 83179: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(14523), + a = r(7901), + o = a.addOpacity, + s = a.opacity, + l = r(74808), + u = l.CONSTRAINT_REDUCTION, + c = l.COMPARISON_OPS2; + t.exports = function (t, e, r, a, l, f) { + var h, + p, + d, + v = e.contours, + g = r("contours.operation"); + (v._operation = u[g]), + (function (t, e) { + var r; + -1 === c.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 + ? ((r = parseFloat(e.value[0])), + (e.value = [r, r + 1])) + : (e.value = [ + parseFloat(e.value[0]), + parseFloat(e.value[1]), + ]) + : n(e.value) && + ((r = parseFloat(e.value)), + (e.value = [r, r + 1]))) + : (t("contours.value", 0), + n(e.value) || + (Array.isArray(e.value) + ? (e.value = parseFloat(e.value[0])) + : (e.value = 0))); + })(r, v), + "=" === g + ? (h = v.showlines = !0) + : ((h = r("contours.showlines")), + (d = r( + "fillcolor", + o((t.line || {}).color || l, 0.5), + ))), + h && + ((p = r( + "line.color", + d && s(d) ? o(e.fillcolor, 1) : l, + )), + r("line.width", 2), + r("line.dash")), + r("line.smoothing"), + i(r, a, p, f); + }; + }, + 64237: function (t, e, r) { + "use strict"; + var n = r(74808), + i = r(92770); + function a(t, e) { + var r, + a = Array.isArray(e); + function o(t) { + return i(t) ? +t : null; + } + return ( + -1 !== n.COMPARISON_OPS2.indexOf(t) + ? (r = o(a ? e[0] : e)) + : -1 !== n.INTERVAL_OPS.indexOf(t) + ? (r = a ? [o(e[0]), o(e[1])] : [o(e), o(e)]) + : -1 !== n.SET_OPS.indexOf(t) && + (r = a ? e.map(o) : [o(e)]), + r + ); + } + function o(t) { + return function (e) { + e = a(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 s(t) { + return function (e) { + return { start: (e = a(t, e)), end: 1 / 0, size: 1 / 0 }; + }; + } + t.exports = { + "[]": o("[]"), + "][": o("]["), + ">": s(">"), + "<": s("<"), + "=": s("="), + }; + }, + 67217: function (t) { + "use strict"; + t.exports = 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"); + }; + }, + 84857: function (t, e, r) { + "use strict"; + var n = r(71828); + function i(t) { + return n.extendFlat({}, t, { + edgepaths: n.extendDeep([], t.edgepaths), + paths: n.extendDeep([], t.paths), + starts: n.extendDeep([], t.starts), + }); + } + t.exports = function (t, e) { + var r, + a, + o, + s = function (t) { + return t.reverse(); + }, + l = function (t) { + return t; + }; + switch (e) { + case "=": + case "<": + return t; + case ">": + for ( + 1 !== t.length && + n.warn( + "Contour data invalid for the specified inequality operation.", + ), + a = t[0], + r = 0; + r < a.edgepaths.length; + r++ + ) + a.edgepaths[r] = s(a.edgepaths[r]); + for (r = 0; r < a.paths.length; r++) + a.paths[r] = s(a.paths[r]); + for (r = 0; r < a.starts.length; r++) + a.starts[r] = s(a.starts[r]); + return t; + case "][": + var u = s; + (s = l), (l = u); + case "[]": + for ( + 2 !== t.length && + n.warn( + "Contour data invalid for the specified inequality range operation.", + ), + a = i(t[0]), + o = i(t[1]), + r = 0; + r < a.edgepaths.length; + r++ + ) + a.edgepaths[r] = s(a.edgepaths[r]); + for (r = 0; r < a.paths.length; r++) + a.paths[r] = s(a.paths[r]); + for (r = 0; r < a.starts.length; r++) + a.starts[r] = s(a.starts[r]); + for (; o.edgepaths.length; ) + a.edgepaths.push(l(o.edgepaths.shift())); + for (; o.paths.length; ) + a.paths.push(l(o.paths.shift())); + for (; o.starts.length; ) + a.starts.push(l(o.starts.shift())); + return [a]; + } + }; + }, + 13031: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(67684), + a = r(73927), + o = r(83179), + s = r(67217), + l = r(8724), + u = r(58623), + c = r(70600); + t.exports = function (t, e, r, f) { + function h(r, i) { + return n.coerce(t, e, c, r, i); + } + if (i(t, e, h, f)) { + a(t, e, f, h), + h("xhoverformat"), + h("yhoverformat"), + h("text"), + h("hovertext"), + h("hoverongaps"), + h("hovertemplate"); + var p = "constraint" === h("contours.type"); + h("connectgaps", n.isArray1D(e.z)), + p + ? o(t, e, h, f, r) + : (s(t, e, h, function (r) { + return n.coerce2(t, e, c, r); + }), + l(t, e, h, f)), + e.contours && + "heatmap" === e.contours.coloring && + u(h, f); + } else e.visible = !1; + }; + }, + 87558: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(64237), + a = r(53572); + t.exports = function (t, e, r) { + for ( + var o = + "constraint" === t.type + ? i[t._operation](t.value) + : t, + s = o.size, + l = [], + u = a(o), + c = r.trace._carpetTrace, + f = c + ? { xaxis: c.aaxis, yaxis: c.baxis, x: r.a, y: r.b } + : { xaxis: e.xaxis, yaxis: e.yaxis, x: r.x, y: r.y }, + h = o.start; + h < u; + h += s + ) + if ( + (l.push( + n.extendFlat( + { + level: h, + crossings: {}, + starts: [], + edgepaths: [], + paths: [], + z: r.z, + smoothing: r.trace.line.smoothing, + }, + f, + ), + ), + l.length > 1e3) + ) { + n.warn("Too many contours, clipping at 1000", t); + break; + } + return l; + }; + }, + 53572: function (t) { + "use strict"; + t.exports = function (t) { + return t.end + t.size / 1e6; + }; + }, + 81696: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(36914); + function a(t, e, r, n) { + return ( + Math.abs(t[0] - e[0]) < r && Math.abs(t[1] - e[1]) < n + ); + } + function o(t, e, r, o, l) { + var u, + c = e.join(","), + f = t.crossings[c], + h = (function (t, e, r) { + var n = 0, + a = 0; + return ( + t > 20 && e + ? 208 === t || 1114 === t + ? (n = 0 === r[0] ? 1 : -1) + : (a = 0 === r[1] ? 1 : -1) + : -1 !== i.BOTTOMSTART.indexOf(t) + ? (a = 1) + : -1 !== i.LEFTSTART.indexOf(t) + ? (n = 1) + : -1 !== i.TOPSTART.indexOf(t) + ? (a = -1) + : (n = -1), + [n, a] + ); + })(f, r, e), + p = [s(t, e, [-h[0], -h[1]])], + d = t.z.length, + v = t.z[0].length, + g = e.slice(), + y = h.slice(); + for (u = 0; u < 1e4; u++) { + if ( + (f > 20 + ? ((f = + i.CHOOSESADDLE[f][(h[0] || h[1]) < 0 ? 0 : 1]), + (t.crossings[c] = i.SADDLEREMAINDER[f])) + : delete t.crossings[c], + !(h = i.NEWDELTA[f])) + ) { + n.log("Found bad marching index:", f, e, t.level); + break; + } + p.push(s(t, e, h)), + (e[0] += h[0]), + (e[1] += h[1]), + (c = e.join(",")), + a(p[p.length - 1], p[p.length - 2], o, l) && p.pop(); + var m = + (h[0] && (e[0] < 0 || e[0] > v - 2)) || + (h[1] && (e[1] < 0 || e[1] > d - 2)); + if ( + (e[0] === g[0] && + e[1] === g[1] && + h[0] === y[0] && + h[1] === y[1]) || + (r && m) + ) + break; + f = t.crossings[c]; + } + 1e4 === u && n.log("Infinite loop in contour?"); + var x, + b, + _, + w, + T, + k, + A, + M, + S, + E, + L, + C, + P, + O, + I, + D = a(p[0], p[p.length - 1], o, l), + z = 0, + R = 0.2 * t.smoothing, + F = [], + B = 0; + for (u = 1; u < p.length; u++) + (C = p[u]), + (P = p[u - 1]), + void 0, + void 0, + (O = C[2] - P[2]), + (I = C[3] - P[3]), + (z += A = Math.sqrt(O * O + I * I)), + F.push(A); + var N = (z / F.length) * R; + function j(t) { + return p[t % p.length]; + } + for (u = p.length - 2; u >= B; u--) + if ((x = F[u]) < N) { + for (_ = 0, b = u - 1; b >= B && x + F[b] < N; b--) + x += F[b]; + if (D && u === p.length - 2) + for (_ = 0; _ < b && x + F[_] < N; _++) x += F[_]; + (T = u - b + _ + 1), + (k = Math.floor((u + b + _ + 2) / 2)), + (w = + D || u !== p.length - 2 + ? D || -1 !== b + ? T % 2 + ? j(k) + : [ + (j(k)[0] + j(k + 1)[0]) / 2, + (j(k)[1] + j(k + 1)[1]) / 2, + ] + : p[0] + : p[p.length - 1]), + p.splice(b + 1, u - b + 1, w), + (u = b + 1), + _ && (B = _), + D && + (u === p.length - 2 + ? (p[_] = p[p.length - 1]) + : 0 === u && (p[p.length - 1] = p[0])); + } + for (p.splice(0, B), u = 0; u < p.length; u++) + p[u].length = 2; + if (!(p.length < 2)) + if (D) p.pop(), t.paths.push(p); + else { + r || + n.log( + "Unclosed interior contour?", + t.level, + g.join(","), + p.join("L"), + ); + var U = !1; + for (M = 0; M < t.edgepaths.length; M++) + if ( + ((E = t.edgepaths[M]), + !U && a(E[0], p[p.length - 1], o, l)) + ) { + p.pop(), (U = !0); + var V = !1; + for (S = 0; S < t.edgepaths.length; S++) + if ( + a( + (L = t.edgepaths[S])[L.length - 1], + p[0], + o, + l, + ) + ) { + (V = !0), + p.shift(), + t.edgepaths.splice(M, 1), + S === M + ? t.paths.push(p.concat(L)) + : (S > M && S--, + (t.edgepaths[S] = L.concat(p, E))); + break; + } + V || (t.edgepaths[M] = p.concat(E)); + } + for (M = 0; M < t.edgepaths.length && !U; M++) + a((E = t.edgepaths[M])[E.length - 1], p[0], o, l) && + (p.shift(), + (t.edgepaths[M] = E.concat(p)), + (U = !0)); + U || t.edgepaths.push(p); + } + } + function s(t, e, r) { + var n = e[0] + Math.max(r[0], 0), + i = e[1] + Math.max(r[1], 0), + a = t.z[i][n], + o = t.xaxis, + s = t.yaxis; + if (r[1]) { + var l = (t.level - a) / (t.z[i][n + 1] - a), + u = + (1 !== l ? (1 - l) * o.c2l(t.x[n]) : 0) + + (0 !== l ? l * o.c2l(t.x[n + 1]) : 0); + return [o.c2p(o.l2c(u), !0), s.c2p(t.y[i], !0), n + l, i]; + } + var c = (t.level - a) / (t.z[i + 1][n] - a), + f = + (1 !== c ? (1 - c) * s.c2l(t.y[i]) : 0) + + (0 !== c ? c * s.c2l(t.y[i + 1]) : 0); + return [o.c2p(t.x[n], !0), s.c2p(s.l2c(f), !0), n, i + c]; + } + t.exports = function (t, e, r) { + var i, a, s, l; + for ( + e = e || 0.01, r = r || 0.01, a = 0; + a < t.length; + a++ + ) { + for (s = t[a], l = 0; l < s.starts.length; l++) + o(s, s.starts[l], "edge", e, r); + for (i = 0; Object.keys(s.crossings).length && i < 1e4; ) + i++, + o( + s, + Object.keys(s.crossings)[0].split(",").map(Number), + void 0, + e, + r, + ); + 1e4 === i && n.log("Infinite loop in contour?"); + } + }; + }, + 52421: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(46248); + t.exports = function (t, e, r, a, o) { + o || (o = {}), (o.isContour = !0); + var s = i(t, e, r, a, o); + return ( + s && + s.forEach(function (t) { + var e = t.trace; + "constraint" === e.contours.type && + (e.fillcolor && n.opacity(e.fillcolor) + ? (t.color = n.addOpacity(e.fillcolor, 1)) + : e.contours.showlines && + n.opacity(e.line.color) && + (t.color = n.addOpacity(e.line.color, 1))); + }), + s + ); + }; + }, + 99442: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(70600), + supplyDefaults: r(13031), + calc: r(27529), + plot: r(29854).plot, + style: r(84426), + colorbar: r(90654), + hoverPoints: r(52421), + moduleType: "trace", + name: "contour", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "2dMap", + "contour", + "showLegend", + ], + meta: {}, + }; + }, + 14523: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e, r, i) { + if ((i || (i = {}), t("contours.showlabels"))) { + var a = e.font; + n.coerceFont(t, "contours.labelfont", { + family: a.family, + size: a.size, + color: r, + }), + t("contours.labelformat"); + } + !1 !== i.hasHover && t("zhoverformat"); + }; + }, + 86068: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(21081), + a = r(53572); + t.exports = function (t) { + var e = t.contours, + r = e.start, + o = a(e), + s = e.size || 1, + l = Math.floor((o - r) / s) + 1, + u = "lines" === e.coloring ? 0 : 1, + c = i.extractOpts(t); + isFinite(s) || ((s = 1), (l = 1)); + var f, + h, + p = c.reversescale + ? i.flipScale(c.colorscale) + : c.colorscale, + d = p.length, + v = new Array(d), + g = new Array(d), + y = c.min, + m = c.max; + if ("heatmap" === e.coloring) { + for (h = 0; h < d; h++) + (f = p[h]), (v[h] = f[0] * (m - y) + y), (g[h] = f[1]); + var x = n.extent([y, m, e.start, e.start + s * (l - 1)]), + b = x[y < m ? 0 : 1], + _ = x[y < m ? 1 : 0]; + b !== y && (v.splice(0, 0, b), g.splice(0, 0, g[0])), + _ !== m && (v.push(_), g.push(g[g.length - 1])); + } else { + var w = + t._input && + "number" == typeof t._input.zmin && + "number" == typeof t._input.zmax; + for ( + w && + (r <= y || o >= m) && + (r <= y && (r = y), + o >= m && (o = m), + (l = Math.floor((o - r) / s) + 1), + (u = 0)), + h = 0; + h < d; + h++ + ) + (f = p[h]), + (v[h] = (f[0] * (l + u - 1) - u / 2) * s + r), + (g[h] = f[1]); + (w || t.autocontour) && + (v[0] > y && (v.unshift(y), g.unshift(g[0])), + v[v.length - 1] < m && + (v.push(m), g.push(g[g.length - 1]))); + } + return i.makeColorScaleFunc( + { domain: v, range: g }, + { noNumericCheck: !0 }, + ); + }; + }, + 87678: function (t, e, r) { + "use strict"; + var n = r(36914); + function i(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; + } + t.exports = function (t) { + var e, + r, + a, + o, + s, + l, + u, + c, + f, + h = t[0].z, + p = h.length, + d = h[0].length, + v = 2 === p || 2 === d; + for (r = 0; r < p - 1; r++) + for ( + o = [], + 0 === r && (o = o.concat(n.BOTTOMSTART)), + r === p - 2 && (o = o.concat(n.TOPSTART)), + e = 0; + e < d - 1; + e++ + ) + for ( + a = o.slice(), + 0 === e && (a = a.concat(n.LEFTSTART)), + e === d - 2 && (a = a.concat(n.RIGHTSTART)), + s = e + "," + r, + l = [ + [h[r][e], h[r][e + 1]], + [h[r + 1][e], h[r + 1][e + 1]], + ], + f = 0; + f < t.length; + f++ + ) + (u = i((c = t[f]).level, l)) && + ((c.crossings[s] = u), + -1 !== a.indexOf(u) && + (c.starts.push([e, r]), + v && + -1 !== a.indexOf(u, a.indexOf(u) + 1) && + c.starts.push([e, r]))); + }; + }, + 29854: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(91424), + o = r(21081), + s = r(63893), + l = r(89298), + u = r(21994), + c = r(50347), + f = r(87678), + h = r(81696), + p = r(87558), + d = r(84857), + v = r(20083), + g = r(36914), + y = g.LABELOPTIMIZER; + function m(t, e) { + var r, + n, + o, + s, + l, + u, + c, + f = "", + h = 0, + p = t.edgepaths.map(function (t, e) { + return e; + }), + d = !0; + function v(t) { + return Math.abs(t[1] - e[2][1]) < 0.01; + } + function g(t) { + return Math.abs(t[0] - e[0][0]) < 0.01; + } + function y(t) { + return Math.abs(t[0] - e[2][0]) < 0.01; + } + for (; p.length; ) { + for ( + u = a.smoothopen(t.edgepaths[h], t.smoothing), + f += d ? u : u.replace(/^M/, "L"), + p.splice(p.indexOf(h), 1), + r = t.edgepaths[h][t.edgepaths[h].length - 1], + s = -1, + o = 0; + o < 4; + o++ + ) { + if (!r) { + i.log("Missing end?", h, t); + break; + } + for ( + c = r, + Math.abs(c[1] - e[0][1]) < 0.01 && !y(r) + ? (n = e[1]) + : g(r) + ? (n = e[0]) + : v(r) + ? (n = e[3]) + : y(r) && (n = e[2]), + l = 0; + l < t.edgepaths.length; + l++ + ) { + var m = t.edgepaths[l][0]; + Math.abs(r[0] - n[0]) < 0.01 + ? Math.abs(r[0] - m[0]) < 0.01 && + (m[1] - r[1]) * (n[1] - m[1]) >= 0 && + ((n = m), (s = l)) + : Math.abs(r[1] - n[1]) < 0.01 + ? Math.abs(r[1] - m[1]) < 0.01 && + (m[0] - r[0]) * (n[0] - m[0]) >= 0 && + ((n = m), (s = l)) + : i.log( + "endpt to newendpt is not vert. or horz.", + r, + n, + m, + ); + } + if (((r = n), s >= 0)) break; + f += "L" + n; + } + if (s === t.edgepaths.length) { + i.log("unclosed perimeter path"); + break; + } + (h = s), + (d = -1 === p.indexOf(h)) && ((h = p[0]), (f += "Z")); + } + for (h = 0; h < t.paths.length; h++) + f += a.smoothclosed(t.paths[h], t.smoothing); + return f; + } + function x(t, e, r, n) { + var a = e.width / 2, + o = e.height / 2, + s = t.x, + l = t.y, + u = t.theta, + c = Math.cos(u) * a, + f = Math.sin(u) * a, + h = + (s > n.center ? n.right - s : s - n.left) / + (c + Math.abs(Math.sin(u) * o)), + p = + (l > n.middle ? n.bottom - l : l - n.top) / + (Math.abs(f) + Math.cos(u) * o); + if (h < 1 || p < 1) return 1 / 0; + var d = y.EDGECOST * (1 / (h - 1) + 1 / (p - 1)); + d += y.ANGLECOST * u * u; + for ( + var v = s - c, g = l - f, m = s + c, x = l + f, b = 0; + b < r.length; + b++ + ) { + var _ = r[b], + w = (Math.cos(_.theta) * _.width) / 2, + T = (Math.sin(_.theta) * _.width) / 2, + k = + (2 * + i.segmentDistance( + v, + g, + m, + x, + _.x - w, + _.y - T, + _.x + w, + _.y + T, + )) / + (e.height + _.height), + A = _.level === e.level, + M = A ? y.SAMELEVELDISTANCE : 1; + if (k <= M) return 1 / 0; + d += + (y.NEIGHBORCOST * (A ? y.SAMELEVELFACTOR : 1)) / + (k - M); + } + return d; + } + function b(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++) i[(r = n[e])[0]][r[1]] = 0; + return (t.zmask = i), i; + } + (e.plot = function (t, r, o, s) { + var l = r.xaxis, + u = r.yaxis; + i.makeTraceGroups(s, o, "contour").each(function (o) { + var s = n.select(this), + y = o[0], + x = y.trace, + _ = y.x, + w = y.y, + T = x.contours, + k = p(T, r, y), + A = i.ensureSingle(s, "g", "heatmapcoloring"), + M = []; + "heatmap" === T.coloring && (M = [o]), + c(t, r, M, A), + f(k), + h(k); + var S = l.c2p(_[0], !0), + E = l.c2p(_[_.length - 1], !0), + L = u.c2p(w[0], !0), + C = u.c2p(w[w.length - 1], !0), + P = [ + [S, C], + [E, C], + [E, L], + [S, L], + ], + O = k; + "constraint" === T.type && (O = d(k, T._operation)), + (function (t, e, r) { + var n = i + .ensureSingle(t, "g", "contourbg") + .selectAll("path") + .data("fill" === r.coloring ? [0] : []); + n.enter().append("path"), + n.exit().remove(), + n + .attr("d", "M" + e.join("L") + "Z") + .style("stroke", "none"); + })(s, P, T), + (function (t, e, r, a) { + var o = + "fill" === a.coloring || + ("constraint" === a.type && "=" !== a._operation), + s = "M" + r.join("L") + "Z"; + o && v(e, a); + var l = i + .ensureSingle(t, "g", "contourfill") + .selectAll("path") + .data(o ? e : []); + l.enter().append("path"), + l.exit().remove(), + l.each(function (t) { + var e = (t.prefixBoundary ? s : "") + m(t, r); + e + ? n + .select(this) + .attr("d", e) + .style("stroke", "none") + : n.select(this).remove(); + }); + })(s, O, P, T), + (function (t, r, o, s, l) { + var u = o._context.staticPlot, + c = i.ensureSingle(t, "g", "contourlines"), + f = !1 !== l.showlines, + h = l.showlabels, + p = f && h, + d = e.createLines(c, f || h, r, u), + v = e.createLineClip(c, p, o, s.trace.uid), + y = t + .selectAll("g.contourlabels") + .data(h ? [0] : []); + if ( + (y.exit().remove(), + y.enter().append("g").classed("contourlabels", !0), + h) + ) { + var m = [], + x = []; + i.clearLocationCache(); + var b = e.labelFormatter(o, s), + _ = a.tester + .append("text") + .attr("data-notex", 1) + .call(a.font, l.labelfont), + w = r[0].xaxis, + T = r[0].yaxis, + k = w._length, + A = T._length, + M = w.range, + S = T.range, + E = i.aggNums(Math.min, null, s.x), + L = i.aggNums(Math.max, null, s.x), + C = i.aggNums(Math.min, null, s.y), + P = i.aggNums(Math.max, null, s.y), + O = Math.max(w.c2p(E, !0), 0), + I = Math.min(w.c2p(L, !0), k), + D = Math.max(T.c2p(P, !0), 0), + z = Math.min(T.c2p(C, !0), A), + R = {}; + M[0] < M[1] + ? ((R.left = O), (R.right = I)) + : ((R.left = I), (R.right = O)), + S[0] < S[1] + ? ((R.top = D), (R.bottom = z)) + : ((R.top = z), (R.bottom = D)), + (R.middle = (R.top + R.bottom) / 2), + (R.center = (R.left + R.right) / 2), + m.push([ + [R.left, R.top], + [R.right, R.top], + [R.right, R.bottom], + [R.left, R.bottom], + ]); + var F = Math.sqrt(k * k + A * A), + B = + (g.LABELDISTANCE * F) / + Math.max(1, r.length / g.LABELINCREASE); + d.each(function (t) { + var r = e.calcTextOpts(t.level, b, _, o); + n.select(this) + .selectAll("path") + .each(function () { + var t = i.getVisibleSegment( + this, + R, + r.height / 2, + ); + if ( + t && + !(t.len < (r.width + r.height) * g.LABELMIN) + ) + for ( + var n = Math.min( + Math.ceil(t.len / B), + g.LABELMAX, + ), + a = 0; + a < n; + a++ + ) { + var o = e.findBestTextLocation( + this, + t, + r, + x, + R, + ); + if (!o) break; + e.addLabelData(o, r, x, m); + } + }); + }), + _.remove(), + e.drawLabels(y, x, o, v, p ? m : null); + } + h && !f && d.remove(); + })(s, k, t, y, T), + (function (t, e, r, n, o) { + var s = n.trace, + l = r._fullLayout._clips, + u = "clip" + s.uid, + c = l + .selectAll("#" + u) + .data(s.connectgaps ? [] : [0]); + if ( + (c + .enter() + .append("clipPath") + .classed("contourclip", !0) + .attr("id", u), + c.exit().remove(), + !1 === s.connectgaps) + ) { + var p = { + level: 0.9, + crossings: {}, + starts: [], + edgepaths: [], + paths: [], + xaxis: e.xaxis, + yaxis: e.yaxis, + x: n.x, + y: n.y, + z: b(n), + smoothing: 0, + }; + f([p]), + h([p]), + v([p], { type: "levels" }), + i + .ensureSingle(c, "path", "") + .attr( + "d", + (p.prefixBoundary + ? "M" + o.join("L") + "Z" + : "") + m(p, o), + ); + } else u = null; + a.setClipUrl(t, u, r); + })(s, r, t, y, P); + }); + }), + (e.createLines = function (t, e, r, n) { + var i = r[0].smoothing, + o = t.selectAll("g.contourlevel").data(e ? r : []); + if ( + (o.exit().remove(), + o.enter().append("g").classed("contourlevel", !0), + e) + ) { + var s = o.selectAll("path.openline").data(function (t) { + return t.pedgepaths || t.edgepaths; + }); + s.exit().remove(), + s.enter().append("path").classed("openline", !0), + s + .attr("d", function (t) { + return a.smoothopen(t, i); + }) + .style("stroke-miterlimit", 1) + .style( + "vector-effect", + n ? "none" : "non-scaling-stroke", + ); + var l = o + .selectAll("path.closedline") + .data(function (t) { + return t.ppaths || t.paths; + }); + l.exit().remove(), + l.enter().append("path").classed("closedline", !0), + l + .attr("d", function (t) { + return a.smoothclosed(t, i); + }) + .style("stroke-miterlimit", 1) + .style( + "vector-effect", + n ? "none" : "non-scaling-stroke", + ); + } + return o; + }), + (e.createLineClip = function (t, e, r, n) { + var i = e ? "clipline" + n : null, + o = r._fullLayout._clips + .selectAll("#" + i) + .data(e ? [0] : []); + return ( + o.exit().remove(), + o + .enter() + .append("clipPath") + .classed("contourlineclip", !0) + .attr("id", i), + a.setClipUrl(t, i, r), + o + ); + }), + (e.labelFormatter = function (t, e) { + var r = t._fullLayout, + n = e.trace, + i = n.contours, + a = { + type: "linear", + _id: "ycontour", + showexponent: "all", + exponentformat: "B", + }; + if (i.labelformat) + (a.tickformat = i.labelformat), u(a, r); + else { + var s = o.extractOpts(n); + if (s && s.colorbar && s.colorbar._axis) + a = s.colorbar._axis; + else { + if ("constraint" === i.type) { + var c = i.value; + Array.isArray(c) + ? (a.range = [c[0], c[c.length - 1]]) + : (a.range = [c, c]); + } else + (a.range = [i.start, i.end]), + (a.nticks = (i.end - i.start) / i.size); + a.range[0] === a.range[1] && + (a.range[1] += a.range[0] || 1), + a.nticks || (a.nticks = 1e3), + u(a, r), + l.prepTicks(a), + (a._tmin = null), + (a._tmax = null); + } + } + return function (t) { + return l.tickText(a, t).text; + }; + }), + (e.calcTextOpts = function (t, e, r, n) { + var i = e(t); + r.text(i).call(s.convertToTspans, n); + var o = r.node(), + l = a.bBox(o, !0); + return { + text: i, + width: l.width, + height: l.height, + fontSize: +o.style["font-size"].replace("px", ""), + level: t, + dy: (l.top + l.bottom) / 2, + }; + }), + (e.findBestTextLocation = function (t, e, r, n, a) { + var o, + s, + l, + u, + c, + f = r.width; + e.isClosed + ? ((s = e.len / y.INITIALSEARCHPOINTS), + (o = e.min + s / 2), + (l = e.max)) + : ((s = (e.len - f) / (y.INITIALSEARCHPOINTS + 1)), + (o = e.min + s + f / 2), + (l = e.max - (s + f) / 2)); + for (var h = 1 / 0, p = 0; p < y.ITERATIONS; p++) { + for (var d = o; d < l; d += s) { + var v = i.getTextLocation(t, e.total, d, f), + g = x(v, r, n, a); + g < h && ((h = g), (c = v), (u = d)); + } + if (h > 2 * y.MAXCOST) break; + p && (s /= 2), (l = (o = u - s / 2) + 1.5 * s); + } + if (h <= y.MAXCOST) return c; + }), + (e.addLabelData = function (t, e, r, n) { + var i = e.fontSize, + a = e.width + i / 3, + o = Math.max(0, e.height - i / 3), + s = t.x, + l = t.y, + u = t.theta, + c = Math.sin(u), + f = Math.cos(u), + h = function (t, e) { + return [s + t * f - e * c, l + t * c + e * f]; + }, + p = [ + h(-a / 2, -o / 2), + h(-a / 2, o / 2), + h(a / 2, o / 2), + h(a / 2, -o / 2), + ]; + r.push({ + text: e.text, + x: s, + y: l, + dy: e.dy, + theta: u, + level: e.level, + width: a, + height: o, + }), + n.push(p); + }), + (e.drawLabels = function (t, e, r, a, o) { + var l = t.selectAll("text").data(e, function (t) { + return t.text + "," + t.x + "," + t.y + "," + t.theta; + }); + if ( + (l.exit().remove(), + l + .enter() + .append("text") + .attr({ "data-notex": 1, "text-anchor": "middle" }) + .each(function (t) { + var e = t.x + Math.sin(t.theta) * t.dy, + i = t.y - Math.cos(t.theta) * t.dy; + n.select(this) + .text(t.text) + .attr({ + x: e, + y: i, + transform: + "rotate(" + + (180 * t.theta) / Math.PI + + " " + + e + + " " + + i + + ")", + }) + .call(s.convertToTspans, r); + }), + o) + ) { + for (var u = "", c = 0; c < o.length; c++) + u += "M" + o[c].join("L") + "Z"; + i.ensureSingle(a, "path", "").attr("d", u); + } + }); + }, + 18670: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(71828); + function a(t, e, r) { + var i = { type: "linear", range: [t, e] }; + return n.autoTicks(i, (e - t) / (r || 15)), i; + } + t.exports = function (t, e) { + var r = t.contours; + if (t.autocontour) { + var o = t.zmin, + s = t.zmax; + (t.zauto || void 0 === o) && + (o = i.aggNums(Math.min, null, e)), + (t.zauto || void 0 === s) && + (s = i.aggNums(Math.max, null, e)); + var l = a(o, s, t.ncontours); + (r.size = l.dtick), + (r.start = n.tickFirst(l)), + l.range.reverse(), + (r.end = n.tickFirst(l)), + r.start === o && (r.start += r.size), + r.end === s && (r.end -= r.size), + r.start > r.end && + (r.start = r.end = (r.start + r.end) / 2), + t._input.contours || (t._input.contours = {}), + i.extendFlat(t._input.contours, { + start: r.start, + end: r.end, + size: r.size, + }), + (t._input.autocontour = !0); + } else if ("constraint" !== r.type) { + var u, + c = r.start, + f = r.end, + h = t._input.contours; + c > f && + ((r.start = h.start = f), + (f = r.end = h.end = c), + (c = r.start)), + r.size > 0 || + ((u = c === f ? 1 : a(c, f, t.ncontours).dtick), + (h.size = r.size = u)); + } + }; + }, + 84426: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(91424), + a = r(70035), + o = r(86068); + t.exports = function (t) { + var e = n.select(t).selectAll("g.contour"); + e.style("opacity", function (t) { + return t[0].trace.opacity; + }), + e.each(function (t) { + var e = n.select(this), + r = t[0].trace, + a = r.contours, + s = r.line, + l = a.size || 1, + u = a.start, + c = "constraint" === a.type, + f = !c && "lines" === a.coloring, + h = !c && "fill" === a.coloring, + p = f || h ? o(r) : null; + e.selectAll("g.contourlevel").each(function (t) { + n.select(this) + .selectAll("path") + .call( + i.lineGroupStyle, + s.width, + f ? p(t.level) : s.color, + s.dash, + ); + }); + var d = a.labelfont; + if ( + (e + .selectAll("g.contourlabels text") + .each(function (t) { + i.font(n.select(this), { + family: d.family, + size: d.size, + color: d.color || (f ? p(t.level) : s.color), + }); + }), + c) + ) + e.selectAll("g.contourfill path").style( + "fill", + r.fillcolor, + ); + else if (h) { + var v; + e + .selectAll("g.contourfill path") + .style("fill", function (t) { + return ( + void 0 === v && (v = t.level), + p(t.level + 0.5 * l) + ); + }), + void 0 === v && (v = u), + e + .selectAll("g.contourbg path") + .style("fill", p(v - 0.5 * l)); + } + }), + a(t); + }; + }, + 8724: function (t, e, r) { + "use strict"; + var n = r(1586), + i = r(14523); + t.exports = function (t, e, r, a, o) { + var s, + l = r("contours.coloring"), + u = ""; + "fill" === l && (s = r("contours.showlines")), + !1 !== s && + ("lines" !== l && (u = r("line.color", "#000")), + r("line.width", 0.5), + r("line.dash")), + "none" !== l && + (!0 !== t.showlegend && (e.showlegend = !1), + (e._dfltShowLegend = !1), + n(t, e, a, r, { prefix: "", cLetter: "z" })), + r("line.smoothing"), + i(r, a, u, o); + }; + }, + 88085: function (t, e, r) { + "use strict"; + var n = r(21606), + i = r(70600), + a = r(50693), + o = r(1426).extendFlat, + s = i.contours; + t.exports = o( + { + carpet: { valType: "string", editType: "calc" }, + z: n.z, + a: n.x, + a0: n.x0, + da: n.dx, + b: n.y, + b0: n.y0, + db: n.dy, + text: n.text, + hovertext: n.hovertext, + transpose: n.transpose, + atype: n.xtype, + btype: n.ytype, + fillcolor: i.fillcolor, + autocontour: i.autocontour, + ncontours: i.ncontours, + contours: { + type: s.type, + start: s.start, + end: s.end, + size: s.size, + coloring: { + valType: "enumerated", + values: ["fill", "lines", "none"], + dflt: "fill", + editType: "calc", + }, + showlines: s.showlines, + showlabels: s.showlabels, + labelfont: s.labelfont, + labelformat: s.labelformat, + operation: s.operation, + value: s.value, + editType: "calc", + impliedEdits: { autocontour: !1 }, + }, + line: { + color: i.line.color, + width: i.line.width, + dash: i.line.dash, + smoothing: i.line.smoothing, + editType: "plot", + }, + transforms: void 0, + }, + a("", { cLetter: "z", autoColorDflt: !1 }), + ); + }, + 59885: function (t, e, r) { + "use strict"; + var n = r(78803), + i = r(71828), + a = r(68296), + o = r(4742), + s = r(824), + l = r(43907), + u = r(70769), + c = r(75005), + f = r(22882), + h = r(18670); + t.exports = function (t, e) { + var r = (e._carpetTrace = f(t, e)); + if (r && r.visible && "legendonly" !== r.visible) { + if (!e.a || !e.b) { + var p = t.data[r.index], + d = t.data[e.index]; + d.a || (d.a = p.a), + d.b || (d.b = p.b), + c(d, e, e._defaultColor, t._fullLayout); + } + var v = (function (t, e) { + var r, + c, + f, + h, + p, + d, + v, + g = e._carpetTrace, + y = g.aaxis, + m = g.baxis; + (y._minDtick = 0), + (m._minDtick = 0), + i.isArray1D(e.z) && a(e, y, m, "a", "b", ["z"]), + (r = e._a = e._a || e.a), + (h = e._b = e._b || e.b), + (r = r ? y.makeCalcdata(e, "_a") : []), + (h = h ? m.makeCalcdata(e, "_b") : []), + (c = e.a0 || 0), + (f = e.da || 1), + (p = e.b0 || 0), + (d = e.db || 1), + (v = e._z = o(e._z || e.z, e.transpose)), + (e._emptypoints = l(v)), + s(v, e._emptypoints); + var x = i.maxRowLength(v), + b = "scaled" === e.xtype ? "" : r, + _ = u(e, b, c, f, x, y), + w = "scaled" === e.ytype ? "" : h, + T = { a: _, b: u(e, w, p, d, v.length, m), z: v }; + return ( + "levels" === e.contours.type && + "none" !== e.contours.coloring && + n(t, e, { + vals: v, + containerStr: "", + cLetter: "z", + }), + [T] + ); + })(t, e); + return h(e, e._z), v; + } + }; + }, + 75005: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(67684), + a = r(88085), + o = r(83179), + s = r(67217), + l = r(8724); + t.exports = function (t, e, r, u) { + function c(r, i) { + return n.coerce(t, e, a, r, i); + } + if ((c("carpet"), t.a && t.b)) { + if (!i(t, e, c, u, "a", "b")) + return void (e.visible = !1); + c("text"), + "constraint" === c("contours.type") + ? o(t, e, c, u, r, { hasHover: !1 }) + : (s(t, e, c, function (r) { + return n.coerce2(t, e, a, r); + }), + l(t, e, c, u, { hasHover: !1 })); + } else (e._defaultColor = r), (e._length = null); + }; + }, + 93740: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(88085), + supplyDefaults: r(75005), + colorbar: r(90654), + calc: r(59885), + plot: r(51048), + style: r(84426), + moduleType: "trace", + name: "contourcarpet", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "carpet", + "contour", + "symbols", + "showLegend", + "hasLines", + "carpetDependent", + "noHover", + "noSortingByValue", + ], + meta: {}, + }; + }, + 51048: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(27669), + a = r(67961), + o = r(91424), + s = r(71828), + l = r(87678), + u = r(81696), + c = r(29854), + f = r(36914), + h = r(84857), + p = r(87558), + d = r(20083), + v = r(22882), + g = r(4536); + function y(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 m(t) { + var e = Math.sqrt(t[0] * t[0] + t[1] * t[1]); + return [t[0] / e, t[1] / e]; + } + function x(t, e) { + var r = Math.abs(t[0] * e[0] + t[1] * e[1]); + return Math.sqrt(1 - r * r) / r; + } + t.exports = function (t, e, r, b) { + var _ = e.xaxis, + w = e.yaxis; + s.makeTraceGroups(b, r, "contour").each(function (r) { + var b = n.select(this), + T = r[0], + k = T.trace, + A = (k._carpetTrace = v(t, k)), + M = t.calcdata[A.index][0]; + if (A.visible && "legendonly" !== A.visible) { + var S = T.a, + E = T.b, + L = k.contours, + C = p(L, e, T), + P = "constraint" === L.type, + O = L._operation, + I = P ? ("=" === O ? "lines" : "fill") : L.coloring, + D = [ + [S[0], E[E.length - 1]], + [S[S.length - 1], E[E.length - 1]], + [S[S.length - 1], E[0]], + [S[0], E[0]], + ]; + l(C); + var z = 1e-8 * (S[S.length - 1] - S[0]), + R = 1e-8 * (E[E.length - 1] - E[0]); + u(C, z, R); + var F, + B, + N, + j, + U = C; + "constraint" === L.type && (U = h(C, O)), + (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); + } + } + })(C, q); + var V = []; + for (j = M.clipsegments.length - 1; j >= 0; j--) + (F = M.clipsegments[j]), + (B = i([], F.x, _.c2p)), + (N = i([], F.y, w.c2p)), + B.reverse(), + N.reverse(), + V.push(a(B, N, F.bicubic)); + var H = "M" + V.join("L") + "Z"; + !(function (t, e, r, n, o, l) { + var u, + c, + f, + h, + p = s + .ensureSingle(t, "g", "contourbg") + .selectAll("path") + .data("fill" !== l || o ? [] : [0]); + p.enter().append("path"), p.exit().remove(); + var d = []; + for (h = 0; h < e.length; h++) + (u = e[h]), + (c = i([], u.x, r.c2p)), + (f = i([], u.y, n.c2p)), + d.push(a(c, f, u.bicubic)); + p.attr("d", "M" + d.join("L") + "Z").style( + "stroke", + "none", + ); + })(b, M.clipsegments, _, w, P, I), + (function (t, e, r, i, a, l, u, c, f, h, p) { + var v = "fill" === h; + v && d(a, t.contours); + var y = s + .ensureSingle(e, "g", "contourfill") + .selectAll("path") + .data(v ? a : []); + y.enter().append("path"), + y.exit().remove(), + y.each(function (t) { + var e = + (t.prefixBoundary ? p : "") + + (function (t, e, r, n, i, a, l, u) { + var c, + f, + h, + p, + d, + v, + y, + m = "", + x = e.edgepaths.map(function (t, e) { + return e; + }), + b = !0, + _ = 1e-4 * Math.abs(r[0][0] - r[2][0]), + w = 1e-4 * Math.abs(r[0][1] - r[2][1]); + function T(t) { + return Math.abs(t[1] - r[0][1]) < w; + } + function k(t) { + return Math.abs(t[1] - r[2][1]) < w; + } + function A(t) { + return Math.abs(t[0] - r[0][0]) < _; + } + function M(t) { + return Math.abs(t[0] - r[2][0]) < _; + } + function S(t, e) { + var r, + n, + o, + s, + c = ""; + for ( + (T(t) && !M(t)) || (k(t) && !A(t)) + ? ((s = i.aaxis), + (o = g( + i, + a, + [t[0], e[0]], + 0.5 * (t[1] + e[1]), + ))) + : ((s = i.baxis), + (o = g(i, a, 0.5 * (t[0] + e[0]), [ + t[1], + e[1], + ]))), + r = 1; + r < o.length; + r++ + ) + for ( + c += s.smoothing ? "C" : "L", n = 0; + n < o[r].length; + n++ + ) { + var f = o[r][n]; + c += [l.c2p(f[0]), u.c2p(f[1])] + " "; + } + return c; + } + for (c = 0, f = null; x.length; ) { + var E = e.edgepaths[c][0]; + for ( + f && (m += S(f, E)), + y = o.smoothopen( + e.edgepaths[c].map(n), + e.smoothing, + ), + m += b ? y : y.replace(/^M/, "L"), + x.splice(x.indexOf(c), 1), + f = + e.edgepaths[c][ + e.edgepaths[c].length - 1 + ], + d = -1, + p = 0; + p < 4; + p++ + ) { + if (!f) { + s.log("Missing end?", c, e); + break; + } + for ( + T(f) && !M(f) + ? (h = r[1]) + : A(f) + ? (h = r[0]) + : k(f) + ? (h = r[3]) + : M(f) && (h = r[2]), + v = 0; + v < e.edgepaths.length; + v++ + ) { + var L = e.edgepaths[v][0]; + Math.abs(f[0] - h[0]) < _ + ? Math.abs(f[0] - L[0]) < _ && + (L[1] - f[1]) * (h[1] - L[1]) >= + 0 && + ((h = L), (d = v)) + : Math.abs(f[1] - h[1]) < w + ? Math.abs(f[1] - L[1]) < w && + (L[0] - f[0]) * (h[0] - L[0]) >= + 0 && + ((h = L), (d = v)) + : s.log( + "endpt to newendpt is not vert. or horz.", + f, + h, + L, + ); + } + if (d >= 0) break; + (m += S(f, h)), (f = h); + } + if (d === e.edgepaths.length) { + s.log("unclosed perimeter path"); + break; + } + (c = d), + (b = -1 === x.indexOf(c)) && + ((c = x[0]), + (m += S(f, h) + "Z"), + (f = null)); + } + for (c = 0; c < e.paths.length; c++) + m += o.smoothclosed( + e.paths[c].map(n), + e.smoothing, + ); + return m; + })(0, t, l, u, c, f, r, i); + e + ? n + .select(this) + .attr("d", e) + .style("stroke", "none") + : n.select(this).remove(); + }); + })(k, b, _, w, U, D, q, A, M, I, H), + (function (t, e, r, i, a, l, u) { + var h = r._context.staticPlot, + p = s.ensureSingle(t, "g", "contourlines"), + d = !1 !== a.showlines, + v = a.showlabels, + g = d && v, + b = c.createLines(p, d || v, e, h), + _ = c.createLineClip(p, g, r, i.trace.uid), + w = t + .selectAll("g.contourlabels") + .data(v ? [0] : []); + if ( + (w.exit().remove(), + w + .enter() + .append("g") + .classed("contourlabels", !0), + v) + ) { + var T = l.xaxis, + k = l.yaxis, + A = T._length, + M = k._length, + S = [ + [ + [0, 0], + [A, 0], + [A, M], + [0, M], + ], + ], + E = []; + s.clearLocationCache(); + var L = c.labelFormatter(r, i), + C = o.tester + .append("text") + .attr("data-notex", 1) + .call(o.font, a.labelfont), + P = { + left: 0, + right: A, + center: A / 2, + top: 0, + bottom: M, + middle: M / 2, + }, + O = Math.sqrt(A * A + M * M), + I = + (f.LABELDISTANCE * O) / + Math.max(1, e.length / f.LABELINCREASE); + b.each(function (t) { + var e = c.calcTextOpts(t.level, L, C, r); + n.select(this) + .selectAll("path") + .each(function (r) { + var n = this, + i = s.getVisibleSegment( + n, + P, + e.height / 2, + ); + if ( + i && + ((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) { + var l = i.a[0], + u = i.a[i.a.length - 1], + c = i.b[0], + f = i.b[i.b.length - 1], + h = y(t, 0, 1), + p = y(t, n.total, n.total - 1), + d = g(o[0], h), + v = n.total - g(o[o.length - 1], p); + n.min < d && (n.min = d), + n.max > v && (n.max = v), + (n.len = n.max - n.min); + } + function g(t, e) { + var r, + n = 0, + o = 0.1; + return ( + (Math.abs(t[0] - l) < o || + Math.abs(t[0] - u) < o) && + ((r = m( + i.dxydb_rough(t[0], t[1], o), + )), + (n = Math.max( + n, + (a * x(e, r)) / 2, + ))), + (Math.abs(t[1] - c) < o || + Math.abs(t[1] - f) < o) && + ((r = m( + i.dxyda_rough(t[0], t[1], o), + )), + (n = Math.max( + n, + (a * x(e, r)) / 2, + ))), + n + ); + } + })(n, r, t, i, u, e.height), + !( + i.len < + (e.width + e.height) * f.LABELMIN + )) + ) + for ( + var a = Math.min( + Math.ceil(i.len / I), + f.LABELMAX, + ), + o = 0; + o < a; + o++ + ) { + var l = c.findBestTextLocation( + n, + i, + e, + E, + P, + ); + if (!l) break; + c.addLabelData(l, e, E, S); + } + }); + }), + C.remove(), + c.drawLabels(w, E, r, _, g ? S : null); + } + v && !d && b.remove(); + })(b, C, t, T, L, e, A), + o.setClipUrl(b, A._clipPathId, t); + } + function q(t) { + var e = A.ab2xy(t[0], t[1], !0); + return [_.c2p(e[0]), w.c2p(e[1])]; + } + }); + }; + }, + 64096: function (t, e, r) { + "use strict"; + var n = r(50693), + i = r(5386).fF, + a = r(9012), + o = r(99181), + s = r(1426).extendFlat; + t.exports = s( + { + lon: o.lon, + lat: o.lat, + z: { valType: "data_array", editType: "calc" }, + radius: { + valType: "number", + editType: "plot", + arrayOk: !0, + min: 1, + dflt: 30, + }, + below: { valType: "string", editType: "plot" }, + text: o.text, + hovertext: o.hovertext, + hoverinfo: s({}, a.hoverinfo, { + flags: ["lon", "lat", "z", "text", "name"], + }), + hovertemplate: i(), + showlegend: s({}, a.showlegend, { dflt: !1 }), + }, + n("", { cLetter: "z", editTypeOverride: "calc" }), + ); + }, + 85070: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828).isArrayOrTypedArray, + a = r(50606).BADNUM, + o = r(78803), + s = r(71828)._; + t.exports = function (t, e) { + for ( + var r = e._length, + l = new Array(r), + u = e.z, + c = i(u) && u.length, + f = 0; + f < r; + f++ + ) { + var h = (l[f] = {}), + p = e.lon[f], + d = e.lat[f]; + if (((h.lonlat = n(p) && n(d) ? [+p, +d] : [a, a]), c)) { + var v = u[f]; + h.z = n(v) ? v : a; + } + } + return ( + o(t, e, { + vals: c ? u : [0, 1], + containerStr: "", + cLetter: "z", + }), + r && + (l[0].t = { + labels: { + lat: s(t, "lat:") + " ", + lon: s(t, "lon:") + " ", + }, + }), + l + ); + }; + }, + 52414: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(7901), + o = r(21081), + s = r(50606).BADNUM, + l = r(18214).makeBlank; + t.exports = function (t) { + var e = t[0].trace, + r = !0 === e.visible && 0 !== e._length, + u = (e._opts = { + heatmap: { layout: { visibility: "none" }, paint: {} }, + geojson: l(), + }); + if (!r) return u; + var c, + f = [], + h = e.z, + p = e.radius, + d = i.isArrayOrTypedArray(h) && h.length, + v = i.isArrayOrTypedArray(p); + for (c = 0; c < t.length; c++) { + var g = t[c], + y = g.lonlat; + if (y[0] !== s) { + var m = {}; + if (d) { + var x = g.z; + m.z = x !== s ? x : 0; + } + v && (m.r = n(p[c]) && p[c] > 0 ? +p[c] : 0), + f.push({ + type: "Feature", + geometry: { type: "Point", coordinates: y }, + properties: m, + }); + } + } + var b = o.extractOpts(e), + _ = b.reversescale + ? o.flipScale(b.colorscale) + : b.colorscale, + w = _[0][1], + T = [ + "interpolate", + ["linear"], + ["heatmap-density"], + 0, + a.opacity(w) < 1 ? w : a.addOpacity(w, 0), + ]; + for (c = 1; c < _.length; c++) T.push(_[c][0], _[c][1]); + var k = [ + "interpolate", + ["linear"], + ["get", "z"], + b.min, + 0, + b.max, + 1, + ]; + return ( + i.extendFlat(u.heatmap.paint, { + "heatmap-weight": d ? k : 1 / (b.max - b.min), + "heatmap-color": T, + "heatmap-radius": v + ? { type: "identity", property: "r" } + : e.radius, + "heatmap-opacity": e.opacity, + }), + (u.geojson = { type: "FeatureCollection", features: f }), + (u.heatmap.layout.visibility = "visible"), + u + ); + }; + }, + 79429: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(1586), + a = r(64096); + t.exports = function (t, e, r, o) { + function s(r, i) { + return n.coerce(t, e, a, r, i); + } + var l = s("lon") || [], + u = s("lat") || [], + c = Math.min(l.length, u.length); + c + ? ((e._length = c), + s("z"), + s("radius"), + s("below"), + s("text"), + s("hovertext"), + s("hovertemplate"), + i(t, e, o, s, { prefix: "", cLetter: "z" })) + : (e.visible = !1); + }; + }, + 62474: function (t) { + "use strict"; + t.exports = function (t, e) { + return (t.lon = e.lon), (t.lat = e.lat), (t.z = e.z), t; + }; + }, + 84684: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(28178).hoverPoints, + a = r(28178).getExtraText; + t.exports = function (t, e, r) { + var o = i(t, e, r); + if (o) { + var s = o[0], + l = s.cd, + u = l[0].trace, + c = l[s.index]; + if ((delete s.color, "z" in c)) { + var f = s.subplot.mockAxis; + (s.z = c.z), + (s.zLabel = n.tickText(f, f.c2l(c.z), "hover").text); + } + return (s.extraText = a(u, c, l[0].t.labels)), [s]; + } + }; + }, + 93814: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(64096), + supplyDefaults: r(79429), + colorbar: r(61243), + formatLabels: r(15636), + calc: r(85070), + plot: r(7336), + hoverPoints: r(84684), + eventData: r(62474), + getBelow: function (t, e) { + for (var r = e.getMapLayers(), n = 0; n < r.length; n++) { + var i = r[n], + a = i.id; + if ( + "symbol" === i.type && + "string" == typeof a && + -1 === a.indexOf("plotly-") + ) + return a; + } + }, + moduleType: "trace", + name: "densitymapbox", + basePlotModule: r(50101), + categories: ["mapbox", "gl", "showLegend"], + meta: { hr_name: "density_mapbox" }, + }; + }, + 7336: function (t, e, r) { + "use strict"; + var n = r(52414), + i = r(77734).traceLayerPrefix; + function a(t, e) { + (this.type = "densitymapbox"), + (this.subplot = t), + (this.uid = e), + (this.sourceId = "source-" + e), + (this.layerList = [["heatmap", i + e + "-heatmap"]]), + (this.below = null); + } + var o = a.prototype; + (o.update = function (t) { + var e = this.subplot, + r = this.layerList, + i = n(t), + a = e.belowLookup["trace-" + this.uid]; + e.map.getSource(this.sourceId).setData(i.geojson), + a !== this.below && + (this._removeLayers(), + this._addLayers(i, a), + (this.below = a)); + for (var o = 0; o < r.length; o++) { + var s = r[o], + l = s[0], + u = s[1], + c = i[l]; + e.setOptions(u, "setLayoutProperty", c.layout), + "visible" === c.layout.visibility && + e.setOptions(u, "setPaintProperty", c.paint); + } + }), + (o._addLayers = function (t, e) { + for ( + var r = this.subplot, + n = this.layerList, + i = this.sourceId, + a = 0; + a < n.length; + a++ + ) { + var o = n[a], + s = o[0], + l = t[s]; + r.addLayer( + { + type: s, + id: o[1], + source: i, + layout: l.layout, + paint: l.paint, + }, + e, + ); + } + }), + (o._removeLayers = function () { + for ( + var t = this.subplot.map, + e = this.layerList, + r = e.length - 1; + r >= 0; + r-- + ) + t.removeLayer(e[r][1]); + }), + (o.dispose = function () { + var t = this.subplot.map; + this._removeLayers(), t.removeSource(this.sourceId); + }), + (t.exports = function (t, e) { + var r = e[0].trace, + i = new a(t, r.uid), + o = i.sourceId, + s = n(e), + l = (i.below = t.belowLookup["trace-" + r.uid]); + return ( + t.map.addSource(o, { + type: "geojson", + data: s.geojson, + }), + i._addLayers(s, l), + i + ); + }); + }, + 49789: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e) { + for (var r = 0; r < t.length; r++) t[r].i = r; + n.mergeArray(e.text, t, "tx"), + n.mergeArray(e.hovertext, t, "htx"); + var i = e.marker; + if (i) { + n.mergeArray(i.opacity, t, "mo"), + n.mergeArray(i.color, t, "mc"); + var a = i.line; + a && + (n.mergeArray(a.color, t, "mlc"), + n.mergeArrayCastPositive(a.width, t, "mlw")); + } + }; + }, + 1285: function (t, e, r) { + "use strict"; + var n, + i = r(1486), + a = r(82196).line, + o = r(9012), + s = r(12663).axisHoverFormat, + l = r(5386).fF, + u = r(5386).si, + c = r(18517), + f = r(1426).extendFlat, + h = r(7901); + t.exports = { + x: i.x, + x0: i.x0, + dx: i.dx, + y: i.y, + y0: i.y0, + dy: i.dy, + xperiod: i.xperiod, + yperiod: i.yperiod, + xperiod0: i.xperiod0, + yperiod0: i.yperiod0, + xperiodalignment: i.xperiodalignment, + yperiodalignment: i.yperiodalignment, + xhoverformat: s("x"), + yhoverformat: s("y"), + hovertext: i.hovertext, + hovertemplate: l({}, { keys: c.eventDataKeys }), + hoverinfo: f({}, o.hoverinfo, { + flags: [ + "name", + "x", + "y", + "text", + "percent initial", + "percent previous", + "percent total", + ], + }), + textinfo: { + valType: "flaglist", + flags: [ + "label", + "text", + "percent initial", + "percent previous", + "percent total", + "value", + ], + extras: ["none"], + editType: "plot", + arrayOk: !1, + }, + texttemplate: u( + { editType: "plot" }, + { keys: c.eventDataKeys.concat(["label", "value"]) }, + ), + text: i.text, + textposition: i.textposition, + insidetextanchor: f({}, i.insidetextanchor, { + dflt: "middle", + }), + textangle: f({}, i.textangle, { dflt: 0 }), + textfont: i.textfont, + insidetextfont: i.insidetextfont, + outsidetextfont: i.outsidetextfont, + constraintext: i.constraintext, + cliponaxis: i.cliponaxis, + orientation: f({}, i.orientation, {}), + offset: f({}, i.offset, { arrayOk: !1 }), + width: f({}, i.width, { arrayOk: !1 }), + marker: ((n = f({}, i.marker)), delete n.pattern, n), + connector: { + fillcolor: { valType: "color", editType: "style" }, + line: { + color: f({}, a.color, { dflt: h.defaultLine }), + width: f({}, a.width, { dflt: 0, editType: "plot" }), + dash: a.dash, + editType: "style", + }, + visible: { + valType: "boolean", + dflt: !0, + editType: "plot", + }, + editType: "plot", + }, + offsetgroup: i.offsetgroup, + alignmentgroup: i.alignmentgroup, + }; + }, + 9532: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(42973), + a = r(49789), + o = r(66279), + s = r(50606).BADNUM; + function l(t) { + return t === s ? 0 : t; + } + t.exports = function (t, e) { + var r, + u, + c, + f, + h, + p, + d, + v, + g = n.getFromId(t, e.xaxis || "x"), + y = n.getFromId(t, e.yaxis || "y"); + "h" === e.orientation + ? ((r = g.makeCalcdata(e, "x")), + (c = y.makeCalcdata(e, "y")), + (f = i(e, y, "y", c)), + (h = !!e.yperiodalignment), + (p = "y")) + : ((r = y.makeCalcdata(e, "y")), + (c = g.makeCalcdata(e, "x")), + (f = i(e, g, "x", c)), + (h = !!e.xperiodalignment), + (p = "x")), + (u = f.vals); + var m, + x = Math.min(u.length, r.length), + b = new Array(x); + for (e._base = [], d = 0; d < x; d++) { + r[d] < 0 && (r[d] = s); + var _ = !1; + r[d] !== s && d + 1 < x && r[d + 1] !== s && (_ = !0), + (v = b[d] = { p: u[d], s: r[d], cNext: _ }), + (e._base[d] = -0.5 * v.s), + h && + ((b[d].orig_p = c[d]), + (b[d][p + "End"] = f.ends[d]), + (b[d][p + "Start"] = f.starts[d])), + e.ids && (v.id = String(e.ids[d])), + 0 === d && (b[0].vTotal = 0), + (b[0].vTotal += l(v.s)), + (v.begR = l(v.s) / l(b[0].s)); + } + for (d = 0; d < x; d++) + (v = b[d]).s !== s && + ((v.sumR = v.s / b[0].vTotal), + (v.difR = void 0 !== m ? v.s / m : 1), + (m = v.s)); + return a(b, e), o(b, e), b; + }; + }, + 18517: function (t) { + "use strict"; + t.exports = { + eventDataKeys: [ + "percentInitial", + "percentPrevious", + "percentTotal", + ], + }; + }, + 8984: function (t, e, r) { + "use strict"; + var n = r(11661).setGroupPositions; + t.exports = function (t, e) { + var r, + i, + a = t._fullLayout, + o = t._fullData, + s = t.calcdata, + l = e.xaxis, + u = e.yaxis, + c = [], + f = [], + h = []; + for (i = 0; i < o.length; i++) { + var p = o[i], + d = "h" === p.orientation; + !0 === p.visible && + p.xaxis === l._id && + p.yaxis === u._id && + "funnel" === p.type && + ((r = s[i]), d ? h.push(r) : f.push(r), c.push(r)); + } + var v = { + mode: a.funnelmode, + norm: a.funnelnorm, + gap: a.funnelgap, + groupgap: a.funnelgroupgap, + }; + for ( + n(t, l, u, f, v), n(t, u, l, h, v), i = 0; + i < c.length; + i++ + ) { + r = c[i]; + for (var g = 0; g < r.length; g++) + g + 1 < r.length && + ((r[g].nextP0 = r[g + 1].p0), + (r[g].nextS0 = r[g + 1].s0), + (r[g].nextP1 = r[g + 1].p1), + (r[g].nextS1 = r[g + 1].s1)); + } + }; + }, + 26199: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(26125), + a = r(90769).handleText, + o = r(67513), + s = r(73927), + l = r(1285), + u = r(7901); + t.exports = { + supplyDefaults: function (t, e, r, i) { + function c(r, i) { + return n.coerce(t, e, l, r, i); + } + if (o(t, e, i, c)) { + s(t, e, i, c), + c("xhoverformat"), + c("yhoverformat"), + c("orientation", e.y && !e.x ? "v" : "h"), + c("offset"), + c("width"); + var f = c("text"); + c("hovertext"), c("hovertemplate"); + var h = c("textposition"); + a(t, e, i, c, h, { + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !0, + moduleHasCliponaxis: !0, + moduleHasTextangle: !0, + moduleHasInsideanchor: !0, + }), + "none" === e.textposition || + e.texttemplate || + c( + "textinfo", + Array.isArray(f) ? "text+value" : "value", + ); + var p = c("marker.color", r); + c("marker.line.color", u.defaultLine), + c("marker.line.width"), + c("connector.visible") && + (c( + "connector.fillcolor", + (function (t) { + var e = n.isArrayOrTypedArray(t) ? "#000" : t; + return u.addOpacity(e, 0.5 * u.opacity(e)); + })(p), + ), + c("connector.line.width") && + (c("connector.line.color"), + c("connector.line.dash"))); + } else e.visible = !1; + }, + crossTraceDefaults: function (t, e) { + var r, a; + function o(t) { + return n.coerce(a._input, a, l, t); + } + if ("group" === e.funnelmode) + for (var s = 0; s < t.length; s++) + (r = (a = t[s])._input), i(r, a, e, o); + }, + }; + }, + 34598: function (t) { + "use strict"; + t.exports = function (t, e) { + return ( + (t.x = "xVal" in e ? e.xVal : e.x), + (t.y = "yVal" in e ? e.yVal : e.y), + "percentInitial" in e && + (t.percentInitial = e.percentInitial), + "percentPrevious" in e && + (t.percentPrevious = e.percentPrevious), + "percentTotal" in e && (t.percentTotal = e.percentTotal), + e.xa && (t.xaxis = e.xa), + e.ya && (t.yaxis = e.ya), + t + ); + }; + }, + 63341: function (t, e, r) { + "use strict"; + var n = r(7901).opacity, + i = r(95423).hoverOnBars, + a = r(71828).formatPercent; + t.exports = function (t, e, r, o, s) { + var l = i(t, e, r, o, s); + if (l) { + var u = l.cd, + c = u[0].trace, + f = "h" === c.orientation, + h = u[l.index]; + (l[(f ? "x" : "y") + "LabelVal"] = h.s), + (l.percentInitial = h.begR), + (l.percentInitialLabel = a(h.begR, 1)), + (l.percentPrevious = h.difR), + (l.percentPreviousLabel = a(h.difR, 1)), + (l.percentTotal = h.sumR), + (l.percentTotalLabel = a(h.sumR, 1)); + var p = h.hi || c.hoverinfo, + d = []; + if (p && "none" !== p && "skip" !== p) { + var v = "all" === p, + g = p.split("+"), + y = function (t) { + return v || -1 !== g.indexOf(t); + }; + y("percent initial") && + d.push(l.percentInitialLabel + " of initial"), + y("percent previous") && + d.push(l.percentPreviousLabel + " of previous"), + y("percent total") && + d.push(l.percentTotalLabel + " of total"); + } + return ( + (l.extraText = d.join("
")), + (l.color = (function (t, e) { + var r = t.marker, + i = e.mc || r.color, + a = e.mlc || r.line.color, + o = e.mlw || r.line.width; + return n(i) ? i : n(a) && o ? a : void 0; + })(c, h)), + [l] + ); + } + }; + }, + 51759: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(1285), + layoutAttributes: r(10440), + supplyDefaults: r(26199).supplyDefaults, + crossTraceDefaults: r(26199).crossTraceDefaults, + supplyLayoutDefaults: r(93138), + calc: r(9532), + crossTraceCalc: r(8984), + plot: r(80461), + style: r(68266).style, + hoverPoints: r(63341), + eventData: r(34598), + selectPoints: r(81974), + moduleType: "trace", + name: "funnel", + basePlotModule: r(93612), + categories: [ + "bar-like", + "cartesian", + "svg", + "oriented", + "showLegend", + "zoomScale", + ], + meta: {}, + }; + }, + 10440: function (t) { + "use strict"; + t.exports = { + funnelmode: { + valType: "enumerated", + values: ["stack", "group", "overlay"], + dflt: "stack", + editType: "calc", + }, + funnelgap: { + valType: "number", + min: 0, + max: 1, + editType: "calc", + }, + funnelgroupgap: { + valType: "number", + min: 0, + max: 1, + dflt: 0, + editType: "calc", + }, + }; + }, + 93138: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(10440); + t.exports = function (t, e, r) { + var a = !1; + function o(r, a) { + return n.coerce(t, e, i, r, a); + } + for (var s = 0; s < r.length; s++) { + var l = r[s]; + if (l.visible && "funnel" === l.type) { + a = !0; + break; + } + } + a && + (o("funnelmode"), + o("funnelgap", 0.2), + o("funnelgroupgap")); + }; + }, + 80461: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(91424), + o = r(50606).BADNUM, + s = r(17295), + l = r(72597).clearMinTextSize; + function u(t, e, r, n) { + var i = [], + a = [], + o = n ? e : r, + s = n ? r : e; + return ( + (i[0] = o.c2p(t.s0, !0)), + (a[0] = s.c2p(t.p0, !0)), + (i[1] = o.c2p(t.s1, !0)), + (a[1] = s.c2p(t.p1, !0)), + (i[2] = o.c2p(t.nextS0, !0)), + (a[2] = s.c2p(t.nextP0, !0)), + (i[3] = o.c2p(t.nextS1, !0)), + (a[3] = s.c2p(t.nextP1, !0)), + n ? [i, a] : [a, i] + ); + } + t.exports = function (t, e, r, c) { + var f = t._fullLayout; + l("funnel", f), + (function (t, e, r, s) { + var l = e.xaxis, + c = e.yaxis; + i.makeTraceGroups(s, r, "trace bars").each( + function (r) { + var s = n.select(this), + f = r[0].trace, + h = i.ensureSingle(s, "g", "regions"); + if (f.connector && f.connector.visible) { + var p = "h" === f.orientation, + d = h.selectAll("g.region").data(i.identity); + d.enter().append("g").classed("region", !0), + d.exit().remove(); + var v = d.size(); + d.each(function (r, s) { + if (s === v - 1 || r.cNext) { + var f = u(r, l, c, p), + h = f[0], + d = f[1], + g = ""; + h[0] !== o && + d[0] !== o && + h[1] !== o && + d[1] !== o && + h[2] !== o && + d[2] !== o && + h[3] !== o && + d[3] !== o && + (g += p + ? "M" + + h[0] + + "," + + d[1] + + "L" + + h[2] + + "," + + d[2] + + "H" + + h[3] + + "L" + + h[1] + + "," + + d[1] + + "Z" + : "M" + + h[1] + + "," + + d[1] + + "L" + + h[2] + + "," + + d[3] + + "V" + + d[2] + + "L" + + h[1] + + "," + + d[0] + + "Z"), + "" === g && (g = "M0,0Z"), + i + .ensureSingle(n.select(this), "path") + .attr("d", g) + .call(a.setClipUrl, e.layerClipId, t); + } + }); + } else h.remove(); + }, + ); + })(t, e, r, c), + (function (t, e, r, o) { + var s = e.xaxis, + l = e.yaxis; + i.makeTraceGroups(o, r, "trace bars").each( + function (r) { + var o = n.select(this), + c = r[0].trace, + f = i.ensureSingle(o, "g", "lines"); + if ( + c.connector && + c.connector.visible && + c.connector.line.width + ) { + var h = "h" === c.orientation, + p = f.selectAll("g.line").data(i.identity); + p.enter().append("g").classed("line", !0), + p.exit().remove(); + var d = p.size(); + p.each(function (r, o) { + if (o === d - 1 || r.cNext) { + var c = u(r, s, l, h), + f = c[0], + p = c[1], + v = ""; + void 0 !== f[3] && + void 0 !== p[3] && + (h + ? ((v += + "M" + + f[0] + + "," + + p[1] + + "L" + + f[2] + + "," + + p[2]), + (v += + "M" + + f[1] + + "," + + p[1] + + "L" + + f[3] + + "," + + p[2])) + : ((v += + "M" + + f[1] + + "," + + p[1] + + "L" + + f[2] + + "," + + p[3]), + (v += + "M" + + f[1] + + "," + + p[0] + + "L" + + f[2] + + "," + + p[2]))), + "" === v && (v = "M0,0Z"), + i + .ensureSingle(n.select(this), "path") + .attr("d", v) + .call(a.setClipUrl, e.layerClipId, t); + } + }); + } else f.remove(); + }, + ); + })(t, e, r, c), + s.plot(t, e, r, c, { + mode: f.funnelmode, + norm: f.funnelmode, + gap: f.funnelgap, + groupgap: f.funnelgroupgap, + }); + }; + }, + 68266: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(91424), + a = r(7901), + o = r(37822).DESELECTDIM, + s = r(16688), + l = r(72597).resizeText, + u = s.styleTextPoints; + t.exports = { + style: function (t, e, r) { + var s = + r || + n + .select(t) + .selectAll("g.funnellayer") + .selectAll("g.trace"); + l(t, s, "funnel"), + s.style("opacity", function (t) { + return t[0].trace.opacity; + }), + s.each(function (e) { + var r = n.select(this), + s = e[0].trace; + r.selectAll(".point > path").each(function (t) { + if (!t.isBlank) { + var e = s.marker; + n.select(this) + .call(a.fill, t.mc || e.color) + .call(a.stroke, t.mlc || e.line.color) + .call( + i.dashLine, + e.line.dash, + t.mlw || e.line.width, + ) + .style( + "opacity", + s.selectedpoints && !t.selected ? o : 1, + ); + } + }), + u(r, s, t), + r.selectAll(".regions").each(function () { + n.select(this) + .selectAll("path") + .style("stroke-width", 0) + .call(a.fill, s.connector.fillcolor); + }), + r.selectAll(".lines").each(function () { + var t = s.connector.line; + i.lineGroupStyle( + n.select(this).selectAll("path"), + t.width, + t.color, + t.dash, + ); + }); + }); + }, + }; + }, + 86807: function (t, e, r) { + "use strict"; + var n = r(34e3), + i = r(9012), + a = r(27670).Y, + o = r(5386).fF, + s = r(5386).si, + l = r(1426).extendFlat; + t.exports = { + labels: n.labels, + label0: n.label0, + dlabel: n.dlabel, + values: n.values, + marker: { + colors: n.marker.colors, + line: { + color: l({}, n.marker.line.color, { dflt: null }), + width: l({}, n.marker.line.width, { dflt: 1 }), + editType: "calc", + }, + pattern: n.marker.pattern, + editType: "calc", + }, + text: n.text, + hovertext: n.hovertext, + scalegroup: l({}, n.scalegroup, {}), + textinfo: l({}, n.textinfo, { + flags: ["label", "text", "value", "percent"], + }), + texttemplate: s( + { editType: "plot" }, + { keys: ["label", "color", "value", "text", "percent"] }, + ), + hoverinfo: l({}, i.hoverinfo, { + flags: ["label", "text", "value", "percent", "name"], + }), + hovertemplate: o( + {}, + { keys: ["label", "color", "value", "text", "percent"] }, + ), + textposition: l({}, n.textposition, { + values: ["inside", "none"], + dflt: "inside", + }), + textfont: n.textfont, + insidetextfont: n.insidetextfont, + title: { + text: n.title.text, + font: n.title.font, + position: l({}, n.title.position, { + values: ["top left", "top center", "top right"], + dflt: "top center", + }), + editType: "plot", + }, + domain: a({ + name: "funnelarea", + trace: !0, + editType: "calc", + }), + aspectratio: { + valType: "number", + min: 0, + dflt: 1, + editType: "plot", + }, + baseratio: { + valType: "number", + min: 0, + max: 1, + dflt: 0.333, + editType: "plot", + }, + }; + }, + 6452: function (t, e, r) { + "use strict"; + var n = r(74875); + (e.name = "funnelarea"), + (e.plot = function (t, r, i, a) { + n.plotBasePlot(e.name, t, r, i, a); + }), + (e.clean = function (t, r, i, a) { + n.cleanBasePlot(e.name, t, r, i, a); + }); + }, + 89574: function (t, e, r) { + "use strict"; + var n = r(32354); + t.exports = { + calc: function (t, e) { + return n.calc(t, e); + }, + crossTraceCalc: function (t) { + n.crossTraceCalc(t, { type: "funnelarea" }); + }, + }; + }, + 86282: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(86807), + a = r(27670).c, + o = r(90769).handleText, + s = r(37434).handleLabelsAndValues, + l = r(37434).handleMarkerDefaults; + t.exports = function (t, e, r, u) { + function c(r, a) { + return n.coerce(t, e, i, r, a); + } + var f = c("labels"), + h = c("values"), + p = s(f, h), + d = p.len; + if ( + ((e._hasLabels = p.hasLabels), + (e._hasValues = p.hasValues), + !e._hasLabels && + e._hasValues && + (c("label0"), c("dlabel")), + d) + ) { + (e._length = d), l(t, e, u, c), c("scalegroup"); + var v, + g = c("text"), + y = c("texttemplate"); + if ( + (y || + (v = c( + "textinfo", + Array.isArray(g) ? "text+percent" : "percent", + )), + c("hovertext"), + c("hovertemplate"), + y || (v && "none" !== v)) + ) { + var m = c("textposition"); + o(t, e, u, c, m, { + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !1, + moduleHasCliponaxis: !1, + moduleHasTextangle: !1, + moduleHasInsideanchor: !1, + }); + } + a(e, u, c), + c("title.text") && + (c("title.position"), + n.coerceFont(c, "title.font", u.font)), + c("aspectratio"), + c("baseratio"); + } else e.visible = !1; + }; + }, + 10421: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "funnelarea", + basePlotModule: r(6452), + categories: ["pie-like", "funnelarea", "showLegend"], + attributes: r(86807), + layoutAttributes: r(80097), + supplyDefaults: r(86282), + supplyLayoutDefaults: r(57402), + calc: r(89574).calc, + crossTraceCalc: r(89574).crossTraceCalc, + plot: r(79187), + style: r(71858), + styleOne: r(63463), + meta: {}, + }; + }, + 80097: function (t, e, r) { + "use strict"; + var n = r(92774).hiddenlabels; + t.exports = { + hiddenlabels: n, + funnelareacolorway: { + valType: "colorlist", + editType: "calc", + }, + extendfunnelareacolors: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + }; + }, + 57402: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(80097); + t.exports = function (t, e) { + function r(r, a) { + return n.coerce(t, e, i, r, a); + } + r("hiddenlabels"), + r("funnelareacolorway", e.colorway), + r("extendfunnelareacolors"); + }; + }, + 79187: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(91424), + a = r(71828), + o = a.strScale, + s = a.strTranslate, + l = r(63893), + u = r(17295).toMoveInsideBar, + c = r(72597), + f = c.recordMinTextSize, + h = c.clearMinTextSize, + p = r(53581), + d = r(14575), + v = d.attachFxHandlers, + g = d.determineInsideTextFont, + y = d.layoutAreas, + m = d.prerenderTitles, + x = d.positionTitleOutside, + b = d.formatSliceLabel; + function _(t, e) { + return "l" + (e[0] - t[0]) + "," + (e[1] - t[1]); + } + t.exports = function (t, e) { + var r = t._context.staticPlot, + c = t._fullLayout; + h("funnelarea", c), + m(e, t), + y(e, c._size), + a + .makeTraceGroups(c._funnelarealayer, e, "trace") + .each(function (e) { + var h = n.select(this), + d = e[0], + y = d.trace; + !(function (t) { + if (t.length) { + var e = t[0], + r = e.trace, + n = r.aspectratio, + i = r.baseratio; + i > 0.999 && (i = 0.999); + var a, + o, + s, + l = Math.pow(i, 2), + u = e.vTotal, + c = u, + f = (u * l) / (1 - l) / u, + h = []; + for (h.push(E()), o = t.length - 1; o > -1; o--) + if (!(s = t[o]).hidden) { + var p = s.v / c; + (f += p), h.push(E()); + } + var d = 1 / 0, + v = -1 / 0; + for (o = 0; o < h.length; o++) + (a = h[o]), + (d = Math.min(d, a[1])), + (v = Math.max(v, a[1])); + for (o = 0; o < h.length; o++) + h[o][1] -= (v + d) / 2; + var g = h[h.length - 1][0], + y = e.r, + m = (v - d) / 2, + x = y / g, + b = (y / m) * n; + for (e.r = b * m, o = 0; o < h.length; o++) + (h[o][0] *= x), (h[o][1] *= b); + var _ = [-(a = h[0])[0], a[1]], + w = [a[0], a[1]], + T = 0; + for (o = t.length - 1; o > -1; o--) + if (!(s = t[o]).hidden) { + var k = h[(T += 1)][0], + A = h[T][1]; + (s.TL = [-k, A]), + (s.TR = [k, A]), + (s.BL = _), + (s.BR = w), + (s.pxmid = + ((M = s.TR), + (S = s.BR), + [ + 0.5 * (M[0] + S[0]), + 0.5 * (M[1] + S[1]), + ])), + (_ = s.TL), + (w = s.TR); + } + } + var M, S; + function E() { + var t, + e = { x: (t = Math.sqrt(f)), y: -t }; + return [e.x, e.y]; + } + })(e), + h.each(function () { + var h = n + .select(this) + .selectAll("g.slice") + .data(e); + h.enter().append("g").classed("slice", !0), + h.exit().remove(), + h.each(function (o, s) { + if (o.hidden) + n.select(this).selectAll("path,g").remove(); + else { + (o.pointNumber = o.i), + (o.curveNumber = y.index); + var h = d.cx, + m = d.cy, + x = n.select(this), + w = x.selectAll("path.surface").data([o]); + w + .enter() + .append("path") + .classed("surface", !0) + .style({ + "pointer-events": r ? "none" : "all", + }), + x.call(v, t, e); + var T = + "M" + + (h + o.TR[0]) + + "," + + (m + o.TR[1]) + + _(o.TR, o.BR) + + _(o.BR, o.BL) + + _(o.BL, o.TL) + + "Z"; + w.attr("d", T), b(t, o, d); + var k = p.castOption(y.textposition, o.pts), + A = x + .selectAll("g.slicetext") + .data( + o.text && "none" !== k ? [0] : [], + ); + A.enter() + .append("g") + .classed("slicetext", !0), + A.exit().remove(), + A.each(function () { + var r = a.ensureSingle( + n.select(this), + "text", + "", + function (t) { + t.attr("data-notex", 1); + }, + ), + p = a.ensureUniformFontSize( + t, + g(y, o, c.font), + ); + r.text(o.text) + .attr({ + class: "slicetext", + transform: "", + "text-anchor": "middle", + }) + .call(i.font, p) + .call(l.convertToTspans, t); + var d, + v, + x, + b = i.bBox(r.node()), + _ = Math.min(o.BL[1], o.BR[1]) + m, + w = Math.max(o.TL[1], o.TR[1]) + m; + (v = Math.max(o.TL[0], o.BL[0]) + h), + (x = Math.min(o.TR[0], o.BR[0]) + h), + ((d = u(v, x, _, w, b, { + isHorizontal: !0, + constrained: !0, + angle: 0, + anchor: "middle", + })).fontSize = p.size), + f(y.type, d, c), + (e[s].transform = d), + a.setTransormAndDisplay(r, d); + }); + } + }); + var m = n + .select(this) + .selectAll("g.titletext") + .data(y.title.text ? [0] : []); + m.enter().append("g").classed("titletext", !0), + m.exit().remove(), + m.each(function () { + var e = a.ensureSingle( + n.select(this), + "text", + "", + function (t) { + t.attr("data-notex", 1); + }, + ), + r = y.title.text; + y._meta && (r = a.templateString(r, y._meta)), + e + .text(r) + .attr({ + class: "titletext", + transform: "", + "text-anchor": "middle", + }) + .call(i.font, y.title.font) + .call(l.convertToTspans, t); + var u = x(d, c._size); + e.attr( + "transform", + s(u.x, u.y) + + o(Math.min(1, u.scale)) + + s(u.tx, u.ty), + ); + }); + }); + }); + }; + }, + 71858: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(63463), + a = r(72597).resizeText; + t.exports = function (t) { + var e = t._fullLayout._funnelarealayer.selectAll(".trace"); + a(t, e, "funnelarea"), + e.each(function (e) { + var r = e[0].trace, + a = n.select(this); + a.style({ opacity: r.opacity }), + a.selectAll("path.surface").each(function (e) { + n.select(this).call(i, e, r, t); + }); + }); + }; + }, + 21606: function (t, e, r) { + "use strict"; + var n = r(82196), + i = r(9012), + a = r(41940), + o = r(12663).axisHoverFormat, + s = r(5386).fF, + l = r(5386).si, + u = r(50693), + c = r(1426).extendFlat; + t.exports = c( + { + z: { valType: "data_array", editType: "calc" }, + x: c({}, n.x, { impliedEdits: { xtype: "array" } }), + x0: c({}, n.x0, { impliedEdits: { xtype: "scaled" } }), + dx: c({}, n.dx, { impliedEdits: { xtype: "scaled" } }), + y: c({}, n.y, { impliedEdits: { ytype: "array" } }), + y0: c({}, n.y0, { impliedEdits: { ytype: "scaled" } }), + dy: c({}, n.dy, { impliedEdits: { ytype: "scaled" } }), + xperiod: c({}, n.xperiod, { + impliedEdits: { xtype: "scaled" }, + }), + yperiod: c({}, n.yperiod, { + impliedEdits: { ytype: "scaled" }, + }), + xperiod0: c({}, n.xperiod0, { + impliedEdits: { xtype: "scaled" }, + }), + yperiod0: c({}, n.yperiod0, { + impliedEdits: { ytype: "scaled" }, + }), + xperiodalignment: c({}, n.xperiodalignment, { + impliedEdits: { xtype: "scaled" }, + }), + yperiodalignment: c({}, n.yperiodalignment, { + impliedEdits: { ytype: "scaled" }, + }), + text: { valType: "data_array", editType: "calc" }, + hovertext: { 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", + }, + hoverongaps: { + valType: "boolean", + dflt: !0, + editType: "none", + }, + connectgaps: { valType: "boolean", editType: "calc" }, + xgap: { + valType: "number", + dflt: 0, + min: 0, + editType: "plot", + }, + ygap: { + valType: "number", + dflt: 0, + min: 0, + editType: "plot", + }, + xhoverformat: o("x"), + yhoverformat: o("y"), + zhoverformat: o("z", 1), + hovertemplate: s(), + texttemplate: l( + { arrayOk: !1, editType: "plot" }, + { keys: ["x", "y", "z", "text"] }, + ), + textfont: a({ + editType: "plot", + autoSize: !0, + autoColor: !0, + colorEditType: "style", + }), + showlegend: c({}, i.showlegend, { dflt: !1 }), + }, + { transforms: void 0 }, + u("", { cLetter: "z", autoColorDflt: !1 }), + ); + }, + 90757: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(89298), + o = r(42973), + s = r(17562), + l = r(78803), + u = r(68296), + c = r(4742), + f = r(824), + h = r(43907), + p = r(70769), + d = r(50606).BADNUM; + function v(t) { + for (var e = [], r = t.length, n = 0; n < r; n++) { + var i = t[n]; + i !== d && e.push(i); + } + return e; + } + t.exports = function (t, e) { + var r, + g, + y, + m, + x, + b, + _, + w, + T, + k, + A, + M = a.getFromId(t, e.xaxis || "x"), + S = a.getFromId(t, e.yaxis || "y"), + E = n.traceIs(e, "contour"), + L = n.traceIs(e, "histogram"), + C = n.traceIs(e, "gl2d"), + P = E ? "best" : e.zsmooth; + if (((M._minDtick = 0), (S._minDtick = 0), L)) + (m = (A = s(t, e)).orig_x), + (r = A.x), + (g = A.x0), + (y = A.dx), + (w = A.orig_y), + (x = A.y), + (b = A.y0), + (_ = A.dy), + (T = A.z); + else { + var O = e.z; + i.isArray1D(O) + ? (u(e, M, S, "x", "y", ["z"]), + (r = e._x), + (x = e._y), + (O = e._z)) + : ((m = e.x ? M.makeCalcdata(e, "x") : []), + (w = e.y ? S.makeCalcdata(e, "y") : []), + (r = o(e, M, "x", m).vals), + (x = o(e, S, "y", w).vals), + (e._x = r), + (e._y = x)), + (g = e.x0), + (y = e.dx), + (b = e.y0), + (_ = e.dy), + (T = c(O, e, M, S)); + } + function I(t) { + (P = e._input.zsmooth = e.zsmooth = !1), + i.warn('cannot use zsmooth: "fast": ' + t); + } + function D(t) { + if (t.length > 1) { + var e = (t[t.length - 1] - t[0]) / (t.length - 1), + r = Math.abs(e / 100); + for (k = 0; k < t.length - 1; k++) + if (Math.abs(t[k + 1] - t[k] - e) > r) return !1; + } + return !0; + } + (M.rangebreaks || S.rangebreaks) && + ((T = (function (t, e, r) { + for (var n = [], i = -1, a = 0; a < r.length; a++) + if (e[a] !== d) { + n[++i] = []; + for (var o = 0; o < r[a].length; o++) + t[o] !== d && n[i].push(r[a][o]); + } + return n; + })(r, x, T)), + L || ((r = v(r)), (x = v(x)), (e._x = r), (e._y = x))), + L || + (!E && !e.connectgaps) || + ((e._emptypoints = h(T)), f(T, e._emptypoints)), + (e._islinear = !1), + "log" === M.type || "log" === S.type + ? "fast" === P && I("log axis found") + : D(r) + ? D(x) + ? (e._islinear = !0) + : "fast" === P && I("y scale is not linear") + : "fast" === P && I("x scale is not linear"); + var z = i.maxRowLength(T), + R = "scaled" === e.xtype ? "" : r, + F = p(e, R, g, y, z, M), + B = "scaled" === e.ytype ? "" : x, + N = p(e, B, b, _, T.length, S); + C || + ((e._extremes[M._id] = a.findExtremes(M, F)), + (e._extremes[S._id] = a.findExtremes(S, N))); + var j = { + x: F, + y: N, + z: T, + text: e._text || e.text, + hovertext: e._hovertext || e.hovertext, + }; + if ( + (e.xperiodalignment && m && (j.orig_x = m), + e.yperiodalignment && w && (j.orig_y = w), + R && R.length === F.length - 1 && (j.xCenter = R), + B && B.length === N.length - 1 && (j.yCenter = B), + L && + ((j.xRanges = A.xRanges), + (j.yRanges = A.yRanges), + (j.pts = A.pts)), + E || l(t, e, { vals: T, cLetter: "z" }), + E && e.contours && "heatmap" === e.contours.coloring) + ) { + var U = { + type: "contour" === e.type ? "heatmap" : "histogram2d", + xcalendar: e.xcalendar, + ycalendar: e.ycalendar, + }; + (j.xfill = p(U, R, g, y, z, M)), + (j.yfill = p(U, B, b, _, T.length, S)); + } + return [j]; + }; + }, + 4742: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(50606).BADNUM; + t.exports = function (t, e, r, o) { + var s, l, u, c, f, h; + function p(t) { + if (n(t)) return +t; + } + if (e && e.transpose) { + for (s = 0, f = 0; f < t.length; f++) + s = Math.max(s, t[f].length); + if (0 === s) return !1; + (u = function (t) { + return t.length; + }), + (c = function (t, e, r) { + return (t[r] || [])[e]; + }); + } else + (s = t.length), + (u = function (t, e) { + return t[e].length; + }), + (c = function (t, e, r) { + return (t[e] || [])[r]; + }); + var d = function (t, e, r) { + return e === a || r === a ? a : c(t, e, r); + }; + function v(t) { + if ( + e && + "carpet" !== e.type && + "contourcarpet" !== e.type && + t && + "category" === t.type && + e["_" + t._id.charAt(0)].length + ) { + var r = t._id.charAt(0), + n = {}, + o = e["_" + r + "CategoryMap"] || e[r]; + for (f = 0; f < o.length; f++) n[o[f]] = f; + return function (e) { + var r = n[t._categories[e]]; + return r + 1 ? r : a; + }; + } + return i.identity; + } + var g = v(r), + y = v(o); + o && "category" === o.type && (s = o._categories.length); + var m = new Array(s); + for (f = 0; f < s; f++) + for ( + l = + r && "category" === r.type + ? r._categories.length + : u(t, f), + m[f] = new Array(l), + h = 0; + h < l; + h++ + ) + m[f][h] = p(d(t, y(f), g(h))); + return m; + }; + }, + 61243: function (t) { + "use strict"; + t.exports = { min: "zmin", max: "zmax" }; + }, + 68296: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(50606).BADNUM, + a = r(42973); + t.exports = function (t, e, r, o, s, l) { + var u = t._length, + c = e.makeCalcdata(t, o), + f = r.makeCalcdata(t, s); + (c = a(t, e, o, c).vals), (f = a(t, r, s, f).vals); + var h, + p, + d, + v, + g = t.text, + y = void 0 !== g && n.isArray1D(g), + m = t.hovertext, + x = void 0 !== m && n.isArray1D(m), + b = n.distinctVals(c), + _ = b.vals, + w = n.distinctVals(f), + T = w.vals, + k = [], + A = T.length, + M = _.length; + for (h = 0; h < l.length; h++) k[h] = n.init2dArray(A, M); + y && (d = n.init2dArray(A, M)), + x && (v = n.init2dArray(A, M)); + var S = n.init2dArray(A, M); + for (h = 0; h < u; h++) + if (c[h] !== i && f[h] !== i) { + var E = n.findBin(c[h] + b.minDiff / 2, _), + L = n.findBin(f[h] + w.minDiff / 2, T); + for (p = 0; p < l.length; p++) { + var C = t[l[p]]; + (k[p][L][E] = C[h]), (S[L][E] = h); + } + y && (d[L][E] = g[h]), x && (v[L][E] = m[h]); + } + for ( + t["_" + o] = _, t["_" + s] = T, p = 0; + p < l.length; + p++ + ) + t["_" + l[p]] = k[p]; + y && (t._text = d), + x && (t._hovertext = v), + e && + "category" === e.type && + (t["_" + o + "CategoryMap"] = _.map(function (t) { + return e._categories[t]; + })), + r && + "category" === r.type && + (t["_" + s + "CategoryMap"] = T.map(function (t) { + return r._categories[t]; + })), + (t._after2before = S); + }; + }, + 76382: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(67684), + a = r(58623), + o = r(73927), + s = r(49901), + l = r(1586), + u = r(21606); + t.exports = function (t, e, r, c) { + function f(r, i) { + return n.coerce(t, e, u, r, i); + } + i(t, e, f, c) + ? (o(t, e, c, f), + f("xhoverformat"), + f("yhoverformat"), + f("text"), + f("hovertext"), + f("hovertemplate"), + a(f, c), + s(t, e, f, c), + f("hoverongaps"), + f("connectgaps", n.isArray1D(e.z) && !1 !== e.zsmooth), + l(t, e, c, f, { prefix: "", cLetter: "z" })) + : (e.visible = !1); + }; + }, + 43907: function (t, e, r) { + "use strict"; + var n = r(71828).maxRowLength; + t.exports = function (t) { + var e, + r, + i, + a, + o, + s, + l, + u, + c = [], + f = {}, + h = [], + p = t[0], + d = [], + v = [0, 0, 0], + g = n(t); + for (r = 0; r < t.length; r++) + for (e = d, d = p, p = t[r + 1] || [], i = 0; i < g; i++) + void 0 === d[i] && + ((s = + (void 0 !== d[i - 1] ? 1 : 0) + + (void 0 !== d[i + 1] ? 1 : 0) + + (void 0 !== e[i] ? 1 : 0) + + (void 0 !== p[i] ? 1 : 0)) + ? (0 === r && s++, + 0 === i && s++, + r === t.length - 1 && s++, + i === d.length - 1 && s++, + s < 4 && (f[[r, i]] = [r, i, s]), + c.push([r, i, s])) + : h.push([r, i])); + for (; h.length; ) { + for (l = {}, u = !1, o = h.length - 1; o >= 0; o--) + (s = + ((f[[(r = (a = h[o])[0]) - 1, (i = a[1])]] || v)[2] + + (f[[r + 1, i]] || v)[2] + + (f[[r, i - 1]] || v)[2] + + (f[[r, i + 1]] || v)[2]) / + 20) && ((l[a] = [r, i, s]), h.splice(o, 1), (u = !0)); + if (!u) + throw "findEmpties iterated with no new neighbors"; + for (a in l) (f[a] = l[a]), c.push(l[a]); + } + return c.sort(function (t, e) { + return e[2] - t[2]; + }); + }; + }, + 46248: function (t, e, r) { + "use strict"; + var n = r(30211), + i = r(71828), + a = r(89298), + o = r(21081).extractOpts; + t.exports = function (t, e, r, s, l) { + l || (l = {}); + var u, + c, + f, + h, + p = l.isContour, + d = t.cd[0], + v = d.trace, + g = t.xa, + y = t.ya, + m = d.x, + x = d.y, + b = d.z, + _ = d.xCenter, + w = d.yCenter, + T = d.zmask, + k = v.zhoverformat, + A = m, + M = x; + if (!1 !== t.index) { + try { + (f = Math.round(t.index[1])), + (h = Math.round(t.index[0])); + } catch (e) { + return void i.error( + "Error hovering on heatmap, pointNumber must be [row,col], found:", + t.index, + ); + } + if (f < 0 || f >= b[0].length || h < 0 || h > b.length) + return; + } else { + if ( + n.inbox(e - m[0], e - m[m.length - 1], 0) > 0 || + n.inbox(r - x[0], r - x[x.length - 1], 0) > 0 + ) + return; + if (p) { + var S; + for (A = [2 * m[0] - m[1]], S = 1; S < m.length; S++) + A.push((m[S] + m[S - 1]) / 2); + for ( + A.push([2 * m[m.length - 1] - m[m.length - 2]]), + M = [2 * x[0] - x[1]], + S = 1; + S < x.length; + S++ + ) + M.push((x[S] + x[S - 1]) / 2); + M.push([2 * x[x.length - 1] - x[x.length - 2]]); + } + (f = Math.max( + 0, + Math.min(A.length - 2, i.findBin(e, A)), + )), + (h = Math.max( + 0, + Math.min(M.length - 2, i.findBin(r, M)), + )); + } + var E, + L, + C = g.c2p(m[f]), + P = g.c2p(m[f + 1]), + O = y.c2p(x[h]), + I = y.c2p(x[h + 1]); + p + ? ((E = d.orig_x || m), + (L = d.orig_y || x), + (P = C), + (u = E[f]), + (I = O), + (c = L[h])) + : ((E = d.orig_x || _ || m), + (L = d.orig_y || w || x), + (u = _ ? E[f] : (E[f] + E[f + 1]) / 2), + (c = w ? L[h] : (L[h] + L[h + 1]) / 2), + g && "category" === g.type && (u = m[f]), + y && "category" === y.type && (c = x[h]), + v.zsmooth && ((C = P = g.c2p(u)), (O = I = y.c2p(c)))); + var D = b[h][f]; + if ( + (T && !T[h][f] && (D = void 0), + void 0 !== D || v.hoverongaps) + ) { + var z; + Array.isArray(d.hovertext) && + Array.isArray(d.hovertext[h]) + ? (z = d.hovertext[h][f]) + : Array.isArray(d.text) && + Array.isArray(d.text[h]) && + (z = d.text[h][f]); + var R = o(v), + F = { + type: "linear", + range: [R.min, R.max], + hoverformat: k, + _separators: g._separators, + _numFormat: g._numFormat, + }, + B = a.tickText(F, D, "hover").text; + return [ + i.extendFlat(t, { + index: v._after2before + ? v._after2before[h][f] + : [h, f], + distance: t.maxHoverDistance, + spikeDistance: t.maxSpikeDistance, + x0: C, + x1: P, + y0: O, + y1: I, + xLabelVal: u, + yLabelVal: c, + zLabelVal: D, + zLabel: B, + text: z, + }), + ]; + } + }; + }, + 92165: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(21606), + supplyDefaults: r(76382), + calc: r(90757), + plot: r(50347), + colorbar: r(61243), + style: r(70035), + hoverPoints: r(46248), + moduleType: "trace", + name: "heatmap", + basePlotModule: r(93612), + categories: ["cartesian", "svg", "2dMap", "showLegend"], + meta: {}, + }; + }, + 824: function (t, e, r) { + "use strict"; + var n = r(71828), + i = [ + [-1, 0], + [1, 0], + [0, -1], + [0, 1], + ]; + function a(t) { + return 0.5 - 0.25 * Math.min(1, 0.5 * t); + } + function o(t, e, r) { + var n, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y = 0; + for (s = 0; s < e.length; s++) { + for ( + a = (n = e[s])[0], + o = n[1], + d = t[a][o], + p = 0, + h = 0, + l = 0; + l < 4; + l++ + ) + (c = t[a + (u = i[l])[0]]) && + void 0 !== (f = c[o + u[1]]) && + (0 === p + ? (v = g = f) + : ((v = Math.min(v, f)), (g = Math.max(g, f))), + h++, + (p += f)); + if (0 === h) + throw "iterateInterp2d order is wrong: no defined neighbors"; + (t[a][o] = p / h), + void 0 === d + ? h < 4 && (y = 1) + : ((t[a][o] = (1 + r) * t[a][o] - r * d), + g > v && + (y = Math.max( + y, + Math.abs(t[a][o] - d) / (g - v), + ))); + } + return y; + } + t.exports = function (t, e) { + var r, + i = 1; + for (o(t, e), r = 0; r < e.length && !(e[r][2] < 4); r++); + for (e = e.slice(r), r = 0; r < 100 && i > 0.01; r++) + i = o(t, e, a(i)); + return ( + i > 0.01 && n.log("interp2d didn't converge quickly", i), + t + ); + }; + }, + 58623: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e) { + t("texttemplate"); + var r = n.extendFlat({}, e.font, { + color: "auto", + size: "auto", + }); + n.coerceFont(t, "textfont", r); + }; + }, + 70769: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828).isArrayOrTypedArray; + t.exports = function (t, e, r, a, o, s) { + var l, + u, + c, + f = [], + h = n.traceIs(t, "contour"), + p = n.traceIs(t, "histogram"), + d = n.traceIs(t, "gl2d"); + if (i(e) && e.length > 1 && !p && "category" !== s.type) { + var v = e.length; + if (!(v <= o)) + return h ? e.slice(0, o) : e.slice(0, o + 1); + if (h || d) f = e.slice(0, o); + else if (1 === o) f = [e[0] - 0.5, e[0] + 0.5]; + else { + for (f = [1.5 * e[0] - 0.5 * e[1]], c = 1; c < v; c++) + f.push(0.5 * (e[c - 1] + e[c])); + f.push(1.5 * e[v - 1] - 0.5 * e[v - 2]); + } + if (v < o) { + var g = f[f.length - 1], + y = g - f[f.length - 2]; + for (c = v; c < o; c++) (g += y), f.push(g); + } + } else { + var m = t[s._id.charAt(0) + "calendar"]; + for ( + l = p + ? s.r2c(r, 0, m) + : i(e) && 1 === e.length + ? e[0] + : void 0 === r + ? 0 + : ("log" === s.type ? s.d2c : s.r2c)(r, 0, m), + u = a || 1, + c = h || d ? 0 : -0.5; + c < o; + c++ + ) + f.push(l + u * c); + } + return f; + }; + }, + 50347: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(84267), + a = r(73972), + o = r(91424), + s = r(89298), + l = r(71828), + u = r(63893), + c = r(8225), + f = r(7901), + h = r(21081).extractOpts, + p = r(21081).makeColorScaleFuncFromTrace, + d = r(77922), + v = r(18783).LINE_SPACING, + g = r(3883), + y = r(32396).STYLE, + m = "heatmap-label"; + function x(t) { + return t.selectAll("g." + m); + } + function b(t) { + x(t).remove(); + } + function _(t, e) { + var r = e.length - 2, + n = l.constrain(l.findBin(t, e), 0, r), + i = e[n], + a = e[n + 1], + o = l.constrain(n + (t - i) / (a - i) - 0.5, 0, r), + s = Math.round(o), + u = Math.abs(o - s); + return o && o !== r && u + ? { bin0: s, frac: u, bin1: Math.round(s + u / (o - s)) } + : { bin0: s, bin1: s, frac: 0 }; + } + function w(t, e) { + var r = e.length - 1, + n = l.constrain(l.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 < 0.5 + ? { bin0: n, bin1: n + 1, frac: a } + : { bin0: n + 1, bin1: n, frac: 1 - a }; + } + function T(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])); + } + t.exports = function (t, e, r, k) { + var A = e.xaxis, + M = e.yaxis; + l.makeTraceGroups(k, r, "hm").each(function (e) { + var r, + k, + S, + E, + L, + C, + P, + O, + I = n.select(this), + D = e[0], + z = D.trace, + R = z.xgap || 0, + F = z.ygap || 0, + B = D.z, + N = D.x, + j = D.y, + U = D.xCenter, + V = D.yCenter, + H = a.traceIs(z, "contour"), + q = H ? "best" : z.zsmooth, + G = B.length, + Z = l.maxRowLength(B), + Y = !1, + W = !1; + for (C = 0; void 0 === r && C < N.length - 1; ) + (r = A.c2p(N[C])), C++; + for (C = N.length - 1; void 0 === k && C > 0; ) + (k = A.c2p(N[C])), C--; + for ( + k < r && ((S = k), (k = r), (r = S), (Y = !0)), C = 0; + void 0 === E && C < j.length - 1; + + ) + (E = M.c2p(j[C])), C++; + for (C = j.length - 1; void 0 === L && C > 0; ) + (L = M.c2p(j[C])), C--; + L < E && ((S = E), (E = L), (L = S), (W = !0)), + H && ((U = N), (V = j), (N = D.xfill), (j = D.yfill)); + var X = "default"; + if ( + (q + ? (X = "best" === q ? "smooth" : "fast") + : z._islinear && + 0 === R && + 0 === F && + g() && + (X = "fast"), + "fast" !== X) + ) { + var J = "best" === q ? 0 : 0.5; + (r = Math.max(-J * A._length, r)), + (k = Math.min((1 + J) * A._length, k)), + (E = Math.max(-J * M._length, E)), + (L = Math.min((1 + J) * M._length, L)); + } + var K, + $, + Q = Math.round(k - r), + tt = Math.round(L - E); + if (r >= A._length || k <= 0 || E >= M._length || L <= 0) + return ( + I.selectAll("image").data([]).exit().remove(), + void b(I) + ); + "fast" === X ? ((K = Z), ($ = G)) : ((K = Q), ($ = tt)); + var et = document.createElement("canvas"); + (et.width = K), (et.height = $); + var rt, + nt, + it = et.getContext("2d"), + at = p(z, { noNumericCheck: !0, returnArray: !0 }); + "fast" === X + ? ((rt = Y + ? function (t) { + return Z - 1 - t; + } + : l.identity), + (nt = W + ? function (t) { + return G - 1 - t; + } + : l.identity)) + : ((rt = function (t) { + return l.constrain( + Math.round(A.c2p(N[t]) - r), + 0, + Q, + ); + }), + (nt = function (t) { + return l.constrain( + Math.round(M.c2p(j[t]) - E), + 0, + tt, + ); + })); + var ot, + st, + lt, + ut, + ct = nt(0), + ft = [ct, ct], + ht = Y ? 0 : 1, + pt = W ? 0 : 1, + dt = 0, + vt = 0, + gt = 0, + yt = 0; + function mt(t, e) { + if (void 0 !== t) { + var r = at(t); + return ( + (r[0] = Math.round(r[0])), + (r[1] = Math.round(r[1])), + (r[2] = Math.round(r[2])), + (dt += e), + (vt += r[0] * e), + (gt += r[1] * e), + (yt += r[2] * e), + r + ); + } + return [0, 0, 0, 0]; + } + function xt(t, e, r, n) { + var i = t[r.bin0]; + if (void 0 === i) return mt(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), + mt(i + r.frac * u + n.frac * (c + r.frac * a)) + ); + } + if ("default" !== X) { + var bt, + _t = 0; + try { + bt = new Uint8Array(K * $ * 4); + } catch (t) { + bt = new Array(K * $ * 4); + } + if ("smooth" === X) { + var wt, + Tt, + kt, + At = U || N, + Mt = V || j, + St = new Array(At.length), + Et = new Array(Mt.length), + Lt = new Array(Q), + Ct = U ? w : _, + Pt = V ? w : _; + for (C = 0; C < At.length; C++) + St[C] = Math.round(A.c2p(At[C]) - r); + for (C = 0; C < Mt.length; C++) + Et[C] = Math.round(M.c2p(Mt[C]) - E); + for (C = 0; C < Q; C++) Lt[C] = Ct(C, St); + for (P = 0; P < tt; P++) + for ( + Tt = B[(wt = Pt(P, Et)).bin0], + kt = B[wt.bin1], + C = 0; + C < Q; + C++, _t += 4 + ) + T(bt, _t, (ut = xt(Tt, kt, Lt[C], wt))); + } else + for (P = 0; P < G; P++) + for (lt = B[P], ft = nt(P), C = 0; C < Z; C++) + (ut = mt(lt[C], 1)), + T(bt, (_t = 4 * (ft * Z + rt(C))), ut); + var Ot = it.createImageData(K, $); + try { + Ot.data.set(bt); + } catch (t) { + var It = Ot.data, + Dt = It.length; + for (P = 0; P < Dt; P++) It[P] = bt[P]; + } + it.putImageData(Ot, 0, 0); + } else { + var zt = Math.floor(R / 2), + Rt = Math.floor(F / 2); + for (P = 0; P < G; P++) + if ( + ((lt = B[P]), + ft.reverse(), + (ft[pt] = nt(P + 1)), + ft[0] !== ft[1] && + void 0 !== ft[0] && + void 0 !== ft[1]) + ) + for (ot = [(st = rt(0)), st], C = 0; C < Z; C++) + ot.reverse(), + (ot[ht] = rt(C + 1)), + ot[0] !== ot[1] && + void 0 !== ot[0] && + void 0 !== ot[1] && + ((ut = mt( + lt[C], + (ot[1] - ot[0]) * (ft[1] - ft[0]), + )), + (it.fillStyle = "rgba(" + ut.join(",") + ")"), + it.fillRect( + ot[0] + zt, + ft[0] + Rt, + ot[1] - ot[0] - R, + ft[1] - ft[0] - F, + )); + } + (vt = Math.round(vt / dt)), + (gt = Math.round(gt / dt)), + (yt = Math.round(yt / dt)); + var Ft = i("rgb(" + vt + "," + gt + "," + yt + ")"); + (t._hmpixcount = (t._hmpixcount || 0) + dt), + (t._hmlumcount = + (t._hmlumcount || 0) + dt * Ft.getLuminance()); + var Bt = I.selectAll("image").data(e); + Bt.enter() + .append("svg:image") + .attr({ xmlns: d.svg, preserveAspectRatio: "none" }), + Bt.attr({ + height: tt, + width: Q, + x: r, + y: E, + "xlink:href": et.toDataURL("image/png"), + }), + "fast" !== X || q || Bt.attr("style", y), + b(I); + var Nt = z.texttemplate; + if (Nt) { + var jt = h(z), + Ut = { + type: "linear", + range: [jt.min, jt.max], + _separators: A._separators, + _numFormat: A._numFormat, + }, + Vt = "histogram2dcontour" === z.type, + Ht = "contour" === z.type, + qt = Ht ? G - 1 : G, + Gt = Ht ? 1 : 0, + Zt = Ht ? Z - 1 : Z, + Yt = []; + for (C = Ht ? 1 : 0; C < qt; C++) { + var Wt; + if (Ht) Wt = D.y[C]; + else if (Vt) { + if (0 === C || C === G - 1) continue; + Wt = D.y[C]; + } else if (D.yCenter) Wt = D.yCenter[C]; + else { + if (C + 1 === G && void 0 === D.y[C + 1]) continue; + Wt = (D.y[C] + D.y[C + 1]) / 2; + } + var Xt = Math.round(M.c2p(Wt)); + if (!(0 > Xt || Xt > M._length)) + for (P = Gt; P < Zt; P++) { + var Jt; + if (Ht) Jt = D.x[P]; + else if (Vt) { + if (0 === P || P === Z - 1) continue; + Jt = D.x[P]; + } else if (D.xCenter) Jt = D.xCenter[P]; + else { + if (P + 1 === Z && void 0 === D.x[P + 1]) + continue; + Jt = (D.x[P] + D.x[P + 1]) / 2; + } + var Kt = Math.round(A.c2p(Jt)); + if (!(0 > Kt || Kt > A._length)) { + var $t = c({ x: Jt, y: Wt }, z, t._fullLayout); + ($t.x = Jt), ($t.y = Wt); + var Qt = D.z[C][P]; + void 0 === Qt + ? (($t.z = ""), ($t.zLabel = "")) + : (($t.z = Qt), + ($t.zLabel = s.tickText( + Ut, + Qt, + "hover", + ).text)); + var te = D.text && D.text[C] && D.text[C][P]; + (void 0 !== te && !1 !== te) || (te = ""), + ($t.text = te); + var ee = l.texttemplateString( + Nt, + $t, + t._fullLayout._d3locale, + $t, + z._meta || {}, + ); + if (ee) { + var re = ee.split("
"), + ne = re.length, + ie = 0; + for (O = 0; O < ne; O++) + ie = Math.max(ie, re[O].length); + Yt.push({ + l: ne, + c: ie, + t: ee, + x: Kt, + y: Xt, + z: Qt, + }); + } + } + } + } + var ae = z.textfont, + oe = ae.family, + se = ae.size, + le = t._fullLayout.font.size; + if (!se || "auto" === se) { + var ue = 1 / 0, + ce = 1 / 0, + fe = 0, + he = 0; + for (O = 0; O < Yt.length; O++) { + var pe = Yt[O]; + if ( + ((fe = Math.max(fe, pe.l)), + (he = Math.max(he, pe.c)), + O < Yt.length - 1) + ) { + var de = Yt[O + 1], + ve = Math.abs(de.x - pe.x), + ge = Math.abs(de.y - pe.y); + ve && (ue = Math.min(ue, ve)), + ge && (ce = Math.min(ce, ge)); + } + } + isFinite(ue) && isFinite(ce) + ? ((ue -= R), + (ce -= F), + (ue /= he), + (ce /= fe), + (ue /= v / 2), + (ce /= v), + (se = Math.min( + Math.floor(ue), + Math.floor(ce), + le, + ))) + : (se = le); + } + if (se <= 0 || !isFinite(se)) return; + x(I) + .data(Yt) + .enter() + .append("g") + .classed(m, 1) + .append("text") + .attr("text-anchor", "middle") + .each(function (e) { + var r = n.select(this), + i = ae.color; + (i && "auto" !== i) || + (i = f.contrast("rgba(" + at(e.z).join() + ")")), + r + .attr("data-notex", 1) + .call( + u.positionText, + (function (t) { + return t.x; + })(e), + (function (t) { + return t.y - se * ((t.l * v) / 2 - 1); + })(e), + ) + .call(o.font, oe, se, i) + .text(e.t) + .call(u.convertToTspans, t); + }); + } + }); + }; + }, + 70035: function (t, e, r) { + "use strict"; + var n = r(39898); + t.exports = function (t) { + n.select(t) + .selectAll(".hm image") + .style("opacity", function (t) { + return t.trace.opacity; + }); + }; + }, + 49901: function (t) { + "use strict"; + t.exports = function (t, e, r) { + !1 === r("zsmooth") && (r("xgap"), r("ygap")), + r("zhoverformat"); + }; + }, + 67684: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(73972); + function o(t, e) { + var r = e(t); + return ( + "scaled" === (r ? e(t + "type", "array") : "scaled") && + (e(t + "0"), e("d" + t)), + r + ); + } + t.exports = function (t, e, r, s, l, u) { + var c, + f, + h = r("z"); + if ( + ((l = l || "x"), + (u = u || "y"), + void 0 === h || !h.length) + ) + return 0; + if (i.isArray1D(t.z)) { + (c = r(l)), (f = r(u)); + var p = i.minRowLength(c), + d = i.minRowLength(f); + if (0 === p || 0 === d) return 0; + e._length = Math.min(p, d, h.length); + } else { + if ( + ((c = o(l, r)), + (f = o(u, r)), + !(function (t) { + for ( + var e, r = !0, a = !1, o = !1, s = 0; + s < t.length; + s++ + ) { + if (((e = t[s]), !i.isArrayOrTypedArray(e))) { + r = !1; + break; + } + e.length > 0 && (a = !0); + for (var l = 0; l < e.length; l++) + if (n(e[l])) { + o = !0; + break; + } + } + return r && a && o; + })(h)) + ) + return 0; + r("transpose"), (e._length = null); + } + return ( + "heatmapgl" === t.type || + a.getComponentMethod( + "calendars", + "handleTraceDefaults", + )(t, e, [l, u], s), + !0 + ); + }; + }, + 16063: function (t, e, r) { + "use strict"; + for ( + var n = r(21606), + i = r(50693), + a = r(1426).extendFlat, + o = r(30962).overrideAll, + s = [ + "z", + "x", + "x0", + "dx", + "y", + "y0", + "dy", + "text", + "transpose", + "xtype", + "ytype", + ], + l = {}, + u = 0; + u < s.length; + u++ + ) { + var c = s[u]; + l[c] = n[c]; + } + (l.zsmooth = { + valType: "enumerated", + values: ["fast", !1], + dflt: "fast", + editType: "calc", + }), + a(l, i("", { cLetter: "z", autoColorDflt: !1 })), + (t.exports = o(l, "calc", "nested")); + }, + 59560: function (t, e, r) { + "use strict"; + var n = r(9330).gl_heatmap2d, + i = r(89298), + a = r(78614); + function o(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 = { + zsmooth: "fast", + z: [], + x: [], + y: [], + shape: [0, 0], + colorLevels: [0], + colorValues: [0, 0, 0, 1], + }), + (this.heatmap = n(t.glplot, this.options)), + (this.heatmap._trace = this); + } + var s = o.prototype; + (s.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, + }; + }), + (s.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 o = n[0].length, + s = n.length; + (this.options.shape = [o, s]), + (this.options.x = r.x), + (this.options.y = r.y), + (this.options.zsmooth = t.zsmooth); + var l = (function (t) { + for ( + var e = t.colorscale, + r = t.zmin, + n = t.zmax, + i = e.length, + o = new Array(i), + s = new Array(4 * i), + l = 0; + l < i; + l++ + ) { + var u = e[l], + c = a(u[1]); + o[l] = r + u[0] * (n - r); + for (var f = 0; f < 4; f++) s[4 * l + f] = c[f]; + } + return { colorLevels: o, colorValues: s }; + })(t); + (this.options.colorLevels = l.colorLevels), + (this.options.colorValues = l.colorValues), + (this.textLabels = [].concat.apply([], t.text)), + this.heatmap.update(this.options); + var u, + c, + f = this.scene.xaxis, + h = this.scene.yaxis; + !1 === t.zsmooth && + ((u = { ppad: r.x[1] - r.x[0] }), + (c = { ppad: r.y[1] - r.y[0] })), + (t._extremes[f._id] = i.findExtremes(f, r.x, u)), + (t._extremes[h._id] = i.findExtremes(h, r.y, c)); + }), + (s.dispose = function () { + this.heatmap.dispose(); + }), + (t.exports = function (t, e, r) { + var n = new o(t, e.uid); + return n.update(e, r), n; + }); + }, + 19600: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(67684), + a = r(1586), + o = r(16063); + t.exports = function (t, e, r, s) { + function l(r, i) { + return n.coerce(t, e, o, r, i); + } + i(t, e, l, s) + ? (l("text"), + l("zsmooth"), + a(t, e, s, l, { prefix: "", cLetter: "z" })) + : (e.visible = !1); + }; + }, + 3325: function (t, e, r) { + "use strict"; + [ + "*heatmapgl* trace is deprecated!", + "Please consider switching to the *heatmap* or *image* trace types.", + "Alternatively you could contribute/sponsor rewriting this trace type", + "based on cartesian features and using regl framework.", + ].join(" "), + (t.exports = { + attributes: r(16063), + supplyDefaults: r(19600), + colorbar: r(61243), + calc: r(90757), + plot: r(59560), + moduleType: "trace", + name: "heatmapgl", + basePlotModule: r(4796), + categories: ["gl", "gl2d", "2dMap"], + meta: {}, + }); + }, + 7745: function (t, e, r) { + "use strict"; + var n = r(1486), + i = r(12663).axisHoverFormat, + a = r(5386).fF, + o = r(5386).si, + s = r(41940), + l = r(17656), + u = r(72406), + c = r(1426).extendFlat; + t.exports = { + x: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + y: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + xhoverformat: i("x"), + yhoverformat: i("y"), + text: c({}, n.text, {}), + hovertext: c({}, n.hovertext, {}), + orientation: n.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", + }, + nbinsx: { + valType: "integer", + min: 0, + dflt: 0, + editType: "calc", + }, + xbins: l("x", !0), + nbinsy: { + valType: "integer", + min: 0, + dflt: 0, + editType: "calc", + }, + ybins: l("y", !0), + autobinx: { + valType: "boolean", + dflt: null, + editType: "calc", + }, + autobiny: { + valType: "boolean", + dflt: null, + editType: "calc", + }, + bingroup: { valType: "string", dflt: "", editType: "calc" }, + hovertemplate: a({}, { keys: u.eventDataKeys }), + texttemplate: o( + { arrayOk: !1, editType: "plot" }, + { keys: ["label", "value"] }, + ), + textposition: c({}, n.textposition, { arrayOk: !1 }), + textfont: s({ + arrayOk: !1, + editType: "plot", + colorEditType: "style", + }), + outsidetextfont: s({ + arrayOk: !1, + editType: "plot", + colorEditType: "style", + }), + insidetextfont: s({ + arrayOk: !1, + editType: "plot", + colorEditType: "style", + }), + insidetextanchor: n.insidetextanchor, + textangle: n.textangle, + cliponaxis: n.cliponaxis, + constraintext: n.constraintext, + marker: n.marker, + offsetgroup: n.offsetgroup, + alignmentgroup: n.alignmentgroup, + selected: n.selected, + unselected: n.unselected, + _deprecated: { bardir: n._deprecated.bardir }, + }; + }, + 42174: function (t) { + "use strict"; + t.exports = function (t, e) { + for (var r = t.length, n = 0, i = 0; i < r; i++) + e[i] ? ((t[i] /= e[i]), (n += t[i])) : (t[i] = null); + return n; + }; + }, + 17656: function (t) { + "use strict"; + t.exports = function (t, e) { + return { + start: { valType: "any", editType: "calc" }, + end: { valType: "any", editType: "calc" }, + size: { valType: "any", editType: "calc" }, + editType: "calc", + }; + }; + }, + 59575: function (t, e, r) { + "use strict"; + var n = r(92770); + t.exports = { + count: function (t, e, r) { + return r[t]++, 1; + }, + sum: function (t, e, r, i) { + var a = i[e]; + return n(a) ? ((a = Number(a)), (r[t] += a), a) : 0; + }, + avg: function (t, e, r, i, a) { + var o = i[e]; + return n(o) && ((o = Number(o)), (r[t] += o), a[t]++), 0; + }, + min: function (t, e, r, i) { + var a = i[e]; + if (n(a)) { + if (((a = Number(a)), !n(r[t]))) return (r[t] = a), a; + if (r[t] > a) { + var o = a - r[t]; + return (r[t] = a), o; + } + } + return 0; + }, + max: function (t, e, r, i) { + var a = i[e]; + if (n(a)) { + if (((a = Number(a)), !n(r[t]))) return (r[t] = a), a; + if (r[t] < a) { + var o = a - r[t]; + return (r[t] = a), o; + } + } + return 0; + }, + }; + }, + 40965: function (t, e, r) { + "use strict"; + var n = r(50606), + i = n.ONEAVGYEAR, + a = n.ONEAVGMONTH, + o = n.ONEDAY, + s = n.ONEHOUR, + l = n.ONEMIN, + u = n.ONESEC, + c = r(89298).tickIncrement; + function f(t, e, r, n) { + if (t * e <= 0) return 1 / 0; + for ( + var i = Math.abs(e - t), + a = "date" === r.type, + o = h(i, a), + s = 0; + s < 10; + s++ + ) { + var l = h(80 * o, a); + if (o === l) break; + if (!p(l, t, e, a, r, n)) break; + o = l; + } + return o; + } + function h(t, e) { + return e && t > u + ? t > o + ? t > 1.1 * i + ? i + : t > 1.1 * a + ? a + : o + : t > s + ? s + : t > l + ? l + : u + : Math.pow(10, Math.floor(Math.log(t) / Math.LN10)); + } + function p(t, e, r, n, a, s) { + if (n && t > o) { + var l = d(e, a, s), + u = d(r, a, s), + c = t === i ? 0 : 1; + return l[c] !== u[c]; + } + return Math.floor(r / t) - Math.floor(e / t) > 0.1; + } + function d(t, e, r) { + var n = e.c2d(t, i, r).split("-"); + return "" === n[0] && (n.unshift(), (n[0] = "-" + n[0])), n; + } + t.exports = function (t, e, r, n, a) { + var s, + l, + u = -1.1 * e, + h = -0.1 * e, + p = t - h, + d = r[0], + v = r[1], + g = Math.min( + f(d + h, d + p, n, a), + f(v + h, v + p, n, a), + ), + y = Math.min( + f(d + u, d + h, n, a), + f(v + u, v + h, n, a), + ); + if ( + (g > y && y < Math.abs(v - d) / 4e3 + ? ((s = g), (l = !1)) + : ((s = Math.min(g, y)), (l = !0)), + "date" === n.type && s > o) + ) { + var m = s === i ? 1 : 6, + x = s === i ? "M12" : "M1"; + return function (e, r) { + var o = n.c2d(e, i, a), + s = o.indexOf("-", m); + s > 0 && (o = o.substr(0, s)); + var u = n.d2c(o, 0, a); + if (u < e) { + var f = c(u, x, !1, a); + (u + f) / 2 < e + t && (u = f); + } + return r && l ? c(u, x, !0, a) : u; + }; + } + return function (e, r) { + var n = s * Math.round(e / s); + return ( + n + s / 10 < e && n + 0.9 * s < e + t && (n += s), + r && l && (n -= s), + n + ); + }; + }; + }, + 72138: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(73972), + o = r(89298), + s = r(75341), + l = r(59575), + u = r(36362), + c = r(42174), + f = r(40965); + function h(t, e, r, s, l) { + var u, + c, + f, + p, + d, + v, + g, + y = s + "bins", + m = t._fullLayout, + x = e["_" + s + "bingroup"], + b = m._histogramBinOpts[x], + _ = "overlay" === m.barmode, + w = function (t) { + return r.r2c(t, 0, p); + }, + T = function (t) { + return r.c2r(t, 0, p); + }, + k = + "date" === r.type + ? function (t) { + return t || 0 === t + ? i.cleanDate(t, null, p) + : null; + } + : function (t) { + return n(t) ? Number(t) : null; + }; + function A(t, e, r) { + e[t + "Found"] + ? ((e[t] = k(e[t])), null === e[t] && (e[t] = r[t])) + : ((v[t] = e[t] = r[t]), + i.nestedProperty(c[0], y + "." + t).set(r[t])); + } + if (e["_" + s + "autoBinFinished"]) + delete e["_" + s + "autoBinFinished"]; + else { + c = b.traces; + var M = [], + S = !0, + E = !1, + L = !1; + for (u = 0; u < c.length; u++) + if ((f = c[u]).visible) { + var C = b.dirs[u]; + (d = f["_" + C + "pos0"] = r.makeCalcdata(f, C)), + (M = i.concat(M, d)), + delete f["_" + s + "autoBinFinished"], + !0 === e.visible && + (S + ? (S = !1) + : (delete f._autoBin, + (f["_" + s + "autoBinFinished"] = 1)), + a.traceIs(f, "2dMap") && (E = !0), + "histogram2dcontour" === f.type && (L = !0)); + } + p = c[0][s + "calendar"]; + var P = o.autoBin( + M, + r, + b.nbins, + E, + p, + b.sizeFound && b.size, + ), + O = (c[0]._autoBin = {}); + if ( + ((v = O[b.dirs[0]] = {}), + L && + (b.size || + (P.start = T( + o.tickIncrement(w(P.start), P.size, !0, p), + )), + void 0 === b.end && + (P.end = T( + o.tickIncrement(w(P.end), P.size, !1, p), + ))), + _ && + !a.traceIs(e, "2dMap") && + 0 === P._dataSpan && + "category" !== r.type && + "multicategory" !== r.type) + ) { + if (l) return [P, d, !0]; + P = (function (t, e, r, n, a) { + var o, + s, + l, + u = t._fullLayout, + c = (function (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 && + !0 === l.visible && + l.orientation === i && + l.xaxis === r && + l.yaxis === n && + a.push(l); + } + return a; + })(t, e), + f = !1, + p = 1 / 0, + d = [e]; + for (o = 0; o < c.length; o++) + if ((s = c[o]) === e) f = !0; + else if (f) { + var v = h(t, s, r, n, !0), + g = v[0], + y = v[2]; + (s["_" + n + "autoBinFinished"] = 1), + (s["_" + n + "pos0"] = v[1]), + y ? d.push(s) : (p = Math.min(p, g.size)); + } else + (l = + u._histogramBinOpts[s["_" + n + "bingroup"]]), + (p = Math.min(p, l.size || s[a].size)); + var m = new Array(d.length); + for (o = 0; o < d.length; o++) + for ( + var x = d[o]["_" + n + "pos0"], b = 0; + b < x.length; + b++ + ) + if (void 0 !== x[b]) { + m[o] = x[b]; + break; + } + for ( + isFinite(p) || (p = i.distinctVals(m).minDiff), + o = 0; + o < d.length; + o++ + ) { + var _ = (s = d[o])[n + "calendar"], + w = { + start: r.c2r(m[o] - p / 2, 0, _), + end: r.c2r(m[o] + p / 2, 0, _), + size: p, + }; + (s._input[a] = s[a] = w), + (l = + u._histogramBinOpts[s["_" + n + "bingroup"]]) && + i.extendFlat(l, w); + } + return e[a]; + })(t, e, r, s, y); + } + (g = f.cumulative || {}).enabled && + "include" !== g.currentbin && + ("decreasing" === g.direction + ? (P.start = T( + o.tickIncrement(w(P.start), P.size, !0, p), + )) + : (P.end = T( + o.tickIncrement(w(P.end), P.size, !1, p), + ))), + (b.size = P.size), + b.sizeFound || + ((v.size = P.size), + i.nestedProperty(c[0], y + ".size").set(P.size)), + A("start", b, P), + A("end", b, P); + } + (d = e["_" + s + "pos0"]), delete e["_" + s + "pos0"]; + var I = e._input[y] || {}, + D = i.extendFlat({}, b), + z = b.start, + R = r.r2l(I.start), + F = void 0 !== R; + if ((b.startFound || F) && R !== r.r2l(z)) { + var B = F ? R : i.aggNums(Math.min, null, d), + N = { + type: + "category" === r.type || "multicategory" === r.type + ? "linear" + : r.type, + r2l: r.r2l, + dtick: b.size, + tick0: z, + calendar: p, + range: [B, o.tickIncrement(B, b.size, !1, p)].map( + r.l2r, + ), + }, + j = o.tickFirst(N); + j > r.r2l(B) && (j = o.tickIncrement(j, b.size, !0, p)), + (D.start = r.l2r(j)), + F || i.nestedProperty(e, y + ".start").set(D.start); + } + var U = b.end, + V = r.r2l(I.end), + H = void 0 !== V; + if ((b.endFound || H) && V !== r.r2l(U)) { + var q = H ? V : i.aggNums(Math.max, null, d); + (D.end = r.l2r(q)), + H || i.nestedProperty(e, y + ".start").set(D.end); + } + var G = "autobin" + s; + return ( + !1 === e._input[G] && + ((e._input[y] = i.extendFlat({}, e[y] || {})), + delete e._input[G], + delete e[G]), + [D, d] + ); + } + t.exports = { + calc: function (t, e) { + var r, + a, + p, + d, + v = [], + g = [], + y = "h" === e.orientation, + m = o.getFromId(t, y ? e.yaxis : e.xaxis), + x = y ? "y" : "x", + b = { x: "y", y: "x" }[x], + _ = e[x + "calendar"], + w = e.cumulative, + T = h(t, e, m, x), + k = T[0], + A = T[1], + M = "string" == typeof k.size, + S = [], + E = M ? S : k, + L = [], + C = [], + P = [], + O = 0, + I = e.histnorm, + D = e.histfunc, + z = -1 !== I.indexOf("density"); + w.enabled && + z && + ((I = I.replace(/ ?density$/, "")), (z = !1)); + var R, + F = "max" === D || "min" === D ? null : 0, + B = l.count, + N = u[I], + j = !1, + U = function (t) { + return m.r2c(t, 0, _); + }; + for ( + i.isArrayOrTypedArray(e[b]) && + "count" !== D && + ((R = e[b]), (j = "avg" === D), (B = l[D])), + r = U(k.start), + p = + U(k.end) + + (r - o.tickIncrement(r, k.size, !1, _)) / 1e6; + r < p && + v.length < 1e6 && + ((a = o.tickIncrement(r, k.size, !1, _)), + v.push((r + a) / 2), + g.push(F), + P.push([]), + S.push(r), + z && L.push(1 / (a - r)), + j && C.push(0), + !(a <= r)); + + ) + r = a; + S.push(r), + M || + "date" !== m.type || + (E = { + start: U(E.start), + end: U(E.end), + size: E.size, + }), + t._fullLayout._roundFnOpts || + (t._fullLayout._roundFnOpts = {}); + var V = e["_" + x + "bingroup"], + H = { leftGap: 1 / 0, rightGap: 1 / 0 }; + V && + (t._fullLayout._roundFnOpts[V] || + (t._fullLayout._roundFnOpts[V] = H), + (H = t._fullLayout._roundFnOpts[V])); + var q, + G = g.length, + Z = !0, + Y = H.leftGap, + W = H.rightGap, + X = {}; + for (r = 0; r < A.length; r++) { + var J = A[r]; + (d = i.findBin(J, E)) >= 0 && + d < G && + ((O += B(d, r, g, R, C)), + Z && P[d].length && J !== A[P[d][0]] && (Z = !1), + P[d].push(r), + (X[r] = d), + (Y = Math.min(Y, J - S[d])), + (W = Math.min(W, S[d + 1] - J))); + } + (H.leftGap = Y), + (H.rightGap = W), + Z || + (q = function (e, r) { + return function () { + var n = t._fullLayout._roundFnOpts[V]; + return f(n.leftGap, n.rightGap, S, m, _)(e, r); + }; + }), + j && (O = c(g, C)), + N && N(g, O, L), + w.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()); + } + })(g, w.direction, w.currentbin); + var K = Math.min(v.length, g.length), + $ = [], + Q = 0, + tt = K - 1; + for (r = 0; r < K; r++) + if (g[r]) { + Q = r; + break; + } + for (r = K - 1; r >= Q; r--) + if (g[r]) { + tt = r; + break; + } + for (r = Q; r <= tt; r++) + if (n(v[r]) && n(g[r])) { + var et = { p: v[r], s: g[r], b: 0 }; + w.enabled || + ((et.pts = P[r]), + Z + ? (et.ph0 = et.ph1 = + P[r].length ? A[P[r][0]] : v[r]) + : ((e._computePh = !0), + (et.ph0 = q(S[r])), + (et.ph1 = q(S[r + 1], !0)))), + $.push(et); + } + return ( + 1 === $.length && + ($[0].width1 = + o.tickIncrement($[0].p, k.size, !1, _) - $[0].p), + s($, e), + i.isArrayOrTypedArray(e.selectedpoints) && + i.tagSelected($, e, X), + $ + ); + }, + calcAllAutoBins: h, + }; + }, + 72406: function (t) { + "use strict"; + t.exports = { eventDataKeys: ["binNumber"] }; + }, + 82222: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(41675), + a = r(73972).traceIs, + o = r(26125), + s = n.nestedProperty, + l = r(99082).getAxisGroup, + u = [ + { + aStr: { x: "xbins.start", y: "ybins.start" }, + name: "start", + }, + { aStr: { x: "xbins.end", y: "ybins.end" }, name: "end" }, + { + aStr: { x: "xbins.size", y: "ybins.size" }, + name: "size", + }, + { aStr: { x: "nbinsx", y: "nbinsy" }, name: "nbins" }, + ], + c = ["x", "y"]; + t.exports = function (t, e) { + var r, + f, + h, + p, + d, + v, + g, + y = (e._histogramBinOpts = {}), + m = [], + x = {}, + b = []; + function _(t, e) { + return n.coerce(r._input, r, r._module.attributes, t, e); + } + function w(t) { + return "v" === t.orientation ? "x" : "y"; + } + function T(t, r, a) { + var o = t.uid + "__" + a; + r || (r = o); + var s = (function (t, r) { + return i.getFromTrace({ _fullLayout: e }, t, r).type; + })(t, a), + l = t[a + "calendar"] || "", + u = y[r], + c = !0; + u && + (s === u.axType && l === u.calendar + ? ((c = !1), u.traces.push(t), u.dirs.push(a)) + : ((r = o), + s !== u.axType && + n.warn( + [ + "Attempted to group the bins of trace", + t.index, + "set on a", + "type:" + s, + "axis", + "with bins on", + "type:" + u.axType, + "axis.", + ].join(" "), + ), + l !== u.calendar && + n.warn( + [ + "Attempted to group the bins of trace", + t.index, + "set with a", + l, + "calendar", + "with bins", + u.calendar + ? "on a " + u.calendar + " calendar" + : "w/o a set calendar", + ].join(" "), + ))), + c && + (y[r] = { + traces: [t], + dirs: [a], + axType: s, + calendar: t[a + "calendar"] || "", + }), + (t["_" + a + "bingroup"] = r); + } + for (d = 0; d < t.length; d++) + (r = t[d]), + a(r, "histogram") && + (m.push(r), + delete r._xautoBinFinished, + delete r._yautoBinFinished, + a(r, "2dMap") || o(r._input, r, e, _)); + var k = e._alignmentOpts || {}; + for (d = 0; d < m.length; d++) { + if (((r = m[d]), (h = ""), !a(r, "2dMap"))) { + if ( + ((p = w(r)), + "group" === e.barmode && r.alignmentgroup) + ) { + var A = r[p + "axis"], + M = l(e, A) + r.orientation; + (k[M] || {})[r.alignmentgroup] && (h = M); + } + h || + "overlay" === e.barmode || + (h = l(e, r.xaxis) + l(e, r.yaxis) + w(r)); + } + h ? (x[h] || (x[h] = []), x[h].push(r)) : b.push(r); + } + for (h in x) + if (1 !== (f = x[h]).length) { + var S = !1; + for ( + f.length && ((r = f[0]), (S = _("bingroup"))), + h = S || h, + d = 0; + d < f.length; + d++ + ) { + var E = (r = f[d])._input.bingroup; + E && + E !== h && + n.warn( + [ + "Trace", + r.index, + "must match", + "within bingroup", + h + ".", + "Ignoring its bingroup:", + E, + "setting.", + ].join(" "), + ), + (r.bingroup = h), + T(r, h, w(r)); + } + } else b.push(f[0]); + for (d = 0; d < b.length; d++) { + r = b[d]; + var L = _("bingroup"); + if (a(r, "2dMap")) + for (g = 0; g < 2; g++) { + var C = _( + (p = c[g]) + "bingroup", + L ? L + "__" + p : null, + ); + T(r, C, p); + } + else T(r, L, w(r)); + } + for (h in y) { + var P = y[h]; + for (f = P.traces, v = 0; v < u.length; v++) { + var O, + I, + D = u[v], + z = D.name; + if ("nbins" !== z || !P.sizeFound) { + for (d = 0; d < f.length; d++) { + if ( + ((r = f[d]), + (p = P.dirs[d]), + (O = D.aStr[p]), + void 0 !== s(r._input, O).get()) + ) { + (P[z] = _(O)), (P[z + "Found"] = !0); + break; + } + (I = (r._autoBin || {})[p] || {})[z] && + s(r, O).set(I[z]); + } + if ("start" === z || "end" === z) + for (; d < f.length; d++) + (r = f[d])["_" + p + "bingroup"] && + _(O, (I = (r._autoBin || {})[p] || {})[z]); + "nbins" !== z || + P.sizeFound || + P.nbinsFound || + ((r = f[0]), (P[z] = _(O))); + } + } + } + }; + }, + 11385: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(7901), + o = r(90769).handleText, + s = r(98340), + l = r(7745); + t.exports = function (t, e, r, u) { + function c(r, n) { + return i.coerce(t, e, l, r, n); + } + var f = c("x"), + h = c("y"); + c("cumulative.enabled") && + (c("cumulative.direction"), c("cumulative.currentbin")), + c("text"); + var p = c("textposition"); + o(t, e, u, c, p, { + moduleHasSelected: !0, + moduleHasUnselected: !0, + moduleHasConstrain: !0, + moduleHasCliponaxis: !0, + moduleHasTextangle: !0, + moduleHasInsideanchor: !0, + }), + c("hovertext"), + c("hovertemplate"), + c("xhoverformat"), + c("yhoverformat"); + var d = c("orientation", h && !f ? "h" : "v"), + v = "v" === d ? "x" : "y", + g = "v" === d ? "y" : "x", + y = + f && h + ? Math.min(i.minRowLength(f) && i.minRowLength(h)) + : i.minRowLength(e[v] || []); + if (y) { + (e._length = y), + n.getComponentMethod( + "calendars", + "handleTraceDefaults", + )(t, e, ["x", "y"], u), + e[g] && c("histfunc"), + c("histnorm"), + c("autobin" + v), + s(t, e, c, r, u), + i.coerceSelectionMarkerOpacity(e, c); + var m = (e.marker.line || {}).color, + x = n.getComponentMethod("errorbars", "supplyDefaults"); + x(t, e, m || a.defaultLine, { axis: "y" }), + x(t, e, m || a.defaultLine, { + axis: "x", + inherit: "y", + }); + } else e.visible = !1; + }; + }, + 84402: function (t) { + "use strict"; + t.exports = 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), + "zLabelVal" in e && (t.z = e.zLabelVal), + 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; + }; + }, + 76440: function (t, e, r) { + "use strict"; + var n = r(95423).hoverPoints, + i = r(89298).hoverLabelText; + t.exports = function (t, e, r, a, o) { + var s = n(t, e, r, a, o); + if (s) { + var l = (t = s[0]).cd[t.index], + u = t.cd[0].trace; + if (!u.cumulative.enabled) { + var c = "h" === u.orientation ? "y" : "x"; + t[c + "Label"] = i( + t[c + "a"], + [l.ph0, l.ph1], + u[c + "hoverformat"], + ); + } + return s; + } + }; + }, + 36071: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(7745), + layoutAttributes: r(43641), + supplyDefaults: r(11385), + crossTraceDefaults: r(82222), + supplyLayoutDefaults: r(13957), + calc: r(72138).calc, + crossTraceCalc: r(11661).crossTraceCalc, + plot: r(17295).plot, + layerName: "barlayer", + style: r(16688).style, + styleOnSelect: r(16688).styleOnSelect, + colorbar: r(4898), + hoverPoints: r(76440), + selectPoints: r(81974), + eventData: r(84402), + moduleType: "trace", + name: "histogram", + basePlotModule: r(93612), + categories: [ + "bar-like", + "cartesian", + "svg", + "bar", + "histogram", + "oriented", + "errorBarsOK", + "showLegend", + ], + meta: {}, + }; + }, + 36362: function (t) { + "use strict"; + t.exports = { + percent: function (t, e) { + for (var r = t.length, n = 100 / e, i = 0; i < r; i++) + t[i] *= n; + }, + probability: function (t, e) { + for (var r = t.length, n = 0; n < r; n++) t[n] /= e; + }, + density: function (t, e, r, n) { + var i = t.length; + n = n || 1; + for (var a = 0; a < i; a++) t[a] *= r[a] * n; + }, + "probability density": function (t, e, r, n) { + var i = t.length; + n && (e /= n); + for (var a = 0; a < i; a++) t[a] *= r[a] / e; + }, + }; + }, + 35361: function (t, e, r) { + "use strict"; + var n = r(7745), + i = r(17656), + a = r(21606), + o = r(9012), + s = r(12663).axisHoverFormat, + l = r(5386).fF, + u = r(5386).si, + c = r(50693), + f = r(1426).extendFlat; + t.exports = f( + { + x: n.x, + y: n.y, + z: { valType: "data_array", editType: "calc" }, + marker: { + color: { valType: "data_array", editType: "calc" }, + editType: "calc", + }, + histnorm: n.histnorm, + histfunc: n.histfunc, + nbinsx: n.nbinsx, + xbins: i("x"), + nbinsy: n.nbinsy, + ybins: i("y"), + autobinx: n.autobinx, + autobiny: n.autobiny, + bingroup: f({}, n.bingroup, {}), + xbingroup: f({}, n.bingroup, {}), + ybingroup: f({}, n.bingroup, {}), + xgap: a.xgap, + ygap: a.ygap, + zsmooth: a.zsmooth, + xhoverformat: s("x"), + yhoverformat: s("y"), + zhoverformat: s("z", 1), + hovertemplate: l({}, { keys: "z" }), + texttemplate: u( + { arrayOk: !1, editType: "plot" }, + { keys: "z" }, + ), + textfont: a.textfont, + showlegend: f({}, o.showlegend, { dflt: !1 }), + }, + c("", { cLetter: "z", autoColorDflt: !1 }), + ); + }, + 17562: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(59575), + o = r(36362), + s = r(42174), + l = r(40965), + u = r(72138).calcAllAutoBins; + function c(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 f(t, e) { + return { start: t(e.start), end: t(e.end), size: e.size }; + } + function h(t, e, r, n, i, a) { + var o, + s = t.length - 1, + u = new Array(s), + c = l(r, n, t, i, a); + for (o = 0; o < s; o++) { + var f = (e || [])[o]; + u[o] = void 0 === f ? [c(t[o]), c(t[o + 1], !0)] : [f, f]; + } + return u; + } + t.exports = function (t, e) { + var r, + l, + p, + d, + v = i.getFromId(t, e.xaxis), + g = i.getFromId(t, e.yaxis), + y = e.xcalendar, + m = e.ycalendar, + x = function (t) { + return v.r2c(t, 0, y); + }, + b = function (t) { + return g.r2c(t, 0, m); + }, + _ = u(t, e, v, "x"), + w = _[0], + T = _[1], + k = u(t, e, g, "y"), + A = k[0], + M = k[1], + S = e._length; + T.length > S && T.splice(S, T.length - S), + M.length > S && M.splice(S, M.length - S); + var E = [], + L = [], + C = [], + P = "string" == typeof w.size, + O = "string" == typeof A.size, + I = [], + D = [], + z = P ? I : w, + R = O ? D : A, + F = 0, + B = [], + N = [], + j = e.histnorm, + U = e.histfunc, + V = -1 !== j.indexOf("density"), + H = "max" === U || "min" === U ? null : 0, + q = a.count, + G = o[j], + Z = !1, + Y = [], + W = [], + X = + "z" in e + ? e.z + : "marker" in e && Array.isArray(e.marker.color) + ? e.marker.color + : ""; + X && "count" !== U && ((Z = "avg" === U), (q = a[U])); + var J = w.size, + K = x(w.start), + $ = x(w.end) + (K - i.tickIncrement(K, J, !1, y)) / 1e6; + for (r = K; r < $; r = i.tickIncrement(r, J, !1, y)) + L.push(H), I.push(r), Z && C.push(0); + I.push(r); + var Q, + tt = L.length, + et = (r - K) / tt, + rt = ((Q = K + et / 2), v.c2r(Q, 0, y)), + nt = A.size, + it = b(A.start), + at = + b(A.end) + (it - i.tickIncrement(it, nt, !1, m)) / 1e6; + for (r = it; r < at; r = i.tickIncrement(r, nt, !1, m)) { + E.push(L.slice()), D.push(r); + var ot = new Array(tt); + for (l = 0; l < tt; l++) ot[l] = []; + N.push(ot), Z && B.push(C.slice()); + } + D.push(r); + var st = E.length, + lt = (r - it) / st, + ut = (function (t) { + return g.c2r(t, 0, m); + })(it + lt / 2); + V && + ((Y = c(L.length, z, et, P)), + (W = c(E.length, R, lt, O))), + P || "date" !== v.type || (z = f(x, z)), + O || "date" !== g.type || (R = f(b, R)); + var ct = !0, + ft = !0, + ht = new Array(tt), + pt = new Array(st), + dt = 1 / 0, + vt = 1 / 0, + gt = 1 / 0, + yt = 1 / 0; + for (r = 0; r < S; r++) { + var mt = T[r], + xt = M[r]; + (p = n.findBin(mt, z)), + (d = n.findBin(xt, R)), + p >= 0 && + p < tt && + d >= 0 && + d < st && + ((F += q(p, r, E[d], X, B[d])), + N[d][p].push(r), + ct && + (void 0 === ht[p] + ? (ht[p] = mt) + : ht[p] !== mt && (ct = !1)), + ft && + (void 0 === pt[d] + ? (pt[d] = xt) + : pt[d] !== xt && (ft = !1)), + (dt = Math.min(dt, mt - I[p])), + (vt = Math.min(vt, I[p + 1] - mt)), + (gt = Math.min(gt, xt - D[d])), + (yt = Math.min(yt, D[d + 1] - xt))); + } + if (Z) for (d = 0; d < st; d++) F += s(E[d], B[d]); + if (G) for (d = 0; d < st; d++) G(E[d], F, Y, W[d]); + return { + x: T, + xRanges: h(I, ct && ht, dt, vt, v, y), + x0: rt, + dx: et, + y: M, + yRanges: h(D, ft && pt, gt, yt, g, m), + y0: ut, + dy: lt, + z: E, + pts: N, + }; + }; + }, + 93888: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(75238), + a = r(49901), + o = r(1586), + s = r(58623), + l = r(35361); + t.exports = function (t, e, r, u) { + function c(r, i) { + return n.coerce(t, e, l, r, i); + } + i(t, e, c, u), + !1 !== e.visible && + (a(t, e, c, u), + o(t, e, u, c, { prefix: "", cLetter: "z" }), + c("hovertemplate"), + s(c, u), + c("xhoverformat"), + c("yhoverformat")); + }; + }, + 76128: function (t, e, r) { + "use strict"; + var n = r(46248), + i = r(89298).hoverLabelText; + t.exports = function (t, e, r, a, o) { + var s = n(t, e, r, a, o); + if (s) { + var l = (t = s[0]).index, + u = l[0], + c = l[1], + f = t.cd[0], + h = f.trace, + p = f.xRanges[c], + d = f.yRanges[u]; + return ( + (t.xLabel = i(t.xa, [p[0], p[1]], h.xhoverformat)), + (t.yLabel = i(t.ya, [d[0], d[1]], h.yhoverformat)), + s + ); + } + }; + }, + 43905: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(35361), + supplyDefaults: r(93888), + crossTraceDefaults: r(82222), + calc: r(90757), + plot: r(50347), + layerName: "heatmaplayer", + colorbar: r(61243), + style: r(70035), + hoverPoints: r(76128), + eventData: r(84402), + moduleType: "trace", + name: "histogram2d", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "2dMap", + "histogram", + "showLegend", + ], + meta: {}, + }; + }, + 75238: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828); + t.exports = function (t, e, r, a) { + var o = r("x"), + s = r("y"), + l = i.minRowLength(o), + u = i.minRowLength(s); + l && u + ? ((e._length = Math.min(l, u)), + n.getComponentMethod( + "calendars", + "handleTraceDefaults", + )(t, e, ["x", "y"], a), + (r("z") || r("marker.color")) && r("histfunc"), + r("histnorm"), + r("autobinx"), + r("autobiny")) + : (e.visible = !1); + }; + }, + 99066: function (t, e, r) { + "use strict"; + var n = r(35361), + i = r(70600), + a = r(50693), + o = r(12663).axisHoverFormat, + s = r(1426).extendFlat; + t.exports = s( + { + x: n.x, + y: n.y, + z: n.z, + marker: n.marker, + histnorm: n.histnorm, + histfunc: n.histfunc, + nbinsx: n.nbinsx, + xbins: n.xbins, + nbinsy: n.nbinsy, + ybins: n.ybins, + autobinx: n.autobinx, + autobiny: n.autobiny, + bingroup: n.bingroup, + xbingroup: n.xbingroup, + ybingroup: n.ybingroup, + autocontour: i.autocontour, + ncontours: i.ncontours, + contours: i.contours, + line: { + color: i.line.color, + width: s({}, i.line.width, { dflt: 0.5 }), + dash: i.line.dash, + smoothing: i.line.smoothing, + editType: "plot", + }, + xhoverformat: o("x"), + yhoverformat: o("y"), + zhoverformat: o("z", 1), + hovertemplate: n.hovertemplate, + texttemplate: i.texttemplate, + textfont: i.textfont, + }, + a("", { cLetter: "z", editTypeOverride: "calc" }), + ); + }, + 62654: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(75238), + a = r(67217), + o = r(8724), + s = r(58623), + l = r(99066); + t.exports = function (t, e, r, u) { + function c(r, i) { + return n.coerce(t, e, l, r, i); + } + i(t, e, c, u), + !1 !== e.visible && + (a(t, e, c, function (r) { + return n.coerce2(t, e, l, r); + }), + o(t, e, c, u), + c("xhoverformat"), + c("yhoverformat"), + c("hovertemplate"), + e.contours && + "heatmap" === e.contours.coloring && + s(c, u)); + }; + }, + 35902: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(99066), + supplyDefaults: r(62654), + crossTraceDefaults: r(82222), + calc: r(27529), + plot: r(29854).plot, + layerName: "contourlayer", + style: r(84426), + colorbar: r(90654), + hoverPoints: r(52421), + moduleType: "trace", + name: "histogram2dcontour", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "2dMap", + "contour", + "histogram", + "showLegend", + ], + meta: {}, + }; + }, + 46291: function (t, e, r) { + "use strict"; + var n = r(5386).fF, + i = r(5386).si, + a = r(50693), + o = r(27670).Y, + s = r(34e3), + l = r(57564), + u = r(45802), + c = r(43473), + f = r(1426).extendFlat, + h = r(79952).u; + t.exports = { + labels: l.labels, + parents: l.parents, + values: l.values, + branchvalues: l.branchvalues, + count: l.count, + level: l.level, + maxdepth: l.maxdepth, + tiling: { + orientation: { + valType: "enumerated", + values: ["v", "h"], + dflt: "h", + editType: "plot", + }, + flip: u.tiling.flip, + pad: { + valType: "number", + min: 0, + dflt: 0, + editType: "plot", + }, + editType: "calc", + }, + marker: f( + { + colors: l.marker.colors, + line: l.marker.line, + pattern: h, + editType: "calc", + }, + a("marker", { colorAttr: "colors", anim: !1 }), + ), + leaf: l.leaf, + pathbar: u.pathbar, + text: s.text, + textinfo: l.textinfo, + texttemplate: i( + { editType: "plot" }, + { keys: c.eventDataKeys.concat(["label", "value"]) }, + ), + hovertext: s.hovertext, + hoverinfo: l.hoverinfo, + hovertemplate: n({}, { keys: c.eventDataKeys }), + textfont: s.textfont, + insidetextfont: s.insidetextfont, + outsidetextfont: u.outsidetextfont, + textposition: u.textposition, + sort: s.sort, + root: l.root, + domain: o({ name: "icicle", trace: !0, editType: "calc" }), + }; + }, + 96346: function (t, e, r) { + "use strict"; + var n = r(74875); + (e.name = "icicle"), + (e.plot = function (t, r, i, a) { + n.plotBasePlot(e.name, t, r, i, a); + }), + (e.clean = function (t, r, i, a) { + n.cleanBasePlot(e.name, t, r, i, a); + }); + }, + 46584: function (t, e, r) { + "use strict"; + var n = r(52147); + (e.y = function (t, e) { + return n.calc(t, e); + }), + (e.T = function (t) { + return n._runCrossTraceCalc("icicle", t); + }); + }, + 56524: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(46291), + a = r(7901), + o = r(27670).c, + s = r(90769).handleText, + l = r(97313).TEXTPAD, + u = r(37434).handleMarkerDefaults, + c = r(21081), + f = c.hasColorscale, + h = c.handleDefaults; + t.exports = function (t, e, r, c) { + function p(r, a) { + return n.coerce(t, e, i, r, a); + } + var d = p("labels"), + v = p("parents"); + if (d && d.length && v && v.length) { + var g = p("values"); + g && g.length ? p("branchvalues") : p("count"), + p("level"), + p("maxdepth"), + p("tiling.orientation"), + p("tiling.flip"), + p("tiling.pad"); + var y = p("text"); + p("texttemplate"), + e.texttemplate || + p( + "textinfo", + Array.isArray(y) ? "text+label" : "label", + ), + p("hovertext"), + p("hovertemplate"); + var m = p("pathbar.visible"); + s(t, e, c, p, "auto", { + hasPathbar: m, + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !1, + moduleHasCliponaxis: !1, + moduleHasTextangle: !1, + moduleHasInsideanchor: !1, + }), + p("textposition"), + u(t, e, c, p); + var x = (e._hasColorscale = + f(t, "marker", "colors") || (t.marker || {}).coloraxis); + x && h(t, e, c, p, { prefix: "marker.", cLetter: "c" }), + p("leaf.opacity", x ? 1 : 0.7), + (e._hovered = { + marker: { + line: { + width: 2, + color: a.contrast(c.paper_bgcolor), + }, + }, + }), + m && + (p( + "pathbar.thickness", + e.pathbar.textfont.size + 2 * l, + ), + p("pathbar.side"), + p("pathbar.edgeshape")), + p("sort"), + p("root.color"), + o(e, c, p), + (e._length = null); + } else e.visible = !1; + }; + }, + 90666: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(91424), + o = r(63893), + s = r(21538), + l = r(82454).styleOne, + u = r(43473), + c = r(2791), + f = r(83523), + h = r(24714).formatSliceLabel, + p = !1; + t.exports = function (t, e, r, d, v) { + var g = v.width, + y = v.height, + m = v.viewX, + x = v.viewY, + b = v.pathSlice, + _ = v.toMoveInsideSlice, + w = v.strTransform, + T = v.hasTransition, + k = v.handleSlicesExit, + A = v.makeUpdateSliceInterpolator, + M = v.makeUpdateTextInterpolator, + S = v.prevEntry, + E = t._context.staticPlot, + L = t._fullLayout, + C = e[0].trace, + P = -1 !== C.textposition.indexOf("left"), + O = -1 !== C.textposition.indexOf("right"), + I = -1 !== C.textposition.indexOf("bottom"), + D = s(r, [g, y], { + flipX: C.tiling.flip.indexOf("x") > -1, + flipY: C.tiling.flip.indexOf("y") > -1, + orientation: C.tiling.orientation, + pad: { inner: C.tiling.pad }, + maxDepth: C._maxDepth, + }).descendants(), + z = 1 / 0, + R = -1 / 0; + D.forEach(function (t) { + var e = t.depth; + e >= C._maxDepth + ? ((t.x0 = t.x1 = (t.x0 + t.x1) / 2), + (t.y0 = t.y1 = (t.y0 + t.y1) / 2)) + : ((z = Math.min(z, e)), (R = Math.max(R, e))); + }), + (d = d.data(D, c.getPtId)), + (C._maxVisibleLayers = isFinite(R) ? R - z + 1 : 0), + d.enter().append("g").classed("slice", !0), + k(d, p, {}, [g, y], b), + d.order(); + var F = null; + if (T && S) { + var B = c.getPtId(S); + d.each(function (t) { + null === F && + c.getPtId(t) === B && + (F = { x0: t.x0, x1: t.x1, y0: t.y0, y1: t.y1 }); + }); + } + var N = function () { + return F || { x0: 0, x1: g, y0: 0, y1: y }; + }, + j = d; + return ( + T && + (j = j.transition().each("end", function () { + var e = n.select(this); + c.setSliceCursor(e, t, { + hideOnRoot: !0, + hideOnLeaves: !1, + isTransitioning: !1, + }); + })), + j.each(function (s) { + (s._x0 = m(s.x0)), + (s._x1 = m(s.x1)), + (s._y0 = x(s.y0)), + (s._y1 = x(s.y1)), + (s._hoverX = m(s.x1 - C.tiling.pad)), + (s._hoverY = x( + I + ? s.y1 - C.tiling.pad / 2 + : s.y0 + C.tiling.pad / 2, + )); + var d = n.select(this), + v = i.ensureSingle( + d, + "path", + "surface", + function (t) { + t.style("pointer-events", E ? "none" : "all"); + }, + ); + T + ? v.transition().attrTween("d", function (t) { + var e = A(t, p, N(), [g, y], { + orientation: C.tiling.orientation, + flipX: C.tiling.flip.indexOf("x") > -1, + flipY: C.tiling.flip.indexOf("y") > -1, + }); + return function (t) { + return b(e(t)); + }; + }) + : v.attr("d", b), + d + .call(f, r, t, e, { + styleOne: l, + eventDataKeys: u.eventDataKeys, + transitionTime: u.CLICK_TRANSITION_TIME, + transitionEasing: u.CLICK_TRANSITION_EASING, + }) + .call(c.setSliceCursor, t, { + isTransitioning: t._transitioning, + }), + v.call(l, s, C, t, { hovered: !1 }), + s.x0 === s.x1 || s.y0 === s.y1 + ? (s._text = "") + : (s._text = h(s, r, C, e, L) || ""); + var k = i.ensureSingle(d, "g", "slicetext"), + S = i.ensureSingle(k, "text", "", function (t) { + t.attr("data-notex", 1); + }), + D = i.ensureUniformFontSize( + t, + c.determineTextFont(C, s, L.font), + ); + S.text(s._text || " ") + .classed("slicetext", !0) + .attr( + "text-anchor", + O ? "end" : P ? "start" : "middle", + ) + .call(a.font, D) + .call(o.convertToTspans, t), + (s.textBB = a.bBox(S.node())), + (s.transform = _(s, { fontSize: D.size })), + (s.transform.fontSize = D.size), + T + ? S.transition().attrTween( + "transform", + function (t) { + var e = M(t, p, N(), [g, y]); + return function (t) { + return w(e(t)); + }; + }, + ) + : S.attr("transform", w(s)); + }), + F + ); + }; + }, + 69816: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "icicle", + basePlotModule: r(96346), + categories: [], + animatable: !0, + attributes: r(46291), + layoutAttributes: r(92894), + supplyDefaults: r(56524), + supplyLayoutDefaults: r(21070), + calc: r(46584).y, + crossTraceCalc: r(46584).T, + plot: r(85596), + style: r(82454).style, + colorbar: r(4898), + meta: {}, + }; + }, + 92894: function (t) { + "use strict"; + t.exports = { + iciclecolorway: { valType: "colorlist", editType: "calc" }, + extendiciclecolors: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + }; + }, + 21070: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(92894); + t.exports = function (t, e) { + function r(r, a) { + return n.coerce(t, e, i, r, a); + } + r("iciclecolorway", e.colorway), r("extendiciclecolors"); + }; + }, + 21538: function (t, e, r) { + "use strict"; + var n = r(674), + i = r(14102); + t.exports = function (t, e, r) { + var a = r.flipX, + o = r.flipY, + s = "h" === r.orientation, + l = r.maxDepth, + u = e[0], + c = e[1]; + l && + ((u = + ((t.height + 1) * e[0]) / Math.min(t.height + 1, l)), + (c = + ((t.height + 1) * e[1]) / Math.min(t.height + 1, l))); + var f = n + .partition() + .padding(r.pad.inner) + .size(s ? [e[1], u] : [e[0], c])(t); + return ( + (s || a || o) && + i(f, e, { swapXY: s, flipX: a, flipY: o }), + f + ); + }; + }, + 85596: function (t, e, r) { + "use strict"; + var n = r(80694), + i = r(90666); + t.exports = function (t, e, r, a) { + return n(t, e, r, a, { + type: "icicle", + drawDescendants: i, + }); + }; + }, + 82454: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(7901), + a = r(71828), + o = r(72597).resizeText, + s = r(43467); + function l(t, e, r, n) { + var o = e.data.data, + l = !e.children, + u = o.i, + c = + a.castOption(r, u, "marker.line.color") || + i.defaultLine, + f = a.castOption(r, u, "marker.line.width") || 0; + t.call(s, e, r, n) + .style("stroke-width", f) + .call(i.stroke, c) + .style("opacity", l ? r.leaf.opacity : null); + } + t.exports = { + style: function (t) { + var e = t._fullLayout._iciclelayer.selectAll(".trace"); + o(t, e, "icicle"), + e.each(function (e) { + var r = n.select(this), + i = e[0].trace; + r.style("opacity", i.opacity), + r.selectAll("path.surface").each(function (e) { + n.select(this).call(l, e, i, t); + }); + }); + }, + styleOne: l, + }; + }, + 17230: function (t, e, r) { + "use strict"; + for ( + var n = r(9012), + i = r(5386).fF, + a = r(1426).extendFlat, + o = r(51877).colormodel, + s = ["rgb", "rgba", "rgba256", "hsl", "hsla"], + l = [], + u = [], + c = 0; + c < s.length; + c++ + ) { + var f = o[s[c]]; + l.push( + "For the `" + + s[c] + + "` colormodel, it is [" + + (f.zminDflt || f.min).join(", ") + + "].", + ), + u.push( + "For the `" + + s[c] + + "` colormodel, it is [" + + (f.zmaxDflt || f.max).join(", ") + + "].", + ); + } + t.exports = a({ + source: { valType: "string", editType: "calc" }, + z: { valType: "data_array", editType: "calc" }, + colormodel: { + valType: "enumerated", + values: s, + editType: "calc", + }, + zsmooth: { + valType: "enumerated", + values: ["fast", !1], + dflt: !1, + editType: "plot", + }, + zmin: { + valType: "info_array", + items: [ + { valType: "number", editType: "calc" }, + { valType: "number", editType: "calc" }, + { valType: "number", editType: "calc" }, + { valType: "number", editType: "calc" }, + ], + editType: "calc", + }, + zmax: { + valType: "info_array", + items: [ + { valType: "number", editType: "calc" }, + { valType: "number", editType: "calc" }, + { valType: "number", editType: "calc" }, + { valType: "number", editType: "calc" }, + ], + editType: "calc", + }, + x0: { + valType: "any", + dflt: 0, + editType: "calc+clearAxisTypes", + }, + y0: { + valType: "any", + dflt: 0, + editType: "calc+clearAxisTypes", + }, + dx: { valType: "number", dflt: 1, editType: "calc" }, + dy: { valType: "number", dflt: 1, editType: "calc" }, + text: { valType: "data_array", editType: "plot" }, + hovertext: { valType: "data_array", editType: "plot" }, + hoverinfo: a({}, n.hoverinfo, { + flags: ["x", "y", "z", "color", "name", "text"], + dflt: "x+y+z+text+name", + }), + hovertemplate: i( + {}, + { keys: ["z", "color", "colormodel"] }, + ), + transforms: void 0, + }); + }, + 71113: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(51877), + a = r(92770), + o = r(89298), + s = r(71828).maxRowLength, + l = r(67395).A; + function u(t, e, r, i) { + return function (a) { + return n.constrain((a - t) * e, r, i); + }; + } + function c(t, e) { + return function (r) { + return n.constrain(r, t, e); + }; + } + t.exports = function (t, e) { + var r, n; + if (e._hasZ) (r = e.z.length), (n = s(e.z)); + else if (e._hasSource) { + var f = l(e.source); + (r = f.height), (n = f.width); + } + var h, + p = o.getFromId(t, e.xaxis || "x"), + d = o.getFromId(t, e.yaxis || "y"), + v = p.d2c(e.x0) - e.dx / 2, + g = d.d2c(e.y0) - e.dy / 2, + y = [v, v + n * e.dx], + m = [g, g + r * e.dy]; + if (p && "log" === p.type) + for (h = 0; h < n; h++) y.push(v + h * e.dx); + if (d && "log" === d.type) + for (h = 0; h < r; h++) m.push(g + h * e.dy); + return ( + (e._extremes[p._id] = o.findExtremes(p, y)), + (e._extremes[d._id] = o.findExtremes(d, m)), + (e._scaler = (function (t) { + var e = i.colormodel[t.colormodel], + r = (e.colormodel || t.colormodel).length; + t._sArray = []; + for (var n = 0; n < r; n++) + e.min[n] !== t.zmin[n] || e.max[n] !== t.zmax[n] + ? t._sArray.push( + u( + t.zmin[n], + (e.max[n] - e.min[n]) / + (t.zmax[n] - t.zmin[n]), + e.min[n], + e.max[n], + ), + ) + : t._sArray.push(c(e.min[n], e.max[n])); + return function (e) { + for (var n = e.slice(0, r), i = 0; i < r; i++) { + var o = n[i]; + if (!a(o)) return !1; + n[i] = t._sArray[i](o); + } + return n; + }; + })(e)), + [{ x0: v, y0: g, z: e.z, w: n, h: r }] + ); + }; + }, + 51877: function (t) { + "use strict"; + t.exports = { + colormodel: { + rgb: { + min: [0, 0, 0], + max: [255, 255, 255], + fmt: function (t) { + return t.slice(0, 3); + }, + suffix: ["", "", ""], + }, + rgba: { + min: [0, 0, 0, 0], + max: [255, 255, 255, 1], + fmt: function (t) { + return t.slice(0, 4); + }, + suffix: ["", "", "", ""], + }, + rgba256: { + colormodel: "rgba", + zminDflt: [0, 0, 0, 0], + zmaxDflt: [255, 255, 255, 255], + min: [0, 0, 0, 0], + max: [255, 255, 255, 1], + fmt: function (t) { + return t.slice(0, 4); + }, + suffix: ["", "", "", ""], + }, + hsl: { + min: [0, 0, 0], + max: [360, 100, 100], + fmt: function (t) { + var e = t.slice(0, 3); + return (e[1] = e[1] + "%"), (e[2] = e[2] + "%"), e; + }, + suffix: ["°", "%", "%"], + }, + hsla: { + min: [0, 0, 0, 0], + max: [360, 100, 100, 1], + fmt: function (t) { + var e = t.slice(0, 4); + return (e[1] = e[1] + "%"), (e[2] = e[2] + "%"), e; + }, + suffix: ["°", "%", "%", ""], + }, + }, + }; + }, + 13245: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(17230), + a = r(51877), + o = r(25095).IMAGE_URL_PREFIX; + t.exports = function (t, e) { + function r(r, a) { + return n.coerce(t, e, i, r, a); + } + r("source"), + e.source && !e.source.match(o) && delete e.source, + (e._hasSource = !!e.source); + var s, + l = r("z"); + (e._hasZ = !( + void 0 === l || + !l.length || + !l[0] || + !l[0].length + )), + e._hasZ || e._hasSource + ? (r("x0"), + r("y0"), + r("dx"), + r("dy"), + e._hasZ + ? (r("colormodel", "rgb"), + r( + "zmin", + (s = a.colormodel[e.colormodel]).zminDflt || + s.min, + ), + r("zmax", s.zmaxDflt || s.max)) + : e._hasSource && + ((e.colormodel = "rgba256"), + (s = a.colormodel[e.colormodel]), + (e.zmin = s.zminDflt), + (e.zmax = s.zmaxDflt)), + r("zsmooth"), + r("text"), + r("hovertext"), + r("hovertemplate"), + (e._length = null)) + : (e.visible = !1); + }; + }, + 30835: function (t) { + "use strict"; + t.exports = function (t, e) { + return ( + "xVal" in e && (t.x = e.xVal), + "yVal" in e && (t.y = e.yVal), + e.xa && (t.xaxis = e.xa), + e.ya && (t.yaxis = e.ya), + (t.color = e.color), + (t.colormodel = e.trace.colormodel), + t.z || (t.z = e.color), + t + ); + }; + }, + 67395: function (t, e, r) { + "use strict"; + var n = r(33575), + i = r(25095).IMAGE_URL_PREFIX, + a = r(12856).Buffer; + e.A = function (t) { + var e = t.replace(i, ""), + r = new a(e, "base64"); + return n(r); + }; + }, + 28749: function (t, e, r) { + "use strict"; + var n = r(30211), + i = r(71828), + a = r(51877); + t.exports = function (t, e, r) { + var o = t.cd[0], + s = o.trace, + l = t.xa, + u = t.ya; + if ( + !( + n.inbox(e - o.x0, e - (o.x0 + o.w * s.dx), 0) > 0 || + n.inbox(r - o.y0, r - (o.y0 + o.h * s.dy), 0) > 0 + ) + ) { + var c, + f = Math.floor((e - o.x0) / s.dx), + h = Math.floor(Math.abs(r - o.y0) / s.dy); + if ( + (s._hasZ + ? (c = o.z[h][f]) + : s._hasSource && + (c = s._canvas.el + .getContext("2d", { willReadFrequently: !0 }) + .getImageData(f, h, 1, 1).data), + c) + ) { + var p, + d = o.hi || s.hoverinfo; + if (d) { + var v = d.split("+"); + -1 !== v.indexOf("all") && (v = ["color"]), + -1 !== v.indexOf("color") && (p = !0); + } + var g, + y = a.colormodel[s.colormodel], + m = y.colormodel || s.colormodel, + x = m.length, + b = s._scaler(c), + _ = y.suffix, + w = []; + (s.hovertemplate || p) && + (w.push( + "[" + + [b[0] + _[0], b[1] + _[1], b[2] + _[2]].join( + ", ", + ), + ), + 4 === x && w.push(", " + b[3] + _[3]), + w.push("]"), + (w = w.join("")), + (t.extraText = m.toUpperCase() + ": " + w)), + Array.isArray(s.hovertext) && + Array.isArray(s.hovertext[h]) + ? (g = s.hovertext[h][f]) + : Array.isArray(s.text) && + Array.isArray(s.text[h]) && + (g = s.text[h][f]); + var T = u.c2p(o.y0 + (h + 0.5) * s.dy), + k = o.x0 + (f + 0.5) * s.dx, + A = o.y0 + (h + 0.5) * s.dy, + M = + "[" + + c.slice(0, s.colormodel.length).join(", ") + + "]"; + return [ + i.extendFlat(t, { + index: [h, f], + x0: l.c2p(o.x0 + f * s.dx), + x1: l.c2p(o.x0 + (f + 1) * s.dx), + y0: T, + y1: T, + color: b, + xVal: k, + xLabelVal: k, + yVal: A, + yLabelVal: A, + zLabelVal: M, + text: g, + hovertemplateLabels: { + zLabel: M, + colorLabel: w, + "color[0]Label": b[0] + _[0], + "color[1]Label": b[1] + _[1], + "color[2]Label": b[2] + _[2], + "color[3]Label": b[3] + _[3], + }, + }), + ]; + } + } + }; + }, + 94507: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(17230), + supplyDefaults: r(13245), + calc: r(71113), + plot: r(60775), + style: r(12826), + hoverPoints: r(28749), + eventData: r(30835), + moduleType: "trace", + name: "image", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "2dMap", + "noSortingByValue", + ], + animatable: !1, + meta: {}, + }; + }, + 60775: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = i.strTranslate, + o = r(77922), + s = r(51877), + l = r(3883), + u = r(32396).STYLE; + t.exports = function (t, e, r, c) { + var f = e.xaxis, + h = e.yaxis, + p = !t._context._exportedPlot && l(); + i.makeTraceGroups(c, r, "im").each(function (e) { + var r = n.select(this), + l = e[0], + c = l.trace, + d = + ("fast" === c.zsmooth || (!1 === c.zsmooth && p)) && + !c._hasZ && + c._hasSource && + "linear" === f.type && + "linear" === h.type; + c._realImage = d; + var v, + g, + y, + m, + x, + b, + _ = l.z, + w = l.x0, + T = l.y0, + k = l.w, + A = l.h, + M = c.dx, + S = c.dy; + for (b = 0; void 0 === v && b < k; ) + (v = f.c2p(w + b * M)), b++; + for (b = k; void 0 === g && b > 0; ) + (g = f.c2p(w + b * M)), b--; + for (b = 0; void 0 === m && b < A; ) + (m = h.c2p(T + b * S)), b++; + for (b = A; void 0 === x && b > 0; ) + (x = h.c2p(T + b * S)), b--; + g < v && ((y = g), (g = v), (v = y)), + x < m && ((y = m), (m = x), (x = y)), + d || + ((v = Math.max(-0.5 * f._length, v)), + (g = Math.min(1.5 * f._length, g)), + (m = Math.max(-0.5 * h._length, m)), + (x = Math.min(1.5 * h._length, x))); + var E = Math.round(g - v), + L = Math.round(x - m); + if (E <= 0 || L <= 0) + r.selectAll("image").data([]).exit().remove(); + else { + var C = r.selectAll("image").data([e]); + C.enter() + .append("svg:image") + .attr({ xmlns: o.svg, preserveAspectRatio: "none" }), + C.exit().remove(); + var P = !1 === c.zsmooth ? u : ""; + if (d) { + var O = i.simpleMap(f.range, f.r2l), + I = i.simpleMap(h.range, h.r2l), + D = O[1] < O[0], + z = I[1] > I[0]; + if (D || z) { + var R = v + E / 2, + F = m + L / 2; + P += + "transform:" + + a(R + "px", F + "px") + + "scale(" + + (D ? -1 : 1) + + "," + + (z ? -1 : 1) + + ")" + + a(-R + "px", -F + "px") + + ";"; + } + } + C.attr("style", P); + var B = new Promise(function (t) { + if (c._hasZ) t(); + else if (c._hasSource) + if ( + c._canvas && + c._canvas.el.width === k && + c._canvas.el.height === A && + c._canvas.source === c.source + ) + t(); + else { + var e = document.createElement("canvas"); + (e.width = k), (e.height = A); + var r = e.getContext("2d", { + willReadFrequently: !0, + }); + c._image = c._image || new Image(); + var n = c._image; + (n.onload = function () { + r.drawImage(n, 0, 0), + (c._canvas = { el: e, source: c.source }), + t(); + }), + n.setAttribute("src", c.source); + } + }).then(function () { + var t, e; + if (c._hasZ) + (e = N(function (t, e) { + return _[e][t]; + })), + (t = e.toDataURL("image/png")); + else if (c._hasSource) + if (d) t = c.source; + else { + var r = c._canvas.el + .getContext("2d", { willReadFrequently: !0 }) + .getImageData(0, 0, k, A).data; + (e = N(function (t, e) { + var n = 4 * (e * k + t); + return [r[n], r[n + 1], r[n + 2], r[n + 3]]; + })), + (t = e.toDataURL("image/png")); + } + C.attr({ + "xlink:href": t, + height: L, + width: E, + x: v, + y: m, + }); + }); + t._promises.push(B); + } + function N(t) { + var e = document.createElement("canvas"); + (e.width = E), (e.height = L); + var r, + n = e.getContext("2d", { willReadFrequently: !0 }), + a = function (t) { + return i.constrain( + Math.round(f.c2p(w + t * M) - v), + 0, + E, + ); + }, + o = function (t) { + return i.constrain( + Math.round(h.c2p(T + t * S) - m), + 0, + L, + ); + }, + u = s.colormodel[c.colormodel], + p = u.colormodel || c.colormodel, + d = u.fmt; + for (b = 0; b < l.w; b++) { + var g = a(b), + y = a(b + 1); + if (y !== g && !isNaN(y) && !isNaN(g)) + for (var x = 0; x < l.h; x++) { + var _ = o(x), + k = o(x + 1); + k === _ || + isNaN(k) || + isNaN(_) || + !t(b, x) || + ((r = c._scaler(t(b, x))), + (n.fillStyle = r + ? p + "(" + d(r).join(",") + ")" + : "rgba(0,0,0,0)"), + n.fillRect(g, _, y - g, k - _)); + } + } + return e; + } + }); + }; + }, + 12826: function (t, e, r) { + "use strict"; + var n = r(39898); + t.exports = function (t) { + n.select(t) + .selectAll(".im image") + .style("opacity", function (t) { + return t[0].trace.opacity; + }); + }; + }, + 54846: function (t, e, r) { + "use strict"; + var n = r(1426).extendFlat, + i = r(1426).extendDeep, + a = r(30962).overrideAll, + o = r(41940), + s = r(22399), + l = r(27670).Y, + u = r(13838), + c = r(44467).templatedArray, + f = r(22372), + h = r(12663).descriptionOnlyNumbers, + p = o({ editType: "plot", colorEditType: "plot" }), + d = { + color: { valType: "color", editType: "plot" }, + line: { + color: { + valType: "color", + dflt: s.defaultLine, + editType: "plot", + }, + width: { + valType: "number", + min: 0, + dflt: 0, + editType: "plot", + }, + editType: "calc", + }, + thickness: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + editType: "plot", + }, + editType: "calc", + }, + v = { + valType: "info_array", + items: [ + { valType: "number", editType: "plot" }, + { valType: "number", editType: "plot" }, + ], + editType: "plot", + }, + g = c("step", i({}, d, { range: v })); + t.exports = { + mode: { + valType: "flaglist", + editType: "calc", + flags: ["number", "delta", "gauge"], + dflt: "number", + }, + value: { valType: "number", editType: "calc", anim: !0 }, + align: { + valType: "enumerated", + values: ["left", "center", "right"], + editType: "plot", + }, + domain: l({ + name: "indicator", + trace: !0, + editType: "calc", + }), + title: { + text: { valType: "string", editType: "plot" }, + align: { + valType: "enumerated", + values: ["left", "center", "right"], + editType: "plot", + }, + font: n({}, p, {}), + editType: "plot", + }, + number: { + valueformat: { + valType: "string", + dflt: "", + editType: "plot", + description: h("value"), + }, + font: n({}, p, {}), + prefix: { valType: "string", dflt: "", editType: "plot" }, + suffix: { valType: "string", dflt: "", editType: "plot" }, + editType: "plot", + }, + delta: { + reference: { valType: "number", editType: "calc" }, + position: { + valType: "enumerated", + values: ["top", "bottom", "left", "right"], + dflt: "bottom", + editType: "plot", + }, + relative: { + valType: "boolean", + editType: "plot", + dflt: !1, + }, + valueformat: { + valType: "string", + editType: "plot", + description: h("value"), + }, + increasing: { + symbol: { + valType: "string", + dflt: f.INCREASING.SYMBOL, + editType: "plot", + }, + color: { + valType: "color", + dflt: f.INCREASING.COLOR, + editType: "plot", + }, + editType: "plot", + }, + decreasing: { + symbol: { + valType: "string", + dflt: f.DECREASING.SYMBOL, + editType: "plot", + }, + color: { + valType: "color", + dflt: f.DECREASING.COLOR, + editType: "plot", + }, + editType: "plot", + }, + font: n({}, p, {}), + prefix: { valType: "string", dflt: "", editType: "plot" }, + suffix: { valType: "string", dflt: "", editType: "plot" }, + editType: "calc", + }, + gauge: { + shape: { + valType: "enumerated", + editType: "plot", + dflt: "angular", + values: ["angular", "bullet"], + }, + bar: i({}, d, { color: { dflt: "green" } }), + bgcolor: { valType: "color", editType: "plot" }, + bordercolor: { + valType: "color", + dflt: s.defaultLine, + editType: "plot", + }, + borderwidth: { + valType: "number", + min: 0, + dflt: 1, + editType: "plot", + }, + axis: a( + { + range: v, + visible: n({}, u.visible, { dflt: !0 }), + tickmode: u.minor.tickmode, + nticks: u.nticks, + tick0: u.tick0, + dtick: u.dtick, + tickvals: u.tickvals, + ticktext: u.ticktext, + ticks: n({}, u.ticks, { dflt: "outside" }), + ticklen: u.ticklen, + tickwidth: u.tickwidth, + tickcolor: u.tickcolor, + ticklabelstep: u.ticklabelstep, + showticklabels: u.showticklabels, + labelalias: u.labelalias, + tickfont: o({}), + tickangle: u.tickangle, + tickformat: u.tickformat, + tickformatstops: u.tickformatstops, + tickprefix: u.tickprefix, + showtickprefix: u.showtickprefix, + ticksuffix: u.ticksuffix, + showticksuffix: u.showticksuffix, + separatethousands: u.separatethousands, + exponentformat: u.exponentformat, + minexponent: u.minexponent, + showexponent: u.showexponent, + editType: "plot", + }, + "plot", + ), + steps: g, + threshold: { + line: { + color: n({}, d.line.color, {}), + width: n({}, d.line.width, { dflt: 1 }), + editType: "plot", + }, + thickness: n({}, d.thickness, { dflt: 0.85 }), + value: { + valType: "number", + editType: "calc", + dflt: !1, + }, + editType: "plot", + }, + editType: "plot", + }, + }; + }, + 15970: function (t, e, r) { + "use strict"; + var n = r(74875); + (e.name = "indicator"), + (e.plot = function (t, r, i, a) { + n.plotBasePlot(e.name, t, r, i, a); + }), + (e.clean = function (t, r, i, a) { + n.cleanBasePlot(e.name, t, r, i, a); + }); + }, + 24667: function (t) { + "use strict"; + t.exports = { + calc: function (t, e) { + var r = [], + n = e.value; + "number" != typeof e._lastValue && + (e._lastValue = e.value); + var i = e._lastValue, + a = i; + return ( + e._hasDelta && + "number" == typeof e.delta.reference && + (a = e.delta.reference), + (r[0] = { + y: n, + lastY: i, + delta: n - a, + relativeDelta: (n - a) / a, + }), + r + ); + }, + }; + }, + 84577: function (t) { + "use strict"; + t.exports = { + defaultNumberFontSize: 80, + bulletNumberDomainSize: 0.25, + bulletPadding: 0.025, + innerRadius: 0.75, + valueThickness: 0.5, + titlePadding: 5, + horizontalPadding: 10, + }; + }, + 94425: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(54846), + a = r(27670).c, + o = r(44467), + s = r(85501), + l = r(84577), + u = r(26218), + c = r(38701), + f = r(96115), + h = r(89426); + function p(t, e) { + function r(r, a) { + return n.coerce(t, e, i.gauge.steps, r, a); + } + r("color"), + r("line.color"), + r("line.width"), + r("range"), + r("thickness"); + } + t.exports = { + supplyDefaults: function (t, e, r, d) { + function v(r, a) { + return n.coerce(t, e, i, r, a); + } + a(e, d, v), + v("mode"), + (e._hasNumber = -1 !== e.mode.indexOf("number")), + (e._hasDelta = -1 !== e.mode.indexOf("delta")), + (e._hasGauge = -1 !== e.mode.indexOf("gauge")); + var g = v("value"); + e._range = [0, "number" == typeof g ? 1.5 * g : 1]; + var y, + m, + x, + b, + _, + w, + T = new Array(2); + function k(t, e) { + return n.coerce(x, b, i.gauge, t, e); + } + function A(t, e) { + return n.coerce(_, w, i.gauge.axis, t, e); + } + if ( + (e._hasNumber && + (v("number.valueformat"), + v("number.font.color", d.font.color), + v("number.font.family", d.font.family), + v("number.font.size"), + void 0 === e.number.font.size && + ((e.number.font.size = l.defaultNumberFontSize), + (T[0] = !0)), + v("number.prefix"), + v("number.suffix"), + (y = e.number.font.size)), + e._hasDelta && + (v("delta.font.color", d.font.color), + v("delta.font.family", d.font.family), + v("delta.font.size"), + void 0 === e.delta.font.size && + ((e.delta.font.size = + (e._hasNumber ? 0.5 : 1) * + (y || l.defaultNumberFontSize)), + (T[1] = !0)), + v("delta.reference", e.value), + v("delta.relative"), + v("delta.valueformat", e.delta.relative ? "2%" : ""), + v("delta.increasing.symbol"), + v("delta.increasing.color"), + v("delta.decreasing.symbol"), + v("delta.decreasing.color"), + v("delta.position"), + v("delta.prefix"), + v("delta.suffix"), + (m = e.delta.font.size)), + (e._scaleNumbers = + ((!e._hasNumber || T[0]) && (!e._hasDelta || T[1])) || + !1), + v("title.font.color", d.font.color), + v("title.font.family", d.font.family), + v( + "title.font.size", + 0.25 * (y || m || l.defaultNumberFontSize), + ), + v("title.text"), + e._hasGauge) + ) { + (x = t.gauge) || (x = {}), + (b = o.newContainer(e, "gauge")), + k("shape"), + (e._isBullet = "bullet" === e.gauge.shape) || + v("title.align", "center"), + (e._isAngular = "angular" === e.gauge.shape) || + v("align", "center"), + k("bgcolor", d.paper_bgcolor), + k("borderwidth"), + k("bordercolor"), + k("bar.color"), + k("bar.line.color"), + k("bar.line.width"), + k( + "bar.thickness", + l.valueThickness * + ("bullet" === e.gauge.shape ? 0.5 : 1), + ), + s(x, b, { name: "steps", handleItemDefaults: p }), + k("threshold.value"), + k("threshold.thickness"), + k("threshold.line.width"), + k("threshold.line.color"), + (_ = {}), + x && (_ = x.axis || {}), + (w = o.newContainer(b, "axis")), + A("visible"), + (e._range = A("range", e._range)); + var M = { outerTicks: !0 }; + u(_, w, A, "linear"), + h(_, w, A, "linear", M), + f(_, w, A, "linear", M), + c(_, w, A, M); + } else + v("title.align", "center"), + v("align", "center"), + (e._isAngular = e._isBullet = !1); + e._length = null; + }, + }; + }, + 15154: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "indicator", + basePlotModule: r(15970), + categories: ["svg", "noOpacity", "noHover"], + animatable: !0, + attributes: r(54846), + supplyDefaults: r(94425).supplyDefaults, + calc: r(24667).calc, + plot: r(75634), + meta: {}, + }; + }, + 75634: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(81684).sX, + a = r(81684).k4, + o = r(71828), + s = o.strScale, + l = o.strTranslate, + u = o.rad2deg, + c = r(18783).MID_SHIFT, + f = r(91424), + h = r(84577), + p = r(63893), + d = r(89298), + v = r(71453), + g = r(52830), + y = r(13838), + m = r(7901), + x = { left: "start", center: "middle", right: "end" }, + b = { left: 0, center: 0.5, right: 1 }, + _ = /[yzafpnµmkMGTPEZY]/; + function w(t) { + return t && t.duration > 0; + } + function T(t) { + t.each(function (t) { + m.stroke(n.select(this), t.line.color); + }) + .each(function (t) { + m.fill(n.select(this), t.color); + }) + .style("stroke-width", function (t) { + return t.line.width; + }); + } + function k(t, e, r) { + var n = t._fullLayout, + i = o.extendFlat( + { + type: "linear", + ticks: "outside", + range: r, + showline: !0, + }, + e, + ), + a = { type: "linear", _id: "x" + e._id }, + s = { + letter: "x", + font: n.font, + noHover: !0, + noTickson: !0, + }; + function l(t, e) { + return o.coerce(i, a, y, t, e); + } + return v(i, a, l, s, n), g(i, a, l, s), a; + } + function A(t, e, r) { + return [ + Math.min(e / t.width, r / t.height), + t, + e + "x" + r, + ]; + } + function M(t, e, r, i) { + var a = document.createElementNS( + "http://www.w3.org/2000/svg", + "text", + ), + o = n.select(a); + return ( + o + .text(t) + .attr("x", 0) + .attr("y", 0) + .attr("text-anchor", r) + .attr("data-unformatted", t) + .call(p.convertToTspans, i) + .call(f.font, e), + f.bBox(o.node()) + ); + } + function S(t, e, r, n, i, a) { + var s = "_cache" + e; + (t[s] && t[s].key === i) || (t[s] = { key: i, value: r }); + var l = o.aggNums(a, null, [t[s].value, n], 2); + return (t[s].value = l), l; + } + t.exports = function (t, e, r, v) { + var g, + y = t._fullLayout; + w(r) && v && (g = v()), + o + .makeTraceGroups(y._indicatorlayer, e, "trace") + .each(function (e) { + var v, + E, + L, + C, + P, + O = e[0].trace, + I = n.select(this), + D = O._hasGauge, + z = O._isAngular, + R = O._isBullet, + F = O.domain, + B = { + w: y._size.w * (F.x[1] - F.x[0]), + h: y._size.h * (F.y[1] - F.y[0]), + l: y._size.l + y._size.w * F.x[0], + r: y._size.r + y._size.w * (1 - F.x[1]), + t: y._size.t + y._size.h * (1 - F.y[1]), + b: y._size.b + y._size.h * F.y[0], + }, + N = B.l + B.w / 2, + j = B.t + B.h / 2, + U = Math.min(B.w / 2, B.h), + V = h.innerRadius * U, + H = O.align || "center"; + if (((E = j), D)) { + if ( + (z && + ((v = N), + (E = j + U / 2), + (L = function (t) { + return (function (t, e) { + return [ + e / + Math.sqrt( + (t.width / 2) * (t.width / 2) + + t.height * t.height, + ), + t, + e, + ]; + })(t, 0.9 * V); + })), + R) + ) { + var q = h.bulletPadding, + G = 1 - h.bulletNumberDomainSize + q; + (v = B.l + (G + (1 - G) * b[H]) * B.w), + (L = function (t) { + return A( + t, + (h.bulletNumberDomainSize - q) * B.w, + B.h, + ); + }); + } + } else + (v = B.l + b[H] * B.w), + (L = function (t) { + return A(t, B.w, B.h); + }); + !(function (t, e, r, i) { + var u, + c, + h, + v = r[0].trace, + g = i.numbersX, + y = i.numbersY, + T = v.align || "center", + A = x[T], + E = i.transitionOpts, + L = i.onComplete, + C = o.ensureSingle(e, "g", "numbers"), + P = []; + v._hasNumber && P.push("number"), + v._hasDelta && + (P.push("delta"), + "left" === v.delta.position && P.reverse()); + var O = C.selectAll("text").data(P); + function I(e, r, n, i) { + if ( + !e.match("s") || + n >= 0 == i >= 0 || + r(n).slice(-1).match(_) || + r(i).slice(-1).match(_) + ) + return r; + var a = e + .slice() + .replace("s", "f") + .replace(/\d+/, function (t) { + return parseInt(t) - 1; + }), + o = k(t, { tickformat: a }); + return function (t) { + return Math.abs(t) < 1 + ? d.tickText(o, t).text + : r(t); + }; + } + O.enter().append("text"), + O.attr("text-anchor", function () { + return A; + }) + .attr("class", function (t) { + return t; + }) + .attr("x", null) + .attr("y", null) + .attr("dx", null) + .attr("dy", null), + O.exit().remove(); + var D, + z = v.mode + v.align; + if ( + (v._hasDelta && + ((D = (function () { + var e = k( + t, + { tickformat: v.delta.valueformat }, + v._range, + ); + e.setScale(), d.prepTicks(e); + var i = function (t) { + return d.tickText(e, t).text; + }, + o = v.delta.suffix, + s = v.delta.prefix, + l = function (t) { + return v.delta.relative + ? t.relativeDelta + : t.delta; + }, + u = function (t, e) { + return 0 === t || + "number" != typeof t || + isNaN(t) + ? "-" + : (t > 0 + ? v.delta.increasing.symbol + : v.delta.decreasing.symbol) + + s + + e(t) + + o; + }, + h = function (t) { + return t.delta >= 0 + ? v.delta.increasing.color + : v.delta.decreasing.color; + }; + void 0 === v._deltaLastValue && + (v._deltaLastValue = l(r[0])); + var g = C.select("text.delta"); + function y() { + g.text(u(l(r[0]), i)) + .call(m.fill, h(r[0])) + .call(p.convertToTspans, t); + } + return ( + g + .call(f.font, v.delta.font) + .call( + m.fill, + h({ delta: v._deltaLastValue }), + ), + w(E) + ? g + .transition() + .duration(E.duration) + .ease(E.easing) + .tween("text", function () { + var t = n.select(this), + e = l(r[0]), + o = v._deltaLastValue, + s = I( + v.delta.valueformat, + i, + o, + e, + ), + c = a(o, e); + return ( + (v._deltaLastValue = e), + function (e) { + t.text(u(c(e), s)), + t.call( + m.fill, + h({ delta: c(e) }), + ); + } + ); + }) + .each("end", function () { + y(), L && L(); + }) + .each("interrupt", function () { + y(), L && L(); + }) + : y(), + (c = M(u(l(r[0]), i), v.delta.font, A, t)), + g + ); + })()), + (z += + v.delta.position + + v.delta.font.size + + v.delta.font.family + + v.delta.valueformat), + (z += + v.delta.increasing.symbol + + v.delta.decreasing.symbol), + (h = c)), + v._hasNumber && + ((function () { + var e = k( + t, + { tickformat: v.number.valueformat }, + v._range, + ); + e.setScale(), d.prepTicks(e); + var i = function (t) { + return d.tickText(e, t).text; + }, + o = v.number.suffix, + s = v.number.prefix, + l = C.select("text.number"); + function c() { + var e = + "number" == typeof r[0].y + ? s + i(r[0].y) + o + : "-"; + l.text(e) + .call(f.font, v.number.font) + .call(p.convertToTspans, t); + } + w(E) + ? l + .transition() + .duration(E.duration) + .ease(E.easing) + .each("end", function () { + c(), L && L(); + }) + .each("interrupt", function () { + c(), L && L(); + }) + .attrTween("text", function () { + var t = n.select(this), + e = a(r[0].lastY, r[0].y); + v._lastValue = r[0].y; + var l = I( + v.number.valueformat, + i, + r[0].lastY, + r[0].y, + ); + return function (r) { + t.text(s + l(e(r)) + o); + }; + }) + : c(), + (u = M( + s + i(r[0].y) + o, + v.number.font, + A, + t, + )); + })(), + (z += + v.number.font.size + + v.number.font.family + + v.number.valueformat + + v.number.suffix + + v.number.prefix), + (h = u)), + v._hasDelta && v._hasNumber) + ) { + var R, + F, + B = [ + (u.left + u.right) / 2, + (u.top + u.bottom) / 2, + ], + N = [ + (c.left + c.right) / 2, + (c.top + c.bottom) / 2, + ], + j = 0.75 * v.delta.font.size; + "left" === v.delta.position && + ((R = S( + v, + "deltaPos", + 0, + -1 * + (u.width * b[v.align] + + c.width * (1 - b[v.align]) + + j), + z, + Math.min, + )), + (F = B[1] - N[1]), + (h = { + width: u.width + c.width + j, + height: Math.max(u.height, c.height), + left: c.left + R, + right: u.right, + top: Math.min(u.top, c.top + F), + bottom: Math.max(u.bottom, c.bottom + F), + })), + "right" === v.delta.position && + ((R = S( + v, + "deltaPos", + 0, + u.width * (1 - b[v.align]) + + c.width * b[v.align] + + j, + z, + Math.max, + )), + (F = B[1] - N[1]), + (h = { + width: u.width + c.width + j, + height: Math.max(u.height, c.height), + left: u.left, + right: c.right + R, + top: Math.min(u.top, c.top + F), + bottom: Math.max(u.bottom, c.bottom + F), + })), + "bottom" === v.delta.position && + ((R = null), + (F = c.height), + (h = { + width: Math.max(u.width, c.width), + height: u.height + c.height, + left: Math.min(u.left, c.left), + right: Math.max(u.right, c.right), + top: u.bottom - u.height, + bottom: u.bottom + c.height, + })), + "top" === v.delta.position && + ((R = null), + (F = u.top), + (h = { + width: Math.max(u.width, c.width), + height: u.height + c.height, + left: Math.min(u.left, c.left), + right: Math.max(u.right, c.right), + top: u.bottom - u.height - c.height, + bottom: u.bottom, + })), + D.attr({ dx: R, dy: F }); + } + (v._hasNumber || v._hasDelta) && + C.attr("transform", function () { + var t = i.numbersScaler(h); + z += t[2]; + var e, + r = S( + v, + "numbersScale", + 1, + t[0], + z, + Math.min, + ); + v._scaleNumbers || (r = 1), + (e = v._isAngular + ? y - r * h.bottom + : y - (r * (h.top + h.bottom)) / 2), + (v._numbersTop = r * h.top + e); + var n = h[T]; + "center" === T && (n = (h.left + h.right) / 2); + var a = g - r * n; + return ( + (a = S( + v, + "numbersTranslate", + 0, + a, + z, + Math.max, + )), + l(a, e) + s(r) + ); + }); + })(t, I, e, { + numbersX: v, + numbersY: E, + numbersScaler: L, + transitionOpts: r, + onComplete: g, + }), + D && + ((C = { + range: O.gauge.axis.range, + color: O.gauge.bgcolor, + line: { color: O.gauge.bordercolor, width: 0 }, + thickness: 1, + }), + (P = { + range: O.gauge.axis.range, + color: "rgba(0, 0, 0, 0)", + line: { + color: O.gauge.bordercolor, + width: O.gauge.borderwidth, + }, + thickness: 1, + })); + var Z = I.selectAll("g.angular").data(z ? e : []); + Z.exit().remove(); + var Y = I.selectAll("g.angularaxis").data(z ? e : []); + Y.exit().remove(), + z && + (function (t, e, r, a) { + var o, + s, + f, + h, + p = r[0].trace, + v = a.size, + g = a.radius, + y = a.innerRadius, + m = a.gaugeBg, + x = a.gaugeOutline, + b = [v.l + v.w / 2, v.t + v.h / 2 + g / 2], + _ = a.gauge, + A = a.layer, + M = a.transitionOpts, + S = a.onComplete, + E = Math.PI / 2; + function L(t) { + var e = p.gauge.axis.range[0], + r = + ((t - e) / (p.gauge.axis.range[1] - e)) * + Math.PI - + E; + return r < -E ? -E : r > E ? E : r; + } + function C(t) { + return n.svg + .arc() + .innerRadius( + (y + g) / 2 - (t / 2) * (g - y), + ) + .outerRadius( + (y + g) / 2 + (t / 2) * (g - y), + ) + .startAngle(-E); + } + function P(t) { + t.attr("d", function (t) { + return C(t.thickness) + .startAngle(L(t.range[0])) + .endAngle(L(t.range[1]))(); + }); + } + _.enter().append("g").classed("angular", !0), + _.attr("transform", l(b[0], b[1])), + A.enter() + .append("g") + .classed("angularaxis", !0) + .classed("crisp", !0), + A.selectAll( + "g.xangularaxistick,path,text", + ).remove(), + ((o = k(t, p.gauge.axis)).type = "linear"), + (o.range = p.gauge.axis.range), + (o._id = "xangularaxis"), + (o.ticklabeloverflow = "allow"), + o.setScale(); + var O = function (t) { + return ( + ((o.range[0] - t.x) / + (o.range[1] - o.range[0])) * + Math.PI + + Math.PI + ); + }, + I = {}, + D = d.makeLabelFns(o, 0).labelStandoff; + (I.xFn = function (t) { + var e = O(t); + return Math.cos(e) * D; + }), + (I.yFn = function (t) { + var e = O(t), + r = Math.sin(e) > 0 ? 0.2 : 1; + return ( + -Math.sin(e) * (D + t.fontSize * r) + + Math.abs(Math.cos(e)) * (t.fontSize * c) + ); + }), + (I.anchorFn = function (t) { + var e = O(t), + r = Math.cos(e); + return Math.abs(r) < 0.1 + ? "middle" + : r > 0 + ? "start" + : "end"; + }), + (I.heightFn = function (t, e, r) { + var n = O(t); + return -0.5 * (1 + Math.sin(n)) * r; + }); + var z = function (t) { + return l( + b[0] + g * Math.cos(t), + b[1] - g * Math.sin(t), + ); + }; + f = function (t) { + return z(O(t)); + }; + if ( + ((s = d.calcTicks(o)), + (h = d.getTickSigns(o)[2]), + o.visible) + ) { + h = "inside" === o.ticks ? -1 : 1; + var R = (o.linewidth || 1) / 2; + d.drawTicks(t, o, { + vals: s, + layer: A, + path: "M" + h * R + ",0h" + h * o.ticklen, + transFn: function (t) { + var e = O(t); + return z(e) + "rotate(" + -u(e) + ")"; + }, + }), + d.drawLabels(t, o, { + vals: s, + layer: A, + transFn: f, + labelFns: I, + }); + } + var F = [m].concat(p.gauge.steps), + B = _.selectAll("g.bg-arc").data(F); + B.enter() + .append("g") + .classed("bg-arc", !0) + .append("path"), + B.select("path").call(P).call(T), + B.exit().remove(); + var N = C(p.gauge.bar.thickness), + j = _.selectAll("g.value-arc").data([ + p.gauge.bar, + ]); + j.enter() + .append("g") + .classed("value-arc", !0) + .append("path"); + var U, + V, + H, + q = j.select("path"); + w(M) + ? (q + .transition() + .duration(M.duration) + .ease(M.easing) + .each("end", function () { + S && S(); + }) + .each("interrupt", function () { + S && S(); + }) + .attrTween( + "d", + ((U = N), + (V = L(r[0].lastY)), + (H = L(r[0].y)), + function () { + var t = i(V, H); + return function (e) { + return U.endAngle(t(e))(); + }; + }), + ), + (p._lastValue = r[0].y)) + : q.attr( + "d", + "number" == typeof r[0].y + ? N.endAngle(L(r[0].y)) + : "M0,0Z", + ), + q.call(T), + j.exit().remove(), + (F = []); + var G = p.gauge.threshold.value; + (G || 0 === G) && + F.push({ + range: [G, G], + color: p.gauge.threshold.color, + line: { + color: p.gauge.threshold.line.color, + width: p.gauge.threshold.line.width, + }, + thickness: p.gauge.threshold.thickness, + }); + var Z = _.selectAll("g.threshold-arc").data(F); + Z.enter() + .append("g") + .classed("threshold-arc", !0) + .append("path"), + Z.select("path").call(P).call(T), + Z.exit().remove(); + var Y = _.selectAll("g.gauge-outline").data([ + x, + ]); + Y.enter() + .append("g") + .classed("gauge-outline", !0) + .append("path"), + Y.select("path").call(P).call(T), + Y.exit().remove(); + })(t, 0, e, { + radius: U, + innerRadius: V, + gauge: Z, + layer: Y, + size: B, + gaugeBg: C, + gaugeOutline: P, + transitionOpts: r, + onComplete: g, + }); + var W = I.selectAll("g.bullet").data(R ? e : []); + W.exit().remove(); + var X = I.selectAll("g.bulletaxis").data(R ? e : []); + X.exit().remove(), + R && + (function (t, e, r, n) { + var i, + a, + o, + s, + u, + c = r[0].trace, + f = n.gauge, + p = n.layer, + v = n.gaugeBg, + g = n.gaugeOutline, + y = n.size, + x = c.domain, + b = n.transitionOpts, + _ = n.onComplete; + f.enter().append("g").classed("bullet", !0), + f.attr("transform", l(y.l, y.t)), + p + .enter() + .append("g") + .classed("bulletaxis", !0) + .classed("crisp", !0), + p + .selectAll("g.xbulletaxistick,path,text") + .remove(); + var A = y.h, + M = c.gauge.bar.thickness * A, + S = x.x[0], + E = + x.x[0] + + (x.x[1] - x.x[0]) * + (c._hasNumber || c._hasDelta + ? 1 - h.bulletNumberDomainSize + : 1); + function L(t) { + t.attr("width", function (t) { + return Math.max( + 0, + i.c2p(t.range[1]) - i.c2p(t.range[0]), + ); + }) + .attr("x", function (t) { + return i.c2p(t.range[0]); + }) + .attr("y", function (t) { + return 0.5 * (1 - t.thickness) * A; + }) + .attr("height", function (t) { + return t.thickness * A; + }); + } + ((i = k(t, c.gauge.axis))._id = "xbulletaxis"), + (i.domain = [S, E]), + i.setScale(), + (a = d.calcTicks(i)), + (o = d.makeTransTickFn(i)), + (s = d.getTickSigns(i)[2]), + (u = y.t + y.h), + i.visible && + (d.drawTicks(t, i, { + vals: + "inside" === i.ticks + ? d.clipEnds(i, a) + : a, + layer: p, + path: d.makeTickPath(i, u, s), + transFn: o, + }), + d.drawLabels(t, i, { + vals: a, + layer: p, + transFn: o, + labelFns: d.makeLabelFns(i, u), + })); + var C = [v].concat(c.gauge.steps), + P = f.selectAll("g.bg-bullet").data(C); + P.enter() + .append("g") + .classed("bg-bullet", !0) + .append("rect"), + P.select("rect").call(L).call(T), + P.exit().remove(); + var O = f + .selectAll("g.value-bullet") + .data([c.gauge.bar]); + O.enter() + .append("g") + .classed("value-bullet", !0) + .append("rect"), + O.select("rect") + .attr("height", M) + .attr("y", (A - M) / 2) + .call(T), + w(b) + ? O.select("rect") + .transition() + .duration(b.duration) + .ease(b.easing) + .each("end", function () { + _ && _(); + }) + .each("interrupt", function () { + _ && _(); + }) + .attr( + "width", + Math.max( + 0, + i.c2p( + Math.min( + c.gauge.axis.range[1], + r[0].y, + ), + ), + ), + ) + : O.select("rect").attr( + "width", + "number" == typeof r[0].y + ? Math.max( + 0, + i.c2p( + Math.min( + c.gauge.axis.range[1], + r[0].y, + ), + ), + ) + : 0, + ), + O.exit().remove(); + var I = r.filter(function () { + return ( + c.gauge.threshold.value || + 0 === c.gauge.threshold.value + ); + }), + D = f.selectAll("g.threshold-bullet").data(I); + D.enter() + .append("g") + .classed("threshold-bullet", !0) + .append("line"), + D.select("line") + .attr("x1", i.c2p(c.gauge.threshold.value)) + .attr("x2", i.c2p(c.gauge.threshold.value)) + .attr( + "y1", + ((1 - c.gauge.threshold.thickness) / 2) * + A, + ) + .attr( + "y2", + (1 - + (1 - c.gauge.threshold.thickness) / 2) * + A, + ) + .call( + m.stroke, + c.gauge.threshold.line.color, + ) + .style( + "stroke-width", + c.gauge.threshold.line.width, + ), + D.exit().remove(); + var z = f + .selectAll("g.gauge-outline") + .data([g]); + z + .enter() + .append("g") + .classed("gauge-outline", !0) + .append("rect"), + z.select("rect").call(L).call(T), + z.exit().remove(); + })(t, 0, e, { + gauge: W, + layer: X, + size: B, + gaugeBg: C, + gaugeOutline: P, + transitionOpts: r, + onComplete: g, + }); + var J = I.selectAll("text.title").data(e); + J.exit().remove(), + J.enter().append("text").classed("title", !0), + J.attr("text-anchor", function () { + return R ? x.right : x[O.title.align]; + }) + .text(O.title.text) + .call(f.font, O.title.font) + .call(p.convertToTspans, t), + J.attr("transform", function () { + var t, + e = B.l + B.w * b[O.title.align], + r = h.titlePadding, + n = f.bBox(J.node()); + return ( + D + ? (z && + (t = O.gauge.axis.visible + ? f.bBox(Y.node()).top - r - n.bottom + : B.t + B.h / 2 - U / 2 - n.bottom - r), + R && + ((t = E - (n.top + n.bottom) / 2), + (e = B.l - h.bulletPadding * B.w))) + : (t = O._numbersTop - r - n.bottom), + l(e, t) + ); + }); + }); + }; + }, + 16249: function (t, e, r) { + "use strict"; + var n = r(50693), + i = r(12663).axisHoverFormat, + a = r(5386).fF, + o = r(2418), + s = r(9012), + l = r(1426).extendFlat, + u = r(30962).overrideAll, + c = (t.exports = u( + l( + { + x: { valType: "data_array" }, + y: { valType: "data_array" }, + z: { valType: "data_array" }, + value: { valType: "data_array" }, + isomin: { valType: "number" }, + isomax: { valType: "number" }, + surface: { + show: { valType: "boolean", dflt: !0 }, + count: { valType: "integer", dflt: 2, min: 1 }, + fill: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + pattern: { + valType: "flaglist", + flags: ["A", "B", "C", "D", "E"], + extras: ["all", "odd", "even"], + dflt: "all", + }, + }, + spaceframe: { + show: { valType: "boolean", dflt: !1 }, + fill: { + valType: "number", + min: 0, + max: 1, + dflt: 0.15, + }, + }, + slices: { + x: { + show: { valType: "boolean", dflt: !1 }, + locations: { valType: "data_array", dflt: [] }, + fill: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + }, + y: { + show: { valType: "boolean", dflt: !1 }, + locations: { valType: "data_array", dflt: [] }, + fill: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + }, + z: { + show: { valType: "boolean", dflt: !1 }, + locations: { valType: "data_array", dflt: [] }, + fill: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + }, + }, + caps: { + x: { + show: { valType: "boolean", dflt: !0 }, + fill: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + }, + y: { + show: { valType: "boolean", dflt: !0 }, + fill: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + }, + z: { + show: { valType: "boolean", dflt: !0 }, + fill: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + }, + }, + text: { valType: "string", dflt: "", arrayOk: !0 }, + hovertext: { + valType: "string", + dflt: "", + arrayOk: !0, + }, + hovertemplate: a(), + xhoverformat: i("x"), + yhoverformat: i("y"), + zhoverformat: i("z"), + valuehoverformat: i("value", 1), + showlegend: l({}, s.showlegend, { dflt: !1 }), + }, + n("", { + colorAttr: "`value`", + showScaleDflt: !0, + editTypeOverride: "calc", + }), + { + opacity: o.opacity, + lightposition: o.lightposition, + lighting: o.lighting, + flatshading: o.flatshading, + contour: o.contour, + hoverinfo: l({}, s.hoverinfo), + }, + ), + "calc", + "nested", + )); + (c.flatshading.dflt = !0), + (c.lighting.facenormalsepsilon.dflt = 0), + (c.x.editType = + c.y.editType = + c.z.editType = + c.value.editType = + "calc+clearAxisTypes"), + (c.transforms = void 0); + }, + 56959: function (t, e, r) { + "use strict"; + var n = r(78803), + i = r(88489).processGrid, + a = r(88489).filter; + t.exports = function (t, e) { + (e._len = Math.min( + e.x.length, + e.y.length, + e.z.length, + e.value.length, + )), + (e._x = a(e.x, e._len)), + (e._y = a(e.y, e._len)), + (e._z = a(e.z, e._len)), + (e._value = a(e.value, e._len)); + var r = i(e); + (e._gridFill = r.fill), + (e._Xs = r.Xs), + (e._Ys = r.Ys), + (e._Zs = r.Zs), + (e._len = r.len); + for (var o = 1 / 0, s = -1 / 0, l = 0; l < e._len; l++) { + var u = e._value[l]; + (o = Math.min(o, u)), (s = Math.max(s, u)); + } + (e._minValues = o), + (e._maxValues = s), + (e._vMin = + void 0 === e.isomin || null === e.isomin + ? o + : e.isomin), + (e._vMax = + void 0 === e.isomax || null === e.isomin + ? s + : e.isomax), + n(t, e, { + vals: [e._vMin, e._vMax], + containerStr: "", + cLetter: "c", + }); + }; + }, + 22674: function (t, e, r) { + "use strict"; + var n = r(9330).gl_mesh3d, + i = r(81697).parseColorScale, + a = r(78614), + o = r(21081).extractOpts, + s = r(90060), + l = function (t, e) { + for (var r = e.length - 1; r > 0; r--) { + var n = Math.min(e[r], e[r - 1]), + i = Math.max(e[r], e[r - 1]); + if (i > n && n < t && t <= i) + return { id: r, distRatio: (i - t) / (i - n) }; + } + return { id: 0, distRatio: 0 }; + }; + function u(t, e, r) { + (this.scene = t), + (this.uid = r), + (this.mesh = e), + (this.name = ""), + (this.data = null), + (this.showContour = !1); + } + var c = u.prototype; + (c.handlePick = function (t) { + if (t.object === this.mesh) { + var e = t.data.index, + r = this.data._meshX[e], + n = this.data._meshY[e], + i = this.data._meshZ[e], + a = this.data._Ys.length, + o = this.data._Zs.length, + s = l(r, this.data._Xs).id, + u = l(n, this.data._Ys).id, + c = l(i, this.data._Zs).id, + f = (t.index = c + o * u + o * a * s); + t.traceCoordinate = [ + this.data._meshX[f], + this.data._meshY[f], + this.data._meshZ[f], + this.data._value[f], + ]; + var h = this.data.hovertext || this.data.text; + return ( + Array.isArray(h) && void 0 !== h[f] + ? (t.textLabel = h[f]) + : h && (t.textLabel = h), + !0 + ); + } + }), + (c.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 = h(t); + var l = { + positions: s( + n(r.xaxis, t._meshX, e.dataScale[0], t.xcalendar), + n(r.yaxis, t._meshY, e.dataScale[1], t.ycalendar), + n(r.zaxis, t._meshZ, e.dataScale[2], t.zcalendar), + ), + cells: s(t._meshI, t._meshJ, t._meshK), + 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: a(t.contour.color).slice(0, 3), + contourWidth: t.contour.width, + useFacetNormals: t.flatshading, + }, + u = o(t); + (l.vertexIntensity = t._meshIntensity), + (l.vertexIntensityBounds = [u.min, u.max]), + (l.colormap = i(t)), + this.mesh.update(l); + }), + (c.dispose = function () { + this.scene.glplot.remove(this.mesh), this.mesh.dispose(); + }); + var f = ["xyz", "xzy", "yxz", "yzx", "zxy", "zyx"]; + function h(t) { + (t._meshI = []), (t._meshJ = []), (t._meshK = []); + var e, + r, + n, + i, + a, + o, + s, + u = t.surface.show, + c = t.spaceframe.show, + h = t.surface.fill, + p = t.spaceframe.fill, + d = !1, + v = !1, + g = 0, + y = t._Xs, + m = t._Ys, + x = t._Zs, + b = y.length, + _ = m.length, + w = x.length, + T = f.indexOf( + t._gridFill.replace(/-/g, "").replace(/\+/g, ""), + ), + k = function (t, e, r) { + switch (T) { + case 5: + return r + w * e + w * _ * t; + case 4: + return r + w * t + w * b * e; + case 3: + return e + _ * r + _ * w * t; + case 2: + return e + _ * t + _ * b * r; + case 1: + return t + b * r + b * w * e; + default: + return t + b * e + b * _ * r; + } + }, + A = t._minValues, + M = t._maxValues, + S = t._vMin, + E = t._vMax; + function L(t, e, s) { + for (var l = o.length, u = r; u < l; u++) + if (t === n[u] && e === i[u] && s === a[u]) return u; + return -1; + } + function C() { + r = e; + } + function P() { + (n = []), (i = []), (a = []), (o = []), (e = 0), C(); + } + function O(t, r, s, l) { + return ( + n.push(t), i.push(r), a.push(s), o.push(l), ++e - 1 + ); + } + function I(t, e, r) { + for (var n = [], i = 0; i < t.length; i++) + n[i] = t[i] * (1 - r) + r * e[i]; + return n; + } + function D(t) { + s = t; + } + function z(t, e) { + return "all" === t || null === t || t.indexOf(e) > -1; + } + function R(t, e) { + return null === t ? e : t; + } + function F(e, r, n) { + C(); + var i, + a, + o, + l = [r], + u = [n]; + if (s >= 1) (l = [r]), (u = [n]); + else if (s > 0) { + var c = (function (t, e) { + var r = t[0], + n = t[1], + i = t[2], + a = (function (t, e, r) { + for (var n = [], i = 0; i < t.length; i++) + n[i] = (t[i] + e[i] + r[i]) / 3; + return n; + })(r, n, i), + o = Math.sqrt(1 - s), + l = I(a, r, o), + u = I(a, n, o), + c = I(a, i, o), + f = e[0], + h = e[1], + p = e[2]; + return { + xyzv: [ + [r, n, u], + [u, l, r], + [n, i, c], + [c, u, n], + [i, r, l], + [l, c, i], + ], + abc: [ + [f, h, -1], + [-1, -1, f], + [h, p, -1], + [-1, -1, h], + [p, f, -1], + [-1, -1, p], + ], + }; + })(r, n); + (l = c.xyzv), (u = c.abc); + } + for (var f = 0; f < l.length; f++) { + (r = l[f]), (n = u[f]); + for (var h = [], p = 0; p < 3; p++) { + var d = r[p][0], + v = r[p][1], + y = r[p][2], + m = r[p][3], + x = n[p] > -1 ? n[p] : L(d, v, y); + h[p] = x > -1 ? x : O(d, v, y, R(e, m)); + } + (i = h[0]), + (a = h[1]), + (o = h[2]), + t._meshI.push(i), + t._meshJ.push(a), + t._meshK.push(o), + ++g; + } + } + function B(t, e, r, n) { + var i = t[3]; + i < r && (i = r), i > n && (i = n); + for ( + var a = (t[3] - i) / (t[3] - e[3] + 1e-9), + o = [], + s = 0; + s < 4; + s++ + ) + o[s] = (1 - a) * t[s] + a * e[s]; + return o; + } + function N(t, e, r) { + return t >= e && t <= r; + } + function j(t) { + var e = 0.001 * (E - S); + return t >= S - e && t <= E + e; + } + function U(e) { + for (var r = [], n = 0; n < 4; n++) { + var i = e[n]; + r.push([t._x[i], t._y[i], t._z[i], t._value[i]]); + } + return r; + } + function V(t, e, r, n, i, a) { + a || (a = 1), (r = [-1, -1, -1]); + var o = !1, + s = [ + N(e[0][3], n, i), + N(e[1][3], n, i), + N(e[2][3], n, i), + ]; + if (!s[0] && !s[1] && !s[2]) return !1; + var l = function (t, e, r) { + return j(e[0][3]) && j(e[1][3]) && j(e[2][3]) + ? (F(t, e, r), !0) + : a < 3 && V(t, e, r, S, E, ++a); + }; + if (s[0] && s[1] && s[2]) return l(t, e, r) || o; + var u = !1; + return ( + [ + [0, 1, 2], + [2, 0, 1], + [1, 2, 0], + ].forEach(function (a) { + if (s[a[0]] && s[a[1]] && !s[a[2]]) { + var c = e[a[0]], + f = e[a[1]], + h = e[a[2]], + p = B(h, c, n, i), + d = B(h, f, n, i); + (o = l(t, [d, p, c], [-1, -1, r[a[0]]]) || o), + (o = + l(t, [c, f, d], [r[a[0]], r[a[1]], -1]) || o), + (u = !0); + } + }), + u || + [ + [0, 1, 2], + [1, 2, 0], + [2, 0, 1], + ].forEach(function (a) { + if (s[a[0]] && !s[a[1]] && !s[a[2]]) { + var c = e[a[0]], + f = e[a[1]], + h = e[a[2]], + p = B(f, c, n, i), + d = B(h, c, n, i); + (o = l(t, [d, p, c], [-1, -1, r[a[0]]]) || o), + (u = !0); + } + }), + o + ); + } + function H(t, e, r, n) { + var i = !1, + a = U(e), + o = [ + N(a[0][3], r, n), + N(a[1][3], r, n), + N(a[2][3], r, n), + N(a[3][3], r, n), + ]; + if (!(o[0] || o[1] || o[2] || o[3])) return i; + if (o[0] && o[1] && o[2] && o[3]) + return ( + v && + (i = + (function (t, e, r) { + var n = function (n, i, a) { + F(t, [e[n], e[i], e[a]], [r[n], r[i], r[a]]); + }; + n(0, 1, 2), n(3, 0, 1), n(2, 3, 0), n(1, 2, 3); + })(t, a, e) || i), + i + ); + var s = !1; + return ( + [ + [0, 1, 2, 3], + [3, 0, 1, 2], + [2, 3, 0, 1], + [1, 2, 3, 0], + ].forEach(function (l) { + if (o[l[0]] && o[l[1]] && o[l[2]] && !o[l[3]]) { + var u = a[l[0]], + c = a[l[1]], + f = a[l[2]], + h = a[l[3]]; + if (v) + i = + F(t, [u, c, f], [e[l[0]], e[l[1]], e[l[2]]]) || + i; + else { + var p = B(h, u, r, n), + d = B(h, c, r, n), + g = B(h, f, r, n); + i = F(null, [p, d, g], [-1, -1, -1]) || i; + } + s = !0; + } + }), + s || + ([ + [0, 1, 2, 3], + [1, 2, 3, 0], + [2, 3, 0, 1], + [3, 0, 1, 2], + [0, 2, 3, 1], + [1, 3, 2, 0], + ].forEach(function (l) { + if (o[l[0]] && o[l[1]] && !o[l[2]] && !o[l[3]]) { + var u = a[l[0]], + c = a[l[1]], + f = a[l[2]], + h = a[l[3]], + p = B(f, u, r, n), + d = B(f, c, r, n), + g = B(h, c, r, n), + y = B(h, u, r, n); + v + ? ((i = + F(t, [u, y, p], [e[l[0]], -1, -1]) || i), + (i = F(t, [c, d, g], [e[l[1]], -1, -1]) || i)) + : (i = + (function (t, e, r) { + var n = function (t, n, i) { + F( + null, + [e[t], e[n], e[i]], + [r[t], r[n], r[i]], + ); + }; + n(0, 1, 2), n(2, 3, 0); + })(0, [p, d, g, y], [-1, -1, -1, -1]) || i), + (s = !0); + } + }), + s || + [ + [0, 1, 2, 3], + [1, 2, 3, 0], + [2, 3, 0, 1], + [3, 0, 1, 2], + ].forEach(function (l) { + if (o[l[0]] && !o[l[1]] && !o[l[2]] && !o[l[3]]) { + var u = a[l[0]], + c = a[l[1]], + f = a[l[2]], + h = a[l[3]], + p = B(c, u, r, n), + d = B(f, u, r, n), + g = B(h, u, r, n); + v + ? ((i = + F(t, [u, p, d], [e[l[0]], -1, -1]) || i), + (i = + F(t, [u, d, g], [e[l[0]], -1, -1]) || i), + (i = + F(t, [u, g, p], [e[l[0]], -1, -1]) || i)) + : (i = F(null, [p, d, g], [-1, -1, -1]) || i), + (s = !0); + } + })), + i + ); + } + function q(t, e, r, n, i, a, o, s, l, u, c) { + var f = !1; + return ( + d && + (z(t, "A") && (f = H(null, [e, r, n, a], u, c) || f), + z(t, "B") && (f = H(null, [r, n, i, l], u, c) || f), + z(t, "C") && (f = H(null, [r, a, o, l], u, c) || f), + z(t, "D") && (f = H(null, [n, a, s, l], u, c) || f), + z(t, "E") && (f = H(null, [r, n, a, l], u, c) || f)), + v && (f = H(t, [r, n, a, l], u, c) || f), + f + ); + } + function G(t, e, r, n, i, a, o, s) { + return [ + !0 === s[0] || V(t, U([e, r, n]), [e, r, n], a, o), + !0 === s[1] || V(t, U([n, i, e]), [n, i, e], a, o), + ]; + } + function Z(t, e, r, n, i, a, o, s, l) { + return s + ? G(t, e, r, i, n, a, o, l) + : G(t, r, i, n, e, a, o, l); + } + function Y(t, e, r, n, i, a, o) { + var s, + l, + u, + c, + f = !1, + h = function () { + (f = V(t, [s, l, u], [-1, -1, -1], i, a) || f), + (f = V(t, [u, c, s], [-1, -1, -1], i, a) || f); + }, + p = o[0], + d = o[1], + v = o[2]; + return ( + p && + ((s = I( + U([k(e, r - 0, n - 0)])[0], + U([k(e - 1, r - 0, n - 0)])[0], + p, + )), + (l = I( + U([k(e, r - 0, n - 1)])[0], + U([k(e - 1, r - 0, n - 1)])[0], + p, + )), + (u = I( + U([k(e, r - 1, n - 1)])[0], + U([k(e - 1, r - 1, n - 1)])[0], + p, + )), + (c = I( + U([k(e, r - 1, n - 0)])[0], + U([k(e - 1, r - 1, n - 0)])[0], + p, + )), + h()), + d && + ((s = I( + U([k(e - 0, r, n - 0)])[0], + U([k(e - 0, r - 1, n - 0)])[0], + d, + )), + (l = I( + U([k(e - 0, r, n - 1)])[0], + U([k(e - 0, r - 1, n - 1)])[0], + d, + )), + (u = I( + U([k(e - 1, r, n - 1)])[0], + U([k(e - 1, r - 1, n - 1)])[0], + d, + )), + (c = I( + U([k(e - 1, r, n - 0)])[0], + U([k(e - 1, r - 1, n - 0)])[0], + d, + )), + h()), + v && + ((s = I( + U([k(e - 0, r - 0, n)])[0], + U([k(e - 0, r - 0, n - 1)])[0], + v, + )), + (l = I( + U([k(e - 0, r - 1, n)])[0], + U([k(e - 0, r - 1, n - 1)])[0], + v, + )), + (u = I( + U([k(e - 1, r - 1, n)])[0], + U([k(e - 1, r - 1, n - 1)])[0], + v, + )), + (c = I( + U([k(e - 1, r - 0, n)])[0], + U([k(e - 1, r - 0, n - 1)])[0], + v, + )), + h()), + f + ); + } + function W(t, e, r, n, i, a, o, s, l, u, c, f) { + var h = t; + return f + ? (d && "even" === t && (h = null), + q(h, e, r, n, i, a, o, s, l, u, c)) + : (d && "odd" === t && (h = null), + q(h, l, s, o, a, i, n, r, e, u, c)); + } + function X(t, e, r, n, i) { + for (var a = [], o = 0, s = 0; s < e.length; s++) + for (var l = e[s], u = 1; u < w; u++) + for (var c = 1; c < _; c++) + a.push( + Z( + t, + k(l, c - 1, u - 1), + k(l, c - 1, u), + k(l, c, u - 1), + k(l, c, u), + r, + n, + (l + c + u) % 2, + i && i[o] ? i[o] : [], + ), + ), + o++; + return a; + } + function J(t, e, r, n, i) { + for (var a = [], o = 0, s = 0; s < e.length; s++) + for (var l = e[s], u = 1; u < b; u++) + for (var c = 1; c < w; c++) + a.push( + Z( + t, + k(u - 1, l, c - 1), + k(u, l, c - 1), + k(u - 1, l, c), + k(u, l, c), + r, + n, + (u + l + c) % 2, + i && i[o] ? i[o] : [], + ), + ), + o++; + return a; + } + function K(t, e, r, n, i) { + for (var a = [], o = 0, s = 0; s < e.length; s++) + for (var l = e[s], u = 1; u < _; u++) + for (var c = 1; c < b; c++) + a.push( + Z( + t, + k(c - 1, u - 1, l), + k(c - 1, u, l), + k(c, u - 1, l), + k(c, u, l), + r, + n, + (c + u + l) % 2, + i && i[o] ? i[o] : [], + ), + ), + o++; + return a; + } + function $(t, e, r) { + for (var n = 1; n < w; n++) + for (var i = 1; i < _; i++) + for (var a = 1; a < b; a++) + W( + t, + k(a - 1, i - 1, n - 1), + k(a - 1, i - 1, n), + k(a - 1, i, n - 1), + k(a - 1, i, n), + k(a, i - 1, n - 1), + k(a, i - 1, n), + k(a, i, n - 1), + k(a, i, n), + e, + r, + (a + i + n) % 2, + ); + } + function Q(t, e, r, n, i, a) { + for (var o = [], s = 0, l = 0; l < e.length; l++) + for (var u = e[l], c = 1; c < w; c++) + for (var f = 1; f < _; f++) + o.push( + Y(t, u, f, c, r, n, i[l], a && a[s] && a[s]), + ), + s++; + return o; + } + function tt(t, e, r, n, i, a) { + for (var o = [], s = 0, l = 0; l < e.length; l++) + for (var u = e[l], c = 1; c < b; c++) + for (var f = 1; f < w; f++) + o.push( + Y(t, c, u, f, r, n, i[l], a && a[s] && a[s]), + ), + s++; + return o; + } + function et(t, e, r, n, i, a) { + for (var o = [], s = 0, l = 0; l < e.length; l++) + for (var u = e[l], c = 1; c < _; c++) + for (var f = 1; f < b; f++) + o.push( + Y(t, f, c, u, r, n, i[l], a && a[s] && a[s]), + ), + s++; + return o; + } + function rt(t, e) { + for (var r = [], n = t; n < e; n++) r.push(n); + return r; + } + return ( + (function () { + P(), + (function () { + for (var e = 0; e < b; e++) + for (var r = 0; r < _; r++) + for (var n = 0; n < w; n++) { + var i = k(e, r, n); + O(t._x[i], t._y[i], t._z[i], t._value[i]); + } + })(); + var e = null; + if ( + (c && p && (D(p), (v = !0), $(e, S, E), (v = !1)), + u && h) + ) { + D(h); + for ( + var r = t.surface.pattern, + s = t.surface.count, + f = 0; + f < s; + f++ + ) { + var T = 1 === s ? 0.5 : f / (s - 1), + L = (1 - T) * S + T * E, + C = + Math.abs(L - A) > Math.abs(L - M) + ? [A, L] + : [L, M]; + (d = !0), $(r, C[0], C[1]), (d = !1); + } + } + var I = [ + [Math.min(S, M), Math.max(S, M)], + [Math.min(A, E), Math.max(A, E)], + ]; + ["x", "y", "z"].forEach(function (r) { + for (var n = [], i = 0; i < I.length; i++) { + var a = 0, + o = I[i][0], + s = I[i][1], + u = t.slices[r]; + if (u.show && u.fill) { + D(u.fill); + var c = [], + f = [], + h = []; + if (u.locations.length) + for (var p = 0; p < u.locations.length; p++) { + var d = l( + u.locations[p], + "x" === r ? y : "y" === r ? m : x, + ); + 0 === d.distRatio + ? c.push(d.id) + : d.id > 0 && + (f.push(d.id), + "x" === r + ? h.push([d.distRatio, 0, 0]) + : "y" === r + ? h.push([0, d.distRatio, 0]) + : h.push([0, 0, d.distRatio])); + } + else + c = rt( + 1, + "x" === r ? b - 1 : "y" === r ? _ - 1 : w - 1, + ); + f.length > 0 && + ((n[a] = + "x" === r + ? Q(e, f, o, s, h, n[a]) + : "y" === r + ? tt(e, f, o, s, h, n[a]) + : et(e, f, o, s, h, n[a])), + a++), + c.length > 0 && + ((n[a] = + "x" === r + ? X(e, c, o, s, n[a]) + : "y" === r + ? J(e, c, o, s, n[a]) + : K(e, c, o, s, n[a])), + a++); + } + var v = t.caps[r]; + v.show && + v.fill && + (D(v.fill), + (n[a] = + "x" === r + ? X(e, [0, b - 1], o, s, n[a]) + : "y" === r + ? J(e, [0, _ - 1], o, s, n[a]) + : K(e, [0, w - 1], o, s, n[a])), + a++); + } + }), + 0 === g && P(), + (t._meshX = n), + (t._meshY = i), + (t._meshZ = a), + (t._meshIntensity = o), + (t._Xs = y), + (t._Ys = m), + (t._Zs = x); + })(), + t + ); + } + t.exports = { + findNearestOnAxis: l, + generateIsoMeshes: h, + createIsosurfaceTrace: function (t, e) { + var r = t.glplot.gl, + i = n({ gl: r }), + a = new u(t, i, e.uid); + return (i._trace = a), a.update(e), t.glplot.add(i), a; + }, + }; + }, + 82738: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(73972), + a = r(16249), + o = r(1586); + function s(t, e, r, n, a) { + var s = a("isomin"), + l = a("isomax"); + null != l && + null != s && + s > l && + ((e.isomin = null), (e.isomax = null)); + var u = a("x"), + c = a("y"), + f = a("z"), + h = a("value"); + u && + u.length && + c && + c.length && + f && + f.length && + h && + h.length + ? (i.getComponentMethod( + "calendars", + "handleTraceDefaults", + )(t, e, ["x", "y", "z"], n), + a("valuehoverformat"), + ["x", "y", "z"].forEach(function (t) { + a(t + "hoverformat"); + var e = "caps." + t; + a(e + ".show") && a(e + ".fill"); + var r = "slices." + t; + a(r + ".show") && + (a(r + ".fill"), a(r + ".locations")); + }), + a("spaceframe.show") && a("spaceframe.fill"), + a("surface.show") && + (a("surface.count"), + a("surface.fill"), + a("surface.pattern")), + a("contour.show") && + (a("contour.color"), a("contour.width")), + [ + "text", + "hovertext", + "hovertemplate", + "lighting.ambient", + "lighting.diffuse", + "lighting.specular", + "lighting.roughness", + "lighting.fresnel", + "lighting.vertexnormalsepsilon", + "lighting.facenormalsepsilon", + "lightposition.x", + "lightposition.y", + "lightposition.z", + "flatshading", + "opacity", + ].forEach(function (t) { + a(t); + }), + o(t, e, n, a, { prefix: "", cLetter: "c" }), + (e._length = null)) + : (e.visible = !1); + } + t.exports = { + supplyDefaults: function (t, e, r, i) { + s(t, e, 0, i, function (r, i) { + return n.coerce(t, e, a, r, i); + }); + }, + supplyIsoDefaults: s, + }; + }, + 64943: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(16249), + supplyDefaults: r(82738).supplyDefaults, + calc: r(56959), + colorbar: { min: "cmin", max: "cmax" }, + plot: r(22674).createIsosurfaceTrace, + moduleType: "trace", + name: "isosurface", + basePlotModule: r(58547), + categories: ["gl3d", "showLegend"], + meta: {}, + }; + }, + 2418: function (t, e, r) { + "use strict"; + var n = r(50693), + i = r(12663).axisHoverFormat, + a = r(5386).fF, + o = r(54532), + s = r(9012), + l = r(1426).extendFlat; + t.exports = l( + { + 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", + }, + hovertext: { + valType: "string", + dflt: "", + arrayOk: !0, + editType: "calc", + }, + hovertemplate: a({ editType: "calc" }), + xhoverformat: i("x"), + yhoverformat: i("y"), + zhoverformat: i("z"), + delaunayaxis: { + valType: "enumerated", + values: ["x", "y", "z"], + dflt: "z", + editType: "calc", + }, + alphahull: { + valType: "number", + dflt: -1, + editType: "calc", + }, + intensity: { valType: "data_array", editType: "calc" }, + intensitymode: { + valType: "enumerated", + values: ["vertex", "cell"], + dflt: "vertex", + editType: "calc", + }, + color: { valType: "color", editType: "calc" }, + vertexcolor: { valType: "data_array", editType: "calc" }, + facecolor: { valType: "data_array", editType: "calc" }, + transforms: void 0, + }, + n("", { + colorAttr: "`intensity`", + showScaleDflt: !0, + editTypeOverride: "calc", + }), + { + opacity: o.opacity, + flatshading: { + valType: "boolean", + dflt: !1, + editType: "calc", + }, + contour: { + show: l({}, o.contours.x.show, {}), + color: o.contours.x.color, + width: o.contours.x.width, + editType: "calc", + }, + lightposition: { + x: l({}, o.lightposition.x, { dflt: 1e5 }), + y: l({}, o.lightposition.y, { dflt: 1e5 }), + z: l({}, o.lightposition.z, { dflt: 0 }), + editType: "calc", + }, + lighting: l( + { + 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", + }, + o.lighting, + ), + hoverinfo: l({}, s.hoverinfo, { editType: "calc" }), + showlegend: l({}, s.showlegend, { dflt: !1 }), + }, + ); + }, + 82932: function (t, e, r) { + "use strict"; + var n = r(78803); + t.exports = function (t, e) { + e.intensity && + n(t, e, { + vals: e.intensity, + containerStr: "", + cLetter: "c", + }); + }; + }, + 91134: function (t, e, r) { + "use strict"; + var n = r(9330).gl_mesh3d, + i = r(9330).delaunay_triangulate, + a = r(9330).alpha_shape, + o = r(9330).convex_hull, + s = r(81697).parseColorScale, + l = r(78614), + u = r(21081).extractOpts, + c = r(90060); + function f(t, e, r) { + (this.scene = t), + (this.uid = r), + (this.mesh = e), + (this.name = ""), + (this.color = "#fff"), + (this.data = null), + (this.showContour = !1); + } + var h = f.prototype; + function p(t) { + for (var e = [], r = t.length, n = 0; n < r; n++) + e[n] = l(t[n]); + return e; + } + function d(t, e, r, n) { + for (var i = [], a = e.length, o = 0; o < a; o++) + i[o] = t.d2l(e[o], 0, n) * r; + return i; + } + function v(t) { + for (var e = [], r = t.length, n = 0; n < r; n++) + e[n] = Math.round(t[n]); + return e; + } + function g(t, e) { + for (var r = t.length, n = 0; n < r; n++) + if (t[n] <= -0.5 || t[n] >= e - 0.5) return !1; + return !0; + } + (h.handlePick = function (t) { + if (t.object === this.mesh) { + var e = (t.index = t.data.index); + t.data._cellCenter + ? (t.traceCoordinate = t.data.dataCoordinate) + : (t.traceCoordinate = [ + this.data.x[e], + this.data.y[e], + this.data.z[e], + ]); + var r = this.data.hovertext || this.data.text; + return ( + Array.isArray(r) && void 0 !== r[e] + ? (t.textLabel = r[e]) + : r && (t.textLabel = r), + !0 + ); + } + }), + (h.update = function (t) { + var e = this.scene, + r = e.fullSceneLayout; + this.data = t; + var n, + f = t.x.length, + h = c( + d(r.xaxis, t.x, e.dataScale[0], t.xcalendar), + d(r.yaxis, t.y, e.dataScale[1], t.ycalendar), + d(r.zaxis, t.z, e.dataScale[2], t.zcalendar), + ); + if (t.i && t.j && t.k) { + if ( + t.i.length !== t.j.length || + t.j.length !== t.k.length || + !g(t.i, f) || + !g(t.j, f) || + !g(t.k, f) + ) + return; + n = c(v(t.i), v(t.j), v(t.k)); + } else + n = + 0 === t.alphahull + ? o(h) + : t.alphahull > 0 + ? a(t.alphahull, h) + : (function (t, e) { + for ( + var r = ["x", "y", "z"].indexOf(t), + n = [], + a = e.length, + o = 0; + o < a; + o++ + ) + n[o] = [e[o][(r + 1) % 3], e[o][(r + 2) % 3]]; + return i(n); + })(t.delaunayaxis, h); + var y = { + positions: h, + cells: n, + 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: l(t.contour.color).slice(0, 3), + contourWidth: t.contour.width, + useFacetNormals: t.flatshading, + }; + if (t.intensity) { + var m = u(t); + this.color = "#fff"; + var x = t.intensitymode; + (y[x + "Intensity"] = t.intensity), + (y[x + "IntensityBounds"] = [m.min, m.max]), + (y.colormap = s(t)); + } else + t.vertexcolor + ? ((this.color = t.vertexcolor[0]), + (y.vertexColors = p(t.vertexcolor))) + : t.facecolor + ? ((this.color = t.facecolor[0]), + (y.cellColors = p(t.facecolor))) + : ((this.color = t.color), + (y.meshColor = l(t.color))); + this.mesh.update(y); + }), + (h.dispose = function () { + this.scene.glplot.remove(this.mesh), this.mesh.dispose(); + }), + (t.exports = function (t, e) { + var r = t.glplot.gl, + i = n({ gl: r }), + a = new f(t, i, e.uid); + return (i._trace = a), a.update(e), t.glplot.add(i), a; + }); + }, + 58669: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(1586), + o = r(2418); + t.exports = function (t, e, r, s) { + function l(r, n) { + return i.coerce(t, e, o, r, n); + } + function u(t) { + var e = t.map(function (t) { + var e = l(t); + return e && i.isArrayOrTypedArray(e) ? e : null; + }); + return ( + e.every(function (t) { + return t && t.length === e[0].length; + }) && e + ); + } + u(["x", "y", "z"]) + ? (u(["i", "j", "k"]), + (!e.i || (e.j && e.k)) && + (!e.j || (e.k && e.i)) && + (!e.k || (e.i && e.j)) + ? (n.getComponentMethod( + "calendars", + "handleTraceDefaults", + )(t, e, ["x", "y", "z"], s), + [ + "lighting.ambient", + "lighting.diffuse", + "lighting.specular", + "lighting.roughness", + "lighting.fresnel", + "lighting.vertexnormalsepsilon", + "lighting.facenormalsepsilon", + "lightposition.x", + "lightposition.y", + "lightposition.z", + "flatshading", + "alphahull", + "delaunayaxis", + "opacity", + ].forEach(function (t) { + l(t); + }), + l("contour.show") && + (l("contour.color"), l("contour.width")), + "intensity" in t + ? (l("intensity"), + l("intensitymode"), + a(t, e, s, l, { prefix: "", cLetter: "c" })) + : ((e.showscale = !1), + "facecolor" in t + ? l("facecolor") + : "vertexcolor" in t + ? l("vertexcolor") + : l("color", r)), + l("text"), + l("hovertext"), + l("hovertemplate"), + l("xhoverformat"), + l("yhoverformat"), + l("zhoverformat"), + (e._length = null)) + : (e.visible = !1)) + : (e.visible = !1); + }; + }, + 21164: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(2418), + supplyDefaults: r(58669), + calc: r(82932), + colorbar: { min: "cmin", max: "cmax" }, + plot: r(91134), + moduleType: "trace", + name: "mesh3d", + basePlotModule: r(58547), + categories: ["gl3d", "showLegend"], + meta: {}, + }; + }, + 2522: function (t, e, r) { + "use strict"; + var n = r(71828).extendFlat, + i = r(82196), + a = r(12663).axisHoverFormat, + o = r(79952).P, + s = r(77914), + l = r(22372), + u = l.INCREASING.COLOR, + c = l.DECREASING.COLOR, + f = i.line; + function h(t) { + return { + line: { + color: n({}, f.color, { dflt: t }), + width: f.width, + dash: o, + editType: "style", + }, + editType: "style", + }; + } + t.exports = { + xperiod: i.xperiod, + xperiod0: i.xperiod0, + xperiodalignment: i.xperiodalignment, + xhoverformat: a("x"), + yhoverformat: a("y"), + x: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + open: { valType: "data_array", editType: "calc" }, + high: { valType: "data_array", editType: "calc" }, + low: { valType: "data_array", editType: "calc" }, + close: { valType: "data_array", editType: "calc" }, + line: { + width: n({}, f.width, {}), + dash: n({}, o, {}), + editType: "style", + }, + increasing: h(u), + decreasing: h(c), + text: { + valType: "string", + dflt: "", + arrayOk: !0, + editType: "calc", + }, + hovertext: { + valType: "string", + dflt: "", + arrayOk: !0, + editType: "calc", + }, + tickwidth: { + valType: "number", + min: 0, + max: 0.5, + dflt: 0.3, + editType: "calc", + }, + hoverlabel: n({}, s.hoverlabel, { + split: { + valType: "boolean", + dflt: !1, + editType: "style", + }, + }), + }; + }, + 3485: function (t, e, r) { + "use strict"; + var n = r(71828), + i = n._, + a = r(89298), + o = r(42973), + s = r(50606).BADNUM; + function l(t, e, r, n) { + return { o: t, h: e, l: r, c: n }; + } + function u(t, e, r, o, l, u) { + for ( + var c = l.makeCalcdata(e, "open"), + f = l.makeCalcdata(e, "high"), + h = l.makeCalcdata(e, "low"), + p = l.makeCalcdata(e, "close"), + d = Array.isArray(e.text), + v = Array.isArray(e.hovertext), + g = !0, + y = null, + m = !!e.xperiodalignment, + x = [], + b = 0; + b < o.length; + b++ + ) { + var _ = o[b], + w = c[b], + T = f[b], + k = h[b], + A = p[b]; + if (_ !== s && w !== s && T !== s && k !== s && A !== s) { + A === w + ? null !== y && A !== y && (g = A > y) + : (g = A > w), + (y = A); + var M = u(w, T, k, A); + (M.pos = _), + (M.yc = (w + A) / 2), + (M.i = b), + (M.dir = g ? "increasing" : "decreasing"), + (M.x = M.pos), + (M.y = [k, T]), + m && (M.orig_p = r[b]), + d && (M.tx = e.text[b]), + v && (M.htx = e.hovertext[b]), + x.push(M); + } else x.push({ pos: _, empty: !0 }); + } + return ( + (e._extremes[l._id] = a.findExtremes(l, n.concat(h, f), { + padded: !0, + })), + x.length && + (x[0].t = { + labels: { + open: i(t, "open:") + " ", + high: i(t, "high:") + " ", + low: i(t, "low:") + " ", + close: i(t, "close:") + " ", + }, + }), + x + ); + } + t.exports = { + calc: function (t, e) { + var r = a.getFromId(t, e.xaxis), + i = a.getFromId(t, e.yaxis), + s = (function (t, e, r) { + var i = r._minDiff; + if (!i) { + var a, + s = t._fullData, + l = []; + for (i = 1 / 0, a = 0; a < s.length; a++) { + var u = s[a]; + if ( + "ohlc" === u.type && + !0 === u.visible && + u.xaxis === e._id + ) { + l.push(u); + var c = e.makeCalcdata(u, "x"); + u._origX = c; + var f = o(r, e, "x", c).vals; + u._xcalc = f; + var h = n.distinctVals(f).minDiff; + h && isFinite(h) && (i = Math.min(i, h)); + } + } + for ( + i === 1 / 0 && (i = 1), a = 0; + a < l.length; + a++ + ) + l[a]._minDiff = i; + } + return i * r.tickwidth; + })(t, r, e), + c = e._minDiff; + e._minDiff = null; + var f = e._origX; + e._origX = null; + var h = e._xcalc; + e._xcalc = null; + var p = u(t, e, f, h, i, l); + return ( + (e._extremes[r._id] = a.findExtremes(r, h, { + vpad: c / 2, + })), + p.length + ? (n.extendFlat(p[0].t, { + wHover: c / 2, + tickLen: s, + }), + p) + : [{ t: { empty: !0 } }] + ); + }, + calcCommon: u, + }; + }, + 16169: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(14555), + a = r(73927), + o = r(2522); + function s(t, e, r, n) { + r(n + ".line.color"), + r(n + ".line.width", e.line.width), + r(n + ".line.dash", e.line.dash); + } + t.exports = function (t, e, r, l) { + function u(r, i) { + return n.coerce(t, e, o, r, i); + } + i(t, e, u, l) + ? (a(t, e, l, u, { x: !0 }), + u("xhoverformat"), + u("yhoverformat"), + u("line.width"), + u("line.dash"), + s(0, e, u, "increasing"), + s(0, e, u, "decreasing"), + u("text"), + u("hovertext"), + u("tickwidth"), + (l._requestRangeslider[e.xaxis] = !0)) + : (e.visible = !1); + }; + }, + 66449: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(71828), + a = r(30211), + o = r(7901), + s = r(71828).fillText, + l = r(22372), + u = { + increasing: l.INCREASING.SYMBOL, + decreasing: l.DECREASING.SYMBOL, + }; + function c(t, e, r, n) { + var i, + s, + l = t.cd, + u = t.xa, + c = l[0].trace, + f = l[0].t, + h = c.type, + p = "ohlc" === h ? "l" : "min", + d = "ohlc" === h ? "h" : "max", + v = f.bPos || 0, + g = f.bdPos || f.tickLen, + y = f.wHover, + m = Math.min( + 1, + g / Math.abs(u.r2c(u.range[1]) - u.r2c(u.range[0])), + ); + function x(t) { + var r = (function (t) { + return t.pos + v - e; + })(t); + return a.inbox(r - y, r + y, i); + } + function b(t) { + var e = t[p], + n = t[d]; + return e === n || a.inbox(e - r, n - r, i); + } + function _(t) { + return (x(t) + b(t)) / 2; + } + (i = t.maxHoverDistance - m), (s = t.maxSpikeDistance - m); + var w = a.getDistanceFunction(n, x, b, _); + if ((a.getClosest(l, w, t), !1 === t.index)) return null; + var T = l[t.index]; + if (T.empty) return null; + var k = c[T.dir], + A = k.line.color; + return ( + o.opacity(A) && k.line.width + ? (t.color = A) + : (t.color = k.fillcolor), + (t.x0 = u.c2p(T.pos + v - g, !0)), + (t.x1 = u.c2p(T.pos + v + g, !0)), + (t.xLabelVal = void 0 !== T.orig_p ? T.orig_p : T.pos), + (t.spikeDistance = (_(T) * s) / i), + (t.xSpike = u.c2p(T.pos, !0)), + t + ); + } + function f(t, e, r, a) { + var o = t.cd, + s = t.ya, + l = o[0].trace, + u = o[0].t, + f = [], + h = c(t, e, r, a); + if (!h) return []; + var p = o[h.index].hi || l.hoverinfo, + d = p.split("+"); + if ("all" !== p && -1 === d.indexOf("y")) return []; + for ( + var v = ["high", "open", "close", "low"], g = {}, y = 0; + y < v.length; + y++ + ) { + var m, + x = v[y], + b = l[x][h.index], + _ = s.c2p(b, !0); + b in g + ? ((m = g[b]).yLabel += + "
" + + u.labels[x] + + n.hoverLabelText(s, b, l.yhoverformat)) + : (((m = i.extendFlat({}, h)).y0 = m.y1 = _), + (m.yLabelVal = b), + (m.yLabel = + u.labels[x] + + n.hoverLabelText(s, b, l.yhoverformat)), + (m.name = ""), + f.push(m), + (g[b] = m)); + } + return f; + } + function h(t, e, r, i) { + var a = t.cd, + o = t.ya, + l = a[0].trace, + f = a[0].t, + h = c(t, e, r, i); + if (!h) return []; + var p = a[h.index], + d = (h.index = p.i), + v = p.dir; + function g(t) { + return ( + f.labels[t] + + n.hoverLabelText(o, l[t][d], l.yhoverformat) + ); + } + var y = p.hi || l.hoverinfo, + m = y.split("+"), + x = "all" === y, + b = x || -1 !== m.indexOf("y"), + _ = x || -1 !== m.indexOf("text"), + w = b + ? [ + g("open"), + g("high"), + g("low"), + g("close") + " " + u[v], + ] + : []; + return ( + _ && s(p, l, w), + (h.extraText = w.join("
")), + (h.y0 = h.y1 = o.c2p(p.yc, !0)), + [h] + ); + } + t.exports = { + hoverPoints: function (t, e, r, n) { + return t.cd[0].trace.hoverlabel.split + ? f(t, e, r, n) + : h(t, e, r, n); + }, + hoverSplit: f, + hoverOnPoints: h, + }; + }, + 54186: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "ohlc", + basePlotModule: r(93612), + categories: ["cartesian", "svg", "showLegend"], + meta: {}, + attributes: r(2522), + supplyDefaults: r(16169), + calc: r(3485).calc, + plot: r(72314), + style: r(53101), + hoverPoints: r(66449).hoverPoints, + selectPoints: r(67324), + }; + }, + 14555: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828); + t.exports = function (t, e, r, a) { + var o = r("x"), + s = r("open"), + l = r("high"), + u = r("low"), + c = r("close"); + if ( + (r("hoverlabel.split"), + n.getComponentMethod("calendars", "handleTraceDefaults")( + t, + e, + ["x"], + a, + ), + s && l && u && c) + ) { + var f = Math.min(s.length, l.length, u.length, c.length); + return ( + o && (f = Math.min(f, i.minRowLength(o))), + (e._length = f), + f + ); + } + }; + }, + 72314: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828); + t.exports = function (t, e, r, a) { + var o = e.yaxis, + s = e.xaxis, + l = !!s.rangebreaks; + i.makeTraceGroups(a, r, "trace ohlc").each(function (t) { + var e = n.select(this), + r = t[0], + a = r.t; + if (!0 !== r.trace.visible || a.empty) e.remove(); + else { + var u = a.tickLen, + c = e.selectAll("path").data(i.identity); + c.enter().append("path"), + c.exit().remove(), + c.attr("d", function (t) { + if (t.empty) return "M0,0Z"; + var e = s.c2p(t.pos - u, !0), + r = s.c2p(t.pos + u, !0), + n = l ? (e + r) / 2 : s.c2p(t.pos, !0); + return ( + "M" + + e + + "," + + o.c2p(t.o, !0) + + "H" + + n + + "M" + + n + + "," + + o.c2p(t.h, !0) + + "V" + + o.c2p(t.l, !0) + + "M" + + r + + "," + + o.c2p(t.c, !0) + + "H" + + n + ); + }); + } + }); + }; + }, + 67324: function (t) { + "use strict"; + t.exports = function (t, e) { + var r, + n = t.cd, + i = t.xaxis, + a = t.yaxis, + o = [], + s = n[0].t.bPos || 0; + 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]; + e.contains( + [i.c2p(l.pos + s), a.c2p(l.yc)], + null, + l.i, + t, + ) + ? (o.push({ + pointNumber: l.i, + x: i.c2d(l.pos), + y: a.c2d(l.yc), + }), + (l.selected = 1)) + : (l.selected = 0); + } + return o; + }; + }, + 53101: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(91424), + a = r(7901); + t.exports = function (t, e, r) { + var o = + r || + n.select(t).selectAll("g.ohlclayer").selectAll("g.trace"); + o.style("opacity", function (t) { + return t[0].trace.opacity; + }), + o.each(function (t) { + var e = t[0].trace; + n.select(this) + .selectAll("path") + .each(function (t) { + if (!t.empty) { + var r = e[t.dir].line; + n.select(this) + .style("fill", "none") + .call(a.stroke, r.color) + .call(i.dashLine, r.dash, r.width) + .style( + "opacity", + e.selectedpoints && !t.selected ? 0.3 : 1, + ); + } + }); + }); + }; + }, + 99506: function (t, e, r) { + "use strict"; + var n = r(1426).extendFlat, + i = r(9012), + a = r(41940), + o = r(50693), + s = r(5386).fF, + l = r(27670).Y, + u = n( + { editType: "calc" }, + o("line", { editTypeOverride: "calc" }), + { + shape: { + valType: "enumerated", + values: ["linear", "hspline"], + dflt: "linear", + editType: "plot", + }, + hovertemplate: s( + { editType: "plot", arrayOk: !1 }, + { keys: ["count", "probability"] }, + ), + }, + ); + t.exports = { + domain: l({ name: "parcats", trace: !0, editType: "calc" }), + hoverinfo: n({}, i.hoverinfo, { + flags: ["count", "probability"], + editType: "plot", + arrayOk: !1, + }), + hoveron: { + valType: "enumerated", + values: ["category", "color", "dimension"], + dflt: "category", + editType: "plot", + }, + hovertemplate: s( + { editType: "plot", arrayOk: !1 }, + { + keys: [ + "count", + "probability", + "category", + "categorycount", + "colorcount", + "bandcolorcount", + ], + }, + ), + arrangement: { + valType: "enumerated", + values: ["perpendicular", "freeform", "fixed"], + dflt: "perpendicular", + editType: "plot", + }, + bundlecolors: { + valType: "boolean", + dflt: !0, + editType: "plot", + }, + sortpaths: { + valType: "enumerated", + values: ["forward", "backward"], + dflt: "forward", + editType: "plot", + }, + labelfont: a({ editType: "calc" }), + tickfont: a({ editType: "calc" }), + dimensions: { + _isLinkedToArray: "dimension", + label: { valType: "string", editType: "calc" }, + categoryorder: { + valType: "enumerated", + values: [ + "trace", + "category ascending", + "category descending", + "array", + ], + dflt: "trace", + editType: "calc", + }, + categoryarray: { + valType: "data_array", + editType: "calc", + }, + ticktext: { valType: "data_array", editType: "calc" }, + values: { + valType: "data_array", + dflt: [], + editType: "calc", + }, + displayindex: { valType: "integer", editType: "calc" }, + editType: "calc", + visible: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + }, + line: u, + counts: { + valType: "number", + min: 0, + dflt: 1, + arrayOk: !0, + editType: "calc", + }, + customdata: void 0, + hoverlabel: void 0, + ids: void 0, + legend: void 0, + legendgroup: void 0, + legendrank: void 0, + opacity: void 0, + selectedpoints: void 0, + showlegend: void 0, + }; + }, + 27677: function (t, e, r) { + "use strict"; + var n = r(27659).a0, + i = r(45784), + a = "parcats"; + (e.name = a), + (e.plot = function (t, e, r, o) { + var s = n(t.calcdata, a); + if (s.length) { + var l = s[0]; + i(t, l, r, o); + } + }), + (e.clean = function (t, e, r, n) { + var i = n._has && n._has("parcats"), + a = e._has && e._has("parcats"); + i && !a && n._paperdiv.selectAll(".parcats").remove(); + }); + }, + 28699: function (t, e, r) { + "use strict"; + var n = r(28984).wrap, + i = r(52075).hasColorscale, + a = r(78803), + o = r(75744), + s = r(91424), + l = r(71828), + u = r(92770); + function c(t, e, r) { + t.valueInds.push(e), (t.count += r); + } + function f(t, e, r) { + return { + categoryInds: t, + color: e, + rawColor: r, + valueInds: [], + count: 0, + }; + } + function h(t, e, r) { + t.valueInds.push(e), (t.count += r); + } + t.exports = function (t, e) { + var r = l.filterVisible(e.dimensions); + if (0 === r.length) return []; + var p, + d, + v, + g = r.map(function (t) { + var e; + if ("trace" === t.categoryorder) e = null; + else if ("array" === t.categoryorder) + e = t.categoryarray; + else { + e = o(t.values); + for (var r = !0, n = 0; n < e.length; n++) + if (!u(e[n])) { + r = !1; + break; + } + e.sort(r ? l.sorterAsc : void 0), + "category descending" === t.categoryorder && + (e = e.reverse()); + } + return (function (t, e) { + e = + null == e + ? [] + : e.map(function (t) { + return t; + }); + var r = {}, + n = {}, + i = []; + e.forEach(function (t, e) { + (r[t] = 0), (n[t] = e); + }); + for (var a = 0; a < t.length; a++) { + var o, + s = t[a]; + void 0 === r[s] + ? ((r[s] = 1), (o = e.push(s) - 1), (n[s] = o)) + : (r[s]++, (o = n[s])), + i.push(o); + } + var l = e.map(function (t) { + return r[t]; + }); + return { uniqueValues: e, uniqueCounts: l, inds: i }; + })(t.values, e); + }); + (p = l.isArrayOrTypedArray(e.counts) + ? e.counts + : [e.counts]), + (function (t) { + var e, + r = t.map(function (t) { + return t.displayindex; + }); + if ( + (function (t) { + for ( + var e = new Array(t.length), r = 0; + r < t.length; + r++ + ) { + if (t[r] < 0 || t[r] >= t.length) return !1; + if (void 0 !== e[t[r]]) return !1; + e[t[r]] = !0; + } + return !0; + })(r) + ) + for (e = 0; e < t.length; e++) + t[e]._displayindex = t[e].displayindex; + else + for (e = 0; e < t.length; e++) t[e]._displayindex = e; + })(r), + r.forEach(function (t, e) { + !(function (t, e) { + (t._categoryarray = e.uniqueValues), + null === t.ticktext || void 0 === t.ticktext + ? (t._ticktext = []) + : (t._ticktext = t.ticktext.slice()); + for ( + var r = t._ticktext.length; + r < e.uniqueValues.length; + r++ + ) + t._ticktext.push(e.uniqueValues[r]); + })(t, g[e]); + }); + var y, + m = e.line; + m + ? (i(e, "line") && + a(t, e, { + vals: e.line.color, + containerStr: "line", + cLetter: "c", + }), + (y = s.tryColorscale(m))) + : (y = l.identity); + var x, + b, + _, + w, + T, + k = r[0].values.length, + A = {}, + M = g.map(function (t) { + return t.inds; + }); + for (v = 0, x = 0; x < k; x++) { + var S = []; + for (b = 0; b < M.length; b++) S.push(M[b][x]); + (d = p[x % p.length]), (v += d); + var E = + ((_ = x), + (w = void 0), + (T = void 0), + l.isArrayOrTypedArray(m.color) + ? (T = w = m.color[_ % m.color.length]) + : (w = m.color), + { color: y(w), rawColor: T }), + L = S + "-" + E.rawColor; + void 0 === A[L] && (A[L] = f(S, E.color, E.rawColor)), + h(A[L], x, d); + } + var C, + P = r.map(function (t, e) { + return (function (t, e, r, n, i) { + return { + dimensionInd: t, + containerInd: e, + displayInd: r, + dimensionLabel: n, + count: i, + categories: [], + dragX: null, + }; + })(e, t._index, t._displayindex, t.label, v); + }); + for (x = 0; x < k; x++) + for (d = p[x % p.length], b = 0; b < P.length; b++) { + var O = P[b].containerInd, + I = g[b].inds[x], + D = P[b].categories; + if (void 0 === D[I]) { + var z = e.dimensions[O]._categoryarray[I], + R = e.dimensions[O]._ticktext[I]; + D[I] = { + dimensionInd: b, + categoryInd: (C = I), + categoryValue: z, + displayInd: C, + categoryLabel: R, + valueInds: [], + count: 0, + dragY: null, + }; + } + c(D[I], x, d); + } + return n( + (function (t, e, r) { + var n = t + .map(function (t) { + return t.categories.length; + }) + .reduce(function (t, e) { + return Math.max(t, e); + }); + return { + dimensions: t, + paths: e, + trace: void 0, + maxCats: n, + count: r, + }; + })(P, A, v), + ); + }; + }, + 14647: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(52075).hasColorscale, + a = r(1586), + o = r(27670).c, + s = r(85501), + l = r(99506), + u = r(94397); + function c(t, e) { + function r(r, i) { + return n.coerce(t, e, l.dimensions, r, i); + } + var i = r("values"), + a = r("visible"); + if (((i && i.length) || (a = e.visible = !1), a)) { + r("label"), r("displayindex", e._index); + var o, + s = t.categoryarray, + u = Array.isArray(s) && s.length > 0; + u && (o = "array"); + var c = r("categoryorder", o); + "array" === c + ? (r("categoryarray"), r("ticktext")) + : (delete t.categoryarray, delete t.ticktext), + u || "array" !== c || (e.categoryorder = "trace"); + } + } + t.exports = function (t, e, r, f) { + function h(r, i) { + return n.coerce(t, e, l, r, i); + } + var p = s(t, e, { + name: "dimensions", + handleItemDefaults: c, + }), + d = (function (t, e, r, o, s) { + s("line.shape"), s("line.hovertemplate"); + var l = s("line.color", o.colorway[0]); + if (i(t, "line") && n.isArrayOrTypedArray(l)) { + if (l.length) + return ( + s("line.colorscale"), + a(t, e, o, s, { prefix: "line.", cLetter: "c" }), + l.length + ); + e.line.color = r; + } + return 1 / 0; + })(t, e, r, f, h); + o(e, f, h), + (Array.isArray(p) && p.length) || (e.visible = !1), + u(e, p, "values", d), + h("hoveron"), + h("hovertemplate"), + h("arrangement"), + h("bundlecolors"), + h("sortpaths"), + h("counts"); + var v = { + family: f.font.family, + size: Math.round(f.font.size), + color: f.font.color, + }; + n.coerceFont(h, "labelfont", v); + var g = { + family: f.font.family, + size: Math.round(f.font.size / 1.2), + color: f.font.color, + }; + n.coerceFont(h, "tickfont", g); + }; + }, + 94873: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(99506), + supplyDefaults: r(14647), + calc: r(28699), + plot: r(45784), + colorbar: { container: "line", min: "cmin", max: "cmax" }, + moduleType: "trace", + name: "parcats", + basePlotModule: r(27677), + categories: ["noOpacity"], + meta: {}, + }; + }, + 45460: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(81684).k4, + a = r(72391), + o = r(30211), + s = r(71828), + l = s.strTranslate, + u = r(91424), + c = r(84267), + f = r(63893); + function h(t, e, r, i) { + var a = e._context.staticPlot, + o = t.map(F.bind(0, e, r)), + c = i.selectAll("g.parcatslayer").data([null]); + c.enter() + .append("g") + .attr("class", "parcatslayer") + .style("pointer-events", a ? "none" : "all"); + var h = c.selectAll("g.trace.parcats").data(o, p), + m = h.enter().append("g").attr("class", "trace parcats"); + h.attr("transform", function (t) { + return l(t.x, t.y); + }), + m.append("g").attr("class", "paths"); + var x = h + .select("g.paths") + .selectAll("path.path") + .data(function (t) { + return t.paths; + }, p); + x.attr("fill", function (t) { + return t.model.color; + }); + var w = x + .enter() + .append("path") + .attr("class", "path") + .attr("stroke-opacity", 0) + .attr("fill", function (t) { + return t.model.color; + }) + .attr("fill-opacity", 0); + _(w), + x.attr("d", function (t) { + return t.svgD; + }), + w.empty() || x.sort(v), + x.exit().remove(), + x.on("mouseover", g).on("mouseout", y).on("click", b), + m.append("g").attr("class", "dimensions"); + var A = h + .select("g.dimensions") + .selectAll("g.dimension") + .data(function (t) { + return t.dimensions; + }, p); + A.enter().append("g").attr("class", "dimension"), + A.attr("transform", function (t) { + return l(t.x, 0); + }), + A.exit().remove(); + var M = A.selectAll("g.category").data(function (t) { + return t.categories; + }, p), + S = M.enter().append("g").attr("class", "category"); + M.attr("transform", function (t) { + return l(0, t.y); + }), + S.append("rect") + .attr("class", "catrect") + .attr("pointer-events", "none"), + M.select("rect.catrect") + .attr("fill", "none") + .attr("width", function (t) { + return t.width; + }) + .attr("height", function (t) { + return t.height; + }), + T(S); + var E = M.selectAll("rect.bandrect").data(function (t) { + return t.bands; + }, p); + E.each(function () { + s.raiseToTop(this); + }), + E.attr("fill", function (t) { + return t.color; + }); + var D = E.enter() + .append("rect") + .attr("class", "bandrect") + .attr("stroke-opacity", 0) + .attr("fill", function (t) { + return t.color; + }) + .attr("fill-opacity", 0); + E.attr("fill", function (t) { + return t.color; + }) + .attr("width", function (t) { + return t.width; + }) + .attr("height", function (t) { + return t.height; + }) + .attr("y", function (t) { + return t.y; + }) + .attr("cursor", function (t) { + return "fixed" === t.parcatsViewModel.arrangement + ? "default" + : "perpendicular" === t.parcatsViewModel.arrangement + ? "ns-resize" + : "move"; + }), + k(D), + E.exit().remove(), + S.append("text") + .attr("class", "catlabel") + .attr("pointer-events", "none"); + var z = e._fullLayout.paper_bgcolor; + M.select("text.catlabel") + .attr("text-anchor", function (t) { + return d(t) ? "start" : "end"; + }) + .attr("alignment-baseline", "middle") + .style("text-shadow", f.makeTextShadow(z)) + .style("fill", "rgb(0, 0, 0)") + .attr("x", function (t) { + return d(t) ? t.width + 5 : -5; + }) + .attr("y", function (t) { + return t.height / 2; + }) + .text(function (t) { + return t.model.categoryLabel; + }) + .each(function (t) { + u.font( + n.select(this), + t.parcatsViewModel.categorylabelfont, + ), + f.convertToTspans(n.select(this), e); + }), + S.append("text").attr("class", "dimlabel"), + M.select("text.dimlabel") + .attr("text-anchor", "middle") + .attr("alignment-baseline", "baseline") + .attr("cursor", function (t) { + return "fixed" === t.parcatsViewModel.arrangement + ? "default" + : "ew-resize"; + }) + .attr("x", function (t) { + return t.width / 2; + }) + .attr("y", -5) + .text(function (t, e) { + return 0 === e + ? t.parcatsViewModel.model.dimensions[ + t.model.dimensionInd + ].dimensionLabel + : null; + }) + .each(function (t) { + u.font(n.select(this), t.parcatsViewModel.labelfont); + }), + M.selectAll("rect.bandrect") + .on("mouseover", L) + .on("mouseout", C), + M.exit().remove(), + A.call( + n.behavior + .drag() + .origin(function (t) { + return { x: t.x, y: 0 }; + }) + .on("dragstart", P) + .on("drag", O) + .on("dragend", I), + ), + h.each(function (t) { + (t.traceSelection = n.select(this)), + (t.pathSelection = n + .select(this) + .selectAll("g.paths") + .selectAll("path.path")), + (t.dimensionSelection = n + .select(this) + .selectAll("g.dimensions") + .selectAll("g.dimension")); + }), + h.exit().remove(); + } + function p(t) { + return t.key; + } + function d(t) { + var e = t.parcatsViewModel.dimensions.length, + r = + t.parcatsViewModel.dimensions[e - 1].model.dimensionInd; + return t.model.dimensionInd === r; + } + function v(t, e) { + return t.model.rawColor > e.model.rawColor + ? 1 + : t.model.rawColor < e.model.rawColor + ? -1 + : 0; + } + function g(t) { + if ( + !t.parcatsViewModel.dragDimension && + -1 === t.parcatsViewModel.hoverinfoItems.indexOf("skip") + ) { + s.raiseToTop(this), w(n.select(this)); + var e = m(t), + r = x(t); + if ( + (t.parcatsViewModel.graphDiv.emit("plotly_hover", { + points: e, + event: n.event, + constraints: r, + }), + -1 === + t.parcatsViewModel.hoverinfoItems.indexOf("none")) + ) { + var i, + a, + l, + u = n.mouse(this)[0], + f = t.parcatsViewModel.graphDiv, + h = t.parcatsViewModel.trace, + p = f._fullLayout, + d = p._paperdiv.node().getBoundingClientRect(), + v = + t.parcatsViewModel.graphDiv.getBoundingClientRect(); + for (l = 0; l < t.leftXs.length - 1; l++) + if ( + t.leftXs[l] + t.dimWidths[l] - 2 <= u && + u <= t.leftXs[l + 1] + 2 + ) { + var g = t.parcatsViewModel.dimensions[l], + y = t.parcatsViewModel.dimensions[l + 1]; + (i = (g.x + g.width + y.x) / 2), + (a = + (t.topYs[l] + t.topYs[l + 1] + t.height) / 2); + break; + } + var b = t.parcatsViewModel.x + i, + _ = t.parcatsViewModel.y + a, + T = c.mostReadable(t.model.color, ["black", "white"]), + k = t.model.count, + A = k / t.parcatsViewModel.model.count, + M = { countLabel: k, probabilityLabel: A.toFixed(3) }, + S = []; + -1 !== + t.parcatsViewModel.hoverinfoItems.indexOf("count") && + S.push(["Count:", M.countLabel].join(" ")), + -1 !== + t.parcatsViewModel.hoverinfoItems.indexOf( + "probability", + ) && S.push(["P:", M.probabilityLabel].join(" ")); + var E = S.join("
"), + L = n.mouse(f)[0]; + o.loneHover( + { + trace: h, + x: b - d.left + v.left, + y: _ - d.top + v.top, + text: E, + color: t.model.color, + borderColor: "black", + fontFamily: 'Monaco, "Courier New", monospace', + fontSize: 10, + fontColor: T, + idealAlign: L < b ? "right" : "left", + hovertemplate: (h.line || {}).hovertemplate, + hovertemplateLabels: M, + eventData: [ + { + data: h._input, + fullData: h, + count: k, + probability: A, + }, + ], + }, + { + container: p._hoverlayer.node(), + outerContainer: p._paper.node(), + gd: f, + }, + ); + } + } + } + function y(t) { + if ( + !t.parcatsViewModel.dragDimension && + (_(n.select(this)), + o.loneUnhover( + t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node(), + ), + t.parcatsViewModel.pathSelection.sort(v), + -1 === t.parcatsViewModel.hoverinfoItems.indexOf("skip")) + ) { + var e = m(t), + r = x(t); + t.parcatsViewModel.graphDiv.emit("plotly_unhover", { + points: e, + event: n.event, + constraints: r, + }); + } + } + function m(t) { + for ( + var e = [], r = D(t.parcatsViewModel), n = 0; + n < t.model.valueInds.length; + n++ + ) { + var i = t.model.valueInds[n]; + e.push({ curveNumber: r, pointNumber: i }); + } + return e; + } + function x(t) { + for ( + var e = {}, + r = t.parcatsViewModel.model.dimensions, + n = 0; + n < r.length; + n++ + ) { + var i = r[n], + a = i.categories[t.model.categoryInds[n]]; + e[i.containerInd] = a.categoryValue; + } + return ( + void 0 !== t.model.rawColor && + (e.color = t.model.rawColor), + e + ); + } + function b(t) { + if ( + -1 === t.parcatsViewModel.hoverinfoItems.indexOf("skip") + ) { + var e = m(t), + r = x(t); + t.parcatsViewModel.graphDiv.emit("plotly_click", { + points: e, + event: n.event, + constraints: r, + }); + } + } + function _(t) { + t.attr("fill", function (t) { + return t.model.color; + }) + .attr("fill-opacity", 0.6) + .attr("stroke", "lightgray") + .attr("stroke-width", 0.2) + .attr("stroke-opacity", 1); + } + function w(t) { + t.attr("fill-opacity", 0.8) + .attr("stroke", function (t) { + return c.mostReadable(t.model.color, [ + "black", + "white", + ]); + }) + .attr("stroke-width", 0.3); + } + function T(t) { + t.select("rect.catrect") + .attr("stroke", "black") + .attr("stroke-width", 1) + .attr("stroke-opacity", 1); + } + function k(t) { + t.attr("stroke", "black") + .attr("stroke-width", 0.2) + .attr("stroke-opacity", 1) + .attr("fill-opacity", 1); + } + function A(t) { + var e = t.parcatsViewModel.pathSelection, + r = t.categoryViewModel.model.dimensionInd, + n = t.categoryViewModel.model.categoryInd; + return e.filter(function (e) { + return ( + e.model.categoryInds[r] === n && + e.model.color === t.color + ); + }); + } + function M(t, e, r) { + var i = n.select(t).datum(), + a = i.categoryViewModel.model, + o = i.parcatsViewModel.graphDiv, + s = n.select(t.parentNode).selectAll("rect.bandrect"), + l = []; + s.each(function (t) { + A(t).each(function (t) { + Array.prototype.push.apply(l, m(t)); + }); + }); + var u = {}; + (u[a.dimensionInd] = a.categoryValue), + o.emit(e, { points: l, event: r, constraints: u }); + } + function S(t, e, r) { + var i = n.select(t).datum(), + a = i.categoryViewModel.model, + o = i.parcatsViewModel.graphDiv, + s = A(i), + l = []; + s.each(function (t) { + Array.prototype.push.apply(l, m(t)); + }); + var u = {}; + (u[a.dimensionInd] = a.categoryValue), + void 0 !== i.rawColor && (u.color = i.rawColor), + o.emit(e, { points: l, event: r, constraints: u }); + } + function E(t, e, r) { + t._fullLayout._calcInverseTransform(t); + var i, + a, + o = t._fullLayout._invScaleX, + s = t._fullLayout._invScaleY, + l = n.select(r.parentNode).select("rect.catrect"), + u = l.node().getBoundingClientRect(), + c = l.datum(), + f = c.parcatsViewModel, + h = f.model.dimensions[c.model.dimensionInd], + p = f.trace, + d = u.top + u.height / 2; + f.dimensions.length > 1 && + h.displayInd === f.dimensions.length - 1 + ? ((i = u.left), (a = "left")) + : ((i = u.left + u.width), (a = "right")); + var v = c.model.count, + g = c.model.categoryLabel, + y = v / c.parcatsViewModel.model.count, + m = { + countLabel: v, + categoryLabel: g, + probabilityLabel: y.toFixed(3), + }, + x = []; + -1 !== c.parcatsViewModel.hoverinfoItems.indexOf("count") && + x.push(["Count:", m.countLabel].join(" ")), + -1 !== + c.parcatsViewModel.hoverinfoItems.indexOf( + "probability", + ) && + x.push( + [ + "P(" + m.categoryLabel + "):", + m.probabilityLabel, + ].join(" "), + ); + var b = x.join("
"); + return { + trace: p, + x: o * (i - e.left), + y: s * (d - e.top), + text: b, + color: "lightgray", + borderColor: "black", + fontFamily: 'Monaco, "Courier New", monospace', + fontSize: 12, + fontColor: "black", + idealAlign: a, + hovertemplate: p.hovertemplate, + hovertemplateLabels: m, + eventData: [ + { + data: p._input, + fullData: p, + count: v, + category: g, + probability: y, + }, + ], + }; + } + function L(t) { + if ( + !t.parcatsViewModel.dragDimension && + -1 === t.parcatsViewModel.hoverinfoItems.indexOf("skip") + ) { + if (n.mouse(this)[1] < -1) return; + var e, + r = t.parcatsViewModel.graphDiv, + i = r._fullLayout, + a = i._paperdiv.node().getBoundingClientRect(), + l = t.parcatsViewModel.hoveron, + u = this; + "color" === l + ? ((function (t) { + var e = n.select(t).datum(), + r = A(e); + w(r), + r.each(function () { + s.raiseToTop(this); + }), + n + .select(t.parentNode) + .selectAll("rect.bandrect") + .filter(function (t) { + return t.color === e.color; + }) + .each(function () { + s.raiseToTop(this), + n + .select(this) + .attr("stroke", "black") + .attr("stroke-width", 1.5); + }); + })(u), + S(u, "plotly_hover", n.event)) + : ((function (t) { + n + .select(t.parentNode) + .selectAll("rect.bandrect") + .each(function (t) { + var e = A(t); + w(e), + e.each(function () { + s.raiseToTop(this); + }); + }), + n + .select(t.parentNode) + .select("rect.catrect") + .attr("stroke", "black") + .attr("stroke-width", 2.5); + })(u), + M(u, "plotly_hover", n.event)), + -1 === + t.parcatsViewModel.hoverinfoItems.indexOf("none") && + ("category" === l + ? (e = E(r, a, u)) + : "color" === l + ? (e = (function (t, e, r) { + t._fullLayout._calcInverseTransform(t); + var i, + a, + o = t._fullLayout._invScaleX, + s = t._fullLayout._invScaleY, + l = r.getBoundingClientRect(), + u = n.select(r).datum(), + f = u.categoryViewModel, + h = f.parcatsViewModel, + p = h.model.dimensions[f.model.dimensionInd], + d = h.trace, + v = l.y + l.height / 2; + h.dimensions.length > 1 && + p.displayInd === h.dimensions.length - 1 + ? ((i = l.left), (a = "left")) + : ((i = l.left + l.width), (a = "right")); + var g = f.model.categoryLabel, + y = u.parcatsViewModel.model.count, + m = 0; + u.categoryViewModel.bands.forEach(function (t) { + t.color === u.color && (m += t.count); + }); + var x = f.model.count, + b = 0; + h.pathSelection.each(function (t) { + t.model.color === u.color && + (b += t.model.count); + }); + var _ = m / y, + w = m / b, + T = m / x, + k = { + countLabel: y, + categoryLabel: g, + probabilityLabel: _.toFixed(3), + }, + A = []; + -1 !== + f.parcatsViewModel.hoverinfoItems.indexOf( + "count", + ) && + A.push(["Count:", k.countLabel].join(" ")), + -1 !== + f.parcatsViewModel.hoverinfoItems.indexOf( + "probability", + ) && + (A.push( + "P(color ∩ " + + g + + "): " + + k.probabilityLabel, + ), + A.push( + "P(" + g + " | color): " + w.toFixed(3), + ), + A.push( + "P(color | " + g + "): " + T.toFixed(3), + )); + var M = A.join("
"), + S = c.mostReadable(u.color, [ + "black", + "white", + ]); + return { + trace: d, + x: o * (i - e.left), + y: s * (v - e.top), + text: M, + color: u.color, + borderColor: "black", + fontFamily: + 'Monaco, "Courier New", monospace', + fontColor: S, + fontSize: 10, + idealAlign: a, + hovertemplate: d.hovertemplate, + hovertemplateLabels: k, + eventData: [ + { + data: d._input, + fullData: d, + category: g, + count: y, + probability: _, + categorycount: x, + colorcount: b, + bandcolorcount: m, + }, + ], + }; + })(r, a, u)) + : "dimension" === l && + (e = (function (t, e, r) { + var i = []; + return ( + n + .select(r.parentNode.parentNode) + .selectAll("g.category") + .select("rect.catrect") + .each(function () { + i.push(E(t, e, this)); + }), + i + ); + })(r, a, u)), + e && + o.loneHover(e, { + container: i._hoverlayer.node(), + outerContainer: i._paper.node(), + gd: r, + })); + } + } + function C(t) { + var e = t.parcatsViewModel; + e.dragDimension || + (_(e.pathSelection), + T(e.dimensionSelection.selectAll("g.category")), + k( + e.dimensionSelection + .selectAll("g.category") + .selectAll("rect.bandrect"), + ), + o.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()), + e.pathSelection.sort(v), + -1 !== e.hoverinfoItems.indexOf("skip")) || + ("color" === t.parcatsViewModel.hoveron + ? S(this, "plotly_unhover", n.event) + : M(this, "plotly_unhover", n.event)); + } + function P(t) { + "fixed" !== t.parcatsViewModel.arrangement && + ((t.dragDimensionDisplayInd = t.model.displayInd), + (t.initialDragDimensionDisplayInds = + t.parcatsViewModel.model.dimensions.map(function (t) { + return t.displayInd; + })), + (t.dragHasMoved = !1), + (t.dragCategoryDisplayInd = null), + n + .select(this) + .selectAll("g.category") + .select("rect.catrect") + .each(function (e) { + var r = n.mouse(this)[0], + i = n.mouse(this)[1]; + -2 <= r && + r <= e.width + 2 && + -2 <= i && + i <= e.height + 2 && + ((t.dragCategoryDisplayInd = e.model.displayInd), + (t.initialDragCategoryDisplayInds = + t.model.categories.map(function (t) { + return t.displayInd; + })), + (e.model.dragY = e.y), + s.raiseToTop(this.parentNode), + n + .select(this.parentNode) + .selectAll("rect.bandrect") + .each(function (e) { + e.y < i && + i <= e.y + e.height && + (t.potentialClickBand = this); + })); + }), + (t.parcatsViewModel.dragDimension = t), + o.loneUnhover( + t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node(), + )); + } + function O(t) { + if ( + "fixed" !== t.parcatsViewModel.arrangement && + ((t.dragHasMoved = !0), + null !== t.dragDimensionDisplayInd) + ) { + var e = t.dragDimensionDisplayInd, + r = e - 1, + i = e + 1, + a = t.parcatsViewModel.dimensions[e]; + if (null !== t.dragCategoryDisplayInd) { + var o = a.categories[t.dragCategoryDisplayInd]; + o.model.dragY += n.event.dy; + var s = o.model.dragY, + l = o.model.displayInd, + u = a.categories, + c = u[l - 1], + f = u[l + 1]; + void 0 !== c && + s < c.y + c.height / 2 && + ((o.model.displayInd = c.model.displayInd), + (c.model.displayInd = l)), + void 0 !== f && + s + o.height > f.y + f.height / 2 && + ((o.model.displayInd = f.model.displayInd), + (f.model.displayInd = l)), + (t.dragCategoryDisplayInd = o.model.displayInd); + } + if ( + null === t.dragCategoryDisplayInd || + "freeform" === t.parcatsViewModel.arrangement + ) { + a.model.dragX = n.event.x; + var h = t.parcatsViewModel.dimensions[r], + p = t.parcatsViewModel.dimensions[i]; + void 0 !== h && + a.model.dragX < h.x + h.width && + ((a.model.displayInd = h.model.displayInd), + (h.model.displayInd = e)), + void 0 !== p && + a.model.dragX + a.width > p.x && + ((a.model.displayInd = p.model.displayInd), + (p.model.displayInd = t.dragDimensionDisplayInd)), + (t.dragDimensionDisplayInd = a.model.displayInd); + } + j(t.parcatsViewModel), + N(t.parcatsViewModel), + R(t.parcatsViewModel), + z(t.parcatsViewModel); + } + } + function I(t) { + if ( + "fixed" !== t.parcatsViewModel.arrangement && + null !== t.dragDimensionDisplayInd + ) { + n.select(this) + .selectAll("text") + .attr("font-weight", "normal"); + var e = {}, + r = D(t.parcatsViewModel), + i = t.parcatsViewModel.model.dimensions.map( + function (t) { + return t.displayInd; + }, + ), + o = t.initialDragDimensionDisplayInds.some( + function (t, e) { + return t !== i[e]; + }, + ); + o && + i.forEach(function (r, n) { + var i = + t.parcatsViewModel.model.dimensions[n].containerInd; + e["dimensions[" + i + "].displayindex"] = r; + }); + var s = !1; + if (null !== t.dragCategoryDisplayInd) { + var l = t.model.categories.map(function (t) { + return t.displayInd; + }); + if ( + (s = t.initialDragCategoryDisplayInds.some( + function (t, e) { + return t !== l[e]; + }, + )) + ) { + var u = t.model.categories + .slice() + .sort(function (t, e) { + return t.displayInd - e.displayInd; + }), + c = u.map(function (t) { + return t.categoryValue; + }), + f = u.map(function (t) { + return t.categoryLabel; + }); + (e[ + "dimensions[" + + t.model.containerInd + + "].categoryarray" + ] = [c]), + (e[ + "dimensions[" + + t.model.containerInd + + "].ticktext" + ] = [f]), + (e[ + "dimensions[" + + t.model.containerInd + + "].categoryorder" + ] = "array"); + } + } + -1 === + t.parcatsViewModel.hoverinfoItems.indexOf("skip") && + !t.dragHasMoved && + t.potentialClickBand && + ("color" === t.parcatsViewModel.hoveron + ? S( + t.potentialClickBand, + "plotly_click", + n.event.sourceEvent, + ) + : M( + t.potentialClickBand, + "plotly_click", + n.event.sourceEvent, + )), + (t.model.dragX = null), + null !== t.dragCategoryDisplayInd && + ((t.parcatsViewModel.dimensions[ + t.dragDimensionDisplayInd + ].categories[t.dragCategoryDisplayInd].model.dragY = + null), + (t.dragCategoryDisplayInd = null)), + (t.dragDimensionDisplayInd = null), + (t.parcatsViewModel.dragDimension = null), + (t.dragHasMoved = null), + (t.potentialClickBand = null), + j(t.parcatsViewModel), + N(t.parcatsViewModel), + n + .transition() + .duration(300) + .ease("cubic-in-out") + .each(function () { + R(t.parcatsViewModel, !0), + z(t.parcatsViewModel, !0); + }) + .each("end", function () { + (o || s) && + a.restyle(t.parcatsViewModel.graphDiv, e, [r]); + }); + } + } + function D(t) { + for ( + var e, r = t.graphDiv._fullData, n = 0; + n < r.length; + n++ + ) + if (t.key === r[n].uid) { + e = n; + break; + } + return e; + } + function z(t, e) { + var r; + void 0 === e && (e = !1), + t.pathSelection.data(function (t) { + return t.paths; + }, p), + ((r = t.pathSelection), e ? r.transition() : r).attr( + "d", + function (t) { + return t.svgD; + }, + ); + } + function R(t, e) { + function r(t) { + return e ? t.transition() : t; + } + void 0 === e && (e = !1), + t.dimensionSelection.data(function (t) { + return t.dimensions; + }, p); + var i = t.dimensionSelection + .selectAll("g.category") + .data(function (t) { + return t.categories; + }, p); + r(t.dimensionSelection).attr("transform", function (t) { + return l(t.x, 0); + }), + r(i).attr("transform", function (t) { + return l(0, t.y); + }), + i.select(".dimlabel").text(function (t, e) { + return 0 === e + ? t.parcatsViewModel.model.dimensions[ + t.model.dimensionInd + ].dimensionLabel + : null; + }), + i + .select(".catlabel") + .attr("text-anchor", function (t) { + return d(t) ? "start" : "end"; + }) + .attr("x", function (t) { + return d(t) ? t.width + 5 : -5; + }) + .each(function (t) { + var e, r; + d(t) + ? ((e = t.width + 5), (r = "start")) + : ((e = -5), (r = "end")), + n + .select(this) + .selectAll("tspan") + .attr("x", e) + .attr("text-anchor", r); + }); + var a = i.selectAll("rect.bandrect").data(function (t) { + return t.bands; + }, p), + o = a + .enter() + .append("rect") + .attr("class", "bandrect") + .attr("cursor", "move") + .attr("stroke-opacity", 0) + .attr("fill", function (t) { + return t.color; + }) + .attr("fill-opacity", 0); + a + .attr("fill", function (t) { + return t.color; + }) + .attr("width", function (t) { + return t.width; + }) + .attr("height", function (t) { + return t.height; + }) + .attr("y", function (t) { + return t.y; + }), + k(o), + a.each(function () { + s.raiseToTop(this); + }), + a.exit().remove(); + } + function F(t, e, r) { + var n, + i = r[0], + a = e.margin || { l: 80, r: 80, t: 100, b: 80 }, + o = i.trace, + s = o.domain, + l = e.width, + u = e.height, + c = Math.floor(l * (s.x[1] - s.x[0])), + f = Math.floor(u * (s.y[1] - s.y[0])), + h = s.x[0] * l + a.l, + p = e.height - s.y[1] * e.height + a.t, + d = o.line.shape; + n = + "all" === o.hoverinfo + ? ["count", "probability"] + : (o.hoverinfo || "").split("+"); + var v = { + trace: o, + key: o.uid, + model: i, + x: h, + y: p, + width: c, + height: f, + hoveron: o.hoveron, + hoverinfoItems: n, + arrangement: o.arrangement, + bundlecolors: o.bundlecolors, + sortpaths: o.sortpaths, + labelfont: o.labelfont, + categorylabelfont: o.tickfont, + pathShape: d, + dragDimension: null, + margin: a, + paths: [], + dimensions: [], + graphDiv: t, + traceSelection: null, + pathSelection: null, + dimensionSelection: null, + }; + return i.dimensions && (j(v), N(v)), v; + } + function B(t, e, r, n, a) { + var o, + s, + l = [], + u = []; + for (s = 0; s < r.length - 1; s++) + (o = i(r[s] + t[s], t[s + 1])), + l.push(o(a)), + u.push(o(1 - a)); + var c = "M " + t[0] + "," + e[0]; + for (c += "l" + r[0] + ",0 ", s = 1; s < r.length; s++) + (c += + "C" + + l[s - 1] + + "," + + e[s - 1] + + " " + + u[s - 1] + + "," + + e[s] + + " " + + t[s] + + "," + + e[s]), + (c += "l" + r[s] + ",0 "); + for ( + c += "l0," + n + " ", + c += "l -" + r[r.length - 1] + ",0 ", + s = r.length - 2; + s >= 0; + s-- + ) + (c += + "C" + + u[s] + + "," + + (e[s + 1] + n) + + " " + + l[s] + + "," + + (e[s] + n) + + " " + + (t[s] + r[s]) + + "," + + (e[s] + n)), + (c += "l-" + r[s] + ",0 "); + return c + "Z"; + } + function N(t) { + var e = t.dimensions, + r = t.model, + n = e.map(function (t) { + return t.categories.map(function (t) { + return t.y; + }); + }), + i = t.model.dimensions.map(function (t) { + return t.categories.map(function (t) { + return t.displayInd; + }); + }), + a = t.model.dimensions.map(function (t) { + return t.displayInd; + }), + o = t.dimensions.map(function (t) { + return t.model.dimensionInd; + }), + s = e.map(function (t) { + return t.x; + }), + l = e.map(function (t) { + return t.width; + }), + u = []; + for (var c in r.paths) + r.paths.hasOwnProperty(c) && u.push(r.paths[c]); + function f(t) { + var e = t.categoryInds.map(function (t, e) { + return i[e][t]; + }); + return o.map(function (t) { + return e[t]; + }); + } + u.sort(function (e, r) { + var n = f(e), + i = f(r); + return ( + "backward" === t.sortpaths && + (n.reverse(), i.reverse()), + n.push(e.valueInds[0]), + i.push(r.valueInds[0]), + t.bundlecolors && + (n.unshift(e.rawColor), i.unshift(r.rawColor)), + n < i ? -1 : n > i ? 1 : 0 + ); + }); + for ( + var h = new Array(u.length), + p = e[0].model.count, + d = e[0].categories + .map(function (t) { + return t.height; + }) + .reduce(function (t, e) { + return t + e; + }), + v = 0; + v < u.length; + v++ + ) { + var g, + y = u[v]; + g = p > 0 ? d * (y.count / p) : 0; + for ( + var m, x = new Array(n.length), b = 0; + b < y.categoryInds.length; + b++ + ) { + var _ = y.categoryInds[b], + w = i[b][_], + T = a[b]; + (x[T] = n[T][w]), (n[T][w] += g); + var k = t.dimensions[T].categories[w], + A = k.bands.length, + M = k.bands[A - 1]; + if (void 0 === M || y.rawColor !== M.rawColor) { + var S = void 0 === M ? 0 : M.y + M.height; + k.bands.push({ + key: S, + color: y.color, + rawColor: y.rawColor, + height: g, + width: k.width, + count: y.count, + y: S, + categoryViewModel: k, + parcatsViewModel: t, + }); + } else { + var E = k.bands[A - 1]; + (E.height += g), (E.count += y.count); + } + } + (m = + "hspline" === t.pathShape + ? B(s, x, l, g, 0.5) + : B(s, x, l, g, 0)), + (h[v] = { + key: y.valueInds[0], + model: y, + height: g, + leftXs: s, + topYs: x, + dimWidths: l, + svgD: m, + parcatsViewModel: t, + }); + } + t.paths = h; + } + function j(t) { + var e = t.model.dimensions.map(function (t) { + return { + displayInd: t.displayInd, + dimensionInd: t.dimensionInd, + }; + }); + e.sort(function (t, e) { + return t.displayInd - e.displayInd; + }); + var r = []; + for (var n in e) { + var i = e[n].dimensionInd, + a = t.model.dimensions[i]; + r.push(U(t, a)); + } + t.dimensions = r; + } + function U(t, e) { + var r, + n = t.model.dimensions.length, + i = e.displayInd; + r = 40 + (n > 1 ? (t.width - 80 - 16) / (n - 1) : 0) * i; + var a, + o, + s, + l, + u, + c = [], + f = t.model.maxCats, + h = e.categories.length, + p = e.count, + d = t.height - 8 * (f - 1), + v = (8 * (f - h)) / 2, + g = e.categories.map(function (t) { + return { + displayInd: t.displayInd, + categoryInd: t.categoryInd, + }; + }); + for ( + g.sort(function (t, e) { + return t.displayInd - e.displayInd; + }), + u = 0; + u < h; + u++ + ) + (l = g[u].categoryInd), + (o = e.categories[l]), + (a = p > 0 ? (o.count / p) * d : 0), + (s = { + key: o.valueInds[0], + model: o, + width: 16, + height: a, + y: null !== o.dragY ? o.dragY : v, + bands: [], + parcatsViewModel: t, + }), + (v = v + a + 8), + c.push(s); + return { + key: e.dimensionInd, + x: null !== e.dragX ? e.dragX : r, + y: 0, + width: 16, + model: e, + categories: c, + parcatsViewModel: t, + dragCategoryDisplayInd: null, + dragDimensionDisplayInd: null, + initialDragDimensionDisplayInds: null, + initialDragCategoryDisplayInds: null, + dragHasMoved: null, + potentialClickBand: null, + }; + } + t.exports = function (t, e, r, n) { + h(r, t, n, e); + }; + }, + 45784: function (t, e, r) { + "use strict"; + var n = r(45460); + t.exports = function (t, e, r, i) { + var a = t._fullLayout, + o = a._paper, + s = a._size; + n( + t, + o, + e, + { + width: s.w, + height: s.h, + margin: { t: s.t, r: s.r, b: s.b, l: s.l }, + }, + r, + i, + ); + }; + }, + 73362: function (t, e, r) { + "use strict"; + var n = r(50693), + i = r(13838), + a = r(41940), + o = r(27670).Y, + s = r(1426).extendFlat, + l = r(44467).templatedArray; + t.exports = { + domain: o({ + name: "parcoords", + trace: !0, + editType: "plot", + }), + labelangle: { valType: "angle", dflt: 0, editType: "plot" }, + labelside: { + valType: "enumerated", + values: ["top", "bottom"], + dflt: "top", + editType: "plot", + }, + labelfont: a({ editType: "plot" }), + tickfont: a({ editType: "plot" }), + rangefont: a({ editType: "plot" }), + dimensions: l("dimension", { + label: { valType: "string", editType: "plot" }, + tickvals: s({}, i.tickvals, { editType: "plot" }), + ticktext: s({}, i.ticktext, { editType: "plot" }), + tickformat: s({}, i.tickformat, { editType: "plot" }), + visible: { + valType: "boolean", + dflt: !0, + editType: "plot", + }, + range: { + valType: "info_array", + items: [ + { valType: "number", editType: "plot" }, + { valType: "number", editType: "plot" }, + ], + editType: "plot", + }, + constraintrange: { + valType: "info_array", + freeLength: !0, + dimensions: "1-2", + items: [ + { valType: "any", editType: "plot" }, + { valType: "any", editType: "plot" }, + ], + editType: "plot", + }, + multiselect: { + valType: "boolean", + dflt: !0, + editType: "plot", + }, + values: { valType: "data_array", editType: "calc" }, + editType: "calc", + }), + line: s( + { editType: "calc" }, + n("line", { + colorscaleDflt: "Viridis", + autoColorDflt: !1, + editTypeOverride: "calc", + }), + ), + unselected: { + line: { + color: { + valType: "color", + dflt: "#7f7f7f", + editType: "plot", + }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: "auto", + editType: "plot", + }, + editType: "plot", + }, + editType: "plot", + }, + }; + }, + 57920: function (t, e, r) { + "use strict"; + var n = r(25706), + i = r(39898), + a = r(28984).keyFun, + o = r(28984).repeat, + s = r(71828).sorterAsc, + l = r(71828).strTranslate, + u = n.bar.snapRatio; + function c(t, e) { + return t * (1 - u) + e * u; + } + var f = n.bar.snapClose; + function h(t, e) { + return t * (1 - f) + e * f; + } + function p(t, e, r, n) { + if ( + (function (t, e) { + for (var r = 0; r < e.length; r++) + if (t >= e[r][0] && t <= e[r][1]) return !0; + return !1; + })(r, n) + ) + return r; + var i = t ? -1 : 1, + a = 0, + o = e.length - 1; + if (i < 0) { + var s = a; + (a = o), (o = s); + } + for (var l = e[a], u = l, f = a; i * f < i * o; f += i) { + var p = f + i, + d = e[p]; + if (i * r < i * h(l, d)) return c(l, u); + if (i * r < i * d || p === o) return c(d, l); + (u = l), (l = d); + } + } + function d(t) { + t.attr("x", -n.bar.captureWidth / 2).attr( + "width", + n.bar.captureWidth, + ); + } + function v(t) { + t.attr("visibility", "visible") + .style("visibility", "visible") + .attr("fill", "yellow") + .attr("opacity", 0); + } + function g(t) { + if (!t.brush.filterSpecified) return "0," + t.height; + for ( + var e, + r, + n, + i = y(t.brush.filter.getConsolidated(), t.height), + a = [0], + o = i.length ? i[0][0] : null, + s = 0; + s < i.length; + s++ + ) + (r = (e = i[s])[1] - e[0]), + a.push(o), + a.push(r), + (n = s + 1) < i.length && (o = i[n][0] - e[1]); + return a.push(t.height), a; + } + function y(t, e) { + return t.map(function (t) { + return t + .map(function (t) { + return Math.max(0, t * e); + }) + .sort(s); + }); + } + function m() { + i.select(document.body).style("cursor", null); + } + function x(t) { + t.attr("stroke-dasharray", g); + } + function b(t, e) { + var r = i + .select(t) + .selectAll(".highlight, .highlight-shadow"); + x( + e + ? r + .transition() + .duration(n.bar.snapDuration) + .each("end", e) + : r, + ); + } + function _(t, e) { + var r, + i = t.brush, + a = NaN, + o = {}; + if (i.filterSpecified) { + var s = t.height, + l = i.filter.getConsolidated(), + u = y(l, s), + c = NaN, + f = NaN, + h = NaN; + for (r = 0; r <= u.length; r++) { + var p = u[r]; + if (p && p[0] <= e && e <= p[1]) { + c = r; + break; + } + if (((f = r ? r - 1 : NaN), p && p[0] > e)) { + h = r; + break; + } + } + if ( + ((a = c), + isNaN(a) && + (a = + isNaN(f) || isNaN(h) + ? isNaN(f) + ? h + : f + : e - u[f][1] < u[h][0] - e + ? f + : h), + !isNaN(a)) + ) { + var d = u[a], + v = (function (t, e) { + var r = n.bar.handleHeight; + if (!(e > t[1] + r || e < t[0] - r)) + return e >= 0.9 * t[1] + 0.1 * t[0] + ? "n" + : e <= 0.9 * t[0] + 0.1 * t[1] + ? "s" + : "ns"; + })(d, e); + v && + ((o.interval = l[a]), + (o.intervalPix = d), + (o.region = v)); + } + } + if (t.ordinal && !o.region) { + var g = t.unitTickvals, + m = t.unitToPaddedPx.invert(e); + for (r = 0; r < g.length; r++) { + var x = [ + 0.25 * g[Math.max(r - 1, 0)] + 0.75 * g[r], + 0.25 * g[Math.min(r + 1, g.length - 1)] + 0.75 * g[r], + ]; + if (m >= x[0] && m <= x[1]) { + o.clickableOrdinalRange = x; + break; + } + } + } + return o; + } + function w(t, e) { + i.event.sourceEvent.stopPropagation(); + var r = e.height - i.mouse(t)[1] - 2 * n.verticalPadding, + a = e.brush.svgBrush; + (a.wasDragged = !0), + (a._dragging = !0), + a.grabbingBar + ? (a.newExtent = [ + r - a.grabPoint, + r + a.barLength - a.grabPoint, + ].map(e.unitToPaddedPx.invert)) + : (a.newExtent = [ + a.startExtent, + e.unitToPaddedPx.invert(r), + ].sort(s)), + (e.brush.filterSpecified = !0), + (a.extent = a.stayingIntervals.concat([a.newExtent])), + a.brushCallback(e), + b(t.parentNode); + } + function T(t, e) { + var r = _( + e, + e.height - i.mouse(t)[1] - 2 * n.verticalPadding, + ), + a = "crosshair"; + r.clickableOrdinalRange + ? (a = "pointer") + : r.region && (a = r.region + "-resize"), + i.select(document.body).style("cursor", a); + } + function k(t) { + t.on("mousemove", function (t) { + i.event.preventDefault(), + t.parent.inBrushDrag || T(this, t); + }) + .on("mouseleave", function (t) { + t.parent.inBrushDrag || m(); + }) + .call( + i.behavior + .drag() + .on("dragstart", function (t) { + !(function (t, e) { + i.event.sourceEvent.stopPropagation(); + var r = + e.height - + i.mouse(t)[1] - + 2 * n.verticalPadding, + a = e.unitToPaddedPx.invert(r), + o = e.brush, + s = _(e, r), + l = s.interval, + u = o.svgBrush; + if ( + ((u.wasDragged = !1), + (u.grabbingBar = "ns" === s.region), + u.grabbingBar) + ) { + var c = l.map(e.unitToPaddedPx); + (u.grabPoint = r - c[0] - n.verticalPadding), + (u.barLength = c[1] - c[0]); + } + (u.clickableOrdinalRange = + s.clickableOrdinalRange), + (u.stayingIntervals = + e.multiselect && o.filterSpecified + ? o.filter.getConsolidated() + : []), + l && + (u.stayingIntervals = + u.stayingIntervals.filter(function (t) { + return t[0] !== l[0] && t[1] !== l[1]; + })), + (u.startExtent = s.region + ? l["s" === s.region ? 1 : 0] + : a), + (e.parent.inBrushDrag = !0), + u.brushStartCallback(); + })(this, t); + }) + .on("drag", function (t) { + w(this, t); + }) + .on("dragend", function (t) { + !(function (t, e) { + var r = e.brush, + n = r.filter, + a = r.svgBrush; + a._dragging || + (T(t, e), + w(t, e), + (e.brush.svgBrush.wasDragged = !1)), + (a._dragging = !1), + i.event.sourceEvent.stopPropagation(); + var o = a.grabbingBar; + if ( + ((a.grabbingBar = !1), + (a.grabLocation = void 0), + (e.parent.inBrushDrag = !1), + m(), + !a.wasDragged) + ) + return ( + (a.wasDragged = void 0), + a.clickableOrdinalRange + ? r.filterSpecified && e.multiselect + ? a.extent.push(a.clickableOrdinalRange) + : ((a.extent = [a.clickableOrdinalRange]), + (r.filterSpecified = !0)) + : o + ? ((a.extent = a.stayingIntervals), + 0 === a.extent.length && M(r)) + : M(r), + a.brushCallback(e), + b(t.parentNode), + void a.brushEndCallback( + r.filterSpecified + ? n.getConsolidated() + : [], + ) + ); + var s = function () { + n.set(n.getConsolidated()); + }; + if (e.ordinal) { + var l = e.unitTickvals; + l[l.length - 1] < l[0] && l.reverse(), + (a.newExtent = [ + p(0, l, a.newExtent[0], a.stayingIntervals), + p(1, l, a.newExtent[1], a.stayingIntervals), + ]); + var u = a.newExtent[1] > a.newExtent[0]; + (a.extent = a.stayingIntervals.concat( + u ? [a.newExtent] : [], + )), + a.extent.length || M(r), + a.brushCallback(e), + u + ? b(t.parentNode, s) + : (s(), b(t.parentNode)); + } else s(); + a.brushEndCallback( + r.filterSpecified ? n.getConsolidated() : [], + ); + })(this, t); + }), + ); + } + function A(t, e) { + return t[0] - e[0]; + } + function M(t) { + (t.filterSpecified = !1), + (t.svgBrush.extent = [[-1 / 0, 1 / 0]]); + } + function S(t) { + for (var e, r = t.slice(), n = [], i = r.shift(); i; ) { + for (e = i.slice(); (i = r.shift()) && i[0] <= e[1]; ) + e[1] = Math.max(e[1], i[1]); + n.push(e); + } + return 1 === n.length && n[0][0] > n[0][1] && (n = []), n; + } + t.exports = { + makeBrush: function (t, e, r, n, i, a) { + var o, + l = (function () { + var t, + e, + r = []; + return { + set: function (n) { + 1 === + (r = n + .map(function (t) { + return t.slice().sort(s); + }) + .sort(A)).length && + r[0][0] === -1 / 0 && + r[0][1] === 1 / 0 && + (r = [[0, -1]]), + (t = S(r)), + (e = r.reduce( + function (t, e) { + return [ + Math.min(t[0], e[0]), + Math.max(t[1], e[1]), + ]; + }, + [1 / 0, -1 / 0], + )); + }, + get: function () { + return r.slice(); + }, + getConsolidated: function () { + return t; + }, + getBounds: function () { + return e; + }, + }; + })(); + return ( + l.set(r), + { + filter: l, + filterSpecified: e, + svgBrush: { + extent: [], + brushStartCallback: n, + brushCallback: + ((o = i), + function (t) { + var e = t.brush, + r = (function (t) { + return t.svgBrush.extent.map(function (t) { + return t.slice(); + }); + })(e), + n = r.slice(); + e.filter.set(n), o(); + }), + brushEndCallback: a, + }, + } + ); + }, + ensureAxisBrush: function (t, e, r) { + var i = t.selectAll("." + n.cn.axisBrush).data(o, a); + i.enter().append("g").classed(n.cn.axisBrush, !0), + (function (t, e, r) { + var i = r._context.staticPlot, + a = t.selectAll(".background").data(o); + a + .enter() + .append("rect") + .classed("background", !0) + .call(d) + .call(v) + .style("pointer-events", i ? "none" : "auto") + .attr("transform", l(0, n.verticalPadding)), + a.call(k).attr("height", function (t) { + return t.height - n.verticalPadding; + }); + var s = t.selectAll(".highlight-shadow").data(o); + s + .enter() + .append("line") + .classed("highlight-shadow", !0) + .attr("x", -n.bar.width / 2) + .attr( + "stroke-width", + n.bar.width + n.bar.strokeWidth, + ) + .attr("stroke", e) + .attr("opacity", n.bar.strokeOpacity) + .attr("stroke-linecap", "butt"), + s + .attr("y1", function (t) { + return t.height; + }) + .call(x); + var u = t.selectAll(".highlight").data(o); + u + .enter() + .append("line") + .classed("highlight", !0) + .attr("x", -n.bar.width / 2) + .attr( + "stroke-width", + n.bar.width - n.bar.strokeWidth, + ) + .attr("stroke", n.bar.fillColor) + .attr("opacity", n.bar.fillOpacity) + .attr("stroke-linecap", "butt"), + u + .attr("y1", function (t) { + return t.height; + }) + .call(x); + })(i, e, r); + }, + cleanRanges: function (t, e) { + if ( + (Array.isArray(t[0]) + ? ((t = t.map(function (t) { + return t.sort(s); + })), + (t = e.multiselect ? S(t.sort(A)) : [t[0]])) + : (t = [t.sort(s)]), + e.tickvals) + ) { + var r = e.tickvals.slice().sort(s); + if ( + !(t = t + .map(function (t) { + var e = [p(0, r, t[0], []), p(1, r, t[1], [])]; + if (e[1] > e[0]) return e; + }) + .filter(function (t) { + return t; + })).length + ) + return; + } + return t.length > 1 ? t : t[0]; + }, + }; + }, + 71791: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(73362), + supplyDefaults: r(3633), + calc: r(24639), + colorbar: { container: "line", min: "cmin", max: "cmax" }, + moduleType: "trace", + name: "parcoords", + basePlotModule: r(49351), + categories: ["gl", "regl", "noOpacity", "noHover"], + meta: {}, + }; + }, + 49351: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(27659).a0, + a = r(21341), + o = r(77922); + (e.name = "parcoords"), + (e.plot = function (t) { + var e = i(t.calcdata, "parcoords")[0]; + e.length && a(t, e); + }), + (e.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()); + }), + (e.toSVG = function (t) { + var e = t._fullLayout._glimages, + r = n.select(t).selectAll(".svg-container"); + r + .filter(function (t, e) { + return e === r.size() - 1; + }) + .selectAll(".gl-canvas-context, .gl-canvas-focus") + .each(function () { + var t = this, + r = t.toDataURL("image/png"); + e.append("svg:image").attr({ + xmlns: o.svg, + "xlink:href": r, + preserveAspectRatio: "none", + x: 0, + y: 0, + width: t.style.width, + height: t.style.height, + }); + }), + window.setTimeout(function () { + n.selectAll("#filterBarPattern").attr( + "id", + "filterBarPattern", + ); + }, 60); + }); + }, + 24639: function (t, e, r) { + "use strict"; + var n = r(71828).isArrayOrTypedArray, + i = r(21081), + a = r(28984).wrap; + t.exports = function (t, e) { + var r, o; + return ( + i.hasColorscale(e, "line") && n(e.line.color) + ? ((r = e.line.color), + (o = i.extractOpts(e.line).colorscale), + i.calc(t, e, { + vals: r, + containerStr: "line", + cLetter: "c", + })) + : ((r = (function (t) { + for (var e = new Array(t), r = 0; r < t; r++) + e[r] = 0.5; + return e; + })(e._length)), + (o = [ + [0, e.line.color], + [1, e.line.color], + ])), + a({ lineColor: r, cscale: o }) + ); + }; + }, + 25706: function (t) { + "use strict"; + t.exports = { + maxDimensionCount: 60, + overdrag: 45, + verticalPadding: 2, + tickDistance: 50, + canvasPixelRatio: 1, + blockLineCount: 5e3, + layers: [ + "contextLineLayer", + "focusLineLayer", + "pickLineLayer", + ], + axisTitleOffset: 28, + axisExtentOffset: 10, + bar: { + width: 4, + captureWidth: 10, + fillColor: "magenta", + fillOpacity: 1, + snapDuration: 150, + snapRatio: 0.25, + snapClose: 0.01, + strokeOpacity: 1, + strokeWidth: 1, + handleHeight: 8, + 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" }, + }; + }, + 3633: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(52075).hasColorscale, + a = r(1586), + o = r(27670).c, + s = r(85501), + l = r(89298), + u = r(73362), + c = r(57920), + f = r(25706).maxDimensionCount, + h = r(94397); + function p(t, e, r, i) { + function a(r, i) { + return n.coerce(t, e, u.dimensions, r, i); + } + var o = a("values"), + s = a("visible"); + if (((o && o.length) || (s = e.visible = !1), s)) { + a("label"), a("tickvals"), a("ticktext"), a("tickformat"); + var f = a("range"); + (e._ax = { + _id: "y", + type: "linear", + showexponent: "all", + exponentformat: "B", + range: f, + }), + l.setConvert(e._ax, i.layout), + a("multiselect"); + var h = a("constraintrange"); + h && (e.constraintrange = c.cleanRanges(h, e)); + } + } + t.exports = function (t, e, r, l) { + function c(r, i) { + return n.coerce(t, e, u, r, i); + } + var d = t.dimensions; + Array.isArray(d) && + d.length > f && + (n.log( + "parcoords traces support up to " + + f + + " dimensions at the moment", + ), + d.splice(f)); + var v = s(t, e, { + name: "dimensions", + layout: l, + handleItemDefaults: p, + }), + g = (function (t, e, r, o, s) { + var l = s("line.color", r); + if (i(t, "line") && n.isArrayOrTypedArray(l)) { + if (l.length) + return ( + s("line.colorscale"), + a(t, e, o, s, { prefix: "line.", cLetter: "c" }), + l.length + ); + e.line.color = r; + } + return 1 / 0; + })(t, e, r, l, c); + o(e, l, c), + (Array.isArray(v) && v.length) || (e.visible = !1), + h(e, v, "values", g); + var y = { + family: l.font.family, + size: Math.round(l.font.size / 1.2), + color: l.font.color, + }; + n.coerceFont(c, "labelfont", y), + n.coerceFont(c, "tickfont", y), + n.coerceFont(c, "rangefont", y), + c("labelangle"), + c("labelside"), + c("unselected.line.color"), + c("unselected.line.opacity"); + }; + }, + 1602: function (t, e, r) { + "use strict"; + var n = r(71828).isTypedArray; + (e.convertTypedArray = function (t) { + return n(t) ? Array.prototype.slice.call(t) : t; + }), + (e.isOrdinal = function (t) { + return !!t.tickvals; + }), + (e.isVisible = function (t) { + return t.visible || !("visible" in t); + }); + }, + 67618: function (t, e, r) { + "use strict"; + var n = r(71791); + (n.plot = r(21341)), (t.exports = n); + }, + 83398: function (t, e, r) { + "use strict"; + var n = r(56068), + i = n([ + "precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\n p17_20, p21_24, p25_28, p29_32,\n p33_36, p37_40, p41_44, p45_48,\n p49_52, p53_56, p57_60, colors;\n\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\nuniform float maskHeight;\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\nuniform vec4 contextColor;\nuniform sampler2D maskTexture, palette;\n\nbool isPick = (drwLayer > 1.5);\nbool isContext = (drwLayer < 0.5);\n\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * UNITS, UNITS);\n}\n\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\n float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\n float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\n return y1 * (1.0 - ratio) + y2 * ratio;\n}\n\nint iMod(int a, int b) {\n return a - b * (a / b);\n}\n\nbool fOutside(float p, float lo, float hi) {\n return (lo < hi) && (lo > p || p > hi);\n}\n\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\n return (\n fOutside(p[0], lo[0], hi[0]) ||\n fOutside(p[1], lo[1], hi[1]) ||\n fOutside(p[2], lo[2], hi[2]) ||\n fOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\n return (\n vOutside(p[0], lo[0], hi[0]) ||\n vOutside(p[1], lo[1], hi[1]) ||\n vOutside(p[2], lo[2], hi[2]) ||\n vOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\n return mOutside(A, loA, hiA) ||\n mOutside(B, loB, hiB) ||\n mOutside(C, loC, hiC) ||\n mOutside(D, loD, hiD);\n}\n\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\n mat4 pnts[4];\n pnts[0] = A;\n pnts[1] = B;\n pnts[2] = C;\n pnts[3] = D;\n\n for(int i = 0; i < 4; ++i) {\n for(int j = 0; j < 4; ++j) {\n for(int k = 0; k < 4; ++k) {\n if(0 == iMod(\n int(255.0 * texture2D(maskTexture,\n vec2(\n (float(i * 2 + j / 2) + 0.5) / 8.0,\n (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\n ))[3]\n ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\n 2\n )) return true;\n }\n }\n }\n return false;\n}\n\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\n float x = 0.5 * sign(v) + 0.5;\n float y = axisY(x, A, B, C, D);\n float z = 1.0 - abs(v);\n\n z += isContext ? 0.0 : 2.0 * float(\n outsideBoundingBox(A, B, C, D) ||\n outsideRasterMask(A, B, C, D)\n );\n\n return vec4(\n 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\n z,\n 1.0\n );\n}\n\nvoid main() {\n mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\n mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\n mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\n mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\n\n float v = colors[3];\n\n gl_Position = position(isContext, v, A, B, C, D);\n\n fragColor =\n isContext ? vec4(contextColor) :\n isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\n}\n", + ]), + a = n([ + "precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}\n", + ]), + o = r(25706).maxDimensionCount, + s = r(71828), + l = new Uint8Array(4), + u = new Uint8Array(4), + c = { + shape: [256, 1], + format: "rgba", + type: "uint8", + mag: "nearest", + min: "nearest", + }; + function f(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 h(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: l }); + })(t), + (r.drawCompleted = !0)), + (function s(l) { + var u = Math.min(n, i - l * n); + 0 === l && + (window.cancelAnimationFrame(r.currentRafs[o]), + delete r.currentRafs[o], + f( + t, + a.scissorX, + a.scissorY, + a.scissorWidth, + a.viewBoxSize[1], + )), + r.clearOnly || + ((a.count = 2 * u), + (a.offset = 2 * l * n), + e(a), + l * n + u < i && + (r.currentRafs[o] = window.requestAnimationFrame( + function () { + s(l + 1); + }, + )), + (r.drawCompleted = !1)); + })(0); + } + function p(t, e) { + for (var r = new Array(256), n = 0; n < 256; n++) + r[n] = t(n / 255).concat(e); + return r; + } + function d(t, e) { + return ((t >>> (8 * e)) % 256) / 255; + } + function v(t, e, r) { + for (var n = new Array(8 * e), i = 0, a = 0; a < e; a++) + for (var o = 0; o < 2; o++) + for (var s = 0; s < 4; s++) { + var l = 4 * t + s, + u = r[64 * a + l]; + 63 === l && 0 === o && (u *= -1), (n[i++] = u); + } + return n; + } + function g(t) { + var e = "0" + t; + return e.substr(e.length - 2); + } + function y(t) { + return t < o ? "p" + g(t + 1) + "_" + g(t + 4) : "colors"; + } + function m(t, e, r, n, i, a, o, l, u, c, f, h, p, d) { + for (var v = [[], []], g = 0; g < 64; g++) + (v[0][g] = g === i ? 1 : 0), (v[1][g] = g === a ? 1 : 0); + (o *= d), (l *= d), (u *= d), (c *= d); + var y = t.lines.canvasOverdrag * d, + m = t.domain, + x = t.canvasWidth * d, + b = t.canvasHeight * d, + _ = t.pad.l * d, + w = t.pad.b * d, + T = t.layoutHeight * d, + k = t.layoutWidth * d, + A = t.deselectedLines.color, + M = t.deselectedLines.opacity; + return s.extendFlat( + { + key: f, + resolution: [x, b], + viewBoxPos: [o + y, l], + viewBoxSize: [u, c], + i0: i, + i1: a, + dim0A: v[0].slice(0, 16), + dim0B: v[0].slice(16, 32), + dim0C: v[0].slice(32, 48), + dim0D: v[0].slice(48, 64), + dim1A: v[1].slice(0, 16), + dim1B: v[1].slice(16, 32), + dim1C: v[1].slice(32, 48), + dim1D: v[1].slice(48, 64), + drwLayer: h, + contextColor: [ + A[0] / 255, + A[1] / 255, + A[2] / 255, + "auto" !== M + ? A[3] * M + : Math.max( + 1 / 255, + Math.pow(1 / t.lines.color.length, 1 / 3), + ), + ], + scissorX: (n === e ? 0 : o + y) + (_ - y) + k * m.x[0], + scissorWidth: + (n === r ? x - o + y : u + 0.5) + + (n === e ? o + y : 0), + scissorY: l + w + T * m.y[0], + scissorHeight: c, + viewportX: _ - y + k * m.x[0], + viewportY: w + T * m.y[0], + viewportWidth: x, + viewportHeight: b, + }, + p, + ); + } + function x(t) { + var e = 2047, + r = Math.max(0, Math.floor(t[0] * e), 0), + n = Math.min(e, Math.ceil(t[1] * e), e); + return [Math.min(r, n), Math.max(r, n)]; + } + t.exports = function (t, e) { + var r, + n, + l, + g, + b, + _ = e.context, + w = e.pick, + T = e.regl, + k = T._gl, + A = k.getParameter(k.ALIASED_LINE_WIDTH_RANGE), + M = Math.max( + A[0], + Math.min(A[1], e.viewModel.plotGlPixelRatio), + ), + S = { currentRafs: {}, drawCompleted: !0, clearOnly: !1 }, + E = (function (t) { + for (var e = {}, r = 0; r <= o; r += 4) + e[y(r)] = t.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(0), + }); + return e; + })(T), + L = T.texture(c), + C = []; + O(e); + var P = T({ + profile: !1, + blend: { + enable: _, + 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: !_, + mask: !0, + func: "less", + range: [0, 1], + }, + cull: { enable: !0, face: "back" }, + scissor: { + enable: !0, + box: { + x: T.prop("scissorX"), + y: T.prop("scissorY"), + width: T.prop("scissorWidth"), + height: T.prop("scissorHeight"), + }, + }, + viewport: { + x: T.prop("viewportX"), + y: T.prop("viewportY"), + width: T.prop("viewportWidth"), + height: T.prop("viewportHeight"), + }, + dither: !1, + vert: i, + frag: a, + primitive: "lines", + lineWidth: M, + attributes: E, + uniforms: { + resolution: T.prop("resolution"), + viewBoxPos: T.prop("viewBoxPos"), + viewBoxSize: T.prop("viewBoxSize"), + dim0A: T.prop("dim0A"), + dim1A: T.prop("dim1A"), + dim0B: T.prop("dim0B"), + dim1B: T.prop("dim1B"), + dim0C: T.prop("dim0C"), + dim1C: T.prop("dim1C"), + dim0D: T.prop("dim0D"), + dim1D: T.prop("dim1D"), + loA: T.prop("loA"), + hiA: T.prop("hiA"), + loB: T.prop("loB"), + hiB: T.prop("hiB"), + loC: T.prop("loC"), + hiC: T.prop("hiC"), + loD: T.prop("loD"), + hiD: T.prop("hiD"), + palette: L, + contextColor: T.prop("contextColor"), + maskTexture: T.prop("maskTexture"), + drwLayer: T.prop("drwLayer"), + maskHeight: T.prop("maskHeight"), + }, + offset: T.prop("offset"), + count: T.prop("count"), + }); + function O(t) { + (r = t.model), + (n = t.viewModel), + (l = n.dimensions.slice()), + (g = l[0] ? l[0].values.length : 0); + var e = r.lines, + i = w + ? e.color.map(function (t, r) { + return r / e.color.length; + }) + : e.color, + a = (function (t, e, r) { + for ( + var n, i = new Array(t * (o + 4)), a = 0, s = 0; + s < t; + s++ + ) { + for (var l = 0; l < o; l++) + i[a++] = + l < e.length ? e[l].paddedUnitValues[s] : 0.5; + (i[a++] = d(s, 2)), + (i[a++] = d(s, 1)), + (i[a++] = d(s, 0)), + (i[a++] = + ((n = r[s]), + Math.max(1e-6, Math.min(0.999999, n)))); + } + return i; + })(g, l, i); + !(function (t, e, r) { + for (var n = 0; n <= o; n += 4) t[y(n)](v(n / 4, e, r)); + })(E, g, a), + _ || + w || + (L = T.texture( + s.extendFlat({ data: p(r.unitToColor, 255) }, c), + )); + } + return { + render: function (t, e, n) { + var i, + a, + o, + s = t.length, + u = 1 / 0, + c = -1 / 0; + for (i = 0; i < s; i++) + t[i].dim0.canvasX < u && + ((u = t[i].dim0.canvasX), (a = i)), + t[i].dim1.canvasX > c && + ((c = t[i].dim1.canvasX), (o = i)); + 0 === s && f(T, 0, 0, r.canvasWidth, r.canvasHeight); + var p = (function (t) { + var e, + r, + n, + i = [[], []]; + for (n = 0; n < 64; n++) { + var a = + !t && n < l.length + ? l[n].brush.filter.getBounds() + : [-1 / 0, 1 / 0]; + (i[0][n] = a[0]), (i[1][n] = a[1]); + } + var o = new Array(16384); + for (e = 0; e < 16384; e++) o[e] = 255; + if (!t) + for (e = 0; e < l.length; e++) { + var s = e % 8, + u = (e - s) / 8, + c = Math.pow(2, s), + f = l[e].brush.filter.get(); + if (!(f.length < 2)) { + var h = x(f[0])[1]; + for (r = 1; r < f.length; r++) { + var p = x(f[r]); + for (n = h + 1; n < p[0]; n++) + o[8 * n + u] &= ~c; + h = Math.max(h, p[1]); + } + } + } + var d = { + shape: [8, 2048], + format: "alpha", + type: "uint8", + mag: "nearest", + min: "nearest", + data: o, + }; + return ( + b ? b(d) : (b = T.texture(d)), + { + maskTexture: b, + maskHeight: 2048, + loA: i[0].slice(0, 16), + loB: i[0].slice(16, 32), + loC: i[0].slice(32, 48), + loD: i[0].slice(48, 64), + hiA: i[1].slice(0, 16), + hiB: i[1].slice(16, 32), + hiC: i[1].slice(32, 48), + hiD: i[1].slice(48, 64), + } + ); + })(_); + for (i = 0; i < s; i++) { + var d = t[i], + v = d.dim0.crossfilterDimensionIndex, + y = d.dim1.crossfilterDimensionIndex, + k = d.canvasX, + A = d.canvasY, + M = k + d.panelSizeX, + E = d.plotGlPixelRatio; + if (e || !C[v] || C[v][0] !== k || C[v][1] !== M) { + C[v] = [k, M]; + var L = m( + r, + a, + o, + i, + v, + y, + k, + A, + d.panelSizeX, + d.panelSizeY, + d.dim0.crossfilterDimensionIndex, + _ ? 0 : w ? 2 : 1, + p, + E, + ); + S.clearOnly = n; + var O = e ? r.lines.blockLineCount : g; + h(T, P, S, O, g, L); + } + } + }, + readPixel: function (t, e) { + return ( + T.read({ x: t, y: e, width: 1, height: 1, data: u }), + u + ); + }, + readPixels: function (t, e, r, n) { + var i = new Uint8Array(4 * r * n); + return ( + T.read({ x: t, y: e, width: r, height: n, data: i }), + i + ); + }, + destroy: function () { + for (var e in ((t.style["pointer-events"] = "none"), + L.destroy(), + b && b.destroy(), + E)) + E[e].destroy(); + }, + update: O, + }; + }; + }, + 94397: function (t) { + "use strict"; + t.exports = function (t, e, r, n) { + var i, a; + for (n || (n = 1 / 0), i = 0; i < e.length; i++) + (a = e[i]).visible && (n = Math.min(n, a[r].length)); + for ( + n === 1 / 0 && (n = 0), t._length = n, i = 0; + i < e.length; + i++ + ) + (a = e[i]).visible && (a._length = n); + return n; + }; + }, + 17171: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = i.numberFormat, + o = r(36652), + s = r(89298), + l = i.strRotate, + u = i.strTranslate, + c = r(63893), + f = r(91424), + h = r(21081), + p = r(28984), + d = p.keyFun, + v = p.repeat, + g = p.unwrap, + y = r(1602), + m = r(25706), + x = r(57920), + b = r(83398); + function _(t, e, r) { + return i.aggNums(t, null, e, r); + } + function w(t, e) { + return k(_(Math.min, t, e), _(Math.max, t, e)); + } + function T(t) { + var e = t.range; + return e ? k(e[0], e[1]) : w(t.values, t._length); + } + function k(t, e) { + return ( + (!isNaN(t) && isFinite(t)) || (t = 0), + (!isNaN(e) && isFinite(e)) || (e = 0), + t === e && + (0 === t + ? ((t -= 1), (e += 1)) + : ((t *= 0.9), (e *= 1.1))), + [t, e] + ); + } + function A(t, e, r, i, o) { + var s, + l, + u = T(r); + return i + ? n.scale + .ordinal() + .domain( + i.map( + ((s = a(r.tickformat)), + (l = o), + l + ? function (t, e) { + var r = l[e]; + return null == r ? s(t) : r; + } + : s), + ), + ) + .range( + i.map(function (r) { + var n = (r - u[0]) / (u[1] - u[0]); + return t - e + n * (2 * e - t); + }), + ) + : n.scale + .linear() + .domain(u) + .range([t - e, e]); + } + function M(t) { + if (t.tickvals) { + var e = T(t); + return n.scale + .ordinal() + .domain(t.tickvals) + .range( + t.tickvals.map(function (t) { + return (t - e[0]) / (e[1] - e[0]); + }), + ); + } + } + function S(t) { + var e = t.map(function (t) { + return t[0]; + }), + r = t.map(function (t) { + var e = o(t[1]); + return n.rgb( + "rgb(" + e[0] + "," + e[1] + "," + e[2] + ")", + ); + }), + i = "rgb".split("").map(function (t) { + return n.scale + .linear() + .clamp(!0) + .domain(e) + .range( + r.map( + ((i = t), + function (t) { + return t[i]; + }), + ), + ); + var i; + }); + return function (t) { + return i.map(function (e) { + return e(t); + }); + }; + } + function E(t) { + return t.dimensions.some(function (t) { + return t.brush.filterSpecified; + }); + } + function L(t, e, r) { + var a = g(e), + s = a.trace, + l = y.convertTypedArray(a.lineColor), + u = s.line, + c = { + color: o(s.unselected.line.color), + opacity: s.unselected.line.opacity, + }, + f = h.extractOpts(u), + p = f.reversescale ? h.flipScale(a.cscale) : a.cscale, + d = s.domain, + v = s.dimensions, + x = t.width, + b = s.labelangle, + _ = s.labelside, + w = s.labelfont, + k = s.tickfont, + A = s.rangefont, + M = i.extendDeepNoArrays({}, u, { + color: l.map( + n.scale + .linear() + .domain( + T({ + values: l, + range: [f.min, f.max], + _length: s._length, + }), + ), + ), + blockLineCount: m.blockLineCount, + canvasOverdrag: m.overdrag * m.canvasPixelRatio, + }), + E = Math.floor(x * (d.x[1] - d.x[0])), + L = Math.floor(t.height * (d.y[1] - d.y[0])), + C = t.margin || { l: 80, r: 80, t: 100, b: 80 }, + P = E, + O = L; + return { + key: r, + colCount: v.filter(y.isVisible).length, + dimensions: v, + tickDistance: m.tickDistance, + unitToColor: S(p), + lines: M, + deselectedLines: c, + labelAngle: b, + labelSide: _, + labelFont: w, + tickFont: k, + rangeFont: A, + layoutWidth: x, + layoutHeight: t.height, + domain: d, + translateX: d.x[0] * x, + translateY: t.height - d.y[1] * t.height, + pad: C, + canvasWidth: + P * m.canvasPixelRatio + 2 * M.canvasOverdrag, + canvasHeight: O * m.canvasPixelRatio, + width: P, + height: O, + canvasPixelRatio: m.canvasPixelRatio, + }; + } + function C(t, e, r) { + var o = r.width, + s = r.height, + l = r.dimensions, + u = r.canvasPixelRatio, + c = function (t) { + return (o * t) / Math.max(1, r.colCount - 1); + }, + f = m.verticalPadding / s, + h = (function (t, e) { + return n.scale.linear().range([e, t - e]); + })(s, m.verticalPadding), + p = { key: r.key, xScale: c, model: r, inBrushDrag: !1 }, + d = {}; + return ( + (p.dimensions = l + .filter(y.isVisible) + .map(function (o, l) { + var v = (function (t, e) { + return n.scale + .linear() + .domain(T(t)) + .range([e, 1 - e]); + })(o, f), + g = d[o.label]; + d[o.label] = (g || 0) + 1; + var b = o.label + (g ? "__" + g : ""), + _ = o.constraintrange, + w = _ && _.length; + w && !Array.isArray(_[0]) && (_ = [_]); + var k = w + ? _.map(function (t) { + return t.map(v); + }) + : [[-1 / 0, 1 / 0]], + S = o.values; + S.length > o._length && (S = S.slice(0, o._length)); + var L, + C = o.tickvals; + function P(t, e) { + return { val: t, text: L[e] }; + } + function O(t, e) { + return t.val - e.val; + } + if (Array.isArray(C) && C.length) { + (L = o.ticktext), + Array.isArray(L) && L.length + ? L.length > C.length + ? (L = L.slice(0, C.length)) + : C.length > L.length && + (C = C.slice(0, L.length)) + : (L = C.map(a(o.tickformat))); + for (var I = 1; I < C.length; I++) + if (C[I] < C[I - 1]) { + for ( + var D = C.map(P).sort(O), z = 0; + z < C.length; + z++ + ) + (C[z] = D[z].val), (L[z] = D[z].text); + break; + } + } else C = void 0; + return ( + (S = y.convertTypedArray(S)), + { + key: b, + label: o.label, + tickFormat: o.tickformat, + tickvals: C, + ticktext: L, + ordinal: y.isOrdinal(o), + multiselect: o.multiselect, + xIndex: l, + crossfilterDimensionIndex: l, + visibleIndex: o._index, + height: s, + values: S, + paddedUnitValues: S.map(v), + unitTickvals: C && C.map(v), + xScale: c, + x: c(l), + canvasX: c(l) * u, + unitToPaddedPx: h, + domainScale: A(s, m.verticalPadding, o, C, L), + ordinalScale: M(o), + parent: p, + model: r, + brush: x.makeBrush( + t, + w, + k, + function () { + t.linePickActive(!1); + }, + function () { + var e = p; + e.focusLayer && + e.focusLayer.render(e.panels, !0); + var r = E(e); + !t.contextShown() && r + ? (e.contextLayer && + e.contextLayer.render(e.panels, !0), + t.contextShown(!0)) + : t.contextShown() && + !r && + (e.contextLayer && + e.contextLayer.render(e.panels, !0, !0), + t.contextShown(!1)); + }, + function (r) { + if ( + (p.focusLayer.render(p.panels, !0), + p.pickLayer && + p.pickLayer.render(p.panels, !0), + t.linePickActive(!0), + e && e.filterChanged) + ) { + var n = v.invert, + a = r + .map(function (t) { + return t.map(n).sort(i.sorterAsc); + }) + .sort(function (t, e) { + return t[0] - e[0]; + }); + e.filterChanged(p.key, o._index, a); + } + }, + ), + } + ); + })), + p + ); + } + function P(t) { + t.classed(m.cn.axisExtentText, !0) + .attr("text-anchor", "middle") + .style("cursor", "default"); + } + function O(t, e) { + var r = "top" === e ? 1 : -1, + n = (t * Math.PI) / 180; + return { + dir: r, + dx: Math.sin(n), + dy: Math.cos(n), + degrees: t, + }; + } + function I(t, e, r) { + for ( + var n = e.panels || (e.panels = []), i = t.data(), a = 0; + a < i.length - 1; + a++ + ) { + var o = n[a] || (n[a] = {}), + s = i[a], + l = i[a + 1]; + (o.dim0 = s), + (o.dim1 = l), + (o.canvasX = s.canvasX), + (o.panelSizeX = l.canvasX - s.canvasX), + (o.panelSizeY = e.model.canvasHeight), + (o.y = 0), + (o.canvasY = 0), + (o.plotGlPixelRatio = r); + } + } + function D(t, e) { + return s.tickText(t._ax, e, !1).text; + } + function z(t, e) { + if (t.ordinal) return ""; + var r = t.domainScale.domain(), + n = r[e ? r.length - 1 : 0]; + return D(t.model.dimensions[t.visibleIndex], n); + } + t.exports = function (t, e, r, a) { + var o = t._context.staticPlot, + h = t._fullLayout, + p = h._toppaper, + _ = h._glcontainer, + T = t._context.plotGlPixelRatio, + A = t._fullLayout.paper_bgcolor; + !(function (t) { + for (var e = 0; e < t.length; e++) + for (var r = 0; r < t[e].length; r++) + for ( + var n = t[e][r].trace, i = n.dimensions, a = 0; + a < i.length; + a++ + ) { + var o = i[a].values, + l = i[a]._ax; + l && + (l.range + ? (l.range = k(l.range[0], l.range[1])) + : (l.range = w(o, n._length)), + l.dtick || + (l.dtick = + 0.01 * + (Math.abs(l.range[1] - l.range[0]) || 1)), + (l.tickformat = i[a].tickformat), + s.calcTicks(l), + l.cleanRange()); + } + })(e); + var M, + S, + R = + ((M = !0), + (S = !1), + { + linePickActive: function (t) { + return arguments.length ? (M = !!t) : M; + }, + contextShown: function (t) { + return arguments.length ? (S = !!t) : S; + }, + }), + F = e + .filter(function (t) { + return g(t).trace.visible; + }) + .map(L.bind(0, r)) + .map(C.bind(0, R, a)); + _.each(function (t, e) { + return i.extendFlat(t, F[e]); + }); + var B = _.selectAll(".gl-canvas").each(function (t) { + (t.viewModel = F[0]), + (t.viewModel.plotGlPixelRatio = T), + (t.viewModel.paperColor = A), + (t.model = t.viewModel ? t.viewModel.model : null); + }), + N = null; + B.filter(function (t) { + return t.pick; + }) + .style("pointer-events", o ? "none" : "auto") + .on("mousemove", function (t) { + if (R.linePickActive() && t.lineLayer && a && a.hover) { + var e = n.event, + r = this.width, + i = this.height, + o = n.mouse(this), + s = o[0], + l = o[1]; + if (s < 0 || l < 0 || s >= r || l >= i) return; + var u = t.lineLayer.readPixel(s, i - 1 - l), + c = 0 !== u[3], + f = c ? u[2] + 256 * (u[1] + 256 * u[0]) : null, + h = { + x: s, + y: l, + clientX: e.clientX, + clientY: e.clientY, + dataIndex: t.model.key, + curveNumber: f, + }; + f !== N && + (c ? a.hover(h) : a.unhover && a.unhover(h), + (N = f)); + } + }), + B.style("opacity", function (t) { + return t.pick ? 0 : 1; + }), + p.style("background", "rgba(255, 255, 255, 0)"); + var j = p.selectAll("." + m.cn.parcoords).data(F, d); + j.exit().remove(), + j + .enter() + .append("g") + .classed(m.cn.parcoords, !0) + .style("shape-rendering", "crispEdges") + .style("pointer-events", "none"), + j.attr("transform", function (t) { + return u(t.model.translateX, t.model.translateY); + }); + var U = j + .selectAll("." + m.cn.parcoordsControlView) + .data(v, d); + U.enter() + .append("g") + .classed(m.cn.parcoordsControlView, !0), + U.attr("transform", function (t) { + return u(t.model.pad.l, t.model.pad.t); + }); + var V = U.selectAll("." + m.cn.yAxis).data(function (t) { + return t.dimensions; + }, d); + V.enter().append("g").classed(m.cn.yAxis, !0), + U.each(function (t) { + I(V, t, T); + }), + B.each(function (t) { + if (t.viewModel) { + !t.lineLayer || a + ? (t.lineLayer = b(this, t)) + : t.lineLayer.update(t), + (t.key || 0 === t.key) && + (t.viewModel[t.key] = t.lineLayer); + var e = !t.context || a; + t.lineLayer.render(t.viewModel.panels, e); + } + }), + V.attr("transform", function (t) { + return u(t.xScale(t.xIndex), 0); + }), + V.call( + n.behavior + .drag() + .origin(function (t) { + return t; + }) + .on("drag", function (t) { + var e = t.parent; + R.linePickActive(!1), + (t.x = Math.max( + -m.overdrag, + Math.min(t.model.width + m.overdrag, n.event.x), + )), + (t.canvasX = t.x * t.model.canvasPixelRatio), + V.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); + }), + I(V, e, T), + V.filter(function (e) { + return 0 !== Math.abs(t.xIndex - e.xIndex); + }).attr("transform", function (t) { + return u(t.xScale(t.xIndex), 0); + }), + n.select(this).attr("transform", u(t.x, 0)), + V.each(function (r, n, i) { + i === t.parent.key && (e.dimensions[n] = r); + }), + e.contextLayer && + e.contextLayer.render(e.panels, !1, !E(e)), + e.focusLayer.render && + e.focusLayer.render(e.panels); + }) + .on("dragend", function (t) { + var e = t.parent; + (t.x = t.xScale(t.xIndex)), + (t.canvasX = t.x * t.model.canvasPixelRatio), + I(V, e, T), + n.select(this).attr("transform", function (t) { + return u(t.x, 0); + }), + e.contextLayer && + e.contextLayer.render(e.panels, !1, !E(e)), + e.focusLayer && e.focusLayer.render(e.panels), + e.pickLayer && e.pickLayer.render(e.panels, !0), + R.linePickActive(!0), + a && + a.axesMoved && + a.axesMoved( + e.key, + e.dimensions.map(function (t) { + return t.crossfilterDimensionIndex; + }), + ); + }), + ), + V.exit().remove(); + var H = V.selectAll("." + m.cn.axisOverlays).data(v, d); + H.enter().append("g").classed(m.cn.axisOverlays, !0), + H.selectAll("." + m.cn.axis).remove(); + var q = H.selectAll("." + m.cn.axis).data(v, d); + q.enter().append("g").classed(m.cn.axis, !0), + q.each(function (t) { + var e = t.model.height / t.model.tickDistance, + r = t.domainScale, + i = r.domain(); + n.select(this).call( + n.svg + .axis() + .orient("left") + .tickSize(4) + .outerTickSize(2) + .ticks(e, t.tickFormat) + .tickValues(t.ordinal ? i : null) + .tickFormat(function (e) { + return y.isOrdinal(t) + ? e + : D(t.model.dimensions[t.visibleIndex], e); + }) + .scale(r), + ), + f.font(q.selectAll("text"), t.model.tickFont); + }), + q + .selectAll(".domain, .tick>line") + .attr("fill", "none") + .attr("stroke", "black") + .attr("stroke-opacity", 0.25) + .attr("stroke-width", "1px"), + q + .selectAll("text") + .style("text-shadow", c.makeTextShadow(A)) + .style("cursor", "default"); + var G = H.selectAll("." + m.cn.axisHeading).data(v, d); + G.enter().append("g").classed(m.cn.axisHeading, !0); + var Z = G.selectAll("." + m.cn.axisTitle).data(v, d); + Z.enter() + .append("text") + .classed(m.cn.axisTitle, !0) + .attr("text-anchor", "middle") + .style("cursor", "ew-resize") + .style("pointer-events", o ? "none" : "auto"), + Z.text(function (t) { + return t.label; + }) + .each(function (e) { + var r = n.select(this); + f.font(r, e.model.labelFont), c.convertToTspans(r, t); + }) + .attr("transform", function (t) { + var e = O(t.model.labelAngle, t.model.labelSide), + r = m.axisTitleOffset; + return ( + (e.dir > 0 ? "" : u(0, 2 * r + t.model.height)) + + l(e.degrees) + + u(-r * e.dx, -r * e.dy) + ); + }) + .attr("text-anchor", function (t) { + var e = O(t.model.labelAngle, t.model.labelSide); + return 2 * Math.abs(e.dx) > Math.abs(e.dy) + ? e.dir * e.dx < 0 + ? "start" + : "end" + : "middle"; + }); + var Y = H.selectAll("." + m.cn.axisExtent).data(v, d); + Y.enter().append("g").classed(m.cn.axisExtent, !0); + var W = Y.selectAll("." + m.cn.axisExtentTop).data(v, d); + W.enter().append("g").classed(m.cn.axisExtentTop, !0), + W.attr("transform", u(0, -m.axisExtentOffset)); + var X = W.selectAll("." + m.cn.axisExtentTopText).data( + v, + d, + ); + X.enter() + .append("text") + .classed(m.cn.axisExtentTopText, !0) + .call(P), + X.text(function (t) { + return z(t, !0); + }).each(function (t) { + f.font(n.select(this), t.model.rangeFont); + }); + var J = Y.selectAll("." + m.cn.axisExtentBottom).data(v, d); + J.enter().append("g").classed(m.cn.axisExtentBottom, !0), + J.attr("transform", function (t) { + return u(0, t.model.height + m.axisExtentOffset); + }); + var K = J.selectAll("." + m.cn.axisExtentBottomText).data( + v, + d, + ); + K.enter() + .append("text") + .classed(m.cn.axisExtentBottomText, !0) + .attr("dy", "0.75em") + .call(P), + K.text(function (t) { + return z(t, !1); + }).each(function (t) { + f.font(n.select(this), t.model.rangeFont); + }), + x.ensureAxisBrush(H, A, t); + }; + }, + 21341: function (t, e, r) { + "use strict"; + var n = r(17171), + i = r(79749), + a = r(1602).isVisible, + o = {}; + function s(t, e, r) { + var n = e.indexOf(r), + i = t.indexOf(n); + return -1 === i && (i += e.length), i; + } + (t.exports = function (t, e) { + var r = t._fullLayout; + if (i(t, [], o)) { + var l = {}, + u = {}, + c = {}, + f = {}, + h = r._size; + e.forEach(function (e, r) { + var n = e[0].trace; + c[r] = n.index; + var i = (f[r] = n._fullInput.index); + (l[r] = t.data[i].dimensions), + (u[r] = t.data[i].dimensions.slice()); + }), + n( + t, + e, + { + width: h.w, + height: h.h, + margin: { t: h.t, r: h.r, b: h.b, l: h.l }, + }, + { + filterChanged: function (e, n, i) { + var a = u[e][n], + o = i.map(function (t) { + return t.slice(); + }), + s = "dimensions[" + n + "].constraintrange", + l = + r._tracePreGUI[ + t._fullData[c[e]]._fullInput.uid + ]; + if (void 0 === l[s]) { + var h = a.constraintrange; + l[s] = h || null; + } + var p = t._fullData[c[e]].dimensions[n]; + o.length + ? (1 === o.length && (o = o[0]), + (a.constraintrange = o), + (p.constraintrange = o.slice()), + (o = [o])) + : (delete a.constraintrange, + delete p.constraintrange, + (o = null)); + var d = {}; + (d[s] = o), t.emit("plotly_restyle", [d, [f[e]]]); + }, + hover: function (e) { + t.emit("plotly_hover", e); + }, + unhover: function (e) { + t.emit("plotly_unhover", e); + }, + axesMoved: function (e, r) { + var n = (function (t, e) { + return function (r, n) { + return s(t, e, r) - s(t, e, n); + }; + })(r, u[e].filter(a)); + l[e].sort(n), + u[e] + .filter(function (t) { + return !a(t); + }) + .sort(function (t) { + return u[e].indexOf(t); + }) + .forEach(function (t) { + l[e].splice(l[e].indexOf(t), 1), + l[e].splice(u[e].indexOf(t), 0, t); + }), + t.emit("plotly_restyle", [ + { dimensions: [l[e]] }, + [f[e]], + ]); + }, + }, + ); + } + }).reglPrecompiled = o; + }, + 34e3: function (t, e, r) { + "use strict"; + var n = r(9012), + i = r(27670).Y, + a = r(41940), + o = r(22399), + s = r(5386).fF, + l = r(5386).si, + u = r(1426).extendFlat, + c = r(79952).u, + f = a({ + editType: "plot", + arrayOk: !0, + colorEditType: "plot", + }); + t.exports = { + 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: o.defaultLine, + arrayOk: !0, + editType: "style", + }, + width: { + valType: "number", + min: 0, + dflt: 0, + arrayOk: !0, + editType: "style", + }, + editType: "calc", + }, + pattern: c, + editType: "calc", + }, + text: { valType: "data_array", editType: "plot" }, + 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: u({}, n.hoverinfo, { + flags: ["label", "text", "value", "percent", "name"], + }), + hovertemplate: s( + {}, + { keys: ["label", "color", "value", "percent", "text"] }, + ), + texttemplate: l( + { editType: "plot" }, + { keys: ["label", "color", "value", "percent", "text"] }, + ), + textposition: { + valType: "enumerated", + values: ["inside", "outside", "auto", "none"], + dflt: "auto", + arrayOk: !0, + editType: "plot", + }, + textfont: u({}, f, {}), + insidetextorientation: { + valType: "enumerated", + values: ["horizontal", "radial", "tangential", "auto"], + dflt: "auto", + editType: "plot", + }, + insidetextfont: u({}, f, {}), + outsidetextfont: u({}, f, {}), + automargin: { + valType: "boolean", + dflt: !1, + editType: "plot", + }, + title: { + text: { valType: "string", dflt: "", editType: "plot" }, + font: u({}, f, {}), + position: { + valType: "enumerated", + values: [ + "top left", + "top center", + "top right", + "middle center", + "bottom left", + "bottom center", + "bottom right", + ], + editType: "plot", + }, + editType: "plot", + }, + domain: i({ 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: "angle", dflt: 0, editType: "calc" }, + pull: { + valType: "number", + min: 0, + max: 1, + dflt: 0, + arrayOk: !0, + editType: "calc", + }, + _deprecated: { + title: { valType: "string", dflt: "", editType: "calc" }, + titlefont: u({}, f, {}), + titleposition: { + valType: "enumerated", + values: [ + "top left", + "top center", + "top right", + "middle center", + "bottom left", + "bottom center", + "bottom right", + ], + editType: "calc", + }, + }, + }; + }, + 13584: function (t, e, r) { + "use strict"; + var n = r(74875); + (e.name = "pie"), + (e.plot = function (t, r, i, a) { + n.plotBasePlot(e.name, t, r, i, a); + }), + (e.clean = function (t, r, i, a) { + n.cleanBasePlot(e.name, t, r, i, a); + }); + }, + 32354: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(84267), + a = r(7901), + o = {}; + function s(t) { + return function (e, r) { + return ( + !!e && + !!(e = i(e)).isValid() && + ((e = a.addOpacity(e, e.getAlpha())), + t[r] || (t[r] = e), + e) + ); + }; + } + function l(t, e) { + var r, + n = JSON.stringify(t), + a = e[n]; + if (!a) { + for (a = t.slice(), r = 0; r < t.length; r++) + a.push(i(t[r]).lighten(20).toHexString()); + for (r = 0; r < t.length; r++) + a.push(i(t[r]).darken(20).toHexString()); + e[n] = a; + } + return a; + } + t.exports = { + calc: function (t, e) { + var r, + i, + a = [], + o = t._fullLayout, + l = o.hiddenlabels || [], + u = e.labels, + c = e.marker.colors || [], + f = e.values, + h = e._length, + p = e._hasValues && h; + if (e.dlabel) + for (u = new Array(h), r = 0; r < h; r++) + u[r] = String(e.label0 + r * e.dlabel); + var d = {}, + v = s(o["_" + e.type + "colormap"]), + g = 0, + y = !1; + for (r = 0; r < h; r++) { + var m, x, b; + if (p) { + if (((m = f[r]), !n(m))) continue; + m = +m; + } else m = 1; + (void 0 !== (x = u[r]) && "" !== x) || (x = r); + var _ = d[(x = String(x))]; + void 0 === _ + ? ((d[x] = a.length), + (b = -1 !== l.indexOf(x)) || (g += m), + a.push({ + v: m, + label: x, + color: v(c[r], x), + i: r, + pts: [r], + hidden: b, + })) + : ((y = !0), + ((i = a[_]).v += m), + i.pts.push(r), + i.hidden || (g += m), + !1 === i.color && c[r] && (i.color = v(c[r], x))); + } + return ( + (a = a.filter(function (t) { + return t.v >= 0; + })), + ("funnelarea" === e.type ? y : e.sort) && + a.sort(function (t, e) { + return e.v - t.v; + }), + a[0] && (a[0].vTotal = g), + a + ); + }, + crossTraceCalc: function (t, e) { + var r = (e || {}).type; + r || (r = "pie"); + var n = t._fullLayout, + i = t.calcdata, + a = n[r + "colorway"], + s = n["_" + r + "colormap"]; + n["extend" + r + "colors"] && (a = l(a, o)); + for (var u = 0, c = 0; c < i.length; c++) { + var f = i[c]; + if (f[0].trace.type === r) + for (var h = 0; h < f.length; h++) { + var p = f[h]; + !1 === p.color && + (s[p.label] + ? (p.color = s[p.label]) + : ((s[p.label] = p.color = a[u % a.length]), + u++)); + } + } + }, + makePullColorFn: s, + generateExtendedColors: l, + }; + }, + 37434: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(34e3), + o = r(27670).c, + s = r(90769).handleText, + l = r(71828).coercePattern; + function u(t, e) { + var r = Array.isArray(t), + a = i.isArrayOrTypedArray(e), + o = Math.min(r ? t.length : 1 / 0, a ? e.length : 1 / 0); + if ((isFinite(o) || (o = 0), o && a)) { + for (var s, l = 0; l < o; l++) { + var u = e[l]; + if (n(u) && u > 0) { + s = !0; + break; + } + } + s || (o = 0); + } + return { hasLabels: r, hasValues: a, len: o }; + } + function c(t, e, r, n, i) { + n("marker.line.width") && + n("marker.line.color", i ? void 0 : r.paper_bgcolor); + var a = n("marker.colors"); + l(n, "marker.pattern", a), + t.marker && + !e.marker.pattern.fgcolor && + (e.marker.pattern.fgcolor = t.marker.colors), + e.marker.pattern.bgcolor || + (e.marker.pattern.bgcolor = r.paper_bgcolor); + } + t.exports = { + handleLabelsAndValues: u, + handleMarkerDefaults: c, + supplyDefaults: function (t, e, r, n) { + function l(r, n) { + return i.coerce(t, e, a, r, n); + } + var f = u(l("labels"), l("values")), + h = f.len; + if ( + ((e._hasLabels = f.hasLabels), + (e._hasValues = f.hasValues), + !e._hasLabels && + e._hasValues && + (l("label0"), l("dlabel")), + h) + ) { + (e._length = h), c(t, e, n, l, !0), l("scalegroup"); + var p, + d = l("text"), + v = l("texttemplate"); + if ( + (v || + (p = l( + "textinfo", + Array.isArray(d) ? "text+percent" : "percent", + )), + l("hovertext"), + l("hovertemplate"), + v || (p && "none" !== p)) + ) { + var g = l("textposition"); + s(t, e, n, l, g, { + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !1, + moduleHasCliponaxis: !1, + moduleHasTextangle: !1, + moduleHasInsideanchor: !1, + }), + (Array.isArray(g) || + "auto" === g || + "outside" === g) && + l("automargin"), + ("inside" === g || + "auto" === g || + Array.isArray(g)) && + l("insidetextorientation"); + } + o(e, n, l); + var y = l("hole"); + if (l("title.text")) { + var m = l( + "title.position", + y ? "middle center" : "top center", + ); + y || + "middle center" !== m || + (e.title.position = "top center"), + i.coerceFont(l, "title.font", n.font); + } + l("sort"), l("direction"), l("rotation"), l("pull"); + } else e.visible = !1; + }, + }; + }, + 20007: function (t, e, r) { + "use strict"; + var n = r(23469).appendArrayMultiPointValues; + t.exports = 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, + percent: t.percent, + text: t.text, + bbox: t.bbox, + v: t.v, + }; + return ( + 1 === t.pts.length && (r.pointNumber = r.i = t.pts[0]), + n(r, e, t.pts), + "funnelarea" === e.type && (delete r.v, delete r.i), + r + ); + }; + }, + 22209: function (t, e, r) { + "use strict"; + var n = r(91424), + i = r(7901); + t.exports = function (t, e, r, a) { + var o = r.marker.pattern; + o && o.shape + ? n.pointStyle(t, r, a, e) + : i.fill(t, e.color); + }; + }, + 53581: function (t, e, r) { + "use strict"; + var n = r(71828); + function i(t) { + return -1 !== t.indexOf("e") + ? t.replace(/[.]?0+e/, "e") + : -1 !== t.indexOf(".") + ? t.replace(/[.]?0+$/, "") + : t; + } + (e.formatPiePercent = function (t, e) { + var r = i((100 * t).toPrecision(3)); + return n.numSeparate(r, e) + "%"; + }), + (e.formatPieValue = function (t, e) { + var r = i(t.toPrecision(10)); + return n.numSeparate(r, e); + }), + (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 || "" === n) return n; + } + }), + (e.castOption = function (t, r) { + return Array.isArray(t) + ? e.getFirstFilled(t, r) + : t || void 0; + }), + (e.getRotationAngle = function (t) { + return (("auto" === t ? 0 : t) * Math.PI) / 180; + }); + }, + 58810: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(34e3), + supplyDefaults: r(37434).supplyDefaults, + supplyLayoutDefaults: r(92097), + layoutAttributes: r(92774), + calc: r(32354).calc, + crossTraceCalc: r(32354).crossTraceCalc, + plot: r(14575).plot, + style: r(68357), + styleOne: r(63463), + moduleType: "trace", + name: "pie", + basePlotModule: r(13584), + categories: ["pie-like", "pie", "showLegend"], + meta: {}, + }; + }, + 92774: function (t) { + "use strict"; + t.exports = { + hiddenlabels: { valType: "data_array", editType: "calc" }, + piecolorway: { valType: "colorlist", editType: "calc" }, + extendpiecolors: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + }; + }, + 92097: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(92774); + t.exports = function (t, e) { + function r(r, a) { + return n.coerce(t, e, i, r, a); + } + r("hiddenlabels"), + r("piecolorway", e.colorway), + r("extendpiecolors"); + }; + }, + 14575: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(74875), + a = r(30211), + o = r(7901), + s = r(91424), + l = r(71828), + u = l.strScale, + c = l.strTranslate, + f = r(63893), + h = r(72597), + p = h.recordMinTextSize, + d = h.clearMinTextSize, + v = r(97313).TEXTPAD, + g = r(53581), + y = r(20007), + m = r(71828).isValidTextValue; + function x(t, e, r) { + var i = r[0], + o = i.cx, + s = i.cy, + u = i.trace, + c = "funnelarea" === u.type; + "_hasHoverLabel" in u || (u._hasHoverLabel = !1), + "_hasHoverEvent" in u || (u._hasHoverEvent = !1), + t.on("mouseover", function (t) { + var r = e._fullLayout, + f = e._fullData[u.index]; + if (!e._dragging && !1 !== r.hovermode) { + var h = f.hoverinfo; + if ( + (Array.isArray(h) && + (h = a.castHoverinfo( + { + hoverinfo: [g.castOption(h, t.pts)], + _module: u._module, + }, + r, + 0, + )), + "all" === h && + (h = "label+text+value+percent+name"), + f.hovertemplate || + ("none" !== h && "skip" !== h && h)) + ) { + var p = t.rInscribed || 0, + d = o + t.pxmid[0] * (1 - p), + v = s + t.pxmid[1] * (1 - p), + m = r.separators, + x = []; + if ( + (h && + -1 !== h.indexOf("label") && + x.push(t.label), + (t.text = g.castOption( + f.hovertext || f.text, + t.pts, + )), + h && -1 !== h.indexOf("text")) + ) { + var b = t.text; + l.isValidTextValue(b) && x.push(b); + } + (t.value = t.v), + (t.valueLabel = g.formatPieValue(t.v, m)), + h && + -1 !== h.indexOf("value") && + x.push(t.valueLabel), + (t.percent = t.v / i.vTotal), + (t.percentLabel = g.formatPiePercent( + t.percent, + m, + )), + h && + -1 !== h.indexOf("percent") && + x.push(t.percentLabel); + var _ = f.hoverlabel, + w = _.font, + T = []; + a.loneHover( + { + trace: u, + x0: d - p * i.r, + x1: d + p * i.r, + y: v, + _x0: c ? o + t.TL[0] : d - p * i.r, + _x1: c ? o + t.TR[0] : d + p * i.r, + _y0: c ? s + t.TL[1] : v - p * i.r, + _y1: c ? s + t.BL[1] : v + p * i.r, + text: x.join("
"), + name: + f.hovertemplate || -1 !== h.indexOf("name") + ? f.name + : void 0, + idealAlign: t.pxmid[0] < 0 ? "left" : "right", + color: + g.castOption(_.bgcolor, t.pts) || t.color, + borderColor: g.castOption(_.bordercolor, t.pts), + fontFamily: g.castOption(w.family, t.pts), + fontSize: g.castOption(w.size, t.pts), + fontColor: g.castOption(w.color, t.pts), + nameLength: g.castOption(_.namelength, t.pts), + textAlign: g.castOption(_.align, t.pts), + hovertemplate: g.castOption( + f.hovertemplate, + t.pts, + ), + hovertemplateLabels: t, + eventData: [y(t, f)], + }, + { + container: r._hoverlayer.node(), + outerContainer: r._paper.node(), + gd: e, + inOut_bbox: T, + }, + ), + (t.bbox = T[0]), + (u._hasHoverLabel = !0); + } + (u._hasHoverEvent = !0), + e.emit("plotly_hover", { + points: [y(t, f)], + event: n.event, + }); + } + }), + t.on("mouseout", function (t) { + var r = e._fullLayout, + i = e._fullData[u.index], + o = n.select(this).datum(); + u._hasHoverEvent && + ((t.originalEvent = n.event), + e.emit("plotly_unhover", { + points: [y(o, i)], + event: n.event, + }), + (u._hasHoverEvent = !1)), + u._hasHoverLabel && + (a.loneUnhover(r._hoverlayer.node()), + (u._hasHoverLabel = !1)); + }), + t.on("click", function (t) { + var r = e._fullLayout, + i = e._fullData[u.index]; + e._dragging || + !1 === r.hovermode || + ((e._hoverdata = [y(t, i)]), a.click(e, n.event)); + }); + } + function b(t, e, r) { + var n = g.castOption(t.insidetextfont.color, e.pts); + !n && + t._input.textfont && + (n = g.castOption(t._input.textfont.color, e.pts)); + var i = + g.castOption(t.insidetextfont.family, e.pts) || + g.castOption(t.textfont.family, e.pts) || + r.family, + a = + g.castOption(t.insidetextfont.size, e.pts) || + g.castOption(t.textfont.size, e.pts) || + r.size; + return { + color: n || o.contrast(e.color), + family: i, + size: a, + }; + } + function _(t, e) { + for (var r, n, i = 0; i < t.length; i++) + if ((n = (r = t[i][0]).trace).title.text) { + var a = n.title.text; + n._meta && (a = l.templateString(a, n._meta)); + var o = s.tester + .append("text") + .attr("data-notex", 1) + .text(a) + .call(s.font, n.title.font) + .call(f.convertToTspans, e), + u = s.bBox(o.node(), !0); + (r.titleBox = { width: u.width, height: u.height }), + o.remove(); + } + } + function w(t, e, r) { + var n = r.r || e.rpx1, + i = e.rInscribed; + if (e.startangle === e.stopangle) + return { + rCenter: 1 - i, + scale: 0, + rotate: 0, + textPosAngle: 0, + }; + var a, + o = e.ring, + s = + 1 === o && + Math.abs(e.startangle - e.stopangle) === 2 * Math.PI, + l = e.halfangle, + u = e.midangle, + c = r.trace.insidetextorientation, + f = "horizontal" === c, + h = "tangential" === c, + p = "radial" === c, + d = "auto" === c, + v = []; + if (!d) { + var g, + y = function (r, i) { + if ( + (function (t, e) { + var r = t.startangle, + n = t.stopangle; + return (r > e && e > n) || (r < e && e < n); + })(e, r) + ) { + var s = Math.abs(r - e.startangle), + l = Math.abs(r - e.stopangle), + u = s < l ? s : l; + ((a = + "tan" === i + ? k(t, n, o, u, 0) + : T(t, n, o, u, Math.PI / 2)).textPosAngle = r), + v.push(a); + } + }; + if (f || h) { + for (g = 4; g >= -4; g -= 2) y(Math.PI * g, "tan"); + for (g = 4; g >= -4; g -= 2) + y(Math.PI * (g + 1), "tan"); + } + if (f || p) { + for (g = 4; g >= -4; g -= 2) + y(Math.PI * (g + 1.5), "rad"); + for (g = 4; g >= -4; g -= 2) + y(Math.PI * (g + 0.5), "rad"); + } + } + if (s || d || f) { + var m = Math.sqrt( + t.width * t.width + t.height * t.height, + ); + if ( + (((a = { + scale: (i * n * 2) / m, + rCenter: 1 - i, + rotate: 0, + }).textPosAngle = (e.startangle + e.stopangle) / 2), + a.scale >= 1) + ) + return a; + v.push(a); + } + (d || p) && + (((a = T(t, n, o, l, u)).textPosAngle = + (e.startangle + e.stopangle) / 2), + v.push(a)), + (d || h) && + (((a = k(t, n, o, l, u)).textPosAngle = + (e.startangle + e.stopangle) / 2), + v.push(a)); + for (var x = 0, b = 0, _ = 0; _ < v.length; _++) { + var w = v[_].scale; + if ((b < w && ((b = w), (x = _)), !d && b >= 1)) break; + } + return v[x]; + } + function T(t, e, r, n, i) { + e = Math.max(0, e - 2 * v); + var a = t.width / t.height, + o = S(a, n, e, r); + return { + scale: (2 * o) / t.height, + rCenter: A(a, o / e), + rotate: M(i), + }; + } + function k(t, e, r, n, i) { + e = Math.max(0, e - 2 * v); + var a = t.height / t.width, + o = S(a, n, e, r); + return { + scale: (2 * o) / t.width, + rCenter: A(a, o / e), + rotate: M(i + Math.PI / 2), + }; + } + function A(t, e) { + return Math.cos(e) - t * e; + } + function M(t) { + return (((180 / Math.PI) * t + 720) % 180) - 90; + } + function S(t, e, r, n) { + var i = t + 1 / (2 * Math.tan(e)); + return ( + r * + Math.min( + 1 / (Math.sqrt(i * i + 0.5) + i), + n / (Math.sqrt(t * t + n / 2) + t), + ) + ); + } + function E(t, e) { + return t.v !== e.vTotal || e.trace.hole + ? Math.min( + 1 / (1 + 1 / Math.sin(t.halfangle)), + t.ring / 2, + ) + : 1; + } + function L(t, e) { + var r = e.pxmid[0], + n = e.pxmid[1], + i = t.width / 2, + a = t.height / 2; + return ( + r < 0 && (i *= -1), + n < 0 && (a *= -1), + { + scale: 1, + rCenter: 1, + rotate: 0, + x: i + (Math.abs(a) * (i > 0 ? 1 : -1)) / 2, + y: a / (1 + (r * r) / (n * n)), + outside: !0, + } + ); + } + function C(t, e) { + var r, + n, + i, + a = t.trace, + o = { x: t.cx, y: t.cy }, + s = { tx: 0, ty: 0 }; + (s.ty += a.title.font.size), + (i = O(a)), + -1 !== a.title.position.indexOf("top") + ? ((o.y -= (1 + i) * t.r), (s.ty -= t.titleBox.height)) + : -1 !== a.title.position.indexOf("bottom") && + (o.y += (1 + i) * t.r); + var l, + u = t.r / (void 0 === (l = t.trace.aspectratio) ? 1 : l), + c = (e.w * (a.domain.x[1] - a.domain.x[0])) / 2; + return ( + -1 !== a.title.position.indexOf("left") + ? ((c += u), + (o.x -= (1 + i) * u), + (s.tx += t.titleBox.width / 2)) + : -1 !== a.title.position.indexOf("center") + ? (c *= 2) + : -1 !== a.title.position.indexOf("right") && + ((c += u), + (o.x += (1 + i) * u), + (s.tx -= t.titleBox.width / 2)), + (r = c / t.titleBox.width), + (n = P(t, e) / t.titleBox.height), + { + x: o.x, + y: o.y, + scale: Math.min(r, n), + tx: s.tx, + ty: s.ty, + } + ); + } + function P(t, e) { + var r = t.trace, + n = e.h * (r.domain.y[1] - r.domain.y[0]); + return Math.min(t.titleBox.height, n / 2); + } + function O(t) { + var e, + r = t.pull; + if (!r) return 0; + if (Array.isArray(r)) + for (r = 0, e = 0; e < t.pull.length; e++) + t.pull[e] > r && (r = t.pull[e]); + return r; + } + function I(t, e) { + for (var r = [], n = 0; n < t.length; n++) { + var i = t[n][0], + a = i.trace, + o = a.domain, + s = e.w * (o.x[1] - o.x[0]), + l = e.h * (o.y[1] - o.y[0]); + a.title.text && + "middle center" !== a.title.position && + (l -= P(i, e)); + var u = s / 2, + c = l / 2; + "funnelarea" !== a.type || + a.scalegroup || + (c /= a.aspectratio), + (i.r = Math.min(u, c) / (1 + O(a))), + (i.cx = + e.l + (e.w * (a.domain.x[1] + a.domain.x[0])) / 2), + (i.cy = e.t + e.h * (1 - a.domain.y[0]) - l / 2), + a.title.text && + -1 !== a.title.position.indexOf("bottom") && + (i.cy -= P(i, e)), + a.scalegroup && + -1 === r.indexOf(a.scalegroup) && + r.push(a.scalegroup); + } + !(function (t, e) { + for (var r, n, i, a = 0; a < e.length; a++) { + var o = 1 / 0, + s = e[a]; + for (n = 0; n < t.length; n++) + if ((i = (r = t[n][0]).trace).scalegroup === s) { + var l; + if ("pie" === i.type) l = r.r * r.r; + else if ("funnelarea" === i.type) { + var u, c; + i.aspectratio > 1 + ? (c = (u = r.r) / i.aspectratio) + : (u = (c = r.r) * i.aspectratio), + (l = (u *= (1 + i.baseratio) / 2) * c); + } + o = Math.min(o, l / r.vTotal); + } + for (n = 0; n < t.length; n++) + if ((i = (r = t[n][0]).trace).scalegroup === s) { + var f = o * r.vTotal; + "funnelarea" === i.type && + ((f /= (1 + i.baseratio) / 2), + (f /= i.aspectratio)), + (r.r = Math.sqrt(f)); + } + } + })(t, r); + } + function D(t, e) { + return [t * Math.sin(e), -t * Math.cos(e)]; + } + function z(t, e, r) { + var n = t._fullLayout, + i = r.trace, + a = i.texttemplate, + o = i.textinfo; + if (!a && o && "none" !== o) { + var s, + u = o.split("+"), + c = function (t) { + return -1 !== u.indexOf(t); + }, + f = c("label"), + h = c("text"), + p = c("value"), + d = c("percent"), + v = n.separators; + if (((s = f ? [e.label] : []), h)) { + var y = g.getFirstFilled(i.text, e.pts); + m(y) && s.push(y); + } + p && s.push(g.formatPieValue(e.v, v)), + d && s.push(g.formatPiePercent(e.v / r.vTotal, v)), + (e.text = s.join("
")); + } + if (a) { + var x = l.castOption(i, e.i, "texttemplate"); + if (x) { + var b = (function (t) { + return { + label: t.label, + value: t.v, + valueLabel: g.formatPieValue(t.v, n.separators), + percent: t.v / r.vTotal, + percentLabel: g.formatPiePercent( + t.v / r.vTotal, + n.separators, + ), + color: t.color, + text: t.text, + customdata: l.castOption(i, t.i, "customdata"), + }; + })(e), + _ = g.getFirstFilled(i.text, e.pts); + (m(_) || "" === _) && (b.text = _), + (e.text = l.texttemplateString( + x, + b, + t._fullLayout._d3locale, + b, + i._meta || {}, + )); + } else e.text = ""; + } + } + function R(t, e) { + var r = (t.rotate * Math.PI) / 180, + n = Math.cos(r), + i = Math.sin(r), + a = (e.left + e.right) / 2, + o = (e.top + e.bottom) / 2; + (t.textX = a * n - o * i), + (t.textY = a * i + o * n), + (t.noCenter = !0); + } + t.exports = { + plot: function (t, e) { + var r = t._context.staticPlot, + a = t._fullLayout, + h = a._size; + d("pie", a), _(e, t), I(e, h); + var v = l + .makeTraceGroups(a._pielayer, e, "trace") + .each(function (e) { + var d = n.select(this), + v = e[0], + y = v.trace; + !(function (t) { + var e, + r, + n, + i = t[0], + a = i.r, + o = i.trace, + s = g.getRotationAngle(o.rotation), + l = (2 * Math.PI) / i.vTotal, + u = "px0", + c = "px1"; + if ("counterclockwise" === o.direction) { + for (e = 0; e < t.length && t[e].hidden; e++); + if (e === t.length) return; + (s += l * t[e].v), + (l *= -1), + (u = "px1"), + (c = "px0"); + } + for (n = D(a, s), e = 0; e < t.length; e++) + (r = t[e]).hidden || + ((r[u] = n), + (r.startangle = s), + (s += (l * r.v) / 2), + (r.pxmid = D(a, s)), + (r.midangle = s), + (n = D(a, (s += (l * r.v) / 2))), + (r.stopangle = s), + (r[c] = n), + (r.largeArc = r.v > i.vTotal / 2 ? 1 : 0), + (r.halfangle = + Math.PI * Math.min(r.v / i.vTotal, 0.5)), + (r.ring = 1 - o.hole), + (r.rInscribed = E(r, i))); + })(e), + d.attr("stroke-linejoin", "round"), + d.each(function () { + var m = n + .select(this) + .selectAll("g.slice") + .data(e); + m.enter().append("g").classed("slice", !0), + m.exit().remove(); + var _ = [ + [[], []], + [[], []], + ], + T = !1; + m.each(function (i, o) { + if (i.hidden) + n.select(this).selectAll("path,g").remove(); + else { + (i.pointNumber = i.i), + (i.curveNumber = y.index), + _[i.pxmid[1] < 0 ? 0 : 1][ + i.pxmid[0] < 0 ? 0 : 1 + ].push(i); + var u = v.cx, + c = v.cy, + h = n.select(this), + d = h.selectAll("path.surface").data([i]); + if ( + (d + .enter() + .append("path") + .classed("surface", !0) + .style({ + "pointer-events": r ? "none" : "all", + }), + h.call(x, t, e), + y.pull) + ) { + var m = +g.castOption(y.pull, i.pts) || 0; + m > 0 && + ((u += m * i.pxmid[0]), + (c += m * i.pxmid[1])); + } + (i.cxFinal = u), (i.cyFinal = c); + var k = y.hole; + if (i.v === v.vTotal) { + var A = + "M" + + (u + i.px0[0]) + + "," + + (c + i.px0[1]) + + P(i.px0, i.pxmid, !0, 1) + + P(i.pxmid, i.px0, !0, 1) + + "Z"; + k + ? d.attr( + "d", + "M" + + (u + k * i.px0[0]) + + "," + + (c + k * i.px0[1]) + + P(i.px0, i.pxmid, !1, k) + + P(i.pxmid, i.px0, !1, k) + + "Z" + + A, + ) + : d.attr("d", A); + } else { + var M = P(i.px0, i.px1, !0, 1); + if (k) { + var S = 1 - k; + d.attr( + "d", + "M" + + (u + k * i.px1[0]) + + "," + + (c + k * i.px1[1]) + + P(i.px1, i.px0, !1, k) + + "l" + + S * i.px0[0] + + "," + + S * i.px0[1] + + M + + "Z", + ); + } else + d.attr( + "d", + "M" + + u + + "," + + c + + "l" + + i.px0[0] + + "," + + i.px0[1] + + M + + "Z", + ); + } + z(t, i, v); + var E = g.castOption(y.textposition, i.pts), + C = h + .selectAll("g.slicetext") + .data(i.text && "none" !== E ? [0] : []); + C.enter() + .append("g") + .classed("slicetext", !0), + C.exit().remove(), + C.each(function () { + var r = l.ensureSingle( + n.select(this), + "text", + "", + function (t) { + t.attr("data-notex", 1); + }, + ), + h = l.ensureUniformFontSize( + t, + "outside" === E + ? (function (t, e, r) { + return { + color: + g.castOption( + t.outsidetextfont.color, + e.pts, + ) || + g.castOption( + t.textfont.color, + e.pts, + ) || + r.color, + family: + g.castOption( + t.outsidetextfont.family, + e.pts, + ) || + g.castOption( + t.textfont.family, + e.pts, + ) || + r.family, + size: + g.castOption( + t.outsidetextfont.size, + e.pts, + ) || + g.castOption( + t.textfont.size, + e.pts, + ) || + r.size, + }; + })(y, i, a.font) + : b(y, i, a.font), + ); + r.text(i.text) + .attr({ + class: "slicetext", + transform: "", + "text-anchor": "middle", + }) + .call(s.font, h) + .call(f.convertToTspans, t); + var d, + m = s.bBox(r.node()); + if ("outside" === E) d = L(m, i); + else if ( + ((d = w(m, i, v)), + "auto" === E && d.scale < 1) + ) { + var x = l.ensureUniformFontSize( + t, + y.outsidetextfont, + ); + r.call(s.font, x), + (d = L((m = s.bBox(r.node())), i)); + } + var _ = d.textPosAngle, + k = void 0 === _ ? i.pxmid : D(v.r, _); + if ( + ((d.targetX = + u + k[0] * d.rCenter + (d.x || 0)), + (d.targetY = + c + k[1] * d.rCenter + (d.y || 0)), + R(d, m), + d.outside) + ) { + var A = d.targetY; + (i.yLabelMin = A - m.height / 2), + (i.yLabelMid = A), + (i.yLabelMax = A + m.height / 2), + (i.labelExtraX = 0), + (i.labelExtraY = 0), + (T = !0); + } + (d.fontSize = h.size), + p(y.type, d, a), + (e[o].transform = d), + l.setTransormAndDisplay(r, d); + }); + } + function P(t, e, r, n) { + var a = n * (e[0] - t[0]), + o = n * (e[1] - t[1]); + return ( + "a" + + n * v.r + + "," + + n * v.r + + " 0 " + + i.largeArc + + (r ? " 1 " : " 0 ") + + a + + "," + + o + ); + } + }); + var k = n + .select(this) + .selectAll("g.titletext") + .data(y.title.text ? [0] : []); + if ( + (k.enter().append("g").classed("titletext", !0), + k.exit().remove(), + k.each(function () { + var e, + r = l.ensureSingle( + n.select(this), + "text", + "", + function (t) { + t.attr("data-notex", 1); + }, + ), + i = y.title.text; + y._meta && (i = l.templateString(i, y._meta)), + r + .text(i) + .attr({ + class: "titletext", + transform: "", + "text-anchor": "middle", + }) + .call(s.font, y.title.font) + .call(f.convertToTspans, t), + (e = + "middle center" === y.title.position + ? (function (t) { + var e = Math.sqrt( + t.titleBox.width * + t.titleBox.width + + t.titleBox.height * + t.titleBox.height, + ); + return { + x: t.cx, + y: t.cy, + scale: + (t.trace.hole * t.r * 2) / e, + tx: 0, + ty: + -t.titleBox.height / 2 + + t.trace.title.font.size, + }; + })(v) + : C(v, h)), + r.attr( + "transform", + c(e.x, e.y) + + u(Math.min(1, e.scale)) + + c(e.tx, e.ty), + ); + }), + T && + (function (t, e) { + var r, n, i, a, o, s, l, u, c, f, h, p, d; + function v(t, e) { + return t.pxmid[1] - e.pxmid[1]; + } + function y(t, e) { + return e.pxmid[1] - t.pxmid[1]; + } + function m(t, r) { + r || (r = {}); + var i, + u, + c, + h, + p = + r.labelExtraY + + (n ? r.yLabelMax : r.yLabelMin), + d = n ? t.yLabelMin : t.yLabelMax, + v = n ? t.yLabelMax : t.yLabelMin, + y = t.cyFinal + o(t.px0[1], t.px1[1]), + m = p - d; + if ( + (m * l > 0 && (t.labelExtraY = m), + Array.isArray(e.pull)) + ) + for (u = 0; u < f.length; u++) + (c = f[u]) === t || + (g.castOption(e.pull, t.pts) || + 0) >= + (g.castOption(e.pull, c.pts) || + 0) || + ((t.pxmid[1] - c.pxmid[1]) * l > 0 + ? (m = + c.cyFinal + + o(c.px0[1], c.px1[1]) - + d - + t.labelExtraY) * + l > + 0 && (t.labelExtraY += m) + : (v + t.labelExtraY - y) * l > + 0 && + ((i = + 3 * + s * + Math.abs(u - f.indexOf(t))), + (h = + c.cxFinal + + a(c.px0[0], c.px1[0]) + + i - + (t.cxFinal + t.pxmid[0]) - + t.labelExtraX) * + s > + 0 && (t.labelExtraX += h))); + } + for (n = 0; n < 2; n++) + for ( + i = n ? v : y, + 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], + f = c.concat(u), + p = [], + h = 0; + h < u.length; + h++ + ) + void 0 !== u[h].yLabelMid && + p.push(u[h]); + for ( + d = !1, h = 0; + n && h < c.length; + h++ + ) + if (void 0 !== c[h].yLabelMid) { + d = c[h]; + break; + } + for (h = 0; h < p.length; h++) { + var x = h && p[h - 1]; + d && !h && (x = d), m(p[h], x); + } + } + })(_, y), + (function (t, e) { + t.each(function (t) { + var r = n.select(this); + if (t.labelExtraX || t.labelExtraY) { + var i = r.select("g.slicetext text"); + (t.transform.targetX += t.labelExtraX), + (t.transform.targetY += t.labelExtraY), + l.setTransormAndDisplay(i, t.transform); + var a = t.cxFinal + t.pxmid[0], + s = + "M" + + a + + "," + + (t.cyFinal + t.pxmid[1]), + u = + ((t.yLabelMax - t.yLabelMin) * + (t.pxmid[0] < 0 ? -1 : 1)) / + 4; + if (t.labelExtraX) { + var c = + (t.labelExtraX * t.pxmid[1]) / + t.pxmid[0], + f = + t.yLabelMid + + t.labelExtraY - + (t.cyFinal + t.pxmid[1]); + Math.abs(c) > Math.abs(f) + ? (s += + "l" + + (f * t.pxmid[0]) / t.pxmid[1] + + "," + + f + + "H" + + (a + t.labelExtraX + u)) + : (s += + "l" + + t.labelExtraX + + "," + + c + + "v" + + (f - c) + + "h" + + u); + } else + s += + "V" + + (t.yLabelMid + t.labelExtraY) + + "h" + + u; + l.ensureSingle(r, "path", "textline") + .call(o.stroke, e.outsidetextfont.color) + .attr({ + "stroke-width": Math.min( + 2, + e.outsidetextfont.size / 8, + ), + d: s, + fill: "none", + }); + } else r.select("path.textline").remove(); + }); + })(m, y), + T && y.automargin) + ) { + var A = s.bBox(d.node()), + M = y.domain, + S = h.w * (M.x[1] - M.x[0]), + E = h.h * (M.y[1] - M.y[0]), + P = (0.5 * S - v.r) / h.w, + O = (0.5 * E - v.r) / h.h; + i.autoMargin( + t, + "pie." + y.uid + ".automargin", + { + xl: M.x[0] - P, + xr: M.x[1] + P, + yb: M.y[0] - O, + yt: M.y[1] + O, + l: Math.max(v.cx - v.r - A.left, 0), + r: Math.max(A.right - (v.cx + v.r), 0), + b: Math.max(A.bottom - (v.cy + v.r), 0), + t: Math.max(v.cy - v.r - A.top, 0), + pad: 5, + }, + ); + } + }); + }); + setTimeout(function () { + v.selectAll("tspan").each(function () { + var t = n.select(this); + t.attr("dy") && t.attr("dy", t.attr("dy")); + }); + }, 0); + }, + formatSliceLabel: z, + transformInsideText: w, + determineInsideTextFont: b, + positionTitleOutside: C, + prerenderTitles: _, + layoutAreas: I, + attachFxHandlers: x, + computeTransform: R, + }; + }, + 68357: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(63463), + a = r(72597).resizeText; + t.exports = function (t) { + var e = t._fullLayout._pielayer.selectAll(".trace"); + a(t, e, "pie"), + e.each(function (e) { + var r = e[0].trace, + a = n.select(this); + a.style({ opacity: r.opacity }), + a.selectAll("path.surface").each(function (e) { + n.select(this).call(i, e, r, t); + }); + }); + }; + }, + 63463: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(53581).castOption, + a = r(22209); + t.exports = function (t, e, r, o) { + var s = r.marker.line, + l = i(s.color, e.pts) || n.defaultLine, + u = i(s.width, e.pts) || 0; + t.call(a, e, r, o) + .style("stroke-width", u) + .call(n.stroke, l); + }; + }, + 10959: function (t, e, r) { + "use strict"; + var n = r(82196); + t.exports = { + x: n.x, + y: n.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: n.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: 0.1, + max: 2, + dflt: 0.5, + editType: "calc", + }, + sizemax: { + valType: "number", + min: 0.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", + }, + transforms: void 0, + }; + }, + 42743: function (t, e, r) { + "use strict"; + var n = r(9330).gl_pointcloud2d, + i = r(78614), + a = r(71739).findExtremes, + o = r(34603); + function s(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: 0.5, + sizemax: 12, + color: [0, 0, 0, 1], + areaRatio: 1, + borderColor: [0, 0, 0, 1], + }), + (this.pointcloud = n(t.glplot, this.pointcloudOptions)), + (this.pointcloud._trace = this); + } + var l = s.prototype; + (l.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, + }; + }), + (l.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 = o(t, {})); + }), + (l.updateFast = function (t) { + var e, + r, + n, + o, + s, + l, + u = (this.xData = this.pickXData = t.x), + c = (this.yData = this.pickYData = t.y), + f = (this.pickXYData = t.xy), + h = t.xbounds && t.ybounds, + p = t.indices, + d = this.bounds; + if (f) { + if (((n = f), (e = f.length >>> 1), h)) + (d[0] = t.xbounds[0]), + (d[2] = t.xbounds[1]), + (d[1] = t.ybounds[0]), + (d[3] = t.ybounds[1]); + else + for (l = 0; l < e; l++) + (o = n[2 * l]), + (s = n[2 * l + 1]), + o < d[0] && (d[0] = o), + o > d[2] && (d[2] = o), + s < d[1] && (d[1] = s), + s > d[3] && (d[3] = s); + if (p) r = p; + else + for (r = new Int32Array(e), l = 0; l < e; l++) + r[l] = l; + } else + for ( + e = u.length, + n = new Float32Array(2 * e), + r = new Int32Array(e), + l = 0; + l < e; + l++ + ) + (o = u[l]), + (s = c[l]), + (r[l] = l), + (n[2 * l] = o), + (n[2 * l + 1] = s), + o < d[0] && (d[0] = o), + o > d[2] && (d[2] = o), + s < d[1] && (d[1] = s), + s > d[3] && (d[3] = s); + (this.idToIndex = r), + (this.pointcloudOptions.idToIndex = r), + (this.pointcloudOptions.positions = n); + var v = i(t.marker.color), + g = i(t.marker.border.color), + y = t.opacity * t.marker.opacity; + (v[3] *= y), (this.pointcloudOptions.color = v); + var m = t.marker.blend; + null === m && (m = u.length < 100 || c.length < 100), + (this.pointcloudOptions.blend = m), + (g[3] *= y), + (this.pointcloudOptions.borderColor = g); + var x = t.marker.sizemin, + b = Math.max(t.marker.sizemax, t.marker.sizemin); + (this.pointcloudOptions.sizeMin = x), + (this.pointcloudOptions.sizeMax = b), + (this.pointcloudOptions.areaRatio = + t.marker.border.arearatio), + this.pointcloud.update(this.pointcloudOptions); + var _ = this.scene.xaxis, + w = this.scene.yaxis, + T = b / 2 || 0.5; + (t._extremes[_._id] = a(_, [d[0], d[2]], { ppad: T })), + (t._extremes[w._id] = a(w, [d[1], d[3]], { ppad: T })); + }), + (l.dispose = function () { + this.pointcloud.dispose(); + }), + (t.exports = function (t, e) { + var r = new s(t, e.uid); + return r.update(e), r; + }); + }, + 33876: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(10959); + t.exports = function (t, e, r) { + function a(r, a) { + return n.coerce(t, e, i, r, a); + } + a("x"), + a("y"), + a("xbounds"), + a("ybounds"), + t.xy && t.xy instanceof Float32Array && (e.xy = t.xy), + t.indices && + t.indices instanceof Int32Array && + (e.indices = t.indices), + a("text"), + a("marker.color", r), + a("marker.opacity"), + a("marker.blend"), + a("marker.sizemin"), + a("marker.sizemax"), + a("marker.border.color", r), + a("marker.border.arearatio"), + (e._length = null); + }; + }, + 20593: function (t, e, r) { + "use strict"; + [ + "*pointcloud* trace is deprecated!", + "Please consider switching to the *scattergl* trace type.", + ].join(" "), + (t.exports = { + attributes: r(10959), + supplyDefaults: r(33876), + calc: r(36563), + plot: r(42743), + moduleType: "trace", + name: "pointcloud", + basePlotModule: r(4796), + categories: ["gl", "gl2d", "showLegend"], + meta: {}, + }); + }, + 39953: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(9012), + a = r(22399), + o = r(77914), + s = r(27670).Y, + l = r(5386).fF, + u = r(50693), + c = r(44467).templatedArray, + f = r(12663).descriptionOnlyNumbers, + h = r(1426).extendFlat, + p = r(30962).overrideAll; + (t.exports = p( + { + hoverinfo: h({}, i.hoverinfo, { flags: [], arrayOk: !1 }), + hoverlabel: o.hoverlabel, + domain: s({ name: "sankey", trace: !0 }), + orientation: { + valType: "enumerated", + values: ["v", "h"], + dflt: "h", + }, + valueformat: { + valType: "string", + dflt: ".3s", + description: f("value"), + }, + valuesuffix: { valType: "string", dflt: "" }, + arrangement: { + valType: "enumerated", + values: ["snap", "perpendicular", "freeform", "fixed"], + dflt: "snap", + }, + textfont: n({}), + customdata: void 0, + node: { + label: { valType: "data_array", dflt: [] }, + groups: { + valType: "info_array", + impliedEdits: { x: [], y: [] }, + dimensions: 2, + freeLength: !0, + dflt: [], + items: { valType: "number", editType: "calc" }, + }, + x: { valType: "data_array", dflt: [] }, + y: { valType: "data_array", dflt: [] }, + color: { valType: "color", arrayOk: !0 }, + customdata: { valType: "data_array", editType: "calc" }, + line: { + color: { + valType: "color", + dflt: a.defaultLine, + arrayOk: !0, + }, + width: { + valType: "number", + min: 0, + dflt: 0.5, + arrayOk: !0, + }, + }, + pad: { + valType: "number", + arrayOk: !1, + min: 0, + dflt: 20, + }, + thickness: { + valType: "number", + arrayOk: !1, + min: 1, + dflt: 20, + }, + hoverinfo: { + valType: "enumerated", + values: ["all", "none", "skip"], + dflt: "all", + }, + hoverlabel: o.hoverlabel, + hovertemplate: l({}, { keys: ["value", "label"] }), + }, + link: { + arrowlen: { valType: "number", min: 0, dflt: 0 }, + label: { valType: "data_array", dflt: [] }, + color: { valType: "color", arrayOk: !0 }, + customdata: { valType: "data_array", editType: "calc" }, + line: { + color: { + valType: "color", + dflt: a.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: [] }, + hoverinfo: { + valType: "enumerated", + values: ["all", "none", "skip"], + dflt: "all", + }, + hoverlabel: o.hoverlabel, + hovertemplate: l({}, { keys: ["value", "label"] }), + colorscales: c("concentrationscales", { + editType: "calc", + label: { + valType: "string", + editType: "calc", + dflt: "", + }, + cmax: { + valType: "number", + editType: "calc", + dflt: 1, + }, + cmin: { + valType: "number", + editType: "calc", + dflt: 0, + }, + colorscale: h(u().colorscale, { + dflt: [ + [0, "white"], + [1, "black"], + ], + }), + }), + }, + }, + "calc", + "nested", + )).transforms = void 0; + }, + 75536: function (t, e, r) { + "use strict"; + var n = r(30962).overrideAll, + i = r(27659).a0, + a = r(60436), + o = r(528), + s = r(6964), + l = r(28569), + u = r(47322).prepSelect, + c = r(71828), + f = r(73972), + h = "sankey"; + function p(t, e) { + var r = t._fullData[e], + n = t._fullLayout, + i = n.dragmode, + a = "pan" === n.dragmode ? "move" : "crosshair", + o = r._bgRect; + if (o && "pan" !== i && "zoom" !== i) { + s(o, a); + var h = { + _id: "x", + c2p: c.identity, + _offset: r._sankey.translateX, + _length: r._sankey.width, + }, + p = { + _id: "y", + c2p: c.identity, + _offset: r._sankey.translateY, + _length: r._sankey.height, + }, + d = { + gd: t, + element: o.node(), + plotinfo: { + id: e, + xaxis: h, + yaxis: p, + fillRangeItems: c.noop, + }, + subplot: e, + xaxes: [h], + yaxes: [p], + doneFnCompleted: function (r) { + var n, + i = t._fullData[e], + a = i.node.groups.slice(), + o = []; + function s(t) { + for ( + var e = i._sankey.graph.nodes, r = 0; + r < e.length; + r++ + ) + if (e[r].pointNumber === t) return e[r]; + } + for (var l = 0; l < r.length; l++) { + var u = s(r[l].pointNumber); + if (u) + if (u.group) { + for ( + var c = 0; + c < u.childrenNodes.length; + c++ + ) + o.push(u.childrenNodes[c].pointNumber); + a[u.pointNumber - i.node._count] = !1; + } else o.push(u.pointNumber); + } + (n = a.filter(Boolean).concat([o])), + f.call( + "_guiRestyle", + t, + { "node.groups": [n] }, + e, + ); + }, + prepFn: function (t, e, r) { + u(t, e, r, d, i); + }, + }; + l.init(d); + } + } + (e.name = h), + (e.baseLayoutAttrOverrides = n( + { hoverlabel: o.hoverlabel }, + "plot", + "nested", + )), + (e.plot = function (t) { + var r = i(t.calcdata, h)[0]; + a(t, r), e.updateFx(t); + }), + (e.clean = function (t, e, r, n) { + var i = n._has && n._has(h), + a = e._has && e._has(h); + i && + !a && + (n._paperdiv.selectAll(".sankey").remove(), + n._paperdiv.selectAll(".bgsankey").remove()); + }), + (e.updateFx = function (t) { + for (var e = 0; e < t._fullData.length; e++) p(t, e); + }); + }, + 92930: function (t, e, r) { + "use strict"; + var n = r(68664), + i = r(71828), + a = r(28984).wrap, + o = i.isArrayOrTypedArray, + s = i.isIndex, + l = r(21081); + t.exports = function (t, e) { + var r = (function (t) { + var e, + r = t.node, + a = t.link, + u = [], + c = o(a.color), + f = o(a.customdata), + h = {}, + p = {}, + d = a.colorscales.length; + for (e = 0; e < d; e++) { + var v = a.colorscales[e], + g = l.extractScale(v, { cLetter: "c" }), + y = l.makeColorScaleFunc(g); + p[v.label] = y; + } + var m = 0; + for (e = 0; e < a.value.length; e++) + a.source[e] > m && (m = a.source[e]), + a.target[e] > m && (m = a.target[e]); + var x, + b = m + 1; + t.node._count = b; + var _ = t.node.groups, + w = {}; + for (e = 0; e < _.length; e++) { + var T = _[e]; + for (x = 0; x < T.length; x++) { + var k = T[x], + A = b + e; + w.hasOwnProperty(k) + ? i.warn( + "Node " + k + " is already part of a group.", + ) + : (w[k] = A); + } + } + var M = { source: [], target: [] }; + for (e = 0; e < a.value.length; e++) { + var S = a.value[e], + E = a.source[e], + L = a.target[e]; + if ( + S > 0 && + s(E, b) && + s(L, b) && + (!w.hasOwnProperty(E) || + !w.hasOwnProperty(L) || + w[E] !== w[L]) + ) { + w.hasOwnProperty(L) && (L = w[L]), + w.hasOwnProperty(E) && (E = w[E]), + (L = +L), + (h[(E = +E)] = h[L] = !0); + var C = ""; + a.label && a.label[e] && (C = a.label[e]); + var P = null; + C && p.hasOwnProperty(C) && (P = p[C]), + u.push({ + pointNumber: e, + label: C, + color: c ? a.color[e] : a.color, + customdata: f ? a.customdata[e] : a.customdata, + concentrationscale: P, + source: E, + target: L, + value: +S, + }), + M.source.push(E), + M.target.push(L); + } + } + var O = b + _.length, + I = o(r.color), + D = o(r.customdata), + z = []; + for (e = 0; e < O; e++) + if (h[e]) { + var R = r.label[e]; + z.push({ + group: e > b - 1, + childrenNodes: [], + pointNumber: e, + label: R, + color: I ? r.color[e] : r.color, + customdata: D ? r.customdata[e] : r.customdata, + }); + } + var F = !1; + return ( + (function (t, e, r) { + for ( + var a = i.init2dArray(t, 0), o = 0; + o < Math.min(e.length, r.length); + o++ + ) + if (i.isIndex(e[o], t) && i.isIndex(r[o], t)) { + if (e[o] === r[o]) return !0; + a[e[o]].push(r[o]); + } + return n(a).components.some(function (t) { + return t.length > 1; + }); + })(O, M.source, M.target) && (F = !0), + { + circular: F, + links: u, + nodes: z, + groups: _, + groupLookup: w, + } + ); + })(e); + return a({ + circular: r.circular, + _nodes: r.nodes, + _links: r.links, + _groups: r.groups, + _groupLookup: r.groupLookup, + }); + }; + }, + 85247: function (t) { + "use strict"; + t.exports = { + nodeTextOffsetHorizontal: 4, + nodeTextOffsetVertical: 3, + nodePadAcross: 10, + sankeyIterations: 50, + forceIterations: 5, + forceTicksPerFrame: 10, + duration: 500, + ease: "linear", + cn: { + sankey: "sankey", + sankeyLinks: "sankey-links", + sankeyLink: "sankey-link", + sankeyNodeSet: "sankey-node-set", + sankeyNode: "sankey-node", + nodeRect: "node-rect", + nodeLabel: "node-label", + }, + }; + }, + 26857: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(39953), + a = r(7901), + o = r(84267), + s = r(27670).c, + l = r(38048), + u = r(44467), + c = r(85501); + function f(t, e) { + function r(r, a) { + return n.coerce(t, e, i.link.colorscales, r, a); + } + r("label"), r("cmin"), r("cmax"), r("colorscale"); + } + t.exports = function (t, e, r, h) { + function p(r, a) { + return n.coerce(t, e, i, r, a); + } + var d = n.extendDeep(h.hoverlabel, t.hoverlabel), + v = t.node, + g = u.newContainer(e, "node"); + function y(t, e) { + return n.coerce(v, g, i.node, t, e); + } + y("label"), + y("groups"), + y("x"), + y("y"), + y("pad"), + y("thickness"), + y("line.color"), + y("line.width"), + y("hoverinfo", t.hoverinfo), + l(v, g, y, d), + y("hovertemplate"); + var m = h.colorway; + y( + "color", + g.label.map(function (t, e) { + return a.addOpacity( + (function (t) { + return m[t % m.length]; + })(e), + 0.8, + ); + }), + ), + y("customdata"); + var x = t.link || {}, + b = u.newContainer(e, "link"); + function _(t, e) { + return n.coerce(x, b, i.link, t, e); + } + _("label"), + _("arrowlen"), + _("source"), + _("target"), + _("value"), + _("line.color"), + _("line.width"), + _("hoverinfo", t.hoverinfo), + l(x, b, _, d), + _("hovertemplate"); + var w, + T = + o(h.paper_bgcolor).getLuminance() < 0.333 + ? "rgba(255, 255, 255, 0.6)" + : "rgba(0, 0, 0, 0.2)"; + _("color", n.repeat(T, b.value.length)), + _("customdata"), + c(x, b, { name: "colorscales", handleItemDefaults: f }), + s(e, h, p), + p("orientation"), + p("valueformat"), + p("valuesuffix"), + g.x.length && g.y.length && (w = "freeform"), + p("arrangement", w), + n.coerceFont(p, "textfont", n.extendFlat({}, h.font)), + (e._length = null); + }; + }, + 29396: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(39953), + supplyDefaults: r(26857), + calc: r(92930), + plot: r(60436), + moduleType: "trace", + name: "sankey", + basePlotModule: r(75536), + selectPoints: r(84564), + categories: ["noOpacity"], + meta: {}, + }; + }, + 60436: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = i.numberFormat, + o = r(3393), + s = r(30211), + l = r(7901), + u = r(85247).cn, + c = i._; + function f(t) { + return "" !== t; + } + function h(t, e) { + return t.filter(function (t) { + return t.key === e.traceId; + }); + } + function p(t, e) { + n.select(t).select("path").style("fill-opacity", e), + n.select(t).select("rect").style("fill-opacity", e); + } + function d(t) { + n.select(t).select("text.name").style("fill", "black"); + } + function v(t) { + return function (e) { + return ( + -1 !== t.node.sourceLinks.indexOf(e.link) || + -1 !== t.node.targetLinks.indexOf(e.link) + ); + }; + } + function g(t) { + return function (e) { + return ( + -1 !== e.node.sourceLinks.indexOf(t.link) || + -1 !== e.node.targetLinks.indexOf(t.link) + ); + }; + } + function y(t, e, r) { + e && + r && + h(r, e) + .selectAll("." + u.sankeyLink) + .filter(v(e)) + .call(x.bind(0, e, r, !1)); + } + function m(t, e, r) { + e && + r && + h(r, e) + .selectAll("." + u.sankeyLink) + .filter(v(e)) + .call(b.bind(0, e, r, !1)); + } + function x(t, e, r, n) { + var i = n.datum().link.label; + n.style("fill-opacity", function (t) { + if (!t.link.concentrationscale) return 0.4; + }), + i && + h(e, t) + .selectAll("." + u.sankeyLink) + .filter(function (t) { + return t.link.label === i; + }) + .style("fill-opacity", function (t) { + if (!t.link.concentrationscale) return 0.4; + }), + r && + h(e, t) + .selectAll("." + u.sankeyNode) + .filter(g(t)) + .call(y); + } + function b(t, e, r, n) { + var i = n.datum().link.label; + n.style("fill-opacity", function (t) { + return t.tinyColorAlpha; + }), + i && + h(e, t) + .selectAll("." + u.sankeyLink) + .filter(function (t) { + return t.link.label === i; + }) + .style("fill-opacity", function (t) { + return t.tinyColorAlpha; + }), + r && h(e, t).selectAll(u.sankeyNode).filter(g(t)).call(m); + } + function _(t, e) { + var r = t.hoverlabel || {}, + n = i.nestedProperty(r, e).get(); + return !Array.isArray(n) && n; + } + t.exports = function (t, e) { + for ( + var r = t._fullLayout, i = r._paper, h = r._size, v = 0; + v < t._fullData.length; + v++ + ) + if ( + t._fullData[v].visible && + t._fullData[v].type === u.sankey && + !t._fullData[v]._viewInitial + ) { + var g = t._fullData[v].node; + t._fullData[v]._viewInitial = { + node: { + groups: g.groups.slice(), + x: g.x.slice(), + y: g.y.slice(), + }, + }; + } + var w = c(t, "source:") + " ", + T = c(t, "target:") + " ", + k = c(t, "concentration:") + " ", + A = c(t, "incoming flow count:") + " ", + M = c(t, "outgoing flow count:") + " "; + o( + t, + i, + e, + { + width: h.w, + height: h.h, + margin: { t: h.t, r: h.r, b: h.b, l: h.l }, + }, + { + linkEvents: { + hover: function (e, r, i) { + !1 !== t._fullLayout.hovermode && + (n.select(e).call(x.bind(0, r, i, !0)), + "skip" !== r.link.trace.link.hoverinfo && + ((r.link.fullData = r.link.trace), + t.emit("plotly_hover", { + event: n.event, + points: [r.link], + }))); + }, + follow: function (e, i) { + if (!1 !== t._fullLayout.hovermode) { + var o = i.link.trace.link; + if ( + "none" !== o.hoverinfo && + "skip" !== o.hoverinfo + ) { + for ( + var u = [], c = 0, h = 0; + h < i.flow.links.length; + h++ + ) { + var v = i.flow.links[h]; + if ( + "closest" !== t._fullLayout.hovermode || + i.link.pointNumber === v.pointNumber + ) { + i.link.pointNumber === v.pointNumber && + (c = h), + (v.fullData = v.trace), + (o = i.link.trace.link); + var g = m(v), + y = { + valueLabel: + a(i.valueFormat)(v.value) + + i.valueSuffix, + }; + u.push({ + x: g[0], + y: g[1], + name: y.valueLabel, + text: [ + v.label || "", + w + v.source.label, + T + v.target.label, + v.concentrationscale + ? k + + a("%0.2f")( + v.flow.labelConcentration, + ) + : "", + ] + .filter(f) + .join("
"), + color: + _(o, "bgcolor") || + l.addOpacity(v.color, 1), + borderColor: _(o, "bordercolor"), + fontFamily: _(o, "font.family"), + fontSize: _(o, "font.size"), + fontColor: _(o, "font.color"), + nameLength: _(o, "namelength"), + textAlign: _(o, "align"), + idealAlign: + n.event.x < g[0] ? "right" : "left", + hovertemplate: o.hovertemplate, + hovertemplateLabels: y, + eventData: [v], + }); + } + } + s.loneHover(u, { + container: r._hoverlayer.node(), + outerContainer: r._paper.node(), + gd: t, + anchorIndex: c, + }).each(function () { + i.link.concentrationscale || p(this, 0.65), + d(this); + }); + } + } + function m(t) { + var e, r; + t.circular + ? ((e = + (t.circularPathData.leftInnerExtent + + t.circularPathData.rightInnerExtent) / + 2), + (r = t.circularPathData.verticalFullExtent)) + : ((e = (t.source.x1 + t.target.x0) / 2), + (r = (t.y0 + t.y1) / 2)); + var n = [e, r]; + return ( + "v" === t.trace.orientation && n.reverse(), + (n[0] += i.parent.translateX), + (n[1] += i.parent.translateY), + n + ); + } + }, + unhover: function (e, i, a) { + !1 !== t._fullLayout.hovermode && + (n.select(e).call(b.bind(0, i, a, !0)), + "skip" !== i.link.trace.link.hoverinfo && + ((i.link.fullData = i.link.trace), + t.emit("plotly_unhover", { + event: n.event, + points: [i.link], + })), + s.loneUnhover(r._hoverlayer.node())); + }, + select: function (e, r) { + var i = r.link; + (i.originalEvent = n.event), + (t._hoverdata = [i]), + s.click(t, { target: !0 }); + }, + }, + nodeEvents: { + hover: function (e, r, i) { + !1 !== t._fullLayout.hovermode && + (n.select(e).call(y, r, i), + "skip" !== r.node.trace.node.hoverinfo && + ((r.node.fullData = r.node.trace), + t.emit("plotly_hover", { + event: n.event, + points: [r.node], + }))); + }, + follow: function (e, i) { + if (!1 !== t._fullLayout.hovermode) { + var o = i.node.trace.node; + if ( + "none" !== o.hoverinfo && + "skip" !== o.hoverinfo + ) { + var l = n.select(e).select("." + u.nodeRect), + c = t._fullLayout._paperdiv + .node() + .getBoundingClientRect(), + h = l.node().getBoundingClientRect(), + v = h.left - 2 - c.left, + g = h.right + 2 - c.left, + y = h.top + h.height / 4 - c.top, + m = { + valueLabel: + a(i.valueFormat)(i.node.value) + + i.valueSuffix, + }; + (i.node.fullData = i.node.trace), + t._fullLayout._calcInverseTransform(t); + var x = t._fullLayout._invScaleX, + b = t._fullLayout._invScaleY, + w = s.loneHover( + { + x0: x * v, + x1: x * g, + y: b * y, + name: + a(i.valueFormat)(i.node.value) + + i.valueSuffix, + text: [ + i.node.label, + A + i.node.targetLinks.length, + M + i.node.sourceLinks.length, + ] + .filter(f) + .join("
"), + color: _(o, "bgcolor") || i.tinyColorHue, + borderColor: _(o, "bordercolor"), + fontFamily: _(o, "font.family"), + fontSize: _(o, "font.size"), + fontColor: _(o, "font.color"), + nameLength: _(o, "namelength"), + textAlign: _(o, "align"), + idealAlign: "left", + hovertemplate: o.hovertemplate, + hovertemplateLabels: m, + eventData: [i.node], + }, + { + container: r._hoverlayer.node(), + outerContainer: r._paper.node(), + gd: t, + }, + ); + p(w, 0.85), d(w); + } + } + }, + unhover: function (e, i, a) { + !1 !== t._fullLayout.hovermode && + (n.select(e).call(m, i, a), + "skip" !== i.node.trace.node.hoverinfo && + ((i.node.fullData = i.node.trace), + t.emit("plotly_unhover", { + event: n.event, + points: [i.node], + })), + s.loneUnhover(r._hoverlayer.node())); + }, + select: function (e, r, i) { + var a = r.node; + (a.originalEvent = n.event), + (t._hoverdata = [a]), + n.select(e).call(m, r, i), + s.click(t, { target: !0 }); + }, + }, + }, + ); + }; + }, + 3393: function (t, e, r) { + "use strict"; + var n = r(49887), + i = r(81684).k4, + a = r(39898), + o = r(30838), + s = r(86781), + l = r(85247), + u = r(84267), + c = r(7901), + f = r(91424), + h = r(71828), + p = h.strTranslate, + d = h.strRotate, + v = r(28984), + g = v.keyFun, + y = v.repeat, + m = v.unwrap, + x = r(63893), + b = r(73972), + _ = r(18783), + w = _.CAP_SHIFT, + T = _.LINE_SPACING; + function k(t, e, r) { + var n, + i = m(e), + a = i.trace, + c = a.domain, + f = "h" === a.orientation, + p = a.node.pad, + d = a.node.thickness, + v = t.width * (c.x[1] - c.x[0]), + g = t.height * (c.y[1] - c.y[0]), + y = i._nodes, + x = i._links, + b = i.circular; + (n = b ? s.sankeyCircular().circularLinkGap(0) : o.sankey()) + .iterations(l.sankeyIterations) + .size(f ? [v, g] : [g, v]) + .nodeWidth(d) + .nodePadding(p) + .nodeId(function (t) { + return t.pointNumber; + }) + .nodes(y) + .links(x); + var _, + w, + T, + k = n(); + for (var A in (n.nodePadding() < p && + h.warn( + "node.pad was reduced to ", + n.nodePadding(), + " to fit within the figure.", + ), + i._groupLookup)) { + var M, + S = parseInt(i._groupLookup[A]); + for (_ = 0; _ < k.nodes.length; _++) + if (k.nodes[_].pointNumber === S) { + M = k.nodes[_]; + break; + } + if (M) { + var E = { + pointNumber: parseInt(A), + x0: M.x0, + x1: M.x1, + y0: M.y0, + y1: M.y1, + partOfGroup: !0, + sourceLinks: [], + targetLinks: [], + }; + k.nodes.unshift(E), M.childrenNodes.unshift(E); + } + } + if ( + ((function () { + for (_ = 0; _ < k.nodes.length; _++) { + var t, + e, + r = k.nodes[_], + n = {}; + for (w = 0; w < r.targetLinks.length; w++) + (t = + (e = r.targetLinks[w]).source.pointNumber + + ":" + + e.target.pointNumber), + n.hasOwnProperty(t) || (n[t] = []), + n[t].push(e); + var i = Object.keys(n); + for (w = 0; w < i.length; w++) { + var a = n[(t = i[w])], + o = 0, + s = {}; + for (T = 0; T < a.length; T++) + s[(e = a[T]).label] || (s[e.label] = 0), + (s[e.label] += e.value), + (o += e.value); + for (T = 0; T < a.length; T++) + ((e = a[T]).flow = { + value: o, + labelConcentration: s[e.label] / o, + concentration: e.value / o, + links: a, + }), + e.concentrationscale && + (e.color = u( + e.concentrationscale( + e.flow.labelConcentration, + ), + )); + } + var l = 0; + for (w = 0; w < r.sourceLinks.length; w++) + l += r.sourceLinks[w].value; + for (w = 0; w < r.sourceLinks.length; w++) + (e = r.sourceLinks[w]).concentrationOut = + e.value / l; + var c = 0; + for (w = 0; w < r.targetLinks.length; w++) + c += r.targetLinks[w].value; + for (w = 0; w < r.targetLinks.length; w++) + (e = r.targetLinks[w]).concenrationIn = e.value / c; + } + })(), + a.node.x.length && a.node.y.length) + ) { + for ( + _ = 0; + _ < + Math.min( + a.node.x.length, + a.node.y.length, + k.nodes.length, + ); + _++ + ) + if (a.node.x[_] && a.node.y[_]) { + var L = [a.node.x[_] * v, a.node.y[_] * g]; + (k.nodes[_].x0 = L[0] - d / 2), + (k.nodes[_].x1 = L[0] + d / 2); + var C = k.nodes[_].y1 - k.nodes[_].y0; + (k.nodes[_].y0 = L[1] - C / 2), + (k.nodes[_].y1 = L[1] + C / 2); + } + "snap" === a.arrangement && + (function (t) { + var e, + r, + n = t + .map(function (t, e) { + return { x0: t.x0, index: e }; + }) + .sort(function (t, e) { + return t.x0 - e.x0; + }), + i = [], + a = -1, + o = -1 / 0; + for (_ = 0; _ < n.length; _++) { + var s = t[n[_].index]; + s.x0 > o + d && ((a += 1), (e = s.x0)), + (o = s.x0), + i[a] || (i[a] = []), + i[a].push(s), + (r = e - s.x0), + (s.x0 += r), + (s.x1 += r); + } + return i; + })((y = k.nodes)).forEach(function (t) { + var e, + r, + n, + i = 0, + a = t.length; + for ( + t.sort(function (t, e) { + return t.y0 - e.y0; + }), + n = 0; + n < a; + ++n + ) + (e = t[n]).y0 >= i || + ((r = i - e.y0) > 1e-6 && + ((e.y0 += r), (e.y1 += r))), + (i = e.y1 + p); + }), + n.update(k); + } + return { + circular: b, + key: r, + trace: a, + guid: h.randstr(), + horizontal: f, + width: v, + height: g, + nodePad: a.node.pad, + nodeLineColor: a.node.line.color, + nodeLineWidth: a.node.line.width, + linkLineColor: a.link.line.color, + linkLineWidth: a.link.line.width, + linkArrowLength: a.link.arrowlen, + valueFormat: a.valueformat, + valueSuffix: a.valuesuffix, + textFont: a.textfont, + translateX: c.x[0] * t.width + t.margin.l, + translateY: t.height - c.y[1] * t.height + t.margin.t, + dragParallel: f ? g : v, + dragPerpendicular: f ? v : g, + arrangement: a.arrangement, + sankey: n, + graph: k, + forceLayouts: {}, + interactionState: { dragInProgress: !1, hovered: !1 }, + }; + } + function A(t, e, r) { + var n = u(e.color), + i = e.source.label + "|" + e.target.label + "__" + r; + return ( + (e.trace = t.trace), + (e.curveNumber = t.trace.index), + { + circular: t.circular, + key: i, + traceId: t.key, + pointNumber: e.pointNumber, + link: e, + tinyColorHue: c.tinyRGB(n), + tinyColorAlpha: n.getAlpha(), + linkPath: M, + linkLineColor: t.linkLineColor, + linkLineWidth: t.linkLineWidth, + linkArrowLength: t.linkArrowLength, + valueFormat: t.valueFormat, + valueSuffix: t.valueSuffix, + sankey: t.sankey, + parent: t, + interactionState: t.interactionState, + flow: e.flow, + } + ); + } + function M() { + return function (t) { + var e = t.linkArrowLength; + if (t.link.circular) + return (function (t, e) { + var r = t.width / 2, + n = t.circularPathData; + return "top" === t.circularLinkType + ? "M " + + (n.targetX - e) + + " " + + (n.targetY + r) + + " L" + + (n.rightInnerExtent - e) + + " " + + (n.targetY + r) + + "A" + + (n.rightLargeArcRadius + r) + + " " + + (n.rightSmallArcRadius + r) + + " 0 0 1 " + + (n.rightFullExtent - r - e) + + " " + + (n.targetY - n.rightSmallArcRadius) + + "L" + + (n.rightFullExtent - r - e) + + " " + + n.verticalRightInnerExtent + + "A" + + (n.rightLargeArcRadius + r) + + " " + + (n.rightLargeArcRadius + r) + + " 0 0 1 " + + (n.rightInnerExtent - e) + + " " + + (n.verticalFullExtent - r) + + "L" + + n.leftInnerExtent + + " " + + (n.verticalFullExtent - r) + + "A" + + (n.leftLargeArcRadius + r) + + " " + + (n.leftLargeArcRadius + r) + + " 0 0 1 " + + (n.leftFullExtent + r) + + " " + + n.verticalLeftInnerExtent + + "L" + + (n.leftFullExtent + r) + + " " + + (n.sourceY - n.leftSmallArcRadius) + + "A" + + (n.leftLargeArcRadius + r) + + " " + + (n.leftSmallArcRadius + r) + + " 0 0 1 " + + n.leftInnerExtent + + " " + + (n.sourceY + r) + + "L" + + n.sourceX + + " " + + (n.sourceY + r) + + "L" + + n.sourceX + + " " + + (n.sourceY - r) + + "L" + + n.leftInnerExtent + + " " + + (n.sourceY - r) + + "A" + + (n.leftLargeArcRadius - r) + + " " + + (n.leftSmallArcRadius - r) + + " 0 0 0 " + + (n.leftFullExtent - r) + + " " + + (n.sourceY - n.leftSmallArcRadius) + + "L" + + (n.leftFullExtent - r) + + " " + + n.verticalLeftInnerExtent + + "A" + + (n.leftLargeArcRadius - r) + + " " + + (n.leftLargeArcRadius - r) + + " 0 0 0 " + + n.leftInnerExtent + + " " + + (n.verticalFullExtent + r) + + "L" + + (n.rightInnerExtent - e) + + " " + + (n.verticalFullExtent + r) + + "A" + + (n.rightLargeArcRadius - r) + + " " + + (n.rightLargeArcRadius - r) + + " 0 0 0 " + + (n.rightFullExtent + r - e) + + " " + + n.verticalRightInnerExtent + + "L" + + (n.rightFullExtent + r - e) + + " " + + (n.targetY - n.rightSmallArcRadius) + + "A" + + (n.rightLargeArcRadius - r) + + " " + + (n.rightSmallArcRadius - r) + + " 0 0 0 " + + (n.rightInnerExtent - e) + + " " + + (n.targetY - r) + + "L" + + (n.targetX - e) + + " " + + (n.targetY - r) + + (e > 0 + ? "L" + n.targetX + " " + n.targetY + : "") + + "Z" + : "M " + + (n.targetX - e) + + " " + + (n.targetY - r) + + " L" + + (n.rightInnerExtent - e) + + " " + + (n.targetY - r) + + "A" + + (n.rightLargeArcRadius + r) + + " " + + (n.rightSmallArcRadius + r) + + " 0 0 0 " + + (n.rightFullExtent - r - e) + + " " + + (n.targetY + n.rightSmallArcRadius) + + "L" + + (n.rightFullExtent - r - e) + + " " + + n.verticalRightInnerExtent + + "A" + + (n.rightLargeArcRadius + r) + + " " + + (n.rightLargeArcRadius + r) + + " 0 0 0 " + + (n.rightInnerExtent - e) + + " " + + (n.verticalFullExtent + r) + + "L" + + n.leftInnerExtent + + " " + + (n.verticalFullExtent + r) + + "A" + + (n.leftLargeArcRadius + r) + + " " + + (n.leftLargeArcRadius + r) + + " 0 0 0 " + + (n.leftFullExtent + r) + + " " + + n.verticalLeftInnerExtent + + "L" + + (n.leftFullExtent + r) + + " " + + (n.sourceY + n.leftSmallArcRadius) + + "A" + + (n.leftLargeArcRadius + r) + + " " + + (n.leftSmallArcRadius + r) + + " 0 0 0 " + + n.leftInnerExtent + + " " + + (n.sourceY - r) + + "L" + + n.sourceX + + " " + + (n.sourceY - r) + + "L" + + n.sourceX + + " " + + (n.sourceY + r) + + "L" + + n.leftInnerExtent + + " " + + (n.sourceY + r) + + "A" + + (n.leftLargeArcRadius - r) + + " " + + (n.leftSmallArcRadius - r) + + " 0 0 1 " + + (n.leftFullExtent - r) + + " " + + (n.sourceY + n.leftSmallArcRadius) + + "L" + + (n.leftFullExtent - r) + + " " + + n.verticalLeftInnerExtent + + "A" + + (n.leftLargeArcRadius - r) + + " " + + (n.leftLargeArcRadius - r) + + " 0 0 1 " + + n.leftInnerExtent + + " " + + (n.verticalFullExtent - r) + + "L" + + (n.rightInnerExtent - e) + + " " + + (n.verticalFullExtent - r) + + "A" + + (n.rightLargeArcRadius - r) + + " " + + (n.rightLargeArcRadius - r) + + " 0 0 1 " + + (n.rightFullExtent + r - e) + + " " + + n.verticalRightInnerExtent + + "L" + + (n.rightFullExtent + r - e) + + " " + + (n.targetY + n.rightSmallArcRadius) + + "A" + + (n.rightLargeArcRadius - r) + + " " + + (n.rightSmallArcRadius - r) + + " 0 0 1 " + + (n.rightInnerExtent - e) + + " " + + (n.targetY + r) + + "L" + + (n.targetX - e) + + " " + + (n.targetY + r) + + (e > 0 + ? "L" + n.targetX + " " + n.targetY + : "") + + "Z"; + })(t.link, e); + var r = Math.abs( + (t.link.target.x0 - t.link.source.x1) / 2, + ); + e > r && (e = r); + var n = t.link.source.x1, + a = t.link.target.x0 - e, + o = i(n, a), + s = o(0.5), + l = o(0.5), + u = t.link.y0 - t.link.width / 2, + c = t.link.y0 + t.link.width / 2, + f = t.link.y1 - t.link.width / 2, + h = t.link.y1 + t.link.width / 2, + p = "M" + n + "," + u, + d = + "C" + + s + + "," + + u + + " " + + l + + "," + + f + + " " + + a + + "," + + f, + v = + "C" + + l + + "," + + h + + " " + + s + + "," + + c + + " " + + n + + "," + + c, + g = + e > 0 + ? "L" + (a + e) + "," + (f + t.link.width / 2) + : ""; + return p + d + (g += "L" + a + "," + h) + v + "Z"; + }; + } + function S(t, e) { + var r = u(e.color), + n = l.nodePadAcross, + i = t.nodePad / 2; + (e.dx = e.x1 - e.x0), (e.dy = e.y1 - e.y0); + var a = e.dx, + o = Math.max(0.5, e.dy), + s = "node_" + e.pointNumber; + return ( + e.group && (s = h.randstr()), + (e.trace = t.trace), + (e.curveNumber = t.trace.index), + { + index: e.pointNumber, + key: s, + partOfGroup: e.partOfGroup || !1, + group: e.group, + traceId: t.key, + trace: t.trace, + node: e, + nodePad: t.nodePad, + nodeLineColor: t.nodeLineColor, + nodeLineWidth: t.nodeLineWidth, + textFont: t.textFont, + size: t.horizontal ? t.height : t.width, + visibleWidth: Math.ceil(a), + visibleHeight: o, + zoneX: -n, + zoneY: -i, + zoneWidth: a + 2 * n, + zoneHeight: o + 2 * i, + labelY: t.horizontal ? e.dy / 2 + 1 : e.dx / 2 + 1, + left: 1 === e.originalLayer, + sizeAcross: t.width, + forceLayouts: t.forceLayouts, + horizontal: t.horizontal, + darkBackground: r.getBrightness() <= 128, + tinyColorHue: c.tinyRGB(r), + tinyColorAlpha: r.getAlpha(), + valueFormat: t.valueFormat, + valueSuffix: t.valueSuffix, + sankey: t.sankey, + graph: t.graph, + arrangement: t.arrangement, + uniqueNodeLabelPathId: [t.guid, t.key, s].join("_"), + interactionState: t.interactionState, + figure: t, + } + ); + } + function E(t) { + t.attr("transform", function (t) { + return p(t.node.x0.toFixed(3), t.node.y0.toFixed(3)); + }); + } + function L(t) { + t.call(E); + } + function C(t, e) { + t.call(L), e.attr("d", M()); + } + function P(t) { + t.attr("width", function (t) { + return t.node.x1 - t.node.x0; + }).attr("height", function (t) { + return t.visibleHeight; + }); + } + function O(t) { + return t.link.width > 1 || t.linkLineWidth > 0; + } + function I(t) { + return ( + p(t.translateX, t.translateY) + + (t.horizontal + ? "matrix(1 0 0 1 0 0)" + : "matrix(0 1 1 0 0 0)") + ); + } + function D(t, e, r) { + t.on(".basic", null) + .on("mouseover.basic", function (t) { + t.interactionState.dragInProgress || + t.partOfGroup || + (r.hover(this, t, e), + (t.interactionState.hovered = [this, t])); + }) + .on("mousemove.basic", function (t) { + t.interactionState.dragInProgress || + t.partOfGroup || + (r.follow(this, t), + (t.interactionState.hovered = [this, t])); + }) + .on("mouseout.basic", function (t) { + t.interactionState.dragInProgress || + t.partOfGroup || + (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 || + t.partOfGroup || + r.select(this, t, e); + }); + } + function z(t, e, r, i) { + var o = a.behavior + .drag() + .origin(function (t) { + return { + x: t.node.x0 + t.visibleWidth / 2, + y: t.node.y0 + t.visibleHeight / 2, + }; + }) + .on("dragstart", function (a) { + if ( + "fixed" !== a.arrangement && + (h.ensureSingle( + i._fullLayout._infolayer, + "g", + "dragcover", + function (t) { + i._fullLayout._dragCover = t; + }, + ), + h.raiseToTop(this), + (a.interactionState.dragInProgress = a.node), + F(a.node), + a.interactionState.hovered && + (r.nodeEvents.unhover.apply( + 0, + a.interactionState.hovered, + ), + (a.interactionState.hovered = !1)), + "snap" === a.arrangement) + ) { + var o = a.traceId + "|" + a.key; + a.forceLayouts[o] + ? a.forceLayouts[o].alpha(1) + : (function (t, e, r, i) { + !(function (t) { + for (var e = 0; e < t.length; e++) + (t[e].y = (t[e].y0 + t[e].y1) / 2), + (t[e].x = (t[e].x0 + t[e].x1) / 2); + })(r.graph.nodes); + var a = r.graph.nodes + .filter(function (t) { + return t.originalX === r.node.originalX; + }) + .filter(function (t) { + return !t.partOfGroup; + }); + r.forceLayouts[e] = n + .forceSimulation(a) + .alphaDecay(0) + .force( + "collide", + n + .forceCollide() + .radius(function (t) { + return t.dy / 2 + r.nodePad / 2; + }) + .strength(1) + .iterations(l.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) / + l.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 < 0.1 && + n.forceLayouts[e].alpha() > 0 && + n.forceLayouts[e].alpha(0); + }; + })(0, e, a, r), + ) + .stop(); + })(0, o, a), + (function (t, e, r, n, i) { + window.requestAnimationFrame(function a() { + var o; + for (o = 0; o < l.forceTicksPerFrame; o++) + r.forceLayouts[n].tick(); + if ( + ((function (t) { + for (var e = 0; e < t.length; e++) + (t[e].y0 = t[e].y - t[e].dy / 2), + (t[e].y1 = t[e].y0 + t[e].dy), + (t[e].x0 = t[e].x - t[e].dx / 2), + (t[e].x1 = t[e].x0 + t[e].dx); + })(r.graph.nodes), + r.sankey.update(r.graph), + C(t.filter(B(r)), e), + r.forceLayouts[n].alpha() > 0) + ) + window.requestAnimationFrame(a); + else { + var s = r.node.originalX; + (r.node.x0 = s - r.visibleWidth / 2), + (r.node.x1 = s + r.visibleWidth / 2), + R(r, i); + } + }); + })(t, e, a, o, i); + } + }) + .on("drag", function (r) { + if ("fixed" !== r.arrangement) { + var n = a.event.x, + i = a.event.y; + "snap" === r.arrangement + ? ((r.node.x0 = n - r.visibleWidth / 2), + (r.node.x1 = n + r.visibleWidth / 2), + (r.node.y0 = i - r.visibleHeight / 2), + (r.node.y1 = i + r.visibleHeight / 2)) + : ("freeform" === r.arrangement && + ((r.node.x0 = n - r.visibleWidth / 2), + (r.node.x1 = n + r.visibleWidth / 2)), + (i = Math.max( + 0, + Math.min(r.size - r.visibleHeight / 2, i), + )), + (r.node.y0 = i - r.visibleHeight / 2), + (r.node.y1 = i + r.visibleHeight / 2)), + F(r.node), + "snap" !== r.arrangement && + (r.sankey.update(r.graph), C(t.filter(B(r)), e)); + } + }) + .on("dragend", function (t) { + if ("fixed" !== t.arrangement) { + t.interactionState.dragInProgress = !1; + for (var e = 0; e < t.node.childrenNodes.length; e++) + (t.node.childrenNodes[e].x = t.node.x), + (t.node.childrenNodes[e].y = t.node.y); + "snap" !== t.arrangement && R(t, i); + } + }); + t.on(".drag", null).call(o); + } + function R(t, e) { + for ( + var r = [], n = [], i = 0; + i < t.graph.nodes.length; + i++ + ) { + var a = (t.graph.nodes[i].x0 + t.graph.nodes[i].x1) / 2, + o = (t.graph.nodes[i].y0 + t.graph.nodes[i].y1) / 2; + r.push(a / t.figure.width), n.push(o / t.figure.height); + } + b.call( + "_guiRestyle", + e, + { "node.x": [r], "node.y": [n] }, + t.trace.index, + ).then(function () { + e._fullLayout._dragCover && + e._fullLayout._dragCover.remove(); + }); + } + function F(t) { + (t.lastDraggedX = t.x0 + t.dx / 2), + (t.lastDraggedY = t.y0 + t.dy / 2); + } + function B(t) { + return function (e) { + return e.node.originalX === t.node.originalX; + }; + } + t.exports = function (t, e, r, n, i) { + var o = t._context.staticPlot, + s = !1; + h.ensureSingle( + t._fullLayout._infolayer, + "g", + "first-render", + function () { + s = !0; + }, + ); + var v = t._fullLayout._dragCover, + b = r + .filter(function (t) { + return m(t).trace.visible; + }) + .map(k.bind(null, n)), + _ = e.selectAll("." + l.cn.sankey).data(b, g); + _.exit().remove(), + _.enter() + .append("g") + .classed(l.cn.sankey, !0) + .style("box-sizing", "content-box") + .style("position", "absolute") + .style("left", 0) + .style("shape-rendering", "geometricPrecision") + .style("pointer-events", o ? "none" : "auto") + .attr("transform", I), + _.each(function (e, r) { + t._fullData[r]._sankey = e; + var n = "bgsankey-" + e.trace.uid + "-" + r; + h.ensureSingle(t._fullLayout._draggers, "rect", n), + (t._fullData[r]._bgRect = a.select("." + n)), + t._fullData[r]._bgRect + .style("pointer-events", o ? "none" : "all") + .attr("width", e.width) + .attr("height", e.height) + .attr("x", e.translateX) + .attr("y", e.translateY) + .classed("bgsankey", !0) + .style({ fill: "transparent", "stroke-width": 0 }); + }), + _.transition() + .ease(l.ease) + .duration(l.duration) + .attr("transform", I); + var L = _.selectAll("." + l.cn.sankeyLinks).data(y, g); + L.enter() + .append("g") + .classed(l.cn.sankeyLinks, !0) + .style("fill", "none"); + var C = L.selectAll("." + l.cn.sankeyLink).data(function ( + t, + ) { + return t.graph.links + .filter(function (t) { + return t.value; + }) + .map(A.bind(null, t)); + }, g); + C.enter() + .append("path") + .classed(l.cn.sankeyLink, !0) + .call(D, _, i.linkEvents), + C.style("stroke", function (t) { + return O(t) + ? c.tinyRGB(u(t.linkLineColor)) + : t.tinyColorHue; + }) + .style("stroke-opacity", function (t) { + return O(t) + ? c.opacity(t.linkLineColor) + : t.tinyColorAlpha; + }) + .style("fill", function (t) { + return t.tinyColorHue; + }) + .style("fill-opacity", function (t) { + return t.tinyColorAlpha; + }) + .style("stroke-width", function (t) { + return O(t) ? t.linkLineWidth : 1; + }) + .attr("d", M()), + C.style("opacity", function () { + return t._context.staticPlot || s || v ? 1 : 0; + }) + .transition() + .ease(l.ease) + .duration(l.duration) + .style("opacity", 1), + C.exit() + .transition() + .ease(l.ease) + .duration(l.duration) + .style("opacity", 0) + .remove(); + var R = _.selectAll("." + l.cn.sankeyNodeSet).data(y, g); + R.enter().append("g").classed(l.cn.sankeyNodeSet, !0), + R.style("cursor", function (t) { + switch (t.arrangement) { + case "fixed": + return "default"; + case "perpendicular": + return "ns-resize"; + default: + return "move"; + } + }); + var F = R.selectAll("." + l.cn.sankeyNode).data(function ( + t, + ) { + var e = t.graph.nodes; + return ( + (function (t) { + var e, + r = []; + for (e = 0; e < t.length; e++) + (t[e].originalX = (t[e].x0 + t[e].x1) / 2), + (t[e].originalY = (t[e].y0 + t[e].y1) / 2), + -1 === r.indexOf(t[e].originalX) && + r.push(t[e].originalX); + 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.map(S.bind(null, t)) + ); + }, g); + F.enter() + .append("g") + .classed(l.cn.sankeyNode, !0) + .call(E) + .style("opacity", function (e) { + return (!t._context.staticPlot && !s) || e.partOfGroup + ? 0 + : 1; + }), + F.call(D, _, i.nodeEvents).call(z, C, i, t), + F.transition() + .ease(l.ease) + .duration(l.duration) + .call(E) + .style("opacity", function (t) { + return t.partOfGroup ? 0 : 1; + }), + F.exit() + .transition() + .ease(l.ease) + .duration(l.duration) + .style("opacity", 0) + .remove(); + var B = F.selectAll("." + l.cn.nodeRect).data(y); + B.enter().append("rect").classed(l.cn.nodeRect, !0).call(P), + B.style("stroke-width", function (t) { + return t.nodeLineWidth; + }) + .style("stroke", function (t) { + return c.tinyRGB(u(t.nodeLineColor)); + }) + .style("stroke-opacity", function (t) { + return c.opacity(t.nodeLineColor); + }) + .style("fill", function (t) { + return t.tinyColorHue; + }) + .style("fill-opacity", function (t) { + return t.tinyColorAlpha; + }), + B.transition().ease(l.ease).duration(l.duration).call(P); + var N = F.selectAll("." + l.cn.nodeLabel).data(y); + N.enter() + .append("text") + .classed(l.cn.nodeLabel, !0) + .style("cursor", "default"), + N.attr("data-notex", 1) + .text(function (t) { + return t.node.label; + }) + .each(function (e) { + var r = a.select(this); + f.font(r, e.textFont), x.convertToTspans(r, t); + }) + .style( + "text-shadow", + x.makeTextShadow(t._fullLayout.paper_bgcolor), + ) + .attr("text-anchor", function (t) { + return t.horizontal && t.left ? "end" : "start"; + }) + .attr("transform", function (t) { + var e = a.select(this), + r = x.lineCount(e), + n = t.textFont.size * ((r - 1) * T - w), + i = t.nodeLineWidth / 2 + 3, + o = + ((t.horizontal + ? t.visibleHeight + : t.visibleWidth) - + n) / + 2; + t.horizontal && + (t.left ? (i = -i) : (i += t.visibleWidth)); + var s = t.horizontal ? "" : "scale(-1,1)" + d(90); + return ( + p(t.horizontal ? i : o, t.horizontal ? o : i) + s + ); + }), + N.transition().ease(l.ease).duration(l.duration); + }; + }, + 84564: function (t) { + "use strict"; + t.exports = function (t, e) { + for ( + var r = [], + n = t.cd[0].trace, + i = n._sankey.graph.nodes, + a = 0; + a < i.length; + a++ + ) { + var o = i[a]; + if (!o.partOfGroup) { + var s = [(o.x0 + o.x1) / 2, (o.y0 + o.y1) / 2]; + "v" === n.orientation && s.reverse(), + e && + e.contains(s, !1, a, t) && + r.push({ pointNumber: o.pointNumber }); + } + } + return r; + }; + }, + 75225: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e) { + for (var r = 0; r < t.length; r++) t[r].i = r; + n.mergeArray(e.text, t, "tx"), + n.mergeArray(e.texttemplate, t, "txt"), + n.mergeArray(e.hovertext, t, "htx"), + n.mergeArray(e.customdata, t, "data"), + n.mergeArray(e.textposition, t, "tp"), + e.textfont && + (n.mergeArrayCastPositive(e.textfont.size, t, "ts"), + n.mergeArray(e.textfont.color, t, "tc"), + n.mergeArray(e.textfont.family, t, "tf")); + var i = e.marker; + if (i) { + n.mergeArrayCastPositive(i.size, t, "ms"), + n.mergeArrayCastPositive(i.opacity, t, "mo"), + n.mergeArray(i.symbol, t, "mx"), + n.mergeArray(i.angle, t, "ma"), + n.mergeArray(i.standoff, t, "mf"), + n.mergeArray(i.color, t, "mc"); + var a = i.line; + i.line && + (n.mergeArray(a.color, t, "mlc"), + n.mergeArrayCastPositive(a.width, t, "mlw")); + var o = i.gradient; + o && + "none" !== o.type && + (n.mergeArray(o.type, t, "mgt"), + n.mergeArray(o.color, t, "mgc")); + } + }; + }, + 82196: function (t, e, r) { + "use strict"; + var n = r(12663).axisHoverFormat, + i = r(5386).si, + a = r(5386).fF, + o = r(50693), + s = r(41940), + l = r(79952).P, + u = r(79952).u, + c = r(91424), + f = r(47581), + h = r(1426).extendFlat; + t.exports = { + x: { + valType: "data_array", + editType: "calc+clearAxisTypes", + anim: !0, + }, + x0: { + valType: "any", + dflt: 0, + editType: "calc+clearAxisTypes", + anim: !0, + }, + dx: { + valType: "number", + dflt: 1, + editType: "calc", + anim: !0, + }, + y: { + valType: "data_array", + editType: "calc+clearAxisTypes", + anim: !0, + }, + y0: { + valType: "any", + dflt: 0, + editType: "calc+clearAxisTypes", + anim: !0, + }, + dy: { + valType: "number", + dflt: 1, + editType: "calc", + anim: !0, + }, + xperiod: { valType: "any", dflt: 0, editType: "calc" }, + yperiod: { valType: "any", dflt: 0, editType: "calc" }, + xperiod0: { valType: "any", editType: "calc" }, + yperiod0: { valType: "any", editType: "calc" }, + xperiodalignment: { + valType: "enumerated", + values: ["start", "middle", "end"], + dflt: "middle", + editType: "calc", + }, + yperiodalignment: { + valType: "enumerated", + values: ["start", "middle", "end"], + dflt: "middle", + editType: "calc", + }, + xhoverformat: n("x"), + yhoverformat: n("y"), + offsetgroup: { + valType: "string", + dflt: "", + editType: "calc", + }, + alignmentgroup: { + valType: "string", + dflt: "", + editType: "calc", + }, + stackgroup: { + valType: "string", + dflt: "", + editType: "calc", + }, + orientation: { + valType: "enumerated", + values: ["v", "h"], + editType: "calc", + }, + groupnorm: { + valType: "enumerated", + values: ["", "fraction", "percent"], + dflt: "", + editType: "calc", + }, + stackgaps: { + valType: "enumerated", + values: ["infer zero", "interpolate"], + dflt: "infer zero", + editType: "calc", + }, + text: { + valType: "string", + dflt: "", + arrayOk: !0, + editType: "calc", + }, + texttemplate: i({}, {}), + 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", + }, + hovertemplate: a({}, { keys: f.eventDataKeys }), + line: { + color: { valType: "color", editType: "style", anim: !0 }, + width: { + valType: "number", + min: 0, + dflt: 2, + editType: "style", + anim: !0, + }, + 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: h({}, l, { editType: "style" }), + backoff: { + valType: "number", + min: 0, + dflt: "auto", + arrayOk: !0, + editType: "plot", + }, + 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", + ], + editType: "calc", + }, + fillcolor: { + valType: "color", + editType: "style", + anim: !0, + }, + fillpattern: u, + marker: h( + { + symbol: { + valType: "enumerated", + values: c.symbolList, + dflt: "circle", + arrayOk: !0, + editType: "style", + }, + opacity: { + valType: "number", + min: 0, + max: 1, + arrayOk: !0, + editType: "style", + anim: !0, + }, + angle: { + valType: "angle", + dflt: 0, + arrayOk: !0, + editType: "plot", + anim: !1, + }, + angleref: { + valType: "enumerated", + values: ["previous", "up"], + dflt: "up", + editType: "plot", + anim: !1, + }, + standoff: { + valType: "number", + min: 0, + dflt: 0, + arrayOk: !0, + editType: "plot", + anim: !0, + }, + size: { + valType: "number", + min: 0, + dflt: 6, + arrayOk: !0, + editType: "calc", + anim: !0, + }, + 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", + }, + line: h( + { + width: { + valType: "number", + min: 0, + arrayOk: !0, + editType: "style", + anim: !0, + }, + editType: "calc", + }, + o("marker.line", { anim: !0 }), + ), + 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", + }, + o("marker", { anim: !0 }), + ), + 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: s({ + editType: "calc", + colorEditType: "style", + arrayOk: !0, + }), + }; + }, + 47761: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(89298), + o = r(42973), + s = r(50606).BADNUM, + l = r(34098), + u = r(36922), + c = r(75225), + f = r(66279); + function h(t, e, r, n, i, o, s) { + var u = e._length, + c = t._fullLayout, + f = r._id, + h = n._id, + p = c._firstScatter[v(e)] === e.uid, + d = (g(e, c, r, n) || {}).orientation, + y = e.fill; + (r._minDtick = 0), (n._minDtick = 0); + var m = { padded: !0 }, + x = { padded: !0 }; + s && (m.ppad = x.ppad = s); + var b = u < 2 || i[0] !== i[u - 1] || o[0] !== o[u - 1]; + b && + ("tozerox" === y || ("tonextx" === y && (p || "h" === d))) + ? (m.tozero = !0) + : (e.error_y || {}).visible || + ("tonexty" !== y && + "tozeroy" !== y && + (l.hasMarkers(e) || l.hasText(e))) || + ((m.padded = !1), (m.ppad = 0)), + b && + ("tozeroy" === y || ("tonexty" === y && (p || "v" === d))) + ? (x.tozero = !0) + : ("tonextx" !== y && "tozerox" !== y) || + (x.padded = !1), + f && (e._extremes[f] = a.findExtremes(r, i, m)), + h && (e._extremes[h] = a.findExtremes(n, o, x)); + } + function p(t, e) { + if (l.hasMarkers(t)) { + var r, + n = t.marker, + o = 1.6 * (t.marker.sizeref || 1); + if ( + ((r = + "area" === t.marker.sizemode + ? function (t) { + return Math.max(Math.sqrt((t || 0) / o), 3); + } + : function (t) { + return Math.max((t || 0) / o, 3); + }), + i.isArrayOrTypedArray(n.size)) + ) { + var s = { type: "linear" }; + a.setConvert(s); + for ( + var u = s.makeCalcdata(t.marker, "size"), + c = new Array(e), + f = 0; + f < e; + f++ + ) + c[f] = r(u[f]); + return c; + } + return r(n.size); + } + } + function d(t, e) { + var r = v(e), + n = t._firstScatter; + n[r] || (n[r] = e.uid); + } + function v(t) { + var e = t.stackgroup; + return t.xaxis + t.yaxis + t.type + (e ? "-" + e : ""); + } + function g(t, e, r, n) { + var i = t.stackgroup; + if (i) { + var a = e._scatterStackOpts[r._id + n._id][i], + o = "v" === a.orientation ? n : r; + return "linear" === o.type || "log" === o.type + ? a + : void 0; + } + } + t.exports = { + calc: function (t, e) { + var r, + l, + v, + y, + m, + x, + b = t._fullLayout, + _ = (e._xA = a.getFromId(t, e.xaxis || "x", "x")), + w = (e._yA = a.getFromId(t, e.yaxis || "y", "y")), + T = _.makeCalcdata(e, "x"), + k = w.makeCalcdata(e, "y"), + A = o(e, _, "x", T), + M = o(e, w, "y", k), + S = A.vals, + E = M.vals, + L = e._length, + C = new Array(L), + P = e.ids, + O = g(e, b, _, w), + I = !1; + d(b, e); + var D, + z = "x", + R = "y"; + O + ? (i.pushUnique(O.traceIndices, e._expandedIndex), + (r = "v" === O.orientation) + ? ((R = "s"), (D = "x")) + : ((z = "s"), (D = "y")), + (m = "interpolate" === O.stackgaps)) + : h(t, e, _, w, S, E, p(e, L)); + var F = !!e.xperiodalignment, + B = !!e.yperiodalignment; + for (l = 0; l < L; l++) { + var N = (C[l] = {}), + j = n(S[l]), + U = n(E[l]); + j && U + ? ((N[z] = S[l]), + (N[R] = E[l]), + F && + ((N.orig_x = T[l]), + (N.xEnd = A.ends[l]), + (N.xStart = A.starts[l])), + B && + ((N.orig_y = k[l]), + (N.yEnd = M.ends[l]), + (N.yStart = M.starts[l]))) + : O && (r ? j : U) + ? ((N[D] = r ? S[l] : E[l]), + (N.gap = !0), + m ? ((N.s = s), (I = !0)) : (N.s = 0)) + : (N[z] = N[R] = s), + P && (N.id = String(P[l])); + } + if ((c(C, e), u(t, e), f(C, e), O)) { + for (l = 0; l < C.length; ) + C[l][D] === s ? C.splice(l, 1) : l++; + if ( + (i.sort(C, function (t, e) { + return t[D] - e[D] || t.i - e.i; + }), + I) + ) { + for (l = 0; l < C.length - 1 && C[l].gap; ) l++; + for ( + (x = C[l].s) || (x = C[l].s = 0), v = 0; + v < l; + v++ + ) + C[v].s = x; + for (y = C.length - 1; y > l && C[y].gap; ) y--; + for (x = C[y].s, v = C.length - 1; v > y; v--) + C[v].s = x; + for (; l < y; ) + if (C[++l].gap) { + for (v = l + 1; C[v].gap; ) v++; + for ( + var V = C[l - 1][D], + H = C[l - 1].s, + q = (C[v].s - H) / (C[v][D] - V); + l < v; + + ) + (C[l].s = H + (C[l][D] - V) * q), l++; + } + } + } + return C; + }, + calcMarkerSize: p, + calcAxisExpansion: h, + setFirstScatter: d, + getStackOpts: g, + }; + }, + 66279: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e) { + n.isArrayOrTypedArray(e.selectedpoints) && + n.tagSelected(t, e); + }; + }, + 36922: function (t, e, r) { + "use strict"; + var n = r(52075).hasColorscale, + i = r(78803), + a = r(34098); + t.exports = function (t, e) { + a.hasLines(e) && + n(e, "line") && + i(t, e, { + vals: e.line.color, + containerStr: "line", + cLetter: "c", + }), + a.hasMarkers(e) && + (n(e, "marker") && + i(t, e, { + vals: e.marker.color, + containerStr: "marker", + cLetter: "c", + }), + n(e, "marker.line") && + i(t, e, { + vals: e.marker.line.color, + containerStr: "marker.line", + cLetter: "c", + })); + }; + }, + 47581: function (t) { + "use strict"; + t.exports = { + PTS_LINESONLY: 20, + minTolerance: 0.2, + toleranceGrowth: 10, + maxScreensAway: 20, + eventDataKeys: [], + }; + }, + 72626: function (t, e, r) { + "use strict"; + var n = r(47761), + i = r(11661).setGroupPositions; + function a(t, e, r, n, i, a, o) { + i[n] = !0; + var s = { i: null, gap: !0, s: 0 }; + if ( + ((s[o] = r), t.splice(e, 0, s), e && r === t[e - 1][o]) + ) { + var l = t[e - 1]; + (s.s = l.s), (s.i = l.i), (s.gap = l.gap); + } else + a && + (s.s = (function (t, e, r, n) { + var i = t[e - 1], + a = t[e + 1]; + return a + ? i + ? i.s + ((a.s - i.s) * (r - i[n])) / (a[n] - i[n]) + : a.s + : i.s; + })(t, e, r, o)); + e || + ((t[0].t = t[1].t), + (t[0].trace = t[1].trace), + delete t[1].t, + delete t[1].trace); + } + t.exports = function (t, e) { + "group" === t._fullLayout.scattermode && + (function (t, e) { + for ( + var r = e.xaxis, + n = e.yaxis, + a = t._fullLayout, + o = t._fullData, + s = t.calcdata, + l = [], + u = [], + c = 0; + c < o.length; + c++ + ) { + var f = o[c]; + !0 === f.visible && + "scatter" === f.type && + f.xaxis === r._id && + f.yaxis === n._id && + ("h" === f.orientation + ? l.push(s[c]) + : "v" === f.orientation && u.push(s[c])); + } + var h = { mode: a.scattermode, gap: a.scattergap }; + i(t, r, n, u, h), i(t, n, r, l, h); + })(t, e); + var r = e.xaxis, + o = e.yaxis, + s = r._id + o._id, + l = t._fullLayout._scatterStackOpts[s]; + if (l) { + var u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + w, + T, + k = t.calcdata; + for (var A in l) { + var M = (m = l[A]).traceIndices; + if (M.length) { + for ( + x = "interpolate" === m.stackgaps, + b = m.groupnorm, + "v" === m.orientation + ? ((_ = "x"), (w = "y")) + : ((_ = "y"), (w = "x")), + T = new Array(M.length), + u = 0; + u < T.length; + u++ + ) + T[u] = !1; + d = k[M[0]]; + var S = new Array(d.length); + for (u = 0; u < d.length; u++) S[u] = d[u][_]; + for (u = 1; u < M.length; u++) { + for (p = k[M[u]], c = f = 0; c < p.length; c++) { + for (v = p[c][_]; v > S[f] && f < S.length; f++) + a(p, c, S[f], u, T, x, _), c++; + if (v !== S[f]) { + for (h = 0; h < u; h++) + a(k[M[h]], f, v, h, T, x, _); + S.splice(f, 0, v); + } + f++; + } + for (; f < S.length; f++) + a(p, c, S[f], u, T, x, _), c++; + } + var E = S.length; + for (c = 0; c < d.length; c++) { + for (g = d[c][w] = d[c].s, u = 1; u < M.length; u++) + ((p = k[M[u]])[0].trace._rawLength = + p[0].trace._length), + (p[0].trace._length = E), + (g += p[c].s), + (p[c][w] = g); + if (b) + for ( + y = ("fraction" === b ? g : g / 100) || 1, + u = 0; + u < M.length; + u++ + ) { + var L = k[M[u]][c]; + (L[w] /= y), (L.sNorm = L.s / y); + } + } + for (u = 0; u < M.length; u++) { + var C = (p = k[M[u]])[0].trace, + P = n.calcMarkerSize(C, C._rawLength), + O = Array.isArray(P); + if ((P && T[u]) || O) { + var I = P; + for (P = new Array(E), c = 0; c < E; c++) + P[c] = p[c].gap ? 0 : O ? I[p[c].i] : I; + } + var D = new Array(E), + z = new Array(E); + for (c = 0; c < E; c++) + (D[c] = p[c].x), (z[c] = p[c].y); + n.calcAxisExpansion(t, C, r, o, D, z, P), + (p[0].t.orientation = m.orientation); + } + } + } + } + }; + }, + 34936: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(26125), + a = r(82196); + t.exports = function (t, e) { + var r, o, s; + function l(t) { + return n.coerce(o._input, o, a, t); + } + if ("group" === e.scattermode) + for (s = 0; s < t.length; s++) + "scatter" === (o = t[s]).type && + ((r = o._input), i(r, o, e, l)); + for (s = 0; s < t.length; s++) { + var u = t[s]; + if ("scatter" === u.type) { + var c = u.fill; + if ( + "none" !== c && + "toself" !== c && + ((u.opacity = void 0), + "tonexty" === c || "tonextx" === c) + ) + for (var f = s - 1; f >= 0; f--) { + var h = t[f]; + if ( + "scatter" === h.type && + h.xaxis === u.xaxis && + h.yaxis === u.yaxis + ) { + h.opacity = void 0; + break; + } + } + } + } + }; + }, + 17438: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(73972), + a = r(82196), + o = r(47581), + s = r(34098), + l = r(67513), + u = r(73927), + c = r(565), + f = r(49508), + h = r(11058), + p = r(94039), + d = r(82410), + v = r(28908), + g = r(71828).coercePattern; + t.exports = function (t, e, r, y) { + function m(r, i) { + return n.coerce(t, e, a, r, i); + } + var x = l(t, e, y, m); + if ((x || (e.visible = !1), e.visible)) { + u(t, e, y, m), m("xhoverformat"), m("yhoverformat"); + var b = c(t, e, y, m); + "group" === y.scattermode && + void 0 === e.orientation && + m("orientation", "v"); + var _ = + !b && x < o.PTS_LINESONLY ? "lines+markers" : "lines"; + m("text"), + m("hovertext"), + m("mode", _), + s.hasLines(e) && + (h(t, e, r, y, m, { backoff: !0 }), + p(t, e, m), + m("connectgaps"), + m("line.simplify")), + s.hasMarkers(e) && f(t, e, r, y, m, { gradient: !0 }), + s.hasText(e) && (m("texttemplate"), d(t, e, y, m)); + var w = []; + (s.hasMarkers(e) || s.hasText(e)) && + (m("cliponaxis"), + m("marker.maxdisplayed"), + w.push("points")), + m("fill", b ? b.fillDflt : "none"), + "none" !== e.fill && + (v(t, e, r, m), + s.hasLines(e) || p(t, e, m), + g(m, "fillpattern", e.fillcolor, !1)); + var T = (e.line || {}).color, + k = (e.marker || {}).color; + ("tonext" !== e.fill && "toself" !== e.fill) || + w.push("fills"), + m("hoveron", w.join("+") || "points"), + "fills" !== e.hoveron && m("hovertemplate"); + var A = i.getComponentMethod( + "errorbars", + "supplyDefaults", + ); + A(t, e, T || k || r, { axis: "y" }), + A(t, e, T || k || r, { axis: "x", inherit: "y" }), + n.coerceSelectionMarkerOpacity(e, m); + } + }; + }, + 28908: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(71828).isArrayOrTypedArray; + t.exports = function (t, e, r, a) { + var o = !1; + if (e.marker) { + var s = e.marker.color, + l = (e.marker.line || {}).color; + s && !i(s) ? (o = s) : l && !i(l) && (o = l); + } + a( + "fillcolor", + n.addOpacity((e.line || {}).color || o || r, 0.5), + ); + }; + }, + 8225: function (t, e, r) { + "use strict"; + var n = r(89298); + t.exports = function (t, e, r) { + var i = {}, + a = { _fullLayout: r }, + o = n.getFromTrace(a, e, "x"), + s = n.getFromTrace(a, e, "y"), + l = t.orig_x; + void 0 === l && (l = t.x); + var u = t.orig_y; + return ( + void 0 === u && (u = t.y), + (i.xLabel = n.tickText(o, o.c2l(l), !0).text), + (i.yLabel = n.tickText(s, s.c2l(u), !0).text), + i + ); + }; + }, + 34603: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(34098); + t.exports = function (t, e) { + var r, a; + if ("lines" === t.mode) + return (r = t.line.color) && n.opacity(r) + ? r + : t.fillcolor; + if ("none" === t.mode) return t.fill ? t.fillcolor : ""; + var o = e.mcc || (t.marker || {}).color, + s = e.mlcc || ((t.marker || {}).line || {}).color; + return (a = + o && n.opacity(o) + ? o + : s && + n.opacity(s) && + (e.mlw || ((t.marker || {}).line || {}).width) + ? s + : "") + ? n.opacity(a) < 0.3 + ? n.addOpacity(a, 0.3) + : a + : (r = (t.line || {}).color) && + n.opacity(r) && + i.hasLines(t) && + t.line.width + ? r + : t.fillcolor; + }; + }, + 26125: function (t, e, r) { + "use strict"; + var n = r(99082).getAxisGroup; + t.exports = function (t, e, r, i) { + var a = e.orientation, + o = e[{ v: "x", h: "y" }[a] + "axis"], + s = n(r, o) + a, + l = r._alignmentOpts || {}, + u = i("alignmentgroup"), + c = l[s]; + c || (c = l[s] = {}); + var f = c[u]; + f + ? f.traces.push(e) + : (f = c[u] = + { + traces: [e], + alignmentIndex: Object.keys(c).length, + offsetGroups: {}, + }); + var h = i("offsetgroup"), + p = f.offsetGroups, + d = p[h]; + h && + (d || (d = p[h] = { offsetIndex: Object.keys(p).length }), + (e._offsetIndex = d.offsetIndex)); + }; + }, + 33720: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(30211), + a = r(73972), + o = r(34603), + s = r(7901), + l = n.fillText; + t.exports = function (t, e, r, u) { + var c = t.cd, + f = c[0].trace, + h = t.xa, + p = t.ya, + d = h.c2p(e), + v = p.c2p(r), + g = [d, v], + y = f.hoveron || "", + m = -1 !== f.mode.indexOf("markers") ? 3 : 0.5, + x = !!f.xperiodalignment, + b = !!f.yperiodalignment; + if (-1 !== y.indexOf("points")) { + var _ = function (t) { + var e = Math.max(m, t.mrc || 0), + r = h.c2p(t.x) - d, + n = p.c2p(t.y) - v; + return Math.max( + Math.sqrt(r * r + n * n) - e, + 1 - m / e, + ); + }, + w = i.getDistanceFunction( + u, + function (t) { + if (x) { + var e = h.c2p(t.xStart), + r = h.c2p(t.xEnd); + return d >= Math.min(e, r) && d <= Math.max(e, r) + ? 0 + : 1 / 0; + } + var n = Math.max(3, t.mrc || 0), + i = 1 - 1 / n, + a = Math.abs(h.c2p(t.x) - d); + return a < n ? (i * a) / n : a - n + i; + }, + function (t) { + if (b) { + var e = p.c2p(t.yStart), + r = p.c2p(t.yEnd); + return v >= Math.min(e, r) && v <= Math.max(e, r) + ? 0 + : 1 / 0; + } + var n = Math.max(3, t.mrc || 0), + i = 1 - 1 / n, + a = Math.abs(p.c2p(t.y) - v); + return a < n ? (i * a) / n : a - n + i; + }, + _, + ); + if ((i.getClosest(c, w, t), !1 !== t.index)) { + var T = c[t.index], + k = h.c2p(T.x, !0), + A = p.c2p(T.y, !0), + M = T.mrc || 1; + t.index = T.i; + var S = c[0].t.orientation, + E = S && (T.sNorm || T.s), + L = + "h" === S + ? E + : void 0 !== T.orig_x + ? T.orig_x + : T.x, + C = + "v" === S + ? E + : void 0 !== T.orig_y + ? T.orig_y + : T.y; + return ( + n.extendFlat(t, { + color: o(f, T), + x0: k - M, + x1: k + M, + xLabelVal: L, + y0: A - M, + y1: A + M, + yLabelVal: C, + spikeDistance: _(T), + hovertemplate: f.hovertemplate, + }), + l(T, f, t), + a.getComponentMethod("errorbars", "hoverInfo")( + T, + f, + t, + ), + [t] + ); + } + } + if (-1 !== y.indexOf("fills") && f._polygons) { + var P, + O, + I, + D, + z, + R, + F, + B, + N, + j = f._polygons, + U = [], + V = !1, + H = 1 / 0, + q = -1 / 0, + G = 1 / 0, + Z = -1 / 0; + for (P = 0; P < j.length; P++) + (I = j[P]).contains(g) && + ((V = !V), + U.push(I), + (G = Math.min(G, I.ymin)), + (Z = Math.max(Z, I.ymax))); + if (V) { + var Y = + ((G = Math.max(G, 0)) + + (Z = Math.min(Z, p._length))) / + 2; + for (P = 0; P < U.length; P++) + for (D = U[P].pts, O = 1; O < D.length; O++) + (B = D[O - 1][1]) > Y != (N = D[O][1]) >= Y && + ((R = D[O - 1][0]), + (F = D[O][0]), + N - B && + ((z = R + ((F - R) * (Y - B)) / (N - B)), + (H = Math.min(H, z)), + (q = Math.max(q, z)))); + (H = Math.max(H, 0)), (q = Math.min(q, h._length)); + var W = s.defaultLine; + return ( + s.opacity(f.fillcolor) + ? (W = f.fillcolor) + : s.opacity((f.line || {}).color) && + (W = f.line.color), + n.extendFlat(t, { + distance: t.maxHoverDistance, + x0: H, + x1: q, + y0: Y, + y1: Y, + color: W, + hovertemplate: !1, + }), + delete t.index, + f.text && !Array.isArray(f.text) + ? (t.text = String(f.text)) + : (t.text = f.name), + [t] + ); + } + } + }; + }, + 67368: function (t, e, r) { + "use strict"; + var n = r(34098); + t.exports = { + hasLines: n.hasLines, + hasMarkers: n.hasMarkers, + hasText: n.hasText, + isBubble: n.isBubble, + attributes: r(82196), + layoutAttributes: r(21479), + supplyDefaults: r(17438), + crossTraceDefaults: r(34936), + supplyLayoutDefaults: r(79334), + calc: r(47761).calc, + crossTraceCalc: r(72626), + arraysToCalcdata: r(75225), + plot: r(32663), + colorbar: r(4898), + formatLabels: r(8225), + style: r(16296).style, + styleOnSelect: r(16296).styleOnSelect, + hoverPoints: r(33720), + selectPoints: r(98002), + animatable: !0, + moduleType: "trace", + name: "scatter", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "symbols", + "errorBarsOK", + "showLegend", + "scatter-like", + "zoomScale", + ], + meta: {}, + }; + }, + 21479: function (t) { + "use strict"; + t.exports = { + scattermode: { + valType: "enumerated", + values: ["group", "overlay"], + dflt: "overlay", + editType: "calc", + }, + scattergap: { + valType: "number", + min: 0, + max: 1, + editType: "calc", + }, + }; + }, + 79334: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(21479); + t.exports = function (t, e) { + var r, + a = "group" === e.barmode; + "group" === e.scattermode && + ("scattergap", + (r = a ? e.bargap : 0.2), + n.coerce(t, e, i, "scattergap", r)); + }; + }, + 11058: function (t, e, r) { + "use strict"; + var n = r(71828).isArrayOrTypedArray, + i = r(52075).hasColorscale, + a = r(1586); + t.exports = function (t, e, r, o, s, l) { + l || (l = {}); + var u = (t.marker || {}).color; + s("line.color", r), + i(t, "line") + ? a(t, e, o, s, { prefix: "line.", cLetter: "c" }) + : s("line.color", (!n(u) && u) || r), + s("line.width"), + l.noDash || s("line.dash"), + l.backoff && s("line.backoff"); + }; + }, + 34621: function (t, e, r) { + "use strict"; + var n = r(91424), + i = r(50606), + a = i.BADNUM, + o = i.LOG_CLIP, + s = o + 0.5, + l = o - 0.5, + u = r(71828), + c = u.segmentsIntersect, + f = u.constrain, + h = r(47581); + t.exports = function (t, e) { + var r, + i, + o, + p, + d, + v, + g, + y, + m, + x, + b, + _, + w, + T, + k, + A, + M, + S, + E = e.trace || {}, + L = e.xaxis, + C = e.yaxis, + P = "log" === L.type, + O = "log" === C.type, + I = L._length, + D = C._length, + z = e.backoff, + R = E.marker, + F = e.connectGaps, + B = e.baseTolerance, + N = e.shape, + j = "linear" === N, + U = E.fill && "none" !== E.fill, + V = [], + H = h.minTolerance, + q = t.length, + G = new Array(q), + Z = 0; + function Y(r) { + var n = t[r]; + if (!n) return !1; + var i = e.linearized ? L.l2p(n.x) : L.c2p(n.x), + o = e.linearized ? C.l2p(n.y) : C.c2p(n.y); + if (i === a) { + if ((P && (i = L.c2p(n.x, !0)), i === a)) return !1; + O && + o === a && + (i *= Math.abs( + (L._m * D * (L._m > 0 ? s : l)) / + (C._m * I * (C._m > 0 ? s : l)), + )), + (i *= 1e3); + } + if (o === a) { + if ((O && (o = C.c2p(n.y, !0)), o === a)) return !1; + o *= 1e3; + } + return [i, o]; + } + function W(t, e, r, n) { + var i = r - t, + a = n - e, + o = 0.5 - t, + s = 0.5 - e, + l = i * i + a * a, + u = i * o + a * s; + if (u > 0 && u < l) { + var c = o * a - s * i; + if (c * c < l) return !0; + } + } + function X(t, e) { + var r = t[0] / I, + n = t[1] / D, + i = Math.max(0, -r, r - 1, -n, n - 1); + return ( + i && void 0 !== M && W(r, n, M, S) && (i = 0), + i && e && W(r, n, e[0] / I, e[1] / D) && (i = 0), + (1 + h.toleranceGrowth * i) * B + ); + } + function J(t, e) { + var r = t[0] - e[0], + n = t[1] - e[1]; + return Math.sqrt(r * r + n * n); + } + var K, + $, + Q, + tt, + et, + rt, + nt, + it = h.maxScreensAway, + at = -I * it, + ot = I * (1 + it), + st = -D * it, + lt = D * (1 + it), + ut = [ + [at, st, ot, st], + [ot, st, ot, lt], + [ot, lt, at, lt], + [at, lt, at, st], + ]; + function ct(t) { + if (t[0] < at || t[0] > ot || t[1] < st || t[1] > lt) + return [f(t[0], at, ot), f(t[1], st, lt)]; + } + function ft(t, e) { + return ( + (t[0] === e[0] && (t[0] === at || t[0] === ot)) || + (t[1] === e[1] && (t[1] === st || t[1] === lt)) || + void 0 + ); + } + function ht(t, e, r) { + return function (n, i) { + var a = ct(n), + o = ct(i), + s = []; + if (a && o && ft(a, o)) return s; + a && s.push(a), o && s.push(o); + var l = + 2 * u.constrain((n[t] + i[t]) / 2, e, r) - + ((a || n)[t] + (o || i)[t]); + return ( + l && + ((a && o ? (l > 0 == a[t] > o[t] ? a : o) : a || o)[ + t + ] += l), + s + ); + }; + } + function pt(t) { + var e = t[0], + r = t[1], + n = e === G[Z - 1][0], + i = r === G[Z - 1][1]; + if (!n || !i) + if (Z > 1) { + var a = e === G[Z - 2][0], + o = r === G[Z - 2][1]; + n && (e === at || e === ot) && a + ? o + ? Z-- + : (G[Z - 1] = t) + : i && (r === st || r === lt) && o + ? a + ? Z-- + : (G[Z - 1] = t) + : (G[Z++] = t); + } else G[Z++] = t; + } + function dt(t) { + G[Z - 1][0] !== t[0] && + G[Z - 1][1] !== t[1] && + pt([Q, tt]), + pt(t), + (et = null), + (Q = tt = 0); + } + "linear" === N || "spline" === N + ? (nt = function (t, e) { + for (var r = [], n = 0, i = 0; i < 4; i++) { + var a = ut[i], + o = c( + 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 && J(o, t) < J(r[0], t) + ? r.unshift(o) + : r.push(o), + n++); + } + return r; + }) + : "hv" === N || "vh" === N + ? (nt = function (t, e) { + var r = [], + n = ct(t), + i = ct(e); + return ( + (n && i && ft(n, i)) || + (n && r.push(n), i && r.push(i)), + r + ); + }) + : "hvh" === N + ? (nt = ht(0, at, ot)) + : "vhv" === N && (nt = ht(1, st, lt)); + var vt = u.isArrayOrTypedArray(R); + function gt(e) { + if ( + (e && + z && + ((e.i = r), + (e.d = t), + (e.trace = E), + (e.marker = vt ? R[e.i] : R), + (e.backoff = z)), + (M = e[0] / I), + (S = e[1] / D), + (K = e[0] < at ? at : e[0] > ot ? ot : 0), + ($ = e[1] < st ? st : e[1] > lt ? lt : 0), + K || $) + ) { + if (Z) + if (et) { + var n = nt(et, e); + n.length > 1 && (dt(n[0]), (G[Z++] = n[1])); + } else (rt = nt(G[Z - 1], e)[0]), (G[Z++] = rt); + else G[Z++] = [K || e[0], $ || e[1]]; + var i = G[Z - 1]; + K && $ && (i[0] !== K || i[1] !== $) + ? (et && + (Q !== K && tt !== $ + ? pt( + Q && tt + ? ((a = et), + (s = (o = e)[0] - a[0]), + (l = (o[1] - a[1]) / s), + (a[1] * o[0] - o[1] * a[0]) / s > 0 + ? [l > 0 ? at : ot, lt] + : [l > 0 ? ot : at, st]) + : [Q || K, tt || $], + ) + : Q && tt && pt([Q, tt])), + pt([K, $])) + : Q - K && tt - $ && pt([K || Q, $ || tt]), + (et = e), + (Q = K), + (tt = $); + } else et && dt(nt(et, e)[0]), (G[Z++] = e); + var a, o, s, l; + } + for (r = 0; r < q; r++) + if ((i = Y(r))) { + for (Z = 0, et = null, gt(i), r++; r < q; r++) { + if (!(p = Y(r))) { + if (F) continue; + break; + } + if (j && e.simplify) { + var yt = Y(r + 1); + if ( + ((x = J(p, i)), + (U && (0 === Z || Z === q - 1)) || + !(x < X(p, yt) * H)) + ) { + for ( + y = [(p[0] - i[0]) / x, (p[1] - i[1]) / x], + d = i, + b = x, + _ = T = k = 0, + g = !1, + o = p, + r++; + r < t.length; + r++ + ) { + if (((v = yt), (yt = Y(r + 1)), !v)) { + if (F) continue; + break; + } + if ( + ((A = + (m = [v[0] - i[0], v[1] - i[1]])[0] * y[1] - + m[1] * y[0]), + (T = Math.min(T, A)), + (k = Math.max(k, A)) - T > X(v, yt)) + ) + break; + (o = v), + (w = m[0] * y[0] + m[1] * y[1]) > b + ? ((b = w), (p = v), (g = !1)) + : w < _ && ((_ = w), (d = v), (g = !0)); + } + if ( + (g + ? (gt(p), o !== d && gt(d)) + : (d !== i && gt(d), o !== p && gt(p)), + gt(o), + r >= t.length || !v) + ) + break; + gt(v), (i = v); + } + } else gt(p); + } + et && pt([Q || et[0], tt || et[1]]), + V.push(G.slice(0, Z)); + } + var mt = N.slice(N.length - 1); + if (z && "h" !== mt && "v" !== mt) { + for ( + var xt = !1, bt = -1, _t = [], wt = 0; + wt < V.length; + wt++ + ) + for (var Tt = 0; Tt < V[wt].length - 1; Tt++) { + var kt = V[wt][Tt], + At = V[wt][Tt + 1], + Mt = n.applyBackoff(At, kt); + (Mt[0] === At[0] && Mt[1] === At[1]) || (xt = !0), + _t[bt + 1] || (_t[++bt] = [kt, [Mt[0], Mt[1]]]); + } + return xt ? _t : V; + } + return V; + }; + }, + 94039: function (t) { + "use strict"; + t.exports = function (t, e, r) { + "spline" === r("line.shape") && r("line.smoothing"); + }; + }, + 68687: function (t) { + "use strict"; + var e = { tonextx: 1, tonexty: 1, tonext: 1 }; + t.exports = function (t, r, n) { + var i, + a, + o, + s, + l, + u = {}, + c = !1, + f = -1, + h = 0, + p = -1; + for (a = 0; a < n.length; a++) + (o = (i = n[a][0].trace).stackgroup || "") + ? o in u + ? (l = u[o]) + : ((l = u[o] = h), h++) + : i.fill in e && p >= 0 + ? (l = p) + : ((l = p = h), h++), + l < f && (c = !0), + (i._groupIndex = f = l); + var d = n.slice(); + c && + d.sort(function (t, e) { + var r = t[0].trace, + n = e[0].trace; + return ( + r._groupIndex - n._groupIndex || r.index - n.index + ); + }); + var v = {}; + for (a = 0; a < d.length; a++) + (o = (i = d[a][0].trace).stackgroup || ""), + !0 === i.visible + ? ((i._nexttrace = null), + i.fill in e && + ((s = v[o]), + (i._prevtrace = s || null), + s && (s._nexttrace = i)), + (i._ownfill = + i.fill && + ("tozero" === i.fill.substr(0, 6) || + "toself" === i.fill || + ("to" === i.fill.substr(0, 2) && + !i._prevtrace))), + (v[o] = i)) + : (i._prevtrace = i._nexttrace = i._ownfill = null); + return d; + }; + }, + 39984: function (t, e, r) { + "use strict"; + var n = r(92770); + t.exports = function (t, e) { + e || (e = 2); + var r = t.marker, + i = r.sizeref || 1, + a = r.sizemin || 0, + o = + "area" === r.sizemode + ? function (t) { + return Math.sqrt(t / i); + } + : function (t) { + return t / i; + }; + return function (t) { + var r = o(t / e); + return n(r) && r > 0 ? Math.max(r, a) : 0; + }; + }; + }, + 4898: function (t) { + "use strict"; + t.exports = { container: "marker", min: "cmin", max: "cmax" }; + }, + 49508: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(52075).hasColorscale, + a = r(1586), + o = r(34098); + t.exports = function (t, e, r, s, l, u) { + var c = o.isBubble(t), + f = (t.line || {}).color; + (u = u || {}), + f && (r = f), + l("marker.symbol"), + l("marker.opacity", c ? 0.7 : 1), + l("marker.size"), + u.noAngle || + (l("marker.angle"), + u.noAngleRef || l("marker.angleref"), + u.noStandOff || l("marker.standoff")), + l("marker.color", r), + i(t, "marker") && + a(t, e, s, l, { prefix: "marker.", cLetter: "c" }), + u.noSelect || + (l("selected.marker.color"), + l("unselected.marker.color"), + l("selected.marker.size"), + l("unselected.marker.size")), + u.noLine || + (l( + "marker.line.color", + f && !Array.isArray(f) && e.marker.color !== f + ? f + : c + ? n.background + : n.defaultLine, + ), + i(t, "marker.line") && + a(t, e, s, l, { + prefix: "marker.line.", + cLetter: "c", + }), + l("marker.line.width", c ? 1 : 0)), + c && + (l("marker.sizeref"), + l("marker.sizemin"), + l("marker.sizemode")), + u.gradient && + "none" !== l("marker.gradient.type") && + l("marker.gradient.color"); + }; + }, + 73927: function (t, e, r) { + "use strict"; + var n = r(71828).dateTick0, + i = r(50606).ONEWEEK; + function a(t, e) { + return n(e, t % i == 0 ? 1 : 0); + } + t.exports = function (t, e, r, n, i) { + if ((i || (i = { x: !0, y: !0 }), i.x)) { + var o = n("xperiod"); + o && + (n("xperiod0", a(o, e.xcalendar)), + n("xperiodalignment")); + } + if (i.y) { + var s = n("yperiod"); + s && + (n("yperiod0", a(s, e.ycalendar)), + n("yperiodalignment")); + } + }; + }, + 32663: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(71828), + o = a.ensureSingle, + s = a.identity, + l = r(91424), + u = r(34098), + c = r(34621), + f = r(68687), + h = r(61082).tester; + function p(t, e, r, f, p, d, v) { + var g, + y = t._context.staticPlot; + !(function (t, e, r, i, o) { + var s = r.xaxis, + l = r.yaxis, + c = n.extent(a.simpleMap(s.range, s.r2c)), + f = n.extent(a.simpleMap(l.range, l.r2c)), + h = i[0].trace; + if (u.hasMarkers(h)) { + var p = h.marker.maxdisplayed; + if (0 !== p) { + var d = i.filter(function (t) { + return ( + t.x >= c[0] && + t.x <= c[1] && + t.y >= f[0] && + t.y <= f[1] + ); + }), + v = Math.ceil(d.length / p), + g = 0; + o.forEach(function (t, r) { + var n = t[0].trace; + u.hasMarkers(n) && + n.marker.maxdisplayed > 0 && + r < e && + g++; + }); + var y = Math.round( + (g * v) / 3 + (Math.floor(g / 3) * v) / 7.1, + ); + i.forEach(function (t) { + delete t.vis; + }), + d.forEach(function (t, e) { + 0 === Math.round((e + y) % v) && (t.vis = !0); + }); + } + } + })(0, e, r, f, p); + var m = !!v && v.duration > 0; + function x(t) { + return m ? t.transition() : t; + } + var b = r.xaxis, + _ = r.yaxis, + w = f[0].trace, + T = w.line, + k = n.select(d), + A = o(k, "g", "errorbars"), + M = o(k, "g", "lines"), + S = o(k, "g", "points"), + E = o(k, "g", "text"); + if ( + (i.getComponentMethod("errorbars", "plot")(t, A, r, v), + !0 === w.visible) + ) { + var L, C; + x(k).style("opacity", w.opacity); + var P = w.fill.charAt(w.fill.length - 1); + "x" !== P && "y" !== P && (P = ""), + (f[0][r.isRangePlot ? "nodeRangePlot3" : "node3"] = k); + var O, + I, + D = "", + z = [], + R = w._prevtrace; + R && + ((D = R._prevRevpath || ""), + (C = R._nextFill), + (z = R._polygons)); + var F, + B, + N, + j, + U, + V, + H, + q = "", + G = "", + Z = [], + Y = a.noop; + if ( + ((L = w._ownFill), u.hasLines(w) || "none" !== w.fill) + ) { + for ( + C && C.datum(f), + -1 !== ["hv", "vh", "hvh", "vhv"].indexOf(T.shape) + ? ((F = l.steps(T.shape)), + (B = l.steps( + T.shape.split("").reverse().join(""), + ))) + : (F = B = + "spline" === T.shape + ? function (t) { + var e = t[t.length - 1]; + return t.length > 1 && + t[0][0] === e[0] && + t[0][1] === e[1] + ? l.smoothclosed( + t.slice(1), + T.smoothing, + ) + : l.smoothopen(t, T.smoothing); + } + : function (t) { + return "M" + t.join("L"); + }), + N = function (t) { + return B(t.reverse()); + }, + Z = c(f, { + xaxis: b, + yaxis: _, + trace: w, + connectGaps: w.connectgaps, + baseTolerance: Math.max(T.width || 1, 3) / 4, + shape: T.shape, + backoff: T.backoff, + simplify: T.simplify, + fill: w.fill, + }), + H = w._polygons = new Array(Z.length), + g = 0; + g < Z.length; + g++ + ) + w._polygons[g] = h(Z[g]); + Z.length && + ((j = Z[0][0]), + (V = (U = Z[Z.length - 1])[U.length - 1])), + (Y = function (t) { + return function (e) { + if ( + ((O = F(e)), + (I = N(e)), + q + ? P + ? ((q += "L" + O.substr(1)), + (G = I + "L" + G.substr(1))) + : ((q += "Z" + O), (G = I + "Z" + G)) + : ((q = O), (G = I)), + u.hasLines(w)) + ) { + var r = n.select(this); + if ((r.datum(f), t)) + x( + r + .style("opacity", 0) + .attr("d", O) + .call(l.lineGroupStyle), + ).style("opacity", 1); + else { + var i = x(r); + i.attr("d", O), l.singleLineStyle(f, i); + } + } + }; + }); + } + var W = M.selectAll(".js-line").data(Z); + x(W.exit()).style("opacity", 0).remove(), + W.each(Y(!1)), + W.enter() + .append("path") + .classed("js-line", !0) + .style( + "vector-effect", + y ? "none" : "non-scaling-stroke", + ) + .call(l.lineGroupStyle) + .each(Y(!0)), + l.setClipUrl(W, r.layerClipId, t), + Z.length + ? (L + ? (L.datum(f), + j && + V && + (P + ? ("y" === P + ? (j[1] = V[1] = _.c2p(0, !0)) + : "x" === P && + (j[0] = V[0] = b.c2p(0, !0)), + x(L) + .attr( + "d", + "M" + V + "L" + j + "L" + q.substr(1), + ) + .call(l.singleFillStyle, t)) + : x(L) + .attr("d", q + "Z") + .call(l.singleFillStyle, t))) + : C && + ("tonext" === w.fill.substr(0, 6) && q && D + ? ("tonext" === w.fill + ? x(C) + .attr("d", q + "Z" + D + "Z") + .call(l.singleFillStyle, t) + : x(C) + .attr( + "d", + q + "L" + D.substr(1) + "Z", + ) + .call(l.singleFillStyle, t), + (w._polygons = w._polygons.concat(z))) + : (J(C), (w._polygons = null))), + (w._prevRevpath = G), + (w._prevPolygons = H)) + : (L ? J(L) : C && J(C), + (w._polygons = + w._prevRevpath = + w._prevPolygons = + null)), + S.datum(f), + E.datum(f), + (function (e, i, a) { + var o, + c = a[0].trace, + f = u.hasMarkers(c), + h = u.hasText(c), + p = et(c), + d = rt, + v = rt; + if (f || h) { + var g = s, + y = c.stackgroup, + w = + y && + "infer zero" === + t._fullLayout._scatterStackOpts[ + b._id + _._id + ][y].stackgaps; + c.marker.maxdisplayed || c._needsCull + ? (g = w ? $ : K) + : y && !w && (g = Q), + f && (d = g), + h && (v = g); + } + var T, + k = (o = e.selectAll("path.point").data(d, p)) + .enter() + .append("path") + .classed("point", !0); + m && + k + .call(l.pointStyle, c, t) + .call(l.translatePoints, b, _) + .style("opacity", 0) + .transition() + .style("opacity", 1), + o.order(), + f && (T = l.makePointStyleFns(c)), + o.each(function (e) { + var i = n.select(this), + a = x(i); + l.translatePoint(e, a, b, _) + ? (l.singlePointStyle(e, a, c, T, t), + r.layerClipId && + l.hideOutsideRangePoint( + e, + a, + b, + _, + c.xcalendar, + c.ycalendar, + ), + c.customdata && + i.classed( + "plotly-customdata", + null !== e.data && void 0 !== e.data, + )) + : a.remove(); + }), + m + ? o + .exit() + .transition() + .style("opacity", 0) + .remove() + : o.exit().remove(), + (o = i.selectAll("g").data(v, p)) + .enter() + .append("g") + .classed("textpoint", !0) + .append("text"), + o.order(), + o.each(function (t) { + var e = n.select(this), + i = x(e.select("text")); + l.translatePoint(t, i, b, _) + ? r.layerClipId && + l.hideOutsideRangePoint( + t, + e, + b, + _, + c.xcalendar, + c.ycalendar, + ) + : e.remove(); + }), + o + .selectAll("text") + .call(l.textPointStyle, c, t) + .each(function (t) { + var e = b.c2p(t.x), + r = _.c2p(t.y); + n.select(this) + .selectAll("tspan.line") + .each(function () { + x(n.select(this)).attr({ x: e, y: r }); + }); + }), + o.exit().remove(); + })(S, E, f); + var X = !1 === w.cliponaxis ? null : r.layerClipId; + l.setClipUrl(S, X, t), l.setClipUrl(E, X, t); + } + function J(t) { + x(t).attr("d", "M0,0Z"); + } + function K(t) { + return t.filter(function (t) { + return !t.gap && t.vis; + }); + } + function $(t) { + return t.filter(function (t) { + return t.vis; + }); + } + function Q(t) { + return t.filter(function (t) { + return !t.gap; + }); + } + function tt(t) { + return t.id; + } + function et(t) { + if (t.ids) return tt; + } + function rt() { + return !1; + } + } + t.exports = function (t, e, r, i, a, u) { + var c, + h, + d = !a, + v = !!a && a.duration > 0, + g = f(t, e, r); + (c = i.selectAll("g.trace").data(g, 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), + c.order(), + (function (t, e, r) { + e.each(function (e) { + var i = o(n.select(this), "g", "fills"); + l.setClipUrl(i, r.layerClipId, t); + var a = e[0].trace, + u = []; + a._ownfill && u.push("_ownFill"), + a._nexttrace && u.push("_nextFill"); + var c = i.selectAll("g").data(u, s); + c.enter().append("g"), + c + .exit() + .each(function (t) { + a[t] = null; + }) + .remove(), + c.order().each(function (t) { + a[t] = o(n.select(this), "path", "js-fill"); + }); + }); + })(t, c, e), + v + ? (u && (h = u()), + n + .transition() + .duration(a.duration) + .ease(a.easing) + .each("end", function () { + h && h(); + }) + .each("interrupt", function () { + h && h(); + }) + .each(function () { + i.selectAll("g.trace").each(function (r, n) { + p(t, n, e, r, g, this, a); + }); + })) + : c.each(function (r, n) { + p(t, n, e, r, g, this, a); + }), + d && c.exit().remove(), + i.selectAll("path:not([d])").remove(); + }; + }, + 98002: function (t, e, r) { + "use strict"; + var n = r(34098); + t.exports = function (t, e) { + var r, + i, + a, + o, + s = t.cd, + l = t.xaxis, + u = t.yaxis, + c = [], + f = s[0].trace; + if (!n.hasMarkers(f) && !n.hasText(f)) return []; + if (!1 === e) + for (r = 0; r < s.length; r++) s[r].selected = 0; + else + for (r = 0; r < s.length; r++) + (i = s[r]), + (a = l.c2p(i.x)), + (o = u.c2p(i.y)), + null !== i.i && e.contains([a, o], !1, r, t) + ? (c.push({ + pointNumber: i.i, + x: l.c2d(i.x), + y: u.c2d(i.y), + }), + (i.selected = 1)) + : (i.selected = 0); + return c; + }; + }, + 565: function (t) { + "use strict"; + var e = ["orientation", "groupnorm", "stackgaps"]; + t.exports = function (t, r, n, i) { + var a = n._scatterStackOpts, + o = i("stackgroup"); + if (o) { + var s = r.xaxis + r.yaxis, + l = a[s]; + l || (l = a[s] = {}); + var u = l[o], + c = !1; + u + ? u.traces.push(r) + : ((u = l[o] = { traceIndices: [], traces: [r] }), + (c = !0)); + for ( + var f = { orientation: r.x && !r.y ? "h" : "v" }, h = 0; + h < e.length; + h++ + ) { + var p = e[h], + d = p + "Found"; + if (!u[d]) { + var v = void 0 !== t[p], + g = "orientation" === p; + if ( + (v || c) && + ((u[p] = i(p, f[p])), + g && + (u.fillDflt = + "h" === u[p] ? "tonextx" : "tonexty"), + v && + ((u[d] = !0), !c && (delete u.traces[0][p], g))) + ) + for (var y = 0; y < u.traces.length - 1; y++) { + var m = u.traces[y]; + m._input.fill !== m.fill && (m.fill = u.fillDflt); + } + } + } + return u; + } + }; + }, + 16296: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(91424), + a = r(73972); + function o(t, e, r) { + i.pointStyle(t.selectAll("path.point"), e, r); + } + function s(t, e, r) { + i.textPointStyle(t.selectAll("text"), e, r); + } + t.exports = { + style: function (t) { + var e = n.select(t).selectAll("g.trace.scatter"); + e.style("opacity", function (t) { + return t[0].trace.opacity; + }), + e.selectAll("g.points").each(function (e) { + o(n.select(this), e.trace || e[0].trace, t); + }), + e.selectAll("g.text").each(function (e) { + s(n.select(this), e.trace || e[0].trace, t); + }), + e + .selectAll("g.trace path.js-line") + .call(i.lineGroupStyle), + e + .selectAll("g.trace path.js-fill") + .call(i.fillGroupStyle, t), + a.getComponentMethod("errorbars", "style")(e); + }, + stylePoints: o, + styleText: s, + styleOnSelect: function (t, e, r) { + var n = e[0].trace; + n.selectedpoints + ? (i.selectedPointStyle(r.selectAll("path.point"), n), + i.selectedTextStyle(r.selectAll("text"), n)) + : (o(r, n, t), s(r, n, t)); + }, + }; + }, + 34098: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = { + 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")) || + "splom" === t.type) + ); + }, + hasText: function (t) { + return ( + t.visible && t.mode && -1 !== t.mode.indexOf("text") + ); + }, + isBubble: function (t) { + return ( + n.isPlainObject(t.marker) && + n.isArrayOrTypedArray(t.marker.size) + ); + }, + }; + }, + 82410: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e, r, i, a) { + (a = a || {}), + i("textposition"), + n.coerceFont(i, "textfont", a.font || r.font), + a.noSelect || + (i("selected.textfont.color"), + i("unselected.textfont.color")); + }; + }, + 67513: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(73972); + t.exports = function (t, e, r, a) { + var o, + s = a("x"), + l = a("y"); + if ( + (i.getComponentMethod("calendars", "handleTraceDefaults")( + t, + e, + ["x", "y"], + r, + ), + s) + ) { + var u = n.minRowLength(s); + l + ? (o = Math.min(u, n.minRowLength(l))) + : ((o = u), a("y0"), a("dy")); + } else { + if (!l) return 0; + (o = n.minRowLength(l)), a("x0"), a("dx"); + } + return (e._length = o), o; + }; + }, + 44542: function (t, e, r) { + "use strict"; + var n = r(82196), + i = r(50693), + a = r(12663).axisHoverFormat, + o = r(5386).fF, + s = r(5386).si, + l = r(9012), + u = r(29659), + c = r(87381), + f = r(1426).extendFlat, + h = r(30962).overrideAll, + p = r(78607), + d = n.line, + v = n.marker, + g = v.line, + y = f( + { + width: d.width, + dash: { + valType: "enumerated", + values: p(u), + dflt: "solid", + }, + }, + i("line"), + ), + m = (t.exports = h( + { + x: n.x, + y: n.y, + z: { valType: "data_array" }, + text: f({}, n.text, {}), + texttemplate: s({}, {}), + hovertext: f({}, n.hovertext, {}), + hovertemplate: o(), + xhoverformat: a("x"), + yhoverformat: a("y"), + zhoverformat: a("z"), + mode: f({}, n.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: n.connectgaps, + line: y, + marker: f( + { + symbol: { + valType: "enumerated", + values: p(c), + dflt: "circle", + arrayOk: !0, + }, + size: f({}, v.size, { dflt: 8 }), + sizeref: v.sizeref, + sizemin: v.sizemin, + sizemode: v.sizemode, + opacity: f({}, v.opacity, { arrayOk: !1 }), + colorbar: v.colorbar, + line: f( + { width: f({}, g.width, { arrayOk: !1 }) }, + i("marker.line"), + ), + }, + i("marker"), + ), + textposition: f({}, n.textposition, { + dflt: "top center", + }), + textfont: { + color: n.textfont.color, + size: n.textfont.size, + family: f({}, n.textfont.family, { arrayOk: !1 }), + }, + opacity: l.opacity, + hoverinfo: f({}, l.hoverinfo), + }, + "calc", + "nested", + )); + m.x.editType = + m.y.editType = + m.z.editType = + "calc+clearAxisTypes"; + }, + 36563: function (t, e, r) { + "use strict"; + var n = r(75225), + i = r(36922); + t.exports = function (t, e) { + var r = [{ x: !1, y: !1, trace: e, t: {} }]; + return n(r, e), i(t, e), r; + }; + }, + 67336: function (t, e, r) { + "use strict"; + var n = r(73972); + function i(t, e, r, i) { + if (!e || !e.visible) return null; + for ( + var a = n.getComponentMethod( + "errorbars", + "makeComputeError", + )(e), + o = new Array(t.length), + s = 0; + s < t.length; + s++ + ) { + var l = a(+t[s], s); + if ("log" === i.type) { + var u = i.c2l(t[s]), + c = t[s] - l[0], + f = t[s] + l[1]; + if ( + ((o[s] = [ + (i.c2l(c, !0) - u) * r, + (i.c2l(f, !0) - u) * r, + ]), + c > 0) + ) { + var h = i.c2l(c); + i._lowerLogErrorBound || (i._lowerLogErrorBound = h), + (i._lowerErrorBound = Math.min( + i._lowerLogErrorBound, + h, + )); + } + } else o[s] = [-l[0] * r, l[1] * r]; + } + return o; + } + t.exports = function (t, e, r) { + var n = [ + i(t.x, t.error_x, e[0], r.xaxis), + i(t.y, t.error_y, e[1], r.yaxis), + i(t.z, t.error_z, e[2], r.zaxis), + ], + a = (function (t) { + for (var e = 0; e < t.length; e++) + if (t[e]) return t[e].length; + return 0; + })(n); + if (0 === a) return null; + for (var o = new Array(a), s = 0; s < a; s++) { + for ( + var l = [ + [0, 0, 0], + [0, 0, 0], + ], + u = 0; + u < 3; + u++ + ) + if (n[u]) + for (var c = 0; c < 2; c++) l[c][u] = n[u][s][c]; + o[s] = l; + } + return o; + }; + }, + 58925: function (t, e, r) { + "use strict"; + var n = r(9330).gl_line3d, + i = r(9330).gl_scatter3d, + a = r(9330).gl_error3d, + o = r(9330).gl_mesh3d, + s = r(9330).delaunay_triangulate, + l = r(71828), + u = r(78614), + c = r(81697).formatColor, + f = r(39984), + h = r(29659), + p = r(87381), + d = r(89298), + v = r(23469).appendArrayPointValue, + g = r(67336); + function y(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 m = y.prototype; + function x(t) { + return null == t + ? 0 + : t.indexOf("left") > -1 + ? -1 + : t.indexOf("right") > -1 + ? 1 + : 0; + } + function b(t) { + return null == t + ? 0 + : t.indexOf("top") > -1 + ? -1 + : t.indexOf("bottom") > -1 + ? 1 + : 0; + } + function _(t, e) { + return e(4 * t); + } + function w(t) { + return p[t]; + } + function T(t, e, r, n, i) { + var a = null; + if (l.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, l.identity); + return a; + } + function k(t) { + if (l.isArrayOrTypedArray(t)) { + var e = t[0]; + return ( + l.isArrayOrTypedArray(e) && (t = e), + "rgb(" + + t.slice(0, 3).map(function (t) { + return Math.round(255 * t); + }) + + ")" + ); + } + return null; + } + function A(t) { + return l.isArrayOrTypedArray(t) + ? 4 === t.length && "number" == typeof t[0] + ? k(t) + : t.map(k) + : null; + } + (m.handlePick = function (t) { + if ( + t.object && + (t.object === this.linePlot || + t.object === this.delaunayMesh || + t.object === this.textMarkers || + t.object === this.scatterPlot) + ) { + var e = (t.index = t.data.index); + return ( + t.object.highlight && t.object.highlight(null), + this.scatterPlot && + ((t.object = this.scatterPlot), + this.scatterPlot.highlight(t.data)), + (t.textLabel = ""), + this.textLabels && + (Array.isArray(this.textLabels) + ? (this.textLabels[e] || + 0 === this.textLabels[e]) && + (t.textLabel = this.textLabels[e]) + : (t.textLabel = this.textLabels)), + (t.traceCoordinate = [ + this.data.x[e], + this.data.y[e], + this.data.z[e], + ]), + !0 + ); + } + }), + (m.update = function (t) { + var e, + r, + p, + y, + m = this.scene.glplot.gl, + k = h.solid; + this.data = t; + var M = (function (t, e) { + var r, + n, + i, + a, + o, + s, + h = [], + p = t.fullSceneLayout, + y = t.dataScale, + m = p.xaxis, + k = p.yaxis, + A = p.zaxis, + M = e.marker, + S = e.line, + E = e.x || [], + L = e.y || [], + C = e.z || [], + P = E.length, + O = e.xcalendar, + I = e.ycalendar, + D = e.zcalendar; + for (o = 0; o < P; o++) + (r = m.d2l(E[o], 0, O) * y[0]), + (n = k.d2l(L[o], 0, I) * y[1]), + (i = A.d2l(C[o], 0, D) * y[2]), + (h[o] = [r, n, i]); + if (Array.isArray(e.text)) s = e.text; + else if (void 0 !== e.text) + for (s = new Array(P), o = 0; o < P; o++) + s[o] = e.text; + function z(t, e) { + var r = p[t]; + return d.tickText(r, r.d2l(e), !0).text; + } + var R = e.texttemplate; + if (R) { + var F = t.fullLayout._d3locale, + B = Array.isArray(R), + N = B ? Math.min(R.length, P) : P, + j = B + ? function (t) { + return R[t]; + } + : function () { + return R; + }; + for (s = new Array(N), o = 0; o < N; o++) { + var U = { x: E[o], y: L[o], z: C[o] }, + V = { + xLabel: z("xaxis", E[o]), + yLabel: z("yaxis", L[o]), + zLabel: z("zaxis", C[o]), + }, + H = {}; + v(H, e, o); + var q = e._meta || {}; + s[o] = l.texttemplateString(j(o), V, F, H, U, q); + } + } + if ( + ((a = { position: h, mode: e.mode, text: s }), + "line" in e && + ((a.lineColor = c(S, 1, P)), + (a.lineWidth = S.width), + (a.lineDashes = S.dash)), + "marker" in e) + ) { + var G = f(e); + (a.scatterColor = c(M, 1, P)), + (a.scatterSize = T(M.size, P, _, 20, G)), + (a.scatterMarker = T(M.symbol, P, w, "●")), + (a.scatterLineWidth = M.line.width), + (a.scatterLineColor = c(M.line, 1, P)), + (a.scatterAngle = 0); + } + "textposition" in e && + ((a.textOffset = (function (t) { + var e = [0, 0]; + if (Array.isArray(t)) + for (var r = 0; r < t.length; r++) + (e[r] = [0, 0]), + t[r] && + ((e[r][0] = x(t[r])), (e[r][1] = b(t[r]))); + else (e[0] = x(t)), (e[1] = b(t)); + return e; + })(e.textposition)), + (a.textColor = c(e.textfont, 1, P)), + (a.textSize = T(e.textfont.size, P, l.identity, 12)), + (a.textFont = e.textfont.family), + (a.textAngle = 0)); + var Z = ["x", "y", "z"]; + for ( + a.project = [!1, !1, !1], + a.projectScale = [1, 1, 1], + a.projectOpacity = [1, 1, 1], + o = 0; + o < 3; + ++o + ) { + var Y = e.projection[Z[o]]; + (a.project[o] = Y.show) && + ((a.projectOpacity[o] = Y.opacity), + (a.projectScale[o] = Y.scale)); + } + a.errorBounds = g(e, y, p); + var W = (function (t) { + for ( + var e = [0, 0, 0], + r = [ + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + ], + n = [1, 1, 1], + i = 0; + i < 3; + i++ + ) { + var a = t[i]; + a && + !1 !== a.copy_zstyle && + !1 !== t[2].visible && + (a = t[2]), + a && + a.visible && + ((e[i] = a.width / 2), + (r[i] = u(a.color)), + (n[i] = a.thickness)); + } + return { capSize: e, color: r, lineWidth: n }; + })([e.error_x, e.error_y, e.error_z]); + return ( + (a.errorColor = W.color), + (a.errorLineWidth = W.lineWidth), + (a.errorCapSize = W.capSize), + (a.delaunayAxis = e.surfaceaxis), + (a.delaunayColor = u(e.surfacecolor)), + a + ); + })(this.scene, t); + "mode" in M && (this.mode = M.mode), + "lineDashes" in M && + M.lineDashes in h && + (k = h[M.lineDashes]), + (this.color = A(M.scatterColor) || A(M.lineColor)), + (this.dataPoints = M.position), + (e = { + gl: this.scene.glplot.gl, + position: M.position, + color: M.lineColor, + lineWidth: M.lineWidth || 1, + dashes: k[0], + dashScale: k[1], + opacity: t.opacity, + connectGaps: t.connectgaps, + }), + -1 !== this.mode.indexOf("lines") + ? this.linePlot + ? this.linePlot.update(e) + : ((this.linePlot = n(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 S = t.opacity; + if ( + (t.marker && + void 0 !== t.marker.opacity && + (S *= t.marker.opacity), + (r = { + gl: this.scene.glplot.gl, + position: M.position, + color: M.scatterColor, + size: M.scatterSize, + glyph: M.scatterMarker, + opacity: S, + orthographic: !0, + lineWidth: M.scatterLineWidth, + lineColor: M.scatterLineColor, + project: M.project, + projectScale: M.projectScale, + projectOpacity: M.projectOpacity, + }), + -1 !== this.mode.indexOf("markers") + ? this.scatterPlot + ? this.scatterPlot.update(r) + : ((this.scatterPlot = i(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)), + (y = { + gl: this.scene.glplot.gl, + position: M.position, + glyph: M.text, + color: M.textColor, + size: M.textSize, + angle: M.textAngle, + alignment: M.textOffset, + font: M.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(y) + : ((this.textMarkers = i(y)), + (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)), + (p = { + gl: this.scene.glplot.gl, + position: M.position, + color: M.errorColor, + error: M.errorBounds, + lineWidth: M.errorLineWidth, + capSize: M.errorCapSize, + opacity: t.opacity, + }), + this.errorBars + ? M.errorBounds + ? this.errorBars.update(p) + : (this.scene.glplot.remove(this.errorBars), + this.errorBars.dispose(), + (this.errorBars = null)) + : M.errorBounds && + ((this.errorBars = a(p)), + (this.errorBars._trace = this), + this.scene.glplot.add(this.errorBars)), + M.delaunayAxis >= 0) + ) { + var E = (function (t, e, r) { + var n, + i = (r + 1) % 3, + a = (r + 2) % 3, + o = [], + l = []; + for (n = 0; n < t.length; ++n) { + var u = t[n]; + !isNaN(u[i]) && + isFinite(u[i]) && + !isNaN(u[a]) && + isFinite(u[a]) && + (o.push([u[i], u[a]]), l.push(n)); + } + var c = s(o); + for (n = 0; n < c.length; ++n) + for (var f = c[n], h = 0; h < f.length; ++h) + f[h] = l[f[h]]; + return { positions: t, cells: c, meshColor: e }; + })(M.position, M.delaunayColor, M.delaunayAxis); + (E.opacity = t.opacity), + this.delaunayMesh + ? this.delaunayMesh.update(E) + : ((E.gl = m), + (this.delaunayMesh = o(E)), + (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)); + }), + (m.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()); + }), + (t.exports = function (t, e) { + var r = new y(t, e.uid); + return r.update(e), r; + }); + }, + 21428: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(34098), + o = r(49508), + s = r(11058), + l = r(82410), + u = r(44542); + t.exports = function (t, e, r, c) { + function f(r, n) { + return i.coerce(t, e, u, r, n); + } + var h = (function (t, e, r, i) { + var a = 0, + o = r("x"), + s = r("y"), + l = r("z"); + return ( + n.getComponentMethod( + "calendars", + "handleTraceDefaults", + )(t, e, ["x", "y", "z"], i), + o && + s && + l && + ((a = Math.min(o.length, s.length, l.length)), + (e._length = + e._xlength = + e._ylength = + e._zlength = + a)), + a + ); + })(t, e, f, c); + if (h) { + f("text"), + f("hovertext"), + f("hovertemplate"), + f("xhoverformat"), + f("yhoverformat"), + f("zhoverformat"), + f("mode"), + a.hasLines(e) && (f("connectgaps"), s(t, e, r, c, f)), + a.hasMarkers(e) && + o(t, e, r, c, f, { noSelect: !0, noAngle: !0 }), + a.hasText(e) && + (f("texttemplate"), l(t, e, c, f, { noSelect: !0 })); + var p = (e.line || {}).color, + d = (e.marker || {}).color; + f("surfaceaxis") >= 0 && f("surfacecolor", p || d); + for (var v = ["x", "y", "z"], g = 0; g < 3; ++g) { + var y = "projection." + v[g]; + f(y + ".show") && (f(y + ".opacity"), f(y + ".scale")); + } + var m = n.getComponentMethod( + "errorbars", + "supplyDefaults", + ); + m(t, e, p || d || r, { axis: "z" }), + m(t, e, p || d || r, { axis: "y", inherit: "z" }), + m(t, e, p || d || r, { axis: "x", inherit: "z" }); + } else e.visible = !1; + }; + }, + 13551: function (t, e, r) { + "use strict"; + t.exports = { + plot: r(58925), + attributes: r(44542), + markerSymbols: r(87381), + supplyDefaults: r(21428), + colorbar: [ + { container: "marker", min: "cmin", max: "cmax" }, + { container: "line", min: "cmin", max: "cmax" }, + ], + calc: r(36563), + moduleType: "trace", + name: "scatter3d", + basePlotModule: r(58547), + categories: [ + "gl3d", + "symbols", + "showLegend", + "scatter-like", + ], + meta: {}, + }; + }, + 97001: function (t, e, r) { + "use strict"; + var n = r(82196), + i = r(9012), + a = r(5386).fF, + o = r(5386).si, + s = r(50693), + l = r(1426).extendFlat, + u = n.marker, + c = n.line, + f = u.line; + t.exports = { + carpet: { valType: "string", editType: "calc" }, + a: { valType: "data_array", editType: "calc" }, + b: { valType: "data_array", editType: "calc" }, + mode: l({}, n.mode, { dflt: "markers" }), + text: l({}, n.text, {}), + texttemplate: o( + { editType: "plot" }, + { keys: ["a", "b", "text"] }, + ), + hovertext: l({}, n.hovertext, {}), + line: { + color: c.color, + width: c.width, + dash: c.dash, + backoff: c.backoff, + shape: l({}, c.shape, { values: ["linear", "spline"] }), + smoothing: c.smoothing, + editType: "calc", + }, + connectgaps: n.connectgaps, + fill: l({}, n.fill, { + values: ["none", "toself", "tonext"], + dflt: "none", + }), + fillcolor: n.fillcolor, + marker: l( + { + symbol: u.symbol, + opacity: u.opacity, + maxdisplayed: u.maxdisplayed, + angle: u.angle, + angleref: u.angleref, + standoff: u.standoff, + size: u.size, + sizeref: u.sizeref, + sizemin: u.sizemin, + sizemode: u.sizemode, + line: l( + { width: f.width, editType: "calc" }, + s("marker.line"), + ), + gradient: u.gradient, + editType: "calc", + }, + s("marker"), + ), + textfont: n.textfont, + textposition: n.textposition, + selected: n.selected, + unselected: n.unselected, + hoverinfo: l({}, i.hoverinfo, { + flags: ["a", "b", "text", "name"], + }), + hoveron: n.hoveron, + hovertemplate: a(), + }; + }, + 34618: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(36922), + a = r(75225), + o = r(66279), + s = r(47761).calcMarkerSize, + l = r(22882); + t.exports = function (t, e) { + var r = (e._carpetTrace = l(t, e)); + if (r && r.visible && "legendonly" !== r.visible) { + var u; + (e.xaxis = r.xaxis), (e.yaxis = r.yaxis); + var c, + f, + h = e._length, + p = new Array(h), + d = !1; + for (u = 0; u < h; u++) + if (((c = e.a[u]), (f = e.b[u]), n(c) && n(f))) { + var v = r.ab2xy(+c, +f, !0), + g = r.isVisible(+c, +f); + g || (d = !0), + (p[u] = { x: v[0], y: v[1], a: c, b: f, vis: g }); + } else p[u] = { x: !1, y: !1 }; + return ( + (e._needsCull = d), + (p[0].carpet = r), + (p[0].trace = e), + s(e, h), + i(t, e), + a(p, e), + o(p, e), + p + ); + } + }; + }, + 98965: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(47581), + a = r(34098), + o = r(49508), + s = r(11058), + l = r(94039), + u = r(82410), + c = r(28908), + f = r(97001); + t.exports = function (t, e, r, h) { + function p(r, i) { + return n.coerce(t, e, f, r, i); + } + p("carpet"), (e.xaxis = "x"), (e.yaxis = "y"); + var d = p("a"), + v = p("b"), + g = Math.min(d.length, v.length); + if (g) { + (e._length = g), + p("text"), + p("texttemplate"), + p("hovertext"), + p( + "mode", + g < i.PTS_LINESONLY ? "lines+markers" : "lines", + ), + a.hasLines(e) && + (s(t, e, r, h, p, { backoff: !0 }), + l(t, e, p), + p("connectgaps")), + a.hasMarkers(e) && o(t, e, r, h, p, { gradient: !0 }), + a.hasText(e) && u(t, e, h, p); + var y = []; + (a.hasMarkers(e) || a.hasText(e)) && + (p("marker.maxdisplayed"), y.push("points")), + p("fill"), + "none" !== e.fill && + (c(t, e, r, p), a.hasLines(e) || l(t, e, p)), + ("tonext" !== e.fill && "toself" !== e.fill) || + y.push("fills"), + "fills" !== p("hoveron", y.join("+") || "points") && + p("hovertemplate"), + n.coerceSelectionMarkerOpacity(e, p); + } else e.visible = !1; + }; + }, + 16165: function (t) { + "use strict"; + t.exports = function (t, e, r, n, i) { + var a = n[i]; + return (t.a = a.a), (t.b = a.b), (t.y = a.y), t; + }; + }, + 48953: function (t) { + "use strict"; + t.exports = function (t, e) { + var r = {}, + n = e._carpet, + i = n.ab2ij([t.a, t.b]), + a = Math.floor(i[0]), + o = i[0] - a, + s = Math.floor(i[1]), + l = i[1] - s, + u = n.evalxy([], a, s, o, l); + return (r.yLabel = u[1].toFixed(3)), r; + }; + }, + 22931: function (t, e, r) { + "use strict"; + var n = r(33720), + i = r(71828).fillText; + t.exports = function (t, e, r, a) { + var o = n(t, e, r, a); + if (o && !1 !== o[0].index) { + var s = o[0]; + if (void 0 === s.index) { + var l = 1 - s.y0 / t.ya._length, + u = t.xa._length, + c = (u * l) / 2, + f = u - c; + return ( + (s.x0 = Math.max(Math.min(s.x0, f), c)), + (s.x1 = Math.max(Math.min(s.x1, f), c)), + o + ); + } + var h = s.cd[s.index]; + (s.a = h.a), + (s.b = h.b), + (s.xLabelVal = void 0), + (s.yLabelVal = void 0); + var p = s.trace, + d = p._carpet, + v = p._module.formatLabels(h, p); + (s.yLabel = v.yLabel), delete s.text; + var g = []; + if (!p.hovertemplate) { + var y = (h.hi || p.hoverinfo).split("+"); + -1 !== y.indexOf("all") && (y = ["a", "b", "text"]), + -1 !== y.indexOf("a") && m(d.aaxis, h.a), + -1 !== y.indexOf("b") && m(d.baxis, h.b), + g.push("y: " + s.yLabel), + -1 !== y.indexOf("text") && i(h, p, g), + (s.extraText = g.join("
")); + } + return o; + } + function m(t, e) { + var r; + (r = + t.labelprefix && t.labelprefix.length > 0 + ? t.labelprefix.replace(/ = $/, "") + : t._hovertitle), + g.push(r + ": " + e.toFixed(3) + t.labelsuffix); + } + }; + }, + 46858: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(97001), + supplyDefaults: r(98965), + colorbar: r(4898), + formatLabels: r(48953), + calc: r(34618), + plot: r(1913), + style: r(16296).style, + styleOnSelect: r(16296).styleOnSelect, + hoverPoints: r(22931), + selectPoints: r(98002), + eventData: r(16165), + moduleType: "trace", + name: "scattercarpet", + basePlotModule: r(93612), + categories: [ + "svg", + "carpet", + "symbols", + "showLegend", + "carpetDependent", + "zoomScale", + ], + meta: {}, + }; + }, + 1913: function (t, e, r) { + "use strict"; + var n = r(32663), + i = r(89298), + a = r(91424); + t.exports = function (t, e, r, o) { + var s, + l, + u, + c = r[0][0].carpet, + f = i.getFromId(t, c.xaxis || "x"), + h = i.getFromId(t, c.yaxis || "y"), + p = { xaxis: f, yaxis: h, plot: e.plot }; + for (s = 0; s < r.length; s++) + ((l = r[s][0].trace)._xA = f), (l._yA = h); + for (n(t, p, r, o), s = 0; s < r.length; s++) + (l = r[s][0].trace), + (u = o.selectAll("g.trace" + l.uid + " .js-line")), + a.setClipUrl(u, r[s][0].carpet._clipPathId, t); + }; + }, + 19316: function (t, e, r) { + "use strict"; + var n = r(5386).fF, + i = r(5386).si, + a = r(82196), + o = r(9012), + s = r(50693), + l = r(79952).P, + u = r(1426).extendFlat, + c = r(30962).overrideAll, + f = a.marker, + h = a.line, + p = f.line; + t.exports = c( + { + lon: { valType: "data_array" }, + lat: { valType: "data_array" }, + locations: { valType: "data_array" }, + locationmode: { + valType: "enumerated", + values: [ + "ISO-3", + "USA-states", + "country names", + "geojson-id", + ], + dflt: "ISO-3", + }, + geojson: { valType: "any", editType: "calc" }, + featureidkey: { + valType: "string", + editType: "calc", + dflt: "id", + }, + mode: u({}, a.mode, { dflt: "markers" }), + text: u({}, a.text, {}), + texttemplate: i( + { editType: "plot" }, + { keys: ["lat", "lon", "location", "text"] }, + ), + hovertext: u({}, a.hovertext, {}), + textfont: a.textfont, + textposition: a.textposition, + line: { color: h.color, width: h.width, dash: l }, + connectgaps: a.connectgaps, + marker: u( + { + symbol: f.symbol, + opacity: f.opacity, + angle: f.angle, + angleref: u({}, f.angleref, { + values: ["previous", "up", "north"], + }), + standoff: f.standoff, + size: f.size, + sizeref: f.sizeref, + sizemin: f.sizemin, + sizemode: f.sizemode, + colorbar: f.colorbar, + line: u({ width: p.width }, s("marker.line")), + gradient: f.gradient, + }, + s("marker"), + ), + fill: { + valType: "enumerated", + values: ["none", "toself"], + dflt: "none", + }, + fillcolor: a.fillcolor, + selected: a.selected, + unselected: a.unselected, + hoverinfo: u({}, o.hoverinfo, { + flags: ["lon", "lat", "location", "text", "name"], + }), + hovertemplate: n(), + }, + "calc", + "nested", + ); + }, + 84622: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(50606).BADNUM, + a = r(36922), + o = r(75225), + s = r(66279), + l = r(71828)._; + function u(t) { + return t && "string" == typeof t; + } + t.exports = function (t, e) { + var r, + c = Array.isArray(e.locations), + f = c ? e.locations.length : e._length, + h = new Array(f); + r = e.geojson + ? function (t) { + return u(t) || n(t); + } + : u; + for (var p = 0; p < f; p++) { + var d = (h[p] = {}); + if (c) { + var v = e.locations[p]; + d.loc = r(v) ? v : null; + } else { + var g = e.lon[p], + y = e.lat[p]; + n(g) && n(y) + ? (d.lonlat = [+g, +y]) + : (d.lonlat = [i, i]); + } + } + return ( + o(h, e), + a(t, e), + s(h, e), + f && + (h[0].t = { + labels: { + lat: l(t, "lat:") + " ", + lon: l(t, "lon:") + " ", + }, + }), + h + ); + }; + }, + 10659: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(34098), + a = r(49508), + o = r(11058), + s = r(82410), + l = r(28908), + u = r(19316); + t.exports = function (t, e, r, c) { + function f(r, i) { + return n.coerce(t, e, u, r, i); + } + var h, + p = f("locations"); + if (p && p.length) { + var d, + v = f("geojson"); + (("string" == typeof v && "" !== v) || + n.isPlainObject(v)) && + (d = "geojson-id"), + "geojson-id" === f("locationmode", d) && + f("featureidkey"), + (h = p.length); + } else { + var g = f("lon") || [], + y = f("lat") || []; + h = Math.min(g.length, y.length); + } + h + ? ((e._length = h), + f("text"), + f("hovertext"), + f("hovertemplate"), + f("mode"), + i.hasLines(e) && (o(t, e, r, c, f), f("connectgaps")), + i.hasMarkers(e) && a(t, e, r, c, f, { gradient: !0 }), + i.hasText(e) && (f("texttemplate"), s(t, e, c, f)), + f("fill"), + "none" !== e.fill && l(t, e, r, f), + n.coerceSelectionMarkerOpacity(e, f)) + : (e.visible = !1); + }; + }, + 84084: function (t) { + "use strict"; + t.exports = function (t, e, r, n, i) { + (t.lon = e.lon), + (t.lat = e.lat), + (t.location = e.loc ? e.loc : null); + var a = n[i]; + return ( + a.fIn && + a.fIn.properties && + (t.properties = a.fIn.properties), + t + ); + }; + }, + 82719: function (t, e, r) { + "use strict"; + var n = r(89298); + t.exports = function (t, e, r) { + var i = {}, + a = r[e.geo]._subplot.mockAxis, + o = t.lonlat; + return ( + (i.lonLabel = n.tickText(a, a.c2l(o[0]), !0).text), + (i.latLabel = n.tickText(a, a.c2l(o[1]), !0).text), + i + ); + }; + }, + 14977: function (t, e, r) { + "use strict"; + var n = r(30211), + i = r(50606).BADNUM, + a = r(34603), + o = r(71828).fillText, + s = r(19316); + t.exports = function (t, e, r) { + var l = t.cd, + u = l[0].trace, + c = t.xa, + f = t.ya, + h = t.subplot, + p = h.projection.isLonLatOverEdges, + d = h.project; + if ( + (n.getClosest( + l, + function (t) { + var n = t.lonlat; + if (n[0] === i) return 1 / 0; + if (p(n)) return 1 / 0; + var a = d(n), + o = d([e, r]), + s = Math.abs(a[0] - o[0]), + l = Math.abs(a[1] - o[1]), + u = Math.max(3, t.mrc || 0); + return Math.max( + Math.sqrt(s * s + l * l) - u, + 1 - 3 / u, + ); + }, + t, + ), + !1 !== t.index) + ) { + var v = l[t.index], + g = v.lonlat, + y = [c.c2p(g), f.c2p(g)], + m = v.mrc || 1; + (t.x0 = y[0] - m), + (t.x1 = y[0] + m), + (t.y0 = y[1] - m), + (t.y1 = y[1] + m), + (t.loc = v.loc), + (t.lon = g[0]), + (t.lat = g[1]); + var x = {}; + x[u.geo] = { _subplot: h }; + var b = u._module.formatLabels(v, u, x); + return ( + (t.lonLabel = b.lonLabel), + (t.latLabel = b.latLabel), + (t.color = a(u, v)), + (t.extraText = (function (t, e, r, n) { + if (!t.hovertemplate) { + var i = e.hi || t.hoverinfo, + a = + "all" === i ? s.hoverinfo.flags : i.split("+"), + l = + -1 !== a.indexOf("location") && + Array.isArray(t.locations), + u = -1 !== a.indexOf("lon"), + c = -1 !== a.indexOf("lat"), + f = -1 !== a.indexOf("text"), + h = []; + return ( + l + ? h.push(e.loc) + : u && c + ? h.push( + "(" + + p(r.latLabel) + + ", " + + p(r.lonLabel) + + ")", + ) + : u + ? h.push(n.lon + p(r.lonLabel)) + : c && h.push(n.lat + p(r.latLabel)), + f && o(e, t, h), + h.join("
") + ); + } + function p(t) { + return t + "°"; + } + })(u, v, t, l[0].t.labels)), + (t.hovertemplate = u.hovertemplate), + [t] + ); + } + }; + }, + 17988: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(19316), + supplyDefaults: r(10659), + colorbar: r(4898), + formatLabels: r(82719), + calc: r(84622), + calcGeoJSON: r(89171).calcGeoJSON, + plot: r(89171).plot, + style: r(33095), + styleOnSelect: r(16296).styleOnSelect, + hoverPoints: r(14977), + eventData: r(84084), + selectPoints: r(20548), + moduleType: "trace", + name: "scattergeo", + basePlotModule: r(44622), + categories: [ + "geo", + "symbols", + "showLegend", + "scatter-like", + ], + meta: {}, + }; + }, + 89171: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(90973).getTopojsonFeatures, + o = r(18214), + s = r(41327), + l = r(71739).findExtremes, + u = r(50606).BADNUM, + c = r(47761).calcMarkerSize, + f = r(34098), + h = r(33095); + t.exports = { + calcGeoJSON: function (t, e) { + var r, + n, + i = t[0].trace, + o = e[i.geo], + f = o._subplot, + h = i._length; + if (Array.isArray(i.locations)) { + var p = i.locationmode, + d = + "geojson-id" === p + ? s.extractTraceFeature(t) + : a(i, f.topojson); + for (r = 0; r < h; r++) { + n = t[r]; + var v = + "geojson-id" === p + ? n.fOut + : s.locationToFeature(p, n.loc, d); + n.lonlat = v ? v.properties.ct : [u, u]; + } + } + var g, + y, + m = { padded: !0 }; + if ( + "geojson" === o.fitbounds && + "geojson-id" === i.locationmode + ) { + var x = s.computeBbox(s.getTraceGeojson(i)); + (g = [x[0], x[2]]), (y = [x[1], x[3]]); + } else { + for ( + g = new Array(h), y = new Array(h), r = 0; + r < h; + r++ + ) + (n = t[r]), + (g[r] = n.lonlat[0]), + (y[r] = n.lonlat[1]); + m.ppad = c(i, h); + } + (i._extremes.lon = l(o.lonaxis._ax, g, m)), + (i._extremes.lat = l(o.lataxis._ax, y, m)); + }, + plot: function (t, e, r) { + var a = e.layers.frontplot.select(".scatterlayer"), + s = i.makeTraceGroups(a, r, "trace scattergeo"); + function l(t, e) { + t.lonlat[0] === u && n.select(e).remove(); + } + s.selectAll("*").remove(), + s.each(function (e) { + var r = n.select(this), + a = e[0].trace; + if (f.hasLines(a) || "none" !== a.fill) { + var s = o.calcTraceToLineCoords(e), + u = + "none" !== a.fill + ? o.makePolygon(s) + : o.makeLine(s); + r.selectAll("path.js-line") + .data([{ geojson: u, trace: a }]) + .enter() + .append("path") + .classed("js-line", !0) + .style("stroke-miterlimit", 2); + } + f.hasMarkers(a) && + r + .selectAll("path.point") + .data(i.identity) + .enter() + .append("path") + .classed("point", !0) + .each(function (t) { + l(t, this); + }), + f.hasText(a) && + r + .selectAll("g") + .data(i.identity) + .enter() + .append("g") + .append("text") + .each(function (t) { + l(t, this); + }), + h(t, e); + }); + }, + }; + }, + 20548: function (t, e, r) { + "use strict"; + var n = r(34098), + i = r(50606).BADNUM; + t.exports = function (t, e) { + var r, + a, + o, + s, + l, + u = t.cd, + c = t.xaxis, + f = t.yaxis, + h = [], + p = u[0].trace; + if (!n.hasMarkers(p) && !n.hasText(p)) return []; + if (!1 === e) + for (l = 0; l < u.length; l++) u[l].selected = 0; + else + for (l = 0; l < u.length; l++) + (a = (r = u[l]).lonlat)[0] !== i && + ((o = c.c2p(a)), + (s = f.c2p(a)), + e.contains([o, s], null, l, t) + ? (h.push({ pointNumber: l, lon: a[0], lat: a[1] }), + (r.selected = 1)) + : (r.selected = 0)); + return h; + }; + }, + 33095: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(91424), + a = r(7901), + o = r(16296), + s = o.stylePoints, + l = o.styleText; + t.exports = function (t, e) { + e && + (function (t, e) { + var r = e[0].trace, + o = e[0].node3; + o.style("opacity", e[0].trace.opacity), + s(o, r, t), + l(o, r, t), + o + .selectAll("path.js-line") + .style("fill", "none") + .each(function (t) { + var e = n.select(this), + r = t.trace, + o = r.line || {}; + e + .call(a.stroke, o.color) + .call(i.dashLine, o.dash || "", o.width || 0), + "none" !== r.fill && + e.call(a.fill, r.fillcolor); + }); + })(t, e); + }; + }, + 42341: function (t, e, r) { + "use strict"; + var n = r(9012), + i = r(82196), + a = r(12663).axisHoverFormat, + o = r(50693), + s = r(78607), + l = r(1426).extendFlat, + u = r(30962).overrideAll, + c = r(78232).DASHES, + f = i.line, + h = i.marker, + p = h.line, + d = (t.exports = u( + { + x: i.x, + x0: i.x0, + dx: i.dx, + y: i.y, + y0: i.y0, + dy: i.dy, + xperiod: i.xperiod, + yperiod: i.yperiod, + xperiod0: i.xperiod0, + yperiod0: i.yperiod0, + xperiodalignment: i.xperiodalignment, + yperiodalignment: i.yperiodalignment, + xhoverformat: a("x"), + yhoverformat: a("y"), + text: i.text, + hovertext: i.hovertext, + textposition: i.textposition, + textfont: i.textfont, + mode: { + valType: "flaglist", + flags: ["lines", "markers", "text"], + extras: ["none"], + }, + line: { + color: f.color, + width: f.width, + shape: { + valType: "enumerated", + values: ["linear", "hv", "vh", "hvh", "vhv"], + dflt: "linear", + editType: "plot", + }, + dash: { + valType: "enumerated", + values: s(c), + dflt: "solid", + }, + }, + marker: l({}, o("marker"), { + symbol: h.symbol, + angle: h.angle, + size: h.size, + sizeref: h.sizeref, + sizemin: h.sizemin, + sizemode: h.sizemode, + opacity: h.opacity, + colorbar: h.colorbar, + line: l({}, o("marker.line"), { width: p.width }), + }), + connectgaps: i.connectgaps, + fill: l({}, i.fill, { dflt: "none" }), + fillcolor: i.fillcolor, + selected: { + marker: i.selected.marker, + textfont: i.selected.textfont, + }, + unselected: { + marker: i.unselected.marker, + textfont: i.unselected.textfont, + }, + opacity: n.opacity, + }, + "calc", + "nested", + )); + (d.x.editType = + d.y.editType = + d.x0.editType = + d.y0.editType = + "calc+clearAxisTypes"), + (d.hovertemplate = i.hovertemplate), + (d.texttemplate = i.texttemplate); + }, + 72156: function (t, e, r) { + "use strict"; + var n = r(20794); + t.exports = { + moduleType: "trace", + name: "scattergl", + basePlotModule: r(93612), + categories: [ + "gl", + "regl", + "cartesian", + "symbols", + "errorBarsOK", + "showLegend", + "scatter-like", + ], + attributes: r(42341), + supplyDefaults: r(47148), + crossTraceDefaults: r(34936), + colorbar: r(4898), + formatLabels: r(68101), + calc: r(45032), + hoverPoints: n.hoverPoints, + selectPoints: r(58147), + meta: {}, + }; + }, + 45032: function (t, e, r) { + "use strict"; + var n = r(88294), + i = r(71828), + a = r(41675), + o = r(71739).findExtremes, + s = r(42973), + l = r(47761), + u = l.calcMarkerSize, + c = l.calcAxisExpansion, + f = l.setFirstScatter, + h = r(36922), + p = r(19635), + d = r(38967), + v = r(50606).BADNUM, + g = r(78232).TOO_MANY_POINTS; + function y(t, e, r) { + var n = t._extremes[e._id], + i = o(e, r._bnds, { padded: !0 }); + (n.min = n.min.concat(i.min)), + (n.max = n.max.concat(i.max)); + } + t.exports = function (t, e) { + var r, + o = t._fullLayout, + l = (e._xA = a.getFromId(t, e.xaxis, "x")), + m = (e._yA = a.getFromId(t, e.yaxis, "y")), + x = o._plots[e.xaxis + e.yaxis], + b = e._length, + _ = b >= g, + w = 2 * b, + T = {}, + k = l.makeCalcdata(e, "x"), + A = m.makeCalcdata(e, "y"), + M = s(e, l, "x", k), + S = s(e, m, "y", A), + E = M.vals, + L = S.vals; + (e._x = E), + (e._y = L), + e.xperiodalignment && + ((e._origX = k), + (e._xStarts = M.starts), + (e._xEnds = M.ends)), + e.yperiodalignment && + ((e._origY = A), + (e._yStarts = S.starts), + (e._yEnds = S.ends)); + var C = new Array(w), + P = new Array(b); + for (r = 0; r < b; r++) + (C[2 * r] = E[r] === v ? NaN : E[r]), + (C[2 * r + 1] = L[r] === v ? NaN : L[r]), + (P[r] = r); + if ("log" === l.type) + for (r = 0; r < w; r += 2) C[r] = l.c2l(C[r]); + if ("log" === m.type) + for (r = 1; r < w; r += 2) C[r] = m.c2l(C[r]); + _ && "log" !== l.type && "log" !== m.type + ? (T.tree = n(C)) + : (T.ids = P), + h(t, e); + var O, + I = (function (t, e, r, n, a, o) { + var s = p.style(t, r); + if ( + (s.marker && (s.marker.positions = n), + s.line && + n.length > 1 && + i.extendFlat(s.line, p.linePositions(t, r, n)), + s.errorX || s.errorY) + ) { + var l = p.errorBarPositions(t, r, n, a, o); + s.errorX && i.extendFlat(s.errorX, l.x), + s.errorY && i.extendFlat(s.errorY, l.y); + } + return ( + s.text && + (i.extendFlat( + s.text, + { positions: n }, + p.textPosition(t, r, s.text, s.marker), + ), + i.extendFlat( + s.textSel, + { positions: n }, + p.textPosition(t, r, s.text, s.markerSel), + ), + i.extendFlat( + s.textUnsel, + { positions: n }, + p.textPosition(t, r, s.text, s.markerUnsel), + )), + s + ); + })(t, 0, e, C, E, L), + D = d(t, x); + return ( + f(o, e), + _ + ? I.marker && + (O = I.marker.sizeAvg || Math.max(I.marker.size, 3)) + : (O = u(e, b)), + c(t, e, l, m, E, L, O), + I.errorX && y(e, l, I.errorX), + I.errorY && y(e, m, I.errorY), + I.fill && !D.fill2d && (D.fill2d = !0), + I.marker && !D.scatter2d && (D.scatter2d = !0), + I.line && !D.line2d && (D.line2d = !0), + (!I.errorX && !I.errorY) || D.error2d || (D.error2d = !0), + I.text && !D.glText && (D.glText = !0), + I.marker && (I.marker.snap = b), + D.lineOptions.push(I.line), + D.errorXOptions.push(I.errorX), + D.errorYOptions.push(I.errorY), + D.fillOptions.push(I.fill), + D.markerOptions.push(I.marker), + D.markerSelectedOptions.push(I.markerSel), + D.markerUnselectedOptions.push(I.markerUnsel), + D.textOptions.push(I.text), + D.textSelectedOptions.push(I.textSel), + D.textUnselectedOptions.push(I.textUnsel), + D.selectBatch.push([]), + D.unselectBatch.push([]), + (T._scene = D), + (T.index = D.count), + (T.x = E), + (T.y = L), + (T.positions = C), + D.count++, + [{ x: !1, y: !1, t: T, trace: e }] + ); + }; + }, + 78232: function (t) { + "use strict"; + t.exports = { + TOO_MANY_POINTS: 1e5, + SYMBOL_SDF_SIZE: 200, + SYMBOL_SIZE: 20, + SYMBOL_STROKE: 1, + DOT_RE: /-dot/, + OPEN_RE: /-open/, + DASHES: { + solid: [1], + dot: [1, 1], + dash: [4, 1], + longdash: [8, 1], + dashdot: [4, 1, 1, 1], + longdashdot: [8, 1, 1, 1], + }, + }; + }, + 19635: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(82019), + a = r(25075), + o = r(73972), + s = r(71828), + l = r(91424), + u = r(41675), + c = r(81697).formatColor, + f = r(34098), + h = r(39984), + p = r(68645), + d = r(78232), + v = r(37822).DESELECTDIM, + g = { + start: 1, + left: 1, + end: -1, + right: -1, + middle: 0, + center: 0, + bottom: 1, + top: -1, + }, + y = r(23469).appendArrayPointValue; + function m(t, e) { + var r, + i = t._fullLayout, + a = e._length, + o = e.textfont, + l = e.textposition, + u = Array.isArray(l) ? l : [l], + c = o.color, + f = o.size, + h = o.family, + p = {}, + d = t._context.plotGlPixelRatio, + v = e.texttemplate; + if (v) { + p.text = []; + var g = i._d3locale, + m = Array.isArray(v), + x = m ? Math.min(v.length, a) : a, + b = m + ? function (t) { + return v[t]; + } + : function () { + return v; + }; + for (r = 0; r < x; r++) { + var _ = { i: r }, + w = e._module.formatLabels(_, e, i), + T = {}; + y(T, e, r); + var k = e._meta || {}; + p.text.push(s.texttemplateString(b(r), w, g, T, _, k)); + } + } else + Array.isArray(e.text) && e.text.length < a + ? (p.text = e.text.slice()) + : (p.text = e.text); + if (Array.isArray(p.text)) + for (r = p.text.length; r < a; r++) p.text[r] = ""; + for ( + p.opacity = e.opacity, + p.font = {}, + p.align = [], + p.baseline = [], + r = 0; + r < u.length; + r++ + ) { + var A = u[r].split(/\s+/); + switch (A[1]) { + case "left": + p.align.push("right"); + break; + case "right": + p.align.push("left"); + break; + default: + p.align.push(A[1]); + } + switch (A[0]) { + case "top": + p.baseline.push("bottom"); + break; + case "bottom": + p.baseline.push("top"); + break; + default: + p.baseline.push(A[0]); + } + } + if (Array.isArray(c)) + for (p.color = new Array(a), r = 0; r < a; r++) + p.color[r] = c[r]; + else p.color = c; + if (s.isArrayOrTypedArray(f) || Array.isArray(h)) + for (p.font = new Array(a), r = 0; r < a; r++) { + var M = (p.font[r] = {}); + (M.size = + (s.isTypedArray(f) + ? f[r] + : Array.isArray(f) + ? n(f[r]) + ? f[r] + : 0 + : f) * d), + (M.family = Array.isArray(h) ? h[r] : h); + } + else p.font = { size: f * d, family: h }; + return p; + } + function x(t, e) { + var r, + n, + i = e._length, + o = e.marker, + l = {}, + u = s.isArrayOrTypedArray(o.symbol), + f = s.isArrayOrTypedArray(o.angle), + d = s.isArrayOrTypedArray(o.color), + v = s.isArrayOrTypedArray(o.line.color), + g = s.isArrayOrTypedArray(o.opacity), + y = s.isArrayOrTypedArray(o.size), + m = s.isArrayOrTypedArray(o.line.width); + if ( + (u || (n = p.isOpenSymbol(o.symbol)), + u || d || v || g || f) + ) { + (l.symbols = new Array(i)), + (l.angles = new Array(i)), + (l.colors = new Array(i)), + (l.borderColors = new Array(i)); + var x = o.symbol, + b = o.angle, + _ = c(o, o.opacity, i), + w = c(o.line, o.opacity, i); + if (!Array.isArray(w[0])) { + var T = w; + for (w = Array(i), r = 0; r < i; r++) w[r] = T; + } + if (!Array.isArray(_[0])) { + var k = _; + for (_ = Array(i), r = 0; r < i; r++) _[r] = k; + } + if (!Array.isArray(x)) { + var A = x; + for (x = Array(i), r = 0; r < i; r++) x[r] = A; + } + if (!Array.isArray(b)) { + var M = b; + for (b = Array(i), r = 0; r < i; r++) b[r] = M; + } + for ( + l.symbols = x, + l.angles = b, + l.colors = _, + l.borderColors = w, + r = 0; + r < i; + r++ + ) + u && (n = p.isOpenSymbol(o.symbol[r])), + n && + ((w[r] = _[r].slice()), + (_[r] = _[r].slice()), + (_[r][3] = 0)); + for ( + l.opacity = e.opacity, l.markers = new Array(i), r = 0; + r < i; + r++ + ) + l.markers[r] = E( + { mx: l.symbols[r], ma: l.angles[r] }, + e, + ); + } else + n + ? ((l.color = a(o.color, "uint8")), + (l.color[3] = 0), + (l.borderColor = a(o.color, "uint8"))) + : ((l.color = a(o.color, "uint8")), + (l.borderColor = a(o.line.color, "uint8"))), + (l.opacity = e.opacity * o.opacity), + (l.marker = E({ mx: o.symbol, ma: o.angle }, e)); + var S, + L = h(e, 1); + if (y || m) { + var C, + P = (l.sizes = new Array(i)), + O = (l.borderSizes = new Array(i)), + I = 0; + if (y) { + for (r = 0; r < i; r++) + (P[r] = L(o.size[r])), (I += P[r]); + C = I / i; + } else for (S = L(o.size), r = 0; r < i; r++) P[r] = S; + if (m) for (r = 0; r < i; r++) O[r] = o.line.width[r]; + else for (S = o.line.width, r = 0; r < i; r++) O[r] = S; + l.sizeAvg = C; + } else + (l.size = L((o && o.size) || 10)), + (l.borderSizes = L(o.line.width)); + return l; + } + function b(t, e, r) { + var n = e.marker, + i = {}; + return r + ? (r.marker && r.marker.symbol + ? (i = x(0, s.extendFlat({}, n, r.marker))) + : r.marker && + (r.marker.size && (i.size = r.marker.size), + r.marker.color && (i.colors = r.marker.color), + void 0 !== r.marker.opacity && + (i.opacity = r.marker.opacity)), + i) + : i; + } + function _(t, e, r) { + var n = {}; + if (!r) return n; + if (r.textfont) { + var i = { + opacity: 1, + text: e.text, + texttemplate: e.texttemplate, + textposition: e.textposition, + textfont: s.extendFlat({}, e.textfont), + }; + r.textfont && s.extendFlat(i.textfont, r.textfont), + (n = m(t, i)); + } + return n; + } + function w(t, e, r) { + var n = { + capSize: 2 * e.width * r, + lineWidth: e.thickness * r, + color: e.color, + }; + return e.copy_ystyle && (n = t.error_y), n; + } + var T = d.SYMBOL_SDF_SIZE, + k = d.SYMBOL_SIZE, + A = d.SYMBOL_STROKE, + M = {}, + S = l.symbolFuncs[0](0.05 * k); + function E(t, e) { + var r, + n, + a = t.mx; + if ("circle" === a) return null; + var o = l.symbolNumber(a), + s = l.symbolFuncs[o % 100], + u = !!l.symbolNoDot[o % 100], + c = !!l.symbolNoFill[o % 100], + f = p.isDotSymbol(a); + if ((t.ma && (a += "_" + t.ma), M[a])) return M[a]; + var h = l.getMarkerAngle(t, e); + return ( + (r = f && !u ? s(1.1 * k, h) + S : s(k, h)), + (n = i(r, { + w: T, + h: T, + viewBox: [-k, -k, k, k], + stroke: c ? A : -A, + })), + (M[a] = n), + n || null + ); + } + t.exports = { + style: function (t, e) { + var r, + n = { + marker: void 0, + markerSel: void 0, + markerUnsel: void 0, + line: void 0, + fill: void 0, + errorX: void 0, + errorY: void 0, + text: void 0, + textSel: void 0, + textUnsel: void 0, + }, + i = t._context.plotGlPixelRatio; + if (!0 !== e.visible) return n; + if ( + (f.hasText(e) && + ((n.text = m(t, e)), + (n.textSel = _(t, e, e.selected)), + (n.textUnsel = _(t, e, e.unselected))), + f.hasMarkers(e) && + ((n.marker = x(0, e)), + (n.markerSel = b(0, e, e.selected)), + (n.markerUnsel = b(0, e, e.unselected)), + !e.unselected && + s.isArrayOrTypedArray(e.marker.opacity))) + ) { + var a = e.marker.opacity; + for ( + n.markerUnsel.opacity = new Array(a.length), r = 0; + r < a.length; + r++ + ) + n.markerUnsel.opacity[r] = v * a[r]; + } + if (f.hasLines(e)) { + n.line = { + overlay: !0, + thickness: e.line.width * i, + color: e.line.color, + opacity: e.opacity, + }; + var o = (d.DASHES[e.line.dash] || [1]).slice(); + for (r = 0; r < o.length; ++r) o[r] *= e.line.width * i; + n.line.dashes = o; + } + return ( + e.error_x && + e.error_x.visible && + (n.errorX = w(e, e.error_x, i)), + e.error_y && + e.error_y.visible && + (n.errorY = w(e, e.error_y, i)), + e.fill && + "none" !== e.fill && + (n.fill = { + closed: !0, + fill: e.fillcolor, + thickness: 0, + }), + n + ); + }, + markerStyle: x, + markerSelection: b, + linePositions: function (t, e, r) { + var n, + i, + a = r.length, + o = a / 2; + if (f.hasLines(e) && o) + if ("hv" === e.line.shape) { + for (n = [], i = 0; i < o - 1; i++) + isNaN(r[2 * i]) || isNaN(r[2 * i + 1]) + ? n.push(NaN, NaN, NaN, NaN) + : (n.push(r[2 * i], r[2 * i + 1]), + isNaN(r[2 * i + 2]) || isNaN(r[2 * i + 3]) + ? n.push(NaN, NaN) + : n.push(r[2 * i + 2], r[2 * i + 1])); + n.push(r[a - 2], r[a - 1]); + } else if ("hvh" === e.line.shape) { + for (n = [], i = 0; i < o - 1; i++) + if ( + isNaN(r[2 * i]) || + isNaN(r[2 * i + 1]) || + isNaN(r[2 * i + 2]) || + isNaN(r[2 * i + 3]) + ) + isNaN(r[2 * i]) || isNaN(r[2 * i + 1]) + ? n.push(NaN, NaN) + : n.push(r[2 * i], r[2 * i + 1]), + n.push(NaN, NaN); + else { + var s = (r[2 * i] + r[2 * i + 2]) / 2; + n.push( + r[2 * i], + r[2 * i + 1], + s, + r[2 * i + 1], + s, + r[2 * i + 3], + ); + } + n.push(r[a - 2], r[a - 1]); + } else if ("vhv" === e.line.shape) { + for (n = [], i = 0; i < o - 1; i++) + if ( + isNaN(r[2 * i]) || + isNaN(r[2 * i + 1]) || + isNaN(r[2 * i + 2]) || + isNaN(r[2 * i + 3]) + ) + isNaN(r[2 * i]) || isNaN(r[2 * i + 1]) + ? n.push(NaN, NaN) + : n.push(r[2 * i], r[2 * i + 1]), + n.push(NaN, NaN); + else { + var l = (r[2 * i + 1] + r[2 * i + 3]) / 2; + n.push( + r[2 * i], + r[2 * i + 1], + r[2 * i], + l, + r[2 * i + 2], + l, + ); + } + n.push(r[a - 2], r[a - 1]); + } else if ("vh" === e.line.shape) { + for (n = [], i = 0; i < o - 1; i++) + isNaN(r[2 * i]) || isNaN(r[2 * i + 1]) + ? n.push(NaN, NaN, NaN, NaN) + : (n.push(r[2 * i], r[2 * i + 1]), + isNaN(r[2 * i + 2]) || isNaN(r[2 * i + 3]) + ? n.push(NaN, NaN) + : n.push(r[2 * i], r[2 * i + 3])); + n.push(r[a - 2], r[a - 1]); + } else n = r; + var u = !1; + for (i = 0; i < n.length; i++) + if (isNaN(n[i])) { + u = !0; + break; + } + var c = + u || n.length > d.TOO_MANY_POINTS || f.hasMarkers(e) + ? "rect" + : "round"; + if (u && e.connectgaps) { + var h = n[0], + p = n[1]; + for (i = 0; i < n.length; i += 2) + isNaN(n[i]) || isNaN(n[i + 1]) + ? ((n[i] = h), (n[i + 1] = p)) + : ((h = n[i]), (p = n[i + 1])); + } + return { join: c, positions: n }; + }, + errorBarPositions: function (t, e, r, i, a) { + var s = o.getComponentMethod( + "errorbars", + "makeComputeError", + ), + l = u.getFromId(t, e.xaxis, "x"), + c = u.getFromId(t, e.yaxis, "y"), + f = r.length / 2, + h = {}; + function p(t, i) { + var a = i._id.charAt(0), + o = e["error_" + a]; + if ( + o && + o.visible && + ("linear" === i.type || "log" === i.type) + ) { + for ( + var l = s(o), + u = { x: 0, y: 1 }[a], + c = { x: [0, 1, 2, 3], y: [2, 3, 0, 1] }[a], + p = new Float64Array(4 * f), + d = 1 / 0, + v = -1 / 0, + g = 0, + y = 0; + g < f; + g++, y += 4 + ) { + var m = t[g]; + if (n(m)) { + var x = r[2 * g + u], + b = l(m, g), + _ = b[0], + w = b[1]; + if (n(_) && n(w)) { + var T = m - _, + k = m + w; + (p[y + c[0]] = x - i.c2l(T)), + (p[y + c[1]] = i.c2l(k) - x), + (p[y + c[2]] = 0), + (p[y + c[3]] = 0), + (d = Math.min(d, m - _)), + (v = Math.max(v, m + w)); + } + } + } + h[a] = { positions: r, errors: p, _bnds: [d, v] }; + } + } + return p(i, l), p(a, c), h; + }, + textPosition: function (t, e, r, n) { + var i, + a = e._length, + o = {}; + if (f.hasMarkers(e)) { + var s = r.font, + l = r.align, + u = r.baseline; + for (o.offset = new Array(a), i = 0; i < a; i++) { + var c = n.sizes ? n.sizes[i] : n.size, + h = Array.isArray(s) ? s[i].size : s.size, + p = Array.isArray(l) + ? l.length > 1 + ? l[i] + : l[0] + : l, + d = Array.isArray(u) + ? u.length > 1 + ? u[i] + : u[0] + : u, + v = g[p], + y = g[d], + m = c ? c / 0.8 + 1 : 0, + x = -y * m - 0.5 * y; + o.offset[i] = [(v * m) / h, x / h]; + } + } + return o; + }, + }; + }, + 47148: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(73972), + a = r(68645), + o = r(42341), + s = r(47581), + l = r(34098), + u = r(67513), + c = r(73927), + f = r(49508), + h = r(11058), + p = r(28908), + d = r(82410); + t.exports = function (t, e, r, v) { + function g(r, i) { + return n.coerce(t, e, o, r, i); + } + var y = !!t.marker && a.isOpenSymbol(t.marker.symbol), + m = l.isBubble(t), + x = u(t, e, v, g); + if (x) { + c(t, e, v, g), g("xhoverformat"), g("yhoverformat"); + var b = x < s.PTS_LINESONLY ? "lines+markers" : "lines"; + g("text"), + g("hovertext"), + g("hovertemplate"), + g("mode", b), + l.hasLines(e) && + (g("connectgaps"), h(t, e, r, v, g), g("line.shape")), + l.hasMarkers(e) && + (f(t, e, r, v, g, { noAngleRef: !0, noStandOff: !0 }), + g("marker.line.width", y || m ? 1 : 0)), + l.hasText(e) && (g("texttemplate"), d(t, e, v, g)); + var _ = (e.line || {}).color, + w = (e.marker || {}).color; + g("fill"), "none" !== e.fill && p(t, e, r, g); + var T = i.getComponentMethod( + "errorbars", + "supplyDefaults", + ); + T(t, e, _ || w || r, { axis: "y" }), + T(t, e, _ || w || r, { axis: "x", inherit: "y" }), + n.coerceSelectionMarkerOpacity(e, g); + } else e.visible = !1; + }; + }, + 5345: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(37822).DESELECTDIM; + t.exports = { + styleTextSelection: function (t) { + var e, + r, + o = t[0], + s = o.trace, + l = o.t, + u = l._scene, + c = l.index, + f = u.selectBatch[c], + h = u.unselectBatch[c], + p = u.textOptions[c], + d = u.textSelectedOptions[c] || {}, + v = u.textUnselectedOptions[c] || {}, + g = n.extendFlat({}, p); + if (f.length || h.length) { + var y = d.color, + m = v.color, + x = p.color, + b = Array.isArray(x); + for ( + g.color = new Array(s._length), e = 0; + e < f.length; + e++ + ) + (r = f[e]), (g.color[r] = y || (b ? x[r] : x)); + for (e = 0; e < h.length; e++) { + r = h[e]; + var _ = b ? x[r] : x; + g.color[r] = m || (y ? _ : i.addOpacity(_, a)); + } + } + u.glText[c].update(g); + }, + }; + }, + 68101: function (t, e, r) { + "use strict"; + var n = r(8225); + t.exports = function (t, e, r) { + var i = t.i; + return ( + "x" in t || (t.x = e._x[i]), + "y" in t || (t.y = e._y[i]), + n(t, e, r) + ); + }; + }, + 68645: function (t, e, r) { + "use strict"; + var n = r(78232); + (e.isOpenSymbol = function (t) { + return "string" == typeof t + ? n.OPEN_RE.test(t) + : t % 200 > 100; + }), + (e.isDotSymbol = function (t) { + return "string" == typeof t ? n.DOT_RE.test(t) : t > 200; + }); + }, + 20794: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(34603); + function o(t, e, r, o) { + var s = t.xa, + l = t.ya, + u = t.distance, + c = t.dxy, + f = t.index, + h = { pointNumber: f, x: e[f], y: r[f] }; + (h.tx = Array.isArray(o.text) ? o.text[f] : o.text), + (h.htx = Array.isArray(o.hovertext) + ? o.hovertext[f] + : o.hovertext), + (h.data = Array.isArray(o.customdata) + ? o.customdata[f] + : o.customdata), + (h.tp = Array.isArray(o.textposition) + ? o.textposition[f] + : o.textposition); + var p = o.textfont; + p && + ((h.ts = i.isArrayOrTypedArray(p.size) + ? p.size[f] + : p.size), + (h.tc = Array.isArray(p.color) ? p.color[f] : p.color), + (h.tf = Array.isArray(p.family) + ? p.family[f] + : p.family)); + var d = o.marker; + d && + ((h.ms = i.isArrayOrTypedArray(d.size) + ? d.size[f] + : d.size), + (h.mo = i.isArrayOrTypedArray(d.opacity) + ? d.opacity[f] + : d.opacity), + (h.mx = i.isArrayOrTypedArray(d.symbol) + ? d.symbol[f] + : d.symbol), + (h.ma = i.isArrayOrTypedArray(d.angle) + ? d.angle[f] + : d.angle), + (h.mc = i.isArrayOrTypedArray(d.color) + ? d.color[f] + : d.color)); + var v = d && d.line; + v && + ((h.mlc = Array.isArray(v.color) ? v.color[f] : v.color), + (h.mlw = i.isArrayOrTypedArray(v.width) + ? v.width[f] + : v.width)); + var g = d && d.gradient; + g && + "none" !== g.type && + ((h.mgt = Array.isArray(g.type) ? g.type[f] : g.type), + (h.mgc = Array.isArray(g.color) ? g.color[f] : g.color)); + var y = s.c2p(h.x, !0), + m = l.c2p(h.y, !0), + x = h.mrc || 1, + b = o.hoverlabel; + b && + ((h.hbg = Array.isArray(b.bgcolor) + ? b.bgcolor[f] + : b.bgcolor), + (h.hbc = Array.isArray(b.bordercolor) + ? b.bordercolor[f] + : b.bordercolor), + (h.hts = i.isArrayOrTypedArray(b.font.size) + ? b.font.size[f] + : b.font.size), + (h.htc = Array.isArray(b.font.color) + ? b.font.color[f] + : b.font.color), + (h.htf = Array.isArray(b.font.family) + ? b.font.family[f] + : b.font.family), + (h.hnl = i.isArrayOrTypedArray(b.namelength) + ? b.namelength[f] + : b.namelength)); + var _ = o.hoverinfo; + _ && (h.hi = Array.isArray(_) ? _[f] : _); + var w = o.hovertemplate; + w && (h.ht = Array.isArray(w) ? w[f] : w); + var T = {}; + T[t.index] = h; + var k = o._origX, + A = o._origY, + M = i.extendFlat({}, t, { + color: a(o, h), + x0: y - x, + x1: y + x, + xLabelVal: k ? k[f] : h.x, + y0: m - x, + y1: m + x, + yLabelVal: A ? A[f] : h.y, + cd: T, + distance: u, + spikeDistance: c, + hovertemplate: h.ht, + }); + return ( + h.htx + ? (M.text = h.htx) + : h.tx + ? (M.text = h.tx) + : o.text && (M.text = o.text), + i.fillText(h, o, M), + n.getComponentMethod("errorbars", "hoverInfo")(h, o, M), + M + ); + } + t.exports = { + hoverPoints: function (t, e, r, n) { + var i, + a, + s, + l, + u, + c, + f, + h, + p, + d, + v = t.cd, + g = v[0].t, + y = v[0].trace, + m = t.xa, + x = t.ya, + b = g.x, + _ = g.y, + w = m.c2p(e), + T = x.c2p(r), + k = t.distance; + if (g.tree) { + var A = m.p2c(w - k), + M = m.p2c(w + k), + S = x.p2c(T - k), + E = x.p2c(T + k); + i = + "x" === n + ? g.tree.range( + Math.min(A, M), + Math.min(x._rl[0], x._rl[1]), + Math.max(A, M), + Math.max(x._rl[0], x._rl[1]), + ) + : g.tree.range( + Math.min(A, M), + Math.min(S, E), + Math.max(A, M), + Math.max(S, E), + ); + } else i = g.ids; + var L = k; + if ("x" === n) { + var C = !!y.xperiodalignment, + P = !!y.yperiodalignment; + for (c = 0; c < i.length; c++) { + if ( + ((l = b[(a = i[c])]), + (f = Math.abs(m.c2p(l) - w)), + C) + ) { + var O = m.c2p(y._xStarts[a]), + I = m.c2p(y._xEnds[a]); + f = + w >= Math.min(O, I) && w <= Math.max(O, I) + ? 0 + : 1 / 0; + } + if (f < L) { + if (((L = f), (u = _[a]), (h = x.c2p(u) - T), P)) { + var D = x.c2p(y._yStarts[a]), + z = x.c2p(y._yEnds[a]); + h = + T >= Math.min(D, z) && T <= Math.max(D, z) + ? 0 + : 1 / 0; + } + (d = Math.sqrt(f * f + h * h)), (s = i[c]); + } + } + } else + for (c = i.length - 1; c > -1; c--) + (l = b[(a = i[c])]), + (u = _[a]), + (f = m.c2p(l) - w), + (h = x.c2p(u) - T), + (p = Math.sqrt(f * f + h * h)) < L && + ((L = d = p), (s = a)); + return ( + (t.index = s), + (t.distance = L), + (t.dxy = d), + void 0 === s ? [t] : [o(t, b, _, y)] + ); + }, + calcHover: o, + }; + }, + 68868: function (t, e, r) { + "use strict"; + var n = r(72156); + (n.plot = r(26787)), (t.exports = n); + }, + 26787: function (t, e, r) { + "use strict"; + var n = r(11870), + i = r(46075), + a = r(3593), + o = r(42505), + s = r(71828), + l = r(64505).selectMode, + u = r(79749), + c = r(34098), + f = r(68687), + h = r(5345).styleTextSelection, + p = {}; + function d(t, e, r, n) { + var i = t._size, + a = t.width * n, + o = t.height * n, + s = i.l * n, + l = i.b * n, + u = i.r * n, + c = i.t * n, + f = i.w * n, + h = i.h * n; + return [ + s + e.domain[0] * f, + l + r.domain[0] * h, + a - u - (1 - e.domain[1]) * f, + o - c - (1 - r.domain[1]) * h, + ]; + } + (t.exports = function (t, e, r) { + if (r.length) { + var v, + g, + y = t._fullLayout, + m = e._scene, + x = e.xaxis, + b = e.yaxis; + if (m) + if ( + u( + t, + [ + "ANGLE_instanced_arrays", + "OES_element_index_uint", + ], + p, + ) + ) { + var _ = m.count, + w = y._glcanvas.data()[0].regl; + if ((f(t, e, r), m.dirty)) { + if ( + (!0 === m.error2d && (m.error2d = a(w)), + !0 === m.line2d && (m.line2d = i(w)), + !0 === m.scatter2d && (m.scatter2d = n(w)), + !0 === m.fill2d && (m.fill2d = i(w)), + !0 === m.glText) + ) + for (m.glText = new Array(_), v = 0; v < _; v++) + m.glText[v] = new o(w); + if (m.glText) { + if (_ > m.glText.length) { + var T = _ - m.glText.length; + for (v = 0; v < T; v++) m.glText.push(new o(w)); + } else if (_ < m.glText.length) { + var k = m.glText.length - _; + m.glText.splice(_, k).forEach(function (t) { + t.destroy(); + }); + } + for (v = 0; v < _; v++) + m.glText[v].update(m.textOptions[v]); + } + if ( + (m.line2d && + (m.line2d.update(m.lineOptions), + (m.lineOptions = m.lineOptions.map( + function (t) { + if (t && t.positions) { + for ( + var e = t.positions, r = 0; + r < e.length && + (isNaN(e[r]) || isNaN(e[r + 1])); + + ) + r += 2; + for ( + var n = e.length - 2; + n > r && + (isNaN(e[n]) || isNaN(e[n + 1])); + + ) + n -= 2; + t.positions = e.slice(r, n + 2); + } + return t; + }, + )), + m.line2d.update(m.lineOptions)), + m.error2d) + ) { + var A = (m.errorXOptions || []).concat( + m.errorYOptions || [], + ); + m.error2d.update(A); + } + m.scatter2d && m.scatter2d.update(m.markerOptions), + (m.fillOrder = s.repeat(null, _)), + m.fill2d && + ((m.fillOptions = m.fillOptions.map( + function (t, e) { + var n = r[e]; + if (t && n && n[0] && n[0].trace) { + var i, + a, + o = n[0], + s = o.trace, + l = o.t, + u = m.lineOptions[e], + c = []; + s._ownfill && c.push(e), + s._nexttrace && c.push(e + 1), + c.length && (m.fillOrder[e] = c); + var f, + h, + p = [], + d = (u && u.positions) || l.positions; + if ("tozeroy" === s.fill) { + for ( + f = 0; + f < d.length && isNaN(d[f + 1]); + + ) + f += 2; + for ( + h = d.length - 2; + h > f && isNaN(d[h + 1]); + + ) + h -= 2; + 0 !== d[f + 1] && (p = [d[f], 0]), + (p = p.concat(d.slice(f, h + 2))), + 0 !== d[h + 1] && + (p = p.concat([d[h], 0])); + } else if ("tozerox" === s.fill) { + for ( + f = 0; + f < d.length && isNaN(d[f]); + + ) + f += 2; + for ( + h = d.length - 2; + h > f && isNaN(d[h]); + + ) + h -= 2; + 0 !== d[f] && (p = [0, d[f + 1]]), + (p = p.concat(d.slice(f, h + 2))), + 0 !== d[h] && + (p = p.concat([0, d[h + 1]])); + } else if ( + "toself" === s.fill || + "tonext" === s.fill + ) { + for ( + p = [], + i = 0, + t.splitNull = !0, + a = 0; + a < d.length; + a += 2 + ) + (isNaN(d[a]) || isNaN(d[a + 1])) && + ((p = p.concat(d.slice(i, a))).push( + d[i], + d[i + 1], + ), + p.push(null, null), + (i = a + 2)); + (p = p.concat(d.slice(i))), + i && p.push(d[i], d[i + 1]); + } else { + var v = s._nexttrace; + if (v) { + var g = m.lineOptions[e + 1]; + if (g) { + var y = g.positions; + if ("tonexty" === s.fill) { + for ( + p = d.slice(), + e = Math.floor(y.length / 2); + e--; + + ) { + var x = y[2 * e], + b = y[2 * e + 1]; + isNaN(x) || + isNaN(b) || + p.push(x, b); + } + t.fill = v.fillcolor; + } + } + } + } + if ( + s._prevtrace && + "tonext" === s._prevtrace.fill + ) { + var _ = m.lineOptions[e - 1].positions, + w = p.length / 2, + T = [(i = w)]; + for (a = 0; a < _.length; a += 2) + (isNaN(_[a]) || isNaN(_[a + 1])) && + (T.push(a / 2 + w + 1), + (i = a + 2)); + (p = p.concat(_)), (t.hole = T); + } + return ( + (t.fillmode = s.fill), + (t.opacity = s.opacity), + (t.positions = p), + t + ); + } + }, + )), + m.fill2d.update(m.fillOptions)); + } + var M = y.dragmode, + S = l(M), + E = y.clickmode.indexOf("select") > -1; + for (v = 0; v < _; v++) { + var L = r[v][0], + C = L.trace, + P = L.t, + O = P.index, + I = C._length, + D = P.x, + z = P.y; + if (C.selectedpoints || S || E) { + if ((S || (S = !0), C.selectedpoints)) { + var R = (m.selectBatch[O] = + s.selIndices2selPoints(C)), + F = {}; + for (g = 0; g < R.length; g++) F[R[g]] = 1; + var B = []; + for (g = 0; g < I; g++) F[g] || B.push(g); + m.unselectBatch[O] = B; + } + var N = (P.xpx = new Array(I)), + j = (P.ypx = new Array(I)); + for (g = 0; g < I; g++) + (N[g] = x.c2p(D[g])), (j[g] = b.c2p(z[g])); + } else P.xpx = P.ypx = null; + } + if (S) { + if ( + (m.select2d || + (m.select2d = n(y._glcanvas.data()[1].regl)), + m.scatter2d) + ) { + var U = new Array(_); + for (v = 0; v < _; v++) + U[v] = + m.selectBatch[v].length || + m.unselectBatch[v].length + ? m.markerUnselectedOptions[v] + : {}; + m.scatter2d.update(U); + } + m.select2d && + (m.select2d.update(m.markerOptions), + m.select2d.update(m.markerSelectedOptions)), + m.glText && + r.forEach(function (t) { + var e = ((t || [])[0] || {}).trace || {}; + c.hasText(e) && h(t); + }); + } else + m.scatter2d && m.scatter2d.update(m.markerOptions); + var V = { + viewport: d(y, x, b, t._context.plotGlPixelRatio), + range: [ + (x._rl || x.range)[0], + (b._rl || b.range)[0], + (x._rl || x.range)[1], + (b._rl || b.range)[1], + ], + }, + H = s.repeat(V, m.count); + m.fill2d && m.fill2d.update(H), + m.line2d && m.line2d.update(H), + m.error2d && m.error2d.update(H.concat(H)), + m.scatter2d && m.scatter2d.update(H), + m.select2d && m.select2d.update(H), + m.glText && + m.glText.forEach(function (t) { + t.update(V); + }); + } else m.init(); + } + }).reglPrecompiled = p; + }, + 38967: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e) { + var r = e._scene, + i = { + count: 0, + dirty: !0, + lineOptions: [], + fillOptions: [], + markerOptions: [], + markerSelectedOptions: [], + markerUnselectedOptions: [], + errorXOptions: [], + errorYOptions: [], + textOptions: [], + textSelectedOptions: [], + textUnselectedOptions: [], + selectBatch: [], + unselectBatch: [], + }, + a = { + fill2d: !1, + scatter2d: !1, + error2d: !1, + line2d: !1, + glText: !1, + select2d: !1, + }; + return ( + e._scene || + (((r = e._scene = {}).init = function () { + n.extendFlat(r, a, i); + }), + r.init(), + (r.update = function (t) { + var e = n.repeat(t, r.count); + if ( + (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.glText) + ) + for (var i = 0; i < r.count; i++) + r.glText[i].update(t); + }), + (r.draw = function () { + for ( + var t = r.count, + e = r.fill2d, + i = r.error2d, + a = r.line2d, + o = r.scatter2d, + s = r.glText, + l = r.select2d, + u = r.selectBatch, + c = r.unselectBatch, + f = 0; + f < t; + f++ + ) { + if ( + (e && r.fillOrder[f] && e.draw(r.fillOrder[f]), + a && r.lineOptions[f] && a.draw(f), + i && + (r.errorXOptions[f] && i.draw(f), + r.errorYOptions[f] && i.draw(f + t)), + o && r.markerOptions[f]) + ) + if (c[f].length) { + var h = n.repeat([], r.count); + (h[f] = c[f]), o.draw(h); + } else u[f].length || o.draw(f); + s[f] && r.textOptions[f] && s[f].render(); + } + l && l.draw(u), (r.dirty = !1); + }), + (r.destroy = function () { + r.fill2d && r.fill2d.destroy && r.fill2d.destroy(), + r.scatter2d && + r.scatter2d.destroy && + r.scatter2d.destroy(), + r.error2d && + r.error2d.destroy && + r.error2d.destroy(), + r.line2d && r.line2d.destroy && r.line2d.destroy(), + r.select2d && + r.select2d.destroy && + r.select2d.destroy(), + r.glText && + r.glText.forEach(function (t) { + t.destroy && t.destroy(); + }), + (r.lineOptions = null), + (r.fillOptions = null), + (r.markerOptions = null), + (r.markerSelectedOptions = null), + (r.markerUnselectedOptions = null), + (r.errorXOptions = null), + (r.errorYOptions = null), + (r.textOptions = null), + (r.textSelectedOptions = null), + (r.textUnselectedOptions = null), + (r.selectBatch = null), + (r.unselectBatch = null), + (e._scene = null); + })), + r.dirty || n.extendFlat(r, i), + r + ); + }; + }, + 58147: function (t, e, r) { + "use strict"; + var n = r(34098), + i = r(5345).styleTextSelection; + t.exports = function (t, e) { + var r = t.cd, + a = t.xaxis, + o = t.yaxis, + s = [], + l = r[0].trace, + u = r[0].t, + c = l._length, + f = u.x, + h = u.y, + p = u._scene, + d = u.index; + if (!p) return s; + var v = n.hasText(l), + g = n.hasMarkers(l), + y = !g && !v; + if (!0 !== l.visible || y) return s; + var m = [], + x = []; + if (!1 !== e && !e.degenerate) + for (var b = 0; b < c; b++) + e.contains([u.xpx[b], u.ypx[b]], !1, b, t) + ? (m.push(b), + s.push({ + pointNumber: b, + x: a.c2d(f[b]), + y: o.c2d(h[b]), + })) + : x.push(b); + if (g) { + var _ = p.scatter2d; + if (m.length || x.length) { + if ( + !p.selectBatch[d].length && + !p.unselectBatch[d].length + ) { + var w = new Array(p.count); + (w[d] = p.markerUnselectedOptions[d]), + _.update.apply(_, w); + } + } else { + var T = new Array(p.count); + (T[d] = p.markerOptions[d]), _.update.apply(_, T); + } + } + return ( + (p.selectBatch[d] = m), + (p.unselectBatch[d] = x), + v && i(r), + s + ); + }; + }, + 99181: function (t, e, r) { + "use strict"; + var n = r(5386).fF, + i = r(5386).si, + a = r(19316), + o = r(82196), + s = r(23585), + l = r(9012), + u = r(50693), + c = r(1426).extendFlat, + f = r(30962).overrideAll, + h = r(23585), + p = a.line, + d = a.marker; + t.exports = f( + { + lon: a.lon, + lat: a.lat, + cluster: { + enabled: { valType: "boolean" }, + maxzoom: c({}, h.layers.maxzoom, {}), + step: { + valType: "number", + arrayOk: !0, + dflt: -1, + min: -1, + }, + size: { + valType: "number", + arrayOk: !0, + dflt: 20, + min: 0, + }, + color: { valType: "color", arrayOk: !0 }, + opacity: c({}, d.opacity, { dflt: 1 }), + }, + mode: c({}, o.mode, { dflt: "markers" }), + text: c({}, o.text, {}), + texttemplate: i( + { editType: "plot" }, + { keys: ["lat", "lon", "text"] }, + ), + hovertext: c({}, o.hovertext, {}), + line: { color: p.color, width: p.width }, + connectgaps: o.connectgaps, + marker: c( + { + symbol: { + valType: "string", + dflt: "circle", + arrayOk: !0, + }, + angle: { + valType: "number", + dflt: "auto", + arrayOk: !0, + }, + allowoverlap: { valType: "boolean", dflt: !1 }, + opacity: d.opacity, + size: d.size, + sizeref: d.sizeref, + sizemin: d.sizemin, + sizemode: d.sizemode, + }, + u("marker"), + ), + fill: a.fill, + fillcolor: o.fillcolor, + textfont: s.layers.symbol.textfont, + textposition: s.layers.symbol.textposition, + below: { valType: "string" }, + selected: { marker: o.selected.marker }, + unselected: { marker: o.unselected.marker }, + hoverinfo: c({}, l.hoverinfo, { + flags: ["lon", "lat", "text", "name"], + }), + hovertemplate: n(), + }, + "calc", + "nested", + ); + }, + 15790: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(50606).BADNUM, + o = r(18214), + s = r(21081), + l = r(91424), + u = r(39984), + c = r(34098), + f = r(13056), + h = r(23469).appendArrayPointValue, + p = r(63893).NEWLINES, + d = r(63893).BR_TAG_ALL; + function v(t) { + return { + type: t, + geojson: o.makeBlank(), + layout: { visibility: "none" }, + filter: null, + paint: {}, + }; + } + function g(t, e) { + return i.isArrayOrTypedArray(t) + ? e + ? function (e) { + return n(t[e]) ? +t[e] : 0; + } + : function (e) { + return t[e]; + } + : t + ? function () { + return t; + } + : y; + } + function y() { + return ""; + } + function m(t) { + return t[0] === a; + } + function x(t, e) { + var r; + if (i.isArrayOrTypedArray(t) && i.isArrayOrTypedArray(e)) { + r = ["step", ["get", "point_count"], t[0]]; + for (var n = 1; n < t.length; n++) r.push(e[n - 1], t[n]); + } else r = t; + return r; + } + t.exports = function (t, e) { + var r, + a = e[0].trace, + b = !0 === a.visible && 0 !== a._length, + _ = "none" !== a.fill, + w = c.hasLines(a), + T = c.hasMarkers(a), + k = c.hasText(a), + A = T && "circle" === a.marker.symbol, + M = T && "circle" !== a.marker.symbol, + S = a.cluster && a.cluster.enabled, + E = v("fill"), + L = v("line"), + C = v("circle"), + P = v("symbol"), + O = { fill: E, line: L, circle: C, symbol: P }; + if (!b) return O; + if ( + ((_ || w) && (r = o.calcTraceToLineCoords(e)), + _ && + ((E.geojson = o.makePolygon(r)), + (E.layout.visibility = "visible"), + i.extendFlat(E.paint, { "fill-color": a.fillcolor })), + w && + ((L.geojson = o.makeLine(r)), + (L.layout.visibility = "visible"), + i.extendFlat(L.paint, { + "line-width": a.line.width, + "line-color": a.line.color, + "line-opacity": a.opacity, + })), + A) + ) { + var I = (function (t) { + var e, + r, + a, + o, + c = t[0].trace, + f = c.marker, + h = c.selectedpoints, + p = i.isArrayOrTypedArray(f.color), + d = i.isArrayOrTypedArray(f.size), + v = i.isArrayOrTypedArray(f.opacity); + function g(t) { + return c.opacity * t; + } + p && + (r = s.hasColorscale(c, "marker") + ? s.makeColorScaleFuncFromTrace(f) + : i.identity), + d && (a = u(c)), + v && + (o = function (t) { + return g(n(t) ? +i.constrain(t, 0, 1) : 0); + }); + var y, + x, + b = []; + for (e = 0; e < t.length; e++) { + var _ = t[e], + w = _.lonlat; + if (!m(w)) { + var T = {}; + r && (T.mcc = _.mcc = r(_.mc)), + a && (T.mrc = _.mrc = a(_.ms)), + o && (T.mo = o(_.mo)), + h && (T.selected = _.selected || 0), + b.push({ + type: "Feature", + id: e + 1, + geometry: { type: "Point", coordinates: w }, + properties: T, + }); + } + } + if (h) + for ( + y = l.makeSelectedPointStyleFns(c), e = 0; + e < b.length; + e++ + ) { + var k = b[e].properties; + y.selectedOpacityFn && + (k.mo = g(y.selectedOpacityFn(k))), + y.selectedColorFn && + (k.mcc = y.selectedColorFn(k)), + y.selectedSizeFn && (k.mrc = y.selectedSizeFn(k)); + } + return { + geojson: { type: "FeatureCollection", features: b }, + mcc: + p || (y && y.selectedColorFn) + ? { type: "identity", property: "mcc" } + : f.color, + mrc: + d || (y && y.selectedSizeFn) + ? { type: "identity", property: "mrc" } + : ((x = f.size), x / 2), + mo: + v || (y && y.selectedOpacityFn) + ? { type: "identity", property: "mo" } + : g(f.opacity), + }; + })(e); + (C.geojson = I.geojson), + (C.layout.visibility = "visible"), + S && + ((C.filter = ["!", ["has", "point_count"]]), + (O.cluster = { + type: "circle", + filter: ["has", "point_count"], + layout: { visibility: "visible" }, + paint: { + "circle-color": x( + a.cluster.color, + a.cluster.step, + ), + "circle-radius": x( + a.cluster.size, + a.cluster.step, + ), + "circle-opacity": x( + a.cluster.opacity, + a.cluster.step, + ), + }, + }), + (O.clusterCount = { + type: "symbol", + filter: ["has", "point_count"], + paint: {}, + layout: { + "text-field": "{point_count_abbreviated}", + "text-font": [ + "Open Sans Regular", + "Arial Unicode MS Regular", + ], + "text-size": 12, + }, + })), + i.extendFlat(C.paint, { + "circle-color": I.mcc, + "circle-radius": I.mrc, + "circle-opacity": I.mo, + }); + } + if ( + (A && S && (C.filter = ["!", ["has", "point_count"]]), + (M || k) && + ((P.geojson = (function (t, e) { + for ( + var r = e._fullLayout, + n = t[0].trace, + a = n.marker || {}, + o = a.symbol, + s = a.angle, + l = "circle" !== o ? g(o) : y, + u = "auto" !== s ? g(s, !0) : y, + f = c.hasText(n) ? g(n.text) : y, + v = [], + x = 0; + x < t.length; + x++ + ) { + var b = t[x]; + if (!m(b.lonlat)) { + var _, + w = n.texttemplate; + if (w) { + var T = Array.isArray(w) ? w[x] || "" : w, + k = n._module.formatLabels(b, n, r), + A = {}; + h(A, n, b.i); + var M = n._meta || {}; + _ = i.texttemplateString( + T, + k, + r._d3locale, + A, + b, + M, + ); + } else _ = f(x); + _ && (_ = _.replace(p, "").replace(d, "\n")), + v.push({ + type: "Feature", + geometry: { + type: "Point", + coordinates: b.lonlat, + }, + properties: { + symbol: l(x), + angle: u(x), + text: _, + }, + }); + } + } + return { type: "FeatureCollection", features: v }; + })(e, t)), + i.extendFlat(P.layout, { + visibility: "visible", + "icon-image": "{symbol}-15", + "text-field": "{text}", + }), + M && + (i.extendFlat(P.layout, { + "icon-size": a.marker.size / 10, + }), + "angle" in a.marker && + "auto" !== a.marker.angle && + i.extendFlat(P.layout, { + "icon-rotate": { + type: "identity", + property: "angle", + }, + "icon-rotation-alignment": "map", + }), + (P.layout["icon-allow-overlap"] = + a.marker.allowoverlap), + i.extendFlat(P.paint, { + "icon-opacity": a.opacity * a.marker.opacity, + "icon-color": a.marker.color, + })), + k)) + ) { + var D = (a.marker || {}).size, + z = f(a.textposition, D); + i.extendFlat(P.layout, { + "text-size": a.textfont.size, + "text-anchor": z.anchor, + "text-offset": z.offset, + "text-font": a.textfont.family.split(", "), + }), + i.extendFlat(P.paint, { + "text-color": a.textfont.color, + "text-opacity": a.opacity, + }); + } + return O; + }; + }, + 76645: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(34098), + a = r(49508), + o = r(11058), + s = r(82410), + l = r(28908), + u = r(99181), + c = [ + "Metropolis Black Italic", + "Metropolis Black", + "Metropolis Bold Italic", + "Metropolis Bold", + "Metropolis Extra Bold Italic", + "Metropolis Extra Bold", + "Metropolis Extra Light Italic", + "Metropolis Extra Light", + "Metropolis Light Italic", + "Metropolis Light", + "Metropolis Medium Italic", + "Metropolis Medium", + "Metropolis Regular Italic", + "Metropolis Regular", + "Metropolis Semi Bold Italic", + "Metropolis Semi Bold", + "Metropolis Thin Italic", + "Metropolis Thin", + "Open Sans Bold Italic", + "Open Sans Bold", + "Open Sans Extra Bold Italic", + "Open Sans Extra Bold", + "Open Sans Italic", + "Open Sans Light Italic", + "Open Sans Light", + "Open Sans Regular", + "Open Sans Semibold Italic", + "Open Sans Semibold", + "Klokantech Noto Sans Bold", + "Klokantech Noto Sans CJK Bold", + "Klokantech Noto Sans CJK Regular", + "Klokantech Noto Sans Italic", + "Klokantech Noto Sans Regular", + ]; + t.exports = function (t, e, r, f) { + function h(r, i) { + return n.coerce(t, e, u, r, i); + } + function p(r, i) { + return n.coerce2(t, e, u, r, i); + } + var d = (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, h); + if (d) { + if ( + (h("text"), + h("texttemplate"), + h("hovertext"), + h("hovertemplate"), + h("mode"), + h("below"), + i.hasLines(e) && + (o(t, e, r, f, h, { noDash: !0 }), h("connectgaps")), + i.hasMarkers(e)) + ) { + a(t, e, r, f, h, { noLine: !0, noAngle: !0 }), + h("marker.allowoverlap"), + h("marker.angle"); + var v = e.marker; + "circle" !== v.symbol && + (n.isArrayOrTypedArray(v.size) && + (v.size = v.size[0]), + n.isArrayOrTypedArray(v.color) && + (v.color = v.color[0])); + } + var g = p("cluster.maxzoom"), + y = p("cluster.step"), + m = p( + "cluster.color", + (e.marker && e.marker.color) || r, + ), + x = p("cluster.size"), + b = p("cluster.opacity"); + h( + "cluster.enabled", + !1 !== g || + !1 !== y || + !1 !== m || + !1 !== x || + !1 !== b, + ), + i.hasText(e) && + s(t, e, f, h, { + noSelect: !0, + font: { + family: + -1 !== c.indexOf(f.font.family) + ? f.font.family + : "Open Sans Regular", + size: f.font.size, + color: f.font.color, + }, + }), + h("fill"), + "none" !== e.fill && l(t, e, r, h), + n.coerceSelectionMarkerOpacity(e, h); + } else e.visible = !1; + }; + }, + 53353: function (t) { + "use strict"; + t.exports = function (t, e) { + return (t.lon = e.lon), (t.lat = e.lat), t; + }; + }, + 15636: function (t, e, r) { + "use strict"; + var n = r(89298); + t.exports = function (t, e, r) { + var i = {}, + a = r[e.subplot]._subplot.mockAxis, + o = t.lonlat; + return ( + (i.lonLabel = n.tickText(a, a.c2l(o[0]), !0).text), + (i.latLabel = n.tickText(a, a.c2l(o[1]), !0).text), + i + ); + }; + }, + 28178: function (t, e, r) { + "use strict"; + var n = r(30211), + i = r(71828), + a = r(34603), + o = i.fillText, + s = r(50606).BADNUM, + l = r(77734).traceLayerPrefix; + function u(t, e, r) { + if (!t.hovertemplate) { + var n = (e.hi || t.hoverinfo).split("+"), + i = -1 !== n.indexOf("all"), + a = -1 !== n.indexOf("lon"), + s = -1 !== n.indexOf("lat"), + l = e.lonlat, + u = []; + return ( + i || (a && s) + ? u.push("(" + c(l[1]) + ", " + c(l[0]) + ")") + : a + ? u.push(r.lon + c(l[0])) + : s && u.push(r.lat + c(l[1])), + (i || -1 !== n.indexOf("text")) && o(e, t, u), + u.join("
") + ); + } + function c(t) { + return t + "°"; + } + } + t.exports = { + hoverPoints: function (t, e, r) { + var o = t.cd, + c = o[0].trace, + f = t.xa, + h = t.ya, + p = t.subplot, + d = [], + v = l + c.uid + "-circle", + g = c.cluster && c.cluster.enabled; + if (g) { + var y = p.map.queryRenderedFeatures(null, { + layers: [v], + }); + d = y.map(function (t) { + return t.id; + }); + } + var m = + 360 * + (e >= 0 + ? Math.floor((e + 180) / 360) + : Math.ceil((e - 180) / 360)), + x = e - m; + if ( + (n.getClosest( + o, + function (t) { + var e = t.lonlat; + if (e[0] === s) return 1 / 0; + if (g && -1 === d.indexOf(t.i + 1)) return 1 / 0; + var n = i.modHalf(e[0], 360), + a = e[1], + o = p.project([n, a]), + l = o.x - f.c2p([x, a]), + u = o.y - h.c2p([n, r]), + c = Math.max(3, t.mrc || 0); + return Math.max( + Math.sqrt(l * l + u * u) - c, + 1 - 3 / c, + ); + }, + t, + ), + !1 !== t.index) + ) { + var b = o[t.index], + _ = b.lonlat, + w = [i.modHalf(_[0], 360) + m, _[1]], + T = f.c2p(w), + k = h.c2p(w), + A = b.mrc || 1; + (t.x0 = T - A), + (t.x1 = T + A), + (t.y0 = k - A), + (t.y1 = k + A); + var M = {}; + M[c.subplot] = { _subplot: p }; + var S = c._module.formatLabels(b, c, M); + return ( + (t.lonLabel = S.lonLabel), + (t.latLabel = S.latLabel), + (t.color = a(c, b)), + (t.extraText = u(c, b, o[0].t.labels)), + (t.hovertemplate = c.hovertemplate), + [t] + ); + } + }, + getExtraText: u, + }; + }, + 20467: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(99181), + supplyDefaults: r(76645), + colorbar: r(4898), + formatLabels: r(15636), + calc: r(84622), + plot: r(86951), + hoverPoints: r(28178).hoverPoints, + eventData: r(53353), + selectPoints: r(86387), + styleOnSelect: function (t, e) { + e && e[0].trace._glTrace.update(e); + }, + moduleType: "trace", + name: "scattermapbox", + basePlotModule: r(50101), + categories: [ + "mapbox", + "gl", + "symbols", + "showLegend", + "scatter-like", + ], + meta: {}, + }; + }, + 86951: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(15790), + a = r(77734).traceLayerPrefix, + o = { + cluster: ["cluster", "clusterCount", "circle"], + nonCluster: ["fill", "line", "circle", "symbol"], + }; + function s(t, e, r, n) { + (this.type = "scattermapbox"), + (this.subplot = t), + (this.uid = e), + (this.clusterEnabled = r), + (this.isHidden = n), + (this.sourceIds = { + fill: "source-" + e + "-fill", + line: "source-" + e + "-line", + circle: "source-" + e + "-circle", + symbol: "source-" + e + "-symbol", + cluster: "source-" + e + "-circle", + clusterCount: "source-" + e + "-circle", + }), + (this.layerIds = { + fill: a + e + "-fill", + line: a + e + "-line", + circle: a + e + "-circle", + symbol: a + e + "-symbol", + cluster: a + e + "-cluster", + clusterCount: a + e + "-cluster-count", + }), + (this.below = null); + } + var l = s.prototype; + (l.addSource = function (t, e, r) { + var i = { type: "geojson", data: e.geojson }; + r && + r.enabled && + n.extendFlat(i, { + cluster: !0, + clusterMaxZoom: r.maxzoom, + }); + var a = this.subplot.map.getSource(this.sourceIds[t]); + a + ? a.setData(e.geojson) + : this.subplot.map.addSource(this.sourceIds[t], i); + }), + (l.setSourceData = function (t, e) { + this.subplot.map + .getSource(this.sourceIds[t]) + .setData(e.geojson); + }), + (l.addLayer = function (t, e, r) { + var n = { + type: e.type, + id: this.layerIds[t], + source: this.sourceIds[t], + layout: e.layout, + paint: e.paint, + }; + e.filter && (n.filter = e.filter); + for ( + var i, + a = this.layerIds[t], + o = this.subplot.getMapLayers(), + s = 0; + s < o.length; + s++ + ) + if (o[s].id === a) { + i = !0; + break; + } + i + ? (this.subplot.setOptions( + a, + "setLayoutProperty", + n.layout, + ), + "visible" === n.layout.visibility && + this.subplot.setOptions( + a, + "setPaintProperty", + n.paint, + )) + : this.subplot.addLayer(n, r); + }), + (l.update = function (t) { + var e = t[0].trace, + r = this.subplot, + n = r.map, + a = i(r.gd, t), + s = r.belowLookup["trace-" + this.uid], + l = !(!e.cluster || !e.cluster.enabled), + u = !!this.clusterEnabled, + c = this; + function f(t) { + u + ? (function (t) { + for ( + var e = o.cluster, r = e.length - 1; + r >= 0; + r-- + ) { + var i = e[r]; + n.removeLayer(c.layerIds[i]); + } + t || n.removeSource(c.sourceIds.circle); + })(t) + : (function (t) { + for ( + var e = o.nonCluster, r = e.length - 1; + r >= 0; + r-- + ) { + var i = e[r]; + n.removeLayer(c.layerIds[i]), + t || n.removeSource(c.sourceIds[i]); + } + })(t); + } + function h(t) { + l + ? (function (t) { + t || c.addSource("circle", a.circle, e.cluster); + for ( + var r = o.cluster, n = 0; + n < r.length; + n++ + ) { + var i = r[n], + l = a[i]; + c.addLayer(i, l, s); + } + })(t) + : (function (t) { + for ( + var e = o.nonCluster, r = 0; + r < e.length; + r++ + ) { + var n = e[r], + i = a[n]; + t || c.addSource(n, i), c.addLayer(n, i, s); + } + })(t); + } + function p() { + for ( + var t = l ? o.cluster : o.nonCluster, e = 0; + e < t.length; + e++ + ) { + var n = t[e], + i = a[n]; + i && + (r.setOptions( + c.layerIds[n], + "setLayoutProperty", + i.layout, + ), + "visible" === i.layout.visibility && + ("cluster" !== n && c.setSourceData(n, i), + r.setOptions( + c.layerIds[n], + "setPaintProperty", + i.paint, + ))); + } + } + var d = this.isHidden, + v = !0 !== e.visible; + v + ? d || f() + : d + ? v || h() + : u !== l + ? (f(), h()) + : this.below !== s + ? (f(!0), h(!0), p()) + : p(), + (this.clusterEnabled = l), + (this.isHidden = v), + (this.below = s), + (t[0].trace._glTrace = this); + }), + (l.dispose = function () { + for ( + var t = this.subplot.map, + e = this.clusterEnabled ? o.cluster : o.nonCluster, + r = e.length - 1; + r >= 0; + r-- + ) { + var n = e[r]; + t.removeLayer(this.layerIds[n]), + t.removeSource(this.sourceIds[n]); + } + }), + (t.exports = function (t, e) { + var r, + n, + a, + l = e[0].trace, + u = l.cluster && l.cluster.enabled, + c = !0 !== l.visible, + f = new s(t, l.uid, u, c), + h = i(t.gd, e), + p = (f.below = t.belowLookup["trace-" + l.uid]); + if (u) + for ( + f.addSource("circle", h.circle, l.cluster), r = 0; + r < o.cluster.length; + r++ + ) + (a = h[(n = o.cluster[r])]), f.addLayer(n, a, p); + else + for (r = 0; r < o.nonCluster.length; r++) + (a = h[(n = o.nonCluster[r])]), + f.addSource(n, a, l.cluster), + f.addLayer(n, a, p); + return (e[0].trace._glTrace = f), f; + }); + }, + 86387: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(34098), + a = r(50606).BADNUM; + t.exports = function (t, e) { + var r, + o = t.cd, + s = t.xaxis, + l = t.yaxis, + u = [], + c = o[0].trace; + if (!i.hasMarkers(c)) return []; + if (!1 === e) + for (r = 0; r < o.length; r++) o[r].selected = 0; + else + for (r = 0; r < o.length; r++) { + var f = o[r], + h = f.lonlat; + if (h[0] !== a) { + var p = [n.modHalf(h[0], 360), h[1]], + d = [s.c2p(p), l.c2p(p)]; + e.contains(d, null, r, t) + ? (u.push({ pointNumber: r, lon: h[0], lat: h[1] }), + (f.selected = 1)) + : (f.selected = 0); + } + } + return u; + }; + }, + 81245: function (t, e, r) { + "use strict"; + var n = r(5386).fF, + i = r(5386).si, + a = r(1426).extendFlat, + o = r(82196), + s = r(9012), + l = o.line; + t.exports = { + mode: o.mode, + r: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + theta: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + r0: { + valType: "any", + dflt: 0, + editType: "calc+clearAxisTypes", + }, + dr: { valType: "number", dflt: 1, editType: "calc" }, + theta0: { + valType: "any", + dflt: 0, + editType: "calc+clearAxisTypes", + }, + dtheta: { valType: "number", editType: "calc" }, + thetaunit: { + valType: "enumerated", + values: ["radians", "degrees", "gradians"], + dflt: "degrees", + editType: "calc+clearAxisTypes", + }, + text: o.text, + texttemplate: i( + { editType: "plot" }, + { keys: ["r", "theta", "text"] }, + ), + hovertext: o.hovertext, + line: { + color: l.color, + width: l.width, + dash: l.dash, + backoff: l.backoff, + shape: a({}, l.shape, { values: ["linear", "spline"] }), + smoothing: l.smoothing, + editType: "calc", + }, + connectgaps: o.connectgaps, + marker: o.marker, + cliponaxis: a({}, o.cliponaxis, { dflt: !1 }), + textposition: o.textposition, + textfont: o.textfont, + fill: a({}, o.fill, { + values: ["none", "toself", "tonext"], + dflt: "none", + }), + fillcolor: o.fillcolor, + hoverinfo: a({}, s.hoverinfo, { + flags: ["r", "theta", "text", "name"], + }), + hoveron: o.hoveron, + hovertemplate: n(), + selected: o.selected, + unselected: o.unselected, + }; + }, + 26442: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(50606).BADNUM, + a = r(89298), + o = r(36922), + s = r(75225), + l = r(66279), + u = r(47761).calcMarkerSize; + t.exports = function (t, e) { + for ( + var r = t._fullLayout, + c = e.subplot, + f = r[c].radialaxis, + h = r[c].angularaxis, + p = f.makeCalcdata(e, "r"), + d = h.makeCalcdata(e, "theta"), + v = e._length, + g = new Array(v), + y = 0; + y < v; + y++ + ) { + var m = p[y], + x = d[y], + b = (g[y] = {}); + n(m) && n(x) ? ((b.r = m), (b.theta = x)) : (b.r = i); + } + var _ = u(e, v); + return ( + (e._extremes.x = a.findExtremes(f, p, { ppad: _ })), + o(t, e), + s(g, e), + l(g, e), + g + ); + }; + }, + 22184: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(34098), + a = r(49508), + o = r(11058), + s = r(94039), + l = r(82410), + u = r(28908), + c = r(47581).PTS_LINESONLY, + f = r(81245); + function h(t, e, r, n) { + var i, + a = n("r"), + o = n("theta"); + if (a) + o + ? (i = Math.min(a.length, o.length)) + : ((i = a.length), n("theta0"), n("dtheta")); + else { + if (!o) return 0; + (i = e.theta.length), n("r0"), n("dr"); + } + return (e._length = i), i; + } + t.exports = { + handleRThetaDefaults: h, + supplyDefaults: function (t, e, r, p) { + function d(r, i) { + return n.coerce(t, e, f, r, i); + } + var v = h(0, e, 0, d); + if (v) { + d("thetaunit"), + d("mode", v < c ? "lines+markers" : "lines"), + d("text"), + d("hovertext"), + "fills" !== e.hoveron && d("hovertemplate"), + i.hasLines(e) && + (o(t, e, r, p, d, { backoff: !0 }), + s(t, e, d), + d("connectgaps")), + i.hasMarkers(e) && a(t, e, r, p, d, { gradient: !0 }), + i.hasText(e) && (d("texttemplate"), l(t, e, p, d)); + var g = []; + (i.hasMarkers(e) || i.hasText(e)) && + (d("cliponaxis"), + d("marker.maxdisplayed"), + g.push("points")), + d("fill"), + "none" !== e.fill && + (u(t, e, r, d), i.hasLines(e) || s(t, e, d)), + ("tonext" !== e.fill && "toself" !== e.fill) || + g.push("fills"), + d("hoveron", g.join("+") || "points"), + n.coerceSelectionMarkerOpacity(e, d); + } else e.visible = !1; + }, + }; + }, + 98608: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298); + t.exports = function (t, e, r) { + var a, + o, + s = {}, + l = r[e.subplot]._subplot; + l + ? ((a = l.radialAxis), (o = l.angularAxis)) + : ((a = (l = r[e.subplot]).radialaxis), + (o = l.angularaxis)); + var u = a.c2l(t.r); + s.rLabel = i.tickText(a, u, !0).text; + var c = + "degrees" === o.thetaunit ? n.rad2deg(t.theta) : t.theta; + return (s.thetaLabel = i.tickText(o, c, !0).text), s; + }; + }, + 59150: function (t, e, r) { + "use strict"; + var n = r(33720); + function i(t, e, r, n) { + var i = r.radialAxis, + a = r.angularAxis; + (i._hovertitle = "r"), (a._hovertitle = "θ"); + var o = {}; + o[e.subplot] = { _subplot: r }; + var s = e._module.formatLabels(t, e, o); + (n.rLabel = s.rLabel), (n.thetaLabel = s.thetaLabel); + var l = t.hi || e.hoverinfo, + u = []; + function c(t, e) { + u.push(t._hovertitle + ": " + e); + } + if (!e.hovertemplate) { + var f = l.split("+"); + -1 !== f.indexOf("all") && (f = ["r", "theta", "text"]), + -1 !== f.indexOf("r") && c(i, n.rLabel), + -1 !== f.indexOf("theta") && c(a, n.thetaLabel), + -1 !== f.indexOf("text") && + n.text && + (u.push(n.text), delete n.text), + (n.extraText = u.join("
")); + } + } + t.exports = { + hoverPoints: function (t, e, r, a) { + var o = n(t, e, r, a); + if (o && !1 !== o[0].index) { + var s = o[0]; + if (void 0 === s.index) return o; + var l = t.subplot, + u = s.cd[s.index], + c = s.trace; + if (l.isPtInside(u)) + return ( + (s.xLabelVal = void 0), + (s.yLabelVal = void 0), + i(u, c, l, s), + (s.hovertemplate = c.hovertemplate), + o + ); + } + }, + makeHoverPointText: i, + }; + }, + 91271: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "scatterpolar", + basePlotModule: r(23580), + categories: [ + "polar", + "symbols", + "showLegend", + "scatter-like", + ], + attributes: r(81245), + supplyDefaults: r(22184).supplyDefaults, + colorbar: r(4898), + formatLabels: r(98608), + calc: r(26442), + plot: r(45162), + style: r(16296).style, + styleOnSelect: r(16296).styleOnSelect, + hoverPoints: r(59150).hoverPoints, + selectPoints: r(98002), + meta: {}, + }; + }, + 45162: function (t, e, r) { + "use strict"; + var n = r(32663), + i = r(50606).BADNUM; + t.exports = function (t, e, r) { + for ( + var a = e.layers.frontplot.select("g.scatterlayer"), + o = e.xaxis, + s = e.yaxis, + l = { + xaxis: o, + yaxis: s, + plot: e.framework, + layerClipId: e._hasClipOnAxisFalse + ? e.clipIds.forTraces + : null, + }, + u = e.radialAxis, + c = e.angularAxis, + f = 0; + f < r.length; + f++ + ) + for (var h = r[f], p = 0; p < h.length; p++) { + 0 === p && ((h[0].trace._xA = o), (h[0].trace._yA = s)); + var d = h[p], + v = d.r; + if (v === i) d.x = d.y = i; + else { + var g = u.c2g(v), + y = c.c2g(d.theta); + (d.x = g * Math.cos(y)), (d.y = g * Math.sin(y)); + } + } + n(t, l, r, a); + }; + }, + 53286: function (t, e, r) { + "use strict"; + var n = r(81245), + i = r(42341), + a = r(5386).si; + t.exports = { + mode: n.mode, + r: n.r, + theta: n.theta, + r0: n.r0, + dr: n.dr, + theta0: n.theta0, + dtheta: n.dtheta, + thetaunit: n.thetaunit, + text: n.text, + texttemplate: a( + { editType: "plot" }, + { keys: ["r", "theta", "text"] }, + ), + hovertext: n.hovertext, + hovertemplate: n.hovertemplate, + line: i.line, + connectgaps: i.connectgaps, + marker: i.marker, + fill: i.fill, + fillcolor: i.fillcolor, + textposition: i.textposition, + textfont: i.textfont, + hoverinfo: n.hoverinfo, + selected: n.selected, + unselected: n.unselected, + }; + }, + 65746: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "scatterpolargl", + basePlotModule: r(23580), + categories: [ + "gl", + "regl", + "polar", + "symbols", + "showLegend", + "scatter-like", + ], + attributes: r(53286), + supplyDefaults: r(75485), + colorbar: r(4898), + formatLabels: r(46255), + calc: r(37499), + hoverPoints: r(29347).hoverPoints, + selectPoints: r(58147), + meta: {}, + }; + }, + 37499: function (t, e, r) { + "use strict"; + var n = r(36922), + i = r(47761).calcMarkerSize, + a = r(19635), + o = r(89298), + s = r(78232).TOO_MANY_POINTS; + t.exports = function (t, e) { + var r = t._fullLayout, + l = e.subplot, + u = r[l].radialaxis, + c = r[l].angularaxis, + f = (e._r = u.makeCalcdata(e, "r")), + h = (e._theta = c.makeCalcdata(e, "theta")), + p = e._length, + d = {}; + p < f.length && (f = f.slice(0, p)), + p < h.length && (h = h.slice(0, p)), + (d.r = f), + (d.theta = h), + n(t, e); + var v, + g = (d.opts = a.style(t, e)); + return ( + p < s + ? (v = i(e, p)) + : g.marker && + (v = + 2 * + (g.marker.sizeAvg || Math.max(g.marker.size, 3))), + (e._extremes.x = o.findExtremes(u, f, { ppad: v })), + [{ x: !1, y: !1, t: d, trace: e }] + ); + }; + }, + 75485: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(34098), + a = r(22184).handleRThetaDefaults, + o = r(49508), + s = r(11058), + l = r(82410), + u = r(28908), + c = r(47581).PTS_LINESONLY, + f = r(53286); + t.exports = function (t, e, r, h) { + function p(r, i) { + return n.coerce(t, e, f, r, i); + } + var d = a(t, e, h, p); + d + ? (p("thetaunit"), + p("mode", d < c ? "lines+markers" : "lines"), + p("text"), + p("hovertext"), + "fills" !== e.hoveron && p("hovertemplate"), + i.hasLines(e) && (s(t, e, r, h, p), p("connectgaps")), + i.hasMarkers(e) && + o(t, e, r, h, p, { noAngleRef: !0, noStandOff: !0 }), + i.hasText(e) && (p("texttemplate"), l(t, e, h, p)), + p("fill"), + "none" !== e.fill && u(t, e, r, p), + n.coerceSelectionMarkerOpacity(e, p)) + : (e.visible = !1); + }; + }, + 46255: function (t, e, r) { + "use strict"; + var n = r(98608); + t.exports = function (t, e, r) { + var i = t.i; + return ( + "r" in t || (t.r = e._r[i]), + "theta" in t || (t.theta = e._theta[i]), + n(t, e, r) + ); + }; + }, + 29347: function (t, e, r) { + "use strict"; + var n = r(20794), + i = r(59150).makeHoverPointText; + t.exports = { + hoverPoints: function (t, e, r, a) { + var o = t.cd[0].t, + s = o.r, + l = o.theta, + u = n.hoverPoints(t, e, r, a); + if (u && !1 !== u[0].index) { + var c = u[0]; + if (void 0 === c.index) return u; + var f = t.subplot, + h = c.cd[c.index], + p = c.trace; + if ( + ((h.r = s[c.index]), + (h.theta = l[c.index]), + f.isPtInside(h)) + ) + return ( + (c.xLabelVal = void 0), + (c.yLabelVal = void 0), + i(h, p, f, c), + u + ); + } + }, + }; + }, + 21461: function (t, e, r) { + "use strict"; + var n = r(65746); + (n.plot = r(49741)), (t.exports = n); + }, + 49741: function (t, e, r) { + "use strict"; + var n = r(88294), + i = r(92770), + a = r(26787), + o = r(38967), + s = r(19635), + l = r(71828), + u = r(78232).TOO_MANY_POINTS; + (t.exports = function (t, e, r) { + if (r.length) { + var c = e.radialAxis, + f = e.angularAxis, + h = o(t, e); + return ( + r.forEach(function (r) { + if (r && r[0] && r[0].trace) { + var a, + o = r[0], + p = o.trace, + d = o.t, + v = p._length, + g = d.r, + y = d.theta, + m = d.opts, + x = g.slice(), + b = y.slice(); + for (a = 0; a < g.length; a++) + e.isPtInside({ r: g[a], theta: y[a] }) || + ((x[a] = NaN), (b[a] = NaN)); + var _ = new Array(2 * v), + w = Array(v), + T = Array(v); + for (a = 0; a < v; a++) { + var k, + A, + M = x[a]; + if (i(M)) { + var S = c.c2g(M), + E = f.c2g(b[a], p.thetaunit); + (k = S * Math.cos(E)), (A = S * Math.sin(E)); + } else k = A = NaN; + (w[a] = _[2 * a] = k), (T[a] = _[2 * a + 1] = A); + } + (d.tree = n(_)), + m.marker && v >= u && (m.marker.cluster = d.tree), + m.marker && + (m.markerSel.positions = + m.markerUnsel.positions = + m.marker.positions = + _), + m.line && + _.length > 1 && + l.extendFlat(m.line, s.linePositions(t, p, _)), + m.text && + (l.extendFlat( + m.text, + { positions: _ }, + s.textPosition(t, p, m.text, m.marker), + ), + l.extendFlat( + m.textSel, + { positions: _ }, + s.textPosition(t, p, m.text, m.markerSel), + ), + l.extendFlat( + m.textUnsel, + { positions: _ }, + s.textPosition(t, p, m.text, m.markerUnsel), + )), + m.fill && !h.fill2d && (h.fill2d = !0), + m.marker && !h.scatter2d && (h.scatter2d = !0), + m.line && !h.line2d && (h.line2d = !0), + m.text && !h.glText && (h.glText = !0), + h.lineOptions.push(m.line), + h.fillOptions.push(m.fill), + h.markerOptions.push(m.marker), + h.markerSelectedOptions.push(m.markerSel), + h.markerUnselectedOptions.push(m.markerUnsel), + h.textOptions.push(m.text), + h.textSelectedOptions.push(m.textSel), + h.textUnselectedOptions.push(m.textUnsel), + h.selectBatch.push([]), + h.unselectBatch.push([]), + (d.x = w), + (d.y = T), + (d.rawx = w), + (d.rawy = T), + (d.r = g), + (d.theta = y), + (d.positions = _), + (d._scene = h), + (d.index = h.count), + h.count++; + } + }), + a(t, e, r) + ); + } + }), + (t.exports.reglPrecompiled = {}); + }, + 48300: function (t, e, r) { + "use strict"; + var n = r(5386).fF, + i = r(5386).si, + a = r(1426).extendFlat, + o = r(82196), + s = r(9012), + l = o.line; + t.exports = { + mode: o.mode, + real: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + imag: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + text: o.text, + texttemplate: i( + { editType: "plot" }, + { keys: ["real", "imag", "text"] }, + ), + hovertext: o.hovertext, + line: { + color: l.color, + width: l.width, + dash: l.dash, + backoff: l.backoff, + shape: a({}, l.shape, { values: ["linear", "spline"] }), + smoothing: l.smoothing, + editType: "calc", + }, + connectgaps: o.connectgaps, + marker: o.marker, + cliponaxis: a({}, o.cliponaxis, { dflt: !1 }), + textposition: o.textposition, + textfont: o.textfont, + fill: a({}, o.fill, { + values: ["none", "toself", "tonext"], + dflt: "none", + }), + fillcolor: o.fillcolor, + hoverinfo: a({}, s.hoverinfo, { + flags: ["real", "imag", "text", "name"], + }), + hoveron: o.hoveron, + hovertemplate: n(), + selected: o.selected, + unselected: o.unselected, + }; + }, + 30621: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(50606).BADNUM, + a = r(36922), + o = r(75225), + s = r(66279), + l = r(47761).calcMarkerSize; + t.exports = function (t, e) { + for ( + var r = t._fullLayout, + u = e.subplot, + c = r[u].realaxis, + f = r[u].imaginaryaxis, + h = c.makeCalcdata(e, "real"), + p = f.makeCalcdata(e, "imag"), + d = e._length, + v = new Array(d), + g = 0; + g < d; + g++ + ) { + var y = h[g], + m = p[g], + x = (v[g] = {}); + n(y) && n(m) + ? ((x.real = y), (x.imag = m)) + : (x.real = i); + } + return l(e, d), a(t, e), o(v, e), s(v, e), v; + }; + }, + 65269: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(34098), + a = r(49508), + o = r(11058), + s = r(94039), + l = r(82410), + u = r(28908), + c = r(47581).PTS_LINESONLY, + f = r(48300); + t.exports = function (t, e, r, h) { + function p(r, i) { + return n.coerce(t, e, f, r, i); + } + var d = (function (t, e, r, n) { + var i, + a = n("real"), + o = n("imag"); + return ( + a && o && (i = Math.min(a.length, o.length)), + (e._length = i), + i + ); + })(0, e, 0, p); + if (d) { + p("mode", d < c ? "lines+markers" : "lines"), + p("text"), + p("hovertext"), + "fills" !== e.hoveron && p("hovertemplate"), + i.hasLines(e) && + (o(t, e, r, h, p, { backoff: !0 }), + s(t, e, p), + p("connectgaps")), + i.hasMarkers(e) && a(t, e, r, h, p, { gradient: !0 }), + i.hasText(e) && (p("texttemplate"), l(t, e, h, p)); + var v = []; + (i.hasMarkers(e) || i.hasText(e)) && + (p("cliponaxis"), + p("marker.maxdisplayed"), + v.push("points")), + p("fill"), + "none" !== e.fill && + (u(t, e, r, p), i.hasLines(e) || s(t, e, p)), + ("tonext" !== e.fill && "toself" !== e.fill) || + v.push("fills"), + p("hoveron", v.join("+") || "points"), + n.coerceSelectionMarkerOpacity(e, p); + } else e.visible = !1; + }; + }, + 62047: function (t, e, r) { + "use strict"; + var n = r(89298); + t.exports = function (t, e, r) { + var i = {}, + a = r[e.subplot]._subplot; + return ( + (i.realLabel = n.tickText(a.radialAxis, t.real, !0).text), + (i.imagLabel = n.tickText( + a.angularAxis, + t.imag, + !0, + ).text), + i + ); + }; + }, + 11350: function (t, e, r) { + "use strict"; + var n = r(33720); + function i(t, e, r, n) { + var i = r.radialAxis, + a = r.angularAxis; + (i._hovertitle = "real"), (a._hovertitle = "imag"); + var o = {}; + o[e.subplot] = { _subplot: r }; + var s = e._module.formatLabels(t, e, o); + (n.realLabel = s.realLabel), (n.imagLabel = s.imagLabel); + var l = t.hi || e.hoverinfo, + u = []; + function c(t, e) { + u.push(t._hovertitle + ": " + e); + } + if (!e.hovertemplate) { + var f = l.split("+"); + -1 !== f.indexOf("all") && (f = ["real", "imag", "text"]), + -1 !== f.indexOf("real") && c(i, n.realLabel), + -1 !== f.indexOf("imag") && c(a, n.imagLabel), + -1 !== f.indexOf("text") && + n.text && + (u.push(n.text), delete n.text), + (n.extraText = u.join("
")); + } + } + t.exports = { + hoverPoints: function (t, e, r, a) { + var o = n(t, e, r, a); + if (o && !1 !== o[0].index) { + var s = o[0]; + if (void 0 === s.index) return o; + var l = t.subplot, + u = s.cd[s.index], + c = s.trace; + if (l.isPtInside(u)) + return ( + (s.xLabelVal = void 0), + (s.yLabelVal = void 0), + i(u, c, l, s), + (s.hovertemplate = c.hovertemplate), + o + ); + } + }, + makeHoverPointText: i, + }; + }, + 85956: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "scattersmith", + basePlotModule: r(7504), + categories: [ + "smith", + "symbols", + "showLegend", + "scatter-like", + ], + attributes: r(48300), + supplyDefaults: r(65269), + colorbar: r(4898), + formatLabels: r(62047), + calc: r(30621), + plot: r(12480), + style: r(16296).style, + styleOnSelect: r(16296).styleOnSelect, + hoverPoints: r(11350).hoverPoints, + selectPoints: r(98002), + meta: {}, + }; + }, + 12480: function (t, e, r) { + "use strict"; + var n = r(32663), + i = r(50606).BADNUM, + a = r(23893).smith; + t.exports = function (t, e, r) { + for ( + var o = e.layers.frontplot.select("g.scatterlayer"), + s = e.xaxis, + l = e.yaxis, + u = { + xaxis: s, + yaxis: l, + plot: e.framework, + layerClipId: e._hasClipOnAxisFalse + ? e.clipIds.forTraces + : null, + }, + c = 0; + c < r.length; + c++ + ) + for (var f = r[c], h = 0; h < f.length; h++) { + 0 === h && ((f[0].trace._xA = s), (f[0].trace._yA = l)); + var p = f[h], + d = p.real; + if (d === i) p.x = p.y = i; + else { + var v = a([d, p.imag]); + (p.x = v[0]), (p.y = v[1]); + } + } + n(t, u, r, o); + }; + }, + 50413: function (t, e, r) { + "use strict"; + var n = r(5386).fF, + i = r(5386).si, + a = r(82196), + o = r(9012), + s = r(50693), + l = r(79952).P, + u = r(1426).extendFlat, + c = a.marker, + f = a.line, + h = c.line; + t.exports = { + 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: u({}, a.mode, { dflt: "markers" }), + text: u({}, a.text, {}), + texttemplate: i( + { editType: "plot" }, + { keys: ["a", "b", "c", "text"] }, + ), + hovertext: u({}, a.hovertext, {}), + line: { + color: f.color, + width: f.width, + dash: l, + backoff: f.backoff, + shape: u({}, f.shape, { values: ["linear", "spline"] }), + smoothing: f.smoothing, + editType: "calc", + }, + connectgaps: a.connectgaps, + cliponaxis: a.cliponaxis, + fill: u({}, a.fill, { + values: ["none", "toself", "tonext"], + dflt: "none", + }), + fillcolor: a.fillcolor, + marker: u( + { + symbol: c.symbol, + opacity: c.opacity, + angle: c.angle, + angleref: c.angleref, + standoff: c.standoff, + maxdisplayed: c.maxdisplayed, + size: c.size, + sizeref: c.sizeref, + sizemin: c.sizemin, + sizemode: c.sizemode, + line: u( + { width: h.width, editType: "calc" }, + s("marker.line"), + ), + gradient: c.gradient, + editType: "calc", + }, + s("marker"), + ), + textfont: a.textfont, + textposition: a.textposition, + selected: a.selected, + unselected: a.unselected, + hoverinfo: u({}, o.hoverinfo, { + flags: ["a", "b", "c", "text", "name"], + }), + hoveron: a.hoveron, + hovertemplate: n(), + }; + }, + 54337: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(36922), + a = r(75225), + o = r(66279), + s = r(47761).calcMarkerSize, + l = ["a", "b", "c"], + u = { a: ["b", "c"], b: ["a", "c"], c: ["a", "b"] }; + t.exports = function (t, e) { + var r, + c, + f, + h, + p, + d, + v = t._fullLayout[e.subplot].sum, + g = e.sum || v, + y = { a: e.a, b: e.b, c: e.c }; + for (r = 0; r < l.length; r++) + if (!y[(f = l[r])]) { + for ( + p = y[u[f][0]], + d = y[u[f][1]], + h = new Array(p.length), + c = 0; + c < p.length; + c++ + ) + h[c] = g - p[c] - d[c]; + y[f] = h; + } + var m, + x, + b, + _, + w, + T, + k = e._length, + A = new Array(k); + for (r = 0; r < k; r++) + (m = y.a[r]), + (x = y.b[r]), + (b = y.c[r]), + n(m) && n(x) && n(b) + ? (1 != (_ = v / ((m = +m) + (x = +x) + (b = +b))) && + ((m *= _), (x *= _), (b *= _)), + (T = m), + (w = b - x), + (A[r] = { x: w, y: T, a: m, b: x, c: b })) + : (A[r] = { x: !1, y: !1 }); + return s(e, k), i(t, e), a(A, e), o(A, e), A; + }; + }, + 46008: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(47581), + a = r(34098), + o = r(49508), + s = r(11058), + l = r(94039), + u = r(82410), + c = r(28908), + f = r(50413); + t.exports = function (t, e, r, h) { + function p(r, i) { + return n.coerce(t, e, f, r, i); + } + var d, + v = p("a"), + g = p("b"), + y = p("c"); + if ( + (v + ? ((d = v.length), + g + ? ((d = Math.min(d, g.length)), + y && (d = Math.min(d, y.length))) + : (d = y ? Math.min(d, y.length) : 0)) + : g && y && (d = Math.min(g.length, y.length)), + d) + ) { + (e._length = d), + p("sum"), + p("text"), + p("hovertext"), + "fills" !== e.hoveron && p("hovertemplate"), + p( + "mode", + d < i.PTS_LINESONLY ? "lines+markers" : "lines", + ), + a.hasLines(e) && + (s(t, e, r, h, p, { backoff: !0 }), + l(t, e, p), + p("connectgaps")), + a.hasMarkers(e) && o(t, e, r, h, p, { gradient: !0 }), + a.hasText(e) && (p("texttemplate"), u(t, e, h, p)); + var m = []; + (a.hasMarkers(e) || a.hasText(e)) && + (p("cliponaxis"), + p("marker.maxdisplayed"), + m.push("points")), + p("fill"), + "none" !== e.fill && + (c(t, e, r, p), a.hasLines(e) || l(t, e, p)), + ("tonext" !== e.fill && "toself" !== e.fill) || + m.push("fills"), + p("hoveron", m.join("+") || "points"), + n.coerceSelectionMarkerOpacity(e, p); + } else e.visible = !1; + }; + }, + 4524: function (t) { + "use strict"; + t.exports = 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; + }; + }, + 93645: function (t, e, r) { + "use strict"; + var n = r(89298); + t.exports = function (t, e, r) { + var i = {}, + a = r[e.subplot]._subplot; + return ( + (i.aLabel = n.tickText(a.aaxis, t.a, !0).text), + (i.bLabel = n.tickText(a.baxis, t.b, !0).text), + (i.cLabel = n.tickText(a.caxis, t.c, !0).text), + i + ); + }; + }, + 47250: function (t, e, r) { + "use strict"; + var n = r(33720); + t.exports = function (t, e, r, i) { + var a = n(t, e, r, i); + if (a && !1 !== a[0].index) { + var o = a[0]; + if (void 0 === o.index) { + var s = 1 - o.y0 / t.ya._length, + l = t.xa._length, + u = (l * s) / 2, + c = l - u; + return ( + (o.x0 = Math.max(Math.min(o.x0, c), u)), + (o.x1 = Math.max(Math.min(o.x1, c), u)), + a + ); + } + var f = o.cd[o.index], + h = o.trace, + p = o.subplot; + (o.a = f.a), + (o.b = f.b), + (o.c = f.c), + (o.xLabelVal = void 0), + (o.yLabelVal = void 0); + var d = {}; + d[h.subplot] = { _subplot: p }; + var v = h._module.formatLabels(f, h, d); + (o.aLabel = v.aLabel), + (o.bLabel = v.bLabel), + (o.cLabel = v.cLabel); + var g = f.hi || h.hoverinfo, + y = []; + if (!h.hovertemplate) { + var m = g.split("+"); + -1 !== m.indexOf("all") && (m = ["a", "b", "c"]), + -1 !== m.indexOf("a") && x(p.aaxis, o.aLabel), + -1 !== m.indexOf("b") && x(p.baxis, o.bLabel), + -1 !== m.indexOf("c") && x(p.caxis, o.cLabel); + } + return ( + (o.extraText = y.join("
")), + (o.hovertemplate = h.hovertemplate), + a + ); + } + function x(t, e) { + y.push(t._hovertitle + ": " + e); + } + }; + }, + 52979: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(50413), + supplyDefaults: r(46008), + colorbar: r(4898), + formatLabels: r(93645), + calc: r(54337), + plot: r(7507), + style: r(16296).style, + styleOnSelect: r(16296).styleOnSelect, + hoverPoints: r(47250), + selectPoints: r(98002), + eventData: r(4524), + moduleType: "trace", + name: "scatterternary", + basePlotModule: r(61639), + categories: [ + "ternary", + "symbols", + "showLegend", + "scatter-like", + ], + meta: {}, + }; + }, + 7507: function (t, e, r) { + "use strict"; + var n = r(32663); + t.exports = function (t, e, r) { + var i = e.plotContainer; + i.select(".scatterlayer").selectAll("*").remove(); + for ( + var a = e.xaxis, + o = e.yaxis, + s = { + xaxis: a, + yaxis: o, + plot: i, + layerClipId: e._hasClipOnAxisFalse + ? e.clipIdRelative + : null, + }, + l = e.layers.frontplot.select("g.scatterlayer"), + u = 0; + u < r.length; + u++ + ) { + var c = r[u]; + c.length && ((c[0].trace._xA = a), (c[0].trace._yA = o)); + } + n(t, s, r, l); + }; + }, + 46880: function (t, e, r) { + "use strict"; + var n = r(82196), + i = r(50693), + a = r(12663).axisHoverFormat, + o = r(5386).fF, + s = r(42341), + l = r(85555).idRegex, + u = r(44467).templatedArray, + c = r(1426).extendFlat, + f = n.marker, + h = f.line, + p = c(i("marker.line", { editTypeOverride: "calc" }), { + width: c({}, h.width, { editType: "calc" }), + editType: "calc", + }), + d = c(i("marker"), { + symbol: f.symbol, + angle: f.angle, + size: c({}, f.size, { editType: "markerSize" }), + sizeref: f.sizeref, + sizemin: f.sizemin, + sizemode: f.sizemode, + opacity: f.opacity, + colorbar: f.colorbar, + line: p, + editType: "calc", + }); + function v(t) { + return { + valType: "info_array", + freeLength: !0, + editType: "calc", + items: { + valType: "subplotid", + regex: l[t], + editType: "plot", + }, + }; + } + (d.color.editType = + d.cmin.editType = + d.cmax.editType = + "style"), + (t.exports = { + dimensions: u("dimension", { + visible: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + label: { valType: "string", editType: "calc" }, + values: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + axis: { + type: { + valType: "enumerated", + values: ["linear", "log", "date", "category"], + editType: "calc+clearAxisTypes", + }, + matches: { + valType: "boolean", + dflt: !1, + editType: "calc", + }, + editType: "calc+clearAxisTypes", + }, + editType: "calc+clearAxisTypes", + }), + text: c({}, s.text, {}), + hovertext: c({}, s.hovertext, {}), + hovertemplate: o(), + xhoverformat: a("x"), + yhoverformat: a("y"), + marker: d, + xaxes: v("x"), + yaxes: v("y"), + diagonal: { + visible: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + editType: "calc", + }, + showupperhalf: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + showlowerhalf: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + selected: { marker: s.selected.marker, editType: "calc" }, + unselected: { + marker: s.unselected.marker, + editType: "calc", + }, + opacity: s.opacity, + }); + }, + 65017: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(83312); + (t.exports = { + moduleType: "trace", + name: "splom", + categories: [ + "gl", + "regl", + "cartesian", + "symbols", + "showLegend", + "scatter-like", + ], + attributes: r(46880), + supplyDefaults: r(25784), + colorbar: r(4898), + calc: r(87625), + plot: r(79410), + hoverPoints: r(8567).hoverPoints, + selectPoints: r(8689), + editStyle: r(28801), + meta: {}, + }), + n.register(i); + }, + 16947: function (t, e, r) { + "use strict"; + var n = r(46075), + i = r(73972), + a = r(79749), + o = r(27659).a0, + s = r(93612), + l = r(41675).getFromId, + u = r(89298).shouldShowZeroLine, + c = "splom", + f = {}; + function h(t, e, r) { + for ( + var n = r.matrixOptions.data.length, + i = e._visibleDims, + a = (r.viewOpts.ranges = new Array(n)), + o = 0; + o < i.length; + o++ + ) { + var s = i[o], + u = (a[o] = new Array(4)), + c = l(t, e._diag[s][0]); + c && + ((u[0] = c.r2l(c.range[0])), + (u[2] = c.r2l(c.range[1]))); + var f = l(t, e._diag[s][1]); + f && + ((u[1] = f.r2l(f.range[0])), + (u[3] = f.r2l(f.range[1]))); + } + r.selectBatch.length || r.unselectBatch.length + ? r.matrix.update({ ranges: a }, { ranges: a }) + : r.matrix.update({ ranges: a }); + } + function p(t) { + var e = t._fullLayout, + r = e._glcanvas.data()[0].regl, + i = e._splomGrid; + i || (i = e._splomGrid = n(r)), + i.update( + (function (t) { + var e, + r = t._context.plotGlPixelRatio, + n = t._fullLayout, + i = n._size, + a = [0, 0, n.width * r, n.height * r], + o = {}; + function s(t, e, n, i, s, l) { + (n *= r), (i *= r), (s *= r), (l *= r); + var u = e[t + "color"], + c = e[t + "width"], + f = String(u + c); + f in o + ? o[f].data.push(NaN, NaN, n, i, s, l) + : (o[f] = { + data: [n, i, s, l], + join: "rect", + thickness: c * r, + color: u, + viewport: a, + range: a, + overlay: !1, + }); + } + for (e in n._splomSubplots) { + var l, + c, + f = n._plots[e], + h = f.xaxis, + p = f.yaxis, + d = h._gridVals, + v = p._gridVals, + g = h._offset, + y = h._length, + m = p._length, + x = i.b + p.domain[0] * i.h, + b = -p._m, + _ = -b * p.r2l(p.range[0], p.calendar); + if (h.showgrid) + for (e = 0; e < d.length; e++) + (l = g + h.l2p(d[e].x)), + s("grid", h, l, x, l, x + m); + if (p.showgrid) + for (e = 0; e < v.length; e++) + s( + "grid", + p, + g, + (c = x + _ + b * v[e].x), + g + y, + c, + ); + u(t, h, p) && + ((l = g + h.l2p(0)), + s("zeroline", h, l, x, l, x + m)), + u(t, p, h) && + s("zeroline", p, g, (c = x + _ + 0), g + y, c); + } + var w = []; + for (e in o) w.push(o[e]); + return w; + })(t), + ); + } + t.exports = { + name: c, + attr: s.attr, + attrRegex: s.attrRegex, + layoutAttributes: s.layoutAttributes, + supplyLayoutDefaults: s.supplyLayoutDefaults, + drawFramework: s.drawFramework, + plot: function (t) { + var e = t._fullLayout, + r = i.getModule(c), + n = o(t.calcdata, r)[0]; + a( + t, + ["ANGLE_instanced_arrays", "OES_element_index_uint"], + f, + ) && (e._hasOnlyLargeSploms && p(t), r.plot(t, {}, n)); + }, + drag: function (t) { + var e = t.calcdata, + r = t._fullLayout; + r._hasOnlyLargeSploms && p(t); + for (var n = 0; n < e.length; n++) { + var i = e[n][0].trace, + a = r._splomScenes[i.uid]; + "splom" === i.type && a && a.matrix && h(t, i, a); + } + }, + updateGrid: p, + clean: function (t, e, r, n) { + var i, + a = {}; + if (n._splomScenes) { + for (i = 0; i < t.length; i++) { + var o = t[i]; + "splom" === o.type && (a[o.uid] = 1); + } + for (i = 0; i < r.length; i++) { + var l = r[i]; + if (!a[l.uid]) { + var u = n._splomScenes[l.uid]; + u && u.destroy && u.destroy(), + (n._splomScenes[l.uid] = null), + delete n._splomScenes[l.uid]; + } + } + } + 0 === Object.keys(n._splomScenes || {}).length && + delete n._splomScenes, + n._splomGrid && + !e._hasOnlyLargeSploms && + n._hasOnlyLargeSploms && + (n._splomGrid.destroy(), + (n._splomGrid = null), + delete n._splomGrid), + s.clean(t, e, r, n); + }, + updateFx: s.updateFx, + toSVG: s.toSVG, + reglPrecompiled: f, + }; + }, + 87625: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(41675), + a = r(47761).calcMarkerSize, + o = r(47761).calcAxisExpansion, + s = r(36922), + l = r(19635).markerSelection, + u = r(19635).markerStyle, + c = r(10164), + f = r(50606).BADNUM, + h = r(78232).TOO_MANY_POINTS; + t.exports = function (t, e) { + var r, + p, + d, + v, + g, + y, + m = e.dimensions, + x = e._length, + b = {}, + _ = (b.cdata = []), + w = (b.data = []), + T = (e._visibleDims = []); + function k(t, r) { + for ( + var i = t.makeCalcdata( + { v: r.values, vcalendar: e.calendar }, + "v", + ), + a = 0; + a < i.length; + a++ + ) + i[a] = i[a] === f ? NaN : i[a]; + _.push(i), + w.push("log" === t.type ? n.simpleMap(i, t.c2l) : i); + } + for (r = 0; r < m.length; r++) + if ((d = m[r]).visible) { + if ( + ((v = i.getFromId(t, e._diag[r][0])), + (g = i.getFromId(t, e._diag[r][1])), + v && g && v.type !== g.type) + ) { + n.log( + "Skipping splom dimension " + + r + + " with conflicting axis types", + ); + continue; + } + v + ? (k(v, d), + g && + "category" === g.type && + (g._categories = v._categories.slice())) + : k(g, d), + T.push(r); + } + for ( + s(t, e), + n.extendFlat(b, u(t, e)), + y = + _.length * x > h + ? b.sizeAvg || Math.max(b.size, 3) + : a(e, x), + p = 0; + p < T.length; + p++ + ) + (d = m[(r = T[p])]), + (v = i.getFromId(t, e._diag[r][0]) || {}), + (g = i.getFromId(t, e._diag[r][1]) || {}), + o(t, e, v, g, _[p], _[p], y); + var A = c(t, e); + return ( + A.matrix || (A.matrix = !0), + (A.matrixOptions = b), + (A.selectedOptions = l(t, e, e.selected)), + (A.unselectedOptions = l(t, e, e.unselected)), + [{ x: !1, y: !1, t: {}, trace: e }] + ); + }; + }, + 25784: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(85501), + a = r(46880), + o = r(34098), + s = r(49508), + l = r(94397), + u = r(68645).isOpenSymbol; + function c(t, e) { + function r(r, i) { + return n.coerce(t, e, a.dimensions, r, i); + } + r("label"); + var i = r("values"); + i && i.length ? r("visible") : (e.visible = !1), + r("axis.type"), + r("axis.matches"); + } + t.exports = function (t, e, r, f) { + function h(r, i) { + return n.coerce(t, e, a, r, i); + } + var p = i(t, e, { + name: "dimensions", + handleItemDefaults: c, + }), + d = h("diagonal.visible"), + v = h("showupperhalf"), + g = h("showlowerhalf"); + if (l(e, p, "values") && (d || v || g)) { + h("text"), + h("hovertext"), + h("hovertemplate"), + h("xhoverformat"), + h("yhoverformat"), + s(t, e, r, f, h, { noAngleRef: !0, noStandOff: !0 }); + var y = u(e.marker.symbol), + m = o.isBubble(e); + h("marker.line.width", y || m ? 1 : 0), + (function (t, e, r, n) { + var i, + a, + o = e.dimensions, + s = o.length, + l = e.showupperhalf, + u = e.showlowerhalf, + c = e.diagonal.visible, + f = new Array(s), + h = new Array(s); + for (i = 0; i < s; i++) { + var p = i ? i + 1 : ""; + (f[i] = "x" + p), (h[i] = "y" + p); + } + var d = n("xaxes", f), + v = n("yaxes", h), + g = (e._diag = new Array(s)); + (e._xaxes = {}), (e._yaxes = {}); + var y = [], + m = []; + function x(t, n, i, a) { + if (t) { + var o = t.charAt(0), + s = r._splomAxes[o]; + if ( + ((e["_" + o + "axes"][t] = 1), + a.push(t), + !(t in s)) + ) { + var l = (s[t] = {}); + i && + ((l.label = i.label || ""), + i.visible && + i.axis && + (i.axis.type && (l.type = i.axis.type), + i.axis.matches && (l.matches = n))); + } + } + } + var b = !c && !u, + _ = !c && !l; + for (e._axesDim = {}, i = 0; i < s; i++) { + var w = o[i], + T = 0 === i, + k = i === s - 1, + A = (T && b) || (k && _) ? void 0 : d[i], + M = (T && _) || (k && b) ? void 0 : v[i]; + x(A, M, w, y), + x(M, A, w, m), + (g[i] = [A, M]), + (e._axesDim[A] = i), + (e._axesDim[M] = i); + } + for (i = 0; i < y.length; i++) + for (a = 0; a < m.length; a++) { + var S = y[i] + m[a]; + (i > a && l) || (i < a && u) + ? (r._splomSubplots[S] = 1) + : i !== a || + (!c && u && l) || + (r._splomSubplots[S] = 1); + } + (!u || (!c && l && u)) && + ((r._splomGridDflt.xside = "bottom"), + (r._splomGridDflt.yside = "left")); + })(0, e, f, h), + n.coerceSelectionMarkerOpacity(e, h); + } else e.visible = !1; + }; + }, + 28801: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(36922), + a = r(19635).markerStyle; + t.exports = function (t, e) { + var r = e.trace, + o = t._fullLayout._splomScenes[r.uid]; + if (o) { + i(t, r), n.extendFlat(o.matrixOptions, a(t, r)); + var s = n.extendFlat({}, o.matrixOptions, o.viewOpts); + o.matrix.update(s, null); + } + }; + }, + 35948: function (t, e) { + "use strict"; + e.getDimIndex = function (t, e) { + for ( + var r = e._id, + n = { x: 0, y: 1 }[r.charAt(0)], + i = t._visibleDims, + a = 0; + a < i.length; + a++ + ) { + var o = i[a]; + if (t._diag[o][n] === r) return a; + } + return !1; + }; + }, + 8567: function (t, e, r) { + "use strict"; + var n = r(35948), + i = r(20794).calcHover; + t.exports = { + hoverPoints: function (t, e, r) { + var a = t.cd[0].trace, + o = t.scene.matrixOptions.cdata, + s = t.xa, + l = t.ya, + u = s.c2p(e), + c = l.c2p(r), + f = t.distance, + h = n.getDimIndex(a, s), + p = n.getDimIndex(a, l); + if (!1 === h || !1 === p) return [t]; + for ( + var d, v, g = o[h], y = o[p], m = f, x = 0; + x < g.length; + x++ + ) { + var b = g[x], + _ = y[x], + w = s.c2p(b) - u, + T = l.c2p(_) - c, + k = Math.sqrt(w * w + T * T); + k < m && ((m = v = k), (d = x)); + } + return ( + (t.index = d), + (t.distance = m), + (t.dxy = v), + void 0 === d ? [t] : [i(t, g, y, a)] + ); + }, + }; + }, + 6419: function (t, e, r) { + "use strict"; + var n = r(65017); + (n.basePlotModule = r(16947)), (t.exports = n); + }, + 79410: function (t, e, r) { + "use strict"; + var n = r(60487), + i = r(71828), + a = r(41675), + o = r(64505).selectMode; + function s(t, e) { + var r, + s, + l, + u, + c, + f = t._fullLayout, + h = f._size, + p = e.trace, + d = e.t, + v = f._splomScenes[p.uid], + g = v.matrixOptions, + y = g.cdata, + m = f._glcanvas.data()[0].regl, + x = f.dragmode; + if (0 !== y.length) { + (g.lower = p.showupperhalf), + (g.upper = p.showlowerhalf), + (g.diagonal = p.diagonal.visible); + var b = p._visibleDims, + _ = y.length, + w = (v.viewOpts = {}); + for ( + w.ranges = new Array(_), + w.domains = new Array(_), + c = 0; + c < b.length; + c++ + ) { + l = b[c]; + var T = (w.ranges[c] = new Array(4)), + k = (w.domains[c] = new Array(4)); + (r = a.getFromId(t, p._diag[l][0])) && + ((T[0] = r._rl[0]), + (T[2] = r._rl[1]), + (k[0] = r.domain[0]), + (k[2] = r.domain[1])), + (s = a.getFromId(t, p._diag[l][1])) && + ((T[1] = s._rl[0]), + (T[3] = s._rl[1]), + (k[1] = s.domain[0]), + (k[3] = s.domain[1])); + } + var A = t._context.plotGlPixelRatio, + M = h.l * A, + S = h.b * A, + E = h.w * A, + L = h.h * A; + (w.viewport = [M, S, E + M, L + S]), + !0 === v.matrix && (v.matrix = n(m)); + var C = f.clickmode.indexOf("select") > -1, + P = !0; + if (o(x) || p.selectedpoints || C) { + var O = p._length; + if (p.selectedpoints) { + v.selectBatch = p.selectedpoints; + var I = p.selectedpoints, + D = {}; + for (l = 0; l < I.length; l++) D[I[l]] = !0; + var z = []; + for (l = 0; l < O; l++) D[l] || z.push(l); + v.unselectBatch = z; + } + var R = (d.xpx = new Array(_)), + F = (d.ypx = new Array(_)); + for (c = 0; c < b.length; c++) { + if (((l = b[c]), (r = a.getFromId(t, p._diag[l][0])))) + for (R[c] = new Array(O), u = 0; u < O; u++) + R[c][u] = r.c2p(y[c][u]); + if ((s = a.getFromId(t, p._diag[l][1]))) + for (F[c] = new Array(O), u = 0; u < O; u++) + F[c][u] = s.c2p(y[c][u]); + } + if (v.selectBatch.length || v.unselectBatch.length) { + var B = i.extendFlat({}, g, v.unselectedOptions, w), + N = i.extendFlat({}, g, v.selectedOptions, w); + v.matrix.update(B, N), (P = !1); + } + } else d.xpx = d.ypx = null; + if (P) { + var j = i.extendFlat({}, g, w); + v.matrix.update(j, null); + } + } + } + t.exports = function (t, e, r) { + if (r.length) + for (var n = 0; n < r.length; n++) s(t, r[n][0]); + }; + }, + 10164: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e) { + var r = t._fullLayout, + i = e.uid, + a = r._splomScenes; + a || (a = r._splomScenes = {}); + var o = { dirty: !0, selectBatch: [], unselectBatch: [] }, + s = a[e.uid]; + return ( + s || + (((s = a[i] = + n.extendFlat({}, o, { + matrix: !1, + selectBatch: [], + unselectBatch: [], + })).draw = function () { + s.matrix && + s.matrix.draw && + (s.selectBatch.length || s.unselectBatch.length + ? s.matrix.draw(s.unselectBatch, s.selectBatch) + : s.matrix.draw()), + (s.dirty = !1); + }), + (s.destroy = function () { + s.matrix && s.matrix.destroy && s.matrix.destroy(), + (s.matrixOptions = null), + (s.selectBatch = null), + (s.unselectBatch = null), + (s = null); + })), + s.dirty || n.extendFlat(s, o), + s + ); + }; + }, + 8689: function (t, e, r) { + "use strict"; + var n = r(71828), + i = n.pushUnique, + a = r(34098), + o = r(35948); + t.exports = function (t, e) { + var r = t.cd, + s = r[0].trace, + l = r[0].t, + u = t.scene, + c = u.matrixOptions.cdata, + f = t.xaxis, + h = t.yaxis, + p = []; + if (!u) return p; + var d = !a.hasMarkers(s) && !a.hasText(s); + if (!0 !== s.visible || d) return p; + var v = o.getDimIndex(s, f), + g = o.getDimIndex(s, h); + if (!1 === v || !1 === g) return p; + var y = l.xpx[v], + m = l.ypx[g], + x = c[v], + b = c[g], + _ = (t.scene.selectBatch || []).slice(), + w = []; + if (!1 !== e && !e.degenerate) + for (var T = 0; T < x.length; T++) + e.contains([y[T], m[T]], null, T, t) + ? (p.push({ pointNumber: T, x: x[T], y: b[T] }), + i(_, T)) + : -1 !== _.indexOf(T) + ? i(_, T) + : w.push(T); + var k = u.matrixOptions; + return ( + _.length || w.length + ? u.selectBatch.length || + u.unselectBatch.length || + u.matrix.update( + u.unselectedOptions, + n.extendFlat({}, k, u.selectedOptions, u.viewOpts), + ) + : u.matrix.update(k, null), + (u.selectBatch = _), + (u.unselectBatch = w), + p + ); + }; + }, + 21850: function (t, e, r) { + "use strict"; + var n = r(50693), + i = r(12663).axisHoverFormat, + a = r(5386).fF, + o = r(2418), + s = r(9012), + l = r(1426).extendFlat, + u = { + x: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + y: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + z: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + u: { valType: "data_array", editType: "calc" }, + v: { valType: "data_array", editType: "calc" }, + w: { valType: "data_array", editType: "calc" }, + starts: { + x: { valType: "data_array", editType: "calc" }, + y: { valType: "data_array", editType: "calc" }, + z: { valType: "data_array", editType: "calc" }, + editType: "calc", + }, + maxdisplayed: { + valType: "integer", + min: 0, + dflt: 1e3, + editType: "calc", + }, + sizeref: { + valType: "number", + editType: "calc", + min: 0, + dflt: 1, + }, + text: { valType: "string", dflt: "", editType: "calc" }, + hovertext: { + valType: "string", + dflt: "", + editType: "calc", + }, + hovertemplate: a( + { editType: "calc" }, + { + keys: [ + "tubex", + "tubey", + "tubez", + "tubeu", + "tubev", + "tubew", + "norm", + "divergence", + ], + }, + ), + uhoverformat: i("u", 1), + vhoverformat: i("v", 1), + whoverformat: i("w", 1), + xhoverformat: i("x"), + yhoverformat: i("y"), + zhoverformat: i("z"), + showlegend: l({}, s.showlegend, { dflt: !1 }), + }; + l( + u, + n("", { + colorAttr: "u/v/w norm", + showScaleDflt: !0, + editTypeOverride: "calc", + }), + ), + ["opacity", "lightposition", "lighting"].forEach( + function (t) { + u[t] = o[t]; + }, + ), + (u.hoverinfo = l({}, s.hoverinfo, { + editType: "calc", + flags: [ + "x", + "y", + "z", + "u", + "v", + "w", + "norm", + "divergence", + "text", + "name", + ], + dflt: "x+y+z+norm+text+name", + })), + (u.transforms = void 0), + (t.exports = u); + }, + 88489: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(78803); + function a(t) { + var e, + r, + i, + a, + s, + l, + u, + c, + f, + h, + p, + d, + v = t._x, + g = t._y, + y = t._z, + m = t._len, + x = -1 / 0, + b = 1 / 0, + _ = -1 / 0, + w = 1 / 0, + T = -1 / 0, + k = 1 / 0, + A = ""; + for ( + m && ((u = v[0]), (f = g[0]), (p = y[0])), + m > 1 && + ((c = v[m - 1]), (h = g[m - 1]), (d = y[m - 1])), + e = 0; + e < m; + e++ + ) + (x = Math.max(x, v[e])), + (b = Math.min(b, v[e])), + (_ = Math.max(_, g[e])), + (w = Math.min(w, g[e])), + (T = Math.max(T, y[e])), + (k = Math.min(k, y[e])), + a || v[e] === u || ((a = !0), (A += "x")), + s || g[e] === f || ((s = !0), (A += "y")), + l || y[e] === p || ((l = !0), (A += "z")); + a || (A += "x"), s || (A += "y"), l || (A += "z"); + var M = o(t._x), + S = o(t._y), + E = o(t._z); + A = (A = (A = A.replace( + "x", + (u > c ? "-" : "+") + "x", + )).replace("y", (f > h ? "-" : "+") + "y")).replace( + "z", + (p > d ? "-" : "+") + "z", + ); + var L = function () { + (m = 0), (M = []), (S = []), (E = []); + }; + (!m || m < M.length * S.length * E.length) && L(); + var C = function (t) { + return "x" === t ? v : "y" === t ? g : y; + }, + P = function (t) { + return "x" === t ? M : "y" === t ? S : E; + }, + O = function (t) { + return t[m - 1] < t[0] ? -1 : 1; + }, + I = C(A[1]), + D = C(A[3]), + z = C(A[5]), + R = P(A[1]).length, + F = P(A[3]).length, + B = P(A[5]).length, + N = !1, + j = function (t, e, r) { + return R * (F * t + e) + r; + }, + U = O(C(A[1])), + V = O(C(A[3])), + H = O(C(A[5])); + for (e = 0; e < B - 1; e++) { + for (r = 0; r < F - 1; r++) { + for (i = 0; i < R - 1; i++) { + var q = j(e, r, i), + G = j(e, r, i + 1), + Z = j(e, r + 1, i), + Y = j(e + 1, r, i); + if ( + ((I[q] * U < I[G] * U && + D[q] * V < D[Z] * V && + z[q] * H < z[Y] * H) || + (N = !0), + N) + ) + break; + } + if (N) break; + } + if (N) break; + } + return ( + N && + (n.warn( + "Encountered arbitrary coordinates! Unable to input data grid.", + ), + L()), + { + xMin: b, + yMin: w, + zMin: k, + xMax: x, + yMax: _, + zMax: T, + Xs: M, + Ys: S, + Zs: E, + len: m, + fill: A, + } + ); + } + function o(t) { + return n.distinctVals(t).vals; + } + function s(t, e) { + if ((void 0 === e && (e = t.length), n.isTypedArray(t))) + return t.subarray(0, e); + for (var r = [], i = 0; i < e; i++) r[i] = +t[i]; + return r; + } + t.exports = { + calc: function (t, e) { + (e._len = Math.min( + e.u.length, + e.v.length, + e.w.length, + e.x.length, + e.y.length, + e.z.length, + )), + (e._u = s(e.u, e._len)), + (e._v = s(e.v, e._len)), + (e._w = s(e.w, e._len)), + (e._x = s(e.x, e._len)), + (e._y = s(e.y, e._len)), + (e._z = s(e.z, e._len)); + var r = a(e); + (e._gridFill = r.fill), + (e._Xs = r.Xs), + (e._Ys = r.Ys), + (e._Zs = r.Zs), + (e._len = r.len); + var n, + o, + l, + u = 0; + e.starts && + ((n = s(e.starts.x || [])), + (o = s(e.starts.y || [])), + (l = s(e.starts.z || [])), + (u = Math.min(n.length, o.length, l.length))), + (e._startsX = n || []), + (e._startsY = o || []), + (e._startsZ = l || []); + var c, + f = 0, + h = 1 / 0; + for (c = 0; c < e._len; c++) { + var p = e._u[c], + d = e._v[c], + v = e._w[c], + g = Math.sqrt(p * p + d * d + v * v); + (f = Math.max(f, g)), (h = Math.min(h, g)); + } + for ( + i(t, e, { + vals: [h, f], + containerStr: "", + cLetter: "c", + }), + c = 0; + c < u; + c++ + ) { + var y = n[c]; + (r.xMax = Math.max(r.xMax, y)), + (r.xMin = Math.min(r.xMin, y)); + var m = o[c]; + (r.yMax = Math.max(r.yMax, m)), + (r.yMin = Math.min(r.yMin, m)); + var x = l[c]; + (r.zMax = Math.max(r.zMax, x)), + (r.zMin = Math.min(r.zMin, x)); + } + (e._slen = u), + (e._normMax = f), + (e._xbnds = [r.xMin, r.xMax]), + (e._ybnds = [r.yMin, r.yMax]), + (e._zbnds = [r.zMin, r.zMax]); + }, + filter: s, + processGrid: a, + }; + }, + 90154: function (t, e, r) { + "use strict"; + var n = r(9330).gl_streamtube3d, + i = n.createTubeMesh, + a = r(71828), + o = r(81697).parseColorScale, + s = r(21081).extractOpts, + l = r(90060), + u = { xaxis: 0, yaxis: 1, zaxis: 2 }; + function c(t, e) { + (this.scene = t), + (this.uid = e), + (this.mesh = null), + (this.data = null); + } + var f = c.prototype; + function h(t) { + var e = t.length; + return e > 2 + ? t.slice(1, e - 1) + : 2 === e + ? [(t[0] + t[1]) / 2] + : t; + } + function p(t) { + var e = t.length; + return 1 === e + ? [0.5, 0.5] + : [t[1] - t[0], t[e - 1] - t[e - 2]]; + } + function d(t, e) { + var r = t.fullSceneLayout, + i = t.dataScale, + c = e._len, + f = {}; + function d(t, e) { + var n = r[e], + o = i[u[e]]; + return a.simpleMap(t, function (t) { + return n.d2l(t) * o; + }); + } + if ( + ((f.vectors = l( + d(e._u, "xaxis"), + d(e._v, "yaxis"), + d(e._w, "zaxis"), + c, + )), + !c) + ) + return { positions: [], cells: [] }; + var v = d(e._Xs, "xaxis"), + g = d(e._Ys, "yaxis"), + y = d(e._Zs, "zaxis"); + if ( + ((f.meshgrid = [v, g, y]), + (f.gridFill = e._gridFill), + e._slen) + ) + f.startingPositions = l( + d(e._startsX, "xaxis"), + d(e._startsY, "yaxis"), + d(e._startsZ, "zaxis"), + ); + else { + for ( + var m = g[0], + x = h(v), + b = h(y), + _ = new Array(x.length * b.length), + w = 0, + T = 0; + T < x.length; + T++ + ) + for (var k = 0; k < b.length; k++) + _[w++] = [x[T], m, b[k]]; + f.startingPositions = _; + } + (f.colormap = o(e)), + (f.tubeSize = e.sizeref), + (f.maxLength = e.maxdisplayed); + var A = d(e._xbnds, "xaxis"), + M = d(e._ybnds, "yaxis"), + S = d(e._zbnds, "zaxis"), + E = p(v), + L = p(g), + C = p(y), + P = [ + [A[0] - E[0], M[0] - L[0], S[0] - C[0]], + [A[1] + E[1], M[1] + L[1], S[1] + C[1]], + ], + O = n(f, P), + I = s(e); + O.vertexIntensityBounds = [ + I.min / e._normMax, + I.max / e._normMax, + ]; + var D = e.lightposition; + return ( + (O.lightPosition = [D.x, D.y, D.z]), + (O.ambient = e.lighting.ambient), + (O.diffuse = e.lighting.diffuse), + (O.specular = e.lighting.specular), + (O.roughness = e.lighting.roughness), + (O.fresnel = e.lighting.fresnel), + (O.opacity = e.opacity), + (e._pad = O.tubeScale * e.sizeref * 2), + O + ); + } + (f.handlePick = function (t) { + var e = this.scene.fullSceneLayout, + r = this.scene.dataScale; + function n(t, n) { + var i = e[n], + a = r[u[n]]; + return i.l2c(t) / a; + } + if (t.object === this.mesh) { + var i = t.data.position, + a = t.data.velocity; + return ( + (t.traceCoordinate = [ + n(i[0], "xaxis"), + n(i[1], "yaxis"), + n(i[2], "zaxis"), + n(a[0], "xaxis"), + n(a[1], "yaxis"), + n(a[2], "zaxis"), + t.data.intensity * this.data._normMax, + t.data.divergence, + ]), + (t.textLabel = this.data.hovertext || this.data.text), + !0 + ); + } + }), + (f.update = function (t) { + this.data = t; + var e = d(this.scene, t); + this.mesh.update(e); + }), + (f.dispose = function () { + this.scene.glplot.remove(this.mesh), this.mesh.dispose(); + }), + (t.exports = function (t, e) { + var r = t.glplot.gl, + n = d(t, e), + a = i(r, n), + o = new c(t, e.uid); + return ( + (o.mesh = a), + (o.data = e), + (a._trace = o), + t.glplot.add(a), + o + ); + }); + }, + 22459: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(1586), + a = r(21850); + t.exports = function (t, e, r, o) { + function s(r, i) { + return n.coerce(t, e, a, r, i); + } + var l = s("u"), + u = s("v"), + c = s("w"), + f = s("x"), + h = s("y"), + p = s("z"); + l && + l.length && + u && + u.length && + c && + c.length && + f && + f.length && + h && + h.length && + p && + p.length + ? (s("starts.x"), + s("starts.y"), + s("starts.z"), + s("maxdisplayed"), + s("sizeref"), + s("lighting.ambient"), + s("lighting.diffuse"), + s("lighting.specular"), + s("lighting.roughness"), + s("lighting.fresnel"), + s("lightposition.x"), + s("lightposition.y"), + s("lightposition.z"), + i(t, e, o, s, { prefix: "", cLetter: "c" }), + s("text"), + s("hovertext"), + s("hovertemplate"), + s("uhoverformat"), + s("vhoverformat"), + s("whoverformat"), + s("xhoverformat"), + s("yhoverformat"), + s("zhoverformat"), + (e._length = null)) + : (e.visible = !1); + }; + }, + 61510: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "streamtube", + basePlotModule: r(58547), + categories: ["gl3d", "showLegend"], + attributes: r(21850), + supplyDefaults: r(22459), + colorbar: { min: "cmin", max: "cmax" }, + calc: r(88489).calc, + plot: r(90154), + eventData: function (t, e) { + return ( + (t.tubex = t.x), + (t.tubey = t.y), + (t.tubez = t.z), + (t.tubeu = e.traceCoordinate[3]), + (t.tubev = e.traceCoordinate[4]), + (t.tubew = e.traceCoordinate[5]), + (t.norm = e.traceCoordinate[6]), + (t.divergence = e.traceCoordinate[7]), + delete t.x, + delete t.y, + delete t.z, + t + ); + }, + meta: {}, + }; + }, + 57564: function (t, e, r) { + "use strict"; + var n = r(9012), + i = r(5386).fF, + a = r(5386).si, + o = r(50693), + s = r(27670).Y, + l = r(34e3), + u = r(7055), + c = r(1426).extendFlat, + f = r(79952).u; + t.exports = { + labels: { valType: "data_array", editType: "calc" }, + parents: { valType: "data_array", editType: "calc" }, + values: { valType: "data_array", editType: "calc" }, + branchvalues: { + valType: "enumerated", + values: ["remainder", "total"], + dflt: "remainder", + editType: "calc", + }, + count: { + valType: "flaglist", + flags: ["branches", "leaves"], + dflt: "leaves", + editType: "calc", + }, + level: { valType: "any", editType: "plot", anim: !0 }, + maxdepth: { + valType: "integer", + editType: "plot", + dflt: -1, + }, + marker: c( + { + colors: { valType: "data_array", editType: "calc" }, + line: { + color: c({}, l.marker.line.color, { dflt: null }), + width: c({}, l.marker.line.width, { dflt: 1 }), + editType: "calc", + }, + pattern: f, + editType: "calc", + }, + o("marker", { colorAttr: "colors", anim: !1 }), + ), + leaf: { + opacity: { + valType: "number", + editType: "style", + min: 0, + max: 1, + }, + editType: "plot", + }, + text: l.text, + textinfo: { + valType: "flaglist", + flags: [ + "label", + "text", + "value", + "current path", + "percent root", + "percent entry", + "percent parent", + ], + extras: ["none"], + editType: "plot", + }, + texttemplate: a( + { editType: "plot" }, + { keys: u.eventDataKeys.concat(["label", "value"]) }, + ), + hovertext: l.hovertext, + hoverinfo: c({}, n.hoverinfo, { + flags: [ + "label", + "text", + "value", + "name", + "current path", + "percent root", + "percent entry", + "percent parent", + ], + dflt: "label+text+value+name", + }), + hovertemplate: i({}, { keys: u.eventDataKeys }), + textfont: l.textfont, + insidetextorientation: l.insidetextorientation, + insidetextfont: l.insidetextfont, + outsidetextfont: c({}, l.outsidetextfont, {}), + rotation: { valType: "angle", dflt: 0, editType: "plot" }, + sort: l.sort, + root: { + color: { + valType: "color", + editType: "calc", + dflt: "rgba(0,0,0,0)", + }, + editType: "calc", + }, + domain: s({ + name: "sunburst", + trace: !0, + editType: "calc", + }), + }; + }, + 66888: function (t, e, r) { + "use strict"; + var n = r(74875); + (e.name = "sunburst"), + (e.plot = function (t, r, i, a) { + n.plotBasePlot(e.name, t, r, i, a); + }), + (e.clean = function (t, r, i, a) { + n.cleanBasePlot(e.name, t, r, i, a); + }); + }, + 52147: function (t, e, r) { + "use strict"; + var n = r(674), + i = r(92770), + a = r(71828), + o = r(21081).makeColorScaleFuncFromTrace, + s = r(32354).makePullColorFn, + l = r(32354).generateExtendedColors, + u = r(21081).calc, + c = r(50606).ALMOST_EQUAL, + f = {}, + h = {}, + p = {}; + function d(t, e, r) { + var n = 0, + i = t.children; + if (i) { + for (var a = i.length, o = 0; o < a; o++) + n += d(i[o], e, r); + r.branches && n++; + } else r.leaves && n++; + return ( + (t.value = t.data.data.value = n), + e._values || (e._values = []), + (e._values[t.data.data.i] = n), + n + ); + } + (e.calc = function (t, e) { + var r, + l, + f, + h, + p, + v, + g = t._fullLayout, + y = e.ids, + m = a.isArrayOrTypedArray(y), + x = e.labels, + b = e.parents, + _ = e.values, + w = a.isArrayOrTypedArray(_), + T = [], + k = {}, + A = {}, + M = function (t) { + return t || "number" == typeof t; + }, + S = function (t) { + return !w || (i(_[t]) && _[t] >= 0); + }; + m + ? ((r = Math.min(y.length, b.length)), + (l = function (t) { + return M(y[t]) && S(t); + }), + (f = function (t) { + return String(y[t]); + })) + : ((r = Math.min(x.length, b.length)), + (l = function (t) { + return M(x[t]) && S(t); + }), + (f = function (t) { + return String(x[t]); + })), + w && (r = Math.min(r, _.length)); + for (var E = 0; E < r; E++) + if (l(E)) { + var L = f(E), + C = M(b[E]) ? String(b[E]) : "", + P = { + i: E, + id: L, + pid: C, + label: M(x[E]) ? String(x[E]) : "", + }; + w && (P.v = +_[E]), + T.push(P), + (p = L), + k[(h = C)] ? k[h].push(p) : (k[h] = [p]), + (A[p] = 1); + } + if (k[""]) { + if (k[""].length > 1) { + for (var O = a.randstr(), I = 0; I < T.length; I++) + "" === T[I].pid && (T[I].pid = O); + T.unshift({ + hasMultipleRoots: !0, + id: O, + pid: "", + label: "", + }); + } + } else { + var D, + z = []; + for (D in k) A[D] || z.push(D); + if (1 !== z.length) + return a.warn( + [ + "Multiple implied roots, cannot build", + e.type, + "hierarchy of", + e.name + ".", + "These roots include:", + z.join(", "), + ].join(" "), + ); + (D = z[0]), + T.unshift({ + hasImpliedRoot: !0, + id: D, + pid: "", + label: D, + }); + } + try { + v = n + .stratify() + .id(function (t) { + return t.id; + }) + .parentId(function (t) { + return t.pid; + })(T); + } catch (t) { + return a.warn( + [ + "Failed to build", + e.type, + "hierarchy of", + e.name + ".", + "Error:", + t.message, + ].join(" "), + ); + } + var R = n.hierarchy(v), + F = !1; + if (w) + switch (e.branchvalues) { + case "remainder": + R.sum(function (t) { + return t.data.v; + }); + break; + case "total": + R.each(function (t) { + var r = t.data.data, + n = r.v; + if (t.children) { + var i = t.children.reduce(function (t, e) { + return t + e.data.data.v; + }, 0); + if ( + ((r.hasImpliedRoot || r.hasMultipleRoots) && + (n = i), + n < i * c) + ) + return ( + (F = !0), + a.warn( + [ + "Total value for node", + t.data.data.id, + "of", + e.name, + "is smaller than the sum of its children.", + "\nparent value =", + n, + "\nchildren sum =", + i, + ].join(" "), + ) + ); + } + t.value = n; + }); + } + else + d(R, e, { + branches: -1 !== e.count.indexOf("branches"), + leaves: -1 !== e.count.indexOf("leaves"), + }); + if (!F) { + var B, N; + e.sort && + R.sort(function (t, e) { + return e.value - t.value; + }); + var j = e.marker.colors || [], + U = !!j.length; + return ( + e._hasColorscale + ? (U || (j = w ? e.values : e._values), + u(t, e, { + vals: j, + containerStr: "marker", + cLetter: "c", + }), + (N = o(e.marker))) + : (B = s(g["_" + e.type + "colormap"])), + R.each(function (t) { + var r = t.data.data; + r.color = e._hasColorscale + ? N(j[r.i]) + : B(j[r.i], r.id); + }), + (T[0].hierarchy = R), + T + ); + } + }), + (e._runCrossTraceCalc = function (t, e) { + var r = e._fullLayout, + n = e.calcdata, + i = r[t + "colorway"], + a = r["_" + t + "colormap"]; + r["extend" + t + "colors"] && + (i = l( + i, + "icicle" === t ? p : "treemap" === t ? h : f, + )); + var o, + s = 0; + function u(t) { + var e = t.data.data, + r = e.id; + !1 === e.color && + (a[r] + ? (e.color = a[r]) + : t.parent + ? t.parent.parent + ? (e.color = t.parent.data.data.color) + : ((a[r] = e.color = i[s % i.length]), s++) + : (e.color = o)); + } + for (var c = 0; c < n.length; c++) { + var d = n[c][0]; + d.trace.type === t && + d.hierarchy && + ((o = d.trace.root.color), d.hierarchy.each(u)); + } + }), + (e.crossTraceCalc = function (t) { + return e._runCrossTraceCalc("sunburst", t); + }); + }, + 7055: function (t) { + "use strict"; + t.exports = { + CLICK_TRANSITION_TIME: 750, + CLICK_TRANSITION_EASING: "linear", + eventDataKeys: [ + "currentPath", + "root", + "entry", + "percentRoot", + "percentEntry", + "percentParent", + ], + }; + }, + 17094: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(57564), + a = r(27670).c, + o = r(90769).handleText, + s = r(37434).handleMarkerDefaults, + l = r(21081), + u = l.hasColorscale, + c = l.handleDefaults; + t.exports = function (t, e, r, l) { + function f(r, a) { + return n.coerce(t, e, i, r, a); + } + var h = f("labels"), + p = f("parents"); + if (h && h.length && p && p.length) { + var d = f("values"); + d && d.length ? f("branchvalues") : f("count"), + f("level"), + f("maxdepth"), + s(t, e, l, f); + var v = (e._hasColorscale = + u(t, "marker", "colors") || (t.marker || {}).coloraxis); + v && c(t, e, l, f, { prefix: "marker.", cLetter: "c" }), + f("leaf.opacity", v ? 1 : 0.7); + var g = f("text"); + f("texttemplate"), + e.texttemplate || + f( + "textinfo", + Array.isArray(g) ? "text+label" : "label", + ), + f("hovertext"), + f("hovertemplate"), + o(t, e, l, f, "auto", { + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !1, + moduleHasCliponaxis: !1, + moduleHasTextangle: !1, + moduleHasInsideanchor: !1, + }), + f("insidetextorientation"), + f("sort"), + f("rotation"), + f("root.color"), + a(e, l, f), + (e._length = null); + } else e.visible = !1; + }; + }, + 43467: function (t, e, r) { + "use strict"; + var n = r(91424), + i = r(7901); + t.exports = function (t, e, r, a, o) { + var s = e.data.data, + l = s.i, + u = o || s.color; + if (l >= 0) { + e.i = s.i; + var c = r.marker; + (c.pattern && c.colors && c.pattern.shape) || + ((c.color = u), (e.color = u)), + n.pointStyle(t, r, a, e); + } else i.fill(t, u); + }; + }, + 83523: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(23469).appendArrayPointValue, + o = r(30211), + s = r(71828), + l = r(11086), + u = r(2791), + c = r(53581).formatPieValue; + function f(t, e, r) { + for ( + var n = t.data.data, + i = { + curveNumber: e.index, + pointNumber: n.i, + data: e._input, + fullData: e, + }, + o = 0; + o < r.length; + o++ + ) { + var s = r[o]; + s in t && (i[s] = t[s]); + } + return ( + "parentString" in t && + !u.isHierarchyRoot(t) && + (i.parent = t.parentString), + a(i, e, n.i), + i + ); + } + t.exports = function (t, e, r, a, h) { + var p = a[0], + d = p.trace, + v = p.hierarchy, + g = "sunburst" === d.type, + y = "treemap" === d.type || "icicle" === d.type; + "_hasHoverLabel" in d || (d._hasHoverLabel = !1), + "_hasHoverEvent" in d || (d._hasHoverEvent = !1), + t.on("mouseover", function (i) { + var a = r._fullLayout; + if (!r._dragging && !1 !== a.hovermode) { + var l, + m = r._fullData[d.index], + x = i.data.data, + b = x.i, + _ = u.isHierarchyRoot(i), + w = u.getParent(v, i), + T = u.getValue(i), + k = function (t) { + return s.castOption(m, b, t); + }, + A = k("hovertemplate"), + M = o.castHoverinfo(m, a, b), + S = a.separators; + if (A || (M && "none" !== M && "skip" !== M)) { + var E, L; + g && + ((E = p.cx + i.pxmid[0] * (1 - i.rInscribed)), + (L = p.cy + i.pxmid[1] * (1 - i.rInscribed))), + y && ((E = i._hoverX), (L = i._hoverY)); + var C, + P = {}, + O = [], + I = [], + D = function (t) { + return -1 !== O.indexOf(t); + }; + M && + (O = + "all" === M + ? m._module.attributes.hoverinfo.flags + : M.split("+")), + (P.label = x.label), + D("label") && P.label && I.push(P.label), + x.hasOwnProperty("v") && + ((P.value = x.v), + (P.valueLabel = c(P.value, S)), + D("value") && I.push(P.valueLabel)), + (P.currentPath = i.currentPath = + u.getPath(i.data)), + D("current path") && !_ && I.push(P.currentPath); + var z = [], + R = function () { + -1 === z.indexOf(C) && (I.push(C), z.push(C)); + }; + (P.percentParent = i.percentParent = + T / u.getValue(w)), + (P.parent = i.parentString = u.getPtLabel(w)), + D("percent parent") && + ((C = + u.formatPercent(P.percentParent, S) + + " of " + + P.parent), + R()), + (P.percentEntry = i.percentEntry = + T / u.getValue(e)), + (P.entry = i.entry = u.getPtLabel(e)), + !D("percent entry") || + _ || + i.onPathbar || + ((C = + u.formatPercent(P.percentEntry, S) + + " of " + + P.entry), + R()), + (P.percentRoot = i.percentRoot = + T / u.getValue(v)), + (P.root = i.root = u.getPtLabel(v)), + D("percent root") && + !_ && + ((C = + u.formatPercent(P.percentRoot, S) + + " of " + + P.root), + R()), + (P.text = k("hovertext") || k("text")), + D("text") && + ((C = P.text), + s.isValidTextValue(C) && I.push(C)), + (l = [f(i, m, h.eventDataKeys)]); + var F = { + trace: m, + y: L, + _x0: i._x0, + _x1: i._x1, + _y0: i._y0, + _y1: i._y1, + text: I.join("
"), + name: A || D("name") ? m.name : void 0, + color: k("hoverlabel.bgcolor") || x.color, + borderColor: k("hoverlabel.bordercolor"), + fontFamily: k("hoverlabel.font.family"), + fontSize: k("hoverlabel.font.size"), + fontColor: k("hoverlabel.font.color"), + nameLength: k("hoverlabel.namelength"), + textAlign: k("hoverlabel.align"), + hovertemplate: A, + hovertemplateLabels: P, + eventData: l, + }; + g && + ((F.x0 = E - i.rInscribed * i.rpx1), + (F.x1 = E + i.rInscribed * i.rpx1), + (F.idealAlign = + i.pxmid[0] < 0 ? "left" : "right")), + y && + ((F.x = E), + (F.idealAlign = E < 0 ? "left" : "right")); + var B = []; + o.loneHover(F, { + container: a._hoverlayer.node(), + outerContainer: a._paper.node(), + gd: r, + inOut_bbox: B, + }), + (l[0].bbox = B[0]), + (d._hasHoverLabel = !0); + } + if (y) { + var N = t.select("path.surface"); + h.styleOne(N, i, m, r, { hovered: !0 }); + } + (d._hasHoverEvent = !0), + r.emit("plotly_hover", { + points: l || [f(i, m, h.eventDataKeys)], + event: n.event, + }); + } + }), + t.on("mouseout", function (e) { + var i = r._fullLayout, + a = r._fullData[d.index], + s = n.select(this).datum(); + if ( + (d._hasHoverEvent && + ((e.originalEvent = n.event), + r.emit("plotly_unhover", { + points: [f(s, a, h.eventDataKeys)], + event: n.event, + }), + (d._hasHoverEvent = !1)), + d._hasHoverLabel && + (o.loneUnhover(i._hoverlayer.node()), + (d._hasHoverLabel = !1)), + y) + ) { + var l = t.select("path.surface"); + h.styleOne(l, s, a, r, { hovered: !1 }); + } + }), + t.on("click", function (t) { + var e = r._fullLayout, + a = r._fullData[d.index], + s = g && (u.isHierarchyRoot(t) || u.isLeaf(t)), + c = u.getPtId(t), + p = u.isEntry(t) + ? u.findEntryWithChild(v, c) + : u.findEntryWithLevel(v, c), + y = u.getPtId(p), + m = { + points: [f(t, a, h.eventDataKeys)], + event: n.event, + }; + s || (m.nextLevel = y); + var x = l.triggerHandler( + r, + "plotly_" + d.type + "click", + m, + ); + if ( + (!1 !== x && + e.hovermode && + ((r._hoverdata = [f(t, a, h.eventDataKeys)]), + o.click(r, n.event)), + !s && !1 !== x && !r._dragging && !r._transitioning) + ) { + i.call( + "_storeDirectGUIEdit", + a, + e._tracePreGUI[a.uid], + { level: a.level }, + ); + var b = { data: [{ level: y }], traces: [d.index] }, + _ = { + frame: { redraw: !1, duration: h.transitionTime }, + transition: { + duration: h.transitionTime, + easing: h.transitionEasing, + }, + mode: "immediate", + fromcurrent: !0, + }; + o.loneUnhover(e._hoverlayer.node()), + i.call("animate", r, b, _); + } + }); + }; + }, + 2791: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(6964), + o = r(53581); + function s(t) { + return t.data.data.pid; + } + (e.findEntryWithLevel = function (t, r) { + var n; + return ( + r && + t.eachAfter(function (t) { + if (e.getPtId(t) === r) return (n = t.copy()); + }), + n || t + ); + }), + (e.findEntryWithChild = function (t, r) { + var n; + return ( + t.eachAfter(function (t) { + for ( + var i = t.children || [], a = 0; + a < i.length; + a++ + ) { + var o = i[a]; + if (e.getPtId(o) === r) return (n = t.copy()); + } + }), + n || t + ); + }), + (e.isEntry = function (t) { + return !t.parent; + }), + (e.isLeaf = function (t) { + return !t.children; + }), + (e.getPtId = function (t) { + return t.data.data.id; + }), + (e.getPtLabel = function (t) { + return t.data.data.label; + }), + (e.getValue = function (t) { + return t.value; + }), + (e.isHierarchyRoot = function (t) { + return "" === s(t); + }), + (e.setSliceCursor = function (t, r, n) { + var i = n.isTransitioning; + if (!i) { + var o = t.datum(); + i = + (n.hideOnRoot && e.isHierarchyRoot(o)) || + (n.hideOnLeaves && e.isLeaf(o)); + } + a(t, i ? null : "pointer"); + }), + (e.getInsideTextFontKey = function (t, e, r, i, a) { + var o = (a || {}).onPathbar + ? "pathbar.textfont" + : "insidetextfont", + s = r.data.data.i; + return ( + n.castOption(e, s, o + "." + t) || + n.castOption(e, s, "textfont." + t) || + i.size + ); + }), + (e.getOutsideTextFontKey = function (t, e, r, i) { + var a = r.data.data.i; + return ( + n.castOption(e, a, "outsidetextfont." + t) || + n.castOption(e, a, "textfont." + t) || + i.size + ); + }), + (e.isOutsideText = function (t, r) { + return !t._hasColorscale && e.isHierarchyRoot(r); + }), + (e.determineTextFont = function (t, r, a, o) { + return e.isOutsideText(t, r) + ? (function (t, r, n) { + return { + color: e.getOutsideTextFontKey("color", t, r, n), + family: e.getOutsideTextFontKey( + "family", + t, + r, + n, + ), + size: e.getOutsideTextFontKey("size", t, r, n), + }; + })(t, r, a) + : (function (t, r, a, o) { + var s = (o || {}).onPathbar, + l = r.data.data, + u = l.i, + c = n.castOption( + t, + u, + (s ? "pathbar.textfont" : "insidetextfont") + + ".color", + ); + return ( + !c && + t._input.textfont && + (c = n.castOption( + t._input, + u, + "textfont.color", + )), + { + color: c || i.contrast(l.color), + family: e.getInsideTextFontKey( + "family", + t, + r, + a, + o, + ), + size: e.getInsideTextFontKey( + "size", + t, + r, + a, + o, + ), + } + ); + })(t, r, a, o); + }), + (e.hasTransition = function (t) { + return !!(t && t.duration > 0); + }), + (e.getMaxDepth = function (t) { + return t.maxdepth >= 0 ? t.maxdepth : 1 / 0; + }), + (e.isHeader = function (t, r) { + return !(e.isLeaf(t) || t.depth === r._maxDepth - 1); + }), + (e.getParent = function (t, r) { + return e.findEntryWithLevel(t, s(r)); + }), + (e.listPath = function (t, r) { + var n = t.parent; + if (!n) return []; + var i = r ? [n.data[r]] : [n]; + return e.listPath(n, r).concat(i); + }), + (e.getPath = function (t) { + return e.listPath(t, "label").join("/") + "/"; + }), + (e.formatValue = o.formatPieValue), + (e.formatPercent = function (t, e) { + var r = n.formatPercent(t, 0); + return "0%" === r && (r = o.formatPiePercent(t, e)), r; + }); + }, + 87619: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "sunburst", + basePlotModule: r(66888), + categories: [], + animatable: !0, + attributes: r(57564), + layoutAttributes: r(2654), + supplyDefaults: r(17094), + supplyLayoutDefaults: r(57034), + calc: r(52147).calc, + crossTraceCalc: r(52147).crossTraceCalc, + plot: r(24714).plot, + style: r(29969).style, + colorbar: r(4898), + meta: {}, + }; + }, + 2654: function (t) { + "use strict"; + t.exports = { + sunburstcolorway: { + valType: "colorlist", + editType: "calc", + }, + extendsunburstcolors: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + }; + }, + 57034: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(2654); + t.exports = function (t, e) { + function r(r, a) { + return n.coerce(t, e, i, r, a); + } + r("sunburstcolorway", e.colorway), + r("extendsunburstcolors"); + }; + }, + 24714: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(674), + a = r(81684).sX, + o = r(91424), + s = r(71828), + l = r(63893), + u = r(72597), + c = u.recordMinTextSize, + f = u.clearMinTextSize, + h = r(14575), + p = r(53581).getRotationAngle, + d = h.computeTransform, + v = h.transformInsideText, + g = r(29969).styleOne, + y = r(16688).resizeText, + m = r(83523), + x = r(7055), + b = r(2791); + function _(t, r, u, f) { + var h = t._context.staticPlot, + y = t._fullLayout, + _ = !y.uniformtext.mode && b.hasTransition(f), + T = n.select(u).selectAll("g.slice"), + k = r[0], + A = k.trace, + M = k.hierarchy, + S = b.findEntryWithLevel(M, A.level), + E = b.getMaxDepth(A), + L = y._size, + C = A.domain, + P = L.w * (C.x[1] - C.x[0]), + O = L.h * (C.y[1] - C.y[0]), + I = 0.5 * Math.min(P, O), + D = (k.cx = L.l + (L.w * (C.x[1] + C.x[0])) / 2), + z = (k.cy = L.t + L.h * (1 - C.y[0]) - O / 2); + if (!S) return T.remove(); + var R = null, + F = {}; + _ && + T.each(function (t) { + (F[b.getPtId(t)] = { + rpx0: t.rpx0, + rpx1: t.rpx1, + x0: t.x0, + x1: t.x1, + transform: t.transform, + }), + !R && b.isEntry(t) && (R = t); + }); + var B = (function (t) { + return i.partition().size([2 * Math.PI, t.height + 1])( + t, + ); + })(S).descendants(), + N = S.height + 1, + j = 0, + U = E; + k.hasMultipleRoots && + b.isHierarchyRoot(S) && + ((B = B.slice(1)), (N -= 1), (j = 1), (U += 1)), + (B = B.filter(function (t) { + return t.y1 <= U; + })); + var V = p(A.rotation); + V && + B.forEach(function (t) { + (t.x0 += V), (t.x1 += V); + }); + var H = Math.min(N, E), + q = function (t) { + return ((t - j) / H) * I; + }, + G = function (t, e) { + return [t * Math.cos(e), -t * Math.sin(e)]; + }, + Z = function (t) { + return s.pathAnnulus(t.rpx0, t.rpx1, t.x0, t.x1, D, z); + }, + Y = function (t) { + return ( + D + + w(t)[0] * (t.transform.rCenter || 0) + + (t.transform.x || 0) + ); + }, + W = function (t) { + return ( + z + + w(t)[1] * (t.transform.rCenter || 0) + + (t.transform.y || 0) + ); + }; + (T = T.data(B, b.getPtId)) + .enter() + .append("g") + .classed("slice", !0), + _ + ? T.exit() + .transition() + .each(function () { + var t = n.select(this); + t + .select("path.surface") + .transition() + .attrTween("d", function (t) { + var e = (function (t) { + var e, + r = b.getPtId(t), + n = F[r], + i = F[b.getPtId(S)]; + if (i) { + var o = + (t.x1 > i.x1 ? 2 * Math.PI : 0) + V; + e = + t.rpx1 < i.rpx1 + ? { + x0: t.x0, + x1: t.x1, + rpx0: 0, + rpx1: 0, + } + : { + x0: o, + x1: o, + rpx0: t.rpx0, + rpx1: t.rpx1, + }; + } else { + var s, + l = b.getPtId(t.parent); + T.each(function (t) { + if (b.getPtId(t) === l) return (s = t); + }); + var u, + c = s.children; + c.forEach(function (t, e) { + if (b.getPtId(t) === r) return (u = e); + }); + var f = c.length, + h = a(s.x0, s.x1); + e = { + rpx0: I, + rpx1: I, + x0: h(u / f), + x1: h((u + 1) / f), + }; + } + return a(n, e); + })(t); + return function (t) { + return Z(e(t)); + }; + }), + t.select("g.slicetext").attr("opacity", 0); + }) + .remove() + : T.exit().remove(), + T.order(); + var X = null; + if (_ && R) { + var J = b.getPtId(R); + T.each(function (t) { + null === X && b.getPtId(t) === J && (X = t.x1); + }); + } + var K = T; + function $(t) { + var e = t.parent, + r = F[b.getPtId(e)], + n = {}; + if (r) { + var i = e.children, + o = i.indexOf(t), + s = i.length, + l = a(r.x0, r.x1); + (n.x0 = l(o / s)), (n.x1 = l(o / s)); + } else n.x0 = n.x1 = 0; + return n; + } + _ && + (K = K.transition().each("end", function () { + var e = n.select(this); + b.setSliceCursor(e, t, { + hideOnRoot: !0, + hideOnLeaves: !0, + isTransitioning: !1, + }); + })), + K.each(function (i) { + var u = n.select(this), + f = s.ensureSingle( + u, + "path", + "surface", + function (t) { + t.style("pointer-events", h ? "none" : "all"); + }, + ); + (i.rpx0 = q(i.y0)), + (i.rpx1 = q(i.y1)), + (i.xmid = (i.x0 + i.x1) / 2), + (i.pxmid = G(i.rpx1, i.xmid)), + (i.midangle = -(i.xmid - Math.PI / 2)), + (i.startangle = -(i.x0 - Math.PI / 2)), + (i.stopangle = -(i.x1 - Math.PI / 2)), + (i.halfangle = + 0.5 * + Math.min( + s.angleDelta(i.x0, i.x1) || Math.PI, + Math.PI, + )), + (i.ring = 1 - i.rpx0 / i.rpx1), + (i.rInscribed = (function (t) { + return 0 === t.rpx0 && s.isFullCircle([t.x0, t.x1]) + ? 1 + : Math.max( + 0, + Math.min( + 1 / (1 + 1 / Math.sin(t.halfangle)), + t.ring / 2, + ), + ); + })(i)), + _ + ? f.transition().attrTween("d", function (t) { + var e = (function (t) { + var e, + r = F[b.getPtId(t)], + n = { + x0: t.x0, + x1: t.x1, + rpx0: t.rpx0, + rpx1: t.rpx1, + }; + if (r) e = r; + else if (R) + if (t.parent) + if (X) { + var i = + (t.x1 > X ? 2 * Math.PI : 0) + V; + e = { x0: i, x1: i }; + } else + (e = { rpx0: I, rpx1: I }), + s.extendFlat(e, $(t)); + else e = { rpx0: 0, rpx1: 0 }; + else e = { x0: V, x1: V }; + return a(e, n); + })(t); + return function (t) { + return Z(e(t)); + }; + }) + : f.attr("d", Z), + u + .call(m, S, t, r, { + eventDataKeys: x.eventDataKeys, + transitionTime: x.CLICK_TRANSITION_TIME, + transitionEasing: x.CLICK_TRANSITION_EASING, + }) + .call(b.setSliceCursor, t, { + hideOnRoot: !0, + hideOnLeaves: !0, + isTransitioning: t._transitioning, + }), + f.call(g, i, A, t); + var p = s.ensureSingle(u, "g", "slicetext"), + w = s.ensureSingle(p, "text", "", function (t) { + t.attr("data-notex", 1); + }), + T = s.ensureUniformFontSize( + t, + b.determineTextFont(A, i, y.font), + ); + w.text(e.formatSliceLabel(i, S, A, r, y)) + .classed("slicetext", !0) + .attr("text-anchor", "middle") + .call(o.font, T) + .call(l.convertToTspans, t); + var M = o.bBox(w.node()); + (i.transform = v(M, i, k)), + (i.transform.targetX = Y(i)), + (i.transform.targetY = W(i)); + var E = function (t, e) { + var r = t.transform; + return ( + d(r, e), + (r.fontSize = T.size), + c(A.type, r, y), + s.getTextTransform(r) + ); + }; + _ + ? w.transition().attrTween("transform", function (t) { + var e = (function (t) { + var e, + r = F[b.getPtId(t)], + n = t.transform; + if (r) e = r; + else if ( + ((e = { + rpx1: t.rpx1, + transform: { + textPosAngle: n.textPosAngle, + scale: 0, + rotate: n.rotate, + rCenter: n.rCenter, + x: n.x, + y: n.y, + }, + }), + R) + ) + if (t.parent) + if (X) { + var i = t.x1 > X ? 2 * Math.PI : 0; + e.x0 = e.x1 = i; + } else s.extendFlat(e, $(t)); + else e.x0 = e.x1 = V; + else e.x0 = e.x1 = V; + var o = a( + e.transform.textPosAngle, + t.transform.textPosAngle, + ), + l = a(e.rpx1, t.rpx1), + u = a(e.x0, t.x0), + f = a(e.x1, t.x1), + h = a(e.transform.scale, n.scale), + p = a(e.transform.rotate, n.rotate), + d = + 0 === n.rCenter + ? 3 + : 0 === e.transform.rCenter + ? 1 / 3 + : 1, + v = a(e.transform.rCenter, n.rCenter); + return function (t) { + var e = l(t), + r = u(t), + i = f(t), + a = (function (t) { + return v(Math.pow(t, d)); + })(t), + s = { + pxmid: G(e, (r + i) / 2), + rpx1: e, + transform: { + textPosAngle: o(t), + rCenter: a, + x: n.x, + y: n.y, + }, + }; + return ( + c(A.type, n, y), + { + transform: { + targetX: Y(s), + targetY: W(s), + scale: h(t), + rotate: p(t), + rCenter: a, + }, + } + ); + }; + })(t); + return function (t) { + return E(e(t), M); + }; + }) + : w.attr("transform", E(i, M)); + }); + } + function w(t) { + return ( + (e = t.rpx1), + (r = t.transform.textPosAngle), + [e * Math.sin(r), -e * Math.cos(r)] + ); + var e, r; + } + (e.plot = function (t, e, r, i) { + var a, + o, + s = t._fullLayout, + l = s._sunburstlayer, + u = !r, + c = !s.uniformtext.mode && b.hasTransition(r); + f("sunburst", s), + (a = l + .selectAll("g.trace.sunburst") + .data(e, function (t) { + return t[0].trace.uid; + })) + .enter() + .append("g") + .classed("trace", !0) + .classed("sunburst", !0) + .attr("stroke-linejoin", "round"), + a.order(), + c + ? (i && (o = i()), + n + .transition() + .duration(r.duration) + .ease(r.easing) + .each("end", function () { + o && o(); + }) + .each("interrupt", function () { + o && o(); + }) + .each(function () { + l.selectAll("g.trace").each(function (e) { + _(t, e, this, r); + }); + })) + : (a.each(function (e) { + _(t, e, this, r); + }), + s.uniformtext.mode && + y( + t, + s._sunburstlayer.selectAll(".trace"), + "sunburst", + )), + u && a.exit().remove(); + }), + (e.formatSliceLabel = function (t, e, r, n, i) { + var a = r.texttemplate, + o = r.textinfo; + if (!(a || (o && "none" !== o))) return ""; + var l = i.separators, + u = n[0], + c = t.data.data, + f = u.hierarchy, + h = b.isHierarchyRoot(t), + p = b.getParent(f, t), + d = b.getValue(t); + if (!a) { + var v, + g = o.split("+"), + y = function (t) { + return -1 !== g.indexOf(t); + }, + m = []; + if ( + (y("label") && c.label && m.push(c.label), + c.hasOwnProperty("v") && + y("value") && + m.push(b.formatValue(c.v, l)), + !h) + ) { + y("current path") && m.push(b.getPath(t.data)); + var x = 0; + y("percent parent") && x++, + y("percent entry") && x++, + y("percent root") && x++; + var _ = x > 1; + if (x) { + var w, + T = function (t) { + (v = b.formatPercent(w, l)), + _ && (v += " of " + t), + m.push(v); + }; + y("percent parent") && + !h && + ((w = d / b.getValue(p)), T("parent")), + y("percent entry") && + ((w = d / b.getValue(e)), T("entry")), + y("percent root") && + ((w = d / b.getValue(f)), T("root")); + } + } + return ( + y("text") && + ((v = s.castOption(r, c.i, "text")), + s.isValidTextValue(v) && m.push(v)), + m.join("
") + ); + } + var k = s.castOption(r, c.i, "texttemplate"); + if (!k) return ""; + var A = {}; + c.label && (A.label = c.label), + c.hasOwnProperty("v") && + ((A.value = c.v), + (A.valueLabel = b.formatValue(c.v, l))), + (A.currentPath = b.getPath(t.data)), + h || + ((A.percentParent = d / b.getValue(p)), + (A.percentParentLabel = b.formatPercent( + A.percentParent, + l, + )), + (A.parent = b.getPtLabel(p))), + (A.percentEntry = d / b.getValue(e)), + (A.percentEntryLabel = b.formatPercent( + A.percentEntry, + l, + )), + (A.entry = b.getPtLabel(e)), + (A.percentRoot = d / b.getValue(f)), + (A.percentRootLabel = b.formatPercent( + A.percentRoot, + l, + )), + (A.root = b.getPtLabel(f)), + c.hasOwnProperty("color") && (A.color = c.color); + var M = s.castOption(r, c.i, "text"); + return ( + (s.isValidTextValue(M) || "" === M) && (A.text = M), + (A.customdata = s.castOption(r, c.i, "customdata")), + s.texttemplateString( + k, + A, + i._d3locale, + A, + r._meta || {}, + ) + ); + }); + }, + 29969: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(7901), + a = r(71828), + o = r(72597).resizeText, + s = r(43467); + function l(t, e, r, n) { + var o = e.data.data, + l = !e.children, + u = o.i, + c = + a.castOption(r, u, "marker.line.color") || + i.defaultLine, + f = a.castOption(r, u, "marker.line.width") || 0; + t.call(s, e, r, n) + .style("stroke-width", f) + .call(i.stroke, c) + .style("opacity", l ? r.leaf.opacity : null); + } + t.exports = { + style: function (t) { + var e = t._fullLayout._sunburstlayer.selectAll(".trace"); + o(t, e, "sunburst"), + e.each(function (e) { + var r = n.select(this), + i = e[0].trace; + r.style("opacity", i.opacity), + r.selectAll("path.surface").each(function (e) { + n.select(this).call(l, e, i, t); + }); + }); + }, + styleOne: l, + }; + }, + 54532: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(50693), + a = r(12663).axisHoverFormat, + o = r(5386).fF, + s = r(9012), + l = r(1426).extendFlat, + u = r(30962).overrideAll; + function c(t) { + return { + show: { valType: "boolean", dflt: !1 }, + start: { + valType: "number", + dflt: null, + editType: "plot", + }, + end: { valType: "number", dflt: null, editType: "plot" }, + size: { + valType: "number", + dflt: null, + min: 0, + editType: "plot", + }, + project: { + x: { valType: "boolean", dflt: !1 }, + y: { valType: "boolean", dflt: !1 }, + z: { valType: "boolean", dflt: !1 }, + }, + color: { valType: "color", dflt: n.defaultLine }, + usecolormap: { valType: "boolean", dflt: !1 }, + width: { valType: "number", min: 1, max: 16, dflt: 2 }, + highlight: { valType: "boolean", dflt: !0 }, + highlightcolor: { valType: "color", dflt: n.defaultLine }, + highlightwidth: { + valType: "number", + min: 1, + max: 16, + dflt: 2, + }, + }; + } + var f = (t.exports = u( + l( + { + z: { valType: "data_array" }, + x: { valType: "data_array" }, + y: { valType: "data_array" }, + text: { valType: "string", dflt: "", arrayOk: !0 }, + hovertext: { valType: "string", dflt: "", arrayOk: !0 }, + hovertemplate: o(), + xhoverformat: a("x"), + yhoverformat: a("y"), + zhoverformat: a("z"), + connectgaps: { + valType: "boolean", + dflt: !1, + editType: "calc", + }, + surfacecolor: { valType: "data_array" }, + }, + i("", { + colorAttr: "z or surfacecolor", + showScaleDflt: !0, + autoColorDflt: !1, + editTypeOverride: "calc", + }), + { + contours: { x: c(), y: c(), z: c() }, + 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: 0.8, + }, + diffuse: { + valType: "number", + min: 0, + max: 1, + dflt: 0.8, + }, + specular: { + valType: "number", + min: 0, + max: 2, + dflt: 0.05, + }, + roughness: { + valType: "number", + min: 0, + max: 1, + dflt: 0.5, + }, + fresnel: { + valType: "number", + min: 0, + max: 5, + dflt: 0.2, + }, + }, + opacity: { valType: "number", min: 0, max: 1, dflt: 1 }, + opacityscale: { valType: "any", editType: "calc" }, + _deprecated: { + zauto: l({}, i.zauto, {}), + zmin: l({}, i.zmin, {}), + zmax: l({}, i.zmax, {}), + }, + hoverinfo: l({}, s.hoverinfo), + showlegend: l({}, s.showlegend, { dflt: !1 }), + }, + ), + "calc", + "nested", + )); + (f.x.editType = + f.y.editType = + f.z.editType = + "calc+clearAxisTypes"), + (f.transforms = void 0); + }, + 18396: function (t, e, r) { + "use strict"; + var n = r(78803); + t.exports = function (t, e) { + e.surfacecolor + ? n(t, e, { + vals: e.surfacecolor, + containerStr: "", + cLetter: "c", + }) + : n(t, e, { vals: e.z, containerStr: "", cLetter: "c" }); + }; + }, + 43768: function (t, e, r) { + "use strict"; + var n = r(9330).gl_surface3d, + i = r(9330).ndarray, + a = r(9330).ndarray_linear_interpolate.d2, + o = r(824), + s = r(43907), + l = r(71828).isArrayOrTypedArray, + u = r(81697).parseColorScale, + c = r(78614), + f = r(21081).extractOpts; + function h(t, e, r) { + (this.scene = t), + (this.uid = r), + (this.surface = e), + (this.data = null), + (this.showContour = [!1, !1, !1]), + (this.contourStart = [null, null, null]), + (this.contourEnd = [null, null, null]), + (this.contourSize = [0, 0, 0]), + (this.minValues = [1 / 0, 1 / 0, 1 / 0]), + (this.maxValues = [-1 / 0, -1 / 0, -1 / 0]), + (this.dataScaleX = 1), + (this.dataScaleY = 1), + (this.refineData = !0), + (this.objectOffset = [0, 0, 0]); + } + var p = h.prototype; + (p.getXat = function (t, e, r, n) { + var i = l(this.data.x) + ? l(this.data.x[0]) + ? this.data.x[e][t] + : this.data.x[t] + : t; + return void 0 === r ? i : n.d2l(i, 0, r); + }), + (p.getYat = function (t, e, r, n) { + var i = l(this.data.y) + ? l(this.data.y[0]) + ? this.data.y[e][t] + : this.data.y[e] + : e; + return void 0 === r ? i : n.d2l(i, 0, r); + }), + (p.getZat = function (t, e, r, n) { + var i = this.data.z[e][t]; + return ( + null === i && + this.data.connectgaps && + this.data._interpolatedZ && + (i = this.data._interpolatedZ[e][t]), + void 0 === r ? i : n.d2l(i, 0, r) + ); + }), + (p.handlePick = function (t) { + if (t.object === this.surface) { + var e = (t.data.index[0] - 1) / this.dataScaleX - 1, + r = (t.data.index[1] - 1) / this.dataScaleY - 1, + n = Math.max( + Math.min(Math.round(e), this.data.z[0].length - 1), + 0, + ), + i = Math.max( + Math.min(Math.round(r), this.data._ylength - 1), + 0, + ); + (t.index = [n, i]), + (t.traceCoordinate = [ + this.getXat(n, i), + this.getYat(n, i), + this.getZat(n, i), + ]), + (t.dataCoordinate = [ + this.getXat( + n, + i, + this.data.xcalendar, + this.scene.fullSceneLayout.xaxis, + ), + this.getYat( + n, + i, + this.data.ycalendar, + this.scene.fullSceneLayout.yaxis, + ), + this.getZat( + n, + i, + this.data.zcalendar, + this.scene.fullSceneLayout.zaxis, + ), + ]); + for (var a = 0; a < 3; a++) { + null != t.dataCoordinate[a] && + (t.dataCoordinate[a] *= this.scene.dataScale[a]); + } + var o = this.data.hovertext || this.data.text; + return ( + Array.isArray(o) && o[i] && void 0 !== o[i][n] + ? (t.textLabel = o[i][n]) + : (t.textLabel = o || ""), + (t.data.dataCoordinate = t.dataCoordinate.slice()), + this.surface.highlight(t.data), + (this.scene.glplot.spikes.position = + t.dataCoordinate), + !0 + ); + } + }); + var d = [ + 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, + 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, + 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, + 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, + 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, + 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, + 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, + 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, + 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, + 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, + 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, + 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, + 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, + 967, 971, 977, 983, 991, 997, 1009, 1013, 1019, 1021, 1031, + 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, + 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171, + 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, 1231, 1237, + 1249, 1259, 1277, 1279, 1283, 1289, 1291, 1297, 1301, 1303, + 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399, 1409, + 1423, 1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, 1471, + 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543, + 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607, + 1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667, 1669, + 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747, 1753, + 1759, 1777, 1783, 1787, 1789, 1801, 1811, 1823, 1831, 1847, + 1861, 1867, 1871, 1873, 1877, 1879, 1889, 1901, 1907, 1913, + 1931, 1933, 1949, 1951, 1973, 1979, 1987, 1993, 1997, 1999, + 2003, 2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081, + 2083, 2087, 2089, 2099, 2111, 2113, 2129, 2131, 2137, 2141, + 2143, 2153, 2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, + 2243, 2251, 2267, 2269, 2273, 2281, 2287, 2293, 2297, 2309, + 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377, 2381, + 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437, 2441, 2447, + 2459, 2467, 2473, 2477, 2503, 2521, 2531, 2539, 2543, 2549, + 2551, 2557, 2579, 2591, 2593, 2609, 2617, 2621, 2633, 2647, + 2657, 2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2699, + 2707, 2711, 2713, 2719, 2729, 2731, 2741, 2749, 2753, 2767, + 2777, 2789, 2791, 2797, 2801, 2803, 2819, 2833, 2837, 2843, + 2851, 2857, 2861, 2879, 2887, 2897, 2903, 2909, 2917, 2927, + 2939, 2953, 2957, 2963, 2969, 2971, 2999, + ]; + function v(t, e) { + if (t < e) return 0; + for (var r = 0; 0 === Math.floor(t % e); ) (t /= e), r++; + return r; + } + function g(t) { + for (var e = [], r = 0; r < d.length; r++) { + var n = d[r]; + e.push(v(t, n)); + } + return e; + } + function y(t) { + for (var e = g(t), r = t, n = 0; n < d.length; n++) + if (e[n] > 0) { + r = d[n]; + break; + } + return r; + } + function m(t, e) { + if (!(t < 1 || e < 1)) { + for ( + var r = g(t), n = g(e), i = 1, a = 0; + a < d.length; + a++ + ) + i *= Math.pow(d[a], Math.max(r[a], n[a])); + return i; + } + } + (p.calcXnums = function (t) { + var e, + r = []; + for (e = 1; e < t; e++) { + var n = this.getXat(e - 1, 0), + i = this.getXat(e, 0); + r[e - 1] = + i !== n && null != n && null != i ? Math.abs(i - n) : 0; + } + var a = 0; + for (e = 1; e < t; e++) a += r[e - 1]; + for (e = 1; e < t; e++) + 0 === r[e - 1] + ? (r[e - 1] = 1) + : (r[e - 1] = Math.round(a / r[e - 1])); + return r; + }), + (p.calcYnums = function (t) { + var e, + r = []; + for (e = 1; e < t; e++) { + var n = this.getYat(0, e - 1), + i = this.getYat(0, e); + r[e - 1] = + i !== n && null != n && null != i + ? Math.abs(i - n) + : 0; + } + var a = 0; + for (e = 1; e < t; e++) a += r[e - 1]; + for (e = 1; e < t; e++) + 0 === r[e - 1] + ? (r[e - 1] = 1) + : (r[e - 1] = Math.round(a / r[e - 1])); + return r; + }); + var x = [ + 1, 2, 4, 6, 12, 24, 36, 48, 60, 120, 180, 240, 360, 720, + 840, 1260, + ], + b = x[9], + _ = x[13]; + function w(t, e, r) { + var n = r[8] + r[2] * e[0] + r[5] * e[1]; + return ( + (t[0] = (r[6] + r[0] * e[0] + r[3] * e[1]) / n), + (t[1] = (r[7] + r[1] * e[0] + r[4] * e[1]) / n), + t + ); + } + function T(t, e, r) { + return ( + (function (t, e, r, n) { + for ( + var i = [0, 0], o = t.shape[0], s = t.shape[1], l = 0; + l < o; + l++ + ) + for (var u = 0; u < s; u++) + r(i, [l, u], n), t.set(l, u, a(e, i[0], i[1])); + })(t, e, w, r), + t + ); + } + function k(t, e) { + for (var r = !1, n = 0; n < t.length; n++) + if (e === t[n]) { + r = !0; + break; + } + !1 === r && t.push(e); + } + (p.estimateScale = function (t, e) { + for ( + var r = + 1 + + (function (t) { + if (0 !== t.length) { + for (var e = 1, r = 0; r < t.length; r++) + e = m(e, t[r]); + return e; + } + })(0 === e ? this.calcXnums(t) : this.calcYnums(t)); + r < b; + + ) + r *= 2; + for (; r > _; ) r--, (r /= y(r)), ++r < b && (r = _); + var n = Math.round(r / t); + return n > 1 ? n : 1; + }), + (p.refineCoords = function (t) { + for ( + var e = this.dataScaleX, + r = this.dataScaleY, + n = t[0].shape[0], + a = t[0].shape[1], + o = 0 | Math.floor(t[0].shape[0] * e + 1), + s = 0 | Math.floor(t[0].shape[1] * r + 1), + l = 1 + n + 1, + u = 1 + a + 1, + c = i(new Float32Array(l * u), [l, u]), + f = [1 / e, 0, 0, 0, 1 / r, 0, 0, 0, 1], + h = 0; + h < t.length; + ++h + ) { + this.surface.padField(c, t[h]); + var p = i(new Float32Array(o * s), [o, s]); + T(p, c, f), (t[h] = p); + } + }), + (p.setContourLevels = function () { + var t, + e, + r, + n = [[], [], []], + i = [!1, !1, !1], + a = !1; + for (t = 0; t < 3; ++t) + if ( + this.showContour[t] && + ((a = !0), + this.contourSize[t] > 0 && + null !== this.contourStart[t] && + null !== this.contourEnd[t] && + this.contourEnd[t] > this.contourStart[t]) + ) + for ( + i[t] = !0, e = this.contourStart[t]; + e < this.contourEnd[t]; + e += this.contourSize[t] + ) + (r = e * this.scene.dataScale[t]), k(n[t], r); + if (a) { + var o = [[], [], []]; + for (t = 0; t < 3; ++t) + this.showContour[t] && + (o[t] = i[t] ? n[t] : this.scene.contourLevels[t]); + this.surface.update({ levels: o }); + } + }), + (p.update = function (t) { + var e, + r, + n, + a, + l = this.scene, + h = l.fullSceneLayout, + p = this.surface, + d = u(t), + v = l.dataScale, + g = t.z[0].length, + y = t._ylength, + m = l.contourLevels; + this.data = t; + var x = []; + for (e = 0; e < 3; e++) + for (x[e] = [], r = 0; r < g; r++) x[e][r] = []; + for (r = 0; r < g; r++) + for (n = 0; n < y; n++) + (x[0][r][n] = this.getXat( + r, + n, + t.xcalendar, + h.xaxis, + )), + (x[1][r][n] = this.getYat( + r, + n, + t.ycalendar, + h.yaxis, + )), + (x[2][r][n] = this.getZat( + r, + n, + t.zcalendar, + h.zaxis, + )); + if (t.connectgaps) + for ( + t._emptypoints = s(x[2]), + o(x[2], t._emptypoints), + t._interpolatedZ = [], + r = 0; + r < g; + r++ + ) + for (t._interpolatedZ[r] = [], n = 0; n < y; n++) + t._interpolatedZ[r][n] = x[2][r][n]; + for (e = 0; e < 3; e++) + for (r = 0; r < g; r++) + for (n = 0; n < y; n++) + null == (a = x[e][r][n]) + ? (x[e][r][n] = NaN) + : (a = x[e][r][n] *= v[e]); + for (e = 0; e < 3; e++) + for (r = 0; r < g; r++) + for (n = 0; n < y; n++) + null != (a = x[e][r][n]) && + (this.minValues[e] > a && (this.minValues[e] = a), + this.maxValues[e] < a && (this.maxValues[e] = a)); + for (e = 0; e < 3; e++) + this.objectOffset[e] = + 0.5 * (this.minValues[e] + this.maxValues[e]); + for (e = 0; e < 3; e++) + for (r = 0; r < g; r++) + for (n = 0; n < y; n++) + null != (a = x[e][r][n]) && + (x[e][r][n] -= this.objectOffset[e]); + var b = [ + i(new Float32Array(g * y), [g, y]), + i(new Float32Array(g * y), [g, y]), + i(new Float32Array(g * y), [g, y]), + ]; + for (e = 0; e < 3; e++) + for (r = 0; r < g; r++) + for (n = 0; n < y; n++) b[e].set(r, n, x[e][r][n]); + x = []; + var w = { + colormap: d, + 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], + opacityscale: t.opacityscale, + opacity: t.opacity, + }, + T = f(t); + if ( + ((w.intensityBounds = [T.min, T.max]), t.surfacecolor) + ) { + var k = i(new Float32Array(g * y), [g, y]); + for (r = 0; r < g; r++) + for (n = 0; n < y; n++) + k.set(r, n, t.surfacecolor[n][r]); + b.push(k); + } else + (w.intensityBounds[0] *= v[2]), + (w.intensityBounds[1] *= v[2]); + (_ < b[0].shape[0] || _ < b[0].shape[1]) && + (this.refineData = !1), + !0 === this.refineData && + ((this.dataScaleX = this.estimateScale( + b[0].shape[0], + 0, + )), + (this.dataScaleY = this.estimateScale( + b[0].shape[1], + 1, + )), + (1 === this.dataScaleX && 1 === this.dataScaleY) || + this.refineCoords(b)), + t.surfacecolor && (w.intensity = b.pop()); + var A = [!0, !0, !0], + M = ["x", "y", "z"]; + for (e = 0; e < 3; ++e) { + var S = t.contours[M[e]]; + (A[e] = S.highlight), + (w.showContour[e] = S.show || S.highlight), + w.showContour[e] && + ((w.contourProject[e] = [ + S.project.x, + S.project.y, + S.project.z, + ]), + S.show + ? ((this.showContour[e] = !0), + (w.levels[e] = m[e]), + (p.highlightColor[e] = w.contourColor[e] = + c(S.color)), + S.usecolormap + ? (p.highlightTint[e] = w.contourTint[e] = 0) + : (p.highlightTint[e] = w.contourTint[e] = 1), + (w.contourWidth[e] = S.width), + (this.contourStart[e] = S.start), + (this.contourEnd[e] = S.end), + (this.contourSize[e] = S.size)) + : ((this.showContour[e] = !1), + (this.contourStart[e] = null), + (this.contourEnd[e] = null), + (this.contourSize[e] = 0)), + S.highlight && + ((w.dynamicColor[e] = c(S.highlightcolor)), + (w.dynamicWidth[e] = S.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] + ); + })(d) && (w.vertexColor = !0), + (w.objectOffset = this.objectOffset), + (w.coords = b), + p.update(w), + (p.visible = t.visible), + (p.enableDynamic = A), + (p.enableHighlight = A), + (p.snapToData = !0), + "lighting" in t && + ((p.ambientLight = t.lighting.ambient), + (p.diffuseLight = t.lighting.diffuse), + (p.specularLight = t.lighting.specular), + (p.roughness = t.lighting.roughness), + (p.fresnel = t.lighting.fresnel)), + "lightposition" in t && + (p.lightPosition = [ + t.lightposition.x, + t.lightposition.y, + t.lightposition.z, + ]); + }), + (p.dispose = function () { + this.scene.glplot.remove(this.surface), + this.surface.dispose(); + }), + (t.exports = function (t, e) { + var r = t.glplot.gl, + i = n({ gl: r }), + a = new h(t, i, e.uid); + return (i._trace = a), a.update(e), t.glplot.add(i), a; + }); + }, + 91831: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(1586), + o = r(54532); + function s(t, e, r, n) { + var i = n("opacityscale"); + "max" === i + ? (e.opacityscale = [ + [0, 0.1], + [1, 1], + ]) + : "min" === i + ? (e.opacityscale = [ + [0, 1], + [1, 0.1], + ]) + : "extremes" === i + ? (e.opacityscale = (function (t, e) { + for (var r = [], n = 0; n < 32; n++) { + var i = n / 31, + a = + 0.1 + + 0.9 * + (1 - Math.pow(Math.sin(1 * i * Math.PI), 2)); + r.push([i, Math.max(0, Math.min(1, a))]); + } + return r; + })()) + : (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) return !1; + e = +n[0]; + } + return !0; + })(i) || (e.opacityscale = void 0); + } + function l(t, e, r) { + e in t && !(r in t) && (t[r] = t[e]); + } + t.exports = { + supplyDefaults: function (t, e, r, u) { + var c, f; + function h(r, n) { + return i.coerce(t, e, o, r, n); + } + var p = h("x"), + d = h("y"), + v = h("z"); + if ( + !v || + !v.length || + (p && p.length < 1) || + (d && d.length < 1) + ) + e.visible = !1; + else { + (e._xlength = + Array.isArray(p) && i.isArrayOrTypedArray(p[0]) + ? v.length + : v[0].length), + (e._ylength = v.length), + n.getComponentMethod( + "calendars", + "handleTraceDefaults", + )(t, e, ["x", "y", "z"], u), + h("text"), + h("hovertext"), + h("hovertemplate"), + h("xhoverformat"), + h("yhoverformat"), + h("zhoverformat"), + [ + "lighting.ambient", + "lighting.diffuse", + "lighting.specular", + "lighting.roughness", + "lighting.fresnel", + "lightposition.x", + "lightposition.y", + "lightposition.z", + "hidesurface", + "connectgaps", + "opacity", + ].forEach(function (t) { + h(t); + }); + var g = h("surfacecolor"), + y = ["x", "y", "z"]; + for (c = 0; c < 3; ++c) { + var m = "contours." + y[c], + x = h(m + ".show"), + b = h(m + ".highlight"); + if (x || b) + for (f = 0; f < 3; ++f) h(m + ".project." + y[f]); + x && + (h(m + ".color"), + h(m + ".width"), + h(m + ".usecolormap")), + b && + (h(m + ".highlightcolor"), + h(m + ".highlightwidth")), + h(m + ".start"), + h(m + ".end"), + h(m + ".size"); + } + g || + (l(t, "zmin", "cmin"), + l(t, "zmax", "cmax"), + l(t, "zauto", "cauto")), + a(t, e, u, h, { prefix: "", cLetter: "c" }), + s(0, e, 0, h), + (e._length = null); + } + }, + opacityscaleDefaults: s, + }; + }, + 93601: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(54532), + supplyDefaults: r(91831).supplyDefaults, + colorbar: { min: "cmin", max: "cmax" }, + calc: r(18396), + plot: r(43768), + moduleType: "trace", + name: "surface", + basePlotModule: r(58547), + categories: ["gl3d", "2dMap", "showLegend"], + meta: {}, + }; + }, + 44464: function (t, e, r) { + "use strict"; + var n = r(50215), + i = r(1426).extendFlat, + a = r(30962).overrideAll, + o = r(41940), + s = r(27670).Y, + l = r(12663).descriptionOnlyNumbers; + (t.exports = a( + { + domain: s({ 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: [], + description: l("cell value"), + }, + prefix: { valType: "string", arrayOk: !0, dflt: null }, + suffix: { valType: "string", arrayOk: !0, dflt: null }, + height: { valType: "number", dflt: 28 }, + align: i({}, n.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: i({}, o({ arrayOk: !0 })), + }, + cells: { + values: { valType: "data_array", dflt: [] }, + format: { + valType: "data_array", + dflt: [], + description: l("cell value"), + }, + prefix: { valType: "string", arrayOk: !0, dflt: null }, + suffix: { valType: "string", arrayOk: !0, dflt: null }, + height: { valType: "number", dflt: 20 }, + align: i({}, n.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: i({}, o({ arrayOk: !0 })), + }, + }, + "calc", + "from-root", + )).transforms = void 0; + }, + 99469: function (t, e, r) { + "use strict"; + var n = r(27659).a0, + i = r(36736), + a = "table"; + (e.name = a), + (e.plot = function (t) { + var e = n(t.calcdata, a)[0]; + e.length && i(t, e); + }), + (e.clean = function (t, e, r, n) { + var i = n._has && n._has(a), + o = e._has && e._has(a); + i && !o && n._paperdiv.selectAll(".table").remove(); + }); + }, + 76333: function (t, e, r) { + "use strict"; + var n = r(28984).wrap; + t.exports = function () { + return n({}); + }; + }, + 49850: function (t) { + "use strict"; + t.exports = { + cellPad: 8, + columnExtentOffset: 10, + columnTitleOffset: 28, + emptyHeaderHeight: 16, + latexCheck: /^\$.*\$$/, + goldenRatio: 1.618, + lineBreaker: "
", + 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", + }, + }; + }, + 51018: function (t, e, r) { + "use strict"; + var n = r(49850), + i = r(1426).extendFlat, + a = r(92770); + function o(t) { + if (Array.isArray(t)) { + for (var e = 0, r = 0; r < t.length; r++) + e = Math.max(e, o(t[r])); + return e; + } + return t; + } + function s(t, e) { + return t + e; + } + function l(t) { + var e, + r = t.slice(), + n = 1 / 0, + i = 0; + for (e = 0; e < r.length; e++) + Array.isArray(r[e]) || (r[e] = [r[e]]), + (n = Math.min(n, r[e].length)), + (i = Math.max(i, r[e].length)); + if (n !== i) + for (e = 0; e < r.length; e++) { + var a = i - r[e].length; + a && (r[e] = r[e].concat(u(a))); + } + return r; + } + function u(t) { + for (var e = new Array(t), r = 0; r < t; r++) e[r] = ""; + return e; + } + function c(t) { + return t.calcdata.columns.reduce(function (e, r) { + return r.xIndex < t.xIndex ? e + r.columnWidth : e; + }, 0); + } + function f(t, e) { + return Object.keys(t).map(function (r) { + return i({}, t[r], { auxiliaryBlocks: e }); + }); + } + function h(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; + } + t.exports = function (t, e) { + var r = l(e.cells.values), + p = function (t) { + return t.slice(e.header.values.length, t.length); + }, + d = l(e.header.values); + d.length && !d[0].length && ((d[0] = [""]), (d = l(d))); + var v = d.concat( + p(r).map(function () { + return u((d[0] || [""]).length); + }), + ), + g = e.domain, + y = Math.floor(t._fullLayout._size.w * (g.x[1] - g.x[0])), + m = Math.floor(t._fullLayout._size.h * (g.y[1] - g.y[0])), + x = e.header.values.length + ? v[0].map(function () { + return e.header.height; + }) + : [n.emptyHeaderHeight], + b = r.length + ? r[0].map(function () { + return e.cells.height; + }) + : [], + _ = x.reduce(s, 0), + w = h(b, m - _ + n.uplift), + T = f(h(x, _), []), + k = f(w, T), + A = {}, + M = e._fullInput.columnorder.concat( + p( + r.map(function (t, e) { + return e; + }), + ), + ), + S = v.map(function (t, r) { + var n = Array.isArray(e.columnwidth) + ? e.columnwidth[Math.min(r, e.columnwidth.length - 1)] + : e.columnwidth; + return a(n) ? Number(n) : 1; + }), + E = S.reduce(s, 0); + S = S.map(function (t) { + return (t / E) * y; + }); + var L = Math.max( + o(e.header.line.width), + o(e.cells.line.width), + ), + C = { + key: e.uid + t._context.staticPlot, + translateX: g.x[0] * t._fullLayout._size.w, + translateY: t._fullLayout._size.h * (1 - g.y[1]), + size: t._fullLayout._size, + width: y, + maxLineWidth: L, + height: m, + columnOrder: M, + groupHeight: m, + rowBlocks: k, + headerRowBlocks: T, + scrollY: 0, + cells: i({}, e.cells, { values: r }), + headerCells: i({}, e.header, { values: v }), + gdColumns: v.map(function (t) { + return t[0]; + }), + gdColumnsOriginalOrder: v.map(function (t) { + return t[0]; + }), + prevPages: [0, 0], + scrollbarState: { scrollbarScrollInProgress: !1 }, + columns: v.map(function (t, e) { + var r = A[t]; + return ( + (A[t] = (r || 0) + 1), + { + key: t + "__" + A[t], + label: t, + specIndex: e, + xIndex: M[e], + xScale: c, + x: void 0, + calcdata: void 0, + columnWidth: S[e], + } + ); + }), + }; + return ( + C.columns.forEach(function (t) { + (t.calcdata = C), (t.x = c(t)); + }), + C + ); + }; + }, + 56269: function (t, e, r) { + "use strict"; + var n = r(1426).extendFlat; + (e.splitToPanels = function (t) { + var e = [0, 0], + r = n({}, 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: n({}, t.calcdata, { + cells: t.calcdata.headerCells, + }), + }); + return [ + n({}, 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, + }), + n({}, 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, + ]; + }), + (e.splitToCells = function (t) { + var e = (function (t) { + var e = t.rowBlocks[t.page], + r = e ? e.rows[0].rowIndex : 0; + return [r, e ? r + e.rows.length : 0]; + })(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, + }; + }); + }); + }, + 39754: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(44464), + a = r(27670).c; + t.exports = function (t, e, r, o) { + function s(r, a) { + return n.coerce(t, e, i, r, a); + } + a(e, o, s), + s("columnwidth"), + s("header.values"), + s("header.format"), + s("header.align"), + s("header.prefix"), + s("header.suffix"), + s("header.height"), + s("header.line.width"), + s("header.line.color"), + s("header.fill.color"), + n.coerceFont(s, "header.font", n.extendFlat({}, o.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, s), + s("cells.values"), + s("cells.format"), + s("cells.align"), + s("cells.prefix"), + s("cells.suffix"), + s("cells.height"), + s("cells.line.width"), + s("cells.line.color"), + s("cells.fill.color"), + n.coerceFont(s, "cells.font", n.extendFlat({}, o.font)), + (e._length = null); + }; + }, + 96595: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(44464), + supplyDefaults: r(39754), + calc: r(76333), + plot: r(36736), + moduleType: "trace", + name: "table", + basePlotModule: r(99469), + categories: ["noOpacity"], + meta: {}, + }; + }, + 36736: function (t, e, r) { + "use strict"; + var n = r(49850), + i = r(39898), + a = r(71828).numberFormat, + o = r(28984), + s = r(91424), + l = r(63893), + u = r(71828).raiseToTop, + c = r(71828).strTranslate, + f = r(71828).cancelTransition, + h = r(51018), + p = r(56269), + d = r(7901); + function v(t) { + return Math.ceil(t.calcdata.maxLineWidth / 2); + } + function g(t, e) { + return ( + "clip" + + t._fullLayout._uid + + "_scrollAreaBottomClip_" + + e.key + ); + } + function y(t, e) { + return ( + "clip" + + t._fullLayout._uid + + "_columnBoundaryClippath_" + + e.calcdata.key + + "_" + + e.specIndex + ); + } + function m(t) { + return [].concat + .apply( + [], + t.map(function (t) { + return t; + }), + ) + .map(function (t) { + return t.__data__; + }); + } + function x(t, e, r) { + var a = t + .selectAll("." + n.cn.scrollbarKit) + .data(o.repeat, o.keyFun); + a + .enter() + .append("g") + .classed(n.cn.scrollbarKit, !0) + .style("shape-rendering", "geometricPrecision"), + a + .each(function (t) { + var e = t.scrollbarState; + (e.totalHeight = (function (t) { + var e = t.rowBlocks; + return ( + z(e, e.length - 1) + + (e.length ? R(e[e.length - 1], 1 / 0) : 1) + ); + })(t)), + (e.scrollableAreaHeight = t.groupHeight - S(t)), + (e.currentlyVisibleHeight = Math.min( + e.totalHeight, + e.scrollableAreaHeight, + )), + (e.ratio = + e.currentlyVisibleHeight / e.totalHeight), + (e.barLength = Math.max( + e.ratio * e.currentlyVisibleHeight, + n.goldenRatio * n.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) { + var e = + t.width + n.scrollbarWidth / 2 + n.scrollbarOffset; + return c(e, S(t)); + }); + var s = a + .selectAll("." + n.cn.scrollbar) + .data(o.repeat, o.keyFun); + s.enter().append("g").classed(n.cn.scrollbar, !0); + var l = s + .selectAll("." + n.cn.scrollbarSlider) + .data(o.repeat, o.keyFun); + l.enter().append("g").classed(n.cn.scrollbarSlider, !0), + l.attr("transform", function (t) { + return c(0, t.scrollbarState.topY || 0); + }); + var u = l + .selectAll("." + n.cn.scrollbarGlyph) + .data(o.repeat, o.keyFun); + u + .enter() + .append("line") + .classed(n.cn.scrollbarGlyph, !0) + .attr("stroke", "black") + .attr("stroke-width", n.scrollbarWidth) + .attr("stroke-linecap", "round") + .attr("y1", n.scrollbarWidth / 2), + u + .attr("y2", function (t) { + return ( + t.scrollbarState.barLength - n.scrollbarWidth / 2 + ); + }) + .attr("stroke-opacity", function (t) { + return t.columnDragInProgress || + !t.scrollbarState.barWiggleRoom || + r + ? 0 + : 0.4; + }), + u.transition().delay(0).duration(0), + u + .transition() + .delay(n.scrollbarHideDelay) + .duration(n.scrollbarHideDuration) + .attr("stroke-opacity", 0); + var f = s + .selectAll("." + n.cn.scrollbarCaptureZone) + .data(o.repeat, o.keyFun); + f + .enter() + .append("line") + .classed(n.cn.scrollbarCaptureZone, !0) + .attr("stroke", "white") + .attr("stroke-opacity", 0.01) + .attr("stroke-width", n.scrollbarCaptureWidth) + .attr("stroke-linecap", "butt") + .attr("y1", 0) + .on("mousedown", function (r) { + var n = i.event.y, + a = this.getBoundingClientRect(), + o = r.scrollbarState, + s = n - a.top, + l = i.scale + .linear() + .domain([0, o.scrollableAreaHeight]) + .range([0, o.totalHeight]) + .clamp(!0); + (o.topY <= s && s <= o.bottomY) || + L(e, t, null, l(s - o.barLength / 2))(r); + }) + .call( + i.behavior + .drag() + .origin(function (t) { + return ( + i.event.stopPropagation(), + (t.scrollbarState.scrollbarScrollInProgress = !0), + t + ); + }) + .on("drag", L(e, t)) + .on("dragend", function () {}), + ), + f.attr("y2", function (t) { + return t.scrollbarState.scrollableAreaHeight; + }), + e._context.staticPlot && (u.remove(), f.remove()); + } + function b(t, e, r, a) { + var l = (function (t) { + var e = t + .selectAll("." + n.cn.columnCells) + .data(o.repeat, o.keyFun); + return ( + e.enter().append("g").classed(n.cn.columnCells, !0), + e.exit().remove(), + e + ); + })(r), + u = (function (t) { + var e = t + .selectAll("." + n.cn.columnCell) + .data(p.splitToCells, function (t) { + return t.keyWithinBlock; + }); + return ( + e.enter().append("g").classed(n.cn.columnCell, !0), + e.exit().remove(), + e + ); + })(l); + !(function (t) { + t.each(function (t, e) { + var r = t.calcdata.cells.font, + n = t.column.specIndex, + i = { + size: T(r.size, n, e), + color: T(r.color, n, e), + family: T(r.family, n, e), + }; + (t.rowNumber = t.key), + (t.align = T(t.calcdata.cells.align, n, e)), + (t.cellBorderWidth = T( + t.calcdata.cells.line.width, + n, + e, + )), + (t.font = i); + }); + })(u); + var c = (function (t) { + var e = t + .selectAll("." + n.cn.cellRect) + .data(o.repeat, function (t) { + return t.keyWithinBlock; + }); + return ( + e.enter().append("rect").classed(n.cn.cellRect, !0), e + ); + })(u); + !(function (t) { + t.attr("width", function (t) { + return t.column.columnWidth; + }) + .attr("stroke-width", function (t) { + return t.cellBorderWidth; + }) + .each(function (t) { + var e = i.select(this); + d.stroke( + e, + T( + t.calcdata.cells.line.color, + t.column.specIndex, + t.rowNumber, + ), + ), + d.fill( + e, + T( + t.calcdata.cells.fill.color, + t.column.specIndex, + t.rowNumber, + ), + ); + }); + })(c); + var f = (function (t) { + var e = t + .selectAll("." + n.cn.cellTextHolder) + .data(o.repeat, function (t) { + return t.keyWithinBlock; + }); + return ( + e + .enter() + .append("g") + .classed(n.cn.cellTextHolder, !0) + .style("shape-rendering", "geometricPrecision"), + e + ); + })(u), + h = (function (t) { + var e = t + .selectAll("." + n.cn.cellText) + .data(o.repeat, function (t) { + return t.keyWithinBlock; + }); + return ( + e + .enter() + .append("text") + .classed(n.cn.cellText, !0) + .style("cursor", function () { + return "auto"; + }) + .on("mousedown", function () { + i.event.stopPropagation(); + }), + e + ); + })(f); + !(function (t) { + t.each(function (t) { + s.font(i.select(this), t.font); + }); + })(h), + _(h, e, a, t), + D(u); + } + function _(t, e, r, o) { + t.text(function (t) { + var e = t.column.specIndex, + r = t.rowNumber, + i = t.value, + o = "string" == typeof i, + s = o && i.match(/
/i), + l = !o || s; + t.mayHaveMarkup = o && i.match(/[<&>]/); + var u, + c = "string" == typeof (u = i) && u.match(n.latexCheck); + t.latex = c; + var f, + h, + p = c ? "" : T(t.calcdata.cells.prefix, e, r) || "", + d = c ? "" : T(t.calcdata.cells.suffix, e, r) || "", + v = c ? null : T(t.calcdata.cells.format, e, r) || null, + g = p + (v ? a(v)(t.value) : t.value) + d; + if ( + ((t.wrappingNeeded = + !t.wrapped && !l && !c && (f = w(g))), + (t.cellHeightMayIncrease = + s || + c || + t.mayHaveMarkup || + (void 0 === f ? w(g) : f)), + (t.needsConvertToTspans = + t.mayHaveMarkup || t.wrappingNeeded || t.latex), + t.wrappingNeeded) + ) { + var y = ( + " " === n.wrapSplitCharacter + ? g.replace(/ 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) { + var e = z(t.rowBlocks, t.page) - t.scrollY; + return c(0, e); + }), + t && + (C(t, r, e, u, n.prevPages, n, 0), + C(t, r, e, u, n.prevPages, n, 1), + x(r, t)); + } + } + function L(t, e, r, a) { + return function (o) { + var s = o.calcdata ? o.calcdata : o, + l = e.filter(function (t) { + return s.key === t.key; + }), + u = r || s.scrollbarState.dragMultiplier, + c = s.scrollY; + s.scrollY = void 0 === a ? s.scrollY + u * i.event.dy : a; + var f = l + .selectAll("." + n.cn.yColumn) + .selectAll("." + n.cn.columnBlock) + .filter(A); + return E(t, f, l), s.scrollY === c; + }; + } + function C(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]; + }); + b(t, e, a, r), (i[o] = n[o]); + }))); + } + function P(t, e, r, a) { + return function () { + var o = i.select(e.parentNode); + o.each(function (t) { + var e = t.fragments; + o.selectAll("tspan.line").each(function (t, r) { + e[r].width = this.getComputedTextLength(); + }); + var r, + i, + a = e[e.length - 1].width, + s = e.slice(0, -1), + l = [], + u = 0, + c = t.column.columnWidth - 2 * n.cellPad; + for (t.value = ""; s.length; ) + u + (i = (r = s.shift()).width + a) > c && + ((t.value += l.join(n.wrapSpacer) + n.lineBreaker), + (l = []), + (u = 0)), + l.push(r.text), + (u += i); + u && (t.value += l.join(n.wrapSpacer)), + (t.wrapped = !0); + }), + o.selectAll("tspan.line").remove(), + _(o.select("." + n.cn.cellText), r, t, a), + i.select(e.parentNode.parentNode).call(D); + }; + } + function O(t, e, r, a, o) { + return function () { + if (!o.settledY) { + var s = i.select(e.parentNode), + l = B(o), + u = o.key - l.firstRowIndex, + f = l.rows[u].rowHeight, + h = o.cellHeightMayIncrease + ? e.parentNode.getBoundingClientRect().height + + 2 * n.cellPad + : f, + p = Math.max(h, f); + p - l.rows[u].rowHeight && + ((l.rows[u].rowHeight = p), + t.selectAll("." + n.cn.columnCell).call(D), + E(null, t.filter(A), 0), + x(r, a, !0)), + s.attr("transform", function () { + var t = this, + e = t.parentNode.getBoundingClientRect(), + r = i + .select(t.parentNode) + .select("." + n.cn.cellRect) + .node() + .getBoundingClientRect(), + a = t.transform.baseVal.consolidate(), + s = r.top - e.top + (a ? a.matrix.f : n.cellPad); + return c( + I( + o, + i + .select(t.parentNode) + .select("." + n.cn.cellTextHolder) + .node() + .getBoundingClientRect().width, + ), + s, + ); + }), + (o.settledY = !0); + } + }; + } + function I(t, e) { + switch (t.align) { + case "left": + default: + return n.cellPad; + case "right": + return t.column.columnWidth - (e || 0) - n.cellPad; + case "center": + return (t.column.columnWidth - (e || 0)) / 2; + } + } + function D(t) { + t.attr("transform", function (t) { + var e = t.rowBlocks[0].auxiliaryBlocks.reduce(function ( + t, + e, + ) { + return t + R(e, 1 / 0); + }, 0), + r = R(B(t), t.key); + return c(0, r + e); + }) + .selectAll("." + n.cn.cellRect) + .attr("height", function (t) { + return ((e = B(t)), + (r = t.key), + e.rows[r - e.firstRowIndex]).rowHeight; + var e, r; + }); + } + function z(t, e) { + for (var r = 0, n = e - 1; n >= 0; n--) r += F(t[n]); + return r; + } + function R(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 F(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 B(t) { + return t.rowBlocks[t.page]; + } + t.exports = function (t, e) { + var r = !t._context.staticPlot, + a = t._fullLayout._paper.selectAll("." + n.cn.table).data( + e.map(function (e) { + var r = o.unwrap(e).trace; + return h(t, r); + }), + o.keyFun, + ); + a.exit().remove(), + a + .enter() + .append("g") + .classed(n.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"), + a + .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 c(t.translateX, t.translateY); + }); + var l = a + .selectAll("." + n.cn.tableControlView) + .data(o.repeat, o.keyFun), + d = l + .enter() + .append("g") + .classed(n.cn.tableControlView, !0) + .style("box-sizing", "content-box"); + if (r) { + var _ = "onwheel" in document ? "wheel" : "mousewheel"; + d.on("mousemove", function (e) { + l.filter(function (t) { + return e === t; + }).call(x, t); + }) + .on(_, function (e) { + if (!e.scrollbarState.wheeling) { + e.scrollbarState.wheeling = !0; + var r = e.scrollY + i.event.deltaY; + L(t, l, null, r)(e) || + (i.event.stopPropagation(), + i.event.preventDefault()), + (e.scrollbarState.wheeling = !1); + } + }) + .call(x, t, !0); + } + l.attr("transform", function (t) { + return c(t.size.l, t.size.t); + }); + var w = l + .selectAll("." + n.cn.scrollBackground) + .data(o.repeat, o.keyFun); + w + .enter() + .append("rect") + .classed(n.cn.scrollBackground, !0) + .attr("fill", "none"), + w + .attr("width", function (t) { + return t.width; + }) + .attr("height", function (t) { + return t.height; + }), + l.each(function (e) { + s.setClipUrl(i.select(this), g(t, e), t); + }); + var T = l.selectAll("." + n.cn.yColumn).data(function (t) { + return t.columns; + }, o.keyFun); + T.enter().append("g").classed(n.cn.yColumn, !0), + T.exit().remove(), + T.attr("transform", function (t) { + return c(t.x, 0); + }), + r && + T.call( + i.behavior + .drag() + .origin(function (e) { + return ( + k(i.select(this), e, -n.uplift), + u(this), + (e.calcdata.columnDragInProgress = !0), + x( + l.filter(function (t) { + return e.calcdata.key === t.key; + }), + t, + ), + e + ); + }) + .on("drag", function (t) { + var e = i.select(this), + r = function (e) { + return ( + (t === e ? i.event.x : e.x) + + e.columnWidth / 2 + ); + }; + (t.x = Math.max( + -n.overdrag, + Math.min( + t.calcdata.width + n.overdrag - t.columnWidth, + i.event.x, + ), + )), + m(T) + .filter(function (e) { + return e.calcdata.key === t.calcdata.key; + }) + .sort(function (t, e) { + return r(t) - r(e); + }) + .forEach(function (e, r) { + (e.xIndex = r), + (e.x = t === e ? e.x : e.xScale(e)); + }), + T.filter(function (e) { + return t !== e; + }) + .transition() + .ease(n.transitionEase) + .duration(n.transitionDuration) + .attr("transform", function (t) { + return c(t.x, 0); + }), + e.call(f).attr("transform", c(t.x, -n.uplift)); + }) + .on("dragend", function (e) { + var r = i.select(this), + n = e.calcdata; + (e.x = e.xScale(e)), + (e.calcdata.columnDragInProgress = !1), + k(r, e, 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, + n, + n.columns.map(function (t) { + return t.xIndex; + }), + ); + }), + ), + T.each(function (e) { + s.setClipUrl(i.select(this), y(t, e), t); + }); + var S = T.selectAll("." + n.cn.columnBlock).data( + p.splitToPanels, + o.keyFun, + ); + S.enter() + .append("g") + .classed(n.cn.columnBlock, !0) + .attr("id", function (t) { + return t.key; + }), + S.style("cursor", function (t) { + return t.dragHandle + ? "ew-resize" + : t.calcdata.scrollbarState.barWiggleRoom + ? "ns-resize" + : "default"; + }); + var C = S.filter(M), + P = S.filter(A); + r && + P.call( + i.behavior + .drag() + .origin(function (t) { + return i.event.stopPropagation(), t; + }) + .on("drag", L(t, l, -1)) + .on("dragend", function () {}), + ), + b(t, l, C, S), + b(t, l, P, S); + var O = l + .selectAll("." + n.cn.scrollAreaClip) + .data(o.repeat, o.keyFun); + O.enter() + .append("clipPath") + .classed(n.cn.scrollAreaClip, !0) + .attr("id", function (e) { + return g(t, e); + }); + var I = O.selectAll("." + n.cn.scrollAreaClipRect).data( + o.repeat, + o.keyFun, + ); + I.enter() + .append("rect") + .classed(n.cn.scrollAreaClipRect, !0) + .attr("x", -n.overdrag) + .attr("y", -n.uplift) + .attr("fill", "none"), + I.attr("width", function (t) { + return t.width + 2 * n.overdrag; + }).attr("height", function (t) { + return t.height + n.uplift; + }), + T.selectAll("." + n.cn.columnBoundary) + .data(o.repeat, o.keyFun) + .enter() + .append("g") + .classed(n.cn.columnBoundary, !0); + var D = T.selectAll("." + n.cn.columnBoundaryClippath).data( + o.repeat, + o.keyFun, + ); + D.enter() + .append("clipPath") + .classed(n.cn.columnBoundaryClippath, !0), + D.attr("id", function (e) { + return y(t, e); + }); + var z = D.selectAll("." + n.cn.columnBoundaryRect).data( + o.repeat, + o.keyFun, + ); + z + .enter() + .append("rect") + .classed(n.cn.columnBoundaryRect, !0) + .attr("fill", "none"), + z + .attr("width", function (t) { + return t.columnWidth + 2 * v(t); + }) + .attr("height", function (t) { + return t.calcdata.height + 2 * v(t) + n.uplift; + }) + .attr("x", function (t) { + return -v(t); + }) + .attr("y", function (t) { + return -v(t); + }), + E(null, P, l); + }; + }, + 45802: function (t, e, r) { + "use strict"; + var n = r(5386).fF, + i = r(5386).si, + a = r(50693), + o = r(27670).Y, + s = r(34e3), + l = r(57564), + u = r(43473), + c = r(1426).extendFlat, + f = r(79952).u; + t.exports = { + labels: l.labels, + parents: l.parents, + values: l.values, + branchvalues: l.branchvalues, + count: l.count, + level: l.level, + maxdepth: l.maxdepth, + tiling: { + packing: { + valType: "enumerated", + values: [ + "squarify", + "binary", + "dice", + "slice", + "slice-dice", + "dice-slice", + ], + dflt: "squarify", + editType: "plot", + }, + squarifyratio: { + valType: "number", + min: 1, + dflt: 1, + editType: "plot", + }, + flip: { + valType: "flaglist", + flags: ["x", "y"], + dflt: "", + editType: "plot", + }, + pad: { + valType: "number", + min: 0, + dflt: 3, + editType: "plot", + }, + editType: "calc", + }, + marker: c( + { + pad: { + t: { valType: "number", min: 0, editType: "plot" }, + l: { valType: "number", min: 0, editType: "plot" }, + r: { valType: "number", min: 0, editType: "plot" }, + b: { valType: "number", min: 0, editType: "plot" }, + editType: "calc", + }, + colors: l.marker.colors, + pattern: f, + depthfade: { + valType: "enumerated", + values: [!0, !1, "reversed"], + editType: "style", + }, + line: l.marker.line, + cornerradius: { + valType: "number", + min: 0, + dflt: 0, + editType: "plot", + }, + editType: "calc", + }, + a("marker", { colorAttr: "colors", anim: !1 }), + ), + pathbar: { + visible: { + valType: "boolean", + dflt: !0, + editType: "plot", + }, + side: { + valType: "enumerated", + values: ["top", "bottom"], + dflt: "top", + editType: "plot", + }, + edgeshape: { + valType: "enumerated", + values: [">", "<", "|", "/", "\\"], + dflt: ">", + editType: "plot", + }, + thickness: { + valType: "number", + min: 12, + editType: "plot", + }, + textfont: c({}, s.textfont, {}), + editType: "calc", + }, + text: s.text, + textinfo: l.textinfo, + texttemplate: i( + { editType: "plot" }, + { keys: u.eventDataKeys.concat(["label", "value"]) }, + ), + hovertext: s.hovertext, + hoverinfo: l.hoverinfo, + hovertemplate: n({}, { keys: u.eventDataKeys }), + textfont: s.textfont, + insidetextfont: s.insidetextfont, + outsidetextfont: c({}, s.outsidetextfont, {}), + textposition: { + valType: "enumerated", + values: [ + "top left", + "top center", + "top right", + "middle left", + "middle center", + "middle right", + "bottom left", + "bottom center", + "bottom right", + ], + dflt: "top left", + editType: "plot", + }, + sort: s.sort, + root: l.root, + domain: o({ name: "treemap", trace: !0, editType: "calc" }), + }; + }, + 78018: function (t, e, r) { + "use strict"; + var n = r(74875); + (e.name = "treemap"), + (e.plot = function (t, r, i, a) { + n.plotBasePlot(e.name, t, r, i, a); + }), + (e.clean = function (t, r, i, a) { + n.cleanBasePlot(e.name, t, r, i, a); + }); + }, + 65039: function (t, e, r) { + "use strict"; + var n = r(52147); + (e.y = function (t, e) { + return n.calc(t, e); + }), + (e.T = function (t) { + return n._runCrossTraceCalc("treemap", t); + }); + }, + 43473: function (t) { + "use strict"; + t.exports = { + CLICK_TRANSITION_TIME: 750, + CLICK_TRANSITION_EASING: "poly", + eventDataKeys: [ + "currentPath", + "root", + "entry", + "percentRoot", + "percentEntry", + "percentParent", + ], + gapWithPathbar: 1, + }; + }, + 91174: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(45802), + a = r(7901), + o = r(27670).c, + s = r(90769).handleText, + l = r(97313).TEXTPAD, + u = r(37434).handleMarkerDefaults, + c = r(21081), + f = c.hasColorscale, + h = c.handleDefaults; + t.exports = function (t, e, r, c) { + function p(r, a) { + return n.coerce(t, e, i, r, a); + } + var d = p("labels"), + v = p("parents"); + if (d && d.length && v && v.length) { + var g = p("values"); + g && g.length ? p("branchvalues") : p("count"), + p("level"), + p("maxdepth"), + "squarify" === p("tiling.packing") && + p("tiling.squarifyratio"), + p("tiling.flip"), + p("tiling.pad"); + var y = p("text"); + p("texttemplate"), + e.texttemplate || + p( + "textinfo", + Array.isArray(y) ? "text+label" : "label", + ), + p("hovertext"), + p("hovertemplate"); + var m = p("pathbar.visible"); + s(t, e, c, p, "auto", { + hasPathbar: m, + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !1, + moduleHasCliponaxis: !1, + moduleHasTextangle: !1, + moduleHasInsideanchor: !1, + }), + p("textposition"); + var x = -1 !== e.textposition.indexOf("bottom"); + u(t, e, c, p), + (e._hasColorscale = + f(t, "marker", "colors") || + (t.marker || {}).coloraxis) + ? h(t, e, c, p, { prefix: "marker.", cLetter: "c" }) + : p( + "marker.depthfade", + !(e.marker.colors || []).length, + ); + var b = 2 * e.textfont.size; + p("marker.pad.t", x ? b / 4 : b), + p("marker.pad.l", b / 4), + p("marker.pad.r", b / 4), + p("marker.pad.b", x ? b : b / 4), + p("marker.cornerradius"), + (e._hovered = { + marker: { + line: { + width: 2, + color: a.contrast(c.paper_bgcolor), + }, + }, + }), + m && + (p( + "pathbar.thickness", + e.pathbar.textfont.size + 2 * l, + ), + p("pathbar.side"), + p("pathbar.edgeshape")), + p("sort"), + p("root.color"), + o(e, c, p), + (e._length = null); + } else e.visible = !1; + }; + }, + 80694: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(2791), + a = r(72597).clearMinTextSize, + o = r(16688).resizeText, + s = r(46650); + t.exports = function (t, e, r, l, u) { + var c, + f, + h = u.type, + p = u.drawDescendants, + d = t._fullLayout, + v = d["_" + h + "layer"], + g = !r; + a(h, d), + (c = v.selectAll("g.trace." + h).data(e, function (t) { + return t[0].trace.uid; + })) + .enter() + .append("g") + .classed("trace", !0) + .classed(h, !0), + c.order(), + !d.uniformtext.mode && i.hasTransition(r) + ? (l && (f = l()), + n + .transition() + .duration(r.duration) + .ease(r.easing) + .each("end", function () { + f && f(); + }) + .each("interrupt", function () { + f && f(); + }) + .each(function () { + v.selectAll("g.trace").each(function (e) { + s(t, e, this, r, p); + }); + })) + : (c.each(function (e) { + s(t, e, this, r, p); + }), + d.uniformtext.mode && o(t, v.selectAll(".trace"), h)), + g && c.exit().remove(); + }; + }, + 66209: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(91424), + o = r(63893), + s = r(37210), + l = r(96362).styleOne, + u = r(43473), + c = r(2791), + f = r(83523), + h = !0; + t.exports = function (t, e, r, p, d) { + var v = d.barDifY, + g = d.width, + y = d.height, + m = d.viewX, + x = d.viewY, + b = d.pathSlice, + _ = d.toMoveInsideSlice, + w = d.strTransform, + T = d.hasTransition, + k = d.handleSlicesExit, + A = d.makeUpdateSliceInterpolator, + M = d.makeUpdateTextInterpolator, + S = {}, + E = t._context.staticPlot, + L = t._fullLayout, + C = e[0], + P = C.trace, + O = C.hierarchy, + I = g / P._entryDepth, + D = c.listPath(r.data, "id"), + z = s(O.copy(), [g, y], { + packing: "dice", + pad: { inner: 0, top: 0, left: 0, right: 0, bottom: 0 }, + }).descendants(); + (z = z.filter(function (t) { + var e = D.indexOf(t.data.id); + return ( + -1 !== e && + ((t.x0 = I * e), + (t.x1 = I * (e + 1)), + (t.y0 = v), + (t.y1 = v + y), + (t.onPathbar = !0), + !0) + ); + })).reverse(), + (p = p.data(z, c.getPtId)) + .enter() + .append("g") + .classed("pathbar", !0), + k(p, h, S, [g, y], b), + p.order(); + var R = p; + T && + (R = R.transition().each("end", function () { + var e = n.select(this); + c.setSliceCursor(e, t, { + hideOnRoot: !1, + hideOnLeaves: !1, + isTransitioning: !1, + }); + })), + R.each(function (s) { + (s._x0 = m(s.x0)), + (s._x1 = m(s.x1)), + (s._y0 = x(s.y0)), + (s._y1 = x(s.y1)), + (s._hoverX = m(s.x1 - Math.min(g, y) / 2)), + (s._hoverY = x(s.y1 - y / 2)); + var p = n.select(this), + d = i.ensureSingle( + p, + "path", + "surface", + function (t) { + t.style("pointer-events", E ? "none" : "all"); + }, + ); + T + ? d.transition().attrTween("d", function (t) { + var e = A(t, h, S, [g, y]); + return function (t) { + return b(e(t)); + }; + }) + : d.attr("d", b), + p + .call(f, r, t, e, { + styleOne: l, + eventDataKeys: u.eventDataKeys, + transitionTime: u.CLICK_TRANSITION_TIME, + transitionEasing: u.CLICK_TRANSITION_EASING, + }) + .call(c.setSliceCursor, t, { + hideOnRoot: !1, + hideOnLeaves: !1, + isTransitioning: t._transitioning, + }), + d.call(l, s, P, t, { hovered: !1 }), + (s._text = + (c.getPtLabel(s) || "").split("
").join(" ") || + ""); + var v = i.ensureSingle(p, "g", "slicetext"), + k = i.ensureSingle(v, "text", "", function (t) { + t.attr("data-notex", 1); + }), + C = i.ensureUniformFontSize( + t, + c.determineTextFont(P, s, L.font, { + onPathbar: !0, + }), + ); + k + .text(s._text || " ") + .classed("slicetext", !0) + .attr("text-anchor", "start") + .call(a.font, C) + .call(o.convertToTspans, t), + (s.textBB = a.bBox(k.node())), + (s.transform = _(s, { + fontSize: C.size, + onPathbar: !0, + })), + (s.transform.fontSize = C.size), + T + ? k + .transition() + .attrTween("transform", function (t) { + var e = M(t, h, S, [g, y]); + return function (t) { + return w(e(t)); + }; + }) + : k.attr("transform", w(s)); + }); + }; + }, + 52583: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(91424), + o = r(63893), + s = r(37210), + l = r(96362).styleOne, + u = r(43473), + c = r(2791), + f = r(83523), + h = r(24714).formatSliceLabel, + p = !1; + t.exports = function (t, e, r, d, v) { + var g = v.width, + y = v.height, + m = v.viewX, + x = v.viewY, + b = v.pathSlice, + _ = v.toMoveInsideSlice, + w = v.strTransform, + T = v.hasTransition, + k = v.handleSlicesExit, + A = v.makeUpdateSliceInterpolator, + M = v.makeUpdateTextInterpolator, + S = v.prevEntry, + E = t._context.staticPlot, + L = t._fullLayout, + C = e[0].trace, + P = -1 !== C.textposition.indexOf("left"), + O = -1 !== C.textposition.indexOf("right"), + I = -1 !== C.textposition.indexOf("bottom"), + D = (!I && !C.marker.pad.t) || (I && !C.marker.pad.b), + z = s(r, [g, y], { + packing: C.tiling.packing, + squarifyratio: C.tiling.squarifyratio, + flipX: C.tiling.flip.indexOf("x") > -1, + flipY: C.tiling.flip.indexOf("y") > -1, + pad: { + inner: C.tiling.pad, + top: C.marker.pad.t, + left: C.marker.pad.l, + right: C.marker.pad.r, + bottom: C.marker.pad.b, + }, + }).descendants(), + R = 1 / 0, + F = -1 / 0; + z.forEach(function (t) { + var e = t.depth; + e >= C._maxDepth + ? ((t.x0 = t.x1 = (t.x0 + t.x1) / 2), + (t.y0 = t.y1 = (t.y0 + t.y1) / 2)) + : ((R = Math.min(R, e)), (F = Math.max(F, e))); + }), + (d = d.data(z, c.getPtId)), + (C._maxVisibleLayers = isFinite(F) ? F - R + 1 : 0), + d.enter().append("g").classed("slice", !0), + k(d, p, {}, [g, y], b), + d.order(); + var B = null; + if (T && S) { + var N = c.getPtId(S); + d.each(function (t) { + null === B && + c.getPtId(t) === N && + (B = { x0: t.x0, x1: t.x1, y0: t.y0, y1: t.y1 }); + }); + } + var j = function () { + return B || { x0: 0, x1: g, y0: 0, y1: y }; + }, + U = d; + return ( + T && + (U = U.transition().each("end", function () { + var e = n.select(this); + c.setSliceCursor(e, t, { + hideOnRoot: !0, + hideOnLeaves: !1, + isTransitioning: !1, + }); + })), + U.each(function (s) { + var d = c.isHeader(s, C); + (s._x0 = m(s.x0)), + (s._x1 = m(s.x1)), + (s._y0 = x(s.y0)), + (s._y1 = x(s.y1)), + (s._hoverX = m(s.x1 - C.marker.pad.r)), + (s._hoverY = x( + I + ? s.y1 - C.marker.pad.b / 2 + : s.y0 + C.marker.pad.t / 2, + )); + var v = n.select(this), + k = i.ensureSingle( + v, + "path", + "surface", + function (t) { + t.style("pointer-events", E ? "none" : "all"); + }, + ); + T + ? k.transition().attrTween("d", function (t) { + var e = A(t, p, j(), [g, y]); + return function (t) { + return b(e(t)); + }; + }) + : k.attr("d", b), + v + .call(f, r, t, e, { + styleOne: l, + eventDataKeys: u.eventDataKeys, + transitionTime: u.CLICK_TRANSITION_TIME, + transitionEasing: u.CLICK_TRANSITION_EASING, + }) + .call(c.setSliceCursor, t, { + isTransitioning: t._transitioning, + }), + k.call(l, s, C, t, { hovered: !1 }), + s.x0 === s.x1 || s.y0 === s.y1 + ? (s._text = "") + : (s._text = d + ? D + ? "" + : c.getPtLabel(s) || "" + : h(s, r, C, e, L) || ""); + var S = i.ensureSingle(v, "g", "slicetext"), + z = i.ensureSingle(S, "text", "", function (t) { + t.attr("data-notex", 1); + }), + R = i.ensureUniformFontSize( + t, + c.determineTextFont(C, s, L.font), + ); + z + .text(s._text || " ") + .classed("slicetext", !0) + .attr( + "text-anchor", + O ? "end" : P || d ? "start" : "middle", + ) + .call(a.font, R) + .call(o.convertToTspans, t), + (s.textBB = a.bBox(z.node())), + (s.transform = _(s, { + fontSize: R.size, + isHeader: d, + })), + (s.transform.fontSize = R.size), + T + ? z + .transition() + .attrTween("transform", function (t) { + var e = M(t, p, j(), [g, y]); + return function (t) { + return w(e(t)); + }; + }) + : z.attr("transform", w(s)); + }), + B + ); + }; + }, + 14102: function (t) { + "use strict"; + t.exports = function t(e, r, n) { + var i; + n.swapXY && + ((i = e.x0), + (e.x0 = e.y0), + (e.y0 = i), + (i = e.x1), + (e.x1 = e.y1), + (e.y1 = i)), + n.flipX && + ((i = e.x0), (e.x0 = r[0] - e.x1), (e.x1 = r[0] - i)), + n.flipY && + ((i = e.y0), (e.y0 = r[1] - e.y1), (e.y1 = r[1] - i)); + var a = e.children; + if (a) for (var o = 0; o < a.length; o++) t(a[o], r, n); + }; + }, + 70954: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "treemap", + basePlotModule: r(78018), + categories: [], + animatable: !0, + attributes: r(45802), + layoutAttributes: r(55479), + supplyDefaults: r(91174), + supplyLayoutDefaults: r(77182), + calc: r(65039).y, + crossTraceCalc: r(65039).T, + plot: r(5893), + style: r(96362).style, + colorbar: r(4898), + meta: {}, + }; + }, + 55479: function (t) { + "use strict"; + t.exports = { + treemapcolorway: { valType: "colorlist", editType: "calc" }, + extendtreemapcolors: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + }; + }, + 77182: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(55479); + t.exports = function (t, e) { + function r(r, a) { + return n.coerce(t, e, i, r, a); + } + r("treemapcolorway", e.colorway), r("extendtreemapcolors"); + }; + }, + 37210: function (t, e, r) { + "use strict"; + var n = r(674), + i = r(14102); + t.exports = function (t, e, r) { + var a, + o = r.flipX, + s = r.flipY, + l = "dice-slice" === r.packing, + u = r.pad[s ? "bottom" : "top"], + c = r.pad[o ? "right" : "left"], + f = r.pad[o ? "left" : "right"], + h = r.pad[s ? "top" : "bottom"]; + l && ((a = c), (c = u), (u = a), (a = f), (f = h), (h = a)); + var p = n + .treemap() + .tile( + (function (t, e) { + switch (t) { + case "squarify": + return n.treemapSquarify.ratio(e); + case "binary": + return n.treemapBinary; + case "dice": + return n.treemapDice; + case "slice": + return n.treemapSlice; + default: + return n.treemapSliceDice; + } + })(r.packing, r.squarifyratio), + ) + .paddingInner(r.pad.inner) + .paddingLeft(c) + .paddingRight(f) + .paddingTop(u) + .paddingBottom(h) + .size(l ? [e[1], e[0]] : e)(t); + return ( + (l || o || s) && + i(p, e, { swapXY: l, flipX: o, flipY: s }), + p + ); + }; + }, + 5893: function (t, e, r) { + "use strict"; + var n = r(80694), + i = r(52583); + t.exports = function (t, e, r, a) { + return n(t, e, r, a, { + type: "treemap", + drawDescendants: i, + }); + }; + }, + 46650: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(81684).sX, + a = r(2791), + o = r(71828), + s = r(97313).TEXTPAD, + l = r(17295).toMoveInsideBar, + u = r(72597).recordMinTextSize, + c = r(43473), + f = r(66209); + function h(t) { + return a.isHierarchyRoot(t) ? "" : a.getPtId(t); + } + t.exports = function (t, e, r, p, d) { + var v = t._fullLayout, + g = e[0], + y = g.trace, + m = "icicle" === y.type, + x = g.hierarchy, + b = a.findEntryWithLevel(x, y.level), + _ = n.select(r), + w = _.selectAll("g.pathbar"), + T = _.selectAll("g.slice"); + if (!b) return w.remove(), void T.remove(); + var k = a.isHierarchyRoot(b), + A = !v.uniformtext.mode && a.hasTransition(p), + M = a.getMaxDepth(y), + S = v._size, + E = y.domain, + L = S.w * (E.x[1] - E.x[0]), + C = S.h * (E.y[1] - E.y[0]), + P = L, + O = y.pathbar.thickness, + I = y.marker.line.width + c.gapWithPathbar, + D = y.pathbar.visible + ? y.pathbar.side.indexOf("bottom") > -1 + ? C + I + : -(O + I) + : 0, + z = { x0: P, x1: P, y0: D, y1: D + O }, + R = function (t, e, r) { + var n = y.tiling.pad, + i = function (t) { + return t - n <= e.x0; + }, + a = function (t) { + return t + n >= e.x1; + }, + o = function (t) { + return t - n <= e.y0; + }, + s = function (t) { + return t + n >= e.y1; + }; + return t.x0 === e.x0 && + t.x1 === e.x1 && + t.y0 === e.y0 && + t.y1 === e.y1 + ? { x0: t.x0, x1: t.x1, y0: t.y0, y1: t.y1 } + : { + x0: i(t.x0 - n) ? 0 : a(t.x0 - n) ? r[0] : t.x0, + x1: i(t.x1 + n) ? 0 : a(t.x1 + n) ? r[0] : t.x1, + y0: o(t.y0 - n) ? 0 : s(t.y0 - n) ? r[1] : t.y0, + y1: o(t.y1 + n) ? 0 : s(t.y1 + n) ? r[1] : t.y1, + }; + }, + F = null, + B = {}, + N = {}, + j = null, + U = function (t, e) { + return e ? B[h(t)] : N[h(t)]; + }; + g.hasMultipleRoots && k && M++, + (y._maxDepth = M), + (y._backgroundColor = v.paper_bgcolor), + (y._entryDepth = b.data.depth), + (y._atRootLevel = k); + var V = -L / 2 + S.l + (S.w * (E.x[1] + E.x[0])) / 2, + H = -C / 2 + S.t + S.h * (1 - (E.y[1] + E.y[0]) / 2), + q = function (t) { + return V + t; + }, + G = function (t) { + return H + t; + }, + Z = G(0), + Y = q(0), + W = function (t) { + return Y + t; + }, + X = function (t) { + return Z + t; + }; + function J(t, e) { + return t + "," + e; + } + var K = W(0), + $ = function (t) { + t.x = Math.max(K, t.x); + }, + Q = y.pathbar.edgeshape, + tt = y[m ? "tiling" : "marker"].pad, + et = function (t) { + return -1 !== y.textposition.indexOf(t); + }, + rt = et("top"), + nt = et("left"), + it = et("right"), + at = et("bottom"), + ot = function (t, e) { + var r = t.x0, + n = t.x1, + i = t.y0, + a = t.y1, + o = t.textBB, + c = + rt || (e.isHeader && !at) + ? "start" + : at + ? "end" + : "middle", + f = et("right"), + h = et("left") || e.onPathbar ? -1 : f ? 1 : 0; + if (e.isHeader) { + if ( + (r += (m ? tt : tt.l) - s) >= + (n -= (m ? tt : tt.r) - s) + ) { + var p = (r + n) / 2; + (r = p), (n = p); + } + var d; + at + ? i < (d = a - (m ? tt : tt.b)) && d < a && (i = d) + : i < (d = i + (m ? tt : tt.t)) && d < a && (a = d); + } + var g = l(r, n, i, a, o, { + isHorizontal: !1, + constrained: !0, + angle: 0, + anchor: c, + leftToRight: h, + }); + return ( + (g.fontSize = e.fontSize), + (g.targetX = q(g.targetX)), + (g.targetY = G(g.targetY)), + isNaN(g.targetX) || isNaN(g.targetY) + ? {} + : (r !== n && i !== a && u(y.type, g, v), + { + scale: g.scale, + rotate: g.rotate, + textX: g.textX, + textY: g.textY, + anchorX: g.anchorX, + anchorY: g.anchorY, + targetX: g.targetX, + targetY: g.targetY, + }) + ); + }, + st = function (t, e) { + for (var r, n = 0, i = t; !r && n < M; ) + n++, (i = i.parent) ? (r = U(i, e)) : (n = M); + return r || {}; + }, + lt = function (t, e, r, n, a) { + var s, + l = U(t, e); + if (l) s = l; + else if (e) s = z; + else if (F) + if (t.parent) { + var u = j || r; + u && !e + ? (s = R(t, u, n)) + : ((s = {}), o.extendFlat(s, st(t, e))); + } else + (s = o.extendFlat({}, t)), + m && + ("h" === a.orientation + ? a.flipX + ? (s.x0 = t.x1) + : (s.x1 = 0) + : a.flipY + ? (s.y0 = t.y1) + : (s.y1 = 0)); + else s = {}; + return i(s, { x0: t.x0, x1: t.x1, y0: t.y0, y1: t.y1 }); + }, + ut = function (t, e, r, n) { + var s = U(t, e), + l = {}, + c = (function (t, e, r, n) { + if (e) return B[h(x)] || z; + var i = N[y.level] || r; + return (function (t) { + return t.data.depth - b.data.depth < M; + })(t) + ? R(t, i, n) + : {}; + })(t, e, r, n); + o.extendFlat(l, { + transform: ot( + { + x0: c.x0, + x1: c.x1, + y0: c.y0, + y1: c.y1, + textBB: t.textBB, + _text: t._text, + }, + { isHeader: a.isHeader(t, y) }, + ), + }), + s ? (l = s) : t.parent && o.extendFlat(l, st(t, e)); + var f = t.transform; + return ( + t.x0 !== t.x1 && t.y0 !== t.y1 && u(y.type, f, v), + i(l, { + transform: { + scale: f.scale, + rotate: f.rotate, + textX: f.textX, + textY: f.textY, + anchorX: f.anchorX, + anchorY: f.anchorY, + targetX: f.targetX, + targetY: f.targetY, + }, + }) + ); + }, + ct = function (t, e, r, a, o) { + var s = a[0], + l = a[1]; + A + ? t + .exit() + .transition() + .each(function () { + var t = n.select(this); + t + .select("path.surface") + .transition() + .attrTween("d", function (t) { + var r = (function (t, e, r, n) { + var a, + o = U(t, e); + if (e) a = z; + else { + var s = U(b, e); + a = s ? R(t, s, n) : {}; + } + return i(o, a); + })(t, e, 0, [s, l]); + return function (t) { + return o(r(t)); + }; + }), + t.select("g.slicetext").attr("opacity", 0); + }) + .remove() + : t.exit().remove(); + }, + ft = function (t) { + var e = t.transform; + return ( + t.x0 !== t.x1 && t.y0 !== t.y1 && u(y.type, e, v), + o.getTextTransform({ + textX: e.textX, + textY: e.textY, + anchorX: e.anchorX, + anchorY: e.anchorY, + targetX: e.targetX, + targetY: e.targetY, + scale: e.scale, + rotate: e.rotate, + }) + ); + }; + A && + (w.each(function (t) { + (B[h(t)] = { x0: t.x0, x1: t.x1, y0: t.y0, y1: t.y1 }), + t.transform && + (B[h(t)].transform = { + textX: t.transform.textX, + textY: t.transform.textY, + anchorX: t.transform.anchorX, + anchorY: t.transform.anchorY, + targetX: t.transform.targetX, + targetY: t.transform.targetY, + scale: t.transform.scale, + rotate: t.transform.rotate, + }); + }), + T.each(function (t) { + (N[h(t)] = { x0: t.x0, x1: t.x1, y0: t.y0, y1: t.y1 }), + t.transform && + (N[h(t)].transform = { + textX: t.transform.textX, + textY: t.transform.textY, + anchorX: t.transform.anchorX, + anchorY: t.transform.anchorY, + targetX: t.transform.targetX, + targetY: t.transform.targetY, + scale: t.transform.scale, + rotate: t.transform.rotate, + }), + !F && a.isEntry(t) && (F = t); + })), + (j = d(t, e, b, T, { + width: L, + height: C, + viewX: q, + viewY: G, + pathSlice: function (t) { + var e = q(t.x0), + r = q(t.x1), + n = G(t.y0), + i = G(t.y1), + a = r - e, + o = i - n; + if (!a || !o) return ""; + var s = y.marker.cornerradius || 0, + l = Math.min(s, a / 2, o / 2); + l && + t.data && + t.data.data && + t.data.data.label && + (rt && (l = Math.min(l, tt.t)), + nt && (l = Math.min(l, tt.l)), + it && (l = Math.min(l, tt.r)), + at && (l = Math.min(l, tt.b))); + var u = function (t, e) { + return l ? "a" + J(l, l) + " 0 0 1 " + J(t, e) : ""; + }; + return ( + "M" + + J(e, n + l) + + u(l, -l) + + "L" + + J(r - l, n) + + u(l, l) + + "L" + + J(r, i - l) + + u(-l, l) + + "L" + + J(e + l, i) + + u(-l, -l) + + "Z" + ); + }, + toMoveInsideSlice: ot, + prevEntry: F, + makeUpdateSliceInterpolator: lt, + makeUpdateTextInterpolator: ut, + handleSlicesExit: ct, + hasTransition: A, + strTransform: ft, + })), + y.pathbar.visible + ? f(t, e, b, w, { + barDifY: D, + width: P, + height: O, + viewX: W, + viewY: X, + pathSlice: function (t) { + var e = W(Math.max(Math.min(t.x0, t.x0), 0)), + r = W(Math.min(Math.max(t.x1, t.x1), P)), + n = X(t.y0), + i = X(t.y1), + a = O / 2, + o = {}, + s = {}; + (o.x = e), (s.x = r), (o.y = s.y = (n + i) / 2); + var l = { x: e, y: n }, + u = { x: r, y: n }, + c = { x: r, y: i }, + f = { x: e, y: i }; + return ( + ">" === Q + ? ((l.x -= a), + (u.x -= a), + (c.x -= a), + (f.x -= a)) + : "/" === Q + ? ((c.x -= a), + (f.x -= a), + (o.x -= a / 2), + (s.x -= a / 2)) + : "\\" === Q + ? ((l.x -= a), + (u.x -= a), + (o.x -= a / 2), + (s.x -= a / 2)) + : "<" === Q && ((o.x -= a), (s.x -= a)), + $(l), + $(f), + $(o), + $(u), + $(c), + $(s), + "M" + + J(l.x, l.y) + + "L" + + J(u.x, u.y) + + "L" + + J(s.x, s.y) + + "L" + + J(c.x, c.y) + + "L" + + J(f.x, f.y) + + "L" + + J(o.x, o.y) + + "Z" + ); + }, + toMoveInsideSlice: ot, + makeUpdateSliceInterpolator: lt, + makeUpdateTextInterpolator: ut, + handleSlicesExit: ct, + hasTransition: A, + strTransform: ft, + }) + : w.remove(); + }; + }, + 96362: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(7901), + a = r(71828), + o = r(2791), + s = r(72597).resizeText, + l = r(43467); + function u(t, e, r, n, s) { + var u, + c, + f = (s || {}).hovered, + h = e.data.data, + p = h.i, + d = h.color, + v = o.isHierarchyRoot(e), + g = 1; + if (f) + (u = r._hovered.marker.line.color), + (c = r._hovered.marker.line.width); + else if (v && d === r.root.color) + (g = 100), (u = "rgba(0,0,0,0)"), (c = 0); + else if ( + ((u = + a.castOption(r, p, "marker.line.color") || + i.defaultLine), + (c = a.castOption(r, p, "marker.line.width") || 0), + !r._hasColorscale && !e.onPathbar) + ) { + var y = r.marker.depthfade; + if (y) { + var m, + x = i.combine( + i.addOpacity(r._backgroundColor, 0.75), + d, + ); + if (!0 === y) { + var b = o.getMaxDepth(r); + m = isFinite(b) + ? o.isLeaf(e) + ? 0 + : r._maxVisibleLayers - + (e.data.depth - r._entryDepth) + : e.data.height + 1; + } else + (m = e.data.depth - r._entryDepth), + r._atRootLevel || m++; + if (m > 0) + for (var _ = 0; _ < m; _++) { + var w = (0.5 * _) / m; + d = i.combine(i.addOpacity(x, w), d); + } + } + } + t.call(l, e, r, n, d) + .style("stroke-width", c) + .call(i.stroke, u) + .style("opacity", g); + } + t.exports = { + style: function (t) { + var e = t._fullLayout._treemaplayer.selectAll(".trace"); + s(t, e, "treemap"), + e.each(function (e) { + var r = n.select(this), + i = e[0].trace; + r.style("opacity", i.opacity), + r.selectAll("path.surface").each(function (e) { + n.select(this).call(u, e, i, t, { hovered: !1 }); + }); + }); + }, + styleOne: u, + }; + }, + 68875: function (t, e, r) { + "use strict"; + var n = r(53522), + i = r(1426).extendFlat, + a = r(12663).axisHoverFormat; + t.exports = { + y: n.y, + x: n.x, + x0: n.x0, + y0: n.y0, + xhoverformat: a("x"), + yhoverformat: a("y"), + name: i({}, n.name, {}), + orientation: i({}, n.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: n.fillcolor, + points: i({}, n.boxpoints, {}), + jitter: i({}, n.jitter, {}), + pointpos: i({}, n.pointpos, {}), + width: i({}, n.width, {}), + marker: n.marker, + text: n.text, + hovertext: n.hovertext, + hovertemplate: n.hovertemplate, + quartilemethod: n.quartilemethod, + box: { + visible: { + valType: "boolean", + dflt: !1, + editType: "plot", + }, + width: { + valType: "number", + min: 0, + max: 1, + dflt: 0.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: "calc", + }, + offsetgroup: n.offsetgroup, + alignmentgroup: n.alignmentgroup, + selected: n.selected, + unselected: n.unselected, + hoveron: { + valType: "flaglist", + flags: ["violins", "points", "kde"], + dflt: "violins+points+kde", + extras: ["all"], + editType: "style", + }, + }; + }, + 38603: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(48518), + o = r(60168), + s = r(50606).BADNUM; + function l(t, e, r) { + var i = e.max - e.min; + if (!i) return t.bandwidth ? t.bandwidth : 0; + if (t.bandwidth) return Math.max(t.bandwidth, i / 1e4); + var a = r.length, + o = n.stdev(r, a - 1, e.mean); + return Math.max( + (function (t, e, r) { + return ( + 1.059 * Math.min(e, r / 1.349) * Math.pow(t, -0.2) + ); + })(a, o, e.q3 - e.q1), + i / 100, + ); + } + function u(t, e, r, n) { + var a, + o = t.spanmode, + l = t.span || [], + u = [e.min, e.max], + c = [e.min - 2 * n, e.max + 2 * n]; + function f(n) { + var i = l[n], + a = + "multicategory" === r.type + ? r.r2c(i) + : r.d2c(i, 0, t[e.valLetter + "calendar"]); + return a === s ? c[n] : a; + } + var h = { + type: "linear", + range: (a = + "soft" === o ? c : "hard" === o ? u : [f(0), f(1)]), + }; + return i.setConvert(h), h.cleanRange(), a; + } + t.exports = function (t, e) { + var r = a(t, e); + if (r[0].t.empty) return r; + for ( + var s = t._fullLayout, + c = i.getFromId( + t, + e["h" === e.orientation ? "xaxis" : "yaxis"], + ), + f = 1 / 0, + h = -1 / 0, + p = 0, + d = 0, + v = 0; + v < r.length; + v++ + ) { + var g = r[v], + y = g.pts.map(o.extractVal), + m = (g.bandwidth = l(e, g, y)), + x = (g.span = u(e, g, c, m)); + if (g.min === g.max && 0 === m) + (x = g.span = [g.min, g.max]), + (g.density = [{ v: 1, t: x[0] }]), + (g.bandwidth = m), + (p = Math.max(p, 1)); + else { + var b = x[1] - x[0], + _ = Math.ceil(b / (m / 3)), + w = b / _; + if (!isFinite(w) || !isFinite(_)) + return ( + n.error( + "Something went wrong with computing the violin span", + ), + (r[0].t.empty = !0), + r + ); + var T = o.makeKDE(g, e, y); + g.density = new Array(_); + for ( + var k = 0, A = x[0]; + A < x[1] + w / 2; + k++, A += w + ) { + var M = T(A); + (g.density[k] = { v: M, t: A }), (p = Math.max(p, M)); + } + } + (d = Math.max(d, y.length)), + (f = Math.min(f, x[0])), + (h = Math.max(h, x[1])); + } + var S = i.findExtremes(c, [f, h], { padded: !0 }); + if (((e._extremes[c._id] = S), e.width)) r[0].t.maxKDE = p; + else { + var E = s._violinScaleGroupStats, + L = e.scalegroup, + C = E[L]; + C + ? ((C.maxKDE = Math.max(C.maxKDE, p)), + (C.maxCount = Math.max(C.maxCount, d))) + : (E[L] = { maxKDE: p, maxCount: d }); + } + return (r[0].t.labels.kde = n._(t, "kde:")), r; + }; + }, + 86403: function (t, e, r) { + "use strict"; + var n = r(37188).setPositionOffset, + i = ["v", "h"]; + t.exports = function (t, e) { + for ( + var r = t.calcdata, a = e.xaxis, o = e.yaxis, s = 0; + s < i.length; + s++ + ) { + for ( + var l = i[s], u = "h" === l ? o : a, c = [], f = 0; + f < r.length; + f++ + ) { + var h = r[f], + p = h[0].t, + d = h[0].trace; + !0 !== d.visible || + "violin" !== d.type || + p.empty || + d.orientation !== l || + d.xaxis !== a._id || + d.yaxis !== o._id || + c.push(f); + } + n("violin", t, c, u); + } + }; + }, + 15899: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(36411), + o = r(68875); + t.exports = function (t, e, r, s) { + function l(r, i) { + return n.coerce(t, e, o, r, i); + } + function u(r, i) { + return n.coerce2(t, e, o, r, i); + } + if ( + (a.handleSampleDefaults(t, e, l, s), !1 !== e.visible) + ) { + l("bandwidth"), + l("side"), + l("width") || (l("scalegroup", e.name), l("scalemode")); + var c, + f = l("span"); + Array.isArray(f) && (c = "manual"), l("spanmode", c); + var h = l("line.color", (t.marker || {}).color || r), + p = l("line.width"), + d = l("fillcolor", i.addOpacity(e.line.color, 0.5)); + a.handlePointsDefaults(t, e, l, { prefix: "" }); + var v = u("box.width"), + g = u("box.fillcolor", d), + y = u("box.line.color", h), + m = u("box.line.width", p); + l("box.visible", Boolean(v || g || y || m)) || + (e.box = { visible: !1 }); + var x = u("meanline.color", h), + b = u("meanline.width", p); + l("meanline.visible", Boolean(x || b)) || + (e.meanline = { visible: !1 }), + l("quartilemethod"); + } + }; + }, + 60168: function (t, e, r) { + "use strict"; + var n = r(71828), + i = function (t) { + return ( + (1 / Math.sqrt(2 * Math.PI)) * Math.exp(-0.5 * t * t) + ); + }; + (e.makeKDE = function (t, e, r) { + var n = r.length, + a = i, + o = t.bandwidth, + s = 1 / (n * o); + return function (t) { + for (var e = 0, i = 0; i < n; i++) e += a((t - r[i]) / o); + return s * e; + }; + }), + (e.getPositionOnKdePath = function (t, e, r) { + var i, a; + "h" === e.orientation + ? ((i = "y"), (a = "x")) + : ((i = "x"), (a = "y")); + var o = n.findPointOnPath(t.path, r, a, { + pathLength: t.pathLength, + }), + s = t.posCenterPx, + l = o[i]; + return [l, "both" === e.side ? 2 * s - l : s]; + }), + (e.getKdeValue = function (t, r, n) { + var i = t.pts.map(e.extractVal); + return e.makeKDE(t, r, i)(n) / t.posDensityScale; + }), + (e.extractVal = function (t) { + return t.v; + }); + }, + 57634: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(71828), + a = r(89298), + o = r(41868), + s = r(60168); + t.exports = function (t, e, r, l, u) { + u || (u = {}); + var c, + f, + h = u.hoverLayer, + p = t.cd, + d = p[0].trace, + v = d.hoveron, + g = -1 !== v.indexOf("violins"), + y = -1 !== v.indexOf("kde"), + m = []; + if (g || y) { + var x = o.hoverOnBoxes(t, e, r, l); + if (y && x.length > 0) { + var b, + _, + w, + T, + k, + A = t.xa, + M = t.ya; + "h" === d.orientation + ? ((k = e), (b = "y"), (w = M), (_ = "x"), (T = A)) + : ((k = r), (b = "x"), (w = A), (_ = "y"), (T = M)); + var S = p[t.index]; + if (k >= S.span[0] && k <= S.span[1]) { + var E = i.extendFlat({}, t), + L = T.c2p(k, !0), + C = s.getKdeValue(S, d, k), + P = s.getPositionOnKdePath(S, d, L), + O = w._offset, + I = w._length; + (E[b + "0"] = P[0]), + (E[b + "1"] = P[1]), + (E[_ + "0"] = E[_ + "1"] = L), + (E[_ + "Label"] = + _ + + ": " + + a.hoverLabelText(T, k, d[_ + "hoverformat"]) + + ", " + + p[0].t.labels.kde + + " " + + C.toFixed(3)); + for (var D = 0, z = 0; z < x.length; z++) + if ("med" === x[z].attr) { + D = z; + break; + } + E.spikeDistance = x[D].spikeDistance; + var R = b + "Spike"; + (E[R] = x[D][R]), + (x[D].spikeDistance = void 0), + (x[D][R] = void 0), + (E.hovertemplate = !1), + m.push(E), + ((f = {})[b + "1"] = i.constrain( + O + P[0], + O, + O + I, + )), + (f[b + "2"] = i.constrain(O + P[1], O, O + I)), + (f[_ + "1"] = f[_ + "2"] = T._offset + L); + } + } + g && (m = m.concat(x)); + } + -1 !== v.indexOf("points") && + (c = o.hoverOnPoints(t, e, r)); + var F = h + .selectAll(".violinline-" + d.uid) + .data(f ? [0] : []); + return ( + F.enter() + .append("line") + .classed("violinline-" + d.uid, !0) + .attr("stroke-width", 1.5), + F.exit().remove(), + F.attr(f).call(n.stroke, t.color), + "closest" === l ? (c ? [c] : m) : c ? (m.push(c), m) : m + ); + }; + }, + 47462: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(68875), + layoutAttributes: r(9228), + supplyDefaults: r(15899), + crossTraceDefaults: r(36411).crossTraceDefaults, + supplyLayoutDefaults: r(33598), + calc: r(38603), + crossTraceCalc: r(86403), + plot: r(28443), + style: r(31847), + styleOnSelect: r(16296).styleOnSelect, + hoverPoints: r(57634), + selectPoints: r(24626), + moduleType: "trace", + name: "violin", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "symbols", + "oriented", + "box-violin", + "showLegend", + "violinLayout", + "zoomScale", + ], + meta: {}, + }; + }, + 9228: function (t, e, r) { + "use strict"; + var n = r(40094), + i = r(71828).extendFlat; + t.exports = { + violinmode: i({}, n.boxmode, {}), + violingap: i({}, n.boxgap, {}), + violingroupgap: i({}, n.boxgroupgap, {}), + }; + }, + 33598: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(9228), + a = r(4199); + t.exports = function (t, e, r) { + a._supply( + t, + e, + r, + function (r, a) { + return n.coerce(t, e, i, r, a); + }, + "violin", + ); + }; + }, + 28443: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(91424), + o = r(86047), + s = r(34621), + l = r(60168); + t.exports = function (t, e, r, u) { + var c = t._context.staticPlot, + f = t._fullLayout, + h = e.xaxis, + p = e.yaxis; + function d(t, e) { + var r = s(t, { + xaxis: h, + yaxis: p, + trace: e, + connectGaps: !0, + baseTolerance: 0.75, + shape: "spline", + simplify: !0, + linearized: !0, + }); + return a.smoothopen(r[0], 1); + } + i.makeTraceGroups(u, r, "trace violins").each(function (t) { + var r = n.select(this), + a = t[0], + s = a.t, + u = a.trace; + if (!0 !== u.visible || s.empty) r.remove(); + else { + var v = s.bPos, + g = s.bdPos, + y = e[s.valLetter + "axis"], + m = e[s.posLetter + "axis"], + x = "both" === u.side, + b = x || "positive" === u.side, + _ = x || "negative" === u.side, + w = r.selectAll("path.violin").data(i.identity); + w + .enter() + .append("path") + .style( + "vector-effect", + c ? "none" : "non-scaling-stroke", + ) + .attr("class", "violin"), + w.exit().remove(), + w.each(function (t) { + var e, + r, + i, + a, + o, + l, + c, + h, + p = n.select(this), + w = t.density, + T = w.length, + k = m.c2l(t.pos + v, !0), + A = m.l2p(k); + if (u.width) e = s.maxKDE / g; + else { + var M = f._violinScaleGroupStats[u.scalegroup]; + e = + "count" === u.scalemode + ? (M.maxKDE / g) * (M.maxCount / t.pts.length) + : M.maxKDE / g; + } + if (b) { + for (c = new Array(T), o = 0; o < T; o++) + ((h = c[o] = {})[s.posLetter] = k + w[o].v / e), + (h[s.valLetter] = y.c2l(w[o].t, !0)); + r = d(c, u); + } + if (_) { + for ( + c = new Array(T), l = 0, o = T - 1; + l < T; + l++, o-- + ) + ((h = c[l] = {})[s.posLetter] = k - w[o].v / e), + (h[s.valLetter] = y.c2l(w[o].t, !0)); + i = d(c, u); + } + if (x) a = r + "L" + i.substr(1) + "Z"; + else { + var S = [A, y.c2p(w[0].t)], + E = [A, y.c2p(w[T - 1].t)]; + "h" === u.orientation && + (S.reverse(), E.reverse()), + (a = b + ? "M" + S + "L" + r.substr(1) + "L" + E + : "M" + E + "L" + i.substr(1) + "L" + S); + } + p.attr("d", a), + (t.posCenterPx = A), + (t.posDensityScale = e * g), + (t.path = p.node()), + (t.pathLength = + t.path.getTotalLength() / (x ? 2 : 1)); + }); + var T, + k, + A, + M = u.box, + S = M.width, + E = (M.line || {}).width; + x + ? ((T = g * S), (k = 0)) + : b + ? ((T = [0, (g * S) / 2]), + (k = E * { x: 1, y: -1 }[s.posLetter])) + : ((T = [(g * S) / 2, 0]), + (k = E * { x: -1, y: 1 }[s.posLetter])), + o.plotBoxAndWhiskers(r, { pos: m, val: y }, u, { + bPos: v, + bdPos: T, + bPosPxOffset: k, + }), + o.plotBoxMean(r, { pos: m, val: y }, u, { + bPos: v, + bdPos: T, + bPosPxOffset: k, + }), + !u.box.visible && + u.meanline.visible && + (A = i.identity); + var L = r.selectAll("path.meanline").data(A || []); + L.enter() + .append("path") + .attr("class", "meanline") + .style("fill", "none") + .style( + "vector-effect", + c ? "none" : "non-scaling-stroke", + ), + L.exit().remove(), + L.each(function (t) { + var e = y.c2p(t.mean, !0), + r = l.getPositionOnKdePath(t, u, e); + n.select(this).attr( + "d", + "h" === u.orientation + ? "M" + e + "," + r[0] + "V" + r[1] + : "M" + r[0] + "," + e + "H" + r[1], + ); + }), + o.plotPoints(r, { x: h, y: p }, u, s); + } + }); + }; + }, + 31847: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(7901), + a = r(16296).stylePoints; + t.exports = function (t) { + var e = n.select(t).selectAll("g.trace.violins"); + e.style("opacity", function (t) { + return t[0].trace.opacity; + }), + e.each(function (e) { + var r = e[0].trace, + o = n.select(this), + s = r.box || {}, + l = s.line || {}, + u = r.meanline || {}, + c = u.width; + o + .selectAll("path.violin") + .style("stroke-width", r.line.width + "px") + .call(i.stroke, r.line.color) + .call(i.fill, r.fillcolor), + o + .selectAll("path.box") + .style("stroke-width", l.width + "px") + .call(i.stroke, l.color) + .call(i.fill, s.fillcolor); + var f = { + "stroke-width": c + "px", + "stroke-dasharray": 2 * c + "px," + c + "px", + }; + o + .selectAll("path.mean") + .style(f) + .call(i.stroke, u.color), + o + .selectAll("path.meanline") + .style(f) + .call(i.stroke, u.color), + a(o, r, t); + }); + }; + }, + 16336: function (t, e, r) { + "use strict"; + var n = r(50693), + i = r(16249), + a = r(54532), + o = r(9012), + s = r(1426).extendFlat, + l = r(30962).overrideAll, + u = (t.exports = l( + s( + { + x: i.x, + y: i.y, + z: i.z, + value: i.value, + isomin: i.isomin, + isomax: i.isomax, + surface: i.surface, + spaceframe: { + show: { valType: "boolean", dflt: !1 }, + fill: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + }, + slices: i.slices, + caps: i.caps, + text: i.text, + hovertext: i.hovertext, + xhoverformat: i.xhoverformat, + yhoverformat: i.yhoverformat, + zhoverformat: i.zhoverformat, + valuehoverformat: i.valuehoverformat, + hovertemplate: i.hovertemplate, + }, + n("", { + colorAttr: "`value`", + showScaleDflt: !0, + editTypeOverride: "calc", + }), + { + colorbar: i.colorbar, + opacity: i.opacity, + opacityscale: a.opacityscale, + lightposition: i.lightposition, + lighting: i.lighting, + flatshading: i.flatshading, + contour: i.contour, + hoverinfo: s({}, o.hoverinfo), + showlegend: s({}, o.showlegend, { dflt: !1 }), + }, + ), + "calc", + "nested", + )); + (u.x.editType = + u.y.editType = + u.z.editType = + u.value.editType = + "calc+clearAxisTypes"), + (u.transforms = void 0); + }, + 64809: function (t, e, r) { + "use strict"; + var n = r(9330).gl_mesh3d, + i = r(81697).parseColorScale, + a = r(78614), + o = r(21081).extractOpts, + s = r(90060), + l = r(22674).findNearestOnAxis, + u = r(22674).generateIsoMeshes; + function c(t, e, r) { + (this.scene = t), + (this.uid = r), + (this.mesh = e), + (this.name = ""), + (this.data = null), + (this.showContour = !1); + } + var f = c.prototype; + (f.handlePick = function (t) { + if (t.object === this.mesh) { + var e = t.data.index, + r = this.data._meshX[e], + n = this.data._meshY[e], + i = this.data._meshZ[e], + a = this.data._Ys.length, + o = this.data._Zs.length, + s = l(r, this.data._Xs).id, + u = l(n, this.data._Ys).id, + c = l(i, this.data._Zs).id, + f = (t.index = c + o * u + o * a * s); + t.traceCoordinate = [ + this.data._meshX[f], + this.data._meshY[f], + this.data._meshZ[f], + this.data._value[f], + ]; + var h = this.data.hovertext || this.data.text; + return ( + Array.isArray(h) && void 0 !== h[f] + ? (t.textLabel = h[f]) + : h && (t.textLabel = h), + !0 + ); + } + }), + (f.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 = u(t); + var l = { + positions: s( + n(r.xaxis, t._meshX, e.dataScale[0], t.xcalendar), + n(r.yaxis, t._meshY, e.dataScale[1], t.ycalendar), + n(r.zaxis, t._meshZ, e.dataScale[2], t.zcalendar), + ), + cells: s(t._meshI, t._meshJ, t._meshK), + 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, + opacityscale: t.opacityscale, + contourEnable: t.contour.show, + contourColor: a(t.contour.color).slice(0, 3), + contourWidth: t.contour.width, + useFacetNormals: t.flatshading, + }, + c = o(t); + (l.vertexIntensity = t._meshIntensity), + (l.vertexIntensityBounds = [c.min, c.max]), + (l.colormap = i(t)), + this.mesh.update(l); + }), + (f.dispose = function () { + this.scene.glplot.remove(this.mesh), this.mesh.dispose(); + }), + (t.exports = function (t, e) { + var r = t.glplot.gl, + i = n({ gl: r }), + a = new c(t, i, e.uid); + return (i._trace = a), a.update(e), t.glplot.add(i), a; + }); + }, + 47651: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(16336), + a = r(82738).supplyIsoDefaults, + o = r(91831).opacityscaleDefaults; + t.exports = function (t, e, r, s) { + function l(r, a) { + return n.coerce(t, e, i, r, a); + } + a(t, e, r, s, l), o(t, e, s, l); + }; + }, + 17659: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(16336), + supplyDefaults: r(47651), + calc: r(56959), + colorbar: { min: "cmin", max: "cmax" }, + plot: r(64809), + moduleType: "trace", + name: "volume", + basePlotModule: r(58547), + categories: ["gl3d", "showLegend"], + meta: {}, + }; + }, + 43037: function (t, e, r) { + "use strict"; + var n = r(1486), + i = r(82196).line, + a = r(9012), + o = r(12663).axisHoverFormat, + s = r(5386).fF, + l = r(5386).si, + u = r(48334), + c = r(1426).extendFlat, + f = r(7901); + function h(t) { + return { + marker: { + color: c({}, n.marker.color, { + arrayOk: !1, + editType: "style", + }), + line: { + color: c({}, n.marker.line.color, { + arrayOk: !1, + editType: "style", + }), + width: c({}, n.marker.line.width, { + arrayOk: !1, + editType: "style", + }), + editType: "style", + }, + editType: "style", + }, + editType: "style", + }; + } + t.exports = { + measure: { + valType: "data_array", + dflt: [], + editType: "calc", + }, + base: { + valType: "number", + dflt: null, + arrayOk: !1, + editType: "calc", + }, + x: n.x, + x0: n.x0, + dx: n.dx, + y: n.y, + y0: n.y0, + dy: n.dy, + xperiod: n.xperiod, + yperiod: n.yperiod, + xperiod0: n.xperiod0, + yperiod0: n.yperiod0, + xperiodalignment: n.xperiodalignment, + yperiodalignment: n.yperiodalignment, + xhoverformat: o("x"), + yhoverformat: o("y"), + hovertext: n.hovertext, + hovertemplate: s({}, { keys: u.eventDataKeys }), + hoverinfo: c({}, a.hoverinfo, { + flags: [ + "name", + "x", + "y", + "text", + "initial", + "delta", + "final", + ], + }), + textinfo: { + valType: "flaglist", + flags: ["label", "text", "initial", "delta", "final"], + extras: ["none"], + editType: "plot", + arrayOk: !1, + }, + texttemplate: l( + { editType: "plot" }, + { keys: u.eventDataKeys.concat(["label"]) }, + ), + text: n.text, + textposition: n.textposition, + insidetextanchor: n.insidetextanchor, + textangle: n.textangle, + textfont: n.textfont, + insidetextfont: n.insidetextfont, + outsidetextfont: n.outsidetextfont, + constraintext: n.constraintext, + cliponaxis: n.cliponaxis, + orientation: n.orientation, + offset: n.offset, + width: n.width, + increasing: h(), + decreasing: h(), + totals: h(), + connector: { + line: { + color: c({}, i.color, { dflt: f.defaultLine }), + width: c({}, i.width, { editType: "plot" }), + dash: i.dash, + editType: "plot", + }, + mode: { + valType: "enumerated", + values: ["spanning", "between"], + dflt: "between", + editType: "plot", + }, + visible: { + valType: "boolean", + dflt: !0, + editType: "plot", + }, + editType: "plot", + }, + offsetgroup: n.offsetgroup, + alignmentgroup: n.alignmentgroup, + }; + }, + 52752: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(42973), + a = r(71828).mergeArray, + o = r(66279), + s = r(50606).BADNUM; + function l(t) { + return "a" === t || "absolute" === t; + } + function u(t) { + return "t" === t || "total" === t; + } + t.exports = function (t, e) { + var r, + c, + f, + h, + p, + d, + v = n.getFromId(t, e.xaxis || "x"), + g = n.getFromId(t, e.yaxis || "y"); + "h" === e.orientation + ? ((r = v.makeCalcdata(e, "x")), + (f = g.makeCalcdata(e, "y")), + (h = i(e, g, "y", f)), + (p = !!e.yperiodalignment), + (d = "y")) + : ((r = g.makeCalcdata(e, "y")), + (f = v.makeCalcdata(e, "x")), + (h = i(e, v, "x", f)), + (p = !!e.xperiodalignment), + (d = "x")), + (c = h.vals); + for ( + var y, + m = Math.min(c.length, r.length), + x = new Array(m), + b = 0, + _ = !1, + w = 0; + w < m; + w++ + ) { + var T = r[w] || 0, + k = !1; + (r[w] !== s || u(e.measure[w]) || l(e.measure[w])) && + w + 1 < m && + (r[w + 1] !== s || + u(e.measure[w + 1]) || + l(e.measure[w + 1])) && + (k = !0); + var A = (x[w] = { + i: w, + p: c[w], + s: T, + rawS: T, + cNext: k, + }); + l(e.measure[w]) + ? ((b = A.s), + (A.isSum = !0), + (A.dir = "totals"), + (A.s = b)) + : u(e.measure[w]) + ? ((A.isSum = !0), (A.dir = "totals"), (A.s = b)) + : ((A.isSum = !1), + (A.dir = A.rawS < 0 ? "decreasing" : "increasing"), + (y = A.s), + (A.s = b + y), + (b += y)), + "totals" === A.dir && (_ = !0), + p && + ((x[w].orig_p = f[w]), + (x[w][d + "End"] = h.ends[w]), + (x[w][d + "Start"] = h.starts[w])), + e.ids && (A.id = String(e.ids[w])), + (A.v = (e.base || 0) + b); + } + return ( + x.length && (x[0].hasTotals = _), + a(e.text, x, "tx"), + a(e.hovertext, x, "htx"), + o(x, e), + x + ); + }; + }, + 48334: function (t) { + "use strict"; + t.exports = { eventDataKeys: ["initial", "delta", "final"] }; + }, + 70766: function (t, e, r) { + "use strict"; + var n = r(11661).setGroupPositions; + t.exports = function (t, e) { + var r, + i, + a = t._fullLayout, + o = t._fullData, + s = t.calcdata, + l = e.xaxis, + u = e.yaxis, + c = [], + f = [], + h = []; + for (i = 0; i < o.length; i++) { + var p = o[i]; + !0 === p.visible && + p.xaxis === l._id && + p.yaxis === u._id && + "waterfall" === p.type && + ((r = s[i]), + "h" === p.orientation ? h.push(r) : f.push(r), + c.push(r)); + } + var d = { + mode: a.waterfallmode, + norm: a.waterfallnorm, + gap: a.waterfallgap, + groupgap: a.waterfallgroupgap, + }; + for ( + n(t, l, u, f, d), n(t, u, l, h, d), i = 0; + i < c.length; + i++ + ) { + r = c[i]; + for (var v = 0; v < r.length; v++) { + var g = r[v]; + !1 === g.isSum && (g.s0 += 0 === v ? 0 : r[v - 1].s), + v + 1 < r.length && + ((r[v].nextP0 = r[v + 1].p0), + (r[v].nextS0 = r[v + 1].s0)); + } + } + }; + }, + 83266: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(26125), + a = r(90769).handleText, + o = r(67513), + s = r(73927), + l = r(43037), + u = r(7901), + c = r(22372), + f = c.INCREASING.COLOR, + h = c.DECREASING.COLOR; + function p(t, e, r) { + t(e + ".marker.color", r), + t(e + ".marker.line.color", u.defaultLine), + t(e + ".marker.line.width"); + } + t.exports = { + supplyDefaults: function (t, e, r, i) { + function u(r, i) { + return n.coerce(t, e, l, r, i); + } + if (o(t, e, i, u)) { + s(t, e, i, u), + u("xhoverformat"), + u("yhoverformat"), + u("measure"), + u("orientation", e.x && !e.y ? "h" : "v"), + u("base"), + u("offset"), + u("width"), + u("text"), + u("hovertext"), + u("hovertemplate"); + var c = u("textposition"); + a(t, e, i, u, c, { + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !0, + moduleHasCliponaxis: !0, + moduleHasTextangle: !0, + moduleHasInsideanchor: !0, + }), + "none" !== e.textposition && + (u("texttemplate"), + e.texttemplate || u("textinfo")), + p(u, "increasing", f), + p(u, "decreasing", h), + p(u, "totals", "#4499FF"), + u("connector.visible") && + (u("connector.mode"), + u("connector.line.width") && + (u("connector.line.color"), + u("connector.line.dash"))); + } else e.visible = !1; + }, + crossTraceDefaults: function (t, e) { + var r, a; + function o(t) { + return n.coerce(a._input, a, l, t); + } + if ("group" === e.waterfallmode) + for (var s = 0; s < t.length; s++) + (r = (a = t[s])._input), i(r, a, e, o); + }, + }; + }, + 58593: function (t) { + "use strict"; + t.exports = function (t, e) { + return ( + (t.x = "xVal" in e ? e.xVal : e.x), + (t.y = "yVal" in e ? e.yVal : e.y), + "initial" in e && (t.initial = e.initial), + "delta" in e && (t.delta = e.delta), + "final" in e && (t.final = e.final), + e.xa && (t.xaxis = e.xa), + e.ya && (t.yaxis = e.ya), + t + ); + }; + }, + 61326: function (t, e, r) { + "use strict"; + var n = r(89298).hoverLabelText, + i = r(7901).opacity, + a = r(95423).hoverOnBars, + o = r(22372), + s = o.INCREASING.SYMBOL, + l = o.DECREASING.SYMBOL; + t.exports = function (t, e, r, o, u) { + var c = a(t, e, r, o, u); + if (c) { + var f = c.cd, + h = f[0].trace, + p = "h" === h.orientation, + d = p ? "x" : "y", + v = p ? t.xa : t.ya, + g = f[c.index], + y = g.isSum ? g.b + g.s : g.rawS; + (c.initial = g.b + g.s - y), + (c.delta = y), + (c.final = c.initial + c.delta); + var m = k(Math.abs(c.delta)); + (c.deltaLabel = y < 0 ? "(" + m + ")" : m), + (c.finalLabel = k(c.final)), + (c.initialLabel = k(c.initial)); + var x = g.hi || h.hoverinfo, + b = []; + if (x && "none" !== x && "skip" !== x) { + var _ = "all" === x, + w = x.split("+"), + T = function (t) { + return _ || -1 !== w.indexOf(t); + }; + g.isSum || + (!T("final") || + T(p ? "x" : "y") || + b.push(c.finalLabel), + T("delta") && + (y < 0 + ? b.push(c.deltaLabel + " " + l) + : b.push(c.deltaLabel + " " + s)), + T("initial") && b.push("Initial: " + c.initialLabel)); + } + return ( + b.length && (c.extraText = b.join("
")), + (c.color = (function (t, e) { + var r = t[e.dir].marker, + n = r.color, + a = r.line.color, + o = r.line.width; + return i(n) ? n : i(a) && o ? a : void 0; + })(h, g)), + [c] + ); + } + function k(t) { + return n(v, t, h[d + "hoverformat"]); + } + }; + }, + 19990: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(43037), + layoutAttributes: r(13494), + supplyDefaults: r(83266).supplyDefaults, + crossTraceDefaults: r(83266).crossTraceDefaults, + supplyLayoutDefaults: r(5176), + calc: r(52752), + crossTraceCalc: r(70766), + plot: r(30436), + style: r(55750).style, + hoverPoints: r(61326), + eventData: r(58593), + selectPoints: r(81974), + moduleType: "trace", + name: "waterfall", + basePlotModule: r(93612), + categories: [ + "bar-like", + "cartesian", + "svg", + "oriented", + "showLegend", + "zoomScale", + ], + meta: {}, + }; + }, + 13494: function (t) { + "use strict"; + t.exports = { + waterfallmode: { + valType: "enumerated", + values: ["group", "overlay"], + dflt: "group", + editType: "calc", + }, + waterfallgap: { + valType: "number", + min: 0, + max: 1, + editType: "calc", + }, + waterfallgroupgap: { + valType: "number", + min: 0, + max: 1, + dflt: 0, + editType: "calc", + }, + }; + }, + 5176: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(13494); + t.exports = function (t, e, r) { + var a = !1; + function o(r, a) { + return n.coerce(t, e, i, r, a); + } + for (var s = 0; s < r.length; s++) { + var l = r[s]; + if (l.visible && "waterfall" === l.type) { + a = !0; + break; + } + } + a && + (o("waterfallmode"), + o("waterfallgap", 0.2), + o("waterfallgroupgap")); + }; + }, + 30436: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(91424), + o = r(50606).BADNUM, + s = r(17295), + l = r(72597).clearMinTextSize; + t.exports = function (t, e, r, u) { + var c = t._fullLayout; + l("waterfall", c), + s.plot(t, e, r, u, { + mode: c.waterfallmode, + norm: c.waterfallmode, + gap: c.waterfallgap, + groupgap: c.waterfallgroupgap, + }), + (function (t, e, r, s) { + var l = e.xaxis, + u = e.yaxis; + i.makeTraceGroups(s, r, "trace bars").each( + function (r) { + var s = n.select(this), + c = r[0].trace, + f = i.ensureSingle(s, "g", "lines"); + if (c.connector && c.connector.visible) { + var h = "h" === c.orientation, + p = c.connector.mode, + d = f.selectAll("g.line").data(i.identity); + d.enter().append("g").classed("line", !0), + d.exit().remove(); + var v = d.size(); + d.each(function (r, s) { + if (s === v - 1 || r.cNext) { + var c = (function (t, e, r, n) { + var i = [], + a = [], + o = n ? e : r, + s = n ? r : e; + return ( + (i[0] = o.c2p(t.s0, !0)), + (a[0] = s.c2p(t.p0, !0)), + (i[1] = o.c2p(t.s1, !0)), + (a[1] = s.c2p(t.p1, !0)), + (i[2] = o.c2p(t.nextS0, !0)), + (a[2] = s.c2p(t.nextP0, !0)), + n ? [i, a] : [a, i] + ); + })(r, l, u, h), + f = c[0], + d = c[1], + g = ""; + f[0] !== o && + d[0] !== o && + f[1] !== o && + d[1] !== o && + ("spanning" === p && + !r.isSum && + s > 0 && + (g += h + ? "M" + f[0] + "," + d[1] + "V" + d[0] + : "M" + f[1] + "," + d[0] + "H" + f[0]), + "between" !== p && + (r.isSum || s < v - 1) && + (g += h + ? "M" + f[1] + "," + d[0] + "V" + d[1] + : "M" + f[0] + "," + d[1] + "H" + f[1]), + f[2] !== o && + d[2] !== o && + (g += h + ? "M" + f[1] + "," + d[1] + "V" + d[2] + : "M" + + f[1] + + "," + + d[1] + + "H" + + f[2])), + "" === g && (g = "M0,0Z"), + i + .ensureSingle(n.select(this), "path") + .attr("d", g) + .call(a.setClipUrl, e.layerClipId, t); + } + }); + } else f.remove(); + }, + ); + })(t, e, r, u); + }; + }, + 55750: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(91424), + a = r(7901), + o = r(37822).DESELECTDIM, + s = r(16688), + l = r(72597).resizeText, + u = s.styleTextPoints; + t.exports = { + style: function (t, e, r) { + var s = + r || + n + .select(t) + .selectAll("g.waterfalllayer") + .selectAll("g.trace"); + l(t, s, "waterfall"), + s.style("opacity", function (t) { + return t[0].trace.opacity; + }), + s.each(function (e) { + var r = n.select(this), + s = e[0].trace; + r.selectAll(".point > path").each(function (t) { + if (!t.isBlank) { + var e = s[t.dir].marker; + n.select(this) + .call(a.fill, e.color) + .call(a.stroke, e.line.color) + .call(i.dashLine, e.line.dash, e.line.width) + .style( + "opacity", + s.selectedpoints && !t.selected ? o : 1, + ); + } + }), + u(r, s, t), + r.selectAll(".lines").each(function () { + var t = s.connector.line; + i.lineGroupStyle( + n.select(this).selectAll("path"), + t.width, + t.color, + t.dash, + ); + }); + }); + }, + }; + }, + 82887: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(71828), + a = r(86281), + o = r(79344).p, + s = r(50606).BADNUM; + (e.moduleType = "transform"), (e.name = "aggregate"); + var l = (e.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", + "change", + "range", + ], + 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", + }), + u = l.aggregations; + function c(t, e, r, a) { + if (a.enabled) { + for ( + var o = a.target, + l = i.nestedProperty(e, o), + u = l.get(), + c = (function (t, e) { + var r = t.func, + n = e.d2c, + a = e.c2d; + switch (r) { + case "count": + return f; + case "first": + return h; + case "last": + return p; + case "sum": + return function (t, e) { + for (var r = 0, i = 0; i < e.length; i++) { + var o = n(t[e[i]]); + o !== s && (r += o); + } + return a(r); + }; + case "avg": + return function (t, e) { + for ( + var r = 0, i = 0, o = 0; + o < e.length; + o++ + ) { + var l = n(t[e[o]]); + l !== s && ((r += l), i++); + } + return i ? a(r / i) : s; + }; + case "min": + return function (t, e) { + for ( + var r = 1 / 0, i = 0; + i < e.length; + i++ + ) { + var o = n(t[e[i]]); + o !== s && (r = Math.min(r, o)); + } + return r === 1 / 0 ? s : a(r); + }; + case "max": + return function (t, e) { + for ( + var r = -1 / 0, i = 0; + i < e.length; + i++ + ) { + var o = n(t[e[i]]); + o !== s && (r = Math.max(r, o)); + } + return r === -1 / 0 ? s : a(r); + }; + case "range": + return function (t, e) { + for ( + var r = 1 / 0, i = -1 / 0, o = 0; + o < e.length; + o++ + ) { + var l = n(t[e[o]]); + l !== s && + ((r = Math.min(r, l)), + (i = Math.max(i, l))); + } + return i === -1 / 0 || r === 1 / 0 + ? s + : a(i - r); + }; + case "change": + return function (t, e) { + var r = n(t[e[0]]), + i = n(t[e[e.length - 1]]); + return r === s || i === s ? s : a(i - r); + }; + case "median": + return function (t, e) { + for (var r = [], o = 0; o < e.length; o++) { + var l = n(t[e[o]]); + l !== s && r.push(l); + } + if (!r.length) return s; + r.sort(i.sorterAsc); + var u = (r.length - 1) / 2; + return a( + (r[Math.floor(u)] + r[Math.ceil(u)]) / 2, + ); + }; + case "mode": + return function (t, e) { + for ( + var r = {}, i = 0, o = s, l = 0; + l < e.length; + l++ + ) { + var u = n(t[e[l]]); + if (u !== s) { + var c = (r[u] = (r[u] || 0) + 1); + c > i && ((i = c), (o = u)); + } + } + return i ? a(o) : s; + }; + case "rms": + return function (t, e) { + for ( + var r = 0, i = 0, o = 0; + o < e.length; + o++ + ) { + var l = n(t[e[o]]); + l !== s && ((r += l * l), i++); + } + return i ? a(Math.sqrt(r / i)) : s; + }; + case "stddev": + return function (e, r) { + var i, + a = 0, + o = 0, + l = 1, + u = s; + for (i = 0; i < r.length && u === s; i++) + u = n(e[r[i]]); + if (u === s) return s; + for (; i < r.length; i++) { + var c = n(e[r[i]]); + if (c !== s) { + var f = c - u; + (a += f), (o += f * f), l++; + } + } + var h = "sample" === t.funcmode ? l - 1 : l; + return h + ? Math.sqrt((o - (a * a) / l) / h) + : 0; + }; + } + })(a, n.getDataConversions(t, e, o, u)), + d = new Array(r.length), + v = 0; + v < r.length; + v++ + ) + d[v] = c(u, r[v]); + l.set(d), + "count" === a.func && i.pushUnique(e._arrayAttrs, o); + } + } + function f(t, e) { + return e.length; + } + function h(t, e) { + return t[e[0]]; + } + function p(t, e) { + return t[e[e.length - 1]]; + } + (e.supplyDefaults = function (t, e) { + var r, + n = {}; + function o(e, r) { + return i.coerce(t, n, l, e, r); + } + if (!o("enabled")) return n; + var s = a.findArrayAttributes(e), + c = {}; + for (r = 0; r < s.length; r++) c[s[r]] = 1; + var f = o("groups"); + if (!Array.isArray(f)) { + if (!c[f]) return (n.enabled = !1), n; + c[f] = 0; + } + var h, + p = t.aggregations || [], + d = (n.aggregations = new Array(p.length)); + function v(t, e) { + return i.coerce(p[r], h, u, t, e); + } + for (r = 0; r < p.length; r++) { + h = { _index: r }; + var g = v("target"), + y = v("func"); + v("enabled") && + g && + (c[g] || ("count" === y && void 0 === c[g])) + ? ("stddev" === y && v("funcmode"), + (c[g] = 0), + (d[r] = h)) + : (d[r] = { enabled: !1, _index: r }); + } + for (r = 0; r < s.length; r++) + c[s[r]] && + d.push({ + target: s[r], + func: u.func.dflt, + enabled: !0, + _index: -1, + }); + return n; + }), + (e.calcTransform = function (t, e, r) { + if (r.enabled) { + var n = r.groups, + a = i.getTargetArray(e, { target: n }); + if (a) { + var s, + l, + u, + f, + h = {}, + p = {}, + d = [], + v = o(e.transforms, r), + g = a.length; + for ( + e._length && (g = Math.min(g, e._length)), s = 0; + s < g; + s++ + ) + void 0 === (u = h[(l = a[s])]) + ? ((h[l] = d.length), + (f = [s]), + d.push(f), + (p[h[l]] = v(s))) + : (d[u].push(s), + (p[h[l]] = (p[h[l]] || []).concat(v(s)))); + r._indexToPoints = p; + var y = r.aggregations; + for (s = 0; s < y.length; s++) c(t, e, d, y[s]); + "string" == typeof n && + c(t, e, d, { + target: n, + func: "first", + enabled: !0, + }), + (e._length = d.length); + } + } + }); + }, + 14382: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(73972), + a = r(89298), + o = r(79344).p, + s = r(74808), + l = s.COMPARISON_OPS, + u = s.INTERVAL_OPS, + c = s.SET_OPS; + (e.moduleType = "transform"), + (e.name = "filter"), + (e.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(l).concat(u).concat(c), + dflt: "=", + editType: "calc", + }, + value: { valType: "any", dflt: 0, editType: "calc" }, + preservegaps: { + valType: "boolean", + dflt: !1, + editType: "calc", + }, + editType: "calc", + }), + (e.supplyDefaults = function (t) { + var r = {}; + function a(i, a) { + return n.coerce(t, r, e.attributes, i, a); + } + if (a("enabled")) { + var o = a("target"); + if (n.isArrayOrTypedArray(o) && 0 === o.length) + return (r.enabled = !1), r; + a("preservegaps"), a("operation"), a("value"); + var s = i.getComponentMethod( + "calendars", + "handleDefaults", + ); + s(t, r, "valuecalendar", null), + s(t, r, "targetcalendar", null); + } + return r; + }), + (e.calcTransform = function (t, e, r) { + if (r.enabled) { + var i = n.getTargetArray(e, r); + if (i) { + var s = r.target, + f = i.length; + e._length && (f = Math.min(f, e._length)); + var h = r.targetcalendar, + p = e._arrayAttrs, + d = r.preservegaps; + if ("string" == typeof s) { + var v = n.nestedProperty(e, s + "calendar").get(); + v && (h = v); + } + var g, + y, + m = (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, + f = function (r) { + return e(r, 0, t.valuecalendar); + }, + h = function (t) { + return e(t, 0, r); + }; + switch ( + (o(l) + ? (s = f(a ? i[0] : i)) + : o(u) + ? (s = a ? [f(i[0]), f(i[1])] : [f(i), f(i)]) + : o(c) && (s = a ? i.map(f) : [f(i)]), + n) + ) { + case "=": + return function (t) { + return h(t) === s; + }; + case "!=": + return function (t) { + return h(t) !== s; + }; + case "<": + return function (t) { + return h(t) < s; + }; + case "<=": + return function (t) { + return h(t) <= s; + }; + case ">": + return function (t) { + return h(t) > s; + }; + case ">=": + return function (t) { + return h(t) >= s; + }; + case "[]": + return function (t) { + var e = h(t); + return e >= s[0] && e <= s[1]; + }; + case "()": + return function (t) { + var e = h(t); + return e > s[0] && e < s[1]; + }; + case "[)": + return function (t) { + var e = h(t); + return e >= s[0] && e < s[1]; + }; + case "(]": + return function (t) { + var e = h(t); + return e > s[0] && e <= s[1]; + }; + case "][": + return function (t) { + var e = h(t); + return e <= s[0] || e >= s[1]; + }; + case ")(": + return function (t) { + var e = h(t); + return e < s[0] || e > s[1]; + }; + case "](": + return function (t) { + var e = h(t); + return e <= s[0] || e > s[1]; + }; + case ")[": + return function (t) { + var e = h(t); + return e < s[0] || e >= s[1]; + }; + case "{}": + return function (t) { + return -1 !== s.indexOf(h(t)); + }; + case "}{": + return function (t) { + return -1 === s.indexOf(h(t)); + }; + } + })(r, a.getDataToCoordFunc(t, e, s, i), h), + x = {}, + b = {}, + _ = 0; + d + ? ((g = function (t) { + (x[t.astr] = n.extendDeep([], t.get())), + t.set(new Array(f)); + }), + (y = function (t, e) { + var r = x[t.astr][e]; + t.get()[e] = r; + })) + : ((g = function (t) { + (x[t.astr] = n.extendDeep([], t.get())), + t.set([]); + }), + (y = function (t, e) { + var r = x[t.astr][e]; + t.get().push(r); + })), + k(g); + for (var w = o(e.transforms, r), T = 0; T < f; T++) + m(i[T]) ? (k(y, T), (b[_++] = w(T))) : d && _++; + (r._indexToPoints = b), (e._length = _); + } + } + function k(t, r) { + for (var i = 0; i < p.length; i++) + t(n.nestedProperty(e, p[i]), r); + } + }); + }, + 43102: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(86281), + a = r(74875), + o = r(79344).p; + function s(t, e) { + var r, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g = e.transform, + y = e.transformIndex, + m = t.transforms[y].groups, + x = o(t.transforms, g); + if (!n.isArrayOrTypedArray(m) || 0 === m.length) return [t]; + var b = n.filterUnique(m), + _ = new Array(b.length), + w = m.length, + T = i.findArrayAttributes(t), + k = g.styles || [], + A = {}; + for (r = 0; r < k.length; r++) A[k[r].target] = k[r].value; + g.styles && + (v = n.keyedContainer( + g, + "styles", + "target", + "value.name", + )); + var M = {}, + S = {}; + for (r = 0; r < b.length; r++) { + (M[(f = b[r])] = r), + (S[f] = 0), + ((h = _[r] = n.extendDeepNoArrays({}, t))._group = f), + (h.transforms[y]._indexToPoints = {}); + var E = null; + for ( + v && (E = v.get(f)), + h.name = + E || "" === E + ? E + : n.templateString(g.nameformat, { + trace: t.name, + group: f, + }), + p = h.transforms, + h.transforms = [], + s = 0; + s < p.length; + s++ + ) + h.transforms[s] = n.extendDeepNoArrays({}, p[s]); + for (s = 0; s < T.length; s++) + n.nestedProperty(h, T[s]).set([]); + } + for (l = 0; l < T.length; l++) { + for (u = T[l], s = 0, d = []; s < b.length; s++) + d[s] = n.nestedProperty(_[s], u).get(); + for (c = n.nestedProperty(t, u).get(), s = 0; s < w; s++) + d[M[m[s]]].push(c[s]); + } + for (s = 0; s < w; s++) + ((h = _[M[m[s]]]).transforms[y]._indexToPoints[S[m[s]]] = + x(s)), + S[m[s]]++; + for (r = 0; r < b.length; r++) + (f = b[r]), + (h = _[r]), + a.clearExpandedTraceDefaultColors(h), + (h = n.extendDeepNoArrays(h, A[f] || {})); + return _; + } + (e.moduleType = "transform"), + (e.name = "groupby"), + (e.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", + _compareAsJSON: !0, + }, + editType: "calc", + }, + editType: "calc", + }), + (e.supplyDefaults = function (t, r, i) { + var a, + o = {}; + function s(r, i) { + return n.coerce(t, o, e.attributes, r, i); + } + if (!s("enabled")) return o; + s("groups"), + s( + "nameformat", + i._dataLength > 1 + ? "%{group} (%{trace})" + : "%{group}", + ); + var l = t.styles, + u = (o.styles = []); + if (l) + for (a = 0; a < l.length; a++) { + var c = (u[a] = {}); + n.coerce(l[a], u[a], e.attributes.styles, "target"); + var f = n.coerce( + l[a], + u[a], + e.attributes.styles, + "value", + ); + n.isPlainObject(f) + ? (c.value = n.extendDeep({}, f)) + : f && delete c.value; + } + return o; + }), + (e.transform = function (t, e) { + var r, + n, + i, + a = []; + for (n = 0; n < t.length; n++) + for (r = s(t[n], e), i = 0; i < r.length; i++) + a.push(r[i]); + return a; + }); + }, + 79344: function (t, e) { + "use strict"; + e.p = 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); + var a = n + ? function (t) { + return n[t]; + } + : function (t) { + return [t]; + }; + return a; + }; + }, + 32275: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(79344).p, + o = r(50606).BADNUM; + (e.moduleType = "transform"), + (e.name = "sort"), + (e.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", + }), + (e.supplyDefaults = function (t) { + var r = {}; + function i(i, a) { + return n.coerce(t, r, e.attributes, i, a); + } + return i("enabled") && (i("target"), i("order")), r; + }), + (e.calcTransform = function (t, e, r) { + if (r.enabled) { + var s = n.getTargetArray(e, r); + if (s) { + var l = r.target, + u = s.length; + e._length && (u = Math.min(u, e._length)); + var c, + f, + h = e._arrayAttrs, + p = (function (t, e, r, n) { + var i, + a = new Array(n), + s = new Array(n); + for (i = 0; i < n; i++) a[i] = { v: e[i], i }; + for ( + a.sort( + (function (t, e) { + switch (t.order) { + case "ascending": + return function (t, r) { + var n = e(t.v), + i = e(r.v); + return n === o + ? 1 + : i === o + ? -1 + : n - i; + }; + case "descending": + return function (t, r) { + var n = e(t.v), + i = e(r.v); + return n === o + ? 1 + : i === o + ? -1 + : i - n; + }; + } + })(t, r), + ), + i = 0; + i < n; + i++ + ) + s[i] = a[i].i; + return s; + })(r, s, i.getDataToCoordFunc(t, e, l, s), u), + d = a(e.transforms, r), + v = {}; + for (c = 0; c < h.length; c++) { + var g = n.nestedProperty(e, h[c]), + y = g.get(), + m = new Array(u); + for (f = 0; f < u; f++) m[f] = y[p[f]]; + g.set(m); + } + for (f = 0; f < u; f++) v[f] = d(p[f]); + (r._indexToPoints = v), (e._length = u); + } + } + }); + }, + 11506: function (t, e) { + "use strict"; + e.version = "2.26.0"; + }, + 9330: function (t, e, r) { + var n, + i = r(90386); + self, + (n = function () { + return (function () { + var t = { + 7386: function (t, e, r) { + t.exports = { + alpha_shape: r(2350), + convex_hull: r(5537), + delaunay_triangulate: r(4419), + gl_cone3d: r(1140), + gl_error3d: r(3110), + gl_heatmap2d: r(6386), + gl_line3d: r(6086), + gl_mesh3d: r(8116), + gl_plot2d: r(2117), + gl_plot3d: r(1059), + gl_pointcloud2d: r(8271), + gl_scatter3d: r(2182), + gl_select_box: r(6623), + gl_spikes2d: r(3050), + gl_streamtube3d: r(7307), + gl_surface3d: r(3754), + ndarray: r(5050), + ndarray_linear_interpolate: r(3581), + }; + }, + 2146: function (t, e, r) { + "use strict"; + function n(t, e) { + if (!(t instanceof e)) + throw new TypeError( + "Cannot call a class as a function", + ); + } + function i(t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r]; + (n.enumerable = n.enumerable || !1), + (n.configurable = !0), + "value" in n && (n.writable = !0), + Object.defineProperty(t, n.key, n); + } + } + function a(t, e) { + return ( + (a = Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function (t, e) { + return (t.__proto__ = e), t; + }), + a(t, e) + ); + } + function o(t, e) { + if ( + e && + ("object" === u(e) || "function" == typeof e) + ) + return e; + if (void 0 !== e) + throw new TypeError( + "Derived constructors may only return object or undefined", + ); + return s(t); + } + function s(t) { + if (void 0 === t) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called", + ); + return t; + } + function l(t) { + return ( + (l = Object.setPrototypeOf + ? Object.getPrototypeOf.bind() + : function (t) { + return ( + t.__proto__ || + Object.getPrototypeOf(t) + ); + }), + l(t) + ); + } + function u(t) { + return ( + (u = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function (t) { + return typeof t; + } + : function (t) { + return t && + "function" == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? "symbol" + : typeof t; + }), + u(t) + ); + } + var c = r(3910), + f = r(3187), + h = + "function" == typeof Symbol && + "function" == typeof Symbol.for + ? Symbol.for("nodejs.util.inspect.custom") + : null; + (e.lW = v), (e.h2 = 50); + var p = 2147483647; + function d(t) { + if (t > p) + throw new RangeError( + 'The value "' + + t + + '" is invalid for option "size"', + ); + var e = new Uint8Array(t); + return Object.setPrototypeOf(e, v.prototype), e; + } + function v(t, e, r) { + if ("number" == typeof t) { + if ("string" == typeof e) + throw new TypeError( + 'The "string" argument must be of type string. Received type number', + ); + return m(t); + } + return g(t, e, r); + } + function g(t, e, r) { + if ("string" == typeof t) + return (function (t, e) { + if ( + (("string" == typeof e && "" !== e) || + (e = "utf8"), + !v.isEncoding(e)) + ) + throw new TypeError( + "Unknown encoding: " + e, + ); + var r = 0 | w(t, e), + n = d(r), + i = n.write(t, e); + return i !== r && (n = n.slice(0, i)), n; + })(t, e); + if (ArrayBuffer.isView(t)) + return (function (t) { + if (rt(t, Uint8Array)) { + var e = new Uint8Array(t); + return b( + e.buffer, + e.byteOffset, + e.byteLength, + ); + } + return x(t); + })(t); + if (null == t) + throw new TypeError( + "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + + u(t), + ); + if ( + rt(t, ArrayBuffer) || + (t && rt(t.buffer, ArrayBuffer)) + ) + return b(t, e, r); + if ( + "undefined" != typeof SharedArrayBuffer && + (rt(t, SharedArrayBuffer) || + (t && rt(t.buffer, SharedArrayBuffer))) + ) + return b(t, e, r); + if ("number" == typeof t) + throw new TypeError( + 'The "value" argument must not be of type number. Received type number', + ); + var n = t.valueOf && t.valueOf(); + if (null != n && n !== t) + return v.from(n, e, r); + var i = (function (t) { + if (v.isBuffer(t)) { + var e = 0 | _(t.length), + r = d(e); + return ( + 0 === r.length || t.copy(r, 0, 0, e), r + ); + } + return void 0 !== t.length + ? "number" != typeof t.length || + nt(t.length) + ? d(0) + : x(t) + : "Buffer" === t.type && + Array.isArray(t.data) + ? x(t.data) + : void 0; + })(t); + if (i) return i; + if ( + "undefined" != typeof Symbol && + null != Symbol.toPrimitive && + "function" == typeof t[Symbol.toPrimitive] + ) + return v.from( + t[Symbol.toPrimitive]("string"), + e, + r, + ); + throw new TypeError( + "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + + u(t), + ); + } + function y(t) { + if ("number" != typeof t) + throw new TypeError( + '"size" argument must be of type number', + ); + if (t < 0) + throw new RangeError( + 'The value "' + + t + + '" is invalid for option "size"', + ); + } + function m(t) { + return y(t), d(t < 0 ? 0 : 0 | _(t)); + } + function x(t) { + for ( + var e = t.length < 0 ? 0 : 0 | _(t.length), + r = d(e), + n = 0; + n < e; + n += 1 + ) + r[n] = 255 & t[n]; + return r; + } + function b(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; + return ( + (n = + void 0 === e && void 0 === r + ? new Uint8Array(t) + : void 0 === r + ? new Uint8Array(t, e) + : new Uint8Array(t, e, r)), + Object.setPrototypeOf(n, v.prototype), + n + ); + } + function _(t) { + if (t >= p) + throw new RangeError( + "Attempt to allocate Buffer larger than maximum size: 0x" + + p.toString(16) + + " bytes", + ); + return 0 | t; + } + function w(t, e) { + if (v.isBuffer(t)) return t.length; + if (ArrayBuffer.isView(t) || rt(t, ArrayBuffer)) + return t.byteLength; + if ("string" != typeof t) + throw new TypeError( + 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + + u(t), + ); + var r = t.length, + n = + arguments.length > 2 && !0 === arguments[2]; + if (!n && 0 === r) return 0; + for (var i = !1; ; ) + switch (e) { + case "ascii": + case "latin1": + case "binary": + return r; + case "utf8": + case "utf-8": + return Q(t).length; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return 2 * r; + case "hex": + return r >>> 1; + case "base64": + return tt(t).length; + default: + if (i) return n ? -1 : Q(t).length; + (e = ("" + e).toLowerCase()), (i = !0); + } + } + function T(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 F(this, e, r); + case "utf8": + case "utf-8": + return I(this, e, r); + case "ascii": + return z(this, e, r); + case "latin1": + case "binary": + return R(this, e, r); + case "base64": + return O(this, e, r); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return B(this, e, r); + default: + if (n) + throw new TypeError( + "Unknown encoding: " + t, + ); + (t = (t + "").toLowerCase()), (n = !0); + } + } + function k(t, e, r) { + var n = t[e]; + (t[e] = t[r]), (t[r] = n); + } + function A(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), + nt((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 = v.from(e, n)), + v.isBuffer(e)) + ) + return 0 === e.length ? -1 : M(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, + ) + : M(t, [e], r, n, i) + ); + throw new TypeError( + "val must be string, number or Buffer", + ); + } + function M(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 f = !0, h = 0; h < l; h++) + if (u(t, a + h) !== u(e, h)) { + f = !1; + break; + } + if (f) return a; + } + return -1; + } + function S(t, e, r, n) { + r = Number(r) || 0; + var i = t.length - r; + n ? (n = Number(n)) > i && (n = i) : (n = i); + var a, + o = e.length; + for ( + n > o / 2 && (n = o / 2), a = 0; + a < n; + ++a + ) { + var s = parseInt(e.substr(2 * a, 2), 16); + if (nt(s)) return a; + t[r + a] = s; + } + return a; + } + function E(t, e, r, n) { + return et(Q(e, t.length - r), t, r, n); + } + function L(t, e, r, n) { + return et( + (function (t) { + for (var e = [], r = 0; r < t.length; ++r) + e.push(255 & t.charCodeAt(r)); + return e; + })(e), + t, + r, + n, + ); + } + function C(t, e, r, n) { + return et(tt(e), t, r, n); + } + function P(t, e, r, n) { + return et( + (function (t, e) { + for ( + var r, n, i, a = [], o = 0; + o < t.length && !((e -= 2) < 0); + ++o + ) + (n = (r = t.charCodeAt(o)) >> 8), + (i = r % 256), + a.push(i), + a.push(n); + return a; + })(e, t.length - r), + t, + r, + n, + ); + } + function O(t, e, r) { + return 0 === e && r === t.length + ? c.fromByteArray(t) + : c.fromByteArray(t.slice(e, r)); + } + function I(t, e, r) { + r = Math.min(t.length, r); + for (var n = [], i = e; i < r; ) { + var a = t[i], + o = null, + s = + a > 239 + ? 4 + : a > 223 + ? 3 + : a > 191 + ? 2 + : 1; + if (i + s <= r) { + var l = void 0, + u = void 0, + c = void 0, + f = void 0; + switch (s) { + case 1: + a < 128 && (o = a); + break; + case 2: + 128 == (192 & (l = t[i + 1])) && + (f = ((31 & a) << 6) | (63 & l)) > + 127 && + (o = f); + break; + case 3: + (l = t[i + 1]), + (u = t[i + 2]), + 128 == (192 & l) && + 128 == (192 & u) && + (f = + ((15 & a) << 12) | + ((63 & l) << 6) | + (63 & u)) > 2047 && + (f < 55296 || f > 57343) && + (o = f); + break; + case 4: + (l = t[i + 1]), + (u = t[i + 2]), + (c = t[i + 3]), + 128 == (192 & l) && + 128 == (192 & u) && + 128 == (192 & c) && + (f = + ((15 & a) << 18) | + ((63 & l) << 12) | + ((63 & u) << 6) | + (63 & c)) > 65535 && + f < 1114112 && + (o = f); + } + } + null === o + ? ((o = 65533), (s = 1)) + : o > 65535 && + ((o -= 65536), + n.push(((o >>> 10) & 1023) | 55296), + (o = 56320 | (1023 & o))), + n.push(o), + (i += s); + } + return (function (t) { + var e = t.length; + if (e <= D) + return String.fromCharCode.apply(String, t); + for (var r = "", n = 0; n < e; ) + r += String.fromCharCode.apply( + String, + t.slice(n, (n += D)), + ); + return r; + })(n); + } + (v.TYPED_ARRAY_SUPPORT = (function () { + try { + var t = new Uint8Array(1), + e = { + foo: function () { + return 42; + }, + }; + return ( + Object.setPrototypeOf( + e, + Uint8Array.prototype, + ), + Object.setPrototypeOf(t, e), + 42 === t.foo() + ); + } catch (t) { + return !1; + } + })()), + v.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(v.prototype, "parent", { + enumerable: !0, + get: function () { + if (v.isBuffer(this)) return this.buffer; + }, + }), + Object.defineProperty(v.prototype, "offset", { + enumerable: !0, + get: function () { + if (v.isBuffer(this)) + return this.byteOffset; + }, + }), + (v.poolSize = 8192), + (v.from = function (t, e, r) { + return g(t, e, r); + }), + Object.setPrototypeOf( + v.prototype, + Uint8Array.prototype, + ), + Object.setPrototypeOf(v, Uint8Array), + (v.alloc = function (t, e, r) { + return (function (t, e, r) { + return ( + y(t), + t <= 0 + ? d(t) + : void 0 !== e + ? "string" == typeof r + ? d(t).fill(e, r) + : d(t).fill(e) + : d(t) + ); + })(t, e, r); + }), + (v.allocUnsafe = function (t) { + return m(t); + }), + (v.allocUnsafeSlow = function (t) { + return m(t); + }), + (v.isBuffer = function (t) { + return ( + null != t && + !0 === t._isBuffer && + t !== v.prototype + ); + }), + (v.compare = function (t, e) { + if ( + (rt(t, Uint8Array) && + (t = v.from(t, t.offset, t.byteLength)), + rt(e, Uint8Array) && + (e = v.from(e, e.offset, e.byteLength)), + !v.isBuffer(t) || !v.isBuffer(e)) + ) + throw new TypeError( + 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array', + ); + 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; + }), + (v.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; + } + }), + (v.concat = function (t, e) { + if (!Array.isArray(t)) + throw new TypeError( + '"list" argument must be an Array of Buffers', + ); + if (0 === t.length) return v.alloc(0); + var r; + if (void 0 === e) + for (e = 0, r = 0; r < t.length; ++r) + e += t[r].length; + var n = v.allocUnsafe(e), + i = 0; + for (r = 0; r < t.length; ++r) { + var a = t[r]; + if (rt(a, Uint8Array)) + i + a.length > n.length + ? (v.isBuffer(a) || (a = v.from(a)), + a.copy(n, i)) + : Uint8Array.prototype.set.call( + n, + a, + i, + ); + else { + if (!v.isBuffer(a)) + throw new TypeError( + '"list" argument must be an Array of Buffers', + ); + a.copy(n, i); + } + i += a.length; + } + return n; + }), + (v.byteLength = w), + (v.prototype._isBuffer = !0), + (v.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) + k(this, e, e + 1); + return this; + }), + (v.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) + k(this, e, e + 3), k(this, e + 1, e + 2); + return this; + }), + (v.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) + k(this, e, e + 7), + k(this, e + 1, e + 6), + k(this, e + 2, e + 5), + k(this, e + 3, e + 4); + return this; + }), + (v.prototype.toString = function () { + var t = this.length; + return 0 === t + ? "" + : 0 === arguments.length + ? I(this, 0, t) + : T.apply(this, arguments); + }), + (v.prototype.toLocaleString = + v.prototype.toString), + (v.prototype.equals = function (t) { + if (!v.isBuffer(t)) + throw new TypeError( + "Argument must be a Buffer", + ); + return this === t || 0 === v.compare(this, t); + }), + (v.prototype.inspect = function () { + var t = "", + r = e.h2; + return ( + (t = this.toString("hex", 0, r) + .replace(/(.{2})/g, "$1 ") + .trim()), + this.length > r && (t += " ... "), + "" + ); + }), + h && (v.prototype[h] = v.prototype.inspect), + (v.prototype.compare = function ( + t, + e, + r, + n, + i, + ) { + if ( + (rt(t, Uint8Array) && + (t = v.from(t, t.offset, t.byteLength)), + !v.isBuffer(t)) + ) + throw new TypeError( + 'The "target" argument must be one of type Buffer or Uint8Array. Received type ' + + u(t), + ); + 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 (this === t) return 0; + for ( + var a = (i >>>= 0) - (n >>>= 0), + o = (r >>>= 0) - (e >>>= 0), + s = Math.min(a, o), + l = this.slice(n, i), + c = t.slice(e, r), + f = 0; + f < s; + ++f + ) + if (l[f] !== c[f]) { + (a = l[f]), (o = c[f]); + break; + } + return a < o ? -1 : o < a ? 1 : 0; + }), + (v.prototype.includes = function (t, e, r) { + return -1 !== this.indexOf(t, e, r); + }), + (v.prototype.indexOf = function (t, e, r) { + return A(this, t, e, r, !0); + }), + (v.prototype.lastIndexOf = function (t, e, r) { + return A(this, t, e, r, !1); + }), + (v.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 S(this, t, e, r); + case "utf8": + case "utf-8": + return E(this, t, e, r); + case "ascii": + case "latin1": + case "binary": + return L(this, t, e, r); + case "base64": + return C(this, t, e, r); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return P(this, t, e, r); + default: + if (a) + throw new TypeError( + "Unknown encoding: " + n, + ); + (n = ("" + n).toLowerCase()), (a = !0); + } + }), + (v.prototype.toJSON = function () { + return { + type: "Buffer", + data: Array.prototype.slice.call( + this._arr || this, + 0, + ), + }; + }); + var D = 4096; + function z(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 R(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 F(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 += it[t[a]]; + return i; + } + function B(t, e, r) { + for ( + var n = t.slice(e, r), i = "", a = 0; + a < n.length - 1; + a += 2 + ) + i += String.fromCharCode( + n[a] + 256 * n[a + 1], + ); + return i; + } + function N(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 j(t, e, r, n, i, a) { + if (!v.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 U(t, e, r, n, i) { + X(e, n, i, t, r, 7); + var a = Number(e & BigInt(4294967295)); + (t[r++] = a), + (a >>= 8), + (t[r++] = a), + (a >>= 8), + (t[r++] = a), + (a >>= 8), + (t[r++] = a); + var o = Number( + (e >> BigInt(32)) & BigInt(4294967295), + ); + return ( + (t[r++] = o), + (o >>= 8), + (t[r++] = o), + (o >>= 8), + (t[r++] = o), + (o >>= 8), + (t[r++] = o), + r + ); + } + function V(t, e, r, n, i) { + X(e, n, i, t, r, 7); + var a = Number(e & BigInt(4294967295)); + (t[r + 7] = a), + (a >>= 8), + (t[r + 6] = a), + (a >>= 8), + (t[r + 5] = a), + (a >>= 8), + (t[r + 4] = a); + var o = Number( + (e >> BigInt(32)) & BigInt(4294967295), + ); + return ( + (t[r + 3] = o), + (o >>= 8), + (t[r + 2] = o), + (o >>= 8), + (t[r + 1] = o), + (o >>= 8), + (t[r] = o), + r + 8 + ); + } + function H(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 q(t, e, r, n, i) { + return ( + (e = +e), + (r >>>= 0), + i || H(t, 0, r, 4), + f.write(t, e, r, n, 23, 4), + r + 4 + ); + } + function G(t, e, r, n, i) { + return ( + (e = +e), + (r >>>= 0), + i || H(t, 0, r, 8), + f.write(t, e, r, n, 52, 8), + r + 8 + ); + } + (v.prototype.slice = function (t, e) { + var r = this.length; + (t = ~~t) < 0 + ? (t += r) < 0 && (t = 0) + : t > r && (t = r), + (e = void 0 === e ? r : ~~e) < 0 + ? (e += r) < 0 && (e = 0) + : e > r && (e = r), + e < t && (e = t); + var n = this.subarray(t, e); + return Object.setPrototypeOf(n, v.prototype), n; + }), + (v.prototype.readUintLE = + v.prototype.readUIntLE = + function (t, e, r) { + (t >>>= 0), + (e >>>= 0), + r || N(t, e, this.length); + for ( + var n = this[t], i = 1, a = 0; + ++a < e && (i *= 256); + + ) + n += this[t + a] * i; + return n; + }), + (v.prototype.readUintBE = + v.prototype.readUIntBE = + function (t, e, r) { + (t >>>= 0), + (e >>>= 0), + r || N(t, e, this.length); + for ( + var n = this[t + --e], i = 1; + e > 0 && (i *= 256); + + ) + n += this[t + --e] * i; + return n; + }), + (v.prototype.readUint8 = v.prototype.readUInt8 = + function (t, e) { + return ( + (t >>>= 0), + e || N(t, 1, this.length), + this[t] + ); + }), + (v.prototype.readUint16LE = + v.prototype.readUInt16LE = + function (t, e) { + return ( + (t >>>= 0), + e || N(t, 2, this.length), + this[t] | (this[t + 1] << 8) + ); + }), + (v.prototype.readUint16BE = + v.prototype.readUInt16BE = + function (t, e) { + return ( + (t >>>= 0), + e || N(t, 2, this.length), + (this[t] << 8) | this[t + 1] + ); + }), + (v.prototype.readUint32LE = + v.prototype.readUInt32LE = + function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + (this[t] | + (this[t + 1] << 8) | + (this[t + 2] << 16)) + + 16777216 * this[t + 3] + ); + }), + (v.prototype.readUint32BE = + v.prototype.readUInt32BE = + function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + 16777216 * this[t] + + ((this[t + 1] << 16) | + (this[t + 2] << 8) | + this[t + 3]) + ); + }), + (v.prototype.readBigUInt64LE = at(function (t) { + J((t >>>= 0), "offset"); + var e = this[t], + r = this[t + 7]; + (void 0 !== e && void 0 !== r) || + K(t, this.length - 8); + var n = + e + + this[++t] * Math.pow(2, 8) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 24), + i = + this[++t] + + this[++t] * Math.pow(2, 8) + + this[++t] * Math.pow(2, 16) + + r * Math.pow(2, 24); + return BigInt(n) + (BigInt(i) << BigInt(32)); + })), + (v.prototype.readBigUInt64BE = at(function (t) { + J((t >>>= 0), "offset"); + var e = this[t], + r = this[t + 7]; + (void 0 !== e && void 0 !== r) || + K(t, this.length - 8); + var n = + e * Math.pow(2, 24) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 8) + + this[++t], + i = + this[++t] * Math.pow(2, 24) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 8) + + r; + return (BigInt(n) << BigInt(32)) + BigInt(i); + })), + (v.prototype.readIntLE = function (t, e, r) { + (t >>>= 0), + (e >>>= 0), + r || N(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 + ); + }), + (v.prototype.readIntBE = function (t, e, r) { + (t >>>= 0), + (e >>>= 0), + r || N(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 + ); + }), + (v.prototype.readInt8 = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 1, this.length), + 128 & this[t] + ? -1 * (255 - this[t] + 1) + : this[t] + ); + }), + (v.prototype.readInt16LE = function (t, e) { + (t >>>= 0), e || N(t, 2, this.length); + var r = this[t] | (this[t + 1] << 8); + return 32768 & r ? 4294901760 | r : r; + }), + (v.prototype.readInt16BE = function (t, e) { + (t >>>= 0), e || N(t, 2, this.length); + var r = this[t + 1] | (this[t] << 8); + return 32768 & r ? 4294901760 | r : r; + }), + (v.prototype.readInt32LE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + this[t] | + (this[t + 1] << 8) | + (this[t + 2] << 16) | + (this[t + 3] << 24) + ); + }), + (v.prototype.readInt32BE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + (this[t] << 24) | + (this[t + 1] << 16) | + (this[t + 2] << 8) | + this[t + 3] + ); + }), + (v.prototype.readBigInt64LE = at(function (t) { + J((t >>>= 0), "offset"); + var e = this[t], + r = this[t + 7]; + (void 0 !== e && void 0 !== r) || + K(t, this.length - 8); + var n = + this[t + 4] + + this[t + 5] * Math.pow(2, 8) + + this[t + 6] * Math.pow(2, 16) + + (r << 24); + return ( + (BigInt(n) << BigInt(32)) + + BigInt( + e + + this[++t] * Math.pow(2, 8) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 24), + ) + ); + })), + (v.prototype.readBigInt64BE = at(function (t) { + J((t >>>= 0), "offset"); + var e = this[t], + r = this[t + 7]; + (void 0 !== e && void 0 !== r) || + K(t, this.length - 8); + var n = + (e << 24) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 8) + + this[++t]; + return ( + (BigInt(n) << BigInt(32)) + + BigInt( + this[++t] * Math.pow(2, 24) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 8) + + r, + ) + ); + })), + (v.prototype.readFloatLE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + f.read(this, t, !0, 23, 4) + ); + }), + (v.prototype.readFloatBE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + f.read(this, t, !1, 23, 4) + ); + }), + (v.prototype.readDoubleLE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 8, this.length), + f.read(this, t, !0, 52, 8) + ); + }), + (v.prototype.readDoubleBE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 8, this.length), + f.read(this, t, !1, 52, 8) + ); + }), + (v.prototype.writeUintLE = + v.prototype.writeUIntLE = + function (t, e, r, n) { + (t = +t), + (e >>>= 0), + (r >>>= 0), + n || + j( + 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; + }), + (v.prototype.writeUintBE = + v.prototype.writeUIntBE = + function (t, e, r, n) { + (t = +t), + (e >>>= 0), + (r >>>= 0), + n || + j( + 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; + }), + (v.prototype.writeUint8 = + v.prototype.writeUInt8 = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 1, 255, 0), + (this[e] = 255 & t), + e + 1 + ); + }), + (v.prototype.writeUint16LE = + v.prototype.writeUInt16LE = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 2, 65535, 0), + (this[e] = 255 & t), + (this[e + 1] = t >>> 8), + e + 2 + ); + }), + (v.prototype.writeUint16BE = + v.prototype.writeUInt16BE = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 2, 65535, 0), + (this[e] = t >>> 8), + (this[e + 1] = 255 & t), + e + 2 + ); + }), + (v.prototype.writeUint32LE = + v.prototype.writeUInt32LE = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(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 + ); + }), + (v.prototype.writeUint32BE = + v.prototype.writeUInt32BE = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(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 + ); + }), + (v.prototype.writeBigUInt64LE = at( + function (t) { + var e = + arguments.length > 1 && + void 0 !== arguments[1] + ? arguments[1] + : 0; + return U( + this, + t, + e, + BigInt(0), + BigInt("0xffffffffffffffff"), + ); + }, + )), + (v.prototype.writeBigUInt64BE = at( + function (t) { + var e = + arguments.length > 1 && + void 0 !== arguments[1] + ? arguments[1] + : 0; + return V( + this, + t, + e, + BigInt(0), + BigInt("0xffffffffffffffff"), + ); + }, + )), + (v.prototype.writeIntLE = function ( + t, + e, + r, + n, + ) { + if (((t = +t), (e >>>= 0), !n)) { + var i = Math.pow(2, 8 * r - 1); + j(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; + }), + (v.prototype.writeIntBE = function ( + t, + e, + r, + n, + ) { + if (((t = +t), (e >>>= 0), !n)) { + var i = Math.pow(2, 8 * r - 1); + j(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; + }), + (v.prototype.writeInt8 = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 1, 127, -128), + t < 0 && (t = 255 + t + 1), + (this[e] = 255 & t), + e + 1 + ); + }), + (v.prototype.writeInt16LE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 2, 32767, -32768), + (this[e] = 255 & t), + (this[e + 1] = t >>> 8), + e + 2 + ); + }), + (v.prototype.writeInt16BE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 2, 32767, -32768), + (this[e] = t >>> 8), + (this[e + 1] = 255 & t), + e + 2 + ); + }), + (v.prototype.writeInt32LE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || + j(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 + ); + }), + (v.prototype.writeInt32BE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || + j(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 + ); + }), + (v.prototype.writeBigInt64LE = at(function (t) { + var e = + arguments.length > 1 && + void 0 !== arguments[1] + ? arguments[1] + : 0; + return U( + this, + t, + e, + -BigInt("0x8000000000000000"), + BigInt("0x7fffffffffffffff"), + ); + })), + (v.prototype.writeBigInt64BE = at(function (t) { + var e = + arguments.length > 1 && + void 0 !== arguments[1] + ? arguments[1] + : 0; + return V( + this, + t, + e, + -BigInt("0x8000000000000000"), + BigInt("0x7fffffffffffffff"), + ); + })), + (v.prototype.writeFloatLE = function (t, e, r) { + return q(this, t, e, !0, r); + }), + (v.prototype.writeFloatBE = function (t, e, r) { + return q(this, t, e, !1, r); + }), + (v.prototype.writeDoubleLE = function ( + t, + e, + r, + ) { + return G(this, t, e, !0, r); + }), + (v.prototype.writeDoubleBE = function ( + t, + e, + r, + ) { + return G(this, t, e, !1, r); + }), + (v.prototype.copy = function (t, e, r, n) { + if (!v.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; + return ( + this === t && + "function" == + typeof Uint8Array.prototype.copyWithin + ? this.copyWithin(e, r, n) + : Uint8Array.prototype.set.call( + t, + this.subarray(r, n), + e, + ), + i + ); + }), + (v.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 && + !v.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) + : "boolean" == typeof t && + (t = Number(t)); + 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 = v.isBuffer(t) ? t : v.from(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 Z = {}; + function Y(t, e, r) { + Z[t] = (function (r) { + !(function (t, e) { + if ("function" != typeof e && null !== e) + throw new TypeError( + "Super expression must either be null or a function", + ); + (t.prototype = Object.create( + e && e.prototype, + { + constructor: { + value: t, + writable: !0, + configurable: !0, + }, + }, + )), + Object.defineProperty(t, "prototype", { + writable: !1, + }), + e && a(t, e); + })(d, r); + var u, + c, + f, + h, + p = + ((f = d), + (h = (function () { + if ( + "undefined" == typeof Reflect || + !Reflect.construct + ) + return !1; + if (Reflect.construct.sham) return !1; + if ("function" == typeof Proxy) + return !0; + try { + return ( + Boolean.prototype.valueOf.call( + Reflect.construct( + Boolean, + [], + function () {}, + ), + ), + !0 + ); + } catch (t) { + return !1; + } + })()), + function () { + var t, + e = l(f); + if (h) { + var r = l(this).constructor; + t = Reflect.construct( + e, + arguments, + r, + ); + } else t = e.apply(this, arguments); + return o(this, t); + }); + function d() { + var r; + return ( + n(this, d), + (r = p.call(this)), + Object.defineProperty(s(r), "message", { + value: e.apply(s(r), arguments), + writable: !0, + configurable: !0, + }), + (r.name = "" + .concat(r.name, " [") + .concat(t, "]")), + r.stack, + delete r.name, + r + ); + } + return ( + (u = d), + (c = [ + { + key: "code", + get: function () { + return t; + }, + set: function (t) { + Object.defineProperty(this, "code", { + configurable: !0, + enumerable: !0, + value: t, + writable: !0, + }); + }, + }, + { + key: "toString", + value: function () { + return "" + .concat(this.name, " [") + .concat(t, "]: ") + .concat(this.message); + }, + }, + ]) && i(u.prototype, c), + Object.defineProperty(u, "prototype", { + writable: !1, + }), + d + ); + })(r); + } + function W(t) { + for ( + var e = "", + r = t.length, + n = "-" === t[0] ? 1 : 0; + r >= n + 4; + r -= 3 + ) + e = "_".concat(t.slice(r - 3, r)).concat(e); + return "".concat(t.slice(0, r)).concat(e); + } + function X(t, e, r, n, i, a) { + if (t > r || t < e) { + var o, + s = "bigint" == typeof e ? "n" : ""; + throw ( + ((o = + a > 3 + ? 0 === e || e === BigInt(0) + ? ">= 0" + .concat(s, " and < 2") + .concat(s, " ** ") + .concat(8 * (a + 1)) + .concat(s) + : ">= -(2" + .concat(s, " ** ") + .concat(8 * (a + 1) - 1) + .concat(s, ") and < 2 ** ") + + "".concat(8 * (a + 1) - 1).concat(s) + : ">= " + .concat(e) + .concat(s, " and <= ") + .concat(r) + .concat(s)), + new Z.ERR_OUT_OF_RANGE("value", o, t)) + ); + } + !(function (t, e, r) { + J(e, "offset"), + (void 0 !== t[e] && void 0 !== t[e + r]) || + K(e, t.length - (r + 1)); + })(n, i, a); + } + function J(t, e) { + if ("number" != typeof t) + throw new Z.ERR_INVALID_ARG_TYPE( + e, + "number", + t, + ); + } + function K(t, e, r) { + if (Math.floor(t) !== t) + throw ( + (J(t, r), + new Z.ERR_OUT_OF_RANGE( + r || "offset", + "an integer", + t, + )) + ); + if (e < 0) + throw new Z.ERR_BUFFER_OUT_OF_BOUNDS(); + throw new Z.ERR_OUT_OF_RANGE( + r || "offset", + ">= ".concat(r ? 1 : 0, " and <= ").concat(e), + t, + ); + } + Y( + "ERR_BUFFER_OUT_OF_BOUNDS", + function (t) { + return t + ? "".concat( + t, + " is outside of buffer bounds", + ) + : "Attempt to access memory outside buffer bounds"; + }, + RangeError, + ), + Y( + "ERR_INVALID_ARG_TYPE", + function (t, e) { + return 'The "' + .concat( + t, + '" argument must be of type number. Received type ', + ) + .concat(u(e)); + }, + TypeError, + ), + Y( + "ERR_OUT_OF_RANGE", + function (t, e, r) { + var n = 'The value of "'.concat( + t, + '" is out of range.', + ), + i = r; + return ( + Number.isInteger(r) && + Math.abs(r) > Math.pow(2, 32) + ? (i = W(String(r))) + : "bigint" == typeof r && + ((i = String(r)), + (r > + Math.pow(BigInt(2), BigInt(32)) || + r < + -Math.pow( + BigInt(2), + BigInt(32), + )) && + (i = W(i)), + (i += "n")), + n + + " It must be " + .concat(e, ". Received ") + .concat(i) + ); + }, + RangeError, + ); + var $ = /[^+/0-9A-Za-z-_]/g; + function Q(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 tt(t) { + return c.toByteArray( + (function (t) { + if ( + (t = (t = t.split("=")[0]) + .trim() + .replace($, "")).length < 2 + ) + return ""; + for (; t.length % 4 != 0; ) t += "="; + return t; + })(t), + ); + } + function et(t, e, r, n) { + var i; + for ( + i = 0; + i < n && + !(i + r >= e.length || i >= t.length); + ++i + ) + e[i + r] = t[i]; + return i; + } + function rt(t, e) { + return ( + t instanceof e || + (null != t && + null != t.constructor && + null != t.constructor.name && + t.constructor.name === e.name) + ); + } + function nt(t) { + return t != t; + } + var it = (function () { + for ( + var t = "0123456789abcdef", + e = new Array(256), + r = 0; + r < 16; + ++r + ) + for (var n = 16 * r, i = 0; i < 16; ++i) + e[n + i] = t[r] + t[i]; + return e; + })(); + function at(t) { + return "undefined" == typeof BigInt ? ot : t; + } + function ot() { + throw new Error("BigInt not supported"); + } + }, + 2321: function (t) { + "use strict"; + (t.exports = i), + (t.exports.isMobile = i), + (t.exports.default = i); + var e = + /(android|bb\d+|meego).+mobile|armv7l|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[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i, + r = /CrOS/, + n = /android|ipad|playbook|silk/i; + function i(t) { + t || (t = {}); + var i = t.ua; + if ( + (i || + "undefined" == typeof navigator || + (i = navigator.userAgent), + i && + i.headers && + "string" == + typeof i.headers["user-agent"] && + (i = i.headers["user-agent"]), + "string" != typeof i) + ) + return !1; + var a = + (e.test(i) && !r.test(i)) || + (!!t.tablet && n.test(i)); + return ( + !a && + t.tablet && + t.featureDetect && + navigator && + navigator.maxTouchPoints > 1 && + -1 !== i.indexOf("Macintosh") && + -1 !== i.indexOf("Safari") && + (a = !0), + a + ); + } + }, + 3910: function (t, e) { + "use strict"; + (e.byteLength = function (t) { + var e = l(t), + r = e[0], + n = e[1]; + return (3 * (r + n)) / 4 - n; + }), + (e.toByteArray = function (t) { + var e, + r, + a = l(t), + o = a[0], + s = a[1], + u = new i( + (function (t, e, r) { + return (3 * (e + r)) / 4 - r; + })(0, o, s), + ), + c = 0, + f = s > 0 ? o - 4 : o; + for (r = 0; r < f; r += 4) + (e = + (n[t.charCodeAt(r)] << 18) | + (n[t.charCodeAt(r + 1)] << 12) | + (n[t.charCodeAt(r + 2)] << 6) | + n[t.charCodeAt(r + 3)]), + (u[c++] = (e >> 16) & 255), + (u[c++] = (e >> 8) & 255), + (u[c++] = 255 & e); + return ( + 2 === s && + ((e = + (n[t.charCodeAt(r)] << 2) | + (n[t.charCodeAt(r + 1)] >> 4)), + (u[c++] = 255 & e)), + 1 === s && + ((e = + (n[t.charCodeAt(r)] << 10) | + (n[t.charCodeAt(r + 1)] << 4) | + (n[t.charCodeAt(r + 2)] >> 2)), + (u[c++] = (e >> 8) & 255), + (u[c++] = 255 & e)), + u + ); + }), + (e.fromByteArray = function (t) { + for ( + var e, + n = t.length, + i = n % 3, + a = [], + o = 16383, + s = 0, + l = n - i; + s < l; + s += o + ) + a.push(u(t, s, s + o > l ? l : s + o)); + return ( + 1 === i + ? ((e = t[n - 1]), + a.push( + r[e >> 2] + r[(e << 4) & 63] + "==", + )) + : 2 === i && + ((e = (t[n - 2] << 8) + t[n - 1]), + a.push( + r[e >> 10] + + r[(e >> 4) & 63] + + r[(e << 2) & 63] + + "=", + )), + a.join("") + ); + }); + for ( + var r = [], + n = [], + i = + "undefined" != typeof Uint8Array + ? Uint8Array + : Array, + a = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", + o = 0, + s = a.length; + o < s; + ++o + ) + (r[o] = a[o]), (n[a.charCodeAt(o)] = o); + function l(t) { + var e = t.length; + if (e % 4 > 0) + throw new Error( + "Invalid string. Length must be a multiple of 4", + ); + var r = t.indexOf("="); + return ( + -1 === r && (r = e), + [r, r === e ? 0 : 4 - (r % 4)] + ); + } + function u(t, e, n) { + for (var i, a, o = [], s = e; s < n; s += 3) + (i = + ((t[s] << 16) & 16711680) + + ((t[s + 1] << 8) & 65280) + + (255 & t[s + 2])), + o.push( + r[((a = i) >> 18) & 63] + + r[(a >> 12) & 63] + + r[(a >> 6) & 63] + + r[63 & a], + ); + return o.join(""); + } + (n["-".charCodeAt(0)] = 62), + (n["_".charCodeAt(0)] = 63); + }, + 3187: function (t, e) { + (e.read = function (t, e, r, n, i) { + var a, + o, + s = 8 * i - n - 1, + l = (1 << s) - 1, + u = l >> 1, + c = -7, + f = r ? i - 1 : 0, + h = r ? -1 : 1, + p = t[e + f]; + for ( + f += h, + a = p & ((1 << -c) - 1), + p >>= -c, + c += s; + c > 0; + a = 256 * a + t[e + f], f += h, c -= 8 + ); + for ( + o = a & ((1 << -c) - 1), a >>= -c, c += n; + c > 0; + o = 256 * o + t[e + f], f += h, 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); + }), + (e.write = function (t, e, r, n, i, a) { + var o, + s, + l, + u = 8 * a - i - 1, + c = (1 << u) - 1, + f = c >> 1, + h = + 23 === i + ? Math.pow(2, -24) - Math.pow(2, -77) + : 0, + p = n ? 0 : a - 1, + d = n ? 1 : -1, + v = 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 + f >= 1 + ? h / l + : h * Math.pow(2, 1 - f)) * + l >= + 2 && (o++, (l /= 2)), + o + f >= c + ? ((s = 0), (o = c)) + : o + f >= 1 + ? ((s = + (e * l - 1) * Math.pow(2, i)), + (o += f)) + : ((s = + e * + Math.pow(2, f - 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 * v; + }); + }, + 1152: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = (t = t || {}).eye || [0, 0, 1], + r = t.center || [0, 0, 0], + s = t.up || [0, 1, 0], + l = t.distanceLimits || [0, 1 / 0], + u = t.mode || "turntable", + c = n(), + f = i(), + h = a(); + return ( + c.setDistanceLimits(l[0], l[1]), + c.lookAt(0, e, r, s), + f.setDistanceLimits(l[0], l[1]), + f.lookAt(0, e, r, s), + h.setDistanceLimits(l[0], l[1]), + h.lookAt(0, e, r, s), + new o( + { turntable: c, orbit: f, matrix: h }, + u, + ) + ); + }; + var n = r(3440), + i = r(7774), + a = r(9298); + function o(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 s = o.prototype; + (s.flush = function (t) { + for ( + var e = this._controllerList, r = 0; + r < e.length; + ++r + ) + e[r].flush(t); + }), + (s.idle = function (t) { + for ( + var e = this._controllerList, r = 0; + r < e.length; + ++r + ) + e[r].idle(t); + }), + (s.lookAt = function (t, e, r, n) { + for ( + var i = this._controllerList, a = 0; + a < i.length; + ++a + ) + i[a].lookAt(t, e, r, n); + }), + (s.rotate = function (t, e, r, n) { + for ( + var i = this._controllerList, a = 0; + a < i.length; + ++a + ) + i[a].rotate(t, e, r, n); + }), + (s.pan = function (t, e, r, n) { + for ( + var i = this._controllerList, a = 0; + a < i.length; + ++a + ) + i[a].pan(t, e, r, n); + }), + (s.translate = function (t, e, r, n) { + for ( + var i = this._controllerList, a = 0; + a < i.length; + ++a + ) + i[a].translate(t, e, r, n); + }), + (s.setMatrix = function (t, e) { + for ( + var r = this._controllerList, n = 0; + n < r.length; + ++n + ) + r[n].setMatrix(t, e); + }), + (s.setDistanceLimits = function (t, e) { + for ( + var r = this._controllerList, n = 0; + n < r.length; + ++n + ) + r[n].setDistanceLimits(t, e); + }), + (s.setDistance = function (t, e) { + for ( + var r = this._controllerList, n = 0; + n < r.length; + ++n + ) + r[n].setDistance(t, e); + }), + (s.recalcMatrix = function (t) { + this._active.recalcMatrix(t); + }), + (s.getDistance = function (t) { + return this._active.getDistance(t); + }), + (s.getDistanceLimits = function (t) { + return this._active.getDistanceLimits(t); + }), + (s.lastT = function () { + return this._active.lastT(); + }), + (s.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); + } + } + }), + (s.getMode = function () { + return this._mode; + }); + }, + 8126: function (t, e, r) { + "use strict"; + var n = + "undefined" == typeof WeakMap + ? r(5346) + : WeakMap, + i = r(5827), + a = r(2944), + o = new n(); + t.exports = function (t) { + var e = o.get(t), + r = + e && + (e._triangleBuffer.handle || + e._triangleBuffer.buffer); + if (!r || !t.isBuffer(r)) { + var n = i( + t, + new Float32Array([-1, -1, -1, 4, 4, -1]), + ); + ((e = a(t, [ + { buffer: n, type: t.FLOAT, size: 2 }, + ]))._triangleBuffer = n), + o.set(t, e); + } + e.bind(), + t.drawArrays(t.TRIANGLES, 0, 3), + e.unbind(); + }; + }, + 8008: function (t, e, r) { + var n = r(4930); + t.exports = function (t, e, r) { + (e = "number" == typeof e ? e : 1), + (r = r || ": "); + var i = t.split(/\r?\n/), + a = String(i.length + e - 1).length; + return i + .map(function (t, i) { + var o = i + e, + s = String(o).length; + return n(o, a - s) + r + t; + }) + .join("\n"); + }; + }, + 2153: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.length; + if (0 === e) return []; + if (1 === e) return [0]; + for ( + var r = t[0].length, + n = [t[0]], + a = [0], + o = 1; + o < e; + ++o + ) + if ((n.push(t[o]), i(n, r))) { + if ((a.push(o), a.length === r + 1)) + return a; + } else n.pop(); + return a; + }; + var n = r(417); + function i(t, e) { + for ( + var r = new Array(e + 1), i = 0; + i < t.length; + ++i + ) + r[i] = t[i]; + for (i = 0; i <= t.length; ++i) { + for (var a = t.length; a <= e; ++a) { + for ( + var o = new Array(e), s = 0; + s < e; + ++s + ) + o[s] = Math.pow(a + 1 - i, s); + r[a] = o; + } + if (n.apply(void 0, r)) return !0; + } + return !1; + } + }, + 4653: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + return n(e).filter(function (r) { + for ( + var n = new Array(r.length), a = 0; + a < r.length; + ++a + ) + n[a] = e[r[a]]; + return i(n) * t < 1; + }); + }; + var n = r(4419), + i = r(1778); + }, + 2350: function (t, e, r) { + t.exports = function (t, e) { + return i(n(t, e)); + }; + var n = r(4653), + i = r(8691); + }, + 7896: function (t) { + t.exports = function (t) { + return atob(t); + }; + }, + 957: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + for ( + var r = e.length, a = new Array(r + 1), o = 0; + o < r; + ++o + ) { + for ( + var s = new Array(r + 1), l = 0; + l <= r; + ++l + ) + s[l] = t[l][o]; + a[o] = s; + } + for ( + a[r] = new Array(r + 1), o = 0; + o <= r; + ++o + ) + a[r][o] = 1; + var u = new Array(r + 1); + for (o = 0; o < r; ++o) u[o] = e[o]; + u[r] = 1; + var c = n(a, u), + f = i(c[r + 1]); + 0 === f && (f = 1); + var h = new Array(r + 1); + for (o = 0; o <= r; ++o) h[o] = i(c[o]) / f; + return h; + }; + var n = r(6606); + function i(t) { + for (var e = 0, r = 0; r < t.length; ++r) + e += t[r]; + return e; + } + }, + 1539: function (t, e, r) { + "use strict"; + var n = r(8524); + t.exports = function (t, e) { + return n( + t[0].mul(e[1]).add(e[0].mul(t[1])), + t[1].mul(e[1]), + ); + }; + }, + 8846: function (t) { + "use strict"; + t.exports = function (t, e) { + return t[0].mul(e[1]).cmp(e[0].mul(t[1])); + }; + }, + 9189: function (t, e, r) { + "use strict"; + var n = r(8524); + t.exports = function (t, e) { + return n(t[0].mul(e[1]), t[1].mul(e[0])); + }; + }, + 5125: function (t, e, r) { + "use strict"; + var n = r(234), + i = r(3218), + a = r(5514), + o = r(2813), + s = r(8524), + l = r(9189); + t.exports = function t(e, r) { + if (n(e)) + return r + ? l(e, t(r)) + : [e[0].clone(), e[1].clone()]; + var u, + c, + f = 0; + if (i(e)) u = e.clone(); + else if ("string" == typeof e) u = o(e); + else { + if (0 === e) return [a(0), a(1)]; + if (e === Math.floor(e)) u = a(e); + else { + for (; e !== Math.floor(e); ) + (e *= Math.pow(2, 256)), (f -= 256); + u = a(e); + } + } + if (n(r)) u.mul(r[1]), (c = r[0].clone()); + else if (i(r)) c = r.clone(); + else if ("string" == typeof r) c = o(r); + else if (r) + if (r === Math.floor(r)) c = a(r); + else { + for (; r !== Math.floor(r); ) + (r *= Math.pow(2, 256)), (f += 256); + c = a(r); + } + else c = a(1); + return ( + f > 0 + ? (u = u.ushln(f)) + : f < 0 && (c = c.ushln(-f)), + s(u, c) + ); + }; + }, + 234: function (t, e, r) { + "use strict"; + var n = r(3218); + t.exports = function (t) { + return ( + Array.isArray(t) && + 2 === t.length && + n(t[0]) && + n(t[1]) + ); + }; + }, + 4275: function (t, e, r) { + "use strict"; + var n = r(1928); + t.exports = function (t) { + return t.cmp(new n(0)); + }; + }, + 9958: function (t, e, r) { + "use strict"; + var n = r(4275); + t.exports = function (t) { + var e = t.length, + r = t.words, + i = 0; + if (1 === e) i = r[0]; + else if (2 === e) i = r[0] + 67108864 * r[1]; + else + for (var a = 0; a < e; a++) { + i += r[a] * Math.pow(67108864, a); + } + return n(t) * i; + }; + }, + 1112: function (t, e, r) { + "use strict"; + var n = r(8362), + i = r(2288).countTrailingZeros; + t.exports = function (t) { + var e = i(n.lo(t)); + if (e < 32) return e; + var r = i(n.hi(t)); + return r > 20 ? 52 : r + 32; + }; + }, + 3218: function (t, e, r) { + "use strict"; + r(1928), + (t.exports = function (t) { + return ( + t && + "object" == typeof t && + Boolean(t.words) + ); + }); + }, + 5514: function (t, e, r) { + "use strict"; + var n = r(1928), + i = r(8362); + t.exports = function (t) { + var e = i.exponent(t); + return e < 52 + ? new n(t) + : new n(t * Math.pow(2, 52 - e)).ushln( + e - 52, + ); + }; + }, + 8524: function (t, e, r) { + "use strict"; + var n = r(5514), + i = r(4275); + t.exports = function (t, e) { + var r = i(t), + a = i(e); + if (0 === r) return [n(0), n(1)]; + if (0 === a) return [n(0), n(0)]; + a < 0 && ((t = t.neg()), (e = e.neg())); + var o = t.gcd(e); + return o.cmpn(1) + ? [t.div(o), e.div(o)] + : [t, e]; + }; + }, + 2813: function (t, e, r) { + "use strict"; + var n = r(1928); + t.exports = function (t) { + return new n(t); + }; + }, + 3962: function (t, e, r) { + "use strict"; + var n = r(8524); + t.exports = function (t, e) { + return n(t[0].mul(e[0]), t[1].mul(e[1])); + }; + }, + 4951: function (t, e, r) { + "use strict"; + var n = r(4275); + t.exports = function (t) { + return n(t[0]) * n(t[1]); + }; + }, + 4354: function (t, e, r) { + "use strict"; + var n = r(8524); + t.exports = function (t, e) { + return n( + t[0].mul(e[1]).sub(t[1].mul(e[0])), + t[1].mul(e[1]), + ); + }; + }, + 7999: function (t, e, r) { + "use strict"; + var n = r(9958), + i = r(1112); + t.exports = function (t) { + var e = t[0], + r = t[1]; + if (0 === e.cmpn(0)) return 0; + var a = e.abs().divmod(r.abs()), + o = a.div, + s = n(o), + l = a.mod, + u = e.negative !== r.negative ? -1 : 1; + if (0 === l.cmpn(0)) return u * s; + if (s) { + var c = i(s) + 4, + f = n(l.ushln(c).divRound(r)); + return u * (s + f * Math.pow(2, -c)); + } + var h = r.bitLength() - l.bitLength() + 53; + return ( + (f = n(l.ushln(h).divRound(r))), + h < 1023 + ? u * f * Math.pow(2, -h) + : u * + (f *= Math.pow(2, -1023)) * + Math.pow(2, 1023 - h) + ); + }; + }, + 5070: function (t) { + "use strict"; + function e(t, e, r, n, i) { + for (var a = i + 1; n <= i; ) { + var o = (n + i) >>> 1, + s = t[o]; + (void 0 !== r ? r(s, e) : s - e) >= 0 + ? ((a = o), (i = o - 1)) + : (n = o + 1); + } + return a; + } + function r(t, e, r, n, i) { + for (var a = i + 1; n <= i; ) { + var o = (n + i) >>> 1, + s = t[o]; + (void 0 !== r ? r(s, e) : s - e) > 0 + ? ((a = o), (i = o - 1)) + : (n = o + 1); + } + return a; + } + function n(t, e, r, n, i) { + for (var a = n - 1; n <= i; ) { + var o = (n + i) >>> 1, + s = t[o]; + (void 0 !== r ? r(s, e) : s - e) < 0 + ? ((a = o), (n = o + 1)) + : (i = o - 1); + } + return a; + } + function i(t, e, r, n, i) { + for (var a = n - 1; n <= i; ) { + var o = (n + i) >>> 1, + s = t[o]; + (void 0 !== r ? r(s, e) : s - e) <= 0 + ? ((a = o), (n = o + 1)) + : (i = o - 1); + } + return a; + } + function a(t, e, r, n, i) { + for (; n <= i; ) { + var a = (n + i) >>> 1, + o = t[a], + s = void 0 !== r ? r(o, e) : o - e; + if (0 === s) return a; + s <= 0 ? (n = a + 1) : (i = a - 1); + } + return -1; + } + function o(t, e, r, n, i, a) { + return "function" == typeof r + ? a( + t, + e, + r, + void 0 === n ? 0 : 0 | n, + void 0 === i ? t.length - 1 : 0 | i, + ) + : a( + t, + e, + void 0, + void 0 === r ? 0 : 0 | r, + void 0 === n ? t.length - 1 : 0 | n, + ); + } + t.exports = { + ge: function (t, r, n, i, a) { + return o(t, r, n, i, a, e); + }, + gt: function (t, e, n, i, a) { + return o(t, e, n, i, a, r); + }, + lt: function (t, e, r, i, a) { + return o(t, e, r, i, a, n); + }, + le: function (t, e, r, n, a) { + return o(t, e, r, n, a, i); + }, + eq: function (t, e, r, n, i) { + return o(t, e, r, n, i, a); + }, + }; + }, + 2288: function (t, e) { + "use strict"; + function r(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 + ); + } + (e.INT_BITS = 32), + (e.INT_MAX = 2147483647), + (e.INT_MIN = -1 << 31), + (e.sign = function (t) { + return (t > 0) - (t < 0); + }), + (e.abs = function (t) { + var e = t >> 31; + return (t ^ e) - e; + }), + (e.min = function (t, e) { + return e ^ ((t ^ e) & -(t < e)); + }), + (e.max = function (t, e) { + return t ^ ((t ^ e) & -(t < e)); + }), + (e.isPow2 = function (t) { + return !(t & (t - 1) || !t); + }), + (e.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) + ); + }), + (e.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; + }), + (e.popCount = function (t) { + return ( + (16843009 * + (((t = + (858993459 & + (t -= (t >>> 1) & 1431655765)) + + ((t >>> 2) & 858993459)) + + (t >>> 4)) & + 252645135)) >>> + 24 + ); + }), + (e.countTrailingZeros = r), + (e.nextPow2 = function (t) { + return ( + (t += 0 === t), + --t, + (t |= t >>> 1), + (t |= t >>> 2), + (t |= t >>> 4), + 1 + ((t |= t >>> 8) | (t >>> 16)) + ); + }), + (e.prevPow2 = function (t) { + return ( + (t |= t >>> 1), + (t |= t >>> 2), + (t |= t >>> 4), + (t |= t >>> 8), + (t |= t >>> 16) - (t >>> 1) + ); + }), + (e.parity = function (t) { + return ( + (t ^= t >>> 16), + (t ^= t >>> 8), + (t ^= t >>> 4), + (27030 >>> (t &= 15)) & 1 + ); + }); + var n = 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; + } + })(n), + (e.reverse = function (t) { + return ( + (n[255 & t] << 24) | + (n[(t >>> 8) & 255] << 16) | + (n[(t >>> 16) & 255] << 8) | + n[(t >>> 24) & 255] + ); + }), + (e.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) + ); + }), + (e.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 + ); + }), + (e.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) + ); + }), + (e.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 + ); + }), + (e.nextCombination = function (t) { + var e = t | (t - 1); + return ( + (e + 1) | (((~e & -~e) - 1) >>> (r(t) + 1)) + ); + }); + }, + 1928: function (t, e, r) { + !(function (t, e) { + "use strict"; + function n(t, e) { + if (!t) + throw new Error(e || "Assertion failed"); + } + function i(t, e) { + t.super_ = e; + var r = function () {}; + (r.prototype = e.prototype), + (t.prototype = new r()), + (t.prototype.constructor = t); + } + function a(t, e, r) { + if (a.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 o; + "object" == typeof t + ? (t.exports = a) + : (e.BN = a), + (a.BN = a), + (a.wordSize = 26); + try { + o = + "undefined" != typeof window && + void 0 !== window.Buffer + ? window.Buffer + : r(6601).Buffer; + } catch (t) {} + function s(t, e) { + var r = t.charCodeAt(e); + return r >= 65 && r <= 70 + ? r - 55 + : r >= 97 && r <= 102 + ? r - 87 + : (r - 48) & 15; + } + function l(t, e, r) { + var n = s(t, r); + return ( + r - 1 >= e && (n |= s(t, r - 1) << 4), n + ); + } + function u(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; + } + (a.isBN = function (t) { + return ( + t instanceof a || + (null !== t && + "object" == typeof t && + t.constructor.wordSize === a.wordSize && + Array.isArray(t.words)) + ); + }), + (a.max = function (t, e) { + return t.cmp(e) > 0 ? t : e; + }), + (a.min = function (t, e) { + return t.cmp(e) < 0 ? t : e; + }), + (a.prototype._init = function (t, e, r) { + if ("number" == typeof t) + return this._initNumber(t, e, r); + if ("object" == typeof t) + return this._initArray(t, e, r); + "hex" === e && (e = 16), + n(e === (0 | e) && e >= 2 && e <= 36); + var i = 0; + "-" === + (t = t + .toString() + .replace(/\s+/g, ""))[0] && + (i++, (this.negative = 1)), + i < t.length && + (16 === e + ? this._parseHex(t, i, r) + : (this._parseBase(t, e, i), + "le" === r && + this._initArray( + this.toArray(), + e, + r, + ))); + }), + (a.prototype._initNumber = function ( + t, + e, + r, + ) { + 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)) + : (n(t < 9007199254740992), + (this.words = [ + 67108863 & t, + (t / 67108864) & 67108863, + 1, + ]), + (this.length = 3)), + "le" === r && + this._initArray(this.toArray(), e, r); + }), + (a.prototype._initArray = function (t, e, r) { + if ( + (n("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" === r) + 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" === r) + 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(); + }), + (a.prototype._parseHex = function (t, e, r) { + (this.length = Math.ceil( + (t.length - e) / 6, + )), + (this.words = new Array(this.length)); + for (var n = 0; n < this.length; n++) + this.words[n] = 0; + var i, + a = 0, + o = 0; + if ("be" === r) + for (n = t.length - 1; n >= e; n -= 2) + (i = l(t, e, n) << a), + (this.words[o] |= 67108863 & i), + a >= 18 + ? ((a -= 18), + (o += 1), + (this.words[o] |= i >>> 26)) + : (a += 8); + else + for ( + n = (t.length - e) % 2 == 0 ? e + 1 : e; + n < t.length; + n += 2 + ) + (i = l(t, e, n) << a), + (this.words[o] |= 67108863 & i), + a >= 18 + ? ((a -= 18), + (o += 1), + (this.words[o] |= i >>> 26)) + : (a += 8); + this.strip(); + }), + (a.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, + s = Math.min(a, a - o) + r, + l = 0, + c = r; + c < s; + c += n + ) + (l = u(t, c, c + n, e)), + this.imuln(i), + this.words[0] + l < 67108864 + ? (this.words[0] += l) + : this._iaddn(l); + if (0 !== o) { + var f = 1; + for ( + l = u(t, c, t.length, e), c = 0; + c < o; + c++ + ) + f *= e; + this.imuln(f), + this.words[0] + l < 67108864 + ? (this.words[0] += l) + : this._iaddn(l); + } + this.strip(); + }), + (a.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); + }), + (a.prototype.clone = function () { + var t = new a(null); + return this.copy(t), t; + }), + (a.prototype._expand = function (t) { + for (; this.length < t; ) + this.words[this.length++] = 0; + return this; + }), + (a.prototype.strip = function () { + for ( + ; + this.length > 1 && + 0 === this.words[this.length - 1]; + + ) + this.length--; + return this._normSign(); + }), + (a.prototype._normSign = function () { + return ( + 1 === this.length && + 0 === this.words[0] && + (this.negative = 0), + this + ); + }), + (a.prototype.inspect = function () { + return ( + (this.red ? "" + ); + }); + var c = [ + "", + "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", + ], + f = [ + 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, + ], + h = [ + 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 p(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, + f = 67108863 & l, + h = Math.min(u, e.length - 1), + p = Math.max(0, u - t.length + 1); + p <= h; + p++ + ) { + var d = (u - p) | 0; + (c += + ((o = + (i = 0 | t.words[d]) * + (a = 0 | e.words[p]) + + f) / + 67108864) | + 0), + (f = 67108863 & o); + } + (r.words[u] = 0 | f), (l = 0 | c); + } + return ( + 0 !== l ? (r.words[u] = 0 | l) : r.length--, + r.strip() + ); + } + (a.prototype.toString = function (t, e) { + var r; + if ( + ((e = 0 | e || 1), + 16 === (t = t || 10) || "hex" === t) + ) { + r = ""; + for ( + var i = 0, a = 0, o = 0; + o < this.length; + o++ + ) { + var s = this.words[o], + l = ( + 16777215 & + ((s << i) | a) + ).toString(16); + (r = + 0 != + (a = (s >>> (24 - i)) & 16777215) || + o !== this.length - 1 + ? c[6 - l.length] + l + r + : l + r), + (i += 2) >= 26 && ((i -= 26), o--); + } + for ( + 0 !== a && (r = a.toString(16) + r); + r.length % e != 0; + + ) + r = "0" + r; + return ( + 0 !== this.negative && (r = "-" + r), r + ); + } + if (t === (0 | t) && t >= 2 && t <= 36) { + var u = f[t], + p = h[t]; + r = ""; + var d = this.clone(); + for (d.negative = 0; !d.isZero(); ) { + var v = d.modn(p).toString(t); + r = (d = d.idivn(p)).isZero() + ? v + r + : c[u - v.length] + v + r; + } + for ( + this.isZero() && (r = "0" + r); + r.length % e != 0; + + ) + r = "0" + r; + return ( + 0 !== this.negative && (r = "-" + r), r + ); + } + n(!1, "Base should be between 2 and 36"); + }), + (a.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 && + n( + !1, + "Number can only safely store up to 53 bits", + ), + 0 !== this.negative ? -t : t + ); + }), + (a.prototype.toJSON = function () { + return this.toString(16); + }), + (a.prototype.toBuffer = function (t, e) { + return ( + n(void 0 !== o), this.toArrayLike(o, t, e) + ); + }), + (a.prototype.toArray = function (t, e) { + return this.toArrayLike(Array, t, e); + }), + (a.prototype.toArrayLike = function ( + t, + e, + r, + ) { + var i = this.byteLength(), + a = r || Math.max(1, i); + n( + i <= a, + "byte array longer than desired length", + ), + n(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 + ? (a.prototype._countBits = function (t) { + return 32 - Math.clz32(t); + }) + : (a.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 + ); + }), + (a.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 + ); + }), + (a.prototype.bitLength = function () { + var t = this.words[this.length - 1], + e = this._countBits(t); + return 26 * (this.length - 1) + e; + }), + (a.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; + }), + (a.prototype.byteLength = function () { + return Math.ceil(this.bitLength() / 8); + }), + (a.prototype.toTwos = function (t) { + return 0 !== this.negative + ? this.abs().inotn(t).iaddn(1) + : this.clone(); + }), + (a.prototype.fromTwos = function (t) { + return this.testn(t - 1) + ? this.notn(t).iaddn(1).ineg() + : this.clone(); + }), + (a.prototype.isNeg = function () { + return 0 !== this.negative; + }), + (a.prototype.neg = function () { + return this.clone().ineg(); + }), + (a.prototype.ineg = function () { + return ( + this.isZero() || (this.negative ^= 1), + this + ); + }), + (a.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(); + }), + (a.prototype.ior = function (t) { + return ( + n(0 == (this.negative | t.negative)), + this.iuor(t) + ); + }), + (a.prototype.or = function (t) { + return this.length > t.length + ? this.clone().ior(t) + : t.clone().ior(this); + }), + (a.prototype.uor = function (t) { + return this.length > t.length + ? this.clone().iuor(t) + : t.clone().iuor(this); + }), + (a.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() + ); + }), + (a.prototype.iand = function (t) { + return ( + n(0 == (this.negative | t.negative)), + this.iuand(t) + ); + }), + (a.prototype.and = function (t) { + return this.length > t.length + ? this.clone().iand(t) + : t.clone().iand(this); + }), + (a.prototype.uand = function (t) { + return this.length > t.length + ? this.clone().iuand(t) + : t.clone().iuand(this); + }), + (a.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() + ); + }), + (a.prototype.ixor = function (t) { + return ( + n(0 == (this.negative | t.negative)), + this.iuxor(t) + ); + }), + (a.prototype.xor = function (t) { + return this.length > t.length + ? this.clone().ixor(t) + : t.clone().ixor(this); + }), + (a.prototype.uxor = function (t) { + return this.length > t.length + ? this.clone().iuxor(t) + : t.clone().iuxor(this); + }), + (a.prototype.inotn = function (t) { + n("number" == typeof t && t >= 0); + var e = 0 | Math.ceil(t / 26), + r = t % 26; + this._expand(e), r > 0 && e--; + for (var i = 0; i < e; i++) + this.words[i] = 67108863 & ~this.words[i]; + return ( + r > 0 && + (this.words[i] = + ~this.words[i] & + (67108863 >> (26 - r))), + this.strip() + ); + }), + (a.prototype.notn = function (t) { + return this.clone().inotn(t); + }), + (a.prototype.setn = function (t, e) { + n("number" == typeof t && t >= 0); + var r = (t / 26) | 0, + i = t % 26; + return ( + this._expand(r + 1), + (this.words[r] = e + ? this.words[r] | (1 << i) + : this.words[r] & ~(1 << i)), + this.strip() + ); + }), + (a.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; + }), + (a.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); + }), + (a.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() + ); + }), + (a.prototype.sub = function (t) { + return this.clone().isub(t); + }); + var d = function (t, e, r) { + var n, + i, + a, + o = t.words, + s = e.words, + l = r.words, + u = 0, + c = 0 | o[0], + f = 8191 & c, + h = c >>> 13, + p = 0 | o[1], + d = 8191 & p, + v = p >>> 13, + g = 0 | o[2], + y = 8191 & g, + m = g >>> 13, + x = 0 | o[3], + b = 8191 & x, + _ = x >>> 13, + w = 0 | o[4], + T = 8191 & w, + k = w >>> 13, + A = 0 | o[5], + M = 8191 & A, + S = A >>> 13, + E = 0 | o[6], + L = 8191 & E, + C = E >>> 13, + P = 0 | o[7], + O = 8191 & P, + I = P >>> 13, + D = 0 | o[8], + z = 8191 & D, + R = D >>> 13, + F = 0 | o[9], + B = 8191 & F, + N = F >>> 13, + j = 0 | s[0], + U = 8191 & j, + V = j >>> 13, + H = 0 | s[1], + q = 8191 & H, + G = H >>> 13, + Z = 0 | s[2], + Y = 8191 & Z, + W = Z >>> 13, + X = 0 | s[3], + J = 8191 & X, + K = X >>> 13, + $ = 0 | s[4], + Q = 8191 & $, + tt = $ >>> 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], + ft = 8191 & ct, + ht = ct >>> 13, + pt = 0 | s[9], + dt = 8191 & pt, + vt = pt >>> 13; + (r.negative = t.negative ^ e.negative), + (r.length = 19); + var gt = + (((u + (n = Math.imul(f, U))) | 0) + + ((8191 & + (i = + ((i = Math.imul(f, V)) + + Math.imul(h, U)) | + 0)) << + 13)) | + 0; + (u = + ((((a = Math.imul(h, V)) + (i >>> 13)) | + 0) + + (gt >>> 26)) | + 0), + (gt &= 67108863), + (n = Math.imul(d, U)), + (i = + ((i = Math.imul(d, V)) + + Math.imul(v, U)) | + 0), + (a = Math.imul(v, V)); + var yt = + (((u + (n = (n + Math.imul(f, q)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, G)) | 0) + + Math.imul(h, q)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(h, G)) | 0) + + (i >>> 13)) | + 0) + + (yt >>> 26)) | + 0), + (yt &= 67108863), + (n = Math.imul(y, U)), + (i = + ((i = Math.imul(y, V)) + + Math.imul(m, U)) | + 0), + (a = Math.imul(m, V)), + (n = (n + Math.imul(d, q)) | 0), + (i = + ((i = (i + Math.imul(d, G)) | 0) + + Math.imul(v, q)) | + 0), + (a = (a + Math.imul(v, G)) | 0); + var mt = + (((u + (n = (n + Math.imul(f, Y)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, W)) | 0) + + Math.imul(h, Y)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(h, W)) | 0) + + (i >>> 13)) | + 0) + + (mt >>> 26)) | + 0), + (mt &= 67108863), + (n = Math.imul(b, U)), + (i = + ((i = Math.imul(b, V)) + + Math.imul(_, U)) | + 0), + (a = Math.imul(_, V)), + (n = (n + Math.imul(y, q)) | 0), + (i = + ((i = (i + Math.imul(y, G)) | 0) + + Math.imul(m, q)) | + 0), + (a = (a + Math.imul(m, G)) | 0), + (n = (n + Math.imul(d, Y)) | 0), + (i = + ((i = (i + Math.imul(d, W)) | 0) + + Math.imul(v, Y)) | + 0), + (a = (a + Math.imul(v, W)) | 0); + var xt = + (((u + (n = (n + Math.imul(f, J)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, K)) | 0) + + Math.imul(h, J)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(h, K)) | 0) + + (i >>> 13)) | + 0) + + (xt >>> 26)) | + 0), + (xt &= 67108863), + (n = Math.imul(T, U)), + (i = + ((i = Math.imul(T, V)) + + Math.imul(k, U)) | + 0), + (a = Math.imul(k, V)), + (n = (n + Math.imul(b, q)) | 0), + (i = + ((i = (i + Math.imul(b, G)) | 0) + + Math.imul(_, q)) | + 0), + (a = (a + Math.imul(_, G)) | 0), + (n = (n + Math.imul(y, Y)) | 0), + (i = + ((i = (i + Math.imul(y, W)) | 0) + + Math.imul(m, Y)) | + 0), + (a = (a + Math.imul(m, W)) | 0), + (n = (n + Math.imul(d, J)) | 0), + (i = + ((i = (i + Math.imul(d, K)) | 0) + + Math.imul(v, J)) | + 0), + (a = (a + Math.imul(v, K)) | 0); + var bt = + (((u + (n = (n + Math.imul(f, Q)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, tt)) | 0) + + Math.imul(h, Q)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(h, tt)) | 0) + + (i >>> 13)) | + 0) + + (bt >>> 26)) | + 0), + (bt &= 67108863), + (n = Math.imul(M, U)), + (i = + ((i = Math.imul(M, V)) + + Math.imul(S, U)) | + 0), + (a = Math.imul(S, V)), + (n = (n + Math.imul(T, q)) | 0), + (i = + ((i = (i + Math.imul(T, G)) | 0) + + Math.imul(k, q)) | + 0), + (a = (a + Math.imul(k, G)) | 0), + (n = (n + Math.imul(b, Y)) | 0), + (i = + ((i = (i + Math.imul(b, W)) | 0) + + Math.imul(_, Y)) | + 0), + (a = (a + Math.imul(_, W)) | 0), + (n = (n + Math.imul(y, J)) | 0), + (i = + ((i = (i + Math.imul(y, K)) | 0) + + Math.imul(m, J)) | + 0), + (a = (a + Math.imul(m, K)) | 0), + (n = (n + Math.imul(d, Q)) | 0), + (i = + ((i = (i + Math.imul(d, tt)) | 0) + + Math.imul(v, Q)) | + 0), + (a = (a + Math.imul(v, tt)) | 0); + var _t = + (((u + (n = (n + Math.imul(f, rt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, nt)) | 0) + + Math.imul(h, rt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(h, nt)) | 0) + + (i >>> 13)) | + 0) + + (_t >>> 26)) | + 0), + (_t &= 67108863), + (n = Math.imul(L, U)), + (i = + ((i = Math.imul(L, V)) + + Math.imul(C, U)) | + 0), + (a = Math.imul(C, V)), + (n = (n + Math.imul(M, q)) | 0), + (i = + ((i = (i + Math.imul(M, G)) | 0) + + Math.imul(S, q)) | + 0), + (a = (a + Math.imul(S, G)) | 0), + (n = (n + Math.imul(T, Y)) | 0), + (i = + ((i = (i + Math.imul(T, W)) | 0) + + Math.imul(k, Y)) | + 0), + (a = (a + Math.imul(k, W)) | 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(y, Q)) | 0), + (i = + ((i = (i + Math.imul(y, tt)) | 0) + + Math.imul(m, Q)) | + 0), + (a = (a + Math.imul(m, tt)) | 0), + (n = (n + Math.imul(d, rt)) | 0), + (i = + ((i = (i + Math.imul(d, nt)) | 0) + + Math.imul(v, rt)) | + 0), + (a = (a + Math.imul(v, nt)) | 0); + var wt = + (((u + (n = (n + Math.imul(f, at)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, ot)) | 0) + + Math.imul(h, at)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(h, ot)) | 0) + + (i >>> 13)) | + 0) + + (wt >>> 26)) | + 0), + (wt &= 67108863), + (n = Math.imul(O, U)), + (i = + ((i = Math.imul(O, V)) + + Math.imul(I, U)) | + 0), + (a = Math.imul(I, V)), + (n = (n + Math.imul(L, q)) | 0), + (i = + ((i = (i + Math.imul(L, G)) | 0) + + Math.imul(C, q)) | + 0), + (a = (a + Math.imul(C, G)) | 0), + (n = (n + Math.imul(M, Y)) | 0), + (i = + ((i = (i + Math.imul(M, W)) | 0) + + Math.imul(S, Y)) | + 0), + (a = (a + Math.imul(S, W)) | 0), + (n = (n + Math.imul(T, J)) | 0), + (i = + ((i = (i + Math.imul(T, K)) | 0) + + Math.imul(k, J)) | + 0), + (a = (a + Math.imul(k, K)) | 0), + (n = (n + Math.imul(b, Q)) | 0), + (i = + ((i = (i + Math.imul(b, tt)) | 0) + + Math.imul(_, Q)) | + 0), + (a = (a + Math.imul(_, tt)) | 0), + (n = (n + Math.imul(y, rt)) | 0), + (i = + ((i = (i + Math.imul(y, nt)) | 0) + + Math.imul(m, rt)) | + 0), + (a = (a + Math.imul(m, nt)) | 0), + (n = (n + Math.imul(d, at)) | 0), + (i = + ((i = (i + Math.imul(d, ot)) | 0) + + Math.imul(v, at)) | + 0), + (a = (a + Math.imul(v, ot)) | 0); + var Tt = + (((u + (n = (n + Math.imul(f, lt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, ut)) | 0) + + Math.imul(h, lt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(h, ut)) | 0) + + (i >>> 13)) | + 0) + + (Tt >>> 26)) | + 0), + (Tt &= 67108863), + (n = Math.imul(z, U)), + (i = + ((i = Math.imul(z, V)) + + Math.imul(R, U)) | + 0), + (a = Math.imul(R, V)), + (n = (n + Math.imul(O, q)) | 0), + (i = + ((i = (i + Math.imul(O, G)) | 0) + + Math.imul(I, q)) | + 0), + (a = (a + Math.imul(I, G)) | 0), + (n = (n + Math.imul(L, Y)) | 0), + (i = + ((i = (i + Math.imul(L, W)) | 0) + + Math.imul(C, Y)) | + 0), + (a = (a + Math.imul(C, W)) | 0), + (n = (n + Math.imul(M, J)) | 0), + (i = + ((i = (i + Math.imul(M, K)) | 0) + + Math.imul(S, J)) | + 0), + (a = (a + Math.imul(S, K)) | 0), + (n = (n + Math.imul(T, Q)) | 0), + (i = + ((i = (i + Math.imul(T, tt)) | 0) + + Math.imul(k, Q)) | + 0), + (a = (a + Math.imul(k, 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(y, at)) | 0), + (i = + ((i = (i + Math.imul(y, ot)) | 0) + + Math.imul(m, at)) | + 0), + (a = (a + Math.imul(m, ot)) | 0), + (n = (n + Math.imul(d, lt)) | 0), + (i = + ((i = (i + Math.imul(d, ut)) | 0) + + Math.imul(v, lt)) | + 0), + (a = (a + Math.imul(v, ut)) | 0); + var kt = + (((u + (n = (n + Math.imul(f, ft)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, ht)) | 0) + + Math.imul(h, ft)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(h, ht)) | 0) + + (i >>> 13)) | + 0) + + (kt >>> 26)) | + 0), + (kt &= 67108863), + (n = Math.imul(B, U)), + (i = + ((i = Math.imul(B, V)) + + Math.imul(N, U)) | + 0), + (a = Math.imul(N, V)), + (n = (n + Math.imul(z, q)) | 0), + (i = + ((i = (i + Math.imul(z, G)) | 0) + + Math.imul(R, q)) | + 0), + (a = (a + Math.imul(R, G)) | 0), + (n = (n + Math.imul(O, Y)) | 0), + (i = + ((i = (i + Math.imul(O, W)) | 0) + + Math.imul(I, Y)) | + 0), + (a = (a + Math.imul(I, W)) | 0), + (n = (n + Math.imul(L, J)) | 0), + (i = + ((i = (i + Math.imul(L, K)) | 0) + + Math.imul(C, J)) | + 0), + (a = (a + Math.imul(C, K)) | 0), + (n = (n + Math.imul(M, Q)) | 0), + (i = + ((i = (i + Math.imul(M, tt)) | 0) + + Math.imul(S, Q)) | + 0), + (a = (a + Math.imul(S, tt)) | 0), + (n = (n + Math.imul(T, rt)) | 0), + (i = + ((i = (i + Math.imul(T, nt)) | 0) + + Math.imul(k, rt)) | + 0), + (a = (a + Math.imul(k, 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(y, lt)) | 0), + (i = + ((i = (i + Math.imul(y, ut)) | 0) + + Math.imul(m, lt)) | + 0), + (a = (a + Math.imul(m, ut)) | 0), + (n = (n + Math.imul(d, ft)) | 0), + (i = + ((i = (i + Math.imul(d, ht)) | 0) + + Math.imul(v, ft)) | + 0), + (a = (a + Math.imul(v, ht)) | 0); + var At = + (((u + (n = (n + Math.imul(f, dt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, vt)) | 0) + + Math.imul(h, dt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(h, vt)) | 0) + + (i >>> 13)) | + 0) + + (At >>> 26)) | + 0), + (At &= 67108863), + (n = Math.imul(B, q)), + (i = + ((i = Math.imul(B, G)) + + Math.imul(N, q)) | + 0), + (a = Math.imul(N, G)), + (n = (n + Math.imul(z, Y)) | 0), + (i = + ((i = (i + Math.imul(z, W)) | 0) + + Math.imul(R, Y)) | + 0), + (a = (a + Math.imul(R, W)) | 0), + (n = (n + Math.imul(O, J)) | 0), + (i = + ((i = (i + Math.imul(O, K)) | 0) + + Math.imul(I, J)) | + 0), + (a = (a + Math.imul(I, K)) | 0), + (n = (n + Math.imul(L, Q)) | 0), + (i = + ((i = (i + Math.imul(L, tt)) | 0) + + Math.imul(C, Q)) | + 0), + (a = (a + Math.imul(C, tt)) | 0), + (n = (n + Math.imul(M, rt)) | 0), + (i = + ((i = (i + Math.imul(M, nt)) | 0) + + Math.imul(S, rt)) | + 0), + (a = (a + Math.imul(S, nt)) | 0), + (n = (n + Math.imul(T, at)) | 0), + (i = + ((i = (i + Math.imul(T, ot)) | 0) + + Math.imul(k, at)) | + 0), + (a = (a + Math.imul(k, 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(y, ft)) | 0), + (i = + ((i = (i + Math.imul(y, ht)) | 0) + + Math.imul(m, ft)) | + 0), + (a = (a + Math.imul(m, ht)) | 0); + var Mt = + (((u + (n = (n + Math.imul(d, dt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(d, vt)) | 0) + + Math.imul(v, dt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(v, vt)) | 0) + + (i >>> 13)) | + 0) + + (Mt >>> 26)) | + 0), + (Mt &= 67108863), + (n = Math.imul(B, Y)), + (i = + ((i = Math.imul(B, W)) + + Math.imul(N, Y)) | + 0), + (a = Math.imul(N, W)), + (n = (n + Math.imul(z, J)) | 0), + (i = + ((i = (i + Math.imul(z, K)) | 0) + + Math.imul(R, J)) | + 0), + (a = (a + Math.imul(R, K)) | 0), + (n = (n + Math.imul(O, Q)) | 0), + (i = + ((i = (i + Math.imul(O, tt)) | 0) + + Math.imul(I, Q)) | + 0), + (a = (a + Math.imul(I, tt)) | 0), + (n = (n + Math.imul(L, rt)) | 0), + (i = + ((i = (i + Math.imul(L, nt)) | 0) + + Math.imul(C, rt)) | + 0), + (a = (a + Math.imul(C, nt)) | 0), + (n = (n + Math.imul(M, at)) | 0), + (i = + ((i = (i + Math.imul(M, ot)) | 0) + + Math.imul(S, at)) | + 0), + (a = (a + Math.imul(S, ot)) | 0), + (n = (n + Math.imul(T, lt)) | 0), + (i = + ((i = (i + Math.imul(T, ut)) | 0) + + Math.imul(k, lt)) | + 0), + (a = (a + Math.imul(k, ut)) | 0), + (n = (n + Math.imul(b, ft)) | 0), + (i = + ((i = (i + Math.imul(b, ht)) | 0) + + Math.imul(_, ft)) | + 0), + (a = (a + Math.imul(_, ht)) | 0); + var St = + (((u + (n = (n + Math.imul(y, dt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(y, vt)) | 0) + + Math.imul(m, dt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(m, vt)) | 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(z, Q)) | 0), + (i = + ((i = (i + Math.imul(z, tt)) | 0) + + Math.imul(R, Q)) | + 0), + (a = (a + Math.imul(R, tt)) | 0), + (n = (n + Math.imul(O, rt)) | 0), + (i = + ((i = (i + Math.imul(O, nt)) | 0) + + Math.imul(I, rt)) | + 0), + (a = (a + Math.imul(I, nt)) | 0), + (n = (n + Math.imul(L, at)) | 0), + (i = + ((i = (i + Math.imul(L, ot)) | 0) + + Math.imul(C, at)) | + 0), + (a = (a + Math.imul(C, ot)) | 0), + (n = (n + Math.imul(M, lt)) | 0), + (i = + ((i = (i + Math.imul(M, ut)) | 0) + + Math.imul(S, lt)) | + 0), + (a = (a + Math.imul(S, ut)) | 0), + (n = (n + Math.imul(T, ft)) | 0), + (i = + ((i = (i + Math.imul(T, ht)) | 0) + + Math.imul(k, ft)) | + 0), + (a = (a + Math.imul(k, ht)) | 0); + var Et = + (((u + (n = (n + Math.imul(b, dt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(b, vt)) | 0) + + Math.imul(_, dt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(_, vt)) | 0) + + (i >>> 13)) | + 0) + + (Et >>> 26)) | + 0), + (Et &= 67108863), + (n = Math.imul(B, Q)), + (i = + ((i = Math.imul(B, tt)) + + Math.imul(N, Q)) | + 0), + (a = Math.imul(N, tt)), + (n = (n + Math.imul(z, rt)) | 0), + (i = + ((i = (i + Math.imul(z, nt)) | 0) + + Math.imul(R, rt)) | + 0), + (a = (a + Math.imul(R, nt)) | 0), + (n = (n + Math.imul(O, at)) | 0), + (i = + ((i = (i + Math.imul(O, ot)) | 0) + + Math.imul(I, at)) | + 0), + (a = (a + Math.imul(I, ot)) | 0), + (n = (n + Math.imul(L, lt)) | 0), + (i = + ((i = (i + Math.imul(L, ut)) | 0) + + Math.imul(C, lt)) | + 0), + (a = (a + Math.imul(C, ut)) | 0), + (n = (n + Math.imul(M, ft)) | 0), + (i = + ((i = (i + Math.imul(M, ht)) | 0) + + Math.imul(S, ft)) | + 0), + (a = (a + Math.imul(S, ht)) | 0); + var Lt = + (((u + (n = (n + Math.imul(T, dt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(T, vt)) | 0) + + Math.imul(k, dt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(k, vt)) | 0) + + (i >>> 13)) | + 0) + + (Lt >>> 26)) | + 0), + (Lt &= 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(z, at)) | 0), + (i = + ((i = (i + Math.imul(z, ot)) | 0) + + Math.imul(R, at)) | + 0), + (a = (a + Math.imul(R, ot)) | 0), + (n = (n + Math.imul(O, lt)) | 0), + (i = + ((i = (i + Math.imul(O, ut)) | 0) + + Math.imul(I, lt)) | + 0), + (a = (a + Math.imul(I, ut)) | 0), + (n = (n + Math.imul(L, ft)) | 0), + (i = + ((i = (i + Math.imul(L, ht)) | 0) + + Math.imul(C, ft)) | + 0), + (a = (a + Math.imul(C, ht)) | 0); + var Ct = + (((u + (n = (n + Math.imul(M, dt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(M, vt)) | 0) + + Math.imul(S, dt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(S, vt)) | 0) + + (i >>> 13)) | + 0) + + (Ct >>> 26)) | + 0), + (Ct &= 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(z, lt)) | 0), + (i = + ((i = (i + Math.imul(z, ut)) | 0) + + Math.imul(R, lt)) | + 0), + (a = (a + Math.imul(R, ut)) | 0), + (n = (n + Math.imul(O, ft)) | 0), + (i = + ((i = (i + Math.imul(O, ht)) | 0) + + Math.imul(I, ft)) | + 0), + (a = (a + Math.imul(I, ht)) | 0); + var Pt = + (((u + (n = (n + Math.imul(L, dt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(L, vt)) | 0) + + Math.imul(C, dt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(C, vt)) | 0) + + (i >>> 13)) | + 0) + + (Pt >>> 26)) | + 0), + (Pt &= 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(z, ft)) | 0), + (i = + ((i = (i + Math.imul(z, ht)) | 0) + + Math.imul(R, ft)) | + 0), + (a = (a + Math.imul(R, ht)) | 0); + var Ot = + (((u + (n = (n + Math.imul(O, dt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(O, vt)) | 0) + + Math.imul(I, dt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(I, vt)) | 0) + + (i >>> 13)) | + 0) + + (Ot >>> 26)) | + 0), + (Ot &= 67108863), + (n = Math.imul(B, ft)), + (i = + ((i = Math.imul(B, ht)) + + Math.imul(N, ft)) | + 0), + (a = Math.imul(N, ht)); + var It = + (((u + (n = (n + Math.imul(z, dt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(z, vt)) | 0) + + Math.imul(R, dt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(R, vt)) | 0) + + (i >>> 13)) | + 0) + + (It >>> 26)) | + 0), + (It &= 67108863); + var Dt = + (((u + (n = Math.imul(B, dt))) | 0) + + ((8191 & + (i = + ((i = Math.imul(B, vt)) + + Math.imul(N, dt)) | + 0)) << + 13)) | + 0; + return ( + (u = + ((((a = Math.imul(N, vt)) + (i >>> 13)) | + 0) + + (Dt >>> 26)) | + 0), + (Dt &= 67108863), + (l[0] = gt), + (l[1] = yt), + (l[2] = mt), + (l[3] = xt), + (l[4] = bt), + (l[5] = _t), + (l[6] = wt), + (l[7] = Tt), + (l[8] = kt), + (l[9] = At), + (l[10] = Mt), + (l[11] = St), + (l[12] = Et), + (l[13] = Lt), + (l[14] = Ct), + (l[15] = Pt), + (l[16] = Ot), + (l[17] = It), + (l[18] = Dt), + 0 !== u && ((l[19] = u), r.length++), + r + ); + }; + function v(t, e, r) { + return new g().mulp(t, e, r); + } + function g(t, e) { + (this.x = t), (this.y = e); + } + Math.imul || (d = p), + (a.prototype.mulTo = function (t, e) { + var r, + n = this.length + t.length; + return ( + (r = + 10 === this.length && 10 === t.length + ? d(this, t, e) + : n < 63 + ? p(this, t, e) + : n < 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, + f = + (0 | t.words[c]) * + (0 | e.words[u]), + h = 67108863 & f; + (s = + 67108863 & + (h = (h + s) | 0)), + (i += + (o = + ((o = + (o + + ((f / 67108864) | + 0)) | + 0) + + (h >>> 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) + : v(this, t, e)), + r + ); + }), + (g.prototype.makeRBT = function (t) { + for ( + var e = new Array(t), + r = a.prototype._countBits(t) - 1, + n = 0; + n < t; + n++ + ) + e[n] = this.revBin(n, r, t); + return e; + }), + (g.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; + }), + (g.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]]); + }), + (g.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 f = l, h = u, p = 0; + p < o; + p++ + ) { + var d = r[c + p], + v = n[c + p], + g = r[c + p + o], + y = n[c + p + o], + m = f * g - h * y; + (y = f * y + h * g), + (g = m), + (r[c + p] = d + g), + (n[c + p] = v + y), + (r[c + p + o] = d - g), + (n[c + p + o] = v - y), + p !== s && + ((m = l * f - u * h), + (h = l * h + u * f), + (f = m)); + } + }), + (g.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); + }), + (g.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); + } + }), + (g.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; + }), + (g.prototype.convert13b = function ( + t, + e, + r, + i, + ) { + for (var a = 0, o = 0; o < e; o++) + (a += 0 | t[o]), + (r[2 * o] = 8191 & a), + (a >>>= 13), + (r[2 * o + 1] = 8191 & a), + (a >>>= 13); + for (o = 2 * e; o < i; ++o) r[o] = 0; + n(0 === a), n(0 == (-8192 & a)); + }), + (g.prototype.stub = function (t) { + for ( + var e = new Array(t), r = 0; + r < t; + r++ + ) + e[r] = 0; + return e; + }), + (g.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), + f = new Array(n), + h = r.words; + (h.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, f, n, i); + for (var p = 0; p < n; p++) { + var d = s[p] * c[p] - l[p] * f[p]; + (l[p] = s[p] * f[p] + l[p] * c[p]), + (s[p] = d); + } + return ( + this.conjugate(s, l, n), + this.transform(s, l, h, a, n, i), + this.conjugate(h, a, n), + this.normalize13b(h, n), + (r.negative = t.negative ^ e.negative), + (r.length = t.length + e.length), + r.strip() + ); + }), + (a.prototype.mul = function (t) { + var e = new a(null); + return ( + (e.words = new Array( + this.length + t.length, + )), + this.mulTo(t, e) + ); + }), + (a.prototype.mulf = function (t) { + var e = new a(null); + return ( + (e.words = new Array( + this.length + t.length, + )), + v(this, t, e) + ); + }), + (a.prototype.imul = function (t) { + return this.clone().mulTo(t, this); + }), + (a.prototype.imuln = function (t) { + n("number" == typeof t), n(t < 67108864); + for ( + var e = 0, r = 0; + r < this.length; + r++ + ) { + var i = (0 | this.words[r]) * t, + a = (67108863 & i) + (67108863 & e); + (e >>= 26), + (e += (i / 67108864) | 0), + (e += a >>> 26), + (this.words[r] = 67108863 & a); + } + return ( + 0 !== e && + ((this.words[r] = e), this.length++), + this + ); + }), + (a.prototype.muln = function (t) { + return this.clone().imuln(t); + }), + (a.prototype.sqr = function () { + return this.mul(this); + }), + (a.prototype.isqr = function () { + return this.imul(this.clone()); + }), + (a.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 a(1); + for ( + var r = this, n = 0; + n < e.length && 0 === e[n]; + n++, r = r.sqr() + ); + if (++n < e.length) + for ( + var i = r.sqr(); + n < e.length; + n++, i = i.sqr() + ) + 0 !== e[n] && (r = r.mul(i)); + return r; + }), + (a.prototype.iushln = function (t) { + n("number" == typeof t && t >= 0); + var e, + r = t % 26, + i = (t - r) / 26, + a = (67108863 >>> (26 - r)) << (26 - r); + if (0 !== r) { + var o = 0; + for (e = 0; e < this.length; e++) { + var s = this.words[e] & a, + l = ((0 | this.words[e]) - s) << r; + (this.words[e] = l | o), + (o = s >>> (26 - r)); + } + 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(); + }), + (a.prototype.ishln = function (t) { + return ( + n(0 === this.negative), this.iushln(t) + ); + }), + (a.prototype.iushrn = function (t, e, r) { + var i; + n("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 = r; + 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 f = 0 | this.words[u]; + (this.words[u] = + (c << (26 - a)) | (f >>> a)), + (c = f & s); + } + return ( + l && 0 !== c && (l.words[l.length++] = c), + 0 === this.length && + ((this.words[0] = 0), + (this.length = 1)), + this.strip() + ); + }), + (a.prototype.ishrn = function (t, e, r) { + return ( + n(0 === this.negative), + this.iushrn(t, e, r) + ); + }), + (a.prototype.shln = function (t) { + return this.clone().ishln(t); + }), + (a.prototype.ushln = function (t) { + return this.clone().iushln(t); + }), + (a.prototype.shrn = function (t) { + return this.clone().ishrn(t); + }), + (a.prototype.ushrn = function (t) { + return this.clone().iushrn(t); + }), + (a.prototype.testn = function (t) { + n("number" == typeof t && t >= 0); + var e = t % 26, + r = (t - e) / 26, + i = 1 << e; + return !( + this.length <= r || !(this.words[r] & i) + ); + }), + (a.prototype.imaskn = function (t) { + n("number" == typeof t && t >= 0); + var e = t % 26, + r = (t - e) / 26; + if ( + (n( + 0 === this.negative, + "imaskn works only with positive numbers", + ), + this.length <= r) + ) + return this; + if ( + (0 !== e && r++, + (this.length = Math.min(r, this.length)), + 0 !== e) + ) { + var i = + 67108863 ^ ((67108863 >>> e) << e); + this.words[this.length - 1] &= i; + } + return this.strip(); + }), + (a.prototype.maskn = function (t) { + return this.clone().imaskn(t); + }), + (a.prototype.iaddn = function (t) { + return ( + n("number" == typeof t), + n(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) + ); + }), + (a.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 + ); + }), + (a.prototype.isubn = function (t) { + if ( + (n("number" == typeof t), + n(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(); + }), + (a.prototype.addn = function (t) { + return this.clone().iaddn(t); + }), + (a.prototype.subn = function (t) { + return this.clone().isubn(t); + }), + (a.prototype.iabs = function () { + return (this.negative = 0), this; + }), + (a.prototype.abs = function () { + return this.clone().iabs(); + }), + (a.prototype._ishlnsubmul = function ( + t, + e, + r, + ) { + var i, + a, + o = t.length + r; + this._expand(o); + var s = 0; + for (i = 0; i < t.length; i++) { + a = (0 | this.words[i + r]) + s; + var l = (0 | t.words[i]) * e; + (s = + ((a -= 67108863 & l) >> 26) - + ((l / 67108864) | 0)), + (this.words[i + r] = 67108863 & a); + } + for (; i < this.length - r; i++) + (s = + (a = (0 | this.words[i + r]) + s) >> + 26), + (this.words[i + r] = 67108863 & a); + if (0 === s) return this.strip(); + for ( + n(-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(); + }), + (a.prototype._wordDiv = function (t, e) { + var r = (this.length, t.length), + n = this.clone(), + i = t, + o = 0 | i.words[i.length - 1]; + 0 != (r = 26 - this._countBits(o)) && + ((i = i.ushln(r)), + n.iushln(r), + (o = 0 | i.words[i.length - 1])); + var s, + l = n.length - i.length; + if ("mod" !== e) { + ((s = new a(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(i, 1, l); + 0 === c.negative && + ((n = c), s && (s.words[l] = 1)); + for (var f = l - 1; f >= 0; f--) { + var h = + 67108864 * (0 | n.words[i.length + f]) + + (0 | n.words[i.length + f - 1]); + for ( + h = Math.min((h / o) | 0, 67108863), + n._ishlnsubmul(i, h, f); + 0 !== n.negative; + + ) + h--, + (n.negative = 0), + n._ishlnsubmul(i, 1, f), + n.isZero() || (n.negative ^= 1); + s && (s.words[f] = h); + } + return ( + s && s.strip(), + n.strip(), + "div" !== e && 0 !== r && n.iushrn(r), + { div: s || null, mod: n } + ); + }), + (a.prototype.divmod = function (t, e, r) { + return ( + n(!t.isZero()), + this.isZero() + ? { div: new a(0), mod: new a(0) } + : 0 !== this.negative && + 0 === t.negative + ? ((s = this.neg().divmod(t, e)), + "mod" !== e && (i = s.div.neg()), + "div" !== e && + ((o = s.mod.neg()), + r && 0 !== o.negative && o.iadd(t)), + { div: i, mod: o }) + : 0 === this.negative && + 0 !== t.negative + ? ((s = this.divmod(t.neg(), e)), + "mod" !== e && (i = s.div.neg()), + { div: i, mod: s.mod }) + : 0 != (this.negative & t.negative) + ? ((s = this.neg().divmod(t.neg(), e)), + "div" !== e && + ((o = s.mod.neg()), + r && 0 !== o.negative && o.isub(t)), + { div: s.div, mod: o }) + : t.length > this.length || + this.cmp(t) < 0 + ? { div: new a(0), mod: this } + : 1 === t.length + ? "div" === e + ? { + div: this.divn(t.words[0]), + mod: null, + } + : "mod" === e + ? { + div: null, + mod: new a(this.modn(t.words[0])), + } + : { + div: this.divn(t.words[0]), + mod: new a(this.modn(t.words[0])), + } + : this._wordDiv(t, e) + ); + var i, o, s; + }), + (a.prototype.div = function (t) { + return this.divmod(t, "div", !1).div; + }), + (a.prototype.mod = function (t) { + return this.divmod(t, "mod", !1).mod; + }), + (a.prototype.umod = function (t) { + return this.divmod(t, "mod", !0).mod; + }), + (a.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); + }), + (a.prototype.modn = function (t) { + n(t <= 67108863); + for ( + var e = (1 << 26) % t, + r = 0, + i = this.length - 1; + i >= 0; + i-- + ) + r = (e * r + (0 | this.words[i])) % t; + return r; + }), + (a.prototype.idivn = function (t) { + n(t <= 67108863); + for ( + var e = 0, r = this.length - 1; + r >= 0; + r-- + ) { + var i = + (0 | this.words[r]) + 67108864 * e; + (this.words[r] = (i / t) | 0), + (e = i % t); + } + return this.strip(); + }), + (a.prototype.divn = function (t) { + return this.clone().idivn(t); + }), + (a.prototype.egcd = function (t) { + n(0 === t.negative), n(!t.isZero()); + var e = this, + r = t.clone(); + e = + 0 !== e.negative ? e.umod(t) : e.clone(); + for ( + var i = new a(1), + o = new a(0), + s = new a(0), + l = new a(1), + u = 0; + e.isEven() && r.isEven(); + + ) + e.iushrn(1), r.iushrn(1), ++u; + for ( + var c = r.clone(), f = e.clone(); + !e.isZero(); + + ) { + for ( + var h = 0, p = 1; + 0 == (e.words[0] & p) && h < 26; + ++h, p <<= 1 + ); + if (h > 0) + for (e.iushrn(h); h-- > 0; ) + (i.isOdd() || o.isOdd()) && + (i.iadd(c), o.isub(f)), + i.iushrn(1), + o.iushrn(1); + for ( + var d = 0, v = 1; + 0 == (r.words[0] & v) && d < 26; + ++d, v <<= 1 + ); + if (d > 0) + for (r.iushrn(d); d-- > 0; ) + (s.isOdd() || l.isOdd()) && + (s.iadd(c), l.isub(f)), + s.iushrn(1), + l.iushrn(1); + e.cmp(r) >= 0 + ? (e.isub(r), i.isub(s), o.isub(l)) + : (r.isub(e), s.isub(i), l.isub(o)); + } + return { a: s, b: l, gcd: r.iushln(u) }; + }), + (a.prototype._invmp = function (t) { + n(0 === t.negative), n(!t.isZero()); + var e = this, + r = t.clone(); + e = + 0 !== e.negative ? e.umod(t) : e.clone(); + for ( + var i, + o = new a(1), + s = new a(0), + l = r.clone(); + e.cmpn(1) > 0 && r.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 f = 0, h = 1; + 0 == (r.words[0] & h) && f < 26; + ++f, h <<= 1 + ); + if (f > 0) + for (r.iushrn(f); f-- > 0; ) + s.isOdd() && s.iadd(l), s.iushrn(1); + e.cmp(r) >= 0 + ? (e.isub(r), o.isub(s)) + : (r.isub(e), s.isub(o)); + } + return ( + (i = 0 === e.cmpn(1) ? o : s).cmpn(0) < + 0 && i.iadd(t), + i + ); + }), + (a.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); + }), + (a.prototype.invm = function (t) { + return this.egcd(t).a.umod(t); + }), + (a.prototype.isEven = function () { + return 0 == (1 & this.words[0]); + }), + (a.prototype.isOdd = function () { + return 1 == (1 & this.words[0]); + }), + (a.prototype.andln = function (t) { + return this.words[0] & t; + }), + (a.prototype.bincn = function (t) { + n("number" == typeof t); + var e = t % 26, + r = (t - e) / 26, + i = 1 << e; + if (this.length <= r) + return ( + this._expand(r + 1), + (this.words[r] |= i), + this + ); + for ( + var a = i, o = r; + 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 + ); + }), + (a.prototype.isZero = function () { + return ( + 1 === this.length && 0 === this.words[0] + ); + }), + (a.prototype.cmpn = function (t) { + var e, + r = t < 0; + if (0 !== this.negative && !r) return -1; + if (0 === this.negative && r) return 1; + if ((this.strip(), this.length > 1)) e = 1; + else { + r && (t = -t), + n(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; + }), + (a.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; + }), + (a.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; + }), + (a.prototype.gtn = function (t) { + return 1 === this.cmpn(t); + }), + (a.prototype.gt = function (t) { + return 1 === this.cmp(t); + }), + (a.prototype.gten = function (t) { + return this.cmpn(t) >= 0; + }), + (a.prototype.gte = function (t) { + return this.cmp(t) >= 0; + }), + (a.prototype.ltn = function (t) { + return -1 === this.cmpn(t); + }), + (a.prototype.lt = function (t) { + return -1 === this.cmp(t); + }), + (a.prototype.lten = function (t) { + return this.cmpn(t) <= 0; + }), + (a.prototype.lte = function (t) { + return this.cmp(t) <= 0; + }), + (a.prototype.eqn = function (t) { + return 0 === this.cmpn(t); + }), + (a.prototype.eq = function (t) { + return 0 === this.cmp(t); + }), + (a.red = function (t) { + return new T(t); + }), + (a.prototype.toRed = function (t) { + return ( + n( + !this.red, + "Already a number in reduction context", + ), + n( + 0 === this.negative, + "red works only with positives", + ), + t.convertTo(this)._forceRed(t) + ); + }), + (a.prototype.fromRed = function () { + return ( + n( + this.red, + "fromRed works only with numbers in reduction context", + ), + this.red.convertFrom(this) + ); + }), + (a.prototype._forceRed = function (t) { + return (this.red = t), this; + }), + (a.prototype.forceRed = function (t) { + return ( + n( + !this.red, + "Already a number in reduction context", + ), + this._forceRed(t) + ); + }), + (a.prototype.redAdd = function (t) { + return ( + n( + this.red, + "redAdd works only with red numbers", + ), + this.red.add(this, t) + ); + }), + (a.prototype.redIAdd = function (t) { + return ( + n( + this.red, + "redIAdd works only with red numbers", + ), + this.red.iadd(this, t) + ); + }), + (a.prototype.redSub = function (t) { + return ( + n( + this.red, + "redSub works only with red numbers", + ), + this.red.sub(this, t) + ); + }), + (a.prototype.redISub = function (t) { + return ( + n( + this.red, + "redISub works only with red numbers", + ), + this.red.isub(this, t) + ); + }), + (a.prototype.redShl = function (t) { + return ( + n( + this.red, + "redShl works only with red numbers", + ), + this.red.shl(this, t) + ); + }), + (a.prototype.redMul = function (t) { + return ( + n( + this.red, + "redMul works only with red numbers", + ), + this.red._verify2(this, t), + this.red.mul(this, t) + ); + }), + (a.prototype.redIMul = function (t) { + return ( + n( + this.red, + "redMul works only with red numbers", + ), + this.red._verify2(this, t), + this.red.imul(this, t) + ); + }), + (a.prototype.redSqr = function () { + return ( + n( + this.red, + "redSqr works only with red numbers", + ), + this.red._verify1(this), + this.red.sqr(this) + ); + }), + (a.prototype.redISqr = function () { + return ( + n( + this.red, + "redISqr works only with red numbers", + ), + this.red._verify1(this), + this.red.isqr(this) + ); + }), + (a.prototype.redSqrt = function () { + return ( + n( + this.red, + "redSqrt works only with red numbers", + ), + this.red._verify1(this), + this.red.sqrt(this) + ); + }), + (a.prototype.redInvm = function () { + return ( + n( + this.red, + "redInvm works only with red numbers", + ), + this.red._verify1(this), + this.red.invm(this) + ); + }), + (a.prototype.redNeg = function () { + return ( + n( + this.red, + "redNeg works only with red numbers", + ), + this.red._verify1(this), + this.red.neg(this) + ); + }), + (a.prototype.redPow = function (t) { + return ( + n( + this.red && !t.red, + "redPow(normalNum)", + ), + this.red._verify1(this), + this.red.pow(this, t) + ); + }); + var y = { + k256: null, + p224: null, + p192: null, + p25519: null, + }; + function m(t, e) { + (this.name = t), + (this.p = new a(e, 16)), + (this.n = this.p.bitLength()), + (this.k = new a(1) + .iushln(this.n) + .isub(this.p)), + (this.tmp = this._tmp()); + } + function x() { + m.call( + this, + "k256", + "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f", + ); + } + function b() { + m.call( + this, + "p224", + "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001", + ); + } + function _() { + m.call( + this, + "p192", + "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff", + ); + } + function w() { + m.call( + this, + "25519", + "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed", + ); + } + function T(t) { + if ("string" == typeof t) { + var e = a._prime(t); + (this.m = e.p), (this.prime = e); + } else + n( + t.gtn(1), + "modulus must be greater than 1", + ), + (this.m = t), + (this.prime = null); + } + function k(t) { + T.call(this, t), + (this.shift = this.m.bitLength()), + this.shift % 26 != 0 && + (this.shift += 26 - (this.shift % 26)), + (this.r = new a(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)); + } + (m.prototype._tmp = function () { + var t = new a(null); + return ( + (t.words = new Array( + Math.ceil(this.n / 13), + )), + t + ); + }), + (m.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) + : void 0 !== r.strip + ? r.strip() + : r._strip(), + r + ); + }), + (m.prototype.split = function (t, e) { + t.iushrn(this.n, 0, e); + }), + (m.prototype.imulK = function (t) { + return t.imul(this.k); + }), + i(x, m), + (x.prototype.split = function (t, e) { + for ( + var r = 4194303, + n = Math.min(t.length, 9), + i = 0; + i < n; + i++ + ) + e.words[i] = t.words[i]; + if (((e.length = n), t.length <= 9)) + return ( + (t.words[0] = 0), void (t.length = 1) + ); + var a = t.words[9]; + for ( + e.words[e.length++] = a & r, i = 10; + i < t.length; + i++ + ) { + var o = 0 | t.words[i]; + (t.words[i - 10] = + ((o & r) << 4) | (a >>> 22)), + (a = o); + } + (a >>>= 22), + (t.words[i - 10] = a), + 0 === a && t.length > 10 + ? (t.length -= 10) + : (t.length -= 9); + }), + (x.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 + ); + }), + i(b, m), + i(_, m), + i(w, m), + (w.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 + ); + }), + (a._prime = function (t) { + if (y[t]) return y[t]; + var e; + if ("k256" === t) e = new x(); + else if ("p224" === t) e = new b(); + else if ("p192" === t) e = new _(); + else { + if ("p25519" !== t) + throw new Error("Unknown prime " + t); + e = new w(); + } + return (y[t] = e), e; + }), + (T.prototype._verify1 = function (t) { + n( + 0 === t.negative, + "red works only with positives", + ), + n( + t.red, + "red works only with red numbers", + ); + }), + (T.prototype._verify2 = function (t, e) { + n( + 0 == (t.negative | e.negative), + "red works only with positives", + ), + n( + t.red && t.red === e.red, + "red works only with red numbers", + ); + }), + (T.prototype.imod = function (t) { + return this.prime + ? this.prime.ireduce(t)._forceRed(this) + : t.umod(this.m)._forceRed(this); + }), + (T.prototype.neg = function (t) { + return t.isZero() + ? t.clone() + : this.m.sub(t)._forceRed(this); + }), + (T.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) + ); + }), + (T.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 + ); + }), + (T.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) + ); + }), + (T.prototype.isub = function (t, e) { + this._verify2(t, e); + var r = t.isub(e); + return r.cmpn(0) < 0 && r.iadd(this.m), r; + }), + (T.prototype.shl = function (t, e) { + return ( + this._verify1(t), this.imod(t.ushln(e)) + ); + }), + (T.prototype.imul = function (t, e) { + return ( + this._verify2(t, e), this.imod(t.imul(e)) + ); + }), + (T.prototype.mul = function (t, e) { + return ( + this._verify2(t, e), this.imod(t.mul(e)) + ); + }), + (T.prototype.isqr = function (t) { + return this.imul(t, t.clone()); + }), + (T.prototype.sqr = function (t) { + return this.mul(t, t); + }), + (T.prototype.sqrt = function (t) { + if (t.isZero()) return t.clone(); + var e = this.m.andln(3); + if ((n(e % 2 == 1), 3 === e)) { + var r = this.m.add(new a(1)).iushrn(2); + return this.pow(t, r); + } + for ( + var i = this.m.subn(1), o = 0; + !i.isZero() && 0 === i.andln(1); + + ) + o++, i.iushrn(1); + n(!i.isZero()); + var s = new a(1).toRed(this), + l = s.redNeg(), + u = this.m.subn(1).iushrn(1), + c = this.m.bitLength(); + for ( + c = new a(2 * c * c).toRed(this); + 0 !== this.pow(c, u).cmp(l); + + ) + c.redIAdd(l); + for ( + var f = this.pow(c, i), + h = this.pow(t, i.addn(1).iushrn(1)), + p = this.pow(t, i), + d = o; + 0 !== p.cmp(s); + + ) { + for ( + var v = p, g = 0; + 0 !== v.cmp(s); + g++ + ) + v = v.redSqr(); + n(g < d); + var y = this.pow( + f, + new a(1).iushln(d - g - 1), + ); + (h = h.redMul(y)), + (f = y.redSqr()), + (p = p.redMul(f)), + (d = g); + } + return h; + }), + (T.prototype.invm = function (t) { + var e = t._invmp(this.m); + return 0 !== e.negative + ? ((e.negative = 0), + this.imod(e).redNeg()) + : this.imod(e); + }), + (T.prototype.pow = function (t, e) { + if (e.isZero()) return new a(1).toRed(this); + if (0 === e.cmpn(1)) return t.clone(); + var r = new Array(16); + (r[0] = new a(1).toRed(this)), (r[1] = t); + for (var n = 2; n < r.length; n++) + r[n] = this.mul(r[n - 1], t); + var i = 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 f = (u >> c) & 1; + i !== r[0] && (i = this.sqr(i)), + 0 !== f || 0 !== o + ? ((o <<= 1), + (o |= f), + (4 == ++s || + (0 === n && 0 === c)) && + ((i = this.mul(i, r[o])), + (s = 0), + (o = 0))) + : (s = 0); + } + l = 26; + } + return i; + }), + (T.prototype.convertTo = function (t) { + var e = t.umod(this.m); + return e === t ? e.clone() : e; + }), + (T.prototype.convertFrom = function (t) { + var e = t.clone(); + return (e.red = null), e; + }), + (a.mont = function (t) { + return new k(t); + }), + i(k, T), + (k.prototype.convertTo = function (t) { + return this.imod(t.ushln(this.shift)); + }), + (k.prototype.convertFrom = function (t) { + var e = this.imod(t.mul(this.rinv)); + return (e.red = null), e; + }), + (k.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) + ); + }), + (k.prototype.mul = function (t, e) { + if (t.isZero() || e.isZero()) + return new a(0)._forceRed(this); + var r = t.mul(e), + n = r + .maskn(this.shift) + .mul(this.minv) + .imaskn(this.shift) + .mul(this.m), + i = r.isub(n).iushrn(this.shift), + o = i; + return ( + i.cmp(this.m) >= 0 + ? (o = i.isub(this.m)) + : i.cmpn(0) < 0 && (o = i.iadd(this.m)), + o._forceRed(this) + ); + }), + (k.prototype.invm = function (t) { + return this.imod( + t._invmp(this.m).mul(this.r2), + )._forceRed(this); + }); + })((t = r.nmd(t)), this); + }, + 2692: function (t) { + "use strict"; + t.exports = 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)), + f = 0; + for (n = 0; n < u; ++n) + n !== r && (c[f++] = l[n]); + if (1 & r) { + var h = c[1]; + (c[1] = c[0]), (c[0] = h); + } + } + } + return o; + }; + }, + 2569: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r) { + switch (arguments.length) { + case 1: + return f(t); + case 2: + return "function" == typeof e + ? u(t, t, e, !0) + : h(t, e); + case 3: + return u(t, e, r, !1); + default: + throw new Error( + "box-intersect: Invalid arguments", + ); + } + }; + var n, + i = r(5306), + a = r(1390), + o = r(2337); + function s(t, e) { + for (var r = 0; r < t; ++r) + if (!(e[r] <= e[r + t])) return !0; + return !1; + } + function l(t, e, r, n) { + for ( + var i = 0, a = 0, o = 0, l = t.length; + o < l; + ++o + ) { + var u = t[o]; + if (!s(e, u)) { + for (var c = 0; c < 2 * e; ++c) + r[i++] = u[c]; + n[a++] = o; + } + } + return a; + } + function u(t, e, r, n) { + var s = t.length, + u = e.length; + if (!(s <= 0 || u <= 0)) { + var c = t[0].length >>> 1; + if (!(c <= 0)) { + var f, + h = i.mallocDouble(2 * c * s), + p = i.mallocInt32(s); + if ((s = l(t, c, h, p)) > 0) { + if (1 === c && n) + a.init(s), + (f = a.sweepComplete( + c, + r, + 0, + s, + h, + p, + 0, + s, + h, + p, + )); + else { + var d = i.mallocDouble(2 * c * u), + v = i.mallocInt32(u); + (u = l(e, c, d, v)) > 0 && + (a.init(s + u), + (f = + 1 === c + ? a.sweepBipartite( + c, + r, + 0, + s, + h, + p, + 0, + u, + d, + v, + ) + : o(c, r, n, s, h, p, u, d, v)), + i.free(d), + i.free(v)); + } + i.free(h), i.free(p); + } + return f; + } + } + } + function c(t, e) { + n.push([t, e]); + } + function f(t) { + return (n = []), u(t, t, c, !0), n; + } + function h(t, e) { + return (n = []), u(t, e, c, !1), n; + } + }, + 7333: function (t, e) { + "use strict"; + function r(t) { + return t + ? function (t, e, r, n, i, a, o, s, l, u, c) { + return i - n > l - s + ? (function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) { + for ( + var f = 2 * t, h = n, p = f * n; + h < i; + ++h, p += f + ) { + var d = a[e + p], + v = a[e + p + t], + g = o[h]; + t: for ( + var y = s, m = f * s; + y < l; + ++y, m += f + ) { + var x = u[e + m], + b = u[e + m + t], + _ = c[y]; + if (!(b < d || v < x)) { + for ( + var w = e + 1; + w < t; + ++w + ) { + var T = a[w + p], + k = a[w + t + p], + A = u[w + m], + M = u[w + t + m]; + if (k < A || M < T) + continue t; + } + var S = r(g, _); + if (void 0 !== S) return S; + } + } + } + })(t, e, r, n, i, a, o, s, l, u, c) + : (function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) { + for ( + var f = 2 * t, h = s, p = f * s; + h < l; + ++h, p += f + ) { + var d = u[e + p], + v = u[e + p + t], + g = c[h]; + t: for ( + var y = n, m = f * n; + y < i; + ++y, m += f + ) { + var x = a[e + m], + b = a[e + m + t], + _ = o[y]; + if (!(v < x || b < d)) { + for ( + var w = e + 1; + w < t; + ++w + ) { + var T = a[w + m], + k = a[w + t + m], + A = u[w + p], + M = u[w + t + p]; + if (k < A || M < T) + continue t; + } + var S = r(_, g); + if (void 0 !== S) return S; + } + } + } + })(t, e, r, n, i, a, o, s, l, u, c); + } + : function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + ) { + return a - i > u - l + ? n + ? (function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) { + for ( + var f = 2 * t, h = n, p = f * n; + h < i; + ++h, p += f + ) { + var d = a[e + p], + v = a[e + p + t], + g = o[h]; + t: for ( + var y = s, m = f * s; + y < l; + ++y, m += f + ) { + var x = u[e + m], + b = c[y]; + if (!(x <= d || v < x)) { + for ( + var _ = e + 1; + _ < t; + ++_ + ) { + var w = a[_ + p], + T = a[_ + t + p], + k = u[_ + m], + A = u[_ + t + m]; + if (T < k || A < w) + continue t; + } + var M = r(b, g); + if (void 0 !== M) return M; + } + } + } + })(t, e, r, i, a, o, s, l, u, c, f) + : (function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) { + for ( + var f = 2 * t, h = n, p = f * n; + h < i; + ++h, p += f + ) { + var d = a[e + p], + v = a[e + p + t], + g = o[h]; + t: for ( + var y = s, m = f * s; + y < l; + ++y, m += f + ) { + var x = u[e + m], + b = c[y]; + if (!(x < d || v < x)) { + for ( + var _ = e + 1; + _ < t; + ++_ + ) { + var w = a[_ + p], + T = a[_ + t + p], + k = u[_ + m], + A = u[_ + t + m]; + if (T < k || A < w) + continue t; + } + var M = r(g, b); + if (void 0 !== M) return M; + } + } + } + })(t, e, r, i, a, o, s, l, u, c, f) + : n + ? (function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) { + for ( + var f = 2 * t, h = s, p = f * s; + h < l; + ++h, p += f + ) { + var d = u[e + p], + v = c[h]; + t: for ( + var g = n, y = f * n; + g < i; + ++g, y += f + ) { + var m = a[e + y], + x = a[e + y + t], + b = o[g]; + if (!(d <= m || x < d)) { + for ( + var _ = e + 1; + _ < t; + ++_ + ) { + var w = a[_ + y], + T = a[_ + t + y], + k = u[_ + p], + A = u[_ + t + p]; + if (T < k || A < w) + continue t; + } + var M = r(v, b); + if (void 0 !== M) return M; + } + } + } + })(t, e, r, i, a, o, s, l, u, c, f) + : (function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) { + for ( + var f = 2 * t, h = s, p = f * s; + h < l; + ++h, p += f + ) { + var d = u[e + p], + v = c[h]; + t: for ( + var g = n, y = f * n; + g < i; + ++g, y += f + ) { + var m = a[e + y], + x = a[e + y + t], + b = o[g]; + if (!(d < m || x < d)) { + for ( + var _ = e + 1; + _ < t; + ++_ + ) { + var w = a[_ + y], + T = a[_ + t + y], + k = u[_ + p], + A = u[_ + t + p]; + if (T < k || A < w) + continue t; + } + var M = r(b, v); + if (void 0 !== M) return M; + } + } + } + })(t, e, r, i, a, o, s, l, u, c, f); + }; + } + (e.partial = r(!1)), (e.full = r(!0)); + }, + 2337: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r, a, c, w, T, k, A) { + !(function (t, e) { + var r = (8 * i.log2(e + 1) * (t + 1)) | 0, + a = i.nextPow2(6 * r); + y.length < a && + (n.free(y), (y = n.mallocInt32(a))); + var o = i.nextPow2(2 * r); + m.length < o && + (n.free(m), (m = n.mallocDouble(o))); + })(t, a + T); + var M, + S = 0, + E = 2 * t; + for ( + x( + S++, + 0, + 0, + a, + 0, + T, + r ? 16 : 0, + -1 / 0, + 1 / 0, + ), + r || + x(S++, 0, 0, T, 0, a, 1, -1 / 0, 1 / 0); + S > 0; + + ) { + var L = 6 * (S -= 1), + C = y[L], + P = y[L + 1], + O = y[L + 2], + I = y[L + 3], + D = y[L + 4], + z = y[L + 5], + R = 2 * S, + F = m[R], + B = m[R + 1], + N = 1 & z, + j = !!(16 & z), + U = c, + V = w, + H = k, + q = A; + if ( + (N && ((U = k), (V = A), (H = c), (q = w)), + !( + (2 & z && + ((O = p(t, C, P, O, U, V, B)), + P >= O)) || + (4 & z && + (P = d(t, C, P, O, U, V, F)) >= O) + )) + ) { + var G = O - P, + Z = D - I; + if (j) { + if (t * G * (G + Z) < 4194304) { + if ( + void 0 !== + (M = l.scanComplete( + t, + C, + e, + P, + O, + U, + V, + I, + D, + H, + q, + )) + ) + return M; + continue; + } + } else { + if (t * Math.min(G, Z) < 128) { + if ( + void 0 !== + (M = o( + t, + C, + e, + N, + P, + O, + U, + V, + I, + D, + H, + q, + )) + ) + return M; + continue; + } + if (t * G * Z < 4194304) { + if ( + void 0 !== + (M = l.scanBipartite( + t, + C, + e, + N, + P, + O, + U, + V, + I, + D, + H, + q, + )) + ) + return M; + continue; + } + } + var Y = f(t, C, P, O, U, V, F, B); + if (P < Y) + if (t * (Y - P) < 128) { + if ( + void 0 !== + (M = s( + t, + C + 1, + e, + P, + Y, + U, + V, + I, + D, + H, + q, + )) + ) + return M; + } else if (C === t - 2) { + if ( + void 0 !== + (M = N + ? l.sweepBipartite( + t, + e, + I, + D, + H, + q, + P, + Y, + U, + V, + ) + : l.sweepBipartite( + t, + e, + P, + Y, + U, + V, + I, + D, + H, + q, + )) + ) + return M; + } else + x( + S++, + C + 1, + P, + Y, + I, + D, + N, + -1 / 0, + 1 / 0, + ), + x( + S++, + C + 1, + I, + D, + P, + Y, + 1 ^ N, + -1 / 0, + 1 / 0, + ); + if (Y < O) { + var W = u(t, C, I, D, H, q), + X = H[E * W + C], + J = h(t, C, W, D, H, q, X); + if ( + (J < D && + x( + S++, + C, + Y, + O, + J, + D, + (4 | N) + (j ? 16 : 0), + X, + B, + ), + I < W && + x( + S++, + C, + Y, + O, + I, + W, + (2 | N) + (j ? 16 : 0), + F, + X, + ), + W + 1 === J) + ) { + if ( + void 0 !== + (M = j + ? _(t, C, e, Y, O, U, V, W, H, q[W]) + : b( + t, + C, + e, + N, + Y, + O, + U, + V, + W, + H, + q[W], + )) + ) + return M; + } else if (W < J) { + var K; + if (j) { + if ( + Y < (K = v(t, C, Y, O, U, V, X)) + ) { + var $ = h(t, C, Y, K, U, V, X); + if (C === t - 2) { + if ( + Y < $ && + void 0 !== + (M = l.sweepComplete( + t, + e, + Y, + $, + U, + V, + W, + J, + H, + q, + )) + ) + return M; + if ( + $ < K && + void 0 !== + (M = l.sweepBipartite( + t, + e, + $, + K, + U, + V, + W, + J, + H, + q, + )) + ) + return M; + } else + Y < $ && + x( + S++, + C + 1, + Y, + $, + W, + J, + 16, + -1 / 0, + 1 / 0, + ), + $ < K && + (x( + S++, + C + 1, + $, + K, + W, + J, + 0, + -1 / 0, + 1 / 0, + ), + x( + S++, + C + 1, + W, + J, + $, + K, + 1, + -1 / 0, + 1 / 0, + )); + } + } else + Y < + (K = N + ? g(t, C, Y, O, U, V, X) + : v(t, C, Y, O, U, V, X)) && + (C === t - 2 + ? (M = N + ? l.sweepBipartite( + t, + e, + W, + J, + H, + q, + Y, + K, + U, + V, + ) + : l.sweepBipartite( + t, + e, + Y, + K, + U, + V, + W, + J, + H, + q, + )) + : (x( + S++, + C + 1, + Y, + K, + W, + J, + N, + -1 / 0, + 1 / 0, + ), + x( + S++, + C + 1, + W, + J, + Y, + K, + 1 ^ N, + -1 / 0, + 1 / 0, + ))); + } + } + } + } + }; + var n = r(5306), + i = r(2288), + a = r(7333), + o = a.partial, + s = a.full, + l = r(1390), + u = r(2464), + c = r(122), + f = c("!(lo>=p0)&&!(p1>=hi)"), + h = c("lo===p0"), + p = c("lo>> 1, + f = 2 * t, + h = c, + p = o[f * c + e]; + l < u; + + ) { + if (u - l < 8) { + i(t, e, l, u, o, s), (p = o[f * c + e]); + break; + } + var d = u - l, + v = (Math.random() * d + l) | 0, + g = o[f * v + e], + y = (Math.random() * d + l) | 0, + m = o[f * y + e], + x = (Math.random() * d + l) | 0, + b = o[f * x + e]; + g <= m + ? b >= m + ? ((h = y), (p = m)) + : g >= b + ? ((h = v), (p = g)) + : ((h = x), (p = b)) + : m >= b + ? ((h = y), (p = m)) + : b >= g + ? ((h = v), (p = g)) + : ((h = x), (p = b)); + for ( + var _ = f * (u - 1), w = f * h, T = 0; + T < f; + ++T, ++_, ++w + ) { + var k = o[_]; + (o[_] = o[w]), (o[w] = k); + } + var A = s[u - 1]; + for ( + s[u - 1] = s[h], + s[h] = A, + _ = f * (u - 1), + w = f * (h = n(t, e, l, u - 1, o, s, p)), + T = 0; + T < f; + ++T, ++_, ++w + ) + (k = o[_]), (o[_] = o[w]), (o[w] = k); + if ( + ((A = s[u - 1]), + (s[u - 1] = s[h]), + (s[h] = A), + c < h) + ) { + for ( + u = h - 1; + l < u && o[f * (u - 1) + e] === p; + + ) + u -= 1; + u += 1; + } else { + if (!(h < c)) break; + for ( + l = h + 1; + l < u && o[f * l + e] === p; + + ) + l += 1; + } + } + return n(t, e, r, c, o, s, o[f * c + e]); + }; + var n = r(122)("lo r && i[f + e] > u; + --c, f -= o + ) { + for ( + var h = f, p = f + o, d = 0; + d < o; + ++d, ++h, ++p + ) { + var v = i[h]; + (i[h] = i[p]), (i[p] = v); + } + var g = a[c]; + (a[c] = a[c - 1]), (a[c - 1] = g); + } + } + }, + 122: function (t) { + "use strict"; + t.exports = function (t) { + return e[t]; + }; + var e = { + "lo===p0": function (t, e, r, n, i, a, o) { + for ( + var s = 2 * t, + l = s * r, + u = l, + c = r, + f = e, + h = r; + n > h; + ++h, l += s + ) + if (i[l + f] === o) + if (c === h) (c += 1), (u += s); + else { + for (var p = 0; s > p; ++p) { + var d = i[l + p]; + (i[l + p] = i[u]), (i[u++] = d); + } + var v = a[h]; + (a[h] = a[c]), (a[c++] = v); + } + return c; + }, + "lo h; + ++h, l += s + ) + if (i[l + f] < o) + if (c === h) (c += 1), (u += s); + else { + for (var p = 0; s > p; ++p) { + var d = i[l + p]; + (i[l + p] = i[u]), (i[u++] = d); + } + var v = a[h]; + (a[h] = a[c]), (a[c++] = v); + } + return c; + }, + "lo<=p0": function (t, e, r, n, i, a, o) { + for ( + var s = 2 * t, + l = s * r, + u = l, + c = r, + f = t + e, + h = r; + n > h; + ++h, l += s + ) + if (i[l + f] <= o) + if (c === h) (c += 1), (u += s); + else { + for (var p = 0; s > p; ++p) { + var d = i[l + p]; + (i[l + p] = i[u]), (i[u++] = d); + } + var v = a[h]; + (a[h] = a[c]), (a[c++] = v); + } + return c; + }, + "hi<=p0": function (t, e, r, n, i, a, o) { + for ( + var s = 2 * t, + l = s * r, + u = l, + c = r, + f = t + e, + h = r; + n > h; + ++h, l += s + ) + if (i[l + f] <= o) + if (c === h) (c += 1), (u += s); + else { + for (var p = 0; s > p; ++p) { + var d = i[l + p]; + (i[l + p] = i[u]), (i[u++] = d); + } + var v = a[h]; + (a[h] = a[c]), (a[c++] = v); + } + return c; + }, + "lo p; + ++p, l += s + ) { + var d = i[l + f], + v = i[l + h]; + if (d < o && o <= v) + if (c === p) (c += 1), (u += s); + else { + for (var g = 0; s > g; ++g) { + var y = i[l + g]; + (i[l + g] = i[u]), (i[u++] = y); + } + var m = a[p]; + (a[p] = a[c]), (a[c++] = m); + } + } + return c; + }, + "lo<=p0&&p0<=hi": function ( + t, + e, + r, + n, + i, + a, + o, + ) { + for ( + var s = 2 * t, + l = s * r, + u = l, + c = r, + f = e, + h = t + e, + p = r; + n > p; + ++p, l += s + ) { + var d = i[l + f], + v = i[l + h]; + if (d <= o && o <= v) + if (c === p) (c += 1), (u += s); + else { + for (var g = 0; s > g; ++g) { + var y = i[l + g]; + (i[l + g] = i[u]), (i[u++] = y); + } + var m = a[p]; + (a[p] = a[c]), (a[c++] = m); + } + } + return c; + }, + "!(lo>=p0)&&!(p1>=hi)": function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + for ( + var l = 2 * t, + u = l * r, + c = u, + f = r, + h = e, + p = t + e, + d = r; + n > d; + ++d, u += l + ) { + var v = i[u + h], + g = i[u + p]; + if (!(v >= o || s >= g)) + if (f === d) (f += 1), (c += l); + else { + for (var y = 0; l > y; ++y) { + var m = i[u + y]; + (i[u + y] = i[c]), (i[c++] = m); + } + var x = a[d]; + (a[d] = a[f]), (a[f++] = x); + } + } + return f; + }, + }; + }, + 309: function (t) { + "use strict"; + function e(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 r(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 n(t, e, r) { + (e *= 2), + (r[(t *= 2)] = r[e]), + (r[t + 1] = r[e + 1]); + } + function i(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 a(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 o(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 s(t, e, r, n) { + var i = n[(t *= 2)]; + return i < e || (i === e && n[t + 1] < r); + } + function l(t, u, c) { + var f = ((u - t + 1) / 6) | 0, + h = t + f, + p = u - f, + d = (t + u) >> 1, + v = d - f, + g = d + f, + y = h, + m = v, + x = d, + b = g, + _ = p, + w = t + 1, + T = u - 1, + k = 0; + o(y, m, c) && ((k = y), (y = m), (m = k)), + o(b, _, c) && ((k = b), (b = _), (_ = k)), + o(y, x, c) && ((k = y), (y = x), (x = k)), + o(m, x, c) && ((k = m), (m = x), (x = k)), + o(y, b, c) && ((k = y), (y = b), (b = k)), + o(x, b, c) && ((k = x), (x = b), (b = k)), + o(m, _, c) && ((k = m), (m = _), (_ = k)), + o(m, x, c) && ((k = m), (m = x), (x = k)), + o(b, _, c) && ((k = b), (b = _), (_ = k)); + for ( + var A = c[2 * m], + M = c[2 * m + 1], + S = c[2 * b], + E = c[2 * b + 1], + L = 2 * y, + C = 2 * x, + P = 2 * _, + O = 2 * h, + I = 2 * d, + D = 2 * p, + z = 0; + z < 2; + ++z + ) { + var R = c[L + z], + F = c[C + z], + B = c[P + z]; + (c[O + z] = R), + (c[I + z] = F), + (c[D + z] = B); + } + n(v, t, c), n(g, u, c); + for (var N = w; N <= T; ++N) + if (s(N, A, M, c)) N !== w && r(N, w, c), ++w; + else if (!s(N, S, E, c)) + for (;;) { + if (s(T, S, E, c)) { + s(T, A, M, c) + ? (i(N, w, T, c), ++w, --T) + : (r(N, T, c), --T); + break; + } + if (--T < N) break; + } + a(t, w - 1, A, M, c), + a(u, T + 1, S, E, c), + w - 2 - t <= 32 + ? e(t, w - 2, c) + : l(t, w - 2, c), + u - (T + 2) <= 32 + ? e(T + 2, u, c) + : l(T + 2, u, c), + T - w <= 32 ? e(w, T, c) : l(w, T, c); + } + t.exports = function (t, r) { + r <= 128 ? e(0, r - 1, t) : l(0, r - 1, t); + }; + }, + 1390: function (t, e, r) { + "use strict"; + t.exports = { + init: function (t) { + var e = i.nextPow2(t); + l.length < e && + (n.free(l), (l = n.mallocInt32(e))), + u.length < e && + (n.free(u), (u = n.mallocInt32(e))), + c.length < e && + (n.free(c), (c = n.mallocInt32(e))), + f.length < e && + (n.free(f), (f = n.mallocInt32(e))), + h.length < e && + (n.free(h), (h = n.mallocInt32(e))), + p.length < e && + (n.free(p), (p = n.mallocInt32(e))); + var r = 8 * e; + d.length < r && + (n.free(d), (d = n.mallocDouble(r))); + }, + sweepBipartite: function ( + t, + e, + r, + n, + i, + s, + h, + p, + y, + m, + ) { + for ( + var x = 0, + b = 2 * t, + _ = t - 1, + w = b - 1, + T = r; + T < n; + ++T + ) { + var k = s[T], + A = b * T; + (d[x++] = i[A + _]), + (d[x++] = -(k + 1)), + (d[x++] = i[A + w]), + (d[x++] = k); + } + for (T = h; T < p; ++T) { + k = m[T] + o; + var M = b * T; + (d[x++] = y[M + _]), + (d[x++] = -k), + (d[x++] = y[M + w]), + (d[x++] = k); + } + var S = x >>> 1; + a(d, S); + var E = 0, + L = 0; + for (T = 0; T < S; ++T) { + var C = 0 | d[2 * T + 1]; + if (C >= o) v(c, f, L--, (C = (C - o) | 0)); + else if (C >= 0) v(l, u, E--, C); + else if (C <= -268435456) { + C = (-C - o) | 0; + for (var P = 0; P < E; ++P) + if (void 0 !== (O = e(l[P], C))) + return O; + g(c, f, L++, C); + } else { + for ( + C = (-C - 1) | 0, P = 0; + P < L; + ++P + ) { + var O; + if (void 0 !== (O = e(C, c[P]))) + return O; + } + g(l, u, E++, C); + } + } + }, + sweepComplete: function ( + t, + e, + r, + n, + i, + o, + s, + y, + m, + x, + ) { + for ( + var b = 0, + _ = 2 * t, + w = t - 1, + T = _ - 1, + k = r; + k < n; + ++k + ) { + var A = (o[k] + 1) << 1, + M = _ * k; + (d[b++] = i[M + w]), + (d[b++] = -A), + (d[b++] = i[M + T]), + (d[b++] = A); + } + for (k = s; k < y; ++k) { + A = (x[k] + 1) << 1; + var S = _ * k; + (d[b++] = m[S + w]), + (d[b++] = 1 | -A), + (d[b++] = m[S + T]), + (d[b++] = 1 | A); + } + var E = b >>> 1; + a(d, E); + var L = 0, + C = 0, + P = 0; + for (k = 0; k < E; ++k) { + var O = 0 | d[2 * k + 1], + I = 1 & O; + if ( + (k < E - 1 && + O >> 1 == d[2 * k + 3] >> 1 && + ((I = 2), (k += 1)), + O < 0) + ) { + for ( + var D = -(O >> 1) - 1, z = 0; + z < P; + ++z + ) + if (void 0 !== (R = e(h[z], D))) + return R; + if (0 !== I) + for (z = 0; z < L; ++z) + if (void 0 !== (R = e(l[z], D))) + return R; + if (1 !== I) + for (z = 0; z < C; ++z) { + var R; + if (void 0 !== (R = e(c[z], D))) + return R; + } + 0 === I + ? g(l, u, L++, D) + : 1 === I + ? g(c, f, C++, D) + : 2 === I && g(h, p, P++, D); + } else + (D = (O >> 1) - 1), + 0 === I + ? v(l, u, L--, D) + : 1 === I + ? v(c, f, C--, D) + : 2 === I && v(h, p, P--, D); + } + }, + scanBipartite: function ( + t, + e, + r, + n, + i, + s, + c, + f, + h, + p, + y, + m, + ) { + var x = 0, + b = 2 * t, + _ = e, + w = e + t, + T = 1, + k = 1; + n ? (k = o) : (T = o); + for (var A = i; A < s; ++A) { + var M = A + T, + S = b * A; + (d[x++] = c[S + _]), + (d[x++] = -M), + (d[x++] = c[S + w]), + (d[x++] = M); + } + for (A = h; A < p; ++A) { + M = A + k; + var E = b * A; + (d[x++] = y[E + _]), (d[x++] = -M); + } + var L = x >>> 1; + a(d, L); + var C = 0; + for (A = 0; A < L; ++A) { + var P = 0 | d[2 * A + 1]; + if (P < 0) { + var O = !1; + if ( + ((M = -P) >= o + ? ((O = !n), (M -= o)) + : ((O = !!n), (M -= 1)), + O) + ) + g(l, u, C++, M); + else { + var I = m[M], + D = b * M, + z = y[D + e + 1], + R = y[D + e + 1 + t]; + t: for (var F = 0; F < C; ++F) { + var B = l[F], + N = b * B; + if ( + !( + R < c[N + e + 1] || + c[N + e + 1 + t] < z + ) + ) { + for (var j = e + 2; j < t; ++j) + if ( + y[D + j + t] < c[N + j] || + c[N + j + t] < y[D + j] + ) + continue t; + var U, + V = f[B]; + if ( + void 0 !== + (U = n ? r(I, V) : r(V, I)) + ) + return U; + } + } + } + } else v(l, u, C--, P - T); + } + }, + scanComplete: function ( + t, + e, + r, + n, + i, + s, + u, + c, + f, + h, + p, + ) { + for ( + var v = 0, + g = 2 * t, + y = e, + m = e + t, + x = n; + x < i; + ++x + ) { + var b = x + o, + _ = g * x; + (d[v++] = s[_ + y]), + (d[v++] = -b), + (d[v++] = s[_ + m]), + (d[v++] = b); + } + for (x = c; x < f; ++x) { + b = x + 1; + var w = g * x; + (d[v++] = h[w + y]), (d[v++] = -b); + } + var T = v >>> 1; + a(d, T); + var k = 0; + for (x = 0; x < T; ++x) { + var A = 0 | d[2 * x + 1]; + if (A < 0) + if ((b = -A) >= o) l[k++] = b - o; + else { + var M = p[(b -= 1)], + S = g * b, + E = h[S + e + 1], + L = h[S + e + 1 + t]; + t: for (var C = 0; C < k; ++C) { + var P = l[C], + O = u[P]; + if (O === M) break; + var I = g * P; + if ( + !( + L < s[I + e + 1] || + s[I + e + 1 + t] < E + ) + ) { + for (var D = e + 2; D < t; ++D) + if ( + h[S + D + t] < s[I + D] || + s[I + D + t] < h[S + D] + ) + continue t; + var z = r(O, M); + if (void 0 !== z) return z; + } + } + } + else { + for (b = A - o, C = k - 1; C >= 0; --C) + if (l[C] === b) { + for (D = C + 1; D < k; ++D) + l[D - 1] = l[D]; + break; + } + --k; + } + } + }, + }; + var n = r(5306), + i = r(2288), + a = r(309), + o = 1 << 28, + s = 1024, + l = n.mallocInt32(s), + u = n.mallocInt32(s), + c = n.mallocInt32(s), + f = n.mallocInt32(s), + h = n.mallocInt32(s), + p = n.mallocInt32(s), + d = n.mallocDouble(8192); + function v(t, e, r, n) { + var i = e[n], + a = t[r - 1]; + (t[i] = a), (e[a] = i); + } + function g(t, e, r, n) { + (t[r] = n), (e[n] = r); + } + }, + 7761: function (t, e, r) { + "use strict"; + var n = r(9971), + i = r(743), + a = r(2161), + o = r(7098); + function s(t) { + return [ + Math.min(t[0], t[1]), + Math.max(t[0], t[1]), + ]; + } + function l(t, e) { + return t[0] - e[0] || t[1] - e[1]; + } + function u(t, e, r) { + return e in t ? t[e] : r; + } + t.exports = function (t, e, r) { + Array.isArray(e) + ? ((r = r || {}), (e = e || [])) + : ((r = e || {}), (e = [])); + var c = !!u(r, "delaunay", !0), + f = !!u(r, "interior", !0), + h = !!u(r, "exterior", !0), + p = !!u(r, "infinity", !1); + if ((!f && !h) || 0 === t.length) return []; + var d = n(t, e); + if (c || f !== h || p) { + for ( + var v = i( + t.length, + (function (t) { + return t.map(s).sort(l); + })(e), + ), + g = 0; + g < d.length; + ++g + ) { + var y = d[g]; + v.addTriangle(y[0], y[1], y[2]); + } + return ( + c && a(t, v), + h + ? f + ? p + ? o(v, 0, p) + : v.cells() + : o(v, 1, p) + : o(v, -1) + ); + } + return d; + }; + }, + 2161: function (t, e, r) { + "use strict"; + var n = r(2227)[4]; + function i(t, e, r, i, a, o) { + var s = e.opposite(i, a); + if (!(s < 0)) { + if (a < i) { + var l = i; + (i = a), (a = l), (l = o), (o = s), (s = l); + } + e.isConstraint(i, a) || + (n(t[i], t[a], t[o], t[s]) < 0 && + r.push(i, a)); + } + } + r(5070), + (t.exports = function (t, e) { + for ( + var r = [], + a = t.length, + o = e.stars, + s = 0; + s < a; + ++s + ) + for ( + var l = o[s], u = 1; + u < l.length; + u += 2 + ) + if ( + !( + (p = l[u]) < s || e.isConstraint(s, p) + ) + ) { + for ( + var c = l[u - 1], f = -1, h = 1; + h < l.length; + h += 2 + ) + if (l[h - 1] === p) { + f = l[h]; + break; + } + f < 0 || + (n(t[s], t[p], t[c], t[f]) < 0 && + r.push(s, p)); + } + for (; r.length > 0; ) { + for ( + var p = r.pop(), + d = + ((c = -1), + (f = -1), + (l = o[(s = r.pop())]), + 1); + d < l.length; + d += 2 + ) { + var v = l[d - 1], + g = l[d]; + v === p ? (f = g) : g === p && (c = v); + } + c < 0 || + f < 0 || + n(t[s], t[p], t[c], t[f]) >= 0 || + (e.flip(s, p), + i(t, e, r, c, s, f), + i(t, e, r, s, f, c), + i(t, e, r, f, p, c), + i(t, e, r, p, c, f)); + } + }); + }, + 7098: function (t, e, r) { + "use strict"; + var n, + i = r(5070); + function a(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 o(t, e) { + return ( + t[0] - e[0] || t[1] - e[1] || t[2] - e[2] + ); + } + (t.exports = function (t, e, r) { + var n = (function (t, e) { + for ( + var r = t.cells(), n = r.length, i = 0; + i < n; + ++i + ) { + var s = (y = r[i])[0], + l = y[1], + u = y[2]; + l < u + ? l < s && + ((y[0] = l), (y[1] = u), (y[2] = s)) + : u < s && + ((y[0] = u), (y[1] = s), (y[2] = l)); + } + r.sort(o); + var c = new Array(n); + for (i = 0; i < c.length; ++i) c[i] = 0; + var f = [], + h = [], + p = new Array(3 * n), + d = new Array(3 * n), + v = null; + e && (v = []); + var g = new a(r, p, d, c, f, h, v); + for (i = 0; i < n; ++i) + for (var y = r[i], m = 0; m < 3; ++m) { + (s = y[m]), (l = y[(m + 1) % 3]); + var x = (p[3 * i + m] = g.locate( + l, + s, + t.opposite(l, s), + )), + b = (d[3 * i + m] = t.isConstraint( + s, + l, + )); + x < 0 && + (b + ? h.push(i) + : (f.push(i), (c[i] = 1)), + e && v.push([l, s, -1])); + } + return g; + })(t, r); + if (0 === e) + return r + ? n.cells.concat(n.boundary) + : n.cells; + for ( + var i = 1, + s = n.active, + l = n.next, + u = n.flags, + c = n.cells, + f = n.constraint, + h = n.neighbor; + s.length > 0 || l.length > 0; + + ) { + for (; s.length > 0; ) { + var p = s.pop(); + if (u[p] !== -i) { + (u[p] = i), c[p]; + for (var d = 0; d < 3; ++d) { + var v = h[3 * p + d]; + v >= 0 && + 0 === u[v] && + (f[3 * p + d] + ? l.push(v) + : (s.push(v), (u[v] = i))); + } + } + } + var g = l; + (l = s), (s = g), (l.length = 0), (i = -i); + } + var y = (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; + })(c, u, e); + return r ? y.concat(n.boundary) : y; + }), + (a.prototype.locate = + ((n = [0, 0, 0]), + function (t, e, r) { + var a = t, + s = e, + l = r; + return ( + e < r + ? e < t && ((a = e), (s = r), (l = t)) + : r < t && ((a = r), (s = t), (l = e)), + a < 0 + ? -1 + : ((n[0] = a), + (n[1] = s), + (n[2] = l), + i.eq(this.cells, n, o)) + ); + })); + }, + 9971: function (t, e, r) { + "use strict"; + var n = r(5070), + i = r(417)[3]; + function a(t, e, r, n, i) { + (this.a = t), + (this.b = e), + (this.idx = r), + (this.lowerIds = n), + (this.upperIds = i); + } + function o(t, e, r, n) { + (this.a = t), + (this.b = e), + (this.type = r), + (this.idx = n); + } + function s(t, e) { + var r = + t.a[0] - e.a[0] || + t.a[1] - e.a[1] || + t.type - e.type; + return ( + r || + (0 !== t.type && (r = i(t.a, t.b, e.b)) + ? r + : t.idx - e.idx) + ); + } + function l(t, e) { + return i(t.a, t.b, e); + } + function u(t, e, r, a, o) { + for ( + var s = n.lt(e, a, l), + u = n.gt(e, a, l), + c = s; + c < u; + ++c + ) { + for ( + var f = e[c], h = f.lowerIds, p = h.length; + p > 1 && i(r[h[p - 2]], r[h[p - 1]], a) > 0; + + ) + t.push([h[p - 1], h[p - 2], o]), (p -= 1); + (h.length = p), h.push(o); + var d = f.upperIds; + for ( + p = d.length; + p > 1 && i(r[d[p - 2]], r[d[p - 1]], a) < 0; + + ) + t.push([d[p - 2], d[p - 1], o]), (p -= 1); + (d.length = p), d.push(o); + } + } + function c(t, e) { + var r; + return (r = + t.a[0] < e.a[0] + ? i(t.a, t.b, e.a) + : i(e.b, e.a, t.a)) + ? r + : (r = + e.b[0] < t.b[0] + ? i(t.a, t.b, e.b) + : i(e.b, e.a, t.b)) || t.idx - e.idx; + } + function f(t, e, r) { + var i = n.le(t, r, c), + o = t[i], + s = o.upperIds, + l = s[s.length - 1]; + (o.upperIds = [l]), + t.splice( + i + 1, + 0, + new a(r.a, r.b, r.idx, [l], s), + ); + } + function h(t, e, r) { + var i = r.a; + (r.a = r.b), (r.b = i); + var a = n.eq(t, r, c), + o = t[a]; + (t[a - 1].upperIds = o.upperIds), + t.splice(a, 1); + } + t.exports = function (t, e) { + for ( + var r = t.length, n = e.length, i = [], l = 0; + l < r; + ++l + ) + i.push(new o(t[l], null, 0, l)); + for (l = 0; l < n; ++l) { + var c = e[l], + p = t[c[0]], + d = t[c[1]]; + p[0] < d[0] + ? i.push( + new o(p, d, 2, l), + new o(d, p, 1, l), + ) + : p[0] > d[0] && + i.push( + new o(d, p, 2, l), + new o(p, d, 1, l), + ); + } + i.sort(s); + for ( + var v = + i[0].a[0] - + (1 + Math.abs(i[0].a[0])) * + Math.pow(2, -52), + g = [ + new a([v, 1], [v, 0], -1, [], [], [], []), + ], + y = [], + m = ((l = 0), i.length); + l < m; + ++l + ) { + var x = i[l], + b = x.type; + 0 === b + ? u(y, g, t, x.a, x.idx) + : 2 === b + ? f(g, 0, x) + : h(g, 0, x); + } + return y; + }; + }, + 743: function (t, e, r) { + "use strict"; + var n = r(5070); + function i(t, e) { + (this.stars = t), (this.edges = e); + } + t.exports = function (t, e) { + for (var r = new Array(t), n = 0; n < t; ++n) + r[n] = []; + return new i(r, e); + }; + var a = i.prototype; + function o(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) + ); + } + (a.isConstraint = (function () { + var t = [0, 0]; + function e(t, e) { + return t[0] - e[0] || t[1] - e[1]; + } + return function (r, i) { + return ( + (t[0] = Math.min(r, i)), + (t[1] = Math.max(r, i)), + n.eq(this.edges, t, e) >= 0 + ); + }; + })()), + (a.removeTriangle = function (t, e, r) { + var n = this.stars; + o(n[t], e, r), o(n[e], r, t), o(n[r], t, e); + }), + (a.addTriangle = function (t, e, r) { + var n = this.stars; + n[t].push(e, r), + n[e].push(r, t), + n[r].push(t, e); + }), + (a.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; + }), + (a.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); + }), + (a.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; + }), + (a.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; + }); + }, + 9887: function (t) { + "use strict"; + t.exports = 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; + }; + }, + 9243: function (t, e, r) { + "use strict"; + var n = r(3094), + i = r(6606); + function a(t, e) { + for (var r = 0, n = t.length, i = 0; i < n; ++i) + r += t[i] * e[i]; + return r; + } + function o(t) { + var e = t.length; + if (0 === e) return []; + t[0].length; + var r = n([t.length + 1, t.length + 1], 1), + o = n([t.length + 1], 1); + r[e][e] = 0; + for (var s = 0; s < e; ++s) { + for (var l = 0; l <= s; ++l) + r[l][s] = r[s][l] = 2 * a(t[s], t[l]); + o[s] = a(t[s], t[s]); + } + var u = i(r, o), + c = 0, + f = u[e + 1]; + for (s = 0; s < f.length; ++s) c += f[s]; + var h = new Array(e); + for (s = 0; s < e; ++s) { + f = u[s]; + var p = 0; + for (l = 0; l < f.length; ++l) p += f[l]; + h[s] = p / c; + } + return h; + } + function s(t) { + if (0 === t.length) return []; + for ( + var e = t[0].length, + r = n([e]), + i = o(t), + a = 0; + a < t.length; + ++a + ) + for (var s = 0; s < e; ++s) + r[s] += t[a][s] * i[a]; + return r; + } + (s.barycenetric = o), (t.exports = s); + }, + 1778: function (t, e, r) { + t.exports = function (t) { + for ( + var e = n(t), r = 0, i = 0; + i < t.length; + ++i + ) + for (var a = t[i], o = 0; o < e.length; ++o) + r += Math.pow(a[o] - e[o], 2); + return Math.sqrt(r / t.length); + }; + var n = r(9243); + }, + 197: function (t, e, r) { + "use strict"; + t.exports = 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; + } + for ( + var s = (function (t, e, r) { + var n = d(t, [], p(t)); + return y(e, n, r), !!n; + })(t, e, !!r); + m(t, e, !!r); + + ) + s = !0; + if (r && s) + for ( + n.length = 0, r.length = 0, a = 0; + a < e.length; + ++a + ) + (o = e[a]), + n.push([o[0], o[1]]), + r.push(o[2]); + return s; + }; + var n = r(1731), + i = r(2569), + a = r(4434), + o = r(5125), + s = r(8846), + l = r(7999), + u = r(2826), + c = r(8551), + f = r(5528); + function h(t) { + var e = l(t); + return [c(e, -1 / 0), c(e, 1 / 0)]; + } + function p(t) { + for ( + var e = new Array(t.length), r = 0; + r < t.length; + ++r + ) { + var n = t[r]; + e[r] = [ + c(n[0], -1 / 0), + c(n[1], -1 / 0), + c(n[0], 1 / 0), + c(n[1], 1 / 0), + ]; + } + return e; + } + function d(t, e, r) { + for ( + var a = e.length, o = new n(a), s = [], l = 0; + l < e.length; + ++l + ) { + var u = e[l], + f = h(u[0]), + p = h(u[1]); + s.push([ + c(f[0], -1 / 0), + c(p[0], -1 / 0), + c(f[1], 1 / 0), + c(p[1], 1 / 0), + ]); + } + i(s, function (t, e) { + o.link(t, e); + }); + var d = !0, + v = new Array(a); + for (l = 0; l < a; ++l) + (y = o.find(l)) !== l && + ((d = !1), + (t[y] = [ + Math.min(t[l][0], t[y][0]), + Math.min(t[l][1], t[y][1]), + ])); + if (d) return null; + var g = 0; + for (l = 0; l < a; ++l) { + var y; + (y = o.find(l)) === l + ? ((v[l] = g), (t[g++] = t[l])) + : (v[l] = -1); + } + for (t.length = g, l = 0; l < a; ++l) + v[l] < 0 && (v[l] = v[o.find(l)]); + return v; + } + function v(t, e) { + return t[0] - e[0] || t[1] - e[1]; + } + function g(t, e) { + return ( + t[0] - e[0] || + t[1] - e[1] || + (t[2] < e[2] ? -1 : t[2] > e[2] ? 1 : 0) + ); + } + function y(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(g) : t.sort(v); + 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 m(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] = [ + c(Math.min(a[0], o[0]), -1 / 0), + c(Math.min(a[1], o[1]), -1 / 0), + c(Math.max(a[0], o[0]), 1 / 0), + c(Math.max(a[1], o[1]), 1 / 0), + ]; + } + return r; + })(t, e), + h = (function (t, e, r) { + var n = []; + return ( + i(r, function (r, i) { + var o = e[r], + s = e[i]; + if ( + o[0] !== s[0] && + o[0] !== s[1] && + o[1] !== s[0] && + o[1] !== s[1] + ) { + var l = t[o[0]], + u = t[o[1]], + c = t[s[0]], + f = t[s[1]]; + a(l, u, c, f) && n.push([r, i]); + } + }), + n + ); + })(t, e, n), + v = (function (t, e, r, n) { + var o = []; + return ( + i(r, n, function (r, n) { + var i = e[r]; + if (i[0] !== n && i[1] !== n) { + var s = t[n], + l = t[i[0]], + u = t[i[1]]; + a(l, u, s, s) && o.push([r, n]); + } + }), + o + ); + })(t, e, n, p(t)), + g = (function (t, e, r, n, i) { + var a, + c, + h = t.map(function (t) { + return [o(t[0]), o(t[1])]; + }); + for (a = 0; a < r.length; ++a) { + var p = r[a]; + c = p[0]; + var d = p[1], + v = e[c], + g = e[d], + y = f( + u(t[v[0]]), + u(t[v[1]]), + u(t[g[0]]), + u(t[g[1]]), + ); + if (y) { + var m = t.length; + t.push([l(y[0]), l(y[1])]), + h.push(y), + n.push([c, m], [d, m]); + } + } + for ( + n.sort(function (t, e) { + if (t[0] !== e[0]) return t[0] - e[0]; + var r = h[t[1]], + n = h[e[1]]; + return s(r[0], n[0]) || s(r[1], n[1]); + }), + a = n.length - 1; + a >= 0; + --a + ) { + var x = e[(c = (S = n[a])[0])], + b = x[0], + _ = x[1], + w = t[b], + T = t[_]; + if ((w[0] - T[0] || w[1] - T[1]) < 0) { + var k = b; + (b = _), (_ = k); + } + x[0] = b; + var A, + M = (x[1] = S[1]); + for ( + i && (A = x[2]); + a > 0 && n[a - 1][0] === c; + + ) { + var S, + E = (S = n[--a])[1]; + i ? e.push([M, E, A]) : e.push([M, E]), + (M = E); + } + i ? e.push([M, _, A]) : e.push([M, _]); + } + return h; + })(t, e, h, v, r), + m = d(t, g); + return ( + y(e, m, r), + !!m || h.length > 0 || v.length > 0 + ); + } + }, + 5528: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r, n) { + var a = s(e, t), + f = s(n, r), + h = c(a, f); + if (0 === o(h)) return null; + var p = c(f, s(t, r)), + d = i(p, h), + v = u(a, d); + return l(t, v); + }; + var n = r(3962), + i = r(9189), + a = r(4354), + o = r(4951), + s = r(6695), + l = r(7584), + u = r(4469); + function c(t, e) { + return a(n(t[0], e[1]), n(t[1], e[0])); + } + }, + 5692: function (t) { + t.exports = { + jet: [ + { index: 0, rgb: [0, 0, 131] }, + { index: 0.125, rgb: [0, 60, 170] }, + { index: 0.375, rgb: [5, 255, 255] }, + { index: 0.625, rgb: [255, 255, 0] }, + { index: 0.875, rgb: [250, 0, 0] }, + { index: 1, rgb: [128, 0, 0] }, + ], + hsv: [ + { index: 0, rgb: [255, 0, 0] }, + { index: 0.169, rgb: [253, 255, 2] }, + { index: 0.173, rgb: [247, 255, 2] }, + { index: 0.337, rgb: [0, 252, 4] }, + { index: 0.341, rgb: [0, 252, 10] }, + { index: 0.506, rgb: [1, 249, 255] }, + { index: 0.671, rgb: [2, 0, 253] }, + { index: 0.675, rgb: [8, 0, 253] }, + { index: 0.839, rgb: [255, 0, 251] }, + { index: 0.843, rgb: [255, 0, 245] }, + { index: 1, rgb: [255, 0, 6] }, + ], + hot: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.3, rgb: [230, 0, 0] }, + { index: 0.6, rgb: [255, 210, 0] }, + { index: 1, rgb: [255, 255, 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: 0.376, rgb: [84, 84, 116] }, + { index: 0.753, rgb: [169, 200, 200] }, + { index: 1, rgb: [255, 255, 255] }, + ], + copper: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.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: 0.125, rgb: [37, 52, 148] }, + { index: 0.25, rgb: [34, 94, 168] }, + { index: 0.375, rgb: [29, 145, 192] }, + { index: 0.5, rgb: [65, 182, 196] }, + { index: 0.625, rgb: [127, 205, 187] }, + { index: 0.75, rgb: [199, 233, 180] }, + { index: 0.875, rgb: [237, 248, 217] }, + { index: 1, rgb: [255, 255, 217] }, + ], + greens: [ + { index: 0, rgb: [0, 68, 27] }, + { index: 0.125, rgb: [0, 109, 44] }, + { index: 0.25, rgb: [35, 139, 69] }, + { index: 0.375, rgb: [65, 171, 93] }, + { index: 0.5, rgb: [116, 196, 118] }, + { index: 0.625, rgb: [161, 217, 155] }, + { index: 0.75, rgb: [199, 233, 192] }, + { index: 0.875, rgb: [229, 245, 224] }, + { index: 1, rgb: [247, 252, 245] }, + ], + yiorrd: [ + { index: 0, rgb: [128, 0, 38] }, + { index: 0.125, rgb: [189, 0, 38] }, + { index: 0.25, rgb: [227, 26, 28] }, + { index: 0.375, rgb: [252, 78, 42] }, + { index: 0.5, rgb: [253, 141, 60] }, + { index: 0.625, rgb: [254, 178, 76] }, + { index: 0.75, rgb: [254, 217, 118] }, + { index: 0.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: 0.35, rgb: [106, 137, 247] }, + { index: 0.5, rgb: [190, 190, 190] }, + { index: 0.6, rgb: [220, 170, 132] }, + { index: 0.7, rgb: [230, 145, 90] }, + { index: 1, rgb: [178, 10, 28] }, + ], + picnic: [ + { index: 0, rgb: [0, 0, 255] }, + { index: 0.1, rgb: [51, 153, 255] }, + { index: 0.2, rgb: [102, 204, 255] }, + { index: 0.3, rgb: [153, 204, 255] }, + { index: 0.4, rgb: [204, 204, 255] }, + { index: 0.5, rgb: [255, 255, 255] }, + { index: 0.6, rgb: [255, 204, 255] }, + { index: 0.7, rgb: [255, 153, 255] }, + { index: 0.8, rgb: [255, 102, 204] }, + { index: 0.9, rgb: [255, 102, 102] }, + { index: 1, rgb: [255, 0, 0] }, + ], + rainbow: [ + { index: 0, rgb: [150, 0, 90] }, + { index: 0.125, rgb: [0, 0, 200] }, + { index: 0.25, rgb: [0, 25, 255] }, + { index: 0.375, rgb: [0, 152, 255] }, + { index: 0.5, rgb: [44, 255, 150] }, + { index: 0.625, rgb: [151, 255, 0] }, + { index: 0.75, rgb: [255, 234, 0] }, + { index: 0.875, rgb: [255, 111, 0] }, + { index: 1, rgb: [255, 0, 0] }, + ], + portland: [ + { index: 0, rgb: [12, 51, 131] }, + { index: 0.25, rgb: [10, 136, 186] }, + { index: 0.5, rgb: [242, 211, 56] }, + { index: 0.75, rgb: [242, 143, 56] }, + { index: 1, rgb: [217, 30, 30] }, + ], + blackbody: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.2, rgb: [230, 0, 0] }, + { index: 0.4, rgb: [230, 210, 0] }, + { index: 0.7, rgb: [255, 255, 255] }, + { index: 1, rgb: [160, 200, 255] }, + ], + earth: [ + { index: 0, rgb: [0, 0, 130] }, + { index: 0.1, rgb: [0, 180, 180] }, + { index: 0.2, rgb: [40, 210, 40] }, + { index: 0.4, rgb: [230, 230, 50] }, + { index: 0.6, rgb: [120, 70, 20] }, + { index: 1, rgb: [255, 255, 255] }, + ], + electric: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.15, rgb: [30, 0, 100] }, + { index: 0.4, rgb: [120, 0, 100] }, + { index: 0.6, rgb: [160, 90, 0] }, + { index: 0.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: 0.13, rgb: [71, 44, 122] }, + { index: 0.25, rgb: [59, 81, 139] }, + { index: 0.38, rgb: [44, 113, 142] }, + { index: 0.5, rgb: [33, 144, 141] }, + { index: 0.63, rgb: [39, 173, 129] }, + { index: 0.75, rgb: [92, 200, 99] }, + { index: 0.88, rgb: [170, 220, 50] }, + { index: 1, rgb: [253, 231, 37] }, + ], + inferno: [ + { index: 0, rgb: [0, 0, 4] }, + { index: 0.13, rgb: [31, 12, 72] }, + { index: 0.25, rgb: [85, 15, 109] }, + { index: 0.38, rgb: [136, 34, 106] }, + { index: 0.5, rgb: [186, 54, 85] }, + { index: 0.63, rgb: [227, 89, 51] }, + { index: 0.75, rgb: [249, 140, 10] }, + { index: 0.88, rgb: [249, 201, 50] }, + { index: 1, rgb: [252, 255, 164] }, + ], + magma: [ + { index: 0, rgb: [0, 0, 4] }, + { index: 0.13, rgb: [28, 16, 68] }, + { index: 0.25, rgb: [79, 18, 123] }, + { index: 0.38, rgb: [129, 37, 129] }, + { index: 0.5, rgb: [181, 54, 122] }, + { index: 0.63, rgb: [229, 80, 100] }, + { index: 0.75, rgb: [251, 135, 97] }, + { index: 0.88, rgb: [254, 194, 135] }, + { index: 1, rgb: [252, 253, 191] }, + ], + plasma: [ + { index: 0, rgb: [13, 8, 135] }, + { index: 0.13, rgb: [75, 3, 161] }, + { index: 0.25, rgb: [125, 3, 168] }, + { index: 0.38, rgb: [168, 34, 150] }, + { index: 0.5, rgb: [203, 70, 121] }, + { index: 0.63, rgb: [229, 107, 93] }, + { index: 0.75, rgb: [248, 148, 65] }, + { index: 0.88, rgb: [253, 195, 40] }, + { index: 1, rgb: [240, 249, 33] }, + ], + warm: [ + { index: 0, rgb: [125, 0, 179] }, + { index: 0.13, rgb: [172, 0, 187] }, + { index: 0.25, rgb: [219, 0, 170] }, + { index: 0.38, rgb: [255, 0, 130] }, + { index: 0.5, rgb: [255, 63, 74] }, + { index: 0.63, rgb: [255, 123, 0] }, + { index: 0.75, rgb: [234, 176, 0] }, + { index: 0.88, rgb: [190, 228, 0] }, + { index: 1, rgb: [147, 255, 0] }, + ], + cool: [ + { index: 0, rgb: [125, 0, 179] }, + { index: 0.13, rgb: [116, 0, 218] }, + { index: 0.25, rgb: [98, 74, 237] }, + { index: 0.38, rgb: [68, 146, 231] }, + { index: 0.5, rgb: [0, 204, 197] }, + { index: 0.63, rgb: [0, 247, 146] }, + { index: 0.75, rgb: [0, 255, 88] }, + { index: 0.88, rgb: [40, 255, 8] }, + { index: 1, rgb: [147, 255, 0] }, + ], + "rainbow-soft": [ + { index: 0, rgb: [125, 0, 179] }, + { index: 0.1, rgb: [199, 0, 180] }, + { index: 0.2, rgb: [255, 0, 121] }, + { index: 0.3, rgb: [255, 108, 0] }, + { index: 0.4, rgb: [222, 194, 0] }, + { index: 0.5, rgb: [150, 255, 0] }, + { index: 0.6, rgb: [0, 255, 55] }, + { index: 0.7, rgb: [0, 246, 150] }, + { index: 0.8, rgb: [50, 167, 222] }, + { index: 0.9, rgb: [103, 51, 235] }, + { index: 1, rgb: [124, 0, 186] }, + ], + bathymetry: [ + { index: 0, rgb: [40, 26, 44] }, + { index: 0.13, rgb: [59, 49, 90] }, + { index: 0.25, rgb: [64, 76, 139] }, + { index: 0.38, rgb: [63, 110, 151] }, + { index: 0.5, rgb: [72, 142, 158] }, + { index: 0.63, rgb: [85, 174, 163] }, + { index: 0.75, rgb: [120, 206, 163] }, + { index: 0.88, rgb: [187, 230, 172] }, + { index: 1, rgb: [253, 254, 204] }, + ], + cdom: [ + { index: 0, rgb: [47, 15, 62] }, + { index: 0.13, rgb: [87, 23, 86] }, + { index: 0.25, rgb: [130, 28, 99] }, + { index: 0.38, rgb: [171, 41, 96] }, + { index: 0.5, rgb: [206, 67, 86] }, + { index: 0.63, rgb: [230, 106, 84] }, + { index: 0.75, rgb: [242, 149, 103] }, + { index: 0.88, rgb: [249, 193, 135] }, + { index: 1, rgb: [254, 237, 176] }, + ], + chlorophyll: [ + { index: 0, rgb: [18, 36, 20] }, + { index: 0.13, rgb: [25, 63, 41] }, + { index: 0.25, rgb: [24, 91, 59] }, + { index: 0.38, rgb: [13, 119, 72] }, + { index: 0.5, rgb: [18, 148, 80] }, + { index: 0.63, rgb: [80, 173, 89] }, + { index: 0.75, rgb: [132, 196, 122] }, + { index: 0.88, rgb: [175, 221, 162] }, + { index: 1, rgb: [215, 249, 208] }, + ], + density: [ + { index: 0, rgb: [54, 14, 36] }, + { index: 0.13, rgb: [89, 23, 80] }, + { index: 0.25, rgb: [110, 45, 132] }, + { index: 0.38, rgb: [120, 77, 178] }, + { index: 0.5, rgb: [120, 113, 213] }, + { index: 0.63, rgb: [115, 151, 228] }, + { index: 0.75, rgb: [134, 185, 227] }, + { index: 0.88, rgb: [177, 214, 227] }, + { index: 1, rgb: [230, 241, 241] }, + ], + "freesurface-blue": [ + { index: 0, rgb: [30, 4, 110] }, + { index: 0.13, rgb: [47, 14, 176] }, + { index: 0.25, rgb: [41, 45, 236] }, + { index: 0.38, rgb: [25, 99, 212] }, + { index: 0.5, rgb: [68, 131, 200] }, + { index: 0.63, rgb: [114, 156, 197] }, + { index: 0.75, rgb: [157, 181, 203] }, + { index: 0.88, rgb: [200, 208, 216] }, + { index: 1, rgb: [241, 237, 236] }, + ], + "freesurface-red": [ + { index: 0, rgb: [60, 9, 18] }, + { index: 0.13, rgb: [100, 17, 27] }, + { index: 0.25, rgb: [142, 20, 29] }, + { index: 0.38, rgb: [177, 43, 27] }, + { index: 0.5, rgb: [192, 87, 63] }, + { index: 0.63, rgb: [205, 125, 105] }, + { index: 0.75, rgb: [216, 162, 148] }, + { index: 0.88, rgb: [227, 199, 193] }, + { index: 1, rgb: [241, 237, 236] }, + ], + oxygen: [ + { index: 0, rgb: [64, 5, 5] }, + { index: 0.13, rgb: [106, 6, 15] }, + { index: 0.25, rgb: [144, 26, 7] }, + { index: 0.38, rgb: [168, 64, 3] }, + { index: 0.5, rgb: [188, 100, 4] }, + { index: 0.63, rgb: [206, 136, 11] }, + { index: 0.75, rgb: [220, 174, 25] }, + { index: 0.88, rgb: [231, 215, 44] }, + { index: 1, rgb: [248, 254, 105] }, + ], + par: [ + { index: 0, rgb: [51, 20, 24] }, + { index: 0.13, rgb: [90, 32, 35] }, + { index: 0.25, rgb: [129, 44, 34] }, + { index: 0.38, rgb: [159, 68, 25] }, + { index: 0.5, rgb: [182, 99, 19] }, + { index: 0.63, rgb: [199, 134, 22] }, + { index: 0.75, rgb: [212, 171, 35] }, + { index: 0.88, rgb: [221, 210, 54] }, + { index: 1, rgb: [225, 253, 75] }, + ], + phase: [ + { index: 0, rgb: [145, 105, 18] }, + { index: 0.13, rgb: [184, 71, 38] }, + { index: 0.25, rgb: [186, 58, 115] }, + { index: 0.38, rgb: [160, 71, 185] }, + { index: 0.5, rgb: [110, 97, 218] }, + { index: 0.63, rgb: [50, 123, 164] }, + { index: 0.75, rgb: [31, 131, 110] }, + { index: 0.88, rgb: [77, 129, 34] }, + { index: 1, rgb: [145, 105, 18] }, + ], + salinity: [ + { index: 0, rgb: [42, 24, 108] }, + { index: 0.13, rgb: [33, 50, 162] }, + { index: 0.25, rgb: [15, 90, 145] }, + { index: 0.38, rgb: [40, 118, 137] }, + { index: 0.5, rgb: [59, 146, 135] }, + { index: 0.63, rgb: [79, 175, 126] }, + { index: 0.75, rgb: [120, 203, 104] }, + { index: 0.88, rgb: [193, 221, 100] }, + { index: 1, rgb: [253, 239, 154] }, + ], + temperature: [ + { index: 0, rgb: [4, 35, 51] }, + { index: 0.13, rgb: [23, 51, 122] }, + { index: 0.25, rgb: [85, 59, 157] }, + { index: 0.38, rgb: [129, 79, 143] }, + { index: 0.5, rgb: [175, 95, 130] }, + { index: 0.63, rgb: [222, 112, 101] }, + { index: 0.75, rgb: [249, 146, 66] }, + { index: 0.88, rgb: [249, 196, 65] }, + { index: 1, rgb: [232, 250, 91] }, + ], + turbidity: [ + { index: 0, rgb: [34, 31, 27] }, + { index: 0.13, rgb: [65, 50, 41] }, + { index: 0.25, rgb: [98, 69, 52] }, + { index: 0.38, rgb: [131, 89, 57] }, + { index: 0.5, rgb: [161, 112, 59] }, + { index: 0.63, rgb: [185, 140, 66] }, + { index: 0.75, rgb: [202, 174, 88] }, + { index: 0.88, rgb: [216, 209, 126] }, + { index: 1, rgb: [233, 246, 171] }, + ], + "velocity-blue": [ + { index: 0, rgb: [17, 32, 64] }, + { index: 0.13, rgb: [35, 52, 116] }, + { index: 0.25, rgb: [29, 81, 156] }, + { index: 0.38, rgb: [31, 113, 162] }, + { index: 0.5, rgb: [50, 144, 169] }, + { index: 0.63, rgb: [87, 173, 176] }, + { index: 0.75, rgb: [149, 196, 189] }, + { index: 0.88, rgb: [203, 221, 211] }, + { index: 1, rgb: [254, 251, 230] }, + ], + "velocity-green": [ + { index: 0, rgb: [23, 35, 19] }, + { index: 0.13, rgb: [24, 64, 38] }, + { index: 0.25, rgb: [11, 95, 45] }, + { index: 0.38, rgb: [39, 123, 35] }, + { index: 0.5, rgb: [95, 146, 12] }, + { index: 0.63, rgb: [152, 165, 18] }, + { index: 0.75, rgb: [201, 186, 69] }, + { index: 0.88, rgb: [233, 216, 137] }, + { index: 1, rgb: [255, 253, 205] }, + ], + cubehelix: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.07, rgb: [22, 5, 59] }, + { index: 0.13, rgb: [60, 4, 105] }, + { index: 0.2, rgb: [109, 1, 135] }, + { index: 0.27, rgb: [161, 0, 147] }, + { index: 0.33, rgb: [210, 2, 142] }, + { index: 0.4, rgb: [251, 11, 123] }, + { index: 0.47, rgb: [255, 29, 97] }, + { index: 0.53, rgb: [255, 54, 69] }, + { index: 0.6, rgb: [255, 85, 46] }, + { index: 0.67, rgb: [255, 120, 34] }, + { index: 0.73, rgb: [255, 157, 37] }, + { index: 0.8, rgb: [241, 191, 57] }, + { index: 0.87, rgb: [224, 220, 93] }, + { index: 0.93, rgb: [218, 241, 142] }, + { index: 1, rgb: [227, 253, 198] }, + ], + }; + }, + 9156: function (t, e, r) { + "use strict"; + var n = r(5692), + i = r(3578); + function a(t) { + return [ + t[0] / 255, + t[1] / 255, + t[2] / 255, + t[3], + ]; + } + function o(t) { + for (var e, r = "#", n = 0; n < 3; ++n) + r += ( + "00" + (e = (e = t[n]).toString(16)) + ).substr(e.length); + return r; + } + function s(t) { + return "rgba(" + t.join(",") + ")"; + } + t.exports = function (t) { + var e, r, l, u, c, f, h, p, d, v; + if ( + (t || (t = {}), + (p = (t.nshades || 72) - 1), + (h = t.format || "hex"), + (f = t.colormap) || (f = "jet"), + "string" == typeof f) + ) { + if (((f = f.toLowerCase()), !n[f])) + throw Error( + f + " not a supported colorscale", + ); + c = n[f]; + } else { + if (!Array.isArray(f)) + throw Error( + "unsupported colormap option", + f, + ); + c = f.slice(); + } + if (c.length > p + 1) + throw new Error( + f + + " map requires nshades to be at least size " + + c.length, + ); + (d = Array.isArray(t.alpha) + ? 2 !== t.alpha.length + ? [1, 1] + : t.alpha.slice() + : "number" == typeof t.alpha + ? [t.alpha, t.alpha] + : [1, 1]), + (e = c.map(function (t) { + return Math.round(t.index * p); + })), + (d[0] = Math.min(Math.max(d[0], 0), 1)), + (d[1] = Math.min(Math.max(d[1], 0), 1)); + var g = c.map(function (t, e) { + var r = c[e].index, + n = c[e].rgb.slice(); + return ( + (4 === n.length && + n[3] >= 0 && + n[3] <= 1) || + (n[3] = d[0] + (d[1] - d[0]) * r), + n + ); + }), + y = []; + for (v = 0; v < e.length - 1; ++v) { + (u = e[v + 1] - e[v]), + (r = g[v]), + (l = g[v + 1]); + for (var m = 0; m < u; m++) { + var x = m / u; + y.push([ + Math.round(i(r[0], l[0], x)), + Math.round(i(r[1], l[1], x)), + Math.round(i(r[2], l[2], x)), + i(r[3], l[3], x), + ]); + } + } + return ( + y.push(c[c.length - 1].rgb.concat(d[1])), + "hex" === h + ? (y = y.map(o)) + : "rgbaString" === h + ? (y = y.map(s)) + : "float" === h && (y = y.map(a)), + y + ); + }; + }, + 9398: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r, a) { + var o = n(e, r, a); + if (0 === o) { + var s = i(n(t, e, r)), + u = i(n(t, e, a)); + if (s === u) { + if (0 === s) { + var c = l(t, e, r); + return c === l(t, e, a) ? 0 : c ? 1 : -1; + } + return 0; + } + return 0 === u + ? s > 0 || l(t, e, a) + ? -1 + : 1 + : 0 === s + ? u > 0 || l(t, e, r) + ? 1 + : -1 + : i(u - s); + } + var f = n(t, e, r); + return f > 0 + ? o > 0 && n(t, e, a) > 0 + ? 1 + : -1 + : f < 0 + ? o > 0 || n(t, e, a) > 0 + ? 1 + : -1 + : n(t, e, a) > 0 || l(t, e, r) + ? 1 + : -1; + }; + var n = r(417), + i = r(7538), + a = r(87), + o = r(2019), + s = r(9662); + function l(t, e, r) { + var n = a(t[0], -e[0]), + i = a(t[1], -e[1]), + l = a(r[0], -e[0]), + u = a(r[1], -e[1]), + c = s(o(n, l), o(i, u)); + return c[c.length - 1] >= 0; + } + }, + 7538: function (t) { + "use strict"; + t.exports = function (t) { + return t < 0 ? -1 : t > 0 ? 1 : 0; + }; + }, + 9209: function (t) { + t.exports = function (t, n) { + var i = t.length, + a = t.length - n.length; + if (a) return a; + switch (i) { + case 0: + return 0; + case 1: + return t[0] - n[0]; + case 2: + return ( + t[0] + t[1] - n[0] - n[1] || + e(t[0], t[1]) - e(n[0], n[1]) + ); + case 3: + var o = t[0] + t[1], + s = n[0] + n[1]; + if ((a = o + t[2] - (s + n[2]))) return a; + var l = e(t[0], t[1]), + u = e(n[0], n[1]); + return ( + e(l, t[2]) - e(u, n[2]) || + e(l + t[2], o) - e(u + n[2], s) + ); + case 4: + var c = t[0], + f = t[1], + h = t[2], + p = t[3], + d = n[0], + v = n[1], + g = n[2], + y = n[3]; + return ( + c + f + h + p - (d + v + g + y) || + e(c, f, h, p) - e(d, v, g, y, d) || + e( + c + f, + c + h, + c + p, + f + h, + f + p, + h + p, + ) - + e( + d + v, + d + g, + d + y, + v + g, + v + y, + g + y, + ) || + e( + c + f + h, + c + f + p, + c + h + p, + f + h + p, + ) - + e( + d + v + g, + d + v + y, + d + g + y, + v + g + y, + ) + ); + default: + for ( + var m = t.slice().sort(r), + x = n.slice().sort(r), + b = 0; + b < i; + ++b + ) + if ((a = m[b] - x[b])) return a; + return 0; + } + }; + var e = Math.min; + function r(t, e) { + return t - e; + } + }, + 1284: function (t, e, r) { + "use strict"; + var n = r(9209), + i = r(9887); + t.exports = function (t, e) { + return n(t, e) || i(t) - i(e); + }; + }, + 5537: function (t, e, r) { + "use strict"; + var n = r(8950), + i = r(8722), + a = r(3332); + t.exports = function (t) { + var e = t.length; + if (0 === e) return []; + if (1 === e) return [[0]]; + var r = t[0].length; + return 0 === r + ? [] + : 1 === r + ? n(t) + : 2 === r + ? i(t) + : a(t, r); + }; + }, + 8950: function (t) { + "use strict"; + t.exports = 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]]; + }; + }, + 8722: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = n(t), + r = e.length; + if (r <= 2) return []; + for ( + var i = new Array(r), a = e[r - 1], o = 0; + o < r; + ++o + ) { + var s = e[o]; + (i[o] = [a, s]), (a = s); + } + return i; + }; + var n = r(3266); + }, + 3332: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + try { + return n(t, !0); + } catch (o) { + var r = i(t); + if (r.length <= e) return []; + var a = (function (t, e) { + for ( + var r = t.length, n = new Array(r), i = 0; + i < e.length; + ++i + ) + n[i] = t[e[i]]; + var a = e.length; + for (i = 0; i < r; ++i) + e.indexOf(i) < 0 && (n[a++] = t[i]); + return n; + })(t, r); + 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; + })(n(a, !0), r); + } + }; + var n = r(2183), + i = r(2153); + }, + 9680: function (t) { + "use strict"; + (t.exports = 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, + f = s * (3 - 2 * i), + h = 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] + f * r[p] + h * n[p]; + return a; + } + return u * t + c * e + f * r + h * n; + }), + (t.exports.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; + }); + }, + 4419: function (t, e, r) { + "use strict"; + var n = r(2183), + i = r(1215); + function a(t, e) { + (this.point = t), (this.index = e); + } + function o(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; + } + t.exports = function (t, e) { + var r = t.length; + if (0 === r) return []; + var s = t[0].length; + if (s < 1) return []; + if (1 === s) + 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]]; + } + return ( + r && + i.push( + [-1, i[0][1]], + [i[t - 1][1], -1], + ), + i + ); + })(r, t, e); + for ( + var l = new Array(r), u = 1, c = 0; + c < r; + ++c + ) { + for ( + var f = t[c], + h = new Array(s + 1), + p = 0, + d = 0; + d < s; + ++d + ) { + var v = f[d]; + (h[d] = v), (p += v * v); + } + (h[s] = p), + (l[c] = new a(h, c)), + (u = Math.max(p, u)); + } + i(l, o), (r = l.length); + var g = new Array(r + s + 1), + y = new Array(r + s + 1), + m = (s + 1) * (s + 1) * u, + x = new Array(s + 1); + for (c = 0; c <= s; ++c) x[c] = 0; + for ( + x[s] = m, g[0] = x.slice(), y[0] = -1, c = 0; + c <= s; + ++c + ) + ((h = x.slice())[c] = 1), + (g[c + 1] = h), + (y[c + 1] = -1); + for (c = 0; c < r; ++c) { + var b = l[c]; + (g[c + s + 1] = b.point), + (y[c + s + 1] = b.index); + } + var _ = n(g, !1); + if ( + ((_ = e + ? _.filter(function (t) { + for (var e = 0, r = 0; r <= s; ++r) { + var n = y[t[r]]; + if (n < 0 && ++e >= 2) return !1; + t[r] = n; + } + return !0; + }) + : _.filter(function (t) { + for (var e = 0; e <= s; ++e) { + var r = y[t[e]]; + if (r < 0) return !1; + t[e] = r; + } + return !0; + })), + 1 & s) + ) + for (c = 0; c < _.length; ++c) + (h = (b = _[c])[0]), + (b[0] = b[1]), + (b[1] = h); + return _; + }; + }, + 8362: function (t) { + var e = !1; + if ("undefined" != typeof Float64Array) { + var r = new Float64Array(1), + n = new Uint32Array(r.buffer); + (r[0] = 1), + (e = !0), + 1072693248 === n[1] + ? ((t.exports = function (t) { + return (r[0] = t), [n[0], n[1]]; + }), + (t.exports.pack = function (t, e) { + return (n[0] = t), (n[1] = e), r[0]; + }), + (t.exports.lo = function (t) { + return (r[0] = t), n[0]; + }), + (t.exports.hi = function (t) { + return (r[0] = t), n[1]; + })) + : 1072693248 === n[0] + ? ((t.exports = function (t) { + return (r[0] = t), [n[1], n[0]]; + }), + (t.exports.pack = function (t, e) { + return (n[1] = t), (n[0] = e), r[0]; + }), + (t.exports.lo = function (t) { + return (r[0] = t), n[1]; + }), + (t.exports.hi = function (t) { + return (r[0] = t), n[0]; + })) + : (e = !1); + } + if (!e) { + var i = new Buffer(8); + (t.exports = function (t) { + return ( + i.writeDoubleLE(t, 0, !0), + [ + i.readUInt32LE(0, !0), + i.readUInt32LE(4, !0), + ] + ); + }), + (t.exports.pack = function (t, e) { + return ( + i.writeUInt32LE(t, 0, !0), + i.writeUInt32LE(e, 4, !0), + i.readDoubleLE(0, !0) + ); + }), + (t.exports.lo = function (t) { + return ( + i.writeDoubleLE(t, 0, !0), + i.readUInt32LE(0, !0) + ); + }), + (t.exports.hi = function (t) { + return ( + i.writeDoubleLE(t, 0, !0), + i.readUInt32LE(4, !0) + ); + }); + } + (t.exports.sign = function (e) { + return t.exports.hi(e) >>> 31; + }), + (t.exports.exponent = function (e) { + return ((t.exports.hi(e) << 1) >>> 21) - 1023; + }), + (t.exports.fraction = function (e) { + var r = t.exports.lo(e), + n = t.exports.hi(e), + i = 1048575 & n; + return ( + 2146435072 & n && (i += 1 << 20), [r, i] + ); + }), + (t.exports.denormalized = function (e) { + return !(2146435072 & t.exports.hi(e)); + }); + }, + 3094: function (t) { + "use strict"; + function e(t, r, n) { + var i = 0 | t[n]; + if (i <= 0) return []; + var a, + o = new Array(i); + if (n === t.length - 1) + for (a = 0; a < i; ++a) o[a] = r; + else + for (a = 0; a < i; ++a) o[a] = e(t, r, n + 1); + return o; + } + t.exports = function (t, r) { + switch ((void 0 === r && (r = 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, r); + break; + case "object": + if ("number" == typeof t.length) + return e(t, r, 0); + } + return []; + }; + }, + 8348: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + var r = t.length; + if ("number" != typeof e) { + e = 0; + for (var i = 0; i < r; ++i) { + var a = t[i]; + e = Math.max(e, a[0], a[1]); + } + e = 1 + (0 | e); + } + e |= 0; + var o = new Array(e); + for (i = 0; i < e; ++i) o[i] = []; + for (i = 0; i < r; ++i) + o[(a = t[i])[0]].push(a[1]), + o[a[1]].push(a[0]); + for (var s = 0; s < e; ++s) + n(o[s], function (t, e) { + return t - e; + }); + return o; + }; + var n = r(1215); + }, + 5795: function (t) { + "use strict"; + t.exports = 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], + ], + ]; + }; + }, + 8444: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r) { + switch (arguments.length) { + case 0: + return new o([0], [0], 0); + case 1: + return "number" == typeof t + ? new o((n = l(t)), n, 0) + : new o(t, l(t.length), 0); + case 2: + if ("number" == typeof e) { + var n = l(t.length); + return new o(t, n, +e); + } + r = 0; + case 3: + if (t.length !== e.length) + throw new Error( + "state and velocity lengths must match", + ); + return new o(t, e, r); + } + }; + var n = r(9680), + i = r(5070); + function a(t, e, r) { + return Math.min(e, Math.max(t, r)); + } + function o(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 s = o.prototype; + function l(t) { + for (var e = new Array(t), r = 0; r < t; ++r) + e[r] = 0; + return e; + } + (s.flush = function (t) { + var e = i.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)); + }), + (s.curve = function (t) { + var e = this._time, + r = e.length, + o = i.le(e, t), + s = this._scratch[0], + l = this._state, + u = this._velocity, + c = this.dimension, + f = this.bounds; + if (o < 0) + for (var h = c - 1, p = 0; p < c; ++p, --h) + s[p] = l[h]; + else if (o >= r - 1) { + h = l.length - 1; + var d = t - e[r - 1]; + for (p = 0; p < c; ++p, --h) + s[p] = l[h] + d * u[h]; + } else { + h = c * (o + 1) - 1; + var v = e[o], + g = e[o + 1] - v || 1, + y = this._scratch[1], + m = this._scratch[2], + x = this._scratch[3], + b = this._scratch[4], + _ = !0; + for (p = 0; p < c; ++p, --h) + (y[p] = l[h]), + (x[p] = u[h] * g), + (m[p] = l[h + c]), + (b[p] = u[h + c] * g), + (_ = + _ && + y[p] === m[p] && + x[p] === b[p] && + 0 === x[p]); + if (_) for (p = 0; p < c; ++p) s[p] = y[p]; + else n(y, x, m, b, (t - v) / g, s); + } + var w = f[0], + T = f[1]; + for (p = 0; p < c; ++p) + s[p] = a(w[p], T[p], s[p]); + return s; + }), + (s.dcurve = function (t) { + var e = this._time, + r = e.length, + a = i.le(e, t), + o = this._scratch[0], + s = this._state, + l = this._velocity, + u = this.dimension; + if (a >= r - 1) + for ( + var c = s.length - 1, f = (e[r - 1], 0); + f < u; + ++f, --c + ) + o[f] = l[c]; + else { + c = u * (a + 1) - 1; + var h = e[a], + p = e[a + 1] - h || 1, + d = this._scratch[1], + v = this._scratch[2], + g = this._scratch[3], + y = this._scratch[4], + m = !0; + for (f = 0; f < u; ++f, --c) + (d[f] = s[c]), + (g[f] = l[c] * p), + (v[f] = s[c + u]), + (y[f] = l[c + u] * p), + (m = + m && + d[f] === v[f] && + g[f] === y[f] && + 0 === g[f]); + if (m) for (f = 0; f < u; ++f) o[f] = 0; + else + for ( + n.derivative( + d, + g, + v, + y, + (t - h) / p, + o, + ), + f = 0; + f < u; + ++f + ) + o[f] /= p; + } + return o; + }), + (s.lastT = function () { + var t = this._time; + return t[t.length - 1]; + }), + (s.stable = function () { + for ( + var t = this._velocity, + e = t.length, + r = this.dimension - 1; + r >= 0; + --r + ) + if (t[--e]) return !1; + return !0; + }), + (s.jump = function (t) { + var e = this.lastT(), + r = this.dimension; + if (!(t < e || arguments.length !== r + 1)) { + var n = this._state, + i = this._velocity, + o = n.length - this.dimension, + s = this.bounds, + l = s[0], + u = s[1]; + this._time.push(e, t); + for (var c = 0; c < 2; ++c) + for (var f = 0; f < r; ++f) + n.push(n[o++]), i.push(0); + for (this._time.push(t), f = r; f > 0; --f) + n.push( + a(l[f - 1], u[f - 1], arguments[f]), + ), + i.push(0); + } + }), + (s.push = function (t) { + var e = this.lastT(), + r = this.dimension; + if (!(t < e || arguments.length !== r + 1)) { + var n = this._state, + i = this._velocity, + o = n.length - this.dimension, + s = t - e, + l = this.bounds, + u = l[0], + c = l[1], + f = s > 1e-6 ? 1 / s : 0; + this._time.push(t); + for (var h = r; h > 0; --h) { + var p = a( + u[h - 1], + c[h - 1], + arguments[h], + ); + n.push(p), i.push((p - n[o++]) * f); + } + } + }), + (s.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, + o = i[0], + s = i[1]; + this._time.push(t); + for (var l = e; l > 0; --l) + r.push( + a(o[l - 1], s[l - 1], arguments[l]), + ), + n.push(0); + } + }), + (s.move = function (t) { + var e = this.lastT(), + r = this.dimension; + if (!(t <= e || arguments.length !== r + 1)) { + var n = this._state, + i = this._velocity, + o = n.length - this.dimension, + s = this.bounds, + l = s[0], + u = s[1], + c = t - e, + f = c > 1e-6 ? 1 / c : 0; + this._time.push(t); + for (var h = r; h > 0; --h) { + var p = arguments[h]; + n.push(a(l[h - 1], u[h - 1], n[o++] + p)), + i.push(p * f); + } + } + }), + (s.idle = function (t) { + var e = this.lastT(); + if (!(t < e)) { + var r = this.dimension, + n = this._state, + i = this._velocity, + o = n.length - r, + s = this.bounds, + l = s[0], + u = s[1], + c = t - e; + this._time.push(t); + for (var f = r - 1; f >= 0; --f) + n.push(a(l[f], u[f], n[o] + c * i[o])), + i.push(0), + (o += 1); + } + }); + }, + 7080: function (t) { + "use strict"; + function e(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 r(t) { + return new e( + t._color, + t.key, + t.value, + t.left, + t.right, + t._count, + ); + } + function n(t, r) { + return new e( + t, + r.key, + r.value, + r.left, + r.right, + r._count, + ); + } + function i(t) { + t._count = + 1 + + (t.left ? t.left._count : 0) + + (t.right ? t.right._count : 0); + } + function a(t, e) { + (this._compare = t), (this.root = e); + } + t.exports = function (t) { + return new a(t || p, null); + }; + var o = a.prototype; + function s(t, e) { + var r; + return e.left && (r = s(t, e.left)) + ? r + : (r = t(e.key, e.value)) || + (e.right ? s(t, e.right) : void 0); + } + function l(t, e, r, n) { + if (e(t, n.key) <= 0) { + var i; + if (n.left && (i = l(t, e, r, n.left))) + return i; + if ((i = r(n.key, n.value))) return i; + } + if (n.right) return l(t, e, r, n.right); + } + function u(t, e, r, n, i) { + var a, + o = r(t, i.key), + s = r(e, i.key); + if (o <= 0) { + if (i.left && (a = u(t, e, r, n, i.left))) + return a; + if (s > 0 && (a = n(i.key, i.value))) + return a; + } + if (s > 0 && i.right) + return u(t, e, r, n, i.right); + } + function c(t, e) { + (this.tree = t), (this._stack = e); + } + Object.defineProperty(o, "keys", { + get: function () { + var t = []; + return ( + this.forEach(function (e, r) { + t.push(e); + }), + t + ); + }, + }), + Object.defineProperty(o, "values", { + get: function () { + var t = []; + return ( + this.forEach(function (e, r) { + t.push(r); + }), + t + ); + }, + }), + Object.defineProperty(o, "length", { + get: function () { + return this.root ? this.root._count : 0; + }, + }), + (o.insert = function (t, r) { + for ( + var o = this._compare, + s = this.root, + l = [], + u = []; + s; + + ) { + var c = o(t, s.key); + l.push(s), + u.push(c), + (s = c <= 0 ? s.left : s.right); + } + l.push(new e(0, t, r, null, null, 1)); + for (var f = l.length - 2; f >= 0; --f) + (s = l[f]), + u[f] <= 0 + ? (l[f] = new e( + s._color, + s.key, + s.value, + l[f + 1], + s.right, + s._count + 1, + )) + : (l[f] = new e( + s._color, + s.key, + s.value, + s.left, + l[f + 1], + s._count + 1, + )); + for (f = l.length - 1; f > 1; --f) { + var h = l[f - 1]; + if ( + ((s = l[f]), + 1 === h._color || 1 === s._color) + ) + break; + var p = l[f - 2]; + if (p.left === h) + if (h.left === s) { + if (!(d = p.right) || 0 !== d._color) { + (p._color = 0), + (p.left = h.right), + (h._color = 1), + (h.right = p), + (l[f - 2] = h), + (l[f - 1] = s), + i(p), + i(h), + f >= 3 && + ((v = l[f - 3]).left === p + ? (v.left = h) + : (v.right = h)); + break; + } + (h._color = 1), + (p.right = n(1, d)), + (p._color = 0), + (f -= 1); + } else { + if (!(d = p.right) || 0 !== d._color) { + (h.right = s.left), + (p._color = 0), + (p.left = s.right), + (s._color = 1), + (s.left = h), + (s.right = p), + (l[f - 2] = s), + (l[f - 1] = h), + i(p), + i(h), + i(s), + f >= 3 && + ((v = l[f - 3]).left === p + ? (v.left = s) + : (v.right = s)); + break; + } + (h._color = 1), + (p.right = n(1, d)), + (p._color = 0), + (f -= 1); + } + else if (h.right === s) { + if (!(d = p.left) || 0 !== d._color) { + (p._color = 0), + (p.right = h.left), + (h._color = 1), + (h.left = p), + (l[f - 2] = h), + (l[f - 1] = s), + i(p), + i(h), + f >= 3 && + ((v = l[f - 3]).right === p + ? (v.right = h) + : (v.left = h)); + break; + } + (h._color = 1), + (p.left = n(1, d)), + (p._color = 0), + (f -= 1); + } else { + var d; + if (!(d = p.left) || 0 !== d._color) { + var v; + (h.left = s.right), + (p._color = 0), + (p.right = s.left), + (s._color = 1), + (s.right = h), + (s.left = p), + (l[f - 2] = s), + (l[f - 1] = h), + i(p), + i(h), + i(s), + f >= 3 && + ((v = l[f - 3]).right === p + ? (v.right = s) + : (v.left = s)); + break; + } + (h._color = 1), + (p.left = n(1, d)), + (p._color = 0), + (f -= 1); + } + } + return (l[0]._color = 1), new a(o, l[0]); + }), + (o.forEach = function (t, e, r) { + if (this.root) + switch (arguments.length) { + case 1: + return s(t, this.root); + case 2: + return l( + e, + this._compare, + t, + this.root, + ); + case 3: + if (this._compare(e, r) >= 0) return; + return u( + e, + r, + this._compare, + t, + this.root, + ); + } + }), + Object.defineProperty(o, "begin", { + get: function () { + for (var t = [], e = this.root; e; ) + t.push(e), (e = e.left); + return new c(this, t); + }, + }), + Object.defineProperty(o, "end", { + get: function () { + for (var t = [], e = this.root; e; ) + t.push(e), (e = e.right); + return new c(this, t); + }, + }), + (o.at = function (t) { + if (t < 0) return new c(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 c(this, r); + if (((t -= 1), !e.right)) break; + if (t >= e.right._count) break; + e = e.right; + } + return new c(this, []); + }), + (o.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 c(this, n); + }), + (o.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 c(this, n); + }), + (o.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 c(this, n); + }), + (o.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 c(this, n); + }), + (o.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 c(this, n); + r = i <= 0 ? r.left : r.right; + } + return new c(this, []); + }), + (o.remove = function (t) { + var e = this.find(t); + return e ? e.remove() : this; + }), + (o.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 f = c.prototype; + function h(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 p(t, e) { + return t < e ? -1 : t > e ? 1 : 0; + } + Object.defineProperty(f, "valid", { + get: function () { + return this._stack.length > 0; + }, + }), + Object.defineProperty(f, "node", { + get: function () { + return this._stack.length > 0 + ? this._stack[this._stack.length - 1] + : null; + }, + enumerable: !0, + }), + (f.clone = function () { + return new c(this.tree, this._stack.slice()); + }), + (f.remove = function () { + var t = this._stack; + if (0 === t.length) return this.tree; + var o = new Array(t.length), + s = t[t.length - 1]; + o[o.length - 1] = new e( + s._color, + s.key, + s.value, + s.left, + s.right, + s._count, + ); + for (var l = t.length - 2; l >= 0; --l) + (s = t[l]).left === t[l + 1] + ? (o[l] = new e( + s._color, + s.key, + s.value, + o[l + 1], + s.right, + s._count, + )) + : (o[l] = new e( + s._color, + s.key, + s.value, + s.left, + o[l + 1], + s._count, + )); + if ((s = o[o.length - 1]).left && s.right) { + var u = o.length; + for (s = s.left; s.right; ) + o.push(s), (s = s.right); + var c = o[u - 1]; + for ( + o.push( + new e( + s._color, + c.key, + c.value, + s.left, + s.right, + s._count, + ), + ), + o[u - 1].key = s.key, + o[u - 1].value = s.value, + l = o.length - 2; + l >= u; + --l + ) + (s = o[l]), + (o[l] = new e( + s._color, + s.key, + s.value, + s.left, + o[l + 1], + s._count, + )); + o[u - 1].left = o[u]; + } + if (0 === (s = o[o.length - 1])._color) { + var f = o[o.length - 2]; + for ( + f.left === s + ? (f.left = null) + : f.right === s && (f.right = null), + o.pop(), + l = 0; + l < o.length; + ++l + ) + o[l]._count--; + return new a(this.tree._compare, o[0]); + } + if (s.left || s.right) { + for ( + s.left + ? h(s, s.left) + : s.right && h(s, s.right), + s._color = 1, + l = 0; + l < o.length - 1; + ++l + ) + o[l]._count--; + return new a(this.tree._compare, o[0]); + } + if (1 === o.length) + return new a(this.tree._compare, null); + for (l = 0; l < o.length; ++l) o[l]._count--; + var p = o[o.length - 2]; + return ( + (function (t) { + for ( + var e, a, o, s, l = t.length - 1; + l >= 0; + --l + ) { + if (((e = t[l]), 0 === l)) + return void (e._color = 1); + if ((a = t[l - 1]).left === e) { + if ( + (o = a.right).right && + 0 === o.right._color + ) + return ( + (s = (o = a.right = r(o)).right = + r(o.right)), + (a.right = o.left), + (o.left = a), + (o.right = s), + (o._color = a._color), + (e._color = 1), + (a._color = 1), + (s._color = 1), + i(a), + i(o), + l > 1 && + ((u = t[l - 2]).left === a + ? (u.left = o) + : (u.right = o)), + void (t[l - 1] = o) + ); + if (o.left && 0 === o.left._color) + return ( + (s = (o = a.right = r(o)).left = + r(o.left)), + (a.right = s.left), + (o.left = s.right), + (s.left = a), + (s.right = o), + (s._color = a._color), + (a._color = 1), + (o._color = 1), + (e._color = 1), + i(a), + i(o), + i(s), + l > 1 && + ((u = t[l - 2]).left === a + ? (u.left = s) + : (u.right = s)), + void (t[l - 1] = s) + ); + if (1 === o._color) { + if (0 === a._color) + return ( + (a._color = 1), + void (a.right = n(0, o)) + ); + a.right = n(0, o); + continue; + } + (o = r(o)), + (a.right = o.left), + (o.left = a), + (o._color = a._color), + (a._color = 0), + i(a), + i(o), + l > 1 && + ((u = t[l - 2]).left === a + ? (u.left = o) + : (u.right = o)), + (t[l - 1] = o), + (t[l] = a), + l + 1 < t.length + ? (t[l + 1] = e) + : t.push(e), + (l += 2); + } else { + if ( + (o = a.left).left && + 0 === o.left._color + ) + return ( + (s = (o = a.left = r(o)).left = + r(o.left)), + (a.left = o.right), + (o.right = a), + (o.left = s), + (o._color = a._color), + (e._color = 1), + (a._color = 1), + (s._color = 1), + i(a), + i(o), + l > 1 && + ((u = t[l - 2]).right === a + ? (u.right = o) + : (u.left = o)), + void (t[l - 1] = o) + ); + if (o.right && 0 === o.right._color) + return ( + (s = (o = a.left = r(o)).right = + r(o.right)), + (a.left = s.right), + (o.right = s.left), + (s.right = a), + (s.left = o), + (s._color = a._color), + (a._color = 1), + (o._color = 1), + (e._color = 1), + i(a), + i(o), + i(s), + l > 1 && + ((u = t[l - 2]).right === a + ? (u.right = s) + : (u.left = s)), + void (t[l - 1] = s) + ); + if (1 === o._color) { + if (0 === a._color) + return ( + (a._color = 1), + void (a.left = n(0, o)) + ); + a.left = n(0, o); + continue; + } + var u; + (o = r(o)), + (a.left = o.right), + (o.right = a), + (o._color = a._color), + (a._color = 0), + i(a), + i(o), + l > 1 && + ((u = t[l - 2]).right === a + ? (u.right = o) + : (u.left = o)), + (t[l - 1] = o), + (t[l] = a), + l + 1 < t.length + ? (t[l + 1] = e) + : t.push(e), + (l += 2); + } + } + })(o), + p.left === s + ? (p.left = null) + : (p.right = null), + new a(this.tree._compare, o[0]) + ); + }), + Object.defineProperty(f, "key", { + get: function () { + if (this._stack.length > 0) + return this._stack[this._stack.length - 1] + .key; + }, + enumerable: !0, + }), + Object.defineProperty(f, "value", { + get: function () { + if (this._stack.length > 0) + return this._stack[this._stack.length - 1] + .value; + }, + enumerable: !0, + }), + Object.defineProperty(f, "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, + }), + (f.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(f, "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; + }, + }), + (f.update = function (t) { + var r = this._stack; + if (0 === r.length) + throw new Error("Can't update empty node!"); + var n = new Array(r.length), + i = r[r.length - 1]; + n[n.length - 1] = new e( + i._color, + i.key, + t, + i.left, + i.right, + i._count, + ); + for (var o = r.length - 2; o >= 0; --o) + (i = r[o]).left === r[o + 1] + ? (n[o] = new e( + i._color, + i.key, + i.value, + n[o + 1], + i.right, + i._count, + )) + : (n[o] = new e( + i._color, + i.key, + i.value, + i.left, + n[o + 1], + i._count, + )); + return new a(this.tree._compare, n[0]); + }), + (f.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(f, "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; + }, + }); + }, + 7453: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + var r = new c(t); + return r.update(e), r; + }; + var n = r(9557), + i = r(1681), + a = r(1011), + o = r(2864), + s = r(8468), + l = new Float32Array([ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 1, + ]); + function u(t, e) { + return ( + (t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), t + ); + } + function c(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.tickAlign = ["auto", "auto", "auto"]), + (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.labelAlign = ["auto", "auto", "auto"]), + (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 = [ + [0.8, 0.8, 0.8, 0.5], + [0.8, 0.8, 0.8, 0.5], + [0.8, 0.8, 0.8, 0.5], + ]), + (this._firstInit = !0), + (this._text = null), + (this._lines = null), + (this._background = a(t)); + } + var f = c.prototype; + function h() { + (this.primalOffset = [0, 0, 0]), + (this.primalMinor = [0, 0, 0]), + (this.mirrorOffset = [0, 0, 0]), + (this.mirrorMinor = [0, 0, 0]); + } + f.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, + a = e.bind(this, !1, Number), + o = e.bind(this, !1, Boolean), + l = e.bind(this, !1, String), + u = 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]; + }), + c = !1, + f = !1; + if ("bounds" in t) + for (var h = t.bounds, p = 0; p < 2; ++p) + for (var d = 0; d < 3; ++d) + h[p][d] !== this.bounds[p][d] && (f = !0), + (this.bounds[p][d] = h[p][d]); + if ("ticks" in t) + for ( + r = t.ticks, + c = !0, + this.autoTicks = !1, + p = 0; + p < 3; + ++p + ) + this.tickSpacing[p] = 0; + else + a("tickSpacing") && + ((this.autoTicks = !0), (f = !0)); + if ( + (this._firstInit && + ("ticks" in t || + "tickSpacing" in t || + (this.autoTicks = !0), + (f = !0), + (c = !0), + (this._firstInit = !1)), + f && + this.autoTicks && + ((r = s.create( + this.bounds, + this.tickSpacing, + )), + (c = !0)), + c) + ) { + for (p = 0; p < 3; ++p) + r[p].sort(function (t, e) { + return t.x - e.x; + }); + s.equal(r, this.ticks) + ? (c = !1) + : (this.ticks = r); + } + o("tickEnable"), + l("tickFont") && (c = !0), + a("tickSize"), + a("tickAngle"), + a("tickPad"), + u("tickColor"); + var v = l("labels"); + l("labelFont") && (v = !0), + o("labelEnable"), + a("labelSize"), + a("labelPad"), + u("labelColor"), + o("lineEnable"), + o("lineMirror"), + a("lineWidth"), + u("lineColor"), + o("lineTickEnable"), + o("lineTickMirror"), + a("lineTickLength"), + a("lineTickWidth"), + u("lineTickColor"), + o("gridEnable"), + a("gridWidth"), + u("gridColor"), + o("zeroEnable"), + u("zeroLineColor"), + a("zeroLineWidth"), + o("backgroundEnable"), + u("backgroundColor"), + this._text + ? this._text && + (v || c) && + this._text.update( + this.bounds, + this.labels, + this.labelFont, + this.ticks, + this.tickFont, + ) + : (this._text = n( + this.gl, + this.bounds, + this.labels, + this.labelFont, + this.ticks, + this.tickFont, + )), + this._lines && + c && + (this._lines.dispose(), + (this._lines = null)), + this._lines || + (this._lines = i( + this.gl, + this.bounds, + this.ticks, + )); + }; + var p = [new h(), new h(), new h()]; + function d(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 f = a, + h = s, + p = o, + d = l; + u & (1 << c) && + ((f = s), (h = a), (p = l), (d = o)), + (f[c] = r[0][c]), + (h[c] = r[1][c]), + i[c] > 0 + ? ((p[c] = -1), (d[c] = 0)) + : ((p[c] = 0), (d[c] = 1)); + } + } + var v = [0, 0, 0], + g = { + model: l, + view: l, + projection: l, + _ortho: !1, + }; + (f.isOpaque = function () { + return !0; + }), + (f.isTransparent = function () { + return !1; + }), + (f.drawTransparent = function (t) {}); + var y = [0, 0, 0], + m = [0, 0, 0], + x = [0, 0, 0]; + (f.draw = function (t) { + t = t || g; + for ( + var e = this.gl, + r = t.model || l, + n = t.view || l, + i = t.projection || l, + a = this.bounds, + s = t._ortho || !1, + c = o(r, n, i, a, s), + f = c.cubeEdges, + h = c.axis, + b = n[12], + _ = n[13], + w = n[14], + T = n[15], + k = + ((s ? 2 : 1) * + this.pixelRatio * + (i[3] * b + + i[7] * _ + + i[11] * w + + i[15] * T)) / + e.drawingBufferHeight, + A = 0; + A < 3; + ++A + ) + (this.lastCubeProps.cubeEdges[A] = f[A]), + (this.lastCubeProps.axis[A] = h[A]); + var M = p; + for (A = 0; A < 3; ++A) + d(p[A], A, this.bounds, f, h); + e = this.gl; + var S, + E, + L, + C = v; + for (A = 0; A < 3; ++A) + this.backgroundEnable[A] + ? (C[A] = h[A]) + : (C[A] = 0); + for ( + this._background.draw( + r, + n, + i, + a, + C, + this.backgroundColor, + ), + this._lines.bind(r, n, i, this), + A = 0; + A < 3; + ++A + ) { + var P = [0, 0, 0]; + h[A] > 0 + ? (P[A] = a[1][A]) + : (P[A] = a[0][A]); + for (var O = 0; O < 2; ++O) { + var I = (A + 1 + O) % 3, + D = (A + 1 + (1 ^ O)) % 3; + this.gridEnable[I] && + this._lines.drawGrid( + I, + D, + this.bounds, + P, + this.gridColor[I], + this.gridWidth[I] * this.pixelRatio, + ); + } + for (O = 0; O < 2; ++O) + (I = (A + 1 + O) % 3), + (D = (A + 1 + (1 ^ O)) % 3), + this.zeroEnable[D] && + Math.min(a[0][D], a[1][D]) <= 0 && + Math.max(a[0][D], a[1][D]) >= 0 && + this._lines.drawZero( + I, + D, + this.bounds, + P, + this.zeroLineColor[D], + this.zeroLineWidth[D] * + this.pixelRatio, + ); + } + for (A = 0; A < 3; ++A) { + this.lineEnable[A] && + this._lines.drawAxisLine( + A, + this.bounds, + M[A].primalOffset, + this.lineColor[A], + this.lineWidth[A] * this.pixelRatio, + ), + this.lineMirror[A] && + this._lines.drawAxisLine( + A, + this.bounds, + M[A].mirrorOffset, + this.lineColor[A], + this.lineWidth[A] * this.pixelRatio, + ); + var z = u(y, M[A].primalMinor), + R = u(m, M[A].mirrorMinor), + F = this.lineTickLength; + for (O = 0; O < 3; ++O) { + var B = k / r[5 * O]; + (z[O] *= F[O] * B), (R[O] *= F[O] * B); + } + this.lineTickEnable[A] && + this._lines.drawAxisTicks( + A, + M[A].primalOffset, + z, + this.lineTickColor[A], + this.lineTickWidth[A] * this.pixelRatio, + ), + this.lineTickMirror[A] && + this._lines.drawAxisTicks( + A, + M[A].mirrorOffset, + R, + this.lineTickColor[A], + this.lineTickWidth[A] * this.pixelRatio, + ); + } + function N(t) { + (L = [0, 0, 0])[t] = 1; + } + function j(t, e, r) { + var n = (t + 1) % 3, + i = (t + 2) % 3, + a = e[n], + o = e[i], + s = r[n], + l = r[i]; + (a > 0 && l > 0) || + (a > 0 && l < 0) || + (a < 0 && l > 0) || + (a < 0 && l < 0) + ? N(n) + : ((o > 0 && s > 0) || + (o > 0 && s < 0) || + (o < 0 && s > 0) || + (o < 0 && s < 0)) && + N(i); + } + for ( + this._lines.unbind(), + this._text.bind(r, n, i, this.pixelRatio), + A = 0; + A < 3; + ++A + ) { + var U = M[A].primalMinor, + V = M[A].mirrorMinor, + H = u(x, M[A].primalOffset); + for (O = 0; O < 3; ++O) + this.lineTickEnable[A] && + (H[O] += + (k * + U[O] * + Math.max(this.lineTickLength[O], 0)) / + r[5 * O]); + var q = [0, 0, 0]; + if (((q[A] = 1), this.tickEnable[A])) { + for ( + -3600 === this.tickAngle[A] + ? ((this.tickAngle[A] = 0), + (this.tickAlign[A] = "auto")) + : (this.tickAlign[A] = -1), + E = 1, + "auto" === + (S = [this.tickAlign[A], 0.5, E])[0] + ? (S[0] = 0) + : (S[0] = parseInt("" + S[0])), + L = [0, 0, 0], + j(A, U, V), + O = 0; + O < 3; + ++O + ) + H[O] += + (k * U[O] * this.tickPad[O]) / r[5 * O]; + this._text.drawTicks( + A, + this.tickSize[A], + this.tickAngle[A], + H, + this.tickColor[A], + q, + L, + S, + ); + } + if (this.labelEnable[A]) { + for ( + E = 0, + L = [0, 0, 0], + this.labels[A].length > 4 && + (N(A), (E = 1)), + "auto" === + (S = [this.labelAlign[A], 0.5, E])[0] + ? (S[0] = 0) + : (S[0] = parseInt("" + S[0])), + O = 0; + O < 3; + ++O + ) + H[O] += + (k * U[O] * this.labelPad[O]) / + r[5 * O]; + (H[A] += 0.5 * (a[0][A] + a[1][A])), + this._text.drawLabel( + A, + this.labelSize[A], + this.labelAngle[A], + H, + this.labelColor[A], + [0, 0, 0], + L, + S, + ); + } + } + this._text.unbind(); + }), + (f.dispose = function () { + this._text.dispose(), + this._lines.dispose(), + this._background.dispose(), + (this._lines = null), + (this._text = null), + (this._background = null), + (this.gl = null); + }); + }, + 1011: function (t, e, r) { + "use strict"; + t.exports = function (t) { + for ( + var e = [], r = [], s = 0, l = 0; + l < 3; + ++l + ) + for ( + var u = (l + 1) % 3, + c = (l + 2) % 3, + f = [0, 0, 0], + h = [0, 0, 0], + p = -1; + p <= 1; + p += 2 + ) { + r.push( + s, + s + 2, + s + 1, + s + 1, + s + 2, + s + 3, + ), + (f[l] = p), + (h[l] = p); + for (var d = -1; d <= 1; d += 2) { + f[u] = d; + for (var v = -1; v <= 1; v += 2) + (f[c] = v), + e.push( + f[0], + f[1], + f[2], + h[0], + h[1], + h[2], + ), + (s += 1); + } + var g = u; + (u = c), (c = g); + } + var y = n(t, new Float32Array(e)), + m = n( + t, + new Uint16Array(r), + t.ELEMENT_ARRAY_BUFFER, + ), + x = i( + t, + [ + { + buffer: y, + type: t.FLOAT, + size: 3, + offset: 0, + stride: 24, + }, + { + buffer: y, + type: t.FLOAT, + size: 3, + offset: 12, + stride: 24, + }, + ], + m, + ), + b = a(t); + return ( + (b.attributes.position.location = 0), + (b.attributes.normal.location = 1), + new o(t, y, x, b) + ); + }; + var n = r(5827), + i = r(2944), + a = r(1943).bg; + function o(t, e, r, n) { + (this.gl = t), + (this.buffer = e), + (this.vao = r), + (this.shader = n); + } + var s = o.prototype; + (s.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); + } + }), + (s.dispose = function () { + this.vao.dispose(), + this.buffer.dispose(), + this.shader.dispose(); + }); + }, + 2864: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r, a, p) { + i(s, e, t), i(s, r, s); + for (var m = 0, x = 0; x < 2; ++x) { + c[2] = a[x][2]; + for (var b = 0; b < 2; ++b) { + c[1] = a[b][1]; + for (var _ = 0; _ < 2; ++_) + (c[0] = a[_][0]), h(l[m], c, s), (m += 1); + } + } + var w = -1; + for (x = 0; x < 8; ++x) { + for (var T = l[x][3], k = 0; k < 3; ++k) + u[x][k] = l[x][k] / T; + p && (u[x][2] *= -1), + T < 0 && + (w < 0 || u[x][2] < u[w][2]) && + (w = x); + } + if (w < 0) { + w = 0; + for (var A = 0; A < 3; ++A) { + for ( + var M = (A + 2) % 3, + S = (A + 1) % 3, + E = -1, + L = -1, + C = 0; + C < 2; + ++C + ) { + var P = + (I = C << A) + + (C << M) + + ((1 - C) << S), + O = I + ((1 - C) << M) + (C << S); + o(u[I], u[P], u[O], f) < 0 || + (C ? (E = 1) : (L = 1)); + } + if (E < 0 || L < 0) L > E && (w |= 1 << A); + else { + for (C = 0; C < 2; ++C) { + (P = + (I = C << A) + + (C << M) + + ((1 - C) << S)), + (O = I + ((1 - C) << M) + (C << S)); + var I, + D = d([ + l[I], + l[P], + l[O], + l[I + (1 << M) + (1 << S)], + ]); + C ? (E = D) : (L = D); + } + L > E && (w |= 1 << A); + } + } + } + var z = 7 ^ w, + R = -1; + for (x = 0; x < 8; ++x) + x !== w && + x !== z && + (R < 0 || u[R][1] > u[x][1]) && + (R = x); + var F = -1; + for (x = 0; x < 3; ++x) + (N = R ^ (1 << x)) !== w && + N !== z && + (F < 0 && (F = N), + (S = u[N])[0] < u[F][0] && (F = N)); + var B = -1; + for (x = 0; x < 3; ++x) { + var N; + (N = R ^ (1 << x)) !== w && + N !== z && + N !== F && + (B < 0 && (B = N), + (S = u[N])[0] > u[B][0] && (B = N)); + } + var j = v; + (j[0] = j[1] = j[2] = 0), + (j[n.log2(F ^ R)] = R & F), + (j[n.log2(R ^ B)] = R & B); + var U = 7 ^ B; + U === w || U === z + ? ((U = 7 ^ F), (j[n.log2(B ^ U)] = U & B)) + : (j[n.log2(F ^ U)] = U & F); + var V = g, + H = w; + for (A = 0; A < 3; ++A) + V[A] = H & (1 << A) ? -1 : 1; + return y; + }; + var n = r(2288), + i = r(104), + a = r(4670), + o = r(417), + s = new Array(16), + l = new Array(8), + u = new Array(8), + c = new Array(3), + f = [0, 0, 0]; + function h(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) + (l[t] = [1, 1, 1, 1]), (u[t] = [1, 1, 1]); + })(); + var p = [ + [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 d(t) { + for (var e = 0; e < p.length; ++e) + if ((t = a.positive(t, p[e])).length < 3) + return 0; + var r = t[0], + n = r[0] / r[3], + i = r[1] / r[3], + o = 0; + for (e = 1; e + 1 < t.length; ++e) { + var s = t[e], + l = t[e + 1], + u = s[0] / s[3] - n, + c = s[1] / s[3] - i, + f = l[0] / l[3] - n, + h = l[1] / l[3] - i; + o += Math.abs(u * h - c * f); + } + return o; + } + var v = [1, 1, 1], + g = [0, 0, 0], + y = { cubeEdges: v, axis: g }; + }, + 1681: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r) { + var o = [], + s = [0, 0, 0], + l = [0, 0, 0], + u = [0, 0, 0], + c = [0, 0, 0]; + o.push( + 0, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + -1, + 0, + 0, + -1, + 0, + 1, + 1, + 0, + 1, + -1, + ); + for (var f = 0; f < 3; ++f) { + for ( + var h = (o.length / 3) | 0, d = 0; + d < r[f].length; + ++d + ) { + var v = +r[f][d].x; + o.push( + v, + 0, + 1, + v, + 1, + 1, + v, + 0, + -1, + v, + 0, + -1, + v, + 1, + 1, + v, + 1, + -1, + ); + } + var g = (o.length / 3) | 0; + (s[f] = h), + (l[f] = g - h), + (h = (o.length / 3) | 0); + for (var y = 0; y < r[f].length; ++y) + (v = +r[f][y].x), + o.push( + v, + 0, + 1, + v, + 1, + 1, + v, + 0, + -1, + v, + 0, + -1, + v, + 1, + 1, + v, + 1, + -1, + ); + (g = (o.length / 3) | 0), + (u[f] = h), + (c[f] = g - h); + } + var m = n(t, new Float32Array(o)), + x = i(t, [ + { + buffer: m, + type: t.FLOAT, + size: 3, + stride: 0, + offset: 0, + }, + ]), + b = a(t); + return ( + (b.attributes.position.location = 0), + new p(t, m, x, b, l, s, c, u) + ); + }; + var n = r(5827), + i = r(2944), + a = r(1943).j, + o = [0, 0, 0], + s = [0, 0, 0], + l = [0, 0, 0], + u = [0, 0, 0], + c = [1, 1]; + function f(t) { + return (t[0] = t[1] = t[2] = 0), t; + } + function h(t, e) { + return ( + (t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), t + ); + } + function p(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 d = p.prototype; + (d.bind = function (t, e, r) { + this.shader.bind(), + (this.shader.uniforms.model = t), + (this.shader.uniforms.view = e), + (this.shader.uniforms.projection = r), + (c[0] = this.gl.drawingBufferWidth), + (c[1] = this.gl.drawingBufferHeight), + (this.shader.uniforms.screenShape = c), + this.vao.bind(); + }), + (d.unbind = function () { + this.vao.unbind(); + }), + (d.drawAxisLine = function (t, e, r, n, i) { + var a = f(s); + (this.shader.uniforms.majorAxis = s), + (a[t] = e[1][t] - e[0][t]), + (this.shader.uniforms.minorAxis = a); + var o, + c = h(u, r); + (c[t] += e[0][t]), + (this.shader.uniforms.offset = c), + (this.shader.uniforms.lineWidth = i), + (this.shader.uniforms.color = n), + ((o = f(l))[(t + 2) % 3] = 1), + (this.shader.uniforms.screenAxis = o), + this.vao.draw(this.gl.TRIANGLES, 6), + ((o = f(l))[(t + 1) % 3] = 1), + (this.shader.uniforms.screenAxis = o), + this.vao.draw(this.gl.TRIANGLES, 6); + }), + (d.drawAxisTicks = function (t, e, r, n, i) { + if (this.tickCount[t]) { + var a = f(o); + (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 s = f(l); + (s[t] = 1), + (this.shader.uniforms.screenAxis = s), + this.vao.draw( + this.gl.TRIANGLES, + this.tickCount[t], + this.tickOffset[t], + ); + } + }), + (d.drawGrid = function (t, e, r, n, i, a) { + if (this.gridCount[t]) { + var c = f(s); + (c[e] = r[1][e] - r[0][e]), + (this.shader.uniforms.minorAxis = c); + var p = h(u, n); + (p[e] += r[0][e]), + (this.shader.uniforms.offset = p); + var d = f(o); + (d[t] = 1), + (this.shader.uniforms.majorAxis = d); + var v = f(l); + (v[t] = 1), + (this.shader.uniforms.screenAxis = v), + (this.shader.uniforms.lineWidth = a), + (this.shader.uniforms.color = i), + this.vao.draw( + this.gl.TRIANGLES, + this.gridCount[t], + this.gridOffset[t], + ); + } + }), + (d.drawZero = function (t, e, r, n, i, a) { + var o = f(s); + (this.shader.uniforms.majorAxis = o), + (o[t] = r[1][t] - r[0][t]), + (this.shader.uniforms.minorAxis = o); + var c = h(u, n); + (c[t] += r[0][t]), + (this.shader.uniforms.offset = c); + var p = f(l); + (p[e] = 1), + (this.shader.uniforms.screenAxis = p), + (this.shader.uniforms.lineWidth = a), + (this.shader.uniforms.color = i), + this.vao.draw(this.gl.TRIANGLES, 6); + }), + (d.dispose = function () { + this.vao.dispose(), + this.vertBuffer.dispose(), + this.shader.dispose(); + }); + }, + 1943: function (t, e, r) { + "use strict"; + var n = r(6832), + i = r(5158), + a = n([ + "precision highp float;\n#define GLSLIFY 1\n\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", + ]), + o = n([ + "precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}", + ]); + e.j = function (t) { + return i(t, a, o, null, [ + { name: "position", type: "vec3" }, + ]); + }; + var s = n([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, axis, alignDir, alignOpt;\nuniform float scale, angle, pixelScale;\nuniform vec2 resolution;\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\nfloat computeViewAngle(vec3 a, vec3 b) {\n vec3 A = project(a);\n vec3 B = project(b);\n\n return atan(\n (B.y - A.y) * resolution.y,\n (B.x - A.x) * resolution.x\n );\n}\n\nconst float PI = 3.141592;\nconst float TWO_PI = 2.0 * PI;\nconst float HALF_PI = 0.5 * PI;\nconst float ONE_AND_HALF_PI = 1.5 * PI;\n\nint option = int(floor(alignOpt.x + 0.001));\nfloat hv_ratio = alignOpt.y;\nbool enableAlign = (alignOpt.z != 0.0);\n\nfloat mod_angle(float a) {\n return mod(a, PI);\n}\n\nfloat positive_angle(float a) {\n return mod_angle((a < 0.0) ?\n a + TWO_PI :\n a\n );\n}\n\nfloat look_upwards(float a) {\n float b = positive_angle(a);\n return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}", + ]), + l = n([ + "precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}", + ]); + e.f = function (t) { + return i(t, s, l, null, [ + { name: "position", type: "vec3" }, + ]); + }; + var u = n([ + "precision highp float;\n#define GLSLIFY 1\n\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\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 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\n colorChannel = abs(realNormal);\n}", + ]), + c = n([ + "precision highp 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}", + ]); + e.bg = function (t) { + return i(t, u, c, null, [ + { name: "position", type: "vec3" }, + { name: "normal", type: "vec3" }, + ]); + }; + }, + 9557: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r, i, o, l) { + var u = n(t), + f = a(t, [{ buffer: u, size: 3 }]), + h = s(t); + h.attributes.position.location = 0; + var p = new c(t, h, u, f); + return p.update(e, r, i, o, l), p; + }; + var n = r(5827), + a = r(2944), + o = r(875), + s = r(1943).f, + l = window || i.global || {}, + u = l.__TEXT_CACHE || {}; + function c(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); + } + l.__TEXT_CACHE = {}; + var f = c.prototype, + h = [0, 0]; + (f.bind = function (t, e, r, n) { + this.vao.bind(), this.shader.bind(); + var i = this.shader.uniforms; + (i.model = t), + (i.view = e), + (i.projection = r), + (i.pixelScale = n), + (h[0] = this.gl.drawingBufferWidth), + (h[1] = this.gl.drawingBufferHeight), + (this.shader.uniforms.resolution = h); + }), + (f.unbind = function () { + this.vao.unbind(); + }), + (f.update = function (t, e, r, n, i) { + var a = []; + function s(t, e, r, n, i, s) { + var l = u[r]; + l || (l = u[r] = {}); + var c = l[e]; + c || + (c = l[e] = + (function (t, e) { + try { + return o(t, e); + } catch (e) { + return ( + console.warn( + 'error vectorizing text:"' + + t + + '" error:', + e, + ), + { cells: [], positions: [] } + ); + } + })(e, { + triangles: !0, + font: r, + textAlign: "center", + textBaseline: "middle", + lineSpacing: i, + styletags: s, + })); + for ( + var f = (n || 12) / 12, + h = c.positions, + p = c.cells, + d = 0, + v = p.length; + d < v; + ++d + ) + for (var g = p[d], y = 2; y >= 0; --y) { + var m = h[g[y]]; + a.push(f * m[0], -f * m[1], t); + } + } + for ( + var l = [0, 0, 0], + c = [0, 0, 0], + f = [0, 0, 0], + h = [0, 0, 0], + p = { + breaklines: !0, + bolds: !0, + italics: !0, + subscripts: !0, + superscripts: !0, + }, + d = 0; + d < 3; + ++d + ) { + (f[d] = (a.length / 3) | 0), + s( + 0.5 * (t[0][d] + t[1][d]), + e[d], + r[d], + 12, + 1.25, + p, + ), + (h[d] = ((a.length / 3) | 0) - f[d]), + (l[d] = (a.length / 3) | 0); + for (var v = 0; v < n[d].length; ++v) + n[d][v].text && + s( + n[d][v].x, + n[d][v].text, + n[d][v].font || i, + n[d][v].fontSize || 12, + 1.25, + p, + ); + c[d] = ((a.length / 3) | 0) - l[d]; + } + this.buffer.update(a), + (this.tickOffset = l), + (this.tickCount = c), + (this.labelOffset = f), + (this.labelCount = h); + }), + (f.drawTicks = function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + this.tickCount[t] && + ((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.shader.uniforms.alignDir = o), + (this.shader.uniforms.alignOpt = s), + this.vao.draw( + this.gl.TRIANGLES, + this.tickCount[t], + this.tickOffset[t], + )); + }), + (f.drawLabel = function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + this.labelCount[t] && + ((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.shader.uniforms.alignDir = o), + (this.shader.uniforms.alignOpt = s), + this.vao.draw( + this.gl.TRIANGLES, + this.labelCount[t], + this.labelOffset[t], + )); + }), + (f.dispose = function () { + this.shader.dispose(), + this.vao.dispose(), + this.buffer.dispose(); + }); + }, + 8468: function (t, e) { + "use strict"; + function r(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 f = "" + u; f.length < i; ) + f = "0" + f; + return c + "." + f; + } + return c; + } + (e.create = function (t, e) { + for (var n = [], i = 0; i < 3; ++i) { + for ( + var a = [], o = (t[0][i], t[1][i], 0); + o * e[i] <= t[1][i]; + ++o + ) + a.push({ x: o * e[i], text: r(e[i], o) }); + for (o = -1; o * e[i] >= t[0][i]; --o) + a.push({ x: o * e[i], text: r(e[i], o) }); + n.push(a); + } + return n; + }), + (e.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; + }); + }, + 2771: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r, l, f) { + var h = e.model || u, + p = e.view || u, + y = e.projection || u, + m = e._ortho || !1, + x = t.bounds, + b = (f = f || a(h, p, y, x, m)).axis; + o(c, p, h), o(c, y, c); + for (var _ = v, w = 0; w < 3; ++w) + (_[w].lo = 1 / 0), + (_[w].hi = -1 / 0), + (_[w].pixelsPerDataUnit = 1 / 0); + var T = n(s(c, c)); + s(c, c); + for (var k = 0; k < 3; ++k) { + var A = (k + 1) % 3, + M = (k + 2) % 3, + S = g; + t: for (w = 0; w < 2; ++w) { + var E = []; + if (b[k] < 0 != !!w) { + S[k] = x[w][k]; + for (var L = 0; L < 2; ++L) { + S[A] = x[L ^ w][A]; + for (var C = 0; C < 2; ++C) + (S[M] = x[C ^ L ^ w][M]), + E.push(S.slice()); + } + var P = m ? 5 : 4; + for (L = P; L === P; ++L) { + if (0 === E.length) continue t; + E = i.positive(E, T[L]); + } + for (L = 0; L < E.length; ++L) { + M = E[L]; + var O = d(g, c, M, r, l); + for (C = 0; C < 3; ++C) + (_[C].lo = Math.min(_[C].lo, M[C])), + (_[C].hi = Math.max(_[C].hi, M[C])), + C !== k && + (_[C].pixelsPerDataUnit = + Math.min( + _[C].pixelsPerDataUnit, + Math.abs(O[C]), + )); + } + } + } + } + return _; + }; + var n = r(5795), + i = r(4670), + a = r(2864), + o = r(104), + s = r(2142), + l = r(6342), + u = new Float32Array([ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 1, + ]), + c = new Float32Array(16); + function f(t, e, r) { + (this.lo = t), + (this.hi = e), + (this.pixelsPerDataUnit = r); + } + var h = [0, 0, 0, 1], + p = [0, 0, 0, 1]; + function d(t, e, r, n, i) { + for (var a = 0; a < 3; ++a) { + for (var o = h, s = p, u = 0; u < 3; ++u) + s[u] = o[u] = r[u]; + (s[3] = o[3] = 1), + (s[a] += 1), + l(s, s, e), + s[3] < 0 && (t[a] = 1 / 0), + (o[a] -= 1), + l(o, o, e), + o[3] < 0 && (t[a] = 1 / 0); + var c = (o[0] / o[3] - s[0] / s[3]) * n, + f = (o[1] / o[3] - s[1] / s[3]) * i; + t[a] = 0.25 * Math.sqrt(c * c + f * f); + } + return t; + } + var v = [ + new f(1 / 0, -1 / 0, 1 / 0), + new f(1 / 0, -1 / 0, 1 / 0), + new f(1 / 0, -1 / 0, 1 / 0), + ], + g = [0, 0, 0]; + }, + 5827: function (t, e, r) { + "use strict"; + var n = r(5306), + i = r(7498), + a = r(5050), + o = [ + "uint8", + "uint8_clamped", + "uint16", + "uint32", + "int8", + "int16", + "int32", + "float32", + ]; + function s(t, e, r, n, i) { + (this.gl = t), + (this.type = e), + (this.handle = r), + (this.length = n), + (this.usage = i); + } + var l = s.prototype; + function u(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 c(t, e) { + for ( + var r = n.malloc(t.length, e), + i = t.length, + a = 0; + a < i; + ++a + ) + r[a] = t[a]; + return r; + } + (l.bind = function () { + this.gl.bindBuffer(this.type, this.handle); + }), + (l.unbind = function () { + this.gl.bindBuffer(this.type, null); + }), + (l.dispose = function () { + this.gl.deleteBuffer(this.handle); + }), + (l.update = function (t, e) { + if ( + ("number" != typeof e && (e = -1), + this.bind(), + "object" == typeof t && void 0 !== t.shape) + ) { + var r = t.dtype; + if ( + (o.indexOf(r) < 0 && (r = "float32"), + this.type === + this.gl.ELEMENT_ARRAY_BUFFER && + (r = + gl.getExtension( + "OES_element_index_uint", + ) && "uint16" !== r + ? "uint32" + : "uint16"), + 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 = u( + this.gl, + this.type, + this.length, + this.usage, + t.data, + e, + )) + : (this.length = u( + this.gl, + this.type, + this.length, + this.usage, + t.data.subarray( + t.offset, + t.shape[0], + ), + e, + )); + else { + var s = n.malloc(t.size, r), + l = a(s, t.shape); + i.assign(l, t), + (this.length = u( + this.gl, + this.type, + this.length, + this.usage, + e < 0 ? s : s.subarray(0, t.size), + e, + )), + n.free(s); + } + } else if (Array.isArray(t)) { + var f; + (f = + this.type === this.gl.ELEMENT_ARRAY_BUFFER + ? c(t, "uint16") + : c(t, "float32")), + (this.length = u( + this.gl, + this.type, + this.length, + this.usage, + e < 0 ? f : f.subarray(0, t.length), + e, + )), + n.free(f); + } else if ( + "object" == typeof t && + "number" == typeof t.length + ) + this.length = u( + 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); + } + }), + (t.exports = 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 = t.createBuffer(), + a = new s(t, r, i, 0, n); + return a.update(e), a; + }); + }, + 1140: function (t, e, r) { + "use strict"; + var n = r(2858); + t.exports = function (t, e) { + var r = t.positions, + i = t.vectors, + a = { + positions: [], + vertexIntensity: [], + vertexIntensityBounds: + t.vertexIntensityBounds, + vectors: [], + cells: [], + coneOffset: t.coneOffset, + colormap: t.colormap, + }; + if (0 === t.positions.length) + return ( + e && + ((e[0] = [0, 0, 0]), (e[1] = [0, 0, 0])), + a + ); + for ( + var o = 0, + s = 1 / 0, + l = -1 / 0, + u = 1 / 0, + c = -1 / 0, + f = 1 / 0, + h = -1 / 0, + p = null, + d = null, + v = [], + g = 1 / 0, + y = !1, + m = 0; + m < r.length; + m++ + ) { + var x = r[m]; + (s = Math.min(x[0], s)), + (l = Math.max(x[0], l)), + (u = Math.min(x[1], u)), + (c = Math.max(x[1], c)), + (f = Math.min(x[2], f)), + (h = Math.max(x[2], h)); + var b = i[m]; + if ( + (n.length(b) > o && (o = n.length(b)), m) + ) { + var _ = + (2 * n.distance(p, x)) / + (n.length(d) + n.length(b)); + _ + ? ((g = Math.min(g, _)), (y = !1)) + : (y = !0); + } + y || ((p = x), (d = b)), v.push(b); + } + var w = [s, u, f], + T = [l, c, h]; + e && ((e[0] = w), (e[1] = T)), + 0 === o && (o = 1); + var k = 1 / o; + isFinite(g) || (g = 1), (a.vectorScale = g); + var A = t.coneSize || 0.5; + t.absoluteConeSize && + (A = t.absoluteConeSize * k), + (a.coneScale = A), + (m = 0); + for (var M = 0; m < r.length; m++) + for ( + var S = (x = r[m])[0], + E = x[1], + L = x[2], + C = v[m], + P = n.length(C) * k, + O = 0; + O < 8; + O++ + ) { + a.positions.push([S, E, L, M++]), + a.positions.push([S, E, L, M++]), + a.positions.push([S, E, L, M++]), + a.positions.push([S, E, L, M++]), + a.positions.push([S, E, L, M++]), + a.positions.push([S, E, L, M++]), + a.vectors.push(C), + a.vectors.push(C), + a.vectors.push(C), + a.vectors.push(C), + a.vectors.push(C), + a.vectors.push(C), + a.vertexIntensity.push(P, P, P), + a.vertexIntensity.push(P, P, P); + var I = a.positions.length; + a.cells.push( + [I - 6, I - 5, I - 4], + [I - 3, I - 2, I - 1], + ); + } + return a; + }; + var i = r(7234); + (t.exports.createMesh = r(5028)), + (t.exports.createConeMesh = function (e, r) { + return t.exports.createMesh(e, r, { + shaders: i, + traceType: "cone", + }); + }); + }, + 5028: function (t, e, r) { + "use strict"; + var n = r(5158), + i = r(5827), + a = r(2944), + o = r(8931), + s = r(104), + l = r(7437), + u = r(5050), + c = r(9156), + f = [ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 1, + ]; + function h(t, e, r, n, i, a, o, s, l, u, c) { + (this.gl = t), + (this.pixelRatio = 1), + (this.cells = []), + (this.positions = []), + (this.intensity = []), + (this.texture = e), + (this.dirty = !0), + (this.triShader = r), + (this.pickShader = n), + (this.trianglePositions = i), + (this.triangleVectors = a), + (this.triangleColors = s), + (this.triangleUVs = l), + (this.triangleIds = o), + (this.triangleVAO = u), + (this.triangleCount = 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 = 0.8), + (this.diffuseLight = 0.8), + (this.specularLight = 2), + (this.roughness = 0.5), + (this.fresnel = 1.5), + (this.opacity = 1), + (this.traceType = c), + (this.tubeScale = 1), + (this.coneScale = 2), + (this.vectorScale = 1), + (this.coneOffset = 0.25), + (this._model = f), + (this._view = f), + (this._projection = f), + (this._resolution = [1, 1]); + } + var p = h.prototype; + function d(t, e) { + var r = n( + t, + e.meshShader.vertex, + e.meshShader.fragment, + null, + e.meshShader.attributes, + ); + return ( + (r.attributes.position.location = 0), + (r.attributes.color.location = 2), + (r.attributes.uv.location = 3), + (r.attributes.vector.location = 4), + r + ); + } + function v(t, e) { + var r = n( + t, + e.pickShader.vertex, + e.pickShader.fragment, + null, + e.pickShader.attributes, + ); + return ( + (r.attributes.position.location = 0), + (r.attributes.id.location = 1), + (r.attributes.vector.location = 4), + r + ); + } + (p.isOpaque = function () { + return this.opacity >= 1; + }), + (p.isTransparent = function () { + return this.opacity < 1; + }), + (p.pickSlots = 1), + (p.setPickBase = function (t) { + this.pickId = t; + }), + (p.update = function (t) { + t = t || {}; + var e = this.gl; + (this.dirty = !0), + "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), + void 0 !== t.tubeScale && + (this.tubeScale = t.tubeScale), + void 0 !== t.vectorScale && + (this.vectorScale = t.vectorScale), + void 0 !== t.coneScale && + (this.coneScale = t.coneScale), + void 0 !== t.coneOffset && + (this.coneOffset = t.coneOffset), + 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 = c({ + 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 u(r, [256, 256, 4], [4, 0, 1]); + })(t.colormap), + ), + this.texture.generateMipmap()); + var r = t.cells, + n = t.positions, + i = t.vectors; + if (n && r && i) { + var a = [], + o = [], + s = [], + l = [], + f = []; + (this.cells = r), + (this.positions = n), + (this.vectors = i); + var h = t.meshColor || [1, 1, 1, 1], + p = t.vertexIntensity, + d = 1 / 0, + v = -1 / 0; + if (p) + if (t.vertexIntensityBounds) + (d = +t.vertexIntensityBounds[0]), + (v = +t.vertexIntensityBounds[1]); + else + for (var g = 0; g < p.length; ++g) { + var y = p[g]; + (d = Math.min(d, y)), + (v = Math.max(v, y)); + } + else + for (g = 0; g < n.length; ++g) + (y = n[g][2]), + (d = Math.min(d, y)), + (v = Math.max(v, y)); + for ( + this.intensity = + p || + (function (t) { + for ( + var e = t.length, + r = new Array(e), + n = 0; + n < e; + ++n + ) + r[n] = t[n][2]; + return r; + })(n), + this.bounds = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ], + g = 0; + g < n.length; + ++g + ) + for (var m = n[g], x = 0; x < 3; ++x) + !isNaN(m[x]) && + isFinite(m[x]) && + ((this.bounds[0][x] = Math.min( + this.bounds[0][x], + m[x], + )), + (this.bounds[1][x] = Math.max( + this.bounds[1][x], + m[x], + ))); + var b = 0; + t: for (g = 0; g < r.length; ++g) { + var _ = r[g]; + if (3 === _.length) { + for (x = 0; x < 3; ++x) { + m = n[(T = _[x])]; + for (var w = 0; w < 3; ++w) + if (isNaN(m[w]) || !isFinite(m[w])) + continue t; + } + for (x = 0; x < 3; ++x) { + var T; + (m = n[(T = _[2 - x])]), + a.push(m[0], m[1], m[2], m[3]); + var k = i[T]; + o.push(k[0], k[1], k[2], k[3] || 0); + var A, + M = h; + 3 === M.length + ? s.push(M[0], M[1], M[2], 1) + : s.push(M[0], M[1], M[2], M[3]), + (A = p + ? [(p[T] - d) / (v - d), 0] + : [(m[2] - d) / (v - d), 0]), + l.push(A[0], A[1]), + f.push(g); + } + b += 1; + } + } + (this.triangleCount = b), + this.trianglePositions.update(a), + this.triangleVectors.update(o), + this.triangleColors.update(s), + this.triangleUVs.update(l), + this.triangleIds.update( + new Uint32Array(f), + ); + } + }), + (p.drawTransparent = p.draw = + function (t) { + t = t || {}; + for ( + var e = this.gl, + r = t.model || f, + n = t.view || f, + i = t.projection || f, + 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 u = { + model: r, + view: n, + projection: i, + inverseModel: f.slice(), + 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, + tubeScale: this.tubeScale, + vectorScale: this.vectorScale, + coneScale: this.coneScale, + coneOffset: this.coneOffset, + texture: 0, + }; + (u.inverseModel = l( + u.inverseModel, + u.model, + )), + e.disable(e.CULL_FACE), + this.texture.bind(0); + var c = new Array(16); + for ( + s(c, u.view, u.model), + s(c, u.projection, c), + l(c, c), + o = 0; + o < 3; + ++o + ) + u.eyePosition[o] = c[12 + o] / c[15]; + var h = c[15]; + for (o = 0; o < 3; ++o) + h += this.lightPosition[o] * c[4 * o + 3]; + for (o = 0; o < 3; ++o) { + for (var p = c[12 + o], d = 0; d < 3; ++d) + p += + c[4 * d + o] * this.lightPosition[d]; + u.lightPosition[o] = p / h; + } + if (this.triangleCount > 0) { + var v = this.triShader; + v.bind(), + (v.uniforms = u), + this.triangleVAO.bind(), + e.drawArrays( + e.TRIANGLES, + 0, + 3 * this.triangleCount, + ), + this.triangleVAO.unbind(); + } + }), + (p.drawPick = function (t) { + t = t || {}; + for ( + var e = this.gl, + r = t.model || f, + n = t.view || f, + i = t.projection || f, + a = [ + [-1e6, -1e6, -1e6], + [1e6, 1e6, 1e6], + ], + o = 0; + o < 3; + ++o + ) + (a[0][o] = Math.max( + a[0][o], + this.clipBounds[0][o], + )), + (a[1][o] = Math.min( + a[1][o], + this.clipBounds[1][o], + )); + (this._model = [].slice.call(r)), + (this._view = [].slice.call(n)), + (this._projection = [].slice.call(i)), + (this._resolution = [ + e.drawingBufferWidth, + e.drawingBufferHeight, + ]); + var s = { + model: r, + view: n, + projection: i, + clipBounds: a, + tubeScale: this.tubeScale, + vectorScale: this.vectorScale, + coneScale: this.coneScale, + coneOffset: this.coneOffset, + pickId: this.pickId / 255, + }, + l = this.pickShader; + l.bind(), + (l.uniforms = s), + this.triangleCount > 0 && + (this.triangleVAO.bind(), + e.drawArrays( + e.TRIANGLES, + 0, + 3 * this.triangleCount, + ), + this.triangleVAO.unbind()); + }), + (p.pick = function (t) { + if (!t) return null; + if (t.id !== this.pickId) return null; + var e = + t.value[0] + + 256 * t.value[1] + + 65536 * t.value[2], + r = this.cells[e], + n = this.positions[r[1]].slice(0, 3), + i = { + position: n, + dataCoordinate: n, + index: Math.floor(r[1] / 48), + }; + return ( + "cone" === this.traceType + ? (i.index = Math.floor(r[1] / 48)) + : "streamtube" === this.traceType && + ((i.intensity = this.intensity[r[1]]), + (i.velocity = this.vectors[r[1]].slice( + 0, + 3, + )), + (i.divergence = this.vectors[r[1]][3]), + (i.index = e)), + i + ); + }), + (p.dispose = function () { + this.texture.dispose(), + this.triShader.dispose(), + this.pickShader.dispose(), + this.triangleVAO.dispose(), + this.trianglePositions.dispose(), + this.triangleVectors.dispose(), + this.triangleColors.dispose(), + this.triangleUVs.dispose(), + this.triangleIds.dispose(); + }), + (t.exports = function (t, e, r) { + var n = r.shaders; + 1 === arguments.length && (t = (e = t).gl); + var s = d(t, n), + l = v(t, n), + c = o( + t, + u( + new Uint8Array([255, 255, 255, 255]), + [1, 1, 4], + ), + ); + c.generateMipmap(), + (c.minFilter = t.LINEAR_MIPMAP_LINEAR), + (c.magFilter = t.LINEAR); + var f = i(t), + p = i(t), + g = i(t), + y = i(t), + m = i(t), + x = a(t, [ + { buffer: f, type: t.FLOAT, size: 4 }, + { + buffer: m, + type: t.UNSIGNED_BYTE, + size: 4, + normalized: !0, + }, + { buffer: g, type: t.FLOAT, size: 4 }, + { buffer: y, type: t.FLOAT, size: 2 }, + { buffer: p, type: t.FLOAT, size: 4 }, + ]), + b = new h( + t, + c, + s, + l, + f, + p, + m, + g, + y, + x, + r.traceType || "cone", + ); + return b.update(e), b; + }); + }, + 7234: function (t, e, r) { + var n = r(6832), + i = n([ + "precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n", + ]), + a = n([ + "#extension GL_OES_standard_derivatives : enable\n\nprecision highp 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\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\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 = min(1.0, max(0.0, 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}\n", + ]), + o = n([ + "precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * view * conePosition;\n f_id = id;\n f_position = position.xyz;\n}\n", + ]), + s = n([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}", + ]); + (e.meshShader = { + vertex: i, + fragment: a, + attributes: [ + { name: "position", type: "vec4" }, + { name: "color", type: "vec4" }, + { name: "uv", type: "vec2" }, + { name: "vector", type: "vec3" }, + ], + }), + (e.pickShader = { + vertex: o, + fragment: s, + attributes: [ + { name: "position", type: "vec4" }, + { name: "id", type: "vec4" }, + { name: "vector", type: "vec3" }, + ], + }); + }, + 1950: function (t) { + t.exports = { + 0: "NONE", + 1: "ONE", + 2: "LINE_LOOP", + 3: "LINE_STRIP", + 4: "TRIANGLES", + 5: "TRIANGLE_STRIP", + 6: "TRIANGLE_FAN", + 256: "DEPTH_BUFFER_BIT", + 512: "NEVER", + 513: "LESS", + 514: "EQUAL", + 515: "LEQUAL", + 516: "GREATER", + 517: "NOTEQUAL", + 518: "GEQUAL", + 519: "ALWAYS", + 768: "SRC_COLOR", + 769: "ONE_MINUS_SRC_COLOR", + 770: "SRC_ALPHA", + 771: "ONE_MINUS_SRC_ALPHA", + 772: "DST_ALPHA", + 773: "ONE_MINUS_DST_ALPHA", + 774: "DST_COLOR", + 775: "ONE_MINUS_DST_COLOR", + 776: "SRC_ALPHA_SATURATE", + 1024: "STENCIL_BUFFER_BIT", + 1028: "FRONT", + 1029: "BACK", + 1032: "FRONT_AND_BACK", + 1280: "INVALID_ENUM", + 1281: "INVALID_VALUE", + 1282: "INVALID_OPERATION", + 1285: "OUT_OF_MEMORY", + 1286: "INVALID_FRAMEBUFFER_OPERATION", + 2304: "CW", + 2305: "CCW", + 2849: "LINE_WIDTH", + 2884: "CULL_FACE", + 2885: "CULL_FACE_MODE", + 2886: "FRONT_FACE", + 2928: "DEPTH_RANGE", + 2929: "DEPTH_TEST", + 2930: "DEPTH_WRITEMASK", + 2931: "DEPTH_CLEAR_VALUE", + 2932: "DEPTH_FUNC", + 2960: "STENCIL_TEST", + 2961: "STENCIL_CLEAR_VALUE", + 2962: "STENCIL_FUNC", + 2963: "STENCIL_VALUE_MASK", + 2964: "STENCIL_FAIL", + 2965: "STENCIL_PASS_DEPTH_FAIL", + 2966: "STENCIL_PASS_DEPTH_PASS", + 2967: "STENCIL_REF", + 2968: "STENCIL_WRITEMASK", + 2978: "VIEWPORT", + 3024: "DITHER", + 3042: "BLEND", + 3088: "SCISSOR_BOX", + 3089: "SCISSOR_TEST", + 3106: "COLOR_CLEAR_VALUE", + 3107: "COLOR_WRITEMASK", + 3317: "UNPACK_ALIGNMENT", + 3333: "PACK_ALIGNMENT", + 3379: "MAX_TEXTURE_SIZE", + 3386: "MAX_VIEWPORT_DIMS", + 3408: "SUBPIXEL_BITS", + 3410: "RED_BITS", + 3411: "GREEN_BITS", + 3412: "BLUE_BITS", + 3413: "ALPHA_BITS", + 3414: "DEPTH_BITS", + 3415: "STENCIL_BITS", + 3553: "TEXTURE_2D", + 4352: "DONT_CARE", + 4353: "FASTEST", + 4354: "NICEST", + 5120: "BYTE", + 5121: "UNSIGNED_BYTE", + 5122: "SHORT", + 5123: "UNSIGNED_SHORT", + 5124: "INT", + 5125: "UNSIGNED_INT", + 5126: "FLOAT", + 5386: "INVERT", + 5890: "TEXTURE", + 6401: "STENCIL_INDEX", + 6402: "DEPTH_COMPONENT", + 6406: "ALPHA", + 6407: "RGB", + 6408: "RGBA", + 6409: "LUMINANCE", + 6410: "LUMINANCE_ALPHA", + 7680: "KEEP", + 7681: "REPLACE", + 7682: "INCR", + 7683: "DECR", + 7936: "VENDOR", + 7937: "RENDERER", + 7938: "VERSION", + 9728: "NEAREST", + 9729: "LINEAR", + 9984: "NEAREST_MIPMAP_NEAREST", + 9985: "LINEAR_MIPMAP_NEAREST", + 9986: "NEAREST_MIPMAP_LINEAR", + 9987: "LINEAR_MIPMAP_LINEAR", + 10240: "TEXTURE_MAG_FILTER", + 10241: "TEXTURE_MIN_FILTER", + 10242: "TEXTURE_WRAP_S", + 10243: "TEXTURE_WRAP_T", + 10497: "REPEAT", + 10752: "POLYGON_OFFSET_UNITS", + 16384: "COLOR_BUFFER_BIT", + 32769: "CONSTANT_COLOR", + 32770: "ONE_MINUS_CONSTANT_COLOR", + 32771: "CONSTANT_ALPHA", + 32772: "ONE_MINUS_CONSTANT_ALPHA", + 32773: "BLEND_COLOR", + 32774: "FUNC_ADD", + 32777: "BLEND_EQUATION_RGB", + 32778: "FUNC_SUBTRACT", + 32779: "FUNC_REVERSE_SUBTRACT", + 32819: "UNSIGNED_SHORT_4_4_4_4", + 32820: "UNSIGNED_SHORT_5_5_5_1", + 32823: "POLYGON_OFFSET_FILL", + 32824: "POLYGON_OFFSET_FACTOR", + 32854: "RGBA4", + 32855: "RGB5_A1", + 32873: "TEXTURE_BINDING_2D", + 32926: "SAMPLE_ALPHA_TO_COVERAGE", + 32928: "SAMPLE_COVERAGE", + 32936: "SAMPLE_BUFFERS", + 32937: "SAMPLES", + 32938: "SAMPLE_COVERAGE_VALUE", + 32939: "SAMPLE_COVERAGE_INVERT", + 32968: "BLEND_DST_RGB", + 32969: "BLEND_SRC_RGB", + 32970: "BLEND_DST_ALPHA", + 32971: "BLEND_SRC_ALPHA", + 33071: "CLAMP_TO_EDGE", + 33170: "GENERATE_MIPMAP_HINT", + 33189: "DEPTH_COMPONENT16", + 33306: "DEPTH_STENCIL_ATTACHMENT", + 33635: "UNSIGNED_SHORT_5_6_5", + 33648: "MIRRORED_REPEAT", + 33901: "ALIASED_POINT_SIZE_RANGE", + 33902: "ALIASED_LINE_WIDTH_RANGE", + 33984: "TEXTURE0", + 33985: "TEXTURE1", + 33986: "TEXTURE2", + 33987: "TEXTURE3", + 33988: "TEXTURE4", + 33989: "TEXTURE5", + 33990: "TEXTURE6", + 33991: "TEXTURE7", + 33992: "TEXTURE8", + 33993: "TEXTURE9", + 33994: "TEXTURE10", + 33995: "TEXTURE11", + 33996: "TEXTURE12", + 33997: "TEXTURE13", + 33998: "TEXTURE14", + 33999: "TEXTURE15", + 34e3: "TEXTURE16", + 34001: "TEXTURE17", + 34002: "TEXTURE18", + 34003: "TEXTURE19", + 34004: "TEXTURE20", + 34005: "TEXTURE21", + 34006: "TEXTURE22", + 34007: "TEXTURE23", + 34008: "TEXTURE24", + 34009: "TEXTURE25", + 34010: "TEXTURE26", + 34011: "TEXTURE27", + 34012: "TEXTURE28", + 34013: "TEXTURE29", + 34014: "TEXTURE30", + 34015: "TEXTURE31", + 34016: "ACTIVE_TEXTURE", + 34024: "MAX_RENDERBUFFER_SIZE", + 34041: "DEPTH_STENCIL", + 34055: "INCR_WRAP", + 34056: "DECR_WRAP", + 34067: "TEXTURE_CUBE_MAP", + 34068: "TEXTURE_BINDING_CUBE_MAP", + 34069: "TEXTURE_CUBE_MAP_POSITIVE_X", + 34070: "TEXTURE_CUBE_MAP_NEGATIVE_X", + 34071: "TEXTURE_CUBE_MAP_POSITIVE_Y", + 34072: "TEXTURE_CUBE_MAP_NEGATIVE_Y", + 34073: "TEXTURE_CUBE_MAP_POSITIVE_Z", + 34074: "TEXTURE_CUBE_MAP_NEGATIVE_Z", + 34076: "MAX_CUBE_MAP_TEXTURE_SIZE", + 34338: "VERTEX_ATTRIB_ARRAY_ENABLED", + 34339: "VERTEX_ATTRIB_ARRAY_SIZE", + 34340: "VERTEX_ATTRIB_ARRAY_STRIDE", + 34341: "VERTEX_ATTRIB_ARRAY_TYPE", + 34342: "CURRENT_VERTEX_ATTRIB", + 34373: "VERTEX_ATTRIB_ARRAY_POINTER", + 34466: "NUM_COMPRESSED_TEXTURE_FORMATS", + 34467: "COMPRESSED_TEXTURE_FORMATS", + 34660: "BUFFER_SIZE", + 34661: "BUFFER_USAGE", + 34816: "STENCIL_BACK_FUNC", + 34817: "STENCIL_BACK_FAIL", + 34818: "STENCIL_BACK_PASS_DEPTH_FAIL", + 34819: "STENCIL_BACK_PASS_DEPTH_PASS", + 34877: "BLEND_EQUATION_ALPHA", + 34921: "MAX_VERTEX_ATTRIBS", + 34922: "VERTEX_ATTRIB_ARRAY_NORMALIZED", + 34930: "MAX_TEXTURE_IMAGE_UNITS", + 34962: "ARRAY_BUFFER", + 34963: "ELEMENT_ARRAY_BUFFER", + 34964: "ARRAY_BUFFER_BINDING", + 34965: "ELEMENT_ARRAY_BUFFER_BINDING", + 34975: "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", + 35040: "STREAM_DRAW", + 35044: "STATIC_DRAW", + 35048: "DYNAMIC_DRAW", + 35632: "FRAGMENT_SHADER", + 35633: "VERTEX_SHADER", + 35660: "MAX_VERTEX_TEXTURE_IMAGE_UNITS", + 35661: "MAX_COMBINED_TEXTURE_IMAGE_UNITS", + 35663: "SHADER_TYPE", + 35664: "FLOAT_VEC2", + 35665: "FLOAT_VEC3", + 35666: "FLOAT_VEC4", + 35667: "INT_VEC2", + 35668: "INT_VEC3", + 35669: "INT_VEC4", + 35670: "BOOL", + 35671: "BOOL_VEC2", + 35672: "BOOL_VEC3", + 35673: "BOOL_VEC4", + 35674: "FLOAT_MAT2", + 35675: "FLOAT_MAT3", + 35676: "FLOAT_MAT4", + 35678: "SAMPLER_2D", + 35680: "SAMPLER_CUBE", + 35712: "DELETE_STATUS", + 35713: "COMPILE_STATUS", + 35714: "LINK_STATUS", + 35715: "VALIDATE_STATUS", + 35716: "INFO_LOG_LENGTH", + 35717: "ATTACHED_SHADERS", + 35718: "ACTIVE_UNIFORMS", + 35719: "ACTIVE_UNIFORM_MAX_LENGTH", + 35720: "SHADER_SOURCE_LENGTH", + 35721: "ACTIVE_ATTRIBUTES", + 35722: "ACTIVE_ATTRIBUTE_MAX_LENGTH", + 35724: "SHADING_LANGUAGE_VERSION", + 35725: "CURRENT_PROGRAM", + 36003: "STENCIL_BACK_REF", + 36004: "STENCIL_BACK_VALUE_MASK", + 36005: "STENCIL_BACK_WRITEMASK", + 36006: "FRAMEBUFFER_BINDING", + 36007: "RENDERBUFFER_BINDING", + 36048: "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", + 36049: "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", + 36050: "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", + 36051: + "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", + 36053: "FRAMEBUFFER_COMPLETE", + 36054: "FRAMEBUFFER_INCOMPLETE_ATTACHMENT", + 36055: + "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", + 36057: "FRAMEBUFFER_INCOMPLETE_DIMENSIONS", + 36061: "FRAMEBUFFER_UNSUPPORTED", + 36064: "COLOR_ATTACHMENT0", + 36096: "DEPTH_ATTACHMENT", + 36128: "STENCIL_ATTACHMENT", + 36160: "FRAMEBUFFER", + 36161: "RENDERBUFFER", + 36162: "RENDERBUFFER_WIDTH", + 36163: "RENDERBUFFER_HEIGHT", + 36164: "RENDERBUFFER_INTERNAL_FORMAT", + 36168: "STENCIL_INDEX8", + 36176: "RENDERBUFFER_RED_SIZE", + 36177: "RENDERBUFFER_GREEN_SIZE", + 36178: "RENDERBUFFER_BLUE_SIZE", + 36179: "RENDERBUFFER_ALPHA_SIZE", + 36180: "RENDERBUFFER_DEPTH_SIZE", + 36181: "RENDERBUFFER_STENCIL_SIZE", + 36194: "RGB565", + 36336: "LOW_FLOAT", + 36337: "MEDIUM_FLOAT", + 36338: "HIGH_FLOAT", + 36339: "LOW_INT", + 36340: "MEDIUM_INT", + 36341: "HIGH_INT", + 36346: "SHADER_COMPILER", + 36347: "MAX_VERTEX_UNIFORM_VECTORS", + 36348: "MAX_VARYING_VECTORS", + 36349: "MAX_FRAGMENT_UNIFORM_VECTORS", + 37440: "UNPACK_FLIP_Y_WEBGL", + 37441: "UNPACK_PREMULTIPLY_ALPHA_WEBGL", + 37442: "CONTEXT_LOST_WEBGL", + 37443: "UNPACK_COLORSPACE_CONVERSION_WEBGL", + 37444: "BROWSER_DEFAULT_WEBGL", + }; + }, + 6603: function (t, e, r) { + var n = r(1950); + t.exports = function (t) { + return n[t]; + }; + }, + 3110: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.gl, + r = n(e), + o = i(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, + }, + ]), + l = a(e); + (l.attributes.position.location = 0), + (l.attributes.color.location = 1), + (l.attributes.offset.location = 2); + var u = new s(e, r, o, l); + return u.update(t), u; + }; + var n = r(5827), + i = r(2944), + a = r(7667), + o = [ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 1, + ]; + function s(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), + (this.hasAlpha = !1); + } + var l = s.prototype; + function u(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])); + } + (l.isOpaque = function () { + return !this.hasAlpha; + }), + (l.isTransparent = function () { + return this.hasAlpha; + }), + (l.drawTransparent = l.draw = + function (t) { + var e = this.gl, + r = this.shader.uniforms; + this.shader.bind(); + var n = (r.view = t.view || o), + i = (r.projection = t.projection || o); + (r.model = t.model || o), + (r.clipBounds = this.clipBounds), + (r.opacity = this.opacity); + var a = n[12], + s = n[13], + l = n[14], + u = n[15], + c = + ((t._ortho ? 2 : 1) * + this.pixelRatio * + (i[3] * a + + i[7] * s + + i[11] * l + + i[15] * u)) / + e.drawingBufferHeight; + this.vao.bind(); + for (var f = 0; f < 3; ++f) + e.lineWidth( + this.lineWidth[f] * this.pixelRatio, + ), + (r.capSize = this.capSize[f] * c), + this.lineCount[f] && + e.drawArrays( + e.LINES, + this.lineOffset[f], + this.lineCount[f], + ); + this.vao.unbind(); + }); + var c = (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 f(t, e, r, n) { + for (var i = c[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; + } + (l.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, + ])), + (this.hasAlpha = !1), + "opacity" in t && + ((this.opacity = +t.opacity), + this.opacity < 1 && (this.hasAlpha = !0)); + 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 c = r[l], h = 0; h < 3; ++h) + if (isNaN(c[h]) || !isFinite(c[h])) + continue t; + var p, + d = n[l], + v = e[s]; + Array.isArray(v[0]) && (v = e[l]), + 3 === v.length + ? (v = [v[0], v[1], v[2], 1]) + : 4 === v.length && + ((v = [v[0], v[1], v[2], v[3]]), + !this.hasAlpha && + v[3] < 1 && + (this.hasAlpha = !0)), + isNaN(d[0][s]) || + isNaN(d[1][s]) || + (d[0][s] < 0 && + (((p = c.slice())[s] += d[0][s]), + i.push( + c[0], + c[1], + c[2], + v[0], + v[1], + v[2], + v[3], + 0, + 0, + 0, + p[0], + p[1], + p[2], + v[0], + v[1], + v[2], + v[3], + 0, + 0, + 0, + ), + u(this.bounds, p), + (o += 2 + f(i, p, v, s))), + d[1][s] > 0 && + (((p = c.slice())[s] += d[1][s]), + i.push( + c[0], + c[1], + c[2], + v[0], + v[1], + v[2], + v[3], + 0, + 0, + 0, + p[0], + p[1], + p[2], + v[0], + v[1], + v[2], + v[3], + 0, + 0, + 0, + ), + u(this.bounds, p), + (o += 2 + f(i, p, v, s)))); + } + this.lineCount[s] = o - this.lineOffset[s]; + } + this.buffer.update(i); + } + }), + (l.dispose = function () { + this.shader.dispose(), + this.buffer.dispose(), + this.vao.dispose(); + }); + }, + 7667: function (t, e, r) { + "use strict"; + var n = r(6832), + i = r(5158), + a = n([ + "precision highp 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}", + ]), + o = n([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}", + ]); + t.exports = function (t) { + return i(t, a, o, null, [ + { name: "position", type: "vec3" }, + { name: "color", type: "vec4" }, + { name: "offset", type: "vec3" }, + ]); + }; + }, + 4234: function (t, e, r) { + "use strict"; + var n = r(8931); + t.exports = function (t, e, r, n) { + i || + ((i = t.FRAMEBUFFER_UNSUPPORTED), + (a = t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT), + (o = t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS), + (s = + t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT)); + var u = t.getExtension("WEBGL_draw_buffers"); + if ( + (!l && + u && + (function (t, e) { + var r = t.getParameter( + e.MAX_COLOR_ATTACHMENTS_WEBGL, + ); + l = 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 (a = n; a < r; ++a) i[a] = t.NONE; + l[n] = i; + } + })(t, u), + Array.isArray(e) && + ((n = r), (r = 0 | e[1]), (e = 0 | e[0])), + "number" != typeof e) + ) + throw new Error( + "gl-fbo: Missing shape parameter", + ); + var c = t.getParameter(t.MAX_RENDERBUFFER_SIZE); + if (e < 0 || e > c || r < 0 || r > c) + throw new Error( + "gl-fbo: Parameters are too large for FBO", + ); + var f = 1; + if ("color" in (n = n || {})) { + if ((f = Math.max(0 | n.color, 0)) < 0) + throw new Error( + "gl-fbo: Must specify a nonnegative number of colors", + ); + if (f > 1) { + if (!u) + throw new Error( + "gl-fbo: Multiple draw buffer extension not supported", + ); + if ( + f > + t.getParameter( + u.MAX_COLOR_ATTACHMENTS_WEBGL, + ) + ) + throw new Error( + "gl-fbo: Context does not support " + + f + + " draw buffers", + ); + } + } + var h = t.UNSIGNED_BYTE, + p = t.getExtension("OES_texture_float"); + if (n.float && f > 0) { + if (!p) + throw new Error( + "gl-fbo: Context does not support floating point textures", + ); + h = t.FLOAT; + } else + n.preferFloat && f > 0 && p && (h = t.FLOAT); + var v = !0; + "depth" in n && (v = !!n.depth); + var g = !1; + return ( + "stencil" in n && (g = !!n.stencil), + new d(t, e, r, h, f, v, g, u) + ); + }; + var i, + a, + o, + s, + l = null; + function u(t) { + return [ + t.getParameter(t.FRAMEBUFFER_BINDING), + t.getParameter(t.RENDERBUFFER_BINDING), + t.getParameter(t.TEXTURE_BINDING_2D), + ]; + } + function c(t, e) { + t.bindFramebuffer(t.FRAMEBUFFER, e[0]), + t.bindRenderbuffer(t.RENDERBUFFER, e[1]), + t.bindTexture(t.TEXTURE_2D, e[2]); + } + function f(t) { + switch (t) { + case i: + throw new Error( + "gl-fbo: Framebuffer unsupported", + ); + case a: + throw new Error( + "gl-fbo: Framebuffer incomplete attachment", + ); + case o: + throw new Error( + "gl-fbo: Framebuffer incomplete dimensions", + ); + case s: + throw new Error( + "gl-fbo: Framebuffer incomplete missing attachment", + ); + default: + throw new Error( + "gl-fbo: Framebuffer failed for unspecified reason", + ); + } + } + function h(t, e, r, i, a, o) { + if (!i) return null; + var s = n(t, e, r, a, i); + return ( + (s.magFilter = t.NEAREST), + (s.minFilter = t.NEAREST), + (s.mipSamples = 1), + s.bind(), + t.framebufferTexture2D( + t.FRAMEBUFFER, + o, + t.TEXTURE_2D, + s.handle, + 0, + ), + s + ); + } + function p(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 d(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 d = 0; d < i; ++d) + this.color[d] = null; + (this._color_rb = null), + (this.depth = null), + (this._depth_rb = null), + (this._colorType = n), + (this._useDepth = a), + (this._useStencil = o); + var v = this, + g = [0 | e, 0 | r]; + Object.defineProperties(g, { + 0: { + get: function () { + return v._shape[0]; + }, + set: function (t) { + return (v.width = t); + }, + }, + 1: { + get: function () { + return v._shape[1]; + }, + set: function (t) { + return (v.height = t); + }, + }, + }), + (this._shapeVector = g), + (function (t) { + var e = u(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, + d = t._useStencil, + v = t._useDepth, + g = t._colorType; + r.bindFramebuffer(r.FRAMEBUFFER, n); + for (var y = 0; y < o; ++y) + t.color[y] = h( + r, + i, + a, + g, + r.RGBA, + r.COLOR_ATTACHMENT0 + y, + ); + 0 === o + ? ((t._color_rb = p( + r, + i, + a, + r.RGBA4, + r.COLOR_ATTACHMENT0, + )), + s && s.drawBuffersWEBGL(l[0])) + : o > 1 && s.drawBuffersWEBGL(l[o]); + var m = r.getExtension( + "WEBGL_depth_texture", + ); + m + ? d + ? (t.depth = h( + r, + i, + a, + m.UNSIGNED_INT_24_8_WEBGL, + r.DEPTH_STENCIL, + r.DEPTH_STENCIL_ATTACHMENT, + )) + : v && + (t.depth = h( + r, + i, + a, + r.UNSIGNED_SHORT, + r.DEPTH_COMPONENT, + r.DEPTH_ATTACHMENT, + )) + : v && d + ? (t._depth_rb = p( + r, + i, + a, + r.DEPTH_STENCIL, + r.DEPTH_STENCIL_ATTACHMENT, + )) + : v + ? (t._depth_rb = p( + r, + i, + a, + r.DEPTH_COMPONENT16, + r.DEPTH_ATTACHMENT, + )) + : d && + (t._depth_rb = p( + r, + i, + a, + r.STENCIL_INDEX, + r.STENCIL_ATTACHMENT, + )); + var x = r.checkFramebufferStatus( + r.FRAMEBUFFER, + ); + if (x !== 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)), + y = 0; + y < t.color.length; + ++y + ) + t.color[y].dispose(), + (t.color[y] = null); + t._color_rb && + (r.deleteRenderbuffer(t._color_rb), + (t._color_rb = null)), + c(r, e), + f(x); + } + c(r, e); + })(this); + } + var v = d.prototype; + function g(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 = u(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(), c(n, a), f(s)), + c(n, a); + } + } + Object.defineProperties(v, { + 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 g(this, e, r), [e, r]; + }, + enumerable: !1, + }, + width: { + get: function () { + return this._destroyed ? 0 : this._shape[0]; + }, + set: function (t) { + return g(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), g(this, this._shape[0], t), t + ); + }, + enumerable: !1, + }, + }), + (v.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], + ); + } + }), + (v.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)); + } + }); + }, + 3530: function (t, e, r) { + var n = r(8974).sprintf, + i = r(6603), + a = r(9365), + o = r(8008); + t.exports = function (t, e, r) { + "use strict"; + var s = + a(e) || + "of unknown name (see npm glsl-shader-name)", + l = "unknown type"; + void 0 !== r && + (l = + r === i.FRAGMENT_SHADER + ? "fragment" + : "vertex"); + for ( + var u = n( + "Error compiling %s shader %s:\n", + l, + s, + ), + c = n("%s%s", u, t), + f = t.split("\n"), + h = {}, + p = 0; + p < f.length; + p++ + ) { + var d = f[p]; + if ("" !== d && "\0" !== d) { + var v = parseInt(d.split(":")[2]); + if (isNaN(v)) + throw new Error( + n("Could not parse error: %s", d), + ); + h[v] = d; + } + } + var g = o(e).split("\n"); + for (p = 0; p < g.length; p++) + if (h[p + 3] || h[p + 2] || h[p + 1]) { + if (((u += g[p] + "\n"), h[p + 1])) { + var y = h[p + 1]; + (y = y + .substr( + y.split(":", 3).join(":").length + 1, + ) + .trim()), + (u += n("^^^ %s\n\n", y)); + } + } + return { long: u.trim(), short: c.trim() }; + }; + }, + 6386: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + var r = t.gl, + n = new u( + t, + o(r, l.vertex, l.fragment), + o(r, l.pickVertex, l.pickFragment), + s(r), + s(r), + s(r), + s(r), + ); + return n.update(e), t.addObject(n), n; + }; + var n = r(5070), + i = r(9560), + a = r(5306), + o = r(5158), + s = r(5827), + l = r(1292); + function u(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 c, + f = u.prototype, + h = [0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1]; + (f.draw = + ((c = [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]; + (c[0] = (2 * o) / l), + (c[4] = (2 * s) / u), + (c[6] = (2 * (r[0] - a[0])) / l - 1), + (c[7] = (2 * (r[1] - a[1])) / u - 1), + e.bind(); + var f = e.uniforms; + (f.viewTransform = c), + (f.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); + } + })), + (f.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], + f = l[2] - l[0], + h = l[3] - l[1]; + (t[0] = (2 * u) / f), + (t[4] = (2 * c) / h), + (t[6] = (2 * (a[0] - l[0])) / f - 1), + (t[7] = (2 * (a[1] - l[1])) / h - 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 v = i.attributes; + return ( + this.positionBuffer.bind(), + v.position.pointer(), + this.weightBuffer.bind(), + v.weight.pointer(s.UNSIGNED_BYTE, !1), + this.idBuffer.bind(), + v.pickId.pointer(s.UNSIGNED_BYTE, !1), + s.drawArrays(s.TRIANGLES, 0, o), + r + this.shape[0] * this.shape[1] + ); + } + }; + })()), + (f.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], + ], + }; + }), + (f.update = function (t) { + var e = (t = t || {}).shape || [0, 0], + r = t.x || i(e[0]), + o = t.y || i(e[1]), + s = t.z || new Float32Array(e[0] * e[1]), + l = !1 !== t.zsmooth; + (this.xData = r), (this.yData = o); + var u, + c, + f, + p, + d = t.colorLevels || [0], + v = t.colorValues || [0, 0, 0, 1], + g = d.length, + y = this.bounds; + l + ? ((u = y[0] = r[0]), + (c = y[1] = o[0]), + (f = y[2] = r[r.length - 1]), + (p = y[3] = o[o.length - 1])) + : ((u = y[0] = r[0] + (r[1] - r[0]) / 2), + (c = y[1] = o[0] + (o[1] - o[0]) / 2), + (f = y[2] = + r[r.length - 1] + + (r[r.length - 1] - r[r.length - 2]) / + 2), + (p = y[3] = + o[o.length - 1] + + (o[o.length - 1] - o[o.length - 2]) / + 2)); + var m = 1 / (f - u), + x = 1 / (p - c), + b = e[0], + _ = e[1]; + this.shape = [b, _]; + var w = + (l ? (b - 1) * (_ - 1) : b * _) * + (h.length >>> 1); + this.numVertices = w; + for ( + var T = a.mallocUint8(4 * w), + k = a.mallocFloat32(2 * w), + A = a.mallocUint8(2 * w), + M = a.mallocUint32(w), + S = 0, + E = l ? b - 1 : b, + L = l ? _ - 1 : _, + C = 0; + C < L; + ++C + ) { + var P, O; + l + ? ((P = x * (o[C] - c)), + (O = x * (o[C + 1] - c))) + : ((P = + C < _ - 1 + ? x * + (o[C] - (o[C + 1] - o[C]) / 2 - c) + : x * + (o[C] - + (o[C] - o[C - 1]) / 2 - + c)), + (O = + C < _ - 1 + ? x * + (o[C] + (o[C + 1] - o[C]) / 2 - c) + : x * + (o[C] + + (o[C] - o[C - 1]) / 2 - + c))); + for (var I = 0; I < E; ++I) { + var D, z; + l + ? ((D = m * (r[I] - u)), + (z = m * (r[I + 1] - u))) + : ((D = + I < b - 1 + ? m * + (r[I] - + (r[I + 1] - r[I]) / 2 - + u) + : m * + (r[I] - + (r[I] - r[I - 1]) / 2 - + u)), + (z = + I < b - 1 + ? m * + (r[I] + + (r[I + 1] - r[I]) / 2 - + u) + : m * + (r[I] + + (r[I] - r[I - 1]) / 2 - + u))); + for (var R = 0; R < h.length; R += 2) { + var F, + B, + N, + j, + U = h[R], + V = h[R + 1], + H = + s[ + l + ? (C + V) * b + (I + U) + : C * b + I + ], + q = n.le(d, H); + if (q < 0) + (F = v[0]), + (B = v[1]), + (N = v[2]), + (j = v[3]); + else if (q === g - 1) + (F = v[4 * g - 4]), + (B = v[4 * g - 3]), + (N = v[4 * g - 2]), + (j = v[4 * g - 1]); + else { + var G = + (H - d[q]) / (d[q + 1] - d[q]), + Z = 1 - G, + Y = 4 * q, + W = 4 * (q + 1); + (F = Z * v[Y] + G * v[W]), + (B = Z * v[Y + 1] + G * v[W + 1]), + (N = Z * v[Y + 2] + G * v[W + 2]), + (j = Z * v[Y + 3] + G * v[W + 3]); + } + (T[4 * S] = 255 * F), + (T[4 * S + 1] = 255 * B), + (T[4 * S + 2] = 255 * N), + (T[4 * S + 3] = 255 * j), + (k[2 * S] = 0.5 * D + 0.5 * z), + (k[2 * S + 1] = 0.5 * P + 0.5 * O), + (A[2 * S] = U), + (A[2 * S + 1] = V), + (M[S] = C * b + I), + (S += 1); + } + } + } + this.positionBuffer.update(k), + this.weightBuffer.update(A), + this.colorBuffer.update(T), + this.idBuffer.update(M), + a.free(k), + a.free(T), + a.free(A), + a.free(M); + }), + (f.dispose = function () { + this.shader.dispose(), + this.pickShader.dispose(), + this.positionBuffer.dispose(), + this.weightBuffer.dispose(), + this.colorBuffer.dispose(), + this.idBuffer.dispose(), + this.plot.removeObject(this); + }); + }, + 1292: function (t, e, r) { + "use strict"; + var n = r(6832); + t.exports = { + fragment: n([ + "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: n([ + "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: n([ + "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: n([ + "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", + ]), + }; + }, + 248: function (t, e, r) { + var n = r(6832), + i = r(5158), + a = n([ + "precision highp 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\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n vec4 startPoint = project(position);\n vec4 endPoint = project(nextPosition);\n\n vec2 A = startPoint.xy / startPoint.w;\n vec2 B = endPoint.xy / endPoint.w;\n\n float clipAngle = atan(\n (B.y - A.y) * screenShape.y,\n (B.x - A.x) * screenShape.x\n );\n\n vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(\n sin(clipAngle),\n -cos(clipAngle)\n ) / screenShape;\n\n gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw);\n\n worldPosition = position;\n pixelArcLength = arcLength;\n fragColor = color;\n}\n", + ]), + o = n([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\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", + ]), + s = n([ + "precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n 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 vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n 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 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\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}", + ]), + l = [ + { name: "position", type: "vec3" }, + { name: "nextPosition", type: "vec3" }, + { name: "arcLength", type: "float" }, + { name: "lineWidth", type: "float" }, + { name: "color", type: "vec4" }, + ]; + (e.createShader = function (t) { + return i(t, a, o, null, l); + }), + (e.createPickShader = function (t) { + return i(t, a, s, null, l); + }); + }, + 6086: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.gl || (t.scene && t.scene.gl), + r = f(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 o = h(e); + (o.attributes.position.location = 0), + (o.attributes.nextPosition.location = 1), + (o.attributes.arcLength.location = 2), + (o.attributes.lineWidth.location = 3), + (o.attributes.color.location = 4); + for ( + var s = n(e), + l = i(e, [ + { + buffer: s, + size: 3, + offset: 0, + stride: 48, + }, + { + buffer: s, + size: 3, + offset: 12, + stride: 48, + }, + { + buffer: s, + size: 1, + offset: 24, + stride: 48, + }, + { + buffer: s, + size: 1, + offset: 28, + stride: 48, + }, + { + buffer: s, + size: 4, + offset: 32, + stride: 48, + }, + ]), + c = u(new Array(1024), [256, 1, 4]), + p = 0; + p < 1024; + ++p + ) + c.data[p] = 255; + var d = a(e, c); + d.wrap = e.REPEAT; + var v = new y(e, r, o, s, l, d); + return v.update(t), v; + }; + var n = r(5827), + i = r(2944), + a = r(8931), + o = new Uint8Array(4), + s = new Float32Array(o.buffer), + l = r(5070), + u = r(5050), + c = r(248), + f = c.createShader, + h = c.createPickShader, + p = [ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 1, + ]; + function d(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 v(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 g(t, e, r, n) { + (this.arcLength = t), + (this.position = e), + (this.index = r), + (this.dataCoordinate = n); + } + function y(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.hasAlpha = !1), + (this.dirty = !0), + (this.pixelRatio = 1); + } + var m = y.prototype; + (m.isTransparent = function () { + return this.hasAlpha; + }), + (m.isOpaque = function () { + return !this.hasAlpha; + }), + (m.pickSlots = 1), + (m.setPickBase = function (t) { + this.pickId = t; + }), + (m.drawTransparent = m.draw = + function (t) { + if (this.vertexCount) { + var e = this.gl, + r = this.shader, + n = this.vao; + r.bind(), + (r.uniforms = { + model: t.model || p, + view: t.view || p, + projection: t.projection || p, + clipBounds: v(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(); + } + }), + (m.drawPick = function (t) { + if (this.vertexCount) { + var e = this.gl, + r = this.pickShader, + n = this.vao; + r.bind(), + (r.uniforms = { + model: t.model || p, + view: t.view || p, + projection: t.projection || p, + pickId: this.pickId, + clipBounds: v(this.clipBounds), + screenShape: [ + e.drawingBufferWidth, + e.drawingBufferHeight, + ], + pixelRatio: this.pixelRatio, + }), + n.bind(), + n.draw( + e.TRIANGLE_STRIP, + this.vertexCount, + ), + n.unbind(); + } + }), + (m.update = function (t) { + var e, r; + this.dirty = !0; + var n = !!t.connectGaps; + "dashScale" in t && + (this.dashScale = t.dashScale), + (this.hasAlpha = !1), + "opacity" in t && + ((this.opacity = +t.opacity), + this.opacity < 1 && (this.hasAlpha = !0)); + var i = [], + a = [], + o = [], + s = 0, + c = 0, + f = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ], + h = t.position || t.positions; + if (h) { + var p = t.color || t.colors || [0, 0, 0, 1], + v = t.lineWidth || 1, + g = !1; + t: for (e = 1; e < h.length; ++e) { + var y, + m, + x, + b = h[e - 1], + _ = h[e]; + for ( + a.push(s), o.push(b.slice()), r = 0; + r < 3; + ++r + ) { + if ( + isNaN(b[r]) || + isNaN(_[r]) || + !isFinite(b[r]) || + !isFinite(_[r]) + ) { + if (!n && i.length > 0) { + for (var w = 0; w < 24; ++w) + i.push(i[i.length - 12]); + (c += 2), (g = !0); + } + continue t; + } + (f[0][r] = Math.min( + f[0][r], + b[r], + _[r], + )), + (f[1][r] = Math.max( + f[1][r], + b[r], + _[r], + )); + } + Array.isArray(p[0]) + ? ((y = + p.length > e - 1 + ? p[e - 1] + : p.length > 0 + ? p[p.length - 1] + : [0, 0, 0, 1]), + (m = + p.length > e + ? p[e] + : p.length > 0 + ? p[p.length - 1] + : [0, 0, 0, 1])) + : (y = m = p), + 3 === y.length && + (y = [y[0], y[1], y[2], 1]), + 3 === m.length && + (m = [m[0], m[1], m[2], 1]), + !this.hasAlpha && + y[3] < 1 && + (this.hasAlpha = !0), + (x = Array.isArray(v) + ? v.length > e - 1 + ? v[e - 1] + : v.length > 0 + ? v[v.length - 1] + : [0, 0, 0, 1] + : v); + var T = s; + if (((s += d(b, _)), g)) { + for (r = 0; r < 2; ++r) + i.push( + b[0], + b[1], + b[2], + _[0], + _[1], + _[2], + T, + x, + y[0], + y[1], + y[2], + y[3], + ); + (c += 2), (g = !1); + } + i.push( + b[0], + b[1], + b[2], + _[0], + _[1], + _[2], + T, + x, + y[0], + y[1], + y[2], + y[3], + b[0], + b[1], + b[2], + _[0], + _[1], + _[2], + T, + -x, + y[0], + y[1], + y[2], + y[3], + _[0], + _[1], + _[2], + b[0], + b[1], + b[2], + s, + -x, + m[0], + m[1], + m[2], + m[3], + _[0], + _[1], + _[2], + b[0], + b[1], + b[2], + s, + x, + m[0], + m[1], + m[2], + m[3], + ), + (c += 4); + } + } + if ( + (this.buffer.update(i), + a.push(s), + o.push(h[h.length - 1].slice()), + (this.bounds = f), + (this.vertexCount = c), + (this.points = o), + (this.arcLength = a), + "dashes" in t) + ) { + var k = t.dashes.slice(); + for (k.unshift(0), e = 1; e < k.length; ++e) + k[e] = k[e - 1] + k[e]; + var A = u(new Array(1024), [256, 1, 4]); + for (e = 0; e < 256; ++e) { + for (r = 0; r < 4; ++r) A.set(e, 0, r, 0); + 1 & l.le(k, (k[k.length - 1] * e) / 255) + ? A.set(e, 0, 0, 0) + : A.set(e, 0, 0, 255); + } + this.texture.setPixels(A); + } + }), + (m.dispose = function () { + this.shader.dispose(), + this.vao.dispose(), + this.buffer.dispose(); + }), + (m.pick = function (t) { + if (!t) return null; + if (t.id !== this.pickId) return null; + var e = (function (t, e, r, n) { + return ( + (o[0] = 0), + (o[1] = r), + (o[2] = e), + (o[3] = t), + s[0] + ); + })(t.value[0], t.value[1], t.value[2]), + r = l.le(this.arcLength, e); + if (r < 0) return null; + if (r === this.arcLength.length - 1) + return new g( + 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]), + u = 1 - a, + c = [0, 0, 0], + f = 0; + f < 3; + ++f + ) + c[f] = u * n[f] + a * i[f]; + var h = Math.min( + a < 0.5 ? r : r + 1, + this.points.length - 1, + ); + return new g(e, c, h, this.points[h]); + }); + }, + 7332: function (t) { + t.exports = 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 + ); + }; + }, + 9823: function (t) { + t.exports = 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 + ); + }; + }, + 7787: function (t) { + t.exports = 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], + f = t[10], + h = t[11], + p = t[12], + d = t[13], + v = t[14], + g = t[15]; + return ( + (e * o - r * a) * (f * g - h * v) - + (e * s - n * a) * (c * g - h * d) + + (e * l - i * a) * (c * v - f * d) + + (r * s - n * o) * (u * g - h * p) - + (r * l - i * o) * (u * v - f * p) + + (n * l - i * s) * (u * d - c * p) + ); + }; + }, + 5950: function (t) { + t.exports = 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, + f = n * s, + h = i * o, + p = i * s, + d = i * l, + v = a * o, + g = a * s, + y = a * l; + return ( + (t[0] = 1 - f - d), + (t[1] = c + y), + (t[2] = h - g), + (t[3] = 0), + (t[4] = c - y), + (t[5] = 1 - u - d), + (t[6] = p + v), + (t[7] = 0), + (t[8] = h + g), + (t[9] = p - v), + (t[10] = 1 - u - f), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + 7280: function (t) { + t.exports = 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, + f = n * l, + h = n * u, + p = i * l, + d = i * u, + v = a * u, + g = o * s, + y = o * l, + m = o * u; + return ( + (t[0] = 1 - (p + v)), + (t[1] = f + m), + (t[2] = h - y), + (t[3] = 0), + (t[4] = f - m), + (t[5] = 1 - (c + v)), + (t[6] = d + g), + (t[7] = 0), + (t[8] = h + y), + (t[9] = d - g), + (t[10] = 1 - (c + p)), + (t[11] = 0), + (t[12] = r[0]), + (t[13] = r[1]), + (t[14] = r[2]), + (t[15] = 1), + t + ); + }; + }, + 9947: function (t) { + t.exports = 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 + ); + }; + }, + 7437: function (t) { + t.exports = 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], + f = e[9], + h = e[10], + p = e[11], + d = e[12], + v = e[13], + g = e[14], + y = e[15], + m = r * s - n * o, + x = r * l - i * o, + b = r * u - a * o, + _ = n * l - i * s, + w = n * u - a * s, + T = i * u - a * l, + k = c * v - f * d, + A = c * g - h * d, + M = c * y - p * d, + S = f * g - h * v, + E = f * y - p * v, + L = h * y - p * g, + C = + m * L - + x * E + + b * S + + _ * M - + w * A + + T * k; + return C + ? ((C = 1 / C), + (t[0] = (s * L - l * E + u * S) * C), + (t[1] = (i * E - n * L - a * S) * C), + (t[2] = (v * T - g * w + y * _) * C), + (t[3] = (h * w - f * T - p * _) * C), + (t[4] = (l * M - o * L - u * A) * C), + (t[5] = (r * L - i * M + a * A) * C), + (t[6] = (g * b - d * T - y * x) * C), + (t[7] = (c * T - h * b + p * x) * C), + (t[8] = (o * E - s * M + u * k) * C), + (t[9] = (n * M - r * E - a * k) * C), + (t[10] = (d * w - v * b + y * m) * C), + (t[11] = (f * b - c * w - p * m) * C), + (t[12] = (s * A - o * S - l * k) * C), + (t[13] = (r * S - n * A + i * k) * C), + (t[14] = (v * x - d * _ - g * m) * C), + (t[15] = (c * _ - f * x + h * m) * C), + t) + : null; + }; + }, + 3012: function (t, e, r) { + var n = r(9947); + t.exports = function (t, e, r, i) { + var a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v = e[0], + g = e[1], + y = e[2], + m = i[0], + x = i[1], + b = i[2], + _ = r[0], + w = r[1], + T = r[2]; + return Math.abs(v - _) < 1e-6 && + Math.abs(g - w) < 1e-6 && + Math.abs(y - T) < 1e-6 + ? n(t) + : ((f = v - _), + (h = g - w), + (p = y - T), + (a = + x * + (p *= d = + 1 / + Math.sqrt(f * f + h * h + p * p)) - + b * (h *= d)), + (o = b * (f *= d) - m * p), + (s = m * h - x * f), + (d = Math.sqrt(a * a + o * o + s * s)) + ? ((a *= d = 1 / d), (o *= d), (s *= d)) + : ((a = 0), (o = 0), (s = 0)), + (l = h * s - p * o), + (u = p * a - f * s), + (c = f * o - h * a), + (d = Math.sqrt(l * l + u * u + c * c)) + ? ((l *= d = 1 / d), (u *= d), (c *= d)) + : ((l = 0), (u = 0), (c = 0)), + (t[0] = a), + (t[1] = l), + (t[2] = f), + (t[3] = 0), + (t[4] = o), + (t[5] = u), + (t[6] = h), + (t[7] = 0), + (t[8] = s), + (t[9] = c), + (t[10] = p), + (t[11] = 0), + (t[12] = -(a * v + o * g + s * y)), + (t[13] = -(l * v + u * g + c * y)), + (t[14] = -(f * v + h * g + p * y)), + (t[15] = 1), + t); + }; + }, + 104: function (t) { + t.exports = 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], + f = e[8], + h = e[9], + p = e[10], + d = e[11], + v = e[12], + g = e[13], + y = e[14], + m = e[15], + x = r[0], + b = r[1], + _ = r[2], + w = r[3]; + return ( + (t[0] = x * n + b * s + _ * f + w * v), + (t[1] = x * i + b * l + _ * h + w * g), + (t[2] = x * a + b * u + _ * p + w * y), + (t[3] = x * o + b * c + _ * d + w * m), + (x = r[4]), + (b = r[5]), + (_ = r[6]), + (w = r[7]), + (t[4] = x * n + b * s + _ * f + w * v), + (t[5] = x * i + b * l + _ * h + w * g), + (t[6] = x * a + b * u + _ * p + w * y), + (t[7] = x * o + b * c + _ * d + w * m), + (x = r[8]), + (b = r[9]), + (_ = r[10]), + (w = r[11]), + (t[8] = x * n + b * s + _ * f + w * v), + (t[9] = x * i + b * l + _ * h + w * g), + (t[10] = x * a + b * u + _ * p + w * y), + (t[11] = x * o + b * c + _ * d + w * m), + (x = r[12]), + (b = r[13]), + (_ = r[14]), + (w = r[15]), + (t[12] = x * n + b * s + _ * f + w * v), + (t[13] = x * i + b * l + _ * h + w * g), + (t[14] = x * a + b * u + _ * p + w * y), + (t[15] = x * o + b * c + _ * d + w * m), + t + ); + }; + }, + 5268: function (t) { + t.exports = 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 + ); + }; + }, + 1120: function (t) { + t.exports = 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 + ); + }; + }, + 4422: function (t) { + t.exports = function (t, e, r, n) { + var i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + w, + T, + k, + A, + M, + S, + E = n[0], + L = n[1], + C = n[2], + P = Math.sqrt(E * E + L * L + C * C); + return Math.abs(P) < 1e-6 + ? null + : ((E *= P = 1 / P), + (L *= P), + (C *= P), + (i = Math.sin(r)), + (o = 1 - (a = Math.cos(r))), + (s = e[0]), + (l = e[1]), + (u = e[2]), + (c = e[3]), + (f = e[4]), + (h = e[5]), + (p = e[6]), + (d = e[7]), + (v = e[8]), + (g = e[9]), + (y = e[10]), + (m = e[11]), + (x = E * E * o + a), + (b = L * E * o + C * i), + (_ = C * E * o - L * i), + (w = E * L * o - C * i), + (T = L * L * o + a), + (k = C * L * o + E * i), + (A = E * C * o + L * i), + (M = L * C * o - E * i), + (S = C * C * o + a), + (t[0] = s * x + f * b + v * _), + (t[1] = l * x + h * b + g * _), + (t[2] = u * x + p * b + y * _), + (t[3] = c * x + d * b + m * _), + (t[4] = s * w + f * T + v * k), + (t[5] = l * w + h * T + g * k), + (t[6] = u * w + p * T + y * k), + (t[7] = c * w + d * T + m * k), + (t[8] = s * A + f * M + v * S), + (t[9] = l * A + h * M + g * S), + (t[10] = u * A + p * M + y * S), + (t[11] = c * A + d * M + m * S), + e !== t && + ((t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15])), + t); + }; + }, + 6109: function (t) { + t.exports = 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], + f = e[10], + h = 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 + f * n), + (t[7] = l * i + h * n), + (t[8] = u * i - a * n), + (t[9] = c * i - o * n), + (t[10] = f * i - s * n), + (t[11] = h * i - l * n), + t + ); + }; + }, + 7115: function (t) { + t.exports = 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], + f = e[10], + h = e[11]; + return ( + e !== t && + ((t[4] = e[4]), + (t[5] = e[5]), + (t[6] = e[6]), + (t[7] = e[7]), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15])), + (t[0] = a * i - u * n), + (t[1] = o * i - c * n), + (t[2] = s * i - f * n), + (t[3] = l * i - h * n), + (t[8] = a * n + u * i), + (t[9] = o * n + c * i), + (t[10] = s * n + f * i), + (t[11] = l * n + h * i), + t + ); + }; + }, + 5240: function (t) { + t.exports = 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], + f = e[6], + h = 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 + f * n), + (t[3] = l * i + h * n), + (t[4] = u * i - a * n), + (t[5] = c * i - o * n), + (t[6] = f * i - s * n), + (t[7] = h * i - l * n), + t + ); + }; + }, + 3668: function (t) { + t.exports = 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 + ); + }; + }, + 998: function (t) { + t.exports = function (t, e, r) { + var n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v = r[0], + g = r[1], + y = r[2]; + return ( + e === t + ? ((t[12] = + e[0] * v + e[4] * g + e[8] * y + e[12]), + (t[13] = + e[1] * v + e[5] * g + e[9] * y + e[13]), + (t[14] = + e[2] * v + + e[6] * g + + e[10] * y + + e[14]), + (t[15] = + e[3] * v + + e[7] * g + + e[11] * y + + 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]), + (f = e[8]), + (h = 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] = f), + (t[9] = h), + (t[10] = p), + (t[11] = d), + (t[12] = n * v + s * g + f * y + e[12]), + (t[13] = i * v + l * g + h * y + e[13]), + (t[14] = a * v + u * g + p * y + e[14]), + (t[15] = o * v + c * g + d * y + e[15])), + t + ); + }; + }, + 2142: function (t) { + t.exports = 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; + }; + }, + 4340: function (t, e, r) { + "use strict"; + var n = r(957), + i = r(7309); + function a(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 o(t, e, r, n, i) { + for ( + var o = a( + n, + a(r, a(e, [t[0], t[1], t[2], 1])), + ), + s = 0; + s < 3; + ++s + ) + o[s] /= o[3]; + return [ + 0.5 * i[0] * (1 + o[0]), + 0.5 * i[1] * (1 - o[1]), + ]; + } + function s(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.exports = function (t, e, r, a, l, u) { + if (1 === t.length) return [0, t[0].slice()]; + for ( + var c = new Array(t.length), f = 0; + f < t.length; + ++f + ) + c[f] = o(t[f], r, a, l, u); + var h = 0, + p = 1 / 0; + for (f = 0; f < c.length; ++f) { + for (var d = 0, v = 0; v < 2; ++v) + d += Math.pow(c[f][v] - e[v], 2); + d < p && ((p = d), (h = f)); + } + var g = (function (t, e) { + if (2 === t.length) { + for (var r = 0, a = 0, o = 0; o < 2; ++o) + (r += Math.pow(e[o] - t[0][o], 2)), + (a += Math.pow(e[o] - t[1][o], 2)); + return (r = Math.sqrt(r)) + + (a = Math.sqrt(a)) < + 1e-6 + ? [1, 0] + : [a / (r + a), r / (a + r)]; + } + if (3 === t.length) { + var s = [0, 0]; + return i(t[0], t[1], t[2], e, s), n(t, s); + } + return []; + })(c, e), + y = 0; + for (f = 0; f < 3; ++f) { + if (g[f] < -0.001 || g[f] > 1.0001) + return null; + y += g[f]; + } + return Math.abs(y - 1) > 0.001 + ? null + : [h, s(t, g), g]; + }; + }, + 2056: function (t, e, r) { + var n = r(6832), + i = n([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\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\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n", + ]), + a = n([ + "#extension GL_OES_standard_derivatives : enable\n\nprecision highp 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\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\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 (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\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 = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * 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 * f_color.a;\n}\n", + ]), + o = n([ + "precision highp 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}", + ]), + s = n([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}", + ]), + l = n([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,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}", + ]), + u = n([ + "precision highp 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}", + ]), + c = n([ + "precision highp 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}", + ]), + f = n([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}", + ]), + h = n([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 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}", + ]), + p = n([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}", + ]), + d = n([ + "precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n", + ]); + (e.meshShader = { + vertex: i, + fragment: a, + attributes: [ + { name: "position", type: "vec3" }, + { name: "normal", type: "vec3" }, + { name: "color", type: "vec4" }, + { name: "uv", type: "vec2" }, + ], + }), + (e.wireShader = { + vertex: o, + fragment: s, + attributes: [ + { name: "position", type: "vec3" }, + { name: "color", type: "vec4" }, + { name: "uv", type: "vec2" }, + ], + }), + (e.pointShader = { + vertex: l, + fragment: u, + attributes: [ + { name: "position", type: "vec3" }, + { name: "color", type: "vec4" }, + { name: "uv", type: "vec2" }, + { name: "pointSize", type: "float" }, + ], + }), + (e.pickShader = { + vertex: c, + fragment: f, + attributes: [ + { name: "position", type: "vec3" }, + { name: "id", type: "vec4" }, + ], + }), + (e.pointPickShader = { + vertex: h, + fragment: f, + attributes: [ + { name: "position", type: "vec3" }, + { name: "pointSize", type: "float" }, + { name: "id", type: "vec4" }, + ], + }), + (e.contourShader = { + vertex: p, + fragment: d, + attributes: [ + { name: "position", type: "vec3" }, + ], + }); + }, + 8116: function (t, e, r) { + "use strict"; + var n = r(5158), + i = r(5827), + a = r(2944), + o = r(8931), + s = r(115), + l = r(104), + u = r(7437), + c = r(5050), + f = r(9156), + h = r(7212), + p = r(5306), + d = r(2056), + v = r(4340), + g = d.meshShader, + y = d.wireShader, + m = d.pointShader, + x = d.pickShader, + b = d.pointPickShader, + _ = d.contourShader, + w = [ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 1, + ]; + function T( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + T, + k, + A, + M, + S, + ) { + (this.gl = t), + (this.pixelRatio = 1), + (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 = h), + (this.triangleUVs = f), + (this.triangleIds = u), + (this.triangleVAO = p), + (this.triangleCount = 0), + (this.lineWidth = 1), + (this.edgePositions = d), + (this.edgeColors = g), + (this.edgeUVs = y), + (this.edgeIds = v), + (this.edgeVAO = m), + (this.edgeCount = 0), + (this.pointPositions = x), + (this.pointColors = _), + (this.pointUVs = T), + (this.pointSizes = k), + (this.pointIds = b), + (this.pointVAO = A), + (this.pointCount = 0), + (this.contourLineWidth = 1), + (this.contourPositions = M), + (this.contourVAO = S), + (this.contourCount = 0), + (this.contourColor = [0, 0, 0]), + (this.contourEnable = !0), + (this.pickVertex = !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 = 0.8), + (this.diffuseLight = 0.8), + (this.specularLight = 2), + (this.roughness = 0.5), + (this.fresnel = 1.5), + (this.opacity = 1), + (this.hasAlpha = !1), + (this.opacityscale = !1), + (this._model = w), + (this._view = w), + (this._projection = w), + (this._resolution = [1, 1]); + } + var k = T.prototype; + function A(t, e) { + if (!e) return 1; + if (!e.length) return 1; + for (var r = 0; r < e.length; ++r) { + if (e.length < 2) return 1; + if (e[r][0] === t) return e[r][1]; + if (e[r][0] > t && r > 0) { + var n = + (e[r][0] - t) / (e[r][0] - e[r - 1][0]); + return e[r][1] * (1 - n) + n * e[r - 1][1]; + } + } + return 1; + } + function M(t) { + var e = n(t, g.vertex, g.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.color.location = 2), + (e.attributes.uv.location = 3), + (e.attributes.normal.location = 4), + e + ); + } + function S(t) { + var e = n(t, y.vertex, y.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.color.location = 2), + (e.attributes.uv.location = 3), + e + ); + } + function E(t) { + var e = n(t, m.vertex, m.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.color.location = 2), + (e.attributes.uv.location = 3), + (e.attributes.pointSize.location = 4), + e + ); + } + function L(t) { + var e = n(t, x.vertex, x.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.id.location = 1), + e + ); + } + function C(t) { + var e = n(t, b.vertex, b.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.id.location = 1), + (e.attributes.pointSize.location = 4), + e + ); + } + function P(t) { + var e = n(t, _.vertex, _.fragment); + return (e.attributes.position.location = 0), e; + } + (k.isOpaque = function () { + return !this.hasAlpha; + }), + (k.isTransparent = function () { + return this.hasAlpha; + }), + (k.pickSlots = 1), + (k.setPickBase = function (t) { + this.pickId = t; + }), + (k.highlight = function (t) { + if (t && this.contourEnable) { + for ( + var e = h( + this.cells, + this.intensity, + t.intensity, + ), + r = e.cells, + n = e.vertexIds, + i = e.vertexWeights, + a = r.length, + o = p.mallocFloat32(6 * a), + s = 0, + l = 0; + l < a; + ++l + ) + for (var u = r[l], c = 0; c < 2; ++c) { + var f = u[0]; + 2 === u.length && (f = u[c]); + for ( + var d = n[f][0], + v = n[f][1], + g = i[f], + y = 1 - g, + m = this.positions[d], + x = this.positions[v], + b = 0; + b < 3; + ++b + ) + o[s++] = g * m[b] + y * x[b]; + } + (this.contourCount = (s / 3) | 0), + this.contourPositions.update( + o.subarray(0, s), + ), + p.free(o); + } else this.contourCount = 0; + }), + (k.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), + (this.hasAlpha = !1), + "opacity" in t && + ((this.opacity = t.opacity), + this.opacity < 1 && (this.hasAlpha = !0)), + "opacityscale" in t && + ((this.opacityscale = t.opacityscale), + (this.hasAlpha = !0)), + "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 = o(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, e) { + for ( + var r = f({ + colormap: t, + nshades: 256, + format: "rgba", + }), + n = new Uint8Array(1024), + i = 0; + i < 256; + ++i + ) { + for ( + var a = r[i], o = 0; + o < 3; + ++o + ) + n[4 * i + o] = a[o]; + n[4 * i + 3] = e + ? 255 * A(i / 255, e) + : 255 * a[3]; + } + return c( + n, + [256, 256, 4], + [4, 0, 1], + ); + })(t.colormap, this.opacityscale), + ), + this.texture.generateMipmap()); + var r = t.cells, + n = t.positions; + if (n && r) { + var i = [], + a = [], + l = [], + u = [], + h = [], + p = [], + d = [], + v = [], + g = [], + y = [], + m = [], + x = [], + b = [], + _ = []; + (this.cells = r), (this.positions = n); + var w = t.vertexNormals, + T = t.cellNormals, + k = + void 0 === t.vertexNormalsEpsilon + ? 1e-6 + : t.vertexNormalsEpsilon, + M = + void 0 === t.faceNormalsEpsilon + ? 1e-6 + : t.faceNormalsEpsilon; + t.useFacetNormals && + !T && + (T = s.faceNormals(r, n, M)), + T || w || (w = s.vertexNormals(r, n, k)); + var S = t.vertexColors, + E = t.cellColors, + L = t.meshColor || [1, 1, 1, 1], + C = t.vertexUVs, + P = t.vertexIntensity, + O = t.cellUVs, + I = t.cellIntensity, + D = 1 / 0, + z = -1 / 0; + if (!C && !O) + if (P) + if (t.vertexIntensityBounds) + (D = +t.vertexIntensityBounds[0]), + (z = +t.vertexIntensityBounds[1]); + else + for (var R = 0; R < P.length; ++R) { + var F = P[R]; + (D = Math.min(D, F)), + (z = Math.max(z, F)); + } + else if (I) + if (t.cellIntensityBounds) + (D = +t.cellIntensityBounds[0]), + (z = +t.cellIntensityBounds[1]); + else + for (R = 0; R < I.length; ++R) + (F = I[R]), + (D = Math.min(D, F)), + (z = Math.max(z, F)); + else + for (R = 0; R < n.length; ++R) + (F = n[R][2]), + (D = Math.min(D, F)), + (z = Math.max(z, F)); + (this.intensity = + P || + I || + (function (t) { + for ( + var e = t.length, + r = new Array(e), + n = 0; + n < e; + ++n + ) + r[n] = t[n][2]; + return r; + })(n)), + (this.pickVertex = !(I || E)); + var B = t.pointSizes, + N = t.pointSize || 1; + for ( + this.bounds = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ], + R = 0; + R < n.length; + ++R + ) + for (var j = n[R], U = 0; U < 3; ++U) + !isNaN(j[U]) && + isFinite(j[U]) && + ((this.bounds[0][U] = Math.min( + this.bounds[0][U], + j[U], + )), + (this.bounds[1][U] = Math.max( + this.bounds[1][U], + j[U], + ))); + var V = 0, + H = 0, + q = 0; + t: for (R = 0; R < r.length; ++R) { + var G = r[R]; + switch (G.length) { + case 1: + for ( + j = n[(Y = G[0])], U = 0; + U < 3; + ++U + ) + if (isNaN(j[U]) || !isFinite(j[U])) + continue t; + y.push(j[0], j[1], j[2]), + (W = S ? S[Y] : E ? E[R] : L), + this.opacityscale && P + ? a.push( + W[0], + W[1], + W[2], + this.opacity * + A( + (P[Y] - D) / (z - D), + this.opacityscale, + ), + ) + : 3 === W.length + ? m.push( + W[0], + W[1], + W[2], + this.opacity, + ) + : (m.push( + W[0], + W[1], + W[2], + W[3] * this.opacity, + ), + W[3] < 1 && + (this.hasAlpha = !0)), + (X = C + ? C[Y] + : P + ? [(P[Y] - D) / (z - D), 0] + : O + ? O[R] + : I + ? [(I[R] - D) / (z - D), 0] + : [(j[2] - D) / (z - D), 0]), + x.push(X[0], X[1]), + B ? b.push(B[Y]) : b.push(N), + _.push(R), + (q += 1); + break; + case 2: + for (U = 0; U < 2; ++U) { + j = n[(Y = G[U])]; + for (var Z = 0; Z < 3; ++Z) + if ( + isNaN(j[Z]) || + !isFinite(j[Z]) + ) + continue t; + } + for (U = 0; U < 2; ++U) + (j = n[(Y = G[U])]), + p.push(j[0], j[1], j[2]), + (W = S ? S[Y] : E ? E[R] : L), + this.opacityscale && P + ? a.push( + W[0], + W[1], + W[2], + this.opacity * + A( + (P[Y] - D) / (z - D), + this.opacityscale, + ), + ) + : 3 === W.length + ? d.push( + W[0], + W[1], + W[2], + this.opacity, + ) + : (d.push( + W[0], + W[1], + W[2], + W[3] * this.opacity, + ), + W[3] < 1 && + (this.hasAlpha = !0)), + (X = C + ? C[Y] + : P + ? [(P[Y] - D) / (z - D), 0] + : O + ? O[R] + : I + ? [(I[R] - D) / (z - D), 0] + : [(j[2] - D) / (z - D), 0]), + v.push(X[0], X[1]), + g.push(R); + H += 1; + break; + case 3: + for (U = 0; U < 3; ++U) + for ( + j = n[(Y = G[U])], Z = 0; + Z < 3; + ++Z + ) + if ( + isNaN(j[Z]) || + !isFinite(j[Z]) + ) + continue t; + for (U = 0; U < 3; ++U) { + var Y, W, X, J; + (j = n[(Y = G[2 - U])]), + i.push(j[0], j[1], j[2]), + (W = S ? S[Y] : E ? E[R] : L) + ? this.opacityscale && P + ? a.push( + W[0], + W[1], + W[2], + this.opacity * + A( + (P[Y] - D) / (z - D), + this.opacityscale, + ), + ) + : 3 === W.length + ? a.push( + W[0], + W[1], + W[2], + this.opacity, + ) + : (a.push( + W[0], + W[1], + W[2], + W[3] * this.opacity, + ), + W[3] < 1 && + (this.hasAlpha = !0)) + : a.push(0.5, 0.5, 0.5, 1), + (X = C + ? C[Y] + : P + ? [(P[Y] - D) / (z - D), 0] + : O + ? O[R] + : I + ? [(I[R] - D) / (z - D), 0] + : [(j[2] - D) / (z - D), 0]), + u.push(X[0], X[1]), + (J = w ? w[Y] : T[R]), + l.push(J[0], J[1], J[2]), + h.push(R); + } + V += 1; + } + } + (this.pointCount = q), + (this.edgeCount = H), + (this.triangleCount = V), + this.pointPositions.update(y), + this.pointColors.update(m), + this.pointUVs.update(x), + this.pointSizes.update(b), + this.pointIds.update(new Uint32Array(_)), + this.edgePositions.update(p), + this.edgeColors.update(d), + this.edgeUVs.update(v), + this.edgeIds.update(new Uint32Array(g)), + this.trianglePositions.update(i), + this.triangleColors.update(a), + this.triangleUVs.update(u), + this.triangleNormals.update(l), + this.triangleIds.update( + new Uint32Array(h), + ); + } + }), + (k.drawTransparent = k.draw = + function (t) { + t = t || {}; + for ( + var e = this.gl, + r = t.model || w, + n = t.view || w, + i = t.projection || w, + 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, + inverseModel: w.slice(), + 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], + contourColor: this.contourColor, + texture: 0, + }; + (s.inverseModel = u( + s.inverseModel, + s.model, + )), + e.disable(e.CULL_FACE), + this.texture.bind(0); + var c = new Array(16); + for ( + l(c, s.view, s.model), + l(c, s.projection, c), + u(c, c), + o = 0; + o < 3; + ++o + ) + s.eyePosition[o] = c[12 + o] / c[15]; + var f, + h = c[15]; + for (o = 0; o < 3; ++o) + h += this.lightPosition[o] * c[4 * o + 3]; + for (o = 0; o < 3; ++o) { + for (var p = c[12 + o], d = 0; d < 3; ++d) + p += + c[4 * d + o] * this.lightPosition[d]; + s.lightPosition[o] = p / h; + } + this.triangleCount > 0 && + ((f = this.triShader).bind(), + (f.uniforms = s), + this.triangleVAO.bind(), + e.drawArrays( + e.TRIANGLES, + 0, + 3 * this.triangleCount, + ), + this.triangleVAO.unbind()), + this.edgeCount > 0 && + this.lineWidth > 0 && + ((f = this.lineShader).bind(), + (f.uniforms = s), + this.edgeVAO.bind(), + e.lineWidth( + this.lineWidth * this.pixelRatio, + ), + e.drawArrays( + e.LINES, + 0, + 2 * this.edgeCount, + ), + this.edgeVAO.unbind()), + this.pointCount > 0 && + ((f = this.pointShader).bind(), + (f.uniforms = s), + this.pointVAO.bind(), + e.drawArrays( + e.POINTS, + 0, + this.pointCount, + ), + this.pointVAO.unbind()), + this.contourEnable && + this.contourCount > 0 && + this.contourLineWidth > 0 && + ((f = this.contourShader).bind(), + (f.uniforms = s), + this.contourVAO.bind(), + e.drawArrays( + e.LINES, + 0, + this.contourCount, + ), + this.contourVAO.unbind()); + }), + (k.drawPick = function (t) { + t = t || {}; + for ( + var e = this.gl, + r = t.model || w, + n = t.view || w, + i = t.projection || w, + 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 * this.pixelRatio, + ), + 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()); + }), + (k.pick = function (t) { + if (!t) return null; + if (t.id !== this.pickId) return null; + for ( + var e = + t.value[0] + + 256 * t.value[1] + + 65536 * t.value[2], + r = this.cells[e], + n = this.positions, + i = new Array(r.length), + a = 0; + a < r.length; + ++a + ) + i[a] = n[r[a]]; + var o = t.coord[0], + s = t.coord[1]; + if (!this.pickVertex) { + var l = this.positions[r[0]], + u = this.positions[r[1]], + c = this.positions[r[2]], + f = [ + (l[0] + u[0] + c[0]) / 3, + (l[1] + u[1] + c[1]) / 3, + (l[2] + u[2] + c[2]) / 3, + ]; + return { + _cellCenter: !0, + position: [o, s], + index: e, + cell: r, + cellId: e, + intensity: this.intensity[e], + dataCoordinate: f, + }; + } + var h = v( + i, + [ + o * this.pixelRatio, + this._resolution[1] - s * this.pixelRatio, + ], + this._model, + this._view, + this._projection, + this._resolution, + ); + if (!h) return null; + var p = h[2], + d = 0; + for (a = 0; a < r.length; ++a) + d += p[a] * this.intensity[r[a]]; + return { + position: h[1], + index: r[h[0]], + cell: r, + cellId: e, + intensity: d, + dataCoordinate: this.positions[r[h[0]]], + }; + }), + (k.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(); + }), + (t.exports = function (t, e) { + 1 === arguments.length && (t = (e = t).gl); + var r = + t.getExtension( + "OES_standard_derivatives", + ) || + t.getExtension( + "MOZ_OES_standard_derivatives", + ) || + t.getExtension( + "WEBKIT_OES_standard_derivatives", + ); + if (!r) + throw new Error( + "derivatives not supported", + ); + var n = M(t), + s = S(t), + l = E(t), + u = L(t), + f = C(t), + h = P(t), + p = o( + t, + c( + new Uint8Array([255, 255, 255, 255]), + [1, 1, 4], + ), + ); + p.generateMipmap(), + (p.minFilter = t.LINEAR_MIPMAP_LINEAR), + (p.magFilter = t.LINEAR); + var d = i(t), + v = i(t), + g = i(t), + y = i(t), + m = i(t), + x = a(t, [ + { buffer: d, type: t.FLOAT, size: 3 }, + { + buffer: m, + type: t.UNSIGNED_BYTE, + size: 4, + normalized: !0, + }, + { buffer: v, type: t.FLOAT, size: 4 }, + { buffer: g, type: t.FLOAT, size: 2 }, + { buffer: y, type: t.FLOAT, size: 3 }, + ]), + b = i(t), + _ = i(t), + w = i(t), + k = i(t), + A = a(t, [ + { buffer: b, type: t.FLOAT, size: 3 }, + { + buffer: k, + type: t.UNSIGNED_BYTE, + size: 4, + normalized: !0, + }, + { buffer: _, type: t.FLOAT, size: 4 }, + { buffer: w, type: t.FLOAT, size: 2 }, + ]), + O = i(t), + I = i(t), + D = i(t), + z = i(t), + R = i(t), + F = a(t, [ + { buffer: O, type: t.FLOAT, size: 3 }, + { + buffer: R, + type: t.UNSIGNED_BYTE, + size: 4, + normalized: !0, + }, + { buffer: I, type: t.FLOAT, size: 4 }, + { buffer: D, type: t.FLOAT, size: 2 }, + { buffer: z, type: t.FLOAT, size: 1 }, + ]), + B = i(t), + N = a(t, [ + { buffer: B, type: t.FLOAT, size: 3 }, + ]), + j = new T( + t, + p, + n, + s, + l, + u, + f, + h, + d, + m, + v, + g, + y, + x, + b, + k, + _, + w, + A, + O, + R, + I, + D, + z, + F, + B, + N, + ); + return j.update(e), j; + }); + }, + 4554: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.gl; + return new o( + t, + n(e, [0, 0, 0, 1, 1, 0, 1, 1]), + i(e, a.boxVert, a.lineFrag), + ); + }; + var n = r(5827), + i = r(5158), + a = r(2709); + function o(t, e, r) { + (this.plot = t), + (this.vbo = e), + (this.shader = r); + } + var s, + l, + u = o.prototype; + (u.bind = function () { + var t = this.shader; + this.vbo.bind(), + this.shader.bind(), + t.attributes.coord.pointer(), + (t.uniforms.screenBox = this.plot.screenBox); + }), + (u.drawBox = + ((s = [0, 0]), + (l = [0, 0]), + function (t, e, r, n, i) { + var a = this.plot, + o = this.shader, + u = a.gl; + (s[0] = t), + (s[1] = e), + (l[0] = r), + (l[1] = n), + (o.uniforms.lo = s), + (o.uniforms.hi = l), + (o.uniforms.color = i), + u.drawArrays(u.TRIANGLE_STRIP, 0, 4); + })), + (u.dispose = function () { + this.vbo.dispose(), this.shader.dispose(); + }); + }, + 3016: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.gl; + return new s( + t, + n(e), + i(e, o.gridVert, o.gridFrag), + i(e, o.tickVert, o.gridFrag), + ); + }; + var n = r(5827), + i = r(5158), + a = r(5070), + o = r(2709); + function s(t, e, r, n) { + (this.plot = t), + (this.vbo = e), + (this.shader = r), + (this.tickShader = n), + (this.ticks = [[], []]); + } + function l(t, e) { + return t - e; + } + var u, + c, + f, + h, + p, + d = s.prototype; + (d.draw = + ((u = [0, 0]), + (c = [0, 0]), + (f = [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, + h = t.gridLineColor, + p = t.gridLineEnable, + d = t.pixelRatio, + v = 0; + v < 2; + ++v + ) { + var g = a[v], + y = a[v + 2] - g, + m = 0.5 * (o[v + 2] + o[v]), + x = o[v + 2] - o[v]; + (c[v] = (2 * y) / x), + (u[v] = (2 * (g - m)) / x); + } + r.bind(), + e.bind(), + r.attributes.dataCoord.pointer(), + (r.uniforms.dataShift = u), + (r.uniforms.dataScale = c); + var b = 0; + for (v = 0; v < 2; ++v) { + (f[0] = f[1] = 0), + (f[v] = 1), + (r.uniforms.dataAxis = f), + (r.uniforms.lineWidth = + (l[v] / (s[v + 2] - s[v])) * d), + (r.uniforms.color = h[v]); + var _ = 6 * n[v].length; + p[v] && + _ && + i.drawArrays(i.TRIANGLES, b, _), + (b += _); + } + })), + (d.drawTickMarks = (function () { + var t = [0, 0], + e = [0, 0], + r = [1, 0], + n = [0, 1], + i = [0, 0], + o = [0, 0]; + return function () { + for ( + var s = this.plot, + u = this.vbo, + c = this.tickShader, + f = this.ticks, + h = s.gl, + p = s._tickBounds, + d = s.dataBox, + v = s.viewBox, + g = s.pixelRatio, + y = s.screenBox, + m = y[2] - y[0], + x = y[3] - y[1], + b = v[2] - v[0], + _ = v[3] - v[1], + w = 0; + w < 2; + ++w + ) { + var T = p[w], + k = p[w + 2] - T, + A = 0.5 * (d[w + 2] + d[w]), + M = d[w + 2] - d[w]; + (e[w] = (2 * k) / M), + (t[w] = (2 * (T - A)) / M); + } + (e[0] *= b / m), + (t[0] *= b / m), + (e[1] *= _ / x), + (t[1] *= _ / x), + c.bind(), + u.bind(), + c.attributes.dataCoord.pointer(); + var S = c.uniforms; + (S.dataShift = t), (S.dataScale = e); + var E = s.tickMarkLength, + L = s.tickMarkWidth, + C = s.tickMarkColor, + P = 6 * f[0].length, + O = Math.min( + a.ge( + f[0], + (d[0] - p[0]) / (p[2] - p[0]), + l, + ), + f[0].length, + ), + I = Math.min( + a.gt( + f[0], + (d[2] - p[0]) / (p[2] - p[0]), + l, + ), + f[0].length, + ), + D = 0 + 6 * O, + z = 6 * Math.max(0, I - O), + R = Math.min( + a.ge( + f[1], + (d[1] - p[1]) / (p[3] - p[1]), + l, + ), + f[1].length, + ), + F = Math.min( + a.gt( + f[1], + (d[3] - p[1]) / (p[3] - p[1]), + l, + ), + f[1].length, + ), + B = P + 6 * R, + N = 6 * Math.max(0, F - R); + (i[0] = (2 * (v[0] - E[1])) / m - 1), + (i[1] = (v[3] + v[1]) / x - 1), + (o[0] = (E[1] * g) / m), + (o[1] = (L[1] * g) / x), + N && + ((S.color = C[1]), + (S.tickScale = o), + (S.dataAxis = n), + (S.screenOffset = i), + h.drawArrays(h.TRIANGLES, B, N)), + (i[0] = (v[2] + v[0]) / m - 1), + (i[1] = (2 * (v[1] - E[0])) / x - 1), + (o[0] = (L[0] * g) / m), + (o[1] = (E[0] * g) / x), + z && + ((S.color = C[0]), + (S.tickScale = o), + (S.dataAxis = r), + (S.screenOffset = i), + h.drawArrays(h.TRIANGLES, D, z)), + (i[0] = (2 * (v[2] + E[3])) / m - 1), + (i[1] = (v[3] + v[1]) / x - 1), + (o[0] = (E[3] * g) / m), + (o[1] = (L[3] * g) / x), + N && + ((S.color = C[3]), + (S.tickScale = o), + (S.dataAxis = n), + (S.screenOffset = i), + h.drawArrays(h.TRIANGLES, B, N)), + (i[0] = (v[2] + v[0]) / m - 1), + (i[1] = (2 * (v[3] + E[2])) / x - 1), + (o[0] = (L[2] * g) / m), + (o[1] = (E[2] * g) / x), + z && + ((S.color = C[2]), + (S.tickScale = o), + (S.dataAxis = r), + (S.screenOffset = i), + h.drawArrays(h.TRIANGLES, D, z)); + }; + })()), + (d.update = + ((h = [1, 1, -1, -1, 1, -1]), + (p = [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], + f = 0; + f < l.length; + ++f + ) { + var d = (l[f].x - u) / (c - u); + s.push(d); + for (var v = 0; v < 6; ++v) + (n[i++] = d), + (n[i++] = h[v]), + (n[i++] = p[v]); + } + (this.ticks = a), this.vbo.update(n); + })), + (d.dispose = function () { + this.vbo.dispose(), + this.shader.dispose(), + this.tickShader.dispose(); + }); + }, + 1154: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.gl; + return new o( + t, + n(e, [-1, -1, -1, 1, 1, -1, 1, 1]), + i(e, a.lineVert, a.lineFrag), + ); + }; + var n = r(5827), + i = r(5158), + a = r(2709); + function o(t, e, r) { + (this.plot = t), + (this.vbo = e), + (this.shader = r); + } + var s, + l, + u = o.prototype; + (u.bind = function () { + var t = this.shader; + this.vbo.bind(), + this.shader.bind(), + t.attributes.coord.pointer(), + (t.uniforms.screenBox = this.plot.screenBox); + }), + (u.drawLine = + ((s = [0, 0]), + (l = [0, 0]), + function (t, e, r, n, i, a) { + var o = this.plot, + u = this.shader, + c = o.gl; + (s[0] = t), + (s[1] = e), + (l[0] = r), + (l[1] = n), + (u.uniforms.start = s), + (u.uniforms.end = l), + (u.uniforms.width = i * o.pixelRatio), + (u.uniforms.color = a), + c.drawArrays(c.TRIANGLE_STRIP, 0, 4); + })), + (u.dispose = function () { + this.vbo.dispose(), this.shader.dispose(); + }); + }, + 2709: function (t, e, r) { + "use strict"; + var n = r(6832), + i = n([ + "precision lowp float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n gl_FragColor = vec4(color.xyz * color.w, color.w);\n}\n", + ]); + t.exports = { + lineVert: n([ + "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: i, + textVert: n([ + "#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: i, + gridVert: n([ + "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: i, + boxVert: n([ + "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: n([ + "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", + ]), + }; + }, + 5613: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.gl; + return new l( + t, + n(e), + i(e, s.textVert, s.textFrag), + ); + }; + var n = r(5827), + i = r(5158), + a = r(6946), + o = r(5070), + s = r(2709); + function l(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 u, + c, + f, + h, + p, + d, + v = l.prototype; + (v.drawTicks = + ((u = [0, 0]), + (c = [0, 0]), + (f = [0, 0]), + function (t) { + var e = this.plot, + r = this.shader, + n = this.tickX[t], + i = this.tickOffset[t], + a = e.gl, + s = e.viewBox, + l = e.dataBox, + h = e.screenBox, + p = e.pixelRatio, + d = e.tickEnable, + v = e.tickPad, + g = e.tickColor, + y = e.tickAngle, + m = e.labelEnable, + x = e.labelPad, + b = e.labelColor, + _ = e.labelAngle, + w = this.labelOffset[t], + T = this.labelCount[t], + k = o.lt(n, l[t]), + A = o.le(n, l[t + 2]); + (u[0] = u[1] = 0), + (u[t] = 1), + (c[t] = + (s[2 + t] + s[t]) / (h[2 + t] - h[t]) - + 1); + var M = 2 / h[2 + (1 ^ t)] - h[1 ^ t]; + (c[1 ^ t] = M * s[1 ^ t] - 1), + d[t] && + ((c[1 ^ t] -= M * p * v[t]), + k < A && + i[A] > i[k] && + ((r.uniforms.dataAxis = u), + (r.uniforms.screenOffset = c), + (r.uniforms.color = g[t]), + (r.uniforms.angle = y[t]), + a.drawArrays( + a.TRIANGLES, + i[k], + i[A] - i[k], + ))), + m[t] && + T && + ((c[1 ^ t] -= M * p * x[t]), + (r.uniforms.dataAxis = f), + (r.uniforms.screenOffset = c), + (r.uniforms.color = b[t]), + (r.uniforms.angle = _[t]), + a.drawArrays(a.TRIANGLES, w, T)), + (c[1 ^ t] = M * s[2 + (1 ^ t)] - 1), + d[t + 2] && + ((c[1 ^ t] += M * p * v[t + 2]), + k < A && + i[A] > i[k] && + ((r.uniforms.dataAxis = u), + (r.uniforms.screenOffset = c), + (r.uniforms.color = g[t + 2]), + (r.uniforms.angle = y[t + 2]), + a.drawArrays( + a.TRIANGLES, + i[k], + i[A] - i[k], + ))), + m[t + 2] && + T && + ((c[1 ^ t] += M * p * x[t + 2]), + (r.uniforms.dataAxis = f), + (r.uniforms.screenOffset = c), + (r.uniforms.color = b[t + 2]), + (r.uniforms.angle = _[t + 2]), + a.drawArrays(a.TRIANGLES, w, T)); + })), + (v.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, + ); + } + }; + })()), + (v.bind = + ((h = [0, 0]), + (p = [0, 0]), + (d = [0, 0]), + function () { + var t = this.plot, + e = this.shader, + r = t._tickBounds, + n = t.dataBox, + i = t.screenBox, + a = t.viewBox; + e.bind(); + for (var o = 0; o < 2; ++o) { + var s = r[o], + l = r[o + 2] - s, + u = 0.5 * (n[o + 2] + n[o]), + c = n[o + 2] - n[o], + f = a[o], + v = a[o + 2] - f, + g = i[o], + y = i[o + 2] - g; + (p[o] = (((2 * l) / c) * v) / y), + (h[o] = (((2 * (s - u)) / c) * v) / y); + } + (d[1] = (2 * t.pixelRatio) / (i[3] - i[1])), + (d[0] = + (d[1] * (i[3] - i[1])) / (i[2] - i[0])), + (e.uniforms.dataScale = p), + (e.uniforms.dataShift = h), + (e.uniforms.textScale = d), + this.vbo.bind(), + e.attributes.textCoordinate.pointer(); + })), + (v.update = function (t) { + var e, + r, + n, + i, + o, + s = [], + l = t.ticks, + u = t.bounds; + for (o = 0; o < 2; ++o) { + var c = [Math.floor(s.length / 3)], + f = [-1 / 0], + h = l[o]; + for (e = 0; e < h.length; ++e) { + var p = h[e], + d = p.x, + v = p.text, + g = p.font || "sans-serif"; + i = p.fontSize || 12; + for ( + var y = 1 / (u[o + 2] - u[o]), + m = u[o], + x = v.split("\n"), + b = 0; + b < x.length; + b++ + ) + for ( + n = a(g, x[b]).data, r = 0; + r < n.length; + r += 2 + ) + s.push( + n[r] * i, + -n[r + 1] * i - b * i * 1.2, + (d - m) * y, + ); + c.push(Math.floor(s.length / 3)), + f.push(d); + } + (this.tickOffset[o] = c), + (this.tickX[o] = f); + } + for (o = 0; o < 2; ++o) { + for ( + this.labelOffset[o] = Math.floor( + s.length / 3, + ), + n = a(t.labelFont[o], t.labels[o], { + textAlign: "center", + }).data, + i = t.labelSize[o], + e = 0; + e < n.length; + e += 2 + ) + s.push(n[e] * i, -n[e + 1] * i, 0); + this.labelCount[o] = + Math.floor(s.length / 3) - + this.labelOffset[o]; + } + for ( + this.titleOffset = Math.floor(s.length / 3), + n = a(t.titleFont, t.title).data, + i = t.titleSize, + e = 0; + e < n.length; + e += 2 + ) + s.push(n[e] * i, -n[e + 1] * i, 0); + (this.titleCount = + Math.floor(s.length / 3) - + this.titleOffset), + this.vbo.update(s); + }), + (v.dispose = function () { + this.vbo.dispose(), this.shader.dispose(); + }); + }, + 2117: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.gl, + r = new l( + e, + n(e, [ + e.drawingBufferWidth, + e.drawingBufferHeight, + ]), + ); + return ( + (r.grid = i(r)), + (r.text = a(r)), + (r.line = o(r)), + (r.box = s(r)), + r.update(t), + r + ); + }; + var n = r(2611), + i = r(3016), + a = r(5613), + o = r(1154), + s = r(4554); + function l(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 u = l.prototype; + function c(t) { + for ( + var e = t.slice(), r = 0; + r < e.length; + ++r + ) + e[r] = e[r].slice(); + return e; + } + function f(t, e) { + return t.x - e.x; + } + (u.setDirty = function () { + this.dirty = this.pickDirty = !0; + }), + (u.setOverlayDirty = function () { + this.dirty = !0; + }), + (u.nextDepthValue = function () { + return this._depthCounter++ / 65536; + }), + (u.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 f = this.zeroLineEnable, + h = this.zeroLineColor, + p = this.zeroLineWidth; + if (f[0] || f[1]) { + o.bind(); + for (var d = 0; d < 2; ++d) + if ( + f[d] && + n[d] <= 0 && + n[d + 2] >= 0 + ) { + var v = + e[d] - + (n[d] * (e[d + 2] - e[d])) / + (n[d + 2] - n[d]); + 0 === d + ? o.drawLine( + v, + e[1], + v, + e[3], + p[d], + h[d], + ) + : o.drawLine( + e[0], + v, + e[2], + v, + p[d], + h[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 g = this.borderLineEnable, + y = this.borderLineWidth, + m = this.borderLineColor; + for ( + g[1] && + o.drawLine( + r[0], + r[1] - 0.5 * y[1] * i, + r[0], + r[3] + 0.5 * y[3] * i, + y[1], + m[1], + ), + g[0] && + o.drawLine( + r[0] - 0.5 * y[0] * i, + r[1], + r[2] + 0.5 * y[2] * i, + r[1], + y[0], + m[0], + ), + g[3] && + o.drawLine( + r[2], + r[1] - 0.5 * y[1] * i, + r[2], + r[3] + 0.5 * y[3] * i, + y[3], + m[3], + ), + g[2] && + o.drawLine( + r[0] - 0.5 * y[0] * i, + r[3], + r[2] + 0.5 * y[2] * i, + r[3], + y[2], + m[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); + } + }), + (u.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(); + } + }), + (u.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 f = u[c].pick(a, o, l); + if (f) return f; + } + return null; + } + }), + (u.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(); + }), + (u.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()); + }), + (u.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(); + }), + (u.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 || [ + (0.125 * + (this.screenBox[2] - + this.screenBox[0])) / + r, + (0.125 * + (this.screenBox[3] - + this.screenBox[1])) / + r, + (0.875 * + (this.screenBox[2] - + this.screenBox[0])) / + r, + (0.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 = c( + t.gridLineColor || [ + [0.5, 0.5, 0.5, 1], + [0.5, 0.5, 0.5, 1], + ], + )), + (this.zeroLineEnable = ( + t.zeroLineEnable || [!0, !0] + ).slice()), + (this.zeroLineWidth = ( + t.zeroLineWidth || [4, 4] + ).slice()), + (this.zeroLineColor = c( + 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 = c( + t.tickMarkColor || [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ], + )), + (this.titleCenter = ( + t.titleCenter || [ + (0.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 = c( + 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 = c( + 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 = c( + 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(f), + (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(); + }), + (u.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(); + for ( + this.objects.length = 0, + t = this.overlays.length - 1; + t >= 0; + --t + ) + this.overlays[t].dispose(); + (this.overlays.length = 0), (this.gl = null); + }), + (u.addObject = function (t) { + this.objects.indexOf(t) < 0 && + (this.objects.push(t), this.setDirty()); + }), + (u.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; + } + }), + (u.addOverlay = function (t) { + this.overlays.indexOf(t) < 0 && + (this.overlays.push(t), + this.setOverlayDirty()); + }), + (u.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; + } + }); + }, + 4296: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + t = t || document.body; + var r = [0.01, 1 / 0]; + "distanceLimits" in (e = 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 u = i({ + center: e.center || [0, 0, 0], + up: e.up || [0, 1, 0], + eye: e.eye || [0, 0, 10], + mode: e.mode || "orbit", + distanceLimits: r, + }), + c = [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, + ], + f = 0, + h = t.clientWidth, + p = t.clientHeight, + d = { + keyBindingMode: "rotate", + enableWheel: !0, + view: u, + element: t, + delay: e.delay || 16, + rotateSpeed: e.rotateSpeed || 1, + zoomSpeed: e.zoomSpeed || 1, + translateSpeed: e.translateSpeed || 1, + flipX: !!e.flipX, + flipY: !!e.flipY, + modes: u.modes, + _ortho: + e._ortho || + (e.projection && + "orthographic" === e.projection.type) || + !1, + tick: function () { + var e = n(), + r = this.delay, + i = e - 2 * r; + u.idle(e - r), + u.recalcMatrix(i), + u.flush(e - (100 + 2 * r)); + for ( + var a = !0, o = u.computedMatrix, s = 0; + s < 16; + ++s + ) + (a = a && c[s] === o[s]), (c[s] = o[s]); + var l = + t.clientWidth === h && + t.clientHeight === p; + return ( + (h = t.clientWidth), + (p = t.clientHeight), + a + ? !l + : ((f = Math.exp( + u.computedRadius[0], + )), + !0) + ); + }, + lookAt: function (t, e, r) { + u.lookAt(u.lastT(), t, e, r); + }, + rotate: function (t, e, r) { + u.rotate(u.lastT(), t, e, r); + }, + pan: function (t, e, r) { + u.pan(u.lastT(), t, e, r); + }, + translate: function (t, e, r) { + u.translate(u.lastT(), t, e, r); + }, + }; + return ( + Object.defineProperties(d, { + matrix: { + get: function () { + return u.computedMatrix; + }, + set: function (t) { + return ( + u.setMatrix(u.lastT(), t), + u.computedMatrix + ); + }, + enumerable: !0, + }, + mode: { + get: function () { + return u.getMode(); + }, + set: function (t) { + var e = u.computedUp.slice(), + r = u.computedEye.slice(), + i = u.computedCenter.slice(); + if ((u.setMode(t), "turntable" === t)) { + var a = n(); + u._active.lookAt(a, r, i, e), + u._active.lookAt( + a + 500, + r, + i, + [0, 0, 1], + ), + u._active.flush(a); + } + return u.getMode(); + }, + enumerable: !0, + }, + center: { + get: function () { + return u.computedCenter; + }, + set: function (t) { + return ( + u.lookAt(u.lastT(), null, t), + u.computedCenter + ); + }, + enumerable: !0, + }, + eye: { + get: function () { + return u.computedEye; + }, + set: function (t) { + return ( + u.lookAt(u.lastT(), t), u.computedEye + ); + }, + enumerable: !0, + }, + up: { + get: function () { + return u.computedUp; + }, + set: function (t) { + return ( + u.lookAt(u.lastT(), null, null, t), + u.computedUp + ); + }, + enumerable: !0, + }, + distance: { + get: function () { + return f; + }, + set: function (t) { + return u.setDistance(u.lastT(), t), t; + }, + enumerable: !0, + }, + distanceLimits: { + get: function () { + return u.getDistanceLimits(r); + }, + set: function (t) { + return u.setDistanceLimits(t), t; + }, + enumerable: !0, + }, + }), + t.addEventListener( + "contextmenu", + function (t) { + return t.preventDefault(), !1; + }, + ), + (d._lastX = -1), + (d._lastY = -1), + (d._lastMods = { + shift: !1, + control: !1, + alt: !1, + meta: !1, + }), + (d.enableMouseListeners = function () { + function e(e, r, i, a) { + var o = d.keyBindingMode; + if (!1 !== o) { + var s = "rotate" === o, + l = "pan" === o, + c = "zoom" === o, + h = !!a.control, + p = !!a.alt, + v = !!a.shift, + g = !!(1 & e), + y = !!(2 & e), + m = !!(4 & e), + x = 1 / t.clientHeight, + b = x * (r - d._lastX), + _ = x * (i - d._lastY), + w = d.flipX ? 1 : -1, + T = d.flipY ? 1 : -1, + k = Math.PI * d.rotateSpeed, + A = n(); + if ( + -1 !== d._lastX && + -1 !== d._lastY && + (((s && g && !h && !p && !v) || + (g && !h && !p && v)) && + u.rotate( + A, + w * k * b, + -T * k * _, + 0, + ), + ((l && g && !h && !p && !v) || + y || + (g && h && !p && !v)) && + u.pan( + A, + -d.translateSpeed * b * f, + d.translateSpeed * _ * f, + 0, + ), + (c && g && !h && !p && !v) || + m || + (g && !h && p && !v)) + ) { + var M = + ((-d.zoomSpeed * _) / + window.innerHeight) * + (A - u.lastT()) * + 100; + u.pan(A, 0, 0, f * (Math.exp(M) - 1)); + } + return ( + (d._lastX = r), + (d._lastY = i), + (d._lastMods = a), + !0 + ); + } + } + (d.mouseListener = a(t, e)), + t.addEventListener( + "touchstart", + function (r) { + var n = s(r.changedTouches[0], t); + e(0, n[0], n[1], d._lastMods), + e(1, n[0], n[1], d._lastMods); + }, + !!l && { passive: !0 }, + ), + t.addEventListener( + "touchmove", + function (r) { + var n = s(r.changedTouches[0], t); + e(1, n[0], n[1], d._lastMods), + r.preventDefault(); + }, + !!l && { passive: !1 }, + ), + t.addEventListener( + "touchend", + function (t) { + e(0, d._lastX, d._lastY, d._lastMods); + }, + !!l && { passive: !0 }, + ), + (d.wheelListener = o( + t, + function (t, e) { + if ( + !1 !== d.keyBindingMode && + d.enableWheel + ) { + var r = d.flipX ? 1 : -1, + i = d.flipY ? 1 : -1, + a = n(); + if (Math.abs(t) > Math.abs(e)) + u.rotate( + a, + 0, + 0, + (-t * + r * + Math.PI * + d.rotateSpeed) / + window.innerWidth, + ); + else if (!d._ortho) { + var o = + (((-d.zoomSpeed * i * e) / + window.innerHeight) * + (a - u.lastT())) / + 20; + u.pan( + a, + 0, + 0, + f * (Math.exp(o) - 1), + ); + } + } + }, + !0, + )); + }), + d.enableMouseListeners(), + d + ); + }; + var n = r(8161), + i = r(1152), + a = r(6145), + o = r(6475), + s = r(2565), + l = r(5233); + }, + 8245: function (t, e, r) { + var n = r(6832), + i = r(5158), + a = n([ + "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}", + ]), + o = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}", + ]); + t.exports = function (t) { + return i(t, a, o, null, [ + { name: "position", type: "vec2" }, + ]); + }; + }, + 1059: function (t, e, r) { + "use strict"; + var n = r(4296), + i = r(7453), + a = r(2771), + o = r(6496), + s = r(2611), + l = r(4234), + u = r(8126), + c = r(6145), + f = r(1120), + h = r(5268), + p = r(8245), + d = r(2321)({ tablet: !0, featureDetect: !0 }); + function v() { + (this.mouse = [-1, -1]), + (this.screen = null), + (this.distance = 1 / 0), + (this.index = null), + (this.dataCoordinate = null), + (this.dataPosition = null), + (this.object = null), + (this.data = null); + } + function g(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; + } + return e > 0 + ? ((r = Math.round(Math.pow(10, e))), + Math.ceil(t / r) * r) + : Math.ceil(t); + } + function y(t) { + return "boolean" != typeof t || t; + } + t.exports = { + createScene: function (t) { + (t = t || {}).camera = t.camera || {}; + var e = t.canvas; + e || + ((e = document.createElement("canvas")), + t.container + ? t.container.appendChild(e) + : document.body.appendChild(e)); + var r = t.gl; + if ( + (r || + (t.glOptions && + (d = + !!t.glOptions.preserveDrawingBuffer), + (r = (function (t, e) { + var r = null; + try { + (r = t.getContext("webgl", e)) || + (r = t.getContext( + "experimental-webgl", + e, + )); + } catch (t) { + return null; + } + return r; + })( + e, + t.glOptions || { + premultipliedAlpha: !0, + antialias: !0, + preserveDrawingBuffer: d, + }, + ))), + !r) + ) + throw new Error("webgl not supported"); + var m = t.bounds || [ + [-10, -10, -10], + [10, 10, 10], + ], + x = new v(), + b = l( + r, + r.drawingBufferWidth, + r.drawingBufferHeight, + { preferFloat: !d }, + ), + _ = p(r), + w = + (t.cameraObject && + !0 === t.cameraObject._ortho) || + (t.camera.projection && + "orthographic" === + t.camera.projection.type) || + !1, + T = { + eye: t.camera.eye || [2, 0, 0], + center: t.camera.center || [0, 0, 0], + up: t.camera.up || [0, 1, 0], + zoomMin: t.camera.zoomMax || 0.1, + zoomMax: t.camera.zoomMin || 100, + mode: t.camera.mode || "turntable", + _ortho: w, + }, + k = t.axes || {}, + A = i(r, k); + A.enable = !k.disable; + var M = t.spikes || {}, + S = o(r, M), + E = [], + L = [], + C = [], + P = [], + O = !0, + I = !0, + D = { + view: null, + projection: new Array(16), + model: new Array(16), + _ortho: !1, + }, + z = + ((I = !0), + [ + r.drawingBufferWidth, + r.drawingBufferHeight, + ]), + R = t.cameraObject || n(e, T), + F = { + gl: r, + contextLost: !1, + pixelRatio: t.pixelRatio || 1, + canvas: e, + selection: x, + camera: R, + axes: A, + axesPixels: null, + spikes: S, + bounds: m, + objects: E, + shape: z, + aspect: t.aspectRatio || [1, 1, 1], + pickRadius: t.pickRadius || 10, + zNear: t.zNear || 0.01, + zFar: t.zFar || 1e3, + fovy: t.fovy || Math.PI / 4, + clearColor: t.clearColor || [0, 0, 0, 0], + autoResize: y(t.autoResize), + autoBounds: y(t.autoBounds), + autoScale: !!t.autoScale, + autoCenter: y(t.autoCenter), + clipToBounds: y(t.clipToBounds), + snapToData: !!t.snapToData, + onselect: t.onselect || null, + onrender: t.onrender || null, + onclick: t.onclick || null, + cameraParams: D, + oncontextloss: null, + mouseListener: null, + _stopped: !1, + getAspectratio: function () { + return { + x: this.aspect[0], + y: this.aspect[1], + z: this.aspect[2], + }; + }, + setAspectratio: function (t) { + (this.aspect[0] = t.x), + (this.aspect[1] = t.y), + (this.aspect[2] = t.z), + (I = !0); + }, + setBounds: function (t, e) { + (this.bounds[0][t] = e.min), + (this.bounds[1][t] = e.max); + }, + setClearColor: function (t) { + this.clearColor = t; + }, + clearRGBA: function () { + this.gl.clearColor( + this.clearColor[0], + this.clearColor[1], + this.clearColor[2], + this.clearColor[3], + ), + this.gl.clear( + this.gl.COLOR_BUFFER_BIT | + this.gl.DEPTH_BUFFER_BIT, + ); + }, + }, + B = [ + (r.drawingBufferWidth / F.pixelRatio) | 0, + (r.drawingBufferHeight / F.pixelRatio) | + 0, + ]; + function N() { + if (!F._stopped && F.autoResize) { + var t = e.parentNode, + r = 1, + n = 1; + t && t !== document.body + ? ((r = t.clientWidth), + (n = t.clientHeight)) + : ((r = window.innerWidth), + (n = window.innerHeight)); + var i = 0 | Math.ceil(r * F.pixelRatio), + a = 0 | Math.ceil(n * F.pixelRatio); + if (i !== e.width || a !== e.height) { + (e.width = i), (e.height = a); + var o = e.style; + (o.position = o.position || "absolute"), + (o.left = "0px"), + (o.top = "0px"), + (o.width = r + "px"), + (o.height = n + "px"), + (O = !0); + } + } + } + function j() { + for ( + var t = E.length, e = P.length, n = 0; + n < e; + ++n + ) + C[n] = 0; + t: for (n = 0; n < t; ++n) { + var i = E[n], + a = i.pickSlots; + if (a) { + for (var o = 0; o < e; ++o) + if (C[o] + a < 255) { + (L[n] = o), + i.setPickBase(C[o] + 1), + (C[o] += a); + continue t; + } + var l = s(r, z); + (L[n] = e), + P.push(l), + C.push(a), + i.setPickBase(1), + (e += 1); + } else L[n] = -1; + } + for (; e > 0 && 0 === C[e - 1]; ) + C.pop(), P.pop().dispose(); + } + function U() { + if (F.contextLost) return !0; + r.isContextLost() && + ((F.contextLost = !0), + (F.mouseListener.enabled = !1), + (F.selection.object = null), + F.oncontextloss && F.oncontextloss()); + } + F.autoResize && N(), + window.addEventListener("resize", N), + (F.update = function (t) { + F._stopped || + ((t = t || {}), (O = !0), (I = !0)); + }), + (F.add = function (t) { + F._stopped || + ((t.axes = A), + E.push(t), + L.push(-1), + (O = !0), + (I = !0), + j()); + }), + (F.remove = function (t) { + if (!F._stopped) { + var e = E.indexOf(t); + e < 0 || + (E.splice(e, 1), + L.pop(), + (O = !0), + (I = !0), + j()); + } + }), + (F.dispose = function () { + if ( + !F._stopped && + ((F._stopped = !0), + window.removeEventListener("resize", N), + e.removeEventListener( + "webglcontextlost", + U, + ), + (F.mouseListener.enabled = !1), + !F.contextLost) + ) { + A.dispose(), S.dispose(); + for (var t = 0; t < E.length; ++t) + E[t].dispose(); + for ( + b.dispose(), t = 0; + t < P.length; + ++t + ) + P[t].dispose(); + _.dispose(), + (r = null), + (A = null), + (S = null), + (E = []); + } + }), + (F._mouseRotating = !1), + (F._prevButtons = 0), + (F.enableMouseListeners = function () { + F.mouseListener = c( + e, + function (t, e, r) { + if (!F._stopped) { + var n = P.length, + i = E.length, + a = x.object; + (x.distance = 1 / 0), + (x.mouse[0] = e), + (x.mouse[1] = r), + (x.object = null), + (x.screen = null), + (x.dataCoordinate = + x.dataPosition = + null); + var o = !1; + if (t && F._prevButtons) + F._mouseRotating = !0; + else { + F._mouseRotating && (I = !0), + (F._mouseRotating = !1); + for (var s = 0; s < n; ++s) { + var l = P[s].query( + e, + B[1] - r - 1, + F.pickRadius, + ); + if (l) { + if (l.distance > x.distance) + continue; + for (var u = 0; u < i; ++u) { + var c = E[u]; + if (L[u] === s) { + var f = c.pick(l); + f && + ((x.buttons = t), + (x.screen = l.coord), + (x.distance = + l.distance), + (x.object = c), + (x.index = f.distance), + (x.dataPosition = + f.position), + (x.dataCoordinate = + f.dataCoordinate), + (x.data = f), + (o = !0)); + } + } + } + } + } + a && + a !== x.object && + (a.highlight && a.highlight(null), + (O = !0)), + x.object && + (x.object.highlight && + x.object.highlight(x.data), + (O = !0)), + (o = o || x.object !== a) && + F.onselect && + F.onselect(x), + 1 & t && + !(1 & F._prevButtons) && + F.onclick && + F.onclick(x), + (F._prevButtons = t); + } + }, + ); + }), + e.addEventListener("webglcontextlost", U); + var V = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ], + H = [V[0].slice(), V[1].slice()]; + function q() { + if (!U()) { + N(); + var t = F.camera.tick(); + (D.view = F.camera.matrix), + (O = O || t), + (I = I || t), + (A.pixelRatio = F.pixelRatio), + (S.pixelRatio = F.pixelRatio); + var e = E.length, + n = V[0], + i = V[1]; + (n[0] = n[1] = n[2] = 1 / 0), + (i[0] = i[1] = i[2] = -1 / 0); + for (var o = 0; o < e; ++o) { + ((C = E[o]).pixelRatio = F.pixelRatio), + (C.axes = F.axes), + (O = O || !!C.dirty), + (I = I || !!C.dirty); + var s = C.bounds; + if (s) + for ( + var l = s[0], c = s[1], p = 0; + p < 3; + ++p + ) + (n[p] = Math.min(n[p], l[p])), + (i[p] = Math.max(i[p], c[p])); + } + var d = F.bounds; + if (F.autoBounds) + for (p = 0; p < 3; ++p) { + if (i[p] < n[p]) + (n[p] = -1), (i[p] = 1); + else { + n[p] === i[p] && + ((n[p] -= 1), (i[p] += 1)); + var v = 0.05 * (i[p] - n[p]); + (n[p] = n[p] - v), + (i[p] = i[p] + v); + } + (d[0][p] = n[p]), (d[1][p] = i[p]); + } + var y = !1; + for (p = 0; p < 3; ++p) + (y = + y || + H[0][p] !== d[0][p] || + H[1][p] !== d[1][p]), + (H[0][p] = d[0][p]), + (H[1][p] = d[1][p]); + if (((I = I || y), (O = O || y))) { + if (y) { + var m = [0, 0, 0]; + for (o = 0; o < 3; ++o) + m[o] = g((d[1][o] - d[0][o]) / 10); + A.autoTicks + ? A.update({ + bounds: d, + tickSpacing: m, + }) + : A.update({ bounds: d }); + } + var T = r.drawingBufferWidth, + k = r.drawingBufferHeight; + for ( + z[0] = T, + z[1] = k, + B[0] = + 0 | Math.max(T / F.pixelRatio, 1), + B[1] = + 0 | Math.max(k / F.pixelRatio, 1), + (function (t, e) { + var r = t.bounds, + n = t.cameraParams, + i = n.projection, + a = n.model, + o = t.gl.drawingBufferWidth, + s = t.gl.drawingBufferHeight, + l = t.zNear, + u = t.zFar, + c = t.fovy, + p = o / s; + e + ? (h(i, -p, p, -1, 1, l, u), + (n._ortho = !0)) + : (f(i, c, p, l, u), + (n._ortho = !1)); + for (var d = 0; d < 16; ++d) + a[d] = 0; + a[15] = 1; + var v = 0; + for (d = 0; d < 3; ++d) + v = Math.max( + v, + r[1][d] - r[0][d], + ); + for (d = 0; d < 3; ++d) + t.autoScale + ? (a[5 * d] = + t.aspect[d] / + (r[1][d] - r[0][d])) + : (a[5 * d] = 1 / v), + t.autoCenter && + (a[12 + d] = + 0.5 * + -a[5 * d] * + (r[0][d] + r[1][d])); + })(F, w), + o = 0; + o < e; + ++o + ) + ((C = E[o]).axesBounds = d), + F.clipToBounds && + (C.clipBounds = d); + x.object && + (F.snapToData + ? (S.position = x.dataCoordinate) + : (S.position = x.dataPosition), + (S.bounds = d)), + I && + ((I = !1), + (function () { + if (!U()) { + r.colorMask(!0, !0, !0, !0), + r.depthMask(!0), + r.disable(r.BLEND), + r.enable(r.DEPTH_TEST), + r.depthFunc(r.LEQUAL); + for ( + var t = E.length, + e = P.length, + n = 0; + n < e; + ++n + ) { + var i = P[n]; + (i.shape = B), i.begin(); + for (var a = 0; a < t; ++a) + if (L[a] === n) { + var o = E[a]; + o.drawPick && + ((o.pixelRatio = 1), + o.drawPick(D)); + } + i.end(); + } + } + })()), + (F.axesPixels = a(F.axes, D, T, k)), + F.onrender && F.onrender(), + r.bindFramebuffer( + r.FRAMEBUFFER, + null, + ), + r.viewport(0, 0, T, k), + F.clearRGBA(), + r.depthMask(!0), + r.colorMask(!0, !0, !0, !0), + r.enable(r.DEPTH_TEST), + r.depthFunc(r.LEQUAL), + r.disable(r.BLEND), + r.disable(r.CULL_FACE); + var M = !1; + for ( + A.enable && + ((M = M || A.isTransparent()), + A.draw(D)), + S.axes = A, + x.object && S.draw(D), + r.disable(r.CULL_FACE), + o = 0; + o < e; + ++o + ) + ((C = E[o]).axes = A), + (C.pixelRatio = F.pixelRatio), + C.isOpaque && + C.isOpaque() && + C.draw(D), + C.isTransparent && + C.isTransparent() && + (M = !0); + if (M) { + for ( + b.shape = z, + b.bind(), + r.clear(r.DEPTH_BUFFER_BIT), + r.colorMask(!1, !1, !1, !1), + r.depthMask(!0), + r.depthFunc(r.LESS), + A.enable && + A.isTransparent() && + A.drawTransparent(D), + o = 0; + o < e; + ++o + ) + (C = E[o]).isOpaque && + C.isOpaque() && + C.draw(D); + for ( + r.enable(r.BLEND), + r.blendEquation(r.FUNC_ADD), + r.blendFunc( + r.ONE, + r.ONE_MINUS_SRC_ALPHA, + ), + r.colorMask(!0, !0, !0, !0), + r.depthMask(!1), + r.clearColor(0, 0, 0, 0), + r.clear(r.COLOR_BUFFER_BIT), + A.isTransparent() && + A.drawTransparent(D), + o = 0; + o < e; + ++o + ) { + var C; + (C = E[o]).isTransparent && + C.isTransparent() && + C.drawTransparent(D); + } + r.bindFramebuffer( + r.FRAMEBUFFER, + null, + ), + r.blendFunc( + r.ONE, + r.ONE_MINUS_SRC_ALPHA, + ), + r.disable(r.DEPTH_TEST), + _.bind(), + b.color[0].bind(0), + (_.uniforms.accumBuffer = 0), + u(r), + r.disable(r.BLEND); + } + for (O = !1, o = 0; o < e; ++o) + E[o].dirty = !1; + } + } + } + return ( + F.enableMouseListeners(), + (function t() { + F._stopped || + F.contextLost || + (q(), requestAnimationFrame(t)); + })(), + (F.redraw = function () { + F._stopped || ((O = !0), q()); + }), + F + ); + }, + createCamera: n, + }; + }, + 8023: function (t, e, r) { + var n = r(6832); + (e.pointVertex = n([ + "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}", + ])), + (e.pointFragment = n([ + "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", + ])), + (e.pickVertex = n([ + "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", + ])), + (e.pickFragment = n([ + "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", + ])); + }, + 8271: function (t, e, r) { + "use strict"; + var n = r(5158), + i = r(5827), + a = r(5306), + o = r(8023); + function s(t, e, r, n, i) { + (this.plot = t), + (this.offsetBuffer = e), + (this.pickBuffer = r), + (this.shader = n), + (this.pickShader = i), + (this.sizeMin = 0.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); + } + t.exports = function (t, e) { + var r = t.gl, + a = new s( + t, + i(r), + i(r), + n(r, o.pointVertex, o.pointFragment), + n(r, o.pickVertex, o.pickFragment), + ); + return a.update(e), t.addObject(a), a; + }; + var l, + u, + c = s.prototype; + (c.dispose = function () { + this.shader.dispose(), + this.pickShader.dispose(), + this.offsetBuffer.dispose(), + this.pickBuffer.dispose(), + this.plot.removeObject(this); + }), + (c.update = function (t) { + var e; + function r(e, r) { + return e in t ? t[e] : r; + } + (t = t || {}), + (this.sizeMin = r("sizeMin", 0.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, + o = + t.idToIndex instanceof Int32Array && + t.idToIndex.length >= n, + s = t.positions, + l = i ? s : a.mallocFloat32(s.length), + u = o ? t.idToIndex : a.mallocInt32(n); + if ((i || l.set(s), !o)) + for (l.set(s), e = 0; e < n; e++) u[e] = e; + (this.points = s), + this.offsetBuffer.update(l), + this.pickBuffer.update(u), + i || a.free(l), + o || a.free(u), + (this.pointCount = n), + (this.pickOffset = 0); + }), + (c.unifiedDraw = + ((l = [1, 0, 0, 0, 1, 0, 0, 0, 1]), + (u = [0, 0, 0, 0]), + function (t) { + var e = void 0 !== t, + r = e ? this.pickShader : this.shader, + n = this.plot.gl, + i = this.plot.dataBox; + if (0 === this.pointCount) return t; + var a = i[2] - i[0], + o = i[3] - i[1], + s = (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, i), + c = + this.plot.pickPixelRatio * + Math.max( + Math.min( + this.sizeMinCap, + this.sizeMin, + ), + Math.min( + this.sizeMax, + this.sizeMax / Math.pow(s, 0.33333), + ), + ); + (l[0] = 2 / a), + (l[4] = 2 / o), + (l[6] = (-2 * i[0]) / a - 1), + (l[7] = (-2 * i[1]) / o - 1), + this.offsetBuffer.bind(), + r.bind(), + r.attributes.position.pointer(), + (r.uniforms.matrix = l), + (r.uniforms.color = this.color), + (r.uniforms.borderColor = + this.borderColor), + (r.uniforms.pointCloud = c < 5), + (r.uniforms.pointSize = c), + (r.uniforms.centerFraction = Math.min( + 1, + Math.max( + 0, + Math.sqrt(1 - this.areaRatio), + ), + )), + e && + ((u[0] = 255 & t), + (u[1] = (t >> 8) & 255), + (u[2] = (t >> 16) & 255), + (u[3] = (t >> 24) & 255), + this.pickBuffer.bind(), + r.attributes.pickId.pointer( + n.UNSIGNED_BYTE, + ), + (r.uniforms.pickOffset = u), + (this.pickOffset = t)); + var f = n.getParameter(n.BLEND), + h = n.getParameter(n.DITHER); + return ( + f && !this.blend && n.disable(n.BLEND), + h && n.disable(n.DITHER), + n.drawArrays( + n.POINTS, + 0, + this.pointCount, + ), + f && !this.blend && n.enable(n.BLEND), + h && n.enable(n.DITHER), + t + this.pointCount + ); + })), + (c.draw = c.unifiedDraw), + (c.drawPick = c.unifiedDraw), + (c.pick = function (t, e, r) { + var n = this.pickOffset, + i = this.pointCount; + if (r < n || r >= n + i) return null; + var a = r - n, + o = this.points; + return { + object: this, + pointId: a, + dataCoord: [o[2 * a], o[2 * a + 1]], + }; + }); + }, + 6093: function (t) { + t.exports = function (t, e, r, n) { + var i, + a, + o, + s, + l, + u = e[0], + c = e[1], + f = e[2], + h = e[3], + p = r[0], + d = r[1], + v = r[2], + g = r[3]; + return ( + (a = u * p + c * d + f * v + h * g) < 0 && + ((a = -a), + (p = -p), + (d = -d), + (v = -v), + (g = -g)), + 1 - a > 1e-6 + ? ((i = Math.acos(a)), + (o = Math.sin(i)), + (s = Math.sin((1 - n) * i) / o), + (l = Math.sin(n * i) / o)) + : ((s = 1 - n), (l = n)), + (t[0] = s * u + l * p), + (t[1] = s * c + l * d), + (t[2] = s * f + l * v), + (t[3] = s * h + l * g), + t + ); + }; + }, + 8240: function (t) { + "use strict"; + t.exports = function (t) { + return t || 0 === t ? t.toString() : ""; + }; + }, + 4123: function (t, e, r) { + "use strict"; + var n = r(875); + t.exports = function (t, e, r) { + var a = i[e]; + if ((a || (a = i[e] = {}), t in a)) return a[t]; + var o = { + textAlign: "center", + textBaseline: "middle", + lineHeight: 1, + font: e, + lineSpacing: 1.25, + styletags: { + breaklines: !0, + bolds: !0, + italics: !0, + subscripts: !0, + superscripts: !0, + }, + triangles: !0, + }, + s = n(t, o); + o.triangles = !1; + var l, + u, + c = n(t, o); + if (r && 1 !== r) { + for (l = 0; l < s.positions.length; ++l) + for (u = 0; u < s.positions[l].length; ++u) + s.positions[l][u] /= r; + for (l = 0; l < c.positions.length; ++l) + for (u = 0; u < c.positions[l].length; ++u) + c.positions[l][u] /= r; + } + var f = [ + [1 / 0, 1 / 0], + [-1 / 0, -1 / 0], + ], + h = c.positions.length; + for (l = 0; l < h; ++l) { + var p = c.positions[l]; + for (u = 0; u < 2; ++u) + (f[0][u] = Math.min(f[0][u], p[u])), + (f[1][u] = Math.max(f[1][u], p[u])); + } + return (a[t] = [s, c, f]); + }; + var i = {}; + }, + 9282: function (t, e, r) { + var n = r(5158), + i = r(6832), + a = i([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}", + ]), + o = i([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}", + ]), + s = i([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * view * model * vec4(position, 1);\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n", + ]), + l = i([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n", + ]), + u = i([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}", + ]), + c = [ + { name: "position", type: "vec3" }, + { name: "color", type: "vec4" }, + { name: "glyph", type: "vec2" }, + { name: "id", type: "vec4" }, + ], + f = { vertex: a, fragment: l, attributes: c }, + h = { vertex: o, fragment: l, attributes: c }, + p = { vertex: s, fragment: l, attributes: c }, + d = { vertex: a, fragment: u, attributes: c }, + v = { vertex: o, fragment: u, attributes: c }, + g = { vertex: s, fragment: u, attributes: c }; + function y(t, e) { + var r = n(t, e), + i = r.attributes; + return ( + (i.position.location = 0), + (i.color.location = 1), + (i.glyph.location = 2), + (i.id.location = 3), + r + ); + } + (e.createPerspective = function (t) { + return y(t, f); + }), + (e.createOrtho = function (t) { + return y(t, h); + }), + (e.createProject = function (t) { + return y(t, p); + }), + (e.createPickPerspective = function (t) { + return y(t, d); + }), + (e.createPickOrtho = function (t) { + return y(t, v); + }), + (e.createPickProject = function (t) { + return y(t, g); + }); + }, + 2182: function (t, e, r) { + "use strict"; + var n = r(3596), + i = r(5827), + a = r(2944), + o = r(5306), + s = r(104), + l = r(9282), + u = r(4123), + c = r(8240), + f = [ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 1, + ]; + function h(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 p(t, e, r, n) { + return h(n, n), h(n, n), h(n, n); + } + function d(t, e) { + (this.index = t), + (this.dataCoordinate = this.position = e); + } + function v(t) { + return !0 === t || t > 1 ? 1 : t; + } + function g(t, e, r, n, i, a, o, s, l, u, c, f) { + (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.hasAlpha = !1), + (this.lineWidth = 0), + (this.projectScale = [2 / 3, 2 / 3, 2 / 3]), + (this.projectOpacity = [1, 1, 1]), + (this.projectHasAlpha = !1), + (this.pickId = 0), + (this.pickPerspectiveShader = u), + (this.pickOrthoShader = c), + (this.pickProjectShader = f), + (this.points = []), + (this._selectResult = new d(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); + } + t.exports = function (t) { + var e = t.gl, + r = l.createPerspective(e), + n = l.createOrtho(e), + o = l.createProject(e), + s = l.createPickPerspective(e), + u = l.createPickOrtho(e), + c = l.createPickProject(e), + f = i(e), + h = i(e), + p = i(e), + d = i(e), + v = new g( + e, + r, + n, + o, + f, + h, + p, + d, + a(e, [ + { buffer: f, size: 3, type: e.FLOAT }, + { buffer: h, size: 4, type: e.FLOAT }, + { buffer: p, size: 2, type: e.FLOAT }, + { + buffer: d, + size: 4, + type: e.UNSIGNED_BYTE, + normalized: !0, + }, + ]), + s, + u, + c, + ); + return v.update(t), v; + }; + var y = g.prototype; + (y.pickSlots = 1), + (y.setPickBase = function (t) { + this.pickId = t; + }), + (y.isTransparent = function () { + if (this.hasAlpha) return !0; + for (var t = 0; t < 3; ++t) + if ( + this.axesProject[t] && + this.projectHasAlpha + ) + return !0; + return !1; + }), + (y.isOpaque = function () { + if (!this.hasAlpha) return !0; + for (var t = 0; t < 3; ++t) + if ( + this.axesProject[t] && + !this.projectHasAlpha + ) + return !0; + return !1; + }); + var m = [0, 0], + x = [0, 0, 0], + b = [0, 0, 0], + _ = [0, 0, 0, 1], + w = [0, 0, 0, 1], + T = f.slice(), + k = [0, 0, 0], + A = [ + [0, 0, 0], + [0, 0, 0], + ]; + function M(t) { + return (t[0] = t[1] = t[2] = 0), t; + } + function S(t, e) { + return ( + (t[0] = e[0]), + (t[1] = e[1]), + (t[2] = e[2]), + (t[3] = 1), + t + ); + } + function E(t, e, r, n) { + return ( + (t[0] = e[0]), + (t[1] = e[1]), + (t[2] = e[2]), + (t[r] = n), + t + ); + } + var L = [ + [-1e8, -1e8, -1e8], + [1e8, 1e8, 1e8], + ]; + function C(t, e, r, n, i, a, o) { + var l = r.gl; + if ( + ((a === r.projectHasAlpha || o) && + (function (t, e, r, n) { + var i, + a = e.axesProject, + o = e.gl, + l = t.uniforms, + u = r.model || f, + c = r.view || f, + h = r.projection || f, + d = e.axesBounds, + v = (function (t) { + for (var e = A, 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); + (i = + e.axes && e.axes.lastCubeProps + ? e.axes.lastCubeProps.axis + : [1, 1, 1]), + (m[0] = 2 / o.drawingBufferWidth), + (m[1] = 2 / o.drawingBufferHeight), + t.bind(), + (l.view = c), + (l.projection = h), + (l.screenSize = m), + (l.highlightId = e.highlightId), + (l.highlightScale = e.highlightScale), + (l.clipBounds = v), + (l.pickGroup = e.pickId / 255), + (l.pixelRatio = n); + for (var g = 0; g < 3; ++g) + if (a[g]) { + (l.scale = e.projectScale[g]), + (l.opacity = e.projectOpacity[g]); + for (var y = T, L = 0; L < 16; ++L) + y[L] = 0; + for (L = 0; L < 4; ++L) y[5 * L] = 1; + (y[5 * g] = 0), + i[g] < 0 + ? (y[12 + g] = d[0][g]) + : (y[12 + g] = d[1][g]), + s(y, u, y), + (l.model = y); + var C = (g + 1) % 3, + P = (g + 2) % 3, + O = M(x), + I = M(b); + (O[C] = 1), (I[P] = 1); + var D = p(0, 0, 0, S(_, O)), + z = p(0, 0, 0, S(w, I)); + if (Math.abs(D[1]) > Math.abs(z[1])) { + var R = D; + (D = z), + (z = R), + (R = O), + (O = I), + (I = R); + var F = C; + (C = P), (P = F); + } + D[0] < 0 && (O[C] = -1), + z[1] > 0 && (I[P] = -1); + var B = 0, + N = 0; + for (L = 0; L < 4; ++L) + (B += Math.pow(u[4 * C + L], 2)), + (N += Math.pow(u[4 * P + L], 2)); + (O[C] /= Math.sqrt(B)), + (I[P] /= Math.sqrt(N)), + (l.axes[0] = O), + (l.axes[1] = I), + (l.fragClipBounds[0] = E( + k, + v[0], + g, + -1e8, + )), + (l.fragClipBounds[1] = E( + k, + v[1], + g, + 1e8, + )), + e.vao.bind(), + e.vao.draw( + o.TRIANGLES, + e.vertexCount, + ), + e.lineWidth > 0 && + (o.lineWidth(e.lineWidth * n), + e.vao.draw( + o.LINES, + e.lineVertexCount, + e.vertexCount, + )), + e.vao.unbind(); + } + })(e, r, n, i), + a === r.hasAlpha || o) + ) { + t.bind(); + var u = t.uniforms; + (u.model = n.model || f), + (u.view = n.view || f), + (u.projection = n.projection || f), + (m[0] = 2 / l.drawingBufferWidth), + (m[1] = 2 / l.drawingBufferHeight), + (u.screenSize = m), + (u.highlightId = r.highlightId), + (u.highlightScale = r.highlightScale), + (u.fragClipBounds = L), + (u.clipBounds = r.axes.bounds), + (u.opacity = r.opacity), + (u.pickGroup = r.pickId / 255), + (u.pixelRatio = i), + r.vao.bind(), + r.vao.draw(l.TRIANGLES, r.vertexCount), + r.lineWidth > 0 && + (l.lineWidth(r.lineWidth * i), + r.vao.draw( + l.LINES, + r.lineVertexCount, + r.vertexCount, + )), + r.vao.unbind(); + } + } + function P(t, e, r, i) { + var a; + (a = Array.isArray(t) + ? e < t.length + ? t[e] + : void 0 + : t), + (a = c(a)); + var o = !0; + n(a) && ((a = "▼"), (o = !1)); + var s = u(a, r, i); + return { + mesh: s[0], + lines: s[1], + bounds: s[2], + visible: o, + }; + } + (y.draw = function (t) { + C( + this.useOrtho + ? this.orthoShader + : this.shader, + this.projectShader, + this, + t, + this.pixelRatio, + !1, + !1, + ); + }), + (y.drawTransparent = function (t) { + C( + this.useOrtho + ? this.orthoShader + : this.shader, + this.projectShader, + this, + t, + this.pixelRatio, + !0, + !1, + ); + }), + (y.drawPick = function (t) { + C( + this.useOrtho + ? this.pickOrthoShader + : this.pickPerspectiveShader, + this.pickProjectShader, + this, + t, + 1, + !0, + !0, + ); + }), + (y.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; + }), + (y.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]; + }), + (y.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 ( + ((this.projectHasAlpha = !1), + "projectOpacity" in t) + ) { + Array.isArray(t.projectOpacity) + ? (this.projectOpacity = + t.projectOpacity.slice()) + : ((r = +t.projectOpacity), + (this.projectOpacity = [r, r, r])); + for (var n = 0; n < 3; ++n) + (this.projectOpacity[n] = v( + this.projectOpacity[n], + )), + this.projectOpacity[n] < 1 && + (this.projectHasAlpha = !0); + } + (this.hasAlpha = !1), + "opacity" in t && + ((this.opacity = v(t.opacity)), + this.opacity < 1 && (this.hasAlpha = !0)), + (this.dirty = !0); + var i, + a, + s = t.position, + l = t.font || "normal", + u = t.alignment || [0, 0]; + if (2 === u.length) (i = u[0]), (a = u[1]); + else + for ( + i = [], a = [], n = 0; + n < u.length; + ++n + ) + (i[n] = u[n][0]), (a[n] = u[n][1]); + var c = [1 / 0, 1 / 0, 1 / 0], + f = [-1 / 0, -1 / 0, -1 / 0], + h = t.glyph, + p = t.color, + d = t.size, + g = t.angle, + y = t.lineColor, + m = -1, + x = 0, + b = 0, + _ = 0; + if (s.length) { + _ = s.length; + t: for (n = 0; n < _; ++n) { + for (var w = s[n], T = 0; T < 3; ++T) + if (isNaN(w[T]) || !isFinite(w[T])) + continue t; + var k = (N = P(h, n, l, this.pixelRatio)) + .mesh, + A = N.lines, + M = N.bounds; + (x += 3 * k.cells.length), + (b += 2 * A.edges.length); + } + } + var S = x + b, + E = o.mallocFloat(3 * S), + L = o.mallocFloat(4 * S), + C = o.mallocFloat(2 * S), + O = o.mallocUint32(S); + if (S > 0) { + var I = 0, + D = x, + z = [0, 0, 0, 1], + R = [0, 0, 0, 1], + F = + Array.isArray(p) && Array.isArray(p[0]), + B = + Array.isArray(y) && Array.isArray(y[0]); + t: for (n = 0; n < _; ++n) { + for ( + m += 1, w = s[n], T = 0; + T < 3; + ++T + ) { + if (isNaN(w[T]) || !isFinite(w[T])) + continue t; + (f[T] = Math.max(f[T], w[T])), + (c[T] = Math.min(c[T], w[T])); + } + (k = (N = P(h, n, l, this.pixelRatio)) + .mesh), + (A = N.lines), + (M = N.bounds); + var N, + j = N.visible; + if (j) + if (Array.isArray(p)) { + if ( + 3 === + (U = F + ? n < p.length + ? p[n] + : [0, 0, 0, 0] + : p).length + ) { + for (T = 0; T < 3; ++T) z[T] = U[T]; + z[3] = 1; + } else if (4 === U.length) { + for (T = 0; T < 4; ++T) z[T] = U[T]; + !this.hasAlpha && + U[3] < 1 && + (this.hasAlpha = !0); + } + } else + (z[0] = z[1] = z[2] = 0), (z[3] = 1); + else z = [1, 1, 1, 0]; + if (j) + if (Array.isArray(y)) { + var U; + if ( + 3 === + (U = B + ? n < y.length + ? y[n] + : [0, 0, 0, 0] + : y).length + ) { + for (T = 0; T < 3; ++T) R[T] = U[T]; + R[T] = 1; + } else if (4 === U.length) { + for (T = 0; T < 4; ++T) R[T] = U[T]; + !this.hasAlpha && + U[3] < 1 && + (this.hasAlpha = !0); + } + } else + (R[0] = R[1] = R[2] = 0), (R[3] = 1); + else R = [1, 1, 1, 0]; + var V = 0.5; + j + ? Array.isArray(d) + ? (V = n < d.length ? +d[n] : 12) + : d + ? (V = +d) + : this.useOrtho && (V = 12) + : (V = 0); + var H = 0; + Array.isArray(g) + ? (H = n < g.length ? +g[n] : 0) + : g && (H = +g); + var q = Math.cos(H), + G = Math.sin(H); + for (w = s[n], T = 0; T < 3; ++T) + (f[T] = Math.max(f[T], w[T])), + (c[T] = Math.min(c[T], w[T])); + var Z = i, + Y = a; + (Z = 0), + Array.isArray(i) + ? (Z = n < i.length ? i[n] : 0) + : i && (Z = i), + (Y = 0), + Array.isArray(a) + ? (Y = n < a.length ? a[n] : 0) + : a && (Y = a); + var W = [ + (Z *= + Z > 0 + ? 1 - M[0][0] + : Z < 0 + ? 1 + M[1][0] + : 1), + (Y *= + Y > 0 + ? 1 - M[0][1] + : Y < 0 + ? 1 + M[1][1] + : 1), + ], + X = k.cells || [], + J = k.positions || []; + for (T = 0; T < X.length; ++T) + for (var K = X[T], $ = 0; $ < 3; ++$) { + for (var Q = 0; Q < 3; ++Q) + E[3 * I + Q] = w[Q]; + for (Q = 0; Q < 4; ++Q) + L[4 * I + Q] = z[Q]; + O[I] = m; + var tt = J[K[$]]; + (C[2 * I] = + V * (q * tt[0] - G * tt[1] + W[0])), + (C[2 * I + 1] = + V * + (G * tt[0] + q * tt[1] + W[1])), + (I += 1); + } + for ( + X = A.edges, J = A.positions, T = 0; + T < X.length; + ++T + ) + for (K = X[T], $ = 0; $ < 2; ++$) { + for (Q = 0; Q < 3; ++Q) + E[3 * D + Q] = w[Q]; + for (Q = 0; Q < 4; ++Q) + L[4 * D + Q] = R[Q]; + (O[D] = m), + (tt = J[K[$]]), + (C[2 * D] = + V * + (q * tt[0] - G * tt[1] + W[0])), + (C[2 * D + 1] = + V * + (G * tt[0] + q * tt[1] + W[1])), + (D += 1); + } + } + } + (this.bounds = [c, f]), + (this.points = s), + (this.pointCount = s.length), + (this.vertexCount = x), + (this.lineVertexCount = b), + this.pointBuffer.update(E), + this.colorBuffer.update(L), + this.glyphBuffer.update(C), + this.idBuffer.update(O), + o.free(E), + o.free(L), + o.free(C), + o.free(O); + }), + (y.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(); + }); + }, + 1884: function (t, e, r) { + "use strict"; + var n = r(6832); + (e.boxVertex = n([ + "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", + ])), + (e.boxFragment = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color;\n\nvoid main() {\n gl_FragColor = color;\n}\n", + ])); + }, + 6623: function (t, e, r) { + "use strict"; + var n = r(5158), + i = r(5827), + a = r(1884); + function o(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, 0.25]), + (this.outerFill = !0), + (this.outerColor = [0, 0, 0, 0.5]), + (this.borderWidth = 10); + } + t.exports = function (t, e) { + var r = t.gl, + s = new o( + t, + i(r, [0, 0, 0, 1, 1, 0, 1, 1]), + n(r, a.boxVertex, a.boxFragment), + ); + return s.update(e), t.addOverlay(s), s; + }; + var s = o.prototype; + (s.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, + f = + ((e[0] - l[0]) * (u[2] - u[0])) / + (l[2] - l[0]) + + u[0], + h = + ((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 ( + ((f = Math.max(f, u[0])), + (h = Math.max(h, u[1])), + (p = Math.min(p, u[2])), + (d = Math.min(d, u[3])), + !(p < f || d < h)) + ) { + o.bind(); + var v = s[2] - s[0], + g = s[3] - s[1]; + if ( + (this.outerFill && + (o.drawBox(0, 0, v, h, i), + o.drawBox(0, h, f, d, i), + o.drawBox(0, d, v, g, i), + o.drawBox(p, h, v, d, i)), + this.innerFill && + o.drawBox(f, h, p, d, n), + r > 0) + ) { + var y = r * c; + o.drawBox(f - y, h - y, p + y, h + y, a), + o.drawBox( + f - y, + d - y, + p + y, + d + y, + a, + ), + o.drawBox( + f - y, + h - y, + f + y, + d + y, + a, + ), + o.drawBox( + p - y, + h - y, + p + y, + d + y, + a, + ); + } + } + } + }), + (s.update = function (t) { + (t = t || {}), + (this.innerFill = !!t.innerFill), + (this.outerFill = !!t.outerFill), + (this.innerColor = ( + t.innerColor || [0, 0, 0, 0.5] + ).slice()), + (this.outerColor = ( + t.outerColor || [0, 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()); + }), + (s.dispose = function () { + this.boxBuffer.dispose(), + this.boxShader.dispose(), + this.plot.removeOverlay(this); + }); + }, + 2611: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + var r = e[0], + a = e[1]; + return new l( + t, + n(t, r, a, {}), + i.mallocUint8(r * a * 4), + ); + }; + var n = r(4234), + i = r(5306), + a = r(5050), + o = r(2288).nextPow2; + function s(t, e, r, n, i) { + (this.coord = [t, e]), + (this.id = r), + (this.value = n), + (this.distance = i); + } + function l(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 u = l.prototype; + Object.defineProperty(u, "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) { + i.free(this.buffer); + for ( + var n = (this.buffer = i.mallocUint8( + o(r * e * 4), + )), + a = 0; + a < r * e * 4; + ++a + ) + n[a] = 255; + } + return t; + } + }, + }), + (u.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, + )); + }), + (u.end = function () { + var t = this.gl; + t && + (t.bindFramebuffer(t.FRAMEBUFFER, null), + this._readTimeout || + clearTimeout(this._readTimeout), + (this._readTimeout = setTimeout( + this._readCallback, + 1, + ))); + }), + (u.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]), + o = 0 | Math.min(Math.max(t + r, 0), n[0]), + l = 0 | Math.min(Math.max(e - r, 0), n[1]), + u = 0 | Math.min(Math.max(e + r, 0), n[1]); + if (o <= i || u <= l) return null; + var c = [o - i, u - l], + f = a( + this.buffer, + [c[0], c[1], 4], + [4, 4 * n[0], 1], + 4 * (i + n[0] * l), + ), + h = (function (t, e, r) { + for ( + var n = 1e8, + i = -1, + a = -1, + o = t.shape[0], + s = t.shape[1], + l = 0; + l < o; + l++ + ) + for (var u = 0; u < s; u++) { + var c = t.get(l, u, 0), + f = t.get(l, u, 1), + h = t.get(l, u, 2), + p = t.get(l, u, 3); + if ( + c < 255 || + f < 255 || + h < 255 || + p < 255 + ) { + var d = e - l, + v = r - u, + g = d * d + v * v; + g < n && + ((n = g), (i = l), (a = u)); + } + } + return [i, a, n]; + })(f.hi(c[0], c[1], 1), r, r), + p = h[0], + d = h[1]; + return p < 0 || + Math.pow(this.radius, 2) < h[2] + ? null + : new s( + (p + i) | 0, + (d + l) | 0, + f.get(p, d, 0), + [ + f.get(p, d, 1), + f.get(p, d, 2), + f.get(p, d, 3), + ], + Math.sqrt(h[2]), + ); + }), + (u.dispose = function () { + this.gl && + (this.fbo.dispose(), + i.free(this.buffer), + (this.gl = null), + this._readTimeout && + clearTimeout(this._readTimeout)); + }); + }, + 5158: function (t, e, r) { + "use strict"; + var n = r(9016), + i = r(4280), + a = r(3984), + o = r(1628), + s = r(2631), + l = r(9068); + function u(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); + } + var c = u.prototype; + function f(t, e) { + return t.name < e.name ? -1 : 1; + } + (c.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); + }), + (c.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); + }), + (c.update = function (t, e, r, u) { + if (!e || 1 === arguments.length) { + var c = t; + (t = c.vertex), + (e = c.fragment), + (r = c.uniforms), + (u = c.attributes); + } + var h = this, + p = h.gl, + d = h._vref; + (h._vref = o.shader(p, p.VERTEX_SHADER, t)), + d && d.dispose(), + (h.vertShader = h._vref.shader); + var v = this._fref; + if ( + ((h._fref = o.shader( + p, + p.FRAGMENT_SHADER, + e, + )), + v && v.dispose(), + (h.fragShader = h._fref.shader), + !r || !u) + ) { + var g = p.createProgram(); + if ( + (p.attachShader(g, h.fragShader), + p.attachShader(g, h.vertShader), + p.linkProgram(g), + !p.getProgramParameter(g, p.LINK_STATUS)) + ) { + var y = p.getProgramInfoLog(g); + throw new l( + y, + "Error linking program:" + y, + ); + } + (r = r || s.uniforms(p, g)), + (u = u || s.attributes(p, g)), + p.deleteProgram(g); + } + (u = u.slice()).sort(f); + var m, + x = [], + b = [], + _ = []; + for (m = 0; m < u.length; ++m) { + var w = u[m]; + if (w.type.indexOf("mat") >= 0) { + for ( + var T = + 0 | + w.type.charAt(w.type.length - 1), + k = new Array(T), + A = 0; + A < T; + ++A + ) + (k[A] = _.length), + b.push(w.name + "[" + A + "]"), + "number" == typeof w.location + ? _.push(w.location + A) + : Array.isArray(w.location) && + w.location.length === T && + "number" == typeof w.location[A] + ? _.push(0 | w.location[A]) + : _.push(-1); + x.push({ + name: w.name, + type: w.type, + locations: k, + }); + } else + x.push({ + name: w.name, + type: w.type, + locations: [_.length], + }), + b.push(w.name), + "number" == typeof w.location + ? _.push(0 | w.location) + : _.push(-1); + } + var M = 0; + for (m = 0; m < _.length; ++m) + if (_[m] < 0) { + for (; _.indexOf(M) >= 0; ) M += 1; + _[m] = M; + } + var S = new Array(r.length); + function E() { + h.program = o.program( + p, + h._vref, + h._fref, + b, + _, + ); + for (var t = 0; t < r.length; ++t) + S[t] = p.getUniformLocation( + h.program, + r[t].name, + ); + } + E(), + (h._relink = E), + (h.types = { + uniforms: a(r), + attributes: a(u), + }), + (h.attributes = i(p, h, x, _)), + Object.defineProperty( + h, + "uniforms", + n(p, h, r, S), + ); + }), + (t.exports = function (t, e, r, n, i) { + var a = new u(t); + return a.update(e, r, n, i), a; + }); + }, + 9068: function (t) { + function e(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); + } + (e.prototype = new Error()), + (e.prototype.name = "GLError"), + (e.prototype.constructor = e), + (t.exports = e); + }, + 4280: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r, i) { + for ( + var a = {}, o = 0, u = r.length; + o < u; + ++o + ) { + var c = r[o], + f = c.name, + h = c.type, + p = c.locations; + switch (h) { + case "bool": + case "int": + case "float": + s(t, e, p[0], i, 1, a, f); + break; + default: + if (h.indexOf("vec") >= 0) { + if ( + (d = + h.charCodeAt(h.length - 1) - 48) < + 2 || + d > 4 + ) + throw new n( + "", + "Invalid data type for attribute " + + f + + ": " + + h, + ); + s(t, e, p[0], i, d, a, f); + } else { + if (!(h.indexOf("mat") >= 0)) + throw new n( + "", + "Unknown data type for attribute " + + f + + ": " + + h, + ); + var d; + if ( + (d = + h.charCodeAt(h.length - 1) - 48) < + 2 || + d > 4 + ) + throw new n( + "", + "Invalid data type for attribute " + + f + + ": " + + h, + ); + l(t, e, p, i, d, a, f); + } + } + } + return a; + }; + var n = r(9068); + function i(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 a = i.prototype; + (a.pointer = function (t, e, r, n) { + var i = this, + a = i._gl, + o = i._locations[i._index]; + a.vertexAttribPointer( + o, + i._dimension, + t || a.FLOAT, + !!e, + r || 0, + n || 0, + ), + a.enableVertexAttribArray(o); + }), + (a.set = function (t, e, r, n) { + return this._constFunc( + this._locations[this._index], + t, + e, + r, + n, + ); + }), + Object.defineProperty(a, "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 o = [ + function (t, e, r) { + return void 0 === r.length + ? t.vertexAttrib1f(e, r) + : t.vertexAttrib1fv(e, r); + }, + function (t, e, r, n) { + return void 0 === r.length + ? t.vertexAttrib2f(e, r, n) + : t.vertexAttrib2fv(e, r); + }, + function (t, e, r, n, i) { + return void 0 === r.length + ? t.vertexAttrib3f(e, r, n, i) + : t.vertexAttrib3fv(e, r); + }, + function (t, e, r, n, i, a) { + return void 0 === r.length + ? t.vertexAttrib4f(e, r, n, i, a) + : t.vertexAttrib4fv(e, r); + }, + ]; + function s(t, e, r, n, a, s, l) { + var u = o[a], + c = new i(t, e, r, n, a, u); + Object.defineProperty(s, l, { + set: function (e) { + return ( + t.disableVertexAttribArray(n[r]), + u(t, n[r], e), + e + ); + }, + get: function () { + return c; + }, + enumerable: !0, + }); + } + function l(t, e, r, n, i, a, o) { + for ( + var l = new Array(i), u = new Array(i), c = 0; + c < i; + ++c + ) + s(t, e, r[c], n, i, l, c), (u[c] = l[c]); + Object.defineProperty(l, "location", { + set: function (t) { + if (Array.isArray(t)) + for (var e = 0; e < i; ++e) + u[e].location = t[e]; + else + for (e = 0; e < i; ++e) + u[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, + }), + (l.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 f = 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) + f[s] = e[i * a + s]; + h.call(t, o, f); + } + } + return e; + }, + get: function () { + return l; + }, + enumerable: !0, + }); + } + }, + 9016: function (t, e, r) { + "use strict"; + var n = r(3984), + i = r(9068); + function a(t) { + return function () { + return t; + }; + } + function o(t, e) { + for (var r = new Array(t), n = 0; n < t; ++n) + r[n] = e; + return r; + } + t.exports = function (t, e, r, s) { + function l(e) { + return function (n) { + for ( + var a = u("", e), o = 0; + o < a.length; + ++o + ) { + var l = a[o], + c = l[0], + f = l[1]; + if (s[f]) { + var h = n; + if ( + "string" == typeof c && + (0 === c.indexOf(".") || + 0 === c.indexOf("[")) + ) { + var p = c; + if ( + (0 === c.indexOf(".") && + (p = c.slice(1)), + p.indexOf("]") === p.length - 1) + ) { + var d = p.indexOf("["), + v = p.slice(0, d), + g = p.slice(d + 1, p.length - 1); + h = v ? n[v][g] : n[g]; + } else h = n[p]; + } + var y, + m = r[f].type; + switch (m) { + case "bool": + case "int": + case "sampler2D": + case "samplerCube": + t.uniform1i(s[f], h); + break; + case "float": + t.uniform1f(s[f], h); + break; + default: + var x = m.indexOf("vec"); + if ( + !( + 0 <= x && + x <= 1 && + m.length === 4 + x + ) + ) { + if ( + 0 === m.indexOf("mat") && + 4 === m.length + ) { + if ( + (y = + m.charCodeAt(m.length - 1) - + 48) < 2 || + y > 4 + ) + throw new i( + "", + "Invalid uniform dimension type for matrix " + + name + + ": " + + m, + ); + t["uniformMatrix" + y + "fv"]( + s[f], + !1, + h, + ); + break; + } + throw new i( + "", + "Unknown uniform data type for " + + name + + ": " + + m, + ); + } + if ( + (y = + m.charCodeAt(m.length - 1) - + 48) < 2 || + y > 4 + ) + throw new i( + "", + "Invalid data type", + ); + switch (m.charAt(0)) { + case "b": + case "i": + t["uniform" + y + "iv"]( + s[f], + h, + ); + break; + case "v": + t["uniform" + y + "fv"]( + s[f], + h, + ); + break; + default: + throw new i( + "", + "Unrecognized data type for vector " + + name + + ": " + + m, + ); + } + } + } + } + }; + } + function u(t, e) { + if ("object" != typeof e) return [[t, e]]; + var r = []; + for (var n in e) { + var i = e[n], + a = t; + parseInt(n) + "" === n + ? (a += "[" + n + "]") + : (a += "." + n), + "object" == typeof i + ? r.push.apply(r, u(a, i)) + : r.push([a, i]); + } + return r; + } + function c(t, e, n) { + if ("object" == typeof n) { + var u = f(n); + Object.defineProperty(t, e, { + get: a(u), + set: l(n), + enumerable: !0, + configurable: !1, + }); + } else + s[n] + ? Object.defineProperty(t, e, { + get: + ((c = n), + function (t, e, r) { + return t.getUniform( + e.program, + r[c], + ); + }), + set: l(n), + enumerable: !0, + configurable: !1, + }) + : (t[e] = (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 + ) { + if ( + (r = + t.charCodeAt(t.length - 1) - + 48) < 2 || + r > 4 + ) + throw new i( + "", + "Invalid data type", + ); + return "b" === t.charAt(0) + ? o(r, !1) + : o(r, 0); + } + if ( + 0 === t.indexOf("mat") && + 4 === t.length + ) { + var r; + if ( + (r = + t.charCodeAt(t.length - 1) - + 48) < 2 || + r > 4 + ) + throw new i( + "", + "Invalid uniform dimension type for matrix " + + name + + ": " + + t, + ); + return o(r * r, 0); + } + throw new i( + "", + "Unknown uniform data type for " + + name + + ": " + + t, + ); + } + })(r[n].type)); + var c; + } + function f(t) { + var e; + if (Array.isArray(t)) { + e = new Array(t.length); + for (var r = 0; r < t.length; ++r) + c(e, r, t[r]); + } else + for (var n in ((e = {}), t)) c(e, n, t[n]); + return e; + } + var h = n(r, !0); + return { + get: a(f(h)), + set: l(h), + enumerable: !0, + configurable: !0, + }; + }; + }, + 3984: function (t) { + "use strict"; + t.exports = function (t, e) { + for (var r = {}, n = 0; n < t.length; ++n) + for ( + var i = t[n].name.split("."), a = r, o = 0; + o < i.length; + ++o + ) { + var s = i[o].split("["); + if (s.length > 1) { + s[0] in a || (a[s[0]] = []), + (a = a[s[0]]); + for (var l = 1; l < s.length; ++l) { + var u = parseInt(s[l]); + l < s.length - 1 || o < i.length - 1 + ? (u in a || + (l < s.length - 1 + ? (a[u] = []) + : (a[u] = {})), + (a = a[u])) + : (a[u] = e ? n : t[n].type); + } + } else + o < i.length - 1 + ? (s[0] in a || (a[s[0]] = {}), + (a = a[s[0]])) + : (a[s[0]] = e ? n : t[n].type); + } + return r; + }; + }, + 2631: function (t, e) { + "use strict"; + (e.uniforms = function (t, e) { + for ( + var r = t.getProgramParameter( + e, + t.ACTIVE_UNIFORMS, + ), + n = [], + a = 0; + a < r; + ++a + ) { + var o = t.getActiveUniform(e, a); + if (o) { + var s = i(t, o.type); + if (o.size > 1) + for (var l = 0; l < o.size; ++l) + n.push({ + name: o.name.replace( + "[0]", + "[" + l + "]", + ), + type: s, + }); + else n.push({ name: o.name, type: s }); + } + } + return n; + }), + (e.attributes = function (t, e) { + for ( + var r = t.getProgramParameter( + e, + t.ACTIVE_ATTRIBUTES, + ), + n = [], + a = 0; + a < r; + ++a + ) { + var o = t.getActiveAttrib(e, a); + o && + n.push({ + name: o.name, + type: i(t, o.type), + }); + } + return n; + }); + var r = { + 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", + }, + n = null; + function i(t, e) { + if (!n) { + var i = Object.keys(r); + n = {}; + for (var a = 0; a < i.length; ++a) { + var o = i[a]; + n[t[o]] = r[o]; + } + } + return n[e]; + } + }, + 1628: function (t, e, r) { + "use strict"; + (e.shader = function (t, e, r) { + return c(t).getShaderReference(e, r); + }), + (e.program = function (t, e, r, n, i) { + return c(t).getProgram(e, r, n, i); + }); + var n = r(9068), + i = r(3530), + a = new ( + "undefined" == typeof WeakMap + ? r(4037) + : WeakMap + )(), + o = 0; + function s(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 l(t) { + (this.gl = t), + (this.shaders = [{}, {}]), + (this.programs = {}); + } + s.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 u = l.prototype; + function c(t) { + var e = a.get(t); + return e || ((e = new l(t)), a.set(t, e)), e; + } + (u.getShaderReference = function (t, e) { + var r = this.gl, + a = + this.shaders[(t === r.FRAGMENT_SHADER) | 0], + l = a[e]; + if (l && r.isShader(l.shader)) l.count += 1; + else { + var u = (function (t, e, r) { + var a = t.createShader(e); + if ( + (t.shaderSource(a, r), + t.compileShader(a), + !t.getShaderParameter( + a, + t.COMPILE_STATUS, + )) + ) { + var o = t.getShaderInfoLog(a); + try { + var s = i(o, r, e); + } catch (t) { + throw ( + (console.warn( + "Failed to format compiler error: " + + t, + ), + new n( + o, + "Error compiling shader:\n" + o, + )) + ); + } + throw new n(o, s.short, s.long); + } + return a; + })(r, t, e); + l = a[e] = new s(o++, e, t, u, [], 1, this); + } + return l; + }), + (u.getProgram = function (t, e, r, i) { + var a = [ + t.id, + e.id, + r.join(":"), + i.join(":"), + ].join("@"), + o = this.programs[a]; + return ( + (o && this.gl.isProgram(o)) || + ((this.programs[a] = o = + (function (t, e, r, i, a) { + var o = t.createProgram(); + t.attachShader(o, e), + t.attachShader(o, r); + for (var s = 0; s < i.length; ++s) + t.bindAttribLocation(o, a[s], i[s]); + if ( + (t.linkProgram(o), + !t.getProgramParameter( + o, + t.LINK_STATUS, + )) + ) { + var l = t.getProgramInfoLog(o); + throw new n( + l, + "Error linking program: " + l, + ); + } + return o; + })(this.gl, t.shader, e.shader, r, i)), + t.programs.push(a), + e.programs.push(a)), + o + ); + }); + }, + 3050: function (t) { + "use strict"; + function e(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]); + } + t.exports = function (t, r) { + var n = new e(t); + return n.update(r), t.addOverlay(n), n; + }; + var r = e.prototype; + (r.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(); + }), + (r.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]); + } + }), + (r.dispose = function () { + this.plot.removeOverlay(this); + }); + }, + 3540: function (t, e, r) { + "use strict"; + var n = r(6832), + i = r(5158), + a = n([ + "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", + ]), + o = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}", + ]); + t.exports = function (t) { + return i(t, a, o, null, [ + { name: "position", type: "vec3" }, + { name: "color", type: "vec3" }, + { name: "weight", type: "float" }, + ]); + }; + }, + 6496: function (t, e, r) { + "use strict"; + var n = r(5827), + i = r(2944), + a = r(3540); + t.exports = function (t, e) { + var r = []; + function o(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); + } + o(0, 0, 0, 0, 0, 1), + o(0, 0, 0, 1, 0, 1), + o(0, 0, 0, 2, 0, 1), + o(1, 0, 0, 1, -1, 1), + o(1, 0, 0, 2, -1, 1), + o(0, 1, 0, 0, -1, 1), + o(0, 1, 0, 2, -1, 1), + o(0, 0, 1, 0, -1, 1), + o(0, 0, 1, 1, -1, 1); + var l = n(t, r), + u = i(t, [ + { + type: t.FLOAT, + buffer: l, + size: 3, + offset: 0, + stride: 28, + }, + { + type: t.FLOAT, + buffer: l, + size: 3, + offset: 12, + stride: 28, + }, + { + type: t.FLOAT, + buffer: l, + size: 1, + offset: 24, + stride: 28, + }, + ]), + c = a(t); + (c.attributes.position.location = 0), + (c.attributes.color.location = 1), + (c.attributes.weight.location = 2); + var f = new s(t, l, u, c); + return f.update(e), f; + }; + var o = [ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + ]; + function s(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 l = s.prototype, + u = [0, 0, 0], + c = [0, 0, 0], + f = [0, 0]; + (l.isTransparent = function () { + return !1; + }), + (l.drawTransparent = function (t) {}), + (l.draw = function (t) { + var e = this.gl, + r = this.vao, + n = this.shader; + r.bind(), n.bind(); + var i, + a = t.model || o, + s = t.view || o, + l = t.projection || o; + this.axes && + (i = this.axes.lastCubeProps.axis); + for (var h = u, p = c, d = 0; d < 3; ++d) + i && i[d] < 0 + ? ((h[d] = this.bounds[0][d]), + (p[d] = this.bounds[1][d])) + : ((h[d] = this.bounds[1][d]), + (p[d] = this.bounds[0][d])); + for ( + f[0] = e.drawingBufferWidth, + f[1] = e.drawingBufferHeight, + n.uniforms.model = a, + n.uniforms.view = s, + n.uniforms.projection = l, + n.uniforms.coordinates = [ + this.position, + h, + p, + ], + n.uniforms.colors = this.colors, + n.uniforms.screenShape = f, + d = 0; + d < 3; + ++d + ) + (n.uniforms.lineWidth = + this.lineWidth[d] * this.pixelRatio), + this.enabled[d] && + (r.draw(e.TRIANGLES, 6, 6 * d), + this.drawSides[d] && + r.draw(e.TRIANGLES, 12, 18 + 12 * d)); + r.unbind(); + }), + (l.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)); + }), + (l.dispose = function () { + this.vao.dispose(), + this.buffer.dispose(), + this.shader.dispose(); + }); + }, + 9578: function (t, e, r) { + var n = r(6832), + i = n([ + "precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n", + ]), + a = n([ + "#extension GL_OES_standard_derivatives : enable\n\nprecision highp 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\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\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 = min(1.0, max(0.0, 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}\n", + ]), + o = n([ + "precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * view * tubePosition;\n f_id = id;\n f_position = position.xyz;\n}\n", + ]), + s = n([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}", + ]); + (e.meshShader = { + vertex: i, + fragment: a, + attributes: [ + { name: "position", type: "vec4" }, + { name: "color", type: "vec4" }, + { name: "uv", type: "vec2" }, + { name: "vector", type: "vec4" }, + ], + }), + (e.pickShader = { + vertex: o, + fragment: s, + attributes: [ + { name: "position", type: "vec4" }, + { name: "id", type: "vec4" }, + { name: "vector", type: "vec4" }, + ], + }); + }, + 7307: function (t, e, r) { + "use strict"; + var n = r(2858), + i = r(4020), + a = ["xyz", "xzy", "yxz", "yzx", "zxy", "zyx"], + o = function (t, e) { + var r, + n = t.length; + for (r = 0; r < n; r++) { + var i = t[r]; + if (i === e) return r; + if (i > e) return r - 1; + } + return r; + }, + s = function (t, e, r) { + return t < e ? e : t > r ? r : t; + }, + l = function (t) { + var e = 1 / 0; + t.sort(function (t, e) { + return t - e; + }); + for (var r = t.length, n = 1; n < r; n++) { + var i = Math.abs(t[n] - t[n - 1]); + i < e && (e = i); + } + return e; + }; + t.exports = function (t, e) { + var r = t.startingPositions, + u = t.maxLength || 1e3, + c = t.tubeSize || 1, + f = t.absoluteTubeSize, + h = t.gridFill || "+x+y+z", + p = {}; + -1 !== h.indexOf("-x") && (p.reversedX = !0), + -1 !== h.indexOf("-y") && (p.reversedY = !0), + -1 !== h.indexOf("-z") && (p.reversedZ = !0), + (p.filled = a.indexOf( + h.replace(/-/g, "").replace(/\+/g, ""), + )); + var d = + t.getVelocity || + function (e) { + return (function (t, e, r) { + var i = e.vectors, + a = e.meshgrid, + l = t[0], + u = t[1], + c = t[2], + f = a[0].length, + h = a[1].length, + p = a[2].length, + d = o(a[0], l), + v = o(a[1], u), + g = o(a[2], c), + y = d + 1, + m = v + 1, + x = g + 1; + if ( + ((d = s(d, 0, f - 1)), + (y = s(y, 0, f - 1)), + (v = s(v, 0, h - 1)), + (m = s(m, 0, h - 1)), + (g = s(g, 0, p - 1)), + (x = s(x, 0, p - 1)), + d < 0 || + v < 0 || + g < 0 || + y > f - 1 || + m > h - 1 || + x > p - 1) + ) + return n.create(); + var b, + _, + w, + T, + k, + A, + M = a[0][d], + S = a[0][y], + E = a[1][v], + L = a[1][m], + C = a[2][g], + P = (l - M) / (S - M), + O = (u - E) / (L - E), + I = (c - C) / (a[2][x] - C); + switch ( + (isFinite(P) || (P = 0.5), + isFinite(O) || (O = 0.5), + isFinite(I) || (I = 0.5), + r.reversedX && + ((d = f - 1 - d), (y = f - 1 - y)), + r.reversedY && + ((v = h - 1 - v), (m = h - 1 - m)), + r.reversedZ && + ((g = p - 1 - g), (x = p - 1 - x)), + r.filled) + ) { + case 5: + (k = g), + (A = x), + (w = v * p), + (T = m * p), + (b = d * p * h), + (_ = y * p * h); + break; + case 4: + (k = g), + (A = x), + (b = d * p), + (_ = y * p), + (w = v * p * f), + (T = m * p * f); + break; + case 3: + (w = v), + (T = m), + (k = g * h), + (A = x * h), + (b = d * h * p), + (_ = y * h * p); + break; + case 2: + (w = v), + (T = m), + (b = d * h), + (_ = y * h), + (k = g * h * f), + (A = x * h * f); + break; + case 1: + (b = d), + (_ = y), + (k = g * f), + (A = x * f), + (w = v * f * p), + (T = m * f * p); + break; + default: + (b = d), + (_ = y), + (w = v * f), + (T = m * f), + (k = g * f * h), + (A = x * f * h); + } + var D = i[b + w + k], + z = i[b + w + A], + R = i[b + T + k], + F = i[b + T + A], + B = i[_ + w + k], + N = i[_ + w + A], + j = i[_ + T + k], + U = i[_ + T + A], + V = n.create(), + H = n.create(), + q = n.create(), + G = n.create(); + n.lerp(V, D, B, P), + n.lerp(H, z, N, P), + n.lerp(q, R, j, P), + n.lerp(G, F, U, P); + var Z = n.create(), + Y = n.create(); + n.lerp(Z, V, q, O), n.lerp(Y, H, G, O); + var W = n.create(); + return n.lerp(W, Z, Y, I), W; + })(e, t, p); + }, + v = + t.getDivergence || + function (t, e) { + var r = n.create(), + i = 1e-4; + n.add(r, t, [i, 0, 0]); + var a = d(r); + n.subtract(a, a, e), + n.scale(a, a, 1 / i), + n.add(r, t, [0, i, 0]); + var o = d(r); + n.subtract(o, o, e), + n.scale(o, o, 1 / i), + n.add(r, t, [0, 0, i]); + var s = d(r); + return ( + n.subtract(s, s, e), + n.scale(s, s, 1 / i), + n.add(r, a, o), + n.add(r, r, s), + r + ); + }, + g = [], + y = e[0][0], + m = e[0][1], + x = e[0][2], + b = e[1][0], + _ = e[1][1], + w = e[1][2], + T = function (t) { + var e = t[0], + r = t[1], + n = t[2]; + return !( + e < y || + e > b || + r < m || + r > _ || + n < x || + n > w + ); + }, + k = (10 * n.distance(e[0], e[1])) / u, + A = k * k, + M = 1, + S = 0, + E = r.length; + E > 1 && + (M = (function (t) { + for ( + var e = [], + r = [], + n = [], + i = {}, + a = {}, + o = {}, + s = t.length, + u = 0; + u < s; + u++ + ) { + var c = t[u], + f = c[0], + h = c[1], + p = c[2]; + i[f] || (e.push(f), (i[f] = !0)), + a[h] || (r.push(h), (a[h] = !0)), + o[p] || (n.push(p), (o[p] = !0)); + } + var d = l(e), + v = l(r), + g = l(n), + y = Math.min(d, v, g); + return isFinite(y) ? y : 1; + })(r)); + for (var L = 0; L < E; L++) { + var C = n.create(); + n.copy(C, r[L]); + var P = [C], + O = [], + I = d(C), + D = C; + O.push(I); + var z = [], + R = v(C, I), + F = n.length(R); + isFinite(F) && F > S && (S = F), + z.push(F), + g.push({ + points: P, + velocities: O, + divergences: z, + }); + for ( + var B = 0; + B < 100 * u && P.length < u && T(C); + + ) { + B++; + var N = n.clone(I), + j = n.squaredLength(N); + if (0 === j) break; + j > A && n.scale(N, N, k / Math.sqrt(j)), + n.add(N, N, C), + (I = d(N)), + n.squaredDistance(D, N) - A > -1e-4 * A && + (P.push(N), + (D = N), + O.push(I), + (R = v(N, I)), + (F = n.length(R)), + isFinite(F) && F > S && (S = F), + z.push(F)), + (C = N); + } + } + var U = (function (t, e, r, a) { + for (var o = 0, s = 0; s < t.length; s++) + for ( + var l = t[s].velocities, u = 0; + u < l.length; + u++ + ) + o = Math.max(o, n.length(l[u])); + var c = t.map(function (t) { + return (function (t, e, r, a) { + for ( + var o = t.points, + s = t.velocities, + l = t.divergences, + u = [], + c = [], + f = [], + h = [], + p = [], + d = [], + v = 0, + g = 0, + y = i.create(), + m = i.create(), + x = 0; + x < o.length; + x++ + ) { + var b = o[x], + _ = s[x], + w = l[x]; + 0 === e && (w = 0.05 * r), + (g = n.length(_) / a), + (y = i.create()), + n.copy(y, _), + (y[3] = w); + for (var T = 0; T < 8; T++) + p[T] = [b[0], b[1], b[2], T]; + if (h.length > 0) + for (T = 0; T < 8; T++) { + var k = (T + 1) % 8; + u.push( + h[T], + p[T], + p[k], + p[k], + h[k], + h[T], + ), + f.push(m, y, y, y, m, m), + d.push(v, g, g, g, v, v); + var A = u.length; + c.push( + [A - 6, A - 5, A - 4], + [A - 3, A - 2, A - 1], + ); + } + var M = h; + (h = p), (p = M); + var S = m; + (m = y), (y = S); + var E = v; + (v = g), (g = E); + } + return { + positions: u, + cells: c, + vectors: f, + vertexIntensity: d, + }; + })(t, r, a, o); + }), + f = [], + h = [], + p = [], + d = []; + for (s = 0; s < c.length; s++) { + var v = c[s], + g = f.length; + for ( + f = f.concat(v.positions), + p = p.concat(v.vectors), + d = d.concat(v.vertexIntensity), + u = 0; + u < v.cells.length; + u++ + ) { + var y = v.cells[u], + m = []; + h.push(m); + for (var x = 0; x < y.length; x++) + m.push(y[x] + g); + } + } + return { + positions: f, + cells: h, + vectors: p, + vertexIntensity: d, + colormap: e, + }; + })(g, t.colormap, S, M); + return ( + f + ? (U.tubeScale = f) + : (0 === S && (S = 1), + (U.tubeScale = (0.5 * c * M) / S)), + U + ); + }; + var u = r(9578), + c = r(1140).createMesh; + t.exports.createTubeMesh = function (t, e) { + return c(t, e, { + shaders: u, + traceType: "streamtube", + }); + }; + }, + 9054: function (t, e, r) { + var n = r(5158), + i = r(6832), + a = i([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\nuniform vec3 objectOffset;\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 vec3 localCoordinate = vec3(uv.zw, f.x);\n worldCoordinate = objectOffset + localCoordinate;\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", + ]), + o = i([ + "precision highp 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\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\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 (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\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 — in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n 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", + ]), + s = i([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\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 worldCoordinate = objectOffset + dataCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n\n vec4 clipPosition = projection * view * worldPosition;\n clipPosition.z += zOffset;\n\n gl_Position = clipPosition;\n value = f + objectOffset.z;\n kill = -1.0;\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", + ]), + l = i([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) 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", + ]); + (e.createShader = function (t) { + var e = n(t, a, o, 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 + ); + }), + (e.createPickShader = function (t) { + var e = n(t, a, l, 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 + ); + }), + (e.createContourShader = function (t) { + var e = n(t, s, o, null, [ + { name: "uv", type: "vec4" }, + { name: "f", type: "float" }, + ]); + return ( + (e.attributes.uv.location = 0), + (e.attributes.f.location = 1), + e + ); + }), + (e.createPickContourShader = function (t) { + var e = n(t, s, l, null, [ + { name: "uv", type: "vec4" }, + { name: "f", type: "float" }, + ]); + return ( + (e.attributes.uv.location = 0), + (e.attributes.f.location = 1), + e + ); + }); + }, + 3754: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.gl, + r = m(e), + n = b(e), + s = x(e), + l = _(e), + u = i(e), + c = a(e, [ + { + buffer: u, + size: 4, + stride: 40, + offset: 0, + }, + { + buffer: u, + size: 3, + stride: 40, + offset: 16, + }, + { + buffer: u, + size: 3, + stride: 40, + offset: 28, + }, + ]), + f = i(e), + h = a(e, [ + { + buffer: f, + size: 4, + stride: 20, + offset: 0, + }, + { + buffer: f, + size: 1, + stride: 20, + offset: 16, + }, + ]), + p = i(e), + d = a(e, [ + { buffer: p, size: 2, type: e.FLOAT }, + ]), + v = o(e, 1, 256, e.RGBA, e.UNSIGNED_BYTE); + (v.minFilter = e.LINEAR), + (v.magFilter = e.LINEAR); + var g = new M( + e, + [0, 0], + [ + [0, 0, 0], + [0, 0, 0], + ], + r, + n, + u, + c, + v, + s, + l, + f, + h, + p, + d, + [0, 0, 0], + ), + y = { levels: [[], [], []] }; + for (var w in t) y[w] = t[w]; + return ( + (y.colormap = y.colormap || "jet"), + g.update(y), + g + ); + }; + var n = r(2288), + i = r(5827), + a = r(2944), + o = r(8931), + s = r(5306), + l = r(9156), + u = r(7498), + c = r(7382), + f = r(5050), + h = r(4162), + p = r(104), + d = r(7437), + v = r(5070), + g = r(9144), + y = r(9054), + m = y.createShader, + x = y.createContourShader, + b = y.createPickShader, + _ = y.createPickContourShader, + w = [ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 1, + ], + T = [ + [0, 0], + [0, 1], + [1, 0], + [1, 1], + [1, 0], + [0, 1], + ], + k = [ + [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 A(t, e, r, n, i) { + (this.position = t), + (this.index = e), + (this.uv = r), + (this.level = n), + (this.dataCoordinate = i); + } + function M( + t, + e, + r, + n, + i, + a, + o, + l, + u, + c, + h, + p, + d, + v, + g, + ) { + (this.gl = t), + (this.shape = e), + (this.bounds = r), + (this.objectOffset = g), + (this.intensityBounds = []), + (this._shader = n), + (this._pickShader = i), + (this._coordinateBuffer = a), + (this._vao = o), + (this._colorMap = l), + (this._contourShader = u), + (this._contourPickShader = c), + (this._contourBuffer = h), + (this._contourVAO = p), + (this._contourOffsets = [[], [], []]), + (this._contourCounts = [[], [], []]), + (this._vertexCount = 0), + (this._pickResult = new A( + [0, 0, 0], + [0, 0], + [0, 0], + [0, 0, 0], + [0, 0, 0], + )), + (this._dynamicBuffer = d), + (this._dynamicVAO = v), + (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 = [ + [0.5, 0.5, 0.5, 1], + [0.5, 0.5, 0.5, 1], + [0.5, 0.5, 0.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 = [ + f(s.mallocFloat(1024), [0, 0]), + f(s.mallocFloat(1024), [0, 0]), + f(s.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.pixelRatio = 1), + (this.opacity = 1), + (this.lightPosition = [10, 1e4, 0]), + (this.ambientLight = 0.8), + (this.diffuseLight = 0.8), + (this.specularLight = 2), + (this.roughness = 0.5), + (this.fresnel = 1.5), + (this.vertexColor = 0), + (this.dirty = !0); + } + !(function () { + for (var t = 0; t < 3; ++t) { + var e = k[t], + r = (t + 2) % 3; + (e[((t + 1) % 3) + 0] = 1), + (e[r + 3] = 1), + (e[t + 6] = 1); + } + })(); + var S = M.prototype; + (S.genColormap = function (t, e) { + var r = !1, + n = c([ + l({ + colormap: t, + nshades: 256, + format: "rgba", + }).map(function (t, n) { + var i = e + ? (function (t, e) { + if (!e) return 1; + if (!e.length) return 1; + for (var r = 0; r < e.length; ++r) { + if (e.length < 2) return 1; + if (e[r][0] === t) return e[r][1]; + if (e[r][0] > t && r > 0) { + var n = + (e[r][0] - t) / + (e[r][0] - e[r - 1][0]); + return ( + e[r][1] * (1 - n) + + n * e[r - 1][1] + ); + } + } + return 1; + })(n / 255, e) + : t[3]; + return ( + i < 1 && (r = !0), + [t[0], t[1], t[2], 255 * i] + ); + }), + ]); + return ( + u.divseq(n, 255), (this.hasAlphaScale = r), n + ); + }), + (S.isTransparent = function () { + return this.opacity < 1 || this.hasAlphaScale; + }), + (S.isOpaque = function () { + return !this.isTransparent(); + }), + (S.pickSlots = 1), + (S.setPickBase = function (t) { + this.pickId = t; + }); + var E = [0, 0, 0], + L = { + showSurface: !1, + showContour: !1, + projections: [ + w.slice(), + w.slice(), + w.slice(), + ], + clipBounds: [ + [ + [0, 0, 0], + [0, 0, 0], + ], + [ + [0, 0, 0], + [0, 0, 0], + ], + [ + [0, 0, 0], + [0, 0, 0], + ], + ], + }; + function C(t, e) { + var r, + n, + i, + a = + (e.axes && e.axes.lastCubeProps.axis) || E, + 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 = L.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]), + p(l, t.model, l); + var u = L.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 ( + (L.showSurface = o), (L.showContour = s), L + ); + } + var P = { + model: w, + view: w, + projection: w, + inverseModel: w.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, + objectOffset: [0, 0, 0], + kambient: 1, + kdiffuse: 1, + kspecular: 1, + lightPosition: [1e3, 1e3, 1e3], + eyePosition: [0, 0, 0], + roughness: 1, + fresnel: 1, + opacity: 1, + vertexColor: 0, + }, + O = w.slice(), + I = [1, 0, 0, 0, 1, 0, 0, 0, 1]; + function D(t, e) { + t = t || {}; + var r = this.gl; + r.disable(r.CULL_FACE), this._colorMap.bind(0); + var n = P; + (n.model = t.model || w), + (n.view = t.view || w), + (n.projection = t.projection || w), + (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.objectOffset = this.objectOffset), + (n.contourColor = this.contourColor[0]), + (n.inverseModel = d(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 = I), + (n.vertexColor = this.vertexColor); + var s = O; + for ( + p(s, n.view, n.model), + p(s, n.projection, s), + d(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 = C(n, this); + if (c.showSurface) { + 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) { + var f = this._contourShader; + (n.kambient = 1), + (n.kdiffuse = 0), + (n.kspecular = 0), + (n.opacity = 1), + f.bind(), + (f.uniforms = n); + var h = this._contourVAO; + for (h.bind(), i = 0; i < 3; ++i) + for ( + f.uniforms.permutation = k[i], + r.lineWidth( + this.contourWidth[i] * + this.pixelRatio, + ), + o = 0; + o < this.contourLevels[i].length; + ++o + ) + o === this.highlightLevel[i] + ? ((f.uniforms.contourColor = + this.highlightColor[i]), + (f.uniforms.contourTint = + this.highlightTint[i])) + : (0 !== o && + o - 1 !== this.highlightLevel[i]) || + ((f.uniforms.contourColor = + this.contourColor[i]), + (f.uniforms.contourTint = + this.contourTint[i])), + this._contourCounts[i][o] && + ((f.uniforms.height = + this.contourLevels[i][o]), + h.draw( + r.LINES, + this._contourCounts[i][o], + this._contourOffsets[i][o], + )); + for (i = 0; i < 3; ++i) + for ( + f.uniforms.model = c.projections[i], + f.uniforms.clipBounds = c.clipBounds[i], + o = 0; + o < 3; + ++o + ) + if (this.contourProject[i][o]) { + (f.uniforms.permutation = k[o]), + r.lineWidth( + this.contourWidth[o] * + this.pixelRatio, + ); + for ( + var v = 0; + v < this.contourLevels[o].length; + ++v + ) + v === this.highlightLevel[o] + ? ((f.uniforms.contourColor = + this.highlightColor[o]), + (f.uniforms.contourTint = + this.highlightTint[o])) + : (0 !== v && + v - 1 !== + this.highlightLevel[o]) || + ((f.uniforms.contourColor = + this.contourColor[o]), + (f.uniforms.contourTint = + this.contourTint[o])), + this._contourCounts[o][v] && + ((f.uniforms.height = + this.contourLevels[o][v]), + h.draw( + r.LINES, + this._contourCounts[o][v], + this._contourOffsets[o][v], + )); + } + for ( + h.unbind(), + (h = this._dynamicVAO).bind(), + i = 0; + i < 3; + ++i + ) + if (0 !== this._dynamicCounts[i]) + for ( + f.uniforms.model = n.model, + f.uniforms.clipBounds = n.clipBounds, + f.uniforms.permutation = k[i], + r.lineWidth( + this.dynamicWidth[i] * + this.pixelRatio, + ), + f.uniforms.contourColor = + this.dynamicColor[i], + f.uniforms.contourTint = + this.dynamicTint[i], + f.uniforms.height = + this.dynamicLevel[i], + h.draw( + r.LINES, + this._dynamicCounts[i], + this._dynamicOffsets[i], + ), + o = 0; + o < 3; + ++o + ) + this.contourProject[o][i] && + ((f.uniforms.model = + c.projections[o]), + (f.uniforms.clipBounds = + c.clipBounds[o]), + h.draw( + r.LINES, + this._dynamicCounts[i], + this._dynamicOffsets[i], + )); + h.unbind(); + } + } + (S.draw = function (t) { + return D.call(this, t, !1); + }), + (S.drawTransparent = function (t) { + return D.call(this, t, !0); + }); + var z = { + model: w, + view: w, + projection: w, + inverseModel: w, + clipBounds: [ + [0, 0, 0], + [0, 0, 0], + ], + height: 0, + shape: [0, 0], + pickId: 0, + lowerBound: [0, 0, 0], + upperBound: [0, 0, 0], + zOffset: 0, + objectOffset: [0, 0, 0], + permutation: [1, 0, 0, 0, 1, 0, 0, 0, 1], + lightPosition: [0, 0, 0], + eyePosition: [0, 0, 0], + }; + function R(t, e) { + return Array.isArray(t) + ? [e(t[0]), e(t[1]), e(t[2])] + : [e(t), e(t), e(t)]; + } + function F(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 B(t) { + if (Array.isArray(t)) { + if (Array.isArray(t)) + return [F(t[0]), F(t[1]), F(t[2])]; + var e = F(t); + return [e.slice(), e.slice(), e.slice()]; + } + } + (S.drawPick = function (t) { + t = t || {}; + var e = this.gl; + e.disable(e.CULL_FACE); + var r = z; + (r.model = t.model || w), + (r.view = t.view || w), + (r.projection = t.projection || w), + (r.shape = this._field[2].shape), + (r.pickId = this.pickId / 255), + (r.lowerBound = this.bounds[0]), + (r.upperBound = this.bounds[1]), + (r.objectOffset = this.objectOffset), + (r.permutation = I); + 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 = C(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] * this.pixelRatio, + ), + s.uniforms.permutation = k[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 = k[a]), + e.lineWidth( + this.contourWidth[a] * + this.pixelRatio, + ); + 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(); + } + }), + (S.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 f = c ? a : 1 - a, h = 0; + h < 2; + ++h + ) + for ( + var p = i + c, + d = s + h, + g = f * (h ? l : 1 - l), + y = 0; + y < 3; + ++y + ) + u[y] += this._field[y].get(p, d) * g; + for ( + var m = this._pickResult.level, x = 0; + x < 3; + ++x + ) + if ( + ((m[x] = v.le( + this.contourLevels[x], + u[x], + )), + m[x] < 0) + ) + this.contourLevels[x].length > 0 && + (m[x] = 0); + else if ( + m[x] < + this.contourLevels[x].length - 1 + ) { + var b = this.contourLevels[x][m[x]], + _ = this.contourLevels[x][m[x] + 1]; + Math.abs(b - u[x]) > Math.abs(_ - u[x]) && + (m[x] += 1); + } + for ( + r.index[0] = a < 0.5 ? i : i + 1, + r.index[1] = l < 0.5 ? s : s + 1, + r.uv[0] = n / e[0], + r.uv[1] = o / e[1], + y = 0; + y < 3; + ++y + ) + r.dataCoordinate[y] = this._field[y].get( + r.index[0], + r.index[1], + ); + return r; + }), + (S.padField = function (t, e) { + var r = e.shape.slice(), + n = t.shape.slice(); + u.assign(t.lo(1, 1).hi(r[0], r[1]), e), + u.assign( + t.lo(1).hi(r[0], 1), + e.hi(r[0], 1), + ), + u.assign( + t.lo(1, n[1] - 1).hi(r[0], 1), + e.lo(0, r[1] - 1).hi(r[0], 1), + ), + u.assign(t.lo(0, 1).hi(1, r[1]), e.hi(1)), + u.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), + ); + }), + (S.update = function (t) { + (t = t || {}), + (this.objectOffset = + t.objectOffset || this.objectOffset), + (this.dirty = !0), + "contourWidth" in t && + (this.contourWidth = R( + t.contourWidth, + Number, + )), + "showContour" in t && + (this.showContour = R( + t.showContour, + Boolean, + )), + "showSurface" in t && + (this.showSurface = !!t.showSurface), + "contourTint" in t && + (this.contourTint = R( + t.contourTint, + Boolean, + )), + "contourColor" in t && + (this.contourColor = B(t.contourColor)), + "contourProject" in t && + (this.contourProject = R( + t.contourProject, + function (t) { + return R(t, Boolean); + }, + )), + "surfaceProject" in t && + (this.surfaceProject = t.surfaceProject), + "dynamicColor" in t && + (this.dynamicColor = B(t.dynamicColor)), + "dynamicTint" in t && + (this.dynamicTint = R( + t.dynamicTint, + Number, + )), + "dynamicWidth" in t && + (this.dynamicWidth = R( + t.dynamicWidth, + Number, + )), + "opacity" in t && + (this.opacity = t.opacity), + "opacityscale" in t && + (this.opacityscale = t.opacityscale), + "colorBounds" in t && + (this.colorBounds = t.colorBounds), + "vertexColor" in t && + (this.vertexColor = t.vertexColor + ? 1 + : 0), + "colormap" in t && + this._colorMap.setPixels( + this.genColormap( + t.colormap, + this.opacityscale, + ), + ); + 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 i = (e.shape[0] + 2) * (e.shape[1] + 2); + i > this._field[2].data.length && + (s.freeFloat(this._field[2].data), + (this._field[2].data = s.mallocFloat( + n.nextPow2(i), + ))), + (this._field[2] = f(this._field[2].data, [ + e.shape[0] + 2, + e.shape[1] + 2, + ])), + this.padField(this._field[2], e), + (this.shape = e.shape.slice()); + for (var a = this.shape, o = 0; o < 2; ++o) + this._field[2].size > + this._field[o].data.length && + (s.freeFloat(this._field[o].data), + (this._field[o].data = s.mallocFloat( + this._field[2].size, + ))), + (this._field[o] = f( + this._field[o].data, + [a[0] + 2, a[1] + 2], + )); + if (t.coords) { + var l = t.coords; + if (!Array.isArray(l) || 3 !== l.length) + throw new Error( + "gl-surface: invalid coordinates for x/y", + ); + for (o = 0; o < 2; ++o) { + var u = l[o]; + for (y = 0; y < 2; ++y) + if (u.shape[y] !== a[y]) + throw new Error( + "gl-surface: coords have incorrect shape", + ); + this.padField(this._field[o], u); + } + } else if (t.ticks) { + var c = t.ticks; + if (!Array.isArray(c) || 2 !== c.length) + throw new Error( + "gl-surface: invalid ticks", + ); + for (o = 0; o < 2; ++o) { + var p = c[o]; + if ( + ((Array.isArray(p) || p.length) && + (p = f(p)), + p.shape[0] !== a[o]) + ) + throw new Error( + "gl-surface: invalid tick length", + ); + var d = f(p.data, a); + (d.stride[o] = p.stride[0]), + (d.stride[1 ^ o] = 0), + this.padField(this._field[o], d); + } + } else { + for (o = 0; o < 2; ++o) { + var v = [0, 0]; + (v[o] = 1), + (this._field[o] = f( + this._field[o].data, + [a[0] + 2, a[1] + 2], + v, + 0, + )); + } + this._field[0].set(0, 0, 0); + for (var y = 0; y < a[0]; ++y) + this._field[0].set(y + 1, 0, y); + for ( + this._field[0].set( + a[0] + 1, + 0, + a[0] - 1, + ), + this._field[1].set(0, 0, 0), + y = 0; + y < a[1]; + ++y + ) + this._field[1].set(0, y + 1, y); + this._field[1].set(0, a[1] + 1, a[1] - 1); + } + var m = this._field, + x = f(s.mallocFloat(3 * m[2].size * 2), [ + 3, + a[0] + 2, + a[1] + 2, + 2, + ]); + for (o = 0; o < 3; ++o) + g(x.pick(o), m[o], "mirror"); + var b = f(s.mallocFloat(3 * m[2].size), [ + a[0] + 2, + a[1] + 2, + 3, + ]); + for (o = 0; o < a[0] + 2; ++o) + for (y = 0; y < a[1] + 2; ++y) { + var _ = x.get(0, o, y, 0), + w = x.get(0, o, y, 1), + k = x.get(1, o, y, 0), + A = x.get(1, o, y, 1), + M = x.get(2, o, y, 0), + S = x.get(2, o, y, 1), + E = k * S - A * M, + L = M * w - S * _, + C = _ * A - w * k, + P = Math.sqrt(E * E + L * L + C * C); + P < 1e-8 + ? (P = Math.max( + Math.abs(E), + Math.abs(L), + Math.abs(C), + )) < 1e-8 + ? ((C = 1), (L = E = 0), (P = 1)) + : (P = 1 / P) + : (P = 1 / Math.sqrt(P)), + b.set(o, y, 0, E * P), + b.set(o, y, 1, L * P), + b.set(o, y, 2, C * P); + } + s.free(x.data); + var O = [1 / 0, 1 / 0, 1 / 0], + I = [-1 / 0, -1 / 0, -1 / 0], + D = 1 / 0, + z = -1 / 0, + F = (a[0] - 1) * (a[1] - 1) * 6, + N = s.mallocFloat(n.nextPow2(10 * F)), + j = 0, + U = 0; + for (o = 0; o < a[0] - 1; ++o) + t: for (y = 0; y < a[1] - 1; ++y) { + for (var V = 0; V < 2; ++V) + for (var H = 0; H < 2; ++H) + for (var q = 0; q < 3; ++q) { + var G = this._field[q].get( + 1 + o + V, + 1 + y + H, + ); + if (isNaN(G) || !isFinite(G)) + continue t; + } + for (q = 0; q < 6; ++q) { + var Z = o + T[q][0], + Y = y + T[q][1], + W = this._field[0].get( + Z + 1, + Y + 1, + ), + X = this._field[1].get( + Z + 1, + Y + 1, + ); + (G = this._field[2].get( + Z + 1, + Y + 1, + )), + (E = b.get(Z + 1, Y + 1, 0)), + (L = b.get(Z + 1, Y + 1, 1)), + (C = b.get(Z + 1, Y + 1, 2)), + t.intensity && + (J = t.intensity.get(Z, Y)); + var J = t.intensity + ? t.intensity.get(Z, Y) + : G + this.objectOffset[2]; + (N[j++] = Z), + (N[j++] = Y), + (N[j++] = W), + (N[j++] = X), + (N[j++] = G), + (N[j++] = 0), + (N[j++] = J), + (N[j++] = E), + (N[j++] = L), + (N[j++] = C), + (O[0] = Math.min( + O[0], + W + this.objectOffset[0], + )), + (O[1] = Math.min( + O[1], + X + this.objectOffset[1], + )), + (O[2] = Math.min( + O[2], + G + this.objectOffset[2], + )), + (D = Math.min(D, J)), + (I[0] = Math.max( + I[0], + W + this.objectOffset[0], + )), + (I[1] = Math.max( + I[1], + X + this.objectOffset[1], + )), + (I[2] = Math.max( + I[2], + G + this.objectOffset[2], + )), + (z = Math.max(z, J)), + (U += 1); + } + } + for ( + t.intensityBounds && + ((D = +t.intensityBounds[0]), + (z = +t.intensityBounds[1])), + o = 6; + o < j; + o += 10 + ) + N[o] = (N[o] - D) / (z - D); + (this._vertexCount = U), + this._coordinateBuffer.update( + N.subarray(0, j), + ), + s.freeFloat(N), + s.free(b.data), + (this.bounds = [O, I]), + (this.intensity = + t.intensity || this._field[2]), + (this.intensityBounds[0] === D && + this.intensityBounds[1] === z) || + (r = !0), + (this.intensityBounds = [D, z]); + } + if ("levels" in t) { + var K = t.levels; + for ( + K = Array.isArray(K[0]) + ? K.slice() + : [[], [], K], + o = 0; + o < 3; + ++o + ) + (K[o] = K[o].slice()), + K[o].sort(function (t, e) { + return t - e; + }); + for (o = 0; o < 3; ++o) + for (y = 0; y < K[o].length; ++y) + K[o][y] -= this.objectOffset[o]; + t: for (o = 0; o < 3; ++o) { + if ( + K[o].length !== + this.contourLevels[o].length + ) { + r = !0; + break; + } + for (y = 0; y < K[o].length; ++y) + if ( + K[o][y] !== this.contourLevels[o][y] + ) { + r = !0; + break t; + } + } + this.contourLevels = K; + } + if (r) { + (m = this._field), (a = this.shape); + for (var $ = [], Q = 0; Q < 3; ++Q) { + var tt = this.contourLevels[Q], + et = [], + rt = [], + nt = [0, 0, 0]; + for (o = 0; o < tt.length; ++o) { + var it = h(this._field[Q], tt[o]); + et.push(($.length / 5) | 0), (U = 0); + t: for ( + y = 0; + y < it.cells.length; + ++y + ) { + var at = it.cells[y]; + for (q = 0; q < 2; ++q) { + var ot = it.positions[at[q]], + st = ot[0], + lt = 0 | Math.floor(st), + ut = st - lt, + ct = ot[1], + ft = 0 | Math.floor(ct), + ht = ct - ft, + pt = !1; + e: for (var dt = 0; dt < 3; ++dt) { + nt[dt] = 0; + var vt = (Q + dt + 1) % 3; + for (V = 0; V < 2; ++V) { + var gt = V ? ut : 1 - ut; + for ( + Z = + 0 | + Math.min( + Math.max(lt + V, 0), + a[0], + ), + H = 0; + H < 2; + ++H + ) { + var yt = H ? ht : 1 - ht; + if ( + ((Y = + 0 | + Math.min( + Math.max(ft + H, 0), + a[1], + )), + (G = + dt < 2 + ? this._field[vt].get( + Z, + Y, + ) + : (this.intensity.get( + Z, + Y, + ) - + this + .intensityBounds[0]) / + (this + .intensityBounds[1] - + this + .intensityBounds[0])), + !isFinite(G) || isNaN(G)) + ) { + pt = !0; + break e; + } + var mt = gt * yt; + nt[dt] += mt * G; + } + } + } + if (pt) { + if (q > 0) { + for (var xt = 0; xt < 5; ++xt) + $.pop(); + U -= 1; + } + continue t; + } + $.push( + nt[0], + nt[1], + ot[0], + ot[1], + nt[2], + ), + (U += 1); + } + } + rt.push(U); + } + (this._contourOffsets[Q] = et), + (this._contourCounts[Q] = rt); + } + var bt = s.mallocFloat($.length); + for (o = 0; o < $.length; ++o) bt[o] = $[o]; + this._contourBuffer.update(bt), + s.freeFloat(bt); + } + }), + (S.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) + s.freeFloat(this._field[t].data); + }), + (S.highlight = function (t) { + var e, r; + if (!t) + return ( + (this._dynamicCounts = [0, 0, 0]), + (this.dyanamicLevel = [NaN, NaN, NaN]), + void (this.highlightLevel = [-1, -1, -1]) + ); + for (e = 0; e < 3; ++e) + this.enableHighlight[e] + ? (this.highlightLevel[e] = t.level[e]) + : (this.highlightLevel[e] = -1); + for ( + r = this.snapToData + ? t.dataCoordinate + : t.position, + e = 0; + e < 3; + ++e + ) + r[e] -= this.objectOffset[e]; + if ( + (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 = s.mallocFloat(12 * i[0] * i[1]), + o = 0; + o < 3; + ++o + ) + if (this.enableDynamic[o]) { + this.dynamicLevel[o] = r[o]; + var l = (o + 1) % 3, + u = (o + 2) % 3, + c = this._field[o], + f = this._field[l], + p = this._field[u], + d = h(c, r[o]), + v = d.cells, + g = d.positions; + for ( + this._dynamicOffsets[o] = n, e = 0; + e < v.length; + ++e + ) + for ( + var y = v[e], m = 0; + m < 2; + ++m + ) { + var x = g[y[m]], + b = +x[0], + _ = 0 | b, + w = 0 | Math.min(_ + 1, i[0]), + T = b - _, + k = 1 - T, + A = +x[1], + M = 0 | A, + S = 0 | Math.min(M + 1, i[1]), + E = A - M, + L = 1 - E, + C = k * L, + P = k * E, + O = T * L, + I = T * E, + D = + C * f.get(_, M) + + P * f.get(_, S) + + O * f.get(w, M) + + I * f.get(w, S), + z = + C * p.get(_, M) + + P * p.get(_, S) + + O * p.get(w, M) + + I * p.get(w, S); + if (isNaN(D) || isNaN(z)) { + m && (n -= 1); + break; + } + (a[2 * n + 0] = D), + (a[2 * n + 1] = z), + (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), + ), + s.freeFloat(a); + } + }); + }, + 8931: function (t, e, r) { + "use strict"; + var n = r(5050), + i = r(7498), + a = r(5306); + t.exports = function (t) { + if (arguments.length <= 1) + throw new Error( + "gl-texture2d: Missing arguments for texture2d constructor", + ); + if ( + (o || u(t), "number" == typeof arguments[1]) + ) + return y( + t, + arguments[1], + arguments[2], + arguments[3] || t.RGBA, + arguments[4] || t.UNSIGNED_BYTE, + ); + if (Array.isArray(arguments[1])) + return y( + 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 = c(e) ? e : e.raw; + if (r) + return m( + 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 x(t, e); + } + throw new Error( + "gl-texture2d: Invalid arguments for texture2d constructor", + ); + }; + var o = null, + s = null, + l = null; + function u(t) { + (o = [ + t.LINEAR, + t.NEAREST_MIPMAP_LINEAR, + t.LINEAR_MIPMAP_NEAREST, + t.LINEAR_MIPMAP_NEAREST, + ]), + (s = [ + t.NEAREST, + t.LINEAR, + t.NEAREST_MIPMAP_NEAREST, + t.NEAREST_MIPMAP_LINEAR, + t.LINEAR_MIPMAP_NEAREST, + t.LINEAR_MIPMAP_LINEAR, + ]), + (l = [ + t.REPEAT, + t.CLAMP_TO_EDGE, + t.MIRRORED_REPEAT, + ]); + } + function c(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 f = function (t, e) { + i.muls(t, e, 255); + }; + function h(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 p(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 d = p.prototype; + function v(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 g(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 y(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 = g(t); + return ( + t.texImage2D( + t.TEXTURE_2D, + 0, + n, + e, + r, + 0, + n, + i, + null, + ), + new p(t, o, e, r, n, i) + ); + } + function m(t, e, r, n, i, a) { + var o = g(t); + return ( + t.texImage2D(t.TEXTURE_2D, 0, i, i, a, e), + new p(t, o, r, n, i, a) + ); + } + function x(t, e) { + var r = e.dtype, + o = e.shape.slice(), + s = t.getParameter(t.MAX_TEXTURE_SIZE); + if ( + o[0] < 0 || + o[0] > s || + o[1] < 0 || + o[1] > s + ) + throw new Error( + "gl-texture2d: Invalid texture size", + ); + var l = v(o, e.stride.slice()), + u = 0; + "float32" === r + ? (u = t.FLOAT) + : "float64" === r + ? ((u = t.FLOAT), (l = !1), (r = "float32")) + : "uint8" === r + ? (u = t.UNSIGNED_BYTE) + : ((u = t.UNSIGNED_BYTE), + (l = !1), + (r = "uint8")); + var c, + h, + d = 0; + if (2 === o.length) + (d = t.LUMINANCE), + (o = [o[0], o[1], 1]), + (e = n( + e.data, + o, + [e.stride[0], e.stride[1], 1], + e.offset, + )); + else { + if (3 !== o.length) + throw new Error( + "gl-texture2d: Invalid shape for texture", + ); + if (1 === o[2]) d = t.ALPHA; + else if (2 === o[2]) d = t.LUMINANCE_ALPHA; + else if (3 === o[2]) d = t.RGB; + else { + if (4 !== o[2]) + throw new Error( + "gl-texture2d: Invalid shape for pixel coords", + ); + d = t.RGBA; + } + } + u !== t.FLOAT || + t.getExtension("OES_texture_float") || + ((u = t.UNSIGNED_BYTE), (l = !1)); + var y = e.size; + if (l) + c = + 0 === e.offset && e.data.length === y + ? e.data + : e.data.subarray(e.offset, e.offset + y); + else { + var m = [o[2], o[2] * o[0], 1]; + h = a.malloc(y, r); + var x = n(h, o, m, 0); + ("float32" !== r && "float64" !== r) || + u !== t.UNSIGNED_BYTE + ? i.assign(x, e) + : f(x, e), + (c = h.subarray(0, y)); + } + var b = g(t); + return ( + t.texImage2D( + t.TEXTURE_2D, + 0, + d, + o[0], + o[1], + 0, + d, + u, + c, + ), + l || a.free(h), + new p(t, b, o[0], o[1], d, u) + ); + } + Object.defineProperties(d, { + minFilter: { + get: function () { + return this._minFilter; + }, + set: function (t) { + this.bind(); + var e = this.gl; + if ( + (this.type === e.FLOAT && + o.indexOf(t) >= 0 && + (e.getExtension( + "OES_texture_float_linear", + ) || + (t = e.NEAREST)), + s.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 && + o.indexOf(t) >= 0 && + (e.getExtension( + "OES_texture_float_linear", + ) || + (t = e.NEAREST)), + s.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(), l.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(), l.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 (l.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 ( + h(this, 0 | t[0], 0 | t[1]), + [0 | t[0], 0 | t[1]] + ); + }, + }, + width: { + get: function () { + return this._shape[0]; + }, + set: function (t) { + return h(this, (t |= 0), this._shape[1]), t; + }, + }, + height: { + get: function () { + return this._shape[1]; + }, + set: function (t) { + return ( + (t |= 0), h(this, this._shape[0], t), t + ); + }, + }, + }), + (d.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 + ); + }), + (d.dispose = function () { + this.gl.deleteTexture(this.handle); + }), + (d.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); + }), + (d.setPixels = function (t, e, r, o) { + var s = this.gl; + this.bind(), + Array.isArray(e) + ? ((o = r), + (r = 0 | e[1]), + (e = 0 | e[0])) + : ((e = e || 0), (r = r || 0)), + (o = o || 0); + var l = c(t) ? t : t.raw; + if (l) + this._mipLevels.indexOf(o) < 0 + ? (s.texImage2D( + s.TEXTURE_2D, + 0, + this.format, + this.format, + this.type, + l, + ), + this._mipLevels.push(o)) + : s.texSubImage2D( + s.TEXTURE_2D, + o, + e, + r, + this.format, + this.type, + l, + ); + 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] >>> o || + r + t.shape[0] > this._shape[0] >>> o || + e < 0 || + r < 0 + ) + throw new Error( + "gl-texture2d: Texture dimensions are out of bounds", + ); + !(function (t, e, r, o, s, l, u, c) { + var h = c.dtype, + p = c.shape.slice(); + if (p.length < 2 || p.length > 3) + throw new Error( + "gl-texture2d: Invalid ndarray, must be 2d or 3d", + ); + var d = 0, + g = 0, + y = v(p, c.stride.slice()); + if ( + ("float32" === h + ? (d = t.FLOAT) + : "float64" === h + ? ((d = t.FLOAT), + (y = !1), + (h = "float32")) + : "uint8" === h + ? (d = t.UNSIGNED_BYTE) + : ((d = t.UNSIGNED_BYTE), + (y = !1), + (h = "uint8")), + 2 === p.length) + ) + (g = t.LUMINANCE), + (p = [p[0], p[1], 1]), + (c = n( + c.data, + p, + [c.stride[0], c.stride[1], 1], + c.offset, + )); + else { + if (3 !== p.length) + throw new Error( + "gl-texture2d: Invalid shape for texture", + ); + if (1 === p[2]) g = t.ALPHA; + else if (2 === p[2]) + g = t.LUMINANCE_ALPHA; + else if (3 === p[2]) g = t.RGB; + else { + if (4 !== p[2]) + throw new Error( + "gl-texture2d: Invalid shape for pixel coords", + ); + g = t.RGBA; + } + p[2]; + } + if ( + ((g !== t.LUMINANCE && g !== t.ALPHA) || + (s !== t.LUMINANCE && + s !== t.ALPHA) || + (g = s), + g !== s) + ) + throw new Error( + "gl-texture2d: Incompatible texture format for setPixels", + ); + var m = c.size, + x = u.indexOf(o) < 0; + if ((x && u.push(o), d === l && y)) + 0 === c.offset && c.data.length === m + ? x + ? t.texImage2D( + t.TEXTURE_2D, + o, + s, + p[0], + p[1], + 0, + s, + l, + c.data, + ) + : t.texSubImage2D( + t.TEXTURE_2D, + o, + e, + r, + p[0], + p[1], + s, + l, + c.data, + ) + : x + ? t.texImage2D( + t.TEXTURE_2D, + o, + s, + p[0], + p[1], + 0, + s, + l, + c.data.subarray( + c.offset, + c.offset + m, + ), + ) + : t.texSubImage2D( + t.TEXTURE_2D, + o, + e, + r, + p[0], + p[1], + s, + l, + c.data.subarray( + c.offset, + c.offset + m, + ), + ); + else { + var b; + b = + l === t.FLOAT + ? a.mallocFloat32(m) + : a.mallocUint8(m); + var _ = n(b, p, [p[2], p[2] * p[0], 1]); + d === t.FLOAT && l === t.UNSIGNED_BYTE + ? f(_, c) + : i.assign(_, c), + x + ? t.texImage2D( + t.TEXTURE_2D, + o, + s, + p[0], + p[1], + 0, + s, + l, + b.subarray(0, m), + ) + : t.texSubImage2D( + t.TEXTURE_2D, + o, + e, + r, + p[0], + p[1], + s, + l, + b.subarray(0, m), + ), + l === t.FLOAT + ? a.freeFloat32(b) + : a.freeUint8(b); + } + })( + s, + e, + r, + o, + this.format, + this.type, + this._mipLevels, + t, + ); + } + }); + }, + 3056: function (t) { + "use strict"; + t.exports = 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, + f = a.offset || 0; + o.bind(), + t.enableVertexAttribArray(i), + t.vertexAttribPointer(i, s, l, u, c, f); + } 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); + }; + }, + 7220: function (t, e, r) { + "use strict"; + var n = r(3056); + function i(t) { + (this.gl = t), + (this._elements = null), + (this._attributes = null), + (this._elementsType = t.UNSIGNED_SHORT); + } + (i.prototype.bind = function () { + n(this.gl, this._elements, this._attributes); + }), + (i.prototype.update = function (t, e, r) { + (this._elements = e), + (this._attributes = t), + (this._elementsType = + r || this.gl.UNSIGNED_SHORT); + }), + (i.prototype.dispose = function () {}), + (i.prototype.unbind = function () {}), + (i.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); + }), + (t.exports = function (t) { + return new i(t); + }); + }, + 3778: function (t, e, r) { + "use strict"; + var n = r(3056); + function i(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 a(t, e, r) { + (this.gl = t), + (this._ext = e), + (this.handle = r), + (this._attribs = []), + (this._useElements = !1), + (this._elementsType = t.UNSIGNED_SHORT); + } + (i.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, + ); + } + }), + (a.prototype.bind = function () { + this._ext.bindVertexArrayOES(this.handle); + for (var t = 0; t < this._attribs.length; ++t) + this._attribs[t].bind(this.gl); + }), + (a.prototype.unbind = function () { + this._ext.bindVertexArrayOES(null); + }), + (a.prototype.dispose = function () { + this._ext.deleteVertexArrayOES(this.handle); + }), + (a.prototype.update = function (t, e, r) { + if ( + (this.bind(), + n(this.gl, e, t), + this.unbind(), + (this._attribs.length = 0), + t) + ) + for (var a = 0; a < t.length; ++a) { + var o = t[a]; + "number" == typeof o + ? this._attribs.push(new i(a, 1, o)) + : Array.isArray(o) && + this._attribs.push( + new i( + a, + o.length, + o[0], + o[1], + o[2], + o[3], + ), + ); + } + (this._useElements = !!e), + (this._elementsType = + r || this.gl.UNSIGNED_SHORT); + }), + (a.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); + }), + (t.exports = function (t, e) { + return new a(t, e, e.createVertexArrayOES()); + }); + }, + 2944: function (t, e, r) { + "use strict"; + var n = r(3778), + i = r(7220); + function a(t) { + (this.bindVertexArrayOES = + t.bindVertexArray.bind(t)), + (this.createVertexArrayOES = + t.createVertexArray.bind(t)), + (this.deleteVertexArrayOES = + t.deleteVertexArray.bind(t)); + } + t.exports = function (t, e, r, o) { + var s, + l = t.createVertexArray + ? new a(t) + : t.getExtension("OES_vertex_array_object"); + return ( + (s = l ? n(t, l) : i(t)).update(e, r, o), s + ); + }; + }, + 2598: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] + r[0]), + (t[1] = e[1] + r[1]), + (t[2] = e[2] + r[2]), + t + ); + }; + }, + 5879: function (t, e, r) { + t.exports = function (t, e) { + var r = n(t[0], t[1], t[2]), + o = n(e[0], e[1], e[2]); + i(r, r), i(o, o); + var s = a(r, o); + return s > 1 ? 0 : Math.acos(s); + }; + var n = r(5415), + i = r(899), + a = r(9305); + }, + 8827: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = Math.ceil(e[0])), + (t[1] = Math.ceil(e[1])), + (t[2] = Math.ceil(e[2])), + t + ); + }; + }, + 7622: function (t) { + t.exports = function (t) { + var e = new Float32Array(3); + return ( + (e[0] = t[0]), (e[1] = t[1]), (e[2] = t[2]), e + ); + }; + }, + 8782: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), t + ); + }; + }, + 8501: function (t) { + t.exports = function () { + var t = new Float32Array(3); + return (t[0] = 0), (t[1] = 0), (t[2] = 0), t; + }; + }, + 903: function (t) { + t.exports = 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 + ); + }; + }, + 5981: function (t, e, r) { + t.exports = r(8288); + }, + 8288: function (t) { + t.exports = function (t, e) { + var r = e[0] - t[0], + n = e[1] - t[1], + i = e[2] - t[2]; + return Math.sqrt(r * r + n * n + i * i); + }; + }, + 8629: function (t, e, r) { + t.exports = r(7979); + }, + 7979: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] / r[0]), + (t[1] = e[1] / r[1]), + (t[2] = e[2] / r[2]), + t + ); + }; + }, + 9305: function (t) { + t.exports = function (t, e) { + return t[0] * e[0] + t[1] * e[1] + t[2] * e[2]; + }; + }, + 154: function (t) { + t.exports = 1e-6; + }, + 4932: function (t, e, r) { + t.exports = function (t, e) { + var r = t[0], + i = t[1], + a = t[2], + o = e[0], + s = e[1], + l = e[2]; + return ( + Math.abs(r - o) <= + n * Math.max(1, Math.abs(r), Math.abs(o)) && + Math.abs(i - s) <= + n * Math.max(1, Math.abs(i), Math.abs(s)) && + Math.abs(a - l) <= + n * Math.max(1, Math.abs(a), Math.abs(l)) + ); + }; + var n = r(154); + }, + 5777: function (t) { + t.exports = function (t, e) { + return ( + t[0] === e[0] && + t[1] === e[1] && + t[2] === e[2] + ); + }; + }, + 3306: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = Math.floor(e[0])), + (t[1] = Math.floor(e[1])), + (t[2] = Math.floor(e[2])), + t + ); + }; + }, + 7447: function (t, e, r) { + t.exports = function (t, e, r, i, a, o) { + var s, l; + for ( + e || (e = 3), + r || (r = 0), + l = i + ? Math.min(i * e + r, t.length) + : t.length, + s = r; + s < l; + s += e + ) + (n[0] = t[s]), + (n[1] = t[s + 1]), + (n[2] = t[s + 2]), + a(n, n, o), + (t[s] = n[0]), + (t[s + 1] = n[1]), + (t[s + 2] = n[2]); + return t; + }; + var n = r(8501)(); + }, + 5415: function (t) { + t.exports = function (t, e, r) { + var n = new Float32Array(3); + return (n[0] = t), (n[1] = e), (n[2] = r), n; + }; + }, + 2858: function (t, e, r) { + t.exports = { + EPSILON: r(154), + create: r(8501), + clone: r(7622), + angle: r(5879), + fromValues: r(5415), + copy: r(8782), + set: r(831), + equals: r(4932), + exactEquals: r(5777), + add: r(2598), + subtract: r(911), + sub: r(8921), + multiply: r(105), + mul: r(5733), + divide: r(7979), + div: r(8629), + min: r(3605), + max: r(1716), + floor: r(3306), + ceil: r(8827), + round: r(1624), + scale: r(5685), + scaleAndAdd: r(6722), + distance: r(8288), + dist: r(5981), + squaredDistance: r(6403), + sqrDist: r(5294), + length: r(4693), + len: r(1468), + squaredLength: r(4337), + sqrLen: r(3303), + negate: r(435), + inverse: r(2073), + normalize: r(899), + dot: r(9305), + cross: r(903), + lerp: r(1868), + random: r(6660), + transformMat4: r(3255), + transformMat3: r(9908), + transformQuat: r(6568), + rotateX: r(392), + rotateY: r(3222), + rotateZ: r(3388), + forEach: r(7447), + }; + }, + 2073: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = 1 / e[0]), + (t[1] = 1 / e[1]), + (t[2] = 1 / e[2]), + t + ); + }; + }, + 1468: function (t, e, r) { + t.exports = r(4693); + }, + 4693: function (t) { + t.exports = function (t) { + var e = t[0], + r = t[1], + n = t[2]; + return Math.sqrt(e * e + r * r + n * n); + }; + }, + 1868: function (t) { + t.exports = 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 + ); + }; + }, + 1716: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = Math.max(e[0], r[0])), + (t[1] = Math.max(e[1], r[1])), + (t[2] = Math.max(e[2], r[2])), + t + ); + }; + }, + 3605: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = Math.min(e[0], r[0])), + (t[1] = Math.min(e[1], r[1])), + (t[2] = Math.min(e[2], r[2])), + t + ); + }; + }, + 5733: function (t, e, r) { + t.exports = r(105); + }, + 105: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] * r[0]), + (t[1] = e[1] * r[1]), + (t[2] = e[2] * r[2]), + t + ); + }; + }, + 435: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = -e[0]), + (t[1] = -e[1]), + (t[2] = -e[2]), + t + ); + }; + }, + 899: function (t) { + t.exports = function (t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = r * r + n * n + i * i; + return ( + a > 0 && + ((a = 1 / Math.sqrt(a)), + (t[0] = e[0] * a), + (t[1] = e[1] * a), + (t[2] = e[2] * a)), + t + ); + }; + }, + 6660: function (t) { + t.exports = function (t, e) { + e = e || 1; + var r = 2 * Math.random() * Math.PI, + n = 2 * Math.random() - 1, + i = Math.sqrt(1 - n * n) * e; + return ( + (t[0] = Math.cos(r) * i), + (t[1] = Math.sin(r) * i), + (t[2] = n * e), + t + ); + }; + }, + 392: function (t) { + t.exports = function (t, e, r, n) { + var i = r[1], + a = r[2], + o = e[1] - i, + s = e[2] - a, + l = Math.sin(n), + u = Math.cos(n); + return ( + (t[0] = e[0]), + (t[1] = i + o * u - s * l), + (t[2] = a + o * l + s * u), + t + ); + }; + }, + 3222: function (t) { + t.exports = function (t, e, r, n) { + var i = r[0], + a = r[2], + o = e[0] - i, + s = e[2] - a, + l = Math.sin(n), + u = Math.cos(n); + return ( + (t[0] = i + s * l + o * u), + (t[1] = e[1]), + (t[2] = a + s * u - o * l), + t + ); + }; + }, + 3388: function (t) { + t.exports = function (t, e, r, n) { + var i = r[0], + a = r[1], + o = e[0] - i, + s = e[1] - a, + l = Math.sin(n), + u = Math.cos(n); + return ( + (t[0] = i + o * u - s * l), + (t[1] = a + o * l + s * u), + (t[2] = e[2]), + t + ); + }; + }, + 1624: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = Math.round(e[0])), + (t[1] = Math.round(e[1])), + (t[2] = Math.round(e[2])), + t + ); + }; + }, + 5685: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] * r), + (t[1] = e[1] * r), + (t[2] = e[2] * r), + t + ); + }; + }, + 6722: function (t) { + t.exports = function (t, e, r, n) { + return ( + (t[0] = e[0] + r[0] * n), + (t[1] = e[1] + r[1] * n), + (t[2] = e[2] + r[2] * n), + t + ); + }; + }, + 831: function (t) { + t.exports = function (t, e, r, n) { + return (t[0] = e), (t[1] = r), (t[2] = n), t; + }; + }, + 5294: function (t, e, r) { + t.exports = r(6403); + }, + 3303: function (t, e, r) { + t.exports = r(4337); + }, + 6403: function (t) { + t.exports = function (t, e) { + var r = e[0] - t[0], + n = e[1] - t[1], + i = e[2] - t[2]; + return r * r + n * n + i * i; + }; + }, + 4337: function (t) { + t.exports = function (t) { + var e = t[0], + r = t[1], + n = t[2]; + return e * e + r * r + n * n; + }; + }, + 8921: function (t, e, r) { + t.exports = r(911); + }, + 911: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] - r[0]), + (t[1] = e[1] - r[1]), + (t[2] = e[2] - r[2]), + t + ); + }; + }, + 9908: function (t) { + t.exports = 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 + ); + }; + }, + 3255: function (t) { + t.exports = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = r[3] * n + r[7] * i + r[11] * a + r[15]; + return ( + (o = o || 1), + (t[0] = + (r[0] * n + r[4] * i + r[8] * a + r[12]) / + o), + (t[1] = + (r[1] * n + r[5] * i + r[9] * a + r[13]) / + o), + (t[2] = + (r[2] * n + r[6] * i + r[10] * a + r[14]) / + o), + t + ); + }; + }, + 6568: function (t) { + t.exports = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = r[0], + s = r[1], + l = r[2], + u = r[3], + c = u * n + s * a - l * i, + f = u * i + l * n - o * a, + h = u * a + o * i - s * n, + p = -o * n - s * i - l * a; + return ( + (t[0] = c * u + p * -o + f * -l - h * -s), + (t[1] = f * u + p * -s + h * -o - c * -l), + (t[2] = h * u + p * -l + c * -s - f * -o), + t + ); + }; + }, + 3433: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] + r[0]), + (t[1] = e[1] + r[1]), + (t[2] = e[2] + r[2]), + (t[3] = e[3] + r[3]), + t + ); + }; + }, + 1413: function (t) { + t.exports = function (t) { + var e = new Float32Array(4); + return ( + (e[0] = t[0]), + (e[1] = t[1]), + (e[2] = t[2]), + (e[3] = t[3]), + e + ); + }; + }, + 3470: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = e[0]), + (t[1] = e[1]), + (t[2] = e[2]), + (t[3] = e[3]), + t + ); + }; + }, + 5313: function (t) { + t.exports = function () { + var t = new Float32Array(4); + return ( + (t[0] = 0), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + t + ); + }; + }, + 5446: function (t) { + t.exports = function (t, e) { + var r = e[0] - t[0], + n = e[1] - t[1], + i = e[2] - t[2], + a = e[3] - t[3]; + return Math.sqrt(r * r + n * n + i * i + a * a); + }; + }, + 205: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] / r[0]), + (t[1] = e[1] / r[1]), + (t[2] = e[2] / r[2]), + (t[3] = e[3] / r[3]), + t + ); + }; + }, + 4242: function (t) { + t.exports = function (t, e) { + return ( + t[0] * e[0] + + t[1] * e[1] + + t[2] * e[2] + + t[3] * e[3] + ); + }; + }, + 5680: function (t) { + t.exports = function (t, e, r, n) { + var i = new Float32Array(4); + return ( + (i[0] = t), + (i[1] = e), + (i[2] = r), + (i[3] = n), + i + ); + }; + }, + 4020: function (t, e, r) { + t.exports = { + create: r(5313), + clone: r(1413), + fromValues: r(5680), + copy: r(3470), + set: r(6453), + add: r(3433), + subtract: r(2705), + multiply: r(746), + divide: r(205), + min: r(2170), + max: r(3030), + scale: r(5510), + scaleAndAdd: r(4224), + distance: r(5446), + squaredDistance: r(1542), + length: r(8177), + squaredLength: r(9037), + negate: r(6459), + inverse: r(8057), + normalize: r(381), + dot: r(4242), + lerp: r(8746), + random: r(3770), + transformMat4: r(6342), + transformQuat: r(5022), + }; + }, + 8057: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = 1 / e[0]), + (t[1] = 1 / e[1]), + (t[2] = 1 / e[2]), + (t[3] = 1 / e[3]), + t + ); + }; + }, + 8177: function (t) { + t.exports = function (t) { + var e = t[0], + r = t[1], + n = t[2], + i = t[3]; + return Math.sqrt(e * e + r * r + n * n + i * i); + }; + }, + 8746: function (t) { + t.exports = function (t, e, r, n) { + var i = e[0], + a = e[1], + o = e[2], + s = e[3]; + return ( + (t[0] = i + n * (r[0] - i)), + (t[1] = a + n * (r[1] - a)), + (t[2] = o + n * (r[2] - o)), + (t[3] = s + n * (r[3] - s)), + t + ); + }; + }, + 3030: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = Math.max(e[0], r[0])), + (t[1] = Math.max(e[1], r[1])), + (t[2] = Math.max(e[2], r[2])), + (t[3] = Math.max(e[3], r[3])), + t + ); + }; + }, + 2170: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = Math.min(e[0], r[0])), + (t[1] = Math.min(e[1], r[1])), + (t[2] = Math.min(e[2], r[2])), + (t[3] = Math.min(e[3], r[3])), + t + ); + }; + }, + 746: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] * r[0]), + (t[1] = e[1] * r[1]), + (t[2] = e[2] * r[2]), + (t[3] = e[3] * r[3]), + t + ); + }; + }, + 6459: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = -e[0]), + (t[1] = -e[1]), + (t[2] = -e[2]), + (t[3] = -e[3]), + t + ); + }; + }, + 381: function (t) { + t.exports = function (t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = e[3], + o = r * r + n * n + i * i + a * a; + return ( + o > 0 && + ((o = 1 / Math.sqrt(o)), + (t[0] = r * o), + (t[1] = n * o), + (t[2] = i * o), + (t[3] = a * o)), + t + ); + }; + }, + 3770: function (t, e, r) { + var n = r(381), + i = r(5510); + t.exports = function (t, e) { + return ( + (e = e || 1), + (t[0] = Math.random()), + (t[1] = Math.random()), + (t[2] = Math.random()), + (t[3] = Math.random()), + n(t, t), + i(t, t, e), + t + ); + }; + }, + 5510: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] * r), + (t[1] = e[1] * r), + (t[2] = e[2] * r), + (t[3] = e[3] * r), + t + ); + }; + }, + 4224: function (t) { + t.exports = function (t, e, r, n) { + return ( + (t[0] = e[0] + r[0] * n), + (t[1] = e[1] + r[1] * n), + (t[2] = e[2] + r[2] * n), + (t[3] = e[3] + r[3] * n), + t + ); + }; + }, + 6453: function (t) { + t.exports = function (t, e, r, n, i) { + return ( + (t[0] = e), + (t[1] = r), + (t[2] = n), + (t[3] = i), + t + ); + }; + }, + 1542: function (t) { + t.exports = function (t, e) { + var r = e[0] - t[0], + n = e[1] - t[1], + i = e[2] - t[2], + a = e[3] - t[3]; + return r * r + n * n + i * i + a * a; + }; + }, + 9037: function (t) { + t.exports = function (t) { + var e = t[0], + r = t[1], + n = t[2], + i = t[3]; + return e * e + r * r + n * n + i * i; + }; + }, + 2705: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] - r[0]), + (t[1] = e[1] - r[1]), + (t[2] = e[2] - r[2]), + (t[3] = e[3] - r[3]), + t + ); + }; + }, + 6342: function (t) { + t.exports = 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 + ); + }; + }, + 5022: function (t) { + t.exports = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = r[0], + s = r[1], + l = r[2], + u = r[3], + c = u * n + s * a - l * i, + f = u * i + l * n - o * a, + h = u * a + o * i - s * n, + p = -o * n - s * i - l * a; + return ( + (t[0] = c * u + p * -o + f * -l - h * -s), + (t[1] = f * u + p * -s + h * -o - c * -l), + (t[2] = h * u + p * -l + c * -s - f * -o), + (t[3] = e[3]), + t + ); + }; + }, + 9365: function (t, e, r) { + var n = r(8096), + i = r(7896); + t.exports = function (t) { + for ( + var e = Array.isArray(t) ? t : n(t), r = 0; + r < e.length; + r++ + ) { + var a = e[r]; + if ("preprocessor" === a.type) { + var o = a.data.match( + /\#define\s+SHADER_NAME(_B64)?\s+(.+)$/, + ); + if (o && o[2]) { + var s = o[1], + l = o[2]; + return (s ? i(l) : l).trim(); + } + } + } + }; + }, + 3193: function (t, e, r) { + t.exports = function (t) { + var e, + r, + f, + h = 0, + p = 0, + d = l, + v = [], + g = [], + y = 1, + m = 0, + x = 0, + b = !1, + _ = !1, + w = "", + T = a, + k = n; + "300 es" === (t = t || {}).version && + ((T = s), (k = o)); + var A = {}, + M = {}; + for (h = 0; h < T.length; h++) A[T[h]] = !0; + for (h = 0; h < k.length; h++) M[k[h]] = !0; + return function (t) { + return ( + (g = []), + null !== t + ? (function (t) { + var r; + for ( + h = 0, + t.toString && (t = t.toString()), + w += t.replace(/\r\n/g, "\n"), + f = w.length; + (e = w[h]), h < f; + + ) { + switch (((r = h), d)) { + case 0: + h = P(); + break; + case 1: + case 2: + h = C(); + break; + case 3: + h = O(); + break; + case 4: + h = z(); + break; + case 11: + h = D(); + break; + case 5: + h = R(); + break; + case u: + h = F(); + break; + case 9: + h = L(); + break; + case l: + h = E(); + } + r !== h && + ("\n" === w[r] + ? ((m = 0), ++y) + : ++m); + } + return (p += h), (w = w.slice(h)), g; + })(t) + : (v.length && S(v.join("")), + (d = 10), + S("(eof)"), + g) + ); + }; + function S(t) { + t.length && + g.push({ + type: c[d], + data: t, + position: x, + line: y, + column: m, + }); + } + function E() { + return ( + (v = v.length ? [] : v), + "/" === r && "*" === e + ? ((x = p + h - 1), + (d = 0), + (r = e), + h + 1) + : "/" === r && "/" === e + ? ((x = p + h - 1), + (d = 1), + (r = e), + h + 1) + : "#" === e + ? ((d = 2), (x = p + h), h) + : /\s/.test(e) + ? ((d = 9), (x = p + h), h) + : ((b = /\d/.test(e)), + (_ = /[^\w_]/.test(e)), + (x = p + h), + (d = b ? 4 : _ ? 3 : u), + h) + ); + } + function L() { + return /[^\s]/g.test(e) + ? (S(v.join("")), (d = l), h) + : (v.push(e), (r = e), h + 1); + } + function C() { + return ("\r" !== e && "\n" !== e) || + "\\" === r + ? (v.push(e), (r = e), h + 1) + : (S(v.join("")), (d = l), h); + } + function P() { + return "/" === e && "*" === r + ? (v.push(e), S(v.join("")), (d = l), h + 1) + : (v.push(e), (r = e), h + 1); + } + function O() { + if ("." === r && /\d/.test(e)) + return (d = 5), h; + if ("/" === r && "*" === e) return (d = 0), h; + if ("/" === r && "/" === e) return (d = 1), h; + if ("." === e && v.length) { + for (; I(v); ); + return (d = 5), h; + } + if (";" === e || ")" === e || "(" === e) { + if (v.length) for (; I(v); ); + return S(e), (d = l), h + 1; + } + var t = 2 === v.length && "=" !== e; + if (/[\w_\d\s]/.test(e) || t) { + for (; I(v); ); + return (d = l), h; + } + return v.push(e), (r = e), h + 1; + } + function I(t) { + for (var e, r, n = 0; ; ) { + if ( + ((e = i.indexOf( + t.slice(0, t.length + n).join(""), + )), + (r = i[e]), + -1 === e) + ) { + if (n-- + t.length > 0) continue; + r = t.slice(0, 1).join(""); + } + return ( + S(r), + (x += r.length), + (v = v.slice(r.length)).length + ); + } + } + function D() { + return /[^a-fA-F0-9]/.test(e) + ? (S(v.join("")), (d = l), h) + : (v.push(e), (r = e), h + 1); + } + function z() { + return "." === e || /[eE]/.test(e) + ? (v.push(e), (d = 5), (r = e), h + 1) + : "x" === e && + 1 === v.length && + "0" === v[0] + ? ((d = 11), v.push(e), (r = e), h + 1) + : /[^\d]/.test(e) + ? (S(v.join("")), (d = l), h) + : (v.push(e), (r = e), h + 1); + } + function R() { + return ( + "f" === e && (v.push(e), (r = e), (h += 1)), + /[eE]/.test(e) + ? (v.push(e), (r = e), h + 1) + : (("-" !== e && "+" !== e) || + !/[eE]/.test(r)) && + /[^\d]/.test(e) + ? (S(v.join("")), (d = l), h) + : (v.push(e), (r = e), h + 1) + ); + } + function F() { + if (/[^\d\w_]/.test(e)) { + var t = v.join(""); + return ( + (d = M[t] ? 8 : A[t] ? 7 : 6), + S(v.join("")), + (d = l), + h + ); + } + return v.push(e), (r = e), h + 1; + } + }; + var n = r(399), + i = r(9746), + a = r(9525), + o = r(9458), + s = r(3585), + l = 999, + u = 9999, + c = [ + "block-comment", + "line-comment", + "preprocessor", + "operator", + "integer", + "float", + "ident", + "builtin", + "keyword", + "whitespace", + "eof", + "integer", + ]; + }, + 3585: function (t, e, r) { + var n = r(9525); + (n = n.slice().filter(function (t) { + return !/^(gl\_|texture)/.test(t); + })), + (t.exports = n.concat([ + "gl_VertexID", + "gl_InstanceID", + "gl_Position", + "gl_PointSize", + "gl_FragCoord", + "gl_FrontFacing", + "gl_FragDepth", + "gl_PointCoord", + "gl_MaxVertexAttribs", + "gl_MaxVertexUniformVectors", + "gl_MaxVertexOutputVectors", + "gl_MaxFragmentInputVectors", + "gl_MaxVertexTextureImageUnits", + "gl_MaxCombinedTextureImageUnits", + "gl_MaxTextureImageUnits", + "gl_MaxFragmentUniformVectors", + "gl_MaxDrawBuffers", + "gl_MinProgramTexelOffset", + "gl_MaxProgramTexelOffset", + "gl_DepthRangeParameters", + "gl_DepthRange", + "trunc", + "round", + "roundEven", + "isnan", + "isinf", + "floatBitsToInt", + "floatBitsToUint", + "intBitsToFloat", + "uintBitsToFloat", + "packSnorm2x16", + "unpackSnorm2x16", + "packUnorm2x16", + "unpackUnorm2x16", + "packHalf2x16", + "unpackHalf2x16", + "outerProduct", + "transpose", + "determinant", + "inverse", + "texture", + "textureSize", + "textureProj", + "textureLod", + "textureOffset", + "texelFetch", + "texelFetchOffset", + "textureProjOffset", + "textureLodOffset", + "textureProjLod", + "textureProjLodOffset", + "textureGrad", + "textureGradOffset", + "textureProjGrad", + "textureProjGradOffset", + ])); + }, + 9525: function (t) { + t.exports = [ + "abs", + "acos", + "all", + "any", + "asin", + "atan", + "ceil", + "clamp", + "cos", + "cross", + "dFdx", + "dFdy", + "degrees", + "distance", + "dot", + "equal", + "exp", + "exp2", + "faceforward", + "floor", + "fract", + "gl_BackColor", + "gl_BackLightModelProduct", + "gl_BackLightProduct", + "gl_BackMaterial", + "gl_BackSecondaryColor", + "gl_ClipPlane", + "gl_ClipVertex", + "gl_Color", + "gl_DepthRange", + "gl_DepthRangeParameters", + "gl_EyePlaneQ", + "gl_EyePlaneR", + "gl_EyePlaneS", + "gl_EyePlaneT", + "gl_Fog", + "gl_FogCoord", + "gl_FogFragCoord", + "gl_FogParameters", + "gl_FragColor", + "gl_FragCoord", + "gl_FragData", + "gl_FragDepth", + "gl_FragDepthEXT", + "gl_FrontColor", + "gl_FrontFacing", + "gl_FrontLightModelProduct", + "gl_FrontLightProduct", + "gl_FrontMaterial", + "gl_FrontSecondaryColor", + "gl_LightModel", + "gl_LightModelParameters", + "gl_LightModelProducts", + "gl_LightProducts", + "gl_LightSource", + "gl_LightSourceParameters", + "gl_MaterialParameters", + "gl_MaxClipPlanes", + "gl_MaxCombinedTextureImageUnits", + "gl_MaxDrawBuffers", + "gl_MaxFragmentUniformComponents", + "gl_MaxLights", + "gl_MaxTextureCoords", + "gl_MaxTextureImageUnits", + "gl_MaxTextureUnits", + "gl_MaxVaryingFloats", + "gl_MaxVertexAttribs", + "gl_MaxVertexTextureImageUnits", + "gl_MaxVertexUniformComponents", + "gl_ModelViewMatrix", + "gl_ModelViewMatrixInverse", + "gl_ModelViewMatrixInverseTranspose", + "gl_ModelViewMatrixTranspose", + "gl_ModelViewProjectionMatrix", + "gl_ModelViewProjectionMatrixInverse", + "gl_ModelViewProjectionMatrixInverseTranspose", + "gl_ModelViewProjectionMatrixTranspose", + "gl_MultiTexCoord0", + "gl_MultiTexCoord1", + "gl_MultiTexCoord2", + "gl_MultiTexCoord3", + "gl_MultiTexCoord4", + "gl_MultiTexCoord5", + "gl_MultiTexCoord6", + "gl_MultiTexCoord7", + "gl_Normal", + "gl_NormalMatrix", + "gl_NormalScale", + "gl_ObjectPlaneQ", + "gl_ObjectPlaneR", + "gl_ObjectPlaneS", + "gl_ObjectPlaneT", + "gl_Point", + "gl_PointCoord", + "gl_PointParameters", + "gl_PointSize", + "gl_Position", + "gl_ProjectionMatrix", + "gl_ProjectionMatrixInverse", + "gl_ProjectionMatrixInverseTranspose", + "gl_ProjectionMatrixTranspose", + "gl_SecondaryColor", + "gl_TexCoord", + "gl_TextureEnvColor", + "gl_TextureMatrix", + "gl_TextureMatrixInverse", + "gl_TextureMatrixInverseTranspose", + "gl_TextureMatrixTranspose", + "gl_Vertex", + "greaterThan", + "greaterThanEqual", + "inversesqrt", + "length", + "lessThan", + "lessThanEqual", + "log", + "log2", + "matrixCompMult", + "max", + "min", + "mix", + "mod", + "normalize", + "not", + "notEqual", + "pow", + "radians", + "reflect", + "refract", + "sign", + "sin", + "smoothstep", + "sqrt", + "step", + "tan", + "texture2D", + "texture2DLod", + "texture2DProj", + "texture2DProjLod", + "textureCube", + "textureCubeLod", + "texture2DLodEXT", + "texture2DProjLodEXT", + "textureCubeLodEXT", + "texture2DGradEXT", + "texture2DProjGradEXT", + "textureCubeGradEXT", + ]; + }, + 9458: function (t, e, r) { + var n = r(399); + t.exports = n + .slice() + .concat([ + "layout", + "centroid", + "smooth", + "case", + "mat2x2", + "mat2x3", + "mat2x4", + "mat3x2", + "mat3x3", + "mat3x4", + "mat4x2", + "mat4x3", + "mat4x4", + "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", + ]); + }, + 399: function (t) { + t.exports = [ + "precision", + "highp", + "mediump", + "lowp", + "attribute", + "const", + "uniform", + "varying", + "break", + "continue", + "do", + "for", + "while", + "if", + "else", + "in", + "out", + "inout", + "float", + "int", + "uint", + "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", + ]; + }, + 9746: function (t) { + t.exports = [ + "<<=", + ">>=", + "++", + "--", + "<<", + ">>", + "<=", + ">=", + "==", + "!=", + "&&", + "||", + "+=", + "-=", + "*=", + "/=", + "%=", + "&=", + "^^", + "^=", + "|=", + "(", + ")", + "[", + "]", + ".", + "!", + "~", + "*", + "/", + "%", + "+", + "-", + "<", + ">", + "&", + "^", + "|", + "?", + ":", + "=", + ",", + ";", + "{", + "}", + ]; + }, + 8096: function (t, e, r) { + var n = r(3193); + t.exports = function (t, e) { + var r = n(e), + i = []; + return (i = i.concat(r(t))).concat(r(null)); + }; + }, + 6832: function (t) { + t.exports = 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(""); + }; + }, + 5233: function (t, e, r) { + "use strict"; + var n = r(4846); + t.exports = + n && + (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; + })(); + }, + 2183: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + var r = t.length; + if (0 === r) + throw new Error( + "Must have at least d+1 points", + ); + var i = t[0].length; + if (r <= i) + throw new Error( + "Must input at least d+1 points", + ); + var o = t.slice(0, i + 1), + s = n.apply(void 0, o); + if (0 === s) + throw new Error( + "Input not in general position", + ); + for ( + var l = new Array(i + 1), c = 0; + c <= i; + ++c + ) + l[c] = c; + s < 0 && ((l[0] = 1), (l[1] = 0)); + var f = new a(l, new Array(i + 1), !1), + h = f.adjacent, + p = new Array(i + 2); + for (c = 0; c <= i; ++c) { + for (var d = l.slice(), v = 0; v <= i; ++v) + v === c && (d[v] = -1); + var g = d[0]; + (d[0] = d[1]), (d[1] = g); + var y = new a(d, new Array(i + 1), !0); + (h[c] = y), (p[c] = y); + } + for (p[i + 1] = f, c = 0; c <= i; ++c) { + d = h[c].vertices; + var m = h[c].adjacent; + for (v = 0; v <= i; ++v) { + var x = d[v]; + if (x < 0) m[v] = f; + else + for (var b = 0; b <= i; ++b) + h[b].vertices.indexOf(x) < 0 && + (m[v] = h[b]); + } + } + var _ = new u(i, o, p), + w = !!e; + for (c = i + 1; c < r; ++c) _.insert(t[c], w); + return _.boundary(); + }; + var n = r(417), + i = r(8211).H; + function a(t, e, r) { + (this.vertices = t), + (this.adjacent = e), + (this.boundary = r), + (this.lastVisited = -1); + } + function o(t, e, r) { + (this.vertices = t), + (this.cell = e), + (this.index = r); + } + function s(t, e) { + return i(t.vertices, e.vertices); + } + a.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 l = []; + function u(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 i = 0; i <= t; ++i) + this.tuple[i] = this.vertices[i]; + var a, + o = l[t]; + o || + (o = l[t] = + ((a = n[t + 1]) || (a = n), + (function (t) { + return function () { + var e = this.tuple; + return t.apply(this, e); + }; + })(a))), + (this.orient = o); + } + var c = u.prototype; + (c.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; ) + for ( + var s = (t = o.pop()).adjacent, l = 0; + l <= r; + ++l + ) { + var u = s[l]; + if (u.boundary && !(u.lastVisited <= -n)) { + for ( + var c = u.vertices, f = 0; + f <= r; + ++f + ) { + var h = c[f]; + i[f] = h < 0 ? e : a[h]; + } + var p = this.orient(); + if (p > 0) return u; + (u.lastVisited = -n), + 0 === p && o.push(u); + } + } + return null; + }), + (c.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]]; + for ( + s.lastVisited = r, c = 0; + c <= n; + ++c + ) { + var f = u[c]; + if (!(f.lastVisited >= r)) { + var h = a[c]; + a[c] = t; + var p = this.orient(); + if (((a[c] = h), p < 0)) { + s = f; + continue t; + } + f.boundary + ? (f.lastVisited = -r) + : (f.lastVisited = r); + } + } + return; + } + return s; + }), + (c.addPeaks = function (t, e) { + var r = this.vertices.length - 1, + n = this.dimension, + i = this.vertices, + l = this.tuple, + u = this.interior, + c = this.simplices, + f = [e]; + (e.lastVisited = r), + (e.vertices[e.vertices.indexOf(-1)] = r), + (e.boundary = !1), + u.push(e); + for (var h = []; f.length > 0; ) { + var p = (e = f.pop()).vertices, + d = e.adjacent, + v = p.indexOf(r); + if (!(v < 0)) + for (var g = 0; g <= n; ++g) + if (g !== v) { + var y = d[g]; + if ( + y.boundary && + !(y.lastVisited >= r) + ) { + var m = y.vertices; + if (y.lastVisited !== -r) { + for ( + var x = 0, b = 0; + b <= n; + ++b + ) + m[b] < 0 + ? ((x = b), (l[b] = t)) + : (l[b] = i[m[b]]); + if (this.orient() > 0) { + (m[x] = r), + (y.boundary = !1), + u.push(y), + f.push(y), + (y.lastVisited = r); + continue; + } + y.lastVisited = -r; + } + var _ = y.adjacent, + w = p.slice(), + T = d.slice(), + k = new a(w, T, !0); + c.push(k); + var A = _.indexOf(e); + if (!(A < 0)) + for ( + _[A] = k, + T[v] = y, + w[g] = -1, + T[g] = e, + d[g] = k, + k.flip(), + b = 0; + b <= n; + ++b + ) { + var M = w[b]; + if (!(M < 0 || M === r)) { + for ( + var S = new Array(n - 1), + E = 0, + L = 0; + L <= n; + ++L + ) { + var C = w[L]; + C < 0 || + L === b || + (S[E++] = C); + } + h.push(new o(S, k, b)); + } + } + } + } + } + for ( + h.sort(s), g = 0; + g + 1 < h.length; + g += 2 + ) { + var P = h[g], + O = h[g + 1], + I = P.index, + D = O.index; + I < 0 || + D < 0 || + ((P.cell.adjacent[P.index] = O.cell), + (O.cell.adjacent[O.index] = P.cell)); + } + }), + (c.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)); + } + }), + (c.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 f = o[0]; + (o[0] = o[1]), (o[1] = f); + } + e.push(o); + } + } + return e; + }); + }, + 9014: function (t, e, r) { + "use strict"; + var n = r(5070); + function i(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); + } + t.exports = function (t) { + return t && 0 !== t.length + ? new y(g(t)) + : new y(null); + }; + var a = i.prototype; + function o(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 s(t, e) { + var r = g(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 l(t, e) { + var r = t.intervals([]); + r.push(e), s(t, r); + } + function u(t, e) { + var r = t.intervals([]), + n = r.indexOf(e); + return n < 0 ? 0 : (r.splice(n, 1), s(t, r), 1); + } + function c(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 f(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 h(t, e) { + for (var r = 0; r < t.length; ++r) { + var n = e(t[r]); + if (n) return n; + } + } + function p(t, e) { + return t - e; + } + function d(t, e) { + return t[0] - e[0] || t[1] - e[1]; + } + function v(t, e) { + return t[1] - e[1] || t[0] - e[0]; + } + function g(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(p); + var n = e[e.length >> 1], + a = [], + o = [], + s = []; + for (r = 0; r < t.length; ++r) { + var l = t[r]; + l[1] < n + ? a.push(l) + : n < l[0] + ? o.push(l) + : s.push(l); + } + var u = s, + c = s.slice(); + return ( + u.sort(d), + c.sort(v), + new i(n, g(a), g(o), u, c) + ); + } + function y(t) { + this.root = t; + } + (a.intervals = function (t) { + return ( + t.push.apply(t, this.leftPoints), + this.left && this.left.intervals(t), + this.right && this.right.intervals(t), + t + ); + }), + (a.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) + ? l(this, t) + : this.left.insert(t) + : (this.left = g([t])); + else if (t[0] > this.mid) + this.right + ? 4 * (this.right.count + 1) > 3 * (e + 1) + ? l(this, t) + : this.right.insert(t) + : (this.right = g([t])); + else { + var r = n.ge(this.leftPoints, t, d), + i = n.ge(this.rightPoints, t, v); + this.leftPoints.splice(r, 0, t), + this.rightPoints.splice(i, 0, t); + } + }), + (a.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) + ? u(this, t) + : 2 === (s = this.left.remove(t)) + ? ((this.left = null), + (this.count -= 1), + 1) + : (1 === s && (this.count -= 1), s) + : 0; + if (t[0] > this.mid) + return this.right + ? 4 * (this.left ? this.left.count : 0) > + 3 * (e - 1) + ? u(this, t) + : 2 === (s = this.right.remove(t)) + ? ((this.right = null), + (this.count -= 1), + 1) + : (1 === s && (this.count -= 1), s) + : 0; + if (1 === this.count) + return this.leftPoints[0] === t ? 2 : 0; + if ( + 1 === this.leftPoints.length && + this.leftPoints[0] === t + ) { + if (this.left && this.right) { + for ( + var r = this, i = this.left; + i.right; + + ) + (r = i), (i = i.right); + if (r === this) i.right = this.right; + else { + var a = this.left, + s = this.right; + (r.count -= i.count), + (r.right = i.left), + (i.left = a), + (i.right = s); + } + o(this, i), + (this.count = + (this.left ? this.left.count : 0) + + (this.right ? this.right.count : 0) + + this.leftPoints.length); + } else + this.left + ? o(this, this.left) + : o(this, this.right); + return 1; + } + for ( + a = n.ge(this.leftPoints, t, d); + a < this.leftPoints.length && + this.leftPoints[a][0] === t[0]; + ++a + ) + if (this.leftPoints[a] === t) + for ( + this.count -= 1, + this.leftPoints.splice(a, 1), + s = n.ge(this.rightPoints, t, v); + s < this.rightPoints.length && + this.rightPoints[s][1] === t[1]; + ++s + ) + if (this.rightPoints[s] === t) + return ( + this.rightPoints.splice(s, 1), 1 + ); + return 0; + }), + (a.queryPoint = function (t, e) { + return t < this.mid + ? this.left && + (r = this.left.queryPoint(t, e)) + ? r + : c(this.leftPoints, t, e) + : t > this.mid + ? this.right && + (r = this.right.queryPoint(t, e)) + ? r + : f(this.rightPoints, t, e) + : h(this.leftPoints, e); + var r; + }), + (a.queryInterval = function (t, e, r) { + var n; + return (t < this.mid && + this.left && + (n = this.left.queryInterval(t, e, r))) || + (e > this.mid && + this.right && + (n = this.right.queryInterval(t, e, r))) + ? n + : e < this.mid + ? c(this.leftPoints, e, r) + : t > this.mid + ? f(this.rightPoints, t, r) + : h(this.leftPoints, r); + }); + var m = y.prototype; + (m.insert = function (t) { + this.root + ? this.root.insert(t) + : (this.root = new i( + t[0], + null, + null, + [t], + [t], + )); + }), + (m.remove = function (t) { + if (this.root) { + var e = this.root.remove(t); + return ( + 2 === e && (this.root = null), 0 !== e + ); + } + return !1; + }), + (m.queryPoint = function (t, e) { + if (this.root) + return this.root.queryPoint(t, e); + }), + (m.queryInterval = function (t, e, r) { + if (t <= e && this.root) + return this.root.queryInterval(t, e, r); + }), + Object.defineProperty(m, "count", { + get: function () { + return this.root ? this.root.count : 0; + }, + }), + Object.defineProperty(m, "intervals", { + get: function () { + return this.root + ? this.root.intervals([]) + : []; + }, + }); + }, + 9560: function (t) { + "use strict"; + t.exports = function (t) { + for (var e = new Array(t), r = 0; r < t; ++r) + e[r] = r; + return e; + }; + }, + 4846: function (t) { + t.exports = !0; + }, + 4780: function (t) { + function e(t) { + return ( + !!t.constructor && + "function" == typeof t.constructor.isBuffer && + t.constructor.isBuffer(t) + ); + } + t.exports = function (t) { + return ( + null != t && + (e(t) || + (function (t) { + return ( + "function" == typeof t.readFloatLE && + "function" == typeof t.slice && + e(t.slice(0, 0)) + ); + })(t) || + !!t._isBuffer) + ); + }; + }, + 3596: function (t) { + "use strict"; + t.exports = 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; + }; + }, + 3578: function (t) { + t.exports = function (t, e, r) { + return t * (1 - r) + e * r; + }; + }, + 7191: function (t, e, r) { + var n = r(4690), + i = r(9823), + a = r(7332), + o = r(7787), + s = r(7437), + l = r(2142), + u = { + length: r(4693), + normalize: r(899), + dot: r(9305), + cross: r(903), + }, + c = i(), + f = i(), + h = [0, 0, 0, 0], + p = [ + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + ], + d = [0, 0, 0]; + function v(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); + } + t.exports = function (t, e, r, i, g, y) { + if ( + (e || (e = [0, 0, 0]), + r || (r = [0, 0, 0]), + i || (i = [0, 0, 0]), + g || (g = [0, 0, 0, 1]), + y || (y = [0, 0, 0, 1]), + !n(c, t)) + ) + return !1; + if ( + (a(f, c), + (f[3] = 0), + (f[7] = 0), + (f[11] = 0), + (f[15] = 1), + Math.abs(o(f) < 1e-8)) + ) + return !1; + var m, + x, + b, + _, + w, + T, + k, + A = c[3], + M = c[7], + S = c[11], + E = c[12], + L = c[13], + C = c[14], + P = c[15]; + if (0 !== A || 0 !== M || 0 !== S) { + if ( + ((h[0] = A), + (h[1] = M), + (h[2] = S), + (h[3] = P), + !s(f, f)) + ) + return !1; + l(f, f), + (m = g), + (b = f), + (_ = (x = h)[0]), + (w = x[1]), + (T = x[2]), + (k = x[3]), + (m[0] = + b[0] * _ + + b[4] * w + + b[8] * T + + b[12] * k), + (m[1] = + b[1] * _ + + b[5] * w + + b[9] * T + + b[13] * k), + (m[2] = + b[2] * _ + + b[6] * w + + b[10] * T + + b[14] * k), + (m[3] = + b[3] * _ + + b[7] * w + + b[11] * T + + b[15] * k); + } else (g[0] = g[1] = g[2] = 0), (g[3] = 1); + if ( + ((e[0] = E), + (e[1] = L), + (e[2] = C), + (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]); + })(p, c), + (r[0] = u.length(p[0])), + u.normalize(p[0], p[0]), + (i[0] = u.dot(p[0], p[1])), + v(p[1], p[1], p[0], 1, -i[0]), + (r[1] = u.length(p[1])), + u.normalize(p[1], p[1]), + (i[0] /= r[1]), + (i[1] = u.dot(p[0], p[2])), + v(p[2], p[2], p[0], 1, -i[1]), + (i[2] = u.dot(p[1], p[2])), + v(p[2], p[2], p[1], 1, -i[2]), + (r[2] = u.length(p[2])), + u.normalize(p[2], p[2]), + (i[1] /= r[2]), + (i[2] /= r[2]), + u.cross(d, p[1], p[2]), + u.dot(p[0], d) < 0) + ) + for (var O = 0; O < 3; O++) + (r[O] *= -1), + (p[O][0] *= -1), + (p[O][1] *= -1), + (p[O][2] *= -1); + return ( + (y[0] = + 0.5 * + Math.sqrt( + Math.max( + 1 + p[0][0] - p[1][1] - p[2][2], + 0, + ), + )), + (y[1] = + 0.5 * + Math.sqrt( + Math.max( + 1 - p[0][0] + p[1][1] - p[2][2], + 0, + ), + )), + (y[2] = + 0.5 * + Math.sqrt( + Math.max( + 1 - p[0][0] - p[1][1] + p[2][2], + 0, + ), + )), + (y[3] = + 0.5 * + Math.sqrt( + Math.max( + 1 + p[0][0] + p[1][1] + p[2][2], + 0, + ), + )), + p[2][1] > p[1][2] && (y[0] = -y[0]), + p[0][2] > p[2][0] && (y[1] = -y[1]), + p[1][0] > p[0][1] && (y[2] = -y[2]), + !0 + ); + }; + }, + 4690: function (t) { + t.exports = function (t, e) { + var r = e[15]; + if (0 === r) return !1; + for (var n = 1 / r, i = 0; i < 16; i++) + t[i] = e[i] * n; + return !0; + }; + }, + 7649: function (t, e, r) { + var n = r(1868), + i = r(1102), + a = r(7191), + o = r(7787), + s = r(1116), + l = f(), + u = f(), + c = f(); + function f() { + return { + translate: h(), + scale: h(1), + skew: h(), + perspective: [0, 0, 0, 1], + quaternion: [0, 0, 0, 1], + }; + } + function h(t) { + return [t || 0, t || 0, t || 0]; + } + t.exports = function (t, e, r, f) { + if (0 === o(e) || 0 === o(r)) return !1; + var h = a( + e, + l.translate, + l.scale, + l.skew, + l.perspective, + l.quaternion, + ), + p = a( + r, + u.translate, + u.scale, + u.skew, + u.perspective, + u.quaternion, + ); + return !( + !h || + !p || + (n(c.translate, l.translate, u.translate, f), + n(c.skew, l.skew, u.skew, f), + n(c.scale, l.scale, u.scale, f), + n( + c.perspective, + l.perspective, + u.perspective, + f, + ), + s( + c.quaternion, + l.quaternion, + u.quaternion, + f, + ), + i( + t, + c.translate, + c.scale, + c.skew, + c.perspective, + c.quaternion, + ), + 0) + ); + }; + }, + 1102: function (t, e, r) { + var n = { + identity: r(9947), + translate: r(998), + multiply: r(104), + create: r(9823), + scale: r(3668), + fromRotationTranslation: r(7280), + }, + i = (n.create(), n.create()); + t.exports = function (t, e, r, a, o, s) { + return ( + n.identity(t), + n.fromRotationTranslation(t, s, e), + (t[3] = o[0]), + (t[7] = o[1]), + (t[11] = o[2]), + (t[15] = o[3]), + n.identity(i), + 0 !== a[2] && + ((i[9] = a[2]), n.multiply(t, t, i)), + 0 !== a[1] && + ((i[9] = 0), + (i[8] = a[1]), + n.multiply(t, t, i)), + 0 !== a[0] && + ((i[8] = 0), + (i[4] = a[0]), + n.multiply(t, t, i)), + n.scale(t, t, r), + t + ); + }; + }, + 9298: function (t, e, r) { + "use strict"; + var n = r(5070), + i = r(7649), + a = r(7437), + o = r(6109), + s = r(7115), + l = r(5240), + u = r(3012), + c = r(998), + f = (r(3668), r(899)), + h = [0, 0, 0]; + function p(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]); + } + t.exports = function (t) { + return new p( + (t = t || {}).matrix || [ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 1, + ], + ); + }; + var d = p.prototype; + (d.recalcMatrix = function (t) { + var e = this._time, + r = n.le(e, t), + o = this.computedMatrix; + if (!(r < 0)) { + var s = this._components; + if (r === e.length - 1) + for (var l = 16 * r, u = 0; u < 16; ++u) + o[u] = s[l++]; + else { + var c = e[r + 1] - e[r], + h = ((l = 16 * r), this.prevMatrix), + p = !0; + for (u = 0; u < 16; ++u) h[u] = s[l++]; + var d = this.nextMatrix; + for (u = 0; u < 16; ++u) + (d[u] = s[l++]), (p = p && h[u] === d[u]); + if (c < 1e-6 || p) + for (u = 0; u < 16; ++u) o[u] = h[u]; + else i(o, h, d, (t - e[r]) / c); + } + var v = this.computedUp; + (v[0] = o[1]), + (v[1] = o[5]), + (v[2] = o[9]), + f(v, v); + var g = this.computedInverse; + a(g, o); + var y = this.computedEye, + m = g[15]; + (y[0] = g[12] / m), + (y[1] = g[13] / m), + (y[2] = g[14] / m); + var x = this.computedCenter, + b = Math.exp(this.computedRadius[0]); + for (u = 0; u < 3; ++u) + x[u] = y[u] - o[2 + 4 * u] * b; + } + }), + (d.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); + } + }), + (d.flush = function (t) { + var e = n.gt(this._time, t) - 2; + e < 0 || + (this._time.splice(0, e), + this._components.splice(0, 16 * e)); + }), + (d.lastT = function () { + return this._time[this._time.length - 1]; + }), + (d.lookAt = function (t, e, r, n) { + this.recalcMatrix(t), + (e = e || this.computedEye), + (r = r || h), + (n = n || this.computedUp), + this.setMatrix( + t, + u(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); + }), + (d.rotate = function (t, e, r, n) { + this.recalcMatrix(t); + var i = this.computedInverse; + e && s(i, i, e), + r && o(i, i, r), + n && l(i, i, n), + this.setMatrix( + t, + a(this.computedMatrix, i), + ); + }); + var v = [0, 0, 0]; + (d.pan = function (t, e, r, n) { + (v[0] = -(e || 0)), + (v[1] = -(r || 0)), + (v[2] = -(n || 0)), + this.recalcMatrix(t); + var i = this.computedInverse; + c(i, i, v), this.setMatrix(t, a(i, i)); + }), + (d.translate = function (t, e, r, n) { + (v[0] = e || 0), + (v[1] = r || 0), + (v[2] = n || 0), + this.recalcMatrix(t); + var i = this.computedMatrix; + c(i, i, v), this.setMatrix(t, i); + }), + (d.setMatrix = function (t, e) { + if (!(t < this.lastT())) { + this._time.push(t); + for (var r = 0; r < 16; ++r) + this._components.push(e[r]); + } + }), + (d.setDistance = function (t, e) { + this.computedRadius[0] = e; + }), + (d.setDistanceLimits = function (t, e) { + var r = this._limits; + (r[0] = t), (r[1] = e); + }), + (d.getDistanceLimits = function (t) { + var e = this._limits; + return t + ? ((t[0] = e[0]), (t[1] = e[1]), t) + : e; + }); + }, + 3266: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.length; + if (e < 3) { + for (var r = new Array(e), i = 0; i < e; ++i) + r[i] = i; + return 2 === e && + t[0][0] === t[1][0] && + t[0][1] === t[1][1] + ? [0] + : r; + } + var a = new Array(e); + for (i = 0; i < e; ++i) a[i] = i; + a.sort(function (e, r) { + return t[e][0] - t[r][0] || t[e][1] - t[r][1]; + }); + var o = [a[0], a[1]], + s = [a[0], a[1]]; + for (i = 2; i < e; ++i) { + for ( + var l = a[i], u = t[l], c = o.length; + c > 1 && + n(t[o[c - 2]], t[o[c - 1]], u) <= 0; + + ) + (c -= 1), o.pop(); + for ( + o.push(l), c = s.length; + c > 1 && + n(t[s[c - 2]], t[s[c - 1]], u) >= 0; + + ) + (c -= 1), s.pop(); + s.push(l); + } + r = new Array(s.length + o.length - 2); + for ( + var f = 0, h = ((i = 0), o.length); + i < h; + ++i + ) + r[f++] = o[i]; + for (var p = s.length - 2; p > 0; --p) + r[f++] = s[p]; + return r; + }; + var n = r(417)[3]; + }, + 6145: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + e || ((e = t), (t = window)); + var r = 0, + i = 0, + a = 0, + o = { + shift: !1, + alt: !1, + control: !1, + meta: !1, + }, + s = !1; + function l(t) { + var e = !1; + return ( + "altKey" in t && + ((e = e || t.altKey !== o.alt), + (o.alt = !!t.altKey)), + "shiftKey" in t && + ((e = e || t.shiftKey !== o.shift), + (o.shift = !!t.shiftKey)), + "ctrlKey" in t && + ((e = e || t.ctrlKey !== o.control), + (o.control = !!t.ctrlKey)), + "metaKey" in t && + ((e = e || t.metaKey !== o.meta), + (o.meta = !!t.metaKey)), + e + ); + } + function u(t, s) { + var u = n.x(s), + c = n.y(s); + "buttons" in s && (t = 0 | s.buttons), + (t !== r || u !== i || c !== a || l(s)) && + ((r = 0 | t), + (i = u || 0), + (a = c || 0), + e && e(r, i, a, o)); + } + function c(t) { + u(0, t); + } + function f() { + (r || + i || + a || + o.shift || + o.alt || + o.meta || + o.control) && + ((i = a = 0), + (r = 0), + (o.shift = o.alt = o.control = o.meta = !1), + e && e(0, 0, 0, o)); + } + function h(t) { + l(t) && e && e(r, i, a, o); + } + function p(t) { + 0 === n.buttons(t) ? u(0, t) : u(r, t); + } + function d(t) { + u(r | n.buttons(t), t); + } + function v(t) { + u(r & ~n.buttons(t), t); + } + function g() { + s || + ((s = !0), + t.addEventListener("mousemove", p), + t.addEventListener("mousedown", d), + t.addEventListener("mouseup", v), + t.addEventListener("mouseleave", c), + t.addEventListener("mouseenter", c), + t.addEventListener("mouseout", c), + t.addEventListener("mouseover", c), + t.addEventListener("blur", f), + t.addEventListener("keyup", h), + t.addEventListener("keydown", h), + t.addEventListener("keypress", h), + t !== window && + (window.addEventListener("blur", f), + window.addEventListener("keyup", h), + window.addEventListener("keydown", h), + window.addEventListener("keypress", h))); + } + g(); + var y = { element: t }; + return ( + Object.defineProperties(y, { + enabled: { + get: function () { + return s; + }, + set: function (e) { + e + ? g() + : s && + ((s = !1), + t.removeEventListener( + "mousemove", + p, + ), + t.removeEventListener( + "mousedown", + d, + ), + t.removeEventListener("mouseup", v), + t.removeEventListener( + "mouseleave", + c, + ), + t.removeEventListener( + "mouseenter", + c, + ), + t.removeEventListener( + "mouseout", + c, + ), + t.removeEventListener( + "mouseover", + c, + ), + t.removeEventListener("blur", f), + t.removeEventListener("keyup", h), + t.removeEventListener("keydown", h), + t.removeEventListener( + "keypress", + h, + ), + t !== window && + (window.removeEventListener( + "blur", + f, + ), + 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 i; + }, + enumerable: !0, + }, + y: { + get: function () { + return a; + }, + enumerable: !0, + }, + mods: { + get: function () { + return o; + }, + enumerable: !0, + }, + }), + y + ); + }; + var n = r(4110); + }, + 2565: function (t) { + var e = { left: 0, top: 0 }; + t.exports = function (t, r, n) { + (r = r || t.currentTarget || t.srcElement), + Array.isArray(n) || (n = [0, 0]); + var i, + a = t.clientX || 0, + o = t.clientY || 0, + s = + (i = r) === window || + i === document || + i === document.body + ? e + : i.getBoundingClientRect(); + return ( + (n[0] = a - s.left), (n[1] = o - s.top), n + ); + }; + }, + 4110: function (t, e) { + "use strict"; + function r(t) { + return t.target || t.srcElement || window; + } + (e.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; + }), + (e.element = r), + (e.x = function (t) { + if ("object" == typeof t) { + if ("offsetX" in t) return t.offsetX; + var e = r(t).getBoundingClientRect(); + return t.clientX - e.left; + } + return 0; + }), + (e.y = function (t) { + if ("object" == typeof t) { + if ("offsetY" in t) return t.offsetY; + var e = r(t).getBoundingClientRect(); + return t.clientY - e.top; + } + return 0; + }); + }, + 6475: function (t, e, r) { + "use strict"; + var n = r(14); + t.exports = function (t, e, r) { + "function" == typeof t && + ((r = !!e), (e = t), (t = window)); + var i = n("ex", t), + a = function (t) { + r && t.preventDefault(); + var n = t.deltaX || 0, + a = t.deltaY || 0, + o = t.deltaZ || 0, + s = 1; + switch (t.deltaMode) { + case 1: + s = i; + break; + case 2: + s = window.innerHeight; + } + if ( + ((a *= s), (o *= s), (n *= s) || a || o) + ) + return e(n, a, o, t); + }; + return t.addEventListener("wheel", a), a; + }; + }, + 9284: function (t, e, r) { + "use strict"; + var n = r(5306); + t.exports = 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 a = t.arrayArguments || 1; + a < 1 && + e("Must have at least one array argument"), + (t.scalarArguments || 0) < 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 o = t.getters || [], + s = new Array(a), + l = 0; + l < a; + ++l + ) + o.indexOf(l) >= 0 ? (s[l] = !0) : (s[l] = !1); + return (function (t, e, r, a, o, s) { + var l = [s, o].join(","); + return (0, i[l])( + t, + e, + r, + n.mallocUint32, + n.freeUint32, + ); + })(t.vertex, t.cell, t.phase, 0, r, s); + }; + var i = { + "false,0,1": function (t, e, r, n, i) { + return function (a, o, s, l) { + var u, + c = 0 | a.shape[0], + f = 0 | a.shape[1], + h = a.data, + p = 0 | a.offset, + d = 0 | a.stride[0], + v = 0 | a.stride[1], + g = p, + y = 0 | -d, + m = 0, + x = 0 | -v, + b = 0, + _ = (-d - v) | 0, + w = 0, + T = 0 | d, + k = (v - d * c) | 0, + A = 0, + M = 0, + S = 0, + E = (2 * c) | 0, + L = n(E), + C = n(E), + P = 0, + O = 0, + I = -1, + D = -1, + z = 0, + R = 0 | -c, + F = 0 | c, + B = 0, + N = (-c - 1) | 0, + j = (c - 1) | 0, + U = 0, + V = 0, + H = 0; + for (A = 0; A < c; ++A) + (L[P++] = r(h[g], o, s, l)), (g += T); + if (((g += k), f > 0)) { + if ( + ((M = 1), + (L[P++] = r(h[g], o, s, l)), + (g += T), + c > 0) + ) + for ( + A = 1, + u = h[g], + O = L[P] = r(u, o, s, l), + z = L[P + I], + B = L[P + R], + U = L[P + N], + (O === z && O === B && O === U) || + ((m = h[g + y]), + (b = h[g + x]), + (w = h[g + _]), + t( + A, + M, + u, + m, + b, + w, + O, + z, + B, + U, + o, + s, + l, + ), + (V = C[P] = S++)), + P += 1, + g += T, + A = 2; + A < c; + ++A + ) + (u = h[g]), + (O = L[P] = r(u, o, s, l)), + (z = L[P + I]), + (B = L[P + R]), + (U = L[P + N]), + (O === z && O === B && O === U) || + ((m = h[g + y]), + (b = h[g + x]), + (w = h[g + _]), + t( + A, + M, + u, + m, + b, + w, + O, + z, + B, + U, + o, + s, + l, + ), + (V = C[P] = S++), + U !== z && + e( + C[P + I], + V, + w, + m, + U, + z, + o, + s, + l, + )), + (P += 1), + (g += T); + for ( + g += k, + P = 0, + H = I, + I = D, + D = H, + H = R, + R = F, + F = H, + H = N, + N = j, + j = H, + M = 2; + M < f; + ++M + ) { + if ( + ((L[P++] = r(h[g], o, s, l)), + (g += T), + c > 0) + ) + for ( + A = 1, + u = h[g], + O = L[P] = r(u, o, s, l), + z = L[P + I], + B = L[P + R], + U = L[P + N], + (O === z && O === B && O === U) || + ((m = h[g + y]), + (b = h[g + x]), + (w = h[g + _]), + t( + A, + M, + u, + m, + b, + w, + O, + z, + B, + U, + o, + s, + l, + ), + (V = C[P] = S++), + U !== B && + e( + C[P + R], + V, + b, + w, + B, + U, + o, + s, + l, + )), + P += 1, + g += T, + A = 2; + A < c; + ++A + ) + (u = h[g]), + (O = L[P] = r(u, o, s, l)), + (z = L[P + I]), + (B = L[P + R]), + (U = L[P + N]), + (O === z && O === B && O === U) || + ((m = h[g + y]), + (b = h[g + x]), + (w = h[g + _]), + t( + A, + M, + u, + m, + b, + w, + O, + z, + B, + U, + o, + s, + l, + ), + (V = C[P] = S++), + U !== B && + e( + C[P + R], + V, + b, + w, + B, + U, + o, + s, + l, + ), + U !== z && + e( + C[P + I], + V, + w, + m, + U, + z, + o, + s, + l, + )), + (P += 1), + (g += T); + 1 & M && (P = 0), + (H = I), + (I = D), + (D = H), + (H = R), + (R = F), + (F = H), + (H = N), + (N = j), + (j = H), + (g += k); + } + } + i(C), i(L); + }; + }, + "false,1,0": function (t, e, r, n, i) { + return function (a, o, s, l) { + var u, + c = 0 | a.shape[0], + f = 0 | a.shape[1], + h = a.data, + p = 0 | a.offset, + d = 0 | a.stride[0], + v = 0 | a.stride[1], + g = p, + y = 0 | -d, + m = 0, + x = 0 | -v, + b = 0, + _ = (-d - v) | 0, + w = 0, + T = 0 | v, + k = (d - v * f) | 0, + A = 0, + M = 0, + S = 0, + E = (2 * f) | 0, + L = n(E), + C = n(E), + P = 0, + O = 0, + I = -1, + D = -1, + z = 0, + R = 0 | -f, + F = 0 | f, + B = 0, + N = (-f - 1) | 0, + j = (f - 1) | 0, + U = 0, + V = 0, + H = 0; + for (M = 0; M < f; ++M) + (L[P++] = r(h[g], o, s, l)), (g += T); + if (((g += k), c > 0)) { + if ( + ((A = 1), + (L[P++] = r(h[g], o, s, l)), + (g += T), + f > 0) + ) + for ( + M = 1, + u = h[g], + O = L[P] = r(u, o, s, l), + B = L[P + R], + z = L[P + I], + U = L[P + N], + (O === B && O === z && O === U) || + ((m = h[g + y]), + (b = h[g + x]), + (w = h[g + _]), + t( + A, + M, + u, + m, + b, + w, + O, + B, + z, + U, + o, + s, + l, + ), + (V = C[P] = S++)), + P += 1, + g += T, + M = 2; + M < f; + ++M + ) + (u = h[g]), + (O = L[P] = r(u, o, s, l)), + (B = L[P + R]), + (z = L[P + I]), + (U = L[P + N]), + (O === B && O === z && O === U) || + ((m = h[g + y]), + (b = h[g + x]), + (w = h[g + _]), + t( + A, + M, + u, + m, + b, + w, + O, + B, + z, + U, + o, + s, + l, + ), + (V = C[P] = S++), + U !== z && + e( + C[P + I], + V, + b, + w, + z, + U, + o, + s, + l, + )), + (P += 1), + (g += T); + for ( + g += k, + P = 0, + H = R, + R = F, + F = H, + H = I, + I = D, + D = H, + H = N, + N = j, + j = H, + A = 2; + A < c; + ++A + ) { + if ( + ((L[P++] = r(h[g], o, s, l)), + (g += T), + f > 0) + ) + for ( + M = 1, + u = h[g], + O = L[P] = r(u, o, s, l), + B = L[P + R], + z = L[P + I], + U = L[P + N], + (O === B && O === z && O === U) || + ((m = h[g + y]), + (b = h[g + x]), + (w = h[g + _]), + t( + A, + M, + u, + m, + b, + w, + O, + B, + z, + U, + o, + s, + l, + ), + (V = C[P] = S++), + U !== B && + e( + C[P + R], + V, + w, + m, + U, + B, + o, + s, + l, + )), + P += 1, + g += T, + M = 2; + M < f; + ++M + ) + (u = h[g]), + (O = L[P] = r(u, o, s, l)), + (B = L[P + R]), + (z = L[P + I]), + (U = L[P + N]), + (O === B && O === z && O === U) || + ((m = h[g + y]), + (b = h[g + x]), + (w = h[g + _]), + t( + A, + M, + u, + m, + b, + w, + O, + B, + z, + U, + o, + s, + l, + ), + (V = C[P] = S++), + U !== z && + e( + C[P + I], + V, + b, + w, + z, + U, + o, + s, + l, + ), + U !== B && + e( + C[P + R], + V, + w, + m, + U, + B, + o, + s, + l, + )), + (P += 1), + (g += T); + 1 & A && (P = 0), + (H = R), + (R = F), + (F = H), + (H = I), + (I = D), + (D = H), + (H = N), + (N = j), + (j = H), + (g += k); + } + } + i(C), i(L); + }; + }, + }; + }, + 9144: function (t, e, r) { + "use strict"; + var n = r(3094), + i = { + zero: function (t, e, r, n) { + var i = t[0]; + n |= 0; + var a = 0, + o = r[0]; + for (a = 0; a < i; ++a) + (e[n] = 0), (n += o); + }, + fdTemplate1: function (t, e, r, n, i, a, o) { + var s = t[0], + l = r[0], + u = -1 * l, + c = l; + (n |= 0), (o |= 0); + var f = 0, + h = l, + p = a[0]; + for (f = 0; f < s; ++f) + (i[o] = 0.5 * (e[n + u] - e[n + c])), + (n += h), + (o += p); + }, + fdTemplate2: function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + ) { + var c = t[0], + f = t[1], + h = r[0], + p = r[1], + d = a[0], + v = a[1], + g = l[0], + y = l[1], + m = -1 * h, + x = h, + b = -1 * p, + _ = p; + (n |= 0), (o |= 0), (u |= 0); + var w = 0, + T = 0, + k = p, + A = h - f * p, + M = v, + S = d - f * v, + E = y, + L = g - f * y; + for (T = 0; T < c; ++T) { + for (w = 0; w < f; ++w) + (i[o] = 0.5 * (e[n + m] - e[n + x])), + (s[u] = 0.5 * (e[n + b] - e[n + _])), + (n += k), + (o += M), + (u += E); + (n += A), (o += S), (u += L); + } + }, + }, + a = { + cdiff: function (t) { + var e = {}; + return function (r, n, i) { + var a = r.dtype, + o = r.order, + s = n.dtype, + l = n.order, + u = i.dtype, + c = i.order, + f = [ + a, + o.join(), + s, + l.join(), + u, + c.join(), + ].join(), + h = e[f]; + return ( + h || (e[f] = h = t([a, o, s, l, u, c])), + h( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n.data, + n.stride, + 0 | n.offset, + i.data, + i.stride, + 0 | i.offset, + ) + ); + }; + }, + zero: function (t) { + var e = {}; + return function (r) { + var n = r.dtype, + i = r.order, + a = [n, i.join()].join(), + o = e[a]; + return ( + o || (e[a] = o = t([n, i])), + o( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + ) + ); + }; + }, + fdTemplate1: function (t) { + var e = {}; + return function (r, n) { + var i = r.dtype, + a = r.order, + o = n.dtype, + s = n.order, + l = [i, a.join(), o, s.join()].join(), + u = e[l]; + return ( + u || (e[l] = u = t([i, a, o, s])), + u( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n.data, + n.stride, + 0 | n.offset, + ) + ); + }; + }, + fdTemplate2: function (t) { + var e = {}; + return function (r, n, i) { + var a = r.dtype, + o = r.order, + s = n.dtype, + l = n.order, + u = i.dtype, + c = i.order, + f = [ + a, + o.join(), + s, + l.join(), + u, + c.join(), + ].join(), + h = e[f]; + return ( + h || (e[f] = h = t([a, o, s, l, u, c])), + h( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n.data, + n.stride, + 0 | n.offset, + i.data, + i.stride, + 0 | i.offset, + ) + ); + }; + }, + }; + function o(t) { + return (0, a[t.funcName])(s.bind(void 0, t)); + } + function s(t) { + return i[t.funcName]; + } + function l(t) { + return o({ funcName: t.funcName }); + } + var u = {}, + c = {}, + f = l({ funcName: "cdiff" }), + h = l({ funcName: "zero" }); + function p(t) { + return t in u + ? u[t] + : (u[t] = l({ funcName: "fdTemplate" + t })); + } + function d(t, e, r, n) { + return function (t, i) { + var a = i.shape.slice(); + return ( + a[0] > 2 && + a[1] > 2 && + n( + i + .pick(-1, -1) + .lo(1, 1) + .hi(a[0] - 2, a[1] - 2), + t + .pick(-1, -1, 0) + .lo(1, 1) + .hi(a[0] - 2, a[1] - 2), + t + .pick(-1, -1, 1) + .lo(1, 1) + .hi(a[0] - 2, a[1] - 2), + ), + a[1] > 2 && + (r( + i + .pick(0, -1) + .lo(1) + .hi(a[1] - 2), + t + .pick(0, -1, 1) + .lo(1) + .hi(a[1] - 2), + ), + e( + t + .pick(0, -1, 0) + .lo(1) + .hi(a[1] - 2), + )), + a[1] > 2 && + (r( + i + .pick(a[0] - 1, -1) + .lo(1) + .hi(a[1] - 2), + t + .pick(a[0] - 1, -1, 1) + .lo(1) + .hi(a[1] - 2), + ), + e( + t + .pick(a[0] - 1, -1, 0) + .lo(1) + .hi(a[1] - 2), + )), + a[0] > 2 && + (r( + i + .pick(-1, 0) + .lo(1) + .hi(a[0] - 2), + t + .pick(-1, 0, 0) + .lo(1) + .hi(a[0] - 2), + ), + e( + t + .pick(-1, 0, 1) + .lo(1) + .hi(a[0] - 2), + )), + a[0] > 2 && + (r( + i + .pick(-1, a[1] - 1) + .lo(1) + .hi(a[0] - 2), + t + .pick(-1, a[1] - 1, 0) + .lo(1) + .hi(a[0] - 2), + ), + e( + t + .pick(-1, a[1] - 1, 1) + .lo(1) + .hi(a[0] - 2), + )), + t.set(0, 0, 0, 0), + t.set(0, 0, 1, 0), + t.set(a[0] - 1, 0, 0, 0), + t.set(a[0] - 1, 0, 1, 0), + t.set(0, a[1] - 1, 0, 0), + t.set(0, a[1] - 1, 1, 0), + t.set(a[0] - 1, a[1] - 1, 0, 0), + t.set(a[0] - 1, a[1] - 1, 1, 0), + t + ); + }; + } + t.exports = function (t, e, r) { + return ( + Array.isArray(r) || + (r = n( + e.dimension, + "string" == typeof r ? r : "clamp", + )), + 0 === e.size + ? t + : 0 === e.dimension + ? (t.set(0), t) + : (function (t) { + var e = t.join(); + if ((a = c[e])) return a; + for ( + var r = t.length, n = [f, h], i = 1; + i <= r; + ++i + ) + n.push(p(i)); + var a = d.apply(void 0, n); + return (c[e] = a), a; + })(r)(t, e) + ); + }; + }, + 3581: function (t) { + "use strict"; + function e(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 r(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], + f = a && u ? t.get(n, s) : 0, + h = a && c ? t.get(n, s + 1) : 0; + return ( + (1 - l) * + ((1 - i) * f + + i * (o && u ? t.get(n + 1, s) : 0)) + + l * + ((1 - i) * h + + i * (o && c ? t.get(n + 1, s + 1) : 0)) + ); + } + function n(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], + f = 0 <= l + 1 && l + 1 < t.shape[1], + h = Math.floor(n), + p = n - h, + d = 0 <= h && h < t.shape[2], + v = 0 <= h + 1 && h + 1 < t.shape[2], + g = o && c && d ? t.get(i, l, h) : 0, + y = o && f && d ? t.get(i, l + 1, h) : 0, + m = s && c && d ? t.get(i + 1, l, h) : 0, + x = s && f && d ? t.get(i + 1, l + 1, h) : 0, + b = o && c && v ? t.get(i, l, h + 1) : 0, + _ = o && f && v ? t.get(i, l + 1, h + 1) : 0; + return ( + (1 - p) * + ((1 - u) * ((1 - a) * g + a * m) + + u * ((1 - a) * y + a * x)) + + p * + ((1 - u) * + ((1 - a) * b + + a * + (s && c && v + ? t.get(i + 1, l, h + 1) + : 0)) + + u * + ((1 - a) * _ + + a * + (s && f && v + ? t.get(i + 1, l + 1, h + 1) + : 0))) + ); + } + function i(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, + f = 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]); + } + f += u * t.data[c]; + } + return f; + } + (t.exports = function (t, a, o, s) { + switch (t.shape.length) { + case 0: + return 0; + case 1: + return e(t, a); + case 2: + return r(t, a, o); + case 3: + return n(t, a, o, s); + default: + return i.apply(void 0, arguments); + } + }), + (t.exports.d1 = e), + (t.exports.d2 = r), + (t.exports.d3 = n); + }, + 7498: function (t, e) { + "use strict"; + var r = { + "float64,2,1,0": function () { + return function (t, e, r, n, i) { + var a = t[0], + o = t[1], + s = t[2], + l = r[0], + u = r[1], + c = r[2]; + n |= 0; + var f = 0, + h = 0, + p = 0, + d = c, + v = u - s * c, + g = l - o * u; + for (p = 0; p < a; ++p) { + for (h = 0; h < o; ++h) { + for (f = 0; f < s; ++f) + (e[n] /= i), (n += d); + n += v; + } + n += g; + } + }; + }, + "uint8,2,0,1,float64,2,1,0": function () { + return function (t, e, r, n, i, a, o, s) { + for ( + var l = t[0], + u = t[1], + c = t[2], + f = r[0], + h = r[1], + p = r[2], + d = a[0], + v = a[1], + g = a[2], + y = (n |= 0), + m = (o |= 0), + x = 0 | t[0]; + x > 0; + + ) { + x < 64 + ? ((l = x), (x = 0)) + : ((l = 64), (x -= 64)); + for (var b = 0 | t[1]; b > 0; ) { + b < 64 + ? ((u = b), (b = 0)) + : ((u = 64), (b -= 64)), + (n = y + x * f + b * h), + (o = m + x * d + b * v); + var _ = 0, + w = 0, + T = 0, + k = p, + A = f - c * p, + M = h - l * f, + S = g, + E = d - c * g, + L = v - l * d; + for (T = 0; T < u; ++T) { + for (w = 0; w < l; ++w) { + for (_ = 0; _ < c; ++_) + (e[n] = i[o] * s), + (n += k), + (o += S); + (n += A), (o += E); + } + (n += M), (o += L); + } + } + } + }; + }, + "float32,1,0,float32,1,0": function () { + return function (t, e, r, n, i, a, o) { + var s = t[0], + l = t[1], + u = r[0], + c = r[1], + f = a[0], + h = a[1]; + (n |= 0), (o |= 0); + var p = 0, + d = 0, + v = c, + g = u - l * c, + y = h, + m = f - l * h; + for (d = 0; d < s; ++d) { + for (p = 0; p < l; ++p) + (e[n] = i[o]), (n += v), (o += y); + (n += g), (o += m); + } + }; + }, + "float32,1,0,float32,0,1": function () { + return function (t, e, r, n, i, a, o) { + for ( + var s = t[0], + l = t[1], + u = r[0], + c = r[1], + f = a[0], + h = a[1], + p = (n |= 0), + d = (o |= 0), + v = 0 | t[1]; + v > 0; + + ) { + v < 64 + ? ((l = v), (v = 0)) + : ((l = 64), (v -= 64)); + for (var g = 0 | t[0]; g > 0; ) { + g < 64 + ? ((s = g), (g = 0)) + : ((s = 64), (g -= 64)), + (n = p + v * c + g * u), + (o = d + v * h + g * f); + var y = 0, + m = 0, + x = c, + b = u - l * c, + _ = h, + w = f - l * h; + for (m = 0; m < s; ++m) { + for (y = 0; y < l; ++y) + (e[n] = i[o]), (n += x), (o += _); + (n += b), (o += w); + } + } + } + }; + }, + "uint8,2,0,1,uint8,1,2,0": function () { + return function (t, e, r, n, i, a, o) { + for ( + var s = t[0], + l = t[1], + u = t[2], + c = r[0], + f = r[1], + h = r[2], + p = a[0], + d = a[1], + v = a[2], + g = (n |= 0), + y = (o |= 0), + m = 0 | t[2]; + m > 0; + + ) { + m < 64 + ? ((u = m), (m = 0)) + : ((u = 64), (m -= 64)); + for (var x = 0 | t[0]; x > 0; ) { + x < 64 + ? ((s = x), (x = 0)) + : ((s = 64), (x -= 64)); + for (var b = 0 | t[1]; b > 0; ) { + b < 64 + ? ((l = b), (b = 0)) + : ((l = 64), (b -= 64)), + (n = g + m * h + x * c + b * f), + (o = y + m * v + x * p + b * d); + var _ = 0, + w = 0, + T = 0, + k = h, + A = c - u * h, + M = f - s * c, + S = v, + E = p - u * v, + L = d - s * p; + for (T = 0; T < l; ++T) { + for (w = 0; w < s; ++w) { + for (_ = 0; _ < u; ++_) + (e[n] = i[o]), + (n += k), + (o += S); + (n += A), (o += E); + } + (n += M), (o += L); + } + } + } + } + }; + }, + "uint8,2,0,1,array,2,0,1": function () { + return function (t, e, r, n, i, a, o) { + var s = t[0], + l = t[1], + u = t[2], + c = r[0], + f = r[1], + h = r[2], + p = a[0], + d = a[1], + v = a[2]; + (n |= 0), (o |= 0); + var g = 0, + y = 0, + m = 0, + x = h, + b = c - u * h, + _ = f - s * c, + w = v, + T = p - u * v, + k = d - s * p; + for (m = 0; m < l; ++m) { + for (y = 0; y < s; ++y) { + for (g = 0; g < u; ++g) + (e[n] = i[o]), (n += x), (o += w); + (n += b), (o += T); + } + (n += _), (o += k); + } + }; + }, + }, + n = function (t, e) { + var n = e.join(","); + return (0, r[n])(); + }, + i = { + mul: function (t) { + var e = {}; + return function (r, n, i) { + var a = r.dtype, + o = r.order, + s = n.dtype, + l = n.order, + u = i.dtype, + c = i.order, + f = [ + a, + o.join(), + s, + l.join(), + u, + c.join(), + ].join(), + h = e[f]; + return ( + h || (e[f] = h = t([a, o, s, l, u, c])), + h( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n.data, + n.stride, + 0 | n.offset, + i.data, + i.stride, + 0 | i.offset, + ) + ); + }; + }, + muls: function (t) { + var e = {}; + return function (r, n, i) { + var a = r.dtype, + o = r.order, + s = n.dtype, + l = n.order, + u = [a, o.join(), s, l.join()].join(), + c = e[u]; + return ( + c || (e[u] = c = t([a, o, s, l])), + c( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n.data, + n.stride, + 0 | n.offset, + i, + ) + ); + }; + }, + mulseq: function (t) { + var e = {}; + return function (r, n) { + var i = r.dtype, + a = r.order, + o = [i, a.join()].join(), + s = e[o]; + return ( + s || (e[o] = s = t([i, a])), + s( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n, + ) + ); + }; + }, + div: function (t) { + var e = {}; + return function (r, n, i) { + var a = r.dtype, + o = r.order, + s = n.dtype, + l = n.order, + u = i.dtype, + c = i.order, + f = [ + a, + o.join(), + s, + l.join(), + u, + c.join(), + ].join(), + h = e[f]; + return ( + h || (e[f] = h = t([a, o, s, l, u, c])), + h( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n.data, + n.stride, + 0 | n.offset, + i.data, + i.stride, + 0 | i.offset, + ) + ); + }; + }, + divs: function (t) { + var e = {}; + return function (r, n, i) { + var a = r.dtype, + o = r.order, + s = n.dtype, + l = n.order, + u = [a, o.join(), s, l.join()].join(), + c = e[u]; + return ( + c || (e[u] = c = t([a, o, s, l])), + c( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n.data, + n.stride, + 0 | n.offset, + i, + ) + ); + }; + }, + divseq: function (t) { + var e = {}; + return function (r, n) { + var i = r.dtype, + a = r.order, + o = [i, a.join()].join(), + s = e[o]; + return ( + s || (e[o] = s = t([i, a])), + s( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n, + ) + ); + }; + }, + assign: function (t) { + var e = {}; + return function (r, n) { + var i = r.dtype, + a = r.order, + o = n.dtype, + s = n.order, + l = [i, a.join(), o, s.join()].join(), + u = e[l]; + return ( + u || (e[l] = u = t([i, a, o, s])), + u( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n.data, + n.stride, + 0 | n.offset, + ) + ); + }; + }, + }; + function a(t) { + return ( + (e = { funcName: t.funcName }), + (0, i[e.funcName])(n.bind(void 0, e)) + ); + var e; + } + var o = { mul: "*", div: "/" }; + !(function () { + for (var t in o) + (e[t] = a({ funcName: t })), + (e[t + "s"] = a({ funcName: t + "s" })), + (e[t + "seq"] = a({ funcName: t + "seq" })); + })(), + (e.assign = a({ funcName: "assign" })); + }, + 7382: function (t, e, r) { + "use strict"; + var n = r(5050), + i = r(9262); + t.exports = function (t, e) { + for ( + var r = [], a = t, o = 1; + Array.isArray(a); + + ) + r.push(a.length), (o *= a.length), (a = a[0]); + return 0 === r.length + ? n() + : (e || (e = n(new Float64Array(o), r)), + i(e, t), + e); + }; + }, + 9262: function (t) { + "use strict"; + t.exports = (function (t) { + var e = {}; + return function (r, n) { + var i = r.dtype, + a = r.order, + o = [i, a.join()].join(), + s = e[o]; + return ( + s || (e[o] = s = t([i, a])), + s( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n, + ) + ); + }; + })( + function () { + return function (t, e, r, n, i) { + var a = t[0], + o = t[1], + s = t[2], + l = r[0], + u = r[1], + c = r[2], + f = [0, 0, 0]; + n |= 0; + var h = 0, + p = 0, + d = 0, + v = c, + g = u - s * c, + y = l - o * u; + for (d = 0; d < a; ++d) { + for (p = 0; p < o; ++p) { + for (h = 0; h < s; ++h) { + var m, + x = i; + for (m = 0; m < f.length - 1; ++m) + x = x[f[m]]; + (e[n] = x[f[f.length - 1]]), + (n += v), + ++f[2]; + } + (n += g), (f[2] -= s), ++f[1]; + } + (n += y), (f[1] -= o), ++f[0]; + } + }; + }.bind(void 0, { funcName: "convert" }), + ); + }, + 8139: function (t, e, r) { + "use strict"; + var n = r(5306); + function i(t) { + return "uint32" === t + ? [n.mallocUint32, n.freeUint32] + : null; + } + var a = { + "uint32,1,0": function (t, e) { + return function ( + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + ) { + var p, + d, + v, + g, + y, + m, + x, + b, + _ = r * o + a, + w = t(u); + for (p = r + 1; p <= n; ++p) { + for ( + d = p, + v = _ += o, + y = 0, + m = _, + g = 0; + g < u; + ++g + ) + (w[y++] = i[m]), (m += c); + t: for (; d-- > r; ) { + (y = 0), (m = v - o); + e: for (g = 0; g < u; ++g) { + if ((x = i[m]) < (b = w[y])) + break t; + if (x > b) break e; + (m += f), (y += h); + } + for ( + y = v, m = v - o, g = 0; + g < u; + ++g + ) + (i[y] = i[m]), (y += c), (m += c); + v -= o; + } + for (y = v, m = 0, g = 0; g < u; ++g) + (i[y] = w[m++]), (y += c); + } + e(w); + }; + }, + }, + o = { + "uint32,1,0": function (t, e, r) { + return function n( + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + ) { + var v, + g, + y, + m, + x, + b, + _, + w, + T, + k, + A, + M, + S, + E, + L, + C, + P, + O, + I, + D, + z, + R, + F, + B, + N, + j = ((a - i + 1) / 6) | 0, + U = i + j, + V = a - j, + H = (i + a) >> 1, + q = H - j, + G = H + j, + Z = U, + Y = q, + W = H, + X = G, + J = V, + K = i + 1, + $ = a - 1, + Q = !0, + tt = 0, + et = 0, + rt = 0, + nt = f, + it = e(nt), + at = e(nt); + (A = l * Z), (M = l * Y), (N = s); + t: for (k = 0; k < f; ++k) { + if ( + ((w = M + N), + (rt = o[(_ = A + N)] - o[w]) > 0) + ) { + (g = Z), (Z = Y), (Y = g); + break t; + } + if (rt < 0) break t; + N += p; + } + (A = l * X), (M = l * J), (N = s); + t: for (k = 0; k < f; ++k) { + if ( + ((w = M + N), + (rt = o[(_ = A + N)] - o[w]) > 0) + ) { + (g = X), (X = J), (J = g); + break t; + } + if (rt < 0) break t; + N += p; + } + (A = l * Z), (M = l * W), (N = s); + t: for (k = 0; k < f; ++k) { + if ( + ((w = M + N), + (rt = o[(_ = A + N)] - o[w]) > 0) + ) { + (g = Z), (Z = W), (W = g); + break t; + } + if (rt < 0) break t; + N += p; + } + (A = l * Y), (M = l * W), (N = s); + t: for (k = 0; k < f; ++k) { + if ( + ((w = M + N), + (rt = o[(_ = A + N)] - o[w]) > 0) + ) { + (g = Y), (Y = W), (W = g); + break t; + } + if (rt < 0) break t; + N += p; + } + (A = l * Z), (M = l * X), (N = s); + t: for (k = 0; k < f; ++k) { + if ( + ((w = M + N), + (rt = o[(_ = A + N)] - o[w]) > 0) + ) { + (g = Z), (Z = X), (X = g); + break t; + } + if (rt < 0) break t; + N += p; + } + (A = l * W), (M = l * X), (N = s); + t: for (k = 0; k < f; ++k) { + if ( + ((w = M + N), + (rt = o[(_ = A + N)] - o[w]) > 0) + ) { + (g = W), (W = X), (X = g); + break t; + } + if (rt < 0) break t; + N += p; + } + (A = l * Y), (M = l * J), (N = s); + t: for (k = 0; k < f; ++k) { + if ( + ((w = M + N), + (rt = o[(_ = A + N)] - o[w]) > 0) + ) { + (g = Y), (Y = J), (J = g); + break t; + } + if (rt < 0) break t; + N += p; + } + (A = l * Y), (M = l * W), (N = s); + t: for (k = 0; k < f; ++k) { + if ( + ((w = M + N), + (rt = o[(_ = A + N)] - o[w]) > 0) + ) { + (g = Y), (Y = W), (W = g); + break t; + } + if (rt < 0) break t; + N += p; + } + (A = l * X), (M = l * J), (N = s); + t: for (k = 0; k < f; ++k) { + if ( + ((w = M + N), + (rt = o[(_ = A + N)] - o[w]) > 0) + ) { + (g = X), (X = J), (J = g); + break t; + } + if (rt < 0) break t; + N += p; + } + for ( + A = l * Z, + M = l * Y, + S = l * W, + E = l * X, + L = l * J, + C = l * U, + P = l * H, + O = l * V, + B = 0, + N = s, + k = 0; + k < f; + ++k + ) + (_ = A + N), + (w = M + N), + (T = S + N), + (I = E + N), + (D = L + N), + (z = C + N), + (R = P + N), + (F = O + N), + (it[B] = o[w]), + (at[B] = o[I]), + (Q = Q && it[B] === at[B]), + (y = o[_]), + (m = o[T]), + (x = o[D]), + (o[z] = y), + (o[R] = m), + (o[F] = x), + ++B, + (N += h); + for ( + A = l * q, M = l * i, N = s, k = 0; + k < f; + ++k + ) + (w = M + N), + (o[(_ = A + N)] = o[w]), + (N += h); + for ( + A = l * G, M = l * a, N = s, k = 0; + k < f; + ++k + ) + (w = M + N), + (o[(_ = A + N)] = o[w]), + (N += h); + if (Q) + for (b = K; b <= $; ++b) { + for ( + _ = s + b * l, B = 0, k = 0; + k < f && 0 == (rt = o[_] - it[B]); + ++k + ) + (B += d), (_ += p); + if (0 !== rt) + if (rt < 0) { + if (b !== K) + for ( + A = l * b, + M = l * K, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (v = o[(_ = A + N)]), + (o[_] = o[w]), + (o[w] = v), + (N += h); + ++K; + } else + for (;;) { + for ( + _ = s + $ * l, B = 0, k = 0; + k < f && + 0 == (rt = o[_] - it[B]); + ++k + ) + (B += d), (_ += p); + if (!(rt > 0)) { + if (rt < 0) { + for ( + A = l * b, + M = l * K, + S = l * $, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (T = S + N), + (v = o[(_ = A + N)]), + (o[_] = o[w]), + (o[w] = o[T]), + (o[T] = v), + (N += h); + ++K, --$; + break; + } + for ( + A = l * b, + M = l * $, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (v = o[(_ = A + N)]), + (o[_] = o[w]), + (o[w] = v), + (N += h); + --$; + break; + } + $--; + } + } + else + for (b = K; b <= $; ++b) { + for ( + _ = s + b * l, B = 0, k = 0; + k < f && 0 == (tt = o[_] - it[B]); + ++k + ) + (B += d), (_ += p); + if (tt < 0) { + if (b !== K) + for ( + A = l * b, + M = l * K, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (v = o[(_ = A + N)]), + (o[_] = o[w]), + (o[w] = v), + (N += h); + ++K; + } else { + for ( + _ = s + b * l, B = 0, k = 0; + k < f && 0 == (et = o[_] - at[B]); + ++k + ) + (B += d), (_ += p); + if (et > 0) + for (;;) { + for ( + _ = s + $ * l, B = 0, k = 0; + k < f && + 0 == (rt = o[_] - at[B]); + ++k + ) + (B += d), (_ += p); + if (!(rt > 0)) { + for ( + _ = s + $ * l, B = 0, k = 0; + k < f && + 0 == (rt = o[_] - it[B]); + ++k + ) + (B += d), (_ += p); + if (rt < 0) { + for ( + A = l * b, + M = l * K, + S = l * $, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (T = S + N), + (v = o[(_ = A + N)]), + (o[_] = o[w]), + (o[w] = o[T]), + (o[T] = v), + (N += h); + ++K, --$; + } else { + for ( + A = l * b, + M = l * $, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (v = o[(_ = A + N)]), + (o[_] = o[w]), + (o[w] = v), + (N += h); + --$; + } + break; + } + if (--$ < b) break; + } + } + } + for ( + A = l * i, + M = l * (K - 1), + B = 0, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (o[(_ = A + N)] = o[w]), + (o[w] = it[B]), + ++B, + (N += h); + for ( + A = l * a, + M = l * ($ + 1), + B = 0, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (o[(_ = A + N)] = o[w]), + (o[w] = at[B]), + ++B, + (N += h); + if ( + (K - 2 - i <= 32 + ? t( + i, + K - 2, + o, + s, + l, + u, + c, + f, + h, + p, + d, + ) + : n( + i, + K - 2, + o, + s, + l, + u, + c, + f, + h, + p, + d, + ), + a - ($ + 2) <= 32 + ? t( + $ + 2, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + ) + : n( + $ + 2, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + ), + Q) + ) + return r(it), void r(at); + if (K < U && $ > V) { + t: for (;;) { + for ( + _ = s + K * l, B = 0, N = s, k = 0; + k < f; + ++k + ) { + if (o[_] !== it[B]) break t; + ++B, (_ += h); + } + ++K; + } + t: for (;;) { + for ( + _ = s + $ * l, B = 0, N = s, k = 0; + k < f; + ++k + ) { + if (o[_] !== at[B]) break t; + ++B, (_ += h); + } + --$; + } + for (b = K; b <= $; ++b) { + for ( + _ = s + b * l, B = 0, k = 0; + k < f && 0 == (tt = o[_] - it[B]); + ++k + ) + (B += d), (_ += p); + if (0 === tt) { + if (b !== K) + for ( + A = l * b, + M = l * K, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (v = o[(_ = A + N)]), + (o[_] = o[w]), + (o[w] = v), + (N += h); + ++K; + } else { + for ( + _ = s + b * l, B = 0, k = 0; + k < f && 0 == (et = o[_] - at[B]); + ++k + ) + (B += d), (_ += p); + if (0 === et) + for (;;) { + for ( + _ = s + $ * l, B = 0, k = 0; + k < f && + 0 == (rt = o[_] - at[B]); + ++k + ) + (B += d), (_ += p); + if (0 !== rt) { + for ( + _ = s + $ * l, B = 0, k = 0; + k < f && + 0 == (rt = o[_] - it[B]); + ++k + ) + (B += d), (_ += p); + if (rt < 0) { + for ( + A = l * b, + M = l * K, + S = l * $, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (T = S + N), + (v = o[(_ = A + N)]), + (o[_] = o[w]), + (o[w] = o[T]), + (o[T] = v), + (N += h); + ++K, --$; + } else { + for ( + A = l * b, + M = l * $, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (v = o[(_ = A + N)]), + (o[_] = o[w]), + (o[w] = v), + (N += h); + --$; + } + break; + } + if (--$ < b) break; + } + } + } + } + r(it), + r(at), + $ - K <= 32 + ? t(K, $, o, s, l, u, c, f, h, p, d) + : n(K, $, o, s, l, u, c, f, h, p, d); + }; + }, + }, + s = { + "uint32,1,0": function (t, e) { + return function (r) { + var n = r.data, + i = 0 | r.offset, + a = r.shape, + o = r.stride, + s = 0 | o[0], + l = 0 | a[0], + u = 0 | o[1], + c = 0 | a[1], + f = u, + h = u; + l <= 32 + ? t(0, l - 1, n, i, s, u, l, c, f, h, 1) + : e( + 0, + l - 1, + n, + i, + s, + u, + l, + c, + f, + h, + 1, + ); + }; + }, + }; + t.exports = function (t, e) { + var r = [e, t].join(","), + n = s[r], + l = (function (t, e) { + var r = i(e), + n = [e, t].join(","), + o = a[n]; + return r ? o(r[0], r[1]) : o(); + })(t, e), + u = (function (t, e, r) { + var n = i(e), + a = [e, t].join(","), + s = o[a]; + return t.length > 1 && n + ? s(r, n[0], n[1]) + : s(r); + })(t, e, l); + return n(l, u); + }; + }, + 8729: function (t, e, r) { + "use strict"; + var n = r(8139), + i = {}; + t.exports = function (t) { + var e = t.order, + r = t.dtype, + a = [e, r].join(":"), + o = i[a]; + return o || (i[a] = o = n(e, r)), o(t), t; + }; + }, + 5050: function (t, e, r) { + var n = r(4780), + i = "undefined" != typeof Float64Array; + function a(t, e) { + return t[0] - e[0]; + } + function o() { + 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(a); + var n = new Array(r.length); + for (t = 0; t < n.length; ++t) n[t] = r[t][1]; + return n; + } + var s = { + T: function (t) { + function e(t) { + this.data = t; + } + var r = e.prototype; + return ( + (r.dtype = t), + (r.index = function () { + return -1; + }), + (r.size = 0), + (r.dimension = -1), + (r.shape = r.stride = r.order = []), + (r.lo = + r.hi = + r.transpose = + r.step = + function () { + return new e(this.data); + }), + (r.get = r.set = function () {}), + (r.pick = function () { + return null; + }), + function (t) { + return new e(t); + } + ); + }, + 0: function (t, e) { + function r(t, e) { + (this.data = t), (this.offset = e); + } + var n = r.prototype; + return ( + (n.dtype = t), + (n.index = function () { + return this.offset; + }), + (n.dimension = 0), + (n.size = 1), + (n.shape = n.stride = n.order = []), + (n.lo = + n.hi = + n.transpose = + n.step = + function () { + return new r(this.data, this.offset); + }), + (n.pick = function () { + return e(this.data); + }), + (n.valueOf = n.get = + function () { + return "generic" === t + ? this.data.get(this.offset) + : this.data[this.offset]; + }), + (n.set = function (e) { + return "generic" === t + ? this.data.set(this.offset, e) + : (this.data[this.offset] = e); + }), + function (t, e, n, i) { + return new r(t, i); + } + ); + }, + 1: function (t, e, r) { + function n(t, e, r, n) { + (this.data = t), + (this.shape = [e]), + (this.stride = [r]), + (this.offset = 0 | n); + } + var i = n.prototype; + return ( + (i.dtype = t), + (i.dimension = 1), + Object.defineProperty(i, "size", { + get: function () { + return this.shape[0]; + }, + }), + (i.order = [0]), + (i.set = function (e, r) { + return "generic" === t + ? this.data.set( + this.offset + this.stride[0] * e, + r, + ) + : (this.data[ + this.offset + this.stride[0] * e + ] = r); + }), + (i.get = function (e) { + return "generic" === t + ? this.data.get( + this.offset + this.stride[0] * e, + ) + : this.data[ + this.offset + this.stride[0] * e + ]; + }), + (i.index = function (t) { + return this.offset + this.stride[0] * t; + }), + (i.hi = function (t) { + return new n( + this.data, + "number" != typeof t || t < 0 + ? this.shape[0] + : 0 | t, + this.stride[0], + this.offset, + ); + }), + (i.lo = function (t) { + var e = this.offset, + r = 0, + i = this.shape[0], + a = this.stride[0]; + return ( + "number" == typeof t && + t >= 0 && + ((e += a * (r = 0 | t)), (i -= r)), + new n(this.data, i, a, e) + ); + }), + (i.step = function (t) { + var e = this.shape[0], + r = this.stride[0], + i = this.offset, + a = 0, + o = Math.ceil; + return ( + "number" == typeof t && + ((a = 0 | t) < 0 + ? ((i += r * (e - 1)), + (e = o(-e / a))) + : (e = o(e / a)), + (r *= a)), + new n(this.data, e, r, i) + ); + }), + (i.transpose = function (t) { + t = void 0 === t ? 0 : 0 | t; + var e = this.shape, + r = this.stride; + return new n( + this.data, + e[t], + r[t], + this.offset, + ); + }), + (i.pick = function (t) { + var r = [], + n = [], + i = this.offset; + return ( + "number" == typeof t && t >= 0 + ? (i = (i + this.stride[0] * t) | 0) + : (r.push(this.shape[0]), + n.push(this.stride[0])), + (0, e[r.length + 1])(this.data, r, n, i) + ); + }), + function (t, e, r, i) { + return new n(t, e[0], r[0], i); + } + ); + }, + 2: function (t, e, r) { + function n(t, e, r, n, i, a) { + (this.data = t), + (this.shape = [e, r]), + (this.stride = [n, i]), + (this.offset = 0 | a); + } + var i = n.prototype; + return ( + (i.dtype = t), + (i.dimension = 2), + Object.defineProperty(i, "size", { + get: function () { + return this.shape[0] * this.shape[1]; + }, + }), + Object.defineProperty(i, "order", { + get: function () { + return Math.abs(this.stride[0]) > + Math.abs(this.stride[1]) + ? [1, 0] + : [0, 1]; + }, + }), + (i.set = function (e, r, n) { + return "generic" === t + ? this.data.set( + this.offset + + this.stride[0] * e + + this.stride[1] * r, + n, + ) + : (this.data[ + this.offset + + this.stride[0] * e + + this.stride[1] * r + ] = n); + }), + (i.get = function (e, r) { + return "generic" === t + ? this.data.get( + this.offset + + this.stride[0] * e + + this.stride[1] * r, + ) + : this.data[ + this.offset + + this.stride[0] * e + + this.stride[1] * r + ]; + }), + (i.index = function (t, e) { + return ( + this.offset + + this.stride[0] * t + + this.stride[1] * e + ); + }), + (i.hi = function (t, e) { + return new n( + this.data, + "number" != typeof t || t < 0 + ? this.shape[0] + : 0 | t, + "number" != typeof e || e < 0 + ? this.shape[1] + : 0 | e, + this.stride[0], + this.stride[1], + this.offset, + ); + }), + (i.lo = function (t, e) { + var r = this.offset, + i = 0, + a = this.shape[0], + o = this.shape[1], + s = this.stride[0], + l = this.stride[1]; + return ( + "number" == typeof t && + t >= 0 && + ((r += s * (i = 0 | t)), (a -= i)), + "number" == typeof e && + e >= 0 && + ((r += l * (i = 0 | e)), (o -= i)), + new n(this.data, a, o, s, l, r) + ); + }), + (i.step = function (t, e) { + var r = this.shape[0], + i = this.shape[1], + a = this.stride[0], + o = this.stride[1], + s = this.offset, + l = 0, + u = Math.ceil; + return ( + "number" == typeof t && + ((l = 0 | t) < 0 + ? ((s += a * (r - 1)), + (r = u(-r / l))) + : (r = u(r / l)), + (a *= l)), + "number" == typeof e && + ((l = 0 | e) < 0 + ? ((s += o * (i - 1)), + (i = u(-i / l))) + : (i = u(i / l)), + (o *= l)), + new n(this.data, r, i, a, o, s) + ); + }), + (i.transpose = function (t, e) { + (t = void 0 === t ? 0 : 0 | t), + (e = void 0 === e ? 1 : 0 | e); + var r = this.shape, + i = this.stride; + return new n( + this.data, + r[t], + r[e], + i[t], + i[e], + this.offset, + ); + }), + (i.pick = function (t, r) { + var n = [], + i = [], + a = this.offset; + return ( + "number" == typeof t && t >= 0 + ? (a = (a + this.stride[0] * t) | 0) + : (n.push(this.shape[0]), + i.push(this.stride[0])), + "number" == typeof r && r >= 0 + ? (a = (a + this.stride[1] * r) | 0) + : (n.push(this.shape[1]), + i.push(this.stride[1])), + (0, e[n.length + 1])(this.data, n, i, a) + ); + }), + function (t, e, r, i) { + return new n( + t, + e[0], + e[1], + r[0], + r[1], + i, + ); + } + ); + }, + 3: function (t, e, r) { + function n(t, e, r, n, i, a, o, s) { + (this.data = t), + (this.shape = [e, r, n]), + (this.stride = [i, a, o]), + (this.offset = 0 | s); + } + var i = n.prototype; + return ( + (i.dtype = t), + (i.dimension = 3), + Object.defineProperty(i, "size", { + get: function () { + return ( + this.shape[0] * + this.shape[1] * + this.shape[2] + ); + }, + }), + Object.defineProperty(i, "order", { + get: function () { + var t = Math.abs(this.stride[0]), + e = Math.abs(this.stride[1]), + r = Math.abs(this.stride[2]); + return t > e + ? e > r + ? [2, 1, 0] + : t > r + ? [1, 2, 0] + : [1, 0, 2] + : t > r + ? [2, 0, 1] + : r > e + ? [0, 1, 2] + : [0, 2, 1]; + }, + }), + (i.set = function (e, r, n, i) { + return "generic" === t + ? this.data.set( + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n, + i, + ) + : (this.data[ + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + ] = i); + }), + (i.get = function (e, r, n) { + return "generic" === t + ? this.data.get( + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n, + ) + : this.data[ + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + ]; + }), + (i.index = function (t, e, r) { + return ( + this.offset + + this.stride[0] * t + + this.stride[1] * e + + this.stride[2] * r + ); + }), + (i.hi = function (t, e, r) { + return new n( + this.data, + "number" != typeof t || t < 0 + ? this.shape[0] + : 0 | t, + "number" != typeof e || e < 0 + ? this.shape[1] + : 0 | e, + "number" != typeof r || r < 0 + ? this.shape[2] + : 0 | r, + this.stride[0], + this.stride[1], + this.stride[2], + this.offset, + ); + }), + (i.lo = function (t, e, r) { + var i = this.offset, + a = 0, + o = this.shape[0], + s = this.shape[1], + l = this.shape[2], + u = this.stride[0], + c = this.stride[1], + f = this.stride[2]; + return ( + "number" == typeof t && + t >= 0 && + ((i += u * (a = 0 | t)), (o -= a)), + "number" == typeof e && + e >= 0 && + ((i += c * (a = 0 | e)), (s -= a)), + "number" == typeof r && + r >= 0 && + ((i += f * (a = 0 | r)), (l -= a)), + new n(this.data, o, s, l, u, c, f, i) + ); + }), + (i.step = function (t, e, r) { + var i = this.shape[0], + a = this.shape[1], + o = this.shape[2], + s = this.stride[0], + l = this.stride[1], + u = this.stride[2], + c = this.offset, + f = 0, + h = Math.ceil; + return ( + "number" == typeof t && + ((f = 0 | t) < 0 + ? ((c += s * (i - 1)), + (i = h(-i / f))) + : (i = h(i / f)), + (s *= f)), + "number" == typeof e && + ((f = 0 | e) < 0 + ? ((c += l * (a - 1)), + (a = h(-a / f))) + : (a = h(a / f)), + (l *= f)), + "number" == typeof r && + ((f = 0 | r) < 0 + ? ((c += u * (o - 1)), + (o = h(-o / f))) + : (o = h(o / f)), + (u *= f)), + new n(this.data, i, a, o, s, l, u, c) + ); + }), + (i.transpose = function (t, e, r) { + (t = void 0 === t ? 0 : 0 | t), + (e = void 0 === e ? 1 : 0 | e), + (r = void 0 === r ? 2 : 0 | r); + var i = this.shape, + a = this.stride; + return new n( + this.data, + i[t], + i[e], + i[r], + a[t], + a[e], + a[r], + this.offset, + ); + }), + (i.pick = function (t, r, n) { + var i = [], + a = [], + o = this.offset; + return ( + "number" == typeof t && t >= 0 + ? (o = (o + this.stride[0] * t) | 0) + : (i.push(this.shape[0]), + a.push(this.stride[0])), + "number" == typeof r && r >= 0 + ? (o = (o + this.stride[1] * r) | 0) + : (i.push(this.shape[1]), + a.push(this.stride[1])), + "number" == typeof n && n >= 0 + ? (o = (o + this.stride[2] * n) | 0) + : (i.push(this.shape[2]), + a.push(this.stride[2])), + (0, e[i.length + 1])(this.data, i, a, o) + ); + }), + function (t, e, r, i) { + return new n( + t, + e[0], + e[1], + e[2], + r[0], + r[1], + r[2], + i, + ); + } + ); + }, + 4: function (t, e, r) { + function n(t, e, r, n, i, a, o, s, l, u) { + (this.data = t), + (this.shape = [e, r, n, i]), + (this.stride = [a, o, s, l]), + (this.offset = 0 | u); + } + var i = n.prototype; + return ( + (i.dtype = t), + (i.dimension = 4), + Object.defineProperty(i, "size", { + get: function () { + return ( + this.shape[0] * + this.shape[1] * + this.shape[2] * + this.shape[3] + ); + }, + }), + Object.defineProperty(i, "order", { + get: r, + }), + (i.set = function (e, r, n, i, a) { + return "generic" === t + ? this.data.set( + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + + this.stride[3] * i, + a, + ) + : (this.data[ + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + + this.stride[3] * i + ] = a); + }), + (i.get = function (e, r, n, i) { + return "generic" === t + ? this.data.get( + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + + this.stride[3] * i, + ) + : this.data[ + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + + this.stride[3] * i + ]; + }), + (i.index = function (t, e, r, n) { + return ( + this.offset + + this.stride[0] * t + + this.stride[1] * e + + this.stride[2] * r + + this.stride[3] * n + ); + }), + (i.hi = function (t, e, r, i) { + return new n( + this.data, + "number" != typeof t || t < 0 + ? this.shape[0] + : 0 | t, + "number" != typeof e || e < 0 + ? this.shape[1] + : 0 | e, + "number" != typeof r || r < 0 + ? this.shape[2] + : 0 | r, + "number" != typeof i || i < 0 + ? this.shape[3] + : 0 | i, + this.stride[0], + this.stride[1], + this.stride[2], + this.stride[3], + this.offset, + ); + }), + (i.lo = function (t, e, r, i) { + var a = this.offset, + o = 0, + s = this.shape[0], + l = this.shape[1], + u = this.shape[2], + c = this.shape[3], + f = this.stride[0], + h = this.stride[1], + p = this.stride[2], + d = this.stride[3]; + return ( + "number" == typeof t && + t >= 0 && + ((a += f * (o = 0 | t)), (s -= o)), + "number" == typeof e && + e >= 0 && + ((a += h * (o = 0 | e)), (l -= o)), + "number" == typeof r && + r >= 0 && + ((a += p * (o = 0 | r)), (u -= o)), + "number" == typeof i && + i >= 0 && + ((a += d * (o = 0 | i)), (c -= o)), + new n( + this.data, + s, + l, + u, + c, + f, + h, + p, + d, + a, + ) + ); + }), + (i.step = function (t, e, r, i) { + var a = this.shape[0], + o = this.shape[1], + s = this.shape[2], + l = this.shape[3], + u = this.stride[0], + c = this.stride[1], + f = this.stride[2], + h = this.stride[3], + p = this.offset, + d = 0, + v = Math.ceil; + return ( + "number" == typeof t && + ((d = 0 | t) < 0 + ? ((p += u * (a - 1)), + (a = v(-a / d))) + : (a = v(a / d)), + (u *= d)), + "number" == typeof e && + ((d = 0 | e) < 0 + ? ((p += c * (o - 1)), + (o = v(-o / d))) + : (o = v(o / d)), + (c *= d)), + "number" == typeof r && + ((d = 0 | r) < 0 + ? ((p += f * (s - 1)), + (s = v(-s / d))) + : (s = v(s / d)), + (f *= d)), + "number" == typeof i && + ((d = 0 | i) < 0 + ? ((p += h * (l - 1)), + (l = v(-l / d))) + : (l = v(l / d)), + (h *= d)), + new n( + this.data, + a, + o, + s, + l, + u, + c, + f, + h, + p, + ) + ); + }), + (i.transpose = function (t, e, r, i) { + (t = void 0 === t ? 0 : 0 | t), + (e = void 0 === e ? 1 : 0 | e), + (r = void 0 === r ? 2 : 0 | r), + (i = void 0 === i ? 3 : 0 | i); + var a = this.shape, + o = this.stride; + return new n( + this.data, + a[t], + a[e], + a[r], + a[i], + o[t], + o[e], + o[r], + o[i], + this.offset, + ); + }), + (i.pick = function (t, r, n, i) { + var a = [], + o = [], + s = this.offset; + return ( + "number" == typeof t && t >= 0 + ? (s = (s + this.stride[0] * t) | 0) + : (a.push(this.shape[0]), + o.push(this.stride[0])), + "number" == typeof r && r >= 0 + ? (s = (s + this.stride[1] * r) | 0) + : (a.push(this.shape[1]), + o.push(this.stride[1])), + "number" == typeof n && n >= 0 + ? (s = (s + this.stride[2] * n) | 0) + : (a.push(this.shape[2]), + o.push(this.stride[2])), + "number" == typeof i && i >= 0 + ? (s = (s + this.stride[3] * i) | 0) + : (a.push(this.shape[3]), + o.push(this.stride[3])), + (0, e[a.length + 1])(this.data, a, o, s) + ); + }), + function (t, e, r, i) { + return new n( + t, + e[0], + e[1], + e[2], + e[3], + r[0], + r[1], + r[2], + r[3], + i, + ); + } + ); + }, + 5: function (t, e, r) { + function n( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + ) { + (this.data = t), + (this.shape = [e, r, n, i, a]), + (this.stride = [o, s, l, u, c]), + (this.offset = 0 | f); + } + var i = n.prototype; + return ( + (i.dtype = t), + (i.dimension = 5), + Object.defineProperty(i, "size", { + get: function () { + return ( + this.shape[0] * + this.shape[1] * + this.shape[2] * + this.shape[3] * + this.shape[4] + ); + }, + }), + Object.defineProperty(i, "order", { + get: r, + }), + (i.set = function (e, r, n, i, a, o) { + return "generic" === t + ? this.data.set( + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + + this.stride[3] * i + + this.stride[4] * a, + o, + ) + : (this.data[ + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + + this.stride[3] * i + + this.stride[4] * a + ] = o); + }), + (i.get = function (e, r, n, i, a) { + return "generic" === t + ? this.data.get( + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + + this.stride[3] * i + + this.stride[4] * a, + ) + : this.data[ + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + + this.stride[3] * i + + this.stride[4] * a + ]; + }), + (i.index = function (t, e, r, n, i) { + return ( + this.offset + + this.stride[0] * t + + this.stride[1] * e + + this.stride[2] * r + + this.stride[3] * n + + this.stride[4] * i + ); + }), + (i.hi = function (t, e, r, i, a) { + return new n( + this.data, + "number" != typeof t || t < 0 + ? this.shape[0] + : 0 | t, + "number" != typeof e || e < 0 + ? this.shape[1] + : 0 | e, + "number" != typeof r || r < 0 + ? this.shape[2] + : 0 | r, + "number" != typeof i || i < 0 + ? this.shape[3] + : 0 | i, + "number" != typeof a || a < 0 + ? this.shape[4] + : 0 | a, + this.stride[0], + this.stride[1], + this.stride[2], + this.stride[3], + this.stride[4], + this.offset, + ); + }), + (i.lo = function (t, e, r, i, a) { + var o = this.offset, + s = 0, + l = this.shape[0], + u = this.shape[1], + c = this.shape[2], + f = this.shape[3], + h = this.shape[4], + p = this.stride[0], + d = this.stride[1], + v = this.stride[2], + g = this.stride[3], + y = this.stride[4]; + return ( + "number" == typeof t && + t >= 0 && + ((o += p * (s = 0 | t)), (l -= s)), + "number" == typeof e && + e >= 0 && + ((o += d * (s = 0 | e)), (u -= s)), + "number" == typeof r && + r >= 0 && + ((o += v * (s = 0 | r)), (c -= s)), + "number" == typeof i && + i >= 0 && + ((o += g * (s = 0 | i)), (f -= s)), + "number" == typeof a && + a >= 0 && + ((o += y * (s = 0 | a)), (h -= s)), + new n( + this.data, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + o, + ) + ); + }), + (i.step = function (t, e, r, i, a) { + var o = this.shape[0], + s = this.shape[1], + l = this.shape[2], + u = this.shape[3], + c = this.shape[4], + f = this.stride[0], + h = this.stride[1], + p = this.stride[2], + d = this.stride[3], + v = this.stride[4], + g = this.offset, + y = 0, + m = Math.ceil; + return ( + "number" == typeof t && + ((y = 0 | t) < 0 + ? ((g += f * (o - 1)), + (o = m(-o / y))) + : (o = m(o / y)), + (f *= y)), + "number" == typeof e && + ((y = 0 | e) < 0 + ? ((g += h * (s - 1)), + (s = m(-s / y))) + : (s = m(s / y)), + (h *= y)), + "number" == typeof r && + ((y = 0 | r) < 0 + ? ((g += p * (l - 1)), + (l = m(-l / y))) + : (l = m(l / y)), + (p *= y)), + "number" == typeof i && + ((y = 0 | i) < 0 + ? ((g += d * (u - 1)), + (u = m(-u / y))) + : (u = m(u / y)), + (d *= y)), + "number" == typeof a && + ((y = 0 | a) < 0 + ? ((g += v * (c - 1)), + (c = m(-c / y))) + : (c = m(c / y)), + (v *= y)), + new n( + this.data, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + ) + ); + }), + (i.transpose = function (t, e, r, i, a) { + (t = void 0 === t ? 0 : 0 | t), + (e = void 0 === e ? 1 : 0 | e), + (r = void 0 === r ? 2 : 0 | r), + (i = void 0 === i ? 3 : 0 | i), + (a = void 0 === a ? 4 : 0 | a); + var o = this.shape, + s = this.stride; + return new n( + this.data, + o[t], + o[e], + o[r], + o[i], + o[a], + s[t], + s[e], + s[r], + s[i], + s[a], + this.offset, + ); + }), + (i.pick = function (t, r, n, i, a) { + var o = [], + s = [], + l = this.offset; + return ( + "number" == typeof t && t >= 0 + ? (l = (l + this.stride[0] * t) | 0) + : (o.push(this.shape[0]), + s.push(this.stride[0])), + "number" == typeof r && r >= 0 + ? (l = (l + this.stride[1] * r) | 0) + : (o.push(this.shape[1]), + s.push(this.stride[1])), + "number" == typeof n && n >= 0 + ? (l = (l + this.stride[2] * n) | 0) + : (o.push(this.shape[2]), + s.push(this.stride[2])), + "number" == typeof i && i >= 0 + ? (l = (l + this.stride[3] * i) | 0) + : (o.push(this.shape[3]), + s.push(this.stride[3])), + "number" == typeof a && a >= 0 + ? (l = (l + this.stride[4] * a) | 0) + : (o.push(this.shape[4]), + s.push(this.stride[4])), + (0, e[o.length + 1])(this.data, o, s, l) + ); + }), + function (t, e, r, i) { + return new n( + t, + e[0], + e[1], + e[2], + e[3], + e[4], + r[0], + r[1], + r[2], + r[3], + r[4], + i, + ); + } + ); + }, + }; + function l(t, e) { + var r = -1 === e ? "T" : String(e), + n = s[r]; + return -1 === e + ? n(t) + : 0 === e + ? n(t, u[t][0]) + : n(t, u[t], o); + } + var u = { + generic: [], + buffer: [], + array: [], + float32: [], + float64: [], + int8: [], + int16: [], + int32: [], + uint8_clamped: [], + uint8: [], + uint16: [], + uint32: [], + bigint64: [], + biguint64: [], + }; + t.exports = function (t, e, r, a) { + if (void 0 === t) return (0, u.array[0])([]); + "number" == typeof t && (t = [t]), + void 0 === e && (e = [t.length]); + var o = e.length; + if (void 0 === r) { + r = new Array(o); + for (var s = o - 1, c = 1; s >= 0; --s) + (r[s] = c), (c *= e[s]); + } + if (void 0 === a) + for (a = 0, s = 0; s < o; ++s) + r[s] < 0 && (a -= (e[s] - 1) * r[s]); + for ( + var f = (function (t) { + if (n(t)) return "buffer"; + if (i) + 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 Uint8ClampedArray]": + return "uint8_clamped"; + case "[object Uint8Array]": + return "uint8"; + case "[object Uint16Array]": + return "uint16"; + case "[object Uint32Array]": + return "uint32"; + case "[object BigInt64Array]": + return "bigint64"; + case "[object BigUint64Array]": + return "biguint64"; + } + return Array.isArray(t) + ? "array" + : "generic"; + })(t), + h = u[f]; + h.length <= o + 1; + + ) + h.push(l(f, h.length - 1)); + return (0, h[o + 1])(t, e, r, a); + }; + }, + 8551: function (t, e, r) { + "use strict"; + var n = r(8362), + i = Math.pow(2, -1074), + a = -1 >>> 0; + t.exports = function (t, e) { + if (isNaN(t) || isNaN(e)) return NaN; + if (t === e) return t; + if (0 === t) return e < 0 ? -i : i; + var r = n.hi(t), + o = n.lo(t); + return ( + e > t == t > 0 + ? o === a + ? ((r += 1), (o = 0)) + : (o += 1) + : 0 === o + ? ((o = a), (r -= 1)) + : (o -= 1), + n.pack(o, r) + ); + }; + }, + 115: function (t, e) { + (e.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], + f = 0; + f < s.length; + ++f + ) { + (l = u), + (u = c), + (c = s[(f + 1) % s.length]); + for ( + var h = e[l], + p = e[u], + d = e[c], + v = new Array(3), + g = 0, + y = new Array(3), + m = 0, + x = 0; + x < 3; + ++x + ) + (v[x] = h[x] - p[x]), + (g += v[x] * v[x]), + (y[x] = d[x] - p[x]), + (m += y[x] * y[x]); + if (g * m > a) { + var b = i[u], + _ = 1 / Math.sqrt(g * m); + for (x = 0; x < 3; ++x) { + var w = (x + 1) % 3, + T = (x + 2) % 3; + b[x] += _ * (y[w] * v[T] - y[T] * v[w]); + } + } + } + for (o = 0; o < n; ++o) { + b = i[o]; + var k = 0; + for (x = 0; x < 3; ++x) k += b[x] * b[x]; + if (k > a) + for ( + _ = 1 / Math.sqrt(k), x = 0; + x < 3; + ++x + ) + b[x] *= _; + else for (x = 0; x < 3; ++x) b[x] = 0; + } + return i; + }), + (e.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), + f = new Array(3); + for (u = 0; u < 3; ++u) + (c[u] = l[1][u] - l[0][u]), + (f[u] = l[2][u] - l[0][u]); + var h = new Array(3), + p = 0; + for (u = 0; u < 3; ++u) { + var d = (u + 1) % 3, + v = (u + 2) % 3; + (h[u] = c[d] * f[v] - c[v] * f[d]), + (p += h[u] * h[u]); + } + for ( + p = p > a ? 1 / Math.sqrt(p) : 0, u = 0; + u < 3; + ++u + ) + h[u] *= p; + i[o] = h; + } + return i; + }); + }, + 567: function (t) { + "use strict"; + t.exports = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + ) { + var c = e + a + u; + if (f > 0) { + var f = Math.sqrt(c + 1); + (t[0] = (0.5 * (o - l)) / f), + (t[1] = (0.5 * (s - n)) / f), + (t[2] = (0.5 * (r - a)) / f), + (t[3] = 0.5 * f); + } else { + var h = Math.max(e, a, u); + (f = Math.sqrt(2 * h - c + 1)), + e >= h + ? ((t[0] = 0.5 * f), + (t[1] = (0.5 * (i + r)) / f), + (t[2] = (0.5 * (s + n)) / f), + (t[3] = (0.5 * (o - l)) / f)) + : a >= h + ? ((t[0] = (0.5 * (r + i)) / f), + (t[1] = 0.5 * f), + (t[2] = (0.5 * (l + o)) / f), + (t[3] = (0.5 * (s - n)) / f)) + : ((t[0] = (0.5 * (n + s)) / f), + (t[1] = (0.5 * (o + l)) / f), + (t[2] = 0.5 * f), + (t[3] = (0.5 * (r - i)) / f)); + } + return t; + }; + }, + 7774: function (t, e, r) { + "use strict"; + t.exports = 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)), + c((r = [].slice.call(r, 0, 4)), r); + var i = new f(r, e, Math.log(n)); + return ( + i.setDistanceLimits(t.zoomMin, t.zoomMax), + ("eye" in t || "up" in t) && + i.lookAt(0, t.eye, t.center, t.up), + i + ); + }; + var n = r(8444), + i = r(3012), + a = r(5950), + o = r(7437), + s = r(567); + function l(t, e, r) { + return Math.sqrt( + Math.pow(t, 2) + + Math.pow(e, 2) + + Math.pow(r, 2), + ); + } + function u(t, e, r, n) { + return Math.sqrt( + Math.pow(t, 2) + + Math.pow(e, 2) + + Math.pow(r, 2) + + Math.pow(n, 2), + ); + } + function c(t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = e[3], + o = u(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 f(t, e, r) { + (this.radius = n([r])), + (this.center = n(e)), + (this.rotation = n(t)), + (this.computedRadius = this.radius.curve(0)), + (this.computedCenter = this.center.curve(0)), + (this.computedRotation = + this.rotation.curve(0)), + (this.computedUp = [0.1, 0, 0]), + (this.computedEye = [0.1, 0, 0]), + (this.computedMatrix = [ + 0.1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, + ]), + this.recalcMatrix(0); + } + var h = f.prototype; + (h.lastT = function () { + return Math.max( + this.radius.lastT(), + this.center.lastT(), + this.rotation.lastT(), + ); + }), + (h.recalcMatrix = function (t) { + this.radius.curve(t), + this.center.curve(t), + this.rotation.curve(t); + var e = this.computedRotation; + c(e, e); + var r = this.computedMatrix; + a(r, e); + var n = this.computedCenter, + i = this.computedEye, + o = this.computedUp, + s = Math.exp(this.computedRadius[0]); + (i[0] = n[0] + s * r[2]), + (i[1] = n[1] + s * r[6]), + (i[2] = n[2] + s * r[10]), + (o[0] = r[1]), + (o[1] = r[5]), + (o[2] = r[9]); + for (var l = 0; l < 3; ++l) { + for (var u = 0, f = 0; f < 3; ++f) + u += r[l + 4 * f] * i[f]; + r[12 + l] = -u; + } + }), + (h.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; + }), + (h.idle = function (t) { + this.center.idle(t), + this.radius.idle(t), + this.rotation.idle(t); + }), + (h.flush = function (t) { + this.center.flush(t), + this.radius.flush(t), + this.rotation.flush(t); + }), + (h.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], + u = l(a, o, s); + (a /= u), (o /= u), (s /= u); + var c = i[0], + f = i[4], + h = i[8], + p = c * a + f * o + h * s, + d = l( + (c -= a * p), + (f -= o * p), + (h -= s * p), + ); + (c /= d), (f /= d), (h /= d); + var v = i[2], + g = i[6], + y = i[10], + m = v * a + g * o + y * s, + x = v * c + g * f + y * h, + b = l( + (v -= m * a + x * c), + (g -= m * o + x * f), + (y -= m * s + x * h), + ); + (v /= b), (g /= b), (y /= b); + var _ = c * e + a * r, + w = f * e + o * r, + T = h * e + s * r; + this.center.move(t, _, w, T); + var k = Math.exp(this.computedRadius[0]); + (k = Math.max(1e-4, k + n)), + this.radius.set(t, Math.log(k)); + }), + (h.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], + c = i[1], + f = i[5], + h = i[9], + p = i[2], + d = i[6], + v = i[10], + g = e * a + r * c, + y = e * o + r * f, + m = e * s + r * h, + x = -(d * m - v * y), + b = -(v * g - p * m), + _ = -(p * y - d * g), + w = Math.sqrt( + Math.max( + 0, + 1 - + Math.pow(x, 2) - + Math.pow(b, 2) - + Math.pow(_, 2), + ), + ), + T = u(x, b, _, w); + T > 1e-6 + ? ((x /= T), (b /= T), (_ /= T), (w /= T)) + : ((x = b = _ = 0), (w = 1)); + var k = this.computedRotation, + A = k[0], + M = k[1], + S = k[2], + E = k[3], + L = A * w + E * x + M * _ - S * b, + C = M * w + E * b + S * x - A * _, + P = S * w + E * _ + A * b - M * x, + O = E * w - A * x - M * b - S * _; + if (n) { + (x = p), (b = d), (_ = v); + var I = Math.sin(n) / l(x, b, _); + (x *= I), + (b *= I), + (_ *= I), + (O = + O * (w = Math.cos(e)) - + (L = L * w + O * x + C * _ - P * b) * + x - + (C = C * w + O * b + P * x - L * _) * + b - + (P = P * w + O * _ + L * b - C * x) * + _); + } + var D = u(L, C, P, O); + D > 1e-6 + ? ((L /= D), (C /= D), (P /= D), (O /= D)) + : ((L = C = P = 0), (O = 1)), + this.rotation.set(t, L, C, P, O); + }), + (h.lookAt = function (t, e, r, n) { + this.recalcMatrix(t), + (r = r || this.computedCenter), + (e = e || this.computedEye), + (n = n || this.computedUp); + var a = this.computedMatrix; + i(a, e, r, n); + var o = this.computedRotation; + s( + o, + a[0], + a[1], + a[2], + a[4], + a[5], + a[6], + a[8], + a[9], + a[10], + ), + c(o, o), + this.rotation.set( + t, + o[0], + o[1], + o[2], + o[3], + ); + for (var l = 0, u = 0; u < 3; ++u) + l += Math.pow(r[u] - e[u], 2); + this.radius.set( + t, + 0.5 * Math.log(Math.max(l, 1e-6)), + ), + this.center.set(t, r[0], r[1], r[2]); + }), + (h.translate = function (t, e, r, n) { + this.center.move(t, e || 0, r || 0, n || 0); + }), + (h.setMatrix = function (t, e) { + var r = this.computedRotation; + s( + r, + e[0], + e[1], + e[2], + e[4], + e[5], + e[6], + e[8], + e[9], + e[10], + ), + c(r, r), + this.rotation.set( + t, + r[0], + r[1], + r[2], + r[3], + ); + var n = this.computedMatrix; + o(n, e); + var i = n[15]; + if (Math.abs(i) > 1e-6) { + var a = n[12] / i, + l = n[13] / i, + u = n[14] / i; + this.recalcMatrix(t); + var f = Math.exp(this.computedRadius[0]); + this.center.set( + t, + a - n[2] * f, + l - n[6] * f, + u - n[10] * f, + ), + this.radius.idle(t); + } else + this.center.idle(t), this.radius.idle(t); + }), + (h.setDistance = function (t, e) { + e > 0 && this.radius.set(t, Math.log(e)); + }), + (h.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); + }), + (h.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])]; + }), + (h.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], + } + ); + }), + (h.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, + ); + }); + }, + 4930: function (t, e, r) { + "use strict"; + var n = r(6184); + t.exports = function (t, e, r) { + return ( + n((r = void 0 !== r ? r + "" : " "), e) + t + ); + }; + }, + 4405: function (t) { + t.exports = function (t, e) { + e || (e = [0, ""]), (t = String(t)); + var r = parseFloat(t, 10); + return ( + (e[0] = r), + (e[1] = + t.match(/[\d.\-\+]*\s*(.*)/)[1] || ""), + e + ); + }; + }, + 4166: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + for ( + var r = 0 | e.length, + i = t.length, + a = [new Array(r), new Array(r)], + o = 0; + o < r; + ++o + ) + (a[0][o] = []), (a[1][o] = []); + for (o = 0; o < i; ++o) { + var s = t[o]; + a[0][s[0]].push(s), a[1][s[1]].push(s); + } + var l = []; + for (o = 0; o < r; ++o) + a[0][o].length + a[1][o].length === 0 && + l.push([o]); + function u(t, e) { + var r = a[e][t[e]]; + r.splice(r.indexOf(t), 1); + } + function c(t, r, i) { + for (var o, s, l, c = 0; c < 2; ++c) + if (a[c][r].length > 0) { + (o = a[c][r][0]), (l = c); + break; + } + s = o[1 ^ l]; + for (var f = 0; f < 2; ++f) + for ( + var h = a[f][r], p = 0; + p < h.length; + ++p + ) { + var d = h[p], + v = d[1 ^ f]; + n(e[t], e[r], e[s], e[v]) > 0 && + ((o = d), (s = v), (l = f)); + } + return i || (o && u(o, l)), s; + } + function f(t, r) { + var i = a[r][t][0], + o = [t]; + u(i, r); + for (var s = i[1 ^ r]; ; ) { + for (; s !== t; ) + o.push(s), + (s = c(o[o.length - 2], s, !1)); + if (a[0][t].length + a[1][t].length === 0) + break; + var l = o[o.length - 1], + f = t, + h = o[1], + p = c(l, f, !0); + if (n(e[l], e[f], e[h], e[p]) < 0) break; + o.push(t), (s = c(l, f)); + } + return o; + } + function h(t, e) { + return e[1] === e[e.length - 1]; + } + for (o = 0; o < r; ++o) + for (var p = 0; p < 2; ++p) { + for (var d = []; a[p][o].length > 0; ) { + a[0][o].length; + var v = f(o, p); + h(0, v) + ? d.push.apply(d, v) + : (d.length > 0 && l.push(d), (d = v)); + } + d.length > 0 && l.push(d); + } + return l; + }; + var n = r(9398); + }, + 3959: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + for ( + var r = n(t, e.length), + i = new Array(e.length), + a = new Array(e.length), + o = [], + s = 0; + s < e.length; + ++s + ) { + var l = r[s].length; + (a[s] = l), (i[s] = !0), l <= 1 && o.push(s); + } + for (; o.length > 0; ) { + var u = o.pop(); + i[u] = !1; + var c = r[u]; + for (s = 0; s < c.length; ++s) { + var f = c[s]; + 0 == --a[f] && o.push(f); + } + } + var h = new Array(e.length), + p = []; + for (s = 0; s < e.length; ++s) + i[s] + ? ((u = p.length), (h[s] = u), p.push(e[s])) + : (h[s] = -1); + var d = []; + for (s = 0; s < t.length; ++s) { + var v = t[s]; + i[v[0]] && + i[v[1]] && + d.push([h[v[0]], h[v[1]]]); + } + return [d, p]; + }; + var n = r(8348); + }, + 8040: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + var r = u(t, e); + t = r[0]; + for ( + var f = (e = r[1]).length, + h = (t.length, n(t, e.length)), + p = 0; + p < f; + ++p + ) + if (h[p].length % 2 == 1) + throw new Error( + "planar-graph-to-polyline: graph must be manifold", + ); + var d = i(t, e), + v = (d = d.filter(function (t) { + for ( + var r = t.length, n = [0], i = 0; + i < r; + ++i + ) { + var a = e[t[i]], + l = e[t[(i + 1) % r]], + u = o(-a[0], a[1]), + c = o(-a[0], l[1]), + f = o(l[0], a[1]), + h = o(l[0], l[1]); + n = s(n, s(s(u, c), s(f, h))); + } + return n[n.length - 1] > 0; + })).length, + g = new Array(v), + y = new Array(v); + for (p = 0; p < v; ++p) { + g[p] = p; + var m = new Array(v), + x = d[p].map(function (t) { + return e[t]; + }), + b = a([x]), + _ = 0; + t: for (var w = 0; w < v; ++w) + if (((m[w] = 0), p !== w)) { + for ( + var T = (H = d[w]).length, k = 0; + k < T; + ++k + ) { + var A = b(e[H[k]]); + if (0 !== A) { + A < 0 && ((m[w] = 1), (_ += 1)); + continue t; + } + } + (m[w] = 1), (_ += 1); + } + y[p] = [_, p, m]; + } + for ( + y.sort(function (t, e) { + return e[0] - t[0]; + }), + p = 0; + p < v; + ++p + ) { + var M = (m = y[p])[1], + S = m[2]; + for (w = 0; w < v; ++w) S[w] && (g[w] = M); + } + var E = (function (t) { + for (var e = new Array(t), r = 0; r < t; ++r) + e[r] = []; + return e; + })(v); + for (p = 0; p < v; ++p) + E[p].push(g[p]), E[g[p]].push(p); + var L = {}, + C = c(f, !1); + for (p = 0; p < v; ++p) + for ( + T = (H = d[p]).length, w = 0; + w < T; + ++w + ) { + var P = H[w], + O = H[(w + 1) % T], + I = Math.min(P, O) + ":" + Math.max(P, O); + if (I in L) { + var D = L[I]; + E[D].push(p), + E[p].push(D), + (C[P] = C[O] = !0); + } else L[I] = p; + } + function z(t) { + for (var e = t.length, r = 0; r < e; ++r) + if (!C[t[r]]) return !1; + return !0; + } + var R = [], + F = c(v, -1); + for (p = 0; p < v; ++p) + g[p] !== p || z(d[p]) + ? (F[p] = -1) + : (R.push(p), (F[p] = 0)); + for (r = []; R.length > 0; ) { + var B = R.pop(), + N = E[B]; + l(N, function (t, e) { + return t - e; + }); + var j, + U = N.length, + V = F[B]; + if (0 === V) { + var H = d[B]; + j = [H]; + } + for (p = 0; p < U; ++p) { + var q = N[p]; + F[q] >= 0 || + ((F[q] = 1 ^ V), + R.push(q), + 0 === V && + (z((H = d[q])) || + (H.reverse(), j.push(H)))); + } + 0 === V && r.push(j); + } + return r; + }; + var n = r(8348), + i = r(4166), + a = r(211), + o = r(9660), + s = r(9662), + l = r(1215), + u = r(3959); + function c(t, e) { + for (var r = new Array(t), n = 0; n < t; ++n) + r[n] = e; + return r; + } + }, + 211: function (t, e, r) { + t.exports = function (t) { + for ( + var e = t.length, r = [], a = [], s = 0; + s < e; + ++s + ) + for ( + var c = t[s], + f = c.length, + h = f - 1, + p = 0; + p < f; + h = p++ + ) { + var d = c[h], + v = c[p]; + d[0] === v[0] + ? a.push([d, v]) + : r.push([d, v]); + } + if (0 === r.length) + return 0 === a.length + ? u + : ((g = l(a)), + function (t) { + return g(t[0], t[1]) ? 0 : 1; + }); + var g, + y = i(r), + m = (function (t, e) { + return function (r) { + var i = o.le(e, r[0]); + if (i < 0) return 1; + var a = t[i]; + if (!a) { + if (!(i > 0 && e[i] === r[0])) return 1; + a = t[i - 1]; + } + for (var s = 1; a; ) { + var l = a.key, + u = n(r, l[0], l[1]); + if (l[0][0] < l[1][0]) + if (u < 0) a = a.left; + else { + if (!(u > 0)) return 0; + (s = -1), (a = a.right); + } + else if (u > 0) a = a.left; + else { + if (!(u < 0)) return 0; + (s = 1), (a = a.right); + } + } + return s; + }; + })(y.slabs, y.coordinates); + return 0 === a.length + ? m + : (function (t, e) { + return function (r) { + return t(r[0], r[1]) ? 0 : e(r); + }; + })(l(a), m); + }; + var n = r(417)[3], + i = r(4385), + a = r(9014), + o = r(5070); + function s() { + return !0; + } + function l(t) { + for (var e = {}, r = 0; r < t.length; ++r) { + var n = t[r], + i = n[0][0], + o = n[0][1], + l = n[1][1], + u = [Math.min(o, l), Math.max(o, l)]; + i in e ? e[i].push(u) : (e[i] = [u]); + } + var c = {}, + f = Object.keys(e); + for (r = 0; r < f.length; ++r) { + var h = e[f[r]]; + c[f[r]] = a(h); + } + return (function (t) { + return function (e, r) { + var n = t[e]; + return !!n && !!n.queryPoint(r, s); + }; + })(c); + } + function u(t) { + return 1; + } + }, + 7309: function (t) { + "use strict"; + var e = new Float64Array(4), + r = new Float64Array(4), + n = new Float64Array(4); + t.exports = function (t, i, a, o, s) { + e.length < o.length && + ((e = new Float64Array(o.length)), + (r = new Float64Array(o.length)), + (n = new Float64Array(o.length))); + for (var l = 0; l < o.length; ++l) + (e[l] = t[l] - o[l]), + (r[l] = i[l] - t[l]), + (n[l] = a[l] - t[l]); + var u = 0, + c = 0, + f = 0, + h = 0, + p = 0, + d = 0; + for (l = 0; l < o.length; ++l) { + var v = r[l], + g = n[l], + y = e[l]; + (u += v * v), + (c += v * g), + (f += g * g), + (h += y * v), + (p += y * g), + (d += y * y); + } + var m, + x, + b, + _, + w, + T = Math.abs(u * f - c * c), + k = c * p - f * h, + A = c * h - u * p; + if (k + A <= T) + if (k < 0) + A < 0 && h < 0 + ? ((A = 0), + -h >= u + ? ((k = 1), (m = u + 2 * h + d)) + : (m = h * (k = -h / u) + d)) + : ((k = 0), + p >= 0 + ? ((A = 0), (m = d)) + : -p >= f + ? ((A = 1), (m = f + 2 * p + d)) + : (m = p * (A = -p / f) + d)); + else if (A < 0) + (A = 0), + h >= 0 + ? ((k = 0), (m = d)) + : -h >= u + ? ((k = 1), (m = u + 2 * h + d)) + : (m = h * (k = -h / u) + d); + else { + var M = 1 / T; + m = + (k *= M) * + (u * k + c * (A *= M) + 2 * h) + + A * (c * k + f * A + 2 * p) + + d; + } + else + k < 0 + ? (b = f + p) > (x = c + h) + ? (_ = b - x) >= (w = u - 2 * c + f) + ? ((k = 1), + (A = 0), + (m = u + 2 * h + d)) + : (m = + (k = _ / w) * + (u * k + + c * (A = 1 - k) + + 2 * h) + + A * (c * k + f * A + 2 * p) + + d) + : ((k = 0), + b <= 0 + ? ((A = 1), (m = f + 2 * p + d)) + : p >= 0 + ? ((A = 0), (m = d)) + : (m = p * (A = -p / f) + d)) + : A < 0 + ? (b = u + h) > (x = c + p) + ? (_ = b - x) >= (w = u - 2 * c + f) + ? ((A = 1), + (k = 0), + (m = f + 2 * p + d)) + : (m = + (k = 1 - (A = _ / w)) * + (u * k + c * A + 2 * h) + + A * (c * k + f * A + 2 * p) + + d) + : ((A = 0), + b <= 0 + ? ((k = 1), (m = u + 2 * h + d)) + : h >= 0 + ? ((k = 0), (m = d)) + : (m = h * (k = -h / u) + d)) + : (_ = f + p - c - h) <= 0 + ? ((k = 0), (A = 1), (m = f + 2 * p + d)) + : _ >= (w = u - 2 * c + f) + ? ((k = 1), (A = 0), (m = u + 2 * h + d)) + : (m = + (k = _ / w) * + (u * k + c * (A = 1 - k) + 2 * h) + + A * (c * k + f * A + 2 * p) + + d); + var S = 1 - k - A; + for (l = 0; l < o.length; ++l) + s[l] = S * t[l] + k * i[l] + A * a[l]; + return m < 0 ? 0 : m; + }; + }, + 1116: function (t, e, r) { + t.exports = r(6093); + }, + 7584: function (t, e, r) { + "use strict"; + var n = r(1539); + t.exports = function (t, e) { + for ( + var r = t.length, i = new Array(r), a = 0; + a < r; + ++a + ) + i[a] = n(t[a], e[a]); + return i; + }; + }, + 2826: function (t, e, r) { + "use strict"; + t.exports = function (t) { + for ( + var e = new Array(t.length), r = 0; + r < t.length; + ++r + ) + e[r] = n(t[r]); + return e; + }; + var n = r(5125); + }, + 4469: function (t, e, r) { + "use strict"; + var n = r(5125), + i = r(3962); + t.exports = function (t, e) { + for ( + var r = n(e), + a = t.length, + o = new Array(a), + s = 0; + s < a; + ++s + ) + o[s] = i(t[s], r); + return o; + }; + }, + 6695: function (t, e, r) { + "use strict"; + var n = r(4354); + t.exports = function (t, e) { + for ( + var r = t.length, i = new Array(r), a = 0; + a < r; + ++a + ) + i[a] = n(t[a], e[a]); + return i; + }; + }, + 7037: function (t, e, r) { + "use strict"; + var n = r(9209), + i = r(1284), + a = r(9887); + t.exports = function (t) { + t.sort(i); + for ( + var e = t.length, r = 0, o = 0; + o < e; + ++o + ) { + var s = t[o], + l = a(s); + if (0 !== l) { + if (r > 0) { + var u = t[r - 1]; + if (0 === n(s, u) && a(u) !== l) { + r -= 1; + continue; + } + } + t[r++] = s; + } + } + return (t.length = r), t; + }; + }, + 6184: function (t) { + "use strict"; + var e, + r = ""; + t.exports = function (t, n) { + if ("string" != typeof t) + throw new TypeError("expected a string"); + if (1 === n) return t; + if (2 === n) return t + t; + var i = t.length * n; + if (e !== t || void 0 === e) (e = t), (r = ""); + else if (r.length >= i) return r.substr(0, i); + for (; i > r.length && n > 1; ) + 1 & n && (r += t), (n >>= 1), (t += t); + return (r = (r += t).substr(0, i)); + }; + }, + 8161: function (t, e, r) { + t.exports = + r.g.performance && r.g.performance.now + ? function () { + return performance.now(); + } + : Date.now || + function () { + return +new Date(); + }; + }, + 402: function (t) { + "use strict"; + t.exports = 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]; + (l = o - ((r = a + o) - a)) && + ((t[--n] = r), (r = l)); + } + var s = 0; + for (i = n; i < e; ++i) { + var l; + (l = (o = r) - ((r = (a = t[i]) + o) - a)) && + (t[s++] = l); + } + return (t[s++] = r), (t.length = s), t; + }; + }, + 8167: function (t, e, r) { + "use strict"; + var n = r(9660), + i = r(9662), + a = r(8289), + o = r(402); + function s(t, e, r, n) { + return function (e) { + return n( + t( + r(e[0][0], e[1][1]), + r(-e[0][1], e[1][0]), + ), + ); + }; + } + function l(t, e, r, n) { + return function (i) { + return n( + t( + e( + t( + r(i[1][1], i[2][2]), + r(-i[1][2], i[2][1]), + ), + i[0][0], + ), + t( + e( + t( + r(i[1][0], i[2][2]), + r(-i[1][2], i[2][0]), + ), + -i[0][1], + ), + e( + t( + r(i[1][0], i[2][1]), + r(-i[1][1], i[2][0]), + ), + i[0][2], + ), + ), + ), + ); + }; + } + function u(t, e, r, n) { + return function (i) { + return n( + t( + t( + e( + t( + e( + t( + r(i[2][2], i[3][3]), + r(-i[2][3], i[3][2]), + ), + i[1][1], + ), + t( + e( + t( + r(i[2][1], i[3][3]), + r(-i[2][3], i[3][1]), + ), + -i[1][2], + ), + e( + t( + r(i[2][1], i[3][2]), + r(-i[2][2], i[3][1]), + ), + i[1][3], + ), + ), + ), + i[0][0], + ), + e( + t( + e( + t( + r(i[2][2], i[3][3]), + r(-i[2][3], i[3][2]), + ), + i[1][0], + ), + t( + e( + t( + r(i[2][0], i[3][3]), + r(-i[2][3], i[3][0]), + ), + -i[1][2], + ), + e( + t( + r(i[2][0], i[3][2]), + r(-i[2][2], i[3][0]), + ), + i[1][3], + ), + ), + ), + -i[0][1], + ), + ), + t( + e( + t( + e( + t( + r(i[2][1], i[3][3]), + r(-i[2][3], i[3][1]), + ), + i[1][0], + ), + t( + e( + t( + r(i[2][0], i[3][3]), + r(-i[2][3], i[3][0]), + ), + -i[1][1], + ), + e( + t( + r(i[2][0], i[3][1]), + r(-i[2][1], i[3][0]), + ), + i[1][3], + ), + ), + ), + i[0][2], + ), + e( + t( + e( + t( + r(i[2][1], i[3][2]), + r(-i[2][2], i[3][1]), + ), + i[1][0], + ), + t( + e( + t( + r(i[2][0], i[3][2]), + r(-i[2][2], i[3][0]), + ), + -i[1][1], + ), + e( + t( + r(i[2][0], i[3][1]), + r(-i[2][1], i[3][0]), + ), + i[1][2], + ), + ), + ), + -i[0][3], + ), + ), + ), + ); + }; + } + function c(t, e, r, n) { + return function (i) { + return n( + t( + t( + e( + t( + t( + e( + t( + e( + t( + r(i[3][3], i[4][4]), + r(-i[3][4], i[4][3]), + ), + i[2][2], + ), + t( + e( + t( + r(i[3][2], i[4][4]), + r(-i[3][4], i[4][2]), + ), + -i[2][3], + ), + e( + t( + r(i[3][2], i[4][3]), + r(-i[3][3], i[4][2]), + ), + i[2][4], + ), + ), + ), + i[1][1], + ), + e( + t( + e( + t( + r(i[3][3], i[4][4]), + r(-i[3][4], i[4][3]), + ), + i[2][1], + ), + t( + e( + t( + r(i[3][1], i[4][4]), + r(-i[3][4], i[4][1]), + ), + -i[2][3], + ), + e( + t( + r(i[3][1], i[4][3]), + r(-i[3][3], i[4][1]), + ), + i[2][4], + ), + ), + ), + -i[1][2], + ), + ), + t( + e( + t( + e( + t( + r(i[3][2], i[4][4]), + r(-i[3][4], i[4][2]), + ), + i[2][1], + ), + t( + e( + t( + r(i[3][1], i[4][4]), + r(-i[3][4], i[4][1]), + ), + -i[2][2], + ), + e( + t( + r(i[3][1], i[4][2]), + r(-i[3][2], i[4][1]), + ), + i[2][4], + ), + ), + ), + i[1][3], + ), + e( + t( + e( + t( + r(i[3][2], i[4][3]), + r(-i[3][3], i[4][2]), + ), + i[2][1], + ), + t( + e( + t( + r(i[3][1], i[4][3]), + r(-i[3][3], i[4][1]), + ), + -i[2][2], + ), + e( + t( + r(i[3][1], i[4][2]), + r(-i[3][2], i[4][1]), + ), + i[2][3], + ), + ), + ), + -i[1][4], + ), + ), + ), + i[0][0], + ), + e( + t( + t( + e( + t( + e( + t( + r(i[3][3], i[4][4]), + r(-i[3][4], i[4][3]), + ), + i[2][2], + ), + t( + e( + t( + r(i[3][2], i[4][4]), + r(-i[3][4], i[4][2]), + ), + -i[2][3], + ), + e( + t( + r(i[3][2], i[4][3]), + r(-i[3][3], i[4][2]), + ), + i[2][4], + ), + ), + ), + i[1][0], + ), + e( + t( + e( + t( + r(i[3][3], i[4][4]), + r(-i[3][4], i[4][3]), + ), + i[2][0], + ), + t( + e( + t( + r(i[3][0], i[4][4]), + r(-i[3][4], i[4][0]), + ), + -i[2][3], + ), + e( + t( + r(i[3][0], i[4][3]), + r(-i[3][3], i[4][0]), + ), + i[2][4], + ), + ), + ), + -i[1][2], + ), + ), + t( + e( + t( + e( + t( + r(i[3][2], i[4][4]), + r(-i[3][4], i[4][2]), + ), + i[2][0], + ), + t( + e( + t( + r(i[3][0], i[4][4]), + r(-i[3][4], i[4][0]), + ), + -i[2][2], + ), + e( + t( + r(i[3][0], i[4][2]), + r(-i[3][2], i[4][0]), + ), + i[2][4], + ), + ), + ), + i[1][3], + ), + e( + t( + e( + t( + r(i[3][2], i[4][3]), + r(-i[3][3], i[4][2]), + ), + i[2][0], + ), + t( + e( + t( + r(i[3][0], i[4][3]), + r(-i[3][3], i[4][0]), + ), + -i[2][2], + ), + e( + t( + r(i[3][0], i[4][2]), + r(-i[3][2], i[4][0]), + ), + i[2][3], + ), + ), + ), + -i[1][4], + ), + ), + ), + -i[0][1], + ), + ), + t( + e( + t( + t( + e( + t( + e( + t( + r(i[3][3], i[4][4]), + r(-i[3][4], i[4][3]), + ), + i[2][1], + ), + t( + e( + t( + r(i[3][1], i[4][4]), + r(-i[3][4], i[4][1]), + ), + -i[2][3], + ), + e( + t( + r(i[3][1], i[4][3]), + r(-i[3][3], i[4][1]), + ), + i[2][4], + ), + ), + ), + i[1][0], + ), + e( + t( + e( + t( + r(i[3][3], i[4][4]), + r(-i[3][4], i[4][3]), + ), + i[2][0], + ), + t( + e( + t( + r(i[3][0], i[4][4]), + r(-i[3][4], i[4][0]), + ), + -i[2][3], + ), + e( + t( + r(i[3][0], i[4][3]), + r(-i[3][3], i[4][0]), + ), + i[2][4], + ), + ), + ), + -i[1][1], + ), + ), + t( + e( + t( + e( + t( + r(i[3][1], i[4][4]), + r(-i[3][4], i[4][1]), + ), + i[2][0], + ), + t( + e( + t( + r(i[3][0], i[4][4]), + r(-i[3][4], i[4][0]), + ), + -i[2][1], + ), + e( + t( + r(i[3][0], i[4][1]), + r(-i[3][1], i[4][0]), + ), + i[2][4], + ), + ), + ), + i[1][3], + ), + e( + t( + e( + t( + r(i[3][1], i[4][3]), + r(-i[3][3], i[4][1]), + ), + i[2][0], + ), + t( + e( + t( + r(i[3][0], i[4][3]), + r(-i[3][3], i[4][0]), + ), + -i[2][1], + ), + e( + t( + r(i[3][0], i[4][1]), + r(-i[3][1], i[4][0]), + ), + i[2][3], + ), + ), + ), + -i[1][4], + ), + ), + ), + i[0][2], + ), + t( + e( + t( + t( + e( + t( + e( + t( + r(i[3][2], i[4][4]), + r(-i[3][4], i[4][2]), + ), + i[2][1], + ), + t( + e( + t( + r(i[3][1], i[4][4]), + r(-i[3][4], i[4][1]), + ), + -i[2][2], + ), + e( + t( + r(i[3][1], i[4][2]), + r(-i[3][2], i[4][1]), + ), + i[2][4], + ), + ), + ), + i[1][0], + ), + e( + t( + e( + t( + r(i[3][2], i[4][4]), + r(-i[3][4], i[4][2]), + ), + i[2][0], + ), + t( + e( + t( + r(i[3][0], i[4][4]), + r(-i[3][4], i[4][0]), + ), + -i[2][2], + ), + e( + t( + r(i[3][0], i[4][2]), + r(-i[3][2], i[4][0]), + ), + i[2][4], + ), + ), + ), + -i[1][1], + ), + ), + t( + e( + t( + e( + t( + r(i[3][1], i[4][4]), + r(-i[3][4], i[4][1]), + ), + i[2][0], + ), + t( + e( + t( + r(i[3][0], i[4][4]), + r(-i[3][4], i[4][0]), + ), + -i[2][1], + ), + e( + t( + r(i[3][0], i[4][1]), + r(-i[3][1], i[4][0]), + ), + i[2][4], + ), + ), + ), + i[1][2], + ), + e( + t( + e( + t( + r(i[3][1], i[4][2]), + r(-i[3][2], i[4][1]), + ), + i[2][0], + ), + t( + e( + t( + r(i[3][0], i[4][2]), + r(-i[3][2], i[4][0]), + ), + -i[2][1], + ), + e( + t( + r(i[3][0], i[4][1]), + r(-i[3][1], i[4][0]), + ), + i[2][2], + ), + ), + ), + -i[1][4], + ), + ), + ), + -i[0][3], + ), + e( + t( + t( + e( + t( + e( + t( + r(i[3][2], i[4][3]), + r(-i[3][3], i[4][2]), + ), + i[2][1], + ), + t( + e( + t( + r(i[3][1], i[4][3]), + r(-i[3][3], i[4][1]), + ), + -i[2][2], + ), + e( + t( + r(i[3][1], i[4][2]), + r(-i[3][2], i[4][1]), + ), + i[2][3], + ), + ), + ), + i[1][0], + ), + e( + t( + e( + t( + r(i[3][2], i[4][3]), + r(-i[3][3], i[4][2]), + ), + i[2][0], + ), + t( + e( + t( + r(i[3][0], i[4][3]), + r(-i[3][3], i[4][0]), + ), + -i[2][2], + ), + e( + t( + r(i[3][0], i[4][2]), + r(-i[3][2], i[4][0]), + ), + i[2][3], + ), + ), + ), + -i[1][1], + ), + ), + t( + e( + t( + e( + t( + r(i[3][1], i[4][3]), + r(-i[3][3], i[4][1]), + ), + i[2][0], + ), + t( + e( + t( + r(i[3][0], i[4][3]), + r(-i[3][3], i[4][0]), + ), + -i[2][1], + ), + e( + t( + r(i[3][0], i[4][1]), + r(-i[3][1], i[4][0]), + ), + i[2][3], + ), + ), + ), + i[1][2], + ), + e( + t( + e( + t( + r(i[3][1], i[4][2]), + r(-i[3][2], i[4][1]), + ), + i[2][0], + ), + t( + e( + t( + r(i[3][0], i[4][2]), + r(-i[3][2], i[4][0]), + ), + -i[2][1], + ), + e( + t( + r(i[3][0], i[4][1]), + r(-i[3][1], i[4][0]), + ), + i[2][2], + ), + ), + ), + -i[1][3], + ), + ), + ), + i[0][4], + ), + ), + ), + ), + ); + }; + } + function f(t) { + return ( + 2 === t + ? s + : 3 === t + ? l + : 4 === t + ? u + : 5 === t + ? c + : void 0 + )(i, a, n, o); + } + var h = [ + function () { + return [0]; + }, + function (t) { + return [t[0][0]]; + }, + ]; + function p(t, e, r, n, i, a, o, s) { + return function (l) { + switch (l.length) { + case 0: + return t(l); + case 1: + return e(l); + case 2: + return r(l); + case 3: + return n(l); + case 4: + return i(l); + case 5: + return a(l); + } + var u = o[l.length]; + return ( + u || (u = o[l.length] = s(l.length)), u(l) + ); + }; + } + !(function () { + for (; h.length < 6; ) h.push(f(h.length)); + t.exports = p.apply(void 0, h.concat([h, f])); + for (var e = 0; e < h.length; ++e) + t.exports[e] = h[e]; + })(); + }, + 9130: function (t, e, r) { + "use strict"; + var n = r(9660), + i = r(9662); + t.exports = function (t, e) { + for ( + var r = n(t[0], e[0]), a = 1; + a < t.length; + ++a + ) + r = i(r, n(t[a], e[a])); + return r; + }; + }, + 2227: function (t, e, r) { + "use strict"; + var n = r(9660), + i = r(9662), + a = r(4078), + o = r(8289); + function s(t) { + return ( + 3 === t ? l : 4 === t ? u : 5 === t ? c : f + )(i, a, n, o); + } + function l(t, e, r, n) { + return function (i, a, o) { + var s = r(i[0], i[0]), + l = n(s, a[0]), + u = n(s, o[0]), + c = r(a[0], a[0]), + f = n(c, i[0]), + h = n(c, o[0]), + p = r(o[0], o[0]), + d = n(p, i[0]), + v = n(p, a[0]), + g = t(e(v, h), e(f, l)), + y = e(d, u), + m = e(g, y); + return m[m.length - 1]; + }; + } + function u(t, e, r, n) { + return function (i, a, o, s) { + var l = t(r(i[0], i[0]), r(i[1], i[1])), + u = n(l, a[0]), + c = n(l, o[0]), + f = n(l, s[0]), + h = t(r(a[0], a[0]), r(a[1], a[1])), + p = n(h, i[0]), + d = n(h, o[0]), + v = n(h, s[0]), + g = t(r(o[0], o[0]), r(o[1], o[1])), + y = n(g, i[0]), + m = n(g, a[0]), + x = n(g, s[0]), + b = t(r(s[0], s[0]), r(s[1], s[1])), + _ = n(b, i[0]), + w = n(b, a[0]), + T = n(b, o[0]), + k = t( + t( + n(e(T, x), a[1]), + t(n(e(w, v), -o[1]), n(e(m, d), s[1])), + ), + t( + n(e(w, v), i[1]), + t(n(e(_, f), -a[1]), n(e(p, u), s[1])), + ), + ), + A = t( + t( + n(e(T, x), i[1]), + t(n(e(_, f), -o[1]), n(e(y, c), s[1])), + ), + t( + n(e(m, d), i[1]), + t(n(e(y, c), -a[1]), n(e(p, u), o[1])), + ), + ), + M = e(k, A); + return M[M.length - 1]; + }; + } + function c(t, e, r, n) { + return function (i, a, o, s, l) { + var u = t( + r(i[0], i[0]), + t(r(i[1], i[1]), r(i[2], i[2])), + ), + c = n(u, a[0]), + f = n(u, o[0]), + h = n(u, s[0]), + p = n(u, l[0]), + d = t( + r(a[0], a[0]), + t(r(a[1], a[1]), r(a[2], a[2])), + ), + v = n(d, i[0]), + g = n(d, o[0]), + y = n(d, s[0]), + m = n(d, l[0]), + x = t( + r(o[0], o[0]), + t(r(o[1], o[1]), r(o[2], o[2])), + ), + b = n(x, i[0]), + _ = n(x, a[0]), + w = n(x, s[0]), + T = n(x, l[0]), + k = t( + r(s[0], s[0]), + t(r(s[1], s[1]), r(s[2], s[2])), + ), + A = n(k, i[0]), + M = n(k, a[0]), + S = n(k, o[0]), + E = n(k, l[0]), + L = t( + r(l[0], l[0]), + t(r(l[1], l[1]), r(l[2], l[2])), + ), + C = n(L, i[0]), + P = n(L, a[0]), + O = n(L, o[0]), + I = n(L, s[0]), + D = t( + t( + t( + n( + t( + n(e(I, E), o[1]), + t( + n(e(O, T), -s[1]), + n(e(S, w), l[1]), + ), + ), + a[2], + ), + t( + n( + t( + n(e(I, E), a[1]), + t( + n(e(P, m), -s[1]), + n(e(M, y), l[1]), + ), + ), + -o[2], + ), + n( + t( + n(e(O, T), a[1]), + t( + n(e(P, m), -o[1]), + n(e(_, g), l[1]), + ), + ), + s[2], + ), + ), + ), + t( + n( + t( + n(e(S, w), a[1]), + t( + n(e(M, y), -o[1]), + n(e(_, g), s[1]), + ), + ), + -l[2], + ), + t( + n( + t( + n(e(I, E), a[1]), + t( + n(e(P, m), -s[1]), + n(e(M, y), l[1]), + ), + ), + i[2], + ), + n( + t( + n(e(I, E), i[1]), + t( + n(e(C, p), -s[1]), + n(e(A, h), l[1]), + ), + ), + -a[2], + ), + ), + ), + ), + t( + t( + n( + t( + n(e(P, m), i[1]), + t( + n(e(C, p), -a[1]), + n(e(v, c), l[1]), + ), + ), + s[2], + ), + t( + n( + t( + n(e(M, y), i[1]), + t( + n(e(A, h), -a[1]), + n(e(v, c), s[1]), + ), + ), + -l[2], + ), + n( + t( + n(e(S, w), a[1]), + t( + n(e(M, y), -o[1]), + n(e(_, g), s[1]), + ), + ), + i[2], + ), + ), + ), + t( + n( + t( + n(e(S, w), i[1]), + t( + n(e(A, h), -o[1]), + n(e(b, f), s[1]), + ), + ), + -a[2], + ), + t( + n( + t( + n(e(M, y), i[1]), + t( + n(e(A, h), -a[1]), + n(e(v, c), s[1]), + ), + ), + o[2], + ), + n( + t( + n(e(_, g), i[1]), + t( + n(e(b, f), -a[1]), + n(e(v, c), o[1]), + ), + ), + -s[2], + ), + ), + ), + ), + ), + z = t( + t( + t( + n( + t( + n(e(I, E), o[1]), + t( + n(e(O, T), -s[1]), + n(e(S, w), l[1]), + ), + ), + i[2], + ), + n( + t( + n(e(I, E), i[1]), + t( + n(e(C, p), -s[1]), + n(e(A, h), l[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(O, T), i[1]), + t( + n(e(C, p), -o[1]), + n(e(b, f), l[1]), + ), + ), + s[2], + ), + n( + t( + n(e(S, w), i[1]), + t( + n(e(A, h), -o[1]), + n(e(b, f), s[1]), + ), + ), + -l[2], + ), + ), + ), + t( + t( + n( + t( + n(e(O, T), a[1]), + t( + n(e(P, m), -o[1]), + n(e(_, g), l[1]), + ), + ), + i[2], + ), + n( + t( + n(e(O, T), i[1]), + t( + n(e(C, p), -o[1]), + n(e(b, f), l[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(P, m), i[1]), + t( + n(e(C, p), -a[1]), + n(e(v, c), l[1]), + ), + ), + o[2], + ), + n( + t( + n(e(_, g), i[1]), + t( + n(e(b, f), -a[1]), + n(e(v, c), o[1]), + ), + ), + -l[2], + ), + ), + ), + ), + R = e(D, z); + return R[R.length - 1]; + }; + } + function f(t, e, r, n) { + return function (i, a, o, s, l, u) { + var c = t( + t(r(i[0], i[0]), r(i[1], i[1])), + t(r(i[2], i[2]), r(i[3], i[3])), + ), + f = n(c, a[0]), + h = n(c, o[0]), + p = n(c, s[0]), + d = n(c, l[0]), + v = n(c, u[0]), + g = t( + t(r(a[0], a[0]), r(a[1], a[1])), + t(r(a[2], a[2]), r(a[3], a[3])), + ), + y = n(g, i[0]), + m = n(g, o[0]), + x = n(g, s[0]), + b = n(g, l[0]), + _ = n(g, u[0]), + w = t( + t(r(o[0], o[0]), r(o[1], o[1])), + t(r(o[2], o[2]), r(o[3], o[3])), + ), + T = n(w, i[0]), + k = n(w, a[0]), + A = n(w, s[0]), + M = n(w, l[0]), + S = n(w, u[0]), + E = t( + t(r(s[0], s[0]), r(s[1], s[1])), + t(r(s[2], s[2]), r(s[3], s[3])), + ), + L = n(E, i[0]), + C = n(E, a[0]), + P = n(E, o[0]), + O = n(E, l[0]), + I = n(E, u[0]), + D = t( + t(r(l[0], l[0]), r(l[1], l[1])), + t(r(l[2], l[2]), r(l[3], l[3])), + ), + z = n(D, i[0]), + R = n(D, a[0]), + F = n(D, o[0]), + B = n(D, s[0]), + N = n(D, u[0]), + j = t( + t(r(u[0], u[0]), r(u[1], u[1])), + t(r(u[2], u[2]), r(u[3], u[3])), + ), + U = n(j, i[0]), + V = n(j, a[0]), + H = n(j, o[0]), + q = n(j, s[0]), + G = n(j, l[0]), + Z = t( + t( + t( + n( + t( + t( + n( + t( + n(e(G, N), s[1]), + t( + n(e(q, I), -l[1]), + n(e(B, O), u[1]), + ), + ), + o[2], + ), + n( + t( + n(e(G, N), o[1]), + t( + n(e(H, S), -l[1]), + n(e(F, M), u[1]), + ), + ), + -s[2], + ), + ), + t( + n( + t( + n(e(q, I), o[1]), + t( + n(e(H, S), -s[1]), + n(e(P, A), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(B, O), o[1]), + t( + n(e(F, M), -s[1]), + n(e(P, A), l[1]), + ), + ), + -u[2], + ), + ), + ), + a[3], + ), + t( + n( + t( + t( + n( + t( + n(e(G, N), s[1]), + t( + n(e(q, I), -l[1]), + n(e(B, O), u[1]), + ), + ), + a[2], + ), + n( + t( + n(e(G, N), a[1]), + t( + n(e(V, _), -l[1]), + n(e(R, b), u[1]), + ), + ), + -s[2], + ), + ), + t( + n( + t( + n(e(q, I), a[1]), + t( + n(e(V, _), -s[1]), + n(e(C, x), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(B, O), a[1]), + t( + n(e(R, b), -s[1]), + n(e(C, x), l[1]), + ), + ), + -u[2], + ), + ), + ), + -o[3], + ), + n( + t( + t( + n( + t( + n(e(G, N), o[1]), + t( + n(e(H, S), -l[1]), + n(e(F, M), u[1]), + ), + ), + a[2], + ), + n( + t( + n(e(G, N), a[1]), + t( + n(e(V, _), -l[1]), + n(e(R, b), u[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(H, S), a[1]), + t( + n(e(V, _), -o[1]), + n(e(k, m), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(F, M), a[1]), + t( + n(e(R, b), -o[1]), + n(e(k, m), l[1]), + ), + ), + -u[2], + ), + ), + ), + s[3], + ), + ), + ), + t( + t( + n( + t( + t( + n( + t( + n(e(q, I), o[1]), + t( + n(e(H, S), -s[1]), + n(e(P, A), u[1]), + ), + ), + a[2], + ), + n( + t( + n(e(q, I), a[1]), + t( + n(e(V, _), -s[1]), + n(e(C, x), u[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(H, S), a[1]), + t( + n(e(V, _), -o[1]), + n(e(k, m), u[1]), + ), + ), + s[2], + ), + n( + t( + n(e(P, A), a[1]), + t( + n(e(C, x), -o[1]), + n(e(k, m), s[1]), + ), + ), + -u[2], + ), + ), + ), + -l[3], + ), + n( + t( + t( + n( + t( + n(e(B, O), o[1]), + t( + n(e(F, M), -s[1]), + n(e(P, A), l[1]), + ), + ), + a[2], + ), + n( + t( + n(e(B, O), a[1]), + t( + n(e(R, b), -s[1]), + n(e(C, x), l[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(F, M), a[1]), + t( + n(e(R, b), -o[1]), + n(e(k, m), l[1]), + ), + ), + s[2], + ), + n( + t( + n(e(P, A), a[1]), + t( + n(e(C, x), -o[1]), + n(e(k, m), s[1]), + ), + ), + -l[2], + ), + ), + ), + u[3], + ), + ), + t( + n( + t( + t( + n( + t( + n(e(G, N), s[1]), + t( + n(e(q, I), -l[1]), + n(e(B, O), u[1]), + ), + ), + a[2], + ), + n( + t( + n(e(G, N), a[1]), + t( + n(e(V, _), -l[1]), + n(e(R, b), u[1]), + ), + ), + -s[2], + ), + ), + t( + n( + t( + n(e(q, I), a[1]), + t( + n(e(V, _), -s[1]), + n(e(C, x), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(B, O), a[1]), + t( + n(e(R, b), -s[1]), + n(e(C, x), l[1]), + ), + ), + -u[2], + ), + ), + ), + i[3], + ), + n( + t( + t( + n( + t( + n(e(G, N), s[1]), + t( + n(e(q, I), -l[1]), + n(e(B, O), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(G, N), i[1]), + t( + n(e(U, v), -l[1]), + n(e(z, d), u[1]), + ), + ), + -s[2], + ), + ), + t( + n( + t( + n(e(q, I), i[1]), + t( + n(e(U, v), -s[1]), + n(e(L, p), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(B, O), i[1]), + t( + n(e(z, d), -s[1]), + n(e(L, p), l[1]), + ), + ), + -u[2], + ), + ), + ), + -a[3], + ), + ), + ), + ), + t( + t( + t( + n( + t( + t( + n( + t( + n(e(G, N), a[1]), + t( + n(e(V, _), -l[1]), + n(e(R, b), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(G, N), i[1]), + t( + n(e(U, v), -l[1]), + n(e(z, d), u[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(V, _), i[1]), + t( + n(e(U, v), -a[1]), + n(e(y, f), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(R, b), i[1]), + t( + n(e(z, d), -a[1]), + n(e(y, f), l[1]), + ), + ), + -u[2], + ), + ), + ), + s[3], + ), + n( + t( + t( + n( + t( + n(e(q, I), a[1]), + t( + n(e(V, _), -s[1]), + n(e(C, x), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(q, I), i[1]), + t( + n(e(U, v), -s[1]), + n(e(L, p), u[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(V, _), i[1]), + t( + n(e(U, v), -a[1]), + n(e(y, f), u[1]), + ), + ), + s[2], + ), + n( + t( + n(e(C, x), i[1]), + t( + n(e(L, p), -a[1]), + n(e(y, f), s[1]), + ), + ), + -u[2], + ), + ), + ), + -l[3], + ), + ), + t( + n( + t( + t( + n( + t( + n(e(B, O), a[1]), + t( + n(e(R, b), -s[1]), + n(e(C, x), l[1]), + ), + ), + i[2], + ), + n( + t( + n(e(B, O), i[1]), + t( + n(e(z, d), -s[1]), + n(e(L, p), l[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(R, b), i[1]), + t( + n(e(z, d), -a[1]), + n(e(y, f), l[1]), + ), + ), + s[2], + ), + n( + t( + n(e(C, x), i[1]), + t( + n(e(L, p), -a[1]), + n(e(y, f), s[1]), + ), + ), + -l[2], + ), + ), + ), + u[3], + ), + n( + t( + t( + n( + t( + n(e(q, I), o[1]), + t( + n(e(H, S), -s[1]), + n(e(P, A), u[1]), + ), + ), + a[2], + ), + n( + t( + n(e(q, I), a[1]), + t( + n(e(V, _), -s[1]), + n(e(C, x), u[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(H, S), a[1]), + t( + n(e(V, _), -o[1]), + n(e(k, m), u[1]), + ), + ), + s[2], + ), + n( + t( + n(e(P, A), a[1]), + t( + n(e(C, x), -o[1]), + n(e(k, m), s[1]), + ), + ), + -u[2], + ), + ), + ), + i[3], + ), + ), + ), + t( + t( + n( + t( + t( + n( + t( + n(e(q, I), o[1]), + t( + n(e(H, S), -s[1]), + n(e(P, A), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(q, I), i[1]), + t( + n(e(U, v), -s[1]), + n(e(L, p), u[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(H, S), i[1]), + t( + n(e(U, v), -o[1]), + n(e(T, h), u[1]), + ), + ), + s[2], + ), + n( + t( + n(e(P, A), i[1]), + t( + n(e(L, p), -o[1]), + n(e(T, h), s[1]), + ), + ), + -u[2], + ), + ), + ), + -a[3], + ), + n( + t( + t( + n( + t( + n(e(q, I), a[1]), + t( + n(e(V, _), -s[1]), + n(e(C, x), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(q, I), i[1]), + t( + n(e(U, v), -s[1]), + n(e(L, p), u[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(V, _), i[1]), + t( + n(e(U, v), -a[1]), + n(e(y, f), u[1]), + ), + ), + s[2], + ), + n( + t( + n(e(C, x), i[1]), + t( + n(e(L, p), -a[1]), + n(e(y, f), s[1]), + ), + ), + -u[2], + ), + ), + ), + o[3], + ), + ), + t( + n( + t( + t( + n( + t( + n(e(H, S), a[1]), + t( + n(e(V, _), -o[1]), + n(e(k, m), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(H, S), i[1]), + t( + n(e(U, v), -o[1]), + n(e(T, h), u[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(V, _), i[1]), + t( + n(e(U, v), -a[1]), + n(e(y, f), u[1]), + ), + ), + o[2], + ), + n( + t( + n(e(k, m), i[1]), + t( + n(e(T, h), -a[1]), + n(e(y, f), o[1]), + ), + ), + -u[2], + ), + ), + ), + -s[3], + ), + n( + t( + t( + n( + t( + n(e(P, A), a[1]), + t( + n(e(C, x), -o[1]), + n(e(k, m), s[1]), + ), + ), + i[2], + ), + n( + t( + n(e(P, A), i[1]), + t( + n(e(L, p), -o[1]), + n(e(T, h), s[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(C, x), i[1]), + t( + n(e(L, p), -a[1]), + n(e(y, f), s[1]), + ), + ), + o[2], + ), + n( + t( + n(e(k, m), i[1]), + t( + n(e(T, h), -a[1]), + n(e(y, f), o[1]), + ), + ), + -s[2], + ), + ), + ), + u[3], + ), + ), + ), + ), + ), + Y = t( + t( + t( + n( + t( + t( + n( + t( + n(e(G, N), s[1]), + t( + n(e(q, I), -l[1]), + n(e(B, O), u[1]), + ), + ), + o[2], + ), + n( + t( + n(e(G, N), o[1]), + t( + n(e(H, S), -l[1]), + n(e(F, M), u[1]), + ), + ), + -s[2], + ), + ), + t( + n( + t( + n(e(q, I), o[1]), + t( + n(e(H, S), -s[1]), + n(e(P, A), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(B, O), o[1]), + t( + n(e(F, M), -s[1]), + n(e(P, A), l[1]), + ), + ), + -u[2], + ), + ), + ), + i[3], + ), + t( + n( + t( + t( + n( + t( + n(e(G, N), s[1]), + t( + n(e(q, I), -l[1]), + n(e(B, O), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(G, N), i[1]), + t( + n(e(U, v), -l[1]), + n(e(z, d), u[1]), + ), + ), + -s[2], + ), + ), + t( + n( + t( + n(e(q, I), i[1]), + t( + n(e(U, v), -s[1]), + n(e(L, p), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(B, O), i[1]), + t( + n(e(z, d), -s[1]), + n(e(L, p), l[1]), + ), + ), + -u[2], + ), + ), + ), + -o[3], + ), + n( + t( + t( + n( + t( + n(e(G, N), o[1]), + t( + n(e(H, S), -l[1]), + n(e(F, M), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(G, N), i[1]), + t( + n(e(U, v), -l[1]), + n(e(z, d), u[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(H, S), i[1]), + t( + n(e(U, v), -o[1]), + n(e(T, h), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(F, M), i[1]), + t( + n(e(z, d), -o[1]), + n(e(T, h), l[1]), + ), + ), + -u[2], + ), + ), + ), + s[3], + ), + ), + ), + t( + t( + n( + t( + t( + n( + t( + n(e(q, I), o[1]), + t( + n(e(H, S), -s[1]), + n(e(P, A), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(q, I), i[1]), + t( + n(e(U, v), -s[1]), + n(e(L, p), u[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(H, S), i[1]), + t( + n(e(U, v), -o[1]), + n(e(T, h), u[1]), + ), + ), + s[2], + ), + n( + t( + n(e(P, A), i[1]), + t( + n(e(L, p), -o[1]), + n(e(T, h), s[1]), + ), + ), + -u[2], + ), + ), + ), + -l[3], + ), + n( + t( + t( + n( + t( + n(e(B, O), o[1]), + t( + n(e(F, M), -s[1]), + n(e(P, A), l[1]), + ), + ), + i[2], + ), + n( + t( + n(e(B, O), i[1]), + t( + n(e(z, d), -s[1]), + n(e(L, p), l[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(F, M), i[1]), + t( + n(e(z, d), -o[1]), + n(e(T, h), l[1]), + ), + ), + s[2], + ), + n( + t( + n(e(P, A), i[1]), + t( + n(e(L, p), -o[1]), + n(e(T, h), s[1]), + ), + ), + -l[2], + ), + ), + ), + u[3], + ), + ), + t( + n( + t( + t( + n( + t( + n(e(G, N), o[1]), + t( + n(e(H, S), -l[1]), + n(e(F, M), u[1]), + ), + ), + a[2], + ), + n( + t( + n(e(G, N), a[1]), + t( + n(e(V, _), -l[1]), + n(e(R, b), u[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(H, S), a[1]), + t( + n(e(V, _), -o[1]), + n(e(k, m), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(F, M), a[1]), + t( + n(e(R, b), -o[1]), + n(e(k, m), l[1]), + ), + ), + -u[2], + ), + ), + ), + i[3], + ), + n( + t( + t( + n( + t( + n(e(G, N), o[1]), + t( + n(e(H, S), -l[1]), + n(e(F, M), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(G, N), i[1]), + t( + n(e(U, v), -l[1]), + n(e(z, d), u[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(H, S), i[1]), + t( + n(e(U, v), -o[1]), + n(e(T, h), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(F, M), i[1]), + t( + n(e(z, d), -o[1]), + n(e(T, h), l[1]), + ), + ), + -u[2], + ), + ), + ), + -a[3], + ), + ), + ), + ), + t( + t( + t( + n( + t( + t( + n( + t( + n(e(G, N), a[1]), + t( + n(e(V, _), -l[1]), + n(e(R, b), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(G, N), i[1]), + t( + n(e(U, v), -l[1]), + n(e(z, d), u[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(V, _), i[1]), + t( + n(e(U, v), -a[1]), + n(e(y, f), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(R, b), i[1]), + t( + n(e(z, d), -a[1]), + n(e(y, f), l[1]), + ), + ), + -u[2], + ), + ), + ), + o[3], + ), + n( + t( + t( + n( + t( + n(e(H, S), a[1]), + t( + n(e(V, _), -o[1]), + n(e(k, m), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(H, S), i[1]), + t( + n(e(U, v), -o[1]), + n(e(T, h), u[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(V, _), i[1]), + t( + n(e(U, v), -a[1]), + n(e(y, f), u[1]), + ), + ), + o[2], + ), + n( + t( + n(e(k, m), i[1]), + t( + n(e(T, h), -a[1]), + n(e(y, f), o[1]), + ), + ), + -u[2], + ), + ), + ), + -l[3], + ), + ), + t( + n( + t( + t( + n( + t( + n(e(F, M), a[1]), + t( + n(e(R, b), -o[1]), + n(e(k, m), l[1]), + ), + ), + i[2], + ), + n( + t( + n(e(F, M), i[1]), + t( + n(e(z, d), -o[1]), + n(e(T, h), l[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(R, b), i[1]), + t( + n(e(z, d), -a[1]), + n(e(y, f), l[1]), + ), + ), + o[2], + ), + n( + t( + n(e(k, m), i[1]), + t( + n(e(T, h), -a[1]), + n(e(y, f), o[1]), + ), + ), + -l[2], + ), + ), + ), + u[3], + ), + n( + t( + t( + n( + t( + n(e(B, O), o[1]), + t( + n(e(F, M), -s[1]), + n(e(P, A), l[1]), + ), + ), + a[2], + ), + n( + t( + n(e(B, O), a[1]), + t( + n(e(R, b), -s[1]), + n(e(C, x), l[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(F, M), a[1]), + t( + n(e(R, b), -o[1]), + n(e(k, m), l[1]), + ), + ), + s[2], + ), + n( + t( + n(e(P, A), a[1]), + t( + n(e(C, x), -o[1]), + n(e(k, m), s[1]), + ), + ), + -l[2], + ), + ), + ), + i[3], + ), + ), + ), + t( + t( + n( + t( + t( + n( + t( + n(e(B, O), o[1]), + t( + n(e(F, M), -s[1]), + n(e(P, A), l[1]), + ), + ), + i[2], + ), + n( + t( + n(e(B, O), i[1]), + t( + n(e(z, d), -s[1]), + n(e(L, p), l[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(F, M), i[1]), + t( + n(e(z, d), -o[1]), + n(e(T, h), l[1]), + ), + ), + s[2], + ), + n( + t( + n(e(P, A), i[1]), + t( + n(e(L, p), -o[1]), + n(e(T, h), s[1]), + ), + ), + -l[2], + ), + ), + ), + -a[3], + ), + n( + t( + t( + n( + t( + n(e(B, O), a[1]), + t( + n(e(R, b), -s[1]), + n(e(C, x), l[1]), + ), + ), + i[2], + ), + n( + t( + n(e(B, O), i[1]), + t( + n(e(z, d), -s[1]), + n(e(L, p), l[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(R, b), i[1]), + t( + n(e(z, d), -a[1]), + n(e(y, f), l[1]), + ), + ), + s[2], + ), + n( + t( + n(e(C, x), i[1]), + t( + n(e(L, p), -a[1]), + n(e(y, f), s[1]), + ), + ), + -l[2], + ), + ), + ), + o[3], + ), + ), + t( + n( + t( + t( + n( + t( + n(e(F, M), a[1]), + t( + n(e(R, b), -o[1]), + n(e(k, m), l[1]), + ), + ), + i[2], + ), + n( + t( + n(e(F, M), i[1]), + t( + n(e(z, d), -o[1]), + n(e(T, h), l[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(R, b), i[1]), + t( + n(e(z, d), -a[1]), + n(e(y, f), l[1]), + ), + ), + o[2], + ), + n( + t( + n(e(k, m), i[1]), + t( + n(e(T, h), -a[1]), + n(e(y, f), o[1]), + ), + ), + -l[2], + ), + ), + ), + -s[3], + ), + n( + t( + t( + n( + t( + n(e(P, A), a[1]), + t( + n(e(C, x), -o[1]), + n(e(k, m), s[1]), + ), + ), + i[2], + ), + n( + t( + n(e(P, A), i[1]), + t( + n(e(L, p), -o[1]), + n(e(T, h), s[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(C, x), i[1]), + t( + n(e(L, p), -a[1]), + n(e(y, f), s[1]), + ), + ), + o[2], + ), + n( + t( + n(e(k, m), i[1]), + t( + n(e(T, h), -a[1]), + n(e(y, f), o[1]), + ), + ), + -s[2], + ), + ), + ), + l[3], + ), + ), + ), + ), + ), + W = e(Z, Y); + return W[W.length - 1]; + }; + } + var h = [ + function () { + return 0; + }, + function () { + return 0; + }, + function () { + return 0; + }, + ]; + function p(t) { + var e = h[t.length]; + return ( + e || (e = h[t.length] = s(t.length)), + e.apply(void 0, t) + ); + } + function d(t, e, r, n, i, a, o, s) { + return function (e, r, l, u, c, f) { + switch (arguments.length) { + case 0: + case 1: + return 0; + case 2: + return n(e, r); + case 3: + return i(e, r, l); + case 4: + return a(e, r, l, u); + case 5: + return o(e, r, l, u, c); + case 6: + return s(e, r, l, u, c, f); + } + for ( + var h = new Array(arguments.length), p = 0; + p < arguments.length; + ++p + ) + h[p] = arguments[p]; + return t(h); + }; + } + !(function () { + for (; h.length <= 6; ) h.push(s(h.length)); + t.exports = d.apply(void 0, [p].concat(h)); + for (var e = 0; e <= 6; ++e) + t.exports[e] = h[e]; + })(); + }, + 6606: function (t, e, r) { + "use strict"; + var n = r(8167); + function i(t) { + return ( + 2 === t + ? a + : 3 === t + ? o + : 4 === t + ? s + : 5 === t + ? l + : u + )(t < 6 ? n[t] : n); + } + function a(t) { + return function (e, r) { + return [ + t([ + [+r[0], +e[0][1]], + [+r[1], +e[1][1]], + ]), + t([ + [+e[0][0], +r[0]], + [+e[1][0], +r[1]], + ]), + t(e), + ]; + }; + } + function o(t) { + return function (e, r) { + return [ + t([ + [+r[0], +e[0][1], +e[0][2]], + [+r[1], +e[1][1], +e[1][2]], + [+r[2], +e[2][1], +e[2][2]], + ]), + t([ + [+e[0][0], +r[0], +e[0][2]], + [+e[1][0], +r[1], +e[1][2]], + [+e[2][0], +r[2], +e[2][2]], + ]), + t([ + [+e[0][0], +e[0][1], +r[0]], + [+e[1][0], +e[1][1], +r[1]], + [+e[2][0], +e[2][1], +r[2]], + ]), + t(e), + ]; + }; + } + function s(t) { + return function (e, r) { + return [ + t([ + [+r[0], +e[0][1], +e[0][2], +e[0][3]], + [+r[1], +e[1][1], +e[1][2], +e[1][3]], + [+r[2], +e[2][1], +e[2][2], +e[2][3]], + [+r[3], +e[3][1], +e[3][2], +e[3][3]], + ]), + t([ + [+e[0][0], +r[0], +e[0][2], +e[0][3]], + [+e[1][0], +r[1], +e[1][2], +e[1][3]], + [+e[2][0], +r[2], +e[2][2], +e[2][3]], + [+e[3][0], +r[3], +e[3][2], +e[3][3]], + ]), + t([ + [+e[0][0], +e[0][1], +r[0], +e[0][3]], + [+e[1][0], +e[1][1], +r[1], +e[1][3]], + [+e[2][0], +e[2][1], +r[2], +e[2][3]], + [+e[3][0], +e[3][1], +r[3], +e[3][3]], + ]), + t([ + [+e[0][0], +e[0][1], +e[0][2], +r[0]], + [+e[1][0], +e[1][1], +e[1][2], +r[1]], + [+e[2][0], +e[2][1], +e[2][2], +r[2]], + [+e[3][0], +e[3][1], +e[3][2], +r[3]], + ]), + t(e), + ]; + }; + } + function l(t) { + return function (e, r) { + return [ + t([ + [ + +r[0], + +e[0][1], + +e[0][2], + +e[0][3], + +e[0][4], + ], + [ + +r[1], + +e[1][1], + +e[1][2], + +e[1][3], + +e[1][4], + ], + [ + +r[2], + +e[2][1], + +e[2][2], + +e[2][3], + +e[2][4], + ], + [ + +r[3], + +e[3][1], + +e[3][2], + +e[3][3], + +e[3][4], + ], + [ + +r[4], + +e[4][1], + +e[4][2], + +e[4][3], + +e[4][4], + ], + ]), + t([ + [ + +e[0][0], + +r[0], + +e[0][2], + +e[0][3], + +e[0][4], + ], + [ + +e[1][0], + +r[1], + +e[1][2], + +e[1][3], + +e[1][4], + ], + [ + +e[2][0], + +r[2], + +e[2][2], + +e[2][3], + +e[2][4], + ], + [ + +e[3][0], + +r[3], + +e[3][2], + +e[3][3], + +e[3][4], + ], + [ + +e[4][0], + +r[4], + +e[4][2], + +e[4][3], + +e[4][4], + ], + ]), + t([ + [ + +e[0][0], + +e[0][1], + +r[0], + +e[0][3], + +e[0][4], + ], + [ + +e[1][0], + +e[1][1], + +r[1], + +e[1][3], + +e[1][4], + ], + [ + +e[2][0], + +e[2][1], + +r[2], + +e[2][3], + +e[2][4], + ], + [ + +e[3][0], + +e[3][1], + +r[3], + +e[3][3], + +e[3][4], + ], + [ + +e[4][0], + +e[4][1], + +r[4], + +e[4][3], + +e[4][4], + ], + ]), + t([ + [ + +e[0][0], + +e[0][1], + +e[0][2], + +r[0], + +e[0][4], + ], + [ + +e[1][0], + +e[1][1], + +e[1][2], + +r[1], + +e[1][4], + ], + [ + +e[2][0], + +e[2][1], + +e[2][2], + +r[2], + +e[2][4], + ], + [ + +e[3][0], + +e[3][1], + +e[3][2], + +r[3], + +e[3][4], + ], + [ + +e[4][0], + +e[4][1], + +e[4][2], + +r[4], + +e[4][4], + ], + ]), + t([ + [ + +e[0][0], + +e[0][1], + +e[0][2], + +e[0][3], + +r[0], + ], + [ + +e[1][0], + +e[1][1], + +e[1][2], + +e[1][3], + +r[1], + ], + [ + +e[2][0], + +e[2][1], + +e[2][2], + +e[2][3], + +r[2], + ], + [ + +e[3][0], + +e[3][1], + +e[3][2], + +e[3][3], + +r[3], + ], + [ + +e[4][0], + +e[4][1], + +e[4][2], + +e[4][3], + +r[4], + ], + ]), + t(e), + ]; + }; + } + function u(t) { + return function (e, r) { + return [ + t([ + [ + +r[0], + +e[0][1], + +e[0][2], + +e[0][3], + +e[0][4], + +e[0][5], + ], + [ + +r[1], + +e[1][1], + +e[1][2], + +e[1][3], + +e[1][4], + +e[1][5], + ], + [ + +r[2], + +e[2][1], + +e[2][2], + +e[2][3], + +e[2][4], + +e[2][5], + ], + [ + +r[3], + +e[3][1], + +e[3][2], + +e[3][3], + +e[3][4], + +e[3][5], + ], + [ + +r[4], + +e[4][1], + +e[4][2], + +e[4][3], + +e[4][4], + +e[4][5], + ], + [ + +r[5], + +e[5][1], + +e[5][2], + +e[5][3], + +e[5][4], + +e[5][5], + ], + ]), + t([ + [ + +e[0][0], + +r[0], + +e[0][2], + +e[0][3], + +e[0][4], + +e[0][5], + ], + [ + +e[1][0], + +r[1], + +e[1][2], + +e[1][3], + +e[1][4], + +e[1][5], + ], + [ + +e[2][0], + +r[2], + +e[2][2], + +e[2][3], + +e[2][4], + +e[2][5], + ], + [ + +e[3][0], + +r[3], + +e[3][2], + +e[3][3], + +e[3][4], + +e[3][5], + ], + [ + +e[4][0], + +r[4], + +e[4][2], + +e[4][3], + +e[4][4], + +e[4][5], + ], + [ + +e[5][0], + +r[5], + +e[5][2], + +e[5][3], + +e[5][4], + +e[5][5], + ], + ]), + t([ + [ + +e[0][0], + +e[0][1], + +r[0], + +e[0][3], + +e[0][4], + +e[0][5], + ], + [ + +e[1][0], + +e[1][1], + +r[1], + +e[1][3], + +e[1][4], + +e[1][5], + ], + [ + +e[2][0], + +e[2][1], + +r[2], + +e[2][3], + +e[2][4], + +e[2][5], + ], + [ + +e[3][0], + +e[3][1], + +r[3], + +e[3][3], + +e[3][4], + +e[3][5], + ], + [ + +e[4][0], + +e[4][1], + +r[4], + +e[4][3], + +e[4][4], + +e[4][5], + ], + [ + +e[5][0], + +e[5][1], + +r[5], + +e[5][3], + +e[5][4], + +e[5][5], + ], + ]), + t([ + [ + +e[0][0], + +e[0][1], + +e[0][2], + +r[0], + +e[0][4], + +e[0][5], + ], + [ + +e[1][0], + +e[1][1], + +e[1][2], + +r[1], + +e[1][4], + +e[1][5], + ], + [ + +e[2][0], + +e[2][1], + +e[2][2], + +r[2], + +e[2][4], + +e[2][5], + ], + [ + +e[3][0], + +e[3][1], + +e[3][2], + +r[3], + +e[3][4], + +e[3][5], + ], + [ + +e[4][0], + +e[4][1], + +e[4][2], + +r[4], + +e[4][4], + +e[4][5], + ], + [ + +e[5][0], + +e[5][1], + +e[5][2], + +r[5], + +e[5][4], + +e[5][5], + ], + ]), + t([ + [ + +e[0][0], + +e[0][1], + +e[0][2], + +e[0][3], + +r[0], + +e[0][5], + ], + [ + +e[1][0], + +e[1][1], + +e[1][2], + +e[1][3], + +r[1], + +e[1][5], + ], + [ + +e[2][0], + +e[2][1], + +e[2][2], + +e[2][3], + +r[2], + +e[2][5], + ], + [ + +e[3][0], + +e[3][1], + +e[3][2], + +e[3][3], + +r[3], + +e[3][5], + ], + [ + +e[4][0], + +e[4][1], + +e[4][2], + +e[4][3], + +r[4], + +e[4][5], + ], + [ + +e[5][0], + +e[5][1], + +e[5][2], + +e[5][3], + +r[5], + +e[5][5], + ], + ]), + t([ + [ + +e[0][0], + +e[0][1], + +e[0][2], + +e[0][3], + +e[0][4], + +r[0], + ], + [ + +e[1][0], + +e[1][1], + +e[1][2], + +e[1][3], + +e[1][4], + +r[1], + ], + [ + +e[2][0], + +e[2][1], + +e[2][2], + +e[2][3], + +e[2][4], + +r[2], + ], + [ + +e[3][0], + +e[3][1], + +e[3][2], + +e[3][3], + +e[3][4], + +r[3], + ], + [ + +e[4][0], + +e[4][1], + +e[4][2], + +e[4][3], + +e[4][4], + +r[4], + ], + [ + +e[5][0], + +e[5][1], + +e[5][2], + +e[5][3], + +e[5][4], + +r[5], + ], + ]), + t(e), + ]; + }; + } + var c = [ + function () { + return [[0]]; + }, + function (t, e) { + return [[e[0]], [t[0][0]]]; + }, + ]; + function f(t, e, r, n, i, a, o, s) { + return function (l, u) { + switch (l.length) { + case 0: + return t(l, u); + case 1: + return e(l, u); + case 2: + return r(l, u); + case 3: + return n(l, u); + case 4: + return i(l, u); + case 5: + return a(l, u); + } + var c = o[l.length]; + return ( + c || (c = o[l.length] = s(l.length)), + c(l, u) + ); + }; + } + !(function () { + for (; c.length < 6; ) c.push(i(c.length)); + t.exports = f.apply(void 0, c.concat([c, i])); + for (var e = 0; e < 6; ++e) t.exports[e] = c[e]; + })(); + }, + 417: function (t, e, r) { + "use strict"; + var n = r(9660), + i = r(9662), + a = r(8289), + o = r(4078); + function s(t, e, r, n) { + return function (r, i, a) { + var o = t( + t(e(i[1], a[0]), e(-a[1], i[0])), + t(e(r[1], i[0]), e(-i[1], r[0])), + ), + s = t(e(r[1], a[0]), e(-a[1], r[0])), + l = n(o, s); + return l[l.length - 1]; + }; + } + function l(t, e, r, n) { + return function (i, a, o, s) { + var l = t( + t( + r( + t(e(o[1], s[0]), e(-s[1], o[0])), + a[2], + ), + t( + r( + t(e(a[1], s[0]), e(-s[1], a[0])), + -o[2], + ), + r( + t(e(a[1], o[0]), e(-o[1], a[0])), + s[2], + ), + ), + ), + t( + r( + t(e(a[1], s[0]), e(-s[1], a[0])), + i[2], + ), + t( + r( + t(e(i[1], s[0]), e(-s[1], i[0])), + -a[2], + ), + r( + t(e(i[1], a[0]), e(-a[1], i[0])), + s[2], + ), + ), + ), + ), + u = t( + t( + r( + t(e(o[1], s[0]), e(-s[1], o[0])), + i[2], + ), + t( + r( + t(e(i[1], s[0]), e(-s[1], i[0])), + -o[2], + ), + r( + t(e(i[1], o[0]), e(-o[1], i[0])), + s[2], + ), + ), + ), + t( + r( + t(e(a[1], o[0]), e(-o[1], a[0])), + i[2], + ), + t( + r( + t(e(i[1], o[0]), e(-o[1], i[0])), + -a[2], + ), + r( + t(e(i[1], a[0]), e(-a[1], i[0])), + o[2], + ), + ), + ), + ), + c = n(l, u); + return c[c.length - 1]; + }; + } + function u(t, e, r, n) { + return function (i, a, o, s, l) { + var u = t( + t( + t( + r( + t( + r( + t( + e(s[1], l[0]), + e(-l[1], s[0]), + ), + o[2], + ), + t( + r( + t( + e(o[1], l[0]), + e(-l[1], o[0]), + ), + -s[2], + ), + r( + t( + e(o[1], s[0]), + e(-s[1], o[0]), + ), + l[2], + ), + ), + ), + a[3], + ), + t( + r( + t( + r( + t( + e(s[1], l[0]), + e(-l[1], s[0]), + ), + a[2], + ), + t( + r( + t( + e(a[1], l[0]), + e(-l[1], a[0]), + ), + -s[2], + ), + r( + t( + e(a[1], s[0]), + e(-s[1], a[0]), + ), + l[2], + ), + ), + ), + -o[3], + ), + r( + t( + r( + t( + e(o[1], l[0]), + e(-l[1], o[0]), + ), + a[2], + ), + t( + r( + t( + e(a[1], l[0]), + e(-l[1], a[0]), + ), + -o[2], + ), + r( + t( + e(a[1], o[0]), + e(-o[1], a[0]), + ), + l[2], + ), + ), + ), + s[3], + ), + ), + ), + t( + r( + t( + r( + t( + e(o[1], s[0]), + e(-s[1], o[0]), + ), + a[2], + ), + t( + r( + t( + e(a[1], s[0]), + e(-s[1], a[0]), + ), + -o[2], + ), + r( + t( + e(a[1], o[0]), + e(-o[1], a[0]), + ), + s[2], + ), + ), + ), + -l[3], + ), + t( + r( + t( + r( + t( + e(s[1], l[0]), + e(-l[1], s[0]), + ), + a[2], + ), + t( + r( + t( + e(a[1], l[0]), + e(-l[1], a[0]), + ), + -s[2], + ), + r( + t( + e(a[1], s[0]), + e(-s[1], a[0]), + ), + l[2], + ), + ), + ), + i[3], + ), + r( + t( + r( + t( + e(s[1], l[0]), + e(-l[1], s[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], l[0]), + e(-l[1], i[0]), + ), + -s[2], + ), + r( + t( + e(i[1], s[0]), + e(-s[1], i[0]), + ), + l[2], + ), + ), + ), + -a[3], + ), + ), + ), + ), + t( + t( + r( + t( + r( + t( + e(a[1], l[0]), + e(-l[1], a[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], l[0]), + e(-l[1], i[0]), + ), + -a[2], + ), + r( + t( + e(i[1], a[0]), + e(-a[1], i[0]), + ), + l[2], + ), + ), + ), + s[3], + ), + t( + r( + t( + r( + t( + e(a[1], s[0]), + e(-s[1], a[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], s[0]), + e(-s[1], i[0]), + ), + -a[2], + ), + r( + t( + e(i[1], a[0]), + e(-a[1], i[0]), + ), + s[2], + ), + ), + ), + -l[3], + ), + r( + t( + r( + t( + e(o[1], s[0]), + e(-s[1], o[0]), + ), + a[2], + ), + t( + r( + t( + e(a[1], s[0]), + e(-s[1], a[0]), + ), + -o[2], + ), + r( + t( + e(a[1], o[0]), + e(-o[1], a[0]), + ), + s[2], + ), + ), + ), + i[3], + ), + ), + ), + t( + r( + t( + r( + t( + e(o[1], s[0]), + e(-s[1], o[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], s[0]), + e(-s[1], i[0]), + ), + -o[2], + ), + r( + t( + e(i[1], o[0]), + e(-o[1], i[0]), + ), + s[2], + ), + ), + ), + -a[3], + ), + t( + r( + t( + r( + t( + e(a[1], s[0]), + e(-s[1], a[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], s[0]), + e(-s[1], i[0]), + ), + -a[2], + ), + r( + t( + e(i[1], a[0]), + e(-a[1], i[0]), + ), + s[2], + ), + ), + ), + o[3], + ), + r( + t( + r( + t( + e(a[1], o[0]), + e(-o[1], a[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], o[0]), + e(-o[1], i[0]), + ), + -a[2], + ), + r( + t( + e(i[1], a[0]), + e(-a[1], i[0]), + ), + o[2], + ), + ), + ), + -s[3], + ), + ), + ), + ), + ), + c = t( + t( + t( + r( + t( + r( + t( + e(s[1], l[0]), + e(-l[1], s[0]), + ), + o[2], + ), + t( + r( + t( + e(o[1], l[0]), + e(-l[1], o[0]), + ), + -s[2], + ), + r( + t( + e(o[1], s[0]), + e(-s[1], o[0]), + ), + l[2], + ), + ), + ), + i[3], + ), + r( + t( + r( + t( + e(s[1], l[0]), + e(-l[1], s[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], l[0]), + e(-l[1], i[0]), + ), + -s[2], + ), + r( + t( + e(i[1], s[0]), + e(-s[1], i[0]), + ), + l[2], + ), + ), + ), + -o[3], + ), + ), + t( + r( + t( + r( + t( + e(o[1], l[0]), + e(-l[1], o[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], l[0]), + e(-l[1], i[0]), + ), + -o[2], + ), + r( + t( + e(i[1], o[0]), + e(-o[1], i[0]), + ), + l[2], + ), + ), + ), + s[3], + ), + r( + t( + r( + t( + e(o[1], s[0]), + e(-s[1], o[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], s[0]), + e(-s[1], i[0]), + ), + -o[2], + ), + r( + t( + e(i[1], o[0]), + e(-o[1], i[0]), + ), + s[2], + ), + ), + ), + -l[3], + ), + ), + ), + t( + t( + r( + t( + r( + t( + e(o[1], l[0]), + e(-l[1], o[0]), + ), + a[2], + ), + t( + r( + t( + e(a[1], l[0]), + e(-l[1], a[0]), + ), + -o[2], + ), + r( + t( + e(a[1], o[0]), + e(-o[1], a[0]), + ), + l[2], + ), + ), + ), + i[3], + ), + r( + t( + r( + t( + e(o[1], l[0]), + e(-l[1], o[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], l[0]), + e(-l[1], i[0]), + ), + -o[2], + ), + r( + t( + e(i[1], o[0]), + e(-o[1], i[0]), + ), + l[2], + ), + ), + ), + -a[3], + ), + ), + t( + r( + t( + r( + t( + e(a[1], l[0]), + e(-l[1], a[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], l[0]), + e(-l[1], i[0]), + ), + -a[2], + ), + r( + t( + e(i[1], a[0]), + e(-a[1], i[0]), + ), + l[2], + ), + ), + ), + o[3], + ), + r( + t( + r( + t( + e(a[1], o[0]), + e(-o[1], a[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], o[0]), + e(-o[1], i[0]), + ), + -a[2], + ), + r( + t( + e(i[1], a[0]), + e(-a[1], i[0]), + ), + o[2], + ), + ), + ), + -l[3], + ), + ), + ), + ), + f = n(u, c); + return f[f.length - 1]; + }; + } + function c(t) { + return (3 === t ? s : 4 === t ? l : u)( + i, + n, + a, + o, + ); + } + var f = c(3), + h = c(4), + p = [ + 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 = 33306690738754716e-32 * n; + return o >= s || o <= -s ? o : f(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], + f = e[2] - n[2], + p = r[2] - n[2], + d = a * u, + v = o * l, + g = o * s, + y = i * u, + m = i * l, + x = a * s, + b = + c * (d - v) + f * (g - y) + p * (m - x), + _ = + 7771561172376103e-31 * + ((Math.abs(d) + Math.abs(v)) * + Math.abs(c) + + (Math.abs(g) + Math.abs(y)) * + Math.abs(f) + + (Math.abs(m) + Math.abs(x)) * + Math.abs(p)); + return b > _ || -b > _ ? b : h(t, e, r, n); + }, + ]; + function d(t) { + var e = p[t.length]; + return ( + e || (e = p[t.length] = c(t.length)), + e.apply(void 0, t) + ); + } + function v(t, e, r, n, i, a, o) { + return function (e, r, s, l, u) { + switch (arguments.length) { + case 0: + case 1: + return 0; + case 2: + return n(e, r); + case 3: + return i(e, r, s); + case 4: + return a(e, r, s, l); + case 5: + return o(e, r, s, l, u); + } + for ( + var c = new Array(arguments.length), f = 0; + f < arguments.length; + ++f + ) + c[f] = arguments[f]; + return t(c); + }; + } + !(function () { + for (; p.length <= 5; ) p.push(c(p.length)); + t.exports = v.apply(void 0, [d].concat(p)); + for (var e = 0; e <= 5; ++e) + t.exports[e] = p[e]; + })(); + }, + 2019: function (t, e, r) { + "use strict"; + var n = r(9662), + i = r(8289); + t.exports = function (t, e) { + if (1 === t.length) return i(e, t[0]); + if (1 === e.length) return i(t, e[0]); + if (0 === t.length || 0 === e.length) + return [0]; + var r = [0]; + if (t.length < e.length) + for (var a = 0; a < t.length; ++a) + r = n(r, i(e, t[a])); + else + for (a = 0; a < e.length; ++a) + r = n(r, i(t, e[a])); + return r; + }; + }, + 8289: function (t, e, r) { + "use strict"; + var n = r(9660), + i = r(87); + t.exports = function (t, e) { + var r = t.length; + if (1 === r) { + var a = n(t[0], e); + return a[0] ? a : [a[1]]; + } + var o = new Array(2 * r), + s = [0.1, 0.1], + l = [0.1, 0.1], + u = 0; + n(t[0], e, s), s[0] && (o[u++] = s[0]); + for (var c = 1; c < r; ++c) { + n(t[c], e, l); + var f = s[1]; + i(f, l[0], s), s[0] && (o[u++] = s[0]); + var h = l[1], + p = s[1], + d = h + p, + v = p - (d - h); + (s[1] = d), v && (o[u++] = v); + } + return ( + s[1] && (o[u++] = s[1]), + 0 === u && (o[u++] = 0), + (o.length = u), + o + ); + }; + }, + 4434: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r, i) { + var a = n(t, r, i), + o = n(e, r, i); + if ((a > 0 && o > 0) || (a < 0 && o < 0)) + return !1; + var s = n(r, t, e), + l = n(i, t, e); + return ( + !((s > 0 && l > 0) || (s < 0 && l < 0)) && + (0 !== a || + 0 !== o || + 0 !== s || + 0 !== l || + (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], + f = Math.min(u, c); + if (Math.max(u, c) < s || l < f) + return !1; + } + return !0; + })(t, e, r, i)) + ); + }; + var n = r(417)[3]; + }, + 4078: function (t) { + "use strict"; + t.exports = 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); + return i ? [i, r] : [r]; + })(t[0], -e[0]); + var i, + a, + o = new Array(r + n), + s = 0, + l = 0, + u = 0, + c = Math.abs, + f = t[l], + h = c(f), + p = -e[u], + d = c(p); + h < d + ? ((a = f), + (l += 1) < r && (h = c((f = t[l])))) + : ((a = p), + (u += 1) < n && (d = c((p = -e[u])))), + (l < r && h < d) || u >= n + ? ((i = f), + (l += 1) < r && (h = c((f = t[l])))) + : ((i = p), + (u += 1) < n && (d = c((p = -e[u])))); + for ( + var v, + g, + y = i + a, + m = y - i, + x = a - m, + b = x, + _ = y; + l < r && u < n; + + ) + h < d + ? ((i = f), + (l += 1) < r && (h = c((f = t[l])))) + : ((i = p), + (u += 1) < n && (d = c((p = -e[u])))), + (x = (a = b) - (m = (y = i + a) - i)) && + (o[s++] = x), + (b = + _ - + ((v = _ + y) - (g = v - _)) + + (y - g)), + (_ = v); + for (; l < r; ) + (x = (a = b) - (m = (y = (i = f) + a) - i)) && + (o[s++] = x), + (b = + _ - + ((v = _ + y) - (g = v - _)) + + (y - g)), + (_ = v), + (l += 1) < r && (f = t[l]); + for (; u < n; ) + (x = (a = b) - (m = (y = (i = p) + a) - i)) && + (o[s++] = x), + (b = + _ - + ((v = _ + y) - (g = v - _)) + + (y - g)), + (_ = v), + (u += 1) < n && (p = -e[u]); + return ( + b && (o[s++] = b), + _ && (o[s++] = _), + s || (o[s++] = 0), + (o.length = s), + o + ); + }; + }, + 9662: function (t) { + "use strict"; + t.exports = 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); + return i ? [i, r] : [r]; + })(t[0], e[0]); + var i, + a, + o = new Array(r + n), + s = 0, + l = 0, + u = 0, + c = Math.abs, + f = t[l], + h = c(f), + p = e[u], + d = c(p); + h < d + ? ((a = f), + (l += 1) < r && (h = c((f = t[l])))) + : ((a = p), + (u += 1) < n && (d = c((p = e[u])))), + (l < r && h < d) || u >= n + ? ((i = f), + (l += 1) < r && (h = c((f = t[l])))) + : ((i = p), + (u += 1) < n && (d = c((p = e[u])))); + for ( + var v, + g, + y = i + a, + m = y - i, + x = a - m, + b = x, + _ = y; + l < r && u < n; + + ) + h < d + ? ((i = f), + (l += 1) < r && (h = c((f = t[l])))) + : ((i = p), + (u += 1) < n && (d = c((p = e[u])))), + (x = (a = b) - (m = (y = i + a) - i)) && + (o[s++] = x), + (b = + _ - + ((v = _ + y) - (g = v - _)) + + (y - g)), + (_ = v); + for (; l < r; ) + (x = (a = b) - (m = (y = (i = f) + a) - i)) && + (o[s++] = x), + (b = + _ - + ((v = _ + y) - (g = v - _)) + + (y - g)), + (_ = v), + (l += 1) < r && (f = t[l]); + for (; u < n; ) + (x = (a = b) - (m = (y = (i = p) + a) - i)) && + (o[s++] = x), + (b = + _ - + ((v = _ + y) - (g = v - _)) + + (y - g)), + (_ = v), + (u += 1) < n && (p = e[u]); + return ( + b && (o[s++] = b), + _ && (o[s++] = _), + s || (o[s++] = 0), + (o.length = s), + o + ); + }; + }, + 8691: function (t, e, r) { + "use strict"; + t.exports = function (t) { + return i(n(t)); + }; + var n = r(2692), + i = r(7037); + }, + 7212: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r, s) { + if ( + ((r = r || 0), + void 0 === s && + (s = (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)), + 0 === t.length || s < 1) + ) + return { + cells: [], + vertexIds: [], + vertexWeights: [], + }; + var l = (function (t, e) { + for ( + var r = t.length, + n = i.mallocUint8(r), + a = 0; + a < r; + ++a + ) + n[a] = (t[a] < e) | 0; + return n; + })(e, +r), + u = (function (t, e) { + for ( + var r = t.length, + o = (((e * (e + 1)) / 2) * r) | 0, + s = i.mallocUint32(2 * o), + l = 0, + u = 0; + u < r; + ++u + ) + for ( + var c = t[u], f = ((e = c.length), 0); + f < e; + ++f + ) + for (var h = 0; h < f; ++h) { + var p = c[h], + d = c[f]; + (s[l++] = 0 | Math.min(p, d)), + (s[l++] = 0 | Math.max(p, d)); + } + a(n(s, [(l / 2) | 0, 2])); + var v = 2; + for (u = 2; u < l; u += 2) + (s[u - 2] === s[u] && + s[u - 1] === s[u + 1]) || + ((s[v++] = s[u]), (s[v++] = s[u + 1])); + return n(s, [(v / 2) | 0, 2]); + })(t, s), + c = (function (t, e, r, a) { + for ( + var o = t.data, + s = t.shape[0], + l = i.mallocDouble(s), + u = 0, + c = 0; + c < s; + ++c + ) { + var f = o[2 * c], + h = o[2 * c + 1]; + if (r[f] !== r[h]) { + var p = e[f], + d = e[h]; + (o[2 * u] = f), + (o[2 * u + 1] = h), + (l[u++] = (d - a) / (d - p)); + } + } + return (t.shape[0] = u), n(l, [u]); + })(u, e, l, +r), + f = (function (t, e) { + var r = i.mallocInt32(2 * e), + n = t.shape[0], + a = t.data; + r[0] = 0; + for (var o = 0, s = 0; s < n; ++s) { + var l = a[2 * s]; + if (l !== o) { + for (r[2 * o + 1] = s; ++o < l; ) + (r[2 * o] = s), (r[2 * o + 1] = s); + r[2 * o] = s; + } + } + for (r[2 * o + 1] = n; ++o < e; ) + r[2 * o] = r[2 * o + 1] = n; + return r; + })(u, 0 | e.length), + h = o(s)(t, u.data, f, l), + p = (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; + })(u), + d = [].slice.call(c.data, 0, c.shape[0]); + return ( + i.free(l), + i.free(u.data), + i.free(c.data), + i.free(f), + { cells: h, vertexIds: p, vertexWeights: d } + ); + }; + var n = r(5050), + i = r(5306), + a = r(8729), + o = r(1168); + }, + 1168: function (t) { + "use strict"; + t.exports = function (t) { + return e[t](); + }; + var e = [ + function () { + return function (t, e, r, n) { + for (var i = t.length, a = 0; a < i; ++a) + t[a].length; + return []; + }; + }, + function () { + function t(t, e, r, n) { + for ( + var i = 0 | Math.min(r, n), + a = 0 | Math.max(r, n), + o = t[2 * i], + s = t[2 * i + 1]; + o < s; + + ) { + var l = (o + s) >> 1, + u = e[2 * l + 1]; + if (u === a) return l; + a < u ? (s = l) : (o = l + 1); + } + return o; + } + return function (e, r, n, i) { + for ( + var a = e.length, o = [], s = 0; + s < a; + ++s + ) { + var l = e[s]; + if (2 === l.length) { + var u = (i[l[0]] << 0) + (i[l[1]] << 1); + if (0 === u || 3 === u) continue; + switch (u) { + case 0: + case 3: + break; + case 1: + o.push([t(n, r, l[0], l[1])]); + break; + case 2: + o.push([t(n, r, l[1], l[0])]); + } + } + } + return o; + }; + }, + function () { + function t(t, e, r, n) { + for ( + var i = 0 | Math.min(r, n), + a = 0 | Math.max(r, n), + o = t[2 * i], + s = t[2 * i + 1]; + o < s; + + ) { + var l = (o + s) >> 1, + u = e[2 * l + 1]; + if (u === a) return l; + a < u ? (s = l) : (o = l + 1); + } + return o; + } + return function (e, r, n, i) { + for ( + var a = e.length, o = [], s = 0; + s < a; + ++s + ) { + var l = e[s], + u = l.length; + if (3 === u) { + if ( + 0 == + (c = + (i[l[0]] << 0) + + (i[l[1]] << 1) + + (i[l[2]] << 2)) || + 7 === c + ) + continue; + switch (c) { + case 0: + case 7: + break; + case 1: + o.push([ + t(n, r, l[0], l[2]), + t(n, r, l[0], l[1]), + ]); + break; + case 2: + o.push([ + t(n, r, l[1], l[0]), + t(n, r, l[1], l[2]), + ]); + break; + case 3: + o.push([ + t(n, r, l[0], l[2]), + t(n, r, l[1], l[2]), + ]); + break; + case 4: + o.push([ + t(n, r, l[2], l[1]), + t(n, r, l[2], l[0]), + ]); + break; + case 5: + o.push([ + t(n, r, l[2], l[1]), + t(n, r, l[0], l[1]), + ]); + break; + case 6: + o.push([ + t(n, r, l[1], l[0]), + t(n, r, l[2], l[0]), + ]); + } + } else if (2 === u) { + var c; + if ( + 0 == + (c = + (i[l[0]] << 0) + + (i[l[1]] << 1)) || + 3 === c + ) + continue; + switch (c) { + case 0: + case 3: + break; + case 1: + o.push([t(n, r, l[0], l[1])]); + break; + case 2: + o.push([t(n, r, l[1], l[0])]); + } + } + } + return o; + }; + }, + function () { + function t(t, e, r, n) { + for ( + var i = 0 | Math.min(r, n), + a = 0 | Math.max(r, n), + o = t[2 * i], + s = t[2 * i + 1]; + o < s; + + ) { + var l = (o + s) >> 1, + u = e[2 * l + 1]; + if (u === a) return l; + a < u ? (s = l) : (o = l + 1); + } + return o; + } + return function (e, r, n, i) { + for ( + var a = e.length, o = [], s = 0; + s < a; + ++s + ) { + var l = e[s], + u = l.length; + if (4 === u) { + if ( + 0 == + (c = + (i[l[0]] << 0) + + (i[l[1]] << 1) + + (i[l[2]] << 2) + + (i[l[3]] << 3)) || + 15 === c + ) + continue; + switch (c) { + case 0: + case 15: + break; + case 1: + o.push([ + t(n, r, l[0], l[1]), + t(n, r, l[0], l[2]), + t(n, r, l[0], l[3]), + ]); + break; + case 2: + o.push([ + t(n, r, l[1], l[2]), + t(n, r, l[1], l[0]), + t(n, r, l[1], l[3]), + ]); + break; + case 3: + o.push( + [ + t(n, r, l[1], l[2]), + t(n, r, l[0], l[2]), + t(n, r, l[0], l[3]), + ], + [ + t(n, r, l[1], l[3]), + t(n, r, l[1], l[2]), + t(n, r, l[0], l[3]), + ], + ); + break; + case 4: + o.push([ + t(n, r, l[2], l[0]), + t(n, r, l[2], l[1]), + t(n, r, l[2], l[3]), + ]); + break; + case 5: + o.push( + [ + t(n, r, l[0], l[1]), + t(n, r, l[2], l[1]), + t(n, r, l[0], l[3]), + ], + [ + t(n, r, l[2], l[1]), + t(n, r, l[2], l[3]), + t(n, r, l[0], l[3]), + ], + ); + break; + case 6: + o.push( + [ + t(n, r, l[2], l[0]), + t(n, r, l[1], l[0]), + t(n, r, l[1], l[3]), + ], + [ + t(n, r, l[2], l[3]), + t(n, r, l[2], l[0]), + t(n, r, l[1], l[3]), + ], + ); + break; + case 7: + o.push([ + t(n, r, l[0], l[3]), + t(n, r, l[1], l[3]), + t(n, r, l[2], l[3]), + ]); + break; + case 8: + o.push([ + t(n, r, l[3], l[1]), + t(n, r, l[3], l[0]), + t(n, r, l[3], l[2]), + ]); + break; + case 9: + o.push( + [ + t(n, r, l[3], l[1]), + t(n, r, l[0], l[1]), + t(n, r, l[0], l[2]), + ], + [ + t(n, r, l[3], l[2]), + t(n, r, l[3], l[1]), + t(n, r, l[0], l[2]), + ], + ); + break; + case 10: + o.push( + [ + t(n, r, l[1], l[0]), + t(n, r, l[3], l[0]), + t(n, r, l[1], l[2]), + ], + [ + t(n, r, l[3], l[0]), + t(n, r, l[3], l[2]), + t(n, r, l[1], l[2]), + ], + ); + break; + case 11: + o.push([ + t(n, r, l[1], l[2]), + t(n, r, l[0], l[2]), + t(n, r, l[3], l[2]), + ]); + break; + case 12: + o.push( + [ + t(n, r, l[3], l[0]), + t(n, r, l[2], l[0]), + t(n, r, l[2], l[1]), + ], + [ + t(n, r, l[3], l[1]), + t(n, r, l[3], l[0]), + t(n, r, l[2], l[1]), + ], + ); + break; + case 13: + o.push([ + t(n, r, l[0], l[1]), + t(n, r, l[2], l[1]), + t(n, r, l[3], l[1]), + ]); + break; + case 14: + o.push([ + t(n, r, l[2], l[0]), + t(n, r, l[1], l[0]), + t(n, r, l[3], l[0]), + ]); + } + } else if (3 === u) { + if ( + 0 == + (c = + (i[l[0]] << 0) + + (i[l[1]] << 1) + + (i[l[2]] << 2)) || + 7 === c + ) + continue; + switch (c) { + case 0: + case 7: + break; + case 1: + o.push([ + t(n, r, l[0], l[2]), + t(n, r, l[0], l[1]), + ]); + break; + case 2: + o.push([ + t(n, r, l[1], l[0]), + t(n, r, l[1], l[2]), + ]); + break; + case 3: + o.push([ + t(n, r, l[0], l[2]), + t(n, r, l[1], l[2]), + ]); + break; + case 4: + o.push([ + t(n, r, l[2], l[1]), + t(n, r, l[2], l[0]), + ]); + break; + case 5: + o.push([ + t(n, r, l[2], l[1]), + t(n, r, l[0], l[1]), + ]); + break; + case 6: + o.push([ + t(n, r, l[1], l[0]), + t(n, r, l[2], l[0]), + ]); + } + } else if (2 === u) { + var c; + if ( + 0 == + (c = + (i[l[0]] << 0) + + (i[l[1]] << 1)) || + 3 === c + ) + continue; + switch (c) { + case 0: + case 3: + break; + case 1: + o.push([t(n, r, l[0], l[1])]); + break; + case 2: + o.push([t(n, r, l[1], l[0])]); + } + } + } + return o; + }; + }, + ]; + }, + 8211: function (t, e, r) { + "use strict"; + r(2288), + r(1731), + (e.H = function (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 f = e.slice(0); + f.sort(); + for (var h = 0; h < r; ++h) + if ((n = c[h] - f[h])) return n; + return 0; + } + }); + }, + 9392: function (t, e) { + "use strict"; + function r(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 + ); + } + (e.INT_BITS = 32), + (e.INT_MAX = 2147483647), + (e.INT_MIN = -1 << 31), + (e.sign = function (t) { + return (t > 0) - (t < 0); + }), + (e.abs = function (t) { + var e = t >> 31; + return (t ^ e) - e; + }), + (e.min = function (t, e) { + return e ^ ((t ^ e) & -(t < e)); + }), + (e.max = function (t, e) { + return t ^ ((t ^ e) & -(t < e)); + }), + (e.isPow2 = function (t) { + return !(t & (t - 1) || !t); + }), + (e.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) + ); + }), + (e.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; + }), + (e.popCount = function (t) { + return ( + (16843009 * + (((t = + (858993459 & + (t -= (t >>> 1) & 1431655765)) + + ((t >>> 2) & 858993459)) + + (t >>> 4)) & + 252645135)) >>> + 24 + ); + }), + (e.countTrailingZeros = r), + (e.nextPow2 = function (t) { + return ( + (t += 0 === t), + --t, + (t |= t >>> 1), + (t |= t >>> 2), + (t |= t >>> 4), + 1 + ((t |= t >>> 8) | (t >>> 16)) + ); + }), + (e.prevPow2 = function (t) { + return ( + (t |= t >>> 1), + (t |= t >>> 2), + (t |= t >>> 4), + (t |= t >>> 8), + (t |= t >>> 16) - (t >>> 1) + ); + }), + (e.parity = function (t) { + return ( + (t ^= t >>> 16), + (t ^= t >>> 8), + (t ^= t >>> 4), + (27030 >>> (t &= 15)) & 1 + ); + }); + var n = 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; + } + })(n), + (e.reverse = function (t) { + return ( + (n[255 & t] << 24) | + (n[(t >>> 8) & 255] << 16) | + (n[(t >>> 16) & 255] << 8) | + n[(t >>> 24) & 255] + ); + }), + (e.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) + ); + }), + (e.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 + ); + }), + (e.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) + ); + }), + (e.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 + ); + }), + (e.nextCombination = function (t) { + var e = t | (t - 1); + return ( + (e + 1) | (((~e & -~e) - 1) >>> (r(t) + 1)) + ); + }); + }, + 6656: function (t, e, r) { + "use strict"; + var n = r(9392), + i = r(9521); + function a(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 f = e.slice(0); + f.sort(); + for (var h = 0; h < r; ++h) + if ((n = c[h] - f[h])) return n; + return 0; + } + } + function o(t, e) { + return a(t[0], e[0]); + } + function s(t, e) { + if (e) { + for ( + var r = t.length, n = new Array(r), i = 0; + i < r; + ++i + ) + n[i] = [t[i], e[i]]; + for (n.sort(o), i = 0; i < r; ++i) + (t[i] = n[i][0]), (e[i] = n[i][1]); + return t; + } + return t.sort(a), t; + } + function l(t) { + if (0 === t.length) return []; + for ( + var e = 1, r = t.length, n = 1; + n < r; + ++n + ) { + var i = t[n]; + if (a(i, t[n - 1])) { + if (n === e) { + e++; + continue; + } + t[e++] = i; + } + } + return (t.length = e), t; + } + function u(t, e) { + for ( + var r = 0, n = t.length - 1, i = -1; + r <= n; + + ) { + var o = (r + n) >> 1, + s = a(t[o], e); + s <= 0 + ? (0 === s && (i = o), (r = o + 1)) + : s > 0 && (n = o - 1); + } + return i; + } + function c(t, e) { + for ( + var r = new Array(t.length), + i = 0, + o = r.length; + i < o; + ++i + ) + r[i] = []; + for ( + var s = [], l = ((i = 0), e.length); + i < l; + ++i + ) + for ( + var c = e[i], + f = c.length, + h = 1, + p = 1 << f; + h < p; + ++h + ) { + s.length = n.popCount(h); + for (var d = 0, v = 0; v < f; ++v) + h & (1 << v) && (s[d++] = c[v]); + var g = u(t, s); + if (!(g < 0)) + for ( + ; + r[g++].push(i), + !(g >= t.length || 0 !== a(t[g], s)); + + ); + } + return r; + } + function f(t, e) { + if (e < 0) return []; + for ( + var r = [], i = (1 << (e + 1)) - 1, a = 0; + a < t.length; + ++a + ) + for ( + var o = t[a], l = i; + l < 1 << o.length; + l = n.nextCombination(l) + ) { + for ( + var u = new Array(e + 1), c = 0, f = 0; + f < o.length; + ++f + ) + l & (1 << f) && (u[c++] = o[f]); + r.push(u); + } + return s(r); + } + (e.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; + }), + (e.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; + }), + (e.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; + }), + (e.compareCells = a), + (e.normalize = s), + (e.unique = l), + (e.findCell = u), + (e.incidence = c), + (e.dual = function (t, e) { + if (!e) return c(l(f(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; + }), + (e.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, + l = 1 << a; + o < l; + ++o + ) { + for (var u = [], c = 0; c < a; ++c) + (o >>> c) & 1 && u.push(i[c]); + e.push(u); + } + return s(e); + }), + (e.skeleton = f), + (e.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 l = new Array(i.length - 1), + u = 0, + c = 0; + u < o; + ++u + ) + u !== a && (l[c++] = i[u]); + e.push(l); + } + return s(e); + }), + (e.connectedComponents = function (t, e) { + return e + ? (function (t, e) { + for ( + var r = new i(e), n = 0; + n < t.length; + ++n + ) + for ( + var a = t[n], o = 0; + o < a.length; + ++o + ) + for ( + var s = o + 1; + s < a.length; + ++s + ) + r.link(a[o], a[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(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, e) + : (function (t) { + for ( + var e = l(s(f(t, 0))), + r = new i(e.length), + n = 0; + n < t.length; + ++n + ) + for ( + var a = t[n], o = 0; + o < a.length; + ++o + ) + for ( + var c = u(e, [a[o]]), h = o + 1; + h < a.length; + ++h + ) + r.link(c, u(e, [a[h]])); + var p = [], + d = r.ranks; + for (n = 0; n < d.length; ++n) + d[n] = -1; + for (n = 0; n < t.length; ++n) { + var v = r.find(u(e, [t[n][0]])); + d[v] < 0 + ? ((d[v] = p.length), + p.push([t[n].slice(0)])) + : p[d[v]].push(t[n].slice(0)); + } + return p; + })(t); + }); + }, + 9521: function (t) { + "use strict"; + function e(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); + } + (t.exports = e), + (e.prototype.length = function () { + return this.roots.length; + }), + (e.prototype.makeSet = function () { + var t = this.roots.length; + return ( + this.roots.push(t), this.ranks.push(0), t + ); + }), + (e.prototype.find = function (t) { + for (var e = this.roots; e[t] !== t; ) { + var r = e[t]; + (e[t] = e[r]), (t = r); + } + return t; + }), + (e.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]); + } + }); + }, + 8243: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r) { + for ( + var a = e.length, + o = t.length, + s = new Array(a), + l = new Array(a), + u = new Array(a), + c = new Array(a), + f = 0; + f < a; + ++f + ) + (s[f] = l[f] = -1), + (u[f] = 1 / 0), + (c[f] = !1); + for (f = 0; f < o; ++f) { + var h = t[f]; + if (2 !== h.length) + throw new Error("Input must be a graph"); + var p = h[1], + d = h[0]; + -1 !== l[d] ? (l[d] = -2) : (l[d] = p), + -1 !== s[p] ? (s[p] = -2) : (s[p] = d); + } + function v(t) { + if (c[t]) return 1 / 0; + var r, + i, + a, + o = s[t], + u = l[t]; + return o < 0 || u < 0 + ? 1 / 0 + : ((r = e[t]), + (i = e[o]), + (a = e[u]), + Math.abs(n(r, i, a)) / + Math.sqrt( + Math.pow(i[0] - a[0], 2) + + Math.pow(i[1] - a[1], 2), + )); + } + function g(t, e) { + var r = k[t], + n = k[e]; + (k[t] = n), + (k[e] = r), + (A[r] = e), + (A[n] = t); + } + function y(t) { + return u[k[t]]; + } + function m(t) { + return 1 & t ? (t - 1) >> 1 : (t >> 1) - 1; + } + function x(t) { + for (var e = y(t); ; ) { + var r = e, + n = 2 * t + 1, + i = 2 * (t + 1), + a = t; + if (n < M) { + var o = y(n); + o < r && ((a = n), (r = o)); + } + if ((i < M && y(i) < r && (a = i), a === t)) + return t; + g(t, a), (t = a); + } + } + function b(t) { + for (var e = y(t); t > 0; ) { + var r = m(t); + if (!(r >= 0 && e < y(r))) return t; + g(t, r), (t = r); + } + } + function _() { + if (M > 0) { + var t = k[0]; + return g(0, M - 1), (M -= 1), x(0), t; + } + return -1; + } + function w(t, e) { + var r = k[t]; + return u[r] === e + ? t + : ((u[r] = -1 / 0), + b(t), + _(), + (u[r] = e), + b((M += 1) - 1)); + } + function T(t) { + if (!c[t]) { + c[t] = !0; + var e = s[t], + r = l[t]; + s[r] >= 0 && (s[r] = e), + l[e] >= 0 && (l[e] = r), + A[e] >= 0 && w(A[e], v(e)), + A[r] >= 0 && w(A[r], v(r)); + } + } + var k = [], + A = new Array(a); + for (f = 0; f < a; ++f) + (u[f] = v(f)) < 1 / 0 + ? ((A[f] = k.length), k.push(f)) + : (A[f] = -1); + var M = k.length; + for (f = M >> 1; f >= 0; --f) x(f); + for (;;) { + var S = _(); + if (S < 0 || u[S] > r) break; + T(S); + } + var E = []; + for (f = 0; f < a; ++f) + c[f] || + ((A[f] = E.length), E.push(e[f].slice())); + function L(t, e) { + if (t[e] < 0) return e; + var r = e, + n = e; + do { + var i = t[n]; + if (!c[n] || i < 0 || i === n) break; + if ( + ((i = t[(n = i)]), + !c[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; + } + E.length; + var C = []; + return ( + t.forEach(function (t) { + var e = L(s, t[0]), + r = L(l, t[1]); + if (e >= 0 && r >= 0 && e !== r) { + var n = A[e], + i = A[r]; + n !== i && C.push([n, i]); + } + }), + i.unique(i.normalize(C)), + { positions: E, edges: C } + ); + }; + var n = r(417), + i = r(6656); + }, + 6638: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + var r, a, o, s; + if (e[0][0] < e[1][0]) (r = e[0]), (a = e[1]); + else { + if (!(e[0][0] > e[1][0])) return i(e, t); + (r = e[1]), (a = e[0]); + } + if (t[0][0] < t[1][0]) (o = t[0]), (s = t[1]); + else { + if (!(t[0][0] > t[1][0])) return -i(t, e); + (o = t[1]), (s = t[0]); + } + var l = n(r, a, s), + u = n(r, a, o); + if (l < 0) { + if (u <= 0) return l; + } else if (l > 0) { + if (u >= 0) return l; + } else if (u) return u; + if ( + ((l = n(s, o, a)), (u = n(s, o, r)), l < 0) + ) { + if (u <= 0) return l; + } else if (l > 0) { + if (u >= 0) return l; + } else if (u) return u; + return a[0] - s[0]; + }; + var n = r(417); + function i(t, e) { + var r, i, a, o; + if (e[0][0] < e[1][0]) (r = e[0]), (i = e[1]); + else { + if (!(e[0][0] > e[1][0])) { + var s = Math.min(t[0][1], t[1][1]), + l = Math.max(t[0][1], t[1][1]), + u = Math.min(e[0][1], e[1][1]), + c = Math.max(e[0][1], e[1][1]); + return l < u + ? l - u + : s > c + ? s - c + : l - c; + } + (r = e[1]), (i = e[0]); + } + t[0][1] < t[1][1] + ? ((a = t[0]), (o = t[1])) + : ((a = t[1]), (o = t[0])); + var f = n(i, r, a); + return f || (f = n(i, r, o)) || o - i; + } + }, + 4385: function (t, e, r) { + "use strict"; + t.exports = function (t) { + for ( + var e = t.length, + r = 2 * e, + n = new Array(r), + a = 0; + a < e; + ++a + ) { + var l = t[a], + u = l[0][0] < l[1][0]; + (n[2 * a] = new f(l[0][0], l, u, a)), + (n[2 * a + 1] = new f(l[1][0], l, !u, a)); + } + 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]) + ); + }); + var h = i(o), + p = [], + d = [], + v = []; + for (a = 0; a < r; ) { + for (var g = n[a].x, y = []; a < r; ) { + var m = n[a]; + if (m.x !== g) break; + (a += 1), + m.segment[0][0] === m.x && + m.segment[1][0] === m.x + ? m.create && + (m.segment[0][1] < m.segment[1][1] + ? (y.push( + new c( + m.segment[0][1], + m.index, + !0, + !0, + ), + ), + y.push( + new c( + m.segment[1][1], + m.index, + !1, + !1, + ), + )) + : (y.push( + new c( + m.segment[1][1], + m.index, + !0, + !1, + ), + ), + y.push( + new c( + m.segment[0][1], + m.index, + !1, + !0, + ), + ))) + : (h = m.create + ? h.insert(m.segment, m.index) + : h.remove(m.segment)); + } + p.push(h.root), d.push(g), v.push(y); + } + return new s(p, d, v); + }; + var n = r(5070), + i = r(7080), + a = r(417), + o = r(6638); + function s(t, e, r) { + (this.slabs = t), + (this.coordinates = e), + (this.horizontal = r); + } + function l(t, e) { + return t.y - e; + } + function u(t, e) { + for (var r = null; t; ) { + var n, + i, + o = t.key; + o[0][0] < o[1][0] + ? ((n = o[0]), (i = o[1])) + : ((n = o[1]), (i = o[0])); + var s = a(n, i, e); + if (s < 0) t = t.left; + else if (s > 0) + if (e[0] !== o[1][0]) + (r = t), (t = t.right); + else { + if ((l = u(t.right, e))) return l; + t = t.left; + } + else { + if (e[0] !== o[1][0]) return t; + var l; + if ((l = u(t.right, e))) return l; + t = t.left; + } + } + return r; + } + function c(t, e, r, n) { + (this.y = t), + (this.index = e), + (this.start = r), + (this.closed = n); + } + function f(t, e, r, n) { + (this.x = t), + (this.segment = e), + (this.create = r), + (this.index = n); + } + s.prototype.castUp = function (t) { + var e = n.le(this.coordinates, t[0]); + if (e < 0) return -1; + this.slabs[e]; + var r = u(this.slabs[e], t), + i = -1; + if ( + (r && (i = r.value), + this.coordinates[e] === t[0]) + ) { + var s = null; + if ((r && (s = r.key), e > 0)) { + var c = u(this.slabs[e - 1], t); + c && + (s + ? o(c.key, s) > 0 && + ((s = c.key), (i = c.value)) + : ((i = c.value), (s = c.key))); + } + var f = this.horizontal[e]; + if (f.length > 0) { + var h = n.ge(f, t[1], l); + if (h < f.length) { + var p = f[h]; + if (t[1] === p.y) { + if (p.closed) return p.index; + for ( + ; + h < f.length - 1 && + f[h + 1].y === t[1]; + + ) + if ((p = f[(h += 1)]).closed) + return p.index; + if (p.y === t[1] && !p.start) { + if ((h += 1) >= f.length) return i; + p = f[h]; + } + } + if (p.start) + if (s) { + var d = a(s[0], s[1], [t[0], p.y]); + s[0][0] > s[1][0] && (d = -d), + d > 0 && (i = p.index); + } else i = p.index; + else p.y !== t[1] && (i = p.index); + } + } + } + return i; + }; + }, + 4670: function (t, e, r) { + "use strict"; + var n = r(9130), + i = r(9662); + function a(t, e) { + var r = i(n(t, e), [e[e.length - 1]]); + return r[r.length - 1]; + } + function o(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; + } + (t.exports = function (t, e) { + for ( + var r = [], + n = [], + i = a(t[t.length - 1], e), + s = t[t.length - 1], + l = t[0], + u = 0; + u < t.length; + ++u, s = l + ) { + var c = a((l = t[u]), e); + if ((i < 0 && c > 0) || (i > 0 && c < 0)) { + var f = o(s, c, l, i); + r.push(f), n.push(f.slice()); + } + c < 0 + ? n.push(l.slice()) + : c > 0 + ? r.push(l.slice()) + : (r.push(l.slice()), n.push(l.slice())), + (i = c); + } + return { positive: r, negative: n }; + }), + (t.exports.positive = function (t, e) { + for ( + var r = [], + n = a(t[t.length - 1], e), + i = t[t.length - 1], + s = t[0], + l = 0; + l < t.length; + ++l, i = s + ) { + var u = a((s = t[l]), e); + ((n < 0 && u > 0) || (n > 0 && u < 0)) && + r.push(o(i, u, s, n)), + u >= 0 && r.push(s.slice()), + (n = u); + } + return r; + }), + (t.exports.negative = function (t, e) { + for ( + var r = [], + n = a(t[t.length - 1], e), + i = t[t.length - 1], + s = t[0], + l = 0; + l < t.length; + ++l, i = s + ) { + var u = a((s = t[l]), e); + ((n < 0 && u > 0) || (n > 0 && u < 0)) && + r.push(o(i, u, s, n)), + u <= 0 && r.push(s.slice()), + (n = u); + } + return r; + }); + }, + 8974: function (t, e, r) { + var n; + !(function () { + "use strict"; + var i = { + 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 a(t) { + return s(u(t), arguments); + } + function o(t, e) { + return a.apply(null, [t].concat(e || [])); + } + function s(t, e) { + var r, + n, + o, + s, + l, + u, + c, + f, + h, + p = 1, + d = t.length, + v = ""; + for (n = 0; n < d; n++) + if ("string" == typeof t[n]) v += t[n]; + else if ("object" == typeof t[n]) { + if ((s = t[n]).keys) + for ( + r = e[p], o = 0; + o < s.keys.length; + o++ + ) { + if (null == r) + throw new Error( + a( + '[sprintf] Cannot access property "%s" of undefined value "%s"', + s.keys[o], + s.keys[o - 1], + ), + ); + r = r[s.keys[o]]; + } + else + r = s.param_no ? e[s.param_no] : e[p++]; + if ( + (i.not_type.test(s.type) && + i.not_primitive.test(s.type) && + r instanceof Function && + (r = r()), + i.numeric_arg.test(s.type) && + "number" != typeof r && + isNaN(r)) + ) + throw new TypeError( + a( + "[sprintf] expecting number but found %T", + r, + ), + ); + switch ( + (i.number.test(s.type) && (f = r >= 0), + s.type) + ) { + case "b": + r = parseInt(r, 10).toString(2); + break; + case "c": + r = String.fromCharCode( + parseInt(r, 10), + ); + break; + case "d": + case "i": + r = parseInt(r, 10); + break; + case "j": + r = JSON.stringify( + r, + null, + s.width ? parseInt(s.width) : 0, + ); + break; + case "e": + r = s.precision + ? parseFloat(r).toExponential( + s.precision, + ) + : parseFloat(r).toExponential(); + break; + case "f": + r = s.precision + ? parseFloat(r).toFixed(s.precision) + : parseFloat(r); + break; + case "g": + r = s.precision + ? String( + Number( + r.toPrecision(s.precision), + ), + ) + : parseFloat(r); + break; + case "o": + r = (parseInt(r, 10) >>> 0).toString( + 8, + ); + break; + case "s": + (r = String(r)), + (r = s.precision + ? r.substring(0, s.precision) + : r); + break; + case "t": + (r = String(!!r)), + (r = s.precision + ? r.substring(0, s.precision) + : r); + break; + case "T": + (r = Object.prototype.toString + .call(r) + .slice(8, -1) + .toLowerCase()), + (r = s.precision + ? r.substring(0, s.precision) + : r); + break; + case "u": + r = parseInt(r, 10) >>> 0; + break; + case "v": + (r = r.valueOf()), + (r = s.precision + ? r.substring(0, s.precision) + : r); + break; + case "x": + r = (parseInt(r, 10) >>> 0).toString( + 16, + ); + break; + case "X": + r = (parseInt(r, 10) >>> 0) + .toString(16) + .toUpperCase(); + } + i.json.test(s.type) + ? (v += r) + : (!i.number.test(s.type) || + (f && !s.sign) + ? (h = "") + : ((h = f ? "+" : "-"), + (r = r + .toString() + .replace(i.sign, ""))), + (u = s.pad_char + ? "0" === s.pad_char + ? "0" + : s.pad_char.charAt(1) + : " "), + (c = s.width - (h + r).length), + (l = + s.width && c > 0 + ? u.repeat(c) + : ""), + (v += s.align + ? h + r + l + : "0" === u + ? h + l + r + : l + h + r)); + } + return v; + } + var l = Object.create(null); + function u(t) { + if (l[t]) return l[t]; + for (var e, r = t, n = [], a = 0; r; ) { + if (null !== (e = i.text.exec(r))) + n.push(e[0]); + else if (null !== (e = i.modulo.exec(r))) + n.push("%"); + else { + if (null === (e = i.placeholder.exec(r))) + throw new SyntaxError( + "[sprintf] unexpected placeholder", + ); + if (e[2]) { + a |= 1; + var o = [], + s = e[2], + u = []; + if (null === (u = i.key.exec(s))) + throw new SyntaxError( + "[sprintf] failed to parse named argument key", + ); + for ( + o.push(u[1]); + "" !== (s = s.substring(u[0].length)); + + ) + if ( + null !== (u = i.key_access.exec(s)) + ) + o.push(u[1]); + else { + if ( + null === + (u = i.index_access.exec(s)) + ) + throw new SyntaxError( + "[sprintf] failed to parse named argument key", + ); + o.push(u[1]); + } + e[2] = o; + } else a |= 2; + if (3 === a) + throw new Error( + "[sprintf] mixing positional and named placeholders is not (yet) supported", + ); + n.push({ + placeholder: e[0], + param_no: e[1], + keys: e[2], + sign: e[3], + pad_char: e[4], + align: e[5], + width: e[6], + precision: e[7], + type: e[8], + }); + } + r = r.substring(e[0].length); + } + return (l[t] = n); + } + (e.sprintf = a), + (e.vsprintf = o), + "undefined" != typeof window && + ((window.sprintf = a), + (window.vsprintf = o), + void 0 === + (n = function () { + return { sprintf: a, vsprintf: o }; + }.call(e, r, e, t)) || (t.exports = n)); + })(); + }, + 4162: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + if (t.dimension <= 0) + return { positions: [], cells: [] }; + if (1 === t.dimension) + return (function (t, e) { + for ( + var r = i(t, e), + n = r.length, + a = new Array(n), + o = new Array(n), + s = 0; + s < n; + ++s + ) + (a[s] = [r[s]]), (o[s] = [s]); + return { positions: a, cells: o }; + })(t, e); + var r = t.order.join() + "-" + t.dtype, + s = o[r]; + return ( + (e = +e || 0), + s || + (s = o[r] = + (function (t, e) { + var r = t.length + "d", + i = a[r]; + if (i) return i(n, t, e); + })(t.order, t.dtype)), + s(t, e) + ); + }; + var n = r(9284), + i = r(9584), + a = { + "2d": function (t, e, r) { + var n = t({ + order: e, + scalarArguments: 3, + getters: "generic" === r ? [0] : void 0, + phase: function (t, e, r, n) { + return (t > n) | 0; + }, + vertex: function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + ) { + var p = + ((o << 0) + + (s << 1) + + (l << 2) + + (u << 3)) | + 0; + if (0 !== p && 15 !== p) + switch (p) { + case 0: + case 15: + c.push([t - 0.5, e - 0.5]); + break; + case 1: + c.push([ + t - + 0.25 - + (0.25 * (n + r - 2 * h)) / + (r - n), + e - + 0.25 - + (0.25 * (i + r - 2 * h)) / + (r - i), + ]); + break; + case 2: + c.push([ + t - + 0.75 - + (0.25 * (-n - r + 2 * h)) / + (n - r), + e - + 0.25 - + (0.25 * (a + n - 2 * h)) / + (n - a), + ]); + break; + case 3: + c.push([ + t - 0.5, + e - + 0.5 - + (0.5 * + (i + r + a + n - 4 * h)) / + (r - i + n - a), + ]); + break; + case 4: + c.push([ + t - + 0.25 - + (0.25 * (a + i - 2 * h)) / + (i - a), + e - + 0.75 - + (0.25 * (-i - r + 2 * h)) / + (i - r), + ]); + break; + case 5: + c.push([ + t - + 0.5 - + (0.5 * + (n + r + a + i - 4 * h)) / + (r - n + i - a), + e - 0.5, + ]); + break; + case 6: + c.push([ + t - + 0.5 - + (0.25 * (-n - r + a + i)) / + (n - r + i - a), + e - + 0.5 - + (0.25 * (-i - r + a + n)) / + (i - r + n - a), + ]); + break; + case 7: + c.push([ + t - + 0.75 - + (0.25 * (a + i - 2 * h)) / + (i - a), + e - + 0.75 - + (0.25 * (a + n - 2 * h)) / + (n - a), + ]); + break; + case 8: + c.push([ + t - + 0.75 - + (0.25 * (-a - i + 2 * h)) / + (a - i), + e - + 0.75 - + (0.25 * (-a - n + 2 * h)) / + (a - n), + ]); + break; + case 9: + c.push([ + t - + 0.5 - + (0.25 * (n + r + -a - i)) / + (r - n + a - i), + e - + 0.5 - + (0.25 * (i + r + -a - n)) / + (r - i + a - n), + ]); + break; + case 10: + c.push([ + t - + 0.5 - + (0.5 * + (-n - r - a - i + 4 * h)) / + (n - r + a - i), + e - 0.5, + ]); + break; + case 11: + c.push([ + t - + 0.25 - + (0.25 * (-a - i + 2 * h)) / + (a - i), + e - + 0.75 - + (0.25 * (i + r - 2 * h)) / + (r - i), + ]); + break; + case 12: + c.push([ + t - 0.5, + e - + 0.5 - + (0.5 * + (-i - r - a - n + 4 * h)) / + (i - r + a - n), + ]); + break; + case 13: + c.push([ + t - + 0.75 - + (0.25 * (n + r - 2 * h)) / + (r - n), + e - + 0.25 - + (0.25 * (-a - n + 2 * h)) / + (a - n), + ]); + break; + case 14: + c.push([ + t - + 0.25 - + (0.25 * (-n - r + 2 * h)) / + (n - r), + e - + 0.25 - + (0.25 * (-i - r + 2 * h)) / + (i - r), + ]); + } + }, + cell: function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + ) { + i ? s.push([t, e]) : s.push([e, t]); + }, + }); + return function (t, e) { + var r = [], + i = []; + return ( + n(t, r, i, e), + { positions: r, cells: i } + ); + }; + }, + }, + o = {}; + }, + 6946: function (t, e, r) { + "use strict"; + t.exports = function t(e, r, i) { + i = i || {}; + var a = o[e]; + a || + (a = o[e] = + { + " ": { + data: new Float32Array(0), + shape: 0.2, + }, + }); + var s = a[r]; + if (!s) + if (r.length <= 1 || !/\d/.test(r)) + s = a[r] = (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 }; + })( + n(r, { + triangles: !0, + font: e, + textAlign: i.textAlign || "left", + textBaseline: "alphabetic", + styletags: { + breaklines: !0, + bolds: !0, + italics: !0, + subscripts: !0, + superscripts: !0, + }, + }), + ); + else { + for ( + var l = r.split(/(\d|\s)/), + u = new Array(l.length), + c = 0, + f = 0, + h = 0; + h < l.length; + ++h + ) + (u[h] = t(e, l[h])), + (c += u[h].data.length), + (f += u[h].shape), + h > 0 && (f += 0.02); + var p = new Float32Array(c), + d = 0, + v = -0.5 * f; + for (h = 0; h < u.length; ++h) { + for ( + var g = u[h].data, y = 0; + y < g.length; + y += 2 + ) + (p[d++] = g[y] + v), + (p[d++] = g[y + 1]); + v += u[h].shape + 0.02; + } + s = a[r] = { data: p, shape: f }; + } + return s; + }; + var n = r(875), + a = window || i.global || {}, + o = a.__TEXT_CACHE || {}; + a.__TEXT_CACHE = {}; + }, + 14: function (t, e, r) { + "use strict"; + var n = r(4405); + function i(t, e) { + var r = n( + getComputedStyle(t).getPropertyValue(e), + ); + return r[0] * a(r[1], t); + } + function a(t, e) { + switch ( + ((e = e || document.body), + (t = (t || "px").trim().toLowerCase()), + (e !== window && e !== document) || + (e = document.body), + t) + ) { + case "%": + return e.clientHeight / 100; + case "ch": + case "ex": + return (function (t, e) { + var r = document.createElement("div"); + (r.style["font-size"] = "128" + t), + e.appendChild(r); + var n = i(r, "font-size") / 128; + return e.removeChild(r), n; + })(t, e); + case "em": + return i(e, "font-size"); + case "rem": + return i(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 96; + case "cm": + return 96 / 2.54; + case "mm": + return 96 / 25.4; + case "pt": + return 96 / 72; + case "pc": + return 16; + } + return 1; + } + t.exports = a; + }, + 3440: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = (t = t || {}).center || [0, 0, 0], + r = t.up || [0, 1, 0], + n = t.right || f(r), + i = t.radius || 1, + a = t.theta || 0, + c = t.phi || 0; + if ( + ((e = [].slice.call(e, 0, 3)), + (r = [].slice.call(r, 0, 3)), + s(r, r), + (n = [].slice.call(n, 0, 3)), + s(n, n), + "eye" in t) + ) { + var p = t.eye, + d = [p[0] - e[0], p[1] - e[1], p[2] - e[2]]; + o(n, d, r), + u(n[0], n[1], n[2]) < 1e-6 + ? (n = f(r)) + : s(n, n), + (i = u(d[0], d[1], d[2])); + var v = l(r, d) / i, + g = l(n, d) / i; + (c = Math.acos(v)), (a = Math.acos(g)); + } + return ( + (i = Math.log(i)), + new h(t.zoomMin, t.zoomMax, e, r, n, i, a, c) + ); + }; + var n = r(8444), + i = r(7437), + a = r(4422), + o = r(903), + s = r(899), + l = r(9305); + function u(t, e, r) { + return Math.sqrt( + Math.pow(t, 2) + + Math.pow(e, 2) + + Math.pow(r, 2), + ); + } + function c(t) { + return Math.min(1, Math.max(-1, t)); + } + function f(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, l = 0; l < 3; ++l) + (a += t[l] * t[l]), (o += i[l] * t[l]); + for (l = 0; l < 3; ++l) i[l] -= (o / a) * t[l]; + return s(i, i), i; + } + function h(t, e, r, i, a, o, s, l) { + (this.center = n(r)), + (this.up = n(i)), + (this.right = n(a)), + (this.radius = n([o])), + (this.angle = n([s, l])), + (this.angle.bounds = [ + [-1 / 0, -Math.PI / 2], + [1 / 0, Math.PI / 2], + ]), + this.setDistanceLimits(t, e), + (this.computedCenter = this.center.curve(0)), + (this.computedUp = this.up.curve(0)), + (this.computedRight = this.right.curve(0)), + (this.computedRadius = this.radius.curve(0)), + (this.computedAngle = this.angle.curve(0)), + (this.computedToward = [0, 0, 0]), + (this.computedEye = [0, 0, 0]), + (this.computedMatrix = new Array(16)); + for (var u = 0; u < 16; ++u) + this.computedMatrix[u] = 0.5; + this.recalcMatrix(0); + } + var p = h.prototype; + (p.setDistanceLimits = function (t, e) { + (t = t > 0 ? Math.log(t) : -1 / 0), + (e = e > 0 ? Math.log(e) : 1 / 0), + (e = Math.max(e, t)), + (this.radius.bounds[0][0] = t), + (this.radius.bounds[1][0] = e); + }), + (p.getDistanceLimits = function (t) { + var e = this.radius.bounds[0]; + return t + ? ((t[0] = Math.exp(e[0][0])), + (t[1] = Math.exp(e[1][0])), + t) + : [Math.exp(e[0][0]), Math.exp(e[1][0])]; + }), + (p.recalcMatrix = function (t) { + this.center.curve(t), + this.up.curve(t), + this.right.curve(t), + this.radius.curve(t), + this.angle.curve(t); + for ( + var e = this.computedUp, + r = this.computedRight, + n = 0, + i = 0, + a = 0; + a < 3; + ++a + ) + (i += e[a] * r[a]), (n += e[a] * e[a]); + var l = Math.sqrt(n), + c = 0; + for (a = 0; a < 3; ++a) + (r[a] -= (e[a] * i) / n), + (c += r[a] * r[a]), + (e[a] /= l); + var f = Math.sqrt(c); + for (a = 0; a < 3; ++a) r[a] /= f; + var h = this.computedToward; + o(h, e, r), s(h, h); + var p = Math.exp(this.computedRadius[0]), + d = this.computedAngle[0], + v = this.computedAngle[1], + g = Math.cos(d), + y = Math.sin(d), + m = Math.cos(v), + x = Math.sin(v), + b = this.computedCenter, + _ = g * m, + w = y * m, + T = x, + k = -g * x, + A = -y * x, + M = m, + S = this.computedEye, + E = this.computedMatrix; + for (a = 0; a < 3; ++a) { + var L = _ * r[a] + w * h[a] + T * e[a]; + (E[4 * a + 1] = + k * r[a] + A * h[a] + M * e[a]), + (E[4 * a + 2] = L), + (E[4 * a + 3] = 0); + } + var C = E[1], + P = E[5], + O = E[9], + I = E[2], + D = E[6], + z = E[10], + R = P * z - O * D, + F = O * I - C * z, + B = C * D - P * I, + N = u(R, F, B); + for ( + R /= N, + F /= N, + B /= N, + E[0] = R, + E[4] = F, + E[8] = B, + a = 0; + a < 3; + ++a + ) + S[a] = b[a] + E[2 + 4 * a] * p; + for (a = 0; a < 3; ++a) { + c = 0; + for (var j = 0; j < 3; ++j) + c += E[a + 4 * j] * S[j]; + E[12 + a] = -c; + } + E[15] = 1; + }), + (p.getMatrix = function (t, e) { + this.recalcMatrix(t); + var r = this.computedMatrix; + if (e) { + for (var n = 0; n < 16; ++n) e[n] = r[n]; + return e; + } + return r; + }); + var d = [0, 0, 0]; + (p.rotate = function (t, e, r, n) { + if ((this.angle.move(t, e, r), n)) { + this.recalcMatrix(t); + var i = this.computedMatrix; + (d[0] = i[2]), (d[1] = i[6]), (d[2] = i[10]); + for ( + var o = this.computedUp, + s = this.computedRight, + l = this.computedToward, + u = 0; + u < 3; + ++u + ) + (i[4 * u] = o[u]), + (i[4 * u + 1] = s[u]), + (i[4 * u + 2] = l[u]); + for (a(i, i, n, d), u = 0; u < 3; ++u) + (o[u] = i[4 * u]), (s[u] = i[4 * u + 1]); + this.up.set(t, o[0], o[1], o[2]), + this.right.set(t, s[0], s[1], s[2]); + } + }), + (p.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 = u(a, o, s); + (a /= l), (o /= l), (s /= l); + var c = i[0], + f = i[4], + h = i[8], + p = c * a + f * o + h * s, + d = u( + (c -= a * p), + (f -= o * p), + (h -= s * p), + ), + v = (c /= d) * e + a * r, + g = (f /= d) * e + o * r, + y = (h /= d) * e + s * r; + this.center.move(t, v, g, y); + var m = Math.exp(this.computedRadius[0]); + (m = Math.max(1e-4, m + n)), + this.radius.set(t, Math.log(m)); + }), + (p.translate = function (t, e, r, n) { + this.center.move(t, e || 0, r || 0, n || 0); + }), + (p.setMatrix = function (t, e, r, n) { + var a = 1; + "number" == typeof r && (a = 0 | r), + (a < 0 || a > 3) && (a = 1); + var o = (a + 2) % 3; + e || + (this.recalcMatrix(t), + (e = this.computedMatrix)); + var s = e[a], + l = e[a + 4], + f = e[a + 8]; + if (n) { + var h = Math.abs(s), + p = Math.abs(l), + d = Math.abs(f), + v = Math.max(h, p, d); + h === v + ? ((s = s < 0 ? -1 : 1), (l = f = 0)) + : d === v + ? ((f = f < 0 ? -1 : 1), (s = l = 0)) + : ((l = l < 0 ? -1 : 1), (s = f = 0)); + } else { + var g = u(s, l, f); + (s /= g), (l /= g), (f /= g); + } + var y, + m, + x = e[o], + b = e[o + 4], + _ = e[o + 8], + w = x * s + b * l + _ * f, + T = u( + (x -= s * w), + (b -= l * w), + (_ -= f * w), + ), + k = l * (_ /= T) - f * (b /= T), + A = f * (x /= T) - s * _, + M = s * b - l * x, + S = u(k, A, M); + if ( + ((k /= S), + (A /= S), + (M /= S), + this.center.jump(t, q, G, Z), + this.radius.idle(t), + this.up.jump(t, s, l, f), + this.right.jump(t, x, b, _), + 2 === a) + ) { + var E = e[1], + L = e[5], + C = e[9], + P = E * x + L * b + C * _, + O = E * k + L * A + C * M; + (y = R < 0 ? -Math.PI / 2 : Math.PI / 2), + (m = Math.atan2(O, P)); + } else { + var I = e[2], + D = e[6], + z = e[10], + R = I * s + D * l + z * f, + F = I * x + D * b + z * _, + B = I * k + D * A + z * M; + (y = Math.asin(c(R))), + (m = Math.atan2(B, F)); + } + this.angle.jump(t, m, y), + this.recalcMatrix(t); + var N = e[2], + j = e[6], + U = e[10], + V = this.computedMatrix; + i(V, e); + var H = V[15], + q = V[12] / H, + G = V[13] / H, + Z = V[14] / H, + Y = Math.exp(this.computedRadius[0]); + this.center.jump( + t, + q - N * Y, + G - j * Y, + Z - U * Y, + ); + }), + (p.lastT = function () { + return Math.max( + this.center.lastT(), + this.up.lastT(), + this.right.lastT(), + this.radius.lastT(), + this.angle.lastT(), + ); + }), + (p.idle = function (t) { + this.center.idle(t), + this.up.idle(t), + this.right.idle(t), + this.radius.idle(t), + this.angle.idle(t); + }), + (p.flush = function (t) { + this.center.flush(t), + this.up.flush(t), + this.right.flush(t), + this.radius.flush(t), + this.angle.flush(t); + }), + (p.setDistance = function (t, e) { + e > 0 && this.radius.set(t, Math.log(e)); + }), + (p.lookAt = function (t, e, r, 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 = u(i, a, o); + if (!(s < 1e-6)) { + (i /= s), (a /= s), (o /= s); + var l = e[0] - r[0], + f = e[1] - r[1], + h = e[2] - r[2], + p = u(l, f, h); + if (!(p < 1e-6)) { + (l /= p), (f /= p), (h /= p); + var d = this.computedRight, + v = d[0], + g = d[1], + y = d[2], + m = i * v + a * g + o * y, + x = u( + (v -= m * i), + (g -= m * a), + (y -= m * o), + ); + if ( + !( + x < 0.01 && + (x = u( + (v = a * h - o * f), + (g = o * l - i * h), + (y = i * f - a * l), + )) < 1e-6 + ) + ) { + (v /= x), + (g /= x), + (y /= x), + this.up.set(t, i, a, o), + this.right.set(t, v, g, y), + this.center.set(t, r[0], r[1], r[2]), + this.radius.set(t, Math.log(p)); + var b = a * y - o * g, + _ = o * v - i * y, + w = i * g - a * v, + T = u(b, _, w), + k = i * l + a * f + o * h, + A = v * l + g * f + y * h, + M = + (b /= T) * l + + (_ /= T) * f + + (w /= T) * h, + S = Math.asin(c(k)), + E = Math.atan2(M, A), + L = this.angle._state, + C = L[L.length - 1], + P = L[L.length - 2]; + C %= 2 * Math.PI; + var O = Math.abs(C + 2 * Math.PI - E), + I = Math.abs(C - E), + D = Math.abs(C - 2 * Math.PI - E); + O < I && (C += 2 * Math.PI), + D < I && (C -= 2 * Math.PI), + this.angle.jump( + this.angle.lastT(), + C, + P, + ), + this.angle.set(t, E, S); + } + } + } + }); + }, + 9660: function (t) { + "use strict"; + t.exports = function (t, r, n) { + var i = t * r, + a = e * t, + o = a - (a - t), + s = t - o, + l = e * r, + u = l - (l - r), + c = r - u, + f = s * c - (i - o * u - s * u - o * c); + return n ? ((n[0] = f), (n[1] = i), n) : [f, i]; + }; + var e = +(Math.pow(2, 27) + 1); + }, + 87: function (t) { + "use strict"; + t.exports = function (t, e, r) { + var n = t + e, + i = n - t, + a = e - i, + o = t - (n - i); + return r + ? ((r[0] = o + a), (r[1] = n), r) + : [o + a, n]; + }; + }, + 5306: function (t, e, r) { + "use strict"; + var n = r(2288), + i = r(3094), + a = r(2146).lW; + r.g.__TYPEDARRAY_POOL || + (r.g.__TYPEDARRAY_POOL = { + UINT8: i([32, 0]), + UINT16: i([32, 0]), + UINT32: i([32, 0]), + BIGUINT64: i([32, 0]), + INT8: i([32, 0]), + INT16: i([32, 0]), + INT32: i([32, 0]), + BIGINT64: i([32, 0]), + FLOAT: i([32, 0]), + DOUBLE: i([32, 0]), + DATA: i([32, 0]), + UINT8C: i([32, 0]), + BUFFER: i([32, 0]), + }); + var o = "undefined" != typeof Uint8ClampedArray, + s = "undefined" != typeof BigUint64Array, + l = "undefined" != typeof BigInt64Array, + u = r.g.__TYPEDARRAY_POOL; + u.UINT8C || (u.UINT8C = i([32, 0])), + u.BIGUINT64 || (u.BIGUINT64 = i([32, 0])), + u.BIGINT64 || (u.BIGINT64 = i([32, 0])), + u.BUFFER || (u.BUFFER = i([32, 0])); + var c = u.DATA, + f = u.BUFFER; + function h(t) { + if (t) { + var e = t.length || t.byteLength, + r = n.log2(e); + c[r].push(t); + } + } + function p(t) { + t = n.nextPow2(t); + var e = n.log2(t), + r = c[e]; + return r.length > 0 + ? r.pop() + : new ArrayBuffer(t); + } + function d(t) { + return new Uint8Array(p(t), 0, t); + } + function v(t) { + return new Uint16Array(p(2 * t), 0, t); + } + function g(t) { + return new Uint32Array(p(4 * t), 0, t); + } + function y(t) { + return new Int8Array(p(t), 0, t); + } + function m(t) { + return new Int16Array(p(2 * t), 0, t); + } + function x(t) { + return new Int32Array(p(4 * t), 0, t); + } + function b(t) { + return new Float32Array(p(4 * t), 0, t); + } + function _(t) { + return new Float64Array(p(8 * t), 0, t); + } + function w(t) { + return o + ? new Uint8ClampedArray(p(t), 0, t) + : d(t); + } + function T(t) { + return s + ? new BigUint64Array(p(8 * t), 0, t) + : null; + } + function k(t) { + return l + ? new BigInt64Array(p(8 * t), 0, t) + : null; + } + function A(t) { + return new DataView(p(t), 0, t); + } + function M(t) { + t = n.nextPow2(t); + var e = n.log2(t), + r = f[e]; + return r.length > 0 ? r.pop() : new a(t); + } + (e.free = function (t) { + if (a.isBuffer(t)) f[n.log2(t.length)].push(t); + else { + if ( + ("[object ArrayBuffer]" !== + Object.prototype.toString.call(t) && + (t = t.buffer), + !t) + ) + return; + var e = t.length || t.byteLength, + r = 0 | n.log2(e); + c[r].push(t); + } + }), + (e.freeUint8 = + e.freeUint16 = + e.freeUint32 = + e.freeBigUint64 = + e.freeInt8 = + e.freeInt16 = + e.freeInt32 = + e.freeBigInt64 = + e.freeFloat32 = + e.freeFloat = + e.freeFloat64 = + e.freeDouble = + e.freeUint8Clamped = + e.freeDataView = + function (t) { + h(t.buffer); + }), + (e.freeArrayBuffer = h), + (e.freeBuffer = function (t) { + f[n.log2(t.length)].push(t); + }), + (e.malloc = function (t, e) { + if (void 0 === e || "arraybuffer" === e) + return p(t); + switch (e) { + case "uint8": + return d(t); + case "uint16": + return v(t); + case "uint32": + return g(t); + case "int8": + return y(t); + case "int16": + return m(t); + case "int32": + return x(t); + case "float": + case "float32": + return b(t); + case "double": + case "float64": + return _(t); + case "uint8_clamped": + return w(t); + case "bigint64": + return k(t); + case "biguint64": + return T(t); + case "buffer": + return M(t); + case "data": + case "dataview": + return A(t); + default: + return null; + } + return null; + }), + (e.mallocArrayBuffer = p), + (e.mallocUint8 = d), + (e.mallocUint16 = v), + (e.mallocUint32 = g), + (e.mallocInt8 = y), + (e.mallocInt16 = m), + (e.mallocInt32 = x), + (e.mallocFloat32 = e.mallocFloat = b), + (e.mallocFloat64 = e.mallocDouble = _), + (e.mallocUint8Clamped = w), + (e.mallocBigUint64 = T), + (e.mallocBigInt64 = k), + (e.mallocDataView = A), + (e.mallocBuffer = M), + (e.clearCache = function () { + for (var t = 0; t < 32; ++t) + (u.UINT8[t].length = 0), + (u.UINT16[t].length = 0), + (u.UINT32[t].length = 0), + (u.INT8[t].length = 0), + (u.INT16[t].length = 0), + (u.INT32[t].length = 0), + (u.FLOAT[t].length = 0), + (u.DOUBLE[t].length = 0), + (u.BIGUINT64[t].length = 0), + (u.BIGINT64[t].length = 0), + (u.UINT8C[t].length = 0), + (c[t].length = 0), + (f[t].length = 0); + }); + }, + 1731: function (t) { + "use strict"; + function e(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); + } + t.exports = e; + var r = e.prototype; + Object.defineProperty(r, "length", { + get: function () { + return this.roots.length; + }, + }), + (r.makeSet = function () { + var t = this.roots.length; + return ( + this.roots.push(t), this.ranks.push(0), t + ); + }), + (r.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; + }), + (r.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]); + } + }); + }, + 1215: function (t) { + "use strict"; + t.exports = 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)); + }; + }, + 875: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + return ( + ("object" == typeof e && null !== e) || + (e = {}), + n(t, e.canvas || i, e.context || a, e) + ); + }; + var n = r(712), + i = null, + a = null; + "undefined" != typeof document && + (((i = + document.createElement( + "canvas", + )).width = 8192), + (i.height = 1024), + (a = i.getContext("2d"))); + }, + 712: function (t, e, r) { + (t.exports = function (t, e, r, n) { + var a = 64, + o = 1.25, + s = { + breaklines: !1, + bolds: !1, + italics: !1, + subscripts: !1, + superscripts: !1, + }; + return ( + n && + (n.size && n.size > 0 && (a = n.size), + n.lineSpacing && + n.lineSpacing > 0 && + (o = n.lineSpacing), + n.styletags && + n.styletags.breaklines && + (s.breaklines = !!n.styletags.breaklines), + n.styletags && + n.styletags.bolds && + (s.bolds = !!n.styletags.bolds), + n.styletags && + n.styletags.italics && + (s.italics = !!n.styletags.italics), + n.styletags && + n.styletags.subscripts && + (s.subscripts = !!n.styletags.subscripts), + n.styletags && + n.styletags.superscripts && + (s.superscripts = + !!n.styletags.superscripts)), + (r.font = [ + n.fontStyle, + n.fontVariant, + n.fontWeight, + a + "px", + n.font, + ] + .filter(function (t) { + return t; + }) + .join(" ")), + (r.textAlign = "start"), + (r.textBaseline = "alphabetic"), + (r.direction = "ltr"), + d( + (function (t, e, r, n, a, o) { + (r = r.replace(/\n/g, "")), + (r = + !0 === o.breaklines + ? r.replace(/\/g, "\n") + : r.replace(/\/g, " ")); + var s = "", + l = []; + for (v = 0; v < r.length; ++v) l[v] = s; + !0 === o.bolds && (l = f("b", u, r, l)), + !0 === o.italics && + (l = f("i", c, r, l)), + !0 === o.superscripts && + (l = f("sup", "+1", r, l)), + !0 === o.subscripts && + (l = f("sub", "-1", r, l)); + var h = [], + p = ""; + for (v = 0; v < r.length; ++v) + null !== l[v] && + ((p += r[v]), h.push(l[v])); + var d, + v, + g, + y, + m, + x = p.split("\n"), + b = x.length, + _ = Math.round(a * n), + w = n, + T = 2 * n, + k = 0, + A = b * _ + T; + t.height < A && (t.height = A), + (e.fillStyle = "#000"), + e.fillRect(0, 0, t.width, t.height), + (e.fillStyle = "#fff"); + var M = 0, + S = ""; + function E() { + if ("" !== S) { + var t = e.measureText(S).width; + e.fillText(S, w + g, T + y), (g += t); + } + } + function L() { + return Math.round(m) + "px "; + } + function C(t, r) { + var n = "" + e.font; + if (!0 === o.subscripts) { + var i = t.indexOf("-"), + a = r.indexOf("-"), + s = i > -1 ? parseInt(t[1 + i]) : 0, + l = a > -1 ? parseInt(r[1 + a]) : 0; + s !== l && + ((n = n.replace(L(), "?px ")), + (m *= Math.pow(0.75, l - s)), + (n = n.replace("?px ", L()))), + (y += 0.25 * _ * (l - s)); + } + if (!0 === o.superscripts) { + var f = t.indexOf("+"), + h = r.indexOf("+"), + p = f > -1 ? parseInt(t[1 + f]) : 0, + d = h > -1 ? parseInt(r[1 + h]) : 0; + p !== d && + ((n = n.replace(L(), "?px ")), + (m *= Math.pow(0.75, d - p)), + (n = n.replace("?px ", L()))), + (y -= 0.25 * _ * (d - p)); + } + if (!0 === o.bolds) { + var v = t.indexOf(u) > -1, + g = r.indexOf(u) > -1; + !v && + g && + (n = x + ? n.replace( + "italic ", + "italic bold ", + ) + : "bold " + n), + v && + !g && + (n = n.replace("bold ", "")); + } + if (!0 === o.italics) { + var x = t.indexOf(c) > -1, + b = r.indexOf(c) > -1; + !x && b && (n = "italic " + n), + x && + !b && + (n = n.replace("italic ", "")); + } + e.font = n; + } + for (d = 0; d < b; ++d) { + var P = x[d] + "\n"; + for ( + g = 0, + y = d * _, + m = n, + S = "", + v = 0; + v < P.length; + ++v + ) { + var O = + v + M < h.length + ? h[v + M] + : h[h.length - 1]; + s === O + ? (S += P[v]) + : (E(), + (S = P[v]), + void 0 !== O && + (C(s, O), (s = O))); + } + E(), (M += P.length); + var I = 0 | Math.round(g + 2 * w); + k < I && (k = I); + } + var D = k, + z = T + _ * b; + return i( + e.getImageData(0, 0, D, z).data, + [z, D, 4], + ) + .pick(-1, -1, 0) + .transpose(1, 0); + })(e, r, t, a, o, s), + n, + a, + ) + ); + }), + (t.exports.processPixels = d); + var n = r(4162), + i = r(5050), + a = r(8243), + o = r(197), + s = r(7761), + l = r(8040), + u = "b|", + c = "i|"; + function f(t, e, r, n) { + for ( + var i = "<" + t + ">", + a = "", + o = i.length, + s = a.length, + l = "+" === e[0] || "-" === e[0], + u = 0, + c = -s; + u > -1 && + -1 !== (u = r.indexOf(i, u)) && + -1 !== (c = r.indexOf(a, u + o)) && + !(c <= u); + + ) { + for (var f = u; f < c + s; ++f) + if (f < u + o || f >= c) + (n[f] = null), + (r = + r.substr(0, f) + + " " + + r.substr(f + 1)); + else if (null !== n[f]) { + var h = n[f].indexOf(e[0]); + -1 === h + ? (n[f] += e) + : l && + (n[f] = + n[f].substr(0, h + 1) + + (1 + parseInt(n[f][h + 1])) + + n[f].substr(h + 2)); + } + var p = u + o, + d = r.substr(p, c - p).indexOf(i); + u = -1 !== d ? d : c + s; + } + return n; + } + function h(t, e) { + var r = n(t, 128); + return e + ? a(r.cells, r.positions, 0.25) + : { edges: r.cells, positions: r.positions }; + } + function p(t, e, r, n) { + var i = h(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 f = 0; + switch (n) { + case "center": + f = -0.5 * (a[0] + o[0]); + break; + case "right": + case "end": + f = -o[0]; + break; + case "left": + case "start": + f = -a[0]; + break; + default: + throw new Error( + "vectorize-text: Unrecognized textAlign: '" + + n + + "'", + ); + } + var h = 0; + switch (i) { + case "hanging": + case "top": + h = -a[1]; + break; + case "middle": + h = -0.5 * (a[1] + o[1]); + break; + case "alphabetic": + case "ideographic": + h = -3 * r; + break; + case "bottom": + h = -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] + f), p * (t[1] + h)]; + }) + ); + })(i.positions, e, r), + u = i.edges, + c = "ccw" === e.orientation; + if ( + (o(a, u), + e.polygons || e.polygon || e.polyline) + ) { + for ( + var f = l(u, a), + p = new Array(f.length), + d = 0; + d < f.length; + ++d + ) { + for ( + var v = f[d], + g = new Array(v.length), + y = 0; + y < v.length; + ++y + ) { + for ( + var m = v[y], + x = new Array(m.length), + b = 0; + b < m.length; + ++b + ) + x[b] = a[m[b]].slice(); + c && x.reverse(), (g[y] = x); + } + p[d] = g; + } + return p; + } + return e.triangles || + e.triangulate || + e.triangle + ? { + cells: s(a, u, { + delaunay: !1, + exterior: !1, + interior: !0, + }), + positions: a, + } + : { edges: u, positions: a }; + } + function d(t, e, r) { + try { + return p(t, e, r, !0); + } catch (t) {} + try { + return p(t, e, r, !1); + } catch (t) {} + return e.polygons || e.polyline || e.polygon + ? [] + : e.triangles || e.triangulate || e.triangle + ? { cells: [], positions: [] } + : { edges: [], positions: [] }; + } + }, + 5346: function (t) { + !(function () { + "use strict"; + if ( + "undefined" == typeof ses || + !ses.ok || + ses.ok() + ) { + "undefined" != typeof ses && + (ses.weakMapPermitHostObjects = g); + var e = !1; + if ("function" == typeof WeakMap) { + var r = WeakMap; + if ( + "undefined" != typeof navigator && + /Firefox/.test(navigator.userAgent) + ); + else { + var n = new r(), + i = Object.freeze({}); + if ((n.set(i, 1), 1 === n.get(i))) + return void (t.exports = WeakMap); + e = !0; + } + } + Object.prototype.hasOwnProperty; + var a = Object.getOwnPropertyNames, + o = Object.defineProperty, + s = Object.isExtensible, + l = "weakmap:", + u = + "weakmap:ident:" + Math.random() + "___"; + if ( + "undefined" != typeof crypto && + "function" == + typeof crypto.getRandomValues && + "function" == typeof ArrayBuffer && + "function" == typeof Uint8Array + ) { + var c = new ArrayBuffer(25), + f = new Uint8Array(c); + crypto.getRandomValues(f), + (u = + "weakmap:rand:" + + Array.prototype.map + .call(f, function (t) { + return (t % 36).toString(36); + }) + .join("") + + "___"); + } + if ( + (o(Object, "getOwnPropertyNames", { + value: function (t) { + return a(t).filter(y); + }, + }), + "getPropertyNames" in Object) + ) { + var h = Object.getPropertyNames; + o(Object, "getPropertyNames", { + value: function (t) { + return h(t).filter(y); + }, + }); + } + !(function () { + var t = Object.freeze; + o(Object, "freeze", { + value: function (e) { + return m(e), t(e); + }, + }); + var e = Object.seal; + o(Object, "seal", { + value: function (t) { + return m(t), e(t); + }, + }); + var r = Object.preventExtensions; + o(Object, "preventExtensions", { + value: function (t) { + return m(t), r(t); + }, + }); + })(); + var p = !1, + d = 0, + v = function () { + this instanceof v || b(); + var t = [], + e = [], + r = d++; + return Object.create(v.prototype, { + get___: { + value: x(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: x(function (e) { + var n = m(e); + return n + ? r in n + : t.indexOf(e) >= 0; + }), + }, + set___: { + value: x(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: x(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) + ); + }), + }, + }); + }; + (v.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 r + ? (function () { + function n() { + this instanceof v || b(); + var t, + n = new r(), + i = void 0, + a = !1; + return ( + (t = e + ? function (t, e) { + return ( + n.set(t, e), + n.has(t) || + (i || (i = new v()), + i.set(t, e)), + this + ); + } + : function (t, e) { + if (a) + try { + n.set(t, e); + } catch (r) { + i || (i = new v()), + i.set___(t, e); + } + else n.set(t, e); + return this; + }), + Object.create(v.prototype, { + get___: { + value: x(function (t, e) { + return i + ? n.has(t) + ? n.get(t) + : i.get___(t, e) + : n.get(t, e); + }), + }, + has___: { + value: x(function (t) { + return ( + n.has(t) || + (!!i && i.has___(t)) + ); + }), + }, + set___: { value: x(t) }, + delete___: { + value: x(function (t) { + var e = !!n.delete(t); + return ( + (i && i.delete___(t)) || e + ); + }), + }, + permitHostObjects___: { + value: x(function (t) { + if (t !== g) + throw new Error( + "bogus call to permitHostObjects___", + ); + a = !0; + }), + }, + }) + ); + } + e && + "undefined" != typeof Proxy && + (Proxy = void 0), + (n.prototype = v.prototype), + (t.exports = n), + Object.defineProperty( + WeakMap.prototype, + "constructor", + { + value: WeakMap, + enumerable: !1, + configurable: !0, + writable: !0, + }, + ); + })() + : ("undefined" != typeof Proxy && + (Proxy = void 0), + (t.exports = v)); + } + function g(t) { + t.permitHostObjects___ && + t.permitHostObjects___(g); + } + function y(t) { + return !( + t.substr(0, l.length) == l && + "___" === t.substr(t.length - 3) + ); + } + function m(t) { + if (t !== Object(t)) + throw new TypeError("Not an object: " + t); + var e = t[u]; + if (e && e.key === t) return e; + if (s(t)) { + e = { key: t }; + try { + return ( + o(t, u, { + value: e, + writable: !1, + enumerable: !1, + configurable: !1, + }), + e + ); + } catch (t) { + return; + } + } + } + function x(t) { + return (t.prototype = null), Object.freeze(t); + } + function b() { + p || + "undefined" == typeof console || + ((p = !0), + console.warn( + "WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.", + )); + } + })(); + }, + 9222: function (t, e, r) { + var n = r(7178); + t.exports = 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 : n(e, t); + }; + }; + }, + 7178: function (t) { + t.exports = 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 + ); + }; + }, + 4037: function (t, e, r) { + var n = r(9222); + t.exports = function () { + var t = n(); + 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; + }, + }; + }; + }, + 6183: function (t) { + "use strict"; + t.exports = (function (t) { + var e = {}; + return function (r, n, i) { + var a = r.dtype, + o = r.order, + s = [a, o.join()].join(), + l = e[s]; + return ( + l || (e[s] = l = t([a, o])), + l( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n, + i, + ) + ); + }; + })( + function () { + return function (t, e, r, n, i, a) { + var o = t[0], + s = r[0], + l = [0], + u = s; + n |= 0; + var c = 0, + f = s; + for (c = 0; c < o; ++c) { + var h = e[n] - a, + p = e[n + u] - a; + h >= 0 != p >= 0 && + i.push( + l[0] + + 0.5 + + (0.5 * (h + p)) / (h - p), + ), + (n += f), + ++l[0]; + } + }; + }.bind(void 0, { funcName: "zeroCrossings" }), + ); + }, + 9584: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + var r = []; + return ( + (e = +e || 0), + n(t.hi(t.shape[0] - 1), r, e), + r + ); + }; + var n = r(6183); + }, + 6601: function () {}, + }, + e = {}; + function r(n) { + var i = e[n]; + if (void 0 !== i) return i.exports; + var a = (e[n] = { id: n, loaded: !1, exports: {} }); + return ( + t[n].call(a.exports, a, a.exports, r), + (a.loaded = !0), + a.exports + ); + } + return ( + (r.g = (function () { + if ("object" == typeof globalThis) + return globalThis; + try { + return this || new Function("return this")(); + } catch (t) { + if ("object" == typeof window) return window; + } + })()), + (r.nmd = function (t) { + return ( + (t.paths = []), t.children || (t.children = []), t + ); + }), + r(7386) + ); + })(); + }), + (t.exports = n()); + }, + 12856: function (t, e, r) { + "use strict"; + function n(t, e) { + if (!(t instanceof e)) + throw new TypeError("Cannot call a class as a function"); + } + function i(t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r]; + (n.enumerable = n.enumerable || !1), + (n.configurable = !0), + "value" in n && (n.writable = !0), + Object.defineProperty( + t, + (void 0, + (i = (function (t, e) { + if ("object" !== u(t) || null === t) return t; + var r = t[Symbol.toPrimitive]; + if (void 0 !== r) { + var n = r.call(t, e); + if ("object" !== u(n)) return n; + throw new TypeError( + "@@toPrimitive must return a primitive value.", + ); + } + return String(t); + })(n.key, "string")), + "symbol" === u(i) ? i : String(i)), + n, + ); + } + var i; + } + function a(t, e) { + return ( + (a = Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function (t, e) { + return (t.__proto__ = e), t; + }), + a(t, e) + ); + } + function o(t, e) { + if (e && ("object" === u(e) || "function" == typeof e)) + return e; + if (void 0 !== e) + throw new TypeError( + "Derived constructors may only return object or undefined", + ); + return s(t); + } + function s(t) { + if (void 0 === t) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called", + ); + return t; + } + function l(t) { + return ( + (l = Object.setPrototypeOf + ? Object.getPrototypeOf.bind() + : function (t) { + return t.__proto__ || Object.getPrototypeOf(t); + }), + l(t) + ); + } + function u(t) { + return ( + (u = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function (t) { + return typeof t; + } + : function (t) { + return t && + "function" == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? "symbol" + : typeof t; + }), + u(t) + ); + } + var c = r(95341), + f = r(95280), + h = + "function" == typeof Symbol && + "function" == typeof Symbol.for + ? Symbol.for("nodejs.util.inspect.custom") + : null; + (e.Buffer = v), + (e.SlowBuffer = function (t) { + return +t != t && (t = 0), v.alloc(+t); + }), + (e.INSPECT_MAX_BYTES = 50); + var p = 2147483647; + function d(t) { + if (t > p) + throw new RangeError( + 'The value "' + t + '" is invalid for option "size"', + ); + var e = new Uint8Array(t); + return Object.setPrototypeOf(e, v.prototype), e; + } + function v(t, e, r) { + if ("number" == typeof t) { + if ("string" == typeof e) + throw new TypeError( + 'The "string" argument must be of type string. Received type number', + ); + return m(t); + } + return g(t, e, r); + } + function g(t, e, r) { + if ("string" == typeof t) + return (function (t, e) { + if ( + (("string" == typeof e && "" !== e) || (e = "utf8"), + !v.isEncoding(e)) + ) + throw new TypeError("Unknown encoding: " + e); + var r = 0 | w(t, e), + n = d(r), + i = n.write(t, e); + return i !== r && (n = n.slice(0, i)), n; + })(t, e); + if (ArrayBuffer.isView(t)) + return (function (t) { + if (rt(t, Uint8Array)) { + var e = new Uint8Array(t); + return b(e.buffer, e.byteOffset, e.byteLength); + } + return x(t); + })(t); + if (null == t) + throw new TypeError( + "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + + u(t), + ); + if (rt(t, ArrayBuffer) || (t && rt(t.buffer, ArrayBuffer))) + return b(t, e, r); + if ( + "undefined" != typeof SharedArrayBuffer && + (rt(t, SharedArrayBuffer) || + (t && rt(t.buffer, SharedArrayBuffer))) + ) + return b(t, e, r); + if ("number" == typeof t) + throw new TypeError( + 'The "value" argument must not be of type number. Received type number', + ); + var n = t.valueOf && t.valueOf(); + if (null != n && n !== t) return v.from(n, e, r); + var i = (function (t) { + if (v.isBuffer(t)) { + var e = 0 | _(t.length), + r = d(e); + return 0 === r.length || t.copy(r, 0, 0, e), r; + } + return void 0 !== t.length + ? "number" != typeof t.length || nt(t.length) + ? d(0) + : x(t) + : "Buffer" === t.type && Array.isArray(t.data) + ? x(t.data) + : void 0; + })(t); + if (i) return i; + if ( + "undefined" != typeof Symbol && + null != Symbol.toPrimitive && + "function" == typeof t[Symbol.toPrimitive] + ) + return v.from(t[Symbol.toPrimitive]("string"), e, r); + throw new TypeError( + "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + + u(t), + ); + } + function y(t) { + if ("number" != typeof t) + throw new TypeError( + '"size" argument must be of type number', + ); + if (t < 0) + throw new RangeError( + 'The value "' + t + '" is invalid for option "size"', + ); + } + function m(t) { + return y(t), d(t < 0 ? 0 : 0 | _(t)); + } + function x(t) { + for ( + var e = t.length < 0 ? 0 : 0 | _(t.length), + r = d(e), + n = 0; + n < e; + n += 1 + ) + r[n] = 255 & t[n]; + return r; + } + function b(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; + return ( + (n = + void 0 === e && void 0 === r + ? new Uint8Array(t) + : void 0 === r + ? new Uint8Array(t, e) + : new Uint8Array(t, e, r)), + Object.setPrototypeOf(n, v.prototype), + n + ); + } + function _(t) { + if (t >= p) + throw new RangeError( + "Attempt to allocate Buffer larger than maximum size: 0x" + + p.toString(16) + + " bytes", + ); + return 0 | t; + } + function w(t, e) { + if (v.isBuffer(t)) return t.length; + if (ArrayBuffer.isView(t) || rt(t, ArrayBuffer)) + return t.byteLength; + if ("string" != typeof t) + throw new TypeError( + 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + + u(t), + ); + var r = t.length, + n = arguments.length > 2 && !0 === arguments[2]; + if (!n && 0 === r) return 0; + for (var i = !1; ; ) + switch (e) { + case "ascii": + case "latin1": + case "binary": + return r; + case "utf8": + case "utf-8": + return Q(t).length; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return 2 * r; + case "hex": + return r >>> 1; + case "base64": + return tt(t).length; + default: + if (i) return n ? -1 : Q(t).length; + (e = ("" + e).toLowerCase()), (i = !0); + } + } + function T(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 F(this, e, r); + case "utf8": + case "utf-8": + return I(this, e, r); + case "ascii": + return z(this, e, r); + case "latin1": + case "binary": + return R(this, e, r); + case "base64": + return O(this, e, r); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return B(this, e, r); + default: + if (n) throw new TypeError("Unknown encoding: " + t); + (t = (t + "").toLowerCase()), (n = !0); + } + } + function k(t, e, r) { + var n = t[e]; + (t[e] = t[r]), (t[r] = n); + } + function A(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), + nt((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 = v.from(e, n)), + v.isBuffer(e)) + ) + return 0 === e.length ? -1 : M(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) + : M(t, [e], r, n, i) + ); + throw new TypeError("val must be string, number or Buffer"); + } + function M(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 f = !0, h = 0; h < l; h++) + if (u(t, a + h) !== u(e, h)) { + f = !1; + break; + } + if (f) return a; + } + return -1; + } + function S(t, e, r, n) { + r = Number(r) || 0; + var i = t.length - r; + n ? (n = Number(n)) > i && (n = i) : (n = i); + var a, + o = e.length; + for (n > o / 2 && (n = o / 2), a = 0; a < n; ++a) { + var s = parseInt(e.substr(2 * a, 2), 16); + if (nt(s)) return a; + t[r + a] = s; + } + return a; + } + function E(t, e, r, n) { + return et(Q(e, t.length - r), t, r, n); + } + function L(t, e, r, n) { + return et( + (function (t) { + for (var e = [], r = 0; r < t.length; ++r) + e.push(255 & t.charCodeAt(r)); + return e; + })(e), + t, + r, + n, + ); + } + function C(t, e, r, n) { + return et(tt(e), t, r, n); + } + function P(t, e, r, n) { + return et( + (function (t, e) { + for ( + var r, n, i, a = [], o = 0; + o < t.length && !((e -= 2) < 0); + ++o + ) + (n = (r = t.charCodeAt(o)) >> 8), + (i = r % 256), + a.push(i), + a.push(n); + return a; + })(e, t.length - r), + t, + r, + n, + ); + } + function O(t, e, r) { + return 0 === e && r === t.length + ? c.fromByteArray(t) + : c.fromByteArray(t.slice(e, r)); + } + function I(t, e, r) { + r = Math.min(t.length, r); + for (var n = [], i = e; i < r; ) { + var a = t[i], + o = null, + s = a > 239 ? 4 : a > 223 ? 3 : a > 191 ? 2 : 1; + if (i + s <= r) { + var l = void 0, + u = void 0, + c = void 0, + f = void 0; + switch (s) { + case 1: + a < 128 && (o = a); + break; + case 2: + 128 == (192 & (l = t[i + 1])) && + (f = ((31 & a) << 6) | (63 & l)) > 127 && + (o = f); + break; + case 3: + (l = t[i + 1]), + (u = t[i + 2]), + 128 == (192 & l) && + 128 == (192 & u) && + (f = + ((15 & a) << 12) | + ((63 & l) << 6) | + (63 & u)) > 2047 && + (f < 55296 || f > 57343) && + (o = f); + break; + case 4: + (l = t[i + 1]), + (u = t[i + 2]), + (c = t[i + 3]), + 128 == (192 & l) && + 128 == (192 & u) && + 128 == (192 & c) && + (f = + ((15 & a) << 18) | + ((63 & l) << 12) | + ((63 & u) << 6) | + (63 & c)) > 65535 && + f < 1114112 && + (o = f); + } + } + null === o + ? ((o = 65533), (s = 1)) + : o > 65535 && + ((o -= 65536), + n.push(((o >>> 10) & 1023) | 55296), + (o = 56320 | (1023 & o))), + n.push(o), + (i += s); + } + return (function (t) { + var e = t.length; + if (e <= D) return String.fromCharCode.apply(String, t); + for (var r = "", n = 0; n < e; ) + r += String.fromCharCode.apply( + String, + t.slice(n, (n += D)), + ); + return r; + })(n); + } + (e.kMaxLength = p), + (v.TYPED_ARRAY_SUPPORT = (function () { + try { + var t = new Uint8Array(1), + e = { + foo: function () { + return 42; + }, + }; + return ( + Object.setPrototypeOf(e, Uint8Array.prototype), + Object.setPrototypeOf(t, e), + 42 === t.foo() + ); + } catch (t) { + return !1; + } + })()), + v.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(v.prototype, "parent", { + enumerable: !0, + get: function () { + if (v.isBuffer(this)) return this.buffer; + }, + }), + Object.defineProperty(v.prototype, "offset", { + enumerable: !0, + get: function () { + if (v.isBuffer(this)) return this.byteOffset; + }, + }), + (v.poolSize = 8192), + (v.from = function (t, e, r) { + return g(t, e, r); + }), + Object.setPrototypeOf(v.prototype, Uint8Array.prototype), + Object.setPrototypeOf(v, Uint8Array), + (v.alloc = function (t, e, r) { + return (function (t, e, r) { + return ( + y(t), + t <= 0 + ? d(t) + : void 0 !== e + ? "string" == typeof r + ? d(t).fill(e, r) + : d(t).fill(e) + : d(t) + ); + })(t, e, r); + }), + (v.allocUnsafe = function (t) { + return m(t); + }), + (v.allocUnsafeSlow = function (t) { + return m(t); + }), + (v.isBuffer = function (t) { + return ( + null != t && !0 === t._isBuffer && t !== v.prototype + ); + }), + (v.compare = function (t, e) { + if ( + (rt(t, Uint8Array) && + (t = v.from(t, t.offset, t.byteLength)), + rt(e, Uint8Array) && + (e = v.from(e, e.offset, e.byteLength)), + !v.isBuffer(t) || !v.isBuffer(e)) + ) + throw new TypeError( + 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array', + ); + 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; + }), + (v.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; + } + }), + (v.concat = function (t, e) { + if (!Array.isArray(t)) + throw new TypeError( + '"list" argument must be an Array of Buffers', + ); + if (0 === t.length) return v.alloc(0); + var r; + if (void 0 === e) + for (e = 0, r = 0; r < t.length; ++r) e += t[r].length; + var n = v.allocUnsafe(e), + i = 0; + for (r = 0; r < t.length; ++r) { + var a = t[r]; + if (rt(a, Uint8Array)) + i + a.length > n.length + ? (v.isBuffer(a) || (a = v.from(a)), a.copy(n, i)) + : Uint8Array.prototype.set.call(n, a, i); + else { + if (!v.isBuffer(a)) + throw new TypeError( + '"list" argument must be an Array of Buffers', + ); + a.copy(n, i); + } + i += a.length; + } + return n; + }), + (v.byteLength = w), + (v.prototype._isBuffer = !0), + (v.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) k(this, e, e + 1); + return this; + }), + (v.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) + k(this, e, e + 3), k(this, e + 1, e + 2); + return this; + }), + (v.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) + k(this, e, e + 7), + k(this, e + 1, e + 6), + k(this, e + 2, e + 5), + k(this, e + 3, e + 4); + return this; + }), + (v.prototype.toString = function () { + var t = this.length; + return 0 === t + ? "" + : 0 === arguments.length + ? I(this, 0, t) + : T.apply(this, arguments); + }), + (v.prototype.toLocaleString = v.prototype.toString), + (v.prototype.equals = function (t) { + if (!v.isBuffer(t)) + throw new TypeError("Argument must be a Buffer"); + return this === t || 0 === v.compare(this, t); + }), + (v.prototype.inspect = function () { + var t = "", + r = e.INSPECT_MAX_BYTES; + return ( + (t = this.toString("hex", 0, r) + .replace(/(.{2})/g, "$1 ") + .trim()), + this.length > r && (t += " ... "), + "" + ); + }), + h && (v.prototype[h] = v.prototype.inspect), + (v.prototype.compare = function (t, e, r, n, i) { + if ( + (rt(t, Uint8Array) && + (t = v.from(t, t.offset, t.byteLength)), + !v.isBuffer(t)) + ) + throw new TypeError( + 'The "target" argument must be one of type Buffer or Uint8Array. Received type ' + + u(t), + ); + 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 (this === t) return 0; + for ( + var a = (i >>>= 0) - (n >>>= 0), + o = (r >>>= 0) - (e >>>= 0), + s = Math.min(a, o), + l = this.slice(n, i), + c = t.slice(e, r), + f = 0; + f < s; + ++f + ) + if (l[f] !== c[f]) { + (a = l[f]), (o = c[f]); + break; + } + return a < o ? -1 : o < a ? 1 : 0; + }), + (v.prototype.includes = function (t, e, r) { + return -1 !== this.indexOf(t, e, r); + }), + (v.prototype.indexOf = function (t, e, r) { + return A(this, t, e, r, !0); + }), + (v.prototype.lastIndexOf = function (t, e, r) { + return A(this, t, e, r, !1); + }), + (v.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 S(this, t, e, r); + case "utf8": + case "utf-8": + return E(this, t, e, r); + case "ascii": + case "latin1": + case "binary": + return L(this, t, e, r); + case "base64": + return C(this, t, e, r); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return P(this, t, e, r); + default: + if (a) + throw new TypeError("Unknown encoding: " + n); + (n = ("" + n).toLowerCase()), (a = !0); + } + }), + (v.prototype.toJSON = function () { + return { + type: "Buffer", + data: Array.prototype.slice.call(this._arr || this, 0), + }; + }); + var D = 4096; + function z(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 R(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 F(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 += it[t[a]]; + return i; + } + function B(t, e, r) { + for ( + var n = t.slice(e, r), i = "", a = 0; + a < n.length - 1; + a += 2 + ) + i += String.fromCharCode(n[a] + 256 * n[a + 1]); + return i; + } + function N(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 j(t, e, r, n, i, a) { + if (!v.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 U(t, e, r, n, i) { + X(e, n, i, t, r, 7); + var a = Number(e & BigInt(4294967295)); + (t[r++] = a), + (a >>= 8), + (t[r++] = a), + (a >>= 8), + (t[r++] = a), + (a >>= 8), + (t[r++] = a); + var o = Number((e >> BigInt(32)) & BigInt(4294967295)); + return ( + (t[r++] = o), + (o >>= 8), + (t[r++] = o), + (o >>= 8), + (t[r++] = o), + (o >>= 8), + (t[r++] = o), + r + ); + } + function V(t, e, r, n, i) { + X(e, n, i, t, r, 7); + var a = Number(e & BigInt(4294967295)); + (t[r + 7] = a), + (a >>= 8), + (t[r + 6] = a), + (a >>= 8), + (t[r + 5] = a), + (a >>= 8), + (t[r + 4] = a); + var o = Number((e >> BigInt(32)) & BigInt(4294967295)); + return ( + (t[r + 3] = o), + (o >>= 8), + (t[r + 2] = o), + (o >>= 8), + (t[r + 1] = o), + (o >>= 8), + (t[r] = o), + r + 8 + ); + } + function H(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 q(t, e, r, n, i) { + return ( + (e = +e), + (r >>>= 0), + i || H(t, 0, r, 4), + f.write(t, e, r, n, 23, 4), + r + 4 + ); + } + function G(t, e, r, n, i) { + return ( + (e = +e), + (r >>>= 0), + i || H(t, 0, r, 8), + f.write(t, e, r, n, 52, 8), + r + 8 + ); + } + (v.prototype.slice = function (t, e) { + var r = this.length; + (t = ~~t) < 0 ? (t += r) < 0 && (t = 0) : t > r && (t = r), + (e = void 0 === e ? r : ~~e) < 0 + ? (e += r) < 0 && (e = 0) + : e > r && (e = r), + e < t && (e = t); + var n = this.subarray(t, e); + return Object.setPrototypeOf(n, v.prototype), n; + }), + (v.prototype.readUintLE = v.prototype.readUIntLE = + function (t, e, r) { + (t >>>= 0), (e >>>= 0), r || N(t, e, this.length); + for ( + var n = this[t], i = 1, a = 0; + ++a < e && (i *= 256); + + ) + n += this[t + a] * i; + return n; + }), + (v.prototype.readUintBE = v.prototype.readUIntBE = + function (t, e, r) { + (t >>>= 0), (e >>>= 0), r || N(t, e, this.length); + for ( + var n = this[t + --e], i = 1; + e > 0 && (i *= 256); + + ) + n += this[t + --e] * i; + return n; + }), + (v.prototype.readUint8 = v.prototype.readUInt8 = + function (t, e) { + return (t >>>= 0), e || N(t, 1, this.length), this[t]; + }), + (v.prototype.readUint16LE = v.prototype.readUInt16LE = + function (t, e) { + return ( + (t >>>= 0), + e || N(t, 2, this.length), + this[t] | (this[t + 1] << 8) + ); + }), + (v.prototype.readUint16BE = v.prototype.readUInt16BE = + function (t, e) { + return ( + (t >>>= 0), + e || N(t, 2, this.length), + (this[t] << 8) | this[t + 1] + ); + }), + (v.prototype.readUint32LE = v.prototype.readUInt32LE = + function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + (this[t] | (this[t + 1] << 8) | (this[t + 2] << 16)) + + 16777216 * this[t + 3] + ); + }), + (v.prototype.readUint32BE = v.prototype.readUInt32BE = + function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + 16777216 * this[t] + + ((this[t + 1] << 16) | + (this[t + 2] << 8) | + this[t + 3]) + ); + }), + (v.prototype.readBigUInt64LE = at(function (t) { + J((t >>>= 0), "offset"); + var e = this[t], + r = this[t + 7]; + (void 0 !== e && void 0 !== r) || K(t, this.length - 8); + var n = + e + + this[++t] * Math.pow(2, 8) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 24), + i = + this[++t] + + this[++t] * Math.pow(2, 8) + + this[++t] * Math.pow(2, 16) + + r * Math.pow(2, 24); + return BigInt(n) + (BigInt(i) << BigInt(32)); + })), + (v.prototype.readBigUInt64BE = at(function (t) { + J((t >>>= 0), "offset"); + var e = this[t], + r = this[t + 7]; + (void 0 !== e && void 0 !== r) || K(t, this.length - 8); + var n = + e * Math.pow(2, 24) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 8) + + this[++t], + i = + this[++t] * Math.pow(2, 24) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 8) + + r; + return (BigInt(n) << BigInt(32)) + BigInt(i); + })), + (v.prototype.readIntLE = function (t, e, r) { + (t >>>= 0), (e >>>= 0), r || N(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; + }), + (v.prototype.readIntBE = function (t, e, r) { + (t >>>= 0), (e >>>= 0), r || N(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; + }), + (v.prototype.readInt8 = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 1, this.length), + 128 & this[t] ? -1 * (255 - this[t] + 1) : this[t] + ); + }), + (v.prototype.readInt16LE = function (t, e) { + (t >>>= 0), e || N(t, 2, this.length); + var r = this[t] | (this[t + 1] << 8); + return 32768 & r ? 4294901760 | r : r; + }), + (v.prototype.readInt16BE = function (t, e) { + (t >>>= 0), e || N(t, 2, this.length); + var r = this[t + 1] | (this[t] << 8); + return 32768 & r ? 4294901760 | r : r; + }), + (v.prototype.readInt32LE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + this[t] | + (this[t + 1] << 8) | + (this[t + 2] << 16) | + (this[t + 3] << 24) + ); + }), + (v.prototype.readInt32BE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + (this[t] << 24) | + (this[t + 1] << 16) | + (this[t + 2] << 8) | + this[t + 3] + ); + }), + (v.prototype.readBigInt64LE = at(function (t) { + J((t >>>= 0), "offset"); + var e = this[t], + r = this[t + 7]; + (void 0 !== e && void 0 !== r) || K(t, this.length - 8); + var n = + this[t + 4] + + this[t + 5] * Math.pow(2, 8) + + this[t + 6] * Math.pow(2, 16) + + (r << 24); + return ( + (BigInt(n) << BigInt(32)) + + BigInt( + e + + this[++t] * Math.pow(2, 8) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 24), + ) + ); + })), + (v.prototype.readBigInt64BE = at(function (t) { + J((t >>>= 0), "offset"); + var e = this[t], + r = this[t + 7]; + (void 0 !== e && void 0 !== r) || K(t, this.length - 8); + var n = + (e << 24) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 8) + + this[++t]; + return ( + (BigInt(n) << BigInt(32)) + + BigInt( + this[++t] * Math.pow(2, 24) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 8) + + r, + ) + ); + })), + (v.prototype.readFloatLE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + f.read(this, t, !0, 23, 4) + ); + }), + (v.prototype.readFloatBE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + f.read(this, t, !1, 23, 4) + ); + }), + (v.prototype.readDoubleLE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 8, this.length), + f.read(this, t, !0, 52, 8) + ); + }), + (v.prototype.readDoubleBE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 8, this.length), + f.read(this, t, !1, 52, 8) + ); + }), + (v.prototype.writeUintLE = v.prototype.writeUIntLE = + function (t, e, r, n) { + (t = +t), + (e >>>= 0), + (r >>>= 0), + n || j(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; + }), + (v.prototype.writeUintBE = v.prototype.writeUIntBE = + function (t, e, r, n) { + (t = +t), + (e >>>= 0), + (r >>>= 0), + n || j(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; + }), + (v.prototype.writeUint8 = v.prototype.writeUInt8 = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 1, 255, 0), + (this[e] = 255 & t), + e + 1 + ); + }), + (v.prototype.writeUint16LE = v.prototype.writeUInt16LE = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 2, 65535, 0), + (this[e] = 255 & t), + (this[e + 1] = t >>> 8), + e + 2 + ); + }), + (v.prototype.writeUint16BE = v.prototype.writeUInt16BE = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 2, 65535, 0), + (this[e] = t >>> 8), + (this[e + 1] = 255 & t), + e + 2 + ); + }), + (v.prototype.writeUint32LE = v.prototype.writeUInt32LE = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(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 + ); + }), + (v.prototype.writeUint32BE = v.prototype.writeUInt32BE = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(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 + ); + }), + (v.prototype.writeBigUInt64LE = at(function (t) { + var e = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : 0; + return U( + this, + t, + e, + BigInt(0), + BigInt("0xffffffffffffffff"), + ); + })), + (v.prototype.writeBigUInt64BE = at(function (t) { + var e = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : 0; + return V( + this, + t, + e, + BigInt(0), + BigInt("0xffffffffffffffff"), + ); + })), + (v.prototype.writeIntLE = function (t, e, r, n) { + if (((t = +t), (e >>>= 0), !n)) { + var i = Math.pow(2, 8 * r - 1); + j(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; + }), + (v.prototype.writeIntBE = function (t, e, r, n) { + if (((t = +t), (e >>>= 0), !n)) { + var i = Math.pow(2, 8 * r - 1); + j(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; + }), + (v.prototype.writeInt8 = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 1, 127, -128), + t < 0 && (t = 255 + t + 1), + (this[e] = 255 & t), + e + 1 + ); + }), + (v.prototype.writeInt16LE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 2, 32767, -32768), + (this[e] = 255 & t), + (this[e + 1] = t >>> 8), + e + 2 + ); + }), + (v.prototype.writeInt16BE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 2, 32767, -32768), + (this[e] = t >>> 8), + (this[e + 1] = 255 & t), + e + 2 + ); + }), + (v.prototype.writeInt32LE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(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 + ); + }), + (v.prototype.writeInt32BE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(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 + ); + }), + (v.prototype.writeBigInt64LE = at(function (t) { + var e = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : 0; + return U( + this, + t, + e, + -BigInt("0x8000000000000000"), + BigInt("0x7fffffffffffffff"), + ); + })), + (v.prototype.writeBigInt64BE = at(function (t) { + var e = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : 0; + return V( + this, + t, + e, + -BigInt("0x8000000000000000"), + BigInt("0x7fffffffffffffff"), + ); + })), + (v.prototype.writeFloatLE = function (t, e, r) { + return q(this, t, e, !0, r); + }), + (v.prototype.writeFloatBE = function (t, e, r) { + return q(this, t, e, !1, r); + }), + (v.prototype.writeDoubleLE = function (t, e, r) { + return G(this, t, e, !0, r); + }), + (v.prototype.writeDoubleBE = function (t, e, r) { + return G(this, t, e, !1, r); + }), + (v.prototype.copy = function (t, e, r, n) { + if (!v.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; + return ( + this === t && + "function" == typeof Uint8Array.prototype.copyWithin + ? this.copyWithin(e, r, n) + : Uint8Array.prototype.set.call( + t, + this.subarray(r, n), + e, + ), + i + ); + }), + (v.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 && !v.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) + : "boolean" == typeof t && (t = Number(t)); + 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 = v.isBuffer(t) ? t : v.from(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 Z = {}; + function Y(t, e, r) { + Z[t] = (function (r) { + !(function (t, e) { + if ("function" != typeof e && null !== e) + throw new TypeError( + "Super expression must either be null or a function", + ); + (t.prototype = Object.create(e && e.prototype, { + constructor: { + value: t, + writable: !0, + configurable: !0, + }, + })), + Object.defineProperty(t, "prototype", { + writable: !1, + }), + e && a(t, e); + })(d, r); + var u, + c, + f, + h, + p = + ((f = d), + (h = (function () { + if ( + "undefined" == typeof Reflect || + !Reflect.construct + ) + return !1; + if (Reflect.construct.sham) return !1; + if ("function" == typeof Proxy) return !0; + try { + return ( + Boolean.prototype.valueOf.call( + Reflect.construct( + Boolean, + [], + function () {}, + ), + ), + !0 + ); + } catch (t) { + return !1; + } + })()), + function () { + var t, + e = l(f); + if (h) { + var r = l(this).constructor; + t = Reflect.construct(e, arguments, r); + } else t = e.apply(this, arguments); + return o(this, t); + }); + function d() { + var r; + return ( + n(this, d), + (r = p.call(this)), + Object.defineProperty(s(r), "message", { + value: e.apply(s(r), arguments), + writable: !0, + configurable: !0, + }), + (r.name = "".concat(r.name, " [").concat(t, "]")), + r.stack, + delete r.name, + r + ); + } + return ( + (u = d), + (c = [ + { + key: "code", + get: function () { + return t; + }, + set: function (t) { + Object.defineProperty(this, "code", { + configurable: !0, + enumerable: !0, + value: t, + writable: !0, + }); + }, + }, + { + key: "toString", + value: function () { + return "" + .concat(this.name, " [") + .concat(t, "]: ") + .concat(this.message); + }, + }, + ]) && i(u.prototype, c), + Object.defineProperty(u, "prototype", { writable: !1 }), + d + ); + })(r); + } + function W(t) { + for ( + var e = "", r = t.length, n = "-" === t[0] ? 1 : 0; + r >= n + 4; + r -= 3 + ) + e = "_".concat(t.slice(r - 3, r)).concat(e); + return "".concat(t.slice(0, r)).concat(e); + } + function X(t, e, r, n, i, a) { + if (t > r || t < e) { + var o, + s = "bigint" == typeof e ? "n" : ""; + throw ( + ((o = + a > 3 + ? 0 === e || e === BigInt(0) + ? ">= 0" + .concat(s, " and < 2") + .concat(s, " ** ") + .concat(8 * (a + 1)) + .concat(s) + : ">= -(2" + .concat(s, " ** ") + .concat(8 * (a + 1) - 1) + .concat(s, ") and < 2 ** ") + + "".concat(8 * (a + 1) - 1).concat(s) + : ">= " + .concat(e) + .concat(s, " and <= ") + .concat(r) + .concat(s)), + new Z.ERR_OUT_OF_RANGE("value", o, t)) + ); + } + !(function (t, e, r) { + J(e, "offset"), + (void 0 !== t[e] && void 0 !== t[e + r]) || + K(e, t.length - (r + 1)); + })(n, i, a); + } + function J(t, e) { + if ("number" != typeof t) + throw new Z.ERR_INVALID_ARG_TYPE(e, "number", t); + } + function K(t, e, r) { + if (Math.floor(t) !== t) + throw ( + (J(t, r), + new Z.ERR_OUT_OF_RANGE(r || "offset", "an integer", t)) + ); + if (e < 0) throw new Z.ERR_BUFFER_OUT_OF_BOUNDS(); + throw new Z.ERR_OUT_OF_RANGE( + r || "offset", + ">= ".concat(r ? 1 : 0, " and <= ").concat(e), + t, + ); + } + Y( + "ERR_BUFFER_OUT_OF_BOUNDS", + function (t) { + return t + ? "".concat(t, " is outside of buffer bounds") + : "Attempt to access memory outside buffer bounds"; + }, + RangeError, + ), + Y( + "ERR_INVALID_ARG_TYPE", + function (t, e) { + return 'The "' + .concat( + t, + '" argument must be of type number. Received type ', + ) + .concat(u(e)); + }, + TypeError, + ), + Y( + "ERR_OUT_OF_RANGE", + function (t, e, r) { + var n = 'The value of "'.concat( + t, + '" is out of range.', + ), + i = r; + return ( + Number.isInteger(r) && Math.abs(r) > Math.pow(2, 32) + ? (i = W(String(r))) + : "bigint" == typeof r && + ((i = String(r)), + (r > Math.pow(BigInt(2), BigInt(32)) || + r < -Math.pow(BigInt(2), BigInt(32))) && + (i = W(i)), + (i += "n")), + n + " It must be ".concat(e, ". Received ").concat(i) + ); + }, + RangeError, + ); + var $ = /[^+/0-9A-Za-z-_]/g; + function Q(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 tt(t) { + return c.toByteArray( + (function (t) { + if ( + (t = (t = t.split("=")[0]).trim().replace($, "")) + .length < 2 + ) + return ""; + for (; t.length % 4 != 0; ) t += "="; + return t; + })(t), + ); + } + function et(t, e, r, n) { + var i; + for ( + i = 0; + i < n && !(i + r >= e.length || i >= t.length); + ++i + ) + e[i + r] = t[i]; + return i; + } + function rt(t, e) { + return ( + t instanceof e || + (null != t && + null != t.constructor && + null != t.constructor.name && + t.constructor.name === e.name) + ); + } + function nt(t) { + return t != t; + } + var it = (function () { + for ( + var t = "0123456789abcdef", e = new Array(256), r = 0; + r < 16; + ++r + ) + for (var n = 16 * r, i = 0; i < 16; ++i) + e[n + i] = t[r] + t[i]; + return e; + })(); + function at(t) { + return "undefined" == typeof BigInt ? ot : t; + } + function ot() { + throw new Error("BigInt not supported"); + } + }, + 35791: function (t) { + "use strict"; + (t.exports = i), + (t.exports.isMobile = i), + (t.exports.default = i); + var e = + /(android|bb\d+|meego).+mobile|armv7l|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[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i, + r = /CrOS/, + n = /android|ipad|playbook|silk/i; + function i(t) { + t || (t = {}); + var i = t.ua; + if ( + (i || + "undefined" == typeof navigator || + (i = navigator.userAgent), + i && + i.headers && + "string" == typeof i.headers["user-agent"] && + (i = i.headers["user-agent"]), + "string" != typeof i) + ) + return !1; + var a = + (e.test(i) && !r.test(i)) || (!!t.tablet && n.test(i)); + return ( + !a && + t.tablet && + t.featureDetect && + navigator && + navigator.maxTouchPoints > 1 && + -1 !== i.indexOf("Macintosh") && + -1 !== i.indexOf("Safari") && + (a = !0), + a + ); + } + }, + 86781: function (t, e, r) { + "use strict"; + r.r(e), + r.d(e, { + sankeyCenter: function () { + return h; + }, + sankeyCircular: function () { + return L; + }, + sankeyJustify: function () { + return f; + }, + sankeyLeft: function () { + return u; + }, + sankeyRight: function () { + return c; + }, + }); + var n = r(33064), + i = r(15140), + a = r(45879), + o = r(2502), + s = r.n(o); + function l(t) { + return t.target.depth; + } + function u(t) { + return t.depth; + } + function c(t, e) { + return e - 1 - t.height; + } + function f(t, e) { + return t.sourceLinks.length ? t.depth : e - 1; + } + function h(t) { + return t.targetLinks.length + ? t.depth + : t.sourceLinks.length + ? (0, n.VV)(t.sourceLinks, l) - 1 + : 0; + } + function p(t) { + return function () { + return t; + }; + } + var d = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function (t) { + return typeof t; + } + : function (t) { + return t && + "function" == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? "symbol" + : typeof t; + }; + function v(t, e) { + return y(t.source, e.source) || t.index - e.index; + } + function g(t, e) { + return y(t.target, e.target) || t.index - e.index; + } + function y(t, e) { + return t.partOfCycle === e.partOfCycle + ? t.y0 - e.y0 + : "top" === t.circularLinkType || + "bottom" === e.circularLinkType + ? -1 + : 1; + } + function m(t) { + return t.value; + } + function x(t) { + return (t.y0 + t.y1) / 2; + } + function b(t) { + return x(t.source); + } + function _(t) { + return x(t.target); + } + function w(t) { + return t.index; + } + function T(t) { + return t.nodes; + } + function k(t) { + return t.links; + } + function A(t, e) { + var r = t.get(e); + if (!r) throw new Error("missing: " + e); + return r; + } + function M(t, e) { + return e(t); + } + var S = 25, + E = 10; + function L() { + var t, + e, + r = 0, + a = 0, + o = 1, + s = 1, + l = 24, + u = w, + c = f, + h = T, + M = k, + L = 32, + O = 2, + D = null; + function z() { + var t = { + nodes: h.apply(null, arguments), + links: M.apply(null, arguments), + }; + F(t), C(t, 0, D), B(t), N(t), P(t, u), j(t, L, u), U(t); + for (var e = 4, r = 0; r < e; r++) + W(t, s, u), + X(t, 0, u), + Z(t, a, s, u), + W(t, s, u), + X(t, 0, u); + return Q(t, a, s), R(t, O, s, u), t; + } + function F(t) { + t.nodes.forEach(function (t, e) { + (t.index = e), + (t.sourceLinks = []), + (t.targetLinks = []); + }); + var e = (0, i.UI)(t.nodes, u); + return ( + t.links.forEach(function (t, r) { + t.index = r; + var n = t.source, + i = t.target; + "object" !== (void 0 === n ? "undefined" : d(n)) && + (n = t.source = A(e, n)), + "object" !== (void 0 === i ? "undefined" : d(i)) && + (i = t.target = A(e, i)), + n.sourceLinks.push(t), + i.targetLinks.push(t); + }), + t + ); + } + function B(t) { + t.nodes.forEach(function (t) { + (t.partOfCycle = !1), + (t.value = Math.max( + (0, n.Sm)(t.sourceLinks, m), + (0, n.Sm)(t.targetLinks, m), + )), + t.sourceLinks.forEach(function (e) { + e.circular && + ((t.partOfCycle = !0), + (t.circularLinkType = e.circularLinkType)); + }), + t.targetLinks.forEach(function (e) { + e.circular && + ((t.partOfCycle = !0), + (t.circularLinkType = e.circularLinkType)); + }); + }); + } + function N(t) { + var e, r, n; + for ( + e = t.nodes, r = [], n = 0; + e.length; + ++n, e = r, r = [] + ) + e.forEach(function (t) { + (t.depth = n), + t.sourceLinks.forEach(function (t) { + r.indexOf(t.target) < 0 && + !t.circular && + r.push(t.target); + }); + }); + for ( + e = t.nodes, r = [], n = 0; + e.length; + ++n, e = r, r = [] + ) + e.forEach(function (t) { + (t.height = n), + t.targetLinks.forEach(function (t) { + r.indexOf(t.source) < 0 && + !t.circular && + r.push(t.source); + }); + }); + t.nodes.forEach(function (t) { + t.column = Math.floor(c.call(null, t, n)); + }); + } + function j(u, c, f) { + var h = (0, i.b1)() + .key(function (t) { + return t.column; + }) + .sortKeys(n.j2) + .entries(u.nodes) + .map(function (t) { + return t.values; + }); + !(function (i) { + if (e) { + var c = 1 / 0; + h.forEach(function (t) { + var r = (s * e) / (t.length + 1); + c = r < c ? r : c; + }), + (t = c); + } + var f = (0, n.VV)(h, function (e) { + return (s - a - (e.length - 1) * t) / (0, n.Sm)(e, m); + }); + (f *= 0.3), + u.links.forEach(function (t) { + t.width = t.value * f; + }); + var p = (function (t) { + var e = 0, + r = 0, + i = 0, + a = 0, + o = (0, n.Fp)(t.nodes, function (t) { + return t.column; + }); + return ( + t.links.forEach(function (t) { + t.circular && + ("top" == t.circularLinkType + ? (e += t.width) + : (r += t.width), + 0 == t.target.column && (a += t.width), + t.source.column == o && (i += t.width)); + }), + { + top: (e = e > 0 ? e + S + E : e), + bottom: (r = r > 0 ? r + S + E : r), + left: (a = a > 0 ? a + S + E : a), + right: (i = i > 0 ? i + S + E : i), + } + ); + })(u), + d = (function (t, e) { + var i = (0, n.Fp)(t.nodes, function (t) { + return t.column; + }), + u = o - r, + c = s - a, + f = u / (u + e.right + e.left), + h = c / (c + e.top + e.bottom); + return ( + (r = r * f + e.left), + (o = 0 == e.right ? o : o * f), + (a = a * h + e.top), + (s *= h), + t.nodes.forEach(function (t) { + (t.x0 = r + t.column * ((o - r - l) / i)), + (t.x1 = t.x0 + l); + }), + h + ); + })(u, p); + (f *= d), + u.links.forEach(function (t) { + t.width = t.value * f; + }), + h.forEach(function (t) { + var e = t.length; + t.forEach(function (t, r) { + (t.depth == h.length - 1 && 1 == e) || + (0 == t.depth && 1 == e) + ? ((t.y0 = s / 2 - t.value * f), + (t.y1 = t.y0 + t.value * f)) + : t.partOfCycle + ? 0 == I(t, i) + ? ((t.y0 = s / 2 + r), + (t.y1 = t.y0 + t.value * f)) + : "top" == t.circularLinkType + ? ((t.y0 = a + r), + (t.y1 = t.y0 + t.value * f)) + : ((t.y0 = s - t.value * f - r), + (t.y1 = t.y0 + t.value * f)) + : 0 == p.top || 0 == p.bottom + ? ((t.y0 = ((s - a) / e) * r), + (t.y1 = t.y0 + t.value * f)) + : ((t.y0 = (s - a) / 2 - e / 2 + r), + (t.y1 = t.y0 + t.value * f)); + }); + }); + })(f), + g(); + for (var p = 1, d = c; d > 0; --d) v((p *= 0.99), f), g(); + function v(t, e) { + var r = h.length; + h.forEach(function (i) { + var a = i.length, + o = i[0].depth; + i.forEach(function (i) { + var l; + if (i.sourceLinks.length || i.targetLinks.length) + if (i.partOfCycle && I(i, e) > 0); + else if (0 == o && 1 == a) + (l = i.y1 - i.y0), + (i.y0 = s / 2 - l / 2), + (i.y1 = s / 2 + l / 2); + else if (o == r - 1 && 1 == a) + (l = i.y1 - i.y0), + (i.y0 = s / 2 - l / 2), + (i.y1 = s / 2 + l / 2); + else { + var u = (0, n.J6)(i.sourceLinks, _), + c = (0, n.J6)(i.targetLinks, b), + f = + ((u && c ? (u + c) / 2 : u || c) - x(i)) * + t; + (i.y0 += f), (i.y1 += f); + } + }); + }); + } + function g() { + h.forEach(function (e) { + var r, + n, + i, + o = a, + l = e.length; + for (e.sort(y), i = 0; i < l; ++i) + (n = o - (r = e[i]).y0) > 0 && + ((r.y0 += n), (r.y1 += n)), + (o = r.y1 + t); + if ((n = o - t - s) > 0) + for ( + o = r.y0 -= n, r.y1 -= n, i = l - 2; + i >= 0; + --i + ) + (n = (r = e[i]).y1 + t - o) > 0 && + ((r.y0 -= n), (r.y1 -= n)), + (o = r.y0); + }); + } + } + function U(t) { + t.nodes.forEach(function (t) { + t.sourceLinks.sort(g), t.targetLinks.sort(v); + }), + t.nodes.forEach(function (t) { + var e = t.y0, + r = e, + n = t.y1, + i = n; + t.sourceLinks.forEach(function (t) { + t.circular + ? ((t.y0 = n - t.width / 2), (n -= t.width)) + : ((t.y0 = e + t.width / 2), (e += t.width)); + }), + t.targetLinks.forEach(function (t) { + t.circular + ? ((t.y1 = i - t.width / 2), (i -= t.width)) + : ((t.y1 = r + t.width / 2), (r += t.width)); + }); + }); + } + return ( + (z.nodeId = function (t) { + return arguments.length + ? ((u = "function" == typeof t ? t : p(t)), z) + : u; + }), + (z.nodeAlign = function (t) { + return arguments.length + ? ((c = "function" == typeof t ? t : p(t)), z) + : c; + }), + (z.nodeWidth = function (t) { + return arguments.length ? ((l = +t), z) : l; + }), + (z.nodePadding = function (e) { + return arguments.length ? ((t = +e), z) : t; + }), + (z.nodes = function (t) { + return arguments.length + ? ((h = "function" == typeof t ? t : p(t)), z) + : h; + }), + (z.links = function (t) { + return arguments.length + ? ((M = "function" == typeof t ? t : p(t)), z) + : M; + }), + (z.size = function (t) { + return arguments.length + ? ((r = a = 0), (o = +t[0]), (s = +t[1]), z) + : [o - r, s - a]; + }), + (z.extent = function (t) { + return arguments.length + ? ((r = +t[0][0]), + (o = +t[1][0]), + (a = +t[0][1]), + (s = +t[1][1]), + z) + : [ + [r, a], + [o, s], + ]; + }), + (z.iterations = function (t) { + return arguments.length ? ((L = +t), z) : L; + }), + (z.circularLinkGap = function (t) { + return arguments.length ? ((O = +t), z) : O; + }), + (z.nodePaddingRatio = function (t) { + return arguments.length ? ((e = +t), z) : e; + }), + (z.sortNodes = function (t) { + return arguments.length ? ((D = t), z) : D; + }), + (z.update = function (t) { + return ( + P(t, u), + U(t), + t.links.forEach(function (t) { + t.circular && + ((t.circularLinkType = + t.y0 + t.y1 < s ? "top" : "bottom"), + (t.source.circularLinkType = t.circularLinkType), + (t.target.circularLinkType = t.circularLinkType)); + }), + W(t, s, u, !1), + X(t, 0, u), + R(t, O, s, u), + t + ); + }), + z + ); + } + function C(t, e, r) { + var n = 0; + if (null === r) { + for (var i = [], a = 0; a < t.links.length; a++) { + var o = t.links[a], + l = o.source.index, + u = o.target.index; + i[l] || (i[l] = []), + i[u] || (i[u] = []), + -1 === i[l].indexOf(u) && i[l].push(u); + } + var c = s()(i); + c.sort(function (t, e) { + return t.length - e.length; + }); + var f = {}; + for (a = 0; a < c.length; a++) { + var h = c[a].slice(-2); + f[h[0]] || (f[h[0]] = {}), (f[h[0]][h[1]] = !0); + } + t.links.forEach(function (t) { + var e = t.target.index, + r = t.source.index; + e === r || (f[r] && f[r][e]) + ? ((t.circular = !0), + (t.circularLinkID = n), + (n += 1)) + : (t.circular = !1); + }); + } else + t.links.forEach(function (t) { + t.source[r] < t.target[r] + ? (t.circular = !1) + : ((t.circular = !0), + (t.circularLinkID = n), + (n += 1)); + }); + } + function P(t, e) { + var r = 0, + n = 0; + t.links.forEach(function (i) { + i.circular && + (i.source.circularLinkType || i.target.circularLinkType + ? (i.circularLinkType = i.source.circularLinkType + ? i.source.circularLinkType + : i.target.circularLinkType) + : (i.circularLinkType = r < n ? "top" : "bottom"), + "top" == i.circularLinkType ? (r += 1) : (n += 1), + t.nodes.forEach(function (t) { + (M(t, e) != M(i.source, e) && + M(t, e) != M(i.target, e)) || + (t.circularLinkType = i.circularLinkType); + })); + }), + t.links.forEach(function (t) { + t.circular && + (t.source.circularLinkType == + t.target.circularLinkType && + (t.circularLinkType = t.source.circularLinkType), + $(t, e) && + (t.circularLinkType = t.source.circularLinkType)); + }); + } + function O(t) { + var e = Math.abs(t.y1 - t.y0), + r = Math.abs(t.target.x0 - t.source.x1); + return Math.atan(r / e); + } + function I(t, e) { + var r = 0; + t.sourceLinks.forEach(function (t) { + r = t.circular && !$(t, e) ? r + 1 : r; + }); + var n = 0; + return ( + t.targetLinks.forEach(function (t) { + n = t.circular && !$(t, e) ? n + 1 : n; + }), + r + n + ); + } + function D(t) { + var e = t.source.sourceLinks, + r = 0; + e.forEach(function (t) { + r = t.circular ? r + 1 : r; + }); + var n = t.target.targetLinks, + i = 0; + return ( + n.forEach(function (t) { + i = t.circular ? i + 1 : i; + }), + !(r > 1 || i > 1) + ); + } + function z(t, e, r) { + return ( + t.sort(F), + t.forEach(function (n, i) { + var a, + o, + s = 0; + if ($(n, r) && D(n)) + n.circularPathData.verticalBuffer = s + n.width / 2; + else { + for (var l = 0; l < i; l++) + if ( + ((a = t[i]), + (o = t[l]), + !( + a.source.column < o.target.column || + a.target.column > o.source.column + )) + ) { + var u = + t[l].circularPathData.verticalBuffer + + t[l].width / 2 + + e; + s = u > s ? u : s; + } + n.circularPathData.verticalBuffer = s + n.width / 2; + } + }), + t + ); + } + function R(t, e, r, i) { + var o = (0, n.VV)(t.links, function (t) { + return t.source.y0; + }); + t.links.forEach(function (t) { + t.circular && (t.circularPathData = {}); + }), + z( + t.links.filter(function (t) { + return "top" == t.circularLinkType; + }), + e, + i, + ), + z( + t.links.filter(function (t) { + return "bottom" == t.circularLinkType; + }), + e, + i, + ), + t.links.forEach(function (n) { + if (n.circular) { + if ( + ((n.circularPathData.arcRadius = n.width + E), + (n.circularPathData.leftNodeBuffer = 5), + (n.circularPathData.rightNodeBuffer = 5), + (n.circularPathData.sourceWidth = + n.source.x1 - n.source.x0), + (n.circularPathData.sourceX = + n.source.x0 + n.circularPathData.sourceWidth), + (n.circularPathData.targetX = n.target.x0), + (n.circularPathData.sourceY = n.y0), + (n.circularPathData.targetY = n.y1), + $(n, i) && D(n)) + ) + (n.circularPathData.leftSmallArcRadius = + E + n.width / 2), + (n.circularPathData.leftLargeArcRadius = + E + n.width / 2), + (n.circularPathData.rightSmallArcRadius = + E + n.width / 2), + (n.circularPathData.rightLargeArcRadius = + E + n.width / 2), + "bottom" == n.circularLinkType + ? ((n.circularPathData.verticalFullExtent = + n.source.y1 + + S + + n.circularPathData.verticalBuffer), + (n.circularPathData.verticalLeftInnerExtent = + n.circularPathData.verticalFullExtent - + n.circularPathData.leftLargeArcRadius), + (n.circularPathData.verticalRightInnerExtent = + n.circularPathData.verticalFullExtent - + n.circularPathData.rightLargeArcRadius)) + : ((n.circularPathData.verticalFullExtent = + n.source.y0 - + S - + n.circularPathData.verticalBuffer), + (n.circularPathData.verticalLeftInnerExtent = + n.circularPathData.verticalFullExtent + + n.circularPathData.leftLargeArcRadius), + (n.circularPathData.verticalRightInnerExtent = + n.circularPathData.verticalFullExtent + + n.circularPathData.rightLargeArcRadius)); + else { + var s = n.source.column, + l = n.circularLinkType, + u = t.links.filter(function (t) { + return ( + t.source.column == s && + t.circularLinkType == l + ); + }); + "bottom" == n.circularLinkType + ? u.sort(N) + : u.sort(B); + var c = 0; + u.forEach(function (t, r) { + t.circularLinkID == n.circularLinkID && + ((n.circularPathData.leftSmallArcRadius = + E + n.width / 2 + c), + (n.circularPathData.leftLargeArcRadius = + E + n.width / 2 + r * e + c)), + (c += t.width); + }), + (s = n.target.column), + (u = t.links.filter(function (t) { + return ( + t.target.column == s && + t.circularLinkType == l + ); + })), + "bottom" == n.circularLinkType + ? u.sort(U) + : u.sort(j), + (c = 0), + u.forEach(function (t, r) { + t.circularLinkID == n.circularLinkID && + ((n.circularPathData.rightSmallArcRadius = + E + n.width / 2 + c), + (n.circularPathData.rightLargeArcRadius = + E + n.width / 2 + r * e + c)), + (c += t.width); + }), + "bottom" == n.circularLinkType + ? ((n.circularPathData.verticalFullExtent = + Math.max(r, n.source.y1, n.target.y1) + + S + + n.circularPathData.verticalBuffer), + (n.circularPathData.verticalLeftInnerExtent = + n.circularPathData.verticalFullExtent - + n.circularPathData.leftLargeArcRadius), + (n.circularPathData.verticalRightInnerExtent = + n.circularPathData.verticalFullExtent - + n.circularPathData.rightLargeArcRadius)) + : ((n.circularPathData.verticalFullExtent = + o - S - n.circularPathData.verticalBuffer), + (n.circularPathData.verticalLeftInnerExtent = + n.circularPathData.verticalFullExtent + + n.circularPathData.leftLargeArcRadius), + (n.circularPathData.verticalRightInnerExtent = + n.circularPathData.verticalFullExtent + + n.circularPathData.rightLargeArcRadius)); + } + (n.circularPathData.leftInnerExtent = + n.circularPathData.sourceX + + n.circularPathData.leftNodeBuffer), + (n.circularPathData.rightInnerExtent = + n.circularPathData.targetX - + n.circularPathData.rightNodeBuffer), + (n.circularPathData.leftFullExtent = + n.circularPathData.sourceX + + n.circularPathData.leftLargeArcRadius + + n.circularPathData.leftNodeBuffer), + (n.circularPathData.rightFullExtent = + n.circularPathData.targetX - + n.circularPathData.rightLargeArcRadius - + n.circularPathData.rightNodeBuffer); + } + if (n.circular) + n.path = (function (t) { + return "top" == t.circularLinkType + ? "M" + + t.circularPathData.sourceX + + " " + + t.circularPathData.sourceY + + " L" + + t.circularPathData.leftInnerExtent + + " " + + t.circularPathData.sourceY + + " A" + + t.circularPathData.leftLargeArcRadius + + " " + + t.circularPathData.leftSmallArcRadius + + " 0 0 0 " + + t.circularPathData.leftFullExtent + + " " + + (t.circularPathData.sourceY - + t.circularPathData.leftSmallArcRadius) + + " L" + + t.circularPathData.leftFullExtent + + " " + + t.circularPathData.verticalLeftInnerExtent + + " A" + + t.circularPathData.leftLargeArcRadius + + " " + + t.circularPathData.leftLargeArcRadius + + " 0 0 0 " + + t.circularPathData.leftInnerExtent + + " " + + t.circularPathData.verticalFullExtent + + " L" + + t.circularPathData.rightInnerExtent + + " " + + t.circularPathData.verticalFullExtent + + " A" + + t.circularPathData.rightLargeArcRadius + + " " + + t.circularPathData.rightLargeArcRadius + + " 0 0 0 " + + t.circularPathData.rightFullExtent + + " " + + t.circularPathData.verticalRightInnerExtent + + " L" + + t.circularPathData.rightFullExtent + + " " + + (t.circularPathData.targetY - + t.circularPathData.rightSmallArcRadius) + + " A" + + t.circularPathData.rightLargeArcRadius + + " " + + t.circularPathData.rightSmallArcRadius + + " 0 0 0 " + + t.circularPathData.rightInnerExtent + + " " + + t.circularPathData.targetY + + " L" + + t.circularPathData.targetX + + " " + + t.circularPathData.targetY + : "M" + + t.circularPathData.sourceX + + " " + + t.circularPathData.sourceY + + " L" + + t.circularPathData.leftInnerExtent + + " " + + t.circularPathData.sourceY + + " A" + + t.circularPathData.leftLargeArcRadius + + " " + + t.circularPathData.leftSmallArcRadius + + " 0 0 1 " + + t.circularPathData.leftFullExtent + + " " + + (t.circularPathData.sourceY + + t.circularPathData.leftSmallArcRadius) + + " L" + + t.circularPathData.leftFullExtent + + " " + + t.circularPathData.verticalLeftInnerExtent + + " A" + + t.circularPathData.leftLargeArcRadius + + " " + + t.circularPathData.leftLargeArcRadius + + " 0 0 1 " + + t.circularPathData.leftInnerExtent + + " " + + t.circularPathData.verticalFullExtent + + " L" + + t.circularPathData.rightInnerExtent + + " " + + t.circularPathData.verticalFullExtent + + " A" + + t.circularPathData.rightLargeArcRadius + + " " + + t.circularPathData.rightLargeArcRadius + + " 0 0 1 " + + t.circularPathData.rightFullExtent + + " " + + t.circularPathData.verticalRightInnerExtent + + " L" + + t.circularPathData.rightFullExtent + + " " + + (t.circularPathData.targetY + + t.circularPathData.rightSmallArcRadius) + + " A" + + t.circularPathData.rightLargeArcRadius + + " " + + t.circularPathData.rightSmallArcRadius + + " 0 0 1 " + + t.circularPathData.rightInnerExtent + + " " + + t.circularPathData.targetY + + " L" + + t.circularPathData.targetX + + " " + + t.circularPathData.targetY; + })(n); + else { + var f = (0, a.h5)() + .source(function (t) { + return [ + t.source.x0 + (t.source.x1 - t.source.x0), + t.y0, + ]; + }) + .target(function (t) { + return [t.target.x0, t.y1]; + }); + n.path = f(n); + } + }); + } + function F(t, e) { + return V(t) == V(e) + ? "bottom" == t.circularLinkType + ? N(t, e) + : B(t, e) + : V(e) - V(t); + } + function B(t, e) { + return t.y0 - e.y0; + } + function N(t, e) { + return e.y0 - t.y0; + } + function j(t, e) { + return t.y1 - e.y1; + } + function U(t, e) { + return e.y1 - t.y1; + } + function V(t) { + return t.target.column - t.source.column; + } + function H(t) { + return t.target.x0 - t.source.x1; + } + function q(t, e) { + var r = O(t), + n = H(e) / Math.tan(r); + return "up" == K(t) ? t.y1 + n : t.y1 - n; + } + function G(t, e) { + var r = O(t), + n = H(e) / Math.tan(r); + return "up" == K(t) ? t.y1 - n : t.y1 + n; + } + function Z(t, e, r, n) { + t.links.forEach(function (i) { + if ( + !i.circular && + i.target.column - i.source.column > 1 + ) { + var a = i.source.column + 1, + o = i.target.column - 1, + s = 1, + l = o - a + 1; + for (s = 1; a <= o; a++, s++) + t.nodes.forEach(function (o) { + if (o.column == a) { + var u, + c = s / (l + 1), + f = Math.pow(1 - c, 3), + h = 3 * c * Math.pow(1 - c, 2), + p = 3 * Math.pow(c, 2) * (1 - c), + d = Math.pow(c, 3), + v = f * i.y0 + h * i.y0 + p * i.y1 + d * i.y1, + g = v - i.width / 2, + y = v + i.width / 2; + g > o.y0 && g < o.y1 + ? ((u = o.y1 - g + 10), + (u = "bottom" == o.circularLinkType ? u : -u), + (o = Y(o, u, e, r)), + t.nodes.forEach(function (t) { + var i, a; + M(t, n) != M(o, n) && + t.column == o.column && + ((a = t), + ((i = o).y0 > a.y0 && i.y0 < a.y1) || + (i.y1 > a.y0 && i.y1 < a.y1) || + (i.y0 < a.y0 && i.y1 > a.y1)) && + Y(t, u, e, r); + })) + : ((y > o.y0 && y < o.y1) || + (g < o.y0 && y > o.y1)) && + ((u = y - o.y0 + 10), + (o = Y(o, u, e, r)), + t.nodes.forEach(function (t) { + M(t, n) != M(o, n) && + t.column == o.column && + t.y0 < o.y1 && + t.y1 > o.y1 && + Y(t, u, e, r); + })); + } + }); + } + }); + } + function Y(t, e, r, n) { + return ( + t.y0 + e >= r && + t.y1 + e <= n && + ((t.y0 = t.y0 + e), + (t.y1 = t.y1 + e), + t.targetLinks.forEach(function (t) { + t.y1 = t.y1 + e; + }), + t.sourceLinks.forEach(function (t) { + t.y0 = t.y0 + e; + })), + t + ); + } + function W(t, e, r, n) { + t.nodes.forEach(function (i) { + n && + i.y + (i.y1 - i.y0) > e && + (i.y = i.y - (i.y + (i.y1 - i.y0) - e)); + var a = t.links.filter(function (t) { + return M(t.source, r) == M(i, r); + }), + o = a.length; + o > 1 && + a.sort(function (t, e) { + if (!t.circular && !e.circular) { + if (t.target.column == e.target.column) + return t.y1 - e.y1; + if (!J(t, e)) return t.y1 - e.y1; + if (t.target.column > e.target.column) { + var r = G(e, t); + return t.y1 - r; + } + if (e.target.column > t.target.column) + return G(t, e) - e.y1; + } + return t.circular && !e.circular + ? "top" == t.circularLinkType + ? -1 + : 1 + : e.circular && !t.circular + ? "top" == e.circularLinkType + ? 1 + : -1 + : t.circular && e.circular + ? t.circularLinkType === e.circularLinkType && + "top" == t.circularLinkType + ? t.target.column === e.target.column + ? t.target.y1 - e.target.y1 + : e.target.column - t.target.column + : t.circularLinkType === e.circularLinkType && + "bottom" == t.circularLinkType + ? t.target.column === e.target.column + ? e.target.y1 - t.target.y1 + : t.target.column - e.target.column + : "top" == t.circularLinkType + ? -1 + : 1 + : void 0; + }); + var s = i.y0; + a.forEach(function (t) { + (t.y0 = s + t.width / 2), (s += t.width); + }), + a.forEach(function (t, e) { + if ("bottom" == t.circularLinkType) { + for (var r = e + 1, n = 0; r < o; r++) + n += a[r].width; + t.y0 = i.y1 - n - t.width / 2; + } + }); + }); + } + function X(t, e, r) { + t.nodes.forEach(function (e) { + var n = t.links.filter(function (t) { + return M(t.target, r) == M(e, r); + }), + i = n.length; + i > 1 && + n.sort(function (t, e) { + if (!t.circular && !e.circular) { + if (t.source.column == e.source.column) + return t.y0 - e.y0; + if (!J(t, e)) return t.y0 - e.y0; + if (e.source.column < t.source.column) { + var r = q(e, t); + return t.y0 - r; + } + if (t.source.column < e.source.column) + return q(t, e) - e.y0; + } + return t.circular && !e.circular + ? "top" == t.circularLinkType + ? -1 + : 1 + : e.circular && !t.circular + ? "top" == e.circularLinkType + ? 1 + : -1 + : t.circular && e.circular + ? t.circularLinkType === e.circularLinkType && + "top" == t.circularLinkType + ? t.source.column === e.source.column + ? t.source.y1 - e.source.y1 + : t.source.column - e.source.column + : t.circularLinkType === e.circularLinkType && + "bottom" == t.circularLinkType + ? t.source.column === e.source.column + ? t.source.y1 - e.source.y1 + : e.source.column - t.source.column + : "top" == t.circularLinkType + ? -1 + : 1 + : void 0; + }); + var a = e.y0; + n.forEach(function (t) { + (t.y1 = a + t.width / 2), (a += t.width); + }), + n.forEach(function (t, r) { + if ("bottom" == t.circularLinkType) { + for (var a = r + 1, o = 0; a < i; a++) + o += n[a].width; + t.y1 = e.y1 - o - t.width / 2; + } + }); + }); + } + function J(t, e) { + return K(t) == K(e); + } + function K(t) { + return t.y0 - t.y1 > 0 ? "up" : "down"; + } + function $(t, e) { + return M(t.source, e) == M(t.target, e); + } + function Q(t, e, r) { + var i = t.nodes, + a = t.links, + o = !1, + s = !1; + if ( + (a.forEach(function (t) { + "top" == t.circularLinkType + ? (o = !0) + : "bottom" == t.circularLinkType && (s = !0); + }), + 0 == o || 0 == s) + ) { + var l = (0, n.VV)(i, function (t) { + return t.y0; + }), + u = + (r - e) / + ((0, n.Fp)(i, function (t) { + return t.y1; + }) - + l); + i.forEach(function (t) { + var e = (t.y1 - t.y0) * u; + (t.y0 = (t.y0 - l) * u), (t.y1 = t.y0 + e); + }), + a.forEach(function (t) { + (t.y0 = (t.y0 - l) * u), + (t.y1 = (t.y1 - l) * u), + (t.width = t.width * u); + }); + } + } + }, + 30838: function (t, e, r) { + "use strict"; + r.r(e), + r.d(e, { + sankey: function () { + return w; + }, + sankeyCenter: function () { + return u; + }, + sankeyJustify: function () { + return l; + }, + sankeyLeft: function () { + return o; + }, + sankeyLinkHorizontal: function () { + return M; + }, + sankeyRight: function () { + return s; + }, + }); + var n = r(33064), + i = r(15140); + function a(t) { + return t.target.depth; + } + function o(t) { + return t.depth; + } + function s(t, e) { + return e - 1 - t.height; + } + function l(t, e) { + return t.sourceLinks.length ? t.depth : e - 1; + } + function u(t) { + return t.targetLinks.length + ? t.depth + : t.sourceLinks.length + ? (0, n.VV)(t.sourceLinks, a) - 1 + : 0; + } + function c(t) { + return function () { + return t; + }; + } + function f(t, e) { + return p(t.source, e.source) || t.index - e.index; + } + function h(t, e) { + return p(t.target, e.target) || t.index - e.index; + } + function p(t, e) { + return t.y0 - e.y0; + } + function d(t) { + return t.value; + } + function v(t) { + return (t.y0 + t.y1) / 2; + } + function g(t) { + return v(t.source) * t.value; + } + function y(t) { + return v(t.target) * t.value; + } + function m(t) { + return t.index; + } + function x(t) { + return t.nodes; + } + function b(t) { + return t.links; + } + function _(t, e) { + var r = t.get(e); + if (!r) throw new Error("missing: " + e); + return r; + } + function w() { + var t = 0, + e = 0, + r = 1, + a = 1, + o = 24, + s = 8, + u = m, + w = l, + T = x, + k = b, + A = 32; + function M() { + var t = { + nodes: T.apply(null, arguments), + links: k.apply(null, arguments), + }; + return S(t), E(t), L(t), C(t), P(t), t; + } + function S(t) { + t.nodes.forEach(function (t, e) { + (t.index = e), + (t.sourceLinks = []), + (t.targetLinks = []); + }); + var e = (0, i.UI)(t.nodes, u); + t.links.forEach(function (t, r) { + t.index = r; + var n = t.source, + i = t.target; + "object" != typeof n && (n = t.source = _(e, n)), + "object" != typeof i && (i = t.target = _(e, i)), + n.sourceLinks.push(t), + i.targetLinks.push(t); + }); + } + function E(t) { + t.nodes.forEach(function (t) { + t.value = Math.max( + (0, n.Sm)(t.sourceLinks, d), + (0, n.Sm)(t.targetLinks, d), + ); + }); + } + function L(e) { + var n, i, a; + for ( + n = e.nodes, i = [], a = 0; + n.length; + ++a, n = i, i = [] + ) + n.forEach(function (t) { + (t.depth = a), + t.sourceLinks.forEach(function (t) { + i.indexOf(t.target) < 0 && i.push(t.target); + }); + }); + for ( + n = e.nodes, i = [], a = 0; + n.length; + ++a, n = i, i = [] + ) + n.forEach(function (t) { + (t.height = a), + t.targetLinks.forEach(function (t) { + i.indexOf(t.source) < 0 && i.push(t.source); + }); + }); + var s = (r - t - o) / (a - 1); + e.nodes.forEach(function (e) { + e.x1 = + (e.x0 = + t + + Math.max( + 0, + Math.min(a - 1, Math.floor(w.call(null, e, a))), + ) * + s) + o; + }); + } + function C(t) { + var r = (0, i.b1)() + .key(function (t) { + return t.x0; + }) + .sortKeys(n.j2) + .entries(t.nodes) + .map(function (t) { + return t.values; + }); + !(function () { + var i = (0, n.Fp)(r, function (t) { + return t.length; + }), + o = (0.6666666666666666 * (a - e)) / (i - 1); + s > o && (s = o); + var l = (0, n.VV)(r, function (t) { + return (a - e - (t.length - 1) * s) / (0, n.Sm)(t, d); + }); + r.forEach(function (t) { + t.forEach(function (t, e) { + t.y1 = (t.y0 = e) + t.value * l; + }); + }), + t.links.forEach(function (t) { + t.width = t.value * l; + }); + })(), + f(); + for (var o = 1, l = A; l > 0; --l) + c((o *= 0.99)), f(), u(o), f(); + function u(t) { + r.forEach(function (e) { + e.forEach(function (e) { + if (e.targetLinks.length) { + var r = + ((0, n.Sm)(e.targetLinks, g) / + (0, n.Sm)(e.targetLinks, d) - + v(e)) * + t; + (e.y0 += r), (e.y1 += r); + } + }); + }); + } + function c(t) { + r.slice() + .reverse() + .forEach(function (e) { + e.forEach(function (e) { + if (e.sourceLinks.length) { + var r = + ((0, n.Sm)(e.sourceLinks, y) / + (0, n.Sm)(e.sourceLinks, d) - + v(e)) * + t; + (e.y0 += r), (e.y1 += r); + } + }); + }); + } + function f() { + r.forEach(function (t) { + var r, + n, + i, + o = e, + l = t.length; + for (t.sort(p), i = 0; i < l; ++i) + (n = o - (r = t[i]).y0) > 0 && + ((r.y0 += n), (r.y1 += n)), + (o = r.y1 + s); + if ((n = o - s - a) > 0) + for ( + o = r.y0 -= n, r.y1 -= n, i = l - 2; + i >= 0; + --i + ) + (n = (r = t[i]).y1 + s - o) > 0 && + ((r.y0 -= n), (r.y1 -= n)), + (o = r.y0); + }); + } + } + function P(t) { + t.nodes.forEach(function (t) { + t.sourceLinks.sort(h), t.targetLinks.sort(f); + }), + t.nodes.forEach(function (t) { + var e = t.y0, + r = e; + t.sourceLinks.forEach(function (t) { + (t.y0 = e + t.width / 2), (e += t.width); + }), + t.targetLinks.forEach(function (t) { + (t.y1 = r + t.width / 2), (r += t.width); + }); + }); + } + return ( + (M.update = function (t) { + return P(t), t; + }), + (M.nodeId = function (t) { + return arguments.length + ? ((u = "function" == typeof t ? t : c(t)), M) + : u; + }), + (M.nodeAlign = function (t) { + return arguments.length + ? ((w = "function" == typeof t ? t : c(t)), M) + : w; + }), + (M.nodeWidth = function (t) { + return arguments.length ? ((o = +t), M) : o; + }), + (M.nodePadding = function (t) { + return arguments.length ? ((s = +t), M) : s; + }), + (M.nodes = function (t) { + return arguments.length + ? ((T = "function" == typeof t ? t : c(t)), M) + : T; + }), + (M.links = function (t) { + return arguments.length + ? ((k = "function" == typeof t ? t : c(t)), M) + : k; + }), + (M.size = function (n) { + return arguments.length + ? ((t = e = 0), (r = +n[0]), (a = +n[1]), M) + : [r - t, a - e]; + }), + (M.extent = function (n) { + return arguments.length + ? ((t = +n[0][0]), + (r = +n[1][0]), + (e = +n[0][1]), + (a = +n[1][1]), + M) + : [ + [t, e], + [r, a], + ]; + }), + (M.iterations = function (t) { + return arguments.length ? ((A = +t), M) : A; + }), + M + ); + } + var T = r(45879); + function k(t) { + return [t.source.x1, t.y0]; + } + function A(t) { + return [t.target.x0, t.y1]; + } + function M() { + return (0, T.h5)().source(k).target(A); + } + }, + 39898: function (t, e, r) { + var n, i; + (function () { + var a = { version: "3.8.0" }, + o = [].slice, + s = function (t) { + return o.call(t); + }, + l = self.document; + function u(t) { + return ( + t && + (t.ownerDocument || t.document || t).documentElement + ); + } + function c(t) { + return ( + t && + ((t.ownerDocument && t.ownerDocument.defaultView) || + (t.document && t) || + t.defaultView) + ); + } + if (l) + try { + s(l.documentElement.childNodes)[0].nodeType; + } catch (t) { + s = 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(); + }), + l) + ) + try { + l.createElement("DIV").style.setProperty( + "opacity", + 0, + "", + ); + } catch (t) { + var f = this.Element.prototype, + h = f.setAttribute, + p = f.setAttributeNS, + d = this.CSSStyleDeclaration.prototype, + v = d.setProperty; + (f.setAttribute = function (t, e) { + h.call(this, t, e + ""); + }), + (f.setAttributeNS = function (t, e, r) { + p.call(this, t, e, r + ""); + }), + (d.setProperty = function (t, e, r) { + v.call(this, t, e + "", r); + }); + } + function g(t, e) { + return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; + } + function y(t) { + return null === t ? NaN : +t; + } + function m(t) { + return !isNaN(t); + } + function x(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; + }, + }; + } + (a.ascending = g), + (a.descending = function (t, e) { + return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; + }), + (a.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; + }), + (a.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; + }), + (a.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]; + }), + (a.sum = function (t, e) { + var r, + n = 0, + i = t.length, + a = -1; + if (1 === arguments.length) + for (; ++a < i; ) m((r = +t[a])) && (n += r); + else + for (; ++a < i; ) + m((r = +e.call(t, t[a], a))) && (n += r); + return n; + }), + (a.mean = function (t, e) { + var r, + n = 0, + i = t.length, + a = -1, + o = i; + if (1 === arguments.length) + for (; ++a < i; ) m((r = y(t[a]))) ? (n += r) : --o; + else + for (; ++a < i; ) + m((r = y(e.call(t, t[a], a)))) ? (n += r) : --o; + if (o) return n / o; + }), + (a.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; + }), + (a.median = function (t, e) { + var r, + n = [], + i = t.length, + o = -1; + if (1 === arguments.length) + for (; ++o < i; ) m((r = y(t[o]))) && n.push(r); + else + for (; ++o < i; ) + m((r = y(e.call(t, t[o], o)))) && n.push(r); + if (n.length) return a.quantile(n.sort(g), 0.5); + }), + (a.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; ) + m((r = y(t[s]))) && + (o += (n = r - a) * (r - (a += n / ++l))); + else + for (; ++s < i; ) + m((r = y(e.call(t, t[s], s)))) && + (o += (n = r - a) * (r - (a += n / ++l))); + if (l > 1) return o / (l - 1); + }), + (a.deviation = function () { + var t = a.variance.apply(this, arguments); + return t ? Math.sqrt(t) : t; + }); + var b = x(g); + function _(t) { + return t.length; + } + (a.bisectLeft = b.left), + (a.bisect = a.bisectRight = b.right), + (a.bisector = function (t) { + return x( + 1 === t.length + ? function (e, r) { + return g(t(e), r); + } + : t, + ); + }), + (a.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; + }), + (a.permute = function (t, e) { + for (var r = e.length, n = new Array(r); r--; ) + n[r] = t[e[r]]; + return n; + }), + (a.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; + }), + (a.transpose = function (t) { + if (!(i = t.length)) return []; + for ( + var e = -1, r = a.min(t, _), n = new Array(r); + ++e < r; + + ) + for ( + var i, o = -1, s = (n[e] = new Array(i)); + ++o < i; + + ) + s[o] = t[o][e]; + return n; + }), + (a.zip = function () { + return a.transpose(arguments); + }), + (a.keys = function (t) { + var e = []; + for (var r in t) e.push(r); + return e; + }), + (a.values = function (t) { + var e = []; + for (var r in t) e.push(t[r]); + return e; + }), + (a.entries = function (t) { + var e = []; + for (var r in t) e.push({ key: r, value: t[r] }); + return e; + }), + (a.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 w = Math.abs; + function T(t) { + for (var e = 1; (t * e) % 1; ) e *= 10; + return e; + } + function k(t, e) { + for (var r in e) + Object.defineProperty(t.prototype, r, { + value: e[r], + enumerable: !1, + }); + } + function A() { + this._ = Object.create(null); + } + function M(t) { + return "__proto__" == (t += "") || "\0" === t[0] + ? "\0" + t + : t; + } + function S(t) { + return "\0" === (t += "")[0] ? t.slice(1) : t; + } + function E(t) { + return M(t) in this._; + } + function L(t) { + return (t = M(t)) in this._ && delete this._[t]; + } + function C() { + var t = []; + for (var e in this._) t.push(S(e)); + return t; + } + function P() { + var t = 0; + for (var e in this._) ++t; + return t; + } + function O() { + for (var t in this._) return !1; + return !0; + } + function I() { + this._ = Object.create(null); + } + function D(t) { + return t; + } + function z(t, e, r) { + return function () { + var n = r.apply(e, arguments); + return n === e ? t : n; + }; + } + function R(t, e) { + if (e in t) return e; + e = e.charAt(0).toUpperCase() + e.slice(1); + for (var r = 0, n = F.length; r < n; ++r) { + var i = F[r] + e; + if (i in t) return i; + } + } + (a.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 = T(w(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; + }), + (a.map = function (t, e) { + var r = new A(); + if (t instanceof A) + 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; + }), + k(A, { + has: E, + get: function (t) { + return this._[M(t)]; + }, + set: function (t, e) { + return (this._[M(t)] = e); + }, + remove: L, + keys: C, + 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: S(e), value: this._[e] }); + return t; + }, + size: P, + empty: O, + forEach: function (t) { + for (var e in this._) t.call(this, S(e), this._[e]); + }, + }), + (a.nest = function () { + var t, + e, + r = {}, + n = [], + i = []; + function o(i, a, s) { + if (s >= n.length) + return e ? e.call(r, a) : t ? a.sort(t) : a; + for ( + var l, + u, + c, + f, + h = -1, + p = a.length, + d = n[s++], + v = new A(); + ++h < p; + + ) + (f = v.get((l = d((u = a[h]))))) + ? f.push(u) + : v.set(l, [u]); + return ( + i + ? ((u = i()), + (c = function (t, e) { + u.set(t, o(i, e, s)); + })) + : ((u = {}), + (c = function (t, e) { + u[t] = o(i, e, s); + })), + v.forEach(c), + u + ); + } + function s(t, e) { + if (e >= n.length) return t; + var r = [], + a = i[e++]; + return ( + t.forEach(function (t, n) { + r.push({ key: t, values: s(n, e) }); + }), + a + ? r.sort(function (t, e) { + return a(t.key, e.key); + }) + : r + ); + } + return ( + (r.map = function (t, e) { + return o(e, t, 0); + }), + (r.entries = function (t) { + return s(o(a.map, t, 0), 0); + }), + (r.key = function (t) { + return n.push(t), r; + }), + (r.sortKeys = function (t) { + return (i[n.length - 1] = t), r; + }), + (r.sortValues = function (e) { + return (t = e), r; + }), + (r.rollup = function (t) { + return (e = t), r; + }), + r + ); + }), + (a.set = function (t) { + var e = new I(); + if (t) + for (var r = 0, n = t.length; r < n; ++r) e.add(t[r]); + return e; + }), + k(I, { + has: E, + add: function (t) { + return (this._[M((t += ""))] = !0), t; + }, + remove: L, + values: C, + size: P, + empty: O, + forEach: function (t) { + for (var e in this._) t.call(this, S(e)); + }, + }), + (a.behavior = {}), + (a.rebind = function (t, e) { + for (var r, n = 1, i = arguments.length; ++n < i; ) + t[(r = arguments[n])] = z(t, e, e[r]); + return t; + }); + var F = ["webkit", "ms", "moz", "Moz", "o", "O"]; + function B() {} + function N() {} + function j(t) { + var e = [], + r = new A(); + 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 U() { + a.event.preventDefault(); + } + function V() { + for (var t, e = a.event; (t = e.sourceEvent); ) e = t; + return e; + } + function H(t) { + for ( + var e = new N(), r = 0, n = arguments.length; + ++r < n; + + ) + e[arguments[r]] = j(e); + return ( + (e.of = function (r, n) { + return function (i) { + try { + var o = (i.sourceEvent = a.event); + (i.target = t), + (a.event = i), + e[i.type].apply(r, n); + } finally { + a.event = o; + } + }; + }), + e + ); + } + (a.dispatch = function () { + for ( + var t = new N(), e = -1, r = arguments.length; + ++e < r; + + ) + t[arguments[e]] = j(t); + return t; + }), + (N.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; + } + }), + (a.event = null), + (a.requote = function (t) { + return t.replace(q, "\\$&"); + }); + var q = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g, + G = {}.__proto__ + ? function (t, e) { + t.__proto__ = e; + } + : function (t, e) { + for (var r in e) t[r] = e[r]; + }; + function Z(t) { + return G(t, J), t; + } + var Y = function (t, e) { + return e.querySelector(t); + }, + W = function (t, e) { + return e.querySelectorAll(t); + }, + X = function (t, e) { + var r = t.matches || t[R(t, "matchesSelector")]; + return ( + (X = function (t, e) { + return r.call(t, e); + }), + X(t, e) + ); + }; + "function" == typeof Sizzle && + ((Y = function (t, e) { + return Sizzle(t, e)[0] || null; + }), + (W = Sizzle), + (X = Sizzle.matchesSelector)), + (a.selection = function () { + return a.select(l.documentElement); + }); + var J = (a.selection.prototype = []); + function K(t) { + return "function" == typeof t + ? t + : function () { + return Y(t, this); + }; + } + function $(t) { + return "function" == typeof t + ? t + : function () { + return W(t, this); + }; + } + (J.select = function (t) { + var e, + r, + n, + i, + a = []; + t = K(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 Z(a); + }), + (J.selectAll = function (t) { + var e, + r, + n = []; + t = $(t); + for (var i = -1, a = this.length; ++i < a; ) + for (var o = this[i], l = -1, u = o.length; ++l < u; ) + (r = o[l]) && + (n.push((e = s(t.call(r, r.__data__, l, i)))), + (e.parentNode = r)); + return Z(n); + }); + var Q = "http://www.w3.org/1999/xhtml", + tt = { + svg: "http://www.w3.org/2000/svg", + xhtml: Q, + xlink: "http://www.w3.org/1999/xlink", + xml: "http://www.w3.org/XML/1998/namespace", + xmlns: "http://www.w3.org/2000/xmlns/", + }; + function et(t, e) { + return ( + (t = a.ns.qualify(t)), + null == e + ? t.local + ? function () { + this.removeAttributeNS(t.space, t.local); + } + : function () { + this.removeAttribute(t); + } + : "function" == typeof e + ? t.local + ? function () { + var r = e.apply(this, arguments); + null == r + ? this.removeAttributeNS(t.space, t.local) + : this.setAttributeNS(t.space, t.local, r); + } + : function () { + var r = e.apply(this, arguments); + null == r + ? this.removeAttribute(t) + : this.setAttribute(t, r); + } + : t.local + ? function () { + this.setAttributeNS(t.space, t.local, e); + } + : function () { + this.setAttribute(t, e); + } + ); + } + function rt(t) { + return t.trim().replace(/\s+/g, " "); + } + function nt(t) { + return new RegExp( + "(?:^|\\s+)" + a.requote(t) + "(?:\\s+|$)", + "g", + ); + } + function it(t) { + return (t + "").trim().split(/^|\s+/); + } + function at(t, e) { + var r = (t = it(t).map(ot)).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 ot(t) { + var e = nt(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", rt(i + " " + t))) + : r.setAttribute("class", rt(i.replace(e, " "))); + }; + } + function st(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 lt(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 ut(t) { + return "function" == typeof t + ? t + : (t = a.ns.qualify(t)).local + ? function () { + return this.ownerDocument.createElementNS( + t.space, + t.local, + ); + } + : function () { + var e = this.ownerDocument, + r = this.namespaceURI; + return r === Q && + e.documentElement.namespaceURI === Q + ? e.createElement(t) + : e.createElementNS(r, t); + }; + } + function ct() { + var t = this.parentNode; + t && t.removeChild(this); + } + function ft(t) { + return { __data__: t }; + } + function ht(t) { + return function () { + return X(this, t); + }; + } + function pt(t) { + return ( + arguments.length || (t = g), + function (e, r) { + return e && r ? t(e.__data__, r.__data__) : !e - !r; + } + ); + } + function dt(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 vt(t) { + return G(t, gt), t; + } + (a.ns = { + prefix: tt, + qualify: function (t) { + var e = t.indexOf(":"), + r = t; + return ( + e >= 0 && + "xmlns" !== (r = t.slice(0, e)) && + (t = t.slice(e + 1)), + tt.hasOwnProperty(r) ? { space: tt[r], local: t } : t + ); + }, + }), + (J.attr = function (t, e) { + if (arguments.length < 2) { + if ("string" == typeof t) { + var r = this.node(); + return (t = a.ns.qualify(t)).local + ? r.getAttributeNS(t.space, t.local) + : r.getAttribute(t); + } + for (e in t) this.each(et(e, t[e])); + return this; + } + return this.each(et(t, e)); + }), + (J.classed = function (t, e) { + if (arguments.length < 2) { + if ("string" == typeof t) { + var r = this.node(), + n = (t = it(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 (!nt(t[i]).test(e)) return !1; + return !0; + } + for (e in t) this.each(at(e, t[e])); + return this; + } + return this.each(at(t, e)); + }), + (J.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(st(r, t[r], e)); + return this; + } + if (n < 2) { + var i = this.node(); + return c(i) + .getComputedStyle(i, null) + .getPropertyValue(t); + } + r = ""; + } + return this.each(st(t, e, r)); + }), + (J.property = function (t, e) { + if (arguments.length < 2) { + if ("string" == typeof t) return this.node()[t]; + for (e in t) this.each(lt(e, t[e])); + return this; + } + return this.each(lt(t, e)); + }), + (J.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; + }), + (J.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; + }), + (J.append = function (t) { + return ( + (t = ut(t)), + this.select(function () { + return this.appendChild(t.apply(this, arguments)); + }) + ); + }), + (J.insert = function (t, e) { + return ( + (t = ut(t)), + (e = K(e)), + this.select(function () { + return this.insertBefore( + t.apply(this, arguments), + e.apply(this, arguments) || null, + ); + }) + ); + }), + (J.remove = function () { + return this.each(ct); + }), + (J.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, + f = Math.min(o, c), + h = new Array(c), + p = new Array(c), + d = new Array(o); + if (e) { + var v, + g = new A(), + y = new Array(o); + for (n = -1; ++n < o; ) + (i = t[n]) && + (g.has((v = e.call(i, i.__data__, n))) + ? (d[n] = i) + : g.set(v, i), + (y[n] = v)); + for (n = -1; ++n < c; ) + (i = g.get((v = e.call(r, (a = r[n]), n)))) + ? !0 !== i && ((h[n] = i), (i.__data__ = a)) + : (p[n] = ft(a)), + g.set(v, !0); + for (n = -1; ++n < o; ) + n in y && !0 !== g.get(y[n]) && (d[n] = t[n]); + } else { + for (n = -1; ++n < f; ) + (i = t[n]), + (a = r[n]), + i + ? ((i.__data__ = a), (h[n] = i)) + : (p[n] = ft(a)); + for (; n < c; ++n) p[n] = ft(r[n]); + for (; n < o; ++n) d[n] = t[n]; + } + (p.update = h), + (p.parentNode = + h.parentNode = + d.parentNode = + t.parentNode), + s.push(p), + l.push(h), + u.push(d); + } + var s = vt([]), + l = Z([]), + u = Z([]); + 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 + ); + }), + (J.datum = function (t) { + return arguments.length + ? this.property("__data__", t) + : this.property("__data__"); + }), + (J.filter = function (t) { + var e, + r, + n, + i = []; + "function" != typeof t && (t = ht(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 Z(i); + }), + (J.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; + }), + (J.sort = function (t) { + t = pt.apply(this, arguments); + for (var e = -1, r = this.length; ++e < r; ) + this[e].sort(t); + return this.order(); + }), + (J.each = function (t) { + return dt(this, function (e, r, n) { + t.call(e, e.__data__, r, n); + }); + }), + (J.call = function (t) { + var e = s(arguments); + return t.apply((e[0] = this), e), this; + }), + (J.empty = function () { + return !this.node(); + }), + (J.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; + }), + (J.size = function () { + var t = 0; + return ( + dt(this, function () { + ++t; + }), + t + ); + }); + var gt = []; + function yt(t) { + var e, r; + return function (n, i, a) { + var o, + s = t[a].update, + l = s.length; + for ( + a != r && ((r = a), (e = 0)), i >= e && (e = i + 1); + !(o = s[e]) && ++e < l; + + ); + return o; + }; + } + function mt(t, e, r) { + var n = "__on" + t, + i = t.indexOf("."), + o = bt; + i > 0 && (t = t.slice(0, i)); + var l = xt.get(t); + function u() { + var e = this[n]; + e && + (this.removeEventListener(t, e, e.$), delete this[n]); + } + return ( + l && ((t = l), (o = _t)), + i + ? e + ? function () { + var i = o(e, s(arguments)); + u.call(this), + this.addEventListener( + t, + (this[n] = i), + (i.$ = r), + ), + (i._ = e); + } + : u + : e + ? B + : function () { + var e, + r = new RegExp( + "^__on([^.]+)" + a.requote(t) + "$", + ); + for (var n in this) + if ((e = n.match(r))) { + var i = this[n]; + this.removeEventListener(e[1], i, i.$), + delete this[n]; + } + } + ); + } + (a.selection.enter = vt), + (a.selection.enter.prototype = gt), + (gt.append = J.append), + (gt.empty = J.empty), + (gt.node = J.node), + (gt.call = J.call), + (gt.size = J.size), + (gt.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 Z(o); + }), + (gt.insert = function (t, e) { + return ( + arguments.length < 2 && (e = yt(this)), + J.insert.call(this, t, e) + ); + }), + (a.select = function (t) { + var e; + return ( + "string" == typeof t + ? ((e = [Y(t, l)]).parentNode = l.documentElement) + : ((e = [t]).parentNode = u(t)), + Z([e]) + ); + }), + (a.selectAll = function (t) { + var e; + return ( + "string" == typeof t + ? ((e = s(W(t, l))).parentNode = l.documentElement) + : ((e = s(t)).parentNode = null), + Z([e]) + ); + }), + (J.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(mt(r, t[r], e)); + return this; + } + if (n < 2) + return (n = this.node()["__on" + t]) && n._; + r = !1; + } + return this.each(mt(t, e, r)); + }); + var xt = a.map({ + mouseenter: "mouseover", + mouseleave: "mouseout", + }); + function bt(t, e) { + return function (r) { + var n = a.event; + (a.event = r), (e[0] = this.__data__); + try { + t.apply(this, e); + } finally { + a.event = n; + } + }; + } + function _t(t, e) { + var r = bt(t, e); + return function (t) { + var e = this, + n = t.relatedTarget; + (n && (n === e || 8 & n.compareDocumentPosition(e))) || + r.call(e, t); + }; + } + l && + xt.forEach(function (t) { + "on" + t in l && xt.remove(t); + }); + var wt, + Tt = 0; + function kt(t) { + var e = ".dragsuppress-" + ++Tt, + r = "click" + e, + n = a + .select(c(t)) + .on("touchmove" + e, U) + .on("dragstart" + e, U) + .on("selectstart" + e, U); + if ( + (null == wt && + (wt = + !("onselectstart" in t) && + R(t.style, "userSelect")), + wt) + ) { + var i = u(t).style, + o = i[wt]; + i[wt] = "none"; + } + return function (t) { + if ((n.on(e, null), wt && (i[wt] = o), t)) { + var a = function () { + n.on(r, null); + }; + n.on( + r, + function () { + U(), a(); + }, + !0, + ), + setTimeout(a, 0); + } + }; + } + a.mouse = function (t) { + return Mt(t, V()); + }; + var At = + this.navigator && /WebKit/.test(this.navigator.userAgent) + ? -1 + : 0; + function Mt(t, e) { + e.changedTouches && (e = e.changedTouches[0]); + var r = t.ownerSVGElement || t; + if (r.createSVGPoint) { + var n = r.createSVGPoint(); + if (At < 0) { + var i = c(t); + if (i.scrollX || i.scrollY) { + var o = (r = a + .select("body") + .append("svg") + .style( + { + position: "absolute", + top: 0, + left: 0, + margin: 0, + padding: 0, + border: "none", + }, + "important", + ))[0][0].getScreenCTM(); + (At = !(o.f || o.e)), r.remove(); + } + } + return ( + At + ? ((n.x = e.pageX), (n.y = e.pageY)) + : ((n.x = e.clientX), (n.y = e.clientY)), + [ + (n = n.matrixTransform(t.getScreenCTM().inverse())) + .x, + n.y, + ] + ); + } + var s = t.getBoundingClientRect(); + return [ + e.clientX - s.left - t.clientLeft, + e.clientY - s.top - t.clientTop, + ]; + } + function St() { + return a.event.changedTouches[0].identifier; + } + (a.touch = function (t, e, r) { + if ( + (arguments.length < 3 && + ((r = e), (e = V().changedTouches)), + e) + ) + for (var n, i = 0, a = e.length; i < a; ++i) + if ((n = e[i]).identifier === r) return Mt(t, n); + }), + (a.behavior.drag = function () { + var t = H(i, "drag", "dragstart", "dragend"), + e = null, + r = o(B, a.mouse, c, "mousemove", "mouseup"), + n = o(St, a.touch, D, "touchmove", "touchend"); + function i() { + this.on("mousedown.drag", r).on("touchstart.drag", n); + } + function o(r, n, i, o, s) { + return function () { + var l, + u = this, + c = + a.event.target.correspondingElement || + a.event.target, + f = u.parentNode, + h = t.of(u, arguments), + p = 0, + d = r(), + v = ".drag" + (null == d ? "" : "-" + d), + g = a + .select(i(c)) + .on(o + v, x) + .on(s + v, b), + y = kt(c), + m = n(f, d); + function x() { + var t, + e, + r = n(f, d); + r && + ((t = r[0] - m[0]), + (e = r[1] - m[1]), + (p |= t | e), + (m = r), + h({ + type: "drag", + x: r[0] + l[0], + y: r[1] + l[1], + dx: t, + dy: e, + })); + } + function b() { + n(f, d) && + (g.on(o + v, null).on(s + v, null), + y(p), + h({ type: "dragend" })); + } + (l = e + ? [ + (l = e.apply(u, arguments)).x - m[0], + l.y - m[1], + ] + : [0, 0]), + h({ type: "dragstart" }); + }; + } + return ( + (i.origin = function (t) { + return arguments.length ? ((e = t), i) : e; + }), + a.rebind(i, t, "on") + ); + }), + (a.touches = function (t, e) { + return ( + arguments.length < 2 && (e = V().touches), + e + ? s(e).map(function (e) { + var r = Mt(t, e); + return (r.identifier = e.identifier), r; + }) + : [] + ); + }); + var Et = 1e-6, + Lt = Math.PI, + Ct = 2 * Lt, + Pt = Ct - Et, + Ot = Lt / 2, + It = Lt / 180, + Dt = 180 / Lt; + function zt(t) { + return t > 1 ? Ot : t < -1 ? -Ot : Math.asin(t); + } + function Rt(t) { + return ((t = Math.exp(t)) + 1 / t) / 2; + } + var Ft = Math.SQRT2; + (a.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, + f = l - a, + h = c * c + f * f; + if (h < 1e-12) + (n = Math.log(u / o) / Ft), + (r = function (t) { + return [ + i + t * c, + a + t * f, + o * Math.exp(Ft * t * n), + ]; + }); + else { + var p = Math.sqrt(h), + d = (u * u - o * o + 4 * h) / (2 * o * 2 * p), + v = (u * u - o * o - 4 * h) / (2 * u * 2 * p), + g = Math.log(Math.sqrt(d * d + 1) - d), + y = Math.log(Math.sqrt(v * v + 1) - v); + (n = (y - g) / Ft), + (r = function (t) { + var e, + r = t * n, + s = Rt(g), + l = + (o / (2 * p)) * + (s * + ((e = Ft * r + g), + ((e = Math.exp(2 * e)) - 1) / (e + 1)) - + (function (t) { + return ((t = Math.exp(t)) - 1 / t) / 2; + })(g)); + return [ + i + l * c, + a + l * f, + (o * s) / Rt(Ft * r + g), + ]; + }); + } + return (r.duration = 1e3 * n), r; + }), + (a.behavior.zoom = function () { + var t, + e, + r, + n, + i, + o, + s, + u, + f, + h = { x: 0, y: 0, k: 1 }, + p = [960, 500], + d = jt, + v = 250, + g = 0, + y = "mousedown.zoom", + m = "mousemove.zoom", + x = "mouseup.zoom", + b = "touchstart.zoom", + _ = H(w, "zoomstart", "zoom", "zoomend"); + function w(t) { + t.on(y, P) + .on(Nt + ".zoom", I) + .on("dblclick.zoom", D) + .on(b, O); + } + function T(t) { + return [(t[0] - h.x) / h.k, (t[1] - h.y) / h.k]; + } + function k(t) { + h.k = Math.max(d[0], Math.min(d[1], t)); + } + function A(t, e) { + (e = (function (t) { + return [t[0] * h.k + h.x, t[1] * h.k + h.y]; + })(e)), + (h.x += t[0] - e[0]), + (h.y += t[1] - e[1]); + } + function M(t, r, n, i) { + (t.__chart__ = { x: h.x, y: h.y, k: h.k }), + k(Math.pow(2, i)), + A((e = r), n), + (t = a.select(t)), + v > 0 && (t = t.transition().duration(v)), + t.call(w.event); + } + function S() { + s && + s.domain( + o + .range() + .map(function (t) { + return (t - h.x) / h.k; + }) + .map(o.invert), + ), + f && + f.domain( + u + .range() + .map(function (t) { + return (t - h.y) / h.k; + }) + .map(u.invert), + ); + } + function E(t) { + g++ || t({ type: "zoomstart" }); + } + function L(t) { + S(), + t({ + type: "zoom", + scale: h.k, + translate: [h.x, h.y], + }); + } + function C(t) { + --g || (t({ type: "zoomend" }), (e = null)); + } + function P() { + var t = this, + e = _.of(t, arguments), + r = 0, + n = a.select(c(t)).on(m, s).on(x, l), + i = T(a.mouse(t)), + o = kt(t); + function s() { + (r = 1), A(a.mouse(t), i), L(e); + } + function l() { + n.on(m, null).on(x, null), o(r), C(e); + } + $i.call(t), E(e); + } + function O() { + var t, + e = this, + r = _.of(e, arguments), + n = {}, + o = 0, + s = ".zoom-" + a.event.changedTouches[0].identifier, + l = "touchmove" + s, + u = "touchend" + s, + c = [], + f = a.select(e), + p = kt(e); + function d() { + var r = a.touches(e); + return ( + (t = h.k), + r.forEach(function (t) { + t.identifier in n && (n[t.identifier] = T(t)); + }), + r + ); + } + function v() { + var t = a.event.target; + a.select(t).on(l, g).on(u, m), c.push(t); + for ( + var r = a.event.changedTouches, + s = 0, + f = r.length; + s < f; + ++s + ) + n[r[s].identifier] = null; + var p = d(), + v = Date.now(); + if (1 === p.length) { + if (v - i < 500) { + var y = p[0]; + M( + e, + y, + n[y.identifier], + Math.floor(Math.log(h.k) / Math.LN2) + 1, + ), + U(); + } + i = v; + } else if (p.length > 1) { + y = p[0]; + var x = p[1], + b = y[0] - x[0], + _ = y[1] - x[1]; + o = b * b + _ * _; + } + } + function g() { + var s, + l, + u, + c, + f = a.touches(e); + $i.call(e); + for (var h = 0, p = f.length; h < p; ++h, c = null) + if (((u = f[h]), (c = n[u.identifier]))) { + if (l) break; + (s = u), (l = c); + } + if (c) { + var d = + (d = u[0] - s[0]) * d + (d = u[1] - s[1]) * d, + v = o && Math.sqrt(d / o); + (s = [(s[0] + u[0]) / 2, (s[1] + u[1]) / 2]), + (l = [(l[0] + c[0]) / 2, (l[1] + c[1]) / 2]), + k(v * t); + } + (i = null), A(s, l), L(r); + } + function m() { + if (a.event.touches.length) { + for ( + var t = a.event.changedTouches, + e = 0, + i = t.length; + e < i; + ++e + ) + delete n[t[e].identifier]; + for (var o in n) return void d(); + } + a.selectAll(c).on(s, null), + f.on(y, P).on(b, O), + p(), + C(r); + } + v(), E(r), f.on(y, null).on(b, v); + } + function I() { + var i = _.of(this, arguments); + n + ? clearTimeout(n) + : ($i.call(this), + (t = T((e = r || a.mouse(this)))), + E(i)), + (n = setTimeout(function () { + (n = null), C(i); + }, 50)), + U(), + k(Math.pow(2, 0.002 * Bt()) * h.k), + A(e, t), + L(i); + } + function D() { + var t = a.mouse(this), + e = Math.log(h.k) / Math.LN2; + M( + this, + t, + T(t), + a.event.shiftKey + ? Math.ceil(e) - 1 + : Math.floor(e) + 1, + ); + } + return ( + Nt || + (Nt = + "onwheel" in l + ? ((Bt = function () { + return ( + -a.event.deltaY * + (a.event.deltaMode ? 120 : 1) + ); + }), + "wheel") + : "onmousewheel" in l + ? ((Bt = function () { + return a.event.wheelDelta; + }), + "mousewheel") + : ((Bt = function () { + return -a.event.detail; + }), + "MozMousePixelScroll")), + (w.event = function (t) { + t.each(function () { + var t = _.of(this, arguments), + r = h; + ea + ? a + .select(this) + .transition() + .each("start.zoom", function () { + (h = this.__chart__ || { + x: 0, + y: 0, + k: 1, + }), + E(t); + }) + .tween("zoom:zoom", function () { + var n = p[0], + i = p[1], + o = e ? e[0] : n / 2, + s = e ? e[1] : i / 2, + l = a.interpolateZoom( + [ + (o - h.x) / h.k, + (s - h.y) / h.k, + n / h.k, + ], + [ + (o - r.x) / r.k, + (s - r.y) / r.k, + n / r.k, + ], + ); + return function (e) { + var r = l(e), + i = n / r[2]; + (this.__chart__ = h = + { + x: o - r[0] * i, + y: s - r[1] * i, + k: i, + }), + L(t); + }; + }) + .each("interrupt.zoom", function () { + C(t); + }) + .each("end.zoom", function () { + C(t); + }) + : ((this.__chart__ = h), E(t), L(t), C(t)); + }); + }), + (w.translate = function (t) { + return arguments.length + ? ((h = { x: +t[0], y: +t[1], k: h.k }), S(), w) + : [h.x, h.y]; + }), + (w.scale = function (t) { + return arguments.length + ? ((h = { x: h.x, y: h.y, k: null }), + k(+t), + S(), + w) + : h.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 + ? ((r = t && [+t[0], +t[1]]), w) + : r; + }), + (w.size = function (t) { + return arguments.length + ? ((p = t && [+t[0], +t[1]]), w) + : p; + }), + (w.duration = function (t) { + return arguments.length ? ((v = +t), w) : v; + }), + (w.x = function (t) { + return arguments.length + ? ((s = t), + (o = t.copy()), + (h = { x: 0, y: 0, k: 1 }), + w) + : s; + }), + (w.y = function (t) { + return arguments.length + ? ((f = t), + (u = t.copy()), + (h = { x: 0, y: 0, k: 1 }), + w) + : f; + }), + a.rebind(w, _, "on") + ); + }); + var Bt, + Nt, + jt = [0, 1 / 0]; + function Ut() {} + function Vt(t, e, r) { + return this instanceof Vt + ? ((this.h = +t), (this.s = +e), void (this.l = +r)) + : arguments.length < 2 + ? t instanceof Vt + ? new Vt(t.h, t.s, t.l) + : ue("" + t, ce, Vt) + : new Vt(t, e, r); + } + (a.color = Ut), + (Ut.prototype.toString = function () { + return this.rgb() + ""; + }), + (a.hsl = Vt); + var Ht = (Vt.prototype = new Ut()); + function qt(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) || e < 0 ? 0 : e > 1 ? 1 : e), + (n = + 2 * (r = r < 0 ? 0 : r > 1 ? 1 : r) - + (i = r <= 0.5 ? r * (1 + e) : r + e - r * e)), + new ie(a(t + 120), a(t), a(t - 120)) + ); + } + function Gt(t, e, r) { + return this instanceof Gt + ? ((this.h = +t), (this.c = +e), void (this.l = +r)) + : arguments.length < 2 + ? t instanceof Gt + ? new Gt(t.h, t.c, t.l) + : te( + t instanceof Wt + ? t.l + : (t = fe((t = a.rgb(t)).r, t.g, t.b)).l, + t.a, + t.b, + ) + : new Gt(t, e, r); + } + (Ht.brighter = function (t) { + return ( + (t = Math.pow(0.7, arguments.length ? t : 1)), + new Vt(this.h, this.s, this.l / t) + ); + }), + (Ht.darker = function (t) { + return ( + (t = Math.pow(0.7, arguments.length ? t : 1)), + new Vt(this.h, this.s, t * this.l) + ); + }), + (Ht.rgb = function () { + return qt(this.h, this.s, this.l); + }), + (a.hcl = Gt); + var Zt = (Gt.prototype = new Ut()); + function Yt(t, e, r) { + return ( + isNaN(t) && (t = 0), + isNaN(e) && (e = 0), + new Wt(r, Math.cos((t *= It)) * e, Math.sin(t) * e) + ); + } + function Wt(t, e, r) { + return this instanceof Wt + ? ((this.l = +t), (this.a = +e), void (this.b = +r)) + : arguments.length < 2 + ? t instanceof Wt + ? new Wt(t.l, t.a, t.b) + : t instanceof Gt + ? Yt(t.h, t.c, t.l) + : fe((t = ie(t)).r, t.g, t.b) + : new Wt(t, e, r); + } + (Zt.brighter = function (t) { + return new Gt( + this.h, + this.c, + Math.min(100, this.l + Xt * (arguments.length ? t : 1)), + ); + }), + (Zt.darker = function (t) { + return new Gt( + this.h, + this.c, + Math.max(0, this.l - Xt * (arguments.length ? t : 1)), + ); + }), + (Zt.rgb = function () { + return Yt(this.h, this.c, this.l).rgb(); + }), + (a.lab = Wt); + var Xt = 18, + Jt = 0.95047, + Kt = 1.08883, + $t = (Wt.prototype = new Ut()); + function Qt(t, e, r) { + var n = (t + 16) / 116, + i = n + e / 500, + a = n - r / 200; + return new ie( + ne( + 3.2404542 * (i = ee(i) * Jt) - + 1.5371385 * (n = 1 * ee(n)) - + 0.4985314 * (a = ee(a) * Kt), + ), + ne(-0.969266 * i + 1.8760108 * n + 0.041556 * a), + ne(0.0556434 * i - 0.2040259 * n + 1.0572252 * a), + ); + } + function te(t, e, r) { + return t > 0 + ? new Gt( + Math.atan2(r, e) * Dt, + Math.sqrt(e * e + r * r), + t, + ) + : new Gt(NaN, NaN, t); + } + function ee(t) { + return t > 0.206893034 + ? t * t * t + : (t - 4 / 29) / 7.787037; + } + function re(t) { + return t > 0.008856 + ? Math.pow(t, 1 / 3) + : 7.787037 * t + 4 / 29; + } + function ne(t) { + return Math.round( + 255 * + (t <= 0.00304 + ? 12.92 * t + : 1.055 * Math.pow(t, 1 / 2.4) - 0.055), + ); + } + function ie(t, e, r) { + return this instanceof ie + ? ((this.r = ~~t), (this.g = ~~e), void (this.b = ~~r)) + : arguments.length < 2 + ? t instanceof ie + ? new ie(t.r, t.g, t.b) + : ue("" + t, ie, qt) + : new ie(t, e, r); + } + function ae(t) { + return new ie(t >> 16, (t >> 8) & 255, 255 & t); + } + function oe(t) { + return ae(t) + ""; + } + ($t.brighter = function (t) { + return new Wt( + Math.min(100, this.l + Xt * (arguments.length ? t : 1)), + this.a, + this.b, + ); + }), + ($t.darker = function (t) { + return new Wt( + Math.max(0, this.l - Xt * (arguments.length ? t : 1)), + this.a, + this.b, + ); + }), + ($t.rgb = function () { + return Qt(this.l, this.a, this.b); + }), + (a.rgb = ie); + var se = (ie.prototype = new Ut()); + function le(t) { + return t < 16 + ? "0" + Math.max(0, t).toString(16) + : Math.min(255, t).toString(16); + } + function ue(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(pe(i[0]), pe(i[1]), pe(i[2])); + } + return (a = de.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 ce(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 < 0.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 Vt(n, i, l) + ); + } + function fe(t, e, r) { + var n = re( + (0.4124564 * (t = he(t)) + + 0.3575761 * (e = he(e)) + + 0.1804375 * (r = he(r))) / + Jt, + ), + i = re( + (0.2126729 * t + 0.7151522 * e + 0.072175 * r) / 1, + ); + return Wt( + 116 * i - 16, + 500 * (n - i), + 200 * + (i - + re( + (0.0193339 * t + 0.119192 * e + 0.9503041 * r) / + Kt, + )), + ); + } + function he(t) { + return (t /= 255) <= 0.04045 + ? t / 12.92 + : Math.pow((t + 0.055) / 1.055, 2.4); + } + function pe(t) { + var e = parseFloat(t); + return "%" === t.charAt(t.length - 1) + ? Math.round(2.55 * e) + : e; + } + (se.brighter = function (t) { + t = Math.pow(0.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 ie( + Math.min(255, e / t), + Math.min(255, r / t), + Math.min(255, n / t), + )) + : new ie(i, i, i); + }), + (se.darker = function (t) { + return new ie( + (t = Math.pow(0.7, arguments.length ? t : 1)) * + this.r, + t * this.g, + t * this.b, + ); + }), + (se.hsl = function () { + return ce(this.r, this.g, this.b); + }), + (se.toString = function () { + return "#" + le(this.r) + le(this.g) + le(this.b); + }); + var de = a.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 ge(t) { + return function (e, r, n) { + return ( + 2 === arguments.length && + "function" == typeof r && + ((n = r), (r = null)), + ye(e, r, t, n) + ); + }; + } + function ye(t, e, r, n) { + var i = {}, + o = a.dispatch( + "beforesend", + "progress", + "load", + "error", + ), + l = {}, + u = new XMLHttpRequest(), + c = null; + function f() { + 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 = r.call(i, u); + } catch (t) { + return void o.error.call(i, t); + } + o.load.call(i, t); + } else o.error.call(i, u); + } + return ( + self.XDomainRequest && + !("withCredentials" in u) && + /^(http(s)?:)?\/\//.test(t) && + (u = new XDomainRequest()), + "onload" in u + ? (u.onload = u.onerror = f) + : (u.onreadystatechange = function () { + u.readyState > 3 && f(); + }), + (u.onprogress = function (t) { + var e = a.event; + a.event = t; + try { + o.progress.call(i, u); + } finally { + a.event = e; + } + }), + (i.header = function (t, e) { + return ( + (t = (t + "").toLowerCase()), + arguments.length < 2 + ? l[t] + : (null == e ? delete l[t] : (l[t] = e + ""), i) + ); + }), + (i.mimeType = function (t) { + return arguments.length + ? ((e = null == t ? null : t + ""), i) + : e; + }), + (i.responseType = function (t) { + return arguments.length ? ((c = t), i) : c; + }), + (i.response = function (t) { + return (r = t), i; + }), + ["get", "post"].forEach(function (t) { + i[t] = function () { + return i.send.apply(i, [t].concat(s(arguments))); + }; + }), + (i.send = function (r, n, a) { + if ( + (2 === arguments.length && + "function" == typeof n && + ((a = n), (n = null)), + u.open(r, t, !0), + null == e || + "accept" in l || + (l.accept = e + ",*/*"), + u.setRequestHeader) + ) + for (var s in l) u.setRequestHeader(s, l[s]); + return ( + null != e && + u.overrideMimeType && + u.overrideMimeType(e), + null != c && (u.responseType = c), + null != a && + i.on("error", a).on("load", function (t) { + a(null, t); + }), + o.beforesend.call(i, u), + u.send(null == n ? null : n), + i + ); + }), + (i.abort = function () { + return u.abort(), i; + }), + a.rebind(i, o, "on"), + null == n + ? i + : i.get( + (function (t) { + return 1 === t.length + ? function (e, r) { + t(null == e ? r : null); + } + : t; + })(n), + ) + ); + } + de.forEach(function (t, e) { + de.set(t, ae(e)); + }), + (a.functor = ve), + (a.xhr = ge(D)), + (a.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 = function (e) { + for ( + var r = {}, n = t.length, i = 0; + i < n; + ++i + ) + r[t[i]] = e[i]; + return r; + }; + 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 f() { + 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 = f()) !== o; ) { + for (var h = []; r !== a && r !== o; ) + h.push(r), (r = f()); + (e && null == (h = e(h, c++))) || s.push(h); + } + return s; + }), + (i.format = function (e) { + if (Array.isArray(e[0])) return i.formatRows(e); + var r = new I(), + 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 + ); + }), + (a.csv = a.dsv(",", "text/csv")), + (a.tsv = a.dsv("\t", "text/tab-separated-values")); + var me, + xe, + be, + _e, + we = + this[R(this, "requestAnimationFrame")] || + function (t) { + setTimeout(t, 17); + }; + function Te(t, e, r) { + var n = arguments.length; + n < 2 && (e = 0), n < 3 && (r = Date.now()); + var i = r + e, + a = { c: t, t: i, n: null }; + return ( + xe ? (xe.n = a) : (me = a), + (xe = a), + be || ((_e = clearTimeout(_e)), (be = 1), we(ke)), + a + ); + } + function ke() { + var t = Ae(), + e = Me() - t; + e > 24 + ? (isFinite(e) && + (clearTimeout(_e), (_e = setTimeout(ke, e))), + (be = 0)) + : ((be = 1), we(ke)); + } + function Ae() { + for (var t = Date.now(), e = me; e; ) + t >= e.t && e.c(t - e.t) && (e.c = null), (e = e.n); + return t; + } + function Me() { + for (var t, e = me, r = 1 / 0; e; ) + e.c + ? (e.t < r && (r = e.t), (e = (t = e).n)) + : (e = t ? (t.n = e.n) : (me = e.n)); + return (xe = t), r; + } + function Se(t) { + return t[0]; + } + function Ee(t) { + return t[1]; + } + function Le(t) { + for ( + var e, r, n, i = t.length, a = [0, 1], o = 2, s = 2; + s < i; + s++ + ) { + for ( + ; + o > 1 && + ((e = t[a[o - 2]]), + (r = t[a[o - 1]]), + (n = t[s]), + (r[0] - e[0]) * (n[1] - e[1]) - + (r[1] - e[1]) * (n[0] - e[0]) <= + 0); + + ) + --o; + a[o++] = s; + } + return a.slice(0, o); + } + function Ce(t, e) { + return t[0] - e[0] || t[1] - e[1]; + } + (a.timer = function () { + Te.apply(this, arguments); + }), + (a.timer.flush = function () { + Ae(), Me(); + }), + (a.round = function (t, e) { + return e + ? Math.round(t * (e = Math.pow(10, e))) / e + : Math.round(t); + }), + (a.geom = {}), + (a.geom.hull = function (t) { + var e = Se, + r = Ee; + 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(Ce), n = 0; n < o; n++) + l.push([s[n][0], -s[n][1]]); + var u = Le(s), + c = Le(l), + f = c[0] === u[0], + h = 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 = +f; n < c.length - h; ++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 + ); + }), + (a.geom.polygon = function (t) { + return G(t, Pe), t; + }); + var Pe = (a.geom.polygon.prototype = []); + function Oe(t, e, r) { + return ( + (r[0] - e[0]) * (t[1] - e[1]) < + (r[1] - e[1]) * (t[0] - e[0]) + ); + } + function Ie(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, + f = n[1] - u, + h = (s * (l - u) - f * (i - a)) / (f * o - s * c); + return [i + h * o, l + h * c]; + } + function De(t) { + var e = t[0], + r = t[t.length - 1]; + return !(e[0] - r[0] || e[1] - r[1]); + } + (Pe.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 0.5 * i; + }), + (Pe.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]; + }), + (Pe.clip = function (t) { + for ( + var e, + r, + n, + i, + a, + o, + s = De(t), + l = -1, + u = this.length - De(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; + + ) + Oe((o = e[r]), c, i) + ? (Oe(a, c, i) || t.push(Ie(a, o, c, i)), + t.push(o)) + : Oe(a, c, i) && t.push(Ie(a, o, c, i)), + (a = o); + s && t.push(t[0]), (c = i); + } + return t; + }); + var ze, + Re, + Fe, + Be, + Ne, + je = [], + Ue = []; + function Ve() { + or(this), (this.edge = this.site = this.circle = null); + } + function He(t) { + var e = je.pop() || new Ve(); + return (e.site = t), e; + } + function qe(t) { + Qe(t), Fe.remove(t), je.push(t), or(t); + } + function Ge(t) { + var e = t.circle, + r = e.x, + n = e.cy, + i = { x: r, y: n }, + a = t.P, + o = t.N, + s = [t]; + qe(t); + for ( + var l = a; + l.circle && + w(r - l.circle.x) < Et && + w(n - l.circle.cy) < Et; + + ) + (a = l.P), s.unshift(l), qe(l), (l = a); + s.unshift(l), Qe(l); + for ( + var u = o; + u.circle && + w(r - u.circle.x) < Et && + w(n - u.circle.cy) < Et; + + ) + (o = u.N), s.push(u), qe(u), (u = o); + s.push(u), Qe(u); + var c, + f = s.length; + for (c = 1; c < f; ++c) + (u = s[c]), + (l = s[c - 1]), + nr(u.edge, l.site, u.site, i); + (l = s[0]), + ((u = s[f - 1]).edge = rr(l.site, u.site, null, i)), + $e(l), + $e(u); + } + function Ze(t) { + for (var e, r, n, i, a = t.x, o = t.y, s = Fe._; s; ) + if ((n = Ye(s, o) - a) > Et) s = s.L; + else { + if (!((i = a - We(s, o)) > Et)) { + n > -Et + ? ((e = s.P), (r = s)) + : i > -Et + ? ((e = s), (r = s.N)) + : (e = r = s); + break; + } + if (!s.R) { + e = s; + break; + } + s = s.R; + } + var l = He(t); + if ((Fe.insert(e, l), e || r)) { + if (e === r) + return ( + Qe(e), + (r = He(e.site)), + Fe.insert(l, r), + (l.edge = r.edge = rr(e.site, l.site)), + $e(e), + void $e(r) + ); + if (r) { + Qe(e), Qe(r); + var u = e.site, + c = u.x, + f = u.y, + h = t.x - c, + p = t.y - f, + d = r.site, + v = d.x - c, + g = d.y - f, + y = 2 * (h * g - p * v), + m = h * h + p * p, + x = v * v + g * g, + b = { + x: (g * m - p * x) / y + c, + y: (h * x - v * m) / y + f, + }; + nr(r.edge, u, d, b), + (l.edge = rr(u, t, null, b)), + (r.edge = rr(t, d, null, b)), + $e(e), + $e(r); + } else l.edge = rr(e.site, l.site); + } + } + function Ye(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, + f = 1 / a - 1 / u, + h = c / u; + return f + ? (-h + + Math.sqrt( + h * h - + 2 * + f * + ((c * c) / (-2 * u) - l + u / 2 + i - a / 2), + )) / + f + + n + : (n + s) / 2; + } + function We(t, e) { + var r = t.N; + if (r) return Ye(r, e); + var n = t.site; + return n.y === e ? n.x : 1 / 0; + } + function Xe(t) { + (this.site = t), (this.edges = []); + } + function Je(t, e) { + return e.angle - t.angle; + } + function Ke() { + or(this), + (this.x = + this.y = + this.arc = + this.site = + this.cy = + null); + } + function $e(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, + f = 2 * (l * (g = a.y - s) - u * c); + if (!(f >= -1e-12)) { + var h = l * l + u * u, + p = c * c + g * g, + d = (g * h - u * p) / f, + v = (l * p - c * h) / f, + g = v + s, + y = Ue.pop() || new Ke(); + (y.arc = t), + (y.site = i), + (y.x = d + o), + (y.y = g + Math.sqrt(d * d + v * v)), + (y.cy = g), + (t.circle = y); + for (var m = null, x = Ne._; x; ) + if (y.y < x.y || (y.y === x.y && y.x <= x.x)) { + if (!x.L) { + m = x.P; + break; + } + x = x.L; + } else { + if (!x.R) { + m = x; + break; + } + x = x.R; + } + Ne.insert(m, y), m || (Be = y); + } + } + } + } + function Qe(t) { + var e = t.circle; + e && + (e.P || (Be = e.N), + Ne.remove(e), + Ue.push(e), + or(e), + (t.circle = null)); + } + function tr(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, + f = t.r, + h = c.x, + p = c.y, + d = f.x, + v = f.y, + g = (h + d) / 2, + y = (p + v) / 2; + if (v === p) { + if (g < o || g >= s) return; + if (h > d) { + if (a) { + if (a.y >= u) return; + } else a = { x: g, y: l }; + r = { x: g, y: u }; + } else { + if (a) { + if (a.y < l) return; + } else a = { x: g, y: u }; + r = { x: g, y: l }; + } + } else if ( + ((i = y - (n = (h - d) / (v - p)) * g), n < -1 || n > 1) + ) + if (h > 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 < v) { + 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 er(t, e) { + (this.l = t), (this.r = e), (this.a = this.b = null); + } + function rr(t, e, r, n) { + var i = new er(t, e); + return ( + ze.push(i), + r && nr(i, t, e, r), + n && nr(i, e, t, n), + Re[t.i].edges.push(new ir(i, t, e)), + Re[e.i].edges.push(new ir(i, e, t)), + i + ); + } + function nr(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 ir(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 ar() { + this._ = null; + } + function or(t) { + t.U = t.C = t.L = t.R = t.P = t.N = null; + } + function sr(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 lr(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 ur(t) { + for (; t.L; ) t = t.L; + return t; + } + function cr(t, e) { + var r, + n, + i, + a = t.sort(fr).pop(); + for ( + ze = [], + Re = new Array(t.length), + Fe = new ar(), + Ne = new ar(); + ; + + ) + if ( + ((i = Be), + a && (!i || a.y < i.y || (a.y === i.y && a.x < i.x))) + ) + (a.x === r && a.y === n) || + ((Re[a.i] = new Xe(a)), + Ze(a), + (r = a.x), + (n = a.y)), + (a = t.pop()); + else { + if (!i) break; + Ge(i.arc); + } + e && + ((function (t) { + for ( + var e, + r, + n, + i, + a, + o = ze, + s = + ((r = t[0][0]), + (n = t[0][1]), + (i = t[1][0]), + (a = t[1][1]), + function (t) { + var e, + o = t.a, + s = t.b, + l = o.x, + u = o.y, + c = 0, + f = 1, + h = s.x - l, + p = s.y - u; + if (((e = r - l), h || !(e > 0))) { + if (((e /= h), h < 0)) { + if (e < c) return; + e < f && (f = e); + } else if (h > 0) { + if (e > f) return; + e > c && (c = e); + } + if (((e = i - l), h || !(e < 0))) { + if (((e /= h), h < 0)) { + if (e > f) return; + e > c && (c = e); + } else if (h > 0) { + if (e < c) return; + e < f && (f = e); + } + if (((e = n - u), p || !(e > 0))) { + if (((e /= p), p < 0)) { + if (e < c) return; + e < f && (f = e); + } else if (p > 0) { + if (e > f) return; + e > c && (c = e); + } + if (((e = a - u), p || !(e < 0))) { + if (((e /= p), p < 0)) { + if (e > f) return; + e > c && (c = e); + } else if (p > 0) { + if (e < c) return; + e < f && (f = e); + } + return ( + c > 0 && + (t.a = { + x: l + c * h, + y: u + c * p, + }), + f < 1 && + (t.b = { + x: l + f * h, + y: u + f * p, + }), + t + ); + } + } + } + } + }), + l = o.length; + l--; + + ) + (!tr((e = o[l]), t) || + !s(e) || + (w(e.a.x - e.b.x) < Et && + w(e.a.y - e.b.y) < Et)) && + ((e.a = e.b = null), o.splice(l, 1)); + })(e), + (function (t) { + for ( + var e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f = t[0][0], + h = t[1][0], + p = t[0][1], + d = t[1][1], + v = Re, + g = v.length; + g--; + + ) + if ((a = v[g]) && 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), + (w(n - e) > Et || w(i - r) > Et) && + (s.splice( + o, + 0, + new ir( + ((y = a.site), + (m = c), + (x = + w(n - f) < Et && d - i > Et + ? { x: f, y: w(e - f) < Et ? r : d } + : w(i - d) < Et && h - n > Et + ? { x: w(r - d) < Et ? e : h, y: d } + : w(n - h) < Et && i - p > Et + ? { x: h, y: w(e - h) < Et ? r : p } + : w(i - p) < Et && n - f > Et + ? { x: w(r - p) < Et ? e : f, y: p } + : null), + (b = void 0), + ((b = new er(y, null)).a = m), + (b.b = x), + ze.push(b), + b), + a.site, + null, + ), + ), + ++l); + var y, m, x, b; + })(e)); + var o = { cells: Re, edges: ze }; + return (Fe = Ne = ze = Re = null), o; + } + function fr(t, e) { + return e.y - t.y || e.x - t.x; + } + (Xe.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(Je), e.length; + }), + (ir.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; + }, + }), + (ar.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 = ur(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 && (sr(this, r), (r = (t = r).U)), + (r.C = !1), + (n.C = !0), + lr(this, n)) + : (i = n.L) && i.C + ? ((r.C = i.C = !1), (n.C = !0), (t = n)) + : (t === r.L && (lr(this, r), (r = (t = r).U)), + (r.C = !1), + (n.C = !0), + sr(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 ? ur(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), + sr(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), + lr(this, e), + (e = i.R)), + (e.C = i.C), + (i.C = e.R.C = !1), + sr(this, i), + (t = this._); + break; + } + } else if ( + ((e = i.L).C && + ((e.C = !1), + (i.C = !0), + lr(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), + sr(this, e), + (e = i.L)), + (e.C = i.C), + (i.C = e.L.C = !1), + lr(this, i), + (t = this._); + break; + } + (e.C = !0), (t = i), (i = i.U); + } while (!t.C); + t && (t.C = !1); + } + }, + }), + (a.geom.voronoi = function (t) { + var e = Se, + r = Ee, + n = e, + i = r, + a = hr; + 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 ( + cr(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) / Et) * Et, + y: Math.round(i(t, e) / Et) * Et, + i: e, + }; + }); + } + return ( + (o.links = function (t) { + return cr(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 ( + cr(s(t)).cells.forEach(function (r, n) { + for ( + var i, + a, + o, + s, + l = r.site, + u = r.edges.sort(Je), + c = -1, + f = u.length, + h = u[f - 1].edge, + p = h.l === l ? h.r : h.l; + ++c < f; + + ) + (i = p), + (p = (h = u[c].edge).l === l ? h.r : h.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 ? hr : t), o) + : a === hr + ? null + : a; + }), + (o.size = function (t) { + return arguments.length + ? o.clipExtent(t && [[0, 0], t]) + : a === hr + ? null + : a && a[1]; + }), + o + ); + }); + var hr = [ + [-1e6, -1e6], + [1e6, 1e6], + ]; + function pr(t) { + return t.x; + } + function dr(t) { + return t.y; + } + function vr(t, e, r, n, i, a) { + if (!t(e, r, n, i, a)) { + var o = 0.5 * (r + i), + s = 0.5 * (n + a), + l = e.nodes; + l[0] && vr(t, l[0], r, n, o, s), + l[1] && vr(t, l[1], o, n, i, s), + l[2] && vr(t, l[2], r, s, o, a), + l[3] && vr(t, l[3], o, s, i, a); + } + } + function gr(t, e, r, n, i, a, o) { + var s, + l = 1 / 0; + return ( + (function t(u, c, f, h, p) { + if (!(c > a || f > o || h < n || p < i)) { + if ((d = u.point)) { + var d, + v = e - u.x, + g = r - u.y, + y = v * v + g * g; + if (y < l) { + var m = Math.sqrt((l = y)); + (n = e - m), + (i = r - m), + (a = e + m), + (o = r + m), + (s = d); + } + } + for ( + var x = u.nodes, + b = 0.5 * (c + h), + _ = 0.5 * (f + p), + w = ((r >= _) << 1) | (e >= b), + T = w + 4; + w < T; + ++w + ) + if ((u = x[3 & w])) + switch (3 & w) { + case 0: + t(u, c, f, b, _); + break; + case 1: + t(u, b, f, h, _); + break; + case 2: + t(u, c, _, b, p); + break; + case 3: + t(u, b, _, h, p); + } + } + })(t, n, i, a, o), + s + ); + } + function yr(t, e) { + (t = a.rgb(t)), (e = a.rgb(e)); + var r = t.r, + n = t.g, + i = t.b, + o = e.r - r, + s = e.g - n, + l = e.b - i; + return function (t) { + return ( + "#" + + le(Math.round(r + o * t)) + + le(Math.round(n + s * t)) + + le(Math.round(i + l * t)) + ); + }; + } + function mr(t, e) { + var r, + n = {}, + i = {}; + for (r in t) + r in e ? (n[r] = Tr(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 xr(t, e) { + return ( + (t = +t), + (e = +e), + function (r) { + return t * (1 - r) + e * r; + } + ); + } + function br(t, e) { + var r, + n, + i, + a = (_r.lastIndex = wr.lastIndex = 0), + o = -1, + s = [], + l = []; + for ( + t += "", e += ""; + (r = _r.exec(t)) && (n = wr.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: xr(r, n) })), + (a = wr.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(""); + }) + ); + } + (a.geom.delaunay = function (t) { + return a.geom.voronoi().triangles(t); + }), + (a.geom.quadtree = function (t, e, r, n, i) { + var a, + o = Se, + s = Ee; + if ((a = arguments.length)) + return ( + (o = pr), + (s = dr), + 3 === a && ((i = r), (n = e), (r = e = 0)), + l(t) + ); + function l(t) { + var l, + u, + c, + f, + h, + p, + d, + v, + g, + y = ve(o), + m = ve(s); + if (null != e) (p = e), (d = r), (v = n), (g = i); + else if ( + ((v = g = -(p = d = 1 / 0)), + (u = []), + (c = []), + (h = t.length), + a) + ) + for (f = 0; f < h; ++f) + (l = t[f]).x < p && (p = l.x), + l.y < d && (d = l.y), + l.x > v && (v = l.x), + l.y > g && (g = l.y), + u.push(l.x), + c.push(l.y); + else + for (f = 0; f < h; ++f) { + var x = +y((l = t[f]), f), + b = +m(l, f); + x < p && (p = x), + b < d && (d = b), + x > v && (v = x), + b > g && (g = b), + u.push(x), + c.push(b); + } + var _ = v - p, + T = g - d; + function k(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 (w(l - r) + w(u - n) < 0.01) + A(t, e, r, n, i, a, o, s); + else { + var c = t.point; + (t.x = t.y = t.point = null), + A(t, c, l, u, i, a, o, s), + A(t, e, r, n, i, a, o, s); + } + else (t.x = r), (t.y = n), (t.point = e); + } else A(t, e, r, n, i, a, o, s); + } + function A(t, e, r, n, i, a, o, s) { + var l = 0.5 * (i + o), + u = 0.5 * (a + s), + c = r >= l, + f = n >= u, + h = (f << 1) | c; + (t.leaf = !1), + c ? (i = l) : (o = l), + f ? (a = u) : (s = u), + k( + (t = + t.nodes[h] || + (t.nodes[h] = { + leaf: !0, + nodes: [], + point: null, + x: null, + y: null, + })), + e, + r, + n, + i, + a, + o, + s, + ); + } + _ > T ? (g = d + _) : (v = p + T); + var M = { + leaf: !0, + nodes: [], + point: null, + x: null, + y: null, + add: function (t) { + k(M, t, +y(t, ++f), +m(t, f), p, d, v, g); + }, + visit: function (t) { + vr(t, M, p, d, v, g); + }, + find: function (t) { + return gr(M, t[0], t[1], p, d, v, g); + }, + }; + if (((f = -1), null == e)) { + for (; ++f < h; ) + k(M, t[f], u[f], c[f], p, d, v, g); + --f; + } else t.forEach(M.add); + return (u = c = t = l = null), M; + } + 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 + ); + }), + (a.interpolateRgb = yr), + (a.interpolateObject = mr), + (a.interpolateNumber = xr), + (a.interpolateString = br); + var _r = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, + wr = new RegExp(_r.source, "g"); + function Tr(t, e) { + for ( + var r, n = a.interpolators.length; + --n >= 0 && !(r = a.interpolators[n](t, e)); + + ); + return r; + } + function kr(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(Tr(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; + }; + } + (a.interpolate = Tr), + (a.interpolators = [ + function (t, e) { + var r = typeof e; + return ( + "string" === r + ? de.has(e.toLowerCase()) || + /^(#|rgb\(|hsl\()/i.test(e) + ? yr + : br + : e instanceof Ut + ? yr + : Array.isArray(e) + ? kr + : "object" === r && isNaN(e) + ? mr + : xr + )(t, e); + }, + ]), + (a.interpolateArray = kr); + var Ar = function () { + return D; + }, + Mr = a.map({ + linear: Ar, + poly: function (t) { + return function (e) { + return Math.pow(e, t); + }; + }, + quad: function () { + return Pr; + }, + cubic: function () { + return Or; + }, + sin: function () { + return Dr; + }, + exp: function () { + return zr; + }, + circle: function () { + return Rr; + }, + elastic: function (t, e) { + var r; + return ( + arguments.length < 2 && (e = 0.45), + arguments.length + ? (r = (e / Ct) * Math.asin(1 / t)) + : ((t = 1), (r = e / 4)), + function (n) { + return ( + 1 + + t * + Math.pow(2, -10 * n) * + Math.sin(((n - r) * Ct) / e) + ); + } + ); + }, + back: function (t) { + return ( + t || (t = 1.70158), + function (e) { + return e * e * ((t + 1) * e - t); + } + ); + }, + bounce: function () { + return Fr; + }, + }), + Sr = a.map({ + in: D, + out: Lr, + "in-out": Cr, + "out-in": function (t) { + return Cr(Lr(t)); + }, + }); + function Er(t) { + return function (e) { + return e <= 0 ? 0 : e >= 1 ? 1 : t(e); + }; + } + function Lr(t) { + return function (e) { + return 1 - t(1 - e); + }; + } + function Cr(t) { + return function (e) { + return 0.5 * (e < 0.5 ? t(2 * e) : 2 - t(2 - 2 * e)); + }; + } + function Pr(t) { + return t * t; + } + function Or(t) { + return t * t * t; + } + function Ir(t) { + if (t <= 0) return 0; + if (t >= 1) return 1; + var e = t * t, + r = e * t; + return 4 * (t < 0.5 ? r : 3 * (t - e) + r - 0.75); + } + function Dr(t) { + return 1 - Math.cos(t * Ot); + } + function zr(t) { + return Math.pow(2, 10 * (t - 1)); + } + function Rr(t) { + return 1 - Math.sqrt(1 - t * t); + } + function Fr(t) { + return t < 1 / 2.75 + ? 7.5625 * t * t + : t < 2 / 2.75 + ? 7.5625 * (t -= 1.5 / 2.75) * t + 0.75 + : t < 2.5 / 2.75 + ? 7.5625 * (t -= 2.25 / 2.75) * t + 0.9375 + : 7.5625 * (t -= 2.625 / 2.75) * t + 0.984375; + } + function Br(t, e) { + return ( + (e -= t), + function (r) { + return Math.round(t + e * r); + } + ); + } + function Nr(t) { + var e, + r, + n, + i = [t.a, t.b], + a = [t.c, t.d], + o = Ur(i), + s = jr(i, a), + l = + Ur( + (((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])) * Dt), + (this.translate = [t.e, t.f]), + (this.scale = [o, l]), + (this.skew = l ? Math.atan2(s, l) * Dt : 0); + } + function jr(t, e) { + return t[0] * e[0] + t[1] * e[1]; + } + function Ur(t) { + var e = Math.sqrt(jr(t, t)); + return e && ((t[0] /= e), (t[1] /= e)), e; + } + (a.ease = function (t) { + var e = t.indexOf("-"), + r = e >= 0 ? t.slice(0, e) : t, + n = e >= 0 ? t.slice(e + 1) : "in"; + return ( + (r = Mr.get(r) || Ar), + Er( + (n = Sr.get(n) || D)( + r.apply(null, o.call(arguments, 1)), + ), + ) + ); + }), + (a.interpolateHcl = function (t, e) { + (t = a.hcl(t)), (e = a.hcl(e)); + var r = t.h, + n = t.c, + i = t.l, + o = e.h - r, + s = e.c - n, + l = e.l - i; + return ( + isNaN(s) && ((s = 0), (n = isNaN(n) ? e.c : n)), + isNaN(o) + ? ((o = 0), (r = isNaN(r) ? e.h : r)) + : o > 180 + ? (o -= 360) + : o < -180 && (o += 360), + function (t) { + return Yt(r + o * t, n + s * t, i + l * t) + ""; + } + ); + }), + (a.interpolateHsl = function (t, e) { + (t = a.hsl(t)), (e = a.hsl(e)); + var r = t.h, + n = t.s, + i = t.l, + o = e.h - r, + s = e.s - n, + l = e.l - i; + return ( + isNaN(s) && ((s = 0), (n = isNaN(n) ? e.s : n)), + isNaN(o) + ? ((o = 0), (r = isNaN(r) ? e.h : r)) + : o > 180 + ? (o -= 360) + : o < -180 && (o += 360), + function (t) { + return qt(r + o * t, n + s * t, i + l * t) + ""; + } + ); + }), + (a.interpolateLab = function (t, e) { + (t = a.lab(t)), (e = a.lab(e)); + var r = t.l, + n = t.a, + i = t.b, + o = e.l - r, + s = e.a - n, + l = e.b - i; + return function (t) { + return Qt(r + o * t, n + s * t, i + l * t) + ""; + }; + }), + (a.interpolateRound = Br), + (a.transform = function (t) { + var e = l.createElementNS(a.ns.prefix.svg, "g"); + return (a.transform = function (t) { + if (null != t) { + e.setAttribute("transform", t); + var r = e.transform.baseVal.consolidate(); + } + return new Nr(r ? r.matrix : Vr); + })(t); + }), + (Nr.prototype.toString = function () { + return ( + "translate(" + + this.translate + + ")rotate(" + + this.rotate + + ")skewX(" + + this.skew + + ")scale(" + + this.scale + + ")" + ); + }); + var Vr = { a: 1, b: 0, c: 0, d: 1, e: 0, f: 0 }; + function Hr(t) { + return t.length ? t.pop() + "," : ""; + } + function qr(t, e) { + var r = [], + n = []; + return ( + (t = a.transform(t)), + (e = a.transform(e)), + (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: xr(t[0], e[0]) }, + { i: i - 2, x: xr(t[1], e[1]) }, + ); + } else + (e[0] || e[1]) && r.push("translate(" + e + ")"); + })(t.translate, e.translate, r, n), + (function (t, e, r, n) { + t !== e + ? (t - e > 180 + ? (e += 360) + : e - t > 180 && (t += 360), + n.push({ + i: r.push(Hr(r) + "rotate(", null, ")") - 2, + x: xr(t, e), + })) + : e && r.push(Hr(r) + "rotate(" + e + ")"); + })(t.rotate, e.rotate, r, n), + (function (t, e, r, n) { + t !== e + ? n.push({ + i: r.push(Hr(r) + "skewX(", null, ")") - 2, + x: xr(t, e), + }) + : e && r.push(Hr(r) + "skewX(" + e + ")"); + })(t.skew, e.skew, r, n), + (function (t, e, r, n) { + if (t[0] !== e[0] || t[1] !== e[1]) { + var i = r.push( + Hr(r) + "scale(", + null, + ",", + null, + ")", + ); + n.push( + { i: i - 4, x: xr(t[0], e[0]) }, + { i: i - 2, x: xr(t[1], e[1]) }, + ); + } else + (1 === e[0] && 1 === e[1]) || + r.push(Hr(r) + "scale(" + e + ")"); + })(t.scale, e.scale, r, n), + (t = e = null), + function (t) { + for (var e, i = -1, a = n.length; ++i < a; ) + r[(e = n[i]).i] = e.x(t); + return r.join(""); + } + ); + } + function Gr(t, e) { + return ( + (e = (e -= t = +t) || 1 / e), + function (r) { + return (r - t) / e; + } + ); + } + function Zr(t, e) { + return ( + (e = (e -= t = +t) || 1 / e), + function (r) { + return Math.max(0, Math.min(1, (r - t) / e)); + } + ); + } + function Yr(t) { + for ( + var e = t.source, + r = t.target, + n = (function (t, e) { + if (t === e) return t; + for ( + var r = Wr(t), + n = Wr(e), + i = r.pop(), + a = n.pop(), + o = null; + 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 Wr(t) { + for (var e = [], r = t.parent; null != r; ) + e.push(t), (t = r), (r = r.parent); + return e.push(t), e; + } + function Xr(t) { + t.fixed |= 2; + } + function Jr(t) { + t.fixed &= -7; + } + function Kr(t) { + (t.fixed |= 4), (t.px = t.x), (t.py = t.y); + } + function $r(t) { + t.fixed &= -5; + } + function Qr(t, e, r) { + var n = 0, + i = 0; + if (((t.charge = 0), !t.leaf)) + for ( + var a, o = t.nodes, s = o.length, l = -1; + ++l < s; + + ) + null != (a = o[l]) && + (Qr(a, e, r), + (t.charge += a.charge), + (n += a.charge * a.cx), + (i += a.charge * a.cy)); + if (t.point) { + t.leaf || + ((t.point.x += Math.random() - 0.5), + (t.point.y += Math.random() - 0.5)); + var u = e * r[t.point.index]; + (t.charge += t.pointCharge = u), + (n += u * t.point.x), + (i += u * t.point.y); + } + (t.cx = n / t.charge), (t.cy = i / t.charge); + } + (a.interpolateTransform = qr), + (a.layout = {}), + (a.layout.bundle = function () { + return function (t) { + for (var e = [], r = -1, n = t.length; ++r < n; ) + e.push(Yr(t[r])); + return e; + }; + }), + (a.layout.chord = function () { + var t, + e, + r, + n, + i, + o, + s, + l = {}, + u = 0; + function c() { + var l, + c, + h, + p, + d, + v = {}, + g = [], + y = a.range(n), + m = []; + for (t = [], e = [], l = 0, p = -1; ++p < n; ) { + for (c = 0, d = -1; ++d < n; ) c += r[p][d]; + g.push(c), m.push(a.range(n)), (l += c); + } + for ( + i && + y.sort(function (t, e) { + return i(g[t], g[e]); + }), + o && + m.forEach(function (t, e) { + t.sort(function (t, n) { + return o(r[e][t], r[e][n]); + }); + }), + l = (Ct - u * n) / l, + c = 0, + p = -1; + ++p < n; + + ) { + for (h = c, d = -1; ++d < n; ) { + var x = y[p], + b = m[x][d], + _ = r[x][b], + w = c, + T = (c += _ * l); + v[x + "-" + b] = { + index: x, + subindex: b, + startAngle: w, + endAngle: T, + value: _, + }; + } + (e[x] = { + index: x, + startAngle: h, + endAngle: c, + value: g[x], + }), + (c += u); + } + for (p = -1; ++p < n; ) + for (d = p - 1; ++d < n; ) { + var k = v[p + "-" + d], + A = v[d + "-" + p]; + (k.value || A.value) && + t.push( + k.value < A.value + ? { source: A, target: k } + : { source: k, target: A }, + ); + } + s && f(); + } + function f() { + t.sort(function (t, e) { + return s( + (t.source.value + t.target.value) / 2, + (e.source.value + e.target.value) / 2, + ); + }); + } + return ( + (l.matrix = function (i) { + return arguments.length + ? ((n = (r = i) && r.length), (t = e = null), l) + : r; + }), + (l.padding = function (r) { + return arguments.length + ? ((u = r), (t = e = null), l) + : u; + }), + (l.sortGroups = function (r) { + return arguments.length + ? ((i = r), (t = e = null), l) + : i; + }), + (l.sortSubgroups = function (e) { + return arguments.length + ? ((o = e), (t = null), l) + : o; + }), + (l.sortChords = function (e) { + return arguments.length + ? ((s = e), t && f(), l) + : s; + }), + (l.chords = function () { + return t || c(), t; + }), + (l.groups = function () { + return e || c(), e; + }), + l + ); + }), + (a.layout.force = function () { + var t, + e, + r, + n, + i, + o, + s = {}, + l = a.dispatch("start", "tick", "end"), + u = [1, 1], + c = 0.9, + f = tn, + h = en, + p = -30, + d = rn, + v = 0.1, + g = 0.64, + y = [], + m = []; + 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) / g < l) { + if (l < d) { + var u = e.charge / l; + (t.px -= a * u), (t.py -= o * u); + } + return !0; + } + e.point && + l && + l < d && + ((u = e.pointCharge / l), + (t.px -= a * u), + (t.py -= o * u)); + } + return !e.charge; + }; + } + function b(t) { + (t.px = a.event.x), (t.py = a.event.y), s.resume(); + } + return ( + (s.tick = function () { + if ((r *= 0.99) < 0.005) + return ( + (t = null), + l.end({ type: "end", alpha: (r = 0) }), + !0 + ); + var e, + s, + f, + h, + d, + g, + b, + _, + w, + T = y.length, + k = m.length; + for (s = 0; s < k; ++s) + (h = (f = m[s]).source), + (g = + (_ = (d = f.target).x - h.x) * _ + + (w = d.y - h.y) * w) && + ((_ *= g = + (r * i[s] * ((g = Math.sqrt(g)) - n[s])) / + g), + (w *= g), + (d.x -= + _ * + (b = + h.weight + d.weight + ? h.weight / (h.weight + d.weight) + : 0.5)), + (d.y -= w * b), + (h.x += _ * (b = 1 - b)), + (h.y += w * b)); + if ( + (b = r * v) && + ((_ = u[0] / 2), (w = u[1] / 2), (s = -1), b) + ) + for (; ++s < T; ) + ((f = y[s]).x += (_ - f.x) * b), + (f.y += (w - f.y) * b); + if (p) + for ( + Qr((e = a.geom.quadtree(y)), r, o), s = -1; + ++s < T; + + ) + (f = y[s]).fixed || e.visit(x(f)); + for (s = -1; ++s < T; ) + (f = y[s]).fixed + ? ((f.x = f.px), (f.y = f.py)) + : ((f.x -= (f.px - (f.px = f.x)) * c), + (f.y -= (f.py - (f.py = f.y)) * c)); + l.tick({ type: "tick", alpha: r }); + }), + (s.nodes = function (t) { + return arguments.length ? ((y = t), s) : y; + }), + (s.links = function (t) { + return arguments.length ? ((m = t), s) : m; + }), + (s.size = function (t) { + return arguments.length ? ((u = t), s) : u; + }), + (s.linkDistance = function (t) { + return arguments.length + ? ((f = "function" == typeof t ? t : +t), s) + : f; + }), + (s.distance = s.linkDistance), + (s.linkStrength = function (t) { + return arguments.length + ? ((h = "function" == typeof t ? t : +t), s) + : h; + }), + (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 ? ((v = +t), s) : v; + }), + (s.theta = function (t) { + return arguments.length + ? ((g = t * t), s) + : Math.sqrt(g); + }), + (s.alpha = function (e) { + return arguments.length + ? ((e = +e), + r + ? e > 0 + ? (r = e) + : ((t.c = null), + (t.t = NaN), + (t = null), + l.end({ type: "end", alpha: (r = 0) })) + : e > 0 && + (l.start({ type: "start", alpha: (r = e) }), + (t = Te(s.tick))), + s) + : r; + }), + (s.start = function () { + var t, + e, + r, + a = y.length, + l = m.length, + c = u[0], + d = u[1]; + for (t = 0; t < a; ++t) + ((r = y[t]).index = t), (r.weight = 0); + for (t = 0; t < l; ++t) + "number" == typeof (r = m[t]).source && + (r.source = y[r.source]), + "number" == typeof r.target && + (r.target = y[r.target]), + ++r.source.weight, + ++r.target.weight; + for (t = 0; t < a; ++t) + (r = y[t]), + isNaN(r.x) && (r.x = v("x", c)), + isNaN(r.y) && (r.y = v("y", d)), + isNaN(r.px) && (r.px = r.x), + isNaN(r.py) && (r.py = r.y); + if (((n = []), "function" == typeof f)) + for (t = 0; t < l; ++t) + n[t] = +f.call(this, m[t], t); + else for (t = 0; t < l; ++t) n[t] = f; + if (((i = []), "function" == typeof h)) + for (t = 0; t < l; ++t) + i[t] = +h.call(this, m[t], t); + else for (t = 0; t < l; ++t) i[t] = h; + if (((o = []), "function" == typeof p)) + for (t = 0; t < a; ++t) + o[t] = +p.call(this, y[t], t); + else for (t = 0; t < a; ++t) o[t] = p; + function v(r, n) { + if (!e) { + for (e = new Array(a), u = 0; u < a; ++u) + e[u] = []; + for (u = 0; u < l; ++u) { + var i = m[u]; + e[i.source.index].push(i.target), + e[i.target.index].push(i.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() * n; + } + return s.resume(); + }), + (s.resume = function () { + return s.alpha(0.1); + }), + (s.stop = function () { + return s.alpha(0); + }), + (s.drag = function () { + if ( + (e || + (e = a.behavior + .drag() + .origin(D) + .on("dragstart.force", Xr) + .on("drag.force", b) + .on("dragend.force", Jr)), + !arguments.length) + ) + return e; + this.on("mouseover.force", Kr) + .on("mouseout.force", $r) + .call(e); + }), + a.rebind(s, l, "on") + ); + }); + var tn = 20, + en = 1, + rn = 1 / 0; + function nn(t, e) { + return ( + a.rebind(t, e, "sort", "children", "value"), + (t.nodes = t), + (t.links = cn), + t + ); + } + function an(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 on(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 sn(t) { + return t.children; + } + function ln(t) { + return t.value; + } + function un(t, e) { + return e.value - t.value; + } + function cn(t) { + return a.merge( + t.map(function (t) { + return (t.children || []).map(function (e) { + return { source: t, target: e }; + }); + }), + ); + } + (a.layout.hierarchy = function () { + var t = un, + e = sn, + r = ln; + 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 ( + on(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 && + (an(t, function (t) { + t.children && (t.value = 0); + }), + on(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 + ); + }), + (a.layout.partition = function () { + var t = a.layout.hierarchy(), + e = [1, 1]; + function r(t, e, n, i) { + var a = t.children; + if ( + ((t.x = e), + (t.y = t.depth * i), + (t.dx = n), + (t.dy = i), + a && (o = a.length)) + ) { + var o, + s, + l, + u = -1; + for (n = t.value ? n / t.value : 0; ++u < o; ) + r((s = a[u]), e, (l = s.value * n), i), (e += l); + } + } + function n(t) { + var e = t.children, + r = 0; + if (e && (i = e.length)) + for (var i, a = -1; ++a < i; ) + r = Math.max(r, n(e[a])); + return 1 + r; + } + function i(i, a) { + var o = t.call(this, i, a); + return r(o[0], 0, e[0], e[1] / n(o[0])), o; + } + return ( + (i.size = function (t) { + return arguments.length ? ((e = t), i) : e; + }), + nn(i, t) + ); + }), + (a.layout.pie = function () { + var t = Number, + e = fn, + r = 0, + n = Ct, + i = 0; + function o(s) { + var l, + u = s.length, + c = s.map(function (e, r) { + return +t.call(o, e, r); + }), + f = +("function" == typeof r + ? r.apply(this, arguments) + : r), + h = + ("function" == typeof n + ? n.apply(this, arguments) + : n) - f, + p = Math.min( + Math.abs(h) / u, + +("function" == typeof i + ? i.apply(this, arguments) + : i), + ), + d = p * (h < 0 ? -1 : 1), + v = a.sum(c), + g = v ? (h - u * d) / v : 0, + y = a.range(u), + m = []; + return ( + null != e && + y.sort( + e === fn + ? function (t, e) { + return c[e] - c[t]; + } + : function (t, r) { + return e(s[t], s[r]); + }, + ), + y.forEach(function (t) { + m[t] = { + data: s[t], + value: (l = c[t]), + startAngle: f, + endAngle: (f += l * g + d), + padAngle: p, + }; + }), + m + ); + } + return ( + (o.value = function (e) { + return arguments.length ? ((t = e), o) : t; + }), + (o.sort = function (t) { + return arguments.length ? ((e = t), o) : e; + }), + (o.startAngle = function (t) { + return arguments.length ? ((r = t), o) : r; + }), + (o.endAngle = function (t) { + return arguments.length ? ((n = t), o) : n; + }), + (o.padAngle = function (t) { + return arguments.length ? ((i = t), o) : i; + }), + o + ); + }); + var fn = {}; + function hn(t) { + return t.x; + } + function pn(t) { + return t.y; + } + function dn(t, e, r) { + (t.y0 = e), (t.y = r); + } + a.layout.stack = function () { + var t = D, + e = yn, + r = mn, + n = dn, + i = hn, + o = pn; + function s(l, u) { + if (!(p = l.length)) return l; + var c = l.map(function (e, r) { + return t.call(s, e, r); + }), + f = c.map(function (t) { + return t.map(function (t, e) { + return [i.call(s, t, e), o.call(s, t, e)]; + }); + }), + h = e.call(s, f, u); + (c = a.permute(c, h)), (f = a.permute(f, h)); + var p, + d, + v, + g, + y = r.call(s, f, u), + m = c[0].length; + for (v = 0; v < m; ++v) + for ( + n.call(s, c[0][v], (g = y[v]), f[0][v][1]), d = 1; + d < p; + ++d + ) + n.call( + s, + c[d][v], + (g += f[d - 1][v][1]), + f[d][v][1], + ); + return l; + } + return ( + (s.values = function (e) { + return arguments.length ? ((t = e), s) : t; + }), + (s.order = function (t) { + return arguments.length + ? ((e = + "function" == typeof t ? t : vn.get(t) || yn), + s) + : e; + }), + (s.offset = function (t) { + return arguments.length + ? ((r = + "function" == typeof t ? t : gn.get(t) || mn), + s) + : r; + }), + (s.x = function (t) { + return arguments.length ? ((i = t), s) : i; + }), + (s.y = function (t) { + return arguments.length ? ((o = t), s) : o; + }), + (s.out = function (t) { + return arguments.length ? ((n = t), s) : n; + }), + s + ); + }; + var vn = a.map({ + "inside-out": function (t) { + var e, + r, + n = t.length, + i = t.map(xn), + o = t.map(bn), + s = a.range(n).sort(function (t, e) { + return i[t] - i[e]; + }), + l = 0, + u = 0, + c = [], + f = []; + for (e = 0; e < n; ++e) + (r = s[e]), + l < u + ? ((l += o[r]), c.push(r)) + : ((u += o[r]), f.push(r)); + return f.reverse().concat(c); + }, + reverse: function (t) { + return a.range(t.length).reverse(); + }, + default: yn, + }), + gn = a.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, + f = t[0], + h = f.length, + p = []; + for (p[0] = l = u = 0, r = 1; r < h; ++r) { + for (e = 0, i = 0; e < c; ++e) i += t[e][r][1]; + for ( + e = 0, a = 0, s = f[r][0] - f[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 < h; ++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: mn, + }); + function yn(t) { + return a.range(t.length); + } + function mn(t) { + for (var e = -1, r = t[0].length, n = []; ++e < r; ) + n[e] = 0; + return n; + } + function xn(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 bn(t) { + return t.reduce(_n, 0); + } + function _n(t, e) { + return t + e[1]; + } + function wn(t, e) { + return Tn( + t, + Math.ceil(Math.log(e.length) / Math.LN2 + 1), + ); + } + function Tn(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 kn(t) { + return [a.min(t), a.max(t)]; + } + function An(t, e) { + return t.value - e.value; + } + function Mn(t, e) { + var r = t._pack_next; + (t._pack_next = e), + (e._pack_prev = t), + (e._pack_next = r), + (r._pack_prev = e); + } + function Sn(t, e) { + (t._pack_next = e), (e._pack_prev = t); + } + function En(t, e) { + var r = e.x - t.x, + n = e.y - t.y, + i = t.r + e.r; + return 0.999 * i * i > r * r + n * n; + } + function Ln(t) { + if ((e = t.children) && (l = e.length)) { + var e, + r, + n, + i, + a, + o, + s, + l, + u = 1 / 0, + c = -1 / 0, + f = 1 / 0, + h = -1 / 0; + if ( + (e.forEach(Cn), + ((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 ( + In(r, n, (i = e[2])), + x(i), + Mn(r, i), + r._pack_prev = i, + Mn(i, n), + n = r._pack_next, + a = 3; + a < l; + a++ + ) { + In(r, n, (i = e[a])); + var p = 0, + d = 1, + v = 1; + for ( + o = n._pack_next; + o !== n; + o = o._pack_next, d++ + ) + if (En(o, i)) { + p = 1; + break; + } + if (1 == p) + for ( + s = r._pack_prev; + s !== o._pack_prev && !En(s, i); + s = s._pack_prev, v++ + ); + p + ? (d < v || (d == v && n.r < r.r) + ? Sn(r, (n = o)) + : Sn((r = s), n), + a--) + : (Mn(r, i), (n = i), x(i)); + } + var g = (u + c) / 2, + y = (f + h) / 2, + m = 0; + for (a = 0; a < l; a++) + ((i = e[a]).x -= g), + (i.y -= y), + (m = Math.max( + m, + i.r + Math.sqrt(i.x * i.x + i.y * i.y), + )); + (t.r = m), e.forEach(Pn); + } + function x(t) { + (u = Math.min(t.x - t.r, u)), + (c = Math.max(t.x + t.r, c)), + (f = Math.min(t.y - t.r, f)), + (h = Math.max(t.y + t.r, h)); + } + } + function Cn(t) { + t._pack_next = t._pack_prev = t; + } + function Pn(t) { + delete t._pack_next, delete t._pack_prev; + } + function On(t, e, r, n) { + var i = t.children; + if ( + ((t.x = e += n * t.x), + (t.y = r += n * t.y), + (t.r *= n), + i) + ) + for (var a = -1, o = i.length; ++a < o; ) + On(i[a], e, r, n); + } + function In(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 = 0.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 Dn(t, e) { + return t.parent == e.parent ? 1 : 2; + } + function zn(t) { + var e = t.children; + return e.length ? e[0] : t.t; + } + function Rn(t) { + var e, + r = t.children; + return (e = r.length) ? r[e - 1] : t.t; + } + function Fn(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 Bn(t, e, r) { + return t.a.parent === e.parent ? t.a : r; + } + function Nn(t) { + var e = t.children; + return e && e.length ? Nn(e[0]) : t; + } + function jn(t) { + var e, + r = t.children; + return r && (e = r.length) ? jn(r[e - 1]) : t; + } + function Un(t) { + return { x: t.x, y: t.y, dx: t.dx, dy: t.dy }; + } + function Vn(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 Hn(t) { + var e = t[0], + r = t[t.length - 1]; + return e < r ? [e, r] : [r, e]; + } + function qn(t) { + return t.rangeExtent ? t.rangeExtent() : Hn(t.range()); + } + function Gn(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 Zn(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 Yn(t) { + return t + ? { + floor: function (e) { + return Math.floor(e / t) * t; + }, + ceil: function (e) { + return Math.ceil(e / t) * t; + }, + } + : Wn; + } + (a.layout.histogram = function () { + var t = !0, + e = Number, + r = kn, + n = wn; + function i(i, o) { + for ( + var s, + l, + u = [], + c = i.map(e, this), + f = r.call(this, c, o), + h = n.call(this, f, c, o), + p = ((o = -1), c.length), + d = h.length - 1, + v = t ? 1 : 1 / p; + ++o < d; + + ) + ((s = u[o] = []).dx = h[o + 1] - (s.x = h[o])), + (s.y = 0); + if (d > 0) + for (o = -1; ++o < p; ) + (l = c[o]) >= f[0] && + l <= f[1] && + (((s = u[a.bisect(h, l, 1, d) - 1]).y += v), + s.push(i[o])); + return u; + } + return ( + (i.value = function (t) { + return arguments.length ? ((e = t), i) : e; + }), + (i.range = function (t) { + return arguments.length ? ((r = ve(t)), i) : r; + }), + (i.bins = function (t) { + return arguments.length + ? ((n = + "number" == typeof t + ? function (e) { + return Tn(e, t); + } + : ve(t)), + i) + : n; + }), + (i.frequency = function (e) { + return arguments.length ? ((t = !!e), i) : t; + }), + i + ); + }), + (a.layout.pack = function () { + var t, + e = a.layout.hierarchy().sort(An), + r = 0, + n = [1, 1]; + function i(i, a) { + var o = e.call(this, i, a), + s = o[0], + l = n[0], + u = n[1], + c = + null == t + ? Math.sqrt + : "function" == typeof t + ? t + : function () { + return t; + }; + if ( + ((s.x = s.y = 0), + on(s, function (t) { + t.r = +c(t.value); + }), + on(s, Ln), + r) + ) { + var f = + (r * + (t + ? 1 + : Math.max((2 * s.r) / l, (2 * s.r) / u))) / + 2; + on(s, function (t) { + t.r += f; + }), + on(s, Ln), + on(s, function (t) { + t.r -= f; + }); + } + return ( + On( + s, + l / 2, + u / 2, + t + ? 1 + : 1 / Math.max((2 * s.r) / l, (2 * s.r) / u), + ), + o + ); + } + return ( + (i.size = function (t) { + return arguments.length ? ((n = t), i) : n; + }), + (i.radius = function (e) { + return arguments.length + ? ((t = + null == e || "function" == typeof e ? e : +e), + i) + : t; + }), + (i.padding = function (t) { + return arguments.length ? ((r = +t), i) : r; + }), + nn(i, e) + ); + }), + (a.layout.tree = function () { + var t = a.layout.hierarchy().sort(null).value(null), + e = Dn, + r = [1, 1], + n = null; + function i(i, a) { + var u = t.call(this, i, a), + c = u[0], + f = (function (t) { + for ( + var e, r = { A: null, children: [t] }, n = [r]; + null != (e = n.pop()); + + ) + for ( + var i, a = e.children, o = 0, s = a.length; + o < s; + ++o + ) + n.push( + ((a[o] = i = + { + _: a[o], + parent: e, + children: + ((i = a[o].children) && i.slice()) || + [], + A: null, + a: null, + z: 0, + m: 0, + c: 0, + s: 0, + t: null, + i: o, + }).a = i), + ); + return r.children[0]; + })(c); + if ((on(f, o), (f.parent.m = -f.z), an(f, s), n)) + an(c, l); + else { + var h = c, + p = c, + d = c; + an(c, function (t) { + t.x < h.x && (h = t), + t.x > p.x && (p = t), + t.depth > d.depth && (d = t); + }); + var v = e(h, p) / 2 - h.x, + g = r[0] / (p.x + e(p, h) / 2 + v), + y = r[1] / (d.depth || 1); + an(c, function (t) { + (t.x = (t.x + v) * g), (t.y = t.depth * y); + }); + } + return u; + } + function o(t) { + var r = t.children, + n = t.parent.children, + i = t.i ? n[t.i - 1] : null; + if (r.length) { + !(function (t) { + for ( + var e, + r = 0, + n = 0, + i = t.children, + a = i.length; + --a >= 0; + + ) + ((e = i[a]).z += r), + (e.m += r), + (r += e.s + (n += e.c)); + })(t); + var a = (r[0].z + r[r.length - 1].z) / 2; + i + ? ((t.z = i.z + e(t._, i._)), (t.m = t.z - a)) + : (t.z = a); + } else i && (t.z = i.z + e(t._, i._)); + t.parent.A = (function (t, r, n) { + if (r) { + for ( + var i, + a = t, + o = t, + s = r, + l = a.parent.children[0], + u = a.m, + c = o.m, + f = s.m, + h = l.m; + (s = Rn(s)), (a = zn(a)), s && a; + + ) + (l = zn(l)), + ((o = Rn(o)).a = t), + (i = s.z + f - a.z - u + e(s._, a._)) > 0 && + (Fn(Bn(s, t, n), t, i), (u += i), (c += i)), + (f += s.m), + (u += a.m), + (h += l.m), + (c += o.m); + s && !Rn(o) && ((o.t = s), (o.m += f - c)), + a && + !zn(l) && + ((l.t = a), (l.m += u - h), (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 *= r[0]), (t.y = t.depth * r[1]); + } + return ( + (i.separation = function (t) { + return arguments.length ? ((e = t), i) : e; + }), + (i.size = function (t) { + return arguments.length + ? ((n = null == (r = t) ? l : null), i) + : n + ? null + : r; + }), + (i.nodeSize = function (t) { + return arguments.length + ? ((n = null == (r = t) ? null : l), i) + : n + ? r + : null; + }), + nn(i, t) + ); + }), + (a.layout.cluster = function () { + var t = a.layout.hierarchy().sort(null).value(null), + e = Dn, + r = [1, 1], + n = !1; + function i(i, o) { + var s, + l = t.call(this, i, o), + u = l[0], + c = 0; + on(u, function (t) { + var r = t.children; + r && r.length + ? ((t.x = (function (t) { + return ( + t.reduce(function (t, e) { + return t + e.x; + }, 0) / t.length + ); + })(r)), + (t.y = (function (t) { + return ( + 1 + + a.max(t, function (t) { + return t.y; + }) + ); + })(r))) + : ((t.x = s ? (c += e(t, s)) : 0), + (t.y = 0), + (s = t)); + }); + var f = Nn(u), + h = jn(u), + p = f.x - e(f, h) / 2, + d = h.x + e(h, f) / 2; + return ( + on( + u, + n + ? function (t) { + (t.x = (t.x - u.x) * r[0]), + (t.y = (u.y - t.y) * r[1]); + } + : function (t) { + (t.x = ((t.x - p) / (d - p)) * r[0]), + (t.y = + (1 - (u.y ? t.y / u.y : 1)) * r[1]); + }, + ), + l + ); + } + return ( + (i.separation = function (t) { + return arguments.length ? ((e = t), i) : e; + }), + (i.size = function (t) { + return arguments.length + ? ((n = null == (r = t)), i) + : n + ? null + : r; + }), + (i.nodeSize = function (t) { + return arguments.length + ? ((n = null != (r = t)), i) + : n + ? r + : null; + }), + nn(i, t) + ); + }), + (a.layout.treemap = function () { + var t, + e = a.layout.hierarchy(), + r = Math.round, + n = [1, 1], + i = null, + o = Un, + s = !1, + l = "squarify", + u = 0.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 f(t) { + var e = t.children; + if (e && e.length) { + var r, + n, + i, + a = o(t), + s = [], + u = e.slice(), + h = 1 / 0, + v = + "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, v)) <= h + ? (u.pop(), (h = n)) + : ((s.area -= s.pop().area), + d(s, v, a, !1), + (v = Math.min(a.dx, a.dy)), + (s.length = s.area = 0), + (h = 1 / 0)); + s.length && + (d(s, v, a, !0), (s.length = s.area = 0)), + e.forEach(f); + } + } + function h(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(h); + } + } + 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, n, i) { + var a, + o = -1, + s = t.length, + l = n.x, + u = n.y, + c = e ? r(t.area / e) : 0; + if (e == n.dx) { + for ((i || c > n.dy) && (c = n.dy); ++o < s; ) + ((a = t[o]).x = l), + (a.y = u), + (a.dy = c), + (l += a.dx = + Math.min( + n.x + n.dx - l, + c ? r(a.area / c) : 0, + )); + (a.z = !0), + (a.dx += n.x + n.dx - l), + (n.y += c), + (n.dy -= c); + } else { + for ((i || c > n.dx) && (c = n.dx); ++o < s; ) + ((a = t[o]).x = l), + (a.y = u), + (a.dx = c), + (u += a.dy = + Math.min( + n.y + n.dy - u, + c ? r(a.area / c) : 0, + )); + (a.z = !1), + (a.dy += n.y + n.dy - u), + (n.x += c), + (n.dx -= c); + } + } + function v(r) { + var i = t || e(r), + a = i[0]; + return ( + (a.x = a.y = 0), + a.value + ? ((a.dx = n[0]), (a.dy = n[1])) + : (a.dx = a.dy = 0), + t && e.revalue(a), + c([a], (a.dx * a.dy) / a.value), + (t ? h : f)(a), + s && (t = i), + i + ); + } + return ( + (v.size = function (t) { + return arguments.length ? ((n = t), v) : n; + }), + (v.padding = function (t) { + if (!arguments.length) return i; + function e(e) { + var r = t.call(v, e, e.depth); + return null == r + ? Un(e) + : Vn( + e, + "number" == typeof r ? [r, r, r, r] : r, + ); + } + function r(e) { + return Vn(e, t); + } + var n; + return ( + (o = + null == (i = t) + ? Un + : "function" == (n = typeof t) + ? e + : "number" === n + ? ((t = [t, t, t, t]), r) + : r), + v + ); + }), + (v.round = function (t) { + return arguments.length + ? ((r = t ? Math.round : Number), v) + : r != Number; + }), + (v.sticky = function (e) { + return arguments.length + ? ((s = e), (t = null), v) + : s; + }), + (v.ratio = function (t) { + return arguments.length ? ((u = t), v) : u; + }), + (v.mode = function (t) { + return arguments.length ? ((l = t + ""), v) : l; + }), + nn(v, e) + ); + }), + (a.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 t = a.random.normal.apply(a, arguments); + return function () { + return Math.exp(t()); + }; + }, + bates: function (t) { + var e = a.random.irwinHall(t); + return function () { + return e() / t; + }; + }, + irwinHall: function (t) { + return function () { + for (var e = 0, r = 0; r < t; r++) + e += Math.random(); + return e; + }; + }, + }), + (a.scale = {}); + var Wn = { floor: D, ceil: D }; + function Xn(t, e, r, n) { + var i = [], + o = [], + s = 0, + l = Math.min(t.length, e.length) - 1; + for ( + t[l] < t[0] && + ((t = t.slice().reverse()), (e = e.slice().reverse())); + ++s <= l; + + ) + i.push(r(t[s - 1], t[s])), o.push(n(e[s - 1], e[s])); + return function (e) { + var r = a.bisect(t, e, 1, l) - 1; + return o[r](i[r](e)); + }; + } + function Jn(t, e, r, n) { + var i, a; + function o() { + var o = Math.min(t.length, e.length) > 2 ? Xn : Gn, + l = n ? Zr : Gr; + return (i = o(t, e, l, r)), (a = o(e, t, l, Tr)), s; + } + function s(t) { + return i(t); + } + return ( + (s.invert = function (t) { + return a(t); + }), + (s.domain = function (e) { + return arguments.length + ? ((t = e.map(Number)), o()) + : t; + }), + (s.range = function (t) { + return arguments.length ? ((e = t), o()) : e; + }), + (s.rangeRound = function (t) { + return s.range(t).interpolate(Br); + }), + (s.clamp = function (t) { + return arguments.length ? ((n = t), o()) : n; + }), + (s.interpolate = function (t) { + return arguments.length ? ((r = t), o()) : r; + }), + (s.ticks = function (e) { + return ti(t, e); + }), + (s.tickFormat = function (e, r) { + return d3_scale_linearTickFormat(t, e, r); + }), + (s.nice = function (e) { + return $n(t, e), o(); + }), + (s.copy = function () { + return Jn(t, e, r, n); + }), + o() + ); + } + function Kn(t, e) { + return a.rebind( + t, + e, + "range", + "rangeRound", + "interpolate", + "clamp", + ); + } + function $n(t, e) { + return Zn(t, Yn(Qn(t, e)[2])), Zn(t, Yn(Qn(t, e)[2])), t; + } + function Qn(t, e) { + null == e && (e = 10); + var r = Hn(t), + n = r[1] - r[0], + i = Math.pow( + 10, + Math.floor(Math.log(n / e) / Math.LN10), + ), + a = (e / n) * i; + return ( + a <= 0.15 + ? (i *= 10) + : a <= 0.35 + ? (i *= 5) + : a <= 0.75 && (i *= 2), + (r[0] = Math.ceil(r[0] / i) * i), + (r[1] = Math.floor(r[1] / i) * i + 0.5 * i), + (r[2] = i), + r + ); + } + function ti(t, e) { + return a.range.apply(a, Qn(t, e)); + } + function ei(t, e, r, n) { + function i(t) { + return ( + (r + ? Math.log(t < 0 ? 0 : t) + : -Math.log(t > 0 ? 0 : -t)) / Math.log(e) + ); + } + function a(t) { + return r ? Math.pow(e, t) : -Math.pow(e, -t); + } + function o(e) { + return t(i(e)); + } + return ( + (o.invert = function (e) { + return a(t.invert(e)); + }), + (o.domain = function (e) { + return arguments.length + ? ((r = e[0] >= 0), + t.domain((n = e.map(Number)).map(i)), + o) + : n; + }), + (o.base = function (r) { + return arguments.length + ? ((e = +r), t.domain(n.map(i)), o) + : e; + }), + (o.nice = function () { + var e = Zn(n.map(i), r ? Math : ri); + return t.domain(e), (n = e.map(a)), o; + }), + (o.ticks = function () { + var t = Hn(n), + o = [], + s = t[0], + l = t[1], + u = Math.floor(i(s)), + c = Math.ceil(i(l)), + f = e % 1 ? 2 : e; + if (isFinite(c - u)) { + if (r) { + for (; u < c; u++) + for (var h = 1; h < f; h++) o.push(a(u) * h); + o.push(a(u)); + } else + for (o.push(a(u)); u++ < c; ) + for (h = f - 1; h > 0; h--) o.push(a(u) * h); + for (u = 0; o[u] < s; u++); + for (c = o.length; o[c - 1] > l; c--); + o = o.slice(u, c); + } + return o; + }), + (o.copy = function () { + return ei(t.copy(), e, r, n); + }), + Kn(o, t) + ); + } + (a.scale.linear = function () { + return Jn([0, 1], [0, 1], Tr, !1); + }), + (a.scale.log = function () { + return ei( + a.scale.linear().domain([0, 1]), + 10, + !0, + [1, 10], + ); + }); + var ri = { + floor: function (t) { + return -Math.ceil(-t); + }, + ceil: function (t) { + return -Math.floor(-t); + }, + }; + function ni(t, e, r) { + var n = ii(e), + i = ii(1 / e); + function a(e) { + return t(n(e)); + } + return ( + (a.invert = function (e) { + return i(t.invert(e)); + }), + (a.domain = function (e) { + return arguments.length + ? (t.domain((r = e.map(Number)).map(n)), a) + : r; + }), + (a.ticks = function (t) { + return ti(r, t); + }), + (a.tickFormat = function (t, e) { + return d3_scale_linearTickFormat(r, t, e); + }), + (a.nice = function (t) { + return a.domain($n(r, t)); + }), + (a.exponent = function (o) { + return arguments.length + ? ((n = ii((e = o))), + (i = ii(1 / e)), + t.domain(r.map(n)), + a) + : e; + }), + (a.copy = function () { + return ni(t.copy(), e, r); + }), + Kn(a, t) + ); + } + function ii(t) { + return function (e) { + return e < 0 ? -Math.pow(-e, t) : Math.pow(e, t); + }; + } + function ai(t, e) { + var r, n, i; + function o(i) { + return n[ + ((r.get(i) || + ("range" === e.t ? r.set(i, t.push(i)) : NaN)) - + 1) % + n.length + ]; + } + function s(e, r) { + return a.range(t.length).map(function (t) { + return e + r * t; + }); + } + return ( + (o.domain = function (n) { + if (!arguments.length) return t; + (t = []), (r = new A()); + for (var i, a = -1, s = n.length; ++a < s; ) + r.has((i = n[a])) || r.set(i, t.push(i)); + return o[e.t].apply(o, e.a); + }), + (o.range = function (t) { + return arguments.length + ? ((n = t), + (i = 0), + (e = { t: "range", a: arguments }), + o) + : n; + }), + (o.rangePoints = function (r, a) { + arguments.length < 2 && (a = 0); + var l = r[0], + u = r[1], + c = + t.length < 2 + ? ((l = (l + u) / 2), 0) + : (u - l) / (t.length - 1 + a); + return ( + (n = s(l + (c * a) / 2, c)), + (i = 0), + (e = { t: "rangePoints", a: arguments }), + o + ); + }), + (o.rangeRoundPoints = function (r, a) { + arguments.length < 2 && (a = 0); + var l = r[0], + u = r[1], + c = + t.length < 2 + ? ((l = u = Math.round((l + u) / 2)), 0) + : ((u - l) / (t.length - 1 + a)) | 0; + return ( + (n = s( + l + + Math.round( + (c * a) / 2 + + (u - l - (t.length - 1 + a) * c) / 2, + ), + c, + )), + (i = 0), + (e = { t: "rangeRoundPoints", a: arguments }), + o + ); + }), + (o.rangeBands = function (r, a, l) { + arguments.length < 2 && (a = 0), + arguments.length < 3 && (l = a); + var u = r[1] < r[0], + c = r[u - 0], + f = r[1 - u], + h = (f - c) / (t.length - a + 2 * l); + return ( + (n = s(c + h * l, h)), + u && n.reverse(), + (i = h * (1 - a)), + (e = { t: "rangeBands", a: arguments }), + o + ); + }), + (o.rangeRoundBands = function (r, a, l) { + arguments.length < 2 && (a = 0), + arguments.length < 3 && (l = a); + var u = r[1] < r[0], + c = r[u - 0], + f = r[1 - u], + h = Math.floor((f - c) / (t.length - a + 2 * l)); + return ( + (n = s( + c + Math.round((f - c - (t.length - a) * h) / 2), + h, + )), + u && n.reverse(), + (i = Math.round(h * (1 - a))), + (e = { t: "rangeRoundBands", a: arguments }), + o + ); + }), + (o.rangeBand = function () { + return i; + }), + (o.rangeExtent = function () { + return Hn(e.a[0]); + }), + (o.copy = function () { + return ai(t, e); + }), + o.domain(t) + ); + } + (a.scale.pow = function () { + return ni(a.scale.linear(), 1, [0, 1]); + }), + (a.scale.sqrt = function () { + return a.scale.pow().exponent(0.5); + }), + (a.scale.ordinal = function () { + return ai([], { t: "range", a: [[]] }); + }), + (a.scale.category10 = function () { + return a.scale.ordinal().range(oi); + }), + (a.scale.category20 = function () { + return a.scale.ordinal().range(si); + }), + (a.scale.category20b = function () { + return a.scale.ordinal().range(li); + }), + (a.scale.category20c = function () { + return a.scale.ordinal().range(ui); + }); + var oi = [ + 2062260, 16744206, 2924588, 14034728, 9725885, 9197131, + 14907330, 8355711, 12369186, 1556175, + ].map(oe), + si = [ + 2062260, 11454440, 16744206, 16759672, 2924588, + 10018698, 14034728, 16750742, 9725885, 12955861, + 9197131, 12885140, 14907330, 16234194, 8355711, + 13092807, 12369186, 14408589, 1556175, 10410725, + ].map(oe), + li = [ + 3750777, 5395619, 7040719, 10264286, 6519097, 9216594, + 11915115, 13556636, 9202993, 12426809, 15186514, + 15190932, 8666169, 11356490, 14049643, 15177372, + 8077683, 10834324, 13528509, 14589654, + ].map(oe), + ui = [ + 3244733, 7057110, 10406625, 13032431, 15095053, + 16616764, 16625259, 16634018, 3253076, 7652470, + 10607003, 13101504, 7695281, 10394312, 12369372, + 14342891, 6513507, 9868950, 12434877, 14277081, + ].map(oe); + function ci(t, e) { + var r; + function n() { + var n = 0, + o = e.length; + for (r = []; ++n < o; ) r[n - 1] = a.quantile(t, n / o); + return i; + } + function i(t) { + if (!isNaN((t = +t))) return e[a.bisect(r, t)]; + } + return ( + (i.domain = function (e) { + return arguments.length + ? ((t = e.map(y).filter(m).sort(g)), n()) + : t; + }), + (i.range = function (t) { + return arguments.length ? ((e = t), n()) : e; + }), + (i.quantiles = function () { + return r; + }), + (i.invertExtent = function (n) { + return (n = e.indexOf(n)) < 0 + ? [NaN, NaN] + : [ + n > 0 ? r[n - 1] : t[0], + n < r.length ? r[n] : t[t.length - 1], + ]; + }), + (i.copy = function () { + return ci(t, e); + }), + n() + ); + } + function fi(t, e, r) { + var n, i; + function a(e) { + return r[ + Math.max(0, Math.min(i, Math.floor(n * (e - t)))) + ]; + } + function o() { + return (n = r.length / (e - t)), (i = r.length - 1), a; + } + return ( + (a.domain = function (r) { + return arguments.length + ? ((t = +r[0]), (e = +r[r.length - 1]), o()) + : [t, e]; + }), + (a.range = function (t) { + return arguments.length ? ((r = t), o()) : r; + }), + (a.invertExtent = function (e) { + return [ + (e = (e = r.indexOf(e)) < 0 ? NaN : e / n + t), + e + 1 / n, + ]; + }), + (a.copy = function () { + return fi(t, e, r); + }), + o() + ); + } + function hi(t, e) { + function r(r) { + if (r <= r) return e[a.bisect(t, r)]; + } + return ( + (r.domain = function (e) { + return arguments.length ? ((t = e), r) : t; + }), + (r.range = function (t) { + return arguments.length ? ((e = t), r) : e; + }), + (r.invertExtent = function (r) { + return (r = e.indexOf(r)), [t[r - 1], t[r]]; + }), + (r.copy = function () { + return hi(t, e); + }), + r + ); + } + function pi(t) { + function e(t) { + return +t; + } + return ( + (e.invert = e), + (e.domain = e.range = + function (r) { + return arguments.length ? ((t = r.map(e)), e) : t; + }), + (e.ticks = function (e) { + return ti(t, e); + }), + (e.tickFormat = function (e, r) { + return d3_scale_linearTickFormat(t, e, r); + }), + (e.copy = function () { + return pi(t); + }), + e + ); + } + function di() { + return 0; + } + (a.scale.quantile = function () { + return ci([], []); + }), + (a.scale.quantize = function () { + return fi(0, 1, [0, 1]); + }), + (a.scale.threshold = function () { + return hi([0.5], [0, 1]); + }), + (a.scale.identity = function () { + return pi([0, 1]); + }), + (a.svg = {}), + (a.svg.arc = function () { + var t = gi, + e = yi, + r = di, + n = vi, + i = mi, + a = xi, + o = bi; + function s() { + var s = Math.max(0, +t.apply(this, arguments)), + u = Math.max(0, +e.apply(this, arguments)), + c = i.apply(this, arguments) - Ot, + f = a.apply(this, arguments) - Ot, + h = Math.abs(f - c), + p = c > f ? 0 : 1; + if ((u < s && ((d = u), (u = s), (s = d)), h >= Pt)) + return l(u, p) + (s ? l(s, 1 - p) : "") + "Z"; + var d, + v, + g, + y, + m, + x, + b, + _, + w, + T, + k, + A, + M = 0, + S = 0, + E = []; + if ( + ((y = (+o.apply(this, arguments) || 0) / 2) && + ((g = + n === vi + ? Math.sqrt(s * s + u * u) + : +n.apply(this, arguments)), + p || (S *= -1), + u && (S = zt((g / u) * Math.sin(y))), + s && (M = zt((g / s) * Math.sin(y)))), + u) + ) { + (m = u * Math.cos(c + S)), + (x = u * Math.sin(c + S)), + (b = u * Math.cos(f - S)), + (_ = u * Math.sin(f - S)); + var L = Math.abs(f - c - 2 * S) <= Lt ? 0 : 1; + if (S && (_i(m, x, b, _) === p) ^ L) { + var C = (c + f) / 2; + (m = u * Math.cos(C)), + (x = u * Math.sin(C)), + (b = _ = null); + } + } else m = x = 0; + if (s) { + (w = s * Math.cos(f - M)), + (T = s * Math.sin(f - M)), + (k = s * Math.cos(c + M)), + (A = s * Math.sin(c + M)); + var P = Math.abs(c - f + 2 * M) <= Lt ? 0 : 1; + if (M && (_i(w, T, k, A) === 1 - p) ^ P) { + var O = (c + f) / 2; + (w = s * Math.cos(O)), + (T = s * Math.sin(O)), + (k = A = null); + } + } else w = T = 0; + if ( + h > Et && + (d = Math.min( + Math.abs(u - s) / 2, + +r.apply(this, arguments), + )) > 0.001 + ) { + v = (s < u) ^ p ? 0 : 1; + var I = d, + D = d; + if (h < Lt) { + var z = + null == k + ? [w, T] + : null == b + ? [m, x] + : Ie([m, x], [k, A], [b, _], [w, T]), + R = m - z[0], + F = x - z[1], + B = b - z[0], + N = _ - z[1], + j = + 1 / + Math.sin( + Math.acos( + (R * B + F * N) / + (Math.sqrt(R * R + F * F) * + Math.sqrt(B * B + N * N)), + ) / 2, + ), + U = Math.sqrt(z[0] * z[0] + z[1] * z[1]); + (D = Math.min(d, (s - U) / (j - 1))), + (I = Math.min(d, (u - U) / (j + 1))); + } + if (null != b) { + var V = wi( + null == k ? [w, T] : [k, A], + [m, x], + u, + I, + p, + ), + H = wi([b, _], [w, T], u, I, p); + d === I + ? E.push( + "M", + V[0], + "A", + I, + ",", + I, + " 0 0,", + v, + " ", + V[1], + "A", + u, + ",", + u, + " 0 ", + (1 - p) ^ + _i(V[1][0], V[1][1], H[1][0], H[1][1]), + ",", + p, + " ", + H[1], + "A", + I, + ",", + I, + " 0 0,", + v, + " ", + H[0], + ) + : E.push( + "M", + V[0], + "A", + I, + ",", + I, + " 0 1,", + v, + " ", + H[0], + ); + } else E.push("M", m, ",", x); + if (null != k) { + var q = wi([m, x], [k, A], s, -D, p), + G = wi( + [w, T], + null == b ? [m, x] : [b, _], + s, + -D, + p, + ); + d === D + ? E.push( + "L", + G[0], + "A", + D, + ",", + D, + " 0 0,", + v, + " ", + G[1], + "A", + s, + ",", + s, + " 0 ", + p ^ _i(G[1][0], G[1][1], q[1][0], q[1][1]), + ",", + 1 - p, + " ", + q[1], + "A", + D, + ",", + D, + " 0 0,", + v, + " ", + q[0], + ) + : E.push( + "L", + G[0], + "A", + D, + ",", + D, + " 0 0,", + v, + " ", + q[0], + ); + } else E.push("L", w, ",", T); + } else + E.push("M", m, ",", x), + null != b && + E.push( + "A", + u, + ",", + u, + " 0 ", + L, + ",", + p, + " ", + b, + ",", + _, + ), + E.push("L", w, ",", T), + null != k && + E.push( + "A", + s, + ",", + s, + " 0 ", + P, + ",", + 1 - p, + " ", + k, + ",", + A, + ); + 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 == vi ? vi : 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 - + Ot; + return [Math.cos(n) * r, Math.sin(n) * r]; + }), + s + ); + }); + var vi = "auto"; + function gi(t) { + return t.innerRadius; + } + function yi(t) { + return t.outerRadius; + } + function mi(t) { + return t.startAngle; + } + function xi(t) { + return t.endAngle; + } + function bi(t) { + return t && t.padAngle; + } + function _i(t, e, r, n) { + return (t - r) * e - (e - n) * t > 0 ? 0 : 1; + } + function wi(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, + f = t[1] + u, + h = e[0] + l, + p = e[1] + u, + d = (c + h) / 2, + v = (f + p) / 2, + g = h - c, + y = p - f, + m = g * g + y * y, + x = r - n, + b = c * p - h * f, + _ = + (y < 0 ? -1 : 1) * + Math.sqrt(Math.max(0, x * x * m - b * b)), + w = (b * y - g * _) / m, + T = (-b * g - y * _) / m, + k = (b * y + g * _) / m, + A = (-b * g + y * _) / m, + M = w - d, + S = T - v, + E = k - d, + L = A - v; + return ( + M * M + S * S > E * E + L * L && ((w = k), (T = A)), + [ + [w - l, T - u], + [(w * r) / x, (T * r) / x], + ] + ); + } + function Ti() { + return !0; + } + function ki(t) { + var e = Se, + r = Ee, + n = Ti, + i = Mi, + a = i.key, + o = 0.7; + function s(a) { + var s, + l = [], + u = [], + c = -1, + f = a.length, + h = ve(e), + p = ve(r); + function d() { + l.push("M", i(t(u), o)); + } + for (; ++c < f; ) + n.call(this, (s = a[c]), c) + ? u.push([+h.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 = Ai.get(t) || Mi).key), + s) + : a; + }), + (s.tension = function (t) { + return arguments.length ? ((o = t), s) : o; + }), + s + ); + } + a.svg.line = function () { + return ki(D); + }; + var Ai = a.map({ + linear: Mi, + "linear-closed": Si, + step: function (t) { + for ( + var e = 0, + r = t.length, + n = t[0], + i = [n[0], ",", n[1]]; + ++e < r; + + ) + i.push("H", (n[0] + (n = t[e])[0]) / 2, "V", n[1]); + return r > 1 && i.push("H", n[0]), i.join(""); + }, + "step-before": Ei, + "step-after": Li, + basis: Oi, + "basis-open": function (t) { + if (t.length < 4) return Mi(t); + for ( + var e, r = [], n = -1, i = t.length, a = [0], o = [0]; + ++n < 3; + + ) + (e = t[n]), a.push(e[0]), o.push(e[1]); + for ( + r.push(Ii(Ri, a) + "," + Ii(Ri, o)), --n; + ++n < i; + + ) + (e = t[n]), + a.shift(), + a.push(e[0]), + o.shift(), + o.push(e[1]), + Fi(r, a, o); + return r.join(""); + }, + "basis-closed": function (t) { + for ( + var e, + r, + n = -1, + i = t.length, + a = i + 4, + o = [], + s = []; + ++n < 4; + + ) + (r = t[n % i]), o.push(r[0]), s.push(r[1]); + for (e = [Ii(Ri, o), ",", Ii(Ri, s)], --n; ++n < a; ) + (r = t[n % i]), + o.shift(), + o.push(r[0]), + s.shift(), + s.push(r[1]), + Fi(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; + + ) + (i = u / r), + ((n = t[u])[0] = + e * n[0] + (1 - e) * (a + i * s)), + (n[1] = e * n[1] + (1 - e) * (o + i * l)); + return Oi(t); + }, + cardinal: function (t, e) { + return t.length < 3 ? Mi(t) : t[0] + Ci(t, Pi(t, e)); + }, + "cardinal-open": function (t, e) { + return t.length < 4 + ? Mi(t) + : t[1] + Ci(t.slice(1, -1), Pi(t, e)); + }, + "cardinal-closed": function (t, e) { + return t.length < 3 + ? Si(t) + : t[0] + + Ci( + (t.push(t[0]), t), + Pi([t[t.length - 2]].concat(t, [t[1]]), e), + ); + }, + monotone: function (t) { + return t.length < 3 + ? Mi(t) + : t[0] + + Ci( + t, + (function (t) { + for ( + var e, + r, + n, + i, + a = [], + o = (function (t) { + for ( + var e = 0, + r = t.length - 1, + n = [], + i = t[0], + a = t[1], + o = (n[0] = Bi(i, a)); + ++e < r; + + ) + n[e] = + (o + + (o = Bi( + (i = a), + (a = t[e + 1]), + ))) / + 2; + return (n[e] = o), n; + })(t), + s = -1, + l = t.length - 1; + ++s < l; + + ) + (e = Bi(t[s], t[s + 1])), + w(e) < Et + ? (o[s] = o[s + 1] = 0) + : (i = + (r = o[s] / e) * r + + (n = o[s + 1] / e) * n) > 9 && + ((i = (3 * e) / Math.sqrt(i)), + (o[s] = i * r), + (o[s + 1] = i * n)); + for (s = -1; ++s <= l; ) + (i = + (t[Math.min(l, s + 1)][0] - + t[Math.max(0, s - 1)][0]) / + (6 * (1 + o[s] * o[s]))), + a.push([i || 0, o[s] * i || 0]); + return a; + })(t), + ); + }, + }); + function Mi(t) { + return t.length > 1 ? t.join("L") : t + "Z"; + } + function Si(t) { + return t.join("L") + "Z"; + } + function Ei(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 Li(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 Ci(t, e) { + if ( + e.length < 1 || + (t.length != e.length && t.length != e.length + 2) + ) + return Mi(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 Pi(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 Oi(t) { + if (t.length < 3) return Mi(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", Ii(Ri, o), ",", Ii(Ri, s)]; + for (t.push(t[r - 1]); ++e <= r; ) + (n = t[e]), + o.shift(), + o.push(n[0]), + s.shift(), + s.push(n[1]), + Fi(l, o, s); + return t.pop(), l.push("L", n), l.join(""); + } + function Ii(t, e) { + return ( + t[0] * e[0] + t[1] * e[1] + t[2] * e[2] + t[3] * e[3] + ); + } + Ai.forEach(function (t, e) { + (e.key = t), (e.closed = /-closed$/.test(t)); + }); + var Di = [0, 2 / 3, 1 / 3, 0], + zi = [0, 1 / 3, 2 / 3, 0], + Ri = [0, 1 / 6, 2 / 3, 1 / 6]; + function Fi(t, e, r) { + t.push( + "C", + Ii(Di, e), + ",", + Ii(Di, r), + ",", + Ii(zi, e), + ",", + Ii(zi, r), + ",", + Ii(Ri, e), + ",", + Ii(Ri, r), + ); + } + function Bi(t, e) { + return (e[1] - t[1]) / (e[0] - t[0]); + } + function Ni(t) { + for (var e, r, n, i = -1, a = t.length; ++i < a; ) + (r = (e = t[i])[0]), + (n = e[1] - Ot), + (e[0] = r * Math.cos(n)), + (e[1] = r * Math.sin(n)); + return t; + } + function ji(t) { + var e = Se, + r = Se, + n = 0, + i = Ee, + a = Ti, + o = Mi, + s = o.key, + l = o, + u = "L", + c = 0.7; + function f(s) { + var f, + h, + p, + d = [], + v = [], + g = [], + y = -1, + m = s.length, + x = ve(e), + b = ve(n), + _ = + e === r + ? function () { + return h; + } + : ve(r), + w = + n === i + ? function () { + return p; + } + : ve(i); + function T() { + d.push("M", o(t(g), c), u, l(t(v.reverse()), c), "Z"); + } + for (; ++y < m; ) + a.call(this, (f = s[y]), y) + ? (v.push([ + (h = +x.call(this, f, y)), + (p = +b.call(this, f, y)), + ]), + g.push([ + +_.call(this, f, y), + +w.call(this, f, y), + ])) + : v.length && (T(), (v = []), (g = [])); + return v.length && T(), d.length ? d.join("") : null; + } + return ( + (f.x = function (t) { + return arguments.length ? ((e = r = t), f) : r; + }), + (f.x0 = function (t) { + return arguments.length ? ((e = t), f) : e; + }), + (f.x1 = function (t) { + return arguments.length ? ((r = t), f) : r; + }), + (f.y = function (t) { + return arguments.length ? ((n = i = t), f) : i; + }), + (f.y0 = function (t) { + return arguments.length ? ((n = t), f) : n; + }), + (f.y1 = function (t) { + return arguments.length ? ((i = t), f) : i; + }), + (f.defined = function (t) { + return arguments.length ? ((a = t), f) : a; + }), + (f.interpolate = function (t) { + return arguments.length + ? ((s = + "function" == typeof t + ? (o = t) + : (o = Ai.get(t) || Mi).key), + (l = o.reverse || o), + (u = o.closed ? "M" : "L"), + f) + : s; + }), + (f.tension = function (t) { + return arguments.length ? ((c = t), f) : c; + }), + f + ); + } + function Ui(t) { + return t.source; + } + function Vi(t) { + return t.target; + } + function Hi(t) { + return t.radius; + } + function qi(t) { + return [t.x, t.y]; + } + function Gi(t) { + return function () { + var e = t.apply(this, arguments), + r = e[0], + n = e[1] - Ot; + return [r * Math.cos(n), r * Math.sin(n)]; + }; + } + function Zi() { + return 64; + } + function Yi() { + return "circle"; + } + function Wi(t) { + var e = Math.sqrt(t / Lt); + return ( + "M0," + + e + + "A" + + e + + "," + + e + + " 0 1,1 0," + + -e + + "A" + + e + + "," + + e + + " 0 1,1 0," + + e + + "Z" + ); + } + (a.svg.line.radial = function () { + var t = ki(Ni); + return ( + (t.radius = t.x), + delete t.x, + (t.angle = t.y), + delete t.y, + t + ); + }), + (Ei.reverse = Li), + (Li.reverse = Ei), + (a.svg.area = function () { + return ji(D); + }), + (a.svg.area.radial = function () { + var t = ji(Ni); + 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 + ); + }), + (a.svg.chord = function () { + var t = Ui, + e = Vi, + r = Hi, + n = mi, + i = xi; + 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) - Ot, + c = i.call(t, s, o) - Ot; + 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 > Lt) + ",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 + ); + }), + (a.svg.diagonal = function () { + var t = Ui, + e = Vi, + r = qi; + 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 + ); + }), + (a.svg.diagonal.radial = function () { + var t = a.svg.diagonal(), + e = qi, + r = t.projection; + return ( + (t.projection = function (t) { + return arguments.length ? r(Gi((e = t))) : e; + }), + t + ); + }), + (a.svg.symbol = function () { + var t = Yi, + e = Zi; + function r(r, n) { + return (Xi.get(t.call(this, r, n)) || Wi)( + 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 Xi = a.map({ + circle: Wi, + 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 * Ki)), + r = e * Ki; + 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 / Ji), + r = (e * Ji) / 2; + return ( + "M0," + + r + + "L" + + e + + "," + + -r + + " " + + -e + + "," + + -r + + "Z" + ); + }, + "triangle-up": function (t) { + var e = Math.sqrt(t / Ji), + r = (e * Ji) / 2; + return ( + "M0," + + -r + + "L" + + e + + "," + + r + + " " + + -e + + "," + + r + + "Z" + ); + }, + }); + a.svg.symbolTypes = Xi.keys(); + var Ji = Math.sqrt(3), + Ki = Math.tan(30 * It); + (J.transition = function (t) { + for ( + var e, + r, + n = ea || ++ia, + i = sa(t), + a = [], + o = ra || { + time: Date.now(), + ease: Ir, + delay: 0, + duration: 250, + }, + s = -1, + l = this.length; + ++s < l; + + ) { + a.push((e = [])); + for (var u = this[s], c = -1, f = u.length; ++c < f; ) + (r = u[c]) && la(r, c, i, n, o), e.push(r); + } + return ta(a, i, n); + }), + (J.interrupt = function (t) { + return this.each(null == t ? $i : Qi(sa(t))); + }); + var $i = Qi(sa()); + function Qi(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 += 0.5), + n.event && + n.event.interrupt.call( + this, + this.__data__, + n.index, + )); + }; + } + function ta(t, e, r) { + return G(t, na), (t.namespace = e), (t.id = r), t; + } + var ea, + ra, + na = [], + ia = 0; + function aa(t, e, r, n) { + var i = t.id, + a = t.namespace; + return dt( + 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 oa(t) { + return ( + null == t && (t = ""), + function () { + this.textContent = t; + } + ); + } + function sa(t) { + return null == t + ? "__transition__" + : "__transition_" + t + "__"; + } + function la(t, e, r, n, i) { + var a, + o, + s, + l, + u, + c = t[r] || (t[r] = { active: 0, count: 0 }), + f = c[n]; + function h(r) { + var i = c.active, + h = c[i]; + for (var d in (h && + ((h.timer.c = null), + (h.timer.t = NaN), + --c.count, + delete c[i], + h.event && + h.event.interrupt.call(t, t.__data__, h.index)), + c)) + if (+d < n) { + var v = c[d]; + (v.timer.c = null), + (v.timer.t = NaN), + --c.count, + delete c[d]; + } + (o.c = p), + Te( + function () { + return ( + o.c && p(r || 1) && ((o.c = null), (o.t = NaN)), + 1 + ); + }, + 0, + a, + ), + (c.active = n), + f.event && f.event.start.call(t, t.__data__, e), + (u = []), + f.tween.forEach(function (r, n) { + (n = n.call(t, t.__data__, e)) && u.push(n); + }), + (l = f.ease), + (s = f.duration); + } + function p(i) { + for (var a = i / s, o = l(a), h = u.length; h > 0; ) + u[--h].call(t, o); + if (a >= 1) + return ( + f.event && f.event.end.call(t, t.__data__, e), + --c.count ? delete c[n] : delete t[r], + 1 + ); + } + f || + ((a = i.time), + (o = Te( + function (t) { + var e = f.delay; + if (((o.t = e + a), e <= t)) return h(t - e); + o.c = h; + }, + 0, + a, + )), + (f = c[n] = + { + tween: new A(), + time: a, + timer: o, + delay: i.delay, + duration: i.duration, + ease: i.ease, + index: e, + }), + (i = null), + ++c.count); + } + (na.call = J.call), + (na.empty = J.empty), + (na.node = J.node), + (na.size = J.size), + (a.transition = function (t, e) { + return t && t.transition + ? ea + ? t.transition(e) + : t + : a.selection().transition(t); + }), + (a.transition.prototype = na), + (na.select = function (t) { + var e, + r, + n, + i = this.id, + a = this.namespace, + o = []; + t = K(t); + for (var s = -1, l = this.length; ++s < l; ) { + o.push((e = [])); + for (var u = this[s], c = -1, f = u.length; ++c < f; ) + (n = u[c]) && (r = t.call(n, n.__data__, c, s)) + ? ("__data__" in n && (r.__data__ = n.__data__), + la(r, c, a, i, n[a][i]), + e.push(r)) + : e.push(null); + } + return ta(o, a, i); + }), + (na.selectAll = function (t) { + var e, + r, + n, + i, + a, + o = this.id, + s = this.namespace, + l = []; + t = $(t); + for (var u = -1, c = this.length; ++u < c; ) + for (var f = this[u], h = -1, p = f.length; ++h < p; ) + if ((n = f[h])) { + (a = n[s][o]), + (r = t.call(n, n.__data__, h, u)), + l.push((e = [])); + for (var d = -1, v = r.length; ++d < v; ) + (i = r[d]) && la(i, d, s, o, a), e.push(i); + } + return ta(l, s, o); + }), + (na.filter = function (t) { + var e, + r, + n = []; + "function" != typeof t && (t = ht(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 ta(n, this.namespace, this.id); + }), + (na.tween = function (t, e) { + var r = this.id, + n = this.namespace; + return arguments.length < 2 + ? this.node()[n][r].tween.get(t) + : dt( + this, + null == e + ? function (e) { + e[n][r].tween.remove(t); + } + : function (i) { + i[n][r].tween.set(t, e); + }, + ); + }), + (na.attr = function (t, e) { + if (arguments.length < 2) { + for (e in t) this.attr(e, t[e]); + return this; + } + var r = "transform" == t ? qr : Tr, + n = a.ns.qualify(t); + function i() { + this.removeAttribute(n); + } + function o() { + this.removeAttributeNS(n.space, n.local); + } + function s(t) { + return null == t + ? i + : ((t += ""), + function () { + var e, + i = this.getAttribute(n); + return ( + i !== t && + ((e = r(i, t)), + function (t) { + this.setAttribute(n, e(t)); + }) + ); + }); + } + function l(t) { + return null == t + ? o + : ((t += ""), + function () { + var e, + i = this.getAttributeNS(n.space, n.local); + return ( + i !== t && + ((e = r(i, t)), + function (t) { + this.setAttributeNS(n.space, n.local, e(t)); + }) + ); + }); + } + return aa(this, "attr." + t, e, n.local ? l : s); + }), + (na.attrTween = function (t, e) { + var r = a.ns.qualify(t); + return this.tween( + "attr." + t, + r.local + ? function (t, n) { + var i = e.call( + this, + t, + n, + this.getAttributeNS(r.space, r.local), + ); + return ( + i && + function (t) { + this.setAttributeNS(r.space, r.local, i(t)); + } + ); + } + : function (t, n) { + var i = e.call( + this, + t, + n, + this.getAttribute(r), + ); + return ( + i && + function (t) { + this.setAttribute(r, i(t)); + } + ); + }, + ); + }), + (na.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); + } + function a(e) { + return null == e + ? i + : ((e += ""), + function () { + var n, + i = c(this) + .getComputedStyle(this, null) + .getPropertyValue(t); + return ( + i !== e && + ((n = Tr(i, e)), + function (e) { + this.style.setProperty(t, n(e), r); + }) + ); + }); + } + return aa(this, "style." + t, e, a); + }), + (na.styleTween = function (t, e, r) { + function n(n, i) { + var a = e.call( + this, + n, + i, + c(this) + .getComputedStyle(this, null) + .getPropertyValue(t), + ); + return ( + a && + function (e) { + this.style.setProperty(t, a(e), r); + } + ); + } + return ( + arguments.length < 3 && (r = ""), + this.tween("style." + t, n) + ); + }), + (na.text = function (t) { + return aa(this, "text", t, oa); + }), + (na.remove = function () { + var t = this.namespace; + return this.each("end.transition", function () { + var e; + this[t].count < 2 && + (e = this.parentNode) && + e.removeChild(this); + }); + }), + (na.ease = function (t) { + var e = this.id, + r = this.namespace; + return arguments.length < 1 + ? this.node()[r][e].ease + : ("function" != typeof t && + (t = a.ease.apply(a, arguments)), + dt(this, function (n) { + n[r][e].ease = t; + })); + }), + (na.delay = function (t) { + var e = this.id, + r = this.namespace; + return arguments.length < 1 + ? this.node()[r][e].delay + : dt( + 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; + }), + ); + }), + (na.duration = function (t) { + var e = this.id, + r = this.namespace; + return arguments.length < 1 + ? this.node()[r][e].duration + : dt( + 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; + }), + ); + }), + (na.each = function (t, e) { + var r = this.id, + n = this.namespace; + if (arguments.length < 2) { + var i = ra, + o = ea; + try { + (ea = r), + dt(this, function (e, i, a) { + (ra = e[n][r]), t.call(e, e.__data__, i, a); + }); + } finally { + (ra = i), (ea = o); + } + } else + dt(this, function (i) { + var o = i[n][r]; + ( + o.event || + (o.event = a.dispatch( + "start", + "end", + "interrupt", + )) + ).on(t, e); + }); + return this; + }), + (na.transition = function () { + for ( + var t, + e, + r, + n = this.id, + i = ++ia, + a = this.namespace, + o = [], + s = 0, + l = this.length; + s < l; + s++ + ) { + o.push((t = [])); + for ( + var u, c = 0, f = (u = this[s]).length; + c < f; + c++ + ) + (e = u[c]) && + la(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 ta(o, a, i); + }), + (a.svg.axis = function () { + var t, + e = a.scale.linear(), + r = ua, + n = 6, + i = 6, + o = 3, + l = [10], + u = null; + function c(s) { + s.each(function () { + var s, + c = a.select(this), + f = this.__chart__ || e, + h = (this.__chart__ = e.copy()), + p = + null == u + ? h.ticks + ? h.ticks.apply(h, l) + : h.domain() + : u, + d = + null == t + ? h.tickFormat + ? h.tickFormat.apply(h, l) + : D + : t, + v = c.selectAll(".tick").data(p, h), + g = v + .enter() + .insert("g", ".domain") + .attr("class", "tick") + .style("opacity", Et), + y = a + .transition(v.exit()) + .style("opacity", Et) + .remove(), + m = a.transition(v.order()).style("opacity", 1), + x = Math.max(n, 0) + o, + b = qn(h), + _ = c.selectAll(".domain").data([0]), + w = + (_.enter() + .append("path") + .attr("class", "domain"), + a.transition(_)); + g.append("line"), g.append("text"); + var T, + k, + A, + M, + S = g.select("line"), + E = m.select("line"), + L = v.select("text").text(d), + C = g.select("text"), + P = m.select("text"), + O = "top" === r || "left" === r ? -1 : 1; + if ( + ("bottom" === r || "top" === r + ? ((s = fa), + (T = "x"), + (A = "y"), + (k = "x2"), + (M = "y2"), + L.attr("dy", O < 0 ? "0em" : ".71em").style( + "text-anchor", + "middle", + ), + w.attr( + "d", + "M" + + b[0] + + "," + + O * i + + "V0H" + + b[1] + + "V" + + O * i, + )) + : ((s = ha), + (T = "y"), + (A = "x"), + (k = "y2"), + (M = "x2"), + L.attr("dy", ".32em").style( + "text-anchor", + O < 0 ? "end" : "start", + ), + w.attr( + "d", + "M" + + O * i + + "," + + b[0] + + "H0V" + + b[1] + + "H" + + O * i, + )), + S.attr(M, O * n), + C.attr(A, O * x), + E.attr(k, 0).attr(M, O * n), + P.attr(T, 0).attr(A, O * x), + h.rangeBand) + ) { + var I = h, + z = I.rangeBand() / 2; + f = h = function (t) { + return I(t) + z; + }; + } else f.rangeBand ? (f = h) : y.call(s, h, f); + g.call(s, f, h), m.call(s, h, h); + }); + } + return ( + (c.scale = function (t) { + return arguments.length ? ((e = t), c) : e; + }), + (c.orient = function (t) { + return arguments.length + ? ((r = t in ca ? t + "" : ua), c) + : r; + }), + (c.ticks = function () { + return arguments.length + ? ((l = s(arguments)), c) + : l; + }), + (c.tickValues = function (t) { + return arguments.length ? ((u = t), c) : u; + }), + (c.tickFormat = function (e) { + return arguments.length ? ((t = e), c) : t; + }), + (c.tickSize = function (t) { + var e = arguments.length; + return e + ? ((n = +t), (i = +arguments[e - 1]), c) + : n; + }), + (c.innerTickSize = function (t) { + return arguments.length ? ((n = +t), c) : n; + }), + (c.outerTickSize = function (t) { + return arguments.length ? ((i = +t), c) : i; + }), + (c.tickPadding = function (t) { + return arguments.length ? ((o = +t), c) : o; + }), + (c.tickSubdivide = function () { + return arguments.length && c; + }), + c + ); + }); + var ua = "bottom", + ca = { top: 1, right: 1, bottom: 1, left: 1 }; + function fa(t, e, r) { + t.attr("transform", function (t) { + var n = e(t); + return "translate(" + (isFinite(n) ? n : r(t)) + ",0)"; + }); + } + function ha(t, e, r) { + t.attr("transform", function (t) { + var n = e(t); + return "translate(0," + (isFinite(n) ? n : r(t)) + ")"; + }); + } + a.svg.brush = function () { + var t, + e, + r = H(h, "brushstart", "brush", "brushend"), + n = null, + i = null, + o = [0, 0], + s = [0, 0], + l = !0, + u = !0, + f = da[0]; + function h(t) { + t.each(function () { + var t = a + .select(this) + .style("pointer-events", "all") + .style( + "-webkit-tap-highlight-color", + "rgba(0,0,0,0)", + ) + .on("mousedown.brush", g) + .on("touchstart.brush", g), + e = t.selectAll(".background").data([0]); + e + .enter() + .append("rect") + .attr("class", "background") + .style("visibility", "hidden") + .style("cursor", "crosshair"), + t + .selectAll(".extent") + .data([0]) + .enter() + .append("rect") + .attr("class", "extent") + .style("cursor", "move"); + var r = t.selectAll(".resize").data(f, D); + r.exit().remove(), + r + .enter() + .append("g") + .attr("class", function (t) { + return "resize " + t; + }) + .style("cursor", function (t) { + return pa[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"), + r.style("display", h.empty() ? "none" : null); + var o, + s = a.transition(t), + l = a.transition(e); + n && + ((o = qn(n)), + l.attr("x", o[0]).attr("width", o[1] - o[0]), + d(s)), + i && + ((o = qn(i)), + l.attr("y", o[0]).attr("height", o[1] - o[0]), + v(s)), + p(s); + }); + } + function p(t) { + t.selectAll(".resize").attr("transform", function (t) { + return ( + "translate(" + + o[+/e$/.test(t)] + + "," + + s[+/^s/.test(t)] + + ")" + ); + }); + } + function d(t) { + t.select(".extent").attr("x", o[0]), + t + .selectAll(".extent,.n>rect,.s>rect") + .attr("width", o[1] - o[0]); + } + function v(t) { + t.select(".extent").attr("y", s[0]), + t + .selectAll(".extent,.e>rect,.w>rect") + .attr("height", s[1] - s[0]); + } + function g() { + var f, + g, + y = this, + m = a.select(a.event.target), + x = r.of(y, arguments), + b = a.select(y), + _ = m.datum(), + w = !/^(n|s)$/.test(_) && n, + T = !/^(e|w)$/.test(_) && i, + k = m.classed("extent"), + A = kt(y), + M = a.mouse(y), + S = a + .select(c(y)) + .on("keydown.brush", C) + .on("keyup.brush", P); + if ( + (a.event.changedTouches + ? S.on("touchmove.brush", O).on("touchend.brush", D) + : S.on("mousemove.brush", O).on("mouseup.brush", D), + b.interrupt().selectAll("*").interrupt(), + k) + ) + (M[0] = o[0] - M[0]), (M[1] = s[0] - M[1]); + else if (_) { + var E = +/w$/.test(_), + L = +/^n/.test(_); + (g = [o[1 - E] - M[0], s[1 - L] - M[1]]), + (M[0] = o[E]), + (M[1] = s[L]); + } else a.event.altKey && (f = M.slice()); + function C() { + 32 == a.event.keyCode && + (k || + ((f = null), + (M[0] -= o[1]), + (M[1] -= s[1]), + (k = 2)), + U()); + } + function P() { + 32 == a.event.keyCode && + 2 == k && + ((M[0] += o[1]), (M[1] += s[1]), (k = 0), U()); + } + function O() { + var t = a.mouse(y), + e = !1; + g && ((t[0] += g[0]), (t[1] += g[1])), + k || + (a.event.altKey + ? (f || + (f = [ + (o[0] + o[1]) / 2, + (s[0] + s[1]) / 2, + ]), + (M[0] = o[+(t[0] < f[0])]), + (M[1] = s[+(t[1] < f[1])])) + : (f = null)), + w && I(t, n, 0) && (d(b), (e = !0)), + T && I(t, i, 1) && (v(b), (e = !0)), + e && + (p(b), + x({ + type: "brush", + mode: k ? "move" : "resize", + })); + } + function I(r, n, i) { + var a, + c, + h = qn(n), + p = h[0], + d = h[1], + v = M[i], + g = i ? s : o, + y = g[1] - g[0]; + if ( + (k && ((p -= v), (d -= y + v)), + (a = (i ? u : l) + ? Math.max(p, Math.min(d, r[i])) + : r[i]), + k + ? (c = (a += v) + y) + : (f && + (v = Math.max(p, Math.min(d, 2 * f[i] - a))), + v < a ? ((c = a), (a = v)) : (c = v)), + g[0] != a || g[1] != c) + ) + return ( + i ? (e = null) : (t = null), + (g[0] = a), + (g[1] = c), + !0 + ); + } + function D() { + O(), + b + .style("pointer-events", "all") + .selectAll(".resize") + .style("display", h.empty() ? "none" : null), + a.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), + A(), + x({ type: "brushend" }); + } + b + .style("pointer-events", "none") + .selectAll(".resize") + .style("display", null), + a.select("body").style("cursor", m.style("cursor")), + x({ type: "brushstart" }), + O(); + } + return ( + (h.event = function (n) { + n.each(function () { + var n = r.of(this, arguments), + i = { x: o, y: s, i: t, j: e }, + l = this.__chart__ || i; + (this.__chart__ = i), + ea + ? a + .select(this) + .transition() + .each("start.brush", function () { + (t = l.i), + (e = l.j), + (o = l.x), + (s = l.y), + n({ type: "brushstart" }); + }) + .tween("brush:brush", function () { + var r = kr(o, i.x), + a = kr(s, i.y); + return ( + (t = e = null), + function (t) { + (o = i.x = r(t)), + (s = i.y = a(t)), + n({ + type: "brush", + mode: "resize", + }); + } + ); + }) + .each("end.brush", function () { + (t = i.i), + (e = i.j), + n({ type: "brush", mode: "resize" }), + n({ type: "brushend" }); + }) + : (n({ type: "brushstart" }), + n({ type: "brush", mode: "resize" }), + n({ type: "brushend" })); + }); + }), + (h.x = function (t) { + return arguments.length + ? ((f = da[(!(n = t) << 1) | !i]), h) + : n; + }), + (h.y = function (t) { + return arguments.length + ? ((f = da[(!n << 1) | !(i = t)]), h) + : i; + }), + (h.clamp = function (t) { + return arguments.length + ? (n && i + ? ((l = !!t[0]), (u = !!t[1])) + : n + ? (l = !!t) + : i && (u = !!t), + h) + : n && i + ? [l, u] + : n + ? l + : i + ? u + : null; + }), + (h.extent = function (r) { + var a, l, u, c, f; + return arguments.length + ? (n && + ((a = r[0]), + (l = r[1]), + i && ((a = a[0]), (l = l[0])), + (t = [a, l]), + n.invert && ((a = n(a)), (l = n(l))), + l < a && ((f = a), (a = l), (l = f)), + (a == o[0] && l == o[1]) || (o = [a, l])), + i && + ((u = r[0]), + (c = r[1]), + n && ((u = u[1]), (c = c[1])), + (e = [u, c]), + i.invert && ((u = i(u)), (c = i(c))), + c < u && ((f = u), (u = c), (c = f)), + (u == s[0] && c == s[1]) || (s = [u, c])), + h) + : (n && + (t + ? ((a = t[0]), (l = t[1])) + : ((a = o[0]), + (l = o[1]), + n.invert && + ((a = n.invert(a)), (l = n.invert(l))), + l < a && ((f = a), (a = l), (l = f)))), + i && + (e + ? ((u = e[0]), (c = e[1])) + : ((u = s[0]), + (c = s[1]), + i.invert && + ((u = i.invert(u)), (c = i.invert(c))), + c < u && ((f = u), (u = c), (c = f)))), + n && i + ? [ + [a, u], + [l, c], + ] + : n + ? [a, l] + : i && [u, c]); + }), + (h.clear = function () { + return ( + h.empty() || + ((o = [0, 0]), (s = [0, 0]), (t = e = null)), + h + ); + }), + (h.empty = function () { + return (!!n && o[0] == o[1]) || (!!i && s[0] == s[1]); + }), + a.rebind(h, r, "on") + ); + }; + var pa = { + n: "ns-resize", + e: "ew-resize", + s: "ns-resize", + w: "ew-resize", + nw: "nwse-resize", + ne: "nesw-resize", + se: "nwse-resize", + sw: "nesw-resize", + }, + da = [ + ["n", "e", "s", "w", "nw", "ne", "se", "sw"], + ["e", "w"], + ["n", "s"], + [], + ]; + function va(t) { + return JSON.parse(t.responseText); + } + function ga(t) { + var e = l.createRange(); + return ( + e.selectNode(l.body), + e.createContextualFragment(t.responseText) + ); + } + (a.text = ge(function (t) { + return t.responseText; + })), + (a.json = function (t, e) { + return ye(t, "application/json", va, e); + }), + (a.html = function (t, e) { + return ye(t, "text/html", ga, e); + }), + (a.xml = ge(function (t) { + return t.responseXML; + })), + void 0 === + (i = + "function" == typeof (n = a) + ? n.call(e, r, e, t) + : n) || (t.exports = i); + }).apply(self); + }, + 88294: function (t, e, r) { + "use strict"; + t.exports = r(62849); + }, + 62849: function (t, e, r) { + "use strict"; + var n = r(91358), + i = r(53435), + a = r(18863), + o = r(21527), + s = r(71299), + l = r(46775), + u = r(30120), + c = r(64941), + f = r(90660), + h = r(27084); + function p(t, e) { + for ( + var r = e[0], + n = e[1], + a = 1 / (e[2] - r), + o = 1 / (e[3] - n), + s = new Array(t.length), + l = 0, + u = t.length / 2; + l < u; + l++ + ) + (s[2 * l] = i((t[2 * l] - r) * a, 0, 1)), + (s[2 * l + 1] = i((t[2 * l + 1] - n) * o, 0, 1)); + return s; + } + t.exports = function (t, e) { + e || (e = {}), + (t = u(t, "float64")), + (e = s(e, { + bounds: "range bounds dataBox databox", + maxDepth: + "depth maxDepth maxdepth level maxLevel maxlevel levels", + dtype: "type dtype format out dst output destination", + })); + var r = l(e.maxDepth, 255), + i = l(e.bounds, o(t, 2)); + i[0] === i[2] && i[2]++, i[1] === i[3] && i[3]++; + var d, + v = p(t, i), + g = t.length >>> 1; + e.dtype || (e.dtype = "array"), + "string" == typeof e.dtype + ? (d = new (f(e.dtype))(g)) + : e.dtype && + ((d = e.dtype), Array.isArray(d) && (d.length = g)); + for (var y = 0; y < g; ++y) d[y] = y; + var m = [], + x = [], + b = [], + _ = []; + !(function t(e, n, i, a, o, s) { + if (!a.length) return null; + var l = m[o] || (m[o] = []), + u = b[o] || (b[o] = []), + c = x[o] || (x[o] = []), + f = l.length; + if (++o > r || s > 1073741824) { + for (var h = 0; h < a.length; h++) + l.push(a[h]), + u.push(s), + c.push(null, null, null, null); + return f; + } + if ((l.push(a[0]), u.push(s), a.length <= 1)) + return c.push(null, null, null, null), f; + for ( + var p = 0.5 * i, + d = e + p, + g = n + p, + y = [], + _ = [], + w = [], + T = [], + k = 1, + A = a.length; + k < A; + k++ + ) { + var M = a[k], + S = v[2 * M], + E = v[2 * M + 1]; + S < d + ? E < g + ? y.push(M) + : _.push(M) + : E < g + ? w.push(M) + : T.push(M); + } + return ( + (s <<= 2), + c.push( + t(e, n, p, y, o, s), + t(e, g, p, _, o, s + 1), + t(d, n, p, w, o, s + 2), + t(d, g, p, T, o, s + 3), + ), + f + ); + })(0, 0, 1, d, 0, 1); + for (var w = 0, T = 0; T < m.length; T++) { + var k = m[T]; + if (d.set) d.set(k, w); + else + for (var A = 0, M = k.length; A < M; A++) + d[A + w] = k[A]; + var S = w + m[T].length; + (_[T] = [w, S]), (w = S); + } + return ( + (d.range = function () { + for (var e, r = [], n = arguments.length; n--; ) + r[n] = arguments[n]; + if (c(r[r.length - 1])) { + var o = r.pop(); + r.length || + (null == o.x && null == o.l && null == o.left) || + ((r = [o]), (e = {})), + (e = s(o, { + level: "level maxLevel", + d: "d diam diameter r radius px pxSize pixel pixelSize maxD size minSize", + lod: "lod details ranges offsets", + })); + } else e = {}; + r.length || (r = i); + var u, + f = a.apply(void 0, r), + d = [ + Math.min(f.x, f.x + f.width), + Math.min(f.y, f.y + f.height), + Math.max(f.x, f.x + f.width), + Math.max(f.y, f.y + f.height), + ], + v = d[0], + g = d[1], + y = d[2], + b = d[3], + _ = p([v, g, y, b], i), + w = _[0], + T = _[1], + k = _[2], + A = _[3], + M = l(e.level, m.length); + if ( + (null != e.d && + ("number" == typeof e.d + ? (u = [e.d, e.d]) + : e.d.length && (u = e.d), + (M = Math.min( + Math.max( + Math.ceil(-h(Math.abs(u[0]) / (i[2] - i[0]))), + Math.ceil(-h(Math.abs(u[1]) / (i[3] - i[1]))), + ), + M, + ))), + (M = Math.min(M, m.length)), + e.lod) + ) + return E(w, T, k, A, M); + var S = []; + function L(e, r, n, i, a, o) { + if ( + null !== a && + null !== o && + !( + w > e + n || + T > r + n || + k < e || + A < r || + i >= M || + a === o + ) + ) { + var s = m[i]; + void 0 === o && (o = s.length); + for (var l = a; l < o; l++) { + var u = s[l], + c = t[2 * u], + f = t[2 * u + 1]; + c >= v && c <= y && f >= g && f <= b && S.push(u); + } + var h = x[i], + p = h[4 * a + 0], + d = h[4 * a + 1], + _ = h[4 * a + 2], + E = h[4 * a + 3], + P = C(h, a + 1), + O = 0.5 * n, + I = i + 1; + L(e, r, O, I, p, d || _ || E || P), + L(e, r + O, O, I, d, _ || E || P), + L(e + O, r, O, I, _, E || P), + L(e + O, r + O, O, I, E, P); + } + } + function C(t, e) { + for (var r = null, n = 0; null === r; ) + if (((r = t[4 * e + n]), ++n > t.length)) + return null; + return r; + } + return L(0, 0, 1, 0, 0, 1), S; + }), + d + ); + function E(t, e, r, i, a) { + for (var o = [], s = 0; s < a; s++) { + var l = b[s], + u = _[s][0], + c = L(t, e, s), + f = L(r, i, s), + h = n.ge(l, c), + p = n.gt(l, f, h, l.length - 1); + o[s] = [h + u, p + u]; + } + return o; + } + function L(t, e, r) { + for ( + var n = 1, i = 0.5, a = 0.5, o = 0.5, s = 0; + s < r; + s++ + ) + (n <<= 2), + (n += t < i ? (e < a ? 0 : 1) : e < a ? 2 : 3), + (o *= 0.5), + (i += t < i ? -o : o), + (a += e < a ? -o : o); + return n; + } + }; + }, + 30774: function (t, e, r) { + "use strict"; + Object.defineProperty(e, "__esModule", { value: !0 }); + var n = r(60302), + i = 6378137; + function a(t) { + var e = 0; + if (t && t.length > 0) { + e += Math.abs(o(t[0])); + for (var r = 1; r < t.length; r++) e -= Math.abs(o(t[r])); + } + return e; + } + function o(t) { + var e, + r, + n, + a, + o, + l, + u = 0, + c = t.length; + if (c > 2) { + for (l = 0; l < c; l++) + l === c - 2 + ? ((n = c - 2), (a = c - 1), (o = 0)) + : l === c - 1 + ? ((n = c - 1), (a = 0), (o = 1)) + : ((n = l), (a = l + 1), (o = l + 2)), + (e = t[n]), + (r = t[a]), + (u += (s(t[o][0]) - s(e[0])) * Math.sin(s(r[1]))); + u = (u * i * i) / 2; + } + return u; + } + function s(t) { + return (t * Math.PI) / 180; + } + e.default = function (t) { + return n.geomReduce( + t, + function (t, e) { + return ( + t + + (function (t) { + var e, + r = 0; + switch (t.type) { + case "Polygon": + return a(t.coordinates); + case "MultiPolygon": + for (e = 0; e < t.coordinates.length; e++) + r += a(t.coordinates[e]); + return r; + case "Point": + case "MultiPoint": + case "LineString": + case "MultiLineString": + return 0; + } + return 0; + })(e) + ); + }, + 0, + ); + }; + }, + 23132: function (t, e) { + "use strict"; + function r(t, e, r) { + void 0 === r && (r = {}); + var n = { type: "Feature" }; + return ( + (0 === r.id || r.id) && (n.id = r.id), + r.bbox && (n.bbox = r.bbox), + (n.properties = e || {}), + (n.geometry = t), + n + ); + } + function n(t, e, n) { + if ((void 0 === n && (n = {}), !t)) + throw new Error("coordinates is required"); + if (!Array.isArray(t)) + throw new Error("coordinates must be an Array"); + if (t.length < 2) + throw new Error( + "coordinates must be at least 2 numbers long", + ); + if (!p(t[0]) || !p(t[1])) + throw new Error("coordinates must contain numbers"); + return r({ type: "Point", coordinates: t }, e, n); + } + function i(t, e, n) { + void 0 === n && (n = {}); + for (var i = 0, a = t; i < a.length; i++) { + var o = a[i]; + if (o.length < 4) + throw new Error( + "Each LinearRing of a Polygon must have 4 or more Positions.", + ); + for (var s = 0; s < o[o.length - 1].length; s++) + if (o[o.length - 1][s] !== o[0][s]) + throw new Error( + "First and last Position are not equivalent.", + ); + } + return r({ type: "Polygon", coordinates: t }, e, n); + } + function a(t, e, n) { + if ((void 0 === n && (n = {}), t.length < 2)) + throw new Error( + "coordinates must be an array of two or more positions", + ); + return r({ type: "LineString", coordinates: t }, e, n); + } + function o(t, e) { + void 0 === e && (e = {}); + var r = { type: "FeatureCollection" }; + return ( + e.id && (r.id = e.id), + e.bbox && (r.bbox = e.bbox), + (r.features = t), + r + ); + } + function s(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "MultiLineString", coordinates: t }, e, n) + ); + } + function l(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "MultiPoint", coordinates: t }, e, n) + ); + } + function u(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "MultiPolygon", coordinates: t }, e, n) + ); + } + function c(t, r) { + void 0 === r && (r = "kilometers"); + var n = e.factors[r]; + if (!n) throw new Error(r + " units is invalid"); + return t * n; + } + function f(t, r) { + void 0 === r && (r = "kilometers"); + var n = e.factors[r]; + if (!n) throw new Error(r + " units is invalid"); + return t / n; + } + function h(t) { + return ((t % (2 * Math.PI)) * 180) / Math.PI; + } + function p(t) { + return !isNaN(t) && null !== t && !Array.isArray(t); + } + Object.defineProperty(e, "__esModule", { value: !0 }), + (e.earthRadius = 6371008.8), + (e.factors = { + centimeters: 100 * e.earthRadius, + centimetres: 100 * e.earthRadius, + degrees: e.earthRadius / 111325, + feet: 3.28084 * e.earthRadius, + inches: 39.37 * e.earthRadius, + kilometers: e.earthRadius / 1e3, + kilometres: e.earthRadius / 1e3, + meters: e.earthRadius, + metres: e.earthRadius, + miles: e.earthRadius / 1609.344, + millimeters: 1e3 * e.earthRadius, + millimetres: 1e3 * e.earthRadius, + nauticalmiles: e.earthRadius / 1852, + radians: 1, + yards: 1.0936 * e.earthRadius, + }), + (e.unitsFactors = { + centimeters: 100, + centimetres: 100, + degrees: 1 / 111325, + feet: 3.28084, + inches: 39.37, + kilometers: 0.001, + kilometres: 0.001, + meters: 1, + metres: 1, + miles: 1 / 1609.344, + millimeters: 1e3, + millimetres: 1e3, + nauticalmiles: 1 / 1852, + radians: 1 / e.earthRadius, + yards: 1.0936133, + }), + (e.areaFactors = { + acres: 247105e-9, + centimeters: 1e4, + centimetres: 1e4, + feet: 10.763910417, + hectares: 1e-4, + inches: 1550.003100006, + kilometers: 1e-6, + kilometres: 1e-6, + meters: 1, + metres: 1, + miles: 386e-9, + millimeters: 1e6, + millimetres: 1e6, + yards: 1.195990046, + }), + (e.feature = r), + (e.geometry = function (t, e, r) { + switch ((void 0 === r && (r = {}), t)) { + case "Point": + return n(e).geometry; + case "LineString": + return a(e).geometry; + case "Polygon": + return i(e).geometry; + case "MultiPoint": + return l(e).geometry; + case "MultiLineString": + return s(e).geometry; + case "MultiPolygon": + return u(e).geometry; + default: + throw new Error(t + " is invalid"); + } + }), + (e.point = n), + (e.points = function (t, e, r) { + return ( + void 0 === r && (r = {}), + o( + t.map(function (t) { + return n(t, e); + }), + r, + ) + ); + }), + (e.polygon = i), + (e.polygons = function (t, e, r) { + return ( + void 0 === r && (r = {}), + o( + t.map(function (t) { + return i(t, e); + }), + r, + ) + ); + }), + (e.lineString = a), + (e.lineStrings = function (t, e, r) { + return ( + void 0 === r && (r = {}), + o( + t.map(function (t) { + return a(t, e); + }), + r, + ) + ); + }), + (e.featureCollection = o), + (e.multiLineString = s), + (e.multiPoint = l), + (e.multiPolygon = u), + (e.geometryCollection = function (t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "GeometryCollection", geometries: t }, e, n) + ); + }), + (e.round = function (t, e) { + if ((void 0 === e && (e = 0), e && !(e >= 0))) + throw new Error("precision must be a positive number"); + var r = Math.pow(10, e || 0); + return Math.round(t * r) / r; + }), + (e.radiansToLength = c), + (e.lengthToRadians = f), + (e.lengthToDegrees = function (t, e) { + return h(f(t, e)); + }), + (e.bearingToAzimuth = function (t) { + var e = t % 360; + return e < 0 && (e += 360), e; + }), + (e.radiansToDegrees = h), + (e.degreesToRadians = function (t) { + return ((t % 360) * Math.PI) / 180; + }), + (e.convertLength = function (t, e, r) { + if ( + (void 0 === e && (e = "kilometers"), + void 0 === r && (r = "kilometers"), + !(t >= 0)) + ) + throw new Error("length must be a positive number"); + return c(f(t, e), r); + }), + (e.convertArea = function (t, r, n) { + if ( + (void 0 === r && (r = "meters"), + void 0 === n && (n = "kilometers"), + !(t >= 0)) + ) + throw new Error("area must be a positive number"); + var i = e.areaFactors[r]; + if (!i) throw new Error("invalid original units"); + var a = e.areaFactors[n]; + if (!a) throw new Error("invalid final units"); + return (t / i) * a; + }), + (e.isNumber = p), + (e.isObject = function (t) { + return !!t && t.constructor === Object; + }), + (e.validateBBox = function (t) { + if (!t) throw new Error("bbox is required"); + if (!Array.isArray(t)) + throw new Error("bbox must be an Array"); + if (4 !== t.length && 6 !== t.length) + throw new Error( + "bbox must be an Array of 4 or 6 numbers", + ); + t.forEach(function (t) { + if (!p(t)) + throw new Error("bbox must only contain numbers"); + }); + }), + (e.validateId = function (t) { + if (!t) throw new Error("id is required"); + if (-1 === ["string", "number"].indexOf(typeof t)) + throw new Error("id must be a number or a string"); + }); + }, + 60302: function (t, e, r) { + "use strict"; + Object.defineProperty(e, "__esModule", { value: !0 }); + var n = r(23132); + function i(t, e, r) { + if (null !== t) + for ( + var n, + a, + o, + s, + l, + u, + c, + f, + h = 0, + p = 0, + d = t.type, + v = "FeatureCollection" === d, + g = "Feature" === d, + y = v ? t.features.length : 1, + m = 0; + m < y; + m++ + ) { + l = (f = + !!(c = v + ? t.features[m].geometry + : g + ? t.geometry + : t) && "GeometryCollection" === c.type) + ? c.geometries.length + : 1; + for (var x = 0; x < l; x++) { + var b = 0, + _ = 0; + if (null !== (s = f ? c.geometries[x] : c)) { + u = s.coordinates; + var w = s.type; + switch ( + ((h = + !r || ("Polygon" !== w && "MultiPolygon" !== w) + ? 0 + : 1), + w) + ) { + case null: + break; + case "Point": + if (!1 === e(u, p, m, b, _)) return !1; + p++, b++; + break; + case "LineString": + case "MultiPoint": + for (n = 0; n < u.length; n++) { + if (!1 === e(u[n], p, m, b, _)) return !1; + p++, "MultiPoint" === w && b++; + } + "LineString" === w && b++; + break; + case "Polygon": + case "MultiLineString": + for (n = 0; n < u.length; n++) { + for (a = 0; a < u[n].length - h; a++) { + if (!1 === e(u[n][a], p, m, b, _)) + return !1; + p++; + } + "MultiLineString" === w && b++, + "Polygon" === w && _++; + } + "Polygon" === w && b++; + break; + case "MultiPolygon": + for (n = 0; n < u.length; n++) { + for (_ = 0, a = 0; a < u[n].length; a++) { + for (o = 0; o < u[n][a].length - h; o++) { + if (!1 === e(u[n][a][o], p, m, b, _)) + return !1; + p++; + } + _++; + } + b++; + } + break; + case "GeometryCollection": + for (n = 0; n < s.geometries.length; n++) + if (!1 === i(s.geometries[n], e, r)) + return !1; + break; + default: + throw new Error("Unknown Geometry Type"); + } + } + } + } + } + function a(t, e) { + var r; + switch (t.type) { + case "FeatureCollection": + for ( + r = 0; + r < t.features.length && + !1 !== e(t.features[r].properties, r); + r++ + ); + break; + case "Feature": + e(t.properties, 0); + } + } + function o(t, e) { + if ("Feature" === t.type) e(t, 0); + else if ("FeatureCollection" === t.type) + for ( + var r = 0; + r < t.features.length && !1 !== e(t.features[r], r); + r++ + ); + } + function s(t, e) { + var r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h = 0, + p = "FeatureCollection" === t.type, + d = "Feature" === t.type, + v = p ? t.features.length : 1; + for (r = 0; r < v; r++) { + for ( + s = p ? t.features[r].geometry : d ? t.geometry : t, + u = p + ? t.features[r].properties + : d + ? t.properties + : {}, + c = p ? t.features[r].bbox : d ? t.bbox : void 0, + f = p ? t.features[r].id : d ? t.id : void 0, + o = (l = !!s && "GeometryCollection" === s.type) + ? s.geometries.length + : 1, + i = 0; + i < o; + i++ + ) + if (null !== (a = l ? s.geometries[i] : s)) + switch (a.type) { + case "Point": + case "LineString": + case "MultiPoint": + case "Polygon": + case "MultiLineString": + case "MultiPolygon": + if (!1 === e(a, h, u, c, f)) return !1; + break; + case "GeometryCollection": + for (n = 0; n < a.geometries.length; n++) + if (!1 === e(a.geometries[n], h, u, c, f)) + return !1; + break; + default: + throw new Error("Unknown Geometry Type"); + } + else if (!1 === e(null, h, u, c, f)) return !1; + h++; + } + } + function l(t, e) { + s(t, function (t, r, i, a, o) { + var s, + l = null === t ? null : t.type; + switch (l) { + case null: + case "Point": + case "LineString": + case "Polygon": + return ( + !1 !== + e(n.feature(t, i, { bbox: a, id: o }), r, 0) && + void 0 + ); + } + switch (l) { + case "MultiPoint": + s = "Point"; + break; + case "MultiLineString": + s = "LineString"; + break; + case "MultiPolygon": + s = "Polygon"; + } + for (var u = 0; u < t.coordinates.length; u++) { + var c = { type: s, coordinates: t.coordinates[u] }; + if (!1 === e(n.feature(c, i), r, u)) return !1; + } + }); + } + function u(t, e) { + l(t, function (t, r, a) { + var o = 0; + if (t.geometry) { + var s = t.geometry.type; + if ("Point" !== s && "MultiPoint" !== s) { + var l, + u = 0, + c = 0, + f = 0; + return ( + !1 !== + i(t, function (i, s, h, p, d) { + if (void 0 === l || r > u || p > c || d > f) + return ( + (l = i), + (u = r), + (c = p), + (f = d), + void (o = 0) + ); + var v = n.lineString([l, i], t.properties); + if (!1 === e(v, r, a, d, o)) return !1; + o++, (l = i); + }) && void 0 + ); + } + } + }); + } + function c(t, e) { + if (!t) throw new Error("geojson is required"); + l(t, function (t, r, i) { + if (null !== t.geometry) { + var a = t.geometry.type, + o = t.geometry.coordinates; + switch (a) { + case "LineString": + if (!1 === e(t, r, i, 0, 0)) return !1; + break; + case "Polygon": + for (var s = 0; s < o.length; s++) + if ( + !1 === + e(n.lineString(o[s], t.properties), r, i, s) + ) + return !1; + } + } + }); + } + (e.coordEach = i), + (e.coordReduce = function (t, e, r, n) { + var a = r; + return ( + i( + t, + function (t, n, i, o, s) { + a = + 0 === n && void 0 === r ? t : e(a, t, n, i, o, s); + }, + n, + ), + a + ); + }), + (e.propEach = a), + (e.propReduce = function (t, e, r) { + var n = r; + return ( + a(t, function (t, i) { + n = 0 === i && void 0 === r ? t : e(n, t, i); + }), + n + ); + }), + (e.featureEach = o), + (e.featureReduce = function (t, e, r) { + var n = r; + return ( + o(t, function (t, i) { + n = 0 === i && void 0 === r ? t : e(n, t, i); + }), + n + ); + }), + (e.coordAll = function (t) { + var e = []; + return ( + i(t, function (t) { + e.push(t); + }), + e + ); + }), + (e.geomEach = s), + (e.geomReduce = function (t, e, r) { + var n = r; + return ( + s(t, function (t, i, a, o, s) { + n = 0 === i && void 0 === r ? t : e(n, t, i, a, o, s); + }), + n + ); + }), + (e.flattenEach = l), + (e.flattenReduce = function (t, e, r) { + var n = r; + return ( + l(t, function (t, i, a) { + n = + 0 === i && 0 === a && void 0 === r + ? t + : e(n, t, i, a); + }), + n + ); + }), + (e.segmentEach = u), + (e.segmentReduce = function (t, e, r) { + var n = r, + i = !1; + return ( + u(t, function (t, a, o, s, l) { + (n = + !1 === i && void 0 === r ? t : e(n, t, a, o, s, l)), + (i = !0); + }), + n + ); + }), + (e.lineEach = c), + (e.lineReduce = function (t, e, r) { + var n = r; + return ( + c(t, function (t, i, a, o) { + n = 0 === i && void 0 === r ? t : e(n, t, i, a, o); + }), + n + ); + }), + (e.findSegment = function (t, e) { + if (((e = e || {}), !n.isObject(e))) + throw new Error("options is invalid"); + var r, + i = e.featureIndex || 0, + a = e.multiFeatureIndex || 0, + o = e.geometryIndex || 0, + s = e.segmentIndex || 0, + l = e.properties; + switch (t.type) { + case "FeatureCollection": + i < 0 && (i = t.features.length + i), + (l = l || t.features[i].properties), + (r = t.features[i].geometry); + break; + case "Feature": + (l = l || t.properties), (r = t.geometry); + break; + case "Point": + case "MultiPoint": + return null; + case "LineString": + case "Polygon": + case "MultiLineString": + case "MultiPolygon": + r = t; + break; + default: + throw new Error("geojson is invalid"); + } + if (null === r) return null; + var u = r.coordinates; + switch (r.type) { + case "Point": + case "MultiPoint": + return null; + case "LineString": + return ( + s < 0 && (s = u.length + s - 1), + n.lineString([u[s], u[s + 1]], l, e) + ); + case "Polygon": + return ( + o < 0 && (o = u.length + o), + s < 0 && (s = u[o].length + s - 1), + n.lineString([u[o][s], u[o][s + 1]], l, e) + ); + case "MultiLineString": + return ( + a < 0 && (a = u.length + a), + s < 0 && (s = u[a].length + s - 1), + n.lineString([u[a][s], u[a][s + 1]], l, e) + ); + case "MultiPolygon": + return ( + a < 0 && (a = u.length + a), + o < 0 && (o = u[a].length + o), + s < 0 && (s = u[a][o].length - s - 1), + n.lineString([u[a][o][s], u[a][o][s + 1]], l, e) + ); + } + throw new Error("geojson is invalid"); + }), + (e.findPoint = function (t, e) { + if (((e = e || {}), !n.isObject(e))) + throw new Error("options is invalid"); + var r, + i = e.featureIndex || 0, + a = e.multiFeatureIndex || 0, + o = e.geometryIndex || 0, + s = e.coordIndex || 0, + l = e.properties; + switch (t.type) { + case "FeatureCollection": + i < 0 && (i = t.features.length + i), + (l = l || t.features[i].properties), + (r = t.features[i].geometry); + break; + case "Feature": + (l = l || t.properties), (r = t.geometry); + break; + case "Point": + case "MultiPoint": + return null; + case "LineString": + case "Polygon": + case "MultiLineString": + case "MultiPolygon": + r = t; + break; + default: + throw new Error("geojson is invalid"); + } + if (null === r) return null; + var u = r.coordinates; + switch (r.type) { + case "Point": + return n.point(u, l, e); + case "MultiPoint": + return ( + a < 0 && (a = u.length + a), n.point(u[a], l, e) + ); + case "LineString": + return ( + s < 0 && (s = u.length + s), n.point(u[s], l, e) + ); + case "Polygon": + return ( + o < 0 && (o = u.length + o), + s < 0 && (s = u[o].length + s), + n.point(u[o][s], l, e) + ); + case "MultiLineString": + return ( + a < 0 && (a = u.length + a), + s < 0 && (s = u[a].length + s), + n.point(u[a][s], l, e) + ); + case "MultiPolygon": + return ( + a < 0 && (a = u.length + a), + o < 0 && (o = u[a].length + o), + s < 0 && (s = u[a][o].length - s), + n.point(u[a][o][s], l, e) + ); + } + throw new Error("geojson is invalid"); + }); + }, + 85268: function (t, e, r) { + "use strict"; + Object.defineProperty(e, "__esModule", { value: !0 }); + var n = r(27138); + function i(t) { + var e = [1 / 0, 1 / 0, -1 / 0, -1 / 0]; + return ( + n.coordEach(t, function (t) { + e[0] > t[0] && (e[0] = t[0]), + e[1] > t[1] && (e[1] = t[1]), + e[2] < t[0] && (e[2] = t[0]), + e[3] < t[1] && (e[3] = t[1]); + }), + e + ); + } + (i.default = i), (e.default = i); + }, + 94228: function (t, e) { + "use strict"; + function r(t, e, r) { + void 0 === r && (r = {}); + var n = { type: "Feature" }; + return ( + (0 === r.id || r.id) && (n.id = r.id), + r.bbox && (n.bbox = r.bbox), + (n.properties = e || {}), + (n.geometry = t), + n + ); + } + function n(t, e, n) { + if ((void 0 === n && (n = {}), !t)) + throw new Error("coordinates is required"); + if (!Array.isArray(t)) + throw new Error("coordinates must be an Array"); + if (t.length < 2) + throw new Error( + "coordinates must be at least 2 numbers long", + ); + if (!p(t[0]) || !p(t[1])) + throw new Error("coordinates must contain numbers"); + return r({ type: "Point", coordinates: t }, e, n); + } + function i(t, e, n) { + void 0 === n && (n = {}); + for (var i = 0, a = t; i < a.length; i++) { + var o = a[i]; + if (o.length < 4) + throw new Error( + "Each LinearRing of a Polygon must have 4 or more Positions.", + ); + for (var s = 0; s < o[o.length - 1].length; s++) + if (o[o.length - 1][s] !== o[0][s]) + throw new Error( + "First and last Position are not equivalent.", + ); + } + return r({ type: "Polygon", coordinates: t }, e, n); + } + function a(t, e, n) { + if ((void 0 === n && (n = {}), t.length < 2)) + throw new Error( + "coordinates must be an array of two or more positions", + ); + return r({ type: "LineString", coordinates: t }, e, n); + } + function o(t, e) { + void 0 === e && (e = {}); + var r = { type: "FeatureCollection" }; + return ( + e.id && (r.id = e.id), + e.bbox && (r.bbox = e.bbox), + (r.features = t), + r + ); + } + function s(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "MultiLineString", coordinates: t }, e, n) + ); + } + function l(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "MultiPoint", coordinates: t }, e, n) + ); + } + function u(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "MultiPolygon", coordinates: t }, e, n) + ); + } + function c(t, r) { + void 0 === r && (r = "kilometers"); + var n = e.factors[r]; + if (!n) throw new Error(r + " units is invalid"); + return t * n; + } + function f(t, r) { + void 0 === r && (r = "kilometers"); + var n = e.factors[r]; + if (!n) throw new Error(r + " units is invalid"); + return t / n; + } + function h(t) { + return ((t % (2 * Math.PI)) * 180) / Math.PI; + } + function p(t) { + return !isNaN(t) && null !== t && !Array.isArray(t); + } + Object.defineProperty(e, "__esModule", { value: !0 }), + (e.earthRadius = 6371008.8), + (e.factors = { + centimeters: 100 * e.earthRadius, + centimetres: 100 * e.earthRadius, + degrees: e.earthRadius / 111325, + feet: 3.28084 * e.earthRadius, + inches: 39.37 * e.earthRadius, + kilometers: e.earthRadius / 1e3, + kilometres: e.earthRadius / 1e3, + meters: e.earthRadius, + metres: e.earthRadius, + miles: e.earthRadius / 1609.344, + millimeters: 1e3 * e.earthRadius, + millimetres: 1e3 * e.earthRadius, + nauticalmiles: e.earthRadius / 1852, + radians: 1, + yards: 1.0936 * e.earthRadius, + }), + (e.unitsFactors = { + centimeters: 100, + centimetres: 100, + degrees: 1 / 111325, + feet: 3.28084, + inches: 39.37, + kilometers: 0.001, + kilometres: 0.001, + meters: 1, + metres: 1, + miles: 1 / 1609.344, + millimeters: 1e3, + millimetres: 1e3, + nauticalmiles: 1 / 1852, + radians: 1 / e.earthRadius, + yards: 1.0936133, + }), + (e.areaFactors = { + acres: 247105e-9, + centimeters: 1e4, + centimetres: 1e4, + feet: 10.763910417, + hectares: 1e-4, + inches: 1550.003100006, + kilometers: 1e-6, + kilometres: 1e-6, + meters: 1, + metres: 1, + miles: 386e-9, + millimeters: 1e6, + millimetres: 1e6, + yards: 1.195990046, + }), + (e.feature = r), + (e.geometry = function (t, e, r) { + switch ((void 0 === r && (r = {}), t)) { + case "Point": + return n(e).geometry; + case "LineString": + return a(e).geometry; + case "Polygon": + return i(e).geometry; + case "MultiPoint": + return l(e).geometry; + case "MultiLineString": + return s(e).geometry; + case "MultiPolygon": + return u(e).geometry; + default: + throw new Error(t + " is invalid"); + } + }), + (e.point = n), + (e.points = function (t, e, r) { + return ( + void 0 === r && (r = {}), + o( + t.map(function (t) { + return n(t, e); + }), + r, + ) + ); + }), + (e.polygon = i), + (e.polygons = function (t, e, r) { + return ( + void 0 === r && (r = {}), + o( + t.map(function (t) { + return i(t, e); + }), + r, + ) + ); + }), + (e.lineString = a), + (e.lineStrings = function (t, e, r) { + return ( + void 0 === r && (r = {}), + o( + t.map(function (t) { + return a(t, e); + }), + r, + ) + ); + }), + (e.featureCollection = o), + (e.multiLineString = s), + (e.multiPoint = l), + (e.multiPolygon = u), + (e.geometryCollection = function (t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "GeometryCollection", geometries: t }, e, n) + ); + }), + (e.round = function (t, e) { + if ((void 0 === e && (e = 0), e && !(e >= 0))) + throw new Error("precision must be a positive number"); + var r = Math.pow(10, e || 0); + return Math.round(t * r) / r; + }), + (e.radiansToLength = c), + (e.lengthToRadians = f), + (e.lengthToDegrees = function (t, e) { + return h(f(t, e)); + }), + (e.bearingToAzimuth = function (t) { + var e = t % 360; + return e < 0 && (e += 360), e; + }), + (e.radiansToDegrees = h), + (e.degreesToRadians = function (t) { + return ((t % 360) * Math.PI) / 180; + }), + (e.convertLength = function (t, e, r) { + if ( + (void 0 === e && (e = "kilometers"), + void 0 === r && (r = "kilometers"), + !(t >= 0)) + ) + throw new Error("length must be a positive number"); + return c(f(t, e), r); + }), + (e.convertArea = function (t, r, n) { + if ( + (void 0 === r && (r = "meters"), + void 0 === n && (n = "kilometers"), + !(t >= 0)) + ) + throw new Error("area must be a positive number"); + var i = e.areaFactors[r]; + if (!i) throw new Error("invalid original units"); + var a = e.areaFactors[n]; + if (!a) throw new Error("invalid final units"); + return (t / i) * a; + }), + (e.isNumber = p), + (e.isObject = function (t) { + return !!t && t.constructor === Object; + }), + (e.validateBBox = function (t) { + if (!t) throw new Error("bbox is required"); + if (!Array.isArray(t)) + throw new Error("bbox must be an Array"); + if (4 !== t.length && 6 !== t.length) + throw new Error( + "bbox must be an Array of 4 or 6 numbers", + ); + t.forEach(function (t) { + if (!p(t)) + throw new Error("bbox must only contain numbers"); + }); + }), + (e.validateId = function (t) { + if (!t) throw new Error("id is required"); + if (-1 === ["string", "number"].indexOf(typeof t)) + throw new Error("id must be a number or a string"); + }); + }, + 27138: function (t, e, r) { + "use strict"; + Object.defineProperty(e, "__esModule", { value: !0 }); + var n = r(94228); + function i(t, e, r) { + if (null !== t) + for ( + var n, + a, + o, + s, + l, + u, + c, + f, + h = 0, + p = 0, + d = t.type, + v = "FeatureCollection" === d, + g = "Feature" === d, + y = v ? t.features.length : 1, + m = 0; + m < y; + m++ + ) { + l = (f = + !!(c = v + ? t.features[m].geometry + : g + ? t.geometry + : t) && "GeometryCollection" === c.type) + ? c.geometries.length + : 1; + for (var x = 0; x < l; x++) { + var b = 0, + _ = 0; + if (null !== (s = f ? c.geometries[x] : c)) { + u = s.coordinates; + var w = s.type; + switch ( + ((h = + !r || ("Polygon" !== w && "MultiPolygon" !== w) + ? 0 + : 1), + w) + ) { + case null: + break; + case "Point": + if (!1 === e(u, p, m, b, _)) return !1; + p++, b++; + break; + case "LineString": + case "MultiPoint": + for (n = 0; n < u.length; n++) { + if (!1 === e(u[n], p, m, b, _)) return !1; + p++, "MultiPoint" === w && b++; + } + "LineString" === w && b++; + break; + case "Polygon": + case "MultiLineString": + for (n = 0; n < u.length; n++) { + for (a = 0; a < u[n].length - h; a++) { + if (!1 === e(u[n][a], p, m, b, _)) + return !1; + p++; + } + "MultiLineString" === w && b++, + "Polygon" === w && _++; + } + "Polygon" === w && b++; + break; + case "MultiPolygon": + for (n = 0; n < u.length; n++) { + for (_ = 0, a = 0; a < u[n].length; a++) { + for (o = 0; o < u[n][a].length - h; o++) { + if (!1 === e(u[n][a][o], p, m, b, _)) + return !1; + p++; + } + _++; + } + b++; + } + break; + case "GeometryCollection": + for (n = 0; n < s.geometries.length; n++) + if (!1 === i(s.geometries[n], e, r)) + return !1; + break; + default: + throw new Error("Unknown Geometry Type"); + } + } + } + } + } + function a(t, e) { + var r; + switch (t.type) { + case "FeatureCollection": + for ( + r = 0; + r < t.features.length && + !1 !== e(t.features[r].properties, r); + r++ + ); + break; + case "Feature": + e(t.properties, 0); + } + } + function o(t, e) { + if ("Feature" === t.type) e(t, 0); + else if ("FeatureCollection" === t.type) + for ( + var r = 0; + r < t.features.length && !1 !== e(t.features[r], r); + r++ + ); + } + function s(t, e) { + var r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h = 0, + p = "FeatureCollection" === t.type, + d = "Feature" === t.type, + v = p ? t.features.length : 1; + for (r = 0; r < v; r++) { + for ( + s = p ? t.features[r].geometry : d ? t.geometry : t, + u = p + ? t.features[r].properties + : d + ? t.properties + : {}, + c = p ? t.features[r].bbox : d ? t.bbox : void 0, + f = p ? t.features[r].id : d ? t.id : void 0, + o = (l = !!s && "GeometryCollection" === s.type) + ? s.geometries.length + : 1, + i = 0; + i < o; + i++ + ) + if (null !== (a = l ? s.geometries[i] : s)) + switch (a.type) { + case "Point": + case "LineString": + case "MultiPoint": + case "Polygon": + case "MultiLineString": + case "MultiPolygon": + if (!1 === e(a, h, u, c, f)) return !1; + break; + case "GeometryCollection": + for (n = 0; n < a.geometries.length; n++) + if (!1 === e(a.geometries[n], h, u, c, f)) + return !1; + break; + default: + throw new Error("Unknown Geometry Type"); + } + else if (!1 === e(null, h, u, c, f)) return !1; + h++; + } + } + function l(t, e) { + s(t, function (t, r, i, a, o) { + var s, + l = null === t ? null : t.type; + switch (l) { + case null: + case "Point": + case "LineString": + case "Polygon": + return ( + !1 !== + e(n.feature(t, i, { bbox: a, id: o }), r, 0) && + void 0 + ); + } + switch (l) { + case "MultiPoint": + s = "Point"; + break; + case "MultiLineString": + s = "LineString"; + break; + case "MultiPolygon": + s = "Polygon"; + } + for (var u = 0; u < t.coordinates.length; u++) { + var c = { type: s, coordinates: t.coordinates[u] }; + if (!1 === e(n.feature(c, i), r, u)) return !1; + } + }); + } + function u(t, e) { + l(t, function (t, r, a) { + var o = 0; + if (t.geometry) { + var s = t.geometry.type; + if ("Point" !== s && "MultiPoint" !== s) { + var l, + u = 0, + c = 0, + f = 0; + return ( + !1 !== + i(t, function (i, s, h, p, d) { + if (void 0 === l || r > u || p > c || d > f) + return ( + (l = i), + (u = r), + (c = p), + (f = d), + void (o = 0) + ); + var v = n.lineString([l, i], t.properties); + if (!1 === e(v, r, a, d, o)) return !1; + o++, (l = i); + }) && void 0 + ); + } + } + }); + } + function c(t, e) { + if (!t) throw new Error("geojson is required"); + l(t, function (t, r, i) { + if (null !== t.geometry) { + var a = t.geometry.type, + o = t.geometry.coordinates; + switch (a) { + case "LineString": + if (!1 === e(t, r, i, 0, 0)) return !1; + break; + case "Polygon": + for (var s = 0; s < o.length; s++) + if ( + !1 === + e(n.lineString(o[s], t.properties), r, i, s) + ) + return !1; + } + } + }); + } + (e.coordEach = i), + (e.coordReduce = function (t, e, r, n) { + var a = r; + return ( + i( + t, + function (t, n, i, o, s) { + a = + 0 === n && void 0 === r ? t : e(a, t, n, i, o, s); + }, + n, + ), + a + ); + }), + (e.propEach = a), + (e.propReduce = function (t, e, r) { + var n = r; + return ( + a(t, function (t, i) { + n = 0 === i && void 0 === r ? t : e(n, t, i); + }), + n + ); + }), + (e.featureEach = o), + (e.featureReduce = function (t, e, r) { + var n = r; + return ( + o(t, function (t, i) { + n = 0 === i && void 0 === r ? t : e(n, t, i); + }), + n + ); + }), + (e.coordAll = function (t) { + var e = []; + return ( + i(t, function (t) { + e.push(t); + }), + e + ); + }), + (e.geomEach = s), + (e.geomReduce = function (t, e, r) { + var n = r; + return ( + s(t, function (t, i, a, o, s) { + n = 0 === i && void 0 === r ? t : e(n, t, i, a, o, s); + }), + n + ); + }), + (e.flattenEach = l), + (e.flattenReduce = function (t, e, r) { + var n = r; + return ( + l(t, function (t, i, a) { + n = + 0 === i && 0 === a && void 0 === r + ? t + : e(n, t, i, a); + }), + n + ); + }), + (e.segmentEach = u), + (e.segmentReduce = function (t, e, r) { + var n = r, + i = !1; + return ( + u(t, function (t, a, o, s, l) { + (n = + !1 === i && void 0 === r ? t : e(n, t, a, o, s, l)), + (i = !0); + }), + n + ); + }), + (e.lineEach = c), + (e.lineReduce = function (t, e, r) { + var n = r; + return ( + c(t, function (t, i, a, o) { + n = 0 === i && void 0 === r ? t : e(n, t, i, a, o); + }), + n + ); + }), + (e.findSegment = function (t, e) { + if (((e = e || {}), !n.isObject(e))) + throw new Error("options is invalid"); + var r, + i = e.featureIndex || 0, + a = e.multiFeatureIndex || 0, + o = e.geometryIndex || 0, + s = e.segmentIndex || 0, + l = e.properties; + switch (t.type) { + case "FeatureCollection": + i < 0 && (i = t.features.length + i), + (l = l || t.features[i].properties), + (r = t.features[i].geometry); + break; + case "Feature": + (l = l || t.properties), (r = t.geometry); + break; + case "Point": + case "MultiPoint": + return null; + case "LineString": + case "Polygon": + case "MultiLineString": + case "MultiPolygon": + r = t; + break; + default: + throw new Error("geojson is invalid"); + } + if (null === r) return null; + var u = r.coordinates; + switch (r.type) { + case "Point": + case "MultiPoint": + return null; + case "LineString": + return ( + s < 0 && (s = u.length + s - 1), + n.lineString([u[s], u[s + 1]], l, e) + ); + case "Polygon": + return ( + o < 0 && (o = u.length + o), + s < 0 && (s = u[o].length + s - 1), + n.lineString([u[o][s], u[o][s + 1]], l, e) + ); + case "MultiLineString": + return ( + a < 0 && (a = u.length + a), + s < 0 && (s = u[a].length + s - 1), + n.lineString([u[a][s], u[a][s + 1]], l, e) + ); + case "MultiPolygon": + return ( + a < 0 && (a = u.length + a), + o < 0 && (o = u[a].length + o), + s < 0 && (s = u[a][o].length - s - 1), + n.lineString([u[a][o][s], u[a][o][s + 1]], l, e) + ); + } + throw new Error("geojson is invalid"); + }), + (e.findPoint = function (t, e) { + if (((e = e || {}), !n.isObject(e))) + throw new Error("options is invalid"); + var r, + i = e.featureIndex || 0, + a = e.multiFeatureIndex || 0, + o = e.geometryIndex || 0, + s = e.coordIndex || 0, + l = e.properties; + switch (t.type) { + case "FeatureCollection": + i < 0 && (i = t.features.length + i), + (l = l || t.features[i].properties), + (r = t.features[i].geometry); + break; + case "Feature": + (l = l || t.properties), (r = t.geometry); + break; + case "Point": + case "MultiPoint": + return null; + case "LineString": + case "Polygon": + case "MultiLineString": + case "MultiPolygon": + r = t; + break; + default: + throw new Error("geojson is invalid"); + } + if (null === r) return null; + var u = r.coordinates; + switch (r.type) { + case "Point": + return n.point(u, l, e); + case "MultiPoint": + return ( + a < 0 && (a = u.length + a), n.point(u[a], l, e) + ); + case "LineString": + return ( + s < 0 && (s = u.length + s), n.point(u[s], l, e) + ); + case "Polygon": + return ( + o < 0 && (o = u.length + o), + s < 0 && (s = u[o].length + s), + n.point(u[o][s], l, e) + ); + case "MultiLineString": + return ( + a < 0 && (a = u.length + a), + s < 0 && (s = u[a].length + s), + n.point(u[a][s], l, e) + ); + case "MultiPolygon": + return ( + a < 0 && (a = u.length + a), + o < 0 && (o = u[a].length + o), + s < 0 && (s = u[a][o].length - s), + n.point(u[a][o][s], l, e) + ); + } + throw new Error("geojson is invalid"); + }); + }, + 29261: function (t, e, r) { + "use strict"; + Object.defineProperty(e, "__esModule", { value: !0 }); + var n = r(88553), + i = r(64182); + e.default = function (t, e) { + void 0 === e && (e = {}); + var r = 0, + a = 0, + o = 0; + return ( + n.coordEach(t, function (t) { + (r += t[0]), (a += t[1]), o++; + }), + i.point([r / o, a / o], e.properties) + ); + }; + }, + 64182: function (t, e) { + "use strict"; + function r(t, e, r) { + void 0 === r && (r = {}); + var n = { type: "Feature" }; + return ( + (0 === r.id || r.id) && (n.id = r.id), + r.bbox && (n.bbox = r.bbox), + (n.properties = e || {}), + (n.geometry = t), + n + ); + } + function n(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "Point", coordinates: t }, e, n) + ); + } + function i(t, e, n) { + void 0 === n && (n = {}); + for (var i = 0, a = t; i < a.length; i++) { + var o = a[i]; + if (o.length < 4) + throw new Error( + "Each LinearRing of a Polygon must have 4 or more Positions.", + ); + for (var s = 0; s < o[o.length - 1].length; s++) + if (o[o.length - 1][s] !== o[0][s]) + throw new Error( + "First and last Position are not equivalent.", + ); + } + return r({ type: "Polygon", coordinates: t }, e, n); + } + function a(t, e, n) { + if ((void 0 === n && (n = {}), t.length < 2)) + throw new Error( + "coordinates must be an array of two or more positions", + ); + return r({ type: "LineString", coordinates: t }, e, n); + } + function o(t, e) { + void 0 === e && (e = {}); + var r = { type: "FeatureCollection" }; + return ( + e.id && (r.id = e.id), + e.bbox && (r.bbox = e.bbox), + (r.features = t), + r + ); + } + function s(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "MultiLineString", coordinates: t }, e, n) + ); + } + function l(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "MultiPoint", coordinates: t }, e, n) + ); + } + function u(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "MultiPolygon", coordinates: t }, e, n) + ); + } + function c(t, r) { + void 0 === r && (r = "kilometers"); + var n = e.factors[r]; + if (!n) throw new Error(r + " units is invalid"); + return t * n; + } + function f(t, r) { + void 0 === r && (r = "kilometers"); + var n = e.factors[r]; + if (!n) throw new Error(r + " units is invalid"); + return t / n; + } + function h(t) { + return ((t % (2 * Math.PI)) * 180) / Math.PI; + } + function p(t) { + return ( + !isNaN(t) && + null !== t && + !Array.isArray(t) && + !/^\s*$/.test(t) + ); + } + Object.defineProperty(e, "__esModule", { value: !0 }), + (e.earthRadius = 6371008.8), + (e.factors = { + centimeters: 100 * e.earthRadius, + centimetres: 100 * e.earthRadius, + degrees: e.earthRadius / 111325, + feet: 3.28084 * e.earthRadius, + inches: 39.37 * e.earthRadius, + kilometers: e.earthRadius / 1e3, + kilometres: e.earthRadius / 1e3, + meters: e.earthRadius, + metres: e.earthRadius, + miles: e.earthRadius / 1609.344, + millimeters: 1e3 * e.earthRadius, + millimetres: 1e3 * e.earthRadius, + nauticalmiles: e.earthRadius / 1852, + radians: 1, + yards: e.earthRadius / 1.0936, + }), + (e.unitsFactors = { + centimeters: 100, + centimetres: 100, + degrees: 1 / 111325, + feet: 3.28084, + inches: 39.37, + kilometers: 0.001, + kilometres: 0.001, + meters: 1, + metres: 1, + miles: 1 / 1609.344, + millimeters: 1e3, + millimetres: 1e3, + nauticalmiles: 1 / 1852, + radians: 1 / e.earthRadius, + yards: 1 / 1.0936, + }), + (e.areaFactors = { + acres: 247105e-9, + centimeters: 1e4, + centimetres: 1e4, + feet: 10.763910417, + inches: 1550.003100006, + kilometers: 1e-6, + kilometres: 1e-6, + meters: 1, + metres: 1, + miles: 386e-9, + millimeters: 1e6, + millimetres: 1e6, + yards: 1.195990046, + }), + (e.feature = r), + (e.geometry = function (t, e, r) { + switch ((void 0 === r && (r = {}), t)) { + case "Point": + return n(e).geometry; + case "LineString": + return a(e).geometry; + case "Polygon": + return i(e).geometry; + case "MultiPoint": + return l(e).geometry; + case "MultiLineString": + return s(e).geometry; + case "MultiPolygon": + return u(e).geometry; + default: + throw new Error(t + " is invalid"); + } + }), + (e.point = n), + (e.points = function (t, e, r) { + return ( + void 0 === r && (r = {}), + o( + t.map(function (t) { + return n(t, e); + }), + r, + ) + ); + }), + (e.polygon = i), + (e.polygons = function (t, e, r) { + return ( + void 0 === r && (r = {}), + o( + t.map(function (t) { + return i(t, e); + }), + r, + ) + ); + }), + (e.lineString = a), + (e.lineStrings = function (t, e, r) { + return ( + void 0 === r && (r = {}), + o( + t.map(function (t) { + return a(t, e); + }), + r, + ) + ); + }), + (e.featureCollection = o), + (e.multiLineString = s), + (e.multiPoint = l), + (e.multiPolygon = u), + (e.geometryCollection = function (t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "GeometryCollection", geometries: t }, e, n) + ); + }), + (e.round = function (t, e) { + if ((void 0 === e && (e = 0), e && !(e >= 0))) + throw new Error("precision must be a positive number"); + var r = Math.pow(10, e || 0); + return Math.round(t * r) / r; + }), + (e.radiansToLength = c), + (e.lengthToRadians = f), + (e.lengthToDegrees = function (t, e) { + return h(f(t, e)); + }), + (e.bearingToAzimuth = function (t) { + var e = t % 360; + return e < 0 && (e += 360), e; + }), + (e.radiansToDegrees = h), + (e.degreesToRadians = function (t) { + return ((t % 360) * Math.PI) / 180; + }), + (e.convertLength = function (t, e, r) { + if ( + (void 0 === e && (e = "kilometers"), + void 0 === r && (r = "kilometers"), + !(t >= 0)) + ) + throw new Error("length must be a positive number"); + return c(f(t, e), r); + }), + (e.convertArea = function (t, r, n) { + if ( + (void 0 === r && (r = "meters"), + void 0 === n && (n = "kilometers"), + !(t >= 0)) + ) + throw new Error("area must be a positive number"); + var i = e.areaFactors[r]; + if (!i) throw new Error("invalid original units"); + var a = e.areaFactors[n]; + if (!a) throw new Error("invalid final units"); + return (t / i) * a; + }), + (e.isNumber = p), + (e.isObject = function (t) { + return !!t && t.constructor === Object; + }), + (e.validateBBox = function (t) { + if (!t) throw new Error("bbox is required"); + if (!Array.isArray(t)) + throw new Error("bbox must be an Array"); + if (4 !== t.length && 6 !== t.length) + throw new Error( + "bbox must be an Array of 4 or 6 numbers", + ); + t.forEach(function (t) { + if (!p(t)) + throw new Error("bbox must only contain numbers"); + }); + }), + (e.validateId = function (t) { + if (!t) throw new Error("id is required"); + if (-1 === ["string", "number"].indexOf(typeof t)) + throw new Error("id must be a number or a string"); + }), + (e.radians2degrees = function () { + throw new Error( + "method has been renamed to `radiansToDegrees`", + ); + }), + (e.degrees2radians = function () { + throw new Error( + "method has been renamed to `degreesToRadians`", + ); + }), + (e.distanceToDegrees = function () { + throw new Error( + "method has been renamed to `lengthToDegrees`", + ); + }), + (e.distanceToRadians = function () { + throw new Error( + "method has been renamed to `lengthToRadians`", + ); + }), + (e.radiansToDistance = function () { + throw new Error( + "method has been renamed to `radiansToLength`", + ); + }), + (e.bearingToAngle = function () { + throw new Error( + "method has been renamed to `bearingToAzimuth`", + ); + }), + (e.convertDistance = function () { + throw new Error( + "method has been renamed to `convertLength`", + ); + }); + }, + 88553: function (t, e, r) { + "use strict"; + Object.defineProperty(e, "__esModule", { value: !0 }); + var n = r(64182); + function i(t, e, r) { + if (null !== t) + for ( + var n, + a, + o, + s, + l, + u, + c, + f, + h = 0, + p = 0, + d = t.type, + v = "FeatureCollection" === d, + g = "Feature" === d, + y = v ? t.features.length : 1, + m = 0; + m < y; + m++ + ) { + l = (f = + !!(c = v + ? t.features[m].geometry + : g + ? t.geometry + : t) && "GeometryCollection" === c.type) + ? c.geometries.length + : 1; + for (var x = 0; x < l; x++) { + var b = 0, + _ = 0; + if (null !== (s = f ? c.geometries[x] : c)) { + u = s.coordinates; + var w = s.type; + switch ( + ((h = + !r || ("Polygon" !== w && "MultiPolygon" !== w) + ? 0 + : 1), + w) + ) { + case null: + break; + case "Point": + if (!1 === e(u, p, m, b, _)) return !1; + p++, b++; + break; + case "LineString": + case "MultiPoint": + for (n = 0; n < u.length; n++) { + if (!1 === e(u[n], p, m, b, _)) return !1; + p++, "MultiPoint" === w && b++; + } + "LineString" === w && b++; + break; + case "Polygon": + case "MultiLineString": + for (n = 0; n < u.length; n++) { + for (a = 0; a < u[n].length - h; a++) { + if (!1 === e(u[n][a], p, m, b, _)) + return !1; + p++; + } + "MultiLineString" === w && b++, + "Polygon" === w && _++; + } + "Polygon" === w && b++; + break; + case "MultiPolygon": + for (n = 0; n < u.length; n++) { + for (_ = 0, a = 0; a < u[n].length; a++) { + for (o = 0; o < u[n][a].length - h; o++) { + if (!1 === e(u[n][a][o], p, m, b, _)) + return !1; + p++; + } + _++; + } + b++; + } + break; + case "GeometryCollection": + for (n = 0; n < s.geometries.length; n++) + if (!1 === i(s.geometries[n], e, r)) + return !1; + break; + default: + throw new Error("Unknown Geometry Type"); + } + } + } + } + } + function a(t, e) { + var r; + switch (t.type) { + case "FeatureCollection": + for ( + r = 0; + r < t.features.length && + !1 !== e(t.features[r].properties, r); + r++ + ); + break; + case "Feature": + e(t.properties, 0); + } + } + function o(t, e) { + if ("Feature" === t.type) e(t, 0); + else if ("FeatureCollection" === t.type) + for ( + var r = 0; + r < t.features.length && !1 !== e(t.features[r], r); + r++ + ); + } + function s(t, e) { + var r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h = 0, + p = "FeatureCollection" === t.type, + d = "Feature" === t.type, + v = p ? t.features.length : 1; + for (r = 0; r < v; r++) { + for ( + s = p ? t.features[r].geometry : d ? t.geometry : t, + u = p + ? t.features[r].properties + : d + ? t.properties + : {}, + c = p ? t.features[r].bbox : d ? t.bbox : void 0, + f = p ? t.features[r].id : d ? t.id : void 0, + o = (l = !!s && "GeometryCollection" === s.type) + ? s.geometries.length + : 1, + i = 0; + i < o; + i++ + ) + if (null !== (a = l ? s.geometries[i] : s)) + switch (a.type) { + case "Point": + case "LineString": + case "MultiPoint": + case "Polygon": + case "MultiLineString": + case "MultiPolygon": + if (!1 === e(a, h, u, c, f)) return !1; + break; + case "GeometryCollection": + for (n = 0; n < a.geometries.length; n++) + if (!1 === e(a.geometries[n], h, u, c, f)) + return !1; + break; + default: + throw new Error("Unknown Geometry Type"); + } + else if (!1 === e(null, h, u, c, f)) return !1; + h++; + } + } + function l(t, e) { + s(t, function (t, r, i, a, o) { + var s, + l = null === t ? null : t.type; + switch (l) { + case null: + case "Point": + case "LineString": + case "Polygon": + return ( + !1 !== + e(n.feature(t, i, { bbox: a, id: o }), r, 0) && + void 0 + ); + } + switch (l) { + case "MultiPoint": + s = "Point"; + break; + case "MultiLineString": + s = "LineString"; + break; + case "MultiPolygon": + s = "Polygon"; + } + for (var u = 0; u < t.coordinates.length; u++) { + var c = { type: s, coordinates: t.coordinates[u] }; + if (!1 === e(n.feature(c, i), r, u)) return !1; + } + }); + } + function u(t, e) { + l(t, function (t, r, a) { + var o = 0; + if (t.geometry) { + var s = t.geometry.type; + if ("Point" !== s && "MultiPoint" !== s) { + var l, + u = 0, + c = 0, + f = 0; + return ( + !1 !== + i(t, function (i, s, h, p, d) { + if (void 0 === l || r > u || p > c || d > f) + return ( + (l = i), + (u = r), + (c = p), + (f = d), + void (o = 0) + ); + var v = n.lineString([l, i], t.properties); + if (!1 === e(v, r, a, d, o)) return !1; + o++, (l = i); + }) && void 0 + ); + } + } + }); + } + function c(t, e) { + if (!t) throw new Error("geojson is required"); + l(t, function (t, r, i) { + if (null !== t.geometry) { + var a = t.geometry.type, + o = t.geometry.coordinates; + switch (a) { + case "LineString": + if (!1 === e(t, r, i, 0, 0)) return !1; + break; + case "Polygon": + for (var s = 0; s < o.length; s++) + if ( + !1 === + e(n.lineString(o[s], t.properties), r, i, s) + ) + return !1; + } + } + }); + } + (e.coordEach = i), + (e.coordReduce = function (t, e, r, n) { + var a = r; + return ( + i( + t, + function (t, n, i, o, s) { + a = + 0 === n && void 0 === r ? t : e(a, t, n, i, o, s); + }, + n, + ), + a + ); + }), + (e.propEach = a), + (e.propReduce = function (t, e, r) { + var n = r; + return ( + a(t, function (t, i) { + n = 0 === i && void 0 === r ? t : e(n, t, i); + }), + n + ); + }), + (e.featureEach = o), + (e.featureReduce = function (t, e, r) { + var n = r; + return ( + o(t, function (t, i) { + n = 0 === i && void 0 === r ? t : e(n, t, i); + }), + n + ); + }), + (e.coordAll = function (t) { + var e = []; + return ( + i(t, function (t) { + e.push(t); + }), + e + ); + }), + (e.geomEach = s), + (e.geomReduce = function (t, e, r) { + var n = r; + return ( + s(t, function (t, i, a, o, s) { + n = 0 === i && void 0 === r ? t : e(n, t, i, a, o, s); + }), + n + ); + }), + (e.flattenEach = l), + (e.flattenReduce = function (t, e, r) { + var n = r; + return ( + l(t, function (t, i, a) { + n = + 0 === i && 0 === a && void 0 === r + ? t + : e(n, t, i, a); + }), + n + ); + }), + (e.segmentEach = u), + (e.segmentReduce = function (t, e, r) { + var n = r, + i = !1; + return ( + u(t, function (t, a, o, s, l) { + (n = + !1 === i && void 0 === r ? t : e(n, t, a, o, s, l)), + (i = !0); + }), + n + ); + }), + (e.lineEach = c), + (e.lineReduce = function (t, e, r) { + var n = r; + return ( + c(t, function (t, i, a, o) { + n = 0 === i && void 0 === r ? t : e(n, t, i, a, o); + }), + n + ); + }), + (e.findSegment = function (t, e) { + if (((e = e || {}), !n.isObject(e))) + throw new Error("options is invalid"); + var r, + i = e.featureIndex || 0, + a = e.multiFeatureIndex || 0, + o = e.geometryIndex || 0, + s = e.segmentIndex || 0, + l = e.properties; + switch (t.type) { + case "FeatureCollection": + i < 0 && (i = t.features.length + i), + (l = l || t.features[i].properties), + (r = t.features[i].geometry); + break; + case "Feature": + (l = l || t.properties), (r = t.geometry); + break; + case "Point": + case "MultiPoint": + return null; + case "LineString": + case "Polygon": + case "MultiLineString": + case "MultiPolygon": + r = t; + break; + default: + throw new Error("geojson is invalid"); + } + if (null === r) return null; + var u = r.coordinates; + switch (r.type) { + case "Point": + case "MultiPoint": + return null; + case "LineString": + return ( + s < 0 && (s = u.length + s - 1), + n.lineString([u[s], u[s + 1]], l, e) + ); + case "Polygon": + return ( + o < 0 && (o = u.length + o), + s < 0 && (s = u[o].length + s - 1), + n.lineString([u[o][s], u[o][s + 1]], l, e) + ); + case "MultiLineString": + return ( + a < 0 && (a = u.length + a), + s < 0 && (s = u[a].length + s - 1), + n.lineString([u[a][s], u[a][s + 1]], l, e) + ); + case "MultiPolygon": + return ( + a < 0 && (a = u.length + a), + o < 0 && (o = u[a].length + o), + s < 0 && (s = u[a][o].length - s - 1), + n.lineString([u[a][o][s], u[a][o][s + 1]], l, e) + ); + } + throw new Error("geojson is invalid"); + }), + (e.findPoint = function (t, e) { + if (((e = e || {}), !n.isObject(e))) + throw new Error("options is invalid"); + var r, + i = e.featureIndex || 0, + a = e.multiFeatureIndex || 0, + o = e.geometryIndex || 0, + s = e.coordIndex || 0, + l = e.properties; + switch (t.type) { + case "FeatureCollection": + i < 0 && (i = t.features.length + i), + (l = l || t.features[i].properties), + (r = t.features[i].geometry); + break; + case "Feature": + (l = l || t.properties), (r = t.geometry); + break; + case "Point": + case "MultiPoint": + return null; + case "LineString": + case "Polygon": + case "MultiLineString": + case "MultiPolygon": + r = t; + break; + default: + throw new Error("geojson is invalid"); + } + if (null === r) return null; + var u = r.coordinates; + switch (r.type) { + case "Point": + return n.point(u, l, e); + case "MultiPoint": + return ( + a < 0 && (a = u.length + a), n.point(u[a], l, e) + ); + case "LineString": + return ( + s < 0 && (s = u.length + s), n.point(u[s], l, e) + ); + case "Polygon": + return ( + o < 0 && (o = u.length + o), + s < 0 && (s = u[o].length + s), + n.point(u[o][s], l, e) + ); + case "MultiLineString": + return ( + a < 0 && (a = u.length + a), + s < 0 && (s = u[a].length + s), + n.point(u[a][s], l, e) + ); + case "MultiPolygon": + return ( + a < 0 && (a = u.length + a), + o < 0 && (o = u[a].length + o), + s < 0 && (s = u[a][o].length - s), + n.point(u[a][o][s], l, e) + ); + } + throw new Error("geojson is invalid"); + }); + }, + 65185: function (t) { + t.exports = 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; + }); + }; + }, + 21527: function (t) { + "use strict"; + t.exports = 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; + }; + }, + 6851: function (t) { + "use strict"; + t.exports = function (t, e, r) { + if ("function" == typeof Array.prototype.findIndex) + return t.findIndex(e, r); + if ("function" != typeof e) + throw new TypeError("predicate must be a function"); + var n = Object(t), + i = n.length; + if (0 === i) return -1; + for (var a = 0; a < i; a++) + if (e.call(r, n[a], a, n)) return a; + return -1; + }; + }, + 54: function (t, e, r) { + "use strict"; + var n = r(21527); + t.exports = function (t, e, r) { + if (!t || null == t.length) + throw Error("Argument should be an array"); + null == e && (e = 1), null == r && (r = n(t, e)); + for (var i = 0; i < e; i++) { + var a = r[e + i], + o = r[i], + s = i, + l = t.length; + if (a === 1 / 0 && o === -1 / 0) + for (s = i; s < l; s += e) + t[s] = t[s] === a ? 1 : t[s] === o ? 0 : 0.5; + else if (a === 1 / 0) + for (s = i; s < l; s += e) t[s] = t[s] === a ? 1 : 0; + else if (o === -1 / 0) + for (s = i; s < l; s += e) t[s] = t[s] === o ? 0 : 1; + else { + var u = a - o; + for (s = i; s < l; s += e) + isNaN(t[s]) || + (t[s] = 0 === u ? 0.5 : (t[s] - o) / u); + } + } + return t; + }; + }, + 57471: function (t) { + t.exports = 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; + }; + }, + 32791: function (t, e, r) { + "use strict"; + var n = r(90386); + function i(t) { + return ( + (i = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function (t) { + return typeof t; + } + : function (t) { + return t && + "function" == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? "symbol" + : typeof t; + }), + i(t) + ); + } + var a, + o, + s = r(79616).codes, + l = s.ERR_AMBIGUOUS_ARGUMENT, + u = s.ERR_INVALID_ARG_TYPE, + c = s.ERR_INVALID_ARG_VALUE, + f = s.ERR_INVALID_RETURN_VALUE, + h = s.ERR_MISSING_ARGS, + p = r(73894), + d = r(43827).inspect, + v = r(43827).types, + g = v.isPromise, + y = v.isRegExp, + m = Object.assign ? Object.assign : r(73523).assign, + x = Object.is ? Object.is : r(64003); + function b() { + var t = r(74061); + (a = t.isDeepEqual), (o = t.isDeepStrictEqual); + } + new Map(); + var _ = !1, + w = (t.exports = M), + T = {}; + function k(t) { + if (t.message instanceof Error) throw t.message; + throw new p(t); + } + function A(t, e, r, n) { + if (!r) { + var i = !1; + if (0 === e) + (i = !0), + (n = "No value argument passed to `assert.ok()`"); + else if (n instanceof Error) throw n; + var a = new p({ + actual: r, + expected: !0, + message: n, + operator: "==", + stackStartFn: t, + }); + throw ((a.generatedMessage = i), a); + } + } + function M() { + for ( + var t = arguments.length, e = new Array(t), r = 0; + r < t; + r++ + ) + e[r] = arguments[r]; + A.apply(void 0, [M, e.length].concat(e)); + } + (w.fail = function t(e, r, i, a, o) { + var s, + l = arguments.length; + if (0 === l) s = "Failed"; + else if (1 === l) (i = e), (e = void 0); + else { + if (!1 === _) { + _ = !0; + var u = n.emitWarning + ? n.emitWarning + : console.warn.bind(console); + u( + "assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.", + "DeprecationWarning", + "DEP0094", + ); + } + 2 === l && (a = "!="); + } + if (i instanceof Error) throw i; + var c = { + actual: e, + expected: r, + operator: void 0 === a ? "fail" : a, + stackStartFn: o || t, + }; + void 0 !== i && (c.message = i); + var f = new p(c); + throw ( + (s && ((f.message = s), (f.generatedMessage = !0)), f) + ); + }), + (w.AssertionError = p), + (w.ok = M), + (w.equal = function t(e, r, n) { + if (arguments.length < 2) + throw new h("actual", "expected"); + e != r && + k({ + actual: e, + expected: r, + message: n, + operator: "==", + stackStartFn: t, + }); + }), + (w.notEqual = function t(e, r, n) { + if (arguments.length < 2) + throw new h("actual", "expected"); + e == r && + k({ + actual: e, + expected: r, + message: n, + operator: "!=", + stackStartFn: t, + }); + }), + (w.deepEqual = function t(e, r, n) { + if (arguments.length < 2) + throw new h("actual", "expected"); + void 0 === a && b(), + a(e, r) || + k({ + actual: e, + expected: r, + message: n, + operator: "deepEqual", + stackStartFn: t, + }); + }), + (w.notDeepEqual = function t(e, r, n) { + if (arguments.length < 2) + throw new h("actual", "expected"); + void 0 === a && b(), + a(e, r) && + k({ + actual: e, + expected: r, + message: n, + operator: "notDeepEqual", + stackStartFn: t, + }); + }), + (w.deepStrictEqual = function t(e, r, n) { + if (arguments.length < 2) + throw new h("actual", "expected"); + void 0 === a && b(), + o(e, r) || + k({ + actual: e, + expected: r, + message: n, + operator: "deepStrictEqual", + stackStartFn: t, + }); + }), + (w.notDeepStrictEqual = function t(e, r, n) { + if (arguments.length < 2) + throw new h("actual", "expected"); + void 0 === a && b(), + o(e, r) && + k({ + actual: e, + expected: r, + message: n, + operator: "notDeepStrictEqual", + stackStartFn: t, + }); + }), + (w.strictEqual = function t(e, r, n) { + if (arguments.length < 2) + throw new h("actual", "expected"); + x(e, r) || + k({ + actual: e, + expected: r, + message: n, + operator: "strictEqual", + stackStartFn: t, + }); + }), + (w.notStrictEqual = function t(e, r, n) { + if (arguments.length < 2) + throw new h("actual", "expected"); + x(e, r) && + k({ + actual: e, + expected: r, + message: n, + operator: "notStrictEqual", + stackStartFn: t, + }); + }); + var S = function t(e, r, n) { + var i = this; + !(function (t, e) { + if (!(t instanceof e)) + throw new TypeError( + "Cannot call a class as a function", + ); + })(this, t), + r.forEach(function (t) { + t in e && + (void 0 !== n && + "string" == typeof n[t] && + y(e[t]) && + e[t].test(n[t]) + ? (i[t] = n[t]) + : (i[t] = e[t])); + }); + }; + function E(t, e, r, n, i, a) { + if (!(r in t) || !o(t[r], e[r])) { + if (!n) { + var s = new S(t, i), + l = new S(e, i, t), + u = new p({ + actual: s, + expected: l, + operator: "deepStrictEqual", + stackStartFn: a, + }); + throw ( + ((u.actual = t), + (u.expected = e), + (u.operator = a.name), + u) + ); + } + k({ + actual: t, + expected: e, + message: n, + operator: a.name, + stackStartFn: a, + }); + } + } + function L(t, e, r, n) { + if ("function" != typeof e) { + if (y(e)) return e.test(t); + if (2 === arguments.length) + throw new u("expected", ["Function", "RegExp"], e); + if ("object" !== i(t) || null === t) { + var o = new p({ + actual: t, + expected: e, + message: r, + operator: "deepStrictEqual", + stackStartFn: n, + }); + throw ((o.operator = n.name), o); + } + var s = Object.keys(e); + if (e instanceof Error) s.push("name", "message"); + else if (0 === s.length) + throw new c("error", e, "may not be an empty object"); + return ( + void 0 === a && b(), + s.forEach(function (i) { + ("string" == typeof t[i] && + y(e[i]) && + e[i].test(t[i])) || + E(t, e, i, r, s, n); + }), + !0 + ); + } + return ( + (void 0 !== e.prototype && t instanceof e) || + (!Error.isPrototypeOf(e) && !0 === e.call({}, t)) + ); + } + function C(t) { + if ("function" != typeof t) + throw new u("fn", "Function", t); + try { + t(); + } catch (t) { + return t; + } + return T; + } + function P(t) { + return ( + g(t) || + (null !== t && + "object" === i(t) && + "function" == typeof t.then && + "function" == typeof t.catch) + ); + } + function O(t) { + return Promise.resolve().then(function () { + var e; + if ("function" == typeof t) { + if (!P((e = t()))) + throw new f("instance of Promise", "promiseFn", e); + } else { + if (!P(t)) + throw new u("promiseFn", ["Function", "Promise"], t); + e = t; + } + return Promise.resolve() + .then(function () { + return e; + }) + .then(function () { + return T; + }) + .catch(function (t) { + return t; + }); + }); + } + function I(t, e, r, n) { + if ("string" == typeof r) { + if (4 === arguments.length) + throw new u( + "error", + ["Object", "Error", "Function", "RegExp"], + r, + ); + if ("object" === i(e) && null !== e) { + if (e.message === r) + throw new l( + "error/message", + 'The error message "'.concat( + e.message, + '" is identical to the message.', + ), + ); + } else if (e === r) + throw new l( + "error/message", + 'The error "'.concat( + e, + '" is identical to the message.', + ), + ); + (n = r), (r = void 0); + } else if ( + null != r && + "object" !== i(r) && + "function" != typeof r + ) + throw new u( + "error", + ["Object", "Error", "Function", "RegExp"], + r, + ); + if (e === T) { + var a = ""; + r && r.name && (a += " (".concat(r.name, ")")), + (a += n ? ": ".concat(n) : "."); + var o = "rejects" === t.name ? "rejection" : "exception"; + k({ + actual: void 0, + expected: r, + operator: t.name, + message: "Missing expected ".concat(o).concat(a), + stackStartFn: t, + }); + } + if (r && !L(e, r, n, t)) throw e; + } + function D(t, e, r, n) { + if (e !== T) { + if ( + ("string" == typeof r && ((n = r), (r = void 0)), + !r || L(e, r)) + ) { + var i = n ? ": ".concat(n) : ".", + a = + "doesNotReject" === t.name + ? "rejection" + : "exception"; + k({ + actual: e, + expected: r, + operator: t.name, + message: + "Got unwanted ".concat(a).concat(i, "\n") + + 'Actual message: "'.concat(e && e.message, '"'), + stackStartFn: t, + }); + } + throw e; + } + } + function z() { + for ( + var t = arguments.length, e = new Array(t), r = 0; + r < t; + r++ + ) + e[r] = arguments[r]; + A.apply(void 0, [z, e.length].concat(e)); + } + (w.throws = function t(e) { + for ( + var r = arguments.length, + n = new Array(r > 1 ? r - 1 : 0), + i = 1; + i < r; + i++ + ) + n[i - 1] = arguments[i]; + I.apply(void 0, [t, C(e)].concat(n)); + }), + (w.rejects = function t(e) { + for ( + var r = arguments.length, + n = new Array(r > 1 ? r - 1 : 0), + i = 1; + i < r; + i++ + ) + n[i - 1] = arguments[i]; + return O(e).then(function (e) { + return I.apply(void 0, [t, e].concat(n)); + }); + }), + (w.doesNotThrow = function t(e) { + for ( + var r = arguments.length, + n = new Array(r > 1 ? r - 1 : 0), + i = 1; + i < r; + i++ + ) + n[i - 1] = arguments[i]; + D.apply(void 0, [t, C(e)].concat(n)); + }), + (w.doesNotReject = function t(e) { + for ( + var r = arguments.length, + n = new Array(r > 1 ? r - 1 : 0), + i = 1; + i < r; + i++ + ) + n[i - 1] = arguments[i]; + return O(e).then(function (e) { + return D.apply(void 0, [t, e].concat(n)); + }); + }), + (w.ifError = function t(e) { + if (null != e) { + var r = "ifError got unwanted exception: "; + "object" === i(e) && "string" == typeof e.message + ? 0 === e.message.length && e.constructor + ? (r += e.constructor.name) + : (r += e.message) + : (r += d(e)); + var n = new p({ + actual: e, + expected: null, + operator: "ifError", + message: r, + stackStartFn: t, + }), + a = e.stack; + if ("string" == typeof a) { + var o = a.split("\n"); + o.shift(); + for ( + var s = n.stack.split("\n"), l = 0; + l < o.length; + l++ + ) { + var u = s.indexOf(o[l]); + if (-1 !== u) { + s = s.slice(0, u); + break; + } + } + n.stack = "" + .concat(s.join("\n"), "\n") + .concat(o.join("\n")); + } + throw n; + } + }), + (w.strict = m(z, w, { + equal: w.strictEqual, + deepEqual: w.deepStrictEqual, + notEqual: w.notStrictEqual, + notDeepEqual: w.notDeepStrictEqual, + })), + (w.strict.strict = w.strict); + }, + 73894: function (t, e, r) { + "use strict"; + var n = r(90386); + function i(t, e, r) { + return ( + e in t + ? Object.defineProperty(t, e, { + value: r, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (t[e] = r), + t + ); + } + function a(t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r]; + (n.enumerable = n.enumerable || !1), + (n.configurable = !0), + "value" in n && (n.writable = !0), + Object.defineProperty(t, n.key, n); + } + } + function o(t, e) { + return !e || ("object" !== p(e) && "function" != typeof e) + ? s(t) + : e; + } + function s(t) { + if (void 0 === t) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called", + ); + return t; + } + function l(t) { + var e = "function" == typeof Map ? new Map() : void 0; + return ( + (l = function (t) { + if ( + null === t || + ((r = t), + -1 === + Function.toString.call(r).indexOf("[native code]")) + ) + return t; + var r; + if ("function" != typeof t) + throw new TypeError( + "Super expression must either be null or a function", + ); + if (void 0 !== e) { + if (e.has(t)) return e.get(t); + e.set(t, n); + } + function n() { + return c(t, arguments, h(this).constructor); + } + return ( + (n.prototype = Object.create(t.prototype, { + constructor: { + value: n, + enumerable: !1, + writable: !0, + configurable: !0, + }, + })), + f(n, t) + ); + }), + l(t) + ); + } + function u() { + if ("undefined" == typeof Reflect || !Reflect.construct) + return !1; + if (Reflect.construct.sham) return !1; + if ("function" == typeof Proxy) return !0; + try { + return ( + Date.prototype.toString.call( + Reflect.construct(Date, [], function () {}), + ), + !0 + ); + } catch (t) { + return !1; + } + } + function c(t, e, r) { + return ( + (c = u() + ? Reflect.construct + : function (t, e, r) { + var n = [null]; + n.push.apply(n, e); + var i = new (Function.bind.apply(t, n))(); + return r && f(i, r.prototype), i; + }), + c.apply(null, arguments) + ); + } + function f(t, e) { + return ( + (f = + Object.setPrototypeOf || + function (t, e) { + return (t.__proto__ = e), t; + }), + f(t, e) + ); + } + function h(t) { + return ( + (h = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (t) { + return t.__proto__ || Object.getPrototypeOf(t); + }), + h(t) + ); + } + function p(t) { + return ( + (p = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function (t) { + return typeof t; + } + : function (t) { + return t && + "function" == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? "symbol" + : typeof t; + }), + p(t) + ); + } + var d = r(43827).inspect, + v = r(79616).codes.ERR_INVALID_ARG_TYPE; + function g(t, e, r) { + return ( + (void 0 === r || r > t.length) && (r = t.length), + t.substring(r - e.length, r) === e + ); + } + var y = "", + m = "", + x = "", + b = "", + _ = { + deepStrictEqual: + "Expected values to be strictly deep-equal:", + strictEqual: "Expected values to be strictly equal:", + strictEqualObject: + 'Expected "actual" to be reference-equal to "expected":', + deepEqual: "Expected values to be loosely deep-equal:", + equal: "Expected values to be loosely equal:", + notDeepStrictEqual: + 'Expected "actual" not to be strictly deep-equal to:', + notStrictEqual: + 'Expected "actual" to be strictly unequal to:', + notStrictEqualObject: + 'Expected "actual" not to be reference-equal to "expected":', + notDeepEqual: + 'Expected "actual" not to be loosely deep-equal to:', + notEqual: 'Expected "actual" to be loosely unequal to:', + notIdentical: "Values identical but not reference-equal:", + }; + function w(t) { + var e = Object.keys(t), + r = Object.create(Object.getPrototypeOf(t)); + return ( + e.forEach(function (e) { + r[e] = t[e]; + }), + Object.defineProperty(r, "message", { value: t.message }), + r + ); + } + function T(t) { + return d(t, { + compact: !1, + customInspect: !1, + depth: 1e3, + maxArrayLength: 1 / 0, + showHidden: !1, + breakLength: 1 / 0, + showProxy: !1, + sorted: !0, + getters: !0, + }); + } + var k = (function (t) { + function e(t) { + var r; + if ( + ((function (t, e) { + if (!(t instanceof e)) + throw new TypeError( + "Cannot call a class as a function", + ); + })(this, e), + "object" !== p(t) || null === t) + ) + throw new v("options", "Object", t); + var i = t.message, + a = t.operator, + l = t.stackStartFn, + u = t.actual, + c = t.expected, + f = Error.stackTraceLimit; + if (((Error.stackTraceLimit = 0), null != i)) + r = o(this, h(e).call(this, String(i))); + else if ( + (n.stderr && + n.stderr.isTTY && + (n.stderr && + n.stderr.getColorDepth && + 1 !== n.stderr.getColorDepth() + ? ((y = ""), + (m = ""), + (b = ""), + (x = "")) + : ((y = ""), (m = ""), (b = ""), (x = ""))), + "object" === p(u) && + null !== u && + "object" === p(c) && + null !== c && + "stack" in u && + u instanceof Error && + "stack" in c && + c instanceof Error && + ((u = w(u)), (c = w(c))), + "deepStrictEqual" === a || "strictEqual" === a) + ) + r = o( + this, + h(e).call( + this, + (function (t, e, r) { + var i = "", + a = "", + o = 0, + s = "", + l = !1, + u = T(t), + c = u.split("\n"), + f = T(e).split("\n"), + h = 0, + d = ""; + if ( + ("strictEqual" === r && + "object" === p(t) && + "object" === p(e) && + null !== t && + null !== e && + (r = "strictEqualObject"), + 1 === c.length && + 1 === f.length && + c[0] !== f[0]) + ) { + var v = c[0].length + f[0].length; + if (v <= 10) { + if ( + !( + ("object" === p(t) && null !== t) || + ("object" === p(e) && null !== e) || + (0 === t && 0 === e) + ) + ) + return ( + "".concat(_[r], "\n\n") + + "" + .concat(c[0], " !== ") + .concat(f[0], "\n") + ); + } else if ( + "strictEqualObject" !== r && + v < + (n.stderr && n.stderr.isTTY + ? n.stderr.columns + : 80) + ) { + for (; c[0][h] === f[0][h]; ) h++; + h > 2 && + ((d = "\n ".concat( + (function (t, e) { + if ( + ((e = Math.floor(e)), + 0 == t.length || 0 == e) + ) + return ""; + var r = t.length * e; + for ( + e = Math.floor( + Math.log(e) / Math.log(2), + ); + e; + + ) + (t += t), e--; + return t + t.substring(0, r - t.length); + })(" ", h), + "^", + )), + (h = 0)); + } + } + for ( + var w = c[c.length - 1], k = f[f.length - 1]; + w === k && + (h++ < 2 + ? (s = "\n ".concat(w).concat(s)) + : (i = w), + c.pop(), + f.pop(), + 0 !== c.length && 0 !== f.length); + + ) + (w = c[c.length - 1]), (k = f[f.length - 1]); + var A = Math.max(c.length, f.length); + if (0 === A) { + var M = u.split("\n"); + if (M.length > 30) + for ( + M[26] = "".concat(y, "...").concat(b); + M.length > 27; + + ) + M.pop(); + return "" + .concat(_.notIdentical, "\n\n") + .concat(M.join("\n"), "\n"); + } + h > 3 && + ((s = "\n" + .concat(y, "...") + .concat(b) + .concat(s)), + (l = !0)), + "" !== i && + ((s = "\n ".concat(i).concat(s)), (i = "")); + var S = 0, + E = + _[r] + + "\n" + .concat(m, "+ actual") + .concat(b, " ") + .concat(x, "- expected") + .concat(b), + L = " " + .concat(y, "...") + .concat(b, " Lines skipped"); + for (h = 0; h < A; h++) { + var C = h - o; + if (c.length < h + 1) + C > 1 && + h > 2 && + (C > 4 + ? ((a += "\n".concat(y, "...").concat(b)), + (l = !0)) + : C > 3 && + ((a += "\n ".concat(f[h - 2])), S++), + (a += "\n ".concat(f[h - 1])), + S++), + (o = h), + (i += "\n" + .concat(x, "-") + .concat(b, " ") + .concat(f[h])), + S++; + else if (f.length < h + 1) + C > 1 && + h > 2 && + (C > 4 + ? ((a += "\n".concat(y, "...").concat(b)), + (l = !0)) + : C > 3 && + ((a += "\n ".concat(c[h - 2])), S++), + (a += "\n ".concat(c[h - 1])), + S++), + (o = h), + (a += "\n" + .concat(m, "+") + .concat(b, " ") + .concat(c[h])), + S++; + else { + var P = f[h], + O = c[h], + I = + O !== P && + (!g(O, ",") || O.slice(0, -1) !== P); + I && + g(P, ",") && + P.slice(0, -1) === O && + ((I = !1), (O += ",")), + I + ? (C > 1 && + h > 2 && + (C > 4 + ? ((a += "\n" + .concat(y, "...") + .concat(b)), + (l = !0)) + : C > 3 && + ((a += "\n ".concat(c[h - 2])), + S++), + (a += "\n ".concat(c[h - 1])), + S++), + (o = h), + (a += "\n" + .concat(m, "+") + .concat(b, " ") + .concat(O)), + (i += "\n" + .concat(x, "-") + .concat(b, " ") + .concat(P)), + (S += 2)) + : ((a += i), + (i = ""), + (1 !== C && 0 !== h) || + ((a += "\n ".concat(O)), S++)); + } + if (S > 20 && h < A - 2) + return ( + "" + .concat(E) + .concat(L, "\n") + .concat(a, "\n") + .concat(y, "...") + .concat(b) + .concat(i, "\n") + + "".concat(y, "...").concat(b) + ); + } + return "" + .concat(E) + .concat(l ? L : "", "\n") + .concat(a) + .concat(i) + .concat(s) + .concat(d); + })(u, c, a), + ), + ); + else if ( + "notDeepStrictEqual" === a || + "notStrictEqual" === a + ) { + var d = _[a], + k = T(u).split("\n"); + if ( + ("notStrictEqual" === a && + "object" === p(u) && + null !== u && + (d = _.notStrictEqualObject), + k.length > 30) + ) + for ( + k[26] = "".concat(y, "...").concat(b); + k.length > 27; + + ) + k.pop(); + r = + 1 === k.length + ? o( + this, + h(e).call(this, "".concat(d, " ").concat(k[0])), + ) + : o( + this, + h(e).call( + this, + "" + .concat(d, "\n\n") + .concat(k.join("\n"), "\n"), + ), + ); + } else { + var A = T(u), + M = "", + S = _[a]; + "notDeepEqual" === a || "notEqual" === a + ? (A = "".concat(_[a], "\n\n").concat(A)).length > + 1024 && (A = "".concat(A.slice(0, 1021), "...")) + : ((M = "".concat(T(c))), + A.length > 512 && + (A = "".concat(A.slice(0, 509), "...")), + M.length > 512 && + (M = "".concat(M.slice(0, 509), "...")), + "deepEqual" === a || "equal" === a + ? (A = "" + .concat(S, "\n\n") + .concat(A, "\n\nshould equal\n\n")) + : (M = " ".concat(a, " ").concat(M))), + (r = o( + this, + h(e).call(this, "".concat(A).concat(M)), + )); + } + return ( + (Error.stackTraceLimit = f), + (r.generatedMessage = !i), + Object.defineProperty(s(r), "name", { + value: "AssertionError [ERR_ASSERTION]", + enumerable: !1, + writable: !0, + configurable: !0, + }), + (r.code = "ERR_ASSERTION"), + (r.actual = u), + (r.expected = c), + (r.operator = a), + Error.captureStackTrace && + Error.captureStackTrace(s(r), l), + r.stack, + (r.name = "AssertionError"), + o(r) + ); + } + var r, l; + return ( + (function (t, e) { + if ("function" != typeof e && null !== e) + throw new TypeError( + "Super expression must either be null or a function", + ); + (t.prototype = Object.create(e && e.prototype, { + constructor: { + value: t, + writable: !0, + configurable: !0, + }, + })), + e && f(t, e); + })(e, t), + (r = e), + (l = [ + { + key: "toString", + value: function () { + return "" + .concat(this.name, " [") + .concat(this.code, "]: ") + .concat(this.message); + }, + }, + { + key: d.custom, + value: function (t, e) { + return d( + this, + (function (t) { + for (var e = 1; e < arguments.length; e++) { + var r = + null != arguments[e] ? arguments[e] : {}, + n = Object.keys(r); + "function" == + typeof Object.getOwnPropertySymbols && + (n = n.concat( + Object.getOwnPropertySymbols(r).filter( + function (t) { + return Object.getOwnPropertyDescriptor( + r, + t, + ).enumerable; + }, + ), + )), + n.forEach(function (e) { + i(t, e, r[e]); + }); + } + return t; + })({}, e, { customInspect: !1, depth: 0 }), + ); + }, + }, + ]), + l && a(r.prototype, l), + e + ); + })(l(Error)); + t.exports = k; + }, + 79616: function (t, e, r) { + "use strict"; + function n(t) { + return ( + (n = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function (t) { + return typeof t; + } + : function (t) { + return t && + "function" == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? "symbol" + : typeof t; + }), + n(t) + ); + } + function i(t) { + return ( + (i = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (t) { + return t.__proto__ || Object.getPrototypeOf(t); + }), + i(t) + ); + } + function a(t, e) { + return ( + (a = + Object.setPrototypeOf || + function (t, e) { + return (t.__proto__ = e), t; + }), + a(t, e) + ); + } + var o, + s, + l = {}; + function u(t, e, r) { + r || (r = Error); + var o = (function (r) { + function o(r, a, s) { + var l; + return ( + (function (t, e) { + if (!(t instanceof e)) + throw new TypeError( + "Cannot call a class as a function", + ); + })(this, o), + (l = (function (t, e) { + return !e || + ("object" !== n(e) && "function" != typeof e) + ? (function (t) { + if (void 0 === t) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called", + ); + return t; + })(t) + : e; + })( + this, + i(o).call( + this, + (function (t, r, n) { + return "string" == typeof e ? e : e(t, r, n); + })(r, a, s), + ), + )), + (l.code = t), + l + ); + } + return ( + (function (t, e) { + if ("function" != typeof e && null !== e) + throw new TypeError( + "Super expression must either be null or a function", + ); + (t.prototype = Object.create(e && e.prototype, { + constructor: { + value: t, + writable: !0, + configurable: !0, + }, + })), + e && a(t, e); + })(o, r), + o + ); + })(r); + l[t] = o; + } + function c(t, e) { + if (Array.isArray(t)) { + var r = t.length; + return ( + (t = t.map(function (t) { + return String(t); + })), + r > 2 + ? "one of " + .concat(e, " ") + .concat(t.slice(0, r - 1).join(", "), ", or ") + + t[r - 1] + : 2 === r + ? "one of " + .concat(e, " ") + .concat(t[0], " or ") + .concat(t[1]) + : "of ".concat(e, " ").concat(t[0]) + ); + } + return "of ".concat(e, " ").concat(String(t)); + } + u( + "ERR_AMBIGUOUS_ARGUMENT", + 'The "%s" argument is ambiguous. %s', + TypeError, + ), + u( + "ERR_INVALID_ARG_TYPE", + function (t, e, i) { + var a, s, l, u, f; + if ( + (void 0 === o && (o = r(32791)), + o("string" == typeof t, "'name' must be a string"), + "string" == typeof e && + ((s = "not "), e.substr(0, s.length) === s) + ? ((a = "must not be"), + (e = e.replace(/^not /, ""))) + : (a = "must be"), + (function (t, e, r) { + return ( + (void 0 === r || r > t.length) && (r = t.length), + t.substring(r - e.length, r) === e + ); + })(t, " argument")) + ) + l = "The " + .concat(t, " ") + .concat(a, " ") + .concat(c(e, "type")); + else { + var h = + ("number" != typeof f && (f = 0), + f + ".".length > (u = t).length || + -1 === u.indexOf(".", f) + ? "argument" + : "property"); + l = 'The "' + .concat(t, '" ') + .concat(h, " ") + .concat(a, " ") + .concat(c(e, "type")); + } + return l + ". Received type ".concat(n(i)); + }, + TypeError, + ), + u( + "ERR_INVALID_ARG_VALUE", + function (t, e) { + var n = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : "is invalid"; + void 0 === s && (s = r(43827)); + var i = s.inspect(e); + return ( + i.length > 128 && + (i = "".concat(i.slice(0, 128), "...")), + "The argument '" + .concat(t, "' ") + .concat(n, ". Received ") + .concat(i) + ); + }, + TypeError, + RangeError, + ), + u( + "ERR_INVALID_RETURN_VALUE", + function (t, e, r) { + var i; + return ( + (i = + r && r.constructor && r.constructor.name + ? "instance of ".concat(r.constructor.name) + : "type ".concat(n(r))), + "Expected " + .concat(t, ' to be returned from the "') + .concat(e, '"') + + " function but got ".concat(i, ".") + ); + }, + TypeError, + ), + u( + "ERR_MISSING_ARGS", + function () { + for ( + var t = arguments.length, e = new Array(t), n = 0; + n < t; + n++ + ) + e[n] = arguments[n]; + void 0 === o && (o = r(32791)), + o( + e.length > 0, + "At least one arg needs to be specified", + ); + var i = "The ", + a = e.length; + switch ( + ((e = e.map(function (t) { + return '"'.concat(t, '"'); + })), + a) + ) { + case 1: + i += "".concat(e[0], " argument"); + break; + case 2: + i += "" + .concat(e[0], " and ") + .concat(e[1], " arguments"); + break; + default: + (i += e.slice(0, a - 1).join(", ")), + (i += ", and ".concat(e[a - 1], " arguments")); + } + return "".concat(i, " must be specified"); + }, + TypeError, + ), + (t.exports.codes = l); + }, + 74061: function (t, e, r) { + "use strict"; + function n(t, e) { + return ( + (function (t) { + if (Array.isArray(t)) return t; + })(t) || + (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 || null == s.return || s.return(); + } finally { + if (i) throw a; + } + } + return r; + })(t, e) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance", + ); + })() + ); + } + function i(t) { + return ( + (i = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function (t) { + return typeof t; + } + : function (t) { + return t && + "function" == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? "symbol" + : typeof t; + }), + i(t) + ); + } + var a = void 0 !== /a/g.flags, + o = function (t) { + var e = []; + return ( + t.forEach(function (t) { + return e.push(t); + }), + e + ); + }, + s = function (t) { + var e = []; + return ( + t.forEach(function (t, r) { + return e.push([r, t]); + }), + e + ); + }, + l = Object.is ? Object.is : r(64003), + u = Object.getOwnPropertySymbols + ? Object.getOwnPropertySymbols + : function () { + return []; + }, + c = Number.isNaN ? Number.isNaN : r(15567); + function f(t) { + return t.call.bind(t); + } + var h = f(Object.prototype.hasOwnProperty), + p = f(Object.prototype.propertyIsEnumerable), + d = f(Object.prototype.toString), + v = r(43827).types, + g = v.isAnyArrayBuffer, + y = v.isArrayBufferView, + m = v.isDate, + x = v.isMap, + b = v.isRegExp, + _ = v.isSet, + w = v.isNativeError, + T = v.isBoxedPrimitive, + k = v.isNumberObject, + A = v.isStringObject, + M = v.isBooleanObject, + S = v.isBigIntObject, + E = v.isSymbolObject, + L = v.isFloat32Array, + C = v.isFloat64Array; + function P(t) { + if (0 === t.length || t.length > 10) return !0; + for (var e = 0; e < t.length; e++) { + var r = t.charCodeAt(e); + if (r < 48 || r > 57) return !0; + } + return 10 === t.length && t >= Math.pow(2, 32); + } + function O(t) { + return Object.keys(t) + .filter(P) + .concat( + u(t).filter( + Object.prototype.propertyIsEnumerable.bind(t), + ), + ); + } + function I(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 D(t, e, r, n) { + if (t === e) return 0 !== t || !r || l(t, e); + if (r) { + if ("object" !== i(t)) + return "number" == typeof t && c(t) && c(e); + if ("object" !== i(e) || null === t || null === e) + return !1; + if (Object.getPrototypeOf(t) !== Object.getPrototypeOf(e)) + return !1; + } else { + if (null === t || "object" !== i(t)) + return (null === e || "object" !== i(e)) && t == e; + if (null === e || "object" !== i(e)) return !1; + } + var o, + s, + u, + f, + h = d(t); + if (h !== d(e)) return !1; + if (Array.isArray(t)) { + if (t.length !== e.length) return !1; + var p = O(t), + v = O(e); + return p.length === v.length && R(t, e, r, n, 1, p); + } + if ( + "[object Object]" === h && + ((!x(t) && x(e)) || (!_(t) && _(e))) + ) + return !1; + if (m(t)) { + if ( + !m(e) || + Date.prototype.getTime.call(t) !== + Date.prototype.getTime.call(e) + ) + return !1; + } else if (b(t)) { + if ( + !b(e) || + ((u = t), + (f = e), + !(a + ? u.source === f.source && u.flags === f.flags + : RegExp.prototype.toString.call(u) === + RegExp.prototype.toString.call(f))) + ) + return !1; + } else if (w(t) || t instanceof Error) { + if (t.message !== e.message || t.name !== e.name) + return !1; + } else { + if (y(t)) { + if (r || (!L(t) && !C(t))) { + if ( + !(function (t, e) { + return ( + t.byteLength === e.byteLength && + 0 === + I( + new Uint8Array( + t.buffer, + t.byteOffset, + t.byteLength, + ), + new Uint8Array( + e.buffer, + e.byteOffset, + e.byteLength, + ), + ) + ); + })(t, e) + ) + return !1; + } else if ( + !(function (t, e) { + if (t.byteLength !== e.byteLength) return !1; + for (var r = 0; r < t.byteLength; r++) + if (t[r] !== e[r]) return !1; + return !0; + })(t, e) + ) + return !1; + var P = O(t), + D = O(e); + return P.length === D.length && R(t, e, r, n, 0, P); + } + if (_(t)) + return ( + !(!_(e) || t.size !== e.size) && R(t, e, r, n, 2) + ); + if (x(t)) + return ( + !(!x(e) || t.size !== e.size) && R(t, e, r, n, 3) + ); + if (g(t)) { + if ( + ((s = e), + (o = t).byteLength !== s.byteLength || + 0 !== I(new Uint8Array(o), new Uint8Array(s))) + ) + return !1; + } else if ( + T(t) && + !(function (t, e) { + return k(t) + ? k(e) && + l( + Number.prototype.valueOf.call(t), + Number.prototype.valueOf.call(e), + ) + : A(t) + ? A(e) && + String.prototype.valueOf.call(t) === + String.prototype.valueOf.call(e) + : M(t) + ? M(e) && + Boolean.prototype.valueOf.call(t) === + Boolean.prototype.valueOf.call(e) + : S(t) + ? S(e) && + BigInt.prototype.valueOf.call(t) === + BigInt.prototype.valueOf.call(e) + : E(e) && + Symbol.prototype.valueOf.call(t) === + Symbol.prototype.valueOf.call(e); + })(t, e) + ) + return !1; + } + return R(t, e, r, n, 0); + } + function z(t, e) { + return e.filter(function (e) { + return p(t, e); + }); + } + function R(t, e, r, n, i, a) { + if (5 === arguments.length) { + a = Object.keys(t); + var o = Object.keys(e); + if (a.length !== o.length) return !1; + } + for (var s = 0; s < a.length; s++) + if (!h(e, a[s])) return !1; + if (r && 5 === arguments.length) { + var l = u(t); + if (0 !== l.length) { + var c = 0; + for (s = 0; s < l.length; s++) { + var f = l[s]; + if (p(t, f)) { + if (!p(e, f)) return !1; + a.push(f), c++; + } else if (p(e, f)) return !1; + } + var d = u(e); + if (l.length !== d.length && z(e, d).length !== c) + return !1; + } else { + var v = u(e); + if (0 !== v.length && 0 !== z(e, v).length) return !1; + } + } + if ( + 0 === a.length && + (0 === i || (1 === i && 0 === t.length) || 0 === t.size) + ) + return !0; + if (void 0 === n) + n = { val1: new Map(), val2: new Map(), position: 0 }; + else { + var g = n.val1.get(t); + if (void 0 !== g) { + var y = n.val2.get(e); + if (void 0 !== y) return g === y; + } + n.position++; + } + n.val1.set(t, n.position), n.val2.set(e, n.position); + var m = V(t, e, r, a, n, i); + return n.val1.delete(t), n.val2.delete(e), m; + } + function F(t, e, r, n) { + for (var i = o(t), a = 0; a < i.length; a++) { + var s = i[a]; + if (D(e, s, r, n)) return t.delete(s), !0; + } + return !1; + } + function B(t) { + switch (i(t)) { + case "undefined": + return null; + case "object": + return; + case "symbol": + return !1; + case "string": + t = +t; + case "number": + if (c(t)) return !1; + } + return !0; + } + function N(t, e, r) { + var n = B(r); + return null != n ? n : e.has(n) && !t.has(n); + } + function j(t, e, r, n, i) { + var a = B(r); + if (null != a) return a; + var o = e.get(a); + return ( + !((void 0 === o && !e.has(a)) || !D(n, o, !1, i)) && + !t.has(a) && + D(n, o, !1, i) + ); + } + function U(t, e, r, n, i, a) { + for (var s = o(t), l = 0; l < s.length; l++) { + var u = s[l]; + if (D(r, u, i, a) && D(n, e.get(u), i, a)) + return t.delete(u), !0; + } + return !1; + } + function V(t, e, r, a, l, u) { + var c = 0; + if (2 === u) { + if ( + !(function (t, e, r, n) { + for ( + var a = null, s = o(t), l = 0; + l < s.length; + l++ + ) { + var u = s[l]; + if ("object" === i(u) && null !== u) + null === a && (a = new Set()), a.add(u); + else if (!e.has(u)) { + if (r) return !1; + if (!N(t, e, u)) return !1; + null === a && (a = new Set()), a.add(u); + } + } + if (null !== a) { + for (var c = o(e), f = 0; f < c.length; f++) { + var h = c[f]; + if ("object" === i(h) && null !== h) { + if (!F(a, h, r, n)) return !1; + } else if (!r && !t.has(h) && !F(a, h, r, n)) + return !1; + } + return 0 === a.size; + } + return !0; + })(t, e, r, l) + ) + return !1; + } else if (3 === u) { + if ( + !(function (t, e, r, a) { + for ( + var o = null, l = s(t), u = 0; + u < l.length; + u++ + ) { + var c = n(l[u], 2), + f = c[0], + h = c[1]; + if ("object" === i(f) && null !== f) + null === o && (o = new Set()), o.add(f); + else { + var p = e.get(f); + if ( + (void 0 === p && !e.has(f)) || + !D(h, p, r, a) + ) { + if (r) return !1; + if (!j(t, e, f, h, a)) return !1; + null === o && (o = new Set()), o.add(f); + } + } + } + if (null !== o) { + for (var d = s(e), v = 0; v < d.length; v++) { + var g = n(d[v], 2), + y = ((f = g[0]), g[1]); + if ("object" === i(f) && null !== f) { + if (!U(o, t, f, y, r, a)) return !1; + } else if ( + !( + r || + (t.has(f) && D(t.get(f), y, !1, a)) || + U(o, t, f, y, !1, a) + ) + ) + return !1; + } + return 0 === o.size; + } + return !0; + })(t, e, r, l) + ) + return !1; + } else if (1 === u) + for (; c < t.length; c++) { + if (!h(t, c)) { + if (h(e, c)) return !1; + for (var f = Object.keys(t); c < f.length; c++) { + var p = f[c]; + if (!h(e, p) || !D(t[p], e[p], r, l)) return !1; + } + return f.length === Object.keys(e).length; + } + if (!h(e, c) || !D(t[c], e[c], r, l)) return !1; + } + for (c = 0; c < a.length; c++) { + var d = a[c]; + if (!D(t[d], e[d], r, l)) return !1; + } + return !0; + } + t.exports = { + isDeepEqual: function (t, e) { + return D(t, e, !1); + }, + isDeepStrictEqual: function (t, e) { + return D(t, e, !0); + }, + }; + }, + 95341: function (t, e) { + "use strict"; + (e.byteLength = function (t) { + var e = l(t), + r = e[0], + n = e[1]; + return (3 * (r + n)) / 4 - n; + }), + (e.toByteArray = function (t) { + var e, + r, + a = l(t), + o = a[0], + s = a[1], + u = new i( + (function (t, e, r) { + return (3 * (e + r)) / 4 - r; + })(0, o, s), + ), + c = 0, + f = s > 0 ? o - 4 : o; + for (r = 0; r < f; r += 4) + (e = + (n[t.charCodeAt(r)] << 18) | + (n[t.charCodeAt(r + 1)] << 12) | + (n[t.charCodeAt(r + 2)] << 6) | + n[t.charCodeAt(r + 3)]), + (u[c++] = (e >> 16) & 255), + (u[c++] = (e >> 8) & 255), + (u[c++] = 255 & e); + return ( + 2 === s && + ((e = + (n[t.charCodeAt(r)] << 2) | + (n[t.charCodeAt(r + 1)] >> 4)), + (u[c++] = 255 & e)), + 1 === s && + ((e = + (n[t.charCodeAt(r)] << 10) | + (n[t.charCodeAt(r + 1)] << 4) | + (n[t.charCodeAt(r + 2)] >> 2)), + (u[c++] = (e >> 8) & 255), + (u[c++] = 255 & e)), + u + ); + }), + (e.fromByteArray = function (t) { + for ( + var e, + n = t.length, + i = n % 3, + a = [], + o = 16383, + s = 0, + l = n - i; + s < l; + s += o + ) + a.push(u(t, s, s + o > l ? l : s + o)); + return ( + 1 === i + ? ((e = t[n - 1]), + a.push(r[e >> 2] + r[(e << 4) & 63] + "==")) + : 2 === i && + ((e = (t[n - 2] << 8) + t[n - 1]), + a.push( + r[e >> 10] + + r[(e >> 4) & 63] + + r[(e << 2) & 63] + + "=", + )), + a.join("") + ); + }); + for ( + var r = [], + n = [], + i = "undefined" != typeof Uint8Array ? Uint8Array : Array, + a = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", + o = 0, + s = a.length; + o < s; + ++o + ) + (r[o] = a[o]), (n[a.charCodeAt(o)] = o); + function l(t) { + var e = t.length; + if (e % 4 > 0) + throw new Error( + "Invalid string. Length must be a multiple of 4", + ); + var r = t.indexOf("="); + return -1 === r && (r = e), [r, r === e ? 0 : 4 - (r % 4)]; + } + function u(t, e, n) { + for (var i, a, o = [], s = e; s < n; s += 3) + (i = + ((t[s] << 16) & 16711680) + + ((t[s + 1] << 8) & 65280) + + (255 & t[s + 2])), + o.push( + r[((a = i) >> 18) & 63] + + r[(a >> 12) & 63] + + r[(a >> 6) & 63] + + r[63 & a], + ); + return o.join(""); + } + (n["-".charCodeAt(0)] = 62), (n["_".charCodeAt(0)] = 63); + }, + 91358: function (t) { + "use strict"; + function e(t, e, r, n, i) { + for (var a = i + 1; n <= i; ) { + var o = (n + i) >>> 1, + s = t[o]; + (void 0 !== r ? r(s, e) : s - e) >= 0 + ? ((a = o), (i = o - 1)) + : (n = o + 1); + } + return a; + } + function r(t, e, r, n, i) { + for (var a = i + 1; n <= i; ) { + var o = (n + i) >>> 1, + s = t[o]; + (void 0 !== r ? r(s, e) : s - e) > 0 + ? ((a = o), (i = o - 1)) + : (n = o + 1); + } + return a; + } + function n(t, e, r, n, i) { + for (var a = n - 1; n <= i; ) { + var o = (n + i) >>> 1, + s = t[o]; + (void 0 !== r ? r(s, e) : s - e) < 0 + ? ((a = o), (n = o + 1)) + : (i = o - 1); + } + return a; + } + function i(t, e, r, n, i) { + for (var a = n - 1; n <= i; ) { + var o = (n + i) >>> 1, + s = t[o]; + (void 0 !== r ? r(s, e) : s - e) <= 0 + ? ((a = o), (n = o + 1)) + : (i = o - 1); + } + return a; + } + function a(t, e, r, n, i) { + for (; n <= i; ) { + var a = (n + i) >>> 1, + o = t[a], + s = void 0 !== r ? r(o, e) : o - e; + if (0 === s) return a; + s <= 0 ? (n = a + 1) : (i = a - 1); + } + return -1; + } + function o(t, e, r, n, i, a) { + return "function" == typeof r + ? a( + t, + e, + r, + void 0 === n ? 0 : 0 | n, + void 0 === i ? t.length - 1 : 0 | i, + ) + : a( + t, + e, + void 0, + void 0 === r ? 0 : 0 | r, + void 0 === n ? t.length - 1 : 0 | n, + ); + } + t.exports = { + ge: function (t, r, n, i, a) { + return o(t, r, n, i, a, e); + }, + gt: function (t, e, n, i, a) { + return o(t, e, n, i, a, r); + }, + lt: function (t, e, r, i, a) { + return o(t, e, r, i, a, n); + }, + le: function (t, e, r, n, a) { + return o(t, e, r, n, a, i); + }, + eq: function (t, e, r, n, i) { + return o(t, e, r, n, i, a); + }, + }; + }, + 13547: function (t, e) { + "use strict"; + function r(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 + ); + } + (e.INT_BITS = 32), + (e.INT_MAX = 2147483647), + (e.INT_MIN = -1 << 31), + (e.sign = function (t) { + return (t > 0) - (t < 0); + }), + (e.abs = function (t) { + var e = t >> 31; + return (t ^ e) - e; + }), + (e.min = function (t, e) { + return e ^ ((t ^ e) & -(t < e)); + }), + (e.max = function (t, e) { + return t ^ ((t ^ e) & -(t < e)); + }), + (e.isPow2 = function (t) { + return !(t & (t - 1) || !t); + }), + (e.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) + ); + }), + (e.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; + }), + (e.popCount = function (t) { + return ( + (16843009 * + (((t = + (858993459 & (t -= (t >>> 1) & 1431655765)) + + ((t >>> 2) & 858993459)) + + (t >>> 4)) & + 252645135)) >>> + 24 + ); + }), + (e.countTrailingZeros = r), + (e.nextPow2 = function (t) { + return ( + (t += 0 === t), + --t, + (t |= t >>> 1), + (t |= t >>> 2), + (t |= t >>> 4), + 1 + ((t |= t >>> 8) | (t >>> 16)) + ); + }), + (e.prevPow2 = function (t) { + return ( + (t |= t >>> 1), + (t |= t >>> 2), + (t |= t >>> 4), + (t |= t >>> 8), + (t |= t >>> 16) - (t >>> 1) + ); + }), + (e.parity = function (t) { + return ( + (t ^= t >>> 16), + (t ^= t >>> 8), + (t ^= t >>> 4), + (27030 >>> (t &= 15)) & 1 + ); + }); + var n = 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; + } + })(n), + (e.reverse = function (t) { + return ( + (n[255 & t] << 24) | + (n[(t >>> 8) & 255] << 16) | + (n[(t >>> 16) & 255] << 8) | + n[(t >>> 24) & 255] + ); + }), + (e.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) + ); + }), + (e.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 + ); + }), + (e.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) + ); + }), + (e.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 + ); + }), + (e.nextCombination = function (t) { + var e = t | (t - 1); + return (e + 1) | (((~e & -~e) - 1) >>> (r(t) + 1)); + }); + }, + 44781: function (t, e, r) { + "use strict"; + var n = r(53435); + t.exports = function (t, e) { + e || (e = {}); + var r, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g = null == e.cutoff ? 0.25 : e.cutoff, + y = null == e.radius ? 8 : e.radius, + m = 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), + (o = e.height), + (l = t), + (c = e.stride + ? e.stride + : Math.floor(t.length / r / o)); + } else + window.HTMLCanvasElement && + t instanceof window.HTMLCanvasElement + ? ((f = (h = t).getContext("2d")), + (r = h.width), + (o = h.height), + (l = (p = f.getImageData(0, 0, r, o)).data), + (c = 4)) + : window.CanvasRenderingContext2D && + t instanceof window.CanvasRenderingContext2D + ? ((f = t), + (r = (h = t.canvas).width), + (o = h.height), + (l = (p = f.getImageData(0, 0, r, o)).data), + (c = 4)) + : window.ImageData && + t instanceof window.ImageData && + ((p = t), + (r = t.width), + (o = t.height), + (l = p.data), + (c = 4)); + if ( + ((s = Math.max(r, o)), + (window.Uint8ClampedArray && + l instanceof window.Uint8ClampedArray) || + (window.Uint8Array && l instanceof window.Uint8Array)) + ) + for ( + u = l, l = Array(r * o), d = 0, v = u.length; + d < v; + d++ + ) + l[d] = u[d * c + m] / 255; + else if (1 !== c) + throw Error("Raw data can have only 1 value per pixel"); + var x = Array(r * o), + b = Array(r * o), + _ = Array(s), + w = Array(s), + T = Array(s + 1), + k = Array(s); + for (d = 0, v = r * o; d < v; d++) { + var A = l[d]; + (x[d] = + 1 === A + ? 0 + : 0 === A + ? i + : Math.pow(Math.max(0, 0.5 - A), 2)), + (b[d] = + 1 === A + ? i + : 0 === A + ? 0 + : Math.pow(Math.max(0, A - 0.5), 2)); + } + a(x, r, o, _, w, k, T), a(b, r, o, _, w, k, T); + var M = window.Float32Array + ? new Float32Array(r * o) + : new Array(r * o); + for (d = 0, v = r * o; d < v; d++) + M[d] = n(1 - ((x[d] - b[d]) / y + g), 0, 1); + return M; + }; + var i = 1e20; + function a(t, e, r, n, i, a, s) { + for (var l = 0; l < e; l++) { + for (var u = 0; u < r; u++) n[u] = t[u * e + l]; + for (o(n, i, a, 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 (o(n, i, a, s, e), l = 0; l < e; l++) + t[u * e + l] = Math.sqrt(i[l]); + } + } + function o(t, e, r, n, a) { + (r[0] = 0), (n[0] = -i), (n[1] = +i); + for (var o = 1, s = 0; o < a; o++) { + for ( + var l = + (t[o] + o * o - (t[r[s]] + r[s] * r[s])) / + (2 * o - 2 * r[s]); + l <= n[s]; + + ) + s--, + (l = + (t[o] + o * o - (t[r[s]] + r[s] * r[s])) / + (2 * o - 2 * r[s])); + (r[++s] = o), (n[s] = l), (n[s + 1] = +i); + } + for (o = 0, s = 0; o < a; o++) { + for (; n[s + 1] < o; ) s++; + e[o] = (o - r[s]) * (o - r[s]) + t[r[s]]; + } + } + }, + 6614: function (t, e, r) { + "use strict"; + var n = r(68318), + i = r(68222), + a = i(n("String.prototype.indexOf")); + t.exports = function (t, e) { + var r = n(t, !!e); + return "function" == typeof r && a(t, ".prototype.") > -1 + ? i(r) + : r; + }; + }, + 68222: function (t, e, r) { + "use strict"; + var n = r(77575), + i = r(68318), + a = i("%Function.prototype.apply%"), + o = i("%Function.prototype.call%"), + s = i("%Reflect.apply%", !0) || n.call(o, a), + l = i("%Object.getOwnPropertyDescriptor%", !0), + u = i("%Object.defineProperty%", !0), + c = i("%Math.max%"); + if (u) + try { + u({}, "a", { value: 1 }); + } catch (t) { + u = null; + } + t.exports = function (t) { + var e = s(n, o, arguments); + if (l && u) { + var r = l(e, "length"); + r.configurable && + u(e, "length", { + value: 1 + c(0, t.length - (arguments.length - 1)), + }); + } + return e; + }; + var f = function () { + return s(n, a, arguments); + }; + u + ? u(t.exports, "apply", { value: f }) + : (t.exports.apply = f); + }, + 53435: function (t) { + t.exports = function (t, e, r) { + return e < r + ? t < e + ? e + : t > r + ? r + : t + : t < r + ? r + : t > e + ? e + : t; + }; + }, + 6475: function (t, e, r) { + "use strict"; + var n = r(53435); + function i(t, e) { + null == e && (e = !0); + var r = t[0], + i = t[1], + a = t[2], + o = t[3]; + return ( + null == o && (o = e ? 1 : 255), + e && ((r *= 255), (i *= 255), (a *= 255), (o *= 255)), + 16777216 * (r = 255 & n(r, 0, 255)) + + ((i = 255 & n(i, 0, 255)) << 16) + + ((a = 255 & n(a, 0, 255)) << 8) + + (255 & n(o, 0, 255)) + ); + } + (t.exports = i), + (t.exports.to = i), + (t.exports.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]; + }); + }, + 76857: function (t) { + "use strict"; + t.exports = { + aliceblue: [240, 248, 255], + antiquewhite: [250, 235, 215], + aqua: [0, 255, 255], + aquamarine: [127, 255, 212], + azure: [240, 255, 255], + beige: [245, 245, 220], + bisque: [255, 228, 196], + black: [0, 0, 0], + blanchedalmond: [255, 235, 205], + blue: [0, 0, 255], + blueviolet: [138, 43, 226], + brown: [165, 42, 42], + burlywood: [222, 184, 135], + cadetblue: [95, 158, 160], + chartreuse: [127, 255, 0], + chocolate: [210, 105, 30], + coral: [255, 127, 80], + cornflowerblue: [100, 149, 237], + cornsilk: [255, 248, 220], + crimson: [220, 20, 60], + cyan: [0, 255, 255], + darkblue: [0, 0, 139], + darkcyan: [0, 139, 139], + darkgoldenrod: [184, 134, 11], + darkgray: [169, 169, 169], + darkgreen: [0, 100, 0], + darkgrey: [169, 169, 169], + darkkhaki: [189, 183, 107], + darkmagenta: [139, 0, 139], + darkolivegreen: [85, 107, 47], + darkorange: [255, 140, 0], + darkorchid: [153, 50, 204], + darkred: [139, 0, 0], + darksalmon: [233, 150, 122], + darkseagreen: [143, 188, 143], + darkslateblue: [72, 61, 139], + darkslategray: [47, 79, 79], + darkslategrey: [47, 79, 79], + darkturquoise: [0, 206, 209], + darkviolet: [148, 0, 211], + deeppink: [255, 20, 147], + deepskyblue: [0, 191, 255], + dimgray: [105, 105, 105], + dimgrey: [105, 105, 105], + dodgerblue: [30, 144, 255], + firebrick: [178, 34, 34], + floralwhite: [255, 250, 240], + forestgreen: [34, 139, 34], + fuchsia: [255, 0, 255], + gainsboro: [220, 220, 220], + ghostwhite: [248, 248, 255], + gold: [255, 215, 0], + goldenrod: [218, 165, 32], + gray: [128, 128, 128], + green: [0, 128, 0], + greenyellow: [173, 255, 47], + grey: [128, 128, 128], + honeydew: [240, 255, 240], + hotpink: [255, 105, 180], + indianred: [205, 92, 92], + indigo: [75, 0, 130], + ivory: [255, 255, 240], + khaki: [240, 230, 140], + lavender: [230, 230, 250], + lavenderblush: [255, 240, 245], + lawngreen: [124, 252, 0], + lemonchiffon: [255, 250, 205], + lightblue: [173, 216, 230], + lightcoral: [240, 128, 128], + lightcyan: [224, 255, 255], + lightgoldenrodyellow: [250, 250, 210], + lightgray: [211, 211, 211], + lightgreen: [144, 238, 144], + lightgrey: [211, 211, 211], + lightpink: [255, 182, 193], + lightsalmon: [255, 160, 122], + lightseagreen: [32, 178, 170], + lightskyblue: [135, 206, 250], + lightslategray: [119, 136, 153], + lightslategrey: [119, 136, 153], + lightsteelblue: [176, 196, 222], + lightyellow: [255, 255, 224], + lime: [0, 255, 0], + limegreen: [50, 205, 50], + linen: [250, 240, 230], + magenta: [255, 0, 255], + maroon: [128, 0, 0], + mediumaquamarine: [102, 205, 170], + mediumblue: [0, 0, 205], + mediumorchid: [186, 85, 211], + mediumpurple: [147, 112, 219], + mediumseagreen: [60, 179, 113], + mediumslateblue: [123, 104, 238], + mediumspringgreen: [0, 250, 154], + mediumturquoise: [72, 209, 204], + mediumvioletred: [199, 21, 133], + midnightblue: [25, 25, 112], + mintcream: [245, 255, 250], + mistyrose: [255, 228, 225], + moccasin: [255, 228, 181], + navajowhite: [255, 222, 173], + navy: [0, 0, 128], + oldlace: [253, 245, 230], + olive: [128, 128, 0], + olivedrab: [107, 142, 35], + orange: [255, 165, 0], + orangered: [255, 69, 0], + orchid: [218, 112, 214], + palegoldenrod: [238, 232, 170], + palegreen: [152, 251, 152], + paleturquoise: [175, 238, 238], + palevioletred: [219, 112, 147], + papayawhip: [255, 239, 213], + peachpuff: [255, 218, 185], + peru: [205, 133, 63], + pink: [255, 192, 203], + plum: [221, 160, 221], + powderblue: [176, 224, 230], + purple: [128, 0, 128], + rebeccapurple: [102, 51, 153], + red: [255, 0, 0], + rosybrown: [188, 143, 143], + royalblue: [65, 105, 225], + saddlebrown: [139, 69, 19], + salmon: [250, 128, 114], + sandybrown: [244, 164, 96], + seagreen: [46, 139, 87], + seashell: [255, 245, 238], + sienna: [160, 82, 45], + silver: [192, 192, 192], + skyblue: [135, 206, 235], + slateblue: [106, 90, 205], + slategray: [112, 128, 144], + slategrey: [112, 128, 144], + snow: [255, 250, 250], + springgreen: [0, 255, 127], + steelblue: [70, 130, 180], + tan: [210, 180, 140], + teal: [0, 128, 128], + thistle: [216, 191, 216], + tomato: [255, 99, 71], + turquoise: [64, 224, 208], + violet: [238, 130, 238], + wheat: [245, 222, 179], + white: [255, 255, 255], + whitesmoke: [245, 245, 245], + yellow: [255, 255, 0], + yellowgreen: [154, 205, 50], + }; + }, + 25075: function (t, e, r) { + "use strict"; + var n = r(36652), + i = r(53435), + a = r(90660); + t.exports = function (t, e) { + ("float" !== e && e) || (e = "array"), + "uint" === e && (e = "uint8"), + "uint_clamped" === e && (e = "uint8_clamped"); + var r = new (a(e))(4), + o = "uint8" !== e && "uint8_clamped" !== e; + return ( + (t.length && "string" != typeof t) || + (((t = n(t))[0] /= 255), (t[1] /= 255), (t[2] /= 255)), + (function (t) { + return ( + t instanceof Uint8Array || + t instanceof Uint8ClampedArray || + !!( + Array.isArray(t) && + (t[0] > 1 || 0 === t[0]) && + (t[1] > 1 || 0 === t[1]) && + (t[2] > 1 || 0 === t[2]) && + (!t[3] || t[3] > 1) + ) + ); + })(t) + ? ((r[0] = t[0]), + (r[1] = t[1]), + (r[2] = t[2]), + (r[3] = null != t[3] ? t[3] : 255), + o && + ((r[0] /= 255), + (r[1] /= 255), + (r[2] /= 255), + (r[3] /= 255)), + r) + : (o + ? ((r[0] = t[0]), + (r[1] = t[1]), + (r[2] = t[2]), + (r[3] = null != t[3] ? t[3] : 1)) + : ((r[0] = i(Math.floor(255 * t[0]), 0, 255)), + (r[1] = i(Math.floor(255 * t[1]), 0, 255)), + (r[2] = i(Math.floor(255 * t[2]), 0, 255)), + (r[3] = + null == t[3] + ? 255 + : i(Math.floor(255 * t[3]), 0, 255))), + r) + ); + }; + }, + 90736: function (t, e, r) { + "use strict"; + var n = r(76857), + i = r(10973), + a = r(46775); + t.exports = function (t) { + var e, + s, + l = [], + u = 1; + if ("string" == typeof t) + if (n[t]) (l = n[t].slice()), (s = "rgb"); + else if ("transparent" === t) + (u = 0), (s = "rgb"), (l = [0, 0, 0]); + else if (/^#[A-Fa-f0-9]+$/.test(t)) { + var c = (p = t.slice(1)).length; + (u = 1), + c <= 4 + ? ((l = [ + parseInt(p[0] + p[0], 16), + parseInt(p[1] + p[1], 16), + parseInt(p[2] + p[2], 16), + ]), + 4 === c && (u = parseInt(p[3] + p[3], 16) / 255)) + : ((l = [ + parseInt(p[0] + p[1], 16), + parseInt(p[2] + p[3], 16), + parseInt(p[4] + p[5], 16), + ]), + 8 === c && (u = parseInt(p[6] + p[7], 16) / 255)), + l[0] || (l[0] = 0), + l[1] || (l[1] = 0), + l[2] || (l[2] = 0), + (s = "rgb"); + } else if ( + (e = + /^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec( + t, + )) + ) { + var f = e[1], + h = "rgb" === f, + p = f.replace(/a$/, ""); + (s = p), + (c = "cmyk" === p ? 4 : "gray" === p ? 1 : 3), + (l = e[2] + .trim() + .split(/\s*,\s*/) + .map(function (t, e) { + if (/%$/.test(t)) + return e === c + ? parseFloat(t) / 100 + : "rgb" === p + ? (255 * parseFloat(t)) / 100 + : parseFloat(t); + if ("h" === p[e]) { + if (/deg$/.test(t)) return parseFloat(t); + if (void 0 !== o[t]) return o[t]; + } + return parseFloat(t); + })), + f === p && l.push(1), + (u = h || void 0 === l[c] ? 1 : l[c]), + (l = l.slice(0, c)); + } else + t.length > 10 && + /[0-9](?:\s|\/)/.test(t) && + ((l = t.match(/([0-9]+)/g).map(function (t) { + return parseFloat(t); + })), + (s = t + .match(/([a-z])/gi) + .join("") + .toLowerCase())); + else if (isNaN(t)) + if (i(t)) { + var d = a(t.r, t.red, t.R, null); + null !== d + ? ((s = "rgb"), + (l = [ + d, + a(t.g, t.green, t.G), + a(t.b, t.blue, t.B), + ])) + : ((s = "hsl"), + (l = [ + a(t.h, t.hue, t.H), + a(t.s, t.saturation, t.S), + a(t.l, t.lightness, t.L, t.b, t.brightness), + ])), + (u = a(t.a, t.alpha, t.opacity, 1)), + null != t.opacity && (u /= 100); + } else + (Array.isArray(t) || + (r.g.ArrayBuffer && + ArrayBuffer.isView && + ArrayBuffer.isView(t))) && + ((l = [t[0], t[1], t[2]]), + (s = "rgb"), + (u = 4 === t.length ? t[3] : 1)); + else + (s = "rgb"), (l = [t >>> 16, (65280 & t) >>> 8, 255 & t]); + return { space: s, values: l, alpha: u }; + }; + var o = { + red: 0, + orange: 60, + yellow: 120, + green: 180, + blue: 240, + purple: 300, + }; + }, + 36652: function (t, e, r) { + "use strict"; + var n = r(90736), + i = r(80009), + a = r(53435); + t.exports = function (t) { + var e, + r = n(t); + return r.space + ? (((e = Array(3))[0] = a(r.values[0], 0, 255)), + (e[1] = a(r.values[1], 0, 255)), + (e[2] = a(r.values[2], 0, 255)), + "h" === r.space[0] && (e = i.rgb(e)), + e.push(a(r.alpha, 0, 1)), + e) + : []; + }; + }, + 80009: function (t, e, r) { + "use strict"; + var n = r(6866); + (t.exports = { + name: "hsl", + min: [0, 0, 0], + max: [360, 100, 100], + channel: ["hue", "saturation", "lightness"], + alias: ["HSL"], + rgb: function (t) { + var e, + r, + n, + i, + a, + o = t[0] / 360, + s = t[1] / 100, + l = t[2] / 100; + if (0 === s) return [(a = 255 * l), a, a]; + (e = 2 * l - (r = l < 0.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; + }, + }), + (n.hsl = function (t) { + var e, + r, + n = t[0] / 255, + i = t[1] / 255, + a = t[2] / 255, + o = Math.min(n, i, a), + s = Math.max(n, i, a), + l = s - o; + return ( + s === o + ? (e = 0) + : n === s + ? (e = (i - a) / l) + : i === s + ? (e = 2 + (a - n) / l) + : a === s && (e = 4 + (n - i) / l), + (e = Math.min(60 * e, 360)) < 0 && (e += 360), + (r = (o + s) / 2), + [ + e, + 100 * + (s === o + ? 0 + : r <= 0.5 + ? l / (s + o) + : l / (2 - s - o)), + 100 * r, + ] + ); + }); + }, + 6866: function (t) { + "use strict"; + t.exports = { + name: "rgb", + min: [0, 0, 0], + max: [255, 255, 255], + channel: ["red", "green", "blue"], + alias: ["RGB"], + }; + }, + 24138: function (t) { + t.exports = { + AFG: "afghan", + ALA: "\\b\\wland", + ALB: "albania", + DZA: "algeria", + ASM: "^(?=.*americ).*samoa", + AND: "andorra", + AGO: "angola", + AIA: "anguill?a", + ATA: "antarctica", + ATG: "antigua", + ARG: "argentin", + ARM: "armenia", + ABW: "^(?!.*bonaire).*\\baruba", + AUS: "australia", + AUT: "^(?!.*hungary).*austria|\\baustri.*\\bemp", + AZE: "azerbaijan", + BHS: "bahamas", + BHR: "bahrain", + BGD: "bangladesh|^(?=.*east).*paki?stan", + BRB: "barbados", + BLR: "belarus|byelo", + BEL: "^(?!.*luxem).*belgium", + BLZ: "belize|^(?=.*british).*honduras", + BEN: "benin|dahome", + BMU: "bermuda", + BTN: "bhutan", + BOL: "bolivia", + BES: "^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands", + BIH: "herzegovina|bosnia", + BWA: "botswana|bechuana", + BVT: "bouvet", + BRA: "brazil", + IOT: "british.?indian.?ocean", + BRN: "brunei", + BGR: "bulgaria", + BFA: "burkina|\\bfaso|upper.?volta", + BDI: "burundi", + CPV: "verde", + KHM: "cambodia|kampuchea|khmer", + CMR: "cameroon", + CAN: "canada", + CYM: "cayman", + CAF: "\\bcentral.african.republic", + TCD: "\\bchad", + CHL: "\\bchile", + CHN: "^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china", + CXR: "christmas", + CCK: "\\bcocos|keeling", + COL: "colombia", + COM: "comoro", + COG: "^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo", + COK: "\\bcook", + CRI: "costa.?rica", + CIV: "ivoire|ivory", + HRV: "croatia", + CUB: "\\bcuba", + CUW: "^(?!.*bonaire).*\\bcura(c|ç)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|é)union", + ROU: "r(o|u|ou)mania", + RUS: "\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics", + RWA: "rwanda", + BLM: "barth(e|é)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|ã)o.?tom(e|é)", + 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", + }; + }, + 72791: function (t, e, r) { + "use strict"; + t.exports = { parse: r(41004), stringify: r(53313) }; + }, + 63625: function (t, e, r) { + "use strict"; + var n = r(40402); + t.exports = { + isSize: function (t) { + return ( + /^[\d\.]/.test(t) || + -1 !== t.indexOf("/") || + -1 !== n.indexOf(t) + ); + }, + }; + }, + 41004: function (t, e, r) { + "use strict"; + var n = r(90448), + i = r(38732), + a = r(41901), + o = r(15659), + s = r(96209), + l = r(83794), + u = r(99011), + c = r(63625).isSize; + t.exports = h; + var f = (h.cache = {}); + function h(t) { + if ("string" != typeof t) + throw new Error("Font argument must be a string."); + if (f[t]) return f[t]; + if ("" === t) + throw new Error("Cannot parse an empty string."); + if (-1 !== a.indexOf(t)) return (f[t] = { system: t }); + for ( + var e, + r = { + style: "normal", + variant: "normal", + weight: "normal", + stretch: "normal", + lineHeight: "normal", + size: "1rem", + family: ["serif"], + }, + h = u(t, /\s+/); + (e = h.shift()); + + ) { + if (-1 !== i.indexOf(e)) + return ( + ["style", "variant", "weight", "stretch"].forEach( + function (t) { + r[t] = e; + }, + ), + (f[t] = r) + ); + if (-1 === s.indexOf(e)) + if ("normal" !== e && "small-caps" !== e) + if (-1 === l.indexOf(e)) { + if (-1 === o.indexOf(e)) { + if (c(e)) { + var d = u(e, "/"); + if ( + ((r.size = d[0]), + null != d[1] + ? (r.lineHeight = p(d[1])) + : "/" === h[0] && + (h.shift(), + (r.lineHeight = p(h.shift()))), + !h.length) + ) + throw new Error( + "Missing required font-family.", + ); + return ( + (r.family = u(h.join(" "), /\s*,\s*/).map(n)), + (f[t] = r) + ); + } + throw new Error( + "Unknown or unsupported font token: " + e, + ); + } + r.weight = e; + } else r.stretch = e; + else r.variant = e; + else r.style = e; + } + throw new Error("Missing required font-size."); + } + function p(t) { + var e = parseFloat(t); + return e.toString() === t ? e : t; + } + }, + 53313: function (t, e, r) { + "use strict"; + var n = r(71299), + i = r(63625).isSize, + a = d(r(38732)), + o = d(r(41901)), + s = d(r(15659)), + l = d(r(96209)), + u = d(r(83794)), + c = { normal: 1, "small-caps": 1 }, + f = { + serif: 1, + "sans-serif": 1, + monospace: 1, + cursive: 1, + fantasy: 1, + "system-ui": 1, + }, + h = "serif"; + function p(t, e) { + if (t && !e[t] && !a[t]) + throw Error("Unknown keyword `" + t + "`"); + return t; + } + function d(t) { + for (var e = {}, r = 0; r < t.length; r++) e[t[r]] = 1; + return e; + } + t.exports = function (t) { + if ( + (t = n(t, { + style: + "style fontstyle fontStyle font-style slope distinction", + variant: + "variant font-variant fontVariant fontvariant var capitalization", + weight: "weight w font-weight fontWeight fontweight", + stretch: + "stretch font-stretch fontStretch fontstretch width", + size: "size s font-size fontSize fontsize height em emSize", + lineHeight: + "lh line-height lineHeight lineheight leading", + family: + "font family fontFamily font-family fontfamily type typeface face", + system: "system reserved default global", + })).system + ) + return t.system && p(t.system, o), t.system; + if ( + (p(t.style, l), + p(t.variant, c), + p(t.weight, s), + p(t.stretch, u), + null == t.size && (t.size = "1rem"), + "number" == typeof t.size && (t.size += "px"), + !i) + ) + throw Error("Bad size value `" + t.size + "`"); + t.family || (t.family = h), + Array.isArray(t.family) && + (t.family.length || (t.family = [h]), + (t.family = t.family + .map(function (t) { + return f[t] ? t : '"' + t + '"'; + }) + .join(", "))); + var e = []; + return ( + e.push(t.style), + t.variant !== t.style && e.push(t.variant), + t.weight !== t.variant && + t.weight !== t.style && + e.push(t.weight), + t.stretch !== t.weight && + t.stretch !== t.variant && + t.stretch !== t.style && + e.push(t.stretch), + e.push( + t.size + + (null == t.lineHeight || + "normal" === t.lineHeight || + t.lineHeight + "" == "1" + ? "" + : "/" + t.lineHeight), + ), + e.push(t.family), + e.filter(Boolean).join(" ") + ); + }; + }, + 55174: function (t, e, r) { + "use strict"; + var n, + i = r(24582), + a = r(10424), + o = r(82527), + s = r(19012), + l = r(21780), + u = r(16906), + c = Function.prototype.bind, + f = Object.defineProperty, + h = Object.prototype.hasOwnProperty; + (n = function (t, e, r) { + var n, + i = a(e) && o(e.value); + return ( + delete (n = s(e)).writable, + delete n.value, + (n.get = function () { + return !r.overwriteDefinition && h.call(this, t) + ? i + : ((e.value = c.call( + i, + r.resolveContext ? r.resolveContext(this) : this, + )), + f(this, t, e), + this[t]); + }), + n + ); + }), + (t.exports = function (t) { + var e = l(arguments[1]); + return ( + i(e.resolveContext) && o(e.resolveContext), + u(t, function (t, r) { + return n(r, t, e); + }) + ); + }); + }, + 62072: function (t, e, r) { + "use strict"; + var n = r(24582), + i = r(84985), + a = r(95879), + o = r(21780), + s = r(66741), + l = (t.exports = function (t, e) { + var r, i, l, u, c; + return ( + arguments.length < 2 || "string" != typeof t + ? ((u = e), (e = t), (t = null)) + : (u = arguments[2]), + n(t) + ? ((r = s.call(t, "c")), + (i = s.call(t, "e")), + (l = s.call(t, "w"))) + : ((r = l = !0), (i = !1)), + (c = { + value: e, + configurable: r, + enumerable: i, + writable: l, + }), + u ? a(o(u), c) : c + ); + }); + l.gs = function (t, e, r) { + var l, u, c, f; + return ( + "string" != typeof t + ? ((c = r), (r = e), (e = t), (t = null)) + : (c = arguments[3]), + n(e) + ? i(e) + ? n(r) + ? i(r) || ((c = r), (r = void 0)) + : (r = void 0) + : ((c = e), (e = r = void 0)) + : (e = void 0), + n(t) + ? ((l = s.call(t, "c")), (u = s.call(t, "e"))) + : ((l = !0), (u = !1)), + (f = { get: e, set: r, configurable: l, enumerable: u }), + c ? a(o(c), f) : f + ); + }; + }, + 33064: function (t, e, r) { + "use strict"; + function n(t, e) { + return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; + } + r.d(e, { + j2: function () { + return n; + }, + Fp: function () { + return s; + }, + J6: function () { + return u; + }, + TS: function () { + return c; + }, + VV: function () { + return f; + }, + w6: function () { + return h; + }, + Sm: function () { + return p; + }, + }), + 1 === (i = n).length && + ((a = i), + (i = function (t, e) { + return n(a(t), e); + })); + var i, + a, + o = Array.prototype; + function s(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; + } + function l(t) { + return null === t ? NaN : +t; + } + function u(t, e) { + var r, + n = t.length, + i = n, + a = -1, + o = 0; + if (null == e) + for (; ++a < n; ) isNaN((r = l(t[a]))) ? --i : (o += r); + else + for (; ++a < n; ) + isNaN((r = l(e(t[a], a, t)))) ? --i : (o += r); + if (i) return o / i; + } + function c(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; + } + function f(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; + } + function h(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; + } + function p(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; + } + o.slice, o.map, Math.sqrt(50), Math.sqrt(10), Math.sqrt(2); + }, + 15140: function (t, e, r) { + "use strict"; + r.d(e, { + UI: function () { + return o; + }, + b1: function () { + return s; + }, + }); + var n = "$"; + function i() {} + function a(t, e) { + var r = new i(); + if (t instanceof i) + t.each(function (t, e) { + r.set(e, t); + }); + else if (Array.isArray(t)) { + var n, + a = -1, + o = t.length; + if (null == e) for (; ++a < o; ) r.set(a, t[a]); + else for (; ++a < o; ) r.set(e((n = t[a]), a, t), n); + } else if (t) for (var s in t) r.set(s, t[s]); + return r; + } + i.prototype = a.prototype = { + constructor: i, + has: function (t) { + return n + t in this; + }, + get: function (t) { + return this[n + t]; + }, + set: function (t, e) { + return (this[n + t] = e), this; + }, + remove: function (t) { + var e = n + t; + return e in this && delete this[e]; + }, + clear: function () { + for (var t in this) t[0] === n && delete this[t]; + }, + keys: function () { + var t = []; + for (var e in this) e[0] === n && t.push(e.slice(1)); + return t; + }, + values: function () { + var t = []; + for (var e in this) e[0] === n && t.push(this[e]); + return t; + }, + entries: function () { + var t = []; + for (var e in this) + e[0] === n && + t.push({ key: e.slice(1), value: this[e] }); + return t; + }, + size: function () { + var t = 0; + for (var e in this) e[0] === n && ++t; + return t; + }, + empty: function () { + for (var t in this) if (t[0] === n) return !1; + return !0; + }, + each: function (t) { + for (var e in this) + e[0] === n && t(this[e], e.slice(1), this); + }, + }; + var o = a; + function s() { + var t, + e, + r, + n = [], + i = []; + function a(r, i, s, l) { + if (i >= n.length) + return null != t && r.sort(t), null != e ? e(r) : r; + for ( + var u, + c, + f, + h = -1, + p = r.length, + d = n[i++], + v = o(), + g = s(); + ++h < p; + + ) + (f = v.get((u = d((c = r[h])) + ""))) + ? f.push(c) + : v.set(u, [c]); + return ( + v.each(function (t, e) { + l(g, e, a(t, i, s, l)); + }), + g + ); + } + function s(t, r) { + if (++r > n.length) return t; + var a, + o = i[r - 1]; + return ( + null != e && r >= n.length + ? (a = t.entries()) + : ((a = []), + t.each(function (t, e) { + a.push({ key: e, values: s(t, r) }); + })), + null != o + ? a.sort(function (t, e) { + return o(t.key, e.key); + }) + : a + ); + } + return (r = { + object: function (t) { + return a(t, 0, l, u); + }, + map: function (t) { + return a(t, 0, c, f); + }, + entries: function (t) { + return s(a(t, 0, c, f), 0); + }, + key: function (t) { + return n.push(t), r; + }, + sortKeys: function (t) { + return (i[n.length - 1] = t), r; + }, + sortValues: function (e) { + return (t = e), r; + }, + rollup: function (t) { + return (e = t), r; + }, + }); + } + function l() { + return {}; + } + function u(t, e, r) { + t[e] = r; + } + function c() { + return o(); + } + function f(t, e, r) { + t.set(e, r); + } + function h() {} + var p = o.prototype; + h.prototype = function (t, e) { + var r = new h(); + if (t instanceof h) + 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; + }.prototype = { + constructor: h, + has: p.has, + add: function (t) { + return (this[n + (t += "")] = t), this; + }, + remove: p.remove, + clear: p.clear, + values: p.keys, + size: p.size, + empty: p.empty, + each: p.each, + }; + }, + 49887: function (t, e, r) { + "use strict"; + function n(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 + ); + } + function i(t) { + return function () { + return t; + }; + } + function a() { + return 1e-6 * (Math.random() - 0.5); + } + function o(t, e, r, n) { + if (isNaN(e) || isNaN(r)) return t; + var i, + a, + o, + s, + l, + u, + c, + f, + h, + p = t._root, + d = { data: n }, + v = t._x0, + g = t._y0, + y = t._x1, + m = t._y1; + if (!p) return (t._root = d), t; + for (; p.length; ) + if ( + ((u = e >= (a = (v + y) / 2)) ? (v = a) : (y = a), + (c = r >= (o = (g + m) / 2)) ? (g = o) : (m = o), + (i = p), + !(p = p[(f = (c << 1) | u)])) + ) + return (i[f] = 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[f] = d) : (t._root = d), t; + do { + (i = i + ? (i[f] = new Array(4)) + : (t._root = new Array(4))), + (u = e >= (a = (v + y) / 2)) ? (v = a) : (y = a), + (c = r >= (o = (g + m) / 2)) ? (g = o) : (m = o); + } while ( + (f = (c << 1) | u) == (h = ((l >= o) << 1) | (s >= a)) + ); + return (i[h] = p), (i[f] = d), t; + } + function s(t, e, r, n, i) { + (this.node = t), + (this.x0 = e), + (this.y0 = r), + (this.x1 = n), + (this.y1 = i); + } + function l(t) { + return t[0]; + } + function u(t) { + return t[1]; + } + function c(t, e, r) { + var n = new f( + null == e ? l : e, + null == r ? u : r, + NaN, + NaN, + NaN, + NaN, + ); + return null == t ? n : n.addAll(t); + } + function f(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 h(t) { + for (var e = { data: t.data }, r = e; (t = t.next); ) + r = r.next = { data: t.data }; + return e; + } + r.r(e), + r.d(e, { + forceCenter: function () { + return n; + }, + forceCollide: function () { + return g; + }, + forceLink: function () { + return b; + }, + forceManyBody: function () { + return X; + }, + forceRadial: function () { + return J; + }, + forceSimulation: function () { + return W; + }, + forceX: function () { + return K; + }, + forceY: function () { + return $; + }, + }); + var p = (c.prototype = f.prototype); + function d(t) { + return t.x + t.vx; + } + function v(t) { + return t.y + t.vy; + } + function g(t) { + var e, + r, + n = 1, + o = 1; + function s() { + for ( + var t, i, s, u, f, h, p, g = e.length, y = 0; + y < o; + ++y + ) + for (i = c(e, d, v).visitAfter(l), t = 0; t < g; ++t) + (s = e[t]), + (h = r[s.index]), + (p = h * h), + (u = s.x + s.vx), + (f = s.y + s.vy), + i.visit(m); + function m(t, e, r, i, o) { + var l = t.data, + c = t.r, + d = h + c; + if (!l) + return ( + e > u + d || i < u - d || r > f + d || o < f - d + ); + if (l.index > s.index) { + var v = u - l.x - l.vx, + g = f - l.y - l.vy, + y = v * v + g * g; + y < d * d && + (0 === v && (y += (v = a()) * v), + 0 === g && (y += (g = a()) * g), + (y = ((d - (y = Math.sqrt(y))) / y) * n), + (s.vx += (v *= y) * (d = (c *= c) / (p + c))), + (s.vy += (g *= y) * d), + (l.vx -= v * (d = 1 - d)), + (l.vy -= g * d)); + } + } + } + function l(t) { + if (t.data) return (t.r = r[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 u() { + if (e) { + var n, + i, + a = e.length; + for (r = new Array(a), n = 0; n < a; ++n) + (i = e[n]), (r[i.index] = +t(i, n, e)); + } + } + return ( + "function" != typeof t && (t = i(null == t ? 1 : +t)), + (s.initialize = function (t) { + (e = t), u(); + }), + (s.iterations = function (t) { + return arguments.length ? ((o = +t), s) : o; + }), + (s.strength = function (t) { + return arguments.length ? ((n = +t), s) : n; + }), + (s.radius = function (e) { + return arguments.length + ? ((t = "function" == typeof e ? e : i(+e)), u(), s) + : t; + }), + s + ); + } + (p.copy = function () { + var t, + e, + r = new f( + 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 = h(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] = h(e))); + return r; + }), + (p.add = function (t) { + var e = +this._x.call(null, t), + r = +this._y.call(null, t); + return o(this.cover(e, r), e, r, t); + }), + (p.addAll = function (t) { + var e, + r, + n, + i, + a = t.length, + s = new Array(a), + l = new Array(a), + u = 1 / 0, + c = 1 / 0, + f = -1 / 0, + h = -1 / 0; + for (r = 0; r < a; ++r) + isNaN((n = +this._x.call(null, (e = t[r])))) || + isNaN((i = +this._y.call(null, e))) || + ((s[r] = n), + (l[r] = i), + n < u && (u = n), + n > f && (f = n), + i < c && (c = i), + i > h && (h = i)); + if (u > f || c > h) return this; + for (this.cover(u, c).cover(f, h), r = 0; r < a; ++r) + o(this, s[r], l[r], t[r]); + return this; + }), + (p.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 { + for ( + var o, s, l = i - r, u = this._root; + r > t || t >= i || n > e || e >= a; + + ) + switch ( + ((s = ((e < n) << 1) | (t < r)), + ((o = new Array(4))[s] = u), + (u = o), + (l *= 2), + s) + ) { + case 0: + (i = r + l), (a = n + l); + break; + case 1: + (r = i - l), (a = n + l); + break; + case 2: + (i = r + l), (n = a - l); + break; + case 3: + (r = i - l), (n = a - l); + } + this._root && this._root.length && (this._root = u); + } + return ( + (this._x0 = r), + (this._y0 = n), + (this._x1 = i), + (this._y1 = a), + this + ); + }), + (p.data = function () { + var t = []; + return ( + this.visit(function (e) { + if (!e.length) + do { + t.push(e.data); + } while ((e = e.next)); + }), + t + ); + }), + (p.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], + ]; + }), + (p.find = function (t, e, r) { + var n, + i, + a, + o, + l, + u, + c, + f = this._x0, + h = this._y0, + p = this._x1, + d = this._y1, + v = [], + g = this._root; + for ( + g && v.push(new s(g, f, h, p, d)), + null == r + ? (r = 1 / 0) + : ((f = t - r), + (h = e - r), + (p = t + r), + (d = e + r), + (r *= r)); + (u = v.pop()); + + ) + if ( + !( + !(g = u.node) || + (i = u.x0) > p || + (a = u.y0) > d || + (o = u.x1) < f || + (l = u.y1) < h + ) + ) + if (g.length) { + var y = (i + o) / 2, + m = (a + l) / 2; + v.push( + new s(g[3], y, m, o, l), + new s(g[2], i, m, y, l), + new s(g[1], y, a, o, m), + new s(g[0], i, a, y, m), + ), + (c = ((e >= m) << 1) | (t >= y)) && + ((u = v[v.length - 1]), + (v[v.length - 1] = v[v.length - 1 - c]), + (v[v.length - 1 - c] = u)); + } else { + var x = t - +this._x.call(null, g.data), + b = e - +this._y.call(null, g.data), + _ = x * x + b * b; + if (_ < r) { + var w = Math.sqrt((r = _)); + (f = t - w), + (h = e - w), + (p = t + w), + (d = e + w), + (n = g.data); + } + } + return n; + }), + (p.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, + f, + h, + p = this._root, + d = this._x0, + v = this._y0, + g = this._x1, + y = this._y1; + if (!p) return this; + if (p.length) + for (;;) { + if ( + ((u = a >= (s = (d + g) / 2)) ? (d = s) : (g = s), + (c = o >= (l = (v + y) / 2)) ? (v = l) : (y = l), + (e = p), + !(p = p[(f = (c << 1) | u)])) + ) + return this; + if (!p.length) break; + (e[(f + 1) & 3] || + e[(f + 2) & 3] || + e[(f + 3) & 3]) && + ((r = e), (h = f)); + } + 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[f] = i) : delete e[f], + (p = e[0] || e[1] || e[2] || e[3]) && + p === (e[3] || e[2] || e[1] || e[0]) && + !p.length && + (r ? (r[h] = p) : (this._root = p)), + this) + : ((this._root = i), this) + ); + }), + (p.removeAll = function (t) { + for (var e = 0, r = t.length; e < r; ++e) + this.remove(t[e]); + return this; + }), + (p.root = function () { + return this._root; + }), + (p.size = function () { + var t = 0; + return ( + this.visit(function (e) { + if (!e.length) + do { + ++t; + } while ((e = e.next)); + }), + t + ); + }), + (p.visit = function (t) { + var e, + r, + n, + i, + a, + o, + l = [], + u = this._root; + for ( + u && + l.push( + new s(u, this._x0, this._y0, this._x1, this._y1), + ); + (e = l.pop()); + + ) + if ( + !t( + (u = e.node), + (n = e.x0), + (i = e.y0), + (a = e.x1), + (o = e.y1), + ) && + u.length + ) { + var c = (n + a) / 2, + f = (i + o) / 2; + (r = u[3]) && l.push(new s(r, c, f, a, o)), + (r = u[2]) && l.push(new s(r, n, f, c, o)), + (r = u[1]) && l.push(new s(r, c, i, a, f)), + (r = u[0]) && l.push(new s(r, n, i, c, f)); + } + return this; + }), + (p.visitAfter = function (t) { + var e, + r = [], + n = []; + for ( + this._root && + r.push( + new s( + this._root, + this._x0, + this._y0, + this._x1, + this._y1, + ), + ); + (e = r.pop()); + + ) { + var i = e.node; + if (i.length) { + var a, + o = e.x0, + l = e.y0, + u = e.x1, + c = e.y1, + f = (o + u) / 2, + h = (l + c) / 2; + (a = i[0]) && r.push(new s(a, o, l, f, h)), + (a = i[1]) && r.push(new s(a, f, l, u, h)), + (a = i[2]) && r.push(new s(a, o, h, f, c)), + (a = i[3]) && r.push(new s(a, f, h, u, c)); + } + n.push(e); + } + for (; (e = n.pop()); ) t(e.node, e.x0, e.y0, e.x1, e.y1); + return this; + }), + (p.x = function (t) { + return arguments.length ? ((this._x = t), this) : this._x; + }), + (p.y = function (t) { + return arguments.length ? ((this._y = t), this) : this._y; + }); + var y = r(15140); + function m(t) { + return t.index; + } + function x(t, e) { + var r = t.get(e); + if (!r) throw new Error("missing: " + e); + return r; + } + function b(t) { + var e, + r, + n, + o, + s, + l = m, + u = function (t) { + return ( + 1 / Math.min(o[t.source.index], o[t.target.index]) + ); + }, + c = i(30), + f = 1; + function h(n) { + for (var i = 0, o = t.length; i < f; ++i) + for (var l, u, c, h, p, d, v, g = 0; g < o; ++g) + (u = (l = t[g]).source), + (h = (c = l.target).x + c.vx - u.x - u.vx || a()), + (p = c.y + c.vy - u.y - u.vy || a()), + (h *= d = + (((d = Math.sqrt(h * h + p * p)) - r[g]) / d) * + n * + e[g]), + (p *= d), + (c.vx -= h * (v = s[g])), + (c.vy -= p * v), + (u.vx += h * (v = 1 - v)), + (u.vy += p * v); + } + function p() { + if (n) { + var i, + a, + u = n.length, + c = t.length, + f = (0, y.UI)(n, l); + for (i = 0, o = new Array(u); i < c; ++i) + ((a = t[i]).index = i), + "object" != typeof a.source && + (a.source = x(f, a.source)), + "object" != typeof a.target && + (a.target = x(f, a.target)), + (o[a.source.index] = (o[a.source.index] || 0) + 1), + (o[a.target.index] = (o[a.target.index] || 0) + 1); + for (i = 0, s = new Array(c); i < c; ++i) + (a = t[i]), + (s[i] = + o[a.source.index] / + (o[a.source.index] + o[a.target.index])); + (e = new Array(c)), d(), (r = new Array(c)), v(); + } + } + function d() { + if (n) + for (var r = 0, i = t.length; r < i; ++r) + e[r] = +u(t[r], r, t); + } + function v() { + if (n) + for (var e = 0, i = t.length; e < i; ++e) + r[e] = +c(t[e], e, t); + } + return ( + null == t && (t = []), + (h.initialize = function (t) { + (n = t), p(); + }), + (h.links = function (e) { + return arguments.length ? ((t = e), p(), h) : t; + }), + (h.id = function (t) { + return arguments.length ? ((l = t), h) : l; + }), + (h.iterations = function (t) { + return arguments.length ? ((f = +t), h) : f; + }), + (h.strength = function (t) { + return arguments.length + ? ((u = "function" == typeof t ? t : i(+t)), d(), h) + : u; + }), + (h.distance = function (t) { + return arguments.length + ? ((c = "function" == typeof t ? t : i(+t)), v(), h) + : c; + }), + h + ); + } + var _ = { value: function () {} }; + function w() { + for ( + var t, e = 0, r = arguments.length, n = {}; + e < r; + ++e + ) { + if (!(t = arguments[e] + "") || t in n || /[\s.]/.test(t)) + throw new Error("illegal type: " + t); + n[t] = []; + } + return new T(n); + } + function T(t) { + this._ = t; + } + function k(t, e) { + return t + .trim() + .split(/^|\s+/) + .map(function (t) { + var r = "", + n = t.indexOf("."); + if ( + (n >= 0 && + ((r = t.slice(n + 1)), (t = t.slice(0, n))), + t && !e.hasOwnProperty(t)) + ) + throw new Error("unknown type: " + t); + return { type: t, name: r }; + }); + } + function A(t, e) { + for (var r, n = 0, i = t.length; n < i; ++n) + if ((r = t[n]).name === e) return r.value; + } + function M(t, e, r) { + for (var n = 0, i = t.length; n < i; ++n) + if (t[n].name === e) { + (t[n] = _), (t = t.slice(0, n).concat(t.slice(n + 1))); + break; + } + return null != r && t.push({ name: e, value: r }), t; + } + T.prototype = w.prototype = { + constructor: T, + on: function (t, e) { + var r, + n = this._, + i = k(t + "", n), + a = -1, + o = i.length; + if (!(arguments.length < 2)) { + if (null != e && "function" != typeof e) + throw new Error("invalid callback: " + e); + for (; ++a < o; ) + if ((r = (t = i[a]).type)) n[r] = M(n[r], t.name, e); + else if (null == e) + for (r in n) n[r] = M(n[r], t.name, null); + return this; + } + for (; ++a < o; ) + if ((r = (t = i[a]).type) && (r = A(n[r], t.name))) + return r; + }, + copy: function () { + var t = {}, + e = this._; + for (var r in e) t[r] = e[r].slice(); + return new T(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); + }, + }; + var S, + E, + L = w, + C = 0, + P = 0, + O = 0, + I = 0, + D = 0, + z = 0, + R = + "object" == typeof performance && performance.now + ? performance + : Date, + F = + "object" == typeof window && window.requestAnimationFrame + ? window.requestAnimationFrame.bind(window) + : function (t) { + setTimeout(t, 17); + }; + function B() { + return D || (F(N), (D = R.now() + z)); + } + function N() { + D = 0; + } + function j() { + this._call = this._time = this._next = null; + } + function U(t, e, r) { + var n = new j(); + return n.restart(t, e, r), n; + } + function V() { + (D = (I = R.now()) + z), (C = P = 0); + try { + !(function () { + B(), ++C; + for (var t, e = S; e; ) + (t = D - e._time) >= 0 && e._call.call(null, t), + (e = e._next); + --C; + })(); + } finally { + (C = 0), + (function () { + for (var t, e, r = S, n = 1 / 0; r; ) + r._call + ? (n > r._time && (n = r._time), + (t = r), + (r = r._next)) + : ((e = r._next), + (r._next = null), + (r = t ? (t._next = e) : (S = e))); + (E = t), q(n); + })(), + (D = 0); + } + } + function H() { + var t = R.now(), + e = t - I; + e > 1e3 && ((z -= e), (I = t)); + } + function q(t) { + C || + (P && (P = clearTimeout(P)), + t - D > 24 + ? (t < 1 / 0 && (P = setTimeout(V, t - R.now() - z)), + O && (O = clearInterval(O))) + : (O || ((I = R.now()), (O = setInterval(H, 1e3))), + (C = 1), + F(V))); + } + function G(t) { + return t.x; + } + function Z(t) { + return t.y; + } + j.prototype = U.prototype = { + constructor: j, + restart: function (t, e, r) { + if ("function" != typeof t) + throw new TypeError("callback is not a function"); + (r = (null == r ? B() : +r) + (null == e ? 0 : +e)), + this._next || + E === this || + (E ? (E._next = this) : (S = this), (E = this)), + (this._call = t), + (this._time = r), + q(); + }, + stop: function () { + this._call && + ((this._call = null), (this._time = 1 / 0), q()); + }, + }; + var Y = Math.PI * (3 - Math.sqrt(5)); + function W(t) { + var e, + r = 1, + n = 0.001, + i = 1 - Math.pow(n, 1 / 300), + a = 0, + o = 0.6, + s = (0, y.UI)(), + l = U(c), + u = L("tick", "end"); + function c() { + f(), + u.call("tick", e), + r < n && (l.stop(), u.call("end", e)); + } + function f(n) { + var l, + u, + c = t.length; + void 0 === n && (n = 1); + for (var f = 0; f < n; ++f) + for ( + r += (a - r) * i, + s.each(function (t) { + t(r); + }), + l = 0; + l < c; + ++l + ) + null == (u = t[l]).fx + ? (u.x += u.vx *= o) + : ((u.x = u.fx), (u.vx = 0)), + null == u.fy + ? (u.y += u.vy *= o) + : ((u.y = u.fy), (u.vy = 0)); + return e; + } + function h() { + for (var e, r = 0, n = t.length; r < n; ++r) { + if ( + (((e = t[r]).index = r), + null != e.fx && (e.x = e.fx), + null != e.fy && (e.y = e.fy), + isNaN(e.x) || isNaN(e.y)) + ) { + var i = 10 * Math.sqrt(r), + a = r * Y; + (e.x = i * Math.cos(a)), (e.y = i * Math.sin(a)); + } + (isNaN(e.vx) || isNaN(e.vy)) && (e.vx = e.vy = 0); + } + } + function p(e) { + return e.initialize && e.initialize(t), e; + } + return ( + null == t && (t = []), + h(), + (e = { + tick: f, + restart: function () { + return l.restart(c), e; + }, + stop: function () { + return l.stop(), e; + }, + nodes: function (r) { + return arguments.length + ? ((t = r), h(), s.each(p), e) + : t; + }, + alpha: function (t) { + return arguments.length ? ((r = +t), e) : r; + }, + alphaMin: function (t) { + return arguments.length ? ((n = +t), e) : n; + }, + alphaDecay: function (t) { + return arguments.length ? ((i = +t), e) : +i; + }, + alphaTarget: function (t) { + return arguments.length ? ((a = +t), e) : a; + }, + velocityDecay: function (t) { + return arguments.length ? ((o = 1 - t), e) : 1 - o; + }, + force: function (t, r) { + return arguments.length > 1 + ? (null == r ? s.remove(t) : s.set(t, p(r)), e) + : s.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 + ? (u.on(t, r), e) + : u.on(t); + }, + }) + ); + } + function X() { + var t, + e, + r, + n, + o = i(-30), + s = 1, + l = 1 / 0, + u = 0.81; + function f(n) { + var i, + a = t.length, + o = c(t, G, Z).visitAfter(p); + for (r = n, i = 0; i < a; ++i) (e = t[i]), o.visit(d); + } + function h() { + if (t) { + var e, + r, + i = t.length; + for (n = new Array(i), e = 0; e < i; ++e) + (r = t[e]), (n[r.index] = +o(r, e, t)); + } + } + function p(t) { + var e, + r, + i, + a, + o, + s = 0, + l = 0; + if (t.length) { + for (i = a = o = 0; o < 4; ++o) + (e = t[o]) && + (r = Math.abs(e.value)) && + ((s += e.value), + (l += r), + (i += r * e.x), + (a += r * e.y)); + (t.x = i / l), (t.y = a / l); + } else { + ((e = t).x = e.data.x), (e.y = e.data.y); + do { + s += n[e.data.index]; + } while ((e = e.next)); + } + t.value = s; + } + function d(t, i, o, c) { + if (!t.value) return !0; + var f = t.x - e.x, + h = t.y - e.y, + p = c - i, + d = f * f + h * h; + if ((p * p) / u < d) + return ( + d < l && + (0 === f && (d += (f = a()) * f), + 0 === h && (d += (h = a()) * h), + d < s && (d = Math.sqrt(s * d)), + (e.vx += (f * t.value * r) / d), + (e.vy += (h * t.value * r) / d)), + !0 + ); + if (!(t.length || d >= l)) { + (t.data !== e || t.next) && + (0 === f && (d += (f = a()) * f), + 0 === h && (d += (h = a()) * h), + d < s && (d = Math.sqrt(s * d))); + do { + t.data !== e && + ((p = (n[t.data.index] * r) / d), + (e.vx += f * p), + (e.vy += h * p)); + } while ((t = t.next)); + } + } + return ( + (f.initialize = function (e) { + (t = e), h(); + }), + (f.strength = function (t) { + return arguments.length + ? ((o = "function" == typeof t ? t : i(+t)), h(), f) + : o; + }), + (f.distanceMin = function (t) { + return arguments.length + ? ((s = t * t), f) + : Math.sqrt(s); + }), + (f.distanceMax = function (t) { + return arguments.length + ? ((l = t * t), f) + : Math.sqrt(l); + }), + (f.theta = function (t) { + return arguments.length + ? ((u = t * t), f) + : Math.sqrt(u); + }), + f + ); + } + function J(t, e, r) { + var n, + a, + o, + s = i(0.1); + function l(t) { + for (var i = 0, s = n.length; i < s; ++i) { + var l = n[i], + u = l.x - e || 1e-6, + c = l.y - r || 1e-6, + f = Math.sqrt(u * u + c * c), + h = ((o[i] - f) * a[i] * t) / f; + (l.vx += u * h), (l.vy += c * h); + } + } + function u() { + if (n) { + var e, + r = n.length; + for ( + a = new Array(r), o = new Array(r), e = 0; + e < r; + ++e + ) + (o[e] = +t(n[e], e, n)), + (a[e] = isNaN(o[e]) ? 0 : +s(n[e], e, n)); + } + } + return ( + "function" != typeof t && (t = i(+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 : i(+t)), u(), l) + : s; + }), + (l.radius = function (e) { + return arguments.length + ? ((t = "function" == typeof e ? e : i(+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 + ); + } + function K(t) { + var e, + r, + n, + a = i(0.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 i, + o = e.length; + for ( + r = new Array(o), n = new Array(o), i = 0; + i < o; + ++i + ) + r[i] = isNaN((n[i] = +t(e[i], i, e))) + ? 0 + : +a(e[i], i, e); + } + } + return ( + "function" != typeof t && (t = i(null == t ? 0 : +t)), + (o.initialize = function (t) { + (e = t), s(); + }), + (o.strength = function (t) { + return arguments.length + ? ((a = "function" == typeof t ? t : i(+t)), s(), o) + : a; + }), + (o.x = function (e) { + return arguments.length + ? ((t = "function" == typeof e ? e : i(+e)), s(), o) + : t; + }), + o + ); + } + function $(t) { + var e, + r, + n, + a = i(0.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 i, + o = e.length; + for ( + r = new Array(o), n = new Array(o), i = 0; + i < o; + ++i + ) + r[i] = isNaN((n[i] = +t(e[i], i, e))) + ? 0 + : +a(e[i], i, e); + } + } + return ( + "function" != typeof t && (t = i(null == t ? 0 : +t)), + (o.initialize = function (t) { + (e = t), s(); + }), + (o.strength = function (t) { + return arguments.length + ? ((a = "function" == typeof t ? t : i(+t)), s(), o) + : a; + }), + (o.y = function (e) { + return arguments.length + ? ((t = "function" == typeof e ? e : i(+e)), s(), o) + : t; + }), + o + ); + } + }, + 60721: function (t, e, r) { + "use strict"; + function n(t, e) { + if ( + (r = (t = e + ? t.toExponential(e - 1) + : t.toExponential()).indexOf("e")) < 0 + ) + return null; + var r, + n = t.slice(0, r); + return [ + n.length > 1 ? n[0] + n.slice(2) : n, + +t.slice(r + 1), + ]; + } + r.d(e, { + WU: function () { + return h; + }, + FF: function () { + return v; + }, + }); + var i, + a = + /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i; + function o(t) { + if (!(e = a.exec(t))) + throw new Error("invalid format: " + t); + var e; + return new s({ + fill: e[1], + align: e[2], + sign: e[3], + symbol: e[4], + zero: e[5], + width: e[6], + comma: e[7], + precision: e[8] && e[8].slice(1), + trim: e[9], + type: e[10], + }); + } + function s(t) { + (this.fill = void 0 === t.fill ? " " : t.fill + ""), + (this.align = void 0 === t.align ? ">" : t.align + ""), + (this.sign = void 0 === t.sign ? "-" : t.sign + ""), + (this.symbol = void 0 === t.symbol ? "" : t.symbol + ""), + (this.zero = !!t.zero), + (this.width = void 0 === t.width ? void 0 : +t.width), + (this.comma = !!t.comma), + (this.precision = + void 0 === t.precision ? void 0 : +t.precision), + (this.trim = !!t.trim), + (this.type = void 0 === t.type ? "" : t.type + ""); + } + function l(t, e) { + var r = n(t, e); + if (!r) return t + ""; + var i = r[0], + a = r[1]; + return a < 0 + ? "0." + new Array(-a).join("0") + i + : i.length > a + 1 + ? i.slice(0, a + 1) + "." + i.slice(a + 1) + : i + new Array(a - i.length + 2).join("0"); + } + (o.prototype = s.prototype), + (s.prototype.toString = function () { + return ( + this.fill + + this.align + + this.sign + + this.symbol + + (this.zero ? "0" : "") + + (void 0 === this.width + ? "" + : Math.max(1, 0 | this.width)) + + (this.comma ? "," : "") + + (void 0 === this.precision + ? "" + : "." + Math.max(0, 0 | this.precision)) + + (this.trim ? "~" : "") + + this.type + ); + }); + var u = { + "%": function (t, e) { + return (100 * t).toFixed(e); + }, + b: function (t) { + return Math.round(t).toString(2); + }, + c: function (t) { + return t + ""; + }, + d: function (t) { + return Math.abs((t = Math.round(t))) >= 1e21 + ? t.toLocaleString("en").replace(/,/g, "") + : t.toString(10); + }, + e: function (t, e) { + return t.toExponential(e); + }, + f: function (t, e) { + return t.toFixed(e); + }, + g: function (t, e) { + return t.toPrecision(e); + }, + o: function (t) { + return Math.round(t).toString(8); + }, + p: function (t, e) { + return l(100 * t, e); + }, + r: l, + s: function (t, e) { + var r = n(t, e); + if (!r) return t + ""; + var a = r[0], + o = r[1], + s = + o - + (i = + 3 * Math.max(-8, Math.min(8, Math.floor(o / 3)))) + + 1, + l = a.length; + return s === l + ? a + : s > l + ? a + new Array(s - l + 1).join("0") + : s > 0 + ? a.slice(0, s) + "." + a.slice(s) + : "0." + + new Array(1 - s).join("0") + + n(t, Math.max(0, e + s - 1))[0]; + }, + X: function (t) { + return Math.round(t).toString(16).toUpperCase(); + }, + x: function (t) { + return Math.round(t).toString(16); + }, + }; + function c(t) { + return t; + } + var f, + h, + p = Array.prototype.map, + d = [ + "y", + "z", + "a", + "f", + "p", + "n", + "µ", + "m", + "", + "k", + "M", + "G", + "T", + "P", + "E", + "Z", + "Y", + ]; + function v(t) { + var e, + r, + a = + void 0 === t.grouping || void 0 === t.thousands + ? c + : ((e = p.call(t.grouping, Number)), + (r = t.thousands + ""), + function (t, n) { + for ( + var i = t.length, + a = [], + o = 0, + s = e[0], + l = 0; + i > 0 && + s > 0 && + (l + s + 1 > n && (s = Math.max(1, n - l)), + a.push(t.substring((i -= s), i + s)), + !((l += s + 1) > n)); + + ) + s = e[(o = (o + 1) % e.length)]; + return a.reverse().join(r); + }), + s = void 0 === t.currency ? "" : t.currency[0] + "", + l = void 0 === t.currency ? "" : t.currency[1] + "", + f = void 0 === t.decimal ? "." : t.decimal + "", + h = + void 0 === t.numerals + ? c + : (function (t) { + return function (e) { + return e.replace(/[0-9]/g, function (e) { + return t[+e]; + }); + }; + })(p.call(t.numerals, String)), + v = void 0 === t.percent ? "%" : t.percent + "", + g = void 0 === t.minus ? "-" : t.minus + "", + y = void 0 === t.nan ? "NaN" : t.nan + ""; + function m(t) { + var e = (t = o(t)).fill, + r = t.align, + n = t.sign, + c = t.symbol, + p = t.zero, + m = t.width, + x = t.comma, + b = t.precision, + _ = t.trim, + w = t.type; + "n" === w + ? ((x = !0), (w = "g")) + : u[w] || + (void 0 === b && (b = 12), (_ = !0), (w = "g")), + (p || ("0" === e && "=" === r)) && + ((p = !0), (e = "0"), (r = "=")); + var T = + "$" === c + ? s + : "#" === c && /[boxX]/.test(w) + ? "0" + w.toLowerCase() + : "", + k = "$" === c ? l : /[%p]/.test(w) ? v : "", + A = u[w], + M = /[defgprs%]/.test(w); + function S(t) { + var o, + s, + l, + u = T, + c = k; + if ("c" === w) (c = A(t) + c), (t = ""); + else { + var v = (t = +t) < 0 || 1 / t < 0; + if ( + ((t = isNaN(t) ? y : A(Math.abs(t), b)), + _ && + (t = (function (t) { + t: for ( + var e, r = t.length, n = 1, i = -1; + n < r; + ++n + ) + switch (t[n]) { + case ".": + i = e = n; + break; + case "0": + 0 === i && (i = n), (e = n); + break; + default: + if (!+t[n]) break t; + i > 0 && (i = 0); + } + return i > 0 + ? t.slice(0, i) + t.slice(e + 1) + : t; + })(t)), + v && 0 == +t && "+" !== n && (v = !1), + (u = + (v + ? "(" === n + ? n + : g + : "-" === n || "(" === n + ? "" + : n) + u), + (c = + ("s" === w ? d[8 + i / 3] : "") + + c + + (v && "(" === n ? ")" : "")), + M) + ) + for (o = -1, s = t.length; ++o < s; ) + if (48 > (l = t.charCodeAt(o)) || l > 57) { + (c = + (46 === l ? f + t.slice(o + 1) : t.slice(o)) + + c), + (t = t.slice(0, o)); + break; + } + } + x && !p && (t = a(t, 1 / 0)); + var S = u.length + t.length + c.length, + E = S < m ? new Array(m - S + 1).join(e) : ""; + switch ( + (x && + p && + ((t = a(E + t, E.length ? m - c.length : 1 / 0)), + (E = "")), + r) + ) { + case "<": + t = u + t + c + E; + break; + case "=": + t = u + E + t + c; + break; + case "^": + t = + E.slice(0, (S = E.length >> 1)) + + u + + t + + c + + E.slice(S); + break; + default: + t = E + u + t + c; + } + return h(t); + } + return ( + (b = + void 0 === b + ? 6 + : /[gprs]/.test(w) + ? Math.max(1, Math.min(21, b)) + : Math.max(0, Math.min(20, b))), + (S.toString = function () { + return t + ""; + }), + S + ); + } + return { + format: m, + formatPrefix: function (t, e) { + var r, + i = m((((t = o(t)).type = "f"), t)), + a = + 3 * + Math.max( + -8, + Math.min( + 8, + Math.floor( + ((r = e), + ((r = n(Math.abs(r))) ? r[1] : NaN) / 3), + ), + ), + ), + s = Math.pow(10, -a), + l = d[8 + a / 3]; + return function (t) { + return i(s * t) + l; + }; + }, + }; + } + (f = v({ + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["$", ""], + minus: "-", + })), + (h = f.format), + f.formatPrefix; + }, + 65704: function (t, e, r) { + "use strict"; + r.r(e), + r.d(e, { + geoAiry: function () { + return z; + }, + geoAiryRaw: function () { + return D; + }, + geoAitoff: function () { + return F; + }, + geoAitoffRaw: function () { + return R; + }, + geoArmadillo: function () { + return N; + }, + geoArmadilloRaw: function () { + return B; + }, + geoAugust: function () { + return U; + }, + geoAugustRaw: function () { + return j; + }, + geoBaker: function () { + return G; + }, + geoBakerRaw: function () { + return q; + }, + geoBerghaus: function () { + return W; + }, + geoBerghausRaw: function () { + return Y; + }, + geoBertin1953: function () { + return rt; + }, + geoBertin1953Raw: function () { + return et; + }, + geoBoggs: function () { + return ct; + }, + geoBoggsRaw: function () { + return ut; + }, + geoBonne: function () { + return vt; + }, + geoBonneRaw: function () { + return dt; + }, + geoBottomley: function () { + return yt; + }, + geoBottomleyRaw: function () { + return gt; + }, + geoBromley: function () { + return xt; + }, + geoBromleyRaw: function () { + return mt; + }, + geoChamberlin: function () { + return Et; + }, + geoChamberlinAfrica: function () { + return St; + }, + geoChamberlinRaw: function () { + return At; + }, + geoCollignon: function () { + return Ct; + }, + geoCollignonRaw: function () { + return Lt; + }, + geoCraig: function () { + return Ot; + }, + geoCraigRaw: function () { + return Pt; + }, + geoCraster: function () { + return zt; + }, + geoCrasterRaw: function () { + return Dt; + }, + geoCylindricalEqualArea: function () { + return Ft; + }, + geoCylindricalEqualAreaRaw: function () { + return Rt; + }, + geoCylindricalStereographic: function () { + return Nt; + }, + geoCylindricalStereographicRaw: function () { + return Bt; + }, + geoEckert1: function () { + return Ut; + }, + geoEckert1Raw: function () { + return jt; + }, + geoEckert2: function () { + return Ht; + }, + geoEckert2Raw: function () { + return Vt; + }, + geoEckert3: function () { + return Gt; + }, + geoEckert3Raw: function () { + return qt; + }, + geoEckert4: function () { + return Yt; + }, + geoEckert4Raw: function () { + return Zt; + }, + geoEckert5: function () { + return Xt; + }, + geoEckert5Raw: function () { + return Wt; + }, + geoEckert6: function () { + return Kt; + }, + geoEckert6Raw: function () { + return Jt; + }, + geoEisenlohr: function () { + return te; + }, + geoEisenlohrRaw: function () { + return Qt; + }, + geoFahey: function () { + return ne; + }, + geoFaheyRaw: function () { + return re; + }, + geoFoucaut: function () { + return ae; + }, + geoFoucautRaw: function () { + return ie; + }, + geoFoucautSinusoidal: function () { + return se; + }, + geoFoucautSinusoidalRaw: function () { + return oe; + }, + geoGilbert: function () { + return he; + }, + geoGingery: function () { + return ge; + }, + geoGingeryRaw: function () { + return pe; + }, + geoGinzburg4: function () { + return xe; + }, + geoGinzburg4Raw: function () { + return me; + }, + geoGinzburg5: function () { + return _e; + }, + geoGinzburg5Raw: function () { + return be; + }, + geoGinzburg6: function () { + return Te; + }, + geoGinzburg6Raw: function () { + return we; + }, + geoGinzburg8: function () { + return Ae; + }, + geoGinzburg8Raw: function () { + return ke; + }, + geoGinzburg9: function () { + return Se; + }, + geoGinzburg9Raw: function () { + return Me; + }, + geoGringorten: function () { + return Ce; + }, + geoGringortenQuincuncial: function () { + return ei; + }, + geoGringortenRaw: function () { + return Le; + }, + geoGuyou: function () { + return De; + }, + geoGuyouRaw: function () { + return Ie; + }, + geoHammer: function () { + return $; + }, + geoHammerRaw: function () { + return J; + }, + geoHammerRetroazimuthal: function () { + return Be; + }, + geoHammerRetroazimuthalRaw: function () { + return Re; + }, + geoHealpix: function () { + return Ye; + }, + geoHealpixRaw: function () { + return He; + }, + geoHill: function () { + return Xe; + }, + geoHillRaw: function () { + return We; + }, + geoHomolosine: function () { + return er; + }, + geoHomolosineRaw: function () { + return tr; + }, + geoHufnagel: function () { + return nr; + }, + geoHufnagelRaw: function () { + return rr; + }, + geoHyperelliptical: function () { + return sr; + }, + geoHyperellipticalRaw: function () { + return or; + }, + geoInterrupt: function () { + return fr; + }, + geoInterruptedBoggs: function () { + return pr; + }, + geoInterruptedHomolosine: function () { + return vr; + }, + geoInterruptedMollweide: function () { + return yr; + }, + geoInterruptedMollweideHemispheres: function () { + return xr; + }, + geoInterruptedQuarticAuthalic: function () { + return hn; + }, + geoInterruptedSinuMollweide: function () { + return _r; + }, + geoInterruptedSinusoidal: function () { + return Tr; + }, + geoKavrayskiy7: function () { + return Ar; + }, + geoKavrayskiy7Raw: function () { + return kr; + }, + geoLagrange: function () { + return Sr; + }, + geoLagrangeRaw: function () { + return Mr; + }, + geoLarrivee: function () { + return Cr; + }, + geoLarriveeRaw: function () { + return Lr; + }, + geoLaskowski: function () { + return Or; + }, + geoLaskowskiRaw: function () { + return Pr; + }, + geoLittrow: function () { + return Dr; + }, + geoLittrowRaw: function () { + return Ir; + }, + geoLoximuthal: function () { + return Rr; + }, + geoLoximuthalRaw: function () { + return zr; + }, + geoMiller: function () { + return Br; + }, + geoMillerRaw: function () { + return Fr; + }, + geoModifiedStereographic: function () { + return Jr; + }, + geoModifiedStereographicAlaska: function () { + return Gr; + }, + geoModifiedStereographicGs48: function () { + return Zr; + }, + geoModifiedStereographicGs50: function () { + return Yr; + }, + geoModifiedStereographicLee: function () { + return Xr; + }, + geoModifiedStereographicMiller: function () { + return Wr; + }, + geoModifiedStereographicRaw: function () { + return Nr; + }, + geoMollweide: function () { + return ot; + }, + geoMollweideRaw: function () { + return at; + }, + geoMtFlatPolarParabolic: function () { + return tn; + }, + geoMtFlatPolarParabolicRaw: function () { + return Qr; + }, + geoMtFlatPolarQuartic: function () { + return rn; + }, + geoMtFlatPolarQuarticRaw: function () { + return en; + }, + geoMtFlatPolarSinusoidal: function () { + return an; + }, + geoMtFlatPolarSinusoidalRaw: function () { + return nn; + }, + geoNaturalEarth: function () { + return on.Z; + }, + geoNaturalEarth2: function () { + return ln; + }, + geoNaturalEarth2Raw: function () { + return sn; + }, + geoNaturalEarthRaw: function () { + return on.K; + }, + geoNellHammer: function () { + return cn; + }, + geoNellHammerRaw: function () { + return un; + }, + geoNicolosi: function () { + return dn; + }, + geoNicolosiRaw: function () { + return pn; + }, + geoPatterson: function () { + return _n; + }, + geoPattersonRaw: function () { + return bn; + }, + geoPeirceQuincuncial: function () { + return ri; + }, + geoPierceQuincuncial: function () { + return ri; + }, + geoPolyconic: function () { + return Tn; + }, + geoPolyconicRaw: function () { + return wn; + }, + geoPolyhedral: function () { + return Ln; + }, + geoPolyhedralButterfly: function () { + return Rn; + }, + geoPolyhedralCollignon: function () { + return Nn; + }, + geoPolyhedralWaterman: function () { + return jn; + }, + geoProject: function () { + return Gn; + }, + geoQuantize: function () { + return ni; + }, + geoQuincuncial: function () { + return ti; + }, + geoRectangularPolyconic: function () { + return ai; + }, + geoRectangularPolyconicRaw: function () { + return ii; + }, + geoRobinson: function () { + return li; + }, + geoRobinsonRaw: function () { + return si; + }, + geoSatellite: function () { + return ci; + }, + geoSatelliteRaw: function () { + return ui; + }, + geoSinuMollweide: function () { + return Qe; + }, + geoSinuMollweideRaw: function () { + return $e; + }, + geoSinusoidal: function () { + return pt; + }, + geoSinusoidalRaw: function () { + return ht; + }, + geoStitch: function () { + return Ti; + }, + geoTimes: function () { + return Ai; + }, + geoTimesRaw: function () { + return ki; + }, + geoTwoPointAzimuthal: function () { + return Li; + }, + geoTwoPointAzimuthalRaw: function () { + return Si; + }, + geoTwoPointAzimuthalUsa: function () { + return Ei; + }, + geoTwoPointEquidistant: function () { + return Oi; + }, + geoTwoPointEquidistantRaw: function () { + return Ci; + }, + geoTwoPointEquidistantUsa: function () { + return Pi; + }, + geoVanDerGrinten: function () { + return Di; + }, + geoVanDerGrinten2: function () { + return Ri; + }, + geoVanDerGrinten2Raw: function () { + return zi; + }, + geoVanDerGrinten3: function () { + return Bi; + }, + geoVanDerGrinten3Raw: function () { + return Fi; + }, + geoVanDerGrinten4: function () { + return ji; + }, + geoVanDerGrinten4Raw: function () { + return Ni; + }, + geoVanDerGrintenRaw: function () { + return Ii; + }, + geoWagner: function () { + return Vi; + }, + geoWagner4: function () { + return Yi; + }, + geoWagner4Raw: function () { + return Zi; + }, + geoWagner6: function () { + return Xi; + }, + geoWagner6Raw: function () { + return Wi; + }, + geoWagner7: function () { + return Hi; + }, + geoWagnerRaw: function () { + return Ui; + }, + geoWiechel: function () { + return Ki; + }, + geoWiechelRaw: function () { + return Ji; + }, + geoWinkel3: function () { + return Qi; + }, + geoWinkel3Raw: function () { + return $i; + }, + }); + var n = r(15002), + i = Math.abs, + a = Math.atan, + o = Math.atan2, + s = (Math.ceil, Math.cos), + l = Math.exp, + u = Math.floor, + c = Math.log, + f = Math.max, + h = Math.min, + p = Math.pow, + d = Math.round, + v = + Math.sign || + function (t) { + return t > 0 ? 1 : t < 0 ? -1 : 0; + }, + g = Math.sin, + y = Math.tan, + m = 1e-6, + x = 1e-12, + b = Math.PI, + _ = b / 2, + w = b / 4, + T = Math.SQRT1_2, + k = P(2), + A = P(b), + M = 2 * b, + S = 180 / b, + E = b / 180; + function L(t) { + return t > 1 ? _ : t < -1 ? -_ : Math.asin(t); + } + function C(t) { + return t > 1 ? 0 : t < -1 ? b : Math.acos(t); + } + function P(t) { + return t > 0 ? Math.sqrt(t) : 0; + } + function O(t) { + return (l(t) - l(-t)) / 2; + } + function I(t) { + return (l(t) + l(-t)) / 2; + } + function D(t) { + var e = y(t / 2), + r = (2 * c(s(t / 2))) / (e * e); + function n(t, e) { + var n = s(t), + i = s(e), + a = g(e), + o = i * n, + l = -( + (1 - o ? c((1 + o) / 2) / (1 - o) : -0.5) + + r / (1 + o) + ); + return [l * i * g(t), l * a]; + } + return ( + (n.invert = function (e, n) { + var a, + l = P(e * e + n * n), + u = -t / 2, + f = 50; + if (!l) return [0, 0]; + do { + var h = u / 2, + p = s(h), + d = g(h), + v = d / p, + y = -c(i(p)); + u -= a = + (((2 / v) * y - r * v - l) / + (-y / (d * d) + 1 - r / (2 * p * p))) * + (p < 0 ? 0.7 : 1); + } while (i(a) > m && --f > 0); + var x = g(u); + return [o(e * x, l * s(u)), L((n * x) / l)]; + }), + n + ); + } + function z() { + var t = _, + e = (0, n.r)(D), + r = e(t); + return ( + (r.radius = function (r) { + return arguments.length ? e((t = r * E)) : t * S; + }), + r.scale(179.976).clipAngle(147) + ); + } + function R(t, e) { + var r = s(e), + n = (function (t) { + return t ? t / Math.sin(t) : 1; + })(C(r * s((t /= 2)))); + return [2 * r * g(t) * n, g(e) * n]; + } + function F() { + return (0, n.Z)(R).scale(152.63); + } + function B(t) { + var e = g(t), + r = s(t), + n = t >= 0 ? 1 : -1, + a = y(n * t), + l = (1 + e - r) / 2; + function u(t, i) { + var u = s(i), + c = s((t /= 2)); + return [ + (1 + u) * g(t), + (n * i > -o(c, a) - 0.001 ? 0 : 10 * -n) + + l + + g(i) * r - + (1 + u) * e * c, + ]; + } + return ( + (u.invert = function (t, u) { + var c = 0, + f = 0, + h = 50; + do { + var p = s(c), + d = g(c), + v = s(f), + y = g(f), + x = 1 + v, + b = x * d - t, + _ = l + y * r - x * e * p - u, + w = (x * p) / 2, + T = -d * y, + k = (e * x * d) / 2, + A = r * v + e * p * y, + M = T * k - A * w, + S = (_ * T - b * A) / M / 2, + E = (b * k - _ * w) / M; + i(E) > 2 && (E /= 2), (c -= S), (f -= E); + } while ((i(S) > m || i(E) > m) && --h > 0); + return n * f > -o(s(c), a) - 0.001 ? [2 * c, f] : null; + }), + u + ); + } + function N() { + var t = 20 * E, + e = t >= 0 ? 1 : -1, + r = y(e * t), + i = (0, n.r)(B), + a = i(t), + l = a.stream; + return ( + (a.parallel = function (n) { + return arguments.length + ? ((r = y((e = (t = n * E) >= 0 ? 1 : -1) * t)), i(t)) + : t * S; + }), + (a.stream = function (n) { + var i = a.rotate(), + u = l(n), + c = (a.rotate([0, 0]), l(n)), + f = a.precision(); + return ( + a.rotate(i), + (u.sphere = function () { + c.polygonStart(), c.lineStart(); + for (var n = -180 * e; e * n < 180; n += 90 * e) + c.point(n, 90 * e); + if (t) + for (; e * (n -= 3 * e * f) >= -180; ) + c.point(n, e * -o(s((n * E) / 2), r) * S); + c.lineEnd(), c.polygonEnd(); + }), + u + ); + }), + a.scale(218.695).center([0, 28.0974]) + ); + } + function j(t, e) { + var r = y(e / 2), + n = P(1 - r * r), + i = 1 + n * s((t /= 2)), + a = (g(t) * n) / i, + o = r / i, + l = a * a, + u = o * o; + return [ + (4 / 3) * a * (3 + l - 3 * u), + (4 / 3) * o * (3 + 3 * l - u), + ]; + } + function U() { + return (0, n.Z)(j).scale(66.1603); + } + (R.invert = function (t, e) { + if (!(t * t + 4 * e * e > b * b + m)) { + var r = t, + n = e, + a = 25; + do { + var o, + l = g(r), + u = g(r / 2), + c = s(r / 2), + f = g(n), + h = s(n), + p = g(2 * n), + d = f * f, + v = h * h, + y = u * u, + x = 1 - v * c * c, + _ = x ? C(h * c) * P((o = 1 / x)) : (o = 0), + w = 2 * _ * h * u - t, + T = _ * f - e, + k = o * (v * y + _ * h * c * d), + A = o * (0.5 * l * p - 2 * _ * f * u), + M = 0.25 * o * (p * u - _ * f * v * l), + S = o * (d * c + _ * y * h), + E = A * M - S * k; + if (!E) break; + var L = (T * A - w * S) / E, + O = (w * M - T * k) / E; + (r -= L), (n -= O); + } while ((i(L) > m || i(O) > m) && --a > 0); + return [r, n]; + } + }), + (j.invert = function (t, e) { + if (((e *= 3 / 8), !(t *= 3 / 8) && i(e) > 1)) + return null; + var r = 1 + t * t + e * e, + n = P((r - P(r * r - 4 * e * e)) / 2), + a = L(n) / 3, + l = n + ? (function (t) { + return c(t + P(t * t - 1)); + })(i(e / n)) / 3 + : (function (t) { + return c(t + P(t * t + 1)); + })(i(t)) / 3, + u = s(a), + f = I(l), + h = f * f - u * u; + return [ + 2 * v(t) * o(O(l) * u, 0.25 - h), + 2 * v(e) * o(f * g(a), 0.25 + h), + ]; + }); + var V = P(8), + H = c(1 + k); + function q(t, e) { + var r = i(e); + return r < w + ? [t, c(y(w + e / 2))] + : [ + t * s(r) * (2 * k - 1 / g(r)), + v(e) * (2 * k * (r - w) - c(y(r / 2))), + ]; + } + function G() { + return (0, n.Z)(q).scale(112.314); + } + q.invert = function (t, e) { + if ((n = i(e)) < H) return [t, 2 * a(l(e)) - _]; + var r, + n, + o = w, + u = 25; + do { + var f = s(o / 2), + h = y(o / 2); + o -= r = + (V * (o - w) - c(h) - n) / (V - (f * f) / (2 * h)); + } while (i(r) > x && --u > 0); + return [t / (s(o) * (V - 1 / g(o))), v(e) * o]; + }; + var Z = r(17889); + function Y(t) { + var e = (2 * b) / t; + function r(t, r) { + var n = (0, Z.N)(t, r); + if (i(t) > _) { + var a = o(n[1], n[0]), + l = P(n[0] * n[0] + n[1] * n[1]), + u = e * d((a - _) / e) + _, + c = o(g((a -= u)), 2 - s(a)); + (a = u + L((b / l) * g(c)) - c), + (n[0] = l * s(a)), + (n[1] = l * g(a)); + } + return n; + } + return ( + (r.invert = function (t, r) { + var n = P(t * t + r * r); + if (n > _) { + var i = o(r, t), + l = e * d((i - _) / e) + _, + u = i > l ? -1 : 1, + c = n * s(l - i), + f = + 1 / + y(u * C((c - b) / P(b * (b - 2 * c) + n * n))); + (i = l + 2 * a((f + u * P(f * f - 3)) / 3)), + (t = n * s(i)), + (r = n * g(i)); + } + return Z.N.invert(t, r); + }), + r + ); + } + function W() { + var t = 5, + e = (0, n.r)(Y), + r = e(t), + i = r.stream, + a = 0.01, + l = -s(a * E), + u = g(a * E); + return ( + (r.lobes = function (r) { + return arguments.length ? e((t = +r)) : t; + }), + (r.stream = function (e) { + var n = r.rotate(), + c = i(e), + f = (r.rotate([0, 0]), i(e)); + return ( + r.rotate(n), + (c.sphere = function () { + f.polygonStart(), f.lineStart(); + for ( + var e = 0, + r = 360 / t, + n = (2 * b) / t, + i = 90 - 180 / t, + c = _; + e < t; + ++e, i -= r, c -= n + ) + f.point(o(u * s(c), l) * S, L(u * g(c)) * S), + i < -90 + ? (f.point(-90, -180 - i - a), + f.point(-90, -180 - i + a)) + : (f.point(90, i + a), f.point(90, i - a)); + f.lineEnd(), f.polygonEnd(); + }), + c + ); + }), + r.scale(87.8076).center([0, 17.1875]).clipAngle(179.999) + ); + } + var X = r(12956); + function J(t, e) { + if ((arguments.length < 2 && (e = t), 1 === e)) return X.l; + if (e === 1 / 0) return K; + function r(r, n) { + var i = (0, X.l)(r / e, n); + return (i[0] *= t), i; + } + return ( + (r.invert = function (r, n) { + var i = X.l.invert(r / t, n); + return (i[0] *= e), i; + }), + r + ); + } + function K(t, e) { + return [(t * s(e)) / s((e /= 2)), 2 * g(e)]; + } + function $() { + var t = 2, + e = (0, n.r)(J), + r = e(t); + return ( + (r.coefficient = function (r) { + return arguments.length ? e((t = +r)) : t; + }), + r.scale(169.529) + ); + } + function Q(t, e, r) { + var n, + a, + o, + s = 100; + (r = void 0 === r ? 0 : +r), (e = +e); + do { + (a = t(r)) === (o = t(r + m)) && (o = a + m), + (r -= n = (-1e-6 * (a - e)) / (a - o)); + } while (s-- > 0 && i(n) > m); + return s < 0 ? NaN : r; + } + function tt(t, e, r) { + return ( + void 0 === e && (e = 40), + void 0 === r && (r = x), + function (n, a, o, s) { + var l, u, c; + (o = void 0 === o ? 0 : +o), + (s = void 0 === s ? 0 : +s); + for (var f = 0; f < e; f++) { + var h = t(o, s), + p = h[0] - n, + d = h[1] - a; + if (i(p) < r && i(d) < r) break; + var v = p * p + d * d; + if (v > l) (o -= u /= 2), (s -= c /= 2); + else { + l = v; + var g = (o > 0 ? -1 : 1) * r, + y = (s > 0 ? -1 : 1) * r, + m = t(o + g, s), + x = t(o, s + y), + b = (m[0] - h[0]) / g, + _ = (m[1] - h[1]) / g, + w = (x[0] - h[0]) / y, + T = (x[1] - h[1]) / y, + k = T * b - _ * w, + A = (i(k) < 0.5 ? 0.5 : 1) / k; + if ( + ((o += u = (d * w - p * T) * A), + (s += c = (p * _ - d * b) * A), + i(u) < r && i(c) < r) + ) + break; + } + } + return [o, s]; + } + ); + } + function et() { + var t = J(1.68, 2); + function e(e, r) { + if (e + r < -1.4) { + var n = ((e - r + 1.6) * (e + r + 1.4)) / 8; + (e += n), (r -= 0.8 * n * g(r + b / 2)); + } + var i = t(e, r), + a = (1 - s(e * r)) / 12; + return ( + i[1] < 0 && (i[0] *= 1 + a), + i[1] > 0 && (i[1] *= 1 + (a / 1.5) * i[0] * i[0]), + i + ); + } + return (e.invert = tt(e)), e; + } + function rt() { + return (0, n.Z)(et()) + .rotate([-16.5, -42]) + .scale(176.57) + .center([7.93, 0.09]); + } + function nt(t, e) { + var r, + n = t * g(e), + a = 30; + do { + e -= r = (e + g(e) - n) / (1 + s(e)); + } while (i(r) > m && --a > 0); + return e / 2; + } + function it(t, e, r) { + function n(n, i) { + return [t * n * s((i = nt(r, i))), e * g(i)]; + } + return ( + (n.invert = function (n, i) { + return ( + (i = L(i / e)), + [n / (t * s(i)), L((2 * i + g(2 * i)) / r)] + ); + }), + n + ); + } + K.invert = function (t, e) { + var r = 2 * L(e / 2); + return [(t * s(r / 2)) / s(r), r]; + }; + var at = it(k / _, k, b); + function ot() { + return (0, n.Z)(at).scale(169.529); + } + var st = 2.00276, + lt = 1.11072; + function ut(t, e) { + var r = nt(b, e); + return [ + (st * t) / (1 / s(e) + lt / s(r)), + (e + k * g(r)) / st, + ]; + } + function ct() { + return (0, n.Z)(ut).scale(160.857); + } + function ft(t) { + var e = 0, + r = (0, n.r)(t), + i = r(e); + return ( + (i.parallel = function (t) { + return arguments.length ? r((e = t * E)) : e * S; + }), + i + ); + } + function ht(t, e) { + return [t * s(e), e]; + } + function pt() { + return (0, n.Z)(ht).scale(152.63); + } + function dt(t) { + if (!t) return ht; + var e = 1 / y(t); + function r(r, n) { + var i = e + t - n, + a = i ? (r * s(n)) / i : i; + return [i * g(a), e - i * s(a)]; + } + return ( + (r.invert = function (r, n) { + var i = P(r * r + (n = e - n) * n), + a = e + t - i; + return [(i / s(a)) * o(r, n), a]; + }), + r + ); + } + function vt() { + return ft(dt) + .scale(123.082) + .center([0, 26.1441]) + .parallel(45); + } + function gt(t) { + function e(e, r) { + var n = _ - r, + i = n ? (e * t * g(n)) / n : n; + return [(n * g(i)) / t, _ - n * s(i)]; + } + return ( + (e.invert = function (e, r) { + var n = e * t, + i = _ - r, + a = P(n * n + i * i), + s = o(n, i); + return [((a ? a / g(a) : 1) * s) / t, _ - a]; + }), + e + ); + } + function yt() { + var t = 0.5, + e = (0, n.r)(gt), + r = e(t); + return ( + (r.fraction = function (r) { + return arguments.length ? e((t = +r)) : t; + }), + r.scale(158.837) + ); + } + (ut.invert = function (t, e) { + var r, + n, + a = st * e, + o = e < 0 ? -w : w, + l = 25; + do { + (n = a - k * g(o)), + (o -= r = + (g(2 * o) + 2 * o - b * g(n)) / + (2 * s(2 * o) + 2 + b * s(n) * k * s(o))); + } while (i(r) > m && --l > 0); + return ( + (n = a - k * g(o)), [(t * (1 / s(n) + lt / s(o))) / st, n] + ); + }), + (ht.invert = function (t, e) { + return [t / s(e), e]; + }); + var mt = it(1, 4 / b, b); + function xt() { + return (0, n.Z)(mt).scale(152.63); + } + var bt = r(66624), + _t = r(49386); + function wt(t, e, r, n, a, l) { + var u, + c = s(l); + if (i(t) > 1 || i(l) > 1) u = C(r * a + e * n * c); + else { + var f = g(t / 2), + h = g(l / 2); + u = 2 * L(P(f * f + e * n * h * h)); + } + return i(u) > m + ? [u, o(n * g(l), e * a - r * n * c)] + : [0, 0]; + } + function Tt(t, e, r) { + return C((t * t + e * e - r * r) / (2 * t * e)); + } + function kt(t) { + return t - 2 * b * u((t + b) / (2 * b)); + } + function At(t, e, r) { + for ( + var n, + i = [ + [t[0], t[1], g(t[1]), s(t[1])], + [e[0], e[1], g(e[1]), s(e[1])], + [r[0], r[1], g(r[1]), s(r[1])], + ], + a = i[2], + o = 0; + o < 3; + ++o, a = n + ) + (n = i[o]), + (a.v = wt( + n[1] - a[1], + a[3], + a[2], + n[3], + n[2], + n[0] - a[0], + )), + (a.point = [0, 0]); + var l = Tt(i[0].v[0], i[2].v[0], i[1].v[0]), + u = Tt(i[0].v[0], i[1].v[0], i[2].v[0]), + c = b - l; + (i[2].point[1] = 0), + (i[0].point[0] = -(i[1].point[0] = i[0].v[0] / 2)); + var f = [ + (i[2].point[0] = i[0].point[0] + i[2].v[0] * s(l)), + 2 * (i[0].point[1] = i[1].point[1] = i[2].v[0] * g(l)), + ]; + return function (t, e) { + var r, + n = g(e), + a = s(e), + o = new Array(3); + for (r = 0; r < 3; ++r) { + var l = i[r]; + if ( + ((o[r] = wt(e - l[1], l[3], l[2], a, n, t - l[0])), + !o[r][0]) + ) + return l.point; + o[r][1] = kt(o[r][1] - l.v[1]); + } + var h = f.slice(); + for (r = 0; r < 3; ++r) { + var p = 2 == r ? 0 : r + 1, + d = Tt(i[r].v[0], o[r][0], o[p][0]); + o[r][1] < 0 && (d = -d), + r + ? 1 == r + ? ((d = u - d), + (h[0] -= o[r][0] * s(d)), + (h[1] -= o[r][0] * g(d))) + : ((d = c - d), + (h[0] += o[r][0] * s(d)), + (h[1] += o[r][0] * g(d))) + : ((h[0] += o[r][0] * s(d)), + (h[1] -= o[r][0] * g(d))); + } + return (h[0] /= 3), (h[1] /= 3), h; + }; + } + function Mt(t) { + return (t[0] *= E), (t[1] *= E), t; + } + function St() { + return Et([0, 22], [45, 22], [22.5, -22]) + .scale(380) + .center([22.5, 2]); + } + function Et(t, e, r) { + var i = (0, bt.Z)({ + type: "MultiPoint", + coordinates: [t, e, r], + }), + a = [-i[0], -i[1]], + o = (0, _t.Z)(a), + s = At(Mt(o(t)), Mt(o(e)), Mt(o(r))); + s.invert = tt(s); + var l = (0, n.Z)(s).rotate(a), + u = l.center; + return ( + delete l.rotate, + (l.center = function (t) { + return arguments.length ? u(o(t)) : o.invert(u()); + }), + l.clipAngle(90) + ); + } + function Lt(t, e) { + var r = P(1 - g(e)); + return [(2 / A) * t * r, A * (1 - r)]; + } + function Ct() { + return (0, n.Z)(Lt).scale(95.6464).center([0, 30]); + } + function Pt(t) { + var e = y(t); + function r(t, r) { + return [t, (t ? t / g(t) : 1) * (g(r) * s(t) - e * s(r))]; + } + return ( + (r.invert = e + ? function (t, r) { + t && (r *= g(t) / t); + var n = s(t); + return [ + t, + 2 * o(P(n * n + e * e - r * r) - n, e - r), + ]; + } + : function (t, e) { + return [t, L(t ? (e * y(t)) / t : e)]; + }), + r + ); + } + function Ot() { + return ft(Pt).scale(249.828).clipAngle(90); + } + Lt.invert = function (t, e) { + var r = (r = e / A - 1) * r; + return [r > 0 ? (t * P(b / r)) / 2 : 0, L(1 - r)]; + }; + var It = P(3); + function Dt(t, e) { + return [ + (It * t * (2 * s((2 * e) / 3) - 1)) / A, + It * A * g(e / 3), + ]; + } + function zt() { + return (0, n.Z)(Dt).scale(156.19); + } + function Rt(t) { + var e = s(t); + function r(t, r) { + return [t * e, g(r) / e]; + } + return ( + (r.invert = function (t, r) { + return [t / e, L(r * e)]; + }), + r + ); + } + function Ft() { + return ft(Rt).parallel(38.58).scale(195.044); + } + function Bt(t) { + var e = s(t); + function r(t, r) { + return [t * e, (1 + e) * y(r / 2)]; + } + return ( + (r.invert = function (t, r) { + return [t / e, 2 * a(r / (1 + e))]; + }), + r + ); + } + function Nt() { + return ft(Bt).scale(124.75); + } + function jt(t, e) { + var r = P(8 / (3 * b)); + return [r * t * (1 - i(e) / b), r * e]; + } + function Ut() { + return (0, n.Z)(jt).scale(165.664); + } + function Vt(t, e) { + var r = P(4 - 3 * g(i(e))); + return [ + (2 / P(6 * b)) * t * r, + v(e) * P((2 * b) / 3) * (2 - r), + ]; + } + function Ht() { + return (0, n.Z)(Vt).scale(165.664); + } + function qt(t, e) { + var r = P(b * (4 + b)); + return [ + (2 / r) * t * (1 + P(1 - (4 * e * e) / (b * b))), + (4 / r) * e, + ]; + } + function Gt() { + return (0, n.Z)(qt).scale(180.739); + } + function Zt(t, e) { + var r = (2 + _) * g(e); + e /= 2; + for (var n = 0, a = 1 / 0; n < 10 && i(a) > m; n++) { + var o = s(e); + e -= a = (e + g(e) * (o + 2) - r) / (2 * o * (1 + o)); + } + return [ + (2 / P(b * (4 + b))) * t * (1 + s(e)), + 2 * P(b / (4 + b)) * g(e), + ]; + } + function Yt() { + return (0, n.Z)(Zt).scale(180.739); + } + function Wt(t, e) { + return [(t * (1 + s(e))) / P(2 + b), (2 * e) / P(2 + b)]; + } + function Xt() { + return (0, n.Z)(Wt).scale(173.044); + } + function Jt(t, e) { + for ( + var r = (1 + _) * g(e), n = 0, a = 1 / 0; + n < 10 && i(a) > m; + n++ + ) + e -= a = (e + g(e) - r) / (1 + s(e)); + return (r = P(2 + b)), [(t * (1 + s(e))) / r, (2 * e) / r]; + } + function Kt() { + return (0, n.Z)(Jt).scale(173.044); + } + (Dt.invert = function (t, e) { + var r = 3 * L(e / (It * A)); + return [(A * t) / (It * (2 * s((2 * r) / 3) - 1)), r]; + }), + (jt.invert = function (t, e) { + var r = P(8 / (3 * b)), + n = e / r; + return [t / (r * (1 - i(n) / b)), n]; + }), + (Vt.invert = function (t, e) { + var r = 2 - i(e) / P((2 * b) / 3); + return [ + (t * P(6 * b)) / (2 * r), + v(e) * L((4 - r * r) / 3), + ]; + }), + (qt.invert = function (t, e) { + var r = P(b * (4 + b)) / 2; + return [ + (t * r) / (1 + P(1 - (e * e * (4 + b)) / (4 * b))), + (e * r) / 2, + ]; + }), + (Zt.invert = function (t, e) { + var r = (e * P((4 + b) / b)) / 2, + n = L(r), + i = s(n); + return [ + t / ((2 / P(b * (4 + b))) * (1 + i)), + L((n + r * (i + 2)) / (2 + _)), + ]; + }), + (Wt.invert = function (t, e) { + var r = P(2 + b), + n = (e * r) / 2; + return [(r * t) / (1 + s(n)), n]; + }), + (Jt.invert = function (t, e) { + var r = 1 + _, + n = P(r / 2); + return [ + (2 * t * n) / (1 + s((e *= n))), + L((e + g(e)) / r), + ]; + }); + var $t = 3 + 2 * k; + function Qt(t, e) { + var r = g((t /= 2)), + n = s(t), + i = P(s(e)), + o = s((e /= 2)), + l = g(e) / (o + k * n * i), + u = P(2 / (1 + l * l)), + f = P((k * o + (n + r) * i) / (k * o + (n - r) * i)); + return [ + $t * (u * (f - 1 / f) - 2 * c(f)), + $t * (u * l * (f + 1 / f) - 2 * a(l)), + ]; + } + function te() { + return (0, n.Z)(Qt).scale(62.5271); + } + Qt.invert = function (t, e) { + if (!(r = j.invert(t / 1.2, 1.065 * e))) return null; + var r, + n = r[0], + o = r[1], + l = 20; + (t /= $t), (e /= $t); + do { + var u = n / 2, + p = o / 2, + d = g(u), + v = s(u), + y = g(p), + x = s(p), + b = s(o), + w = P(b), + A = y / (x + k * v * w), + M = A * A, + S = P(2 / (1 + M)), + E = (k * x + (v + d) * w) / (k * x + (v - d) * w), + L = P(E), + C = L - 1 / L, + O = L + 1 / L, + I = S * C - 2 * c(L) - t, + D = S * A * O - 2 * a(A) - e, + z = y && (T * w * d * M) / y, + R = + (k * v * x + w) / + (2 * (x + k * v * w) * (x + k * v * w) * w), + F = -0.5 * A * S * S * S, + B = F * z, + N = F * R, + U = (U = 2 * x + k * w * (v - d)) * U * L, + V = (k * v * x * w + b) / U, + H = (-k * d * y) / (w * U), + q = C * B - (2 * V) / L + S * (V + V / E), + G = C * N - (2 * H) / L + S * (H + H / E), + Z = + A * O * B - + (2 * z) / (1 + M) + + S * O * z + + S * A * (V - V / E), + Y = + A * O * N - + (2 * R) / (1 + M) + + S * O * R + + S * A * (H - H / E), + W = G * Z - Y * q; + if (!W) break; + var X = (D * G - I * Y) / W, + J = (I * Z - D * q) / W; + (n -= X), (o = f(-_, h(_, o - J))); + } while ((i(X) > m || i(J) > m) && --l > 0); + return i(i(o) - _) < m ? [0, o] : l && [n, o]; + }; + var ee = s(35 * E); + function re(t, e) { + var r = y(e / 2); + return [t * ee * P(1 - r * r), (1 + ee) * r]; + } + function ne() { + return (0, n.Z)(re).scale(137.152); + } + function ie(t, e) { + var r = e / 2, + n = s(r); + return [((2 * t) / A) * s(e) * n * n, A * y(r)]; + } + function ae() { + return (0, n.Z)(ie).scale(135.264); + } + function oe(t) { + var e = 1 - t, + r = i(b, 0)[0] - i(-b, 0)[0], + n = P((2 * (i(0, _)[1] - i(0, -_)[1])) / r); + function i(r, n) { + var i = s(n), + a = g(n); + return [(i / (e + t * i)) * r, e * n + t * a]; + } + function a(t, e) { + var r = i(t, e); + return [r[0] * n, r[1] / n]; + } + function o(t) { + return a(0, t)[1]; + } + return ( + (a.invert = function (r, i) { + var a = Q(o, i); + return [(r / n) * (t + e / s(a)), a]; + }), + a + ); + } + function se() { + var t = 0.5, + e = (0, n.r)(oe), + r = e(t); + return ( + (r.alpha = function (r) { + return arguments.length ? e((t = +r)) : t; + }), + r.scale(168.725) + ); + } + (re.invert = function (t, e) { + var r = e / (1 + ee); + return [t && t / (ee * P(1 - r * r)), 2 * a(r)]; + }), + (ie.invert = function (t, e) { + var r = a(e / A), + n = s(r), + i = 2 * r; + return [(t * A) / 2 / (s(i) * n * n), i]; + }); + var le = r(57962), + ue = r(97492); + function ce(t) { + return [t[0] / 2, L(y((t[1] / 2) * E)) * S]; + } + function fe(t) { + return [2 * t[0], 2 * a(g(t[1] * E)) * S]; + } + function he(t) { + null == t && (t = le.Z); + var e = t(), + r = (0, ue.Z)() + .scale(S) + .precision(0) + .clipAngle(null) + .translate([0, 0]); + function n(t) { + return e(ce(t)); + } + function i(t) { + n[t] = function () { + return arguments.length + ? (e[t].apply(e, arguments), n) + : e[t](); + }; + } + return ( + e.invert && + (n.invert = function (t) { + return fe(e.invert(t)); + }), + (n.stream = function (t) { + var n = e.stream(t), + i = r.stream({ + point: function (t, e) { + n.point(t / 2, L(y((-e / 2) * E)) * S); + }, + lineStart: function () { + n.lineStart(); + }, + lineEnd: function () { + n.lineEnd(); + }, + polygonStart: function () { + n.polygonStart(); + }, + polygonEnd: function () { + n.polygonEnd(); + }, + }); + return (i.sphere = n.sphere), i; + }), + (n.rotate = function (t) { + return arguments.length ? (r.rotate(t), n) : r.rotate(); + }), + (n.center = function (t) { + return arguments.length + ? (e.center(ce(t)), n) + : fe(e.center()); + }), + i("angle"), + i("clipAngle"), + i("clipExtent"), + i("fitExtent"), + i("fitHeight"), + i("fitSize"), + i("fitWidth"), + i("scale"), + i("translate"), + i("precision"), + n.scale(249.5) + ); + } + function pe(t, e) { + var r = (2 * b) / e, + n = t * t; + function a(e, a) { + var l = (0, Z.N)(e, a), + u = l[0], + c = l[1], + f = u * u + c * c; + if (f > n) { + var h = P(f), + p = o(c, u), + v = r * d(p / r), + y = p - v, + x = t * s(y), + w = (t * g(y) - y * g(x)) / (_ - x), + T = de(y, w), + k = (b - t) / ve(T, x, b); + u = h; + var A, + M = 50; + do { + u -= A = (t + ve(T, x, u) * k - h) / (T(u) * k); + } while (i(A) > m && --M > 0); + (c = y * g(u)), u < _ && (c -= w * (u - _)); + var S = g(v), + E = s(v); + (l[0] = u * E - c * S), (l[1] = u * S + c * E); + } + return l; + } + return ( + (a.invert = function (e, a) { + var l = e * e + a * a; + if (l > n) { + var u = P(l), + c = o(a, e), + f = r * d(c / r), + h = c - f; + (e = u * s(h)), (a = u * g(h)); + for ( + var p = e - _, + v = g(e), + y = a / v, + m = e < _ ? 1 / 0 : 0, + w = 10; + ; + + ) { + var T = t * g(y), + k = t * s(y), + A = g(k), + M = _ - k, + S = (T - y * A) / M, + E = de(y, S); + if (i(m) < x || !--w) break; + y -= m = + (y * v - S * p - a) / + (v - + (2 * + p * + (M * (k + y * T * s(k) - A) - + T * (T - y * A))) / + (M * M)); + } + (e = + (u = t + (ve(E, k, e) * (b - t)) / ve(E, k, b)) * + s((c = f + y))), + (a = u * g(c)); + } + return Z.N.invert(e, a); + }), + a + ); + } + function de(t, e) { + return function (r) { + var n = t * s(r); + return r < _ && (n -= e), P(1 + n * n); + }; + } + function ve(t, e, r) { + for ( + var n = (r - e) / 50, i = t(e) + t(r), a = 1, o = e; + a < 50; + ++a + ) + i += 2 * t((o += n)); + return 0.5 * i * n; + } + function ge() { + var t = 6, + e = 30 * E, + r = s(e), + i = g(e), + a = (0, n.r)(pe), + l = a(e, t), + u = l.stream, + c = -s(0.01 * E), + f = g(0.01 * E); + return ( + (l.radius = function (n) { + return arguments.length + ? ((r = s((e = n * E))), (i = g(e)), a(e, t)) + : e * S; + }), + (l.lobes = function (r) { + return arguments.length ? a(e, (t = +r)) : t; + }), + (l.stream = function (e) { + var n = l.rotate(), + a = u(e), + h = (l.rotate([0, 0]), u(e)); + return ( + l.rotate(n), + (a.sphere = function () { + h.polygonStart(), h.lineStart(); + for ( + var e = 0, n = (2 * b) / t, a = 0; + e < t; + ++e, a -= n + ) + h.point(o(f * s(a), c) * S, L(f * g(a)) * S), + h.point( + o(i * s(a - n / 2), r) * S, + L(i * g(a - n / 2)) * S, + ); + h.lineEnd(), h.polygonEnd(); + }), + a + ); + }), + l.rotate([90, -40]).scale(91.7095).clipAngle(179.999) + ); + } + function ye(t, e, r, n, a, o, l, u) { + function c(i, c) { + if (!c) return [(t * i) / b, 0]; + var f = c * c, + h = t + f * (e + f * (r + f * n)), + p = c * (a - 1 + f * (o - u + f * l)), + d = (h * h + p * p) / (2 * p), + v = (i * L(h / d)) / b; + return [d * g(v), c * (1 + f * u) + d * (1 - s(v))]; + } + return ( + arguments.length < 8 && (u = 0), + (c.invert = function (c, f) { + var h, + p, + d = (b * c) / t, + v = f, + y = 50; + do { + var x = v * v, + _ = t + x * (e + x * (r + x * n)), + w = v * (a - 1 + x * (o - u + x * l)), + T = _ * _ + w * w, + k = 2 * w, + A = T / k, + M = A * A, + S = L(_ / A) / b, + E = d * S, + C = _ * _, + O = (2 * e + x * (4 * r + 6 * x * n)) * v, + I = a + x * (3 * o + 5 * x * l), + D = + (2 * (_ * O + w * (I - 1)) * k - + T * (2 * (I - 1))) / + (k * k), + z = s(E), + R = g(E), + F = A * z, + B = A * R, + N = + ((d / b) * (1 / P(1 - C / M)) * (O * A - _ * D)) / + M, + j = B - c, + U = v * (1 + x * u) + A - F - f, + V = D * R + F * N, + H = F * S, + q = 1 + D - (D * z - B * N), + G = B * S, + Z = V * G - q * H; + if (!Z) break; + (d -= h = (U * V - j * q) / Z), + (v -= p = (j * G - U * H) / Z); + } while ((i(h) > m || i(p) > m) && --y > 0); + return [d, v]; + }), + c + ); + } + var me = ye( + 2.8284, + -1.6988, + 0.75432, + -0.18071, + 1.76003, + -0.38914, + 0.042555, + ); + function xe() { + return (0, n.Z)(me).scale(149.995); + } + var be = ye( + 2.583819, + -0.835827, + 0.170354, + -0.038094, + 1.543313, + -0.411435, + 0.082742, + ); + function _e() { + return (0, n.Z)(be).scale(153.93); + } + var we = ye( + (5 / 6) * b, + -0.62636, + -0.0344, + 0, + 1.3493, + -0.05524, + 0, + 0.045, + ); + function Te() { + return (0, n.Z)(we).scale(130.945); + } + function ke(t, e) { + var r = t * t, + n = e * e; + return [ + t * (1 - 0.162388 * n) * (0.87 - 952426e-9 * r * r), + e * (1 + n / 12), + ]; + } + function Ae() { + return (0, n.Z)(ke).scale(131.747); + } + ke.invert = function (t, e) { + var r, + n = t, + a = e, + o = 50; + do { + var s = a * a; + a -= r = (a * (1 + s / 12) - e) / (1 + s / 4); + } while (i(r) > m && --o > 0); + (o = 50), (t /= 1 - 0.162388 * s); + do { + var l = (l = n * n) * l; + n -= r = + (n * (0.87 - 952426e-9 * l) - t) / + (0.87 - 0.00476213 * l); + } while (i(r) > m && --o > 0); + return [n, a]; + }; + var Me = ye( + 2.6516, + -0.76534, + 0.19123, + -0.047094, + 1.36289, + -0.13965, + 0.031762, + ); + function Se() { + return (0, n.Z)(Me).scale(131.087); + } + function Ee(t) { + var e = t(_, 0)[0] - t(-_, 0)[0]; + function r(r, n) { + var i = r > 0 ? -0.5 : 0.5, + a = t(r + i * b, n); + return (a[0] -= i * e), a; + } + return ( + t.invert && + (r.invert = function (r, n) { + var i = r > 0 ? -0.5 : 0.5, + a = t.invert(r + i * e, n), + o = a[0] - i * b; + return ( + o < -b ? (o += 2 * b) : o > b && (o -= 2 * b), + (a[0] = o), + a + ); + }), + r + ); + } + function Le(t, e) { + var r = v(t), + n = v(e), + a = s(e), + l = s(t) * a, + u = g(t) * a, + c = g(n * e); + (t = i(o(u, c))), (e = L(l)), i(t - _) > m && (t %= _); + var f = (function (t, e) { + if (e === _) return [0, 0]; + var r, + n, + a = g(e), + o = a * a, + l = o * o, + u = 1 + l, + c = 1 + 3 * l, + f = 1 - l, + h = L(1 / P(u)), + p = f + o * u * h, + d = (1 - a) / p, + v = P(d), + y = d * u, + x = P(y), + w = v * f; + if (0 === t) return [0, -(w + o * x)]; + var T, + k = s(e), + A = 1 / k, + M = 2 * a * k, + S = (-p * k - (-3 * o + h * c) * M * (1 - a)) / (p * p), + E = -A * M, + C = -A * (o * u * S + d * c * M), + O = -2 * A * (f * ((0.5 * S) / v) - 2 * o * v * M), + I = (4 * t) / b; + if (t > 0.222 * b || (e < b / 4 && t > 0.175 * b)) { + if ( + ((r = (w + o * P(y * (1 + l) - w * w)) / (1 + l)), + t > b / 4) + ) + return [r, r]; + var D = r, + z = 0.5 * r; + (r = 0.5 * (z + D)), (n = 50); + do { + var R = r * (O + E * P(y - r * r)) + C * L(r / x) - I; + if (!R) break; + R < 0 ? (z = r) : (D = r), (r = 0.5 * (z + D)); + } while (i(D - z) > m && --n > 0); + } else { + (r = m), (n = 25); + do { + var F = r * r, + B = P(y - F), + N = O + E * B, + j = r * N + C * L(r / x) - I; + r -= T = B ? j / (N + (C - E * F) / B) : 0; + } while (i(T) > m && --n > 0); + } + return [r, -w - o * P(y - r * r)]; + })(t > b / 4 ? _ - t : t, e); + return ( + t > b / 4 && ((c = f[0]), (f[0] = -f[1]), (f[1] = -c)), + (f[0] *= r), + (f[1] *= -n), + f + ); + } + function Ce() { + return (0, n.Z)(Ee(Le)).scale(239.75); + } + function Pe(t, e) { + var r, n, o, u, c, f; + if (e < m) + return [ + (u = g(t)) - (r = (e * (t - u * (n = s(t)))) / 4) * n, + n + r * u, + 1 - (e * u * u) / 2, + t - r, + ]; + if (e >= 0.999999) + return ( + (r = (1 - e) / 4), + (o = 1 / (n = I(t))), + [ + (u = ((f = l(2 * (f = t))) - 1) / (f + 1)) + + (r * ((c = n * O(t)) - t)) / (n * n), + o - r * u * o * (c - t), + o + r * u * o * (c + t), + 2 * a(l(t)) - _ + (r * (c - t)) / n, + ] + ); + var h = [1, 0, 0, 0, 0, 0, 0, 0, 0], + p = [P(e), 0, 0, 0, 0, 0, 0, 0, 0], + d = 0; + for (n = P(1 - e), c = 1; i(p[d] / h[d]) > m && d < 8; ) + (r = h[d++]), + (p[d] = (r - n) / 2), + (h[d] = (r + n) / 2), + (n = P(r * n)), + (c *= 2); + o = c * h[d] * t; + do { + o = (L((u = (p[d] * g((n = o))) / h[d])) + o) / 2; + } while (--d); + return [g(o), (u = s(o)), u / s(o - n), o]; + } + function Oe(t, e) { + if (!e) return t; + if (1 === e) return c(y(t / 2 + w)); + for ( + var r = 1, n = P(1 - e), o = P(e), s = 0; + i(o) > m; + s++ + ) { + if (t % b) { + var l = a((n * y(t)) / r); + l < 0 && (l += b), (t += l + ~~(t / b) * b); + } else t += t; + (o = (r + n) / 2), + (n = P(r * n)), + (o = ((r = o) - n) / 2); + } + return t / (p(2, s) * r); + } + function Ie(t, e) { + var r = (k - 1) / (k + 1), + n = P(1 - r * r), + u = Oe(_, n * n), + f = c(y(b / 4 + i(e) / 2)), + h = l(-1 * f) / P(r), + p = (function (t, e) { + var r = t * t, + n = e + 1, + i = 1 - r - e * e; + return [ + 0.5 * ((t >= 0 ? _ : -_) - o(i, 2 * t)), + -0.25 * c(i * i + 4 * r) + 0.5 * c(n * n + r), + ]; + })(h * s(-1 * t), h * g(-1 * t)), + d = (function (t, e, r) { + var n = i(t), + o = O(i(e)); + if (n) { + var s = 1 / g(n), + l = 1 / (y(n) * y(n)), + u = -(l + r * (o * o * s * s) - 1 + r), + c = (-u + P(u * u - (r - 1) * l * 4)) / 2; + return [ + Oe(a(1 / P(c)), r) * v(t), + Oe(a(P((c / l - 1) / r)), 1 - r) * v(e), + ]; + } + return [0, Oe(a(o), 1 - r) * v(e)]; + })(p[0], p[1], n * n); + return [-d[1], (e >= 0 ? 1 : -1) * (0.5 * u - d[0])]; + } + function De() { + return (0, n.Z)(Ee(Ie)).scale(151.496); + } + (Le.invert = function (t, e) { + i(t) > 1 && (t = 2 * v(t) - t), + i(e) > 1 && (e = 2 * v(e) - e); + var r = v(t), + n = v(e), + a = -r * t, + l = -n * e, + u = l / a < 1, + c = (function (t, e) { + for (var r = 0, n = 1, a = 0.5, o = 50; ; ) { + var l = a * a, + u = P(a), + c = L(1 / P(1 + l)), + f = 1 - l + a * (1 + l) * c, + h = (1 - u) / f, + p = P(h), + d = h * (1 + l), + v = p * (1 - l), + g = P(d - t * t), + y = e + v + a * g; + if (i(n - r) < x || 0 == --o || 0 === y) break; + y > 0 ? (r = a) : (n = a), (a = 0.5 * (r + n)); + } + if (!o) return null; + var m = L(u), + _ = s(m), + w = 1 / _, + T = 2 * u * _, + k = + (-f * _ - + (-3 * a + c * (1 + 3 * l)) * T * (1 - u)) / + (f * f); + return [ + (b / 4) * + (t * + (-2 * + w * + (((0.5 * k) / p) * (1 - l) - 2 * a * p * T) + + -w * T * g) + + -w * + (a * (1 + l) * k + h * (1 + 3 * l) * T) * + L(t / P(d))), + m, + ]; + })(u ? l : a, u ? a : l), + f = c[0], + h = c[1], + p = s(h); + return ( + u && (f = -_ - f), + [r * (o(g(f) * p, -g(h)) + b), n * L(s(f) * p)] + ); + }), + (Ie.invert = function (t, e) { + var r, + n, + i, + s, + u, + f, + h = (k - 1) / (k + 1), + p = P(1 - h * h), + d = + ((n = -t), + (i = p * p), + (r = 0.5 * Oe(_, p * p) - e) + ? ((s = Pe(r, i)), + n + ? ((f = + (u = Pe(n, 1 - i))[1] * u[1] + + i * s[0] * s[0] * u[0] * u[0]), + [ + [ + (s[0] * u[2]) / f, + (s[1] * s[2] * u[0] * u[1]) / f, + ], + [ + (s[1] * u[1]) / f, + (-s[0] * s[2] * u[0] * u[2]) / f, + ], + [ + (s[2] * u[1] * u[2]) / f, + (-i * s[0] * s[1] * u[0]) / f, + ], + ]) + : [ + [s[0], 0], + [s[1], 0], + [s[2], 0], + ]) + : [ + [0, (u = Pe(n, 1 - i))[0] / u[1]], + [1 / u[1], 0], + [u[2] / u[1], 0], + ]), + v = (function (t, e) { + var r = e[0] * e[0] + e[1] * e[1]; + return [ + (t[0] * e[0] + t[1] * e[1]) / r, + (t[1] * e[0] - t[0] * e[1]) / r, + ]; + })(d[0], d[1]); + return [ + o(v[1], v[0]) / -1, + 2 * a(l(-0.5 * c(h * v[0] * v[0] + h * v[1] * v[1]))) - + _, + ]; + }); + var ze = r(7613); + function Re(t) { + var e = g(t), + r = s(t), + n = Fe(t); + function a(t, a) { + var o = n(t, a); + (t = o[0]), (a = o[1]); + var l = g(a), + u = s(a), + c = s(t), + f = C(e * l + r * u * c), + h = g(f), + p = i(h) > m ? f / h : 1; + return [ + p * r * g(t), + (i(t) > _ ? p : -p) * (e * u - r * l * c), + ]; + } + return ( + (n.invert = Fe(-t)), + (a.invert = function (t, r) { + var i = P(t * t + r * r), + a = -g(i), + l = s(i), + u = i * l, + c = -r * a, + f = i * e, + h = P(u * u + c * c - f * f), + p = o(u * f + c * h, c * f - u * h), + d = + (i > _ ? -1 : 1) * + o(t * a, i * s(p) * l + r * g(p) * a); + return n.invert(d, p); + }), + a + ); + } + function Fe(t) { + var e = g(t), + r = s(t); + return function (t, n) { + var i = s(n), + a = s(t) * i, + l = g(t) * i, + u = g(n); + return [o(l, a * r - u * e), L(u * r + a * e)]; + }; + } + function Be() { + var t = 0, + e = (0, n.r)(Re), + r = e(t), + i = r.rotate, + a = r.stream, + o = (0, ze.Z)(); + return ( + (r.parallel = function (n) { + if (!arguments.length) return t * S; + var i = r.rotate(); + return e((t = n * E)).rotate(i); + }), + (r.rotate = function (e) { + return arguments.length + ? (i.call(r, [e[0], e[1] - t * S]), + o.center([-e[0], -e[1]]), + r) + : (((e = i.call(r))[1] += t * S), e); + }), + (r.stream = function (t) { + return ( + ((t = a(t)).sphere = function () { + t.polygonStart(); + var e, + r = o.radius(89.99)().coordinates[0], + n = r.length - 1, + i = -1; + for (t.lineStart(); ++i < n; ) + t.point((e = r[i])[0], e[1]); + for ( + t.lineEnd(), + n = + (r = o.radius(90.01)().coordinates[0]) + .length - 1, + t.lineStart(); + --i >= 0; + + ) + t.point((e = r[i])[0], e[1]); + t.lineEnd(), t.polygonEnd(); + }), + t + ); + }), + r.scale(79.4187).parallel(45).clipAngle(179.999) + ); + } + var Ne = r(33064), + je = r(72736), + Ue = L(1 - 1 / 3) * S, + Ve = Rt(0); + function He(t) { + var e = Ue * E, + r = Lt(b, e)[0] - Lt(-b, e)[0], + n = Ve(0, e)[1], + a = Lt(0, e)[1], + o = A - a, + s = M / t, + l = 4 / M, + c = n + (o * o * 4) / M; + function p(p, d) { + var v, + g = i(d); + if (g > e) { + var y = h(t - 1, f(0, u((p + b) / s))); + ((v = Lt((p += (b * (t - 1)) / t - y * s), g))[0] = + (v[0] * M) / r - + (M * (t - 1)) / (2 * t) + + (y * M) / t), + (v[1] = n + (4 * (v[1] - a) * o) / M), + d < 0 && (v[1] = -v[1]); + } else v = Ve(p, d); + return (v[0] *= l), (v[1] /= c), v; + } + return ( + (p.invert = function (e, p) { + e /= l; + var d = i((p *= c)); + if (d > n) { + var v = h(t - 1, f(0, u((e + b) / s))); + e = ((e + (b * (t - 1)) / t - v * s) * r) / M; + var g = Lt.invert(e, (0.25 * (d - n) * M) / o + a); + return ( + (g[0] -= (b * (t - 1)) / t - v * s), + p < 0 && (g[1] = -g[1]), + g + ); + } + return Ve.invert(e, p); + }), + p + ); + } + function qe(t, e) { + return [t, 1 & e ? 89.999999 : Ue]; + } + function Ge(t, e) { + return [t, 1 & e ? -89.999999 : -Ue]; + } + function Ze(t) { + return [0.999999 * t[0], t[1]]; + } + function Ye() { + var t = 4, + e = (0, n.r)(He), + r = e(t), + i = r.stream; + return ( + (r.lobes = function (r) { + return arguments.length ? e((t = +r)) : t; + }), + (r.stream = function (e) { + var n = r.rotate(), + a = i(e), + o = (r.rotate([0, 0]), i(e)); + return ( + r.rotate(n), + (a.sphere = function () { + var e, r; + (0, je.Z)( + ((e = 180 / t), + (r = [].concat( + (0, Ne.w6)(-180, 180 + e / 2, e).map(qe), + (0, Ne.w6)(180, -180 - e / 2, -e).map(Ge), + )), + { + type: "Polygon", + coordinates: [180 === e ? r.map(Ze) : r], + }), + o, + ); + }), + a + ); + }), + r.scale(239.75) + ); + } + function We(t) { + var e, + r = 1 + t, + n = L(g(1 / r)), + a = 2 * P(b / (e = b + 4 * n * r)), + l = 0.5 * a * (r + P(t * (2 + t))), + u = t * t, + c = r * r; + function f(f, h) { + var p, + d, + v = 1 - g(h); + if (v && v < 2) { + var y, + m = _ - h, + w = 25; + do { + var T = g(m), + k = s(m), + A = n + o(T, r - k), + M = 1 + c - 2 * r * k; + m -= y = + (m - u * n - r * T + M * A - 0.5 * v * e) / + (2 * r * T * A); + } while (i(y) > x && --w > 0); + (p = a * P(M)), (d = (f * A) / b); + } else (p = a * (t + v)), (d = (f * n) / b); + return [p * g(d), l - p * s(d)]; + } + return ( + (f.invert = function (t, i) { + var s = t * t + (i -= l) * i, + f = (1 + c - s / (a * a)) / (2 * r), + h = C(f), + p = g(h), + d = n + o(p, r - f); + return [ + (L(t / P(s)) * b) / d, + L( + 1 - + (2 * + (h - u * n - r * p + (1 + c - 2 * r * f) * d)) / + e, + ), + ]; + }), + f + ); + } + function Xe() { + var t = 1, + e = (0, n.r)(We), + r = e(t); + return ( + (r.ratio = function (r) { + return arguments.length ? e((t = +r)) : t; + }), + r.scale(167.774).center([0, 18.67]) + ); + } + var Je = 0.7109889596207567, + Ke = 0.0528035274542; + function $e(t, e) { + return e > -Je ? (((t = at(t, e))[1] += Ke), t) : ht(t, e); + } + function Qe() { + return (0, n.Z)($e) + .rotate([-20, -55]) + .scale(164.263) + .center([0, -5.4036]); + } + function tr(t, e) { + return i(e) > Je + ? (((t = at(t, e))[1] -= e > 0 ? Ke : -Ke), t) + : ht(t, e); + } + function er() { + return (0, n.Z)(tr).scale(152.63); + } + function rr(t, e, r, n) { + var i = P( + (4 * b) / + (2 * r + + (1 + t - e / 2) * g(2 * r) + + ((t + e) / 2) * g(4 * r) + + (e / 2) * g(6 * r)), + ), + a = P( + n * + g(r) * + P((1 + t * s(2 * r) + e * s(4 * r)) / (1 + t + e)), + ), + o = r * u(1); + function l(r) { + return P(1 + t * s(2 * r) + e * s(4 * r)); + } + function u(n) { + var i = n * r; + return ( + (2 * i + + (1 + t - e / 2) * g(2 * i) + + ((t + e) / 2) * g(4 * i) + + (e / 2) * g(6 * i)) / + r + ); + } + function c(t) { + return l(t) * g(t); + } + var f = function (t, e) { + var n = r * Q(u, (o * g(e)) / r, e / b); + isNaN(n) && (n = r * v(e)); + var c = i * l(n); + return [((c * a * t) / b) * s(n), (c / a) * g(n)]; + }; + return ( + (f.invert = function (t, e) { + var n = Q(c, (e * a) / i); + return [ + (t * b) / (s(n) * i * a * l(n)), + L((r * u(n / r)) / o), + ]; + }), + 0 === r && + ((i = P(n / b)), + ((f = function (t, e) { + return [t * i, g(e) / i]; + }).invert = function (t, e) { + return [t / i, L(e * i)]; + })), + f + ); + } + function nr() { + var t = 1, + e = 0, + r = 45 * E, + i = 2, + a = (0, n.r)(rr), + o = a(t, e, r, i); + return ( + (o.a = function (n) { + return arguments.length ? a((t = +n), e, r, i) : t; + }), + (o.b = function (n) { + return arguments.length ? a(t, (e = +n), r, i) : e; + }), + (o.psiMax = function (n) { + return arguments.length + ? a(t, e, (r = +n * E), i) + : r * S; + }), + (o.ratio = function (n) { + return arguments.length ? a(t, e, r, (i = +n)) : i; + }), + o.scale(180.739) + ); + } + function ir(t, e, r, n, i, a, o, s, l, u, c) { + if (c.nanEncountered) return NaN; + var f, h, p, d, v, g, y, m, x, b; + if ( + ((h = t(e + 0.25 * (f = r - e))), + (p = t(r - 0.25 * f)), + isNaN(h)) + ) + c.nanEncountered = !0; + else { + if (!isNaN(p)) + return ( + (b = + ((g = + (d = (f * (n + 4 * h + i)) / 12) + + (v = (f * (i + 4 * p + a)) / 12)) - + o) / + 15), + u > l + ? (c.maxDepthCount++, g + b) + : Math.abs(b) < s + ? g + b + : ((m = ir( + t, + e, + (y = e + 0.5 * f), + n, + h, + i, + d, + 0.5 * s, + l, + u + 1, + c, + )), + isNaN(m) + ? ((c.nanEncountered = !0), NaN) + : ((x = ir( + t, + y, + r, + i, + p, + a, + v, + 0.5 * s, + l, + u + 1, + c, + )), + isNaN(x) + ? ((c.nanEncountered = !0), NaN) + : m + x)) + ); + c.nanEncountered = !0; + } + } + function ar(t, e, r, n, i) { + void 0 === n && (n = 1e-8), void 0 === i && (i = 20); + var a = t(e), + o = t(0.5 * (e + r)), + s = t(r); + return ir( + t, + e, + r, + a, + o, + s, + ((a + 4 * o + s) * (r - e)) / 6, + n, + i, + 1, + { maxDepthCount: 0, nanEncountered: !1 }, + ); + } + function or(t, e, r) { + function n(r) { + return t + (1 - t) * p(1 - p(r, e), 1 / e); + } + function a(t) { + return ar(n, 0, t, 1e-4); + } + for ( + var o = 1 / a(1), + s = 1e3, + l = (1 + 1e-8) * o, + u = [], + c = 0; + c <= s; + c++ + ) + u.push(a(c / s) * l); + function f(t) { + var e = 0, + r = s, + n = 500; + do { + u[n] > t ? (r = n) : (e = n), (n = (e + r) >> 1); + } while (n > e); + var i = u[n + 1] - u[n]; + return i && (i = (t - u[n + 1]) / i), (n + 1 + i) / s; + } + var h = (((2 * f(1)) / b) * o) / r, + d = function (t, e) { + var r = f(i(g(e))), + a = n(r) * t; + return (r /= h), [a, e >= 0 ? r : -r]; + }; + return ( + (d.invert = function (t, e) { + var r; + return ( + i((e *= h)) < 1 && (r = v(e) * L(a(i(e)) * o)), + [t / n(i(e)), r] + ); + }), + d + ); + } + function sr() { + var t = 0, + e = 2.5, + r = 1.183136, + i = (0, n.r)(or), + a = i(t, e, r); + return ( + (a.alpha = function (n) { + return arguments.length ? i((t = +n), e, r) : t; + }), + (a.k = function (n) { + return arguments.length ? i(t, (e = +n), r) : e; + }), + (a.gamma = function (n) { + return arguments.length ? i(t, e, (r = +n)) : r; + }), + a.scale(152.63) + ); + } + function lr(t, e) { + return i(t[0] - e[0]) < m && i(t[1] - e[1]) < m; + } + function ur(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 cr(t) { + var e, + r, + n, + i, + a, + o, + s, + l = [], + u = t[0].length; + for (s = 0; s < u; ++s) + (r = (e = t[0][s])[0][0]), + (n = e[0][1]), + (i = e[1][1]), + (a = e[2][0]), + (o = e[2][1]), + l.push( + ur( + [ + [r + m, n + m], + [r + m, i - m], + [a - m, i - m], + [a - m, o + m], + ], + 30, + ), + ); + for (s = t[1].length - 1; s >= 0; --s) + (r = (e = t[1][s])[0][0]), + (n = e[0][1]), + (i = e[1][1]), + (a = e[2][0]), + (o = e[2][1]), + l.push( + ur( + [ + [a - m, o - m], + [a - m, i + m], + [r + m, i + m], + [r + m, n - m], + ], + 30, + ), + ); + return { type: "Polygon", coordinates: [(0, Ne.TS)(l)] }; + } + function fr(t, e, r) { + var i, a; + function o(r, n) { + for ( + var i = n < 0 ? -1 : 1, + a = e[+(n < 0)], + o = 0, + s = a.length - 1; + o < s && r > a[o][2][0]; + ++o + ); + var l = t(r - a[o][1][0], n); + return ( + (l[0] += t( + a[o][1][0], + i * n > i * a[o][0][1] ? a[o][0][1] : n, + )[0]), + l + ); + } + r + ? (o.invert = r(o)) + : t.invert && + (o.invert = function (r, n) { + for ( + var i = a[+(n < 0)], + s = e[+(n < 0)], + l = 0, + u = i.length; + l < u; + ++l + ) { + var c = i[l]; + if ( + c[0][0] <= r && + r < c[1][0] && + c[0][1] <= n && + n < c[1][1] + ) { + var f = t.invert(r - t(s[l][1][0], 0)[0], n); + return ( + (f[0] += s[l][1][0]), + lr(o(f[0], f[1]), [r, n]) ? f : null + ); + } + } + }); + var s = (0, n.Z)(o), + l = s.stream; + return ( + (s.stream = function (t) { + var e = s.rotate(), + r = l(t), + n = (s.rotate([0, 0]), l(t)); + return ( + s.rotate(e), + (r.sphere = function () { + (0, je.Z)(i, n); + }), + r + ); + }), + (s.lobes = function (r) { + return arguments.length + ? ((i = cr(r)), + (e = r.map(function (t) { + return t.map(function (t) { + return [ + [t[0][0] * E, t[0][1] * E], + [t[1][0] * E, t[1][1] * E], + [t[2][0] * E, t[2][1] * E], + ]; + }); + })), + (a = e.map(function (e) { + return e.map(function (e) { + var r, + n = t(e[0][0], e[0][1])[0], + i = t(e[2][0], e[2][1])[0], + a = t(e[1][0], e[0][1])[1], + o = t(e[1][0], e[1][1])[1]; + return ( + a > o && ((r = a), (a = o), (o = r)), + [ + [n, a], + [i, o], + ] + ); + }); + })), + s) + : e.map(function (t) { + return t.map(function (t) { + return [ + [t[0][0] * S, t[0][1] * S], + [t[1][0] * S, t[1][1] * S], + [t[2][0] * S, t[2][1] * S], + ]; + }); + }); + }), + null != e && s.lobes(e), + s + ); + } + ($e.invert = function (t, e) { + return e > -Je ? at.invert(t, e - Ke) : ht.invert(t, e); + }), + (tr.invert = function (t, e) { + return i(e) > Je + ? at.invert(t, e + (e > 0 ? Ke : -Ke)) + : ht.invert(t, e); + }); + var hr = [ + [ + [ + [-180, 0], + [-100, 90], + [-40, 0], + ], + [ + [-40, 0], + [30, 90], + [180, 0], + ], + ], + [ + [ + [-180, 0], + [-160, -90], + [-100, 0], + ], + [ + [-100, 0], + [-60, -90], + [-20, 0], + ], + [ + [-20, 0], + [20, -90], + [80, 0], + ], + [ + [80, 0], + [140, -90], + [180, 0], + ], + ], + ]; + function pr() { + return fr(ut, hr).scale(160.857); + } + var dr = [ + [ + [ + [-180, 0], + [-100, 90], + [-40, 0], + ], + [ + [-40, 0], + [30, 90], + [180, 0], + ], + ], + [ + [ + [-180, 0], + [-160, -90], + [-100, 0], + ], + [ + [-100, 0], + [-60, -90], + [-20, 0], + ], + [ + [-20, 0], + [20, -90], + [80, 0], + ], + [ + [80, 0], + [140, -90], + [180, 0], + ], + ], + ]; + function vr() { + return fr(tr, dr).scale(152.63); + } + var gr = [ + [ + [ + [-180, 0], + [-100, 90], + [-40, 0], + ], + [ + [-40, 0], + [30, 90], + [180, 0], + ], + ], + [ + [ + [-180, 0], + [-160, -90], + [-100, 0], + ], + [ + [-100, 0], + [-60, -90], + [-20, 0], + ], + [ + [-20, 0], + [20, -90], + [80, 0], + ], + [ + [80, 0], + [140, -90], + [180, 0], + ], + ], + ]; + function yr() { + return fr(at, gr).scale(169.529); + } + var mr = [ + [ + [ + [-180, 0], + [-90, 90], + [0, 0], + ], + [ + [0, 0], + [90, 90], + [180, 0], + ], + ], + [ + [ + [-180, 0], + [-90, -90], + [0, 0], + ], + [ + [0, 0], + [90, -90], + [180, 0], + ], + ], + ]; + function xr() { + return fr(at, mr).scale(169.529).rotate([20, 0]); + } + var br = [ + [ + [ + [-180, 35], + [-30, 90], + [0, 35], + ], + [ + [0, 35], + [30, 90], + [180, 35], + ], + ], + [ + [ + [-180, -10], + [-102, -90], + [-65, -10], + ], + [ + [-65, -10], + [5, -90], + [77, -10], + ], + [ + [77, -10], + [103, -90], + [180, -10], + ], + ], + ]; + function _r() { + return fr($e, br, tt) + .rotate([-20, -55]) + .scale(164.263) + .center([0, -5.4036]); + } + var wr = [ + [ + [ + [-180, 0], + [-110, 90], + [-40, 0], + ], + [ + [-40, 0], + [0, 90], + [40, 0], + ], + [ + [40, 0], + [110, 90], + [180, 0], + ], + ], + [ + [ + [-180, 0], + [-110, -90], + [-40, 0], + ], + [ + [-40, 0], + [0, -90], + [40, 0], + ], + [ + [40, 0], + [110, -90], + [180, 0], + ], + ], + ]; + function Tr() { + return fr(ht, wr).scale(152.63).rotate([-20, 0]); + } + function kr(t, e) { + return [(3 / M) * t * P((b * b) / 3 - e * e), e]; + } + function Ar() { + return (0, n.Z)(kr).scale(158.837); + } + function Mr(t) { + function e(e, r) { + if (i(i(r) - _) < m) return [0, r < 0 ? -2 : 2]; + var n = g(r), + a = p((1 + n) / (1 - n), t / 2), + o = 0.5 * (a + 1 / a) + s((e *= t)); + return [(2 * g(e)) / o, (a - 1 / a) / o]; + } + return ( + (e.invert = function (e, r) { + var n = i(r); + if (i(n - 2) < m) return e ? null : [0, v(r) * _]; + if (n > 2) return null; + var a = (e /= 2) * e, + s = (r /= 2) * r, + l = (2 * r) / (1 + a + s); + return ( + (l = p((1 + l) / (1 - l), 1 / t)), + [o(2 * e, 1 - a - s) / t, L((l - 1) / (l + 1))] + ); + }), + e + ); + } + function Sr() { + var t = 0.5, + e = (0, n.r)(Mr), + r = e(t); + return ( + (r.spacing = function (r) { + return arguments.length ? e((t = +r)) : t; + }), + r.scale(124.75) + ); + } + kr.invert = function (t, e) { + return [((M / 3) * t) / P((b * b) / 3 - e * e), e]; + }; + var Er = b / k; + function Lr(t, e) { + return [(t * (1 + P(s(e)))) / 2, e / (s(e / 2) * s(t / 6))]; + } + function Cr() { + return (0, n.Z)(Lr).scale(97.2672); + } + function Pr(t, e) { + var r = t * t, + n = e * e; + return [ + t * + (0.975534 + + n * (-0.0143059 * r - 0.119161 + -0.0547009 * n)), + e * + (1.00384 + + r * (0.0802894 + -0.02855 * n + 199025e-9 * r) + + n * (0.0998909 + -0.0491032 * n)), + ]; + } + function Or() { + return (0, n.Z)(Pr).scale(139.98); + } + function Ir(t, e) { + return [g(t) / s(e), y(e) * s(t)]; + } + function Dr() { + return (0, n.Z)(Ir).scale(144.049).clipAngle(89.999); + } + function zr(t) { + var e = s(t), + r = y(w + t / 2); + function n(n, a) { + var o = a - t, + s = + i(o) < m + ? n * e + : i((s = w + a / 2)) < m || i(i(s) - _) < m + ? 0 + : (n * o) / c(y(s) / r); + return [s, o]; + } + return ( + (n.invert = function (n, a) { + var o, + s = a + t; + return [ + i(a) < m + ? n / e + : i((o = w + s / 2)) < m || i(i(o) - _) < m + ? 0 + : (n * c(y(o) / r)) / a, + s, + ]; + }), + n + ); + } + function Rr() { + return ft(zr).parallel(40).scale(158.837); + } + function Fr(t, e) { + return [t, 1.25 * c(y(w + 0.4 * e))]; + } + function Br() { + return (0, n.Z)(Fr).scale(108.318); + } + function Nr(t) { + var e = t.length - 1; + function r(r, n) { + for ( + var i, + a = s(n), + o = 2 / (1 + a * s(r)), + l = o * a * g(r), + u = o * g(n), + c = e, + f = t[c], + h = f[0], + p = f[1]; + --c >= 0; + + ) + (h = (f = t[c])[0] + l * (i = h) - u * p), + (p = f[1] + l * p + u * i); + return [(h = l * (i = h) - u * p), (p = l * p + u * i)]; + } + return ( + (r.invert = function (r, n) { + var l = 20, + u = r, + c = n; + do { + for ( + var f, + h = e, + p = t[h], + d = p[0], + v = p[1], + y = 0, + m = 0; + --h >= 0; + + ) + (y = d + u * (f = y) - c * m), + (m = v + u * m + c * f), + (d = (p = t[h])[0] + u * (f = d) - c * v), + (v = p[1] + u * v + c * f); + var x, + b, + _ = + (y = d + u * (f = y) - c * m) * y + + (m = v + u * m + c * f) * m; + (u -= x = + ((d = u * (f = d) - c * v - r) * y + + (v = u * v + c * f - n) * m) / + _), + (c -= b = (v * y - d * m) / _); + } while (i(x) + i(b) > 1e-12 && --l > 0); + if (l) { + var w = P(u * u + c * c), + T = 2 * a(0.5 * w), + k = g(T); + return [o(u * k, w * s(T)), w ? L((c * k) / w) : 0]; + } + }), + r + ); + } + (Lr.invert = function (t, e) { + var r = i(t), + n = i(e), + a = m, + o = _; + n < Er ? (o *= n / Er) : (a += 6 * C(Er / n)); + for (var l = 0; l < 25; l++) { + var u = g(o), + c = P(s(o)), + f = g(o / 2), + h = s(o / 2), + p = g(a / 6), + d = s(a / 6), + v = 0.5 * a * (1 + c) - r, + y = o / (h * d) - n, + x = c ? (-0.25 * a * u) / c : 0, + b = 0.5 * (1 + c), + w = (1 + (0.5 * o * f) / h) / (h * d), + T = ((o / h) * (p / 6)) / (d * d), + k = x * T - w * b, + A = (v * T - y * b) / k, + M = (y * x - v * w) / k; + if (((o -= A), (a -= M), i(A) < m && i(M) < m)) break; + } + return [t < 0 ? -a : a, e < 0 ? -o : o]; + }), + (Pr.invert = function (t, e) { + var r = v(t) * b, + n = e / 2, + a = 50; + do { + var o = r * r, + s = n * n, + l = r * n, + u = + r * + (0.975534 + + s * + (-0.0143059 * o - + 0.119161 + + -0.0547009 * s)) - + t, + c = + n * + (1.00384 + + o * (0.0802894 + -0.02855 * s + 199025e-9 * o) + + s * (0.0998909 + -0.0491032 * s)) - + e, + f = + 0.975534 - + s * (0.119161 + 3 * o * 0.0143059 + 0.0547009 * s), + h = -l * (0.238322 + 0.2188036 * s + 0.0286118 * o), + p = l * (0.1605788 + 7961e-7 * o + -0.0571 * s), + d = + 1.00384 + + o * (0.0802894 + 199025e-9 * o) + + s * (3 * (0.0998909 - 0.02855 * o) - 0.245516 * s), + g = h * p - d * f, + y = (c * h - u * d) / g, + x = (u * p - c * f) / g; + (r -= y), (n -= x); + } while ((i(y) > m || i(x) > m) && --a > 0); + return a && [r, n]; + }), + (Ir.invert = function (t, e) { + var r = t * t, + n = e * e + 1, + i = r + n, + a = t ? T * P((i - P(i * i - 4 * r)) / r) : 1 / P(n); + return [L(t * a), v(e) * C(a)]; + }), + (Fr.invert = function (t, e) { + return [t, 2.5 * a(l(0.8 * e)) - 0.625 * b]; + }); + var jr = [ + [0.9972523, 0], + [0.0052513, -0.0041175], + [0.0074606, 0.0048125], + [-0.0153783, -0.1968253], + [0.0636871, -0.1408027], + [0.3660976, -0.2937382], + ], + Ur = [ + [0.98879, 0], + [0, 0], + [-0.050909, 0], + [0, 0], + [0.075528, 0], + ], + Vr = [ + [0.984299, 0], + [0.0211642, 0.0037608], + [-0.1036018, -0.0575102], + [-0.0329095, -0.0320119], + [0.0499471, 0.1223335], + [0.026046, 0.0899805], + [7388e-7, -0.1435792], + [0.0075848, -0.1334108], + [-0.0216473, 0.0776645], + [-0.0225161, 0.0853673], + ], + Hr = [ + [0.9245, 0], + [0, 0], + [0.01943, 0], + ], + qr = [ + [0.721316, 0], + [0, 0], + [-0.00881625, -0.00617325], + ]; + function Gr() { + return Jr(jr, [152, -64]) + .scale(1400) + .center([-160.908, 62.4864]) + .clipAngle(30) + .angle(7.8); + } + function Zr() { + return Jr(Ur, [95, -38]) + .scale(1e3) + .clipAngle(55) + .center([-96.5563, 38.8675]); + } + function Yr() { + return Jr(Vr, [120, -45]) + .scale(359.513) + .clipAngle(55) + .center([-117.474, 53.0628]); + } + function Wr() { + return Jr(Hr, [-20, -18]) + .scale(209.091) + .center([20, 16.7214]) + .clipAngle(82); + } + function Xr() { + return Jr(qr, [165, 10]) + .scale(250) + .clipAngle(130) + .center([-165, -10]); + } + function Jr(t, e) { + var r = (0, n.Z)(Nr(t)).rotate(e).clipAngle(90), + i = (0, _t.Z)(e), + a = r.center; + return ( + delete r.rotate, + (r.center = function (t) { + return arguments.length ? a(i(t)) : i.invert(a()); + }), + r + ); + } + var Kr = P(6), + $r = P(7); + function Qr(t, e) { + var r = L((7 * g(e)) / (3 * Kr)); + return [ + (Kr * t * (2 * s((2 * r) / 3) - 1)) / $r, + (9 * g(r / 3)) / $r, + ]; + } + function tn() { + return (0, n.Z)(Qr).scale(164.859); + } + function en(t, e) { + for ( + var r, n = (1 + T) * g(e), a = e, o = 0; + o < 25 && + ((a -= r = + (g(a / 2) + g(a) - n) / (0.5 * s(a / 2) + s(a))), + !(i(r) < m)); + o++ + ); + return [ + (t * (1 + (2 * s(a)) / s(a / 2))) / (3 * k), + (2 * P(3) * g(a / 2)) / P(2 + k), + ]; + } + function rn() { + return (0, n.Z)(en).scale(188.209); + } + function nn(t, e) { + for ( + var r, + n = P(6 / (4 + b)), + a = (1 + b / 4) * g(e), + o = e / 2, + l = 0; + l < 25 && + ((o -= r = (o / 2 + g(o) - a) / (0.5 + s(o))), + !(i(r) < m)); + l++ + ); + return [(n * (0.5 + s(o)) * t) / 1.5, n * o]; + } + function an() { + return (0, n.Z)(nn).scale(166.518); + } + (Qr.invert = function (t, e) { + var r = 3 * L((e * $r) / 9); + return [ + (t * $r) / (Kr * (2 * s((2 * r) / 3) - 1)), + L((3 * g(r) * Kr) / 7), + ]; + }), + (en.invert = function (t, e) { + var r = (e * P(2 + k)) / (2 * P(3)), + n = 2 * L(r); + return [ + (3 * k * t) / (1 + (2 * s(n)) / s(n / 2)), + L((r + g(n)) / (1 + T)), + ]; + }), + (nn.invert = function (t, e) { + var r = P(6 / (4 + b)), + n = e / r; + return ( + i(i(n) - _) < m && (n = n < 0 ? -_ : _), + [ + (1.5 * t) / (r * (0.5 + s(n))), + L((n / 2 + g(n)) / (1 + b / 4)), + ] + ); + }); + var on = r(26867); + function sn(t, e) { + var r = e * e, + n = r * r, + i = r * n; + return [ + t * + (0.84719 - + 0.13063 * r + + i * + i * + (0.05494 * r - + 0.04515 - + 0.02326 * n + + 0.00331 * i)), + e * + (1.01183 + + n * n * (0.01926 * r - 0.02625 - 0.00396 * n)), + ]; + } + function ln() { + return (0, n.Z)(sn).scale(175.295); + } + function un(t, e) { + return [(t * (1 + s(e))) / 2, 2 * (e - y(e / 2))]; + } + function cn() { + return (0, n.Z)(un).scale(152.63); + } + (sn.invert = function (t, e) { + var r, + n, + a, + o, + s = e, + l = 25; + do { + s -= r = + (s * + (1.01183 + + (a = (n = s * s) * n) * + a * + (0.01926 * n - 0.02625 - 0.00396 * a)) - + e) / + (1.01183 + + a * a * (0.21186 * n - 0.23625 + -0.05148 * a)); + } while (i(r) > x && --l > 0); + return [ + t / + (0.84719 - + 0.13063 * (n = s * s) + + (o = n * (a = n * n)) * + o * + (0.05494 * n - + 0.04515 - + 0.02326 * a + + 0.00331 * o)), + s, + ]; + }), + (un.invert = function (t, e) { + for ( + var r = e / 2, n = 0, a = 1 / 0; + n < 10 && i(a) > m; + ++n + ) { + var o = s(e / 2); + e -= a = (e - y(e / 2) - r) / (1 - 0.5 / (o * o)); + } + return [(2 * t) / (1 + s(e)), e]; + }); + var fn = [ + [ + [ + [-180, 0], + [-90, 90], + [0, 0], + ], + [ + [0, 0], + [90, 90], + [180, 0], + ], + ], + [ + [ + [-180, 0], + [-90, -90], + [0, 0], + ], + [ + [0, 0], + [90, -90], + [180, 0], + ], + ], + ]; + function hn() { + return fr(J(1 / 0), fn) + .rotate([20, 0]) + .scale(152.63); + } + function pn(t, e) { + var r = g(e), + n = s(e), + a = v(t); + if (0 === t || i(e) === _) return [0, e]; + if (0 === e) return [t, 0]; + if (i(t) === _) return [t * n, _ * r]; + var o = b / (2 * t) - (2 * t) / b, + l = (2 * e) / b, + u = (1 - l * l) / (r - l), + c = o * o, + f = u * u, + h = 1 + c / f, + p = 1 + f / c, + d = ((o * r) / u - o / 2) / h, + y = ((f * r) / c + u / 2) / p, + m = y * y - ((f * r * r) / c + u * r - 1) / p; + return [ + _ * (d + P(d * d + (n * n) / h) * a), + _ * (y + P(m < 0 ? 0 : m) * v(-e * o) * a), + ]; + } + function dn() { + return (0, n.Z)(pn).scale(127.267); + } + pn.invert = function (t, e) { + var r = (t /= _) * t, + n = r + (e /= _) * e, + i = b * b; + return [ + t + ? ((n - 1 + P((1 - n) * (1 - n) + 4 * r)) / (2 * t)) * _ + : 0, + Q(function (t) { + return ( + n * (b * g(t) - 2 * t) * b + + 4 * t * t * (e - g(t)) + + 2 * b * t - + i * e + ); + }, 0), + ]; + }; + var vn = 1.0148, + gn = 0.23185, + yn = -0.14499, + mn = 0.02406, + xn = 1.790857183; + function bn(t, e) { + var r = e * e; + return [t, e * (vn + r * r * (gn + r * (yn + mn * r)))]; + } + function _n() { + return (0, n.Z)(bn).scale(139.319); + } + function wn(t, e) { + if (i(e) < m) return [t, 0]; + var r = y(e), + n = t * g(e); + return [g(n) / r, e + (1 - s(n)) / r]; + } + function Tn() { + return (0, n.Z)(wn).scale(103.74); + } + (bn.invert = function (t, e) { + e > xn ? (e = xn) : e < -1.790857183 && (e = -1.790857183); + var r, + n = e; + do { + var a = n * n; + n -= r = + (n * (vn + a * a * (gn + a * (yn + mn * a))) - e) / + (1.0148 + + a * + a * + (1.1592500000000001 + a * (0.21654 * a - 1.01493))); + } while (i(r) > m); + return [t, n]; + }), + (wn.invert = function (t, e) { + if (i(e) < m) return [t, 0]; + var r, + n = t * t + e * e, + a = 0.5 * e, + o = 10; + do { + var l = y(a), + u = 1 / s(a), + c = n - 2 * e * a + a * a; + a -= r = + (l * c + 2 * (a - e)) / + (2 + c * u * u + 2 * (a - e) * l); + } while (i(r) > m && --o > 0); + return ( + (l = y(a)), + [ + (i(e) < i(a + 1 / l) + ? L(t * l) + : v(e) * v(t) * (C(i(t * l)) + _)) / g(a), + a, + ] + ); + }); + var kn = r(77338), + An = r(83074); + function Mn(t, e) { + return [ + t[0] * e[0] + t[1] * e[3], + t[0] * e[1] + t[1] * e[4], + t[0] * e[2] + t[1] * e[5] + t[2], + t[3] * e[0] + t[4] * e[3], + t[3] * e[1] + t[4] * e[4], + t[3] * e[2] + t[4] * e[5] + t[5], + ]; + } + function Sn(t, e) { + return [t[0] - e[0], t[1] - e[1]]; + } + function En(t) { + return P(t[0] * t[0] + t[1] * t[1]); + } + function Ln(t, e, r) { + function i(t, r) { + var n, + i = e(t, r), + a = i.project([t * S, r * S]); + return (n = i.transform) + ? [ + n[0] * a[0] + n[1] * a[1] + n[2], + -(n[3] * a[0] + n[4] * a[1] + n[5]), + ] + : ((a[1] = -a[1]), a); + } + function a(t, r) { + var n = t.project.invert, + i = t.transform, + o = r; + if ( + (i && + ((i = (function (t) { + var e = 1 / (t[0] * t[4] - t[1] * t[3]); + return [ + e * t[4], + -e * t[1], + e * (t[1] * t[5] - t[2] * t[4]), + -e * t[3], + e * t[0], + e * (t[2] * t[3] - t[0] * t[5]), + ]; + })(i)), + (o = [ + i[0] * o[0] + i[1] * o[1] + i[2], + i[3] * o[0] + i[4] * o[1] + i[5], + ])), + n && + t === + (function (t) { + return e(t[0] * E, t[1] * E); + })((s = n(o)))) + ) + return s; + for ( + var s, l = t.children, u = 0, c = l && l.length; + u < c; + ++u + ) + if ((s = a(l[u], r))) return s; + } + !(function t(e, r) { + if ( + ((e.edges = (function (t) { + for ( + var e = t.length, r = [], n = t[e - 1], i = 0; + i < e; + ++i + ) + r.push([n, (n = t[i])]); + return r; + })(e.face)), + r.face) + ) { + var n = (e.shared = (function (t, e) { + for ( + var r, n, i = t.length, a = null, o = 0; + o < i; + ++o + ) { + r = t[o]; + for (var s = e.length; --s >= 0; ) + if ( + ((n = e[s]), r[0] === n[0] && r[1] === n[1]) + ) { + if (a) return [a, r]; + a = r; + } + } + })(e.face, r.face)), + i = + ((c = n.map(r.project)), + (f = n.map(e.project)), + (h = Sn(c[1], c[0])), + (p = Sn(f[1], f[0])), + (d = (function (t, e) { + return o( + t[0] * e[1] - t[1] * e[0], + t[0] * e[0] + t[1] * e[1], + ); + })(h, p)), + (v = En(h) / En(p)), + Mn( + [1, 0, c[0][0], 0, 1, c[0][1]], + Mn( + [v, 0, 0, 0, v, 0], + Mn( + [s(d), g(d), 0, -g(d), s(d), 0], + [1, 0, -f[0][0], 0, 1, -f[0][1]], + ), + ), + )); + e.transform = r.transform ? Mn(r.transform, i) : i; + for (var a = r.edges, l = 0, u = a.length; l < u; ++l) + Pn(n[0], a[l][1]) && Pn(n[1], a[l][0]) && (a[l] = e), + Pn(n[0], a[l][0]) && + Pn(n[1], a[l][1]) && + (a[l] = e); + for (l = 0, u = (a = e.edges).length; l < u; ++l) + Pn(n[0], a[l][0]) && Pn(n[1], a[l][1]) && (a[l] = r), + Pn(n[0], a[l][1]) && + Pn(n[1], a[l][0]) && + (a[l] = r); + } else e.transform = r.transform; + var c, f, h, p, d, v; + return ( + e.children && + e.children.forEach(function (r) { + t(r, e); + }), + e + ); + })(t, { transform: null }), + On(t) && + (i.invert = function (e, r) { + var n = a(t, [e, -r]); + return n && ((n[0] *= E), (n[1] *= E), n); + }); + var l = (0, n.Z)(i), + u = l.stream; + return ( + (l.stream = function (e) { + var r = l.rotate(), + n = u(e), + i = (l.rotate([0, 0]), u(e)); + return ( + l.rotate(r), + (n.sphere = function () { + i.polygonStart(), + i.lineStart(), + Cn(i, t), + i.lineEnd(), + i.polygonEnd(); + }), + n + ); + }), + l.angle(null == r ? -30 : r * S) + ); + } + function Cn(t, e, r) { + var n, + a, + o = e.edges, + s = o.length, + l = { type: "MultiPoint", coordinates: e.face }, + u = e.face.filter(function (t) { + return 90 !== i(t[1]); + }), + c = (0, kn.Z)({ type: "MultiPoint", coordinates: u }), + f = !1, + h = -1, + p = c[1][0] - c[0][0], + d = + 180 === p || 360 === p + ? [(c[0][0] + c[1][0]) / 2, (c[0][1] + c[1][1]) / 2] + : (0, bt.Z)(l); + if (r) for (; ++h < s && o[h] !== r; ); + ++h; + for (var v = 0; v < s; ++v) + (a = o[(v + h) % s]), + Array.isArray(a) + ? (f || + (t.point((n = (0, An.Z)(a[0], d)(m))[0], n[1]), + (f = !0)), + t.point((n = (0, An.Z)(a[1], d)(m))[0], n[1])) + : ((f = !1), a !== r && Cn(t, a, e)); + } + function Pn(t, e) { + return t && e && t[0] === e[0] && t[1] === e[1]; + } + function On(t) { + return ( + t.project.invert || (t.children && t.children.some(On)) + ); + } + var In = r(98936), + Dn = [ + [0, 90], + [-90, 0], + [0, 0], + [90, 0], + [180, 0], + [0, -90], + ], + zn = [ + [0, 2, 1], + [0, 3, 2], + [5, 1, 2], + [5, 2, 3], + [0, 1, 4], + [0, 4, 3], + [5, 4, 1], + [5, 3, 4], + ].map(function (t) { + return t.map(function (t) { + return Dn[t]; + }); + }); + function Rn(t) { + t = + t || + function (t) { + var e = (0, bt.Z)({ + type: "MultiPoint", + coordinates: t, + }); + return (0, In.Z)() + .scale(1) + .translate([0, 0]) + .rotate([-e[0], -e[1]]); + }; + var e = zn.map(function (e) { + return { face: e, project: t(e) }; + }); + return ( + [-1, 0, 0, 1, 0, 1, 4, 5].forEach(function (t, r) { + var n = e[t]; + n && (n.children || (n.children = [])).push(e[r]); + }), + Ln(e[0], function (t, r) { + return e[ + t < -b / 2 + ? r < 0 + ? 6 + : 4 + : t < 0 + ? r < 0 + ? 2 + : 0 + : t < b / 2 + ? r < 0 + ? 3 + : 1 + : r < 0 + ? 7 + : 5 + ]; + }) + .angle(-30) + .scale(101.858) + .center([0, 45]) + ); + } + var Fn = 2 / P(3); + function Bn(t, e) { + var r = Lt(t, e); + return [r[0] * Fn, r[1]]; + } + function Nn(t) { + t = + t || + function (t) { + var e = (0, bt.Z)({ + type: "MultiPoint", + coordinates: t, + }); + return (0, n.Z)(Bn) + .translate([0, 0]) + .scale(1) + .rotate(e[1] > 0 ? [-e[0], 0] : [180 - e[0], 180]); + }; + var e = zn.map(function (e) { + return { face: e, project: t(e) }; + }); + return ( + [-1, 0, 0, 1, 0, 1, 4, 5].forEach(function (t, r) { + var n = e[t]; + n && (n.children || (n.children = [])).push(e[r]); + }), + Ln(e[0], function (t, r) { + return e[ + t < -b / 2 + ? r < 0 + ? 6 + : 4 + : t < 0 + ? r < 0 + ? 2 + : 0 + : t < b / 2 + ? r < 0 + ? 3 + : 1 + : r < 0 + ? 7 + : 5 + ]; + }) + .angle(-30) + .scale(121.906) + .center([0, 48.5904]) + ); + } + function jn(t) { + t = + t || + function (t) { + var e = + 6 === t.length + ? (0, bt.Z)({ type: "MultiPoint", coordinates: t }) + : t[0]; + return (0, In.Z)() + .scale(1) + .translate([0, 0]) + .rotate([-e[0], -e[1]]); + }; + var e = zn.map(function (t) { + for ( + var e, + r = t.map(Hn), + n = r.length, + i = r[n - 1], + a = [], + o = 0; + o < n; + ++o + ) + (e = r[o]), + a.push( + Vn([ + 0.9486832980505138 * i[0] + + 0.31622776601683794 * e[0], + 0.9486832980505138 * i[1] + + 0.31622776601683794 * e[1], + 0.9486832980505138 * i[2] + + 0.31622776601683794 * e[2], + ]), + Vn([ + 0.9486832980505138 * e[0] + + 0.31622776601683794 * i[0], + 0.9486832980505138 * e[1] + + 0.31622776601683794 * i[1], + 0.9486832980505138 * e[2] + + 0.31622776601683794 * i[2], + ]), + ), + (i = e); + return a; + }), + r = [], + n = [-1, 0, 0, 1, 0, 1, 4, 5]; + e.forEach(function (t, i) { + for ( + var a, + o, + s = zn[i], + l = s.length, + u = (r[i] = []), + c = 0; + c < l; + ++c + ) + e.push([ + s[c], + t[(2 * c + 2) % (2 * l)], + t[(2 * c + 1) % (2 * l)], + ]), + n.push(i), + u.push( + ((a = Hn(t[(2 * c + 2) % (2 * l)])), + (o = Hn(t[(2 * c + 1) % (2 * l)])), + [ + a[1] * o[2] - a[2] * o[1], + a[2] * o[0] - a[0] * o[2], + a[0] * o[1] - a[1] * o[0], + ]), + ); + }); + var i = e.map(function (e) { + return { project: t(e), face: e }; + }); + return ( + n.forEach(function (t, e) { + var r = i[t]; + r && (r.children || (r.children = [])).push(i[e]); + }), + Ln(i[0], function (t, e) { + var n = s(e), + a = [n * s(t), n * g(t), g(e)], + o = + t < -b / 2 + ? e < 0 + ? 6 + : 4 + : t < 0 + ? e < 0 + ? 2 + : 0 + : t < b / 2 + ? e < 0 + ? 3 + : 1 + : e < 0 + ? 7 + : 5, + l = r[o]; + return i[ + Un(l[0], a) < 0 + ? 8 + 3 * o + : Un(l[1], a) < 0 + ? 8 + 3 * o + 1 + : Un(l[2], a) < 0 + ? 8 + 3 * o + 2 + : o + ]; + }) + .angle(-30) + .scale(110.625) + .center([0, 45]) + ); + } + function Un(t, e) { + for (var r = 0, n = t.length, i = 0; r < n; ++r) + i += t[r] * e[r]; + return i; + } + function Vn(t) { + return [o(t[1], t[0]) * S, L(f(-1, h(1, t[2]))) * S]; + } + function Hn(t) { + var e = t[0] * E, + r = t[1] * E, + n = s(r); + return [n * s(e), n * g(e), g(r)]; + } + function qn() {} + function Gn(t, e) { + var r, + n = e.stream; + if (!n) throw new Error("invalid projection"); + switch (t && t.type) { + case "Feature": + r = Yn; + break; + case "FeatureCollection": + r = Zn; + break; + default: + r = Wn; + } + return r(t, n); + } + function Zn(t, e) { + return { + type: "FeatureCollection", + features: t.features.map(function (t) { + return Yn(t, e); + }), + }; + } + function Yn(t, e) { + return { + type: "Feature", + id: t.id, + properties: t.properties, + geometry: Wn(t.geometry, e), + }; + } + function Wn(t, e) { + if (!t) return null; + if ("GeometryCollection" === t.type) + return (function (t, e) { + return { + type: "GeometryCollection", + geometries: t.geometries.map(function (t) { + return Wn(t, e); + }), + }; + })(t, e); + var r; + switch (t.type) { + case "Point": + case "MultiPoint": + r = Kn; + break; + case "LineString": + case "MultiLineString": + r = $n; + break; + case "Polygon": + case "MultiPolygon": + case "Sphere": + r = Qn; + break; + default: + return null; + } + return (0, je.Z)(t, e(r)), r.result(); + } + Bn.invert = function (t, e) { + return Lt.invert(t / Fn, e); + }; + var Xn = [], + Jn = [], + Kn = { + point: function (t, e) { + Xn.push([t, e]); + }, + result: function () { + var t = Xn.length + ? Xn.length < 2 + ? { type: "Point", coordinates: Xn[0] } + : { type: "MultiPoint", coordinates: Xn } + : null; + return (Xn = []), t; + }, + }, + $n = { + lineStart: qn, + point: function (t, e) { + Xn.push([t, e]); + }, + lineEnd: function () { + Xn.length && (Jn.push(Xn), (Xn = [])); + }, + result: function () { + var t = Jn.length + ? Jn.length < 2 + ? { type: "LineString", coordinates: Jn[0] } + : { type: "MultiLineString", coordinates: Jn } + : null; + return (Jn = []), t; + }, + }, + Qn = { + polygonStart: qn, + lineStart: qn, + point: function (t, e) { + Xn.push([t, e]); + }, + lineEnd: function () { + var t = Xn.length; + if (t) { + do { + Xn.push(Xn[0].slice()); + } while (++t < 4); + Jn.push(Xn), (Xn = []); + } + }, + polygonEnd: qn, + result: function () { + if (!Jn.length) return null; + var t = [], + e = []; + return ( + Jn.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], + f = t[s], + h = f[0], + p = f[1]; + (c > n) ^ (p > n) && + r < ((h - u) * (n - c)) / (p - c) + u && + (i = !i); + } + return i; + })(t[0], r) + ) + return t.push(e), !0; + }) || t.push([e]); + }), + (Jn = []), + t.length + ? t.length > 1 + ? { type: "MultiPolygon", coordinates: t } + : { type: "Polygon", coordinates: t[0] } + : null + ); + }, + }; + function ti(t) { + var e = t(_, 0)[0] - t(-_, 0)[0]; + function r(r, n) { + var a = i(r) < _, + o = t(a ? r : r > 0 ? r - b : r + b, n), + s = (o[0] - o[1]) * T, + l = (o[0] + o[1]) * T; + if (a) return [s, l]; + var u = e * T, + c = (s > 0) ^ (l > 0) ? -1 : 1; + return [c * s - v(l) * u, c * l - v(s) * u]; + } + return ( + t.invert && + (r.invert = function (r, n) { + var a = (r + n) * T, + o = (n - r) * T, + s = i(a) < 0.5 * e && i(o) < 0.5 * e; + if (!s) { + var l = e * T, + u = (a > 0) ^ (o > 0) ? -1 : 1, + c = -u * r + (o > 0 ? 1 : -1) * l, + f = -u * n + (a > 0 ? 1 : -1) * l; + (a = (-c - f) * T), (o = (c - f) * T); + } + var h = t.invert(a, o); + return s || (h[0] += a > 0 ? b : -b), h; + }), + (0, n.Z)(r).rotate([-90, -90, 45]).clipAngle(179.999) + ); + } + function ei() { + return ti(Le).scale(176.423); + } + function ri() { + return ti(Ie).scale(111.48); + } + function ni(t, e) { + if (!(0 <= (e = +e) && e <= 20)) + throw new Error("invalid digits"); + function r(t) { + var r = t.length, + n = 2, + i = new Array(r); + for ( + i[0] = +t[0].toFixed(e), i[1] = +t[1].toFixed(e); + n < r; + + ) + (i[n] = t[n]), ++n; + return i; + } + function n(t) { + return t.map(r); + } + function i(t) { + for (var e = r(t[0]), n = [e], i = 1; i < t.length; i++) { + var a = r(t[i]); + (a.length > 2 || a[0] != e[0] || a[1] != e[1]) && + (n.push(a), (e = a)); + } + return ( + 1 === n.length && + t.length > 1 && + n.push(r(t[t.length - 1])), + n + ); + } + function a(t) { + return t.map(i); + } + function o(t) { + if (null == t) return t; + var e; + switch (t.type) { + case "GeometryCollection": + e = { + type: "GeometryCollection", + geometries: t.geometries.map(o), + }; + break; + case "Point": + e = { type: "Point", coordinates: r(t.coordinates) }; + break; + case "MultiPoint": + e = { type: t.type, coordinates: n(t.coordinates) }; + break; + case "LineString": + e = { type: t.type, coordinates: i(t.coordinates) }; + break; + case "MultiLineString": + case "Polygon": + e = { type: t.type, coordinates: a(t.coordinates) }; + break; + case "MultiPolygon": + e = { + type: "MultiPolygon", + coordinates: t.coordinates.map(a), + }; + break; + default: + return t; + } + return null != t.bbox && (e.bbox = t.bbox), e; + } + function s(t) { + var e = { + type: "Feature", + properties: t.properties, + geometry: o(t.geometry), + }; + return ( + null != t.id && (e.id = t.id), + null != t.bbox && (e.bbox = t.bbox), + e + ); + } + if (null != t) + switch (t.type) { + case "Feature": + return s(t); + case "FeatureCollection": + var l = { + type: "FeatureCollection", + features: t.features.map(s), + }; + return null != t.bbox && (l.bbox = t.bbox), l; + default: + return o(t); + } + return t; + } + function ii(t) { + var e = g(t); + function r(r, n) { + var i = e ? y((r * e) / 2) / e : r / 2; + if (!n) return [2 * i, -t]; + var o = 2 * a(i * g(n)), + l = 1 / y(n); + return [g(o) * l, n + (1 - s(o)) * l - t]; + } + return ( + (r.invert = function (r, n) { + if (i((n += t)) < m) + return [e ? (2 * a((e * r) / 2)) / e : r, 0]; + var o, + l = r * r + n * n, + u = 0, + c = 10; + do { + var f = y(u), + h = 1 / s(u), + p = l - 2 * n * u + u * u; + u -= o = + (f * p + 2 * (u - n)) / + (2 + p * h * h + 2 * (u - n) * f); + } while (i(o) > m && --c > 0); + var d = r * (f = y(u)), + v = + y( + i(n) < i(u + 1 / f) + ? 0.5 * L(d) + : 0.5 * C(d) + b / 4, + ) / g(u); + return [e ? (2 * a(e * v)) / e : 2 * v, u]; + }), + r + ); + } + function ai() { + return ft(ii).scale(131.215); + } + var oi = [ + [0.9986, -0.062], + [1, 0], + [0.9986, 0.062], + [0.9954, 0.124], + [0.99, 0.186], + [0.9822, 0.248], + [0.973, 0.31], + [0.96, 0.372], + [0.9427, 0.434], + [0.9216, 0.4958], + [0.8962, 0.5571], + [0.8679, 0.6176], + [0.835, 0.6769], + [0.7986, 0.7346], + [0.7597, 0.7903], + [0.7186, 0.8435], + [0.6732, 0.8936], + [0.6213, 0.9394], + [0.5722, 0.9761], + [0.5322, 1], + ]; + function si(t, e) { + var r, + n = h(18, (36 * i(e)) / b), + a = u(n), + o = n - a, + s = (r = oi[a])[0], + l = r[1], + c = (r = oi[++a])[0], + f = r[1], + p = (r = oi[h(19, ++a)])[0], + d = r[1]; + return [ + t * + (c + (o * (p - s)) / 2 + (o * o * (p - 2 * c + s)) / 2), + (e > 0 ? _ : -_) * + (f + (o * (d - l)) / 2 + (o * o * (d - 2 * f + l)) / 2), + ]; + } + function li() { + return (0, n.Z)(si).scale(152.63); + } + function ui(t, e) { + var r = (function (t) { + function e(e, r) { + var n = s(r), + i = (t - 1) / (t - n * s(e)); + return [i * n * g(e), i * g(r)]; + } + return ( + (e.invert = function (e, r) { + var n = e * e + r * r, + i = P(n), + a = + (t - P(1 - (n * (t + 1)) / (t - 1))) / + ((t - 1) / i + i / (t - 1)); + return [ + o(e * a, i * P(1 - a * a)), + i ? L((r * a) / i) : 0, + ]; + }), + e + ); + })(t); + if (!e) return r; + var n = s(e), + i = g(e); + function a(e, a) { + var o = r(e, a), + s = o[1], + l = (s * i) / (t - 1) + n; + return [(o[0] * n) / l, s / l]; + } + return ( + (a.invert = function (e, a) { + var o = (t - 1) / (t - 1 - a * i); + return r.invert(o * e, o * a * n); + }), + a + ); + } + function ci() { + var t = 2, + e = 0, + r = (0, n.r)(ui), + i = r(t, e); + return ( + (i.distance = function (n) { + return arguments.length ? r((t = +n), e) : t; + }), + (i.tilt = function (n) { + return arguments.length ? r(t, (e = n * E)) : e * S; + }), + i.scale(432.147).clipAngle(C(1 / t) * S - 1e-6) + ); + } + oi.forEach(function (t) { + t[1] *= 1.0144; + }), + (si.invert = function (t, e) { + var r = e / _, + n = 90 * r, + a = h(18, i(n / 5)), + o = f(0, u(a)); + do { + var s = oi[o][1], + l = oi[o + 1][1], + c = oi[h(19, o + 2)][1], + p = c - s, + d = c - 2 * l + s, + v = (2 * (i(r) - l)) / p, + g = d / p, + y = v * (1 - g * v * (1 - 2 * g * v)); + if (y >= 0 || 1 === o) { + n = (e >= 0 ? 5 : -5) * (y + a); + var m, + b = 50; + do { + (y = (a = h(18, i(n) / 5)) - (o = u(a))), + (s = oi[o][1]), + (l = oi[o + 1][1]), + (c = oi[h(19, o + 2)][1]), + (n -= + (m = + (e >= 0 ? _ : -_) * + (l + + (y * (c - s)) / 2 + + (y * y * (c - 2 * l + s)) / 2) - + e) * S); + } while (i(m) > x && --b > 0); + break; + } + } while (--o >= 0); + var w = oi[o][0], + T = oi[o + 1][0], + k = oi[h(19, o + 2)][0]; + return [ + t / + (T + + (y * (k - w)) / 2 + + (y * y * (k - 2 * T + w)) / 2), + n * E, + ]; + }); + var fi = -179.9999, + hi = 179.9999, + pi = -89.9999, + di = 89.9999; + function vi(t) { + return t.length > 0; + } + function gi(t) { + return -90 === t || 90 === t + ? [0, t] + : [-180, ((e = t), Math.floor(1e4 * e) / 1e4)]; + var e; + } + function yi(t) { + var e = t[0], + r = t[1], + n = !1; + return ( + e <= fi + ? ((e = -180), (n = !0)) + : e >= hi && ((e = 180), (n = !0)), + r <= pi + ? ((r = -90), (n = !0)) + : r >= di && ((r = 90), (n = !0)), + n ? [e, r] : t + ); + } + function mi(t) { + return t.map(yi); + } + function xi(t, e, r) { + for (var n = 0, i = t.length; n < i; ++n) { + var a = t[n].slice(); + r.push({ index: -1, polygon: e, ring: a }); + for (var o = 0, s = a.length; o < s; ++o) { + var l = a[o], + u = l[0], + c = l[1]; + if (u <= fi || u >= hi || c <= pi || c >= di) { + a[o] = yi(l); + for (var f = o + 1; f < s; ++f) { + var h = a[f], + p = h[0], + d = h[1]; + if (p > fi && p < hi && d > pi && d < di) break; + } + if (f === o + 1) continue; + if (o) { + var v = { + index: -1, + polygon: e, + ring: a.slice(0, o + 1), + }; + (v.ring[v.ring.length - 1] = gi(c)), + (r[r.length - 1] = v); + } else r.pop(); + if (f >= s) break; + r.push({ + index: -1, + polygon: e, + ring: (a = a.slice(f - 1)), + }), + (a[0] = gi(a[0][1])), + (o = -1), + (s = a.length); + } + } + } + } + function bi(t) { + var e, + r, + n, + i, + a, + o, + s = t.length, + l = {}, + u = {}; + for (e = 0; e < s; ++e) + (n = (r = t[e]).ring[0]), + (a = r.ring[r.ring.length - 1]), + n[0] !== a[0] || n[1] !== a[1] + ? ((r.index = e), (l[n] = u[a] = r)) + : (r.polygon.push(r.ring), (t[e] = null)); + for (e = 0; e < s; ++e) + if ((r = t[e])) { + if ( + ((n = r.ring[0]), + (a = r.ring[r.ring.length - 1]), + (i = u[n]), + (o = l[a]), + delete l[n], + delete u[a], + n[0] === a[0] && n[1] === a[1]) + ) { + r.polygon.push(r.ring); + continue; + } + i + ? (delete u[n], + delete l[i.ring[0]], + i.ring.pop(), + (t[i.index] = null), + (r = { + index: -1, + polygon: i.polygon, + ring: i.ring.concat(r.ring), + }), + i === o + ? r.polygon.push(r.ring) + : ((r.index = s++), + t.push( + (l[r.ring[0]] = u[r.ring[r.ring.length - 1]] = + r), + ))) + : o + ? (delete l[a], + delete u[o.ring[o.ring.length - 1]], + r.ring.pop(), + (r = { + index: s++, + polygon: o.polygon, + ring: r.ring.concat(o.ring), + }), + (t[o.index] = null), + t.push( + (l[r.ring[0]] = u[r.ring[r.ring.length - 1]] = r), + )) + : (r.ring.push(r.ring[0]), r.polygon.push(r.ring)); + } + } + function _i(t) { + var e = { type: "Feature", geometry: wi(t.geometry) }; + return ( + null != t.id && (e.id = t.id), + null != t.bbox && (e.bbox = t.bbox), + null != t.properties && (e.properties = t.properties), + e + ); + } + function wi(t) { + if (null == t) return t; + var e, r, n, i; + switch (t.type) { + case "GeometryCollection": + e = { + type: "GeometryCollection", + geometries: t.geometries.map(wi), + }; + break; + case "Point": + e = { type: "Point", coordinates: yi(t.coordinates) }; + break; + case "MultiPoint": + case "LineString": + e = { type: t.type, coordinates: mi(t.coordinates) }; + break; + case "MultiLineString": + e = { + type: "MultiLineString", + coordinates: t.coordinates.map(mi), + }; + break; + case "Polygon": + var a = []; + xi(t.coordinates, a, (r = [])), + bi(r), + (e = { type: "Polygon", coordinates: a }); + break; + case "MultiPolygon": + (r = []), (n = -1), (i = t.coordinates.length); + for (var o = new Array(i); ++n < i; ) + xi(t.coordinates[n], (o[n] = []), r); + bi(r), + (e = { + type: "MultiPolygon", + coordinates: o.filter(vi), + }); + break; + default: + return t; + } + return null != t.bbox && (e.bbox = t.bbox), e; + } + function Ti(t) { + if (null == t) return t; + switch (t.type) { + case "Feature": + return _i(t); + case "FeatureCollection": + var e = { + type: "FeatureCollection", + features: t.features.map(_i), + }; + return null != t.bbox && (e.bbox = t.bbox), e; + default: + return wi(t); + } + } + function ki(t, e) { + var r = y(e / 2), + n = g(w * r); + return [t * (0.74482 - 0.34588 * n * n), 1.70711 * r]; + } + function Ai() { + return (0, n.Z)(ki).scale(146.153); + } + function Mi(t, e, r) { + var i = (0, An.Z)(e, r), + a = i(0.5), + o = (0, _t.Z)([-a[0], -a[1]])(e), + s = i.distance / 2, + l = -L(g(o[1] * E) / g(s)), + u = [-a[0], -a[1], -(o[0] > 0 ? b - l : l) * S], + c = (0, n.Z)(t(s)).rotate(u), + f = (0, _t.Z)(u), + h = c.center; + return ( + delete c.rotate, + (c.center = function (t) { + return arguments.length ? h(f(t)) : f.invert(h()); + }), + c.clipAngle(90) + ); + } + function Si(t) { + var e = s(t); + function r(t, r) { + var n = (0, In.M)(t, r); + return (n[0] *= e), n; + } + return ( + (r.invert = function (t, r) { + return In.M.invert(t / e, r); + }), + r + ); + } + function Ei() { + return Li([-158, 21.5], [-77, 39]).clipAngle(60).scale(400); + } + function Li(t, e) { + return Mi(Si, t, e); + } + function Ci(t) { + if (!(t *= 2)) return Z.N; + var e = -t / 2, + r = -e, + n = t * t, + i = y(r), + a = 0.5 / g(r); + function l(i, a) { + var o = C(s(a) * s(i - e)), + l = C(s(a) * s(i - r)); + return [ + ((o *= o) - (l *= l)) / (2 * t), + ((a < 0 ? -1 : 1) * + P(4 * n * l - (n - o + l) * (n - o + l))) / + (2 * t), + ]; + } + return ( + (l.invert = function (t, n) { + var l, + u, + c = n * n, + f = s(P(c + (l = t + e) * l)), + h = s(P(c + (l = t + r) * l)); + return [ + o((u = f - h), (l = (f + h) * i)), + (n < 0 ? -1 : 1) * C(P(l * l + u * u) * a), + ]; + }), + l + ); + } + function Pi() { + return Oi([-158, 21.5], [-77, 39]) + .clipAngle(130) + .scale(122.571); + } + function Oi(t, e) { + return Mi(Ci, t, e); + } + function Ii(t, e) { + if (i(e) < m) return [t, 0]; + var r = i(e / _), + n = L(r); + if (i(t) < m || i(i(e) - _) < m) + return [0, v(e) * b * y(n / 2)]; + var a = s(n), + o = i(b / t - t / b) / 2, + l = o * o, + u = a / (r + a - 1), + c = u * (2 / r - 1), + f = c * c, + h = f + l, + p = u - f, + d = l + u; + return [ + (v(t) * b * (o * p + P(l * p * p - h * (u * u - f)))) / h, + (v(e) * b * (c * d - o * P((l + 1) * h - d * d))) / h, + ]; + } + function Di() { + return (0, n.Z)(Ii).scale(79.4183); + } + function zi(t, e) { + if (i(e) < m) return [t, 0]; + var r = i(e / _), + n = L(r); + if (i(t) < m || i(i(e) - _) < m) + return [0, v(e) * b * y(n / 2)]; + var a = s(n), + o = i(b / t - t / b) / 2, + l = o * o, + u = (a * (P(1 + l) - o * a)) / (1 + l * r * r); + return [v(t) * b * u, v(e) * b * P(1 - u * (2 * o + u))]; + } + function Ri() { + return (0, n.Z)(zi).scale(79.4183); + } + function Fi(t, e) { + if (i(e) < m) return [t, 0]; + var r = e / _, + n = L(r); + if (i(t) < m || i(i(e) - _) < m) return [0, b * y(n / 2)]; + var a = (b / t - t / b) / 2, + o = r / (1 + s(n)); + return [b * (v(t) * P(a * a + 1 - o * o) - a), b * o]; + } + function Bi() { + return (0, n.Z)(Fi).scale(79.4183); + } + function Ni(t, e) { + if (!e) return [t, 0]; + var r = i(e); + if (!t || r === _) return [0, e]; + var n = r / _, + a = n * n, + o = (8 * n - a * (a + 2) - 5) / (2 * a * (n - 1)), + s = o * o, + l = n * o, + u = a + s + 2 * l, + c = n + 3 * o, + f = t / _, + h = f + 1 / f, + p = v(i(t) - _) * P(h * h - 4), + d = p * p, + g = + (p * (u + s - 1) + + 2 * + P( + u * (a + s * d - 1) + + (1 - a) * + (a * (c * c + 4 * s) + + 12 * l * s + + 4 * s * s), + )) / + (4 * u + d); + return [v(t) * _ * g, v(e) * _ * P(1 + p * i(g) - g * g)]; + } + function ji() { + return (0, n.Z)(Ni).scale(127.16); + } + function Ui(t, e, r, n) { + var i = b / 3; + (t = f(t, m)), + (e = f(e, m)), + (t = h(t, _)), + (e = h(e, b - m)), + (r = f(r, 0)), + (r = h(r, 99.999999)); + var a = (n = f(n, m)) / 100, + l = C((r / 100 + 1) * s(i)) / i, + u = g(t) / g(l * _), + c = e / b, + p = P((a * g(t / 2)) / g(e / 2)); + return (function (t, e, r, n, i) { + function a(a, o) { + var l = r * g(n * o), + u = P(1 - l * l), + c = P(2 / (1 + u * s((a *= i)))); + return [t * u * c * g(a), e * l * c]; + } + return ( + (a.invert = function (a, s) { + var l = a / t, + u = s / e, + c = P(l * l + u * u), + f = 2 * L(c / 2); + return [ + o(a * y(f), t * c) / i, + c && L((s * g(f)) / (e * r * c)) / n, + ]; + }), + a + ); + })(p / P(c * u * l), 1 / (p * P(c * u * l)), u, l, c); + } + function Vi() { + var t = 65 * E, + e = 60 * E, + r = 20, + i = 200, + a = (0, n.r)(Ui), + o = a(t, e, r, i); + return ( + (o.poleline = function (n) { + return arguments.length + ? a((t = +n * E), e, r, i) + : t * S; + }), + (o.parallels = function (n) { + return arguments.length + ? a(t, (e = +n * E), r, i) + : e * S; + }), + (o.inflation = function (n) { + return arguments.length ? a(t, e, (r = +n), i) : r; + }), + (o.ratio = function (n) { + return arguments.length ? a(t, e, r, (i = +n)) : i; + }), + o.scale(163.775) + ); + } + function Hi() { + return Vi() + .poleline(65) + .parallels(60) + .inflation(0) + .ratio(200) + .scale(172.633); + } + (ki.invert = function (t, e) { + var r = e / 1.70711, + n = g(w * r); + return [t / (0.74482 - 0.34588 * n * n), 2 * a(r)]; + }), + (Ii.invert = function (t, e) { + if (i(e) < m) return [t, 0]; + if (i(t) < m) return [0, _ * g(2 * a(e / b))]; + var r = (t /= b) * t, + n = (e /= b) * e, + o = r + n, + l = o * o, + u = -i(e) * (1 + o), + c = u - 2 * n + r, + f = -2 * u + 1 + 2 * n + l, + h = + n / f + + ((2 * c * c * c) / (f * f * f) - + (9 * u * c) / (f * f)) / + 27, + p = (u - (c * c) / (3 * f)) / f, + d = 2 * P(-p / 3), + y = C((3 * h) / (p * d)) / 3; + return [ + (b * (o - 1 + P(1 + 2 * (r - n) + l))) / (2 * t), + v(e) * b * (-d * s(y + b / 3) - c / (3 * f)), + ]; + }), + (zi.invert = function (t, e) { + if (!t) return [0, _ * g(2 * a(e / b))]; + var r = i(t / b), + n = (1 - r * r - (e /= b) * e) / (2 * r), + s = P(n * n + 1); + return [ + v(t) * b * (s - n), + v(e) * + _ * + g( + 2 * + o(P((1 - 2 * n * r) * (n + s) - r), P(s + n + r)), + ), + ]; + }), + (Fi.invert = function (t, e) { + if (!e) return [t, 0]; + var r = e / b, + n = (b * b * (1 - r * r) - t * t) / (2 * b * t); + return [ + t ? b * (v(t) * P(n * n + 1) - n) : 0, + _ * g(2 * a(r)), + ]; + }), + (Ni.invert = function (t, e) { + var r; + if (!t || !e) return [t, e]; + e /= b; + var n = (v(t) * t) / _, + a = (n * n - 1 + 4 * e * e) / i(n), + o = a * a, + s = 2 * e, + l = 50; + do { + var u = s * s, + c = (8 * s - u * (u + 2) - 5) / (2 * u * (s - 1)), + f = (3 * s - u * s - 10) / (2 * u * s), + h = c * c, + p = s * c, + d = s + c, + g = d * d, + y = s + 3 * c, + x = + -2 * + d * + (4 * p * h + + (1 - 4 * u + 3 * u * u) * (1 + f) + + h * (14 * u - 6 - o + (8 * u - 8 - 2 * o) * f) + + p * (12 * u - 8 + (10 * u - 10 - o) * f)), + w = P( + g * (u + h * o - 1) + + (1 - u) * + (u * (y * y + 4 * h) + h * (12 * p + 4 * h)), + ); + s -= r = + (a * (g + h - 1) + 2 * w - n * (4 * g + o)) / + (a * (2 * c * f + 2 * d * (1 + f)) + + x / w - + (8 * d * (a * (-1 + h + g) + 2 * w) * (1 + f)) / + (o + 4 * g)); + } while (r > m && --l > 0); + return [(v(t) * (P(a * a + 4) + a) * b) / 4, _ * s]; + }); + var qi = 4 * b + 3 * P(3), + Gi = 2 * P((2 * b * P(3)) / qi), + Zi = it((Gi * P(3)) / b, Gi, qi / 6); + function Yi() { + return (0, n.Z)(Zi).scale(176.84); + } + function Wi(t, e) { + return [t * P(1 - (3 * e * e) / (b * b)), e]; + } + function Xi() { + return (0, n.Z)(Wi).scale(152.63); + } + function Ji(t, e) { + var r = s(e), + n = s(t) * r, + i = 1 - n, + a = s((t = o(g(t) * r, -g(e)))), + l = g(t); + return [l * (r = P(1 - n * n)) - a * i, -a * r - l * i]; + } + function Ki() { + return (0, n.Z)(Ji) + .rotate([0, -90, 45]) + .scale(124.75) + .clipAngle(179.999); + } + function $i(t, e) { + var r = R(t, e); + return [(r[0] + t / _) / 2, (r[1] + e) / 2]; + } + function Qi() { + return (0, n.Z)($i).scale(158.837); + } + (Wi.invert = function (t, e) { + return [t / P(1 - (3 * e * e) / (b * b)), e]; + }), + (Ji.invert = function (t, e) { + var r = (t * t + e * e) / -2, + n = P(-r * (2 + r)), + i = e * r + t * n, + a = t * r - e * n, + s = P(a * a + i * i); + return [o(n * i, s * (1 + r)), s ? -L((n * a) / s) : 0]; + }), + ($i.invert = function (t, e) { + var r = t, + n = e, + a = 25; + do { + var o, + l = s(n), + u = g(n), + c = g(2 * n), + f = u * u, + h = l * l, + p = g(r), + d = s(r / 2), + v = g(r / 2), + y = v * v, + x = 1 - h * d * d, + b = x ? C(l * d) * P((o = 1 / x)) : (o = 0), + w = 0.5 * (2 * b * l * v + r / _) - t, + T = 0.5 * (b * u + n) - e, + k = 0.5 * o * (h * y + b * l * d * f) + 0.5 / _, + A = o * ((p * c) / 4 - b * u * v), + M = 0.125 * o * (c * v - b * u * h * p), + S = 0.5 * o * (f * d + b * y * l) + 0.5, + E = A * M - S * k, + L = (T * A - w * S) / E, + O = (w * M - T * k) / E; + (r -= L), (n -= O); + } while ((i(L) > m || i(O) > m) && --a > 0); + return [r, n]; + }); + }, + 33940: function (t, e, r) { + "use strict"; + function n() { + return new i(); + } + function i() { + this.reset(); + } + r.d(e, { + Z: function () { + return n; + }, + }), + (i.prototype = { + constructor: i, + reset: function () { + this.s = this.t = 0; + }, + add: function (t) { + o(a, t, this.t), + o(this, a.s, this.s), + this.s ? (this.t += a.t) : (this.s = a.t); + }, + valueOf: function () { + return this.s; + }, + }); + var a = new i(); + function o(t, e, r) { + var n = (t.s = e + r), + i = n - e, + a = n - i; + t.t = e - a + (r - i); + } + }, + 97860: function (t, e, r) { + "use strict"; + r.d(e, { + L9: function () { + return h; + }, + ZP: function () { + return x; + }, + gL: function () { + return d; + }, + }); + var n, + i, + a, + o, + s, + l = r(33940), + u = r(39695), + c = r(73182), + f = r(72736), + h = (0, l.Z)(), + p = (0, l.Z)(), + d = { + point: c.Z, + lineStart: c.Z, + lineEnd: c.Z, + polygonStart: function () { + h.reset(), (d.lineStart = v), (d.lineEnd = g); + }, + polygonEnd: function () { + var t = +h; + p.add(t < 0 ? u.BZ + t : t), + (this.lineStart = this.lineEnd = this.point = c.Z); + }, + sphere: function () { + p.add(u.BZ); + }, + }; + function v() { + d.point = y; + } + function g() { + m(n, i); + } + function y(t, e) { + (d.point = m), + (n = t), + (i = e), + (t *= u.uR), + (e *= u.uR), + (a = t), + (o = (0, u.mC)((e = e / 2 + u.pu))), + (s = (0, u.O$)(e)); + } + function m(t, e) { + (t *= u.uR), (e = (e *= u.uR) / 2 + u.pu); + var r = t - a, + n = r >= 0 ? 1 : -1, + i = n * r, + l = (0, u.mC)(e), + c = (0, u.O$)(e), + f = s * c, + p = o * l + f * (0, u.mC)(i), + d = f * n * (0, u.O$)(i); + h.add((0, u.fv)(d, p)), (a = t), (o = l), (s = c); + } + function x(t) { + return p.reset(), (0, f.Z)(t, d), 2 * p; + } + }, + 77338: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return C; + }, + }); + var n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p = r(33940), + d = r(97860), + v = r(7620), + g = r(39695), + y = r(72736), + m = (0, p.Z)(), + x = { + point: b, + lineStart: w, + lineEnd: T, + polygonStart: function () { + (x.point = k), + (x.lineStart = A), + (x.lineEnd = M), + m.reset(), + d.gL.polygonStart(); + }, + polygonEnd: function () { + d.gL.polygonEnd(), + (x.point = b), + (x.lineStart = w), + (x.lineEnd = T), + d.L9 < 0 + ? ((n = -(a = 180)), (i = -(o = 90))) + : m > g.Ho + ? (o = 90) + : m < -g.Ho && (i = -90), + (h[0] = n), + (h[1] = a); + }, + sphere: function () { + (n = -(a = 180)), (i = -(o = 90)); + }, + }; + function b(t, e) { + f.push((h = [(n = t), (a = t)])), + e < i && (i = e), + e > o && (o = e); + } + function _(t, e) { + var r = (0, v.Og)([t * g.uR, e * g.uR]); + if (c) { + var l = (0, v.T5)(c, r), + u = [l[1], -l[0], 0], + p = (0, v.T5)(u, l); + (0, v.iJ)(p), (p = (0, v.Y1)(p)); + var d, + y = t - s, + m = y > 0 ? 1 : -1, + x = p[0] * g.RW * m, + b = (0, g.Wn)(y) > 180; + b ^ (m * s < x && x < m * t) + ? (d = p[1] * g.RW) > o && (o = d) + : b ^ + (m * s < (x = ((x + 360) % 360) - 180) && x < m * t) + ? (d = -p[1] * g.RW) < i && (i = d) + : (e < i && (i = e), e > o && (o = e)), + b + ? t < s + ? S(n, t) > S(n, a) && (a = t) + : S(t, a) > S(n, a) && (n = t) + : a >= n + ? (t < n && (n = t), t > a && (a = t)) + : t > s + ? S(n, t) > S(n, a) && (a = t) + : S(t, a) > S(n, a) && (n = t); + } else f.push((h = [(n = t), (a = t)])); + e < i && (i = e), e > o && (o = e), (c = r), (s = t); + } + function w() { + x.point = _; + } + function T() { + (h[0] = n), (h[1] = a), (x.point = b), (c = null); + } + function k(t, e) { + if (c) { + var r = t - s; + m.add((0, g.Wn)(r) > 180 ? r + (r > 0 ? 360 : -360) : r); + } else (l = t), (u = e); + d.gL.point(t, e), _(t, e); + } + function A() { + d.gL.lineStart(); + } + function M() { + k(l, u), + d.gL.lineEnd(), + (0, g.Wn)(m) > g.Ho && (n = -(a = 180)), + (h[0] = n), + (h[1] = a), + (c = null); + } + function S(t, e) { + return (e -= t) < 0 ? e + 360 : e; + } + function E(t, e) { + return t[0] - e[0]; + } + function L(t, e) { + return t[0] <= t[1] + ? t[0] <= e && e <= t[1] + : e < t[0] || t[1] < e; + } + function C(t) { + var e, r, s, l, u, c, p; + if ( + ((o = a = -(n = i = 1 / 0)), + (f = []), + (0, y.Z)(t, x), + (r = f.length)) + ) { + for (f.sort(E), e = 1, u = [(s = f[0])]; e < r; ++e) + L(s, (l = f[e])[0]) || L(s, l[1]) + ? (S(s[0], l[1]) > S(s[0], s[1]) && (s[1] = l[1]), + S(l[0], s[1]) > S(s[0], s[1]) && (s[0] = l[0])) + : u.push((s = l)); + for ( + c = -1 / 0, e = 0, s = u[(r = u.length - 1)]; + e <= r; + s = l, ++e + ) + (l = u[e]), + (p = S(s[1], l[0])) > c && + ((c = p), (n = l[0]), (a = s[1])); + } + return ( + (f = h = null), + n === 1 / 0 || i === 1 / 0 + ? [ + [NaN, NaN], + [NaN, NaN], + ] + : [ + [n, i], + [a, o], + ] + ); + } + }, + 7620: function (t, e, r) { + "use strict"; + r.d(e, { + Og: function () { + return a; + }, + T: function () { + return u; + }, + T5: function () { + return s; + }, + Y1: function () { + return i; + }, + iJ: function () { + return c; + }, + j9: function () { + return o; + }, + s0: function () { + return l; + }, + }); + var n = r(39695); + function i(t) { + return [(0, n.fv)(t[1], t[0]), (0, n.ZR)(t[2])]; + } + function a(t) { + var e = t[0], + r = t[1], + i = (0, n.mC)(r); + return [i * (0, n.mC)(e), i * (0, n.O$)(e), (0, n.O$)(r)]; + } + function o(t, e) { + return t[0] * e[0] + t[1] * e[1] + t[2] * e[2]; + } + function s(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 l(t, e) { + (t[0] += e[0]), (t[1] += e[1]), (t[2] += e[2]); + } + function u(t, e) { + return [t[0] * e, t[1] * e, t[2] * e]; + } + function c(t) { + var e = (0, n._b)(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]); + (t[0] /= e), (t[1] /= e), (t[2] /= e); + } + }, + 66624: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return I; + }, + }); + var n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x = r(39695), + b = r(73182), + _ = r(72736), + w = { + sphere: b.Z, + point: T, + lineStart: A, + lineEnd: E, + polygonStart: function () { + (w.lineStart = L), (w.lineEnd = C); + }, + polygonEnd: function () { + (w.lineStart = A), (w.lineEnd = E); + }, + }; + function T(t, e) { + (t *= x.uR), (e *= x.uR); + var r = (0, x.mC)(e); + k(r * (0, x.mC)(t), r * (0, x.O$)(t), (0, x.O$)(e)); + } + function k(t, e, r) { + ++n, + (a += (t - a) / n), + (o += (e - o) / n), + (s += (r - s) / n); + } + function A() { + w.point = M; + } + function M(t, e) { + (t *= x.uR), (e *= x.uR); + var r = (0, x.mC)(e); + (g = r * (0, x.mC)(t)), + (y = r * (0, x.O$)(t)), + (m = (0, x.O$)(e)), + (w.point = S), + k(g, y, m); + } + function S(t, e) { + (t *= x.uR), (e *= x.uR); + var r = (0, x.mC)(e), + n = r * (0, x.mC)(t), + a = r * (0, x.O$)(t), + o = (0, x.O$)(e), + s = (0, x.fv)( + (0, x._b)( + (s = y * o - m * a) * s + + (s = m * n - g * o) * s + + (s = g * a - y * n) * s, + ), + g * n + y * a + m * o, + ); + (i += s), + (l += s * (g + (g = n))), + (u += s * (y + (y = a))), + (c += s * (m + (m = o))), + k(g, y, m); + } + function E() { + w.point = T; + } + function L() { + w.point = P; + } + function C() { + O(d, v), (w.point = T); + } + function P(t, e) { + (d = t), (v = e), (t *= x.uR), (e *= x.uR), (w.point = O); + var r = (0, x.mC)(e); + (g = r * (0, x.mC)(t)), + (y = r * (0, x.O$)(t)), + (m = (0, x.O$)(e)), + k(g, y, m); + } + function O(t, e) { + (t *= x.uR), (e *= x.uR); + var r = (0, x.mC)(e), + n = r * (0, x.mC)(t), + a = r * (0, x.O$)(t), + o = (0, x.O$)(e), + s = y * o - m * a, + d = m * n - g * o, + v = g * a - y * n, + b = (0, x._b)(s * s + d * d + v * v), + _ = (0, x.ZR)(b), + w = b && -_ / b; + (f += w * s), + (h += w * d), + (p += w * v), + (i += _), + (l += _ * (g + (g = n))), + (u += _ * (y + (y = a))), + (c += _ * (m + (m = o))), + k(g, y, m); + } + function I(t) { + (n = i = a = o = s = l = u = c = f = h = p = 0), + (0, _.Z)(t, w); + var e = f, + r = h, + d = p, + v = e * e + r * r + d * d; + return v < x.aW && + ((e = l), + (r = u), + (d = c), + i < x.Ho && ((e = a), (r = o), (d = s)), + (v = e * e + r * r + d * d) < x.aW) + ? [NaN, NaN] + : [ + (0, x.fv)(r, e) * x.RW, + (0, x.ZR)(d / (0, x._b)(v)) * x.RW, + ]; + } + }, + 7613: function (t, e, r) { + "use strict"; + r.d(e, { + m: function () { + return s; + }, + Z: function () { + return u; + }, + }); + var n = r(7620); + function i(t) { + return function () { + return t; + }; + } + var a = r(39695), + o = r(49386); + function s(t, e, r, i, o, s) { + if (r) { + var u = (0, a.mC)(e), + c = (0, a.O$)(e), + f = i * r; + null == o + ? ((o = e + i * a.BZ), (s = e - f / 2)) + : ((o = l(u, o)), + (s = l(u, s)), + (i > 0 ? o < s : o > s) && (o += i * a.BZ)); + for (var h, p = o; i > 0 ? p > s : p < s; p -= f) + (h = (0, n.Y1)([ + u, + -c * (0, a.mC)(p), + -c * (0, a.O$)(p), + ])), + t.point(h[0], h[1]); + } + } + function l(t, e) { + ((e = (0, n.Og)(e))[0] -= t), (0, n.iJ)(e); + var r = (0, a.Kh)(-e[1]); + return ((-e[2] < 0 ? -r : r) + a.BZ - a.Ho) % a.BZ; + } + function u() { + var t, + e, + r = i([0, 0]), + n = i(90), + l = i(6), + u = { + point: function (r, n) { + t.push((r = e(r, n))), (r[0] *= a.RW), (r[1] *= a.RW); + }, + }; + function c() { + var i = r.apply(this, arguments), + c = n.apply(this, arguments) * a.uR, + f = l.apply(this, arguments) * a.uR; + return ( + (t = []), + (e = (0, o.I)(-i[0] * a.uR, -i[1] * a.uR, 0).invert), + s(u, c, f, 1), + (i = { type: "Polygon", coordinates: [t] }), + (t = e = null), + i + ); + } + return ( + (c.center = function (t) { + return arguments.length + ? ((r = + "function" == typeof t ? t : i([+t[0], +t[1]])), + c) + : r; + }), + (c.radius = function (t) { + return arguments.length + ? ((n = "function" == typeof t ? t : i(+t)), c) + : n; + }), + (c.precision = function (t) { + return arguments.length + ? ((l = "function" == typeof t ? t : i(+t)), c) + : l; + }), + c + ); + } + }, + 87070: function (t, e, r) { + "use strict"; + var n = r(97023), + i = r(39695); + e.Z = (0, n.Z)( + function () { + return !0; + }, + function (t) { + var e, + r = NaN, + n = NaN, + a = NaN; + return { + lineStart: function () { + t.lineStart(), (e = 1); + }, + point: function (o, s) { + var l = o > 0 ? i.pi : -i.pi, + u = (0, i.Wn)(o - r); + (0, i.Wn)(u - i.pi) < i.Ho + ? (t.point(r, (n = (n + s) / 2 > 0 ? i.ou : -i.ou)), + t.point(a, n), + t.lineEnd(), + t.lineStart(), + t.point(l, n), + t.point(o, n), + (e = 0)) + : a !== l && + u >= i.pi && + ((0, i.Wn)(r - a) < i.Ho && (r -= a * i.Ho), + (0, i.Wn)(o - l) < i.Ho && (o -= l * i.Ho), + (n = (function (t, e, r, n) { + var a, + o, + s = (0, i.O$)(t - r); + return (0, i.Wn)(s) > i.Ho + ? (0, i.z4)( + ((0, i.O$)(e) * + (o = (0, i.mC)(n)) * + (0, i.O$)(r) - + (0, i.O$)(n) * + (a = (0, i.mC)(e)) * + (0, i.O$)(t)) / + (a * o * s), + ) + : (e + n) / 2; + })(r, n, o, s)), + t.point(a, n), + t.lineEnd(), + t.lineStart(), + t.point(l, n), + (e = 0)), + t.point((r = o), (n = s)), + (a = l); + }, + lineEnd: function () { + t.lineEnd(), (r = n = NaN); + }, + clean: function () { + return 2 - e; + }, + }; + }, + function (t, e, r, n) { + var a; + if (null == t) + (a = r * i.ou), + n.point(-i.pi, a), + n.point(0, a), + n.point(i.pi, a), + n.point(i.pi, 0), + n.point(i.pi, -a), + n.point(0, -a), + n.point(-i.pi, -a), + n.point(-i.pi, 0), + n.point(-i.pi, a); + else if ((0, i.Wn)(t[0] - e[0]) > i.Ho) { + var o = t[0] < e[0] ? i.pi : -i.pi; + (a = (r * o) / 2), + n.point(-o, a), + n.point(0, a), + n.point(o, a); + } else n.point(e[0], e[1]); + }, + [-i.pi, -i.ou], + ); + }, + 85272: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return i; + }, + }); + var n = r(73182); + function i() { + var t, + e = []; + return { + point: function (e, r, n) { + t.push([e, r, n]); + }, + lineStart: function () { + e.push((t = [])); + }, + lineEnd: n.Z, + rejoin: function () { + e.length > 1 && e.push(e.pop().concat(e.shift())); + }, + result: function () { + var r = e; + return (e = []), (t = null), r; + }, + }; + } + }, + 1457: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return l; + }, + }); + var n = r(7620), + i = r(7613), + a = r(39695), + o = r(67108), + s = r(97023); + function l(t) { + var e = (0, a.mC)(t), + r = 6 * a.uR, + l = e > 0, + u = (0, a.Wn)(e) > a.Ho; + function c(t, r) { + return (0, a.mC)(t) * (0, a.mC)(r) > e; + } + function f(t, r, i) { + var o = (0, n.Og)(t), + s = (0, n.Og)(r), + l = [1, 0, 0], + u = (0, n.T5)(o, s), + c = (0, n.j9)(u, u), + f = u[0], + h = c - f * f; + if (!h) return !i && t; + var p = (e * c) / h, + d = (-e * f) / h, + v = (0, n.T5)(l, u), + g = (0, n.T)(l, p), + y = (0, n.T)(u, d); + (0, n.s0)(g, y); + var m = v, + x = (0, n.j9)(g, m), + b = (0, n.j9)(m, m), + _ = x * x - b * ((0, n.j9)(g, g) - 1); + if (!(_ < 0)) { + var w = (0, a._b)(_), + T = (0, n.T)(m, (-x - w) / b); + if (((0, n.s0)(T, g), (T = (0, n.Y1)(T)), !i)) return T; + var k, + A = t[0], + M = r[0], + S = t[1], + E = r[1]; + M < A && ((k = A), (A = M), (M = k)); + var L = M - A, + C = (0, a.Wn)(L - a.pi) < a.Ho; + if ( + (!C && E < S && ((k = S), (S = E), (E = k)), + C || L < a.Ho + ? C + ? (S + E > 0) ^ + (T[1] < ((0, a.Wn)(T[0] - A) < a.Ho ? S : E)) + : S <= T[1] && T[1] <= E + : (L > a.pi) ^ (A <= T[0] && T[0] <= M)) + ) { + var P = (0, n.T)(m, (-x + w) / b); + return (0, n.s0)(P, g), [T, (0, n.Y1)(P)]; + } + } + } + function h(e, r) { + var n = l ? t : a.pi - t, + i = 0; + return ( + e < -n ? (i |= 1) : e > n && (i |= 2), + r < -n ? (i |= 4) : r > n && (i |= 8), + i + ); + } + return (0, s.Z)( + c, + function (t) { + var e, r, n, i, s; + return { + lineStart: function () { + (i = n = !1), (s = 1); + }, + point: function (p, d) { + var v, + g = [p, d], + y = c(p, d), + m = l + ? y + ? 0 + : h(p, d) + : y + ? h(p + (p < 0 ? a.pi : -a.pi), d) + : 0; + if ( + (!e && (i = n = y) && t.lineStart(), + y !== n && + (!(v = f(e, g)) || + (0, o.Z)(e, v) || + (0, o.Z)(g, v)) && + (g[2] = 1), + y !== n) + ) + (s = 0), + y + ? (t.lineStart(), + (v = f(g, e)), + t.point(v[0], v[1])) + : ((v = f(e, g)), + t.point(v[0], v[1], 2), + t.lineEnd()), + (e = v); + else if (u && e && l ^ y) { + var x; + m & r || + !(x = f(g, e, !0)) || + ((s = 0), + l + ? (t.lineStart(), + t.point(x[0][0], x[0][1]), + t.point(x[1][0], x[1][1]), + t.lineEnd()) + : (t.point(x[1][0], x[1][1]), + t.lineEnd(), + t.lineStart(), + t.point(x[0][0], x[0][1], 3))); + } + !y || (e && (0, o.Z)(e, g)) || t.point(g[0], g[1]), + (e = g), + (n = y), + (r = m); + }, + lineEnd: function () { + n && t.lineEnd(), (e = null); + }, + clean: function () { + return s | ((i && n) << 1); + }, + }; + }, + function (e, n, a, o) { + (0, i.m)(o, t, r, a, e, n); + }, + l ? [0, -t] : [-a.pi, t - a.pi], + ); + } + }, + 97023: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return l; + }, + }); + var n = r(85272), + i = r(46225), + a = r(39695), + o = r(23071), + s = r(33064); + function l(t, e, r, a) { + return function (l) { + var f, + h, + p, + d = e(l), + v = (0, n.Z)(), + g = e(v), + y = !1, + m = { + point: x, + lineStart: _, + lineEnd: w, + polygonStart: function () { + (m.point = T), + (m.lineStart = k), + (m.lineEnd = A), + (h = []), + (f = []); + }, + polygonEnd: function () { + (m.point = x), + (m.lineStart = _), + (m.lineEnd = w), + (h = (0, s.TS)(h)); + var t = (0, o.Z)(f, a); + h.length + ? (y || (l.polygonStart(), (y = !0)), + (0, i.Z)(h, c, t, r, l)) + : t && + (y || (l.polygonStart(), (y = !0)), + l.lineStart(), + r(null, null, 1, l), + l.lineEnd()), + y && (l.polygonEnd(), (y = !1)), + (h = f = null); + }, + sphere: function () { + l.polygonStart(), + l.lineStart(), + r(null, null, 1, l), + l.lineEnd(), + l.polygonEnd(); + }, + }; + function x(e, r) { + t(e, r) && l.point(e, r); + } + function b(t, e) { + d.point(t, e); + } + function _() { + (m.point = b), d.lineStart(); + } + function w() { + (m.point = x), d.lineEnd(); + } + function T(t, e) { + p.push([t, e]), g.point(t, e); + } + function k() { + g.lineStart(), (p = []); + } + function A() { + T(p[0][0], p[0][1]), g.lineEnd(); + var t, + e, + r, + n, + i = g.clean(), + a = v.result(), + o = a.length; + if ((p.pop(), f.push(p), (p = null), o)) + if (1 & i) { + if ((e = (r = a[0]).length - 1) > 0) { + for ( + y || (l.polygonStart(), (y = !0)), + l.lineStart(), + t = 0; + t < e; + ++t + ) + l.point((n = r[t])[0], n[1]); + l.lineEnd(); + } + } else + o > 1 && 2 & i && a.push(a.pop().concat(a.shift())), + h.push(a.filter(u)); + } + return m; + }; + } + function u(t) { + return t.length > 1; + } + function c(t, e) { + return ( + ((t = t.x)[0] < 0 ? t[1] - a.ou - a.Ho : a.ou - t[1]) - + ((e = e.x)[0] < 0 ? e[1] - a.ou - a.Ho : a.ou - e[1]) + ); + } + }, + 87605: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return u; + }, + }); + var n = r(39695), + i = r(85272), + a = r(46225), + o = r(33064), + s = 1e9, + l = -s; + function u(t, e, r, u) { + function c(n, i) { + return t <= n && n <= r && e <= i && i <= u; + } + function f(n, i, a, o) { + var s = 0, + l = 0; + if ( + null == n || + (s = h(n, a)) !== (l = h(i, a)) || + (d(n, i) < 0) ^ (a > 0) + ) + do { + o.point(0 === s || 3 === s ? t : r, s > 1 ? u : e); + } while ((s = (s + a + 4) % 4) !== l); + else o.point(i[0], i[1]); + } + function h(i, a) { + return (0, n.Wn)(i[0] - t) < n.Ho + ? a > 0 + ? 0 + : 3 + : (0, n.Wn)(i[0] - r) < n.Ho + ? a > 0 + ? 2 + : 1 + : (0, n.Wn)(i[1] - e) < n.Ho + ? a > 0 + ? 1 + : 0 + : a > 0 + ? 3 + : 2; + } + function p(t, e) { + return d(t.x, e.x); + } + function d(t, e) { + var r = h(t, 1), + n = h(e, 1); + return r !== n + ? r - n + : 0 === r + ? e[1] - t[1] + : 1 === r + ? t[0] - e[0] + : 2 === r + ? t[1] - e[1] + : e[0] - t[0]; + } + return function (n) { + var h, + d, + v, + g, + y, + m, + x, + b, + _, + w, + T, + k = n, + A = (0, i.Z)(), + M = { + point: S, + lineStart: function () { + (M.point = E), + d && d.push((v = [])), + (w = !0), + (_ = !1), + (x = b = NaN); + }, + lineEnd: function () { + h && + (E(g, y), + m && _ && A.rejoin(), + h.push(A.result())), + (M.point = S), + _ && k.lineEnd(); + }, + polygonStart: function () { + (k = A), (h = []), (d = []), (T = !0); + }, + polygonEnd: function () { + var e = (function () { + for (var e = 0, r = 0, n = d.length; r < n; ++r) + for ( + var i, + a, + o = d[r], + s = 1, + l = o.length, + c = o[0], + f = c[0], + h = c[1]; + s < l; + ++s + ) + (i = f), + (a = h), + (f = (c = o[s])[0]), + (h = c[1]), + a <= u + ? h > u && + (f - i) * (u - a) > + (h - a) * (t - i) && + ++e + : h <= u && + (f - i) * (u - a) < + (h - a) * (t - i) && + --e; + return e; + })(), + r = T && e, + i = (h = (0, o.TS)(h)).length; + (r || i) && + (n.polygonStart(), + r && + (n.lineStart(), + f(null, null, 1, n), + n.lineEnd()), + i && (0, a.Z)(h, p, e, f, n), + n.polygonEnd()), + (k = n), + (h = d = v = null); + }, + }; + function S(t, e) { + c(t, e) && k.point(t, e); + } + function E(n, i) { + var a = c(n, i); + if ((d && v.push([n, i]), w)) + (g = n), + (y = i), + (m = a), + (w = !1), + a && (k.lineStart(), k.point(n, i)); + else if (a && _) k.point(n, i); + else { + var o = [ + (x = Math.max(l, Math.min(s, x))), + (b = Math.max(l, Math.min(s, b))), + ], + f = [ + (n = Math.max(l, Math.min(s, n))), + (i = Math.max(l, Math.min(s, i))), + ]; + !(function (t, e, r, n, i, a) { + var o, + s = t[0], + l = t[1], + u = 0, + c = 1, + f = e[0] - s, + h = e[1] - l; + if (((o = r - s), f || !(o > 0))) { + if (((o /= f), f < 0)) { + if (o < u) return; + o < c && (c = o); + } else if (f > 0) { + if (o > c) return; + o > u && (u = o); + } + if (((o = i - s), f || !(o < 0))) { + if (((o /= f), f < 0)) { + if (o > c) return; + o > u && (u = o); + } else if (f > 0) { + if (o < u) return; + o < c && (c = o); + } + if (((o = n - l), h || !(o > 0))) { + if (((o /= h), h < 0)) { + if (o < u) return; + o < c && (c = o); + } else if (h > 0) { + if (o > c) return; + o > u && (u = o); + } + if (((o = a - l), h || !(o < 0))) { + if (((o /= h), h < 0)) { + if (o > c) return; + o > u && (u = o); + } else if (h > 0) { + if (o < u) return; + o < c && (c = o); + } + return ( + u > 0 && + ((t[0] = s + u * f), + (t[1] = l + u * h)), + c < 1 && + ((e[0] = s + c * f), + (e[1] = l + c * h)), + !0 + ); + } + } + } + } + })(o, f, t, e, r, u) + ? a && (k.lineStart(), k.point(n, i), (T = !1)) + : (_ || (k.lineStart(), k.point(o[0], o[1])), + k.point(f[0], f[1]), + a || k.lineEnd(), + (T = !1)); + } + (x = n), (b = i), (_ = a); + } + return M; + }; + } + }, + 46225: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return o; + }, + }); + var n = r(67108), + i = r(39695); + function a(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 o(t, e, r, o, l) { + var u, + c, + f = [], + h = []; + if ( + (t.forEach(function (t) { + if (!((e = t.length - 1) <= 0)) { + var e, + r, + o = t[0], + s = t[e]; + if ((0, n.Z)(o, s)) { + if (!o[2] && !s[2]) { + for (l.lineStart(), u = 0; u < e; ++u) + l.point((o = t[u])[0], o[1]); + return void l.lineEnd(); + } + s[0] += 2 * i.Ho; + } + f.push((r = new a(o, t, null, !0))), + h.push((r.o = new a(o, null, r, !1))), + f.push((r = new a(s, t, null, !1))), + h.push((r.o = new a(s, null, r, !0))); + } + }), + f.length) + ) { + for ( + h.sort(e), s(f), s(h), u = 0, c = h.length; + u < c; + ++u + ) + h[u].e = r = !r; + for (var p, d, v = f[0]; ; ) { + for (var g = v, y = !0; g.v; ) + if ((g = g.n) === v) return; + (p = g.z), l.lineStart(); + do { + if (((g.v = g.o.v = !0), g.e)) { + if (y) + for (u = 0, c = p.length; u < c; ++u) + l.point((d = p[u])[0], d[1]); + else o(g.x, g.n.x, 1, l); + g = g.n; + } else { + if (y) + for (p = g.p.z, u = p.length - 1; u >= 0; --u) + l.point((d = p[u])[0], d[1]); + else o(g.x, g.p.x, -1, l); + g = g.p; + } + (p = (g = g.o).z), (y = !y); + } while (!g.v); + l.lineEnd(); + } + } + } + function s(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); + } + } + }, + 96059: function (t, e, r) { + "use strict"; + function n(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 + ); + } + r.d(e, { + Z: function () { + return n; + }, + }); + }, + 8593: function (t, e, r) { + "use strict"; + function n(t) { + return t; + } + r.d(e, { + Z: function () { + return n; + }, + }); + }, + 27362: function (t, e, r) { + "use strict"; + r.r(e), + r.d(e, { + geoAlbers: function () { + return Gt; + }, + geoAlbersUsa: function () { + return Yt; + }, + geoArea: function () { + return n.ZP; + }, + geoAzimuthalEqualArea: function () { + return Wt.Z; + }, + geoAzimuthalEqualAreaRaw: function () { + return Wt.l; + }, + geoAzimuthalEquidistant: function () { + return Xt.Z; + }, + geoAzimuthalEquidistantRaw: function () { + return Xt.N; + }, + geoBounds: function () { + return i.Z; + }, + geoCentroid: function () { + return a.Z; + }, + geoCircle: function () { + return o.Z; + }, + geoClipAntimeridian: function () { + return s.Z; + }, + geoClipCircle: function () { + return l.Z; + }, + geoClipExtent: function () { + return c; + }, + geoClipRectangle: function () { + return u.Z; + }, + geoConicConformal: function () { + return re; + }, + geoConicConformalRaw: function () { + return ee; + }, + geoConicEqualArea: function () { + return qt; + }, + geoConicEqualAreaRaw: function () { + return Ht; + }, + geoConicEquidistant: function () { + return ae; + }, + geoConicEquidistantRaw: function () { + return ie; + }, + geoContains: function () { + return R; + }, + geoDistance: function () { + return S; + }, + geoEqualEarth: function () { + return he; + }, + geoEqualEarthRaw: function () { + return fe; + }, + geoEquirectangular: function () { + return ne.Z; + }, + geoEquirectangularRaw: function () { + return ne.k; + }, + geoGnomonic: function () { + return pe.Z; + }, + geoGnomonicRaw: function () { + return pe.M; + }, + geoGraticule: function () { + return j; + }, + geoGraticule10: function () { + return U; + }, + geoIdentity: function () { + return ve; + }, + geoInterpolate: function () { + return Z.Z; + }, + geoLength: function () { + return k; + }, + geoMercator: function () { + return $t; + }, + geoMercatorRaw: function () { + return Kt; + }, + geoNaturalEarth1: function () { + return ge.Z; + }, + geoNaturalEarth1Raw: function () { + return ge.K; + }, + geoOrthographic: function () { + return ye.Z; + }, + geoOrthographicRaw: function () { + return ye.I; + }, + geoPath: function () { + return jt; + }, + geoProjection: function () { + return Ut.Z; + }, + geoProjectionMutator: function () { + return Ut.r; + }, + geoRotation: function () { + return Jt.Z; + }, + geoStereographic: function () { + return be; + }, + geoStereographicRaw: function () { + return xe; + }, + geoStream: function () { + return m.Z; + }, + geoTransform: function () { + return de.Z; + }, + geoTransverseMercator: function () { + return we; + }, + geoTransverseMercatorRaw: function () { + return _e; + }, + }); + var n = r(97860), + i = r(77338), + a = r(66624), + o = r(7613), + s = r(87070), + l = r(1457), + u = r(87605); + function c() { + var t, + e, + r, + n = 0, + i = 0, + a = 960, + o = 500; + return (r = { + stream: function (r) { + return t && e === r + ? t + : (t = (0, u.Z)(n, i, a, o)((e = r))); + }, + extent: function (s) { + return arguments.length + ? ((n = +s[0][0]), + (i = +s[0][1]), + (a = +s[1][0]), + (o = +s[1][1]), + (t = e = null), + r) + : [ + [n, i], + [a, o], + ]; + }, + }); + } + var f, + h, + p, + d = r(23071), + v = r(33940), + g = r(39695), + y = r(73182), + m = r(72736), + x = (0, v.Z)(), + b = { + sphere: y.Z, + point: y.Z, + lineStart: function () { + (b.point = w), (b.lineEnd = _); + }, + lineEnd: y.Z, + polygonStart: y.Z, + polygonEnd: y.Z, + }; + function _() { + b.point = b.lineEnd = y.Z; + } + function w(t, e) { + (t *= g.uR), + (e *= g.uR), + (f = t), + (h = (0, g.O$)(e)), + (p = (0, g.mC)(e)), + (b.point = T); + } + function T(t, e) { + (t *= g.uR), (e *= g.uR); + var r = (0, g.O$)(e), + n = (0, g.mC)(e), + i = (0, g.Wn)(t - f), + a = (0, g.mC)(i), + o = n * (0, g.O$)(i), + s = p * r - h * n * a, + l = h * r + p * n * a; + x.add((0, g.fv)((0, g._b)(o * o + s * s), l)), + (f = t), + (h = r), + (p = n); + } + function k(t) { + return x.reset(), (0, m.Z)(t, b), +x; + } + var A = [null, null], + M = { type: "LineString", coordinates: A }; + function S(t, e) { + return (A[0] = t), (A[1] = e), k(M); + } + var E = { + Feature: function (t, e) { + return C(t.geometry, e); + }, + FeatureCollection: function (t, e) { + for ( + var r = t.features, n = -1, i = r.length; + ++n < i; + + ) + if (C(r[n].geometry, e)) return !0; + return !1; + }, + }, + L = { + Sphere: function () { + return !0; + }, + Point: function (t, e) { + return P(t.coordinates, e); + }, + MultiPoint: function (t, e) { + for ( + var r = t.coordinates, n = -1, i = r.length; + ++n < i; + + ) + if (P(r[n], e)) return !0; + return !1; + }, + LineString: function (t, e) { + return O(t.coordinates, e); + }, + MultiLineString: function (t, e) { + for ( + var r = t.coordinates, n = -1, i = r.length; + ++n < i; + + ) + if (O(r[n], e)) return !0; + return !1; + }, + Polygon: function (t, e) { + return I(t.coordinates, e); + }, + MultiPolygon: function (t, e) { + for ( + var r = t.coordinates, n = -1, i = r.length; + ++n < i; + + ) + if (I(r[n], e)) return !0; + return !1; + }, + GeometryCollection: function (t, e) { + for ( + var r = t.geometries, n = -1, i = r.length; + ++n < i; + + ) + if (C(r[n], e)) return !0; + return !1; + }, + }; + function C(t, e) { + return ( + !(!t || !L.hasOwnProperty(t.type)) && L[t.type](t, e) + ); + } + function P(t, e) { + return 0 === S(t, e); + } + function O(t, e) { + for (var r, n, i, a = 0, o = t.length; a < o; a++) { + if (0 === (n = S(t[a], e))) return !0; + if ( + a > 0 && + (i = S(t[a], t[a - 1])) > 0 && + r <= i && + n <= i && + (r + n - i) * (1 - Math.pow((r - n) / i, 2)) < g.aW * i + ) + return !0; + r = n; + } + return !1; + } + function I(t, e) { + return !!(0, d.Z)(t.map(D), z(e)); + } + function D(t) { + return (t = t.map(z)).pop(), t; + } + function z(t) { + return [t[0] * g.uR, t[1] * g.uR]; + } + function R(t, e) { + return (t && E.hasOwnProperty(t.type) ? E[t.type] : C)( + t, + e, + ); + } + var F = r(33064); + function B(t, e, r) { + var n = (0, F.w6)(t, e - g.Ho, r).concat(e); + return function (t) { + return n.map(function (e) { + return [t, e]; + }); + }; + } + function N(t, e, r) { + var n = (0, F.w6)(t, e - g.Ho, r).concat(e); + return function (t) { + return n.map(function (e) { + return [e, t]; + }); + }; + } + function j() { + var t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h = 10, + p = h, + d = 90, + v = 360, + y = 2.5; + function m() { + return { type: "MultiLineString", coordinates: x() }; + } + function x() { + return (0, F.w6)((0, g.mD)(n / d) * d, r, d) + .map(c) + .concat((0, F.w6)((0, g.mD)(s / v) * v, o, v).map(f)) + .concat( + (0, F.w6)((0, g.mD)(e / h) * h, t, h) + .filter(function (t) { + return (0, g.Wn)(t % d) > g.Ho; + }) + .map(l), + ) + .concat( + (0, F.w6)((0, g.mD)(a / p) * p, i, p) + .filter(function (t) { + return (0, g.Wn)(t % v) > g.Ho; + }) + .map(u), + ); + } + return ( + (m.lines = function () { + return x().map(function (t) { + return { type: "LineString", coordinates: t }; + }); + }), + (m.outline = function () { + return { + type: "Polygon", + coordinates: [ + c(n).concat( + f(o).slice(1), + c(r).reverse().slice(1), + f(s).reverse().slice(1), + ), + ], + }; + }), + (m.extent = function (t) { + return arguments.length + ? m.extentMajor(t).extentMinor(t) + : m.extentMinor(); + }), + (m.extentMajor = function (t) { + return arguments.length + ? ((n = +t[0][0]), + (r = +t[1][0]), + (s = +t[0][1]), + (o = +t[1][1]), + n > r && ((t = n), (n = r), (r = t)), + s > o && ((t = s), (s = o), (o = t)), + m.precision(y)) + : [ + [n, s], + [r, o], + ]; + }), + (m.extentMinor = function (r) { + return arguments.length + ? ((e = +r[0][0]), + (t = +r[1][0]), + (a = +r[0][1]), + (i = +r[1][1]), + e > t && ((r = e), (e = t), (t = r)), + a > i && ((r = a), (a = i), (i = r)), + m.precision(y)) + : [ + [e, a], + [t, i], + ]; + }), + (m.step = function (t) { + return arguments.length + ? m.stepMajor(t).stepMinor(t) + : m.stepMinor(); + }), + (m.stepMajor = function (t) { + return arguments.length + ? ((d = +t[0]), (v = +t[1]), m) + : [d, v]; + }), + (m.stepMinor = function (t) { + return arguments.length + ? ((h = +t[0]), (p = +t[1]), m) + : [h, p]; + }), + (m.precision = function (h) { + return arguments.length + ? ((y = +h), + (l = B(a, i, 90)), + (u = N(e, t, y)), + (c = B(s, o, 90)), + (f = N(n, r, y)), + m) + : y; + }), + m + .extentMajor([ + [-180, -90 + g.Ho], + [180, 90 - g.Ho], + ]) + .extentMinor([ + [-180, -80 - g.Ho], + [180, 80 + g.Ho], + ]) + ); + } + function U() { + return j()(); + } + var V, + H, + q, + G, + Z = r(83074), + Y = r(8593), + W = (0, v.Z)(), + X = (0, v.Z)(), + J = { + point: y.Z, + lineStart: y.Z, + lineEnd: y.Z, + polygonStart: function () { + (J.lineStart = K), (J.lineEnd = tt); + }, + polygonEnd: function () { + (J.lineStart = J.lineEnd = J.point = y.Z), + W.add((0, g.Wn)(X)), + X.reset(); + }, + result: function () { + var t = W / 2; + return W.reset(), t; + }, + }; + function K() { + J.point = $; + } + function $(t, e) { + (J.point = Q), (V = q = t), (H = G = e); + } + function Q(t, e) { + X.add(G * t - q * e), (q = t), (G = e); + } + function tt() { + Q(V, H); + } + var et, + rt, + nt, + it, + at = J, + ot = r(3559), + st = 0, + lt = 0, + ut = 0, + ct = 0, + ft = 0, + ht = 0, + pt = 0, + dt = 0, + vt = 0, + gt = { + point: yt, + lineStart: mt, + lineEnd: _t, + polygonStart: function () { + (gt.lineStart = wt), (gt.lineEnd = Tt); + }, + polygonEnd: function () { + (gt.point = yt), (gt.lineStart = mt), (gt.lineEnd = _t); + }, + result: function () { + var t = vt + ? [pt / vt, dt / vt] + : ht + ? [ct / ht, ft / ht] + : ut + ? [st / ut, lt / ut] + : [NaN, NaN]; + return ( + (st = lt = ut = ct = ft = ht = pt = dt = vt = 0), t + ); + }, + }; + function yt(t, e) { + (st += t), (lt += e), ++ut; + } + function mt() { + gt.point = xt; + } + function xt(t, e) { + (gt.point = bt), yt((nt = t), (it = e)); + } + function bt(t, e) { + var r = t - nt, + n = e - it, + i = (0, g._b)(r * r + n * n); + (ct += (i * (nt + t)) / 2), + (ft += (i * (it + e)) / 2), + (ht += i), + yt((nt = t), (it = e)); + } + function _t() { + gt.point = yt; + } + function wt() { + gt.point = kt; + } + function Tt() { + At(et, rt); + } + function kt(t, e) { + (gt.point = At), yt((et = nt = t), (rt = it = e)); + } + function At(t, e) { + var r = t - nt, + n = e - it, + i = (0, g._b)(r * r + n * n); + (ct += (i * (nt + t)) / 2), + (ft += (i * (it + e)) / 2), + (ht += i), + (pt += (i = it * t - nt * e) * (nt + t)), + (dt += i * (it + e)), + (vt += 3 * i), + yt((nt = t), (it = e)); + } + var Mt = gt; + function St(t) { + this._context = t; + } + St.prototype = { + _radius: 4.5, + pointRadius: function (t) { + return (this._radius = t), this; + }, + polygonStart: function () { + this._line = 0; + }, + polygonEnd: function () { + this._line = NaN; + }, + lineStart: function () { + this._point = 0; + }, + lineEnd: function () { + 0 === this._line && this._context.closePath(), + (this._point = NaN); + }, + point: function (t, e) { + switch (this._point) { + case 0: + this._context.moveTo(t, e), (this._point = 1); + break; + case 1: + this._context.lineTo(t, e); + break; + default: + this._context.moveTo(t + this._radius, e), + this._context.arc(t, e, this._radius, 0, g.BZ); + } + }, + result: y.Z, + }; + var Et, + Lt, + Ct, + Pt, + Ot, + It = (0, v.Z)(), + Dt = { + point: y.Z, + lineStart: function () { + Dt.point = zt; + }, + lineEnd: function () { + Et && Rt(Lt, Ct), (Dt.point = y.Z); + }, + polygonStart: function () { + Et = !0; + }, + polygonEnd: function () { + Et = null; + }, + result: function () { + var t = +It; + return It.reset(), t; + }, + }; + function zt(t, e) { + (Dt.point = Rt), (Lt = Pt = t), (Ct = Ot = e); + } + function Rt(t, e) { + (Pt -= t), + (Ot -= e), + It.add((0, g._b)(Pt * Pt + Ot * Ot)), + (Pt = t), + (Ot = e); + } + var Ft = Dt; + function Bt() { + this._string = []; + } + function Nt(t) { + return ( + "m0," + + t + + "a" + + t + + "," + + t + + " 0 1,1 0," + + -2 * t + + "a" + + t + + "," + + t + + " 0 1,1 0," + + 2 * t + + "z" + ); + } + function jt(t, e) { + var r, + n, + i = 4.5; + function a(t) { + return ( + t && + ("function" == typeof i && + n.pointRadius(+i.apply(this, arguments)), + (0, m.Z)(t, r(n))), + n.result() + ); + } + return ( + (a.area = function (t) { + return (0, m.Z)(t, r(at)), at.result(); + }), + (a.measure = function (t) { + return (0, m.Z)(t, r(Ft)), Ft.result(); + }), + (a.bounds = function (t) { + return (0, m.Z)(t, r(ot.Z)), ot.Z.result(); + }), + (a.centroid = function (t) { + return (0, m.Z)(t, r(Mt)), Mt.result(); + }), + (a.projection = function (e) { + return arguments.length + ? ((r = + null == e ? ((t = null), Y.Z) : (t = e).stream), + a) + : t; + }), + (a.context = function (t) { + return arguments.length + ? ((n = + null == t + ? ((e = null), new Bt()) + : new St((e = t))), + "function" != typeof i && n.pointRadius(i), + a) + : e; + }), + (a.pointRadius = function (t) { + return arguments.length + ? ((i = + "function" == typeof t + ? t + : (n.pointRadius(+t), +t)), + a) + : i; + }), + a.projection(t).context(e) + ); + } + Bt.prototype = { + _radius: 4.5, + _circle: Nt(4.5), + pointRadius: function (t) { + return ( + (t = +t) !== this._radius && + ((this._radius = t), (this._circle = null)), + this + ); + }, + polygonStart: function () { + this._line = 0; + }, + polygonEnd: function () { + this._line = NaN; + }, + lineStart: function () { + this._point = 0; + }, + lineEnd: function () { + 0 === this._line && this._string.push("Z"), + (this._point = NaN); + }, + point: function (t, e) { + switch (this._point) { + case 0: + this._string.push("M", t, ",", e), (this._point = 1); + break; + case 1: + this._string.push("L", t, ",", e); + break; + default: + null == this._circle && + (this._circle = Nt(this._radius)), + this._string.push("M", t, ",", e, this._circle); + } + }, + result: function () { + if (this._string.length) { + var t = this._string.join(""); + return (this._string = []), t; + } + return null; + }, + }; + var Ut = r(15002); + function Vt(t) { + var e = 0, + r = g.pi / 3, + n = (0, Ut.r)(t), + i = n(e, r); + return ( + (i.parallels = function (t) { + return arguments.length + ? n((e = t[0] * g.uR), (r = t[1] * g.uR)) + : [e * g.RW, r * g.RW]; + }), + i + ); + } + function Ht(t, e) { + var r = (0, g.O$)(t), + n = (r + (0, g.O$)(e)) / 2; + if ((0, g.Wn)(n) < g.Ho) + return (function (t) { + var e = (0, g.mC)(t); + function r(t, r) { + return [t * e, (0, g.O$)(r) / e]; + } + return ( + (r.invert = function (t, r) { + return [t / e, (0, g.ZR)(r * e)]; + }), + r + ); + })(t); + var i = 1 + r * (2 * n - r), + a = (0, g._b)(i) / n; + function o(t, e) { + var r = (0, g._b)(i - 2 * n * (0, g.O$)(e)) / n; + return [r * (0, g.O$)((t *= n)), a - r * (0, g.mC)(t)]; + } + return ( + (o.invert = function (t, e) { + var r = a - e, + o = (0, g.fv)(t, (0, g.Wn)(r)) * (0, g.Xx)(r); + return ( + r * n < 0 && + (o -= g.pi * (0, g.Xx)(t) * (0, g.Xx)(r)), + [ + o / n, + (0, g.ZR)((i - (t * t + r * r) * n * n) / (2 * n)), + ] + ); + }), + o + ); + } + function qt() { + return Vt(Ht).scale(155.424).center([0, 33.6442]); + } + function Gt() { + return qt() + .parallels([29.5, 45.5]) + .scale(1070) + .translate([480, 250]) + .rotate([96, 0]) + .center([-0.6, 38.7]); + } + var Zt = r(47589); + function Yt() { + var t, + e, + r, + n, + i, + a, + o = Gt(), + s = qt() + .rotate([154, 0]) + .center([-2, 58.5]) + .parallels([55, 65]), + l = qt() + .rotate([157, 0]) + .center([-3, 19.9]) + .parallels([8, 18]), + u = { + point: function (t, e) { + a = [t, e]; + }, + }; + function c(t) { + var e = t[0], + o = t[1]; + return ( + (a = null), + r.point(e, o), + a || (n.point(e, o), a) || (i.point(e, o), a) + ); + } + function f() { + return (t = e = null), c; + } + return ( + (c.invert = function (t) { + var e = o.scale(), + r = o.translate(), + n = (t[0] - r[0]) / e, + i = (t[1] - r[1]) / e; + return ( + i >= 0.12 && i < 0.234 && n >= -0.425 && n < -0.214 + ? s + : i >= 0.166 && + i < 0.234 && + n >= -0.214 && + n < -0.115 + ? l + : o + ).invert(t); + }), + (c.stream = function (r) { + return t && e === r + ? t + : ((n = [ + o.stream((e = r)), + s.stream(r), + l.stream(r), + ]), + (i = n.length), + (t = { + point: function (t, e) { + for (var r = -1; ++r < i; ) n[r].point(t, e); + }, + sphere: function () { + for (var t = -1; ++t < i; ) n[t].sphere(); + }, + lineStart: function () { + for (var t = -1; ++t < i; ) n[t].lineStart(); + }, + lineEnd: function () { + for (var t = -1; ++t < i; ) n[t].lineEnd(); + }, + polygonStart: function () { + for (var t = -1; ++t < i; ) n[t].polygonStart(); + }, + polygonEnd: function () { + for (var t = -1; ++t < i; ) n[t].polygonEnd(); + }, + })); + var n, i; + }), + (c.precision = function (t) { + return arguments.length + ? (o.precision(t), + s.precision(t), + l.precision(t), + f()) + : o.precision(); + }), + (c.scale = function (t) { + return arguments.length + ? (o.scale(t), + s.scale(0.35 * t), + l.scale(t), + c.translate(o.translate())) + : o.scale(); + }), + (c.translate = function (t) { + if (!arguments.length) return o.translate(); + var e = o.scale(), + a = +t[0], + c = +t[1]; + return ( + (r = o + .translate(t) + .clipExtent([ + [a - 0.455 * e, c - 0.238 * e], + [a + 0.455 * e, c + 0.238 * e], + ]) + .stream(u)), + (n = s + .translate([a - 0.307 * e, c + 0.201 * e]) + .clipExtent([ + [a - 0.425 * e + g.Ho, c + 0.12 * e + g.Ho], + [a - 0.214 * e - g.Ho, c + 0.234 * e - g.Ho], + ]) + .stream(u)), + (i = l + .translate([a - 0.205 * e, c + 0.212 * e]) + .clipExtent([ + [a - 0.214 * e + g.Ho, c + 0.166 * e + g.Ho], + [a - 0.115 * e - g.Ho, c + 0.234 * e - g.Ho], + ]) + .stream(u)), + f() + ); + }), + (c.fitExtent = function (t, e) { + return (0, Zt.qg)(c, t, e); + }), + (c.fitSize = function (t, e) { + return (0, Zt.mF)(c, t, e); + }), + (c.fitWidth = function (t, e) { + return (0, Zt.V6)(c, t, e); + }), + (c.fitHeight = function (t, e) { + return (0, Zt.rf)(c, t, e); + }), + c.scale(1070) + ); + } + var Wt = r(12956), + Xt = r(17889), + Jt = r(49386); + function Kt(t, e) { + return [t, (0, g.cM)((0, g.OR)((g.ou + e) / 2))]; + } + function $t() { + return Qt(Kt).scale(961 / g.BZ); + } + function Qt(t) { + var e, + r, + n, + i = (0, Ut.Z)(t), + a = i.center, + o = i.scale, + s = i.translate, + l = i.clipExtent, + u = null; + function c() { + var a = g.pi * o(), + s = i((0, Jt.Z)(i.rotate()).invert([0, 0])); + return l( + null == u + ? [ + [s[0] - a, s[1] - a], + [s[0] + a, s[1] + a], + ] + : t === Kt + ? [ + [Math.max(s[0] - a, u), e], + [Math.min(s[0] + a, r), n], + ] + : [ + [u, Math.max(s[1] - a, e)], + [r, Math.min(s[1] + a, n)], + ], + ); + } + return ( + (i.scale = function (t) { + return arguments.length ? (o(t), c()) : o(); + }), + (i.translate = function (t) { + return arguments.length ? (s(t), c()) : s(); + }), + (i.center = function (t) { + return arguments.length ? (a(t), c()) : a(); + }), + (i.clipExtent = function (t) { + return arguments.length + ? (null == t + ? (u = e = r = n = null) + : ((u = +t[0][0]), + (e = +t[0][1]), + (r = +t[1][0]), + (n = +t[1][1])), + c()) + : null == u + ? null + : [ + [u, e], + [r, n], + ]; + }), + c() + ); + } + function te(t) { + return (0, g.OR)((g.ou + t) / 2); + } + function ee(t, e) { + var r = (0, g.mC)(t), + n = + t === e + ? (0, g.O$)(t) + : (0, g.cM)(r / (0, g.mC)(e)) / + (0, g.cM)(te(e) / te(t)), + i = (r * (0, g.sQ)(te(t), n)) / n; + if (!n) return Kt; + function a(t, e) { + i > 0 + ? e < -g.ou + g.Ho && (e = -g.ou + g.Ho) + : e > g.ou - g.Ho && (e = g.ou - g.Ho); + var r = i / (0, g.sQ)(te(e), n); + return [r * (0, g.O$)(n * t), i - r * (0, g.mC)(n * t)]; + } + return ( + (a.invert = function (t, e) { + var r = i - e, + a = (0, g.Xx)(n) * (0, g._b)(t * t + r * r), + o = (0, g.fv)(t, (0, g.Wn)(r)) * (0, g.Xx)(r); + return ( + r * n < 0 && + (o -= g.pi * (0, g.Xx)(t) * (0, g.Xx)(r)), + [o / n, 2 * (0, g.z4)((0, g.sQ)(i / a, 1 / n)) - g.ou] + ); + }), + a + ); + } + function re() { + return Vt(ee).scale(109.5).parallels([30, 30]); + } + Kt.invert = function (t, e) { + return [t, 2 * (0, g.z4)((0, g.Qq)(e)) - g.ou]; + }; + var ne = r(97492); + function ie(t, e) { + var r = (0, g.mC)(t), + n = t === e ? (0, g.O$)(t) : (r - (0, g.mC)(e)) / (e - t), + i = r / n + t; + if ((0, g.Wn)(n) < g.Ho) return ne.k; + function a(t, e) { + var r = i - e, + a = n * t; + return [r * (0, g.O$)(a), i - r * (0, g.mC)(a)]; + } + return ( + (a.invert = function (t, e) { + var r = i - e, + a = (0, g.fv)(t, (0, g.Wn)(r)) * (0, g.Xx)(r); + return ( + r * n < 0 && + (a -= g.pi * (0, g.Xx)(t) * (0, g.Xx)(r)), + [a / n, i - (0, g.Xx)(n) * (0, g._b)(t * t + r * r)] + ); + }), + a + ); + } + function ae() { + return Vt(ie).scale(131.154).center([0, 13.9389]); + } + var oe = 1.340264, + se = -0.081106, + le = 893e-6, + ue = 0.003796, + ce = (0, g._b)(3) / 2; + function fe(t, e) { + var r = (0, g.ZR)(ce * (0, g.O$)(e)), + n = r * r, + i = n * n * n; + return [ + (t * (0, g.mC)(r)) / + (ce * (oe + 3 * se * n + i * (7 * le + 9 * ue * n))), + r * (oe + se * n + i * (le + ue * n)), + ]; + } + function he() { + return (0, Ut.Z)(fe).scale(177.158); + } + fe.invert = function (t, e) { + for ( + var r, n = e, i = n * n, a = i * i * i, o = 0; + o < 12 && + ((a = + (i = + (n -= r = + (n * (oe + se * i + a * (le + ue * i)) - e) / + (oe + 3 * se * i + a * (7 * le + 9 * ue * i))) * + n) * + i * + i), + !((0, g.Wn)(r) < g.aW)); + ++o + ); + return [ + (ce * t * (oe + 3 * se * i + a * (7 * le + 9 * ue * i))) / + (0, g.mC)(n), + (0, g.ZR)((0, g.O$)(n) / ce), + ]; + }; + var pe = r(98936), + de = r(64684); + function ve() { + var t, + e, + r, + n, + i, + a, + o, + s = 1, + l = 0, + c = 0, + f = 1, + h = 1, + p = 0, + d = null, + v = 1, + y = 1, + m = (0, de.l)({ + point: function (t, e) { + var r = _([t, e]); + this.stream.point(r[0], r[1]); + }, + }), + x = Y.Z; + function b() { + return (v = s * f), (y = s * h), (a = o = null), _; + } + function _(r) { + var n = r[0] * v, + i = r[1] * y; + if (p) { + var a = i * t - n * e; + (n = n * t + i * e), (i = a); + } + return [n + l, i + c]; + } + return ( + (_.invert = function (r) { + var n = r[0] - l, + i = r[1] - c; + if (p) { + var a = i * t + n * e; + (n = n * t - i * e), (i = a); + } + return [n / v, i / y]; + }), + (_.stream = function (t) { + return a && o === t ? a : (a = m(x((o = t)))); + }), + (_.postclip = function (t) { + return arguments.length + ? ((x = t), (d = r = n = i = null), b()) + : x; + }), + (_.clipExtent = function (t) { + return arguments.length + ? ((x = + null == t + ? ((d = r = n = i = null), Y.Z) + : (0, u.Z)( + (d = +t[0][0]), + (r = +t[0][1]), + (n = +t[1][0]), + (i = +t[1][1]), + )), + b()) + : null == d + ? null + : [ + [d, r], + [n, i], + ]; + }), + (_.scale = function (t) { + return arguments.length ? ((s = +t), b()) : s; + }), + (_.translate = function (t) { + return arguments.length + ? ((l = +t[0]), (c = +t[1]), b()) + : [l, c]; + }), + (_.angle = function (r) { + return arguments.length + ? ((p = (r % 360) * g.uR), + (e = (0, g.O$)(p)), + (t = (0, g.mC)(p)), + b()) + : p * g.RW; + }), + (_.reflectX = function (t) { + return arguments.length + ? ((f = t ? -1 : 1), b()) + : f < 0; + }), + (_.reflectY = function (t) { + return arguments.length + ? ((h = t ? -1 : 1), b()) + : h < 0; + }), + (_.fitExtent = function (t, e) { + return (0, Zt.qg)(_, t, e); + }), + (_.fitSize = function (t, e) { + return (0, Zt.mF)(_, t, e); + }), + (_.fitWidth = function (t, e) { + return (0, Zt.V6)(_, t, e); + }), + (_.fitHeight = function (t, e) { + return (0, Zt.rf)(_, t, e); + }), + _ + ); + } + var ge = r(26867), + ye = r(57962), + me = r(25382); + function xe(t, e) { + var r = (0, g.mC)(e), + n = 1 + (0, g.mC)(t) * r; + return [(r * (0, g.O$)(t)) / n, (0, g.O$)(e) / n]; + } + function be() { + return (0, Ut.Z)(xe).scale(250).clipAngle(142); + } + function _e(t, e) { + return [(0, g.cM)((0, g.OR)((g.ou + e) / 2)), -t]; + } + function we() { + var t = Qt(_e), + e = t.center, + r = t.rotate; + return ( + (t.center = function (t) { + return arguments.length + ? e([-t[1], t[0]]) + : [(t = e())[1], -t[0]]; + }), + (t.rotate = function (t) { + return arguments.length + ? r([t[0], t[1], t.length > 2 ? t[2] + 90 : 90]) + : [(t = r())[0], t[1], t[2] - 90]; + }), + r([0, 0, 90]).scale(159.155) + ); + } + (xe.invert = (0, me.O)(function (t) { + return 2 * (0, g.z4)(t); + })), + (_e.invert = function (t, e) { + return [-e, 2 * (0, g.z4)((0, g.Qq)(t)) - g.ou]; + }); + }, + 83074: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return i; + }, + }); + var n = r(39695); + function i(t, e) { + var r = t[0] * n.uR, + i = t[1] * n.uR, + a = e[0] * n.uR, + o = e[1] * n.uR, + s = (0, n.mC)(i), + l = (0, n.O$)(i), + u = (0, n.mC)(o), + c = (0, n.O$)(o), + f = s * (0, n.mC)(r), + h = s * (0, n.O$)(r), + p = u * (0, n.mC)(a), + d = u * (0, n.O$)(a), + v = + 2 * + (0, n.ZR)( + (0, n._b)( + (0, n.Jy)(o - i) + s * u * (0, n.Jy)(a - r), + ), + ), + g = (0, n.O$)(v), + y = v + ? function (t) { + var e = (0, n.O$)((t *= v)) / g, + r = (0, n.O$)(v - t) / g, + i = r * f + e * p, + a = r * h + e * d, + o = r * l + e * c; + return [ + (0, n.fv)(a, i) * n.RW, + (0, n.fv)(o, (0, n._b)(i * i + a * a)) * n.RW, + ]; + } + : function () { + return [r * n.RW, i * n.RW]; + }; + return (y.distance = v), y; + } + }, + 39695: function (t, e, r) { + "use strict"; + r.d(e, { + BZ: function () { + return l; + }, + Ho: function () { + return n; + }, + Jy: function () { + return A; + }, + Kh: function () { + return T; + }, + O$: function () { + return x; + }, + OR: function () { + return w; + }, + Qq: function () { + return g; + }, + RW: function () { + return u; + }, + Wn: function () { + return f; + }, + Xx: function () { + return b; + }, + ZR: function () { + return k; + }, + _b: function () { + return _; + }, + aW: function () { + return i; + }, + cM: function () { + return y; + }, + fv: function () { + return p; + }, + mC: function () { + return d; + }, + mD: function () { + return v; + }, + ou: function () { + return o; + }, + pi: function () { + return a; + }, + pu: function () { + return s; + }, + sQ: function () { + return m; + }, + uR: function () { + return c; + }, + z4: function () { + return h; + }, + }); + var n = 1e-6, + i = 1e-12, + a = Math.PI, + o = a / 2, + s = a / 4, + l = 2 * a, + u = 180 / a, + c = a / 180, + f = Math.abs, + h = Math.atan, + p = Math.atan2, + d = Math.cos, + v = Math.ceil, + g = Math.exp, + y = (Math.floor, Math.log), + m = Math.pow, + x = Math.sin, + b = + Math.sign || + function (t) { + return t > 0 ? 1 : t < 0 ? -1 : 0; + }, + _ = Math.sqrt, + w = Math.tan; + function T(t) { + return t > 1 ? 0 : t < -1 ? a : Math.acos(t); + } + function k(t) { + return t > 1 ? o : t < -1 ? -o : Math.asin(t); + } + function A(t) { + return (t = x(t / 2)) * t; + } + }, + 73182: function (t, e, r) { + "use strict"; + function n() {} + r.d(e, { + Z: function () { + return n; + }, + }); + }, + 3559: function (t, e, r) { + "use strict"; + var n = r(73182), + i = 1 / 0, + a = i, + o = -i, + s = o, + l = { + point: function (t, e) { + t < i && (i = t), + t > o && (o = t), + e < a && (a = e), + e > s && (s = e); + }, + lineStart: n.Z, + lineEnd: n.Z, + polygonStart: n.Z, + polygonEnd: n.Z, + result: function () { + var t = [ + [i, a], + [o, s], + ]; + return (o = s = -(a = i = 1 / 0)), t; + }, + }; + e.Z = l; + }, + 67108: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return i; + }, + }); + var n = r(39695); + function i(t, e) { + return ( + (0, n.Wn)(t[0] - e[0]) < n.Ho && + (0, n.Wn)(t[1] - e[1]) < n.Ho + ); + } + }, + 23071: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return l; + }, + }); + var n = r(33940), + i = r(7620), + a = r(39695), + o = (0, n.Z)(); + function s(t) { + return (0, a.Wn)(t[0]) <= a.pi + ? t[0] + : (0, a.Xx)(t[0]) * + ((((0, a.Wn)(t[0]) + a.pi) % a.BZ) - a.pi); + } + function l(t, e) { + var r = s(e), + n = e[1], + l = (0, a.O$)(n), + u = [(0, a.O$)(r), -(0, a.mC)(r), 0], + c = 0, + f = 0; + o.reset(), + 1 === l + ? (n = a.ou + a.Ho) + : -1 === l && (n = -a.ou - a.Ho); + for (var h = 0, p = t.length; h < p; ++h) + if ((v = (d = t[h]).length)) + for ( + var d, + v, + g = d[v - 1], + y = s(g), + m = g[1] / 2 + a.pu, + x = (0, a.O$)(m), + b = (0, a.mC)(m), + _ = 0; + _ < v; + ++_, y = T, x = A, b = M, g = w + ) { + var w = d[_], + T = s(w), + k = w[1] / 2 + a.pu, + A = (0, a.O$)(k), + M = (0, a.mC)(k), + S = T - y, + E = S >= 0 ? 1 : -1, + L = E * S, + C = L > a.pi, + P = x * A; + if ( + (o.add( + (0, a.fv)( + P * E * (0, a.O$)(L), + b * M + P * (0, a.mC)(L), + ), + ), + (c += C ? S + E * a.BZ : S), + C ^ (y >= r) ^ (T >= r)) + ) { + var O = (0, i.T5)((0, i.Og)(g), (0, i.Og)(w)); + (0, i.iJ)(O); + var I = (0, i.T5)(u, O); + (0, i.iJ)(I); + var D = (C ^ (S >= 0) ? -1 : 1) * (0, a.ZR)(I[2]); + (n > D || (n === D && (O[0] || O[1]))) && + (f += C ^ (S >= 0) ? 1 : -1); + } + } + return (c < -a.Ho || (c < a.Ho && o < -a.Ho)) ^ (1 & f); + } + }, + 25382: function (t, e, r) { + "use strict"; + r.d(e, { + O: function () { + return a; + }, + W: function () { + return i; + }, + }); + var n = r(39695); + function i(t) { + return function (e, r) { + var i = (0, n.mC)(e), + a = (0, n.mC)(r), + o = t(i * a); + return [o * a * (0, n.O$)(e), o * (0, n.O$)(r)]; + }; + } + function a(t) { + return function (e, r) { + var i = (0, n._b)(e * e + r * r), + a = t(i), + o = (0, n.O$)(a), + s = (0, n.mC)(a); + return [ + (0, n.fv)(e * o, i * s), + (0, n.ZR)(i && (r * o) / i), + ]; + }; + } + }, + 12956: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return s; + }, + l: function () { + return o; + }, + }); + var n = r(39695), + i = r(25382), + a = r(15002), + o = (0, i.W)(function (t) { + return (0, n._b)(2 / (1 + t)); + }); + function s() { + return (0, a.Z)(o).scale(124.75).clipAngle(179.999); + } + o.invert = (0, i.O)(function (t) { + return 2 * (0, n.ZR)(t / 2); + }); + }, + 17889: function (t, e, r) { + "use strict"; + r.d(e, { + N: function () { + return o; + }, + Z: function () { + return s; + }, + }); + var n = r(39695), + i = r(25382), + a = r(15002), + o = (0, i.W)(function (t) { + return (t = (0, n.Kh)(t)) && t / (0, n.O$)(t); + }); + function s() { + return (0, a.Z)(o).scale(79.4188).clipAngle(179.999); + } + o.invert = (0, i.O)(function (t) { + return t; + }); + }, + 97492: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return a; + }, + k: function () { + return i; + }, + }); + var n = r(15002); + function i(t, e) { + return [t, e]; + } + function a() { + return (0, n.Z)(i).scale(152.63); + } + i.invert = i; + }, + 47589: function (t, e, r) { + "use strict"; + r.d(e, { + V6: function () { + return l; + }, + mF: function () { + return s; + }, + qg: function () { + return o; + }, + rf: function () { + return u; + }, + }); + var n = r(72736), + i = r(3559); + function a(t, e, r) { + var a = t.clipExtent && t.clipExtent(); + return ( + t.scale(150).translate([0, 0]), + null != a && t.clipExtent(null), + (0, n.Z)(r, t.stream(i.Z)), + e(i.Z.result()), + null != a && t.clipExtent(a), + t + ); + } + function o(t, e, r) { + return a( + t, + function (r) { + var n = e[1][0] - e[0][0], + i = e[1][1] - e[0][1], + a = Math.min( + n / (r[1][0] - r[0][0]), + i / (r[1][1] - r[0][1]), + ), + o = +e[0][0] + (n - a * (r[1][0] + r[0][0])) / 2, + s = +e[0][1] + (i - a * (r[1][1] + r[0][1])) / 2; + t.scale(150 * a).translate([o, s]); + }, + r, + ); + } + function s(t, e, r) { + return o(t, [[0, 0], e], r); + } + function l(t, e, r) { + return a( + t, + function (r) { + var n = +e, + i = n / (r[1][0] - r[0][0]), + a = (n - i * (r[1][0] + r[0][0])) / 2, + o = -i * r[0][1]; + t.scale(150 * i).translate([a, o]); + }, + r, + ); + } + function u(t, e, r) { + return a( + t, + function (r) { + var n = +e, + i = n / (r[1][1] - r[0][1]), + a = -i * r[0][0], + o = (n - i * (r[1][1] + r[0][1])) / 2; + t.scale(150 * i).translate([a, o]); + }, + r, + ); + } + }, + 98936: function (t, e, r) { + "use strict"; + r.d(e, { + M: function () { + return o; + }, + Z: function () { + return s; + }, + }); + var n = r(39695), + i = r(25382), + a = r(15002); + function o(t, e) { + var r = (0, n.mC)(e), + i = (0, n.mC)(t) * r; + return [(r * (0, n.O$)(t)) / i, (0, n.O$)(e) / i]; + } + function s() { + return (0, a.Z)(o).scale(144.049).clipAngle(60); + } + o.invert = (0, i.O)(n.z4); + }, + 15002: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return m; + }, + r: function () { + return x; + }, + }); + var n = r(87070), + i = r(1457), + a = r(87605), + o = r(96059), + s = r(8593), + l = r(39695), + u = r(49386), + c = r(64684), + f = r(47589), + h = r(7620), + p = (0, l.mC)(30 * l.uR); + function d(t, e) { + return +e + ? (function (t, e) { + function r(n, i, a, o, s, u, c, f, h, d, v, g, y, m) { + var x = c - n, + b = f - i, + _ = x * x + b * b; + if (_ > 4 * e && y--) { + var w = o + d, + T = s + v, + k = u + g, + A = (0, l._b)(w * w + T * T + k * k), + M = (0, l.ZR)((k /= A)), + S = + (0, l.Wn)((0, l.Wn)(k) - 1) < l.Ho || + (0, l.Wn)(a - h) < l.Ho + ? (a + h) / 2 + : (0, l.fv)(T, w), + E = t(S, M), + L = E[0], + C = E[1], + P = L - n, + O = C - i, + I = b * P - x * O; + ((I * I) / _ > e || + (0, l.Wn)((x * P + b * O) / _ - 0.5) > 0.3 || + o * d + s * v + u * g < p) && + (r( + n, + i, + a, + o, + s, + u, + L, + C, + S, + (w /= A), + (T /= A), + k, + y, + m, + ), + m.point(L, C), + r(L, C, S, w, T, k, c, f, h, d, v, g, y, m)); + } + } + return function (e) { + var n, + i, + a, + o, + s, + l, + u, + c, + f, + p, + d, + v, + g = { + point: y, + lineStart: m, + lineEnd: b, + polygonStart: function () { + e.polygonStart(), (g.lineStart = _); + }, + polygonEnd: function () { + e.polygonEnd(), (g.lineStart = m); + }, + }; + function y(r, n) { + (r = t(r, n)), e.point(r[0], r[1]); + } + function m() { + (c = NaN), (g.point = x), e.lineStart(); + } + function x(n, i) { + var a = (0, h.Og)([n, i]), + o = t(n, i); + r( + c, + f, + u, + p, + d, + v, + (c = o[0]), + (f = o[1]), + (u = n), + (p = a[0]), + (d = a[1]), + (v = a[2]), + 16, + e, + ), + e.point(c, f); + } + function b() { + (g.point = y), e.lineEnd(); + } + function _() { + m(), (g.point = w), (g.lineEnd = T); + } + function w(t, e) { + x((n = t), e), + (i = c), + (a = f), + (o = p), + (s = d), + (l = v), + (g.point = x); + } + function T() { + r(c, f, u, p, d, v, i, a, n, o, s, l, 16, e), + (g.lineEnd = b), + b(); + } + return g; + }; + })(t, e) + : (function (t) { + return (0, c.l)({ + point: function (e, r) { + (e = t(e, r)), this.stream.point(e[0], e[1]); + }, + }); + })(t); + } + var v = (0, c.l)({ + point: function (t, e) { + this.stream.point(t * l.uR, e * l.uR); + }, + }); + function g(t, e, r, n, i) { + function a(a, o) { + return [e + t * (a *= n), r - t * (o *= i)]; + } + return ( + (a.invert = function (a, o) { + return [((a - e) / t) * n, ((r - o) / t) * i]; + }), + a + ); + } + function y(t, e, r, n, i, a) { + var o = (0, l.mC)(a), + s = (0, l.O$)(a), + u = o * t, + c = s * t, + f = o / t, + h = s / t, + p = (s * r - o * e) / t, + d = (s * e + o * r) / t; + function v(t, a) { + return [ + u * (t *= n) - c * (a *= i) + e, + r - c * t - u * a, + ]; + } + return ( + (v.invert = function (t, e) { + return [ + n * (f * t - h * e + p), + i * (d - h * t - f * e), + ]; + }), + v + ); + } + function m(t) { + return x(function () { + return t; + })(); + } + function x(t) { + var e, + r, + h, + p, + m, + x, + b, + _, + w, + T, + k = 150, + A = 480, + M = 250, + S = 0, + E = 0, + L = 0, + C = 0, + P = 0, + O = 0, + I = 1, + D = 1, + z = null, + R = n.Z, + F = null, + B = s.Z, + N = 0.5; + function j(t) { + return _(t[0] * l.uR, t[1] * l.uR); + } + function U(t) { + return ( + (t = _.invert(t[0], t[1])) && [t[0] * l.RW, t[1] * l.RW] + ); + } + function V() { + var t = y(k, 0, 0, I, D, O).apply(null, e(S, E)), + n = (O ? y : g)(k, A - t[0], M - t[1], I, D, O); + return ( + (r = (0, u.I)(L, C, P)), + (b = (0, o.Z)(e, n)), + (_ = (0, o.Z)(r, b)), + (x = d(b, N)), + H() + ); + } + function H() { + return (w = T = null), j; + } + return ( + (j.stream = function (t) { + return w && T === t + ? w + : (w = v( + (function (t) { + return (0, c.l)({ + point: function (e, r) { + var n = t(e, r); + return this.stream.point(n[0], n[1]); + }, + }); + })(r)(R(x(B((T = t))))), + )); + }), + (j.preclip = function (t) { + return arguments.length + ? ((R = t), (z = void 0), H()) + : R; + }), + (j.postclip = function (t) { + return arguments.length + ? ((B = t), (F = h = p = m = null), H()) + : B; + }), + (j.clipAngle = function (t) { + return arguments.length + ? ((R = +t + ? (0, i.Z)((z = t * l.uR)) + : ((z = null), n.Z)), + H()) + : z * l.RW; + }), + (j.clipExtent = function (t) { + return arguments.length + ? ((B = + null == t + ? ((F = h = p = m = null), s.Z) + : (0, a.Z)( + (F = +t[0][0]), + (h = +t[0][1]), + (p = +t[1][0]), + (m = +t[1][1]), + )), + H()) + : null == F + ? null + : [ + [F, h], + [p, m], + ]; + }), + (j.scale = function (t) { + return arguments.length ? ((k = +t), V()) : k; + }), + (j.translate = function (t) { + return arguments.length + ? ((A = +t[0]), (M = +t[1]), V()) + : [A, M]; + }), + (j.center = function (t) { + return arguments.length + ? ((S = (t[0] % 360) * l.uR), + (E = (t[1] % 360) * l.uR), + V()) + : [S * l.RW, E * l.RW]; + }), + (j.rotate = function (t) { + return arguments.length + ? ((L = (t[0] % 360) * l.uR), + (C = (t[1] % 360) * l.uR), + (P = t.length > 2 ? (t[2] % 360) * l.uR : 0), + V()) + : [L * l.RW, C * l.RW, P * l.RW]; + }), + (j.angle = function (t) { + return arguments.length + ? ((O = (t % 360) * l.uR), V()) + : O * l.RW; + }), + (j.reflectX = function (t) { + return arguments.length + ? ((I = t ? -1 : 1), V()) + : I < 0; + }), + (j.reflectY = function (t) { + return arguments.length + ? ((D = t ? -1 : 1), V()) + : D < 0; + }), + (j.precision = function (t) { + return arguments.length + ? ((x = d(b, (N = t * t))), H()) + : (0, l._b)(N); + }), + (j.fitExtent = function (t, e) { + return (0, f.qg)(j, t, e); + }), + (j.fitSize = function (t, e) { + return (0, f.mF)(j, t, e); + }), + (j.fitWidth = function (t, e) { + return (0, f.V6)(j, t, e); + }), + (j.fitHeight = function (t, e) { + return (0, f.rf)(j, t, e); + }), + function () { + return ( + (e = t.apply(this, arguments)), + (j.invert = e.invert && U), + V() + ); + } + ); + } + }, + 26867: function (t, e, r) { + "use strict"; + r.d(e, { + K: function () { + return a; + }, + Z: function () { + return o; + }, + }); + var n = r(15002), + i = r(39695); + function a(t, e) { + var r = e * e, + n = r * r; + return [ + t * + (0.8707 - + 0.131979 * r + + n * (n * (0.003971 * r - 0.001529 * n) - 0.013791)), + e * + (1.007226 + + r * + (0.015085 + + n * (0.028874 * r - 0.044475 - 0.005916 * n))), + ]; + } + function o() { + return (0, n.Z)(a).scale(175.295); + } + a.invert = function (t, e) { + var r, + n = e, + a = 25; + do { + var o = n * n, + s = o * o; + n -= r = + (n * + (1.007226 + + o * + (0.015085 + + s * (0.028874 * o - 0.044475 - 0.005916 * s))) - + e) / + (1.007226 + + o * + (0.045255 + + s * + (0.259866 * o - 0.311325 - 0.005916 * 11 * s))); + } while ((0, i.Wn)(r) > i.Ho && --a > 0); + return [ + t / + (0.8707 + + (o = n * n) * + (o * + (o * o * o * (0.003971 - 0.001529 * o) - + 0.013791) - + 0.131979)), + n, + ]; + }; + }, + 57962: function (t, e, r) { + "use strict"; + r.d(e, { + I: function () { + return o; + }, + Z: function () { + return s; + }, + }); + var n = r(39695), + i = r(25382), + a = r(15002); + function o(t, e) { + return [(0, n.mC)(e) * (0, n.O$)(t), (0, n.O$)(e)]; + } + function s() { + return (0, a.Z)(o) + .scale(249.5) + .clipAngle(90 + n.Ho); + } + o.invert = (0, i.O)(n.ZR); + }, + 49386: function (t, e, r) { + "use strict"; + r.d(e, { + I: function () { + return o; + }, + Z: function () { + return c; + }, + }); + var n = r(96059), + i = r(39695); + function a(t, e) { + return [ + (0, i.Wn)(t) > i.pi + ? t + Math.round(-t / i.BZ) * i.BZ + : t, + e, + ]; + } + function o(t, e, r) { + return (t %= i.BZ) + ? e || r + ? (0, n.Z)(l(t), u(e, r)) + : l(t) + : e || r + ? u(e, r) + : a; + } + function s(t) { + return function (e, r) { + return [ + (e += t) > i.pi ? e - i.BZ : e < -i.pi ? e + i.BZ : e, + r, + ]; + }; + } + function l(t) { + var e = s(t); + return (e.invert = s(-t)), e; + } + function u(t, e) { + var r = (0, i.mC)(t), + n = (0, i.O$)(t), + a = (0, i.mC)(e), + o = (0, i.O$)(e); + function s(t, e) { + var s = (0, i.mC)(e), + l = (0, i.mC)(t) * s, + u = (0, i.O$)(t) * s, + c = (0, i.O$)(e), + f = c * r + l * n; + return [ + (0, i.fv)(u * a - f * o, l * r - c * n), + (0, i.ZR)(f * a + u * o), + ]; + } + return ( + (s.invert = function (t, e) { + var s = (0, i.mC)(e), + l = (0, i.mC)(t) * s, + u = (0, i.O$)(t) * s, + c = (0, i.O$)(e), + f = c * a - u * o; + return [ + (0, i.fv)(u * a + c * o, l * r + f * n), + (0, i.ZR)(f * r - l * n), + ]; + }), + s + ); + } + function c(t) { + function e(e) { + return ( + ((e = t(e[0] * i.uR, e[1] * i.uR))[0] *= i.RW), + (e[1] *= i.RW), + e + ); + } + return ( + (t = o( + t[0] * i.uR, + t[1] * i.uR, + t.length > 2 ? t[2] * i.uR : 0, + )), + (e.invert = function (e) { + return ( + ((e = t.invert(e[0] * i.uR, e[1] * i.uR))[0] *= i.RW), + (e[1] *= i.RW), + e + ); + }), + e + ); + } + a.invert = a; + }, + 72736: function (t, e, r) { + "use strict"; + function n(t, e) { + t && a.hasOwnProperty(t.type) && a[t.type](t, e); + } + r.d(e, { + Z: function () { + return l; + }, + }); + var i = { + Feature: function (t, e) { + n(t.geometry, e); + }, + FeatureCollection: function (t, e) { + for ( + var r = t.features, i = -1, a = r.length; + ++i < a; + + ) + n(r[i].geometry, e); + }, + }, + a = { + 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) { + o(t.coordinates, e, 0); + }, + MultiLineString: function (t, e) { + for ( + var r = t.coordinates, n = -1, i = r.length; + ++n < i; + + ) + o(r[n], e, 0); + }, + Polygon: function (t, e) { + s(t.coordinates, e); + }, + MultiPolygon: function (t, e) { + for ( + var r = t.coordinates, n = -1, i = r.length; + ++n < i; + + ) + s(r[n], e); + }, + GeometryCollection: function (t, e) { + for ( + var r = t.geometries, i = -1, a = r.length; + ++i < a; + + ) + n(r[i], e); + }, + }; + function o(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 s(t, e) { + var r = -1, + n = t.length; + for (e.polygonStart(); ++r < n; ) o(t[r], e, 1); + e.polygonEnd(); + } + function l(t, e) { + t && i.hasOwnProperty(t.type) ? i[t.type](t, e) : n(t, e); + } + }, + 64684: function (t, e, r) { + "use strict"; + function n(t) { + return { stream: i(t) }; + } + function i(t) { + return function (e) { + var r = new a(); + for (var n in t) r[n] = t[n]; + return (r.stream = e), r; + }; + } + function a() {} + r.d(e, { + Z: function () { + return n; + }, + l: function () { + return i; + }, + }), + (a.prototype = { + constructor: a, + 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(); + }, + }); + }, + 674: function (t, e, r) { + "use strict"; + function n(t, e) { + return t.parent === e.parent ? 1 : 2; + } + function i(t, e) { + return t + e.x; + } + function a(t, e) { + return Math.max(t, e.y); + } + function o() { + var t = n, + e = 1, + r = 1, + o = !1; + function s(n) { + var s, + l = 0; + n.eachAfter(function (e) { + var r = e.children; + r + ? ((e.x = (function (t) { + return t.reduce(i, 0) / t.length; + })(r)), + (e.y = (function (t) { + return 1 + t.reduce(a, 0); + })(r))) + : ((e.x = s ? (l += t(e, s)) : 0), + (e.y = 0), + (s = e)); + }); + var u = (function (t) { + for (var e; (e = t.children); ) t = e[0]; + return t; + })(n), + c = (function (t) { + for (var e; (e = t.children); ) t = e[e.length - 1]; + return t; + })(n), + f = u.x - t(u, c) / 2, + h = c.x + t(c, u) / 2; + return n.eachAfter( + o + ? function (t) { + (t.x = (t.x - n.x) * e), (t.y = (n.y - t.y) * r); + } + : function (t) { + (t.x = ((t.x - f) / (h - f)) * e), + (t.y = (1 - (n.y ? t.y / n.y : 1)) * r); + }, + ); + } + return ( + (s.separation = function (e) { + return arguments.length ? ((t = e), s) : t; + }), + (s.size = function (t) { + return arguments.length + ? ((o = !1), (e = +t[0]), (r = +t[1]), s) + : o + ? null + : [e, r]; + }), + (s.nodeSize = function (t) { + return arguments.length + ? ((o = !0), (e = +t[0]), (r = +t[1]), s) + : o + ? [e, r] + : null; + }), + s + ); + } + function s(t) { + var e = 0, + r = t.children, + n = r && r.length; + if (n) for (; --n >= 0; ) e += r[n].value; + else e = 1; + t.value = e; + } + function l(t, e) { + var r, + n, + i, + a, + o, + s = new h(t), + l = +t.value && (s.value = t.value), + c = [s]; + for (null == e && (e = u); (r = c.pop()); ) + if ( + (l && (r.value = +r.data.value), + (i = e(r.data)) && (o = i.length)) + ) + for (r.children = new Array(o), a = o - 1; a >= 0; --a) + c.push((n = r.children[a] = new h(i[a]))), + (n.parent = r), + (n.depth = r.depth + 1); + return s.eachBefore(f); + } + function u(t) { + return t.children; + } + function c(t) { + t.data = t.data.data; + } + function f(t) { + var e = 0; + do { + t.height = e; + } while ((t = t.parent) && t.height < ++e); + } + function h(t) { + (this.data = t), + (this.depth = this.height = 0), + (this.parent = null); + } + r.r(e), + r.d(e, { + cluster: function () { + return o; + }, + hierarchy: function () { + return l; + }, + pack: function () { + return I; + }, + packEnclose: function () { + return d; + }, + packSiblings: function () { + return S; + }, + partition: function () { + return N; + }, + stratify: function () { + return q; + }, + tree: function () { + return K; + }, + treemap: function () { + return rt; + }, + treemapBinary: function () { + return nt; + }, + treemapDice: function () { + return B; + }, + treemapResquarify: function () { + return at; + }, + treemapSlice: function () { + return $; + }, + treemapSliceDice: function () { + return it; + }, + treemapSquarify: function () { + return et; + }, + }), + (h.prototype = l.prototype = + { + constructor: h, + count: function () { + return this.eachAfter(s); + }, + each: function (t) { + var e, + r, + n, + i, + a = this, + o = [a]; + do { + for (e = o.reverse(), o = []; (a = e.pop()); ) + if ((t(a), (r = a.children))) + for (n = 0, i = r.length; n < i; ++n) + o.push(r[n]); + } while (o.length); + return this; + }, + eachAfter: function (t) { + for ( + var e, r, n, i = this, a = [i], o = []; + (i = a.pop()); + + ) + if ((o.push(i), (e = i.children))) + for (r = 0, n = e.length; r < n; ++r) + a.push(e[r]); + for (; (i = o.pop()); ) t(i); + return this; + }, + eachBefore: function (t) { + for (var e, r, n = this, i = [n]; (n = i.pop()); ) + if ((t(n), (e = n.children))) + for (r = e.length - 1; r >= 0; --r) i.push(e[r]); + return this; + }, + sum: function (t) { + return this.eachAfter(function (e) { + for ( + var r = +t(e.data) || 0, + n = e.children, + i = n && n.length; + --i >= 0; + + ) + r += n[i].value; + e.value = r; + }); + }, + sort: function (t) { + return this.eachBefore(function (e) { + e.children && e.children.sort(t); + }); + }, + path: function (t) { + for ( + var e = this, + r = (function (t, e) { + if (t === e) return t; + var r = t.ancestors(), + n = e.ancestors(), + i = null; + for (t = r.pop(), e = n.pop(); t === e; ) + (i = t), (t = r.pop()), (e = n.pop()); + return i; + })(e, t), + n = [e]; + e !== r; + + ) + (e = e.parent), n.push(e); + for (var i = n.length; t !== r; ) + n.splice(i, 0, t), (t = t.parent); + return n; + }, + ancestors: function () { + for (var t = this, e = [t]; (t = t.parent); ) + e.push(t); + return e; + }, + descendants: function () { + var t = []; + return ( + this.each(function (e) { + t.push(e); + }), + t + ); + }, + leaves: function () { + var t = []; + return ( + this.eachBefore(function (e) { + e.children || t.push(e); + }), + t + ); + }, + links: function () { + var t = this, + e = []; + return ( + t.each(function (r) { + r !== t && + e.push({ source: r.parent, target: r }); + }), + e + ); + }, + copy: function () { + return l(this).eachBefore(c); + }, + }); + var p = Array.prototype.slice; + function d(t) { + for ( + var e, + r, + n = 0, + i = (t = (function (t) { + for (var e, r, n = t.length; n; ) + (r = (Math.random() * n--) | 0), + (e = t[n]), + (t[n] = t[r]), + (t[r] = e); + return t; + })(p.call(t))).length, + a = []; + n < i; + + ) + (e = t[n]), + r && y(r, e) ? ++n : ((r = x((a = v(a, e)))), (n = 0)); + return r; + } + function v(t, e) { + var r, n; + if (m(e, t)) return [e]; + for (r = 0; r < t.length; ++r) + if (g(e, t[r]) && m(b(t[r], e), t)) return [t[r], e]; + for (r = 0; r < t.length - 1; ++r) + for (n = r + 1; n < t.length; ++n) + if ( + g(b(t[r], t[n]), e) && + g(b(t[r], e), t[n]) && + g(b(t[n], e), t[r]) && + m(_(t[r], t[n], e), t) + ) + return [t[r], t[n], e]; + throw new Error(); + } + function g(t, e) { + var r = t.r - e.r, + n = e.x - t.x, + i = e.y - t.y; + return r < 0 || r * r < n * n + i * i; + } + function y(t, e) { + var r = t.r - e.r + 1e-6, + n = e.x - t.x, + i = e.y - t.y; + return r > 0 && r * r > n * n + i * i; + } + function m(t, e) { + for (var r = 0; r < e.length; ++r) + if (!y(t, e[r])) return !1; + return !0; + } + function x(t) { + switch (t.length) { + case 1: + return { x: (e = t[0]).x, y: e.y, r: e.r }; + case 2: + return b(t[0], t[1]); + case 3: + return _(t[0], t[1], t[2]); + } + var e; + } + function b(t, e) { + var r = t.x, + n = t.y, + i = t.r, + a = e.x, + o = e.y, + s = e.r, + l = a - r, + u = o - n, + c = s - i, + f = Math.sqrt(l * l + u * u); + return { + x: (r + a + (l / f) * c) / 2, + y: (n + o + (u / f) * c) / 2, + r: (f + i + s) / 2, + }; + } + function _(t, e, r) { + var n = t.x, + i = t.y, + a = t.r, + o = e.x, + s = e.y, + l = e.r, + u = r.x, + c = r.y, + f = r.r, + h = n - o, + p = n - u, + d = i - s, + v = i - c, + g = l - a, + y = f - a, + m = n * n + i * i - a * a, + x = m - o * o - s * s + l * l, + b = m - u * u - c * c + f * f, + _ = p * d - h * v, + w = (d * b - v * x) / (2 * _) - n, + T = (v * g - d * y) / _, + k = (p * x - h * b) / (2 * _) - i, + A = (h * y - p * g) / _, + M = T * T + A * A - 1, + S = 2 * (a + w * T + k * A), + E = w * w + k * k - a * a, + L = -(M + ? (S + Math.sqrt(S * S - 4 * M * E)) / (2 * M) + : E / S); + return { x: n + w + T * L, y: i + k + A * L, r: L }; + } + function w(t, e, r) { + var n, + i, + a, + o, + s = t.x - e.x, + l = t.y - e.y, + u = s * s + l * l; + u + ? ((i = e.r + r.r), + (i *= i), + (o = t.r + r.r), + i > (o *= o) + ? ((n = (u + o - i) / (2 * u)), + (a = Math.sqrt(Math.max(0, o / u - n * n))), + (r.x = t.x - n * s - a * l), + (r.y = t.y - n * l + a * s)) + : ((n = (u + i - o) / (2 * u)), + (a = Math.sqrt(Math.max(0, i / u - n * n))), + (r.x = e.x + n * s - a * l), + (r.y = e.y + n * l + a * s))) + : ((r.x = e.x + r.r), (r.y = e.y)); + } + function T(t, e) { + var r = t.r + e.r - 1e-6, + n = e.x - t.x, + i = e.y - t.y; + return r > 0 && r * r > n * n + i * i; + } + function k(t) { + var e = t._, + r = t.next._, + n = e.r + r.r, + i = (e.x * r.r + r.x * e.r) / n, + a = (e.y * r.r + r.y * e.r) / n; + return i * i + a * a; + } + function A(t) { + (this._ = t), (this.next = null), (this.previous = null); + } + function M(t) { + if (!(i = t.length)) return 0; + var e, r, n, i, a, o, s, l, u, c, f; + if ((((e = t[0]).x = 0), (e.y = 0), !(i > 1))) return e.r; + if ( + ((r = t[1]), + (e.x = -r.r), + (r.x = e.r), + (r.y = 0), + !(i > 2)) + ) + return e.r + r.r; + w(r, e, (n = t[2])), + (e = new A(e)), + (r = new A(r)), + (n = new A(n)), + (e.next = n.previous = r), + (r.next = e.previous = n), + (n.next = r.previous = e); + t: for (s = 3; s < i; ++s) { + w(e._, r._, (n = t[s])), + (n = new A(n)), + (l = r.next), + (u = e.previous), + (c = r._.r), + (f = e._.r); + do { + if (c <= f) { + if (T(l._, n._)) { + (r = l), (e.next = r), (r.previous = e), --s; + continue t; + } + (c += l._.r), (l = l.next); + } else { + if (T(u._, n._)) { + ((e = u).next = r), (r.previous = e), --s; + continue t; + } + (f += u._.r), (u = u.previous); + } + } while (l !== u.next); + for ( + n.previous = e, + n.next = r, + e.next = r.previous = r = n, + a = k(e); + (n = n.next) !== r; + + ) + (o = k(n)) < a && ((e = n), (a = o)); + r = e.next; + } + for (e = [r._], n = r; (n = n.next) !== r; ) e.push(n._); + for (n = d(e), s = 0; s < i; ++s) + ((e = t[s]).x -= n.x), (e.y -= n.y); + return n.r; + } + function S(t) { + return M(t), t; + } + function E(t) { + return null == t ? null : L(t); + } + function L(t) { + if ("function" != typeof t) throw new Error(); + return t; + } + function C() { + return 0; + } + function P(t) { + return function () { + return t; + }; + } + function O(t) { + return Math.sqrt(t.value); + } + function I() { + var t = null, + e = 1, + r = 1, + n = C; + function i(i) { + return ( + (i.x = e / 2), + (i.y = r / 2), + t + ? i + .eachBefore(D(t)) + .eachAfter(z(n, 0.5)) + .eachBefore(R(1)) + : i + .eachBefore(D(O)) + .eachAfter(z(C, 1)) + .eachAfter(z(n, i.r / Math.min(e, r))) + .eachBefore(R(Math.min(e, r) / (2 * i.r))), + i + ); + } + return ( + (i.radius = function (e) { + return arguments.length ? ((t = E(e)), i) : t; + }), + (i.size = function (t) { + return arguments.length + ? ((e = +t[0]), (r = +t[1]), i) + : [e, r]; + }), + (i.padding = function (t) { + return arguments.length + ? ((n = "function" == typeof t ? t : P(+t)), i) + : n; + }), + i + ); + } + function D(t) { + return function (e) { + e.children || (e.r = Math.max(0, +t(e) || 0)); + }; + } + function z(t, e) { + return function (r) { + if ((n = r.children)) { + var n, + i, + a, + o = n.length, + s = t(r) * e || 0; + if (s) for (i = 0; i < o; ++i) n[i].r += s; + if (((a = M(n)), s)) + for (i = 0; i < o; ++i) n[i].r -= s; + r.r = a + s; + } + }; + } + function R(t) { + return function (e) { + var r = e.parent; + (e.r *= t), + r && ((e.x = r.x + t * e.x), (e.y = r.y + t * e.y)); + }; + } + function F(t) { + (t.x0 = Math.round(t.x0)), + (t.y0 = Math.round(t.y0)), + (t.x1 = Math.round(t.x1)), + (t.y1 = Math.round(t.y1)); + } + function B(t, e, r, n, i) { + for ( + var a, + o = t.children, + s = -1, + l = o.length, + u = t.value && (n - e) / t.value; + ++s < l; + + ) + ((a = o[s]).y0 = r), + (a.y1 = i), + (a.x0 = e), + (a.x1 = e += a.value * u); + } + function N() { + var t = 1, + e = 1, + r = 0, + n = !1; + function i(i) { + var a = i.height + 1; + return ( + (i.x0 = i.y0 = r), + (i.x1 = t), + (i.y1 = e / a), + i.eachBefore( + (function (t, e) { + return function (n) { + n.children && + B( + n, + n.x0, + (t * (n.depth + 1)) / e, + n.x1, + (t * (n.depth + 2)) / e, + ); + var i = n.x0, + a = n.y0, + o = n.x1 - r, + s = n.y1 - r; + o < i && (i = o = (i + o) / 2), + s < a && (a = s = (a + s) / 2), + (n.x0 = i), + (n.y0 = a), + (n.x1 = o), + (n.y1 = s); + }; + })(e, a), + ), + n && i.eachBefore(F), + i + ); + } + return ( + (i.round = function (t) { + return arguments.length ? ((n = !!t), i) : n; + }), + (i.size = function (r) { + return arguments.length + ? ((t = +r[0]), (e = +r[1]), i) + : [t, e]; + }), + (i.padding = function (t) { + return arguments.length ? ((r = +t), i) : r; + }), + i + ); + } + var j = { depth: -1 }, + U = {}; + function V(t) { + return t.id; + } + function H(t) { + return t.parentId; + } + function q() { + var t = V, + e = H; + function r(r) { + var n, + i, + a, + o, + s, + l, + u, + c = r.length, + p = new Array(c), + d = {}; + for (i = 0; i < c; ++i) + (n = r[i]), + (s = p[i] = new h(n)), + null != (l = t(n, i, r)) && + (l += "") && + (d[(u = "$" + (s.id = l))] = u in d ? U : s); + for (i = 0; i < c; ++i) + if ( + ((s = p[i]), null != (l = e(r[i], i, r)) && (l += "")) + ) { + if (!(o = d["$" + l])) + throw new Error("missing: " + l); + if (o === U) throw new Error("ambiguous: " + l); + o.children ? o.children.push(s) : (o.children = [s]), + (s.parent = o); + } else { + if (a) throw new Error("multiple roots"); + a = s; + } + if (!a) throw new Error("no root"); + if ( + ((a.parent = j), + a + .eachBefore(function (t) { + (t.depth = t.parent.depth + 1), --c; + }) + .eachBefore(f), + (a.parent = null), + c > 0) + ) + throw new Error("cycle"); + return a; + } + return ( + (r.id = function (e) { + return arguments.length ? ((t = L(e)), r) : t; + }), + (r.parentId = function (t) { + return arguments.length ? ((e = L(t)), r) : e; + }), + r + ); + } + function G(t, e) { + return t.parent === e.parent ? 1 : 2; + } + function Z(t) { + var e = t.children; + return e ? e[0] : t.t; + } + function Y(t) { + var e = t.children; + return e ? e[e.length - 1] : t.t; + } + function W(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 X(t, e, r) { + return t.a.parent === e.parent ? t.a : r; + } + function J(t, e) { + (this._ = t), + (this.parent = null), + (this.children = null), + (this.A = null), + (this.a = this), + (this.z = 0), + (this.m = 0), + (this.c = 0), + (this.s = 0), + (this.t = null), + (this.i = e); + } + function K() { + var t = G, + e = 1, + r = 1, + n = null; + function i(i) { + var l = (function (t) { + for ( + var e, r, n, i, a, o = new J(t, 0), s = [o]; + (e = s.pop()); + + ) + if ((n = e._.children)) + for ( + e.children = new Array((a = n.length)), i = a - 1; + i >= 0; + --i + ) + s.push((r = e.children[i] = new J(n[i], i))), + (r.parent = e); + return ((o.parent = new J(null, 0)).children = [o]), o; + })(i); + if ( + (l.eachAfter(a), + (l.parent.m = -l.z), + l.eachBefore(o), + n) + ) + i.eachBefore(s); + else { + var u = i, + c = i, + f = i; + i.eachBefore(function (t) { + t.x < u.x && (u = t), + t.x > c.x && (c = t), + t.depth > f.depth && (f = t); + }); + var h = u === c ? 1 : t(u, c) / 2, + p = h - u.x, + d = e / (c.x + h + p), + v = r / (f.depth || 1); + i.eachBefore(function (t) { + (t.x = (t.x + p) * d), (t.y = t.depth * v); + }); + } + return i; + } + function a(e) { + var r = e.children, + n = e.parent.children, + i = e.i ? n[e.i - 1] : null; + if (r) { + !(function (t) { + for ( + var e, r = 0, n = 0, i = t.children, a = i.length; + --a >= 0; + + ) + ((e = i[a]).z += r), + (e.m += r), + (r += e.s + (n += e.c)); + })(e); + var a = (r[0].z + r[r.length - 1].z) / 2; + i + ? ((e.z = i.z + t(e._, i._)), (e.m = e.z - a)) + : (e.z = a); + } else i && (e.z = i.z + t(e._, i._)); + e.parent.A = (function (e, r, n) { + if (r) { + for ( + var i, + a = e, + o = e, + s = r, + l = a.parent.children[0], + u = a.m, + c = o.m, + f = s.m, + h = l.m; + (s = Y(s)), (a = Z(a)), s && a; + + ) + (l = Z(l)), + ((o = Y(o)).a = e), + (i = s.z + f - a.z - u + t(s._, a._)) > 0 && + (W(X(s, e, n), e, i), (u += i), (c += i)), + (f += s.m), + (u += a.m), + (h += l.m), + (c += o.m); + s && !Y(o) && ((o.t = s), (o.m += f - c)), + a && !Z(l) && ((l.t = a), (l.m += u - h), (n = e)); + } + return n; + })(e, i, e.parent.A || n[0]); + } + function o(t) { + (t._.x = t.z + t.parent.m), (t.m += t.parent.m); + } + function s(t) { + (t.x *= e), (t.y = t.depth * r); + } + return ( + (i.separation = function (e) { + return arguments.length ? ((t = e), i) : t; + }), + (i.size = function (t) { + return arguments.length + ? ((n = !1), (e = +t[0]), (r = +t[1]), i) + : n + ? null + : [e, r]; + }), + (i.nodeSize = function (t) { + return arguments.length + ? ((n = !0), (e = +t[0]), (r = +t[1]), i) + : n + ? [e, r] + : null; + }), + i + ); + } + function $(t, e, r, n, i) { + for ( + var a, + o = t.children, + s = -1, + l = o.length, + u = t.value && (i - r) / t.value; + ++s < l; + + ) + ((a = o[s]).x0 = e), + (a.x1 = n), + (a.y0 = r), + (a.y1 = r += a.value * u); + } + J.prototype = Object.create(h.prototype); + var Q = (1 + Math.sqrt(5)) / 2; + function tt(t, e, r, n, i, a) { + for ( + var o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y = [], + m = e.children, + x = 0, + b = 0, + _ = m.length, + w = e.value; + x < _; + + ) { + (l = i - r), (u = a - n); + do { + c = m[b++].value; + } while (!c && b < _); + for ( + f = h = c, + g = c * c * (v = Math.max(u / l, l / u) / (w * t)), + d = Math.max(h / g, g / f); + b < _; + ++b + ) { + if ( + ((c += s = m[b].value), + s < f && (f = s), + s > h && (h = s), + (g = c * c * v), + (p = Math.max(h / g, g / f)) > d) + ) { + c -= s; + break; + } + d = p; + } + y.push( + (o = { + value: c, + dice: l < u, + children: m.slice(x, b), + }), + ), + o.dice + ? B(o, r, n, i, w ? (n += (u * c) / w) : a) + : $(o, r, n, w ? (r += (l * c) / w) : i, a), + (w -= c), + (x = b); + } + return y; + } + var et = (function t(e) { + function r(t, r, n, i, a) { + tt(e, t, r, n, i, a); + } + return ( + (r.ratio = function (e) { + return t((e = +e) > 1 ? e : 1); + }), + r + ); + })(Q); + function rt() { + var t = et, + e = !1, + r = 1, + n = 1, + i = [0], + a = C, + o = C, + s = C, + l = C, + u = C; + function c(t) { + return ( + (t.x0 = t.y0 = 0), + (t.x1 = r), + (t.y1 = n), + t.eachBefore(f), + (i = [0]), + e && t.eachBefore(F), + t + ); + } + function f(e) { + var r = i[e.depth], + n = e.x0 + r, + c = e.y0 + r, + f = e.x1 - r, + h = e.y1 - r; + f < n && (n = f = (n + f) / 2), + h < c && (c = h = (c + h) / 2), + (e.x0 = n), + (e.y0 = c), + (e.x1 = f), + (e.y1 = h), + e.children && + ((r = i[e.depth + 1] = a(e) / 2), + (n += u(e) - r), + (c += o(e) - r), + (f -= s(e) - r) < n && (n = f = (n + f) / 2), + (h -= l(e) - r) < c && (c = h = (c + h) / 2), + t(e, n, c, f, h)); + } + return ( + (c.round = function (t) { + return arguments.length ? ((e = !!t), c) : e; + }), + (c.size = function (t) { + return arguments.length + ? ((r = +t[0]), (n = +t[1]), c) + : [r, n]; + }), + (c.tile = function (e) { + return arguments.length ? ((t = L(e)), c) : t; + }), + (c.padding = function (t) { + return arguments.length + ? c.paddingInner(t).paddingOuter(t) + : c.paddingInner(); + }), + (c.paddingInner = function (t) { + return arguments.length + ? ((a = "function" == typeof t ? t : P(+t)), c) + : a; + }), + (c.paddingOuter = function (t) { + return arguments.length + ? c + .paddingTop(t) + .paddingRight(t) + .paddingBottom(t) + .paddingLeft(t) + : c.paddingTop(); + }), + (c.paddingTop = function (t) { + return arguments.length + ? ((o = "function" == typeof t ? t : P(+t)), c) + : o; + }), + (c.paddingRight = function (t) { + return arguments.length + ? ((s = "function" == typeof t ? t : P(+t)), c) + : s; + }), + (c.paddingBottom = function (t) { + return arguments.length + ? ((l = "function" == typeof t ? t : P(+t)), c) + : l; + }), + (c.paddingLeft = function (t) { + return arguments.length + ? ((u = "function" == typeof t ? t : P(+t)), c) + : u; + }), + c + ); + } + function nt(t, e, r, n, i) { + var a, + o, + s = t.children, + l = s.length, + u = new Array(l + 1); + for (u[0] = o = a = 0; a < l; ++a) + u[a + 1] = o += s[a].value; + !(function t(e, r, n, i, a, o, l) { + if (e >= r - 1) { + var c = s[e]; + return ( + (c.x0 = i), (c.y0 = a), (c.x1 = o), void (c.y1 = l) + ); + } + for ( + var f = u[e], h = n / 2 + f, p = e + 1, d = r - 1; + p < d; + + ) { + var v = (p + d) >>> 1; + u[v] < h ? (p = v + 1) : (d = v); + } + h - u[p - 1] < u[p] - h && e + 1 < p && --p; + var g = u[p] - f, + y = n - g; + if (o - i > l - a) { + var m = (i * y + o * g) / n; + t(e, p, g, i, a, m, l), t(p, r, y, m, a, o, l); + } else { + var x = (a * y + l * g) / n; + t(e, p, g, i, a, o, x), t(p, r, y, i, x, o, l); + } + })(0, l, t.value, e, r, n, i); + } + function it(t, e, r, n, i) { + (1 & t.depth ? $ : B)(t, e, r, n, i); + } + var at = (function t(e) { + function r(t, r, n, i, a) { + if ((o = t._squarify) && o.ratio === e) + for ( + var o, s, l, u, c, f = -1, h = o.length, p = t.value; + ++f < h; + + ) { + for ( + l = (s = o[f]).children, + u = s.value = 0, + c = l.length; + u < c; + ++u + ) + s.value += l[u].value; + s.dice + ? B(s, r, n, i, (n += ((a - n) * s.value) / p)) + : $(s, r, n, (r += ((i - r) * s.value) / p), a), + (p -= s.value); + } + else + (t._squarify = o = tt(e, t, r, n, i, a)), (o.ratio = e); + } + return ( + (r.ratio = function (e) { + return t((e = +e) > 1 ? e : 1); + }), + r + ); + })(Q); + }, + 45879: function (t, e, r) { + "use strict"; + r.d(e, { + h5: function () { + return y; + }, + }); + var n = Math.PI, + i = 2 * n, + a = 1e-6, + o = i - a; + function s() { + (this._x0 = this._y0 = this._x1 = this._y1 = null), + (this._ = ""); + } + function l() { + return new s(); + } + s.prototype = l.prototype = { + constructor: s, + moveTo: function (t, e) { + this._ += + "M" + + (this._x0 = this._x1 = +t) + + "," + + (this._y0 = this._y1 = +e); + }, + closePath: function () { + null !== this._x1 && + ((this._x1 = this._x0), + (this._y1 = this._y0), + (this._ += "Z")); + }, + lineTo: function (t, e) { + this._ += "L" + (this._x1 = +t) + "," + (this._y1 = +e); + }, + quadraticCurveTo: function (t, e, r, n) { + this._ += + "Q" + + +t + + "," + + +e + + "," + + (this._x1 = +r) + + "," + + (this._y1 = +n); + }, + bezierCurveTo: function (t, e, r, n, i, a) { + this._ += + "C" + + +t + + "," + + +e + + "," + + +r + + "," + + +n + + "," + + (this._x1 = +i) + + "," + + (this._y1 = +a); + }, + arcTo: function (t, e, r, i, o) { + (t = +t), (e = +e), (r = +r), (i = +i), (o = +o); + var s = this._x1, + l = this._y1, + u = r - t, + c = i - e, + f = s - t, + h = l - e, + p = f * f + h * h; + if (o < 0) throw new Error("negative radius: " + o); + if (null === this._x1) + this._ += "M" + (this._x1 = t) + "," + (this._y1 = e); + else if (p > a) + if (Math.abs(h * u - c * f) > a && o) { + var d = r - s, + v = i - l, + g = u * u + c * c, + y = d * d + v * v, + m = Math.sqrt(g), + x = Math.sqrt(p), + b = + o * + Math.tan( + (n - Math.acos((g + p - y) / (2 * m * x))) / 2, + ), + _ = b / x, + w = b / m; + Math.abs(_ - 1) > a && + (this._ += "L" + (t + _ * f) + "," + (e + _ * h)), + (this._ += + "A" + + o + + "," + + o + + ",0,0," + + +(h * d > f * v) + + "," + + (this._x1 = t + w * u) + + "," + + (this._y1 = e + w * c)); + } else + this._ += "L" + (this._x1 = t) + "," + (this._y1 = e); + }, + arc: function (t, e, r, s, l, u) { + (t = +t), (e = +e), (u = !!u); + var c = (r = +r) * Math.cos(s), + f = r * Math.sin(s), + h = t + c, + p = e + f, + d = 1 ^ u, + v = u ? s - l : l - s; + if (r < 0) throw new Error("negative radius: " + r); + null === this._x1 + ? (this._ += "M" + h + "," + p) + : (Math.abs(this._x1 - h) > a || + Math.abs(this._y1 - p) > a) && + (this._ += "L" + h + "," + p), + r && + (v < 0 && (v = (v % i) + i), + v > o + ? (this._ += + "A" + + r + + "," + + r + + ",0,1," + + d + + "," + + (t - c) + + "," + + (e - f) + + "A" + + r + + "," + + r + + ",0,1," + + d + + "," + + (this._x1 = h) + + "," + + (this._y1 = p)) + : v > a && + (this._ += + "A" + + r + + "," + + r + + ",0," + + +(v >= n) + + "," + + d + + "," + + (this._x1 = t + r * Math.cos(l)) + + "," + + (this._y1 = e + r * Math.sin(l)))); + }, + rect: function (t, e, r, n) { + this._ += + "M" + + (this._x0 = this._x1 = +t) + + "," + + (this._y0 = this._y1 = +e) + + "h" + + +r + + "v" + + +n + + "h" + + -r + + "Z"; + }, + toString: function () { + return this._; + }, + }; + var u = l, + c = Array.prototype.slice; + function f(t) { + return function () { + return t; + }; + } + function h(t) { + return t[0]; + } + function p(t) { + return t[1]; + } + function d(t) { + return t.source; + } + function v(t) { + return t.target; + } + function g(t, e, r, n, i) { + t.moveTo(e, r), + t.bezierCurveTo((e = (e + n) / 2), r, e, i, n, i); + } + function y() { + return (function (t) { + var e = d, + r = v, + n = h, + i = p, + a = null; + function o() { + var o, + s = c.call(arguments), + l = e.apply(this, s), + f = r.apply(this, s); + if ( + (a || (a = o = u()), + t( + a, + +n.apply(this, ((s[0] = l), s)), + +i.apply(this, s), + +n.apply(this, ((s[0] = f), s)), + +i.apply(this, s), + ), + o) + ) + return (a = null), o + "" || null; + } + return ( + (o.source = function (t) { + return arguments.length ? ((e = t), o) : e; + }), + (o.target = function (t) { + return arguments.length ? ((r = t), o) : r; + }), + (o.x = function (t) { + return arguments.length + ? ((n = "function" == typeof t ? t : f(+t)), o) + : n; + }), + (o.y = function (t) { + return arguments.length + ? ((i = "function" == typeof t ? t : f(+t)), o) + : i; + }), + (o.context = function (t) { + return arguments.length + ? ((a = null == t ? null : t), o) + : a; + }), + o + ); + })(g); + } + }, + 84096: function (t, e, r) { + "use strict"; + r.d(e, { + i$: function () { + return d; + }, + Dq: function () { + return h; + }, + g0: function () { + return v; + }, + }); + var n = r(58176), + i = r(48480), + a = r(59879), + o = r(82301), + s = r(34823), + l = r(79791); + function u(t) { + if (0 <= t.y && t.y < 100) { + var e = new Date(-1, t.m, t.d, t.H, t.M, t.S, t.L); + return e.setFullYear(t.y), e; + } + return new Date(t.y, t.m, t.d, t.H, t.M, t.S, t.L); + } + function c(t) { + if (0 <= t.y && t.y < 100) { + var e = new Date( + Date.UTC(-1, t.m, t.d, t.H, t.M, t.S, t.L), + ); + return e.setUTCFullYear(t.y), e; + } + return new Date( + Date.UTC(t.y, t.m, t.d, t.H, t.M, t.S, t.L), + ); + } + function f(t, e, r) { + return { y: t, m: e, d: r, H: 0, M: 0, S: 0, L: 0 }; + } + function h(t) { + var e = t.dateTime, + r = t.date, + s = t.time, + l = t.periods, + h = t.days, + p = t.shortDays, + d = t.months, + v = t.shortMonths, + y = w(l), + m = T(l), + x = w(h), + b = T(h), + _ = w(p), + St = T(p), + Et = w(d), + Lt = T(d), + Ct = w(v), + Pt = T(v), + Ot = { + a: function (t) { + return p[t.getDay()]; + }, + A: function (t) { + return h[t.getDay()]; + }, + b: function (t) { + return v[t.getMonth()]; + }, + B: function (t) { + return d[t.getMonth()]; + }, + c: null, + d: q, + e: q, + f: X, + H: G, + I: Z, + j: Y, + L: W, + m: J, + M: K, + p: function (t) { + return l[+(t.getHours() >= 12)]; + }, + q: function (t) { + return 1 + ~~(t.getMonth() / 3); + }, + Q: At, + s: Mt, + S: $, + u: Q, + U: tt, + V: et, + w: rt, + W: nt, + x: null, + X: null, + y: it, + Y: at, + Z: ot, + "%": kt, + }, + It = { + a: function (t) { + return p[t.getUTCDay()]; + }, + A: function (t) { + return h[t.getUTCDay()]; + }, + b: function (t) { + return v[t.getUTCMonth()]; + }, + B: function (t) { + return d[t.getUTCMonth()]; + }, + c: null, + d: st, + e: st, + f: ht, + H: lt, + I: ut, + j: ct, + L: ft, + m: pt, + M: dt, + p: function (t) { + return l[+(t.getUTCHours() >= 12)]; + }, + q: function (t) { + return 1 + ~~(t.getUTCMonth() / 3); + }, + Q: At, + s: Mt, + S: vt, + u: gt, + U: yt, + V: mt, + w: xt, + W: bt, + x: null, + X: null, + y: _t, + Y: wt, + Z: Tt, + "%": kt, + }, + Dt = { + a: function (t, e, r) { + var n = _.exec(e.slice(r)); + return n + ? ((t.w = St[n[0].toLowerCase()]), r + n[0].length) + : -1; + }, + A: function (t, e, r) { + var n = x.exec(e.slice(r)); + return n + ? ((t.w = b[n[0].toLowerCase()]), r + n[0].length) + : -1; + }, + b: function (t, e, r) { + var n = Ct.exec(e.slice(r)); + return n + ? ((t.m = Pt[n[0].toLowerCase()]), r + n[0].length) + : -1; + }, + B: function (t, e, r) { + var n = Et.exec(e.slice(r)); + return n + ? ((t.m = Lt[n[0].toLowerCase()]), r + n[0].length) + : -1; + }, + c: function (t, r, n) { + return Ft(t, e, r, n); + }, + d: D, + e: D, + f: j, + H: R, + I: R, + j: z, + L: N, + m: I, + M: F, + p: function (t, e, r) { + var n = y.exec(e.slice(r)); + return n + ? ((t.p = m[n[0].toLowerCase()]), r + n[0].length) + : -1; + }, + q: O, + Q: V, + s: H, + S: B, + u: A, + U: M, + V: S, + w: k, + W: E, + x: function (t, e, n) { + return Ft(t, r, e, n); + }, + X: function (t, e, r) { + return Ft(t, s, e, r); + }, + y: C, + Y: L, + Z: P, + "%": U, + }; + function zt(t, e) { + return function (r) { + var n, + i, + a, + o = [], + s = -1, + l = 0, + u = t.length; + for (r instanceof Date || (r = new Date(+r)); ++s < u; ) + 37 === t.charCodeAt(s) && + (o.push(t.slice(l, s)), + null != (i = g[(n = t.charAt(++s))]) + ? (n = t.charAt(++s)) + : (i = "e" === n ? " " : "0"), + (a = e[n]) && (n = a(r, i)), + o.push(n), + (l = s + 1)); + return o.push(t.slice(l, s)), o.join(""); + }; + } + function Rt(t, e) { + return function (r) { + var s, + l, + h = f(1900, void 0, 1); + if (Ft(h, t, (r += ""), 0) != r.length) return null; + if ("Q" in h) return new Date(h.Q); + if ("s" in h) + return new Date(1e3 * h.s + ("L" in h ? h.L : 0)); + if ( + (e && !("Z" in h) && (h.Z = 0), + "p" in h && (h.H = (h.H % 12) + 12 * h.p), + void 0 === h.m && (h.m = "q" in h ? h.q : 0), + "V" in h) + ) { + if (h.V < 1 || h.V > 53) return null; + "w" in h || (h.w = 1), + "Z" in h + ? ((l = (s = c(f(h.y, 0, 1))).getUTCDay()), + (s = + l > 4 || 0 === l + ? n.l6.ceil(s) + : (0, n.l6)(s)), + (s = i.Z.offset(s, 7 * (h.V - 1))), + (h.y = s.getUTCFullYear()), + (h.m = s.getUTCMonth()), + (h.d = s.getUTCDate() + ((h.w + 6) % 7))) + : ((l = (s = u(f(h.y, 0, 1))).getDay()), + (s = + l > 4 || 0 === l + ? a.wA.ceil(s) + : (0, a.wA)(s)), + (s = o.Z.offset(s, 7 * (h.V - 1))), + (h.y = s.getFullYear()), + (h.m = s.getMonth()), + (h.d = s.getDate() + ((h.w + 6) % 7))); + } else + ("W" in h || "U" in h) && + ("w" in h || + (h.w = "u" in h ? h.u % 7 : "W" in h ? 1 : 0), + (l = + "Z" in h + ? c(f(h.y, 0, 1)).getUTCDay() + : u(f(h.y, 0, 1)).getDay()), + (h.m = 0), + (h.d = + "W" in h + ? ((h.w + 6) % 7) + 7 * h.W - ((l + 5) % 7) + : h.w + 7 * h.U - ((l + 6) % 7))); + return "Z" in h + ? ((h.H += (h.Z / 100) | 0), (h.M += h.Z % 100), c(h)) + : u(h); + }; + } + function Ft(t, e, r, n) { + for ( + var i, a, o = 0, s = e.length, l = r.length; + o < s; + + ) { + if (n >= l) return -1; + if (37 === (i = e.charCodeAt(o++))) { + if ( + ((i = e.charAt(o++)), + !(a = Dt[i in g ? e.charAt(o++) : i]) || + (n = a(t, r, n)) < 0) + ) + return -1; + } else if (i != r.charCodeAt(n++)) return -1; + } + return n; + } + return ( + (Ot.x = zt(r, Ot)), + (Ot.X = zt(s, Ot)), + (Ot.c = zt(e, Ot)), + (It.x = zt(r, It)), + (It.X = zt(s, It)), + (It.c = zt(e, It)), + { + format: function (t) { + var e = zt((t += ""), Ot); + return ( + (e.toString = function () { + return t; + }), + e + ); + }, + parse: function (t) { + var e = Rt((t += ""), !1); + return ( + (e.toString = function () { + return t; + }), + e + ); + }, + utcFormat: function (t) { + var e = zt((t += ""), It); + return ( + (e.toString = function () { + return t; + }), + e + ); + }, + utcParse: function (t) { + var e = Rt((t += ""), !0); + return ( + (e.toString = function () { + return t; + }), + e + ); + }, + } + ); + } + var p, + d, + v, + g = { "-": "", _: " ", 0: "0" }, + y = /^\s*\d+/, + m = /^%/, + x = /[\\^$*+?|[\]().{}]/g; + function b(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 _(t) { + return t.replace(x, "\\$&"); + } + function w(t) { + return new RegExp("^(?:" + t.map(_).join("|") + ")", "i"); + } + function T(t) { + for (var e = {}, r = -1, n = t.length; ++r < n; ) + e[t[r].toLowerCase()] = r; + return e; + } + function k(t, e, r) { + var n = y.exec(e.slice(r, r + 1)); + return n ? ((t.w = +n[0]), r + n[0].length) : -1; + } + function A(t, e, r) { + var n = y.exec(e.slice(r, r + 1)); + return n ? ((t.u = +n[0]), r + n[0].length) : -1; + } + function M(t, e, r) { + var n = y.exec(e.slice(r, r + 2)); + return n ? ((t.U = +n[0]), r + n[0].length) : -1; + } + function S(t, e, r) { + var n = y.exec(e.slice(r, r + 2)); + return n ? ((t.V = +n[0]), r + n[0].length) : -1; + } + function E(t, e, r) { + var n = y.exec(e.slice(r, r + 2)); + return n ? ((t.W = +n[0]), r + n[0].length) : -1; + } + function L(t, e, r) { + var n = y.exec(e.slice(r, r + 4)); + return n ? ((t.y = +n[0]), r + n[0].length) : -1; + } + function C(t, e, r) { + var n = y.exec(e.slice(r, r + 2)); + return n + ? ((t.y = +n[0] + (+n[0] > 68 ? 1900 : 2e3)), + r + n[0].length) + : -1; + } + function P(t, e, r) { + var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec( + e.slice(r, r + 6), + ); + return n + ? ((t.Z = n[1] ? 0 : -(n[2] + (n[3] || "00"))), + r + n[0].length) + : -1; + } + function O(t, e, r) { + var n = y.exec(e.slice(r, r + 1)); + return n ? ((t.q = 3 * n[0] - 3), r + n[0].length) : -1; + } + function I(t, e, r) { + var n = y.exec(e.slice(r, r + 2)); + return n ? ((t.m = n[0] - 1), r + n[0].length) : -1; + } + function D(t, e, r) { + var n = y.exec(e.slice(r, r + 2)); + return n ? ((t.d = +n[0]), r + n[0].length) : -1; + } + function z(t, e, r) { + var n = y.exec(e.slice(r, r + 3)); + return n ? ((t.m = 0), (t.d = +n[0]), r + n[0].length) : -1; + } + function R(t, e, r) { + var n = y.exec(e.slice(r, r + 2)); + return n ? ((t.H = +n[0]), r + n[0].length) : -1; + } + function F(t, e, r) { + var n = y.exec(e.slice(r, r + 2)); + return n ? ((t.M = +n[0]), r + n[0].length) : -1; + } + function B(t, e, r) { + var n = y.exec(e.slice(r, r + 2)); + return n ? ((t.S = +n[0]), r + n[0].length) : -1; + } + function N(t, e, r) { + var n = y.exec(e.slice(r, r + 3)); + return n ? ((t.L = +n[0]), r + n[0].length) : -1; + } + function j(t, e, r) { + var n = y.exec(e.slice(r, r + 6)); + return n + ? ((t.L = Math.floor(n[0] / 1e3)), r + n[0].length) + : -1; + } + function U(t, e, r) { + var n = m.exec(e.slice(r, r + 1)); + return n ? r + n[0].length : -1; + } + function V(t, e, r) { + var n = y.exec(e.slice(r)); + return n ? ((t.Q = +n[0]), r + n[0].length) : -1; + } + function H(t, e, r) { + var n = y.exec(e.slice(r)); + return n ? ((t.s = +n[0]), r + n[0].length) : -1; + } + function q(t, e) { + return b(t.getDate(), e, 2); + } + function G(t, e) { + return b(t.getHours(), e, 2); + } + function Z(t, e) { + return b(t.getHours() % 12 || 12, e, 2); + } + function Y(t, e) { + return b(1 + o.Z.count((0, s.Z)(t), t), e, 3); + } + function W(t, e) { + return b(t.getMilliseconds(), e, 3); + } + function X(t, e) { + return W(t, e) + "000"; + } + function J(t, e) { + return b(t.getMonth() + 1, e, 2); + } + function K(t, e) { + return b(t.getMinutes(), e, 2); + } + function $(t, e) { + return b(t.getSeconds(), e, 2); + } + function Q(t) { + var e = t.getDay(); + return 0 === e ? 7 : e; + } + function tt(t, e) { + return b(a.OM.count((0, s.Z)(t) - 1, t), e, 2); + } + function et(t, e) { + var r = t.getDay(); + return ( + (t = r >= 4 || 0 === r ? (0, a.bL)(t) : a.bL.ceil(t)), + b( + a.bL.count((0, s.Z)(t), t) + + (4 === (0, s.Z)(t).getDay()), + e, + 2, + ) + ); + } + function rt(t) { + return t.getDay(); + } + function nt(t, e) { + return b(a.wA.count((0, s.Z)(t) - 1, t), e, 2); + } + function it(t, e) { + return b(t.getFullYear() % 100, e, 2); + } + function at(t, e) { + return b(t.getFullYear() % 1e4, e, 4); + } + function ot(t) { + var e = t.getTimezoneOffset(); + return ( + (e > 0 ? "-" : ((e *= -1), "+")) + + b((e / 60) | 0, "0", 2) + + b(e % 60, "0", 2) + ); + } + function st(t, e) { + return b(t.getUTCDate(), e, 2); + } + function lt(t, e) { + return b(t.getUTCHours(), e, 2); + } + function ut(t, e) { + return b(t.getUTCHours() % 12 || 12, e, 2); + } + function ct(t, e) { + return b(1 + i.Z.count((0, l.Z)(t), t), e, 3); + } + function ft(t, e) { + return b(t.getUTCMilliseconds(), e, 3); + } + function ht(t, e) { + return ft(t, e) + "000"; + } + function pt(t, e) { + return b(t.getUTCMonth() + 1, e, 2); + } + function dt(t, e) { + return b(t.getUTCMinutes(), e, 2); + } + function vt(t, e) { + return b(t.getUTCSeconds(), e, 2); + } + function gt(t) { + var e = t.getUTCDay(); + return 0 === e ? 7 : e; + } + function yt(t, e) { + return b(n.Ox.count((0, l.Z)(t) - 1, t), e, 2); + } + function mt(t, e) { + var r = t.getUTCDay(); + return ( + (t = r >= 4 || 0 === r ? (0, n.hB)(t) : n.hB.ceil(t)), + b( + n.hB.count((0, l.Z)(t), t) + + (4 === (0, l.Z)(t).getUTCDay()), + e, + 2, + ) + ); + } + function xt(t) { + return t.getUTCDay(); + } + function bt(t, e) { + return b(n.l6.count((0, l.Z)(t) - 1, t), e, 2); + } + function _t(t, e) { + return b(t.getUTCFullYear() % 100, e, 2); + } + function wt(t, e) { + return b(t.getUTCFullYear() % 1e4, e, 4); + } + function Tt() { + return "+0000"; + } + function kt() { + return "%"; + } + function At(t) { + return +t; + } + function Mt(t) { + return Math.floor(+t / 1e3); + } + (p = h({ + dateTime: "%x, %X", + date: "%-m/%-d/%Y", + time: "%-I:%M:%S %p", + 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", + ], + })), + (d = p.format), + p.parse, + (v = p.utcFormat), + p.utcParse; + }, + 82301: function (t, e, r) { + "use strict"; + r.d(e, { + a: function () { + return o; + }, + }); + var n = r(30052), + i = r(54263), + a = (0, n.Z)( + function (t) { + t.setHours(0, 0, 0, 0); + }, + function (t, e) { + t.setDate(t.getDate() + e); + }, + function (t, e) { + return ( + (e - + t - + (e.getTimezoneOffset() - t.getTimezoneOffset()) * + i.yB) / + i.UD + ); + }, + function (t) { + return t.getDate() - 1; + }, + ); + e.Z = a; + var o = a.range; + }, + 54263: function (t, e, r) { + "use strict"; + r.d(e, { + UD: function () { + return o; + }, + Y2: function () { + return a; + }, + Ym: function () { + return n; + }, + iM: function () { + return s; + }, + yB: function () { + return i; + }, + }); + var n = 1e3, + i = 6e4, + a = 36e5, + o = 864e5, + s = 6048e5; + }, + 81041: function (t, e, r) { + "use strict"; + r.r(e), + r.d(e, { + timeDay: function () { + return y.Z; + }, + timeDays: function () { + return y.a; + }, + timeFriday: function () { + return m.mC; + }, + timeFridays: function () { + return m.b$; + }, + timeHour: function () { + return v; + }, + timeHours: function () { + return g; + }, + timeInterval: function () { + return n.Z; + }, + timeMillisecond: function () { + return a; + }, + timeMilliseconds: function () { + return o; + }, + timeMinute: function () { + return h; + }, + timeMinutes: function () { + return p; + }, + timeMonday: function () { + return m.wA; + }, + timeMondays: function () { + return m.bJ; + }, + timeMonth: function () { + return b; + }, + timeMonths: function () { + return _; + }, + timeSaturday: function () { + return m.EY; + }, + timeSaturdays: function () { + return m.Ff; + }, + timeSecond: function () { + return u; + }, + timeSeconds: function () { + return c; + }, + timeSunday: function () { + return m.OM; + }, + timeSundays: function () { + return m.vm; + }, + timeThursday: function () { + return m.bL; + }, + timeThursdays: function () { + return m.$t; + }, + timeTuesday: function () { + return m.sy; + }, + timeTuesdays: function () { + return m.aU; + }, + timeWednesday: function () { + return m.zg; + }, + timeWednesdays: function () { + return m.Ld; + }, + timeWeek: function () { + return m.OM; + }, + timeWeeks: function () { + return m.vm; + }, + timeYear: function () { + return w.Z; + }, + timeYears: function () { + return w.g; + }, + utcDay: function () { + return L.Z; + }, + utcDays: function () { + return L.y; + }, + utcFriday: function () { + return C.QQ; + }, + utcFridays: function () { + return C.fz; + }, + utcHour: function () { + return S; + }, + utcHours: function () { + return E; + }, + utcMillisecond: function () { + return a; + }, + utcMilliseconds: function () { + return o; + }, + utcMinute: function () { + return k; + }, + utcMinutes: function () { + return A; + }, + utcMonday: function () { + return C.l6; + }, + utcMondays: function () { + return C.$3; + }, + utcMonth: function () { + return O; + }, + utcMonths: function () { + return I; + }, + utcSaturday: function () { + return C.g4; + }, + utcSaturdays: function () { + return C.Q_; + }, + utcSecond: function () { + return u; + }, + utcSeconds: function () { + return c; + }, + utcSunday: function () { + return C.Ox; + }, + utcSundays: function () { + return C.SU; + }, + utcThursday: function () { + return C.hB; + }, + utcThursdays: function () { + return C.xj; + }, + utcTuesday: function () { + return C.J1; + }, + utcTuesdays: function () { + return C.DK; + }, + utcWednesday: function () { + return C.b3; + }, + utcWednesdays: function () { + return C.uy; + }, + utcWeek: function () { + return C.Ox; + }, + utcWeeks: function () { + return C.SU; + }, + utcYear: function () { + return D.Z; + }, + utcYears: function () { + return D.D; + }, + }); + var n = r(30052), + i = (0, n.Z)( + function () {}, + function (t, e) { + t.setTime(+t + e); + }, + function (t, e) { + return e - t; + }, + ); + i.every = function (t) { + return ( + (t = Math.floor(t)), + isFinite(t) && t > 0 + ? t > 1 + ? (0, n.Z)( + function (e) { + e.setTime(Math.floor(e / t) * t); + }, + function (e, r) { + e.setTime(+e + r * t); + }, + function (e, r) { + return (r - e) / t; + }, + ) + : i + : null + ); + }; + var a = i, + o = i.range, + s = r(54263), + l = (0, n.Z)( + function (t) { + t.setTime(t - t.getMilliseconds()); + }, + function (t, e) { + t.setTime(+t + e * s.Ym); + }, + function (t, e) { + return (e - t) / s.Ym; + }, + function (t) { + return t.getUTCSeconds(); + }, + ), + u = l, + c = l.range, + f = (0, n.Z)( + function (t) { + t.setTime( + t - t.getMilliseconds() - t.getSeconds() * s.Ym, + ); + }, + function (t, e) { + t.setTime(+t + e * s.yB); + }, + function (t, e) { + return (e - t) / s.yB; + }, + function (t) { + return t.getMinutes(); + }, + ), + h = f, + p = f.range, + d = (0, n.Z)( + function (t) { + t.setTime( + t - + t.getMilliseconds() - + t.getSeconds() * s.Ym - + t.getMinutes() * s.yB, + ); + }, + function (t, e) { + t.setTime(+t + e * s.Y2); + }, + function (t, e) { + return (e - t) / s.Y2; + }, + function (t) { + return t.getHours(); + }, + ), + v = d, + g = d.range, + y = r(82301), + m = r(59879), + x = (0, n.Z)( + function (t) { + t.setDate(1), t.setHours(0, 0, 0, 0); + }, + function (t, e) { + t.setMonth(t.getMonth() + e); + }, + function (t, e) { + return ( + e.getMonth() - + t.getMonth() + + 12 * (e.getFullYear() - t.getFullYear()) + ); + }, + function (t) { + return t.getMonth(); + }, + ), + b = x, + _ = x.range, + w = r(34823), + T = (0, n.Z)( + function (t) { + t.setUTCSeconds(0, 0); + }, + function (t, e) { + t.setTime(+t + e * s.yB); + }, + function (t, e) { + return (e - t) / s.yB; + }, + function (t) { + return t.getUTCMinutes(); + }, + ), + k = T, + A = T.range, + M = (0, n.Z)( + function (t) { + t.setUTCMinutes(0, 0, 0); + }, + function (t, e) { + t.setTime(+t + e * s.Y2); + }, + function (t, e) { + return (e - t) / s.Y2; + }, + function (t) { + return t.getUTCHours(); + }, + ), + S = M, + E = M.range, + L = r(48480), + C = r(58176), + P = (0, n.Z)( + function (t) { + t.setUTCDate(1), t.setUTCHours(0, 0, 0, 0); + }, + function (t, e) { + t.setUTCMonth(t.getUTCMonth() + e); + }, + function (t, e) { + return ( + e.getUTCMonth() - + t.getUTCMonth() + + 12 * (e.getUTCFullYear() - t.getUTCFullYear()) + ); + }, + function (t) { + return t.getUTCMonth(); + }, + ), + O = P, + I = P.range, + D = r(79791); + }, + 30052: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return a; + }, + }); + var n = new Date(), + i = new Date(); + function a(t, e, r, o) { + function s(e) { + return ( + t( + (e = + 0 === arguments.length ? new Date() : new Date(+e)), + ), + e + ); + } + return ( + (s.floor = function (e) { + return t((e = new Date(+e))), e; + }), + (s.ceil = function (r) { + return t((r = new Date(r - 1))), e(r, 1), t(r), r; + }), + (s.round = function (t) { + var e = s(t), + r = s.ceil(t); + return t - e < r - t ? e : r; + }), + (s.offset = function (t, r) { + return ( + e((t = new Date(+t)), null == r ? 1 : Math.floor(r)), + t + ); + }), + (s.range = function (r, n, i) { + var a, + o = []; + if ( + ((r = s.ceil(r)), + (i = null == i ? 1 : Math.floor(i)), + !(r < n && i > 0)) + ) + return o; + do { + o.push((a = new Date(+r))), e(r, i), t(r); + } while (a < r && r < n); + return o; + }), + (s.filter = function (r) { + return a( + function (e) { + if (e >= e) for (; t(e), !r(e); ) e.setTime(e - 1); + }, + function (t, n) { + if (t >= t) + if (n < 0) + for (; ++n <= 0; ) for (; e(t, -1), !r(t); ); + else for (; --n >= 0; ) for (; e(t, 1), !r(t); ); + }, + ); + }), + r && + ((s.count = function (e, a) { + return ( + n.setTime(+e), + i.setTime(+a), + t(n), + t(i), + Math.floor(r(n, i)) + ); + }), + (s.every = function (t) { + return ( + (t = Math.floor(t)), + isFinite(t) && t > 0 + ? t > 1 + ? s.filter( + o + ? function (e) { + return o(e) % t == 0; + } + : function (e) { + return s.count(0, e) % t == 0; + }, + ) + : s + : null + ); + })), + s + ); + } + }, + 48480: function (t, e, r) { + "use strict"; + r.d(e, { + y: function () { + return o; + }, + }); + var n = r(30052), + i = r(54263), + a = (0, n.Z)( + function (t) { + t.setUTCHours(0, 0, 0, 0); + }, + function (t, e) { + t.setUTCDate(t.getUTCDate() + e); + }, + function (t, e) { + return (e - t) / i.UD; + }, + function (t) { + return t.getUTCDate() - 1; + }, + ); + e.Z = a; + var o = a.range; + }, + 58176: function (t, e, r) { + "use strict"; + r.d(e, { + $3: function () { + return d; + }, + DK: function () { + return v; + }, + J1: function () { + return l; + }, + Ox: function () { + return o; + }, + QQ: function () { + return f; + }, + Q_: function () { + return x; + }, + SU: function () { + return p; + }, + b3: function () { + return u; + }, + fz: function () { + return m; + }, + g4: function () { + return h; + }, + hB: function () { + return c; + }, + l6: function () { + return s; + }, + uy: function () { + return g; + }, + xj: function () { + return y; + }, + }); + var n = r(30052), + i = r(54263); + function a(t) { + return (0, n.Z)( + function (e) { + e.setUTCDate( + e.getUTCDate() - ((e.getUTCDay() + 7 - t) % 7), + ), + e.setUTCHours(0, 0, 0, 0); + }, + function (t, e) { + t.setUTCDate(t.getUTCDate() + 7 * e); + }, + function (t, e) { + return (e - t) / i.iM; + }, + ); + } + var o = a(0), + s = a(1), + l = a(2), + u = a(3), + c = a(4), + f = a(5), + h = a(6), + p = o.range, + d = s.range, + v = l.range, + g = u.range, + y = c.range, + m = f.range, + x = h.range; + }, + 79791: function (t, e, r) { + "use strict"; + r.d(e, { + D: function () { + return a; + }, + }); + var n = r(30052), + i = (0, n.Z)( + function (t) { + t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0); + }, + function (t, e) { + t.setUTCFullYear(t.getUTCFullYear() + e); + }, + function (t, e) { + return e.getUTCFullYear() - t.getUTCFullYear(); + }, + function (t) { + return t.getUTCFullYear(); + }, + ); + (i.every = function (t) { + return isFinite((t = Math.floor(t))) && t > 0 + ? (0, n.Z)( + function (e) { + e.setUTCFullYear( + Math.floor(e.getUTCFullYear() / t) * t, + ), + e.setUTCMonth(0, 1), + e.setUTCHours(0, 0, 0, 0); + }, + function (e, r) { + e.setUTCFullYear(e.getUTCFullYear() + r * t); + }, + ) + : null; + }), + (e.Z = i); + var a = i.range; + }, + 59879: function (t, e, r) { + "use strict"; + r.d(e, { + $t: function () { + return y; + }, + EY: function () { + return h; + }, + Ff: function () { + return x; + }, + Ld: function () { + return g; + }, + OM: function () { + return o; + }, + aU: function () { + return v; + }, + b$: function () { + return m; + }, + bJ: function () { + return d; + }, + bL: function () { + return c; + }, + mC: function () { + return f; + }, + sy: function () { + return l; + }, + vm: function () { + return p; + }, + wA: function () { + return s; + }, + zg: function () { + return u; + }, + }); + var n = r(30052), + i = r(54263); + function a(t) { + return (0, n.Z)( + function (e) { + e.setDate(e.getDate() - ((e.getDay() + 7 - t) % 7)), + e.setHours(0, 0, 0, 0); + }, + function (t, e) { + t.setDate(t.getDate() + 7 * e); + }, + function (t, e) { + return ( + (e - + t - + (e.getTimezoneOffset() - t.getTimezoneOffset()) * + i.yB) / + i.iM + ); + }, + ); + } + var o = a(0), + s = a(1), + l = a(2), + u = a(3), + c = a(4), + f = a(5), + h = a(6), + p = o.range, + d = s.range, + v = l.range, + g = u.range, + y = c.range, + m = f.range, + x = h.range; + }, + 34823: function (t, e, r) { + "use strict"; + r.d(e, { + g: function () { + return a; + }, + }); + var n = r(30052), + i = (0, n.Z)( + function (t) { + t.setMonth(0, 1), t.setHours(0, 0, 0, 0); + }, + function (t, e) { + t.setFullYear(t.getFullYear() + e); + }, + function (t, e) { + return e.getFullYear() - t.getFullYear(); + }, + function (t) { + return t.getFullYear(); + }, + ); + (i.every = function (t) { + return isFinite((t = Math.floor(t))) && t > 0 + ? (0, n.Z)( + function (e) { + e.setFullYear(Math.floor(e.getFullYear() / t) * t), + e.setMonth(0, 1), + e.setHours(0, 0, 0, 0); + }, + function (e, r) { + e.setFullYear(e.getFullYear() + r * t); + }, + ) + : null; + }), + (e.Z = i); + var a = i.range; + }, + 17045: function (t, e, r) { + "use strict"; + var n = r(8709), + i = + "function" == typeof Symbol && + "symbol" == typeof Symbol("foo"), + a = Object.prototype.toString, + o = Array.prototype.concat, + s = Object.defineProperty, + l = r(55622)(), + u = s && l, + c = function (t, e, r, n) { + if (e in t) + if (!0 === n) { + if (t[e] === r) return; + } else if ( + "function" != typeof (i = n) || + "[object Function]" !== a.call(i) || + !n() + ) + return; + var i; + u + ? s(t, e, { + configurable: !0, + enumerable: !1, + value: r, + writable: !0, + }) + : (t[e] = r); + }, + f = function (t, e) { + var r = arguments.length > 2 ? arguments[2] : {}, + a = n(e); + i && (a = o.call(a, Object.getOwnPropertySymbols(e))); + for (var s = 0; s < a.length; s += 1) + c(t, a[s], e[a[s]], r[a[s]]); + }; + (f.supportsDescriptors = !!u), (t.exports = f); + }, + 46775: function (t) { + t.exports = function () { + for (var t = 0; t < arguments.length; t++) + if (void 0 !== arguments[t]) return arguments[t]; + }; + }, + 53545: function (t) { + "use strict"; + t.exports = n; + var e = (n.canvas = + document.createElement("canvas")).getContext("2d"), + r = i([32, 126]); + function n(t, n) { + Array.isArray(t) && (t = t.join(", ")); + var a, + o = {}, + s = 16, + l = 0.05; + n && + (2 === n.length && "number" == typeof n[0] + ? (a = i(n)) + : Array.isArray(n) + ? (a = n) + : (n.o ? (a = i(n.o)) : n.pairs && (a = n.pairs), + n.fontSize && (s = n.fontSize), + null != n.threshold && (l = n.threshold))), + a || (a = r), + (e.font = s + "px " + t); + for (var u = 0; u < a.length; u++) { + var c = a[u], + f = + e.measureText(c[0]).width + e.measureText(c[1]).width, + h = e.measureText(c).width; + if (Math.abs(f - h) > s * l) { + var p = (h - f) / s; + o[c] = 1e3 * p; + } + } + return o; + } + function i(t) { + for (var e = [], r = t[0]; r <= t[1]; r++) + for ( + var n = String.fromCharCode(r), i = t[0]; + i < t[1]; + i++ + ) { + var a = n + String.fromCharCode(i); + e.push(a); + } + return e; + } + (n.createPairs = i), (n.ascii = r); + }, + 31457: function (t, e, r) { + var n = r(65185), + i = r(18625), + a = { M: "moveTo", C: "bezierCurveTo" }; + t.exports = function (t, e) { + t.beginPath(), + i(n(e)).forEach(function (e) { + var r = e[0], + n = e.slice(1); + t[a[r]].apply(t, n); + }), + t.closePath(); + }; + }, + 90660: function (t) { + t.exports = 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; + } + }; + }, + 12129: function (t) { + "use strict"; + function e(t, r, n) { + var i = 0 | t[n]; + if (i <= 0) return []; + var a, + o = new Array(i); + if (n === t.length - 1) for (a = 0; a < i; ++a) o[a] = r; + else for (a = 0; a < i; ++a) o[a] = e(t, r, n + 1); + return o; + } + t.exports = function (t, r) { + switch ((void 0 === r && (r = 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, r); + break; + case "object": + if ("number" == typeof t.length) return e(t, r, 0); + } + return []; + }; + }, + 11474: function (t) { + "use strict"; + function e(t, e, a) { + a = a || 2; + var o, + s, + l, + f, + h, + d, + v, + g = e && e.length, + y = g ? e[0] * a : t.length, + m = r(t, 0, y, a, !0), + x = []; + if (!m || m.next === m.prev) return x; + if ( + (g && + (m = (function (t, e, i, a) { + var o, + s, + l, + f = []; + for (o = 0, s = e.length; o < s; o++) + (l = r( + t, + e[o] * a, + o < s - 1 ? e[o + 1] * a : t.length, + a, + !1, + )) === l.next && (l.steiner = !0), + f.push(p(l)); + for (f.sort(u), o = 0; o < f.length; o++) + c(f[o], i), (i = n(i, i.next)); + return i; + })(t, e, m, a)), + t.length > 80 * a) + ) { + (o = l = t[0]), (s = f = t[1]); + for (var b = a; b < y; b += a) + (h = t[b]) < o && (o = h), + (d = t[b + 1]) < s && (s = d), + h > l && (l = h), + d > f && (f = d); + v = 0 !== (v = Math.max(l - o, f - s)) ? 1 / v : 0; + } + return i(m, x, a, o, s, v), x; + } + function r(t, e, r, n, i) { + var a, o; + if (i === M(t, e, r, n) > 0) + for (a = e; a < r; a += n) o = T(a, t[a], t[a + 1], o); + else + for (a = r - n; a >= e; a -= n) + o = T(a, t[a], t[a + 1], o); + return o && y(o, o.next) && (k(o), (o = o.next)), o; + } + function n(t, e) { + if (!t) return t; + e || (e = t); + var r, + n = t; + do { + if ( + ((r = !1), + n.steiner || + (!y(n, n.next) && 0 !== g(n.prev, n, n.next))) + ) + n = n.next; + else { + if ((k(n), (n = e = n.prev) === n.next)) break; + r = !0; + } + } while (r || n !== e); + return e; + } + function i(t, e, r, u, c, f, p) { + if (t) { + !p && + f && + (function (t, e, r, n) { + var i = t; + do { + null === i.z && (i.z = h(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, u, c, f); + for (var d, v, g = t; t.prev !== t.next; ) + if ( + ((d = t.prev), (v = t.next), f ? o(t, u, c, f) : a(t)) + ) + e.push(d.i / r), + e.push(t.i / r), + e.push(v.i / r), + k(t), + (t = v.next), + (g = v.next); + else if ((t = v) === g) { + p + ? 1 === p + ? i((t = s(n(t), e, r)), e, r, u, c, f, 2) + : 2 === p && l(t, e, r, u, c, f) + : i(n(t), e, r, u, c, f, 1); + break; + } + } + } + function a(t) { + var e = t.prev, + r = t, + n = t.next; + if (g(e, r, n) >= 0) return !1; + for (var i = t.next.next; i !== t.prev; ) { + if ( + d(e.x, e.y, r.x, r.y, n.x, n.y, i.x, i.y) && + g(i.prev, i, i.next) >= 0 + ) + return !1; + i = i.next; + } + return !0; + } + function o(t, e, r, n) { + var i = t.prev, + a = t, + o = t.next; + if (g(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, + f = h(s, l, e, r, n), + p = h(u, c, e, r, n), + v = t.prevZ, + y = t.nextZ; + v && v.z >= f && y && y.z <= p; + + ) { + if ( + v !== t.prev && + v !== t.next && + d(i.x, i.y, a.x, a.y, o.x, o.y, v.x, v.y) && + g(v.prev, v, v.next) >= 0 + ) + return !1; + if ( + ((v = v.prevZ), + y !== t.prev && + y !== t.next && + d(i.x, i.y, a.x, a.y, o.x, o.y, y.x, y.y) && + g(y.prev, y, y.next) >= 0) + ) + return !1; + y = y.nextZ; + } + for (; v && v.z >= f; ) { + if ( + v !== t.prev && + v !== t.next && + d(i.x, i.y, a.x, a.y, o.x, o.y, v.x, v.y) && + g(v.prev, v, v.next) >= 0 + ) + return !1; + v = v.prevZ; + } + for (; y && y.z <= p; ) { + if ( + y !== t.prev && + y !== t.next && + d(i.x, i.y, a.x, a.y, o.x, o.y, y.x, y.y) && + g(y.prev, y, y.next) >= 0 + ) + return !1; + y = y.nextZ; + } + return !0; + } + function s(t, e, r) { + var i = t; + do { + var a = i.prev, + o = i.next.next; + !y(a, o) && + m(a, i, i.next, o) && + _(a, o) && + _(o, a) && + (e.push(a.i / r), + e.push(i.i / r), + e.push(o.i / r), + k(i), + k(i.next), + (i = t = o)), + (i = i.next); + } while (i !== t); + return n(i); + } + function l(t, e, r, a, o, s) { + var l = t; + do { + for (var u = l.next.next; u !== l.prev; ) { + if (l.i !== u.i && v(l, u)) { + var c = w(l, u); + return ( + (l = n(l, l.next)), + (c = n(c, c.next)), + i(l, e, r, a, o, s), + void i(c, e, r, a, o, s) + ); + } + u = u.next; + } + l = l.next; + } while (l !== t); + } + function u(t, e) { + return t.x - e.x; + } + function c(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; + var l, + u = r, + c = r.x, + h = r.y, + p = 1 / 0; + n = r; + do { + i >= n.x && + n.x >= c && + i !== n.x && + d( + 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)), + _(n, t) && + (l < p || + (l === p && + (n.x > r.x || (n.x === r.x && f(r, n))))) && + ((r = n), (p = l))), + (n = n.next); + } while (n !== u); + return r; + })(t, e)), + e) + ) { + var r = w(e, t); + n(e, e.next), n(r, r.next); + } + } + function f(t, e) { + return g(t.prev, t, e.prev) < 0 && g(e.next, t, t.next) < 0; + } + function h(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 p(t) { + var e = t, + r = t; + do { + (e.x < r.x || (e.x === r.x && e.y < r.y)) && (r = e), + (e = e.next); + } while (e !== t); + return r; + } + function d(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 && + m(r, r.next, t, e) + ) + return !0; + r = r.next; + } while (r !== t); + return !1; + })(t, e) && + ((_(t, e) && + _(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) && + (g(t.prev, t, e.prev) || g(t, e.prev, e))) || + (y(t, e) && + g(t.prev, t, t.next) > 0 && + g(e.prev, e, e.next) > 0)) + ); + } + function g(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 m(t, e, r, n) { + var i = b(g(t, e, r)), + a = b(g(t, e, n)), + o = b(g(r, n, t)), + s = b(g(r, n, e)); + return ( + (i !== a && o !== s) || + !(0 !== i || !x(t, r, e)) || + !(0 !== a || !x(t, n, e)) || + !(0 !== o || !x(r, t, n)) || + !(0 !== s || !x(r, e, n)) + ); + } + function x(t, e, r) { + return ( + e.x <= Math.max(t.x, r.x) && + e.x >= Math.min(t.x, r.x) && + e.y <= Math.max(t.y, r.y) && + e.y >= Math.min(t.y, r.y) + ); + } + function b(t) { + return t > 0 ? 1 : t < 0 ? -1 : 0; + } + function _(t, e) { + return g(t.prev, t, t.next) < 0 + ? g(t, e, t.next) >= 0 && g(t, t.prev, e) >= 0 + : g(t, e, t.prev) < 0 || g(t, t.next, e) < 0; + } + function w(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 T(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 k(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 M(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; + } + (t.exports = e), + (t.exports.default = e), + (e.deviation = function (t, e, r, n) { + var i = e && e.length, + a = i ? e[0] * r : t.length, + o = Math.abs(M(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(M(t, u, c, r)); + } + var f = 0; + for (s = 0; s < n.length; s += 3) { + var h = n[s] * r, + p = n[s + 1] * r, + d = n[s + 2] * r; + f += Math.abs( + (t[h] - t[d]) * (t[p + 1] - t[h + 1]) - + (t[h] - t[p]) * (t[d + 1] - t[h + 1]), + ); + } + return 0 === o && 0 === f ? 0 : Math.abs((f - o) / o); + }), + (e.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; + }); + }, + 2502: function (t, e, r) { + var n = r(68664); + t.exports = function (t, e) { + var r, + i = [], + a = [], + o = [], + s = {}, + l = []; + function u(t) { + (o[t] = !1), + s.hasOwnProperty(t) && + Object.keys(s[t]).forEach(function (e) { + delete s[t][e], o[e] && u(e); + }); + } + function c(t) { + var e, + n, + i = !1; + for (a.push(t), o[t] = !0, e = 0; e < l[t].length; e++) + (n = l[t][e]) === r + ? (f(r, a), (i = !0)) + : o[n] || (i = c(n)); + if (i) u(t); + else + for (e = 0; e < l[t].length; e++) { + n = l[t][e]; + var h = s[n]; + h || ((h = {}), (s[n] = h)), (h[n] = !0); + } + return a.pop(), i; + } + function f(t, r) { + var n = [].concat(r).concat(t); + e ? e(c) : i.push(n); + } + function h(e) { + !(function (e) { + for (var r = 0; r < t.length; r++) + r < e && (t[r] = []), + (t[r] = t[r].filter(function (t) { + return t >= e; + })); + })(e); + for ( + var r, + i = n(t).components.filter(function (t) { + return t.length > 1; + }), + a = 1 / 0, + o = 0; + o < i.length; + o++ + ) + for (var s = 0; s < i[o].length; s++) + i[o][s] < a && ((a = i[o][s]), (r = o)); + var l = i[r]; + if (!l) return !1; + var u = t.map(function (t, e) { + return -1 === l.indexOf(e) + ? [] + : t.filter(function (t) { + return -1 !== l.indexOf(t); + }); + }); + return { leastVertex: a, adjList: u }; + } + r = 0; + for (var p = t.length; r < p; ) { + var d = h(r); + if (((r = d.leastVertex), (l = d.adjList))) { + for (var v = 0; v < l.length; v++) + for (var g = 0; g < l[v].length; g++) { + var y = l[v][g]; + (o[+y] = !1), (s[y] = {}); + } + c(r), (r += 1); + } else r = p; + } + return e ? void 0 : i; + }; + }, + 16134: function (t, e, r) { + "use strict"; + var n = r(36672); + t.exports = function () { + return (n(this).length = 0), this; + }; + }, + 4892: function (t, e, r) { + "use strict"; + t.exports = r(64404)() ? Array.from : r(49441); + }, + 64404: function (t) { + "use strict"; + t.exports = function () { + var t, + e, + r = Array.from; + return ( + "function" == typeof r && + ((e = r((t = ["raz", "dwa"]))), + Boolean(e && e !== t && "dwa" === e[1])) + ); + }; + }, + 49441: function (t, e, r) { + "use strict"; + var n = r(8260).iterator, + i = r(73051), + a = r(33717), + o = r(35976), + s = r(78513), + l = r(36672), + u = r(95296), + c = r(87963), + f = Array.isArray, + h = Function.prototype.call, + p = { + configurable: !0, + enumerable: !0, + writable: !0, + value: null, + }, + d = Object.defineProperty; + t.exports = function (t) { + var e, + r, + v, + g, + y, + m, + x, + b, + _, + w, + T = arguments[1], + k = arguments[2]; + if ( + ((t = Object(l(t))), + u(T) && s(T), + this && this !== Array && a(this)) + ) + e = this; + else { + if (!T) { + if (i(t)) + return 1 !== (y = t.length) + ? Array.apply(null, t) + : (((g = new Array(1))[0] = t[0]), g); + if (f(t)) { + for (g = new Array((y = t.length)), r = 0; r < y; ++r) + g[r] = t[r]; + return g; + } + } + g = []; + } + if (!f(t)) + if (void 0 !== (_ = t[n])) { + for ( + x = s(_).call(t), + e && (g = new e()), + b = x.next(), + r = 0; + !b.done; + + ) + (w = T ? h.call(T, k, b.value, r) : b.value), + e ? ((p.value = w), d(g, r, p)) : (g[r] = w), + (b = x.next()), + ++r; + y = r; + } else if (c(t)) { + for ( + y = t.length, e && (g = new e()), r = 0, v = 0; + r < y; + ++r + ) + (w = t[r]), + r + 1 < y && + (m = w.charCodeAt(0)) >= 55296 && + m <= 56319 && + (w += t[++r]), + (w = T ? h.call(T, k, w, v) : w), + e ? ((p.value = w), d(g, v, p)) : (g[v] = w), + ++v; + y = v; + } + if (void 0 === y) + for ( + y = o(t.length), e && (g = new e(y)), r = 0; + r < y; + ++r + ) + (w = T ? h.call(T, k, t[r], r) : t[r]), + e ? ((p.value = w), d(g, r, p)) : (g[r] = w); + return e && ((p.value = null), (g.length = y)), g; + }; + }, + 73051: function (t) { + "use strict"; + var e = Object.prototype.toString, + r = e.call( + (function () { + return arguments; + })(), + ); + t.exports = function (t) { + return e.call(t) === r; + }; + }, + 33717: function (t) { + "use strict"; + var e = Object.prototype.toString, + r = RegExp.prototype.test.bind( + /^[object [A-Za-z0-9]*Function]$/, + ); + t.exports = function (t) { + return "function" == typeof t && r(e.call(t)); + }; + }, + 52345: function (t) { + "use strict"; + t.exports = function () {}; + }, + 9953: function (t, e, r) { + "use strict"; + t.exports = r(90436)() ? Math.sign : r(6069); + }, + 90436: function (t) { + "use strict"; + t.exports = function () { + var t = Math.sign; + return ( + "function" == typeof t && 1 === t(10) && -1 === t(-20) + ); + }; + }, + 6069: function (t) { + "use strict"; + t.exports = function (t) { + return ( + (t = Number(t)), isNaN(t) || 0 === t ? t : t > 0 ? 1 : -1 + ); + }; + }, + 56247: function (t, e, r) { + "use strict"; + var n = r(9953), + i = Math.abs, + a = Math.floor; + t.exports = function (t) { + return isNaN(t) + ? 0 + : 0 !== (t = Number(t)) && isFinite(t) + ? n(t) * a(i(t)) + : t; + }; + }, + 35976: function (t, e, r) { + "use strict"; + var n = r(56247), + i = Math.max; + t.exports = function (t) { + return i(0, n(t)); + }; + }, + 67260: function (t, e, r) { + "use strict"; + var n = r(78513), + i = r(36672), + a = Function.prototype.bind, + o = Function.prototype.call, + s = Object.keys, + l = Object.prototype.propertyIsEnumerable; + t.exports = function (t, e) { + return function (r, u) { + var c, + f = arguments[2], + h = arguments[3]; + return ( + (r = Object(i(r))), + n(u), + (c = s(r)), + h && + c.sort( + "function" == typeof h ? a.call(h, r) : void 0, + ), + "function" != typeof t && (t = c[t]), + o.call(t, c, function (t, n) { + return l.call(r, t) ? o.call(u, f, r[t], t, r, n) : e; + }) + ); + }; + }; + }, + 95879: function (t, e, r) { + "use strict"; + t.exports = r(73583)() ? Object.assign : r(34205); + }, + 73583: function (t) { + "use strict"; + t.exports = function () { + var t, + e = Object.assign; + return ( + "function" == typeof e && + (e( + (t = { foo: "raz" }), + { bar: "dwa" }, + { trzy: "trzy" }, + ), + t.foo + t.bar + t.trzy === "razdwatrzy") + ); + }; + }, + 34205: function (t, e, r) { + "use strict"; + var n = r(68700), + i = r(36672), + a = Math.max; + t.exports = function (t, e) { + var r, + o, + s, + l = a(arguments.length, 2); + for ( + t = Object(i(t)), + s = function (n) { + try { + t[n] = e[n]; + } catch (t) { + r || (r = t); + } + }, + o = 1; + o < l; + ++o + ) + n((e = arguments[o])).forEach(s); + if (void 0 !== r) throw r; + return t; + }; + }, + 19012: function (t, e, r) { + "use strict"; + var n = r(4892), + i = r(95879), + a = r(36672); + t.exports = function (t) { + var e = Object(a(t)), + r = arguments[1], + o = Object(arguments[2]); + if (e !== t && !r) return e; + var s = {}; + return ( + r + ? n(r, function (e) { + (o.ensure || e in t) && (s[e] = t[e]); + }) + : i(s, t), + s + ); + }; + }, + 52818: function (t, e, r) { + "use strict"; + var n, + i, + a, + o, + s = Object.create; + r(33247)() || (n = r(51882)), + (t.exports = n + ? 1 !== n.level + ? s + : ((i = {}), + (a = {}), + (o = { + configurable: !1, + enumerable: !1, + writable: !0, + value: void 0, + }), + Object.getOwnPropertyNames(Object.prototype).forEach( + function (t) { + a[t] = + "__proto__" !== t + ? o + : { + configurable: !0, + enumerable: !1, + writable: !0, + value: void 0, + }; + }, + ), + Object.defineProperties(i, a), + Object.defineProperty(n, "nullPolyfill", { + configurable: !1, + enumerable: !1, + writable: !1, + value: i, + }), + function (t, e) { + return s(null === t ? i : t, e); + }) + : s); + }, + 96437: function (t, e, r) { + "use strict"; + t.exports = r(67260)("forEach"); + }, + 99611: function (t, e, r) { + "use strict"; + var n = r(95296), + i = { function: !0, object: !0 }; + t.exports = function (t) { + return (n(t) && i[typeof t]) || !1; + }; + }, + 95296: function (t, e, r) { + "use strict"; + var n = r(52345)(); + t.exports = function (t) { + return t !== n && null !== t; + }; + }, + 68700: function (t, e, r) { + "use strict"; + t.exports = r(13895)() ? Object.keys : r(25217); + }, + 13895: function (t) { + "use strict"; + t.exports = function () { + try { + return Object.keys("primitive"), !0; + } catch (t) { + return !1; + } + }; + }, + 25217: function (t, e, r) { + "use strict"; + var n = r(95296), + i = Object.keys; + t.exports = function (t) { + return i(n(t) ? Object(t) : t); + }; + }, + 16906: function (t, e, r) { + "use strict"; + var n = r(78513), + i = r(96437), + a = Function.prototype.call; + t.exports = function (t, e) { + var r = {}, + o = arguments[2]; + return ( + n(e), + i(t, function (t, n, i, s) { + r[n] = a.call(e, o, t, n, i, s); + }), + r + ); + }; + }, + 21780: function (t, e, r) { + "use strict"; + var n = r(95296), + i = Array.prototype.forEach, + a = Object.create, + o = function (t, e) { + var r; + for (r in t) e[r] = t[r]; + }; + t.exports = function (t) { + var e = a(null); + return ( + i.call(arguments, function (t) { + n(t) && o(Object(t), e); + }), + e + ); + }; + }, + 1496: function (t, e, r) { + "use strict"; + t.exports = r(33247)() ? Object.setPrototypeOf : r(51882); + }, + 33247: function (t) { + "use strict"; + var e = Object.create, + r = Object.getPrototypeOf, + n = {}; + t.exports = function () { + var t = Object.setPrototypeOf, + i = arguments[0] || e; + return "function" == typeof t && r(t(i(null), n)) === n; + }; + }, + 51882: function (t, e, r) { + "use strict"; + var n, + i, + a, + o, + s = r(99611), + l = r(36672), + u = Object.prototype.isPrototypeOf, + c = Object.defineProperty, + f = { + configurable: !0, + enumerable: !1, + writable: !0, + value: void 0, + }; + (n = function (t, e) { + if ((l(t), null === e || s(e))) return t; + throw new TypeError("Prototype must be null or an object"); + }), + (t.exports = + ((i = (function () { + var t, + e = Object.create(null), + r = {}, + n = Object.getOwnPropertyDescriptor( + Object.prototype, + "__proto__", + ); + if (n) { + try { + (t = n.set).call(e, r); + } catch (t) {} + if (Object.getPrototypeOf(e) === r) + return { set: t, level: 2 }; + } + return ( + (e.__proto__ = r), + Object.getPrototypeOf(e) === r + ? { level: 2 } + : (((e = {}).__proto__ = r), + Object.getPrototypeOf(e) === r && { level: 1 }) + ); + })()), + i + ? (2 === i.level + ? i.set + ? ((o = i.set), + (a = function (t, e) { + return o.call(n(t, e), e), t; + })) + : (a = function (t, e) { + return (n(t, e).__proto__ = e), t; + }) + : (a = function t(e, r) { + var i; + return ( + n(e, r), + (i = u.call(t.nullPolyfill, e)) && + delete t.nullPolyfill.__proto__, + null === r && (r = t.nullPolyfill), + (e.__proto__ = r), + i && c(t.nullPolyfill, "__proto__", f), + e + ); + }), + Object.defineProperty(a, "level", { + configurable: !1, + enumerable: !1, + writable: !1, + value: i.level, + })) + : null)), + r(52818); + }, + 78513: function (t) { + "use strict"; + t.exports = function (t) { + if ("function" != typeof t) + throw new TypeError(t + " is not a function"); + return t; + }; + }, + 98976: function (t, e, r) { + "use strict"; + var n = r(99611); + t.exports = function (t) { + if (!n(t)) throw new TypeError(t + " is not an Object"); + return t; + }; + }, + 36672: function (t, e, r) { + "use strict"; + var n = r(95296); + t.exports = function (t) { + if (!n(t)) + throw new TypeError("Cannot use null or undefined"); + return t; + }; + }, + 66741: function (t, e, r) { + "use strict"; + t.exports = r(17557)() ? String.prototype.contains : r(60381); + }, + 17557: function (t) { + "use strict"; + var e = "razdwatrzy"; + t.exports = function () { + return ( + "function" == typeof e.contains && + !0 === e.contains("dwa") && + !1 === e.contains("foo") + ); + }; + }, + 60381: function (t) { + "use strict"; + var e = String.prototype.indexOf; + t.exports = function (t) { + return e.call(this, t, arguments[1]) > -1; + }; + }, + 87963: function (t) { + "use strict"; + var e = Object.prototype.toString, + r = e.call(""); + t.exports = function (t) { + return ( + "string" == typeof t || + (t && + "object" == typeof t && + (t instanceof String || e.call(t) === r)) || + !1 + ); + }; + }, + 43043: function (t) { + "use strict"; + var e = Object.create(null), + r = Math.random; + t.exports = function () { + var t; + do { + t = r().toString(36).slice(2); + } while (e[t]); + return t; + }; + }, + 32411: function (t, e, r) { + "use strict"; + var n, + i = r(1496), + a = r(66741), + o = r(62072), + s = r(8260), + l = r(95426), + u = Object.defineProperty; + (n = t.exports = + function (t, e) { + if (!(this instanceof n)) + throw new TypeError("Constructor requires 'new'"); + l.call(this, t), + (e = e + ? a.call(e, "key+value") + ? "key+value" + : a.call(e, "key") + ? "key" + : "value" + : "value"), + u(this, "__kind__", o("", e)); + }), + i && i(n, l), + delete n.prototype.constructor, + (n.prototype = Object.create(l.prototype, { + _resolve: o(function (t) { + return "value" === this.__kind__ + ? this.__list__[t] + : "key+value" === this.__kind__ + ? [t, this.__list__[t]] + : t; + }), + })), + u(n.prototype, s.toStringTag, o("c", "Array Iterator")); + }, + 27515: function (t, e, r) { + "use strict"; + var n = r(73051), + i = r(78513), + a = r(87963), + o = r(66661), + s = Array.isArray, + l = Function.prototype.call, + u = Array.prototype.some; + t.exports = function (t, e) { + var r, + c, + f, + h, + p, + d, + v, + g, + y = arguments[2]; + if ( + (s(t) || n(t) + ? (r = "array") + : a(t) + ? (r = "string") + : (t = o(t)), + i(e), + (f = function () { + h = !0; + }), + "array" !== r) + ) + if ("string" !== r) + for (c = t.next(); !c.done; ) { + if ((l.call(e, y, c.value, f), h)) return; + c = t.next(); + } + else + for ( + d = t.length, p = 0; + p < d && + ((v = t[p]), + p + 1 < d && + (g = v.charCodeAt(0)) >= 55296 && + g <= 56319 && + (v += t[++p]), + l.call(e, y, v, f), + !h); + ++p + ); + else + u.call(t, function (t) { + return l.call(e, y, t, f), h; + }); + }; + }, + 66661: function (t, e, r) { + "use strict"; + var n = r(73051), + i = r(87963), + a = r(32411), + o = r(259), + s = r(58095), + l = r(8260).iterator; + t.exports = function (t) { + return "function" == typeof s(t)[l] + ? t[l]() + : n(t) + ? new a(t) + : i(t) + ? new o(t) + : new a(t); + }; + }, + 95426: function (t, e, r) { + "use strict"; + var n, + i = r(16134), + a = r(95879), + o = r(78513), + s = r(36672), + l = r(62072), + u = r(55174), + c = r(8260), + f = Object.defineProperty, + h = Object.defineProperties; + (t.exports = n = + function (t, e) { + if (!(this instanceof n)) + throw new TypeError("Constructor requires 'new'"); + h(this, { + __list__: l("w", s(t)), + __context__: l("w", e), + __nextIndex__: l("w", 0), + }), + e && + (o(e.on), + e.on("_add", this._onAdd), + e.on("_delete", this._onDelete), + e.on("_clear", this._onClear)); + }), + delete n.prototype.constructor, + h( + n.prototype, + a( + { + _next: l(function () { + var t; + if (this.__list__) + return this.__redo__ && + void 0 !== (t = this.__redo__.shift()) + ? t + : this.__nextIndex__ < this.__list__.length + ? this.__nextIndex__++ + : void this._unBind(); + }), + next: l(function () { + return this._createResult(this._next()); + }), + _createResult: l(function (t) { + return void 0 === t + ? { done: !0, value: void 0 } + : { done: !1, value: this._resolve(t) }; + }), + _resolve: l(function (t) { + return this.__list__[t]; + }), + _unBind: l(function () { + (this.__list__ = null), + delete this.__redo__, + this.__context__ && + (this.__context__.off("_add", this._onAdd), + this.__context__.off("_delete", this._onDelete), + this.__context__.off("_clear", this._onClear), + (this.__context__ = null)); + }), + toString: l(function () { + return ( + "[object " + + (this[c.toStringTag] || "Object") + + "]" + ); + }), + }, + u({ + _onAdd: l(function (t) { + t >= this.__nextIndex__ || + (++this.__nextIndex__, + this.__redo__ + ? (this.__redo__.forEach(function (e, r) { + e >= t && (this.__redo__[r] = ++e); + }, this), + this.__redo__.push(t)) + : f(this, "__redo__", l("c", [t]))); + }), + _onDelete: l(function (t) { + var e; + t >= this.__nextIndex__ || + (--this.__nextIndex__, + this.__redo__ && + (-1 !== (e = this.__redo__.indexOf(t)) && + this.__redo__.splice(e, 1), + this.__redo__.forEach(function (e, r) { + e > t && (this.__redo__[r] = --e); + }, this))); + }), + _onClear: l(function () { + this.__redo__ && i.call(this.__redo__), + (this.__nextIndex__ = 0); + }), + }), + ), + ), + f( + n.prototype, + c.iterator, + l(function () { + return this; + }), + ); + }, + 35940: function (t, e, r) { + "use strict"; + var n = r(73051), + i = r(95296), + a = r(87963), + o = r(8260).iterator, + s = Array.isArray; + t.exports = function (t) { + return !( + !i(t) || + (!s(t) && !a(t) && !n(t) && "function" != typeof t[o]) + ); + }; + }, + 259: function (t, e, r) { + "use strict"; + var n, + i = r(1496), + a = r(62072), + o = r(8260), + s = r(95426), + l = Object.defineProperty; + (n = t.exports = + function (t) { + if (!(this instanceof n)) + throw new TypeError("Constructor requires 'new'"); + (t = String(t)), + s.call(this, t), + l(this, "__length__", a("", t.length)); + }), + i && i(n, s), + delete n.prototype.constructor, + (n.prototype = Object.create(s.prototype, { + _next: a(function () { + if (this.__list__) + return this.__nextIndex__ < this.__length__ + ? this.__nextIndex__++ + : void this._unBind(); + }), + _resolve: a(function (t) { + var e, + r = this.__list__[t]; + return this.__nextIndex__ === this.__length__ + ? r + : (e = r.charCodeAt(0)) >= 55296 && e <= 56319 + ? r + this.__list__[this.__nextIndex__++] + : r; + }), + })), + l(n.prototype, o.toStringTag, a("c", "String Iterator")); + }, + 58095: function (t, e, r) { + "use strict"; + var n = r(35940); + t.exports = function (t) { + if (!n(t)) throw new TypeError(t + " is not iterable"); + return t; + }; + }, + 73523: function (t) { + "use strict"; + function e(t, e) { + if (null == t) + throw new TypeError( + "Cannot convert first argument to object", + ); + for (var r = Object(t), n = 1; n < arguments.length; n++) { + var i = arguments[n]; + if (null != i) + for ( + var a = Object.keys(Object(i)), o = 0, s = a.length; + o < s; + o++ + ) { + var l = a[o], + u = Object.getOwnPropertyDescriptor(i, l); + void 0 !== u && u.enumerable && (r[l] = i[l]); + } + } + return r; + } + t.exports = { + assign: e, + polyfill: function () { + Object.assign || + Object.defineProperty(Object, "assign", { + enumerable: !1, + configurable: !0, + writable: !0, + value: e, + }); + }, + }; + }, + 8260: function (t, e, r) { + "use strict"; + t.exports = r(69711)() ? r(94908).Symbol : r(18415); + }, + 69711: function (t, e, r) { + "use strict"; + var n = r(94908), + i = { object: !0, symbol: !0 }; + t.exports = function () { + var t, + e = n.Symbol; + if ("function" != typeof e) return !1; + t = e("test symbol"); + try { + String(t); + } catch (t) { + return !1; + } + return ( + !!i[typeof e.iterator] && + !!i[typeof e.toPrimitive] && + !!i[typeof e.toStringTag] + ); + }; + }, + 82276: function (t) { + "use strict"; + t.exports = function (t) { + return ( + !!t && + ("symbol" == typeof t || + (!!t.constructor && + "Symbol" === t.constructor.name && + "Symbol" === t[t.constructor.toStringTag])) + ); + }; + }, + 29366: function (t, e, r) { + "use strict"; + var n = r(62072), + i = Object.create, + a = Object.defineProperty, + o = Object.prototype, + s = i(null); + t.exports = function (t) { + for (var e, r, i = 0; s[t + (i || "")]; ) ++i; + return ( + (s[(t += i || "")] = !0), + a( + o, + (e = "@@" + t), + n.gs(null, function (t) { + r || ((r = !0), a(this, e, n(t)), (r = !1)); + }), + ), + e + ); + }; + }, + 92842: function (t, e, r) { + "use strict"; + var n = r(62072), + i = r(94908).Symbol; + t.exports = function (t) { + return Object.defineProperties(t, { + hasInstance: n( + "", + (i && i.hasInstance) || t("hasInstance"), + ), + isConcatSpreadable: n( + "", + (i && i.isConcatSpreadable) || t("isConcatSpreadable"), + ), + iterator: n("", (i && i.iterator) || t("iterator")), + match: n("", (i && i.match) || t("match")), + replace: n("", (i && i.replace) || t("replace")), + search: n("", (i && i.search) || t("search")), + species: n("", (i && i.species) || t("species")), + split: n("", (i && i.split) || t("split")), + toPrimitive: n( + "", + (i && i.toPrimitive) || t("toPrimitive"), + ), + toStringTag: n( + "", + (i && i.toStringTag) || t("toStringTag"), + ), + unscopables: n( + "", + (i && i.unscopables) || t("unscopables"), + ), + }); + }; + }, + 13304: function (t, e, r) { + "use strict"; + var n = r(62072), + i = r(53308), + a = Object.create(null); + t.exports = function (t) { + return Object.defineProperties(t, { + for: n(function (e) { + return a[e] ? a[e] : (a[e] = t(String(e))); + }), + keyFor: n(function (t) { + var e; + for (e in (i(t), a)) if (a[e] === t) return e; + }), + }); + }; + }, + 18415: function (t, e, r) { + "use strict"; + var n, + i, + a, + o = r(62072), + s = r(53308), + l = r(94908).Symbol, + u = r(29366), + c = r(92842), + f = r(13304), + h = Object.create, + p = Object.defineProperties, + d = Object.defineProperty; + if ("function" == typeof l) + try { + String(l()), (a = !0); + } catch (t) {} + else l = null; + (i = function (t) { + if (this instanceof i) + throw new TypeError("Symbol is not a constructor"); + return n(t); + }), + (t.exports = n = + function t(e) { + var r; + if (this instanceof t) + throw new TypeError("Symbol is not a constructor"); + return a + ? l(e) + : ((r = h(i.prototype)), + (e = void 0 === e ? "" : String(e)), + p(r, { + __description__: o("", e), + __name__: o("", u(e)), + })); + }), + c(n), + f(n), + p(i.prototype, { + constructor: o(n), + toString: o("", function () { + return this.__name__; + }), + }), + p(n.prototype, { + toString: o(function () { + return "Symbol (" + s(this).__description__ + ")"; + }), + valueOf: o(function () { + return s(this); + }), + }), + d( + n.prototype, + n.toPrimitive, + o("", function () { + var t = s(this); + return "symbol" == typeof t ? t : t.toString(); + }), + ), + d(n.prototype, n.toStringTag, o("c", "Symbol")), + d( + i.prototype, + n.toStringTag, + o("c", n.prototype[n.toStringTag]), + ), + d( + i.prototype, + n.toPrimitive, + o("c", n.prototype[n.toPrimitive]), + ); + }, + 53308: function (t, e, r) { + "use strict"; + var n = r(82276); + t.exports = function (t) { + if (!n(t)) throw new TypeError(t + " is not a symbol"); + return t; + }; + }, + 83522: function (t, e, r) { + "use strict"; + t.exports = r(96402)() ? WeakMap : r(329); + }, + 96402: function (t) { + "use strict"; + t.exports = function () { + var t, e; + if ("function" != typeof WeakMap) return !1; + try { + t = new WeakMap([ + [(e = {}), "one"], + [{}, "two"], + [{}, "three"], + ]); + } catch (t) { + return !1; + } + return ( + "[object WeakMap]" === String(t) && + "function" == typeof t.set && + t.set({}, 1) === t && + "function" == typeof t.delete && + "function" == typeof t.has && + "one" === t.get(e) + ); + }; + }, + 96416: function (t) { + "use strict"; + t.exports = + "function" == typeof WeakMap && + "[object WeakMap]" === + Object.prototype.toString.call(new WeakMap()); + }, + 329: function (t, e, r) { + "use strict"; + var n, + i = r(95296), + a = r(1496), + o = r(98976), + s = r(36672), + l = r(43043), + u = r(62072), + c = r(66661), + f = r(27515), + h = r(8260).toStringTag, + p = r(96416), + d = Array.isArray, + v = Object.defineProperty, + g = Object.prototype.hasOwnProperty, + y = Object.getPrototypeOf; + (t.exports = n = + function () { + var t, + e = arguments[0]; + if (!(this instanceof n)) + throw new TypeError("Constructor requires 'new'"); + return ( + (t = + p && a && WeakMap !== n + ? a(new WeakMap(), y(this)) + : this), + i(e) && (d(e) || (e = c(e))), + v(t, "__weakMapData__", u("c", "$weakMap$" + l())), + e + ? (f(e, function (e) { + s(e), t.set(e[0], e[1]); + }), + t) + : t + ); + }), + p && + (a && a(n, WeakMap), + (n.prototype = Object.create(WeakMap.prototype, { + constructor: u(n), + }))), + Object.defineProperties(n.prototype, { + delete: u(function (t) { + return ( + !!g.call(o(t), this.__weakMapData__) && + (delete t[this.__weakMapData__], !0) + ); + }), + get: u(function (t) { + if (g.call(o(t), this.__weakMapData__)) + return t[this.__weakMapData__]; + }), + has: u(function (t) { + return g.call(o(t), this.__weakMapData__); + }), + set: u(function (t, e) { + return v(o(t), this.__weakMapData__, u("c", e)), this; + }), + toString: u(function () { + return "[object WeakMap]"; + }), + }), + v(n.prototype, h, u("c", "WeakMap")); + }, + 15398: function (t) { + "use strict"; + var e, + r = "object" == typeof Reflect ? Reflect : null, + n = + r && "function" == typeof r.apply + ? r.apply + : function (t, e, r) { + return Function.prototype.apply.call(t, e, r); + }; + e = + r && "function" == typeof r.ownKeys + ? r.ownKeys + : Object.getOwnPropertySymbols + ? function (t) { + return Object.getOwnPropertyNames(t).concat( + Object.getOwnPropertySymbols(t), + ); + } + : function (t) { + return Object.getOwnPropertyNames(t); + }; + var i = + Number.isNaN || + function (t) { + return t != t; + }; + function a() { + a.init.call(this); + } + (t.exports = a), + (t.exports.once = function (t, e) { + return new Promise(function (r, n) { + function i(r) { + t.removeListener(e, a), n(r); + } + function a() { + "function" == typeof t.removeListener && + t.removeListener("error", i), + r([].slice.call(arguments)); + } + v(t, e, a, { once: !0 }), + "error" !== e && + (function (t, e, r) { + "function" == typeof t.on && + v(t, "error", e, { once: !0 }); + })(t, i); + }); + }), + (a.EventEmitter = a), + (a.prototype._events = void 0), + (a.prototype._eventsCount = 0), + (a.prototype._maxListeners = void 0); + var o = 10; + function s(t) { + if ("function" != typeof t) + throw new TypeError( + 'The "listener" argument must be of type Function. Received type ' + + typeof t, + ); + } + function l(t) { + return void 0 === t._maxListeners + ? a.defaultMaxListeners + : t._maxListeners; + } + function u(t, e, r, n) { + var i, a, o, u; + if ( + (s(r), + void 0 === (a = t._events) + ? ((a = t._events = Object.create(null)), + (t._eventsCount = 0)) + : (void 0 !== a.newListener && + (t.emit( + "newListener", + e, + r.listener ? r.listener : r, + ), + (a = t._events)), + (o = a[e])), + void 0 === o) + ) + (o = a[e] = r), ++t._eventsCount; + else if ( + ("function" == typeof o + ? (o = a[e] = n ? [r, o] : [o, r]) + : n + ? o.unshift(r) + : o.push(r), + (i = l(t)) > 0 && o.length > i && !o.warned) + ) { + o.warned = !0; + var c = new Error( + "Possible EventEmitter memory leak detected. " + + o.length + + " " + + String(e) + + " listeners added. Use emitter.setMaxListeners() to increase limit", + ); + (c.name = "MaxListenersExceededWarning"), + (c.emitter = t), + (c.type = e), + (c.count = o.length), + (u = c), + console && console.warn && console.warn(u); + } + return t; + } + function c() { + if (!this.fired) + return ( + this.target.removeListener(this.type, this.wrapFn), + (this.fired = !0), + 0 === arguments.length + ? this.listener.call(this.target) + : this.listener.apply(this.target, arguments) + ); + } + function f(t, e, r) { + var n = { + fired: !1, + wrapFn: void 0, + target: t, + type: e, + listener: r, + }, + i = c.bind(n); + return (i.listener = r), (n.wrapFn = i), i; + } + function h(t, e, r) { + var n = t._events; + if (void 0 === n) return []; + var i = n[e]; + return void 0 === i + ? [] + : "function" == typeof i + ? r + ? [i.listener || i] + : [i] + : r + ? (function (t) { + for ( + var e = new Array(t.length), r = 0; + r < e.length; + ++r + ) + e[r] = t[r].listener || t[r]; + return e; + })(i) + : d(i, i.length); + } + function p(t) { + var e = this._events; + if (void 0 !== e) { + var r = e[t]; + if ("function" == typeof r) return 1; + if (void 0 !== r) return r.length; + } + return 0; + } + function d(t, e) { + for (var r = new Array(e), n = 0; n < e; ++n) r[n] = t[n]; + return r; + } + function v(t, e, r, n) { + if ("function" == typeof t.on) + n.once ? t.once(e, r) : t.on(e, r); + else { + if ("function" != typeof t.addEventListener) + throw new TypeError( + 'The "emitter" argument must be of type EventEmitter. Received type ' + + typeof t, + ); + t.addEventListener(e, function i(a) { + n.once && t.removeEventListener(e, i), r(a); + }); + } + } + Object.defineProperty(a, "defaultMaxListeners", { + enumerable: !0, + get: function () { + return o; + }, + set: function (t) { + if ("number" != typeof t || t < 0 || i(t)) + throw new RangeError( + 'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + + t + + ".", + ); + o = t; + }, + }), + (a.init = function () { + (void 0 !== this._events && + this._events !== Object.getPrototypeOf(this)._events) || + ((this._events = Object.create(null)), + (this._eventsCount = 0)), + (this._maxListeners = this._maxListeners || void 0); + }), + (a.prototype.setMaxListeners = function (t) { + if ("number" != typeof t || t < 0 || i(t)) + throw new RangeError( + 'The value of "n" is out of range. It must be a non-negative number. Received ' + + t + + ".", + ); + return (this._maxListeners = t), this; + }), + (a.prototype.getMaxListeners = function () { + return l(this); + }), + (a.prototype.emit = function (t) { + for (var e = [], r = 1; r < arguments.length; r++) + e.push(arguments[r]); + var i = "error" === t, + a = this._events; + if (void 0 !== a) i = i && void 0 === a.error; + else if (!i) return !1; + if (i) { + var o; + if ((e.length > 0 && (o = e[0]), o instanceof Error)) + throw o; + var s = new Error( + "Unhandled error." + + (o ? " (" + o.message + ")" : ""), + ); + throw ((s.context = o), s); + } + var l = a[t]; + if (void 0 === l) return !1; + if ("function" == typeof l) n(l, this, e); + else { + var u = l.length, + c = d(l, u); + for (r = 0; r < u; ++r) n(c[r], this, e); + } + return !0; + }), + (a.prototype.addListener = function (t, e) { + return u(this, t, e, !1); + }), + (a.prototype.on = a.prototype.addListener), + (a.prototype.prependListener = function (t, e) { + return u(this, t, e, !0); + }), + (a.prototype.once = function (t, e) { + return s(e), this.on(t, f(this, t, e)), this; + }), + (a.prototype.prependOnceListener = function (t, e) { + return s(e), this.prependListener(t, f(this, t, e)), this; + }), + (a.prototype.removeListener = function (t, e) { + var r, n, i, a, o; + if ((s(e), void 0 === (n = this._events))) return this; + if (void 0 === (r = n[t])) return this; + if (r === e || r.listener === e) + 0 == --this._eventsCount + ? (this._events = Object.create(null)) + : (delete n[t], + n.removeListener && + this.emit("removeListener", t, r.listener || e)); + else if ("function" != typeof r) { + for (i = -1, a = r.length - 1; a >= 0; a--) + if (r[a] === e || r[a].listener === e) { + (o = r[a].listener), (i = a); + break; + } + if (i < 0) return this; + 0 === i + ? r.shift() + : (function (t, e) { + for (; e + 1 < t.length; e++) t[e] = t[e + 1]; + t.pop(); + })(r, i), + 1 === r.length && (n[t] = r[0]), + void 0 !== n.removeListener && + this.emit("removeListener", t, o || e); + } + return this; + }), + (a.prototype.off = a.prototype.removeListener), + (a.prototype.removeAllListeners = function (t) { + var e, r, n; + if (void 0 === (r = this._events)) return this; + if (void 0 === r.removeListener) + return ( + 0 === arguments.length + ? ((this._events = Object.create(null)), + (this._eventsCount = 0)) + : void 0 !== r[t] && + (0 == --this._eventsCount + ? (this._events = Object.create(null)) + : delete r[t]), + this + ); + if (0 === arguments.length) { + var i, + a = Object.keys(r); + for (n = 0; n < a.length; ++n) + "removeListener" !== (i = a[n]) && + this.removeAllListeners(i); + return ( + this.removeAllListeners("removeListener"), + (this._events = Object.create(null)), + (this._eventsCount = 0), + this + ); + } + if ("function" == typeof (e = r[t])) + this.removeListener(t, e); + else if (void 0 !== e) + for (n = e.length - 1; n >= 0; n--) + this.removeListener(t, e[n]); + return this; + }), + (a.prototype.listeners = function (t) { + return h(this, t, !0); + }), + (a.prototype.rawListeners = function (t) { + return h(this, t, !1); + }), + (a.listenerCount = function (t, e) { + return "function" == typeof t.listenerCount + ? t.listenerCount(e) + : p.call(t, e); + }), + (a.prototype.listenerCount = p), + (a.prototype.eventNames = function () { + return this._eventsCount > 0 ? e(this._events) : []; + }); + }, + 60774: function (t) { + var e = function () { + if ("object" == typeof self && self) return self; + if ("object" == typeof window && window) return window; + throw new Error("Unable to resolve global `this`"); + }; + t.exports = (function () { + if (this) return this; + try { + Object.defineProperty(Object.prototype, "__global__", { + get: function () { + return this; + }, + configurable: !0, + }); + } catch (t) { + return e(); + } + try { + return __global__ || e(); + } finally { + delete Object.prototype.__global__; + } + })(); + }, + 94908: function (t, e, r) { + "use strict"; + t.exports = r(51152)() ? globalThis : r(60774); + }, + 51152: function (t) { + "use strict"; + t.exports = function () { + return ( + "object" == typeof globalThis && + !!globalThis && + globalThis.Array === Array + ); + }; + }, + 92770: function (t, e, r) { + "use strict"; + var n = r(18546); + t.exports = function (t) { + var e = typeof t; + if ("string" === e) { + var r = t; + if (0 == (t = +t) && n(r)) return !1; + } else if ("number" !== e) return !1; + return t - t < 1; + }; + }, + 30120: function (t, e, r) { + var n = r(90660); + t.exports = function (t, e, r) { + if (!t) + throw new TypeError( + "must specify data as first parameter", + ); + if ( + ((r = 0 | +(r || 0)), + Array.isArray(t) && t[0] && "number" == typeof t[0][0]) + ) { + var i, + a, + o, + s, + l = t[0].length, + u = t.length * l; + (e && "string" != typeof e) || + (e = new (n(e || "float32"))(u + r)); + var c = e.length - r; + if (u !== c) + throw new Error( + "source length " + + u + + " (" + + l + + "x" + + t.length + + ") does not match destination length " + + c, + ); + for (i = 0, o = r; i < t.length; i++) + for (a = 0; a < l; a++) + e[o++] = null === t[i][a] ? NaN : t[i][a]; + } else if (e && "string" != typeof e) e.set(t, r); + else { + var f = n(e || "float32"); + if (Array.isArray(t) || "array" === e) + for ( + i = 0, o = r, s = (e = new f(t.length + r)).length; + o < s; + o++, i++ + ) + e[o] = null === t[i] ? NaN : t[i]; + else + 0 === r + ? (e = new f(t)) + : (e = new f(t.length + r)).set(t, r); + } + return e; + }; + }, + 68016: function (t, e, r) { + "use strict"; + var n = r(53313), + i = [32, 126]; + t.exports = function (t) { + var e = (t = t || {}).shape + ? t.shape + : t.canvas + ? [t.canvas.width, t.canvas.height] + : [512, 512], + r = t.canvas || document.createElement("canvas"), + a = t.font, + o = + "number" == typeof t.step + ? [t.step, t.step] + : t.step || [32, 32], + s = t.chars || i; + if ( + (a && "string" != typeof a && (a = n(a)), + Array.isArray(s)) + ) { + if ( + 2 === s.length && + "number" == typeof s[0] && + "number" == typeof s[1] + ) { + for (var l = [], u = s[0], c = 0; u <= s[1]; u++) + l[c++] = String.fromCharCode(u); + s = l; + } + } else s = String(s).split(""); + (e = e.slice()), (r.width = e[0]), (r.height = e[1]); + var f = r.getContext("2d"); + (f.fillStyle = "#000"), + f.fillRect(0, 0, r.width, r.height), + (f.font = a), + (f.textAlign = "center"), + (f.textBaseline = "middle"), + (f.fillStyle = "#fff"); + var h = o[0] / 2, + p = o[1] / 2; + for (u = 0; u < s.length; u++) + f.fillText(s[u], h, p), + (h += o[0]) > e[0] - o[0] / 2 && + ((h = o[0] / 2), (p += o[1])); + return r; + }; + }, + 32879: function (t) { + "use strict"; + function e(t, a) { + a || (a = {}), + ("string" == typeof t || Array.isArray(t)) && + (a.family = t); + var o = Array.isArray(a.family) + ? a.family.join(", ") + : a.family; + if (!o) throw Error("`family` must be defined"); + var s = a.size || a.fontSize || a.em || 48, + l = a.weight || a.fontWeight || "", + u = + ((t = + [a.style || a.fontStyle || "", l, s].join(" ") + + "px " + + o), + a.origin || "top"); + if (e.cache[o] && s <= e.cache[o].em) + return r(e.cache[o], u); + var c = a.canvas || e.canvas, + f = c.getContext("2d"), + h = { + upper: void 0 !== a.upper ? a.upper : "H", + lower: void 0 !== a.lower ? a.lower : "x", + descent: void 0 !== a.descent ? a.descent : "p", + ascent: void 0 !== a.ascent ? a.ascent : "h", + tittle: void 0 !== a.tittle ? a.tittle : "i", + overshoot: void 0 !== a.overshoot ? a.overshoot : "O", + }, + p = Math.ceil(1.5 * s); + (c.height = p), (c.width = 0.5 * p), (f.font = t); + var d = "H", + v = { top: 0 }; + f.clearRect(0, 0, p, p), + (f.textBaseline = "top"), + (f.fillStyle = "black"), + f.fillText(d, 0, 0); + var g = n(f.getImageData(0, 0, p, p)); + f.clearRect(0, 0, p, p), + (f.textBaseline = "bottom"), + f.fillText(d, 0, p); + var y = n(f.getImageData(0, 0, p, p)); + (v.lineHeight = v.bottom = p - y + g), + f.clearRect(0, 0, p, p), + (f.textBaseline = "alphabetic"), + f.fillText(d, 0, p); + var m = p - n(f.getImageData(0, 0, p, p)) - 1 + g; + (v.baseline = v.alphabetic = m), + f.clearRect(0, 0, p, p), + (f.textBaseline = "middle"), + f.fillText(d, 0, 0.5 * p); + var x = n(f.getImageData(0, 0, p, p)); + (v.median = v.middle = p - x - 1 + g - 0.5 * p), + f.clearRect(0, 0, p, p), + (f.textBaseline = "hanging"), + f.fillText(d, 0, 0.5 * p); + var b = n(f.getImageData(0, 0, p, p)); + (v.hanging = p - b - 1 + g - 0.5 * p), + f.clearRect(0, 0, p, p), + (f.textBaseline = "ideographic"), + f.fillText(d, 0, p); + var _ = n(f.getImageData(0, 0, p, p)); + if ( + ((v.ideographic = p - _ - 1 + g), + h.upper && + (f.clearRect(0, 0, p, p), + (f.textBaseline = "top"), + f.fillText(h.upper, 0, 0), + (v.upper = n(f.getImageData(0, 0, p, p))), + (v.capHeight = v.baseline - v.upper)), + h.lower && + (f.clearRect(0, 0, p, p), + (f.textBaseline = "top"), + f.fillText(h.lower, 0, 0), + (v.lower = n(f.getImageData(0, 0, p, p))), + (v.xHeight = v.baseline - v.lower)), + h.tittle && + (f.clearRect(0, 0, p, p), + (f.textBaseline = "top"), + f.fillText(h.tittle, 0, 0), + (v.tittle = n(f.getImageData(0, 0, p, p)))), + h.ascent && + (f.clearRect(0, 0, p, p), + (f.textBaseline = "top"), + f.fillText(h.ascent, 0, 0), + (v.ascent = n(f.getImageData(0, 0, p, p)))), + h.descent && + (f.clearRect(0, 0, p, p), + (f.textBaseline = "top"), + f.fillText(h.descent, 0, 0), + (v.descent = i(f.getImageData(0, 0, p, p)))), + h.overshoot) + ) { + f.clearRect(0, 0, p, p), + (f.textBaseline = "top"), + f.fillText(h.overshoot, 0, 0); + var w = i(f.getImageData(0, 0, p, p)); + v.overshoot = w - m; + } + for (var T in v) v[T] /= s; + return (v.em = s), (e.cache[o] = v), r(v, u); + } + function r(t, e) { + var r = {}; + for (var n in ("string" == typeof e && (e = t[e]), t)) + "em" !== n && (r[n] = t[n] - e); + return r; + } + function n(t) { + for ( + var e = t.height, r = t.data, n = 3; + n < r.length; + n += 4 + ) + if (0 !== r[n]) return Math.floor((0.25 * (n - 3)) / e); + } + function i(t) { + for ( + var e = t.height, r = t.data, n = r.length - 1; + n > 0; + n -= 4 + ) + if (0 !== r[n]) return Math.floor((0.25 * (n - 3)) / e); + } + (t.exports = e), + (e.canvas = document.createElement("canvas")), + (e.cache = {}); + }, + 31353: function (t, e, r) { + "use strict"; + var n = r(85395), + i = Object.prototype.toString, + a = Object.prototype.hasOwnProperty, + o = function (t, e, r) { + for (var n = 0, i = t.length; n < i; n++) + a.call(t, n) && + (null == r ? e(t[n], n, t) : e.call(r, t[n], n, t)); + }, + s = function (t, e, r) { + for (var n = 0, i = t.length; n < i; n++) + null == r + ? e(t.charAt(n), n, t) + : e.call(r, t.charAt(n), n, t); + }, + l = function (t, e, r) { + for (var n in t) + a.call(t, n) && + (null == r ? e(t[n], n, t) : e.call(r, t[n], n, t)); + }; + t.exports = function (t, e, r) { + if (!n(e)) + throw new TypeError("iterator must be a function"); + var a; + arguments.length >= 3 && (a = r), + "[object Array]" === i.call(t) + ? o(t, e, a) + : "string" == typeof t + ? s(t, e, a) + : l(t, e, a); + }; + }, + 73047: function (t) { + "use strict"; + var e = "Function.prototype.bind called on incompatible ", + r = Array.prototype.slice, + n = Object.prototype.toString, + i = "[object Function]"; + t.exports = function (t) { + var a = this; + if ("function" != typeof a || n.call(a) !== i) + throw new TypeError(e + a); + for ( + var o, + s = r.call(arguments, 1), + l = function () { + if (this instanceof o) { + var e = a.apply(this, s.concat(r.call(arguments))); + return Object(e) === e ? e : this; + } + return a.apply(t, s.concat(r.call(arguments))); + }, + u = Math.max(0, a.length - s.length), + c = [], + f = 0; + f < u; + f++ + ) + c.push("$" + f); + if ( + ((o = Function( + "binder", + "return function (" + + c.join(",") + + "){ return binder.apply(this,arguments); }", + )(l)), + a.prototype) + ) { + var h = function () {}; + (h.prototype = a.prototype), + (o.prototype = new h()), + (h.prototype = null); + } + return o; + }; + }, + 77575: function (t, e, r) { + "use strict"; + var n = r(73047); + t.exports = Function.prototype.bind || n; + }, + 86249: function (t) { + t.exports = 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; + }; + }, + 68318: function (t, e, r) { + "use strict"; + var n, + i = SyntaxError, + a = Function, + o = TypeError, + s = function (t) { + try { + return a( + '"use strict"; return (' + t + ").constructor;", + )(); + } catch (t) {} + }, + l = Object.getOwnPropertyDescriptor; + if (l) + try { + l({}, ""); + } catch (t) { + l = null; + } + var u = function () { + throw new o(); + }, + c = l + ? (function () { + try { + return u; + } catch (t) { + try { + return l(arguments, "callee").get; + } catch (t) { + return u; + } + } + })() + : u, + f = r(57877)(), + h = + Object.getPrototypeOf || + function (t) { + return t.__proto__; + }, + p = {}, + d = "undefined" == typeof Uint8Array ? n : h(Uint8Array), + v = { + "%AggregateError%": + "undefined" == typeof AggregateError + ? n + : AggregateError, + "%Array%": Array, + "%ArrayBuffer%": + "undefined" == typeof ArrayBuffer ? n : ArrayBuffer, + "%ArrayIteratorPrototype%": f + ? h([][Symbol.iterator]()) + : n, + "%AsyncFromSyncIteratorPrototype%": n, + "%AsyncFunction%": p, + "%AsyncGenerator%": p, + "%AsyncGeneratorFunction%": p, + "%AsyncIteratorPrototype%": p, + "%Atomics%": "undefined" == typeof Atomics ? n : Atomics, + "%BigInt%": "undefined" == typeof BigInt ? n : BigInt, + "%BigInt64Array%": + "undefined" == typeof BigInt64Array ? n : BigInt64Array, + "%BigUint64Array%": + "undefined" == typeof BigUint64Array + ? n + : BigUint64Array, + "%Boolean%": Boolean, + "%DataView%": + "undefined" == typeof DataView ? n : DataView, + "%Date%": Date, + "%decodeURI%": decodeURI, + "%decodeURIComponent%": decodeURIComponent, + "%encodeURI%": encodeURI, + "%encodeURIComponent%": encodeURIComponent, + "%Error%": Error, + "%eval%": eval, + "%EvalError%": EvalError, + "%Float32Array%": + "undefined" == typeof Float32Array ? n : Float32Array, + "%Float64Array%": + "undefined" == typeof Float64Array ? n : Float64Array, + "%FinalizationRegistry%": + "undefined" == typeof FinalizationRegistry + ? n + : FinalizationRegistry, + "%Function%": a, + "%GeneratorFunction%": p, + "%Int8Array%": + "undefined" == typeof Int8Array ? n : Int8Array, + "%Int16Array%": + "undefined" == typeof Int16Array ? n : Int16Array, + "%Int32Array%": + "undefined" == typeof Int32Array ? n : Int32Array, + "%isFinite%": isFinite, + "%isNaN%": isNaN, + "%IteratorPrototype%": f + ? h(h([][Symbol.iterator]())) + : n, + "%JSON%": "object" == typeof JSON ? JSON : n, + "%Map%": "undefined" == typeof Map ? n : Map, + "%MapIteratorPrototype%": + "undefined" != typeof Map && f + ? h(new Map()[Symbol.iterator]()) + : n, + "%Math%": Math, + "%Number%": Number, + "%Object%": Object, + "%parseFloat%": parseFloat, + "%parseInt%": parseInt, + "%Promise%": "undefined" == typeof Promise ? n : Promise, + "%Proxy%": "undefined" == typeof Proxy ? n : Proxy, + "%RangeError%": RangeError, + "%ReferenceError%": ReferenceError, + "%Reflect%": "undefined" == typeof Reflect ? n : Reflect, + "%RegExp%": RegExp, + "%Set%": "undefined" == typeof Set ? n : Set, + "%SetIteratorPrototype%": + "undefined" != typeof Set && f + ? h(new Set()[Symbol.iterator]()) + : n, + "%SharedArrayBuffer%": + "undefined" == typeof SharedArrayBuffer + ? n + : SharedArrayBuffer, + "%String%": String, + "%StringIteratorPrototype%": f + ? h(""[Symbol.iterator]()) + : n, + "%Symbol%": f ? Symbol : n, + "%SyntaxError%": i, + "%ThrowTypeError%": c, + "%TypedArray%": d, + "%TypeError%": o, + "%Uint8Array%": + "undefined" == typeof Uint8Array ? n : Uint8Array, + "%Uint8ClampedArray%": + "undefined" == typeof Uint8ClampedArray + ? n + : Uint8ClampedArray, + "%Uint16Array%": + "undefined" == typeof Uint16Array ? n : Uint16Array, + "%Uint32Array%": + "undefined" == typeof Uint32Array ? n : Uint32Array, + "%URIError%": URIError, + "%WeakMap%": "undefined" == typeof WeakMap ? n : WeakMap, + "%WeakRef%": "undefined" == typeof WeakRef ? n : WeakRef, + "%WeakSet%": "undefined" == typeof WeakSet ? n : WeakSet, + }; + try { + null.error; + } catch (t) { + var g = h(h(t)); + v["%Error.prototype%"] = g; + } + var y = function t(e) { + var r; + if ("%AsyncFunction%" === e) + r = s("async function () {}"); + else if ("%GeneratorFunction%" === e) + r = s("function* () {}"); + else if ("%AsyncGeneratorFunction%" === e) + r = s("async function* () {}"); + else if ("%AsyncGenerator%" === e) { + var n = t("%AsyncGeneratorFunction%"); + n && (r = n.prototype); + } else if ("%AsyncIteratorPrototype%" === e) { + var i = t("%AsyncGenerator%"); + i && (r = h(i.prototype)); + } + return (v[e] = r), r; + }, + m = { + "%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"], + "%ArrayPrototype%": ["Array", "prototype"], + "%ArrayProto_entries%": ["Array", "prototype", "entries"], + "%ArrayProto_forEach%": ["Array", "prototype", "forEach"], + "%ArrayProto_keys%": ["Array", "prototype", "keys"], + "%ArrayProto_values%": ["Array", "prototype", "values"], + "%AsyncFunctionPrototype%": [ + "AsyncFunction", + "prototype", + ], + "%AsyncGenerator%": [ + "AsyncGeneratorFunction", + "prototype", + ], + "%AsyncGeneratorPrototype%": [ + "AsyncGeneratorFunction", + "prototype", + "prototype", + ], + "%BooleanPrototype%": ["Boolean", "prototype"], + "%DataViewPrototype%": ["DataView", "prototype"], + "%DatePrototype%": ["Date", "prototype"], + "%ErrorPrototype%": ["Error", "prototype"], + "%EvalErrorPrototype%": ["EvalError", "prototype"], + "%Float32ArrayPrototype%": ["Float32Array", "prototype"], + "%Float64ArrayPrototype%": ["Float64Array", "prototype"], + "%FunctionPrototype%": ["Function", "prototype"], + "%Generator%": ["GeneratorFunction", "prototype"], + "%GeneratorPrototype%": [ + "GeneratorFunction", + "prototype", + "prototype", + ], + "%Int8ArrayPrototype%": ["Int8Array", "prototype"], + "%Int16ArrayPrototype%": ["Int16Array", "prototype"], + "%Int32ArrayPrototype%": ["Int32Array", "prototype"], + "%JSONParse%": ["JSON", "parse"], + "%JSONStringify%": ["JSON", "stringify"], + "%MapPrototype%": ["Map", "prototype"], + "%NumberPrototype%": ["Number", "prototype"], + "%ObjectPrototype%": ["Object", "prototype"], + "%ObjProto_toString%": [ + "Object", + "prototype", + "toString", + ], + "%ObjProto_valueOf%": ["Object", "prototype", "valueOf"], + "%PromisePrototype%": ["Promise", "prototype"], + "%PromiseProto_then%": ["Promise", "prototype", "then"], + "%Promise_all%": ["Promise", "all"], + "%Promise_reject%": ["Promise", "reject"], + "%Promise_resolve%": ["Promise", "resolve"], + "%RangeErrorPrototype%": ["RangeError", "prototype"], + "%ReferenceErrorPrototype%": [ + "ReferenceError", + "prototype", + ], + "%RegExpPrototype%": ["RegExp", "prototype"], + "%SetPrototype%": ["Set", "prototype"], + "%SharedArrayBufferPrototype%": [ + "SharedArrayBuffer", + "prototype", + ], + "%StringPrototype%": ["String", "prototype"], + "%SymbolPrototype%": ["Symbol", "prototype"], + "%SyntaxErrorPrototype%": ["SyntaxError", "prototype"], + "%TypedArrayPrototype%": ["TypedArray", "prototype"], + "%TypeErrorPrototype%": ["TypeError", "prototype"], + "%Uint8ArrayPrototype%": ["Uint8Array", "prototype"], + "%Uint8ClampedArrayPrototype%": [ + "Uint8ClampedArray", + "prototype", + ], + "%Uint16ArrayPrototype%": ["Uint16Array", "prototype"], + "%Uint32ArrayPrototype%": ["Uint32Array", "prototype"], + "%URIErrorPrototype%": ["URIError", "prototype"], + "%WeakMapPrototype%": ["WeakMap", "prototype"], + "%WeakSetPrototype%": ["WeakSet", "prototype"], + }, + x = r(77575), + b = r(35065), + _ = x.call(Function.call, Array.prototype.concat), + w = x.call(Function.apply, Array.prototype.splice), + T = x.call(Function.call, String.prototype.replace), + k = x.call(Function.call, String.prototype.slice), + A = x.call(Function.call, RegExp.prototype.exec), + M = + /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g, + S = /\\(\\)?/g, + E = function (t) { + var e = k(t, 0, 1), + r = k(t, -1); + if ("%" === e && "%" !== r) + throw new i( + "invalid intrinsic syntax, expected closing `%`", + ); + if ("%" === r && "%" !== e) + throw new i( + "invalid intrinsic syntax, expected opening `%`", + ); + var n = []; + return ( + T(t, M, function (t, e, r, i) { + n[n.length] = r ? T(i, S, "$1") : e || t; + }), + n + ); + }, + L = function (t, e) { + var r, + n = t; + if ( + (b(m, n) && (n = "%" + (r = m[n])[0] + "%"), b(v, n)) + ) { + var a = v[n]; + if ((a === p && (a = y(n)), void 0 === a && !e)) + throw new o( + "intrinsic " + + t + + " exists, but is not available. Please file an issue!", + ); + return { alias: r, name: n, value: a }; + } + throw new i("intrinsic " + t + " does not exist!"); + }; + t.exports = function (t, e) { + if ("string" != typeof t || 0 === t.length) + throw new o("intrinsic name must be a non-empty string"); + if (arguments.length > 1 && "boolean" != typeof e) + throw new o('"allowMissing" argument must be a boolean'); + if (null === A(/^%?[^%]*%?$/, t)) + throw new i( + "`%` may not be present anywhere but at the beginning and end of the intrinsic name", + ); + var r = E(t), + n = r.length > 0 ? r[0] : "", + a = L("%" + n + "%", e), + s = a.name, + u = a.value, + c = !1, + f = a.alias; + f && ((n = f[0]), w(r, _([0, 1], f))); + for (var h = 1, p = !0; h < r.length; h += 1) { + var d = r[h], + g = k(d, 0, 1), + y = k(d, -1); + if ( + ('"' === g || + "'" === g || + "`" === g || + '"' === y || + "'" === y || + "`" === y) && + g !== y + ) + throw new i( + "property names with quotes must have matching quotes", + ); + if ( + (("constructor" !== d && p) || (c = !0), + b(v, (s = "%" + (n += "." + d) + "%"))) + ) + u = v[s]; + else if (null != u) { + if (!(d in u)) { + if (!e) + throw new o( + "base intrinsic for " + + t + + " exists, but the property is not available.", + ); + return; + } + if (l && h + 1 >= r.length) { + var m = l(u, d); + u = + (p = !!m) && + "get" in m && + !("originalValue" in m.get) + ? m.get + : u[d]; + } else (p = b(u, d)), (u = u[d]); + p && !c && (v[s] = u); + } + } + return u; + }; + }, + 85400: function (t) { + t.exports = 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], + f = e[9], + h = e[10], + p = e[11], + d = e[12], + v = e[13], + g = e[14], + y = e[15]; + return ( + (t[0] = + s * (h * y - p * g) - + f * (l * y - u * g) + + v * (l * p - u * h)), + (t[1] = -( + n * (h * y - p * g) - + f * (i * y - a * g) + + v * (i * p - a * h) + )), + (t[2] = + n * (l * y - u * g) - + s * (i * y - a * g) + + v * (i * u - a * l)), + (t[3] = -( + n * (l * p - u * h) - + s * (i * p - a * h) + + f * (i * u - a * l) + )), + (t[4] = -( + o * (h * y - p * g) - + c * (l * y - u * g) + + d * (l * p - u * h) + )), + (t[5] = + r * (h * y - p * g) - + c * (i * y - a * g) + + d * (i * p - a * h)), + (t[6] = -( + r * (l * y - u * g) - + o * (i * y - a * g) + + d * (i * u - a * l) + )), + (t[7] = + r * (l * p - u * h) - + o * (i * p - a * h) + + c * (i * u - a * l)), + (t[8] = + o * (f * y - p * v) - + c * (s * y - u * v) + + d * (s * p - u * f)), + (t[9] = -( + r * (f * y - p * v) - + c * (n * y - a * v) + + d * (n * p - a * f) + )), + (t[10] = + r * (s * y - u * v) - + o * (n * y - a * v) + + d * (n * u - a * s)), + (t[11] = -( + r * (s * p - u * f) - + o * (n * p - a * f) + + c * (n * u - a * s) + )), + (t[12] = -( + o * (f * g - h * v) - + c * (s * g - l * v) + + d * (s * h - l * f) + )), + (t[13] = + r * (f * g - h * v) - + c * (n * g - i * v) + + d * (n * h - i * f)), + (t[14] = -( + r * (s * g - l * v) - + o * (n * g - i * v) + + d * (n * l - i * s) + )), + (t[15] = + r * (s * h - l * f) - + o * (n * h - i * f) + + c * (n * l - i * s)), + t + ); + }; + }, + 42331: function (t) { + t.exports = 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 + ); + }; + }, + 31042: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = e[0]), + (t[1] = e[1]), + (t[2] = e[2]), + (t[3] = e[3]), + (t[4] = e[4]), + (t[5] = e[5]), + (t[6] = e[6]), + (t[7] = e[7]), + (t[8] = e[8]), + (t[9] = e[9]), + (t[10] = e[10]), + (t[11] = e[11]), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15]), + t + ); + }; + }, + 11902: function (t) { + t.exports = 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 + ); + }; + }, + 89887: function (t) { + t.exports = 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], + f = t[10], + h = t[11], + p = t[12], + d = t[13], + v = t[14], + g = t[15]; + return ( + (e * o - r * a) * (f * g - h * v) - + (e * s - n * a) * (c * g - h * d) + + (e * l - i * a) * (c * v - f * d) + + (r * s - n * o) * (u * g - h * p) - + (r * l - i * o) * (u * v - f * p) + + (n * l - i * s) * (u * d - c * p) + ); + }; + }, + 27812: function (t) { + t.exports = 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, + f = n * s, + h = i * o, + p = i * s, + d = i * l, + v = a * o, + g = a * s, + y = a * l; + return ( + (t[0] = 1 - f - d), + (t[1] = c + y), + (t[2] = h - g), + (t[3] = 0), + (t[4] = c - y), + (t[5] = 1 - u - d), + (t[6] = p + v), + (t[7] = 0), + (t[8] = h + g), + (t[9] = p - v), + (t[10] = 1 - u - f), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + 34045: function (t) { + t.exports = function (t, e, r) { + var n, + i, + a, + o = r[0], + s = r[1], + l = r[2], + u = Math.sqrt(o * o + s * s + l * l); + return Math.abs(u) < 1e-6 + ? null + : ((o *= u = 1 / u), + (s *= u), + (l *= u), + (n = Math.sin(e)), + (a = 1 - (i = Math.cos(e))), + (t[0] = o * o * a + i), + (t[1] = s * o * a + l * n), + (t[2] = l * o * a - s * n), + (t[3] = 0), + (t[4] = o * s * a - l * n), + (t[5] = s * s * a + i), + (t[6] = l * s * a + o * n), + (t[7] = 0), + (t[8] = o * l * a + s * n), + (t[9] = s * l * a - o * n), + (t[10] = l * l * a + i), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t); + }; + }, + 45973: function (t) { + t.exports = 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, + f = n * l, + h = n * u, + p = i * l, + d = i * u, + v = a * u, + g = o * s, + y = o * l, + m = o * u; + return ( + (t[0] = 1 - (p + v)), + (t[1] = f + m), + (t[2] = h - y), + (t[3] = 0), + (t[4] = f - m), + (t[5] = 1 - (c + v)), + (t[6] = d + g), + (t[7] = 0), + (t[8] = h + y), + (t[9] = d - g), + (t[10] = 1 - (c + p)), + (t[11] = 0), + (t[12] = r[0]), + (t[13] = r[1]), + (t[14] = r[2]), + (t[15] = 1), + t + ); + }; + }, + 81472: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = e[0]), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = e[1]), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = e[2]), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + 14669: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = 1), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = 1), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = 1), + (t[11] = 0), + (t[12] = e[0]), + (t[13] = e[1]), + (t[14] = e[2]), + (t[15] = 1), + t + ); + }; + }, + 75262: function (t) { + t.exports = function (t, e) { + var r = Math.sin(e), + n = Math.cos(e); + return ( + (t[0] = 1), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = n), + (t[6] = r), + (t[7] = 0), + (t[8] = 0), + (t[9] = -r), + (t[10] = n), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + 331: function (t) { + t.exports = function (t, e) { + var r = Math.sin(e), + n = Math.cos(e); + return ( + (t[0] = n), + (t[1] = 0), + (t[2] = -r), + (t[3] = 0), + (t[4] = 0), + (t[5] = 1), + (t[6] = 0), + (t[7] = 0), + (t[8] = r), + (t[9] = 0), + (t[10] = n), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + 11049: function (t) { + t.exports = function (t, e) { + var r = Math.sin(e), + n = Math.cos(e); + return ( + (t[0] = n), + (t[1] = r), + (t[2] = 0), + (t[3] = 0), + (t[4] = -r), + (t[5] = n), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = 1), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + 75195: function (t) { + t.exports = function (t, e, r, n, i, a, o) { + var s = 1 / (r - e), + l = 1 / (i - n), + u = 1 / (a - o); + return ( + (t[0] = 2 * a * s), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = 2 * a * l), + (t[6] = 0), + (t[7] = 0), + (t[8] = (r + e) * s), + (t[9] = (i + n) * l), + (t[10] = (o + a) * u), + (t[11] = -1), + (t[12] = 0), + (t[13] = 0), + (t[14] = o * a * 2 * u), + (t[15] = 0), + t + ); + }; + }, + 71551: function (t) { + t.exports = 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 + ); + }; + }, + 79576: function (t, e, r) { + t.exports = { + create: r(11902), + clone: r(42331), + copy: r(31042), + identity: r(71551), + transpose: r(88654), + invert: r(95874), + adjoint: r(85400), + determinant: r(89887), + multiply: r(91362), + translate: r(31283), + scale: r(10789), + rotate: r(65074), + rotateX: r(35545), + rotateY: r(94918), + rotateZ: r(15692), + fromRotation: r(34045), + fromRotationTranslation: r(45973), + fromScaling: r(81472), + fromTranslation: r(14669), + fromXRotation: r(75262), + fromYRotation: r(331), + fromZRotation: r(11049), + fromQuat: r(27812), + frustum: r(75195), + perspective: r(7864), + perspectiveFromFieldOfView: r(35279), + ortho: r(60378), + lookAt: r(65551), + str: r(6726), + }; + }, + 95874: function (t) { + t.exports = 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], + f = e[9], + h = e[10], + p = e[11], + d = e[12], + v = e[13], + g = e[14], + y = e[15], + m = r * s - n * o, + x = r * l - i * o, + b = r * u - a * o, + _ = n * l - i * s, + w = n * u - a * s, + T = i * u - a * l, + k = c * v - f * d, + A = c * g - h * d, + M = c * y - p * d, + S = f * g - h * v, + E = f * y - p * v, + L = h * y - p * g, + C = m * L - x * E + b * S + _ * M - w * A + T * k; + return C + ? ((C = 1 / C), + (t[0] = (s * L - l * E + u * S) * C), + (t[1] = (i * E - n * L - a * S) * C), + (t[2] = (v * T - g * w + y * _) * C), + (t[3] = (h * w - f * T - p * _) * C), + (t[4] = (l * M - o * L - u * A) * C), + (t[5] = (r * L - i * M + a * A) * C), + (t[6] = (g * b - d * T - y * x) * C), + (t[7] = (c * T - h * b + p * x) * C), + (t[8] = (o * E - s * M + u * k) * C), + (t[9] = (n * M - r * E - a * k) * C), + (t[10] = (d * w - v * b + y * m) * C), + (t[11] = (f * b - c * w - p * m) * C), + (t[12] = (s * A - o * S - l * k) * C), + (t[13] = (r * S - n * A + i * k) * C), + (t[14] = (v * x - d * _ - g * m) * C), + (t[15] = (c * _ - f * x + h * m) * C), + t) + : null; + }; + }, + 65551: function (t, e, r) { + var n = r(71551); + t.exports = function (t, e, r, i) { + var a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v = e[0], + g = e[1], + y = e[2], + m = i[0], + x = i[1], + b = i[2], + _ = r[0], + w = r[1], + T = r[2]; + return Math.abs(v - _) < 1e-6 && + Math.abs(g - w) < 1e-6 && + Math.abs(y - T) < 1e-6 + ? n(t) + : ((f = v - _), + (h = g - w), + (p = y - T), + (a = + x * (p *= d = 1 / Math.sqrt(f * f + h * h + p * p)) - + b * (h *= d)), + (o = b * (f *= d) - m * p), + (s = m * h - x * f), + (d = Math.sqrt(a * a + o * o + s * s)) + ? ((a *= d = 1 / d), (o *= d), (s *= d)) + : ((a = 0), (o = 0), (s = 0)), + (l = h * s - p * o), + (u = p * a - f * s), + (c = f * o - h * a), + (d = Math.sqrt(l * l + u * u + c * c)) + ? ((l *= d = 1 / d), (u *= d), (c *= d)) + : ((l = 0), (u = 0), (c = 0)), + (t[0] = a), + (t[1] = l), + (t[2] = f), + (t[3] = 0), + (t[4] = o), + (t[5] = u), + (t[6] = h), + (t[7] = 0), + (t[8] = s), + (t[9] = c), + (t[10] = p), + (t[11] = 0), + (t[12] = -(a * v + o * g + s * y)), + (t[13] = -(l * v + u * g + c * y)), + (t[14] = -(f * v + h * g + p * y)), + (t[15] = 1), + t); + }; + }, + 91362: function (t) { + t.exports = 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], + f = e[8], + h = e[9], + p = e[10], + d = e[11], + v = e[12], + g = e[13], + y = e[14], + m = e[15], + x = r[0], + b = r[1], + _ = r[2], + w = r[3]; + return ( + (t[0] = x * n + b * s + _ * f + w * v), + (t[1] = x * i + b * l + _ * h + w * g), + (t[2] = x * a + b * u + _ * p + w * y), + (t[3] = x * o + b * c + _ * d + w * m), + (x = r[4]), + (b = r[5]), + (_ = r[6]), + (w = r[7]), + (t[4] = x * n + b * s + _ * f + w * v), + (t[5] = x * i + b * l + _ * h + w * g), + (t[6] = x * a + b * u + _ * p + w * y), + (t[7] = x * o + b * c + _ * d + w * m), + (x = r[8]), + (b = r[9]), + (_ = r[10]), + (w = r[11]), + (t[8] = x * n + b * s + _ * f + w * v), + (t[9] = x * i + b * l + _ * h + w * g), + (t[10] = x * a + b * u + _ * p + w * y), + (t[11] = x * o + b * c + _ * d + w * m), + (x = r[12]), + (b = r[13]), + (_ = r[14]), + (w = r[15]), + (t[12] = x * n + b * s + _ * f + w * v), + (t[13] = x * i + b * l + _ * h + w * g), + (t[14] = x * a + b * u + _ * p + w * y), + (t[15] = x * o + b * c + _ * d + w * m), + t + ); + }; + }, + 60378: function (t) { + t.exports = 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 + ); + }; + }, + 7864: function (t) { + t.exports = 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 + ); + }; + }, + 35279: function (t) { + t.exports = function (t, e, r, n) { + var i = Math.tan((e.upDegrees * Math.PI) / 180), + a = Math.tan((e.downDegrees * Math.PI) / 180), + o = Math.tan((e.leftDegrees * Math.PI) / 180), + s = Math.tan((e.rightDegrees * Math.PI) / 180), + l = 2 / (o + s), + u = 2 / (i + a); + return ( + (t[0] = l), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = u), + (t[6] = 0), + (t[7] = 0), + (t[8] = -(o - s) * l * 0.5), + (t[9] = (i - a) * u * 0.5), + (t[10] = n / (r - n)), + (t[11] = -1), + (t[12] = 0), + (t[13] = 0), + (t[14] = (n * r) / (r - n)), + (t[15] = 0), + t + ); + }; + }, + 65074: function (t) { + t.exports = function (t, e, r, n) { + var i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + w, + T, + k, + A, + M, + S, + E = n[0], + L = n[1], + C = n[2], + P = Math.sqrt(E * E + L * L + C * C); + return Math.abs(P) < 1e-6 + ? null + : ((E *= P = 1 / P), + (L *= P), + (C *= P), + (i = Math.sin(r)), + (o = 1 - (a = Math.cos(r))), + (s = e[0]), + (l = e[1]), + (u = e[2]), + (c = e[3]), + (f = e[4]), + (h = e[5]), + (p = e[6]), + (d = e[7]), + (v = e[8]), + (g = e[9]), + (y = e[10]), + (m = e[11]), + (x = E * E * o + a), + (b = L * E * o + C * i), + (_ = C * E * o - L * i), + (w = E * L * o - C * i), + (T = L * L * o + a), + (k = C * L * o + E * i), + (A = E * C * o + L * i), + (M = L * C * o - E * i), + (S = C * C * o + a), + (t[0] = s * x + f * b + v * _), + (t[1] = l * x + h * b + g * _), + (t[2] = u * x + p * b + y * _), + (t[3] = c * x + d * b + m * _), + (t[4] = s * w + f * T + v * k), + (t[5] = l * w + h * T + g * k), + (t[6] = u * w + p * T + y * k), + (t[7] = c * w + d * T + m * k), + (t[8] = s * A + f * M + v * S), + (t[9] = l * A + h * M + g * S), + (t[10] = u * A + p * M + y * S), + (t[11] = c * A + d * M + m * S), + e !== t && + ((t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15])), + t); + }; + }, + 35545: function (t) { + t.exports = 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], + f = e[10], + h = 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 + f * n), + (t[7] = l * i + h * n), + (t[8] = u * i - a * n), + (t[9] = c * i - o * n), + (t[10] = f * i - s * n), + (t[11] = h * i - l * n), + t + ); + }; + }, + 94918: function (t) { + t.exports = 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], + f = e[10], + h = e[11]; + return ( + e !== t && + ((t[4] = e[4]), + (t[5] = e[5]), + (t[6] = e[6]), + (t[7] = e[7]), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15])), + (t[0] = a * i - u * n), + (t[1] = o * i - c * n), + (t[2] = s * i - f * n), + (t[3] = l * i - h * n), + (t[8] = a * n + u * i), + (t[9] = o * n + c * i), + (t[10] = s * n + f * i), + (t[11] = l * n + h * i), + t + ); + }; + }, + 15692: function (t) { + t.exports = 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], + f = e[6], + h = 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 + f * n), + (t[3] = l * i + h * n), + (t[4] = u * i - a * n), + (t[5] = c * i - o * n), + (t[6] = f * i - s * n), + (t[7] = h * i - l * n), + t + ); + }; + }, + 10789: function (t) { + t.exports = 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 + ); + }; + }, + 6726: function (t) { + t.exports = function (t) { + return ( + "mat4(" + + t[0] + + ", " + + t[1] + + ", " + + t[2] + + ", " + + t[3] + + ", " + + t[4] + + ", " + + t[5] + + ", " + + t[6] + + ", " + + t[7] + + ", " + + t[8] + + ", " + + t[9] + + ", " + + t[10] + + ", " + + t[11] + + ", " + + t[12] + + ", " + + t[13] + + ", " + + t[14] + + ", " + + t[15] + + ")" + ); + }; + }, + 31283: function (t) { + t.exports = function (t, e, r) { + var n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v = r[0], + g = r[1], + y = r[2]; + return ( + e === t + ? ((t[12] = e[0] * v + e[4] * g + e[8] * y + e[12]), + (t[13] = e[1] * v + e[5] * g + e[9] * y + e[13]), + (t[14] = e[2] * v + e[6] * g + e[10] * y + e[14]), + (t[15] = e[3] * v + e[7] * g + e[11] * y + 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]), + (f = e[8]), + (h = 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] = f), + (t[9] = h), + (t[10] = p), + (t[11] = d), + (t[12] = n * v + s * g + f * y + e[12]), + (t[13] = i * v + l * g + h * y + e[13]), + (t[14] = a * v + u * g + p * y + e[14]), + (t[15] = o * v + c * g + d * y + e[15])), + t + ); + }; + }, + 88654: function (t) { + t.exports = 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; + }; + }, + 42505: function (t, e, r) { + "use strict"; + var n = r(72791), + i = r(71299), + a = r(98580), + o = r(12018), + s = r(83522), + l = r(25075), + u = r(68016), + c = r(58404), + f = r(18863), + h = r(10973), + p = r(25677), + d = r(75686), + v = r(53545), + g = r(56131), + y = r(32879), + m = r(30120), + x = r(13547).nextPow2, + b = new s(), + _ = !1; + if (document.body) { + var w = document.body.appendChild( + document.createElement("div"), + ); + (w.style.font = + "italic small-caps bold condensed 16px/2 cursive"), + getComputedStyle(w).fontStretch && (_ = !0), + document.body.removeChild(w); + } + var T = function (t) { + !(function (t) { + return ( + "function" == typeof t && + t._gl && + t.prop && + t.texture && + t.buffer + ); + })(t) + ? (this.gl = o(t)) + : ((t = { regl: t }), (this.gl = t.regl._gl)), + (this.shader = b.get(this.gl)), + this.shader + ? (this.regl = this.shader.regl) + : (this.regl = t.regl || a({ gl: this.gl })), + (this.charBuffer = this.regl.buffer({ + type: "uint8", + usage: "stream", + })), + (this.sizeBuffer = this.regl.buffer({ + type: "float", + usage: "stream", + })), + this.shader || + ((this.shader = this.createShader()), + b.set(this.gl, this.shader)), + (this.batch = []), + (this.fontSize = []), + (this.font = []), + (this.fontAtlas = []), + (this.draw = this.shader.draw.bind(this)), + (this.render = function () { + this.regl._refresh(), this.draw(this.batch); + }), + (this.canvas = this.gl.canvas), + this.update(h(t) ? t : {}); + }; + (T.prototype.createShader = function () { + var t = this.regl, + e = t({ + blend: { + enable: !0, + color: [0, 0, 0, 1], + func: { + srcRGB: "src alpha", + dstRGB: "one minus src alpha", + srcAlpha: "one minus dst alpha", + dstAlpha: "one", + }, + }, + stencil: { enable: !1 }, + depth: { enable: !1 }, + count: t.prop("count"), + offset: t.prop("offset"), + attributes: { + charOffset: { + offset: 4, + stride: 8, + buffer: t.this("sizeBuffer"), + }, + width: { + offset: 0, + stride: 8, + buffer: t.this("sizeBuffer"), + }, + char: t.this("charBuffer"), + position: t.this("position"), + }, + uniforms: { + atlasSize: function (t, e) { + return [e.atlas.width, e.atlas.height]; + }, + atlasDim: function (t, e) { + return [e.atlas.cols, e.atlas.rows]; + }, + atlas: function (t, e) { + return e.atlas.texture; + }, + charStep: function (t, e) { + return e.atlas.step; + }, + em: function (t, e) { + return e.atlas.em; + }, + color: t.prop("color"), + opacity: t.prop("opacity"), + viewport: t.this("viewportArray"), + scale: t.this("scale"), + align: t.prop("align"), + baseline: t.prop("baseline"), + translate: t.this("translate"), + positionOffset: t.prop("positionOffset"), + }, + primitive: "points", + viewport: t.this("viewport"), + vert: "\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ vec2(positionOffset.x, -positionOffset.y)))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}", + frag: "\n\t\t\tprecision highp float;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform sampler2D atlas;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}", + }); + return { regl: t, draw: e, atlas: {} }; + }), + (T.prototype.update = function (t) { + var e = this; + if ("string" == typeof t) t = { text: t }; + else if (!t) return; + null != + (t = i( + t, + { + position: + "position positions coord coords coordinates", + font: "font fontFace fontface typeface cssFont css-font family fontFamily", + fontSize: "fontSize fontsize size font-size", + text: "text texts chars characters value values symbols", + align: "align alignment textAlign textbaseline", + baseline: "baseline textBaseline textbaseline", + direction: "dir direction textDirection", + color: + "color colour fill fill-color fillColor textColor textcolor", + kerning: "kerning kern", + range: "range dataBox", + viewport: "vp viewport viewBox viewbox viewPort", + opacity: + "opacity alpha transparency visible visibility opaque", + offset: + "offset positionOffset padding shift indent indentation", + }, + !0, + )).opacity && + (Array.isArray(t.opacity) + ? (this.opacity = t.opacity.map(function (t) { + return parseFloat(t); + })) + : (this.opacity = parseFloat(t.opacity))), + null != t.viewport && + ((this.viewport = f(t.viewport)), + (this.viewportArray = [ + this.viewport.x, + this.viewport.y, + this.viewport.width, + this.viewport.height, + ])), + null == this.viewport && + ((this.viewport = { + x: 0, + y: 0, + width: this.gl.drawingBufferWidth, + height: this.gl.drawingBufferHeight, + }), + (this.viewportArray = [ + this.viewport.x, + this.viewport.y, + this.viewport.width, + this.viewport.height, + ])), + null != t.kerning && (this.kerning = t.kerning), + null != t.offset && + ("number" == typeof t.offset && + (t.offset = [t.offset, 0]), + (this.positionOffset = m(t.offset))), + t.direction && (this.direction = t.direction), + t.range && + ((this.range = t.range), + (this.scale = [ + 1 / (t.range[2] - t.range[0]), + 1 / (t.range[3] - t.range[1]), + ]), + (this.translate = [-t.range[0], -t.range[1]])), + t.scale && (this.scale = t.scale), + t.translate && (this.translate = t.translate), + this.scale || + (this.scale = [ + 1 / this.viewport.width, + 1 / this.viewport.height, + ]), + this.translate || (this.translate = [0, 0]), + this.font.length || + t.font || + (t.font = T.baseFontSize + "px sans-serif"); + var r, + a = !1, + o = !1; + if ( + (t.font && + (Array.isArray(t.font) ? t.font : [t.font]).forEach( + function (t, r) { + if ("string" == typeof t) + try { + t = n.parse(t); + } catch (e) { + t = n.parse(T.baseFontSize + "px " + t); + } + else t = n.parse(n.stringify(t)); + var i = n.stringify({ + size: T.baseFontSize, + family: t.family, + stretch: _ ? t.stretch : void 0, + variant: t.variant, + weight: t.weight, + style: t.style, + }), + s = p(t.size), + l = Math.round(s[0] * d(s[1])); + if ( + (l !== e.fontSize[r] && + ((o = !0), (e.fontSize[r] = l)), + !( + (e.font[r] && i == e.font[r].baseString) || + ((a = !0), + (e.font[r] = T.fonts[i]), + e.font[r]) + )) + ) { + var u = t.family.join(", "), + c = [t.style]; + t.style != t.variant && c.push(t.variant), + t.variant != t.weight && c.push(t.weight), + _ && + t.weight != t.stretch && + c.push(t.stretch), + (e.font[r] = { + baseString: i, + family: u, + weight: t.weight, + stretch: t.stretch, + style: t.style, + variant: t.variant, + width: {}, + kerning: {}, + metrics: y(u, { + origin: "top", + fontSize: T.baseFontSize, + fontStyle: c.join(" "), + }), + }), + (T.fonts[i] = e.font[r]); + } + }, + ), + (a || o) && + this.font.forEach(function (r, i) { + var a = n.stringify({ + size: e.fontSize[i], + family: r.family, + stretch: _ ? r.stretch : void 0, + variant: r.variant, + weight: r.weight, + style: r.style, + }); + if ( + ((e.fontAtlas[i] = e.shader.atlas[a]), + !e.fontAtlas[i]) + ) { + var o = r.metrics; + e.shader.atlas[a] = e.fontAtlas[i] = { + fontString: a, + step: + 2 * Math.ceil(e.fontSize[i] * o.bottom * 0.5), + em: e.fontSize[i], + cols: 0, + rows: 0, + height: 0, + width: 0, + chars: [], + ids: {}, + texture: e.regl.texture(), + }; + } + null == t.text && (t.text = e.text); + }), + "string" == typeof t.text && + t.position && + t.position.length > 2) + ) { + for ( + var s = Array(0.5 * t.position.length), h = 0; + h < s.length; + h++ + ) + s[h] = t.text; + t.text = s; + } + if (null != t.text || a) { + if (((this.textOffsets = [0]), Array.isArray(t.text))) { + (this.count = t.text[0].length), + (this.counts = [this.count]); + for (var b = 1; b < t.text.length; b++) + (this.textOffsets[b] = + this.textOffsets[b - 1] + t.text[b - 1].length), + (this.count += t.text[b].length), + this.counts.push(t.text[b].length); + this.text = t.text.join(""); + } else + (this.text = t.text), + (this.count = this.text.length), + (this.counts = [this.count]); + (r = []), + this.font.forEach(function (t, n) { + T.atlasContext.font = t.baseString; + for ( + var i = e.fontAtlas[n], a = 0; + a < e.text.length; + a++ + ) { + var o = e.text.charAt(a); + if ( + (null == i.ids[o] && + ((i.ids[o] = i.chars.length), + i.chars.push(o), + r.push(o)), + null == t.width[o] && + ((t.width[o] = + T.atlasContext.measureText(o).width / + T.baseFontSize), + e.kerning)) + ) { + var s = []; + for (var l in t.width) s.push(l + o, o + l); + g(t.kerning, v(t.family, { pairs: s })); + } + } + }); + } + if (t.position) + if (t.position.length > 2) { + for ( + var w = !t.position[0].length, + k = c.mallocFloat(2 * this.count), + A = 0, + M = 0; + A < this.counts.length; + A++ + ) { + var S = this.counts[A]; + if (w) + for (var E = 0; E < S; E++) + (k[M++] = t.position[2 * A]), + (k[M++] = t.position[2 * A + 1]); + else + for (var L = 0; L < S; L++) + (k[M++] = t.position[A][0]), + (k[M++] = t.position[A][1]); + } + this.position.call + ? this.position({ type: "float", data: k }) + : (this.position = this.regl.buffer({ + type: "float", + data: k, + })), + c.freeFloat(k); + } else + this.position.destroy && this.position.destroy(), + (this.position = { constant: t.position }); + if (t.text || a) { + var C = c.mallocUint8(this.count), + P = c.mallocFloat(2 * this.count); + this.textWidth = []; + for (var O = 0, I = 0; O < this.counts.length; O++) { + for ( + var D = this.counts[O], + z = this.font[O] || this.font[0], + R = this.fontAtlas[O] || this.fontAtlas[0], + F = 0; + F < D; + F++ + ) { + var B = this.text.charAt(I), + N = this.text.charAt(I - 1); + if ( + ((C[I] = R.ids[B]), (P[2 * I] = z.width[B]), F) + ) { + var j = P[2 * I - 2], + U = P[2 * I], + V = P[2 * I - 1] + 0.5 * j + 0.5 * U; + if (this.kerning) { + var H = z.kerning[N + B]; + H && (V += 0.001 * H); + } + P[2 * I + 1] = V; + } else P[2 * I + 1] = 0.5 * P[2 * I]; + I++; + } + this.textWidth.push( + P.length ? 0.5 * P[2 * I - 2] + P[2 * I - 1] : 0, + ); + } + t.align || (t.align = this.align), + this.charBuffer({ + data: C, + type: "uint8", + usage: "stream", + }), + this.sizeBuffer({ + data: P, + type: "float", + usage: "stream", + }), + c.freeUint8(C), + c.freeFloat(P), + r.length && + this.font.forEach(function (t, r) { + var n = e.fontAtlas[r], + i = n.step, + a = Math.floor(T.maxAtlasSize / i), + o = Math.min(a, n.chars.length), + s = Math.ceil(n.chars.length / o), + l = x(o * i), + c = x(s * i); + (n.width = l), + (n.height = c), + (n.rows = s), + (n.cols = o), + n.em && + n.texture({ + data: u({ + canvas: T.atlasCanvas, + font: n.fontString, + chars: n.chars, + shape: [l, c], + step: [i, i], + }), + }); + }); + } + if ( + (t.align && + ((this.align = t.align), + (this.alignOffset = this.textWidth.map( + function (t, r) { + var n = Array.isArray(e.align) + ? e.align.length > 1 + ? e.align[r] + : e.align[0] + : e.align; + if ("number" == typeof n) return n; + switch (n) { + case "right": + case "end": + return -t; + case "center": + case "centre": + case "middle": + return 0.5 * -t; + } + return 0; + }, + ))), + null == this.baseline && + null == t.baseline && + (t.baseline = 0), + null != t.baseline && + ((this.baseline = t.baseline), + Array.isArray(this.baseline) || + (this.baseline = [this.baseline]), + (this.baselineOffset = this.baseline.map( + function (t, r) { + var n = (e.font[r] || e.font[0]).metrics, + i = 0; + return ( + (i += 0.5 * n.bottom), + -1 * + (i += + "number" == typeof t + ? t - n.baseline + : -n[t]) + ); + }, + ))), + null != t.color) + ) + if ( + (t.color || (t.color = "transparent"), + "string" != typeof t.color && isNaN(t.color)) + ) { + var q; + if ( + "number" == typeof t.color[0] && + t.color.length > this.counts.length + ) { + var G = t.color.length; + q = c.mallocUint8(G); + for ( + var Z = (t.color.subarray || t.color.slice).bind( + t.color, + ), + Y = 0; + Y < G; + Y += 4 + ) + q.set(l(Z(Y, Y + 4), "uint8"), Y); + } else { + var W = t.color.length; + q = c.mallocUint8(4 * W); + for (var X = 0; X < W; X++) + q.set(l(t.color[X] || 0, "uint8"), 4 * X); + } + this.color = q; + } else this.color = l(t.color, "uint8"); + if ( + t.position || + t.text || + t.color || + t.baseline || + t.align || + t.font || + t.offset || + t.opacity + ) + if ( + this.color.length > 4 || + this.baselineOffset.length > 1 || + (this.align && this.align.length > 1) || + this.fontAtlas.length > 1 || + this.positionOffset.length > 2 + ) { + var J = Math.max( + 0.5 * this.position.length || 0, + 0.25 * this.color.length || 0, + this.baselineOffset.length || 0, + this.alignOffset.length || 0, + this.font.length || 0, + this.opacity.length || 0, + 0.5 * this.positionOffset.length || 0, + ); + this.batch = Array(J); + for (var K = 0; K < this.batch.length; K++) + this.batch[K] = { + count: + this.counts.length > 1 + ? this.counts[K] + : this.counts[0], + offset: + this.textOffsets.length > 1 + ? this.textOffsets[K] + : this.textOffsets[0], + color: this.color + ? this.color.length <= 4 + ? this.color + : this.color.subarray(4 * K, 4 * K + 4) + : [0, 0, 0, 255], + opacity: Array.isArray(this.opacity) + ? this.opacity[K] + : this.opacity, + baseline: + null != this.baselineOffset[K] + ? this.baselineOffset[K] + : this.baselineOffset[0], + align: this.align + ? null != this.alignOffset[K] + ? this.alignOffset[K] + : this.alignOffset[0] + : 0, + atlas: this.fontAtlas[K] || this.fontAtlas[0], + positionOffset: + this.positionOffset.length > 2 + ? this.positionOffset.subarray( + 2 * K, + 2 * K + 2, + ) + : this.positionOffset, + }; + } else + this.count + ? (this.batch = [ + { + count: this.count, + offset: 0, + color: this.color || [0, 0, 0, 255], + opacity: Array.isArray(this.opacity) + ? this.opacity[0] + : this.opacity, + baseline: this.baselineOffset[0], + align: this.alignOffset + ? this.alignOffset[0] + : 0, + atlas: this.fontAtlas[0], + positionOffset: this.positionOffset, + }, + ]) + : (this.batch = []); + }), + (T.prototype.destroy = function () {}), + (T.prototype.kerning = !0), + (T.prototype.position = { constant: new Float32Array(2) }), + (T.prototype.translate = null), + (T.prototype.scale = null), + (T.prototype.font = null), + (T.prototype.text = ""), + (T.prototype.positionOffset = [0, 0]), + (T.prototype.opacity = 1), + (T.prototype.color = new Uint8Array([0, 0, 0, 255])), + (T.prototype.alignOffset = [0, 0]), + (T.maxAtlasSize = 1024), + (T.atlasCanvas = document.createElement("canvas")), + (T.atlasContext = T.atlasCanvas.getContext("2d", { + alpha: !1, + })), + (T.baseFontSize = 64), + (T.fonts = {}), + (t.exports = T); + }, + 12018: function (t, e, r) { + "use strict"; + var n = r(71299); + function i(t) { + if (t.container) + if (t.container == document.body) + document.body.style.width || + (t.canvas.width = + t.width || t.pixelRatio * r.g.innerWidth), + document.body.style.height || + (t.canvas.height = + t.height || t.pixelRatio * r.g.innerHeight); + else { + var e = t.container.getBoundingClientRect(); + (t.canvas.width = t.width || e.right - e.left), + (t.canvas.height = t.height || e.bottom - e.top); + } + } + function a(t) { + return ( + "function" == typeof t.getContext && + "width" in t && + "height" in t + ); + } + function o() { + var t = document.createElement("canvas"); + return ( + (t.style.position = "absolute"), + (t.style.top = 0), + (t.style.left = 0), + t + ); + } + t.exports = function (t) { + var e; + if ( + (t + ? "string" == typeof t && (t = { container: t }) + : (t = {}), + (t = + a(t) || + ("string" == typeof (e = t).nodeName && + "function" == typeof e.appendChild && + "function" == typeof e.getBoundingClientRect) + ? { container: t } + : (function (t) { + return ( + "function" == typeof t.drawArrays || + "function" == typeof t.drawElements + ); + })(t) + ? { gl: t } + : n( + t, + { + container: + "container target element el canvas holder parent parentNode wrapper use ref root node", + gl: "gl context webgl glContext", + attrs: "attributes attrs contextAttributes", + pixelRatio: + "pixelRatio pxRatio px ratio pxratio pixelratio", + width: "w width", + height: "h height", + }, + !0, + )).pixelRatio || + (t.pixelRatio = r.g.pixelRatio || 1), + t.gl) + ) + return t.gl; + if ( + (t.canvas && (t.container = t.canvas.parentNode), + t.container) + ) { + if ("string" == typeof t.container) { + var s = document.querySelector(t.container); + if (!s) + throw Error( + "Element " + t.container + " is not found", + ); + t.container = s; + } + a(t.container) + ? ((t.canvas = t.container), + (t.container = t.canvas.parentNode)) + : t.canvas || + ((t.canvas = o()), + t.container.appendChild(t.canvas), + i(t)); + } else if (!t.canvas) { + if ("undefined" == typeof document) + throw Error("Not DOM environment. Use headless-gl."); + (t.container = document.body || document.documentElement), + (t.canvas = o()), + t.container.appendChild(t.canvas), + i(t); + } + return ( + t.gl || + [ + "webgl", + "experimental-webgl", + "webgl-experimental", + ].some(function (e) { + try { + t.gl = t.canvas.getContext(e, t.attrs); + } catch (t) {} + return t.gl; + }), + t.gl + ); + }; + }, + 56068: function (t) { + t.exports = 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(""); + }; + }, + 40383: function (t, e, r) { + "use strict"; + var n = r(68318)("%Object.getOwnPropertyDescriptor%", !0); + if (n) + try { + n([], "length"); + } catch (t) { + n = null; + } + t.exports = n; + }, + 57035: function (t, e, r) { + "use strict"; + var n, + i = r(54404); + (n = + "function" == typeof r.g.matchMedia + ? !r.g.matchMedia("(hover: none)").matches + : i), + (t.exports = n); + }, + 38520: function (t, e, r) { + "use strict"; + var n = r(54404); + t.exports = + n && + (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; + })(); + }, + 55622: function (t, e, r) { + "use strict"; + var n = r(68318)("%Object.defineProperty%", !0), + i = function () { + if (n) + try { + return n({}, "a", { value: 1 }), !0; + } catch (t) { + return !1; + } + return !1; + }; + (i.hasArrayLengthDefineBug = function () { + if (!i()) return null; + try { + return 1 !== n([], "length", { value: 1 }).length; + } catch (t) { + return !0; + } + }), + (t.exports = i); + }, + 57877: function (t, e, r) { + "use strict"; + var n = "undefined" != typeof Symbol && Symbol, + i = r(35638); + t.exports = function () { + return ( + "function" == typeof n && + "function" == typeof Symbol && + "symbol" == typeof n("foo") && + "symbol" == typeof Symbol("bar") && + i() + ); + }; + }, + 35638: function (t) { + "use strict"; + t.exports = function () { + if ( + "function" != typeof Symbol || + "function" != typeof Object.getOwnPropertySymbols + ) + return !1; + if ("symbol" == typeof Symbol.iterator) return !0; + var t = {}, + e = Symbol("test"), + r = Object(e); + if ("string" == typeof e) return !1; + if ("[object Symbol]" !== Object.prototype.toString.call(e)) + return !1; + if ("[object Symbol]" !== Object.prototype.toString.call(r)) + return !1; + for (e in ((t[e] = 42), t)) return !1; + if ( + "function" == typeof Object.keys && + 0 !== Object.keys(t).length + ) + return !1; + if ( + "function" == typeof Object.getOwnPropertyNames && + 0 !== Object.getOwnPropertyNames(t).length + ) + return !1; + var n = Object.getOwnPropertySymbols(t); + if (1 !== n.length || n[0] !== e) return !1; + if (!Object.prototype.propertyIsEnumerable.call(t, e)) + return !1; + if ("function" == typeof Object.getOwnPropertyDescriptor) { + var i = Object.getOwnPropertyDescriptor(t, e); + if (42 !== i.value || !0 !== i.enumerable) return !1; + } + return !0; + }; + }, + 84543: function (t, e, r) { + "use strict"; + var n = r(35638); + t.exports = function () { + return n() && !!Symbol.toStringTag; + }; + }, + 35065: function (t, e, r) { + "use strict"; + var n = r(77575); + t.exports = n.call( + Function.call, + Object.prototype.hasOwnProperty, + ); + }, + 95280: function (t, e) { + (e.read = function (t, e, r, n, i) { + var a, + o, + s = 8 * i - n - 1, + l = (1 << s) - 1, + u = l >> 1, + c = -7, + f = r ? i - 1 : 0, + h = r ? -1 : 1, + p = t[e + f]; + for ( + f += h, a = p & ((1 << -c) - 1), p >>= -c, c += s; + c > 0; + a = 256 * a + t[e + f], f += h, c -= 8 + ); + for ( + o = a & ((1 << -c) - 1), a >>= -c, c += n; + c > 0; + o = 256 * o + t[e + f], f += h, 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); + }), + (e.write = function (t, e, r, n, i, a) { + var o, + s, + l, + u = 8 * a - i - 1, + c = (1 << u) - 1, + f = c >> 1, + h = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0, + p = n ? 0 : a - 1, + d = n ? 1 : -1, + v = 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 + f >= 1 ? h / l : h * Math.pow(2, 1 - f)) * + l >= + 2 && (o++, (l /= 2)), + o + f >= c + ? ((s = 0), (o = c)) + : o + f >= 1 + ? ((s = (e * l - 1) * Math.pow(2, i)), (o += f)) + : ((s = + e * Math.pow(2, f - 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 * v; + }); + }, + 42018: function (t) { + "function" == typeof Object.create + ? (t.exports = function (t, e) { + e && + ((t.super_ = e), + (t.prototype = Object.create(e.prototype, { + constructor: { + value: t, + enumerable: !1, + writable: !0, + configurable: !0, + }, + }))); + }) + : (t.exports = function (t, e) { + if (e) { + t.super_ = e; + var r = function () {}; + (r.prototype = e.prototype), + (t.prototype = new r()), + (t.prototype.constructor = t); + } + }); + }, + 47216: function (t, e, r) { + "use strict"; + var n = r(84543)(), + i = r(6614)("Object.prototype.toString"), + a = function (t) { + return ( + !( + n && + t && + "object" == typeof t && + Symbol.toStringTag in t + ) && "[object Arguments]" === i(t) + ); + }, + o = function (t) { + return ( + !!a(t) || + (null !== t && + "object" == typeof t && + "number" == typeof t.length && + t.length >= 0 && + "[object Array]" !== i(t) && + "[object Function]" === i(t.callee)) + ); + }, + s = (function () { + return a(arguments); + })(); + (a.isLegacyArguments = o), (t.exports = s ? a : o); + }, + 54404: function (t) { + t.exports = !0; + }, + 85395: function (t) { + "use strict"; + var e, + r, + n = Function.prototype.toString, + i = + "object" == typeof Reflect && + null !== Reflect && + Reflect.apply; + if ( + "function" == typeof i && + "function" == typeof Object.defineProperty + ) + try { + (e = Object.defineProperty({}, "length", { + get: function () { + throw r; + }, + })), + (r = {}), + i( + function () { + throw 42; + }, + null, + e, + ); + } catch (t) { + t !== r && (i = null); + } + else i = null; + var a = /^\s*class\b/, + o = function (t) { + try { + var e = n.call(t); + return a.test(e); + } catch (t) { + return !1; + } + }, + s = function (t) { + try { + return !o(t) && (n.call(t), !0); + } catch (t) { + return !1; + } + }, + l = Object.prototype.toString, + u = "function" == typeof Symbol && !!Symbol.toStringTag, + c = !(0 in [,]), + f = function () { + return !1; + }; + if ("object" == typeof document) { + var h = document.all; + l.call(h) === l.call(document.all) && + (f = function (t) { + if ((c || !t) && (void 0 === t || "object" == typeof t)) + try { + var e = l.call(t); + return ( + ("[object HTMLAllCollection]" === e || + "[object HTML document.all class]" === e || + "[object HTMLCollection]" === e || + "[object Object]" === e) && + null == t("") + ); + } catch (t) {} + return !1; + }); + } + t.exports = i + ? function (t) { + if (f(t)) return !0; + if (!t) return !1; + if ("function" != typeof t && "object" != typeof t) + return !1; + try { + i(t, null, e); + } catch (t) { + if (t !== r) return !1; + } + return !o(t) && s(t); + } + : function (t) { + if (f(t)) return !0; + if (!t) return !1; + if ("function" != typeof t && "object" != typeof t) + return !1; + if (u) return s(t); + if (o(t)) return !1; + var e = l.call(t); + return ( + !( + "[object Function]" !== e && + "[object GeneratorFunction]" !== e && + !/^\[object HTML/.test(e) + ) && s(t) + ); + }; + }, + 65481: function (t, e, r) { + "use strict"; + var n, + i = Object.prototype.toString, + a = Function.prototype.toString, + o = /^\s*(?:function)?\*/, + s = r(84543)(), + l = Object.getPrototypeOf; + t.exports = function (t) { + if ("function" != typeof t) return !1; + if (o.test(a.call(t))) return !0; + if (!s) return "[object GeneratorFunction]" === i.call(t); + if (!l) return !1; + if (void 0 === n) { + var e = (function () { + if (!s) return !1; + try { + return Function("return function*() {}")(); + } catch (t) {} + })(); + n = !!e && l(e); + } + return l(t) === n; + }; + }, + 62683: function (t) { + "use strict"; + t.exports = + "undefined" != typeof navigator && + (/MSIE/.test(navigator.userAgent) || + /Trident\//.test(navigator.appVersion)); + }, + 64274: function (t) { + "use strict"; + t.exports = function (t) { + return t != t; + }; + }, + 15567: function (t, e, r) { + "use strict"; + var n = r(68222), + i = r(17045), + a = r(64274), + o = r(14922), + s = r(22442), + l = n(o(), Number); + i(l, { getPolyfill: o, implementation: a, shim: s }), + (t.exports = l); + }, + 14922: function (t, e, r) { + "use strict"; + var n = r(64274); + t.exports = function () { + return Number.isNaN && + Number.isNaN(NaN) && + !Number.isNaN("a") + ? Number.isNaN + : n; + }; + }, + 22442: function (t, e, r) { + "use strict"; + var n = r(17045), + i = r(14922); + t.exports = function () { + var t = i(); + return ( + n( + Number, + { isNaN: t }, + { + isNaN: function () { + return Number.isNaN !== t; + }, + }, + ), + t + ); + }; + }, + 64941: function (t) { + "use strict"; + t.exports = function (t) { + var e = typeof t; + return null !== t && ("object" === e || "function" === e); + }; + }, + 10973: function (t) { + "use strict"; + var e = Object.prototype.toString; + t.exports = function (t) { + var r; + return ( + "[object Object]" === e.call(t) && + (null === (r = Object.getPrototypeOf(t)) || + r === Object.getPrototypeOf({})) + ); + }; + }, + 18546: function (t) { + "use strict"; + t.exports = 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; + }; + }, + 89546: function (t) { + "use strict"; + t.exports = function (t) { + return ( + "string" == typeof t && + ((t = t.trim()), + !!( + /^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t) && + /[\dz]$/i.test(t) && + t.length > 4 + )) + ); + }; + }, + 9187: function (t, e, r) { + "use strict"; + var n = r(31353), + i = r(72077), + a = r(6614), + o = a("Object.prototype.toString"), + s = r(84543)(), + l = r(40383), + u = "undefined" == typeof globalThis ? r.g : globalThis, + c = i(), + f = + a("Array.prototype.indexOf", !0) || + function (t, e) { + for (var r = 0; r < t.length; r += 1) + if (t[r] === e) return r; + return -1; + }, + h = a("String.prototype.slice"), + p = {}, + d = Object.getPrototypeOf; + s && + l && + d && + n(c, function (t) { + var e = new u[t](); + if (Symbol.toStringTag in e) { + var r = d(e), + n = l(r, Symbol.toStringTag); + if (!n) { + var i = d(r); + n = l(i, Symbol.toStringTag); + } + p[t] = n.get; + } + }), + (t.exports = function (t) { + if (!t || "object" != typeof t) return !1; + if (!s || !(Symbol.toStringTag in t)) { + var e = h(o(t), 8, -1); + return f(c, e) > -1; + } + return ( + !!l && + (function (t) { + var e = !1; + return ( + n(p, function (r, n) { + if (!e) + try { + e = r.call(t) === n; + } catch (t) {} + }), + e + ); + })(t) + ); + }); + }, + 44517: function (t) { + t.exports = (function () { + "use strict"; + var t, e, r; + function n(n, i) { + if (t) + if (e) { + var a = + "var sharedChunk = {}; (" + + t + + ")(sharedChunk); (" + + e + + ")(sharedChunk);", + o = {}; + t(o), + ((r = i(o)).workerUrl = window.URL.createObjectURL( + new Blob([a], { type: "text/javascript" }), + )); + } else e = i; + else t = i; + } + return ( + n(0, function (t) { + function e(t, e) { + return t((e = { exports: {} }), e.exports), e.exports; + } + var r = "1.10.1", + n = i; + function i(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); + } + (i.prototype.sampleCurveX = function (t) { + return ((this.ax * t + this.bx) * t + this.cx) * t; + }), + (i.prototype.sampleCurveY = function (t) { + return ((this.ay * t + this.by) * t + this.cy) * t; + }), + (i.prototype.sampleCurveDerivativeX = function (t) { + return ( + (3 * this.ax * t + 2 * this.bx) * t + this.cx + ); + }), + (i.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 ((i = t) < (r = 0)) return r; + if (i > (n = 1)) return n; + for (; r < n; ) { + if ( + ((a = this.sampleCurveX(i)), + Math.abs(a - t) < e) + ) + return i; + t > a ? (r = i) : (n = i), + (i = 0.5 * (n - r) + r); + } + return i; + }), + (i.prototype.solve = function (t, e) { + return this.sampleCurveY(this.solveCurveX(t, e)); + }); + var a = o; + function o(t, e) { + (this.x = t), (this.y = e); + } + function s(t, e, r, i) { + var a = new n(t, e, r, i); + return function (t) { + return a.solve(t); + }; + } + (o.prototype = { + clone: function () { + return new o(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 + ); + }, + }), + (o.convert = function (t) { + return t instanceof o + ? t + : Array.isArray(t) + ? new o(t[0], t[1]) + : t; + }); + var l = s(0.25, 0.1, 0.25, 1); + function u(t, e, r) { + return Math.min(r, Math.max(e, t)); + } + function c(t, e, r) { + var n = r - e, + i = ((((t - e) % n) + n) % n) + e; + return i === e ? r : i; + } + function f(t) { + for (var e = [], r = arguments.length - 1; r-- > 0; ) + e[r] = arguments[r + 1]; + for (var n = 0, i = e; n < i.length; n += 1) { + var a = i[n]; + for (var o in a) t[o] = a[o]; + } + return t; + } + var h = 1; + function p() { + return h++; + } + function d() { + return (function t(e) { + return e + ? ( + e ^ + ((16 * Math.random()) >> (e / 4)) + ).toString(16) + : ([1e7] + -[1e3] + -4e3 + -8e3 + -1e11).replace( + /[018]/g, + t, + ); + })(); + } + function v(t) { + return ( + !!t && + /^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test( + t, + ) + ); + } + function g(t, e) { + t.forEach(function (t) { + e[t] && (e[t] = e[t].bind(e)); + }); + } + function y(t, e) { + return -1 !== t.indexOf(e, t.length - e.length); + } + function m(t, e, r) { + var n = {}; + for (var i in t) n[i] = e.call(r || this, t[i], i, t); + return n; + } + function x(t, e, r) { + var n = {}; + for (var i in t) + e.call(r || this, t[i], i, t) && (n[i] = t[i]); + return n; + } + function b(t) { + return Array.isArray(t) + ? t.map(b) + : "object" == typeof t && t + ? m(t, b) + : t; + } + var _ = {}; + function w(t) { + _[t] || + ("undefined" != typeof console && console.warn(t), + (_[t] = !0)); + } + function T(t, e, r) { + return ( + (r.y - t.y) * (e.x - t.x) > + (e.y - t.y) * (r.x - t.x) + ); + } + function k(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; + } + function A() { + return ( + "undefined" != typeof WorkerGlobalScope && + "undefined" != typeof self && + self instanceof WorkerGlobalScope + ); + } + function M(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; + } + var S = null; + function E(t) { + if (null == S) { + var e = t.navigator ? t.navigator.userAgent : null; + S = + !!t.safari || + !( + !e || + !( + /\b(iPad|iPhone|iPod)\b/.test(e) || + (e.match("Safari") && !e.match("Chrome")) + ) + ); + } + return S; + } + function L(t) { + try { + var e = self[t]; + return ( + e.setItem("_mapbox_test_", 1), + e.removeItem("_mapbox_test_"), + !0 + ); + } catch (t) { + return !1; + } + } + var C, + P, + O, + I, + D = + self.performance && self.performance.now + ? self.performance.now.bind(self.performance) + : Date.now.bind(Date), + z = + self.requestAnimationFrame || + self.mozRequestAnimationFrame || + self.webkitRequestAnimationFrame || + self.msRequestAnimationFrame, + R = + self.cancelAnimationFrame || + self.mozCancelAnimationFrame || + self.webkitCancelAnimationFrame || + self.msCancelAnimationFrame, + F = { + now: D, + frame: function (t) { + var e = z(t); + return { + cancel: function () { + return R(e); + }, + }; + }, + getImageData: function (t, e) { + void 0 === e && (e = 0); + var r = self.document.createElement("canvas"), + n = r.getContext("2d"); + if (!n) + throw new Error( + "failed to create canvas 2d context", + ); + return ( + (r.width = t.width), + (r.height = t.height), + n.drawImage(t, 0, 0, t.width, t.height), + n.getImageData( + -e, + -e, + t.width + 2 * e, + t.height + 2 * e, + ) + ); + }, + resolveURL: function (t) { + return ( + C || (C = self.document.createElement("a")), + (C.href = t), + C.href + ); + }, + hardwareConcurrency: + self.navigator.hardwareConcurrency || 4, + get devicePixelRatio() { + return self.devicePixelRatio; + }, + get prefersReducedMotion() { + return ( + !!self.matchMedia && + (null == P && + (P = self.matchMedia( + "(prefers-reduced-motion: reduce)", + )), + P.matches) + ); + }, + }, + B = { + API_URL: "https://api.mapbox.com", + get EVENTS_URL() { + return this.API_URL + ? 0 === + this.API_URL.indexOf("https://api.mapbox.cn") + ? "https://events.mapbox.cn/events/v2" + : 0 === + this.API_URL.indexOf( + "https://api.mapbox.com", + ) + ? "https://events.mapbox.com/events/v2" + : null + : null; + }, + FEEDBACK_URL: "https://apps.mapbox.com/feedback", + REQUIRE_ACCESS_TOKEN: !0, + ACCESS_TOKEN: null, + MAX_PARALLEL_IMAGE_REQUESTS: 16, + }, + N = { + supported: !1, + testSupport: function (t) { + !j && I && (U ? V(t) : (O = t)); + }, + }, + j = !1, + U = !1; + function V(t) { + var e = t.createTexture(); + t.bindTexture(t.TEXTURE_2D, e); + try { + if ( + (t.texImage2D( + t.TEXTURE_2D, + 0, + t.RGBA, + t.RGBA, + t.UNSIGNED_BYTE, + I, + ), + t.isContextLost()) + ) + return; + N.supported = !0; + } catch (t) {} + t.deleteTexture(e), (j = !0); + } + self.document && + (((I = self.document.createElement("img")).onload = + function () { + O && V(O), (O = null), (U = !0); + }), + (I.onerror = function () { + (j = !0), (O = null); + }), + (I.src = + "data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=")); + var H = "01"; + var q = function (t, e) { + (this._transformRequestFn = t), + (this._customAccessToken = e), + this._createSkuToken(); + }; + function G(t) { + return 0 === t.indexOf("mapbox:"); + } + (q.prototype._createSkuToken = function () { + var t = (function () { + for (var t = "", e = 0; e < 10; e++) + t += + "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[ + Math.floor(62 * Math.random()) + ]; + return { + token: ["1", H, t].join(""), + tokenExpiresAt: Date.now() + 432e5, + }; + })(); + (this._skuToken = t.token), + (this._skuTokenExpiresAt = t.tokenExpiresAt); + }), + (q.prototype._isSkuTokenExpired = function () { + return Date.now() > this._skuTokenExpiresAt; + }), + (q.prototype.transformRequest = function (t, e) { + return ( + (this._transformRequestFn && + this._transformRequestFn(t, e)) || { url: t } + ); + }), + (q.prototype.normalizeStyleURL = function (t, e) { + if (!G(t)) return t; + var r = X(t); + return ( + (r.path = "/styles/v1" + r.path), + this._makeAPIURL(r, this._customAccessToken || e) + ); + }), + (q.prototype.normalizeGlyphsURL = function (t, e) { + if (!G(t)) return t; + var r = X(t); + return ( + (r.path = "/fonts/v1" + r.path), + this._makeAPIURL(r, this._customAccessToken || e) + ); + }), + (q.prototype.normalizeSourceURL = function (t, e) { + if (!G(t)) return t; + var r = X(t); + return ( + (r.path = "/v4/" + r.authority + ".json"), + r.params.push("secure"), + this._makeAPIURL(r, this._customAccessToken || e) + ); + }), + (q.prototype.normalizeSpriteURL = function ( + t, + e, + r, + n, + ) { + var i = X(t); + return G(t) + ? ((i.path = + "/styles/v1" + i.path + "/sprite" + e + r), + this._makeAPIURL( + i, + this._customAccessToken || n, + )) + : ((i.path += "" + e + r), J(i)); + }), + (q.prototype.normalizeTileURL = function (t, e) { + if ( + (this._isSkuTokenExpired() && + this._createSkuToken(), + t && !G(t)) + ) + return t; + var r = X(t), + n = + F.devicePixelRatio >= 2 || 512 === e + ? "@2x" + : "", + i = N.supported ? ".webp" : "$1"; + (r.path = r.path.replace( + /(\.(png|jpg)\d*)(?=$)/, + "" + n + i, + )), + (r.path = r.path.replace(/^.+\/v4\//, "/")), + (r.path = "/v4" + r.path); + var a = + this._customAccessToken || + (function (t) { + for (var e = 0, r = t; e < r.length; e += 1) { + var n = r[e].match(/^access_token=(.*)$/); + if (n) return n[1]; + } + return null; + })(r.params) || + B.ACCESS_TOKEN; + return ( + B.REQUIRE_ACCESS_TOKEN && + a && + this._skuToken && + r.params.push("sku=" + this._skuToken), + this._makeAPIURL(r, a) + ); + }), + (q.prototype.canonicalizeTileURL = function (t, e) { + var r = X(t); + if ( + !r.path.match(/(^\/v4\/)/) || + !r.path.match(/\.[\w]+$/) + ) + return t; + var n = "mapbox://tiles/"; + n += r.path.replace("/v4/", ""); + var i = r.params; + return ( + e && + (i = i.filter(function (t) { + return !t.match(/^access_token=/); + })), + i.length && (n += "?" + i.join("&")), + n + ); + }), + (q.prototype.canonicalizeTileset = function (t, e) { + for ( + var r = !!e && G(e), + n = [], + i = 0, + a = t.tiles || []; + i < a.length; + i += 1 + ) { + var o = a[i]; + Y(o) + ? n.push(this.canonicalizeTileURL(o, r)) + : n.push(o); + } + return n; + }), + (q.prototype._makeAPIURL = function (t, e) { + var r = + "See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes", + n = X(B.API_URL); + if ( + ((t.protocol = n.protocol), + (t.authority = n.authority), + "/" !== n.path && (t.path = "" + n.path + t.path), + !B.REQUIRE_ACCESS_TOKEN) + ) + return J(t); + if (!(e = e || B.ACCESS_TOKEN)) + throw new Error( + "An API access token is required to use Mapbox GL. " + + r, + ); + if ("s" === e[0]) + throw new Error( + "Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). " + + r, + ); + return ( + (t.params = t.params.filter(function (t) { + return -1 === t.indexOf("access_token"); + })), + t.params.push("access_token=" + e), + J(t) + ); + }); + var Z = + /^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i; + function Y(t) { + return Z.test(t); + } + var W = /^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/; + function X(t) { + var e = t.match(W); + 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 J(t) { + var e = t.params.length + ? "?" + t.params.join("&") + : ""; + return t.protocol + "://" + t.authority + t.path + e; + } + var K = "mapbox.eventData"; + function $(t) { + if (!t) return null; + var e, + r = t.split("."); + if (!r || 3 !== r.length) return null; + try { + return JSON.parse( + ((e = r[1]), + decodeURIComponent( + self + .atob(e) + .split("") + .map(function (t) { + return ( + "%" + + ( + "00" + t.charCodeAt(0).toString(16) + ).slice(-2) + ); + }) + .join(""), + )), + ); + } catch (t) { + return null; + } + } + var Q = function (t) { + (this.type = t), + (this.anonId = null), + (this.eventData = {}), + (this.queue = []), + (this.pendingRequest = null); + }; + (Q.prototype.getStorageKey = function (t) { + var e, + r, + n = $(B.ACCESS_TOKEN); + return ( + (e = + n && n.u + ? ((r = n.u), + self.btoa( + encodeURIComponent(r).replace( + /%([0-9A-F]{2})/g, + function (t, e) { + return String.fromCharCode( + Number("0x" + e), + ); + }, + ), + )) + : B.ACCESS_TOKEN || ""), + t ? K + "." + t + ":" + e : K + ":" + e + ); + }), + (Q.prototype.fetchEventData = function () { + var t = L("localStorage"), + e = this.getStorageKey(), + r = this.getStorageKey("uuid"); + if (t) + try { + var n = self.localStorage.getItem(e); + n && (this.eventData = JSON.parse(n)); + var i = self.localStorage.getItem(r); + i && (this.anonId = i); + } catch (t) { + w("Unable to read from LocalStorage"); + } + }), + (Q.prototype.saveEventData = function () { + var t = L("localStorage"), + e = this.getStorageKey(), + r = this.getStorageKey("uuid"); + if (t) + try { + self.localStorage.setItem(r, this.anonId), + Object.keys(this.eventData).length >= 1 && + self.localStorage.setItem( + e, + JSON.stringify(this.eventData), + ); + } catch (t) { + w("Unable to write to LocalStorage"); + } + }), + (Q.prototype.processRequests = function (t) {}), + (Q.prototype.postEvent = function (t, e, n, i) { + var a = this; + if (B.EVENTS_URL) { + var o = X(B.EVENTS_URL); + o.params.push( + "access_token=" + (i || B.ACCESS_TOKEN || ""), + ); + var s = { + event: this.type, + created: new Date(t).toISOString(), + sdkIdentifier: "mapbox-gl-js", + sdkVersion: r, + skuId: H, + userId: this.anonId, + }, + l = e ? f(s, e) : s, + u = { + url: J(o), + headers: { "Content-Type": "text/plain" }, + body: JSON.stringify([l]), + }; + this.pendingRequest = kt(u, function (t) { + (a.pendingRequest = null), + n(t), + a.saveEventData(), + a.processRequests(i); + }); + } + }), + (Q.prototype.queueRequest = function (t, e) { + this.queue.push(t), this.processRequests(e); + }); + var tt, + et, + rt = (function (t) { + function e() { + t.call(this, "map.load"), + (this.success = {}), + (this.skuToken = ""); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.postMapLoadEvent = function ( + t, + e, + r, + n, + ) { + (this.skuToken = r), + ((B.EVENTS_URL && n) || + (B.ACCESS_TOKEN && + Array.isArray(t) && + t.some(function (t) { + return G(t) || Y(t); + }))) && + this.queueRequest( + { id: e, timestamp: Date.now() }, + n, + ); + }), + (e.prototype.processRequests = function (t) { + var e = this; + if ( + !this.pendingRequest && + 0 !== this.queue.length + ) { + var r = this.queue.shift(), + n = r.id, + i = r.timestamp; + (n && this.success[n]) || + (this.anonId || this.fetchEventData(), + v(this.anonId) || (this.anonId = d()), + this.postEvent( + i, + { skuToken: this.skuToken }, + function (t) { + t || (n && (e.success[n] = !0)); + }, + t, + )); + } + }), + e + ); + })(Q), + nt = (function (t) { + function e(e) { + t.call(this, "appUserTurnstile"), + (this._customAccessToken = e); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.postTurnstileEvent = function ( + t, + e, + ) { + B.EVENTS_URL && + B.ACCESS_TOKEN && + Array.isArray(t) && + t.some(function (t) { + return G(t) || Y(t); + }) && + this.queueRequest(Date.now(), e); + }), + (e.prototype.processRequests = function (t) { + var e = this; + if ( + !this.pendingRequest && + 0 !== this.queue.length + ) { + (this.anonId && + this.eventData.lastSuccess && + this.eventData.tokenU) || + this.fetchEventData(); + var r = $(B.ACCESS_TOKEN), + n = r ? r.u : B.ACCESS_TOKEN, + i = n !== this.eventData.tokenU; + v(this.anonId) || + ((this.anonId = d()), (i = !0)); + var a = this.queue.shift(); + if (this.eventData.lastSuccess) { + var o = new Date( + this.eventData.lastSuccess, + ), + s = new Date(a), + l = + (a - this.eventData.lastSuccess) / + 864e5; + i = + i || + l >= 1 || + l < -1 || + o.getDate() !== s.getDate(); + } else i = !0; + if (!i) return this.processRequests(); + this.postEvent( + a, + { "enabled.telemetry": !1 }, + function (t) { + t || + ((e.eventData.lastSuccess = a), + (e.eventData.tokenU = n)); + }, + t, + ); + } + }), + e + ); + })(Q), + it = new nt(), + at = it.postTurnstileEvent.bind(it), + ot = new rt(), + st = ot.postMapLoadEvent.bind(ot), + lt = "mapbox-tiles", + ut = 500, + ct = 50; + function ft() { + self.caches && !tt && (tt = self.caches.open(lt)); + } + function ht(t, e, r) { + if ((ft(), tt)) { + var n = { + status: e.status, + statusText: e.statusText, + headers: new self.Headers(), + }; + e.headers.forEach(function (t, e) { + return n.headers.set(e, t); + }); + var i = M(e.headers.get("Cache-Control") || ""); + i["no-store"] || + (i["max-age"] && + n.headers.set( + "Expires", + new Date( + r + 1e3 * i["max-age"], + ).toUTCString(), + ), + new Date(n.headers.get("Expires")).getTime() - r < + 42e4 || + (function (t, e) { + if (void 0 === et) + try { + new Response(new ReadableStream()), + (et = !0); + } catch (t) { + et = !1; + } + et ? e(t.body) : t.blob().then(e); + })(e, function (e) { + var r = new self.Response(e, n); + ft(), + tt && + tt + .then(function (e) { + return e.put(pt(t.url), r); + }) + .catch(function (t) { + return w(t.message); + }); + })); + } + } + function pt(t) { + var e = t.indexOf("?"); + return e < 0 ? t : t.slice(0, e); + } + function dt(t, e) { + if ((ft(), !tt)) return e(null); + var r = pt(t.url); + tt.then(function (t) { + t.match(r) + .then(function (n) { + var i = (function (t) { + if (!t) return !1; + var e = new Date( + t.headers.get("Expires") || 0, + ), + r = M(t.headers.get("Cache-Control") || ""); + return e > Date.now() && !r["no-cache"]; + })(n); + t.delete(r), + i && t.put(r, n.clone()), + e(null, n, i); + }) + .catch(e); + }).catch(e); + } + var vt, + gt = 1 / 0; + function yt() { + return ( + null == vt && + (vt = + self.OffscreenCanvas && + new self.OffscreenCanvas(1, 1).getContext( + "2d", + ) && + "function" == typeof self.createImageBitmap), + vt + ); + } + var mt = { + Unknown: "Unknown", + Style: "Style", + Source: "Source", + Tile: "Tile", + Glyphs: "Glyphs", + SpriteImage: "SpriteImage", + SpriteJSON: "SpriteJSON", + Image: "Image", + }; + "function" == typeof Object.freeze && Object.freeze(mt); + var xt = (function (t) { + function e(e, r, n) { + 401 === r && + Y(n) && + (e += + ": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"), + t.call(this, e), + (this.status = r), + (this.url = n), + (this.name = this.constructor.name), + (this.message = e); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.toString = function () { + return ( + this.name + + ": " + + this.message + + " (" + + this.status + + "): " + + this.url + ); + }), + e + ); + })(Error), + bt = A() + ? function () { + return self.worker && self.worker.referrer; + } + : function () { + return ( + "blob:" === self.location.protocol + ? self.parent + : self + ).location.href; + }; + function _t(t, e) { + var r, + n = new self.AbortController(), + i = new self.Request(t.url, { + method: t.method || "GET", + body: t.body, + credentials: t.credentials, + headers: t.headers, + referrer: bt(), + signal: n.signal, + }), + a = !1, + o = !1, + s = (r = i.url).indexOf("sku=") > 0 && Y(r); + "json" === t.type && + i.headers.set("Accept", "application/json"); + var l = function (r, n, a) { + if (!o) { + if ( + (r && "SecurityError" !== r.message && w(r), + n && a) + ) + return u(n); + var l = Date.now(); + self + .fetch(i) + .then(function (r) { + if (r.ok) { + var n = s ? r.clone() : null; + return u(r, n, l); + } + return e( + new xt(r.statusText, r.status, t.url), + ); + }) + .catch(function (t) { + 20 !== t.code && e(new Error(t.message)); + }); + } + }, + u = function (r, n, s) { + ("arrayBuffer" === t.type + ? r.arrayBuffer() + : "json" === t.type + ? r.json() + : r.text() + ) + .then(function (t) { + o || + (n && s && ht(i, n, s), + (a = !0), + e( + null, + t, + r.headers.get("Cache-Control"), + r.headers.get("Expires"), + )); + }) + .catch(function (t) { + o || e(new Error(t.message)); + }); + }; + return ( + s ? dt(i, l) : l(null, null), + { + cancel: function () { + (o = !0), a || n.abort(); + }, + } + ); + } + var wt = function (t, e) { + if ( + ((r = t.url), + !( + /^file:/.test(r) || + (/^file:/.test(bt()) && !/^\w+:/.test(r)) + )) + ) { + if ( + self.fetch && + self.Request && + self.AbortController && + self.Request.prototype.hasOwnProperty("signal") + ) + return _t(t, e); + if (A() && self.worker && self.worker.actor) { + return self.worker.actor.send( + "getResource", + t, + e, + void 0, + !0, + ); + } + } + var r; + return (function (t, e) { + var r = new self.XMLHttpRequest(); + for (var n in (r.open( + t.method || "GET", + t.url, + !0, + ), + "arrayBuffer" === t.type && + (r.responseType = "arraybuffer"), + t.headers)) + r.setRequestHeader(n, t.headers[n]); + return ( + "json" === t.type && + ((r.responseType = "text"), + r.setRequestHeader( + "Accept", + "application/json", + )), + (r.withCredentials = + "include" === t.credentials), + (r.onerror = function () { + e(new Error(r.statusText)); + }), + (r.onload = function () { + if ( + ((r.status >= 200 && r.status < 300) || + 0 === r.status) && + null !== r.response + ) { + var n = r.response; + if ("json" === t.type) + try { + n = JSON.parse(r.response); + } catch (t) { + return e(t); + } + e( + null, + n, + r.getResponseHeader("Cache-Control"), + r.getResponseHeader("Expires"), + ); + } else + e(new xt(r.statusText, r.status, t.url)); + }), + r.send(t.body), + { + cancel: function () { + return r.abort(); + }, + } + ); + })(t, e); + }, + Tt = function (t, e) { + return wt(f(t, { type: "arrayBuffer" }), e); + }, + kt = function (t, e) { + return wt(f(t, { method: "POST" }), e); + }; + var At, Mt; + (At = []), (Mt = 0); + var St = function (t, e) { + if ( + (N.supported && + (t.headers || (t.headers = {}), + (t.headers.accept = "image/webp,*/*")), + Mt >= B.MAX_PARALLEL_IMAGE_REQUESTS) + ) { + var r = { + requestParameters: t, + callback: e, + cancelled: !1, + cancel: function () { + this.cancelled = !0; + }, + }; + return At.push(r), r; + } + Mt++; + var n = !1, + i = function () { + if (!n) + for ( + n = !0, Mt--; + At.length && + Mt < B.MAX_PARALLEL_IMAGE_REQUESTS; + + ) { + var t = At.shift(), + e = t.requestParameters, + r = t.callback; + t.cancelled || (t.cancel = St(e, r).cancel); + } + }, + a = Tt(t, function (t, r, n, a) { + i(), + t + ? e(t) + : r && + (yt() + ? (function (t, e) { + var r = new self.Blob( + [new Uint8Array(t)], + { type: "image/png" }, + ); + self + .createImageBitmap(r) + .then(function (t) { + e(null, t); + }) + .catch(function (t) { + e( + new Error( + "Could not load image because of " + + t.message + + ". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.", + ), + ); + }); + })(r, e) + : (function (t, e, r, n) { + var i = new self.Image(), + a = self.URL; + (i.onload = function () { + e(null, i), + a.revokeObjectURL(i.src); + }), + (i.onerror = function () { + return e( + new Error( + "Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.", + ), + ); + }); + var o = new self.Blob( + [new Uint8Array(t)], + { type: "image/png" }, + ); + (i.cacheControl = r), + (i.expires = n), + (i.src = t.byteLength + ? a.createObjectURL(o) + : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII="); + })(r, e, n, a)); + }); + return { + cancel: function () { + a.cancel(), i(); + }, + }; + }; + function Et(t, e, r) { + (r[t] && -1 !== r[t].indexOf(e)) || + ((r[t] = r[t] || []), r[t].push(e)); + } + function Lt(t, e, r) { + if (r && r[t]) { + var n = r[t].indexOf(e); + -1 !== n && r[t].splice(n, 1); + } + } + var Ct = function (t, e) { + void 0 === e && (e = {}), + f(this, e), + (this.type = t); + }, + Pt = (function (t) { + function e(e, r) { + void 0 === r && (r = {}), + t.call(this, "error", f({ error: e }, r)); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + e + ); + })(Ct), + Ot = function () {}; + (Ot.prototype.on = function (t, e) { + return ( + (this._listeners = this._listeners || {}), + Et(t, e, this._listeners), + this + ); + }), + (Ot.prototype.off = function (t, e) { + return ( + Lt(t, e, this._listeners), + Lt(t, e, this._oneTimeListeners), + this + ); + }), + (Ot.prototype.once = function (t, e) { + return ( + (this._oneTimeListeners = + this._oneTimeListeners || {}), + Et(t, e, this._oneTimeListeners), + this + ); + }), + (Ot.prototype.fire = function (t, e) { + "string" == typeof t && (t = new Ct(t, e || {})); + var r = t.type; + if (this.listens(r)) { + t.target = this; + for ( + var n = 0, + i = + this._listeners && this._listeners[r] + ? this._listeners[r].slice() + : []; + n < i.length; + n += 1 + ) + i[n].call(this, t); + for ( + var a = 0, + o = + this._oneTimeListeners && + this._oneTimeListeners[r] + ? this._oneTimeListeners[r].slice() + : []; + a < o.length; + a += 1 + ) { + var s = o[a]; + Lt(r, s, this._oneTimeListeners), + s.call(this, t); + } + var l = this._eventedParent; + l && + (f( + t, + "function" == typeof this._eventedParentData + ? this._eventedParentData() + : this._eventedParentData, + ), + l.fire(t)); + } else t instanceof Pt && console.error(t.error); + return this; + }), + (Ot.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)) + ); + }), + (Ot.prototype.setEventedParent = function (t, e) { + return ( + (this._eventedParent = t), + (this._eventedParentData = e), + this + ); + }); + var It = { + $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_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.051129, 180, 85.051129], + }, + scheme: { + type: "enum", + values: { xyz: {}, tms: {} }, + default: "xyz", + }, + minzoom: { type: "number", default: 0 }, + maxzoom: { type: "number", default: 22 }, + attribution: { type: "string" }, + promoteId: { type: "promoteId" }, + "*": { 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.051129, 180, 85.051129], + }, + 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.051129, 180, 85.051129], + }, + minzoom: { type: "number", default: 0 }, + maxzoom: { type: "number", default: 22 }, + tileSize: { + type: "number", + default: 512, + units: "pixels", + }, + attribution: { type: "string" }, + encoding: { + type: "enum", + values: { terrarium: {}, mapbox: {} }, + default: "mapbox", + }, + "*": { type: "*" }, + }, + source_geojson: { + type: { + required: !0, + type: "enum", + values: { geojson: {} }, + }, + data: { type: "*" }, + maxzoom: { type: "number", default: 18 }, + attribution: { type: "string" }, + buffer: { + type: "number", + default: 128, + maximum: 512, + minimum: 0, + }, + tolerance: { type: "number", default: 0.375 }, + cluster: { type: "boolean", default: !1 }, + clusterRadius: { + type: "number", + default: 50, + minimum: 0, + }, + clusterMaxZoom: { type: "number" }, + clusterProperties: { type: "*" }, + lineMetrics: { type: "boolean", default: !1 }, + generateId: { type: "boolean", default: !1 }, + promoteId: { type: "promoteId" }, + }, + source_video: { + type: { + required: !0, + type: "enum", + values: { video: {} }, + }, + urls: { + required: !0, + type: "array", + value: "string", + }, + coordinates: { + required: !0, + type: "array", + length: 4, + value: { + type: "array", + length: 2, + value: "number", + }, + }, + }, + source_image: { + type: { + required: !0, + type: "enum", + values: { image: {} }, + }, + url: { required: !0, type: "string" }, + coordinates: { + required: !0, + type: "array", + length: 4, + value: { + type: "array", + length: 2, + value: "number", + }, + }, + }, + layer: { + id: { type: "string", required: !0 }, + type: { + type: "enum", + values: { + fill: {}, + line: {}, + symbol: {}, + circle: {}, + 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", + "property-type": "constant", + }, + }, + layout_fill: { + "fill-sort-key": { + type: "number", + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + "property-type": "constant", + }, + }, + layout_circle: { + "circle-sort-key": { + type: "number", + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + "property-type": "constant", + }, + }, + layout_heatmap: { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + "property-type": "constant", + }, + }, + "layout_fill-extrusion": { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + "property-type": "constant", + }, + }, + layout_line: { + "line-cap": { + type: "enum", + values: { butt: {}, round: {}, square: {} }, + default: "butt", + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "line-join": { + type: "enum", + values: { bevel: {}, round: {}, miter: {} }, + default: "miter", + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "line-miter-limit": { + type: "number", + default: 2, + requires: [{ "line-join": "miter" }], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "line-round-limit": { + type: "number", + default: 1.05, + requires: [{ "line-join": "round" }], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "line-sort-key": { + type: "number", + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + "property-type": "constant", + }, + }, + layout_symbol: { + "symbol-placement": { + type: "enum", + values: { + point: {}, + line: {}, + "line-center": {}, + }, + default: "point", + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "symbol-spacing": { + type: "number", + default: 250, + minimum: 1, + units: "pixels", + requires: [{ "symbol-placement": "line" }], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "symbol-avoid-edges": { + type: "boolean", + default: !1, + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "symbol-sort-key": { + type: "number", + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "symbol-z-order": { + type: "enum", + values: { + auto: {}, + "viewport-y": {}, + source: {}, + }, + default: "auto", + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-allow-overlap": { + type: "boolean", + default: !1, + requires: ["icon-image"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-ignore-placement": { + type: "boolean", + default: !1, + requires: ["icon-image"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-optional": { + type: "boolean", + default: !1, + requires: ["icon-image", "text-field"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-rotation-alignment": { + type: "enum", + values: { map: {}, viewport: {}, auto: {} }, + default: "auto", + requires: ["icon-image"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-size": { + type: "number", + default: 1, + minimum: 0, + units: "factor of the original icon size", + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "icon-text-fit": { + type: "enum", + values: { + none: {}, + width: {}, + height: {}, + both: {}, + }, + default: "none", + requires: ["icon-image", "text-field"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-text-fit-padding": { + type: "array", + value: "number", + length: 4, + default: [0, 0, 0, 0], + units: "pixels", + requires: [ + "icon-image", + "text-field", + { + "icon-text-fit": [ + "both", + "width", + "height", + ], + }, + ], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-image": { + type: "resolvedImage", + tokens: !0, + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "icon-rotate": { + type: "number", + default: 0, + period: 360, + units: "degrees", + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "icon-padding": { + type: "number", + default: 2, + minimum: 0, + units: "pixels", + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-keep-upright": { + type: "boolean", + default: !1, + requires: [ + "icon-image", + { "icon-rotation-alignment": "map" }, + { + "symbol-placement": ["line", "line-center"], + }, + ], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-offset": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "icon-anchor": { + type: "enum", + values: { + center: {}, + left: {}, + right: {}, + top: {}, + bottom: {}, + "top-left": {}, + "top-right": {}, + "bottom-left": {}, + "bottom-right": {}, + }, + default: "center", + requires: ["icon-image"], + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "icon-pitch-alignment": { + type: "enum", + values: { map: {}, viewport: {}, auto: {} }, + default: "auto", + requires: ["icon-image"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-pitch-alignment": { + type: "enum", + values: { map: {}, viewport: {}, auto: {} }, + default: "auto", + requires: ["text-field"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-rotation-alignment": { + type: "enum", + values: { map: {}, viewport: {}, auto: {} }, + default: "auto", + requires: ["text-field"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-field": { + type: "formatted", + default: "", + tokens: !0, + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-font": { + type: "array", + value: "string", + default: [ + "Open Sans Regular", + "Arial Unicode MS Regular", + ], + requires: ["text-field"], + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-size": { + type: "number", + default: 16, + minimum: 0, + units: "pixels", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-max-width": { + type: "number", + default: 10, + minimum: 0, + units: "ems", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-line-height": { + type: "number", + default: 1.2, + units: "ems", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-letter-spacing": { + type: "number", + default: 0, + units: "ems", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-justify": { + type: "enum", + values: { + auto: {}, + left: {}, + center: {}, + right: {}, + }, + default: "center", + requires: ["text-field"], + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-radial-offset": { + type: "number", + units: "ems", + default: 0, + requires: ["text-field"], + "property-type": "data-driven", + expression: { + interpolated: !0, + parameters: ["zoom", "feature"], + }, + }, + "text-variable-anchor": { + type: "array", + value: "enum", + values: { + center: {}, + left: {}, + right: {}, + top: {}, + bottom: {}, + "top-left": {}, + "top-right": {}, + "bottom-left": {}, + "bottom-right": {}, + }, + requires: [ + "text-field", + { "symbol-placement": ["point"] }, + ], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-anchor": { + type: "enum", + values: { + center: {}, + left: {}, + right: {}, + top: {}, + bottom: {}, + "top-left": {}, + "top-right": {}, + "bottom-left": {}, + "bottom-right": {}, + }, + default: "center", + requires: [ + "text-field", + { "!": "text-variable-anchor" }, + ], + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-max-angle": { + type: "number", + default: 45, + units: "degrees", + requires: [ + "text-field", + { + "symbol-placement": ["line", "line-center"], + }, + ], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-writing-mode": { + type: "array", + value: "enum", + values: { horizontal: {}, vertical: {} }, + requires: [ + "text-field", + { "symbol-placement": ["point"] }, + ], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-rotate": { + type: "number", + default: 0, + period: 360, + units: "degrees", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-padding": { + type: "number", + default: 2, + minimum: 0, + units: "pixels", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-keep-upright": { + type: "boolean", + default: !0, + requires: [ + "text-field", + { "text-rotation-alignment": "map" }, + { + "symbol-placement": ["line", "line-center"], + }, + ], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-transform": { + type: "enum", + values: { + none: {}, + uppercase: {}, + lowercase: {}, + }, + default: "none", + requires: ["text-field"], + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-offset": { + type: "array", + value: "number", + units: "ems", + length: 2, + default: [0, 0], + requires: [ + "text-field", + { "!": "text-radial-offset" }, + ], + expression: { + interpolated: !0, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-allow-overlap": { + type: "boolean", + default: !1, + requires: ["text-field"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-ignore-placement": { + type: "boolean", + default: !1, + requires: ["text-field"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-optional": { + type: "boolean", + default: !1, + requires: ["text-field", "icon-image"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + "property-type": "constant", + }, + }, + layout_raster: { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + "property-type": "constant", + }, + }, + layout_hillshade: { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + "property-type": "constant", + }, + }, + filter: { type: "array", value: "*" }, + filter_operator: { + type: "enum", + values: { + "==": {}, + "!=": {}, + ">": {}, + ">=": {}, + "<": {}, + "<=": {}, + in: {}, + "!in": {}, + all: {}, + any: {}, + none: {}, + has: {}, + "!has": {}, + within: {}, + }, + }, + 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: 24, + 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" }, + in: { group: "Lookup" }, + "index-of": { group: "Lookup" }, + slice: { group: "Lookup" }, + case: { group: "Decision" }, + match: { group: "Decision" }, + coalesce: { group: "Decision" }, + step: { group: "Ramps, scales, curves" }, + interpolate: { group: "Ramps, scales, curves" }, + "interpolate-hcl": { + group: "Ramps, scales, curves", + }, + "interpolate-lab": { + 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" }, + collator: { group: "Types" }, + format: { group: "Types" }, + image: { group: "Types" }, + "number-format": { 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" }, + "feature-state": { group: "Feature data" }, + "geometry-type": { group: "Feature data" }, + id: { group: "Feature data" }, + zoom: { group: "Zoom" }, + "heatmap-density": { group: "Heatmap" }, + "line-progress": { group: "Feature data" }, + accumulated: { group: "Feature data" }, + "+": { 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" }, + round: { group: "Math" }, + abs: { group: "Math" }, + ceil: { group: "Math" }, + floor: { group: "Math" }, + distance: { group: "Math" }, + "==": { group: "Decision" }, + "!=": { group: "Decision" }, + ">": { group: "Decision" }, + "<": { group: "Decision" }, + ">=": { group: "Decision" }, + "<=": { group: "Decision" }, + all: { group: "Decision" }, + any: { group: "Decision" }, + "!": { group: "Decision" }, + within: { group: "Decision" }, + "is-supported-script": { group: "String" }, + upcase: { group: "String" }, + downcase: { group: "String" }, + concat: { group: "String" }, + "resolved-locale": { group: "String" }, + }, + }, + light: { + anchor: { + type: "enum", + default: "viewport", + values: { map: {}, viewport: {} }, + "property-type": "data-constant", + transition: !1, + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + }, + position: { + type: "array", + default: [1.15, 210, 30], + length: 3, + value: "number", + "property-type": "data-constant", + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + }, + color: { + type: "color", + "property-type": "data-constant", + default: "#ffffff", + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + transition: !0, + }, + intensity: { + type: "number", + "property-type": "data-constant", + default: 0.5, + minimum: 0, + maximum: 1, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + 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", + default: !0, + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "fill-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "fill-color": { + type: "color", + default: "#000000", + transition: !0, + requires: [{ "!": "fill-pattern" }], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "fill-outline-color": { + type: "color", + transition: !0, + requires: [ + { "!": "fill-pattern" }, + { "fill-antialias": !0 }, + ], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "fill-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "fill-translate-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + requires: ["fill-translate"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "fill-pattern": { + type: "resolvedImage", + transition: !0, + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "cross-faded-data-driven", + }, + }, + "paint_fill-extrusion": { + "fill-extrusion-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "fill-extrusion-color": { + type: "color", + default: "#000000", + transition: !0, + requires: [{ "!": "fill-extrusion-pattern" }], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "fill-extrusion-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "fill-extrusion-translate-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + requires: ["fill-extrusion-translate"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "fill-extrusion-pattern": { + type: "resolvedImage", + transition: !0, + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "cross-faded-data-driven", + }, + "fill-extrusion-height": { + type: "number", + default: 0, + minimum: 0, + units: "meters", + transition: !0, + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "fill-extrusion-base": { + type: "number", + default: 0, + minimum: 0, + units: "meters", + transition: !0, + requires: ["fill-extrusion-height"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "fill-extrusion-vertical-gradient": { + type: "boolean", + default: !0, + transition: !1, + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + }, + paint_line: { + "line-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "line-color": { + type: "color", + default: "#000000", + transition: !0, + requires: [{ "!": "line-pattern" }], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "line-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "line-translate-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + requires: ["line-translate"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "line-width": { + type: "number", + default: 1, + minimum: 0, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "line-gap-width": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "line-offset": { + type: "number", + default: 0, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "line-blur": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "line-dasharray": { + type: "array", + value: "number", + minimum: 0, + transition: !0, + units: "line widths", + requires: [{ "!": "line-pattern" }], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "cross-faded", + }, + "line-pattern": { + type: "resolvedImage", + transition: !0, + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "cross-faded-data-driven", + }, + "line-gradient": { + type: "color", + transition: !1, + requires: [ + { "!": "line-dasharray" }, + { "!": "line-pattern" }, + { + source: "geojson", + has: { lineMetrics: !0 }, + }, + ], + expression: { + interpolated: !0, + parameters: ["line-progress"], + }, + "property-type": "color-ramp", + }, + }, + paint_circle: { + "circle-radius": { + type: "number", + default: 5, + minimum: 0, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "circle-color": { + type: "color", + default: "#000000", + transition: !0, + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "circle-blur": { + type: "number", + default: 0, + transition: !0, + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "circle-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "circle-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "circle-translate-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + requires: ["circle-translate"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "circle-pitch-scale": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "circle-pitch-alignment": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "viewport", + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "circle-stroke-width": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "circle-stroke-color": { + type: "color", + default: "#000000", + transition: !0, + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "circle-stroke-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + }, + paint_heatmap: { + "heatmap-radius": { + type: "number", + default: 30, + minimum: 1, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "heatmap-weight": { + type: "number", + default: 1, + minimum: 0, + transition: !1, + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "heatmap-intensity": { + type: "number", + default: 1, + minimum: 0, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "heatmap-color": { + type: "color", + default: [ + "interpolate", + ["linear"], + ["heatmap-density"], + 0, + "rgba(0, 0, 255, 0)", + 0.1, + "royalblue", + 0.3, + "cyan", + 0.5, + "lime", + 0.7, + "yellow", + 1, + "red", + ], + transition: !1, + expression: { + interpolated: !0, + parameters: ["heatmap-density"], + }, + "property-type": "color-ramp", + }, + "heatmap-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + }, + paint_symbol: { + "icon-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "icon-color": { + type: "color", + default: "#000000", + transition: !0, + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "icon-halo-color": { + type: "color", + default: "rgba(0, 0, 0, 0)", + transition: !0, + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "icon-halo-width": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "icon-halo-blur": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "icon-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + transition: !0, + units: "pixels", + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-translate-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + requires: ["icon-image", "icon-translate"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "text-color": { + type: "color", + default: "#000000", + transition: !0, + overridable: !0, + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "text-halo-color": { + type: "color", + default: "rgba(0, 0, 0, 0)", + transition: !0, + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "text-halo-width": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "text-halo-blur": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "text-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + transition: !0, + units: "pixels", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-translate-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + requires: ["text-field", "text-translate"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + }, + paint_raster: { + "raster-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "raster-hue-rotate": { + type: "number", + default: 0, + period: 360, + transition: !0, + units: "degrees", + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "raster-brightness-min": { + type: "number", + default: 0, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "raster-brightness-max": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "raster-saturation": { + type: "number", + default: 0, + minimum: -1, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "raster-contrast": { + type: "number", + default: 0, + minimum: -1, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "raster-resampling": { + type: "enum", + values: { linear: {}, nearest: {} }, + default: "linear", + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "raster-fade-duration": { + type: "number", + default: 300, + minimum: 0, + transition: !1, + units: "milliseconds", + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + }, + paint_hillshade: { + "hillshade-illumination-direction": { + type: "number", + default: 335, + minimum: 0, + maximum: 359, + transition: !1, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "hillshade-illumination-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "viewport", + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "hillshade-exaggeration": { + type: "number", + default: 0.5, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "hillshade-shadow-color": { + type: "color", + default: "#000000", + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "hillshade-highlight-color": { + type: "color", + default: "#FFFFFF", + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "hillshade-accent-color": { + type: "color", + default: "#000000", + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + }, + paint_background: { + "background-color": { + type: "color", + default: "#000000", + transition: !0, + requires: [{ "!": "background-pattern" }], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "background-pattern": { + type: "resolvedImage", + transition: !0, + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "cross-faded", + }, + "background-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + }, + transition: { + duration: { + type: "number", + default: 300, + minimum: 0, + units: "milliseconds", + }, + delay: { + type: "number", + default: 0, + minimum: 0, + units: "milliseconds", + }, + }, + "property-type": { + "data-driven": { type: "property-type" }, + "cross-faded": { type: "property-type" }, + "cross-faded-data-driven": { + type: "property-type", + }, + "color-ramp": { type: "property-type" }, + "data-constant": { type: "property-type" }, + constant: { type: "property-type" }, + }, + promoteId: { "*": { type: "string" } }, + }, + Dt = function (t, e, r, n) { + (this.message = (t ? t + ": " : "") + r), + n && (this.identifier = n), + null != e && + e.__line__ && + (this.line = e.__line__); + }; + function zt(t) { + var e = t.key, + r = t.value; + return r + ? [ + new Dt( + e, + r, + "constants have been deprecated as of v8", + ), + ] + : []; + } + function Rt(t) { + for (var e = [], r = arguments.length - 1; r-- > 0; ) + e[r] = arguments[r + 1]; + for (var n = 0, i = e; n < i.length; n += 1) { + var a = i[n]; + for (var o in a) t[o] = a[o]; + } + return t; + } + function Ft(t) { + return t instanceof Number || + t instanceof String || + t instanceof Boolean + ? t.valueOf() + : t; + } + function Bt(t) { + if (Array.isArray(t)) return t.map(Bt); + if ( + t instanceof Object && + !( + t instanceof Number || + t instanceof String || + t instanceof Boolean + ) + ) { + var e = {}; + for (var r in t) e[r] = Bt(t[r]); + return e; + } + return Ft(t); + } + var Nt = (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), + jt = 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; + } + }; + (jt.prototype.concat = function (t) { + return new jt(this, t); + }), + (jt.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."); + }), + (jt.prototype.has = function (t) { + return ( + !!this.bindings[t] || + (!!this.parent && this.parent.has(t)) + ); + }); + var Ut = { kind: "null" }, + Vt = { kind: "number" }, + Ht = { kind: "string" }, + qt = { kind: "boolean" }, + Gt = { kind: "color" }, + Zt = { kind: "object" }, + Yt = { kind: "value" }, + Wt = { kind: "collator" }, + Xt = { kind: "formatted" }, + Jt = { kind: "resolvedImage" }; + function Kt(t, e) { + return { kind: "array", itemType: t, N: e }; + } + function $t(t) { + if ("array" === t.kind) { + var e = $t(t.itemType); + return "number" == typeof t.N + ? "array<" + e + ", " + t.N + ">" + : "value" === t.itemType.kind + ? "array" + : "array<" + e + ">"; + } + return t.kind; + } + var Qt = [Ut, Vt, Ht, qt, Gt, Xt, Zt, Kt(Yt), Jt]; + function te(t, e) { + if ("error" === e.kind) return null; + if ("array" === t.kind) { + if ( + "array" === e.kind && + ((0 === e.N && "value" === e.itemType.kind) || + !te(t.itemType, e.itemType)) && + ("number" != typeof t.N || t.N === e.N) + ) + return null; + } else { + if (t.kind === e.kind) return null; + if ("value" === t.kind) + for (var r = 0, n = Qt; r < n.length; r += 1) + if (!te(n[r], e)) return null; + } + return ( + "Expected " + + $t(t) + + " but found " + + $t(e) + + " instead." + ); + } + function ee(t, e) { + return e.some(function (e) { + return e.kind === t.kind; + }); + } + function re(t, e) { + return e.some(function (e) { + return "null" === e + ? null === t + : "array" === e + ? Array.isArray(t) + : "object" === e + ? t && !Array.isArray(t) && "object" == typeof t + : e === typeof t; + }); + } + var ne = e(function (t, e) { + var r = { + 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], + }; + function n(t) { + return (t = Math.round(t)) < 0 + ? 0 + : t > 255 + ? 255 + : t; + } + function i(t) { + return t < 0 ? 0 : t > 1 ? 1 : t; + } + function a(t) { + return "%" === t[t.length - 1] + ? n((parseFloat(t) / 100) * 255) + : n(parseInt(t)); + } + function o(t) { + return "%" === t[t.length - 1] + ? i(parseFloat(t) / 100) + : i(parseFloat(t)); + } + function s(t, e, r) { + return ( + r < 0 ? (r += 1) : r > 1 && (r -= 1), + 6 * r < 1 + ? t + (e - t) * r * 6 + : 2 * r < 1 + ? e + : 3 * r < 2 + ? t + (e - t) * (2 / 3 - r) * 6 + : t + ); + } + try { + e.parseCSSColor = function (t) { + var e, + i = t.replace(/ /g, "").toLowerCase(); + if (i in r) return r[i].slice(); + if ("#" === i[0]) + return 4 === i.length + ? (e = parseInt(i.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 === i.length && + (e = parseInt(i.substr(1), 16)) >= 0 && + e <= 16777215 + ? [ + (16711680 & e) >> 16, + (65280 & e) >> 8, + 255 & e, + 1, + ] + : null; + var l = i.indexOf("("), + u = i.indexOf(")"); + if (-1 !== l && u + 1 === i.length) { + var c = i.substr(0, l), + f = i.substr(l + 1, u - (l + 1)).split(","), + h = 1; + switch (c) { + case "rgba": + if (4 !== f.length) return null; + h = o(f.pop()); + case "rgb": + return 3 !== f.length + ? null + : [a(f[0]), a(f[1]), a(f[2]), h]; + case "hsla": + if (4 !== f.length) return null; + h = o(f.pop()); + case "hsl": + if (3 !== f.length) return null; + var p = + (((parseFloat(f[0]) % 360) + 360) % + 360) / + 360, + d = o(f[1]), + v = o(f[2]), + g = + v <= 0.5 + ? v * (d + 1) + : v + d - v * d, + y = 2 * v - g; + return [ + n(255 * s(y, g, p + 1 / 3)), + n(255 * s(y, g, p)), + n(255 * s(y, g, p - 1 / 3)), + h, + ]; + default: + return null; + } + } + return null; + }; + } catch (t) {} + }), + ie = ne.parseCSSColor, + ae = function (t, e, r, n) { + void 0 === n && (n = 1), + (this.r = t), + (this.g = e), + (this.b = r), + (this.a = n); + }; + (ae.parse = function (t) { + if (t) { + if (t instanceof ae) return t; + if ("string" == typeof t) { + var e = ie(t); + if (e) + return new ae( + (e[0] / 255) * e[3], + (e[1] / 255) * e[3], + (e[2] / 255) * e[3], + e[3], + ); + } + } + }), + (ae.prototype.toString = function () { + var t = this.toArray(), + e = t[0], + r = t[1], + n = t[2], + i = t[3]; + return ( + "rgba(" + + Math.round(e) + + "," + + Math.round(r) + + "," + + Math.round(n) + + "," + + i + + ")" + ); + }), + (ae.prototype.toArray = function () { + var t = this, + e = t.r, + r = t.g, + n = t.b, + i = t.a; + return 0 === i + ? [0, 0, 0, 0] + : [ + (255 * e) / i, + (255 * r) / i, + (255 * n) / i, + i, + ]; + }), + (ae.black = new ae(0, 0, 0, 1)), + (ae.white = new ae(1, 1, 1, 1)), + (ae.transparent = new ae(0, 0, 0, 0)), + (ae.red = new ae(1, 0, 0, 1)); + var oe = function (t, e, r) { + (this.sensitivity = t + ? e + ? "variant" + : "case" + : e + ? "accent" + : "base"), + (this.locale = r), + (this.collator = new Intl.Collator( + this.locale ? this.locale : [], + { + sensitivity: this.sensitivity, + usage: "search", + }, + )); + }; + (oe.prototype.compare = function (t, e) { + return this.collator.compare(t, e); + }), + (oe.prototype.resolvedLocale = function () { + return new Intl.Collator( + this.locale ? this.locale : [], + ).resolvedOptions().locale; + }); + var se = function (t, e, r, n, i) { + (this.text = t), + (this.image = e), + (this.scale = r), + (this.fontStack = n), + (this.textColor = i); + }, + le = function (t) { + this.sections = t; + }; + (le.fromString = function (t) { + return new le([new se(t, null, null, null, null)]); + }), + (le.prototype.isEmpty = function () { + return ( + 0 === this.sections.length || + !this.sections.some(function (t) { + return ( + 0 !== t.text.length || + (t.image && 0 !== t.image.name.length) + ); + }) + ); + }), + (le.factory = function (t) { + return t instanceof le ? t : le.fromString(t); + }), + (le.prototype.toString = function () { + return 0 === this.sections.length + ? "" + : this.sections + .map(function (t) { + return t.text; + }) + .join(""); + }), + (le.prototype.serialize = function () { + for ( + var t = ["format"], e = 0, r = this.sections; + e < r.length; + e += 1 + ) { + var n = r[e]; + if (n.image) t.push(["image", n.image.name]); + else { + t.push(n.text); + var i = {}; + n.fontStack && + (i["text-font"] = [ + "literal", + n.fontStack.split(","), + ]), + n.scale && (i["font-scale"] = n.scale), + n.textColor && + (i["text-color"] = ["rgba"].concat( + n.textColor.toArray(), + )), + t.push(i); + } + } + return t; + }); + var ue = function (t) { + (this.name = t.name), (this.available = t.available); + }; + function ce(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."; + } + function fe(t) { + if (null === t) return !0; + if ("string" == typeof t) return !0; + if ("boolean" == typeof t) return !0; + if ("number" == typeof t) return !0; + if (t instanceof ae) return !0; + if (t instanceof oe) return !0; + if (t instanceof le) return !0; + if (t instanceof ue) return !0; + if (Array.isArray(t)) { + for (var e = 0, r = t; e < r.length; e += 1) + if (!fe(r[e])) return !1; + return !0; + } + if ("object" == typeof t) { + for (var n in t) if (!fe(t[n])) return !1; + return !0; + } + return !1; + } + function he(t) { + if (null === t) return Ut; + if ("string" == typeof t) return Ht; + if ("boolean" == typeof t) return qt; + if ("number" == typeof t) return Vt; + if (t instanceof ae) return Gt; + if (t instanceof oe) return Wt; + if (t instanceof le) return Xt; + if (t instanceof ue) return Jt; + if (Array.isArray(t)) { + for ( + var e, r = t.length, n = 0, i = t; + n < i.length; + n += 1 + ) { + var a = he(i[n]); + if (e) { + if (e === a) continue; + e = Yt; + break; + } + e = a; + } + return Kt(e || Yt, r); + } + return Zt; + } + function pe(t) { + var e = typeof t; + return null === t + ? "" + : "string" === e || + "number" === e || + "boolean" === e + ? String(t) + : t instanceof ae || + t instanceof le || + t instanceof ue + ? t.toString() + : JSON.stringify(t); + } + (ue.prototype.toString = function () { + return this.name; + }), + (ue.fromString = function (t) { + return t + ? new ue({ name: t, available: !1 }) + : null; + }), + (ue.prototype.serialize = function () { + return ["image", this.name]; + }); + var de = function (t, e) { + (this.type = t), (this.value = e); + }; + (de.parse = function (t, e) { + if (2 !== t.length) + return e.error( + "'literal' expression requires exactly one argument, but found " + + (t.length - 1) + + " instead.", + ); + if (!fe(t[1])) return e.error("invalid value"); + var r = t[1], + n = he(r), + i = e.expectedType; + return ( + "array" !== n.kind || + 0 !== n.N || + !i || + "array" !== i.kind || + ("number" == typeof i.N && 0 !== i.N) || + (n = i), + new de(n, r) + ); + }), + (de.prototype.evaluate = function () { + return this.value; + }), + (de.prototype.eachChild = function () {}), + (de.prototype.outputDefined = function () { + return !0; + }), + (de.prototype.serialize = function () { + return "array" === this.type.kind || + "object" === this.type.kind + ? ["literal", this.value] + : this.value instanceof ae + ? ["rgba"].concat(this.value.toArray()) + : this.value instanceof le + ? this.value.serialize() + : this.value; + }); + var ve = function (t) { + (this.name = "ExpressionEvaluationError"), + (this.message = t); + }; + ve.prototype.toJSON = function () { + return this.message; + }; + var ge = { + string: Ht, + number: Vt, + boolean: qt, + object: Zt, + }, + ye = function (t, e) { + (this.type = t), (this.args = e); + }; + (ye.parse = function (t, e) { + if (t.length < 2) + return e.error("Expected at least one argument."); + var r, + n = 1, + i = t[0]; + if ("array" === i) { + var a, o; + if (t.length > 2) { + var s = t[1]; + if ( + "string" != typeof s || + !(s in ge) || + "object" === s + ) + return e.error( + 'The item type argument of "array" must be one of string, number, boolean', + 1, + ); + (a = ge[s]), n++; + } else a = Yt; + if (t.length > 3) { + if ( + null !== t[2] && + ("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, + ); + (o = t[2]), n++; + } + r = Kt(a, o); + } else r = ge[i]; + for (var l = []; n < t.length; n++) { + var u = e.parse(t[n], n, Yt); + if (!u) return null; + l.push(u); + } + return new ye(r, l); + }), + (ye.prototype.evaluate = function (t) { + for (var e = 0; e < this.args.length; e++) { + var r = this.args[e].evaluate(t); + if (!te(this.type, he(r))) return r; + if (e === this.args.length - 1) + throw new ve( + "Expected value to be of type " + + $t(this.type) + + ", but found " + + $t(he(r)) + + " instead.", + ); + } + return null; + }), + (ye.prototype.eachChild = function (t) { + this.args.forEach(t); + }), + (ye.prototype.outputDefined = function () { + return this.args.every(function (t) { + return t.outputDefined(); + }); + }), + (ye.prototype.serialize = function () { + var t = this.type, + e = [t.kind]; + if ("array" === t.kind) { + var r = t.itemType; + if ( + "string" === r.kind || + "number" === r.kind || + "boolean" === r.kind + ) { + e.push(r.kind); + var n = t.N; + ("number" == typeof n || + this.args.length > 1) && + e.push(n); + } + } + return e.concat( + this.args.map(function (t) { + return t.serialize(); + }), + ); + }); + var me = function (t) { + (this.type = Xt), (this.sections = t); + }; + (me.parse = function (t, e) { + if (t.length < 2) + return e.error("Expected at least one argument."); + var r = t[1]; + if (!Array.isArray(r) && "object" == typeof r) + return e.error( + "First argument must be an image or text section.", + ); + for ( + var n = [], i = !1, a = 1; + a <= t.length - 1; + ++a + ) { + var o = t[a]; + if ( + i && + "object" == typeof o && + !Array.isArray(o) + ) { + i = !1; + var s = null; + if ( + o["font-scale"] && + !(s = e.parse(o["font-scale"], 1, Vt)) + ) + return null; + var l = null; + if ( + o["text-font"] && + !(l = e.parse(o["text-font"], 1, Kt(Ht))) + ) + return null; + var u = null; + if ( + o["text-color"] && + !(u = e.parse(o["text-color"], 1, Gt)) + ) + return null; + var c = n[n.length - 1]; + (c.scale = s), (c.font = l), (c.textColor = u); + } else { + var f = e.parse(t[a], 1, Yt); + if (!f) return null; + var h = f.type.kind; + if ( + "string" !== h && + "value" !== h && + "null" !== h && + "resolvedImage" !== h + ) + return e.error( + "Formatted text type must be 'string', 'value', 'image' or 'null'.", + ); + (i = !0), + n.push({ + content: f, + scale: null, + font: null, + textColor: null, + }); + } + } + return new me(n); + }), + (me.prototype.evaluate = function (t) { + return new le( + this.sections.map(function (e) { + var r = e.content.evaluate(t); + return he(r) === Jt + ? new se("", r, null, null, null) + : new se( + pe(r), + null, + e.scale ? e.scale.evaluate(t) : null, + e.font + ? e.font.evaluate(t).join(",") + : null, + e.textColor + ? e.textColor.evaluate(t) + : null, + ); + }), + ); + }), + (me.prototype.eachChild = function (t) { + for ( + var e = 0, r = this.sections; + e < r.length; + e += 1 + ) { + var n = r[e]; + t(n.content), + n.scale && t(n.scale), + n.font && t(n.font), + n.textColor && t(n.textColor); + } + }), + (me.prototype.outputDefined = function () { + return !1; + }), + (me.prototype.serialize = function () { + for ( + var t = ["format"], e = 0, r = this.sections; + e < r.length; + e += 1 + ) { + var n = r[e]; + t.push(n.content.serialize()); + var i = {}; + n.scale && + (i["font-scale"] = n.scale.serialize()), + n.font && (i["text-font"] = n.font.serialize()), + n.textColor && + (i["text-color"] = n.textColor.serialize()), + t.push(i); + } + return t; + }); + var xe = function (t) { + (this.type = Jt), (this.input = t); + }; + (xe.parse = function (t, e) { + if (2 !== t.length) + return e.error("Expected two arguments."); + var r = e.parse(t[1], 1, Ht); + return r + ? new xe(r) + : e.error("No image name provided."); + }), + (xe.prototype.evaluate = function (t) { + var e = this.input.evaluate(t), + r = ue.fromString(e); + return ( + r && + t.availableImages && + (r.available = + t.availableImages.indexOf(e) > -1), + r + ); + }), + (xe.prototype.eachChild = function (t) { + t(this.input); + }), + (xe.prototype.outputDefined = function () { + return !1; + }), + (xe.prototype.serialize = function () { + return ["image", this.input.serialize()]; + }); + var be = { + "to-boolean": qt, + "to-color": Gt, + "to-number": Vt, + "to-string": Ht, + }, + _e = function (t, e) { + (this.type = t), (this.args = e); + }; + (_e.parse = function (t, e) { + if (t.length < 2) + return e.error("Expected at least one argument."); + var r = t[0]; + if ( + ("to-boolean" === r || "to-string" === r) && + 2 !== t.length + ) + return e.error("Expected one argument."); + for ( + var n = be[r], i = [], a = 1; + a < t.length; + a++ + ) { + var o = e.parse(t[a], a, Yt); + if (!o) return null; + i.push(o); + } + return new _e(n, i); + }), + (_e.prototype.evaluate = function (t) { + if ("boolean" === this.type.kind) + return Boolean(this.args[0].evaluate(t)); + if ("color" === this.type.kind) { + for ( + var e, r, n = 0, i = this.args; + n < i.length; + n += 1 + ) { + if ( + ((r = null), + (e = i[n].evaluate(t)) instanceof ae) + ) + return e; + if ("string" == typeof e) { + 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." + : ce(e[0], e[1], e[2], e[3])) + ) + return new ae( + e[0] / 255, + e[1] / 255, + e[2] / 255, + e[3], + ); + } + throw new ve( + r || + "Could not parse color from value '" + + ("string" == typeof e + ? e + : String(JSON.stringify(e))) + + "'", + ); + } + if ("number" === this.type.kind) { + for ( + var o = null, s = 0, l = this.args; + s < l.length; + s += 1 + ) { + if (null === (o = l[s].evaluate(t))) return 0; + var u = Number(o); + if (!isNaN(u)) return u; + } + throw new ve( + "Could not convert " + + JSON.stringify(o) + + " to number.", + ); + } + return "formatted" === this.type.kind + ? le.fromString(pe(this.args[0].evaluate(t))) + : "resolvedImage" === this.type.kind + ? ue.fromString(pe(this.args[0].evaluate(t))) + : pe(this.args[0].evaluate(t)); + }), + (_e.prototype.eachChild = function (t) { + this.args.forEach(t); + }), + (_e.prototype.outputDefined = function () { + return this.args.every(function (t) { + return t.outputDefined(); + }); + }), + (_e.prototype.serialize = function () { + if ("formatted" === this.type.kind) + return new me([ + { + content: this.args[0], + scale: null, + font: null, + textColor: null, + }, + ]).serialize(); + if ("resolvedImage" === this.type.kind) + return new xe(this.args[0]).serialize(); + var t = ["to-" + this.type.kind]; + return ( + this.eachChild(function (e) { + t.push(e.serialize()); + }), + t + ); + }); + var we = ["Unknown", "Point", "LineString", "Polygon"], + Te = function () { + (this.globals = null), + (this.feature = null), + (this.featureState = null), + (this.formattedSection = null), + (this._parseColorCache = {}), + (this.availableImages = null), + (this.canonical = null); + }; + (Te.prototype.id = function () { + return this.feature && "id" in this.feature + ? this.feature.id + : null; + }), + (Te.prototype.geometryType = function () { + return this.feature + ? "number" == typeof this.feature.type + ? we[this.feature.type] + : this.feature.type + : null; + }), + (Te.prototype.geometry = function () { + return this.feature && "geometry" in this.feature + ? this.feature.geometry + : null; + }), + (Te.prototype.canonicalID = function () { + return this.canonical; + }), + (Te.prototype.properties = function () { + return ( + (this.feature && this.feature.properties) || {} + ); + }), + (Te.prototype.parseColor = function (t) { + var e = this._parseColorCache[t]; + return ( + e || (e = this._parseColorCache[t] = ae.parse(t)), + e + ); + }); + var ke = function (t, e, r, n) { + (this.name = t), + (this.type = e), + (this._evaluate = r), + (this.args = n); + }; + (ke.prototype.evaluate = function (t) { + return this._evaluate(t, this.args); + }), + (ke.prototype.eachChild = function (t) { + this.args.forEach(t); + }), + (ke.prototype.outputDefined = function () { + return !1; + }), + (ke.prototype.serialize = function () { + return [this.name].concat( + this.args.map(function (t) { + return t.serialize(); + }), + ); + }), + (ke.parse = function (t, e) { + var r, + n = t[0], + i = ke.definitions[n]; + if (!i) + return e.error( + 'Unknown expression "' + + n + + '". If you wanted a literal array, use ["literal", [...]].', + 0, + ); + for ( + var a = Array.isArray(i) ? i[0] : i.type, + o = Array.isArray(i) + ? [[i[1], i[2]]] + : i.overloads, + s = o.filter(function (e) { + var r = e[0]; + return ( + !Array.isArray(r) || + r.length === t.length - 1 + ); + }), + l = null, + u = 0, + c = s; + u < c.length; + u += 1 + ) { + var f = c[u], + h = f[0], + p = f[1]; + l = new Ye(e.registry, e.path, null, e.scope); + for ( + var d = [], v = !1, g = 1; + g < t.length; + g++ + ) { + var y = t[g], + m = Array.isArray(h) ? h[g - 1] : h.type, + x = l.parse(y, 1 + d.length, m); + if (!x) { + v = !0; + break; + } + d.push(x); + } + if (!v) + if (Array.isArray(h) && h.length !== d.length) + l.error( + "Expected " + + h.length + + " arguments, but found " + + d.length + + " instead.", + ); + else { + for (var b = 0; b < d.length; b++) { + var _ = Array.isArray(h) ? h[b] : h.type, + w = d[b]; + l.concat(b + 1).checkSubtype(_, w.type); + } + if (0 === l.errors.length) + return new ke(n, a, p, d); + } + } + if (1 === s.length) + (r = e.errors).push.apply(r, l.errors); + else { + for ( + var T = (s.length ? s : o) + .map(function (t) { + return ( + (e = t[0]), + Array.isArray(e) + ? "(" + e.map($t).join(", ") + ")" + : "(" + $t(e.type) + "...)" + ); + var e; + }) + .join(" | "), + k = [], + A = 1; + A < t.length; + A++ + ) { + var M = e.parse(t[A], 1 + k.length); + if (!M) return null; + k.push($t(M.type)); + } + e.error( + "Expected arguments of type " + + T + + ", but found (" + + k.join(", ") + + ") instead.", + ); + } + return null; + }), + (ke.register = function (t, e) { + for (var r in ((ke.definitions = e), e)) t[r] = ke; + }); + var Ae = function (t, e, r) { + (this.type = Wt), + (this.locale = r), + (this.caseSensitive = t), + (this.diacriticSensitive = e); + }; + (Ae.parse = function (t, e) { + if (2 !== t.length) + return e.error("Expected one argument."); + var r = t[1]; + if ("object" != typeof r || Array.isArray(r)) + return e.error( + "Collator options argument must be an object.", + ); + var n = e.parse( + void 0 !== r["case-sensitive"] && + r["case-sensitive"], + 1, + qt, + ); + if (!n) return null; + var i = e.parse( + void 0 !== r["diacritic-sensitive"] && + r["diacritic-sensitive"], + 1, + qt, + ); + if (!i) return null; + var a = null; + return r.locale && !(a = e.parse(r.locale, 1, Ht)) + ? null + : new Ae(n, i, a); + }), + (Ae.prototype.evaluate = function (t) { + return new oe( + this.caseSensitive.evaluate(t), + this.diacriticSensitive.evaluate(t), + this.locale ? this.locale.evaluate(t) : null, + ); + }), + (Ae.prototype.eachChild = function (t) { + t(this.caseSensitive), + t(this.diacriticSensitive), + this.locale && t(this.locale); + }), + (Ae.prototype.outputDefined = function () { + return !1; + }), + (Ae.prototype.serialize = function () { + var t = {}; + return ( + (t["case-sensitive"] = + this.caseSensitive.serialize()), + (t["diacritic-sensitive"] = + this.diacriticSensitive.serialize()), + this.locale && + (t.locale = this.locale.serialize()), + ["collator", t] + ); + }); + var Me = 8192; + function Se(t, e) { + (t[0] = Math.min(t[0], e[0])), + (t[1] = Math.min(t[1], e[1])), + (t[2] = Math.max(t[2], e[0])), + (t[3] = Math.max(t[3], e[1])); + } + function Ee(t, e) { + return !( + t[0] <= e[0] || + t[2] >= e[2] || + t[1] <= e[1] || + t[3] >= e[3] + ); + } + function Le(t, e) { + var r, + n = (180 + t[0]) / 360, + i = + ((r = t[1]), + (180 - + (180 / Math.PI) * + Math.log( + Math.tan(Math.PI / 4 + (r * Math.PI) / 360), + )) / + 360), + a = Math.pow(2, e.z); + return [ + Math.round(n * a * Me), + Math.round(i * a * Me), + ]; + } + function Ce(t, e, r) { + return ( + e[1] > t[1] != r[1] > t[1] && + t[0] < + ((r[0] - e[0]) * (t[1] - e[1])) / (r[1] - e[1]) + + e[0] + ); + } + function Pe(t, e) { + for (var r = !1, n = 0, i = e.length; n < i; n++) + for ( + var a = e[n], o = 0, s = a.length; + o < s - 1; + o++ + ) { + if ( + ((l = t), + (u = a[o]), + (c = a[o + 1]), + (f = void 0), + (h = void 0), + (p = void 0), + (d = void 0), + (f = l[0] - u[0]), + (h = l[1] - u[1]), + (p = l[0] - c[0]), + (d = l[1] - c[1]), + f * d - p * h == 0 && f * p <= 0 && h * d <= 0) + ) + return !1; + Ce(t, a[o], a[o + 1]) && (r = !r); + } + var l, u, c, f, h, p, d; + return r; + } + function Oe(t, e) { + for (var r = 0; r < e.length; r++) + if (Pe(t, e[r])) return !0; + return !1; + } + function Ie(t, e, r, n) { + var i = t[0] - r[0], + a = t[1] - r[1], + o = e[0] - r[0], + s = e[1] - r[1], + l = n[0] - r[0], + u = n[1] - r[1], + c = i * u - l * a, + f = o * u - l * s; + return (c > 0 && f < 0) || (c < 0 && f > 0); + } + function De(t, e, r) { + for (var n = 0, i = r; n < i.length; n += 1) + for (var a = i[n], o = 0; o < a.length - 1; ++o) + if ( + ((s = t), + (l = e), + (u = a[o]), + (c = a[o + 1]), + (f = void 0), + (h = void 0), + (p = void 0), + (p = [l[0] - s[0], l[1] - s[1]]), + 0 != + ((f = [c[0] - u[0], c[1] - u[1]]), + (h = p), + f[0] * h[1] - f[1] * h[0]) && + Ie(s, l, u, c) && + Ie(u, c, s, l)) + ) + return !0; + var s, l, u, c, f, h, p; + return !1; + } + function ze(t, e) { + for (var r = 0; r < t.length; ++r) + if (!Pe(t[r], e)) return !1; + for (var n = 0; n < t.length - 1; ++n) + if (De(t[n], t[n + 1], e)) return !1; + return !0; + } + function Re(t, e) { + for (var r = 0; r < e.length; r++) + if (ze(t, e[r])) return !0; + return !1; + } + function Fe(t, e, r) { + for (var n = [], i = 0; i < t.length; i++) { + for (var a = [], o = 0; o < t[i].length; o++) { + var s = Le(t[i][o], r); + Se(e, s), a.push(s); + } + n.push(a); + } + return n; + } + function Be(t, e, r) { + for (var n = [], i = 0; i < t.length; i++) { + var a = Fe(t[i], e, r); + n.push(a); + } + return n; + } + function Ne(t, e, r, n) { + if (t[0] < r[0] || t[0] > r[2]) { + var i = 0.5 * n, + a = + t[0] - r[0] > i ? -n : r[0] - t[0] > i ? n : 0; + 0 === a && + (a = + t[0] - r[2] > i ? -n : r[2] - t[0] > i ? n : 0), + (t[0] += a); + } + Se(e, t); + } + function je(t, e, r, n) { + for ( + var i = Math.pow(2, n.z) * Me, + a = [n.x * Me, n.y * Me], + o = [], + s = 0, + l = t; + s < l.length; + s += 1 + ) + for (var u = 0, c = l[s]; u < c.length; u += 1) { + var f = c[u], + h = [f.x + a[0], f.y + a[1]]; + Ne(h, e, r, i), o.push(h); + } + return o; + } + function Ue(t, e, r, n) { + for ( + var i = Math.pow(2, n.z) * Me, + a = [n.x * Me, n.y * Me], + o = [], + s = 0, + l = t; + s < l.length; + s += 1 + ) { + for ( + var u = [], c = 0, f = l[s]; + c < f.length; + c += 1 + ) { + var h = f[c], + p = [h.x + a[0], h.y + a[1]]; + Se(e, p), u.push(p); + } + o.push(u); + } + if (e[2] - e[0] <= i / 2) { + ((m = e)[0] = m[1] = 1 / 0), (m[2] = m[3] = -1 / 0); + for (var d = 0, v = o; d < v.length; d += 1) + for (var g = 0, y = v[d]; g < y.length; g += 1) + Ne(y[g], e, r, i); + } + var m; + return o; + } + var Ve = function (t, e) { + (this.type = qt), + (this.geojson = t), + (this.geometries = e); + }; + function He(t) { + if (t instanceof ke) { + if ("get" === t.name && 1 === t.args.length) + return !1; + if ("feature-state" === t.name) return !1; + if ("has" === t.name && 1 === t.args.length) + return !1; + if ( + "properties" === t.name || + "geometry-type" === t.name || + "id" === t.name + ) + return !1; + if (/^filter-/.test(t.name)) return !1; + } + if (t instanceof Ve) return !1; + var e = !0; + return ( + t.eachChild(function (t) { + e && !He(t) && (e = !1); + }), + e + ); + } + function qe(t) { + if (t instanceof ke && "feature-state" === t.name) + return !1; + var e = !0; + return ( + t.eachChild(function (t) { + e && !qe(t) && (e = !1); + }), + e + ); + } + function Ge(t, e) { + if (t instanceof ke && e.indexOf(t.name) >= 0) + return !1; + var r = !0; + return ( + t.eachChild(function (t) { + r && !Ge(t, e) && (r = !1); + }), + r + ); + } + (Ve.parse = function (t, e) { + if (2 !== t.length) + return e.error( + "'within' expression requires exactly one argument, but found " + + (t.length - 1) + + " instead.", + ); + if (fe(t[1])) { + var r = t[1]; + if ("FeatureCollection" === r.type) + for (var n = 0; n < r.features.length; ++n) { + var i = r.features[n].geometry.type; + if ("Polygon" === i || "MultiPolygon" === i) + return new Ve(r, r.features[n].geometry); + } + else if ("Feature" === r.type) { + var a = r.geometry.type; + if ("Polygon" === a || "MultiPolygon" === a) + return new Ve(r, r.geometry); + } else if ( + "Polygon" === r.type || + "MultiPolygon" === r.type + ) + return new Ve(r, r); + } + return e.error( + "'within' expression requires valid geojson object that contains polygon geometry type.", + ); + }), + (Ve.prototype.evaluate = function (t) { + if ( + null != t.geometry() && + null != t.canonicalID() + ) { + if ("Point" === t.geometryType()) + return (function (t, e) { + var r = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + n = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + i = t.canonicalID(); + if ("Polygon" === e.type) { + var a = Fe(e.coordinates, n, i), + o = je(t.geometry(), r, n, i); + if (!Ee(r, n)) return !1; + for (var s = 0, l = o; s < l.length; s += 1) + if (!Pe(l[s], a)) return !1; + } + if ("MultiPolygon" === e.type) { + var u = Be(e.coordinates, n, i), + c = je(t.geometry(), r, n, i); + if (!Ee(r, n)) return !1; + for (var f = 0, h = c; f < h.length; f += 1) + if (!Oe(h[f], u)) return !1; + } + return !0; + })(t, this.geometries); + if ("LineString" === t.geometryType()) + return (function (t, e) { + var r = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + n = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + i = t.canonicalID(); + if ("Polygon" === e.type) { + var a = Fe(e.coordinates, n, i), + o = Ue(t.geometry(), r, n, i); + if (!Ee(r, n)) return !1; + for (var s = 0, l = o; s < l.length; s += 1) + if (!ze(l[s], a)) return !1; + } + if ("MultiPolygon" === e.type) { + var u = Be(e.coordinates, n, i), + c = Ue(t.geometry(), r, n, i); + if (!Ee(r, n)) return !1; + for (var f = 0, h = c; f < h.length; f += 1) + if (!Re(h[f], u)) return !1; + } + return !0; + })(t, this.geometries); + } + return !1; + }), + (Ve.prototype.eachChild = function () {}), + (Ve.prototype.outputDefined = function () { + return !0; + }), + (Ve.prototype.serialize = function () { + return ["within", this.geojson]; + }); + var Ze = function (t, e) { + (this.type = e.type), + (this.name = t), + (this.boundExpression = e); + }; + (Ze.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 Ze(r, e.scope.get(r)) + : e.error( + 'Unknown variable "' + + r + + '". Make sure "' + + r + + '" has been bound in an enclosing "let" expression before using it.', + 1, + ); + }), + (Ze.prototype.evaluate = function (t) { + return this.boundExpression.evaluate(t); + }), + (Ze.prototype.eachChild = function () {}), + (Ze.prototype.outputDefined = function () { + return !1; + }), + (Ze.prototype.serialize = function () { + return ["var", this.name]; + }); + var Ye = function (t, e, r, n, i) { + void 0 === e && (e = []), + void 0 === n && (n = new jt()), + void 0 === i && (i = []), + (this.registry = t), + (this.path = e), + (this.key = e + .map(function (t) { + return "[" + t + "]"; + }) + .join("")), + (this.scope = n), + (this.errors = i), + (this.expectedType = r); + }; + function We(t) { + if (t instanceof Ze) return We(t.boundExpression); + if (t instanceof ke && "error" === t.name) return !1; + if (t instanceof Ae) return !1; + if (t instanceof Ve) return !1; + var e = t instanceof _e || t instanceof ye, + r = !0; + return ( + t.eachChild(function (t) { + r = e ? r && We(t) : r && t instanceof de; + }), + !!r && + He(t) && + Ge(t, [ + "zoom", + "heatmap-density", + "line-progress", + "accumulated", + "is-supported-script", + ]) + ); + } + function Xe(t, e) { + for ( + var r, n, i = t.length - 1, a = 0, o = i, s = 0; + a <= o; + + ) + if ( + ((r = t[(s = Math.floor((a + o) / 2))]), + (n = t[s + 1]), + r <= e) + ) { + if (s === i || e < n) return s; + a = s + 1; + } else { + if (!(r > e)) + throw new ve("Input is not a number."); + o = s - 1; + } + return 0; + } + (Ye.prototype.parse = function (t, e, r, n, i) { + return ( + void 0 === i && (i = {}), + e + ? this.concat(e, r, n)._parse(t, i) + : this._parse(t, i) + ); + }), + (Ye.prototype._parse = function (t, e) { + function r(t, e, r) { + return "assert" === r + ? new ye(e, [t]) + : "coerce" === r + ? new _e(e, [t]) + : t; + } + if ( + ((null !== t && + "string" != typeof t && + "boolean" != typeof t && + "number" != typeof t) || + (t = ["literal", t]), + Array.isArray(t)) + ) { + if (0 === t.length) + return this.error( + 'Expected an array with at least one element. If you wanted a literal array, use ["literal", []].', + ); + var n = t[0]; + if ("string" != typeof n) + return ( + this.error( + "Expression name must be a string, but found " + + typeof n + + ' instead. If you wanted a literal array, use ["literal", [...]].', + 0, + ), + null + ); + var i = this.registry[n]; + if (i) { + var a = i.parse(t, this); + if (!a) return null; + if (this.expectedType) { + var o = this.expectedType, + s = a.type; + if ( + ("string" !== o.kind && + "number" !== o.kind && + "boolean" !== o.kind && + "object" !== o.kind && + "array" !== o.kind) || + "value" !== s.kind + ) + if ( + ("color" !== o.kind && + "formatted" !== o.kind && + "resolvedImage" !== o.kind) || + ("value" !== s.kind && + "string" !== s.kind) + ) { + if (this.checkSubtype(o, s)) return null; + } else + a = r(a, o, e.typeAnnotation || "coerce"); + else + a = r(a, o, e.typeAnnotation || "assert"); + } + if ( + !(a instanceof de) && + "resolvedImage" !== a.type.kind && + We(a) + ) { + var l = new Te(); + try { + a = new de(a.type, a.evaluate(l)); + } catch (t) { + return this.error(t.message), null; + } + } + return a; + } + return this.error( + 'Unknown expression "' + + n + + '". If you wanted a literal array, use ["literal", [...]].', + 0, + ); + } + return void 0 === t + ? this.error( + "'undefined' value invalid. Use null instead.", + ) + : "object" == typeof t + ? this.error( + 'Bare objects invalid. Use ["literal", {...}] instead.', + ) + : this.error( + "Expected an array, but found " + + typeof t + + " instead.", + ); + }), + (Ye.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 Ye( + this.registry, + n, + e || null, + i, + this.errors, + ); + }), + (Ye.prototype.error = function (t) { + for ( + var e = [], r = arguments.length - 1; + r-- > 0; + + ) + e[r] = arguments[r + 1]; + var n = + "" + + this.key + + e + .map(function (t) { + return "[" + t + "]"; + }) + .join(""); + this.errors.push(new Nt(n, t)); + }), + (Ye.prototype.checkSubtype = function (t, e) { + var r = te(t, e); + return r && this.error(r), r; + }); + var Je = 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); + } + }; + function Ke(t, e, r) { + return t * (1 - r) + e * r; + } + (Je.parse = function (t, e) { + 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.", + ); + var r = e.parse(t[1], 1, Vt); + if (!r) return null; + var n = [], + i = null; + e.expectedType && + "value" !== e.expectedType.kind && + (i = e.expectedType); + for (var a = 1; a < t.length; a += 2) { + var o = 1 === a ? -1 / 0 : t[a], + s = t[a + 1], + l = a, + u = a + 1; + if ("number" != typeof o) + return e.error( + 'Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.', + l, + ); + if (n.length && n[n.length - 1][0] >= o) + return e.error( + 'Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.', + l, + ); + var c = e.parse(s, u, i); + if (!c) return null; + (i = i || c.type), n.push([o, c]); + } + return new Je(i, r, n); + }), + (Je.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; + return n >= e[i - 1] + ? r[i - 1].evaluate(t) + : r[Xe(e, n)].evaluate(t); + }), + (Je.prototype.eachChild = function (t) { + t(this.input); + for ( + var e = 0, r = this.outputs; + e < r.length; + e += 1 + ) + t(r[e]); + }), + (Je.prototype.outputDefined = function () { + return this.outputs.every(function (t) { + return t.outputDefined(); + }); + }), + (Je.prototype.serialize = function () { + for ( + var t = ["step", this.input.serialize()], e = 0; + e < this.labels.length; + e++ + ) + e > 0 && t.push(this.labels[e]), + t.push(this.outputs[e].serialize()); + return t; + }); + var $e = Object.freeze({ + __proto__: null, + number: Ke, + color: function (t, e, r) { + return new ae( + Ke(t.r, e.r, r), + Ke(t.g, e.g, r), + Ke(t.b, e.b, r), + Ke(t.a, e.a, r), + ); + }, + array: function (t, e, r) { + return t.map(function (t, n) { + return Ke(t, e[n], r); + }); + }, + }), + Qe = 0.95047, + tr = 1.08883, + er = 4 / 29, + rr = 6 / 29, + nr = 3 * rr * rr, + ir = Math.PI / 180, + ar = 180 / Math.PI; + function or(t) { + return t > 0.008856451679035631 + ? Math.pow(t, 1 / 3) + : t / nr + er; + } + function sr(t) { + return t > rr ? t * t * t : nr * (t - er); + } + function lr(t) { + return ( + 255 * + (t <= 0.0031308 + ? 12.92 * t + : 1.055 * Math.pow(t, 1 / 2.4) - 0.055) + ); + } + function ur(t) { + return (t /= 255) <= 0.04045 + ? t / 12.92 + : Math.pow((t + 0.055) / 1.055, 2.4); + } + function cr(t) { + var e = ur(t.r), + r = ur(t.g), + n = ur(t.b), + i = or( + (0.4124564 * e + 0.3575761 * r + 0.1804375 * n) / + Qe, + ), + a = or( + (0.2126729 * e + 0.7151522 * r + 0.072175 * n) / + 1, + ); + return { + l: 116 * a - 16, + a: 500 * (i - a), + b: + 200 * + (a - + or( + (0.0193339 * e + + 0.119192 * r + + 0.9503041 * n) / + tr, + )), + alpha: t.a, + }; + } + function fr(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 = 1 * sr(e)), + (r = Qe * sr(r)), + (n = tr * sr(n)), + new ae( + lr(3.2404542 * r - 1.5371385 * e - 0.4985314 * n), + lr(-0.969266 * r + 1.8760108 * e + 0.041556 * n), + lr(0.0556434 * r - 0.2040259 * e + 1.0572252 * n), + t.alpha, + ) + ); + } + function hr(t, e, r) { + var n = e - t; + return ( + t + + r * + (n > 180 || n < -180 + ? n - 360 * Math.round(n / 360) + : n) + ); + } + var pr = { + forward: cr, + reverse: fr, + interpolate: function (t, e, r) { + return { + l: Ke(t.l, e.l, r), + a: Ke(t.a, e.a, r), + b: Ke(t.b, e.b, r), + alpha: Ke(t.alpha, e.alpha, r), + }; + }, + }, + dr = { + forward: function (t) { + var e = cr(t), + r = e.l, + n = e.a, + i = e.b, + a = Math.atan2(i, n) * ar; + 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 * ir, + r = t.c; + return fr({ + l: t.l, + a: Math.cos(e) * r, + b: Math.sin(e) * r, + alpha: t.alpha, + }); + }, + interpolate: function (t, e, r) { + return { + h: hr(t.h, e.h, r), + c: Ke(t.c, e.c, r), + l: Ke(t.l, e.l, r), + alpha: Ke(t.alpha, e.alpha, r), + }; + }, + }, + vr = Object.freeze({ + __proto__: null, + lab: pr, + hcl: dr, + }), + gr = function (t, e, r, n, i) { + (this.type = t), + (this.operator = e), + (this.interpolation = r), + (this.input = n), + (this.labels = []), + (this.outputs = []); + for (var a = 0, o = i; a < o.length; a += 1) { + var s = o[a], + l = s[0], + u = s[1]; + this.labels.push(l), this.outputs.push(u); + } + }; + function yr(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); + } + (gr.interpolationFactor = function (t, e, r, i) { + var a = 0; + if ("exponential" === t.name) a = yr(e, t.base, r, i); + else if ("linear" === t.name) a = yr(e, 1, r, i); + else if ("cubic-bezier" === t.name) { + var o = t.controlPoints; + a = new n(o[0], o[1], o[2], o[3]).solve( + yr(e, 1, r, i), + ); + } + return a; + }), + (gr.parse = function (t, e) { + var r = t[0], + n = t[1], + i = t[2], + a = t.slice(3); + if (!Array.isArray(n) || 0 === n.length) + return e.error( + "Expected an interpolation type expression.", + 1, + ); + if ("linear" === n[0]) n = { name: "linear" }; + else if ("exponential" === n[0]) { + var o = n[1]; + if ("number" != typeof o) + return e.error( + "Exponential interpolation requires a numeric base.", + 1, + 1, + ); + n = { name: "exponential", base: o }; + } else { + if ("cubic-bezier" !== n[0]) + return e.error( + "Unknown interpolation type " + String(n[0]), + 1, + 0, + ); + var s = n.slice(1); + if ( + 4 !== s.length || + s.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, + ); + n = { name: "cubic-bezier", controlPoints: s }; + } + 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 (!(i = e.parse(i, 2, Vt))) return null; + var l = [], + u = null; + "interpolate-hcl" === r || "interpolate-lab" === r + ? (u = Gt) + : e.expectedType && + "value" !== e.expectedType.kind && + (u = e.expectedType); + for (var c = 0; c < a.length; c += 2) { + var f = a[c], + h = a[c + 1], + p = c + 3, + d = c + 4; + if ("number" != typeof f) + return e.error( + 'Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.', + p, + ); + if (l.length && l[l.length - 1][0] >= f) + return e.error( + 'Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.', + p, + ); + var v = e.parse(h, d, u); + if (!v) return null; + (u = u || v.type), l.push([f, v]); + } + return "number" === u.kind || + "color" === u.kind || + ("array" === u.kind && + "number" === u.itemType.kind && + "number" == typeof u.N) + ? new gr(u, r, n, i, l) + : e.error( + "Type " + $t(u) + " is not interpolatable.", + ); + }), + (gr.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 a = Xe(e, n), + o = e[a], + s = e[a + 1], + l = gr.interpolationFactor( + this.interpolation, + n, + o, + s, + ), + u = r[a].evaluate(t), + c = r[a + 1].evaluate(t); + return "interpolate" === this.operator + ? $e[this.type.kind.toLowerCase()](u, c, l) + : "interpolate-hcl" === this.operator + ? dr.reverse( + dr.interpolate( + dr.forward(u), + dr.forward(c), + l, + ), + ) + : pr.reverse( + pr.interpolate( + pr.forward(u), + pr.forward(c), + l, + ), + ); + }), + (gr.prototype.eachChild = function (t) { + t(this.input); + for ( + var e = 0, r = this.outputs; + e < r.length; + e += 1 + ) + t(r[e]); + }), + (gr.prototype.outputDefined = function () { + return this.outputs.every(function (t) { + return t.outputDefined(); + }); + }), + (gr.prototype.serialize = function () { + var t; + t = + "linear" === this.interpolation.name + ? ["linear"] + : "exponential" === this.interpolation.name + ? 1 === this.interpolation.base + ? ["linear"] + : ["exponential", this.interpolation.base] + : ["cubic-bezier"].concat( + this.interpolation.controlPoints, + ); + for ( + var e = [ + this.operator, + t, + this.input.serialize(), + ], + r = 0; + r < this.labels.length; + r++ + ) + e.push( + this.labels[r], + this.outputs[r].serialize(), + ); + return e; + }); + var mr = function (t, e) { + (this.type = t), (this.args = e); + }; + (mr.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 i = [], a = 0, o = t.slice(1); + a < o.length; + a += 1 + ) { + var s = o[a], + l = e.parse(s, 1 + i.length, r, void 0, { + typeAnnotation: "omit", + }); + if (!l) return null; + (r = r || l.type), i.push(l); + } + var u = + n && + i.some(function (t) { + return te(n, t.type); + }); + return new mr(u ? Yt : r, i); + }), + (mr.prototype.evaluate = function (t) { + for ( + var e, r = null, n = 0, i = 0, a = this.args; + i < a.length && + (n++, + (r = a[i].evaluate(t)) && + r instanceof ue && + !r.available && + (e || (e = r.name), + (r = null), + n === this.args.length && (r = e)), + null === r); + i += 1 + ); + return r; + }), + (mr.prototype.eachChild = function (t) { + this.args.forEach(t); + }), + (mr.prototype.outputDefined = function () { + return this.args.every(function (t) { + return t.outputDefined(); + }); + }), + (mr.prototype.serialize = function () { + var t = ["coalesce"]; + return ( + this.eachChild(function (e) { + t.push(e.serialize()); + }), + t + ); + }); + var xr = function (t, e) { + (this.type = e.type), + (this.bindings = [].concat(t)), + (this.result = e); + }; + (xr.prototype.evaluate = function (t) { + return this.result.evaluate(t); + }), + (xr.prototype.eachChild = function (t) { + for ( + var e = 0, r = this.bindings; + e < r.length; + e += 1 + ) + t(r[e][1]); + t(this.result); + }), + (xr.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 = [], n = 1; n < t.length - 1; n += 2) { + var i = t[n]; + if ("string" != typeof i) + return e.error( + "Expected string, but found " + + typeof i + + " instead.", + n, + ); + if (/[^a-zA-Z0-9_]/.test(i)) + return e.error( + "Variable names must contain only alphanumeric characters or '_'.", + n, + ); + var a = e.parse(t[n + 1], n + 1); + if (!a) return null; + r.push([i, a]); + } + var o = e.parse( + t[t.length - 1], + t.length - 1, + e.expectedType, + r, + ); + return o ? new xr(r, o) : null; + }), + (xr.prototype.outputDefined = function () { + return this.result.outputDefined(); + }), + (xr.prototype.serialize = function () { + for ( + var t = ["let"], e = 0, r = this.bindings; + e < r.length; + e += 1 + ) { + var n = r[e], + i = n[0], + a = n[1]; + t.push(i, a.serialize()); + } + return t.push(this.result.serialize()), t; + }); + var br = function (t, e, r) { + (this.type = t), (this.index = e), (this.input = r); + }; + (br.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, Vt), + n = e.parse(t[2], 2, Kt(e.expectedType || Yt)); + if (!r || !n) return null; + var i = n.type; + return new br(i.itemType, r, n); + }), + (br.prototype.evaluate = function (t) { + var e = this.index.evaluate(t), + r = this.input.evaluate(t); + if (e < 0) + throw new ve( + "Array index out of bounds: " + e + " < 0.", + ); + if (e >= r.length) + throw new ve( + "Array index out of bounds: " + + e + + " > " + + (r.length - 1) + + ".", + ); + if (e !== Math.floor(e)) + throw new ve( + "Array index must be an integer, but found " + + e + + " instead.", + ); + return r[e]; + }), + (br.prototype.eachChild = function (t) { + t(this.index), t(this.input); + }), + (br.prototype.outputDefined = function () { + return !1; + }), + (br.prototype.serialize = function () { + return [ + "at", + this.index.serialize(), + this.input.serialize(), + ]; + }); + var _r = function (t, e) { + (this.type = qt), + (this.needle = t), + (this.haystack = e); + }; + (_r.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, Yt), + n = e.parse(t[2], 2, Yt); + return r && n + ? ee(r.type, [qt, Ht, Vt, Ut, Yt]) + ? new _r(r, n) + : e.error( + "Expected first argument to be of type boolean, string, number or null, but found " + + $t(r.type) + + " instead", + ) + : null; + }), + (_r.prototype.evaluate = function (t) { + var e = this.needle.evaluate(t), + r = this.haystack.evaluate(t); + if (!r) return !1; + if (!re(e, ["boolean", "string", "number", "null"])) + throw new ve( + "Expected first argument to be of type boolean, string, number or null, but found " + + $t(he(e)) + + " instead.", + ); + if (!re(r, ["string", "array"])) + throw new ve( + "Expected second argument to be of type array or string, but found " + + $t(he(r)) + + " instead.", + ); + return r.indexOf(e) >= 0; + }), + (_r.prototype.eachChild = function (t) { + t(this.needle), t(this.haystack); + }), + (_r.prototype.outputDefined = function () { + return !0; + }), + (_r.prototype.serialize = function () { + return [ + "in", + this.needle.serialize(), + this.haystack.serialize(), + ]; + }); + var wr = function (t, e, r) { + (this.type = Vt), + (this.needle = t), + (this.haystack = e), + (this.fromIndex = r); + }; + (wr.parse = function (t, e) { + if (t.length <= 2 || t.length >= 5) + return e.error( + "Expected 3 or 4 arguments, but found " + + (t.length - 1) + + " instead.", + ); + var r = e.parse(t[1], 1, Yt), + n = e.parse(t[2], 2, Yt); + if (!r || !n) return null; + if (!ee(r.type, [qt, Ht, Vt, Ut, Yt])) + return e.error( + "Expected first argument to be of type boolean, string, number or null, but found " + + $t(r.type) + + " instead", + ); + if (4 === t.length) { + var i = e.parse(t[3], 3, Vt); + return i ? new wr(r, n, i) : null; + } + return new wr(r, n); + }), + (wr.prototype.evaluate = function (t) { + var e = this.needle.evaluate(t), + r = this.haystack.evaluate(t); + if (!re(e, ["boolean", "string", "number", "null"])) + throw new ve( + "Expected first argument to be of type boolean, string, number or null, but found " + + $t(he(e)) + + " instead.", + ); + if (!re(r, ["string", "array"])) + throw new ve( + "Expected second argument to be of type array or string, but found " + + $t(he(r)) + + " instead.", + ); + if (this.fromIndex) { + var n = this.fromIndex.evaluate(t); + return r.indexOf(e, n); + } + return r.indexOf(e); + }), + (wr.prototype.eachChild = function (t) { + t(this.needle), + t(this.haystack), + this.fromIndex && t(this.fromIndex); + }), + (wr.prototype.outputDefined = function () { + return !1; + }), + (wr.prototype.serialize = function () { + if ( + null != this.fromIndex && + void 0 !== this.fromIndex + ) { + var t = this.fromIndex.serialize(); + return [ + "index-of", + this.needle.serialize(), + this.haystack.serialize(), + t, + ]; + } + return [ + "index-of", + this.needle.serialize(), + this.haystack.serialize(), + ]; + }); + var Tr = 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); + }; + (Tr.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, n; + e.expectedType && + "value" !== e.expectedType.kind && + (n = e.expectedType); + for ( + var i = {}, a = [], o = 2; + o < t.length - 1; + o += 2 + ) { + var s = t[o], + l = t[o + 1]; + Array.isArray(s) || (s = [s]); + var u = e.concat(o); + if (0 === s.length) + return u.error( + "Expected at least one branch label.", + ); + for (var c = 0, f = s; c < f.length; c += 1) { + var h = f[c]; + if ("number" != typeof h && "string" != typeof h) + return u.error( + "Branch labels must be numbers or strings.", + ); + if ( + "number" == typeof h && + Math.abs(h) > Number.MAX_SAFE_INTEGER + ) + return u.error( + "Branch labels must be integers no larger than " + + Number.MAX_SAFE_INTEGER + + ".", + ); + if ("number" == typeof h && Math.floor(h) !== h) + return u.error( + "Numeric branch labels must be integer values.", + ); + if (r) { + if (u.checkSubtype(r, he(h))) return null; + } else r = he(h); + if (void 0 !== i[String(h)]) + return u.error("Branch labels must be unique."); + i[String(h)] = a.length; + } + var p = e.parse(l, o, n); + if (!p) return null; + (n = n || p.type), a.push(p); + } + var d = e.parse(t[1], 1, Yt); + if (!d) return null; + var v = e.parse(t[t.length - 1], t.length - 1, n); + return v + ? "value" !== d.type.kind && + e.concat(1).checkSubtype(r, d.type) + ? null + : new Tr(r, n, d, i, a, v) + : null; + }), + (Tr.prototype.evaluate = function (t) { + var e = this.input.evaluate(t); + return ( + (he(e) === this.inputType && + this.outputs[this.cases[e]]) || + this.otherwise + ).evaluate(t); + }), + (Tr.prototype.eachChild = function (t) { + t(this.input), + this.outputs.forEach(t), + t(this.otherwise); + }), + (Tr.prototype.outputDefined = function () { + return ( + this.outputs.every(function (t) { + return t.outputDefined(); + }) && this.otherwise.outputDefined() + ); + }), + (Tr.prototype.serialize = function () { + for ( + var t = this, + e = ["match", this.input.serialize()], + r = [], + n = {}, + i = 0, + a = Object.keys(this.cases).sort(); + i < a.length; + i += 1 + ) { + var o = a[i]; + void 0 === (f = n[this.cases[o]]) + ? ((n[this.cases[o]] = r.length), + r.push([this.cases[o], [o]])) + : r[f][1].push(o); + } + for ( + var s = function (e) { + return "number" === t.inputType.kind + ? Number(e) + : e; + }, + l = 0, + u = r; + l < u.length; + l += 1 + ) { + var c = u[l], + f = c[0], + h = c[1]; + 1 === h.length + ? e.push(s(h[0])) + : e.push(h.map(s)), + e.push(this.outputs[outputIndex$1].serialize()); + } + return e.push(this.otherwise.serialize()), e; + }); + var kr = function (t, e, r) { + (this.type = t), + (this.branches = e), + (this.otherwise = r); + }; + (kr.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 n = [], i = 1; i < t.length - 1; i += 2) { + var a = e.parse(t[i], i, qt); + if (!a) return null; + var o = e.parse(t[i + 1], i + 1, r); + if (!o) return null; + n.push([a, o]), (r = r || o.type); + } + var s = e.parse(t[t.length - 1], t.length - 1, r); + return s ? new kr(r, n, s) : null; + }), + (kr.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); + }), + (kr.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); + }), + (kr.prototype.outputDefined = function () { + return ( + this.branches.every(function (t) { + return t[0], t[1].outputDefined(); + }) && this.otherwise.outputDefined() + ); + }), + (kr.prototype.serialize = function () { + var t = ["case"]; + return ( + this.eachChild(function (e) { + t.push(e.serialize()); + }), + t + ); + }); + var Ar = function (t, e, r, n) { + (this.type = t), + (this.input = e), + (this.beginIndex = r), + (this.endIndex = n); + }; + function Mr(t, e) { + return "==" === t || "!=" === t + ? "boolean" === e.kind || + "string" === e.kind || + "number" === e.kind || + "null" === e.kind || + "value" === e.kind + : "string" === e.kind || + "number" === e.kind || + "value" === e.kind; + } + function Sr(t, e, r, n) { + return 0 === n.compare(e, r); + } + function Er(t, e, r) { + var n = "==" !== t && "!=" !== t; + return (function () { + function i(t, e, r) { + (this.type = qt), + (this.lhs = t), + (this.rhs = e), + (this.collator = r), + (this.hasUntypedArgument = + "value" === t.type.kind || + "value" === e.type.kind); + } + return ( + (i.parse = function (t, e) { + if (3 !== t.length && 4 !== t.length) + return e.error( + "Expected two or three arguments.", + ); + var r = t[0], + a = e.parse(t[1], 1, Yt); + if (!a) return null; + if (!Mr(r, a.type)) + return e + .concat(1) + .error( + '"' + + r + + "\" comparisons are not supported for type '" + + $t(a.type) + + "'.", + ); + var o = e.parse(t[2], 2, Yt); + if (!o) return null; + if (!Mr(r, o.type)) + return e + .concat(2) + .error( + '"' + + r + + "\" comparisons are not supported for type '" + + $t(o.type) + + "'.", + ); + if ( + a.type.kind !== o.type.kind && + "value" !== a.type.kind && + "value" !== o.type.kind + ) + return e.error( + "Cannot compare types '" + + $t(a.type) + + "' and '" + + $t(o.type) + + "'.", + ); + n && + ("value" === a.type.kind && + "value" !== o.type.kind + ? (a = new ye(o.type, [a])) + : "value" !== a.type.kind && + "value" === o.type.kind && + (o = new ye(a.type, [o]))); + var s = null; + if (4 === t.length) { + if ( + "string" !== a.type.kind && + "string" !== o.type.kind && + "value" !== a.type.kind && + "value" !== o.type.kind + ) + return e.error( + "Cannot use collator to compare non-string types.", + ); + if (!(s = e.parse(t[3], 3, Wt))) return null; + } + return new i(a, o, s); + }), + (i.prototype.evaluate = function (i) { + var a = this.lhs.evaluate(i), + o = this.rhs.evaluate(i); + if (n && this.hasUntypedArgument) { + var s = he(a), + l = he(o); + if ( + s.kind !== l.kind || + ("string" !== s.kind && "number" !== s.kind) + ) + throw new ve( + 'Expected arguments for "' + + t + + '" to be (string, string) or (number, number), but found (' + + s.kind + + ", " + + l.kind + + ") instead.", + ); + } + if ( + this.collator && + !n && + this.hasUntypedArgument + ) { + var u = he(a), + c = he(o); + if ( + "string" !== u.kind || + "string" !== c.kind + ) + return e(i, a, o); + } + return this.collator + ? r(i, a, o, this.collator.evaluate(i)) + : e(i, a, o); + }), + (i.prototype.eachChild = function (t) { + t(this.lhs), + t(this.rhs), + this.collator && t(this.collator); + }), + (i.prototype.outputDefined = function () { + return !0; + }), + (i.prototype.serialize = function () { + var e = [t]; + return ( + this.eachChild(function (t) { + e.push(t.serialize()); + }), + e + ); + }), + i + ); + })(); + } + (Ar.parse = function (t, e) { + if (t.length <= 2 || t.length >= 5) + return e.error( + "Expected 3 or 4 arguments, but found " + + (t.length - 1) + + " instead.", + ); + var r = e.parse(t[1], 1, Yt), + n = e.parse(t[2], 2, Vt); + if (!r || !n) return null; + if (!ee(r.type, [Kt(Yt), Ht, Yt])) + return e.error( + "Expected first argument to be of type array or string, but found " + + $t(r.type) + + " instead", + ); + if (4 === t.length) { + var i = e.parse(t[3], 3, Vt); + return i ? new Ar(r.type, r, n, i) : null; + } + return new Ar(r.type, r, n); + }), + (Ar.prototype.evaluate = function (t) { + var e = this.input.evaluate(t), + r = this.beginIndex.evaluate(t); + if (!re(e, ["string", "array"])) + throw new ve( + "Expected first argument to be of type array or string, but found " + + $t(he(e)) + + " instead.", + ); + if (this.endIndex) { + var n = this.endIndex.evaluate(t); + return e.slice(r, n); + } + return e.slice(r); + }), + (Ar.prototype.eachChild = function (t) { + t(this.input), + t(this.beginIndex), + this.endIndex && t(this.endIndex); + }), + (Ar.prototype.outputDefined = function () { + return !1; + }), + (Ar.prototype.serialize = function () { + if ( + null != this.endIndex && + void 0 !== this.endIndex + ) { + var t = this.endIndex.serialize(); + return [ + "slice", + this.input.serialize(), + this.beginIndex.serialize(), + t, + ]; + } + return [ + "slice", + this.input.serialize(), + this.beginIndex.serialize(), + ]; + }); + var Lr = Er( + "==", + function (t, e, r) { + return e === r; + }, + Sr, + ), + Cr = Er( + "!=", + function (t, e, r) { + return e !== r; + }, + function (t, e, r, n) { + return !Sr(0, e, r, n); + }, + ), + Pr = Er( + "<", + function (t, e, r) { + return e < r; + }, + function (t, e, r, n) { + return n.compare(e, r) < 0; + }, + ), + Or = Er( + ">", + function (t, e, r) { + return e > r; + }, + function (t, e, r, n) { + return n.compare(e, r) > 0; + }, + ), + Ir = Er( + "<=", + function (t, e, r) { + return e <= r; + }, + function (t, e, r, n) { + return n.compare(e, r) <= 0; + }, + ), + Dr = Er( + ">=", + function (t, e, r) { + return e >= r; + }, + function (t, e, r, n) { + return n.compare(e, r) >= 0; + }, + ), + zr = function (t, e, r, n, i) { + (this.type = Ht), + (this.number = t), + (this.locale = e), + (this.currency = r), + (this.minFractionDigits = n), + (this.maxFractionDigits = i); + }; + (zr.parse = function (t, e) { + if (3 !== t.length) + return e.error("Expected two arguments."); + var r = e.parse(t[1], 1, Vt); + if (!r) return null; + var n = t[2]; + if ("object" != typeof n || Array.isArray(n)) + return e.error( + "NumberFormat options argument must be an object.", + ); + var i = null; + if (n.locale && !(i = e.parse(n.locale, 1, Ht))) + return null; + var a = null; + if (n.currency && !(a = e.parse(n.currency, 1, Ht))) + return null; + var o = null; + if ( + n["min-fraction-digits"] && + !(o = e.parse(n["min-fraction-digits"], 1, Vt)) + ) + return null; + var s = null; + return n["max-fraction-digits"] && + !(s = e.parse(n["max-fraction-digits"], 1, Vt)) + ? null + : new zr(r, i, a, o, s); + }), + (zr.prototype.evaluate = function (t) { + return new Intl.NumberFormat( + this.locale ? this.locale.evaluate(t) : [], + { + style: this.currency ? "currency" : "decimal", + currency: this.currency + ? this.currency.evaluate(t) + : void 0, + minimumFractionDigits: this.minFractionDigits + ? this.minFractionDigits.evaluate(t) + : void 0, + maximumFractionDigits: this.maxFractionDigits + ? this.maxFractionDigits.evaluate(t) + : void 0, + }, + ).format(this.number.evaluate(t)); + }), + (zr.prototype.eachChild = function (t) { + t(this.number), + this.locale && t(this.locale), + this.currency && t(this.currency), + this.minFractionDigits && + t(this.minFractionDigits), + this.maxFractionDigits && + t(this.maxFractionDigits); + }), + (zr.prototype.outputDefined = function () { + return !1; + }), + (zr.prototype.serialize = function () { + var t = {}; + return ( + this.locale && + (t.locale = this.locale.serialize()), + this.currency && + (t.currency = this.currency.serialize()), + this.minFractionDigits && + (t["min-fraction-digits"] = + this.minFractionDigits.serialize()), + this.maxFractionDigits && + (t["max-fraction-digits"] = + this.maxFractionDigits.serialize()), + ["number-format", this.number.serialize(), t] + ); + }); + var Rr = function (t) { + (this.type = Vt), (this.input = t); + }; + (Rr.parse = function (t, e) { + if (2 !== t.length) + return e.error( + "Expected 1 argument, but found " + + (t.length - 1) + + " instead.", + ); + var r = e.parse(t[1], 1); + return r + ? "array" !== r.type.kind && + "string" !== r.type.kind && + "value" !== r.type.kind + ? e.error( + "Expected argument of type string or array, but found " + + $t(r.type) + + " instead.", + ) + : new Rr(r) + : null; + }), + (Rr.prototype.evaluate = function (t) { + var e = this.input.evaluate(t); + if ("string" == typeof e) return e.length; + if (Array.isArray(e)) return e.length; + throw new ve( + "Expected value to be of type string or array, but found " + + $t(he(e)) + + " instead.", + ); + }), + (Rr.prototype.eachChild = function (t) { + t(this.input); + }), + (Rr.prototype.outputDefined = function () { + return !1; + }), + (Rr.prototype.serialize = function () { + var t = ["length"]; + return ( + this.eachChild(function (e) { + t.push(e.serialize()); + }), + t + ); + }); + var Fr = { + "==": Lr, + "!=": Cr, + ">": Or, + "<": Pr, + ">=": Dr, + "<=": Ir, + array: ye, + at: br, + boolean: ye, + case: kr, + coalesce: mr, + collator: Ae, + format: me, + image: xe, + in: _r, + "index-of": wr, + interpolate: gr, + "interpolate-hcl": gr, + "interpolate-lab": gr, + length: Rr, + let: xr, + literal: de, + match: Tr, + number: ye, + "number-format": zr, + object: ye, + slice: Ar, + step: Je, + string: ye, + "to-boolean": _e, + "to-color": _e, + "to-number": _e, + "to-string": _e, + var: Ze, + within: Ve, + }; + function Br(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 = ce(r, n, i, o); + if (s) throw new ve(s); + return new ae( + (r / 255) * o, + (n / 255) * o, + (i / 255) * o, + o, + ); + } + function Nr(t, e) { + return t in e; + } + function jr(t, e) { + var r = e[t]; + return void 0 === r ? null : r; + } + function Ur(t) { + return { type: t }; + } + function Vr(t) { + return { result: "success", value: t }; + } + function Hr(t) { + return { result: "error", value: t }; + } + function qr(t) { + return ( + "data-driven" === t["property-type"] || + "cross-faded-data-driven" === t["property-type"] + ); + } + function Gr(t) { + return ( + !!t.expression && + t.expression.parameters.indexOf("zoom") > -1 + ); + } + function Zr(t) { + return !!t.expression && t.expression.interpolated; + } + function Yr(t) { + return t instanceof Number + ? "number" + : t instanceof String + ? "string" + : t instanceof Boolean + ? "boolean" + : Array.isArray(t) + ? "array" + : null === t + ? "null" + : typeof t; + } + function Wr(t) { + return ( + "object" == typeof t && + null !== t && + !Array.isArray(t) + ); + } + function Xr(t) { + return t; + } + function Jr(t, e) { + var r, + n, + i, + a = "color" === e.type, + o = t.stops && "object" == typeof t.stops[0][0], + s = o || void 0 !== t.property, + l = o || !s, + u = t.type || (Zr(e) ? "exponential" : "interval"); + if ( + (a && + ((t = Rt({}, t)).stops && + (t.stops = t.stops.map(function (t) { + return [t[0], ae.parse(t[1])]; + })), + t.default + ? (t.default = ae.parse(t.default)) + : (t.default = ae.parse(e.default))), + t.colorSpace && + "rgb" !== t.colorSpace && + !vr[t.colorSpace]) + ) + throw new Error( + "Unknown color space: " + t.colorSpace, + ); + if ("exponential" === u) r = tn; + else if ("interval" === u) r = Qr; + else if ("categorical" === u) { + (r = $r), (n = Object.create(null)); + for (var c = 0, f = t.stops; c < f.length; c += 1) { + var h = f[c]; + n[h[0]] = h[1]; + } + i = typeof t.stops[0][0]; + } else { + if ("identity" !== u) + throw new Error( + 'Unknown function type "' + u + '"', + ); + r = en; + } + if (o) { + for ( + var p = {}, d = [], v = 0; + v < t.stops.length; + v++ + ) { + var g = t.stops[v], + y = g[0].zoom; + void 0 === p[y] && + ((p[y] = { + zoom: y, + type: t.type, + property: t.property, + default: t.default, + stops: [], + }), + d.push(y)), + p[y].stops.push([g[0].value, g[1]]); + } + for ( + var m = [], x = 0, b = d; + x < b.length; + x += 1 + ) { + var _ = b[x]; + m.push([p[_].zoom, Jr(p[_], e)]); + } + var w = { name: "linear" }; + return { + kind: "composite", + interpolationType: w, + interpolationFactor: gr.interpolationFactor.bind( + void 0, + w, + ), + zoomStops: m.map(function (t) { + return t[0]; + }), + evaluate: function (r, n) { + var i = r.zoom; + return tn( + { stops: m, base: t.base }, + e, + i, + ).evaluate(i, n); + }, + }; + } + if (l) { + var T = + "exponential" === u + ? { + name: "exponential", + base: void 0 !== t.base ? t.base : 1, + } + : null; + return { + kind: "camera", + interpolationType: T, + interpolationFactor: gr.interpolationFactor.bind( + void 0, + T, + ), + zoomStops: t.stops.map(function (t) { + return t[0]; + }), + evaluate: function (a) { + var o = a.zoom; + return r(t, e, o, n, i); + }, + }; + } + return { + kind: "source", + evaluate: function (a, o) { + var s = + o && o.properties + ? o.properties[t.property] + : void 0; + return void 0 === s + ? Kr(t.default, e.default) + : r(t, e, s, n, i); + }, + }; + } + function Kr(t, e, r) { + return void 0 !== t + ? t + : void 0 !== e + ? e + : void 0 !== r + ? r + : void 0; + } + function $r(t, e, r, n, i) { + return Kr( + typeof r === i ? n[r] : void 0, + t.default, + e.default, + ); + } + function Qr(t, e, r) { + if ("number" !== Yr(r)) + return Kr(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 i = Xe( + t.stops.map(function (t) { + return t[0]; + }), + r, + ); + return t.stops[i][1]; + } + function tn(t, e, r) { + var n = void 0 !== t.base ? t.base : 1; + if ("number" !== Yr(r)) + return Kr(t.default, e.default); + var i = t.stops.length; + if (1 === i) return t.stops[0][1]; + if (r <= t.stops[0][0]) return t.stops[0][1]; + if (r >= t.stops[i - 1][0]) return t.stops[i - 1][1]; + var a = Xe( + t.stops.map(function (t) { + return t[0]; + }), + r, + ), + o = (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, n, t.stops[a][0], t.stops[a + 1][0]), + s = t.stops[a][1], + l = t.stops[a + 1][1], + u = $e[e.type] || Xr; + if (t.colorSpace && "rgb" !== t.colorSpace) { + var c = vr[t.colorSpace]; + u = function (t, e) { + return c.reverse( + c.interpolate(c.forward(t), c.forward(e), o), + ); + }; + } + return "function" == typeof s.evaluate + ? { + evaluate: function () { + for (var t = [], e = arguments.length; e--; ) + t[e] = arguments[e]; + var r = s.evaluate.apply(void 0, t), + n = l.evaluate.apply(void 0, t); + if (void 0 !== r && void 0 !== n) + return u(r, n, o); + }, + } + : u(s, l, o); + } + function en(t, e, r) { + return ( + "color" === e.type + ? (r = ae.parse(r)) + : "formatted" === e.type + ? (r = le.fromString(r.toString())) + : "resolvedImage" === e.type + ? (r = ue.fromString(r.toString())) + : Yr(r) === e.type || + ("enum" === e.type && e.values[r]) || + (r = void 0), + Kr(r, t.default, e.default) + ); + } + ke.register(Fr, { + error: [ + { kind: "error" }, + [Ht], + function (t, e) { + var r = e[0]; + throw new ve(r.evaluate(t)); + }, + ], + typeof: [ + Ht, + [Yt], + function (t, e) { + return $t(he(e[0].evaluate(t))); + }, + ], + "to-rgba": [ + Kt(Vt, 4), + [Gt], + function (t, e) { + return e[0].evaluate(t).toArray(); + }, + ], + rgb: [Gt, [Vt, Vt, Vt], Br], + rgba: [Gt, [Vt, Vt, Vt, Vt], Br], + has: { + type: qt, + overloads: [ + [ + [Ht], + function (t, e) { + return Nr(e[0].evaluate(t), t.properties()); + }, + ], + [ + [Ht, Zt], + function (t, e) { + var r = e[0], + n = e[1]; + return Nr(r.evaluate(t), n.evaluate(t)); + }, + ], + ], + }, + get: { + type: Yt, + overloads: [ + [ + [Ht], + function (t, e) { + return jr(e[0].evaluate(t), t.properties()); + }, + ], + [ + [Ht, Zt], + function (t, e) { + var r = e[0], + n = e[1]; + return jr(r.evaluate(t), n.evaluate(t)); + }, + ], + ], + }, + "feature-state": [ + Yt, + [Ht], + function (t, e) { + return jr(e[0].evaluate(t), t.featureState || {}); + }, + ], + properties: [ + Zt, + [], + function (t) { + return t.properties(); + }, + ], + "geometry-type": [ + Ht, + [], + function (t) { + return t.geometryType(); + }, + ], + id: [ + Yt, + [], + function (t) { + return t.id(); + }, + ], + zoom: [ + Vt, + [], + function (t) { + return t.globals.zoom; + }, + ], + "heatmap-density": [ + Vt, + [], + function (t) { + return t.globals.heatmapDensity || 0; + }, + ], + "line-progress": [ + Vt, + [], + function (t) { + return t.globals.lineProgress || 0; + }, + ], + accumulated: [ + Yt, + [], + function (t) { + return void 0 === t.globals.accumulated + ? null + : t.globals.accumulated; + }, + ], + "+": [ + Vt, + Ur(Vt), + function (t, e) { + for ( + var r = 0, n = 0, i = e; + n < i.length; + n += 1 + ) + r += i[n].evaluate(t); + return r; + }, + ], + "*": [ + Vt, + Ur(Vt), + function (t, e) { + for ( + var r = 1, n = 0, i = e; + n < i.length; + n += 1 + ) + r *= i[n].evaluate(t); + return r; + }, + ], + "-": { + type: Vt, + overloads: [ + [ + [Vt, Vt], + function (t, e) { + var r = e[0], + n = e[1]; + return r.evaluate(t) - n.evaluate(t); + }, + ], + [ + [Vt], + function (t, e) { + return -e[0].evaluate(t); + }, + ], + ], + }, + "/": [ + Vt, + [Vt, Vt], + function (t, e) { + var r = e[0], + n = e[1]; + return r.evaluate(t) / n.evaluate(t); + }, + ], + "%": [ + Vt, + [Vt, Vt], + function (t, e) { + var r = e[0], + n = e[1]; + return r.evaluate(t) % n.evaluate(t); + }, + ], + ln2: [ + Vt, + [], + function () { + return Math.LN2; + }, + ], + pi: [ + Vt, + [], + function () { + return Math.PI; + }, + ], + e: [ + Vt, + [], + function () { + return Math.E; + }, + ], + "^": [ + Vt, + [Vt, Vt], + function (t, e) { + var r = e[0], + n = e[1]; + return Math.pow(r.evaluate(t), n.evaluate(t)); + }, + ], + sqrt: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.sqrt(r.evaluate(t)); + }, + ], + log10: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.log(r.evaluate(t)) / Math.LN10; + }, + ], + ln: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.log(r.evaluate(t)); + }, + ], + log2: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.log(r.evaluate(t)) / Math.LN2; + }, + ], + sin: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.sin(r.evaluate(t)); + }, + ], + cos: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.cos(r.evaluate(t)); + }, + ], + tan: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.tan(r.evaluate(t)); + }, + ], + asin: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.asin(r.evaluate(t)); + }, + ], + acos: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.acos(r.evaluate(t)); + }, + ], + atan: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.atan(r.evaluate(t)); + }, + ], + min: [ + Vt, + Ur(Vt), + function (t, e) { + return Math.min.apply( + Math, + e.map(function (e) { + return e.evaluate(t); + }), + ); + }, + ], + max: [ + Vt, + Ur(Vt), + function (t, e) { + return Math.max.apply( + Math, + e.map(function (e) { + return e.evaluate(t); + }), + ); + }, + ], + abs: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.abs(r.evaluate(t)); + }, + ], + round: [ + Vt, + [Vt], + function (t, e) { + var r = e[0].evaluate(t); + return r < 0 ? -Math.round(-r) : Math.round(r); + }, + ], + floor: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.floor(r.evaluate(t)); + }, + ], + ceil: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.ceil(r.evaluate(t)); + }, + ], + "filter-==": [ + qt, + [Ht, Yt], + function (t, e) { + var r = e[0], + n = e[1]; + return t.properties()[r.value] === n.value; + }, + ], + "filter-id-==": [ + qt, + [Yt], + function (t, e) { + var r = e[0]; + return t.id() === r.value; + }, + ], + "filter-type-==": [ + qt, + [Ht], + function (t, e) { + var r = e[0]; + return t.geometryType() === r.value; + }, + ], + "filter-<": [ + qt, + [Ht, Yt], + 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-<": [ + qt, + [Yt], + function (t, e) { + var r = e[0], + n = t.id(), + i = r.value; + return typeof n == typeof i && n < i; + }, + ], + "filter->": [ + qt, + [Ht, Yt], + 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->": [ + qt, + [Yt], + function (t, e) { + var r = e[0], + n = t.id(), + i = r.value; + return typeof n == typeof i && n > i; + }, + ], + "filter-<=": [ + qt, + [Ht, Yt], + 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-<=": [ + qt, + [Yt], + function (t, e) { + var r = e[0], + n = t.id(), + i = r.value; + return typeof n == typeof i && n <= i; + }, + ], + "filter->=": [ + qt, + [Ht, Yt], + 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->=": [ + qt, + [Yt], + function (t, e) { + var r = e[0], + n = t.id(), + i = r.value; + return typeof n == typeof i && n >= i; + }, + ], + "filter-has": [ + qt, + [Yt], + function (t, e) { + return e[0].value in t.properties(); + }, + ], + "filter-has-id": [ + qt, + [], + function (t) { + return null !== t.id() && void 0 !== t.id(); + }, + ], + "filter-type-in": [ + qt, + [Kt(Ht)], + function (t, e) { + return e[0].value.indexOf(t.geometryType()) >= 0; + }, + ], + "filter-id-in": [ + qt, + [Kt(Yt)], + function (t, e) { + return e[0].value.indexOf(t.id()) >= 0; + }, + ], + "filter-in-small": [ + qt, + [Ht, Kt(Yt)], + function (t, e) { + var r = e[0]; + return ( + e[1].value.indexOf(t.properties()[r.value]) >= 0 + ); + }, + ], + "filter-in-large": [ + qt, + [Ht, Kt(Yt)], + 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, + ); + }, + ], + all: { + type: qt, + overloads: [ + [ + [qt, qt], + function (t, e) { + var r = e[0], + n = e[1]; + return r.evaluate(t) && n.evaluate(t); + }, + ], + [ + Ur(qt), + 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: qt, + overloads: [ + [ + [qt, qt], + function (t, e) { + var r = e[0], + n = e[1]; + return r.evaluate(t) || n.evaluate(t); + }, + ], + [ + Ur(qt), + function (t, e) { + for (var r = 0, n = e; r < n.length; r += 1) + if (n[r].evaluate(t)) return !0; + return !1; + }, + ], + ], + }, + "!": [ + qt, + [qt], + function (t, e) { + return !e[0].evaluate(t); + }, + ], + "is-supported-script": [ + qt, + [Ht], + function (t, e) { + var r = e[0], + n = t.globals && t.globals.isSupportedScript; + return !n || n(r.evaluate(t)); + }, + ], + upcase: [ + Ht, + [Ht], + function (t, e) { + return e[0].evaluate(t).toUpperCase(); + }, + ], + downcase: [ + Ht, + [Ht], + function (t, e) { + return e[0].evaluate(t).toLowerCase(); + }, + ], + concat: [ + Ht, + Ur(Yt), + function (t, e) { + return e + .map(function (e) { + return pe(e.evaluate(t)); + }) + .join(""); + }, + ], + "resolved-locale": [ + Ht, + [Wt], + function (t, e) { + return e[0].evaluate(t).resolvedLocale(); + }, + ], + }); + var rn = function (t, e) { + (this.expression = t), + (this._warningHistory = {}), + (this._evaluator = new Te()), + (this._defaultValue = e + ? (function (t) { + return "color" === t.type && Wr(t.default) + ? new ae(0, 0, 0, 0) + : "color" === t.type + ? ae.parse(t.default) || null + : void 0 === t.default + ? null + : t.default; + })(e) + : null), + (this._enumValues = + e && "enum" === e.type ? e.values : null); + }; + function nn(t) { + return ( + Array.isArray(t) && + t.length > 0 && + "string" == typeof t[0] && + t[0] in Fr + ); + } + function an(t, e) { + var r = new Ye( + Fr, + [], + e + ? (function (t) { + var e = { + color: Gt, + string: Ht, + number: Vt, + enum: Ht, + boolean: qt, + formatted: Xt, + resolvedImage: Jt, + }; + return "array" === t.type + ? Kt(e[t.value] || Yt, t.length) + : e[t.type]; + })(e) + : void 0, + ), + n = r.parse( + t, + void 0, + void 0, + void 0, + e && "string" === e.type + ? { typeAnnotation: "coerce" } + : void 0, + ); + return n ? Vr(new rn(n, e)) : Hr(r.errors); + } + (rn.prototype.evaluateWithoutErrorHandling = function ( + t, + e, + r, + n, + i, + a, + ) { + return ( + (this._evaluator.globals = t), + (this._evaluator.feature = e), + (this._evaluator.featureState = r), + (this._evaluator.canonical = n), + (this._evaluator.availableImages = i || null), + (this._evaluator.formattedSection = a), + this.expression.evaluate(this._evaluator) + ); + }), + (rn.prototype.evaluate = function (t, e, r, n, i, a) { + (this._evaluator.globals = t), + (this._evaluator.feature = e || null), + (this._evaluator.featureState = r || null), + (this._evaluator.canonical = n), + (this._evaluator.availableImages = i || null), + (this._evaluator.formattedSection = a || null); + try { + var o = this.expression.evaluate(this._evaluator); + if (null == o || ("number" == typeof o && o != o)) + return this._defaultValue; + if (this._enumValues && !(o in this._enumValues)) + throw new ve( + "Expected value to be one of " + + Object.keys(this._enumValues) + .map(function (t) { + return JSON.stringify(t); + }) + .join(", ") + + ", but found " + + JSON.stringify(o) + + " instead.", + ); + return o; + } catch (t) { + return ( + this._warningHistory[t.message] || + ((this._warningHistory[t.message] = !0), + "undefined" != typeof console && + console.warn(t.message)), + this._defaultValue + ); + } + }); + var on = function (t, e) { + (this.kind = t), + (this._styleExpression = e), + (this.isStateDependent = + "constant" !== t && !qe(e.expression)); + }; + (on.prototype.evaluateWithoutErrorHandling = function ( + t, + e, + r, + n, + i, + a, + ) { + return this._styleExpression.evaluateWithoutErrorHandling( + t, + e, + r, + n, + i, + a, + ); + }), + (on.prototype.evaluate = function (t, e, r, n, i, a) { + return this._styleExpression.evaluate( + t, + e, + r, + n, + i, + a, + ); + }); + var sn = function (t, e, r, n) { + (this.kind = t), + (this.zoomStops = r), + (this._styleExpression = e), + (this.isStateDependent = + "camera" !== t && !qe(e.expression)), + (this.interpolationType = n); + }; + function ln(t, e) { + if ("error" === (t = an(t, e)).result) return t; + var r = t.value.expression, + n = He(r); + if (!n && !qr(e)) + return Hr([ + new Nt("", "data expressions not supported"), + ]); + var i = Ge(r, ["zoom"]); + if (!i && !Gr(e)) + return Hr([ + new Nt("", "zoom expressions not supported"), + ]); + var a = cn(r); + if (!a && !i) + return Hr([ + new Nt( + "", + '"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.', + ), + ]); + if (a instanceof Nt) return Hr([a]); + if (a instanceof gr && !Zr(e)) + return Hr([ + new Nt( + "", + '"interpolate" expressions cannot be used with this property', + ), + ]); + if (!a) + return Vr( + new on(n ? "constant" : "source", t.value), + ); + var o = a instanceof gr ? a.interpolation : void 0; + return Vr( + new sn( + n ? "camera" : "composite", + t.value, + a.labels, + o, + ), + ); + } + (sn.prototype.evaluateWithoutErrorHandling = function ( + t, + e, + r, + n, + i, + a, + ) { + return this._styleExpression.evaluateWithoutErrorHandling( + t, + e, + r, + n, + i, + a, + ); + }), + (sn.prototype.evaluate = function (t, e, r, n, i, a) { + return this._styleExpression.evaluate( + t, + e, + r, + n, + i, + a, + ); + }), + (sn.prototype.interpolationFactor = function ( + t, + e, + r, + ) { + return this.interpolationType + ? gr.interpolationFactor( + this.interpolationType, + t, + e, + r, + ) + : 0; + }); + var un = function (t, e) { + (this._parameters = t), + (this._specification = e), + Rt(this, Jr(this._parameters, this._specification)); + }; + function cn(t) { + var e = null; + if (t instanceof xr) e = cn(t.result); + else if (t instanceof mr) + for (var r = 0, n = t.args; r < n.length; r += 1) { + var i = n[r]; + if ((e = cn(i))) break; + } + else + (t instanceof Je || t instanceof gr) && + t.input instanceof ke && + "zoom" === t.input.name && + (e = t); + return ( + e instanceof Nt || + t.eachChild(function (t) { + var r = cn(t); + r instanceof Nt + ? (e = r) + : !e && r + ? (e = new Nt( + "", + '"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.', + )) + : e && + r && + e !== r && + (e = new Nt( + "", + 'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.', + )); + }), + e + ); + } + function fn(t) { + var e = t.key, + r = t.value, + n = t.valueSpec || {}, + i = t.objectElementValidators || {}, + a = t.style, + o = t.styleSpec, + s = [], + l = Yr(r); + if ("object" !== l) + return [ + new Dt(e, r, "object expected, " + l + " found"), + ]; + for (var u in r) { + var c = u.split(".")[0], + f = n[c] || n["*"], + h = void 0; + if (i[c]) h = i[c]; + else if (n[c]) h = Bn; + else if (i["*"]) h = i["*"]; + else { + if (!n["*"]) { + s.push( + new Dt( + e, + r[u], + 'unknown property "' + u + '"', + ), + ); + continue; + } + h = Bn; + } + s = s.concat( + h( + { + key: (e ? e + "." : e) + u, + value: r[u], + valueSpec: f, + style: a, + styleSpec: o, + object: r, + objectKey: u, + }, + r, + ), + ); + } + for (var p in n) + i[p] || + (n[p].required && + void 0 === n[p].default && + void 0 === r[p] && + s.push( + new Dt( + e, + r, + 'missing required property "' + p + '"', + ), + )); + return s; + } + function hn(t) { + var e = t.value, + r = t.valueSpec, + n = t.style, + i = t.styleSpec, + a = t.key, + o = t.arrayElementValidator || Bn; + if ("array" !== Yr(e)) + return [ + new Dt( + a, + e, + "array expected, " + Yr(e) + " found", + ), + ]; + if (r.length && e.length !== r.length) + return [ + new Dt( + a, + e, + "array length " + + r.length + + " expected, length " + + e.length + + " found", + ), + ]; + if (r["min-length"] && e.length < r["min-length"]) + return [ + new Dt( + a, + e, + "array length at least " + + r["min-length"] + + " expected, length " + + e.length + + " found", + ), + ]; + var s = { type: r.value, values: r.values }; + i.$version < 7 && (s.function = r.function), + "object" === Yr(r.value) && (s = r.value); + for (var l = [], u = 0; u < e.length; u++) + l = l.concat( + o({ + array: e, + arrayIndex: u, + value: e[u], + valueSpec: s, + style: n, + styleSpec: i, + key: a + "[" + u + "]", + }), + ); + return l; + } + function pn(t) { + var e = t.key, + r = t.value, + n = t.valueSpec, + i = Yr(r); + return ( + "number" === i && r != r && (i = "NaN"), + "number" !== i + ? [ + new Dt( + e, + r, + "number expected, " + i + " found", + ), + ] + : "minimum" in n && r < n.minimum + ? [ + new Dt( + e, + r, + r + + " is less than the minimum value " + + n.minimum, + ), + ] + : "maximum" in n && r > n.maximum + ? [ + new Dt( + e, + r, + r + + " is greater than the maximum value " + + n.maximum, + ), + ] + : [] + ); + } + function dn(t) { + var e, + r, + n, + i = t.valueSpec, + a = Ft(t.value.type), + o = {}, + s = + "categorical" !== a && + void 0 === t.value.property, + l = !s, + u = + "array" === Yr(t.value.stops) && + "array" === Yr(t.value.stops[0]) && + "object" === Yr(t.value.stops[0][0]), + c = fn({ + key: t.key, + value: t.value, + valueSpec: t.styleSpec.function, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { + stops: function (t) { + if ("identity" === a) + return [ + new Dt( + t.key, + t.value, + 'identity function may not have a "stops" property', + ), + ]; + var e = [], + r = t.value; + return ( + (e = e.concat( + hn({ + key: t.key, + value: r, + valueSpec: t.valueSpec, + style: t.style, + styleSpec: t.styleSpec, + arrayElementValidator: f, + }), + )), + "array" === Yr(r) && + 0 === r.length && + e.push( + new Dt( + t.key, + r, + "array must have at least one stop", + ), + ), + e + ); + }, + default: function (t) { + return Bn({ + key: t.key, + value: t.value, + valueSpec: i, + style: t.style, + styleSpec: t.styleSpec, + }); + }, + }, + }); + return ( + "identity" === a && + s && + c.push( + new Dt( + t.key, + t.value, + 'missing required property "property"', + ), + ), + "identity" === a || + t.value.stops || + c.push( + new Dt( + t.key, + t.value, + 'missing required property "stops"', + ), + ), + "exponential" === a && + t.valueSpec.expression && + !Zr(t.valueSpec) && + c.push( + new Dt( + t.key, + t.value, + "exponential functions not supported", + ), + ), + t.styleSpec.$version >= 8 && + (l && !qr(t.valueSpec) + ? c.push( + new Dt( + t.key, + t.value, + "property functions not supported", + ), + ) + : s && + !Gr(t.valueSpec) && + c.push( + new Dt( + t.key, + t.value, + "zoom functions not supported", + ), + )), + ("categorical" !== a && !u) || + void 0 !== t.value.property || + c.push( + new Dt( + t.key, + t.value, + '"property" property is required', + ), + ), + c + ); + function f(t) { + var e = [], + a = t.value, + s = t.key; + if ("array" !== Yr(a)) + return [ + new Dt( + s, + a, + "array expected, " + Yr(a) + " found", + ), + ]; + if (2 !== a.length) + return [ + new Dt( + s, + a, + "array length 2 expected, length " + + a.length + + " found", + ), + ]; + if (u) { + if ("object" !== Yr(a[0])) + return [ + new Dt( + s, + a, + "object expected, " + Yr(a[0]) + " found", + ), + ]; + if (void 0 === a[0].zoom) + return [ + new Dt( + s, + a, + "object stop key must have zoom", + ), + ]; + if (void 0 === a[0].value) + return [ + new Dt( + s, + a, + "object stop key must have value", + ), + ]; + if (n && n > Ft(a[0].zoom)) + return [ + new Dt( + s, + a[0].zoom, + "stop zoom values must appear in ascending order", + ), + ]; + Ft(a[0].zoom) !== n && + ((n = Ft(a[0].zoom)), (r = void 0), (o = {})), + (e = e.concat( + fn({ + key: s + "[0]", + value: a[0], + valueSpec: { zoom: {} }, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { + zoom: pn, + value: h, + }, + }), + )); + } else + e = e.concat( + h( + { + key: s + "[0]", + value: a[0], + valueSpec: {}, + style: t.style, + styleSpec: t.styleSpec, + }, + a, + ), + ); + return nn(Bt(a[1])) + ? e.concat([ + new Dt( + s + "[1]", + a[1], + "expressions are not allowed in function stops.", + ), + ]) + : e.concat( + Bn({ + key: s + "[1]", + value: a[1], + valueSpec: i, + style: t.style, + styleSpec: t.styleSpec, + }), + ); + } + function h(t, n) { + var s = Yr(t.value), + l = Ft(t.value), + u = null !== t.value ? t.value : n; + if (e) { + if (s !== e) + return [ + new Dt( + t.key, + u, + s + + " stop domain type must match previous stop domain type " + + e, + ), + ]; + } else e = s; + if ( + "number" !== s && + "string" !== s && + "boolean" !== s + ) + return [ + new Dt( + t.key, + u, + "stop domain value must be a number, string, or boolean", + ), + ]; + if ("number" !== s && "categorical" !== a) { + var c = "number expected, " + s + " found"; + return ( + qr(i) && + void 0 === a && + (c += + '\nIf you intended to use a categorical function, specify `"type": "categorical"`.'), + [new Dt(t.key, u, c)] + ); + } + return "categorical" !== a || + "number" !== s || + (isFinite(l) && Math.floor(l) === l) + ? "categorical" !== a && + "number" === s && + void 0 !== r && + l < r + ? [ + new Dt( + t.key, + u, + "stop domain values must appear in ascending order", + ), + ] + : ((r = l), + "categorical" === a && l in o + ? [ + new Dt( + t.key, + u, + "stop domain values must be unique", + ), + ] + : ((o[l] = !0), [])) + : [ + new Dt( + t.key, + u, + "integer expected, found " + l, + ), + ]; + } + } + function vn(t) { + var e = ( + "property" === t.expressionContext ? ln : an + )(Bt(t.value), t.valueSpec); + if ("error" === e.result) + return e.value.map(function (e) { + return new Dt( + "" + t.key + e.key, + t.value, + e.message, + ); + }); + var r = + e.value.expression || + e.value._styleExpression.expression; + if ( + "property" === t.expressionContext && + "text-font" === t.propertyKey && + !r.outputDefined() + ) + return [ + new Dt( + t.key, + t.value, + 'Invalid data expression for "' + + t.propertyKey + + '". Output values must be contained as literals within the expression.', + ), + ]; + if ( + "property" === t.expressionContext && + "layout" === t.propertyType && + !qe(r) + ) + return [ + new Dt( + t.key, + t.value, + '"feature-state" data expressions are not supported with layout properties.', + ), + ]; + if ("filter" === t.expressionContext && !qe(r)) + return [ + new Dt( + t.key, + t.value, + '"feature-state" data expressions are not supported with filters.', + ), + ]; + if ( + t.expressionContext && + 0 === t.expressionContext.indexOf("cluster") + ) { + if (!Ge(r, ["zoom", "feature-state"])) + return [ + new Dt( + t.key, + t.value, + '"zoom" and "feature-state" expressions are not supported with cluster properties.', + ), + ]; + if ( + "cluster-initial" === t.expressionContext && + !He(r) + ) + return [ + new Dt( + t.key, + t.value, + "Feature data expressions are not supported with initial expression part of cluster properties.", + ), + ]; + } + return []; + } + function gn(t) { + var e = t.key, + r = t.value, + n = t.valueSpec, + i = []; + return ( + Array.isArray(n.values) + ? -1 === n.values.indexOf(Ft(r)) && + i.push( + new Dt( + e, + r, + "expected one of [" + + n.values.join(", ") + + "], " + + JSON.stringify(r) + + " found", + ), + ) + : -1 === Object.keys(n.values).indexOf(Ft(r)) && + i.push( + new Dt( + e, + r, + "expected one of [" + + Object.keys(n.values).join(", ") + + "], " + + JSON.stringify(r) + + " found", + ), + ), + i + ); + } + function yn(t) { + if (!0 === t || !1 === t) return !0; + 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": + return ( + t.length >= 3 && + ("string" != typeof t[1] || Array.isArray(t[2])) + ); + 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 n = r[e]; + if (!yn(n) && "boolean" != typeof n) return !1; + } + return !0; + default: + return !0; + } + } + (un.deserialize = function (t) { + return new un(t._parameters, t._specification); + }), + (un.serialize = function (t) { + return { + _parameters: t._parameters, + _specification: t._specification, + }; + }); + var mn = { + type: "boolean", + default: !1, + transition: !1, + "property-type": "data-driven", + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + }; + function xn(t) { + if (null == t) + return { + filter: function () { + return !0; + }, + needGeometry: !1, + }; + yn(t) || (t = wn(t)); + var e = an(t, mn); + if ("error" === e.result) + throw new Error( + e.value + .map(function (t) { + return t.key + ": " + t.message; + }) + .join(", "), + ); + return { + filter: function (t, r, n) { + return e.value.evaluate(t, r, {}, n); + }, + needGeometry: _n(t), + }; + } + function bn(t, e) { + return t < e ? -1 : t > e ? 1 : 0; + } + function _n(t) { + if (!Array.isArray(t)) return !1; + if ("within" === t[0]) return !0; + for (var e = 1; e < t.length; e++) + if (_n(t[e])) return !0; + return !1; + } + function wn(t) { + if (!t) return !0; + var e, + r = t[0]; + return t.length <= 1 + ? "any" !== r + : "==" === r + ? Tn(t[1], t[2], "==") + : "!=" === r + ? Mn(Tn(t[1], t[2], "==")) + : "<" === r || ">" === r || "<=" === r || ">=" === r + ? Tn(t[1], t[2], r) + : "any" === r + ? ((e = t.slice(1)), ["any"].concat(e.map(wn))) + : "all" === r + ? ["all"].concat(t.slice(1).map(wn)) + : "none" === r + ? ["all"].concat(t.slice(1).map(wn).map(Mn)) + : "in" === r + ? kn(t[1], t.slice(2)) + : "!in" === r + ? Mn(kn(t[1], t.slice(2))) + : "has" === r + ? An(t[1]) + : "!has" === r + ? Mn(An(t[1])) + : "within" !== r || t; + } + function Tn(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 kn(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(bn)], + ] + : ["filter-in-small", t, ["literal", e]]; + } + } + function An(t) { + switch (t) { + case "$type": + return !0; + case "$id": + return ["filter-has-id"]; + default: + return ["filter-has", t]; + } + } + function Mn(t) { + return ["!", t]; + } + function Sn(t) { + return yn(Bt(t.value)) + ? vn( + Rt({}, t, { + expressionContext: "filter", + valueSpec: { value: "boolean" }, + }), + ) + : En(t); + } + function En(t) { + var e = t.value, + r = t.key; + if ("array" !== Yr(e)) + return [ + new Dt( + r, + e, + "array expected, " + Yr(e) + " found", + ), + ]; + var n, + i = t.styleSpec, + a = []; + if (e.length < 1) + return [ + new Dt( + r, + e, + "filter array must have at least 1 element", + ), + ]; + switch ( + ((a = a.concat( + gn({ + key: r + "[0]", + value: e[0], + valueSpec: i.filter_operator, + style: t.style, + styleSpec: t.styleSpec, + }), + )), + Ft(e[0])) + ) { + case "<": + case "<=": + case ">": + case ">=": + e.length >= 2 && + "$type" === Ft(e[1]) && + a.push( + new Dt( + r, + e, + '"$type" cannot be use with operator "' + + e[0] + + '"', + ), + ); + case "==": + case "!=": + 3 !== e.length && + a.push( + new Dt( + r, + e, + 'filter array for operator "' + + e[0] + + '" must have 3 elements', + ), + ); + case "in": + case "!in": + e.length >= 2 && + "string" !== (n = Yr(e[1])) && + a.push( + new Dt( + r + "[1]", + e[1], + "string expected, " + n + " found", + ), + ); + for (var o = 2; o < e.length; o++) + (n = Yr(e[o])), + "$type" === Ft(e[1]) + ? (a = a.concat( + gn({ + key: r + "[" + o + "]", + value: e[o], + valueSpec: i.geometry_type, + style: t.style, + styleSpec: t.styleSpec, + }), + )) + : "string" !== n && + "number" !== n && + "boolean" !== n && + a.push( + new Dt( + r + "[" + o + "]", + e[o], + "string, number, or boolean expected, " + + n + + " found", + ), + ); + break; + case "any": + case "all": + case "none": + for (var s = 1; s < e.length; s++) + a = a.concat( + En({ + key: r + "[" + s + "]", + value: e[s], + style: t.style, + styleSpec: t.styleSpec, + }), + ); + break; + case "has": + case "!has": + (n = Yr(e[1])), + 2 !== e.length + ? a.push( + new Dt( + r, + e, + 'filter array for "' + + e[0] + + '" operator must have 2 elements', + ), + ) + : "string" !== n && + a.push( + new Dt( + r + "[1]", + e[1], + "string expected, " + n + " found", + ), + ); + break; + case "within": + (n = Yr(e[1])), + 2 !== e.length + ? a.push( + new Dt( + r, + e, + 'filter array for "' + + e[0] + + '" operator must have 2 elements', + ), + ) + : "object" !== n && + a.push( + new Dt( + r + "[1]", + e[1], + "object expected, " + n + " found", + ), + ); + } + return a; + } + function Ln(t, e) { + var r = t.key, + n = t.style, + i = t.styleSpec, + a = t.value, + o = t.objectKey, + s = i[e + "_" + t.layerType]; + if (!s) return []; + var l = o.match(/^(.*)-transition$/); + if ( + "paint" === e && + l && + s[l[1]] && + s[l[1]].transition + ) + return Bn({ + key: r, + value: a, + valueSpec: i.transition, + style: n, + styleSpec: i, + }); + var u, + c = t.valueSpec || s[o]; + if (!c) + return [ + new Dt(r, a, 'unknown property "' + o + '"'), + ]; + if ( + "string" === Yr(a) && + qr(c) && + !c.tokens && + (u = /^{([^}]+)}$/.exec(a)) + ) + return [ + new Dt( + r, + a, + '"' + + o + + '" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": ' + + JSON.stringify(u[1]) + + " }`.", + ), + ]; + var f = []; + return ( + "symbol" === t.layerType && + ("text-field" === o && + n && + !n.glyphs && + f.push( + new Dt( + r, + a, + 'use of "text-field" requires a style "glyphs" property', + ), + ), + "text-font" === o && + Wr(Bt(a)) && + "identity" === Ft(a.type) && + f.push( + new Dt( + r, + a, + '"text-font" does not support identity functions', + ), + )), + f.concat( + Bn({ + key: t.key, + value: a, + valueSpec: c, + style: n, + styleSpec: i, + expressionContext: "property", + propertyType: e, + propertyKey: o, + }), + ) + ); + } + function Cn(t) { + return Ln(t, "paint"); + } + function Pn(t) { + return Ln(t, "layout"); + } + function On(t) { + var e = [], + r = t.value, + n = t.key, + i = t.style, + a = t.styleSpec; + r.type || + r.ref || + e.push( + new Dt( + n, + r, + 'either "type" or "ref" is required', + ), + ); + var o, + s = Ft(r.type), + l = Ft(r.ref); + if (r.id) + for ( + var u = Ft(r.id), c = 0; + c < t.arrayIndex; + c++ + ) { + var f = i.layers[c]; + Ft(f.id) === u && + e.push( + new Dt( + n, + r.id, + 'duplicate layer id "' + + r.id + + '", previously used at line ' + + f.id.__line__, + ), + ); + } + if ("ref" in r) + [ + "type", + "source", + "source-layer", + "filter", + "layout", + ].forEach(function (t) { + t in r && + e.push( + new Dt( + n, + r[t], + '"' + t + '" is prohibited for ref layers', + ), + ); + }), + i.layers.forEach(function (t) { + Ft(t.id) === l && (o = t); + }), + o + ? o.ref + ? e.push( + new Dt( + n, + r.ref, + "ref cannot reference another ref layer", + ), + ) + : (s = Ft(o.type)) + : e.push( + new Dt( + n, + r.ref, + 'ref layer "' + l + '" not found', + ), + ); + else if ("background" !== s) + if (r.source) { + var h = i.sources && i.sources[r.source], + p = h && Ft(h.type); + h + ? "vector" === p && "raster" === s + ? e.push( + new Dt( + n, + r.source, + 'layer "' + + r.id + + '" requires a raster source', + ), + ) + : "raster" === p && "raster" !== s + ? e.push( + new Dt( + n, + r.source, + 'layer "' + + r.id + + '" requires a vector source', + ), + ) + : "vector" !== p || r["source-layer"] + ? "raster-dem" === p && "hillshade" !== s + ? e.push( + new Dt( + n, + r.source, + "raster-dem source can only be used with layer type 'hillshade'.", + ), + ) + : "line" !== s || + !r.paint || + !r.paint["line-gradient"] || + ("geojson" === p && h.lineMetrics) || + e.push( + new Dt( + n, + r, + 'layer "' + + r.id + + '" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.', + ), + ) + : e.push( + new Dt( + n, + r, + 'layer "' + + r.id + + '" must specify a "source-layer"', + ), + ) + : e.push( + new Dt( + n, + r.source, + 'source "' + r.source + '" not found', + ), + ); + } else + e.push( + new Dt( + n, + r, + 'missing required property "source"', + ), + ); + return ( + (e = e.concat( + fn({ + key: n, + value: r, + valueSpec: a.layer, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { + "*": function () { + return []; + }, + type: function () { + return Bn({ + key: n + ".type", + value: r.type, + valueSpec: a.layer.type, + style: t.style, + styleSpec: t.styleSpec, + object: r, + objectKey: "type", + }); + }, + filter: Sn, + layout: function (t) { + return fn({ + layer: r, + key: t.key, + value: t.value, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { + "*": function (t) { + return Pn(Rt({ layerType: s }, t)); + }, + }, + }); + }, + paint: function (t) { + return fn({ + layer: r, + key: t.key, + value: t.value, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { + "*": function (t) { + return Cn(Rt({ layerType: s }, t)); + }, + }, + }); + }, + }, + }), + )), + e + ); + } + function In(t) { + var e = t.value, + r = t.key, + n = Yr(e); + return "string" !== n + ? [new Dt(r, e, "string expected, " + n + " found")] + : []; + } + var Dn = { + promoteId: function (t) { + var e = t.key, + r = t.value; + if ("string" === Yr(r)) + return In({ key: e, value: r }); + var n = []; + for (var i in r) + n.push.apply( + n, + In({ key: e + "." + i, value: r[i] }), + ); + return n; + }, + }; + function zn(t) { + var e = t.value, + r = t.key, + n = t.styleSpec, + i = t.style; + if (!e.type) + return [new Dt(r, e, '"type" is required')]; + var a, + o = Ft(e.type); + switch (o) { + case "vector": + case "raster": + case "raster-dem": + return fn({ + key: r, + value: e, + valueSpec: n["source_" + o.replace("-", "_")], + style: t.style, + styleSpec: n, + objectElementValidators: Dn, + }); + case "geojson": + if ( + ((a = fn({ + key: r, + value: e, + valueSpec: n.source_geojson, + style: i, + styleSpec: n, + objectElementValidators: Dn, + })), + e.cluster) + ) + for (var s in e.clusterProperties) { + var l = e.clusterProperties[s], + u = l[0], + c = l[1], + f = + "string" == typeof u + ? [u, ["accumulated"], ["get", s]] + : u; + a.push.apply( + a, + vn({ + key: r + "." + s + ".map", + value: c, + expressionContext: "cluster-map", + }), + ), + a.push.apply( + a, + vn({ + key: r + "." + s + ".reduce", + value: f, + expressionContext: "cluster-reduce", + }), + ); + } + return a; + case "video": + return fn({ + key: r, + value: e, + valueSpec: n.source_video, + style: i, + styleSpec: n, + }); + case "image": + return fn({ + key: r, + value: e, + valueSpec: n.source_image, + style: i, + styleSpec: n, + }); + case "canvas": + return [ + new Dt( + r, + null, + "Please use runtime APIs to add canvas sources, rather than including them in stylesheets.", + "source.canvas", + ), + ]; + default: + return gn({ + key: r + ".type", + value: e.type, + valueSpec: { + values: [ + "vector", + "raster", + "raster-dem", + "geojson", + "video", + "image", + ], + }, + style: i, + styleSpec: n, + }); + } + } + function Rn(t) { + var e = t.value, + r = t.styleSpec, + n = r.light, + i = t.style, + a = [], + o = Yr(e); + if (void 0 === e) return a; + if ("object" !== o) + return a.concat([ + new Dt( + "light", + e, + "object expected, " + o + " found", + ), + ]); + for (var s in e) { + var l = s.match(/^(.*)-transition$/); + a = + l && n[l[1]] && n[l[1]].transition + ? a.concat( + Bn({ + key: s, + value: e[s], + valueSpec: r.transition, + style: i, + styleSpec: r, + }), + ) + : n[s] + ? a.concat( + Bn({ + key: s, + value: e[s], + valueSpec: n[s], + style: i, + styleSpec: r, + }), + ) + : a.concat([ + new Dt( + s, + e[s], + 'unknown property "' + s + '"', + ), + ]); + } + return a; + } + var Fn = { + "*": function () { + return []; + }, + array: hn, + boolean: function (t) { + var e = t.value, + r = t.key, + n = Yr(e); + return "boolean" !== n + ? [ + new Dt( + r, + e, + "boolean expected, " + n + " found", + ), + ] + : []; + }, + number: pn, + color: function (t) { + var e = t.key, + r = t.value, + n = Yr(r); + return "string" !== n + ? [ + new Dt( + e, + r, + "color expected, " + n + " found", + ), + ] + : null === ie(r) + ? [ + new Dt( + e, + r, + 'color expected, "' + r + '" found', + ), + ] + : []; + }, + constants: zt, + enum: gn, + filter: Sn, + function: dn, + layer: On, + object: fn, + source: zn, + light: Rn, + string: In, + formatted: function (t) { + return 0 === In(t).length ? [] : vn(t); + }, + resolvedImage: function (t) { + return 0 === In(t).length ? [] : vn(t); + }, + }; + function Bn(t) { + var e = t.value, + r = t.valueSpec, + n = t.styleSpec; + return r.expression && Wr(Ft(e)) + ? dn(t) + : r.expression && nn(Bt(e)) + ? vn(t) + : r.type && Fn[r.type] + ? Fn[r.type](t) + : fn( + Rt({}, t, { + valueSpec: r.type ? n[r.type] : r, + }), + ); + } + function Nn(t) { + var e = t.value, + r = t.key, + n = In(t); + return ( + n.length || + (-1 === e.indexOf("{fontstack}") && + n.push( + new Dt( + r, + e, + '"glyphs" url must include a "{fontstack}" token', + ), + ), + -1 === e.indexOf("{range}") && + n.push( + new Dt( + r, + e, + '"glyphs" url must include a "{range}" token', + ), + )), + n + ); + } + function jn(t, e) { + void 0 === e && (e = It); + var r = []; + return ( + (r = r.concat( + Bn({ + key: "", + value: t, + valueSpec: e.$root, + styleSpec: e, + style: t, + objectElementValidators: { + glyphs: Nn, + "*": function () { + return []; + }, + }, + }), + )), + t.constants && + (r = r.concat( + zt({ + key: "constants", + value: t.constants, + style: t, + styleSpec: e, + }), + )), + Un(r) + ); + } + function Un(t) { + return [].concat(t).sort(function (t, e) { + return t.line - e.line; + }); + } + function Vn(t) { + return function () { + for (var e = [], r = arguments.length; r--; ) + e[r] = arguments[r]; + return Un(t.apply(this, e)); + }; + } + (jn.source = Vn(zn)), + (jn.light = Vn(Rn)), + (jn.layer = Vn(On)), + (jn.filter = Vn(Sn)), + (jn.paintProperty = Vn(Cn)), + (jn.layoutProperty = Vn(Pn)); + var Hn = jn, + qn = Hn.light, + Gn = Hn.paintProperty, + Zn = Hn.layoutProperty; + function Yn(t, e) { + var r = !1; + if (e && e.length) + for (var n = 0, i = e; n < i.length; n += 1) { + var a = i[n]; + t.fire(new Pt(new Error(a.message))), (r = !0); + } + return r; + } + var Wn = Xn; + function Xn(t, e, r) { + var n = (this.cells = []); + if (t instanceof ArrayBuffer) { + this.arrayBuffer = t; + var i = new Int32Array(this.arrayBuffer); + (t = i[0]), + (e = i[1]), + (r = i[2]), + (this.d = e + 2 * r); + for (var a = 0; a < this.d * this.d; a++) { + var o = i[3 + a], + s = i[3 + a + 1]; + n.push(o === s ? null : i.subarray(o, s)); + } + var l = i[3 + n.length], + u = i[3 + n.length + 1]; + (this.keys = i.subarray(l, u)), + (this.bboxes = i.subarray(u)), + (this.insert = this._insertReadonly); + } else { + this.d = e + 2 * r; + for (var c = 0; c < this.d * this.d; c++) + 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); + } + (Xn.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); + }), + (Xn.prototype._insertReadonly = function () { + throw "Cannot insert into a GridIndex created from an ArrayBuffer."; + }), + (Xn.prototype._insertCell = function ( + t, + e, + r, + n, + i, + a, + ) { + this.cells[i].push(a); + }), + (Xn.prototype.query = function (t, e, r, n, i) { + var a = this.min, + o = this.max; + if (t <= a && e <= a && o <= r && o <= n && !i) + return Array.prototype.slice.call(this.keys); + var s = []; + return ( + this._forEachCell( + t, + e, + r, + n, + this._queryCell, + s, + {}, + i, + ), + s + ); + }), + (Xn.prototype._queryCell = function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + var l = this.cells[i]; + if (null !== l) + for ( + var u = this.keys, c = this.bboxes, f = 0; + f < l.length; + f++ + ) { + var h = l[f]; + if (void 0 === o[h]) { + var p = 4 * h; + ( + s + ? s( + c[p + 0], + c[p + 1], + c[p + 2], + c[p + 3], + ) + : t <= c[p + 2] && + e <= c[p + 3] && + r >= c[p + 0] && + n >= c[p + 1] + ) + ? ((o[h] = !0), a.push(u[h])) + : (o[h] = !1); + } + } + }), + (Xn.prototype._forEachCell = function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + for ( + var l = this._convertToCellCoord(t), + u = this._convertToCellCoord(e), + c = this._convertToCellCoord(r), + f = this._convertToCellCoord(n), + h = l; + h <= c; + h++ + ) + for (var p = u; p <= f; p++) { + var d = this.d * p + h; + if ( + (!s || + s( + this._convertFromCellCoord(h), + this._convertFromCellCoord(p), + this._convertFromCellCoord(h + 1), + this._convertFromCellCoord(p + 1), + )) && + i.call(this, t, e, r, n, d, a, o, s) + ) + return; + } + }), + (Xn.prototype._convertFromCellCoord = function (t) { + return (t - this.padding) / this.scale; + }), + (Xn.prototype._convertToCellCoord = function (t) { + return Math.max( + 0, + Math.min( + this.d - 1, + Math.floor(t * this.scale) + this.padding, + ), + ); + }), + (Xn.prototype.toArrayBuffer = function () { + if (this.arrayBuffer) return this.arrayBuffer; + for ( + var t = this.cells, + e = 3 + this.cells.length + 1 + 1, + r = 0, + n = 0; + n < this.cells.length; + n++ + ) + r += this.cells[n].length; + var i = new Int32Array( + e + r + this.keys.length + this.bboxes.length, + ); + (i[0] = this.extent), + (i[1] = this.n), + (i[2] = this.padding); + for (var a = e, o = 0; o < t.length; o++) { + var s = t[o]; + (i[3 + o] = a), i.set(s, a), (a += s.length); + } + return ( + (i[3 + t.length] = a), + i.set(this.keys, a), + (a += this.keys.length), + (i[3 + t.length + 1] = a), + i.set(this.bboxes, a), + (a += this.bboxes.length), + i.buffer + ); + }); + var Jn = self.ImageData, + Kn = self.ImageBitmap, + $n = {}; + function Qn(t, e, r) { + void 0 === r && (r = {}), + Object.defineProperty(e, "_classRegistryKey", { + value: t, + writeable: !1, + }), + ($n[t] = { + klass: e, + omit: r.omit || [], + shallow: r.shallow || [], + }); + } + for (var ti in (Qn("Object", Object), + (Wn.serialize = function (t, e) { + var r = t.toArrayBuffer(); + return e && e.push(r), { buffer: r }; + }), + (Wn.deserialize = function (t) { + return new Wn(t.buffer); + }), + Qn("Grid", Wn), + Qn("Color", ae), + Qn("Error", Error), + Qn("ResolvedImage", ue), + Qn("StylePropertyFunction", un), + Qn("StyleExpression", rn, { omit: ["_evaluator"] }), + Qn("ZoomDependentExpression", sn), + Qn("ZoomConstantExpression", on), + Qn("CompoundExpression", ke, { omit: ["_evaluate"] }), + Fr)) + Fr[ti]._classRegistryKey || + Qn("Expression_" + ti, Fr[ti]); + function ei(t) { + return ( + t && + "undefined" != typeof ArrayBuffer && + (t instanceof ArrayBuffer || + (t.constructor && + "ArrayBuffer" === t.constructor.name)) + ); + } + function ri(t) { + return Kn && t instanceof Kn; + } + function ni(t, e) { + if ( + null == t || + "boolean" == typeof t || + "number" == typeof t || + "string" == typeof t || + t instanceof Boolean || + t instanceof Number || + t instanceof String || + t instanceof Date || + t instanceof RegExp + ) + return t; + if (ei(t) || ri(t)) return e && e.push(t), t; + if (ArrayBuffer.isView(t)) { + var r = t; + return e && e.push(r.buffer), r; + } + if (t instanceof Jn) + return e && e.push(t.data.buffer), t; + if (Array.isArray(t)) { + for ( + var n = [], i = 0, a = t; + i < a.length; + i += 1 + ) { + var o = a[i]; + n.push(ni(o, e)); + } + return n; + } + if ("object" == typeof t) { + var s = t.constructor, + l = s._classRegistryKey; + if (!l) + throw new Error( + "can't serialize object of unregistered class", + ); + var u = s.serialize ? s.serialize(t, e) : {}; + if (!s.serialize) { + for (var c in t) + if ( + t.hasOwnProperty(c) && + !($n[l].omit.indexOf(c) >= 0) + ) { + var f = t[c]; + u[c] = + $n[l].shallow.indexOf(c) >= 0 + ? f + : ni(f, e); + } + t instanceof Error && (u.message = t.message); + } + if (u.$name) + throw new Error( + "$name property is reserved for worker serialization logic.", + ); + return "Object" !== l && (u.$name = l), u; + } + throw new Error( + "can't serialize object of type " + typeof t, + ); + } + function ii(t) { + if ( + null == t || + "boolean" == typeof t || + "number" == typeof t || + "string" == typeof t || + t instanceof Boolean || + t instanceof Number || + t instanceof String || + t instanceof Date || + t instanceof RegExp || + ei(t) || + ri(t) || + ArrayBuffer.isView(t) || + t instanceof Jn + ) + return t; + if (Array.isArray(t)) return t.map(ii); + if ("object" == typeof t) { + var e = t.$name || "Object", + r = $n[e].klass; + if (!r) + throw new Error( + "can't deserialize unregistered class " + e, + ); + if (r.deserialize) return r.deserialize(t); + for ( + var n = Object.create(r.prototype), + i = 0, + a = Object.keys(t); + i < a.length; + i += 1 + ) { + var o = a[i]; + if ("$name" !== o) { + var s = t[o]; + n[o] = + $n[e].shallow.indexOf(o) >= 0 ? s : ii(s); + } + } + return n; + } + throw new Error( + "can't deserialize object of type " + typeof t, + ); + } + var ai = function () { + this.first = !0; + }; + ai.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)); + }; + var oi = { + "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; + }, + Khmer: function (t) { + return t >= 6016 && t <= 6143; + }, + "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; + }, + }; + function si(t) { + for (var e = 0, r = t; e < r.length; e += 1) + if (li(r[e].charCodeAt(0))) return !0; + return !1; + } + function li(t) { + return !( + 746 !== t && + 747 !== t && + (t < 4352 || + !( + oi["Bopomofo Extended"](t) || + oi.Bopomofo(t) || + (oi["CJK Compatibility Forms"](t) && + !(t >= 65097 && t <= 65103)) || + oi["CJK Compatibility Ideographs"](t) || + oi["CJK Compatibility"](t) || + oi["CJK Radicals Supplement"](t) || + oi["CJK Strokes"](t) || + !( + !oi["CJK Symbols and Punctuation"](t) || + (t >= 12296 && t <= 12305) || + (t >= 12308 && t <= 12319) || + 12336 === t + ) || + oi["CJK Unified Ideographs Extension A"](t) || + oi["CJK Unified Ideographs"](t) || + oi["Enclosed CJK Letters and Months"](t) || + oi["Hangul Compatibility Jamo"](t) || + oi["Hangul Jamo Extended-A"](t) || + oi["Hangul Jamo Extended-B"](t) || + oi["Hangul Jamo"](t) || + oi["Hangul Syllables"](t) || + oi.Hiragana(t) || + oi["Ideographic Description Characters"](t) || + oi.Kanbun(t) || + oi["Kangxi Radicals"](t) || + oi["Katakana Phonetic Extensions"](t) || + (oi.Katakana(t) && 12540 !== t) || + !( + !oi["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) + ) || + !( + !oi["Small Form Variants"](t) || + (t >= 65112 && t <= 65118) || + (t >= 65123 && t <= 65126) + ) || + oi["Unified Canadian Aboriginal Syllabics"]( + t, + ) || + oi[ + "Unified Canadian Aboriginal Syllabics Extended" + ](t) || + oi["Vertical Forms"](t) || + oi["Yijing Hexagram Symbols"](t) || + oi["Yi Syllables"](t) || + oi["Yi Radicals"](t) + )) + ); + } + function ui(t) { + return !( + li(t) || + (function (t) { + return !!( + (oi["Latin-1 Supplement"](t) && + (167 === t || + 169 === t || + 174 === t || + 177 === t || + 188 === t || + 189 === t || + 190 === t || + 215 === t || + 247 === t)) || + (oi["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)) || + oi["Letterlike Symbols"](t) || + oi["Number Forms"](t) || + (oi["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))) || + (oi["Control Pictures"](t) && 9251 !== t) || + oi["Optical Character Recognition"](t) || + oi["Enclosed Alphanumerics"](t) || + oi["Geometric Shapes"](t) || + (oi["Miscellaneous Symbols"](t) && + !(t >= 9754 && t <= 9759)) || + (oi["Miscellaneous Symbols and Arrows"](t) && + ((t >= 11026 && t <= 11055) || + (t >= 11088 && t <= 11097) || + (t >= 11192 && t <= 11243))) || + oi["CJK Symbols and Punctuation"](t) || + oi.Katakana(t) || + oi["Private Use Area"](t) || + oi["CJK Compatibility Forms"](t) || + oi["Small Form Variants"](t) || + oi["Halfwidth and Fullwidth Forms"](t) || + 8734 === t || + 8756 === t || + 8757 === t || + (t >= 9984 && t <= 10087) || + (t >= 10102 && t <= 10131) || + 65532 === t || + 65533 === t + ); + })(t) + ); + } + function ci(t) { + return ( + oi.Arabic(t) || + oi["Arabic Supplement"](t) || + oi["Arabic Extended-A"](t) || + oi["Arabic Presentation Forms-A"](t) || + oi["Arabic Presentation Forms-B"](t) + ); + } + function fi(t) { + return ( + (t >= 1424 && t <= 2303) || + oi["Arabic Presentation Forms-A"](t) || + oi["Arabic Presentation Forms-B"](t) + ); + } + function hi(t, e) { + return !( + (!e && fi(t)) || + (t >= 2304 && t <= 3583) || + (t >= 3840 && t <= 4255) || + oi.Khmer(t) + ); + } + function pi(t) { + for (var e = 0, r = t; e < r.length; e += 1) + if (fi(r[e].charCodeAt(0))) return !0; + return !1; + } + var di = "deferred", + vi = "loading", + gi = "loaded", + yi = "error", + mi = null, + xi = "unavailable", + bi = null, + _i = function (t) { + t && + "string" == typeof t && + t.indexOf("NetworkError") > -1 && + (xi = yi), + mi && mi(t); + }; + function wi() { + Ti.fire( + new Ct("pluginStateChange", { + pluginStatus: xi, + pluginURL: bi, + }), + ); + } + var Ti = new Ot(), + ki = function () { + return xi; + }, + Ai = function () { + if (xi !== di || !bi) + throw new Error( + "rtl-text-plugin cannot be downloaded unless a pluginURL is specified", + ); + (xi = vi), + wi(), + bi && + Tt({ url: bi }, function (t) { + t ? _i(t) : ((xi = gi), wi()); + }); + }, + Mi = { + applyArabicShaping: null, + processBidirectionalText: null, + processStyledBidirectionalText: null, + isLoaded: function () { + return xi === gi || null != Mi.applyArabicShaping; + }, + isLoading: function () { + return xi === vi; + }, + setState: function (t) { + (xi = t.pluginStatus), (bi = t.pluginURL); + }, + isParsed: function () { + return ( + null != Mi.applyArabicShaping && + null != Mi.processBidirectionalText && + null != Mi.processStyledBidirectionalText + ); + }, + getPluginURL: function () { + return bi; + }, + }, + Si = 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 ai()), + (this.transition = {})); + }; + (Si.prototype.isSupportedScript = function (t) { + return (function (t, e) { + for (var r = 0, n = t; r < n.length; r += 1) + if (!hi(n[r].charCodeAt(0), e)) return !1; + return !0; + })(t, Mi.isLoaded()); + }), + (Si.prototype.crossFadingFactor = function () { + return 0 === this.fadeDuration + ? 1 + : Math.min( + (this.now - + this.zoomHistory.lastIntegerZoomTime) / + this.fadeDuration, + 1, + ); + }), + (Si.prototype.getCrossfadeParameters = function () { + var t = this.zoom, + e = t - Math.floor(t), + r = this.crossFadingFactor(); + return t > this.zoomHistory.lastIntegerZoom + ? { fromScale: 2, toScale: 1, t: e + (1 - e) * r } + : { + fromScale: 0.5, + toScale: 1, + t: 1 - (1 - r) * e, + }; + }); + var Ei = function (t, e) { + (this.property = t), + (this.value = e), + (this.expression = (function (t, e) { + if (Wr(t)) return new un(t, e); + if (nn(t)) { + var r = ln(t, e); + if ("error" === r.result) + throw new Error( + r.value + .map(function (t) { + return t.key + ": " + t.message; + }) + .join(", "), + ); + return r.value; + } + var n = t; + return ( + "string" == typeof t && + "color" === e.type && + (n = ae.parse(t)), + { + kind: "constant", + evaluate: function () { + return n; + }, + } + ); + })( + void 0 === e ? t.specification.default : e, + t.specification, + )); + }; + (Ei.prototype.isDataDriven = function () { + return ( + "source" === this.expression.kind || + "composite" === this.expression.kind + ); + }), + (Ei.prototype.possiblyEvaluate = function (t, e, r) { + return this.property.possiblyEvaluate( + this, + t, + e, + r, + ); + }); + var Li = function (t) { + (this.property = t), (this.value = new Ei(t, void 0)); + }; + (Li.prototype.transitioned = function (t, e) { + return new Pi( + this.property, + this.value, + e, + f({}, t.transition, this.transition), + t.now, + ); + }), + (Li.prototype.untransitioned = function () { + return new Pi( + this.property, + this.value, + null, + {}, + 0, + ); + }); + var Ci = function (t) { + (this._properties = t), + (this._values = Object.create( + t.defaultTransitionablePropertyValues, + )); + }; + (Ci.prototype.getValue = function (t) { + return b(this._values[t].value.value); + }), + (Ci.prototype.setValue = function (t, e) { + this._values.hasOwnProperty(t) || + (this._values[t] = new Li( + this._values[t].property, + )), + (this._values[t].value = new Ei( + this._values[t].property, + null === e ? void 0 : b(e), + )); + }), + (Ci.prototype.getTransition = function (t) { + return b(this._values[t].transition); + }), + (Ci.prototype.setTransition = function (t, e) { + this._values.hasOwnProperty(t) || + (this._values[t] = new Li( + this._values[t].property, + )), + (this._values[t].transition = b(e) || void 0); + }), + (Ci.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); + var a = this.getTransition(n); + void 0 !== a && (t[n + "-transition"] = a); + } + return t; + }), + (Ci.prototype.transitioned = function (t, e) { + for ( + var r = new Oi(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; + }), + (Ci.prototype.untransitioned = function () { + for ( + var t = new Oi(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 Pi = 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); + }; + Pi.prototype.possiblyEvaluate = function (t, e, r) { + var n = t.now || 0, + i = this.value.possiblyEvaluate(t, e, r), + a = this.prior; + if (a) { + if (n > this.end) return (this.prior = null), i; + if (this.value.isDataDriven()) + return (this.prior = null), i; + if (n < this.begin) + return a.possiblyEvaluate(t, e, r); + var o = (n - this.begin) / (this.end - this.begin); + return this.property.interpolate( + a.possiblyEvaluate(t, e, r), + i, + (function (t) { + if (t <= 0) return 0; + if (t >= 1) return 1; + var e = t * t, + r = e * t; + return ( + 4 * (t < 0.5 ? r : 3 * (t - e) + r - 0.75) + ); + })(o), + ); + } + return i; + }; + var Oi = function (t) { + (this._properties = t), + (this._values = Object.create( + t.defaultTransitioningPropertyValues, + )); + }; + (Oi.prototype.possiblyEvaluate = function (t, e, r) { + for ( + var n = new zi(this._properties), + i = 0, + a = Object.keys(this._values); + i < a.length; + i += 1 + ) { + var o = a[i]; + n._values[o] = this._values[o].possiblyEvaluate( + t, + e, + r, + ); + } + return n; + }), + (Oi.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 Ii = function (t) { + (this._properties = t), + (this._values = Object.create( + t.defaultPropertyValues, + )); + }; + (Ii.prototype.getValue = function (t) { + return b(this._values[t].value); + }), + (Ii.prototype.setValue = function (t, e) { + this._values[t] = new Ei( + this._values[t].property, + null === e ? void 0 : b(e), + ); + }), + (Ii.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; + }), + (Ii.prototype.possiblyEvaluate = function (t, e, r) { + for ( + var n = new zi(this._properties), + i = 0, + a = Object.keys(this._values); + i < a.length; + i += 1 + ) { + var o = a[i]; + n._values[o] = this._values[o].possiblyEvaluate( + t, + e, + r, + ); + } + return n; + }); + var Di = function (t, e, r) { + (this.property = t), + (this.value = e), + (this.parameters = r); + }; + (Di.prototype.isConstant = function () { + return "constant" === this.value.kind; + }), + (Di.prototype.constantOr = function (t) { + return "constant" === this.value.kind + ? this.value.value + : t; + }), + (Di.prototype.evaluate = function (t, e, r, n) { + return this.property.evaluate( + this.value, + this.parameters, + t, + e, + r, + n, + ); + }); + var zi = function (t) { + (this._properties = t), + (this._values = Object.create( + t.defaultPossiblyEvaluatedValues, + )); + }; + zi.prototype.get = function (t) { + return this._values[t]; + }; + var Ri = function (t) { + this.specification = t; + }; + (Ri.prototype.possiblyEvaluate = function (t, e) { + return t.expression.evaluate(e); + }), + (Ri.prototype.interpolate = function (t, e, r) { + var n = $e[this.specification.type]; + return n ? n(t, e, r) : t; + }); + var Fi = function (t, e) { + (this.specification = t), (this.overrides = e); + }; + (Fi.prototype.possiblyEvaluate = function (t, e, r, n) { + return "constant" === t.expression.kind || + "camera" === t.expression.kind + ? new Di( + this, + { + kind: "constant", + value: t.expression.evaluate( + e, + null, + {}, + r, + n, + ), + }, + e, + ) + : new Di(this, t.expression, e); + }), + (Fi.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 + ) + return new Di( + this, + { kind: "constant", value: void 0 }, + t.parameters, + ); + var n = $e[this.specification.type]; + return n + ? new Di( + this, + { + kind: "constant", + value: n(t.value.value, e.value.value, r), + }, + t.parameters, + ) + : t; + }), + (Fi.prototype.evaluate = function (t, e, r, n, i, a) { + return "constant" === t.kind + ? t.value + : t.evaluate(e, r, n, i, a); + }); + var Bi = (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 ( + t, + e, + r, + n, + ) { + if (void 0 === t.value) + return new Di( + this, + { kind: "constant", value: void 0 }, + e, + ); + if ("constant" === t.expression.kind) { + var i = t.expression.evaluate( + e, + null, + {}, + r, + n, + ), + a = + "resolvedImage" === + t.property.specification.type && + "string" != typeof i + ? i.name + : i, + o = this._calculate(a, a, a, e); + return new Di( + this, + { kind: "constant", value: o }, + e, + ); + } + if ("camera" === t.expression.kind) { + var s = this._calculate( + t.expression.evaluate({ zoom: e.zoom - 1 }), + t.expression.evaluate({ zoom: e.zoom }), + t.expression.evaluate({ zoom: e.zoom + 1 }), + e, + ); + return new Di( + this, + { kind: "constant", value: s }, + e, + ); + } + return new Di(this, t.expression, e); + }), + (e.prototype.evaluate = function ( + t, + e, + r, + n, + i, + a, + ) { + if ("source" === t.kind) { + var o = t.evaluate(e, r, n, i, a); + return this._calculate(o, o, o, e); + } + return "composite" === t.kind + ? this._calculate( + t.evaluate( + { zoom: Math.floor(e.zoom) - 1 }, + r, + n, + ), + t.evaluate( + { zoom: Math.floor(e.zoom) }, + r, + n, + ), + t.evaluate( + { zoom: Math.floor(e.zoom) + 1 }, + r, + n, + ), + e, + ) + : t.value; + }), + (e.prototype._calculate = function (t, e, r, n) { + return n.zoom > n.zoomHistory.lastIntegerZoom + ? { from: t, to: e } + : { from: r, to: e }; + }), + (e.prototype.interpolate = function (t) { + return t; + }), + e + ); + })(Fi), + Ni = function (t) { + this.specification = t; + }; + (Ni.prototype.possiblyEvaluate = function (t, e, r, n) { + if (void 0 !== t.value) { + if ("constant" === t.expression.kind) { + var i = t.expression.evaluate(e, null, {}, r, n); + return this._calculate(i, i, i, e); + } + return this._calculate( + t.expression.evaluate( + new Si(Math.floor(e.zoom - 1), e), + ), + t.expression.evaluate( + new Si(Math.floor(e.zoom), e), + ), + t.expression.evaluate( + new Si(Math.floor(e.zoom + 1), e), + ), + e, + ); + } + }), + (Ni.prototype._calculate = function (t, e, r, n) { + return n.zoom > n.zoomHistory.lastIntegerZoom + ? { from: t, to: e } + : { from: r, to: e }; + }), + (Ni.prototype.interpolate = function (t) { + return t; + }); + var ji = function (t) { + this.specification = t; + }; + (ji.prototype.possiblyEvaluate = function (t, e, r, n) { + return !!t.expression.evaluate(e, null, {}, r, n); + }), + (ji.prototype.interpolate = function () { + return !1; + }); + var Ui = function (t) { + for (var e in ((this.properties = t), + (this.defaultPropertyValues = {}), + (this.defaultTransitionablePropertyValues = {}), + (this.defaultTransitioningPropertyValues = {}), + (this.defaultPossiblyEvaluatedValues = {}), + (this.overridableProperties = []), + t)) { + var r = t[e]; + r.specification.overridable && + this.overridableProperties.push(e); + var n = (this.defaultPropertyValues[e] = new Ei( + r, + void 0, + )), + i = (this.defaultTransitionablePropertyValues[e] = + new Li(r)); + (this.defaultTransitioningPropertyValues[e] = + i.untransitioned()), + (this.defaultPossiblyEvaluatedValues[e] = + n.possiblyEvaluate({})); + } + }; + Qn("DataDrivenProperty", Fi), + Qn("DataConstantProperty", Ri), + Qn("CrossFadedDataDrivenProperty", Bi), + Qn("CrossFadedProperty", Ni), + Qn("ColorRampProperty", ji); + var Vi = "-transition", + Hi = (function (t) { + function e(e, r) { + if ( + (t.call(this), + (this.id = e.id), + (this.type = e.type), + (this._featureFilter = { + filter: function () { + return !0; + }, + needGeometry: !1, + }), + "custom" !== e.type && + ((this.metadata = e.metadata), + (this.minzoom = e.minzoom), + (this.maxzoom = e.maxzoom), + "background" !== e.type && + ((this.source = e.source), + (this.sourceLayer = e["source-layer"]), + (this.filter = e.filter)), + r.layout && + (this._unevaluatedLayout = new Ii( + r.layout, + )), + r.paint)) + ) { + for (var n in ((this._transitionablePaint = + new Ci(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()), + (this.paint = new zi(r.paint)); + } + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.getCrossfadeParameters = + function () { + return this._crossfadeParameters; + }), + (e.prototype.getLayoutProperty = function (t) { + return "visibility" === t + ? this.visibility + : this._unevaluatedLayout.getValue(t); + }), + (e.prototype.setLayoutProperty = function ( + t, + e, + r, + ) { + if ((void 0 === r && (r = {}), null != e)) { + var n = "layers." + this.id + ".layout." + t; + if (this._validate(Zn, n, t, e, r)) return; + } + "visibility" !== t + ? this._unevaluatedLayout.setValue(t, e) + : (this.visibility = e); + }), + (e.prototype.getPaintProperty = function (t) { + return y(t, Vi) + ? this._transitionablePaint.getTransition( + t.slice(0, -Vi.length), + ) + : this._transitionablePaint.getValue(t); + }), + (e.prototype.setPaintProperty = function ( + t, + e, + r, + ) { + if ((void 0 === r && (r = {}), null != e)) { + var n = "layers." + this.id + ".paint." + t; + if (this._validate(Gn, n, t, e, r)) return !1; + } + if (y(t, Vi)) + return ( + this._transitionablePaint.setTransition( + t.slice(0, -Vi.length), + e || void 0, + ), + !1 + ); + var i = this._transitionablePaint._values[t], + a = + "cross-faded-data-driven" === + i.property.specification["property-type"], + o = i.value.isDataDriven(), + s = i.value; + this._transitionablePaint.setValue(t, e), + this._handleSpecialPaintPropertyUpdate(t); + var l = + this._transitionablePaint._values[t].value; + return ( + l.isDataDriven() || + o || + a || + this._handleOverridablePaintPropertyUpdate( + t, + s, + l, + ) + ); + }), + (e.prototype._handleSpecialPaintPropertyUpdate = + function (t) {}), + (e.prototype._handleOverridablePaintPropertyUpdate = + function (t, e, r) { + return !1; + }), + (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, e) { + t.getCrossfadeParameters && + (this._crossfadeParameters = + t.getCrossfadeParameters()), + this._unevaluatedLayout && + (this.layout = + this._unevaluatedLayout.possiblyEvaluate( + t, + void 0, + e, + )), + (this.paint = + this._transitioningPaint.possiblyEvaluate( + t, + void 0, + e, + )); + }), + (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 ( + this.visibility && + ((t.layout = t.layout || {}), + (t.layout.visibility = this.visibility)), + x(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, + i, + ) { + return ( + void 0 === i && (i = {}), + (!i || !1 !== i.validate) && + Yn( + this, + t.call(Hn, { + key: e, + layerType: this.type, + objectKey: r, + value: n, + styleSpec: It, + style: { glyphs: !0, sprite: !0 }, + }), + ) + ); + }), + (e.prototype.is3D = function () { + return !1; + }), + (e.prototype.isTileClipped = function () { + return !1; + }), + (e.prototype.hasOffscreenPass = function () { + return !1; + }), + (e.prototype.resize = function () {}), + (e.prototype.isStateDependent = function () { + for (var t in this.paint._values) { + var e = this.paint.get(t); + if ( + e instanceof Di && + qr(e.property.specification) && + ("source" === e.value.kind || + "composite" === e.value.kind) && + e.value.isStateDependent + ) + return !0; + } + return !1; + }), + e + ); + })(Ot), + qi = { + Int8: Int8Array, + Uint8: Uint8Array, + Int16: Int16Array, + Uint16: Uint16Array, + Int32: Int32Array, + Uint32: Uint32Array, + Float32: Float32Array, + }, + Gi = 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); + }, + Zi = function () { + (this.isTransferred = !1), + (this.capacity = -1), + this.resize(0); + }; + function Yi(t, e) { + void 0 === e && (e = 1); + var r = 0, + n = 0; + return { + members: t.map(function (t) { + var i, + a = ((i = t.type), qi[i].BYTES_PER_ELEMENT), + o = (r = Wi(r, Math.max(e, a))), + s = t.components || 1; + return ( + (n = Math.max(n, a)), + (r += a * s), + { + name: t.name, + type: t.type, + components: s, + offset: o, + } + ); + }), + size: Wi(r, Math.max(n, e)), + alignment: e, + }; + } + function Wi(t, e) { + return Math.ceil(t / e) * e; + } + (Zi.serialize = function (t, e) { + return ( + t._trim(), + e && + ((t.isTransferred = !0), e.push(t.arrayBuffer)), + { length: t.length, arrayBuffer: t.arrayBuffer } + ); + }), + (Zi.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 + ); + }), + (Zi.prototype._trim = function () { + this.length !== this.capacity && + ((this.capacity = this.length), + (this.arrayBuffer = this.arrayBuffer.slice( + 0, + this.length * this.bytesPerElement, + )), + this._refreshViews()); + }), + (Zi.prototype.clear = function () { + this.length = 0; + }), + (Zi.prototype.resize = function (t) { + this.reserve(t), (this.length = t); + }), + (Zi.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); + } + }), + (Zi.prototype._refreshViews = function () { + throw new Error( + "_refreshViews() must be implemented by each concrete StructArray layout", + ); + }); + var Xi = (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; + return this.resize(r + 1), this.emplace(r, t, e); + }), + (e.prototype.emplace = function (t, e, r) { + var n = 2 * t; + return ( + (this.int16[n + 0] = e), + (this.int16[n + 1] = r), + t + ); + }), + e + ); + })(Zi); + (Xi.prototype.bytesPerElement = 4), + Qn("StructArrayLayout2i4", Xi); + var Ji = (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; + return ( + this.resize(i + 1), this.emplace(i, t, e, r, n) + ); + }), + (e.prototype.emplace = function (t, e, r, n, i) { + var a = 4 * t; + return ( + (this.int16[a + 0] = e), + (this.int16[a + 1] = r), + (this.int16[a + 2] = n), + (this.int16[a + 3] = i), + t + ); + }), + e + ); + })(Zi); + (Ji.prototype.bytesPerElement = 8), + Qn("StructArrayLayout4i8", Ji); + var Ki = (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; + return ( + this.resize(o + 1), + this.emplace(o, t, e, r, n, i, a) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + ) { + var s = 6 * t; + return ( + (this.int16[s + 0] = e), + (this.int16[s + 1] = r), + (this.int16[s + 2] = n), + (this.int16[s + 3] = i), + (this.int16[s + 4] = a), + (this.int16[s + 5] = o), + t + ); + }), + e + ); + })(Zi); + (Ki.prototype.bytesPerElement = 12), + Qn("StructArrayLayout2i4i12", Ki); + var $i = (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; + return ( + this.resize(o + 1), + this.emplace(o, t, e, r, n, i, a) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + ) { + var s = 4 * t, + l = 8 * t; + return ( + (this.int16[s + 0] = e), + (this.int16[s + 1] = r), + (this.uint8[l + 4] = n), + (this.uint8[l + 5] = i), + (this.uint8[l + 6] = a), + (this.uint8[l + 7] = o), + t + ); + }), + e + ); + })(Zi); + ($i.prototype.bytesPerElement = 8), + Qn("StructArrayLayout2i4ub8", $i); + var Qi = (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, + n, + i, + a, + o, + s, + l, + u, + ) { + var c = this.length; + return ( + this.resize(c + 1), + this.emplace(c, t, e, r, n, i, a, o, s, l, u) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) { + var f = 9 * t, + h = 18 * t; + return ( + (this.uint16[f + 0] = e), + (this.uint16[f + 1] = r), + (this.uint16[f + 2] = n), + (this.uint16[f + 3] = i), + (this.uint16[f + 4] = a), + (this.uint16[f + 5] = o), + (this.uint16[f + 6] = s), + (this.uint16[f + 7] = l), + (this.uint8[h + 16] = u), + (this.uint8[h + 17] = c), + t + ); + }), + e + ); + })(Zi); + (Qi.prototype.bytesPerElement = 18), + Qn("StructArrayLayout8ui2ub18", Qi); + var ta = (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, + l, + u, + c, + f, + ) { + var h = this.length; + return ( + this.resize(h + 1), + this.emplace( + h, + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + ) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + ) { + var p = 12 * t; + return ( + (this.int16[p + 0] = e), + (this.int16[p + 1] = r), + (this.int16[p + 2] = n), + (this.int16[p + 3] = i), + (this.uint16[p + 4] = a), + (this.uint16[p + 5] = o), + (this.uint16[p + 6] = s), + (this.uint16[p + 7] = l), + (this.int16[p + 8] = u), + (this.int16[p + 9] = c), + (this.int16[p + 10] = f), + (this.int16[p + 11] = h), + t + ); + }), + e + ); + })(Zi); + (ta.prototype.bytesPerElement = 24), + Qn("StructArrayLayout4i4ui4i24", ta); + var ea = (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; + return ( + this.resize(n + 1), this.emplace(n, t, e, r) + ); + }), + (e.prototype.emplace = function (t, e, r, n) { + var i = 3 * t; + return ( + (this.float32[i + 0] = e), + (this.float32[i + 1] = r), + (this.float32[i + 2] = n), + t + ); + }), + e + ); + })(Zi); + (ea.prototype.bytesPerElement = 12), + Qn("StructArrayLayout3f12", ea); + var ra = (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; + return this.resize(e + 1), this.emplace(e, t); + }), + (e.prototype.emplace = function (t, e) { + var r = 1 * t; + return (this.uint32[r + 0] = e), t; + }), + e + ); + })(Zi); + (ra.prototype.bytesPerElement = 4), + Qn("StructArrayLayout1ul4", ra); + var na = (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, + ) { + var u = this.length; + return ( + this.resize(u + 1), + this.emplace(u, t, e, r, n, i, a, o, s, l) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + ) { + var c = 10 * t, + f = 5 * t; + return ( + (this.int16[c + 0] = e), + (this.int16[c + 1] = r), + (this.int16[c + 2] = n), + (this.int16[c + 3] = i), + (this.int16[c + 4] = a), + (this.int16[c + 5] = o), + (this.uint32[f + 3] = s), + (this.uint16[c + 8] = l), + (this.uint16[c + 9] = u), + t + ); + }), + e + ); + })(Zi); + (na.prototype.bytesPerElement = 20), + Qn("StructArrayLayout6i1ul2ui20", na); + var ia = (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; + return ( + this.resize(o + 1), + this.emplace(o, t, e, r, n, i, a) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + ) { + var s = 6 * t; + return ( + (this.int16[s + 0] = e), + (this.int16[s + 1] = r), + (this.int16[s + 2] = n), + (this.int16[s + 3] = i), + (this.int16[s + 4] = a), + (this.int16[s + 5] = o), + t + ); + }), + e + ); + })(Zi); + (ia.prototype.bytesPerElement = 12), + Qn("StructArrayLayout2i2i2i12", ia); + var aa = (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, + )), + (this.int16 = new Int16Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function ( + t, + e, + r, + n, + i, + ) { + var a = this.length; + return ( + this.resize(a + 1), + this.emplace(a, t, e, r, n, i) + ); + }), + (e.prototype.emplace = function (t, e, r, n, i, a) { + var o = 4 * t, + s = 8 * t; + return ( + (this.float32[o + 0] = e), + (this.float32[o + 1] = r), + (this.float32[o + 2] = n), + (this.int16[s + 6] = i), + (this.int16[s + 7] = a), + t + ); + }), + e + ); + })(Zi); + (aa.prototype.bytesPerElement = 16), + Qn("StructArrayLayout2f1f2i16", aa); + var oa = (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; + return ( + this.resize(i + 1), this.emplace(i, t, e, r, n) + ); + }), + (e.prototype.emplace = function (t, e, r, n, i) { + var a = 12 * t, + o = 3 * t; + return ( + (this.uint8[a + 0] = e), + (this.uint8[a + 1] = r), + (this.float32[o + 1] = n), + (this.float32[o + 2] = i), + t + ); + }), + e + ); + })(Zi); + (oa.prototype.bytesPerElement = 12), + Qn("StructArrayLayout2ub2f12", oa); + var sa = (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; + return ( + this.resize(n + 1), this.emplace(n, t, e, r) + ); + }), + (e.prototype.emplace = function (t, e, r, n) { + var i = 3 * t; + return ( + (this.uint16[i + 0] = e), + (this.uint16[i + 1] = r), + (this.uint16[i + 2] = n), + t + ); + }), + e + ); + })(Zi); + (sa.prototype.bytesPerElement = 6), + Qn("StructArrayLayout3ui6", sa); + var la = (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, + f, + h, + p, + d, + v, + g, + ) { + var y = this.length; + return ( + this.resize(y + 1), + this.emplace( + y, + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + ) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + ) { + var m = 24 * t, + x = 12 * t, + b = 48 * t; + return ( + (this.int16[m + 0] = e), + (this.int16[m + 1] = r), + (this.uint16[m + 2] = n), + (this.uint16[m + 3] = i), + (this.uint32[x + 2] = a), + (this.uint32[x + 3] = o), + (this.uint32[x + 4] = s), + (this.uint16[m + 10] = l), + (this.uint16[m + 11] = u), + (this.uint16[m + 12] = c), + (this.float32[x + 7] = f), + (this.float32[x + 8] = h), + (this.uint8[b + 36] = p), + (this.uint8[b + 37] = d), + (this.uint8[b + 38] = v), + (this.uint32[x + 10] = g), + (this.int16[m + 22] = y), + t + ); + }), + e + ); + })(Zi); + (la.prototype.bytesPerElement = 48), + Qn("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48", la); + var ua = (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, + f, + h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + w, + T, + k, + A, + M, + S, + ) { + var E = this.length; + return ( + this.resize(E + 1), + this.emplace( + E, + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + w, + T, + k, + A, + M, + S, + ) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + w, + T, + k, + A, + M, + S, + E, + ) { + var L = 34 * t, + C = 17 * t; + return ( + (this.int16[L + 0] = e), + (this.int16[L + 1] = r), + (this.int16[L + 2] = n), + (this.int16[L + 3] = i), + (this.int16[L + 4] = a), + (this.int16[L + 5] = o), + (this.int16[L + 6] = s), + (this.int16[L + 7] = l), + (this.uint16[L + 8] = u), + (this.uint16[L + 9] = c), + (this.uint16[L + 10] = f), + (this.uint16[L + 11] = h), + (this.uint16[L + 12] = p), + (this.uint16[L + 13] = d), + (this.uint16[L + 14] = v), + (this.uint16[L + 15] = g), + (this.uint16[L + 16] = y), + (this.uint16[L + 17] = m), + (this.uint16[L + 18] = x), + (this.uint16[L + 19] = b), + (this.uint16[L + 20] = _), + (this.uint16[L + 21] = w), + (this.uint16[L + 22] = T), + (this.uint32[C + 12] = k), + (this.float32[C + 13] = A), + (this.float32[C + 14] = M), + (this.float32[C + 15] = S), + (this.float32[C + 16] = E), + t + ); + }), + e + ); + })(Zi); + (ua.prototype.bytesPerElement = 68), + Qn("StructArrayLayout8i15ui1ul4f68", ua); + var ca = (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; + return this.resize(e + 1), this.emplace(e, t); + }), + (e.prototype.emplace = function (t, e) { + var r = 1 * t; + return (this.float32[r + 0] = e), t; + }), + e + ); + })(Zi); + (ca.prototype.bytesPerElement = 4), + Qn("StructArrayLayout1f4", ca); + var fa = (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; + return ( + this.resize(n + 1), this.emplace(n, t, e, r) + ); + }), + (e.prototype.emplace = function (t, e, r, n) { + var i = 3 * t; + return ( + (this.int16[i + 0] = e), + (this.int16[i + 1] = r), + (this.int16[i + 2] = n), + t + ); + }), + e + ); + })(Zi); + (fa.prototype.bytesPerElement = 6), + Qn("StructArrayLayout3i6", fa); + var ha = (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; + return ( + this.resize(n + 1), this.emplace(n, t, e, r) + ); + }), + (e.prototype.emplace = function (t, e, r, n) { + var i = 2 * t, + a = 4 * t; + return ( + (this.uint32[i + 0] = e), + (this.uint16[a + 2] = r), + (this.uint16[a + 3] = n), + t + ); + }), + e + ); + })(Zi); + (ha.prototype.bytesPerElement = 8), + Qn("StructArrayLayout1ul2ui8", ha); + var pa = (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; + return this.resize(r + 1), this.emplace(r, t, e); + }), + (e.prototype.emplace = function (t, e, r) { + var n = 2 * t; + return ( + (this.uint16[n + 0] = e), + (this.uint16[n + 1] = r), + t + ); + }), + e + ); + })(Zi); + (pa.prototype.bytesPerElement = 4), + Qn("StructArrayLayout2ui4", pa); + var da = (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) { + var e = this.length; + return this.resize(e + 1), this.emplace(e, t); + }), + (e.prototype.emplace = function (t, e) { + var r = 1 * t; + return (this.uint16[r + 0] = e), t; + }), + e + ); + })(Zi); + (da.prototype.bytesPerElement = 2), + Qn("StructArrayLayout1ui2", da); + var va = (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; + return this.resize(r + 1), this.emplace(r, t, e); + }), + (e.prototype.emplace = function (t, e, r) { + var n = 2 * t; + return ( + (this.float32[n + 0] = e), + (this.float32[n + 1] = r), + t + ); + }), + e + ); + })(Zi); + (va.prototype.bytesPerElement = 8), + Qn("StructArrayLayout2f8", va); + var ga = (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; + return ( + this.resize(i + 1), this.emplace(i, t, e, r, n) + ); + }), + (e.prototype.emplace = function (t, e, r, n, i) { + var a = 4 * t; + return ( + (this.float32[a + 0] = e), + (this.float32[a + 1] = r), + (this.float32[a + 2] = n), + (this.float32[a + 3] = i), + t + ); + }), + e + ); + })(Zi); + (ga.prototype.bytesPerElement = 16), + Qn("StructArrayLayout4f16", ga); + var ya = (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: { configurable: !0 }, + anchorPointY: { configurable: !0 }, + x1: { configurable: !0 }, + y1: { configurable: !0 }, + x2: { configurable: !0 }, + y2: { configurable: !0 }, + featureIndex: { configurable: !0 }, + sourceLayerIndex: { configurable: !0 }, + bucketIndex: { configurable: !0 }, + anchorPoint: { configurable: !0 }, + }; + return ( + (r.anchorPointX.get = function () { + return this._structArray.int16[this._pos2 + 0]; + }), + (r.anchorPointY.get = function () { + return this._structArray.int16[this._pos2 + 1]; + }), + (r.x1.get = function () { + return this._structArray.int16[this._pos2 + 2]; + }), + (r.y1.get = function () { + return this._structArray.int16[this._pos2 + 3]; + }), + (r.x2.get = function () { + return this._structArray.int16[this._pos2 + 4]; + }), + (r.y2.get = function () { + return this._structArray.int16[this._pos2 + 5]; + }), + (r.featureIndex.get = function () { + return this._structArray.uint32[this._pos4 + 3]; + }), + (r.sourceLayerIndex.get = function () { + return this._structArray.uint16[this._pos2 + 8]; + }), + (r.bucketIndex.get = function () { + return this._structArray.uint16[this._pos2 + 9]; + }), + (r.anchorPoint.get = function () { + return new a( + this.anchorPointX, + this.anchorPointY, + ); + }), + Object.defineProperties(e.prototype, r), + e + ); + })(Gi); + ya.prototype.size = 20; + var ma = (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 ya(this, t); + }), + e + ); + })(na); + Qn("CollisionBoxArray", ma); + var xa = (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: { configurable: !0 }, + anchorY: { configurable: !0 }, + glyphStartIndex: { configurable: !0 }, + numGlyphs: { configurable: !0 }, + vertexStartIndex: { configurable: !0 }, + lineStartIndex: { configurable: !0 }, + lineLength: { configurable: !0 }, + segment: { configurable: !0 }, + lowerSize: { configurable: !0 }, + upperSize: { configurable: !0 }, + lineOffsetX: { configurable: !0 }, + lineOffsetY: { configurable: !0 }, + writingMode: { configurable: !0 }, + placedOrientation: { configurable: !0 }, + hidden: { configurable: !0 }, + crossTileID: { configurable: !0 }, + associatedIconIndex: { configurable: !0 }, + }; + return ( + (r.anchorX.get = function () { + return this._structArray.int16[this._pos2 + 0]; + }), + (r.anchorY.get = function () { + return this._structArray.int16[this._pos2 + 1]; + }), + (r.glyphStartIndex.get = function () { + return this._structArray.uint16[this._pos2 + 2]; + }), + (r.numGlyphs.get = function () { + return this._structArray.uint16[this._pos2 + 3]; + }), + (r.vertexStartIndex.get = function () { + return this._structArray.uint32[this._pos4 + 2]; + }), + (r.lineStartIndex.get = function () { + return this._structArray.uint32[this._pos4 + 3]; + }), + (r.lineLength.get = function () { + return this._structArray.uint32[this._pos4 + 4]; + }), + (r.segment.get = function () { + return this._structArray.uint16[this._pos2 + 10]; + }), + (r.lowerSize.get = function () { + return this._structArray.uint16[this._pos2 + 11]; + }), + (r.upperSize.get = function () { + return this._structArray.uint16[this._pos2 + 12]; + }), + (r.lineOffsetX.get = function () { + return this._structArray.float32[this._pos4 + 7]; + }), + (r.lineOffsetY.get = function () { + return this._structArray.float32[this._pos4 + 8]; + }), + (r.writingMode.get = function () { + return this._structArray.uint8[this._pos1 + 36]; + }), + (r.placedOrientation.get = function () { + return this._structArray.uint8[this._pos1 + 37]; + }), + (r.placedOrientation.set = function (t) { + this._structArray.uint8[this._pos1 + 37] = t; + }), + (r.hidden.get = function () { + return this._structArray.uint8[this._pos1 + 38]; + }), + (r.hidden.set = function (t) { + this._structArray.uint8[this._pos1 + 38] = t; + }), + (r.crossTileID.get = function () { + return this._structArray.uint32[this._pos4 + 10]; + }), + (r.crossTileID.set = function (t) { + this._structArray.uint32[this._pos4 + 10] = t; + }), + (r.associatedIconIndex.get = function () { + return this._structArray.int16[this._pos2 + 22]; + }), + Object.defineProperties(e.prototype, r), + e + ); + })(Gi); + xa.prototype.size = 48; + var ba = (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 xa(this, t); + }), + e + ); + })(la); + Qn("PlacedSymbolArray", ba); + var _a = (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: { configurable: !0 }, + anchorY: { configurable: !0 }, + rightJustifiedTextSymbolIndex: { configurable: !0 }, + centerJustifiedTextSymbolIndex: { + configurable: !0, + }, + leftJustifiedTextSymbolIndex: { configurable: !0 }, + verticalPlacedTextSymbolIndex: { configurable: !0 }, + placedIconSymbolIndex: { configurable: !0 }, + verticalPlacedIconSymbolIndex: { configurable: !0 }, + key: { configurable: !0 }, + textBoxStartIndex: { configurable: !0 }, + textBoxEndIndex: { configurable: !0 }, + verticalTextBoxStartIndex: { configurable: !0 }, + verticalTextBoxEndIndex: { configurable: !0 }, + iconBoxStartIndex: { configurable: !0 }, + iconBoxEndIndex: { configurable: !0 }, + verticalIconBoxStartIndex: { configurable: !0 }, + verticalIconBoxEndIndex: { configurable: !0 }, + featureIndex: { configurable: !0 }, + numHorizontalGlyphVertices: { configurable: !0 }, + numVerticalGlyphVertices: { configurable: !0 }, + numIconVertices: { configurable: !0 }, + numVerticalIconVertices: { configurable: !0 }, + useRuntimeCollisionCircles: { configurable: !0 }, + crossTileID: { configurable: !0 }, + textBoxScale: { configurable: !0 }, + textOffset0: { configurable: !0 }, + textOffset1: { configurable: !0 }, + collisionCircleDiameter: { configurable: !0 }, + }; + return ( + (r.anchorX.get = function () { + return this._structArray.int16[this._pos2 + 0]; + }), + (r.anchorY.get = function () { + return this._structArray.int16[this._pos2 + 1]; + }), + (r.rightJustifiedTextSymbolIndex.get = function () { + return this._structArray.int16[this._pos2 + 2]; + }), + (r.centerJustifiedTextSymbolIndex.get = + function () { + return this._structArray.int16[this._pos2 + 3]; + }), + (r.leftJustifiedTextSymbolIndex.get = function () { + return this._structArray.int16[this._pos2 + 4]; + }), + (r.verticalPlacedTextSymbolIndex.get = function () { + return this._structArray.int16[this._pos2 + 5]; + }), + (r.placedIconSymbolIndex.get = function () { + return this._structArray.int16[this._pos2 + 6]; + }), + (r.verticalPlacedIconSymbolIndex.get = function () { + return this._structArray.int16[this._pos2 + 7]; + }), + (r.key.get = function () { + return this._structArray.uint16[this._pos2 + 8]; + }), + (r.textBoxStartIndex.get = function () { + return this._structArray.uint16[this._pos2 + 9]; + }), + (r.textBoxEndIndex.get = function () { + return this._structArray.uint16[this._pos2 + 10]; + }), + (r.verticalTextBoxStartIndex.get = function () { + return this._structArray.uint16[this._pos2 + 11]; + }), + (r.verticalTextBoxEndIndex.get = function () { + return this._structArray.uint16[this._pos2 + 12]; + }), + (r.iconBoxStartIndex.get = function () { + return this._structArray.uint16[this._pos2 + 13]; + }), + (r.iconBoxEndIndex.get = function () { + return this._structArray.uint16[this._pos2 + 14]; + }), + (r.verticalIconBoxStartIndex.get = function () { + return this._structArray.uint16[this._pos2 + 15]; + }), + (r.verticalIconBoxEndIndex.get = function () { + return this._structArray.uint16[this._pos2 + 16]; + }), + (r.featureIndex.get = function () { + return this._structArray.uint16[this._pos2 + 17]; + }), + (r.numHorizontalGlyphVertices.get = function () { + return this._structArray.uint16[this._pos2 + 18]; + }), + (r.numVerticalGlyphVertices.get = function () { + return this._structArray.uint16[this._pos2 + 19]; + }), + (r.numIconVertices.get = function () { + return this._structArray.uint16[this._pos2 + 20]; + }), + (r.numVerticalIconVertices.get = function () { + return this._structArray.uint16[this._pos2 + 21]; + }), + (r.useRuntimeCollisionCircles.get = function () { + return this._structArray.uint16[this._pos2 + 22]; + }), + (r.crossTileID.get = function () { + return this._structArray.uint32[this._pos4 + 12]; + }), + (r.crossTileID.set = function (t) { + this._structArray.uint32[this._pos4 + 12] = t; + }), + (r.textBoxScale.get = function () { + return this._structArray.float32[this._pos4 + 13]; + }), + (r.textOffset0.get = function () { + return this._structArray.float32[this._pos4 + 14]; + }), + (r.textOffset1.get = function () { + return this._structArray.float32[this._pos4 + 15]; + }), + (r.collisionCircleDiameter.get = function () { + return this._structArray.float32[this._pos4 + 16]; + }), + Object.defineProperties(e.prototype, r), + e + ); + })(Gi); + _a.prototype.size = 68; + var wa = (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 _a(this, t); + }), + e + ); + })(ua); + Qn("SymbolInstanceArray", wa); + var Ta = (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 + ); + })(ca); + Qn("GlyphOffsetArray", Ta); + var ka = (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 + ); + })(fa); + Qn("SymbolLineVertexArray", ka); + var Aa = (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: { configurable: !0 }, + sourceLayerIndex: { configurable: !0 }, + bucketIndex: { configurable: !0 }, + }; + return ( + (r.featureIndex.get = function () { + return this._structArray.uint32[this._pos4 + 0]; + }), + (r.sourceLayerIndex.get = function () { + return this._structArray.uint16[this._pos2 + 2]; + }), + (r.bucketIndex.get = function () { + return this._structArray.uint16[this._pos2 + 3]; + }), + Object.defineProperties(e.prototype, r), + e + ); + })(Gi); + Aa.prototype.size = 8; + var Ma = (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 Aa(this, t); + }), + e + ); + })(ha); + Qn("FeatureIndexArray", Ma); + var Sa = Yi( + [{ name: "a_pos", components: 2, type: "Int16" }], + 4, + ).members, + Ea = function (t) { + void 0 === t && (t = []), (this.segments = t); + }; + function La(t, e) { + return ( + 256 * (t = u(Math.floor(t), 0, 255)) + + u(Math.floor(e), 0, 255) + ); + } + (Ea.prototype.prepareSegment = function (t, e, r, n) { + var i = this.segments[this.segments.length - 1]; + return ( + t > Ea.MAX_VERTEX_ARRAY_LENGTH && + w( + "Max vertices per segment is " + + Ea.MAX_VERTEX_ARRAY_LENGTH + + ": bucket requested " + + t, + ), + (!i || + i.vertexLength + t > Ea.MAX_VERTEX_ARRAY_LENGTH || + i.sortKey !== n) && + ((i = { + vertexOffset: e.length, + primitiveOffset: r.length, + vertexLength: 0, + primitiveLength: 0, + }), + void 0 !== n && (i.sortKey = n), + this.segments.push(i)), + i + ); + }), + (Ea.prototype.get = function () { + return this.segments; + }), + (Ea.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(); + } + }), + (Ea.simpleSegment = function (t, e, r, n) { + return new Ea([ + { + vertexOffset: t, + primitiveOffset: e, + vertexLength: r, + primitiveLength: n, + vaos: {}, + sortKey: 0, + }, + ]); + }), + (Ea.MAX_VERTEX_ARRAY_LENGTH = Math.pow(2, 16) - 1), + Qn("SegmentVector", Ea); + var Ca = Yi([ + { + name: "a_pattern_from", + components: 4, + type: "Uint16", + }, + { + name: "a_pattern_to", + components: 4, + type: "Uint16", + }, + { + name: "a_pixel_ratio_from", + components: 1, + type: "Uint8", + }, + { + name: "a_pixel_ratio_to", + components: 1, + type: "Uint8", + }, + ]), + Pa = e(function (t) { + t.exports = function (t, e) { + var r, n, i, a, o, s, l, u; + for ( + r = 3 & t.length, + n = t.length - r, + i = e, + o = 3432918353, + s = 461845907, + u = 0; + u < n; + + ) + (l = + (255 & t.charCodeAt(u)) | + ((255 & t.charCodeAt(++u)) << 8) | + ((255 & t.charCodeAt(++u)) << 16) | + ((255 & t.charCodeAt(++u)) << 24)), + ++u, + (i = + 27492 + + (65535 & + (a = + (5 * + (65535 & + (i = + ((i ^= l = + ((65535 & + (l = + ((l = + ((65535 & l) * o + + ((((l >>> 16) * o) & + 65535) << + 16)) & + 4294967295) << + 15) | + (l >>> 17))) * + s + + ((((l >>> 16) * s) & 65535) << + 16)) & + 4294967295) << + 13) | + (i >>> 19))) + + (((5 * (i >>> 16)) & 65535) << 16)) & + 4294967295)) + + (((58964 + (a >>> 16)) & 65535) << 16)); + switch (((l = 0), r)) { + case 3: + l ^= (255 & t.charCodeAt(u + 2)) << 16; + case 2: + l ^= (255 & t.charCodeAt(u + 1)) << 8; + case 1: + i ^= l = + ((65535 & + (l = + ((l = + ((65535 & + (l ^= 255 & t.charCodeAt(u))) * + o + + ((((l >>> 16) * o) & 65535) << + 16)) & + 4294967295) << + 15) | + (l >>> 17))) * + s + + ((((l >>> 16) * s) & 65535) << 16)) & + 4294967295; + } + return ( + (i ^= t.length), + (i = + (2246822507 * (65535 & (i ^= i >>> 16)) + + (((2246822507 * (i >>> 16)) & 65535) << + 16)) & + 4294967295), + (i = + (3266489909 * (65535 & (i ^= i >>> 13)) + + (((3266489909 * (i >>> 16)) & 65535) << + 16)) & + 4294967295), + (i ^= i >>> 16) >>> 0 + ); + }; + }), + Oa = e(function (t) { + t.exports = function (t, e) { + for ( + var r, n = t.length, i = e ^ n, a = 0; + n >= 4; + + ) + (r = + 1540483477 * + (65535 & + (r = + (255 & t.charCodeAt(a)) | + ((255 & t.charCodeAt(++a)) << 8) | + ((255 & t.charCodeAt(++a)) << 16) | + ((255 & t.charCodeAt(++a)) << 24))) + + (((1540483477 * (r >>> 16)) & 65535) << 16)), + (i = + (1540483477 * (65535 & i) + + (((1540483477 * (i >>> 16)) & 65535) << + 16)) ^ + (r = + 1540483477 * (65535 & (r ^= r >>> 24)) + + (((1540483477 * (r >>> 16)) & 65535) << + 16))), + (n -= 4), + ++a; + switch (n) { + case 3: + i ^= (255 & t.charCodeAt(a + 2)) << 16; + case 2: + i ^= (255 & t.charCodeAt(a + 1)) << 8; + case 1: + i = + 1540483477 * + (65535 & (i ^= 255 & t.charCodeAt(a))) + + (((1540483477 * (i >>> 16)) & 65535) << 16); + } + return ( + (i = + 1540483477 * (65535 & (i ^= i >>> 13)) + + (((1540483477 * (i >>> 16)) & 65535) << 16)), + (i ^= i >>> 15) >>> 0 + ); + }; + }), + Ia = Pa, + Da = Pa, + za = Oa; + (Ia.murmur3 = Da), (Ia.murmur2 = za); + var Ra = function () { + (this.ids = []), + (this.positions = []), + (this.indexed = !1); + }; + (Ra.prototype.add = function (t, e, r, n) { + this.ids.push(Ba(t)), this.positions.push(e, r, n); + }), + (Ra.prototype.getPositions = function (t) { + for ( + var e = Ba(t), r = 0, n = this.ids.length - 1; + r < n; + + ) { + var i = (r + n) >> 1; + this.ids[i] >= e ? (n = i) : (r = i + 1); + } + for (var a = []; this.ids[r] === e; ) { + var o = this.positions[3 * r], + s = this.positions[3 * r + 1], + l = this.positions[3 * r + 2]; + a.push({ index: o, start: s, end: l }), r++; + } + return a; + }), + (Ra.serialize = function (t, e) { + var r = new Float64Array(t.ids), + n = new Uint32Array(t.positions); + return ( + Na(r, n, 0, r.length - 1), + e && e.push(r.buffer, n.buffer), + { ids: r, positions: n } + ); + }), + (Ra.deserialize = function (t) { + var e = new Ra(); + return ( + (e.ids = t.ids), + (e.positions = t.positions), + (e.indexed = !0), + e + ); + }); + var Fa = Math.pow(2, 53) - 1; + function Ba(t) { + var e = +t; + return !isNaN(e) && e <= Fa ? e : Ia(String(t)); + } + function Na(t, e, r, n) { + for (; r < n; ) { + for ( + var i = t[(r + n) >> 1], a = r - 1, o = n + 1; + ; + + ) { + do { + a++; + } while (t[a] < i); + do { + o--; + } while (t[o] > i); + if (a >= o) break; + ja(t, a, o), + ja(e, 3 * a, 3 * o), + ja(e, 3 * a + 1, 3 * o + 1), + ja(e, 3 * a + 2, 3 * o + 2); + } + o - r < n - o + ? (Na(t, e, r, o), (r = o + 1)) + : (Na(t, e, o + 1, n), (n = o)); + } + } + function ja(t, e, r) { + var n = t[e]; + (t[e] = t[r]), (t[r] = n); + } + Qn("FeaturePositionMap", Ra); + var Ua = function (t, e) { + (this.gl = t.gl), (this.location = e); + }, + Va = (function (t) { + function e(e, r) { + t.call(this, e, r), (this.current = 0); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.set = function (t) { + this.current !== t && + ((this.current = t), + this.gl.uniform1i(this.location, t)); + }), + e + ); + })(Ua), + Ha = (function (t) { + function e(e, r) { + t.call(this, e, r), (this.current = 0); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.set = function (t) { + this.current !== t && + ((this.current = t), + this.gl.uniform1f(this.location, t)); + }), + e + ); + })(Ua), + qa = (function (t) { + function e(e, r) { + t.call(this, e, r), (this.current = [0, 0]); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.set = function (t) { + (t[0] === this.current[0] && + t[1] === this.current[1]) || + ((this.current = t), + this.gl.uniform2f(this.location, t[0], t[1])); + }), + e + ); + })(Ua), + Ga = (function (t) { + function e(e, r) { + t.call(this, e, r), (this.current = [0, 0, 0]); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.set = function (t) { + (t[0] === this.current[0] && + t[1] === this.current[1] && + t[2] === this.current[2]) || + ((this.current = t), + this.gl.uniform3f( + this.location, + t[0], + t[1], + t[2], + )); + }), + e + ); + })(Ua), + Za = (function (t) { + function e(e, r) { + t.call(this, e, r), (this.current = [0, 0, 0, 0]); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.set = function (t) { + (t[0] === this.current[0] && + t[1] === this.current[1] && + t[2] === this.current[2] && + t[3] === this.current[3]) || + ((this.current = t), + this.gl.uniform4f( + this.location, + t[0], + t[1], + t[2], + t[3], + )); + }), + e + ); + })(Ua), + Ya = (function (t) { + function e(e, r) { + t.call(this, e, r), + (this.current = ae.transparent); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.set = function (t) { + (t.r === this.current.r && + t.g === this.current.g && + t.b === this.current.b && + t.a === this.current.a) || + ((this.current = t), + this.gl.uniform4f( + this.location, + t.r, + t.g, + t.b, + t.a, + )); + }), + e + ); + })(Ua), + Wa = new Float32Array(16), + Xa = (function (t) { + function e(e, r) { + t.call(this, e, r), (this.current = Wa); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.set = function (t) { + if ( + t[12] !== this.current[12] || + t[0] !== this.current[0] + ) + return ( + (this.current = t), + void this.gl.uniformMatrix4fv( + this.location, + !1, + t, + ) + ); + for (var e = 1; e < 16; e++) + if (t[e] !== this.current[e]) { + (this.current = t), + this.gl.uniformMatrix4fv( + this.location, + !1, + t, + ); + break; + } + }), + e + ); + })(Ua); + function Ja(t) { + return [ + La(255 * t.r, 255 * t.g), + La(255 * t.b, 255 * t.a), + ]; + } + var Ka = function (t, e, r) { + (this.value = t), + (this.uniformNames = e.map(function (t) { + return "u_" + t; + })), + (this.type = r); + }; + (Ka.prototype.setUniform = function (t, e, r) { + t.set(r.constantOr(this.value)); + }), + (Ka.prototype.getBinding = function (t, e, r) { + return "color" === this.type + ? new Ya(t, e) + : new Ha(t, e); + }); + var $a = function (t, e) { + (this.uniformNames = e.map(function (t) { + return "u_" + t; + })), + (this.patternFrom = null), + (this.patternTo = null), + (this.pixelRatioFrom = 1), + (this.pixelRatioTo = 1); + }; + ($a.prototype.setConstantPatternPositions = function ( + t, + e, + ) { + (this.pixelRatioFrom = e.pixelRatio), + (this.pixelRatioTo = t.pixelRatio), + (this.patternFrom = e.tlbr), + (this.patternTo = t.tlbr); + }), + ($a.prototype.setUniform = function (t, e, r, n) { + var i = + "u_pattern_to" === n + ? this.patternTo + : "u_pattern_from" === n + ? this.patternFrom + : "u_pixel_ratio_to" === n + ? this.pixelRatioTo + : "u_pixel_ratio_from" === n + ? this.pixelRatioFrom + : null; + i && t.set(i); + }), + ($a.prototype.getBinding = function (t, e, r) { + return "u_pattern" === r.substr(0, 9) + ? new Za(t, e) + : new Ha(t, e); + }); + var Qa = function (t, e, r, n) { + (this.expression = t), + (this.type = r), + (this.maxValue = 0), + (this.paintVertexAttributes = e.map(function (t) { + return { + name: "a_" + t, + type: "Float32", + components: "color" === r ? 2 : 1, + offset: 0, + }; + })), + (this.paintVertexArray = new n()); + }; + (Qa.prototype.populatePaintArray = function ( + t, + e, + r, + n, + i, + ) { + var a = this.paintVertexArray.length, + o = this.expression.evaluate( + new Si(0), + e, + {}, + n, + [], + i, + ); + this.paintVertexArray.resize(t), + this._setPaintValue(a, t, o); + }), + (Qa.prototype.updatePaintArray = function ( + t, + e, + r, + n, + ) { + var i = this.expression.evaluate({ zoom: 0 }, r, n); + this._setPaintValue(t, e, i); + }), + (Qa.prototype._setPaintValue = function (t, e, r) { + if ("color" === this.type) + for (var n = Ja(r), i = t; i < e; i++) + this.paintVertexArray.emplace(i, n[0], n[1]); + else { + for (var a = t; a < e; a++) + this.paintVertexArray.emplace(a, r); + this.maxValue = Math.max( + this.maxValue, + Math.abs(r), + ); + } + }), + (Qa.prototype.upload = function (t) { + this.paintVertexArray && + this.paintVertexArray.arrayBuffer && + (this.paintVertexBuffer && + this.paintVertexBuffer.buffer + ? this.paintVertexBuffer.updateData( + this.paintVertexArray, + ) + : (this.paintVertexBuffer = + t.createVertexBuffer( + this.paintVertexArray, + this.paintVertexAttributes, + this.expression.isStateDependent, + ))); + }), + (Qa.prototype.destroy = function () { + this.paintVertexBuffer && + this.paintVertexBuffer.destroy(); + }); + var to = function (t, e, r, n, i, a) { + (this.expression = t), + (this.uniformNames = e.map(function (t) { + return "u_" + t + "_t"; + })), + (this.type = r), + (this.useIntegerZoom = n), + (this.zoom = i), + (this.maxValue = 0), + (this.paintVertexAttributes = e.map(function (t) { + return { + name: "a_" + t, + type: "Float32", + components: "color" === r ? 4 : 2, + offset: 0, + }; + })), + (this.paintVertexArray = new a()); + }; + (to.prototype.populatePaintArray = function ( + t, + e, + r, + n, + i, + ) { + var a = this.expression.evaluate( + new Si(this.zoom), + e, + {}, + n, + [], + i, + ), + o = this.expression.evaluate( + new Si(this.zoom + 1), + e, + {}, + n, + [], + i, + ), + s = this.paintVertexArray.length; + this.paintVertexArray.resize(t), + this._setPaintValue(s, t, a, o); + }), + (to.prototype.updatePaintArray = function ( + t, + e, + r, + n, + ) { + var i = this.expression.evaluate( + { zoom: this.zoom }, + r, + n, + ), + a = this.expression.evaluate( + { zoom: this.zoom + 1 }, + r, + n, + ); + this._setPaintValue(t, e, i, a); + }), + (to.prototype._setPaintValue = function (t, e, r, n) { + if ("color" === this.type) + for (var i = Ja(r), a = Ja(n), o = t; o < e; o++) + this.paintVertexArray.emplace( + o, + i[0], + i[1], + a[0], + a[1], + ); + else { + for (var s = t; s < e; s++) + this.paintVertexArray.emplace(s, r, n); + this.maxValue = Math.max( + this.maxValue, + Math.abs(r), + Math.abs(n), + ); + } + }), + (to.prototype.upload = function (t) { + this.paintVertexArray && + this.paintVertexArray.arrayBuffer && + (this.paintVertexBuffer && + this.paintVertexBuffer.buffer + ? this.paintVertexBuffer.updateData( + this.paintVertexArray, + ) + : (this.paintVertexBuffer = + t.createVertexBuffer( + this.paintVertexArray, + this.paintVertexAttributes, + this.expression.isStateDependent, + ))); + }), + (to.prototype.destroy = function () { + this.paintVertexBuffer && + this.paintVertexBuffer.destroy(); + }), + (to.prototype.setUniform = function (t, e) { + var r = this.useIntegerZoom + ? Math.floor(e.zoom) + : e.zoom, + n = u( + this.expression.interpolationFactor( + r, + this.zoom, + this.zoom + 1, + ), + 0, + 1, + ); + t.set(n); + }), + (to.prototype.getBinding = function (t, e, r) { + return new Ha(t, e); + }); + var eo = function (t, e, r, n, i, a) { + (this.expression = t), + (this.type = e), + (this.useIntegerZoom = r), + (this.zoom = n), + (this.layerId = a), + (this.zoomInPaintVertexArray = new i()), + (this.zoomOutPaintVertexArray = new i()); + }; + (eo.prototype.populatePaintArray = function (t, e, r) { + var n = this.zoomInPaintVertexArray.length; + this.zoomInPaintVertexArray.resize(t), + this.zoomOutPaintVertexArray.resize(t), + this._setPaintValues( + n, + t, + e.patterns && e.patterns[this.layerId], + r, + ); + }), + (eo.prototype.updatePaintArray = function ( + t, + e, + r, + n, + i, + ) { + this._setPaintValues( + t, + e, + r.patterns && r.patterns[this.layerId], + i, + ); + }), + (eo.prototype._setPaintValues = function ( + t, + e, + r, + n, + ) { + if (n && r) { + var i = r.min, + a = r.mid, + o = r.max, + s = n[i], + l = n[a], + u = n[o]; + if (s && l && u) + for (var c = t; c < e; c++) + this.zoomInPaintVertexArray.emplace( + c, + l.tl[0], + l.tl[1], + l.br[0], + l.br[1], + s.tl[0], + s.tl[1], + s.br[0], + s.br[1], + l.pixelRatio, + s.pixelRatio, + ), + this.zoomOutPaintVertexArray.emplace( + c, + l.tl[0], + l.tl[1], + l.br[0], + l.br[1], + u.tl[0], + u.tl[1], + u.br[0], + u.br[1], + l.pixelRatio, + u.pixelRatio, + ); + } + }), + (eo.prototype.upload = function (t) { + this.zoomInPaintVertexArray && + this.zoomInPaintVertexArray.arrayBuffer && + this.zoomOutPaintVertexArray && + this.zoomOutPaintVertexArray.arrayBuffer && + ((this.zoomInPaintVertexBuffer = + t.createVertexBuffer( + this.zoomInPaintVertexArray, + Ca.members, + this.expression.isStateDependent, + )), + (this.zoomOutPaintVertexBuffer = + t.createVertexBuffer( + this.zoomOutPaintVertexArray, + Ca.members, + this.expression.isStateDependent, + ))); + }), + (eo.prototype.destroy = function () { + this.zoomOutPaintVertexBuffer && + this.zoomOutPaintVertexBuffer.destroy(), + this.zoomInPaintVertexBuffer && + this.zoomInPaintVertexBuffer.destroy(); + }); + var ro = function (t, e, r, n) { + (this.binders = {}), + (this.layoutAttributes = n), + (this._buffers = []); + var i = []; + for (var a in t.paint._values) + if (r(a)) { + var o = t.paint.get(a); + if ( + o instanceof Di && + qr(o.property.specification) + ) { + var s = io(a, t.type), + l = o.value, + u = o.property.specification.type, + c = o.property.useIntegerZoom, + f = o.property.specification["property-type"], + h = + "cross-faded" === f || + "cross-faded-data-driven" === f; + if ("constant" === l.kind) + (this.binders[a] = h + ? new $a(l.value, s) + : new Ka(l.value, s, u)), + i.push("/u_" + a); + else if ("source" === l.kind || h) { + var p = ao(a, u, "source"); + (this.binders[a] = h + ? new eo(l, u, c, e, p, t.id) + : new Qa(l, s, u, p)), + i.push("/a_" + a); + } else { + var d = ao(a, u, "composite"); + (this.binders[a] = new to(l, s, u, c, e, d)), + i.push("/z_" + a); + } + } + } + this.cacheKey = i.sort().join(""); + }; + (ro.prototype.getMaxValue = function (t) { + var e = this.binders[t]; + return e instanceof Qa || e instanceof to + ? e.maxValue + : 0; + }), + (ro.prototype.populatePaintArrays = function ( + t, + e, + r, + n, + i, + ) { + for (var a in this.binders) { + var o = this.binders[a]; + (o instanceof Qa || + o instanceof to || + o instanceof eo) && + o.populatePaintArray(t, e, r, n, i); + } + }), + (ro.prototype.setConstantPatternPositions = function ( + t, + e, + ) { + for (var r in this.binders) { + var n = this.binders[r]; + n instanceof $a && + n.setConstantPatternPositions(t, e); + } + }), + (ro.prototype.updatePaintArrays = function ( + t, + e, + r, + n, + i, + ) { + var a = !1; + for (var o in t) + for ( + var s = 0, l = e.getPositions(o); + s < l.length; + s += 1 + ) { + var u = l[s], + c = r.feature(u.index); + for (var f in this.binders) { + var h = this.binders[f]; + if ( + (h instanceof Qa || + h instanceof to || + h instanceof eo) && + !0 === h.expression.isStateDependent + ) { + var p = n.paint.get(f); + (h.expression = p.value), + h.updatePaintArray( + u.start, + u.end, + c, + t[o], + i, + ), + (a = !0); + } + } + } + return a; + }), + (ro.prototype.defines = function () { + var t = []; + for (var e in this.binders) { + var r = this.binders[e]; + (r instanceof Ka || r instanceof $a) && + t.push.apply( + t, + r.uniformNames.map(function (t) { + return "#define HAS_UNIFORM_" + t; + }), + ); + } + return t; + }), + (ro.prototype.getPaintVertexBuffers = function () { + return this._buffers; + }), + (ro.prototype.getUniforms = function (t, e) { + var r = []; + for (var n in this.binders) { + var i = this.binders[n]; + if ( + i instanceof Ka || + i instanceof $a || + i instanceof to + ) + for ( + var a = 0, o = i.uniformNames; + a < o.length; + a += 1 + ) { + var s = o[a]; + if (e[s]) { + var l = i.getBinding(t, e[s], s); + r.push({ + name: s, + property: n, + binding: l, + }); + } + } + } + return r; + }), + (ro.prototype.setUniforms = function (t, e, r, n) { + for (var i = 0, a = e; i < a.length; i += 1) { + var o = a[i], + s = o.name, + l = o.property, + u = o.binding; + this.binders[l].setUniform(u, n, r.get(l), s); + } + }), + (ro.prototype.updatePaintBuffers = function (t) { + for (var e in ((this._buffers = []), + this.binders)) { + var r = this.binders[e]; + if (t && r instanceof eo) { + var n = + 2 === t.fromScale + ? r.zoomInPaintVertexBuffer + : r.zoomOutPaintVertexBuffer; + n && this._buffers.push(n); + } else + (r instanceof Qa || r instanceof to) && + r.paintVertexBuffer && + this._buffers.push(r.paintVertexBuffer); + } + }), + (ro.prototype.upload = function (t) { + for (var e in this.binders) { + var r = this.binders[e]; + (r instanceof Qa || + r instanceof to || + r instanceof eo) && + r.upload(t); + } + this.updatePaintBuffers(); + }), + (ro.prototype.destroy = function () { + for (var t in this.binders) { + var e = this.binders[t]; + (e instanceof Qa || + e instanceof to || + e instanceof eo) && + e.destroy(); + } + }); + var no = 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] = new ro( + o, + r, + n, + t, + ); + } + (this.needsUpload = !1), + (this._featureMap = new Ra()), + (this._bufferOffset = 0); + }; + function io(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"], + "line-pattern": [ + "pattern_to", + "pattern_from", + "pixel_ratio_to", + "pixel_ratio_from", + ], + "fill-pattern": [ + "pattern_to", + "pattern_from", + "pixel_ratio_to", + "pixel_ratio_from", + ], + "fill-extrusion-pattern": [ + "pattern_to", + "pattern_from", + "pixel_ratio_to", + "pixel_ratio_from", + ], + }[t] || [t.replace(e + "-", "").replace(/-/g, "_")] + ); + } + function ao(t, e, r) { + var n = { + color: { source: va, composite: ga }, + number: { source: ca, composite: va }, + }, + i = (function (t) { + return { + "line-pattern": { source: Qi, composite: Qi }, + "fill-pattern": { source: Qi, composite: Qi }, + "fill-extrusion-pattern": { + source: Qi, + composite: Qi, + }, + }[t]; + })(t); + return (i && i[r]) || n[e][r]; + } + (no.prototype.populatePaintArrays = function ( + t, + e, + r, + n, + i, + a, + ) { + for (var o in this.programConfigurations) + this.programConfigurations[o].populatePaintArrays( + t, + e, + n, + i, + a, + ); + void 0 !== e.id && + this._featureMap.add( + e.id, + r, + this._bufferOffset, + t, + ), + (this._bufferOffset = t), + (this.needsUpload = !0); + }), + (no.prototype.updatePaintArrays = function ( + t, + e, + r, + n, + ) { + for (var i = 0, a = r; i < a.length; i += 1) { + var o = a[i]; + this.needsUpload = + this.programConfigurations[ + o.id + ].updatePaintArrays( + t, + this._featureMap, + e, + o, + n, + ) || this.needsUpload; + } + }), + (no.prototype.get = function (t) { + return this.programConfigurations[t]; + }), + (no.prototype.upload = function (t) { + if (this.needsUpload) { + for (var e in this.programConfigurations) + this.programConfigurations[e].upload(t); + this.needsUpload = !1; + } + }), + (no.prototype.destroy = function () { + for (var t in this.programConfigurations) + this.programConfigurations[t].destroy(); + }), + Qn("ConstantBinder", Ka), + Qn("CrossFadedConstantBinder", $a), + Qn("SourceExpressionBinder", Qa), + Qn("CrossFadedCompositeBinder", eo), + Qn("CompositeExpressionBinder", to), + Qn("ProgramConfiguration", ro, { + omit: ["_buffers"], + }), + Qn("ProgramConfigurationSet", no); + var oo = 8192; + var so, + lo = + ((so = 15), + { + min: -1 * Math.pow(2, so - 1), + max: Math.pow(2, so - 1) - 1, + }); + function uo(t) { + for ( + var e = oo / t.extent, r = t.loadGeometry(), n = 0; + n < r.length; + n++ + ) + for (var i = r[n], a = 0; a < i.length; a++) { + var o = i[a]; + (o.x = Math.round(o.x * e)), + (o.y = Math.round(o.y * e)), + (o.x < lo.min || + o.x > lo.max || + o.y < lo.min || + o.y > lo.max) && + (w( + "Geometry exceeds allowed extent, reduce your vector tile buffer size", + ), + (o.x = u(o.x, lo.min, lo.max)), + (o.y = u(o.y, lo.min, lo.max))); + } + return r; + } + function co(t, e, r, n, i) { + t.emplaceBack( + 2 * e + (n + 1) / 2, + 2 * r + (i + 1) / 2, + ); + } + var fo = 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.hasPattern = !1), + (this.layoutVertexArray = new Xi()), + (this.indexArray = new sa()), + (this.segments = new Ea()), + (this.programConfigurations = new no( + Sa, + t.layers, + t.zoom, + )), + (this.stateDependentLayerIds = this.layers + .filter(function (t) { + return t.isStateDependent(); + }) + .map(function (t) { + return t.id; + })); + }; + function ho(t, e) { + for (var r = 0; r < t.length; r++) + if (wo(e, t[r])) return !0; + for (var n = 0; n < e.length; n++) + if (wo(t, e[n])) return !0; + return !!yo(t, e); + } + function po(t, e, r) { + return !!wo(t, e) || !!xo(e, t, r); + } + function vo(t, e) { + if (1 === t.length) return _o(e, t[0]); + for (var r = 0; r < e.length; r++) + for (var n = e[r], i = 0; i < n.length; i++) + if (wo(t, n[i])) return !0; + for (var a = 0; a < t.length; a++) + if (_o(e, t[a])) return !0; + for (var o = 0; o < e.length; o++) + if (yo(t, e[o])) return !0; + return !1; + } + function go(t, e, r) { + if (t.length > 1) { + if (yo(t, e)) return !0; + for (var n = 0; n < e.length; n++) + if (xo(e[n], t, r)) return !0; + } + for (var i = 0; i < t.length; i++) + if (xo(t[i], e, r)) return !0; + return !1; + } + function yo(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], a = 0; + a < e.length - 1; + a++ + ) + if (mo(n, i, e[a], e[a + 1])) return !0; + return !1; + } + function mo(t, e, r, n) { + return ( + T(t, r, n) !== T(e, r, n) && + T(t, e, r) !== T(t, e, n) + ); + } + function xo(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 (bo(t, e[i - 1], e[i]) < n) return !0; + return !1; + } + function bo(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 _o(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 wo(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; + } + function To(t, e, r) { + var n = r[0], + i = r[2]; + if ( + (t.x < n.x && e.x < n.x) || + (t.x > i.x && e.x > i.x) || + (t.y < n.y && e.y < n.y) || + (t.y > i.y && e.y > i.y) + ) + return !1; + var a = T(t, e, r[0]); + return ( + a !== T(t, e, r[1]) || + a !== T(t, e, r[2]) || + a !== T(t, e, r[3]) + ); + } + function ko(t, e, r) { + var n = e.paint.get(t).value; + return "constant" === n.kind + ? n.value + : r.programConfigurations.get(e.id).getMaxValue(t); + } + function Ao(t) { + return Math.sqrt(t[0] * t[0] + t[1] * t[1]); + } + function Mo(t, e, r, n, i) { + if (!e[0] && !e[1]) return t; + var o = a.convert(e)._mult(i); + "viewport" === r && o._rotate(-n); + for (var s = [], l = 0; l < t.length; l++) { + var u = t[l]; + s.push(u.sub(o)); + } + return s; + } + (fo.prototype.populate = function (t, e, r) { + var n = this.layers[0], + i = [], + a = null; + "circle" === n.type && + (a = n.layout.get("circle-sort-key")); + for (var o = 0, s = t; o < s.length; o += 1) { + var l = s[o], + u = l.feature, + c = l.id, + f = l.index, + h = l.sourceLayerIndex, + p = this.layers[0]._featureFilter.needGeometry, + d = { + type: u.type, + id: c, + properties: u.properties, + geometry: p ? uo(u) : [], + }; + if ( + this.layers[0]._featureFilter.filter( + new Si(this.zoom), + d, + r, + ) + ) { + p || (d.geometry = uo(u)); + var v = a ? a.evaluate(d, {}, r) : void 0, + g = { + id: c, + properties: u.properties, + type: u.type, + sourceLayerIndex: h, + index: f, + geometry: d.geometry, + patterns: {}, + sortKey: v, + }; + i.push(g); + } + } + a && + i.sort(function (t, e) { + return t.sortKey - e.sortKey; + }); + for (var y = 0, m = i; y < m.length; y += 1) { + var x = m[y], + b = x, + _ = b.geometry, + w = b.index, + T = b.sourceLayerIndex, + k = t[w].feature; + this.addFeature(x, _, w, r), + e.featureIndex.insert(k, _, w, T, this.index); + } + }), + (fo.prototype.update = function (t, e, r) { + this.stateDependentLayers.length && + this.programConfigurations.updatePaintArrays( + t, + e, + this.stateDependentLayers, + r, + ); + }), + (fo.prototype.isEmpty = function () { + return 0 === this.layoutVertexArray.length; + }), + (fo.prototype.uploadPending = function () { + return ( + !this.uploaded || + this.programConfigurations.needsUpload + ); + }), + (fo.prototype.upload = function (t) { + this.uploaded || + ((this.layoutVertexBuffer = t.createVertexBuffer( + this.layoutVertexArray, + Sa, + )), + (this.indexBuffer = t.createIndexBuffer( + this.indexArray, + ))), + this.programConfigurations.upload(t), + (this.uploaded = !0); + }), + (fo.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy()); + }), + (fo.prototype.addFeature = function (t, e, r, n) { + for (var 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, + c = l.y; + if (!(u < 0 || u >= oo || c < 0 || c >= oo)) { + var f = this.segments.prepareSegment( + 4, + this.layoutVertexArray, + this.indexArray, + t.sortKey, + ), + h = f.vertexLength; + co(this.layoutVertexArray, u, c, -1, -1), + co(this.layoutVertexArray, u, c, 1, -1), + co(this.layoutVertexArray, u, c, 1, 1), + co(this.layoutVertexArray, u, c, -1, 1), + this.indexArray.emplaceBack( + h, + h + 1, + h + 2, + ), + this.indexArray.emplaceBack( + h, + h + 3, + h + 2, + ), + (f.vertexLength += 4), + (f.primitiveLength += 2); + } + } + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + t, + r, + {}, + n, + ); + }), + Qn("CircleBucket", fo, { omit: ["layers"] }); + var So = new Ui({ + "circle-sort-key": new Fi( + It.layout_circle["circle-sort-key"], + ), + }), + Eo = { + paint: new Ui({ + "circle-radius": new Fi( + It.paint_circle["circle-radius"], + ), + "circle-color": new Fi( + It.paint_circle["circle-color"], + ), + "circle-blur": new Fi( + It.paint_circle["circle-blur"], + ), + "circle-opacity": new Fi( + It.paint_circle["circle-opacity"], + ), + "circle-translate": new Ri( + It.paint_circle["circle-translate"], + ), + "circle-translate-anchor": new Ri( + It.paint_circle["circle-translate-anchor"], + ), + "circle-pitch-scale": new Ri( + It.paint_circle["circle-pitch-scale"], + ), + "circle-pitch-alignment": new Ri( + It.paint_circle["circle-pitch-alignment"], + ), + "circle-stroke-width": new Fi( + It.paint_circle["circle-stroke-width"], + ), + "circle-stroke-color": new Fi( + It.paint_circle["circle-stroke-color"], + ), + "circle-stroke-opacity": new Fi( + It.paint_circle["circle-stroke-opacity"], + ), + }), + layout: So, + }, + Lo = + "undefined" != typeof Float32Array + ? Float32Array + : Array; + function Co(t) { + return ( + (t[0] = 1), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = 1), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = 1), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + } + function Po(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], + f = e[8], + h = e[9], + p = e[10], + d = e[11], + v = e[12], + g = e[13], + y = e[14], + m = e[15], + x = r[0], + b = r[1], + _ = r[2], + w = r[3]; + return ( + (t[0] = x * n + b * s + _ * f + w * v), + (t[1] = x * i + b * l + _ * h + w * g), + (t[2] = x * a + b * u + _ * p + w * y), + (t[3] = x * o + b * c + _ * d + w * m), + (x = r[4]), + (b = r[5]), + (_ = r[6]), + (w = r[7]), + (t[4] = x * n + b * s + _ * f + w * v), + (t[5] = x * i + b * l + _ * h + w * g), + (t[6] = x * a + b * u + _ * p + w * y), + (t[7] = x * o + b * c + _ * d + w * m), + (x = r[8]), + (b = r[9]), + (_ = r[10]), + (w = r[11]), + (t[8] = x * n + b * s + _ * f + w * v), + (t[9] = x * i + b * l + _ * h + w * g), + (t[10] = x * a + b * u + _ * p + w * y), + (t[11] = x * o + b * c + _ * d + w * m), + (x = r[12]), + (b = r[13]), + (_ = r[14]), + (w = r[15]), + (t[12] = x * n + b * s + _ * f + w * v), + (t[13] = x * i + b * l + _ * h + w * g), + (t[14] = x * a + b * u + _ * p + w * y), + (t[15] = x * o + b * c + _ * d + w * m), + t + ); + } + Math.hypot || + (Math.hypot = function () { + for ( + var t = arguments, e = 0, r = arguments.length; + r--; + + ) + e += t[r] * t[r]; + return Math.sqrt(e); + }); + var Oo = Po; + var Io, + Do = function (t, e, r) { + return ( + (t[0] = e[0] - r[0]), + (t[1] = e[1] - r[1]), + (t[2] = e[2] - r[2]), + t + ); + }; + function zo(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 + ); + } + (Io = new Lo(3)), + Lo != Float32Array && + ((Io[0] = 0), (Io[1] = 0), (Io[2] = 0)), + (function () { + var t = new Lo(4); + Lo != Float32Array && + ((t[0] = 0), (t[1] = 0), (t[2] = 0), (t[3] = 0)); + })(); + var Ro = function (t) { + var e = t[0], + r = t[1]; + return e * e + r * r; + }, + Fo = + ((function () { + var t = new Lo(2); + Lo != Float32Array && ((t[0] = 0), (t[1] = 0)); + })(), + (function (t) { + function e(e) { + t.call(this, e, Eo); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.createBucket = function (t) { + return new fo(t); + }), + (e.prototype.queryRadius = function (t) { + var e = t; + return ( + ko("circle-radius", this, e) + + ko("circle-stroke-width", this, e) + + Ao(this.paint.get("circle-translate")) + ); + }), + (e.prototype.queryIntersectsFeature = function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + for ( + var l = Mo( + t, + this.paint.get("circle-translate"), + this.paint.get( + "circle-translate-anchor", + ), + a.angle, + o, + ), + u = + this.paint + .get("circle-radius") + .evaluate(e, r) + + this.paint + .get("circle-stroke-width") + .evaluate(e, r), + c = + "map" === + this.paint.get( + "circle-pitch-alignment", + ), + f = c + ? l + : (function (t, e) { + return t.map(function (t) { + return Bo(t, e); + }); + })(l, s), + h = c ? u * o : u, + p = 0, + d = n; + p < d.length; + p += 1 + ) + for ( + var v = 0, g = d[p]; + v < g.length; + v += 1 + ) { + var y = g[v], + m = c ? y : Bo(y, s), + x = h, + b = zo([], [y.x, y.y, 0, 1], s); + if ( + ("viewport" === + this.paint.get( + "circle-pitch-scale", + ) && + "map" === + this.paint.get( + "circle-pitch-alignment", + ) + ? (x *= + b[3] / a.cameraToCenterDistance) + : "map" === + this.paint.get( + "circle-pitch-scale", + ) && + "viewport" === + this.paint.get( + "circle-pitch-alignment", + ) && + (x *= + a.cameraToCenterDistance / b[3]), + po(f, m, x)) + ) + return !0; + } + return !1; + }), + e + ); + })(Hi)); + function Bo(t, e) { + var r = zo([], [t.x, t.y, 0, 1], e); + return new a(r[0] / r[3], r[1] / r[3]); + } + var No = (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 + ); + })(fo); + function jo(t, e, r, n) { + var i = e.width, + a = e.height; + if (n) { + if (n instanceof Uint8ClampedArray) + n = new Uint8Array(n.buffer); + else 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 Uo(t, e, r) { + var n = e.width, + i = e.height; + if (n !== t.width || i !== t.height) { + var a = jo({}, { width: n, height: i }, r); + Vo( + t, + a, + { x: 0, y: 0 }, + { x: 0, y: 0 }, + { + width: Math.min(t.width, n), + height: Math.min(t.height, i), + }, + r, + ), + (t.width = n), + (t.height = i), + (t.data = a.data); + } + } + function Vo(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, + f = 0; + f < i.width * a; + f++ + ) + s[c + f] = o[u + f]; + return e; + } + Qn("HeatmapBucket", No, { omit: ["layers"] }); + var Ho = function (t, e) { + jo(this, t, 1, e); + }; + (Ho.prototype.resize = function (t) { + Uo(this, t, 1); + }), + (Ho.prototype.clone = function () { + return new Ho( + { width: this.width, height: this.height }, + new Uint8Array(this.data), + ); + }), + (Ho.copy = function (t, e, r, n, i) { + Vo(t, e, r, n, i, 1); + }); + var qo = function (t, e) { + jo(this, t, 4, e); + }; + (qo.prototype.resize = function (t) { + Uo(this, t, 4); + }), + (qo.prototype.replace = function (t, e) { + e + ? this.data.set(t) + : t instanceof Uint8ClampedArray + ? (this.data = new Uint8Array(t.buffer)) + : (this.data = t); + }), + (qo.prototype.clone = function () { + return new qo( + { width: this.width, height: this.height }, + new Uint8Array(this.data), + ); + }), + (qo.copy = function (t, e, r, n, i) { + Vo(t, e, r, n, i, 4); + }), + Qn("AlphaImage", Ho), + Qn("RGBAImage", qo); + var Go = { + paint: new Ui({ + "heatmap-radius": new Fi( + It.paint_heatmap["heatmap-radius"], + ), + "heatmap-weight": new Fi( + It.paint_heatmap["heatmap-weight"], + ), + "heatmap-intensity": new Ri( + It.paint_heatmap["heatmap-intensity"], + ), + "heatmap-color": new ji( + It.paint_heatmap["heatmap-color"], + ), + "heatmap-opacity": new Ri( + It.paint_heatmap["heatmap-opacity"], + ), + }), + }; + function Zo(t, e) { + for ( + var r = new Uint8Array(1024), n = {}, i = 0, a = 0; + i < 256; + i++, a += 4 + ) { + n[e] = i / 255; + var o = t.evaluate(n); + (r[a + 0] = Math.floor((255 * o.r) / o.a)), + (r[a + 1] = Math.floor((255 * o.g) / o.a)), + (r[a + 2] = Math.floor((255 * o.b) / o.a)), + (r[a + 3] = Math.floor(255 * o.a)); + } + return new qo({ width: 256, height: 1 }, r); + } + var Yo = (function (t) { + function e(e) { + t.call(this, e, Go), 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 No(t); + }), + (e.prototype._handleSpecialPaintPropertyUpdate = + function (t) { + "heatmap-color" === t && + this._updateColorRamp(); + }), + (e.prototype._updateColorRamp = function () { + var t = + this._transitionablePaint._values[ + "heatmap-color" + ].value.expression; + (this.colorRamp = Zo(t, "heatmapDensity")), + (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 + ); + })(Hi), + Wo = { + paint: new Ui({ + "hillshade-illumination-direction": new Ri( + It.paint_hillshade[ + "hillshade-illumination-direction" + ], + ), + "hillshade-illumination-anchor": new Ri( + It.paint_hillshade[ + "hillshade-illumination-anchor" + ], + ), + "hillshade-exaggeration": new Ri( + It.paint_hillshade["hillshade-exaggeration"], + ), + "hillshade-shadow-color": new Ri( + It.paint_hillshade["hillshade-shadow-color"], + ), + "hillshade-highlight-color": new Ri( + It.paint_hillshade["hillshade-highlight-color"], + ), + "hillshade-accent-color": new Ri( + It.paint_hillshade["hillshade-accent-color"], + ), + }), + }, + Xo = (function (t) { + function e(e) { + t.call(this, e, Wo); + } + 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 + ); + })(Hi), + Jo = Yi( + [{ name: "a_pos", components: 2, type: "Int16" }], + 4, + ).members, + Ko = Qo, + $o = Qo; + function Qo(t, e, r) { + r = r || 2; + var n, + i, + a, + o, + s, + l, + u, + c = e && e.length, + f = c ? e[0] * r : t.length, + h = ts(t, 0, f, r, !0), + p = []; + if (!h || h.next === h.prev) return p; + if ( + (c && + (h = (function (t, e, r, n) { + var i, + a, + o, + s = []; + for (i = 0, a = e.length; i < a; i++) + (o = ts( + t, + e[i] * n, + i < a - 1 ? e[i + 1] * n : t.length, + n, + !1, + )) === o.next && (o.steiner = !0), + s.push(fs(o)); + for (s.sort(ss), i = 0; i < s.length; i++) + ls(s[i], r), (r = es(r, r.next)); + return r; + })(t, e, h, r)), + t.length > 80 * r) + ) { + (n = a = t[0]), (i = o = t[1]); + for (var d = r; d < f; d += r) + (s = t[d]) < n && (n = s), + (l = t[d + 1]) < i && (i = l), + s > a && (a = s), + l > o && (o = l); + u = 0 !== (u = Math.max(a - n, o - i)) ? 1 / u : 0; + } + return rs(h, p, r, n, i, u), p; + } + function ts(t, e, r, n, i) { + var a, o; + if (i === ks(t, e, r, n) > 0) + for (a = e; a < r; a += n) + o = _s(a, t[a], t[a + 1], o); + else + for (a = r - n; a >= e; a -= n) + o = _s(a, t[a], t[a + 1], o); + return o && vs(o, o.next) && (ws(o), (o = o.next)), o; + } + function es(t, e) { + if (!t) return t; + e || (e = t); + var r, + n = t; + do { + if ( + ((r = !1), + n.steiner || + (!vs(n, n.next) && 0 !== ds(n.prev, n, n.next))) + ) + n = n.next; + else { + if ((ws(n), (n = e = n.prev) === n.next)) break; + r = !0; + } + } while (r || n !== e); + return e; + } + function rs(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 = cs(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 ? is(t, n, i, a) : ns(t)) + ) + e.push(s.i / r), + e.push(t.i / r), + e.push(l.i / r), + ws(t), + (t = l.next), + (u = l.next); + else if ((t = l) === u) { + o + ? 1 === o + ? rs( + (t = as(es(t), e, r)), + e, + r, + n, + i, + a, + 2, + ) + : 2 === o && os(t, e, r, n, i, a) + : rs(es(t), e, r, n, i, a, 1); + break; + } + } + } + function ns(t) { + var e = t.prev, + r = t, + n = t.next; + if (ds(e, r, n) >= 0) return !1; + for (var i = t.next.next; i !== t.prev; ) { + if ( + hs(e.x, e.y, r.x, r.y, n.x, n.y, i.x, i.y) && + ds(i.prev, i, i.next) >= 0 + ) + return !1; + i = i.next; + } + return !0; + } + function is(t, e, r, n) { + var i = t.prev, + a = t, + o = t.next; + if (ds(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, + f = cs(s, l, e, r, n), + h = cs(u, c, e, r, n), + p = t.prevZ, + d = t.nextZ; + p && p.z >= f && d && d.z <= h; + + ) { + if ( + p !== t.prev && + p !== t.next && + hs(i.x, i.y, a.x, a.y, o.x, o.y, p.x, p.y) && + ds(p.prev, p, p.next) >= 0 + ) + return !1; + if ( + ((p = p.prevZ), + d !== t.prev && + d !== t.next && + hs(i.x, i.y, a.x, a.y, o.x, o.y, d.x, d.y) && + ds(d.prev, d, d.next) >= 0) + ) + return !1; + d = d.nextZ; + } + for (; p && p.z >= f; ) { + if ( + p !== t.prev && + p !== t.next && + hs(i.x, i.y, a.x, a.y, o.x, o.y, p.x, p.y) && + ds(p.prev, p, p.next) >= 0 + ) + return !1; + p = p.prevZ; + } + for (; d && d.z <= h; ) { + if ( + d !== t.prev && + d !== t.next && + hs(i.x, i.y, a.x, a.y, o.x, o.y, d.x, d.y) && + ds(d.prev, d, d.next) >= 0 + ) + return !1; + d = d.nextZ; + } + return !0; + } + function as(t, e, r) { + var n = t; + do { + var i = n.prev, + a = n.next.next; + !vs(i, a) && + gs(i, n, n.next, a) && + xs(i, a) && + xs(a, i) && + (e.push(i.i / r), + e.push(n.i / r), + e.push(a.i / r), + ws(n), + ws(n.next), + (n = t = a)), + (n = n.next); + } while (n !== t); + return es(n); + } + function os(t, e, r, n, i, a) { + var o = t; + do { + for (var s = o.next.next; s !== o.prev; ) { + if (o.i !== s.i && ps(o, s)) { + var l = bs(o, s); + return ( + (o = es(o, o.next)), + (l = es(l, l.next)), + rs(o, e, r, n, i, a), + void rs(l, e, r, n, i, a) + ); + } + s = s.next; + } + o = o.next; + } while (o !== t); + } + function ss(t, e) { + return t.x - e.x; + } + function ls(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; + var l, + u = r, + c = r.x, + f = r.y, + h = 1 / 0; + n = r; + do { + i >= n.x && + n.x >= c && + i !== n.x && + hs( + a < f ? i : o, + a, + c, + f, + a < f ? o : i, + a, + n.x, + n.y, + ) && + ((l = Math.abs(a - n.y) / (i - n.x)), + xs(n, t) && + (l < h || + (l === h && + (n.x > r.x || + (n.x === r.x && us(r, n))))) && + ((r = n), (h = l))), + (n = n.next); + } while (n !== u); + return r; + })(t, e)) + ) { + var r = bs(e, t); + es(e, e.next), es(r, r.next); + } + } + function us(t, e) { + return ( + ds(t.prev, t, e.prev) < 0 && + ds(e.next, t, t.next) < 0 + ); + } + function cs(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 fs(t) { + var e = t, + r = t; + do { + (e.x < r.x || (e.x === r.x && e.y < r.y)) && + (r = e), + (e = e.next); + } while (e !== t); + return r; + } + function hs(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 ps(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 && + gs(r, r.next, t, e) + ) + return !0; + r = r.next; + } while (r !== t); + return !1; + })(t, e) && + ((xs(t, e) && + xs(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) && + (ds(t.prev, t, e.prev) || ds(t, e.prev, e))) || + (vs(t, e) && + ds(t.prev, t, t.next) > 0 && + ds(e.prev, e, e.next) > 0)) + ); + } + function ds(t, e, r) { + return ( + (e.y - t.y) * (r.x - e.x) - + (e.x - t.x) * (r.y - e.y) + ); + } + function vs(t, e) { + return t.x === e.x && t.y === e.y; + } + function gs(t, e, r, n) { + var i = ms(ds(t, e, r)), + a = ms(ds(t, e, n)), + o = ms(ds(r, n, t)), + s = ms(ds(r, n, e)); + return ( + (i !== a && o !== s) || + !(0 !== i || !ys(t, r, e)) || + !(0 !== a || !ys(t, n, e)) || + !(0 !== o || !ys(r, t, n)) || + !(0 !== s || !ys(r, e, n)) + ); + } + function ys(t, e, r) { + return ( + e.x <= Math.max(t.x, r.x) && + e.x >= Math.min(t.x, r.x) && + e.y <= Math.max(t.y, r.y) && + e.y >= Math.min(t.y, r.y) + ); + } + function ms(t) { + return t > 0 ? 1 : t < 0 ? -1 : 0; + } + function xs(t, e) { + return ds(t.prev, t, t.next) < 0 + ? ds(t, e, t.next) >= 0 && ds(t, t.prev, e) >= 0 + : ds(t, e, t.prev) < 0 || ds(t, t.next, e) < 0; + } + function bs(t, e) { + var r = new Ts(t.i, t.x, t.y), + n = new Ts(e.i, e.x, e.y), + i = t.next, + a = e.prev; + return ( + (t.next = e), + (e.prev = t), + (r.next = i), + (i.prev = r), + (n.next = r), + (r.prev = n), + (a.next = n), + (n.prev = a), + n + ); + } + function _s(t, e, r, n) { + var i = new Ts(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 ws(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 Ts(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 ks(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; + } + function As(t, e, r, n, i) { + Ms(t, e, r || 0, n || t.length - 1, i || Es); + } + function Ms(t, e, r, n, i) { + for (; n > r; ) { + if (n - r > 600) { + var a = n - r + 1, + o = e - r + 1, + s = Math.log(a), + l = 0.5 * Math.exp((2 * s) / 3), + u = + 0.5 * + Math.sqrt((s * l * (a - l)) / a) * + (o - a / 2 < 0 ? -1 : 1); + Ms( + t, + e, + Math.max(r, Math.floor(e - (o * l) / a + u)), + Math.min( + n, + Math.floor(e + ((a - o) * l) / a + u), + ), + i, + ); + } + var c = t[e], + f = r, + h = n; + for ( + Ss(t, r, e), i(t[n], c) > 0 && Ss(t, r, n); + f < h; + + ) { + for (Ss(t, f, h), f++, h--; i(t[f], c) < 0; ) f++; + for (; i(t[h], c) > 0; ) h--; + } + 0 === i(t[r], c) ? Ss(t, r, h) : Ss(t, ++h, n), + h <= e && (r = h + 1), + e <= h && (n = h - 1); + } + } + function Ss(t, e, r) { + var n = t[e]; + (t[e] = t[r]), (t[r] = n); + } + function Es(t, e) { + return t < e ? -1 : t > e ? 1 : 0; + } + function Ls(t, e) { + var r = t.length; + if (r <= 1) return [t]; + for (var n, i, a = [], o = 0; o < r; o++) { + var s = k(t[o]); + 0 !== s && + ((t[o].area = Math.abs(s)), + void 0 === i && (i = s < 0), + i === s < 0 + ? (n && a.push(n), (n = [t[o]])) + : n.push(t[o])); + } + if ((n && a.push(n), e > 1)) + for (var l = 0; l < a.length; l++) + a[l].length <= e || + (As(a[l], e, 1, a[l].length - 1, Cs), + (a[l] = a[l].slice(0, e))); + return a; + } + function Cs(t, e) { + return e.area - t.area; + } + function Ps(t, e, r) { + for ( + var n = r.patternDependencies, i = !1, a = 0, o = e; + a < o.length; + a += 1 + ) { + var s = o[a].paint.get(t + "-pattern"); + s.isConstant() || (i = !0); + var l = s.constantOr(null); + l && ((i = !0), (n[l.to] = !0), (n[l.from] = !0)); + } + return i; + } + function Os(t, e, r, n, i) { + for ( + var a = i.patternDependencies, o = 0, s = e; + o < s.length; + o += 1 + ) { + var l = s[o], + u = l.paint.get(t + "-pattern").value; + if ("constant" !== u.kind) { + var c = u.evaluate( + { zoom: n - 1 }, + r, + {}, + i.availableImages, + ), + f = u.evaluate( + { zoom: n }, + r, + {}, + i.availableImages, + ), + h = u.evaluate( + { zoom: n + 1 }, + r, + {}, + i.availableImages, + ); + (c = c && c.name ? c.name : c), + (f = f && f.name ? f.name : f), + (h = h && h.name ? h.name : h), + (a[c] = !0), + (a[f] = !0), + (a[h] = !0), + (r.patterns[l.id] = { min: c, mid: f, max: h }); + } + } + return r; + } + (Qo.deviation = function (t, e, r, n) { + var i = e && e.length, + a = i ? e[0] * r : t.length, + o = Math.abs(ks(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(ks(t, u, c, r)); + } + var f = 0; + for (s = 0; s < n.length; s += 3) { + var h = n[s] * r, + p = n[s + 1] * r, + d = n[s + 2] * r; + f += Math.abs( + (t[h] - t[d]) * (t[p + 1] - t[h + 1]) - + (t[h] - t[p]) * (t[d + 1] - t[h + 1]), + ); + } + return 0 === o && 0 === f ? 0 : Math.abs((f - o) / o); + }), + (Qo.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; + }), + (Ko.default = $o); + var Is = 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.hasPattern = !1), + (this.patternFeatures = []), + (this.layoutVertexArray = new Xi()), + (this.indexArray = new sa()), + (this.indexArray2 = new pa()), + (this.programConfigurations = new no( + Jo, + t.layers, + t.zoom, + )), + (this.segments = new Ea()), + (this.segments2 = new Ea()), + (this.stateDependentLayerIds = this.layers + .filter(function (t) { + return t.isStateDependent(); + }) + .map(function (t) { + return t.id; + })); + }; + (Is.prototype.populate = function (t, e, r) { + this.hasPattern = Ps("fill", this.layers, e); + for ( + var n = this.layers[0].layout.get("fill-sort-key"), + i = [], + a = 0, + o = t; + a < o.length; + a += 1 + ) { + var s = o[a], + l = s.feature, + u = s.id, + c = s.index, + f = s.sourceLayerIndex, + h = this.layers[0]._featureFilter.needGeometry, + p = { + type: l.type, + id: u, + properties: l.properties, + geometry: h ? uo(l) : [], + }; + if ( + this.layers[0]._featureFilter.filter( + new Si(this.zoom), + p, + r, + ) + ) { + h || (p.geometry = uo(l)); + var d = n + ? n.evaluate(p, {}, r, e.availableImages) + : void 0, + v = { + id: u, + properties: l.properties, + type: l.type, + sourceLayerIndex: f, + index: c, + geometry: p.geometry, + patterns: {}, + sortKey: d, + }; + i.push(v); + } + } + n && + i.sort(function (t, e) { + return t.sortKey - e.sortKey; + }); + for (var g = 0, y = i; g < y.length; g += 1) { + var m = y[g], + x = m, + b = x.geometry, + _ = x.index, + w = x.sourceLayerIndex; + if (this.hasPattern) { + var T = Os("fill", this.layers, m, this.zoom, e); + this.patternFeatures.push(T); + } else this.addFeature(m, b, _, r, {}); + var k = t[_].feature; + e.featureIndex.insert(k, b, _, w, this.index); + } + }), + (Is.prototype.update = function (t, e, r) { + this.stateDependentLayers.length && + this.programConfigurations.updatePaintArrays( + t, + e, + this.stateDependentLayers, + r, + ); + }), + (Is.prototype.addFeatures = function (t, e, r) { + for ( + var n = 0, i = this.patternFeatures; + n < i.length; + n += 1 + ) { + var a = i[n]; + this.addFeature(a, a.geometry, a.index, e, r); + } + }), + (Is.prototype.isEmpty = function () { + return 0 === this.layoutVertexArray.length; + }), + (Is.prototype.uploadPending = function () { + return ( + !this.uploaded || + this.programConfigurations.needsUpload + ); + }), + (Is.prototype.upload = function (t) { + this.uploaded || + ((this.layoutVertexBuffer = t.createVertexBuffer( + this.layoutVertexArray, + Jo, + )), + (this.indexBuffer = t.createIndexBuffer( + this.indexArray, + )), + (this.indexBuffer2 = t.createIndexBuffer( + this.indexArray2, + ))), + this.programConfigurations.upload(t), + (this.uploaded = !0); + }), + (Is.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.indexBuffer2.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy(), + this.segments2.destroy()); + }), + (Is.prototype.addFeature = function (t, e, r, n, i) { + for ( + var a = 0, o = Ls(e, 500); + a < o.length; + a += 1 + ) { + for ( + var s = o[a], l = 0, u = 0, c = s; + u < c.length; + u += 1 + ) + l += c[u].length; + for ( + var f = this.segments.prepareSegment( + l, + this.layoutVertexArray, + this.indexArray, + ), + h = f.vertexLength, + p = [], + d = [], + v = 0, + g = s; + v < g.length; + v += 1 + ) { + var y = g[v]; + if (0 !== y.length) { + y !== s[0] && d.push(p.length / 2); + var m = this.segments2.prepareSegment( + y.length, + this.layoutVertexArray, + this.indexArray2, + ), + x = m.vertexLength; + this.layoutVertexArray.emplaceBack( + y[0].x, + y[0].y, + ), + this.indexArray2.emplaceBack( + x + y.length - 1, + x, + ), + p.push(y[0].x), + p.push(y[0].y); + for (var b = 1; b < y.length; b++) + this.layoutVertexArray.emplaceBack( + y[b].x, + y[b].y, + ), + this.indexArray2.emplaceBack( + x + b - 1, + x + b, + ), + p.push(y[b].x), + p.push(y[b].y); + (m.vertexLength += y.length), + (m.primitiveLength += y.length); + } + } + for ( + var _ = Ko(p, d), w = 0; + w < _.length; + w += 3 + ) + this.indexArray.emplaceBack( + h + _[w], + h + _[w + 1], + h + _[w + 2], + ); + (f.vertexLength += l), + (f.primitiveLength += _.length / 3); + } + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + t, + r, + i, + n, + ); + }), + Qn("FillBucket", Is, { + omit: ["layers", "patternFeatures"], + }); + var Ds = new Ui({ + "fill-sort-key": new Fi( + It.layout_fill["fill-sort-key"], + ), + }), + zs = { + paint: new Ui({ + "fill-antialias": new Ri( + It.paint_fill["fill-antialias"], + ), + "fill-opacity": new Fi( + It.paint_fill["fill-opacity"], + ), + "fill-color": new Fi(It.paint_fill["fill-color"]), + "fill-outline-color": new Fi( + It.paint_fill["fill-outline-color"], + ), + "fill-translate": new Ri( + It.paint_fill["fill-translate"], + ), + "fill-translate-anchor": new Ri( + It.paint_fill["fill-translate-anchor"], + ), + "fill-pattern": new Bi( + It.paint_fill["fill-pattern"], + ), + }), + layout: Ds, + }, + Rs = (function (t) { + function e(e) { + t.call(this, e, zs); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.recalculate = function (e, r) { + t.prototype.recalculate.call(this, e, r); + var n = + this.paint._values["fill-outline-color"]; + "constant" === n.value.kind && + void 0 === n.value.value && + (this.paint._values["fill-outline-color"] = + this.paint._values["fill-color"]); + }), + (e.prototype.createBucket = function (t) { + return new Is(t); + }), + (e.prototype.queryRadius = function () { + return Ao(this.paint.get("fill-translate")); + }), + (e.prototype.queryIntersectsFeature = function ( + t, + e, + r, + n, + i, + a, + o, + ) { + return vo( + Mo( + t, + this.paint.get("fill-translate"), + this.paint.get("fill-translate-anchor"), + a.angle, + o, + ), + n, + ); + }), + (e.prototype.isTileClipped = function () { + return !0; + }), + e + ); + })(Hi), + Fs = Yi( + [ + { name: "a_pos", components: 2, type: "Int16" }, + { + name: "a_normal_ed", + components: 4, + type: "Int16", + }, + ], + 4, + ).members, + Bs = Ns; + function Ns(t, e, r, n, i) { + (this.properties = {}), + (this.extent = r), + (this.type = 0), + (this._pbf = t), + (this._geometry = -1), + (this._keys = n), + (this._values = i), + t.readFields(js, this, e); + } + function js(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 Us(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; + } + (Ns.types = [ + "Unknown", + "Point", + "LineString", + "Polygon", + ]), + (Ns.prototype.loadGeometry = function () { + var t = this._pbf; + t.pos = this._geometry; + for ( + var e, + r = t.readVarint() + t.pos, + n = 1, + i = 0, + o = 0, + s = 0, + l = []; + t.pos < r; + + ) { + if (i <= 0) { + var u = t.readVarint(); + (n = 7 & u), (i = u >> 3); + } + if ((i--, 1 === n || 2 === n)) + (o += t.readSVarint()), + (s += t.readSVarint()), + 1 === n && (e && l.push(e), (e = [])), + e.push(new a(o, s)); + else { + if (7 !== n) + throw new Error("unknown command " + n); + e && e.push(e[0].clone()); + } + } + return e && l.push(e), l; + }), + (Ns.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 <= 0) { + var c = t.readVarint(); + (r = 7 & c), (n = c >> 3); + } + if ((n--, 1 === r || 2 === r)) + (i += t.readSVarint()) < o && (o = i), + i > s && (s = i), + (a += t.readSVarint()) < l && (l = a), + a > u && (u = a); + else if (7 !== r) + throw new Error("unknown command " + r); + } + return [o, l, s, u]; + }), + (Ns.prototype.toGeoJSON = function (t, e, r) { + var n, + i, + a = this.extent * Math.pow(2, r), + o = this.extent * t, + s = this.extent * e, + l = this.loadGeometry(), + u = Ns.types[this.type]; + function c(t) { + for (var e = 0; e < t.length; e++) { + var r = t[e], + n = 180 - (360 * (r.y + s)) / a; + t[e] = [ + (360 * (r.x + o)) / a - 180, + (360 / Math.PI) * + Math.atan(Math.exp((n * Math.PI) / 180)) - + 90, + ]; + } + } + switch (this.type) { + case 1: + var f = []; + for (n = 0; n < l.length; n++) f[n] = l[n][0]; + c((l = f)); + break; + case 2: + for (n = 0; n < l.length; n++) c(l[n]); + break; + case 3: + for ( + l = (function (t) { + var e = t.length; + if (e <= 1) return [t]; + for (var r, n, i = [], a = 0; a < e; a++) { + var o = Us(t[a]); + 0 !== o && + (void 0 === n && (n = o < 0), + n === o < 0 + ? (r && i.push(r), (r = [t[a]])) + : r.push(t[a])); + } + return r && i.push(r), i; + })(l), + n = 0; + n < l.length; + n++ + ) + for (i = 0; i < l[n].length; i++) c(l[n][i]); + } + 1 === l.length ? (l = l[0]) : (u = "Multi" + u); + var h = { + type: "Feature", + geometry: { type: u, coordinates: l }, + properties: this.properties, + }; + return "id" in this && (h.id = this.id), h; + }); + var Vs = Hs; + function Hs(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(qs, this, e), + (this.length = this._features.length); + } + function qs(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), + ); + } + function Gs(t, e, r) { + if (3 === t) { + var n = new Vs(r, r.readVarint() + r.pos); + n.length && (e[n.name] = n); + } + } + Hs.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 Bs( + this._pbf, + e, + this.extent, + this._keys, + this._values, + ); + }; + var Zs = { + VectorTile: function (t, e) { + this.layers = t.readFields(Gs, {}, e); + }, + VectorTileFeature: Bs, + VectorTileLayer: Vs, + }, + Ys = Zs.VectorTileFeature.types, + Ws = Math.pow(2, 13); + function Xs(t, e, r, n, i, a, o, s) { + t.emplaceBack( + e, + r, + 2 * Math.floor(n * Ws) + o, + i * Ws * 2, + a * Ws * 2, + Math.round(s), + ); + } + var Js = 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.hasPattern = !1), + (this.layoutVertexArray = new Ki()), + (this.indexArray = new sa()), + (this.programConfigurations = new no( + Fs, + t.layers, + t.zoom, + )), + (this.segments = new Ea()), + (this.stateDependentLayerIds = this.layers + .filter(function (t) { + return t.isStateDependent(); + }) + .map(function (t) { + return t.id; + })); + }; + function Ks(t, e) { + return ( + (t.x === e.x && (t.x < 0 || t.x > oo)) || + (t.y === e.y && (t.y < 0 || t.y > oo)) + ); + } + (Js.prototype.populate = function (t, e, r) { + (this.features = []), + (this.hasPattern = Ps( + "fill-extrusion", + this.layers, + e, + )); + for (var n = 0, i = t; n < i.length; n += 1) { + var a = i[n], + o = a.feature, + s = a.id, + l = a.index, + u = a.sourceLayerIndex, + c = this.layers[0]._featureFilter.needGeometry, + f = { + type: o.type, + id: s, + properties: o.properties, + geometry: c ? uo(o) : [], + }; + if ( + this.layers[0]._featureFilter.filter( + new Si(this.zoom), + f, + r, + ) + ) { + var h = { + id: s, + sourceLayerIndex: u, + index: l, + geometry: c ? f.geometry : uo(o), + properties: o.properties, + type: o.type, + patterns: {}, + }; + void 0 !== o.id && (h.id = o.id), + this.hasPattern + ? this.features.push( + Os( + "fill-extrusion", + this.layers, + h, + this.zoom, + e, + ), + ) + : this.addFeature(h, h.geometry, l, r, {}), + e.featureIndex.insert( + o, + h.geometry, + l, + u, + this.index, + !0, + ); + } + } + }), + (Js.prototype.addFeatures = function (t, e, r) { + for ( + var n = 0, i = this.features; + n < i.length; + n += 1 + ) { + var a = i[n], + o = a.geometry; + this.addFeature(a, o, a.index, e, r); + } + }), + (Js.prototype.update = function (t, e, r) { + this.stateDependentLayers.length && + this.programConfigurations.updatePaintArrays( + t, + e, + this.stateDependentLayers, + r, + ); + }), + (Js.prototype.isEmpty = function () { + return 0 === this.layoutVertexArray.length; + }), + (Js.prototype.uploadPending = function () { + return ( + !this.uploaded || + this.programConfigurations.needsUpload + ); + }), + (Js.prototype.upload = function (t) { + this.uploaded || + ((this.layoutVertexBuffer = t.createVertexBuffer( + this.layoutVertexArray, + Fs, + )), + (this.indexBuffer = t.createIndexBuffer( + this.indexArray, + ))), + this.programConfigurations.upload(t), + (this.uploaded = !0); + }), + (Js.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy()); + }), + (Js.prototype.addFeature = function (t, e, r, n, i) { + for ( + var a = 0, o = Ls(e, 500); + a < o.length; + a += 1 + ) { + for ( + var s = o[a], l = 0, u = 0, c = s; + u < c.length; + u += 1 + ) + l += c[u].length; + for ( + var f = this.segments.prepareSegment( + 4, + this.layoutVertexArray, + this.indexArray, + ), + h = 0, + p = s; + h < p.length; + h += 1 + ) { + var d = p[h]; + if ( + 0 !== d.length && + !( + (O = d).every(function (t) { + return t.x < 0; + }) || + O.every(function (t) { + return t.x > oo; + }) || + O.every(function (t) { + return t.y < 0; + }) || + O.every(function (t) { + return t.y > oo; + }) + ) + ) + for (var v = 0, g = 0; g < d.length; g++) { + var y = d[g]; + if (g >= 1) { + var m = d[g - 1]; + if (!Ks(y, m)) { + f.vertexLength + 4 > + Ea.MAX_VERTEX_ARRAY_LENGTH && + (f = this.segments.prepareSegment( + 4, + this.layoutVertexArray, + this.indexArray, + )); + var x = y.sub(m)._perp()._unit(), + b = m.dist(y); + v + b > 32768 && (v = 0), + Xs( + this.layoutVertexArray, + y.x, + y.y, + x.x, + x.y, + 0, + 0, + v, + ), + Xs( + this.layoutVertexArray, + y.x, + y.y, + x.x, + x.y, + 0, + 1, + v, + ), + (v += b), + Xs( + this.layoutVertexArray, + m.x, + m.y, + x.x, + x.y, + 0, + 0, + v, + ), + Xs( + this.layoutVertexArray, + m.x, + m.y, + x.x, + x.y, + 0, + 1, + v, + ); + var _ = f.vertexLength; + this.indexArray.emplaceBack( + _, + _ + 2, + _ + 1, + ), + this.indexArray.emplaceBack( + _ + 1, + _ + 2, + _ + 3, + ), + (f.vertexLength += 4), + (f.primitiveLength += 2); + } + } + } + } + if ( + (f.vertexLength + l > + Ea.MAX_VERTEX_ARRAY_LENGTH && + (f = this.segments.prepareSegment( + l, + this.layoutVertexArray, + this.indexArray, + )), + "Polygon" === Ys[t.type]) + ) { + for ( + var w = [], + T = [], + k = f.vertexLength, + A = 0, + M = s; + A < M.length; + A += 1 + ) { + var S = M[A]; + if (0 !== S.length) { + S !== s[0] && T.push(w.length / 2); + for (var E = 0; E < S.length; E++) { + var L = S[E]; + Xs( + this.layoutVertexArray, + L.x, + L.y, + 0, + 0, + 1, + 1, + 0, + ), + w.push(L.x), + w.push(L.y); + } + } + } + for ( + var C = Ko(w, T), P = 0; + P < C.length; + P += 3 + ) + this.indexArray.emplaceBack( + k + C[P], + k + C[P + 2], + k + C[P + 1], + ); + (f.primitiveLength += C.length / 3), + (f.vertexLength += l); + } + } + var O; + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + t, + r, + i, + n, + ); + }), + Qn("FillExtrusionBucket", Js, { + omit: ["layers", "features"], + }); + var $s = { + paint: new Ui({ + "fill-extrusion-opacity": new Ri( + It["paint_fill-extrusion"][ + "fill-extrusion-opacity" + ], + ), + "fill-extrusion-color": new Fi( + It["paint_fill-extrusion"][ + "fill-extrusion-color" + ], + ), + "fill-extrusion-translate": new Ri( + It["paint_fill-extrusion"][ + "fill-extrusion-translate" + ], + ), + "fill-extrusion-translate-anchor": new Ri( + It["paint_fill-extrusion"][ + "fill-extrusion-translate-anchor" + ], + ), + "fill-extrusion-pattern": new Bi( + It["paint_fill-extrusion"][ + "fill-extrusion-pattern" + ], + ), + "fill-extrusion-height": new Fi( + It["paint_fill-extrusion"][ + "fill-extrusion-height" + ], + ), + "fill-extrusion-base": new Fi( + It["paint_fill-extrusion"][ + "fill-extrusion-base" + ], + ), + "fill-extrusion-vertical-gradient": new Ri( + It["paint_fill-extrusion"][ + "fill-extrusion-vertical-gradient" + ], + ), + }), + }, + Qs = (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.createBucket = function (t) { + return new Js(t); + }), + (e.prototype.queryRadius = function () { + return Ao( + this.paint.get("fill-extrusion-translate"), + ); + }), + (e.prototype.is3D = function () { + return !0; + }), + (e.prototype.queryIntersectsFeature = function ( + t, + e, + r, + n, + i, + o, + s, + l, + ) { + var u = Mo( + t, + this.paint.get("fill-extrusion-translate"), + this.paint.get( + "fill-extrusion-translate-anchor", + ), + o.angle, + s, + ), + c = this.paint + .get("fill-extrusion-height") + .evaluate(e, r), + f = this.paint + .get("fill-extrusion-base") + .evaluate(e, r), + h = (function (t, e, r, n) { + for ( + var i = [], o = 0, s = t; + o < s.length; + o += 1 + ) { + var l = s[o], + u = [l.x, l.y, n, 1]; + zo(u, u, e), + i.push(new a(u[0] / u[3], u[1] / u[3])); + } + return i; + })(u, l, 0, 0), + p = (function (t, e, r, n) { + for ( + var i = [], + o = [], + s = n[8] * e, + l = n[9] * e, + u = n[10] * e, + c = n[11] * e, + f = n[8] * r, + h = n[9] * r, + p = n[10] * r, + d = n[11] * r, + v = 0, + g = t; + v < g.length; + v += 1 + ) { + for ( + var y = [], m = [], x = 0, b = g[v]; + x < b.length; + x += 1 + ) { + var _ = b[x], + w = _.x, + T = _.y, + k = n[0] * w + n[4] * T + n[12], + A = n[1] * w + n[5] * T + n[13], + M = n[2] * w + n[6] * T + n[14], + S = n[3] * w + n[7] * T + n[15], + E = M + u, + L = S + c, + C = k + f, + P = A + h, + O = M + p, + I = S + d, + D = new a((k + s) / L, (A + l) / L); + (D.z = E / L), y.push(D); + var z = new a(C / I, P / I); + (z.z = O / I), m.push(z); + } + i.push(y), o.push(m); + } + return [i, o]; + })(n, f, c, l); + return (function (t, e, r) { + var n = 1 / 0; + vo(r, e) && (n = el(r, e[0])); + for (var i = 0; i < e.length; i++) + for ( + var a = e[i], o = t[i], s = 0; + s < a.length - 1; + s++ + ) { + var l = a[s], + u = a[s + 1], + c = o[s], + f = [l, u, o[s + 1], c, l]; + ho(r, f) && (n = Math.min(n, el(r, f))); + } + return n !== 1 / 0 && n; + })(p[0], p[1], h); + }), + e + ); + })(Hi); + function tl(t, e) { + return t.x * e.x + t.y * e.y; + } + function el(t, e) { + if (1 === t.length) { + for (var r, n = 0, i = e[n++]; !r || i.equals(r); ) + if (!(r = e[n++])) return 1 / 0; + for (; n < e.length; n++) { + var a = e[n], + o = t[0], + s = r.sub(i), + l = a.sub(i), + u = o.sub(i), + c = tl(s, s), + f = tl(s, l), + h = tl(l, l), + p = tl(u, s), + d = tl(u, l), + v = c * h - f * f, + g = (h * p - f * d) / v, + y = (c * d - f * p) / v, + m = 1 - g - y, + x = i.z * m + r.z * g + a.z * y; + if (isFinite(x)) return x; + } + return 1 / 0; + } + for ( + var b = 1 / 0, _ = 0, w = e; + _ < w.length; + _ += 1 + ) { + var T = w[_]; + b = Math.min(b, T.z); + } + return b; + } + var rl = Yi( + [ + { + name: "a_pos_normal", + components: 2, + type: "Int16", + }, + { name: "a_data", components: 4, type: "Uint8" }, + ], + 4, + ).members, + nl = Zs.VectorTileFeature.types, + il = Math.cos((Math.PI / 180) * 37.5), + al = Math.pow(2, 14) / 0.5, + ol = 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.hasPattern = !1), + (this.patternFeatures = []), + (this.layoutVertexArray = new $i()), + (this.indexArray = new sa()), + (this.programConfigurations = new no( + rl, + t.layers, + t.zoom, + )), + (this.segments = new Ea()), + (this.stateDependentLayerIds = this.layers + .filter(function (t) { + return t.isStateDependent(); + }) + .map(function (t) { + return t.id; + })); + }; + (ol.prototype.populate = function (t, e, r) { + this.hasPattern = Ps("line", this.layers, e); + for ( + var n = this.layers[0].layout.get("line-sort-key"), + i = [], + a = 0, + o = t; + a < o.length; + a += 1 + ) { + var s = o[a], + l = s.feature, + u = s.id, + c = s.index, + f = s.sourceLayerIndex, + h = this.layers[0]._featureFilter.needGeometry, + p = { + type: l.type, + id: u, + properties: l.properties, + geometry: h ? uo(l) : [], + }; + if ( + this.layers[0]._featureFilter.filter( + new Si(this.zoom), + p, + r, + ) + ) { + h || (p.geometry = uo(l)); + var d = n ? n.evaluate(p, {}, r) : void 0, + v = { + id: u, + properties: l.properties, + type: l.type, + sourceLayerIndex: f, + index: c, + geometry: p.geometry, + patterns: {}, + sortKey: d, + }; + i.push(v); + } + } + n && + i.sort(function (t, e) { + return t.sortKey - e.sortKey; + }); + for (var g = 0, y = i; g < y.length; g += 1) { + var m = y[g], + x = m, + b = x.geometry, + _ = x.index, + w = x.sourceLayerIndex; + if (this.hasPattern) { + var T = Os("line", this.layers, m, this.zoom, e); + this.patternFeatures.push(T); + } else this.addFeature(m, b, _, r, {}); + var k = t[_].feature; + e.featureIndex.insert(k, b, _, w, this.index); + } + }), + (ol.prototype.update = function (t, e, r) { + this.stateDependentLayers.length && + this.programConfigurations.updatePaintArrays( + t, + e, + this.stateDependentLayers, + r, + ); + }), + (ol.prototype.addFeatures = function (t, e, r) { + for ( + var n = 0, i = this.patternFeatures; + n < i.length; + n += 1 + ) { + var a = i[n]; + this.addFeature(a, a.geometry, a.index, e, r); + } + }), + (ol.prototype.isEmpty = function () { + return 0 === this.layoutVertexArray.length; + }), + (ol.prototype.uploadPending = function () { + return ( + !this.uploaded || + this.programConfigurations.needsUpload + ); + }), + (ol.prototype.upload = function (t) { + this.uploaded || + ((this.layoutVertexBuffer = t.createVertexBuffer( + this.layoutVertexArray, + rl, + )), + (this.indexBuffer = t.createIndexBuffer( + this.indexArray, + ))), + this.programConfigurations.upload(t), + (this.uploaded = !0); + }), + (ol.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy()); + }), + (ol.prototype.addFeature = function (t, e, r, n, i) { + for ( + var a = this.layers[0].layout, + o = a.get("line-join").evaluate(t, {}), + s = a.get("line-cap"), + l = a.get("line-miter-limit"), + u = a.get("line-round-limit"), + c = 0, + f = e; + c < f.length; + c += 1 + ) { + var h = f[c]; + this.addLine(h, t, o, s, l, u); + } + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + t, + r, + i, + n, + ); + }), + (ol.prototype.addLine = function (t, e, r, n, i, a) { + if ( + ((this.distance = 0), + (this.scaledDistance = 0), + (this.totalDistance = 0), + e.properties && + e.properties.hasOwnProperty( + "mapbox_clip_start", + ) && + e.properties.hasOwnProperty("mapbox_clip_end")) + ) { + (this.clipStart = + +e.properties.mapbox_clip_start), + (this.clipEnd = +e.properties.mapbox_clip_end); + for (var o = 0; o < t.length - 1; o++) + this.totalDistance += t[o].dist(t[o + 1]); + this.updateScaledDistance(); + } + for ( + var s = "Polygon" === nl[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 c, + f = + this.overscaling <= 16 + ? 122880 / (512 * this.overscaling) + : 0, + h = this.segments.prepareSegment( + 10 * l, + this.layoutVertexArray, + this.indexArray, + ), + p = void 0, + d = void 0, + v = void 0, + g = void 0; + (this.e1 = this.e2 = -1), + s && + ((c = t[l - 2]), + (g = t[u].sub(c)._unit()._perp())); + for (var y = u; y < l; y++) + if ( + !(d = + y === l - 1 + ? s + ? t[u + 1] + : void 0 + : t[y + 1]) || + !t[y].equals(d) + ) { + g && (v = g), + c && (p = c), + (c = t[y]), + (g = d ? d.sub(c)._unit()._perp() : v); + var m = (v = v || g).add(g); + (0 === m.x && 0 === m.y) || m._unit(); + var x = v.x * g.x + v.y * g.y, + b = m.x * g.x + m.y * g.y, + _ = 0 !== b ? 1 / b : 1 / 0, + w = 2 * Math.sqrt(2 - 2 * b), + T = b < il && p && d, + k = v.x * g.y - v.y * g.x > 0; + if (T && y > u) { + var A = c.dist(p); + if (A > 2 * f) { + var M = c.sub( + c + .sub(p) + ._mult(f / A) + ._round(), + ); + this.updateDistance(p, M), + this.addCurrentVertex(M, v, 0, 0, h), + (p = M); + } + } + var S = p && d, + E = S ? r : s ? "butt" : n; + if ( + (S && + "round" === E && + (_ < a + ? (E = "miter") + : _ <= 2 && (E = "fakeround")), + "miter" === E && _ > i && (E = "bevel"), + "bevel" === E && + (_ > 2 && (E = "flipbevel"), + _ < i && (E = "miter")), + p && this.updateDistance(p, c), + "miter" === E) + ) + m._mult(_), + this.addCurrentVertex(c, m, 0, 0, h); + else if ("flipbevel" === E) { + if (_ > 100) m = g.mult(-1); + else { + var L = + (_ * v.add(g).mag()) / v.sub(g).mag(); + m._perp()._mult(L * (k ? -1 : 1)); + } + this.addCurrentVertex(c, m, 0, 0, h), + this.addCurrentVertex( + c, + m.mult(-1), + 0, + 0, + h, + ); + } else if ( + "bevel" === E || + "fakeround" === E + ) { + var C = -Math.sqrt(_ * _ - 1), + P = k ? C : 0, + O = k ? 0 : C; + if ( + (p && + this.addCurrentVertex(c, v, P, O, h), + "fakeround" === E) + ) + for ( + var I = Math.round( + (180 * w) / Math.PI / 20, + ), + D = 1; + D < I; + D++ + ) { + var z = D / I; + if (0.5 !== z) { + var R = z - 0.5; + z += + z * + R * + (z - 1) * + ((1.0904 + + x * + (x * (3.55645 - 1.43519 * x) - + 3.2452)) * + R * + R + + (0.848013 + + x * (0.215638 * x - 1.06021))); + } + var F = g + .sub(v) + ._mult(z) + ._add(v) + ._unit() + ._mult(k ? -1 : 1); + this.addHalfVertex( + c, + F.x, + F.y, + !1, + k, + 0, + h, + ); + } + d && this.addCurrentVertex(c, g, -P, -O, h); + } else if ("butt" === E) + this.addCurrentVertex(c, m, 0, 0, h); + else if ("square" === E) { + var B = p ? 1 : -1; + this.addCurrentVertex(c, m, B, B, h); + } else + "round" === E && + (p && + (this.addCurrentVertex(c, v, 0, 0, h), + this.addCurrentVertex( + c, + v, + 1, + 1, + h, + !0, + )), + d && + (this.addCurrentVertex( + c, + g, + -1, + -1, + h, + !0, + ), + this.addCurrentVertex(c, g, 0, 0, h))); + if (T && y < l - 1) { + var N = c.dist(d); + if (N > 2 * f) { + var j = c.add( + d + .sub(c) + ._mult(f / N) + ._round(), + ); + this.updateDistance(c, j), + this.addCurrentVertex(j, g, 0, 0, h), + (c = j); + } + } + } + } + }), + (ol.prototype.addCurrentVertex = function ( + t, + e, + r, + n, + i, + a, + ) { + void 0 === a && (a = !1); + var o = e.x + e.y * r, + s = e.y - e.x * r, + l = -e.x + e.y * n, + u = -e.y - e.x * n; + this.addHalfVertex(t, o, s, a, !1, r, i), + this.addHalfVertex(t, l, u, a, !0, -n, i), + this.distance > al / 2 && + 0 === this.totalDistance && + ((this.distance = 0), + this.addCurrentVertex(t, e, r, n, i, a)); + }), + (ol.prototype.addHalfVertex = function ( + t, + e, + r, + n, + i, + a, + o, + ) { + var s = t.x, + l = t.y, + u = 0.5 * this.scaledDistance; + this.layoutVertexArray.emplaceBack( + (s << 1) + (n ? 1 : 0), + (l << 1) + (i ? 1 : 0), + Math.round(63 * e) + 128, + Math.round(63 * r) + 128, + (1 + (0 === a ? 0 : a < 0 ? -1 : 1)) | + ((63 & u) << 2), + u >> 6, + ); + var c = o.vertexLength++; + this.e1 >= 0 && + this.e2 >= 0 && + (this.indexArray.emplaceBack(this.e1, this.e2, c), + o.primitiveLength++), + i ? (this.e2 = c) : (this.e1 = c); + }), + (ol.prototype.updateScaledDistance = function () { + this.scaledDistance = + this.totalDistance > 0 + ? (this.clipStart + + ((this.clipEnd - this.clipStart) * + this.distance) / + this.totalDistance) * + (al - 1) + : this.distance; + }), + (ol.prototype.updateDistance = function (t, e) { + (this.distance += t.dist(e)), + this.updateScaledDistance(); + }), + Qn("LineBucket", ol, { + omit: ["layers", "patternFeatures"], + }); + var sl = new Ui({ + "line-cap": new Ri(It.layout_line["line-cap"]), + "line-join": new Fi(It.layout_line["line-join"]), + "line-miter-limit": new Ri( + It.layout_line["line-miter-limit"], + ), + "line-round-limit": new Ri( + It.layout_line["line-round-limit"], + ), + "line-sort-key": new Fi( + It.layout_line["line-sort-key"], + ), + }), + ll = { + paint: new Ui({ + "line-opacity": new Fi( + It.paint_line["line-opacity"], + ), + "line-color": new Fi(It.paint_line["line-color"]), + "line-translate": new Ri( + It.paint_line["line-translate"], + ), + "line-translate-anchor": new Ri( + It.paint_line["line-translate-anchor"], + ), + "line-width": new Fi(It.paint_line["line-width"]), + "line-gap-width": new Fi( + It.paint_line["line-gap-width"], + ), + "line-offset": new Fi( + It.paint_line["line-offset"], + ), + "line-blur": new Fi(It.paint_line["line-blur"]), + "line-dasharray": new Ni( + It.paint_line["line-dasharray"], + ), + "line-pattern": new Bi( + It.paint_line["line-pattern"], + ), + "line-gradient": new ji( + It.paint_line["line-gradient"], + ), + }), + layout: sl, + }, + ul = (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 Si(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, i) { + return ( + (r = f({}, r, { zoom: Math.floor(r.zoom) })), + t.prototype.evaluate.call(this, e, r, n, i) + ); + }), + e + ); + })(Fi), + cl = new ul( + ll.paint.properties["line-width"].specification, + ); + cl.useIntegerZoom = !0; + var fl = (function (t) { + function e(e) { + t.call(this, e, ll); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._handleSpecialPaintPropertyUpdate = + function (t) { + "line-gradient" === t && this._updateGradient(); + }), + (e.prototype._updateGradient = function () { + var t = + this._transitionablePaint._values[ + "line-gradient" + ].value.expression; + (this.gradient = Zo(t, "lineProgress")), + (this.gradientTexture = null); + }), + (e.prototype.recalculate = function (e, r) { + t.prototype.recalculate.call(this, e, r), + (this.paint._values["line-floorwidth"] = + cl.possiblyEvaluate( + this._transitioningPaint._values[ + "line-width" + ].value, + e, + )); + }), + (e.prototype.createBucket = function (t) { + return new ol(t); + }), + (e.prototype.queryRadius = function (t) { + var e = t, + r = hl( + ko("line-width", this, e), + ko("line-gap-width", this, e), + ), + n = ko("line-offset", this, e); + return ( + r / 2 + + Math.abs(n) + + Ao(this.paint.get("line-translate")) + ); + }), + (e.prototype.queryIntersectsFeature = function ( + t, + e, + r, + n, + i, + o, + s, + ) { + var l = Mo( + t, + this.paint.get("line-translate"), + this.paint.get("line-translate-anchor"), + o.angle, + s, + ), + u = + (s / 2) * + hl( + this.paint.get("line-width").evaluate(e, r), + this.paint + .get("line-gap-width") + .evaluate(e, r), + ), + c = this.paint + .get("line-offset") + .evaluate(e, r); + return ( + c && + (n = (function (t, e) { + for ( + var r = [], n = new a(0, 0), i = 0; + i < t.length; + i++ + ) { + for ( + var o = t[i], s = [], l = 0; + l < o.length; + l++ + ) { + var u = o[l - 1], + c = o[l], + f = o[l + 1], + h = + 0 === l + ? n + : c.sub(u)._unit()._perp(), + p = + l === o.length - 1 + ? n + : f.sub(c)._unit()._perp(), + d = h._add(p)._unit(), + v = d.x * p.x + d.y * p.y; + d._mult(1 / v), + s.push(d._mult(e)._add(c)); + } + r.push(s); + } + return r; + })(n, c * s)), + (function (t, e, r) { + for (var n = 0; n < e.length; n++) { + var i = e[n]; + if (t.length >= 3) + for (var a = 0; a < i.length; a++) + if (wo(t, i[a])) return !0; + if (go(t, i, r)) return !0; + } + return !1; + })(l, n, u) + ); + }), + (e.prototype.isTileClipped = function () { + return !0; + }), + e + ); + })(Hi); + function hl(t, e) { + return e > 0 ? e + 2 * t : t; + } + var pl = Yi( + [ + { + name: "a_pos_offset", + components: 4, + type: "Int16", + }, + { name: "a_data", components: 4, type: "Uint16" }, + { + name: "a_pixeloffset", + components: 4, + type: "Int16", + }, + ], + 4, + ), + dl = Yi( + [ + { + name: "a_projected_pos", + components: 3, + type: "Float32", + }, + ], + 4, + ), + vl = + (Yi( + [ + { + name: "a_fade_opacity", + components: 1, + type: "Uint32", + }, + ], + 4, + ), + Yi([ + { + name: "a_placed", + components: 2, + type: "Uint8", + }, + { + name: "a_shift", + components: 2, + type: "Float32", + }, + ])), + gl = + (Yi([ + { 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" }, + ]), + Yi( + [ + { name: "a_pos", components: 2, type: "Int16" }, + { + name: "a_anchor_pos", + components: 2, + type: "Int16", + }, + { + name: "a_extrude", + components: 2, + type: "Int16", + }, + ], + 4, + )), + yl = Yi( + [ + { name: "a_pos", components: 2, type: "Float32" }, + { + name: "a_radius", + components: 1, + type: "Float32", + }, + { name: "a_flags", components: 2, type: "Int16" }, + ], + 4, + ); + function ml(t, e, r) { + return ( + t.sections.forEach(function (t) { + t.text = (function (t, e, r) { + var n = e.layout + .get("text-transform") + .evaluate(r, {}); + return ( + "uppercase" === n + ? (t = t.toLocaleUpperCase()) + : "lowercase" === n && + (t = t.toLocaleLowerCase()), + Mi.applyArabicShaping && + (t = Mi.applyArabicShaping(t)), + t + ); + })(t.text, e, r); + }), + t + ); + } + Yi([ + { name: "triangle", components: 3, type: "Uint16" }, + ]), + Yi([ + { 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: "placedOrientation" }, + { type: "Uint8", name: "hidden" }, + { type: "Uint32", name: "crossTileID" }, + { type: "Int16", name: "associatedIconIndex" }, + ]), + Yi([ + { type: "Int16", name: "anchorX" }, + { type: "Int16", name: "anchorY" }, + { + type: "Int16", + name: "rightJustifiedTextSymbolIndex", + }, + { + type: "Int16", + name: "centerJustifiedTextSymbolIndex", + }, + { + type: "Int16", + name: "leftJustifiedTextSymbolIndex", + }, + { + type: "Int16", + name: "verticalPlacedTextSymbolIndex", + }, + { type: "Int16", name: "placedIconSymbolIndex" }, + { + type: "Int16", + name: "verticalPlacedIconSymbolIndex", + }, + { type: "Uint16", name: "key" }, + { type: "Uint16", name: "textBoxStartIndex" }, + { type: "Uint16", name: "textBoxEndIndex" }, + { + type: "Uint16", + name: "verticalTextBoxStartIndex", + }, + { type: "Uint16", name: "verticalTextBoxEndIndex" }, + { type: "Uint16", name: "iconBoxStartIndex" }, + { type: "Uint16", name: "iconBoxEndIndex" }, + { + type: "Uint16", + name: "verticalIconBoxStartIndex", + }, + { type: "Uint16", name: "verticalIconBoxEndIndex" }, + { type: "Uint16", name: "featureIndex" }, + { + type: "Uint16", + name: "numHorizontalGlyphVertices", + }, + { + type: "Uint16", + name: "numVerticalGlyphVertices", + }, + { type: "Uint16", name: "numIconVertices" }, + { type: "Uint16", name: "numVerticalIconVertices" }, + { + type: "Uint16", + name: "useRuntimeCollisionCircles", + }, + { type: "Uint32", name: "crossTileID" }, + { type: "Float32", name: "textBoxScale" }, + { + type: "Float32", + components: 2, + name: "textOffset", + }, + { + type: "Float32", + name: "collisionCircleDiameter", + }, + ]), + Yi([{ type: "Float32", name: "offsetX" }]), + Yi([ + { type: "Int16", name: "x" }, + { type: "Int16", name: "y" }, + { + type: "Int16", + name: "tileUnitDistanceFromAnchor", + }, + ]); + var xl = { + "!": "︕", + "#": "#", + $: "$", + "%": "%", + "&": "&", + "(": "︵", + ")": "︶", + "*": "*", + "+": "+", + ",": "︐", + "-": "︲", + ".": "・", + "/": "/", + ":": "︓", + ";": "︔", + "<": "︿", + "=": "=", + ">": "﹀", + "?": "︖", + "@": "@", + "[": "﹇", + "\\": "\", + "]": "﹈", + "^": "^", + _: "︳", + "`": "`", + "{": "︷", + "|": "―", + "}": "︸", + "~": "~", + "¢": "¢", + "£": "£", + "¥": "¥", + "¦": "¦", + "¬": "¬", + "¯": " ̄", + "–": "︲", + "—": "︱", + "‘": "﹃", + "’": "﹄", + "“": "﹁", + "”": "﹂", + "…": "︙", + "‧": "・", + "₩": "₩", + "、": "︑", + "。": "︒", + "〈": "︿", + "〉": "﹀", + "《": "︽", + "》": "︾", + "「": "﹁", + "」": "﹂", + "『": "﹃", + "』": "﹄", + "【": "︻", + "】": "︼", + "〔": "︹", + "〕": "︺", + "〖": "︗", + "〗": "︘", + "!": "︕", + "(": "︵", + ")": "︶", + ",": "︐", + "-": "︲", + ".": "・", + ":": "︓", + ";": "︔", + "<": "︿", + ">": "﹀", + "?": "︖", + "[": "﹇", + "]": "﹈", + "_": "︳", + "{": "︷", + "|": "―", + "}": "︸", + "⦅": "︵", + "⦆": "︶", + "。": "︒", + "「": "﹁", + "」": "﹂", + }; + var bl = 24, + _l = function (t, e, r, n, i) { + var a, + o, + s = 8 * i - n - 1, + l = (1 << s) - 1, + u = l >> 1, + c = -7, + f = r ? i - 1 : 0, + h = r ? -1 : 1, + p = t[e + f]; + for ( + f += h, a = p & ((1 << -c) - 1), p >>= -c, c += s; + c > 0; + a = 256 * a + t[e + f], f += h, c -= 8 + ); + for ( + o = a & ((1 << -c) - 1), a >>= -c, c += n; + c > 0; + o = 256 * o + t[e + f], f += h, 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); + }, + wl = function (t, e, r, n, i, a) { + var o, + s, + l, + u = 8 * a - i - 1, + c = (1 << u) - 1, + f = c >> 1, + h = + 23 === i + ? Math.pow(2, -24) - Math.pow(2, -77) + : 0, + p = n ? 0 : a - 1, + d = n ? 1 : -1, + v = 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 + f >= 1 + ? h / l + : h * Math.pow(2, 1 - f)) * + l >= + 2 && (o++, (l /= 2)), + o + f >= c + ? ((s = 0), (o = c)) + : o + f >= 1 + ? ((s = (e * l - 1) * Math.pow(2, i)), + (o += f)) + : ((s = + e * + Math.pow(2, f - 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 * v; + }, + Tl = kl; + function kl(t) { + (this.buf = + ArrayBuffer.isView && ArrayBuffer.isView(t) + ? t + : new Uint8Array(t || 0)), + (this.pos = 0), + (this.type = 0), + (this.length = this.buf.length); + } + (kl.Varint = 0), + (kl.Fixed64 = 1), + (kl.Bytes = 2), + (kl.Fixed32 = 5); + var Al = 4294967296, + Ml = 1 / Al, + Sl = + "undefined" == typeof TextDecoder + ? null + : new TextDecoder("utf8"); + function El(t) { + return t.type === kl.Bytes + ? t.readVarint() + t.pos + : t.pos + 1; + } + function Ll(t, e, r) { + return r + ? 4294967296 * e + (t >>> 0) + : 4294967296 * (e >>> 0) + (t >>> 0); + } + function Cl(t, e, r) { + var n = + e <= 16383 + ? 1 + : e <= 2097151 + ? 2 + : e <= 268435455 + ? 3 + : Math.floor(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 Pl(t, e) { + for (var r = 0; r < t.length; r++) + e.writeVarint(t[r]); + } + function Ol(t, e) { + for (var r = 0; r < t.length; r++) + e.writeSVarint(t[r]); + } + function Il(t, e) { + for (var r = 0; r < t.length; r++) e.writeFloat(t[r]); + } + function Dl(t, e) { + for (var r = 0; r < t.length; r++) + e.writeDouble(t[r]); + } + function zl(t, e) { + for (var r = 0; r < t.length; r++) + e.writeBoolean(t[r]); + } + function Rl(t, e) { + for (var r = 0; r < t.length; r++) + e.writeFixed32(t[r]); + } + function Fl(t, e) { + for (var r = 0; r < t.length; r++) + e.writeSFixed32(t[r]); + } + function Bl(t, e) { + for (var r = 0; r < t.length; r++) + e.writeFixed64(t[r]); + } + function Nl(t, e) { + for (var r = 0; r < t.length; r++) + e.writeSFixed64(t[r]); + } + function jl(t, e) { + return ( + (t[e] | (t[e + 1] << 8) | (t[e + 2] << 16)) + + 16777216 * t[e + 3] + ); + } + function Ul(t, e, r) { + (t[r] = e), + (t[r + 1] = e >>> 8), + (t[r + 2] = e >>> 16), + (t[r + 3] = e >>> 24); + } + function Vl(t, e) { + return ( + (t[e] | (t[e + 1] << 8) | (t[e + 2] << 16)) + + (t[e + 3] << 24) + ); + } + kl.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 = jl(this.buf, this.pos); + return (this.pos += 4), t; + }, + readSFixed32: function () { + var t = Vl(this.buf, this.pos); + return (this.pos += 4), t; + }, + readFixed64: function () { + var t = + jl(this.buf, this.pos) + + jl(this.buf, this.pos + 4) * Al; + return (this.pos += 8), t; + }, + readSFixed64: function () { + var t = + jl(this.buf, this.pos) + + Vl(this.buf, this.pos + 4) * Al; + return (this.pos += 8), t; + }, + readFloat: function () { + var t = _l(this.buf, this.pos, !0, 23, 4); + return (this.pos += 4), t; + }, + readDouble: function () { + var t = _l(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, + a = r.buf; + if ( + ((n = + (112 & (i = a[r.pos++])) >> + 4), + i < 128) + ) + return Ll(t, n, e); + if ( + ((n |= + (127 & (i = a[r.pos++])) << + 3), + i < 128) + ) + return Ll(t, n, e); + if ( + ((n |= + (127 & (i = a[r.pos++])) << + 10), + i < 128) + ) + return Ll(t, n, e); + if ( + ((n |= + (127 & (i = a[r.pos++])) << + 17), + i < 128) + ) + return Ll(t, n, e); + if ( + ((n |= + (127 & (i = a[r.pos++])) << + 24), + i < 128) + ) + return Ll(t, n, e); + if ( + ((n |= + (1 & (i = a[r.pos++])) << + 31), + i < 128) + ) + return Ll(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 = this.pos; + return ( + (this.pos = t), + t - e >= 12 && Sl + ? (function (t, e, r) { + return Sl.decode(t.subarray(e, r)); + })(this.buf, e, t) + : (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, e, t) + ); + }, + readBytes: function () { + var t = this.readVarint() + this.pos, + e = this.buf.subarray(this.pos, t); + return (this.pos = t), e; + }, + readPackedVarint: function (t, e) { + if (this.type !== kl.Bytes) + return t.push(this.readVarint(e)); + var r = El(this); + for (t = t || []; this.pos < r; ) + t.push(this.readVarint(e)); + return t; + }, + readPackedSVarint: function (t) { + if (this.type !== kl.Bytes) + return t.push(this.readSVarint()); + var e = El(this); + for (t = t || []; this.pos < e; ) + t.push(this.readSVarint()); + return t; + }, + readPackedBoolean: function (t) { + if (this.type !== kl.Bytes) + return t.push(this.readBoolean()); + var e = El(this); + for (t = t || []; this.pos < e; ) + t.push(this.readBoolean()); + return t; + }, + readPackedFloat: function (t) { + if (this.type !== kl.Bytes) + return t.push(this.readFloat()); + var e = El(this); + for (t = t || []; this.pos < e; ) + t.push(this.readFloat()); + return t; + }, + readPackedDouble: function (t) { + if (this.type !== kl.Bytes) + return t.push(this.readDouble()); + var e = El(this); + for (t = t || []; this.pos < e; ) + t.push(this.readDouble()); + return t; + }, + readPackedFixed32: function (t) { + if (this.type !== kl.Bytes) + return t.push(this.readFixed32()); + var e = El(this); + for (t = t || []; this.pos < e; ) + t.push(this.readFixed32()); + return t; + }, + readPackedSFixed32: function (t) { + if (this.type !== kl.Bytes) + return t.push(this.readSFixed32()); + var e = El(this); + for (t = t || []; this.pos < e; ) + t.push(this.readSFixed32()); + return t; + }, + readPackedFixed64: function (t) { + if (this.type !== kl.Bytes) + return t.push(this.readFixed64()); + var e = El(this); + for (t = t || []; this.pos < e; ) + t.push(this.readFixed64()); + return t; + }, + readPackedSFixed64: function (t) { + if (this.type !== kl.Bytes) + return t.push(this.readSFixed64()); + var e = El(this); + for (t = t || []; this.pos < e; ) + t.push(this.readSFixed64()); + return t; + }, + skip: function (t) { + var e = 7 & t; + if (e === kl.Varint) + for (; this.buf[this.pos++] > 127; ); + else if (e === kl.Bytes) + this.pos = this.readVarint() + this.pos; + else if (e === kl.Fixed32) this.pos += 4; + else { + if (e !== kl.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), + Ul(this.buf, t, this.pos), + (this.pos += 4); + }, + writeSFixed32: function (t) { + this.realloc(4), + Ul(this.buf, t, this.pos), + (this.pos += 4); + }, + writeFixed64: function (t) { + this.realloc(8), + Ul(this.buf, -1 & t, this.pos), + Ul(this.buf, Math.floor(t * Ml), this.pos + 4), + (this.pos += 8); + }, + writeSFixed64: function (t) { + this.realloc(8), + Ul(this.buf, -1 & t, this.pos), + Ul(this.buf, Math.floor(t * Ml), 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 && Cl(e, r, this), + (this.pos = e - 1), + this.writeVarint(r), + (this.pos += r); + }, + writeFloat: function (t) { + this.realloc(4), + wl(this.buf, t, this.pos, !0, 23, 4), + (this.pos += 4); + }, + writeDouble: function (t) { + this.realloc(8), + wl(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 && Cl(r, n, this), + (this.pos = r - 1), + this.writeVarint(n), + (this.pos += n); + }, + writeMessage: function (t, e, r) { + this.writeTag(t, kl.Bytes), + this.writeRawMessage(e, r); + }, + writePackedVarint: function (t, e) { + e.length && this.writeMessage(t, Pl, e); + }, + writePackedSVarint: function (t, e) { + e.length && this.writeMessage(t, Ol, e); + }, + writePackedBoolean: function (t, e) { + e.length && this.writeMessage(t, zl, e); + }, + writePackedFloat: function (t, e) { + e.length && this.writeMessage(t, Il, e); + }, + writePackedDouble: function (t, e) { + e.length && this.writeMessage(t, Dl, e); + }, + writePackedFixed32: function (t, e) { + e.length && this.writeMessage(t, Rl, e); + }, + writePackedSFixed32: function (t, e) { + e.length && this.writeMessage(t, Fl, e); + }, + writePackedFixed64: function (t, e) { + e.length && this.writeMessage(t, Bl, e); + }, + writePackedSFixed64: function (t, e) { + e.length && this.writeMessage(t, Nl, e); + }, + writeBytesField: function (t, e) { + this.writeTag(t, kl.Bytes), this.writeBytes(e); + }, + writeFixed32Field: function (t, e) { + this.writeTag(t, kl.Fixed32), this.writeFixed32(e); + }, + writeSFixed32Field: function (t, e) { + this.writeTag(t, kl.Fixed32), this.writeSFixed32(e); + }, + writeFixed64Field: function (t, e) { + this.writeTag(t, kl.Fixed64), this.writeFixed64(e); + }, + writeSFixed64Field: function (t, e) { + this.writeTag(t, kl.Fixed64), this.writeSFixed64(e); + }, + writeVarintField: function (t, e) { + this.writeTag(t, kl.Varint), this.writeVarint(e); + }, + writeSVarintField: function (t, e) { + this.writeTag(t, kl.Varint), this.writeSVarint(e); + }, + writeStringField: function (t, e) { + this.writeTag(t, kl.Bytes), this.writeString(e); + }, + writeFloatField: function (t, e) { + this.writeTag(t, kl.Fixed32), this.writeFloat(e); + }, + writeDoubleField: function (t, e) { + this.writeTag(t, kl.Fixed64), this.writeDouble(e); + }, + writeBooleanField: function (t, e) { + this.writeVarintField(t, Boolean(e)); + }, + }; + function Hl(t, e, r) { + 1 === t && r.readMessage(ql, e); + } + function ql(t, e, r) { + if (3 === t) { + var n = r.readMessage(Gl, {}), + i = n.id, + a = n.bitmap, + o = n.width, + s = n.height, + l = n.left, + u = n.top, + c = n.advance; + e.push({ + id: i, + bitmap: new Ho( + { width: o + 6, height: s + 6 }, + a, + ), + metrics: { + width: o, + height: s, + left: l, + top: u, + advance: c, + }, + }); + } + } + function Gl(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()); + } + function Zl(t) { + for ( + var e = 0, r = 0, n = 0, i = t; + n < i.length; + n += 1 + ) { + var a = i[n]; + (e += a.w * a.h), (r = Math.max(r, a.w)); + } + t.sort(function (t, e) { + return e.h - t.h; + }); + for ( + var o = [ + { + x: 0, + y: 0, + w: Math.max( + Math.ceil(Math.sqrt(e / 0.95)), + r, + ), + h: 1 / 0, + }, + ], + s = 0, + l = 0, + u = 0, + c = t; + u < c.length; + u += 1 + ) + for (var f = c[u], h = o.length - 1; h >= 0; h--) { + var p = o[h]; + if (!(f.w > p.w || f.h > p.h)) { + if ( + ((f.x = p.x), + (f.y = p.y), + (l = Math.max(l, f.y + f.h)), + (s = Math.max(s, f.x + f.w)), + f.w === p.w && f.h === p.h) + ) { + var d = o.pop(); + h < o.length && (o[h] = d); + } else + f.h === p.h + ? ((p.x += f.w), (p.w -= f.w)) + : f.w === p.w + ? ((p.y += f.h), (p.h -= f.h)) + : (o.push({ + x: p.x + f.w, + y: p.y, + w: p.w - f.w, + h: f.h, + }), + (p.y += f.h), + (p.h -= f.h)); + break; + } + } + return { w: s, h: l, fill: e / (s * l) || 0 }; + } + var Yl = function (t, e) { + var r = e.pixelRatio, + n = e.version, + i = e.stretchX, + a = e.stretchY, + o = e.content; + (this.paddedRect = t), + (this.pixelRatio = r), + (this.stretchX = i), + (this.stretchY = a), + (this.content = o), + (this.version = n); + }, + Wl = { + tl: { configurable: !0 }, + br: { configurable: !0 }, + tlbr: { configurable: !0 }, + displaySize: { configurable: !0 }, + }; + (Wl.tl.get = function () { + return [this.paddedRect.x + 1, this.paddedRect.y + 1]; + }), + (Wl.br.get = function () { + return [ + this.paddedRect.x + this.paddedRect.w - 1, + this.paddedRect.y + this.paddedRect.h - 1, + ]; + }), + (Wl.tlbr.get = function () { + return this.tl.concat(this.br); + }), + (Wl.displaySize.get = function () { + return [ + (this.paddedRect.w - 2) / this.pixelRatio, + (this.paddedRect.h - 2) / this.pixelRatio, + ]; + }), + Object.defineProperties(Yl.prototype, Wl); + var Xl = function (t, e) { + var r = {}, + n = {}; + this.haveRenderCallbacks = []; + var i = []; + this.addImages(t, r, i), this.addImages(e, n, i); + var a = Zl(i), + o = a.w, + s = a.h, + l = new qo({ width: o || 1, height: s || 1 }); + for (var u in t) { + var c = t[u], + f = r[u].paddedRect; + qo.copy( + c.data, + l, + { x: 0, y: 0 }, + { x: f.x + 1, y: f.y + 1 }, + c.data, + ); + } + for (var h in e) { + var p = e[h], + d = n[h].paddedRect, + v = d.x + 1, + g = d.y + 1, + y = p.data.width, + m = p.data.height; + qo.copy( + p.data, + l, + { x: 0, y: 0 }, + { x: v, y: g }, + p.data, + ), + qo.copy( + p.data, + l, + { x: 0, y: m - 1 }, + { x: v, y: g - 1 }, + { width: y, height: 1 }, + ), + qo.copy( + p.data, + l, + { x: 0, y: 0 }, + { x: v, y: g + m }, + { width: y, height: 1 }, + ), + qo.copy( + p.data, + l, + { x: y - 1, y: 0 }, + { x: v - 1, y: g }, + { width: 1, height: m }, + ), + qo.copy( + p.data, + l, + { x: 0, y: 0 }, + { x: v + y, y: g }, + { width: 1, height: m }, + ); + } + (this.image = l), + (this.iconPositions = r), + (this.patternPositions = n); + }; + (Xl.prototype.addImages = function (t, e, r) { + for (var n in t) { + var i = t[n], + a = { + x: 0, + y: 0, + w: i.data.width + 2, + h: i.data.height + 2, + }; + r.push(a), + (e[n] = new Yl(a, i)), + i.hasRenderCallback && + this.haveRenderCallbacks.push(n); + } + }), + (Xl.prototype.patchUpdatedImages = function (t, e) { + for (var r in (t.dispatchRenderCallbacks( + this.haveRenderCallbacks, + ), + t.updatedImages)) + this.patchUpdatedImage( + this.iconPositions[r], + t.getImage(r), + e, + ), + this.patchUpdatedImage( + this.patternPositions[r], + t.getImage(r), + e, + ); + }), + (Xl.prototype.patchUpdatedImage = function (t, e, r) { + if (t && e && t.version !== e.version) { + t.version = e.version; + var n = t.tl, + i = n[0], + a = n[1]; + r.update(e.data, void 0, { x: i, y: a }); + } + }), + Qn("ImagePosition", Yl), + Qn("ImageAtlas", Xl); + var Jl = { + horizontal: 1, + vertical: 2, + horizontalOnly: 3, + }, + Kl = -17; + var $l = function () { + (this.scale = 1), + (this.fontStack = ""), + (this.imageName = null); + }; + ($l.forText = function (t, e) { + var r = new $l(); + return (r.scale = t || 1), (r.fontStack = e), r; + }), + ($l.forImage = function (t) { + var e = new $l(); + return (e.imageName = t), e; + }); + var Ql = function () { + (this.text = ""), + (this.sectionIndex = []), + (this.sections = []), + (this.imageSectionID = null); + }; + function tu( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + ) { + var g, + y = Ql.fromFeature(t, i); + f === Jl.vertical && y.verticalizePunctuation(); + var m = Mi.processBidirectionalText, + x = Mi.processStyledBidirectionalText; + if (m && 1 === y.sections.length) { + g = []; + for ( + var b = 0, + _ = m(y.toString(), lu(y, u, a, e, n, p, d)); + b < _.length; + b += 1 + ) { + var w = _[b], + T = new Ql(); + (T.text = w), (T.sections = y.sections); + for (var k = 0; k < w.length; k++) + T.sectionIndex.push(0); + g.push(T); + } + } else if (x) { + g = []; + for ( + var A = 0, + M = x( + y.text, + y.sectionIndex, + lu(y, u, a, e, n, p, d), + ); + A < M.length; + A += 1 + ) { + var S = M[A], + E = new Ql(); + (E.text = S[0]), + (E.sectionIndex = S[1]), + (E.sections = y.sections), + g.push(E); + } + } else + g = (function (t, e) { + for ( + var r = [], n = t.text, i = 0, a = 0, o = e; + a < o.length; + a += 1 + ) { + var s = o[a]; + r.push(t.substring(i, s)), (i = s); + } + return ( + i < n.length && + r.push(t.substring(i, n.length)), + r + ); + })(y, lu(y, u, a, e, n, p, d)); + var L = [], + C = { + positionedLines: L, + text: y.toString(), + top: c[1], + bottom: c[1], + left: c[0], + right: c[0], + writingMode: f, + iconsInText: !1, + verticalizable: !1, + }; + return ( + (function (t, e, r, n, i, a, o, s, l, u, c, f) { + for ( + var h = 0, + p = Kl, + d = 0, + v = 0, + g = + "right" === s ? 1 : "left" === s ? 0 : 0.5, + y = 0, + m = 0, + x = i; + m < x.length; + m += 1 + ) { + var b = x[m]; + b.trim(); + var _ = b.getMaxScale(), + w = (_ - 1) * bl, + T = { positionedGlyphs: [], lineOffset: 0 }; + t.positionedLines[y] = T; + var k = T.positionedGlyphs, + A = 0; + if (b.length()) { + for (var M = 0; M < b.length(); M++) { + var S = b.getSection(M), + E = b.getSectionIndex(M), + L = b.getCharCode(M), + C = 0, + P = null, + O = null, + I = null, + D = bl, + z = !( + l === Jl.horizontal || + (!c && !li(L)) || + (c && (eu[L] || ci(L))) + ); + if (S.imageName) { + var R = n[S.imageName]; + if (!R) continue; + (I = S.imageName), + (t.iconsInText = t.iconsInText || !0), + (O = R.paddedRect); + var F = R.displaySize; + (S.scale = (S.scale * bl) / f), + (P = { + width: F[0], + height: F[1], + left: 1, + top: -3, + advance: z ? F[1] : F[0], + }), + (C = w + (bl - F[1] * S.scale)), + (D = P.advance); + var B = z + ? F[0] * S.scale - bl * _ + : F[1] * S.scale - bl * _; + B > 0 && B > A && (A = B); + } else { + var N = r[S.fontStack], + j = N && N[L]; + if (j && j.rect) + (O = j.rect), (P = j.metrics); + else { + var U = e[S.fontStack], + V = U && U[L]; + if (!V) continue; + P = V.metrics; + } + C = (_ - S.scale) * bl; + } + z + ? ((t.verticalizable = !0), + k.push({ + glyph: L, + imageName: I, + x: h, + y: p + C, + vertical: z, + scale: S.scale, + fontStack: S.fontStack, + sectionIndex: E, + metrics: P, + rect: O, + }), + (h += D * S.scale + u)) + : (k.push({ + glyph: L, + imageName: I, + x: h, + y: p + C, + vertical: z, + scale: S.scale, + fontStack: S.fontStack, + sectionIndex: E, + metrics: P, + rect: O, + }), + (h += P.advance * S.scale + u)); + } + if (0 !== k.length) { + var H = h - u; + (d = Math.max(H, d)), + cu(k, 0, k.length - 1, g, A); + } + h = 0; + var q = a * _ + A; + (T.lineOffset = Math.max(A, w)), + (p += q), + (v = Math.max(q, v)), + ++y; + } else (p += a), ++y; + } + var G = p - Kl, + Z = uu(o), + Y = Z.horizontalAlign, + W = Z.verticalAlign; + (function (t, e, r, n, i, a, o, s, l) { + var u = (e - r) * i, + c = 0; + c = a !== o ? -s * n - Kl : (-n * l + 0.5) * o; + for (var f = 0, h = t; f < h.length; f += 1) + for ( + var p = 0, d = h[f].positionedGlyphs; + p < d.length; + p += 1 + ) { + var v = d[p]; + (v.x += u), (v.y += c); + } + })( + t.positionedLines, + g, + Y, + W, + d, + v, + a, + G, + i.length, + ), + (t.top += -W * G), + (t.bottom = t.top + G), + (t.left += -Y * d), + (t.right = t.left + d); + })(C, e, r, n, g, o, s, l, f, u, h, v), + !(function (t) { + for (var e = 0, r = t; e < r.length; e += 1) + if (0 !== r[e].positionedGlyphs.length) + return !1; + return !0; + })(L) && C + ); + } + (Ql.fromFeature = function (t, e) { + for ( + var r = new Ql(), n = 0; + n < t.sections.length; + n++ + ) { + var i = t.sections[n]; + i.image + ? r.addImageSection(i) + : r.addTextSection(i, e); + } + return r; + }), + (Ql.prototype.length = function () { + return this.text.length; + }), + (Ql.prototype.getSection = function (t) { + return this.sections[this.sectionIndex[t]]; + }), + (Ql.prototype.getSectionIndex = function (t) { + return this.sectionIndex[t]; + }), + (Ql.prototype.getCharCode = function (t) { + return this.text.charCodeAt(t); + }), + (Ql.prototype.verticalizePunctuation = function () { + this.text = (function (t) { + for (var e = "", r = 0; r < t.length; r++) { + var n = t.charCodeAt(r + 1) || null, + i = t.charCodeAt(r - 1) || null; + (n && ui(n) && !xl[t[r + 1]]) || + (i && ui(i) && !xl[t[r - 1]]) || + !xl[t[r]] + ? (e += t[r]) + : (e += xl[t[r]]); + } + return e; + })(this.text); + }), + (Ql.prototype.trim = function () { + for ( + var t = 0, e = 0; + e < this.text.length && + eu[this.text.charCodeAt(e)]; + e++ + ) + t++; + for ( + var r = this.text.length, + n = this.text.length - 1; + n >= 0 && n >= t && eu[this.text.charCodeAt(n)]; + n-- + ) + r--; + (this.text = this.text.substring(t, r)), + (this.sectionIndex = this.sectionIndex.slice( + t, + r, + )); + }), + (Ql.prototype.substring = function (t, e) { + var r = new Ql(); + return ( + (r.text = this.text.substring(t, e)), + (r.sectionIndex = this.sectionIndex.slice(t, e)), + (r.sections = this.sections), + r + ); + }), + (Ql.prototype.toString = function () { + return this.text; + }), + (Ql.prototype.getMaxScale = function () { + var t = this; + return this.sectionIndex.reduce(function (e, r) { + return Math.max(e, t.sections[r].scale); + }, 0); + }), + (Ql.prototype.addTextSection = function (t, e) { + (this.text += t.text), + this.sections.push( + $l.forText(t.scale, t.fontStack || e), + ); + for ( + var r = this.sections.length - 1, n = 0; + n < t.text.length; + ++n + ) + this.sectionIndex.push(r); + }), + (Ql.prototype.addImageSection = function (t) { + var e = t.image ? t.image.name : ""; + if (0 !== e.length) { + var r = this.getNextImageSectionCharCode(); + r + ? ((this.text += String.fromCharCode(r)), + this.sections.push($l.forImage(e)), + this.sectionIndex.push( + this.sections.length - 1, + )) + : w("Reached maximum number of images 6401"); + } else + w( + "Can't add FormattedSection with an empty image.", + ); + }), + (Ql.prototype.getNextImageSectionCharCode = + function () { + return this.imageSectionID + ? this.imageSectionID >= 63743 + ? null + : ++this.imageSectionID + : ((this.imageSectionID = 57344), + this.imageSectionID); + }); + var eu = { + 9: !0, + 10: !0, + 11: !0, + 12: !0, + 13: !0, + 32: !0, + }, + ru = {}; + function nu(t, e, r, n, i, a) { + if (e.imageName) { + var o = n[e.imageName]; + return o + ? (o.displaySize[0] * e.scale * bl) / a + i + : 0; + } + var s = r[e.fontStack], + l = s && s[t]; + return l ? l.metrics.advance * e.scale + i : 0; + } + function iu(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 au(t, e, r) { + var n = 0; + return ( + 10 === t && (n -= 1e4), + r && (n += 150), + (40 !== t && 65288 !== t) || (n += 50), + (41 !== e && 65289 !== e) || (n += 50), + n + ); + } + function ou(t, e, r, n, i, a) { + for ( + var o = null, s = iu(e, r, i, a), l = 0, u = n; + l < u.length; + l += 1 + ) { + var c = u[l], + f = iu(e - c.x, r, i, a) + c.badness; + f <= s && ((o = c), (s = f)); + } + return { index: t, x: e, priorBreak: o, badness: s }; + } + function su(t) { + return t ? su(t.priorBreak).concat(t.index) : []; + } + function lu(t, e, r, n, i, a, o) { + if ("point" !== a) return []; + if (!t) return []; + for ( + var s = [], + l = (function (t, e, r, n, i, a) { + for (var o = 0, s = 0; s < t.length(); s++) { + var l = t.getSection(s); + o += nu(t.getCharCode(s), l, n, i, e, a); + } + return o / Math.max(1, Math.ceil(o / r)); + })(t, e, r, n, i, o), + u = t.text.indexOf("​") >= 0, + c = 0, + f = 0; + f < t.length(); + f++ + ) { + var h = t.getSection(f), + p = t.getCharCode(f); + if ( + (eu[p] || (c += nu(p, h, n, i, e, o)), + f < t.length() - 1) + ) { + var d = !( + (v = p) < 11904 || + !( + oi["Bopomofo Extended"](v) || + oi.Bopomofo(v) || + oi["CJK Compatibility Forms"](v) || + oi["CJK Compatibility Ideographs"](v) || + oi["CJK Compatibility"](v) || + oi["CJK Radicals Supplement"](v) || + oi["CJK Strokes"](v) || + oi["CJK Symbols and Punctuation"](v) || + oi["CJK Unified Ideographs Extension A"](v) || + oi["CJK Unified Ideographs"](v) || + oi["Enclosed CJK Letters and Months"](v) || + oi["Halfwidth and Fullwidth Forms"](v) || + oi.Hiragana(v) || + oi["Ideographic Description Characters"](v) || + oi["Kangxi Radicals"](v) || + oi["Katakana Phonetic Extensions"](v) || + oi.Katakana(v) || + oi["Vertical Forms"](v) || + oi["Yi Radicals"](v) || + oi["Yi Syllables"](v) + ) + ); + (ru[p] || d || h.imageName) && + s.push( + ou( + f + 1, + c, + l, + s, + au(p, t.getCharCode(f + 1), d && u), + !1, + ), + ); + } + } + var v; + return su(ou(t.length(), c, l, s, 0, !0)); + } + function uu(t) { + var e = 0.5, + r = 0.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 cu(t, e, r, n, i) { + if (n || i) + for ( + var a = t[r], + o = a.metrics.advance * a.scale, + s = (t[r].x + o) * n, + l = e; + l <= r; + l++ + ) + (t[l].x -= s), (t[l].y += i); + } + function fu(t, e, r, n, i, a) { + var o, + s = t.image; + if (s.content) { + var l = s.content, + u = s.pixelRatio || 1; + o = [ + l[0] / u, + l[1] / u, + s.displaySize[0] - l[2] / u, + s.displaySize[1] - l[3] / u, + ]; + } + var c, + f, + h, + p, + d = e.left * a, + v = e.right * a; + "width" === r || "both" === r + ? ((p = i[0] + d - n[3]), (f = i[0] + v + n[1])) + : (f = + (p = i[0] + (d + v - s.displaySize[0]) / 2) + + s.displaySize[0]); + var g = e.top * a, + y = e.bottom * a; + return ( + "height" === r || "both" === r + ? ((c = i[1] + g - n[0]), (h = i[1] + y + n[2])) + : (h = + (c = i[1] + (g + y - s.displaySize[1]) / 2) + + s.displaySize[1]), + { + image: s, + top: c, + right: f, + bottom: h, + left: p, + collisionPadding: o, + } + ); + } + (ru[10] = !0), + (ru[32] = !0), + (ru[38] = !0), + (ru[40] = !0), + (ru[41] = !0), + (ru[43] = !0), + (ru[45] = !0), + (ru[47] = !0), + (ru[173] = !0), + (ru[183] = !0), + (ru[8203] = !0), + (ru[8208] = !0), + (ru[8211] = !0), + (ru[8231] = !0); + var hu = (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 + ); + })(a); + Qn("Anchor", hu); + var pu = 128; + function du(t, e) { + var r = e.expression; + if ("constant" === r.kind) + return { + kind: "constant", + layoutSize: r.evaluate(new Si(t + 1)), + }; + if ("source" === r.kind) return { kind: "source" }; + for ( + var n = r.zoomStops, i = r.interpolationType, a = 0; + a < n.length && n[a] <= t; + + ) + a++; + for ( + var o = (a = Math.max(0, a - 1)); + o < n.length && n[o] < t + 1; + + ) + o++; + o = Math.min(n.length - 1, o); + var s = n[a], + l = n[o]; + return "composite" === r.kind + ? { + kind: "composite", + minZoom: s, + maxZoom: l, + interpolationType: i, + } + : { + kind: "camera", + minZoom: s, + maxZoom: l, + minSize: r.evaluate(new Si(s)), + maxSize: r.evaluate(new Si(l)), + interpolationType: i, + }; + } + function vu(t, e, r) { + var n = e.uSize, + i = e.uSizeT, + a = r.lowerSize, + o = r.upperSize; + return "source" === t.kind + ? a / pu + : "composite" === t.kind + ? Ke(a / pu, o / pu, i) + : n; + } + function gu(t, e) { + var r = 0, + n = 0; + if ("constant" === t.kind) n = t.layoutSize; + else if ("source" !== t.kind) { + var i = t.interpolationType, + a = t.minZoom, + o = t.maxZoom, + s = i + ? u(gr.interpolationFactor(i, e, a, o), 0, 1) + : 0; + "camera" === t.kind + ? (n = Ke(t.minSize, t.maxSize, s)) + : (r = s); + } + return { uSizeT: r, uSize: n }; + } + var yu = Object.freeze({ + __proto__: null, + getSizeData: du, + evaluateSizeForFeature: vu, + evaluateSizeForZoom: gu, + SIZE_PACK_FACTOR: pu, + }); + function mu(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], + f = t[o], + h = t[o + 1]; + if (!h) return !1; + var p = c.angleTo(f) - f.angleTo(h); + 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 += f.dist(h)); + } + return !0; + } + function xu(t) { + for (var e = 0, r = 0; r < t.length - 1; r++) + e += t[r].dist(t[r + 1]); + return e; + } + function bu(t, e, r) { + return t ? 0.6 * e * r : 0; + } + function _u(t, e) { + return Math.max( + t ? t.right - t.left : 0, + e ? e.right - e.left : 0, + ); + } + function wu(t, e, r, n, i, a) { + for ( + var o = bu(r, i, a), + s = _u(r, n) * a, + l = 0, + u = xu(t) / 2, + c = 0; + c < t.length - 1; + c++ + ) { + var f = t[c], + h = t[c + 1], + p = f.dist(h); + if (l + p > u) { + var d = (u - l) / p, + v = Ke(f.x, h.x, d), + g = Ke(f.y, h.y, d), + y = new hu(v, g, h.angleTo(f), c); + return ( + y._round(), !o || mu(t, y, s, o, e) ? y : void 0 + ); + } + l += p; + } + } + function Tu(t, e, r, n, i, a, o, s, l) { + var u = bu(n, a, o), + c = _u(n, i), + f = c * o, + h = + 0 === t[0].x || + t[0].x === l || + 0 === t[0].y || + t[0].y === l; + return ( + e - f < e / 4 && (e = f + e / 4), + ku( + t, + h + ? ((e / 2) * s) % e + : ((c / 2 + 2 * a) * o * s) % e, + e, + u, + r, + f, + h, + !1, + l, + ) + ); + } + function ku(t, e, r, n, i, a, o, s, l) { + for ( + var u = a / 2, + c = xu(t), + f = 0, + h = e - r, + p = [], + d = 0; + d < t.length - 1; + d++ + ) { + for ( + var v = t[d], + g = t[d + 1], + y = v.dist(g), + m = g.angleTo(v); + h + r < f + y; + + ) { + var x = ((h += r) - f) / y, + b = Ke(v.x, g.x, x), + _ = Ke(v.y, g.y, x); + if ( + b >= 0 && + b < l && + _ >= 0 && + _ < l && + h - u >= 0 && + h + u <= c + ) { + var w = new hu(b, _, m, d); + w._round(), + (n && !mu(t, w, a, n, i)) || p.push(w); + } + } + f += y; + } + return ( + s || + p.length || + o || + (p = ku(t, f / 2, r, n, i, a, o, !0, l)), + p + ); + } + function Au(t, e, r, n, i) { + 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 f = l[c], + h = l[c + 1]; + (f.x < e && h.x < e) || + (f.x < e + ? (f = new a( + e, + f.y + + (h.y - f.y) * ((e - f.x) / (h.x - f.x)), + )._round()) + : h.x < e && + (h = new a( + e, + f.y + + (h.y - f.y) * ((e - f.x) / (h.x - f.x)), + )._round()), + (f.y < r && h.y < r) || + (f.y < r + ? (f = new a( + f.x + + (h.x - f.x) * + ((r - f.y) / (h.y - f.y)), + r, + )._round()) + : h.y < r && + (h = new a( + f.x + + (h.x - f.x) * + ((r - f.y) / (h.y - f.y)), + r, + )._round()), + (f.x >= n && h.x >= n) || + (f.x >= n + ? (f = new a( + n, + f.y + + (h.y - f.y) * + ((n - f.x) / (h.x - f.x)), + )._round()) + : h.x >= n && + (h = new a( + n, + f.y + + (h.y - f.y) * + ((n - f.x) / (h.x - f.x)), + )._round()), + (f.y >= i && h.y >= i) || + (f.y >= i + ? (f = new a( + f.x + + (h.x - f.x) * + ((i - f.y) / (h.y - f.y)), + i, + )._round()) + : h.y >= i && + (h = new a( + f.x + + (h.x - f.x) * + ((i - f.y) / (h.y - f.y)), + i, + )._round()), + (u && f.equals(u[u.length - 1])) || + ((u = [f]), o.push(u)), + u.push(h))))); + } + return o; + } + function Mu(t, e, r, n) { + var i = [], + o = t.image, + s = o.pixelRatio, + l = o.paddedRect.w - 2, + u = o.paddedRect.h - 2, + c = t.right - t.left, + f = t.bottom - t.top, + h = o.stretchX || [[0, l]], + p = o.stretchY || [[0, u]], + d = function (t, e) { + return t + e[1] - e[0]; + }, + v = h.reduce(d, 0), + g = p.reduce(d, 0), + y = l - v, + m = u - g, + x = 0, + b = v, + _ = 0, + w = g, + T = 0, + k = y, + A = 0, + M = m; + if (o.content && n) { + var S = o.content; + (x = Su(h, 0, S[0])), + (_ = Su(p, 0, S[1])), + (b = Su(h, S[0], S[2])), + (w = Su(p, S[1], S[3])), + (T = S[0] - x), + (A = S[1] - _), + (k = S[2] - S[0] - b), + (M = S[3] - S[1] - w); + } + var E = function (n, i, l, u) { + var h = Lu(n.stretch - x, b, c, t.left), + p = Cu(n.fixed - T, k, n.stretch, v), + d = Lu(i.stretch - _, w, f, t.top), + y = Cu(i.fixed - A, M, i.stretch, g), + m = Lu(l.stretch - x, b, c, t.left), + S = Cu(l.fixed - T, k, l.stretch, v), + E = Lu(u.stretch - _, w, f, t.top), + L = Cu(u.fixed - A, M, u.stretch, g), + C = new a(h, d), + P = new a(m, d), + O = new a(m, E), + I = new a(h, E), + D = new a(p / s, y / s), + z = new a(S / s, L / s), + R = (e * Math.PI) / 180; + if (R) { + var F = Math.sin(R), + B = Math.cos(R), + N = [B, -F, F, B]; + C._matMult(N), + P._matMult(N), + I._matMult(N), + O._matMult(N); + } + var j = n.stretch + n.fixed, + U = l.stretch + l.fixed, + V = i.stretch + i.fixed, + H = u.stretch + u.fixed; + return { + tl: C, + tr: P, + bl: I, + br: O, + tex: { + x: o.paddedRect.x + 1 + j, + y: o.paddedRect.y + 1 + V, + w: U - j, + h: H - V, + }, + writingMode: void 0, + glyphOffset: [0, 0], + sectionIndex: 0, + pixelOffsetTL: D, + pixelOffsetBR: z, + minFontScaleX: k / s / c, + minFontScaleY: M / s / f, + isSDF: r, + }; + }; + if (n && (o.stretchX || o.stretchY)) + for ( + var L = Eu(h, y, v), C = Eu(p, m, g), P = 0; + P < L.length - 1; + P++ + ) + for ( + var O = L[P], I = L[P + 1], D = 0; + D < C.length - 1; + D++ + ) { + var z = C[D], + R = C[D + 1]; + i.push(E(O, z, I, R)); + } + else + i.push( + E( + { fixed: 0, stretch: -1 }, + { fixed: 0, stretch: -1 }, + { fixed: 0, stretch: l + 1 }, + { fixed: 0, stretch: u + 1 }, + ), + ); + return i; + } + function Su(t, e, r) { + for (var n = 0, i = 0, a = t; i < a.length; i += 1) { + var o = a[i]; + n += + Math.max(e, Math.min(r, o[1])) - + Math.max(e, Math.min(r, o[0])); + } + return n; + } + function Eu(t, e, r) { + for ( + var n = [{ fixed: -1, stretch: 0 }], i = 0, a = t; + i < a.length; + i += 1 + ) { + var o = a[i], + s = o[0], + l = o[1], + u = n[n.length - 1]; + n.push({ + fixed: s - u.stretch, + stretch: u.stretch, + }), + n.push({ + fixed: s - u.stretch, + stretch: u.stretch + (l - s), + }); + } + return n.push({ fixed: e + 1, stretch: r }), n; + } + function Lu(t, e, r, n) { + return (t / e) * r + n; + } + function Cu(t, e, r, n) { + return t - (e * r) / n; + } + var Pu = function (t, e, r, n, i, o, s, l, u, c) { + if (((this.boxStartIndex = t.length), u)) { + var f = o.top, + h = o.bottom, + p = o.collisionPadding; + p && ((f -= p[1]), (h += p[3])); + var d = h - f; + d > 0 && + ((d = Math.max(10, d)), + (this.circleDiameter = d)); + } else { + var v = o.top * s - l, + g = o.bottom * s + l, + y = o.left * s - l, + m = o.right * s + l, + x = o.collisionPadding; + if ( + (x && + ((y -= x[0] * s), + (v -= x[1] * s), + (m += x[2] * s), + (g += x[3] * s)), + c) + ) { + var b = new a(y, v), + _ = new a(m, v), + w = new a(y, g), + T = new a(m, g), + k = (c * Math.PI) / 180; + b._rotate(k), + _._rotate(k), + w._rotate(k), + T._rotate(k), + (y = Math.min(b.x, _.x, w.x, T.x)), + (m = Math.max(b.x, _.x, w.x, T.x)), + (v = Math.min(b.y, _.y, w.y, T.y)), + (g = Math.max(b.y, _.y, w.y, T.y)); + } + t.emplaceBack(e.x, e.y, y, v, m, g, r, n, i); + } + this.boxEndIndex = t.length; + }, + Ou = function (t, e) { + if ( + (void 0 === t && (t = []), + void 0 === e && (e = Iu), + (this.data = t), + (this.length = this.data.length), + (this.compare = e), + this.length > 0) + ) + for (var r = (this.length >> 1) - 1; r >= 0; r--) + this._down(r); + }; + function Iu(t, e) { + return t < e ? -1 : t > e ? 1 : 0; + } + function Du(t, e, r) { + void 0 === e && (e = 1), void 0 === r && (r = !1); + for ( + var n = 1 / 0, + i = 1 / 0, + o = -1 / 0, + s = -1 / 0, + l = t[0], + u = 0; + u < l.length; + u++ + ) { + var c = l[u]; + (!u || c.x < n) && (n = c.x), + (!u || c.y < i) && (i = c.y), + (!u || c.x > o) && (o = c.x), + (!u || c.y > s) && (s = c.y); + } + var f = o - n, + h = s - i, + p = Math.min(f, h), + d = p / 2, + v = new Ou([], zu); + if (0 === p) return new a(n, i); + for (var g = n; g < o; g += p) + for (var y = i; y < s; y += p) + v.push(new Ru(g + d, y + d, d, t)); + for ( + var m = (function (t) { + for ( + var e = 0, + r = 0, + n = 0, + i = t[0], + a = 0, + o = i.length, + s = o - 1; + a < o; + s = a++ + ) { + var l = i[a], + u = i[s], + c = l.x * u.y - u.x * l.y; + (r += (l.x + u.x) * c), + (n += (l.y + u.y) * c), + (e += 3 * c); + } + return new Ru(r / e, n / e, 0, t); + })(t), + x = v.length; + v.length; + + ) { + var b = v.pop(); + (b.d > m.d || !m.d) && + ((m = b), + r && + console.log( + "found best %d after %d probes", + Math.round(1e4 * b.d) / 1e4, + x, + )), + b.max - m.d <= e || + ((d = b.h / 2), + v.push(new Ru(b.p.x - d, b.p.y - d, d, t)), + v.push(new Ru(b.p.x + d, b.p.y - d, d, t)), + v.push(new Ru(b.p.x - d, b.p.y + d, d, t)), + v.push(new Ru(b.p.x + d, b.p.y + d, d, t)), + (x += 4)); + } + return ( + r && + (console.log("num probes: " + x), + console.log("best distance: " + m.d)), + m.p + ); + } + function zu(t, e) { + return e.max - t.max; + } + function Ru(t, e, r, n) { + (this.p = new a(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, s = a.length, l = s - 1; + o < s; + l = o++ + ) { + var u = a[o], + c = a[l]; + u.y > t.y != c.y > t.y && + t.x < + ((c.x - u.x) * (t.y - u.y)) / + (c.y - u.y) + + u.x && + (r = !r), + (n = Math.min(n, bo(t, u, c))); + } + return (r ? 1 : -1) * Math.sqrt(n); + })(this.p, n)), + (this.max = this.d + this.h * Math.SQRT2); + } + (Ou.prototype.push = function (t) { + this.data.push(t), + this.length++, + this._up(this.length - 1); + }), + (Ou.prototype.pop = function () { + if (0 !== this.length) { + var t = this.data[0], + e = this.data.pop(); + return ( + this.length--, + this.length > 0 && + ((this.data[0] = e), this._down(0)), + t + ); + } + }), + (Ou.prototype.peek = function () { + return this.data[0]; + }), + (Ou.prototype._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; + }), + (Ou.prototype._down = function (t) { + for ( + var e = this.data, + r = this.compare, + n = this.length >> 1, + i = e[t]; + t < n; + + ) { + var a = 1 + (t << 1), + o = e[a], + s = a + 1; + if ( + (s < this.length && + r(e[s], o) < 0 && + ((a = s), (o = e[s])), + r(o, i) >= 0) + ) + break; + (e[t] = o), (t = a); + } + e[t] = i; + }); + var Fu = Number.POSITIVE_INFINITY; + function Bu(t, e) { + return e[1] !== Fu + ? (function (t, e, r) { + var n = 0, + i = 0; + switch ( + ((e = Math.abs(e)), (r = Math.abs(r)), t) + ) { + case "top-right": + case "top-left": + case "top": + i = r - 7; + break; + case "bottom-right": + case "bottom-left": + case "bottom": + i = 7 - r; + } + switch (t) { + case "top-right": + case "bottom-right": + case "right": + n = -e; + break; + case "top-left": + case "bottom-left": + case "left": + n = e; + } + return [n, i]; + })(t, e[0], e[1]) + : (function (t, e) { + var r = 0, + n = 0; + e < 0 && (e = 0); + var i = e / Math.sqrt(2); + switch (t) { + case "top-right": + case "top-left": + n = i - 7; + break; + case "bottom-right": + case "bottom-left": + n = 7 - i; + break; + case "bottom": + n = 7 - e; + break; + case "top": + n = e - 7; + } + switch (t) { + case "top-right": + case "bottom-right": + r = -i; + break; + case "top-left": + case "bottom-left": + r = i; + break; + case "left": + r = e; + break; + case "right": + r = -e; + } + return [r, n]; + })(t, e[0]); + } + function Nu(t) { + switch (t) { + case "right": + case "top-right": + case "bottom-right": + return "right"; + case "left": + case "top-left": + case "bottom-left": + return "left"; + } + return "center"; + } + var ju = 32640; + function Uu( + t, + e, + r, + n, + i, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + ) { + var g = (function (t, e, r, n, i, o, s, l) { + for ( + var u = + (n.layout + .get("text-rotate") + .evaluate(o, {}) * + Math.PI) / + 180, + c = [], + f = 0, + h = e.positionedLines; + f < h.length; + f += 1 + ) + for ( + var p = h[f], d = 0, v = p.positionedGlyphs; + d < v.length; + d += 1 + ) { + var g = v[d]; + if (g.rect) { + var y = g.rect || {}, + m = 4, + x = !0, + b = 1, + _ = 0, + w = (i || l) && g.vertical, + T = (g.metrics.advance * g.scale) / 2; + if (l && e.verticalizable) { + var k = (g.scale - 1) * bl, + A = + (bl - g.metrics.width * g.scale) / 2; + _ = + p.lineOffset / 2 - + (g.imageName ? -A : k); + } + if (g.imageName) { + var M = s[g.imageName]; + (x = M.sdf), (m = 1 / (b = M.pixelRatio)); + } + var S = i ? [g.x + T, g.y] : [0, 0], + E = i + ? [0, 0] + : [g.x + T + r[0], g.y + r[1] - _], + L = [0, 0]; + w && ((L = E), (E = [0, 0])); + var C = + (g.metrics.left - m) * g.scale - + T + + E[0], + P = (-g.metrics.top - m) * g.scale + E[1], + O = C + (y.w * g.scale) / b, + I = P + (y.h * g.scale) / b, + D = new a(C, P), + z = new a(O, P), + R = new a(C, I), + F = new a(O, I); + if (w) { + var B = new a(-T, T - Kl), + N = -Math.PI / 2, + j = 12 - T, + U = g.imageName ? j : 0, + V = new a(22 - j, -U), + H = new (Function.prototype.bind.apply( + a, + [null].concat(L), + ))(); + D._rotateAround(N, B)._add(V)._add(H), + z._rotateAround(N, B)._add(V)._add(H), + R._rotateAround(N, B)._add(V)._add(H), + F._rotateAround(N, B)._add(V)._add(H); + } + if (u) { + var q = Math.sin(u), + G = Math.cos(u), + Z = [G, -q, q, G]; + D._matMult(Z), + z._matMult(Z), + R._matMult(Z), + F._matMult(Z); + } + var Y = new a(0, 0), + W = new a(0, 0); + c.push({ + tl: D, + tr: z, + bl: R, + br: F, + tex: y, + writingMode: e.writingMode, + glyphOffset: S, + sectionIndex: g.sectionIndex, + isSDF: x, + pixelOffsetTL: Y, + pixelOffsetBR: W, + minFontScaleX: 0, + minFontScaleY: 0, + }); + } + } + return c; + })(0, r, l, i, o, s, n, t.allowVerticalPlacement), + y = t.textSizeData, + m = null; + "source" === y.kind + ? (m = [ + pu * i.layout.get("text-size").evaluate(s, {}), + ])[0] > ju && + w( + t.layerIds[0] + + ': Value for "text-size" is >= ' + + '255. Reduce your "text-size".', + ) + : "composite" === y.kind && + ((m = [ + pu * d.compositeTextSizes[0].evaluate(s, {}, v), + pu * d.compositeTextSizes[1].evaluate(s, {}, v), + ])[0] > ju || + m[1] > ju) && + w( + t.layerIds[0] + + ': Value for "text-size" is >= ' + + '255. Reduce your "text-size".', + ), + t.addSymbols( + t.text, + g, + m, + l, + o, + s, + c, + e, + u.lineStartIndex, + u.lineLength, + p, + v, + ); + for (var x = 0, b = f; x < b.length; x += 1) + h[b[x]] = t.text.placedSymbolArray.length - 1; + return 4 * g.length; + } + function Vu(t) { + for (var e in t) return t[e]; + return null; + } + function Hu(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 qu = Zs.VectorTileFeature.types, + Gu = [ + { + name: "a_fade_opacity", + components: 1, + type: "Uint8", + offset: 0, + }, + ]; + function Zu(t, e, r, n, i, a, o, s, l, u, c, f, h) { + var p = s ? Math.min(ju, Math.round(s[0])) : 0, + d = s ? Math.min(ju, Math.round(s[1])) : 0; + t.emplaceBack( + e, + r, + Math.round(32 * n), + Math.round(32 * i), + a, + o, + (p << 1) + (l ? 1 : 0), + d, + 16 * u, + 16 * c, + 256 * f, + 256 * h, + ); + } + function Yu(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); + } + function Wu(t) { + for (var e = 0, r = t.sections; e < r.length; e += 1) + if (pi(r[e].text)) return !0; + return !1; + } + var Xu = function (t) { + (this.layoutVertexArray = new ta()), + (this.indexArray = new sa()), + (this.programConfigurations = t), + (this.segments = new Ea()), + (this.dynamicLayoutVertexArray = new ea()), + (this.opacityVertexArray = new ra()), + (this.placedSymbolArray = new ba()); + }; + (Xu.prototype.isEmpty = function () { + return ( + 0 === this.layoutVertexArray.length && + 0 === this.indexArray.length && + 0 === this.dynamicLayoutVertexArray.length && + 0 === this.opacityVertexArray.length + ); + }), + (Xu.prototype.upload = function (t, e, r, n) { + this.isEmpty() || + (r && + ((this.layoutVertexBuffer = + t.createVertexBuffer( + this.layoutVertexArray, + pl.members, + )), + (this.indexBuffer = t.createIndexBuffer( + this.indexArray, + e, + )), + (this.dynamicLayoutVertexBuffer = + t.createVertexBuffer( + this.dynamicLayoutVertexArray, + dl.members, + !0, + )), + (this.opacityVertexBuffer = + t.createVertexBuffer( + this.opacityVertexArray, + Gu, + !0, + )), + (this.opacityVertexBuffer.itemSize = 1)), + (r || n) && this.programConfigurations.upload(t)); + }), + (Xu.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy(), + this.dynamicLayoutVertexBuffer.destroy(), + this.opacityVertexBuffer.destroy()); + }), + Qn("SymbolBuffers", Xu); + var Ju = function (t, e, r) { + (this.layoutVertexArray = new t()), + (this.layoutAttributes = e), + (this.indexArray = new r()), + (this.segments = new Ea()), + (this.collisionVertexArray = new oa()); + }; + (Ju.prototype.upload = function (t) { + (this.layoutVertexBuffer = t.createVertexBuffer( + this.layoutVertexArray, + this.layoutAttributes, + )), + (this.indexBuffer = t.createIndexBuffer( + this.indexArray, + )), + (this.collisionVertexBuffer = t.createVertexBuffer( + this.collisionVertexArray, + vl.members, + !0, + )); + }), + (Ju.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.segments.destroy(), + this.collisionVertexBuffer.destroy()); + }), + Qn("CollisionBuffers", Ju); + var Ku = 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), + (this.sourceLayerIndex = t.sourceLayerIndex), + (this.hasPattern = !1), + (this.hasRTLText = !1), + (this.sortKeyRanges = []), + (this.collisionCircleArray = []), + (this.placementInvProjMatrix = Co([])), + (this.placementViewportMatrix = Co([])); + var e = this.layers[0]._unevaluatedLayout._values; + (this.textSizeData = du(this.zoom, e["text-size"])), + (this.iconSizeData = du(this.zoom, e["icon-size"])); + var r = this.layers[0].layout, + n = r.get("symbol-sort-key"), + i = r.get("symbol-z-order"); + this.sortFeaturesByKey = + "viewport-y" !== i && void 0 !== n.constantOr(1); + var a = + "viewport-y" === i || + ("auto" === i && !this.sortFeaturesByKey); + (this.sortFeaturesByY = + a && + (r.get("text-allow-overlap") || + r.get("icon-allow-overlap") || + r.get("text-ignore-placement") || + r.get("icon-ignore-placement"))), + "point" === r.get("symbol-placement") && + (this.writingModes = r + .get("text-writing-mode") + .map(function (t) { + return Jl[t]; + })), + (this.stateDependentLayerIds = this.layers + .filter(function (t) { + return t.isStateDependent(); + }) + .map(function (t) { + return t.id; + })), + (this.sourceID = t.sourceID); + }; + (Ku.prototype.createArrays = function () { + (this.text = new Xu( + new no( + pl.members, + this.layers, + this.zoom, + function (t) { + return /^text/.test(t); + }, + ), + )), + (this.icon = new Xu( + new no( + pl.members, + this.layers, + this.zoom, + function (t) { + return /^icon/.test(t); + }, + ), + )), + (this.glyphOffsetArray = new Ta()), + (this.lineVertexArray = new ka()), + (this.symbolInstances = new wa()); + }), + (Ku.prototype.calculateGlyphDependencies = function ( + t, + e, + r, + n, + i, + ) { + for (var a = 0; a < t.length; a++) + if (((e[t.charCodeAt(a)] = !0), (r || n) && i)) { + var o = xl[t.charAt(a)]; + o && (e[o.charCodeAt(0)] = !0); + } + }), + (Ku.prototype.populate = function (t, e, r) { + var n = this.layers[0], + i = n.layout, + a = i.get("text-font"), + o = i.get("text-field"), + s = i.get("icon-image"), + l = + ("constant" !== o.value.kind || + (o.value.value instanceof le && + !o.value.value.isEmpty()) || + o.value.value.toString().length > 0) && + ("constant" !== a.value.kind || + a.value.value.length > 0), + u = + "constant" !== s.value.kind || + !!s.value.value || + Object.keys(s.parameters).length > 0, + c = i.get("symbol-sort-key"); + if (((this.features = []), l || u)) { + for ( + var f = e.iconDependencies, + h = e.glyphDependencies, + p = e.availableImages, + d = new Si(this.zoom), + v = 0, + g = t; + v < g.length; + v += 1 + ) { + var y = g[v], + m = y.feature, + x = y.id, + b = y.index, + _ = y.sourceLayerIndex, + w = n._featureFilter.needGeometry, + T = { + type: m.type, + id: x, + properties: m.properties, + geometry: w ? uo(m) : [], + }; + if (n._featureFilter.filter(d, T, r)) { + w || (T.geometry = uo(m)); + var k = void 0; + if (l) { + var A = n.getValueAndResolveTokens( + "text-field", + T, + r, + p, + ), + M = le.factory(A); + Wu(M) && (this.hasRTLText = !0), + (!this.hasRTLText || + "unavailable" === ki() || + (this.hasRTLText && Mi.isParsed())) && + (k = ml(M, n, T)); + } + var S = void 0; + if (u) { + var E = n.getValueAndResolveTokens( + "icon-image", + T, + r, + p, + ); + S = E instanceof ue ? E : ue.fromString(E); + } + if (k || S) { + var L = this.sortFeaturesByKey + ? c.evaluate(T, {}, r) + : void 0, + C = { + id: x, + text: k, + icon: S, + index: b, + sourceLayerIndex: _, + geometry: uo(m), + properties: m.properties, + type: qu[m.type], + sortKey: L, + }; + if ( + (this.features.push(C), + S && (f[S.name] = !0), + k) + ) { + var P = a.evaluate(T, {}, r).join(","), + O = + "map" === + i.get("text-rotation-alignment") && + "point" !== i.get("symbol-placement"); + this.allowVerticalPlacement = + this.writingModes && + this.writingModes.indexOf( + Jl.vertical, + ) >= 0; + for ( + var I = 0, D = k.sections; + I < D.length; + I += 1 + ) { + var z = D[I]; + if (z.image) f[z.image.name] = !0; + else { + var R = si(k.toString()), + F = z.fontStack || P, + B = (h[F] = h[F] || {}); + this.calculateGlyphDependencies( + z.text, + B, + O, + this.allowVerticalPlacement, + R, + ); + } + } + } + } + } + } + "line" === i.get("symbol-placement") && + (this.features = (function (t) { + var e = {}, + r = {}, + n = [], + i = 0; + function a(e) { + n.push(t[e]), i++; + } + function o(t, e, i) { + var a = r[t]; + return ( + delete r[t], + (r[e] = a), + n[a].geometry[0].pop(), + (n[a].geometry[0] = n[ + a + ].geometry[0].concat(i[0])), + a + ); + } + function s(t, r, i) { + var a = e[r]; + return ( + delete e[r], + (e[t] = a), + n[a].geometry[0].shift(), + (n[a].geometry[0] = i[0].concat( + n[a].geometry[0], + )), + a + ); + } + function l(t, e, r) { + var n = r ? e[0][e[0].length - 1] : e[0][0]; + return t + ":" + n.x + ":" + n.y; + } + for (var u = 0; u < t.length; u++) { + var c = t[u], + f = c.geometry, + h = c.text ? c.text.toString() : null; + if (h) { + var p = l(h, f), + d = l(h, f, !0); + if (p in r && d in e && r[p] !== e[d]) { + var v = s(p, d, f), + g = o(p, d, n[v].geometry); + delete e[p], + delete r[d], + (r[l(h, n[g].geometry, !0)] = g), + (n[v].geometry = null); + } else + p in r + ? o(p, d, f) + : d in e + ? s(p, d, f) + : (a(u), + (e[p] = i - 1), + (r[d] = i - 1)); + } else a(u); + } + return n.filter(function (t) { + return t.geometry; + }); + })(this.features)), + this.sortFeaturesByKey && + this.features.sort(function (t, e) { + return t.sortKey - e.sortKey; + }); + } + }), + (Ku.prototype.update = function (t, e, r) { + this.stateDependentLayers.length && + (this.text.programConfigurations.updatePaintArrays( + t, + e, + this.layers, + r, + ), + this.icon.programConfigurations.updatePaintArrays( + t, + e, + this.layers, + r, + )); + }), + (Ku.prototype.isEmpty = function () { + return ( + 0 === this.symbolInstances.length && + !this.hasRTLText + ); + }), + (Ku.prototype.uploadPending = function () { + return ( + !this.uploaded || + this.text.programConfigurations.needsUpload || + this.icon.programConfigurations.needsUpload + ); + }), + (Ku.prototype.upload = function (t) { + !this.uploaded && + this.hasDebugData() && + (this.textCollisionBox.upload(t), + this.iconCollisionBox.upload(t)), + this.text.upload( + t, + this.sortFeaturesByY, + !this.uploaded, + this.text.programConfigurations.needsUpload, + ), + this.icon.upload( + t, + this.sortFeaturesByY, + !this.uploaded, + this.icon.programConfigurations.needsUpload, + ), + (this.uploaded = !0); + }), + (Ku.prototype.destroyDebugData = function () { + this.textCollisionBox.destroy(), + this.iconCollisionBox.destroy(); + }), + (Ku.prototype.destroy = function () { + this.text.destroy(), + this.icon.destroy(), + this.hasDebugData() && this.destroyDebugData(); + }), + (Ku.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, + }; + }), + (Ku.prototype.addSymbols = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + ) { + for ( + var h = t.indexArray, + p = t.layoutVertexArray, + d = t.segments.prepareSegment( + 4 * e.length, + p, + h, + a.sortKey, + ), + v = this.glyphOffsetArray.length, + g = d.vertexLength, + y = + this.allowVerticalPlacement && + o === Jl.vertical + ? Math.PI / 2 + : 0, + m = a.text && a.text.sections, + x = 0; + x < e.length; + x++ + ) { + var b = e[x], + _ = b.tl, + w = b.tr, + T = b.bl, + k = b.br, + A = b.tex, + M = b.pixelOffsetTL, + S = b.pixelOffsetBR, + E = b.minFontScaleX, + L = b.minFontScaleY, + C = b.glyphOffset, + P = b.isSDF, + O = b.sectionIndex, + I = d.vertexLength, + D = C[1]; + Zu( + p, + s.x, + s.y, + _.x, + D + _.y, + A.x, + A.y, + r, + P, + M.x, + M.y, + E, + L, + ), + Zu( + p, + s.x, + s.y, + w.x, + D + w.y, + A.x + A.w, + A.y, + r, + P, + S.x, + M.y, + E, + L, + ), + Zu( + p, + s.x, + s.y, + T.x, + D + T.y, + A.x, + A.y + A.h, + r, + P, + M.x, + S.y, + E, + L, + ), + Zu( + p, + s.x, + s.y, + k.x, + D + k.y, + A.x + A.w, + A.y + A.h, + r, + P, + S.x, + S.y, + E, + L, + ), + Yu(t.dynamicLayoutVertexArray, s, y), + h.emplaceBack(I, I + 1, I + 2), + h.emplaceBack(I + 1, I + 2, I + 3), + (d.vertexLength += 4), + (d.primitiveLength += 2), + this.glyphOffsetArray.emplaceBack(C[0]), + (x !== e.length - 1 && + O === e[x + 1].sectionIndex) || + t.programConfigurations.populatePaintArrays( + p.length, + a, + a.index, + {}, + f, + m && m[O], + ); + } + t.placedSymbolArray.emplaceBack( + s.x, + s.y, + v, + this.glyphOffsetArray.length - v, + g, + l, + u, + s.segment, + r ? r[0] : 0, + r ? r[1] : 0, + n[0], + n[1], + o, + 0, + !1, + 0, + c, + ); + }), + (Ku.prototype._addCollisionDebugVertex = function ( + t, + e, + r, + n, + i, + a, + ) { + return ( + e.emplaceBack(0, 0), + t.emplaceBack( + r.x, + r.y, + n, + i, + Math.round(a.x), + Math.round(a.y), + ) + ); + }), + (Ku.prototype.addCollisionDebugVertices = function ( + t, + e, + r, + n, + i, + o, + s, + ) { + var l = i.segments.prepareSegment( + 4, + i.layoutVertexArray, + i.indexArray, + ), + u = l.vertexLength, + c = i.layoutVertexArray, + f = i.collisionVertexArray, + h = s.anchorX, + p = s.anchorY; + this._addCollisionDebugVertex( + c, + f, + o, + h, + p, + new a(t, e), + ), + this._addCollisionDebugVertex( + c, + f, + o, + h, + p, + new a(r, e), + ), + this._addCollisionDebugVertex( + c, + f, + o, + h, + p, + new a(r, n), + ), + this._addCollisionDebugVertex( + c, + f, + o, + h, + p, + new a(t, n), + ), + (l.vertexLength += 4); + var d = i.indexArray; + d.emplaceBack(u, u + 1), + d.emplaceBack(u + 1, u + 2), + d.emplaceBack(u + 2, u + 3), + d.emplaceBack(u + 3, u), + (l.primitiveLength += 4); + }), + (Ku.prototype.addDebugCollisionBoxes = function ( + t, + e, + r, + n, + ) { + for (var i = t; i < e; i++) { + var a = this.collisionBoxArray.get(i), + o = a.x1, + s = a.y1, + l = a.x2, + u = a.y2; + this.addCollisionDebugVertices( + o, + s, + l, + u, + n + ? this.textCollisionBox + : this.iconCollisionBox, + a.anchorPoint, + r, + ); + } + }), + (Ku.prototype.generateCollisionDebugBuffers = + function () { + this.hasDebugData() && this.destroyDebugData(), + (this.textCollisionBox = new Ju( + ia, + gl.members, + pa, + )), + (this.iconCollisionBox = new Ju( + ia, + gl.members, + pa, + )); + for ( + var t = 0; + t < this.symbolInstances.length; + t++ + ) { + var e = this.symbolInstances.get(t); + this.addDebugCollisionBoxes( + e.textBoxStartIndex, + e.textBoxEndIndex, + e, + !0, + ), + this.addDebugCollisionBoxes( + e.verticalTextBoxStartIndex, + e.verticalTextBoxEndIndex, + e, + !0, + ), + this.addDebugCollisionBoxes( + e.iconBoxStartIndex, + e.iconBoxEndIndex, + e, + !1, + ), + this.addDebugCollisionBoxes( + e.verticalIconBoxStartIndex, + e.verticalIconBoxEndIndex, + e, + !1, + ); + } + }), + (Ku.prototype._deserializeCollisionBoxesForSymbol = + function (t, e, r, n, i, a, o, s, l) { + for (var u = {}, c = e; c < r; c++) { + var f = t.get(c); + (u.textBox = { + x1: f.x1, + y1: f.y1, + x2: f.x2, + y2: f.y2, + anchorPointX: f.anchorPointX, + anchorPointY: f.anchorPointY, + }), + (u.textFeatureIndex = f.featureIndex); + break; + } + for (var h = n; h < i; h++) { + var p = t.get(h); + (u.verticalTextBox = { + x1: p.x1, + y1: p.y1, + x2: p.x2, + y2: p.y2, + anchorPointX: p.anchorPointX, + anchorPointY: p.anchorPointY, + }), + (u.verticalTextFeatureIndex = p.featureIndex); + break; + } + for (var d = a; d < o; d++) { + var v = t.get(d); + (u.iconBox = { + x1: v.x1, + y1: v.y1, + x2: v.x2, + y2: v.y2, + anchorPointX: v.anchorPointX, + anchorPointY: v.anchorPointY, + }), + (u.iconFeatureIndex = v.featureIndex); + break; + } + for (var g = s; g < l; g++) { + var y = t.get(g); + (u.verticalIconBox = { + x1: y.x1, + y1: y.y1, + x2: y.x2, + y2: y.y2, + anchorPointX: y.anchorPointX, + anchorPointY: y.anchorPointY, + }), + (u.verticalIconFeatureIndex = y.featureIndex); + break; + } + return u; + }), + (Ku.prototype.deserializeCollisionBoxes = function ( + t, + ) { + this.collisionArrays = []; + for ( + var e = 0; + e < this.symbolInstances.length; + e++ + ) { + var r = this.symbolInstances.get(e); + this.collisionArrays.push( + this._deserializeCollisionBoxesForSymbol( + t, + r.textBoxStartIndex, + r.textBoxEndIndex, + r.verticalTextBoxStartIndex, + r.verticalTextBoxEndIndex, + r.iconBoxStartIndex, + r.iconBoxEndIndex, + r.verticalIconBoxStartIndex, + r.verticalIconBoxEndIndex, + ), + ); + } + }), + (Ku.prototype.hasTextData = function () { + return this.text.segments.get().length > 0; + }), + (Ku.prototype.hasIconData = function () { + return this.icon.segments.get().length > 0; + }), + (Ku.prototype.hasDebugData = function () { + return ( + this.textCollisionBox && this.iconCollisionBox + ); + }), + (Ku.prototype.hasTextCollisionBoxData = function () { + return ( + this.hasDebugData() && + this.textCollisionBox.segments.get().length > 0 + ); + }), + (Ku.prototype.hasIconCollisionBoxData = function () { + return ( + this.hasDebugData() && + this.iconCollisionBox.segments.get().length > 0 + ); + }), + (Ku.prototype.addIndicesForPlacedSymbol = function ( + t, + e, + ) { + for ( + var r = t.placedSymbolArray.get(e), + n = r.vertexStartIndex + 4 * r.numGlyphs, + i = r.vertexStartIndex; + i < n; + i += 4 + ) + t.indexArray.emplaceBack(i, i + 1, i + 2), + t.indexArray.emplaceBack(i + 1, i + 2, i + 3); + }), + (Ku.prototype.getSortedSymbolIndexes = function (t) { + if ( + this.sortedAngle === t && + void 0 !== this.symbolInstanceIndexes + ) + return this.symbolInstanceIndexes; + for ( + var e = Math.sin(t), + r = Math.cos(t), + n = [], + i = [], + a = [], + o = 0; + o < this.symbolInstances.length; + ++o + ) { + a.push(o); + var s = this.symbolInstances.get(o); + n.push( + 0 | Math.round(e * s.anchorX + r * s.anchorY), + ), + i.push(s.featureIndex); + } + return ( + a.sort(function (t, e) { + return n[t] - n[e] || i[e] - i[t]; + }), + a + ); + }), + (Ku.prototype.addToSortKeyRanges = function (t, e) { + var r = + this.sortKeyRanges[this.sortKeyRanges.length - 1]; + r && r.sortKey === e + ? (r.symbolInstanceEnd = t + 1) + : this.sortKeyRanges.push({ + sortKey: e, + symbolInstanceStart: t, + symbolInstanceEnd: t + 1, + }); + }), + (Ku.prototype.sortFeatures = function (t) { + var e = this; + if ( + this.sortFeaturesByY && + this.sortedAngle !== t && + !( + this.text.segments.get().length > 1 || + this.icon.segments.get().length > 1 + ) + ) { + (this.symbolInstanceIndexes = + this.getSortedSymbolIndexes(t)), + (this.sortedAngle = t), + this.text.indexArray.clear(), + this.icon.indexArray.clear(), + (this.featureSortOrder = []); + for ( + var r = 0, n = this.symbolInstanceIndexes; + r < n.length; + r += 1 + ) { + var i = n[r], + a = this.symbolInstances.get(i); + this.featureSortOrder.push(a.featureIndex), + [ + a.rightJustifiedTextSymbolIndex, + a.centerJustifiedTextSymbolIndex, + a.leftJustifiedTextSymbolIndex, + ].forEach(function (t, r, n) { + t >= 0 && + n.indexOf(t) === r && + e.addIndicesForPlacedSymbol(e.text, t); + }), + a.verticalPlacedTextSymbolIndex >= 0 && + this.addIndicesForPlacedSymbol( + this.text, + a.verticalPlacedTextSymbolIndex, + ), + a.placedIconSymbolIndex >= 0 && + this.addIndicesForPlacedSymbol( + this.icon, + a.placedIconSymbolIndex, + ), + a.verticalPlacedIconSymbolIndex >= 0 && + this.addIndicesForPlacedSymbol( + this.icon, + a.verticalPlacedIconSymbolIndex, + ); + } + this.text.indexBuffer && + this.text.indexBuffer.updateData( + this.text.indexArray, + ), + this.icon.indexBuffer && + this.icon.indexBuffer.updateData( + this.icon.indexArray, + ); + } + }), + Qn("SymbolBucket", Ku, { + omit: [ + "layers", + "collisionBoxArray", + "features", + "compareText", + ], + }), + (Ku.MAX_GLYPHS = 65535), + (Ku.addDynamicAttributes = Yu); + var $u = new Ui({ + "symbol-placement": new Ri( + It.layout_symbol["symbol-placement"], + ), + "symbol-spacing": new Ri( + It.layout_symbol["symbol-spacing"], + ), + "symbol-avoid-edges": new Ri( + It.layout_symbol["symbol-avoid-edges"], + ), + "symbol-sort-key": new Fi( + It.layout_symbol["symbol-sort-key"], + ), + "symbol-z-order": new Ri( + It.layout_symbol["symbol-z-order"], + ), + "icon-allow-overlap": new Ri( + It.layout_symbol["icon-allow-overlap"], + ), + "icon-ignore-placement": new Ri( + It.layout_symbol["icon-ignore-placement"], + ), + "icon-optional": new Ri( + It.layout_symbol["icon-optional"], + ), + "icon-rotation-alignment": new Ri( + It.layout_symbol["icon-rotation-alignment"], + ), + "icon-size": new Fi(It.layout_symbol["icon-size"]), + "icon-text-fit": new Ri( + It.layout_symbol["icon-text-fit"], + ), + "icon-text-fit-padding": new Ri( + It.layout_symbol["icon-text-fit-padding"], + ), + "icon-image": new Fi( + It.layout_symbol["icon-image"], + ), + "icon-rotate": new Fi( + It.layout_symbol["icon-rotate"], + ), + "icon-padding": new Ri( + It.layout_symbol["icon-padding"], + ), + "icon-keep-upright": new Ri( + It.layout_symbol["icon-keep-upright"], + ), + "icon-offset": new Fi( + It.layout_symbol["icon-offset"], + ), + "icon-anchor": new Fi( + It.layout_symbol["icon-anchor"], + ), + "icon-pitch-alignment": new Ri( + It.layout_symbol["icon-pitch-alignment"], + ), + "text-pitch-alignment": new Ri( + It.layout_symbol["text-pitch-alignment"], + ), + "text-rotation-alignment": new Ri( + It.layout_symbol["text-rotation-alignment"], + ), + "text-field": new Fi( + It.layout_symbol["text-field"], + ), + "text-font": new Fi(It.layout_symbol["text-font"]), + "text-size": new Fi(It.layout_symbol["text-size"]), + "text-max-width": new Fi( + It.layout_symbol["text-max-width"], + ), + "text-line-height": new Ri( + It.layout_symbol["text-line-height"], + ), + "text-letter-spacing": new Fi( + It.layout_symbol["text-letter-spacing"], + ), + "text-justify": new Fi( + It.layout_symbol["text-justify"], + ), + "text-radial-offset": new Fi( + It.layout_symbol["text-radial-offset"], + ), + "text-variable-anchor": new Ri( + It.layout_symbol["text-variable-anchor"], + ), + "text-anchor": new Fi( + It.layout_symbol["text-anchor"], + ), + "text-max-angle": new Ri( + It.layout_symbol["text-max-angle"], + ), + "text-writing-mode": new Ri( + It.layout_symbol["text-writing-mode"], + ), + "text-rotate": new Fi( + It.layout_symbol["text-rotate"], + ), + "text-padding": new Ri( + It.layout_symbol["text-padding"], + ), + "text-keep-upright": new Ri( + It.layout_symbol["text-keep-upright"], + ), + "text-transform": new Fi( + It.layout_symbol["text-transform"], + ), + "text-offset": new Fi( + It.layout_symbol["text-offset"], + ), + "text-allow-overlap": new Ri( + It.layout_symbol["text-allow-overlap"], + ), + "text-ignore-placement": new Ri( + It.layout_symbol["text-ignore-placement"], + ), + "text-optional": new Ri( + It.layout_symbol["text-optional"], + ), + }), + Qu = { + paint: new Ui({ + "icon-opacity": new Fi( + It.paint_symbol["icon-opacity"], + ), + "icon-color": new Fi( + It.paint_symbol["icon-color"], + ), + "icon-halo-color": new Fi( + It.paint_symbol["icon-halo-color"], + ), + "icon-halo-width": new Fi( + It.paint_symbol["icon-halo-width"], + ), + "icon-halo-blur": new Fi( + It.paint_symbol["icon-halo-blur"], + ), + "icon-translate": new Ri( + It.paint_symbol["icon-translate"], + ), + "icon-translate-anchor": new Ri( + It.paint_symbol["icon-translate-anchor"], + ), + "text-opacity": new Fi( + It.paint_symbol["text-opacity"], + ), + "text-color": new Fi( + It.paint_symbol["text-color"], + { + runtimeType: Gt, + getOverride: function (t) { + return t.textColor; + }, + hasOverride: function (t) { + return !!t.textColor; + }, + }, + ), + "text-halo-color": new Fi( + It.paint_symbol["text-halo-color"], + ), + "text-halo-width": new Fi( + It.paint_symbol["text-halo-width"], + ), + "text-halo-blur": new Fi( + It.paint_symbol["text-halo-blur"], + ), + "text-translate": new Ri( + It.paint_symbol["text-translate"], + ), + "text-translate-anchor": new Ri( + It.paint_symbol["text-translate-anchor"], + ), + }), + layout: $u, + }, + tc = function (t) { + (this.type = t.property.overrides + ? t.property.overrides.runtimeType + : Ut), + (this.defaultValue = t); + }; + (tc.prototype.evaluate = function (t) { + if (t.formattedSection) { + var e = this.defaultValue.property.overrides; + if (e && e.hasOverride(t.formattedSection)) + return e.getOverride(t.formattedSection); + } + return t.feature && t.featureState + ? this.defaultValue.evaluate( + t.feature, + t.featureState, + ) + : this.defaultValue.property.specification.default; + }), + (tc.prototype.eachChild = function (t) { + this.defaultValue.isConstant() || + t( + this.defaultValue.value._styleExpression + .expression, + ); + }), + (tc.prototype.outputDefined = function () { + return !1; + }), + (tc.prototype.serialize = function () { + return null; + }), + Qn("FormatSectionOverride", tc, { + omit: ["defaultValue"], + }); + var ec = (function (t) { + function e(e) { + t.call(this, e, Qu); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.recalculate = function (e, r) { + if ( + (t.prototype.recalculate.call(this, e, r), + "auto" === + this.layout.get( + "icon-rotation-alignment", + ) && + ("point" !== + 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", + ) && + ("point" !== + 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", + )), + "point" === + this.layout.get("symbol-placement")) + ) { + var n = this.layout.get("text-writing-mode"); + if (n) { + for ( + var i = [], a = 0, o = n; + a < o.length; + a += 1 + ) { + var s = o[a]; + i.indexOf(s) < 0 && i.push(s); + } + this.layout._values["text-writing-mode"] = + i; + } else + this.layout._values["text-writing-mode"] = [ + "horizontal", + ]; + } + this._setPaintOverrides(); + }), + (e.prototype.getValueAndResolveTokens = function ( + t, + e, + r, + n, + ) { + var i = this.layout + .get(t) + .evaluate(e, {}, r, n), + a = this._unevaluatedLayout._values[t]; + return a.isDataDriven() || nn(a.value) || !i + ? i + : (function (t, e) { + return e.replace( + /{([^{}]+)}/g, + function (e, r) { + return r in t ? String(t[r]) : ""; + }, + ); + })(e.properties, i); + }), + (e.prototype.createBucket = function (t) { + return new Ku(t); + }), + (e.prototype.queryRadius = function () { + return 0; + }), + (e.prototype.queryIntersectsFeature = + function () { + return !1; + }), + (e.prototype._setPaintOverrides = function () { + for ( + var t = 0, r = Qu.paint.overridableProperties; + t < r.length; + t += 1 + ) { + var n = r[t]; + if (e.hasPaintOverride(this.layout, n)) { + var i, + a = this.paint.get(n), + o = new tc(a), + s = new rn(o, a.property.specification); + (i = + "constant" === a.value.kind || + "source" === a.value.kind + ? new on("source", s) + : new sn( + "composite", + s, + a.value.zoomStops, + a.value._interpolationType, + )), + (this.paint._values[n] = new Di( + a.property, + i, + a.parameters, + )); + } + } + }), + (e.prototype._handleOverridablePaintPropertyUpdate = + function (t, r, n) { + return ( + !( + !this.layout || + r.isDataDriven() || + n.isDataDriven() + ) && e.hasPaintOverride(this.layout, t) + ); + }), + (e.hasPaintOverride = function (t, e) { + var r = t.get("text-field"), + n = Qu.paint.properties[e], + i = !1, + a = function (t) { + for ( + var e = 0, r = t; + e < r.length; + e += 1 + ) { + var a = r[e]; + if ( + n.overrides && + n.overrides.hasOverride(a) + ) + return void (i = !0); + } + }; + if ( + "constant" === r.value.kind && + r.value.value instanceof le + ) + a(r.value.value.sections); + else if ("source" === r.value.kind) { + var o = function (t) { + if (!i) + if ( + t instanceof de && + he(t.value) === Xt + ) { + var e = t.value; + a(e.sections); + } else + t instanceof me + ? a(t.sections) + : t.eachChild(o); + }, + s = r.value; + s._styleExpression && + o(s._styleExpression.expression); + } + return i; + }), + e + ); + })(Hi), + rc = { + paint: new Ui({ + "background-color": new Ri( + It.paint_background["background-color"], + ), + "background-pattern": new Ni( + It.paint_background["background-pattern"], + ), + "background-opacity": new Ri( + It.paint_background["background-opacity"], + ), + }), + }, + nc = (function (t) { + function e(e) { + t.call(this, e, rc); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + e + ); + })(Hi), + ic = { + paint: new Ui({ + "raster-opacity": new Ri( + It.paint_raster["raster-opacity"], + ), + "raster-hue-rotate": new Ri( + It.paint_raster["raster-hue-rotate"], + ), + "raster-brightness-min": new Ri( + It.paint_raster["raster-brightness-min"], + ), + "raster-brightness-max": new Ri( + It.paint_raster["raster-brightness-max"], + ), + "raster-saturation": new Ri( + It.paint_raster["raster-saturation"], + ), + "raster-contrast": new Ri( + It.paint_raster["raster-contrast"], + ), + "raster-resampling": new Ri( + It.paint_raster["raster-resampling"], + ), + "raster-fade-duration": new Ri( + It.paint_raster["raster-fade-duration"], + ), + }), + }, + ac = (function (t) { + function e(e) { + t.call(this, e, ic); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + e + ); + })(Hi); + var oc = (function (t) { + function e(e) { + t.call(this, e, {}), (this.implementation = e); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.is3D = function () { + return ( + "3d" === this.implementation.renderingMode + ); + }), + (e.prototype.hasOffscreenPass = function () { + return void 0 !== this.implementation.prerender; + }), + (e.prototype.recalculate = function () {}), + (e.prototype.updateTransitions = function () {}), + (e.prototype.hasTransition = function () {}), + (e.prototype.serialize = function () {}), + (e.prototype.onAdd = function (t) { + this.implementation.onAdd && + this.implementation.onAdd( + t, + t.painter.context.gl, + ); + }), + (e.prototype.onRemove = function (t) { + this.implementation.onRemove && + this.implementation.onRemove( + t, + t.painter.context.gl, + ); + }), + e + ); + })(Hi), + sc = { + circle: Fo, + heatmap: Yo, + hillshade: Xo, + fill: Rs, + "fill-extrusion": Qs, + line: fl, + symbol: ec, + background: nc, + raster: ac, + }; + var lc = self.HTMLImageElement, + uc = self.HTMLCanvasElement, + cc = self.HTMLVideoElement, + fc = self.ImageData, + hc = self.ImageBitmap, + pc = function (t, e, r, n) { + (this.context = t), + (this.format = r), + (this.texture = t.gl.createTexture()), + this.update(e, n); + }; + (pc.prototype.update = function (t, e, r) { + var n = t.width, + i = t.height, + a = !( + (this.size && + this.size[0] === n && + this.size[1] === i) || + r + ), + o = this.context, + s = o.gl; + if ( + ((this.useMipmap = Boolean(e && e.useMipmap)), + s.bindTexture(s.TEXTURE_2D, this.texture), + o.pixelStoreUnpackFlipY.set(!1), + o.pixelStoreUnpack.set(1), + o.pixelStoreUnpackPremultiplyAlpha.set( + this.format === s.RGBA && + (!e || !1 !== e.premultiply), + ), + a) + ) + (this.size = [n, i]), + t instanceof lc || + t instanceof uc || + t instanceof cc || + t instanceof fc || + (hc && t instanceof hc) + ? s.texImage2D( + s.TEXTURE_2D, + 0, + this.format, + this.format, + s.UNSIGNED_BYTE, + t, + ) + : s.texImage2D( + s.TEXTURE_2D, + 0, + this.format, + n, + i, + 0, + this.format, + s.UNSIGNED_BYTE, + t.data, + ); + else { + var l = r || { x: 0, y: 0 }, + u = l.x, + c = l.y; + t instanceof lc || + t instanceof uc || + t instanceof cc || + t instanceof fc || + (hc && t instanceof hc) + ? s.texSubImage2D( + s.TEXTURE_2D, + 0, + u, + c, + s.RGBA, + s.UNSIGNED_BYTE, + t, + ) + : s.texSubImage2D( + s.TEXTURE_2D, + 0, + u, + c, + n, + i, + s.RGBA, + s.UNSIGNED_BYTE, + t.data, + ); + } + this.useMipmap && + this.isSizePowerOfTwo() && + s.generateMipmap(s.TEXTURE_2D); + }), + (pc.prototype.bind = function (t, e, r) { + var n = this.context.gl; + n.bindTexture(n.TEXTURE_2D, this.texture), + r !== n.LINEAR_MIPMAP_NEAREST || + this.isSizePowerOfTwo() || + (r = n.LINEAR), + 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)); + }), + (pc.prototype.isSizePowerOfTwo = function () { + return ( + this.size[0] === this.size[1] && + (Math.log(this.size[0]) / Math.LN2) % 1 == 0 + ); + }), + (pc.prototype.destroy = function () { + this.context.gl.deleteTexture(this.texture), + (this.texture = null); + }); + var dc = function (t) { + var e = this; + (this._callback = t), + (this._triggered = !1), + "undefined" != typeof MessageChannel && + ((this._channel = new MessageChannel()), + (this._channel.port2.onmessage = function () { + (e._triggered = !1), e._callback(); + })); + }; + (dc.prototype.trigger = function () { + var t = this; + this._triggered || + ((this._triggered = !0), + this._channel + ? this._channel.port1.postMessage(!0) + : setTimeout(function () { + (t._triggered = !1), t._callback(); + }, 0)); + }), + (dc.prototype.remove = function () { + delete this._channel, + (this._callback = function () {}); + }); + var vc = function (t, e, r) { + (this.target = t), + (this.parent = e), + (this.mapId = r), + (this.callbacks = {}), + (this.tasks = {}), + (this.taskQueue = []), + (this.cancelCallbacks = {}), + g(["receive", "process"], this), + (this.invoker = new dc(this.process)), + this.target.addEventListener( + "message", + this.receive, + !1, + ), + (this.globalScope = A() ? t : self); + }; + function gc(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, + ]; + } + (vc.prototype.send = function (t, e, r, n, i) { + var a = this; + void 0 === i && (i = !1); + var o = Math.round(1e18 * Math.random()) + .toString(36) + .substring(0, 10); + r && (this.callbacks[o] = r); + var s = E(this.globalScope) ? void 0 : []; + return ( + this.target.postMessage( + { + id: o, + type: t, + hasCallback: !!r, + targetMapId: n, + mustQueue: i, + sourceMapId: this.mapId, + data: ni(e, s), + }, + s, + ), + { + cancel: function () { + r && delete a.callbacks[o], + a.target.postMessage({ + id: o, + type: "", + targetMapId: n, + sourceMapId: a.mapId, + }); + }, + } + ); + }), + (vc.prototype.receive = function (t) { + var e = t.data, + r = e.id; + if ( + r && + (!e.targetMapId || this.mapId === e.targetMapId) + ) + if ("" === e.type) { + delete this.tasks[r]; + var n = this.cancelCallbacks[r]; + delete this.cancelCallbacks[r], n && n(); + } else + A() || e.mustQueue + ? ((this.tasks[r] = e), + this.taskQueue.push(r), + this.invoker.trigger()) + : this.processTask(r, e); + }), + (vc.prototype.process = function () { + if (this.taskQueue.length) { + var t = this.taskQueue.shift(), + e = this.tasks[t]; + delete this.tasks[t], + this.taskQueue.length && this.invoker.trigger(), + e && this.processTask(t, e); + } + }), + (vc.prototype.processTask = function (t, e) { + var r = this; + if ("" === e.type) { + var n = this.callbacks[t]; + delete this.callbacks[t], + n && + (e.error + ? n(ii(e.error)) + : n(null, ii(e.data))); + } else { + var i = !1, + a = E(this.globalScope) ? void 0 : [], + o = e.hasCallback + ? function (e, n) { + (i = !0), + delete r.cancelCallbacks[t], + r.target.postMessage( + { + id: t, + type: "", + sourceMapId: r.mapId, + error: e ? ni(e) : null, + data: ni(n, a), + }, + a, + ); + } + : function (t) { + i = !0; + }, + s = null, + l = ii(e.data); + if (this.parent[e.type]) + s = this.parent[e.type](e.sourceMapId, l, o); + else if (this.parent.getWorkerSource) { + var u = e.type.split("."); + s = this.parent + .getWorkerSource( + e.sourceMapId, + u[0], + l.source, + ) + [u[1]](l, o); + } else + o( + new Error( + "Could not find function " + e.type, + ), + ); + !i && + s && + s.cancel && + (this.cancelCallbacks[t] = s.cancel); + } + }), + (vc.prototype.remove = function () { + this.invoker.remove(), + this.target.removeEventListener( + "message", + this.receive, + !1, + ); + }); + var yc = 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])); + }; + (yc.prototype.setNorthEast = function (t) { + return ( + (this._ne = + t instanceof xc + ? new xc(t.lng, t.lat) + : xc.convert(t)), + this + ); + }), + (yc.prototype.setSouthWest = function (t) { + return ( + (this._sw = + t instanceof xc + ? new xc(t.lng, t.lat) + : xc.convert(t)), + this + ); + }), + (yc.prototype.extend = function (t) { + var e, + r, + n = this._sw, + i = this._ne; + if (t instanceof xc) (e = t), (r = t); + else { + if (!(t instanceof yc)) { + if (Array.isArray(t)) { + if ( + 4 === t.length || + t.every(Array.isArray) + ) { + var a = t; + return this.extend(yc.convert(a)); + } + var o = t; + return this.extend(xc.convert(o)); + } + return this; + } + if (((e = t._sw), (r = t._ne), !e || !r)) + return this; + } + return ( + n || i + ? ((n.lng = Math.min(e.lng, n.lng)), + (n.lat = Math.min(e.lat, n.lat)), + (i.lng = Math.max(r.lng, i.lng)), + (i.lat = Math.max(r.lat, i.lat))) + : ((this._sw = new xc(e.lng, e.lat)), + (this._ne = new xc(r.lng, r.lat))), + this + ); + }), + (yc.prototype.getCenter = function () { + return new xc( + (this._sw.lng + this._ne.lng) / 2, + (this._sw.lat + this._ne.lat) / 2, + ); + }), + (yc.prototype.getSouthWest = function () { + return this._sw; + }), + (yc.prototype.getNorthEast = function () { + return this._ne; + }), + (yc.prototype.getNorthWest = function () { + return new xc(this.getWest(), this.getNorth()); + }), + (yc.prototype.getSouthEast = function () { + return new xc(this.getEast(), this.getSouth()); + }), + (yc.prototype.getWest = function () { + return this._sw.lng; + }), + (yc.prototype.getSouth = function () { + return this._sw.lat; + }), + (yc.prototype.getEast = function () { + return this._ne.lng; + }), + (yc.prototype.getNorth = function () { + return this._ne.lat; + }), + (yc.prototype.toArray = function () { + return [this._sw.toArray(), this._ne.toArray()]; + }), + (yc.prototype.toString = function () { + return ( + "LngLatBounds(" + + this._sw.toString() + + ", " + + this._ne.toString() + + ")" + ); + }), + (yc.prototype.isEmpty = function () { + return !(this._sw && this._ne); + }), + (yc.prototype.contains = function (t) { + var e = xc.convert(t), + r = e.lng, + n = e.lat, + i = this._sw.lat <= n && n <= this._ne.lat, + a = this._sw.lng <= r && r <= this._ne.lng; + return ( + this._sw.lng > this._ne.lng && + (a = this._sw.lng >= r && r >= this._ne.lng), + i && a + ); + }), + (yc.convert = function (t) { + return !t || t instanceof yc ? t : new yc(t); + }); + var mc = 6371008.8, + xc = 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", + ); + }; + (xc.prototype.wrap = function () { + return new xc(c(this.lng, -180, 180), this.lat); + }), + (xc.prototype.toArray = function () { + return [this.lng, this.lat]; + }), + (xc.prototype.toString = function () { + return "LngLat(" + this.lng + ", " + this.lat + ")"; + }), + (xc.prototype.distanceTo = function (t) { + var e = Math.PI / 180, + r = this.lat * e, + n = t.lat * e, + i = + Math.sin(r) * Math.sin(n) + + Math.cos(r) * + Math.cos(n) * + Math.cos((t.lng - this.lng) * e); + return mc * Math.acos(Math.min(i, 1)); + }), + (xc.prototype.toBounds = function (t) { + void 0 === t && (t = 0); + var e = (360 * t) / 40075017, + r = e / Math.cos((Math.PI / 180) * this.lat); + return new yc( + new xc(this.lng - r, this.lat - e), + new xc(this.lng + r, this.lat + e), + ); + }), + (xc.convert = function (t) { + if (t instanceof xc) return t; + if ( + Array.isArray(t) && + (2 === t.length || 3 === t.length) + ) + return new xc(Number(t[0]), Number(t[1])); + if ( + !Array.isArray(t) && + "object" == typeof t && + null !== t + ) + return new xc( + Number("lng" in t ? t.lng : t.lon), + Number(t.lat), + ); + throw new Error( + "`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]", + ); + }); + var bc = 2 * Math.PI * mc; + function _c(t) { + return bc * Math.cos((t * Math.PI) / 180); + } + function wc(t) { + return (180 + t) / 360; + } + function Tc(t) { + return ( + (180 - + (180 / Math.PI) * + Math.log( + Math.tan(Math.PI / 4 + (t * Math.PI) / 360), + )) / + 360 + ); + } + function kc(t, e) { + return t / _c(e); + } + function Ac(t) { + var e = 180 - 360 * t; + return ( + (360 / Math.PI) * + Math.atan(Math.exp((e * Math.PI) / 180)) - + 90 + ); + } + var Mc = function (t, e, r) { + void 0 === r && (r = 0), + (this.x = +t), + (this.y = +e), + (this.z = +r); + }; + (Mc.fromLngLat = function (t, e) { + void 0 === e && (e = 0); + var r = xc.convert(t); + return new Mc(wc(r.lng), Tc(r.lat), kc(e, r.lat)); + }), + (Mc.prototype.toLngLat = function () { + return new xc(360 * this.x - 180, Ac(this.y)); + }), + (Mc.prototype.toAltitude = function () { + return (t = this.z), (e = this.y), t * _c(Ac(e)); + var t, e; + }), + (Mc.prototype.meterInMercatorCoordinateUnits = + function () { + return ( + (1 / bc) * + ((t = Ac(this.y)), + 1 / Math.cos((t * Math.PI) / 180)) + ); + var t; + }); + var Sc = function (t, e, r) { + (this.z = t), + (this.x = e), + (this.y = r), + (this.key = Cc(0, t, t, e, r)); + }; + (Sc.prototype.equals = function (t) { + return ( + this.z === t.z && this.x === t.x && this.y === t.y + ); + }), + (Sc.prototype.url = function (t, e) { + var r, + n, + i, + a, + o, + s = + ((r = this.x), + (n = this.y), + (i = this.z), + (a = gc( + 256 * r, + 256 * (n = Math.pow(2, i) - n - 1), + i, + )), + (o = gc(256 * (r + 1), 256 * (n + 1), i)), + a[0] + "," + a[1] + "," + o[0] + "," + o[1]), + l = (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}", l) + .replace("{bbox-epsg-3857}", s); + }), + (Sc.prototype.getTilePoint = function (t) { + var e = Math.pow(2, this.z); + return new a( + (t.x * e - this.x) * oo, + (t.y * e - this.y) * oo, + ); + }), + (Sc.prototype.toString = function () { + return this.z + "/" + this.x + "/" + this.y; + }); + var Ec = function (t, e) { + (this.wrap = t), + (this.canonical = e), + (this.key = Cc(t, e.z, e.z, e.x, e.y)); + }, + Lc = function (t, e, r, n, i) { + (this.overscaledZ = t), + (this.wrap = e), + (this.canonical = new Sc(r, +n, +i)), + (this.key = Cc(e, t, r, n, i)); + }; + function Cc(t, e, r, n, i) { + (t *= 2) < 0 && (t = -1 * t - 1); + var a = 1 << r; + return ( + (a * a * t + a * i + n).toString(36) + + r.toString(36) + + e.toString(36) + ); + } + (Lc.prototype.equals = function (t) { + return ( + this.overscaledZ === t.overscaledZ && + this.wrap === t.wrap && + this.canonical.equals(t.canonical) + ); + }), + (Lc.prototype.scaledTo = function (t) { + var e = this.canonical.z - t; + return t > this.canonical.z + ? new Lc( + t, + this.wrap, + this.canonical.z, + this.canonical.x, + this.canonical.y, + ) + : new Lc( + t, + this.wrap, + t, + this.canonical.x >> e, + this.canonical.y >> e, + ); + }), + (Lc.prototype.calculateScaledKey = function (t, e) { + var r = this.canonical.z - t; + return t > this.canonical.z + ? Cc( + this.wrap * +e, + t, + this.canonical.z, + this.canonical.x, + this.canonical.y, + ) + : Cc( + this.wrap * +e, + t, + t, + this.canonical.x >> r, + this.canonical.y >> r, + ); + }), + (Lc.prototype.isChildOf = function (t) { + if (t.wrap !== this.wrap) return !1; + 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) + ); + }), + (Lc.prototype.children = function (t) { + if (this.overscaledZ >= t) + return [ + new Lc( + 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 Lc(e, this.wrap, e, r, n), + new Lc(e, this.wrap, e, r + 1, n), + new Lc(e, this.wrap, e, r, n + 1), + new Lc(e, this.wrap, e, r + 1, n + 1), + ]; + }), + (Lc.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))))) + ); + }), + (Lc.prototype.wrapped = function () { + return new Lc( + this.overscaledZ, + 0, + this.canonical.z, + this.canonical.x, + this.canonical.y, + ); + }), + (Lc.prototype.unwrapTo = function (t) { + return new Lc( + this.overscaledZ, + t, + this.canonical.z, + this.canonical.x, + this.canonical.y, + ); + }), + (Lc.prototype.overscaleFactor = function () { + return Math.pow( + 2, + this.overscaledZ - this.canonical.z, + ); + }), + (Lc.prototype.toUnwrapped = function () { + return new Ec(this.wrap, this.canonical); + }), + (Lc.prototype.toString = function () { + return ( + this.overscaledZ + + "/" + + this.canonical.x + + "/" + + this.canonical.y + ); + }), + (Lc.prototype.getTilePoint = function (t) { + return this.canonical.getTilePoint( + new Mc(t.x - this.wrap, t.y), + ); + }), + Qn("CanonicalTileID", Sc), + Qn("OverscaledTileID", Lc, { omit: ["posMatrix"] }); + var Pc = function (t, e, r) { + if (((this.uid = t), e.height !== e.width)) + throw new RangeError("DEM tiles must be square"); + if (r && "mapbox" !== r && "terrarium" !== r) + return w( + '"' + + r + + '" is not a valid encoding type. Valid types include "mapbox" and "terrarium".', + ); + this.stride = e.height; + var n = (this.dim = e.height - 2); + (this.data = new Uint32Array(e.data.buffer)), + (this.encoding = r || "mapbox"); + for (var i = 0; i < n; i++) + (this.data[this._idx(-1, i)] = + this.data[this._idx(0, i)]), + (this.data[this._idx(n, i)] = + this.data[this._idx(n - 1, i)]), + (this.data[this._idx(i, -1)] = + this.data[this._idx(i, 0)]), + (this.data[this._idx(i, n)] = + this.data[this._idx(i, n - 1)]); + (this.data[this._idx(-1, -1)] = + this.data[this._idx(0, 0)]), + (this.data[this._idx(n, -1)] = + this.data[this._idx(n - 1, 0)]), + (this.data[this._idx(-1, n)] = + this.data[this._idx(0, n - 1)]), + (this.data[this._idx(n, n)] = + this.data[this._idx(n - 1, n - 1)]); + }; + (Pc.prototype.get = function (t, e) { + var r = new Uint8Array(this.data.buffer), + n = 4 * this._idx(t, e); + return ( + "terrarium" === this.encoding + ? this._unpackTerrarium + : this._unpackMapbox + )(r[n], r[n + 1], r[n + 2]); + }), + (Pc.prototype.getUnpackVector = function () { + return "terrarium" === this.encoding + ? [256, 1, 1 / 256, 32768] + : [6553.6, 25.6, 0.1, 1e4]; + }), + (Pc.prototype._idx = function (t, e) { + if ( + t < -1 || + t >= this.dim + 1 || + e < -1 || + e >= this.dim + 1 + ) + throw new RangeError( + "out of range source coordinates for DEM data", + ); + return (e + 1) * this.stride + (t + 1); + }), + (Pc.prototype._unpackMapbox = function (t, e, r) { + return (256 * t * 256 + 256 * e + r) / 10 - 1e4; + }), + (Pc.prototype._unpackTerrarium = function (t, e, r) { + return 256 * t + e + r / 256 - 32768; + }), + (Pc.prototype.getPixels = function () { + return new qo( + { width: this.stride, height: this.stride }, + new Uint8Array(this.data.buffer), + ); + }), + (Pc.prototype.backfillBorder = function (t, e, r) { + if (this.dim !== t.dim) + throw new Error("dem dimension mismatch"); + var n = e * this.dim, + i = e * this.dim + this.dim, + a = r * this.dim, + o = r * this.dim + this.dim; + switch (e) { + case -1: + n = i - 1; + break; + case 1: + i = n + 1; + } + switch (r) { + case -1: + a = o - 1; + break; + case 1: + o = a + 1; + } + for ( + var s = -e * this.dim, l = -r * this.dim, u = a; + u < o; + u++ + ) + for (var c = n; c < i; c++) + this.data[this._idx(c, u)] = + t.data[this._idx(c + s, u + l)]; + }), + Qn("DEMData", Pc); + var Oc = 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); + } + }; + (Oc.prototype.encode = function (t) { + return this._stringToNumber[t]; + }), + (Oc.prototype.decode = function (t) { + return this._numberToString[t]; + }); + var Ic = function (t, e, r, n, i) { + (this.type = "Feature"), + (this._vectorTileFeature = t), + (t._z = e), + (t._x = r), + (t._y = n), + (this.properties = t.properties), + (this.id = i); + }, + Dc = { geometry: { configurable: !0 } }; + (Dc.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 + ); + }), + (Dc.geometry.set = function (t) { + this._geometry = t; + }), + (Ic.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(Ic.prototype, Dc); + var zc = function () { + (this.state = {}), + (this.stateChanges = {}), + (this.deletedStates = {}); + }; + (zc.prototype.updateState = function (t, e, r) { + var n = String(e); + if ( + ((this.stateChanges[t] = + this.stateChanges[t] || {}), + (this.stateChanges[t][n] = + this.stateChanges[t][n] || {}), + f(this.stateChanges[t][n], r), + null === this.deletedStates[t]) + ) + for (var i in ((this.deletedStates[t] = {}), + this.state[t])) + i !== n && (this.deletedStates[t][i] = null); + else if ( + this.deletedStates[t] && + null === this.deletedStates[t][n] + ) + for (var a in ((this.deletedStates[t][n] = {}), + this.state[t][n])) + r[a] || (this.deletedStates[t][n][a] = null); + else + for (var o in r) + this.deletedStates[t] && + this.deletedStates[t][n] && + null === this.deletedStates[t][n][o] && + delete this.deletedStates[t][n][o]; + }), + (zc.prototype.removeFeatureState = function ( + t, + e, + r, + ) { + if (null !== this.deletedStates[t]) { + var n = String(e); + if ( + ((this.deletedStates[t] = + this.deletedStates[t] || {}), + r && void 0 !== e) + ) + null !== this.deletedStates[t][n] && + ((this.deletedStates[t][n] = + this.deletedStates[t][n] || {}), + (this.deletedStates[t][n][r] = null)); + else if (void 0 !== e) + if ( + this.stateChanges[t] && + this.stateChanges[t][n] + ) + for (r in ((this.deletedStates[t][n] = {}), + this.stateChanges[t][n])) + this.deletedStates[t][n][r] = null; + else this.deletedStates[t][n] = null; + else this.deletedStates[t] = null; + } + }), + (zc.prototype.getState = function (t, e) { + var r = String(e), + n = this.state[t] || {}, + i = this.stateChanges[t] || {}, + a = f({}, n[r], i[r]); + if (null === this.deletedStates[t]) return {}; + if (this.deletedStates[t]) { + var o = this.deletedStates[t][e]; + if (null === o) return {}; + for (var s in o) delete a[s]; + } + return a; + }), + (zc.prototype.initializeTileState = function (t, e) { + t.setFeatureState(this.state, e); + }), + (zc.prototype.coalesceChanges = function (t, e) { + var r = {}; + for (var n in this.stateChanges) { + this.state[n] = this.state[n] || {}; + var i = {}; + for (var a in this.stateChanges[n]) + this.state[n][a] || (this.state[n][a] = {}), + f(this.state[n][a], this.stateChanges[n][a]), + (i[a] = this.state[n][a]); + r[n] = i; + } + for (var o in this.deletedStates) { + this.state[o] = this.state[o] || {}; + var s = {}; + if (null === this.deletedStates[o]) + for (var l in this.state[o]) + (s[l] = {}), (this.state[o][l] = {}); + else + for (var u in this.deletedStates[o]) { + if (null === this.deletedStates[o][u]) + this.state[o][u] = {}; + else + for ( + var c = 0, + h = Object.keys( + this.deletedStates[o][u], + ); + c < h.length; + c += 1 + ) { + var p = h[c]; + delete this.state[o][u][p]; + } + s[u] = this.state[o][u]; + } + (r[o] = r[o] || {}), f(r[o], s); + } + if ( + ((this.stateChanges = {}), + (this.deletedStates = {}), + 0 !== Object.keys(r).length) + ) + for (var d in t) t[d].setFeatureState(r, e); + }); + var Rc = function (t, e) { + (this.tileID = t), + (this.x = t.canonical.x), + (this.y = t.canonical.y), + (this.z = t.canonical.z), + (this.grid = new Wn(oo, 16, 0)), + (this.grid3D = new Wn(oo, 16, 0)), + (this.featureIndexArray = new Ma()), + (this.promoteId = e); + }; + function Fc(t, e, r, n, i) { + return m(t, function (t, a) { + var o = e instanceof zi ? e.get(a) : null; + return o && o.evaluate ? o.evaluate(r, n, i) : o; + }); + } + function Bc(t) { + for ( + var e = 1 / 0, + r = 1 / 0, + n = -1 / 0, + i = -1 / 0, + a = 0, + o = t; + a < o.length; + a += 1 + ) { + var s = o[a]; + (e = Math.min(e, s.x)), + (r = Math.min(r, s.y)), + (n = Math.max(n, s.x)), + (i = Math.max(i, s.y)); + } + return { minX: e, minY: r, maxX: n, maxY: i }; + } + function Nc(t, e) { + return e - t; + } + (Rc.prototype.insert = function (t, e, r, n, i, a) { + var o = this.featureIndexArray.length; + this.featureIndexArray.emplaceBack(r, n, i); + for ( + var s = a ? this.grid3D : this.grid, l = 0; + l < e.length; + l++ + ) { + for ( + var u = e[l], + c = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + f = 0; + f < u.length; + f++ + ) { + var h = u[f]; + (c[0] = Math.min(c[0], h.x)), + (c[1] = Math.min(c[1], h.y)), + (c[2] = Math.max(c[2], h.x)), + (c[3] = Math.max(c[3], h.y)); + } + c[0] < oo && + c[1] < oo && + c[2] >= 0 && + c[3] >= 0 && + s.insert(o, c[0], c[1], c[2], c[3]); + } + }), + (Rc.prototype.loadVTLayers = function () { + return ( + this.vtLayers || + ((this.vtLayers = new Zs.VectorTile( + new Tl(this.rawTileData), + ).layers), + (this.sourceLayerCoder = new Oc( + this.vtLayers + ? Object.keys(this.vtLayers).sort() + : ["_geojsonTileLayer"], + ))), + this.vtLayers + ); + }), + (Rc.prototype.query = function (t, e, r, n) { + var i = this; + this.loadVTLayers(); + for ( + var o = t.params || {}, + s = oo / t.tileSize / t.scale, + l = xn(o.filter), + u = t.queryGeometry, + c = t.queryPadding * s, + f = Bc(u), + h = this.grid.query( + f.minX - c, + f.minY - c, + f.maxX + c, + f.maxY + c, + ), + p = Bc(t.cameraQueryGeometry), + d = 0, + v = this.grid3D.query( + p.minX - c, + p.minY - c, + p.maxX + c, + p.maxY + c, + function (e, r, n, i) { + return (function (t, e, r, n, i) { + for ( + var o = 0, s = t; + o < s.length; + o += 1 + ) { + var l = s[o]; + if ( + e <= l.x && + r <= l.y && + n >= l.x && + i >= l.y + ) + return !0; + } + var u = [ + new a(e, r), + new a(e, i), + new a(n, i), + new a(n, r), + ]; + if (t.length > 2) + for ( + var c = 0, f = u; + c < f.length; + c += 1 + ) + if (wo(t, f[c])) return !0; + for (var h = 0; h < t.length - 1; h++) + if (To(t[h], t[h + 1], u)) return !0; + return !1; + })( + t.cameraQueryGeometry, + e - c, + r - c, + n + c, + i + c, + ); + }, + ); + d < v.length; + d += 1 + ) { + var g = v[d]; + h.push(g); + } + h.sort(Nc); + for ( + var y, + m = {}, + x = function (a) { + var c = h[a]; + if (c !== y) { + y = c; + var f = i.featureIndexArray.get(c), + p = null; + i.loadMatchingFeature( + m, + f.bucketIndex, + f.sourceLayerIndex, + f.featureIndex, + l, + o.layers, + o.availableImages, + e, + r, + n, + function (e, r, n) { + return ( + p || (p = uo(e)), + r.queryIntersectsFeature( + u, + e, + n, + p, + i.z, + t.transform, + s, + t.pixelPosMatrix, + ) + ); + }, + ); + } + }, + b = 0; + b < h.length; + b++ + ) + x(b); + return m; + }), + (Rc.prototype.loadMatchingFeature = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) { + var f = this.bucketLayerIDs[e]; + if ( + !a || + (function (t, e) { + for (var r = 0; r < t.length; r++) + if (e.indexOf(t[r]) >= 0) return !0; + return !1; + })(a, f) + ) { + var h = this.sourceLayerCoder.decode(r), + p = this.vtLayers[h].feature(n); + if (i.filter(new Si(this.tileID.overscaledZ), p)) + for ( + var d = this.getId(p, h), v = 0; + v < f.length; + v++ + ) { + var g = f[v]; + if (!(a && a.indexOf(g) < 0)) { + var y = s[g]; + if (y) { + var m = {}; + void 0 !== d && + u && + (m = u.getState( + y.sourceLayer || "_geojsonTileLayer", + d, + )); + var x = l[g]; + (x.paint = Fc(x.paint, y.paint, p, m, o)), + (x.layout = Fc( + x.layout, + y.layout, + p, + m, + o, + )); + var b = !c || c(p, y, m); + if (b) { + var _ = new Ic( + p, + this.z, + this.x, + this.y, + d, + ); + _.layer = x; + var w = t[g]; + void 0 === w && (w = t[g] = []), + w.push({ + featureIndex: n, + feature: _, + intersectionZ: b, + }); + } + } + } + } + } + }), + (Rc.prototype.lookupSymbolFeatures = function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + var l = {}; + this.loadVTLayers(); + for ( + var u = xn(i), c = 0, f = t; + c < f.length; + c += 1 + ) { + var h = f[c]; + this.loadMatchingFeature( + l, + r, + n, + h, + u, + a, + o, + s, + e, + ); + } + return l; + }), + (Rc.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; + }), + (Rc.prototype.getId = function (t, e) { + var r = t.id; + if (this.promoteId) { + var n = + "string" == typeof this.promoteId + ? this.promoteId + : this.promoteId[e]; + "boolean" == typeof (r = t.properties[n]) && + (r = Number(r)); + } + return r; + }), + Qn("FeatureIndex", Rc, { + omit: ["rawTileData", "sourceLayerCoder"], + }); + var jc = function (t, e) { + (this.tileID = t), + (this.uid = p()), + (this.uses = 0), + (this.tileSize = e), + (this.buckets = {}), + (this.expirationTime = null), + (this.queryPadding = 0), + (this.hasSymbolBuckets = !1), + (this.hasRTLText = !1), + (this.dependencies = {}), + (this.expiredRequestCount = 0), + (this.state = "loading"); + }; + (jc.prototype.registerFadeDuration = function (t) { + var e = t + this.timeAdded; + e < F.now() || + (this.fadeEndTime && e < this.fadeEndTime) || + (this.fadeEndTime = e); + }), + (jc.prototype.wasRequested = function () { + return ( + "errored" === this.state || + "loaded" === this.state || + "reloading" === this.state + ); + }), + (jc.prototype.loadVectorData = function (t, e, r) { + if ( + (this.hasData() && this.unloadVectorData(), + (this.state = "loaded"), + t) + ) { + for (var n in (t.featureIndex && + ((this.latestFeatureIndex = t.featureIndex), + t.rawTileData + ? ((this.latestRawTileData = t.rawTileData), + (this.latestFeatureIndex.rawTileData = + t.rawTileData)) + : this.latestRawTileData && + (this.latestFeatureIndex.rawTileData = + this.latestRawTileData)), + (this.collisionBoxArray = t.collisionBoxArray), + (this.buckets = (function (t, e) { + var r = {}; + if (!e) return r; + for ( + var n = function () { + var t = a[i], + n = t.layerIds + .map(function (t) { + return e.getLayer(t); + }) + .filter(Boolean); + if (0 !== n.length) { + (t.layers = n), + t.stateDependentLayerIds && + (t.stateDependentLayers = + t.stateDependentLayerIds.map( + function (t) { + return n.filter(function (e) { + return e.id === t; + })[0]; + }, + )); + for ( + var o = 0, s = n; + o < s.length; + o += 1 + ) { + var l = s[o]; + r[l.id] = t; + } + } + }, + i = 0, + a = t; + i < a.length; + i += 1 + ) + n(); + return r; + })(t.buckets, e.style)), + (this.hasSymbolBuckets = !1), + this.buckets)) { + var i = this.buckets[n]; + if (i instanceof Ku) { + if (((this.hasSymbolBuckets = !0), !r)) break; + i.justReloaded = !0; + } + } + if ( + ((this.hasRTLText = !1), this.hasSymbolBuckets) + ) + for (var a in this.buckets) { + var o = this.buckets[a]; + if (o instanceof Ku && o.hasRTLText) { + (this.hasRTLText = !0), + Mi.isLoading() || + Mi.isLoaded() || + "deferred" !== ki() || + Ai(); + break; + } + } + for (var s in ((this.queryPadding = 0), + this.buckets)) { + var l = this.buckets[s]; + this.queryPadding = Math.max( + this.queryPadding, + e.style.getLayer(s).queryRadius(l), + ); + } + t.imageAtlas && (this.imageAtlas = t.imageAtlas), + t.glyphAtlasImage && + (this.glyphAtlasImage = t.glyphAtlasImage); + } else this.collisionBoxArray = new ma(); + }), + (jc.prototype.unloadVectorData = function () { + for (var t in this.buckets) + this.buckets[t].destroy(); + (this.buckets = {}), + this.imageAtlasTexture && + this.imageAtlasTexture.destroy(), + this.imageAtlas && (this.imageAtlas = null), + this.glyphAtlasTexture && + this.glyphAtlasTexture.destroy(), + (this.latestFeatureIndex = null), + (this.state = "unloaded"); + }), + (jc.prototype.getBucket = function (t) { + return this.buckets[t.id]; + }), + (jc.prototype.upload = function (t) { + for (var e in this.buckets) { + var r = this.buckets[e]; + r.uploadPending() && r.upload(t); + } + var n = t.gl; + this.imageAtlas && + !this.imageAtlas.uploaded && + ((this.imageAtlasTexture = new pc( + t, + this.imageAtlas.image, + n.RGBA, + )), + (this.imageAtlas.uploaded = !0)), + this.glyphAtlasImage && + ((this.glyphAtlasTexture = new pc( + t, + this.glyphAtlasImage, + n.ALPHA, + )), + (this.glyphAtlasImage = null)); + }), + (jc.prototype.prepare = function (t) { + this.imageAtlas && + this.imageAtlas.patchUpdatedImages( + t, + this.imageAtlasTexture, + ); + }), + (jc.prototype.queryRenderedFeatures = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + ) { + return this.latestFeatureIndex && + this.latestFeatureIndex.rawTileData + ? this.latestFeatureIndex.query( + { + queryGeometry: n, + cameraQueryGeometry: i, + scale: a, + tileSize: this.tileSize, + pixelPosMatrix: u, + transform: s, + params: o, + queryPadding: this.queryPadding * l, + }, + t, + e, + r, + ) + : {}; + }), + (jc.prototype.querySourceFeatures = function (t, e) { + var r = this.latestFeatureIndex; + if (r && r.rawTileData) { + var n = r.loadVTLayers(), + i = e ? e.sourceLayer : "", + a = n._geojsonTileLayer || n[i]; + if (a) + for ( + var o = xn(e && e.filter), + s = this.tileID.canonical, + l = s.z, + u = s.x, + c = s.y, + f = { z: l, x: u, y: c }, + h = 0; + h < a.length; + h++ + ) { + var p = a.feature(h); + if ( + o.filter(new Si(this.tileID.overscaledZ), p) + ) { + var d = r.getId(p, i), + v = new Ic(p, l, u, c, d); + (v.tile = f), t.push(v); + } + } + } + }), + (jc.prototype.hasData = function () { + return ( + "loaded" === this.state || + "reloading" === this.state || + "expired" === this.state + ); + }), + (jc.prototype.patternsLoaded = function () { + return ( + this.imageAtlas && + !!Object.keys(this.imageAtlas.patternPositions) + .length + ); + }), + (jc.prototype.setExpiryData = function (t) { + var e = this.expirationTime; + if (t.cacheControl) { + var r = M(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 n = Date.now(), + i = !1; + if (this.expirationTime > n) i = !1; + else if (e) + if (this.expirationTime < e) i = !0; + else { + var a = this.expirationTime - e; + a + ? (this.expirationTime = + n + Math.max(a, 3e4)) + : (i = !0); + } + else i = !0; + i + ? (this.expiredRequestCount++, + (this.state = "expired")) + : (this.expiredRequestCount = 0); + } + }), + (jc.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, + ); + }), + (jc.prototype.setFeatureState = function (t, e) { + if ( + this.latestFeatureIndex && + this.latestFeatureIndex.rawTileData && + 0 !== Object.keys(t).length + ) { + var r = this.latestFeatureIndex.loadVTLayers(); + for (var n in this.buckets) + if (e.style.hasLayer(n)) { + var i = this.buckets[n], + a = + i.layers[0].sourceLayer || + "_geojsonTileLayer", + o = r[a], + s = t[a]; + if (o && s && 0 !== Object.keys(s).length) { + i.update( + s, + o, + (this.imageAtlas && + this.imageAtlas.patternPositions) || + {}, + ); + var l = e && e.style && e.style.getLayer(n); + l && + (this.queryPadding = Math.max( + this.queryPadding, + l.queryRadius(i), + )); + } + } + } + }), + (jc.prototype.holdingForFade = function () { + return void 0 !== this.symbolFadeHoldUntil; + }), + (jc.prototype.symbolFadeFinished = function () { + return ( + !this.symbolFadeHoldUntil || + this.symbolFadeHoldUntil < F.now() + ); + }), + (jc.prototype.clearFadeHold = function () { + this.symbolFadeHoldUntil = void 0; + }), + (jc.prototype.setHoldDuration = function (t) { + this.symbolFadeHoldUntil = F.now() + t; + }), + (jc.prototype.setDependencies = function (t, e) { + for (var r = {}, n = 0, i = e; n < i.length; n += 1) + r[i[n]] = !0; + this.dependencies[t] = r; + }), + (jc.prototype.hasDependency = function (t, e) { + for (var r = 0, n = t; r < n.length; r += 1) { + var i = n[r], + a = this.dependencies[i]; + if (a) + for (var o = 0, s = e; o < s.length; o += 1) + if (a[s[o]]) return !0; + } + return !1; + }); + var Uc = self.performance, + Vc = function (t) { + (this._marks = { + start: [t.url, "start"].join("#"), + end: [t.url, "end"].join("#"), + measure: t.url.toString(), + }), + Uc.mark(this._marks.start); + }; + (Vc.prototype.finish = function () { + Uc.mark(this._marks.end); + var t = Uc.getEntriesByName(this._marks.measure); + return ( + 0 === t.length && + (Uc.measure( + this._marks.measure, + this._marks.start, + this._marks.end, + ), + (t = Uc.getEntriesByName(this._marks.measure)), + Uc.clearMarks(this._marks.start), + Uc.clearMarks(this._marks.end), + Uc.clearMeasures(this._marks.measure)), + t + ); + }), + (t.Actor = vc), + (t.AlphaImage = Ho), + (t.CanonicalTileID = Sc), + (t.CollisionBoxArray = ma), + (t.Color = ae), + (t.DEMData = Pc), + (t.DataConstantProperty = Ri), + (t.DictionaryCoder = Oc), + (t.EXTENT = oo), + (t.ErrorEvent = Pt), + (t.EvaluationParameters = Si), + (t.Event = Ct), + (t.Evented = Ot), + (t.FeatureIndex = Rc), + (t.FillBucket = Is), + (t.FillExtrusionBucket = Js), + (t.ImageAtlas = Xl), + (t.ImagePosition = Yl), + (t.LineBucket = ol), + (t.LngLat = xc), + (t.LngLatBounds = yc), + (t.MercatorCoordinate = Mc), + (t.ONE_EM = bl), + (t.OverscaledTileID = Lc), + (t.Point = a), + (t.Point$1 = a), + (t.Properties = Ui), + (t.Protobuf = Tl), + (t.RGBAImage = qo), + (t.RequestManager = q), + (t.RequestPerformance = Vc), + (t.ResourceType = mt), + (t.SegmentVector = Ea), + (t.SourceFeatureState = zc), + (t.StructArrayLayout1ui2 = da), + (t.StructArrayLayout2f1f2i16 = aa), + (t.StructArrayLayout2i4 = Xi), + (t.StructArrayLayout3ui6 = sa), + (t.StructArrayLayout4i8 = Ji), + (t.SymbolBucket = Ku), + (t.Texture = pc), + (t.Tile = jc), + (t.Transitionable = Ci), + (t.Uniform1f = Ha), + (t.Uniform1i = Va), + (t.Uniform2f = qa), + (t.Uniform3f = Ga), + (t.Uniform4f = Za), + (t.UniformColor = Ya), + (t.UniformMatrix4f = Xa), + (t.UnwrappedTileID = Ec), + (t.ValidationError = Dt), + (t.WritingMode = Jl), + (t.ZoomHistory = ai), + (t.add = function (t, e, r) { + return ( + (t[0] = e[0] + r[0]), + (t[1] = e[1] + r[1]), + (t[2] = e[2] + r[2]), + t + ); + }), + (t.addDynamicAttributes = Yu), + (t.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); + }); + }); + }), + (t.bezier = s), + (t.bindAll = g), + (t.browser = F), + (t.cacheEntryPossiblyAdded = function (t) { + ++gt > ct && + (t.getActor().send("enforceCacheSizeLimit", ut), + (gt = 0)); + }), + (t.clamp = u), + (t.clearTileCache = function (t) { + var e = self.caches.delete(lt); + t && + e.catch(t).then(function () { + return t(); + }); + }), + (t.clipLine = Au), + (t.clone = function (t) { + var e = new Lo(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 + ); + }), + (t.clone$1 = b), + (t.clone$2 = function (t) { + var e = new Lo(3); + return ( + (e[0] = t[0]), (e[1] = t[1]), (e[2] = t[2]), e + ); + }), + (t.collisionCircleLayout = yl), + (t.config = B), + (t.create = function () { + var t = new Lo(16); + return ( + Lo != Float32Array && + ((t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0)), + (t[0] = 1), + (t[5] = 1), + (t[10] = 1), + (t[15] = 1), + t + ); + }), + (t.create$1 = function () { + var t = new Lo(9); + return ( + Lo != Float32Array && + ((t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[5] = 0), + (t[6] = 0), + (t[7] = 0)), + (t[0] = 1), + (t[4] = 1), + (t[8] = 1), + t + ); + }), + (t.create$2 = function () { + var t = new Lo(4); + return ( + Lo != Float32Array && ((t[1] = 0), (t[2] = 0)), + (t[0] = 1), + (t[3] = 1), + t + ); + }), + (t.createCommonjsModule = e), + (t.createExpression = an), + (t.createLayout = Yi), + (t.createStyleLayer = function (t) { + return "custom" === t.type + ? new oc(t) + : new sc[t.type](t); + }), + (t.cross = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = r[0], + s = r[1], + l = r[2]; + return ( + (t[0] = i * l - a * s), + (t[1] = a * o - n * l), + (t[2] = n * s - i * o), + t + ); + }), + (t.deepEqual = function t(e, r) { + if (Array.isArray(e)) { + if (!Array.isArray(r) || e.length !== r.length) + return !1; + for (var n = 0; n < e.length; n++) + if (!t(e[n], r[n])) return !1; + return !0; + } + if ( + "object" == typeof e && + null !== e && + null !== r + ) { + if ("object" != typeof r) return !1; + if ( + Object.keys(e).length !== Object.keys(r).length + ) + return !1; + for (var i in e) if (!t(e[i], r[i])) return !1; + return !0; + } + return e === r; + }), + (t.dot = function (t, e) { + return t[0] * e[0] + t[1] * e[1] + t[2] * e[2]; + }), + (t.dot$1 = function (t, e) { + return ( + t[0] * e[0] + + t[1] * e[1] + + t[2] * e[2] + + t[3] * e[3] + ); + }), + (t.ease = l), + (t.emitValidationErrors = Yn), + (t.endsWith = y), + (t.enforceCacheSizeLimit = function (t) { + ft(), + tt && + tt.then(function (e) { + e.keys().then(function (r) { + for (var n = 0; n < r.length - t; n++) + e.delete(r[n]); + }); + }); + }), + (t.evaluateSizeForFeature = vu), + (t.evaluateSizeForZoom = gu), + (t.evaluateVariableOffset = Bu), + (t.evented = Ti), + (t.extend = f), + (t.featureFilter = xn), + (t.filterObject = x), + (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 + ); + }), + (t.getAnchorAlignment = uu), + (t.getAnchorJustification = Nu), + (t.getArrayBuffer = Tt), + (t.getImage = St), + (t.getJSON = function (t, e) { + return wt(f(t, { type: "json" }), e); + }), + (t.getRTLTextPluginStatus = ki), + (t.getReferrer = bt), + (t.getVideo = function (t, e) { + var r, + n, + i = self.document.createElement("video"); + (i.muted = !0), + (i.onloadstart = function () { + e(null, i); + }); + for (var a = 0; a < t.length; a++) { + var o = self.document.createElement("source"); + (r = t[a]), + (n = void 0), + ((n = self.document.createElement("a")).href = + r), + (n.protocol === + self.document.location.protocol && + n.host === self.document.location.host) || + (i.crossOrigin = "Anonymous"), + (o.src = t[a]), + i.appendChild(o); + } + return { cancel: function () {} }; + }), + (t.identity = Co), + (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], + f = e[9], + h = e[10], + p = e[11], + d = e[12], + v = e[13], + g = e[14], + y = e[15], + m = r * s - n * o, + x = r * l - i * o, + b = r * u - a * o, + _ = n * l - i * s, + w = n * u - a * s, + T = i * u - a * l, + k = c * v - f * d, + A = c * g - h * d, + M = c * y - p * d, + S = f * g - h * v, + E = f * y - p * v, + L = h * y - p * g, + C = m * L - x * E + b * S + _ * M - w * A + T * k; + return C + ? ((C = 1 / C), + (t[0] = (s * L - l * E + u * S) * C), + (t[1] = (i * E - n * L - a * S) * C), + (t[2] = (v * T - g * w + y * _) * C), + (t[3] = (h * w - f * T - p * _) * C), + (t[4] = (l * M - o * L - u * A) * C), + (t[5] = (r * L - i * M + a * A) * C), + (t[6] = (g * b - d * T - y * x) * C), + (t[7] = (c * T - h * b + p * x) * C), + (t[8] = (o * E - s * M + u * k) * C), + (t[9] = (n * M - r * E - a * k) * C), + (t[10] = (d * w - v * b + y * m) * C), + (t[11] = (f * b - c * w - p * m) * C), + (t[12] = (s * A - o * S - l * k) * C), + (t[13] = (r * S - n * A + i * k) * C), + (t[14] = (v * x - d * _ - g * m) * C), + (t[15] = (c * _ - f * x + h * m) * C), + t) + : null; + }), + (t.isChar = oi), + (t.isMapboxURL = G), + (t.keysDifference = function (t, e) { + var r = []; + for (var n in t) n in e || r.push(n); + return r; + }), + (t.makeRequest = wt), + (t.mapObject = m), + (t.mercatorXfromLng = wc), + (t.mercatorYfromLat = Tc), + (t.mercatorZfromAltitude = kc), + (t.mul = Oo), + (t.multiply = Po), + (t.mvt = Zs), + (t.normalize = function (t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = r * r + n * n + i * i; + return ( + a > 0 && (a = 1 / Math.sqrt(a)), + (t[0] = e[0] * a), + (t[1] = e[1] * a), + (t[2] = e[2] * a), + t + ); + }), + (t.number = Ke), + (t.offscreenCanvasSupported = yt), + (t.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 + ); + }), + (t.parseGlyphPBF = function (t) { + return new Tl(t).readFields(Hl, []); + }), + (t.pbf = Tl), + (t.performSymbolLayout = function ( + t, + e, + r, + n, + i, + a, + o, + ) { + t.createArrays(); + var s = 512 * t.overscaling; + (t.tilePixelRatio = oo / s), + (t.compareText = {}), + (t.iconsNeedLinear = !1); + var l = t.layers[0].layout, + u = t.layers[0]._unevaluatedLayout._values, + c = {}; + if ("composite" === t.textSizeData.kind) { + var f = t.textSizeData, + h = f.minZoom, + p = f.maxZoom; + c.compositeTextSizes = [ + u["text-size"].possiblyEvaluate(new Si(h), o), + u["text-size"].possiblyEvaluate(new Si(p), o), + ]; + } + if ("composite" === t.iconSizeData.kind) { + var d = t.iconSizeData, + v = d.minZoom, + g = d.maxZoom; + c.compositeIconSizes = [ + u["icon-size"].possiblyEvaluate(new Si(v), o), + u["icon-size"].possiblyEvaluate(new Si(g), o), + ]; + } + (c.layoutTextSize = u["text-size"].possiblyEvaluate( + new Si(t.zoom + 1), + o, + )), + (c.layoutIconSize = u[ + "icon-size" + ].possiblyEvaluate(new Si(t.zoom + 1), o)), + (c.textMaxSize = u["text-size"].possiblyEvaluate( + new Si(18), + )); + for ( + var y = l.get("text-line-height") * bl, + m = + "map" === l.get("text-rotation-alignment") && + "point" !== l.get("symbol-placement"), + x = l.get("text-keep-upright"), + b = l.get("text-size"), + _ = function () { + var a = k[T], + s = l + .get("text-font") + .evaluate(a, {}, o) + .join(","), + u = b.evaluate(a, {}, o), + f = c.layoutTextSize.evaluate(a, {}, o), + h = c.layoutIconSize.evaluate(a, {}, o), + p = { horizontal: {}, vertical: void 0 }, + d = a.text, + v = [0, 0]; + if (d) { + var g = d.toString(), + _ = + l + .get("text-letter-spacing") + .evaluate(a, {}, o) * bl, + A = (function (t) { + for ( + var e = 0, r = t; + e < r.length; + e += 1 + ) + if ( + ((n = r[e].charCodeAt(0)), + oi.Arabic(n) || + oi["Arabic Supplement"](n) || + oi["Arabic Extended-A"](n) || + oi["Arabic Presentation Forms-A"]( + n, + ) || + oi["Arabic Presentation Forms-B"]( + n, + )) + ) + return !1; + var n; + return !0; + })(g) + ? _ + : 0, + M = l + .get("text-anchor") + .evaluate(a, {}, o), + S = l.get("text-variable-anchor"); + if (!S) { + var E = l + .get("text-radial-offset") + .evaluate(a, {}, o); + v = E + ? Bu(M, [E * bl, Fu]) + : l + .get("text-offset") + .evaluate(a, {}, o) + .map(function (t) { + return t * bl; + }); + } + var L = m + ? "center" + : l + .get("text-justify") + .evaluate(a, {}, o), + C = l.get("symbol-placement"), + P = + "point" === C + ? l + .get("text-max-width") + .evaluate(a, {}, o) * bl + : 0, + O = function () { + t.allowVerticalPlacement && + si(g) && + (p.vertical = tu( + d, + e, + r, + i, + s, + P, + y, + M, + "left", + A, + v, + Jl.vertical, + !0, + C, + f, + u, + )); + }; + if (!m && S) { + for ( + var I = + "auto" === L + ? S.map(function (t) { + return Nu(t); + }) + : [L], + D = !1, + z = 0; + z < I.length; + z++ + ) { + var R = I[z]; + if (!p.horizontal[R]) + if (D) + p.horizontal[R] = p.horizontal[0]; + else { + var F = tu( + d, + e, + r, + i, + s, + P, + y, + "center", + R, + A, + v, + Jl.horizontal, + !1, + C, + f, + u, + ); + F && + ((p.horizontal[R] = F), + (D = + 1 === + F.positionedLines.length)); + } + } + O(); + } else { + "auto" === L && (L = Nu(M)); + var B = tu( + d, + e, + r, + i, + s, + P, + y, + M, + L, + A, + v, + Jl.horizontal, + !1, + C, + f, + u, + ); + B && (p.horizontal[L] = B), + O(), + si(g) && + m && + x && + (p.vertical = tu( + d, + e, + r, + i, + s, + P, + y, + M, + L, + A, + v, + Jl.vertical, + !1, + C, + f, + u, + )); + } + } + var N = void 0, + j = !1; + if (a.icon && a.icon.name) { + var U = n[a.icon.name]; + U && + ((N = (function (t, e, r) { + var n = uu(r), + i = n.horizontalAlign, + a = n.verticalAlign, + o = e[0], + s = e[1], + l = o - t.displaySize[0] * i, + u = l + t.displaySize[0], + c = s - t.displaySize[1] * a; + return { + image: t, + top: c, + bottom: c + t.displaySize[1], + left: l, + right: u, + }; + })( + i[a.icon.name], + l.get("icon-offset").evaluate(a, {}, o), + l.get("icon-anchor").evaluate(a, {}, o), + )), + (j = U.sdf), + void 0 === t.sdfIcons + ? (t.sdfIcons = U.sdf) + : t.sdfIcons !== U.sdf && + w( + "Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer", + ), + (U.pixelRatio !== t.pixelRatio || + 0 !== + l.get("icon-rotate").constantOr(1)) && + (t.iconsNeedLinear = !0)); + } + var V = Vu(p.horizontal) || p.vertical; + (t.iconsInText = !!V && V.iconsInText), + (V || N) && + (function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) { + var f = a.textMaxSize.evaluate(e, {}); + void 0 === f && (f = o); + var h, + p = t.layers[0].layout, + d = p + .get("icon-offset") + .evaluate(e, {}, c), + v = Vu(r.horizontal), + g = 24, + y = o / g, + m = t.tilePixelRatio * y, + x = (t.tilePixelRatio * f) / g, + b = t.tilePixelRatio * s, + _ = + t.tilePixelRatio * + p.get("symbol-spacing"), + T = + p.get("text-padding") * + t.tilePixelRatio, + k = + p.get("icon-padding") * + t.tilePixelRatio, + A = + (p.get("text-max-angle") / 180) * + Math.PI, + M = + "map" === + p.get( + "text-rotation-alignment", + ) && + "point" !== + p.get("symbol-placement"), + S = + "map" === + p.get( + "icon-rotation-alignment", + ) && + "point" !== + p.get("symbol-placement"), + E = p.get("symbol-placement"), + L = _ / 2, + C = p.get("icon-text-fit"); + n && + "none" !== C && + (t.allowVerticalPlacement && + r.vertical && + (h = fu( + n, + r.vertical, + C, + p.get("icon-text-fit-padding"), + d, + y, + )), + v && + (n = fu( + n, + v, + C, + p.get("icon-text-fit-padding"), + d, + y, + ))); + var P = function (s, f) { + f.x < 0 || + f.x >= oo || + f.y < 0 || + f.y >= oo || + (function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + T, + k, + A, + ) { + var M, + S, + E, + L, + C, + P = t.addToLineVertexArray( + e, + r, + ), + O = 0, + I = 0, + D = 0, + z = 0, + R = -1, + F = -1, + B = {}, + N = Ia(""), + j = 0, + U = 0; + if ( + (void 0 === + s._unevaluatedLayout.getValue( + "text-radial-offset", + ) + ? ((j = (M = s.layout + .get("text-offset") + .evaluate(b, {}, k) + .map(function (t) { + return t * bl; + }))[0]), + (U = M[1])) + : ((j = + s.layout + .get( + "text-radial-offset", + ) + .evaluate(b, {}, k) * + bl), + (U = Fu)), + t.allowVerticalPlacement && + n.vertical) + ) { + var V = + s.layout + .get("text-rotate") + .evaluate(b, {}, k) + 90, + H = n.vertical; + (L = new Pu( + l, + e, + u, + c, + f, + H, + h, + p, + d, + V, + )), + o && + (C = new Pu( + l, + e, + u, + c, + f, + o, + g, + y, + d, + V, + )); + } + if (i) { + var q = s.layout + .get("icon-rotate") + .evaluate(b, {}), + G = + "none" !== + s.layout.get( + "icon-text-fit", + ), + Z = Mu(i, q, T, G), + Y = o + ? Mu(o, q, T, G) + : void 0; + (E = new Pu( + l, + e, + u, + c, + f, + i, + g, + y, + !1, + q, + )), + (O = 4 * Z.length); + var W = t.iconSizeData, + X = null; + "source" === W.kind + ? (X = [ + pu * + s.layout + .get("icon-size") + .evaluate(b, {}), + ])[0] > ju && + w( + t.layerIds[0] + + ': Value for "icon-size" is >= ' + + '255. Reduce your "icon-size".', + ) + : "composite" === W.kind && + ((X = [ + pu * + _.compositeIconSizes[0].evaluate( + b, + {}, + k, + ), + pu * + _.compositeIconSizes[1].evaluate( + b, + {}, + k, + ), + ])[0] > ju || + X[1] > ju) && + w( + t.layerIds[0] + + ': Value for "icon-size" is >= ' + + '255. Reduce your "icon-size".', + ), + t.addSymbols( + t.icon, + Z, + X, + x, + m, + b, + !1, + e, + P.lineStartIndex, + P.lineLength, + -1, + k, + ), + (R = + t.icon.placedSymbolArray + .length - 1), + Y && + ((I = 4 * Y.length), + t.addSymbols( + t.icon, + Y, + X, + x, + m, + b, + Jl.vertical, + e, + P.lineStartIndex, + P.lineLength, + -1, + k, + ), + (F = + t.icon.placedSymbolArray + .length - 1)); + } + for (var J in n.horizontal) { + var K = n.horizontal[J]; + if (!S) { + N = Ia(K.text); + var $ = s.layout + .get("text-rotate") + .evaluate(b, {}, k); + S = new Pu( + l, + e, + u, + c, + f, + K, + h, + p, + d, + $, + ); + } + var Q = + 1 === + K.positionedLines.length; + if ( + ((D += Uu( + t, + e, + K, + a, + s, + d, + b, + v, + P, + n.vertical + ? Jl.horizontal + : Jl.horizontalOnly, + Q + ? Object.keys( + n.horizontal, + ) + : [J], + B, + R, + _, + k, + )), + Q) + ) + break; + } + n.vertical && + (z += Uu( + t, + e, + n.vertical, + a, + s, + d, + b, + v, + P, + Jl.vertical, + ["vertical"], + B, + F, + _, + k, + )); + var tt = S + ? S.boxStartIndex + : t.collisionBoxArray.length, + et = S + ? S.boxEndIndex + : t.collisionBoxArray.length, + rt = L + ? L.boxStartIndex + : t.collisionBoxArray.length, + nt = L + ? L.boxEndIndex + : t.collisionBoxArray.length, + it = E + ? E.boxStartIndex + : t.collisionBoxArray.length, + at = E + ? E.boxEndIndex + : t.collisionBoxArray.length, + ot = C + ? C.boxStartIndex + : t.collisionBoxArray.length, + st = C + ? C.boxEndIndex + : t.collisionBoxArray.length, + lt = -1, + ut = function (t, e) { + return t && t.circleDiameter + ? Math.max( + t.circleDiameter, + e, + ) + : e; + }; + (lt = ut(S, lt)), + (lt = ut(L, lt)), + (lt = ut(E, lt)); + var ct = + (lt = ut(C, lt)) > -1 ? 1 : 0; + ct && (lt *= A / bl), + t.glyphOffsetArray.length >= + Ku.MAX_GLYPHS && + w( + "Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907", + ), + void 0 !== b.sortKey && + t.addToSortKeyRanges( + t.symbolInstances.length, + b.sortKey, + ), + t.symbolInstances.emplaceBack( + e.x, + e.y, + B.right >= 0 ? B.right : -1, + B.center >= 0 ? B.center : -1, + B.left >= 0 ? B.left : -1, + B.vertical || -1, + R, + F, + N, + tt, + et, + rt, + nt, + it, + at, + ot, + st, + u, + D, + z, + O, + I, + ct, + 0, + h, + j, + U, + lt, + ); + })( + t, + f, + s, + r, + n, + i, + h, + t.layers[0], + t.collisionBoxArray, + e.index, + e.sourceLayerIndex, + t.index, + m, + T, + M, + l, + b, + k, + S, + d, + e, + a, + u, + c, + o, + ); + }; + if ("line" === E) + for ( + var O = 0, + I = Au(e.geometry, 0, 0, oo, oo); + O < I.length; + O += 1 + ) + for ( + var D = I[O], + z = 0, + R = Tu( + D, + _, + A, + r.vertical || v, + n, + g, + x, + t.overscaling, + oo, + ); + z < R.length; + z += 1 + ) { + var F = R[z]; + (v && Hu(t, v.text, L, F)) || + P(D, F); + } + else if ("line-center" === E) + for ( + var B = 0, N = e.geometry; + B < N.length; + B += 1 + ) { + var j = N[B]; + if (j.length > 1) { + var U = wu( + j, + A, + r.vertical || v, + n, + g, + x, + ); + U && P(j, U); + } + } + else if ("Polygon" === e.type) + for ( + var V = 0, H = Ls(e.geometry, 0); + V < H.length; + V += 1 + ) { + var q = H[V], + G = Du(q, 16); + P(q[0], new hu(G.x, G.y, 0)); + } + else if ("LineString" === e.type) + for ( + var Z = 0, Y = e.geometry; + Z < Y.length; + Z += 1 + ) { + var W = Y[Z]; + P(W, new hu(W[0].x, W[0].y, 0)); + } + else if ("Point" === e.type) + for ( + var X = 0, J = e.geometry; + X < J.length; + X += 1 + ) + for ( + var K = 0, $ = J[X]; + K < $.length; + K += 1 + ) { + var Q = $[K]; + P([Q], new hu(Q.x, Q.y, 0)); + } + })(t, a, p, N, n, c, f, h, v, j, o); + }, + T = 0, + k = t.features; + T < k.length; + T += 1 + ) + _(); + a && t.generateCollisionDebugBuffers(); + }), + (t.perspective = function (t, e, r, n, i) { + var a, + o = 1 / Math.tan(e / 2); + return ( + (t[0] = o / r), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = o), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[11] = -1), + (t[12] = 0), + (t[13] = 0), + (t[15] = 0), + null != i && i !== 1 / 0 + ? ((a = 1 / (n - i)), + (t[10] = (i + n) * a), + (t[14] = 2 * i * n * a)) + : ((t[10] = -1), (t[14] = -2 * n)), + t + ); + }), + (t.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; + }), + (t.plugin = Mi), + (t.polygonIntersectsPolygon = ho), + (t.postMapLoadEvent = st), + (t.postTurnstileEvent = at), + (t.potpack = Zl), + (t.refProperties = [ + "type", + "source", + "source-layer", + "minzoom", + "maxzoom", + "filter", + "layout", + ]), + (t.register = Qn), + (t.registerForPluginStateChange = function (t) { + return ( + t({ pluginStatus: xi, pluginURL: bi }), + Ti.on("pluginStateChange", t), + t + ); + }), + (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 + ); + }), + (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], + f = e[10], + h = 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 + f * n), + (t[7] = l * i + h * n), + (t[8] = u * i - a * n), + (t[9] = c * i - o * n), + (t[10] = f * i - s * n), + (t[11] = h * i - l * n), + t + ); + }), + (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], + f = e[6], + h = 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 + f * n), + (t[3] = l * i + h * n), + (t[4] = u * i - a * n), + (t[5] = c * i - o * n), + (t[6] = f * i - s * n), + (t[7] = h * i - l * n), + t + ); + }), + (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 + ); + }), + (t.scale$1 = function (t, e, r) { + return ( + (t[0] = e[0] * r), + (t[1] = e[1] * r), + (t[2] = e[2] * r), + (t[3] = e[3] * r), + t + ); + }), + (t.scale$2 = function (t, e, r) { + return ( + (t[0] = e[0] * r), + (t[1] = e[1] * r), + (t[2] = e[2] * r), + t + ); + }), + (t.setCacheLimits = function (t, e) { + (ut = t), (ct = e); + }), + (t.setRTLTextPlugin = function (t, e, r) { + if ( + (void 0 === r && (r = !1), + xi === di || xi === vi || xi === gi) + ) + throw new Error( + "setRTLTextPlugin cannot be called multiple times.", + ); + (bi = F.resolveURL(t)), + (xi = di), + (mi = e), + wi(), + r || Ai(); + }), + (t.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), + } + ); + }), + (t.sqrLen = Ro), + (t.styleSpec = It), + (t.sub = Do), + (t.symbolSize = yu), + (t.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 + ); + }), + (t.transformMat4 = zo), + (t.translate = function (t, e, r) { + var n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v = r[0], + g = r[1], + y = r[2]; + return ( + e === t + ? ((t[12] = + e[0] * v + e[4] * g + e[8] * y + e[12]), + (t[13] = + e[1] * v + e[5] * g + e[9] * y + e[13]), + (t[14] = + e[2] * v + e[6] * g + e[10] * y + e[14]), + (t[15] = + e[3] * v + e[7] * g + e[11] * y + 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]), + (f = e[8]), + (h = 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] = f), + (t[9] = h), + (t[10] = p), + (t[11] = d), + (t[12] = n * v + s * g + f * y + e[12]), + (t[13] = i * v + l * g + h * y + e[13]), + (t[14] = a * v + u * g + p * y + e[14]), + (t[15] = o * v + c * g + d * y + e[15])), + t + ); + }), + (t.triggerPluginCompletionEvent = _i), + (t.uniqueId = p), + (t.validateCustomStyleLayer = function (t) { + var e = [], + r = t.id; + return ( + void 0 === r && + e.push({ + message: + "layers." + + r + + ': missing required property "id"', + }), + void 0 === t.render && + e.push({ + message: + "layers." + + r + + ': missing required method "render"', + }), + t.renderingMode && + "2d" !== t.renderingMode && + "3d" !== t.renderingMode && + e.push({ + message: + "layers." + + r + + ': property "renderingMode" must be either "2d" or "3d"', + }), + e + ); + }), + (t.validateLight = qn), + (t.validateStyle = Hn), + (t.values = function (t) { + var e = []; + for (var r in t) e.push(t[r]); + return e; + }), + (t.vectorTile = Zs), + (t.version = r), + (t.warnOnce = w), + (t.webpSupported = N), + (t.window = self), + (t.wrap = c); + }), + n(0, function (t) { + function e(t) { + var r = typeof t; + if ( + "number" === r || + "boolean" === r || + "string" === r || + null == t + ) + return JSON.stringify(t); + if (Array.isArray(t)) { + for ( + var n = "[", i = 0, a = t; + i < a.length; + i += 1 + ) + n += e(a[i]) + ","; + return n + "]"; + } + for ( + var o = Object.keys(t).sort(), s = "{", l = 0; + l < o.length; + l++ + ) + s += JSON.stringify(o[l]) + ":" + e(t[o[l]]) + ","; + return s + "}"; + } + function r(r) { + for ( + var n = "", i = 0, a = t.refProperties; + i < a.length; + i += 1 + ) + n += "/" + e(r[a[i]]); + return n; + } + var n = function (t) { + (this.keyCache = {}), t && this.replace(t); + }; + (n.prototype.replace = function (t) { + (this._layerConfigs = {}), + (this._layers = {}), + this.update(t, []); + }), + (n.prototype.update = function (e, n) { + for ( + var i = this, a = 0, o = e; + a < o.length; + a += 1 + ) { + var s = o[a]; + this._layerConfigs[s.id] = s; + var l = (this._layers[s.id] = + t.createStyleLayer(s)); + (l._featureFilter = t.featureFilter(l.filter)), + this.keyCache[s.id] && + delete this.keyCache[s.id]; + } + for (var u = 0, c = n; u < c.length; u += 1) { + var f = c[u]; + delete this.keyCache[f], + delete this._layerConfigs[f], + delete this._layers[f]; + } + this.familiesBySource = {}; + for ( + var h = 0, + p = (function (t, e) { + for (var n = {}, i = 0; i < t.length; i++) { + var a = (e && e[t[i].id]) || r(t[i]); + e && (e[t[i].id] = a); + var o = n[a]; + o || (o = n[a] = []), o.push(t[i]); + } + var s = []; + for (var l in n) s.push(n[l]); + return s; + })(t.values(this._layerConfigs), this.keyCache); + h < p.length; + h += 1 + ) { + var d = p[h].map(function (t) { + return i._layers[t.id]; + }), + v = d[0]; + if ("none" !== v.visibility) { + var g = v.source || "", + y = this.familiesBySource[g]; + y || (y = this.familiesBySource[g] = {}); + var m = v.sourceLayer || "_geojsonTileLayer", + x = y[m]; + x || (x = y[m] = []), x.push(d); + } + } + }); + var i = function (e) { + var r = {}, + n = []; + for (var i in e) { + var a = e[i], + o = (r[i] = {}); + for (var s in a) { + var l = a[+s]; + if ( + l && + 0 !== l.bitmap.width && + 0 !== l.bitmap.height + ) { + var u = { + x: 0, + y: 0, + w: l.bitmap.width + 2, + h: l.bitmap.height + 2, + }; + n.push(u), + (o[s] = { rect: u, metrics: l.metrics }); + } + } + } + var c = t.potpack(n), + f = c.w, + h = c.h, + p = new t.AlphaImage({ + width: f || 1, + height: h || 1, + }); + for (var d in e) { + var v = e[d]; + for (var g in v) { + var y = v[+g]; + if ( + y && + 0 !== y.bitmap.width && + 0 !== y.bitmap.height + ) { + var m = r[d][g].rect; + t.AlphaImage.copy( + y.bitmap, + p, + { x: 0, y: 0 }, + { x: m.x + 1, y: m.y + 1 }, + y.bitmap, + ); + } + } + } + (this.image = p), (this.positions = r); + }; + t.register("GlyphAtlas", i); + var a = function (e) { + (this.tileID = new t.OverscaledTileID( + e.tileID.overscaledZ, + e.tileID.wrap, + e.tileID.canonical.z, + e.tileID.canonical.x, + e.tileID.canonical.y, + )), + (this.uid = e.uid), + (this.zoom = e.zoom), + (this.pixelRatio = e.pixelRatio), + (this.tileSize = e.tileSize), + (this.source = e.source), + (this.overscaling = this.tileID.overscaleFactor()), + (this.showCollisionBoxes = e.showCollisionBoxes), + (this.collectResourceTiming = + !!e.collectResourceTiming), + (this.returnDependencies = !!e.returnDependencies), + (this.promoteId = e.promoteId); + }; + function o(e, r, n) { + for ( + var i = new t.EvaluationParameters(r), a = 0, o = e; + a < o.length; + a += 1 + ) + o[a].recalculate(i, n); + } + function s(e, r) { + var n = t.getArrayBuffer( + e.request, + function (e, n, i, a) { + e + ? r(e) + : n && + r(null, { + vectorTile: new t.vectorTile.VectorTile( + new t.pbf(n), + ), + rawData: n, + cacheControl: i, + expires: a, + }); + }, + ); + return function () { + n.cancel(), r(); + }; + } + a.prototype.parse = function (e, r, n, a, s) { + var l = this; + (this.status = "parsing"), + (this.data = e), + (this.collisionBoxArray = + new t.CollisionBoxArray()); + var u = new t.DictionaryCoder( + Object.keys(e.layers).sort(), + ), + c = new t.FeatureIndex(this.tileID, this.promoteId); + c.bucketLayerIDs = []; + var f, + h, + p, + d, + v = {}, + g = { + featureIndex: c, + iconDependencies: {}, + patternDependencies: {}, + glyphDependencies: {}, + availableImages: n, + }, + y = r.familiesBySource[this.source]; + for (var m in y) { + var x = e.layers[m]; + if (x) { + 1 === x.version && + t.warnOnce( + 'Vector tile source "' + + this.source + + '" layer "' + + m + + '" does not use vector tile spec v2 and therefore may have some rendering errors.', + ); + for ( + var b = u.encode(m), _ = [], w = 0; + w < x.length; + w++ + ) { + var T = x.feature(w), + k = c.getId(T, m); + _.push({ + feature: T, + id: k, + index: w, + sourceLayerIndex: b, + }); + } + for (var A = 0, M = y[m]; A < M.length; A += 1) { + var S = M[A], + E = S[0]; + (E.minzoom && + this.zoom < Math.floor(E.minzoom)) || + (E.maxzoom && this.zoom >= E.maxzoom) || + ("none" !== E.visibility && + (o(S, this.zoom, n), + (v[E.id] = E.createBucket({ + index: c.bucketLayerIDs.length, + layers: S, + zoom: this.zoom, + pixelRatio: this.pixelRatio, + overscaling: this.overscaling, + collisionBoxArray: this.collisionBoxArray, + sourceLayerIndex: b, + sourceID: this.source, + })).populate(_, g, this.tileID.canonical), + c.bucketLayerIDs.push( + S.map(function (t) { + return t.id; + }), + ))); + } + } + } + var L = t.mapObject( + g.glyphDependencies, + function (t) { + return Object.keys(t).map(Number); + }, + ); + Object.keys(L).length + ? a.send( + "getGlyphs", + { uid: this.uid, stacks: L }, + function (t, e) { + f || ((f = t), (h = e), O.call(l)); + }, + ) + : (h = {}); + var C = Object.keys(g.iconDependencies); + C.length + ? a.send( + "getImages", + { + icons: C, + source: this.source, + tileID: this.tileID, + type: "icons", + }, + function (t, e) { + f || ((f = t), (p = e), O.call(l)); + }, + ) + : (p = {}); + var P = Object.keys(g.patternDependencies); + function O() { + if (f) return s(f); + if (h && p && d) { + var e = new i(h), + r = new t.ImageAtlas(p, d); + for (var a in v) { + var l = v[a]; + l instanceof t.SymbolBucket + ? (o(l.layers, this.zoom, n), + t.performSymbolLayout( + l, + h, + e.positions, + p, + r.iconPositions, + this.showCollisionBoxes, + this.tileID.canonical, + )) + : l.hasPattern && + (l instanceof t.LineBucket || + l instanceof t.FillBucket || + l instanceof t.FillExtrusionBucket) && + (o(l.layers, this.zoom, n), + l.addFeatures( + g, + this.tileID.canonical, + r.patternPositions, + )); + } + (this.status = "done"), + s(null, { + buckets: t.values(v).filter(function (t) { + return !t.isEmpty(); + }), + featureIndex: c, + collisionBoxArray: this.collisionBoxArray, + glyphAtlasImage: e.image, + imageAtlas: r, + glyphMap: this.returnDependencies ? h : null, + iconMap: this.returnDependencies ? p : null, + glyphPositions: this.returnDependencies + ? e.positions + : null, + }); + } + } + P.length + ? a.send( + "getImages", + { + icons: P, + source: this.source, + tileID: this.tileID, + type: "patterns", + }, + function (t, e) { + f || ((f = t), (d = e), O.call(l)); + }, + ) + : (d = {}), + O.call(this); + }; + var l = function (t, e, r, n) { + (this.actor = t), + (this.layerIndex = e), + (this.availableImages = r), + (this.loadVectorData = n || s), + (this.loading = {}), + (this.loaded = {}); + }; + (l.prototype.loadTile = function (e, r) { + var n = this, + i = e.uid; + this.loading || (this.loading = {}); + var o = + !!( + e && + e.request && + e.request.collectResourceTiming + ) && new t.RequestPerformance(e.request), + s = (this.loading[i] = new a(e)); + s.abort = this.loadVectorData(e, function (e, a) { + if ((delete n.loading[i], e || !a)) + return ( + (s.status = "done"), (n.loaded[i] = s), r(e) + ); + var l = a.rawData, + u = {}; + a.expires && (u.expires = a.expires), + a.cacheControl && + (u.cacheControl = a.cacheControl); + var c = {}; + if (o) { + var f = o.finish(); + f && + (c.resourceTiming = JSON.parse( + JSON.stringify(f), + )); + } + (s.vectorTile = a.vectorTile), + s.parse( + a.vectorTile, + n.layerIndex, + n.availableImages, + n.actor, + function (e, n) { + if (e || !n) return r(e); + r( + null, + t.extend( + { rawTileData: l.slice(0) }, + n, + u, + c, + ), + ); + }, + ), + (n.loaded = n.loaded || {}), + (n.loaded[i] = s); + }); + }), + (l.prototype.reloadTile = function (t, e) { + var r = this, + n = this.loaded, + i = t.uid, + a = this; + if (n && n[i]) { + var o = n[i]; + o.showCollisionBoxes = t.showCollisionBoxes; + var s = function (t, n) { + var i = o.reloadCallback; + i && + (delete o.reloadCallback, + o.parse( + o.vectorTile, + a.layerIndex, + r.availableImages, + a.actor, + i, + )), + e(t, n); + }; + "parsing" === o.status + ? (o.reloadCallback = s) + : "done" === o.status && + (o.vectorTile + ? o.parse( + o.vectorTile, + this.layerIndex, + this.availableImages, + this.actor, + s, + ) + : s()); + } + }), + (l.prototype.abortTile = function (t, e) { + var r = this.loading, + n = t.uid; + r && + r[n] && + r[n].abort && + (r[n].abort(), delete r[n]), + e(); + }), + (l.prototype.removeTile = function (t, e) { + var r = this.loaded, + n = t.uid; + r && r[n] && delete r[n], e(); + }); + var u = t.window.ImageBitmap, + c = function () { + this.loaded = {}; + }; + (c.prototype.loadTile = function (e, r) { + var n = e.uid, + i = e.encoding, + a = e.rawImageData, + o = u && a instanceof u ? this.getImageData(a) : a, + s = new t.DEMData(n, o, i); + (this.loaded = this.loaded || {}), + (this.loaded[n] = s), + r(null, s); + }), + (c.prototype.getImageData = function (e) { + (this.offscreenCanvas && + this.offscreenCanvasContext) || + ((this.offscreenCanvas = new OffscreenCanvas( + e.width, + e.height, + )), + (this.offscreenCanvasContext = + this.offscreenCanvas.getContext("2d"))), + (this.offscreenCanvas.width = e.width), + (this.offscreenCanvas.height = e.height), + this.offscreenCanvasContext.drawImage( + e, + 0, + 0, + e.width, + e.height, + ); + var r = this.offscreenCanvasContext.getImageData( + -1, + -1, + e.width + 2, + e.height + 2, + ); + return ( + this.offscreenCanvasContext.clearRect( + 0, + 0, + this.offscreenCanvas.width, + this.offscreenCanvas.height, + ), + new t.RGBAImage( + { width: r.width, height: r.height }, + r.data, + ) + ); + }), + (c.prototype.removeTile = function (t) { + var e = this.loaded, + r = t.uid; + e && e[r] && delete e[r]; + }); + var f = function t(e, r) { + var n, + i = e && e.type; + if ("FeatureCollection" === i) + for (n = 0; n < e.features.length; n++) + t(e.features[n], r); + else if ("GeometryCollection" === i) + for (n = 0; n < e.geometries.length; n++) + t(e.geometries[n], r); + else if ("Feature" === i) t(e.geometry, r); + else if ("Polygon" === i) h(e.coordinates, r); + else if ("MultiPolygon" === i) + for (n = 0; n < e.coordinates.length; n++) + h(e.coordinates[n], r); + return e; + }; + function h(t, e) { + if (0 !== t.length) { + p(t[0], e); + for (var r = 1; r < t.length; r++) p(t[r], !e); + } + } + function p(t, e) { + for ( + var r = 0, n = 0, i = t.length, a = i - 1; + n < i; + a = n++ + ) + r += (t[n][0] - t[a][0]) * (t[a][1] + t[n][1]); + r >= 0 != !!e && t.reverse(); + } + var d = + t.vectorTile.VectorTileFeature.prototype.toGeoJSON, + v = function (e) { + (this._feature = e), + (this.extent = t.EXTENT), + (this.type = e.type), + (this.properties = e.tags), + "id" in e && + !isNaN(e.id) && + (this.id = parseInt(e.id, 10)); + }; + (v.prototype.loadGeometry = function () { + if (1 === this._feature.type) { + for ( + var e = [], r = 0, n = this._feature.geometry; + r < n.length; + r += 1 + ) { + var i = n[r]; + e.push([new t.Point$1(i[0], i[1])]); + } + return e; + } + 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 f = c[u]; + l.push(new t.Point$1(f[0], f[1])); + } + a.push(l); + } + return a; + }), + (v.prototype.toGeoJSON = function (t, e, r) { + return d.call(this, t, e, r); + }); + var g = function (e) { + (this.layers = { _geojsonTileLayer: this }), + (this.name = "_geojsonTileLayer"), + (this.extent = t.EXTENT), + (this.length = e.length), + (this._features = e); + }; + g.prototype.feature = function (t) { + return new v(this._features[t]); + }; + var y = t.vectorTile.VectorTileFeature, + m = x; + function x(t, e) { + (this.options = e || {}), + (this.features = t), + (this.length = t.length); + } + function b(t, e) { + (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 = e || 4096); + } + (x.prototype.feature = function (t) { + return new b(this.features[t], this.options.extent); + }), + (b.prototype.loadGeometry = function () { + var e = this.rawGeometry; + this.geometry = []; + for (var r = 0; r < e.length; r++) { + for ( + var n = e[r], i = [], a = 0; + a < n.length; + a++ + ) + i.push(new t.Point$1(n[a][0], n[a][1])); + this.geometry.push(i); + } + return this.geometry; + }), + (b.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]; + }), + (b.prototype.toGeoJSON = y.prototype.toGeoJSON); + var _ = A, + w = A, + T = function (t, e) { + e = e || {}; + var r = {}; + for (var n in t) + (r[n] = new m(t[n].features, e)), + (r[n].name = n), + (r[n].version = e.version), + (r[n].extent = e.extent); + return A({ layers: r }); + }, + k = m; + function A(e) { + var r = new t.pbf(); + return ( + (function (t, e) { + for (var r in t.layers) + e.writeMessage(3, M, t.layers[r]); + })(e, r), + r.finish() + ); + } + function M(t, e) { + var r; + e.writeVarintField(15, t.version || 1), + e.writeStringField(1, t.name || ""), + e.writeVarintField(5, t.extent || 4096); + var n = { + keys: [], + values: [], + keycache: {}, + valuecache: {}, + }; + for (r = 0; r < t.length; r++) + (n.feature = t.feature(r)), e.writeMessage(2, S, n); + var i = n.keys; + for (r = 0; r < i.length; r++) + e.writeStringField(3, i[r]); + var a = n.values; + for (r = 0; r < a.length; r++) + e.writeMessage(4, O, a[r]); + } + function S(t, e) { + var r = t.feature; + void 0 !== r.id && e.writeVarintField(1, r.id), + e.writeMessage(2, E, t), + e.writeVarintField(3, r.type), + e.writeMessage(4, P, r); + } + function E(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 f = c + ":" + u, + h = o[f]; + void 0 === h && + (i.push(u), (h = i.length - 1), (o[f] = h)), + e.writeVarint(h); + } + } + function L(t, e) { + return (e << 3) + (7 & t); + } + function C(t) { + return (t << 1) ^ (t >> 31); + } + function P(t, e) { + for ( + var r = t.loadGeometry(), + n = t.type, + i = 0, + a = 0, + o = r.length, + s = 0; + s < o; + s++ + ) { + var l = r[s], + u = 1; + 1 === n && (u = l.length), e.writeVarint(L(1, u)); + for ( + var c = 3 === n ? l.length - 1 : l.length, f = 0; + f < c; + f++ + ) { + 1 === f && 1 !== n && e.writeVarint(L(2, c - 1)); + var h = l[f].x - i, + p = l[f].y - a; + e.writeVarint(C(h)), + e.writeVarint(C(p)), + (i += h), + (a += p); + } + 3 === n && e.writeVarint(L(7, 1)); + } + } + function O(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)); + } + function I(t, e, r, n, i, a) { + if (!(i - n <= r)) { + var o = (n + i) >> 1; + D(t, e, o, n, i, a % 2), + I(t, e, r, n, o - 1, a + 1), + I(t, e, r, o + 1, i, a + 1); + } + } + function D(t, e, r, n, i, a) { + for (; i > n; ) { + if (i - n > 600) { + var o = i - n + 1, + s = r - n + 1, + l = Math.log(o), + u = 0.5 * Math.exp((2 * l) / 3), + c = + 0.5 * + Math.sqrt((l * u * (o - u)) / o) * + (s - o / 2 < 0 ? -1 : 1); + D( + t, + e, + r, + Math.max(n, Math.floor(r - (s * u) / o + c)), + Math.min( + i, + Math.floor(r + ((o - s) * u) / o + c), + ), + a, + ); + } + var f = e[2 * r + a], + h = n, + p = i; + for ( + z(t, e, n, r), e[2 * i + a] > f && z(t, e, n, i); + h < p; + + ) { + for (z(t, e, h, p), h++, p--; e[2 * h + a] < f; ) + h++; + for (; e[2 * p + a] > f; ) p--; + } + e[2 * n + a] === f + ? z(t, e, n, p) + : z(t, e, ++p, i), + p <= r && (n = p + 1), + r <= p && (i = p - 1); + } + } + function z(t, e, r, n) { + R(t, r, n), + R(e, 2 * r, 2 * n), + R(e, 2 * r + 1, 2 * n + 1); + } + function R(t, e, r) { + var n = t[e]; + (t[e] = t[r]), (t[r] = n); + } + function F(t, e, r, n) { + var i = t - r, + a = e - n; + return i * i + a * a; + } + (_.fromVectorTileJs = w), + (_.fromGeojsonVt = T), + (_.GeoJSONWrapper = k); + var B = function (t) { + return t[0]; + }, + N = function (t) { + return t[1]; + }, + j = function (t, e, r, n, i) { + void 0 === e && (e = B), + void 0 === r && (r = N), + void 0 === n && (n = 64), + void 0 === i && (i = Float64Array), + (this.nodeSize = n), + (this.points = t); + for ( + var a = + t.length < 65536 ? Uint16Array : Uint32Array, + o = (this.ids = new a(t.length)), + s = (this.coords = new i(2 * t.length)), + l = 0; + l < t.length; + l++ + ) + (o[l] = l), + (s[2 * l] = e(t[l])), + (s[2 * l + 1] = r(t[l])); + I(o, s, n, 0, o.length - 1, 0); + }; + (j.prototype.range = function (t, e, r, n) { + return (function (t, e, r, n, i, a, o) { + for ( + var s, l, u = [0, t.length - 1, 0], c = []; + u.length; + + ) { + var f = u.pop(), + h = u.pop(), + p = u.pop(); + if (h - p <= o) + for (var d = p; d <= h; d++) + (s = e[2 * d]), + (l = e[2 * d + 1]), + s >= r && + s <= i && + l >= n && + l <= a && + c.push(t[d]); + else { + var v = Math.floor((p + h) / 2); + (s = e[2 * v]), + (l = e[2 * v + 1]), + s >= r && + s <= i && + l >= n && + l <= a && + c.push(t[v]); + var g = (f + 1) % 2; + (0 === f ? r <= s : n <= l) && + (u.push(p), u.push(v - 1), u.push(g)), + (0 === f ? i >= s : a >= l) && + (u.push(v + 1), u.push(h), u.push(g)); + } + } + return c; + })(this.ids, this.coords, t, e, r, n, this.nodeSize); + }), + (j.prototype.within = function (t, e, r) { + return (function (t, e, r, n, i, a) { + for ( + var o = [0, t.length - 1, 0], s = [], l = i * i; + o.length; + + ) { + var u = o.pop(), + c = o.pop(), + f = o.pop(); + if (c - f <= a) + for (var h = f; h <= c; h++) + F(e[2 * h], e[2 * h + 1], r, n) <= l && + s.push(t[h]); + else { + var p = Math.floor((f + c) / 2), + d = e[2 * p], + v = e[2 * p + 1]; + F(d, v, r, n) <= l && s.push(t[p]); + var g = (u + 1) % 2; + (0 === u ? r - i <= d : n - i <= v) && + (o.push(f), o.push(p - 1), o.push(g)), + (0 === u ? r + i >= d : n + i >= v) && + (o.push(p + 1), o.push(c), o.push(g)); + } + } + return s; + })(this.ids, this.coords, t, e, r, this.nodeSize); + }); + var U = { + minZoom: 0, + maxZoom: 16, + radius: 40, + extent: 512, + nodeSize: 64, + log: !1, + generateId: !1, + reduce: null, + map: function (t) { + return t; + }, + }, + V = function (t) { + (this.options = X(Object.create(U), t)), + (this.trees = new Array( + this.options.maxZoom + 1, + )); + }; + function H(t, e, r, n, i) { + return { + x: t, + y: e, + zoom: 1 / 0, + id: r, + parentId: -1, + numPoints: n, + properties: i, + }; + } + function q(t, e) { + var r = t.geometry.coordinates, + n = r[0], + i = r[1]; + return { + x: Y(n), + y: W(i), + zoom: 1 / 0, + index: e, + parentId: -1, + }; + } + function G(t) { + return { + type: "Feature", + id: t.id, + properties: Z(t), + geometry: { + type: "Point", + coordinates: [ + ((n = t.x), 360 * (n - 0.5)), + ((e = t.y), + (r = ((180 - 360 * e) * Math.PI) / 180), + (360 * Math.atan(Math.exp(r))) / Math.PI - 90), + ], + }, + }; + var e, r, n; + } + function Z(t) { + var e = t.numPoints, + r = + e >= 1e4 + ? Math.round(e / 1e3) + "k" + : e >= 1e3 + ? Math.round(e / 100) / 10 + "k" + : e; + return X(X({}, t.properties), { + cluster: !0, + cluster_id: t.id, + point_count: e, + point_count_abbreviated: r, + }); + } + function Y(t) { + return t / 360 + 0.5; + } + function W(t) { + var e = Math.sin((t * Math.PI) / 180), + r = + 0.5 - + (0.25 * Math.log((1 + e) / (1 - e))) / Math.PI; + return r < 0 ? 0 : r > 1 ? 1 : r; + } + function X(t, e) { + for (var r in e) t[r] = e[r]; + return t; + } + function J(t) { + return t.x; + } + function K(t) { + return t.y; + } + function $(t, e, r, n) { + for ( + var i, + a = n, + o = (r - e) >> 1, + s = r - e, + l = t[e], + u = t[e + 1], + c = t[r], + f = t[r + 1], + h = e + 3; + h < r; + h += 3 + ) { + var p = Q(t[h], t[h + 1], l, u, c, f); + if (p > a) (i = h), (a = p); + else if (p === a) { + var d = Math.abs(h - o); + d < s && ((i = h), (s = d)); + } + } + a > n && + (i - e > 3 && $(t, e, i, n), + (t[i + 2] = a), + r - i > 3 && $(t, i, r, n)); + } + function Q(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; + } + function tt(t, e, r, n) { + var i = { + id: void 0 === t ? null : t, + type: e, + geometry: r, + tags: n, + 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 + ) + et(t, e); + else if ( + "Polygon" === r || + "MultiLineString" === r + ) + for (var n = 0; n < e.length; n++) et(t, e[n]); + else if ("MultiPolygon" === r) + for (n = 0; n < e.length; n++) + for (var i = 0; i < e[n].length; i++) + et(t, e[n][i]); + })(i), + i + ); + } + function et(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])); + } + function rt(t, e, r, n) { + if (e.geometry) { + var i = e.geometry.coordinates, + a = e.geometry.type, + o = Math.pow( + r.tolerance / ((1 << r.maxZoom) * r.extent), + 2, + ), + s = [], + l = e.id; + if ( + (r.promoteId + ? (l = e.properties[r.promoteId]) + : r.generateId && (l = n || 0), + "Point" === a) + ) + nt(i, s); + else if ("MultiPoint" === a) + for (var u = 0; u < i.length; u++) nt(i[u], s); + else if ("LineString" === a) it(i, s, o, !1); + else if ("MultiLineString" === a) { + if (r.lineMetrics) { + for (u = 0; u < i.length; u++) + (s = []), + it(i[u], s, o, !1), + t.push( + tt(l, "LineString", s, e.properties), + ); + return; + } + at(i, s, o, !1); + } else if ("Polygon" === a) at(i, s, o, !0); + else { + if ("MultiPolygon" !== a) { + if ("GeometryCollection" === a) { + for ( + u = 0; + u < e.geometry.geometries.length; + u++ + ) + rt( + t, + { + id: l, + geometry: e.geometry.geometries[u], + properties: e.properties, + }, + r, + n, + ); + return; + } + throw new Error( + "Input data is not a valid GeoJSON object.", + ); + } + for (u = 0; u < i.length; u++) { + var c = []; + at(i[u], c, o, !0), s.push(c); + } + } + t.push(tt(l, a, s, e.properties)); + } + } + function nt(t, e) { + e.push(ot(t[0])), e.push(st(t[1])), e.push(0); + } + function it(t, e, r, n) { + for (var i, a, o = 0, s = 0; s < t.length; s++) { + var l = ot(t[s][0]), + u = st(t[s][1]); + e.push(l), + e.push(u), + e.push(0), + s > 0 && + (o += n + ? (i * u - l * a) / 2 + : Math.sqrt( + Math.pow(l - i, 2) + Math.pow(u - a, 2), + )), + (i = l), + (a = u); + } + var c = e.length - 3; + (e[2] = 1), + $(e, 0, c, r), + (e[c + 2] = 1), + (e.size = Math.abs(o)), + (e.start = 0), + (e.end = e.size); + } + function at(t, e, r, n) { + for (var i = 0; i < t.length; i++) { + var a = []; + it(t[i], a, r, n), e.push(a); + } + } + function ot(t) { + return t / 360 + 0.5; + } + function st(t) { + var e = Math.sin((t * Math.PI) / 180), + r = + 0.5 - + (0.25 * Math.log((1 + e) / (1 - e))) / Math.PI; + return r < 0 ? 0 : r > 1 ? 1 : r; + } + function lt(t, e, r, n, i, a, o, s) { + if (((n /= e), a >= (r /= e) && o < n)) return t; + if (o < r || a >= n) return null; + for (var l = [], u = 0; u < t.length; u++) { + var c = t[u], + f = c.geometry, + h = c.type, + p = 0 === i ? c.minX : c.minY, + d = 0 === i ? c.maxX : c.maxY; + if (p >= r && d < n) l.push(c); + else if (!(d < r || p >= n)) { + var v = []; + if ("Point" === h || "MultiPoint" === h) + ut(f, v, r, n, i); + else if ("LineString" === h) + ct(f, v, r, n, i, !1, s.lineMetrics); + else if ("MultiLineString" === h) + ht(f, v, r, n, i, !1); + else if ("Polygon" === h) ht(f, v, r, n, i, !0); + else if ("MultiPolygon" === h) + for (var g = 0; g < f.length; g++) { + var y = []; + ht(f[g], y, r, n, i, !0), + y.length && v.push(y); + } + if (v.length) { + if (s.lineMetrics && "LineString" === h) { + for (g = 0; g < v.length; g++) + l.push(tt(c.id, h, v[g], c.tags)); + continue; + } + ("LineString" !== h && + "MultiLineString" !== h) || + (1 === v.length + ? ((h = "LineString"), (v = v[0])) + : (h = "MultiLineString")), + ("Point" !== h && "MultiPoint" !== h) || + (h = + 3 === v.length ? "Point" : "MultiPoint"), + l.push(tt(c.id, h, v, c.tags)); + } + } + } + return l.length ? l : null; + } + function ut(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 ct(t, e, r, n, i, a, o) { + for ( + var s, + l, + u = ft(t), + c = 0 === i ? dt : vt, + f = t.start, + h = 0; + h < t.length - 3; + h += 3 + ) { + var p = t[h], + d = t[h + 1], + v = t[h + 2], + g = t[h + 3], + y = t[h + 4], + m = 0 === i ? p : d, + x = 0 === i ? g : y, + b = !1; + o && + (s = Math.sqrt( + Math.pow(p - g, 2) + Math.pow(d - y, 2), + )), + m < r + ? x > r && + ((l = c(u, p, d, g, y, r)), + o && (u.start = f + s * l)) + : m > n + ? x < n && + ((l = c(u, p, d, g, y, n)), + o && (u.start = f + s * l)) + : pt(u, p, d, v), + x < r && + m >= r && + ((l = c(u, p, d, g, y, r)), (b = !0)), + x > n && + m <= n && + ((l = c(u, p, d, g, y, n)), (b = !0)), + !a && + b && + (o && (u.end = f + s * l), + e.push(u), + (u = ft(t))), + o && (f += s); + } + var _ = t.length - 3; + (p = t[_]), + (d = t[_ + 1]), + (v = t[_ + 2]), + (m = 0 === i ? p : d) >= r && + m <= n && + pt(u, p, d, v), + (_ = u.length - 3), + a && + _ >= 3 && + (u[_] !== u[0] || u[_ + 1] !== u[1]) && + pt(u, u[0], u[1], u[2]), + u.length && e.push(u); + } + function ft(t) { + var e = []; + return ( + (e.size = t.size), + (e.start = t.start), + (e.end = t.end), + e + ); + } + function ht(t, e, r, n, i, a) { + for (var o = 0; o < t.length; o++) + ct(t[o], e, r, n, i, a, !1); + } + function pt(t, e, r, n) { + t.push(e), t.push(r), t.push(n); + } + function dt(t, e, r, n, i, a) { + var o = (a - e) / (n - e); + return ( + t.push(a), t.push(r + (i - r) * o), t.push(1), o + ); + } + function vt(t, e, r, n, i, a) { + var o = (a - r) / (i - r); + return ( + t.push(e + (n - e) * o), t.push(a), t.push(1), o + ); + } + function gt(t, e) { + for (var r = [], n = 0; n < t.length; n++) { + var i, + a = t[n], + o = a.type; + if ( + "Point" === o || + "MultiPoint" === o || + "LineString" === o + ) + i = yt(a.geometry, e); + else if ( + "MultiLineString" === o || + "Polygon" === o + ) { + i = []; + for (var s = 0; s < a.geometry.length; s++) + i.push(yt(a.geometry[s], e)); + } else if ("MultiPolygon" === o) + for (i = [], s = 0; s < a.geometry.length; s++) { + for ( + var l = [], u = 0; + u < a.geometry[s].length; + u++ + ) + l.push(yt(a.geometry[s][u], e)); + i.push(l); + } + r.push(tt(a.id, o, i, a.tags)); + } + return r; + } + function yt(t, e) { + var r = []; + (r.size = t.size), + void 0 !== t.start && + ((r.start = t.start), (r.end = t.end)); + for (var n = 0; n < t.length; n += 3) + r.push(t[n] + e, t[n + 1], t[n + 2]); + return r; + } + function mt(t, e) { + if (t.transformed) return t; + var r, + n, + i, + a = 1 << t.z, + o = t.x, + s = t.y; + for (r = 0; r < t.features.length; r++) { + var l = t.features[r], + u = l.geometry, + c = l.type; + if (((l.geometry = []), 1 === c)) + for (n = 0; n < u.length; n += 2) + l.geometry.push(xt(u[n], u[n + 1], e, a, o, s)); + else + for (n = 0; n < u.length; n++) { + var f = []; + for (i = 0; i < u[n].length; i += 2) + f.push(xt(u[n][i], u[n][i + 1], e, a, o, s)); + l.geometry.push(f); + } + } + return (t.transformed = !0), t; + } + function xt(t, e, r, n, i, a) { + return [ + Math.round(r * (t * n - i)), + Math.round(r * (e * n - a)), + ]; + } + function bt(t, e, r, n, i) { + for ( + var a = + e === i.maxZoom + ? 0 + : i.tolerance / ((1 << e) * i.extent), + o = { + features: [], + numPoints: 0, + numSimplified: 0, + numFeatures: 0, + source: null, + x: r, + y: n, + z: e, + transformed: !1, + minX: 2, + minY: 1, + maxX: -1, + maxY: 0, + }, + s = 0; + s < t.length; + s++ + ) { + o.numFeatures++, _t(o, t[s], a, i); + var l = t[s].minX, + u = t[s].minY, + c = t[s].maxX, + f = t[s].maxY; + l < o.minX && (o.minX = l), + u < o.minY && (o.minY = u), + c > o.maxX && (o.maxX = c), + f > o.maxY && (o.maxY = f); + } + return o; + } + function _t(t, e, r, n) { + var i = e.geometry, + a = e.type, + o = []; + if ("Point" === a || "MultiPoint" === a) + for (var s = 0; s < i.length; s += 3) + o.push(i[s]), + o.push(i[s + 1]), + t.numPoints++, + t.numSimplified++; + else if ("LineString" === a) wt(o, i, t, r, !1, !1); + else if ("MultiLineString" === a || "Polygon" === a) + for (s = 0; s < i.length; s++) + wt(o, i[s], t, r, "Polygon" === a, 0 === s); + else if ("MultiPolygon" === a) + for (var l = 0; l < i.length; l++) { + var u = i[l]; + for (s = 0; s < u.length; s++) + wt(o, u[s], t, r, !0, 0 === s); + } + if (o.length) { + var c = e.tags || null; + if ("LineString" === a && n.lineMetrics) { + for (var f in ((c = {}), e.tags)) + c[f] = e.tags[f]; + (c.mapbox_clip_start = i.start / i.size), + (c.mapbox_clip_end = i.end / i.size); + } + var h = { + geometry: o, + type: + "Polygon" === a || "MultiPolygon" === a + ? 3 + : "LineString" === a || + "MultiLineString" === a + ? 2 + : 1, + tags: c, + }; + null !== e.id && (h.id = e.id), t.features.push(h); + } + } + function wt(t, e, r, n, i, a) { + var o = n * n; + if (n > 0 && e.size < (i ? o : n)) + r.numPoints += e.length / 3; + else { + for (var s = [], l = 0; l < e.length; l += 3) + (0 === n || e[l + 2] > o) && + (r.numSimplified++, + s.push(e[l]), + s.push(e[l + 1])), + r.numPoints++; + i && + (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); + } + })(s, a), + t.push(s); + } + } + function Tt(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", + ); + if (e.promoteId && e.generateId) + throw new Error( + "promoteId and generateId cannot be used together.", + ); + var n = (function (t, e) { + var r = []; + if ("FeatureCollection" === t.type) + for (var n = 0; n < t.features.length; n++) + rt(r, t.features[n], e, n); + else + "Feature" === t.type + ? rt(r, t, e) + : rt(r, { geometry: t }, e); + return r; + })(t, e); + (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)), + (n = (function (t, e) { + var r = e.buffer / e.extent, + n = t, + i = lt(t, 1, -1 - r, r, 0, -1, 2, e), + a = lt(t, 1, 1 - r, 2 + r, 0, -1, 2, e); + return ( + (i || a) && + ((n = lt(t, 1, -r, 1 + r, 0, -1, 2, e) || []), + i && (n = gt(i, 1).concat(n)), + a && (n = n.concat(gt(a, -1)))), + n + ); + })(n, e)).length && this.splitTile(n, 0, 0, 0), + r && + (n.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 kt(t, e, r) { + return 32 * ((1 << t) * r + e) + t; + } + function At(t, e) { + var r = t.tileID.canonical; + if (!this._geoJSONIndex) return e(null, null); + var n = this._geoJSONIndex.getTile(r.z, r.x, r.y); + if (!n) return e(null, null); + var i = new g(n.features), + a = _(i); + (0 === a.byteOffset && + a.byteLength === a.buffer.byteLength) || + (a = new Uint8Array(a)), + e(null, { vectorTile: i, rawData: a.buffer }); + } + (V.prototype.load = function (t) { + var e = this.options, + r = e.log, + n = e.minZoom, + i = e.maxZoom, + a = e.nodeSize; + r && console.time("total time"); + var o = "prepare " + t.length + " points"; + r && console.time(o), (this.points = t); + for (var s = [], l = 0; l < t.length; l++) + t[l].geometry && s.push(q(t[l], l)); + (this.trees[i + 1] = new j(s, J, K, a, Float32Array)), + r && console.timeEnd(o); + for (var u = i; u >= n; u--) { + var c = +Date.now(); + (s = this._cluster(s, u)), + (this.trees[u] = new j(s, J, K, a, Float32Array)), + r && + console.log( + "z%d: %d clusters in %dms", + u, + s.length, + +Date.now() - c, + ); + } + return r && console.timeEnd("total time"), this; + }), + (V.prototype.getClusters = function (t, e) { + var r = ((((t[0] + 180) % 360) + 360) % 360) - 180, + n = Math.max(-90, Math.min(90, t[1])), + i = + 180 === t[2] + ? 180 + : ((((t[2] + 180) % 360) + 360) % 360) - 180, + a = Math.max(-90, Math.min(90, t[3])); + if (t[2] - t[0] >= 360) (r = -180), (i = 180); + else if (r > i) { + var o = this.getClusters([r, n, 180, a], e), + s = this.getClusters([-180, n, i, a], e); + return o.concat(s); + } + for ( + var l = this.trees[this._limitZoom(e)], + u = [], + c = 0, + f = l.range(Y(r), W(a), Y(i), W(n)); + c < f.length; + c += 1 + ) { + var h = f[c], + p = l.points[h]; + u.push(p.numPoints ? G(p) : this.points[p.index]); + } + return u; + }), + (V.prototype.getChildren = function (t) { + var e = this._getOriginId(t), + r = this._getOriginZoom(t), + n = "No cluster with the specified id.", + i = this.trees[r]; + if (!i) throw new Error(n); + var a = i.points[e]; + if (!a) throw new Error(n); + for ( + var o = + this.options.radius / + (this.options.extent * Math.pow(2, r - 1)), + s = [], + l = 0, + u = i.within(a.x, a.y, o); + l < u.length; + l += 1 + ) { + var c = u[l], + f = i.points[c]; + f.parentId === t && + s.push( + f.numPoints ? G(f) : this.points[f.index], + ); + } + if (0 === s.length) throw new Error(n); + return s; + }), + (V.prototype.getLeaves = function (t, e, r) { + (e = e || 10), (r = r || 0); + var n = []; + return this._appendLeaves(n, t, e, r, 0), n; + }), + (V.prototype.getTile = function (t, e, r) { + var n = this.trees[this._limitZoom(t)], + i = Math.pow(2, t), + a = this.options, + o = a.extent, + s = a.radius / o, + l = (r - s) / i, + u = (r + 1 + s) / i, + c = { features: [] }; + return ( + this._addTileFeatures( + n.range((e - s) / i, l, (e + 1 + s) / i, u), + n.points, + e, + r, + i, + c, + ), + 0 === e && + this._addTileFeatures( + n.range(1 - s / i, l, 1, u), + n.points, + i, + r, + i, + c, + ), + e === i - 1 && + this._addTileFeatures( + n.range(0, l, s / i, u), + n.points, + -1, + r, + i, + c, + ), + c.features.length ? c : null + ); + }), + (V.prototype.getClusterExpansionZoom = function (t) { + for ( + var e = this._getOriginZoom(t) - 1; + e <= this.options.maxZoom; + + ) { + var r = this.getChildren(t); + if ((e++, 1 !== r.length)) break; + t = r[0].properties.cluster_id; + } + return e; + }), + (V.prototype._appendLeaves = function ( + t, + e, + r, + n, + i, + ) { + for ( + var a = 0, o = this.getChildren(e); + a < o.length; + a += 1 + ) { + var s = o[a], + l = s.properties; + if ( + (l && l.cluster + ? i + l.point_count <= n + ? (i += l.point_count) + : (i = this._appendLeaves( + t, + l.cluster_id, + r, + n, + i, + )) + : i < n + ? i++ + : t.push(s), + t.length === r) + ) + break; + } + return i; + }), + (V.prototype._addTileFeatures = function ( + t, + e, + r, + n, + i, + a, + ) { + for (var o = 0, s = t; o < s.length; o += 1) { + var l = e[s[o]], + u = l.numPoints, + c = { + type: 1, + geometry: [ + [ + Math.round( + this.options.extent * (l.x * i - r), + ), + Math.round( + this.options.extent * (l.y * i - n), + ), + ], + ], + tags: u + ? Z(l) + : this.points[l.index].properties, + }, + f = void 0; + u + ? (f = l.id) + : this.options.generateId + ? (f = l.index) + : this.points[l.index].id && + (f = this.points[l.index].id), + void 0 !== f && (c.id = f), + a.features.push(c); + } + }), + (V.prototype._limitZoom = function (t) { + return Math.max( + this.options.minZoom, + Math.min(t, this.options.maxZoom + 1), + ); + }), + (V.prototype._cluster = function (t, e) { + for ( + var r = [], + n = this.options, + i = n.radius, + a = n.extent, + o = n.reduce, + s = i / (a * Math.pow(2, e)), + l = 0; + l < t.length; + l++ + ) { + var u = t[l]; + if (!(u.zoom <= e)) { + u.zoom = e; + for ( + var c = this.trees[e + 1], + f = c.within(u.x, u.y, s), + h = u.numPoints || 1, + p = u.x * h, + d = u.y * h, + v = o && h > 1 ? this._map(u, !0) : null, + g = (l << 5) + (e + 1) + this.points.length, + y = 0, + m = f; + y < m.length; + y += 1 + ) { + var x = m[y], + b = c.points[x]; + if (!(b.zoom <= e)) { + b.zoom = e; + var _ = b.numPoints || 1; + (p += b.x * _), + (d += b.y * _), + (h += _), + (b.parentId = g), + o && + (v || (v = this._map(u, !0)), + o(v, this._map(b))); + } + } + 1 === h + ? r.push(u) + : ((u.parentId = g), + r.push(H(p / h, d / h, g, h, v))); + } + } + return r; + }), + (V.prototype._getOriginId = function (t) { + return (t - this.points.length) >> 5; + }), + (V.prototype._getOriginZoom = function (t) { + return (t - this.points.length) % 32; + }), + (V.prototype._map = function (t, e) { + if (t.numPoints) + return e ? X({}, t.properties) : t.properties; + var r = this.points[t.index].properties, + n = this.options.map(r); + return e && n === r ? X({}, n) : n; + }), + (Tt.prototype.options = { + maxZoom: 14, + indexMaxZoom: 5, + indexMaxPoints: 1e5, + tolerance: 3, + extent: 4096, + buffer: 64, + lineMetrics: !1, + promoteId: null, + generateId: !1, + debug: 0, + }), + (Tt.prototype.splitTile = function ( + t, + e, + r, + n, + i, + a, + o, + ) { + for ( + var s = [t, e, r, n], + l = this.options, + u = l.debug; + s.length; + + ) { + (n = s.pop()), + (r = s.pop()), + (e = s.pop()), + (t = s.pop()); + var c = 1 << e, + f = kt(e, r, n), + h = this.tiles[f]; + if ( + !h && + (u > 1 && console.time("creation"), + (h = this.tiles[f] = bt(t, e, r, n, l)), + this.tileCoords.push({ z: e, x: r, y: n }), + u) + ) { + u > 1 && + (console.log( + "tile z%d-%d-%d (features: %d, points: %d, simplified: %d)", + e, + r, + n, + h.numFeatures, + h.numPoints, + h.numSimplified, + ), + console.timeEnd("creation")); + var p = "z" + e; + (this.stats[p] = (this.stats[p] || 0) + 1), + this.total++; + } + if (((h.source = t), i)) { + if (e === l.maxZoom || e === i) continue; + var d = 1 << (i - e); + if ( + r !== Math.floor(a / d) || + n !== Math.floor(o / d) + ) + continue; + } else if ( + e === l.indexMaxZoom || + h.numPoints <= l.indexMaxPoints + ) + continue; + if (((h.source = null), 0 !== t.length)) { + u > 1 && console.time("clipping"); + var v, + g, + y, + m, + x, + b, + _ = (0.5 * l.buffer) / l.extent, + w = 0.5 - _, + T = 0.5 + _, + k = 1 + _; + (v = g = y = m = null), + (x = lt( + t, + c, + r - _, + r + T, + 0, + h.minX, + h.maxX, + l, + )), + (b = lt( + t, + c, + r + w, + r + k, + 0, + h.minX, + h.maxX, + l, + )), + (t = null), + x && + ((v = lt( + x, + c, + n - _, + n + T, + 1, + h.minY, + h.maxY, + l, + )), + (g = lt( + x, + c, + n + w, + n + k, + 1, + h.minY, + h.maxY, + l, + )), + (x = null)), + b && + ((y = lt( + b, + c, + n - _, + n + T, + 1, + h.minY, + h.maxY, + l, + )), + (m = lt( + b, + c, + n + w, + n + k, + 1, + h.minY, + h.maxY, + l, + )), + (b = null)), + u > 1 && console.timeEnd("clipping"), + s.push(v || [], e + 1, 2 * r, 2 * n), + s.push(g || [], e + 1, 2 * r, 2 * n + 1), + s.push(y || [], e + 1, 2 * r + 1, 2 * n), + s.push(m || [], e + 1, 2 * r + 1, 2 * n + 1); + } + } + }), + (Tt.prototype.getTile = function (t, e, r) { + var n = this.options, + i = n.extent, + a = n.debug; + if (t < 0 || t > 24) return null; + var o = 1 << t, + s = kt(t, (e = ((e % o) + o) % o), r); + if (this.tiles[s]) return mt(this.tiles[s], i); + a > 1 && + console.log( + "drilling down to z%d-%d-%d", + t, + e, + r, + ); + for (var l, u = t, c = e, f = r; !l && u > 0; ) + u--, + (c = Math.floor(c / 2)), + (f = Math.floor(f / 2)), + (l = this.tiles[kt(u, c, f)]); + return l && l.source + ? (a > 1 && + console.log( + "found parent tile z%d-%d-%d", + u, + c, + f, + ), + a > 1 && console.time("drilling down"), + this.splitTile(l.source, u, c, f, t, e, r), + a > 1 && console.timeEnd("drilling down"), + this.tiles[s] ? mt(this.tiles[s], i) : null) + : null; + }); + var Mt = (function (e) { + function r(t, r, n, i) { + e.call(this, t, r, n, At), + i && (this.loadGeoJSON = i); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create(e && e.prototype)), + (r.prototype.constructor = r), + (r.prototype.loadData = function (t, e) { + this._pendingCallback && + this._pendingCallback(null, { abandoned: !0 }), + (this._pendingCallback = e), + (this._pendingLoadDataParams = t), + this._state && "Idle" !== this._state + ? (this._state = "NeedsLoadData") + : ((this._state = "Coalescing"), + this._loadData()); + }), + (r.prototype._loadData = function () { + var e = this; + if ( + this._pendingCallback && + this._pendingLoadDataParams + ) { + var r = this._pendingCallback, + n = this._pendingLoadDataParams; + delete this._pendingCallback, + delete this._pendingLoadDataParams; + var i = + !!( + n && + n.request && + n.request.collectResourceTiming + ) && new t.RequestPerformance(n.request); + this.loadGeoJSON(n, function (a, o) { + if (a || !o) return r(a); + if ("object" != typeof o) + return r( + new Error( + "Input data given to '" + + n.source + + "' is not a valid GeoJSON object.", + ), + ); + f(o, !0); + try { + e._geoJSONIndex = n.cluster + ? new V( + (function (e) { + var r = e.superclusterOptions, + n = e.clusterProperties; + if (!n || !r) return r; + for ( + var i = {}, + a = {}, + o = { + accumulated: null, + zoom: 0, + }, + s = { properties: null }, + l = Object.keys(n), + u = 0, + c = l; + u < c.length; + u += 1 + ) { + var f = c[u], + h = n[f], + p = h[0], + d = h[1], + v = t.createExpression(d), + g = t.createExpression( + "string" == typeof p + ? [ + p, + ["accumulated"], + ["get", f], + ] + : p, + ); + (i[f] = v.value), + (a[f] = g.value); + } + return ( + (r.map = function (t) { + s.properties = t; + for ( + var e = {}, r = 0, n = l; + r < n.length; + r += 1 + ) { + var a = n[r]; + e[a] = i[a].evaluate(o, s); + } + return e; + }), + (r.reduce = function (t, e) { + s.properties = e; + for ( + var r = 0, n = l; + r < n.length; + r += 1 + ) { + var i = n[r]; + (o.accumulated = t[i]), + (t[i] = a[i].evaluate( + o, + s, + )); + } + }), + r + ); + })(n), + ).load(o.features) + : (function (t, e) { + return new Tt(t, e); + })(o, n.geojsonVtOptions); + } catch (a) { + return r(a); + } + e.loaded = {}; + var s = {}; + if (i) { + var l = i.finish(); + l && + ((s.resourceTiming = {}), + (s.resourceTiming[n.source] = JSON.parse( + JSON.stringify(l), + ))); + } + r(null, s); + }); + } + }), + (r.prototype.coalesce = function () { + "Coalescing" === this._state + ? (this._state = "Idle") + : "NeedsLoadData" === this._state && + ((this._state = "Coalescing"), + this._loadData()); + }), + (r.prototype.reloadTile = function (t, r) { + var n = this.loaded, + i = t.uid; + return n && n[i] + ? e.prototype.reloadTile.call(this, t, r) + : this.loadTile(t, r); + }), + (r.prototype.loadGeoJSON = function (e, r) { + if (e.request) t.getJSON(e.request, r); + else { + if ("string" != typeof e.data) + return r( + new Error( + "Input data given to '" + + e.source + + "' is not a valid GeoJSON object.", + ), + ); + try { + return r(null, JSON.parse(e.data)); + } catch (t) { + return r( + new Error( + "Input data given to '" + + e.source + + "' is not a valid GeoJSON object.", + ), + ); + } + } + }), + (r.prototype.removeSource = function (t, e) { + this._pendingCallback && + this._pendingCallback(null, { abandoned: !0 }), + e(); + }), + (r.prototype.getClusterExpansionZoom = function ( + t, + e, + ) { + try { + e( + null, + this._geoJSONIndex.getClusterExpansionZoom( + t.clusterId, + ), + ); + } catch (t) { + e(t); + } + }), + (r.prototype.getClusterChildren = function (t, e) { + try { + e( + null, + this._geoJSONIndex.getChildren(t.clusterId), + ); + } catch (t) { + e(t); + } + }), + (r.prototype.getClusterLeaves = function (t, e) { + try { + e( + null, + this._geoJSONIndex.getLeaves( + t.clusterId, + t.limit, + t.offset, + ), + ); + } catch (t) { + e(t); + } + }), + r + ); + })(l); + var St = function (e) { + var r = this; + (this.self = e), + (this.actor = new t.Actor(e, this)), + (this.layerIndexes = {}), + (this.availableImages = {}), + (this.workerSourceTypes = { + vector: l, + geojson: Mt, + }), + (this.workerSources = {}), + (this.demWorkerSources = {}), + (this.self.registerWorkerSource = function (t, e) { + if (r.workerSourceTypes[t]) + throw new Error( + 'Worker source with name "' + + t + + '" already registered.', + ); + r.workerSourceTypes[t] = e; + }), + (this.self.registerRTLTextPlugin = function (e) { + if (t.plugin.isParsed()) + throw new Error( + "RTL text plugin already registered.", + ); + (t.plugin.applyArabicShaping = + e.applyArabicShaping), + (t.plugin.processBidirectionalText = + e.processBidirectionalText), + (t.plugin.processStyledBidirectionalText = + e.processStyledBidirectionalText); + }); + }; + return ( + (St.prototype.setReferrer = function (t, e) { + this.referrer = e; + }), + (St.prototype.setImages = function (t, e, r) { + for (var n in ((this.availableImages[t] = e), + this.workerSources[t])) { + var i = this.workerSources[t][n]; + for (var a in i) i[a].availableImages = e; + } + r(); + }), + (St.prototype.setLayers = function (t, e, r) { + this.getLayerIndex(t).replace(e), r(); + }), + (St.prototype.updateLayers = function (t, e, r) { + this.getLayerIndex(t).update( + e.layers, + e.removedIds, + ), + r(); + }), + (St.prototype.loadTile = function (t, e, r) { + this.getWorkerSource(t, e.type, e.source).loadTile( + e, + r, + ); + }), + (St.prototype.loadDEMTile = function (t, e, r) { + this.getDEMWorkerSource(t, e.source).loadTile(e, r); + }), + (St.prototype.reloadTile = function (t, e, r) { + this.getWorkerSource( + t, + e.type, + e.source, + ).reloadTile(e, r); + }), + (St.prototype.abortTile = function (t, e, r) { + this.getWorkerSource(t, e.type, e.source).abortTile( + e, + r, + ); + }), + (St.prototype.removeTile = function (t, e, r) { + this.getWorkerSource( + t, + e.type, + e.source, + ).removeTile(e, r); + }), + (St.prototype.removeDEMTile = function (t, e) { + this.getDEMWorkerSource(t, e.source).removeTile(e); + }), + (St.prototype.removeSource = function (t, e, r) { + if ( + this.workerSources[t] && + this.workerSources[t][e.type] && + this.workerSources[t][e.type][e.source] + ) { + var n = this.workerSources[t][e.type][e.source]; + delete this.workerSources[t][e.type][e.source], + void 0 !== n.removeSource + ? n.removeSource(e, r) + : r(); + } + }), + (St.prototype.loadWorkerSource = function (t, e, r) { + try { + this.self.importScripts(e.url), r(); + } catch (t) { + r(t.toString()); + } + }), + (St.prototype.syncRTLPluginState = function ( + e, + r, + n, + ) { + try { + t.plugin.setState(r); + var i = t.plugin.getPluginURL(); + if ( + t.plugin.isLoaded() && + !t.plugin.isParsed() && + null != i + ) { + this.self.importScripts(i); + var a = t.plugin.isParsed(); + n( + a + ? void 0 + : new Error( + "RTL Text Plugin failed to import scripts from " + + i, + ), + a, + ); + } + } catch (t) { + n(t.toString()); + } + }), + (St.prototype.getAvailableImages = function (t) { + var e = this.availableImages[t]; + return e || (e = []), e; + }), + (St.prototype.getLayerIndex = function (t) { + var e = this.layerIndexes[t]; + return e || (e = this.layerIndexes[t] = new n()), e; + }), + (St.prototype.getWorkerSource = function (t, e, r) { + var n = this; + if ( + (this.workerSources[t] || + (this.workerSources[t] = {}), + this.workerSources[t][e] || + (this.workerSources[t][e] = {}), + !this.workerSources[t][e][r]) + ) { + var i = { + send: function (e, r, i) { + n.actor.send(e, r, i, t); + }, + }; + this.workerSources[t][e][r] = + new this.workerSourceTypes[e]( + i, + this.getLayerIndex(t), + this.getAvailableImages(t), + ); + } + return this.workerSources[t][e][r]; + }), + (St.prototype.getDEMWorkerSource = function (t, e) { + return ( + this.demWorkerSources[t] || + (this.demWorkerSources[t] = {}), + this.demWorkerSources[t][e] || + (this.demWorkerSources[t][e] = new c()), + this.demWorkerSources[t][e] + ); + }), + (St.prototype.enforceCacheSizeLimit = function ( + e, + r, + ) { + t.enforceCacheSizeLimit(r); + }), + "undefined" != typeof WorkerGlobalScope && + void 0 !== t.window && + t.window instanceof WorkerGlobalScope && + (t.window.worker = new St(t.window)), + St + ); + }), + n(0, function (t) { + var e = t.createCommonjsModule(function (t) { + function e(t) { + return !r(t); + } + function r(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 && + "URL" 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 + ? ArrayBuffer.isView + ? (function () { + var t = + document.createElement( + "canvas", + ); + t.width = t.height = 1; + var e = t.getContext("2d"); + if (!e) return !1; + var r = e.getImageData( + 0, + 0, + 1, + 1, + ); + return ( + r && r.width === t.width + ); + })() + ? ((r = + t && + t.failIfMajorPerformanceCaveat), + void 0 === n[r] && + (n[r] = (function (t) { + var r = (function (t) { + var r = + document.createElement( + "canvas", + ), + n = Object.create( + e.webGLContextAttributes, + ); + return ( + (n.failIfMajorPerformanceCaveat = + t), + r.probablySupportsContext + ? r.probablySupportsContext( + "webgl", + n, + ) || + r.probablySupportsContext( + "experimental-webgl", + n, + ) + : r.supportsContext + ? r.supportsContext( + "webgl", + n, + ) || + r.supportsContext( + "experimental-webgl", + n, + ) + : r.getContext( + "webgl", + n, + ) || + r.getContext( + "experimental-webgl", + n, + ) + ); + })(t); + if (!r) return !1; + var n = r.createShader( + r.VERTEX_SHADER, + ); + return ( + !( + !n || + r.isContextLost() + ) && + (r.shaderSource( + n, + "void main() {}", + ), + r.compileShader(n), + !0 === + r.getShaderParameter( + n, + r.COMPILE_STATUS, + )) + ); + })(r)), + n[r] + ? void 0 + : "insufficient WebGL support") + : "insufficient Canvas/getImageData support" + : "insufficient ArrayBuffer support" + : "insufficient Uint8ClampedArray support" + : "insufficient worker support" + : "insufficient JSON support" + : "insufficient Object support" + : "insufficient Function support" + : "insufficent Array support" + : "not a browser"; + var r; + } + t.exports + ? (t.exports = e) + : window && + ((window.mapboxgl = window.mapboxgl || {}), + (window.mapboxgl.supported = e), + (window.mapboxgl.notSupportedReason = r)); + var n = {}; + e.webGLContextAttributes = { + antialias: !1, + alpha: !0, + stencil: !0, + depth: !0, + }; + }), + r = { + create: function (e, r, n) { + var i = t.window.document.createElement(e); + return ( + void 0 !== r && (i.className = r), + n && n.appendChild(i), + i + ); + }, + createNS: function (e, r) { + return t.window.document.createElementNS(e, r); + }, + }, + n = t.window.document.documentElement.style; + function i(t) { + if (!n) return t[0]; + for (var e = 0; e < t.length; e++) + if (t[e] in n) return t[e]; + return t[0]; + } + var a, + o = i([ + "userSelect", + "MozUserSelect", + "WebkitUserSelect", + "msUserSelect", + ]); + (r.disableDrag = function () { + n && o && ((a = n[o]), (n[o] = "none")); + }), + (r.enableDrag = function () { + n && o && (n[o] = a); + }); + var s = i(["transform", "WebkitTransform"]); + r.setTransform = function (t, e) { + t.style[s] = e; + }; + var l = !1; + try { + var u = Object.defineProperty({}, "passive", { + get: function () { + l = !0; + }, + }); + t.window.addEventListener("test", u, u), + t.window.removeEventListener("test", u, u); + } catch (t) { + l = !1; + } + (r.addEventListener = function (t, e, r, n) { + void 0 === n && (n = {}), + "passive" in n && l + ? t.addEventListener(e, r, n) + : t.addEventListener(e, r, n.capture); + }), + (r.removeEventListener = function (t, e, r, n) { + void 0 === n && (n = {}), + "passive" in n && l + ? t.removeEventListener(e, r, n) + : t.removeEventListener(e, r, n.capture); + }); + var c = function (e) { + e.preventDefault(), + e.stopPropagation(), + t.window.removeEventListener("click", c, !0); + }; + function f(t) { + var e = t.userImage; + return ( + !!(e && e.render && e.render()) && + (t.data.replace(new Uint8Array(e.data.buffer)), !0) + ); + } + (r.suppressClick = function () { + t.window.addEventListener("click", c, !0), + t.window.setTimeout(function () { + t.window.removeEventListener("click", c, !0); + }, 0); + }), + (r.mousePos = function (e, r) { + var n = e.getBoundingClientRect(); + return new t.Point( + r.clientX - n.left - e.clientLeft, + r.clientY - n.top - e.clientTop, + ); + }), + (r.touchPos = function (e, r) { + for ( + var n = e.getBoundingClientRect(), i = [], a = 0; + a < r.length; + a++ + ) + i.push( + new t.Point( + r[a].clientX - n.left - e.clientLeft, + r[a].clientY - n.top - e.clientTop, + ), + ); + return i; + }), + (r.mouseButton = function (e) { + return void 0 !== t.window.InstallTrigger && + 2 === e.button && + e.ctrlKey && + t.window.navigator.platform + .toUpperCase() + .indexOf("MAC") >= 0 + ? 0 + : e.button; + }), + (r.remove = function (t) { + t.parentNode && t.parentNode.removeChild(t); + }); + var h = (function (e) { + function r() { + e.call(this), + (this.images = {}), + (this.updatedImages = {}), + (this.callbackDispatchedThisFrame = {}), + (this.loaded = !1), + (this.requestors = []), + (this.patterns = {}), + (this.atlasImage = new t.RGBAImage({ + width: 1, + height: 1, + })), + (this.dirty = !0); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create(e && e.prototype)), + (r.prototype.constructor = r), + (r.prototype.isLoaded = function () { + return this.loaded; + }), + (r.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 = []; + } + }), + (r.prototype.getImage = function (t) { + return this.images[t]; + }), + (r.prototype.addImage = function (t, e) { + this._validate(t, e) && (this.images[t] = e); + }), + (r.prototype._validate = function (e, r) { + var n = !0; + return ( + this._validateStretch( + r.stretchX, + r.data && r.data.width, + ) || + (this.fire( + new t.ErrorEvent( + new Error( + 'Image "' + + e + + '" has invalid "stretchX" value', + ), + ), + ), + (n = !1)), + this._validateStretch( + r.stretchY, + r.data && r.data.height, + ) || + (this.fire( + new t.ErrorEvent( + new Error( + 'Image "' + + e + + '" has invalid "stretchY" value', + ), + ), + ), + (n = !1)), + this._validateContent(r.content, r) || + (this.fire( + new t.ErrorEvent( + new Error( + 'Image "' + + e + + '" has invalid "content" value', + ), + ), + ), + (n = !1)), + n + ); + }), + (r.prototype._validateStretch = function (t, e) { + if (!t) return !0; + for ( + var r = 0, n = 0, i = t; + n < i.length; + n += 1 + ) { + var a = i[n]; + if (a[0] < r || a[1] < a[0] || e < a[1]) + return !1; + r = a[1]; + } + return !0; + }), + (r.prototype._validateContent = function (t, e) { + return !( + t && + (4 !== t.length || + t[0] < 0 || + e.data.width < t[0] || + t[1] < 0 || + e.data.height < t[1] || + t[2] < 0 || + e.data.width < t[2] || + t[3] < 0 || + e.data.height < t[3] || + t[2] < t[0] || + t[3] < t[1]) + ); + }), + (r.prototype.updateImage = function (t, e) { + var r = this.images[t]; + (e.version = r.version + 1), + (this.images[t] = e), + (this.updatedImages[t] = !0); + }), + (r.prototype.removeImage = function (t) { + var e = this.images[t]; + delete this.images[t], + delete this.patterns[t], + e.userImage && + e.userImage.onRemove && + e.userImage.onRemove(); + }), + (r.prototype.listImages = function () { + return Object.keys(this.images); + }), + (r.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 }); + }), + (r.prototype._notify = function (e, r) { + for ( + var n = {}, i = 0, a = e; + i < a.length; + i += 1 + ) { + var o = a[i]; + this.images[o] || + this.fire( + new t.Event("styleimagemissing", { id: o }), + ); + var s = this.images[o]; + s + ? (n[o] = { + data: s.data.clone(), + pixelRatio: s.pixelRatio, + sdf: s.sdf, + version: s.version, + stretchX: s.stretchX, + stretchY: s.stretchY, + content: s.content, + hasRenderCallback: Boolean( + s.userImage && s.userImage.render, + ), + }) + : t.warnOnce( + 'Image "' + + o + + '" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.', + ); + } + r(null, n); + }), + (r.prototype.getPixelSize = function () { + var t = this.atlasImage; + return { width: t.width, height: t.height }; + }), + (r.prototype.getPattern = function (e) { + var r = this.patterns[e], + n = this.getImage(e); + if (!n) return null; + if (r && r.position.version === n.version) + return r.position; + if (r) r.position.version = n.version; + else { + var i = { + w: n.data.width + 2, + h: n.data.height + 2, + x: 0, + y: 0, + }, + a = new t.ImagePosition(i, n); + this.patterns[e] = { bin: i, position: a }; + } + return ( + this._updatePatternAtlas(), + this.patterns[e].position + ); + }), + (r.prototype.bind = function (e) { + var r = e.gl; + this.atlasTexture + ? this.dirty && + (this.atlasTexture.update(this.atlasImage), + (this.dirty = !1)) + : (this.atlasTexture = new t.Texture( + e, + this.atlasImage, + r.RGBA, + )), + this.atlasTexture.bind( + r.LINEAR, + r.CLAMP_TO_EDGE, + ); + }), + (r.prototype._updatePatternAtlas = function () { + var e = []; + for (var r in this.patterns) + e.push(this.patterns[r].bin); + var n = t.potpack(e), + i = n.w, + a = n.h, + o = this.atlasImage; + for (var s in (o.resize({ + width: i || 1, + height: a || 1, + }), + this.patterns)) { + var l = this.patterns[s].bin, + u = l.x + 1, + c = l.y + 1, + f = this.images[s].data, + h = f.width, + p = f.height; + t.RGBAImage.copy( + f, + o, + { x: 0, y: 0 }, + { x: u, y: c }, + { width: h, height: p }, + ), + t.RGBAImage.copy( + f, + o, + { x: 0, y: p - 1 }, + { x: u, y: c - 1 }, + { width: h, height: 1 }, + ), + t.RGBAImage.copy( + f, + o, + { x: 0, y: 0 }, + { x: u, y: c + p }, + { width: h, height: 1 }, + ), + t.RGBAImage.copy( + f, + o, + { x: h - 1, y: 0 }, + { x: u - 1, y: c }, + { width: 1, height: p }, + ), + t.RGBAImage.copy( + f, + o, + { x: 0, y: 0 }, + { x: u + h, y: c }, + { width: 1, height: p }, + ); + } + this.dirty = !0; + }), + (r.prototype.beginFrame = function () { + this.callbackDispatchedThisFrame = {}; + }), + (r.prototype.dispatchRenderCallbacks = function ( + t, + ) { + for (var e = 0, r = t; e < r.length; e += 1) { + var n = r[e]; + if (!this.callbackDispatchedThisFrame[n]) { + this.callbackDispatchedThisFrame[n] = !0; + var i = this.images[n]; + f(i) && this.updateImage(n, i); + } + } + }), + r + ); + })(t.Evented); + var p = g, + d = g, + v = 1e20; + function g(t, e, r, n, i, a) { + (this.fontSize = t || 24), + (this.buffer = void 0 === e ? 3 : e), + (this.cutoff = n || 0.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 y(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 (m(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 (m(n, i, a, o, e), s = 0; s < e; s++) + t[l * e + s] = Math.sqrt(i[s]); + } + } + function m(t, e, r, n, i) { + (r[0] = 0), (n[0] = -v), (n[1] = +v); + 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] = +v); + } + 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]]; + } + } + (g.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 i = e.data[4 * n + 3] / 255; + (this.gridOuter[n] = + 1 === i + ? 0 + : 0 === i + ? v + : Math.pow(Math.max(0, 0.5 - i), 2)), + (this.gridInner[n] = + 1 === i + ? v + : 0 === i + ? 0 + : Math.pow(Math.max(0, i - 0.5), 2)); + } + for ( + y( + this.gridOuter, + this.size, + this.size, + this.f, + this.d, + this.v, + this.z, + ), + y( + this.gridInner, + this.size, + this.size, + this.f, + this.d, + this.v, + this.z, + ), + n = 0; + n < this.size * this.size; + n++ + ) { + var a = this.gridOuter[n] - this.gridInner[n]; + r[n] = Math.max( + 0, + Math.min( + 255, + Math.round( + 255 - 255 * (a / this.radius + this.cutoff), + ), + ), + ); + } + return r; + }), + (p.default = d); + var x = function (t, e) { + (this.requestManager = t), + (this.localIdeographFontFamily = e), + (this.entries = {}); + }; + (x.prototype.setURL = function (t) { + this.url = t; + }), + (x.prototype.getGlyphs = function (e, r) { + var n = this, + i = []; + for (var a in e) + for (var o = 0, s = e[a]; o < s.length; o += 1) { + var l = s[o]; + i.push({ stack: a, id: l }); + } + t.asyncAll( + i, + function (t, e) { + var r = t.stack, + i = t.id, + a = n.entries[r]; + a || + (a = n.entries[r] = + { glyphs: {}, requests: {}, ranges: {} }); + var o = a.glyphs[i]; + if (void 0 === o) { + if ((o = n._tinySDF(a, r, i))) + return ( + (a.glyphs[i] = o), + void e(null, { + stack: r, + id: i, + glyph: o, + }) + ); + var s = Math.floor(i / 256); + if (256 * s > 65535) + e( + new Error("glyphs > 65535 not supported"), + ); + else if (a.ranges[s]) + e(null, { stack: r, id: i, glyph: o }); + else { + var l = a.requests[s]; + l || + ((l = a.requests[s] = []), + x.loadGlyphRange( + r, + s, + n.url, + n.requestManager, + function (t, e) { + if (e) { + for (var r in e) + n._doesCharSupportLocalGlyph( + +r, + ) || (a.glyphs[+r] = e[+r]); + a.ranges[s] = !0; + } + for ( + var i = 0, o = l; + i < o.length; + i += 1 + ) + (0, o[i])(t, e); + delete a.requests[s]; + }, + )), + l.push(function (t, n) { + t + ? e(t) + : n && + e(null, { + stack: r, + id: i, + glyph: n[i] || null, + }); + }); + } + } else e(null, { stack: r, id: i, glyph: o }); + }, + function (t, e) { + if (t) r(t); + else if (e) { + for ( + var n = {}, i = 0, a = e; + 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, + }; + } + r(null, n); + } + }, + ); + }), + (x.prototype._doesCharSupportLocalGlyph = function ( + e, + ) { + return ( + !!this.localIdeographFontFamily && + (t.isChar["CJK Unified Ideographs"](e) || + t.isChar["Hangul Syllables"](e) || + t.isChar.Hiragana(e) || + t.isChar.Katakana(e)) + ); + }), + (x.prototype._tinySDF = function (e, r, n) { + var i = this.localIdeographFontFamily; + if (i && this._doesCharSupportLocalGlyph(n)) { + var a = e.tinySDF; + if (!a) { + var o = "400"; + /bold/i.test(r) + ? (o = "900") + : /medium/i.test(r) + ? (o = "500") + : /light/i.test(r) && (o = "200"), + (a = e.tinySDF = + new x.TinySDF(24, 3, 8, 0.25, i, o)); + } + return { + id: n, + bitmap: new t.AlphaImage( + { width: 30, height: 30 }, + a.draw(String.fromCharCode(n)), + ), + metrics: { + width: 24, + height: 24, + left: 0, + top: -8, + advance: 24, + }, + }; + } + }), + (x.loadGlyphRange = function (e, r, n, i, a) { + var o = 256 * r, + s = o + 255, + l = i.transformRequest( + i + .normalizeGlyphsURL(n) + .replace("{fontstack}", e) + .replace("{range}", o + "-" + s), + t.ResourceType.Glyphs, + ); + t.getArrayBuffer(l, function (e, r) { + if (e) a(e); + else if (r) { + for ( + var n = {}, i = 0, o = t.parseGlyphPBF(r); + i < o.length; + i += 1 + ) { + var s = o[i]; + n[s.id] = s; + } + a(null, n); + } + }); + }), + (x.TinySDF = p); + var b = function () { + this.specification = t.styleSpec.light.position; + }; + (b.prototype.possiblyEvaluate = function (e, r) { + return t.sphericalToCartesian( + e.expression.evaluate(r), + ); + }), + (b.prototype.interpolate = function (e, r, n) { + return { + x: t.number(e.x, r.x, n), + y: t.number(e.y, r.y, n), + z: t.number(e.z, r.z, n), + }; + }); + var _ = new t.Properties({ + anchor: new t.DataConstantProperty( + t.styleSpec.light.anchor, + ), + position: new b(), + color: new t.DataConstantProperty( + t.styleSpec.light.color, + ), + intensity: new t.DataConstantProperty( + t.styleSpec.light.intensity, + ), + }), + w = "-transition", + T = (function (e) { + function r(r) { + e.call(this), + (this._transitionable = new t.Transitionable( + _, + )), + this.setLight(r), + (this._transitioning = + this._transitionable.untransitioned()); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create(e && e.prototype)), + (r.prototype.constructor = r), + (r.prototype.getLight = function () { + return this._transitionable.serialize(); + }), + (r.prototype.setLight = function (e, r) { + if ( + (void 0 === r && (r = {}), + !this._validate(t.validateLight, e, r)) + ) + for (var n in e) { + var i = e[n]; + t.endsWith(n, w) + ? this._transitionable.setTransition( + n.slice(0, -w.length), + i, + ) + : this._transitionable.setValue(n, i); + } + }), + (r.prototype.updateTransitions = function (t) { + this._transitioning = + this._transitionable.transitioned( + t, + this._transitioning, + ); + }), + (r.prototype.hasTransition = function () { + return this._transitioning.hasTransition(); + }), + (r.prototype.recalculate = function (t) { + this.properties = + this._transitioning.possiblyEvaluate(t); + }), + (r.prototype._validate = function (e, r, n) { + return ( + (!n || !1 !== n.validate) && + t.emitValidationErrors( + this, + e.call( + t.validateStyle, + t.extend({ + value: r, + style: { glyphs: !0, sprite: !0 }, + styleSpec: t.styleSpec, + }), + ), + ) + ); + }), + r + ); + })(t.Evented), + k = function (t, e) { + (this.width = t), + (this.height = e), + (this.nextRow = 0), + (this.data = new Uint8Array( + this.width * this.height, + )), + (this.dashEntry = {}); + }; + (k.prototype.getDash = function (t, e) { + var r = t.join(",") + String(e); + return ( + this.dashEntry[r] || + (this.dashEntry[r] = this.addDash(t, e)), + this.dashEntry[r] + ); + }), + (k.prototype.getDashRanges = function (t, e, r) { + var n = [], + i = t.length % 2 == 1 ? -t[t.length - 1] * r : 0, + a = t[0] * r, + o = !0; + n.push({ + left: i, + right: a, + isDash: o, + zeroLength: 0 === t[0], + }); + for (var s = t[0], l = 1; l < t.length; l++) { + o = !o; + var u = t[l]; + (i = s * r), + (a = (s += u) * r), + n.push({ + left: i, + right: a, + isDash: o, + zeroLength: 0 === u, + }); + } + return n; + }), + (k.prototype.addRoundDash = function (t, e, r) { + for (var n = e / 2, i = -r; i <= r; i++) + for ( + var a = this.nextRow + r + i, + o = this.width * a, + s = 0, + l = t[s], + u = 0; + u < this.width; + u++ + ) { + u / l.right > 1 && (l = t[++s]); + var c = Math.abs(u - l.left), + f = Math.abs(u - l.right), + h = Math.min(c, f), + p = void 0, + d = (i / r) * (n + 1); + if (l.isDash) { + var v = n - Math.abs(d); + p = Math.sqrt(h * h + v * v); + } else p = n - Math.sqrt(h * h + d * d); + this.data[o + u] = Math.max( + 0, + Math.min(255, p + 128), + ); + } + }), + (k.prototype.addRegularDash = function (t) { + for (var e = t.length - 1; e >= 0; --e) { + var r = t[e], + n = t[e + 1]; + r.zeroLength + ? t.splice(e, 1) + : n && + n.isDash === r.isDash && + ((n.left = r.left), t.splice(e, 1)); + } + var i = t[0], + a = t[t.length - 1]; + i.isDash === a.isDash && + ((i.left = a.left - this.width), + (a.right = i.right + this.width)); + for ( + var o = this.width * this.nextRow, + s = 0, + l = t[s], + u = 0; + u < this.width; + u++ + ) { + u / l.right > 1 && (l = t[++s]); + var c = Math.abs(u - l.left), + f = Math.abs(u - l.right), + h = Math.min(c, f), + p = l.isDash ? h : -h; + this.data[o + u] = Math.max( + 0, + Math.min(255, p + 128), + ); + } + }), + (k.prototype.addDash = function (e, r) { + var n = r ? 7 : 0, + i = 2 * n + 1; + if (this.nextRow + i > this.height) + return t.warnOnce("LineAtlas out of space"), null; + for (var a = 0, o = 0; o < e.length; o++) a += e[o]; + if (0 !== a) { + var s = this.width / a, + l = this.getDashRanges(e, this.width, s); + r + ? this.addRoundDash(l, s, n) + : this.addRegularDash(l); + } + var u = { + y: (this.nextRow + n + 0.5) / this.height, + height: (2 * n) / this.height, + width: a, + }; + return (this.nextRow += i), (this.dirty = !0), u; + }), + (k.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.ALPHA, + 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.ALPHA, + this.width, + this.height, + 0, + e.ALPHA, + e.UNSIGNED_BYTE, + this.data, + )); + }); + var A = function e(r, n) { + (this.workerPool = r), + (this.actors = []), + (this.currentActor = 0), + (this.id = t.uniqueId()); + for ( + var i = this.workerPool.acquire(this.id), a = 0; + a < i.length; + a++ + ) { + var o = i[a], + s = new e.Actor(o, n, this.id); + (s.name = "Worker " + a), this.actors.push(s); + } + }; + function M(e, r, n) { + var i = function (i, a) { + if (i) return n(i); + if (a) { + var o = t.pick(t.extend(a, e), [ + "tiles", + "minzoom", + "maxzoom", + "attribution", + "mapbox_logo", + "bounds", + "scheme", + "tileSize", + "encoding", + ]); + a.vector_layers && + ((o.vectorLayers = a.vector_layers), + (o.vectorLayerIds = o.vectorLayers.map( + function (t) { + return t.id; + }, + ))), + (o.tiles = r.canonicalizeTileset(o, e.url)), + n(null, o); + } + }; + return e.url + ? t.getJSON( + r.transformRequest( + r.normalizeSourceURL(e.url), + t.ResourceType.Source, + ), + i, + ) + : t.browser.frame(function () { + return i(null, e); + }); + } + (A.prototype.broadcast = function (e, r, n) { + (n = n || function () {}), + t.asyncAll( + this.actors, + function (t, n) { + t.send(e, r, n); + }, + n, + ); + }), + (A.prototype.getActor = function () { + return ( + (this.currentActor = + (this.currentActor + 1) % this.actors.length), + this.actors[this.currentActor] + ); + }), + (A.prototype.remove = function () { + this.actors.forEach(function (t) { + t.remove(); + }), + (this.actors = []), + this.workerPool.release(this.id); + }), + (A.Actor = t.Actor); + var S = function (e, r, n) { + (this.bounds = t.LngLatBounds.convert( + this.validateBounds(e), + )), + (this.minzoom = r || 0), + (this.maxzoom = n || 24); + }; + (S.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]; + }), + (S.prototype.contains = function (e) { + var r = Math.pow(2, e.z), + n = Math.floor( + t.mercatorXfromLng(this.bounds.getWest()) * r, + ), + i = Math.floor( + t.mercatorYfromLat(this.bounds.getNorth()) * r, + ), + a = Math.ceil( + t.mercatorXfromLng(this.bounds.getEast()) * r, + ), + o = Math.ceil( + t.mercatorYfromLat(this.bounds.getSouth()) * r, + ); + return e.x >= n && e.x < a && e.y >= i && e.y < o; + }); + var E = (function (e) { + function r(r, n, i, a) { + if ( + (e.call(this), + (this.id = r), + (this.dispatcher = i), + (this.type = "vector"), + (this.minzoom = 0), + (this.maxzoom = 22), + (this.scheme = "xyz"), + (this.tileSize = 512), + (this.reparseOverscaled = !0), + (this.isTileClipped = !0), + (this._loaded = !1), + t.extend( + this, + t.pick(n, [ + "url", + "scheme", + "tileSize", + "promoteId", + ]), + ), + (this._options = t.extend( + { type: "vector" }, + n, + )), + (this._collectResourceTiming = + n.collectResourceTiming), + 512 !== this.tileSize) + ) + throw new Error( + "vector tile sources must have a tileSize of 512", + ); + this.setEventedParent(a); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create(e && e.prototype)), + (r.prototype.constructor = r), + (r.prototype.load = function () { + var e = this; + (this._loaded = !1), + this.fire( + new t.Event("dataloading", { + dataType: "source", + }), + ), + (this._tileJSONRequest = M( + this._options, + this.map._requestManager, + function (r, n) { + (e._tileJSONRequest = null), + (e._loaded = !0), + r + ? e.fire(new t.ErrorEvent(r)) + : n && + (t.extend(e, n), + n.bounds && + (e.tileBounds = new S( + n.bounds, + e.minzoom, + e.maxzoom, + )), + t.postTurnstileEvent( + n.tiles, + e.map._requestManager + ._customAccessToken, + ), + t.postMapLoadEvent( + n.tiles, + e.map._getMapId(), + e.map._requestManager._skuToken, + e.map._requestManager + ._customAccessToken, + ), + e.fire( + new t.Event("data", { + dataType: "source", + sourceDataType: "metadata", + }), + ), + e.fire( + new t.Event("data", { + dataType: "source", + sourceDataType: "content", + }), + )); + }, + )); + }), + (r.prototype.loaded = function () { + return this._loaded; + }), + (r.prototype.hasTile = function (t) { + return ( + !this.tileBounds || + this.tileBounds.contains(t.canonical) + ); + }), + (r.prototype.onAdd = function (t) { + (this.map = t), this.load(); + }), + (r.prototype.onRemove = function () { + this._tileJSONRequest && + (this._tileJSONRequest.cancel(), + (this._tileJSONRequest = null)); + }), + (r.prototype.serialize = function () { + return t.extend({}, this._options); + }), + (r.prototype.loadTile = function (e, r) { + var n = + this.map._requestManager.normalizeTileURL( + e.tileID.canonical.url( + this.tiles, + this.scheme, + ), + ), + i = { + request: + this.map._requestManager.transformRequest( + n, + t.ResourceType.Tile, + ), + uid: e.uid, + tileID: e.tileID, + zoom: e.tileID.overscaledZ, + tileSize: + this.tileSize * + e.tileID.overscaleFactor(), + type: this.type, + source: this.id, + pixelRatio: t.browser.devicePixelRatio, + showCollisionBoxes: + this.map.showCollisionBoxes, + promoteId: this.promoteId, + }; + function a(n, i) { + return ( + delete e.request, + e.aborted + ? r(null) + : n && 404 !== n.status + ? r(n) + : (i && + i.resourceTiming && + (e.resourceTiming = i.resourceTiming), + this.map._refreshExpiredTiles && + i && + e.setExpiryData(i), + e.loadVectorData(i, this.map.painter), + t.cacheEntryPossiblyAdded( + this.dispatcher, + ), + r(null), + void ( + e.reloadCallback && + (this.loadTile(e, e.reloadCallback), + (e.reloadCallback = null)) + )) + ); + } + (i.request.collectResourceTiming = + this._collectResourceTiming), + e.actor && "expired" !== e.state + ? "loading" === e.state + ? (e.reloadCallback = r) + : (e.request = e.actor.send( + "reloadTile", + i, + a.bind(this), + )) + : ((e.actor = this.dispatcher.getActor()), + (e.request = e.actor.send( + "loadTile", + i, + a.bind(this), + ))); + }), + (r.prototype.abortTile = function (t) { + t.request && + (t.request.cancel(), delete t.request), + t.actor && + t.actor.send( + "abortTile", + { + uid: t.uid, + type: this.type, + source: this.id, + }, + void 0, + ); + }), + (r.prototype.unloadTile = function (t) { + t.unloadVectorData(), + t.actor && + t.actor.send( + "removeTile", + { + uid: t.uid, + type: this.type, + source: this.id, + }, + void 0, + ); + }), + (r.prototype.hasTransition = function () { + return !1; + }), + r + ); + })(t.Evented), + L = (function (e) { + function r(r, n, i, a) { + e.call(this), + (this.id = r), + (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 = t.extend( + { type: "raster" }, + n, + )), + t.extend( + this, + t.pick(n, ["url", "scheme", "tileSize"]), + ); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create(e && e.prototype)), + (r.prototype.constructor = r), + (r.prototype.load = function () { + var e = this; + (this._loaded = !1), + this.fire( + new t.Event("dataloading", { + dataType: "source", + }), + ), + (this._tileJSONRequest = M( + this._options, + this.map._requestManager, + function (r, n) { + (e._tileJSONRequest = null), + (e._loaded = !0), + r + ? e.fire(new t.ErrorEvent(r)) + : n && + (t.extend(e, n), + n.bounds && + (e.tileBounds = new S( + n.bounds, + e.minzoom, + e.maxzoom, + )), + t.postTurnstileEvent(n.tiles), + t.postMapLoadEvent( + n.tiles, + e.map._getMapId(), + e.map._requestManager._skuToken, + ), + e.fire( + new t.Event("data", { + dataType: "source", + sourceDataType: "metadata", + }), + ), + e.fire( + new t.Event("data", { + dataType: "source", + sourceDataType: "content", + }), + )); + }, + )); + }), + (r.prototype.loaded = function () { + return this._loaded; + }), + (r.prototype.onAdd = function (t) { + (this.map = t), this.load(); + }), + (r.prototype.onRemove = function () { + this._tileJSONRequest && + (this._tileJSONRequest.cancel(), + (this._tileJSONRequest = null)); + }), + (r.prototype.serialize = function () { + return t.extend({}, this._options); + }), + (r.prototype.hasTile = function (t) { + return ( + !this.tileBounds || + this.tileBounds.contains(t.canonical) + ); + }), + (r.prototype.loadTile = function (e, r) { + var n = this, + i = this.map._requestManager.normalizeTileURL( + e.tileID.canonical.url( + this.tiles, + this.scheme, + ), + this.tileSize, + ); + e.request = t.getImage( + this.map._requestManager.transformRequest( + i, + t.ResourceType.Tile, + ), + function (i, a) { + if ((delete e.request, e.aborted)) + (e.state = "unloaded"), r(null); + else if (i) (e.state = "errored"), r(i); + else if (a) { + n.map._refreshExpiredTiles && + e.setExpiryData(a), + delete a.cacheControl, + delete a.expires; + var o = n.map.painter.context, + s = o.gl; + (e.texture = n.map.painter.getTileTexture( + a.width, + )), + e.texture + ? e.texture.update(a, { + useMipmap: !0, + }) + : ((e.texture = new t.Texture( + o, + a, + s.RGBA, + { useMipmap: !0 }, + )), + e.texture.bind( + s.LINEAR, + s.CLAMP_TO_EDGE, + s.LINEAR_MIPMAP_NEAREST, + ), + o.extTextureFilterAnisotropic && + s.texParameterf( + s.TEXTURE_2D, + o.extTextureFilterAnisotropic + .TEXTURE_MAX_ANISOTROPY_EXT, + o.extTextureFilterAnisotropicMax, + )), + (e.state = "loaded"), + t.cacheEntryPossiblyAdded(n.dispatcher), + r(null); + } + }, + ); + }), + (r.prototype.abortTile = function (t, e) { + t.request && + (t.request.cancel(), delete t.request), + e(); + }), + (r.prototype.unloadTile = function (t, e) { + t.texture && + this.map.painter.saveTileTexture(t.texture), + e(); + }), + (r.prototype.hasTransition = function () { + return !1; + }), + r + ); + })(t.Evented), + C = (function (e) { + function r(r, n, i, a) { + e.call(this, r, n, i, a), + (this.type = "raster-dem"), + (this.maxzoom = 22), + (this._options = t.extend( + { type: "raster-dem" }, + n, + )), + (this.encoding = n.encoding || "mapbox"); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create(e && e.prototype)), + (r.prototype.constructor = r), + (r.prototype.serialize = function () { + return { + type: "raster-dem", + url: this.url, + tileSize: this.tileSize, + tiles: this.tiles, + bounds: this.bounds, + encoding: this.encoding, + }; + }), + (r.prototype.loadTile = function (e, r) { + var n = + this.map._requestManager.normalizeTileURL( + e.tileID.canonical.url( + this.tiles, + this.scheme, + ), + this.tileSize, + ); + function i(t, n) { + t && ((e.state = "errored"), r(t)), + n && + ((e.dem = n), + (e.needsHillshadePrepare = !0), + (e.state = "loaded"), + r(null)); + } + (e.request = t.getImage( + this.map._requestManager.transformRequest( + n, + t.ResourceType.Tile, + ), + function (n, a) { + if ((delete e.request, e.aborted)) + (e.state = "unloaded"), r(null); + else if (n) (e.state = "errored"), r(n); + else if (a) { + this.map._refreshExpiredTiles && + e.setExpiryData(a), + delete a.cacheControl, + delete a.expires; + var o = + t.window.ImageBitmap && + a instanceof t.window.ImageBitmap && + t.offscreenCanvasSupported() + ? a + : t.browser.getImageData(a, 1), + s = { + uid: e.uid, + coord: e.tileID, + source: this.id, + rawImageData: o, + encoding: this.encoding, + }; + (e.actor && "expired" !== e.state) || + ((e.actor = this.dispatcher.getActor()), + e.actor.send( + "loadDEMTile", + s, + i.bind(this), + )); + } + }.bind(this), + )), + (e.neighboringTiles = + this._getNeighboringTiles(e.tileID)); + }), + (r.prototype._getNeighboringTiles = function (e) { + var r = e.canonical, + n = Math.pow(2, r.z), + i = (r.x - 1 + n) % n, + a = 0 === r.x ? e.wrap - 1 : e.wrap, + o = (r.x + 1 + n) % n, + s = r.x + 1 === n ? e.wrap + 1 : e.wrap, + l = {}; + return ( + (l[ + new t.OverscaledTileID( + e.overscaledZ, + a, + r.z, + i, + r.y, + ).key + ] = { backfilled: !1 }), + (l[ + new t.OverscaledTileID( + e.overscaledZ, + s, + r.z, + o, + r.y, + ).key + ] = { backfilled: !1 }), + r.y > 0 && + ((l[ + new t.OverscaledTileID( + e.overscaledZ, + a, + r.z, + i, + r.y - 1, + ).key + ] = { backfilled: !1 }), + (l[ + new t.OverscaledTileID( + e.overscaledZ, + e.wrap, + r.z, + r.x, + r.y - 1, + ).key + ] = { backfilled: !1 }), + (l[ + new t.OverscaledTileID( + e.overscaledZ, + s, + r.z, + o, + r.y - 1, + ).key + ] = { backfilled: !1 })), + r.y + 1 < n && + ((l[ + new t.OverscaledTileID( + e.overscaledZ, + a, + r.z, + i, + r.y + 1, + ).key + ] = { backfilled: !1 }), + (l[ + new t.OverscaledTileID( + e.overscaledZ, + e.wrap, + r.z, + r.x, + r.y + 1, + ).key + ] = { backfilled: !1 }), + (l[ + new t.OverscaledTileID( + e.overscaledZ, + s, + r.z, + o, + r.y + 1, + ).key + ] = { backfilled: !1 })), + l + ); + }), + (r.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"), + t.actor && + t.actor.send("removeDEMTile", { + uid: t.uid, + source: this.id, + }); + }), + r + ); + })(L), + P = (function (e) { + function r(r, n, i, a) { + e.call(this), + (this.id = r), + (this.type = "geojson"), + (this.minzoom = 0), + (this.maxzoom = 18), + (this.tileSize = 512), + (this.isTileClipped = !0), + (this.reparseOverscaled = !0), + (this._removed = !1), + (this._loaded = !1), + (this.actor = i.getActor()), + this.setEventedParent(a), + (this._data = n.data), + (this._options = t.extend({}, n)), + (this._collectResourceTiming = + n.collectResourceTiming), + (this._resourceTiming = []), + void 0 !== n.maxzoom && + (this.maxzoom = n.maxzoom), + n.type && (this.type = n.type), + n.attribution && + (this.attribution = n.attribution), + (this.promoteId = n.promoteId); + var o = t.EXTENT / this.tileSize; + this.workerOptions = t.extend( + { + source: this.id, + cluster: n.cluster || !1, + geojsonVtOptions: { + buffer: + (void 0 !== n.buffer ? n.buffer : 128) * + o, + tolerance: + (void 0 !== n.tolerance + ? n.tolerance + : 0.375) * o, + extent: t.EXTENT, + maxZoom: this.maxzoom, + lineMetrics: n.lineMetrics || !1, + generateId: n.generateId || !1, + }, + superclusterOptions: { + maxZoom: + void 0 !== n.clusterMaxZoom + ? Math.min( + n.clusterMaxZoom, + this.maxzoom - 1, + ) + : this.maxzoom - 1, + extent: t.EXTENT, + radius: (n.clusterRadius || 50) * o, + log: !1, + generateId: n.generateId || !1, + }, + clusterProperties: n.clusterProperties, + }, + n.workerOptions, + ); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create(e && e.prototype)), + (r.prototype.constructor = r), + (r.prototype.load = function () { + var e = this; + this.fire( + new t.Event("dataloading", { + dataType: "source", + }), + ), + this._updateWorkerData(function (r) { + if (r) e.fire(new t.ErrorEvent(r)); + else { + var n = { + dataType: "source", + sourceDataType: "metadata", + }; + e._collectResourceTiming && + e._resourceTiming && + e._resourceTiming.length > 0 && + ((n.resourceTiming = e._resourceTiming), + (e._resourceTiming = [])), + e.fire(new t.Event("data", n)); + } + }); + }), + (r.prototype.onAdd = function (t) { + (this.map = t), this.load(); + }), + (r.prototype.setData = function (e) { + var r = this; + return ( + (this._data = e), + this.fire( + new t.Event("dataloading", { + dataType: "source", + }), + ), + this._updateWorkerData(function (e) { + if (e) r.fire(new t.ErrorEvent(e)); + else { + var n = { + dataType: "source", + sourceDataType: "content", + }; + r._collectResourceTiming && + r._resourceTiming && + r._resourceTiming.length > 0 && + ((n.resourceTiming = r._resourceTiming), + (r._resourceTiming = [])), + r.fire(new t.Event("data", n)); + } + }), + this + ); + }), + (r.prototype.getClusterExpansionZoom = function ( + t, + e, + ) { + return ( + this.actor.send( + "geojson.getClusterExpansionZoom", + { clusterId: t, source: this.id }, + e, + ), + this + ); + }), + (r.prototype.getClusterChildren = function ( + t, + e, + ) { + return ( + this.actor.send( + "geojson.getClusterChildren", + { clusterId: t, source: this.id }, + e, + ), + this + ); + }), + (r.prototype.getClusterLeaves = function ( + t, + e, + r, + n, + ) { + return ( + this.actor.send( + "geojson.getClusterLeaves", + { + source: this.id, + clusterId: t, + limit: e, + offset: r, + }, + n, + ), + this + ); + }), + (r.prototype._updateWorkerData = function (e) { + var r = this; + this._loaded = !1; + var n = t.extend({}, this.workerOptions), + i = this._data; + "string" == typeof i + ? ((n.request = + this.map._requestManager.transformRequest( + t.browser.resolveURL(i), + t.ResourceType.Source, + )), + (n.request.collectResourceTiming = + this._collectResourceTiming)) + : (n.data = JSON.stringify(i)), + this.actor.send( + this.type + ".loadData", + n, + function (t, i) { + r._removed || + (i && i.abandoned) || + ((r._loaded = !0), + i && + i.resourceTiming && + i.resourceTiming[r.id] && + (r._resourceTiming = + i.resourceTiming[r.id].slice(0)), + r.actor.send( + r.type + ".coalesce", + { source: n.source }, + null, + ), + e(t)); + }, + ); + }), + (r.prototype.loaded = function () { + return this._loaded; + }), + (r.prototype.loadTile = function (e, r) { + var n = this, + i = e.actor ? "reloadTile" : "loadTile"; + e.actor = this.actor; + var a = { + type: this.type, + uid: e.uid, + tileID: e.tileID, + zoom: e.tileID.overscaledZ, + maxZoom: this.maxzoom, + tileSize: this.tileSize, + source: this.id, + pixelRatio: t.browser.devicePixelRatio, + showCollisionBoxes: + this.map.showCollisionBoxes, + promoteId: this.promoteId, + }; + e.request = this.actor.send( + i, + a, + function (t, a) { + return ( + delete e.request, + e.unloadVectorData(), + e.aborted + ? r(null) + : t + ? r(t) + : (e.loadVectorData( + a, + n.map.painter, + "reloadTile" === i, + ), + r(null)) + ); + }, + ); + }), + (r.prototype.abortTile = function (t) { + t.request && + (t.request.cancel(), delete t.request), + (t.aborted = !0); + }), + (r.prototype.unloadTile = function (t) { + t.unloadVectorData(), + this.actor.send("removeTile", { + uid: t.uid, + type: this.type, + source: this.id, + }); + }), + (r.prototype.onRemove = function () { + (this._removed = !0), + this.actor.send("removeSource", { + type: this.type, + source: this.id, + }); + }), + (r.prototype.serialize = function () { + return t.extend({}, this._options, { + type: this.type, + data: this._data, + }); + }), + (r.prototype.hasTransition = function () { + return !1; + }), + r + ); + })(t.Evented), + O = t.createLayout([ + { name: "a_pos", type: "Int16", components: 2 }, + { + name: "a_texture_pos", + type: "Int16", + components: 2, + }, + ]), + I = (function (e) { + function r(t, r, n, i) { + e.call(this), + (this.id = t), + (this.dispatcher = n), + (this.coordinates = r.coordinates), + (this.type = "image"), + (this.minzoom = 0), + (this.maxzoom = 22), + (this.tileSize = 512), + (this.tiles = {}), + (this._loaded = !1), + this.setEventedParent(i), + (this.options = r); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create(e && e.prototype)), + (r.prototype.constructor = r), + (r.prototype.load = function (e, r) { + var n = this; + (this._loaded = !1), + this.fire( + new t.Event("dataloading", { + dataType: "source", + }), + ), + (this.url = this.options.url), + t.getImage( + this.map._requestManager.transformRequest( + this.url, + t.ResourceType.Image, + ), + function (i, a) { + (n._loaded = !0), + i + ? n.fire(new t.ErrorEvent(i)) + : a && + ((n.image = a), + e && (n.coordinates = e), + r && r(), + n._finishLoading()); + }, + ); + }), + (r.prototype.loaded = function () { + return this._loaded; + }), + (r.prototype.updateImage = function (t) { + var e = this; + return this.image && t.url + ? ((this.options.url = t.url), + this.load(t.coordinates, function () { + e.texture = null; + }), + this) + : this; + }), + (r.prototype._finishLoading = function () { + this.map && + (this.setCoordinates(this.coordinates), + this.fire( + new t.Event("data", { + dataType: "source", + sourceDataType: "metadata", + }), + )); + }), + (r.prototype.onAdd = function (t) { + (this.map = t), this.load(); + }), + (r.prototype.setCoordinates = function (e) { + var r = this; + this.coordinates = e; + var n = e.map(t.MercatorCoordinate.fromLngLat); + (this.tileID = (function (e) { + for ( + var r = 1 / 0, + n = 1 / 0, + i = -1 / 0, + a = -1 / 0, + o = 0, + s = e; + o < s.length; + o += 1 + ) { + var l = s[o]; + (r = Math.min(r, l.x)), + (n = Math.min(n, l.y)), + (i = Math.max(i, l.x)), + (a = Math.max(a, l.y)); + } + var u = i - r, + c = a - n, + f = Math.max(u, c), + h = Math.max( + 0, + Math.floor(-Math.log(f) / Math.LN2), + ), + p = Math.pow(2, h); + return new t.CanonicalTileID( + h, + Math.floor(((r + i) / 2) * p), + Math.floor(((n + a) / 2) * p), + ); + })(n)), + (this.minzoom = this.maxzoom = this.tileID.z); + var i = n.map(function (t) { + return r.tileID.getTilePoint(t)._round(); + }); + return ( + (this._boundsArray = + new t.StructArrayLayout4i8()), + this._boundsArray.emplaceBack( + i[0].x, + i[0].y, + 0, + 0, + ), + this._boundsArray.emplaceBack( + i[1].x, + i[1].y, + t.EXTENT, + 0, + ), + this._boundsArray.emplaceBack( + i[3].x, + i[3].y, + 0, + t.EXTENT, + ), + this._boundsArray.emplaceBack( + i[2].x, + i[2].y, + t.EXTENT, + t.EXTENT, + ), + this.boundsBuffer && + (this.boundsBuffer.destroy(), + delete this.boundsBuffer), + this.fire( + new t.Event("data", { + dataType: "source", + sourceDataType: "content", + }), + ), + this + ); + }), + (r.prototype.prepare = function () { + 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, + O.members, + )), + this.boundsSegments || + (this.boundsSegments = + t.SegmentVector.simpleSegment( + 0, + 0, + 4, + 2, + )), + this.texture || + ((this.texture = new t.Texture( + e, + this.image, + r.RGBA, + )), + this.texture.bind( + r.LINEAR, + r.CLAMP_TO_EDGE, + )), + this.tiles)) { + var i = this.tiles[n]; + "loaded" !== i.state && + ((i.state = "loaded"), + (i.texture = this.texture)); + } + } + }), + (r.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)); + }), + (r.prototype.serialize = function () { + return { + type: "image", + url: this.options.url, + coordinates: this.coordinates, + }; + }), + (r.prototype.hasTransition = function () { + return !1; + }), + r + ); + })(t.Evented); + var D = (function (e) { + function r(t, r, n, i) { + e.call(this, t, r, n, i), + (this.roundZoom = !0), + (this.type = "video"), + (this.options = r); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create(e && e.prototype)), + (r.prototype.constructor = r), + (r.prototype.load = function () { + var e = this; + this._loaded = !1; + var r = this.options; + this.urls = []; + for ( + var n = 0, i = r.urls; + n < i.length; + n += 1 + ) { + var a = i[n]; + this.urls.push( + this.map._requestManager.transformRequest( + a, + t.ResourceType.Source, + ).url, + ); + } + t.getVideo(this.urls, function (r, n) { + (e._loaded = !0), + r + ? e.fire(new t.ErrorEvent(r)) + : n && + ((e.video = n), + (e.video.loop = !0), + e.video.addEventListener( + "playing", + function () { + e.map.triggerRepaint(); + }, + ), + e.map && e.video.play(), + e._finishLoading()); + }); + }), + (r.prototype.pause = function () { + this.video && this.video.pause(); + }), + (r.prototype.play = function () { + this.video && this.video.play(); + }), + (r.prototype.seek = function (e) { + if (this.video) { + var r = this.video.seekable; + e < r.start(0) || e > r.end(0) + ? this.fire( + new t.ErrorEvent( + new t.ValidationError( + "sources." + this.id, + null, + "Playback for this video can be set only between the " + + r.start(0) + + " and " + + r.end(0) + + "-second mark.", + ), + ), + ) + : (this.video.currentTime = e); + } + }), + (r.prototype.getVideo = function () { + return this.video; + }), + (r.prototype.onAdd = function (t) { + this.map || + ((this.map = t), + this.load(), + this.video && + (this.video.play(), + this.setCoordinates(this.coordinates))); + }), + (r.prototype.prepare = function () { + 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, + O.members, + )), + this.boundsSegments || + (this.boundsSegments = + t.SegmentVector.simpleSegment( + 0, + 0, + 4, + 2, + )), + 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 t.Texture( + e, + this.video, + r.RGBA, + )), + this.texture.bind( + r.LINEAR, + r.CLAMP_TO_EDGE, + )), + this.tiles)) { + var i = this.tiles[n]; + "loaded" !== i.state && + ((i.state = "loaded"), + (i.texture = this.texture)); + } + } + }), + (r.prototype.serialize = function () { + return { + type: "video", + urls: this.urls, + coordinates: this.coordinates, + }; + }), + (r.prototype.hasTransition = function () { + return this.video && !this.video.paused; + }), + r + ); + })(I), + z = (function (e) { + function r(r, n, i, a) { + e.call(this, r, n, i, a), + n.coordinates + ? (Array.isArray(n.coordinates) && + 4 === n.coordinates.length && + !n.coordinates.some(function (t) { + return ( + !Array.isArray(t) || + 2 !== t.length || + t.some(function (t) { + return "number" != typeof t; + }) + ); + })) || + this.fire( + new t.ErrorEvent( + new t.ValidationError( + "sources." + r, + null, + '"coordinates" property must be an array of 4 longitude/latitude array pairs', + ), + ), + ) + : this.fire( + new t.ErrorEvent( + new t.ValidationError( + "sources." + r, + null, + 'missing required property "coordinates"', + ), + ), + ), + n.animate && + "boolean" != typeof n.animate && + this.fire( + new t.ErrorEvent( + new t.ValidationError( + "sources." + r, + null, + 'optional "animate" property must be a boolean value', + ), + ), + ), + n.canvas + ? "string" == typeof n.canvas || + n.canvas instanceof + t.window.HTMLCanvasElement || + this.fire( + new t.ErrorEvent( + new t.ValidationError( + "sources." + r, + null, + '"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance', + ), + ), + ) + : this.fire( + new t.ErrorEvent( + new t.ValidationError( + "sources." + r, + null, + 'missing required property "canvas"', + ), + ), + ), + (this.options = n), + (this.animate = + void 0 === n.animate || n.animate); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create(e && e.prototype)), + (r.prototype.constructor = r), + (r.prototype.load = function () { + (this._loaded = !0), + this.canvas || + (this.canvas = + this.options.canvas instanceof + t.window.HTMLCanvasElement + ? this.options.canvas + : t.window.document.getElementById( + this.options.canvas, + )), + (this.width = this.canvas.width), + (this.height = this.canvas.height), + this._hasInvalidDimensions() + ? this.fire( + new t.ErrorEvent( + new Error( + "Canvas dimensions cannot be less than or equal to zero.", + ), + ), + ) + : ((this.play = function () { + (this._playing = !0), + this.map.triggerRepaint(); + }), + (this.pause = function () { + this._playing && + (this.prepare(), + (this._playing = !1)); + }), + this._finishLoading()); + }), + (r.prototype.getCanvas = function () { + return this.canvas; + }), + (r.prototype.onAdd = function (t) { + (this.map = t), + this.load(), + this.canvas && this.animate && this.play(); + }), + (r.prototype.onRemove = function () { + this.pause(); + }), + (r.prototype.prepare = function () { + var 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, + O.members, + )), + this.boundsSegments || + (this.boundsSegments = + t.SegmentVector.simpleSegment( + 0, + 0, + 4, + 2, + )), + this.texture + ? (e || this._playing) && + this.texture.update(this.canvas, { + premultiply: !0, + }) + : (this.texture = new t.Texture( + r, + this.canvas, + n.RGBA, + { premultiply: !0 }, + )), + this.tiles)) { + var a = this.tiles[i]; + "loaded" !== a.state && + ((a.state = "loaded"), + (a.texture = this.texture)); + } + } + }), + (r.prototype.serialize = function () { + return { + type: "canvas", + coordinates: this.coordinates, + }; + }), + (r.prototype.hasTransition = function () { + return this._playing; + }), + (r.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; + }), + r + ); + })(I), + R = { + vector: E, + raster: L, + "raster-dem": C, + geojson: P, + video: D, + image: I, + canvas: z, + }; + function F(e, r) { + var n = t.identity([]); + return ( + t.translate(n, n, [1, 1, 0]), + t.scale(n, n, [0.5 * e.width, 0.5 * e.height, 1]), + t.multiply( + n, + n, + e.calculatePosMatrix(r.toUnwrapped()), + ) + ); + } + function B(t, e, r, n, i, a) { + var o = (function (t, e, r) { + if (t) + for (var n = 0, i = t; n < i.length; n += 1) { + var a = e[i[n]]; + if ( + a && + a.source === r && + "fill-extrusion" === a.type + ) + return !0; + } + else + for (var o in e) { + var s = e[o]; + if ( + s.source === r && + "fill-extrusion" === s.type + ) + return !0; + } + return !1; + })(i && i.layers, e, t.id), + s = a.maxPitchScaleFactor(), + l = t.tilesIn(n, s, o); + l.sort(N); + for (var u = [], c = 0, f = l; c < f.length; c += 1) { + var h = f[c]; + u.push({ + wrappedTileID: h.tileID.wrapped().key, + queryResults: h.tile.queryRenderedFeatures( + e, + r, + t._state, + h.queryGeometry, + h.cameraQueryGeometry, + h.scale, + i, + a, + s, + F(t.transform, h.tileID), + ), + }); + } + var p = (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], + f = (l[u] = l[u] || {}), + h = (e[u] = e[u] || []), + p = 0, + d = c; + p < d.length; + p += 1 + ) { + var v = d[p]; + f[v.featureIndex] || + ((f[v.featureIndex] = !0), h.push(v)); + } + } + return e; + })(u); + for (var d in p) + p[d].forEach(function (e) { + var r = e.feature, + n = t.getFeatureState( + r.layer["source-layer"], + r.id, + ); + (r.source = r.layer.source), + r.layer["source-layer"] && + (r.sourceLayer = r.layer["source-layer"]), + (r.state = n); + }); + return p; + } + 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 + ); + } + var j = function (t, e) { + (this.max = t), (this.onRemove = e), this.reset(); + }; + (j.prototype.reset = function () { + for (var t in this.data) + for ( + var e = 0, r = this.data[t]; + e < r.length; + e += 1 + ) { + var n = r[e]; + n.timeout && clearTimeout(n.timeout), + this.onRemove(n.value); + } + return (this.data = {}), (this.order = []), this; + }), + (j.prototype.add = function (t, e, r) { + var n = this, + i = t.wrapped().key; + void 0 === this.data[i] && (this.data[i] = []); + var a = { value: e, timeout: void 0 }; + if ( + (void 0 !== r && + (a.timeout = setTimeout(function () { + n.remove(t, a); + }, r)), + this.data[i].push(a), + this.order.push(i), + this.order.length > this.max) + ) { + var o = this._getAndRemoveByKey(this.order[0]); + o && this.onRemove(o); + } + return this; + }), + (j.prototype.has = function (t) { + return t.wrapped().key in this.data; + }), + (j.prototype.getAndRemove = function (t) { + return this.has(t) + ? this._getAndRemoveByKey(t.wrapped().key) + : null; + }), + (j.prototype._getAndRemoveByKey = function (t) { + var e = this.data[t].shift(); + return ( + e.timeout && clearTimeout(e.timeout), + 0 === this.data[t].length && delete this.data[t], + this.order.splice(this.order.indexOf(t), 1), + e.value + ); + }), + (j.prototype.getByKey = function (t) { + var e = this.data[t]; + return e ? e[0].value : null; + }), + (j.prototype.get = function (t) { + return this.has(t) + ? this.data[t.wrapped().key][0].value + : null; + }), + (j.prototype.remove = function (t, e) { + if (!this.has(t)) return this; + var r = t.wrapped().key, + n = void 0 === e ? 0 : this.data[r].indexOf(e), + i = this.data[r][n]; + return ( + this.data[r].splice(n, 1), + i.timeout && clearTimeout(i.timeout), + 0 === this.data[r].length && delete this.data[r], + this.onRemove(i.value), + this.order.splice(this.order.indexOf(r), 1), + this + ); + }), + (j.prototype.setMaxSize = function (t) { + for (this.max = t; this.order.length > this.max; ) { + var e = this._getAndRemoveByKey(this.order[0]); + e && this.onRemove(e); + } + return this; + }), + (j.prototype.filter = function (t) { + var e = []; + for (var r in this.data) + for ( + var n = 0, i = this.data[r]; + n < i.length; + n += 1 + ) { + var a = i[n]; + t(a.value) || e.push(a); + } + for (var o = 0, s = e; o < s.length; o += 1) { + var l = s[o]; + this.remove(l.value.tileID, l); + } + }); + var U = function (t, e, r) { + this.context = t; + var n = t.gl; + (this.buffer = n.createBuffer()), + (this.dynamicDraw = Boolean(r)), + this.context.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; + }; + (U.prototype.bind = function () { + this.context.bindElementBuffer.set(this.buffer); + }), + (U.prototype.updateData = function (t) { + var e = this.context.gl; + this.context.unbindVAO(), + this.bind(), + e.bufferSubData( + e.ELEMENT_ARRAY_BUFFER, + 0, + t.arrayBuffer, + ); + }), + (U.prototype.destroy = function () { + var t = this.context.gl; + this.buffer && + (t.deleteBuffer(this.buffer), delete this.buffer); + }); + var V = { + Int8: "BYTE", + Uint8: "UNSIGNED_BYTE", + Int16: "SHORT", + Uint16: "UNSIGNED_SHORT", + Int32: "INT", + Uint32: "UNSIGNED_INT", + Float32: "FLOAT", + }, + H = 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; + }; + (H.prototype.bind = function () { + this.context.bindVertexBuffer.set(this.buffer); + }), + (H.prototype.updateData = function (t) { + var e = this.context.gl; + this.bind(), + e.bufferSubData(e.ARRAY_BUFFER, 0, t.arrayBuffer); + }), + (H.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); + } + }), + (H.prototype.setVertexAttribPointers = function ( + t, + e, + r, + ) { + for (var n = 0; n < this.attributes.length; n++) { + var i = this.attributes[n], + a = e.attributes[i.name]; + void 0 !== a && + t.vertexAttribPointer( + a, + i.components, + t[V[i.type]], + !1, + this.itemSize, + i.offset + this.itemSize * (r || 0), + ); + } + }), + (H.prototype.destroy = function () { + var t = this.context.gl; + this.buffer && + (t.deleteBuffer(this.buffer), delete this.buffer); + }); + var q = function (t) { + (this.gl = t.gl), + (this.default = this.getDefault()), + (this.current = this.default), + (this.dirty = !1); + }; + (q.prototype.get = function () { + return this.current; + }), + (q.prototype.set = function (t) {}), + (q.prototype.getDefault = function () { + return this.default; + }), + (q.prototype.setDefault = function () { + this.set(this.default); + }); + var G = (function (e) { + function r() { + e.apply(this, arguments); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create(e && e.prototype)), + (r.prototype.constructor = r), + (r.prototype.getDefault = function () { + return t.Color.transparent; + }), + (r.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.dirty) && + (this.gl.clearColor(t.r, t.g, t.b, t.a), + (this.current = t), + (this.dirty = !1)); + }), + r + ); + })(q), + Z = (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.getDefault = function () { + return 1; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.clearDepth(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + 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.getDefault = function () { + return 0; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.clearStencil(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + 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.getDefault = function () { + return [!0, !0, !0, !0]; + }), + (e.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.dirty) && + (this.gl.colorMask(t[0], t[1], t[2], t[3]), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + 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.getDefault = function () { + return !0; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.depthMask(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + J = (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.getDefault = function () { + return 255; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.stencilMask(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + K = (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.getDefault = function () { + return { + func: this.gl.ALWAYS, + ref: 0, + mask: 255, + }; + }), + (e.prototype.set = function (t) { + var e = this.current; + (t.func !== e.func || + t.ref !== e.ref || + t.mask !== e.mask || + this.dirty) && + (this.gl.stencilFunc(t.func, t.ref, t.mask), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + $ = (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.getDefault = function () { + var t = this.gl; + return [t.KEEP, t.KEEP, t.KEEP]; + }), + (e.prototype.set = function (t) { + var e = this.current; + (t[0] !== e[0] || + t[1] !== e[1] || + t[2] !== e[2] || + this.dirty) && + (this.gl.stencilOp(t[0], t[1], t[2]), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + Q = (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.getDefault = function () { + return !1; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + t + ? e.enable(e.STENCIL_TEST) + : e.disable(e.STENCIL_TEST), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + tt = (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.getDefault = function () { + return [0, 1]; + }), + (e.prototype.set = function (t) { + var e = this.current; + (t[0] !== e[0] || + t[1] !== e[1] || + this.dirty) && + (this.gl.depthRange(t[0], t[1]), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + et = (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.getDefault = function () { + return !1; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + t + ? e.enable(e.DEPTH_TEST) + : e.disable(e.DEPTH_TEST), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + rt = (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.getDefault = function () { + return this.gl.LESS; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.depthFunc(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + nt = (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.getDefault = function () { + return !1; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + t ? e.enable(e.BLEND) : e.disable(e.BLEND), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + it = (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.getDefault = function () { + var t = this.gl; + return [t.ONE, t.ZERO]; + }), + (e.prototype.set = function (t) { + var e = this.current; + (t[0] !== e[0] || + t[1] !== e[1] || + this.dirty) && + (this.gl.blendFunc(t[0], t[1]), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + at = (function (e) { + function r() { + e.apply(this, arguments); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create(e && e.prototype)), + (r.prototype.constructor = r), + (r.prototype.getDefault = function () { + return t.Color.transparent; + }), + (r.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.dirty) && + (this.gl.blendColor(t.r, t.g, t.b, t.a), + (this.current = t), + (this.dirty = !1)); + }), + r + ); + })(q), + ot = (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.getDefault = function () { + return this.gl.FUNC_ADD; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.blendEquation(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + st = (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.getDefault = function () { + return !1; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + t + ? e.enable(e.CULL_FACE) + : e.disable(e.CULL_FACE), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + lt = (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.getDefault = function () { + return this.gl.BACK; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.cullFace(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + ut = (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.getDefault = function () { + return this.gl.CCW; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.frontFace(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + ct = (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.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.useProgram(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + ft = (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.getDefault = function () { + return this.gl.TEXTURE0; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.activeTexture(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + ht = (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.getDefault = function () { + var t = this.gl; + return [ + 0, + 0, + t.drawingBufferWidth, + t.drawingBufferHeight, + ]; + }), + (e.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.dirty) && + (this.gl.viewport(t[0], t[1], t[2], t[3]), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + pt = (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.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.bindFramebuffer(e.FRAMEBUFFER, t), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + dt = (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.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.bindRenderbuffer(e.RENDERBUFFER, t), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + vt = (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.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.bindTexture(e.TEXTURE_2D, t), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + gt = (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.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.bindBuffer(e.ARRAY_BUFFER, t), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + yt = (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.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + var e = this.gl; + e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, t), + (this.current = t), + (this.dirty = !1); + }), + e + ); + })(q), + mt = (function (t) { + function e(e) { + t.call(this, e), + (this.vao = e.extVertexArrayObject); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + this.vao && + (t !== this.current || this.dirty) && + (this.vao.bindVertexArrayOES(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + xt = (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.getDefault = function () { + return 4; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.pixelStorei(e.UNPACK_ALIGNMENT, t), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + bt = (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.getDefault = function () { + return !1; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.pixelStorei( + e.UNPACK_PREMULTIPLY_ALPHA_WEBGL, + t, + ), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + _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.getDefault = function () { + return !1; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL, t), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + wt = (function (t) { + function e(e, r) { + t.call(this, e), + (this.context = e), + (this.parent = r); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.getDefault = function () { + return null; + }), + e + ); + })(q), + Tt = (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.setDirty = function () { + this.dirty = !0; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + this.context.bindFramebuffer.set(this.parent); + var e = this.gl; + e.framebufferTexture2D( + e.FRAMEBUFFER, + e.COLOR_ATTACHMENT0, + e.TEXTURE_2D, + t, + 0, + ), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(wt), + kt = (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 (t !== this.current || this.dirty) { + this.context.bindFramebuffer.set(this.parent); + var e = this.gl; + e.framebufferRenderbuffer( + e.FRAMEBUFFER, + e.DEPTH_ATTACHMENT, + e.RENDERBUFFER, + t, + ), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(wt), + At = function (t, e, r, n) { + (this.context = t), + (this.width = e), + (this.height = r); + var i = t.gl, + a = (this.framebuffer = i.createFramebuffer()); + (this.colorAttachment = new Tt(t, a)), + n && (this.depthAttachment = new kt(t, a)); + }; + At.prototype.destroy = function () { + var t = this.context.gl, + e = this.colorAttachment.get(); + if ((e && t.deleteTexture(e), this.depthAttachment)) { + var r = this.depthAttachment.get(); + r && t.deleteRenderbuffer(r); + } + t.deleteFramebuffer(this.framebuffer); + }; + var Mt = function (t, e, r) { + (this.func = t), (this.mask = e), (this.range = r); + }; + (Mt.ReadOnly = !1), + (Mt.ReadWrite = !0), + (Mt.disabled = new Mt(519, Mt.ReadOnly, [0, 1])); + var St = 7680, + Et = 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); + }; + Et.disabled = new Et( + { func: 519, mask: 0 }, + 0, + 0, + St, + St, + St, + ); + var Lt = function (t, e, r) { + (this.blendFunction = t), + (this.blendColor = e), + (this.mask = r); + }; + (Lt.disabled = new Lt( + (Lt.Replace = [1, 0]), + t.Color.transparent, + [!1, !1, !1, !1], + )), + (Lt.unblended = new Lt( + Lt.Replace, + t.Color.transparent, + [!0, !0, !0, !0], + )), + (Lt.alphaBlended = new Lt( + [1, 771], + t.Color.transparent, + [!0, !0, !0, !0], + )); + var Ct = function (t, e, r) { + (this.enable = t), + (this.mode = e), + (this.frontFace = r); + }; + (Ct.disabled = new Ct(!1, 1029, 2305)), + (Ct.backCCW = new Ct(!0, 1029, 2305)); + var Pt = function (t) { + (this.gl = t), + (this.extVertexArrayObject = this.gl.getExtension( + "OES_vertex_array_object", + )), + (this.clearColor = new G(this)), + (this.clearDepth = new Z(this)), + (this.clearStencil = new Y(this)), + (this.colorMask = new W(this)), + (this.depthMask = new X(this)), + (this.stencilMask = new J(this)), + (this.stencilFunc = new K(this)), + (this.stencilOp = new $(this)), + (this.stencilTest = new Q(this)), + (this.depthRange = new tt(this)), + (this.depthTest = new et(this)), + (this.depthFunc = new rt(this)), + (this.blend = new nt(this)), + (this.blendFunc = new it(this)), + (this.blendColor = new at(this)), + (this.blendEquation = new ot(this)), + (this.cullFace = new st(this)), + (this.cullFaceSide = new lt(this)), + (this.frontFace = new ut(this)), + (this.program = new ct(this)), + (this.activeTexture = new ft(this)), + (this.viewport = new ht(this)), + (this.bindFramebuffer = new pt(this)), + (this.bindRenderbuffer = new dt(this)), + (this.bindTexture = new vt(this)), + (this.bindVertexBuffer = new gt(this)), + (this.bindElementBuffer = new yt(this)), + (this.bindVertexArrayOES = + this.extVertexArrayObject && new mt(this)), + (this.pixelStoreUnpack = new xt(this)), + (this.pixelStoreUnpackPremultiplyAlpha = new bt( + this, + )), + (this.pixelStoreUnpackFlipY = new _t(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"), + (this.extRenderToTextureHalfFloat = + t.getExtension("EXT_color_buffer_half_float"))), + (this.extTimerQuery = t.getExtension( + "EXT_disjoint_timer_query", + )); + }; + (Pt.prototype.setDefault = function () { + this.unbindVAO(), + this.clearColor.setDefault(), + this.clearDepth.setDefault(), + this.clearStencil.setDefault(), + this.colorMask.setDefault(), + this.depthMask.setDefault(), + this.stencilMask.setDefault(), + this.stencilFunc.setDefault(), + this.stencilOp.setDefault(), + this.stencilTest.setDefault(), + this.depthRange.setDefault(), + this.depthTest.setDefault(), + this.depthFunc.setDefault(), + this.blend.setDefault(), + this.blendFunc.setDefault(), + this.blendColor.setDefault(), + this.blendEquation.setDefault(), + this.cullFace.setDefault(), + this.cullFaceSide.setDefault(), + this.frontFace.setDefault(), + this.program.setDefault(), + this.activeTexture.setDefault(), + this.bindFramebuffer.setDefault(), + this.pixelStoreUnpack.setDefault(), + this.pixelStoreUnpackPremultiplyAlpha.setDefault(), + this.pixelStoreUnpackFlipY.setDefault(); + }), + (Pt.prototype.setDirty = function () { + (this.clearColor.dirty = !0), + (this.clearDepth.dirty = !0), + (this.clearStencil.dirty = !0), + (this.colorMask.dirty = !0), + (this.depthMask.dirty = !0), + (this.stencilMask.dirty = !0), + (this.stencilFunc.dirty = !0), + (this.stencilOp.dirty = !0), + (this.stencilTest.dirty = !0), + (this.depthRange.dirty = !0), + (this.depthTest.dirty = !0), + (this.depthFunc.dirty = !0), + (this.blend.dirty = !0), + (this.blendFunc.dirty = !0), + (this.blendColor.dirty = !0), + (this.blendEquation.dirty = !0), + (this.cullFace.dirty = !0), + (this.cullFaceSide.dirty = !0), + (this.frontFace.dirty = !0), + (this.program.dirty = !0), + (this.activeTexture.dirty = !0), + (this.viewport.dirty = !0), + (this.bindFramebuffer.dirty = !0), + (this.bindRenderbuffer.dirty = !0), + (this.bindTexture.dirty = !0), + (this.bindVertexBuffer.dirty = !0), + (this.bindElementBuffer.dirty = !0), + this.extVertexArrayObject && + (this.bindVertexArrayOES.dirty = !0), + (this.pixelStoreUnpack.dirty = !0), + (this.pixelStoreUnpackPremultiplyAlpha.dirty = + !0), + (this.pixelStoreUnpackFlipY.dirty = !0); + }), + (Pt.prototype.createIndexBuffer = function (t, e) { + return new U(this, t, e); + }), + (Pt.prototype.createVertexBuffer = function ( + t, + e, + r, + ) { + return new H(this, t, e, r); + }), + (Pt.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 + ); + }), + (Pt.prototype.createFramebuffer = function (t, e, r) { + return new At(this, t, e, r); + }), + (Pt.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.depthRange.set([0, 1]), + this.clearDepth.set(r), + this.depthMask.set(!0)), + n.clear(i); + }), + (Pt.prototype.setCullFace = function (t) { + !1 === t.enable + ? this.cullFace.set(!1) + : (this.cullFace.set(!0), + this.cullFaceSide.set(t.mode), + this.frontFace.set(t.frontFace)); + }), + (Pt.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); + }), + (Pt.prototype.setStencilMode = function (t) { + t.test.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); + }), + (Pt.prototype.setColorMode = function (e) { + t.deepEqual(e.blendFunction, Lt.Replace) + ? this.blend.set(!1) + : (this.blend.set(!0), + this.blendFunc.set(e.blendFunction), + this.blendColor.set(e.blendColor)), + this.colorMask.set(e.mask); + }), + (Pt.prototype.unbindVAO = function () { + this.extVertexArrayObject && + this.bindVertexArrayOES.set(null); + }); + var Ot = (function (e) { + function r(r, n, i) { + var a = this; + e.call(this), + (this.id = r), + (this.dispatcher = i), + this.on("data", function (t) { + "source" === t.dataType && + "metadata" === t.sourceDataType && + (a._sourceLoaded = !0), + a._sourceLoaded && + !a._paused && + "source" === t.dataType && + "content" === t.sourceDataType && + (a.reload(), + a.transform && a.update(a.transform)); + }), + this.on("error", function () { + a._sourceErrored = !0; + }), + (this._source = (function (e, r, n, i) { + var a = new R[r.type](e, r, n, i); + if (a.id !== e) + throw new Error( + "Expected Source id to be " + + e + + " instead of " + + a.id, + ); + return ( + t.bindAll( + [ + "load", + "abort", + "unload", + "serialize", + "prepare", + ], + a, + ), + a + ); + })(r, n, i, this)), + (this._tiles = {}), + (this._cache = new j( + 0, + this._unloadTile.bind(this), + )), + (this._timers = {}), + (this._cacheTimers = {}), + (this._maxTileCacheSize = null), + (this._loadedParentTiles = {}), + (this._coveredTiles = {}), + (this._state = new t.SourceFeatureState()); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create(e && e.prototype)), + (r.prototype.constructor = r), + (r.prototype.onAdd = function (t) { + (this.map = t), + (this._maxTileCacheSize = t + ? t._maxTileCacheSize + : null), + this._source && + this._source.onAdd && + this._source.onAdd(t); + }), + (r.prototype.onRemove = function (t) { + this._source && + this._source.onRemove && + this._source.onRemove(t); + }), + (r.prototype.loaded = function () { + if (this._sourceErrored) return !0; + if (!this._sourceLoaded) return !1; + if (!this._source.loaded()) return !1; + for (var t in this._tiles) { + var e = this._tiles[t]; + if ( + "loaded" !== e.state && + "errored" !== e.state + ) + return !1; + } + return !0; + }), + (r.prototype.getSource = function () { + return this._source; + }), + (r.prototype.pause = function () { + this._paused = !0; + }), + (r.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); + } + }), + (r.prototype._loadTile = function (t, e) { + return this._source.loadTile(t, e); + }), + (r.prototype._unloadTile = function (t) { + if (this._source.unloadTile) + return this._source.unloadTile( + t, + function () {}, + ); + }), + (r.prototype._abortTile = function (t) { + if (this._source.abortTile) + return this._source.abortTile( + t, + function () {}, + ); + }), + (r.prototype.serialize = function () { + return this._source.serialize(); + }), + (r.prototype.prepare = function (t) { + for (var e in (this._source.prepare && + this._source.prepare(), + this._state.coalesceChanges( + this._tiles, + this.map ? this.map.painter : null, + ), + this._tiles)) { + var r = this._tiles[e]; + r.upload(t), + r.prepare(this.map.style.imageManager); + } + }), + (r.prototype.getIds = function () { + return t + .values(this._tiles) + .map(function (t) { + return t.tileID; + }) + .sort(It) + .map(function (t) { + return t.key; + }); + }), + (r.prototype.getRenderableIds = function (e) { + var r = this, + n = []; + for (var i in this._tiles) + this._isIdRenderable(i, e) && + n.push(this._tiles[i]); + return e + ? n + .sort(function (e, n) { + var i = e.tileID, + a = n.tileID, + o = new t.Point( + i.canonical.x, + i.canonical.y, + )._rotate(r.transform.angle), + s = new t.Point( + a.canonical.x, + a.canonical.y, + )._rotate(r.transform.angle); + return ( + i.overscaledZ - a.overscaledZ || + s.y - o.y || + s.x - o.x + ); + }) + .map(function (t) { + return t.tileID.key; + }) + : n + .map(function (t) { + return t.tileID; + }) + .sort(It) + .map(function (t) { + return t.key; + }); + }), + (r.prototype.hasRenderableParent = function (t) { + var e = this.findLoadedParent(t, 0); + return !!e && this._isIdRenderable(e.tileID.key); + }), + (r.prototype._isIdRenderable = function (t, e) { + return ( + this._tiles[t] && + this._tiles[t].hasData() && + !this._coveredTiles[t] && + (e || !this._tiles[t].holdingForFade()) + ); + }), + (r.prototype.reload = function () { + if (this._paused) this._shouldReloadOnResume = !0; + else + for (var t in (this._cache.reset(), + this._tiles)) + "errored" !== this._tiles[t].state && + this._reloadTile(t, "reloading"); + }), + (r.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), + )); + }), + (r.prototype._tileLoaded = function (e, r, n, i) { + if (i) + return ( + (e.state = "errored"), + void (404 !== i.status + ? this._source.fire( + new t.ErrorEvent(i, { tile: e }), + ) + : this.update(this.transform)) + ); + (e.timeAdded = t.browser.now()), + "expired" === n && + (e.refreshedUponExpiration = !0), + this._setTileReloadTimer(r, e), + "raster-dem" === this.getSource().type && + e.dem && + this._backfillDEM(e), + this._state.initializeTileState( + e, + this.map ? this.map.painter : null, + ), + this._source.fire( + new t.Event("data", { + dataType: "source", + tile: e, + coord: e.tileID, + }), + ); + }), + (r.prototype._backfillDEM = function (t) { + for ( + var e = this.getRenderableIds(), r = 0; + r < e.length; + r++ + ) { + var n = e[r]; + if ( + t.neighboringTiles && + t.neighboringTiles[n] + ) { + var i = this.getTileByID(n); + a(t, i), a(i, t); + } + } + function a(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))); + } + }), + (r.prototype.getTile = function (t) { + return this.getTileByID(t.key); + }), + (r.prototype.getTileByID = function (t) { + return this._tiles[t]; + }), + (r.prototype._retainLoadedChildren = function ( + t, + e, + r, + n, + ) { + for (var i in this._tiles) { + var a = this._tiles[i]; + if ( + !( + n[i] || + !a.hasData() || + a.tileID.overscaledZ <= e || + a.tileID.overscaledZ > r + ) + ) { + for ( + var o = a.tileID; + a && a.tileID.overscaledZ > e + 1; + + ) { + var s = a.tileID.scaledTo( + a.tileID.overscaledZ - 1, + ); + (a = this._tiles[s.key]) && + a.hasData() && + (o = s); + } + for (var l = o; l.overscaledZ > e; ) + if ( + t[(l = l.scaledTo(l.overscaledZ - 1)).key] + ) { + n[o.key] = o; + break; + } + } + } + }), + (r.prototype.findLoadedParent = function (t, e) { + if (t.key in this._loadedParentTiles) { + var r = this._loadedParentTiles[t.key]; + return r && r.tileID.overscaledZ >= e + ? r + : null; + } + for (var n = t.overscaledZ - 1; n >= e; n--) { + var i = t.scaledTo(n), + a = this._getLoadedTile(i); + if (a) return a; + } + }), + (r.prototype._getLoadedTile = function (t) { + var e = this._tiles[t.key]; + return e && e.hasData() + ? e + : this._cache.getByKey(t.wrapped().key); + }), + (r.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); + }), + (r.prototype.handleWrapJump = function (t) { + var e = + (t - + (void 0 === this._prevLng + ? t + : this._prevLng)) / + 360, + r = Math.round(e); + if (((this._prevLng = t), r)) { + var n = {}; + for (var i in this._tiles) { + var a = this._tiles[i]; + (a.tileID = a.tileID.unwrapTo( + a.tileID.wrap + r, + )), + (n[a.tileID.key] = a); + } + for (var o in ((this._tiles = n), this._timers)) + clearTimeout(this._timers[o]), + delete this._timers[o]; + for (var s in this._tiles) { + var l = this._tiles[s]; + this._setTileReloadTimer(s, l); + } + } + }), + (r.prototype.update = function (e) { + var n = this; + if ( + ((this.transform = e), + this._sourceLoaded && !this._paused) + ) { + var i; + this.updateCacheSize(e), + this.handleWrapJump( + this.transform.center.lng, + ), + (this._coveredTiles = {}), + this.used + ? this._source.tileID + ? (i = e + .getVisibleUnwrappedCoordinates( + this._source.tileID, + ) + .map(function (e) { + return new t.OverscaledTileID( + e.canonical.z, + e.wrap, + e.canonical.z, + e.canonical.x, + e.canonical.y, + ); + })) + : ((i = e.coveringTiles({ + tileSize: this._source.tileSize, + minzoom: this._source.minzoom, + maxzoom: this._source.maxzoom, + roundZoom: this._source.roundZoom, + reparseOverscaled: + this._source.reparseOverscaled, + })), + this._source.hasTile && + (i = i.filter(function (t) { + return n._source.hasTile(t); + }))) + : (i = []); + var a = e.coveringZoomLevel(this._source), + o = Math.max( + a - r.maxOverzooming, + this._source.minzoom, + ), + s = Math.max( + a + r.maxUnderzooming, + this._source.minzoom, + ), + l = this._updateRetainedTiles(i, a); + if (Dt(this._source.type)) { + for ( + var u = {}, + c = {}, + f = 0, + h = Object.keys(l); + f < h.length; + f += 1 + ) { + var p = h[f], + d = l[p], + v = this._tiles[p]; + if ( + v && + !( + v.fadeEndTime && + v.fadeEndTime <= t.browser.now() + ) + ) { + var g = this.findLoadedParent(d, o); + g && + (this._addTile(g.tileID), + (u[g.tileID.key] = g.tileID)), + (c[p] = d); + } + } + for (var y in (this._retainLoadedChildren( + c, + a, + s, + l, + ), + u)) + l[y] || + ((this._coveredTiles[y] = !0), + (l[y] = u[y])); + } + for (var m in l) this._tiles[m].clearFadeHold(); + for ( + var x = 0, + b = t.keysDifference(this._tiles, l); + x < b.length; + x += 1 + ) { + var _ = b[x], + w = this._tiles[_]; + w.hasSymbolBuckets && !w.holdingForFade() + ? w.setHoldDuration(this.map._fadeDuration) + : (w.hasSymbolBuckets && + !w.symbolFadeFinished()) || + this._removeTile(_); + } + this._updateLoadedParentTileCache(); + } + }), + (r.prototype.releaseSymbolFadeTiles = function () { + for (var t in this._tiles) + this._tiles[t].holdingForFade() && + this._removeTile(t); + }), + (r.prototype._updateRetainedTiles = function ( + t, + e, + ) { + for ( + var n = {}, + i = {}, + a = Math.max( + e - r.maxOverzooming, + this._source.minzoom, + ), + o = Math.max( + e + r.maxUnderzooming, + this._source.minzoom, + ), + s = {}, + l = 0, + u = t; + l < u.length; + l += 1 + ) { + var c = u[l], + f = this._addTile(c); + (n[c.key] = c), + f.hasData() || + (e < this._source.maxzoom && + (s[c.key] = c)); + } + this._retainLoadedChildren(s, e, o, n); + for (var h = 0, p = t; h < p.length; h += 1) { + var d = p[h], + v = this._tiles[d.key]; + if (!v.hasData()) { + if (e + 1 > this._source.maxzoom) { + var g = d.children(this._source.maxzoom)[0], + y = this.getTile(g); + if (y && y.hasData()) { + n[g.key] = g; + continue; + } + } else { + var m = d.children(this._source.maxzoom); + if ( + n[m[0].key] && + n[m[1].key] && + n[m[2].key] && + n[m[3].key] + ) + continue; + } + for ( + var x = v.wasRequested(), + b = d.overscaledZ - 1; + b >= a; + --b + ) { + var _ = d.scaledTo(b); + if (i[_.key]) break; + if ( + ((i[_.key] = !0), + !(v = this.getTile(_)) && + x && + (v = this._addTile(_)), + v && + ((n[_.key] = _), + (x = v.wasRequested()), + v.hasData())) + ) + break; + } + } + } + return n; + }), + (r.prototype._updateLoadedParentTileCache = + function () { + for (var t in ((this._loadedParentTiles = {}), + this._tiles)) { + for ( + var e = [], + r = void 0, + n = this._tiles[t].tileID; + n.overscaledZ > 0; + + ) { + if (n.key in this._loadedParentTiles) { + r = this._loadedParentTiles[n.key]; + break; + } + e.push(n.key); + var i = n.scaledTo(n.overscaledZ - 1); + if ((r = this._getLoadedTile(i))) break; + n = i; + } + for (var a = 0, o = e; a < o.length; a += 1) { + var s = o[a]; + this._loadedParentTiles[s] = r; + } + } + }), + (r.prototype._addTile = function (e) { + var r = this._tiles[e.key]; + if (r) return r; + (r = this._cache.getAndRemove(e)) && + (this._setTileReloadTimer(e.key, r), + (r.tileID = e), + this._state.initializeTileState( + r, + this.map ? this.map.painter : null, + ), + this._cacheTimers[e.key] && + (clearTimeout(this._cacheTimers[e.key]), + delete this._cacheTimers[e.key], + this._setTileReloadTimer(e.key, r))); + var n = Boolean(r); + return ( + n || + ((r = new t.Tile( + e, + this._source.tileSize * e.overscaleFactor(), + )), + this._loadTile( + r, + this._tileLoaded.bind( + this, + r, + e.key, + r.state, + ), + )), + r + ? (r.uses++, + (this._tiles[e.key] = r), + n || + this._source.fire( + new t.Event("dataloading", { + tile: r, + coord: r.tileID, + dataType: "source", + }), + ), + r) + : null + ); + }), + (r.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)); + }), + (r.prototype._removeTile = function (t) { + var e = this._tiles[t]; + e && + (e.uses--, + delete this._tiles[t], + this._timers[t] && + (clearTimeout(this._timers[t]), + delete this._timers[t]), + e.uses > 0 || + (e.hasData() && "reloading" !== e.state + ? this._cache.add( + e.tileID, + e, + e.getExpiryTimeout(), + ) + : ((e.aborted = !0), + this._abortTile(e), + this._unloadTile(e)))); + }), + (r.prototype.clearTiles = function () { + for (var t in ((this._shouldReloadOnResume = !1), + (this._paused = !1), + this._tiles)) + this._removeTile(t); + this._cache.reset(); + }), + (r.prototype.tilesIn = function (e, r, n) { + var i = this, + a = [], + o = this.transform; + if (!o) return a; + for ( + var s = n ? o.getCameraQueryGeometry(e) : e, + l = e.map(function (t) { + return o.pointCoordinate(t); + }), + u = s.map(function (t) { + return o.pointCoordinate(t); + }), + c = this.getIds(), + f = 1 / 0, + h = 1 / 0, + p = -1 / 0, + d = -1 / 0, + v = 0, + g = u; + v < g.length; + v += 1 + ) { + var y = g[v]; + (f = Math.min(f, y.x)), + (h = Math.min(h, y.y)), + (p = Math.max(p, y.x)), + (d = Math.max(d, y.y)); + } + for ( + var m = function (e) { + var n = i._tiles[c[e]]; + if (!n.holdingForFade()) { + var s = n.tileID, + v = Math.pow( + 2, + o.zoom - n.tileID.overscaledZ, + ), + g = + (r * n.queryPadding * t.EXTENT) / + n.tileSize / + v, + y = [ + s.getTilePoint( + new t.MercatorCoordinate(f, h), + ), + s.getTilePoint( + new t.MercatorCoordinate(p, d), + ), + ]; + if ( + y[0].x - g < t.EXTENT && + y[0].y - g < t.EXTENT && + y[1].x + g >= 0 && + y[1].y + g >= 0 + ) { + var m = l.map(function (t) { + return s.getTilePoint(t); + }), + x = u.map(function (t) { + return s.getTilePoint(t); + }); + a.push({ + tile: n, + tileID: s, + queryGeometry: m, + cameraQueryGeometry: x, + scale: v, + }); + } + } + }, + x = 0; + x < c.length; + x++ + ) + m(x); + return a; + }), + (r.prototype.getVisibleCoordinates = function (t) { + for ( + var e = this, + r = this.getRenderableIds(t).map( + function (t) { + return e._tiles[t].tileID; + }, + ), + n = 0, + i = r; + n < i.length; + n += 1 + ) { + var a = i[n]; + a.posMatrix = this.transform.calculatePosMatrix( + a.toUnwrapped(), + ); + } + return r; + }), + (r.prototype.hasTransition = function () { + if (this._source.hasTransition()) return !0; + if (Dt(this._source.type)) + for (var e in this._tiles) { + var r = this._tiles[e]; + if ( + void 0 !== r.fadeEndTime && + r.fadeEndTime >= t.browser.now() + ) + return !0; + } + return !1; + }), + (r.prototype.setFeatureState = function (t, e, r) { + (t = t || "_geojsonTileLayer"), + this._state.updateState(t, e, r); + }), + (r.prototype.removeFeatureState = function ( + t, + e, + r, + ) { + (t = t || "_geojsonTileLayer"), + this._state.removeFeatureState(t, e, r); + }), + (r.prototype.getFeatureState = function (t, e) { + return ( + (t = t || "_geojsonTileLayer"), + this._state.getState(t, e) + ); + }), + (r.prototype.setDependencies = function (t, e, r) { + var n = this._tiles[t]; + n && n.setDependencies(e, r); + }), + (r.prototype.reloadTilesForDependencies = function ( + t, + e, + ) { + for (var r in this._tiles) + this._tiles[r].hasDependency(t, e) && + this._reloadTile(r, "reloading"); + this._cache.filter(function (r) { + return !r.hasDependency(t, e); + }); + }), + r + ); + })(t.Evented); + function It(t, e) { + var r = Math.abs(2 * t.wrap) - +(t.wrap < 0), + n = Math.abs(2 * e.wrap) - +(e.wrap < 0); + return ( + t.overscaledZ - e.overscaledZ || + n - r || + e.canonical.y - t.canonical.y || + e.canonical.x - t.canonical.x + ); + } + function Dt(t) { + return ( + "raster" === t || "image" === t || "video" === t + ); + } + function zt() { + return new t.window.Worker(ta.workerUrl); + } + (Ot.maxOverzooming = 10), (Ot.maxUnderzooming = 3); + var Rt = "mapboxgl_preloaded_worker_pool", + Ft = function () { + this.active = {}; + }; + (Ft.prototype.acquire = function (t) { + if (!this.workers) + for ( + this.workers = []; + this.workers.length < Ft.workerCount; + + ) + this.workers.push(new zt()); + return (this.active[t] = !0), this.workers.slice(); + }), + (Ft.prototype.release = function (t) { + delete this.active[t], + 0 === this.numActive() && + (this.workers.forEach(function (t) { + t.terminate(); + }), + (this.workers = null)); + }), + (Ft.prototype.isPreloaded = function () { + return !!this.active[Rt]; + }), + (Ft.prototype.numActive = function () { + return Object.keys(this.active).length; + }); + var Bt, + Nt = Math.floor(t.browser.hardwareConcurrency / 2); + function jt() { + return Bt || (Bt = new Ft()), Bt; + } + function Ut(e, r) { + var n = {}; + for (var i in e) "ref" !== i && (n[i] = e[i]); + return ( + t.refProperties.forEach(function (t) { + t in r && (n[t] = r[t]); + }), + n + ); + } + function Vt(t) { + t = t.slice(); + for ( + var e = Object.create(null), r = 0; + r < t.length; + r++ + ) + e[t[r].id] = t[r]; + for (var n = 0; n < t.length; n++) + "ref" in t[n] && (t[n] = Ut(t[n], e[t[n].ref])); + return t; + } + Ft.workerCount = Math.max(Math.min(Nt, 6), 1); + var Ht = { + 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", + }; + function qt(t, e, r) { + r.push({ command: Ht.addSource, args: [t, e[t]] }); + } + function Gt(t, e, r) { + e.push({ command: Ht.removeSource, args: [t] }), + (r[t] = !0); + } + function Zt(t, e, r, n) { + Gt(t, r, n), qt(t, e, r); + } + function Yt(e, r, n) { + var i; + for (i in e[n]) + if ( + e[n].hasOwnProperty(i) && + "data" !== i && + !t.deepEqual(e[n][i], r[n][i]) + ) + return !1; + for (i in r[n]) + if ( + r[n].hasOwnProperty(i) && + "data" !== i && + !t.deepEqual(e[n][i], r[n][i]) + ) + return !1; + return !0; + } + function Wt(e, r, n, i, a, o) { + var s; + for (s in ((r = r || {}), (e = e || {}))) + e.hasOwnProperty(s) && + (t.deepEqual(e[s], r[s]) || + n.push({ command: o, args: [i, s, r[s], a] })); + for (s in r) + r.hasOwnProperty(s) && + !e.hasOwnProperty(s) && + (t.deepEqual(e[s], r[s]) || + n.push({ command: o, args: [i, s, r[s], a] })); + } + function Xt(t) { + return t.id; + } + function Jt(t, e) { + return (t[e.id] = e), t; + } + function Kt(e, r) { + if (!e) return [{ command: Ht.setStyle, args: [r] }]; + var n = []; + try { + if (!t.deepEqual(e.version, r.version)) + return [{ command: Ht.setStyle, args: [r] }]; + t.deepEqual(e.center, r.center) || + n.push({ + command: Ht.setCenter, + args: [r.center], + }), + t.deepEqual(e.zoom, r.zoom) || + n.push({ command: Ht.setZoom, args: [r.zoom] }), + t.deepEqual(e.bearing, r.bearing) || + n.push({ + command: Ht.setBearing, + args: [r.bearing], + }), + t.deepEqual(e.pitch, r.pitch) || + n.push({ + command: Ht.setPitch, + args: [r.pitch], + }), + t.deepEqual(e.sprite, r.sprite) || + n.push({ + command: Ht.setSprite, + args: [r.sprite], + }), + t.deepEqual(e.glyphs, r.glyphs) || + n.push({ + command: Ht.setGlyphs, + args: [r.glyphs], + }), + t.deepEqual(e.transition, r.transition) || + n.push({ + command: Ht.setTransition, + args: [r.transition], + }), + t.deepEqual(e.light, r.light) || + n.push({ + command: Ht.setLight, + args: [r.light], + }); + var i = {}, + a = []; + !(function (e, r, n, i) { + var a; + for (a in ((r = r || {}), (e = e || {}))) + e.hasOwnProperty(a) && + (r.hasOwnProperty(a) || Gt(a, n, i)); + for (a in r) + r.hasOwnProperty(a) && + (e.hasOwnProperty(a) + ? t.deepEqual(e[a], r[a]) || + ("geojson" === e[a].type && + "geojson" === r[a].type && + Yt(e, r, a) + ? n.push({ + command: Ht.setGeoJSONSourceData, + args: [a, r[a].data], + }) + : Zt(a, r, n, i)) + : qt(a, r, n)); + })(e.sources, r.sources, a, i); + var o = []; + e.layers && + e.layers.forEach(function (t) { + i[t.source] + ? n.push({ + command: Ht.removeLayer, + args: [t.id], + }) + : o.push(t); + }), + (n = n.concat(a)), + (function (e, r, n) { + r = r || []; + var i, + a, + o, + s, + l, + u, + c, + f = (e = e || []).map(Xt), + h = r.map(Xt), + p = e.reduce(Jt, {}), + d = r.reduce(Jt, {}), + v = f.slice(), + g = Object.create(null); + for (i = 0, a = 0; i < f.length; i++) + (o = f[i]), + d.hasOwnProperty(o) + ? a++ + : (n.push({ + command: Ht.removeLayer, + args: [o], + }), + v.splice(v.indexOf(o, a), 1)); + for (i = 0, a = 0; i < h.length; i++) + (o = h[h.length - 1 - i]), + v[v.length - 1 - i] !== o && + (p.hasOwnProperty(o) + ? (n.push({ + command: Ht.removeLayer, + args: [o], + }), + v.splice( + v.lastIndexOf(o, v.length - a), + 1, + )) + : a++, + (u = v[v.length - i]), + n.push({ + command: Ht.addLayer, + args: [d[o], u], + }), + v.splice(v.length - i, 0, o), + (g[o] = !0)); + for (i = 0; i < h.length; i++) + if ( + ((s = p[(o = h[i])]), + (l = d[o]), + !g[o] && !t.deepEqual(s, l)) + ) + if ( + t.deepEqual(s.source, l.source) && + t.deepEqual( + s["source-layer"], + l["source-layer"], + ) && + t.deepEqual(s.type, l.type) + ) { + for (c in (Wt( + s.layout, + l.layout, + n, + o, + null, + Ht.setLayoutProperty, + ), + Wt( + s.paint, + l.paint, + n, + o, + null, + Ht.setPaintProperty, + ), + t.deepEqual(s.filter, l.filter) || + n.push({ + command: Ht.setFilter, + args: [o, l.filter], + }), + (t.deepEqual(s.minzoom, l.minzoom) && + t.deepEqual(s.maxzoom, l.maxzoom)) || + n.push({ + command: Ht.setLayerZoomRange, + args: [o, l.minzoom, l.maxzoom], + }), + s)) + s.hasOwnProperty(c) && + "layout" !== c && + "paint" !== c && + "filter" !== c && + "metadata" !== c && + "minzoom" !== c && + "maxzoom" !== c && + (0 === c.indexOf("paint.") + ? Wt( + s[c], + l[c], + n, + o, + c.slice(6), + Ht.setPaintProperty, + ) + : t.deepEqual(s[c], l[c]) || + n.push({ + command: Ht.setLayerProperty, + args: [o, c, l[c]], + })); + for (c in l) + l.hasOwnProperty(c) && + !s.hasOwnProperty(c) && + "layout" !== c && + "paint" !== c && + "filter" !== c && + "metadata" !== c && + "minzoom" !== c && + "maxzoom" !== c && + (0 === c.indexOf("paint.") + ? Wt( + s[c], + l[c], + n, + o, + c.slice(6), + Ht.setPaintProperty, + ) + : t.deepEqual(s[c], l[c]) || + n.push({ + command: Ht.setLayerProperty, + args: [o, c, l[c]], + })); + } else + n.push({ + command: Ht.removeLayer, + args: [o], + }), + (u = v[v.lastIndexOf(o) + 1]), + n.push({ + command: Ht.addLayer, + args: [l, u], + }); + })(o, r.layers, n); + } catch (t) { + console.warn("Unable to compute style diff:", t), + (n = [{ command: Ht.setStyle, args: [r] }]); + } + return n; + } + var $t = function (t, e) { + this.reset(t, e); + }; + ($t.prototype.reset = function (t, e) { + (this.points = t || []), (this._distances = [0]); + for (var r = 1; r < this.points.length; r++) + this._distances[r] = + this._distances[r - 1] + + this.points[r].dist(this.points[r - 1]); + (this.length = + this._distances[this._distances.length - 1]), + (this.padding = Math.min( + e || 0, + 0.5 * this.length, + )), + (this.paddedLength = + this.length - 2 * this.padding); + }), + ($t.prototype.lerp = function (e) { + if (1 === this.points.length) return this.points[0]; + e = t.clamp(e, 0, 1); + for ( + var r = 1, + n = this._distances[r], + i = e * this.paddedLength + this.padding; + n < i && r < this._distances.length; + + ) + n = this._distances[++r]; + var a = r - 1, + o = this._distances[a], + s = n - o, + l = s > 0 ? (i - o) / s : 0; + return this.points[a] + .mult(1 - l) + .add(this.points[r].mult(l)); + }); + var Qt = 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); + }; + function te(e, r, n, i, a) { + var o = t.create(); + return ( + r + ? (t.scale(o, o, [1 / a, 1 / a, 1]), + n || t.rotateZ(o, o, i.angle)) + : t.multiply(o, i.labelPlaneMatrix, e), + o + ); + } + function ee(e, r, n, i, a) { + if (r) { + var o = t.clone(e); + return ( + t.scale(o, o, [a, a, 1]), + n || t.rotateZ(o, o, -i.angle), + o + ); + } + return i.glCoordMatrix; + } + function re(e, r) { + var n = [e.x, e.y, 0, 1]; + pe(n, n, r); + var i = n[3]; + return { + point: new t.Point(n[0] / i, n[1] / i), + signedDistanceFromCamera: i, + }; + } + function ne(t, e) { + return 0.5 + (t / e) * 0.5; + } + function ie(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 ae(e, r, n, i, a, o, s, l) { + var u = i ? e.textSizeData : e.iconSizeData, + c = t.evaluateSizeForZoom(u, n.transform.zoom), + f = [ + (256 / n.width) * 2 + 1, + (256 / n.height) * 2 + 1, + ], + h = i + ? e.text.dynamicLayoutVertexArray + : e.icon.dynamicLayoutVertexArray; + h.clear(); + for ( + var p = e.lineVertexArray, + d = i + ? e.text.placedSymbolArray + : e.icon.placedSymbolArray, + v = n.transform.width / n.transform.height, + g = !1, + y = 0; + y < d.length; + y++ + ) { + var m = d.get(y); + if ( + m.hidden || + (m.writingMode === t.WritingMode.vertical && !g) + ) + he(m.numGlyphs, h); + else { + g = !1; + var x = [m.anchorX, m.anchorY, 0, 1]; + if ((t.transformMat4(x, x, r), ie(x, f))) { + var b = x[3], + _ = ne(n.transform.cameraToCenterDistance, b), + w = t.evaluateSizeForFeature(u, c, m), + T = s ? w / _ : w * _, + k = new t.Point(m.anchorX, m.anchorY), + A = re(k, a).point, + M = {}, + S = le( + m, + T, + !1, + l, + r, + a, + o, + e.glyphOffsetArray, + p, + h, + A, + k, + M, + v, + ); + (g = S.useVertical), + (S.notEnoughRoom || + g || + (S.needsFlipping && + le( + m, + T, + !0, + l, + r, + a, + o, + e.glyphOffsetArray, + p, + h, + A, + k, + M, + v, + ).notEnoughRoom)) && + he(m.numGlyphs, h); + } else he(m.numGlyphs, h); + } + } + i + ? e.text.dynamicLayoutVertexBuffer.updateData(h) + : e.icon.dynamicLayoutVertexBuffer.updateData(h); + } + function oe(t, e, r, n, i, a, o, s, l, u, c) { + var f = s.glyphStartIndex + s.numGlyphs, + h = s.lineStartIndex, + p = s.lineStartIndex + s.lineLength, + d = e.getoffsetX(s.glyphStartIndex), + v = e.getoffsetX(f - 1), + g = ce( + t * d, + r, + n, + i, + a, + o, + s.segment, + h, + p, + l, + u, + c, + ); + if (!g) return null; + var y = ce( + t * v, + r, + n, + i, + a, + o, + s.segment, + h, + p, + l, + u, + c, + ); + return y ? { first: g, last: y } : null; + } + function se(e, r, n, i) { + return e === t.WritingMode.horizontal && + Math.abs(n.y - r.y) > Math.abs(n.x - r.x) * i + ? { useVertical: !0 } + : ( + e === t.WritingMode.vertical + ? r.y < n.y + : r.x > n.x + ) + ? { needsFlipping: !0 } + : null; + } + function le(e, r, n, i, a, o, s, l, u, c, f, h, p, d) { + var v, + g = r / 24, + y = e.lineOffsetX * g, + m = e.lineOffsetY * g; + if (e.numGlyphs > 1) { + var x = e.glyphStartIndex + e.numGlyphs, + b = e.lineStartIndex, + _ = e.lineStartIndex + e.lineLength, + w = oe(g, l, y, m, n, f, h, e, u, o, p); + if (!w) return { notEnoughRoom: !0 }; + var T = re(w.first.point, s).point, + k = re(w.last.point, s).point; + if (i && !n) { + var A = se(e.writingMode, T, k, d); + if (A) return A; + } + v = [w.first]; + for (var M = e.glyphStartIndex + 1; M < x - 1; M++) + v.push( + ce( + g * l.getoffsetX(M), + y, + m, + n, + f, + h, + e.segment, + b, + _, + u, + o, + p, + ), + ); + v.push(w.last); + } else { + if (i && !n) { + var S = re(h, a).point, + E = e.lineStartIndex + e.segment + 1, + L = new t.Point(u.getx(E), u.gety(E)), + C = re(L, a), + P = + C.signedDistanceFromCamera > 0 + ? C.point + : ue(h, L, S, 1, a), + O = se(e.writingMode, S, P, d); + if (O) return O; + } + var I = ce( + g * l.getoffsetX(e.glyphStartIndex), + y, + m, + n, + f, + h, + e.segment, + e.lineStartIndex, + e.lineStartIndex + e.lineLength, + u, + o, + p, + ); + if (!I) return { notEnoughRoom: !0 }; + v = [I]; + } + for (var D = 0, z = v; D < z.length; D += 1) { + var R = z[D]; + t.addDynamicAttributes(c, R.point, R.angle); + } + return {}; + } + function ue(t, e, r, n, i) { + var a = re(t.add(t.sub(e)._unit()), i).point, + o = r.sub(a); + return r.add(o._mult(n / o.mag())); + } + function ce(e, r, n, i, a, o, s, l, u, c, f, h) { + var p = i ? e - r : e + r, + d = p > 0 ? 1 : -1, + v = 0; + i && ((d *= -1), (v = Math.PI)), + d < 0 && (v += Math.PI); + for ( + var g = d > 0 ? l + s : l + s + 1, + y = a, + m = a, + x = 0, + b = 0, + _ = Math.abs(p), + w = []; + x + b <= _; + + ) { + if ((g += d) < l || g >= u) return null; + if (((m = y), w.push(y), void 0 === (y = h[g]))) { + var T = new t.Point(c.getx(g), c.gety(g)), + k = re(T, f); + if (k.signedDistanceFromCamera > 0) + y = h[g] = k.point; + else { + var A = g - d; + y = ue( + 0 === x + ? o + : new t.Point(c.getx(A), c.gety(A)), + T, + m, + _ - x + 1, + f, + ); + } + } + (x += b), (b = m.dist(y)); + } + var M = (_ - x) / b, + S = y.sub(m), + E = S.mult(M)._add(m); + E._add( + S._unit() + ._perp() + ._mult(n * d), + ); + var L = v + Math.atan2(y.y - m.y, y.x - m.x); + return w.push(E), { point: E, angle: L, path: w }; + } + (Qt.prototype.keysLength = function () { + return this.boxKeys.length + this.circleKeys.length; + }), + (Qt.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); + }), + (Qt.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); + }), + (Qt.prototype._insertBoxCell = function ( + t, + e, + r, + n, + i, + a, + ) { + this.boxCells[i].push(a); + }), + (Qt.prototype._insertCircleCell = function ( + t, + e, + r, + n, + i, + a, + ) { + this.circleCells[i].push(a); + }), + (Qt.prototype._query = function (t, e, r, n, i, a) { + if ( + r < 0 || + t > this.width || + n < 0 || + e > this.height + ) + return !i && []; + var o = []; + if ( + t <= 0 && + e <= 0 && + this.width <= r && + this.height <= n + ) { + if (i) return !0; + for (var s = 0; s < this.boxKeys.length; s++) + o.push({ + key: this.boxKeys[s], + x1: this.bboxes[4 * s], + y1: this.bboxes[4 * s + 1], + x2: this.bboxes[4 * s + 2], + y2: this.bboxes[4 * s + 3], + }); + for (var l = 0; l < this.circleKeys.length; l++) { + var u = this.circles[3 * l], + c = this.circles[3 * l + 1], + f = this.circles[3 * l + 2]; + o.push({ + key: this.circleKeys[l], + x1: u - f, + y1: c - f, + x2: u + f, + y2: c + f, + }); + } + return a ? o.filter(a) : o; + } + var h = { + hitTest: i, + seenUids: { box: {}, circle: {} }, + }; + return ( + this._forEachCell( + t, + e, + r, + n, + this._queryCell, + o, + h, + a, + ), + i ? o.length > 0 : o + ); + }), + (Qt.prototype._queryCircle = function ( + t, + e, + r, + n, + i, + ) { + var a = t - r, + o = t + r, + s = e - r, + l = e + r; + if ( + o < 0 || + a > this.width || + l < 0 || + s > this.height + ) + return !n && []; + var u = [], + c = { + hitTest: n, + circle: { x: t, y: e, radius: r }, + seenUids: { box: {}, circle: {} }, + }; + return ( + this._forEachCell( + a, + s, + o, + l, + this._queryCellCircle, + u, + c, + i, + ), + n ? u.length > 0 : u + ); + }), + (Qt.prototype.query = function (t, e, r, n, i) { + return this._query(t, e, r, n, !1, i); + }), + (Qt.prototype.hitTest = function (t, e, r, n, i) { + return this._query(t, e, r, n, !0, i); + }), + (Qt.prototype.hitTestCircle = function (t, e, r, n) { + return this._queryCircle(t, e, r, !0, n); + }), + (Qt.prototype._queryCell = function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + var l = o.seenUids, + u = this.boxCells[i]; + if (null !== u) + for ( + var c = this.bboxes, f = 0, h = u; + f < h.length; + f += 1 + ) { + var p = h[f]; + 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] && + (!s || s(this.boxKeys[p])) + ) { + if (o.hitTest) return a.push(!0), !0; + a.push({ + key: this.boxKeys[p], + x1: c[d], + y1: c[d + 1], + x2: c[d + 2], + y2: c[d + 3], + }); + } + } + } + var v = this.circleCells[i]; + if (null !== v) + for ( + var g = this.circles, y = 0, m = v; + y < m.length; + y += 1 + ) { + var x = m[y]; + if (!l.circle[x]) { + l.circle[x] = !0; + var b = 3 * x; + if ( + this._circleAndRectCollide( + g[b], + g[b + 1], + g[b + 2], + t, + e, + r, + n, + ) && + (!s || s(this.circleKeys[x])) + ) { + if (o.hitTest) return a.push(!0), !0; + var _ = g[b], + w = g[b + 1], + T = g[b + 2]; + a.push({ + key: this.circleKeys[x], + x1: _ - T, + y1: w - T, + x2: _ + T, + y2: w + T, + }); + } + } + } + }), + (Qt.prototype._queryCellCircle = function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + var l = o.circle, + u = o.seenUids, + c = this.boxCells[i]; + if (null !== c) + for ( + var f = this.bboxes, h = 0, p = c; + h < p.length; + h += 1 + ) { + var d = p[h]; + if (!u.box[d]) { + u.box[d] = !0; + var v = 4 * d; + if ( + this._circleAndRectCollide( + l.x, + l.y, + l.radius, + f[v + 0], + f[v + 1], + f[v + 2], + f[v + 3], + ) && + (!s || s(this.boxKeys[d])) + ) + return a.push(!0), !0; + } + } + var g = this.circleCells[i]; + if (null !== g) + for ( + var y = this.circles, m = 0, x = g; + m < x.length; + m += 1 + ) { + var b = x[m]; + if (!u.circle[b]) { + u.circle[b] = !0; + var _ = 3 * b; + if ( + this._circlesCollide( + y[_], + y[_ + 1], + y[_ + 2], + l.x, + l.y, + l.radius, + ) && + (!s || s(this.circleKeys[b])) + ) + return a.push(!0), !0; + } + } + }), + (Qt.prototype._forEachCell = function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + for ( + var l = this._convertToXCellCoord(t), + u = this._convertToYCellCoord(e), + c = this._convertToXCellCoord(r), + f = this._convertToYCellCoord(n), + h = l; + h <= c; + h++ + ) + for (var p = u; p <= f; p++) { + var d = this.xCellCount * p + h; + if (i.call(this, t, e, r, n, d, a, o, s)) + return; + } + }), + (Qt.prototype._convertToXCellCoord = function (t) { + return Math.max( + 0, + Math.min( + this.xCellCount - 1, + Math.floor(t * this.xScale), + ), + ); + }), + (Qt.prototype._convertToYCellCoord = function (t) { + return Math.max( + 0, + Math.min( + this.yCellCount - 1, + Math.floor(t * this.yScale), + ), + ); + }), + (Qt.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; + }), + (Qt.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 f = l - s, + h = c - u; + return f * f + h * h <= r * r; + }); + var fe = new Float32Array([ + -1 / 0, + -1 / 0, + 0, + -1 / 0, + -1 / 0, + 0, + -1 / 0, + -1 / 0, + 0, + -1 / 0, + -1 / 0, + 0, + ]); + function he(t, e) { + for (var r = 0; r < t; r++) { + var n = e.length; + e.resize(n + 4), e.float32.set(fe, 3 * n); + } + } + function pe(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 de = 100, + ve = function (t, e, r) { + void 0 === e && + (e = new Qt(t.width + 200, t.height + 200, 25)), + void 0 === r && + (r = new Qt(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 + de), + (this.screenBottomBoundary = t.height + de), + (this.gridRightBoundary = t.width + 200), + (this.gridBottomBoundary = t.height + 200); + }; + function ge(e, r, n) { + return ( + r * + (t.EXTENT / + (e.tileSize * + Math.pow(2, n - e.tileID.overscaledZ))) + ); + } + (ve.prototype.placeCollisionBox = function ( + t, + e, + r, + n, + i, + ) { + var a = this.projectAndGetPerspectiveRatio( + n, + t.anchorPointX, + t.anchorPointY, + ), + o = r * a.perspectiveRatio, + s = t.x1 * o + a.point.x, + l = t.y1 * o + a.point.y, + u = t.x2 * o + a.point.x, + c = t.y2 * o + a.point.y; + return !this.isInsideGrid(s, l, u, c) || + (!e && this.grid.hitTest(s, l, u, c, i)) + ? { box: [], offscreen: !1 } + : { + box: [s, l, u, c], + offscreen: this.isOffscreen(s, l, u, c), + }; + }), + (ve.prototype.placeCollisionCircles = function ( + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + ) { + var d = [], + v = new t.Point(r.anchorX, r.anchorY), + g = re(v, o), + y = ne( + this.transform.cameraToCenterDistance, + g.signedDistanceFromCamera, + ), + m = (c ? a / y : a * y) / t.ONE_EM, + x = re(v, s).point, + b = oe( + m, + i, + r.lineOffsetX * m, + r.lineOffsetY * m, + !1, + x, + v, + r, + n, + s, + {}, + ), + _ = !1, + w = !1, + T = !0; + if (b) { + for ( + var k = 0.5 * h * y + p, + A = new t.Point(-100, -100), + M = new t.Point( + this.screenRightBoundary, + this.screenBottomBoundary, + ), + S = new $t(), + E = b.first, + L = b.last, + C = [], + P = E.path.length - 1; + P >= 1; + P-- + ) + C.push(E.path[P]); + for (var O = 1; O < L.path.length; O++) + C.push(L.path[O]); + var I = 2.5 * k; + if (l) { + var D = C.map(function (t) { + return re(t, l); + }); + C = D.some(function (t) { + return t.signedDistanceFromCamera <= 0; + }) + ? [] + : D.map(function (t) { + return t.point; + }); + } + var z = []; + if (C.length > 0) { + for ( + var R = C[0].clone(), F = C[0].clone(), B = 1; + B < C.length; + B++ + ) + (R.x = Math.min(R.x, C[B].x)), + (R.y = Math.min(R.y, C[B].y)), + (F.x = Math.max(F.x, C[B].x)), + (F.y = Math.max(F.y, C[B].y)); + z = + R.x >= A.x && + F.x <= M.x && + R.y >= A.y && + F.y <= M.y + ? [C] + : F.x < A.x || + R.x > M.x || + F.y < A.y || + R.y > M.y + ? [] + : t.clipLine([C], A.x, A.y, M.x, M.y); + } + for (var N = 0, j = z; N < j.length; N += 1) { + var U = j[N]; + S.reset(U, 0.25 * k); + var V; + V = + S.length <= 0.5 * k + ? 1 + : Math.ceil(S.paddedLength / I) + 1; + for (var H = 0; H < V; H++) { + var q = H / Math.max(V - 1, 1), + G = S.lerp(q), + Z = G.x + de, + Y = G.y + de; + d.push(Z, Y, k, 0); + var W = Z - k, + X = Y - k, + J = Z + k, + K = Y + k; + if ( + ((T = T && this.isOffscreen(W, X, J, K)), + (w = w || this.isInsideGrid(W, X, J, K)), + !e && + this.grid.hitTestCircle(Z, Y, k, f) && + ((_ = !0), !u)) + ) + return { + circles: [], + offscreen: !1, + collisionDetected: _, + }; + } + } + } + return { + circles: (!u && _) || !w ? [] : d, + offscreen: T, + collisionDetected: _, + }; + }), + (ve.prototype.queryRenderedSymbols = function (e) { + if ( + 0 === e.length || + (0 === this.grid.keysLength() && + 0 === this.ignoredGrid.keysLength()) + ) + return {}; + for ( + var r = [], + n = 1 / 0, + i = 1 / 0, + a = -1 / 0, + o = -1 / 0, + s = 0, + l = e; + s < l.length; + s += 1 + ) { + var u = l[s], + c = new t.Point(u.x + de, u.y + de); + (n = Math.min(n, c.x)), + (i = Math.min(i, c.y)), + (a = Math.max(a, c.x)), + (o = Math.max(o, c.y)), + r.push(c); + } + for ( + var f = {}, + h = {}, + p = 0, + d = this.grid + .query(n, i, a, o) + .concat(this.ignoredGrid.query(n, i, a, o)); + p < d.length; + p += 1 + ) { + var v = d[p], + g = v.key; + if ( + (void 0 === f[g.bucketInstanceId] && + (f[g.bucketInstanceId] = {}), + !f[g.bucketInstanceId][g.featureIndex]) + ) { + var y = [ + new t.Point(v.x1, v.y1), + new t.Point(v.x2, v.y1), + new t.Point(v.x2, v.y2), + new t.Point(v.x1, v.y2), + ]; + t.polygonIntersectsPolygon(r, y) && + ((f[g.bucketInstanceId][g.featureIndex] = !0), + void 0 === h[g.bucketInstanceId] && + (h[g.bucketInstanceId] = []), + h[g.bucketInstanceId].push(g.featureIndex)); + } + } + return h; + }), + (ve.prototype.insertCollisionBox = function ( + t, + e, + r, + n, + i, + ) { + var a = { + bucketInstanceId: r, + featureIndex: n, + collisionGroupID: i, + }; + (e ? this.ignoredGrid : this.grid).insert( + a, + t[0], + t[1], + t[2], + t[3], + ); + }), + (ve.prototype.insertCollisionCircles = function ( + t, + e, + r, + n, + i, + ) { + for ( + var a = e ? this.ignoredGrid : this.grid, + o = { + bucketInstanceId: r, + featureIndex: n, + collisionGroupID: i, + }, + s = 0; + s < t.length; + s += 4 + ) + a.insertCircle(o, t[s], t[s + 1], t[s + 2]); + }), + (ve.prototype.projectAndGetPerspectiveRatio = + function (e, r, n) { + var i = [r, n, 0, 1]; + return ( + pe(i, i, e), + { + point: new t.Point( + ((i[0] / i[3] + 1) / 2) * + this.transform.width + + de, + ((-i[1] / i[3] + 1) / 2) * + this.transform.height + + de, + ), + perspectiveRatio: + 0.5 + + (this.transform.cameraToCenterDistance / + i[3]) * + 0.5, + } + ); + }), + (ve.prototype.isOffscreen = function (t, e, r, n) { + return ( + r < de || + t >= this.screenRightBoundary || + n < de || + e > this.screenBottomBoundary + ); + }), + (ve.prototype.isInsideGrid = function (t, e, r, n) { + return ( + r >= 0 && + t < this.gridRightBoundary && + n >= 0 && + e < this.gridBottomBoundary + ); + }), + (ve.prototype.getViewportMatrix = function () { + var e = t.identity([]); + return t.translate(e, e, [-100, -100, 0]), e; + }); + var ye = 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); + }; + ye.prototype.isHidden = function () { + return 0 === this.opacity && !this.placed; + }; + var me = function (t, e, r, n, i) { + (this.text = new ye(t ? t.text : null, e, r, i)), + (this.icon = new ye(t ? t.icon : null, e, n, i)); + }; + me.prototype.isHidden = function () { + return this.text.isHidden() && this.icon.isHidden(); + }; + var xe = function (t, e, r) { + (this.text = t), + (this.icon = e), + (this.skipFade = r); + }, + be = function () { + (this.invProjMatrix = t.create()), + (this.viewportMatrix = t.create()), + (this.circles = []); + }, + _e = function (t, e, r, n, i) { + (this.bucketInstanceId = t), + (this.featureIndex = e), + (this.sourceLayerIndex = r), + (this.bucketIndex = n), + (this.tileID = i); + }, + we = function (t) { + (this.crossSourceCollisions = t), + (this.maxGroupID = 0), + (this.collisionGroups = {}); + }; + function Te(e, r, n, i, a) { + var o = t.getAnchorAlignment(e), + s = -(o.horizontalAlign - 0.5) * r, + l = -(o.verticalAlign - 0.5) * n, + u = t.evaluateVariableOffset(e, i); + return new t.Point(s + u[0] * a, l + u[1] * a); + } + function ke(e, r, n, i, a, o) { + var s = e.x1, + l = e.x2, + u = e.y1, + c = e.y2, + f = e.anchorPointX, + h = e.anchorPointY, + p = new t.Point(r, n); + return ( + i && p._rotate(a ? o : -o), + { + x1: s + p.x, + y1: u + p.y, + x2: l + p.x, + y2: c + p.y, + anchorPointX: f, + anchorPointY: h, + } + ); + } + we.prototype.get = function (t) { + if (this.crossSourceCollisions) + return { ID: 0, predicate: null }; + if (!this.collisionGroups[t]) { + var e = ++this.maxGroupID; + this.collisionGroups[t] = { + ID: e, + predicate: function (t) { + return t.collisionGroupID === e; + }, + }; + } + return this.collisionGroups[t]; + }; + var Ae = function (t, e, r, n) { + (this.transform = t.clone()), + (this.collisionIndex = new ve(this.transform)), + (this.placements = {}), + (this.opacities = {}), + (this.variableOffsets = {}), + (this.stale = !1), + (this.commitTime = 0), + (this.fadeDuration = e), + (this.retainedQueryData = {}), + (this.collisionGroups = new we(r)), + (this.collisionCircleArrays = {}), + (this.prevPlacement = n), + n && (n.prevPlacement = void 0), + (this.placedOrientations = {}); + }; + function Me(t, e, r, n, i) { + t.emplaceBack(e ? 1 : 0, r ? 1 : 0, n || 0, i || 0), + t.emplaceBack(e ? 1 : 0, r ? 1 : 0, n || 0, i || 0), + t.emplaceBack(e ? 1 : 0, r ? 1 : 0, n || 0, i || 0), + t.emplaceBack(e ? 1 : 0, r ? 1 : 0, n || 0, i || 0); + } + (Ae.prototype.getBucketParts = function (e, r, n, i) { + var a = n.getBucket(r), + o = n.latestFeatureIndex; + if (a && o && r.id === a.layerIds[0]) { + var s = n.collisionBoxArray, + l = a.layers[0].layout, + u = Math.pow( + 2, + this.transform.zoom - n.tileID.overscaledZ, + ), + c = n.tileSize / t.EXTENT, + f = this.transform.calculatePosMatrix( + n.tileID.toUnwrapped(), + ), + h = "map" === l.get("text-pitch-alignment"), + p = "map" === l.get("text-rotation-alignment"), + d = ge(n, 1, this.transform.zoom), + v = te(f, h, p, this.transform, d), + g = null; + if (h) { + var y = ee(f, h, p, this.transform, d); + g = t.multiply( + [], + this.transform.labelPlaneMatrix, + y, + ); + } + this.retainedQueryData[a.bucketInstanceId] = new _e( + a.bucketInstanceId, + o, + a.sourceLayerIndex, + a.index, + n.tileID, + ); + var m = { + bucket: a, + layout: l, + posMatrix: f, + textLabelPlaneMatrix: v, + labelToScreenMatrix: g, + scale: u, + textPixelRatio: c, + holdingForFade: n.holdingForFade(), + collisionBoxArray: s, + partiallyEvaluatedTextSize: t.evaluateSizeForZoom( + a.textSizeData, + this.transform.zoom, + ), + collisionGroup: this.collisionGroups.get( + a.sourceID, + ), + }; + if (i) + for ( + var x = 0, b = a.sortKeyRanges; + x < b.length; + x += 1 + ) { + var _ = b[x], + w = _.sortKey, + T = _.symbolInstanceStart, + k = _.symbolInstanceEnd; + e.push({ + sortKey: w, + symbolInstanceStart: T, + symbolInstanceEnd: k, + parameters: m, + }); + } + else + e.push({ + symbolInstanceStart: 0, + symbolInstanceEnd: a.symbolInstances.length, + parameters: m, + }); + } + }), + (Ae.prototype.attemptAnchorPlacement = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + ) { + var v, + g = [f.textOffset0, f.textOffset1], + y = Te(t, r, n, g, i), + m = this.collisionIndex.placeCollisionBox( + ke(e, y.x, y.y, a, o, this.transform.angle), + c, + s, + l, + u.predicate, + ); + if ( + !d || + 0 !== + this.collisionIndex.placeCollisionBox( + ke(d, y.x, y.y, a, o, this.transform.angle), + c, + s, + l, + u.predicate, + ).box.length + ) + return m.box.length > 0 + ? (this.prevPlacement && + this.prevPlacement.variableOffsets[ + f.crossTileID + ] && + this.prevPlacement.placements[ + f.crossTileID + ] && + this.prevPlacement.placements[f.crossTileID] + .text && + (v = + this.prevPlacement.variableOffsets[ + f.crossTileID + ].anchor), + (this.variableOffsets[f.crossTileID] = { + textOffset: g, + width: r, + height: n, + anchor: t, + textBoxScale: i, + prevAnchor: v, + }), + this.markUsedJustification(h, t, f, p), + h.allowVerticalPlacement && + (this.markUsedOrientation(h, p, f), + (this.placedOrientations[f.crossTileID] = + p)), + { shift: y, placedGlyphBoxes: m }) + : void 0; + }), + (Ae.prototype.placeLayerBucketPart = function ( + e, + r, + n, + ) { + var i = this, + a = e.parameters, + o = a.bucket, + s = a.layout, + l = a.posMatrix, + u = a.textLabelPlaneMatrix, + c = a.labelToScreenMatrix, + f = a.textPixelRatio, + h = a.holdingForFade, + p = a.collisionBoxArray, + d = a.partiallyEvaluatedTextSize, + v = a.collisionGroup, + g = s.get("text-optional"), + y = s.get("icon-optional"), + m = s.get("text-allow-overlap"), + x = s.get("icon-allow-overlap"), + b = "map" === s.get("text-rotation-alignment"), + _ = "map" === s.get("text-pitch-alignment"), + w = "none" !== s.get("icon-text-fit"), + T = "viewport-y" === s.get("symbol-z-order"), + k = m && (x || !o.hasIconData() || y), + A = x && (m || !o.hasTextData() || g); + !o.collisionArrays && + p && + o.deserializeCollisionBoxes(p); + var M = function (e, a) { + if (!r[e.crossTileID]) + if (h) + i.placements[e.crossTileID] = new xe( + !1, + !1, + !1, + ); + else { + var p, + T = !1, + M = !1, + S = !0, + E = null, + L = { box: null, offscreen: null }, + C = { box: null, offscreen: null }, + P = null, + O = null, + I = 0, + D = 0, + z = 0; + a.textFeatureIndex + ? (I = a.textFeatureIndex) + : e.useRuntimeCollisionCircles && + (I = e.featureIndex), + a.verticalTextFeatureIndex && + (D = a.verticalTextFeatureIndex); + var R = a.textBox; + if (R) { + var F = function (r) { + var n = t.WritingMode.horizontal; + if ( + o.allowVerticalPlacement && + !r && + i.prevPlacement + ) { + var a = + i.prevPlacement.placedOrientations[ + e.crossTileID + ]; + a && + ((i.placedOrientations[ + e.crossTileID + ] = a), + (n = a), + i.markUsedOrientation(o, n, e)); + } + return n; + }, + B = function (r, n) { + if ( + o.allowVerticalPlacement && + e.numVerticalGlyphVertices > 0 && + a.verticalTextBox + ) + for ( + var i = 0, s = o.writingModes; + i < s.length && + (s[i] === t.WritingMode.vertical + ? ((L = n()), (C = L)) + : (L = r()), + !(L && L.box && L.box.length)); + i += 1 + ); + else L = r(); + }; + if (s.get("text-variable-anchor")) { + var N = s.get("text-variable-anchor"); + if ( + i.prevPlacement && + i.prevPlacement.variableOffsets[ + e.crossTileID + ] + ) { + var j = + i.prevPlacement.variableOffsets[ + e.crossTileID + ]; + N.indexOf(j.anchor) > 0 && + (N = N.filter(function (t) { + return t !== j.anchor; + })).unshift(j.anchor); + } + var U = function (t, r, n) { + for ( + var a = t.x2 - t.x1, + s = t.y2 - t.y1, + u = e.textBoxScale, + c = w && !x ? r : null, + h = { box: [], offscreen: !1 }, + p = m ? 2 * N.length : N.length, + d = 0; + d < p; + ++d + ) { + var g = N[d % N.length], + y = d >= N.length, + k = i.attemptAnchorPlacement( + g, + t, + a, + s, + u, + b, + _, + f, + l, + v, + y, + e, + o, + n, + c, + ); + if ( + k && + (h = k.placedGlyphBoxes) && + h.box && + h.box.length + ) { + (T = !0), (E = k.shift); + break; + } + } + return h; + }; + B( + function () { + return U( + R, + a.iconBox, + t.WritingMode.horizontal, + ); + }, + function () { + var r = a.verticalTextBox, + n = L && L.box && L.box.length; + return o.allowVerticalPlacement && + !n && + e.numVerticalGlyphVertices > 0 && + r + ? U( + r, + a.verticalIconBox, + t.WritingMode.vertical, + ) + : { box: null, offscreen: null }; + }, + ), + L && ((T = L.box), (S = L.offscreen)); + var V = F(L && L.box); + if (!T && i.prevPlacement) { + var H = + i.prevPlacement.variableOffsets[ + e.crossTileID + ]; + H && + ((i.variableOffsets[e.crossTileID] = + H), + i.markUsedJustification( + o, + H.anchor, + e, + V, + )); + } + } else { + var q = function (t, r) { + var n = + i.collisionIndex.placeCollisionBox( + t, + m, + f, + l, + v.predicate, + ); + return ( + n && + n.box && + n.box.length && + (i.markUsedOrientation(o, r, e), + (i.placedOrientations[ + e.crossTileID + ] = r)), + n + ); + }; + B( + function () { + return q(R, t.WritingMode.horizontal); + }, + function () { + var r = a.verticalTextBox; + return o.allowVerticalPlacement && + e.numVerticalGlyphVertices > 0 && + r + ? q(r, t.WritingMode.vertical) + : { box: null, offscreen: null }; + }, + ), + F(L && L.box && L.box.length); + } + } + if ( + ((T = (p = L) && p.box && p.box.length > 0), + (S = p && p.offscreen), + e.useRuntimeCollisionCircles) + ) { + var G = o.text.placedSymbolArray.get( + e.centerJustifiedTextSymbolIndex, + ), + Z = t.evaluateSizeForFeature( + o.textSizeData, + d, + G, + ), + Y = s.get("text-padding"), + W = e.collisionCircleDiameter; + (P = i.collisionIndex.placeCollisionCircles( + m, + G, + o.lineVertexArray, + o.glyphOffsetArray, + Z, + l, + u, + c, + n, + _, + v.predicate, + W, + Y, + )), + (T = + m || + (P.circles.length > 0 && + !P.collisionDetected)), + (S = S && P.offscreen); + } + if ( + (a.iconFeatureIndex && + (z = a.iconFeatureIndex), + a.iconBox) + ) { + var X = function (t) { + var e = + w && E + ? ke( + t, + E.x, + E.y, + b, + _, + i.transform.angle, + ) + : t; + return i.collisionIndex.placeCollisionBox( + e, + x, + f, + l, + v.predicate, + ); + }; + (M = + C && + C.box && + C.box.length && + a.verticalIconBox + ? (O = X(a.verticalIconBox)).box + .length > 0 + : (O = X(a.iconBox)).box.length > 0), + (S = S && O.offscreen); + } + var J = + g || + (0 === e.numHorizontalGlyphVertices && + 0 === e.numVerticalGlyphVertices), + K = y || 0 === e.numIconVertices; + if ( + (J || K + ? K + ? J || (M = M && T) + : (T = M && T) + : (M = T = M && T), + T && + p && + p.box && + (C && C.box && D + ? i.collisionIndex.insertCollisionBox( + p.box, + s.get("text-ignore-placement"), + o.bucketInstanceId, + D, + v.ID, + ) + : i.collisionIndex.insertCollisionBox( + p.box, + s.get("text-ignore-placement"), + o.bucketInstanceId, + I, + v.ID, + )), + M && + O && + i.collisionIndex.insertCollisionBox( + O.box, + s.get("icon-ignore-placement"), + o.bucketInstanceId, + z, + v.ID, + ), + P && + (T && + i.collisionIndex.insertCollisionCircles( + P.circles, + s.get("text-ignore-placement"), + o.bucketInstanceId, + I, + v.ID, + ), + n)) + ) { + var $ = o.bucketInstanceId, + Q = i.collisionCircleArrays[$]; + void 0 === Q && + (Q = i.collisionCircleArrays[$] = + new be()); + for ( + var tt = 0; + tt < P.circles.length; + tt += 4 + ) + Q.circles.push(P.circles[tt + 0]), + Q.circles.push(P.circles[tt + 1]), + Q.circles.push(P.circles[tt + 2]), + Q.circles.push( + P.collisionDetected ? 1 : 0, + ); + } + (i.placements[e.crossTileID] = new xe( + T || k, + M || A, + S || o.justReloaded, + )), + (r[e.crossTileID] = !0); + } + }; + if (T) + for ( + var S = o.getSortedSymbolIndexes( + this.transform.angle, + ), + E = S.length - 1; + E >= 0; + --E + ) { + var L = S[E]; + M( + o.symbolInstances.get(L), + o.collisionArrays[L], + ); + } + else + for ( + var C = e.symbolInstanceStart; + C < e.symbolInstanceEnd; + C++ + ) + M( + o.symbolInstances.get(C), + o.collisionArrays[C], + ); + if ( + n && + o.bucketInstanceId in this.collisionCircleArrays + ) { + var P = + this.collisionCircleArrays[o.bucketInstanceId]; + t.invert(P.invProjMatrix, l), + (P.viewportMatrix = + this.collisionIndex.getViewportMatrix()); + } + o.justReloaded = !1; + }), + (Ae.prototype.markUsedJustification = function ( + e, + r, + n, + i, + ) { + var a, + o = { + left: n.leftJustifiedTextSymbolIndex, + center: n.centerJustifiedTextSymbolIndex, + right: n.rightJustifiedTextSymbolIndex, + }; + a = + i === t.WritingMode.vertical + ? n.verticalPlacedTextSymbolIndex + : o[t.getAnchorJustification(r)]; + for ( + var s = 0, + l = [ + n.leftJustifiedTextSymbolIndex, + n.centerJustifiedTextSymbolIndex, + n.rightJustifiedTextSymbolIndex, + n.verticalPlacedTextSymbolIndex, + ]; + s < l.length; + s += 1 + ) { + var u = l[s]; + u >= 0 && + (e.text.placedSymbolArray.get(u).crossTileID = + a >= 0 && u !== a ? 0 : n.crossTileID); + } + }), + (Ae.prototype.markUsedOrientation = function ( + e, + r, + n, + ) { + for ( + var i = + r === t.WritingMode.horizontal || + r === t.WritingMode.horizontalOnly + ? r + : 0, + a = r === t.WritingMode.vertical ? r : 0, + o = 0, + s = [ + n.leftJustifiedTextSymbolIndex, + n.centerJustifiedTextSymbolIndex, + n.rightJustifiedTextSymbolIndex, + ]; + o < s.length; + o += 1 + ) { + var l = s[o]; + e.text.placedSymbolArray.get( + l, + ).placedOrientation = i; + } + n.verticalPlacedTextSymbolIndex && + (e.text.placedSymbolArray.get( + n.verticalPlacedTextSymbolIndex, + ).placedOrientation = a); + }), + (Ae.prototype.commit = function (t) { + (this.commitTime = t), + (this.zoomAtLastRecencyCheck = + this.transform.zoom); + var e = this.prevPlacement, + r = !1; + this.prevZoomAdjustment = e + ? e.zoomAdjustment(this.transform.zoom) + : 0; + var n = e ? e.symbolFadeChange(t) : 1, + i = e ? e.opacities : {}, + a = e ? e.variableOffsets : {}, + o = e ? e.placedOrientations : {}; + for (var s in this.placements) { + var l = this.placements[s], + u = i[s]; + u + ? ((this.opacities[s] = new me( + u, + n, + l.text, + l.icon, + )), + (r = + r || + l.text !== u.text.placed || + l.icon !== u.icon.placed)) + : ((this.opacities[s] = new me( + null, + n, + l.text, + l.icon, + l.skipFade, + )), + (r = r || l.text || l.icon)); + } + for (var c in i) { + var f = i[c]; + if (!this.opacities[c]) { + var h = new me(f, n, !1, !1); + h.isHidden() || + ((this.opacities[c] = h), + (r = r || f.text.placed || f.icon.placed)); + } + } + for (var p in a) + this.variableOffsets[p] || + !this.opacities[p] || + this.opacities[p].isHidden() || + (this.variableOffsets[p] = a[p]); + for (var d in o) + this.placedOrientations[d] || + !this.opacities[d] || + this.opacities[d].isHidden() || + (this.placedOrientations[d] = o[d]); + r + ? (this.lastPlacementChangeTime = t) + : "number" != + typeof this.lastPlacementChangeTime && + (this.lastPlacementChangeTime = e + ? e.lastPlacementChangeTime + : t); + }), + (Ae.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 && + a.latestFeatureIndex && + t.id === o.layerIds[0] && + this.updateBucketOpacities( + o, + r, + a.collisionBoxArray, + ); + } + }), + (Ae.prototype.updateBucketOpacities = function ( + e, + r, + n, + ) { + var i = this; + e.hasTextData() && + e.text.opacityVertexArray.clear(), + e.hasIconData() && + e.icon.opacityVertexArray.clear(), + e.hasIconCollisionBoxData() && + e.iconCollisionBox.collisionVertexArray.clear(), + e.hasTextCollisionBoxData() && + e.textCollisionBox.collisionVertexArray.clear(); + var a = e.layers[0].layout, + o = new me(null, 0, !1, !1, !0), + s = a.get("text-allow-overlap"), + l = a.get("icon-allow-overlap"), + u = a.get("text-variable-anchor"), + c = "map" === a.get("text-rotation-alignment"), + f = "map" === a.get("text-pitch-alignment"), + h = "none" !== a.get("icon-text-fit"), + p = new me( + null, + 0, + s && + (l || + !e.hasIconData() || + a.get("icon-optional")), + l && + (s || + !e.hasTextData() || + a.get("text-optional")), + !0, + ); + !e.collisionArrays && + n && + (e.hasIconCollisionBoxData() || + e.hasTextCollisionBoxData()) && + e.deserializeCollisionBoxes(n); + for ( + var d = function (t, e, r) { + for (var n = 0; n < e / 4; n++) + t.opacityVertexArray.emplaceBack(r); + }, + v = function (n) { + var a = e.symbolInstances.get(n), + s = a.numHorizontalGlyphVertices, + l = a.numVerticalGlyphVertices, + v = a.crossTileID, + g = r[v], + y = i.opacities[v]; + g + ? (y = o) + : y || ((y = p), (i.opacities[v] = y)), + (r[v] = !0); + var m = s > 0 || l > 0, + x = a.numIconVertices > 0, + b = i.placedOrientations[a.crossTileID], + _ = b === t.WritingMode.vertical, + w = + b === t.WritingMode.horizontal || + b === t.WritingMode.horizontalOnly; + if (m) { + var T = De(y.text), + k = _ ? ze : T; + d(e.text, s, k); + var A = w ? ze : T; + d(e.text, l, A); + var M = y.text.isHidden(); + [ + a.rightJustifiedTextSymbolIndex, + a.centerJustifiedTextSymbolIndex, + a.leftJustifiedTextSymbolIndex, + ].forEach(function (t) { + t >= 0 && + (e.text.placedSymbolArray.get( + t, + ).hidden = M || _ ? 1 : 0); + }), + a.verticalPlacedTextSymbolIndex >= 0 && + (e.text.placedSymbolArray.get( + a.verticalPlacedTextSymbolIndex, + ).hidden = M || w ? 1 : 0); + var S = i.variableOffsets[a.crossTileID]; + S && + i.markUsedJustification( + e, + S.anchor, + a, + b, + ); + var E = i.placedOrientations[a.crossTileID]; + E && + (i.markUsedJustification(e, "left", a, E), + i.markUsedOrientation(e, E, a)); + } + if (x) { + var L = De(y.icon), + C = !( + h && + a.verticalPlacedIconSymbolIndex && + _ + ); + if (a.placedIconSymbolIndex >= 0) { + var P = C ? L : ze; + d(e.icon, a.numIconVertices, P), + (e.icon.placedSymbolArray.get( + a.placedIconSymbolIndex, + ).hidden = y.icon.isHidden()); + } + if (a.verticalPlacedIconSymbolIndex >= 0) { + var O = C ? ze : L; + d(e.icon, a.numVerticalIconVertices, O), + (e.icon.placedSymbolArray.get( + a.verticalPlacedIconSymbolIndex, + ).hidden = y.icon.isHidden()); + } + } + if ( + e.hasIconCollisionBoxData() || + e.hasTextCollisionBoxData() + ) { + var I = e.collisionArrays[n]; + if (I) { + var D = new t.Point(0, 0); + if (I.textBox || I.verticalTextBox) { + var z = !0; + if (u) { + var R = i.variableOffsets[v]; + R + ? ((D = Te( + R.anchor, + R.width, + R.height, + R.textOffset, + R.textBoxScale, + )), + c && + D._rotate( + f + ? i.transform.angle + : -i.transform.angle, + )) + : (z = !1); + } + I.textBox && + Me( + e.textCollisionBox + .collisionVertexArray, + y.text.placed, + !z || _, + D.x, + D.y, + ), + I.verticalTextBox && + Me( + e.textCollisionBox + .collisionVertexArray, + y.text.placed, + !z || w, + D.x, + D.y, + ); + } + var F = Boolean(!w && I.verticalIconBox); + I.iconBox && + Me( + e.iconCollisionBox + .collisionVertexArray, + y.icon.placed, + F, + h ? D.x : 0, + h ? D.y : 0, + ), + I.verticalIconBox && + Me( + e.iconCollisionBox + .collisionVertexArray, + y.icon.placed, + !F, + h ? D.x : 0, + h ? D.y : 0, + ); + } + } + }, + g = 0; + g < e.symbolInstances.length; + g++ + ) + v(g); + if ( + (e.sortFeatures(this.transform.angle), + this.retainedQueryData[e.bucketInstanceId] && + (this.retainedQueryData[ + e.bucketInstanceId + ].featureSortOrder = e.featureSortOrder), + e.hasTextData() && + e.text.opacityVertexBuffer && + e.text.opacityVertexBuffer.updateData( + e.text.opacityVertexArray, + ), + e.hasIconData() && + e.icon.opacityVertexBuffer && + e.icon.opacityVertexBuffer.updateData( + e.icon.opacityVertexArray, + ), + e.hasIconCollisionBoxData() && + e.iconCollisionBox.collisionVertexBuffer && + e.iconCollisionBox.collisionVertexBuffer.updateData( + e.iconCollisionBox.collisionVertexArray, + ), + e.hasTextCollisionBoxData() && + e.textCollisionBox.collisionVertexBuffer && + e.textCollisionBox.collisionVertexBuffer.updateData( + e.textCollisionBox.collisionVertexArray, + ), + e.bucketInstanceId in this.collisionCircleArrays) + ) { + var y = + this.collisionCircleArrays[e.bucketInstanceId]; + (e.placementInvProjMatrix = y.invProjMatrix), + (e.placementViewportMatrix = y.viewportMatrix), + (e.collisionCircleArray = y.circles), + delete this.collisionCircleArrays[ + e.bucketInstanceId + ]; + } + }), + (Ae.prototype.symbolFadeChange = function (t) { + return 0 === this.fadeDuration + ? 1 + : (t - this.commitTime) / this.fadeDuration + + this.prevZoomAdjustment; + }), + (Ae.prototype.zoomAdjustment = function (t) { + return Math.max(0, (this.transform.zoom - t) / 1.5); + }), + (Ae.prototype.hasTransitions = function (t) { + return ( + this.stale || + t - this.lastPlacementChangeTime < + this.fadeDuration + ); + }), + (Ae.prototype.stillRecent = function (t, e) { + var r = + this.zoomAtLastRecencyCheck === e + ? 1 - this.zoomAdjustment(e) + : 1; + return ( + (this.zoomAtLastRecencyCheck = e), + this.commitTime + this.fadeDuration * r > t + ); + }), + (Ae.prototype.setStale = function () { + this.stale = !0; + }); + var Se = Math.pow(2, 25), + Ee = Math.pow(2, 24), + Le = Math.pow(2, 17), + Ce = Math.pow(2, 16), + Pe = Math.pow(2, 9), + Oe = Math.pow(2, 8), + Ie = Math.pow(2, 1); + function De(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 * Se + + e * Ee + + r * Le + + e * Ce + + r * Pe + + e * Oe + + r * Ie + + e + ); + } + var ze = 0, + Re = function (t) { + (this._sortAcrossTiles = + "viewport-y" !== t.layout.get("symbol-z-order") && + void 0 !== + t.layout.get("symbol-sort-key").constantOr(1)), + (this._currentTileIndex = 0), + (this._currentPartIndex = 0), + (this._seenCrossTileIDs = {}), + (this._bucketParts = []); + }; + Re.prototype.continuePlacement = function ( + t, + e, + r, + n, + i, + ) { + for ( + var a = this._bucketParts; + this._currentTileIndex < t.length; + + ) { + var o = t[this._currentTileIndex]; + if ( + (e.getBucketParts(a, n, o, this._sortAcrossTiles), + this._currentTileIndex++, + i()) + ) + return !0; + } + for ( + this._sortAcrossTiles && + ((this._sortAcrossTiles = !1), + a.sort(function (t, e) { + return t.sortKey - e.sortKey; + })); + this._currentPartIndex < a.length; + + ) { + var s = a[this._currentPartIndex]; + if ( + (e.placeLayerBucketPart( + s, + this._seenCrossTileIDs, + r, + ), + this._currentPartIndex++, + i()) + ) + return !0; + } + return !1; + }; + var Fe = function (t, e, r, n, i, a, o) { + (this.placement = new Ae(t, i, a, o)), + (this._currentPlacementIndex = e.length - 1), + (this._forceFullPlacement = r), + (this._showCollisionBoxes = n), + (this._done = !1); + }; + (Fe.prototype.isDone = function () { + return this._done; + }), + (Fe.prototype.continuePlacement = function (e, r, n) { + for ( + var i = this, + a = t.browser.now(), + o = function () { + var e = t.browser.now() - a; + return !i._forceFullPlacement && e > 2; + }; + this._currentPlacementIndex >= 0; + + ) { + var s = r[e[this._currentPlacementIndex]], + l = + this.placement.collisionIndex.transform.zoom; + if ( + "symbol" === s.type && + (!s.minzoom || s.minzoom <= l) && + (!s.maxzoom || s.maxzoom > l) + ) { + if ( + (this._inProgressLayer || + (this._inProgressLayer = new Re(s)), + this._inProgressLayer.continuePlacement( + n[s.source], + this.placement, + this._showCollisionBoxes, + s, + o, + )) + ) + return; + delete this._inProgressLayer; + } + this._currentPlacementIndex--; + } + this._done = !0; + }), + (Fe.prototype.commit = function (t) { + return this.placement.commit(t), this.placement; + }); + var Be = 512 / t.EXTENT / 2, + Ne = function (t, e, r) { + (this.tileID = t), + (this.indexedSymbolInstances = {}), + (this.bucketInstanceId = r); + for (var n = 0; n < e.length; n++) { + var i = e.get(n), + a = i.key; + this.indexedSymbolInstances[a] || + (this.indexedSymbolInstances[a] = []), + this.indexedSymbolInstances[a].push({ + crossTileID: i.crossTileID, + coord: this.getScaledCoordinates(i, t), + }); + } + }; + (Ne.prototype.getScaledCoordinates = function (e, r) { + var n = r.canonical.z - this.tileID.canonical.z, + i = Be / Math.pow(2, n); + return { + x: Math.floor( + (r.canonical.x * t.EXTENT + e.anchorX) * i, + ), + y: Math.floor( + (r.canonical.y * t.EXTENT + e.anchorY) * i, + ), + }; + }), + (Ne.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; + i < t.length; + i++ + ) { + var a = t.get(i); + if (!a.crossTileID) { + var o = this.indexedSymbolInstances[a.key]; + if (o) + for ( + var s = this.getScaledCoordinates(a, e), + l = 0, + u = o; + l < u.length; + l += 1 + ) { + var c = u[l]; + if ( + Math.abs(c.coord.x - s.x) <= n && + Math.abs(c.coord.y - s.y) <= n && + !r[c.crossTileID] + ) { + (r[c.crossTileID] = !0), + (a.crossTileID = c.crossTileID); + break; + } + } + } + } + }); + var je = function () { + this.maxCrossTileID = 0; + }; + je.prototype.generate = function () { + return ++this.maxCrossTileID; + }; + var Ue = function () { + (this.indexes = {}), + (this.usedCrossTileIDs = {}), + (this.lng = 0); + }; + (Ue.prototype.handleWrapJump = function (t) { + var e = Math.round((t - this.lng) / 360); + if (0 !== e) + for (var r in this.indexes) { + var n = this.indexes[r], + i = {}; + for (var a in n) { + var o = n[a]; + (o.tileID = o.tileID.unwrapTo( + o.tileID.wrap + e, + )), + (i[o.tileID.key] = o); + } + this.indexes[r] = i; + } + this.lng = t; + }), + (Ue.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; n < e.symbolInstances.length; n++) + e.symbolInstances.get(n).crossTileID = 0; + this.usedCrossTileIDs[t.overscaledZ] || + (this.usedCrossTileIDs[t.overscaledZ] = {}); + var i = this.usedCrossTileIDs[t.overscaledZ]; + for (var a in this.indexes) { + var o = this.indexes[a]; + if (Number(a) > t.overscaledZ) + for (var s in o) { + var l = o[s]; + l.tileID.isChildOf(t) && + l.findMatches(e.symbolInstances, t, i); + } + else { + var u = o[t.scaledTo(Number(a)).key]; + u && u.findMatches(e.symbolInstances, t, i); + } + } + for (var c = 0; c < e.symbolInstances.length; c++) { + var f = e.symbolInstances.get(c); + f.crossTileID || + ((f.crossTileID = r.generate()), + (i[f.crossTileID] = !0)); + } + return ( + void 0 === this.indexes[t.overscaledZ] && + (this.indexes[t.overscaledZ] = {}), + (this.indexes[t.overscaledZ][t.key] = new Ne( + t, + e.symbolInstances, + e.bucketInstanceId, + )), + !0 + ); + }), + (Ue.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]; + } + }), + (Ue.prototype.removeStaleBuckets = function (t) { + var e = !1; + for (var r in this.indexes) { + var n = this.indexes[r]; + for (var i in n) + t[n[i].bucketInstanceId] || + (this.removeBucketCrossTileIDs(r, n[i]), + delete n[i], + (e = !0)); + } + return e; + }); + var Ve = function () { + (this.layerIndexes = {}), + (this.crossTileIDs = new je()), + (this.maxBucketInstanceId = 0), + (this.bucketsInCurrentPlacement = {}); + }; + (Ve.prototype.addLayer = function (t, e, r) { + var n = this.layerIndexes[t.id]; + void 0 === n && + (n = this.layerIndexes[t.id] = new Ue()); + var i = !1, + a = {}; + n.handleWrapJump(r); + for (var o = 0, s = e; o < s.length; o += 1) { + var l = s[o], + u = l.getBucket(t); + u && + t.id === u.layerIds[0] && + (u.bucketInstanceId || + (u.bucketInstanceId = ++this + .maxBucketInstanceId), + n.addBucket(l.tileID, u, this.crossTileIDs) && + (i = !0), + (a[u.bucketInstanceId] = !0)); + } + return n.removeStaleBuckets(a) && (i = !0), i; + }), + (Ve.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]; + }); + var He = function (e, r) { + return t.emitValidationErrors( + e, + r && + r.filter(function (t) { + return "source.canvas" !== t.identifier; + }), + ); + }, + qe = t.pick(Ht, [ + "addLayer", + "removeLayer", + "setPaintProperty", + "setLayoutProperty", + "setFilter", + "addSource", + "removeSource", + "setLayerZoomRange", + "setLight", + "setTransition", + "setGeoJSONSourceData", + ]), + Ge = t.pick(Ht, [ + "setCenter", + "setZoom", + "setBearing", + "setPitch", + ]), + Ze = (function () { + var e = {}, + r = t.styleSpec.$version; + for (var n in t.styleSpec.$root) { + var i = t.styleSpec.$root[n]; + if (i.required) { + var a; + null != + (a = + "version" === n + ? r + : "array" === i.type + ? [] + : {}) && (e[n] = a); + } + } + return e; + })(), + Ye = (function (e) { + function r(n, i) { + var a = this; + void 0 === i && (i = {}), + e.call(this), + (this.map = n), + (this.dispatcher = new A(jt(), this)), + (this.imageManager = new h()), + this.imageManager.setEventedParent(this), + (this.glyphManager = new x( + n._requestManager, + i.localIdeographFontFamily, + )), + (this.lineAtlas = new k(256, 512)), + (this.crossTileSymbolIndex = new Ve()), + (this._layers = {}), + (this._serializedLayers = {}), + (this._order = []), + (this.sourceCaches = {}), + (this.zoomHistory = new t.ZoomHistory()), + (this._loaded = !1), + (this._availableImages = []), + this._resetUpdates(), + this.dispatcher.broadcast( + "setReferrer", + t.getReferrer(), + ); + var o = this; + (this._rtlTextPluginCallback = + r.registerForPluginStateChange(function (e) { + var r = { + pluginStatus: e.pluginStatus, + pluginURL: e.pluginURL, + }; + o.dispatcher.broadcast( + "syncRTLPluginState", + r, + function (e, r) { + if ( + (t.triggerPluginCompletionEvent(e), + r && + r.every(function (t) { + return t; + })) + ) + for (var n in o.sourceCaches) + o.sourceCaches[n].reload(); + }, + ); + })), + this.on("data", function (t) { + if ( + "source" === t.dataType && + "metadata" === t.sourceDataType + ) { + var e = a.sourceCaches[t.sourceId]; + if (e) { + var r = e.getSource(); + if (r && r.vectorLayerIds) + for (var n in a._layers) { + var i = a._layers[n]; + i.source === r.id && + a._validateLayer(i); + } + } + } + }); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create(e && e.prototype)), + (r.prototype.constructor = r), + (r.prototype.loadURL = function (e, r) { + var n = this; + void 0 === r && (r = {}), + this.fire( + new t.Event("dataloading", { + dataType: "style", + }), + ); + var i = + "boolean" == typeof r.validate + ? r.validate + : !t.isMapboxURL(e); + e = this.map._requestManager.normalizeStyleURL( + e, + r.accessToken, + ); + var a = + this.map._requestManager.transformRequest( + e, + t.ResourceType.Style, + ); + this._request = t.getJSON(a, function (e, r) { + (n._request = null), + e + ? n.fire(new t.ErrorEvent(e)) + : r && n._load(r, i); + }); + }), + (r.prototype.loadJSON = function (e, r) { + var n = this; + void 0 === r && (r = {}), + this.fire( + new t.Event("dataloading", { + dataType: "style", + }), + ), + (this._request = t.browser.frame(function () { + (n._request = null), + n._load(e, !1 !== r.validate); + })); + }), + (r.prototype.loadEmpty = function () { + this.fire( + new t.Event("dataloading", { + dataType: "style", + }), + ), + this._load(Ze, !1); + }), + (r.prototype._load = function (e, r) { + if (!r || !He(this, t.validateStyle(e))) { + for (var n in ((this._loaded = !0), + (this.stylesheet = e), + e.sources)) + this.addSource(n, e.sources[n], { + validate: !1, + }); + e.sprite + ? this._loadSprite(e.sprite) + : this.imageManager.setLoaded(!0), + this.glyphManager.setURL(e.glyphs); + var i = Vt(this.stylesheet.layers); + (this._order = i.map(function (t) { + return t.id; + })), + (this._layers = {}), + (this._serializedLayers = {}); + for (var a = 0, o = i; a < o.length; a += 1) { + var s = o[a]; + (s = + t.createStyleLayer(s)).setEventedParent( + this, + { layer: { id: s.id } }, + ), + (this._layers[s.id] = s), + (this._serializedLayers[s.id] = + s.serialize()); + } + this.dispatcher.broadcast( + "setLayers", + this._serializeLayers(this._order), + ), + (this.light = new T(this.stylesheet.light)), + this.fire( + new t.Event("data", { + dataType: "style", + }), + ), + this.fire(new t.Event("style.load")); + } + }), + (r.prototype._loadSprite = function (e) { + var r = this; + this._spriteRequest = (function (e, r, n) { + var i, + a, + o, + s = + t.browser.devicePixelRatio > 1 + ? "@2x" + : "", + l = t.getJSON( + r.transformRequest( + r.normalizeSpriteURL(e, s, ".json"), + t.ResourceType.SpriteJSON, + ), + function (t, e) { + (l = null), + o || ((o = t), (i = e), c()); + }, + ), + u = t.getImage( + r.transformRequest( + r.normalizeSpriteURL(e, s, ".png"), + t.ResourceType.SpriteImage, + ), + function (t, e) { + (u = null), + o || ((o = t), (a = e), c()); + }, + ); + function c() { + if (o) n(o); + else if (i && a) { + var e = t.browser.getImageData(a), + r = {}; + for (var s in i) { + var l = i[s], + u = l.width, + c = l.height, + f = l.x, + h = l.y, + p = l.sdf, + d = l.pixelRatio, + v = l.stretchX, + g = l.stretchY, + y = l.content, + m = new t.RGBAImage({ + width: u, + height: c, + }); + t.RGBAImage.copy( + e, + m, + { x: f, y: h }, + { x: 0, y: 0 }, + { width: u, height: c }, + ), + (r[s] = { + data: m, + pixelRatio: d, + sdf: p, + stretchX: v, + stretchY: g, + content: y, + }); + } + n(null, r); + } + } + return { + cancel: function () { + l && (l.cancel(), (l = null)), + u && (u.cancel(), (u = null)); + }, + }; + })( + e, + this.map._requestManager, + function (e, n) { + if (((r._spriteRequest = null), e)) + r.fire(new t.ErrorEvent(e)); + else if (n) + for (var i in n) + r.imageManager.addImage(i, n[i]); + r.imageManager.setLoaded(!0), + (r._availableImages = + r.imageManager.listImages()), + r.dispatcher.broadcast( + "setImages", + r._availableImages, + ), + r.fire( + new t.Event("data", { + dataType: "style", + }), + ); + }, + ); + }), + (r.prototype._validateLayer = function (e) { + var r = this.sourceCaches[e.source]; + if (r) { + var n = e.sourceLayer; + if (n) { + var i = r.getSource(); + ("geojson" === i.type || + (i.vectorLayerIds && + -1 === i.vectorLayerIds.indexOf(n))) && + this.fire( + new t.ErrorEvent( + new Error( + 'Source layer "' + + n + + '" does not exist on source "' + + i.id + + '" as specified by style layer "' + + e.id + + '"', + ), + ), + ); + } + } + }), + (r.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(); + }), + (r.prototype._serializeLayers = function (t) { + for ( + var e = [], r = 0, n = t; + r < n.length; + r += 1 + ) { + var i = n[r], + a = this._layers[i]; + "custom" !== a.type && e.push(a.serialize()); + } + return e; + }), + (r.prototype.hasTransitions = function () { + if (this.light && this.light.hasTransition()) + return !0; + for (var t in this.sourceCaches) + if (this.sourceCaches[t].hasTransition()) + return !0; + for (var e in this._layers) + if (this._layers[e].hasTransition()) + return !0; + return !1; + }), + (r.prototype._checkLoaded = function () { + if (!this._loaded) + throw new Error("Style is not done loading"); + }), + (r.prototype.update = function (e) { + if (this._loaded) { + var r = this._changed; + if (this._changed) { + var n = Object.keys(this._updatedLayers), + i = Object.keys(this._removedLayers); + for (var a in ((n.length || i.length) && + this._updateWorkerLayers(n, i), + this._updatedSources)) { + var o = this._updatedSources[a]; + "reload" === o + ? this._reloadSource(a) + : "clear" === o && this._clearSource(a); + } + for (var s in (this._updateTilesForChangedImages(), + this._updatedPaintProps)) + this._layers[s].updateTransitions(e); + this.light.updateTransitions(e), + this._resetUpdates(); + } + for (var l in this.sourceCaches) + this.sourceCaches[l].used = !1; + for ( + var u = 0, c = this._order; + u < c.length; + u += 1 + ) { + var f = c[u], + h = this._layers[f]; + h.recalculate(e, this._availableImages), + !h.isHidden(e.zoom) && + h.source && + (this.sourceCaches[h.source].used = !0); + } + this.light.recalculate(e), + (this.z = e.zoom), + r && + this.fire( + new t.Event("data", { + dataType: "style", + }), + ); + } + }), + (r.prototype._updateTilesForChangedImages = + function () { + var t = Object.keys(this._changedImages); + if (t.length) { + for (var e in this.sourceCaches) + this.sourceCaches[ + e + ].reloadTilesForDependencies( + ["icons", "patterns"], + t, + ); + this._changedImages = {}; + } + }), + (r.prototype._updateWorkerLayers = function ( + t, + e, + ) { + this.dispatcher.broadcast("updateLayers", { + layers: this._serializeLayers(t), + removedIds: e, + }); + }), + (r.prototype._resetUpdates = function () { + (this._changed = !1), + (this._updatedLayers = {}), + (this._removedLayers = {}), + (this._updatedSources = {}), + (this._updatedPaintProps = {}), + (this._changedImages = {}); + }), + (r.prototype.setState = function (e) { + var r = this; + if ( + (this._checkLoaded(), + He(this, t.validateStyle(e))) + ) + return !1; + (e = t.clone$1(e)).layers = Vt(e.layers); + var n = Kt(this.serialize(), e).filter( + function (t) { + return !(t.command in Ge); + }, + ); + if (0 === n.length) return !1; + var i = n.filter(function (t) { + return !(t.command in qe); + }); + if (i.length > 0) + throw new Error( + "Unimplemented: " + + i + .map(function (t) { + return t.command; + }) + .join(", ") + + ".", + ); + return ( + n.forEach(function (t) { + "setTransition" !== t.command && + r[t.command].apply(r, t.args); + }), + (this.stylesheet = e), + !0 + ); + }), + (r.prototype.addImage = function (e, r) { + if (this.getImage(e)) + return this.fire( + new t.ErrorEvent( + new Error( + "An image with this name already exists.", + ), + ), + ); + this.imageManager.addImage(e, r), + (this._availableImages = + this.imageManager.listImages()), + (this._changedImages[e] = !0), + (this._changed = !0), + this.fire( + new t.Event("data", { dataType: "style" }), + ); + }), + (r.prototype.updateImage = function (t, e) { + this.imageManager.updateImage(t, e); + }), + (r.prototype.getImage = function (t) { + return this.imageManager.getImage(t); + }), + (r.prototype.removeImage = function (e) { + if (!this.getImage(e)) + return this.fire( + new t.ErrorEvent( + new Error( + "No image with this name exists.", + ), + ), + ); + this.imageManager.removeImage(e), + (this._availableImages = + this.imageManager.listImages()), + (this._changedImages[e] = !0), + (this._changed = !0), + this.fire( + new t.Event("data", { dataType: "style" }), + ); + }), + (r.prototype.listImages = function () { + return ( + this._checkLoaded(), + this.imageManager.listImages() + ); + }), + (r.prototype.addSource = function (e, r, n) { + var i = this; + if ( + (void 0 === n && (n = {}), + this._checkLoaded(), + void 0 !== this.sourceCaches[e]) + ) + throw new Error( + "There is already a source with this ID", + ); + if (!r.type) + throw new Error( + "The type property must be defined, but the only the following properties were given: " + + Object.keys(r).join(", ") + + ".", + ); + if ( + !( + [ + "vector", + "raster", + "geojson", + "video", + "image", + ].indexOf(r.type) >= 0 && + this._validate( + t.validateStyle.source, + "sources." + e, + r, + null, + n, + ) + ) + ) { + this.map && + this.map._collectResourceTiming && + (r.collectResourceTiming = !0); + var a = (this.sourceCaches[e] = new Ot( + e, + r, + this.dispatcher, + )); + (a.style = this), + a.setEventedParent(this, function () { + return { + isSourceLoaded: i.loaded(), + source: a.serialize(), + sourceId: e, + }; + }), + a.onAdd(this.map), + (this._changed = !0); + } + }), + (r.prototype.removeSource = function (e) { + if ( + (this._checkLoaded(), + void 0 === this.sourceCaches[e]) + ) + throw new Error( + "There is no source with this ID", + ); + for (var r in this._layers) + if (this._layers[r].source === e) + return this.fire( + new t.ErrorEvent( + new Error( + 'Source "' + + e + + '" cannot be removed while layer "' + + r + + '" is using it.', + ), + ), + ); + var n = this.sourceCaches[e]; + delete this.sourceCaches[e], + delete this._updatedSources[e], + n.fire( + new t.Event("data", { + sourceDataType: "metadata", + dataType: "source", + sourceId: e, + }), + ), + n.setEventedParent(null), + n.clearTiles(), + n.onRemove && n.onRemove(this.map), + (this._changed = !0); + }), + (r.prototype.setGeoJSONSourceData = function ( + t, + e, + ) { + this._checkLoaded(), + this.sourceCaches[t].getSource().setData(e), + (this._changed = !0); + }), + (r.prototype.getSource = function (t) { + return ( + this.sourceCaches[t] && + this.sourceCaches[t].getSource() + ); + }), + (r.prototype.addLayer = function (e, r, n) { + void 0 === n && (n = {}), this._checkLoaded(); + var i = e.id; + if (this.getLayer(i)) + this.fire( + new t.ErrorEvent( + new Error( + 'Layer with id "' + + i + + '" already exists on this map', + ), + ), + ); + else { + var a; + if ("custom" === e.type) { + if (He(this, t.validateCustomStyleLayer(e))) + return; + a = t.createStyleLayer(e); + } else { + if ( + ("object" == typeof e.source && + (this.addSource(i, e.source), + (e = t.clone$1(e)), + (e = t.extend(e, { source: i }))), + this._validate( + t.validateStyle.layer, + "layers." + i, + e, + { arrayIndex: -1 }, + n, + )) + ) + return; + (a = t.createStyleLayer(e)), + this._validateLayer(a), + a.setEventedParent(this, { + layer: { id: i }, + }), + (this._serializedLayers[a.id] = + a.serialize()); + } + var o = r + ? this._order.indexOf(r) + : this._order.length; + if (r && -1 === o) + this.fire( + new t.ErrorEvent( + new Error( + 'Layer with id "' + + r + + '" does not exist on this map.', + ), + ), + ); + else { + if ( + (this._order.splice(o, 0, i), + (this._layerOrderChanged = !0), + (this._layers[i] = a), + this._removedLayers[i] && + a.source && + "custom" !== a.type) + ) { + var s = this._removedLayers[i]; + delete this._removedLayers[i], + s.type !== a.type + ? (this._updatedSources[a.source] = + "clear") + : ((this._updatedSources[a.source] = + "reload"), + this.sourceCaches[ + a.source + ].pause()); + } + this._updateLayer(a), + a.onAdd && a.onAdd(this.map); + } + } + }), + (r.prototype.moveLayer = function (e, r) { + if ( + (this._checkLoaded(), + (this._changed = !0), + this._layers[e]) + ) { + if (e !== r) { + var n = this._order.indexOf(e); + this._order.splice(n, 1); + var i = r + ? this._order.indexOf(r) + : this._order.length; + r && -1 === i + ? this.fire( + new t.ErrorEvent( + new Error( + 'Layer with id "' + + r + + '" does not exist on this map.', + ), + ), + ) + : (this._order.splice(i, 0, e), + (this._layerOrderChanged = !0)); + } + } else + this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style and cannot be moved.", + ), + ), + ); + }), + (r.prototype.removeLayer = function (e) { + this._checkLoaded(); + var r = this._layers[e]; + if (r) { + r.setEventedParent(null); + var n = this._order.indexOf(e); + this._order.splice(n, 1), + (this._layerOrderChanged = !0), + (this._changed = !0), + (this._removedLayers[e] = r), + delete this._layers[e], + delete this._serializedLayers[e], + delete this._updatedLayers[e], + delete this._updatedPaintProps[e], + r.onRemove && r.onRemove(this.map); + } else + this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style and cannot be removed.", + ), + ), + ); + }), + (r.prototype.getLayer = function (t) { + return this._layers[t]; + }), + (r.prototype.hasLayer = function (t) { + return t in this._layers; + }), + (r.prototype.setLayerZoomRange = function ( + e, + r, + n, + ) { + this._checkLoaded(); + var i = this.getLayer(e); + i + ? (i.minzoom === r && i.maxzoom === n) || + (null != r && (i.minzoom = r), + null != n && (i.maxzoom = n), + this._updateLayer(i)) + : this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style and cannot have zoom extent.", + ), + ), + ); + }), + (r.prototype.setFilter = function (e, r, n) { + void 0 === n && (n = {}), this._checkLoaded(); + var i = this.getLayer(e); + if (i) { + if (!t.deepEqual(i.filter, r)) + return null == r + ? ((i.filter = void 0), + void this._updateLayer(i)) + : void ( + this._validate( + t.validateStyle.filter, + "layers." + i.id + ".filter", + r, + null, + n, + ) || + ((i.filter = t.clone$1(r)), + this._updateLayer(i)) + ); + } else + this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style and cannot be filtered.", + ), + ), + ); + }), + (r.prototype.getFilter = function (e) { + return t.clone$1(this.getLayer(e).filter); + }), + (r.prototype.setLayoutProperty = function ( + e, + r, + n, + i, + ) { + void 0 === i && (i = {}), this._checkLoaded(); + var a = this.getLayer(e); + a + ? t.deepEqual(a.getLayoutProperty(r), n) || + (a.setLayoutProperty(r, n, i), + this._updateLayer(a)) + : this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style and cannot be styled.", + ), + ), + ); + }), + (r.prototype.getLayoutProperty = function (e, r) { + var n = this.getLayer(e); + if (n) return n.getLayoutProperty(r); + this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style.", + ), + ), + ); + }), + (r.prototype.setPaintProperty = function ( + e, + r, + n, + i, + ) { + void 0 === i && (i = {}), this._checkLoaded(); + var a = this.getLayer(e); + a + ? t.deepEqual(a.getPaintProperty(r), n) || + (a.setPaintProperty(r, n, i) && + this._updateLayer(a), + (this._changed = !0), + (this._updatedPaintProps[e] = !0)) + : this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style and cannot be styled.", + ), + ), + ); + }), + (r.prototype.getPaintProperty = function (t, e) { + return this.getLayer(t).getPaintProperty(e); + }), + (r.prototype.setFeatureState = function (e, r) { + this._checkLoaded(); + var n = e.source, + i = e.sourceLayer, + a = this.sourceCaches[n]; + if (void 0 !== a) { + var o = a.getSource().type; + "geojson" === o && i + ? this.fire( + new t.ErrorEvent( + new Error( + "GeoJSON sources cannot have a sourceLayer parameter.", + ), + ), + ) + : "vector" !== o || i + ? (void 0 === e.id && + this.fire( + new t.ErrorEvent( + new Error( + "The feature id parameter must be provided.", + ), + ), + ), + a.setFeatureState(i, e.id, r)) + : this.fire( + new t.ErrorEvent( + new Error( + "The sourceLayer parameter must be provided for vector source types.", + ), + ), + ); + } else + this.fire( + new t.ErrorEvent( + new Error( + "The source '" + + n + + "' does not exist in the map's style.", + ), + ), + ); + }), + (r.prototype.removeFeatureState = function ( + e, + r, + ) { + this._checkLoaded(); + var n = e.source, + i = this.sourceCaches[n]; + if (void 0 !== i) { + var a = i.getSource().type, + o = "vector" === a ? e.sourceLayer : void 0; + "vector" !== a || o + ? r && + "string" != typeof e.id && + "number" != typeof e.id + ? this.fire( + new t.ErrorEvent( + new Error( + "A feature id is requred to remove its specific state property.", + ), + ), + ) + : i.removeFeatureState(o, e.id, r) + : this.fire( + new t.ErrorEvent( + new Error( + "The sourceLayer parameter must be provided for vector source types.", + ), + ), + ); + } else + this.fire( + new t.ErrorEvent( + new Error( + "The source '" + + n + + "' does not exist in the map's style.", + ), + ), + ); + }), + (r.prototype.getFeatureState = function (e) { + this._checkLoaded(); + var r = e.source, + n = e.sourceLayer, + i = this.sourceCaches[r]; + if (void 0 !== i) { + if ("vector" !== i.getSource().type || n) + return ( + void 0 === e.id && + this.fire( + new t.ErrorEvent( + new Error( + "The feature id parameter must be provided.", + ), + ), + ), + i.getFeatureState(n, e.id) + ); + this.fire( + new t.ErrorEvent( + new Error( + "The sourceLayer parameter must be provided for vector source types.", + ), + ), + ); + } else + this.fire( + new t.ErrorEvent( + new Error( + "The source '" + + r + + "' does not exist in the map's style.", + ), + ), + ); + }), + (r.prototype.getTransition = function () { + return t.extend( + { duration: 300, delay: 0 }, + this.stylesheet && this.stylesheet.transition, + ); + }), + (r.prototype.serialize = function () { + return t.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: t.mapObject( + this.sourceCaches, + function (t) { + return t.serialize(); + }, + ), + layers: this._serializeLayers(this._order), + }, + function (t) { + return void 0 !== t; + }, + ); + }), + (r.prototype._updateLayer = function (t) { + (this._updatedLayers[t.id] = !0), + t.source && + !this._updatedSources[t.source] && + "raster" !== + this.sourceCaches[t.source].getSource() + .type && + ((this._updatedSources[t.source] = + "reload"), + this.sourceCaches[t.source].pause()), + (this._changed = !0); + }), + (r.prototype._flattenAndSortRenderedFeatures = + function (t) { + for ( + var e = this, + r = function (t) { + return ( + "fill-extrusion" === e._layers[t].type + ); + }, + n = {}, + i = [], + a = this._order.length - 1; + a >= 0; + a-- + ) { + var o = this._order[a]; + if (r(o)) { + n[o] = a; + for ( + var s = 0, l = t; + s < l.length; + s += 1 + ) { + var u = l[s][o]; + if (u) + for ( + var c = 0, f = u; + c < f.length; + c += 1 + ) { + var h = f[c]; + i.push(h); + } + } + } + } + i.sort(function (t, e) { + return e.intersectionZ - t.intersectionZ; + }); + for ( + var p = [], d = this._order.length - 1; + d >= 0; + d-- + ) { + var v = this._order[d]; + if (r(v)) + for (var g = i.length - 1; g >= 0; g--) { + var y = i[g].feature; + if (n[y.layer.id] < d) break; + p.push(y), i.pop(); + } + else + for ( + var m = 0, x = t; + m < x.length; + m += 1 + ) { + var b = x[m][v]; + if (b) + for ( + var _ = 0, w = b; + _ < w.length; + _ += 1 + ) { + var T = w[_]; + p.push(T.feature); + } + } + } + return p; + }), + (r.prototype.queryRenderedFeatures = function ( + e, + r, + n, + ) { + r && + r.filter && + this._validate( + t.validateStyle.filter, + "queryRenderedFeatures.filter", + r.filter, + null, + r, + ); + var i = {}; + if (r && r.layers) { + if (!Array.isArray(r.layers)) + return ( + this.fire( + new t.ErrorEvent( + new Error( + "parameters.layers must be an Array.", + ), + ), + ), + [] + ); + for ( + var a = 0, o = r.layers; + a < o.length; + a += 1 + ) { + var s = o[a], + l = this._layers[s]; + if (!l) + return ( + this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + s + + "' does not exist in the map's style and cannot be queried for features.", + ), + ), + ), + [] + ); + i[l.source] = !0; + } + } + var u = []; + for (var c in ((r.availableImages = + this._availableImages), + this.sourceCaches)) + (r.layers && !i[c]) || + u.push( + B( + this.sourceCaches[c], + this._layers, + this._serializedLayers, + e, + r, + n, + ), + ); + return ( + this.placement && + u.push( + (function (t, e, r, n, i, a, o) { + for ( + var s = {}, + l = a.queryRenderedSymbols(n), + u = [], + c = 0, + f = Object.keys(l).map(Number); + c < f.length; + c += 1 + ) { + var h = f[c]; + u.push(o[h]); + } + u.sort(N); + for ( + var p = function () { + var r = v[d], + n = + r.featureIndex.lookupSymbolFeatures( + l[r.bucketInstanceId], + e, + r.bucketIndex, + r.sourceLayerIndex, + i.filter, + i.layers, + i.availableImages, + t, + ); + for (var a in n) { + var o = (s[a] = s[a] || []), + u = n[a]; + u.sort(function (t, e) { + var n = r.featureSortOrder; + if (n) { + var i = n.indexOf( + t.featureIndex, + ); + return ( + n.indexOf( + e.featureIndex, + ) - i + ); + } + return ( + e.featureIndex - + t.featureIndex + ); + }); + for ( + var c = 0, f = u; + c < f.length; + c += 1 + ) { + var h = f[c]; + o.push(h); + } + } + }, + d = 0, + v = u; + d < v.length; + d += 1 + ) + p(); + var g = function (e) { + s[e].forEach(function (n) { + var i = n.feature, + a = t[e], + o = r[a.source].getFeatureState( + i.layer["source-layer"], + i.id, + ); + (i.source = i.layer.source), + i.layer["source-layer"] && + (i.sourceLayer = + i.layer["source-layer"]), + (i.state = o); + }); + }; + for (var y in s) g(y); + return s; + })( + this._layers, + this._serializedLayers, + this.sourceCaches, + e, + r, + this.placement.collisionIndex, + this.placement.retainedQueryData, + ), + ), + this._flattenAndSortRenderedFeatures(u) + ); + }), + (r.prototype.querySourceFeatures = function ( + e, + r, + ) { + r && + r.filter && + this._validate( + t.validateStyle.filter, + "querySourceFeatures.filter", + r.filter, + null, + r, + ); + var n = this.sourceCaches[e]; + return n + ? (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; + })(n, r) + : []; + }), + (r.prototype.addSourceType = function (t, e, n) { + return r.getSourceType(t) + ? n( + new Error( + 'A source type called "' + + t + + '" already exists.', + ), + ) + : (r.setSourceType(t, e), + e.workerSourceURL + ? void this.dispatcher.broadcast( + "loadWorkerSource", + { name: t, url: e.workerSourceURL }, + n, + ) + : n(null, null)); + }), + (r.prototype.getLight = function () { + return this.light.getLight(); + }), + (r.prototype.setLight = function (e, r) { + void 0 === r && (r = {}), this._checkLoaded(); + var n = this.light.getLight(), + i = !1; + for (var a in e) + if (!t.deepEqual(e[a], n[a])) { + i = !0; + break; + } + if (i) { + var o = { + now: t.browser.now(), + transition: t.extend( + { duration: 300, delay: 0 }, + this.stylesheet.transition, + ), + }; + this.light.setLight(e, r), + this.light.updateTransitions(o); + } + }), + (r.prototype._validate = function ( + e, + r, + n, + i, + a, + ) { + return ( + void 0 === a && (a = {}), + (!a || !1 !== a.validate) && + He( + this, + e.call( + t.validateStyle, + t.extend( + { + key: r, + style: this.serialize(), + value: n, + styleSpec: t.styleSpec, + }, + i, + ), + ), + ) + ); + }), + (r.prototype._remove = function () { + for (var e in (this._request && + (this._request.cancel(), + (this._request = null)), + this._spriteRequest && + (this._spriteRequest.cancel(), + (this._spriteRequest = null)), + t.evented.off( + "pluginStateChange", + this._rtlTextPluginCallback, + ), + this._layers)) + this._layers[e].setEventedParent(null); + for (var r in this.sourceCaches) + this.sourceCaches[r].clearTiles(), + this.sourceCaches[r].setEventedParent(null); + this.imageManager.setEventedParent(null), + this.setEventedParent(null), + this.dispatcher.remove(); + }), + (r.prototype._clearSource = function (t) { + this.sourceCaches[t].clearTiles(); + }), + (r.prototype._reloadSource = function (t) { + this.sourceCaches[t].resume(), + this.sourceCaches[t].reload(); + }), + (r.prototype._updateSources = function (t) { + for (var e in this.sourceCaches) + this.sourceCaches[e].update(t); + }), + (r.prototype._generateCollisionBoxes = + function () { + for (var t in this.sourceCaches) + this._reloadSource(t); + }), + (r.prototype._updatePlacement = function ( + e, + r, + n, + i, + a, + ) { + void 0 === a && (a = !1); + for ( + var o = !1, + s = !1, + l = {}, + u = 0, + c = this._order; + u < c.length; + u += 1 + ) { + var f = c[u], + h = this._layers[f]; + if ("symbol" === h.type) { + if (!l[h.source]) { + var p = this.sourceCaches[h.source]; + l[h.source] = p + .getRenderableIds(!0) + .map(function (t) { + return p.getTileByID(t); + }) + .sort(function (t, e) { + return ( + e.tileID.overscaledZ - + t.tileID.overscaledZ || + (t.tileID.isLessThan(e.tileID) + ? -1 + : 1) + ); + }); + } + var d = this.crossTileSymbolIndex.addLayer( + h, + l[h.source], + e.center.lng, + ); + o = o || d; + } + } + if ( + (this.crossTileSymbolIndex.pruneUnusedLayers( + this._order, + ), + ((a = + a || this._layerOrderChanged || 0 === n) || + !this.pauseablePlacement || + (this.pauseablePlacement.isDone() && + !this.placement.stillRecent( + t.browser.now(), + e.zoom, + ))) && + ((this.pauseablePlacement = new Fe( + e, + this._order, + a, + r, + n, + i, + this.placement, + )), + (this._layerOrderChanged = !1)), + this.pauseablePlacement.isDone() + ? this.placement.setStale() + : (this.pauseablePlacement.continuePlacement( + this._order, + this._layers, + l, + ), + this.pauseablePlacement.isDone() && + ((this.placement = + this.pauseablePlacement.commit( + t.browser.now(), + )), + (s = !0)), + o && + this.pauseablePlacement.placement.setStale()), + s || o) + ) + for ( + var v = 0, g = this._order; + v < g.length; + v += 1 + ) { + var y = g[v], + m = this._layers[y]; + "symbol" === m.type && + this.placement.updateLayerOpacities( + m, + l[m.source], + ); + } + return ( + !this.pauseablePlacement.isDone() || + this.placement.hasTransitions(t.browser.now()) + ); + }), + (r.prototype._releaseSymbolFadeTiles = + function () { + for (var t in this.sourceCaches) + this.sourceCaches[ + t + ].releaseSymbolFadeTiles(); + }), + (r.prototype.getImages = function (t, e, r) { + this.imageManager.getImages(e.icons, r), + this._updateTilesForChangedImages(); + var n = this.sourceCaches[e.source]; + n && + n.setDependencies( + e.tileID.key, + e.type, + e.icons, + ); + }), + (r.prototype.getGlyphs = function (t, e, r) { + this.glyphManager.getGlyphs(e.stacks, r); + }), + (r.prototype.getResource = function (e, r, n) { + return t.makeRequest(r, n); + }), + r + ); + })(t.Evented); + (Ye.getSourceType = function (t) { + return R[t]; + }), + (Ye.setSourceType = function (t, e) { + R[t] = e; + }), + (Ye.registerForPluginStateChange = + t.registerForPluginStateChange); + var We = t.createLayout([ + { name: "a_pos", type: "Int16", components: 2 }, + ]), + Xe = _r( + "#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif", + "#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}", + ), + Je = _r( + "uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}", + ), + Ke = _r( + "uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);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);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);}", + ), + $e = _r( + "varying vec3 v_data;\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\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\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\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\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\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}", + ), + Qe = _r( + "void main() {gl_FragColor=vec4(1.0);}", + "attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}", + ), + tr = _r( + "uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}", + ), + er = _r( + "uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}", + ), + rr = _r( + "varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}", + "attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}", + ), + nr = _r( + "varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}", + "attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}", + ), + ir = _r( + "uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}", + "attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}", + ), + ar = _r( + "#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}", + ), + or = _r( + "varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}", + ), + sr = _r( + "uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}", + ), + lr = _r( + "uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}", + ), + ur = _r( + "varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}", + ), + cr = _r( + "uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}", + ), + fr = _r( + "#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform float u_maxzoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*exaggeration+19.2562-u_zoom);gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}", + ), + hr = _r( + "uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}", + ), + pr = _r( + "uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\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\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\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}", + ), + dr = _r( + "uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "\n#define MAX_LINE_DISTANCE 32767.0\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\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\nvoid main() {\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\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}", + ), + vr = _r( + "uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\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#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\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#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}", + ), + gr = _r( + "uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\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\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\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\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\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\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}", + ), + yr = _r( + "uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}", + ), + mr = _r( + "uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}", + ), + xr = _r( + "#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\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\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\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\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\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\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}", + ), + br = _r( + "#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\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\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\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\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\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\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}", + ); + function _r(t, e) { + var r = + /#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g, + n = {}; + return { + fragmentSource: (t = t.replace( + r, + function (t, e, r, i, a) { + return ( + (n[a] = !0), + "define" === e + ? "\n#ifndef HAS_UNIFORM_u_" + + a + + "\nvarying " + + r + + " " + + i + + " " + + a + + ";\n#else\nuniform " + + r + + " " + + i + + " u_" + + a + + ";\n#endif\n" + : "\n#ifdef HAS_UNIFORM_u_" + + a + + "\n " + + r + + " " + + i + + " " + + a + + " = u_" + + a + + ";\n#endif\n" + ); + }, + )), + vertexSource: (e = e.replace( + r, + function (t, e, r, i, a) { + var o = "float" === i ? "vec2" : "vec4", + s = a.match(/color/) ? "color" : o; + return n[a] + ? "define" === e + ? "\n#ifndef HAS_UNIFORM_u_" + + a + + "\nuniform lowp float u_" + + a + + "_t;\nattribute " + + r + + " " + + o + + " a_" + + a + + ";\nvarying " + + r + + " " + + i + + " " + + a + + ";\n#else\nuniform " + + r + + " " + + i + + " u_" + + a + + ";\n#endif\n" + : "vec4" === s + ? "\n#ifndef HAS_UNIFORM_u_" + + a + + "\n " + + a + + " = a_" + + a + + ";\n#else\n " + + r + + " " + + i + + " " + + a + + " = u_" + + a + + ";\n#endif\n" + : "\n#ifndef HAS_UNIFORM_u_" + + a + + "\n " + + a + + " = unpack_mix_" + + s + + "(a_" + + a + + ", u_" + + a + + "_t);\n#else\n " + + r + + " " + + i + + " " + + a + + " = u_" + + a + + ";\n#endif\n" + : "define" === e + ? "\n#ifndef HAS_UNIFORM_u_" + + a + + "\nuniform lowp float u_" + + a + + "_t;\nattribute " + + r + + " " + + o + + " a_" + + a + + ";\n#else\nuniform " + + r + + " " + + i + + " u_" + + a + + ";\n#endif\n" + : "vec4" === s + ? "\n#ifndef HAS_UNIFORM_u_" + + a + + "\n " + + r + + " " + + i + + " " + + a + + " = a_" + + a + + ";\n#else\n " + + r + + " " + + i + + " " + + a + + " = u_" + + a + + ";\n#endif\n" + : "\n#ifndef HAS_UNIFORM_u_" + + a + + "\n " + + r + + " " + + i + + " " + + a + + " = unpack_mix_" + + s + + "(a_" + + a + + ", u_" + + a + + "_t);\n#else\n " + + r + + " " + + i + + " " + + a + + " = u_" + + a + + ";\n#endif\n"; + }, + )), + }; + } + var wr = Object.freeze({ + __proto__: null, + prelude: Xe, + background: Je, + backgroundPattern: Ke, + circle: $e, + clippingMask: Qe, + heatmap: tr, + heatmapTexture: er, + collisionBox: rr, + collisionCircle: nr, + debug: ir, + fill: ar, + fillOutline: or, + fillOutlinePattern: sr, + fillPattern: lr, + fillExtrusion: ur, + fillExtrusionPattern: cr, + hillshadePrepare: fr, + hillshade: hr, + line: pr, + lineGradient: dr, + linePattern: vr, + lineSDF: gr, + raster: yr, + symbolIcon: mr, + symbolSDF: xr, + symbolTextAndIcon: br, + }), + Tr = function () { + (this.boundProgram = null), + (this.boundLayoutVertexBuffer = null), + (this.boundPaintVertexBuffers = []), + (this.boundIndexBuffer = null), + (this.boundVertexOffset = null), + (this.boundDynamicVertexBuffer = null), + (this.vao = null); + }; + (Tr.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()); + }), + (Tr.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 f = l; f < s; f++) + c.disableVertexAttribArray(f); + } + e.enableAttributes(c, t); + for (var h = 0, p = r; h < p.length; h += 1) + p[h].enableAttributes(c, t); + a && a.enableAttributes(c, t), + o && o.enableAttributes(c, t), + e.bind(), + e.setVertexAttribPointers(c, t, i); + for (var d = 0, v = r; d < v.length; d += 1) { + var g = v[d]; + g.bind(), g.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); + }), + (Tr.prototype.destroy = function () { + this.vao && + (this.context.extVertexArrayObject.deleteVertexArrayOES( + this.vao, + ), + (this.vao = null)); + }); + var kr = function (t, e, r, n, i) { + var a = t.gl; + this.program = a.createProgram(); + var o = r ? r.defines() : []; + i && o.push("#define OVERDRAW_INSPECTOR;"); + var s = o + .concat(Xe.fragmentSource, e.fragmentSource) + .join("\n"), + l = o + .concat(Xe.vertexSource, e.vertexSource) + .join("\n"), + u = a.createShader(a.FRAGMENT_SHADER); + if (a.isContextLost()) this.failedToCreate = !0; + else { + a.shaderSource(u, s), + a.compileShader(u), + a.attachShader(this.program, u); + var c = a.createShader(a.VERTEX_SHADER); + if (a.isContextLost()) this.failedToCreate = !0; + else { + a.shaderSource(c, l), + a.compileShader(c), + a.attachShader(this.program, c); + for ( + var f = r ? r.layoutAttributes : [], h = 0; + h < f.length; + h++ + ) + a.bindAttribLocation( + this.program, + h, + f[h].name, + ); + a.linkProgram(this.program), + a.deleteShader(c), + a.deleteShader(u), + (this.numAttributes = a.getProgramParameter( + this.program, + a.ACTIVE_ATTRIBUTES, + )), + (this.attributes = {}); + for ( + var p = {}, d = 0; + d < this.numAttributes; + d++ + ) { + var v = a.getActiveAttrib(this.program, d); + v && + (this.attributes[v.name] = + a.getAttribLocation(this.program, v.name)); + } + for ( + var g = a.getProgramParameter( + this.program, + a.ACTIVE_UNIFORMS, + ), + y = 0; + y < g; + y++ + ) { + var m = a.getActiveUniform(this.program, y); + m && + (p[m.name] = a.getUniformLocation( + this.program, + m.name, + )); + } + (this.fixedUniforms = n(t, p)), + (this.binderUniforms = r + ? r.getUniforms(t, p) + : []); + } + } + }; + function Ar(t, e, r) { + var n = 1 / ge(r, 1, e.transform.tileZoom), + i = Math.pow(2, r.tileID.overscaledZ), + a = + (r.tileSize * Math.pow(2, e.transform.tileZoom)) / + i, + o = a * (r.tileID.canonical.x + r.tileID.wrap * i), + s = a * r.tileID.canonical.y; + return { + u_image: 0, + u_texsize: r.imageAtlasTexture.size, + u_scale: [n, t.fromScale, t.toScale], + u_fade: t.t, + u_pixel_coord_upper: [o >> 16, s >> 16], + u_pixel_coord_lower: [65535 & o, 65535 & s], + }; + } + kr.prototype.draw = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + ) { + var g, + y = t.gl; + if (!this.failedToCreate) { + for (var m in (t.program.set(this.program), + t.setDepthMode(r), + t.setStencilMode(n), + t.setColorMode(i), + t.setCullFace(a), + this.fixedUniforms)) + this.fixedUniforms[m].set(o[m]); + p && + p.setUniforms(t, this.binderUniforms, f, { + zoom: h, + }); + for ( + var x = ((g = {}), + (g[y.LINES] = 2), + (g[y.TRIANGLES] = 3), + (g[y.LINE_STRIP] = 1), + g)[e], + b = 0, + _ = c.get(); + b < _.length; + b += 1 + ) { + var w = _[b], + T = w.vaos || (w.vaos = {}); + (T[s] || (T[s] = new Tr())).bind( + t, + this, + l, + p ? p.getPaintVertexBuffers() : [], + u, + w.vertexOffset, + d, + v, + ), + y.drawElements( + e, + w.primitiveLength * x, + y.UNSIGNED_SHORT, + w.primitiveOffset * x * 2, + ); + } + } + }; + var Mr = function (e, r, n, i) { + var a = r.style.light, + o = a.properties.get("position"), + s = [o.x, o.y, o.z], + l = t.create$1(); + "viewport" === a.properties.get("anchor") && + t.fromRotation(l, -r.transform.angle), + t.transformMat3(s, s, l); + var u = a.properties.get("color"); + return { + u_matrix: e, + u_lightpos: s, + u_lightintensity: a.properties.get("intensity"), + u_lightcolor: [u.r, u.g, u.b], + u_vertical_gradient: +n, + u_opacity: i, + }; + }, + Sr = function (e, r, n, i, a, o, s) { + return t.extend(Mr(e, r, n, i), Ar(o, r, s), { + u_height_factor: + -Math.pow(2, a.overscaledZ) / s.tileSize / 8, + }); + }, + Er = function (t) { + return { u_matrix: t }; + }, + Lr = function (e, r, n, i) { + return t.extend(Er(e), Ar(n, r, i)); + }, + Cr = function (t, e) { + return { u_matrix: t, u_world: e }; + }, + Pr = function (e, r, n, i, a) { + return t.extend(Lr(e, r, n, i), { u_world: a }); + }, + Or = function (e, r, n, i) { + var a, + o, + s = e.transform; + if ( + "map" === i.paint.get("circle-pitch-alignment") + ) { + var l = ge(n, 1, s.zoom); + (a = !0), (o = [l, l]); + } else (a = !1), (o = s.pixelsToGLUnits); + return { + u_camera_to_center_distance: + s.cameraToCenterDistance, + u_scale_with_map: +( + "map" === i.paint.get("circle-pitch-scale") + ), + u_matrix: e.translatePosMatrix( + r.posMatrix, + n, + i.paint.get("circle-translate"), + i.paint.get("circle-translate-anchor"), + ), + u_pitch_with_map: +a, + u_device_pixel_ratio: t.browser.devicePixelRatio, + u_extrude_scale: o, + }; + }, + Ir = function (t, e, r) { + var n = ge(r, 1, e.zoom), + i = Math.pow(2, e.zoom - r.tileID.overscaledZ), + a = r.tileID.overscaleFactor(); + return { + u_matrix: t, + u_camera_to_center_distance: + e.cameraToCenterDistance, + u_pixels_to_tile_units: n, + u_extrude_scale: [ + e.pixelsToGLUnits[0] / (n * i), + e.pixelsToGLUnits[1] / (n * i), + ], + u_overscale_factor: a, + }; + }, + Dr = function (t, e, r) { + return { + u_matrix: t, + u_inv_matrix: e, + u_camera_to_center_distance: + r.cameraToCenterDistance, + u_viewport_size: [r.width, r.height], + }; + }, + zr = function (t, e, r) { + return ( + void 0 === r && (r = 1), + { + u_matrix: t, + u_color: e, + u_overlay: 0, + u_overlay_scale: r, + } + ); + }, + Rr = function (t) { + return { u_matrix: t }; + }, + Fr = function (t, e, r, n) { + return { + u_matrix: t, + u_extrude_scale: ge(e, 1, r), + u_intensity: n, + }; + }; + var Br = function (e, r, n) { + var i = e.transform; + return { + u_matrix: Hr(e, r, n), + u_ratio: 1 / ge(r, 1, i.zoom), + u_device_pixel_ratio: t.browser.devicePixelRatio, + u_units_to_pixels: [ + 1 / i.pixelsToGLUnits[0], + 1 / i.pixelsToGLUnits[1], + ], + }; + }, + Nr = function (e, r, n) { + return t.extend(Br(e, r, n), { u_image: 0 }); + }, + jr = function (e, r, n, i) { + var a = e.transform, + o = Vr(r, a); + return { + u_matrix: Hr(e, r, n), + u_texsize: r.imageAtlasTexture.size, + u_ratio: 1 / ge(r, 1, a.zoom), + u_device_pixel_ratio: t.browser.devicePixelRatio, + u_image: 0, + u_scale: [o, i.fromScale, i.toScale], + u_fade: i.t, + u_units_to_pixels: [ + 1 / a.pixelsToGLUnits[0], + 1 / a.pixelsToGLUnits[1], + ], + }; + }, + Ur = function (e, r, n, i, a) { + var o = e.transform, + s = e.lineAtlas, + l = Vr(r, o), + u = "round" === n.layout.get("line-cap"), + c = s.getDash(i.from, u), + f = s.getDash(i.to, u), + h = c.width * a.fromScale, + p = f.width * a.toScale; + return t.extend(Br(e, r, n), { + u_patternscale_a: [l / h, -c.height / 2], + u_patternscale_b: [l / p, -f.height / 2], + u_sdfgamma: + s.width / + (256 * + Math.min(h, p) * + t.browser.devicePixelRatio) / + 2, + u_image: 0, + u_tex_y_a: c.y, + u_tex_y_b: f.y, + u_mix: a.t, + }); + }; + function Vr(t, e) { + return 1 / ge(t, 1, e.tileZoom); + } + function Hr(t, e, r) { + return t.translatePosMatrix( + e.tileID.posMatrix, + e, + r.paint.get("line-translate"), + r.paint.get("line-translate-anchor"), + ); + } + var qr = function (t, e, r, n, i) { + return { + u_matrix: t, + u_tl_parent: e, + u_scale_parent: r, + u_buffer_scale: 1, + u_fade_t: n.mix, + u_opacity: + n.opacity * i.paint.get("raster-opacity"), + u_image0: 0, + u_image1: 1, + u_brightness_low: i.paint.get( + "raster-brightness-min", + ), + u_brightness_high: i.paint.get( + "raster-brightness-max", + ), + u_saturation_factor: + ((o = i.paint.get("raster-saturation")), + o > 0 ? 1 - 1 / (1.001 - o) : -o), + u_contrast_factor: + ((a = i.paint.get("raster-contrast")), + a > 0 ? 1 / (1 - a) : 1 + a), + u_spin_weights: Gr( + i.paint.get("raster-hue-rotate"), + ), + }; + var a, o; + }; + function Gr(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, + ]; + } + var Zr, + Yr = function (t, e, r, n, i, a, o, s, l, u) { + var c = i.transform; + return { + u_is_size_zoom_constant: +( + "constant" === t || "source" === t + ), + u_is_size_feature_constant: +( + "constant" === t || "camera" === t + ), + u_size_t: e ? e.uSizeT : 0, + u_size: e ? e.uSize : 0, + u_camera_to_center_distance: + c.cameraToCenterDistance, + u_pitch: (c.pitch / 360) * 2 * Math.PI, + u_rotate_symbol: +r, + u_aspect_ratio: c.width / c.height, + u_fade_change: i.options.fadeDuration + ? i.symbolFadeChange + : 1, + u_matrix: a, + u_label_plane_matrix: o, + u_coord_matrix: s, + u_is_text: +l, + u_pitch_with_map: +n, + u_texsize: u, + u_texture: 0, + }; + }, + Wr = function (e, r, n, i, a, o, s, l, u, c, f) { + var h = a.transform; + return t.extend(Yr(e, r, n, i, a, o, s, l, u, c), { + u_gamma_scale: i + ? Math.cos(h._pitch) * h.cameraToCenterDistance + : 1, + u_device_pixel_ratio: t.browser.devicePixelRatio, + u_is_halo: +f, + }); + }, + Xr = function (e, r, n, i, a, o, s, l, u, c) { + return t.extend( + Wr(e, r, n, i, a, o, s, l, !0, u, !0), + { u_texsize_icon: c, u_texture_icon: 1 }, + ); + }, + Jr = function (t, e, r) { + return { u_matrix: t, u_opacity: e, u_color: r }; + }, + Kr = function (e, r, n, i, a, o) { + return t.extend( + (function (t, e, r, n) { + var i = r.imageManager.getPattern( + t.from.toString(), + ), + a = r.imageManager.getPattern( + t.to.toString(), + ), + o = r.imageManager.getPixelSize(), + s = o.width, + l = o.height, + u = Math.pow(2, n.tileID.overscaledZ), + c = + (n.tileSize * + Math.pow(2, r.transform.tileZoom)) / + u, + f = + c * + (n.tileID.canonical.x + n.tileID.wrap * u), + h = c * n.tileID.canonical.y; + return { + u_image: 0, + u_pattern_tl_a: i.tl, + u_pattern_br_a: i.br, + u_pattern_tl_b: a.tl, + u_pattern_br_b: a.br, + u_texsize: [s, l], + u_mix: e.t, + u_pattern_size_a: i.displaySize, + u_pattern_size_b: a.displaySize, + u_scale_a: e.fromScale, + u_scale_b: e.toScale, + u_tile_units_to_pixels: + 1 / ge(n, 1, r.transform.tileZoom), + u_pixel_coord_upper: [f >> 16, h >> 16], + u_pixel_coord_lower: [65535 & f, 65535 & h], + }; + })(i, o, n, a), + { u_matrix: e, u_opacity: r }, + ); + }, + $r = { + fillExtrusion: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_lightpos: new t.Uniform3f(e, r.u_lightpos), + u_lightintensity: new t.Uniform1f( + e, + r.u_lightintensity, + ), + u_lightcolor: new t.Uniform3f( + e, + r.u_lightcolor, + ), + u_vertical_gradient: new t.Uniform1f( + e, + r.u_vertical_gradient, + ), + u_opacity: new t.Uniform1f(e, r.u_opacity), + }; + }, + fillExtrusionPattern: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_lightpos: new t.Uniform3f(e, r.u_lightpos), + u_lightintensity: new t.Uniform1f( + e, + r.u_lightintensity, + ), + u_lightcolor: new t.Uniform3f( + e, + r.u_lightcolor, + ), + u_vertical_gradient: new t.Uniform1f( + e, + r.u_vertical_gradient, + ), + u_height_factor: new t.Uniform1f( + e, + r.u_height_factor, + ), + u_image: new t.Uniform1i(e, r.u_image), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_pixel_coord_upper: new t.Uniform2f( + e, + r.u_pixel_coord_upper, + ), + u_pixel_coord_lower: new t.Uniform2f( + e, + r.u_pixel_coord_lower, + ), + u_scale: new t.Uniform3f(e, r.u_scale), + u_fade: new t.Uniform1f(e, r.u_fade), + u_opacity: new t.Uniform1f(e, r.u_opacity), + }; + }, + fill: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + }; + }, + fillPattern: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_image: new t.Uniform1i(e, r.u_image), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_pixel_coord_upper: new t.Uniform2f( + e, + r.u_pixel_coord_upper, + ), + u_pixel_coord_lower: new t.Uniform2f( + e, + r.u_pixel_coord_lower, + ), + u_scale: new t.Uniform3f(e, r.u_scale), + u_fade: new t.Uniform1f(e, r.u_fade), + }; + }, + fillOutline: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_world: new t.Uniform2f(e, r.u_world), + }; + }, + fillOutlinePattern: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_world: new t.Uniform2f(e, r.u_world), + u_image: new t.Uniform1i(e, r.u_image), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_pixel_coord_upper: new t.Uniform2f( + e, + r.u_pixel_coord_upper, + ), + u_pixel_coord_lower: new t.Uniform2f( + e, + r.u_pixel_coord_lower, + ), + u_scale: new t.Uniform3f(e, r.u_scale), + u_fade: new t.Uniform1f(e, r.u_fade), + }; + }, + circle: function (e, r) { + return { + u_camera_to_center_distance: new t.Uniform1f( + e, + r.u_camera_to_center_distance, + ), + u_scale_with_map: new t.Uniform1i( + e, + r.u_scale_with_map, + ), + u_pitch_with_map: new t.Uniform1i( + e, + r.u_pitch_with_map, + ), + u_extrude_scale: new t.Uniform2f( + e, + r.u_extrude_scale, + ), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio, + ), + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + }; + }, + collisionBox: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_camera_to_center_distance: new t.Uniform1f( + e, + r.u_camera_to_center_distance, + ), + u_pixels_to_tile_units: new t.Uniform1f( + e, + r.u_pixels_to_tile_units, + ), + u_extrude_scale: new t.Uniform2f( + e, + r.u_extrude_scale, + ), + u_overscale_factor: new t.Uniform1f( + e, + r.u_overscale_factor, + ), + }; + }, + collisionCircle: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_inv_matrix: new t.UniformMatrix4f( + e, + r.u_inv_matrix, + ), + u_camera_to_center_distance: new t.Uniform1f( + e, + r.u_camera_to_center_distance, + ), + u_viewport_size: new t.Uniform2f( + e, + r.u_viewport_size, + ), + }; + }, + debug: function (e, r) { + return { + u_color: new t.UniformColor(e, r.u_color), + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_overlay: new t.Uniform1i(e, r.u_overlay), + u_overlay_scale: new t.Uniform1f( + e, + r.u_overlay_scale, + ), + }; + }, + clippingMask: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + }; + }, + heatmap: function (e, r) { + return { + u_extrude_scale: new t.Uniform1f( + e, + r.u_extrude_scale, + ), + u_intensity: new t.Uniform1f(e, r.u_intensity), + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + }; + }, + heatmapTexture: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_world: new t.Uniform2f(e, r.u_world), + u_image: new t.Uniform1i(e, r.u_image), + u_color_ramp: new t.Uniform1i( + e, + r.u_color_ramp, + ), + u_opacity: new t.Uniform1f(e, r.u_opacity), + }; + }, + hillshade: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_image: new t.Uniform1i(e, r.u_image), + u_latrange: new t.Uniform2f(e, r.u_latrange), + u_light: new t.Uniform2f(e, r.u_light), + u_shadow: new t.UniformColor(e, r.u_shadow), + u_highlight: new t.UniformColor( + e, + r.u_highlight, + ), + u_accent: new t.UniformColor(e, r.u_accent), + }; + }, + hillshadePrepare: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_image: new t.Uniform1i(e, r.u_image), + u_dimension: new t.Uniform2f(e, r.u_dimension), + u_zoom: new t.Uniform1f(e, r.u_zoom), + u_maxzoom: new t.Uniform1f(e, r.u_maxzoom), + u_unpack: new t.Uniform4f(e, r.u_unpack), + }; + }, + line: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_ratio: new t.Uniform1f(e, r.u_ratio), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio, + ), + u_units_to_pixels: new t.Uniform2f( + e, + r.u_units_to_pixels, + ), + }; + }, + lineGradient: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_ratio: new t.Uniform1f(e, r.u_ratio), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio, + ), + u_units_to_pixels: new t.Uniform2f( + e, + r.u_units_to_pixels, + ), + u_image: new t.Uniform1i(e, r.u_image), + }; + }, + linePattern: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_ratio: new t.Uniform1f(e, r.u_ratio), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio, + ), + u_image: new t.Uniform1i(e, r.u_image), + u_units_to_pixels: new t.Uniform2f( + e, + r.u_units_to_pixels, + ), + u_scale: new t.Uniform3f(e, r.u_scale), + u_fade: new t.Uniform1f(e, r.u_fade), + }; + }, + lineSDF: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_ratio: new t.Uniform1f(e, r.u_ratio), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio, + ), + u_units_to_pixels: new t.Uniform2f( + e, + r.u_units_to_pixels, + ), + u_patternscale_a: new t.Uniform2f( + e, + r.u_patternscale_a, + ), + u_patternscale_b: new t.Uniform2f( + e, + r.u_patternscale_b, + ), + u_sdfgamma: new t.Uniform1f(e, r.u_sdfgamma), + u_image: new t.Uniform1i(e, r.u_image), + u_tex_y_a: new t.Uniform1f(e, r.u_tex_y_a), + u_tex_y_b: new t.Uniform1f(e, r.u_tex_y_b), + u_mix: new t.Uniform1f(e, r.u_mix), + }; + }, + raster: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_tl_parent: new t.Uniform2f(e, r.u_tl_parent), + u_scale_parent: new t.Uniform1f( + e, + r.u_scale_parent, + ), + u_buffer_scale: new t.Uniform1f( + e, + r.u_buffer_scale, + ), + u_fade_t: new t.Uniform1f(e, r.u_fade_t), + u_opacity: new t.Uniform1f(e, r.u_opacity), + u_image0: new t.Uniform1i(e, r.u_image0), + u_image1: new t.Uniform1i(e, r.u_image1), + u_brightness_low: new t.Uniform1f( + e, + r.u_brightness_low, + ), + u_brightness_high: new t.Uniform1f( + e, + r.u_brightness_high, + ), + u_saturation_factor: new t.Uniform1f( + e, + r.u_saturation_factor, + ), + u_contrast_factor: new t.Uniform1f( + e, + r.u_contrast_factor, + ), + u_spin_weights: new t.Uniform3f( + e, + r.u_spin_weights, + ), + }; + }, + symbolIcon: function (e, r) { + return { + u_is_size_zoom_constant: new t.Uniform1i( + e, + r.u_is_size_zoom_constant, + ), + u_is_size_feature_constant: new t.Uniform1i( + e, + r.u_is_size_feature_constant, + ), + u_size_t: new t.Uniform1f(e, r.u_size_t), + u_size: new t.Uniform1f(e, r.u_size), + u_camera_to_center_distance: new t.Uniform1f( + e, + r.u_camera_to_center_distance, + ), + u_pitch: new t.Uniform1f(e, r.u_pitch), + u_rotate_symbol: new t.Uniform1i( + e, + r.u_rotate_symbol, + ), + u_aspect_ratio: new t.Uniform1f( + e, + r.u_aspect_ratio, + ), + u_fade_change: new t.Uniform1f( + e, + r.u_fade_change, + ), + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_label_plane_matrix: new t.UniformMatrix4f( + e, + r.u_label_plane_matrix, + ), + u_coord_matrix: new t.UniformMatrix4f( + e, + r.u_coord_matrix, + ), + u_is_text: new t.Uniform1i(e, r.u_is_text), + u_pitch_with_map: new t.Uniform1i( + e, + r.u_pitch_with_map, + ), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_texture: new t.Uniform1i(e, r.u_texture), + }; + }, + symbolSDF: function (e, r) { + return { + u_is_size_zoom_constant: new t.Uniform1i( + e, + r.u_is_size_zoom_constant, + ), + u_is_size_feature_constant: new t.Uniform1i( + e, + r.u_is_size_feature_constant, + ), + u_size_t: new t.Uniform1f(e, r.u_size_t), + u_size: new t.Uniform1f(e, r.u_size), + u_camera_to_center_distance: new t.Uniform1f( + e, + r.u_camera_to_center_distance, + ), + u_pitch: new t.Uniform1f(e, r.u_pitch), + u_rotate_symbol: new t.Uniform1i( + e, + r.u_rotate_symbol, + ), + u_aspect_ratio: new t.Uniform1f( + e, + r.u_aspect_ratio, + ), + u_fade_change: new t.Uniform1f( + e, + r.u_fade_change, + ), + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_label_plane_matrix: new t.UniformMatrix4f( + e, + r.u_label_plane_matrix, + ), + u_coord_matrix: new t.UniformMatrix4f( + e, + r.u_coord_matrix, + ), + u_is_text: new t.Uniform1i(e, r.u_is_text), + u_pitch_with_map: new t.Uniform1i( + e, + r.u_pitch_with_map, + ), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_texture: new t.Uniform1i(e, r.u_texture), + u_gamma_scale: new t.Uniform1f( + e, + r.u_gamma_scale, + ), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio, + ), + u_is_halo: new t.Uniform1i(e, r.u_is_halo), + }; + }, + symbolTextAndIcon: function (e, r) { + return { + u_is_size_zoom_constant: new t.Uniform1i( + e, + r.u_is_size_zoom_constant, + ), + u_is_size_feature_constant: new t.Uniform1i( + e, + r.u_is_size_feature_constant, + ), + u_size_t: new t.Uniform1f(e, r.u_size_t), + u_size: new t.Uniform1f(e, r.u_size), + u_camera_to_center_distance: new t.Uniform1f( + e, + r.u_camera_to_center_distance, + ), + u_pitch: new t.Uniform1f(e, r.u_pitch), + u_rotate_symbol: new t.Uniform1i( + e, + r.u_rotate_symbol, + ), + u_aspect_ratio: new t.Uniform1f( + e, + r.u_aspect_ratio, + ), + u_fade_change: new t.Uniform1f( + e, + r.u_fade_change, + ), + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_label_plane_matrix: new t.UniformMatrix4f( + e, + r.u_label_plane_matrix, + ), + u_coord_matrix: new t.UniformMatrix4f( + e, + r.u_coord_matrix, + ), + u_is_text: new t.Uniform1i(e, r.u_is_text), + u_pitch_with_map: new t.Uniform1i( + e, + r.u_pitch_with_map, + ), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_texsize_icon: new t.Uniform2f( + e, + r.u_texsize_icon, + ), + u_texture: new t.Uniform1i(e, r.u_texture), + u_texture_icon: new t.Uniform1i( + e, + r.u_texture_icon, + ), + u_gamma_scale: new t.Uniform1f( + e, + r.u_gamma_scale, + ), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio, + ), + u_is_halo: new t.Uniform1i(e, r.u_is_halo), + }; + }, + background: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_opacity: new t.Uniform1f(e, r.u_opacity), + u_color: new t.UniformColor(e, r.u_color), + }; + }, + backgroundPattern: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_opacity: new t.Uniform1f(e, r.u_opacity), + u_image: new t.Uniform1i(e, r.u_image), + u_pattern_tl_a: new t.Uniform2f( + e, + r.u_pattern_tl_a, + ), + u_pattern_br_a: new t.Uniform2f( + e, + r.u_pattern_br_a, + ), + u_pattern_tl_b: new t.Uniform2f( + e, + r.u_pattern_tl_b, + ), + u_pattern_br_b: new t.Uniform2f( + e, + r.u_pattern_br_b, + ), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_mix: new t.Uniform1f(e, r.u_mix), + u_pattern_size_a: new t.Uniform2f( + e, + r.u_pattern_size_a, + ), + u_pattern_size_b: new t.Uniform2f( + e, + r.u_pattern_size_b, + ), + u_scale_a: new t.Uniform1f(e, r.u_scale_a), + u_scale_b: new t.Uniform1f(e, r.u_scale_b), + u_pixel_coord_upper: new t.Uniform2f( + e, + r.u_pixel_coord_upper, + ), + u_pixel_coord_lower: new t.Uniform2f( + e, + r.u_pixel_coord_lower, + ), + u_tile_units_to_pixels: new t.Uniform1f( + e, + r.u_tile_units_to_pixels, + ), + }; + }, + }; + function Qr(e, r, n, i, a, o, s) { + for ( + var l = e.context, + u = l.gl, + c = e.useProgram("collisionBox"), + f = [], + h = 0, + p = 0, + d = 0; + d < i.length; + d++ + ) { + var v = i[d], + g = r.getTile(v), + y = g.getBucket(n); + if (y) { + var m = v.posMatrix; + (0 === a[0] && 0 === a[1]) || + (m = e.translatePosMatrix( + v.posMatrix, + g, + a, + o, + )); + var x = s + ? y.textCollisionBox + : y.iconCollisionBox, + b = y.collisionCircleArray; + if (b.length > 0) { + var _ = t.create(), + w = m; + t.mul( + _, + y.placementInvProjMatrix, + e.transform.glCoordMatrix, + ), + t.mul(_, _, y.placementViewportMatrix), + f.push({ + circleArray: b, + circleOffset: p, + transform: w, + invTransform: _, + }), + (p = h += b.length / 4); + } + x && + c.draw( + l, + u.LINES, + Mt.disabled, + Et.disabled, + e.colorModeForRenderPass(), + Ct.disabled, + Ir(m, e.transform, g), + n.id, + x.layoutVertexBuffer, + x.indexBuffer, + x.segments, + null, + e.transform.zoom, + null, + null, + x.collisionVertexBuffer, + ); + } + } + if (s && f.length) { + var T = e.useProgram("collisionCircle"), + k = new t.StructArrayLayout2f1f2i16(); + k.resize(4 * h), k._trim(); + for (var A = 0, M = 0, S = f; M < S.length; M += 1) + for ( + var E = S[M], L = 0; + L < E.circleArray.length / 4; + L++ + ) { + var C = 4 * L, + P = E.circleArray[C + 0], + O = E.circleArray[C + 1], + I = E.circleArray[C + 2], + D = E.circleArray[C + 3]; + k.emplace(A++, P, O, I, D, 0), + k.emplace(A++, P, O, I, D, 1), + k.emplace(A++, P, O, I, D, 2), + k.emplace(A++, P, O, I, D, 3); + } + (!Zr || Zr.length < 2 * h) && + (Zr = (function (e) { + var r = 2 * e, + n = new t.StructArrayLayout3ui6(); + n.resize(r), n._trim(); + for (var i = 0; i < r; i++) { + var a = 6 * i; + (n.uint16[a + 0] = 4 * i + 0), + (n.uint16[a + 1] = 4 * i + 1), + (n.uint16[a + 2] = 4 * i + 2), + (n.uint16[a + 3] = 4 * i + 2), + (n.uint16[a + 4] = 4 * i + 3), + (n.uint16[a + 5] = 4 * i + 0); + } + return n; + })(h)); + for ( + var z = l.createIndexBuffer(Zr, !0), + R = l.createVertexBuffer( + k, + t.collisionCircleLayout.members, + !0, + ), + F = 0, + B = f; + F < B.length; + F += 1 + ) { + var N = B[F], + j = Dr( + N.transform, + N.invTransform, + e.transform, + ); + T.draw( + l, + u.TRIANGLES, + Mt.disabled, + Et.disabled, + e.colorModeForRenderPass(), + Ct.disabled, + j, + n.id, + R, + z, + t.SegmentVector.simpleSegment( + 0, + 2 * N.circleOffset, + N.circleArray.length, + N.circleArray.length / 2, + ), + null, + e.transform.zoom, + null, + null, + null, + ); + } + R.destroy(), z.destroy(); + } + } + var tn = t.identity(new Float32Array(16)); + function en(e, r, n, i, a, o) { + var s = t.getAnchorAlignment(e), + l = -(s.horizontalAlign - 0.5) * r, + u = -(s.verticalAlign - 0.5) * n, + c = t.evaluateVariableOffset(e, i); + return new t.Point( + (l / a + c[0]) * o, + (u / a + c[1]) * o, + ); + } + function rn(e, r, n, i, a, o, s, l, u, c, f) { + var h = e.text.placedSymbolArray, + p = e.text.dynamicLayoutVertexArray, + d = e.icon.dynamicLayoutVertexArray, + v = {}; + p.clear(); + for (var g = 0; g < h.length; g++) { + var y = h.get(g), + m = + e.allowVerticalPlacement && + !y.placedOrientation, + x = + y.hidden || !y.crossTileID || m + ? null + : i[y.crossTileID]; + if (x) { + var b = new t.Point(y.anchorX, y.anchorY), + _ = re(b, n ? l : s), + w = ne( + o.cameraToCenterDistance, + _.signedDistanceFromCamera, + ), + T = + (a.evaluateSizeForFeature( + e.textSizeData, + c, + y, + ) * + w) / + t.ONE_EM; + n && (T *= e.tilePixelRatio / u); + for ( + var k = x.width, + A = x.height, + M = en( + x.anchor, + k, + A, + x.textOffset, + x.textBoxScale, + T, + ), + S = n + ? re(b.add(M), s).point + : _.point.add(r ? M.rotate(-o.angle) : M), + E = + e.allowVerticalPlacement && + y.placedOrientation === + t.WritingMode.vertical + ? Math.PI / 2 + : 0, + L = 0; + L < y.numGlyphs; + L++ + ) + t.addDynamicAttributes(p, S, E); + f && + y.associatedIconIndex >= 0 && + (v[y.associatedIconIndex] = { + shiftedAnchor: S, + angle: E, + }); + } else he(y.numGlyphs, p); + } + if (f) { + d.clear(); + for ( + var C = e.icon.placedSymbolArray, P = 0; + P < C.length; + P++ + ) { + var O = C.get(P); + if (O.hidden) he(O.numGlyphs, d); + else { + var I = v[P]; + if (I) + for (var D = 0; D < O.numGlyphs; D++) + t.addDynamicAttributes( + d, + I.shiftedAnchor, + I.angle, + ); + else he(O.numGlyphs, d); + } + } + e.icon.dynamicLayoutVertexBuffer.updateData(d); + } + e.text.dynamicLayoutVertexBuffer.updateData(p); + } + function nn(t, e, r) { + return r.iconsInText && e + ? "symbolTextAndIcon" + : t + ? "symbolSDF" + : "symbolIcon"; + } + function an(e, r, n, i, a, o, s, l, u, c, f, h) { + for ( + var p = e.context, + d = p.gl, + v = e.transform, + g = "map" === l, + y = "map" === u, + m = + g && + "point" !== n.layout.get("symbol-placement"), + x = g && !y && !m, + b = + void 0 !== + n.layout.get("symbol-sort-key").constantOr(1), + _ = e.depthModeForSublayer(0, Mt.ReadOnly), + w = n.layout.get("text-variable-anchor"), + T = [], + k = 0, + A = i; + k < A.length; + k += 1 + ) { + var M = A[k], + S = r.getTile(M), + E = S.getBucket(n); + if (E) { + var L = a ? E.text : E.icon; + if (L && L.segments.get().length) { + var C = L.programConfigurations.get(n.id), + P = a || E.sdfIcons, + O = a ? E.textSizeData : E.iconSizeData, + I = y || 0 !== v.pitch, + D = e.useProgram(nn(P, a, E), C), + z = t.evaluateSizeForZoom(O, v.zoom), + R = void 0, + F = [0, 0], + B = void 0, + N = void 0, + j = null, + U = void 0; + if (a) { + if ( + ((B = S.glyphAtlasTexture), + (N = d.LINEAR), + (R = S.glyphAtlasTexture.size), + E.iconsInText) + ) { + (F = S.imageAtlasTexture.size), + (j = S.imageAtlasTexture); + var V = + "composite" === O.kind || + "camera" === O.kind; + U = + I || + e.options.rotating || + e.options.zooming || + V + ? d.LINEAR + : d.NEAREST; + } + } else { + var H = + 1 !== + n.layout.get("icon-size").constantOr(0) || + E.iconsNeedLinear; + (B = S.imageAtlasTexture), + (N = + P || + e.options.rotating || + e.options.zooming || + H || + I + ? d.LINEAR + : d.NEAREST), + (R = S.imageAtlasTexture.size); + } + var q = ge(S, 1, e.transform.zoom), + G = te(M.posMatrix, y, g, e.transform, q), + Z = ee(M.posMatrix, y, g, e.transform, q), + Y = w && E.hasTextData(), + W = + "none" !== n.layout.get("icon-text-fit") && + Y && + E.hasIconData(); + m && ae(E, M.posMatrix, e, a, G, Z, y, c); + var X = e.translatePosMatrix( + M.posMatrix, + S, + o, + s, + ), + J = m || (a && w) || W ? tn : G, + K = e.translatePosMatrix(Z, S, o, s, !0), + $ = + P && + 0 !== + n.paint + .get( + a + ? "text-halo-width" + : "icon-halo-width", + ) + .constantOr(1), + Q = { + program: D, + buffers: L, + uniformValues: P + ? E.iconsInText + ? Xr(O.kind, z, x, y, e, X, J, K, R, F) + : Wr( + O.kind, + z, + x, + y, + e, + X, + J, + K, + a, + R, + !0, + ) + : Yr(O.kind, z, x, y, e, X, J, K, a, R), + atlasTexture: B, + atlasTextureIcon: j, + atlasInterpolation: N, + atlasInterpolationIcon: U, + isSDF: P, + hasHalo: $, + }; + if (b) + for ( + var tt = 0, et = L.segments.get(); + tt < et.length; + tt += 1 + ) { + var rt = et[tt]; + T.push({ + segments: new t.SegmentVector([rt]), + sortKey: rt.sortKey, + state: Q, + }); + } + else + T.push({ + segments: L.segments, + sortKey: 0, + state: Q, + }); + } + } + } + b && + T.sort(function (t, e) { + return t.sortKey - e.sortKey; + }); + for (var nt = 0, it = T; nt < it.length; nt += 1) { + var at = it[nt], + ot = at.state; + if ( + (p.activeTexture.set(d.TEXTURE0), + ot.atlasTexture.bind( + ot.atlasInterpolation, + d.CLAMP_TO_EDGE, + ), + ot.atlasTextureIcon && + (p.activeTexture.set(d.TEXTURE1), + ot.atlasTextureIcon && + ot.atlasTextureIcon.bind( + ot.atlasInterpolationIcon, + d.CLAMP_TO_EDGE, + )), + ot.isSDF) + ) { + var st = ot.uniformValues; + ot.hasHalo && + ((st.u_is_halo = 1), + on( + ot.buffers, + at.segments, + n, + e, + ot.program, + _, + f, + h, + st, + )), + (st.u_is_halo = 0); + } + on( + ot.buffers, + at.segments, + n, + e, + ot.program, + _, + f, + h, + ot.uniformValues, + ); + } + } + function on(t, e, r, n, i, a, o, s, l) { + var u = n.context, + c = u.gl; + i.draw( + u, + c.TRIANGLES, + a, + o, + s, + Ct.disabled, + l, + r.id, + t.layoutVertexBuffer, + t.indexBuffer, + e, + r.paint, + n.transform.zoom, + t.programConfigurations.get(r.id), + t.dynamicLayoutVertexBuffer, + t.opacityVertexBuffer, + ); + } + function sn(t, e, r, n, i, a, o) { + var s, + l, + u, + c, + f, + h = t.context.gl, + p = r.paint.get("fill-pattern"), + d = p && p.constantOr(1), + v = r.getCrossfadeParameters(); + o + ? ((l = + d && !r.getPaintProperty("fill-outline-color") + ? "fillOutlinePattern" + : "fillOutline"), + (s = h.LINES)) + : ((l = d ? "fillPattern" : "fill"), + (s = h.TRIANGLES)); + for (var g = 0, y = n; g < y.length; g += 1) { + var m = y[g], + x = e.getTile(m); + if (!d || x.patternsLoaded()) { + var b = x.getBucket(r); + if (b) { + var _ = b.programConfigurations.get(r.id), + w = t.useProgram(l, _); + d && + (t.context.activeTexture.set(h.TEXTURE0), + x.imageAtlasTexture.bind( + h.LINEAR, + h.CLAMP_TO_EDGE, + ), + _.updatePaintBuffers(v)); + var T = p.constantOr(null); + if (T && x.imageAtlas) { + var k = x.imageAtlas, + A = k.patternPositions[T.to.toString()], + M = k.patternPositions[T.from.toString()]; + A && M && _.setConstantPatternPositions(A, M); + } + var S = t.translatePosMatrix( + m.posMatrix, + x, + r.paint.get("fill-translate"), + r.paint.get("fill-translate-anchor"), + ); + if (o) { + (c = b.indexBuffer2), (f = b.segments2); + var E = [ + h.drawingBufferWidth, + h.drawingBufferHeight, + ]; + u = + "fillOutlinePattern" === l && d + ? Pr(S, t, v, x, E) + : Cr(S, E); + } else + (c = b.indexBuffer), + (f = b.segments), + (u = d ? Lr(S, t, v, x) : Er(S)); + w.draw( + t.context, + s, + i, + t.stencilModeForClipping(m), + a, + Ct.disabled, + u, + r.id, + b.layoutVertexBuffer, + c, + f, + r.paint, + t.transform.zoom, + _, + ); + } + } + } + } + function ln(t, e, r, n, i, a, o) { + for ( + var s = t.context, + l = s.gl, + u = r.paint.get("fill-extrusion-pattern"), + c = u.constantOr(1), + f = r.getCrossfadeParameters(), + h = r.paint.get("fill-extrusion-opacity"), + p = 0, + d = n; + p < d.length; + p += 1 + ) { + var v = d[p], + g = e.getTile(v), + y = g.getBucket(r); + if (y) { + var m = y.programConfigurations.get(r.id), + x = t.useProgram( + c ? "fillExtrusionPattern" : "fillExtrusion", + m, + ); + c && + (t.context.activeTexture.set(l.TEXTURE0), + g.imageAtlasTexture.bind( + l.LINEAR, + l.CLAMP_TO_EDGE, + ), + m.updatePaintBuffers(f)); + var b = u.constantOr(null); + if (b && g.imageAtlas) { + var _ = g.imageAtlas, + w = _.patternPositions[b.to.toString()], + T = _.patternPositions[b.from.toString()]; + w && T && m.setConstantPatternPositions(w, T); + } + var k = t.translatePosMatrix( + v.posMatrix, + g, + r.paint.get("fill-extrusion-translate"), + r.paint.get( + "fill-extrusion-translate-anchor", + ), + ), + A = r.paint.get( + "fill-extrusion-vertical-gradient", + ), + M = c + ? Sr(k, t, A, h, v, f, g) + : Mr(k, t, A, h); + x.draw( + s, + s.gl.TRIANGLES, + i, + a, + o, + Ct.backCCW, + M, + r.id, + y.layoutVertexBuffer, + y.indexBuffer, + y.segments, + r.paint, + t.transform.zoom, + m, + ); + } + } + } + function un(e, r, n, i, a, o) { + var s = e.context, + l = s.gl, + u = r.fbo; + if (u) { + var c = e.useProgram("hillshade"); + s.activeTexture.set(l.TEXTURE0), + l.bindTexture( + l.TEXTURE_2D, + u.colorAttachment.get(), + ); + var f = (function (e, r, n) { + var i = n.paint.get("hillshade-shadow-color"), + a = n.paint.get("hillshade-highlight-color"), + o = n.paint.get("hillshade-accent-color"), + s = + n.paint.get( + "hillshade-illumination-direction", + ) * + (Math.PI / 180); + "viewport" === + n.paint.get("hillshade-illumination-anchor") && + (s -= e.transform.angle); + var l, + u, + c, + f = !e.options.moving; + return { + u_matrix: e.transform.calculatePosMatrix( + r.tileID.toUnwrapped(), + f, + ), + u_image: 0, + u_latrange: + ((l = r.tileID), + (u = Math.pow(2, l.canonical.z)), + (c = l.canonical.y), + [ + new t.MercatorCoordinate( + 0, + c / u, + ).toLngLat().lat, + new t.MercatorCoordinate( + 0, + (c + 1) / u, + ).toLngLat().lat, + ]), + u_light: [ + n.paint.get("hillshade-exaggeration"), + s, + ], + u_shadow: i, + u_highlight: a, + u_accent: o, + }; + })(e, r, n); + c.draw( + s, + l.TRIANGLES, + i, + a, + o, + Ct.disabled, + f, + n.id, + e.rasterBoundsBuffer, + e.quadTriangleIndexBuffer, + e.rasterBoundsSegments, + ); + } + } + function cn(e, r, n, i, a, o, s) { + var l = e.context, + u = l.gl, + c = r.dem; + if (c && c.data) { + var f = c.dim, + h = c.stride, + p = c.getPixels(); + if ( + (l.activeTexture.set(u.TEXTURE1), + l.pixelStoreUnpackPremultiplyAlpha.set(!1), + (r.demTexture = + r.demTexture || e.getTileTexture(h)), + r.demTexture) + ) { + var d = r.demTexture; + d.update(p, { premultiply: !1 }), + d.bind(u.NEAREST, u.CLAMP_TO_EDGE); + } else + (r.demTexture = new t.Texture(l, p, u.RGBA, { + premultiply: !1, + })), + r.demTexture.bind(u.NEAREST, u.CLAMP_TO_EDGE); + l.activeTexture.set(u.TEXTURE0); + var v = r.fbo; + if (!v) { + var g = new t.Texture( + l, + { width: f, height: f, data: null }, + u.RGBA, + ); + g.bind(u.LINEAR, u.CLAMP_TO_EDGE), + (v = r.fbo = + l.createFramebuffer( + f, + f, + !0, + )).colorAttachment.set(g.texture); + } + l.bindFramebuffer.set(v.framebuffer), + l.viewport.set([0, 0, f, f]), + e.useProgram("hillshadePrepare").draw( + l, + u.TRIANGLES, + a, + o, + s, + Ct.disabled, + (function (e, r, n) { + var i = r.stride, + a = t.create(); + return ( + t.ortho(a, 0, t.EXTENT, -t.EXTENT, 0, 0, 1), + t.translate(a, a, [0, -t.EXTENT, 0]), + { + u_matrix: a, + u_image: 1, + u_dimension: [i, i], + u_zoom: e.overscaledZ, + u_maxzoom: n, + u_unpack: r.getUnpackVector(), + } + ); + })(r.tileID, c, i), + n.id, + e.rasterBoundsBuffer, + e.quadTriangleIndexBuffer, + e.rasterBoundsSegments, + ), + (r.needsHillshadePrepare = !1); + } + } + function fn(e, r, n, i, a) { + var o = i.paint.get("raster-fade-duration"); + if (o > 0) { + var s = t.browser.now(), + l = (s - e.timeAdded) / o, + u = r ? (s - r.timeAdded) / o : -1, + c = n.getSource(), + f = a.coveringZoomLevel({ + tileSize: c.tileSize, + roundZoom: c.roundZoom, + }), + h = + !r || + Math.abs(r.tileID.overscaledZ - f) > + Math.abs(e.tileID.overscaledZ - f), + p = + h && e.refreshedUponExpiration + ? 1 + : t.clamp(h ? l : 1 - u, 0, 1); + return ( + e.refreshedUponExpiration && + l >= 1 && + (e.refreshedUponExpiration = !1), + r + ? { opacity: 1, mix: 1 - p } + : { opacity: p, mix: 0 } + ); + } + return { opacity: 1, mix: 0 }; + } + var hn = new t.Color(1, 0, 0, 1), + pn = new t.Color(0, 1, 0, 1), + dn = new t.Color(0, 0, 1, 1), + vn = new t.Color(1, 0, 1, 1), + gn = new t.Color(0, 1, 1, 1); + function yn(t) { + var e = t.transform.padding; + mn(t, t.transform.height - (e.top || 0), 3, hn), + mn(t, e.bottom || 0, 3, pn), + xn(t, e.left || 0, 3, dn), + xn(t, t.transform.width - (e.right || 0), 3, vn); + var r = t.transform.centerPoint; + !(function (t, e, r, n) { + var i = 20, + a = 2; + bn(t, e - a / 2, r - i / 2, a, i, n), + bn(t, e - i / 2, r - a / 2, i, a, n); + })(t, r.x, t.transform.height - r.y, gn); + } + function mn(t, e, r, n) { + bn(t, 0, e + r / 2, t.transform.width, r, n); + } + function xn(t, e, r, n) { + bn(t, e - r / 2, 0, r, t.transform.height, n); + } + function bn(e, r, n, i, a, o) { + var s = e.context, + l = s.gl; + l.enable(l.SCISSOR_TEST), + l.scissor( + r * t.browser.devicePixelRatio, + n * t.browser.devicePixelRatio, + i * t.browser.devicePixelRatio, + a * t.browser.devicePixelRatio, + ), + s.clear({ color: o }), + l.disable(l.SCISSOR_TEST); + } + function _n(e, r, n) { + var i = e.context, + a = i.gl, + o = n.posMatrix, + s = e.useProgram("debug"), + l = Mt.disabled, + u = Et.disabled, + c = e.colorModeForRenderPass(), + f = "$debug"; + i.activeTexture.set(a.TEXTURE0), + e.emptyTexture.bind(a.LINEAR, a.CLAMP_TO_EDGE), + s.draw( + i, + a.LINE_STRIP, + l, + u, + c, + Ct.disabled, + zr(o, t.Color.red), + f, + e.debugBuffer, + e.tileBorderIndexBuffer, + e.debugSegments, + ); + var h = r.getTileByID(n.key).latestRawTileData, + p = (h && h.byteLength) || 0, + d = Math.floor(p / 1024), + v = r.getTile(n).tileSize, + g = + (512 / Math.min(v, 512)) * + (n.overscaledZ / e.transform.zoom) * + 0.5, + y = n.canonical.toString(); + n.overscaledZ !== n.canonical.z && + (y += " => " + n.overscaledZ), + (function (t, e) { + t.initDebugOverlayCanvas(); + var r = t.debugOverlayCanvas, + n = t.context.gl, + i = t.debugOverlayCanvas.getContext("2d"); + i.clearRect(0, 0, r.width, r.height), + (i.shadowColor = "white"), + (i.shadowBlur = 2), + (i.lineWidth = 1.5), + (i.strokeStyle = "white"), + (i.textBaseline = "top"), + (i.font = "bold 36px Open Sans, sans-serif"), + i.fillText(e, 5, 5), + i.strokeText(e, 5, 5), + t.debugOverlayTexture.update(r), + t.debugOverlayTexture.bind( + n.LINEAR, + n.CLAMP_TO_EDGE, + ); + })(e, y + " " + d + "kb"), + s.draw( + i, + a.TRIANGLES, + l, + u, + Lt.alphaBlended, + Ct.disabled, + zr(o, t.Color.transparent, g), + f, + e.debugBuffer, + e.quadTriangleIndexBuffer, + e.debugSegments, + ); + } + var wn = { + symbol: function (e, r, n, i, a) { + if ("translucent" === e.renderPass) { + var o = Et.disabled, + s = e.colorModeForRenderPass(); + n.layout.get("text-variable-anchor") && + (function (e, r, n, i, a, o, s) { + for ( + var l = r.transform, + u = "map" === a, + c = "map" === o, + f = 0, + h = e; + f < h.length; + f += 1 + ) { + var p = h[f], + d = i.getTile(p), + v = d.getBucket(n); + if ( + v && + v.text && + v.text.segments.get().length + ) { + var g = v.textSizeData, + y = t.evaluateSizeForZoom(g, l.zoom), + m = ge(d, 1, r.transform.zoom), + x = te( + p.posMatrix, + c, + u, + r.transform, + m, + ), + b = + "none" !== + n.layout.get("icon-text-fit") && + v.hasIconData(); + if (y) { + var _ = Math.pow( + 2, + l.zoom - d.tileID.overscaledZ, + ); + rn( + v, + u, + c, + s, + t.symbolSize, + l, + x, + p.posMatrix, + _, + y, + b, + ); + } + } + } + })( + i, + e, + n, + r, + n.layout.get("text-rotation-alignment"), + n.layout.get("text-pitch-alignment"), + a, + ), + 0 !== + n.paint.get("icon-opacity").constantOr(1) && + an( + e, + r, + n, + i, + !1, + n.paint.get("icon-translate"), + n.paint.get("icon-translate-anchor"), + n.layout.get("icon-rotation-alignment"), + n.layout.get("icon-pitch-alignment"), + n.layout.get("icon-keep-upright"), + o, + s, + ), + 0 !== + n.paint.get("text-opacity").constantOr(1) && + an( + e, + r, + n, + i, + !0, + n.paint.get("text-translate"), + n.paint.get("text-translate-anchor"), + n.layout.get("text-rotation-alignment"), + n.layout.get("text-pitch-alignment"), + n.layout.get("text-keep-upright"), + o, + s, + ), + r.map.showCollisionBoxes && + (Qr( + e, + r, + n, + i, + n.paint.get("text-translate"), + n.paint.get("text-translate-anchor"), + !0, + ), + Qr( + e, + r, + n, + i, + n.paint.get("icon-translate"), + n.paint.get("icon-translate-anchor"), + !1, + )); + } + }, + circle: function (e, r, n, i) { + if ("translucent" === e.renderPass) { + var a = n.paint.get("circle-opacity"), + o = n.paint.get("circle-stroke-width"), + s = n.paint.get("circle-stroke-opacity"), + l = + void 0 !== + n.layout + .get("circle-sort-key") + .constantOr(1); + if ( + 0 !== a.constantOr(1) || + (0 !== o.constantOr(1) && + 0 !== s.constantOr(1)) + ) { + for ( + var u = e.context, + c = u.gl, + f = e.depthModeForSublayer( + 0, + Mt.ReadOnly, + ), + h = Et.disabled, + p = e.colorModeForRenderPass(), + d = [], + v = 0; + v < i.length; + v++ + ) { + var g = i[v], + y = r.getTile(g), + m = y.getBucket(n); + if (m) { + var x = m.programConfigurations.get(n.id), + b = { + programConfiguration: x, + program: e.useProgram("circle", x), + layoutVertexBuffer: + m.layoutVertexBuffer, + indexBuffer: m.indexBuffer, + uniformValues: Or(e, g, y, n), + }; + if (l) + for ( + var _ = 0, w = m.segments.get(); + _ < w.length; + _ += 1 + ) { + var T = w[_]; + d.push({ + segments: new t.SegmentVector([T]), + sortKey: T.sortKey, + state: b, + }); + } + else + d.push({ + segments: m.segments, + sortKey: 0, + state: b, + }); + } + } + l && + d.sort(function (t, e) { + return t.sortKey - e.sortKey; + }); + for (var k = 0, A = d; k < A.length; k += 1) { + var M = A[k], + S = M.state, + E = S.programConfiguration, + L = S.program, + C = S.layoutVertexBuffer, + P = S.indexBuffer, + O = S.uniformValues, + I = M.segments; + L.draw( + u, + c.TRIANGLES, + f, + h, + p, + Ct.disabled, + O, + n.id, + C, + P, + I, + n.paint, + e.transform.zoom, + E, + ); + } + } + } + }, + heatmap: function (e, r, n, i) { + if (0 !== n.paint.get("heatmap-opacity")) + if ("offscreen" === e.renderPass) { + var a = e.context, + o = a.gl, + s = Et.disabled, + l = new Lt( + [o.ONE, o.ONE], + t.Color.transparent, + [!0, !0, !0, !0], + ); + (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, + !1, + )), + (function (t, e, r, n) { + var i = t.gl, + a = t.extRenderToTextureHalfFloat + ? t.extTextureHalfFloat + .HALF_FLOAT_OES + : i.UNSIGNED_BYTE; + i.texImage2D( + i.TEXTURE_2D, + 0, + i.RGBA, + e.width / 4, + e.height / 4, + 0, + i.RGBA, + a, + null, + ), + n.colorAttachment.set(r); + })(t, e, a, i); + } + })(a, e, n), + a.clear({ color: t.Color.transparent }); + for (var u = 0; u < i.length; u++) { + var c = i[u]; + if (!r.hasRenderableParent(c)) { + var f = r.getTile(c), + h = f.getBucket(n); + if (h) { + var p = h.programConfigurations.get( + n.id, + ), + d = e.useProgram("heatmap", p), + v = e.transform.zoom; + d.draw( + a, + o.TRIANGLES, + Mt.disabled, + s, + l, + Ct.disabled, + Fr( + c.posMatrix, + f, + v, + n.paint.get("heatmap-intensity"), + ), + n.id, + h.layoutVertexBuffer, + h.indexBuffer, + h.segments, + n.paint, + e.transform.zoom, + p, + ); + } + } + } + a.viewport.set([0, 0, e.width, e.height]); + } else + "translucent" === e.renderPass && + (e.context.setColorMode( + e.colorModeForRenderPass(), + ), + (function (e, r) { + var n = e.context, + i = n.gl, + a = r.heatmapFbo; + if (a) { + n.activeTexture.set(i.TEXTURE0), + i.bindTexture( + i.TEXTURE_2D, + a.colorAttachment.get(), + ), + n.activeTexture.set(i.TEXTURE1); + var o = r.colorRampTexture; + o || + (o = r.colorRampTexture = + new t.Texture( + n, + r.colorRamp, + i.RGBA, + )), + o.bind(i.LINEAR, i.CLAMP_TO_EDGE), + e.useProgram("heatmapTexture").draw( + n, + i.TRIANGLES, + Mt.disabled, + Et.disabled, + e.colorModeForRenderPass(), + Ct.disabled, + (function (e, r, n, i) { + var a = t.create(); + t.ortho( + a, + 0, + e.width, + e.height, + 0, + 0, + 1, + ); + var o = e.context.gl; + return { + u_matrix: a, + u_world: [ + o.drawingBufferWidth, + o.drawingBufferHeight, + ], + u_image: n, + u_color_ramp: i, + u_opacity: + r.paint.get( + "heatmap-opacity", + ), + }; + })(e, r, 0, 1), + r.id, + e.viewportBuffer, + e.quadTriangleIndexBuffer, + e.viewportSegments, + r.paint, + e.transform.zoom, + ); + } + })(e, n)); + }, + line: function (e, r, n, i) { + if ("translucent" === e.renderPass) { + var a = n.paint.get("line-opacity"), + o = n.paint.get("line-width"); + if ( + 0 !== a.constantOr(1) && + 0 !== o.constantOr(1) + ) { + var s = e.depthModeForSublayer( + 0, + Mt.ReadOnly, + ), + l = e.colorModeForRenderPass(), + u = n.paint.get("line-dasharray"), + c = n.paint.get("line-pattern"), + f = c.constantOr(1), + h = n.paint.get("line-gradient"), + p = n.getCrossfadeParameters(), + d = f + ? "linePattern" + : u + ? "lineSDF" + : h + ? "lineGradient" + : "line", + v = e.context, + g = v.gl, + y = !0; + if (h) { + v.activeTexture.set(g.TEXTURE0); + var m = n.gradientTexture; + if (!n.gradient) return; + m || + (m = n.gradientTexture = + new t.Texture(v, n.gradient, g.RGBA)), + m.bind(g.LINEAR, g.CLAMP_TO_EDGE); + } + for (var x = 0, b = i; x < b.length; x += 1) { + var _ = b[x], + w = r.getTile(_); + if (!f || w.patternsLoaded()) { + var T = w.getBucket(n); + if (T) { + var k = T.programConfigurations.get( + n.id, + ), + A = e.context.program.get(), + M = e.useProgram(d, k), + S = y || M.program !== A, + E = c.constantOr(null); + if (E && w.imageAtlas) { + var L = w.imageAtlas, + C = + L.patternPositions[ + E.to.toString() + ], + P = + L.patternPositions[ + E.from.toString() + ]; + C && + P && + k.setConstantPatternPositions(C, P); + } + var O = f + ? jr(e, w, n, p) + : u + ? Ur(e, w, n, u, p) + : h + ? Nr(e, w, n) + : Br(e, w, n); + f + ? (v.activeTexture.set(g.TEXTURE0), + w.imageAtlasTexture.bind( + g.LINEAR, + g.CLAMP_TO_EDGE, + ), + k.updatePaintBuffers(p)) + : u && + (S || e.lineAtlas.dirty) && + (v.activeTexture.set(g.TEXTURE0), + e.lineAtlas.bind(v)), + M.draw( + v, + g.TRIANGLES, + s, + e.stencilModeForClipping(_), + l, + Ct.disabled, + O, + n.id, + T.layoutVertexBuffer, + T.indexBuffer, + T.segments, + n.paint, + e.transform.zoom, + k, + ), + (y = !1); + } + } + } + } + } + }, + fill: function (e, r, n, i) { + var a = n.paint.get("fill-color"), + o = n.paint.get("fill-opacity"); + if (0 !== o.constantOr(1)) { + var s = e.colorModeForRenderPass(), + l = n.paint.get("fill-pattern"), + u = + e.opaquePassEnabledForLayer() && + !l.constantOr(1) && + 1 === a.constantOr(t.Color.transparent).a && + 1 === o.constantOr(0) + ? "opaque" + : "translucent"; + if (e.renderPass === u) { + var c = e.depthModeForSublayer( + 1, + "opaque" === e.renderPass + ? Mt.ReadWrite + : Mt.ReadOnly, + ); + sn(e, r, n, i, c, s, !1); + } + if ( + "translucent" === e.renderPass && + n.paint.get("fill-antialias") + ) { + var f = e.depthModeForSublayer( + n.getPaintProperty("fill-outline-color") + ? 2 + : 0, + Mt.ReadOnly, + ); + sn(e, r, n, i, f, s, !0); + } + } + }, + "fill-extrusion": function (t, e, r, n) { + var i = r.paint.get("fill-extrusion-opacity"); + if (0 !== i && "translucent" === t.renderPass) { + var a = new Mt( + t.context.gl.LEQUAL, + Mt.ReadWrite, + t.depthRangeFor3D, + ); + if ( + 1 !== i || + r.paint + .get("fill-extrusion-pattern") + .constantOr(1) + ) + ln(t, e, r, n, a, Et.disabled, Lt.disabled), + ln( + t, + e, + r, + n, + a, + t.stencilModeFor3D(), + t.colorModeForRenderPass(), + ); + else { + var o = t.colorModeForRenderPass(); + ln(t, e, r, n, a, Et.disabled, o); + } + } + }, + hillshade: function (t, e, r, n) { + if ( + "offscreen" === t.renderPass || + "translucent" === t.renderPass + ) { + for ( + var i = t.context, + a = e.getSource().maxzoom, + o = t.depthModeForSublayer(0, Mt.ReadOnly), + s = t.colorModeForRenderPass(), + l = + "translucent" === t.renderPass + ? t.stencilConfigForOverlap(n) + : [{}, n], + u = l[0], + c = 0, + f = l[1]; + c < f.length; + c += 1 + ) { + var h = f[c], + p = e.getTile(h); + p.needsHillshadePrepare && + "offscreen" === t.renderPass + ? cn(t, p, r, a, o, Et.disabled, s) + : "translucent" === t.renderPass && + un(t, p, r, o, u[h.overscaledZ], s); + } + i.viewport.set([0, 0, t.width, t.height]); + } + }, + raster: function (t, e, r, n) { + if ( + "translucent" === t.renderPass && + 0 !== r.paint.get("raster-opacity") && + n.length + ) + for ( + var i = t.context, + a = i.gl, + o = e.getSource(), + s = t.useProgram("raster"), + l = t.colorModeForRenderPass(), + u = + o instanceof I + ? [{}, n] + : t.stencilConfigForOverlap(n), + c = u[0], + f = u[1], + h = f[f.length - 1].overscaledZ, + p = !t.options.moving, + d = 0, + v = f; + d < v.length; + d += 1 + ) { + var g = v[d], + y = t.depthModeForSublayer( + g.overscaledZ - h, + 1 === r.paint.get("raster-opacity") + ? Mt.ReadWrite + : Mt.ReadOnly, + a.LESS, + ), + m = e.getTile(g), + x = t.transform.calculatePosMatrix( + g.toUnwrapped(), + p, + ); + m.registerFadeDuration( + r.paint.get("raster-fade-duration"), + ); + var b = e.findLoadedParent(g, 0), + _ = fn(m, b, e, r, t.transform), + w = void 0, + T = void 0, + k = + "nearest" === + r.paint.get("raster-resampling") + ? a.NEAREST + : a.LINEAR; + i.activeTexture.set(a.TEXTURE0), + m.texture.bind( + k, + a.CLAMP_TO_EDGE, + a.LINEAR_MIPMAP_NEAREST, + ), + i.activeTexture.set(a.TEXTURE1), + b + ? (b.texture.bind( + k, + a.CLAMP_TO_EDGE, + a.LINEAR_MIPMAP_NEAREST, + ), + (w = Math.pow( + 2, + b.tileID.overscaledZ - + m.tileID.overscaledZ, + )), + (T = [ + (m.tileID.canonical.x * w) % 1, + (m.tileID.canonical.y * w) % 1, + ])) + : m.texture.bind( + k, + a.CLAMP_TO_EDGE, + a.LINEAR_MIPMAP_NEAREST, + ); + var A = qr(x, T || [0, 0], w || 1, _, r); + o instanceof I + ? s.draw( + i, + a.TRIANGLES, + y, + Et.disabled, + l, + Ct.disabled, + A, + r.id, + o.boundsBuffer, + t.quadTriangleIndexBuffer, + o.boundsSegments, + ) + : s.draw( + i, + a.TRIANGLES, + y, + c[g.overscaledZ], + l, + Ct.disabled, + A, + r.id, + t.rasterBoundsBuffer, + t.quadTriangleIndexBuffer, + t.rasterBoundsSegments, + ); + } + }, + background: function (t, e, r) { + var n = r.paint.get("background-color"), + i = r.paint.get("background-opacity"); + if (0 !== i) { + var a = t.context, + o = a.gl, + s = t.transform, + l = s.tileSize, + u = r.paint.get("background-pattern"); + if (!t.isPatternMissing(u)) { + var c = + !u && + 1 === n.a && + 1 === i && + t.opaquePassEnabledForLayer() + ? "opaque" + : "translucent"; + if (t.renderPass === c) { + var f = Et.disabled, + h = t.depthModeForSublayer( + 0, + "opaque" === c + ? Mt.ReadWrite + : Mt.ReadOnly, + ), + p = t.colorModeForRenderPass(), + d = t.useProgram( + u ? "backgroundPattern" : "background", + ), + v = s.coveringTiles({ tileSize: l }); + u && + (a.activeTexture.set(o.TEXTURE0), + t.imageManager.bind(t.context)); + for ( + var g = r.getCrossfadeParameters(), + y = 0, + m = v; + y < m.length; + y += 1 + ) { + var x = m[y], + b = t.transform.calculatePosMatrix( + x.toUnwrapped(), + ), + _ = u + ? Kr( + b, + i, + t, + u, + { tileID: x, tileSize: l }, + g, + ) + : Jr(b, i, n); + d.draw( + a, + o.TRIANGLES, + h, + f, + p, + Ct.disabled, + _, + r.id, + t.tileExtentBuffer, + t.quadTriangleIndexBuffer, + t.tileExtentSegments, + ); + } + } + } + } + }, + debug: function (t, e, r) { + for (var n = 0; n < r.length; n++) _n(t, e, r[n]); + }, + custom: function (t, e, r) { + var n = t.context, + i = r.implementation; + if ("offscreen" === t.renderPass) { + var a = i.prerender; + a && + (t.setCustomLayerDefaults(), + n.setColorMode(t.colorModeForRenderPass()), + a.call( + i, + n.gl, + t.transform.customLayerMatrix(), + ), + n.setDirty(), + t.setBaseState()); + } else if ("translucent" === t.renderPass) { + t.setCustomLayerDefaults(), + n.setColorMode(t.colorModeForRenderPass()), + n.setStencilMode(Et.disabled); + var o = + "3d" === i.renderingMode + ? new Mt( + t.context.gl.LEQUAL, + Mt.ReadWrite, + t.depthRangeFor3D, + ) + : t.depthModeForSublayer(0, Mt.ReadOnly); + n.setDepthMode(o), + i.render( + n.gl, + t.transform.customLayerMatrix(), + ), + n.setDirty(), + t.setBaseState(), + n.bindFramebuffer.set(null); + } + }, + }, + Tn = function (t, e) { + (this.context = new Pt(t)), + (this.transform = e), + (this._tileTextures = {}), + this.setup(), + (this.numSublayers = + Ot.maxUnderzooming + Ot.maxOverzooming + 1), + (this.depthEpsilon = 1 / Math.pow(2, 16)), + (this.crossTileSymbolIndex = new Ve()), + (this.gpuTimers = {}); + }; + (Tn.prototype.resize = function (e, r) { + if ( + ((this.width = e * t.browser.devicePixelRatio), + (this.height = r * t.browser.devicePixelRatio), + this.context.viewport.set([ + 0, + 0, + this.width, + this.height, + ]), + this.style) + ) + for ( + var n = 0, i = this.style._order; + n < i.length; + n += 1 + ) { + var a = i[n]; + this.style._layers[a].resize(); + } + }), + (Tn.prototype.setup = function () { + var e = this.context, + r = new t.StructArrayLayout2i4(); + r.emplaceBack(0, 0), + r.emplaceBack(t.EXTENT, 0), + r.emplaceBack(0, t.EXTENT), + r.emplaceBack(t.EXTENT, t.EXTENT), + (this.tileExtentBuffer = e.createVertexBuffer( + r, + We.members, + )), + (this.tileExtentSegments = + t.SegmentVector.simpleSegment(0, 0, 4, 2)); + var n = new t.StructArrayLayout2i4(); + n.emplaceBack(0, 0), + n.emplaceBack(t.EXTENT, 0), + n.emplaceBack(0, t.EXTENT), + n.emplaceBack(t.EXTENT, t.EXTENT), + (this.debugBuffer = e.createVertexBuffer( + n, + We.members, + )), + (this.debugSegments = + t.SegmentVector.simpleSegment(0, 0, 4, 5)); + var i = new t.StructArrayLayout4i8(); + i.emplaceBack(0, 0, 0, 0), + i.emplaceBack(t.EXTENT, 0, t.EXTENT, 0), + i.emplaceBack(0, t.EXTENT, 0, t.EXTENT), + i.emplaceBack( + t.EXTENT, + t.EXTENT, + t.EXTENT, + t.EXTENT, + ), + (this.rasterBoundsBuffer = e.createVertexBuffer( + i, + O.members, + )), + (this.rasterBoundsSegments = + t.SegmentVector.simpleSegment(0, 0, 4, 2)); + var a = new t.StructArrayLayout2i4(); + a.emplaceBack(0, 0), + a.emplaceBack(1, 0), + a.emplaceBack(0, 1), + a.emplaceBack(1, 1), + (this.viewportBuffer = e.createVertexBuffer( + a, + We.members, + )), + (this.viewportSegments = + t.SegmentVector.simpleSegment(0, 0, 4, 2)); + var o = new t.StructArrayLayout1ui2(); + o.emplaceBack(0), + o.emplaceBack(1), + o.emplaceBack(3), + o.emplaceBack(2), + o.emplaceBack(0), + (this.tileBorderIndexBuffer = + e.createIndexBuffer(o)); + var s = new t.StructArrayLayout3ui6(); + s.emplaceBack(0, 1, 2), + s.emplaceBack(2, 1, 3), + (this.quadTriangleIndexBuffer = + e.createIndexBuffer(s)), + (this.emptyTexture = new t.Texture( + e, + { + width: 1, + height: 1, + data: new Uint8Array([0, 0, 0, 0]), + }, + e.gl.RGBA, + )); + var l = this.context.gl; + this.stencilClearMode = new Et( + { func: l.ALWAYS, mask: 0 }, + 0, + 255, + l.ZERO, + l.ZERO, + l.ZERO, + ); + }), + (Tn.prototype.clearStencil = function () { + var e = this.context, + r = e.gl; + (this.nextStencilID = 1), + (this.currentStencilSource = void 0); + var n = t.create(); + t.ortho(n, 0, this.width, this.height, 0, 0, 1), + t.scale(n, n, [ + r.drawingBufferWidth, + r.drawingBufferHeight, + 0, + ]), + this.useProgram("clippingMask").draw( + e, + r.TRIANGLES, + Mt.disabled, + this.stencilClearMode, + Lt.disabled, + Ct.disabled, + Rr(n), + "$clipping", + this.viewportBuffer, + this.quadTriangleIndexBuffer, + this.viewportSegments, + ); + }), + (Tn.prototype._renderTileClippingMasks = function ( + t, + e, + ) { + if ( + this.currentStencilSource !== t.source && + t.isTileClipped() && + e && + e.length + ) { + this.currentStencilSource = t.source; + var r = this.context, + n = r.gl; + this.nextStencilID + e.length > 256 && + this.clearStencil(), + r.setColorMode(Lt.disabled), + r.setDepthMode(Mt.disabled); + var i = this.useProgram("clippingMask"); + this._tileClippingMaskIDs = {}; + for (var a = 0, o = e; a < o.length; a += 1) { + var s = o[a], + l = (this._tileClippingMaskIDs[s.key] = this + .nextStencilID++); + i.draw( + r, + n.TRIANGLES, + Mt.disabled, + new Et( + { func: n.ALWAYS, mask: 0 }, + l, + 255, + n.KEEP, + n.KEEP, + n.REPLACE, + ), + Lt.disabled, + Ct.disabled, + Rr(s.posMatrix), + "$clipping", + this.tileExtentBuffer, + this.quadTriangleIndexBuffer, + this.tileExtentSegments, + ); + } + } + }), + (Tn.prototype.stencilModeFor3D = function () { + (this.currentStencilSource = void 0), + this.nextStencilID + 1 > 256 && + this.clearStencil(); + var t = this.nextStencilID++, + e = this.context.gl; + return new Et( + { func: e.NOTEQUAL, mask: 255 }, + t, + 255, + e.KEEP, + e.KEEP, + e.REPLACE, + ); + }), + (Tn.prototype.stencilModeForClipping = function (t) { + var e = this.context.gl; + return new Et( + { func: e.EQUAL, mask: 255 }, + this._tileClippingMaskIDs[t.key], + 0, + e.KEEP, + e.KEEP, + e.REPLACE, + ); + }), + (Tn.prototype.stencilConfigForOverlap = function (t) { + var e, + r = this.context.gl, + n = t.sort(function (t, e) { + return e.overscaledZ - t.overscaledZ; + }), + i = n[n.length - 1].overscaledZ, + a = n[0].overscaledZ - i + 1; + if (a > 1) { + (this.currentStencilSource = void 0), + this.nextStencilID + a > 256 && + this.clearStencil(); + for (var o = {}, s = 0; s < a; s++) + o[s + i] = new Et( + { func: r.GEQUAL, mask: 255 }, + s + this.nextStencilID, + 255, + r.KEEP, + r.KEEP, + r.REPLACE, + ); + return (this.nextStencilID += a), [o, n]; + } + return [((e = {}), (e[i] = Et.disabled), e), n]; + }), + (Tn.prototype.colorModeForRenderPass = function () { + var e = this.context.gl; + if (this._showOverdrawInspector) { + var r = 1 / 8; + return new Lt( + [e.CONSTANT_COLOR, e.ONE], + new t.Color(r, r, r, 0), + [!0, !0, !0, !0], + ); + } + return "opaque" === this.renderPass + ? Lt.unblended + : Lt.alphaBlended; + }), + (Tn.prototype.depthModeForSublayer = function ( + t, + e, + r, + ) { + if (!this.opaquePassEnabledForLayer()) + return Mt.disabled; + var n = + 1 - + ((1 + this.currentLayer) * this.numSublayers + + t) * + this.depthEpsilon; + return new Mt(r || this.context.gl.LEQUAL, e, [ + n, + n, + ]); + }), + (Tn.prototype.opaquePassEnabledForLayer = + function () { + return this.currentLayer < this.opaquePassCutoff; + }), + (Tn.prototype.render = function (e, r) { + var n = this; + (this.style = e), + (this.options = r), + (this.lineAtlas = e.lineAtlas), + (this.imageManager = e.imageManager), + (this.glyphManager = e.glyphManager), + (this.symbolFadeChange = + e.placement.symbolFadeChange(t.browser.now())), + this.imageManager.beginFrame(); + var i = this.style._order, + a = this.style.sourceCaches; + for (var o in a) { + var s = a[o]; + s.used && s.prepare(this.context); + } + var l, + u, + c = {}, + f = {}, + h = {}; + for (var p in a) { + var d = a[p]; + (c[p] = d.getVisibleCoordinates()), + (f[p] = c[p].slice().reverse()), + (h[p] = d.getVisibleCoordinates(!0).reverse()); + } + this.opaquePassCutoff = 1 / 0; + for (var v = 0; v < i.length; v++) { + var g = i[v]; + if (this.style._layers[g].is3D()) { + this.opaquePassCutoff = v; + break; + } + } + this.renderPass = "offscreen"; + for (var y = 0, m = i; y < m.length; y += 1) { + var x = m[y], + b = this.style._layers[x]; + if ( + b.hasOffscreenPass() && + !b.isHidden(this.transform.zoom) + ) { + var _ = f[b.source]; + ("custom" === b.type || _.length) && + this.renderLayer(this, a[b.source], b, _); + } + } + for ( + this.context.bindFramebuffer.set(null), + this.context.clear({ + color: r.showOverdrawInspector + ? t.Color.black + : t.Color.transparent, + depth: 1, + }), + this.clearStencil(), + this._showOverdrawInspector = + r.showOverdrawInspector, + this.depthRangeFor3D = [ + 0, + 1 - + (e._order.length + 2) * + this.numSublayers * + this.depthEpsilon, + ], + this.renderPass = "opaque", + this.currentLayer = i.length - 1; + this.currentLayer >= 0; + this.currentLayer-- + ) { + var w = this.style._layers[i[this.currentLayer]], + T = a[w.source], + k = c[w.source]; + this._renderTileClippingMasks(w, k), + this.renderLayer(this, T, w, k); + } + for ( + this.renderPass = "translucent", + this.currentLayer = 0; + this.currentLayer < i.length; + this.currentLayer++ + ) { + var A = this.style._layers[i[this.currentLayer]], + M = a[A.source], + S = ("symbol" === A.type ? h : f)[A.source]; + this._renderTileClippingMasks(A, c[A.source]), + this.renderLayer(this, M, A, S); + } + this.options.showTileBoundaries && + (t + .values(this.style._layers) + .forEach(function (t) { + t.source && + !t.isHidden(n.transform.zoom) && + (t.source !== (u && u.id) && + (u = n.style.sourceCaches[t.source]), + (!l || + l.getSource().maxzoom < + u.getSource().maxzoom) && + (l = u)); + }), + l && + wn.debug(this, l, l.getVisibleCoordinates())), + this.options.showPadding && yn(this), + this.context.setDefault(); + }), + (Tn.prototype.renderLayer = function (t, e, r, n) { + r.isHidden(this.transform.zoom) || + (("background" === r.type || + "custom" === r.type || + n.length) && + ((this.id = r.id), + this.gpuTimingStart(r), + wn[r.type]( + t, + e, + r, + n, + this.style.placement.variableOffsets, + ), + this.gpuTimingEnd())); + }), + (Tn.prototype.gpuTimingStart = function (t) { + if (this.options.gpuTiming) { + var e = this.context.extTimerQuery, + r = this.gpuTimers[t.id]; + r || + (r = this.gpuTimers[t.id] = + { + calls: 0, + cpuTime: 0, + query: e.createQueryEXT(), + }), + r.calls++, + e.beginQueryEXT(e.TIME_ELAPSED_EXT, r.query); + } + }), + (Tn.prototype.gpuTimingEnd = function () { + if (this.options.gpuTiming) { + var t = this.context.extTimerQuery; + t.endQueryEXT(t.TIME_ELAPSED_EXT); + } + }), + (Tn.prototype.collectGpuTimers = function () { + var t = this.gpuTimers; + return (this.gpuTimers = {}), t; + }), + (Tn.prototype.queryGpuTimers = function (t) { + var e = {}; + for (var r in t) { + var n = t[r], + i = this.context.extTimerQuery, + a = + i.getQueryObjectEXT( + n.query, + i.QUERY_RESULT_EXT, + ) / 1e6; + i.deleteQueryEXT(n.query), (e[r] = a); + } + return e; + }), + (Tn.prototype.translatePosMatrix = function ( + e, + r, + n, + i, + a, + ) { + if (!n[0] && !n[1]) return e; + var o = a + ? "map" === i + ? this.transform.angle + : 0 + : "viewport" === i + ? -this.transform.angle + : 0; + if (o) { + var s = Math.sin(o), + l = Math.cos(o); + n = [n[0] * l - n[1] * s, n[0] * s + n[1] * l]; + } + var u = [ + a ? n[0] : ge(r, n[0], this.transform.zoom), + a ? n[1] : ge(r, n[1], this.transform.zoom), + 0, + ], + c = new Float32Array(16); + return t.translate(c, e, u), c; + }), + (Tn.prototype.saveTileTexture = function (t) { + var e = this._tileTextures[t.size[0]]; + e + ? e.push(t) + : (this._tileTextures[t.size[0]] = [t]); + }), + (Tn.prototype.getTileTexture = function (t) { + var e = this._tileTextures[t]; + return e && e.length > 0 ? e.pop() : null; + }), + (Tn.prototype.isPatternMissing = function (t) { + if (!t) return !1; + if (!t.from || !t.to) return !0; + var e = this.imageManager.getPattern( + t.from.toString(), + ), + r = this.imageManager.getPattern(t.to.toString()); + return !e || !r; + }), + (Tn.prototype.useProgram = function (t, e) { + this.cache = this.cache || {}; + var r = + "" + + t + + (e ? e.cacheKey : "") + + (this._showOverdrawInspector ? "/overdraw" : ""); + return ( + this.cache[r] || + (this.cache[r] = new kr( + this.context, + wr[t], + e, + $r[t], + this._showOverdrawInspector, + )), + this.cache[r] + ); + }), + (Tn.prototype.setCustomLayerDefaults = function () { + this.context.unbindVAO(), + this.context.cullFace.setDefault(), + this.context.activeTexture.setDefault(), + this.context.pixelStoreUnpack.setDefault(), + this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(), + this.context.pixelStoreUnpackFlipY.setDefault(); + }), + (Tn.prototype.setBaseState = function () { + var t = this.context.gl; + this.context.cullFace.set(!1), + this.context.viewport.set([ + 0, + 0, + this.width, + this.height, + ]), + this.context.blendEquation.set(t.FUNC_ADD); + }), + (Tn.prototype.initDebugOverlayCanvas = function () { + if (null == this.debugOverlayCanvas) { + (this.debugOverlayCanvas = + t.window.document.createElement("canvas")), + (this.debugOverlayCanvas.width = 512), + (this.debugOverlayCanvas.height = 512); + var e = this.context.gl; + this.debugOverlayTexture = new t.Texture( + this.context, + this.debugOverlayCanvas, + e.RGBA, + ); + } + }), + (Tn.prototype.destroy = function () { + this.emptyTexture.destroy(), + this.debugOverlayTexture && + this.debugOverlayTexture.destroy(); + }); + var kn = function (t, e) { + (this.points = t), (this.planes = e); + }; + kn.fromInvProjectionMatrix = function (e, r, n) { + var i = Math.pow(2, n), + a = [ + [-1, 1, -1, 1], + [1, 1, -1, 1], + [1, -1, -1, 1], + [-1, -1, -1, 1], + [-1, 1, 1, 1], + [1, 1, 1, 1], + [1, -1, 1, 1], + [-1, -1, 1, 1], + ] + .map(function (r) { + return t.transformMat4([], r, e); + }) + .map(function (e) { + return t.scale$1([], e, (1 / e[3] / r) * i); + }), + o = [ + [0, 1, 2], + [6, 5, 4], + [0, 3, 7], + [2, 1, 5], + [3, 2, 6], + [0, 4, 5], + ].map(function (e) { + var r = t.sub([], a[e[0]], a[e[1]]), + n = t.sub([], a[e[2]], a[e[1]]), + i = t.normalize([], t.cross([], r, n)), + o = -t.dot(i, a[e[1]]); + return i.concat(o); + }); + return new kn(a, o); + }; + var An = function (e, r) { + (this.min = e), + (this.max = r), + (this.center = t.scale$2( + [], + t.add([], this.min, this.max), + 0.5, + )); + }; + (An.prototype.quadrant = function (e) { + for ( + var r = [e % 2 == 0, e < 2], + n = t.clone$2(this.min), + i = t.clone$2(this.max), + a = 0; + a < r.length; + a++ + ) + (n[a] = r[a] ? this.min[a] : this.center[a]), + (i[a] = r[a] ? this.center[a] : this.max[a]); + return (i[2] = this.max[2]), new An(n, i); + }), + (An.prototype.distanceX = function (t) { + return ( + Math.max( + Math.min(this.max[0], t[0]), + this.min[0], + ) - t[0] + ); + }), + (An.prototype.distanceY = function (t) { + return ( + Math.max( + Math.min(this.max[1], t[1]), + this.min[1], + ) - t[1] + ); + }), + (An.prototype.intersects = function (e) { + for ( + var r = [ + [this.min[0], this.min[1], 0, 1], + [this.max[0], this.min[1], 0, 1], + [this.max[0], this.max[1], 0, 1], + [this.min[0], this.max[1], 0, 1], + ], + n = !0, + i = 0; + i < e.planes.length; + i++ + ) { + for ( + var a = e.planes[i], o = 0, s = 0; + s < r.length; + s++ + ) + o += t.dot$1(a, r[s]) >= 0; + if (0 === o) return 0; + o !== r.length && (n = !1); + } + if (n) return 2; + for (var l = 0; l < 3; l++) { + for ( + var u = Number.MAX_VALUE, + c = -Number.MAX_VALUE, + f = 0; + f < e.points.length; + f++ + ) { + var h = e.points[f][l] - this.min[l]; + (u = Math.min(u, h)), (c = Math.max(c, h)); + } + if (c < 0 || u > this.max[l] - this.min[l]) + return 0; + } + return 1; + }); + var Mn = function (t, e, r, n) { + if ( + (void 0 === t && (t = 0), + void 0 === e && (e = 0), + void 0 === r && (r = 0), + void 0 === n && (n = 0), + isNaN(t) || + t < 0 || + isNaN(e) || + e < 0 || + isNaN(r) || + r < 0 || + isNaN(n) || + n < 0) + ) + throw new Error( + "Invalid value for edge-insets, top, bottom, left and right must all be numbers", + ); + (this.top = t), + (this.bottom = e), + (this.left = r), + (this.right = n); + }; + (Mn.prototype.interpolate = function (e, r, n) { + return ( + null != r.top && + null != e.top && + (this.top = t.number(e.top, r.top, n)), + null != r.bottom && + null != e.bottom && + (this.bottom = t.number(e.bottom, r.bottom, n)), + null != r.left && + null != e.left && + (this.left = t.number(e.left, r.left, n)), + null != r.right && + null != e.right && + (this.right = t.number(e.right, r.right, n)), + this + ); + }), + (Mn.prototype.getCenter = function (e, r) { + var n = t.clamp( + (this.left + e - this.right) / 2, + 0, + e, + ), + i = t.clamp( + (this.top + r - this.bottom) / 2, + 0, + r, + ); + return new t.Point(n, i); + }), + (Mn.prototype.equals = function (t) { + return ( + this.top === t.top && + this.bottom === t.bottom && + this.left === t.left && + this.right === t.right + ); + }), + (Mn.prototype.clone = function () { + return new Mn( + this.top, + this.bottom, + this.left, + this.right, + ); + }), + (Mn.prototype.toJSON = function () { + return { + top: this.top, + bottom: this.bottom, + left: this.left, + right: this.right, + }; + }); + var Sn = function (e, r, n, i, a) { + (this.tileSize = 512), + (this.maxValidLatitude = 85.051129), + (this._renderWorldCopies = void 0 === a || a), + (this._minZoom = e || 0), + (this._maxZoom = r || 22), + (this._minPitch = null == n ? 0 : n), + (this._maxPitch = null == i ? 60 : i), + this.setMaxBounds(), + (this.width = 0), + (this.height = 0), + (this._center = new t.LngLat(0, 0)), + (this.zoom = 0), + (this.angle = 0), + (this._fov = 0.6435011087932844), + (this._pitch = 0), + (this._unmodified = !0), + (this._edgeInsets = new Mn()), + (this._posMatrixCache = {}), + (this._alignedPosMatrixCache = {}); + }, + En = { + minZoom: { configurable: !0 }, + maxZoom: { configurable: !0 }, + minPitch: { configurable: !0 }, + maxPitch: { configurable: !0 }, + renderWorldCopies: { configurable: !0 }, + worldSize: { configurable: !0 }, + centerOffset: { configurable: !0 }, + size: { configurable: !0 }, + bearing: { configurable: !0 }, + pitch: { configurable: !0 }, + fov: { configurable: !0 }, + zoom: { configurable: !0 }, + center: { configurable: !0 }, + padding: { configurable: !0 }, + centerPoint: { configurable: !0 }, + unmodified: { configurable: !0 }, + point: { configurable: !0 }, + }; + (Sn.prototype.clone = function () { + var t = new Sn( + this._minZoom, + this._maxZoom, + this._minPitch, + this.maxPitch, + 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._edgeInsets = this._edgeInsets.clone()), + t._calcMatrices(), + t + ); + }), + (En.minZoom.get = function () { + return this._minZoom; + }), + (En.minZoom.set = function (t) { + this._minZoom !== t && + ((this._minZoom = t), + (this.zoom = Math.max(this.zoom, t))); + }), + (En.maxZoom.get = function () { + return this._maxZoom; + }), + (En.maxZoom.set = function (t) { + this._maxZoom !== t && + ((this._maxZoom = t), + (this.zoom = Math.min(this.zoom, t))); + }), + (En.minPitch.get = function () { + return this._minPitch; + }), + (En.minPitch.set = function (t) { + this._minPitch !== t && + ((this._minPitch = t), + (this.pitch = Math.max(this.pitch, t))); + }), + (En.maxPitch.get = function () { + return this._maxPitch; + }), + (En.maxPitch.set = function (t) { + this._maxPitch !== t && + ((this._maxPitch = t), + (this.pitch = Math.min(this.pitch, t))); + }), + (En.renderWorldCopies.get = function () { + return this._renderWorldCopies; + }), + (En.renderWorldCopies.set = function (t) { + void 0 === t ? (t = !0) : null === t && (t = !1), + (this._renderWorldCopies = t); + }), + (En.worldSize.get = function () { + return this.tileSize * this.scale; + }), + (En.centerOffset.get = function () { + return this.centerPoint._sub(this.size._div(2)); + }), + (En.size.get = function () { + return new t.Point(this.width, this.height); + }), + (En.bearing.get = function () { + return (-this.angle / Math.PI) * 180; + }), + (En.bearing.set = function (e) { + var r = (-t.wrap(e, -180, 180) * Math.PI) / 180; + this.angle !== r && + ((this._unmodified = !1), + (this.angle = r), + this._calcMatrices(), + (this.rotationMatrix = t.create$2()), + t.rotate( + this.rotationMatrix, + this.rotationMatrix, + this.angle, + )); + }), + (En.pitch.get = function () { + return (this._pitch / Math.PI) * 180; + }), + (En.pitch.set = function (e) { + var r = + (t.clamp(e, this.minPitch, this.maxPitch) / 180) * + Math.PI; + this._pitch !== r && + ((this._unmodified = !1), + (this._pitch = r), + this._calcMatrices()); + }), + (En.fov.get = function () { + return (this._fov / Math.PI) * 180; + }), + (En.fov.set = function (t) { + (t = Math.max(0.01, Math.min(60, t))), + this._fov !== t && + ((this._unmodified = !1), + (this._fov = (t / 180) * Math.PI), + this._calcMatrices()); + }), + (En.zoom.get = function () { + return this._zoom; + }), + (En.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()); + }), + (En.center.get = function () { + return this._center; + }), + (En.center.set = function (t) { + (t.lat === this._center.lat && + t.lng === this._center.lng) || + ((this._unmodified = !1), + (this._center = t), + this._constrain(), + this._calcMatrices()); + }), + (En.padding.get = function () { + return this._edgeInsets.toJSON(); + }), + (En.padding.set = function (t) { + this._edgeInsets.equals(t) || + ((this._unmodified = !1), + this._edgeInsets.interpolate( + this._edgeInsets, + t, + 1, + ), + this._calcMatrices()); + }), + (En.centerPoint.get = function () { + return this._edgeInsets.getCenter( + this.width, + this.height, + ); + }), + (Sn.prototype.isPaddingEqual = function (t) { + return this._edgeInsets.equals(t); + }), + (Sn.prototype.interpolatePadding = function ( + t, + e, + r, + ) { + (this._unmodified = !1), + this._edgeInsets.interpolate(t, e, r), + this._constrain(), + this._calcMatrices(); + }), + (Sn.prototype.coveringZoomLevel = function (t) { + var e = (t.roundZoom ? Math.round : Math.floor)( + this.zoom + + this.scaleZoom(this.tileSize / t.tileSize), + ); + return Math.max(0, e); + }), + (Sn.prototype.getVisibleUnwrappedCoordinates = + function (e) { + var r = [new t.UnwrappedTileID(0, e)]; + if (this._renderWorldCopies) + for ( + var n = this.pointCoordinate( + new t.Point(0, 0), + ), + i = this.pointCoordinate( + new t.Point(this.width, 0), + ), + a = this.pointCoordinate( + new t.Point(this.width, this.height), + ), + o = this.pointCoordinate( + new t.Point(0, this.height), + ), + s = Math.floor( + Math.min(n.x, i.x, a.x, o.x), + ), + l = Math.floor( + Math.max(n.x, i.x, a.x, o.x), + ), + u = s - 1; + u <= l + 1; + u++ + ) + 0 !== u && + r.push(new t.UnwrappedTileID(u, e)); + return r; + }), + (Sn.prototype.coveringTiles = function (e) { + var r = this.coveringZoomLevel(e), + n = r; + if (void 0 !== e.minzoom && r < e.minzoom) + return []; + void 0 !== e.maxzoom && + r > e.maxzoom && + (r = e.maxzoom); + var i = t.MercatorCoordinate.fromLngLat( + this.center, + ), + a = Math.pow(2, r), + o = [a * i.x, a * i.y, 0], + s = kn.fromInvProjectionMatrix( + this.invProjMatrix, + this.worldSize, + r, + ), + l = e.minzoom || 0; + this.pitch <= 60 && + this._edgeInsets.top < 0.1 && + (l = r); + var u = function (t) { + return { + aabb: new An( + [t * a, 0, 0], + [(t + 1) * a, a, 0], + ), + zoom: 0, + x: 0, + y: 0, + wrap: t, + fullyVisible: !1, + }; + }, + c = [], + f = [], + h = r, + p = e.reparseOverscaled ? n : r; + if (this._renderWorldCopies) + for (var d = 1; d <= 3; d++) + c.push(u(-d)), c.push(u(d)); + for (c.push(u(0)); c.length > 0; ) { + var v = c.pop(), + g = v.x, + y = v.y, + m = v.fullyVisible; + if (!m) { + var x = v.aabb.intersects(s); + if (0 === x) continue; + m = 2 === x; + } + var b = v.aabb.distanceX(o), + _ = v.aabb.distanceY(o), + w = Math.max(Math.abs(b), Math.abs(_)), + T = 3 + (1 << (h - v.zoom)) - 2; + if (v.zoom === h || (w > T && v.zoom >= l)) + f.push({ + tileID: new t.OverscaledTileID( + v.zoom === h ? p : v.zoom, + v.wrap, + v.zoom, + g, + y, + ), + distanceSq: t.sqrLen([ + o[0] - 0.5 - g, + o[1] - 0.5 - y, + ]), + }); + else + for (var k = 0; k < 4; k++) { + var A = (g << 1) + (k % 2), + M = (y << 1) + (k >> 1); + c.push({ + aabb: v.aabb.quadrant(k), + zoom: v.zoom + 1, + x: A, + y: M, + wrap: v.wrap, + fullyVisible: m, + }); + } + } + return f + .sort(function (t, e) { + return t.distanceSq - e.distanceSq; + }) + .map(function (t) { + return t.tileID; + }); + }), + (Sn.prototype.resize = function (t, e) { + (this.width = t), + (this.height = e), + (this.pixelsToGLUnits = [2 / t, -2 / e]), + this._constrain(), + this._calcMatrices(); + }), + (En.unmodified.get = function () { + return this._unmodified; + }), + (Sn.prototype.zoomScale = function (t) { + return Math.pow(2, t); + }), + (Sn.prototype.scaleZoom = function (t) { + return Math.log(t) / Math.LN2; + }), + (Sn.prototype.project = function (e) { + var r = t.clamp( + e.lat, + -this.maxValidLatitude, + this.maxValidLatitude, + ); + return new t.Point( + t.mercatorXfromLng(e.lng) * this.worldSize, + t.mercatorYfromLat(r) * this.worldSize, + ); + }), + (Sn.prototype.unproject = function (e) { + return new t.MercatorCoordinate( + e.x / this.worldSize, + e.y / this.worldSize, + ).toLngLat(); + }), + (En.point.get = function () { + return this.project(this.center); + }), + (Sn.prototype.setLocationAtPoint = function (e, r) { + var n = this.pointCoordinate(r), + i = this.pointCoordinate(this.centerPoint), + a = this.locationCoordinate(e), + o = new t.MercatorCoordinate( + a.x - (n.x - i.x), + a.y - (n.y - i.y), + ); + (this.center = this.coordinateLocation(o)), + this._renderWorldCopies && + (this.center = this.center.wrap()); + }), + (Sn.prototype.locationPoint = function (t) { + return this.coordinatePoint( + this.locationCoordinate(t), + ); + }), + (Sn.prototype.pointLocation = function (t) { + return this.coordinateLocation( + this.pointCoordinate(t), + ); + }), + (Sn.prototype.locationCoordinate = function (e) { + return t.MercatorCoordinate.fromLngLat(e); + }), + (Sn.prototype.coordinateLocation = function (t) { + return t.toLngLat(); + }), + (Sn.prototype.pointCoordinate = function (e) { + var r = [e.x, e.y, 0, 1], + n = [e.x, e.y, 1, 1]; + t.transformMat4(r, r, this.pixelMatrixInverse), + t.transformMat4(n, n, this.pixelMatrixInverse); + var i = r[3], + a = n[3], + o = r[0] / i, + s = n[0] / a, + l = r[1] / i, + u = n[1] / a, + c = r[2] / i, + f = n[2] / a, + h = c === f ? 0 : (0 - c) / (f - c); + return new t.MercatorCoordinate( + t.number(o, s, h) / this.worldSize, + t.number(l, u, h) / this.worldSize, + ); + }), + (Sn.prototype.coordinatePoint = function (e) { + var r = [ + e.x * this.worldSize, + e.y * this.worldSize, + 0, + 1, + ]; + return ( + t.transformMat4(r, r, this.pixelMatrix), + new t.Point(r[0] / r[3], r[1] / r[3]) + ); + }), + (Sn.prototype.getBounds = function () { + return new t.LngLatBounds() + .extend(this.pointLocation(new t.Point(0, 0))) + .extend( + this.pointLocation(new t.Point(this.width, 0)), + ) + .extend( + this.pointLocation( + new t.Point(this.width, this.height), + ), + ) + .extend( + this.pointLocation(new t.Point(0, this.height)), + ); + }), + (Sn.prototype.getMaxBounds = function () { + return this.latRange && + 2 === this.latRange.length && + this.lngRange && + 2 === this.lngRange.length + ? new t.LngLatBounds( + [this.lngRange[0], this.latRange[0]], + [this.lngRange[1], this.latRange[1]], + ) + : null; + }), + (Sn.prototype.setMaxBounds = function (t) { + t + ? ((this.lngRange = [t.getWest(), t.getEast()]), + (this.latRange = [t.getSouth(), t.getNorth()]), + this._constrain()) + : ((this.lngRange = null), + (this.latRange = [ + -this.maxValidLatitude, + this.maxValidLatitude, + ])); + }), + (Sn.prototype.calculatePosMatrix = function (e, r) { + void 0 === r && (r = !1); + var n = e.key, + i = r + ? this._alignedPosMatrixCache + : this._posMatrixCache; + if (i[n]) return i[n]; + var a = e.canonical, + o = this.worldSize / this.zoomScale(a.z), + s = a.x + Math.pow(2, a.z) * e.wrap, + l = t.identity(new Float64Array(16)); + return ( + t.translate(l, l, [s * o, a.y * o, 0]), + t.scale(l, l, [o / t.EXTENT, o / t.EXTENT, 1]), + t.multiply( + l, + r ? this.alignedProjMatrix : this.projMatrix, + l, + ), + (i[n] = new Float32Array(l)), + i[n] + ); + }), + (Sn.prototype.customLayerMatrix = function () { + return this.mercatorMatrix.slice(); + }), + (Sn.prototype._constrain = function () { + if ( + this.center && + this.width && + this.height && + !this._constraining + ) { + this._constraining = !0; + var e, + r, + n, + i, + a = -90, + o = 90, + s = -180, + l = 180, + u = this.size, + c = this._unmodified; + if (this.latRange) { + var f = this.latRange; + (a = t.mercatorYfromLat(f[1]) * this.worldSize), + (e = + (o = + t.mercatorYfromLat(f[0]) * + this.worldSize) - + a < + u.y + ? u.y / (o - a) + : 0); + } + if (this.lngRange) { + var h = this.lngRange; + (s = t.mercatorXfromLng(h[0]) * this.worldSize), + (r = + (l = + t.mercatorXfromLng(h[1]) * + this.worldSize) - + s < + u.x + ? u.x / (l - s) + : 0); + } + var p = this.point, + d = Math.max(r || 0, e || 0); + if (d) + return ( + (this.center = this.unproject( + new t.Point( + r ? (l + s) / 2 : p.x, + e ? (o + a) / 2 : p.y, + ), + )), + (this.zoom += this.scaleZoom(d)), + (this._unmodified = c), + void (this._constraining = !1) + ); + if (this.latRange) { + var v = p.y, + g = u.y / 2; + v - g < a && (i = a + g), + v + g > o && (i = o - g); + } + if (this.lngRange) { + var y = p.x, + m = u.x / 2; + y - m < s && (n = s + m), + y + m > l && (n = l - m); + } + (void 0 === n && void 0 === i) || + (this.center = this.unproject( + new t.Point( + void 0 !== n ? n : p.x, + void 0 !== i ? i : p.y, + ), + )), + (this._unmodified = c), + (this._constraining = !1); + } + }), + (Sn.prototype._calcMatrices = function () { + if (this.height) { + var e = this._fov / 2, + r = this.centerOffset; + this.cameraToCenterDistance = + (0.5 / Math.tan(e)) * this.height; + var n = Math.PI / 2 + this._pitch, + i = this._fov * (0.5 + r.y / this.height), + a = + (Math.sin(i) * this.cameraToCenterDistance) / + Math.sin( + t.clamp( + Math.PI - n - i, + 0.01, + Math.PI - 0.01, + ), + ), + o = this.point, + s = o.x, + l = o.y, + u = + 1.01 * + (Math.cos(Math.PI / 2 - this._pitch) * a + + this.cameraToCenterDistance), + c = this.height / 50, + f = new Float64Array(16); + t.perspective( + f, + this._fov, + this.width / this.height, + c, + u, + ), + (f[8] = (2 * -r.x) / this.width), + (f[9] = (2 * r.y) / this.height), + t.scale(f, f, [1, -1, 1]), + t.translate(f, f, [ + 0, + 0, + -this.cameraToCenterDistance, + ]), + t.rotateX(f, f, this._pitch), + t.rotateZ(f, f, this.angle), + t.translate(f, f, [-s, -l, 0]), + (this.mercatorMatrix = t.scale([], f, [ + this.worldSize, + this.worldSize, + this.worldSize, + ])), + t.scale(f, f, [ + 1, + 1, + t.mercatorZfromAltitude(1, this.center.lat) * + this.worldSize, + 1, + ]), + (this.projMatrix = f), + (this.invProjMatrix = t.invert( + [], + this.projMatrix, + )); + var h = (this.width % 2) / 2, + p = (this.height % 2) / 2, + d = Math.cos(this.angle), + v = Math.sin(this.angle), + g = s - Math.round(s) + d * h + v * p, + y = l - Math.round(l) + d * p + v * h, + m = new Float64Array(f); + if ( + (t.translate(m, m, [ + g > 0.5 ? g - 1 : g, + y > 0.5 ? y - 1 : y, + 0, + ]), + (this.alignedProjMatrix = m), + (f = t.create()), + t.scale(f, f, [ + this.width / 2, + -this.height / 2, + 1, + ]), + t.translate(f, f, [1, -1, 0]), + (this.labelPlaneMatrix = f), + (f = t.create()), + t.scale(f, f, [1, -1, 1]), + t.translate(f, f, [-1, -1, 0]), + t.scale(f, f, [ + 2 / this.width, + 2 / this.height, + 1, + ]), + (this.glCoordMatrix = f), + (this.pixelMatrix = t.multiply( + new Float64Array(16), + this.labelPlaneMatrix, + this.projMatrix, + )), + !(f = t.invert( + new Float64Array(16), + this.pixelMatrix, + ))) + ) + throw new Error("failed to invert matrix"); + (this.pixelMatrixInverse = f), + (this._posMatrixCache = {}), + (this._alignedPosMatrixCache = {}); + } + }), + (Sn.prototype.maxPitchScaleFactor = function () { + if (!this.pixelMatrixInverse) return 1; + var e = this.pointCoordinate(new t.Point(0, 0)), + r = [ + e.x * this.worldSize, + e.y * this.worldSize, + 0, + 1, + ]; + return ( + t.transformMat4(r, r, this.pixelMatrix)[3] / + this.cameraToCenterDistance + ); + }), + (Sn.prototype.getCameraPoint = function () { + var e = this._pitch, + r = + Math.tan(e) * + (this.cameraToCenterDistance || 1); + return this.centerPoint.add(new t.Point(0, r)); + }), + (Sn.prototype.getCameraQueryGeometry = function (e) { + var r = this.getCameraPoint(); + if (1 === e.length) return [e[0], r]; + for ( + var n = r.x, + i = r.y, + a = r.x, + o = r.y, + s = 0, + l = e; + s < l.length; + s += 1 + ) { + var u = l[s]; + (n = Math.min(n, u.x)), + (i = Math.min(i, u.y)), + (a = Math.max(a, u.x)), + (o = Math.max(o, u.y)); + } + return [ + new t.Point(n, i), + new t.Point(a, i), + new t.Point(a, o), + new t.Point(n, o), + new t.Point(n, i), + ]; + }), + Object.defineProperties(Sn.prototype, En); + var Ln = function (e) { + var r, n, i, a, o; + (this._hashName = e && encodeURIComponent(e)), + t.bindAll( + [ + "_getCurrentHash", + "_onHashChange", + "_updateHash", + ], + this, + ), + (this._updateHash = + ((r = this._updateHashUnthrottled.bind(this)), + (n = 300), + (i = !1), + (a = null), + (o = function () { + (a = null), + i && (r(), (a = setTimeout(o, n)), (i = !1)); + }), + function () { + return (i = !0), a || o(), a; + })); + }; + (Ln.prototype.addTo = function (e) { + return ( + (this._map = e), + t.window.addEventListener( + "hashchange", + this._onHashChange, + !1, + ), + this._map.on("moveend", this._updateHash), + this + ); + }), + (Ln.prototype.remove = function () { + return ( + t.window.removeEventListener( + "hashchange", + this._onHashChange, + !1, + ), + this._map.off("moveend", this._updateHash), + clearTimeout(this._updateHash()), + delete this._map, + this + ); + }), + (Ln.prototype.getHashString = function (e) { + var r = this._map.getCenter(), + n = Math.round(100 * this._map.getZoom()) / 100, + i = Math.ceil( + (n * Math.LN2 + Math.log(512 / 360 / 0.5)) / + Math.LN10, + ), + a = Math.pow(10, i), + o = Math.round(r.lng * a) / a, + s = Math.round(r.lat * a) / a, + l = this._map.getBearing(), + u = this._map.getPitch(), + c = ""; + if ( + ((c += e + ? "/" + o + "/" + s + "/" + n + : n + "/" + s + "/" + o), + (l || u) && (c += "/" + Math.round(10 * l) / 10), + u && (c += "/" + Math.round(u)), + this._hashName) + ) { + var f = this._hashName, + h = !1, + p = t.window.location.hash + .slice(1) + .split("&") + .map(function (t) { + var e = t.split("=")[0]; + return e === f + ? ((h = !0), e + "=" + c) + : t; + }) + .filter(function (t) { + return t; + }); + return ( + h || p.push(f + "=" + c), "#" + p.join("&") + ); + } + return "#" + c; + }), + (Ln.prototype._getCurrentHash = function () { + var e, + r = this, + n = t.window.location.hash.replace("#", ""); + return this._hashName + ? (n + .split("&") + .map(function (t) { + return t.split("="); + }) + .forEach(function (t) { + t[0] === r._hashName && (e = t); + }), + ((e && e[1]) || "").split("/")) + : n.split("/"); + }), + (Ln.prototype._onHashChange = function () { + var t = this._getCurrentHash(); + if ( + t.length >= 3 && + !t.some(function (t) { + return isNaN(t); + }) + ) { + var e = + this._map.dragRotate.isEnabled() && + this._map.touchZoomRotate.isEnabled() + ? +(t[3] || 0) + : this._map.getBearing(); + return ( + this._map.jumpTo({ + center: [+t[2], +t[1]], + zoom: +t[0], + bearing: e, + pitch: +(t[4] || 0), + }), + !0 + ); + } + return !1; + }), + (Ln.prototype._updateHashUnthrottled = function () { + var e = this.getHashString(); + try { + t.window.history.replaceState( + t.window.history.state, + "", + e, + ); + } catch (t) {} + }); + var Cn = { + linearity: 0.3, + easing: t.bezier(0, 0, 0.3, 1), + }, + Pn = t.extend( + { deceleration: 2500, maxSpeed: 1400 }, + Cn, + ), + On = t.extend( + { deceleration: 20, maxSpeed: 1400 }, + Cn, + ), + In = t.extend( + { deceleration: 1e3, maxSpeed: 360 }, + Cn, + ), + Dn = t.extend( + { deceleration: 1e3, maxSpeed: 90 }, + Cn, + ), + zn = function (t) { + (this._map = t), this.clear(); + }; + function Rn(t, e) { + (!t.duration || t.duration < e.duration) && + ((t.duration = e.duration), (t.easing = e.easing)); + } + function Fn(e, r, n) { + var i = n.maxSpeed, + a = n.linearity, + o = n.deceleration, + s = t.clamp((e * a) / (r / 1e3), -i, i), + l = Math.abs(s) / (o * a); + return { + easing: n.easing, + duration: 1e3 * l, + amount: s * (l / 2), + }; + } + (zn.prototype.clear = function () { + this._inertiaBuffer = []; + }), + (zn.prototype.record = function (e) { + this._drainInertiaBuffer(), + this._inertiaBuffer.push({ + time: t.browser.now(), + settings: e, + }); + }), + (zn.prototype._drainInertiaBuffer = function () { + for ( + var e = this._inertiaBuffer, r = t.browser.now(); + e.length > 0 && r - e[0].time > 160; + + ) + e.shift(); + }), + (zn.prototype._onMoveEnd = function (e) { + if ( + (this._drainInertiaBuffer(), + !(this._inertiaBuffer.length < 2)) + ) { + for ( + var r = { + zoom: 0, + bearing: 0, + pitch: 0, + pan: new t.Point(0, 0), + pinchAround: void 0, + around: void 0, + }, + n = 0, + i = this._inertiaBuffer; + n < i.length; + n += 1 + ) { + var a = i[n].settings; + (r.zoom += a.zoomDelta || 0), + (r.bearing += a.bearingDelta || 0), + (r.pitch += a.pitchDelta || 0), + a.panDelta && r.pan._add(a.panDelta), + a.around && (r.around = a.around), + a.pinchAround && + (r.pinchAround = a.pinchAround); + } + var o = + this._inertiaBuffer[ + this._inertiaBuffer.length - 1 + ].time - this._inertiaBuffer[0].time, + s = {}; + if (r.pan.mag()) { + var l = Fn( + r.pan.mag(), + o, + t.extend({}, Pn, e || {}), + ); + (s.offset = r.pan.mult(l.amount / r.pan.mag())), + (s.center = this._map.transform.center), + Rn(s, l); + } + if (r.zoom) { + var u = Fn(r.zoom, o, On); + (s.zoom = this._map.transform.zoom + u.amount), + Rn(s, u); + } + if (r.bearing) { + var c = Fn(r.bearing, o, In); + (s.bearing = + this._map.transform.bearing + + t.clamp(c.amount, -179, 179)), + Rn(s, c); + } + if (r.pitch) { + var f = Fn(r.pitch, o, Dn); + (s.pitch = + this._map.transform.pitch + f.amount), + Rn(s, f); + } + if (s.zoom || s.bearing) { + var h = + void 0 === r.pinchAround + ? r.around + : r.pinchAround; + s.around = h + ? this._map.unproject(h) + : this._map.getCenter(); + } + return ( + this.clear(), t.extend(s, { noMoveStart: !0 }) + ); + } + }); + var Bn = (function (e) { + function n(n, i, a, o) { + void 0 === o && (o = {}); + var s = r.mousePos(i.getCanvasContainer(), a), + l = i.unproject(s); + e.call( + this, + n, + t.extend( + { point: s, lngLat: l, originalEvent: a }, + o, + ), + ), + (this._defaultPrevented = !1), + (this.target = i); + } + e && (n.__proto__ = e), + (n.prototype = Object.create(e && e.prototype)), + (n.prototype.constructor = n); + var i = { defaultPrevented: { configurable: !0 } }; + return ( + (n.prototype.preventDefault = function () { + this._defaultPrevented = !0; + }), + (i.defaultPrevented.get = function () { + return this._defaultPrevented; + }), + Object.defineProperties(n.prototype, i), + n + ); + })(t.Event), + Nn = (function (e) { + function n(n, i, a) { + var o = + "touchend" === n + ? a.changedTouches + : a.touches, + s = r.touchPos(i.getCanvasContainer(), o), + l = s.map(function (t) { + return i.unproject(t); + }), + u = s.reduce( + function (t, e, r, n) { + return t.add(e.div(n.length)); + }, + new t.Point(0, 0), + ), + c = i.unproject(u); + e.call(this, n, { + points: s, + point: u, + lngLats: l, + lngLat: c, + originalEvent: a, + }), + (this._defaultPrevented = !1); + } + e && (n.__proto__ = e), + (n.prototype = Object.create(e && e.prototype)), + (n.prototype.constructor = n); + var i = { defaultPrevented: { configurable: !0 } }; + return ( + (n.prototype.preventDefault = function () { + this._defaultPrevented = !0; + }), + (i.defaultPrevented.get = function () { + return this._defaultPrevented; + }), + Object.defineProperties(n.prototype, i), + n + ); + })(t.Event), + jn = (function (t) { + function e(e, r, n) { + t.call(this, e, { originalEvent: n }), + (this._defaultPrevented = !1); + } + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e); + var r = { defaultPrevented: { configurable: !0 } }; + return ( + (e.prototype.preventDefault = function () { + this._defaultPrevented = !0; + }), + (r.defaultPrevented.get = function () { + return this._defaultPrevented; + }), + Object.defineProperties(e.prototype, r), + e + ); + })(t.Event), + Un = function (t, e) { + (this._map = t), + (this._clickTolerance = e.clickTolerance); + }; + (Un.prototype.reset = function () { + delete this._mousedownPos; + }), + (Un.prototype.wheel = function (t) { + return this._firePreventable( + new jn(t.type, this._map, t), + ); + }), + (Un.prototype.mousedown = function (t, e) { + return ( + (this._mousedownPos = e), + this._firePreventable( + new Bn(t.type, this._map, t), + ) + ); + }), + (Un.prototype.mouseup = function (t) { + this._map.fire(new Bn(t.type, this._map, t)); + }), + (Un.prototype.click = function (t, e) { + (this._mousedownPos && + this._mousedownPos.dist(e) >= + this._clickTolerance) || + this._map.fire(new Bn(t.type, this._map, t)); + }), + (Un.prototype.dblclick = function (t) { + return this._firePreventable( + new Bn(t.type, this._map, t), + ); + }), + (Un.prototype.mouseover = function (t) { + this._map.fire(new Bn(t.type, this._map, t)); + }), + (Un.prototype.mouseout = function (t) { + this._map.fire(new Bn(t.type, this._map, t)); + }), + (Un.prototype.touchstart = function (t) { + return this._firePreventable( + new Nn(t.type, this._map, t), + ); + }), + (Un.prototype.touchmove = function (t) { + this._map.fire(new Nn(t.type, this._map, t)); + }), + (Un.prototype.touchend = function (t) { + this._map.fire(new Nn(t.type, this._map, t)); + }), + (Un.prototype.touchcancel = function (t) { + this._map.fire(new Nn(t.type, this._map, t)); + }), + (Un.prototype._firePreventable = function (t) { + if ((this._map.fire(t), t.defaultPrevented)) + return {}; + }), + (Un.prototype.isEnabled = function () { + return !0; + }), + (Un.prototype.isActive = function () { + return !1; + }), + (Un.prototype.enable = function () {}), + (Un.prototype.disable = function () {}); + var Vn = function (t) { + this._map = t; + }; + (Vn.prototype.reset = function () { + (this._delayContextMenu = !1), + delete this._contextMenuEvent; + }), + (Vn.prototype.mousemove = function (t) { + this._map.fire(new Bn(t.type, this._map, t)); + }), + (Vn.prototype.mousedown = function () { + this._delayContextMenu = !0; + }), + (Vn.prototype.mouseup = function () { + (this._delayContextMenu = !1), + this._contextMenuEvent && + (this._map.fire( + new Bn( + "contextmenu", + this._map, + this._contextMenuEvent, + ), + ), + delete this._contextMenuEvent); + }), + (Vn.prototype.contextmenu = function (t) { + this._delayContextMenu + ? (this._contextMenuEvent = t) + : this._map.fire(new Bn(t.type, this._map, t)), + this._map.listens("contextmenu") && + t.preventDefault(); + }), + (Vn.prototype.isEnabled = function () { + return !0; + }), + (Vn.prototype.isActive = function () { + return !1; + }), + (Vn.prototype.enable = function () {}), + (Vn.prototype.disable = function () {}); + var Hn = function (t, e) { + (this._map = t), + (this._el = t.getCanvasContainer()), + (this._container = t.getContainer()), + (this._clickTolerance = e.clickTolerance || 1); + }; + function qn(t, e) { + for (var r = {}, n = 0; n < t.length; n++) + r[t[n].identifier] = e[n]; + return r; + } + (Hn.prototype.isEnabled = function () { + return !!this._enabled; + }), + (Hn.prototype.isActive = function () { + return !!this._active; + }), + (Hn.prototype.enable = function () { + this.isEnabled() || (this._enabled = !0); + }), + (Hn.prototype.disable = function () { + this.isEnabled() && (this._enabled = !1); + }), + (Hn.prototype.mousedown = function (t, e) { + this.isEnabled() && + t.shiftKey && + 0 === t.button && + (r.disableDrag(), + (this._startPos = this._lastPos = e), + (this._active = !0)); + }), + (Hn.prototype.mousemoveWindow = function (t, e) { + if (this._active) { + var n = e; + if ( + !( + this._lastPos.equals(n) || + (!this._box && + n.dist(this._startPos) < + this._clickTolerance) + ) + ) { + var i = this._startPos; + (this._lastPos = n), + this._box || + ((this._box = r.create( + "div", + "mapboxgl-boxzoom", + this._container, + )), + this._container.classList.add( + "mapboxgl-crosshair", + ), + this._fireEvent("boxzoomstart", t)); + var a = Math.min(i.x, n.x), + o = Math.max(i.x, n.x), + s = Math.min(i.y, n.y), + l = Math.max(i.y, n.y); + r.setTransform( + this._box, + "translate(" + a + "px," + s + "px)", + ), + (this._box.style.width = o - a + "px"), + (this._box.style.height = l - s + "px"); + } + } + }), + (Hn.prototype.mouseupWindow = function (e, n) { + var i = this; + if (this._active && 0 === e.button) { + var a = this._startPos, + o = n; + if ( + (this.reset(), + r.suppressClick(), + a.x !== o.x || a.y !== o.y) + ) + return ( + this._map.fire( + new t.Event("boxzoomend", { + originalEvent: e, + }), + ), + { + cameraAnimation: function (t) { + return t.fitScreenCoordinates( + a, + o, + i._map.getBearing(), + { linear: !0 }, + ); + }, + } + ); + this._fireEvent("boxzoomcancel", e); + } + }), + (Hn.prototype.keydown = function (t) { + this._active && + 27 === t.keyCode && + (this.reset(), + this._fireEvent("boxzoomcancel", t)); + }), + (Hn.prototype.reset = function () { + (this._active = !1), + this._container.classList.remove( + "mapboxgl-crosshair", + ), + this._box && + (r.remove(this._box), (this._box = null)), + r.enableDrag(), + delete this._startPos, + delete this._lastPos; + }), + (Hn.prototype._fireEvent = function (e, r) { + return this._map.fire( + new t.Event(e, { originalEvent: r }), + ); + }); + var Gn = function (t) { + this.reset(), (this.numTouches = t.numTouches); + }; + (Gn.prototype.reset = function () { + delete this.centroid, + delete this.startTime, + delete this.touches, + (this.aborted = !1); + }), + (Gn.prototype.touchstart = function (e, r, n) { + (this.centroid || n.length > this.numTouches) && + (this.aborted = !0), + this.aborted || + (void 0 === this.startTime && + (this.startTime = e.timeStamp), + n.length === this.numTouches && + ((this.centroid = (function (e) { + for ( + var r = new t.Point(0, 0), n = 0, i = e; + n < i.length; + n += 1 + ) { + var a = i[n]; + r._add(a); + } + return r.div(e.length); + })(r)), + (this.touches = qn(n, r)))); + }), + (Gn.prototype.touchmove = function (t, e, r) { + if (!this.aborted && this.centroid) { + var n = qn(r, e); + for (var i in this.touches) { + var a = this.touches[i], + o = n[i]; + (!o || o.dist(a) > 30) && (this.aborted = !0); + } + } + }), + (Gn.prototype.touchend = function (t, e, r) { + if ( + ((!this.centroid || + t.timeStamp - this.startTime > 500) && + (this.aborted = !0), + 0 === r.length) + ) { + var n = !this.aborted && this.centroid; + if ((this.reset(), n)) return n; + } + }); + var Zn = function (t) { + (this.singleTap = new Gn(t)), + (this.numTaps = t.numTaps), + this.reset(); + }; + (Zn.prototype.reset = function () { + (this.lastTime = 1 / 0), + delete this.lastTap, + (this.count = 0), + this.singleTap.reset(); + }), + (Zn.prototype.touchstart = function (t, e, r) { + this.singleTap.touchstart(t, e, r); + }), + (Zn.prototype.touchmove = function (t, e, r) { + this.singleTap.touchmove(t, e, r); + }), + (Zn.prototype.touchend = function (t, e, r) { + var n = this.singleTap.touchend(t, e, r); + if (n) { + var i = t.timeStamp - this.lastTime < 500, + a = !this.lastTap || this.lastTap.dist(n) < 30; + if ( + ((i && a) || this.reset(), + this.count++, + (this.lastTime = t.timeStamp), + (this.lastTap = n), + this.count === this.numTaps) + ) + return this.reset(), n; + } + }); + var Yn = function () { + (this._zoomIn = new Zn({ + numTouches: 1, + numTaps: 2, + })), + (this._zoomOut = new Zn({ + numTouches: 2, + numTaps: 1, + })), + this.reset(); + }; + (Yn.prototype.reset = function () { + (this._active = !1), + this._zoomIn.reset(), + this._zoomOut.reset(); + }), + (Yn.prototype.touchstart = function (t, e, r) { + this._zoomIn.touchstart(t, e, r), + this._zoomOut.touchstart(t, e, r); + }), + (Yn.prototype.touchmove = function (t, e, r) { + this._zoomIn.touchmove(t, e, r), + this._zoomOut.touchmove(t, e, r); + }), + (Yn.prototype.touchend = function (t, e, r) { + var n = this, + i = this._zoomIn.touchend(t, e, r), + a = this._zoomOut.touchend(t, e, r); + return i + ? ((this._active = !0), + t.preventDefault(), + setTimeout(function () { + return n.reset(); + }, 0), + { + cameraAnimation: function (e) { + return e.easeTo( + { + duration: 300, + zoom: e.getZoom() + 1, + around: e.unproject(i), + }, + { originalEvent: t }, + ); + }, + }) + : a + ? ((this._active = !0), + t.preventDefault(), + setTimeout(function () { + return n.reset(); + }, 0), + { + cameraAnimation: function (e) { + return e.easeTo( + { + duration: 300, + zoom: e.getZoom() - 1, + around: e.unproject(a), + }, + { originalEvent: t }, + ); + }, + }) + : void 0; + }), + (Yn.prototype.touchcancel = function () { + this.reset(); + }), + (Yn.prototype.enable = function () { + this._enabled = !0; + }), + (Yn.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + (Yn.prototype.isEnabled = function () { + return this._enabled; + }), + (Yn.prototype.isActive = function () { + return this._active; + }); + var Wn = function (t) { + this.reset(), + (this._clickTolerance = t.clickTolerance || 1); + }; + (Wn.prototype.reset = function () { + (this._active = !1), + (this._moved = !1), + delete this._lastPoint, + delete this._eventButton; + }), + (Wn.prototype._correctButton = function (t, e) { + return !1; + }), + (Wn.prototype._move = function (t, e) { + return {}; + }), + (Wn.prototype.mousedown = function (t, e) { + if (!this._lastPoint) { + var n = r.mouseButton(t); + this._correctButton(t, n) && + ((this._lastPoint = e), + (this._eventButton = n)); + } + }), + (Wn.prototype.mousemoveWindow = function (t, e) { + var r = this._lastPoint; + if ( + r && + (t.preventDefault(), + this._moved || + !(e.dist(r) < this._clickTolerance)) + ) + return ( + (this._moved = !0), + (this._lastPoint = e), + this._move(r, e) + ); + }), + (Wn.prototype.mouseupWindow = function (t) { + r.mouseButton(t) === this._eventButton && + (this._moved && r.suppressClick(), this.reset()); + }), + (Wn.prototype.enable = function () { + this._enabled = !0; + }), + (Wn.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + (Wn.prototype.isEnabled = function () { + return this._enabled; + }), + (Wn.prototype.isActive = function () { + return this._active; + }); + var Xn = (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.mousedown = function (e, r) { + t.prototype.mousedown.call(this, e, r), + this._lastPoint && (this._active = !0); + }), + (e.prototype._correctButton = function (t, e) { + return 0 === e && !t.ctrlKey; + }), + (e.prototype._move = function (t, e) { + return { around: e, panDelta: e.sub(t) }; + }), + e + ); + })(Wn), + Jn = (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._correctButton = function (t, e) { + return (0 === e && t.ctrlKey) || 2 === e; + }), + (e.prototype._move = function (t, e) { + var r = 0.8 * (e.x - t.x); + if (r) + return ( + (this._active = !0), { bearingDelta: r } + ); + }), + (e.prototype.contextmenu = function (t) { + t.preventDefault(); + }), + e + ); + })(Wn), + Kn = (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._correctButton = function (t, e) { + return (0 === e && t.ctrlKey) || 2 === e; + }), + (e.prototype._move = function (t, e) { + var r = -0.5 * (e.y - t.y); + if (r) + return (this._active = !0), { pitchDelta: r }; + }), + (e.prototype.contextmenu = function (t) { + t.preventDefault(); + }), + e + ); + })(Wn), + $n = function (t) { + (this._minTouches = 1), + (this._clickTolerance = t.clickTolerance || 1), + this.reset(); + }; + ($n.prototype.reset = function () { + (this._active = !1), + (this._touches = {}), + (this._sum = new t.Point(0, 0)); + }), + ($n.prototype.touchstart = function (t, e, r) { + return this._calculateTransform(t, e, r); + }), + ($n.prototype.touchmove = function (t, e, r) { + if (this._active) + return ( + t.preventDefault(), + this._calculateTransform(t, e, r) + ); + }), + ($n.prototype.touchend = function (t, e, r) { + this._calculateTransform(t, e, r), + this._active && + r.length < this._minTouches && + this.reset(); + }), + ($n.prototype.touchcancel = function () { + this.reset(); + }), + ($n.prototype._calculateTransform = function ( + e, + r, + n, + ) { + n.length > 0 && (this._active = !0); + var i = qn(n, r), + a = new t.Point(0, 0), + o = new t.Point(0, 0), + s = 0; + for (var l in i) { + var u = i[l], + c = this._touches[l]; + c && + (a._add(u), o._add(u.sub(c)), s++, (i[l] = u)); + } + if ( + ((this._touches = i), + !(s < this._minTouches) && o.mag()) + ) { + var f = o.div(s); + if ( + (this._sum._add(f), + !(this._sum.mag() < this._clickTolerance)) + ) + return { around: a.div(s), panDelta: f }; + } + }), + ($n.prototype.enable = function () { + this._enabled = !0; + }), + ($n.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + ($n.prototype.isEnabled = function () { + return this._enabled; + }), + ($n.prototype.isActive = function () { + return this._active; + }); + var Qn = function () { + this.reset(); + }; + function ti(t, e, r) { + for (var n = 0; n < t.length; n++) + if (t[n].identifier === r) return e[n]; + } + (Qn.prototype.reset = function () { + (this._active = !1), delete this._firstTwoTouches; + }), + (Qn.prototype._start = function (t) {}), + (Qn.prototype._move = function (t, e, r) { + return {}; + }), + (Qn.prototype.touchstart = function (t, e, r) { + this._firstTwoTouches || + r.length < 2 || + ((this._firstTwoTouches = [ + r[0].identifier, + r[1].identifier, + ]), + this._start([e[0], e[1]])); + }), + (Qn.prototype.touchmove = function (t, e, r) { + if (this._firstTwoTouches) { + t.preventDefault(); + var n = this._firstTwoTouches, + i = n[0], + a = n[1], + o = ti(r, e, i), + s = ti(r, e, a); + if (o && s) { + var l = this._aroundCenter + ? null + : o.add(s).div(2); + return this._move([o, s], l, t); + } + } + }), + (Qn.prototype.touchend = function (t, e, n) { + if (this._firstTwoTouches) { + var i = this._firstTwoTouches, + a = i[0], + o = i[1], + s = ti(n, e, a), + l = ti(n, e, o); + (s && l) || + (this._active && r.suppressClick(), + this.reset()); + } + }), + (Qn.prototype.touchcancel = function () { + this.reset(); + }), + (Qn.prototype.enable = function (t) { + (this._enabled = !0), + (this._aroundCenter = + !!t && "center" === t.around); + }), + (Qn.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + (Qn.prototype.isEnabled = function () { + return this._enabled; + }), + (Qn.prototype.isActive = function () { + return this._active; + }); + function ei(t, e) { + return Math.log(t / e) / Math.LN2; + } + var ri = (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.reset = function () { + t.prototype.reset.call(this), + delete this._distance, + delete this._startDistance; + }), + (e.prototype._start = function (t) { + this._startDistance = this._distance = t[0].dist( + t[1], + ); + }), + (e.prototype._move = function (t, e) { + var r = this._distance; + if ( + ((this._distance = t[0].dist(t[1])), + this._active || + !( + Math.abs( + ei(this._distance, this._startDistance), + ) < 0.1 + )) + ) + return ( + (this._active = !0), + { + zoomDelta: ei(this._distance, r), + pinchAround: e, + } + ); + }), + e + ); + })(Qn); + function ni(t, e) { + return (180 * t.angleWith(e)) / Math.PI; + } + var ii = (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.reset = function () { + t.prototype.reset.call(this), + delete this._minDiameter, + delete this._startVector, + delete this._vector; + }), + (e.prototype._start = function (t) { + (this._startVector = this._vector = + t[0].sub(t[1])), + (this._minDiameter = t[0].dist(t[1])); + }), + (e.prototype._move = function (t, e) { + var r = this._vector; + if ( + ((this._vector = t[0].sub(t[1])), + this._active || + !this._isBelowThreshold(this._vector)) + ) + return ( + (this._active = !0), + { + bearingDelta: ni(this._vector, r), + pinchAround: e, + } + ); + }), + (e.prototype._isBelowThreshold = function (t) { + this._minDiameter = Math.min( + this._minDiameter, + t.mag(), + ); + var e = + (25 / (Math.PI * this._minDiameter)) * 360, + r = ni(t, this._startVector); + return Math.abs(r) < e; + }), + e + ); + })(Qn); + function ai(t) { + return Math.abs(t.y) > Math.abs(t.x); + } + var oi = (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.reset = function () { + t.prototype.reset.call(this), + (this._valid = void 0), + delete this._firstMove, + delete this._lastPoints; + }), + (e.prototype._start = function (t) { + (this._lastPoints = t), + ai(t[0].sub(t[1])) && (this._valid = !1); + }), + (e.prototype._move = function (t, e, r) { + var n = t[0].sub(this._lastPoints[0]), + i = t[1].sub(this._lastPoints[1]); + if ( + ((this._valid = this.gestureBeginsVertically( + n, + i, + r.timeStamp, + )), + this._valid) + ) + return ( + (this._lastPoints = t), + (this._active = !0), + { pitchDelta: ((n.y + i.y) / 2) * -0.5 } + ); + }), + (e.prototype.gestureBeginsVertically = function ( + t, + e, + r, + ) { + if (void 0 !== this._valid) return this._valid; + var n = t.mag() >= 2, + i = e.mag() >= 2; + if (n || i) { + if (!n || !i) + return ( + void 0 === this._firstMove && + (this._firstMove = r), + r - this._firstMove < 100 && void 0 + ); + var a = t.y > 0 == e.y > 0; + return ai(t) && ai(e) && a; + } + }), + e + ); + })(Qn), + si = { panStep: 100, bearingStep: 15, pitchStep: 10 }, + li = function () { + var t = si; + (this._panStep = t.panStep), + (this._bearingStep = t.bearingStep), + (this._pitchStep = t.pitchStep); + }; + function ui(t) { + return t * (2 - t); + } + (li.prototype.reset = function () { + this._active = !1; + }), + (li.prototype.keydown = function (t) { + var e = this; + if (!(t.altKey || t.ctrlKey || t.metaKey)) { + var r = 0, + n = 0, + i = 0, + a = 0, + o = 0; + switch (t.keyCode) { + case 61: + case 107: + case 171: + case 187: + r = 1; + break; + case 189: + case 109: + case 173: + r = -1; + break; + case 37: + t.shiftKey + ? (n = -1) + : (t.preventDefault(), (a = -1)); + break; + case 39: + t.shiftKey + ? (n = 1) + : (t.preventDefault(), (a = 1)); + break; + case 38: + t.shiftKey + ? (i = 1) + : (t.preventDefault(), (o = -1)); + break; + case 40: + t.shiftKey + ? (i = -1) + : (t.preventDefault(), (o = 1)); + break; + default: + return; + } + return { + cameraAnimation: function (s) { + var l = s.getZoom(); + s.easeTo( + { + duration: 300, + easeId: "keyboardHandler", + easing: ui, + zoom: r + ? Math.round(l) + + r * (t.shiftKey ? 2 : 1) + : l, + bearing: + s.getBearing() + n * e._bearingStep, + pitch: s.getPitch() + i * e._pitchStep, + offset: [ + -a * e._panStep, + -o * e._panStep, + ], + center: s.getCenter(), + }, + { originalEvent: t }, + ); + }, + }; + } + }), + (li.prototype.enable = function () { + this._enabled = !0; + }), + (li.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + (li.prototype.isEnabled = function () { + return this._enabled; + }), + (li.prototype.isActive = function () { + return this._active; + }); + var ci = 4.000244140625, + fi = function (e, r) { + (this._map = e), + (this._el = e.getCanvasContainer()), + (this._handler = r), + (this._delta = 0), + (this._defaultZoomRate = 0.01), + (this._wheelZoomRate = 0.0022222222222222222), + t.bindAll( + [ + "_onWheel", + "_onTimeout", + "_onScrollFrame", + "_onScrollFinished", + ], + this, + ); + }; + (fi.prototype.setZoomRate = function (t) { + this._defaultZoomRate = t; + }), + (fi.prototype.setWheelZoomRate = function (t) { + this._wheelZoomRate = t; + }), + (fi.prototype.isEnabled = function () { + return !!this._enabled; + }), + (fi.prototype.isActive = function () { + return ( + !!this._active || void 0 !== this._finishTimeout + ); + }), + (fi.prototype.isZooming = function () { + return !!this._zooming; + }), + (fi.prototype.enable = function (t) { + this.isEnabled() || + ((this._enabled = !0), + (this._aroundCenter = + t && "center" === t.around)); + }), + (fi.prototype.disable = function () { + this.isEnabled() && (this._enabled = !1); + }), + (fi.prototype.wheel = function (e) { + if (this.isEnabled()) { + var r = + e.deltaMode === + t.window.WheelEvent.DOM_DELTA_LINE + ? 40 * e.deltaY + : e.deltaY, + n = t.browser.now(), + i = n - (this._lastWheelEventTime || 0); + (this._lastWheelEventTime = n), + 0 !== r && r % ci == 0 + ? (this._type = "wheel") + : 0 !== r && Math.abs(r) < 4 + ? (this._type = "trackpad") + : i > 400 + ? ((this._type = null), + (this._lastValue = r), + (this._timeout = setTimeout( + this._onTimeout, + 40, + e, + ))) + : this._type || + ((this._type = + Math.abs(i * r) < 200 + ? "trackpad" + : "wheel"), + this._timeout && + (clearTimeout(this._timeout), + (this._timeout = null), + (r += this._lastValue))), + e.shiftKey && r && (r /= 4), + this._type && + ((this._lastWheelEvent = e), + (this._delta -= r), + this._active || this._start(e)), + e.preventDefault(); + } + }), + (fi.prototype._onTimeout = function (t) { + (this._type = "wheel"), + (this._delta -= this._lastValue), + this._active || this._start(t); + }), + (fi.prototype._start = function (e) { + if (this._delta) { + this._frameId && (this._frameId = null), + (this._active = !0), + this.isZooming() || (this._zooming = !0), + this._finishTimeout && + (clearTimeout(this._finishTimeout), + delete this._finishTimeout); + var n = r.mousePos(this._el, e); + (this._around = t.LngLat.convert( + this._aroundCenter + ? this._map.getCenter() + : this._map.unproject(n), + )), + (this._aroundPoint = + this._map.transform.locationPoint( + this._around, + )), + this._frameId || + ((this._frameId = !0), + this._handler._triggerRenderFrame()); + } + }), + (fi.prototype.renderFrame = function () { + return this._onScrollFrame(); + }), + (fi.prototype._onScrollFrame = function () { + var e = this; + if ( + this._frameId && + ((this._frameId = null), this.isActive()) + ) { + var r = this._map.transform; + if (0 !== this._delta) { + var n = + "wheel" === this._type && + Math.abs(this._delta) > ci + ? this._wheelZoomRate + : this._defaultZoomRate, + i = + 2 / + (1 + Math.exp(-Math.abs(this._delta * n))); + this._delta < 0 && 0 !== i && (i = 1 / i); + var a = + "number" == typeof this._targetZoom + ? r.zoomScale(this._targetZoom) + : r.scale; + (this._targetZoom = Math.min( + r.maxZoom, + Math.max(r.minZoom, r.scaleZoom(a * i)), + )), + "wheel" === this._type && + ((this._startZoom = r.zoom), + (this._easing = + this._smoothOutEasing(200))), + (this._delta = 0); + } + var o, + s = + "number" == typeof this._targetZoom + ? this._targetZoom + : r.zoom, + l = this._startZoom, + u = this._easing, + c = !1; + if ("wheel" === this._type && l && u) { + var f = Math.min( + (t.browser.now() - + this._lastWheelEventTime) / + 200, + 1, + ), + h = u(f); + (o = t.number(l, s, h)), + f < 1 + ? this._frameId || (this._frameId = !0) + : (c = !0); + } else (o = s), (c = !0); + return ( + (this._active = !0), + c && + ((this._active = !1), + (this._finishTimeout = setTimeout( + function () { + (e._zooming = !1), + e._handler._triggerRenderFrame(), + delete e._targetZoom, + delete e._finishTimeout; + }, + 200, + ))), + { + noInertia: !0, + needsRenderFrame: !c, + zoomDelta: o - r.zoom, + around: this._aroundPoint, + originalEvent: this._lastWheelEvent, + } + ); + } + }), + (fi.prototype._smoothOutEasing = function (e) { + var r = t.ease; + if (this._prevEase) { + var n = this._prevEase, + i = (t.browser.now() - n.start) / n.duration, + a = n.easing(i + 0.01) - n.easing(i), + o = (0.27 / Math.sqrt(a * a + 1e-4)) * 0.01, + s = Math.sqrt(0.0729 - o * o); + r = t.bezier(o, s, 0.25, 1); + } + return ( + (this._prevEase = { + start: t.browser.now(), + duration: e, + easing: r, + }), + r + ); + }), + (fi.prototype.reset = function () { + this._active = !1; + }); + var hi = function (t, e) { + (this._clickZoom = t), (this._tapZoom = e); + }; + (hi.prototype.enable = function () { + this._clickZoom.enable(), this._tapZoom.enable(); + }), + (hi.prototype.disable = function () { + this._clickZoom.disable(), this._tapZoom.disable(); + }), + (hi.prototype.isEnabled = function () { + return ( + this._clickZoom.isEnabled() && + this._tapZoom.isEnabled() + ); + }), + (hi.prototype.isActive = function () { + return ( + this._clickZoom.isActive() || + this._tapZoom.isActive() + ); + }); + var pi = function () { + this.reset(); + }; + (pi.prototype.reset = function () { + this._active = !1; + }), + (pi.prototype.dblclick = function (t, e) { + return ( + t.preventDefault(), + { + cameraAnimation: function (r) { + r.easeTo( + { + duration: 300, + zoom: r.getZoom() + (t.shiftKey ? -1 : 1), + around: r.unproject(e), + }, + { originalEvent: t }, + ); + }, + } + ); + }), + (pi.prototype.enable = function () { + this._enabled = !0; + }), + (pi.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + (pi.prototype.isEnabled = function () { + return this._enabled; + }), + (pi.prototype.isActive = function () { + return this._active; + }); + var di = function () { + (this._tap = new Zn({ numTouches: 1, numTaps: 1 })), + this.reset(); + }; + (di.prototype.reset = function () { + (this._active = !1), + delete this._swipePoint, + delete this._swipeTouch, + delete this._tapTime, + this._tap.reset(); + }), + (di.prototype.touchstart = function (t, e, r) { + this._swipePoint || + (this._tapTime && + t.timeStamp - this._tapTime > 500 && + this.reset(), + this._tapTime + ? r.length > 0 && + ((this._swipePoint = e[0]), + (this._swipeTouch = r[0].identifier)) + : this._tap.touchstart(t, e, r)); + }), + (di.prototype.touchmove = function (t, e, r) { + if (this._tapTime) { + if (this._swipePoint) { + if (r[0].identifier !== this._swipeTouch) + return; + var n = e[0], + i = n.y - this._swipePoint.y; + return ( + (this._swipePoint = n), + t.preventDefault(), + (this._active = !0), + { zoomDelta: i / 128 } + ); + } + } else this._tap.touchmove(t, e, r); + }), + (di.prototype.touchend = function (t, e, r) { + this._tapTime + ? this._swipePoint && + 0 === r.length && + this.reset() + : this._tap.touchend(t, e, r) && + (this._tapTime = t.timeStamp); + }), + (di.prototype.touchcancel = function () { + this.reset(); + }), + (di.prototype.enable = function () { + this._enabled = !0; + }), + (di.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + (di.prototype.isEnabled = function () { + return this._enabled; + }), + (di.prototype.isActive = function () { + return this._active; + }); + var vi = function (t, e, r) { + (this._el = t), + (this._mousePan = e), + (this._touchPan = r); + }; + (vi.prototype.enable = function (t) { + (this._inertiaOptions = t || {}), + this._mousePan.enable(), + this._touchPan.enable(), + this._el.classList.add("mapboxgl-touch-drag-pan"); + }), + (vi.prototype.disable = function () { + this._mousePan.disable(), + this._touchPan.disable(), + this._el.classList.remove( + "mapboxgl-touch-drag-pan", + ); + }), + (vi.prototype.isEnabled = function () { + return ( + this._mousePan.isEnabled() && + this._touchPan.isEnabled() + ); + }), + (vi.prototype.isActive = function () { + return ( + this._mousePan.isActive() || + this._touchPan.isActive() + ); + }); + var gi = function (t, e, r) { + (this._pitchWithRotate = t.pitchWithRotate), + (this._mouseRotate = e), + (this._mousePitch = r); + }; + (gi.prototype.enable = function () { + this._mouseRotate.enable(), + this._pitchWithRotate && this._mousePitch.enable(); + }), + (gi.prototype.disable = function () { + this._mouseRotate.disable(), + this._mousePitch.disable(); + }), + (gi.prototype.isEnabled = function () { + return ( + this._mouseRotate.isEnabled() && + (!this._pitchWithRotate || + this._mousePitch.isEnabled()) + ); + }), + (gi.prototype.isActive = function () { + return ( + this._mouseRotate.isActive() || + this._mousePitch.isActive() + ); + }); + var yi = function (t, e, r, n) { + (this._el = t), + (this._touchZoom = e), + (this._touchRotate = r), + (this._tapDragZoom = n), + (this._rotationDisabled = !1), + (this._enabled = !0); + }; + (yi.prototype.enable = function (t) { + this._touchZoom.enable(t), + this._rotationDisabled || + this._touchRotate.enable(t), + this._tapDragZoom.enable(), + this._el.classList.add( + "mapboxgl-touch-zoom-rotate", + ); + }), + (yi.prototype.disable = function () { + this._touchZoom.disable(), + this._touchRotate.disable(), + this._tapDragZoom.disable(), + this._el.classList.remove( + "mapboxgl-touch-zoom-rotate", + ); + }), + (yi.prototype.isEnabled = function () { + return ( + this._touchZoom.isEnabled() && + (this._rotationDisabled || + this._touchRotate.isEnabled()) && + this._tapDragZoom.isEnabled() + ); + }), + (yi.prototype.isActive = function () { + return ( + this._touchZoom.isActive() || + this._touchRotate.isActive() || + this._tapDragZoom.isActive() + ); + }), + (yi.prototype.disableRotation = function () { + (this._rotationDisabled = !0), + this._touchRotate.disable(); + }), + (yi.prototype.enableRotation = function () { + (this._rotationDisabled = !1), + this._touchZoom.isEnabled() && + this._touchRotate.enable(); + }); + var mi = function (t) { + return t.zoom || t.drag || t.pitch || t.rotate; + }, + xi = (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 + ); + })(t.Event); + function bi(t) { + return ( + (t.panDelta && t.panDelta.mag()) || + t.zoomDelta || + t.bearingDelta || + t.pitchDelta + ); + } + var _i = function (e, n) { + (this._map = e), + (this._el = this._map.getCanvasContainer()), + (this._handlers = []), + (this._handlersById = {}), + (this._changes = []), + (this._inertia = new zn(e)), + (this._bearingSnap = n.bearingSnap), + (this._previousActiveHandlers = {}), + (this._eventsInProgress = {}), + this._addDefaultHandlers(n), + t.bindAll( + ["handleEvent", "handleWindowEvent"], + this, + ); + var i = this._el; + this._listeners = [ + [i, "touchstart", { passive: !1 }], + [i, "touchmove", { passive: !1 }], + [i, "touchend", void 0], + [i, "touchcancel", void 0], + [i, "mousedown", void 0], + [i, "mousemove", void 0], + [i, "mouseup", void 0], + [t.window.document, "mousemove", { capture: !0 }], + [t.window.document, "mouseup", void 0], + [i, "mouseover", void 0], + [i, "mouseout", void 0], + [i, "dblclick", void 0], + [i, "click", void 0], + [i, "keydown", { capture: !1 }], + [i, "keyup", void 0], + [i, "wheel", { passive: !1 }], + [i, "contextmenu", void 0], + [t.window, "blur", void 0], + ]; + for ( + var a = 0, o = this._listeners; + a < o.length; + a += 1 + ) { + var s = o[a], + l = s[0], + u = s[1], + c = s[2]; + r.addEventListener( + l, + u, + l === t.window.document + ? this.handleWindowEvent + : this.handleEvent, + c, + ); + } + }; + (_i.prototype.destroy = function () { + for ( + var e = 0, n = this._listeners; + e < n.length; + e += 1 + ) { + var i = n[e], + a = i[0], + o = i[1], + s = i[2]; + r.removeEventListener( + a, + o, + a === t.window.document + ? this.handleWindowEvent + : this.handleEvent, + s, + ); + } + }), + (_i.prototype._addDefaultHandlers = function (t) { + var e = this._map, + r = e.getCanvasContainer(); + this._add("mapEvent", new Un(e, t)); + var n = (e.boxZoom = new Hn(e, t)); + this._add("boxZoom", n); + var i = new Yn(), + a = new pi(); + (e.doubleClickZoom = new hi(a, i)), + this._add("tapZoom", i), + this._add("clickZoom", a); + var o = new di(); + this._add("tapDragZoom", o); + var s = (e.touchPitch = new oi()); + this._add("touchPitch", s); + var l = new Jn(t), + u = new Kn(t); + (e.dragRotate = new gi(t, l, u)), + this._add("mouseRotate", l, ["mousePitch"]), + this._add("mousePitch", u, ["mouseRotate"]); + var c = new Xn(t), + f = new $n(t); + (e.dragPan = new vi(r, c, f)), + this._add("mousePan", c), + this._add("touchPan", f, [ + "touchZoom", + "touchRotate", + ]); + var h = new ii(), + p = new ri(); + (e.touchZoomRotate = new yi(r, p, h, o)), + this._add("touchRotate", h, [ + "touchPan", + "touchZoom", + ]), + this._add("touchZoom", p, [ + "touchPan", + "touchRotate", + ]); + var d = (e.scrollZoom = new fi(e, this)); + this._add("scrollZoom", d, ["mousePan"]); + var v = (e.keyboard = new li()); + this._add("keyboard", v), + this._add("blockableMapEvent", new Vn(e)); + for ( + var g = 0, + y = [ + "boxZoom", + "doubleClickZoom", + "tapDragZoom", + "touchPitch", + "dragRotate", + "dragPan", + "touchZoomRotate", + "scrollZoom", + "keyboard", + ]; + g < y.length; + g += 1 + ) { + var m = y[g]; + t.interactive && t[m] && e[m].enable(t[m]); + } + }), + (_i.prototype._add = function (t, e, r) { + this._handlers.push({ + handlerName: t, + handler: e, + allowed: r, + }), + (this._handlersById[t] = e); + }), + (_i.prototype.stop = function () { + if (!this._updatingCamera) { + for ( + var t = 0, e = this._handlers; + t < e.length; + t += 1 + ) + e[t].handler.reset(); + this._inertia.clear(), + this._fireEvents({}, {}), + (this._changes = []); + } + }), + (_i.prototype.isActive = function () { + for ( + var t = 0, e = this._handlers; + t < e.length; + t += 1 + ) + if (e[t].handler.isActive()) return !0; + return !1; + }), + (_i.prototype.isZooming = function () { + return ( + !!this._eventsInProgress.zoom || + this._map.scrollZoom.isZooming() + ); + }), + (_i.prototype.isRotating = function () { + return !!this._eventsInProgress.rotate; + }), + (_i.prototype.isMoving = function () { + return ( + Boolean(mi(this._eventsInProgress)) || + this.isZooming() + ); + }), + (_i.prototype._blockedByActive = function (t, e, r) { + for (var n in t) + if (n !== r && (!e || e.indexOf(n) < 0)) + return !0; + return !1; + }), + (_i.prototype.handleWindowEvent = function (t) { + this.handleEvent(t, t.type + "Window"); + }), + (_i.prototype._getMapTouches = function (t) { + for ( + var e = [], r = 0, n = t; + r < n.length; + r += 1 + ) { + var i = n[r], + a = i.target; + this._el.contains(a) && e.push(i); + } + return e; + }), + (_i.prototype.handleEvent = function (t, e) { + if ("blur" !== t.type) { + this._updatingCamera = !0; + for ( + var n = "renderFrame" === t.type ? void 0 : t, + i = { needsRenderFrame: !1 }, + a = {}, + o = {}, + s = t.touches + ? this._getMapTouches(t.touches) + : void 0, + l = s + ? r.touchPos(this._el, s) + : r.mousePos(this._el, t), + u = 0, + c = this._handlers; + u < c.length; + u += 1 + ) { + var f = c[u], + h = f.handlerName, + p = f.handler, + d = f.allowed; + if (p.isEnabled()) { + var v = void 0; + this._blockedByActive(o, d, h) + ? p.reset() + : p[e || t.type] && + ((v = p[e || t.type](t, l, s)), + this.mergeHandlerResult(i, a, v, h, n), + v && + v.needsRenderFrame && + this._triggerRenderFrame()), + (v || p.isActive()) && (o[h] = p); + } + } + var g = {}; + for (var y in this._previousActiveHandlers) + o[y] || (g[y] = n); + (this._previousActiveHandlers = o), + (Object.keys(g).length || bi(i)) && + (this._changes.push([i, a, g]), + this._triggerRenderFrame()), + (Object.keys(o).length || bi(i)) && + this._map._stop(!0), + (this._updatingCamera = !1); + var m = i.cameraAnimation; + m && + (this._inertia.clear(), + this._fireEvents({}, {}), + (this._changes = []), + m(this._map)); + } else this.stop(); + }), + (_i.prototype.mergeHandlerResult = function ( + e, + r, + n, + i, + a, + ) { + if (n) { + t.extend(e, n); + var o = { + handlerName: i, + originalEvent: n.originalEvent || a, + }; + void 0 !== n.zoomDelta && (r.zoom = o), + void 0 !== n.panDelta && (r.drag = o), + void 0 !== n.pitchDelta && (r.pitch = o), + void 0 !== n.bearingDelta && (r.rotate = o); + } + }), + (_i.prototype._applyChanges = function () { + for ( + var e = {}, + r = {}, + n = {}, + i = 0, + a = this._changes; + i < a.length; + i += 1 + ) { + var o = a[i], + s = o[0], + l = o[1], + u = o[2]; + s.panDelta && + (e.panDelta = ( + e.panDelta || new t.Point(0, 0) + )._add(s.panDelta)), + s.zoomDelta && + (e.zoomDelta = + (e.zoomDelta || 0) + s.zoomDelta), + s.bearingDelta && + (e.bearingDelta = + (e.bearingDelta || 0) + s.bearingDelta), + s.pitchDelta && + (e.pitchDelta = + (e.pitchDelta || 0) + s.pitchDelta), + void 0 !== s.around && (e.around = s.around), + void 0 !== s.pinchAround && + (e.pinchAround = s.pinchAround), + s.noInertia && (e.noInertia = s.noInertia), + t.extend(r, l), + t.extend(n, u); + } + this._updateMapTransform(e, r, n), + (this._changes = []); + }), + (_i.prototype._updateMapTransform = function ( + t, + e, + r, + ) { + var n = this._map, + i = n.transform; + if (!bi(t)) return this._fireEvents(e, r); + var a = t.panDelta, + o = t.zoomDelta, + s = t.bearingDelta, + l = t.pitchDelta, + u = t.around, + c = t.pinchAround; + void 0 !== c && (u = c), + n._stop(!0), + (u = u || n.transform.centerPoint); + var f = i.pointLocation(a ? u.sub(a) : u); + s && (i.bearing += s), + l && (i.pitch += l), + o && (i.zoom += o), + i.setLocationAtPoint(f, u), + this._map._update(), + t.noInertia || this._inertia.record(t), + this._fireEvents(e, r); + }), + (_i.prototype._fireEvents = function (e, r) { + var n = this, + i = mi(this._eventsInProgress), + a = mi(e), + o = {}; + for (var s in e) { + var l = e[s].originalEvent; + this._eventsInProgress[s] || (o[s + "start"] = l), + (this._eventsInProgress[s] = e[s]); + } + for (var u in (!i && + a && + this._fireEvent("movestart", a.originalEvent), + o)) + this._fireEvent(u, o[u]); + for (var c in (e.rotate && + (this._bearingChanged = !0), + a && this._fireEvent("move", a.originalEvent), + e)) { + var f = e[c].originalEvent; + this._fireEvent(c, f); + } + var h, + p = {}; + for (var d in this._eventsInProgress) { + var v = this._eventsInProgress[d], + g = v.handlerName, + y = v.originalEvent; + this._handlersById[g].isActive() || + (delete this._eventsInProgress[d], + (h = r[g] || y), + (p[d + "end"] = h)); + } + for (var m in p) this._fireEvent(m, p[m]); + var x = mi(this._eventsInProgress); + if ((i || a) && !x) { + this._updatingCamera = !0; + var b = this._inertia._onMoveEnd( + this._map.dragPan._inertiaOptions, + ), + _ = function (t) { + return ( + 0 !== t && + -n._bearingSnap < t && + t < n._bearingSnap + ); + }; + b + ? (_(b.bearing || this._map.getBearing()) && + (b.bearing = 0), + this._map.easeTo(b, { originalEvent: h })) + : (this._map.fire( + new t.Event("moveend", { + originalEvent: h, + }), + ), + _(this._map.getBearing()) && + this._map.resetNorth()), + (this._bearingChanged = !1), + (this._updatingCamera = !1); + } + }), + (_i.prototype._fireEvent = function (e, r) { + this._map.fire( + new t.Event(e, r ? { originalEvent: r } : {}), + ); + }), + (_i.prototype._triggerRenderFrame = function () { + var t = this; + void 0 === this._frameId && + (this._frameId = this._map._requestRenderFrame( + function (e) { + delete t._frameId, + t.handleEvent( + new xi("renderFrame", { timeStamp: e }), + ), + t._applyChanges(); + }, + )); + }); + var wi = (function (e) { + function r(r, n) { + e.call(this), + (this._moving = !1), + (this._zooming = !1), + (this.transform = r), + (this._bearingSnap = n.bearingSnap), + t.bindAll(["_renderFrameCallback"], this); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create(e && e.prototype)), + (r.prototype.constructor = r), + (r.prototype.getCenter = function () { + return new t.LngLat( + this.transform.center.lng, + this.transform.center.lat, + ); + }), + (r.prototype.setCenter = function (t, e) { + return this.jumpTo({ center: t }, e); + }), + (r.prototype.panBy = function (e, r, n) { + return ( + (e = t.Point.convert(e).mult(-1)), + this.panTo( + this.transform.center, + t.extend({ offset: e }, r), + n, + ) + ); + }), + (r.prototype.panTo = function (e, r, n) { + return this.easeTo( + t.extend({ center: e }, r), + n, + ); + }), + (r.prototype.getZoom = function () { + return this.transform.zoom; + }), + (r.prototype.setZoom = function (t, e) { + return this.jumpTo({ zoom: t }, e), this; + }), + (r.prototype.zoomTo = function (e, r, n) { + return this.easeTo(t.extend({ zoom: e }, r), n); + }), + (r.prototype.zoomIn = function (t, e) { + return ( + this.zoomTo(this.getZoom() + 1, t, e), this + ); + }), + (r.prototype.zoomOut = function (t, e) { + return ( + this.zoomTo(this.getZoom() - 1, t, e), this + ); + }), + (r.prototype.getBearing = function () { + return this.transform.bearing; + }), + (r.prototype.setBearing = function (t, e) { + return this.jumpTo({ bearing: t }, e), this; + }), + (r.prototype.getPadding = function () { + return this.transform.padding; + }), + (r.prototype.setPadding = function (t, e) { + return this.jumpTo({ padding: t }, e), this; + }), + (r.prototype.rotateTo = function (e, r, n) { + return this.easeTo( + t.extend({ bearing: e }, r), + n, + ); + }), + (r.prototype.resetNorth = function (e, r) { + return ( + this.rotateTo( + 0, + t.extend({ duration: 1e3 }, e), + r, + ), + this + ); + }), + (r.prototype.resetNorthPitch = function (e, r) { + return ( + this.easeTo( + t.extend( + { bearing: 0, pitch: 0, duration: 1e3 }, + e, + ), + r, + ), + this + ); + }), + (r.prototype.snapToNorth = function (t, e) { + return Math.abs(this.getBearing()) < + this._bearingSnap + ? this.resetNorth(t, e) + : this; + }), + (r.prototype.getPitch = function () { + return this.transform.pitch; + }), + (r.prototype.setPitch = function (t, e) { + return this.jumpTo({ pitch: t }, e), this; + }), + (r.prototype.cameraForBounds = function (e, r) { + return ( + (e = t.LngLatBounds.convert(e)), + this._cameraForBoxAndBearing( + e.getNorthWest(), + e.getSouthEast(), + 0, + r, + ) + ); + }), + (r.prototype._cameraForBoxAndBearing = function ( + e, + r, + n, + i, + ) { + var a = { + top: 0, + bottom: 0, + right: 0, + left: 0, + }; + if ( + "number" == + typeof (i = t.extend( + { + padding: a, + offset: [0, 0], + maxZoom: this.transform.maxZoom, + }, + i, + )).padding + ) { + var o = i.padding; + i.padding = { + top: o, + bottom: o, + right: o, + left: o, + }; + } + i.padding = t.extend(a, i.padding); + var s = this.transform, + l = s.padding, + u = s.project(t.LngLat.convert(e)), + c = s.project(t.LngLat.convert(r)), + f = u.rotate((-n * Math.PI) / 180), + h = c.rotate((-n * Math.PI) / 180), + p = new t.Point( + Math.max(f.x, h.x), + Math.max(f.y, h.y), + ), + d = new t.Point( + Math.min(f.x, h.x), + Math.min(f.y, h.y), + ), + v = p.sub(d), + g = + (s.width - + (l.left + + l.right + + i.padding.left + + i.padding.right)) / + v.x, + y = + (s.height - + (l.top + + l.bottom + + i.padding.top + + i.padding.bottom)) / + v.y; + if (!(y < 0 || g < 0)) { + var m = Math.min( + s.scaleZoom(s.scale * Math.min(g, y)), + i.maxZoom, + ), + x = t.Point.convert(i.offset), + b = (i.padding.left - i.padding.right) / 2, + _ = (i.padding.top - i.padding.bottom) / 2, + w = new t.Point(x.x + b, x.y + _).mult( + s.scale / s.zoomScale(m), + ); + return { + center: s.unproject(u.add(c).div(2).sub(w)), + zoom: m, + bearing: n, + }; + } + t.warnOnce( + "Map cannot fit within canvas with the given bounds, padding, and/or offset.", + ); + }), + (r.prototype.fitBounds = function (t, e, r) { + return this._fitInternal( + this.cameraForBounds(t, e), + e, + r, + ); + }), + (r.prototype.fitScreenCoordinates = function ( + e, + r, + n, + i, + a, + ) { + return this._fitInternal( + this._cameraForBoxAndBearing( + this.transform.pointLocation( + t.Point.convert(e), + ), + this.transform.pointLocation( + t.Point.convert(r), + ), + n, + i, + ), + i, + a, + ); + }), + (r.prototype._fitInternal = function (e, r, n) { + return e + ? (delete (r = t.extend(e, r)).padding, + r.linear + ? this.easeTo(r, n) + : this.flyTo(r, n)) + : this; + }), + (r.prototype.jumpTo = function (e, r) { + this.stop(); + var n = this.transform, + i = !1, + a = !1, + o = !1; + return ( + "zoom" in e && + n.zoom !== +e.zoom && + ((i = !0), (n.zoom = +e.zoom)), + void 0 !== e.center && + (n.center = t.LngLat.convert(e.center)), + "bearing" in e && + n.bearing !== +e.bearing && + ((a = !0), (n.bearing = +e.bearing)), + "pitch" in e && + n.pitch !== +e.pitch && + ((o = !0), (n.pitch = +e.pitch)), + null == e.padding || + n.isPaddingEqual(e.padding) || + (n.padding = e.padding), + this.fire(new t.Event("movestart", r)).fire( + new t.Event("move", r), + ), + i && + this.fire(new t.Event("zoomstart", r)) + .fire(new t.Event("zoom", r)) + .fire(new t.Event("zoomend", r)), + a && + this.fire(new t.Event("rotatestart", r)) + .fire(new t.Event("rotate", r)) + .fire(new t.Event("rotateend", r)), + o && + this.fire(new t.Event("pitchstart", r)) + .fire(new t.Event("pitch", r)) + .fire(new t.Event("pitchend", r)), + this.fire(new t.Event("moveend", r)) + ); + }), + (r.prototype.easeTo = function (e, r) { + var n = this; + this._stop(!1, e.easeId), + (!1 === + (e = t.extend( + { + offset: [0, 0], + duration: 500, + easing: t.ease, + }, + e, + )).animate || + (!e.essential && + t.browser.prefersReducedMotion)) && + (e.duration = 0); + var i = this.transform, + a = this.getZoom(), + o = this.getBearing(), + s = this.getPitch(), + l = this.getPadding(), + u = "zoom" in e ? +e.zoom : a, + c = + "bearing" in e + ? this._normalizeBearing(e.bearing, o) + : o, + f = "pitch" in e ? +e.pitch : s, + h = "padding" in e ? e.padding : i.padding, + p = t.Point.convert(e.offset), + d = i.centerPoint.add(p), + v = i.pointLocation(d), + g = t.LngLat.convert(e.center || v); + this._normalizeCenter(g); + var y, + m, + x = i.project(v), + b = i.project(g).sub(x), + _ = i.zoomScale(u - a); + e.around && + ((y = t.LngLat.convert(e.around)), + (m = i.locationPoint(y))); + var w = { + moving: this._moving, + zooming: this._zooming, + rotating: this._rotating, + pitching: this._pitching, + }; + return ( + (this._zooming = this._zooming || u !== a), + (this._rotating = this._rotating || o !== c), + (this._pitching = this._pitching || f !== s), + (this._padding = !i.isPaddingEqual(h)), + (this._easeId = e.easeId), + this._prepareEase(r, e.noMoveStart, w), + clearTimeout(this._easeEndTimeoutID), + this._ease( + function (e) { + if ( + (n._zooming && + (i.zoom = t.number(a, u, e)), + n._rotating && + (i.bearing = t.number(o, c, e)), + n._pitching && + (i.pitch = t.number(s, f, e)), + n._padding && + (i.interpolatePadding(l, h, e), + (d = i.centerPoint.add(p))), + y) + ) + i.setLocationAtPoint(y, m); + else { + var v = i.zoomScale(i.zoom - a), + g = + u > a + ? Math.min(2, _) + : Math.max(0.5, _), + w = Math.pow(g, 1 - e), + T = i.unproject( + x.add(b.mult(e * w)).mult(v), + ); + i.setLocationAtPoint( + i.renderWorldCopies ? T.wrap() : T, + d, + ); + } + n._fireMoveEvents(r); + }, + function (t) { + n._afterEase(r, t); + }, + e, + ), + this + ); + }), + (r.prototype._prepareEase = function (e, r, n) { + void 0 === n && (n = {}), + (this._moving = !0), + r || + n.moving || + this.fire(new t.Event("movestart", e)), + this._zooming && + !n.zooming && + this.fire(new t.Event("zoomstart", e)), + this._rotating && + !n.rotating && + this.fire(new t.Event("rotatestart", e)), + this._pitching && + !n.pitching && + this.fire(new t.Event("pitchstart", e)); + }), + (r.prototype._fireMoveEvents = function (e) { + this.fire(new t.Event("move", e)), + this._zooming && + this.fire(new t.Event("zoom", e)), + this._rotating && + this.fire(new t.Event("rotate", e)), + this._pitching && + this.fire(new t.Event("pitch", e)); + }), + (r.prototype._afterEase = function (e, r) { + if (!this._easeId || !r || this._easeId !== r) { + delete this._easeId; + var n = this._zooming, + i = this._rotating, + a = this._pitching; + (this._moving = !1), + (this._zooming = !1), + (this._rotating = !1), + (this._pitching = !1), + (this._padding = !1), + n && this.fire(new t.Event("zoomend", e)), + i && this.fire(new t.Event("rotateend", e)), + a && this.fire(new t.Event("pitchend", e)), + this.fire(new t.Event("moveend", e)); + } + }), + (r.prototype.flyTo = function (e, r) { + var n = this; + if ( + !e.essential && + t.browser.prefersReducedMotion + ) { + var i = t.pick(e, [ + "center", + "zoom", + "bearing", + "pitch", + "around", + ]); + return this.jumpTo(i, r); + } + this.stop(), + (e = t.extend( + { + offset: [0, 0], + speed: 1.2, + curve: 1.42, + easing: t.ease, + }, + e, + )); + var a = this.transform, + o = this.getZoom(), + s = this.getBearing(), + l = this.getPitch(), + u = this.getPadding(), + c = + "zoom" in e + ? t.clamp(+e.zoom, a.minZoom, a.maxZoom) + : o, + f = + "bearing" in e + ? this._normalizeBearing(e.bearing, s) + : s, + h = "pitch" in e ? +e.pitch : l, + p = "padding" in e ? e.padding : a.padding, + d = a.zoomScale(c - o), + v = t.Point.convert(e.offset), + g = a.centerPoint.add(v), + y = a.pointLocation(g), + m = t.LngLat.convert(e.center || y); + this._normalizeCenter(m); + var x = a.project(y), + b = a.project(m).sub(x), + _ = e.curve, + w = Math.max(a.width, a.height), + T = w / d, + k = b.mag(); + if ("minZoom" in e) { + var A = t.clamp( + Math.min(e.minZoom, o, c), + a.minZoom, + a.maxZoom, + ), + M = w / a.zoomScale(A - o); + _ = Math.sqrt((M / k) * 2); + } + var S = _ * _; + function E(t) { + var e = + (T * T - + w * w + + (t ? -1 : 1) * S * S * k * k) / + (2 * (t ? T : w) * S * k); + return Math.log(Math.sqrt(e * e + 1) - e); + } + function L(t) { + return (Math.exp(t) - Math.exp(-t)) / 2; + } + function C(t) { + return (Math.exp(t) + Math.exp(-t)) / 2; + } + var P = E(0), + O = function (t) { + return C(P) / C(P + _ * t); + }, + I = function (t) { + return ( + (w * + ((C(P) * (L((e = P + _ * t)) / C(e)) - + L(P)) / + S)) / + k + ); + var e; + }, + D = (E(1) - P) / _; + if (Math.abs(k) < 1e-6 || !isFinite(D)) { + if (Math.abs(w - T) < 1e-6) + return this.easeTo(e, r); + var z = T < w ? -1 : 1; + (D = Math.abs(Math.log(T / w)) / _), + (I = function () { + return 0; + }), + (O = function (t) { + return Math.exp(z * _ * t); + }); + } + if ("duration" in e) e.duration = +e.duration; + else { + var R = + "screenSpeed" in e + ? +e.screenSpeed / _ + : +e.speed; + e.duration = (1e3 * D) / R; + } + return ( + e.maxDuration && + e.duration > e.maxDuration && + (e.duration = 0), + (this._zooming = !0), + (this._rotating = s !== f), + (this._pitching = h !== l), + (this._padding = !a.isPaddingEqual(p)), + this._prepareEase(r, !1), + this._ease( + function (e) { + var i = e * D, + d = 1 / O(i); + (a.zoom = + 1 === e ? c : o + a.scaleZoom(d)), + n._rotating && + (a.bearing = t.number(s, f, e)), + n._pitching && + (a.pitch = t.number(l, h, e)), + n._padding && + (a.interpolatePadding(u, p, e), + (g = a.centerPoint.add(v))); + var y = + 1 === e + ? m + : a.unproject( + x.add(b.mult(I(i))).mult(d), + ); + a.setLocationAtPoint( + a.renderWorldCopies ? y.wrap() : y, + g, + ), + n._fireMoveEvents(r); + }, + function () { + return n._afterEase(r); + }, + e, + ), + this + ); + }), + (r.prototype.isEasing = function () { + return !!this._easeFrameId; + }), + (r.prototype.stop = function () { + return this._stop(); + }), + (r.prototype._stop = function (t, e) { + if ( + (this._easeFrameId && + (this._cancelRenderFrame(this._easeFrameId), + delete this._easeFrameId, + delete this._onEaseFrame), + this._onEaseEnd) + ) { + var r = this._onEaseEnd; + delete this._onEaseEnd, r.call(this, e); + } + if (!t) { + var n = this.handlers; + n && n.stop(); + } + return this; + }), + (r.prototype._ease = function (e, r, n) { + !1 === n.animate || 0 === n.duration + ? (e(1), r()) + : ((this._easeStart = t.browser.now()), + (this._easeOptions = n), + (this._onEaseFrame = e), + (this._onEaseEnd = r), + (this._easeFrameId = + this._requestRenderFrame( + this._renderFrameCallback, + ))); + }), + (r.prototype._renderFrameCallback = function () { + var e = Math.min( + (t.browser.now() - this._easeStart) / + this._easeOptions.duration, + 1, + ); + this._onEaseFrame(this._easeOptions.easing(e)), + e < 1 + ? (this._easeFrameId = + this._requestRenderFrame( + this._renderFrameCallback, + )) + : this.stop(); + }), + (r.prototype._normalizeBearing = function (e, r) { + e = t.wrap(e, -180, 180); + var n = Math.abs(e - r); + return ( + Math.abs(e - 360 - r) < n && (e -= 360), + Math.abs(e + 360 - r) < n && (e += 360), + e + ); + }), + (r.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; + } + }), + r + ); + })(t.Evented), + Ti = function (e) { + void 0 === e && (e = {}), + (this.options = e), + t.bindAll( + [ + "_updateEditLink", + "_updateData", + "_updateCompact", + ], + this, + ); + }; + (Ti.prototype.getDefaultPosition = function () { + return "bottom-right"; + }), + (Ti.prototype.onAdd = function (t) { + var e = this.options && this.options.compact; + return ( + (this._map = t), + (this._container = r.create( + "div", + "mapboxgl-ctrl mapboxgl-ctrl-attrib", + )), + (this._innerContainer = r.create( + "div", + "mapboxgl-ctrl-attrib-inner", + this._container, + )), + e && + this._container.classList.add( + "mapboxgl-compact", + ), + this._updateAttributions(), + this._updateEditLink(), + this._map.on("styledata", this._updateData), + 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 + ); + }), + (Ti.prototype.onRemove = function () { + r.remove(this._container), + this._map.off("styledata", this._updateData), + this._map.off("sourcedata", this._updateData), + this._map.off("moveend", this._updateEditLink), + this._map.off("resize", this._updateCompact), + (this._map = void 0), + (this._attribHTML = void 0); + }), + (Ti.prototype._updateEditLink = function () { + var e = this._editLink; + e || + (e = this._editLink = + this._container.querySelector( + ".mapbox-improve-map", + )); + var r = [ + { key: "owner", value: this.styleOwner }, + { key: "id", value: this.styleId }, + { + key: "access_token", + value: + this._map._requestManager + ._customAccessToken || + t.config.ACCESS_TOKEN, + }, + ]; + if (e) { + var n = r.reduce(function (t, e, n) { + return ( + e.value && + (t += + e.key + + "=" + + e.value + + (n < r.length - 1 ? "&" : "")), + t + ); + }, "?"); + (e.href = + t.config.FEEDBACK_URL + + "/" + + n + + (this._map._hash + ? this._map._hash.getHashString(!0) + : "")), + (e.rel = "noopener nofollow"); + } + }), + (Ti.prototype._updateData = function (t) { + !t || + ("metadata" !== t.sourceDataType && + "style" !== t.dataType) || + (this._updateAttributions(), + this._updateEditLink()); + }), + (Ti.prototype._updateAttributions = function () { + if (this._map.style) { + var t = []; + if ( + (this.options.customAttribution && + (Array.isArray(this.options.customAttribution) + ? (t = t.concat( + this.options.customAttribution.map( + function (t) { + return "string" != typeof t + ? "" + : t; + }, + ), + )) + : "string" == + typeof this.options.customAttribution && + t.push(this.options.customAttribution)), + 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]; + if (i.used) { + var a = i.getSource(); + a.attribution && + t.indexOf(a.attribution) < 0 && + t.push(a.attribution); + } + } + t.sort(function (t, e) { + return t.length - e.length; + }); + var o = (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; + })).join(" | "); + o !== this._attribHTML && + ((this._attribHTML = o), + t.length + ? ((this._innerContainer.innerHTML = o), + this._container.classList.remove( + "mapboxgl-attrib-empty", + )) + : this._container.classList.add( + "mapboxgl-attrib-empty", + ), + (this._editLink = null)); + } + }), + (Ti.prototype._updateCompact = function () { + this._map.getCanvasContainer().offsetWidth <= 640 + ? this._container.classList.add( + "mapboxgl-compact", + ) + : this._container.classList.remove( + "mapboxgl-compact", + ); + }); + var ki = function () { + t.bindAll(["_updateLogo"], this), + t.bindAll(["_updateCompact"], this); + }; + (ki.prototype.onAdd = function (t) { + (this._map = t), + (this._container = r.create( + "div", + "mapboxgl-ctrl", + )); + var e = r.create("a", "mapboxgl-ctrl-logo"); + return ( + (e.target = "_blank"), + (e.rel = "noopener nofollow"), + (e.href = "https://www.mapbox.com/"), + e.setAttribute( + "aria-label", + this._map._getUIString("LogoControl.Title"), + ), + e.setAttribute("rel", "noopener nofollow"), + this._container.appendChild(e), + (this._container.style.display = "none"), + this._map.on("sourcedata", this._updateLogo), + this._updateLogo(), + this._map.on("resize", this._updateCompact), + this._updateCompact(), + this._container + ); + }), + (ki.prototype.onRemove = function () { + r.remove(this._container), + this._map.off("sourcedata", this._updateLogo), + this._map.off("resize", this._updateCompact); + }), + (ki.prototype.getDefaultPosition = function () { + return "bottom-left"; + }), + (ki.prototype._updateLogo = function (t) { + (t && "metadata" !== t.sourceDataType) || + (this._container.style.display = + this._logoRequired() ? "block" : "none"); + }), + (ki.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; + } + }), + (ki.prototype._updateCompact = function () { + var t = this._container.children; + if (t.length) { + var e = t[0]; + this._map.getCanvasContainer().offsetWidth < 250 + ? e.classList.add("mapboxgl-compact") + : e.classList.remove("mapboxgl-compact"); + } + }); + var Ai = function () { + (this._queue = []), + (this._id = 0), + (this._cleared = !1), + (this._currentlyRunning = !1); + }; + (Ai.prototype.add = function (t) { + var e = ++this._id; + return ( + this._queue.push({ + callback: t, + id: e, + cancelled: !1, + }), + e + ); + }), + (Ai.prototype.remove = function (t) { + for ( + var e = this._currentlyRunning, + r = 0, + n = e ? this._queue.concat(e) : this._queue; + r < n.length; + r += 1 + ) { + var i = n[r]; + if (i.id === t) return void (i.cancelled = !0); + } + }), + (Ai.prototype.run = function (t) { + void 0 === t && (t = 0); + var e = (this._currentlyRunning = this._queue); + this._queue = []; + for (var r = 0, n = e; r < n.length; r += 1) { + var i = n[r]; + if ( + !i.cancelled && + (i.callback(t), this._cleared) + ) + break; + } + (this._cleared = !1), (this._currentlyRunning = !1); + }), + (Ai.prototype.clear = function () { + this._currentlyRunning && (this._cleared = !0), + (this._queue = []); + }); + var Mi = { + "FullscreenControl.Enter": "Enter fullscreen", + "FullscreenControl.Exit": "Exit fullscreen", + "GeolocateControl.FindMyLocation": + "Find my location", + "GeolocateControl.LocationNotAvailable": + "Location not available", + "LogoControl.Title": "Mapbox logo", + "NavigationControl.ResetBearing": + "Reset bearing to north", + "NavigationControl.ZoomIn": "Zoom in", + "NavigationControl.ZoomOut": "Zoom out", + "ScaleControl.Feet": "ft", + "ScaleControl.Meters": "m", + "ScaleControl.Kilometers": "km", + "ScaleControl.Miles": "mi", + "ScaleControl.NauticalMiles": "nm", + }, + Si = t.window.HTMLImageElement, + Ei = t.window.HTMLElement, + Li = t.window.ImageBitmap, + Ci = 60, + Pi = { + center: [0, 0], + zoom: 0, + bearing: 0, + pitch: 0, + minZoom: -2, + maxZoom: 22, + minPitch: 0, + maxPitch: Ci, + interactive: !0, + scrollZoom: !0, + boxZoom: !0, + dragRotate: !0, + dragPan: !0, + keyboard: !0, + doubleClickZoom: !0, + touchZoomRotate: !0, + touchPitch: !0, + bearingSnap: 7, + clickTolerance: 3, + pitchWithRotate: !0, + hash: !1, + attributionControl: !0, + failIfMajorPerformanceCaveat: !1, + preserveDrawingBuffer: !1, + trackResize: !0, + renderWorldCopies: !0, + refreshExpiredTiles: !0, + maxTileCacheSize: null, + localIdeographFontFamily: "sans-serif", + transformRequest: null, + accessToken: null, + fadeDuration: 300, + crossSourceCollisions: !0, + }, + Oi = (function (n) { + function i(e) { + var r = this; + if ( + null != (e = t.extend({}, Pi, e)).minZoom && + null != e.maxZoom && + e.minZoom > e.maxZoom + ) + throw new Error( + "maxZoom must be greater than or equal to minZoom", + ); + if ( + null != e.minPitch && + null != e.maxPitch && + e.minPitch > e.maxPitch + ) + throw new Error( + "maxPitch must be greater than or equal to minPitch", + ); + if (null != e.minPitch && e.minPitch < 0) + throw new Error( + "minPitch must be greater than or equal to 0", + ); + if (null != e.maxPitch && e.maxPitch > Ci) + throw new Error( + "maxPitch must be less than or equal to 60", + ); + var i = new Sn( + e.minZoom, + e.maxZoom, + e.minPitch, + e.maxPitch, + e.renderWorldCopies, + ); + if ( + (n.call(this, i, e), + (this._interactive = e.interactive), + (this._maxTileCacheSize = e.maxTileCacheSize), + (this._failIfMajorPerformanceCaveat = + e.failIfMajorPerformanceCaveat), + (this._preserveDrawingBuffer = + e.preserveDrawingBuffer), + (this._antialias = e.antialias), + (this._trackResize = e.trackResize), + (this._bearingSnap = e.bearingSnap), + (this._refreshExpiredTiles = + e.refreshExpiredTiles), + (this._fadeDuration = e.fadeDuration), + (this._crossSourceCollisions = + e.crossSourceCollisions), + (this._crossFadingFactor = 1), + (this._collectResourceTiming = + e.collectResourceTiming), + (this._renderTaskQueue = new Ai()), + (this._controls = []), + (this._mapId = t.uniqueId()), + (this._locale = t.extend({}, Mi, e.locale)), + (this._requestManager = new t.RequestManager( + e.transformRequest, + e.accessToken, + )), + "string" == typeof e.container) + ) { + if ( + ((this._container = + t.window.document.getElementById( + e.container, + )), + !this._container) + ) + throw new Error( + "Container '" + + e.container + + "' not found.", + ); + } else { + if (!(e.container instanceof Ei)) + throw new Error( + "Invalid type: 'container' must be a String or HTMLElement.", + ); + this._container = e.container; + } + if ( + (e.maxBounds && this.setMaxBounds(e.maxBounds), + t.bindAll( + [ + "_onWindowOnline", + "_onWindowResize", + "_contextLost", + "_contextRestored", + ], + this, + ), + this._setupContainer(), + this._setupPainter(), + void 0 === this.painter) + ) + throw new Error("Failed to initialize WebGL."); + this.on("move", function () { + return r._update(!1); + }), + this.on("moveend", function () { + return r._update(!1); + }), + this.on("zoom", function () { + return r._update(!0); + }), + void 0 !== t.window && + (t.window.addEventListener( + "online", + this._onWindowOnline, + !1, + ), + t.window.addEventListener( + "resize", + this._onWindowResize, + !1, + )), + (this.handlers = new _i(this, e)); + var a = + ("string" == typeof e.hash && e.hash) || void 0; + (this._hash = e.hash && new Ln(a).addTo(this)), + (this._hash && this._hash._onHashChange()) || + (this.jumpTo({ + center: e.center, + zoom: e.zoom, + bearing: e.bearing, + pitch: e.pitch, + }), + e.bounds && + (this.resize(), + this.fitBounds( + e.bounds, + t.extend({}, e.fitBoundsOptions, { + duration: 0, + }), + ))), + this.resize(), + (this._localIdeographFontFamily = + e.localIdeographFontFamily), + e.style && + this.setStyle(e.style, { + localIdeographFontFamily: + e.localIdeographFontFamily, + }), + e.attributionControl && + this.addControl( + new Ti({ + customAttribution: e.customAttribution, + }), + ), + this.addControl(new ki(), e.logoPosition), + this.on("style.load", function () { + r.transform.unmodified && + r.jumpTo(r.style.stylesheet); + }), + this.on("data", function (e) { + r._update("style" === e.dataType), + r.fire(new t.Event(e.dataType + "data", e)); + }), + this.on("dataloading", function (e) { + r.fire( + new t.Event(e.dataType + "dataloading", e), + ); + }); + } + n && (i.__proto__ = n), + (i.prototype = Object.create(n && n.prototype)), + (i.prototype.constructor = i); + var a = { + showTileBoundaries: { configurable: !0 }, + showPadding: { configurable: !0 }, + showCollisionBoxes: { configurable: !0 }, + showOverdrawInspector: { configurable: !0 }, + repaint: { configurable: !0 }, + vertices: { configurable: !0 }, + version: { configurable: !0 }, + }; + return ( + (i.prototype._getMapId = function () { + return this._mapId; + }), + (i.prototype.addControl = function (e, r) { + if ( + (void 0 === r && + e.getDefaultPosition && + (r = e.getDefaultPosition()), + void 0 === r && (r = "top-right"), + !e || !e.onAdd) + ) + return this.fire( + new t.ErrorEvent( + new Error( + "Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.", + ), + ), + ); + var n = e.onAdd(this); + this._controls.push(e); + var i = this._controlPositions[r]; + return ( + -1 !== r.indexOf("bottom") + ? i.insertBefore(n, i.firstChild) + : i.appendChild(n), + this + ); + }), + (i.prototype.removeControl = function (e) { + if (!e || !e.onRemove) + return this.fire( + new t.ErrorEvent( + new Error( + "Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.", + ), + ), + ); + var r = this._controls.indexOf(e); + return ( + r > -1 && this._controls.splice(r, 1), + e.onRemove(this), + this + ); + }), + (i.prototype.resize = function (e) { + var r = this._containerDimensions(), + n = r[0], + i = r[1]; + this._resizeCanvas(n, i), + this.transform.resize(n, i), + this.painter.resize(n, i); + var a = !this._moving; + return ( + a && + (this.stop(), + this.fire(new t.Event("movestart", e)).fire( + new t.Event("move", e), + )), + this.fire(new t.Event("resize", e)), + a && this.fire(new t.Event("moveend", e)), + this + ); + }), + (i.prototype.getBounds = function () { + return this.transform.getBounds(); + }), + (i.prototype.getMaxBounds = function () { + return this.transform.getMaxBounds(); + }), + (i.prototype.setMaxBounds = function (e) { + return ( + this.transform.setMaxBounds( + t.LngLatBounds.convert(e), + ), + this._update() + ); + }), + (i.prototype.setMinZoom = function (t) { + if ( + (t = null == t ? -2 : t) >= -2 && + 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 -2 and the current maxZoom, inclusive", + ); + }), + (i.prototype.getMinZoom = function () { + return this.transform.minZoom; + }), + (i.prototype.setMaxZoom = function (t) { + if ( + (t = null == 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", + ); + }), + (i.prototype.getMaxZoom = function () { + return this.transform.maxZoom; + }), + (i.prototype.setMinPitch = function (t) { + if ((t = null == t ? 0 : t) < 0) + throw new Error( + "minPitch must be greater than or equal to 0", + ); + if (t >= 0 && t <= this.transform.maxPitch) + return ( + (this.transform.minPitch = t), + this._update(), + this.getPitch() < t && this.setPitch(t), + this + ); + throw new Error( + "minPitch must be between 0 and the current maxPitch, inclusive", + ); + }), + (i.prototype.getMinPitch = function () { + return this.transform.minPitch; + }), + (i.prototype.setMaxPitch = function (t) { + if ((t = null == t ? Ci : t) > Ci) + throw new Error( + "maxPitch must be less than or equal to 60", + ); + if (t >= this.transform.minPitch) + return ( + (this.transform.maxPitch = t), + this._update(), + this.getPitch() > t && this.setPitch(t), + this + ); + throw new Error( + "maxPitch must be greater than the current minPitch", + ); + }), + (i.prototype.getMaxPitch = function () { + return this.transform.maxPitch; + }), + (i.prototype.getRenderWorldCopies = function () { + return this.transform.renderWorldCopies; + }), + (i.prototype.setRenderWorldCopies = function (t) { + return ( + (this.transform.renderWorldCopies = t), + this._update() + ); + }), + (i.prototype.project = function (e) { + return this.transform.locationPoint( + t.LngLat.convert(e), + ); + }), + (i.prototype.unproject = function (e) { + return this.transform.pointLocation( + t.Point.convert(e), + ); + }), + (i.prototype.isMoving = function () { + return this._moving || this.handlers.isMoving(); + }), + (i.prototype.isZooming = function () { + return ( + this._zooming || this.handlers.isZooming() + ); + }), + (i.prototype.isRotating = function () { + return ( + this._rotating || this.handlers.isRotating() + ); + }), + (i.prototype._createDelegatedListener = function ( + t, + e, + r, + ) { + var n, + i = this; + if ("mouseenter" === t || "mouseover" === t) { + var a = !1; + return { + layer: e, + listener: r, + delegates: { + mousemove: function (n) { + var o = i.getLayer(e) + ? i.queryRenderedFeatures(n.point, { + layers: [e], + }) + : []; + o.length + ? a || + ((a = !0), + r.call( + i, + new Bn(t, i, n.originalEvent, { + features: o, + }), + )) + : (a = !1); + }, + mouseout: function () { + a = !1; + }, + }, + }; + } + if ("mouseleave" === t || "mouseout" === t) { + var o = !1; + return { + layer: e, + listener: r, + delegates: { + mousemove: function (n) { + (i.getLayer(e) + ? i.queryRenderedFeatures(n.point, { + layers: [e], + }) + : [] + ).length + ? (o = !0) + : o && + ((o = !1), + r.call( + i, + new Bn(t, i, n.originalEvent), + )); + }, + mouseout: function (e) { + o && + ((o = !1), + r.call( + i, + new Bn(t, i, e.originalEvent), + )); + }, + }, + }; + } + return { + layer: e, + listener: r, + delegates: + ((n = {}), + (n[t] = function (t) { + var n = i.getLayer(e) + ? i.queryRenderedFeatures(t.point, { + layers: [e], + }) + : []; + n.length && + ((t.features = n), + r.call(i, t), + delete t.features); + }), + n), + }; + }), + (i.prototype.on = function (t, e, r) { + if (void 0 === r) + return n.prototype.on.call(this, t, e); + var i = this._createDelegatedListener(t, e, r); + for (var a in ((this._delegatedListeners = + this._delegatedListeners || {}), + (this._delegatedListeners[t] = + this._delegatedListeners[t] || []), + this._delegatedListeners[t].push(i), + i.delegates)) + this.on(a, i.delegates[a]); + return this; + }), + (i.prototype.once = function (t, e, r) { + if (void 0 === r) + return n.prototype.once.call(this, t, e); + var i = this._createDelegatedListener(t, e, r); + for (var a in i.delegates) + this.once(a, i.delegates[a]); + return this; + }), + (i.prototype.off = function (t, e, r) { + var i = this; + if (void 0 === r) + return n.prototype.off.call(this, t, e); + return ( + this._delegatedListeners && + this._delegatedListeners[t] && + (function (n) { + for ( + var a = n[t], o = 0; + o < a.length; + o++ + ) { + var s = a[o]; + if (s.layer === e && s.listener === r) { + for (var l in s.delegates) + i.off(l, s.delegates[l]); + return a.splice(o, 1), i; + } + } + })(this._delegatedListeners), + this + ); + }), + (i.prototype.queryRenderedFeatures = function ( + e, + r, + ) { + if (!this.style) return []; + var n; + if ( + (void 0 !== r || + void 0 === e || + e instanceof t.Point || + Array.isArray(e) || + ((r = e), (e = void 0)), + (r = r || {}), + (e = e || [ + [0, 0], + [ + this.transform.width, + this.transform.height, + ], + ]) instanceof t.Point || + "number" == typeof e[0]) + ) + n = [t.Point.convert(e)]; + else { + var i = t.Point.convert(e[0]), + a = t.Point.convert(e[1]); + n = [ + i, + new t.Point(a.x, i.y), + a, + new t.Point(i.x, a.y), + i, + ]; + } + return this.style.queryRenderedFeatures( + n, + r, + this.transform, + ); + }), + (i.prototype.querySourceFeatures = function ( + t, + e, + ) { + return this.style.querySourceFeatures(t, e); + }), + (i.prototype.setStyle = function (e, r) { + return !1 !== + (r = t.extend( + {}, + { + localIdeographFontFamily: + this._localIdeographFontFamily, + }, + r, + )).diff && + r.localIdeographFontFamily === + this._localIdeographFontFamily && + this.style && + e + ? (this._diffStyle(e, r), this) + : ((this._localIdeographFontFamily = + r.localIdeographFontFamily), + this._updateStyle(e, r)); + }), + (i.prototype._getUIString = function (t) { + var e = this._locale[t]; + if (null == e) + throw new Error( + "Missing UI string '" + t + "'", + ); + return e; + }), + (i.prototype._updateStyle = function (t, e) { + return ( + this.style && + (this.style.setEventedParent(null), + this.style._remove()), + t + ? ((this.style = new Ye(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) + ); + }), + (i.prototype._lazyInitEmptyStyle = function () { + this.style || + ((this.style = new Ye(this, {})), + this.style.setEventedParent(this, { + style: this.style, + }), + this.style.loadEmpty()); + }), + (i.prototype._diffStyle = function (e, r) { + var n = this; + if ("string" == typeof e) { + var i = + this._requestManager.normalizeStyleURL(e), + a = this._requestManager.transformRequest( + i, + t.ResourceType.Style, + ); + t.getJSON(a, function (e, i) { + e + ? n.fire(new t.ErrorEvent(e)) + : i && n._updateDiff(i, r); + }); + } else + "object" == typeof e && + this._updateDiff(e, r); + }), + (i.prototype._updateDiff = function (e, r) { + try { + this.style.setState(e) && this._update(!0); + } catch (n) { + t.warnOnce( + "Unable to perform style diff: " + + (n.message || n.error || n) + + ". Rebuilding the style from scratch.", + ), + this._updateStyle(e, r); + } + }), + (i.prototype.getStyle = function () { + if (this.style) return this.style.serialize(); + }), + (i.prototype.isStyleLoaded = function () { + return this.style + ? this.style.loaded() + : t.warnOnce( + "There is no style added to the map.", + ); + }), + (i.prototype.addSource = function (t, e) { + return ( + this._lazyInitEmptyStyle(), + this.style.addSource(t, e), + this._update(!0) + ); + }), + (i.prototype.isSourceLoaded = function (e) { + var r = + this.style && this.style.sourceCaches[e]; + if (void 0 !== r) return r.loaded(); + this.fire( + new t.ErrorEvent( + new Error( + "There is no source with ID '" + e + "'", + ), + ), + ); + }), + (i.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; + }), + (i.prototype.addSourceType = function (t, e, r) { + return ( + this._lazyInitEmptyStyle(), + this.style.addSourceType(t, e, r) + ); + }), + (i.prototype.removeSource = function (t) { + return ( + this.style.removeSource(t), this._update(!0) + ); + }), + (i.prototype.getSource = function (t) { + return this.style.getSource(t); + }), + (i.prototype.addImage = function (e, r, n) { + void 0 === n && (n = {}); + var i = n.pixelRatio; + void 0 === i && (i = 1); + var a = n.sdf; + void 0 === a && (a = !1); + var o = n.stretchX, + s = n.stretchY, + l = n.content; + this._lazyInitEmptyStyle(); + if ( + r instanceof Si || + (Li && r instanceof Li) + ) { + var u = t.browser.getImageData(r), + c = u.width, + f = u.height, + h = u.data; + this.style.addImage(e, { + data: new t.RGBAImage( + { width: c, height: f }, + h, + ), + pixelRatio: i, + stretchX: o, + stretchY: s, + content: l, + sdf: a, + version: 0, + }); + } else { + if (void 0 === r.width || void 0 === r.height) + return this.fire( + new t.ErrorEvent( + new Error( + "Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`", + ), + ), + ); + var p = r.width, + d = r.height, + v = r.data, + g = r; + this.style.addImage(e, { + data: new t.RGBAImage( + { width: p, height: d }, + new Uint8Array(v), + ), + pixelRatio: i, + stretchX: o, + stretchY: s, + content: l, + sdf: a, + version: 0, + userImage: g, + }), + g.onAdd && g.onAdd(this, e); + } + }), + (i.prototype.updateImage = function (e, r) { + var n = this.style.getImage(e); + if (!n) + return this.fire( + new t.ErrorEvent( + new Error( + "The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.", + ), + ), + ); + var i = + r instanceof Si || (Li && r instanceof Li) + ? t.browser.getImageData(r) + : r, + a = i.width, + o = i.height, + s = i.data; + if (void 0 === a || void 0 === o) + return this.fire( + new t.ErrorEvent( + new Error( + "Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`", + ), + ), + ); + if (a !== n.data.width || o !== n.data.height) + return this.fire( + new t.ErrorEvent( + new Error( + "The width and height of the updated image must be that same as the previous version of the image", + ), + ), + ); + var l = !( + r instanceof Si || + (Li && r instanceof Li) + ); + n.data.replace(s, l), + this.style.updateImage(e, n); + }), + (i.prototype.hasImage = function (e) { + return e + ? !!this.style.getImage(e) + : (this.fire( + new t.ErrorEvent( + new Error("Missing required image id"), + ), + ), + !1); + }), + (i.prototype.removeImage = function (t) { + this.style.removeImage(t); + }), + (i.prototype.loadImage = function (e, r) { + t.getImage( + this._requestManager.transformRequest( + e, + t.ResourceType.Image, + ), + r, + ); + }), + (i.prototype.listImages = function () { + return this.style.listImages(); + }), + (i.prototype.addLayer = function (t, e) { + return ( + this._lazyInitEmptyStyle(), + this.style.addLayer(t, e), + this._update(!0) + ); + }), + (i.prototype.moveLayer = function (t, e) { + return ( + this.style.moveLayer(t, e), this._update(!0) + ); + }), + (i.prototype.removeLayer = function (t) { + return ( + this.style.removeLayer(t), this._update(!0) + ); + }), + (i.prototype.getLayer = function (t) { + return this.style.getLayer(t); + }), + (i.prototype.setLayerZoomRange = function ( + t, + e, + r, + ) { + return ( + this.style.setLayerZoomRange(t, e, r), + this._update(!0) + ); + }), + (i.prototype.setFilter = function (t, e, r) { + return ( + void 0 === r && (r = {}), + this.style.setFilter(t, e, r), + this._update(!0) + ); + }), + (i.prototype.getFilter = function (t) { + return this.style.getFilter(t); + }), + (i.prototype.setPaintProperty = function ( + t, + e, + r, + n, + ) { + return ( + void 0 === n && (n = {}), + this.style.setPaintProperty(t, e, r, n), + this._update(!0) + ); + }), + (i.prototype.getPaintProperty = function (t, e) { + return this.style.getPaintProperty(t, e); + }), + (i.prototype.setLayoutProperty = function ( + t, + e, + r, + n, + ) { + return ( + void 0 === n && (n = {}), + this.style.setLayoutProperty(t, e, r, n), + this._update(!0) + ); + }), + (i.prototype.getLayoutProperty = function (t, e) { + return this.style.getLayoutProperty(t, e); + }), + (i.prototype.setLight = function (t, e) { + return ( + void 0 === e && (e = {}), + this._lazyInitEmptyStyle(), + this.style.setLight(t, e), + this._update(!0) + ); + }), + (i.prototype.getLight = function () { + return this.style.getLight(); + }), + (i.prototype.setFeatureState = function (t, e) { + return ( + this.style.setFeatureState(t, e), + this._update() + ); + }), + (i.prototype.removeFeatureState = function ( + t, + e, + ) { + return ( + this.style.removeFeatureState(t, e), + this._update() + ); + }), + (i.prototype.getFeatureState = function (t) { + return this.style.getFeatureState(t); + }), + (i.prototype.getContainer = function () { + return this._container; + }), + (i.prototype.getCanvasContainer = function () { + return this._canvasContainer; + }), + (i.prototype.getCanvas = function () { + return this._canvas; + }), + (i.prototype._containerDimensions = function () { + var t = 0, + e = 0; + return ( + this._container && + ((t = this._container.clientWidth || 400), + (e = this._container.clientHeight || 300)), + [t, e] + ); + }), + (i.prototype._detectMissingCSS = function () { + "rgb(250, 128, 114)" !== + t.window + .getComputedStyle(this._missingCSSCanary) + .getPropertyValue("background-color") && + t.warnOnce( + "This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.", + ); + }), + (i.prototype._setupContainer = function () { + var t = this._container; + t.classList.add("mapboxgl-map"), + ((this._missingCSSCanary = r.create( + "div", + "mapboxgl-canary", + t, + )).style.visibility = "hidden"), + this._detectMissingCSS(); + var e = (this._canvasContainer = r.create( + "div", + "mapboxgl-canvas-container", + t, + )); + this._interactive && + e.classList.add("mapboxgl-interactive"), + (this._canvas = r.create( + "canvas", + "mapboxgl-canvas", + e, + )), + 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 n = this._containerDimensions(); + this._resizeCanvas(n[0], n[1]); + var i = (this._controlContainer = r.create( + "div", + "mapboxgl-control-container", + t, + )), + a = (this._controlPositions = {}); + [ + "top-left", + "top-right", + "bottom-left", + "bottom-right", + ].forEach(function (t) { + a[t] = r.create( + "div", + "mapboxgl-ctrl-" + t, + i, + ); + }); + }), + (i.prototype._resizeCanvas = function (e, r) { + var n = t.browser.devicePixelRatio || 1; + (this._canvas.width = n * e), + (this._canvas.height = n * r), + (this._canvas.style.width = e + "px"), + (this._canvas.style.height = r + "px"); + }), + (i.prototype._setupPainter = function () { + var r = t.extend({}, e.webGLContextAttributes, { + failIfMajorPerformanceCaveat: + this._failIfMajorPerformanceCaveat, + preserveDrawingBuffer: + this._preserveDrawingBuffer, + antialias: this._antialias || !1, + }), + n = + this._canvas.getContext("webgl", r) || + this._canvas.getContext( + "experimental-webgl", + r, + ); + n + ? ((this.painter = new Tn(n, this.transform)), + t.webpSupported.testSupport(n)) + : this.fire( + new t.ErrorEvent( + new Error("Failed to initialize WebGL"), + ), + ); + }), + (i.prototype._contextLost = function (e) { + e.preventDefault(), + this._frame && + (this._frame.cancel(), + (this._frame = null)), + this.fire( + new t.Event("webglcontextlost", { + originalEvent: e, + }), + ); + }), + (i.prototype._contextRestored = function (e) { + this._setupPainter(), + this.resize(), + this._update(), + this.fire( + new t.Event("webglcontextrestored", { + originalEvent: e, + }), + ); + }), + (i.prototype.loaded = function () { + return ( + !this._styleDirty && + !this._sourcesDirty && + !!this.style && + this.style.loaded() + ); + }), + (i.prototype._update = function (t) { + return this.style + ? ((this._styleDirty = this._styleDirty || t), + (this._sourcesDirty = !0), + this.triggerRepaint(), + this) + : this; + }), + (i.prototype._requestRenderFrame = function (t) { + return ( + this._update(), this._renderTaskQueue.add(t) + ); + }), + (i.prototype._cancelRenderFrame = function (t) { + this._renderTaskQueue.remove(t); + }), + (i.prototype._render = function (e) { + var r, + n = this, + i = 0, + a = this.painter.context.extTimerQuery; + if ( + (this.listens("gpu-timing-frame") && + ((r = a.createQueryEXT()), + a.beginQueryEXT(a.TIME_ELAPSED_EXT, r), + (i = t.browser.now())), + this.painter.context.setDirty(), + this.painter.setBaseState(), + this._renderTaskQueue.run(e), + !this._removed) + ) { + var o = !1; + if (this.style && this._styleDirty) { + this._styleDirty = !1; + var s = this.transform.zoom, + l = t.browser.now(); + this.style.zoomHistory.update(s, l); + var u = new t.EvaluationParameters(s, { + now: l, + fadeDuration: this._fadeDuration, + zoomHistory: this.style.zoomHistory, + transition: this.style.getTransition(), + }), + c = u.crossFadingFactor(); + (1 === c && + c === this._crossFadingFactor) || + ((o = !0), (this._crossFadingFactor = c)), + this.style.update(u); + } + if ( + (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._crossSourceCollisions, + )), + this.painter.render(this.style, { + showTileBoundaries: + this.showTileBoundaries, + showOverdrawInspector: + this._showOverdrawInspector, + rotating: this.isRotating(), + zooming: this.isZooming(), + moving: this.isMoving(), + fadeDuration: this._fadeDuration, + showPadding: this.showPadding, + gpuTiming: + !!this.listens("gpu-timing-layer"), + }), + this.fire(new t.Event("render")), + this.loaded() && + !this._loaded && + ((this._loaded = !0), + this.fire(new t.Event("load"))), + this.style && + (this.style.hasTransitions() || o) && + (this._styleDirty = !0), + this.style && + !this._placementDirty && + this.style._releaseSymbolFadeTiles(), + this.listens("gpu-timing-frame")) + ) { + var f = t.browser.now() - i; + a.endQueryEXT(a.TIME_ELAPSED_EXT, r), + setTimeout(function () { + var e = + a.getQueryObjectEXT( + r, + a.QUERY_RESULT_EXT, + ) / 1e6; + a.deleteQueryEXT(r), + n.fire( + new t.Event("gpu-timing-frame", { + cpuTime: f, + gpuTime: e, + }), + ); + }, 50); + } + if (this.listens("gpu-timing-layer")) { + var h = this.painter.collectGpuTimers(); + setTimeout(function () { + var e = n.painter.queryGpuTimers(h); + n.fire( + new t.Event("gpu-timing-layer", { + layerTimes: e, + }), + ); + }, 50); + } + return ( + this._sourcesDirty || + this._styleDirty || + this._placementDirty || + this._repaint + ? this.triggerRepaint() + : !this.isMoving() && + this.loaded() && + (this._fullyLoaded || + (this._fullyLoaded = !0), + this.fire(new t.Event("idle"))), + this + ); + } + }), + (i.prototype.remove = function () { + this._hash && this._hash.remove(); + for ( + var e = 0, r = this._controls; + e < r.length; + e += 1 + ) + r[e].onRemove(this); + (this._controls = []), + this._frame && + (this._frame.cancel(), + (this._frame = null)), + this._renderTaskQueue.clear(), + this.painter.destroy(), + this.handlers.destroy(), + delete this.handlers, + this.setStyle(null), + void 0 !== t.window && + (t.window.removeEventListener( + "resize", + this._onWindowResize, + !1, + ), + t.window.removeEventListener( + "online", + this._onWindowOnline, + !1, + )); + var n = + this.painter.context.gl.getExtension( + "WEBGL_lose_context", + ); + n && n.loseContext(), + Ii(this._canvasContainer), + Ii(this._controlContainer), + Ii(this._missingCSSCanary), + this._container.classList.remove( + "mapboxgl-map", + ), + (this._removed = !0), + this.fire(new t.Event("remove")); + }), + (i.prototype.triggerRepaint = function () { + var e = this; + this.style && + !this._frame && + (this._frame = t.browser.frame(function (t) { + (e._frame = null), e._render(t); + })); + }), + (i.prototype._onWindowOnline = function () { + this._update(); + }), + (i.prototype._onWindowResize = function (t) { + this._trackResize && + this.resize({ originalEvent: t })._update(); + }), + (a.showTileBoundaries.get = function () { + return !!this._showTileBoundaries; + }), + (a.showTileBoundaries.set = function (t) { + this._showTileBoundaries !== t && + ((this._showTileBoundaries = t), + this._update()); + }), + (a.showPadding.get = function () { + return !!this._showPadding; + }), + (a.showPadding.set = function (t) { + this._showPadding !== t && + ((this._showPadding = t), this._update()); + }), + (a.showCollisionBoxes.get = function () { + return !!this._showCollisionBoxes; + }), + (a.showCollisionBoxes.set = function (t) { + this._showCollisionBoxes !== t && + ((this._showCollisionBoxes = t), + t + ? this.style._generateCollisionBoxes() + : this._update()); + }), + (a.showOverdrawInspector.get = function () { + return !!this._showOverdrawInspector; + }), + (a.showOverdrawInspector.set = function (t) { + this._showOverdrawInspector !== t && + ((this._showOverdrawInspector = t), + this._update()); + }), + (a.repaint.get = function () { + return !!this._repaint; + }), + (a.repaint.set = function (t) { + this._repaint !== t && + ((this._repaint = t), this.triggerRepaint()); + }), + (a.vertices.get = function () { + return !!this._vertices; + }), + (a.vertices.set = function (t) { + (this._vertices = t), this._update(); + }), + (i.prototype._setCacheLimits = function (e, r) { + t.setCacheLimits(e, r); + }), + (a.version.get = function () { + return t.version; + }), + Object.defineProperties(i.prototype, a), + i + ); + })(wi); + function Ii(t) { + t.parentNode && t.parentNode.removeChild(t); + } + var Di = { + showCompass: !0, + showZoom: !0, + visualizePitch: !1, + }, + zi = function (e) { + var n = this; + (this.options = t.extend({}, Di, e)), + (this._container = r.create( + "div", + "mapboxgl-ctrl mapboxgl-ctrl-group", + )), + this._container.addEventListener( + "contextmenu", + function (t) { + return t.preventDefault(); + }, + ), + this.options.showZoom && + (t.bindAll( + ["_setButtonTitle", "_updateZoomButtons"], + this, + ), + (this._zoomInButton = this._createButton( + "mapboxgl-ctrl-zoom-in", + function (t) { + return n._map.zoomIn( + {}, + { originalEvent: t }, + ); + }, + )), + r + .create( + "span", + "mapboxgl-ctrl-icon", + this._zoomInButton, + ) + .setAttribute("aria-hidden", !0), + (this._zoomOutButton = this._createButton( + "mapboxgl-ctrl-zoom-out", + function (t) { + return n._map.zoomOut( + {}, + { originalEvent: t }, + ); + }, + )), + r + .create( + "span", + "mapboxgl-ctrl-icon", + this._zoomOutButton, + ) + .setAttribute("aria-hidden", !0)), + this.options.showCompass && + (t.bindAll(["_rotateCompassArrow"], this), + (this._compass = this._createButton( + "mapboxgl-ctrl-compass", + function (t) { + n.options.visualizePitch + ? n._map.resetNorthPitch( + {}, + { originalEvent: t }, + ) + : n._map.resetNorth( + {}, + { originalEvent: t }, + ); + }, + )), + (this._compassIcon = r.create( + "span", + "mapboxgl-ctrl-icon", + this._compass, + )), + this._compassIcon.setAttribute( + "aria-hidden", + !0, + )); + }; + (zi.prototype._updateZoomButtons = function () { + var t = this._map.getZoom(); + (this._zoomInButton.disabled = + t === this._map.getMaxZoom()), + (this._zoomOutButton.disabled = + t === this._map.getMinZoom()); + }), + (zi.prototype._rotateCompassArrow = function () { + var t = this.options.visualizePitch + ? "scale(" + + 1 / + Math.pow( + Math.cos( + this._map.transform.pitch * + (Math.PI / 180), + ), + 0.5, + ) + + ") rotateX(" + + this._map.transform.pitch + + "deg) rotateZ(" + + this._map.transform.angle * (180 / Math.PI) + + "deg)" + : "rotate(" + + this._map.transform.angle * (180 / Math.PI) + + "deg)"; + this._compassIcon.style.transform = t; + }), + (zi.prototype.onAdd = function (t) { + return ( + (this._map = t), + this.options.showZoom && + (this._setButtonTitle( + this._zoomInButton, + "ZoomIn", + ), + this._setButtonTitle( + this._zoomOutButton, + "ZoomOut", + ), + this._map.on("zoom", this._updateZoomButtons), + this._updateZoomButtons()), + this.options.showCompass && + (this._setButtonTitle( + this._compass, + "ResetBearing", + ), + this.options.visualizePitch && + this._map.on( + "pitch", + this._rotateCompassArrow, + ), + this._map.on( + "rotate", + this._rotateCompassArrow, + ), + this._rotateCompassArrow(), + (this._handler = new Ri( + this._map, + this._compass, + this.options.visualizePitch, + ))), + this._container + ); + }), + (zi.prototype.onRemove = function () { + r.remove(this._container), + this.options.showZoom && + this._map.off("zoom", this._updateZoomButtons), + this.options.showCompass && + (this.options.visualizePitch && + this._map.off( + "pitch", + this._rotateCompassArrow, + ), + this._map.off( + "rotate", + this._rotateCompassArrow, + ), + this._handler.off(), + delete this._handler), + delete this._map; + }), + (zi.prototype._createButton = function (t, e) { + var n = r.create("button", t, this._container); + return ( + (n.type = "button"), + n.addEventListener("click", e), + n + ); + }), + (zi.prototype._setButtonTitle = function (t, e) { + var r = this._map._getUIString( + "NavigationControl." + e, + ); + (t.title = r), t.setAttribute("aria-label", r); + }); + var Ri = function (e, n, i) { + void 0 === i && (i = !1), + (this._clickTolerance = 10), + (this.element = n), + (this.mouseRotate = new Jn({ + clickTolerance: + e.dragRotate._mouseRotate._clickTolerance, + })), + (this.map = e), + i && + (this.mousePitch = new Kn({ + clickTolerance: + e.dragRotate._mousePitch._clickTolerance, + })), + t.bindAll( + [ + "mousedown", + "mousemove", + "mouseup", + "touchstart", + "touchmove", + "touchend", + "reset", + ], + this, + ), + r.addEventListener(n, "mousedown", this.mousedown), + r.addEventListener( + n, + "touchstart", + this.touchstart, + { passive: !1 }, + ), + r.addEventListener(n, "touchmove", this.touchmove), + r.addEventListener(n, "touchend", this.touchend), + r.addEventListener(n, "touchcancel", this.reset); + }; + function Fi(e, r, n) { + if (((e = new t.LngLat(e.lng, e.lat)), r)) { + var i = new t.LngLat(e.lng - 360, e.lat), + a = new t.LngLat(e.lng + 360, e.lat), + o = n.locationPoint(e).distSqr(r); + n.locationPoint(i).distSqr(r) < o + ? (e = i) + : n.locationPoint(a).distSqr(r) < o && (e = a); + } + for (; Math.abs(e.lng - n.center.lng) > 180; ) { + var s = n.locationPoint(e); + if ( + s.x >= 0 && + s.y >= 0 && + s.x <= n.width && + s.y <= n.height + ) + break; + e.lng > n.center.lng + ? (e.lng -= 360) + : (e.lng += 360); + } + return e; + } + (Ri.prototype.down = function (t, e) { + this.mouseRotate.mousedown(t, e), + this.mousePitch && this.mousePitch.mousedown(t, e), + r.disableDrag(); + }), + (Ri.prototype.move = function (t, e) { + var r = this.map, + n = this.mouseRotate.mousemoveWindow(t, e); + if ( + (n && + n.bearingDelta && + r.setBearing(r.getBearing() + n.bearingDelta), + this.mousePitch) + ) { + var i = this.mousePitch.mousemoveWindow(t, e); + i && + i.pitchDelta && + r.setPitch(r.getPitch() + i.pitchDelta); + } + }), + (Ri.prototype.off = function () { + var t = this.element; + r.removeEventListener( + t, + "mousedown", + this.mousedown, + ), + r.removeEventListener( + t, + "touchstart", + this.touchstart, + { passive: !1 }, + ), + r.removeEventListener( + t, + "touchmove", + this.touchmove, + ), + r.removeEventListener( + t, + "touchend", + this.touchend, + ), + r.removeEventListener( + t, + "touchcancel", + this.reset, + ), + this.offTemp(); + }), + (Ri.prototype.offTemp = function () { + r.enableDrag(), + r.removeEventListener( + t.window, + "mousemove", + this.mousemove, + ), + r.removeEventListener( + t.window, + "mouseup", + this.mouseup, + ); + }), + (Ri.prototype.mousedown = function (e) { + this.down( + t.extend({}, e, { + ctrlKey: !0, + preventDefault: function () { + return e.preventDefault(); + }, + }), + r.mousePos(this.element, e), + ), + r.addEventListener( + t.window, + "mousemove", + this.mousemove, + ), + r.addEventListener( + t.window, + "mouseup", + this.mouseup, + ); + }), + (Ri.prototype.mousemove = function (t) { + this.move(t, r.mousePos(this.element, t)); + }), + (Ri.prototype.mouseup = function (t) { + this.mouseRotate.mouseupWindow(t), + this.mousePitch && + this.mousePitch.mouseupWindow(t), + this.offTemp(); + }), + (Ri.prototype.touchstart = function (t) { + 1 !== t.targetTouches.length + ? this.reset() + : ((this._startPos = this._lastPos = + r.touchPos(this.element, t.targetTouches)[0]), + this.down( + { + type: "mousedown", + button: 0, + ctrlKey: !0, + preventDefault: function () { + return t.preventDefault(); + }, + }, + this._startPos, + )); + }), + (Ri.prototype.touchmove = function (t) { + 1 !== t.targetTouches.length + ? this.reset() + : ((this._lastPos = r.touchPos( + this.element, + t.targetTouches, + )[0]), + this.move( + { + preventDefault: function () { + return t.preventDefault(); + }, + }, + this._lastPos, + )); + }), + (Ri.prototype.touchend = function (t) { + 0 === t.targetTouches.length && + this._startPos && + this._lastPos && + this._startPos.dist(this._lastPos) < + this._clickTolerance && + this.element.click(), + this.reset(); + }), + (Ri.prototype.reset = function () { + this.mouseRotate.reset(), + this.mousePitch && this.mousePitch.reset(), + delete this._startPos, + delete this._lastPos, + this.offTemp(); + }); + var Bi = { + center: "translate(-50%,-50%)", + 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%)", + }; + function Ni(t, e, r) { + var n = t.classList; + for (var i in Bi) + n.remove("mapboxgl-" + r + "-anchor-" + i); + n.add("mapboxgl-" + r + "-anchor-" + e); + } + var ji, + Ui = (function (e) { + function n(n, i) { + var a = this; + if ( + (e.call(this), + (n instanceof t.window.HTMLElement || i) && + (n = t.extend({ element: n }, i)), + t.bindAll( + [ + "_update", + "_onMove", + "_onUp", + "_addDragHandler", + "_onMapClick", + "_onKeyPress", + ], + this, + ), + (this._anchor = (n && n.anchor) || "center"), + (this._color = (n && n.color) || "#3FB1CE"), + (this._draggable = (n && n.draggable) || !1), + (this._state = "inactive"), + (this._rotation = (n && n.rotation) || 0), + (this._rotationAlignment = + (n && n.rotationAlignment) || "auto"), + (this._pitchAlignment = + n && + n.pitchAlignment && + "auto" !== n.pitchAlignment + ? n.pitchAlignment + : this._rotationAlignment), + n && n.element) + ) + (this._element = n.element), + (this._offset = t.Point.convert( + (n && n.offset) || [0, 0], + )); + else { + (this._defaultMarker = !0), + (this._element = r.create("div")), + this._element.setAttribute( + "aria-label", + "Map marker", + ); + var o = r.createNS( + "http://www.w3.org/2000/svg", + "svg", + ); + o.setAttributeNS(null, "display", "block"), + o.setAttributeNS(null, "height", "41px"), + o.setAttributeNS(null, "width", "27px"), + o.setAttributeNS( + null, + "viewBox", + "0 0 27 41", + ); + var s = r.createNS( + "http://www.w3.org/2000/svg", + "g", + ); + s.setAttributeNS(null, "stroke", "none"), + s.setAttributeNS(null, "stroke-width", "1"), + s.setAttributeNS(null, "fill", "none"), + s.setAttributeNS( + null, + "fill-rule", + "evenodd", + ); + var l = r.createNS( + "http://www.w3.org/2000/svg", + "g", + ); + l.setAttributeNS(null, "fill-rule", "nonzero"); + var u = r.createNS( + "http://www.w3.org/2000/svg", + "g", + ); + u.setAttributeNS( + null, + "transform", + "translate(3.0, 29.0)", + ), + u.setAttributeNS(null, "fill", "#000000"); + for ( + var c = 0, + f = [ + { 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" }, + ]; + c < f.length; + c += 1 + ) { + var h = f[c], + p = r.createNS( + "http://www.w3.org/2000/svg", + "ellipse", + ); + p.setAttributeNS(null, "opacity", "0.04"), + p.setAttributeNS(null, "cx", "10.5"), + p.setAttributeNS(null, "cy", "5.80029008"), + p.setAttributeNS(null, "rx", h.rx), + p.setAttributeNS(null, "ry", h.ry), + u.appendChild(p); + } + var d = r.createNS( + "http://www.w3.org/2000/svg", + "g", + ); + d.setAttributeNS(null, "fill", this._color); + var v = r.createNS( + "http://www.w3.org/2000/svg", + "path", + ); + v.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", + ), + d.appendChild(v); + var g = r.createNS( + "http://www.w3.org/2000/svg", + "g", + ); + g.setAttributeNS(null, "opacity", "0.25"), + g.setAttributeNS(null, "fill", "#000000"); + var y = r.createNS( + "http://www.w3.org/2000/svg", + "path", + ); + y.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(y); + var m = r.createNS( + "http://www.w3.org/2000/svg", + "g", + ); + m.setAttributeNS( + null, + "transform", + "translate(6.0, 7.0)", + ), + m.setAttributeNS(null, "fill", "#FFFFFF"); + var x = r.createNS( + "http://www.w3.org/2000/svg", + "g", + ); + x.setAttributeNS( + null, + "transform", + "translate(8.0, 8.0)", + ); + var b = r.createNS( + "http://www.w3.org/2000/svg", + "circle", + ); + b.setAttributeNS(null, "fill", "#000000"), + b.setAttributeNS(null, "opacity", "0.25"), + b.setAttributeNS(null, "cx", "5.5"), + b.setAttributeNS(null, "cy", "5.5"), + b.setAttributeNS(null, "r", "5.4999962"); + var _ = r.createNS( + "http://www.w3.org/2000/svg", + "circle", + ); + _.setAttributeNS(null, "fill", "#FFFFFF"), + _.setAttributeNS(null, "cx", "5.5"), + _.setAttributeNS(null, "cy", "5.5"), + _.setAttributeNS(null, "r", "5.4999962"), + x.appendChild(b), + x.appendChild(_), + l.appendChild(u), + l.appendChild(d), + l.appendChild(g), + l.appendChild(m), + l.appendChild(x), + o.appendChild(l), + this._element.appendChild(o), + (this._offset = t.Point.convert( + (n && n.offset) || [0, -14], + )); + } + this._element.classList.add("mapboxgl-marker"), + this._element.addEventListener( + "dragstart", + function (t) { + t.preventDefault(); + }, + ), + this._element.addEventListener( + "mousedown", + function (t) { + t.preventDefault(); + }, + ), + this._element.addEventListener( + "focus", + function () { + var t = a._map.getContainer(); + (t.scrollTop = 0), (t.scrollLeft = 0); + }, + ), + Ni(this._element, this._anchor, "marker"), + (this._popup = null); + } + return ( + e && (n.__proto__ = e), + (n.prototype = Object.create(e && e.prototype)), + (n.prototype.constructor = n), + (n.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.setDraggable(this._draggable), + this._update(), + this._map.on("click", this._onMapClick), + this + ); + }), + (n.prototype.remove = function () { + return ( + this._map && + (this._map.off("click", this._onMapClick), + this._map.off("move", this._update), + this._map.off("moveend", this._update), + this._map.off( + "mousedown", + this._addDragHandler, + ), + this._map.off( + "touchstart", + this._addDragHandler, + ), + this._map.off("mouseup", this._onUp), + this._map.off("touchend", this._onUp), + this._map.off("mousemove", this._onMove), + this._map.off("touchmove", this._onMove), + delete this._map), + r.remove(this._element), + this._popup && this._popup.remove(), + this + ); + }), + (n.prototype.getLngLat = function () { + return this._lngLat; + }), + (n.prototype.setLngLat = function (e) { + return ( + (this._lngLat = t.LngLat.convert(e)), + (this._pos = null), + this._popup && + this._popup.setLngLat(this._lngLat), + this._update(), + this + ); + }), + (n.prototype.getElement = function () { + return this._element; + }), + (n.prototype.setPopup = function (t) { + if ( + (this._popup && + (this._popup.remove(), + (this._popup = null), + this._element.removeEventListener( + "keypress", + this._onKeyPress, + ), + this._originalTabIndex || + this._element.removeAttribute( + "tabindex", + )), + t) + ) { + if (!("offset" in t.options)) { + var e = 13.5, + r = Math.sqrt(Math.pow(e, 2) / 2); + t.options.offset = this._defaultMarker + ? { + top: [0, 0], + "top-left": [0, 0], + "top-right": [0, 0], + bottom: [0, -38.1], + "bottom-left": [r, -1 * (24.6 + r)], + "bottom-right": [-r, -1 * (24.6 + r)], + left: [e, -24.6], + right: [-13.5, -24.6], + } + : this._offset; + } + (this._popup = t), + this._lngLat && + this._popup.setLngLat(this._lngLat), + (this._originalTabIndex = + this._element.getAttribute("tabindex")), + this._originalTabIndex || + this._element.setAttribute( + "tabindex", + "0", + ), + this._element.addEventListener( + "keypress", + this._onKeyPress, + ); + } + return this; + }), + (n.prototype._onKeyPress = function (t) { + var e = t.code, + r = t.charCode || t.keyCode; + ("Space" !== e && + "Enter" !== e && + 32 !== r && + 13 !== r) || + this.togglePopup(); + }), + (n.prototype._onMapClick = function (t) { + var e = t.originalEvent.target, + r = this._element; + this._popup && + (e === r || r.contains(e)) && + this.togglePopup(); + }), + (n.prototype.getPopup = function () { + return this._popup; + }), + (n.prototype.togglePopup = function () { + var t = this._popup; + return t + ? (t.isOpen() + ? t.remove() + : t.addTo(this._map), + this) + : this; + }), + (n.prototype._update = function (t) { + if (this._map) { + this._map.transform.renderWorldCopies && + (this._lngLat = Fi( + this._lngLat, + this._pos, + this._map.transform, + )), + (this._pos = this._map + .project(this._lngLat) + ._add(this._offset)); + var e = ""; + "viewport" === this._rotationAlignment || + "auto" === this._rotationAlignment + ? (e = "rotateZ(" + this._rotation + "deg)") + : "map" === this._rotationAlignment && + (e = + "rotateZ(" + + (this._rotation - + this._map.getBearing()) + + "deg)"); + var n = ""; + "viewport" === this._pitchAlignment || + "auto" === this._pitchAlignment + ? (n = "rotateX(0deg)") + : "map" === this._pitchAlignment && + (n = + "rotateX(" + + this._map.getPitch() + + "deg)"), + (t && "moveend" !== t.type) || + (this._pos = this._pos.round()), + r.setTransform( + this._element, + Bi[this._anchor] + + " translate(" + + this._pos.x + + "px, " + + this._pos.y + + "px) " + + n + + " " + + e, + ); + } + }), + (n.prototype.getOffset = function () { + return this._offset; + }), + (n.prototype.setOffset = function (e) { + return ( + (this._offset = t.Point.convert(e)), + this._update(), + this + ); + }), + (n.prototype._onMove = function (e) { + (this._pos = e.point.sub(this._positionDelta)), + (this._lngLat = this._map.unproject( + this._pos, + )), + this.setLngLat(this._lngLat), + (this._element.style.pointerEvents = "none"), + "pending" === this._state && + ((this._state = "active"), + this.fire(new t.Event("dragstart"))), + this.fire(new t.Event("drag")); + }), + (n.prototype._onUp = function () { + (this._element.style.pointerEvents = "auto"), + (this._positionDelta = null), + this._map.off("mousemove", this._onMove), + this._map.off("touchmove", this._onMove), + "active" === this._state && + this.fire(new t.Event("dragend")), + (this._state = "inactive"); + }), + (n.prototype._addDragHandler = function (t) { + this._element.contains( + t.originalEvent.target, + ) && + (t.preventDefault(), + (this._positionDelta = t.point + .sub(this._pos) + .add(this._offset)), + (this._state = "pending"), + this._map.on("mousemove", this._onMove), + this._map.on("touchmove", this._onMove), + this._map.once("mouseup", this._onUp), + this._map.once("touchend", this._onUp)); + }), + (n.prototype.setDraggable = function (t) { + return ( + (this._draggable = !!t), + this._map && + (t + ? (this._map.on( + "mousedown", + this._addDragHandler, + ), + this._map.on( + "touchstart", + this._addDragHandler, + )) + : (this._map.off( + "mousedown", + this._addDragHandler, + ), + this._map.off( + "touchstart", + this._addDragHandler, + ))), + this + ); + }), + (n.prototype.isDraggable = function () { + return this._draggable; + }), + (n.prototype.setRotation = function (t) { + return ( + (this._rotation = t || 0), + this._update(), + this + ); + }), + (n.prototype.getRotation = function () { + return this._rotation; + }), + (n.prototype.setRotationAlignment = function (t) { + return ( + (this._rotationAlignment = t || "auto"), + this._update(), + this + ); + }), + (n.prototype.getRotationAlignment = function () { + return this._rotationAlignment; + }), + (n.prototype.setPitchAlignment = function (t) { + return ( + (this._pitchAlignment = + t && "auto" !== t + ? t + : this._rotationAlignment), + this._update(), + this + ); + }), + (n.prototype.getPitchAlignment = function () { + return this._pitchAlignment; + }), + n + ); + })(t.Evented), + Vi = { + positionOptions: { + enableHighAccuracy: !1, + maximumAge: 0, + timeout: 6e3, + }, + fitBoundsOptions: { maxZoom: 15 }, + trackUserLocation: !1, + showAccuracyCircle: !0, + showUserLocation: !0, + }; + var Hi = 0, + qi = !1, + Gi = (function (e) { + function n(r) { + e.call(this), + (this.options = t.extend({}, Vi, r)), + t.bindAll( + [ + "_onSuccess", + "_onError", + "_onZoom", + "_finish", + "_setupUI", + "_updateCamera", + "_updateMarker", + ], + this, + ); + } + return ( + e && (n.__proto__ = e), + (n.prototype = Object.create(e && e.prototype)), + (n.prototype.constructor = n), + (n.prototype.onAdd = function (e) { + return ( + (this._map = e), + (this._container = r.create( + "div", + "mapboxgl-ctrl mapboxgl-ctrl-group", + )), + (n = this._setupUI), + void 0 !== ji + ? n(ji) + : void 0 !== t.window.navigator.permissions + ? t.window.navigator.permissions + .query({ name: "geolocation" }) + .then(function (t) { + (ji = "denied" !== t.state), n(ji); + }) + : ((ji = !!t.window.navigator.geolocation), + n(ji)), + this._container + ); + var n; + }), + (n.prototype.onRemove = function () { + void 0 !== this._geolocationWatchID && + (t.window.navigator.geolocation.clearWatch( + this._geolocationWatchID, + ), + (this._geolocationWatchID = void 0)), + this.options.showUserLocation && + this._userLocationDotMarker && + this._userLocationDotMarker.remove(), + this.options.showAccuracyCircle && + this._accuracyCircleMarker && + this._accuracyCircleMarker.remove(), + r.remove(this._container), + this._map.off("zoom", this._onZoom), + (this._map = void 0), + (Hi = 0), + (qi = !1); + }), + (n.prototype._isOutOfMapMaxBounds = function (t) { + var e = this._map.getMaxBounds(), + r = t.coords; + return ( + e && + (r.longitude < e.getWest() || + r.longitude > e.getEast() || + r.latitude < e.getSouth() || + r.latitude > e.getNorth()) + ); + }), + (n.prototype._setErrorState = function () { + 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", + ); + } + }), + (n.prototype._onSuccess = function (e) { + if (this._map) { + if (this._isOutOfMapMaxBounds(e)) + return ( + this._setErrorState(), + this.fire( + new t.Event("outofmaxbounds", e), + ), + this._updateMarker(), + void this._finish() + ); + if (this.options.trackUserLocation) + switch ( + ((this._lastKnownPosition = e), + 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(e), + (this.options.trackUserLocation && + "ACTIVE_LOCK" !== this._watchState) || + this._updateCamera(e), + this.options.showUserLocation && + this._dotElement.classList.remove( + "mapboxgl-user-location-dot-stale", + ), + this.fire(new t.Event("geolocate", e)), + this._finish(); + } + }), + (n.prototype._updateCamera = function (e) { + var r = new t.LngLat( + e.coords.longitude, + e.coords.latitude, + ), + n = e.coords.accuracy, + i = this._map.getBearing(), + a = t.extend( + { bearing: i }, + this.options.fitBoundsOptions, + ); + this._map.fitBounds(r.toBounds(n), a, { + geolocateSource: !0, + }); + }), + (n.prototype._updateMarker = function (e) { + if (e) { + var r = new t.LngLat( + e.coords.longitude, + e.coords.latitude, + ); + this._accuracyCircleMarker + .setLngLat(r) + .addTo(this._map), + this._userLocationDotMarker + .setLngLat(r) + .addTo(this._map), + (this._accuracy = e.coords.accuracy), + this.options.showUserLocation && + this.options.showAccuracyCircle && + this._updateCircleRadius(); + } else + this._userLocationDotMarker.remove(), + this._accuracyCircleMarker.remove(); + }), + (n.prototype._updateCircleRadius = function () { + var t = this._map._container.clientHeight / 2, + e = this._map.unproject([0, t]), + r = this._map.unproject([1, t]), + n = e.distanceTo(r), + i = Math.ceil((2 * this._accuracy) / n); + (this._circleElement.style.width = i + "px"), + (this._circleElement.style.height = i + "px"); + }), + (n.prototype._onZoom = function () { + this.options.showUserLocation && + this.options.showAccuracyCircle && + this._updateCircleRadius(); + }), + (n.prototype._onError = function (e) { + if (this._map) { + if (this.options.trackUserLocation) + if (1 === e.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", + ), + (this._geolocateButton.disabled = !0); + var r = this._map._getUIString( + "GeolocateControl.LocationNotAvailable", + ); + (this._geolocateButton.title = r), + this._geolocateButton.setAttribute( + "aria-label", + r, + ), + void 0 !== this._geolocationWatchID && + this._clearWatch(); + } else { + if (3 === e.code && qi) return; + this._setErrorState(); + } + "OFF" !== this._watchState && + this.options.showUserLocation && + this._dotElement.classList.add( + "mapboxgl-user-location-dot-stale", + ), + this.fire(new t.Event("error", e)), + this._finish(); + } + }), + (n.prototype._finish = function () { + this._timeoutId && + clearTimeout(this._timeoutId), + (this._timeoutId = void 0); + }), + (n.prototype._setupUI = function (e) { + var n = this; + if ( + (this._container.addEventListener( + "contextmenu", + function (t) { + return t.preventDefault(); + }, + ), + (this._geolocateButton = r.create( + "button", + "mapboxgl-ctrl-geolocate", + this._container, + )), + r + .create( + "span", + "mapboxgl-ctrl-icon", + this._geolocateButton, + ) + .setAttribute("aria-hidden", !0), + (this._geolocateButton.type = "button"), + !1 === e) + ) { + t.warnOnce( + "Geolocation support is not available so the GeolocateControl will be disabled.", + ); + var i = this._map._getUIString( + "GeolocateControl.LocationNotAvailable", + ); + (this._geolocateButton.disabled = !0), + (this._geolocateButton.title = i), + this._geolocateButton.setAttribute( + "aria-label", + i, + ); + } else { + var a = this._map._getUIString( + "GeolocateControl.FindMyLocation", + ); + (this._geolocateButton.title = a), + this._geolocateButton.setAttribute( + "aria-label", + a, + ); + } + this.options.trackUserLocation && + (this._geolocateButton.setAttribute( + "aria-pressed", + "false", + ), + (this._watchState = "OFF")), + this.options.showUserLocation && + ((this._dotElement = r.create( + "div", + "mapboxgl-user-location-dot", + )), + (this._userLocationDotMarker = new Ui( + this._dotElement, + )), + (this._circleElement = r.create( + "div", + "mapboxgl-user-location-accuracy-circle", + )), + (this._accuracyCircleMarker = new Ui({ + element: this._circleElement, + pitchAlignment: "map", + })), + this.options.trackUserLocation && + (this._watchState = "OFF"), + this._map.on("zoom", this._onZoom)), + this._geolocateButton.addEventListener( + "click", + this.trigger.bind(this), + ), + (this._setup = !0), + this.options.trackUserLocation && + this._map.on("movestart", function (e) { + var r = + e.originalEvent && + "resize" === e.originalEvent.type; + e.geolocateSource || + "ACTIVE_LOCK" !== n._watchState || + r || + ((n._watchState = "BACKGROUND"), + n._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-background", + ), + n._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-active", + ), + n.fire( + new t.Event("trackuserlocationend"), + )); + }); + }), + (n.prototype.trigger = function () { + if (!this._setup) + return ( + t.warnOnce( + "Geolocate control triggered before added to a map", + ), + !1 + ); + if (this.options.trackUserLocation) { + switch (this._watchState) { + case "OFF": + (this._watchState = "WAITING_ACTIVE"), + this.fire( + new t.Event("trackuserlocationstart"), + ); + break; + case "WAITING_ACTIVE": + case "ACTIVE_LOCK": + case "ACTIVE_ERROR": + case "BACKGROUND_ERROR": + Hi--, + (qi = !1), + (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( + new t.Event("trackuserlocationend"), + ); + break; + case "BACKGROUND": + (this._watchState = "ACTIVE_LOCK"), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-background", + ), + this._lastKnownPosition && + this._updateCamera( + this._lastKnownPosition, + ), + this.fire( + new t.Event("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", + ); + } + if ( + "OFF" === this._watchState && + void 0 !== this._geolocationWatchID + ) + this._clearWatch(); + else if ( + void 0 === this._geolocationWatchID + ) { + var e; + this._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-waiting", + ), + this._geolocateButton.setAttribute( + "aria-pressed", + "true", + ), + ++Hi > 1 + ? ((e = { + maximumAge: 6e5, + timeout: 0, + }), + (qi = !0)) + : ((e = this.options.positionOptions), + (qi = !1)), + (this._geolocationWatchID = + t.window.navigator.geolocation.watchPosition( + this._onSuccess, + this._onError, + e, + )); + } + } else + t.window.navigator.geolocation.getCurrentPosition( + this._onSuccess, + this._onError, + this.options.positionOptions, + ), + (this._timeoutId = setTimeout( + this._finish, + 1e4, + )); + return !0; + }), + (n.prototype._clearWatch = function () { + t.window.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); + }), + n + ); + })(t.Evented), + Zi = { maxWidth: 100, unit: "metric" }, + Yi = function (e) { + (this.options = t.extend({}, Zi, e)), + t.bindAll(["_onMove", "setUnit"], this); + }; + function Wi(t, e, r) { + var n = (r && r.maxWidth) || 100, + i = t._container.clientHeight / 2, + a = t.unproject([0, i]), + o = t.unproject([n, i]), + s = a.distanceTo(o); + if (r && "imperial" === r.unit) { + var l = 3.2808 * s; + l > 5280 + ? Xi( + e, + n, + l / 5280, + t._getUIString("ScaleControl.Miles"), + ) + : Xi( + e, + n, + l, + t._getUIString("ScaleControl.Feet"), + ); + } else + r && "nautical" === r.unit + ? Xi( + e, + n, + s / 1852, + t._getUIString("ScaleControl.NauticalMiles"), + ) + : s >= 1e3 + ? Xi( + e, + n, + s / 1e3, + t._getUIString("ScaleControl.Kilometers"), + ) + : Xi( + e, + n, + s, + t._getUIString("ScaleControl.Meters"), + ); + } + function Xi(t, e, r, n) { + var i, + a, + o, + s = + ((i = r), + (a = Math.pow( + 10, + ("" + Math.floor(i)).length - 1, + )) * + ((o = i / a) >= 10 + ? 10 + : o >= 5 + ? 5 + : o >= 3 + ? 3 + : o >= 2 + ? 2 + : o >= 1 + ? 1 + : (function (t) { + var e = Math.pow( + 10, + Math.ceil(-Math.log(t) / Math.LN10), + ); + return Math.round(t * e) / e; + })(o))), + l = s / r; + (t.style.width = e * l + "px"), + (t.innerHTML = s + " " + n); + } + (Yi.prototype.getDefaultPosition = function () { + return "bottom-left"; + }), + (Yi.prototype._onMove = function () { + Wi(this._map, this._container, this.options); + }), + (Yi.prototype.onAdd = function (t) { + return ( + (this._map = t), + (this._container = r.create( + "div", + "mapboxgl-ctrl mapboxgl-ctrl-scale", + t.getContainer(), + )), + this._map.on("move", this._onMove), + this._onMove(), + this._container + ); + }), + (Yi.prototype.onRemove = function () { + r.remove(this._container), + this._map.off("move", this._onMove), + (this._map = void 0); + }), + (Yi.prototype.setUnit = function (t) { + (this.options.unit = t), + Wi(this._map, this._container, this.options); + }); + var Ji = function (e) { + (this._fullscreen = !1), + e && + e.container && + (e.container instanceof t.window.HTMLElement + ? (this._container = e.container) + : t.warnOnce( + "Full screen control 'container' must be a DOM element.", + )), + t.bindAll( + ["_onClickFullscreen", "_changeIcon"], + this, + ), + "onfullscreenchange" in t.window.document + ? (this._fullscreenchange = "fullscreenchange") + : "onmozfullscreenchange" in t.window.document + ? (this._fullscreenchange = "mozfullscreenchange") + : "onwebkitfullscreenchange" in t.window.document + ? (this._fullscreenchange = + "webkitfullscreenchange") + : "onmsfullscreenchange" in t.window.document && + (this._fullscreenchange = "MSFullscreenChange"); + }; + (Ji.prototype.onAdd = function (e) { + return ( + (this._map = e), + this._container || + (this._container = this._map.getContainer()), + (this._controlContainer = r.create( + "div", + "mapboxgl-ctrl mapboxgl-ctrl-group", + )), + this._checkFullscreenSupport() + ? this._setupUI() + : ((this._controlContainer.style.display = + "none"), + t.warnOnce( + "This device does not support fullscreen mode.", + )), + this._controlContainer + ); + }), + (Ji.prototype.onRemove = function () { + r.remove(this._controlContainer), + (this._map = null), + t.window.document.removeEventListener( + this._fullscreenchange, + this._changeIcon, + ); + }), + (Ji.prototype._checkFullscreenSupport = function () { + return !!( + t.window.document.fullscreenEnabled || + t.window.document.mozFullScreenEnabled || + t.window.document.msFullscreenEnabled || + t.window.document.webkitFullscreenEnabled + ); + }), + (Ji.prototype._setupUI = function () { + var e = (this._fullscreenButton = r.create( + "button", + "mapboxgl-ctrl-fullscreen", + this._controlContainer, + )); + r + .create("span", "mapboxgl-ctrl-icon", e) + .setAttribute("aria-hidden", !0), + (e.type = "button"), + this._updateTitle(), + this._fullscreenButton.addEventListener( + "click", + this._onClickFullscreen, + ), + t.window.document.addEventListener( + this._fullscreenchange, + this._changeIcon, + ); + }), + (Ji.prototype._updateTitle = function () { + var t = this._getTitle(); + this._fullscreenButton.setAttribute( + "aria-label", + t, + ), + (this._fullscreenButton.title = t); + }), + (Ji.prototype._getTitle = function () { + return this._map._getUIString( + this._isFullscreen() + ? "FullscreenControl.Exit" + : "FullscreenControl.Enter", + ); + }), + (Ji.prototype._isFullscreen = function () { + return this._fullscreen; + }), + (Ji.prototype._changeIcon = function () { + ((t.window.document.fullscreenElement || + t.window.document.mozFullScreenElement || + t.window.document.webkitFullscreenElement || + t.window.document.msFullscreenElement) === + this._container) !== + this._fullscreen && + ((this._fullscreen = !this._fullscreen), + this._fullscreenButton.classList.toggle( + "mapboxgl-ctrl-shrink", + ), + this._fullscreenButton.classList.toggle( + "mapboxgl-ctrl-fullscreen", + ), + this._updateTitle()); + }), + (Ji.prototype._onClickFullscreen = function () { + this._isFullscreen() + ? t.window.document.exitFullscreen + ? t.window.document.exitFullscreen() + : t.window.document.mozCancelFullScreen + ? t.window.document.mozCancelFullScreen() + : t.window.document.msExitFullscreen + ? t.window.document.msExitFullscreen() + : t.window.document.webkitCancelFullScreen && + t.window.document.webkitCancelFullScreen() + : this._container.requestFullscreen + ? this._container.requestFullscreen() + : this._container.mozRequestFullScreen + ? this._container.mozRequestFullScreen() + : this._container.msRequestFullscreen + ? this._container.msRequestFullscreen() + : this._container.webkitRequestFullscreen && + this._container.webkitRequestFullscreen(); + }); + var Ki = { + closeButton: !0, + closeOnClick: !0, + className: "", + maxWidth: "240px", + }, + $i = (function (e) { + function n(r) { + e.call(this), + (this.options = t.extend(Object.create(Ki), r)), + t.bindAll( + [ + "_update", + "_onClose", + "remove", + "_onMouseMove", + "_onMouseUp", + "_onDrag", + ], + this, + ); + } + return ( + e && (n.__proto__ = e), + (n.prototype = Object.create(e && e.prototype)), + (n.prototype.constructor = n), + (n.prototype.addTo = function (e) { + return ( + this._map && this.remove(), + (this._map = e), + this.options.closeOnClick && + this._map.on("click", this._onClose), + this.options.closeOnMove && + this._map.on("move", this._onClose), + this._map.on("remove", this.remove), + this._update(), + this._trackPointer + ? (this._map.on( + "mousemove", + this._onMouseMove, + ), + this._map.on("mouseup", this._onMouseUp), + this._container && + this._container.classList.add( + "mapboxgl-popup-track-pointer", + ), + this._map._canvasContainer.classList.add( + "mapboxgl-track-pointer", + )) + : this._map.on("move", this._update), + this.fire(new t.Event("open")), + this + ); + }), + (n.prototype.isOpen = function () { + return !!this._map; + }), + (n.prototype.remove = function () { + return ( + this._content && r.remove(this._content), + this._container && + (r.remove(this._container), + delete this._container), + this._map && + (this._map.off("move", this._update), + this._map.off("move", this._onClose), + this._map.off("click", this._onClose), + this._map.off("remove", this.remove), + this._map.off( + "mousemove", + this._onMouseMove, + ), + this._map.off("mouseup", this._onMouseUp), + this._map.off("drag", this._onDrag), + delete this._map), + this.fire(new t.Event("close")), + this + ); + }), + (n.prototype.getLngLat = function () { + return this._lngLat; + }), + (n.prototype.setLngLat = function (e) { + return ( + (this._lngLat = t.LngLat.convert(e)), + (this._pos = null), + (this._trackPointer = !1), + this._update(), + this._map && + (this._map.on("move", this._update), + this._map.off( + "mousemove", + this._onMouseMove, + ), + this._container && + this._container.classList.remove( + "mapboxgl-popup-track-pointer", + ), + this._map._canvasContainer.classList.remove( + "mapboxgl-track-pointer", + )), + this + ); + }), + (n.prototype.trackPointer = function () { + return ( + (this._trackPointer = !0), + (this._pos = null), + this._update(), + this._map && + (this._map.off("move", this._update), + this._map.on( + "mousemove", + this._onMouseMove, + ), + this._map.on("drag", this._onDrag), + this._container && + this._container.classList.add( + "mapboxgl-popup-track-pointer", + ), + this._map._canvasContainer.classList.add( + "mapboxgl-track-pointer", + )), + this + ); + }), + (n.prototype.getElement = function () { + return this._container; + }), + (n.prototype.setText = function (e) { + return this.setDOMContent( + t.window.document.createTextNode(e), + ); + }), + (n.prototype.setHTML = function (e) { + var r, + n = + t.window.document.createDocumentFragment(), + i = t.window.document.createElement("body"); + for (i.innerHTML = e; (r = i.firstChild); ) + n.appendChild(r); + return this.setDOMContent(n); + }), + (n.prototype.getMaxWidth = function () { + return ( + this._container && + this._container.style.maxWidth + ); + }), + (n.prototype.setMaxWidth = function (t) { + return ( + (this.options.maxWidth = t), + this._update(), + this + ); + }), + (n.prototype.setDOMContent = function (t) { + return ( + this._createContent(), + this._content.appendChild(t), + this._update(), + this + ); + }), + (n.prototype.addClassName = function (t) { + this._container && + this._container.classList.add(t); + }), + (n.prototype.removeClassName = function (t) { + this._container && + this._container.classList.remove(t); + }), + (n.prototype.toggleClassName = function (t) { + if (this._container) + return this._container.classList.toggle(t); + }), + (n.prototype._createContent = function () { + this._content && r.remove(this._content), + (this._content = r.create( + "div", + "mapboxgl-popup-content", + this._container, + )), + this.options.closeButton && + ((this._closeButton = r.create( + "button", + "mapboxgl-popup-close-button", + this._content, + )), + (this._closeButton.type = "button"), + this._closeButton.setAttribute( + "aria-label", + "Close popup", + ), + (this._closeButton.innerHTML = "×"), + this._closeButton.addEventListener( + "click", + this._onClose, + )); + }), + (n.prototype._onMouseUp = function (t) { + this._update(t.point); + }), + (n.prototype._onMouseMove = function (t) { + this._update(t.point); + }), + (n.prototype._onDrag = function (t) { + this._update(t.point); + }), + (n.prototype._update = function (t) { + var e = this, + n = this._lngLat || this._trackPointer; + if ( + this._map && + n && + this._content && + (this._container || + ((this._container = r.create( + "div", + "mapboxgl-popup", + this._map.getContainer(), + )), + (this._tip = r.create( + "div", + "mapboxgl-popup-tip", + this._container, + )), + this._container.appendChild(this._content), + this.options.className && + this.options.className + .split(" ") + .forEach(function (t) { + return e._container.classList.add(t); + }), + this._trackPointer && + this._container.classList.add( + "mapboxgl-popup-track-pointer", + )), + this.options.maxWidth && + this._container.style.maxWidth !== + this.options.maxWidth && + (this._container.style.maxWidth = + this.options.maxWidth), + this._map.transform.renderWorldCopies && + !this._trackPointer && + (this._lngLat = Fi( + this._lngLat, + this._pos, + this._map.transform, + )), + !this._trackPointer || t) + ) { + var i = (this._pos = + this._trackPointer && t + ? t + : this._map.project(this._lngLat)), + a = this.options.anchor, + o = Qi(this.options.offset); + if (!a) { + var s, + l = this._container.offsetWidth, + u = this._container.offsetHeight; + (s = + i.y + o.bottom.y < u + ? ["top"] + : i.y > this._map.transform.height - u + ? ["bottom"] + : []), + i.x < l / 2 + ? s.push("left") + : i.x > + this._map.transform.width - l / 2 && + s.push("right"), + (a = + 0 === s.length + ? "bottom" + : s.join("-")); + } + var c = i.add(o[a]).round(); + r.setTransform( + this._container, + Bi[a] + + " translate(" + + c.x + + "px," + + c.y + + "px)", + ), + Ni(this._container, a, "popup"); + } + }), + (n.prototype._onClose = function () { + this.remove(); + }), + n + ); + })(t.Evented); + function Qi(e) { + if (e) { + if ("number" == typeof e) { + var r = Math.round( + Math.sqrt(0.5 * Math.pow(e, 2)), + ); + return { + center: new t.Point(0, 0), + top: new t.Point(0, e), + "top-left": new t.Point(r, r), + "top-right": new t.Point(-r, r), + bottom: new t.Point(0, -e), + "bottom-left": new t.Point(r, -r), + "bottom-right": new t.Point(-r, -r), + left: new t.Point(e, 0), + right: new t.Point(-e, 0), + }; + } + if (e instanceof t.Point || Array.isArray(e)) { + var n = t.Point.convert(e); + return { + center: n, + top: n, + "top-left": n, + "top-right": n, + bottom: n, + "bottom-left": n, + "bottom-right": n, + left: n, + right: n, + }; + } + return { + center: t.Point.convert(e.center || [0, 0]), + top: t.Point.convert(e.top || [0, 0]), + "top-left": t.Point.convert( + e["top-left"] || [0, 0], + ), + "top-right": t.Point.convert( + e["top-right"] || [0, 0], + ), + bottom: t.Point.convert(e.bottom || [0, 0]), + "bottom-left": t.Point.convert( + e["bottom-left"] || [0, 0], + ), + "bottom-right": t.Point.convert( + e["bottom-right"] || [0, 0], + ), + left: t.Point.convert(e.left || [0, 0]), + right: t.Point.convert(e.right || [0, 0]), + }; + } + return Qi(new t.Point(0, 0)); + } + var ta = { + version: t.version, + supported: e, + setRTLTextPlugin: t.setRTLTextPlugin, + getRTLTextPluginStatus: t.getRTLTextPluginStatus, + Map: Oi, + NavigationControl: zi, + GeolocateControl: Gi, + AttributionControl: Ti, + ScaleControl: Yi, + FullscreenControl: Ji, + Popup: $i, + Marker: Ui, + Style: Ye, + LngLat: t.LngLat, + LngLatBounds: t.LngLatBounds, + Point: t.Point, + MercatorCoordinate: t.MercatorCoordinate, + Evented: t.Evented, + config: t.config, + prewarm: function () { + jt().acquire(Rt); + }, + clearPrewarmedResources: function () { + var t = Bt; + t && + (t.isPreloaded() && 1 === t.numActive() + ? (t.release(Rt), (Bt = null)) + : console.warn( + "Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()", + )); + }, + get accessToken() { + return t.config.ACCESS_TOKEN; + }, + set accessToken(e) { + t.config.ACCESS_TOKEN = e; + }, + get baseApiUrl() { + return t.config.API_URL; + }, + set baseApiUrl(e) { + t.config.API_URL = e; + }, + get workerCount() { + return Ft.workerCount; + }, + set workerCount(t) { + Ft.workerCount = t; + }, + get maxParallelImageRequests() { + return t.config.MAX_PARALLEL_IMAGE_REQUESTS; + }, + set maxParallelImageRequests(e) { + t.config.MAX_PARALLEL_IMAGE_REQUESTS = e; + }, + clearStorage: function (e) { + t.clearTileCache(e); + }, + workerUrl: "", + }; + return ta; + }), + r + ); + })(); + }, + 27084: function (t) { + "use strict"; + t.exports = + Math.log2 || + function (t) { + return Math.log(t) * Math.LOG2E; + }; + }, + 16825: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + e || ((e = t), (t = window)); + var r = 0, + i = 0, + a = 0, + o = { shift: !1, alt: !1, control: !1, meta: !1 }, + s = !1; + function l(t) { + var e = !1; + return ( + "altKey" in t && + ((e = e || t.altKey !== o.alt), (o.alt = !!t.altKey)), + "shiftKey" in t && + ((e = e || t.shiftKey !== o.shift), + (o.shift = !!t.shiftKey)), + "ctrlKey" in t && + ((e = e || t.ctrlKey !== o.control), + (o.control = !!t.ctrlKey)), + "metaKey" in t && + ((e = e || t.metaKey !== o.meta), + (o.meta = !!t.metaKey)), + e + ); + } + function u(t, s) { + var u = n.x(s), + c = n.y(s); + "buttons" in s && (t = 0 | s.buttons), + (t !== r || u !== i || c !== a || l(s)) && + ((r = 0 | t), + (i = u || 0), + (a = c || 0), + e && e(r, i, a, o)); + } + function c(t) { + u(0, t); + } + function f() { + (r || + i || + a || + o.shift || + o.alt || + o.meta || + o.control) && + ((i = a = 0), + (r = 0), + (o.shift = o.alt = o.control = o.meta = !1), + e && e(0, 0, 0, o)); + } + function h(t) { + l(t) && e && e(r, i, a, o); + } + function p(t) { + 0 === n.buttons(t) ? u(0, t) : u(r, t); + } + function d(t) { + u(r | n.buttons(t), t); + } + function v(t) { + u(r & ~n.buttons(t), t); + } + function g() { + s || + ((s = !0), + t.addEventListener("mousemove", p), + t.addEventListener("mousedown", d), + t.addEventListener("mouseup", v), + t.addEventListener("mouseleave", c), + t.addEventListener("mouseenter", c), + t.addEventListener("mouseout", c), + t.addEventListener("mouseover", c), + t.addEventListener("blur", f), + t.addEventListener("keyup", h), + t.addEventListener("keydown", h), + t.addEventListener("keypress", h), + t !== window && + (window.addEventListener("blur", f), + window.addEventListener("keyup", h), + window.addEventListener("keydown", h), + window.addEventListener("keypress", h))); + } + g(); + var y = { element: t }; + return ( + Object.defineProperties(y, { + enabled: { + get: function () { + return s; + }, + set: function (e) { + e + ? g() + : s && + ((s = !1), + t.removeEventListener("mousemove", p), + t.removeEventListener("mousedown", d), + t.removeEventListener("mouseup", v), + t.removeEventListener("mouseleave", c), + t.removeEventListener("mouseenter", c), + t.removeEventListener("mouseout", c), + t.removeEventListener("mouseover", c), + t.removeEventListener("blur", f), + t.removeEventListener("keyup", h), + t.removeEventListener("keydown", h), + t.removeEventListener("keypress", h), + t !== window && + (window.removeEventListener("blur", f), + 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 i; + }, + enumerable: !0, + }, + y: { + get: function () { + return a; + }, + enumerable: !0, + }, + mods: { + get: function () { + return o; + }, + enumerable: !0, + }, + }), + y + ); + }; + var n = r(74311); + }, + 48956: function (t) { + var e = { left: 0, top: 0 }; + t.exports = function (t, r, n) { + (r = r || t.currentTarget || t.srcElement), + Array.isArray(n) || (n = [0, 0]); + var i, + a = t.clientX || 0, + o = t.clientY || 0, + s = + (i = r) === window || + i === document || + i === document.body + ? e + : i.getBoundingClientRect(); + return (n[0] = a - s.left), (n[1] = o - s.top), n; + }; + }, + 74311: function (t, e) { + "use strict"; + function r(t) { + return t.target || t.srcElement || window; + } + (e.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; + }), + (e.element = r), + (e.x = function (t) { + if ("object" == typeof t) { + if ("offsetX" in t) return t.offsetX; + var e = r(t).getBoundingClientRect(); + return t.clientX - e.left; + } + return 0; + }), + (e.y = function (t) { + if ("object" == typeof t) { + if ("offsetY" in t) return t.offsetY; + var e = r(t).getBoundingClientRect(); + return t.clientY - e.top; + } + return 0; + }); + }, + 1195: function (t, e, r) { + "use strict"; + var n = r(75686); + t.exports = function (t, e, r) { + "function" == typeof t && + ((r = !!e), (e = t), (t = window)); + var i = n("ex", t), + a = function (t) { + r && t.preventDefault(); + var n = t.deltaX || 0, + a = t.deltaY || 0, + o = t.deltaZ || 0, + s = 1; + switch (t.deltaMode) { + case 1: + s = i; + break; + case 2: + s = window.innerHeight; + } + if (((a *= s), (o *= s), (n *= s) || a || o)) + return e(n, a, o, t); + }; + return t.addEventListener("wheel", a), a; + }; + }, + 7417: function (t, e, r) { + var n; + !(function (i, a, o) { + (a[i] = + a[i] || + (function () { + "use strict"; + var t, + e, + r, + n = Object.prototype.toString, + i = + "undefined" != typeof setImmediate + ? function (t) { + return setImmediate(t); + } + : setTimeout; + try { + Object.defineProperty({}, "x", {}), + (t = function (t, e, r, n) { + return Object.defineProperty(t, e, { + value: r, + writable: !0, + configurable: !1 !== n, + }); + }); + } catch (e) { + t = function (t, e, r) { + return (t[e] = r), t; + }; + } + function a(t, n) { + r.add(t, n), e || (e = i(r.drain)); + } + function o(t) { + var e, + r = typeof t; + return ( + null == t || + ("object" != r && "function" != r) || + (e = t.then), + "function" == typeof e && e + ); + } + function s() { + for (var t = 0; t < this.chain.length; t++) + l( + this, + 1 === this.state + ? this.chain[t].success + : this.chain[t].failure, + this.chain[t], + ); + this.chain.length = 0; + } + function l(t, e, r) { + var n, i; + try { + !1 === e + ? r.reject(t.msg) + : (n = + !0 === e ? t.msg : e.call(void 0, t.msg)) === + r.promise + ? r.reject(TypeError("Promise-chain cycle")) + : (i = o(n)) + ? i.call(n, r.resolve, r.reject) + : r.resolve(n); + } catch (t) { + r.reject(t); + } + } + function u(t) { + var e, + r = this; + if (!r.triggered) { + (r.triggered = !0), r.def && (r = r.def); + try { + (e = o(t)) + ? a(function () { + var n = new h(r); + try { + e.call( + t, + function () { + u.apply(n, arguments); + }, + function () { + c.apply(n, arguments); + }, + ); + } catch (t) { + c.call(n, t); + } + }) + : ((r.msg = t), + (r.state = 1), + r.chain.length > 0 && a(s, r)); + } catch (t) { + c.call(new h(r), t); + } + } + } + function c(t) { + var e = this; + e.triggered || + ((e.triggered = !0), + e.def && (e = e.def), + (e.msg = t), + (e.state = 2), + e.chain.length > 0 && a(s, e)); + } + function f(t, e, r, n) { + for (var i = 0; i < e.length; i++) + !(function (i) { + t.resolve(e[i]).then(function (t) { + r(i, t); + }, n); + })(i); + } + function h(t) { + (this.def = t), (this.triggered = !1); + } + function p(t) { + (this.promise = t), + (this.state = 0), + (this.triggered = !1), + (this.chain = []), + (this.msg = void 0); + } + function d(t) { + if ("function" != typeof t) + throw TypeError("Not a function"); + if (0 !== this.__NPO__) + throw TypeError("Not a promise"); + this.__NPO__ = 1; + var e = new p(this); + (this.then = function (t, r) { + var n = { + success: "function" != typeof t || t, + failure: "function" == typeof r && r, + }; + return ( + (n.promise = new this.constructor(function ( + t, + e, + ) { + if ( + "function" != typeof t || + "function" != typeof e + ) + throw TypeError("Not a function"); + (n.resolve = t), (n.reject = e); + })), + e.chain.push(n), + 0 !== e.state && a(s, e), + n.promise + ); + }), + (this.catch = function (t) { + return this.then(void 0, t); + }); + try { + t.call( + void 0, + function (t) { + u.call(e, t); + }, + function (t) { + c.call(e, t); + }, + ); + } catch (t) { + c.call(e, t); + } + } + r = (function () { + var t, r, n; + function i(t, e) { + (this.fn = t), + (this.self = e), + (this.next = void 0); + } + return { + add: function (e, a) { + (n = new i(e, a)), + r ? (r.next = n) : (t = n), + (r = n), + (n = void 0); + }, + drain: function () { + var n = t; + for (t = r = e = void 0; n; ) + n.fn.call(n.self), (n = n.next); + }, + }; + })(); + var v = t({}, "constructor", d, !1); + return ( + (d.prototype = v), + t(v, "__NPO__", 0, !1), + t(d, "resolve", function (t) { + return t && "object" == typeof t && 1 === t.__NPO__ + ? t + : new this(function (e, r) { + if ( + "function" != typeof e || + "function" != typeof r + ) + throw TypeError("Not a function"); + e(t); + }); + }), + t(d, "reject", function (t) { + return new this(function (e, r) { + if ( + "function" != typeof e || + "function" != typeof r + ) + throw TypeError("Not a function"); + r(t); + }); + }), + t(d, "all", function (t) { + var e = this; + return "[object Array]" != n.call(t) + ? e.reject(TypeError("Not an array")) + : 0 === t.length + ? e.resolve([]) + : new e(function (r, n) { + if ( + "function" != typeof r || + "function" != typeof n + ) + throw TypeError("Not a function"); + var i = t.length, + a = Array(i), + o = 0; + f( + e, + t, + function (t, e) { + (a[t] = e), ++o === i && r(a); + }, + n, + ); + }); + }), + t(d, "race", function (t) { + var e = this; + return "[object Array]" != n.call(t) + ? e.reject(TypeError("Not an array")) + : new e(function (r, n) { + if ( + "function" != typeof r || + "function" != typeof n + ) + throw TypeError("Not a function"); + f( + e, + t, + function (t, e) { + r(e); + }, + n, + ); + }); + }), + d + ); + })()), + t.exports + ? (t.exports = a[i]) + : void 0 === + (n = function () { + return a[i]; + }.call(e, r, e, t)) || (t.exports = n); + })("Promise", void 0 !== r.g ? r.g : this); + }, + 18625: function (t) { + var e = Math.PI, + r = s(120); + function n(t, e, r, n) { + return ["C", t, e, r, n, r, n]; + } + function i(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 a(t, n, i, s, l, u, c, f, h, p) { + if (p) (T = p[0]), (k = p[1]), (_ = p[2]), (w = p[3]); + else { + var d = o(t, n, -l); + (t = d.x), (n = d.y); + var v = (t - (f = (d = o(f, h, -l)).x)) / 2, + g = (n - (h = d.y)) / 2, + y = (v * v) / (i * i) + (g * g) / (s * s); + y > 1 && ((i *= y = Math.sqrt(y)), (s *= y)); + var m = i * i, + x = s * s, + b = + (u == c ? -1 : 1) * + Math.sqrt( + Math.abs( + (m * x - m * g * g - x * v * v) / + (m * g * g + x * v * v), + ), + ); + b == 1 / 0 && (b = 1); + var _ = (b * i * g) / s + (t + f) / 2, + w = (b * -s * v) / i + (n + h) / 2, + T = Math.asin(((n - w) / s).toFixed(9)), + k = Math.asin(((h - w) / s).toFixed(9)); + (T = t < _ ? e - T : T) < 0 && (T = 2 * e + T), + (k = f < _ ? e - k : k) < 0 && (k = 2 * e + k), + c && T > k && (T -= 2 * e), + !c && k > T && (k -= 2 * e); + } + if (Math.abs(k - T) > r) { + var A = k, + M = f, + S = h; + k = T + r * (c && k > T ? 1 : -1); + var E = a( + (f = _ + i * Math.cos(k)), + (h = w + s * Math.sin(k)), + i, + s, + l, + 0, + c, + M, + S, + [k, A, _, w], + ); + } + var L = Math.tan((k - T) / 4), + C = (4 / 3) * i * L, + P = (4 / 3) * s * L, + O = [ + 2 * t - (t + C * Math.sin(T)), + 2 * n - (n - P * Math.cos(T)), + f + C * Math.sin(k), + h - P * Math.cos(k), + f, + h, + ]; + if (p) return O; + E && (O = O.concat(E)); + for (var I = 0; I < O.length; ) { + var D = o(O[I], O[I + 1], l); + (O[I++] = D.x), (O[I++] = D.y); + } + return O; + } + function o(t, e, r) { + return { + x: t * Math.cos(r) - e * Math.sin(r), + y: t * Math.sin(r) + e * Math.cos(r), + }; + } + function s(t) { + return t * (e / 180); + } + t.exports = function (t) { + for ( + var e, + r = [], + o = 0, + l = 0, + u = 0, + c = 0, + f = null, + h = null, + p = 0, + d = 0, + v = 0, + g = t.length; + v < g; + v++ + ) { + var y = t[v], + m = y[0]; + switch (m) { + case "M": + (u = y[1]), (c = y[2]); + break; + case "A": + (y = a( + p, + d, + y[1], + y[2], + s(y[3]), + y[4], + y[5], + y[6], + y[7], + )).unshift("C"), + y.length > 7 && + (r.push(y.splice(0, 7)), y.unshift("C")); + break; + case "S": + var x = p, + b = d; + ("C" != e && "S" != e) || + ((x += x - o), (b += b - l)), + (y = ["C", x, b, y[1], y[2], y[3], y[4]]); + break; + case "T": + "Q" == e || "T" == e + ? ((f = 2 * p - f), (h = 2 * d - h)) + : ((f = p), (h = d)), + (y = i(p, d, f, h, y[1], y[2])); + break; + case "Q": + (f = y[1]), + (h = y[2]), + (y = i(p, d, y[1], y[2], y[3], y[4])); + break; + case "L": + y = n(p, d, y[1], y[2]); + break; + case "H": + y = n(p, d, y[1], d); + break; + case "V": + y = n(p, d, p, y[1]); + break; + case "Z": + y = n(p, d, u, c); + } + (e = m), + (p = y[y.length - 2]), + (d = y[y.length - 1]), + y.length > 4 + ? ((o = y[y.length - 4]), (l = y[y.length - 3])) + : ((o = p), (l = d)), + r.push(y); + } + return r; + }; + }, + 56131: function (t) { + "use strict"; + var e = Object.getOwnPropertySymbols, + r = Object.prototype.hasOwnProperty, + n = Object.prototype.propertyIsEnumerable; + function i(t) { + if (null == t) + throw new TypeError( + "Object.assign cannot be called with null or undefined", + ); + return Object(t); + } + t.exports = (function () { + try { + if (!Object.assign) return !1; + var t = new String("abc"); + if ( + ((t[5] = "de"), + "5" === Object.getOwnPropertyNames(t)[0]) + ) + return !1; + for (var e = {}, r = 0; r < 10; r++) + e["_" + String.fromCharCode(r)] = r; + if ( + "0123456789" !== + Object.getOwnPropertyNames(e) + .map(function (t) { + return e[t]; + }) + .join("") + ) + return !1; + var n = {}; + return ( + "abcdefghijklmnopqrst".split("").forEach(function (t) { + n[t] = t; + }), + "abcdefghijklmnopqrst" === + Object.keys(Object.assign({}, n)).join("") + ); + } catch (t) { + return !1; + } + })() + ? Object.assign + : function (t, a) { + for ( + var o, s, l = i(t), u = 1; + u < arguments.length; + u++ + ) { + for (var c in (o = Object(arguments[u]))) + r.call(o, c) && (l[c] = o[c]); + if (e) { + s = e(o); + for (var f = 0; f < s.length; f++) + n.call(o, s[f]) && (l[s[f]] = o[s[f]]); + } + } + return l; + }; + }, + 65848: function (t) { + "use strict"; + var e = function (t) { + return t != t; + }; + t.exports = function (t, r) { + return 0 === t && 0 === r + ? 1 / t == 1 / r + : t === r || !(!e(t) || !e(r)); + }; + }, + 64003: function (t, e, r) { + "use strict"; + var n = r(17045), + i = r(68222), + a = r(65848), + o = r(27015), + s = r(55572), + l = i(o(), Object); + n(l, { getPolyfill: o, implementation: a, shim: s }), + (t.exports = l); + }, + 27015: function (t, e, r) { + "use strict"; + var n = r(65848); + t.exports = function () { + return "function" == typeof Object.is ? Object.is : n; + }; + }, + 55572: function (t, e, r) { + "use strict"; + var n = r(27015), + i = r(17045); + t.exports = function () { + var t = n(); + return ( + i( + Object, + { is: t }, + { + is: function () { + return Object.is !== t; + }, + }, + ), + t + ); + }; + }, + 99019: function (t, e, r) { + "use strict"; + var n; + if (!Object.keys) { + var i = Object.prototype.hasOwnProperty, + a = Object.prototype.toString, + o = r(64178), + s = Object.prototype.propertyIsEnumerable, + l = !s.call({ toString: null }, "toString"), + u = s.call(function () {}, "prototype"), + c = [ + "toString", + "toLocaleString", + "valueOf", + "hasOwnProperty", + "isPrototypeOf", + "propertyIsEnumerable", + "constructor", + ], + f = function (t) { + var e = t.constructor; + return e && e.prototype === t; + }, + h = { + $applicationCache: !0, + $console: !0, + $external: !0, + $frame: !0, + $frameElement: !0, + $frames: !0, + $innerHeight: !0, + $innerWidth: !0, + $onmozfullscreenchange: !0, + $onmozfullscreenerror: !0, + $outerHeight: !0, + $outerWidth: !0, + $pageXOffset: !0, + $pageYOffset: !0, + $parent: !0, + $scrollLeft: !0, + $scrollTop: !0, + $scrollX: !0, + $scrollY: !0, + $self: !0, + $webkitIndexedDB: !0, + $webkitStorageInfo: !0, + $window: !0, + }, + p = (function () { + if ("undefined" == typeof window) return !1; + for (var t in window) + try { + if ( + !h["$" + t] && + i.call(window, t) && + null !== window[t] && + "object" == typeof window[t] + ) + try { + f(window[t]); + } catch (t) { + return !0; + } + } catch (t) { + return !0; + } + return !1; + })(); + n = function (t) { + var e = null !== t && "object" == typeof t, + r = "[object Function]" === a.call(t), + n = o(t), + s = e && "[object String]" === a.call(t), + h = []; + if (!e && !r && !n) + throw new TypeError( + "Object.keys called on a non-object", + ); + var d = u && r; + if (s && t.length > 0 && !i.call(t, 0)) + for (var v = 0; v < t.length; ++v) h.push(String(v)); + if (n && t.length > 0) + for (var g = 0; g < t.length; ++g) h.push(String(g)); + else + for (var y in t) + (d && "prototype" === y) || + !i.call(t, y) || + h.push(String(y)); + if (l) + for ( + var m = (function (t) { + if ("undefined" == typeof window || !p) + return f(t); + try { + return f(t); + } catch (t) { + return !1; + } + })(t), + x = 0; + x < c.length; + ++x + ) + (m && "constructor" === c[x]) || + !i.call(t, c[x]) || + h.push(c[x]); + return h; + }; + } + t.exports = n; + }, + 8709: function (t, e, r) { + "use strict"; + var n = Array.prototype.slice, + i = r(64178), + a = Object.keys, + o = a + ? function (t) { + return a(t); + } + : r(99019), + s = Object.keys; + (o.shim = function () { + if (Object.keys) { + var t = (function () { + var t = Object.keys(arguments); + return t && t.length === arguments.length; + })(1, 2); + t || + (Object.keys = function (t) { + return i(t) ? s(n.call(t)) : s(t); + }); + } else Object.keys = o; + return Object.keys || o; + }), + (t.exports = o); + }, + 64178: function (t) { + "use strict"; + var e = Object.prototype.toString; + t.exports = function (t) { + var r = e.call(t), + n = "[object Arguments]" === r; + return ( + n || + (n = + "[object Array]" !== r && + null !== t && + "object" == typeof t && + "number" == typeof t.length && + t.length >= 0 && + "[object Function]" === e.call(t.callee)), + n + ); + }; + }, + 88641: function (t) { + "use strict"; + function e(t, e) { + if ("string" != typeof t) return [t]; + var r = [t]; + "string" == typeof e || Array.isArray(e) + ? (e = { brackets: e }) + : e || (e = {}); + var n = e.brackets + ? Array.isArray(e.brackets) + ? e.brackets + : [e.brackets] + : ["{}", "[]", "()"], + i = e.escape || "___", + a = !!e.flat; + n.forEach(function (t) { + var e = new RegExp( + [ + "\\", + t[0], + "[^\\", + t[0], + "\\", + t[1], + "]*\\", + t[1], + ].join(""), + ), + n = []; + function a(e, a, o) { + var s = r.push(e.slice(t[0].length, -t[1].length)) - 1; + return n.push(s), i + s + i; + } + r.forEach(function (t, n) { + for (var i, o = 0; t != i; ) + if (((i = t), (t = t.replace(e, a)), o++ > 1e4)) + throw Error( + "References have circular dependency. Please, check them.", + ); + r[n] = t; + }), + (n = n.reverse()), + (r = r.map(function (e) { + return ( + n.forEach(function (r) { + e = e.replace( + new RegExp("(\\" + i + r + "\\" + i + ")", "g"), + t[0] + "$1" + t[1], + ); + }), + e + ); + })); + }); + var o = new RegExp("\\" + i + "([0-9]+)\\" + i); + return a + ? r + : (function t(e, r, n) { + for (var i, a = [], s = 0; (i = o.exec(e)); ) { + if (s++ > 1e4) + throw Error("Circular references in parenthesis"); + a.push(e.slice(0, i.index)), + a.push(t(r[i[1]], r)), + (e = e.slice(i.index + i[0].length)); + } + return a.push(e), a; + })(r[0], r); + } + function r(t, e) { + if (e && e.flat) { + var r, + n = (e && e.escape) || "___", + i = t[0]; + if (!i) return ""; + for ( + var a = new RegExp("\\" + n + "([0-9]+)\\" + n), o = 0; + i != r; + + ) { + if (o++ > 1e4) + throw Error("Circular references in " + t); + (r = i), (i = i.replace(a, s)); + } + return i; + } + return t.reduce(function t(e, r) { + return Array.isArray(r) && (r = r.reduce(t, "")), e + r; + }, ""); + function s(e, r) { + if (null == t[r]) + throw Error("Reference " + r + "is undefined"); + return t[r]; + } + } + function n(t, n) { + return Array.isArray(t) ? r(t, n) : e(t, n); + } + (n.parse = e), (n.stringify = r), (t.exports = n); + }, + 18863: function (t, e, r) { + "use strict"; + var n = r(71299); + t.exports = function (t) { + var e; + return ( + arguments.length > 1 && (t = arguments), + "string" == typeof t + ? (t = t.split(/\s/).map(parseFloat)) + : "number" == typeof t && (t = [t]), + t.length && "number" == typeof t[0] + ? (e = + 1 === t.length + ? { width: t[0], height: t[0], x: 0, y: 0 } + : 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 && + ((e = { + x: + (t = n(t, { + left: "x l left Left", + top: "y t top Top", + width: "w width W Width", + height: "h height W Width", + bottom: "b bottom Bottom", + right: "r right Right", + })).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)), + e + ); + }; + }, + 95616: function (t) { + t.exports = function (t) { + var i = []; + return ( + t.replace(r, function (t, r, a) { + var o = r.toLowerCase(); + for ( + a = (function (t) { + var e = t.match(n); + return e ? e.map(Number) : []; + })(a), + "m" == o && + a.length > 2 && + (i.push([r].concat(a.splice(0, 2))), + (o = "l"), + (r = "m" == r ? "l" : "L")); + ; + + ) { + if (a.length == e[o]) return a.unshift(r), i.push(a); + if (a.length < e[o]) + throw new Error("malformed path data"); + i.push([r].concat(a.splice(0, e[o]))); + } + }), + i + ); + }; + var e = { + a: 7, + c: 6, + h: 1, + l: 2, + m: 2, + q: 4, + s: 4, + t: 2, + v: 1, + z: 0, + }, + r = /([astvzqmhlc])([^astvzqmhlc]*)/gi, + n = /-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi; + }, + 25677: function (t) { + t.exports = function (t, e) { + e || (e = [0, ""]), (t = String(t)); + var r = parseFloat(t, 10); + return ( + (e[0] = r), + (e[1] = t.match(/[\d.\-\+]*\s*(.*)/)[1] || ""), + e + ); + }; + }, + 9748: function (t, e, r) { + var n = r(90386); + (function () { + var e, r, i, a, o, s; + "undefined" != typeof performance && + null !== performance && + performance.now + ? (t.exports = function () { + return performance.now(); + }) + : null != n && n.hrtime + ? ((t.exports = function () { + return (e() - o) / 1e6; + }), + (r = n.hrtime), + (a = (e = function () { + var t; + return 1e9 * (t = r())[0] + t[1]; + })()), + (s = 1e9 * n.uptime()), + (o = a - s)) + : Date.now + ? ((t.exports = function () { + return Date.now() - i; + }), + (i = Date.now())) + : ((t.exports = function () { + return new Date().getTime() - i; + }), + (i = new Date().getTime())); + }).call(this); + }, + 71299: function (t) { + "use strict"; + t.exports = function (t, e, n) { + var i, + a, + o = {}; + if ( + ("string" == typeof e && (e = r(e)), Array.isArray(e)) + ) { + var s = {}; + for (a = 0; a < e.length; a++) s[e[a]] = !0; + e = s; + } + for (i in e) e[i] = r(e[i]); + var l = {}; + for (i in e) { + var u = e[i]; + if (Array.isArray(u)) + for (a = 0; a < u.length; a++) { + var c = u[a]; + if ((n && (l[c] = !0), c in t)) { + if (((o[i] = t[c]), n)) + for (var f = a; f < u.length; f++) l[u[f]] = !0; + break; + } + } + else i in t && (e[i] && (o[i] = t[i]), n && (l[i] = !0)); + } + if (n) for (i in t) l[i] || (o[i] = t[i]); + return o; + }; + var e = {}; + function r(t) { + return e[t] + ? e[t] + : ("string" == typeof t && + (t = e[t] = t.split(/\s*,\s*|\s+/)), + t); + } + }, + 38258: function (t) { + t.exports = function (t, e, r, n) { + var i = t[0], + a = t[1], + o = !1; + void 0 === r && (r = 0), void 0 === n && (n = e.length); + for (var s = n - r, l = 0, u = s - 1; l < s; u = l++) { + var c = e[l + r][0], + f = e[l + r][1], + h = e[u + r][0], + p = e[u + r][1]; + f > a != p > a && + i < ((h - c) * (a - f)) / (p - f) + c && + (o = !o); + } + return o; + }; + }, + 52142: function (t, e, r) { + var n, + i = r(69444), + a = r(29023), + o = r(87263), + s = r(11328), + l = r(55968), + u = r(10670), + c = !1, + f = a(); + function h(t, e, r) { + var i = n.segments(t), + a = n.segments(e), + o = r(n.combine(i, a)); + return n.polygon(o); + } + (n = { + buildLog: function (t) { + return ( + !0 === t ? (c = i()) : !1 === t && (c = !1), + !1 !== c && c.list + ); + }, + epsilon: function (t) { + return f.epsilon(t); + }, + segments: function (t) { + var e = o(!0, f, c); + return ( + t.regions.forEach(e.addRegion), + { + segments: e.calculate(t.inverted), + inverted: t.inverted, + } + ); + }, + combine: function (t, e) { + return { + combined: o(!1, f, c).calculate( + t.segments, + t.inverted, + e.segments, + e.inverted, + ), + inverted1: t.inverted, + inverted2: e.inverted, + }; + }, + selectUnion: function (t) { + return { + segments: l.union(t.combined, c), + inverted: t.inverted1 || t.inverted2, + }; + }, + selectIntersect: function (t) { + return { + segments: l.intersect(t.combined, c), + inverted: t.inverted1 && t.inverted2, + }; + }, + selectDifference: function (t) { + return { + segments: l.difference(t.combined, c), + inverted: t.inverted1 && !t.inverted2, + }; + }, + selectDifferenceRev: function (t) { + return { + segments: l.differenceRev(t.combined, c), + inverted: !t.inverted1 && t.inverted2, + }; + }, + selectXor: function (t) { + return { + segments: l.xor(t.combined, c), + inverted: t.inverted1 !== t.inverted2, + }; + }, + polygon: function (t) { + return { + regions: s(t.segments, f, c), + inverted: t.inverted, + }; + }, + polygonFromGeoJSON: function (t) { + return u.toPolygon(n, t); + }, + polygonToGeoJSON: function (t) { + return u.fromPolygon(n, f, t); + }, + union: function (t, e) { + return h(t, e, n.selectUnion); + }, + intersect: function (t, e) { + return h(t, e, n.selectIntersect); + }, + difference: function (t, e) { + return h(t, e, n.selectDifference); + }, + differenceRev: function (t, e) { + return h(t, e, n.selectDifferenceRev); + }, + xor: function (t, e) { + return h(t, e, n.selectXor); + }, + }), + "object" == typeof window && (window.PolyBool = n), + (t.exports = n); + }, + 69444: function (t) { + t.exports = 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"); + }, + }); + }; + }, + 29023: function (t) { + t.exports = 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], + f = e[1] - n[1], + h = (s * f - l * c) / u, + p = (a * f - o * c) / u, + d = { + alongA: 0, + alongB: 0, + pt: [e[0] + h * a, e[1] + h * o], + }; + return ( + (d.alongA = + h <= -t + ? -2 + : h < t + ? -1 + : h - 1 <= -t + ? 0 + : h - 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; + }; + }, + 10670: function (t) { + var e = { + 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( + [ + 0.5 * (t[0][0] + t[1][0]), + 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 f(t) { + var e = [u(t.region, !1)]; + c.push(e); + for (var r = 0; r < t.children.length; r++) + e.push(h(t.children[r])); + } + function h(t) { + for (var e = 0; e < t.children.length; e++) + f(t.children[e]); + return u(t.region, !0); + } + for (s = 0; s < a.children.length; s++) f(a.children[s]); + return c.length <= 0 + ? { type: "Polygon", coordinates: [] } + : 1 == c.length + ? { type: "Polygon", coordinates: c[0] } + : { type: "MultiPolygon", coordinates: c }; + }, + }; + t.exports = e; + }, + 87263: function (t, e, r) { + var n = r(26859); + t.exports = function (t, e, r) { + function i(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 a = n.create(); + function o(t, r) { + a.insertBefore(t, function (n) { + return ( + (i = t.isStart), + (a = t.pt), + (o = r), + (s = n.isStart), + (l = n.pt), + (u = n.other.pt), + (0 !== (c = e.pointsCompare(a, l)) + ? c + : e.pointsSame(o, u) + ? 0 + : i !== s + ? i + ? 1 + : -1 + : e.pointAboveOrOnLine(o, s ? l : u, s ? u : l) + ? 1 + : -1) < 0 + ); + var i, a, o, s, l, u, c; + }); + } + function s(t, e) { + var r = (function (t, e) { + var r = n.node({ + isStart: !0, + pt: t.start, + seg: t, + primary: e, + other: null, + status: null, + }); + return o(r, t.end), r; + })(t, e); + return ( + (function (t, e, r) { + var i = n.node({ + isStart: !1, + pt: e.end, + seg: e, + primary: r, + other: t, + status: null, + }); + (t.other = i), o(i, t.pt); + })(r, t, e), + r + ); + } + function l(t, e) { + var n = i(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), + o(t.other, t.pt); + })(t, e), + s(n, t.primary) + ); + } + function u(i, o) { + var s = n.create(); + function u(t) { + return s.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) || + e.pointAboveOrOnLine(o, s, l) + ? 1 + : -1 + : e.pointAboveOrOnLine(a, s, l) + ? 1 + : -1) > 0 + ); + }); + } + function c(t, n) { + var i = t.seg, + a = n.seg, + o = i.start, + s = i.end, + u = a.start, + c = a.end; + r && r.checkIntersection(i, a); + var f = e.linesIntersect(o, s, u, c); + if (!1 === f) { + if (!e.pointsCollinear(o, s, u)) return !1; + if (e.pointsSame(o, c) || e.pointsSame(s, u)) + return !1; + var h = e.pointsSame(o, u), + p = e.pointsSame(s, c); + if (h && p) return n; + var d = !h && e.pointBetween(o, u, c), + v = !p && e.pointBetween(s, u, c); + if (h) return v ? l(n, s) : l(t, c), n; + d && (p || (v ? l(n, s) : l(t, c)), l(n, o)); + } else + 0 === f.alongA && + (-1 === f.alongB + ? l(t, u) + : 0 === f.alongB + ? l(t, f.pt) + : 1 === f.alongB && l(t, c)), + 0 === f.alongB && + (-1 === f.alongA + ? l(n, o) + : 0 === f.alongA + ? l(n, f.pt) + : 1 === f.alongA && l(n, s)); + return !1; + } + for (var f = []; !a.isEmpty(); ) { + var h = a.getHead(); + if ((r && r.vert(h.pt[0]), h.isStart)) { + r && r.segmentNew(h.seg, h.primary); + var p = u(h), + d = p.before ? p.before.ev : null, + v = p.after ? p.after.ev : null; + function g() { + if (d) { + var t = c(h, d); + if (t) return t; + } + return !!v && c(h, v); + } + r && r.tempStatus(h.seg, !!d && d.seg, !!v && v.seg); + var y, + m, + x = g(); + if ( + (x && + (t + ? (m = + null === h.seg.myFill.below || + h.seg.myFill.above !== + h.seg.myFill.below) && + (x.seg.myFill.above = !x.seg.myFill.above) + : (x.seg.otherFill = h.seg.myFill), + r && r.segmentUpdate(x.seg), + h.other.remove(), + h.remove()), + a.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 = v ? v.seg.myFill.above : i), + (h.seg.myFill.above = m + ? !h.seg.myFill.below + : h.seg.myFill.below)) + : null === h.seg.otherFill && + ((y = v + ? h.primary === v.primary + ? v.seg.otherFill.above + : v.seg.myFill.above + : h.primary + ? o + : i), + (h.seg.otherFill = { above: y, below: y })), + r && r.status(h.seg, !!d && d.seg, !!v && v.seg), + (h.other.status = p.insert(n.node({ ev: h }))); + } else { + var b = h.status; + if (null === b) + throw new Error( + "PolyBool: Zero-length segment detected; your epsilon is probably too small or too large", + ); + if ( + (s.exists(b.prev) && + s.exists(b.next) && + c(b.prev.ev, b.next.ev), + r && r.statusRemove(b.ev.seg), + b.remove(), + !h.primary) + ) { + var _ = h.seg.myFill; + (h.seg.myFill = h.seg.otherFill), + (h.seg.otherFill = _); + } + f.push(h.seg); + } + a.getHead().remove(); + } + return r && r.done(), f; + } + return t + ? { + addRegion: function (t) { + for ( + var n, i, a, o = t[t.length - 1], l = 0; + l < t.length; + l++ + ) { + (n = o), (o = t[l]); + var u = e.pointsCompare(n, o); + 0 !== u && + s( + ((i = u < 0 ? n : o), + (a = u < 0 ? o : n), + { + id: r ? r.segmentId() : -1, + start: i, + end: a, + myFill: { above: null, below: null }, + otherFill: null, + }), + !0, + ); + } + }, + calculate: function (t) { + return u(t, !1); + }, + } + : { + calculate: function (t, e, r, n) { + return ( + t.forEach(function (t) { + s(i(t.start, t.end, t), !0); + }), + r.forEach(function (t) { + s(i(t.start, t.end, t), !1); + }), + u(e, n) + ); + }, + }; + }; + }, + 26859: function (t) { + t.exports = { + 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 + ); + }, + }; + }, + 11328: function (t) { + t.exports = 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 f = (g = n[c])[0], + h = (g[1], g[g.length - 1]); + if ((g[g.length - 2], e.pointsSame(f, a))) { + if (k(c, !0, !0)) break; + } else if (e.pointsSame(f, o)) { + if (k(c, !0, !1)) break; + } else if (e.pointsSame(h, a)) { + if (k(c, !1, !0)) break; + } else if (e.pointsSame(h, o) && k(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, + v = s.matches_head, + g = n[p], + y = v ? g[0] : g[g.length - 1], + m = v ? g[1] : g[g.length - 2], + x = v ? g[g.length - 1] : g[0], + b = v ? g[g.length - 2] : g[1]; + return ( + e.pointsCollinear(m, y, d) && + (v + ? (r && r.chainRemoveHead(s.index, d), + g.shift()) + : (r && r.chainRemoveTail(s.index, d), + g.pop()), + (y = m)), + e.pointsSame(x, d) + ? (n.splice(p, 1), + e.pointsCollinear(b, x, y) && + (v + ? (r && r.chainRemoveTail(s.index, y), + g.pop()) + : (r && r.chainRemoveHead(s.index, y), + g.shift())), + r && r.chainClose(s.index), + void i.push(g)) + : void (v + ? (r && r.chainAddHead(s.index, d), + g.unshift(d)) + : (r && r.chainAddTail(s.index, d), + g.push(d))) + ); + } + var _ = s.index, + w = l.index; + r && r.chainConnect(_, w); + var T = n[_].length < n[w].length; + s.matches_head + ? l.matches_head + ? T + ? (A(_), M(_, w)) + : (A(w), M(w, _)) + : M(w, _) + : l.matches_head + ? M(_, w) + : T + ? (A(_), M(w, _)) + : (A(w), M(_, w)); + } + function k(t, e, r) { + return ( + (u.index = t), + (u.matches_head = e), + (u.matches_pt1 = r), + u === s ? ((u = l), !1) : ((u = null), !0) + ); + } + function A(t) { + r && r.chainReverse(t), n[t].reverse(); + } + function M(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 + ); + }; + }, + 55968: function (t) { + function e(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 r = { + union: function (t, r) { + return e( + t, + [0, 2, 1, 0, 2, 2, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], + r, + ); + }, + intersect: function (t, r) { + return e( + t, + [0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 1, 1, 0, 2, 1, 0], + r, + ); + }, + difference: function (t, r) { + return e( + t, + [0, 0, 0, 0, 2, 0, 2, 0, 1, 1, 0, 0, 0, 1, 2, 0], + r, + ); + }, + differenceRev: function (t, r) { + return e( + t, + [0, 2, 1, 0, 0, 0, 1, 1, 0, 2, 0, 2, 0, 0, 0, 0], + r, + ); + }, + xor: function (t, r) { + return e( + t, + [0, 2, 1, 0, 2, 0, 0, 1, 1, 0, 0, 2, 0, 1, 2, 0], + r, + ); + }, + }; + t.exports = r; + }, + 14847: function (t, e, r) { + "use strict"; + var n = r(21630).Transform, + i = r(90715); + function a() { + n.call(this, { readableObjectMode: !0 }); + } + function o(t, e, r) { + Error.call(this), + Error.captureStackTrace + ? Error.captureStackTrace(this, this.constructor) + : (this.stack = new Error().stack || ""), + (this.name = this.constructor.name), + (this.message = t), + e && (this.code = e), + r && (this.statusCode = r); + } + (a.prototype = Object.create(n.prototype)), + (a.prototype.constructor = a), + i(a.prototype), + (e.OF = function (t, e, r) { + for (var n = e, i = 0; i < r.length; ) + if (t[n++] !== r[i++]) return !1; + return !0; + }), + (e.eG = function (t, e) { + var r = [], + n = 0; + if (e && "hex" === e) + for (; n < t.length; ) + r.push(parseInt(t.slice(n, n + 2), 16)), (n += 2); + else + for (; n < t.length; n++) r.push(255 & t.charCodeAt(n)); + return r; + }), + (e.mP = function (t, e) { + return t[e] | (t[e + 1] << 8); + }), + (e.n8 = function (t, e) { + return t[e + 1] | (t[e] << 8); + }), + (e.nm = function (t, e) { + return ( + t[e] | + (t[e + 1] << 8) | + (t[e + 2] << 16) | + (16777216 * t[e + 3]) + ); + }), + (e.Ag = function (t, e) { + return ( + t[e + 3] | + (t[e + 2] << 8) | + (t[e + 1] << 16) | + (16777216 * t[e]) + ); + }), + (o.prototype = Object.create(Error.prototype)), + (o.prototype.constructor = o); + }, + 71371: function (t) { + "use strict"; + function e(t, e) { + var r = new Error(t); + return (r.code = e), r; + } + function r(t) { + try { + return decodeURIComponent(escape(t)); + } catch (e) { + return t; + } + } + function n(t, r, n) { + (this.input = t.subarray(r, n)), (this.start = r); + var i = String.fromCharCode.apply( + null, + this.input.subarray(0, 4), + ); + if ("II*\0" !== i && "MM\0*" !== i) + throw e("invalid TIFF signature", "EBADDATA"); + this.big_endian = "M" === i[0]; + } + (n.prototype.each = function (t) { + this.aborted = !1; + var e = this.read_uint32(4); + for ( + this.ifds_to_read = [{ id: 0, offset: e }]; + this.ifds_to_read.length > 0 && !this.aborted; + + ) { + var r = this.ifds_to_read.shift(); + r.offset && this.scan_ifd(r.id, r.offset, t); + } + }), + (n.prototype.read_uint16 = function (t) { + var r = this.input; + if (t + 2 > r.length) + throw e("unexpected EOF", "EBADDATA"); + return this.big_endian + ? 256 * r[t] + r[t + 1] + : r[t] + 256 * r[t + 1]; + }), + (n.prototype.read_uint32 = function (t) { + var r = this.input; + if (t + 4 > r.length) + throw e("unexpected EOF", "EBADDATA"); + return this.big_endian + ? 16777216 * r[t] + + 65536 * r[t + 1] + + 256 * r[t + 2] + + r[t + 3] + : r[t] + + 256 * r[t + 1] + + 65536 * r[t + 2] + + 16777216 * r[t + 3]; + }), + (n.prototype.is_subifd_link = function (t, e) { + return ( + (0 === t && 34665 === e) || + (0 === t && 34853 === e) || + (34665 === t && 40965 === e) + ); + }), + (n.prototype.exif_format_length = function (t) { + switch (t) { + case 1: + case 2: + case 6: + case 7: + return 1; + case 3: + case 8: + return 2; + case 4: + case 9: + case 11: + return 4; + case 5: + case 10: + case 12: + return 8; + default: + return 0; + } + }), + (n.prototype.exif_format_read = function (t, e) { + var r; + switch (t) { + case 1: + case 2: + return this.input[e]; + case 6: + return (r = this.input[e]) | (33554430 * (128 & r)); + case 3: + return this.read_uint16(e); + case 8: + return ( + (r = this.read_uint16(e)) | (131070 * (32768 & r)) + ); + case 4: + return this.read_uint32(e); + case 9: + return 0 | this.read_uint32(e); + default: + return null; + } + }), + (n.prototype.scan_ifd = function (t, n, i) { + var a = this.read_uint16(n); + n += 2; + for (var o = 0; o < a; o++) { + var s = this.read_uint16(n), + l = this.read_uint16(n + 2), + u = this.read_uint32(n + 4), + c = this.exif_format_length(l), + f = u * c, + h = f <= 4 ? n + 8 : this.read_uint32(n + 8), + p = !1; + if (h + f > this.input.length) + throw e("unexpected EOF", "EBADDATA"); + for (var d = [], v = h, g = 0; g < u; g++, v += c) { + var y = this.exif_format_read(l, v); + if (null === y) { + d = null; + break; + } + d.push(y); + } + if ( + (Array.isArray(d) && + 2 === l && + (d = r(String.fromCharCode.apply(null, d))) && + "\0" === d[d.length - 1] && + (d = d.slice(0, -1)), + this.is_subifd_link(t, s) && + Array.isArray(d) && + Number.isInteger(d[0]) && + d[0] > 0 && + (this.ifds_to_read.push({ id: s, offset: d[0] }), + (p = !0)), + !1 === + i({ + is_big_endian: this.big_endian, + ifd: t, + tag: s, + format: l, + count: u, + entry_offset: n + this.start, + data_length: f, + data_offset: h + this.start, + value: d, + is_subifd_link: p, + })) + ) + return void (this.aborted = !0); + n += 12; + } + 0 === t && + this.ifds_to_read.push({ + id: 1, + offset: this.read_uint32(n), + }); + }), + (t.exports.ExifParser = n), + (t.exports.get_orientation = function (t) { + var e = 0; + try { + return ( + new n(t, 0, t.length).each(function (t) { + if ( + 0 === t.ifd && + 274 === t.tag && + Array.isArray(t.value) + ) + return (e = t.value[0]), !1; + }), + e + ); + } catch (t) { + return -1; + } + }); + }, + 76767: function (t, e, r) { + "use strict"; + var n = r(14847).n8, + i = r(14847).Ag; + function a(t, e) { + if (t.length < 4 + e) return null; + var r = i(t, e); + return t.length < r + e || r < 8 + ? null + : { + boxtype: String.fromCharCode.apply( + null, + t.slice(e + 4, e + 8), + ), + data: t.slice(e + 8, e + r), + end: e + r, + }; + } + function o(t, e) { + for (var r = 0; ; ) { + var n = a(t, r); + if (!n) break; + switch (n.boxtype) { + case "ispe": + e.sizes.push({ + width: i(n.data, 4), + height: i(n.data, 8), + }); + break; + case "irot": + e.transforms.push({ + type: "irot", + value: 3 & n.data[0], + }); + break; + case "imir": + e.transforms.push({ + type: "imir", + value: 1 & n.data[0], + }); + } + r = n.end; + } + } + function s(t, e, r) { + for (var n = 0, i = 0; i < r; i++) + n = 256 * n + (t[e + i] || 0); + return n; + } + function l(t, e) { + for ( + var r = (t[4] >> 4) & 15, + i = 15 & t[4], + a = (t[5] >> 4) & 15, + o = n(t, 6), + l = 8, + u = 0; + u < o; + u++ + ) { + var c = n(t, l), + f = n(t, (l += 2)), + h = s(t, (l += 2), a), + p = n(t, (l += a)); + if (((l += 2), 0 === f && 1 === p)) { + var d = s(t, l, r), + v = s(t, l + r, i); + e.item_loc[c] = { length: v, offset: d + h }; + } + l += p * (r + i); + } + } + function u(t, e) { + for (var r = n(t, 4), i = 6, o = 0; o < r; o++) { + var s = a(t, i); + if (!s) break; + if ("infe" === s.boxtype) { + for ( + var l = n(s.data, 4), u = "", c = 8; + c < s.data.length && s.data[c]; + c++ + ) + u += String.fromCharCode(s.data[c]); + e.item_inf[u] = l; + } + i = s.end; + } + } + function c(t, e) { + for (var r = 0; ; ) { + var n = a(t, r); + if (!n) break; + "ipco" === n.boxtype && o(n.data, e), (r = n.end); + } + } + (t.exports.unbox = a), + (t.exports.readSizeFromMeta = function (t) { + var e = { + sizes: [], + transforms: [], + item_inf: {}, + item_loc: {}, + }; + if ( + ((function (t, e) { + for (var r = 4; ; ) { + var n = a(t, r); + if (!n) break; + "iprp" === n.boxtype && c(n.data, e), + "iloc" === n.boxtype && l(n.data, e), + "iinf" === n.boxtype && u(n.data, e), + (r = n.end); + } + })(t, e), + e.sizes.length) + ) { + var r, + n, + i, + o = + ((n = (r = e.sizes).reduce(function (t, e) { + return t.width > e.width || + (t.width === e.width && t.height > e.height) + ? t + : e; + })), + (i = r.reduce(function (t, e) { + return t.height > e.height || + (t.height === e.height && t.width > e.width) + ? t + : e; + })), + n.width > i.height || + (n.width === i.height && n.height > i.width) + ? n + : i), + s = 1; + e.transforms.forEach(function (t) { + var e = { + 1: 6, + 2: 5, + 3: 8, + 4: 7, + 5: 4, + 6: 3, + 7: 2, + 8: 1, + }, + r = { + 1: 4, + 2: 3, + 3: 2, + 4: 1, + 5: 6, + 6: 5, + 7: 8, + 8: 7, + }; + if ( + ("imir" === t.type && + (s = + 0 === t.value ? r[s] : e[(s = e[(s = r[s])])]), + "irot" === t.type) + ) + for (var n = 0; n < t.value; n++) s = e[s]; + }); + var f = null; + return ( + e.item_inf.Exif && (f = e.item_loc[e.item_inf.Exif]), + { + width: o.width, + height: o.height, + orientation: e.transforms.length ? s : null, + variants: e.sizes, + exif_location: f, + } + ); + } + }), + (t.exports.getMimeType = function (t) { + var e = String.fromCharCode.apply(null, t.slice(0, 4)), + r = {}; + r[e] = !0; + for (var n = 8; n < t.length; n += 4) + r[String.fromCharCode.apply(null, t.slice(n, n + 4))] = + !0; + if (r.mif1 || r.msf1 || r.miaf) + return "avif" === e || "avis" === e || "avio" === e + ? { type: "avif", mime: "image/avif" } + : "heic" === e || "heix" === e + ? { type: "heic", mime: "image/heic" } + : "hevc" === e || "hevx" === e + ? { type: "heic", mime: "image/heic-sequence" } + : r.avif || r.avis + ? { type: "avif", mime: "image/avif" } + : r.heic || r.heix || r.hevc || r.hevx || r.heis + ? r.msf1 + ? { type: "heif", mime: "image/heif-sequence" } + : { type: "heif", mime: "image/heif" } + : { type: "avif", mime: "image/avif" }; + }); + }, + 24461: function (t, e, r) { + "use strict"; + var n = r(14847).eG, + i = r(14847).OF, + a = r(14847).Ag, + o = r(76767), + s = r(71371), + l = n("ftyp"); + t.exports = function (t) { + if (i(t, 4, l)) { + var e = o.unbox(t, 0); + if (e) { + var r = o.getMimeType(e.data); + if (r) { + for (var n, u = e.end; ; ) { + var c = o.unbox(t, u); + if (!c) break; + if (((u = c.end), "mdat" === c.boxtype)) return; + if ("meta" === c.boxtype) { + n = c.data; + break; + } + } + if (n) { + var f = o.readSizeFromMeta(n); + if (f) { + var h = { + width: f.width, + height: f.height, + type: r.type, + mime: r.mime, + wUnits: "px", + hUnits: "px", + }; + if ( + (f.variants.length > 1 && + (h.variants = f.variants), + f.orientation && + (h.orientation = f.orientation), + f.exif_location && + f.exif_location.offset + + f.exif_location.length <= + t.length) + ) { + var p = a(t, f.exif_location.offset), + d = t.slice( + f.exif_location.offset + p + 4, + f.exif_location.offset + + f.exif_location.length, + ), + v = s.get_orientation(d); + v > 0 && (h.orientation = v); + } + return h; + } + } + } + } + } + }; + }, + 2504: function (t, e, r) { + "use strict"; + var n = r(14847).eG, + i = r(14847).OF, + a = r(14847).mP, + o = n("BM"); + t.exports = function (t) { + if (!(t.length < 26) && i(t, 0, o)) + return { + width: a(t, 18), + height: a(t, 22), + type: "bmp", + mime: "image/bmp", + wUnits: "px", + hUnits: "px", + }; + }; + }, + 47342: function (t, e, r) { + "use strict"; + var n = r(14847).eG, + i = r(14847).OF, + a = r(14847).mP, + o = n("GIF87a"), + s = n("GIF89a"); + t.exports = function (t) { + if (!(t.length < 10) && (i(t, 0, o) || i(t, 0, s))) + return { + width: a(t, 6), + height: a(t, 8), + type: "gif", + mime: "image/gif", + wUnits: "px", + hUnits: "px", + }; + }; + }, + 31355: function (t, e, r) { + "use strict"; + var n = r(14847).mP; + t.exports = function (t) { + var e = n(t, 0), + r = n(t, 2), + i = n(t, 4); + if (0 === e && 1 === r && i) { + for ( + var a = [], o = { width: 0, height: 0 }, s = 0; + s < i; + s++ + ) { + var l = t[6 + 16 * s] || 256, + u = t[6 + 16 * s + 1] || 256, + c = { width: l, height: u }; + a.push(c), (l > o.width || u > o.height) && (o = c); + } + return { + width: o.width, + height: o.height, + variants: a, + type: "ico", + mime: "image/x-icon", + wUnits: "px", + hUnits: "px", + }; + } + }; + }, + 54261: function (t, e, r) { + "use strict"; + var n = r(14847).n8, + i = r(14847).eG, + a = r(14847).OF, + o = r(71371), + s = i("Exif\0\0"); + t.exports = function (t) { + if ( + !(t.length < 2) && + 255 === t[0] && + 216 === t[1] && + 255 === t[2] + ) + for (var e = 2; ; ) { + for (;;) { + if (t.length - e < 2) return; + if (255 === t[e++]) break; + } + for (var r, i, l = t[e++]; 255 === l; ) l = t[e++]; + if ((208 <= l && l <= 217) || 1 === l) r = 0; + else { + if (!(192 <= l && l <= 254)) return; + if (t.length - e < 2) return; + (r = n(t, e) - 2), (e += 2); + } + if (217 === l || 218 === l) return; + if ( + (225 === l && + r >= 10 && + a(t, e, s) && + (i = o.get_orientation(t.slice(e + 6, e + r))), + r >= 5 && + 192 <= l && + l <= 207 && + 196 !== l && + 200 !== l && + 204 !== l) + ) { + if (t.length - e < r) return; + var u = { + width: n(t, e + 3), + height: n(t, e + 1), + type: "jpg", + mime: "image/jpeg", + wUnits: "px", + hUnits: "px", + }; + return i > 0 && (u.orientation = i), u; + } + e += r; + } + }; + }, + 6303: function (t, e, r) { + "use strict"; + var n = r(14847).eG, + i = r(14847).OF, + a = r(14847).Ag, + o = n("‰PNG\r\n\n"), + s = n("IHDR"); + t.exports = function (t) { + if (!(t.length < 24) && i(t, 0, o) && i(t, 12, s)) + return { + width: a(t, 16), + height: a(t, 20), + type: "png", + mime: "image/png", + wUnits: "px", + hUnits: "px", + }; + }; + }, + 38689: function (t, e, r) { + "use strict"; + var n = r(14847).eG, + i = r(14847).OF, + a = r(14847).Ag, + o = n("8BPS\0"); + t.exports = function (t) { + if (!(t.length < 22) && i(t, 0, o)) + return { + width: a(t, 18), + height: a(t, 14), + type: "psd", + mime: "image/vnd.adobe.photoshop", + wUnits: "px", + hUnits: "px", + }; + }; + }, + 6881: function (t) { + "use strict"; + function e(t) { + return "number" == typeof t && isFinite(t) && t > 0; + } + var r = /<[-_.:a-zA-Z0-9][^>]*>/, + n = /^<([-_.:a-zA-Z0-9]+:)?svg\s/, + i = /[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/, + a = /\bheight="([^%]+?)"|\bheight='([^%]+?)'/, + o = /\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/, + s = /in$|mm$|cm$|pt$|pc$|px$|em$|ex$/; + function l(t) { + return s.test(t) ? t.match(s)[0] : "px"; + } + t.exports = function (t) { + if ( + (function (t) { + var e, + r = 0, + n = t.length; + for ( + 239 === t[0] && + 187 === t[1] && + 191 === t[2] && + (r = 3); + r < n && + (32 === (e = t[r]) || + 9 === e || + 13 === e || + 10 === e); + + ) + r++; + return r !== n && 60 === t[r]; + })(t) + ) { + for (var s = "", u = 0; u < t.length; u++) + s += String.fromCharCode(t[u]); + var c = (s.match(r) || [""])[0]; + if (n.test(c)) { + var f = (function (t) { + var e = t.match(i), + r = t.match(a), + n = t.match(o); + return { + width: e && (e[1] || e[2]), + height: r && (r[1] || r[2]), + viewbox: n && (n[1] || n[2]), + }; + })(c), + h = parseFloat(f.width), + p = parseFloat(f.height); + if (f.width && f.height) { + if (!e(h) || !e(p)) return; + return { + width: h, + height: p, + type: "svg", + mime: "image/svg+xml", + wUnits: l(f.width), + hUnits: l(f.height), + }; + } + var d = (f.viewbox || "").split(" "), + v = { width: d[2], height: d[3] }, + g = parseFloat(v.width), + y = parseFloat(v.height); + if (e(g) && e(y) && l(v.width) === l(v.height)) { + var m = g / y; + if (f.width) { + if (!e(h)) return; + return { + width: h, + height: h / m, + type: "svg", + mime: "image/svg+xml", + wUnits: l(f.width), + hUnits: l(f.width), + }; + } + if (f.height) { + if (!e(p)) return; + return { + width: p * m, + height: p, + type: "svg", + mime: "image/svg+xml", + wUnits: l(f.height), + hUnits: l(f.height), + }; + } + return { + width: g, + height: y, + type: "svg", + mime: "image/svg+xml", + wUnits: l(v.width), + hUnits: l(v.height), + }; + } + } + } + }; + }, + 66278: function (t, e, r) { + "use strict"; + var n = r(14847).eG, + i = r(14847).OF, + a = r(14847).mP, + o = r(14847).n8, + s = r(14847).nm, + l = r(14847).Ag, + u = n("II*\0"), + c = n("MM\0*"); + function f(t, e, r) { + return r ? o(t, e) : a(t, e); + } + function h(t, e, r) { + return r ? l(t, e) : s(t, e); + } + function p(t, e, r) { + var n = f(t, e + 2, r); + return 1 !== h(t, e + 4, r) || (3 !== n && 4 !== n) + ? null + : 3 === n + ? f(t, e + 8, r) + : h(t, e + 8, r); + } + t.exports = function (t) { + if (!(t.length < 8) && (i(t, 0, u) || i(t, 0, c))) { + var e = 77 === t[0], + r = h(t, 4, e) - 8; + if (!(r < 0)) { + var n = r + 8; + if (!(t.length - n < 2)) { + var a = 12 * f(t, n + 0, e); + if (!(a <= 0 || ((n += 2), t.length - n < a))) { + var o, s, l, d; + for (o = 0; o < a; o += 12) + 256 === (d = f(t, n + o, e)) + ? (s = p(t, n + o, e)) + : 257 === d && (l = p(t, n + o, e)); + return s && l + ? { + width: s, + height: l, + type: "tiff", + mime: "image/tiff", + wUnits: "px", + hUnits: "px", + } + : void 0; + } + } + } + } + }; + }, + 90784: function (t, e, r) { + "use strict"; + var n = r(14847).eG, + i = r(14847).OF, + a = r(14847).mP, + o = r(14847).nm, + s = r(71371), + l = n("RIFF"), + u = n("WEBP"); + function c(t, e) { + if (157 === t[e + 3] && 1 === t[e + 4] && 42 === t[e + 5]) + return { + width: 16383 & a(t, e + 6), + height: 16383 & a(t, e + 8), + type: "webp", + mime: "image/webp", + wUnits: "px", + hUnits: "px", + }; + } + function f(t, e) { + if (47 === t[e]) { + var r = o(t, e + 1); + return { + width: 1 + (16383 & r), + height: 1 + ((r >> 14) & 16383), + type: "webp", + mime: "image/webp", + wUnits: "px", + hUnits: "px", + }; + } + } + function h(t, e) { + return { + width: + 1 + ((t[e + 6] << 16) | (t[e + 5] << 8) | t[e + 4]), + height: + 1 + ((t[e + 9] << e) | (t[e + 8] << 8) | t[e + 7]), + type: "webp", + mime: "image/webp", + wUnits: "px", + hUnits: "px", + }; + } + t.exports = function (t) { + if (!(t.length < 16) && (i(t, 0, l) || i(t, 8, u))) { + var e = 12, + r = null, + n = 0, + a = o(t, 4) + 8; + if (!(a > t.length)) { + for (; e + 8 < a; ) + if (0 !== t[e]) { + var p = String.fromCharCode.apply( + null, + t.slice(e, e + 4), + ), + d = o(t, e + 4); + "VP8 " === p && d >= 10 + ? (r = r || c(t, e + 8)) + : "VP8L" === p && d >= 9 + ? (r = r || f(t, e + 8)) + : "VP8X" === p && d >= 10 + ? (r = r || h(t, e + 8)) + : "EXIF" === p && + ((n = s.get_orientation( + t.slice(e + 8, e + 8 + d), + )), + (e = 1 / 0)), + (e += 8 + d); + } else e++; + if (r) return n > 0 && (r.orientation = n), r; + } + } + }; + }, + 91497: function (t, e, r) { + "use strict"; + t.exports = { + avif: r(24461), + bmp: r(2504), + gif: r(47342), + ico: r(31355), + jpeg: r(54261), + png: r(6303), + psd: r(38689), + svg: r(6881), + tiff: r(66278), + webp: r(90784), + }; + }, + 33575: function (t, e, r) { + "use strict"; + var n = r(91497); + (t.exports = function (t) { + return (function (t) { + for (var e = Object.keys(n), r = 0; r < e.length; r++) { + var i = n[e[r]](t); + if (i) return i; + } + return null; + })(t); + }), + (t.exports.parsers = n); + }, + 90386: function (t) { + var e, + r, + n = (t.exports = {}); + function i() { + throw new Error("setTimeout has not been defined"); + } + function a() { + throw new Error("clearTimeout has not been defined"); + } + function o(t) { + if (e === setTimeout) return setTimeout(t, 0); + if ((e === i || !e) && setTimeout) + return (e = setTimeout), setTimeout(t, 0); + try { + return e(t, 0); + } catch (r) { + try { + return e.call(null, t, 0); + } catch (r) { + return e.call(this, t, 0); + } + } + } + !(function () { + try { + e = "function" == typeof setTimeout ? setTimeout : i; + } catch (t) { + e = i; + } + try { + r = "function" == typeof clearTimeout ? clearTimeout : a; + } catch (t) { + r = a; + } + })(); + var s, + l = [], + u = !1, + c = -1; + function f() { + u && + s && + ((u = !1), + s.length ? (l = s.concat(l)) : (c = -1), + l.length && h()); + } + function h() { + if (!u) { + var t = o(f); + u = !0; + for (var e = l.length; e; ) { + for (s = l, l = []; ++c < e; ) s && s[c].run(); + (c = -1), (e = l.length); + } + (s = null), + (u = !1), + (function (t) { + if (r === clearTimeout) return clearTimeout(t); + if ((r === a || !r) && clearTimeout) + return (r = clearTimeout), clearTimeout(t); + try { + r(t); + } catch (e) { + try { + return r.call(null, t); + } catch (e) { + return r.call(this, t); + } + } + })(t); + } + } + function p(t, e) { + (this.fun = t), (this.array = e); + } + function d() {} + (n.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]; + l.push(new p(t, e)), 1 !== l.length || u || o(h); + }), + (p.prototype.run = function () { + this.fun.apply(null, this.array); + }), + (n.title = "browser"), + (n.browser = !0), + (n.env = {}), + (n.argv = []), + (n.version = ""), + (n.versions = {}), + (n.on = d), + (n.addListener = d), + (n.once = d), + (n.off = d), + (n.removeListener = d), + (n.removeAllListeners = d), + (n.emit = d), + (n.prependListener = d), + (n.prependOnceListener = d), + (n.listeners = function (t) { + return []; + }), + (n.binding = function (t) { + throw new Error("process.binding is not supported"); + }), + (n.cwd = function () { + return "/"; + }), + (n.chdir = function (t) { + throw new Error("process.chdir is not supported"); + }), + (n.umask = function () { + return 0; + }); + }, + 5877: function (t, e, r) { + for ( + var n = r(9748), + i = "undefined" == typeof window ? r.g : window, + a = ["moz", "webkit"], + o = "AnimationFrame", + s = i["request" + o], + l = i["cancel" + o] || i["cancelRequest" + o], + u = 0; + !s && u < a.length; + u++ + ) + (s = i[a[u] + "Request" + o]), + (l = + i[a[u] + "Cancel" + o] || + i[a[u] + "CancelRequest" + o]); + if (!s || !l) { + var c = 0, + f = 0, + h = []; + (s = function (t) { + if (0 === h.length) { + var e = n(), + r = Math.max(0, 16.666666666666668 - (e - c)); + (c = r + e), + setTimeout(function () { + var t = h.slice(0); + h.length = 0; + for (var e = 0; e < t.length; e++) + if (!t[e].cancelled) + try { + t[e].callback(c); + } catch (t) { + setTimeout(function () { + throw t; + }, 0); + } + }, Math.round(r)); + } + return ( + h.push({ handle: ++f, callback: t, cancelled: !1 }), f + ); + }), + (l = function (t) { + for (var e = 0; e < h.length; e++) + h[e].handle === t && (h[e].cancelled = !0); + }); + } + (t.exports = function (t) { + return s.call(i, t); + }), + (t.exports.cancel = function () { + l.apply(i, arguments); + }), + (t.exports.polyfill = function (t) { + t || (t = i), + (t.requestAnimationFrame = s), + (t.cancelAnimationFrame = l); + }); + }, + 3593: function (t, e, r) { + "use strict"; + var n = r(21527), + i = r(25075), + a = r(93447), + o = r(71299), + s = r(56131), + l = r(30120), + u = r(57060), + c = u.float32, + f = u.fract32; + t.exports = function (t, e) { + if ( + ("function" == typeof t + ? (e || (e = {}), (e.regl = t)) + : (e = t), + e.length && (e.positions = e), + !(t = e.regl).hasExtension("ANGLE_instanced_arrays")) + ) + throw Error( + "regl-error2d: `ANGLE_instanced_arrays` extension should be enabled", + ); + var r, + u, + p, + d, + v, + g, + y = t._gl, + m = { + color: "black", + capSize: 5, + lineWidth: 1, + opacity: 1, + viewport: null, + range: null, + offset: 0, + count: 0, + bounds: null, + positions: [], + errors: [], + }, + x = []; + return ( + (d = t.buffer({ + usage: "dynamic", + type: "uint8", + data: new Uint8Array(0), + })), + (u = t.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(0), + })), + (p = t.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(0), + })), + (v = t.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(0), + })), + (g = t.buffer({ + usage: "static", + type: "float", + data: h, + })), + T(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 highp 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: d, + offset: function (t, e) { + return 4 * e.offset; + }, + divisor: 1, + }, + position: { + buffer: u, + offset: function (t, e) { + return 8 * e.offset; + }, + divisor: 1, + }, + positionFract: { + buffer: p, + offset: function (t, e) { + return 8 * e.offset; + }, + divisor: 1, + }, + error: { + buffer: v, + offset: function (t, e) { + return 16 * e.offset; + }, + divisor: 1, + }, + direction: { buffer: g, stride: 24, offset: 0 }, + lineOffset: { buffer: g, stride: 24, offset: 8 }, + capOffset: { buffer: g, 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: h.length, + })), + s(b, { + update: T, + draw: _, + destroy: k, + regl: t, + gl: y, + canvas: y.canvas, + groups: x, + }), + b + ); + function b(t) { + t ? T(t) : null === t && k(), _(); + } + function _(e) { + if ("number" == typeof e) return w(e); + e && !Array.isArray(e) && (e = [e]), + t._refresh(), + x.forEach(function (t, r) { + t && + (e && (e[r] ? (t.draw = !0) : (t.draw = !1)), + t.draw ? w(r) : (t.draw = !0)); + }); + } + function w(t) { + "number" == typeof t && (t = x[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 T(t) { + if (t) { + null != t.length + ? "number" == typeof t[0] && (t = [{ positions: t }]) + : Array.isArray(t) || (t = [t]); + var e = 0, + r = 0; + if ( + ((b.groups = x = + t.map(function (t, u) { + var c = x[u]; + return t + ? ("function" == typeof t + ? (t = { after: t }) + : "number" == typeof t[0] && + (t = { positions: t }), + (t = o(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", + })), + c || + ((x[u] = c = + { + id: u, + scale: null, + translate: null, + scaleFract: null, + translateFract: null, + draw: !0, + }), + (t = s({}, m, t))), + a(c, t, [ + { + lineWidth: function (t) { + return 0.5 * +t; + }, + capSize: function (t) { + return 0.5 * +t; + }, + opacity: parseFloat, + errors: function (t) { + return (t = l(t)), (r += t.length), t; + }, + positions: function (t, r) { + return ( + (t = l(t, "float64")), + (r.count = Math.floor(t.length / 2)), + (r.bounds = n(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 a = 0; a < r; a++) t[a] = n; + } + if (t.length < r) + throw Error("Not enough colors"); + for ( + var o = new Uint8Array(4 * r), s = 0; + s < r; + s++ + ) { + var l = i(t[s], "uint8"); + o.set(l, 4 * s); + } + return o; + }, + 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 = f(e.scale)), + (e.translateFract = f(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: y.drawingBufferWidth, + height: y.drawingBufferHeight, + }), + e + ); + }, + }, + ]), + c) + : c; + })), + e || r) + ) { + var h = x.reduce(function (t, e, r) { + return t + (e ? e.count : 0); + }, 0), + g = new Float64Array(2 * h), + _ = new Uint8Array(4 * h), + w = new Float32Array(4 * h); + x.forEach(function (t, e) { + if (t) { + var r = t.positions, + n = t.count, + i = t.offset, + a = t.color, + o = t.errors; + n && + (_.set(a, 4 * i), + w.set(o, 4 * i), + g.set(r, 2 * i)); + } + }); + var T = c(g); + u(T); + var k = f(g, T); + p(k), d(_), v(w); + } + } + } + function k() { + u.destroy(), + p.destroy(), + d.destroy(), + v.destroy(), + g.destroy(); + } + }; + var h = [ + [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], + ]; + }, + 46075: function (t, e, r) { + "use strict"; + var n = r(25075), + i = r(21527), + a = r(56131), + o = r(56068), + s = r(71299), + l = r(30120), + u = r(11474), + c = r(54), + f = r(57060), + h = f.float32, + p = f.fract32, + d = r(83522), + v = r(18863), + g = r(6851); + function y(t, e) { + if (!(this instanceof y)) return new y(t, e); + if ( + ("function" == typeof t + ? (e || (e = {}), (e.regl = t)) + : (e = t), + e.length && (e.positions = e), + !(t = e.regl).hasExtension("ANGLE_instanced_arrays")) + ) + throw Error( + "regl-error2d: `ANGLE_instanced_arrays` extension should be enabled", + ); + (this.gl = t._gl), + (this.regl = t), + (this.passes = []), + (this.shaders = y.shaders.has(t) + ? y.shaders.get(t) + : y.shaders.set(t, y.createShaders(t)).get(t)), + this.update(e); + } + (t.exports = y), + (y.dashMult = 2), + (y.maxPatternLength = 256), + (y.precisionThreshold = 3e6), + (y.maxPoints = 1e4), + (y.maxLines = 2048), + (y.shaders = new d()), + (y.createShaders = function (t) { + var e, + r = t.buffer({ + usage: "static", + type: "float", + data: [0, 1, 0, 0, 1, 1, 1, 0], + }), + n = { + 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"), + dashTexture: t.prop("dashTexture"), + opacity: t.prop("opacity"), + pixelRatio: t.context("pixelRatio"), + id: t.prop("id"), + dashLength: t.prop("dashLength"), + viewport: function (t, e) { + return [ + e.viewport.x, + e.viewport.y, + t.viewportWidth, + t.viewportHeight, + ]; + }, + depth: t.prop("depth"), + }, + 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; + }, + }, + stencil: { enable: !1 }, + scissor: { enable: !0, box: t.prop("viewport") }, + viewport: t.prop("viewport"), + }, + i = t( + a( + { + vert: o([ + "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;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\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\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scale * viewport.zw);\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: o([ + "precision highp float;\n#define GLSLIFY 1\n\nuniform float dashLength, pixelRatio, thickness, opacity, id;\nuniform sampler2D dashTexture;\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(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n", + ]), + attributes: { + lineEnd: { + buffer: r, + divisor: 0, + stride: 8, + offset: 0, + }, + lineTop: { + buffer: r, + divisor: 0, + stride: 8, + offset: 4, + }, + aCoord: { + buffer: t.prop("positionBuffer"), + stride: 8, + offset: 8, + divisor: 1, + }, + bCoord: { + buffer: t.prop("positionBuffer"), + stride: 8, + offset: 16, + divisor: 1, + }, + aCoordFract: { + buffer: t.prop("positionFractBuffer"), + stride: 8, + offset: 8, + divisor: 1, + }, + bCoordFract: { + buffer: t.prop("positionFractBuffer"), + stride: 8, + offset: 16, + divisor: 1, + }, + color: { + buffer: t.prop("colorBuffer"), + stride: 4, + offset: 0, + divisor: 1, + }, + }, + }, + n, + ), + ); + try { + e = t( + a( + { + cull: { enable: !0, face: "back" }, + vert: o([ + "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;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\nuniform float miterLimit, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIFF = 1e-6;\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// TODO: refactor to rectangular algorithm\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\n vec2 adjustedScale;\n adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n\n vec2 scaleRatio = adjustedScale * viewport.zw;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\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 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\t// FIXME: there should be more elegant solution\n\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\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) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + 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: o([ + "precision highp float;\n#define GLSLIFY 1\n\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\nuniform sampler2D dashTexture;\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(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n", + ]), + attributes: { + lineEnd: { + buffer: r, + divisor: 0, + stride: 8, + offset: 0, + }, + lineTop: { + buffer: r, + divisor: 0, + stride: 8, + offset: 4, + }, + aColor: { + buffer: t.prop("colorBuffer"), + stride: 4, + offset: 0, + divisor: 1, + }, + bColor: { + buffer: t.prop("colorBuffer"), + stride: 4, + offset: 4, + divisor: 1, + }, + prevCoord: { + buffer: t.prop("positionBuffer"), + stride: 8, + offset: 0, + divisor: 1, + }, + aCoord: { + buffer: t.prop("positionBuffer"), + stride: 8, + offset: 8, + divisor: 1, + }, + bCoord: { + buffer: t.prop("positionBuffer"), + stride: 8, + offset: 16, + divisor: 1, + }, + nextCoord: { + buffer: t.prop("positionBuffer"), + stride: 8, + offset: 24, + divisor: 1, + }, + }, + }, + n, + ), + ); + } catch (t) { + e = i; + } + return { + fill: t({ + primitive: "triangle", + elements: function (t, e) { + return e.triangles; + }, + offset: 0, + vert: o([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\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\tfragColor.a *= opacity;\n}\n", + ]), + frag: o([ + "precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\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: t.prop("positionBuffer"), + stride: 8, + offset: 8, + }, + positionFract: { + buffer: t.prop("positionFractBuffer"), + stride: 8, + offset: 8, + }, + }, + blend: n.blend, + depth: { enable: !1 }, + scissor: n.scissor, + stencil: n.stencil, + viewport: n.viewport, + }), + rect: i, + miter: e, + }; + }), + (y.defaults = { + dashes: null, + join: "miter", + miterLimit: 1, + thickness: 10, + cap: "square", + color: "black", + opacity: 1, + overlay: !1, + viewport: null, + range: null, + close: !1, + fill: null, + }), + (y.prototype.render = function () { + for (var t, e = [], r = arguments.length; r--; ) + e[r] = arguments[r]; + e.length && (t = this).update.apply(t, e), this.draw(); + }), + (y.prototype.draw = function () { + for (var t = this, e = [], r = arguments.length; r--; ) + e[r] = arguments[r]; + return ( + (e.length ? e : this.passes).forEach(function (e, r) { + var n; + if (e && Array.isArray(e)) + return (n = t).draw.apply(n, e); + "number" == typeof e && (e = t.passes[e]), + e && + e.count > 1 && + e.opacity && + (t.regl._refresh(), + e.fill && + e.triangles && + e.triangles.length > 2 && + t.shaders.fill(e), + e.thickness && + (e.scale[0] * e.viewport.width > + y.precisionThreshold || + e.scale[1] * e.viewport.height > + y.precisionThreshold || + "rect" === e.join || + (!e.join && + (e.thickness <= 2 || e.count >= y.maxPoints)) + ? t.shaders.rect(e) + : t.shaders.miter(e))); + }), + this + ); + }), + (y.prototype.update = function (t) { + var e = this; + if (t) { + null != t.length + ? "number" == typeof t[0] && (t = [{ positions: t }]) + : Array.isArray(t) || (t = [t]); + var r = this.regl, + o = this.gl; + if ( + (t.forEach(function (t, f) { + var d = e.passes[f]; + if (void 0 !== t) + if (null !== t) { + if ( + ("number" == typeof t[0] && + (t = { positions: t }), + (t = s(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 colour stroke colors colours 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", + splitNull: "splitNull", + })), + d || + ((e.passes[f] = d = + { + id: f, + scale: null, + scaleFract: null, + translate: null, + translateFract: null, + count: 0, + hole: [], + depth: 0, + dashLength: 1, + dashTexture: r.texture({ + channels: 1, + data: new Uint8Array([255]), + width: 1, + height: 1, + mag: "linear", + min: "linear", + }), + colorBuffer: r.buffer({ + usage: "dynamic", + type: "uint8", + data: new Uint8Array(), + }), + positionBuffer: r.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(), + }), + positionFractBuffer: r.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(), + }), + }), + (t = a({}, y.defaults, t))), + null != t.thickness && + (d.thickness = parseFloat(t.thickness)), + null != t.opacity && + (d.opacity = parseFloat(t.opacity)), + null != t.miterLimit && + (d.miterLimit = parseFloat(t.miterLimit)), + null != t.overlay && + ((d.overlay = !!t.overlay), + f < y.maxLines && + (d.depth = + (2 * + (y.maxLines - 1 - (f % y.maxLines))) / + y.maxLines - + 1)), + null != t.join && (d.join = t.join), + null != t.hole && (d.hole = t.hole), + null != t.fill && + (d.fill = t.fill + ? n(t.fill, "uint8") + : null), + null != t.viewport && + (d.viewport = v(t.viewport)), + d.viewport || + (d.viewport = v([ + o.drawingBufferWidth, + o.drawingBufferHeight, + ])), + null != t.close && (d.close = t.close), + null === t.positions && (t.positions = []), + t.positions) + ) { + var m, x; + if (t.positions.x && t.positions.y) { + var b = t.positions.x, + _ = t.positions.y; + (x = d.count = + Math.max(b.length, _.length)), + (m = new Float64Array(2 * x)); + for (var w = 0; w < x; w++) + (m[2 * w] = b[w]), (m[2 * w + 1] = _[w]); + } else + (m = l(t.positions, "float64")), + (x = d.count = Math.floor(m.length / 2)); + var T = (d.bounds = i(m, 2)); + if (d.fill) { + for ( + var k = [], + A = {}, + M = 0, + S = 0, + E = 0, + L = d.count; + S < L; + S++ + ) { + var C = m[2 * S], + P = m[2 * S + 1]; + isNaN(C) || + isNaN(P) || + null == C || + null == P + ? ((C = m[2 * M]), + (P = m[2 * M + 1]), + (A[S] = M)) + : (M = S), + (k[E++] = C), + (k[E++] = P); + } + if (t.splitNull) { + d.count - 1 in A || + (A[d.count] = d.count - 1); + var O = Object.keys(A) + .map(Number) + .sort(function (t, e) { + return t - e; + }), + I = [], + D = 0, + z = null != d.hole ? d.hole[0] : null; + if (null != z) { + var R = g(O, function (t) { + return t >= z; + }); + (O = O.slice(0, R)).push(z); + } + for ( + var F = function (t) { + var e = k + .slice(2 * D, 2 * O[t]) + .concat( + z ? k.slice(2 * z) : [], + ), + r = (d.hole || []).map( + function (e) { + return e - z + (O[t] - D); + }, + ), + n = u(e, r); + (n = n.map(function (e) { + return ( + e + + D + + (e + D < O[t] ? 0 : z - O[t]) + ); + })), + I.push.apply(I, n), + (D = O[t] + 1); + }, + B = 0; + B < O.length; + B++ + ) + F(B); + for (var N = 0, j = I.length; N < j; N++) + null != A[I[N]] && (I[N] = A[I[N]]); + d.triangles = I; + } else { + for ( + var U = u(k, d.hole || []), + V = 0, + H = U.length; + V < H; + V++ + ) + null != A[U[V]] && (U[V] = A[U[V]]); + d.triangles = U; + } + } + var q = new Float64Array(m); + c(q, 2, T); + var G = new Float64Array(2 * x + 6); + d.close + ? m[0] === m[2 * x - 2] && + m[1] === m[2 * x - 1] + ? ((G[0] = q[2 * x - 4]), + (G[1] = q[2 * x - 3])) + : ((G[0] = q[2 * x - 2]), + (G[1] = q[2 * x - 1])) + : ((G[0] = q[0]), (G[1] = q[1])), + G.set(q, 2), + d.close + ? m[0] === m[2 * x - 2] && + m[1] === m[2 * x - 1] + ? ((G[2 * x + 2] = q[2]), + (G[2 * x + 3] = q[3]), + (d.count -= 1)) + : ((G[2 * x + 2] = q[0]), + (G[2 * x + 3] = q[1]), + (G[2 * x + 4] = q[2]), + (G[2 * x + 5] = q[3])) + : ((G[2 * x + 2] = q[2 * x - 2]), + (G[2 * x + 3] = q[2 * x - 1]), + (G[2 * x + 4] = q[2 * x - 2]), + (G[2 * x + 5] = q[2 * x - 1])); + var Z = h(G); + d.positionBuffer(Z); + var Y = p(G, Z); + d.positionFractBuffer(Y); + } + if ( + (t.range + ? (d.range = t.range) + : d.range || (d.range = d.bounds), + (t.range || t.positions) && d.count) + ) { + var W = d.bounds, + X = W[2] - W[0], + J = W[3] - W[1], + K = d.range[2] - d.range[0], + $ = d.range[3] - d.range[1]; + (d.scale = [X / K, J / $]), + (d.translate = [ + -d.range[0] / K + W[0] / K || 0, + -d.range[1] / $ + W[1] / $ || 0, + ]), + (d.scaleFract = p(d.scale)), + (d.translateFract = p(d.translate)); + } + if (t.dashes) { + var Q, + tt = 0; + if (!t.dashes || t.dashes.length < 2) + (tt = 1), + (Q = new Uint8Array([ + 255, 255, 255, 255, 255, 255, 255, 255, + ])); + else { + tt = 0; + for (var et = 0; et < t.dashes.length; ++et) + tt += t.dashes[et]; + Q = new Uint8Array(tt * y.dashMult); + for ( + var rt = 0, nt = 255, it = 0; + it < 2; + it++ + ) + for ( + var at = 0; + at < t.dashes.length; + ++at + ) { + for ( + var ot = 0, + st = + t.dashes[at] * y.dashMult * 0.5; + ot < st; + ++ot + ) + Q[rt++] = nt; + nt ^= 255; + } + } + (d.dashLength = tt), + d.dashTexture( + { + channels: 1, + data: Q, + width: Q.length, + height: 1, + mag: "linear", + min: "linear", + }, + 0, + 0, + ); + } + if (t.color) { + var lt = d.count, + ut = t.color; + ut || (ut = "transparent"); + var ct = new Uint8Array(4 * lt + 4); + if ( + Array.isArray(ut) && + "number" != typeof ut[0] + ) { + for (var ft = 0; ft < lt; ft++) { + var ht = n(ut[ft], "uint8"); + ct.set(ht, 4 * ft); + } + ct.set(n(ut[0], "uint8"), 4 * lt); + } else + for ( + var pt = n(ut, "uint8"), dt = 0; + dt < lt + 1; + dt++ + ) + ct.set(pt, 4 * dt); + d.colorBuffer({ + usage: "dynamic", + type: "uint8", + data: ct, + }); + } + } else e.passes[f] = null; + }), + t.length < this.passes.length) + ) { + for (var f = t.length; f < this.passes.length; f++) { + var d = this.passes[f]; + d && + (d.colorBuffer.destroy(), + d.positionBuffer.destroy(), + d.dashTexture.destroy()); + } + this.passes.length = t.length; + } + for (var m = [], x = 0; x < this.passes.length; x++) + null !== this.passes[x] && m.push(this.passes[x]); + return (this.passes = m), this; + } + }), + (y.prototype.destroy = function () { + return ( + this.passes.forEach(function (t) { + t.colorBuffer.destroy(), + t.positionBuffer.destroy(), + t.dashTexture.destroy(); + }), + (this.passes.length = 0), + this + ); + }); + }, + 11870: function (t, e, r) { + "use strict"; + function n(t, e) { + return ( + (function (t) { + if (Array.isArray(t)) return t; + })(t) || + (function (t, e) { + var r = + null == t + ? null + : ("undefined" != typeof Symbol && + t[Symbol.iterator]) || + t["@@iterator"]; + if (null != r) { + var n, + i, + a, + o, + s = [], + l = !0, + u = !1; + try { + if (((a = (r = r.call(t)).next), 0 === e)) { + if (Object(r) !== r) return; + l = !1; + } else + for ( + ; + !(l = (n = a.call(r)).done) && + (s.push(n.value), s.length !== e); + l = !0 + ); + } catch (t) { + (u = !0), (i = t); + } finally { + try { + if ( + !l && + null != r.return && + ((o = r.return()), Object(o) !== o) + ) + return; + } finally { + if (u) throw i; + } + } + return s; + } + })(t, e) || + i(t, e) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.", + ); + })() + ); + } + function i(t, e) { + if (t) { + if ("string" == typeof t) return a(t, e); + var r = Object.prototype.toString.call(t).slice(8, -1); + return ( + "Object" === r && + t.constructor && + (r = t.constructor.name), + "Map" === r || "Set" === r + ? Array.from(t) + : "Arguments" === r || + /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) + ? a(t, e) + : void 0 + ); + } + } + function a(t, e) { + (null == e || e > t.length) && (e = t.length); + for (var r = 0, n = new Array(e); r < e; r++) n[r] = t[r]; + return n; + } + var o = r(25075), + s = r(21527), + l = r(6475), + u = r(88294), + c = r(56131), + f = r(56068), + h = r(71299), + p = r(93447), + d = r(30120), + v = r(62683), + g = r(57060), + y = r(18863), + m = x; + function x(t, e) { + var r = this; + if (!(this instanceof x)) return new x(t, e); + "function" == typeof t + ? (e || (e = {}), (e.regl = t)) + : ((e = t), (t = null)), + e && e.length && (e.positions = e); + var n, + i = (t = e.regl)._gl, + a = []; + (this.tooManyColors = v), + (n = t.texture({ + data: new Uint8Array(1020), + width: 255, + height: 1, + type: "uint8", + format: "rgba", + wrapS: "clamp", + wrapT: "clamp", + mag: "nearest", + min: "nearest", + })), + c(this, { + regl: t, + gl: i, + groups: [], + markerCache: [null], + markerTextures: [null], + palette: a, + paletteIds: {}, + paletteTexture: n, + maxColors: 255, + maxSize: 100, + canvas: i.canvas, + }), + this.update(e); + var o = { + uniforms: { + constPointSize: !!e.constPointSize, + opacity: t.prop("opacity"), + paletteSize: function (t, e) { + return [r.tooManyColors ? 0 : 255, n.height]; + }, + pixelRatio: t.context("pixelRatio"), + scale: t.prop("scale"), + scaleFract: t.prop("scaleFract"), + translate: t.prop("translate"), + translateFract: t.prop("translateFract"), + markerTexture: t.prop("markerTexture"), + paletteTexture: n, + }, + attributes: { + x: function (t, e) { + return ( + e.xAttr || { + buffer: e.positionBuffer, + stride: 8, + offset: 0, + } + ); + }, + y: function (t, e) { + return ( + e.yAttr || { + buffer: e.positionBuffer, + stride: 8, + offset: 4, + } + ); + }, + xFract: function (t, e) { + return e.xAttr + ? { constant: [0, 0] } + : { + buffer: e.positionFractBuffer, + stride: 8, + offset: 0, + }; + }, + yFract: function (t, e) { + return e.yAttr + ? { constant: [0, 0] } + : { + buffer: e.positionFractBuffer, + stride: 8, + offset: 4, + }; + }, + size: function (t, e) { + return e.size.length + ? { buffer: e.sizeBuffer, stride: 2, offset: 0 } + : { + constant: [ + Math.round((255 * e.size) / r.maxSize), + ], + }; + }, + borderSize: function (t, e) { + return e.borderSize.length + ? { buffer: e.sizeBuffer, stride: 2, offset: 1 } + : { + constant: [ + Math.round( + (255 * e.borderSize) / r.maxSize, + ), + ], + }; + }, + colorId: function (t, e) { + return e.color.length + ? { + buffer: e.colorBuffer, + stride: r.tooManyColors ? 8 : 4, + offset: 0, + } + : { + constant: r.tooManyColors + ? a.slice(4 * e.color, 4 * e.color + 4) + : [e.color], + }; + }, + borderColorId: function (t, e) { + return e.borderColor.length + ? { + buffer: e.colorBuffer, + stride: r.tooManyColors ? 8 : 4, + offset: r.tooManyColors ? 4 : 2, + } + : { + constant: r.tooManyColors + ? a.slice( + 4 * e.borderColor, + 4 * e.borderColor + 4, + ) + : [e.borderColor], + }; + }, + isActive: function (t, e) { + return !0 === e.activation + ? { constant: [1] } + : e.activation + ? e.activation + : { constant: [0] }; + }, + }, + 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", + }, + s = c({}, o); + (s.frag = f([ + "precision highp float;\n#define GLSLIFY 1\n\nuniform float opacity;\nuniform sampler2D markerTexture;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\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(markerTexture, 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 * opacity);\n }\n else {\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\n}\n", + ])), + (s.vert = f([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\nconst float borderLevel = .5;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragPointSize, fragBorderRadius, fragWidth, fragBorderColorLevel, fragColorLevel;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = 2. * size * pointSizeScale;\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}", + ])), + (this.drawMarker = t(s)); + var l = c({}, o); + (l.frag = f([ + "precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nuniform float opacity;\n\nfloat smoothStep(float edge0, float edge1, float x) {\n\tfloat t;\n\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n\treturn t * t * (3.0 - 2.0 * t);\n}\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}\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", + ])), + (l.vert = f([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pointSizeScale;\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 fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n", + ])), + v && + ((l.frag = l.frag.replace("smoothstep", "smoothStep")), + (s.frag = s.frag.replace("smoothstep", "smoothStep"))), + (this.drawCircle = t(l)); + } + (x.defaults = { + color: "black", + borderColor: "transparent", + borderSize: 0, + size: 12, + opacity: 1, + marker: void 0, + viewport: null, + range: null, + pixelSize: null, + count: 0, + offset: 0, + bounds: null, + positions: [], + snap: 1e4, + }), + (x.prototype.render = function () { + return ( + arguments.length && this.update.apply(this, arguments), + this.draw(), + this + ); + }), + (x.prototype.draw = function () { + for ( + var t = this, + e = arguments.length, + r = new Array(e), + n = 0; + n < e; + n++ + ) + r[n] = arguments[n]; + var i = this.groups; + if ( + (1 === r.length && + Array.isArray(r[0]) && + (null === r[0][0] || Array.isArray(r[0][0])) && + (r = r[0]), + this.regl._refresh(), + r.length) + ) + for (var a = 0; a < r.length; a++) + this.drawItem(a, r[a]); + else + i.forEach(function (e, r) { + t.drawItem(r); + }); + return this; + }), + (x.prototype.drawItem = function (t, e) { + var r, + n = this.groups, + o = n[t]; + if ( + ("number" == typeof e && + ((t = e), (o = n[e]), (e = null)), + o && o.count && o.opacity) + ) { + o.activation[0] && + this.drawCircle(this.getMarkerDrawOptions(0, o, e)); + for (var s = [], l = 1; l < o.activation.length; l++) + o.activation[l] && + (!0 === o.activation[l] || + o.activation[l].data.length) && + s.push.apply( + s, + (function (t) { + if (Array.isArray(t)) return a(t); + })((r = this.getMarkerDrawOptions(l, o, e))) || + (function (t) { + if ( + ("undefined" != typeof Symbol && + null != t[Symbol.iterator]) || + null != t["@@iterator"] + ) + return Array.from(t); + })(r) || + i(r) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.", + ); + })(), + ); + s.length && this.drawMarker(s); + } + }), + (x.prototype.getMarkerDrawOptions = function (t, e, r) { + var i = e.range, + a = e.tree, + o = e.viewport, + s = e.activation, + l = e.selectionBuffer, + u = e.count; + if ((this.regl, !a)) + return r + ? [ + c({}, e, { + markerTexture: this.markerTextures[t], + activation: s[t], + count: r.length, + elements: r, + offset: 0, + }), + ] + : [ + c({}, e, { + markerTexture: this.markerTextures[t], + activation: s[t], + offset: 0, + }), + ]; + var f = [], + h = a.range(i, { + lod: !0, + px: [ + (i[2] - i[0]) / o.width, + (i[3] - i[1]) / o.height, + ], + }); + if (r) { + for ( + var p = s[t].data, d = new Uint8Array(u), v = 0; + v < r.length; + v++ + ) { + var g = r[v]; + d[g] = p ? p[g] : 1; + } + l.subdata(d); + } + for (var y = h.length; y--; ) { + var m = n(h[y], 2), + x = m[0], + b = m[1]; + f.push( + c({}, e, { + markerTexture: this.markerTextures[t], + activation: r ? l : s[t], + offset: x, + count: b - x, + }), + ); + } + return f; + }), + (x.prototype.update = function () { + for ( + var t = this, + e = arguments.length, + r = new Array(e), + n = 0; + n < e; + n++ + ) + r[n] = arguments[n]; + if (r.length) { + 1 === r.length && Array.isArray(r[0]) && (r = r[0]); + var i = this.groups, + a = this.gl, + o = this.regl, + l = this.maxSize, + f = this.maxColors, + v = this.palette; + this.groups = i = r.map(function (e, r) { + var n = i[r]; + if (void 0 === e) return n; + null === e + ? (e = { positions: null }) + : "function" == typeof e + ? (e = { ondraw: e }) + : "number" == typeof e[0] && (e = { positions: e }), + null === + (e = h(e, { + positions: "positions data points", + snap: "snap cluster lod tree", + size: "sizes size radius", + borderSize: + "borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline", + color: "colors color fill fill-color fillColor", + borderColor: + "borderColors borderColor stroke stroke-color strokeColor", + marker: "markers marker shape", + range: "range dataBox databox", + viewport: "viewport viewPort viewBox viewbox", + opacity: "opacity alpha transparency", + bounds: "bound bounds boundaries limits", + tooManyColors: + "tooManyColors palette paletteMode optimizePalette enablePalette", + })).positions && (e.positions = []), + null != e.tooManyColors && + (t.tooManyColors = e.tooManyColors), + n || + ((i[r] = n = + { + id: r, + scale: null, + translate: null, + scaleFract: null, + translateFract: null, + activation: [], + selectionBuffer: o.buffer({ + data: new Uint8Array(0), + usage: "stream", + type: "uint8", + }), + sizeBuffer: o.buffer({ + data: new Uint8Array(0), + usage: "dynamic", + type: "uint8", + }), + colorBuffer: o.buffer({ + data: new Uint8Array(0), + usage: "dynamic", + type: "uint8", + }), + positionBuffer: o.buffer({ + data: new Uint8Array(0), + usage: "dynamic", + type: "float", + }), + positionFractBuffer: o.buffer({ + data: new Uint8Array(0), + usage: "dynamic", + type: "float", + }), + }), + (e = c({}, x.defaults, e))), + e.positions && + !("marker" in e) && + ((e.marker = n.marker), delete n.marker), + e.marker && + !("positions" in e) && + ((e.positions = n.positions), delete n.positions); + var m = 0, + b = 0; + if ( + (p(n, e, [ + { + snap: !0, + size: function (t, e) { + return ( + null == t && (t = x.defaults.size), + (m += t && t.length ? 1 : 0), + t + ); + }, + borderSize: function (t, e) { + return ( + null == t && (t = x.defaults.borderSize), + (m += t && t.length ? 1 : 0), + t + ); + }, + opacity: parseFloat, + color: function (e, r) { + return ( + null == e && (e = x.defaults.color), + (e = t.updateColor(e)), + b++, + e + ); + }, + borderColor: function (e, r) { + return ( + null == e && (e = x.defaults.borderColor), + (e = t.updateColor(e)), + b++, + e + ); + }, + bounds: function (t, e, r) { + return "range" in r || (r.range = null), t; + }, + positions: function (t, e, r) { + var n = e.snap, + i = e.positionBuffer, + a = e.positionFractBuffer, + l = e.selectionBuffer; + if (t.x || t.y) + return ( + t.x.length + ? (e.xAttr = { + buffer: o.buffer(t.x), + offset: 0, + stride: 4, + count: t.x.length, + }) + : (e.xAttr = { + buffer: t.x.buffer, + offset: 4 * t.x.offset || 0, + stride: 4 * (t.x.stride || 1), + count: t.x.count, + }), + t.y.length + ? (e.yAttr = { + buffer: o.buffer(t.y), + offset: 0, + stride: 4, + count: t.y.length, + }) + : (e.yAttr = { + buffer: t.y.buffer, + offset: 4 * t.y.offset || 0, + stride: 4 * (t.y.stride || 1), + count: t.y.count, + }), + (e.count = Math.max( + e.xAttr.count, + e.yAttr.count, + )), + t + ); + t = d(t, "float64"); + var c = (e.count = Math.floor(t.length / 2)), + f = (e.bounds = c ? s(t, 2) : null); + if ( + (r.range || + e.range || + (delete e.range, (r.range = f)), + r.marker || + e.marker || + (delete e.marker, (r.marker = null)), + n && (!0 === n || c > n) + ? (e.tree = u(t, { bounds: f })) + : n && n.length && (e.tree = n), + e.tree) + ) { + var h = { + primitive: "points", + usage: "static", + data: e.tree, + type: "uint32", + }; + e.elements + ? e.elements(h) + : (e.elements = o.elements(h)); + } + var p = g.float32(t); + return ( + i({ data: p, usage: "dynamic" }), + a({ + data: g.fract32(t, p), + usage: "dynamic", + }), + l({ + data: new Uint8Array(c), + type: "uint8", + usage: "stream", + }), + t + ); + }, + }, + { + marker: function (e, r, n) { + var i = r.activation; + if ( + (i.forEach(function (t) { + return t && t.destroy && t.destroy(); + }), + (i.length = 0), + e && "number" != typeof e[0]) + ) { + for ( + var a = [], + s = 0, + l = Math.min(e.length, r.count); + s < l; + s++ + ) { + var u = t.addMarker(e[s]); + a[u] || (a[u] = new Uint8Array(r.count)), + (a[u][s] = 1); + } + for (var c = 0; c < a.length; c++) + if (a[c]) { + var f = { + data: a[c], + type: "uint8", + usage: "static", + }; + i[c] ? i[c](f) : (i[c] = o.buffer(f)), + (i[c].data = a[c]); + } + } else i[t.addMarker(e)] = !0; + return e; + }, + 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 = g.fract(e.scale)), + (e.translateFract = g.fract(e.translate)), + t + ); + }, + viewport: function (t) { + return y( + t || [ + a.drawingBufferWidth, + a.drawingBufferHeight, + ], + ); + }, + }, + ]), + m) + ) { + var _ = n, + w = _.count, + T = _.size, + k = _.borderSize, + A = _.sizeBuffer, + M = new Uint8Array(2 * w); + if (T.length || k.length) + for (var S = 0; S < w; S++) + (M[2 * S] = Math.round( + (255 * (null == T[S] ? T : T[S])) / l, + )), + (M[2 * S + 1] = Math.round( + (255 * (null == k[S] ? k : k[S])) / l, + )); + A({ data: M, usage: "dynamic" }); + } + if (b) { + var E, + L = n, + C = L.count, + P = L.color, + O = L.borderColor, + I = L.colorBuffer; + if (t.tooManyColors) { + if (P.length || O.length) { + E = new Uint8Array(8 * C); + for (var D = 0; D < C; D++) { + var z = P[D]; + (E[8 * D] = v[4 * z]), + (E[8 * D + 1] = v[4 * z + 1]), + (E[8 * D + 2] = v[4 * z + 2]), + (E[8 * D + 3] = v[4 * z + 3]); + var R = O[D]; + (E[8 * D + 4] = v[4 * R]), + (E[8 * D + 5] = v[4 * R + 1]), + (E[8 * D + 6] = v[4 * R + 2]), + (E[8 * D + 7] = v[4 * R + 3]); + } + } + } else if (P.length || O.length) { + E = new Uint8Array(4 * C + 2); + for (var F = 0; F < C; F++) + null != P[F] && + ((E[4 * F] = P[F] % f), + (E[4 * F + 1] = Math.floor(P[F] / f))), + null != O[F] && + ((E[4 * F + 2] = O[F] % f), + (E[4 * F + 3] = Math.floor(O[F] / f))); + } + I({ + data: E || new Uint8Array(0), + type: "uint8", + usage: "dynamic", + }); + } + return n; + }); + } + }), + (x.prototype.addMarker = function (t) { + var e, + r = this.markerTextures, + n = this.regl, + i = this.markerCache, + a = null == t ? 0 : i.indexOf(t); + if (a >= 0) return a; + if ( + t instanceof Uint8Array || + t instanceof Uint8ClampedArray + ) + e = t; + else { + e = new Uint8Array(t.length); + for (var o = 0, s = t.length; o < s; o++) + e[o] = 255 * t[o]; + } + var l = Math.floor(Math.sqrt(e.length)); + return ( + (a = r.length), + i.push(t), + r.push( + n.texture({ + channels: 1, + data: e, + radius: l, + mag: "linear", + min: "linear", + }), + ), + a + ); + }), + (x.prototype.updateColor = function (t) { + var e = this.paletteIds, + r = this.palette, + n = this.maxColors; + Array.isArray(t) || (t = [t]); + var i = []; + if ("number" == typeof t[0]) { + var a = []; + if (Array.isArray(t)) + for (var s = 0; s < t.length; s += 4) + a.push(t.slice(s, s + 4)); + else + for (var u = 0; u < t.length; u += 4) + a.push(t.subarray(u, u + 4)); + t = a; + } + for (var c = 0; c < t.length; c++) { + var f = t[c]; + f = o(f, "uint8"); + var h = l(f, !1); + if (null == e[h]) { + var p = r.length; + (e[h] = Math.floor(p / 4)), + (r[p] = f[0]), + (r[p + 1] = f[1]), + (r[p + 2] = f[2]), + (r[p + 3] = f[3]); + } + i[c] = e[h]; + } + return ( + !this.tooManyColors && + r.length > 4 * n && + (this.tooManyColors = !0), + this.updatePalette(r), + 1 === i.length ? i[0] : i + ); + }), + (x.prototype.updatePalette = function (t) { + if (!this.tooManyColors) { + var e = this.maxColors, + r = this.paletteTexture, + n = Math.ceil((0.25 * t.length) / e); + if (n > 1) + for ( + var i = (0.25 * (t = t.slice()).length) % e; + i < n * e; + i++ + ) + t.push(0, 0, 0, 0); + r.height < n && r.resize(e, n), + r.subimage( + { + width: Math.min(0.25 * t.length, e), + height: n, + data: t, + }, + 0, + 0, + ); + } + }), + (x.prototype.destroy = function () { + return ( + this.groups.forEach(function (t) { + t.sizeBuffer.destroy(), + t.positionBuffer.destroy(), + t.positionFractBuffer.destroy(), + t.colorBuffer.destroy(), + t.activation.forEach(function (t) { + return t && t.destroy && t.destroy(); + }), + t.selectionBuffer.destroy(), + t.elements && t.elements.destroy(); + }), + (this.groups.length = 0), + this.paletteTexture.destroy(), + this.markerTextures.forEach(function (t) { + return t && t.destroy && t.destroy(); + }), + this + ); + }); + var b = r(56131); + t.exports = function (t, e) { + var r = new m(t, e), + n = r.render.bind(r); + return ( + b(n, { + render: n, + update: r.update.bind(r), + draw: r.draw.bind(r), + destroy: r.destroy.bind(r), + regl: r.regl, + gl: r.gl, + canvas: r.gl.canvas, + groups: r.groups, + markers: r.markerCache, + palette: r.palette, + }), + n + ); + }; + }, + 60487: function (t, e, r) { + "use strict"; + var n = r(11870), + i = r(71299), + a = r(21527), + o = r(5877), + s = r(57471), + l = r(18863), + u = r(30120); + function c(t, e) { + if (!(this instanceof c)) return new c(t, e); + (this.traces = []), + (this.passes = {}), + (this.regl = t), + (this.scatter = n(t)), + (this.canvas = this.scatter.canvas); + } + function f(t, e, r) { + return ( + ((null != t.id ? t.id : t) << 16) | + ((255 & e) << 8) | + (255 & r) + ); + } + function h(t, e, r) { + var n, + i, + a, + o, + s = t[e], + l = t[r]; + return ( + s.length > 2 + ? (s[0], s[2], (n = s[1]), (i = s[3])) + : s.length + ? ((n = s[0]), (i = s[1])) + : (s.x, (n = s.y), s.x, s.width, (i = s.y + s.height)), + l.length > 2 + ? ((a = l[0]), (o = l[2]), l[1], l[3]) + : l.length + ? ((a = l[0]), (o = l[1])) + : ((a = l.x), l.y, (o = l.x + l.width), l.y, l.height), + [a, n, o, i] + ); + } + function p(t) { + if ("number" == typeof t) return [t, t, t, t]; + if (2 === t.length) return [t[0], t[1], t[0], t[1]]; + var e = l(t); + return [e.x, e.y, e.x + e.width, e.y + e.height]; + } + (t.exports = c), + (c.prototype.render = function () { + for (var t, e = this, r = [], n = arguments.length; n--; ) + r[n] = arguments[n]; + return ( + r.length && (t = this).update.apply(t, r), + this.regl.attributes.preserveDrawingBuffer + ? this.draw() + : (this.dirty + ? null == this.planned && + (this.planned = o(function () { + e.draw(), (e.dirty = !0), (e.planned = null); + })) + : (this.draw(), + (this.dirty = !0), + o(function () { + e.dirty = !1; + })), + this) + ); + }), + (c.prototype.update = function () { + for (var t, e = [], r = arguments.length; r--; ) + e[r] = arguments[r]; + if (e.length) { + for (var n = 0; n < e.length; n++) + this.updateItem(n, e[n]); + this.traces = this.traces.filter(Boolean); + for ( + var i = [], a = 0, o = 0; + o < this.traces.length; + o++ + ) { + for ( + var s = this.traces[o], + l = this.traces[o].passes, + u = 0; + u < l.length; + u++ + ) + i.push(this.passes[l[u]]); + (s.passOffset = a), (a += s.passes.length); + } + return (t = this.scatter).update.apply(t, i), this; + } + }), + (c.prototype.updateItem = function (t, e) { + var r = this.regl; + if (null === e) return (this.traces[t] = null), this; + if (!e) return this; + var n, + o = i(e, { + data: "data items columns rows values dimensions samples x", + snap: "snap cluster", + size: "sizes size radius", + color: "colors color fill fill-color fillColor", + opacity: "opacity alpha transparency opaque", + borderSize: + "borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline", + borderColor: + "borderColors borderColor bordercolor stroke stroke-color strokeColor", + marker: "markers marker shape", + range: "range ranges databox dataBox", + viewport: "viewport viewBox viewbox", + domain: "domain domains area areas", + padding: "pad padding paddings pads margin margins", + transpose: "transpose transposed", + diagonal: "diagonal diag showDiagonal", + upper: + "upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf", + lower: + "lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower", + }), + s = + this.traces[t] || + (this.traces[t] = { + id: t, + buffer: r.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(), + }), + color: "black", + marker: null, + size: 12, + borderColor: "transparent", + borderSize: 1, + viewport: l([ + r._gl.drawingBufferWidth, + r._gl.drawingBufferHeight, + ]), + padding: [0, 0, 0, 0], + opacity: 1, + diagonal: !0, + upper: !0, + lower: !0, + }); + if ( + (null != o.color && (s.color = o.color), + null != o.size && (s.size = o.size), + null != o.marker && (s.marker = o.marker), + null != o.borderColor && + (s.borderColor = o.borderColor), + null != o.borderSize && (s.borderSize = o.borderSize), + null != o.opacity && (s.opacity = o.opacity), + o.viewport && (s.viewport = l(o.viewport)), + null != o.diagonal && (s.diagonal = o.diagonal), + null != o.upper && (s.upper = o.upper), + null != o.lower && (s.lower = o.lower), + o.data) + ) { + s.buffer(u(o.data)), + (s.columns = o.data.length), + (s.count = o.data[0].length), + (s.bounds = []); + for (var c = 0; c < s.columns; c++) + s.bounds[c] = a(o.data[c], 1); + } + o.range && + ((s.range = o.range), + (n = s.range && "number" != typeof s.range[0])), + o.domain && (s.domain = o.domain); + var d = !1; + null != o.padding && + (Array.isArray(o.padding) && + o.padding.length === s.columns && + "number" == typeof o.padding[o.padding.length - 1] + ? ((s.padding = o.padding.map(p)), (d = !0)) + : (s.padding = p(o.padding))); + var v = s.columns, + g = s.count, + y = s.viewport.width, + m = s.viewport.height, + x = s.viewport.x, + b = s.viewport.y, + _ = y / v, + w = m / v; + s.passes = []; + for (var T = 0; T < v; T++) + for (var k = 0; k < v; k++) + if ( + (s.diagonal || k !== T) && + (s.upper || !(T > k)) && + (s.lower || !(T < k)) + ) { + var A = f(s.id, T, k), + M = this.passes[A] || (this.passes[A] = {}); + if ( + (o.data && + (o.transpose + ? (M.positions = { + x: { + buffer: s.buffer, + offset: k, + count: g, + stride: v, + }, + y: { + buffer: s.buffer, + offset: T, + count: g, + stride: v, + }, + }) + : (M.positions = { + x: { + buffer: s.buffer, + offset: k * g, + count: g, + }, + y: { + buffer: s.buffer, + offset: T * g, + count: g, + }, + }), + (M.bounds = h(s.bounds, T, k))), + o.domain || o.viewport || o.data) + ) { + var S = d ? h(s.padding, T, k) : s.padding; + if (s.domain) { + var E = h(s.domain, T, k), + L = E[0], + C = E[1], + P = E[2], + O = E[3]; + M.viewport = [ + x + L * y + S[0], + b + C * m + S[1], + x + P * y - S[2], + b + O * m - S[3], + ]; + } else + M.viewport = [ + x + k * _ + _ * S[0], + b + T * w + w * S[1], + x + (k + 1) * _ - _ * S[2], + b + (T + 1) * w - w * S[3], + ]; + } + o.color && (M.color = s.color), + o.size && (M.size = s.size), + o.marker && (M.marker = s.marker), + o.borderSize && (M.borderSize = s.borderSize), + o.borderColor && (M.borderColor = s.borderColor), + o.opacity && (M.opacity = s.opacity), + o.range && + (M.range = n + ? h(s.range, T, k) + : s.range || M.bounds), + s.passes.push(A); + } + return this; + }), + (c.prototype.draw = function () { + for (var t, e = [], r = arguments.length; r--; ) + e[r] = arguments[r]; + if (e.length) { + for (var n = [], i = 0; i < e.length; i++) + if ("number" == typeof e[i]) { + var a = this.traces[e[i]], + o = a.passes, + l = a.passOffset; + n.push.apply(n, s(l, l + o.length)); + } else if (e[i].length) { + var u = e[i], + c = this.traces[i], + f = c.passes, + h = c.passOffset; + f = f.map(function (t, e) { + n[h + e] = u; + }); + } + (t = this.scatter).draw.apply(t, n); + } else this.scatter.draw(); + return this; + }), + (c.prototype.destroy = function () { + return ( + this.traces.forEach(function (t) { + t.buffer && t.buffer.destroy && t.buffer.destroy(); + }), + (this.traces = null), + (this.passes = null), + this.scatter.destroy(), + this + ); + }); + }, + 98580: function (t) { + t.exports = (function () { + function t(t, e) { + (this.id = Z++), (this.type = t), (this.data = e); + } + function e(t) { + if (0 === t.length) return []; + var r = t.charAt(0), + n = t.charAt(t.length - 1); + if (1 < t.length && r === n && ('"' === r || "'" === r)) + return [ + '"' + + t + .substr(1, t.length - 2) + .replace(/\\/g, "\\\\") + .replace(/"/g, '\\"') + + '"', + ]; + if ( + (r = /\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec( + t, + )) + ) + return e(t.substr(0, r.index)) + .concat(e(r[1])) + .concat(e(t.substr(r.index + r[0].length))); + if (1 === (r = t.split(".")).length) + return [ + '"' + + t.replace(/\\/g, "\\\\").replace(/"/g, '\\"') + + '"', + ]; + for (t = [], n = 0; n < r.length; ++n) + t = t.concat(e(r[n])); + return t; + } + function r(t) { + return "[" + e(t).join("][") + "]"; + } + function n(t) { + return "string" == typeof t ? t.split() : t; + } + function i(t) { + return "string" == typeof t + ? document.querySelector(t) + : t; + } + function a(t) { + var e, + r, + a, + o, + s = t || {}; + t = {}; + var l = [], + u = [], + c = + "undefined" == typeof window + ? 1 + : window.devicePixelRatio, + f = !1, + h = {}, + p = function (t) {}, + d = 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 = i(s.canvas)) + : "container" in s && (r = i(s.container)), + "attributes" in s && (t = s.attributes), + "extensions" in s && (l = n(s.extensions)), + "optionalExtensions" in s && + (u = n(s.optionalExtensions)), + "onDone" in s && (p = s.onDone), + "profile" in s && (f = !!s.profile), + "pixelRatio" in s && (c = +s.pixelRatio), + "cachedCode" in s && (h = s.cachedCode))), + e && + ("canvas" === e.nodeName.toLowerCase() + ? (a = e) + : (r = e)), + !o) + ) { + if (!a) { + if ( + !(e = (function (t, e, r) { + function n() { + var e = window.innerWidth, + n = window.innerHeight; + t !== document.body && + ((e = + (n = a.getBoundingClientRect()).right - + n.left), + (n = n.bottom - n.top)), + (a.width = r * e), + (a.height = r * n); + } + var i, + a = document.createElement("canvas"); + return ( + G(a.style, { + border: 0, + margin: 0, + padding: 0, + top: 0, + left: 0, + width: "100%", + height: "100%", + }), + t.appendChild(a), + t === document.body && + ((a.style.position = "absolute"), + G(t.style, { margin: 0, padding: 0 })), + t !== document.body && + "function" == typeof ResizeObserver + ? (i = new ResizeObserver(function () { + setTimeout(n); + })).observe(t) + : window.addEventListener("resize", n, !1), + n(), + { + canvas: a, + onDestroy: function () { + i + ? i.disconnect() + : window.removeEventListener("resize", n), + t.removeChild(a); + }, + } + ); + })(r || document.body, 0, c)) + ) + return null; + (a = e.canvas), (d = e.onDestroy); + } + void 0 === t.premultipliedAlpha && + (t.premultipliedAlpha = !0), + (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: r, + extensions: l, + optionalExtensions: u, + pixelRatio: c, + profile: f, + cachedCode: h, + onDone: p, + onDestroy: d, + } + : (d(), + p( + "webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org", + ), + null); + } + 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() { + function t(t) { + t: { + for (var e = 16; 268435456 >= e; e *= 16) + if (t <= e) { + t = e; + break t; + } + t = 0; + } + return 0 < (e = r[s(t) >> 2]).length + ? e.pop() + : new ArrayBuffer(t); + } + function e(t) { + r[s(t.byteLength) >> 2].push(t); + } + var r = o(8, function () { + return []; + }); + return { + alloc: t, + free: e, + allocType: function (e, r) { + var n = null; + switch (e) { + case 5120: + n = new Int8Array(t(r), 0, r); + break; + case 5121: + n = new Uint8Array(t(r), 0, r); + break; + case 5122: + n = new Int16Array(t(2 * r), 0, r); + break; + case 5123: + n = new Uint16Array(t(2 * r), 0, r); + break; + case 5124: + n = new Int32Array(t(4 * r), 0, r); + break; + case 5125: + n = new Uint32Array(t(4 * r), 0, r); + break; + case 5126: + n = new Float32Array(t(4 * r), 0, r); + break; + default: + return null; + } + return n.length !== r ? n.subarray(0, r) : n; + }, + freeType: function (t) { + e(t.buffer); + }, + }; + } + function u(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) || $(t.data)) + ); + } + 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 f(t, e, r, n, i) { + for (var a = 1, o = r + 1; o < e.length; ++o) a *= e[o]; + var s = e[r]; + if (4 == e.length - r) { + var l = e[r + 1], + u = e[r + 2]; + for (e = e[r + 3], o = 0; o < s; ++o) + c(t[o], l, u, e, n, i), (i += a); + } else + for (o = 0; o < s; ++o) + f(t[o], e, r + 1, n, i), (i += a); + } + function h(t) { + return 0 | et[Object.prototype.toString.call(t)]; + } + function p(t, e) { + for (var r = 0; r < e.length; ++r) t[r] = e[r]; + } + function d(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 v(t, e, r, n) { + function i(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 a(e, r, n) { + (e.byteLength = r.byteLength), + t.bufferData(e.type, r, n); + } + function o(t, e, r, n, i, o) { + if (((t.usage = r), Array.isArray(e))) { + if (((t.dtype = n || 5126), 0 < e.length)) + if (Array.isArray(e[0])) { + i = at(e); + for (var s = (n = 1); s < i.length; ++s) + n *= i[s]; + (t.dimension = n), + a(t, (e = it(e, i, t.dtype)), r), + o ? (t.persistentData = e) : J.freeType(e); + } else + "number" == typeof e[0] + ? ((t.dimension = i), + p((i = J.allocType(t.dtype, e.length)), e), + a(t, i, r), + o ? (t.persistentData = i) : J.freeType(i)) + : $(e[0]) && + ((t.dimension = e[0].length), + (t.dtype = n || h(e[0]) || 5126), + a( + t, + (e = it( + e, + [e.length, e[0].length], + t.dtype, + )), + r, + ), + o ? (t.persistentData = e) : J.freeType(e)); + } else if ($(e)) + (t.dtype = n || h(e)), + (t.dimension = i), + a(t, e, r), + o && + (t.persistentData = new Uint8Array( + new Uint8Array(e.buffer), + )); + else if (u(e)) { + i = e.shape; + var l = e.stride, + c = ((s = e.offset), 0), + f = 0, + v = 0, + g = 0; + 1 === i.length + ? ((c = i[0]), (f = 1), (v = l[0]), (g = 0)) + : 2 === i.length && + ((c = i[0]), (f = i[1]), (v = l[0]), (g = l[1])), + (t.dtype = n || h(e.data) || 5126), + (t.dimension = f), + d( + (i = J.allocType(t.dtype, c * f)), + e.data, + c, + f, + v, + g, + s, + ), + a(t, i, r), + o ? (t.persistentData = i) : J.freeType(i); + } else + e instanceof ArrayBuffer && + ((t.dtype = 5121), + (t.dimension = i), + a(t, e, r), + o && + (t.persistentData = new Uint8Array( + new Uint8Array(e), + ))); + } + function s(r) { + e.bufferCount--, + n(r), + t.deleteBuffer(r.buffer), + (r.buffer = null), + delete c[r.id]; + } + var l = 0, + c = {}; + (i.prototype.bind = function () { + t.bindBuffer(this.type, this.buffer); + }), + (i.prototype.destroy = function () { + s(this); + }); + var f = []; + return ( + r.profile && + (e.getTotalBufferSize = function () { + var t = 0; + return ( + Object.keys(c).forEach(function (e) { + t += c[e].stats.size; + }), + t + ); + }), + { + create: function (n, a, l, f) { + function v(e) { + var n = 35044, + i = null, + a = 0, + s = 0, + l = 1; + return ( + Array.isArray(e) || + $(e) || + u(e) || + e instanceof ArrayBuffer + ? (i = e) + : "number" == typeof e + ? (a = 0 | e) + : e && + ("data" in e && (i = e.data), + "usage" in e && (n = nt[e.usage]), + "type" in e && (s = rt[e.type]), + "dimension" in e && (l = 0 | e.dimension), + "length" in e && (a = 0 | e.length)), + g.bind(), + i + ? o(g, i, n, s, l, f) + : (a && t.bufferData(g.type, a, n), + (g.dtype = s || 5121), + (g.usage = n), + (g.dimension = l), + (g.byteLength = a)), + r.profile && + (g.stats.size = g.byteLength * ot[g.dtype]), + v + ); + } + e.bufferCount++; + var g = new i(a); + return ( + (c[g.id] = g), + l || v(n), + (v._reglType = "buffer"), + (v._buffer = g), + (v.subdata = function (e, r) { + var n, + i = 0 | (r || 0); + if ( + (g.bind(), $(e) || e instanceof ArrayBuffer) + ) + t.bufferSubData(g.type, i, e); + else if (Array.isArray(e)) { + if (0 < e.length) + if ("number" == typeof e[0]) { + var a = J.allocType(g.dtype, e.length); + p(a, e), + t.bufferSubData(g.type, i, a), + J.freeType(a); + } else + (Array.isArray(e[0]) || $(e[0])) && + ((n = at(e)), + (a = it(e, n, g.dtype)), + t.bufferSubData(g.type, i, a), + J.freeType(a)); + } else if (u(e)) { + n = e.shape; + var o = e.stride, + s = (a = 0), + l = 0, + c = 0; + 1 === n.length + ? ((a = n[0]), (s = 1), (l = o[0]), (c = 0)) + : 2 === n.length && + ((a = n[0]), + (s = n[1]), + (l = o[0]), + (c = o[1])), + (n = Array.isArray(e.data) + ? g.dtype + : h(e.data)), + d( + (n = J.allocType(n, a * s)), + e.data, + a, + s, + l, + c, + e.offset, + ), + t.bufferSubData(g.type, i, n), + J.freeType(n); + } + return v; + }), + r.profile && (v.stats = g.stats), + (v.destroy = function () { + s(g); + }), + v + ); + }, + createStream: function (t, e) { + var r = f.pop(); + return ( + r || (r = new i(t)), + r.bind(), + o(r, e, 35040, 0, 1, !1), + r + ); + }, + destroyStream: function (t) { + f.push(t); + }, + clear: function () { + Q(c).forEach(s), f.forEach(s); + }, + getBuffer: function (t) { + return t && t._buffer instanceof i + ? t._buffer + : null; + }, + restore: function () { + Q(c).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 = l++), + (s[this.id] = this), + (this.buffer = t), + (this.primType = 4), + (this.type = this.vertCount = 0); + } + function a(n, i, a, o, s, l, c) { + var f; + if ( + (n.buffer.bind(), + i + ? ((f = c) || + ($(i) && (!u(i) || $(i.data))) || + (f = e.oes_element_index_uint ? 5125 : 5123), + r._initBuffer(n.buffer, i, a, f, 3)) + : (t.bufferData(34963, l, a), + (n.buffer.dtype = f || 5121), + (n.buffer.usage = a), + (n.buffer.dimension = 3), + (n.buffer.byteLength = l)), + (f = c), + !c) + ) { + switch (n.buffer.dtype) { + case 5121: + case 5120: + f = 5121; + break; + case 5123: + case 5122: + f = 5123; + break; + case 5125: + case 5124: + f = 5125; + } + n.buffer.dtype = f; + } + (n.type = f), + 0 > (i = s) && + ((i = n.buffer.byteLength), + 5123 === f ? (i >>= 1) : 5125 === f && (i >>= 2)), + (n.vertCount = i), + (i = o), + 0 > o && + ((i = 4), + 1 === (o = n.buffer.dimension) && (i = 0), + 2 === o && (i = 1), + 3 === o && (i = 4)), + (n.primType = i); + } + function o(t) { + n.elementsCount--, + delete s[t.id], + t.buffer.destroy(), + (t.buffer = null); + } + var s = {}, + l = 0, + c = { uint8: 5121, uint16: 5123 }; + e.oes_element_index_uint && (c.uint32 = 5125), + (i.prototype.bind = function () { + this.buffer.bind(); + }); + var f = []; + return { + create: function (t, e) { + function s(t) { + if (t) + if ("number" == typeof t) + l(t), + (f.primType = 4), + (f.vertCount = 0 | t), + (f.type = 5121); + else { + var e = null, + r = 35044, + n = -1, + i = -1, + o = 0, + h = 0; + Array.isArray(t) || $(t) || u(t) + ? (e = t) + : ("data" in t && (e = t.data), + "usage" in t && (r = nt[t.usage]), + "primitive" in t && (n = st[t.primitive]), + "count" in t && (i = 0 | t.count), + "type" in t && (h = c[t.type]), + "length" in t + ? (o = 0 | t.length) + : ((o = i), + 5123 === h || 5122 === h + ? (o *= 2) + : (5125 !== h && 5124 !== h) || + (o *= 4))), + a(f, e, r, n, i, o, h); + } + else + l(), + (f.primType = 4), + (f.vertCount = 0), + (f.type = 5121); + return s; + } + var l = r.create(null, 34963, !0), + f = new i(l._buffer); + return ( + n.elementsCount++, + s(t), + (s._reglType = "elements"), + (s._elements = f), + (s.subdata = function (t, e) { + return l.subdata(t, e), s; + }), + (s.destroy = function () { + o(f); + }), + s + ); + }, + createStream: function (t) { + var e = f.pop(); + return ( + e || + (e = new i( + r.create(null, 34963, !0, !1)._buffer, + )), + a(e, t, 35040, -1, -1, 0, 0), + e + ); + }, + destroyStream: function (t) { + f.push(t); + }, + getElements: function (t) { + return "function" == typeof t && + t._elements instanceof i + ? t._elements + : null; + }, + clear: function () { + Q(s).forEach(o); + }, + }; + } + function y(t) { + for ( + var e = J.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 { + lt[0] = t[r]; + var n = ((a = ut[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) || $(t); + } + function x(t) { + return "[object " + t + "]"; + } + function b(t) { + return ( + Array.isArray(t) && + (0 === t.length || "number" == typeof t[0]) + ); + } + function _(t) { + return !(!Array.isArray(t) || 0 === t.length || !m(t[0])); + } + function w(t) { + return Object.prototype.toString.call(t); + } + function T(t) { + if (!t) return !1; + var e = w(t); + return 0 <= xt.indexOf(e) || b(t) || _(t) || u(t); + } + function k(t, e) { + 36193 === t.type + ? ((t.data = y(e)), J.freeType(e)) + : (t.data = e); + } + function A(t, e, r, n, i, a) { + if ( + ((t = void 0 !== _t[t] ? _t[t] : ht[t] * bt[e]), + a && (t *= 6), + i) + ) { + for (n = 0; 1 <= r; ) (n += t * r * r), (r /= 2); + return n; + } + return t * r * n; + } + function M(t, e, r, n, i, a, o) { + function s() { + (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 l(t, e) { + (t.internalformat = e.internalformat), + (t.format = e.format), + (t.type = e.type), + (t.compressed = e.compressed), + (t.premultiplyAlpha = e.premultiplyAlpha), + (t.flipY = e.flipY), + (t.unpackAlignment = e.unpackAlignment), + (t.colorSpace = e.colorSpace), + (t.width = e.width), + (t.height = e.height), + (t.channels = e.channels); + } + function 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 = V[e.colorSpace]), + "type" in e && (t.type = H[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 = q[r]), + (t.format = at[n]), + r in H && !("type" in e) && (t.type = H[r]), + r in Z && (t.compressed = !0), + (r = !0)), + !a && r + ? (t.channels = ht[t.format]) + : a && + !r && + t.channels !== ft[t.format] && + (t.format = t.internalformat = ft[t.channels]); + } + } + function f(e) { + t.pixelStorei(37440, e.flipY), + t.pixelStorei(37441, e.premultiplyAlpha), + t.pixelStorei(37443, e.colorSpace), + t.pixelStorei(3317, e.unpackAlignment); + } + function h() { + s.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 ( + (T(e) + ? (r = e) + : e && + (c(t, e), + "x" in e && (t.xOffset = 0 | e.x), + "y" in e && (t.yOffset = 0 | e.y), + T(e.data) && (r = e.data)), + e.copy) + ) { + var n = i.viewportWidth, + a = i.viewportHeight; + (t.width = t.width || n - t.xOffset), + (t.height = t.height || a - t.yOffset), + (t.needsCopy = !0); + } else if (r) { + if ($(r)) + (t.channels = t.channels || 4), + (t.data = r), + "type" in e || + 5121 !== t.type || + (t.type = + 0 | et[Object.prototype.toString.call(r)]); + else if (b(r)) { + switch ( + ((t.channels = t.channels || 4), + (a = (n = r).length), + t.type) + ) { + case 5121: + case 5123: + case 5125: + case 5126: + (a = J.allocType(t.type, a)).set(n), + (t.data = a); + break; + case 36193: + t.data = y(n); + } + (t.alignment = 1), (t.needsFree = !0); + } else if (u(r)) { + (n = r.data), + Array.isArray(n) || + 5121 !== t.type || + (t.type = + 0 | et[Object.prototype.toString.call(n)]), + (a = r.shape); + var o, + s, + l, + f, + h = r.stride; + 3 === a.length + ? ((l = a[2]), (f = h[2])) + : (f = l = 1), + (o = a[0]), + (s = a[1]), + (a = h[0]), + (h = h[1]), + (t.alignment = 1), + (t.width = o), + (t.height = s), + (t.channels = l), + (t.format = t.internalformat = ft[l]), + (t.needsFree = !0), + (o = f), + (r = r.offset), + (l = t.width), + (f = t.height), + (s = t.channels); + for ( + var p = J.allocType( + 36193 === t.type ? 5126 : t.type, + l * f * s, + ), + d = 0, + v = 0; + v < f; + ++v + ) + for (var g = 0; g < l; ++g) + for (var x = 0; x < s; ++x) + p[d++] = n[a * g + h * v + o * x + r]; + k(t, p); + } else if (w(r) === pt || w(r) === dt || w(r) === vt) + w(r) === pt || w(r) === dt + ? (t.element = r) + : (t.element = r.canvas), + (t.width = t.element.width), + (t.height = t.element.height), + (t.channels = 4); + else if (w(r) === gt) + (t.element = r), + (t.width = r.width), + (t.height = r.height), + (t.channels = 4); + else if (w(r) === yt) + (t.element = r), + (t.width = r.naturalWidth), + (t.height = r.naturalHeight), + (t.channels = 4); + else if (w(r) === mt) + (t.element = r), + (t.width = r.videoWidth), + (t.height = r.videoHeight), + (t.channels = 4); + else if (_(r)) { + for ( + n = t.width || r[0].length, + a = t.height || r.length, + h = t.channels, + h = m(r[0][0]) ? h || r[0][0].length : h || 1, + o = tt.shape(r), + l = 1, + f = 0; + f < o.length; + ++f + ) + l *= o[f]; + (l = J.allocType( + 36193 === t.type ? 5126 : t.type, + l, + )), + tt.flatten(r, o, "", l), + k(t, l), + (t.alignment = 1), + (t.width = n), + (t.height = a), + (t.channels = h), + (t.format = t.internalformat = ft[h]), + (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, + h = e.type, + p = e.width, + d = e.height; + f(e), + s + ? t.texSubImage2D(r, o, i, a, c, h, 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, h, l); + } + function v() { + return ot.pop() || new h(); + } + function g(t) { + t.needsFree && J.freeType(t.data), + h.call(t), + ot.push(t); + } + function x() { + s.call(this), + (this.genMipmaps = !1), + (this.mipmapHint = 4352), + (this.mipmask = 0), + (this.images = Array(16)); + } + function M(t, e, r) { + var n = (t.images[0] = v()); + (t.mipmask = 1), + (n.width = t.width = e), + (n.height = t.height = r), + (n.channels = t.channels = 4); + } + function S(t, e) { + var r = null; + if (T(e)) + l((r = t.images[0] = v()), 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) + l((r = t.images[i] = v()), t), + (r.width >>= i), + (r.height >>= i), + p(r, n[i]), + (t.mipmask |= 1 << i); + else + l((r = t.images[0] = v()), t), + p(r, e), + (t.mipmask = 1); + l(t, t.images[0]); + } + function E(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, + h = o.internalformat, + p = o.format, + d = o.type, + v = o.width, + g = o.height; + f(o), + u + ? t.texImage2D(s, l, p, p, d, u) + : o.compressed + ? t.compressedTexImage2D(s, l, h, v, g, 0, c) + : o.needsCopy + ? (n(), + t.copyTexImage2D( + s, + l, + p, + o.xOffset, + o.yOffset, + v, + g, + 0, + )) + : t.texImage2D(s, l, p, v, g, 0, p, d, c || null); + } + } + function L() { + var t = st.pop() || new x(); + s.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] && g(e[r]), (e[r] = null); + st.push(t); + } + function P() { + (this.magFilter = this.minFilter = 9728), + (this.wrapT = this.wrapS = 33071), + (this.anisotropic = 1), + (this.genMipmaps = !1), + (this.mipmapHint = 4352); + } + function O(t, e) { + "min" in e && + ((t.minFilter = U[e.min]), + 0 <= ct.indexOf(t.minFilter) && + !("faces" in e) && + (t.genMipmaps = !0)), + "mag" in e && (t.magFilter = j[e.mag]); + var r = t.wrapS, + n = t.wrapT; + if ("wrap" in e) { + var i = e.wrap; + "string" == typeof i + ? (r = n = N[i]) + : Array.isArray(i) && + ((r = N[i[0]]), (n = N[i[1]])); + } else + "wrapS" in e && (r = N[e.wrapS]), + "wrapT" in e && (n = N[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 = B[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 I(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 D(e) { + s.call(this), + (this.mipmask = 0), + (this.internalformat = 6408), + (this.id = lt++), + (this.refCount = 1), + (this.target = e), + (this.texture = t.createTexture()), + (this.unit = -1), + (this.bindCount = 0), + (this.texInfo = new P()), + o.profile && (this.stats = { size: 0 }); + } + function z(e) { + t.activeTexture(33984), + t.bindTexture(e.target, e.texture); + } + function R() { + var e = bt[0]; + e + ? t.bindTexture(e.target, e.texture) + : t.bindTexture(3553, null); + } + function F(e) { + var r = e.texture, + n = e.unit, + i = e.target; + 0 <= n && + (t.activeTexture(33984 + n), + t.bindTexture(i, null), + (bt[n] = null)), + t.deleteTexture(r), + (e.texture = null), + (e.params = null), + (e.pixels = null), + (e.refCount = 0), + delete ut[e.id], + a.textureCount--; + } + var B = { + "don't care": 4352, + "dont care": 4352, + nice: 4354, + fast: 4353, + }, + N = { repeat: 10497, clamp: 33071, mirror: 33648 }, + j = { nearest: 9728, linear: 9729 }, + U = G( + { + mipmap: 9987, + "nearest mipmap nearest": 9984, + "linear mipmap nearest": 9985, + "nearest mipmap linear": 9986, + "linear mipmap linear": 9987, + }, + j, + ), + V = { none: 0, browser: 37444 }, + H = { + uint8: 5121, + rgba4: 32819, + rgb565: 33635, + "rgb5 a1": 32820, + }, + q = { + alpha: 6406, + luminance: 6409, + "luminance alpha": 6410, + rgb: 6407, + rgba: 6408, + rgba4: 32854, + "rgb5 a1": 32855, + rgb565: 36194, + }, + Z = {}; + e.ext_srgb && ((q.srgb = 35904), (q.srgba = 35906)), + e.oes_texture_float && (H.float32 = H.float = 5126), + e.oes_texture_half_float && + (H.float16 = H["half float"] = 36193), + e.webgl_depth_texture && + (G(q, { depth: 6402, "depth stencil": 34041 }), + G(H, { + uint16: 5123, + uint32: 5125, + "depth stencil": 34042, + })), + e.webgl_compressed_texture_s3tc && + G(Z, { + "rgb s3tc dxt1": 33776, + "rgba s3tc dxt1": 33777, + "rgba s3tc dxt3": 33778, + "rgba s3tc dxt5": 33779, + }), + e.webgl_compressed_texture_atc && + G(Z, { + "rgb atc": 35986, + "rgba atc explicit alpha": 35987, + "rgba atc interpolated alpha": 34798, + }), + e.webgl_compressed_texture_pvrtc && + G(Z, { + "rgb pvrtc 4bppv1": 35840, + "rgb pvrtc 2bppv1": 35841, + "rgba pvrtc 4bppv1": 35842, + "rgba pvrtc 2bppv1": 35843, + }), + e.webgl_compressed_texture_etc1 && + (Z["rgb etc1"] = 36196); + var Y = Array.prototype.slice.call(t.getParameter(34467)); + Object.keys(Z).forEach(function (t) { + var e = Z[t]; + 0 <= Y.indexOf(e) && (q[t] = e); + }); + var W = Object.keys(q); + r.textureFormats = W; + var X = []; + Object.keys(q).forEach(function (t) { + X[q[t]] = t; + }); + var K = []; + Object.keys(H).forEach(function (t) { + K[H[t]] = t; + }); + var rt = []; + Object.keys(j).forEach(function (t) { + rt[j[t]] = t; + }); + var nt = []; + Object.keys(U).forEach(function (t) { + nt[U[t]] = t; + }); + var it = []; + Object.keys(N).forEach(function (t) { + it[N[t]] = t; + }); + var at = W.reduce(function (t, r) { + var n = q[r]; + return ( + 6409 === n || + 6406 === n || + 6409 === n || + 6410 === n || + 6402 === n || + 34041 === n || + (e.ext_srgb && (35904 === n || 35906 === n)) + ? (t[n] = n) + : 32855 === n || 0 <= r.indexOf("rgba") + ? (t[n] = 6408) + : (t[n] = 6407), + t + ); + }, {}), + ot = [], + st = [], + lt = 0, + ut = {}, + xt = r.maxTextureUnits, + bt = Array(xt).map(function () { + return null; + }); + return ( + G(D.prototype, { + bind: function () { + this.bindCount += 1; + var e = this.unit; + if (0 > e) { + for (var r = 0; r < xt; ++r) { + var n = bt[r]; + if (n) { + if (0 < n.bindCount) continue; + n.unit = -1; + } + (bt[r] = this), (e = r); + break; + } + o.profile && + a.maxTextureUnits < e + 1 && + (a.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 && F(this); + }, + }), + o.profile && + (a.getTotalTextureSize = function () { + var t = 0; + return ( + Object.keys(ut).forEach(function (e) { + t += ut[e].stats.size; + }), + t + ); + }), + { + create2D: function (e, r) { + function n(t, e) { + var r = i.texInfo; + P.call(r); + var a = L(); + return ( + "number" == typeof t + ? M( + a, + 0 | t, + "number" == typeof e ? 0 | e : 0 | t, + ) + : t + ? (O(r, t), S(a, t)) + : M(a, 1, 1), + r.genMipmaps && + (a.mipmask = (a.width << 1) - 1), + (i.mipmask = a.mipmask), + l(i, a), + (i.internalformat = a.internalformat), + (n.width = a.width), + (n.height = a.height), + z(i), + E(a, 3553), + I(r, 3553), + R(), + C(a), + o.profile && + (i.stats.size = A( + i.internalformat, + i.type, + a.width, + a.height, + r.genMipmaps, + !1, + )), + (n.format = X[i.internalformat]), + (n.type = K[i.type]), + (n.mag = rt[r.magFilter]), + (n.min = nt[r.minFilter]), + (n.wrapS = it[r.wrapS]), + (n.wrapT = it[r.wrapT]), + n + ); + } + var i = new D(3553); + return ( + (ut[i.id] = i), + a.textureCount++, + n(e, r), + (n.subimage = function (t, e, r, a) { + (e |= 0), (r |= 0), (a |= 0); + var o = v(); + return ( + l(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), + z(i), + d(o, 3553, e, r, a), + R(), + g(o), + n + ); + }), + (n.resize = function (e, r) { + var a = 0 | e, + s = 0 | r || a; + if (a === i.width && s === i.height) return n; + (n.width = i.width = a), + (n.height = i.height = s), + z(i); + for (var l = 0; i.mipmask >> l; ++l) { + var u = a >> l, + c = s >> l; + if (!u || !c) break; + t.texImage2D( + 3553, + l, + i.format, + u, + c, + 0, + i.format, + i.type, + null, + ); + } + return ( + R(), + o.profile && + (i.stats.size = A( + i.internalformat, + i.type, + a, + s, + !1, + !1, + )), + n + ); + }), + (n._reglType = "texture2d"), + (n._texture = i), + o.profile && (n.stats = i.stats), + (n.destroy = function () { + i.decRef(); + }), + n + ); + }, + createCube: function (e, r, n, i, s, u) { + function f(t, e, r, n, i, a) { + var s, + u = h.texInfo; + for (P.call(u), s = 0; 6 > s; ++s) y[s] = L(); + if ("number" != typeof t && t) { + if ("object" == typeof t) + if (e) + S(y[0], t), + S(y[1], e), + S(y[2], r), + S(y[3], n), + S(y[4], i), + S(y[5], a); + else if ((O(u, t), c(h, t), "faces" in t)) + for (t = t.faces, s = 0; 6 > s; ++s) + l(y[s], h), S(y[s], t[s]); + else for (s = 0; 6 > s; ++s) S(y[s], t); + } else + for (t = 0 | t || 1, s = 0; 6 > s; ++s) + M(y[s], t, t); + for ( + l(h, y[0]), + h.mipmask = u.genMipmaps + ? (y[0].width << 1) - 1 + : y[0].mipmask, + h.internalformat = y[0].internalformat, + f.width = y[0].width, + f.height = y[0].height, + z(h), + s = 0; + 6 > s; + ++s + ) + E(y[s], 34069 + s); + for ( + I(u, 34067), + R(), + o.profile && + (h.stats.size = A( + h.internalformat, + h.type, + f.width, + f.height, + u.genMipmaps, + !0, + )), + f.format = X[h.internalformat], + f.type = K[h.type], + f.mag = rt[u.magFilter], + f.min = nt[u.minFilter], + f.wrapS = it[u.wrapS], + f.wrapT = it[u.wrapT], + s = 0; + 6 > s; + ++s + ) + C(y[s]); + return f; + } + var h = new D(34067); + (ut[h.id] = h), a.cubeCount++; + var y = Array(6); + return ( + f(e, r, n, i, s, u), + (f.subimage = function (t, e, r, n, i) { + (r |= 0), (n |= 0), (i |= 0); + var a = v(); + return ( + l(a, h), + (a.width = 0), + (a.height = 0), + p(a, e), + (a.width = a.width || (h.width >> i) - r), + (a.height = a.height || (h.height >> i) - n), + z(h), + d(a, 34069 + t, r, n, i), + R(), + g(a), + f + ); + }), + (f.resize = function (e) { + if ((e |= 0) !== h.width) { + (f.width = h.width = e), + (f.height = h.height = e), + z(h); + for (var r = 0; 6 > r; ++r) + for (var n = 0; h.mipmask >> n; ++n) + t.texImage2D( + 34069 + r, + n, + h.format, + e >> n, + e >> n, + 0, + h.format, + h.type, + null, + ); + return ( + R(), + o.profile && + (h.stats.size = A( + h.internalformat, + h.type, + f.width, + f.height, + !1, + !0, + )), + f + ); + } + }), + (f._reglType = "textureCube"), + (f._texture = h), + o.profile && (f.stats = h.stats), + (f.destroy = function () { + h.decRef(); + }), + f + ); + }, + clear: function () { + for (var e = 0; e < xt; ++e) + t.activeTexture(33984 + e), + t.bindTexture(3553, null), + (bt[e] = null); + Q(ut).forEach(F), + (a.cubeCount = 0), + (a.textureCount = 0); + }, + getTexture: function (t) { + return null; + }, + restore: function () { + for (var e = 0; e < xt; ++e) { + var r = bt[e]; + r && + ((r.bindCount = 0), + (r.unit = -1), + (bt[e] = null)); + } + Q(ut).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, + ); + I(e.texInfo, e.target); + }); + }, + refresh: function () { + for (var e = 0; e < xt; ++e) { + var r = bt[e]; + r && + ((r.bindCount = 0), + (r.unit = -1), + (bt[e] = null)), + t.activeTexture(33984 + e), + t.bindTexture(3553, null), + t.bindTexture(34067, null); + } + }, + } + ); + } + function S(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) || + "textureCube" === t + ? (r = i) + : "renderbuffer" === t && ((n = i), (e = 36161)), + new o(e, r, n) + ); + } + function f(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 h(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), + (t.width = e), + (t.height = r)); + } + function d() { + (this.id = T++), + (k[this.id] = this), + (this.framebuffer = t.createFramebuffer()), + (this.height = this.width = 0), + (this.colorAttachments = []), + (this.depthStencilAttachment = + this.stencilAttachment = + this.depthAttachment = + null); + } + function v(t) { + t.colorAttachments.forEach(s), + s(t.depthAttachment), + s(t.stencilAttachment), + s(t.depthStencilAttachment); + } + function g(e) { + t.deleteFramebuffer(e.framebuffer), + (e.framebuffer = null), + a.framebufferCount--, + delete k[e.id]; + } + function y(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.isContextLost(), + t.bindFramebuffer( + 36160, + x.next ? x.next.framebuffer : null, + ), + (x.cur = x.next), + t.getError(); + } + function m(t, e) { + function r(t, e) { + var i, + a = 0, + o = 0, + s = !0, + u = !0; + i = null; + var p = !0, + d = "rgba", + g = "uint8", + m = 1, + x = null, + w = null, + T = null, + k = !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 && (m = 0 | t.colorCount), + "colorTexture" in t && + ((p = !!t.colorTexture), (d = "rgba4")), + "colorType" in t && + ((g = t.colorType), !p) && + ("half float" === g || "float16" === g + ? (d = "rgba16f") + : ("float" !== g && "float32" !== g) || + (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) && + (k = !( + !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) + : ((T = t.depthStencil), (u = s = !1)))) + : (a = o = 1); + var A = null, + M = null, + S = null, + E = null; + if (Array.isArray(i)) A = i.map(c); + else if (i) A = [c(i)]; + else + for (A = Array(m), i = 0; i < m; ++i) + A[i] = f(a, o, p, d, g); + for ( + a = a || A[0].width, + o = o || A[0].height, + x + ? (M = c(x)) + : s && + !u && + (M = f(a, o, k, "depth", "uint32")), + w + ? (S = c(w)) + : u && + !s && + (S = f(a, o, !1, "stencil", "uint8")), + T + ? (E = c(T)) + : !x && + !w && + u && + s && + (E = f( + a, + o, + k, + "depth stencil", + "depth stencil", + )), + s = null, + i = 0; + i < A.length; + ++i + ) + l(A[i]), + A[i] && + A[i].texture && + ((u = + kt[A[i].texture._texture.format] * + At[A[i].texture._texture.type]), + null === s && (s = u)); + return ( + l(M), + l(S), + l(E), + v(n), + (n.width = a), + (n.height = o), + (n.colorAttachments = A), + (n.depthAttachment = M), + (n.stencilAttachment = S), + (n.depthStencilAttachment = E), + (r.color = A.map(h)), + (r.depth = h(M)), + (r.stencil = h(S)), + (r.depthStencil = h(E)), + (r.width = n.width), + (r.height = n.height), + y(n), + r + ); + } + var n = new d(); + return ( + a.framebufferCount++, + r(t, e), + G(r, { + resize: function (t, e) { + var i = Math.max(0 | t, 1), + a = Math.max(0 | e || i, 1); + 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), + y(n), + r + ); + }, + _reglType: "framebuffer", + _framebuffer: n, + destroy: function () { + g(n), v(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 T = 0, + k = {}; + return G(x, { + getFramebuffer: function (t) { + return "function" == typeof t && + "framebuffer" === t._reglType && + (t = t._framebuffer) instanceof d + ? t + : null; + }, + create: m, + 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] = m(a)); + } + return G(e, { width: o, height: o, color: t }); + } + var r = Array(6); + return ( + e(t), + G(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 () { + Q(k).forEach(g); + }, + restore: function () { + (x.cur = null), + (x.next = null), + (x.dirty = !0), + Q(k).forEach(function (e) { + (e.framebuffer = t.createFramebuffer()), y(e); + }); + }, + }); + } + function E() { + (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 L(t, e, r, n, i, a, o) { + function s() { + (this.id = ++f), + (this.attributes = []), + (this.elements = null), + (this.ownsElements = !1), + (this.offset = this.count = 0), + (this.instances = -1), + (this.primitive = 4); + var t = e.oes_vertex_array_object; + (this.vao = t ? t.createVertexArrayOES() : null), + (h[this.id] = this), + (this.buffers = []); + } + var l = r.maxAttributes, + c = Array(l); + for (r = 0; r < l; ++r) c[r] = new E(); + var f = 0, + h = {}, + p = { + Record: E, + scope: {}, + state: c, + currentVAO: null, + targetVAO: null, + restore: e.oes_vertex_array_object + ? function () { + e.oes_vertex_array_object && + Q(h).forEach(function (t) { + t.refresh(); + }); + } + : function () {}, + createVAO: function (t) { + function e(t) { + var n; + Array.isArray(t) + ? ((n = t), + r.elements && + r.ownsElements && + r.elements.destroy(), + (r.elements = null), + (r.ownsElements = !1), + (r.offset = 0), + (r.count = 0), + (r.instances = -1), + (r.primitive = 4)) + : (t.elements + ? ((n = t.elements), + r.ownsElements + ? ("function" == typeof n && + "elements" === n._reglType + ? r.elements.destroy() + : r.elements(n), + (r.ownsElements = !1)) + : a.getElements(t.elements) + ? ((r.elements = t.elements), + (r.ownsElements = !1)) + : ((r.elements = a.create(t.elements)), + (r.ownsElements = !0))) + : ((r.elements = null), + (r.ownsElements = !1)), + (n = t.attributes), + (r.offset = 0), + (r.count = -1), + (r.instances = -1), + (r.primitive = 4), + r.elements && + ((r.count = r.elements._elements.vertCount), + (r.primitive = + r.elements._elements.primType)), + "offset" in t && (r.offset = 0 | t.offset), + "count" in t && (r.count = 0 | t.count), + "instances" in t && + (r.instances = 0 | t.instances), + "primitive" in t && + (r.primitive = st[t.primitive])), + (t = {}); + var o = r.attributes; + o.length = n.length; + for (var s = 0; s < n.length; ++s) { + var l, + c = n[s], + f = (o[s] = new E()), + h = c.data || c; + Array.isArray(h) || $(h) || u(h) + ? (r.buffers[s] && + ((l = r.buffers[s]), + $(h) && + l._buffer.byteLength >= h.byteLength + ? l.subdata(h) + : (l.destroy(), (r.buffers[s] = null))), + r.buffers[s] || + (l = r.buffers[s] = + i.create(c, 34962, !1, !0)), + (f.buffer = i.getBuffer(l)), + (f.size = 0 | f.buffer.dimension), + (f.normalized = !1), + (f.type = f.buffer.dtype), + (f.offset = 0), + (f.stride = 0), + (f.divisor = 0), + (f.state = 1), + (t[s] = 1)) + : i.getBuffer(c) + ? ((f.buffer = i.getBuffer(c)), + (f.size = 0 | f.buffer.dimension), + (f.normalized = !1), + (f.type = f.buffer.dtype), + (f.offset = 0), + (f.stride = 0), + (f.divisor = 0), + (f.state = 1)) + : i.getBuffer(c.buffer) + ? ((f.buffer = i.getBuffer(c.buffer)), + (f.size = + 0 | (+c.size || f.buffer.dimension)), + (f.normalized = !!c.normalized || !1), + (f.type = + "type" in c + ? rt[c.type] + : f.buffer.dtype), + (f.offset = 0 | (c.offset || 0)), + (f.stride = 0 | (c.stride || 0)), + (f.divisor = 0 | (c.divisor || 0)), + (f.state = 1)) + : "x" in c && + ((f.x = +c.x || 0), + (f.y = +c.y || 0), + (f.z = +c.z || 0), + (f.w = +c.w || 0), + (f.state = 2)); + } + for (l = 0; l < r.buffers.length; ++l) + !t[l] && + r.buffers[l] && + (r.buffers[l].destroy(), + (r.buffers[l] = null)); + return r.refresh(), e; + } + var r = new s(); + return ( + (n.vaoCount += 1), + (e.destroy = function () { + for (var t = 0; t < r.buffers.length; ++t) + r.buffers[t] && r.buffers[t].destroy(); + (r.buffers.length = 0), + r.ownsElements && + (r.elements.destroy(), + (r.elements = null), + (r.ownsElements = !1)), + r.destroy(); + }), + (e._vao = r), + (e._reglType = "vao"), + e(t) + ); + }, + getVAO: function (t) { + return "function" == typeof t && t._vao + ? t._vao + : null; + }, + destroyBuffer: function (e) { + for (var r = 0; r < c.length; ++r) { + var n = c[r]; + n.buffer === e && + (t.disableVertexAttribArray(r), + (n.buffer = null)); + } + }, + setVAO: e.oes_vertex_array_object + ? function (t) { + if (t !== p.currentVAO) { + var r = e.oes_vertex_array_object; + t + ? r.bindVertexArrayOES(t.vao) + : r.bindVertexArrayOES(null), + (p.currentVAO = t); + } + } + : function (r) { + if (r !== p.currentVAO) { + if (r) r.bindAttrs(); + else { + for ( + var n = e.angle_instanced_arrays, i = 0; + i < c.length; + ++i + ) { + var a = c[i]; + a.buffer + ? (t.enableVertexAttribArray(i), + a.buffer.bind(), + t.vertexAttribPointer( + i, + a.size, + a.type, + a.normalized, + a.stride, + a.offfset, + ), + n && + a.divisor && + n.vertexAttribDivisorANGLE( + i, + a.divisor, + )) + : (t.disableVertexAttribArray(i), + t.vertexAttrib4f( + i, + a.x, + a.y, + a.z, + a.w, + )); + } + o.elements + ? t.bindBuffer( + 34963, + o.elements.buffer.buffer, + ) + : t.bindBuffer(34963, null); + } + p.currentVAO = r; + } + }, + clear: e.oes_vertex_array_object + ? function () { + Q(h).forEach(function (t) { + t.destroy(); + }); + } + : function () {}, + }; + return ( + (s.prototype.bindAttrs = function () { + for ( + var r = e.angle_instanced_arrays, + n = this.attributes, + i = 0; + i < n.length; + ++i + ) { + var o = n[i]; + o.buffer + ? (t.enableVertexAttribArray(i), + t.bindBuffer(34962, o.buffer.buffer), + t.vertexAttribPointer( + i, + o.size, + o.type, + o.normalized, + o.stride, + o.offset, + ), + r && + o.divisor && + r.vertexAttribDivisorANGLE(i, o.divisor)) + : (t.disableVertexAttribArray(i), + t.vertexAttrib4f(i, o.x, o.y, o.z, o.w)); + } + for (r = n.length; r < l; ++r) + t.disableVertexAttribArray(r); + (r = a.getElements(this.elements)) + ? t.bindBuffer(34963, r.buffer.buffer) + : t.bindBuffer(34963, null); + }), + (s.prototype.refresh = function () { + var t = e.oes_vertex_array_object; + t && + (t.bindVertexArrayOES(this.vao), + this.bindAttrs(), + (p.currentVAO = null), + t.bindVertexArrayOES(null)); + }), + (s.prototype.destroy = function () { + if (this.vao) { + var t = e.oes_vertex_array_object; + this === p.currentVAO && + ((p.currentVAO = null), + t.bindVertexArrayOES(null)), + t.deleteVertexArrayOES(this.vao), + (this.vao = null); + } + this.ownsElements && + (this.elements.destroy(), + (this.elements = null), + (this.ownsElements = !1)), + h[this.id] && (delete h[this.id], --n.vaoCount); + }), + p + ); + } + function C(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 = []), + (this.refCount = 1), + n.profile && + (this.stats = { + uniformsCount: 0, + attributesCount: 0, + }); + } + function l(r, s, l) { + var u; + u = o(35632, r.fragId); + var c = o(35633, r.vertId); + if ( + ((s = r.program = t.createProgram()), + t.attachShader(s, u), + t.attachShader(s, c), + l) + ) + for (u = 0; u < l.length; ++u) + (c = l[u]), t.bindAttribLocation(s, c[0], c[1]); + t.linkProgram(s), + (c = t.getProgramParameter(s, 35718)), + n.profile && (r.stats.uniformsCount = c); + var f = r.uniforms; + for (u = 0; u < c; ++u) + if ((l = t.getActiveUniform(s, u))) + if (1 < l.size) + for (var h = 0; h < l.size; ++h) { + var p = l.name.replace("[0]", "[" + h + "]"); + a( + f, + new i( + p, + e.id(p), + t.getUniformLocation(s, p), + l, + ), + ); + } + else + a( + f, + new i( + l.name, + e.id(l.name), + t.getUniformLocation(s, l.name), + l, + ), + ); + for ( + c = t.getProgramParameter(s, 35721), + n.profile && (r.stats.attributesCount = c), + r = r.attributes, + u = 0; + u < c; + ++u + ) + (l = t.getActiveAttrib(s, u)) && + a( + r, + new i( + l.name, + e.id(l.name), + t.getAttribLocation(s, l.name), + l, + ), + ); + } + var u = {}, + c = {}, + f = {}, + h = [], + p = 0; + return ( + n.profile && + ((r.getMaxUniformsCount = function () { + var t = 0; + return ( + h.forEach(function (e) { + e.stats.uniformsCount > t && + (t = e.stats.uniformsCount); + }), + t + ); + }), + (r.getMaxAttributesCount = function () { + var t = 0; + return ( + h.forEach(function (e) { + e.stats.attributesCount > t && + (t = e.stats.attributesCount); + }), + t + ); + })), + { + clear: function () { + var e = t.deleteShader.bind(t); + Q(u).forEach(e), + (u = {}), + Q(c).forEach(e), + (c = {}), + h.forEach(function (e) { + t.deleteProgram(e.program); + }), + (h.length = 0), + (f = {}), + (r.shaderCount = 0); + }, + program: function (e, n, i, a) { + var o = f[n]; + o || (o = f[n] = {}); + var p = o[e]; + if (p && (p.refCount++, !a)) return p; + var d = new s(n, e); + return ( + r.shaderCount++, + l(d, i, a), + p || (o[e] = d), + h.push(d), + G(d, { + destroy: function () { + if ((d.refCount--, 0 >= d.refCount)) { + t.deleteProgram(d.program); + var e = h.indexOf(d); + h.splice(e, 1), r.shaderCount--; + } + 0 >= o[d.vertId].refCount && + (t.deleteShader(c[d.vertId]), + delete c[d.vertId], + delete f[d.fragId][d.vertId]), + Object.keys(f[d.fragId]).length || + (t.deleteShader(u[d.fragId]), + delete u[d.fragId], + delete f[d.fragId]); + }, + }) + ); + }, + restore: function () { + (u = {}), (c = {}); + for (var t = 0; t < h.length; ++t) + l( + h[t], + null, + h[t].attributes.map(function (t) { + return [t.location, t.name]; + }), + ); + }, + shader: o, + frag: -1, + vert: -1, + } + ); + } + function P(t, e, r, n, i, a, o) { + function s(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 ( + $(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 = s(t); + }, + ), + r + ); + })(t) + : s(t); + }; + } + function O(t, e) { + return (t >>> e) | (t << (32 - e)); + } + function I(t, e) { + var r = (65535 & t) + (65535 & e); + return ( + (((t >> 16) + (e >> 16) + (r >> 16)) << 16) | + (65535 & r) + ); + } + function D(t) { + return Array.prototype.slice.call(t); + } + function z(t) { + return D(t).join(""); + } + function R(t) { + function e() { + var t = [], + e = []; + return G( + function () { + t.push.apply(t, D(arguments)); + }, + { + def: function () { + var r = "v" + i++; + return ( + e.push(r), + 0 < arguments.length && + (t.push(r, "="), + t.push.apply(t, D(arguments)), + t.push(";")), + r + ); + }, + toString: function () { + return z([ + 0 < e.length ? "var " + e.join(",") + ";" : "", + z(t), + ]); + }, + }, + ); + } + function r() { + function t(t, e) { + n(t, e, "=", r.def(t, e), ";"); + } + var r = e(), + n = e(), + i = r.toString, + a = n.toString; + return G( + function () { + r.apply(r, D(arguments)); + }, + { + def: r.def, + entry: r, + exit: n, + save: t, + set: function (e, n, i) { + t(e, n), r(e, n, "=", i, ";"); + }, + toString: function () { + return i() + a(); + }, + }, + ); + } + var n = t && t.cache, + i = 0, + a = [], + o = [], + s = [], + l = e(), + u = {}; + return { + global: l, + link: function (t, e) { + var r = e && e.stable; + if (!r) + for (var n = 0; n < o.length; ++n) + if (o[n] === t && !s[n]) return a[n]; + return ( + (n = "g" + i++), a.push(n), o.push(t), s.push(r), n + ); + }, + block: e, + proc: function (t, e) { + function n() { + var t = "a" + i.length; + return i.push(t), t; + } + var i = []; + e = e || 0; + for (var a = 0; a < e; ++a) n(); + var o = (a = r()).toString; + return (u[t] = G(a, { + arg: n, + toString: function () { + return z(["function(", i.join(), "){", o(), "}"]); + }, + })); + }, + scope: r, + cond: function () { + var t = z(arguments), + e = r(), + n = r(), + i = e.toString, + a = n.toString; + return G(e, { + then: function () { + return e.apply(e, D(arguments)), this; + }, + else: function () { + return n.apply(n, D(arguments)), this; + }, + toString: function () { + var e = a(); + return ( + e && (e = "else{" + e + "}"), + z(["if(", t, "){", i(), "}", e]) + ); + }, + }); + }, + compile: function () { + var t = ['"use strict";', l, "return {"]; + Object.keys(u).forEach(function (e) { + t.push('"', e, '":', u[e].toString(), ","); + }), + t.push("}"); + var e, + r = z(t) + .replace(/;/g, ";\n") + .replace(/}/g, "}\n") + .replace(/{/g, "{\n"); + return n && + ((e = (function (t) { + for (var e, r = "", n = 0; n < t.length; n++) + (e = t.charCodeAt(n)), + (r += + "0123456789abcdef".charAt((e >>> 4) & 15) + + "0123456789abcdef".charAt(15 & e)); + return r; + })( + (function (t) { + for ( + var e = Array(t.length >> 2), r = 0; + r < e.length; + r++ + ) + e[r] = 0; + for (r = 0; r < 8 * t.length; r += 8) + e[r >> 5] |= + (255 & t.charCodeAt(r / 8)) << + (24 - (r % 32)); + var n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d = 8 * t.length; + for ( + t = [ + 1779033703, -1150833019, 1013904242, + -1521486534, 1359893119, -1694144372, + 528734635, 1541459225, + ], + r = Array(64), + e[d >> 5] |= 128 << (24 - (d % 32)), + e[15 + (((d + 64) >> 9) << 4)] = d, + c = 0; + c < e.length; + c += 16 + ) { + for ( + d = t[0], + n = t[1], + i = t[2], + a = t[3], + o = t[4], + s = t[5], + l = t[6], + u = t[7], + f = 0; + 64 > f; + f++ + ) { + var v; + 16 > f + ? (r[f] = e[f + c]) + : ((h = f), + (p = I( + (p = + O((p = r[f - 2]), 17) ^ + O(p, 19) ^ + (p >>> 10)), + r[f - 7], + )), + (v = + O((v = r[f - 15]), 7) ^ + O(v, 18) ^ + (v >>> 3)), + (r[h] = I(I(p, v), r[f - 16]))), + (h = I( + I( + I( + I( + u, + (h = + O((h = o), 6) ^ + O(h, 11) ^ + O(h, 25)), + ), + (o & s) ^ (~o & l), + ), + Mt[f], + ), + r[f], + )), + (p = I( + (u = + O((u = d), 2) ^ O(u, 13) ^ O(u, 22)), + (d & n) ^ (d & i) ^ (n & i), + )), + (u = l), + (l = s), + (s = o), + (o = I(a, h)), + (a = i), + (i = n), + (n = d), + (d = I(h, p)); + } + (t[0] = I(d, t[0])), + (t[1] = I(n, t[1])), + (t[2] = I(i, t[2])), + (t[3] = I(a, t[3])), + (t[4] = I(o, t[4])), + (t[5] = I(s, t[5])), + (t[6] = I(l, t[6])), + (t[7] = I(u, t[7])); + } + for (e = "", r = 0; r < 32 * t.length; r += 8) + e += String.fromCharCode( + (t[r >> 5] >>> (24 - (r % 32))) & 255, + ); + return e; + })( + (function (t) { + for ( + var e, r, n = "", i = -1; + ++i < t.length; + + ) + (e = t.charCodeAt(i)), + (r = + i + 1 < t.length + ? t.charCodeAt(i + 1) + : 0), + 55296 <= e && + 56319 >= e && + 56320 <= r && + 57343 >= r && + ((e = + 65536 + + ((1023 & e) << 10) + + (1023 & r)), + i++), + 127 >= e + ? (n += String.fromCharCode(e)) + : 2047 >= e + ? (n += String.fromCharCode( + 192 | ((e >>> 6) & 31), + 128 | (63 & e), + )) + : 65535 >= e + ? (n += String.fromCharCode( + 224 | ((e >>> 12) & 15), + 128 | ((e >>> 6) & 63), + 128 | (63 & e), + )) + : 2097151 >= e && + (n += String.fromCharCode( + 240 | ((e >>> 18) & 7), + 128 | ((e >>> 12) & 63), + 128 | ((e >>> 6) & 63), + 128 | (63 & e), + )); + return n; + })(r), + ), + )), + n[e]) + ? n[e].apply(null, o) + : ((r = Function.apply(null, a.concat(r))), + n && (n[e] = r), + r.apply(null, o)); + }, + }; + } + function F(t) { + return Array.isArray(t) || $(t) || u(t); + } + function B(t) { + return t.sort(function (t, e) { + return "viewport" === t + ? -1 + : "viewport" === e + ? 1 + : t < e + ? -1 + : 1; + }); + } + function N(t, e, r, n) { + (this.thisDep = t), + (this.contextDep = e), + (this.propDep = r), + (this.append = n); + } + function j(t) { + return t && !(t.thisDep || t.contextDep || t.propDep); + } + function U(t) { + return new N(!1, !1, !1, t); + } + function V(t, e) { + var r = t.type; + if (0 === r) + return new N(!0, 1 <= (r = t.data.length), 2 <= r, e); + if (4 === r) + return new N( + (r = t.data).thisDep, + r.contextDep, + r.propDep, + e, + ); + if (5 === r) return new N(!1, !1, !1, e); + if (6 === r) { + for ( + var n = (r = !1), i = !1, a = 0; + a < t.data.length; + ++a + ) { + var o = t.data[a]; + 1 === o.type + ? (i = !0) + : 2 === o.type + ? (n = !0) + : 3 === o.type + ? (r = !0) + : 0 === o.type + ? ((r = !0), + 1 <= (o = o.data) && (n = !0), + 2 <= o && (i = !0)) + : 4 === o.type && + ((r = r || o.data.thisDep), + (n = n || o.data.contextDep), + (i = i || o.data.propDep)); + } + return new N(r, n, i, e); + } + return new N(3 === r, 2 === r, 1 === r, e); + } + function H(t, e, r, n, i, a, s, l, u, c, f, h, p, d, v, g) { + function y(t) { + return t.replace(".", "_"); + } + function x(t, e, r) { + var n = y(t); + at.push(t), (it[n] = nt[n] = !!r), (ot[n] = e); + } + function b(t, e, r) { + var n = y(t); + at.push(t), + Array.isArray(r) + ? ((nt[n] = r.slice()), (it[n] = r.slice())) + : (nt[n] = it[n] = r), + (lt[n] = e); + } + function _() { + var t = R({ cache: v }), + r = t.link, + n = t.global; + (t.id = ft++), (t.batchId = "0"); + var i = r(ut), + a = (t.shared = { props: "a0" }); + Object.keys(ut).forEach(function (t) { + a[t] = n.def(i, ".", t); + }); + var o = (t.next = {}), + s = (t.current = {}); + Object.keys(lt).forEach(function (t) { + Array.isArray(nt[t]) && + ((o[t] = n.def(a.next, ".", t)), + (s[t] = n.def(a.current, ".", t))); + }); + var l = (t.constants = {}); + Object.keys(ct).forEach(function (t) { + l[t] = n.def(JSON.stringify(ct[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; + case 5: + return n.data.toString(); + case 6: + return n.data.map(function (r) { + return t.invoke(e, r); + }); + } + }), + (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 K()), (u[t] = r(n)) + ); + }), + t + ); + } + function w(t, e) { + var r = t.static, + n = t.dynamic; + if ("framebuffer" in r) { + var i = r.framebuffer; + return i + ? ((i = l.getFramebuffer(i)), + U(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 + ); + })) + : U(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 V(a, function (t, e) { + var r = t.invoke(e, a), + n = t.shared, + i = n.framebuffer; + return ( + (r = e.def(i, ".getFramebuffer(", r, ")")), + 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 T(t, r, n) { + function i(t) { + if (t in a) { + var r = e.id(a[t]); + return ( + ((t = U(function () { + return r; + })).id = r), + t + ); + } + if (t in o) { + var n = o[t]; + return V(n, function (t, e) { + var r = t.invoke(e, n); + return e.def(t.shared.strings, ".id(", r, ")"); + }); + } + return null; + } + var a = t.static, + o = t.dynamic, + s = i("frag"), + l = i("vert"), + u = null; + return ( + j(s) && j(l) + ? ((u = f.program(l.id, s.id, null, n)), + (t = U(function (t, e) { + return t.link(u); + }))) + : (t = new N( + (s && s.thisDep) || (l && l.thisDep), + (s && s.contextDep) || (l && l.contextDep), + (s && s.propDep) || (l && l.propDep), + function (t, e) { + var r, + n, + i = t.shared.shader; + return ( + (r = s + ? s.append(t, e) + : e.def(i, ".", "frag")), + (n = l + ? l.append(t, e) + : e.def(i, ".", "vert")), + e.def(i + ".program(" + n + "," + r + ")") + ); + }, + )), + { frag: s, vert: l, progVar: t, program: u } + ); + } + function k(t, e) { + function r(t, e) { + if (t in n) { + var r = 0 | n[t]; + return ( + e ? (o.offset = r) : (o.instances = r), + U(function (t, n) { + return e && (t.OFFSET = r), r; + }) + ); + } + if (t in i) { + var a = i[t]; + return V(a, function (t, r) { + var n = t.invoke(r, a); + return e && (t.OFFSET = n), n; + }); + } + if (e) { + if (u) + return U(function (t, e) { + return (t.OFFSET = 0); + }); + if (s) + return new N( + l.thisDep, + l.contextDep, + l.propDep, + function (t, e) { + return e.def( + t.shared.vao + + ".currentVAO?" + + t.shared.vao + + ".currentVAO.offset:0", + ); + }, + ); + } else if (s) + return new N( + l.thisDep, + l.contextDep, + l.propDep, + function (t, e) { + return e.def( + t.shared.vao + + ".currentVAO?" + + t.shared.vao + + ".currentVAO.instances:-1", + ); + }, + ); + return null; + } + var n = t.static, + i = t.dynamic, + o = {}, + s = !1, + l = (function () { + if ("vao" in n) { + var t = n.vao; + return ( + null !== t && + null === c.getVAO(t) && + (t = c.createVAO(t)), + (s = !0), + (o.vao = t), + U(function (e) { + var r = c.getVAO(t); + return r ? e.link(r) : "null"; + }) + ); + } + if ("vao" in i) { + s = !0; + var e = i.vao; + return V(e, function (t, r) { + var n = t.invoke(r, e); + return r.def( + t.shared.vao + ".getVAO(" + n + ")", + ); + }); + } + return null; + })(), + u = !1, + f = (function () { + if ("elements" in n) { + var t = n.elements; + if (((o.elements = t), F(t))) { + var e = (o.elements = a.create(t, !0)); + (t = a.getElements(e)), (u = !0); + } else t && ((t = a.getElements(t)), (u = !0)); + return ( + (e = U(function (e, r) { + if (t) { + var n = e.link(t); + return (e.ELEMENTS = n); + } + return (e.ELEMENTS = null); + })), + (e.value = t), + e + ); + } + if ("elements" in i) { + u = !0; + var r = i.elements; + return V(r, function (t, e) { + var n = (i = t.shared).isBufferArgs, + i = i.elements, + a = t.invoke(e, r), + o = e.def("null"); + return ( + (n = e.def(n, "(", a, ")")), + (a = t + .cond(n) + .then(o, "=", i, ".createStream(", a, ");") + .else(o, "=", i, ".getElements(", a, ");")), + e.entry(a), + e.exit( + t + .cond(n) + .then(i, ".destroyStream(", o, ");"), + ), + (t.ELEMENTS = o) + ); + }); + } + return s + ? new N( + l.thisDep, + l.contextDep, + l.propDep, + function (t, e) { + return e.def( + t.shared.vao + + ".currentVAO?" + + t.shared.elements + + ".getElements(" + + t.shared.vao + + ".currentVAO.elements):null", + ); + }, + ) + : null; + })(), + h = r("offset", !0), + p = (function () { + if ("primitive" in n) { + var t = n.primitive; + return ( + (o.primitive = t), + U(function (e, r) { + return st[t]; + }) + ); + } + if ("primitive" in i) { + var e = i.primitive; + return V(e, function (t, r) { + var n = t.constants.primTypes, + i = t.invoke(r, e); + return r.def(n, "[", i, "]"); + }); + } + return u + ? j(f) + ? f.value + ? U(function (t, e) { + return e.def(t.ELEMENTS, ".primType"); + }) + : U(function () { + return 4; + }) + : new N( + f.thisDep, + f.contextDep, + f.propDep, + function (t, e) { + var r = t.ELEMENTS; + return e.def(r, "?", r, ".primType:", 4); + }, + ) + : s + ? new N( + l.thisDep, + l.contextDep, + l.propDep, + function (t, e) { + return e.def( + t.shared.vao + + ".currentVAO?" + + t.shared.vao + + ".currentVAO.primitive:4", + ); + }, + ) + : null; + })(), + d = (function () { + if ("count" in n) { + var t = 0 | n.count; + return ( + (o.count = t), + U(function () { + return t; + }) + ); + } + if ("count" in i) { + var e = i.count; + return V(e, function (t, r) { + return t.invoke(r, e); + }); + } + return u + ? j(f) + ? f + ? h + ? new N( + h.thisDep, + h.contextDep, + h.propDep, + function (t, e) { + return e.def( + t.ELEMENTS, + ".vertCount-", + t.OFFSET, + ); + }, + ) + : U(function (t, e) { + return e.def(t.ELEMENTS, ".vertCount"); + }) + : U(function () { + return -1; + }) + : new N( + f.thisDep || h.thisDep, + f.contextDep || h.contextDep, + f.propDep || h.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"); + }, + ) + : s + ? new N( + l.thisDep, + l.contextDep, + l.propDep, + function (t, e) { + return e.def( + t.shared.vao, + ".currentVAO?", + t.shared.vao, + ".currentVAO.count:-1", + ); + }, + ) + : null; + })(), + v = r("instances", !1); + return { + elements: f, + primitive: p, + count: d, + instances: v, + offset: h, + vao: l, + vaoActive: s, + elementsActive: u, + static: o, + }; + } + 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 K(); + if (F(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 ("constant" in r) { + var l = r.constant; + (s.buffer = "null"), + (s.state = 2), + "number" == typeof l + ? (s.x = l) + : St.forEach(function (t, e) { + e < l.length && (s[t] = l[e]); + }); + } else { + var u = F(r.buffer) + ? i.getBuffer( + i.create(r.buffer, 34962, !1, !0), + ) + : i.getBuffer(r.buffer), + c = 0 | r.offset, + f = 0 | r.stride, + h = 0 | r.size, + p = !!r.normalized, + d = 0; + "type" in r && (d = rt[r.type]), + (r = 0 | r.divisor), + (s.buffer = u), + (s.state = 1), + (s.size = h), + (s.normalized = p), + (s.type = d || u.dtype), + (s.offset = c), + (s.stride = f), + (s.divisor = r); + } + o[t] = U(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] = V(e, function (t, r) { + function n(t) { + r(l[t], "=", i, ".", t, "|0;"); + } + var i = t.invoke(r, e), + a = t.shared, + o = t.constants, + s = a.isBufferArgs, + l = ((a = a.buffer), { isStream: r.def(!1) }), + u = new K(); + (u.state = 1), + Object.keys(u).forEach(function (t) { + l[t] = r.def("" + u[t]); + }); + var c = l.buffer, + f = l.type; + return ( + r( + "if(", + s, + "(", + i, + ")){", + l.isStream, + "=true;", + c, + "=", + a, + ".createStream(", + 34962, + ",", + i, + ");", + f, + "=", + c, + ".dtype;", + "}else{", + c, + "=", + a, + ".getBuffer(", + i, + ");", + "if(", + c, + "){", + f, + "=", + c, + ".dtype;", + '}else if("constant" in ', + i, + "){", + l.state, + "=", + 2, + ";", + "if(typeof " + i + '.constant === "number"){', + l[St[0]], + "=", + i, + ".constant;", + St.slice(1) + .map(function (t) { + return l[t]; + }) + .join("="), + "=0;", + "}else{", + St.map(function (t, e) { + return ( + l[t] + + "=" + + i + + ".constant.length>" + + e + + "?" + + i + + ".constant[" + + e + + "]:0;" + ); + }).join(""), + "}}else{", + "if(", + s, + "(", + i, + ".buffer)){", + c, + "=", + a, + ".createStream(", + 34962, + ",", + i, + ".buffer);", + "}else{", + c, + "=", + a, + ".getBuffer(", + i, + ".buffer);", + "}", + f, + '="type" in ', + i, + "?", + o.glTypes, + "[", + i, + ".type]:", + c, + ".dtype;", + l.normalized, + "=!!", + i, + ".normalized;", + ), + n("size"), + n("offset"), + n("stride"), + n("divisor"), + r("}}"), + r.exit( + "if(", + l.isStream, + "){", + a, + ".destroyStream(", + c, + ");", + "}", + ), + l + ); + }); + }), + o + ); + } + function M(t, e, n, i, a) { + function s(t) { + var e = u[t]; + e && (h[t] = e); + } + var l = (function (t, e) { + if ( + "string" == typeof (r = t.static).frag && + "string" == typeof r.vert + ) { + if (0 < Object.keys(e.dynamic).length) + return null; + var r = e.static, + n = Object.keys(r); + if (0 < n.length && "number" == typeof r[n[0]]) { + for (var i = [], a = 0; a < n.length; ++a) + i.push([0 | r[n[a]], n[a]]); + return i; + } + } + return null; + })(t, e), + u = (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 N( + !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 = V(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 N( + 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 N( + 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, (d = w(t))), + f = k(t), + h = (function (t, e) { + var r = t.static, + n = t.dynamic, + i = {}; + return ( + at.forEach(function (t) { + function e(e, o) { + if (t in r) { + var s = e(r[t]); + i[a] = U(function () { + return s; + }); + } else if (t in n) { + var l = n[t]; + i[a] = V(l, function (t, e) { + return o(t, e, t.invoke(e, l)); + }); + } + } + var a = y(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": + case "lineWidth": + return e( + function (t) { + return t; + }, + function (t, e, r) { + return r; + }, + ); + case "depth.func": + return e( + function (t) { + return Ct[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 [ + Lt["srcRGB" in t ? t.srcRGB : t.src], + Lt["dstRGB" in t ? t.dstRGB : t.dst], + Lt[ + "srcAlpha" in t ? t.srcAlpha : t.src + ], + Lt[ + "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 + ? [$[t], $[t]] + : "object" == typeof t + ? [$[t.rgb], $[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 [ + Ct[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, + Pt[e.fail || "keep"], + Pt[e.zfail || "keep"], + Pt[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 "frontFace": + return e( + function (t) { + return Ot[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), + p = T(t, 0, l); + s("viewport"), s(y("scissor.box")); + var d, + v = 0 < Object.keys(h).length; + if ( + (((d = { + framebuffer: d, + draw: f, + shader: p, + state: h, + dirty: v, + scopeVAO: null, + drawVAO: null, + useVAO: !1, + attributes: {}, + }).profile = (function (t) { + var e, + r = t.static; + if (((t = t.dynamic), "profile" in r)) { + var n = !!r.profile; + (e = U(function (t, e) { + return n; + })).enable = n; + } else if ("profile" in t) { + var i = t.profile; + e = V(i, function (t, e) { + return t.invoke(e, i); + }); + } + return e; + })(t)), + (d.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 = U(function () { + return n; + }); + else if ("function" == typeof n) { + var a = n._reglType; + "texture2d" === a || "textureCube" === a + ? (e = U(function (t) { + return t.link(n); + })) + : ("framebuffer" !== a && + "framebufferCube" !== a) || + (e = U(function (t) { + return t.link(n.color[0]); + })); + } else + m(n) && + (e = U(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] = V(e, function (t, r) { + return t.invoke(r, e); + }); + }), + i + ); + })(n)), + (d.drawVAO = d.scopeVAO = f.vao), + !d.drawVAO && + p.program && + !l && + r.angle_instanced_arrays && + f.static.elements) + ) { + var g = !0; + if ( + ((t = p.program.attributes.map(function (t) { + return (t = e.static[t]), (g = g && !!t), t; + })), + g && 0 < t.length) + ) { + var x = c.getVAO( + c.createVAO({ + attributes: t, + elements: f.static.elements, + }), + ); + (d.drawVAO = new N(null, null, null, function ( + t, + e, + ) { + return t.link(x); + })), + (d.useVAO = !0); + } + } + return ( + l ? (d.useVAO = !0) : (d.attributes = A(e)), + (d.context = (function (t) { + var e = t.static, + r = t.dynamic, + n = {}; + return ( + Object.keys(e).forEach(function (t) { + var r = e[t]; + n[t] = U(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] = V(e, function (t, r) { + return t.invoke(r, e); + }); + }), + n + ); + })(i)), + d + ); + } + function S(t, e, r) { + var n = t.shared.context, + i = t.scope(); + Object.keys(r).forEach(function (a) { + e.save(n, "." + a); + var o = r[a].append(t, e); + Array.isArray(o) + ? i(n, ".", a, "=[", o.join(), "];") + : i(n, ".", a, "=", o, ";"); + }), + e(i); + } + function E(t, e, r, n) { + var i, + a = (s = t.shared).gl, + o = s.framebuffer; + tt && (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);", + ), + tt && + e( + i, + ".drawBuffersWEBGL(", + s, + "[", + t, + ".colorAttachments.length]);", + ), + e("}else{", a, ".bindFramebuffer(", 36160, ",null);"), + tt && e(i, ".drawBuffersWEBGL(", l, ");"), + e("}", o, ".cur=", t, ";"), + n || e("}"); + } + function L(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"); + at.forEach(function (e) { + var n, f; + if (!((e = y(e)) in r.state)) + if (e in s) { + (n = s[e]), (f = a[e]); + var h = o(nt[e].length, function (t) { + return c.def(n, "[", t, "]"); + }); + c( + t + .cond( + h + .map(function (t, e) { + return t + "!==" + f + "[" + e + "]"; + }) + .join("||"), + ) + .then( + i, + ".", + lt[e], + "(", + h, + ");", + h + .map(function (t, e) { + return f + "[" + e + "]=" + t; + }) + .join(";"), + ";", + ), + ); + } else + (n = c.def(u, ".", e)), + (h = t.cond(n, "!==", l, ".", e)), + c(h), + e in ot + ? h( + t + .cond(n) + .then(i, ".enable(", ot[e], ");") + .else(i, ".disable(", ot[e], ");"), + l, + ".", + e, + "=", + n, + ";", + ) + : h( + i, + ".", + lt[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, + a = t.shared, + o = t.current, + s = a.current, + l = a.gl; + B(Object.keys(r)).forEach(function (a) { + var u = r[a]; + if (!n || n(u)) { + var c = u.append(t, e); + if (ot[a]) { + var f = ot[a]; + j(u) + ? ((i = t.link(c, { stable: !0 })), + e( + t + .cond(i) + .then(l, ".enable(", f, ");") + .else(l, ".disable(", f, ");"), + ), + e(s, ".", a, "=", i, ";")) + : (e( + t + .cond(c) + .then(l, ".enable(", f, ");") + .else(l, ".disable(", f, ");"), + ), + e(s, ".", a, "=", c, ";")); + } else if (m(c)) { + var h = o[a]; + e( + l, + ".", + lt[a], + "(", + c, + ");", + c + .map(function (t, e) { + return h + "[" + e + "]=" + t; + }) + .join(";"), + ";", + ); + } else + j(u) + ? ((i = t.link(c, { stable: !0 })), + e( + l, + ".", + lt[a], + "(", + i, + ");", + s, + ".", + a, + "=", + i, + ";", + )) + : e( + l, + ".", + lt[a], + "(", + c, + ");", + s, + ".", + a, + "=", + c, + ";", + ); + } + }); + } + function P(t, e) { + Q && + (t.instancing = e.def( + t.shared.extensions, + ".angle_instanced_arrays", + )); + } + function O(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(h, ".count+=", i, ";") + : t(h, ".count++;"), + d && + (n + ? t( + (c = e.def()), + "=", + v, + ".getNumPendingQueries();", + ) + : t(v, ".beginQuery(", h, ");")); + } + function s(t) { + t(h, ".cpuTime+=", a(), "-", u, ";"), + d && + (n + ? t( + v, + ".pushScopeStats(", + c, + ",", + v, + ".getNumPendingQueries(),", + h, + ");", + ) + : t(v, ".endQuery();")); + } + function l(t) { + var r = e.def(p, ".profile"); + e(p, ".profile=", t, ";"), + e.exit(p, ".profile=", r, ";"); + } + var u, + c, + f = t.shared, + h = t.stats, + p = f.current, + v = f.timer; + if ((r = r.profile)) { + if (j(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((f = t.block())), + e("if(", r, "){", f, "}"), + s((t = t.block())), + e.exit("if(", r, "){", t, "}"); + } + function I(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, + ",", + f, + ".buffer);", + l, + ".vertexAttribPointer(", + [u, r, a, i.normalized, i.stride, i.offset], + ");", + c, + ".type=", + a, + ";", + c, + ".size=", + r, + ";", + p + .map(function (t) { + return c + "." + t + "=" + i[t] + ";"; + }) + .join(""), + "}", + ), + 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, + ");", + c, + ".buffer=null;", + "}if(", + St.map(function (t, e) { + return c + "." + t + "!==" + h[e]; + }).join("||"), + "){", + l, + ".vertexAttrib4f(", + u, + ",", + h, + ");", + St.map(function (t, e) { + return c + "." + t + "=" + h[e] + ";"; + }).join(""), + "}", + ); + } + var l = o.gl, + u = e.def(r, ".location"), + c = e.def(o.attributes, "[", u, "]"); + r = i.state; + var f = i.buffer, + h = [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(It)) return; + var u = t.scopeAttrib(s); + (o = {}), + Object.keys(new K()).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 D(t, r, n, i, a, s) { + for ( + var l, u = t.shared, c = u.gl, f = 0; + f < i.length; + ++f + ) { + var h, + p = (g = i[f]).name, + d = g.info.type, + v = n.uniforms[p], + g = t.link(g) + ".location"; + if (v) { + if (!a(v)) continue; + if (j(v)) { + if (((p = v.value), 35678 === d || 35680 === d)) + r( + c, + ".uniform1i(", + g, + ",", + (d = t.link( + p._texture || p.color[0]._texture, + )) + ".bind());", + ), + r.exit(d, ".unbind();"); + else if ( + 35674 === d || + 35675 === d || + 35676 === d + ) + (v = 2), + 35675 === d + ? (v = 3) + : 35676 === d && (v = 4), + r( + c, + ".uniformMatrix", + v, + "fv(", + g, + ",false,", + (p = t.global.def( + "new Float32Array([" + + Array.prototype.slice.call(p) + + "])", + )), + ");", + ); + else { + switch (d) { + case 5126: + l = "1f"; + break; + case 35664: + l = "2f"; + break; + case 35665: + l = "3f"; + break; + case 35666: + l = "4f"; + break; + case 35670: + case 5124: + l = "1i"; + break; + case 35671: + case 35667: + l = "2i"; + break; + case 35672: + case 35668: + l = "3i"; + break; + case 35673: + case 35669: + l = "4i"; + } + r( + c, + ".uniform", + l, + "(", + g, + ",", + m(p) ? Array.prototype.slice.call(p) : p, + ");", + ); + } + continue; + } + h = v.append(t, r); + } else { + if (!a(It)) continue; + h = r.def(u.uniforms, "[", e.id(p), "]"); + } + switch ( + (35678 === d + ? r( + "if(", + h, + "&&", + h, + '._reglType==="framebuffer"){', + h, + "=", + h, + ".color[0];", + "}", + ) + : 35680 === d && + r( + "if(", + h, + "&&", + h, + '._reglType==="framebufferCube"){', + h, + "=", + h, + ".color[0];", + "}", + ), + (p = 1), + d) + ) { + case 35678: + case 35680: + (d = r.def(h, "._texture")), + r(c, ".uniform1i(", g, ",", d, ".bind());"), + r.exit(d, ".unbind();"); + continue; + case 5124: + case 35670: + l = "1i"; + break; + case 35667: + case 35671: + (l = "2i"), (p = 2); + break; + case 35668: + case 35672: + (l = "3i"), (p = 3); + break; + case 35669: + case 35673: + (l = "4i"), (p = 4); + break; + case 5126: + l = "1f"; + break; + case 35664: + (l = "2f"), (p = 2); + break; + case 35665: + (l = "3f"), (p = 3); + break; + case 35666: + (l = "4f"), (p = 4); + break; + case 35674: + l = "Matrix2fv"; + break; + case 35675: + l = "Matrix3fv"; + break; + case 35676: + l = "Matrix4fv"; + } + if ("M" === l.charAt(0)) { + r(c, ".uniform", l, "(", g, ","), + (g = Math.pow(d - 35674 + 2, 2)); + var y = t.global.def("new Float32Array(", g, ")"); + Array.isArray(h) + ? r( + "false,(", + o(g, function (t) { + return y + "[" + t + "]=" + h[t]; + }), + ",", + y, + ")", + ) + : r( + "false,(Array.isArray(", + h, + ")||", + h, + " instanceof Float32Array)?", + h, + ":(", + o(g, function (t) { + return ( + y + "[" + t + "]=" + h + "[" + t + "]" + ); + }), + ",", + y, + ")", + ), + r(");"); + } else { + if (1 < p) { + d = []; + var x = []; + for (v = 0; v < p; ++v) + Array.isArray(h) + ? x.push(h[v]) + : x.push(r.def(h + "[" + v + "]")), + s && d.push(r.def()); + s && + r( + "if(!", + t.batchId, + "||", + d + .map(function (t, e) { + return t + "!==" + x[e]; + }) + .join("||"), + "){", + d + .map(function (t, e) { + return t + "=" + x[e] + ";"; + }) + .join(""), + ), + r( + c, + ".uniform", + l, + "(", + g, + ",", + x.join(","), + ");", + ); + } else + s && + ((d = r.def()), + r( + "if(!", + t.batchId, + "||", + d, + "!==", + h, + "){", + d, + "=", + h, + ";", + )), + r(c, ".uniform", l, "(", g, ",", h, ");"); + s && r("}"); + } + } + } + function z(t, e, r, n) { + function i(i) { + var a = h[i]; + return a + ? (a.contextDep && n.contextDynamic) || a.propDep + ? a.append(t, r) + : a.append(t, e) + : e.def(f, ".", i); + } + function a() { + function t() { + r( + l, + ".drawElementsInstancedANGLE(", + [d, g, y, v + "<<((" + y + "-5121)>>1)", s], + ");", + ); + } + function e() { + r( + l, + ".drawArraysInstancedANGLE(", + [d, v, g, s], + ");", + ); + } + p && "null" !== p + ? m + ? t() + : (r("if(", p, "){"), + t(), + r("}else{"), + e(), + r("}")) + : e(); + } + function o() { + function t() { + r( + c + + ".drawElements(" + + [d, g, y, v + "<<((" + y + "-5121)>>1)"] + + ");", + ); + } + function e() { + r(c + ".drawArrays(" + [d, v, g] + ");"); + } + p && "null" !== p + ? m + ? t() + : (r("if(", p, "){"), + t(), + r("}else{"), + e(), + r("}")) + : e(); + } + var s, + l, + u = t.shared, + c = u.gl, + f = u.draw, + h = n.draw, + p = (function () { + var i = h.elements, + a = e; + return ( + i + ? (((i.contextDep && n.contextDynamic) || + i.propDep) && + (a = r), + (i = i.append(t, a)), + h.elementsActive && + a( + "if(" + + i + + ")" + + c + + ".bindBuffer(34963," + + i + + ".buffer.buffer);", + )) + : ((i = a.def()), + a( + i, + "=", + f, + ".", + "elements", + ";", + "if(", + i, + "){", + c, + ".bindBuffer(", + 34963, + ",", + i, + ".buffer.buffer);}", + "else if(", + u.vao, + ".currentVAO){", + i, + "=", + t.shared.elements + ".getElements(" + u.vao, + ".currentVAO.elements);", + et + ? "" + : "if(" + + i + + ")" + + c + + ".bindBuffer(34963," + + i + + ".buffer.buffer);", + "}", + )), + i + ); + })(), + d = i("primitive"), + v = i("offset"), + g = (function () { + var i = h.count, + a = e; + return ( + i + ? (((i.contextDep && n.contextDynamic) || + i.propDep) && + (a = r), + (i = i.append(t, a))) + : (i = a.def(f, ".", "count")), + i + ); + })(); + if ("number" == typeof g) { + if (0 === g) return; + } else r("if(", g, "){"), r.exit("}"); + Q && ((s = i("instances")), (l = t.instancing)); + var y = p + ".type", + m = h.elements && j(h.elements) && !h.vaoActive; + Q && ("number" != typeof s || 0 <= s) + ? "string" == typeof s + ? (r("if(", s, ">0){"), + a(), + r("}else if(", s, "<0){"), + o(), + r("}")) + : a() + : o(); + } + function H(t, e, r, n, i) { + return ( + (i = (e = _()).proc("body", i)), + Q && + (e.instancing = i.def( + e.shared.extensions, + ".angle_instanced_arrays", + )), + t(e, i, r, n), + e.compile().body + ); + } + function q(t, e, r, n) { + P(t, e), + r.useVAO + ? r.drawVAO + ? e( + t.shared.vao, + ".setVAO(", + r.drawVAO.append(t, e), + ");", + ) + : e( + t.shared.vao, + ".setVAO(", + t.shared.vao, + ".targetVAO);", + ) + : (e(t.shared.vao, ".setVAO(null);"), + I(t, e, r, n.attributes, function () { + return !0; + })), + D( + t, + e, + r, + n.uniforms, + function () { + return !0; + }, + !1, + ), + z(t, e, e, r); + } + function Z(t, e, r, n) { + function i() { + return !0; + } + (t.batchId = "a1"), + P(t, e), + I(t, e, r, n.attributes, i), + D(t, e, r, n.uniforms, i, !1), + z(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); + } + P(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 && S(t, c, r.context), + r.needsFramebuffer && E(t, c, r.framebuffer), + C(t, c, r.state, i), + r.profile && i(r.profile) && O(t, c, r, !1, !0), + n + ? (r.useVAO + ? r.drawVAO + ? i(r.drawVAO) + ? c( + t.shared.vao, + ".setVAO(", + r.drawVAO.append(t, c), + ");", + ) + : u( + t.shared.vao, + ".setVAO(", + r.drawVAO.append(t, u), + ");", + ) + : u( + t.shared.vao, + ".setVAO(", + t.shared.vao, + ".targetVAO);", + ) + : (u(t.shared.vao, ".setVAO(null);"), + I(t, u, r, n.attributes, a), + I(t, c, r, n.attributes, i)), + D(t, u, r, n.uniforms, a, !1), + D(t, c, r, n.uniforms, i, !0), + z(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 H(Z, t, r, e, 2); + }), + "(", + n, + ");}", + u, + ".call(this,a0[", + s, + "],", + s, + ");", + )); + } + function X(t, r) { + function n(e) { + var n = r.shader[e]; + n && + ((n = n.append(t, i)), + isNaN(n) + ? i.set(a.shader, "." + e, n) + : i.set( + a.shader, + "." + e, + t.link(n, { stable: !0 }), + )); + } + var i = t.proc("scope", 3); + t.batchId = "a2"; + var a = t.shared, + o = a.current; + if ( + (S(t, i, r.context), + r.framebuffer && r.framebuffer.append(t, i), + B(Object.keys(r.state)).forEach(function (e) { + var n = r.state[e], + o = n.append(t, i); + m(o) + ? o.forEach(function (r, n) { + isNaN(r) + ? i.set(t.next[e], "[" + n + "]", r) + : i.set( + t.next[e], + "[" + n + "]", + t.link(r, { stable: !0 }), + ); + }) + : j(n) + ? i.set( + a.next, + "." + e, + t.link(o, { stable: !0 }), + ) + : i.set(a.next, "." + e, o); + }), + O(t, i, r, !0, !0), + [ + "elements", + "offset", + "count", + "instances", + "primitive", + ].forEach(function (e) { + var n = r.draw[e]; + n && + ((n = n.append(t, i)), + isNaN(n) + ? i.set(a.draw, "." + e, n) + : i.set(a.draw, "." + e, t.link(n), { + stable: !0, + })); + }), + Object.keys(r.uniforms).forEach(function (n) { + var o = r.uniforms[n].append(t, i); + Array.isArray(o) && + (o = + "[" + + o.map(function (e) { + return isNaN(e) + ? e + : t.link(e, { stable: !0 }); + }) + + "]"), + i.set( + a.uniforms, + "[" + t.link(e.id(n), { stable: !0 }) + "]", + o, + ); + }), + Object.keys(r.attributes).forEach(function (e) { + var n = r.attributes[e].append(t, i), + a = t.scopeAttrib(e); + Object.keys(new K()).forEach(function (t) { + i.set(a, "." + t, n[t]); + }); + }), + r.scopeVAO) + ) { + var s = r.scopeVAO.append(t, i); + isNaN(s) + ? i.set(a.vao, ".targetVAO", s) + : i.set( + a.vao, + ".targetVAO", + t.link(s, { stable: !0 }), + ); + } + 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 J(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 (Y.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 (Y.isDynamic(r)) + "function" == typeof r && (r = n[e] = Y.unbox(r)), + (e = V(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 Y.DynamicVariable(4, { + thisDep: o, + contextDep: s, + propDep: l, + ref: u, + append: function (t, e) { + a.forEach(function (r) { + var i = n[r]; + Y.isDynamic(i) && + ((i = t.invoke(e, i)), + e(u, ".", r, "=", i, ";")); + }); + }, + })), + delete e.static[r]; + } + } + var K = c.Record, + $ = { + add: 32774, + subtract: 32778, + "reverse subtract": 32779, + }; + r.ext_blend_minmax && (($.min = 32775), ($.max = 32776)); + var Q = r.angle_instanced_arrays, + tt = r.webgl_draw_buffers, + et = r.oes_vertex_array_object, + nt = { dirty: !0, profile: g.profile }, + it = {}, + at = [], + ot = {}, + lt = {}; + x("dither", 3024), + x("blend.enable", 3042), + b("blend.color", "blendColor", [0, 0, 0, 0]), + b( + "blend.equation", + "blendEquationSeparate", + [32774, 32774], + ), + b("blend.func", "blendFuncSeparate", [1, 0, 1, 0]), + x("depth.enable", 2929, !0), + b("depth.func", "depthFunc", 513), + b("depth.range", "depthRange", [0, 1]), + b("depth.mask", "depthMask", !0), + b("colorMask", "colorMask", [!0, !0, !0, !0]), + x("cull.enable", 2884), + b("cull.face", "cullFace", 1029), + b("frontFace", "frontFace", 2305), + b("lineWidth", "lineWidth", 1), + x("polygonOffset.enable", 32823), + b("polygonOffset.offset", "polygonOffset", [0, 0]), + x("sample.alpha", 32926), + x("sample.enable", 32928), + b("sample.coverage", "sampleCoverage", [1, !1]), + x("stencil.enable", 2960), + b("stencil.mask", "stencilMask", -1), + b("stencil.func", "stencilFunc", [519, 0, -1]), + b( + "stencil.opFront", + "stencilOpSeparate", + [1028, 7680, 7680, 7680], + ), + b( + "stencil.opBack", + "stencilOpSeparate", + [1029, 7680, 7680, 7680], + ), + x("scissor.enable", 3089), + b("scissor.box", "scissor", [ + 0, + 0, + t.drawingBufferWidth, + t.drawingBufferHeight, + ]), + b("viewport", "viewport", [ + 0, + 0, + t.drawingBufferWidth, + t.drawingBufferHeight, + ]); + var ut = { + gl: t, + context: p, + strings: e, + next: it, + current: nt, + draw: h, + elements: a, + buffer: i, + shader: f, + attributes: c.state, + vao: c, + uniforms: u, + framebuffer: l, + extensions: r, + timer: d, + isBufferArgs: F, + }, + ct = { + primTypes: st, + compareFuncs: Ct, + blendFuncs: Lt, + blendEquations: $, + stencilOps: Pt, + glTypes: rt, + orientationType: Ot, + }; + tt && + ((ct.backBuffer = [1029]), + (ct.drawBuffer = o(n.maxDrawbuffers, function (t) { + return 0 === t + ? [0] + : o(t, function (t) { + return 36064 + t; + }); + }))); + var ft = 0; + return { + next: it, + current: nt, + procs: (function () { + var t = _(), + e = t.proc("poll"), + i = t.proc("refresh"), + a = t.block(); + e(a), i(a); + var s, + l = (f = t.shared).gl, + u = f.next, + c = f.current; + a(c, ".dirty=false;"), + E(t, e), + E(t, i, null, !0), + Q && (s = t.link(Q)), + r.oes_vertex_array_object && + i( + t.link(r.oes_vertex_array_object), + ".bindVertexArrayOES(null);", + ); + var f = i.def(f.attributes), + h = i.def(0), + p = t.cond(h, ".buffer"); + p.then( + l, + ".enableVertexAttribArray(i);", + l, + ".bindBuffer(", + 34962, + ",", + h, + ".buffer.buffer);", + l, + ".vertexAttribPointer(i,", + h, + ".size,", + h, + ".type,", + h, + ".normalized,", + h, + ".stride,", + h, + ".offset);", + ).else( + l, + ".disableVertexAttribArray(i);", + l, + ".vertexAttrib4f(i,", + h, + ".x,", + h, + ".y,", + h, + ".z,", + h, + ".w);", + h, + ".buffer=null;", + ); + var d = t.link(n.maxAttributes, { stable: !0 }); + return ( + i( + "for(var i=0;i<", + d, + ";++i){", + h, + "=", + f, + "[i];", + p, + "}", + ), + Q && + i( + "for(var i=0;i<", + d, + ";++i){", + s, + ".vertexAttribDivisorANGLE(i,", + f, + "[i].divisor);", + "}", + ), + i( + t.shared.vao, + ".currentVAO=null;", + t.shared.vao, + ".setVAO(", + t.shared.vao, + ".targetVAO);", + ), + Object.keys(ot).forEach(function (r) { + var n = ot[r], + o = a.def(u, ".", r), + s = t.block(); + s( + "if(", + o, + "){", + l, + ".enable(", + n, + ")}else{", + l, + ".disable(", + n, + ")}", + c, + ".", + r, + "=", + o, + ";", + ), + i(s), + e("if(", o, "!==", c, ".", r, "){", s, "}"); + }), + Object.keys(lt).forEach(function (r) { + var n, + s, + f = lt[r], + h = nt[r], + p = t.block(); + p(l, ".", f, "("), + m(h) + ? ((f = h.length), + (n = t.global.def(u, ".", r)), + (s = t.global.def(c, ".", r)), + p( + o(f, function (t) { + return n + "[" + t + "]"; + }), + ");", + o(f, function (t) { + return ( + s + + "[" + + t + + "]=" + + n + + "[" + + t + + "];" + ); + }).join(""), + ), + e( + "if(", + o(f, function (t) { + return ( + n + + "[" + + t + + "]!==" + + s + + "[" + + t + + "]" + ); + }).join("||"), + "){", + p, + "}", + )) + : ((n = a.def(u, ".", r)), + (s = a.def(c, ".", r)), + p(n, ");", c, ".", r, "=", n, ";"), + e("if(", n, "!==", s, "){", p, "}")), + i(p); + }), + t.compile() + ); + })(), + compile: function (t, e, r, n, i) { + var a = _(); + (a.stats = a.link(i)), + Object.keys(e.static).forEach(function (t) { + J(a, e, t); + }), + Et.forEach(function (e) { + J(a, t, e); + }); + var o = M(t, e, r, n); + return ( + o.shader.program && + (o.shader.program.attributes.sort( + function (t, e) { + return t.name < e.name ? -1 : 1; + }, + ), + o.shader.program.uniforms.sort(function (t, e) { + return t.name < e.name ? -1 : 1; + })), + (function (t, e) { + var r = t.proc("draw", 1); + P(t, r), + S(t, r, e.context), + E(t, r, e.framebuffer), + L(t, r, e), + C(t, r, e.state), + O(t, r, e, !1, !0); + var n = e.shader.progVar.append(t, r); + if ( + (r( + t.shared.gl, + ".useProgram(", + n, + ".program);", + ), + e.shader.program) + ) + q(t, r, e, e.shader.program); + else { + r(t.shared.vao, ".setVAO(null);"); + 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 H(q, t, e, r, 1); + }), + "(", + n, + ");", + o, + ".call(this,a0);", + ), + ); + } + 0 < Object.keys(e.state).length && + r(t.shared.current, ".dirty=true;"), + t.shared.vao && + r(t.shared.vao, ".setVAO(null);"); + })(a, o), + X(a, o), + (function (t, e) { + function r(t) { + return (t.contextDep && i) || t.propDep; + } + var n = t.proc("batch", 2); + (t.batchId = "0"), P(t, n); + var i = !1, + a = !0; + Object.keys(e.context).forEach(function (t) { + i = i || e.context[t].propDep; + }), + i || (S(t, n, e.context), (a = !1)); + var o = !1; + if ( + ((s = e.framebuffer) + ? (s.propDep + ? (i = o = !0) + : s.contextDep && i && (o = !0), + o || E(t, n, s)) + : E(t, n, null), + e.state.viewport && + e.state.viewport.propDep && + (i = !0), + L(t, n, e), + C(t, n, e.state, function (t) { + return !r(t); + }), + (e.profile && r(e.profile)) || + O(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 { + n(t.shared.vao, ".setVAO(null);"); + 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 H(W, t, e, r, 2); + }), + "(", + a, + ");", + l, + ".call(this,a0,a1);", + ), + ); + } + 0 < Object.keys(e.state).length && + n(t.shared.current, ".dirty=true;"), + t.shared.vao && + n(t.shared.vao, ".setVAO(null);"); + })(a, o), + G(a.compile(), { + destroy: function () { + o.shader.program.destroy(); + }, + }) + ); + }, + }; + } + function q(t, e) { + for (var r = 0; r < t.length; ++r) + if (t[r] === e) return r; + return -1; + } + var G = function (t, e) { + for (var r = Object.keys(e), n = 0; n < r.length; ++n) + t[r[n]] = e[r[n]]; + return t; + }, + Z = 0, + Y = { + DynamicVariable: t, + define: function (e, n) { + return new t(e, r(n + "")); + }, + isDynamic: function (e) { + return ( + ("function" == typeof e && !e._reglType) || + e instanceof t + ); + }, + unbox: function e(r, n) { + return "function" == typeof r + ? new t(0, r) + : "number" == typeof r || "boolean" == typeof r + ? new t(5, r) + : Array.isArray(r) + ? new t( + 6, + r.map(function (t, r) { + return e(t, n + "[" + r + "]"); + }), + ) + : r instanceof t + ? r + : void 0; + }, + accessor: r, + }, + W = { + 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, + }, + X = + "undefined" != typeof performance && performance.now + ? function () { + return performance.now(); + } + : function () { + return +new Date(); + }, + J = l(); + J.zero = l(); + var K = function (t, e) { + var r = 1; + e.ext_texture_filter_anisotropic && + (r = t.getParameter(34047)); + var n = 1, + i = 1; + e.webgl_draw_buffers && + ((n = t.getParameter(34852)), + (i = t.getParameter(36063))); + var a = !!e.oes_texture_float; + if (a) { + (a = t.createTexture()), + t.bindTexture(3553, a), + t.texImage2D( + 3553, + 0, + 6408, + 1, + 1, + 0, + 6408, + 5126, + null, + ); + var o = t.createFramebuffer(); + if ( + (t.bindFramebuffer(36160, o), + t.framebufferTexture2D(36160, 36064, 3553, a, 0), + t.bindTexture(3553, null), + 36053 !== t.checkFramebufferStatus(36160)) + ) + a = !1; + else { + t.viewport(0, 0, 1, 1), + t.clearColor(1, 0, 0, 1), + t.clear(16384); + var s = J.allocType(5126, 4); + t.readPixels(0, 0, 1, 1, 6408, 5126, s), + t.getError() + ? (a = !1) + : (t.deleteFramebuffer(o), + t.deleteTexture(a), + (a = 1 === s[0])), + J.freeType(s); + } + } + return ( + (s = !0), + ("undefined" != typeof navigator && + (/MSIE/.test(navigator.userAgent) || + /Trident\//.test(navigator.appVersion) || + /Edge/.test(navigator.userAgent))) || + ((s = t.createTexture()), + (o = J.allocType(5121, 36)), + t.activeTexture(33984), + t.bindTexture(34067, s), + t.texImage2D( + 34069, + 0, + 6408, + 3, + 3, + 0, + 6408, + 5121, + o, + ), + J.freeType(o), + t.bindTexture(34067, null), + t.deleteTexture(s), + (s = !t.getError())), + { + 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), + readFloat: a, + npotTextureCube: s, + } + ); + }, + $ = 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 + ); + }, + Q = function (t) { + return Object.keys(t).map(function (e) { + return t[e]; + }); + }, + tt = { + 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 || J.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: + f(t, e, 0, r, 0); + } + return r; + }, + }, + et = { + "[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, + }, + rt = { + int8: 5120, + int16: 5122, + int32: 5124, + uint8: 5121, + uint16: 5123, + uint32: 5125, + float: 5126, + float32: 5126, + }, + nt = { dynamic: 35048, stream: 35040, static: 35044 }, + it = tt.flatten, + at = tt.shape, + ot = []; + (ot[5120] = 1), + (ot[5122] = 2), + (ot[5124] = 4), + (ot[5121] = 1), + (ot[5123] = 2), + (ot[5125] = 4), + (ot[5126] = 4); + var st = { + points: 0, + point: 0, + lines: 1, + line: 1, + triangles: 4, + triangle: 4, + "line loop": 2, + "line strip": 3, + "triangle strip": 5, + "triangle fan": 6, + }, + lt = new Float32Array(1), + ut = new Uint32Array(lt.buffer), + ct = [9984, 9986, 9985, 9987], + ft = [0, 6409, 6410, 6407, 6408], + ht = {}; + (ht[6409] = ht[6406] = ht[6402] = 1), + (ht[34041] = ht[6410] = 2), + (ht[6407] = ht[35904] = 3), + (ht[6408] = ht[35906] = 4); + var pt = x("HTMLCanvasElement"), + dt = x("OffscreenCanvas"), + vt = x("CanvasRenderingContext2D"), + gt = x("ImageBitmap"), + yt = x("HTMLImageElement"), + mt = x("HTMLVideoElement"), + xt = Object.keys(et).concat([pt, dt, vt, gt, yt, mt]), + bt = []; + (bt[5121] = 1), + (bt[5126] = 4), + (bt[36193] = 2), + (bt[5123] = 2), + (bt[5125] = 4); + var _t = []; + (_t[32854] = 2), + (_t[32855] = 2), + (_t[36194] = 2), + (_t[34041] = 4), + (_t[33776] = 0.5), + (_t[33777] = 0.5), + (_t[33778] = 1), + (_t[33779] = 1), + (_t[35986] = 0.5), + (_t[35987] = 1), + (_t[34798] = 1), + (_t[35840] = 0.5), + (_t[35841] = 0.25), + (_t[35842] = 0.5), + (_t[35843] = 0.25), + (_t[36196] = 0.5); + var wt = []; + (wt[32854] = 2), + (wt[32855] = 2), + (wt[36194] = 2), + (wt[33189] = 2), + (wt[36168] = 1), + (wt[34041] = 4), + (wt[35907] = 4), + (wt[34836] = 16), + (wt[34842] = 8), + (wt[34843] = 6); + var Tt = 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 = + wt[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.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 = + wt[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 () { + Q(c).forEach(o); + }, + restore: function () { + Q(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); + }, + } + ); + }, + kt = []; + (kt[6408] = 4), (kt[6407] = 3); + var At = []; + (At[5121] = 1), (At[5126] = 4), (At[36193] = 2); + var Mt = [ + 1116352408, 1899447441, -1245643825, -373957723, + 961987163, 1508970993, -1841331548, -1424204075, + -670586216, 310598401, 607225278, 1426881987, + 1925078388, -2132889090, -1680079193, -1046744716, + -459576895, -272742522, 264347078, 604807628, 770255983, + 1249150122, 1555081692, 1996064986, -1740746414, + -1473132947, -1341970488, -1084653625, -958395405, + -710438585, 113926993, 338241895, 666307205, 773529912, + 1294757372, 1396182291, 1695183700, 1986661051, + -2117940946, -1838011259, -1564481375, -1474664885, + -1035236496, -949202525, -778901479, -694614492, + -200395387, 275423344, 430227734, 506948616, 659060556, + 883997877, 958139571, 1322822218, 1537002063, + 1747873779, 1955562222, 2024104815, -2067236844, + -1933114872, -1866530822, -1538233109, -1090935817, + -965641998, + ], + St = ["x", "y", "z", "w"], + Et = + "blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split( + " ", + ), + Lt = { + 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, + }, + Ct = { + 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, + }, + Pt = { + 0: 0, + zero: 0, + keep: 7680, + replace: 7681, + increment: 7682, + decrement: 7683, + "increment wrap": 34055, + "decrement wrap": 34056, + invert: 5386, + }, + Ot = { cw: 2304, ccw: 2305 }, + It = new N(!1, !1, !1, function () {}); + return function (t) { + function e() { + if (0 === J.length) T && T.update(), (et = null); + else { + (et = W.next(e)), f(); + for (var t = J.length - 1; 0 <= t; --t) { + var r = J[t]; + r && r(O, null, 0); + } + d.flush(), T && T.update(); + } + } + function r() { + !et && 0 < J.length && (et = W.next(e)); + } + function n() { + et && (W.cancel(e), (et = null)); + } + function i(t) { + t.preventDefault(), + n(), + $.forEach(function (t) { + t(); + }); + } + function o(t) { + d.getError(), + m.restore(), + F.restore(), + D.restore(), + B.restore(), + N.restore(), + j.restore(), + R.restore(), + T && T.restore(), + U.procs.refresh(), + r(), + Q.forEach(function (t) { + t(); + }); + } + function s(t) { + function e(t, e) { + var r = {}, + n = {}; + return ( + Object.keys(t).forEach(function (i) { + var a = t[i]; + if (Y.isDynamic(a)) n[i] = Y.unbox(a, i); + else { + if (e && Array.isArray(a)) + for (var o = 0; o < a.length; ++o) + if (Y.isDynamic(a[o])) + return void (n[i] = Y.unbox(a, i)); + r[i] = a; + } + }), + { dynamic: n, static: r } + ); + } + var r = e(t.context || {}, !0), + n = e(t.uniforms || {}, !0), + i = e(t.attributes || {}, !1); + t = 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 = G({}, t); + return ( + delete r.uniforms, + delete r.attributes, + delete r.context, + delete r.vao, + "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"), + "vao" in t && (r.vao = t.vao), + r + ); + })(t), + !1, + ); + var a = { gpuTime: 0, cpuTime: 0, count: 0 }, + o = U.compile(t, i, n, r, a), + s = o.draw, + l = o.batch, + u = o.scope, + c = []; + return G( + function (t, e) { + var r; + if ("function" == typeof t) + return u.call(this, null, t, 0); + if ("function" == typeof e) + if ("number" == typeof t) + for (r = 0; r < t; ++r) + u.call(this, null, e, r); + else { + if (!Array.isArray(t)) + return u.call(this, t, e, 0); + for (r = 0; r < t.length; ++r) + u.call(this, t[r], e, r); + } + else if ("number" == typeof t) { + if (0 < t) + return l.call( + this, + (function (t) { + for (; c.length < t; ) c.push(null); + return c; + })(0 | t), + 0 | t, + ); + } else { + if (!Array.isArray(t)) return s.call(this, t); + if (t.length) return l.call(this, t, t.length); + } + }, + { + stats: a, + destroy: function () { + o.destroy(); + }, + }, + ); + } + function l(t, e) { + var r = 0; + U.procs.poll(); + var n = e.color; + n && + (d.clearColor( + +n[0] || 0, + +n[1] || 0, + +n[2] || 0, + +n[3] || 0, + ), + (r |= 16384)), + "depth" in e && (d.clearDepth(+e.depth), (r |= 256)), + "stencil" in e && + (d.clearStencil(0 | e.stencil), (r |= 1024)), + d.clear(r); + } + function u(t) { + return ( + J.push(t), + r(), + { + cancel: function () { + var e = q(J, t); + J[e] = function t() { + var e = q(J, t); + (J[e] = J[J.length - 1]), + --J.length, + 0 >= J.length && n(); + }; + }, + } + ); + } + function c() { + var t = V.viewport, + e = V.scissor_box; + (t[0] = t[1] = e[0] = e[1] = 0), + (O.viewportWidth = + O.framebufferWidth = + O.drawingBufferWidth = + t[2] = + e[2] = + d.drawingBufferWidth), + (O.viewportHeight = + O.framebufferHeight = + O.drawingBufferHeight = + t[3] = + e[3] = + d.drawingBufferHeight); + } + function f() { + (O.tick += 1), (O.time = p()), c(), U.procs.poll(); + } + function h() { + B.refresh(), c(), U.procs.refresh(), T && T.update(); + } + function p() { + return (X() - k) / 1e3; + } + if (!(t = a(t))) return null; + var d = t.gl, + y = d.getContextAttributes(); + d.isContextLost(); + var m = (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 (n[t] && !r(t)) + throw Error( + "(regl): error restoring extension " + t, + ); + }); + }, + } + ); + })(d, t); + if (!m) 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 = { + vaoCount: 0, + bufferCount: 0, + elementsCount: 0, + framebufferCount: 0, + shaderCount: 0, + textureCount: 0, + cubeCount: 0, + renderbufferCount: 0, + maxTextureUnits: 0, + }, + _ = t.cachedCode || {}, + w = m.extensions, + T = (function (t, e) { + function r() { + (this.endQueryIndex = this.startQueryIndex = -1), + (this.sum = 0), + (this.stats = null); + } + function n(t, e, n) { + var i = o.pop() || new r(); + (i.startQueryIndex = t), + (i.endQueryIndex = e), + (i.sum = 0), + (i.stats = n), + s.push(i); + } + if (!e.ext_disjoint_timer_query) return null; + var i = [], + a = [], + o = [], + s = [], + l = [], + u = []; + return { + beginQuery: function (t) { + var r = + i.pop() || + e.ext_disjoint_timer_query.createQueryEXT(); + e.ext_disjoint_timer_query.beginQueryEXT( + 35007, + r, + ), + a.push(r), + n(a.length - 1, a.length, t); + }, + endQuery: function () { + e.ext_disjoint_timer_query.endQueryEXT(35007); + }, + pushScopeStats: n, + update: function () { + var t, r; + 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 n = (u[0] = 0); + for (r = t = 0; r < a.length; ++r) { + var c = a[r]; + e.ext_disjoint_timer_query.getQueryObjectEXT( + c, + 34919, + ) + ? ((n += + e.ext_disjoint_timer_query.getQueryObjectEXT( + c, + 34918, + )), + i.push(c)) + : (a[t++] = c), + (l[r + 1] = n), + (u[r + 1] = t); + } + for ( + a.length = t, r = t = 0; + r < s.length; + ++r + ) { + var f = (n = s[r]).startQueryIndex; + (c = n.endQueryIndex), + (n.sum += l[c] - l[f]), + (f = u[f]), + (c = u[c]) === f + ? ((n.stats.gpuTime += n.sum / 1e6), + o.push(n)) + : ((n.startQueryIndex = f), + (n.endQueryIndex = c), + (s[t++] = n)); + } + s.length = t; + } + }, + getNumPendingQueries: function () { + return a.length; + }, + clear: function () { + i.push.apply(i, a); + for (var t = 0; t < i.length; t++) + e.ext_disjoint_timer_query.deleteQueryEXT(i[t]); + (a.length = 0), (i.length = 0); + }, + restore: function () { + (a.length = 0), (i.length = 0); + }, + }; + })(0, w), + k = X(), + A = d.drawingBufferWidth, + E = d.drawingBufferHeight, + O = { + tick: 0, + time: 0, + viewportWidth: A, + viewportHeight: E, + framebufferWidth: A, + framebufferHeight: E, + drawingBufferWidth: A, + drawingBufferHeight: E, + pixelRatio: t.pixelRatio, + }, + I = + ((A = { + elements: null, + primitive: 4, + count: -1, + offset: 0, + instances: -1, + }), + K(d, w)), + D = v(d, b, t, function (t) { + return R.destroyBuffer(t); + }), + z = g(d, w, D, b), + R = L(d, w, I, b, D, z, A), + F = C(d, x, b, t), + B = M( + d, + w, + I, + function () { + U.procs.poll(); + }, + O, + b, + t, + ), + N = Tt(d, w, 0, b, t), + j = S(d, w, I, B, N, b), + U = H(d, x, w, I, D, z, 0, j, {}, R, F, A, O, T, _, t), + V = ((x = P(d, j, U.procs.poll, O)), U.next), + Z = d.canvas, + J = [], + $ = [], + Q = [], + tt = [t.onDestroy], + et = null; + Z && + (Z.addEventListener("webglcontextlost", i, !1), + Z.addEventListener("webglcontextrestored", o, !1)); + var rt = (j.setFBO = s({ + framebuffer: Y.define.call(null, 1, "framebuffer"), + })); + return ( + h(), + (y = G(s, { + clear: function (t) { + if ("framebuffer" in t) + if ( + t.framebuffer && + "framebufferCube" === t.framebuffer_reglType + ) + for (var e = 0; 6 > e; ++e) + rt( + G( + { framebuffer: t.framebuffer.faces[e] }, + t, + ), + l, + ); + else rt(t, l); + else l(0, t); + }, + prop: Y.define.bind(null, 1), + context: Y.define.bind(null, 2), + this: Y.define.bind(null, 3), + draw: s({}), + buffer: function (t) { + return D.create(t, 34962, !1, !1); + }, + elements: function (t) { + return z.create(t, !1); + }, + texture: B.create2D, + cube: B.createCube, + renderbuffer: N.create, + framebuffer: j.create, + framebufferCube: j.createCube, + vao: R.createVAO, + attributes: y, + frame: u, + on: function (t, e) { + var r; + switch (t) { + case "frame": + return u(e); + case "lost": + r = $; + break; + case "restore": + r = Q; + break; + case "destroy": + r = tt; + } + 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: I, + hasExtension: function (t) { + return 0 <= I.extensions.indexOf(t.toLowerCase()); + }, + read: x, + destroy: function () { + (J.length = 0), + n(), + Z && + (Z.removeEventListener("webglcontextlost", i), + Z.removeEventListener( + "webglcontextrestored", + o, + )), + F.clear(), + j.clear(), + N.clear(), + R.clear(), + B.clear(), + z.clear(), + D.clear(), + T && T.clear(), + tt.forEach(function (t) { + t(); + }); + }, + _gl: d, + _refresh: h, + poll: function () { + f(), T && T.update(); + }, + now: p, + stats: b, + getCachedCode: function () { + return _; + }, + preloadCachedCode: function (t) { + Object.entries(t).forEach(function (t) { + _[t[0]] = t[1]; + }); + }, + })), + t.onDone(null, y), + y + ); + }; + })(); + }, + 71665: function (t, e, r) { + var n = r(12856), + i = n.Buffer; + function a(t, e) { + for (var r in t) e[r] = t[r]; + } + function o(t, e, r) { + return i(t, e, r); + } + i.from && i.alloc && i.allocUnsafe && i.allocUnsafeSlow + ? (t.exports = n) + : (a(n, e), (e.Buffer = o)), + (o.prototype = Object.create(i.prototype)), + a(i, o), + (o.from = function (t, e, r) { + if ("number" == typeof t) + throw new TypeError("Argument must not be a number"); + return i(t, e, r); + }), + (o.alloc = function (t, e, r) { + if ("number" != typeof t) + throw new TypeError("Argument must be a number"); + var n = i(t); + return ( + void 0 !== e + ? "string" == typeof r + ? n.fill(e, r) + : n.fill(e) + : n.fill(0), + n + ); + }), + (o.allocUnsafe = function (t) { + if ("number" != typeof t) + throw new TypeError("Argument must be a number"); + return i(t); + }), + (o.allocUnsafeSlow = function (t) { + if ("number" != typeof t) + throw new TypeError("Argument must be a number"); + return n.SlowBuffer(t); + }); + }, + 21630: function (t, e, r) { + t.exports = i; + var n = r(15398).EventEmitter; + function i() { + n.call(this); + } + r(42018)(i, n), + (i.Readable = r(40410)), + (i.Writable = r(37493)), + (i.Duplex = r(37865)), + (i.Transform = r(74308)), + (i.PassThrough = r(66897)), + (i.finished = r(12726)), + (i.pipeline = r(10168)), + (i.Stream = i), + (i.prototype.pipe = function (t, e) { + var r = this; + function i(e) { + t.writable && !1 === t.write(e) && r.pause && r.pause(); + } + function a() { + r.readable && r.resume && r.resume(); + } + r.on("data", i), + t.on("drain", a), + t._isStdio || + (e && !1 === e.end) || + (r.on("end", s), r.on("close", l)); + var o = !1; + function s() { + o || ((o = !0), t.end()); + } + function l() { + o || + ((o = !0), + "function" == typeof t.destroy && t.destroy()); + } + function u(t) { + if ((c(), 0 === n.listenerCount(this, "error"))) + throw t; + } + function c() { + r.removeListener("data", i), + t.removeListener("drain", a), + r.removeListener("end", s), + r.removeListener("close", l), + r.removeListener("error", u), + t.removeListener("error", u), + r.removeListener("end", c), + r.removeListener("close", c), + t.removeListener("close", c); + } + return ( + r.on("error", u), + t.on("error", u), + r.on("end", c), + r.on("close", c), + t.on("close", c), + t.emit("pipe", r), + t + ); + }); + }, + 74322: function (t) { + "use strict"; + var e = {}; + function r(t, r, n) { + n || (n = Error); + var i = (function (t) { + var e, n; + function i(e, n, i) { + return ( + t.call( + this, + (function (t, e, n) { + return "string" == typeof r ? r : r(t, e, n); + })(e, n, i), + ) || this + ); + } + return ( + (n = t), + ((e = i).prototype = Object.create(n.prototype)), + (e.prototype.constructor = e), + (e.__proto__ = n), + i + ); + })(n); + (i.prototype.name = n.name), + (i.prototype.code = t), + (e[t] = i); + } + function n(t, e) { + if (Array.isArray(t)) { + var r = t.length; + return ( + (t = t.map(function (t) { + return String(t); + })), + r > 2 + ? "one of " + .concat(e, " ") + .concat(t.slice(0, r - 1).join(", "), ", or ") + + t[r - 1] + : 2 === r + ? "one of " + .concat(e, " ") + .concat(t[0], " or ") + .concat(t[1]) + : "of ".concat(e, " ").concat(t[0]) + ); + } + return "of ".concat(e, " ").concat(String(t)); + } + r( + "ERR_INVALID_OPT_VALUE", + function (t, e) { + return ( + 'The value "' + + e + + '" is invalid for option "' + + t + + '"' + ); + }, + TypeError, + ), + r( + "ERR_INVALID_ARG_TYPE", + function (t, e, r) { + var i, a, o, s, l; + if ( + ("string" == typeof e && + ((a = "not "), e.substr(0, a.length) === a) + ? ((i = "must not be"), + (e = e.replace(/^not /, ""))) + : (i = "must be"), + (function (t, e, r) { + return ( + (void 0 === r || r > t.length) && (r = t.length), + t.substring(r - e.length, r) === e + ); + })(t, " argument")) + ) + o = "The " + .concat(t, " ") + .concat(i, " ") + .concat(n(e, "type")); + else { + var u = + ("number" != typeof l && (l = 0), + l + ".".length > (s = t).length || + -1 === s.indexOf(".", l) + ? "argument" + : "property"); + o = 'The "' + .concat(t, '" ') + .concat(u, " ") + .concat(i, " ") + .concat(n(e, "type")); + } + return o + ". Received type ".concat(typeof r); + }, + TypeError, + ), + r("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF"), + r("ERR_METHOD_NOT_IMPLEMENTED", function (t) { + return "The " + t + " method is not implemented"; + }), + r("ERR_STREAM_PREMATURE_CLOSE", "Premature close"), + r("ERR_STREAM_DESTROYED", function (t) { + return ( + "Cannot call " + t + " after a stream was destroyed" + ); + }), + r( + "ERR_MULTIPLE_CALLBACK", + "Callback called multiple times", + ), + r("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable"), + r("ERR_STREAM_WRITE_AFTER_END", "write after end"), + r( + "ERR_STREAM_NULL_VALUES", + "May not write null values to stream", + TypeError, + ), + r( + "ERR_UNKNOWN_ENCODING", + function (t) { + return "Unknown encoding: " + t; + }, + TypeError, + ), + r( + "ERR_STREAM_UNSHIFT_AFTER_END_EVENT", + "stream.unshift() after end event", + ), + (t.exports.q = e); + }, + 37865: function (t, e, r) { + "use strict"; + var n = r(90386), + i = + Object.keys || + function (t) { + var e = []; + for (var r in t) e.push(r); + return e; + }; + t.exports = c; + var a = r(40410), + o = r(37493); + r(42018)(c, a); + for (var s = i(o.prototype), l = 0; l < s.length; l++) { + var u = s[l]; + c.prototype[u] || (c.prototype[u] = o.prototype[u]); + } + function c(t) { + if (!(this instanceof c)) return new c(t); + a.call(this, t), + o.call(this, t), + (this.allowHalfOpen = !0), + t && + (!1 === t.readable && (this.readable = !1), + !1 === t.writable && (this.writable = !1), + !1 === t.allowHalfOpen && + ((this.allowHalfOpen = !1), this.once("end", f))); + } + function f() { + this._writableState.ended || n.nextTick(h, this); + } + function h(t) { + t.end(); + } + Object.defineProperty(c.prototype, "writableHighWaterMark", { + enumerable: !1, + get: function () { + return this._writableState.highWaterMark; + }, + }), + Object.defineProperty(c.prototype, "writableBuffer", { + enumerable: !1, + get: function () { + return ( + this._writableState && this._writableState.getBuffer() + ); + }, + }), + Object.defineProperty(c.prototype, "writableLength", { + enumerable: !1, + get: function () { + return this._writableState.length; + }, + }), + Object.defineProperty(c.prototype, "destroyed", { + enumerable: !1, + get: function () { + return ( + void 0 !== this._readableState && + void 0 !== this._writableState && + this._readableState.destroyed && + this._writableState.destroyed + ); + }, + set: function (t) { + void 0 !== this._readableState && + void 0 !== this._writableState && + ((this._readableState.destroyed = t), + (this._writableState.destroyed = t)); + }, + }); + }, + 66897: function (t, e, r) { + "use strict"; + t.exports = i; + var n = r(74308); + function i(t) { + if (!(this instanceof i)) return new i(t); + n.call(this, t); + } + r(42018)(i, n), + (i.prototype._transform = function (t, e, r) { + r(null, t); + }); + }, + 40410: function (t, e, r) { + "use strict"; + var n, + i = r(90386); + (t.exports = A), (A.ReadableState = k), r(15398).EventEmitter; + var a, + o = function (t, e) { + return t.listeners(e).length; + }, + s = r(71405), + l = r(12856).Buffer, + u = r.g.Uint8Array || function () {}, + c = r(40964); + a = c && c.debuglog ? c.debuglog("stream") : function () {}; + var f, + h, + p, + d = r(31125), + v = r(65756), + g = r(56306).getHighWaterMark, + y = r(74322).q, + m = y.ERR_INVALID_ARG_TYPE, + x = y.ERR_STREAM_PUSH_AFTER_EOF, + b = y.ERR_METHOD_NOT_IMPLEMENTED, + _ = y.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; + r(42018)(A, s); + var w = v.errorOrDestroy, + T = ["error", "close", "destroy", "pause", "resume"]; + function k(t, e, i) { + (n = n || r(37865)), + (t = t || {}), + "boolean" != typeof i && (i = e instanceof n), + (this.objectMode = !!t.objectMode), + i && + (this.objectMode = + this.objectMode || !!t.readableObjectMode), + (this.highWaterMark = g( + this, + t, + "readableHighWaterMark", + i, + )), + (this.buffer = new d()), + (this.length = 0), + (this.pipes = null), + (this.pipesCount = 0), + (this.flowing = null), + (this.ended = !1), + (this.endEmitted = !1), + (this.reading = !1), + (this.sync = !0), + (this.needReadable = !1), + (this.emittedReadable = !1), + (this.readableListening = !1), + (this.resumeScheduled = !1), + (this.paused = !0), + (this.emitClose = !1 !== t.emitClose), + (this.autoDestroy = !!t.autoDestroy), + (this.destroyed = !1), + (this.defaultEncoding = t.defaultEncoding || "utf8"), + (this.awaitDrain = 0), + (this.readingMore = !1), + (this.decoder = null), + (this.encoding = null), + t.encoding && + (f || (f = r(68019).s), + (this.decoder = new f(t.encoding)), + (this.encoding = t.encoding)); + } + function A(t) { + if (((n = n || r(37865)), !(this instanceof A))) + return new A(t); + var e = this instanceof n; + (this._readableState = new k(t, this, e)), + (this.readable = !0), + t && + ("function" == typeof t.read && (this._read = t.read), + "function" == typeof t.destroy && + (this._destroy = t.destroy)), + s.call(this); + } + function M(t, e, r, n, i) { + a("readableAddChunk", e); + var o, + s = t._readableState; + if (null === e) + (s.reading = !1), + (function (t, e) { + if ((a("onEofChunk"), !e.ended)) { + if (e.decoder) { + var r = e.decoder.end(); + r && + r.length && + (e.buffer.push(r), + (e.length += e.objectMode ? 1 : r.length)); + } + (e.ended = !0), + e.sync + ? C(t) + : ((e.needReadable = !1), + e.emittedReadable || + ((e.emittedReadable = !0), P(t))); + } + })(t, s); + else if ( + (i || + (o = (function (t, e) { + var r, n; + return ( + (n = e), + l.isBuffer(n) || + n instanceof u || + "string" == typeof e || + void 0 === e || + t.objectMode || + (r = new m( + "chunk", + ["string", "Buffer", "Uint8Array"], + e, + )), + r + ); + })(s, e)), + o) + ) + w(t, o); + else if (s.objectMode || (e && e.length > 0)) + if ( + ("string" == typeof e || + s.objectMode || + Object.getPrototypeOf(e) === l.prototype || + (e = (function (t) { + return l.from(t); + })(e)), + n) + ) + s.endEmitted ? w(t, new _()) : S(t, s, e, !0); + else if (s.ended) w(t, new x()); + else { + if (s.destroyed) return !1; + (s.reading = !1), + s.decoder && !r + ? ((e = s.decoder.write(e)), + s.objectMode || 0 !== e.length + ? S(t, s, e, !1) + : O(t, s)) + : S(t, s, e, !1); + } + else n || ((s.reading = !1), O(t, s)); + return ( + !s.ended && (s.length < s.highWaterMark || 0 === s.length) + ); + } + function S(t, e, r, n) { + e.flowing && 0 === e.length && !e.sync + ? ((e.awaitDrain = 0), t.emit("data", r)) + : ((e.length += e.objectMode ? 1 : r.length), + n ? e.buffer.unshift(r) : e.buffer.push(r), + e.needReadable && C(t)), + O(t, e); + } + Object.defineProperty(A.prototype, "destroyed", { + enumerable: !1, + get: function () { + return ( + void 0 !== this._readableState && + this._readableState.destroyed + ); + }, + set: function (t) { + this._readableState && + (this._readableState.destroyed = t); + }, + }), + (A.prototype.destroy = v.destroy), + (A.prototype._undestroy = v.undestroy), + (A.prototype._destroy = function (t, e) { + e(t); + }), + (A.prototype.push = function (t, e) { + var r, + n = this._readableState; + return ( + n.objectMode + ? (r = !0) + : "string" == typeof t && + ((e = e || n.defaultEncoding) !== n.encoding && + ((t = l.from(t, e)), (e = "")), + (r = !0)), + M(this, t, e, !1, r) + ); + }), + (A.prototype.unshift = function (t) { + return M(this, t, null, !0, !1); + }), + (A.prototype.isPaused = function () { + return !1 === this._readableState.flowing; + }), + (A.prototype.setEncoding = function (t) { + f || (f = r(68019).s); + var e = new f(t); + (this._readableState.decoder = e), + (this._readableState.encoding = + this._readableState.decoder.encoding); + for ( + var n = this._readableState.buffer.head, i = ""; + null !== n; + + ) + (i += e.write(n.data)), (n = n.next); + return ( + this._readableState.buffer.clear(), + "" !== i && this._readableState.buffer.push(i), + (this._readableState.length = i.length), + this + ); + }); + var E = 1073741824; + function L(t, e) { + return t <= 0 || (0 === e.length && e.ended) + ? 0 + : e.objectMode + ? 1 + : t != t + ? e.flowing && e.length + ? e.buffer.head.data.length + : e.length + : (t > e.highWaterMark && + (e.highWaterMark = (function (t) { + return ( + t >= E + ? (t = E) + : (t--, + (t |= t >>> 1), + (t |= t >>> 2), + (t |= t >>> 4), + (t |= t >>> 8), + (t |= t >>> 16), + t++), + t + ); + })(t)), + t <= e.length + ? t + : e.ended + ? e.length + : ((e.needReadable = !0), 0)); + } + function C(t) { + var e = t._readableState; + a("emitReadable", e.needReadable, e.emittedReadable), + (e.needReadable = !1), + e.emittedReadable || + (a("emitReadable", e.flowing), + (e.emittedReadable = !0), + i.nextTick(P, t)); + } + function P(t) { + var e = t._readableState; + a("emitReadable_", e.destroyed, e.length, e.ended), + e.destroyed || + (!e.length && !e.ended) || + (t.emit("readable"), (e.emittedReadable = !1)), + (e.needReadable = + !e.flowing && !e.ended && e.length <= e.highWaterMark), + F(t); + } + function O(t, e) { + e.readingMore || + ((e.readingMore = !0), i.nextTick(I, t, e)); + } + function I(t, e) { + for ( + ; + !e.reading && + !e.ended && + (e.length < e.highWaterMark || + (e.flowing && 0 === e.length)); + + ) { + var r = e.length; + if ( + (a("maybeReadMore read 0"), t.read(0), r === e.length) + ) + break; + } + e.readingMore = !1; + } + function D(t) { + var e = t._readableState; + (e.readableListening = t.listenerCount("readable") > 0), + e.resumeScheduled && !e.paused + ? (e.flowing = !0) + : t.listenerCount("data") > 0 && t.resume(); + } + function z(t) { + a("readable nexttick read 0"), t.read(0); + } + function R(t, e) { + a("resume", e.reading), + e.reading || t.read(0), + (e.resumeScheduled = !1), + t.emit("resume"), + F(t), + e.flowing && !e.reading && t.read(0); + } + function F(t) { + var e = t._readableState; + for ( + a("flow", e.flowing); + e.flowing && null !== t.read(); + + ); + } + function B(t, e) { + return 0 === e.length + ? null + : (e.objectMode + ? (r = e.buffer.shift()) + : !t || t >= e.length + ? ((r = e.decoder + ? e.buffer.join("") + : 1 === e.buffer.length + ? e.buffer.first() + : e.buffer.concat(e.length)), + e.buffer.clear()) + : (r = e.buffer.consume(t, e.decoder)), + r); + var r; + } + function N(t) { + var e = t._readableState; + a("endReadable", e.endEmitted), + e.endEmitted || ((e.ended = !0), i.nextTick(j, e, t)); + } + function j(t, e) { + if ( + (a("endReadableNT", t.endEmitted, t.length), + !t.endEmitted && + 0 === t.length && + ((t.endEmitted = !0), + (e.readable = !1), + e.emit("end"), + t.autoDestroy)) + ) { + var r = e._writableState; + (!r || (r.autoDestroy && r.finished)) && e.destroy(); + } + } + function U(t, e) { + for (var r = 0, n = t.length; r < n; r++) + if (t[r] === e) return r; + return -1; + } + (A.prototype.read = function (t) { + a("read", t), (t = parseInt(t, 10)); + var e = this._readableState, + r = t; + if ( + (0 !== t && (e.emittedReadable = !1), + 0 === t && + e.needReadable && + ((0 !== e.highWaterMark + ? e.length >= e.highWaterMark + : e.length > 0) || + e.ended)) + ) + return ( + a("read: emitReadable", e.length, e.ended), + 0 === e.length && e.ended ? N(this) : C(this), + null + ); + if (0 === (t = L(t, e)) && e.ended) + return 0 === e.length && N(this), null; + var n, + i = e.needReadable; + return ( + a("need readable", i), + (0 === e.length || e.length - t < e.highWaterMark) && + a("length less than watermark", (i = !0)), + e.ended || e.reading + ? a("reading or ended", (i = !1)) + : i && + (a("do read"), + (e.reading = !0), + (e.sync = !0), + 0 === e.length && (e.needReadable = !0), + this._read(e.highWaterMark), + (e.sync = !1), + e.reading || (t = L(r, e))), + null === (n = t > 0 ? B(t, e) : null) + ? ((e.needReadable = e.length <= e.highWaterMark), + (t = 0)) + : ((e.length -= t), (e.awaitDrain = 0)), + 0 === e.length && + (e.ended || (e.needReadable = !0), + r !== t && e.ended && N(this)), + null !== n && this.emit("data", n), + n + ); + }), + (A.prototype._read = function (t) { + w(this, new b("_read()")); + }), + (A.prototype.pipe = function (t, e) { + var r = this, + n = this._readableState; + switch (n.pipesCount) { + case 0: + n.pipes = t; + break; + case 1: + n.pipes = [n.pipes, t]; + break; + default: + n.pipes.push(t); + } + (n.pipesCount += 1), + a("pipe count=%d opts=%j", n.pipesCount, e); + var s = + (e && !1 === e.end) || t === i.stdout || t === i.stderr + ? v + : l; + function l() { + a("onend"), t.end(); + } + n.endEmitted ? i.nextTick(s) : r.once("end", s), + t.on("unpipe", function e(i, o) { + a("onunpipe"), + i === r && + o && + !1 === o.hasUnpiped && + ((o.hasUnpiped = !0), + a("cleanup"), + t.removeListener("close", p), + t.removeListener("finish", d), + t.removeListener("drain", u), + t.removeListener("error", h), + t.removeListener("unpipe", e), + r.removeListener("end", l), + r.removeListener("end", v), + r.removeListener("data", f), + (c = !0), + !n.awaitDrain || + (t._writableState && + !t._writableState.needDrain) || + u()); + }); + var u = (function (t) { + return function () { + var e = t._readableState; + a("pipeOnDrain", e.awaitDrain), + e.awaitDrain && e.awaitDrain--, + 0 === e.awaitDrain && + o(t, "data") && + ((e.flowing = !0), F(t)); + }; + })(r); + t.on("drain", u); + var c = !1; + function f(e) { + a("ondata"); + var i = t.write(e); + a("dest.write", i), + !1 === i && + (((1 === n.pipesCount && n.pipes === t) || + (n.pipesCount > 1 && -1 !== U(n.pipes, t))) && + !c && + (a("false write response, pause", n.awaitDrain), + n.awaitDrain++), + r.pause()); + } + function h(e) { + a("onerror", e), + v(), + t.removeListener("error", h), + 0 === o(t, "error") && w(t, e); + } + function p() { + t.removeListener("finish", d), v(); + } + function d() { + a("onfinish"), t.removeListener("close", p), v(); + } + function v() { + a("unpipe"), r.unpipe(t); + } + return ( + r.on("data", f), + (function (t, e, r) { + if ("function" == typeof t.prependListener) + return t.prependListener(e, r); + t._events && t._events.error + ? Array.isArray(t._events.error) + ? t._events.error.unshift(r) + : (t._events.error = [r, t._events.error]) + : t.on(e, r); + })(t, "error", h), + t.once("close", p), + t.once("finish", d), + t.emit("pipe", r), + n.flowing || (a("pipe resume"), r.resume()), + t + ); + }), + (A.prototype.unpipe = function (t) { + var e = this._readableState, + r = { hasUnpiped: !1 }; + if (0 === e.pipesCount) return this; + if (1 === e.pipesCount) + return ( + (t && t !== e.pipes) || + (t || (t = e.pipes), + (e.pipes = null), + (e.pipesCount = 0), + (e.flowing = !1), + t && t.emit("unpipe", this, r)), + this + ); + if (!t) { + var n = e.pipes, + i = e.pipesCount; + (e.pipes = null), (e.pipesCount = 0), (e.flowing = !1); + for (var a = 0; a < i; a++) + n[a].emit("unpipe", this, { hasUnpiped: !1 }); + return this; + } + var o = U(e.pipes, t); + return ( + -1 === o || + (e.pipes.splice(o, 1), + (e.pipesCount -= 1), + 1 === e.pipesCount && (e.pipes = e.pipes[0]), + t.emit("unpipe", this, r)), + this + ); + }), + (A.prototype.on = function (t, e) { + var r = s.prototype.on.call(this, t, e), + n = this._readableState; + return ( + "data" === t + ? ((n.readableListening = + this.listenerCount("readable") > 0), + !1 !== n.flowing && this.resume()) + : "readable" === t && + (n.endEmitted || + n.readableListening || + ((n.readableListening = n.needReadable = !0), + (n.flowing = !1), + (n.emittedReadable = !1), + a("on readable", n.length, n.reading), + n.length + ? C(this) + : n.reading || i.nextTick(z, this))), + r + ); + }), + (A.prototype.addListener = A.prototype.on), + (A.prototype.removeListener = function (t, e) { + var r = s.prototype.removeListener.call(this, t, e); + return "readable" === t && i.nextTick(D, this), r; + }), + (A.prototype.removeAllListeners = function (t) { + var e = s.prototype.removeAllListeners.apply( + this, + arguments, + ); + return ( + ("readable" !== t && void 0 !== t) || + i.nextTick(D, this), + e + ); + }), + (A.prototype.resume = function () { + var t = this._readableState; + return ( + t.flowing || + (a("resume"), + (t.flowing = !t.readableListening), + (function (t, e) { + e.resumeScheduled || + ((e.resumeScheduled = !0), i.nextTick(R, t, e)); + })(this, t)), + (t.paused = !1), + this + ); + }), + (A.prototype.pause = function () { + return ( + a("call pause flowing=%j", this._readableState.flowing), + !1 !== this._readableState.flowing && + (a("pause"), + (this._readableState.flowing = !1), + this.emit("pause")), + (this._readableState.paused = !0), + this + ); + }), + (A.prototype.wrap = function (t) { + var e = this, + r = this._readableState, + n = !1; + for (var i in (t.on("end", function () { + if ((a("wrapped end"), r.decoder && !r.ended)) { + var t = r.decoder.end(); + t && t.length && e.push(t); + } + e.push(null); + }), + t.on("data", function (i) { + a("wrapped data"), + r.decoder && (i = r.decoder.write(i)), + (r.objectMode && null == i) || + ((r.objectMode || (i && i.length)) && + (e.push(i) || ((n = !0), t.pause()))); + }), + t)) + void 0 === this[i] && + "function" == typeof t[i] && + (this[i] = (function (e) { + return function () { + return t[e].apply(t, arguments); + }; + })(i)); + for (var o = 0; o < T.length; o++) + t.on(T[o], this.emit.bind(this, T[o])); + return ( + (this._read = function (e) { + a("wrapped _read", e), n && ((n = !1), t.resume()); + }), + this + ); + }), + "function" == typeof Symbol && + (A.prototype[Symbol.asyncIterator] = function () { + return void 0 === h && (h = r(68221)), h(this); + }), + Object.defineProperty( + A.prototype, + "readableHighWaterMark", + { + enumerable: !1, + get: function () { + return this._readableState.highWaterMark; + }, + }, + ), + Object.defineProperty(A.prototype, "readableBuffer", { + enumerable: !1, + get: function () { + return ( + this._readableState && this._readableState.buffer + ); + }, + }), + Object.defineProperty(A.prototype, "readableFlowing", { + enumerable: !1, + get: function () { + return this._readableState.flowing; + }, + set: function (t) { + this._readableState && + (this._readableState.flowing = t); + }, + }), + (A._fromList = B), + Object.defineProperty(A.prototype, "readableLength", { + enumerable: !1, + get: function () { + return this._readableState.length; + }, + }), + "function" == typeof Symbol && + (A.from = function (t, e) { + return void 0 === p && (p = r(31748)), p(A, t, e); + }); + }, + 74308: function (t, e, r) { + "use strict"; + t.exports = c; + var n = r(74322).q, + i = n.ERR_METHOD_NOT_IMPLEMENTED, + a = n.ERR_MULTIPLE_CALLBACK, + o = n.ERR_TRANSFORM_ALREADY_TRANSFORMING, + s = n.ERR_TRANSFORM_WITH_LENGTH_0, + l = r(37865); + function u(t, e) { + var r = this._transformState; + r.transforming = !1; + var n = r.writecb; + if (null === n) return this.emit("error", new a()); + (r.writechunk = null), + (r.writecb = null), + null != e && this.push(e), + n(t); + var i = this._readableState; + (i.reading = !1), + (i.needReadable || i.length < i.highWaterMark) && + this._read(i.highWaterMark); + } + function c(t) { + if (!(this instanceof c)) return new c(t); + l.call(this, t), + (this._transformState = { + afterTransform: u.bind(this), + needTransform: !1, + transforming: !1, + writecb: null, + writechunk: null, + writeencoding: null, + }), + (this._readableState.needReadable = !0), + (this._readableState.sync = !1), + t && + ("function" == typeof t.transform && + (this._transform = t.transform), + "function" == typeof t.flush && + (this._flush = t.flush)), + this.on("prefinish", f); + } + function f() { + var t = this; + "function" != typeof this._flush || + this._readableState.destroyed + ? h(this, null, null) + : this._flush(function (e, r) { + h(t, e, r); + }); + } + function h(t, e, r) { + if (e) return t.emit("error", e); + if ((null != r && t.push(r), t._writableState.length)) + throw new s(); + if (t._transformState.transforming) throw new o(); + return t.push(null); + } + r(42018)(c, l), + (c.prototype.push = function (t, e) { + return ( + (this._transformState.needTransform = !1), + l.prototype.push.call(this, t, e) + ); + }), + (c.prototype._transform = function (t, e, r) { + r(new i("_transform()")); + }), + (c.prototype._write = function (t, e, r) { + var n = this._transformState; + if ( + ((n.writecb = r), + (n.writechunk = t), + (n.writeencoding = e), + !n.transforming) + ) { + var i = this._readableState; + (n.needTransform || + i.needReadable || + i.length < i.highWaterMark) && + this._read(i.highWaterMark); + } + }), + (c.prototype._read = function (t) { + var e = this._transformState; + null === e.writechunk || e.transforming + ? (e.needTransform = !0) + : ((e.transforming = !0), + this._transform( + e.writechunk, + e.writeencoding, + e.afterTransform, + )); + }), + (c.prototype._destroy = function (t, e) { + l.prototype._destroy.call(this, t, function (t) { + e(t); + }); + }); + }, + 37493: function (t, e, r) { + "use strict"; + var n, + i = r(90386); + function a(t) { + var e = this; + (this.next = null), + (this.entry = null), + (this.finish = function () { + !(function (t, e, r) { + var n = t.entry; + for (t.entry = null; n; ) { + var i = n.callback; + e.pendingcb--, i(undefined), (n = n.next); + } + e.corkedRequestsFree.next = t; + })(e, t); + }); + } + (t.exports = A), (A.WritableState = k); + var o, + s = { deprecate: r(20588) }, + l = r(71405), + u = r(12856).Buffer, + c = r.g.Uint8Array || function () {}, + f = r(65756), + h = r(56306).getHighWaterMark, + p = r(74322).q, + d = p.ERR_INVALID_ARG_TYPE, + v = p.ERR_METHOD_NOT_IMPLEMENTED, + g = p.ERR_MULTIPLE_CALLBACK, + y = p.ERR_STREAM_CANNOT_PIPE, + m = p.ERR_STREAM_DESTROYED, + x = p.ERR_STREAM_NULL_VALUES, + b = p.ERR_STREAM_WRITE_AFTER_END, + _ = p.ERR_UNKNOWN_ENCODING, + w = f.errorOrDestroy; + function T() {} + function k(t, e, o) { + (n = n || r(37865)), + (t = t || {}), + "boolean" != typeof o && (o = e instanceof n), + (this.objectMode = !!t.objectMode), + o && + (this.objectMode = + this.objectMode || !!t.writableObjectMode), + (this.highWaterMark = h( + this, + t, + "writableHighWaterMark", + o, + )), + (this.finalCalled = !1), + (this.needDrain = !1), + (this.ending = !1), + (this.ended = !1), + (this.finished = !1), + (this.destroyed = !1); + var s = !1 === t.decodeStrings; + (this.decodeStrings = !s), + (this.defaultEncoding = t.defaultEncoding || "utf8"), + (this.length = 0), + (this.writing = !1), + (this.corked = 0), + (this.sync = !0), + (this.bufferProcessing = !1), + (this.onwrite = function (t) { + !(function (t, e) { + var r = t._writableState, + n = r.sync, + a = r.writecb; + if ("function" != typeof a) throw new g(); + if ( + ((function (t) { + (t.writing = !1), + (t.writecb = null), + (t.length -= t.writelen), + (t.writelen = 0); + })(r), + e) + ) + !(function (t, e, r, n, a) { + --e.pendingcb, + r + ? (i.nextTick(a, n), + i.nextTick(P, t, e), + (t._writableState.errorEmitted = !0), + w(t, n)) + : (a(n), + (t._writableState.errorEmitted = !0), + w(t, n), + P(t, e)); + })(t, r, n, e, a); + else { + var o = L(r) || t.destroyed; + o || + r.corked || + r.bufferProcessing || + !r.bufferedRequest || + E(t, r), + n ? i.nextTick(S, t, r, o, a) : S(t, r, o, a); + } + })(e, t); + }), + (this.writecb = null), + (this.writelen = 0), + (this.bufferedRequest = null), + (this.lastBufferedRequest = null), + (this.pendingcb = 0), + (this.prefinished = !1), + (this.errorEmitted = !1), + (this.emitClose = !1 !== t.emitClose), + (this.autoDestroy = !!t.autoDestroy), + (this.bufferedRequestCount = 0), + (this.corkedRequestsFree = new a(this)); + } + function A(t) { + var e = this instanceof (n = n || r(37865)); + if (!e && !o.call(A, this)) return new A(t); + (this._writableState = new k(t, this, e)), + (this.writable = !0), + t && + ("function" == typeof t.write && + (this._write = t.write), + "function" == typeof t.writev && + (this._writev = t.writev), + "function" == typeof t.destroy && + (this._destroy = t.destroy), + "function" == typeof t.final && + (this._final = t.final)), + l.call(this); + } + function M(t, e, r, n, i, a, o) { + (e.writelen = n), + (e.writecb = o), + (e.writing = !0), + (e.sync = !0), + e.destroyed + ? e.onwrite(new m("write")) + : r + ? t._writev(i, e.onwrite) + : t._write(i, a, e.onwrite), + (e.sync = !1); + } + function S(t, e, r, n) { + r || + (function (t, e) { + 0 === e.length && + e.needDrain && + ((e.needDrain = !1), t.emit("drain")); + })(t, e), + e.pendingcb--, + n(), + P(t, e); + } + function E(t, e) { + e.bufferProcessing = !0; + var r = e.bufferedRequest; + if (t._writev && r && r.next) { + var n = e.bufferedRequestCount, + i = new Array(n), + o = e.corkedRequestsFree; + o.entry = r; + for (var s = 0, l = !0; r; ) + (i[s] = r), r.isBuf || (l = !1), (r = r.next), (s += 1); + (i.allBuffers = l), + M(t, e, !0, e.length, i, "", o.finish), + e.pendingcb++, + (e.lastBufferedRequest = null), + o.next + ? ((e.corkedRequestsFree = o.next), (o.next = null)) + : (e.corkedRequestsFree = new a(e)), + (e.bufferedRequestCount = 0); + } else { + for (; r; ) { + var u = r.chunk, + c = r.encoding, + f = r.callback; + if ( + (M(t, e, !1, e.objectMode ? 1 : u.length, u, c, f), + (r = r.next), + e.bufferedRequestCount--, + e.writing) + ) + break; + } + null === r && (e.lastBufferedRequest = null); + } + (e.bufferedRequest = r), (e.bufferProcessing = !1); + } + function L(t) { + return ( + t.ending && + 0 === t.length && + null === t.bufferedRequest && + !t.finished && + !t.writing + ); + } + function C(t, e) { + t._final(function (r) { + e.pendingcb--, + r && w(t, r), + (e.prefinished = !0), + t.emit("prefinish"), + P(t, e); + }); + } + function P(t, e) { + var r = L(e); + if ( + r && + ((function (t, e) { + e.prefinished || + e.finalCalled || + ("function" != typeof t._final || e.destroyed + ? ((e.prefinished = !0), t.emit("prefinish")) + : (e.pendingcb++, + (e.finalCalled = !0), + i.nextTick(C, t, e))); + })(t, e), + 0 === e.pendingcb && + ((e.finished = !0), t.emit("finish"), e.autoDestroy)) + ) { + var n = t._readableState; + (!n || (n.autoDestroy && n.endEmitted)) && t.destroy(); + } + return r; + } + r(42018)(A, l), + (k.prototype.getBuffer = function () { + for (var t = this.bufferedRequest, e = []; t; ) + e.push(t), (t = t.next); + return e; + }), + (function () { + try { + Object.defineProperty(k.prototype, "buffer", { + get: s.deprecate( + function () { + return this.getBuffer(); + }, + "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", + "DEP0003", + ), + }); + } catch (t) {} + })(), + "function" == typeof Symbol && + Symbol.hasInstance && + "function" == typeof Function.prototype[Symbol.hasInstance] + ? ((o = Function.prototype[Symbol.hasInstance]), + Object.defineProperty(A, Symbol.hasInstance, { + value: function (t) { + return ( + !!o.call(this, t) || + (this === A && t && t._writableState instanceof k) + ); + }, + })) + : (o = function (t) { + return t instanceof this; + }), + (A.prototype.pipe = function () { + w(this, new y()); + }), + (A.prototype.write = function (t, e, r) { + var n, + a = this._writableState, + o = !1, + s = + !a.objectMode && + ((n = t), u.isBuffer(n) || n instanceof c); + return ( + s && + !u.isBuffer(t) && + (t = (function (t) { + return u.from(t); + })(t)), + "function" == typeof e && ((r = e), (e = null)), + s ? (e = "buffer") : e || (e = a.defaultEncoding), + "function" != typeof r && (r = T), + a.ending + ? (function (t, e) { + var r = new b(); + w(t, r), i.nextTick(e, r); + })(this, r) + : (s || + (function (t, e, r, n) { + var a; + return ( + null === r + ? (a = new x()) + : "string" == typeof r || + e.objectMode || + (a = new d( + "chunk", + ["string", "Buffer"], + r, + )), + !a || (w(t, a), i.nextTick(n, a), !1) + ); + })(this, a, t, r)) && + (a.pendingcb++, + (o = (function (t, e, r, n, i, a) { + if (!r) { + var o = (function (t, e, r) { + return ( + t.objectMode || + !1 === t.decodeStrings || + "string" != typeof e || + (e = u.from(e, r)), + e + ); + })(e, n, i); + n !== o && ((r = !0), (i = "buffer"), (n = o)); + } + var s = e.objectMode ? 1 : n.length; + e.length += s; + var l = e.length < e.highWaterMark; + if ( + (l || (e.needDrain = !0), e.writing || e.corked) + ) { + var c = e.lastBufferedRequest; + (e.lastBufferedRequest = { + chunk: n, + encoding: i, + isBuf: r, + callback: a, + next: null, + }), + c + ? (c.next = e.lastBufferedRequest) + : (e.bufferedRequest = + e.lastBufferedRequest), + (e.bufferedRequestCount += 1); + } else M(t, e, !1, s, n, i, a); + return l; + })(this, a, s, t, e, r))), + o + ); + }), + (A.prototype.cork = function () { + this._writableState.corked++; + }), + (A.prototype.uncork = function () { + var t = this._writableState; + t.corked && + (t.corked--, + t.writing || + t.corked || + t.bufferProcessing || + !t.bufferedRequest || + E(this, t)); + }), + (A.prototype.setDefaultEncoding = function (t) { + if ( + ("string" == typeof t && (t = t.toLowerCase()), + !( + [ + "hex", + "utf8", + "utf-8", + "ascii", + "binary", + "base64", + "ucs2", + "ucs-2", + "utf16le", + "utf-16le", + "raw", + ].indexOf((t + "").toLowerCase()) > -1 + )) + ) + throw new _(t); + return (this._writableState.defaultEncoding = t), this; + }), + Object.defineProperty(A.prototype, "writableBuffer", { + enumerable: !1, + get: function () { + return ( + this._writableState && this._writableState.getBuffer() + ); + }, + }), + Object.defineProperty( + A.prototype, + "writableHighWaterMark", + { + enumerable: !1, + get: function () { + return this._writableState.highWaterMark; + }, + }, + ), + (A.prototype._write = function (t, e, r) { + r(new v("_write()")); + }), + (A.prototype._writev = null), + (A.prototype.end = function (t, e, r) { + var n = this._writableState; + return ( + "function" == typeof t + ? ((r = t), (t = null), (e = null)) + : "function" == typeof e && ((r = e), (e = null)), + null != t && this.write(t, e), + n.corked && ((n.corked = 1), this.uncork()), + n.ending || + (function (t, e, r) { + (e.ending = !0), + P(t, e), + r && + (e.finished + ? i.nextTick(r) + : t.once("finish", r)), + (e.ended = !0), + (t.writable = !1); + })(this, n, r), + this + ); + }), + Object.defineProperty(A.prototype, "writableLength", { + enumerable: !1, + get: function () { + return this._writableState.length; + }, + }), + Object.defineProperty(A.prototype, "destroyed", { + enumerable: !1, + get: function () { + return ( + void 0 !== this._writableState && + this._writableState.destroyed + ); + }, + set: function (t) { + this._writableState && + (this._writableState.destroyed = t); + }, + }), + (A.prototype.destroy = f.destroy), + (A.prototype._undestroy = f.undestroy), + (A.prototype._destroy = function (t, e) { + e(t); + }); + }, + 68221: function (t, e, r) { + "use strict"; + var n, + i = r(90386); + function a(t, e, r) { + return ( + e in t + ? Object.defineProperty(t, e, { + value: r, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (t[e] = r), + t + ); + } + var o = r(12726), + s = Symbol("lastResolve"), + l = Symbol("lastReject"), + u = Symbol("error"), + c = Symbol("ended"), + f = Symbol("lastPromise"), + h = Symbol("handlePromise"), + p = Symbol("stream"); + function d(t, e) { + return { value: t, done: e }; + } + function v(t) { + var e = t[s]; + if (null !== e) { + var r = t[p].read(); + null !== r && + ((t[f] = null), + (t[s] = null), + (t[l] = null), + e(d(r, !1))); + } + } + function g(t) { + i.nextTick(v, t); + } + var y = Object.getPrototypeOf(function () {}), + m = Object.setPrototypeOf( + (a( + (n = { + get stream() { + return this[p]; + }, + next: function () { + var t = this, + e = this[u]; + if (null !== e) return Promise.reject(e); + if (this[c]) return Promise.resolve(d(void 0, !0)); + if (this[p].destroyed) + return new Promise(function (e, r) { + i.nextTick(function () { + t[u] ? r(t[u]) : e(d(void 0, !0)); + }); + }); + var r, + n = this[f]; + if (n) + r = new Promise( + (function (t, e) { + return function (r, n) { + t.then(function () { + e[c] ? r(d(void 0, !0)) : e[h](r, n); + }, n); + }; + })(n, this), + ); + else { + var a = this[p].read(); + if (null !== a) return Promise.resolve(d(a, !1)); + r = new Promise(this[h]); + } + return (this[f] = r), r; + }, + }), + Symbol.asyncIterator, + function () { + return this; + }, + ), + a(n, "return", function () { + var t = this; + return new Promise(function (e, r) { + t[p].destroy(null, function (t) { + t ? r(t) : e(d(void 0, !0)); + }); + }); + }), + n), + y, + ); + t.exports = function (t) { + var e, + r = Object.create( + m, + (a((e = {}), p, { value: t, writable: !0 }), + a(e, s, { value: null, writable: !0 }), + a(e, l, { value: null, writable: !0 }), + a(e, u, { value: null, writable: !0 }), + a(e, c, { + value: t._readableState.endEmitted, + writable: !0, + }), + a(e, h, { + value: function (t, e) { + var n = r[p].read(); + n + ? ((r[f] = null), + (r[s] = null), + (r[l] = null), + t(d(n, !1))) + : ((r[s] = t), (r[l] = e)); + }, + writable: !0, + }), + e), + ); + return ( + (r[f] = null), + o(t, function (t) { + if (t && "ERR_STREAM_PREMATURE_CLOSE" !== t.code) { + var e = r[l]; + return ( + null !== e && + ((r[f] = null), + (r[s] = null), + (r[l] = null), + e(t)), + void (r[u] = t) + ); + } + var n = r[s]; + null !== n && + ((r[f] = null), + (r[s] = null), + (r[l] = null), + n(d(void 0, !0))), + (r[c] = !0); + }), + t.on("readable", g.bind(null, r)), + r + ); + }; + }, + 31125: function (t, e, r) { + "use strict"; + function n(t, e) { + var r = Object.keys(t); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(t); + e && + (n = n.filter(function (e) { + return Object.getOwnPropertyDescriptor(t, e) + .enumerable; + })), + r.push.apply(r, n); + } + return r; + } + function i(t, e, r) { + return ( + e in t + ? Object.defineProperty(t, e, { + value: r, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (t[e] = r), + t + ); + } + function a(t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r]; + (n.enumerable = n.enumerable || !1), + (n.configurable = !0), + "value" in n && (n.writable = !0), + Object.defineProperty(t, n.key, n); + } + } + var o = r(12856).Buffer, + s = r(69862).inspect, + l = (s && s.custom) || "inspect"; + t.exports = (function () { + function t() { + !(function (t, e) { + if (!(t instanceof e)) + throw new TypeError( + "Cannot call a class as a function", + ); + })(this, t), + (this.head = null), + (this.tail = null), + (this.length = 0); + } + var e, r; + return ( + (e = t), + (r = [ + { + key: "push", + value: function (t) { + var e = { data: t, next: null }; + this.length > 0 + ? (this.tail.next = e) + : (this.head = e), + (this.tail = e), + ++this.length; + }, + }, + { + key: "unshift", + value: function (t) { + var e = { data: t, next: this.head }; + 0 === this.length && (this.tail = e), + (this.head = e), + ++this.length; + }, + }, + { + key: "shift", + value: function () { + if (0 !== this.length) { + var t = this.head.data; + return ( + 1 === this.length + ? (this.head = this.tail = null) + : (this.head = this.head.next), + --this.length, + t + ); + } + }, + }, + { + key: "clear", + value: function () { + (this.head = this.tail = null), (this.length = 0); + }, + }, + { + key: "join", + value: function (t) { + if (0 === this.length) return ""; + for ( + var e = this.head, r = "" + e.data; + (e = e.next); + + ) + r += t + e.data; + return r; + }, + }, + { + key: "concat", + value: function (t) { + if (0 === this.length) return o.alloc(0); + for ( + var e, + r, + n, + i = o.allocUnsafe(t >>> 0), + a = this.head, + s = 0; + a; + + ) + (e = a.data), + (r = i), + (n = s), + o.prototype.copy.call(e, r, n), + (s += a.data.length), + (a = a.next); + return i; + }, + }, + { + key: "consume", + value: function (t, e) { + var r; + return ( + t < this.head.data.length + ? ((r = this.head.data.slice(0, t)), + (this.head.data = this.head.data.slice(t))) + : (r = + t === this.head.data.length + ? this.shift() + : e + ? this._getString(t) + : this._getBuffer(t)), + r + ); + }, + }, + { + key: "first", + value: function () { + return this.head.data; + }, + }, + { + key: "_getString", + value: function (t) { + var e = this.head, + r = 1, + n = e.data; + for (t -= n.length; (e = e.next); ) { + var i = e.data, + a = t > i.length ? i.length : t; + if ( + (a === i.length + ? (n += i) + : (n += i.slice(0, t)), + 0 == (t -= a)) + ) { + a === i.length + ? (++r, + e.next + ? (this.head = e.next) + : (this.head = this.tail = null)) + : ((this.head = e), (e.data = i.slice(a))); + break; + } + ++r; + } + return (this.length -= r), n; + }, + }, + { + key: "_getBuffer", + value: function (t) { + var e = o.allocUnsafe(t), + r = this.head, + n = 1; + for ( + r.data.copy(e), t -= r.data.length; + (r = r.next); + + ) { + var i = r.data, + a = t > i.length ? i.length : t; + if ( + (i.copy(e, e.length - t, 0, a), 0 == (t -= a)) + ) { + a === i.length + ? (++n, + r.next + ? (this.head = r.next) + : (this.head = this.tail = null)) + : ((this.head = r), (r.data = i.slice(a))); + break; + } + ++n; + } + return (this.length -= n), e; + }, + }, + { + key: l, + value: function (t, e) { + return s( + this, + (function (t) { + for (var e = 1; e < arguments.length; e++) { + var r = + null != arguments[e] ? arguments[e] : {}; + e % 2 + ? n(Object(r), !0).forEach(function (e) { + i(t, e, r[e]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + t, + Object.getOwnPropertyDescriptors(r), + ) + : n(Object(r)).forEach(function (e) { + Object.defineProperty( + t, + e, + Object.getOwnPropertyDescriptor(r, e), + ); + }); + } + return t; + })({}, e, { depth: 0, customInspect: !1 }), + ); + }, + }, + ]), + r && a(e.prototype, r), + t + ); + })(); + }, + 65756: function (t, e, r) { + "use strict"; + var n = r(90386); + function i(t, e) { + o(t, e), a(t); + } + function a(t) { + (t._writableState && !t._writableState.emitClose) || + (t._readableState && !t._readableState.emitClose) || + t.emit("close"); + } + function o(t, e) { + t.emit("error", e); + } + t.exports = { + destroy: function (t, e) { + var r = this, + s = + this._readableState && this._readableState.destroyed, + l = + this._writableState && this._writableState.destroyed; + return s || l + ? (e + ? e(t) + : t && + (this._writableState + ? this._writableState.errorEmitted || + ((this._writableState.errorEmitted = !0), + n.nextTick(o, this, t)) + : n.nextTick(o, this, t)), + this) + : (this._readableState && + (this._readableState.destroyed = !0), + this._writableState && + (this._writableState.destroyed = !0), + this._destroy(t || null, function (t) { + !e && t + ? r._writableState + ? r._writableState.errorEmitted + ? n.nextTick(a, r) + : ((r._writableState.errorEmitted = !0), + n.nextTick(i, r, t)) + : n.nextTick(i, r, t) + : e + ? (n.nextTick(a, r), e(t)) + : n.nextTick(a, r); + }), + this); + }, + undestroy: function () { + this._readableState && + ((this._readableState.destroyed = !1), + (this._readableState.reading = !1), + (this._readableState.ended = !1), + (this._readableState.endEmitted = !1)), + this._writableState && + ((this._writableState.destroyed = !1), + (this._writableState.ended = !1), + (this._writableState.ending = !1), + (this._writableState.finalCalled = !1), + (this._writableState.prefinished = !1), + (this._writableState.finished = !1), + (this._writableState.errorEmitted = !1)); + }, + errorOrDestroy: function (t, e) { + var r = t._readableState, + n = t._writableState; + (r && r.autoDestroy) || (n && n.autoDestroy) + ? t.destroy(e) + : t.emit("error", e); + }, + }; + }, + 12726: function (t, e, r) { + "use strict"; + var n = r(74322).q.ERR_STREAM_PREMATURE_CLOSE; + function i() {} + t.exports = function t(e, r, a) { + if ("function" == typeof r) return t(e, null, r); + r || (r = {}), + (a = (function (t) { + var e = !1; + return function () { + if (!e) { + e = !0; + for ( + var r = arguments.length, n = new Array(r), i = 0; + i < r; + i++ + ) + n[i] = arguments[i]; + t.apply(this, n); + } + }; + })(a || i)); + var o = r.readable || (!1 !== r.readable && e.readable), + s = r.writable || (!1 !== r.writable && e.writable), + l = function () { + e.writable || c(); + }, + u = e._writableState && e._writableState.finished, + c = function () { + (s = !1), (u = !0), o || a.call(e); + }, + f = e._readableState && e._readableState.endEmitted, + h = function () { + (o = !1), (f = !0), s || a.call(e); + }, + p = function (t) { + a.call(e, t); + }, + d = function () { + var t; + return o && !f + ? ((e._readableState && e._readableState.ended) || + (t = new n()), + a.call(e, t)) + : s && !u + ? ((e._writableState && e._writableState.ended) || + (t = new n()), + a.call(e, t)) + : void 0; + }, + v = function () { + e.req.on("finish", c); + }; + return ( + (function (t) { + return t.setHeader && "function" == typeof t.abort; + })(e) + ? (e.on("complete", c), + e.on("abort", d), + e.req ? v() : e.on("request", v)) + : s && + !e._writableState && + (e.on("end", l), e.on("close", l)), + e.on("end", h), + e.on("finish", c), + !1 !== r.error && e.on("error", p), + e.on("close", d), + function () { + e.removeListener("complete", c), + e.removeListener("abort", d), + e.removeListener("request", v), + e.req && e.req.removeListener("finish", c), + e.removeListener("end", l), + e.removeListener("close", l), + e.removeListener("finish", c), + e.removeListener("end", h), + e.removeListener("error", p), + e.removeListener("close", d); + } + ); + }; + }, + 31748: function (t) { + t.exports = function () { + throw new Error( + "Readable.from is not available in the browser", + ); + }; + }, + 10168: function (t, e, r) { + "use strict"; + var n, + i = r(74322).q, + a = i.ERR_MISSING_ARGS, + o = i.ERR_STREAM_DESTROYED; + function s(t) { + if (t) throw t; + } + function l(t, e, i, a) { + a = (function (t) { + var e = !1; + return function () { + e || ((e = !0), t.apply(void 0, arguments)); + }; + })(a); + var s = !1; + t.on("close", function () { + s = !0; + }), + void 0 === n && (n = r(12726)), + n(t, { readable: e, writable: i }, function (t) { + if (t) return a(t); + (s = !0), a(); + }); + var l = !1; + return function (e) { + if (!s && !l) + return ( + (l = !0), + (function (t) { + return t.setHeader && "function" == typeof t.abort; + })(t) + ? t.abort() + : "function" == typeof t.destroy + ? t.destroy() + : void a(e || new o("pipe")) + ); + }; + } + function u(t) { + t(); + } + function c(t, e) { + return t.pipe(e); + } + function f(t) { + return t.length + ? "function" != typeof t[t.length - 1] + ? s + : t.pop() + : s; + } + t.exports = function () { + for ( + var t = arguments.length, e = new Array(t), r = 0; + r < t; + r++ + ) + e[r] = arguments[r]; + var n, + i = f(e); + if ((Array.isArray(e[0]) && (e = e[0]), e.length < 2)) + throw new a("streams"); + var o = e.map(function (t, r) { + var a = r < e.length - 1; + return l(t, a, r > 0, function (t) { + n || (n = t), + t && o.forEach(u), + a || (o.forEach(u), i(n)); + }); + }); + return e.reduce(c); + }; + }, + 56306: function (t, e, r) { + "use strict"; + var n = r(74322).q.ERR_INVALID_OPT_VALUE; + t.exports = { + getHighWaterMark: function (t, e, r, i) { + var a = (function (t, e, r) { + return null != t.highWaterMark + ? t.highWaterMark + : e + ? t[r] + : null; + })(e, i, r); + if (null != a) { + if (!isFinite(a) || Math.floor(a) !== a || a < 0) + throw new n(i ? r : "highWaterMark", a); + return Math.floor(a); + } + return t.objectMode ? 16 : 16384; + }, + }; + }, + 71405: function (t, e, r) { + t.exports = r(15398).EventEmitter; + }, + 68019: function (t, e, r) { + "use strict"; + var n = r(71665).Buffer, + i = + n.isEncoding || + function (t) { + switch ((t = "" + t) && t.toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + case "raw": + return !0; + default: + return !1; + } + }; + function a(t) { + var e; + switch ( + ((this.encoding = (function (t) { + var e = (function (t) { + if (!t) return "utf8"; + for (var e; ; ) + switch (t) { + case "utf8": + case "utf-8": + return "utf8"; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return "utf16le"; + case "latin1": + case "binary": + return "latin1"; + case "base64": + case "ascii": + case "hex": + return t; + default: + if (e) return; + (t = ("" + t).toLowerCase()), (e = !0); + } + })(t); + if ( + "string" != typeof e && + (n.isEncoding === i || !i(t)) + ) + throw new Error("Unknown encoding: " + t); + return e || t; + })(t)), + this.encoding) + ) { + case "utf16le": + (this.text = l), (this.end = u), (e = 4); + break; + case "utf8": + (this.fillLast = s), (e = 4); + break; + case "base64": + (this.text = c), (this.end = f), (e = 3); + break; + default: + return (this.write = h), void (this.end = p); + } + (this.lastNeed = 0), + (this.lastTotal = 0), + (this.lastChar = n.allocUnsafe(e)); + } + function o(t) { + return t <= 127 + ? 0 + : t >> 5 == 6 + ? 2 + : t >> 4 == 14 + ? 3 + : t >> 3 == 30 + ? 4 + : t >> 6 == 2 + ? -1 + : -2; + } + function s(t) { + var e = this.lastTotal - this.lastNeed, + r = (function (t, e, r) { + if (128 != (192 & e[0])) return (t.lastNeed = 0), "�"; + if (t.lastNeed > 1 && e.length > 1) { + if (128 != (192 & e[1])) return (t.lastNeed = 1), "�"; + if ( + t.lastNeed > 2 && + e.length > 2 && + 128 != (192 & e[2]) + ) + return (t.lastNeed = 2), "�"; + } + })(this, t); + return void 0 !== r + ? r + : this.lastNeed <= t.length + ? (t.copy(this.lastChar, e, 0, this.lastNeed), + this.lastChar.toString( + this.encoding, + 0, + this.lastTotal, + )) + : (t.copy(this.lastChar, e, 0, t.length), + void (this.lastNeed -= t.length)); + } + function l(t, e) { + if ((t.length - e) % 2 == 0) { + var r = t.toString("utf16le", e); + if (r) { + var n = r.charCodeAt(r.length - 1); + if (n >= 55296 && n <= 56319) + return ( + (this.lastNeed = 2), + (this.lastTotal = 4), + (this.lastChar[0] = t[t.length - 2]), + (this.lastChar[1] = t[t.length - 1]), + r.slice(0, -1) + ); + } + return r; + } + return ( + (this.lastNeed = 1), + (this.lastTotal = 2), + (this.lastChar[0] = t[t.length - 1]), + t.toString("utf16le", e, t.length - 1) + ); + } + function u(t) { + var e = t && t.length ? this.write(t) : ""; + if (this.lastNeed) { + var r = this.lastTotal - this.lastNeed; + return e + this.lastChar.toString("utf16le", 0, r); + } + return e; + } + function c(t, e) { + var r = (t.length - e) % 3; + return 0 === r + ? t.toString("base64", e) + : ((this.lastNeed = 3 - r), + (this.lastTotal = 3), + 1 === r + ? (this.lastChar[0] = t[t.length - 1]) + : ((this.lastChar[0] = t[t.length - 2]), + (this.lastChar[1] = t[t.length - 1])), + t.toString("base64", e, t.length - r)); + } + function f(t) { + var e = t && t.length ? this.write(t) : ""; + return this.lastNeed + ? e + + this.lastChar.toString("base64", 0, 3 - this.lastNeed) + : e; + } + function h(t) { + return t.toString(this.encoding); + } + function p(t) { + return t && t.length ? this.write(t) : ""; + } + (e.s = a), + (a.prototype.write = function (t) { + if (0 === t.length) return ""; + var e, r; + if (this.lastNeed) { + if (void 0 === (e = this.fillLast(t))) return ""; + (r = this.lastNeed), (this.lastNeed = 0); + } else r = 0; + return r < t.length + ? e + ? e + this.text(t, r) + : this.text(t, r) + : e || ""; + }), + (a.prototype.end = function (t) { + var e = t && t.length ? this.write(t) : ""; + return this.lastNeed ? e + "�" : e; + }), + (a.prototype.text = function (t, e) { + var r = (function (t, e, r) { + var n = e.length - 1; + if (n < r) return 0; + var i = o(e[n]); + return i >= 0 + ? (i > 0 && (t.lastNeed = i - 1), i) + : --n < r || -2 === i + ? 0 + : (i = o(e[n])) >= 0 + ? (i > 0 && (t.lastNeed = i - 2), i) + : --n < r || -2 === i + ? 0 + : (i = o(e[n])) >= 0 + ? (i > 0 && + (2 === i ? (i = 0) : (t.lastNeed = i - 3)), + i) + : 0; + })(this, t, e); + if (!this.lastNeed) return t.toString("utf8", e); + this.lastTotal = r; + var n = t.length - (r - this.lastNeed); + return ( + t.copy(this.lastChar, 0, n), t.toString("utf8", e, n) + ); + }), + (a.prototype.fillLast = function (t) { + if (this.lastNeed <= t.length) + return ( + t.copy( + this.lastChar, + this.lastTotal - this.lastNeed, + 0, + this.lastNeed, + ), + this.lastChar.toString( + this.encoding, + 0, + this.lastTotal, + ) + ); + t.copy( + this.lastChar, + this.lastTotal - this.lastNeed, + 0, + t.length, + ), + (this.lastNeed -= t.length); + }); + }, + 90715: function (t, e, r) { + var n = r(32791), + i = r(41633)("stream-parser"); + function a(t) { + i("initializing parser stream"), + (t._parserBytesLeft = 0), + (t._parserBuffers = []), + (t._parserBuffered = 0), + (t._parserState = -1), + (t._parserCallback = null), + "function" == typeof t.push && + (t._parserOutput = t.push.bind(t)), + (t._parserInit = !0); + } + function o(t, e) { + n( + !this._parserCallback, + 'there is already a "callback" set!', + ), + n( + isFinite(t) && t > 0, + 'can only buffer a finite number of bytes > 0, got "' + + t + + '"', + ), + this._parserInit || a(this), + i("buffering %o bytes", t), + (this._parserBytesLeft = t), + (this._parserCallback = e), + (this._parserState = 0); + } + function s(t, e) { + n( + !this._parserCallback, + 'there is already a "callback" set!', + ), + n(t > 0, 'can only skip > 0 bytes, got "' + t + '"'), + this._parserInit || a(this), + i("skipping %o bytes", t), + (this._parserBytesLeft = t), + (this._parserCallback = e), + (this._parserState = 1); + } + function l(t, e) { + n( + !this._parserCallback, + 'There is already a "callback" set!', + ), + n( + t > 0, + 'can only pass through > 0 bytes, got "' + t + '"', + ), + this._parserInit || a(this), + i("passing through %o bytes", t), + (this._parserBytesLeft = t), + (this._parserCallback = e), + (this._parserState = 2); + } + function u(t, e, r) { + this._parserInit || a(this), + i("write(%o bytes)", t.length), + "function" == typeof e && (r = e), + h(this, t, null, r); + } + function c(t, e, r) { + this._parserInit || a(this), + i("transform(%o bytes)", t.length), + "function" != typeof e && (e = this._parserOutput), + h(this, t, e, r); + } + function f(t, e, r, n) { + if ( + ((t._parserBytesLeft -= e.length), + i("%o bytes left for stream piece", t._parserBytesLeft), + 0 === t._parserState + ? (t._parserBuffers.push(e), + (t._parserBuffered += e.length)) + : 2 === t._parserState && r(e), + 0 !== t._parserBytesLeft) + ) + return n; + var a = t._parserCallback; + if ( + (a && + 0 === t._parserState && + t._parserBuffers.length > 1 && + (e = Buffer.concat( + t._parserBuffers, + t._parserBuffered, + )), + 0 !== t._parserState && (e = null), + (t._parserCallback = null), + (t._parserBuffered = 0), + (t._parserState = -1), + t._parserBuffers.splice(0), + a) + ) { + var o = []; + e && o.push(e), r && o.push(r); + var s = a.length > o.length; + s && o.push(p(n)); + var l = a.apply(t, o); + if (!s || n === l) return n; + } + } + t.exports = function (t) { + var e = t && "function" == typeof t._transform, + r = t && "function" == typeof t._write; + if (!e && !r) + throw new Error( + "must pass a Writable or Transform stream in", + ); + i("extending Parser into stream"), + (t._bytes = o), + (t._skipBytes = s), + e && (t._passthrough = l), + e ? (t._transform = c) : (t._write = u); + }; + var h = p(function t(e, r, n, i) { + return e._parserBytesLeft <= 0 + ? i( + new Error( + "got data but not currently parsing anything", + ), + ) + : r.length <= e._parserBytesLeft + ? function () { + return f(e, r, n, i); + } + : function () { + var a = r.slice(0, e._parserBytesLeft); + return f(e, a, n, function (o) { + return o + ? i(o) + : r.length > a.length + ? function () { + return t(e, r.slice(a.length), n, i); + } + : void 0; + }); + }; + }); + function p(t) { + return function () { + for ( + var e = t.apply(this, arguments); + "function" == typeof e; + + ) + e = e(); + return e; + }; + } + }, + 41633: function (t, e, r) { + var n = r(90386); + function i() { + var t; + try { + t = e.storage.debug; + } catch (t) {} + return ( + !t && void 0 !== n && "env" in n && (t = n.env.DEBUG), t + ); + } + ((e = t.exports = r(74469)).log = function () { + return ( + "object" == typeof console && + console.log && + Function.prototype.apply.call( + console.log, + console, + arguments, + ) + ); + }), + (e.formatArgs = function (t) { + var r = this.useColors; + if ( + ((t[0] = + (r ? "%c" : "") + + this.namespace + + (r ? " %c" : " ") + + t[0] + + (r ? "%c " : " ") + + "+" + + e.humanize(this.diff)), + r) + ) { + var n = "color: " + this.color; + t.splice(1, 0, n, "color: inherit"); + var i = 0, + a = 0; + t[0].replace(/%[a-zA-Z%]/g, function (t) { + "%%" !== t && (i++, "%c" === t && (a = i)); + }), + t.splice(a, 0, n); + } + }), + (e.save = function (t) { + try { + null == t + ? e.storage.removeItem("debug") + : (e.storage.debug = t); + } catch (t) {} + }), + (e.load = i), + (e.useColors = function () { + return ( + !( + "undefined" == typeof window || + !window.process || + "renderer" !== window.process.type + ) || + ("undefined" != typeof document && + document.documentElement && + document.documentElement.style && + document.documentElement.style.WebkitAppearance) || + ("undefined" != typeof window && + window.console && + (window.console.firebug || + (window.console.exception && + window.console.table))) || + ("undefined" != typeof navigator && + navigator.userAgent && + navigator.userAgent + .toLowerCase() + .match(/firefox\/(\d+)/) && + parseInt(RegExp.$1, 10) >= 31) || + ("undefined" != typeof navigator && + navigator.userAgent && + navigator.userAgent + .toLowerCase() + .match(/applewebkit\/(\d+)/)) + ); + }), + (e.storage = + "undefined" != typeof chrome && void 0 !== chrome.storage + ? chrome.storage.local + : (function () { + try { + return window.localStorage; + } catch (t) {} + })()), + (e.colors = [ + "lightseagreen", + "forestgreen", + "goldenrod", + "dodgerblue", + "darkorchid", + "crimson", + ]), + (e.formatters.j = function (t) { + try { + return JSON.stringify(t); + } catch (t) { + return "[UnexpectedJSONParseError]: " + t.message; + } + }), + e.enable(i()); + }, + 74469: function (t, e, r) { + var n; + function i(t) { + function r() { + if (r.enabled) { + var t = r, + i = +new Date(), + a = i - (n || i); + (t.diff = a), (t.prev = n), (t.curr = i), (n = i); + for ( + var o = new Array(arguments.length), s = 0; + s < o.length; + s++ + ) + o[s] = arguments[s]; + (o[0] = e.coerce(o[0])), + "string" != typeof o[0] && o.unshift("%O"); + var l = 0; + (o[0] = o[0].replace(/%([a-zA-Z%])/g, function (r, n) { + if ("%%" === r) return r; + l++; + var i = e.formatters[n]; + if ("function" == typeof i) { + var a = o[l]; + (r = i.call(t, a)), o.splice(l, 1), l--; + } + return r; + })), + e.formatArgs.call(t, o); + var u = r.log || e.log || console.log.bind(console); + u.apply(t, o); + } + } + return ( + (r.namespace = t), + (r.enabled = e.enabled(t)), + (r.useColors = e.useColors()), + (r.color = (function (t) { + var r, + n = 0; + for (r in t) + (n = (n << 5) - n + t.charCodeAt(r)), (n |= 0); + return e.colors[Math.abs(n) % e.colors.length]; + })(t)), + "function" == typeof e.init && e.init(r), + r + ); + } + ((e = t.exports = i.debug = i.default = i).coerce = function ( + t, + ) { + return t instanceof Error ? t.stack || t.message : t; + }), + (e.disable = function () { + e.enable(""); + }), + (e.enable = function (t) { + e.save(t), (e.names = []), (e.skips = []); + for ( + var r = ("string" == typeof t ? t : "").split(/[\s,]+/), + n = r.length, + i = 0; + i < n; + i++ + ) + r[i] && + ("-" === (t = r[i].replace(/\*/g, ".*?"))[0] + ? e.skips.push(new RegExp("^" + t.substr(1) + "$")) + : e.names.push(new RegExp("^" + t + "$"))); + }), + (e.enabled = function (t) { + var r, n; + for (r = 0, n = e.skips.length; r < n; r++) + if (e.skips[r].test(t)) return !1; + for (r = 0, n = e.names.length; r < n; r++) + if (e.names[r].test(t)) return !0; + return !1; + }), + (e.humanize = r(11375)), + (e.names = []), + (e.skips = []), + (e.formatters = {}); + }, + 11375: function (t) { + var e = 1e3, + r = 60 * e, + n = 60 * r, + i = 24 * n; + function a(t, e, r) { + if (!(t < e)) + return t < 1.5 * e + ? Math.floor(t / e) + " " + r + : Math.ceil(t / e) + " " + r + "s"; + } + t.exports = function (t, o) { + o = o || {}; + var s, + l = typeof t; + if ("string" === l && t.length > 0) + return (function (t) { + if (!((t = String(t)).length > 100)) { + var a = + /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec( + t, + ); + if (a) { + var o = parseFloat(a[1]); + switch ((a[2] || "ms").toLowerCase()) { + case "years": + case "year": + case "yrs": + case "yr": + case "y": + return 315576e5 * o; + case "days": + case "day": + case "d": + return o * i; + case "hours": + case "hour": + case "hrs": + case "hr": + case "h": + return o * n; + case "minutes": + case "minute": + case "mins": + case "min": + case "m": + return o * r; + case "seconds": + case "second": + case "secs": + case "sec": + case "s": + return o * e; + case "milliseconds": + case "millisecond": + case "msecs": + case "msec": + case "ms": + return o; + default: + return; + } + } + } + })(t); + if ("number" === l && !1 === isNaN(t)) + return o.long + ? a((s = t), i, "day") || + a(s, n, "hour") || + a(s, r, "minute") || + a(s, e, "second") || + s + " ms" + : (function (t) { + return t >= i + ? Math.round(t / i) + "d" + : t >= n + ? Math.round(t / n) + "h" + : t >= r + ? Math.round(t / r) + "m" + : t >= e + ? Math.round(t / e) + "s" + : t + "ms"; + })(t); + throw new Error( + "val is not a non-empty string or a valid number. val=" + + JSON.stringify(t), + ); + }; + }, + 99011: function (t, e, r) { + "use strict"; + var n = r(88641); + t.exports = function (t, e, r) { + if (null == t) + throw Error("First argument should be a string"); + if (null == e) + throw Error("Separator should be a string or a RegExp"); + r + ? ("string" == typeof r || Array.isArray(r)) && + (r = { ignore: r }) + : (r = {}), + null == r.escape && (r.escape = !0), + null == r.ignore + ? (r.ignore = [ + "[]", + "()", + "{}", + "<>", + '""', + "''", + "``", + "“”", + "«»", + ]) + : ("string" == typeof r.ignore && + (r.ignore = [r.ignore]), + (r.ignore = r.ignore.map(function (t) { + return 1 === t.length && (t += t), t; + }))); + var i = n.parse(t, { flat: !0, brackets: r.ignore }), + a = i[0].split(e); + if (r.escape) { + for (var o = [], s = 0; s < a.length; s++) { + var l = a[s], + u = a[s + 1]; + "\\" === l[l.length - 1] && "\\" !== l[l.length - 2] + ? (o.push(l + e + u), s++) + : o.push(l); + } + a = o; + } + for (s = 0; s < a.length; s++) + (i[0] = a[s]), (a[s] = n.stringify(i, { flat: !0 })); + return a; + }; + }, + 68664: function (t) { + "use strict"; + t.exports = 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, + f = [], + h = []; + 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 v = p[d]; + if (r[v] < 0) { + (r[v] = n[v] = c), + (i[v] = !0), + (c += 1), + l.push(v), + u.push(v); + break; + } + i[v] && (n[e] = 0 | Math.min(n[e], n[v])), + o[v] >= 0 && s[e].push(o[v]); + } + a[e] = d; + } else { + if (n[e] === r[e]) { + var g = [], + y = [], + m = 0; + for (d = l.length - 1; d >= 0; --d) { + var x = l[d]; + if ( + ((i[x] = !1), + g.push(x), + y.push(s[x]), + (m += s[x].length), + (o[x] = f.length), + x === e) + ) { + l.length = d; + break; + } + } + f.push(g); + var b = new Array(m); + for (d = 0; d < y.length; d++) + for (var _ = 0; _ < y[d].length; _++) + b[--m] = y[d][_]; + h.push(b); + } + u.pop(); + } + } + } + for (l = 0; l < e; ++l) r[l] < 0 && p(l); + for (l = 0; l < h.length; l++) { + var d = h[l]; + if (0 !== d.length) { + d.sort(function (t, e) { + return t - e; + }), + (u = [d[0]]); + for (var v = 1; v < d.length; v++) + d[v] !== d[v - 1] && u.push(d[v]); + h[l] = u; + } + } + return { components: f, adjacencyList: h }; + }; + }, + 7095: function (t, e, r) { + "use strict"; + r.r(e); + var n = 2 * Math.PI, + i = 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, + }; + }, + a = function (t, e) { + var r = + 1.5707963267948966 === e + ? 0.551915024494 + : -1.5707963267948966 === e + ? -0.551915024494 + : (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 }, + ]; + }, + o = function (t, e, r, n) { + var i = t * r + e * n; + return ( + i > 1 && (i = 1), + i < -1 && (i = -1), + (t * n - e * r < 0 ? -1 : 1) * Math.acos(i) + ); + }; + e.default = function (t) { + var e = t.px, + r = t.py, + s = t.cx, + l = t.cy, + u = t.rx, + c = t.ry, + f = t.xAxisRotation, + h = void 0 === f ? 0 : f, + p = t.largeArcFlag, + d = void 0 === p ? 0 : p, + v = t.sweepFlag, + g = void 0 === v ? 0 : v, + y = []; + if (0 === u || 0 === c) return []; + var m = Math.sin((h * n) / 360), + x = Math.cos((h * n) / 360), + b = (x * (e - s)) / 2 + (m * (r - l)) / 2, + _ = (-m * (e - s)) / 2 + (x * (r - l)) / 2; + if (0 === b && 0 === _) return []; + (u = Math.abs(u)), (c = Math.abs(c)); + var w = + Math.pow(b, 2) / Math.pow(u, 2) + + Math.pow(_, 2) / Math.pow(c, 2); + w > 1 && ((u *= Math.sqrt(w)), (c *= Math.sqrt(w))); + var T = (function (t, e, r, i, a, s, l, u, c, f, h, p) { + var d = Math.pow(a, 2), + v = Math.pow(s, 2), + g = Math.pow(h, 2), + y = Math.pow(p, 2), + m = d * v - d * y - v * g; + m < 0 && (m = 0), (m /= d * y + v * g); + var x = + (((m = Math.sqrt(m) * (l === u ? -1 : 1)) * a) / + s) * + p, + b = ((m * -s) / a) * h, + _ = f * x - c * b + (t + r) / 2, + w = c * x + f * b + (e + i) / 2, + T = (h - x) / a, + k = (p - b) / s, + A = (-h - x) / a, + M = (-p - b) / s, + S = o(1, 0, T, k), + E = o(T, k, A, M); + return ( + 0 === u && E > 0 && (E -= n), + 1 === u && E < 0 && (E += n), + [_, w, S, E] + ); + })(e, r, s, l, u, c, d, g, m, x, b, _), + k = (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", + ); + })(T, 4), + A = k[0], + M = k[1], + S = k[2], + E = k[3], + L = Math.abs(E) / (n / 4); + Math.abs(1 - L) < 1e-7 && (L = 1); + var C = Math.max(Math.ceil(L), 1); + E /= C; + for (var P = 0; P < C; P++) y.push(a(S, E)), (S += E); + return y.map(function (t) { + var e = i(t[0], u, c, x, m, A, M), + r = e.x, + n = e.y, + a = i(t[1], u, c, x, m, A, M), + o = a.x, + s = a.y, + l = i(t[2], u, c, x, m, A, M); + return { x1: r, y1: n, x2: o, y2: s, x: l.x, y: l.y }; + }); + }; + }, + 1750: function (t, e, r) { + "use strict"; + var n = r(95616), + i = r(65185), + a = r(29988), + o = r(89546), + s = r(32791); + t.exports = function (t) { + if ( + (Array.isArray(t) && + 1 === t.length && + "string" == typeof t[0] && + (t = t[0]), + "string" == typeof t && + (s(o(t), "String is not an SVG path."), (t = n(t))), + s( + Array.isArray(t), + "Argument should be a string or an array of path segments.", + ), + (t = i(t)), + !(t = a(t)).length) + ) + return [0, 0, 0, 0]; + for ( + var e = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + r = 0, + l = t.length; + r < l; + r++ + ) + for (var u = t[r].slice(1), c = 0; c < u.length; c += 2) + u[c + 0] < e[0] && (e[0] = u[c + 0]), + u[c + 1] < e[1] && (e[1] = u[c + 1]), + u[c + 0] > e[2] && (e[2] = u[c + 0]), + u[c + 1] > e[3] && (e[3] = u[c + 1]); + return e; + }; + }, + 29988: function (t, e, r) { + "use strict"; + t.exports = function (t) { + for ( + var e, + r = [], + o = 0, + s = 0, + l = 0, + u = 0, + c = null, + f = null, + h = 0, + p = 0, + d = 0, + v = t.length; + d < v; + d++ + ) { + var g = t[d], + y = g[0]; + switch (y) { + case "M": + (l = g[1]), (u = g[2]); + break; + case "A": + var m = n({ + px: h, + py: p, + cx: g[6], + cy: g[7], + rx: g[1], + ry: g[2], + xAxisRotation: g[3], + largeArcFlag: g[4], + sweepFlag: g[5], + }); + if (!m.length) continue; + for (var x, b = 0; b < m.length; b++) + (g = [ + "C", + (x = m[b]).x1, + x.y1, + x.x2, + x.y2, + x.x, + x.y, + ]), + b < m.length - 1 && r.push(g); + break; + case "S": + var _ = h, + w = p; + ("C" != e && "S" != e) || + ((_ += _ - o), (w += w - s)), + (g = ["C", _, w, g[1], g[2], g[3], g[4]]); + break; + case "T": + "Q" == e || "T" == e + ? ((c = 2 * h - c), (f = 2 * p - f)) + : ((c = h), (f = p)), + (g = a(h, p, c, f, g[1], g[2])); + break; + case "Q": + (c = g[1]), + (f = g[2]), + (g = a(h, p, g[1], g[2], g[3], g[4])); + break; + case "L": + g = i(h, p, g[1], g[2]); + break; + case "H": + g = i(h, p, g[1], p); + break; + case "V": + g = i(h, p, h, g[1]); + break; + case "Z": + g = i(h, p, l, u); + } + (e = y), + (h = g[g.length - 2]), + (p = g[g.length - 1]), + g.length > 4 + ? ((o = g[g.length - 4]), (s = g[g.length - 3])) + : ((o = h), (s = p)), + r.push(g); + } + return r; + }; + var n = r(7095); + function i(t, e, r, n) { + return ["C", t, e, r, n, r, n]; + } + function a(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, + ]; + } + }, + 82019: function (t, e, r) { + "use strict"; + var n, + i = r(1750), + a = r(95616), + o = r(31457), + s = r(89546), + l = r(44781), + u = document.createElement("canvas"), + c = u.getContext("2d"); + t.exports = function (t, e) { + if (!s(t)) + throw Error("Argument should be valid svg path string"); + var r, f; + e || (e = {}), + e.shape + ? ((r = e.shape[0]), (f = e.shape[1])) + : ((r = u.width = e.w || e.width || 200), + (f = u.height = e.h || e.height || 200)); + var h = Math.min(r, f), + p = e.stroke || 0, + d = e.viewbox || e.viewBox || i(t), + v = [r / (d[2] - d[0]), f / (d[3] - d[1])], + g = Math.min(v[0] || 0, v[1] || 0) / 2; + if ( + ((c.fillStyle = "black"), + c.fillRect(0, 0, r, f), + (c.fillStyle = "white"), + p && + ("number" != typeof p && (p = 1), + (c.strokeStyle = p > 0 ? "white" : "black"), + (c.lineWidth = Math.abs(p))), + c.translate(0.5 * r, 0.5 * f), + c.scale(g, g), + (function () { + if (null != n) return n; + var t = document + .createElement("canvas") + .getContext("2d"); + if ( + ((t.canvas.width = t.canvas.height = 1), + !window.Path2D) + ) + return (n = !1); + var e = new Path2D("M0,0h1v1h-1v-1Z"); + (t.fillStyle = "black"), t.fill(e); + var r = t.getImageData(0, 0, 1, 1); + return (n = r && r.data && 255 === r.data[3]); + })()) + ) { + var y = new Path2D(t); + c.fill(y), p && c.stroke(y); + } else { + var m = a(t); + o(c, m), c.fill(), p && c.stroke(); + } + return ( + c.setTransform(1, 0, 0, 1, 0, 0), + l(c, { + cutoff: null != e.cutoff ? e.cutoff : 0.5, + radius: null != e.radius ? e.radius : 0.5 * h, + }) + ); + }; + }, + 84267: function (t, e, r) { + var n; + !(function (i) { + var a = /^\s+/, + o = /\s+$/, + s = 0, + l = i.round, + u = i.min, + c = i.max, + f = i.random; + function h(t, e) { + if (((e = e || {}), (t = t || "") instanceof h)) return t; + if (!(this instanceof h)) return new h(t, e); + var r = (function (t) { + var e, + r, + n, + s = { r: 0, g: 0, b: 0 }, + l = 1, + f = null, + h = null, + p = null, + d = !1, + v = !1; + return ( + "string" == typeof t && + (t = (function (t) { + t = t.replace(a, "").replace(o, "").toLowerCase(); + var e, + r = !1; + if (C[t]) (t = C[t]), (r = !0); + else if ("transparent" == t) + return { + r: 0, + g: 0, + b: 0, + a: 0, + format: "name", + }; + return (e = H.rgb.exec(t)) + ? { r: e[1], g: e[2], b: e[3] } + : (e = H.rgba.exec(t)) + ? { r: e[1], g: e[2], b: e[3], a: e[4] } + : (e = H.hsl.exec(t)) + ? { h: e[1], s: e[2], l: e[3] } + : (e = H.hsla.exec(t)) + ? { h: e[1], s: e[2], l: e[3], a: e[4] } + : (e = H.hsv.exec(t)) + ? { h: e[1], s: e[2], v: e[3] } + : (e = H.hsva.exec(t)) + ? { h: e[1], s: e[2], v: e[3], a: e[4] } + : (e = H.hex8.exec(t)) + ? { + r: z(e[1]), + g: z(e[2]), + b: z(e[3]), + a: N(e[4]), + format: r ? "name" : "hex8", + } + : (e = H.hex6.exec(t)) + ? { + r: z(e[1]), + g: z(e[2]), + b: z(e[3]), + format: r ? "name" : "hex", + } + : (e = H.hex4.exec(t)) + ? { + r: z(e[1] + "" + e[1]), + g: z(e[2] + "" + e[2]), + b: z(e[3] + "" + e[3]), + a: N(e[4] + "" + e[4]), + format: r ? "name" : "hex8", + } + : !!(e = H.hex3.exec(t)) && { + r: z(e[1] + "" + e[1]), + g: z(e[2] + "" + e[2]), + b: z(e[3] + "" + e[3]), + format: r ? "name" : "hex", + }; + })(t)), + "object" == typeof t && + (q(t.r) && q(t.g) && q(t.b) + ? ((e = t.r), + (r = t.g), + (n = t.b), + (s = { + r: 255 * I(e, 255), + g: 255 * I(r, 255), + b: 255 * I(n, 255), + }), + (d = !0), + (v = + "%" === String(t.r).substr(-1) + ? "prgb" + : "rgb")) + : q(t.h) && q(t.s) && q(t.v) + ? ((f = F(t.s)), + (h = F(t.v)), + (s = (function (t, e, r) { + (t = 6 * I(t, 360)), + (e = I(e, 100)), + (r = I(r, 100)); + var n = i.floor(t), + a = t - n, + o = r * (1 - e), + s = r * (1 - a * e), + l = r * (1 - (1 - a) * e), + u = n % 6; + return { + r: 255 * [r, s, o, o, l, r][u], + g: 255 * [l, r, r, s, o, o][u], + b: 255 * [o, o, l, r, r, s][u], + }; + })(t.h, f, h)), + (d = !0), + (v = "hsv")) + : q(t.h) && + q(t.s) && + q(t.l) && + ((f = F(t.s)), + (p = F(t.l)), + (s = (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 < 0.5 + ? e + : r < 2 / 3 + ? t + (e - t) * (2 / 3 - r) * 6 + : t + ); + } + if ( + ((t = I(t, 360)), + (e = I(e, 100)), + (r = I(r, 100)), + 0 === e) + ) + n = i = a = r; + else { + var s = + r < 0.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 }; + })(t.h, f, p)), + (d = !0), + (v = "hsl")), + t.hasOwnProperty("a") && (l = t.a)), + (l = O(l)), + { + ok: d, + format: t.format || v, + r: u(255, c(s.r, 0)), + g: u(255, c(s.g, 0)), + b: u(255, c(s.b, 0)), + a: l, + } + ); + })(t); + (this._originalInput = t), + (this._r = r.r), + (this._g = r.g), + (this._b = r.b), + (this._a = r.a), + (this._roundA = l(100 * this._a) / 100), + (this._format = e.format || r.format), + (this._gradientType = e.gradientType), + this._r < 1 && (this._r = l(this._r)), + this._g < 1 && (this._g = l(this._g)), + this._b < 1 && (this._b = l(this._b)), + (this._ok = r.ok), + (this._tc_id = s++); + } + function p(t, e, r) { + (t = I(t, 255)), (e = I(e, 255)), (r = I(r, 255)); + var n, + i, + a = c(t, e, r), + o = u(t, e, r), + s = (a + o) / 2; + if (a == o) n = i = 0; + else { + var l = a - o; + switch ( + ((i = s > 0.5 ? l / (2 - a - o) : l / (a + o)), a) + ) { + case t: + n = (e - r) / l + (e < r ? 6 : 0); + break; + case e: + n = (r - t) / l + 2; + break; + case r: + n = (t - e) / l + 4; + } + n /= 6; + } + return { h: n, s: i, l: s }; + } + function d(t, e, r) { + (t = I(t, 255)), (e = I(e, 255)), (r = I(r, 255)); + var n, + i, + a = c(t, e, r), + o = u(t, e, r), + s = a, + l = a - o; + if (((i = 0 === a ? 0 : l / a), a == o)) n = 0; + else { + switch (a) { + case t: + n = (e - r) / l + (e < r ? 6 : 0); + break; + case e: + n = (r - t) / l + 2; + break; + case r: + n = (t - e) / l + 4; + } + n /= 6; + } + return { h: n, s: i, v: s }; + } + function v(t, e, r, n) { + var i = [ + R(l(t).toString(16)), + R(l(e).toString(16)), + R(l(r).toString(16)), + ]; + return n && + i[0].charAt(0) == i[0].charAt(1) && + i[1].charAt(0) == i[1].charAt(1) && + i[2].charAt(0) == i[2].charAt(1) + ? i[0].charAt(0) + i[1].charAt(0) + i[2].charAt(0) + : i.join(""); + } + function g(t, e, r, n) { + return [ + R(B(n)), + R(l(t).toString(16)), + R(l(e).toString(16)), + R(l(r).toString(16)), + ].join(""); + } + function y(t, e) { + e = 0 === e ? 0 : e || 10; + var r = h(t).toHsl(); + return (r.s -= e / 100), (r.s = D(r.s)), h(r); + } + function m(t, e) { + e = 0 === e ? 0 : e || 10; + var r = h(t).toHsl(); + return (r.s += e / 100), (r.s = D(r.s)), h(r); + } + function x(t) { + return h(t).desaturate(100); + } + function b(t, e) { + e = 0 === e ? 0 : e || 10; + var r = h(t).toHsl(); + return (r.l += e / 100), (r.l = D(r.l)), h(r); + } + function _(t, e) { + e = 0 === e ? 0 : e || 10; + var r = h(t).toRgb(); + return ( + (r.r = c(0, u(255, r.r - l((-e / 100) * 255)))), + (r.g = c(0, u(255, r.g - l((-e / 100) * 255)))), + (r.b = c(0, u(255, r.b - l((-e / 100) * 255)))), + h(r) + ); + } + function w(t, e) { + e = 0 === e ? 0 : e || 10; + var r = h(t).toHsl(); + return (r.l -= e / 100), (r.l = D(r.l)), h(r); + } + function T(t, e) { + var r = h(t).toHsl(), + n = (r.h + e) % 360; + return (r.h = n < 0 ? 360 + n : n), h(r); + } + function k(t) { + var e = h(t).toHsl(); + return (e.h = (e.h + 180) % 360), h(e); + } + function A(t) { + var e = h(t).toHsl(), + r = e.h; + return [ + h(t), + h({ h: (r + 120) % 360, s: e.s, l: e.l }), + h({ h: (r + 240) % 360, s: e.s, l: e.l }), + ]; + } + function M(t) { + var e = h(t).toHsl(), + r = e.h; + return [ + h(t), + h({ h: (r + 90) % 360, s: e.s, l: e.l }), + h({ h: (r + 180) % 360, s: e.s, l: e.l }), + h({ h: (r + 270) % 360, s: e.s, l: e.l }), + ]; + } + function S(t) { + var e = h(t).toHsl(), + r = e.h; + return [ + h(t), + h({ h: (r + 72) % 360, s: e.s, l: e.l }), + h({ h: (r + 216) % 360, s: e.s, l: e.l }), + ]; + } + function E(t, e, r) { + (e = e || 6), (r = r || 30); + var n = h(t).toHsl(), + i = 360 / r, + a = [h(t)]; + for (n.h = (n.h - ((i * e) >> 1) + 720) % 360; --e; ) + (n.h = (n.h + i) % 360), a.push(h(n)); + return a; + } + function L(t, e) { + e = e || 6; + for ( + var r = h(t).toHsv(), + n = r.h, + i = r.s, + a = r.v, + o = [], + s = 1 / e; + e--; + + ) + o.push(h({ h: n, s: i, v: a })), (a = (a + s) % 1); + return o; + } + (h.prototype = { + isDark: function () { + return this.getBrightness() < 128; + }, + isLight: function () { + return !this.isDark(); + }, + isValid: function () { + return this._ok; + }, + getOriginalInput: function () { + return this._originalInput; + }, + getFormat: function () { + return this._format; + }, + getAlpha: function () { + return this._a; + }, + getBrightness: function () { + var t = this.toRgb(); + return (299 * t.r + 587 * t.g + 114 * t.b) / 1e3; + }, + getLuminance: function () { + var t, + e, + r, + n = this.toRgb(); + return ( + (t = n.r / 255), + (e = n.g / 255), + (r = n.b / 255), + 0.2126 * + (t <= 0.03928 + ? t / 12.92 + : i.pow((t + 0.055) / 1.055, 2.4)) + + 0.7152 * + (e <= 0.03928 + ? e / 12.92 + : i.pow((e + 0.055) / 1.055, 2.4)) + + 0.0722 * + (r <= 0.03928 + ? r / 12.92 + : i.pow((r + 0.055) / 1.055, 2.4)) + ); + }, + setAlpha: function (t) { + return ( + (this._a = O(t)), + (this._roundA = l(100 * this._a) / 100), + this + ); + }, + toHsv: function () { + var t = d(this._r, this._g, this._b); + return { h: 360 * t.h, s: t.s, v: t.v, a: this._a }; + }, + toHsvString: function () { + var t = d(this._r, this._g, this._b), + e = l(360 * t.h), + r = l(100 * t.s), + n = l(100 * t.v); + return 1 == this._a + ? "hsv(" + e + ", " + r + "%, " + n + "%)" + : "hsva(" + + e + + ", " + + r + + "%, " + + n + + "%, " + + this._roundA + + ")"; + }, + toHsl: function () { + var t = p(this._r, this._g, this._b); + return { h: 360 * t.h, s: t.s, l: t.l, a: this._a }; + }, + toHslString: function () { + var t = p(this._r, this._g, this._b), + e = l(360 * t.h), + r = l(100 * t.s), + n = l(100 * t.l); + return 1 == this._a + ? "hsl(" + e + ", " + r + "%, " + n + "%)" + : "hsla(" + + e + + ", " + + r + + "%, " + + n + + "%, " + + this._roundA + + ")"; + }, + toHex: function (t) { + return v(this._r, this._g, this._b, t); + }, + toHexString: function (t) { + return "#" + this.toHex(t); + }, + toHex8: function (t) { + return (function (t, e, r, n, i) { + var a = [ + R(l(t).toString(16)), + R(l(e).toString(16)), + R(l(r).toString(16)), + R(B(n)), + ]; + return i && + a[0].charAt(0) == a[0].charAt(1) && + a[1].charAt(0) == a[1].charAt(1) && + a[2].charAt(0) == a[2].charAt(1) && + a[3].charAt(0) == a[3].charAt(1) + ? a[0].charAt(0) + + a[1].charAt(0) + + a[2].charAt(0) + + a[3].charAt(0) + : a.join(""); + })(this._r, this._g, this._b, this._a, t); + }, + toHex8String: function (t) { + return "#" + this.toHex8(t); + }, + toRgb: function () { + return { + r: l(this._r), + g: l(this._g), + b: l(this._b), + a: this._a, + }; + }, + toRgbString: function () { + return 1 == this._a + ? "rgb(" + + l(this._r) + + ", " + + l(this._g) + + ", " + + l(this._b) + + ")" + : "rgba(" + + l(this._r) + + ", " + + l(this._g) + + ", " + + l(this._b) + + ", " + + this._roundA + + ")"; + }, + toPercentageRgb: function () { + return { + r: l(100 * I(this._r, 255)) + "%", + g: l(100 * I(this._g, 255)) + "%", + b: l(100 * I(this._b, 255)) + "%", + a: this._a, + }; + }, + toPercentageRgbString: function () { + return 1 == this._a + ? "rgb(" + + l(100 * I(this._r, 255)) + + "%, " + + l(100 * I(this._g, 255)) + + "%, " + + l(100 * I(this._b, 255)) + + "%)" + : "rgba(" + + l(100 * I(this._r, 255)) + + "%, " + + l(100 * I(this._g, 255)) + + "%, " + + l(100 * I(this._b, 255)) + + "%, " + + this._roundA + + ")"; + }, + toName: function () { + return 0 === this._a + ? "transparent" + : !(this._a < 1) && + (P[v(this._r, this._g, this._b, !0)] || !1); + }, + toFilter: function (t) { + var e = "#" + g(this._r, this._g, this._b, this._a), + r = e, + n = this._gradientType ? "GradientType = 1, " : ""; + if (t) { + var i = h(t); + r = "#" + g(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 h(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(b, arguments); + }, + brighten: function () { + return this._applyModification(_, arguments); + }, + darken: function () { + return this._applyModification(w, arguments); + }, + desaturate: function () { + return this._applyModification(y, arguments); + }, + saturate: function () { + return this._applyModification(m, arguments); + }, + greyscale: function () { + return this._applyModification(x, arguments); + }, + spin: function () { + return this._applyModification(T, arguments); + }, + _applyCombination: function (t, e) { + return t.apply(null, [this].concat([].slice.call(e))); + }, + analogous: function () { + return this._applyCombination(E, arguments); + }, + complement: function () { + return this._applyCombination(k, arguments); + }, + monochromatic: function () { + return this._applyCombination(L, arguments); + }, + splitcomplement: function () { + return this._applyCombination(S, arguments); + }, + triad: function () { + return this._applyCombination(A, arguments); + }, + tetrad: function () { + return this._applyCombination(M, arguments); + }, + }), + (h.fromRatio = function (t, e) { + if ("object" == typeof t) { + var r = {}; + for (var n in t) + t.hasOwnProperty(n) && + (r[n] = "a" === n ? t[n] : F(t[n])); + t = r; + } + return h(t, e); + }), + (h.equals = function (t, e) { + return ( + !(!t || !e) && + h(t).toRgbString() == h(e).toRgbString() + ); + }), + (h.random = function () { + return h.fromRatio({ r: f(), g: f(), b: f() }); + }), + (h.mix = function (t, e, r) { + r = 0 === r ? 0 : r || 50; + var n = h(t).toRgb(), + i = h(e).toRgb(), + a = r / 100; + return h({ + 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, + }); + }), + (h.readability = function (t, e) { + var r = h(t), + n = h(e); + return ( + (i.max(r.getLuminance(), n.getLuminance()) + 0.05) / + (i.min(r.getLuminance(), n.getLuminance()) + 0.05) + ); + }), + (h.isReadable = function (t, e, r) { + var n, + i, + a, + o, + s, + l = h.readability(t, e); + switch ( + ((i = !1), + ((a = r), + (o = ( + (a = a || { level: "AA", size: "small" }).level || + "AA" + ).toUpperCase()), + (s = (a.size || "small").toLowerCase()), + "AA" !== o && "AAA" !== o && (o = "AA"), + "small" !== s && "large" !== s && (s = "small"), + (n = { level: o, size: s })).level + n.size) + ) { + case "AAsmall": + case "AAAlarge": + i = l >= 4.5; + break; + case "AAlarge": + i = l >= 3; + break; + case "AAAsmall": + i = l >= 7; + } + return i; + }), + (h.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 u = 0; u < e.length; u++) + (n = h.readability(t, e[u])) > l && + ((l = n), (s = h(e[u]))); + return h.isReadable(t, s, { level: a, size: o }) || !i + ? s + : ((r.includeFallbackColors = !1), + h.mostReadable(t, ["#fff", "#000"], r)); + }); + var C = (h.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", + }), + P = (h.hexNames = (function (t) { + var e = {}; + for (var r in t) t.hasOwnProperty(r) && (e[t[r]] = r); + return e; + })(C)); + function O(t) { + return ( + (t = parseFloat(t)), + (isNaN(t) || t < 0 || t > 1) && (t = 1), + t + ); + } + function I(t, e) { + (function (t) { + return ( + "string" == typeof t && + -1 != t.indexOf(".") && + 1 === parseFloat(t) + ); + })(t) && (t = "100%"); + var r = (function (t) { + return "string" == typeof t && -1 != t.indexOf("%"); + })(t); + return ( + (t = u(e, c(0, parseFloat(t)))), + r && (t = parseInt(t * e, 10) / 100), + i.abs(t - e) < 1e-6 ? 1 : (t % e) / parseFloat(e) + ); + } + function D(t) { + return u(1, c(0, t)); + } + function z(t) { + return parseInt(t, 16); + } + function R(t) { + return 1 == t.length ? "0" + t : "" + t; + } + function F(t) { + return t <= 1 && (t = 100 * t + "%"), t; + } + function B(t) { + return i.round(255 * parseFloat(t)).toString(16); + } + function N(t) { + return z(t) / 255; + } + var j, + U, + V, + H = + ((U = + "[\\s|\\(]+(" + + (j = "(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)") + + ")[,|\\s]+(" + + j + + ")[,|\\s]+(" + + j + + ")\\s*\\)?"), + (V = + "[\\s|\\(]+(" + + j + + ")[,|\\s]+(" + + j + + ")[,|\\s]+(" + + j + + ")[,|\\s]+(" + + j + + ")\\s*\\)?"), + { + CSS_UNIT: new RegExp(j), + rgb: new RegExp("rgb" + U), + rgba: new RegExp("rgba" + V), + hsl: new RegExp("hsl" + U), + hsla: new RegExp("hsla" + V), + hsv: new RegExp("hsv" + U), + hsva: new RegExp("hsva" + V), + 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 q(t) { + return !!H.CSS_UNIT.exec(t); + } + t.exports + ? (t.exports = h) + : void 0 === + (n = function () { + return h; + }.call(e, r, e, t)) || (t.exports = n); + })(Math); + }, + 57060: function (t) { + "use strict"; + (t.exports = r), + (t.exports.float32 = t.exports.float = r), + (t.exports.fract32 = t.exports.fract = + function (t, e) { + if (t.length) { + if (t instanceof Float32Array) + return new Float32Array(t.length); + e instanceof Float32Array || (e = r(t)); + for (var n = 0, i = e.length; n < i; n++) + e[n] = t[n] - e[n]; + return e; + } + return r(t - r(t)); + }); + var e = new Float32Array(1); + function r(t) { + return t.length + ? t instanceof Float32Array + ? t + : new Float32Array(t) + : ((e[0] = t), e[0]); + } + }, + 75686: function (t, e, r) { + "use strict"; + var n = r(25677); + function i(t, e) { + var r = n(getComputedStyle(t).getPropertyValue(e)); + return r[0] * a(r[1], t); + } + function a(t, e) { + switch ( + ((e = e || document.body), + (t = (t || "px").trim().toLowerCase()), + (e !== window && e !== document) || (e = document.body), + t) + ) { + case "%": + return e.clientHeight / 100; + case "ch": + case "ex": + return (function (t, e) { + var r = document.createElement("div"); + (r.style["font-size"] = "128" + t), e.appendChild(r); + var n = i(r, "font-size") / 128; + return e.removeChild(r), n; + })(t, e); + case "em": + return i(e, "font-size"); + case "rem": + return i(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 96; + case "cm": + return 96 / 2.54; + case "mm": + return 96 / 25.4; + case "pt": + return 96 / 72; + case "pc": + return 16; + } + return 1; + } + t.exports = a; + }, + 96892: function (t, e, r) { + "use strict"; + function n(t) { + return t; + } + function i(t, e) { + return ( + "string" == typeof e && (e = t.objects[e]), + "GeometryCollection" === e.type + ? { + type: "FeatureCollection", + features: e.geometries.map(function (e) { + return a(t, e); + }), + } + : a(t, e) + ); + } + function a(t, e) { + var r = e.id, + i = e.bbox, + a = null == e.properties ? {} : e.properties, + o = (function (t, e) { + var r = (function (t) { + if (null == t) return n; + var e, + r, + i = t.scale[0], + a = t.scale[1], + o = t.translate[0], + s = t.translate[1]; + return function (t, n) { + n || (e = r = 0); + var l = 2, + u = t.length, + c = new Array(u); + for ( + c[0] = (e += t[0]) * i + o, + c[1] = (r += t[1]) * a + s; + l < u; + + ) + (c[l] = t[l]), ++l; + return c; + }; + })(t.transform), + i = t.arcs; + function a(t, e) { + e.length && e.pop(); + for ( + var n = i[t < 0 ? ~t : t], a = 0, o = n.length; + a < o; + ++a + ) + e.push(r(n[a], a)); + t < 0 && + (function (t, e) { + for (var r, n = t.length, i = n - e; i < --n; ) + (r = t[i]), (t[i++] = t[n]), (t[n] = r); + })(e, o); + } + function o(t) { + return r(t); + } + function s(t) { + for (var e = [], r = 0, n = t.length; r < n; ++r) + a(t[r], e); + return e.length < 2 && e.push(e[0]), e; + } + function l(t) { + for (var e = s(t); e.length < 4; ) e.push(e[0]); + return e; + } + function u(t) { + return t.map(l); + } + return (function t(e) { + var r, + n = e.type; + switch (n) { + case "GeometryCollection": + return { + type: n, + geometries: e.geometries.map(t), + }; + case "Point": + r = o(e.coordinates); + break; + case "MultiPoint": + r = e.coordinates.map(o); + break; + case "LineString": + r = s(e.arcs); + break; + case "MultiLineString": + r = e.arcs.map(s); + break; + case "Polygon": + r = u(e.arcs); + break; + case "MultiPolygon": + r = e.arcs.map(u); + break; + default: + return null; + } + return { type: n, coordinates: r }; + })(e); + })(t, e); + return null == r && null == i + ? { type: "Feature", properties: a, geometry: o } + : null == i + ? { type: "Feature", id: r, properties: a, geometry: o } + : { + type: "Feature", + id: r, + bbox: i, + properties: a, + geometry: o, + }; + } + r.d(e, { + zL: function () { + return i; + }, + }); + }, + 73116: function (t, e, r) { + "use strict"; + var n = r(24511); + t.exports = function (t) { + if ("function" != typeof t) return !1; + if (!hasOwnProperty.call(t, "length")) return !1; + try { + if ("number" != typeof t.length) return !1; + if ("function" != typeof t.call) return !1; + if ("function" != typeof t.apply) return !1; + } catch (t) { + return !1; + } + return !n(t); + }; + }, + 69190: function (t, e, r) { + "use strict"; + var n = r(24582), + i = r(47403), + a = r(9234), + o = r(6048), + s = function (t, e) { + return t.replace("%v", o(e)); + }; + t.exports = function (t, e, r) { + if (!i(r)) throw new TypeError(s(e, t)); + if (!n(t)) { + if ("default" in r) return r.default; + if (r.isOptional) return null; + } + var o = a(r.errorMessage); + throw (n(o) || (o = e), new TypeError(s(o, t))); + }; + }, + 18497: function (t) { + "use strict"; + t.exports = function (t) { + try { + return t.toString(); + } catch (e) { + try { + return String(t); + } catch (t) { + return null; + } + } + }; + }, + 6048: function (t, e, r) { + "use strict"; + var n = r(18497), + i = /[\n\r\u2028\u2029]/g; + t.exports = function (t) { + var e = n(t); + return null === e + ? "" + : (e.length > 100 && (e = e.slice(0, 99) + "…"), + (e = e.replace(i, function (t) { + switch (t) { + case "\n": + return "\\n"; + case "\r": + return "\\r"; + case "\u2028": + return "\\u2028"; + case "\u2029": + return "\\u2029"; + default: + throw new Error("Unexpected character"); + } + }))); + }; + }, + 47403: function (t, e, r) { + "use strict"; + var n = r(24582), + i = { object: !0, function: !0, undefined: !0 }; + t.exports = function (t) { + return !!n(t) && hasOwnProperty.call(i, typeof t); + }; + }, + 82527: function (t, e, r) { + "use strict"; + var n = r(69190), + i = r(84985); + t.exports = function (t) { + return i(t) + ? t + : n(t, "%v is not a plain function", arguments[1]); + }; + }, + 84985: function (t, e, r) { + "use strict"; + var n = r(73116), + i = /^\s*class[\s{/}]/, + a = Function.prototype.toString; + t.exports = function (t) { + return !!n(t) && !i.test(a.call(t)); + }; + }, + 24511: function (t, e, r) { + "use strict"; + var n = r(47403); + t.exports = function (t) { + if (!n(t)) return !1; + try { + return !!t.constructor && t.constructor.prototype === t; + } catch (t) { + return !1; + } + }; + }, + 9234: function (t, e, r) { + "use strict"; + var n = r(24582), + i = r(47403), + a = Object.prototype.toString; + t.exports = function (t) { + if (!n(t)) return null; + if (i(t)) { + var e = t.toString; + if ("function" != typeof e) return null; + if (e === a) return null; + } + try { + return "" + t; + } catch (t) { + return null; + } + }; + }, + 10424: function (t, e, r) { + "use strict"; + var n = r(69190), + i = r(24582); + t.exports = function (t) { + return i(t) ? t : n(t, "Cannot use %v", arguments[1]); + }; + }, + 24582: function (t) { + "use strict"; + t.exports = function (t) { + return null != t; + }; + }, + 58404: function (t, e, r) { + "use strict"; + var n = r(13547), + i = r(12129), + a = r(12856).Buffer; + r.g.__TYPEDARRAY_POOL || + (r.g.__TYPEDARRAY_POOL = { + UINT8: i([32, 0]), + UINT16: i([32, 0]), + UINT32: i([32, 0]), + BIGUINT64: i([32, 0]), + INT8: i([32, 0]), + INT16: i([32, 0]), + INT32: i([32, 0]), + BIGINT64: i([32, 0]), + FLOAT: i([32, 0]), + DOUBLE: i([32, 0]), + DATA: i([32, 0]), + UINT8C: i([32, 0]), + BUFFER: i([32, 0]), + }); + var o = "undefined" != typeof Uint8ClampedArray, + s = "undefined" != typeof BigUint64Array, + l = "undefined" != typeof BigInt64Array, + u = r.g.__TYPEDARRAY_POOL; + u.UINT8C || (u.UINT8C = i([32, 0])), + u.BIGUINT64 || (u.BIGUINT64 = i([32, 0])), + u.BIGINT64 || (u.BIGINT64 = i([32, 0])), + u.BUFFER || (u.BUFFER = i([32, 0])); + var c = u.DATA, + f = u.BUFFER; + function h(t) { + if (t) { + var e = t.length || t.byteLength, + r = n.log2(e); + c[r].push(t); + } + } + function p(t) { + t = n.nextPow2(t); + var e = n.log2(t), + r = c[e]; + return r.length > 0 ? r.pop() : new ArrayBuffer(t); + } + function d(t) { + return new Uint8Array(p(t), 0, t); + } + function v(t) { + return new Uint16Array(p(2 * t), 0, t); + } + function g(t) { + return new Uint32Array(p(4 * t), 0, t); + } + function y(t) { + return new Int8Array(p(t), 0, t); + } + function m(t) { + return new Int16Array(p(2 * t), 0, t); + } + function x(t) { + return new Int32Array(p(4 * t), 0, t); + } + function b(t) { + return new Float32Array(p(4 * t), 0, t); + } + function _(t) { + return new Float64Array(p(8 * t), 0, t); + } + function w(t) { + return o ? new Uint8ClampedArray(p(t), 0, t) : d(t); + } + function T(t) { + return s ? new BigUint64Array(p(8 * t), 0, t) : null; + } + function k(t) { + return l ? new BigInt64Array(p(8 * t), 0, t) : null; + } + function A(t) { + return new DataView(p(t), 0, t); + } + function M(t) { + t = n.nextPow2(t); + var e = n.log2(t), + r = f[e]; + return r.length > 0 ? r.pop() : new a(t); + } + (e.free = function (t) { + if (a.isBuffer(t)) f[n.log2(t.length)].push(t); + else { + if ( + ("[object ArrayBuffer]" !== + Object.prototype.toString.call(t) && (t = t.buffer), + !t) + ) + return; + var e = t.length || t.byteLength, + r = 0 | n.log2(e); + c[r].push(t); + } + }), + (e.freeUint8 = + e.freeUint16 = + e.freeUint32 = + e.freeBigUint64 = + e.freeInt8 = + e.freeInt16 = + e.freeInt32 = + e.freeBigInt64 = + e.freeFloat32 = + e.freeFloat = + e.freeFloat64 = + e.freeDouble = + e.freeUint8Clamped = + e.freeDataView = + function (t) { + h(t.buffer); + }), + (e.freeArrayBuffer = h), + (e.freeBuffer = function (t) { + f[n.log2(t.length)].push(t); + }), + (e.malloc = function (t, e) { + if (void 0 === e || "arraybuffer" === e) return p(t); + switch (e) { + case "uint8": + return d(t); + case "uint16": + return v(t); + case "uint32": + return g(t); + case "int8": + return y(t); + case "int16": + return m(t); + case "int32": + return x(t); + case "float": + case "float32": + return b(t); + case "double": + case "float64": + return _(t); + case "uint8_clamped": + return w(t); + case "bigint64": + return k(t); + case "biguint64": + return T(t); + case "buffer": + return M(t); + case "data": + case "dataview": + return A(t); + default: + return null; + } + return null; + }), + (e.mallocArrayBuffer = p), + (e.mallocUint8 = d), + (e.mallocUint16 = v), + (e.mallocUint32 = g), + (e.mallocInt8 = y), + (e.mallocInt16 = m), + (e.mallocInt32 = x), + (e.mallocFloat32 = e.mallocFloat = b), + (e.mallocFloat64 = e.mallocDouble = _), + (e.mallocUint8Clamped = w), + (e.mallocBigUint64 = T), + (e.mallocBigInt64 = k), + (e.mallocDataView = A), + (e.mallocBuffer = M), + (e.clearCache = function () { + for (var t = 0; t < 32; ++t) + (u.UINT8[t].length = 0), + (u.UINT16[t].length = 0), + (u.UINT32[t].length = 0), + (u.INT8[t].length = 0), + (u.INT16[t].length = 0), + (u.INT32[t].length = 0), + (u.FLOAT[t].length = 0), + (u.DOUBLE[t].length = 0), + (u.BIGUINT64[t].length = 0), + (u.BIGINT64[t].length = 0), + (u.UINT8C[t].length = 0), + (c[t].length = 0), + (f[t].length = 0); + }); + }, + 90448: function (t) { + var e = /[\'\"]/; + t.exports = function (t) { + return t + ? (e.test(t.charAt(0)) && (t = t.substr(1)), + e.test(t.charAt(t.length - 1)) && + (t = t.substr(0, t.length - 1)), + t) + : ""; + }; + }, + 93447: function (t) { + "use strict"; + t.exports = 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; + }; + }, + 20588: function (t, e, r) { + function n(t) { + try { + if (!r.g.localStorage) return !1; + } catch (t) { + return !1; + } + var e = r.g.localStorage[t]; + return null != e && "true" === String(e).toLowerCase(); + } + t.exports = function (t, e) { + if (n("noDeprecation")) return t; + var r = !1; + return function () { + if (!r) { + if (n("throwDeprecation")) throw new Error(e); + n("traceDeprecation") + ? console.trace(e) + : console.warn(e), + (r = !0); + } + return t.apply(this, arguments); + }; + }; + }, + 45920: function (t) { + t.exports = function (t) { + return ( + t && + "object" == typeof t && + "function" == typeof t.copy && + "function" == typeof t.fill && + "function" == typeof t.readUInt8 + ); + }; + }, + 4936: function (t, e, r) { + "use strict"; + var n = r(47216), + i = r(65481), + a = r(21099), + o = r(9187); + function s(t) { + return t.call.bind(t); + } + var l = "undefined" != typeof BigInt, + u = "undefined" != typeof Symbol, + c = s(Object.prototype.toString), + f = s(Number.prototype.valueOf), + h = s(String.prototype.valueOf), + p = s(Boolean.prototype.valueOf); + if (l) var d = s(BigInt.prototype.valueOf); + if (u) var v = s(Symbol.prototype.valueOf); + function g(t, e) { + if ("object" != typeof t) return !1; + try { + return e(t), !0; + } catch (t) { + return !1; + } + } + function y(t) { + return "[object Map]" === c(t); + } + function m(t) { + return "[object Set]" === c(t); + } + function x(t) { + return "[object WeakMap]" === c(t); + } + function b(t) { + return "[object WeakSet]" === c(t); + } + function _(t) { + return "[object ArrayBuffer]" === c(t); + } + function w(t) { + return ( + "undefined" != typeof ArrayBuffer && + (_.working ? _(t) : t instanceof ArrayBuffer) + ); + } + function T(t) { + return "[object DataView]" === c(t); + } + function k(t) { + return ( + "undefined" != typeof DataView && + (T.working ? T(t) : t instanceof DataView) + ); + } + (e.isArgumentsObject = n), + (e.isGeneratorFunction = i), + (e.isTypedArray = o), + (e.isPromise = function (t) { + return ( + ("undefined" != typeof Promise && + t instanceof Promise) || + (null !== t && + "object" == typeof t && + "function" == typeof t.then && + "function" == typeof t.catch) + ); + }), + (e.isArrayBufferView = function (t) { + return "undefined" != typeof ArrayBuffer && + ArrayBuffer.isView + ? ArrayBuffer.isView(t) + : o(t) || k(t); + }), + (e.isUint8Array = function (t) { + return "Uint8Array" === a(t); + }), + (e.isUint8ClampedArray = function (t) { + return "Uint8ClampedArray" === a(t); + }), + (e.isUint16Array = function (t) { + return "Uint16Array" === a(t); + }), + (e.isUint32Array = function (t) { + return "Uint32Array" === a(t); + }), + (e.isInt8Array = function (t) { + return "Int8Array" === a(t); + }), + (e.isInt16Array = function (t) { + return "Int16Array" === a(t); + }), + (e.isInt32Array = function (t) { + return "Int32Array" === a(t); + }), + (e.isFloat32Array = function (t) { + return "Float32Array" === a(t); + }), + (e.isFloat64Array = function (t) { + return "Float64Array" === a(t); + }), + (e.isBigInt64Array = function (t) { + return "BigInt64Array" === a(t); + }), + (e.isBigUint64Array = function (t) { + return "BigUint64Array" === a(t); + }), + (y.working = "undefined" != typeof Map && y(new Map())), + (e.isMap = function (t) { + return ( + "undefined" != typeof Map && + (y.working ? y(t) : t instanceof Map) + ); + }), + (m.working = "undefined" != typeof Set && m(new Set())), + (e.isSet = function (t) { + return ( + "undefined" != typeof Set && + (m.working ? m(t) : t instanceof Set) + ); + }), + (x.working = + "undefined" != typeof WeakMap && x(new WeakMap())), + (e.isWeakMap = function (t) { + return ( + "undefined" != typeof WeakMap && + (x.working ? x(t) : t instanceof WeakMap) + ); + }), + (b.working = + "undefined" != typeof WeakSet && b(new WeakSet())), + (e.isWeakSet = function (t) { + return b(t); + }), + (_.working = + "undefined" != typeof ArrayBuffer && + _(new ArrayBuffer())), + (e.isArrayBuffer = w), + (T.working = + "undefined" != typeof ArrayBuffer && + "undefined" != typeof DataView && + T(new DataView(new ArrayBuffer(1), 0, 1))), + (e.isDataView = k); + var A = + "undefined" != typeof SharedArrayBuffer + ? SharedArrayBuffer + : void 0; + function M(t) { + return "[object SharedArrayBuffer]" === c(t); + } + function S(t) { + return ( + void 0 !== A && + (void 0 === M.working && (M.working = M(new A())), + M.working ? M(t) : t instanceof A) + ); + } + function E(t) { + return g(t, f); + } + function L(t) { + return g(t, h); + } + function C(t) { + return g(t, p); + } + function P(t) { + return l && g(t, d); + } + function O(t) { + return u && g(t, v); + } + (e.isSharedArrayBuffer = S), + (e.isAsyncFunction = function (t) { + return "[object AsyncFunction]" === c(t); + }), + (e.isMapIterator = function (t) { + return "[object Map Iterator]" === c(t); + }), + (e.isSetIterator = function (t) { + return "[object Set Iterator]" === c(t); + }), + (e.isGeneratorObject = function (t) { + return "[object Generator]" === c(t); + }), + (e.isWebAssemblyCompiledModule = function (t) { + return "[object WebAssembly.Module]" === c(t); + }), + (e.isNumberObject = E), + (e.isStringObject = L), + (e.isBooleanObject = C), + (e.isBigIntObject = P), + (e.isSymbolObject = O), + (e.isBoxedPrimitive = function (t) { + return E(t) || L(t) || C(t) || P(t) || O(t); + }), + (e.isAnyArrayBuffer = function (t) { + return "undefined" != typeof Uint8Array && (w(t) || S(t)); + }), + [ + "isProxy", + "isExternal", + "isModuleNamespaceObject", + ].forEach(function (t) { + Object.defineProperty(e, t, { + enumerable: !1, + value: function () { + throw new Error(t + " is not supported in userland"); + }, + }); + }); + }, + 43827: function (t, e, r) { + var n = r(90386), + i = + Object.getOwnPropertyDescriptors || + function (t) { + for ( + var e = Object.keys(t), r = {}, n = 0; + n < e.length; + n++ + ) + r[e[n]] = Object.getOwnPropertyDescriptor(t, e[n]); + return r; + }, + a = /%[sdj%]/g; + (e.format = function (t) { + if (!x(t)) { + for (var e = [], r = 0; r < arguments.length; r++) + e.push(u(arguments[r])); + return e.join(" "); + } + r = 1; + for ( + var n = arguments, + i = n.length, + o = String(t).replace(a, function (t) { + if ("%%" === t) return "%"; + if (r >= i) return t; + switch (t) { + case "%s": + return String(n[r++]); + case "%d": + return Number(n[r++]); + case "%j": + try { + return JSON.stringify(n[r++]); + } catch (t) { + return "[Circular]"; + } + default: + return t; + } + }), + s = n[r]; + r < i; + s = n[++r] + ) + y(s) || !w(s) ? (o += " " + s) : (o += " " + u(s)); + return o; + }), + (e.deprecate = function (t, r) { + if (void 0 !== n && !0 === n.noDeprecation) return t; + if (void 0 === n) + return function () { + return e.deprecate(t, r).apply(this, arguments); + }; + var i = !1; + return function () { + if (!i) { + if (n.throwDeprecation) throw new Error(r); + n.traceDeprecation + ? console.trace(r) + : console.error(r), + (i = !0); + } + return t.apply(this, arguments); + }; + }); + var o = {}, + s = /^$/; + if (n.env.NODE_DEBUG) { + var l = n.env.NODE_DEBUG; + (l = l + .replace(/[|\\{}()[\]^$+?.]/g, "\\$&") + .replace(/\*/g, ".*") + .replace(/,/g, "$|^") + .toUpperCase()), + (s = new RegExp("^" + l + "$", "i")); + } + function u(t, r) { + var n = { seen: [], stylize: f }; + return ( + arguments.length >= 3 && (n.depth = arguments[2]), + arguments.length >= 4 && (n.colors = arguments[3]), + g(r) ? (n.showHidden = r) : r && e._extend(n, r), + b(n.showHidden) && (n.showHidden = !1), + b(n.depth) && (n.depth = 2), + b(n.colors) && (n.colors = !1), + b(n.customInspect) && (n.customInspect = !0), + n.colors && (n.stylize = c), + h(n, t, n.depth) + ); + } + function c(t, e) { + var r = u.styles[e]; + return r + ? "[" + + u.colors[r][0] + + "m" + + t + + "[" + + u.colors[r][1] + + "m" + : t; + } + function f(t, e) { + return t; + } + function h(t, r, n) { + if ( + t.customInspect && + r && + A(r.inspect) && + r.inspect !== e.inspect && + (!r.constructor || r.constructor.prototype !== r) + ) { + var i = r.inspect(n, t); + return x(i) || (i = h(t, i, n)), i; + } + var a = (function (t, e) { + if (b(e)) return t.stylize("undefined", "undefined"); + if (x(e)) { + var r = + "'" + + JSON.stringify(e) + .replace(/^"|"$/g, "") + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + + "'"; + return t.stylize(r, "string"); + } + return m(e) + ? t.stylize("" + e, "number") + : g(e) + ? t.stylize("" + e, "boolean") + : y(e) + ? t.stylize("null", "null") + : void 0; + })(t, r); + if (a) return a; + var o = Object.keys(r), + s = (function (t) { + var e = {}; + return ( + t.forEach(function (t, r) { + e[t] = !0; + }), + e + ); + })(o); + if ( + (t.showHidden && (o = Object.getOwnPropertyNames(r)), + k(r) && + (o.indexOf("message") >= 0 || + o.indexOf("description") >= 0)) + ) + return p(r); + if (0 === o.length) { + if (A(r)) { + var l = r.name ? ": " + r.name : ""; + return t.stylize("[Function" + l + "]", "special"); + } + if (_(r)) + return t.stylize( + RegExp.prototype.toString.call(r), + "regexp", + ); + if (T(r)) + return t.stylize( + Date.prototype.toString.call(r), + "date", + ); + if (k(r)) return p(r); + } + var u, + c = "", + f = !1, + w = ["{", "}"]; + return ( + v(r) && ((f = !0), (w = ["[", "]"])), + A(r) && + (c = + " [Function" + (r.name ? ": " + r.name : "") + "]"), + _(r) && (c = " " + RegExp.prototype.toString.call(r)), + T(r) && (c = " " + Date.prototype.toUTCString.call(r)), + k(r) && (c = " " + p(r)), + 0 !== o.length || (f && 0 != r.length) + ? n < 0 + ? _(r) + ? t.stylize( + RegExp.prototype.toString.call(r), + "regexp", + ) + : t.stylize("[Object]", "special") + : (t.seen.push(r), + (u = f + ? (function (t, e, r, n, i) { + for ( + var a = [], o = 0, s = e.length; + o < s; + ++o + ) + C(e, String(o)) + ? a.push(d(t, e, r, n, String(o), !0)) + : a.push(""); + return ( + i.forEach(function (i) { + i.match(/^\d+$/) || + a.push(d(t, e, r, n, i, !0)); + }), + a + ); + })(t, r, n, s, o) + : o.map(function (e) { + return d(t, r, n, s, e, f); + })), + t.seen.pop(), + (function (t, e, r) { + return t.reduce(function (t, e) { + return ( + e.indexOf("\n"), + t + + e.replace(/\u001b\[\d\d?m/g, "").length + + 1 + ); + }, 0) > 60 + ? r[0] + + ("" === e ? "" : e + "\n ") + + " " + + t.join(",\n ") + + " " + + r[1] + : r[0] + e + " " + t.join(", ") + " " + r[1]; + })(u, c, w)) + : w[0] + c + w[1] + ); + } + function p(t) { + return "[" + Error.prototype.toString.call(t) + "]"; + } + function d(t, e, r, n, i, a) { + var o, s, l; + if ( + ((l = Object.getOwnPropertyDescriptor(e, i) || { + value: e[i], + }).get + ? (s = l.set + ? t.stylize("[Getter/Setter]", "special") + : t.stylize("[Getter]", "special")) + : l.set && (s = t.stylize("[Setter]", "special")), + C(n, i) || (o = "[" + i + "]"), + s || + (t.seen.indexOf(l.value) < 0 + ? (s = y(r) + ? h(t, l.value, null) + : h(t, l.value, r - 1)).indexOf("\n") > -1 && + (s = a + ? s + .split("\n") + .map(function (t) { + return " " + t; + }) + .join("\n") + .slice(2) + : "\n" + + s + .split("\n") + .map(function (t) { + return " " + t; + }) + .join("\n")) + : (s = t.stylize("[Circular]", "special"))), + b(o)) + ) { + if (a && i.match(/^\d+$/)) return s; + (o = JSON.stringify("" + i)).match( + /^"([a-zA-Z_][a-zA-Z_0-9]*)"$/, + ) + ? ((o = o.slice(1, -1)), (o = t.stylize(o, "name"))) + : ((o = o + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + .replace(/(^"|"$)/g, "'")), + (o = t.stylize(o, "string"))); + } + return o + ": " + s; + } + function v(t) { + return Array.isArray(t); + } + function g(t) { + return "boolean" == typeof t; + } + function y(t) { + return null === t; + } + function m(t) { + return "number" == typeof t; + } + function x(t) { + return "string" == typeof t; + } + function b(t) { + return void 0 === t; + } + function _(t) { + return w(t) && "[object RegExp]" === M(t); + } + function w(t) { + return "object" == typeof t && null !== t; + } + function T(t) { + return w(t) && "[object Date]" === M(t); + } + function k(t) { + return ( + w(t) && ("[object Error]" === M(t) || t instanceof Error) + ); + } + function A(t) { + return "function" == typeof t; + } + function M(t) { + return Object.prototype.toString.call(t); + } + function S(t) { + return t < 10 ? "0" + t.toString(10) : t.toString(10); + } + (e.debuglog = function (t) { + if (((t = t.toUpperCase()), !o[t])) + if (s.test(t)) { + var r = n.pid; + o[t] = function () { + var n = e.format.apply(e, arguments); + console.error("%s %d: %s", t, r, n); + }; + } else o[t] = function () {}; + return o[t]; + }), + (e.inspect = u), + (u.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], + }), + (u.styles = { + special: "cyan", + number: "yellow", + boolean: "yellow", + undefined: "grey", + null: "bold", + string: "green", + date: "magenta", + regexp: "red", + }), + (e.types = r(4936)), + (e.isArray = v), + (e.isBoolean = g), + (e.isNull = y), + (e.isNullOrUndefined = function (t) { + return null == t; + }), + (e.isNumber = m), + (e.isString = x), + (e.isSymbol = function (t) { + return "symbol" == typeof t; + }), + (e.isUndefined = b), + (e.isRegExp = _), + (e.types.isRegExp = _), + (e.isObject = w), + (e.isDate = T), + (e.types.isDate = T), + (e.isError = k), + (e.types.isNativeError = k), + (e.isFunction = A), + (e.isPrimitive = function (t) { + return ( + null === t || + "boolean" == typeof t || + "number" == typeof t || + "string" == typeof t || + "symbol" == typeof t || + void 0 === t + ); + }), + (e.isBuffer = r(45920)); + var E = [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", + ]; + function L() { + var t = new Date(), + e = [ + S(t.getHours()), + S(t.getMinutes()), + S(t.getSeconds()), + ].join(":"); + return [t.getDate(), E[t.getMonth()], e].join(" "); + } + function C(t, e) { + return Object.prototype.hasOwnProperty.call(t, e); + } + (e.log = function () { + console.log("%s - %s", L(), e.format.apply(e, arguments)); + }), + (e.inherits = r(42018)), + (e._extend = function (t, e) { + if (!e || !w(e)) return t; + for (var r = Object.keys(e), n = r.length; n--; ) + t[r[n]] = e[r[n]]; + return t; + }); + var P = + "undefined" != typeof Symbol + ? Symbol("util.promisify.custom") + : void 0; + function O(t, e) { + if (!t) { + var r = new Error( + "Promise was rejected with a falsy value", + ); + (r.reason = t), (t = r); + } + return e(t); + } + (e.promisify = function (t) { + if ("function" != typeof t) + throw new TypeError( + 'The "original" argument must be of type Function', + ); + if (P && t[P]) { + var e; + if ("function" != typeof (e = t[P])) + throw new TypeError( + 'The "util.promisify.custom" argument must be of type Function', + ); + return ( + Object.defineProperty(e, P, { + value: e, + enumerable: !1, + writable: !1, + configurable: !0, + }), + e + ); + } + function e() { + for ( + var e, + r, + n = new Promise(function (t, n) { + (e = t), (r = n); + }), + i = [], + a = 0; + a < arguments.length; + a++ + ) + i.push(arguments[a]); + i.push(function (t, n) { + t ? r(t) : e(n); + }); + try { + t.apply(this, i); + } catch (t) { + r(t); + } + return n; + } + return ( + Object.setPrototypeOf(e, Object.getPrototypeOf(t)), + P && + Object.defineProperty(e, P, { + value: e, + enumerable: !1, + writable: !1, + configurable: !0, + }), + Object.defineProperties(e, i(t)) + ); + }), + (e.promisify.custom = P), + (e.callbackify = function (t) { + if ("function" != typeof t) + throw new TypeError( + 'The "original" argument must be of type Function', + ); + function e() { + for (var e = [], r = 0; r < arguments.length; r++) + e.push(arguments[r]); + var i = e.pop(); + if ("function" != typeof i) + throw new TypeError( + "The last argument must be of type Function", + ); + var a = this, + o = function () { + return i.apply(a, arguments); + }; + t.apply(this, e).then( + function (t) { + n.nextTick(o.bind(null, null, t)); + }, + function (t) { + n.nextTick(O.bind(null, t, o)); + }, + ); + } + return ( + Object.setPrototypeOf(e, Object.getPrototypeOf(t)), + Object.defineProperties(e, i(t)), + e + ); + }); + }, + 40372: function (t, e, r) { + var n = r(86249); + t.exports = function (t) { + return n("webgl", t); + }; + }, + 21099: function (t, e, r) { + "use strict"; + var n = r(31353), + i = r(72077), + a = r(6614), + o = r(40383), + s = a("Object.prototype.toString"), + l = r(84543)(), + u = "undefined" == typeof globalThis ? r.g : globalThis, + c = i(), + f = a("String.prototype.slice"), + h = {}, + p = Object.getPrototypeOf; + l && + o && + p && + n(c, function (t) { + if ("function" == typeof u[t]) { + var e = new u[t](); + if (Symbol.toStringTag in e) { + var r = p(e), + n = o(r, Symbol.toStringTag); + if (!n) { + var i = p(r); + n = o(i, Symbol.toStringTag); + } + h[t] = n.get; + } + } + }); + var d = r(9187); + t.exports = function (t) { + return ( + !!d(t) && + (l && Symbol.toStringTag in t + ? (function (t) { + var e = !1; + return ( + n(h, function (r, n) { + if (!e) + try { + var i = r.call(t); + i === n && (e = i); + } catch (t) {} + }), + e + ); + })(t) + : f(s(t), 8, -1)) + ); + }; + }, + 3961: function (t, e, r) { + var n = r(63489), + i = r(56131), + a = n.instance(); + function o(t) { + this.local = + this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + (o.prototype = new n.baseCalendar()), + i(o.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(l); + 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(u); + return e ? e[0] : ""; + } + var r = this._validateYear(t), + n = t.month(), + i = [ + "一月", + "二月", + "三月", + "四月", + "五月", + "六月", + "七月", + "八月", + "九月", + "十月", + "十一月", + "十二月", + ][this.toChineseMonth(r, n) - 1]; + return ( + this.isIntercalaryMonth(r, n) && (i = "闰" + i), i + ); + }, + monthNamesShort: function (t) { + if ("string" == typeof t) { + var e = t.match(c); + return e ? e[0] : ""; + } + var r = this._validateYear(t), + n = t.month(), + i = [ + "一", + "二", + "三", + "四", + "五", + "六", + "七", + "八", + "九", + "十", + "十一", + "十二", + ][this.toChineseMonth(r, n) - 1]; + return ( + this.isIntercalaryMonth(r, n) && (i = "闰" + i), i + ); + }, + parseMonth: function (t, e) { + t = this._validateYear(t); + var r, + n = parseInt(e); + if (isNaN(n)) + "闰" === e[0] && ((r = !0), (e = e.substring(1))), + "月" === e[e.length - 1] && + (e = e.substring(0, e.length - 1)), + (n = + 1 + + [ + "一", + "二", + "三", + "四", + "五", + "六", + "七", + "八", + "九", + "十", + "十一", + "十二", + ].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 i = this.intercalaryMonth(t); + if ((r && e !== i) || e < 1 || e > 12) + throw n.local.invalidMonth.replace( + /\{0\}/, + this.local.name, + ); + return i ? (!r && e <= i ? 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 n.local.invalidMonth.replace( + /\{0\}/, + this.local.name, + ); + return r ? (e < r ? e + 1 : e) : e + 1; + }, + intercalaryMonth: function (t) { + return (t = this._validateYear(t)), f[t - f[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 i, + o = this._validateYear(t, n.local.invalidyear), + s = h[o - h[0]], + l = (s >> 9) & 4095, + u = (s >> 5) & 15, + c = 31 & s; + (i = a.newDate(l, u, c)).add( + 4 - (i.dayOfWeek() || 7), + "d", + ); + var f = this.toJD(t, e, r) - i.toJD(); + return 1 + Math.floor(f / 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 = f[t - f[0]]; + if (e > (r >> 13 ? 12 : 11)) + throw n.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 i = this._validate(t, s, r, n.local.invalidDate); + (t = this._validateYear(i.year())), + (e = i.month()), + (r = i.day()); + var o = this.isIntercalaryMonth(t, e), + s = this.toChineseMonth(t, e), + l = (function (t, e, r, n, i) { + var a, o, s; + if ("object" == typeof t) (o = t), (a = e || {}); + else { + var l; + if ( + !( + "number" == typeof t && + t >= 1888 && + t <= 2111 + ) + ) + throw new Error( + "Lunar year outside range 1888-2111", + ); + if (!("number" == typeof e && e >= 1 && e <= 12)) + throw new Error( + "Lunar month outside range 1 - 12", + ); + if (!("number" == typeof r && r >= 1 && r <= 30)) + throw new Error( + "Lunar day outside range 1 - 30", + ); + "object" == typeof n + ? ((l = !1), (a = n)) + : ((l = !!n), (a = {})), + (o = { + year: t, + month: e, + day: r, + isIntercalary: l, + }); + } + s = o.day - 1; + var u, + c = f[o.year - f[0]], + p = c >> 13; + u = + p && (o.month > p || o.isIntercalary) + ? o.month + : o.month - 1; + for (var d = 0; d < u; d++) + s += c & (1 << (12 - d)) ? 30 : 29; + var v = h[o.year - h[0]], + g = new Date( + (v >> 9) & 4095, + ((v >> 5) & 15) - 1, + (31 & v) + s, + ); + return ( + (a.year = g.getFullYear()), + (a.month = 1 + g.getMonth()), + (a.day = g.getDate()), + a + ); + })(t, s, r, o); + return a.toJD(l.year, l.month, l.day); + }, + fromJD: function (t) { + var e = a.fromJD(t), + r = (function (t, e, r, n) { + var i, a; + if ("object" == typeof t) (i = t), (a = e || {}); + else { + if ( + !( + "number" == typeof t && + t >= 1888 && + t <= 2111 + ) + ) + throw new Error( + "Solar year outside range 1888-2111", + ); + if (!("number" == typeof e && e >= 1 && e <= 12)) + throw new Error( + "Solar month outside range 1 - 12", + ); + if (!("number" == typeof r && r >= 1 && r <= 31)) + throw new Error( + "Solar day outside range 1 - 31", + ); + (i = { year: t, month: e, day: r }), (a = {}); + } + var o = h[i.year - h[0]], + s = (i.year << 9) | (i.month << 5) | i.day; + (a.year = s >= o ? i.year : i.year - 1), + (o = h[a.year - h[0]]); + var l, + u = new Date( + (o >> 9) & 4095, + ((o >> 5) & 15) - 1, + 31 & o, + ), + c = new Date(i.year, i.month - 1, i.day); + l = Math.round((c - u) / 864e5); + var p, + d = f[a.year - f[0]]; + for (p = 0; p < 13; p++) { + var v = d & (1 << (12 - p)) ? 30 : 29; + if (l < v) break; + l -= v; + } + var g = d >> 13; + return ( + !g || p < g + ? ((a.isIntercalary = !1), (a.month = 1 + p)) + : p === g + ? ((a.isIntercalary = !0), (a.month = p)) + : ((a.isIntercalary = !1), (a.month = p)), + (a.day = 1 + l), + 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(s), + 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), + s = this.toChineseMonth(n, i), + l = Object.getPrototypeOf(o.prototype).add.call( + this, + t, + e, + r, + ); + if ("y" === r) { + var u = l.year(), + c = l.month(), + f = this.isIntercalaryMonth(u, s), + h = + a && f + ? this.toMonthIndex(u, s, !0) + : this.toMonthIndex(u, s, !1); + h !== c && l.month(h); + } + return l; + }, + }); + var s = /^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m, + l = /^\d?\d[iI]?/m, + u = /^闰?十?[一二三四五六七八九]?月/m, + c = /^闰?十?[一二三四五六七八九]?/m; + n.calendars.chinese = o; + var f = [ + 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, + ], + h = [ + 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, + ]; + }, + 38751: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + (a.prototype = new n.baseCalendar()), + i(a.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, + n.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, + n.local.invalidYear || + n.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, + n.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 i = this._validate(t, e, r, n.local.invalidDate); + return ( + (t = i.year()) < 0 && t++, + i.day() + + 30 * (i.month() - 1) + + 365 * (t - 1) + + Math.floor(t / 4) + + this.jdEpoch - + 1 + ); + }, + fromJD: function (t) { + var e = Math.floor(t) + 0.5 - this.jdEpoch, + r = + Math.floor( + (e - Math.floor((e + 366) / 1461)) / 365, + ) + 1; + r <= 0 && r--, + (e = + Math.floor(t) + 0.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); + }, + }), + (n.calendars.coptic = a); + }, + 86825: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + (a.prototype = new n.baseCalendar()), + i(a.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, + n.local.invalidYear, + ), + !1 + ); + }, + monthsInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ), + 13 + ); + }, + daysInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + n.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, + n.local.invalidMonth, + ); + return this.daysPerMonth[r.month() - 1]; + }, + daysInWeek: function () { + return 8; + }, + dayOfWeek: function (t, e, r) { + return ( + (this._validate(t, e, r, n.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 i = this._validate(t, e, r, n.local.invalidDate); + return { + century: + o[Math.floor((i.year() - 1) / 100) + 1] || "", + }; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + return ( + (t = i.year() + (i.year() < 0 ? 1 : 0)), + (e = i.month()), + (r = i.day()) + + (e > 1 ? 16 : 0) + + (e > 2 ? 32 * (e - 2) : 0) + + 400 * (t - 1) + + this.jdEpoch - + 1 + ); + }, + fromJD: function (t) { + t = Math.floor(t + 0.5) - Math.floor(this.jdEpoch) - 1; + var e = Math.floor(t / 400) + 1; + (t -= 400 * (e - 1)), (t += t > 15 ? 16 : 0); + var r = Math.floor(t / 32) + 1, + n = t - 32 * (r - 1) + 1; + return this.newDate(e <= 0 ? e - 1 : e, r, n); + }, + }); + var o = { 20: "Fruitbat", 21: "Anchovy" }; + n.calendars.discworld = a; + }, + 37715: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + (a.prototype = new n.baseCalendar()), + i(a.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, + n.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, + n.local.invalidYear || + n.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, + n.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 i = this._validate(t, e, r, n.local.invalidDate); + return ( + (t = i.year()) < 0 && t++, + i.day() + + 30 * (i.month() - 1) + + 365 * (t - 1) + + Math.floor(t / 4) + + this.jdEpoch - + 1 + ); + }, + fromJD: function (t) { + var e = Math.floor(t) + 0.5 - this.jdEpoch, + r = + Math.floor( + (e - Math.floor((e + 366) / 1461)) / 365, + ) + 1; + r <= 0 && r--, + (e = + Math.floor(t) + 0.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); + }, + }), + (n.calendars.ethiopian = a); + }, + 99384: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + function o(t, e) { + return t - e * Math.floor(t / e); + } + (a.prototype = new n.baseCalendar()), + i(a.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, + n.local.invalidYear, + ); + return this._leapYear(e.year()); + }, + _leapYear: function (t) { + return o(7 * (t = t < 0 ? t + 1 : t) + 1, 19) < 7; + }, + monthsInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + n.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, + n.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, + n.local.invalidMonth, + ), + (12 === e && this.leapYear(t)) || + (8 === e && 5 === o(this.daysInYear(t), 10)) + ? 30 + : 9 === e && 3 === o(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 i = this._validate(t, e, r, n.local.invalidDate); + return { + yearType: + (this.leapYear(i) ? "embolismic" : "common") + + " " + + ["deficient", "regular", "complete"][ + (this.daysInYear(i) % 10) - 3 + ], + }; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + (t = i.year()), (e = i.month()), (r = i.day()); + var a = t <= 0 ? t + 1 : t, + o = + this.jdEpoch + + this._delay1(a) + + this._delay2(a) + + r + + 1; + if (e < 7) { + for (var s = 7; s <= this.monthsInYear(t); s++) + o += this.daysInMonth(t, s); + for (s = 1; s < e; s++) o += this.daysInMonth(t, s); + } else + for (s = 7; s < e; s++) o += this.daysInMonth(t, s); + return o; + }, + _delay1: function (t) { + var e = Math.floor((235 * t - 234) / 19), + r = 12084 + 13753 * e, + n = 29 * e + Math.floor(r / 25920); + return o(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) + 0.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); + }, + }), + (n.calendars.hebrew = a); + }, + 43805: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + (a.prototype = new n.baseCalendar()), + i(a.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īs", + "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, + n.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, + n.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 i = this._validate(t, e, r, n.local.invalidDate); + return ( + (t = i.year()), + (e = i.month()), + (t = t <= 0 ? t + 1 : t), + (r = i.day()) + + 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) + 0.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); + }, + }), + (n.calendars.islamic = a); + }, + 88874: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + (a.prototype = new n.baseCalendar()), + i(a.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, + n.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, + n.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 i = this._validate(t, e, r, n.local.invalidDate); + return ( + (t = i.year()), + (e = i.month()), + (r = i.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 + 0.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); + }, + }), + (n.calendars.julian = a); + }, + 83290: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + function o(t, e) { + return t - e * Math.floor(t / e); + } + function s(t, e) { + return o(t - 1, e) + 1; + } + (a.prototype = new n.baseCalendar()), + i(a.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, + n.local.invalidYear, + ), + !1 + ); + }, + formatYear: function (t) { + t = this._validate( + t, + this.minMonth, + this.minDay, + n.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, + n.local.invalidYear, + ), + 18 + ); + }, + weekOfYear: function (t, e, r) { + return this._validate(t, e, r, n.local.invalidDate), 0; + }, + daysInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ), + 360 + ); + }, + daysInMonth: function (t, e) { + return ( + this._validate( + t, + e, + this.minDay, + n.local.invalidMonth, + ), + 20 + ); + }, + daysInWeek: function () { + return 5; + }, + dayOfWeek: function (t, e, r) { + return this._validate( + t, + e, + r, + n.local.invalidDate, + ).day(); + }, + weekDay: function (t, e, r) { + return this._validate(t, e, r, n.local.invalidDate), !0; + }, + extraInfo: function (t, e, r) { + var i = this._validate( + t, + e, + r, + n.local.invalidDate, + ).toJD(), + a = this._toHaab(i), + o = this._toTzolkin(i); + return { + haabMonthName: this.local.haabMonths[a[0] - 1], + haabMonth: a[0], + haabDay: a[1], + tzolkinDayName: this.local.tzolkinMonths[o[0] - 1], + tzolkinDay: o[0], + tzolkinTrecena: o[1], + }; + }, + _toHaab: function (t) { + var e = o(8 + (t -= this.jdEpoch) + 340, 365); + return [Math.floor(e / 20) + 1, o(e, 20)]; + }, + _toTzolkin: function (t) { + return [s(20 + (t -= this.jdEpoch), 20), s(t + 4, 13)]; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + return ( + i.day() + + 20 * i.month() + + 360 * i.year() + + this.jdEpoch + ); + }, + fromJD: function (t) { + t = Math.floor(t) + 0.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); + }, + }), + (n.calendars.mayan = a); + }, + 29108: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + a.prototype = new n.baseCalendar(); + var o = n.instance("gregorian"); + i(a.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, + n.local.invalidYear || + n.regionalOptions[""].invalidYear, + ); + return o.leapYear( + e.year() + (e.year() < 1 ? 1 : 0) + 1469, + ); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(1 - (n.dayOfWeek() || 7), "d"), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInMonth: function (t, e) { + var r = this._validate( + t, + e, + this.minDay, + n.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 i = this._validate(t, e, r, n.local.invalidMonth); + (t = i.year()) < 0 && t++; + for (var a = i.day(), s = 1; s < i.month(); s++) + a += this.daysPerMonth[s - 1]; + return a + o.toJD(t + 1468, 3, 13); + }, + fromJD: function (t) { + t = Math.floor(t + 0.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) + 0.5) + 1, + n = 1; + r > this.daysInMonth(e, n); + + ) + (r -= this.daysInMonth(e, n)), n++; + return this.newDate(e, n, r); + }, + }), + (n.calendars.nanakshahi = a); + }, + 55422: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + (a.prototype = new n.baseCalendar()), + i(a.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, + n.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, + n.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 i = this._validate(t, e, r, n.local.invalidDate); + (t = i.year()), (e = i.month()), (r = i.day()); + var a = n.instance(), + o = 0, + s = e, + l = t; + this._createMissingCalendarData(t); + var u = + t - + (s > 9 || + (9 === s && r >= this.NEPALI_CALENDAR_DATA[l][0]) + ? 56 + : 57); + for (9 !== e && ((o = r), s--); 9 !== s; ) + s <= 0 && ((s = 12), l--), + (o += this.NEPALI_CALENDAR_DATA[l][s]), + s--; + return ( + 9 === e + ? (o += r - this.NEPALI_CALENDAR_DATA[l][0]) < 0 && + (o += a.daysInYear(u)) + : (o += + this.NEPALI_CALENDAR_DATA[l][9] - + this.NEPALI_CALENDAR_DATA[l][0]), + a.newDate(u, 1, 1).add(o, "d").toJD() + ); + }, + fromJD: function (t) { + var e = n.instance().fromJD(t), + r = e.year(), + i = e.dayOfYear(), + a = r + 56; + this._createMissingCalendarData(a); + for ( + var o = 9, + s = this.NEPALI_CALENDAR_DATA[a][0], + l = this.NEPALI_CALENDAR_DATA[a][o] - s + 1; + i > l; + + ) + ++o > 12 && ((o = 1), a++), + (l += this.NEPALI_CALENDAR_DATA[a][o]); + var u = this.NEPALI_CALENDAR_DATA[a][o] - (l - i); + return this.newDate(a, o, u); + }, + _createMissingCalendarData: function (t) { + var e = this.daysPerMonth.slice(0); + e.unshift(17); + for (var r = t - 1; r < t + 2; r++) + void 0 === this.NEPALI_CALENDAR_DATA[r] && + (this.NEPALI_CALENDAR_DATA[r] = e); + }, + NEPALI_CALENDAR_DATA: { + 1970: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 1971: [ + 18, 31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30, + ], + 1972: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30, + ], + 1973: [ + 19, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31, + ], + 1974: [ + 19, 31, 31, 32, 30, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 1975: [ + 18, 31, 31, 32, 32, 30, 31, 30, 29, 30, 29, 30, 30, + ], + 1976: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31, + ], + 1977: [ + 18, 31, 32, 31, 32, 31, 31, 29, 30, 29, 30, 29, 31, + ], + 1978: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 1979: [ + 18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30, + ], + 1980: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31, + ], + 1981: [ + 18, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30, + ], + 1982: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 1983: [ + 18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30, + ], + 1984: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31, + ], + 1985: [ + 18, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30, + ], + 1986: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 1987: [ + 18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30, + ], + 1988: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31, + ], + 1989: [ + 18, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 1990: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 1991: [ + 18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30, + ], + 1992: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31, + ], + 1993: [ + 18, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 1994: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 1995: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30, + ], + 1996: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31, + ], + 1997: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 1998: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 1999: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31, + ], + 2e3: [ + 17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31, + ], + 2001: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2002: [ + 18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30, + ], + 2003: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31, + ], + 2004: [ + 17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31, + ], + 2005: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2006: [ + 18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30, + ], + 2007: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31, + ], + 2008: [ + 17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31, + ], + 2009: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2010: [ + 18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30, + ], + 2011: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31, + ], + 2012: [ + 17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30, + ], + 2013: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2014: [ + 18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30, + ], + 2015: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31, + ], + 2016: [ + 17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30, + ], + 2017: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2018: [ + 18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30, + ], + 2019: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31, + ], + 2020: [ + 17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2021: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2022: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30, + ], + 2023: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31, + ], + 2024: [ + 17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2025: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2026: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31, + ], + 2027: [ + 17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31, + ], + 2028: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2029: [ + 18, 31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30, + ], + 2030: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 30, 30, 30, 31, + ], + 2031: [ + 17, 31, 32, 31, 32, 31, 31, 31, 31, 31, 31, 31, 31, + ], + 2032: [ + 17, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + ], + 2033: [ + 18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30, + ], + 2034: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31, + ], + 2035: [ + 17, 30, 32, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31, + ], + 2036: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2037: [ + 18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30, + ], + 2038: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31, + ], + 2039: [ + 17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30, + ], + 2040: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2041: [ + 18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30, + ], + 2042: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31, + ], + 2043: [ + 17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30, + ], + 2044: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2045: [ + 18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30, + ], + 2046: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31, + ], + 2047: [ + 17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2048: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2049: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30, + ], + 2050: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31, + ], + 2051: [ + 17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2052: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2053: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30, + ], + 2054: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31, + ], + 2055: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 30, 29, 30, + ], + 2056: [ + 17, 31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30, + ], + 2057: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31, + ], + 2058: [ + 17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31, + ], + 2059: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2060: [ + 17, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30, + ], + 2061: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31, + ], + 2062: [ + 17, 30, 32, 31, 32, 31, 31, 29, 30, 29, 30, 29, 31, + ], + 2063: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2064: [ + 17, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30, + ], + 2065: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31, + ], + 2066: [ + 17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31, + ], + 2067: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2068: [ + 17, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30, + ], + 2069: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31, + ], + 2070: [ + 17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30, + ], + 2071: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2072: [ + 17, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30, + ], + 2073: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31, + ], + 2074: [ + 17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2075: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2076: [ + 16, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30, + ], + 2077: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31, + ], + 2078: [ + 17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2079: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30, + ], + 2080: [ + 16, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30, + ], + 2081: [ + 17, 31, 31, 32, 32, 31, 30, 30, 30, 29, 30, 30, 30, + ], + 2082: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30, + ], + 2083: [ + 17, 31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30, + ], + 2084: [ + 17, 31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30, + ], + 2085: [ + 17, 31, 32, 31, 32, 31, 31, 30, 30, 29, 30, 30, 30, + ], + 2086: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30, + ], + 2087: [ + 16, 31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, 30, + ], + 2088: [ + 16, 30, 31, 32, 32, 30, 31, 30, 30, 29, 30, 30, 30, + ], + 2089: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30, + ], + 2090: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30, + ], + 2091: [ + 16, 31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, 30, + ], + 2092: [ + 16, 31, 31, 32, 32, 31, 30, 30, 30, 29, 30, 30, 30, + ], + 2093: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30, + ], + 2094: [ + 17, 31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30, + ], + 2095: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 30, 30, 30, + ], + 2096: [ + 17, 30, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30, + ], + 2097: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30, + ], + 2098: [ + 17, 31, 31, 32, 31, 31, 31, 29, 30, 29, 30, 30, 31, + ], + 2099: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 29, 30, 30, 30, + ], + 2100: [ + 17, 31, 32, 31, 32, 30, 31, 30, 29, 30, 29, 30, 30, + ], + }, + }), + (n.calendars.nepali = a); + }, + 94320: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + function o(t, e) { + return t - e * Math.floor(t / e); + } + (a.prototype = new n.baseCalendar()), + i(a.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æharshambe", + "Panjshambe", + "Jom'e", + "Shambe", + ], + dayNamesShort: [ + "Yek", + "Do", + "Se", + "Chæ", + "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, + n.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, + n.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 i = this._validate(t, e, r, n.local.invalidDate); + (t = i.year()), (e = i.month()), (r = i.day()); + var a = t - (t >= 0 ? 474 : 473), + s = 474 + o(a, 2820); + return ( + r + + (e <= 7 ? 31 * (e - 1) : 30 * (e - 1) + 6) + + Math.floor((682 * s - 110) / 2816) + + 365 * (s - 1) + + 1029983 * Math.floor(a / 2820) + + this.jdEpoch - + 1 + ); + }, + fromJD: function (t) { + var e = + (t = Math.floor(t) + 0.5) - this.toJD(475, 1, 1), + r = Math.floor(e / 1029983), + n = o(e, 1029983), + i = 2820; + if (1029982 !== n) { + var a = Math.floor(n / 366), + s = o(n, 366); + i = + Math.floor((2134 * a + 2816 * s + 2815) / 1028522) + + a + + 1; + } + var l = i + 2820 * r + 474; + l = l <= 0 ? l - 1 : l; + var u = t - this.toJD(l, 1, 1) + 1, + c = + u <= 186 + ? Math.ceil(u / 31) + : Math.ceil((u - 6) / 30), + f = t - this.toJD(l, c, 1) + 1; + return this.newDate(l, c, f); + }, + }), + (n.calendars.persian = a), + (n.calendars.jalali = a); + }, + 31320: function (t, e, r) { + var n = r(63489), + i = r(56131), + a = n.instance(); + function o(t) { + this.local = + this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + (o.prototype = new n.baseCalendar()), + i(o.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, + n.local.invalidYear, + ); + return (t = this._t2gYear(e.year())), a.leapYear(t); + }, + weekOfYear: function (t, e, r) { + var i = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ); + return ( + (t = this._t2gYear(i.year())), + a.weekOfYear(t, i.month(), i.day()) + ); + }, + daysInMonth: function (t, e) { + var r = this._validate( + t, + e, + this.minDay, + n.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 i = this._validate(t, e, r, n.local.invalidDate); + return ( + (t = this._t2gYear(i.year())), + a.toJD(t, i.month(), i.day()) + ); + }, + fromJD: function (t) { + var e = a.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) + ); + }, + }), + (n.calendars.taiwan = o); + }, + 51367: function (t, e, r) { + var n = r(63489), + i = r(56131), + a = n.instance(); + function o(t) { + this.local = + this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + (o.prototype = new n.baseCalendar()), + i(o.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, + n.local.invalidYear, + ); + return (t = this._t2gYear(e.year())), a.leapYear(t); + }, + weekOfYear: function (t, e, r) { + var i = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ); + return ( + (t = this._t2gYear(i.year())), + a.weekOfYear(t, i.month(), i.day()) + ); + }, + daysInMonth: function (t, e) { + var r = this._validate( + t, + e, + this.minDay, + n.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 i = this._validate(t, e, r, n.local.invalidDate); + return ( + (t = this._t2gYear(i.year())), + a.toJD(t, i.month(), i.day()) + ); + }, + fromJD: function (t) { + var e = a.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) + ); + }, + }), + (n.calendars.thai = o); + }, + 21457: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + (a.prototype = new n.baseCalendar()), + i(a.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āthā’", + "Yawm al-Arba‘ā’", + "Yawm al-Khamīs", + "Yawm al-Jum‘a", + "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, + n.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, + n.local.invalidMonth, + ).toJD() - + 24e5 + + 0.5, + i = 0, + a = 0; + a < o.length; + a++ + ) { + if (o[a] > r) return o[i] - o[i - 1]; + i++; + } + return 30; + }, + weekDay: function (t, e, r) { + return 5 !== this.dayOfWeek(t, e, r); + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate), + a = 12 * (i.year() - 1) + i.month() - 15292; + return i.day() + o[a - 1] - 1 + 24e5 - 0.5; + }, + fromJD: function (t) { + for ( + var e = t - 24e5 + 0.5, r = 0, n = 0; + n < o.length && !(o[n] > e); + n++ + ) + r++; + var i = r + 15292, + a = Math.floor((i - 1) / 12), + s = a + 1, + l = i - 12 * a, + u = e - o[r - 1] + 1; + return this.newDate(s, l, u); + }, + isValid: function (t, e, r) { + var i = n.baseCalendar.prototype.isValid.apply( + this, + arguments, + ); + return ( + i && + (i = + (t = null != t.year ? t.year : t) >= 1276 && + t <= 1500), + i + ); + }, + _validate: function (t, e, r, i) { + var a = n.baseCalendar.prototype._validate.apply( + this, + arguments, + ); + if (a.year < 1276 || a.year > 1500) + throw i.replace(/\{0\}/, this.local.name); + return a; + }, + }), + (n.calendars.ummalqura = a); + var o = [ + 20, 50, 79, 109, 138, 168, 197, 227, 256, 286, 315, 345, + 374, 404, 433, 463, 492, 522, 551, 581, 611, 641, 670, 700, + 729, 759, 788, 818, 847, 877, 906, 936, 965, 995, 1024, + 1054, 1083, 1113, 1142, 1172, 1201, 1231, 1260, 1290, 1320, + 1350, 1379, 1409, 1438, 1468, 1497, 1527, 1556, 1586, 1615, + 1645, 1674, 1704, 1733, 1763, 1792, 1822, 1851, 1881, 1910, + 1940, 1969, 1999, 2028, 2058, 2087, 2117, 2146, 2176, 2205, + 2235, 2264, 2294, 2323, 2353, 2383, 2413, 2442, 2472, 2501, + 2531, 2560, 2590, 2619, 2649, 2678, 2708, 2737, 2767, 2796, + 2826, 2855, 2885, 2914, 2944, 2973, 3003, 3032, 3062, 3091, + 3121, 3150, 3180, 3209, 3239, 3268, 3298, 3327, 3357, 3386, + 3416, 3446, 3476, 3505, 3535, 3564, 3594, 3623, 3653, 3682, + 3712, 3741, 3771, 3800, 3830, 3859, 3889, 3918, 3948, 3977, + 4007, 4036, 4066, 4095, 4125, 4155, 4185, 4214, 4244, 4273, + 4303, 4332, 4362, 4391, 4421, 4450, 4480, 4509, 4539, 4568, + 4598, 4627, 4657, 4686, 4716, 4745, 4775, 4804, 4834, 4863, + 4893, 4922, 4952, 4981, 5011, 5040, 5070, 5099, 5129, 5158, + 5188, 5218, 5248, 5277, 5307, 5336, 5366, 5395, 5425, 5454, + 5484, 5513, 5543, 5572, 5602, 5631, 5661, 5690, 5720, 5749, + 5779, 5808, 5838, 5867, 5897, 5926, 5956, 5985, 6015, 6044, + 6074, 6103, 6133, 6162, 6192, 6221, 6251, 6281, 6311, 6340, + 6370, 6399, 6429, 6458, 6488, 6517, 6547, 6576, 6606, 6635, + 6665, 6694, 6724, 6753, 6783, 6812, 6842, 6871, 6901, 6930, + 6960, 6989, 7019, 7048, 7078, 7107, 7137, 7166, 7196, 7225, + 7255, 7284, 7314, 7344, 7374, 7403, 7433, 7462, 7492, 7521, + 7551, 7580, 7610, 7639, 7669, 7698, 7728, 7757, 7787, 7816, + 7846, 7875, 7905, 7934, 7964, 7993, 8023, 8053, 8083, 8112, + 8142, 8171, 8201, 8230, 8260, 8289, 8319, 8348, 8378, 8407, + 8437, 8466, 8496, 8525, 8555, 8584, 8614, 8643, 8673, 8702, + 8732, 8761, 8791, 8821, 8850, 8880, 8909, 8938, 8968, 8997, + 9027, 9056, 9086, 9115, 9145, 9175, 9205, 9234, 9264, 9293, + 9322, 9352, 9381, 9410, 9440, 9470, 9499, 9529, 9559, 9589, + 9618, 9648, 9677, 9706, 9736, 9765, 9794, 9824, 9853, 9883, + 9913, 9943, 9972, 10002, 10032, 10061, 10090, 10120, 10149, + 10178, 10208, 10237, 10267, 10297, 10326, 10356, 10386, + 10415, 10445, 10474, 10504, 10533, 10562, 10592, 10621, + 10651, 10680, 10710, 10740, 10770, 10799, 10829, 10858, + 10888, 10917, 10947, 10976, 11005, 11035, 11064, 11094, + 11124, 11153, 11183, 11213, 11242, 11272, 11301, 11331, + 11360, 11389, 11419, 11448, 11478, 11507, 11537, 11567, + 11596, 11626, 11655, 11685, 11715, 11744, 11774, 11803, + 11832, 11862, 11891, 11921, 11950, 11980, 12010, 12039, + 12069, 12099, 12128, 12158, 12187, 12216, 12246, 12275, + 12304, 12334, 12364, 12393, 12423, 12453, 12483, 12512, + 12542, 12571, 12600, 12630, 12659, 12688, 12718, 12747, + 12777, 12807, 12837, 12866, 12896, 12926, 12955, 12984, + 13014, 13043, 13072, 13102, 13131, 13161, 13191, 13220, + 13250, 13280, 13310, 13339, 13368, 13398, 13427, 13456, + 13486, 13515, 13545, 13574, 13604, 13634, 13664, 13693, + 13723, 13752, 13782, 13811, 13840, 13870, 13899, 13929, + 13958, 13988, 14018, 14047, 14077, 14107, 14136, 14166, + 14195, 14224, 14254, 14283, 14313, 14342, 14372, 14401, + 14431, 14461, 14490, 14520, 14550, 14579, 14609, 14638, + 14667, 14697, 14726, 14756, 14785, 14815, 14844, 14874, + 14904, 14933, 14963, 14993, 15021, 15051, 15081, 15110, + 15140, 15169, 15199, 15228, 15258, 15287, 15317, 15347, + 15377, 15406, 15436, 15465, 15494, 15524, 15553, 15582, + 15612, 15641, 15671, 15701, 15731, 15760, 15790, 15820, + 15849, 15878, 15908, 15937, 15966, 15996, 16025, 16055, + 16085, 16114, 16144, 16174, 16204, 16233, 16262, 16292, + 16321, 16350, 16380, 16409, 16439, 16468, 16498, 16528, + 16558, 16587, 16617, 16646, 16676, 16705, 16734, 16764, + 16793, 16823, 16852, 16882, 16912, 16941, 16971, 17001, + 17030, 17060, 17089, 17118, 17148, 17177, 17207, 17236, + 17266, 17295, 17325, 17355, 17384, 17414, 17444, 17473, + 17502, 17532, 17561, 17591, 17620, 17650, 17679, 17709, + 17738, 17768, 17798, 17827, 17857, 17886, 17916, 17945, + 17975, 18004, 18034, 18063, 18093, 18122, 18152, 18181, + 18211, 18241, 18270, 18300, 18330, 18359, 18388, 18418, + 18447, 18476, 18506, 18535, 18565, 18595, 18625, 18654, + 18684, 18714, 18743, 18772, 18802, 18831, 18860, 18890, + 18919, 18949, 18979, 19008, 19038, 19068, 19098, 19127, + 19156, 19186, 19215, 19244, 19274, 19303, 19333, 19362, + 19392, 19422, 19452, 19481, 19511, 19540, 19570, 19599, + 19628, 19658, 19687, 19717, 19746, 19776, 19806, 19836, + 19865, 19895, 19924, 19954, 19983, 20012, 20042, 20071, + 20101, 20130, 20160, 20190, 20219, 20249, 20279, 20308, + 20338, 20367, 20396, 20426, 20455, 20485, 20514, 20544, + 20573, 20603, 20633, 20662, 20692, 20721, 20751, 20780, + 20810, 20839, 20869, 20898, 20928, 20957, 20987, 21016, + 21046, 21076, 21105, 21135, 21164, 21194, 21223, 21253, + 21282, 21312, 21341, 21371, 21400, 21430, 21459, 21489, + 21519, 21548, 21578, 21607, 21637, 21666, 21696, 21725, + 21754, 21784, 21813, 21843, 21873, 21902, 21932, 21962, + 21991, 22021, 22050, 22080, 22109, 22138, 22168, 22197, + 22227, 22256, 22286, 22316, 22346, 22375, 22405, 22434, + 22464, 22493, 22522, 22552, 22581, 22611, 22640, 22670, + 22700, 22730, 22759, 22789, 22818, 22848, 22877, 22906, + 22936, 22965, 22994, 23024, 23054, 23083, 23113, 23143, + 23173, 23202, 23232, 23261, 23290, 23320, 23349, 23379, + 23408, 23438, 23467, 23497, 23527, 23556, 23586, 23616, + 23645, 23674, 23704, 23733, 23763, 23792, 23822, 23851, + 23881, 23910, 23940, 23970, 23999, 24029, 24058, 24088, + 24117, 24147, 24176, 24206, 24235, 24265, 24294, 24324, + 24353, 24383, 24413, 24442, 24472, 24501, 24531, 24560, + 24590, 24619, 24648, 24678, 24707, 24737, 24767, 24796, + 24826, 24856, 24885, 24915, 24944, 24974, 25003, 25032, + 25062, 25091, 25121, 25150, 25180, 25210, 25240, 25269, + 25299, 25328, 25358, 25387, 25416, 25446, 25475, 25505, + 25534, 25564, 25594, 25624, 25653, 25683, 25712, 25742, + 25771, 25800, 25830, 25859, 25888, 25918, 25948, 25977, + 26007, 26037, 26067, 26096, 26126, 26155, 26184, 26214, + 26243, 26272, 26302, 26332, 26361, 26391, 26421, 26451, + 26480, 26510, 26539, 26568, 26598, 26627, 26656, 26686, + 26715, 26745, 26775, 26805, 26834, 26864, 26893, 26923, + 26952, 26982, 27011, 27041, 27070, 27099, 27129, 27159, + 27188, 27218, 27248, 27277, 27307, 27336, 27366, 27395, + 27425, 27454, 27484, 27513, 27542, 27572, 27602, 27631, + 27661, 27691, 27720, 27750, 27779, 27809, 27838, 27868, + 27897, 27926, 27956, 27985, 28015, 28045, 28074, 28104, + 28134, 28163, 28193, 28222, 28252, 28281, 28310, 28340, + 28369, 28399, 28428, 28458, 28488, 28517, 28547, 28577, + 28607, 28636, 28665, 28695, 28724, 28754, 28783, 28813, + 28843, 28872, 28901, 28931, 28960, 28990, 29019, 29049, + 29078, 29108, 29137, 29167, 29196, 29226, 29255, 29285, + 29315, 29345, 29375, 29404, 29434, 29463, 29492, 29522, + 29551, 29580, 29610, 29640, 29669, 29699, 29729, 29759, + 29788, 29818, 29847, 29876, 29906, 29935, 29964, 29994, + 30023, 30053, 30082, 30112, 30141, 30171, 30200, 30230, + 30259, 30289, 30318, 30348, 30378, 30408, 30437, 30467, + 30496, 30526, 30555, 30585, 30614, 30644, 30673, 30703, + 30732, 30762, 30791, 30821, 30850, 30880, 30909, 30939, + 30968, 30998, 31027, 31057, 31086, 31116, 31145, 31175, + 31204, 31234, 31263, 31293, 31322, 31352, 31381, 31411, + 31441, 31471, 31500, 31530, 31559, 31589, 31618, 31648, + 31676, 31706, 31736, 31766, 31795, 31825, 31854, 31884, + 31913, 31943, 31972, 32002, 32031, 32061, 32090, 32120, + 32150, 32180, 32209, 32239, 32268, 32298, 32327, 32357, + 32386, 32416, 32445, 32475, 32504, 32534, 32563, 32593, + 32622, 32652, 32681, 32711, 32740, 32770, 32799, 32829, + 32858, 32888, 32917, 32947, 32976, 33006, 33035, 33065, + 33094, 33124, 33153, 33183, 33213, 33243, 33272, 33302, + 33331, 33361, 33390, 33420, 33450, 33479, 33509, 33539, + 33568, 33598, 33627, 33657, 33686, 33716, 33745, 33775, + 33804, 33834, 33863, 33893, 33922, 33952, 33981, 34011, + 34040, 34069, 34099, 34128, 34158, 34187, 34217, 34247, + 34277, 34306, 34336, 34365, 34395, 34424, 34454, 34483, + 34512, 34542, 34571, 34601, 34631, 34660, 34690, 34719, + 34749, 34778, 34808, 34837, 34867, 34896, 34926, 34955, + 34985, 35015, 35044, 35074, 35103, 35133, 35162, 35192, + 35222, 35251, 35280, 35310, 35340, 35370, 35399, 35429, + 35458, 35488, 35517, 35547, 35576, 35605, 35635, 35665, + 35694, 35723, 35753, 35782, 35811, 35841, 35871, 35901, + 35930, 35960, 35989, 36019, 36048, 36078, 36107, 36136, + 36166, 36195, 36225, 36254, 36284, 36314, 36343, 36373, + 36403, 36433, 36462, 36492, 36521, 36551, 36580, 36610, + 36639, 36669, 36698, 36728, 36757, 36786, 36816, 36845, + 36875, 36904, 36934, 36963, 36993, 37022, 37052, 37081, + 37111, 37141, 37170, 37200, 37229, 37259, 37288, 37318, + 37347, 37377, 37406, 37436, 37465, 37495, 37524, 37554, + 37584, 37613, 37643, 37672, 37701, 37731, 37760, 37790, + 37819, 37849, 37878, 37908, 37938, 37967, 37997, 38027, + 38056, 38085, 38115, 38144, 38174, 38203, 38233, 38262, + 38292, 38322, 38351, 38381, 38410, 38440, 38469, 38499, + 38528, 38558, 38587, 38617, 38646, 38676, 38705, 38735, + 38764, 38794, 38823, 38853, 38882, 38912, 38941, 38971, + 39001, 39030, 39059, 39089, 39118, 39148, 39178, 39208, + 39237, 39267, 39297, 39326, 39355, 39385, 39414, 39444, + 39473, 39503, 39532, 39562, 39592, 39621, 39650, 39680, + 39709, 39739, 39768, 39798, 39827, 39857, 39886, 39916, + 39946, 39975, 40005, 40035, 40064, 40094, 40123, 40153, + 40182, 40212, 40241, 40271, 40300, 40330, 40359, 40389, + 40418, 40448, 40477, 40507, 40536, 40566, 40595, 40625, + 40655, 40685, 40714, 40744, 40773, 40803, 40832, 40862, + 40892, 40921, 40951, 40980, 41009, 41039, 41068, 41098, + 41127, 41157, 41186, 41216, 41245, 41275, 41304, 41334, + 41364, 41393, 41422, 41452, 41481, 41511, 41540, 41570, + 41599, 41629, 41658, 41688, 41718, 41748, 41777, 41807, + 41836, 41865, 41894, 41924, 41953, 41983, 42012, 42042, + 42072, 42102, 42131, 42161, 42190, 42220, 42249, 42279, + 42308, 42337, 42367, 42397, 42426, 42456, 42485, 42515, + 42545, 42574, 42604, 42633, 42662, 42692, 42721, 42751, + 42780, 42810, 42839, 42869, 42899, 42929, 42958, 42988, + 43017, 43046, 43076, 43105, 43135, 43164, 43194, 43223, + 43253, 43283, 43312, 43342, 43371, 43401, 43430, 43460, + 43489, 43519, 43548, 43578, 43607, 43637, 43666, 43696, + 43726, 43755, 43785, 43814, 43844, 43873, 43903, 43932, + 43962, 43991, 44021, 44050, 44080, 44109, 44139, 44169, + 44198, 44228, 44258, 44287, 44317, 44346, 44375, 44405, + 44434, 44464, 44493, 44523, 44553, 44582, 44612, 44641, + 44671, 44700, 44730, 44759, 44788, 44818, 44847, 44877, + 44906, 44936, 44966, 44996, 45025, 45055, 45084, 45114, + 45143, 45172, 45202, 45231, 45261, 45290, 45320, 45350, + 45380, 45409, 45439, 45468, 45498, 45527, 45556, 45586, + 45615, 45644, 45674, 45704, 45733, 45763, 45793, 45823, + 45852, 45882, 45911, 45940, 45970, 45999, 46028, 46058, + 46088, 46117, 46147, 46177, 46206, 46236, 46265, 46295, + 46324, 46354, 46383, 46413, 46442, 46472, 46501, 46531, + 46560, 46590, 46620, 46649, 46679, 46708, 46738, 46767, + 46797, 46826, 46856, 46885, 46915, 46944, 46974, 47003, + 47033, 47063, 47092, 47122, 47151, 47181, 47210, 47240, + 47269, 47298, 47328, 47357, 47387, 47417, 47446, 47476, + 47506, 47535, 47565, 47594, 47624, 47653, 47682, 47712, + 47741, 47771, 47800, 47830, 47860, 47890, 47919, 47949, + 47978, 48008, 48037, 48066, 48096, 48125, 48155, 48184, + 48214, 48244, 48273, 48303, 48333, 48362, 48392, 48421, + 48450, 48480, 48509, 48538, 48568, 48598, 48627, 48657, + 48687, 48717, 48746, 48776, 48805, 48834, 48864, 48893, + 48922, 48952, 48982, 49011, 49041, 49071, 49100, 49130, + 49160, 49189, 49218, 49248, 49277, 49306, 49336, 49365, + 49395, 49425, 49455, 49484, 49514, 49543, 49573, 49602, + 49632, 49661, 49690, 49720, 49749, 49779, 49809, 49838, + 49868, 49898, 49927, 49957, 49986, 50016, 50045, 50075, + 50104, 50133, 50163, 50192, 50222, 50252, 50281, 50311, + 50340, 50370, 50400, 50429, 50459, 50488, 50518, 50547, + 50576, 50606, 50635, 50665, 50694, 50724, 50754, 50784, + 50813, 50843, 50872, 50902, 50931, 50960, 50990, 51019, + 51049, 51078, 51108, 51138, 51167, 51197, 51227, 51256, + 51286, 51315, 51345, 51374, 51403, 51433, 51462, 51492, + 51522, 51552, 51582, 51611, 51641, 51670, 51699, 51729, + 51758, 51787, 51816, 51846, 51876, 51906, 51936, 51965, + 51995, 52025, 52054, 52083, 52113, 52142, 52171, 52200, + 52230, 52260, 52290, 52319, 52349, 52379, 52408, 52438, + 52467, 52497, 52526, 52555, 52585, 52614, 52644, 52673, + 52703, 52733, 52762, 52792, 52822, 52851, 52881, 52910, + 52939, 52969, 52998, 53028, 53057, 53087, 53116, 53146, + 53176, 53205, 53235, 53264, 53294, 53324, 53353, 53383, + 53412, 53441, 53471, 53500, 53530, 53559, 53589, 53619, + 53648, 53678, 53708, 53737, 53767, 53796, 53825, 53855, + 53884, 53913, 53943, 53973, 54003, 54032, 54062, 54092, + 54121, 54151, 54180, 54209, 54239, 54268, 54297, 54327, + 54357, 54387, 54416, 54446, 54476, 54505, 54535, 54564, + 54593, 54623, 54652, 54681, 54711, 54741, 54770, 54800, + 54830, 54859, 54889, 54919, 54948, 54977, 55007, 55036, + 55066, 55095, 55125, 55154, 55184, 55213, 55243, 55273, + 55302, 55332, 55361, 55391, 55420, 55450, 55479, 55508, + 55538, 55567, 55597, 55627, 55657, 55686, 55716, 55745, + 55775, 55804, 55834, 55863, 55892, 55922, 55951, 55981, + 56011, 56040, 56070, 56100, 56129, 56159, 56188, 56218, + 56247, 56276, 56306, 56335, 56365, 56394, 56424, 56454, + 56483, 56513, 56543, 56572, 56601, 56631, 56660, 56690, + 56719, 56749, 56778, 56808, 56837, 56867, 56897, 56926, + 56956, 56985, 57015, 57044, 57074, 57103, 57133, 57162, + 57192, 57221, 57251, 57280, 57310, 57340, 57369, 57399, + 57429, 57458, 57487, 57517, 57546, 57576, 57605, 57634, + 57664, 57694, 57723, 57753, 57783, 57813, 57842, 57871, + 57901, 57930, 57959, 57989, 58018, 58048, 58077, 58107, + 58137, 58167, 58196, 58226, 58255, 58285, 58314, 58343, + 58373, 58402, 58432, 58461, 58491, 58521, 58551, 58580, + 58610, 58639, 58669, 58698, 58727, 58757, 58786, 58816, + 58845, 58875, 58905, 58934, 58964, 58994, 59023, 59053, + 59082, 59111, 59141, 59170, 59200, 59229, 59259, 59288, + 59318, 59348, 59377, 59407, 59436, 59466, 59495, 59525, + 59554, 59584, 59613, 59643, 59672, 59702, 59731, 59761, + 59791, 59820, 59850, 59879, 59909, 59939, 59968, 59997, + 60027, 60056, 60086, 60115, 60145, 60174, 60204, 60234, + 60264, 60293, 60323, 60352, 60381, 60411, 60440, 60469, + 60499, 60528, 60558, 60588, 60618, 60648, 60677, 60707, + 60736, 60765, 60795, 60824, 60853, 60883, 60912, 60942, + 60972, 61002, 61031, 61061, 61090, 61120, 61149, 61179, + 61208, 61237, 61267, 61296, 61326, 61356, 61385, 61415, + 61445, 61474, 61504, 61533, 61563, 61592, 61621, 61651, + 61680, 61710, 61739, 61769, 61799, 61828, 61858, 61888, + 61917, 61947, 61976, 62006, 62035, 62064, 62094, 62123, + 62153, 62182, 62212, 62242, 62271, 62301, 62331, 62360, + 62390, 62419, 62448, 62478, 62507, 62537, 62566, 62596, + 62625, 62655, 62685, 62715, 62744, 62774, 62803, 62832, + 62862, 62891, 62921, 62950, 62980, 63009, 63039, 63069, + 63099, 63128, 63157, 63187, 63216, 63246, 63275, 63305, + 63334, 63363, 63393, 63423, 63453, 63482, 63512, 63541, + 63571, 63600, 63630, 63659, 63689, 63718, 63747, 63777, + 63807, 63836, 63866, 63895, 63925, 63955, 63984, 64014, + 64043, 64073, 64102, 64131, 64161, 64190, 64220, 64249, + 64279, 64309, 64339, 64368, 64398, 64427, 64457, 64486, + 64515, 64545, 64574, 64603, 64633, 64663, 64692, 64722, + 64752, 64782, 64811, 64841, 64870, 64899, 64929, 64958, + 64987, 65017, 65047, 65076, 65106, 65136, 65166, 65195, + 65225, 65254, 65283, 65313, 65342, 65371, 65401, 65431, + 65460, 65490, 65520, 65549, 65579, 65608, 65638, 65667, + 65697, 65726, 65755, 65785, 65815, 65844, 65874, 65903, + 65933, 65963, 65992, 66022, 66051, 66081, 66110, 66140, + 66169, 66199, 66228, 66258, 66287, 66317, 66346, 66376, + 66405, 66435, 66465, 66494, 66524, 66553, 66583, 66612, + 66641, 66671, 66700, 66730, 66760, 66789, 66819, 66849, + 66878, 66908, 66937, 66967, 66996, 67025, 67055, 67084, + 67114, 67143, 67173, 67203, 67233, 67262, 67292, 67321, + 67351, 67380, 67409, 67439, 67468, 67497, 67527, 67557, + 67587, 67617, 67646, 67676, 67705, 67735, 67764, 67793, + 67823, 67852, 67882, 67911, 67941, 67971, 68e3, 68030, + 68060, 68089, 68119, 68148, 68177, 68207, 68236, 68266, + 68295, 68325, 68354, 68384, 68414, 68443, 68473, 68502, + 68532, 68561, 68591, 68620, 68650, 68679, 68708, 68738, + 68768, 68797, 68827, 68857, 68886, 68916, 68946, 68975, + 69004, 69034, 69063, 69092, 69122, 69152, 69181, 69211, + 69240, 69270, 69300, 69330, 69359, 69388, 69418, 69447, + 69476, 69506, 69535, 69565, 69595, 69624, 69654, 69684, + 69713, 69743, 69772, 69802, 69831, 69861, 69890, 69919, + 69949, 69978, 70008, 70038, 70067, 70097, 70126, 70156, + 70186, 70215, 70245, 70274, 70303, 70333, 70362, 70392, + 70421, 70451, 70481, 70510, 70540, 70570, 70599, 70629, + 70658, 70687, 70717, 70746, 70776, 70805, 70835, 70864, + 70894, 70924, 70954, 70983, 71013, 71042, 71071, 71101, + 71130, 71159, 71189, 71218, 71248, 71278, 71308, 71337, + 71367, 71397, 71426, 71455, 71485, 71514, 71543, 71573, + 71602, 71632, 71662, 71691, 71721, 71751, 71781, 71810, + 71839, 71869, 71898, 71927, 71957, 71986, 72016, 72046, + 72075, 72105, 72135, 72164, 72194, 72223, 72253, 72282, + 72311, 72341, 72370, 72400, 72429, 72459, 72489, 72518, + 72548, 72577, 72607, 72637, 72666, 72695, 72725, 72754, + 72784, 72813, 72843, 72872, 72902, 72931, 72961, 72991, + 73020, 73050, 73080, 73109, 73139, 73168, 73197, 73227, + 73256, 73286, 73315, 73345, 73375, 73404, 73434, 73464, + 73493, 73523, 73552, 73581, 73611, 73640, 73669, 73699, + 73729, 73758, 73788, 73818, 73848, 73877, 73907, 73936, + 73965, 73995, 74024, 74053, 74083, 74113, 74142, 74172, + 74202, 74231, 74261, 74291, 74320, 74349, 74379, 74408, + 74437, 74467, 74497, 74526, 74556, 74586, 74615, 74645, + 74675, 74704, 74733, 74763, 74792, 74822, 74851, 74881, + 74910, 74940, 74969, 74999, 75029, 75058, 75088, 75117, + 75147, 75176, 75206, 75235, 75264, 75294, 75323, 75353, + 75383, 75412, 75442, 75472, 75501, 75531, 75560, 75590, + 75619, 75648, 75678, 75707, 75737, 75766, 75796, 75826, + 75856, 75885, 75915, 75944, 75974, 76003, 76032, 76062, + 76091, 76121, 76150, 76180, 76210, 76239, 76269, 76299, + 76328, 76358, 76387, 76416, 76446, 76475, 76505, 76534, + 76564, 76593, 76623, 76653, 76682, 76712, 76741, 76771, + 76801, 76830, 76859, 76889, 76918, 76948, 76977, 77007, + 77036, 77066, 77096, 77125, 77155, 77185, 77214, 77243, + 77273, 77302, 77332, 77361, 77390, 77420, 77450, 77479, + 77509, 77539, 77569, 77598, 77627, 77657, 77686, 77715, + 77745, 77774, 77804, 77833, 77863, 77893, 77923, 77952, + 77982, 78011, 78041, 78070, 78099, 78129, 78158, 78188, + 78217, 78247, 78277, 78307, 78336, 78366, 78395, 78425, + 78454, 78483, 78513, 78542, 78572, 78601, 78631, 78661, + 78690, 78720, 78750, 78779, 78808, 78838, 78867, 78897, + 78926, 78956, 78985, 79015, 79044, 79074, 79104, 79133, + 79163, 79192, 79222, 79251, 79281, 79310, 79340, 79369, + 79399, 79428, 79458, 79487, 79517, 79546, 79576, 79606, + 79635, 79665, 79695, 79724, 79753, 79783, 79812, 79841, + 79871, 79900, 79930, 79960, 79990, + ]; + }, + 63489: function (t, e, r) { + var n = r(56131); + function i() { + (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 a(t, e, r, n) { + if ( + ((this._calendar = t), + (this._year = e), + (this._month = r), + (this._day = n), + 0 === this._calendar._validateLevel && + !this._calendar.isValid( + this._year, + this._month, + this._day, + )) + ) + throw ( + u.local.invalidDate || u.regionalOptions[""].invalidDate + ).replace(/\{0\}/, this._calendar.local.name); + } + function o(t, e) { + return "000000".substring(0, e - (t = "" + t).length) + t; + } + function s() { + this.shortYearCutoff = "+10"; + } + function l(t) { + this.local = + this.regionalOptions[t] || this.regionalOptions[""]; + } + n(i.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] + ); + }; + }, + }), + n(a.prototype, { + newDate: function (t, e, r) { + return this._calendar.newDate( + null == t ? this : t, + e, + r, + ); + }, + year: function (t) { + return 0 === arguments.length + ? this._year + : this.set(t, "y"); + }, + month: function (t) { + return 0 === arguments.length + ? this._month + : this.set(t, "m"); + }, + day: function (t) { + return 0 === arguments.length + ? this._day + : this.set(t, "d"); + }, + date: function (t, e, r) { + if (!this._calendar.isValid(t, e, r)) + throw ( + u.local.invalidDate || + u.regionalOptions[""].invalidDate + ).replace(/\{0\}/, this._calendar.local.name); + return ( + (this._year = t), + (this._month = e), + (this._day = r), + this + ); + }, + leapYear: function () { + return this._calendar.leapYear(this); + }, + epoch: function () { + return this._calendar.epoch(this); + }, + formatYear: function () { + return this._calendar.formatYear(this); + }, + monthOfYear: function () { + return this._calendar.monthOfYear(this); + }, + weekOfYear: function () { + return this._calendar.weekOfYear(this); + }, + daysInYear: function () { + return this._calendar.daysInYear(this); + }, + dayOfYear: function () { + return this._calendar.dayOfYear(this); + }, + daysInMonth: function () { + return this._calendar.daysInMonth(this); + }, + dayOfWeek: function () { + return this._calendar.dayOfWeek(this); + }, + weekDay: function () { + return this._calendar.weekDay(this); + }, + extraInfo: function () { + return this._calendar.extraInfo(this); + }, + add: function (t, e) { + return this._calendar.add(this, t, e); + }, + set: function (t, e) { + return this._calendar.set(this, t, e); + }, + compareTo: function (t) { + if (this._calendar.name !== t._calendar.name) + throw ( + u.local.differentCalendars || + u.regionalOptions[""].differentCalendars + ) + .replace(/\{0\}/, this._calendar.local.name) + .replace(/\{1\}/, t._calendar.local.name); + var e = + this._year !== t._year + ? this._year - t._year + : this._month !== t._month + ? this.monthOfYear() - t.monthOfYear() + : this._day - t._day; + return 0 === e ? 0 : e < 0 ? -1 : 1; + }, + calendar: function () { + return this._calendar; + }, + toJD: function () { + return this._calendar.toJD(this); + }, + fromJD: function (t) { + return this._calendar.fromJD(t); + }, + toJSDate: function () { + return this._calendar.toJSDate(this); + }, + fromJSDate: function (t) { + return this._calendar.fromJSDate(t); + }, + toString: function () { + return ( + (this.year() < 0 ? "-" : "") + + o(Math.abs(this.year()), 4) + + "-" + + o(this.month(), 2) + + "-" + + o(this.day(), 2) + ); + }, + }), + n(s.prototype, { + _validateLevel: 0, + newDate: function (t, e, r) { + return null == t + ? this.today() + : (t.year && + (this._validate( + t, + e, + r, + u.local.invalidDate || + u.regionalOptions[""].invalidDate, + ), + (r = t.day()), + (e = t.month()), + (t = t.year())), + new a(this, t, e, r)); + }, + today: function () { + return this.fromJSDate(new Date()); + }, + epoch: function (t) { + return this._validate( + t, + this.minMonth, + this.minDay, + u.local.invalidYear || + u.regionalOptions[""].invalidYear, + ).year() < 0 + ? this.local.epochs[0] + : this.local.epochs[1]; + }, + formatYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + u.local.invalidYear || + u.regionalOptions[""].invalidYear, + ); + return ( + (e.year() < 0 ? "-" : "") + o(Math.abs(e.year()), 4) + ); + }, + monthsInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + u.local.invalidYear || + u.regionalOptions[""].invalidYear, + ), + 12 + ); + }, + monthOfYear: function (t, e) { + var r = this._validate( + t, + e, + this.minDay, + u.local.invalidMonth || + u.regionalOptions[""].invalidMonth, + ); + return ( + ((r.month() + + this.monthsInYear(r) - + this.firstMonth) % + this.monthsInYear(r)) + + this.minMonth + ); + }, + fromMonthOfYear: function (t, e) { + var r = + ((e + this.firstMonth - 2 * this.minMonth) % + this.monthsInYear(t)) + + this.minMonth; + return ( + this._validate( + t, + r, + this.minDay, + u.local.invalidMonth || + u.regionalOptions[""].invalidMonth, + ), + r + ); + }, + daysInYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + u.local.invalidYear || + u.regionalOptions[""].invalidYear, + ); + return this.leapYear(e) ? 366 : 365; + }, + dayOfYear: function (t, e, r) { + var n = this._validate( + t, + e, + r, + u.local.invalidDate || + u.regionalOptions[""].invalidDate, + ); + return ( + n.toJD() - + this.newDate( + n.year(), + this.fromMonthOfYear(n.year(), this.minMonth), + this.minDay, + ).toJD() + + 1 + ); + }, + daysInWeek: function () { + return 7; + }, + dayOfWeek: function (t, e, r) { + var n = this._validate( + t, + e, + r, + u.local.invalidDate || + u.regionalOptions[""].invalidDate, + ); + return ( + (Math.floor(this.toJD(n)) + 2) % this.daysInWeek() + ); + }, + extraInfo: function (t, e, r) { + return ( + this._validate( + t, + e, + r, + u.local.invalidDate || + u.regionalOptions[""].invalidDate, + ), + {} + ); + }, + add: function (t, e, r) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + u.local.invalidDate || + u.regionalOptions[""].invalidDate, + ), + this._correctAdd(t, this._add(t, e, r), e, r) + ); + }, + _add: function (t, e, r) { + if ((this._validateLevel++, "d" === r || "w" === r)) { + var n = + t.toJD() + + e * ("w" === r ? this.daysInWeek() : 1), + i = t.calendar().fromJD(n); + return ( + this._validateLevel--, + [i.year(), i.month(), i.day()] + ); + } + try { + var a = t.year() + ("y" === r ? e : 0), + o = t.monthOfYear() + ("m" === r ? e : 0); + (i = t.day()), + "y" === r + ? (t.month() !== this.fromMonthOfYear(a, o) && + (o = this.newDate( + a, + t.month(), + this.minDay, + ).monthOfYear()), + (o = Math.min(o, this.monthsInYear(a))), + (i = Math.min( + i, + this.daysInMonth( + a, + this.fromMonthOfYear(a, o), + ), + ))) + : "m" === r && + ((function (t) { + for (; o < t.minMonth; ) + a--, (o += t.monthsInYear(a)); + for ( + var e = t.monthsInYear(a); + o > e - 1 + t.minMonth; + + ) + a++, (o -= e), (e = t.monthsInYear(a)); + })(this), + (i = Math.min( + i, + this.daysInMonth( + a, + this.fromMonthOfYear(a, o), + ), + ))); + var s = [a, this.fromMonthOfYear(a, o), i]; + return this._validateLevel--, s; + } catch (t) { + throw (this._validateLevel--, t); + } + }, + _correctAdd: function (t, e, r, n) { + if ( + !( + this.hasYearZero || + ("y" !== n && "m" !== n) || + (0 !== e[0] && t.year() > 0 == e[0] > 0) + ) + ) { + var i = { + y: [1, 1, "y"], + m: [1, this.monthsInYear(-1), "m"], + w: [this.daysInWeek(), this.daysInYear(-1), "d"], + d: [1, this.daysInYear(-1), "d"], + }[n], + a = r < 0 ? -1 : 1; + e = this._add(t, r * i[0] + a * i[1], i[2]); + } + return t.date(e[0], e[1], e[2]); + }, + set: function (t, e, r) { + this._validate( + t, + this.minMonth, + this.minDay, + u.local.invalidDate || + u.regionalOptions[""].invalidDate, + ); + var n = "y" === r ? e : t.year(), + i = "m" === r ? e : t.month(), + a = "d" === r ? e : t.day(); + return ( + ("y" !== r && "m" !== r) || + (a = Math.min(a, this.daysInMonth(n, i))), + t.date(n, i, a) + ); + }, + isValid: function (t, e, r) { + this._validateLevel++; + var n = this.hasYearZero || 0 !== t; + if (n) { + var i = this.newDate(t, e, this.minDay); + n = + e >= this.minMonth && + e - this.minMonth < this.monthsInYear(i) && + r >= this.minDay && + r - this.minDay < this.daysInMonth(i); + } + return this._validateLevel--, n; + }, + toJSDate: function (t, e, r) { + var n = this._validate( + t, + e, + r, + u.local.invalidDate || + u.regionalOptions[""].invalidDate, + ); + return u.instance().fromJD(this.toJD(n)).toJSDate(); + }, + fromJSDate: function (t) { + return this.fromJD(u.instance().fromJSDate(t).toJD()); + }, + _validate: function (t, e, r, n) { + if (t.year) { + if ( + 0 === this._validateLevel && + this.name !== t.calendar().name + ) + throw ( + u.local.differentCalendars || + u.regionalOptions[""].differentCalendars + ) + .replace(/\{0\}/, this.local.name) + .replace(/\{1\}/, t.calendar().local.name); + return t; + } + try { + if ( + (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); + } + }, + }), + (l.prototype = new s()), + n(l.prototype, { + name: "Gregorian", + jdEpoch: 1721425.5, + daysPerMonth: [ + 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, + ], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + "": { + name: "Gregorian", + epochs: ["BCE", "CE"], + monthNames: [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December", + ], + monthNamesShort: [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", + ], + dayNames: [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + ], + dayNamesShort: [ + "Sun", + "Mon", + "Tue", + "Wed", + "Thu", + "Fri", + "Sat", + ], + dayNamesMin: [ + "Su", + "Mo", + "Tu", + "We", + "Th", + "Fr", + "Sa", + ], + digits: null, + dateFormat: "mm/dd/yyyy", + firstDay: 0, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + u.local.invalidYear || + u.regionalOptions[""].invalidYear, + ); + 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, + u.local.invalidMonth || + u.regionalOptions[""].invalidMonth, + ); + return ( + this.daysPerMonth[r.month() - 1] + + (2 === r.month() && this.leapYear(r.year()) ? 1 : 0) + ); + }, + weekDay: function (t, e, r) { + return (this.dayOfWeek(t, e, r) || 7) < 6; + }, + toJD: function (t, e, r) { + var n = this._validate( + t, + e, + r, + u.local.invalidDate || + u.regionalOptions[""].invalidDate, + ); + (t = n.year()), + (e = n.month()), + (r = n.day()), + t < 0 && t++, + e < 3 && ((e += 12), t--); + var i = Math.floor(t / 100), + a = 2 - i + Math.floor(i / 4); + return ( + Math.floor(365.25 * (t + 4716)) + + Math.floor(30.6001 * (e + 1)) + + r + + a - + 1524.5 + ); + }, + fromJD: function (t) { + var e = Math.floor(t + 0.5), + r = Math.floor((e - 1867216.25) / 36524.25), + n = 1524 + (r = e + 1 + r - Math.floor(r / 4)), + i = Math.floor((n - 122.1) / 365.25), + a = Math.floor(365.25 * i), + o = Math.floor((n - a) / 30.6001), + s = n - a - Math.floor(30.6001 * o), + l = o - (o > 13.5 ? 13 : 1), + u = i - (l > 2.5 ? 4716 : 4715); + return u <= 0 && u--, this.newDate(u, l, s); + }, + toJSDate: function (t, e, r) { + var n = this._validate( + t, + e, + r, + u.local.invalidDate || + u.regionalOptions[""].invalidDate, + ), + i = new Date(n.year(), n.month() - 1, n.day()); + return ( + i.setHours(0), + i.setMinutes(0), + i.setSeconds(0), + i.setMilliseconds(0), + i.setHours(i.getHours() > 12 ? i.getHours() + 2 : 0), + i + ); + }, + fromJSDate: function (t) { + return this.newDate( + t.getFullYear(), + t.getMonth() + 1, + t.getDate(), + ); + }, + }); + var u = (t.exports = new i()); + (u.cdate = a), + (u.baseCalendar = s), + (u.calendars.gregorian = l); + }, + 94338: function (t, e, r) { + var n = r(56131), + i = r(63489); + n(i.regionalOptions[""], { + invalidArguments: "Invalid arguments", + invalidFormat: "Cannot format a date from another calendar", + missingNumberAt: "Missing number at position {0}", + unknownNameAt: "Unknown name at position {0}", + unexpectedLiteralAt: "Unexpected literal at position {0}", + unexpectedText: "Additional text found at end", + }), + (i.local = i.regionalOptions[""]), + n(i.cdate.prototype, { + formatDate: function (t, e) { + return ( + "string" != typeof t && ((e = t), (t = "")), + this._calendar.formatDate(t || "", this, e) + ); + }, + }), + n(i.baseCalendar.prototype, { + UNIX_EPOCH: i.instance().newDate(1970, 1, 1).toJD(), + SECS_PER_DAY: 86400, + TICKS_EPOCH: i.instance().jdEpoch, + TICKS_PER_DAY: 864e9, + ATOM: "yyyy-mm-dd", + COOKIE: "D, dd M yyyy", + FULL: "DD, MM d, yyyy", + ISO_8601: "yyyy-mm-dd", + JULIAN: "J", + RFC_822: "D, d M yy", + RFC_850: "DD, dd-M-yy", + RFC_1036: "D, d M yy", + RFC_1123: "D, d M yyyy", + RFC_2822: "D, d M yyyy", + RSS: "D, d M yy", + TICKS: "!", + TIMESTAMP: "@", + W3C: "yyyy-mm-dd", + formatDate: function (t, e, r) { + if ( + ("string" != typeof t && ((r = e), (e = t), (t = "")), + !e) + ) + return ""; + if (e.calendar() !== this) + throw ( + i.local.invalidFormat || + i.regionalOptions[""].invalidFormat + ); + t = t || this.local.dateFormat; + for ( + var n, + 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, + f = r.monthNames || this.local.monthNames, + h = + (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 (h(t, n)) for (; i.length < r; ) i = "0" + i; + return i; + }, + d = this, + v = function (t) { + return "function" == typeof u + ? u.call(d, t, h("m")) + : m(p("m", t.month(), 2)); + }, + g = function (t, e) { + return e + ? "function" == typeof f + ? f.call(d, t) + : f[t.month() - d.minMonth] + : "function" == typeof c + ? c.call(d, t) + : c[t.month() - d.minMonth]; + }, + y = this.local.digits, + m = function (t) { + return r.localNumbers && y ? y(t) : t; + }, + x = "", + b = !1, + _ = 0; + _ < t.length; + _++ + ) + if (b) + "'" !== t.charAt(_) || h("'") + ? (x += t.charAt(_)) + : (b = !1); + else + switch (t.charAt(_)) { + case "d": + x += m(p("d", e.day(), 2)); + break; + case "D": + x += + ("D", + (n = e.dayOfWeek()), + (a = s), + (o = l), + h("D") ? o[n] : a[n]); + break; + case "o": + x += p("o", e.dayOfYear(), 3); + break; + case "w": + x += p("w", e.weekOfYear(), 2); + break; + case "m": + x += v(e); + break; + case "M": + x += g(e, h("M")); + break; + case "y": + x += h("y", 2) + ? e.year() + : (e.year() % 100 < 10 ? "0" : "") + + (e.year() % 100); + break; + case "Y": + h("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 "'": + h("'") ? (x += "'") : (b = !0); + break; + default: + x += t.charAt(_); + } + return x; + }, + parseDate: function (t, e, r) { + if (null == e) + throw ( + i.local.invalidArguments || + i.regionalOptions[""].invalidArguments + ); + if ( + "" === + (e = "object" == typeof e ? e.toString() : e + "") + ) + return null; + t = t || this.local.dateFormat; + var n = + (r = r || {}).shortYearCutoff || this.shortYearCutoff; + n = + "string" != typeof n + ? n + : (this.today().year() % 100) + parseInt(n, 10); + for ( + var a = r.dayNamesShort || this.local.dayNamesShort, + o = r.dayNames || this.local.dayNames, + s = r.parseMonth || this.local.parseMonth, + l = r.monthNumbers || this.local.monthNumbers, + u = r.monthNamesShort || this.local.monthNamesShort, + c = r.monthNames || this.local.monthNames, + f = -1, + h = -1, + p = -1, + d = -1, + v = -1, + g = !1, + y = !1, + m = function (e, r) { + for ( + var n = 1; + M + n < t.length && t.charAt(M + n) === e; + + ) + n++; + return (M += n - 1), Math.floor(n / (r || 1)) > 1; + }, + x = function (t, r) { + var n = m(t, r), + a = [2, 3, n ? 4 : 2, n ? 4 : 2, 10, 11, 20][ + "oyYJ@!".indexOf(t) + 1 + ], + o = new RegExp("^-?\\d{1," + a + "}"), + s = e.substring(A).match(o); + if (!s) + throw ( + i.local.missingNumberAt || + i.regionalOptions[""].missingNumberAt + ).replace(/\{0\}/, A); + return (A += s[0].length), parseInt(s[0], 10); + }, + b = this, + _ = function () { + if ("function" == typeof l) { + m("m"); + var t = l.call(b, e.substring(A)); + return (A += t.length), t; + } + return x("m"); + }, + w = function (t, r, n, a) { + for ( + var o = m(t, a) ? n : r, s = 0; + s < o.length; + s++ + ) + if ( + e.substr(A, o[s].length).toLowerCase() === + o[s].toLowerCase() + ) + return (A += o[s].length), s + b.minMonth; + throw ( + i.local.unknownNameAt || + i.regionalOptions[""].unknownNameAt + ).replace(/\{0\}/, A); + }, + T = function () { + if ("function" == typeof c) { + var t = m("M") + ? c.call(b, e.substring(A)) + : u.call(b, e.substring(A)); + return (A += t.length), t; + } + return w("M", u, c); + }, + k = function () { + if (e.charAt(A) !== t.charAt(M)) + throw ( + i.local.unexpectedLiteralAt || + i.regionalOptions[""].unexpectedLiteralAt + ).replace(/\{0\}/, A); + A++; + }, + A = 0, + M = 0; + M < t.length; + M++ + ) + if (y) "'" !== t.charAt(M) || m("'") ? k() : (y = !1); + else + switch (t.charAt(M)) { + case "d": + d = x("d"); + break; + case "D": + w("D", a, o); + break; + case "o": + v = x("o"); + break; + case "w": + x("w"); + break; + case "m": + p = _(); + break; + case "M": + p = T(); + break; + case "y": + var S = M; + (g = !m("y", 2)), (M = S), (h = x("y", 2)); + break; + case "Y": + h = x("Y", 2); + break; + case "J": + (f = x("J") + 0.5), + "." === e.charAt(A) && (A++, x("J")); + break; + case "@": + f = + x("@") / this.SECS_PER_DAY + this.UNIX_EPOCH; + break; + case "!": + f = + x("!") / this.TICKS_PER_DAY + + this.TICKS_EPOCH; + break; + case "*": + A = e.length; + break; + case "'": + m("'") ? k() : (y = !0); + break; + default: + k(); + } + if (A < e.length) + throw ( + i.local.unexpectedText || + i.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 p && (p = s.call(this, h, p)), + v > -1) + ) { + (p = 1), (d = v); + for ( + var E = this.daysInMonth(h, p); + d > E; + E = this.daysInMonth(h, p) + ) + p++, (d -= E); + } + return f > -1 ? this.fromJD(f) : this.newDate(h, p, d); + }, + 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), + 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) + ); + }, + }); + }, + 69862: function () {}, + 40964: function () {}, + 72077: function (t, e, r) { + "use strict"; + var n = [ + "BigInt64Array", + "BigUint64Array", + "Float32Array", + "Float64Array", + "Int16Array", + "Int32Array", + "Int8Array", + "Uint16Array", + "Uint32Array", + "Uint8Array", + "Uint8ClampedArray", + ], + i = "undefined" == typeof globalThis ? r.g : globalThis; + t.exports = function () { + for (var t = [], e = 0; e < n.length; e++) + "function" == typeof i[n[e]] && (t[t.length] = n[e]); + return t; + }; + }, + 81684: function (t, e, r) { + "use strict"; + function n(t, e, r) { + (t.prototype = e.prototype = r), (r.constructor = t); + } + function i(t, e) { + var r = Object.create(t.prototype); + for (var n in e) r[n] = e[n]; + return r; + } + function a() {} + r.d(e, { + sX: function () { + return Q; + }, + k4: function () { + return G; + }, + }); + var o = 0.7, + s = 1 / o, + l = "\\s*([+-]?\\d+)\\s*", + u = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", + c = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", + f = /^#([0-9a-f]{3,8})$/, + h = new RegExp( + "^rgb\\(".concat(l, ",").concat(l, ",").concat(l, "\\)$"), + ), + p = new RegExp( + "^rgb\\(".concat(c, ",").concat(c, ",").concat(c, "\\)$"), + ), + d = new RegExp( + "^rgba\\(" + .concat(l, ",") + .concat(l, ",") + .concat(l, ",") + .concat(u, "\\)$"), + ), + v = new RegExp( + "^rgba\\(" + .concat(c, ",") + .concat(c, ",") + .concat(c, ",") + .concat(u, "\\)$"), + ), + g = new RegExp( + "^hsl\\(".concat(u, ",").concat(c, ",").concat(c, "\\)$"), + ), + y = new RegExp( + "^hsla\\(" + .concat(u, ",") + .concat(c, ",") + .concat(c, ",") + .concat(u, "\\)$"), + ), + m = { + 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 x() { + return this.rgb().formatHex(); + } + function b() { + return this.rgb().formatRgb(); + } + function _(t) { + var e, r; + return ( + (t = (t + "").trim().toLowerCase()), + (e = f.exec(t)) + ? ((r = e[1].length), + (e = parseInt(e[1], 16)), + 6 === r + ? w(e) + : 3 === r + ? new M( + ((e >> 8) & 15) | ((e >> 4) & 240), + ((e >> 4) & 15) | (240 & e), + ((15 & e) << 4) | (15 & e), + 1, + ) + : 8 === r + ? T( + (e >> 24) & 255, + (e >> 16) & 255, + (e >> 8) & 255, + (255 & e) / 255, + ) + : 4 === r + ? T( + ((e >> 12) & 15) | ((e >> 8) & 240), + ((e >> 8) & 15) | ((e >> 4) & 240), + ((e >> 4) & 15) | (240 & e), + (((15 & e) << 4) | (15 & e)) / 255, + ) + : null) + : (e = h.exec(t)) + ? new M(e[1], e[2], e[3], 1) + : (e = p.exec(t)) + ? new M( + (255 * e[1]) / 100, + (255 * e[2]) / 100, + (255 * e[3]) / 100, + 1, + ) + : (e = d.exec(t)) + ? T(e[1], e[2], e[3], e[4]) + : (e = v.exec(t)) + ? T( + (255 * e[1]) / 100, + (255 * e[2]) / 100, + (255 * e[3]) / 100, + e[4], + ) + : (e = g.exec(t)) + ? O(e[1], e[2] / 100, e[3] / 100, 1) + : (e = y.exec(t)) + ? O(e[1], e[2] / 100, e[3] / 100, e[4]) + : m.hasOwnProperty(t) + ? w(m[t]) + : "transparent" === t + ? new M(NaN, NaN, NaN, 0) + : null + ); + } + function w(t) { + return new M((t >> 16) & 255, (t >> 8) & 255, 255 & t, 1); + } + function T(t, e, r, n) { + return n <= 0 && (t = e = r = NaN), new M(t, e, r, n); + } + function k(t) { + return ( + t instanceof a || (t = _(t)), + t ? new M((t = t.rgb()).r, t.g, t.b, t.opacity) : new M() + ); + } + function A(t, e, r, n) { + return 1 === arguments.length + ? k(t) + : new M(t, e, r, null == n ? 1 : n); + } + function M(t, e, r, n) { + (this.r = +t), + (this.g = +e), + (this.b = +r), + (this.opacity = +n); + } + function S() { + return "#" + .concat(P(this.r)) + .concat(P(this.g)) + .concat(P(this.b)); + } + function E() { + var t = L(this.opacity); + return "" + .concat(1 === t ? "rgb(" : "rgba(") + .concat(C(this.r), ", ") + .concat(C(this.g), ", ") + .concat(C(this.b)) + .concat(1 === t ? ")" : ", ".concat(t, ")")); + } + function L(t) { + return isNaN(t) ? 1 : Math.max(0, Math.min(1, t)); + } + function C(t) { + return Math.max(0, Math.min(255, Math.round(t) || 0)); + } + function P(t) { + return ((t = C(t)) < 16 ? "0" : "") + t.toString(16); + } + function O(t, e, r, n) { + return ( + n <= 0 + ? (t = e = r = NaN) + : r <= 0 || r >= 1 + ? (t = e = NaN) + : e <= 0 && (t = NaN), + new D(t, e, r, n) + ); + } + function I(t) { + if (t instanceof D) return new D(t.h, t.s, t.l, t.opacity); + if ((t instanceof a || (t = _(t)), !t)) return new D(); + if (t instanceof D) return t; + var e = (t = t.rgb()).r / 255, + r = t.g / 255, + n = t.b / 255, + i = Math.min(e, r, n), + o = Math.max(e, r, n), + s = NaN, + l = o - i, + u = (o + i) / 2; + return ( + l + ? ((s = + e === o + ? (r - n) / l + 6 * (r < n) + : r === o + ? (n - e) / l + 2 + : (e - r) / l + 4), + (l /= u < 0.5 ? o + i : 2 - o - i), + (s *= 60)) + : (l = u > 0 && u < 1 ? 0 : s), + new D(s, l, u, t.opacity) + ); + } + function D(t, e, r, n) { + (this.h = +t), + (this.s = +e), + (this.l = +r), + (this.opacity = +n); + } + function z(t) { + return (t = (t || 0) % 360) < 0 ? t + 360 : t; + } + function R(t) { + return Math.max(0, Math.min(1, t || 0)); + } + function F(t, e, r) { + return ( + 255 * + (t < 60 + ? e + ((r - e) * t) / 60 + : t < 180 + ? r + : t < 240 + ? e + ((r - e) * (240 - t)) / 60 + : e) + ); + } + function B(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 + ); + } + n(a, _, { + copy: function (t) { + return Object.assign(new this.constructor(), this, t); + }, + displayable: function () { + return this.rgb().displayable(); + }, + hex: x, + formatHex: x, + formatHex8: function () { + return this.rgb().formatHex8(); + }, + formatHsl: function () { + return I(this).formatHsl(); + }, + formatRgb: b, + toString: b, + }), + n( + M, + A, + i(a, { + brighter: function (t) { + return ( + (t = null == t ? s : Math.pow(s, t)), + new M( + this.r * t, + this.g * t, + this.b * t, + this.opacity, + ) + ); + }, + darker: function (t) { + return ( + (t = null == t ? o : Math.pow(o, t)), + new M( + this.r * t, + this.g * t, + this.b * t, + this.opacity, + ) + ); + }, + rgb: function () { + return this; + }, + clamp: function () { + return new M( + C(this.r), + C(this.g), + C(this.b), + L(this.opacity), + ); + }, + displayable: function () { + return ( + -0.5 <= this.r && + this.r < 255.5 && + -0.5 <= this.g && + this.g < 255.5 && + -0.5 <= this.b && + this.b < 255.5 && + 0 <= this.opacity && + this.opacity <= 1 + ); + }, + hex: S, + formatHex: S, + formatHex8: function () { + return "#" + .concat(P(this.r)) + .concat(P(this.g)) + .concat(P(this.b)) + .concat( + P(255 * (isNaN(this.opacity) ? 1 : this.opacity)), + ); + }, + formatRgb: E, + toString: E, + }), + ), + n( + D, + function (t, e, r, n) { + return 1 === arguments.length + ? I(t) + : new D(t, e, r, null == n ? 1 : n); + }, + i(a, { + brighter: function (t) { + return ( + (t = null == t ? s : Math.pow(s, t)), + new D(this.h, this.s, this.l * t, this.opacity) + ); + }, + darker: function (t) { + return ( + (t = null == t ? o : Math.pow(o, t)), + new D(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 < 0.5 ? r : 1 - r) * e, + i = 2 * r - n; + return new M( + F(t >= 240 ? t - 240 : t + 120, i, n), + F(t, i, n), + F(t < 120 ? t + 240 : t - 120, i, n), + this.opacity, + ); + }, + clamp: function () { + return new D( + z(this.h), + R(this.s), + R(this.l), + L(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 + ); + }, + formatHsl: function () { + var t = L(this.opacity); + return "" + .concat(1 === t ? "hsl(" : "hsla(") + .concat(z(this.h), ", ") + .concat(100 * R(this.s), "%, ") + .concat(100 * R(this.l), "%") + .concat(1 === t ? ")" : ", ".concat(t, ")")); + }, + }), + ); + var N = function (t) { + return function () { + return t; + }; + }; + function j(t, e) { + var r = e - t; + return r + ? (function (t, e) { + return function (r) { + return t + r * e; + }; + })(t, r) + : N(isNaN(t) ? e : t); + } + var U = (function t(e) { + var r = (function (t) { + return 1 == (t = +t) + ? j + : 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) + : N(isNaN(e) ? r : e); + }; + })(e); + function n(t, e) { + var n = r((t = A(t)).r, (e = A(e)).r), + i = r(t.g, e.g), + a = r(t.b, e.b), + o = j(t.opacity, e.opacity); + return function (e) { + return ( + (t.r = n(e)), + (t.g = i(e)), + (t.b = a(e)), + (t.opacity = o(e)), + t + "" + ); + }; + } + return (n.gamma = t), n; + })(1); + function V(t) { + return function (e) { + var r, + n, + i = e.length, + a = new Array(i), + o = new Array(i), + s = new Array(i); + for (r = 0; r < i; ++r) + (n = A(e[r])), + (a[r] = n.r || 0), + (o[r] = n.g || 0), + (s[r] = n.b || 0); + return ( + (a = t(a)), + (o = t(o)), + (s = t(s)), + (n.opacity = 1), + function (t) { + return ( + (n.r = a(t)), (n.g = o(t)), (n.b = s(t)), n + "" + ); + } + ); + }; + } + function H(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] = Q(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; + }; + } + function q(t, e) { + var r = new Date(); + return ( + (t = +t), + (e = +e), + function (n) { + return r.setTime(t * (1 - n) + e * n), r; + } + ); + } + function G(t, e) { + return ( + (t = +t), + (e = +e), + function (r) { + return t * (1 - r) + e * r; + } + ); + } + function Z(t) { + return ( + (Z = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function (t) { + return typeof t; + } + : function (t) { + return t && + "function" == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? "symbol" + : typeof t; + }), + Z(t) + ); + } + function Y(t, e) { + var r, + n = {}, + i = {}; + for (r in ((null !== t && "object" === Z(t)) || (t = {}), + (null !== e && "object" === Z(e)) || (e = {}), + e)) + r in t ? (n[r] = Q(t[r], e[r])) : (i[r] = e[r]); + return function (t) { + for (r in n) i[r] = n[r](t); + return i; + }; + } + V(function (t) { + var e = t.length - 1; + return function (r) { + var n = + r <= 0 + ? (r = 0) + : r >= 1 + ? ((r = 1), e - 1) + : Math.floor(r * e), + i = t[n], + a = t[n + 1], + o = n > 0 ? t[n - 1] : 2 * i - a, + s = n < e - 1 ? t[n + 2] : 2 * a - i; + return B((r - n / e) * e, o, i, a, s); + }; + }), + V(function (t) { + var e = t.length; + return function (r) { + var n = Math.floor(((r %= 1) < 0 ? ++r : r) * e), + i = t[(n + e - 1) % e], + a = t[n % e], + o = t[(n + 1) % e], + s = t[(n + 2) % e]; + return B((r - n / e) * e, i, a, o, s); + }; + }); + var W = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, + X = new RegExp(W.source, "g"); + function J(t, e) { + var r, + n, + i, + a = (W.lastIndex = X.lastIndex = 0), + o = -1, + s = [], + l = []; + for (t += "", e += ""; (r = W.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: G(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(""); + }) + ); + } + function K(t, e) { + e || (e = []); + var r, + n = t ? Math.min(e.length, t.length) : 0, + i = e.slice(); + return function (a) { + for (r = 0; r < n; ++r) i[r] = t[r] * (1 - a) + e[r] * a; + return i; + }; + } + function $(t) { + return ( + ($ = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function (t) { + return typeof t; + } + : function (t) { + return t && + "function" == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? "symbol" + : typeof t; + }), + $(t) + ); + } + function Q(t, e) { + var r, + n, + i = $(e); + return null == e || "boolean" === i + ? N(e) + : ("number" === i + ? G + : "string" === i + ? (r = _(e)) + ? ((e = r), U) + : J + : e instanceof _ + ? U + : e instanceof Date + ? q + : ((n = e), + !ArrayBuffer.isView(n) || n instanceof DataView + ? Array.isArray(e) + ? H + : ("function" != typeof e.valueOf && + "function" != typeof e.toString) || + isNaN(e) + ? Y + : G + : K))(t, e); + } + }, + 40402: function (t) { + "use strict"; + t.exports = JSON.parse( + '["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller"]', + ); + }, + 83794: function (t) { + "use strict"; + t.exports = JSON.parse( + '["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]', + ); + }, + 96209: function (t) { + "use strict"; + t.exports = JSON.parse('["normal","italic","oblique"]'); + }, + 15659: function (t) { + "use strict"; + t.exports = JSON.parse( + '["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]', + ); + }, + 38732: function (t) { + "use strict"; + t.exports = JSON.parse('["inherit","initial","unset"]'); + }, + 41901: function (t) { + "use strict"; + t.exports = JSON.parse( + '["caption","icon","menu","message-box","small-caption","status-bar"]', + ); + }, + }, + e = {}; + function r(n) { + var i = e[n]; + if (void 0 !== i) return i.exports; + var a = (e[n] = { exports: {} }); + return t[n].call(a.exports, a, a.exports, r), a.exports; + } + return ( + (r.n = function (t) { + var e = + t && t.__esModule + ? function () { + return t.default; + } + : function () { + return t; + }; + return r.d(e, { a: e }), e; + }), + (r.d = function (t, e) { + for (var n in e) + r.o(e, n) && + !r.o(t, n) && + Object.defineProperty(t, n, { enumerable: !0, get: e[n] }); + }), + (r.g = (function () { + if ("object" == typeof globalThis) return globalThis; + try { + return this || new Function("return this")(); + } catch (t) { + if ("object" == typeof window) return window; + } + })()), + (r.o = function (t, e) { + return Object.prototype.hasOwnProperty.call(t, e); + }), + (r.r = function (t) { + "undefined" != typeof Symbol && + Symbol.toStringTag && + Object.defineProperty(t, Symbol.toStringTag, { + value: "Module", + }), + Object.defineProperty(t, "__esModule", { value: !0 }); + }), + r(27909) + ); + })(); + }), + (t.exports = e()); + }, + }, +]); diff --git a/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/486.6450efe6168c2f8caddb.js b/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/486.6450efe6168c2f8caddb.js index fae3923..bbf2f99 100644 --- a/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/486.6450efe6168c2f8caddb.js +++ b/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/486.6450efe6168c2f8caddb.js @@ -1,2 +1,5023 @@ /*! For license information please see 486.6450efe6168c2f8caddb.js.LICENSE.txt */ -(self.webpackChunkjupyterlab_plotly=self.webpackChunkjupyterlab_plotly||[]).push([[486],{486:function(n,t,r){var e;n=r.nmd(n),function(){var u,i="Expected a function",o="__lodash_hash_undefined__",f="__lodash_placeholder__",a=32,c=128,l=1/0,s=9007199254740991,h=NaN,p=4294967295,v=[["ary",c],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",a],["partialRight",64],["rearg",256]],_="[object Arguments]",g="[object Array]",y="[object Boolean]",d="[object Date]",b="[object Error]",w="[object Function]",m="[object GeneratorFunction]",x="[object Map]",j="[object Number]",A="[object Object]",k="[object Promise]",O="[object RegExp]",I="[object Set]",R="[object String]",z="[object Symbol]",E="[object WeakMap]",S="[object ArrayBuffer]",C="[object DataView]",W="[object Float32Array]",L="[object Float64Array]",U="[object Int8Array]",B="[object Int16Array]",T="[object Int32Array]",$="[object Uint8Array]",D="[object Uint8ClampedArray]",M="[object Uint16Array]",F="[object Uint32Array]",N=/\b__p \+= '';/g,P=/\b(__p \+=) '' \+/g,q=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Z=/&(?:amp|lt|gt|quot|#39);/g,K=/[&<>"']/g,V=RegExp(Z.source),G=RegExp(K.source),H=/<%-([\s\S]+?)%>/g,J=/<%([\s\S]+?)%>/g,Y=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,X=/^\w*$/,nn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,tn=/[\\^$.*+?()[\]{}|]/g,rn=RegExp(tn.source),en=/^\s+/,un=/\s/,on=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,fn=/\{\n\/\* \[wrapped with (.+)\] \*/,an=/,? & /,cn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ln=/[()=,{}\[\]\/\s]/,sn=/\\(\\)?/g,hn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,pn=/\w*$/,vn=/^[-+]0x[0-9a-f]+$/i,_n=/^0b[01]+$/i,gn=/^\[object .+?Constructor\]$/,yn=/^0o[0-7]+$/i,dn=/^(?:0|[1-9]\d*)$/,bn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,wn=/($^)/,mn=/['\n\r\u2028\u2029\\]/g,xn="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",jn="a-z\\xdf-\\xf6\\xf8-\\xff",An="A-Z\\xc0-\\xd6\\xd8-\\xde",kn="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",On="["+kn+"]",In="["+xn+"]",Rn="\\d+",zn="["+jn+"]",En="[^\\ud800-\\udfff"+kn+Rn+"\\u2700-\\u27bf"+jn+An+"]",Sn="\\ud83c[\\udffb-\\udfff]",Cn="[^\\ud800-\\udfff]",Wn="(?:\\ud83c[\\udde6-\\uddff]){2}",Ln="[\\ud800-\\udbff][\\udc00-\\udfff]",Un="["+An+"]",Bn="(?:"+zn+"|"+En+")",Tn="(?:"+Un+"|"+En+")",$n="(?:['’](?:d|ll|m|re|s|t|ve))?",Dn="(?:['’](?:D|LL|M|RE|S|T|VE))?",Mn="(?:"+In+"|"+Sn+")?",Fn="[\\ufe0e\\ufe0f]?",Nn=Fn+Mn+"(?:\\u200d(?:"+[Cn,Wn,Ln].join("|")+")"+Fn+Mn+")*",Pn="(?:"+["[\\u2700-\\u27bf]",Wn,Ln].join("|")+")"+Nn,qn="(?:"+[Cn+In+"?",In,Wn,Ln,"[\\ud800-\\udfff]"].join("|")+")",Zn=RegExp("['’]","g"),Kn=RegExp(In,"g"),Vn=RegExp(Sn+"(?="+Sn+")|"+qn+Nn,"g"),Gn=RegExp([Un+"?"+zn+"+"+$n+"(?="+[On,Un,"$"].join("|")+")",Tn+"+"+Dn+"(?="+[On,Un+Bn,"$"].join("|")+")",Un+"?"+Bn+"+"+$n,Un+"+"+Dn,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Rn,Pn].join("|"),"g"),Hn=RegExp("[\\u200d\\ud800-\\udfff"+xn+"\\ufe0e\\ufe0f]"),Jn=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Yn=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Qn=-1,Xn={};Xn[W]=Xn[L]=Xn[U]=Xn[B]=Xn[T]=Xn[$]=Xn[D]=Xn[M]=Xn[F]=!0,Xn[_]=Xn[g]=Xn[S]=Xn[y]=Xn[C]=Xn[d]=Xn[b]=Xn[w]=Xn[x]=Xn[j]=Xn[A]=Xn[O]=Xn[I]=Xn[R]=Xn[E]=!1;var nt={};nt[_]=nt[g]=nt[S]=nt[C]=nt[y]=nt[d]=nt[W]=nt[L]=nt[U]=nt[B]=nt[T]=nt[x]=nt[j]=nt[A]=nt[O]=nt[I]=nt[R]=nt[z]=nt[$]=nt[D]=nt[M]=nt[F]=!0,nt[b]=nt[w]=nt[E]=!1;var tt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},rt=parseFloat,et=parseInt,ut="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,it="object"==typeof self&&self&&self.Object===Object&&self,ot=ut||it||Function("return this")(),ft=t&&!t.nodeType&&t,at=ft&&n&&!n.nodeType&&n,ct=at&&at.exports===ft,lt=ct&&ut.process,st=function(){try{return at&&at.require&&at.require("util").types||lt&<.binding&<.binding("util")}catch(n){}}(),ht=st&&st.isArrayBuffer,pt=st&&st.isDate,vt=st&&st.isMap,_t=st&&st.isRegExp,gt=st&&st.isSet,yt=st&&st.isTypedArray;function dt(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function bt(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u-1}function kt(n,t,r){for(var e=-1,u=null==n?0:n.length;++e-1;);return r}function Gt(n,t){for(var r=n.length;r--&&Lt(t,n[r],0)>-1;);return r}function Ht(n,t){for(var r=n.length,e=0;r--;)n[r]===t&&++e;return e}var Jt=Dt({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),Yt=Dt({"&":"&","<":"<",">":">",'"':""","'":"'"});function Qt(n){return"\\"+tt[n]}function Xt(n){return Hn.test(n)}function nr(n){var t=-1,r=Array(n.size);return n.forEach((function(n,e){r[++t]=[e,n]})),r}function tr(n,t){return function(r){return n(t(r))}}function rr(n,t){for(var r=-1,e=n.length,u=0,i=[];++r",""":'"',"'":"'"}),cr=function n(t){var r,e=(t=null==t?ot:cr.defaults(ot.Object(),t,cr.pick(ot,Yn))).Array,un=t.Date,xn=t.Error,jn=t.Function,An=t.Math,kn=t.Object,On=t.RegExp,In=t.String,Rn=t.TypeError,zn=e.prototype,En=jn.prototype,Sn=kn.prototype,Cn=t["__core-js_shared__"],Wn=En.toString,Ln=Sn.hasOwnProperty,Un=0,Bn=(r=/[^.]+$/.exec(Cn&&Cn.keys&&Cn.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"",Tn=Sn.toString,$n=Wn.call(kn),Dn=ot._,Mn=On("^"+Wn.call(Ln).replace(tn,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Fn=ct?t.Buffer:u,Nn=t.Symbol,Pn=t.Uint8Array,qn=Fn?Fn.allocUnsafe:u,Vn=tr(kn.getPrototypeOf,kn),Hn=kn.create,tt=Sn.propertyIsEnumerable,ut=zn.splice,it=Nn?Nn.isConcatSpreadable:u,ft=Nn?Nn.iterator:u,at=Nn?Nn.toStringTag:u,lt=function(){try{var n=ci(kn,"defineProperty");return n({},"",{}),n}catch(n){}}(),st=t.clearTimeout!==ot.clearTimeout&&t.clearTimeout,St=un&&un.now!==ot.Date.now&&un.now,Dt=t.setTimeout!==ot.setTimeout&&t.setTimeout,lr=An.ceil,sr=An.floor,hr=kn.getOwnPropertySymbols,pr=Fn?Fn.isBuffer:u,vr=t.isFinite,_r=zn.join,gr=tr(kn.keys,kn),yr=An.max,dr=An.min,br=un.now,wr=t.parseInt,mr=An.random,xr=zn.reverse,jr=ci(t,"DataView"),Ar=ci(t,"Map"),kr=ci(t,"Promise"),Or=ci(t,"Set"),Ir=ci(t,"WeakMap"),Rr=ci(kn,"create"),zr=Ir&&new Ir,Er={},Sr=$i(jr),Cr=$i(Ar),Wr=$i(kr),Lr=$i(Or),Ur=$i(Ir),Br=Nn?Nn.prototype:u,Tr=Br?Br.valueOf:u,$r=Br?Br.toString:u;function Dr(n){if(rf(n)&&!Zo(n)&&!(n instanceof Pr)){if(n instanceof Nr)return n;if(Ln.call(n,"__wrapped__"))return Di(n)}return new Nr(n)}var Mr=function(){function n(){}return function(t){if(!tf(t))return{};if(Hn)return Hn(t);n.prototype=t;var r=new n;return n.prototype=u,r}}();function Fr(){}function Nr(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=u}function Pr(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=p,this.__views__=[]}function qr(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t=t?n:t)),n}function fe(n,t,r,e,i,o){var f,a=1&t,c=2&t,l=4&t;if(r&&(f=i?r(n,e,i,o):r(n)),f!==u)return f;if(!tf(n))return n;var s=Zo(n);if(s){if(f=function(n){var t=n.length,r=new n.constructor(t);return t&&"string"==typeof n[0]&&Ln.call(n,"index")&&(r.index=n.index,r.input=n.input),r}(n),!a)return Iu(n,f)}else{var h=hi(n),p=h==w||h==m;if(Ho(n))return mu(n,a);if(h==A||h==_||p&&!i){if(f=c||p?{}:vi(n),!a)return c?function(n,t){return Ru(n,si(n),t)}(n,function(n,t){return n&&Ru(t,Lf(t),n)}(f,n)):function(n,t){return Ru(n,li(n),t)}(n,ee(f,n))}else{if(!nt[h])return i?n:{};f=function(n,t,r){var e,u=n.constructor;switch(t){case S:return xu(n);case y:case d:return new u(+n);case C:return function(n,t){var r=t?xu(n.buffer):n.buffer;return new n.constructor(r,n.byteOffset,n.byteLength)}(n,r);case W:case L:case U:case B:case T:case $:case D:case M:case F:return ju(n,r);case x:return new u;case j:case R:return new u(n);case O:return function(n){var t=new n.constructor(n.source,pn.exec(n));return t.lastIndex=n.lastIndex,t}(n);case I:return new u;case z:return e=n,Tr?kn(Tr.call(e)):{}}}(n,h,a)}}o||(o=new Gr);var v=o.get(n);if(v)return v;o.set(n,f),af(n)?n.forEach((function(e){f.add(fe(e,t,r,e,n,o))})):ef(n)&&n.forEach((function(e,u){f.set(u,fe(e,t,r,u,n,o))}));var g=s?u:(l?c?ri:ti:c?Lf:Wf)(n);return wt(g||n,(function(e,u){g&&(e=n[u=e]),ne(f,u,fe(e,t,r,u,n,o))})),f}function ae(n,t,r){var e=r.length;if(null==n)return!e;for(n=kn(n);e--;){var i=r[e],o=t[i],f=n[i];if(f===u&&!(i in n)||!o(f))return!1}return!0}function ce(n,t,r){if("function"!=typeof n)throw new Rn(i);return zi((function(){n.apply(u,r)}),t)}function le(n,t,r,e){var u=-1,i=At,o=!0,f=n.length,a=[],c=t.length;if(!f)return a;r&&(t=Ot(t,qt(r))),e?(i=kt,o=!1):t.length>=200&&(i=Kt,o=!1,t=new Vr(t));n:for(;++u-1},Zr.prototype.set=function(n,t){var r=this.__data__,e=te(r,n);return e<0?(++this.size,r.push([n,t])):r[e][1]=t,this},Kr.prototype.clear=function(){this.size=0,this.__data__={hash:new qr,map:new(Ar||Zr),string:new qr}},Kr.prototype.delete=function(n){var t=fi(this,n).delete(n);return this.size-=t?1:0,t},Kr.prototype.get=function(n){return fi(this,n).get(n)},Kr.prototype.has=function(n){return fi(this,n).has(n)},Kr.prototype.set=function(n,t){var r=fi(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this},Vr.prototype.add=Vr.prototype.push=function(n){return this.__data__.set(n,o),this},Vr.prototype.has=function(n){return this.__data__.has(n)},Gr.prototype.clear=function(){this.__data__=new Zr,this.size=0},Gr.prototype.delete=function(n){var t=this.__data__,r=t.delete(n);return this.size=t.size,r},Gr.prototype.get=function(n){return this.__data__.get(n)},Gr.prototype.has=function(n){return this.__data__.has(n)},Gr.prototype.set=function(n,t){var r=this.__data__;if(r instanceof Zr){var e=r.__data__;if(!Ar||e.length<199)return e.push([n,t]),this.size=++r.size,this;r=this.__data__=new Kr(e)}return r.set(n,t),this.size=r.size,this};var se=Su(be),he=Su(we,!0);function pe(n,t){var r=!0;return se(n,(function(n,e,u){return r=!!t(n,e,u)})),r}function ve(n,t,r){for(var e=-1,i=n.length;++e0&&r(f)?t>1?ge(f,t-1,r,e,u):It(u,f):e||(u[u.length]=f)}return u}var ye=Cu(),de=Cu(!0);function be(n,t){return n&&ye(n,t,Wf)}function we(n,t){return n&&de(n,t,Wf)}function me(n,t){return jt(t,(function(t){return Qo(n[t])}))}function xe(n,t){for(var r=0,e=(t=yu(t,n)).length;null!=n&&rt}function Oe(n,t){return null!=n&&Ln.call(n,t)}function Ie(n,t){return null!=n&&t in kn(n)}function Re(n,t,r){for(var i=r?kt:At,o=n[0].length,f=n.length,a=f,c=e(f),l=1/0,s=[];a--;){var h=n[a];a&&t&&(h=Ot(h,qt(t))),l=dr(h.length,l),c[a]=!r&&(t||o>=120&&h.length>=120)?new Vr(a&&h):u}h=n[0];var p=-1,v=c[0];n:for(;++p=f?a:a*("desc"==r[e]?-1:1)}return n.index-t.index}(n,t,r)}));e--;)n[e]=n[e].value;return n}(u)}function Pe(n,t,r){for(var e=-1,u=t.length,i={};++e-1;)f!==n&&ut.call(f,a,1),ut.call(n,a,1);return n}function Ze(n,t){for(var r=n?t.length:0,e=r-1;r--;){var u=t[r];if(r==e||u!==i){var i=u;gi(u)?ut.call(n,u,1):cu(n,u)}}return n}function Ke(n,t){return n+sr(mr()*(t-n+1))}function Ve(n,t){var r="";if(!n||t<1||t>s)return r;do{t%2&&(r+=n),(t=sr(t/2))&&(n+=n)}while(t);return r}function Ge(n,t){return Ei(Ai(n,t,ia),n+"")}function He(n){return Jr(Nf(n))}function Je(n,t){var r=Nf(n);return Wi(r,oe(t,0,r.length))}function Ye(n,t,r,e){if(!tf(n))return n;for(var i=-1,o=(t=yu(t,n)).length,f=o-1,a=n;null!=a&&++ii?0:i+t),(r=r>i?i:r)<0&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var o=e(i);++u>>1,o=n[i];null!==o&&!lf(o)&&(r?o<=t:o=200){var c=t?null:Vu(n);if(c)return er(c);o=!1,u=Kt,a=new Vr}else a=t?[]:f;n:for(;++e=e?n:tu(n,t,r)}var wu=st||function(n){return ot.clearTimeout(n)};function mu(n,t){if(t)return n.slice();var r=n.length,e=qn?qn(r):new n.constructor(r);return n.copy(e),e}function xu(n){var t=new n.constructor(n.byteLength);return new Pn(t).set(new Pn(n)),t}function ju(n,t){var r=t?xu(n.buffer):n.buffer;return new n.constructor(r,n.byteOffset,n.length)}function Au(n,t){if(n!==t){var r=n!==u,e=null===n,i=n==n,o=lf(n),f=t!==u,a=null===t,c=t==t,l=lf(t);if(!a&&!l&&!o&&n>t||o&&f&&c&&!a&&!l||e&&f&&c||!r&&c||!i)return 1;if(!e&&!o&&!l&&n1?r[i-1]:u,f=i>2?r[2]:u;for(o=n.length>3&&"function"==typeof o?(i--,o):u,f&&yi(r[0],r[1],f)&&(o=i<3?u:o,i=1),t=kn(t);++e-1?i[o?t[f]:f]:u}}function Tu(n){return ni((function(t){var r=t.length,e=r,o=Nr.prototype.thru;for(n&&t.reverse();e--;){var f=t[e];if("function"!=typeof f)throw new Rn(i);if(o&&!a&&"wrapper"==ui(f))var a=new Nr([],!0)}for(e=a?e:r;++e1&&b.reverse(),p&&sa))return!1;var l=o.get(n),s=o.get(t);if(l&&s)return l==t&&s==n;var h=-1,p=!0,v=2&r?new Vr:u;for(o.set(n,t),o.set(t,n);++h-1&&n%1==0&&n1?"& ":"")+t[e],t=t.join(r>2?", ":" "),n.replace(on,"{\n/* [wrapped with "+t+"] */\n")}(e,function(n,t){return wt(v,(function(r){var e="_."+r[0];t&r[1]&&!At(n,e)&&n.push(e)})),n.sort()}(function(n){var t=n.match(fn);return t?t[1].split(an):[]}(e),r)))}function Ci(n){var t=0,r=0;return function(){var e=br(),i=16-(e-r);if(r=e,i>0){if(++t>=800)return arguments[0]}else t=0;return n.apply(u,arguments)}}function Wi(n,t){var r=-1,e=n.length,i=e-1;for(t=t===u?e:t;++r1?n[t-1]:u;return r="function"==typeof r?(n.pop(),r):u,io(n,r)}));function ho(n){var t=Dr(n);return t.__chain__=!0,t}function po(n,t){return t(n)}var vo=ni((function(n){var t=n.length,r=t?n[0]:0,e=this.__wrapped__,i=function(t){return ie(t,n)};return!(t>1||this.__actions__.length)&&e instanceof Pr&&gi(r)?((e=e.slice(r,+r+(t?1:0))).__actions__.push({func:po,args:[i],thisArg:u}),new Nr(e,this.__chain__).thru((function(n){return t&&!n.length&&n.push(u),n}))):this.thru(i)})),_o=zu((function(n,t,r){Ln.call(n,r)?++n[r]:ue(n,r,1)})),go=Bu(Pi),yo=Bu(qi);function bo(n,t){return(Zo(n)?wt:se)(n,oi(t,3))}function wo(n,t){return(Zo(n)?mt:he)(n,oi(t,3))}var mo=zu((function(n,t,r){Ln.call(n,r)?n[r].push(t):ue(n,r,[t])})),xo=Ge((function(n,t,r){var u=-1,i="function"==typeof t,o=Vo(n)?e(n.length):[];return se(n,(function(n){o[++u]=i?dt(t,n,r):ze(n,t,r)})),o})),jo=zu((function(n,t,r){ue(n,r,t)}));function Ao(n,t){return(Zo(n)?Ot:Te)(n,oi(t,3))}var ko=zu((function(n,t,r){n[r?0:1].push(t)}),(function(){return[[],[]]})),Oo=Ge((function(n,t){if(null==n)return[];var r=t.length;return r>1&&yi(n,t[0],t[1])?t=[]:r>2&&yi(t[0],t[1],t[2])&&(t=[t[0]]),Ne(n,ge(t,1),[])})),Io=St||function(){return ot.Date.now()};function Ro(n,t,r){return t=r?u:t,t=n&&null==t?n.length:t,Hu(n,c,u,u,u,u,t)}function zo(n,t){var r;if("function"!=typeof t)throw new Rn(i);return n=gf(n),function(){return--n>0&&(r=t.apply(this,arguments)),n<=1&&(t=u),r}}var Eo=Ge((function(n,t,r){var e=1;if(r.length){var u=rr(r,ii(Eo));e|=a}return Hu(n,e,t,r,u)})),So=Ge((function(n,t,r){var e=3;if(r.length){var u=rr(r,ii(So));e|=a}return Hu(t,e,n,r,u)}));function Co(n,t,r){var e,o,f,a,c,l,s=0,h=!1,p=!1,v=!0;if("function"!=typeof n)throw new Rn(i);function _(t){var r=e,i=o;return e=o=u,s=t,a=n.apply(i,r)}function g(n){return s=n,c=zi(d,t),h?_(n):a}function y(n){var r=n-l;return l===u||r>=t||r<0||p&&n-s>=f}function d(){var n=Io();if(y(n))return b(n);c=zi(d,function(n){var r=t-(n-l);return p?dr(r,f-(n-s)):r}(n))}function b(n){return c=u,v&&e?_(n):(e=o=u,a)}function w(){var n=Io(),r=y(n);if(e=arguments,o=this,l=n,r){if(c===u)return g(l);if(p)return wu(c),c=zi(d,t),_(l)}return c===u&&(c=zi(d,t)),a}return t=df(t)||0,tf(r)&&(h=!!r.leading,f=(p="maxWait"in r)?yr(df(r.maxWait)||0,t):f,v="trailing"in r?!!r.trailing:v),w.cancel=function(){c!==u&&wu(c),s=0,e=l=o=c=u},w.flush=function(){return c===u?a:b(Io())},w}var Wo=Ge((function(n,t){return ce(n,1,t)})),Lo=Ge((function(n,t,r){return ce(n,df(t)||0,r)}));function Uo(n,t){if("function"!=typeof n||null!=t&&"function"!=typeof t)throw new Rn(i);var r=function(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;if(i.has(u))return i.get(u);var o=n.apply(this,e);return r.cache=i.set(u,o)||i,o};return r.cache=new(Uo.Cache||Kr),r}function Bo(n){if("function"!=typeof n)throw new Rn(i);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}Uo.Cache=Kr;var To=du((function(n,t){var r=(t=1==t.length&&Zo(t[0])?Ot(t[0],qt(oi())):Ot(ge(t,1),qt(oi()))).length;return Ge((function(e){for(var u=-1,i=dr(e.length,r);++u=t})),qo=Ee(function(){return arguments}())?Ee:function(n){return rf(n)&&Ln.call(n,"callee")&&!tt.call(n,"callee")},Zo=e.isArray,Ko=ht?qt(ht):function(n){return rf(n)&&Ae(n)==S};function Vo(n){return null!=n&&nf(n.length)&&!Qo(n)}function Go(n){return rf(n)&&Vo(n)}var Ho=pr||da,Jo=pt?qt(pt):function(n){return rf(n)&&Ae(n)==d};function Yo(n){if(!rf(n))return!1;var t=Ae(n);return t==b||"[object DOMException]"==t||"string"==typeof n.message&&"string"==typeof n.name&&!of(n)}function Qo(n){if(!tf(n))return!1;var t=Ae(n);return t==w||t==m||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Xo(n){return"number"==typeof n&&n==gf(n)}function nf(n){return"number"==typeof n&&n>-1&&n%1==0&&n<=s}function tf(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function rf(n){return null!=n&&"object"==typeof n}var ef=vt?qt(vt):function(n){return rf(n)&&hi(n)==x};function uf(n){return"number"==typeof n||rf(n)&&Ae(n)==j}function of(n){if(!rf(n)||Ae(n)!=A)return!1;var t=Vn(n);if(null===t)return!0;var r=Ln.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Wn.call(r)==$n}var ff=_t?qt(_t):function(n){return rf(n)&&Ae(n)==O},af=gt?qt(gt):function(n){return rf(n)&&hi(n)==I};function cf(n){return"string"==typeof n||!Zo(n)&&rf(n)&&Ae(n)==R}function lf(n){return"symbol"==typeof n||rf(n)&&Ae(n)==z}var sf=yt?qt(yt):function(n){return rf(n)&&nf(n.length)&&!!Xn[Ae(n)]},hf=qu(Be),pf=qu((function(n,t){return n<=t}));function vf(n){if(!n)return[];if(Vo(n))return cf(n)?or(n):Iu(n);if(ft&&n[ft])return function(n){for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}(n[ft]());var t=hi(n);return(t==x?nr:t==I?er:Nf)(n)}function _f(n){return n?(n=df(n))===l||n===-1/0?17976931348623157e292*(n<0?-1:1):n==n?n:0:0===n?n:0}function gf(n){var t=_f(n),r=t%1;return t==t?r?t-r:t:0}function yf(n){return n?oe(gf(n),0,p):0}function df(n){if("number"==typeof n)return n;if(lf(n))return h;if(tf(n)){var t="function"==typeof n.valueOf?n.valueOf():n;n=tf(t)?t+"":t}if("string"!=typeof n)return 0===n?n:+n;n=Pt(n);var r=_n.test(n);return r||yn.test(n)?et(n.slice(2),r?2:8):vn.test(n)?h:+n}function bf(n){return Ru(n,Lf(n))}function wf(n){return null==n?"":fu(n)}var mf=Eu((function(n,t){if(mi(t)||Vo(t))Ru(t,Wf(t),n);else for(var r in t)Ln.call(t,r)&&ne(n,r,t[r])})),xf=Eu((function(n,t){Ru(t,Lf(t),n)})),jf=Eu((function(n,t,r,e){Ru(t,Lf(t),n,e)})),Af=Eu((function(n,t,r,e){Ru(t,Wf(t),n,e)})),kf=ni(ie),Of=Ge((function(n,t){n=kn(n);var r=-1,e=t.length,i=e>2?t[2]:u;for(i&&yi(t[0],t[1],i)&&(e=1);++r1),t})),Ru(n,ri(n),r),e&&(r=fe(r,7,Qu));for(var u=t.length;u--;)cu(r,t[u]);return r})),$f=ni((function(n,t){return null==n?{}:function(n,t){return Pe(n,t,(function(t,r){return zf(n,r)}))}(n,t)}));function Df(n,t){if(null==n)return{};var r=Ot(ri(n),(function(n){return[n]}));return t=oi(t),Pe(n,r,(function(n,r){return t(n,r[0])}))}var Mf=Gu(Wf),Ff=Gu(Lf);function Nf(n){return null==n?[]:Zt(n,Wf(n))}var Pf=Lu((function(n,t,r){return t=t.toLowerCase(),n+(r?qf(t):t)}));function qf(n){return Qf(wf(n).toLowerCase())}function Zf(n){return(n=wf(n))&&n.replace(bn,Jt).replace(Kn,"")}var Kf=Lu((function(n,t,r){return n+(r?"-":"")+t.toLowerCase()})),Vf=Lu((function(n,t,r){return n+(r?" ":"")+t.toLowerCase()})),Gf=Wu("toLowerCase"),Hf=Lu((function(n,t,r){return n+(r?"_":"")+t.toLowerCase()})),Jf=Lu((function(n,t,r){return n+(r?" ":"")+Qf(t)})),Yf=Lu((function(n,t,r){return n+(r?" ":"")+t.toUpperCase()})),Qf=Wu("toUpperCase");function Xf(n,t,r){return n=wf(n),(t=r?u:t)===u?function(n){return Jn.test(n)}(n)?function(n){return n.match(Gn)||[]}(n):function(n){return n.match(cn)||[]}(n):n.match(t)||[]}var na=Ge((function(n,t){try{return dt(n,u,t)}catch(n){return Yo(n)?n:new xn(n)}})),ta=ni((function(n,t){return wt(t,(function(t){t=Ti(t),ue(n,t,Eo(n[t],n))})),n}));function ra(n){return function(){return n}}var ea=Tu(),ua=Tu(!0);function ia(n){return n}function oa(n){return Le("function"==typeof n?n:fe(n,1))}var fa=Ge((function(n,t){return function(r){return ze(r,n,t)}})),aa=Ge((function(n,t){return function(r){return ze(n,r,t)}}));function ca(n,t,r){var e=Wf(t),u=me(t,e);null!=r||tf(t)&&(u.length||!e.length)||(r=t,t=n,n=this,u=me(t,Wf(t)));var i=!(tf(r)&&"chain"in r&&!r.chain),o=Qo(n);return wt(u,(function(r){var e=t[r];n[r]=e,o&&(n.prototype[r]=function(){var t=this.__chain__;if(i||t){var r=n(this.__wrapped__),u=r.__actions__=Iu(this.__actions__);return u.push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,It([this.value()],arguments))})})),n}function la(){}var sa=Fu(Ot),ha=Fu(xt),pa=Fu(Et);function va(n){return di(n)?$t(Ti(n)):function(n){return function(t){return xe(t,n)}}(n)}var _a=Pu(),ga=Pu(!0);function ya(){return[]}function da(){return!1}var ba,wa=Mu((function(n,t){return n+t}),0),ma=Ku("ceil"),xa=Mu((function(n,t){return n/t}),1),ja=Ku("floor"),Aa=Mu((function(n,t){return n*t}),1),ka=Ku("round"),Oa=Mu((function(n,t){return n-t}),0);return Dr.after=function(n,t){if("function"!=typeof t)throw new Rn(i);return n=gf(n),function(){if(--n<1)return t.apply(this,arguments)}},Dr.ary=Ro,Dr.assign=mf,Dr.assignIn=xf,Dr.assignInWith=jf,Dr.assignWith=Af,Dr.at=kf,Dr.before=zo,Dr.bind=Eo,Dr.bindAll=ta,Dr.bindKey=So,Dr.castArray=function(){if(!arguments.length)return[];var n=arguments[0];return Zo(n)?n:[n]},Dr.chain=ho,Dr.chunk=function(n,t,r){t=(r?yi(n,t,r):t===u)?1:yr(gf(t),0);var i=null==n?0:n.length;if(!i||t<1)return[];for(var o=0,f=0,a=e(lr(i/t));oi?0:i+r),(e=e===u||e>i?i:gf(e))<0&&(e+=i),e=r>e?0:yf(e);r>>0)?(n=wf(n))&&("string"==typeof t||null!=t&&!ff(t))&&!(t=fu(t))&&Xt(n)?bu(or(n),0,r):n.split(t,r):[]},Dr.spread=function(n,t){if("function"!=typeof n)throw new Rn(i);return t=null==t?0:yr(gf(t),0),Ge((function(r){var e=r[t],u=bu(r,0,t);return e&&It(u,e),dt(n,this,u)}))},Dr.tail=function(n){var t=null==n?0:n.length;return t?tu(n,1,t):[]},Dr.take=function(n,t,r){return n&&n.length?tu(n,0,(t=r||t===u?1:gf(t))<0?0:t):[]},Dr.takeRight=function(n,t,r){var e=null==n?0:n.length;return e?tu(n,(t=e-(t=r||t===u?1:gf(t)))<0?0:t,e):[]},Dr.takeRightWhile=function(n,t){return n&&n.length?su(n,oi(t,3),!1,!0):[]},Dr.takeWhile=function(n,t){return n&&n.length?su(n,oi(t,3)):[]},Dr.tap=function(n,t){return t(n),n},Dr.throttle=function(n,t,r){var e=!0,u=!0;if("function"!=typeof n)throw new Rn(i);return tf(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),Co(n,t,{leading:e,maxWait:t,trailing:u})},Dr.thru=po,Dr.toArray=vf,Dr.toPairs=Mf,Dr.toPairsIn=Ff,Dr.toPath=function(n){return Zo(n)?Ot(n,Ti):lf(n)?[n]:Iu(Bi(wf(n)))},Dr.toPlainObject=bf,Dr.transform=function(n,t,r){var e=Zo(n),u=e||Ho(n)||sf(n);if(t=oi(t,4),null==r){var i=n&&n.constructor;r=u?e?new i:[]:tf(n)&&Qo(i)?Mr(Vn(n)):{}}return(u?wt:be)(n,(function(n,e,u){return t(r,n,e,u)})),r},Dr.unary=function(n){return Ro(n,1)},Dr.union=to,Dr.unionBy=ro,Dr.unionWith=eo,Dr.uniq=function(n){return n&&n.length?au(n):[]},Dr.uniqBy=function(n,t){return n&&n.length?au(n,oi(t,2)):[]},Dr.uniqWith=function(n,t){return t="function"==typeof t?t:u,n&&n.length?au(n,u,t):[]},Dr.unset=function(n,t){return null==n||cu(n,t)},Dr.unzip=uo,Dr.unzipWith=io,Dr.update=function(n,t,r){return null==n?n:lu(n,t,gu(r))},Dr.updateWith=function(n,t,r,e){return e="function"==typeof e?e:u,null==n?n:lu(n,t,gu(r),e)},Dr.values=Nf,Dr.valuesIn=function(n){return null==n?[]:Zt(n,Lf(n))},Dr.without=oo,Dr.words=Xf,Dr.wrap=function(n,t){return $o(gu(t),n)},Dr.xor=fo,Dr.xorBy=ao,Dr.xorWith=co,Dr.zip=lo,Dr.zipObject=function(n,t){return vu(n||[],t||[],ne)},Dr.zipObjectDeep=function(n,t){return vu(n||[],t||[],Ye)},Dr.zipWith=so,Dr.entries=Mf,Dr.entriesIn=Ff,Dr.extend=xf,Dr.extendWith=jf,ca(Dr,Dr),Dr.add=wa,Dr.attempt=na,Dr.camelCase=Pf,Dr.capitalize=qf,Dr.ceil=ma,Dr.clamp=function(n,t,r){return r===u&&(r=t,t=u),r!==u&&(r=(r=df(r))==r?r:0),t!==u&&(t=(t=df(t))==t?t:0),oe(df(n),t,r)},Dr.clone=function(n){return fe(n,4)},Dr.cloneDeep=function(n){return fe(n,5)},Dr.cloneDeepWith=function(n,t){return fe(n,5,t="function"==typeof t?t:u)},Dr.cloneWith=function(n,t){return fe(n,4,t="function"==typeof t?t:u)},Dr.conformsTo=function(n,t){return null==t||ae(n,t,Wf(t))},Dr.deburr=Zf,Dr.defaultTo=function(n,t){return null==n||n!=n?t:n},Dr.divide=xa,Dr.endsWith=function(n,t,r){n=wf(n),t=fu(t);var e=n.length,i=r=r===u?e:oe(gf(r),0,e);return(r-=t.length)>=0&&n.slice(r,i)==t},Dr.eq=Fo,Dr.escape=function(n){return(n=wf(n))&&G.test(n)?n.replace(K,Yt):n},Dr.escapeRegExp=function(n){return(n=wf(n))&&rn.test(n)?n.replace(tn,"\\$&"):n},Dr.every=function(n,t,r){var e=Zo(n)?xt:pe;return r&&yi(n,t,r)&&(t=u),e(n,oi(t,3))},Dr.find=go,Dr.findIndex=Pi,Dr.findKey=function(n,t){return Ct(n,oi(t,3),be)},Dr.findLast=yo,Dr.findLastIndex=qi,Dr.findLastKey=function(n,t){return Ct(n,oi(t,3),we)},Dr.floor=ja,Dr.forEach=bo,Dr.forEachRight=wo,Dr.forIn=function(n,t){return null==n?n:ye(n,oi(t,3),Lf)},Dr.forInRight=function(n,t){return null==n?n:de(n,oi(t,3),Lf)},Dr.forOwn=function(n,t){return n&&be(n,oi(t,3))},Dr.forOwnRight=function(n,t){return n&&we(n,oi(t,3))},Dr.get=Rf,Dr.gt=No,Dr.gte=Po,Dr.has=function(n,t){return null!=n&&pi(n,t,Oe)},Dr.hasIn=zf,Dr.head=Ki,Dr.identity=ia,Dr.includes=function(n,t,r,e){n=Vo(n)?n:Nf(n),r=r&&!e?gf(r):0;var u=n.length;return r<0&&(r=yr(u+r,0)),cf(n)?r<=u&&n.indexOf(t,r)>-1:!!u&&Lt(n,t,r)>-1},Dr.indexOf=function(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=null==r?0:gf(r);return u<0&&(u=yr(e+u,0)),Lt(n,t,u)},Dr.inRange=function(n,t,r){return t=_f(t),r===u?(r=t,t=0):r=_f(r),function(n,t,r){return n>=dr(t,r)&&n=-9007199254740991&&n<=s},Dr.isSet=af,Dr.isString=cf,Dr.isSymbol=lf,Dr.isTypedArray=sf,Dr.isUndefined=function(n){return n===u},Dr.isWeakMap=function(n){return rf(n)&&hi(n)==E},Dr.isWeakSet=function(n){return rf(n)&&"[object WeakSet]"==Ae(n)},Dr.join=function(n,t){return null==n?"":_r.call(n,t)},Dr.kebabCase=Kf,Dr.last=Ji,Dr.lastIndexOf=function(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var i=e;return r!==u&&(i=(i=gf(r))<0?yr(e+i,0):dr(i,e-1)),t==t?function(n,t,r){for(var e=r+1;e--;)if(n[e]===t)return e;return e}(n,t,i):Wt(n,Bt,i,!0)},Dr.lowerCase=Vf,Dr.lowerFirst=Gf,Dr.lt=hf,Dr.lte=pf,Dr.max=function(n){return n&&n.length?ve(n,ia,ke):u},Dr.maxBy=function(n,t){return n&&n.length?ve(n,oi(t,2),ke):u},Dr.mean=function(n){return Tt(n,ia)},Dr.meanBy=function(n,t){return Tt(n,oi(t,2))},Dr.min=function(n){return n&&n.length?ve(n,ia,Be):u},Dr.minBy=function(n,t){return n&&n.length?ve(n,oi(t,2),Be):u},Dr.stubArray=ya,Dr.stubFalse=da,Dr.stubObject=function(){return{}},Dr.stubString=function(){return""},Dr.stubTrue=function(){return!0},Dr.multiply=Aa,Dr.nth=function(n,t){return n&&n.length?Fe(n,gf(t)):u},Dr.noConflict=function(){return ot._===this&&(ot._=Dn),this},Dr.noop=la,Dr.now=Io,Dr.pad=function(n,t,r){n=wf(n);var e=(t=gf(t))?ir(n):0;if(!t||e>=t)return n;var u=(t-e)/2;return Nu(sr(u),r)+n+Nu(lr(u),r)},Dr.padEnd=function(n,t,r){n=wf(n);var e=(t=gf(t))?ir(n):0;return t&&et){var e=n;n=t,t=e}if(r||n%1||t%1){var i=mr();return dr(n+i*(t-n+rt("1e-"+((i+"").length-1))),t)}return Ke(n,t)},Dr.reduce=function(n,t,r){var e=Zo(n)?Rt:Mt,u=arguments.length<3;return e(n,oi(t,4),r,u,se)},Dr.reduceRight=function(n,t,r){var e=Zo(n)?zt:Mt,u=arguments.length<3;return e(n,oi(t,4),r,u,he)},Dr.repeat=function(n,t,r){return t=(r?yi(n,t,r):t===u)?1:gf(t),Ve(wf(n),t)},Dr.replace=function(){var n=arguments,t=wf(n[0]);return n.length<3?t:t.replace(n[1],n[2])},Dr.result=function(n,t,r){var e=-1,i=(t=yu(t,n)).length;for(i||(i=1,n=u);++es)return[];var r=p,e=dr(n,p);t=oi(t),n-=p;for(var u=Nt(e,t);++r=o)return n;var a=r-ir(e);if(a<1)return e;var c=f?bu(f,0,a).join(""):n.slice(0,a);if(i===u)return c+e;if(f&&(a+=c.length-a),ff(i)){if(n.slice(a).search(i)){var l,s=c;for(i.global||(i=On(i.source,wf(pn.exec(i))+"g")),i.lastIndex=0;l=i.exec(s);)var h=l.index;c=c.slice(0,h===u?a:h)}}else if(n.indexOf(fu(i),a)!=a){var p=c.lastIndexOf(i);p>-1&&(c=c.slice(0,p))}return c+e},Dr.unescape=function(n){return(n=wf(n))&&V.test(n)?n.replace(Z,ar):n},Dr.uniqueId=function(n){var t=++Un;return wf(n)+t},Dr.upperCase=Yf,Dr.upperFirst=Qf,Dr.each=bo,Dr.eachRight=wo,Dr.first=Ki,ca(Dr,(ba={},be(Dr,(function(n,t){Ln.call(Dr.prototype,t)||(ba[t]=n)})),ba),{chain:!1}),Dr.VERSION="4.17.21",wt(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(n){Dr[n].placeholder=Dr})),wt(["drop","take"],(function(n,t){Pr.prototype[n]=function(r){r=r===u?1:yr(gf(r),0);var e=this.__filtered__&&!t?new Pr(this):this.clone();return e.__filtered__?e.__takeCount__=dr(r,e.__takeCount__):e.__views__.push({size:dr(r,p),type:n+(e.__dir__<0?"Right":"")}),e},Pr.prototype[n+"Right"]=function(t){return this.reverse()[n](t).reverse()}})),wt(["filter","map","takeWhile"],(function(n,t){var r=t+1,e=1==r||3==r;Pr.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({iteratee:oi(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}})),wt(["head","last"],(function(n,t){var r="take"+(t?"Right":"");Pr.prototype[n]=function(){return this[r](1).value()[0]}})),wt(["initial","tail"],(function(n,t){var r="drop"+(t?"":"Right");Pr.prototype[n]=function(){return this.__filtered__?new Pr(this):this[r](1)}})),Pr.prototype.compact=function(){return this.filter(ia)},Pr.prototype.find=function(n){return this.filter(n).head()},Pr.prototype.findLast=function(n){return this.reverse().find(n)},Pr.prototype.invokeMap=Ge((function(n,t){return"function"==typeof n?new Pr(this):this.map((function(r){return ze(r,n,t)}))})),Pr.prototype.reject=function(n){return this.filter(Bo(oi(n)))},Pr.prototype.slice=function(n,t){n=gf(n);var r=this;return r.__filtered__&&(n>0||t<0)?new Pr(r):(n<0?r=r.takeRight(-n):n&&(r=r.drop(n)),t!==u&&(r=(t=gf(t))<0?r.dropRight(-t):r.take(t-n)),r)},Pr.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Pr.prototype.toArray=function(){return this.take(p)},be(Pr.prototype,(function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),i=Dr[e?"take"+("last"==t?"Right":""):t],o=e||/^find/.test(t);i&&(Dr.prototype[t]=function(){var t=this.__wrapped__,f=e?[1]:arguments,a=t instanceof Pr,c=f[0],l=a||Zo(t),s=function(n){var t=i.apply(Dr,It([n],f));return e&&h?t[0]:t};l&&r&&"function"==typeof c&&1!=c.length&&(a=l=!1);var h=this.__chain__,p=!!this.__actions__.length,v=o&&!h,_=a&&!p;if(!o&&l){t=_?t:new Pr(this);var g=n.apply(t,f);return g.__actions__.push({func:po,args:[s],thisArg:u}),new Nr(g,h)}return v&&_?n.apply(this,f):(g=this.thru(s),v?e?g.value()[0]:g.value():g)})})),wt(["pop","push","shift","sort","splice","unshift"],(function(n){var t=zn[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|shift)$/.test(n);Dr.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(Zo(u)?u:[],n)}return this[r]((function(r){return t.apply(Zo(r)?r:[],n)}))}})),be(Pr.prototype,(function(n,t){var r=Dr[t];if(r){var e=r.name+"";Ln.call(Er,e)||(Er[e]=[]),Er[e].push({name:t,func:r})}})),Er[$u(u,2).name]=[{name:"wrapper",func:u}],Pr.prototype.clone=function(){var n=new Pr(this.__wrapped__);return n.__actions__=Iu(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Iu(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Iu(this.__views__),n},Pr.prototype.reverse=function(){if(this.__filtered__){var n=new Pr(this);n.__dir__=-1,n.__filtered__=!0}else(n=this.clone()).__dir__*=-1;return n},Pr.prototype.value=function(){var n=this.__wrapped__.value(),t=this.__dir__,r=Zo(n),e=t<0,u=r?n.length:0,i=function(n,t,r){for(var e=-1,u=r.length;++e=this.__values__.length;return{done:n,value:n?u:this.__values__[this.__index__++]}},Dr.prototype.plant=function(n){for(var t,r=this;r instanceof Fr;){var e=Di(r);e.__index__=0,e.__values__=u,t?i.__wrapped__=e:t=e;var i=e;r=r.__wrapped__}return i.__wrapped__=n,t},Dr.prototype.reverse=function(){var n=this.__wrapped__;if(n instanceof Pr){var t=n;return this.__actions__.length&&(t=new Pr(this)),(t=t.reverse()).__actions__.push({func:po,args:[no],thisArg:u}),new Nr(t,this.__chain__)}return this.thru(no)},Dr.prototype.toJSON=Dr.prototype.valueOf=Dr.prototype.value=function(){return hu(this.__wrapped__,this.__actions__)},Dr.prototype.first=Dr.prototype.head,ft&&(Dr.prototype[ft]=function(){return this}),Dr}();ot._=cr,(e=function(){return cr}.call(t,r,t,n))===u||(n.exports=e)}.call(this)}}]); \ No newline at end of file +(self.webpackChunkjupyterlab_plotly = + self.webpackChunkjupyterlab_plotly || []).push([ + [486], + { + 486: function (n, t, r) { + var e; + (n = r.nmd(n)), + function () { + var u, + i = "Expected a function", + o = "__lodash_hash_undefined__", + f = "__lodash_placeholder__", + a = 32, + c = 128, + l = 1 / 0, + s = 9007199254740991, + h = NaN, + p = 4294967295, + v = [ + ["ary", c], + ["bind", 1], + ["bindKey", 2], + ["curry", 8], + ["curryRight", 16], + ["flip", 512], + ["partial", a], + ["partialRight", 64], + ["rearg", 256], + ], + _ = "[object Arguments]", + g = "[object Array]", + y = "[object Boolean]", + d = "[object Date]", + b = "[object Error]", + w = "[object Function]", + m = "[object GeneratorFunction]", + x = "[object Map]", + j = "[object Number]", + A = "[object Object]", + k = "[object Promise]", + O = "[object RegExp]", + I = "[object Set]", + R = "[object String]", + z = "[object Symbol]", + E = "[object WeakMap]", + S = "[object ArrayBuffer]", + C = "[object DataView]", + W = "[object Float32Array]", + L = "[object Float64Array]", + U = "[object Int8Array]", + B = "[object Int16Array]", + T = "[object Int32Array]", + $ = "[object Uint8Array]", + D = "[object Uint8ClampedArray]", + M = "[object Uint16Array]", + F = "[object Uint32Array]", + N = /\b__p \+= '';/g, + P = /\b(__p \+=) '' \+/g, + q = /(__e\(.*?\)|\b__t\)) \+\n'';/g, + Z = /&(?:amp|lt|gt|quot|#39);/g, + K = /[&<>"']/g, + V = RegExp(Z.source), + G = RegExp(K.source), + H = /<%-([\s\S]+?)%>/g, + J = /<%([\s\S]+?)%>/g, + Y = /<%=([\s\S]+?)%>/g, + Q = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + X = /^\w*$/, + nn = + /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, + tn = /[\\^$.*+?()[\]{}|]/g, + rn = RegExp(tn.source), + en = /^\s+/, + un = /\s/, + on = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, + fn = /\{\n\/\* \[wrapped with (.+)\] \*/, + an = /,? & /, + cn = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g, + ln = /[()=,{}\[\]\/\s]/, + sn = /\\(\\)?/g, + hn = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g, + pn = /\w*$/, + vn = /^[-+]0x[0-9a-f]+$/i, + _n = /^0b[01]+$/i, + gn = /^\[object .+?Constructor\]$/, + yn = /^0o[0-7]+$/i, + dn = /^(?:0|[1-9]\d*)$/, + bn = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g, + wn = /($^)/, + mn = /['\n\r\u2028\u2029\\]/g, + xn = "\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff", + jn = "a-z\\xdf-\\xf6\\xf8-\\xff", + An = "A-Z\\xc0-\\xd6\\xd8-\\xde", + kn = + "\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", + On = "[" + kn + "]", + In = "[" + xn + "]", + Rn = "\\d+", + zn = "[" + jn + "]", + En = + "[^\\ud800-\\udfff" + kn + Rn + "\\u2700-\\u27bf" + jn + An + "]", + Sn = "\\ud83c[\\udffb-\\udfff]", + Cn = "[^\\ud800-\\udfff]", + Wn = "(?:\\ud83c[\\udde6-\\uddff]){2}", + Ln = "[\\ud800-\\udbff][\\udc00-\\udfff]", + Un = "[" + An + "]", + Bn = "(?:" + zn + "|" + En + ")", + Tn = "(?:" + Un + "|" + En + ")", + $n = "(?:['’](?:d|ll|m|re|s|t|ve))?", + Dn = "(?:['’](?:D|LL|M|RE|S|T|VE))?", + Mn = "(?:" + In + "|" + Sn + ")?", + Fn = "[\\ufe0e\\ufe0f]?", + Nn = + Fn + + Mn + + "(?:\\u200d(?:" + + [Cn, Wn, Ln].join("|") + + ")" + + Fn + + Mn + + ")*", + Pn = "(?:" + ["[\\u2700-\\u27bf]", Wn, Ln].join("|") + ")" + Nn, + qn = + "(?:" + + [Cn + In + "?", In, Wn, Ln, "[\\ud800-\\udfff]"].join("|") + + ")", + Zn = RegExp("['’]", "g"), + Kn = RegExp(In, "g"), + Vn = RegExp(Sn + "(?=" + Sn + ")|" + qn + Nn, "g"), + Gn = RegExp( + [ + Un + + "?" + + zn + + "+" + + $n + + "(?=" + + [On, Un, "$"].join("|") + + ")", + Tn + "+" + Dn + "(?=" + [On, Un + Bn, "$"].join("|") + ")", + Un + "?" + Bn + "+" + $n, + Un + "+" + Dn, + "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", + "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", + Rn, + Pn, + ].join("|"), + "g", + ), + Hn = RegExp("[\\u200d\\ud800-\\udfff" + xn + "\\ufe0e\\ufe0f]"), + Jn = + /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/, + Yn = [ + "Array", + "Buffer", + "DataView", + "Date", + "Error", + "Float32Array", + "Float64Array", + "Function", + "Int8Array", + "Int16Array", + "Int32Array", + "Map", + "Math", + "Object", + "Promise", + "RegExp", + "Set", + "String", + "Symbol", + "TypeError", + "Uint8Array", + "Uint8ClampedArray", + "Uint16Array", + "Uint32Array", + "WeakMap", + "_", + "clearTimeout", + "isFinite", + "parseInt", + "setTimeout", + ], + Qn = -1, + Xn = {}; + (Xn[W] = + Xn[L] = + Xn[U] = + Xn[B] = + Xn[T] = + Xn[$] = + Xn[D] = + Xn[M] = + Xn[F] = + !0), + (Xn[_] = + Xn[g] = + Xn[S] = + Xn[y] = + Xn[C] = + Xn[d] = + Xn[b] = + Xn[w] = + Xn[x] = + Xn[j] = + Xn[A] = + Xn[O] = + Xn[I] = + Xn[R] = + Xn[E] = + !1); + var nt = {}; + (nt[_] = + nt[g] = + nt[S] = + nt[C] = + nt[y] = + nt[d] = + nt[W] = + nt[L] = + nt[U] = + nt[B] = + nt[T] = + nt[x] = + nt[j] = + nt[A] = + nt[O] = + nt[I] = + nt[R] = + nt[z] = + nt[$] = + nt[D] = + nt[M] = + nt[F] = + !0), + (nt[b] = nt[w] = nt[E] = !1); + var tt = { + "\\": "\\", + "'": "'", + "\n": "n", + "\r": "r", + "\u2028": "u2028", + "\u2029": "u2029", + }, + rt = parseFloat, + et = parseInt, + ut = "object" == typeof r.g && r.g && r.g.Object === Object && r.g, + it = + "object" == typeof self && self && self.Object === Object && self, + ot = ut || it || Function("return this")(), + ft = t && !t.nodeType && t, + at = ft && n && !n.nodeType && n, + ct = at && at.exports === ft, + lt = ct && ut.process, + st = (function () { + try { + return ( + (at && at.require && at.require("util").types) || + (lt && lt.binding && lt.binding("util")) + ); + } catch (n) {} + })(), + ht = st && st.isArrayBuffer, + pt = st && st.isDate, + vt = st && st.isMap, + _t = st && st.isRegExp, + gt = st && st.isSet, + yt = st && st.isTypedArray; + function dt(n, t, r) { + switch (r.length) { + case 0: + return n.call(t); + case 1: + return n.call(t, r[0]); + case 2: + return n.call(t, r[0], r[1]); + case 3: + return n.call(t, r[0], r[1], r[2]); + } + return n.apply(t, r); + } + function bt(n, t, r, e) { + for (var u = -1, i = null == n ? 0 : n.length; ++u < i; ) { + var o = n[u]; + t(e, o, r(o), n); + } + return e; + } + function wt(n, t) { + for ( + var r = -1, e = null == n ? 0 : n.length; + ++r < e && !1 !== t(n[r], r, n); + + ); + return n; + } + function mt(n, t) { + for ( + var r = null == n ? 0 : n.length; + r-- && !1 !== t(n[r], r, n); + + ); + return n; + } + function xt(n, t) { + for (var r = -1, e = null == n ? 0 : n.length; ++r < e; ) + if (!t(n[r], r, n)) return !1; + return !0; + } + function jt(n, t) { + for ( + var r = -1, e = null == n ? 0 : n.length, u = 0, i = []; + ++r < e; + + ) { + var o = n[r]; + t(o, r, n) && (i[u++] = o); + } + return i; + } + function At(n, t) { + return !(null == n || !n.length) && Lt(n, t, 0) > -1; + } + function kt(n, t, r) { + for (var e = -1, u = null == n ? 0 : n.length; ++e < u; ) + if (r(t, n[e])) return !0; + return !1; + } + function Ot(n, t) { + for ( + var r = -1, e = null == n ? 0 : n.length, u = Array(e); + ++r < e; + + ) + u[r] = t(n[r], r, n); + return u; + } + function It(n, t) { + for (var r = -1, e = t.length, u = n.length; ++r < e; ) + n[u + r] = t[r]; + return n; + } + function Rt(n, t, r, e) { + var u = -1, + i = null == n ? 0 : n.length; + for (e && i && (r = n[++u]); ++u < i; ) r = t(r, n[u], u, n); + return r; + } + function zt(n, t, r, e) { + var u = null == n ? 0 : n.length; + for (e && u && (r = n[--u]); u--; ) r = t(r, n[u], u, n); + return r; + } + function Et(n, t) { + for (var r = -1, e = null == n ? 0 : n.length; ++r < e; ) + if (t(n[r], r, n)) return !0; + return !1; + } + var St = $t("length"); + function Ct(n, t, r) { + var e; + return ( + r(n, function (n, r, u) { + if (t(n, r, u)) return (e = r), !1; + }), + e + ); + } + function Wt(n, t, r, e) { + for (var u = n.length, i = r + (e ? 1 : -1); e ? i-- : ++i < u; ) + if (t(n[i], i, n)) return i; + return -1; + } + function Lt(n, t, r) { + return t == t + ? (function (n, t, r) { + for (var e = r - 1, u = n.length; ++e < u; ) + if (n[e] === t) return e; + return -1; + })(n, t, r) + : Wt(n, Bt, r); + } + function Ut(n, t, r, e) { + for (var u = r - 1, i = n.length; ++u < i; ) + if (e(n[u], t)) return u; + return -1; + } + function Bt(n) { + return n != n; + } + function Tt(n, t) { + var r = null == n ? 0 : n.length; + return r ? Ft(n, t) / r : h; + } + function $t(n) { + return function (t) { + return null == t ? u : t[n]; + }; + } + function Dt(n) { + return function (t) { + return null == n ? u : n[t]; + }; + } + function Mt(n, t, r, e, u) { + return ( + u(n, function (n, u, i) { + r = e ? ((e = !1), n) : t(r, n, u, i); + }), + r + ); + } + function Ft(n, t) { + for (var r, e = -1, i = n.length; ++e < i; ) { + var o = t(n[e]); + o !== u && (r = r === u ? o : r + o); + } + return r; + } + function Nt(n, t) { + for (var r = -1, e = Array(n); ++r < n; ) e[r] = t(r); + return e; + } + function Pt(n) { + return n ? n.slice(0, fr(n) + 1).replace(en, "") : n; + } + function qt(n) { + return function (t) { + return n(t); + }; + } + function Zt(n, t) { + return Ot(t, function (t) { + return n[t]; + }); + } + function Kt(n, t) { + return n.has(t); + } + function Vt(n, t) { + for (var r = -1, e = n.length; ++r < e && Lt(t, n[r], 0) > -1; ); + return r; + } + function Gt(n, t) { + for (var r = n.length; r-- && Lt(t, n[r], 0) > -1; ); + return r; + } + function Ht(n, t) { + for (var r = n.length, e = 0; r--; ) n[r] === t && ++e; + return e; + } + var Jt = Dt({ + À: "A", + Á: "A", + Â: "A", + Ã: "A", + Ä: "A", + Å: "A", + à: "a", + á: "a", + â: "a", + ã: "a", + ä: "a", + å: "a", + Ç: "C", + ç: "c", + Ð: "D", + ð: "d", + È: "E", + É: "E", + Ê: "E", + Ë: "E", + è: "e", + é: "e", + ê: "e", + ë: "e", + Ì: "I", + Í: "I", + Î: "I", + Ï: "I", + ì: "i", + í: "i", + î: "i", + ï: "i", + Ñ: "N", + ñ: "n", + Ò: "O", + Ó: "O", + Ô: "O", + Õ: "O", + Ö: "O", + Ø: "O", + ò: "o", + ó: "o", + ô: "o", + õ: "o", + ö: "o", + ø: "o", + Ù: "U", + Ú: "U", + Û: "U", + Ü: "U", + ù: "u", + ú: "u", + û: "u", + ü: "u", + Ý: "Y", + ý: "y", + ÿ: "y", + Æ: "Ae", + æ: "ae", + Þ: "Th", + þ: "th", + ß: "ss", + Ā: "A", + Ă: "A", + Ą: "A", + ā: "a", + ă: "a", + ą: "a", + Ć: "C", + Ĉ: "C", + Ċ: "C", + Č: "C", + ć: "c", + ĉ: "c", + ċ: "c", + č: "c", + Ď: "D", + Đ: "D", + ď: "d", + đ: "d", + Ē: "E", + Ĕ: "E", + Ė: "E", + Ę: "E", + Ě: "E", + ē: "e", + ĕ: "e", + ė: "e", + ę: "e", + ě: "e", + Ĝ: "G", + Ğ: "G", + Ġ: "G", + Ģ: "G", + ĝ: "g", + ğ: "g", + ġ: "g", + ģ: "g", + Ĥ: "H", + Ħ: "H", + ĥ: "h", + ħ: "h", + Ĩ: "I", + Ī: "I", + Ĭ: "I", + Į: "I", + İ: "I", + ĩ: "i", + ī: "i", + ĭ: "i", + į: "i", + ı: "i", + Ĵ: "J", + ĵ: "j", + Ķ: "K", + ķ: "k", + ĸ: "k", + Ĺ: "L", + Ļ: "L", + Ľ: "L", + Ŀ: "L", + Ł: "L", + ĺ: "l", + ļ: "l", + ľ: "l", + ŀ: "l", + ł: "l", + Ń: "N", + Ņ: "N", + Ň: "N", + Ŋ: "N", + ń: "n", + ņ: "n", + ň: "n", + ŋ: "n", + Ō: "O", + Ŏ: "O", + Ő: "O", + ō: "o", + ŏ: "o", + ő: "o", + Ŕ: "R", + Ŗ: "R", + Ř: "R", + ŕ: "r", + ŗ: "r", + ř: "r", + Ś: "S", + Ŝ: "S", + Ş: "S", + Š: "S", + ś: "s", + ŝ: "s", + ş: "s", + š: "s", + Ţ: "T", + Ť: "T", + Ŧ: "T", + ţ: "t", + ť: "t", + ŧ: "t", + Ũ: "U", + Ū: "U", + Ŭ: "U", + Ů: "U", + Ű: "U", + Ų: "U", + ũ: "u", + ū: "u", + ŭ: "u", + ů: "u", + ű: "u", + ų: "u", + Ŵ: "W", + ŵ: "w", + Ŷ: "Y", + ŷ: "y", + Ÿ: "Y", + Ź: "Z", + Ż: "Z", + Ž: "Z", + ź: "z", + ż: "z", + ž: "z", + IJ: "IJ", + ij: "ij", + Œ: "Oe", + œ: "oe", + ʼn: "'n", + ſ: "s", + }), + Yt = Dt({ + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + }); + function Qt(n) { + return "\\" + tt[n]; + } + function Xt(n) { + return Hn.test(n); + } + function nr(n) { + var t = -1, + r = Array(n.size); + return ( + n.forEach(function (n, e) { + r[++t] = [e, n]; + }), + r + ); + } + function tr(n, t) { + return function (r) { + return n(t(r)); + }; + } + function rr(n, t) { + for (var r = -1, e = n.length, u = 0, i = []; ++r < e; ) { + var o = n[r]; + (o !== t && o !== f) || ((n[r] = f), (i[u++] = r)); + } + return i; + } + function er(n) { + var t = -1, + r = Array(n.size); + return ( + n.forEach(function (n) { + r[++t] = n; + }), + r + ); + } + function ur(n) { + var t = -1, + r = Array(n.size); + return ( + n.forEach(function (n) { + r[++t] = [n, n]; + }), + r + ); + } + function ir(n) { + return Xt(n) + ? (function (n) { + for (var t = (Vn.lastIndex = 0); Vn.test(n); ) ++t; + return t; + })(n) + : St(n); + } + function or(n) { + return Xt(n) + ? (function (n) { + return n.match(Vn) || []; + })(n) + : (function (n) { + return n.split(""); + })(n); + } + function fr(n) { + for (var t = n.length; t-- && un.test(n.charAt(t)); ); + return t; + } + var ar = Dt({ + "&": "&", + "<": "<", + ">": ">", + """: '"', + "'": "'", + }), + cr = (function n(t) { + var r, + e = (t = + null == t ? ot : cr.defaults(ot.Object(), t, cr.pick(ot, Yn))) + .Array, + un = t.Date, + xn = t.Error, + jn = t.Function, + An = t.Math, + kn = t.Object, + On = t.RegExp, + In = t.String, + Rn = t.TypeError, + zn = e.prototype, + En = jn.prototype, + Sn = kn.prototype, + Cn = t["__core-js_shared__"], + Wn = En.toString, + Ln = Sn.hasOwnProperty, + Un = 0, + Bn = (r = /[^.]+$/.exec( + (Cn && Cn.keys && Cn.keys.IE_PROTO) || "", + )) + ? "Symbol(src)_1." + r + : "", + Tn = Sn.toString, + $n = Wn.call(kn), + Dn = ot._, + Mn = On( + "^" + + Wn.call(Ln) + .replace(tn, "\\$&") + .replace( + /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, + "$1.*?", + ) + + "$", + ), + Fn = ct ? t.Buffer : u, + Nn = t.Symbol, + Pn = t.Uint8Array, + qn = Fn ? Fn.allocUnsafe : u, + Vn = tr(kn.getPrototypeOf, kn), + Hn = kn.create, + tt = Sn.propertyIsEnumerable, + ut = zn.splice, + it = Nn ? Nn.isConcatSpreadable : u, + ft = Nn ? Nn.iterator : u, + at = Nn ? Nn.toStringTag : u, + lt = (function () { + try { + var n = ci(kn, "defineProperty"); + return n({}, "", {}), n; + } catch (n) {} + })(), + st = t.clearTimeout !== ot.clearTimeout && t.clearTimeout, + St = un && un.now !== ot.Date.now && un.now, + Dt = t.setTimeout !== ot.setTimeout && t.setTimeout, + lr = An.ceil, + sr = An.floor, + hr = kn.getOwnPropertySymbols, + pr = Fn ? Fn.isBuffer : u, + vr = t.isFinite, + _r = zn.join, + gr = tr(kn.keys, kn), + yr = An.max, + dr = An.min, + br = un.now, + wr = t.parseInt, + mr = An.random, + xr = zn.reverse, + jr = ci(t, "DataView"), + Ar = ci(t, "Map"), + kr = ci(t, "Promise"), + Or = ci(t, "Set"), + Ir = ci(t, "WeakMap"), + Rr = ci(kn, "create"), + zr = Ir && new Ir(), + Er = {}, + Sr = $i(jr), + Cr = $i(Ar), + Wr = $i(kr), + Lr = $i(Or), + Ur = $i(Ir), + Br = Nn ? Nn.prototype : u, + Tr = Br ? Br.valueOf : u, + $r = Br ? Br.toString : u; + function Dr(n) { + if (rf(n) && !Zo(n) && !(n instanceof Pr)) { + if (n instanceof Nr) return n; + if (Ln.call(n, "__wrapped__")) return Di(n); + } + return new Nr(n); + } + var Mr = (function () { + function n() {} + return function (t) { + if (!tf(t)) return {}; + if (Hn) return Hn(t); + n.prototype = t; + var r = new n(); + return (n.prototype = u), r; + }; + })(); + function Fr() {} + function Nr(n, t) { + (this.__wrapped__ = n), + (this.__actions__ = []), + (this.__chain__ = !!t), + (this.__index__ = 0), + (this.__values__ = u); + } + function Pr(n) { + (this.__wrapped__ = n), + (this.__actions__ = []), + (this.__dir__ = 1), + (this.__filtered__ = !1), + (this.__iteratees__ = []), + (this.__takeCount__ = p), + (this.__views__ = []); + } + function qr(n) { + var t = -1, + r = null == n ? 0 : n.length; + for (this.clear(); ++t < r; ) { + var e = n[t]; + this.set(e[0], e[1]); + } + } + function Zr(n) { + var t = -1, + r = null == n ? 0 : n.length; + for (this.clear(); ++t < r; ) { + var e = n[t]; + this.set(e[0], e[1]); + } + } + function Kr(n) { + var t = -1, + r = null == n ? 0 : n.length; + for (this.clear(); ++t < r; ) { + var e = n[t]; + this.set(e[0], e[1]); + } + } + function Vr(n) { + var t = -1, + r = null == n ? 0 : n.length; + for (this.__data__ = new Kr(); ++t < r; ) this.add(n[t]); + } + function Gr(n) { + var t = (this.__data__ = new Zr(n)); + this.size = t.size; + } + function Hr(n, t) { + var r = Zo(n), + e = !r && qo(n), + u = !r && !e && Ho(n), + i = !r && !e && !u && sf(n), + o = r || e || u || i, + f = o ? Nt(n.length, In) : [], + a = f.length; + for (var c in n) + (!t && !Ln.call(n, c)) || + (o && + ("length" == c || + (u && ("offset" == c || "parent" == c)) || + (i && + ("buffer" == c || + "byteLength" == c || + "byteOffset" == c)) || + gi(c, a))) || + f.push(c); + return f; + } + function Jr(n) { + var t = n.length; + return t ? n[Ke(0, t - 1)] : u; + } + function Yr(n, t) { + return Wi(Iu(n), oe(t, 0, n.length)); + } + function Qr(n) { + return Wi(Iu(n)); + } + function Xr(n, t, r) { + ((r !== u && !Fo(n[t], r)) || (r === u && !(t in n))) && + ue(n, t, r); + } + function ne(n, t, r) { + var e = n[t]; + (Ln.call(n, t) && Fo(e, r) && (r !== u || t in n)) || + ue(n, t, r); + } + function te(n, t) { + for (var r = n.length; r--; ) if (Fo(n[r][0], t)) return r; + return -1; + } + function re(n, t, r, e) { + return ( + se(n, function (n, u, i) { + t(e, n, r(n), i); + }), + e + ); + } + function ee(n, t) { + return n && Ru(t, Wf(t), n); + } + function ue(n, t, r) { + "__proto__" == t && lt + ? lt(n, t, { + configurable: !0, + enumerable: !0, + value: r, + writable: !0, + }) + : (n[t] = r); + } + function ie(n, t) { + for ( + var r = -1, i = t.length, o = e(i), f = null == n; + ++r < i; + + ) + o[r] = f ? u : Rf(n, t[r]); + return o; + } + function oe(n, t, r) { + return ( + n == n && + (r !== u && (n = n <= r ? n : r), + t !== u && (n = n >= t ? n : t)), + n + ); + } + function fe(n, t, r, e, i, o) { + var f, + a = 1 & t, + c = 2 & t, + l = 4 & t; + if ((r && (f = i ? r(n, e, i, o) : r(n)), f !== u)) return f; + if (!tf(n)) return n; + var s = Zo(n); + if (s) { + if ( + ((f = (function (n) { + var t = n.length, + r = new n.constructor(t); + return ( + t && + "string" == typeof n[0] && + Ln.call(n, "index") && + ((r.index = n.index), (r.input = n.input)), + r + ); + })(n)), + !a) + ) + return Iu(n, f); + } else { + var h = hi(n), + p = h == w || h == m; + if (Ho(n)) return mu(n, a); + if (h == A || h == _ || (p && !i)) { + if (((f = c || p ? {} : vi(n)), !a)) + return c + ? (function (n, t) { + return Ru(n, si(n), t); + })( + n, + (function (n, t) { + return n && Ru(t, Lf(t), n); + })(f, n), + ) + : (function (n, t) { + return Ru(n, li(n), t); + })(n, ee(f, n)); + } else { + if (!nt[h]) return i ? n : {}; + f = (function (n, t, r) { + var e, + u = n.constructor; + switch (t) { + case S: + return xu(n); + case y: + case d: + return new u(+n); + case C: + return (function (n, t) { + var r = t ? xu(n.buffer) : n.buffer; + return new n.constructor( + r, + n.byteOffset, + n.byteLength, + ); + })(n, r); + case W: + case L: + case U: + case B: + case T: + case $: + case D: + case M: + case F: + return ju(n, r); + case x: + return new u(); + case j: + case R: + return new u(n); + case O: + return (function (n) { + var t = new n.constructor(n.source, pn.exec(n)); + return (t.lastIndex = n.lastIndex), t; + })(n); + case I: + return new u(); + case z: + return (e = n), Tr ? kn(Tr.call(e)) : {}; + } + })(n, h, a); + } + } + o || (o = new Gr()); + var v = o.get(n); + if (v) return v; + o.set(n, f), + af(n) + ? n.forEach(function (e) { + f.add(fe(e, t, r, e, n, o)); + }) + : ef(n) && + n.forEach(function (e, u) { + f.set(u, fe(e, t, r, u, n, o)); + }); + var g = s ? u : (l ? (c ? ri : ti) : c ? Lf : Wf)(n); + return ( + wt(g || n, function (e, u) { + g && (e = n[(u = e)]), ne(f, u, fe(e, t, r, u, n, o)); + }), + f + ); + } + function ae(n, t, r) { + var e = r.length; + if (null == n) return !e; + for (n = kn(n); e--; ) { + var i = r[e], + o = t[i], + f = n[i]; + if ((f === u && !(i in n)) || !o(f)) return !1; + } + return !0; + } + function ce(n, t, r) { + if ("function" != typeof n) throw new Rn(i); + return zi(function () { + n.apply(u, r); + }, t); + } + function le(n, t, r, e) { + var u = -1, + i = At, + o = !0, + f = n.length, + a = [], + c = t.length; + if (!f) return a; + r && (t = Ot(t, qt(r))), + e + ? ((i = kt), (o = !1)) + : t.length >= 200 && ((i = Kt), (o = !1), (t = new Vr(t))); + n: for (; ++u < f; ) { + var l = n[u], + s = null == r ? l : r(l); + if (((l = e || 0 !== l ? l : 0), o && s == s)) { + for (var h = c; h--; ) if (t[h] === s) continue n; + a.push(l); + } else i(t, s, e) || a.push(l); + } + return a; + } + (Dr.templateSettings = { + escape: H, + evaluate: J, + interpolate: Y, + variable: "", + imports: { _: Dr }, + }), + (Dr.prototype = Fr.prototype), + (Dr.prototype.constructor = Dr), + (Nr.prototype = Mr(Fr.prototype)), + (Nr.prototype.constructor = Nr), + (Pr.prototype = Mr(Fr.prototype)), + (Pr.prototype.constructor = Pr), + (qr.prototype.clear = function () { + (this.__data__ = Rr ? Rr(null) : {}), (this.size = 0); + }), + (qr.prototype.delete = function (n) { + var t = this.has(n) && delete this.__data__[n]; + return (this.size -= t ? 1 : 0), t; + }), + (qr.prototype.get = function (n) { + var t = this.__data__; + if (Rr) { + var r = t[n]; + return r === o ? u : r; + } + return Ln.call(t, n) ? t[n] : u; + }), + (qr.prototype.has = function (n) { + var t = this.__data__; + return Rr ? t[n] !== u : Ln.call(t, n); + }), + (qr.prototype.set = function (n, t) { + var r = this.__data__; + return ( + (this.size += this.has(n) ? 0 : 1), + (r[n] = Rr && t === u ? o : t), + this + ); + }), + (Zr.prototype.clear = function () { + (this.__data__ = []), (this.size = 0); + }), + (Zr.prototype.delete = function (n) { + var t = this.__data__, + r = te(t, n); + return !( + r < 0 || + (r == t.length - 1 ? t.pop() : ut.call(t, r, 1), + --this.size, + 0) + ); + }), + (Zr.prototype.get = function (n) { + var t = this.__data__, + r = te(t, n); + return r < 0 ? u : t[r][1]; + }), + (Zr.prototype.has = function (n) { + return te(this.__data__, n) > -1; + }), + (Zr.prototype.set = function (n, t) { + var r = this.__data__, + e = te(r, n); + return ( + e < 0 ? (++this.size, r.push([n, t])) : (r[e][1] = t), this + ); + }), + (Kr.prototype.clear = function () { + (this.size = 0), + (this.__data__ = { + hash: new qr(), + map: new (Ar || Zr)(), + string: new qr(), + }); + }), + (Kr.prototype.delete = function (n) { + var t = fi(this, n).delete(n); + return (this.size -= t ? 1 : 0), t; + }), + (Kr.prototype.get = function (n) { + return fi(this, n).get(n); + }), + (Kr.prototype.has = function (n) { + return fi(this, n).has(n); + }), + (Kr.prototype.set = function (n, t) { + var r = fi(this, n), + e = r.size; + return r.set(n, t), (this.size += r.size == e ? 0 : 1), this; + }), + (Vr.prototype.add = Vr.prototype.push = + function (n) { + return this.__data__.set(n, o), this; + }), + (Vr.prototype.has = function (n) { + return this.__data__.has(n); + }), + (Gr.prototype.clear = function () { + (this.__data__ = new Zr()), (this.size = 0); + }), + (Gr.prototype.delete = function (n) { + var t = this.__data__, + r = t.delete(n); + return (this.size = t.size), r; + }), + (Gr.prototype.get = function (n) { + return this.__data__.get(n); + }), + (Gr.prototype.has = function (n) { + return this.__data__.has(n); + }), + (Gr.prototype.set = function (n, t) { + var r = this.__data__; + if (r instanceof Zr) { + var e = r.__data__; + if (!Ar || e.length < 199) + return e.push([n, t]), (this.size = ++r.size), this; + r = this.__data__ = new Kr(e); + } + return r.set(n, t), (this.size = r.size), this; + }); + var se = Su(be), + he = Su(we, !0); + function pe(n, t) { + var r = !0; + return ( + se(n, function (n, e, u) { + return (r = !!t(n, e, u)); + }), + r + ); + } + function ve(n, t, r) { + for (var e = -1, i = n.length; ++e < i; ) { + var o = n[e], + f = t(o); + if (null != f && (a === u ? f == f && !lf(f) : r(f, a))) + var a = f, + c = o; + } + return c; + } + function _e(n, t) { + var r = []; + return ( + se(n, function (n, e, u) { + t(n, e, u) && r.push(n); + }), + r + ); + } + function ge(n, t, r, e, u) { + var i = -1, + o = n.length; + for (r || (r = _i), u || (u = []); ++i < o; ) { + var f = n[i]; + t > 0 && r(f) + ? t > 1 + ? ge(f, t - 1, r, e, u) + : It(u, f) + : e || (u[u.length] = f); + } + return u; + } + var ye = Cu(), + de = Cu(!0); + function be(n, t) { + return n && ye(n, t, Wf); + } + function we(n, t) { + return n && de(n, t, Wf); + } + function me(n, t) { + return jt(t, function (t) { + return Qo(n[t]); + }); + } + function xe(n, t) { + for (var r = 0, e = (t = yu(t, n)).length; null != n && r < e; ) + n = n[Ti(t[r++])]; + return r && r == e ? n : u; + } + function je(n, t, r) { + var e = t(n); + return Zo(n) ? e : It(e, r(n)); + } + function Ae(n) { + return null == n + ? n === u + ? "[object Undefined]" + : "[object Null]" + : at && at in kn(n) + ? (function (n) { + var t = Ln.call(n, at), + r = n[at]; + try { + n[at] = u; + var e = !0; + } catch (n) {} + var i = Tn.call(n); + return e && (t ? (n[at] = r) : delete n[at]), i; + })(n) + : (function (n) { + return Tn.call(n); + })(n); + } + function ke(n, t) { + return n > t; + } + function Oe(n, t) { + return null != n && Ln.call(n, t); + } + function Ie(n, t) { + return null != n && t in kn(n); + } + function Re(n, t, r) { + for ( + var i = r ? kt : At, + o = n[0].length, + f = n.length, + a = f, + c = e(f), + l = 1 / 0, + s = []; + a--; + + ) { + var h = n[a]; + a && t && (h = Ot(h, qt(t))), + (l = dr(h.length, l)), + (c[a] = + !r && (t || (o >= 120 && h.length >= 120)) + ? new Vr(a && h) + : u); + } + h = n[0]; + var p = -1, + v = c[0]; + n: for (; ++p < o && s.length < l; ) { + var _ = h[p], + g = t ? t(_) : _; + if ( + ((_ = r || 0 !== _ ? _ : 0), !(v ? Kt(v, g) : i(s, g, r))) + ) { + for (a = f; --a; ) { + var y = c[a]; + if (!(y ? Kt(y, g) : i(n[a], g, r))) continue n; + } + v && v.push(g), s.push(_); + } + } + return s; + } + function ze(n, t, r) { + var e = null == (n = ki(n, (t = yu(t, n)))) ? n : n[Ti(Ji(t))]; + return null == e ? u : dt(e, n, r); + } + function Ee(n) { + return rf(n) && Ae(n) == _; + } + function Se(n, t, r, e, i) { + return ( + n === t || + (null == n || null == t || (!rf(n) && !rf(t)) + ? n != n && t != t + : (function (n, t, r, e, i, o) { + var f = Zo(n), + a = Zo(t), + c = f ? g : hi(n), + l = a ? g : hi(t), + s = (c = c == _ ? A : c) == A, + h = (l = l == _ ? A : l) == A, + p = c == l; + if (p && Ho(n)) { + if (!Ho(t)) return !1; + (f = !0), (s = !1); + } + if (p && !s) + return ( + o || (o = new Gr()), + f || sf(n) + ? Xu(n, t, r, e, i, o) + : (function (n, t, r, e, u, i, o) { + switch (r) { + case C: + if ( + n.byteLength != t.byteLength || + n.byteOffset != t.byteOffset + ) + return !1; + (n = n.buffer), (t = t.buffer); + case S: + return !( + n.byteLength != t.byteLength || + !i(new Pn(n), new Pn(t)) + ); + case y: + case d: + case j: + return Fo(+n, +t); + case b: + return ( + n.name == t.name && + n.message == t.message + ); + case O: + case R: + return n == t + ""; + case x: + var f = nr; + case I: + var a = 1 & e; + if ( + (f || (f = er), n.size != t.size && !a) + ) + return !1; + var c = o.get(n); + if (c) return c == t; + (e |= 2), o.set(n, t); + var l = Xu(f(n), f(t), e, u, i, o); + return o.delete(n), l; + case z: + if (Tr) return Tr.call(n) == Tr.call(t); + } + return !1; + })(n, t, c, r, e, i, o) + ); + if (!(1 & r)) { + var v = s && Ln.call(n, "__wrapped__"), + w = h && Ln.call(t, "__wrapped__"); + if (v || w) { + var m = v ? n.value() : n, + k = w ? t.value() : t; + return o || (o = new Gr()), i(m, k, r, e, o); + } + } + return ( + !!p && + (o || (o = new Gr()), + (function (n, t, r, e, i, o) { + var f = 1 & r, + a = ti(n), + c = a.length; + if (c != ti(t).length && !f) return !1; + for (var l = c; l--; ) { + var s = a[l]; + if (!(f ? s in t : Ln.call(t, s))) return !1; + } + var h = o.get(n), + p = o.get(t); + if (h && p) return h == t && p == n; + var v = !0; + o.set(n, t), o.set(t, n); + for (var _ = f; ++l < c; ) { + var g = n[(s = a[l])], + y = t[s]; + if (e) + var d = f + ? e(y, g, s, t, n, o) + : e(g, y, s, n, t, o); + if ( + !(d === u ? g === y || i(g, y, r, e, o) : d) + ) { + v = !1; + break; + } + _ || (_ = "constructor" == s); + } + if (v && !_) { + var b = n.constructor, + w = t.constructor; + b == w || + !("constructor" in n) || + !("constructor" in t) || + ("function" == typeof b && + b instanceof b && + "function" == typeof w && + w instanceof w) || + (v = !1); + } + return o.delete(n), o.delete(t), v; + })(n, t, r, e, i, o)) + ); + })(n, t, r, e, Se, i)) + ); + } + function Ce(n, t, r, e) { + var i = r.length, + o = i, + f = !e; + if (null == n) return !o; + for (n = kn(n); i--; ) { + var a = r[i]; + if (f && a[2] ? a[1] !== n[a[0]] : !(a[0] in n)) return !1; + } + for (; ++i < o; ) { + var c = (a = r[i])[0], + l = n[c], + s = a[1]; + if (f && a[2]) { + if (l === u && !(c in n)) return !1; + } else { + var h = new Gr(); + if (e) var p = e(l, s, c, n, t, h); + if (!(p === u ? Se(s, l, 3, e, h) : p)) return !1; + } + } + return !0; + } + function We(n) { + return ( + !(!tf(n) || ((t = n), Bn && Bn in t)) && + (Qo(n) ? Mn : gn).test($i(n)) + ); + var t; + } + function Le(n) { + return "function" == typeof n + ? n + : null == n + ? ia + : "object" == typeof n + ? Zo(n) + ? De(n[0], n[1]) + : $e(n) + : va(n); + } + function Ue(n) { + if (!mi(n)) return gr(n); + var t = []; + for (var r in kn(n)) + Ln.call(n, r) && "constructor" != r && t.push(r); + return t; + } + function Be(n, t) { + return n < t; + } + function Te(n, t) { + var r = -1, + u = Vo(n) ? e(n.length) : []; + return ( + se(n, function (n, e, i) { + u[++r] = t(n, e, i); + }), + u + ); + } + function $e(n) { + var t = ai(n); + return 1 == t.length && t[0][2] + ? ji(t[0][0], t[0][1]) + : function (r) { + return r === n || Ce(r, n, t); + }; + } + function De(n, t) { + return di(n) && xi(t) + ? ji(Ti(n), t) + : function (r) { + var e = Rf(r, n); + return e === u && e === t ? zf(r, n) : Se(t, e, 3); + }; + } + function Me(n, t, r, e, i) { + n !== t && + ye( + t, + function (o, f) { + if ((i || (i = new Gr()), tf(o))) + !(function (n, t, r, e, i, o, f) { + var a = Ii(n, r), + c = Ii(t, r), + l = f.get(c); + if (l) Xr(n, r, l); + else { + var s = o ? o(a, c, r + "", n, t, f) : u, + h = s === u; + if (h) { + var p = Zo(c), + v = !p && Ho(c), + _ = !p && !v && sf(c); + (s = c), + p || v || _ + ? Zo(a) + ? (s = a) + : Go(a) + ? (s = Iu(a)) + : v + ? ((h = !1), (s = mu(c, !0))) + : _ + ? ((h = !1), (s = ju(c, !0))) + : (s = []) + : of(c) || qo(c) + ? ((s = a), + qo(a) + ? (s = bf(a)) + : (tf(a) && !Qo(a)) || (s = vi(c))) + : (h = !1); + } + h && (f.set(c, s), i(s, c, e, o, f), f.delete(c)), + Xr(n, r, s); + } + })(n, t, f, r, Me, e, i); + else { + var a = e ? e(Ii(n, f), o, f + "", n, t, i) : u; + a === u && (a = o), Xr(n, f, a); + } + }, + Lf, + ); + } + function Fe(n, t) { + var r = n.length; + if (r) return gi((t += t < 0 ? r : 0), r) ? n[t] : u; + } + function Ne(n, t, r) { + t = t.length + ? Ot(t, function (n) { + return Zo(n) + ? function (t) { + return xe(t, 1 === n.length ? n[0] : n); + } + : n; + }) + : [ia]; + var e = -1; + t = Ot(t, qt(oi())); + var u = Te(n, function (n, r, u) { + var i = Ot(t, function (t) { + return t(n); + }); + return { criteria: i, index: ++e, value: n }; + }); + return (function (n, t) { + var e = n.length; + for ( + n.sort(function (n, t) { + return (function (n, t, r) { + for ( + var e = -1, + u = n.criteria, + i = t.criteria, + o = u.length, + f = r.length; + ++e < o; + + ) { + var a = Au(u[e], i[e]); + if (a) + return e >= f ? a : a * ("desc" == r[e] ? -1 : 1); + } + return n.index - t.index; + })(n, t, r); + }); + e--; + + ) + n[e] = n[e].value; + return n; + })(u); + } + function Pe(n, t, r) { + for (var e = -1, u = t.length, i = {}; ++e < u; ) { + var o = t[e], + f = xe(n, o); + r(f, o) && Ye(i, yu(o, n), f); + } + return i; + } + function qe(n, t, r, e) { + var u = e ? Ut : Lt, + i = -1, + o = t.length, + f = n; + for (n === t && (t = Iu(t)), r && (f = Ot(n, qt(r))); ++i < o; ) + for ( + var a = 0, c = t[i], l = r ? r(c) : c; + (a = u(f, l, a, e)) > -1; + + ) + f !== n && ut.call(f, a, 1), ut.call(n, a, 1); + return n; + } + function Ze(n, t) { + for (var r = n ? t.length : 0, e = r - 1; r--; ) { + var u = t[r]; + if (r == e || u !== i) { + var i = u; + gi(u) ? ut.call(n, u, 1) : cu(n, u); + } + } + return n; + } + function Ke(n, t) { + return n + sr(mr() * (t - n + 1)); + } + function Ve(n, t) { + var r = ""; + if (!n || t < 1 || t > s) return r; + do { + t % 2 && (r += n), (t = sr(t / 2)) && (n += n); + } while (t); + return r; + } + function Ge(n, t) { + return Ei(Ai(n, t, ia), n + ""); + } + function He(n) { + return Jr(Nf(n)); + } + function Je(n, t) { + var r = Nf(n); + return Wi(r, oe(t, 0, r.length)); + } + function Ye(n, t, r, e) { + if (!tf(n)) return n; + for ( + var i = -1, o = (t = yu(t, n)).length, f = o - 1, a = n; + null != a && ++i < o; + + ) { + var c = Ti(t[i]), + l = r; + if ( + "__proto__" === c || + "constructor" === c || + "prototype" === c + ) + return n; + if (i != f) { + var s = a[c]; + (l = e ? e(s, c, a) : u) === u && + (l = tf(s) ? s : gi(t[i + 1]) ? [] : {}); + } + ne(a, c, l), (a = a[c]); + } + return n; + } + var Qe = zr + ? function (n, t) { + return zr.set(n, t), n; + } + : ia, + Xe = lt + ? function (n, t) { + return lt(n, "toString", { + configurable: !0, + enumerable: !1, + value: ra(t), + writable: !0, + }); + } + : ia; + function nu(n) { + return Wi(Nf(n)); + } + function tu(n, t, r) { + var u = -1, + i = n.length; + t < 0 && (t = -t > i ? 0 : i + t), + (r = r > i ? i : r) < 0 && (r += i), + (i = t > r ? 0 : (r - t) >>> 0), + (t >>>= 0); + for (var o = e(i); ++u < i; ) o[u] = n[u + t]; + return o; + } + function ru(n, t) { + var r; + return ( + se(n, function (n, e, u) { + return !(r = t(n, e, u)); + }), + !!r + ); + } + function eu(n, t, r) { + var e = 0, + u = null == n ? e : n.length; + if ("number" == typeof t && t == t && u <= 2147483647) { + for (; e < u; ) { + var i = (e + u) >>> 1, + o = n[i]; + null !== o && !lf(o) && (r ? o <= t : o < t) + ? (e = i + 1) + : (u = i); + } + return u; + } + return uu(n, t, ia, r); + } + function uu(n, t, r, e) { + var i = 0, + o = null == n ? 0 : n.length; + if (0 === o) return 0; + for ( + var f = (t = r(t)) != t, + a = null === t, + c = lf(t), + l = t === u; + i < o; + + ) { + var s = sr((i + o) / 2), + h = r(n[s]), + p = h !== u, + v = null === h, + _ = h == h, + g = lf(h); + if (f) var y = e || _; + else + y = l + ? _ && (e || p) + : a + ? _ && p && (e || !v) + : c + ? _ && p && !v && (e || !g) + : !v && !g && (e ? h <= t : h < t); + y ? (i = s + 1) : (o = s); + } + return dr(o, 4294967294); + } + function iu(n, t) { + for (var r = -1, e = n.length, u = 0, i = []; ++r < e; ) { + var o = n[r], + f = t ? t(o) : o; + if (!r || !Fo(f, a)) { + var a = f; + i[u++] = 0 === o ? 0 : o; + } + } + return i; + } + function ou(n) { + return "number" == typeof n ? n : lf(n) ? h : +n; + } + function fu(n) { + if ("string" == typeof n) return n; + if (Zo(n)) return Ot(n, fu) + ""; + if (lf(n)) return $r ? $r.call(n) : ""; + var t = n + ""; + return "0" == t && 1 / n == -1 / 0 ? "-0" : t; + } + function au(n, t, r) { + var e = -1, + u = At, + i = n.length, + o = !0, + f = [], + a = f; + if (r) (o = !1), (u = kt); + else if (i >= 200) { + var c = t ? null : Vu(n); + if (c) return er(c); + (o = !1), (u = Kt), (a = new Vr()); + } else a = t ? [] : f; + n: for (; ++e < i; ) { + var l = n[e], + s = t ? t(l) : l; + if (((l = r || 0 !== l ? l : 0), o && s == s)) { + for (var h = a.length; h--; ) if (a[h] === s) continue n; + t && a.push(s), f.push(l); + } else u(a, s, r) || (a !== f && a.push(s), f.push(l)); + } + return f; + } + function cu(n, t) { + return ( + null == (n = ki(n, (t = yu(t, n)))) || delete n[Ti(Ji(t))] + ); + } + function lu(n, t, r, e) { + return Ye(n, t, r(xe(n, t)), e); + } + function su(n, t, r, e) { + for ( + var u = n.length, i = e ? u : -1; + (e ? i-- : ++i < u) && t(n[i], i, n); + + ); + return r + ? tu(n, e ? 0 : i, e ? i + 1 : u) + : tu(n, e ? i + 1 : 0, e ? u : i); + } + function hu(n, t) { + var r = n; + return ( + r instanceof Pr && (r = r.value()), + Rt( + t, + function (n, t) { + return t.func.apply(t.thisArg, It([n], t.args)); + }, + r, + ) + ); + } + function pu(n, t, r) { + var u = n.length; + if (u < 2) return u ? au(n[0]) : []; + for (var i = -1, o = e(u); ++i < u; ) + for (var f = n[i], a = -1; ++a < u; ) + a != i && (o[i] = le(o[i] || f, n[a], t, r)); + return au(ge(o, 1), t, r); + } + function vu(n, t, r) { + for ( + var e = -1, i = n.length, o = t.length, f = {}; + ++e < i; + + ) { + var a = e < o ? t[e] : u; + r(f, n[e], a); + } + return f; + } + function _u(n) { + return Go(n) ? n : []; + } + function gu(n) { + return "function" == typeof n ? n : ia; + } + function yu(n, t) { + return Zo(n) ? n : di(n, t) ? [n] : Bi(wf(n)); + } + var du = Ge; + function bu(n, t, r) { + var e = n.length; + return (r = r === u ? e : r), !t && r >= e ? n : tu(n, t, r); + } + var wu = + st || + function (n) { + return ot.clearTimeout(n); + }; + function mu(n, t) { + if (t) return n.slice(); + var r = n.length, + e = qn ? qn(r) : new n.constructor(r); + return n.copy(e), e; + } + function xu(n) { + var t = new n.constructor(n.byteLength); + return new Pn(t).set(new Pn(n)), t; + } + function ju(n, t) { + var r = t ? xu(n.buffer) : n.buffer; + return new n.constructor(r, n.byteOffset, n.length); + } + function Au(n, t) { + if (n !== t) { + var r = n !== u, + e = null === n, + i = n == n, + o = lf(n), + f = t !== u, + a = null === t, + c = t == t, + l = lf(t); + if ( + (!a && !l && !o && n > t) || + (o && f && c && !a && !l) || + (e && f && c) || + (!r && c) || + !i + ) + return 1; + if ( + (!e && !o && !l && n < t) || + (l && r && i && !e && !o) || + (a && r && i) || + (!f && i) || + !c + ) + return -1; + } + return 0; + } + function ku(n, t, r, u) { + for ( + var i = -1, + o = n.length, + f = r.length, + a = -1, + c = t.length, + l = yr(o - f, 0), + s = e(c + l), + h = !u; + ++a < c; + + ) + s[a] = t[a]; + for (; ++i < f; ) (h || i < o) && (s[r[i]] = n[i]); + for (; l--; ) s[a++] = n[i++]; + return s; + } + function Ou(n, t, r, u) { + for ( + var i = -1, + o = n.length, + f = -1, + a = r.length, + c = -1, + l = t.length, + s = yr(o - a, 0), + h = e(s + l), + p = !u; + ++i < s; + + ) + h[i] = n[i]; + for (var v = i; ++c < l; ) h[v + c] = t[c]; + for (; ++f < a; ) (p || i < o) && (h[v + r[f]] = n[i++]); + return h; + } + function Iu(n, t) { + var r = -1, + u = n.length; + for (t || (t = e(u)); ++r < u; ) t[r] = n[r]; + return t; + } + function Ru(n, t, r, e) { + var i = !r; + r || (r = {}); + for (var o = -1, f = t.length; ++o < f; ) { + var a = t[o], + c = e ? e(r[a], n[a], a, r, n) : u; + c === u && (c = n[a]), i ? ue(r, a, c) : ne(r, a, c); + } + return r; + } + function zu(n, t) { + return function (r, e) { + var u = Zo(r) ? bt : re, + i = t ? t() : {}; + return u(r, n, oi(e, 2), i); + }; + } + function Eu(n) { + return Ge(function (t, r) { + var e = -1, + i = r.length, + o = i > 1 ? r[i - 1] : u, + f = i > 2 ? r[2] : u; + for ( + o = n.length > 3 && "function" == typeof o ? (i--, o) : u, + f && yi(r[0], r[1], f) && ((o = i < 3 ? u : o), (i = 1)), + t = kn(t); + ++e < i; + + ) { + var a = r[e]; + a && n(t, a, e, o); + } + return t; + }); + } + function Su(n, t) { + return function (r, e) { + if (null == r) return r; + if (!Vo(r)) return n(r, e); + for ( + var u = r.length, i = t ? u : -1, o = kn(r); + (t ? i-- : ++i < u) && !1 !== e(o[i], i, o); + + ); + return r; + }; + } + function Cu(n) { + return function (t, r, e) { + for (var u = -1, i = kn(t), o = e(t), f = o.length; f--; ) { + var a = o[n ? f : ++u]; + if (!1 === r(i[a], a, i)) break; + } + return t; + }; + } + function Wu(n) { + return function (t) { + var r = Xt((t = wf(t))) ? or(t) : u, + e = r ? r[0] : t.charAt(0), + i = r ? bu(r, 1).join("") : t.slice(1); + return e[n]() + i; + }; + } + function Lu(n) { + return function (t) { + return Rt(Xf(Zf(t).replace(Zn, "")), n, ""); + }; + } + function Uu(n) { + return function () { + var t = arguments; + switch (t.length) { + case 0: + return new n(); + case 1: + return new n(t[0]); + case 2: + return new n(t[0], t[1]); + case 3: + return new n(t[0], t[1], t[2]); + case 4: + return new n(t[0], t[1], t[2], t[3]); + case 5: + return new n(t[0], t[1], t[2], t[3], t[4]); + case 6: + return new n(t[0], t[1], t[2], t[3], t[4], t[5]); + case 7: + return new n(t[0], t[1], t[2], t[3], t[4], t[5], t[6]); + } + var r = Mr(n.prototype), + e = n.apply(r, t); + return tf(e) ? e : r; + }; + } + function Bu(n) { + return function (t, r, e) { + var i = kn(t); + if (!Vo(t)) { + var o = oi(r, 3); + (t = Wf(t)), + (r = function (n) { + return o(i[n], n, i); + }); + } + var f = n(t, r, e); + return f > -1 ? i[o ? t[f] : f] : u; + }; + } + function Tu(n) { + return ni(function (t) { + var r = t.length, + e = r, + o = Nr.prototype.thru; + for (n && t.reverse(); e--; ) { + var f = t[e]; + if ("function" != typeof f) throw new Rn(i); + if (o && !a && "wrapper" == ui(f)) var a = new Nr([], !0); + } + for (e = a ? e : r; ++e < r; ) { + var c = ui((f = t[e])), + l = "wrapper" == c ? ei(f) : u; + a = + l && bi(l[0]) && 424 == l[1] && !l[4].length && 1 == l[9] + ? a[ui(l[0])].apply(a, l[3]) + : 1 == f.length && bi(f) + ? a[c]() + : a.thru(f); + } + return function () { + var n = arguments, + e = n[0]; + if (a && 1 == n.length && Zo(e)) return a.plant(e).value(); + for (var u = 0, i = r ? t[u].apply(this, n) : e; ++u < r; ) + i = t[u].call(this, i); + return i; + }; + }); + } + function $u(n, t, r, i, o, f, a, l, s, h) { + var p = t & c, + v = 1 & t, + _ = 2 & t, + g = 24 & t, + y = 512 & t, + d = _ ? u : Uu(n); + return function u() { + for (var c = arguments.length, b = e(c), w = c; w--; ) + b[w] = arguments[w]; + if (g) + var m = ii(u), + x = Ht(b, m); + if ( + (i && (b = ku(b, i, o, g)), + f && (b = Ou(b, f, a, g)), + (c -= x), + g && c < h) + ) { + var j = rr(b, m); + return Zu(n, t, $u, u.placeholder, r, b, j, l, s, h - c); + } + var A = v ? r : this, + k = _ ? A[n] : n; + return ( + (c = b.length), + l ? (b = Oi(b, l)) : y && c > 1 && b.reverse(), + p && s < c && (b.length = s), + this && + this !== ot && + this instanceof u && + (k = d || Uu(k)), + k.apply(A, b) + ); + }; + } + function Du(n, t) { + return function (r, e) { + return (function (n, t, r, e) { + return ( + be(n, function (n, u, i) { + t(e, r(n), u, i); + }), + e + ); + })(r, n, t(e), {}); + }; + } + function Mu(n, t) { + return function (r, e) { + var i; + if (r === u && e === u) return t; + if ((r !== u && (i = r), e !== u)) { + if (i === u) return e; + "string" == typeof r || "string" == typeof e + ? ((r = fu(r)), (e = fu(e))) + : ((r = ou(r)), (e = ou(e))), + (i = n(r, e)); + } + return i; + }; + } + function Fu(n) { + return ni(function (t) { + return ( + (t = Ot(t, qt(oi()))), + Ge(function (r) { + var e = this; + return n(t, function (n) { + return dt(n, e, r); + }); + }) + ); + }); + } + function Nu(n, t) { + var r = (t = t === u ? " " : fu(t)).length; + if (r < 2) return r ? Ve(t, n) : t; + var e = Ve(t, lr(n / ir(t))); + return Xt(t) ? bu(or(e), 0, n).join("") : e.slice(0, n); + } + function Pu(n) { + return function (t, r, i) { + return ( + i && "number" != typeof i && yi(t, r, i) && (r = i = u), + (t = _f(t)), + r === u ? ((r = t), (t = 0)) : (r = _f(r)), + (function (n, t, r, u) { + for ( + var i = -1, o = yr(lr((t - n) / (r || 1)), 0), f = e(o); + o--; + + ) + (f[u ? o : ++i] = n), (n += r); + return f; + })(t, r, (i = i === u ? (t < r ? 1 : -1) : _f(i)), n) + ); + }; + } + function qu(n) { + return function (t, r) { + return ( + ("string" == typeof t && "string" == typeof r) || + ((t = df(t)), (r = df(r))), + n(t, r) + ); + }; + } + function Zu(n, t, r, e, i, o, f, c, l, s) { + var h = 8 & t; + (t |= h ? a : 64), 4 & (t &= ~(h ? 64 : a)) || (t &= -4); + var p = [ + n, + t, + i, + h ? o : u, + h ? f : u, + h ? u : o, + h ? u : f, + c, + l, + s, + ], + v = r.apply(u, p); + return bi(n) && Ri(v, p), (v.placeholder = e), Si(v, n, t); + } + function Ku(n) { + var t = An[n]; + return function (n, r) { + if ( + ((n = df(n)), (r = null == r ? 0 : dr(gf(r), 292)) && vr(n)) + ) { + var e = (wf(n) + "e").split("e"); + return +( + (e = (wf(t(e[0] + "e" + (+e[1] + r))) + "e").split( + "e", + ))[0] + + "e" + + (+e[1] - r) + ); + } + return t(n); + }; + } + var Vu = + Or && 1 / er(new Or([, -0]))[1] == l + ? function (n) { + return new Or(n); + } + : la; + function Gu(n) { + return function (t) { + var r = hi(t); + return r == x + ? nr(t) + : r == I + ? ur(t) + : (function (n, t) { + return Ot(t, function (t) { + return [t, n[t]]; + }); + })(t, n(t)); + }; + } + function Hu(n, t, r, o, l, s, h, p) { + var v = 2 & t; + if (!v && "function" != typeof n) throw new Rn(i); + var _ = o ? o.length : 0; + if ( + (_ || ((t &= -97), (o = l = u)), + (h = h === u ? h : yr(gf(h), 0)), + (p = p === u ? p : gf(p)), + (_ -= l ? l.length : 0), + 64 & t) + ) { + var g = o, + y = l; + o = l = u; + } + var d = v ? u : ei(n), + b = [n, t, r, o, l, g, y, s, h, p]; + if ( + (d && + (function (n, t) { + var r = n[1], + e = t[1], + u = r | e, + i = u < 131, + o = + (e == c && 8 == r) || + (e == c && 256 == r && n[7].length <= t[8]) || + (384 == e && t[7].length <= t[8] && 8 == r); + if (!i && !o) return n; + 1 & e && ((n[2] = t[2]), (u |= 1 & r ? 0 : 4)); + var a = t[3]; + if (a) { + var l = n[3]; + (n[3] = l ? ku(l, a, t[4]) : a), + (n[4] = l ? rr(n[3], f) : t[4]); + } + (a = t[5]) && + ((l = n[5]), + (n[5] = l ? Ou(l, a, t[6]) : a), + (n[6] = l ? rr(n[5], f) : t[6])), + (a = t[7]) && (n[7] = a), + e & c && (n[8] = null == n[8] ? t[8] : dr(n[8], t[8])), + null == n[9] && (n[9] = t[9]), + (n[0] = t[0]), + (n[1] = u); + })(b, d), + (n = b[0]), + (t = b[1]), + (r = b[2]), + (o = b[3]), + (l = b[4]), + !(p = b[9] = + b[9] === u ? (v ? 0 : n.length) : yr(b[9] - _, 0)) && + 24 & t && + (t &= -25), + t && 1 != t) + ) + w = + 8 == t || 16 == t + ? (function (n, t, r) { + var i = Uu(n); + return function o() { + for ( + var f = arguments.length, + a = e(f), + c = f, + l = ii(o); + c--; + + ) + a[c] = arguments[c]; + var s = + f < 3 && a[0] !== l && a[f - 1] !== l + ? [] + : rr(a, l); + return (f -= s.length) < r + ? Zu( + n, + t, + $u, + o.placeholder, + u, + a, + s, + u, + u, + r - f, + ) + : dt( + this && this !== ot && this instanceof o + ? i + : n, + this, + a, + ); + }; + })(n, t, p) + : (t != a && 33 != t) || l.length + ? $u.apply(u, b) + : (function (n, t, r, u) { + var i = 1 & t, + o = Uu(n); + return function t() { + for ( + var f = -1, + a = arguments.length, + c = -1, + l = u.length, + s = e(l + a), + h = + this && this !== ot && this instanceof t + ? o + : n; + ++c < l; + + ) + s[c] = u[c]; + for (; a--; ) s[c++] = arguments[++f]; + return dt(h, i ? r : this, s); + }; + })(n, t, r, o); + else + var w = (function (n, t, r) { + var e = 1 & t, + u = Uu(n); + return function t() { + return ( + this && this !== ot && this instanceof t ? u : n + ).apply(e ? r : this, arguments); + }; + })(n, t, r); + return Si((d ? Qe : Ri)(w, b), n, t); + } + function Ju(n, t, r, e) { + return n === u || (Fo(n, Sn[r]) && !Ln.call(e, r)) ? t : n; + } + function Yu(n, t, r, e, i, o) { + return ( + tf(n) && + tf(t) && + (o.set(t, n), Me(n, t, u, Yu, o), o.delete(t)), + n + ); + } + function Qu(n) { + return of(n) ? u : n; + } + function Xu(n, t, r, e, i, o) { + var f = 1 & r, + a = n.length, + c = t.length; + if (a != c && !(f && c > a)) return !1; + var l = o.get(n), + s = o.get(t); + if (l && s) return l == t && s == n; + var h = -1, + p = !0, + v = 2 & r ? new Vr() : u; + for (o.set(n, t), o.set(t, n); ++h < a; ) { + var _ = n[h], + g = t[h]; + if (e) var y = f ? e(g, _, h, t, n, o) : e(_, g, h, n, t, o); + if (y !== u) { + if (y) continue; + p = !1; + break; + } + if (v) { + if ( + !Et(t, function (n, t) { + if (!Kt(v, t) && (_ === n || i(_, n, r, e, o))) + return v.push(t); + }) + ) { + p = !1; + break; + } + } else if (_ !== g && !i(_, g, r, e, o)) { + p = !1; + break; + } + } + return o.delete(n), o.delete(t), p; + } + function ni(n) { + return Ei(Ai(n, u, Zi), n + ""); + } + function ti(n) { + return je(n, Wf, li); + } + function ri(n) { + return je(n, Lf, si); + } + var ei = zr + ? function (n) { + return zr.get(n); + } + : la; + function ui(n) { + for ( + var t = n.name + "", + r = Er[t], + e = Ln.call(Er, t) ? r.length : 0; + e--; + + ) { + var u = r[e], + i = u.func; + if (null == i || i == n) return u.name; + } + return t; + } + function ii(n) { + return (Ln.call(Dr, "placeholder") ? Dr : n).placeholder; + } + function oi() { + var n = Dr.iteratee || oa; + return ( + (n = n === oa ? Le : n), + arguments.length ? n(arguments[0], arguments[1]) : n + ); + } + function fi(n, t) { + var r, + e, + u = n.__data__; + return ( + "string" == (e = typeof (r = t)) || + "number" == e || + "symbol" == e || + "boolean" == e + ? "__proto__" !== r + : null === r + ) + ? u["string" == typeof t ? "string" : "hash"] + : u.map; + } + function ai(n) { + for (var t = Wf(n), r = t.length; r--; ) { + var e = t[r], + u = n[e]; + t[r] = [e, u, xi(u)]; + } + return t; + } + function ci(n, t) { + var r = (function (n, t) { + return null == n ? u : n[t]; + })(n, t); + return We(r) ? r : u; + } + var li = hr + ? function (n) { + return null == n + ? [] + : ((n = kn(n)), + jt(hr(n), function (t) { + return tt.call(n, t); + })); + } + : ya, + si = hr + ? function (n) { + for (var t = []; n; ) It(t, li(n)), (n = Vn(n)); + return t; + } + : ya, + hi = Ae; + function pi(n, t, r) { + for (var e = -1, u = (t = yu(t, n)).length, i = !1; ++e < u; ) { + var o = Ti(t[e]); + if (!(i = null != n && r(n, o))) break; + n = n[o]; + } + return i || ++e != u + ? i + : !!(u = null == n ? 0 : n.length) && + nf(u) && + gi(o, u) && + (Zo(n) || qo(n)); + } + function vi(n) { + return "function" != typeof n.constructor || mi(n) + ? {} + : Mr(Vn(n)); + } + function _i(n) { + return Zo(n) || qo(n) || !!(it && n && n[it]); + } + function gi(n, t) { + var r = typeof n; + return ( + !!(t = null == t ? s : t) && + ("number" == r || ("symbol" != r && dn.test(n))) && + n > -1 && + n % 1 == 0 && + n < t + ); + } + function yi(n, t, r) { + if (!tf(r)) return !1; + var e = typeof t; + return ( + !!("number" == e + ? Vo(r) && gi(t, r.length) + : "string" == e && t in r) && Fo(r[t], n) + ); + } + function di(n, t) { + if (Zo(n)) return !1; + var r = typeof n; + return ( + !( + "number" != r && + "symbol" != r && + "boolean" != r && + null != n && + !lf(n) + ) || + X.test(n) || + !Q.test(n) || + (null != t && n in kn(t)) + ); + } + function bi(n) { + var t = ui(n), + r = Dr[t]; + if ("function" != typeof r || !(t in Pr.prototype)) return !1; + if (n === r) return !0; + var e = ei(r); + return !!e && n === e[0]; + } + ((jr && hi(new jr(new ArrayBuffer(1))) != C) || + (Ar && hi(new Ar()) != x) || + (kr && hi(kr.resolve()) != k) || + (Or && hi(new Or()) != I) || + (Ir && hi(new Ir()) != E)) && + (hi = function (n) { + var t = Ae(n), + r = t == A ? n.constructor : u, + e = r ? $i(r) : ""; + if (e) + switch (e) { + case Sr: + return C; + case Cr: + return x; + case Wr: + return k; + case Lr: + return I; + case Ur: + return E; + } + return t; + }); + var wi = Cn ? Qo : da; + function mi(n) { + var t = n && n.constructor; + return n === (("function" == typeof t && t.prototype) || Sn); + } + function xi(n) { + return n == n && !tf(n); + } + function ji(n, t) { + return function (r) { + return null != r && r[n] === t && (t !== u || n in kn(r)); + }; + } + function Ai(n, t, r) { + return ( + (t = yr(t === u ? n.length - 1 : t, 0)), + function () { + for ( + var u = arguments, + i = -1, + o = yr(u.length - t, 0), + f = e(o); + ++i < o; + + ) + f[i] = u[t + i]; + i = -1; + for (var a = e(t + 1); ++i < t; ) a[i] = u[i]; + return (a[t] = r(f)), dt(n, this, a); + } + ); + } + function ki(n, t) { + return t.length < 2 ? n : xe(n, tu(t, 0, -1)); + } + function Oi(n, t) { + for (var r = n.length, e = dr(t.length, r), i = Iu(n); e--; ) { + var o = t[e]; + n[e] = gi(o, r) ? i[o] : u; + } + return n; + } + function Ii(n, t) { + if ( + ("constructor" !== t || "function" != typeof n[t]) && + "__proto__" != t + ) + return n[t]; + } + var Ri = Ci(Qe), + zi = + Dt || + function (n, t) { + return ot.setTimeout(n, t); + }, + Ei = Ci(Xe); + function Si(n, t, r) { + var e = t + ""; + return Ei( + n, + (function (n, t) { + var r = t.length; + if (!r) return n; + var e = r - 1; + return ( + (t[e] = (r > 1 ? "& " : "") + t[e]), + (t = t.join(r > 2 ? ", " : " ")), + n.replace(on, "{\n/* [wrapped with " + t + "] */\n") + ); + })( + e, + (function (n, t) { + return ( + wt(v, function (r) { + var e = "_." + r[0]; + t & r[1] && !At(n, e) && n.push(e); + }), + n.sort() + ); + })( + (function (n) { + var t = n.match(fn); + return t ? t[1].split(an) : []; + })(e), + r, + ), + ), + ); + } + function Ci(n) { + var t = 0, + r = 0; + return function () { + var e = br(), + i = 16 - (e - r); + if (((r = e), i > 0)) { + if (++t >= 800) return arguments[0]; + } else t = 0; + return n.apply(u, arguments); + }; + } + function Wi(n, t) { + var r = -1, + e = n.length, + i = e - 1; + for (t = t === u ? e : t; ++r < t; ) { + var o = Ke(r, i), + f = n[o]; + (n[o] = n[r]), (n[r] = f); + } + return (n.length = t), n; + } + var Li, + Ui, + Bi = + ((Li = Uo( + function (n) { + var t = []; + return ( + 46 === n.charCodeAt(0) && t.push(""), + n.replace(nn, function (n, r, e, u) { + t.push(e ? u.replace(sn, "$1") : r || n); + }), + t + ); + }, + function (n) { + return 500 === Ui.size && Ui.clear(), n; + }, + )), + (Ui = Li.cache), + Li); + function Ti(n) { + if ("string" == typeof n || lf(n)) return n; + var t = n + ""; + return "0" == t && 1 / n == -1 / 0 ? "-0" : t; + } + function $i(n) { + if (null != n) { + try { + return Wn.call(n); + } catch (n) {} + try { + return n + ""; + } catch (n) {} + } + return ""; + } + function Di(n) { + if (n instanceof Pr) return n.clone(); + var t = new Nr(n.__wrapped__, n.__chain__); + return ( + (t.__actions__ = Iu(n.__actions__)), + (t.__index__ = n.__index__), + (t.__values__ = n.__values__), + t + ); + } + var Mi = Ge(function (n, t) { + return Go(n) ? le(n, ge(t, 1, Go, !0)) : []; + }), + Fi = Ge(function (n, t) { + var r = Ji(t); + return ( + Go(r) && (r = u), + Go(n) ? le(n, ge(t, 1, Go, !0), oi(r, 2)) : [] + ); + }), + Ni = Ge(function (n, t) { + var r = Ji(t); + return ( + Go(r) && (r = u), Go(n) ? le(n, ge(t, 1, Go, !0), u, r) : [] + ); + }); + function Pi(n, t, r) { + var e = null == n ? 0 : n.length; + if (!e) return -1; + var u = null == r ? 0 : gf(r); + return u < 0 && (u = yr(e + u, 0)), Wt(n, oi(t, 3), u); + } + function qi(n, t, r) { + var e = null == n ? 0 : n.length; + if (!e) return -1; + var i = e - 1; + return ( + r !== u && + ((i = gf(r)), (i = r < 0 ? yr(e + i, 0) : dr(i, e - 1))), + Wt(n, oi(t, 3), i, !0) + ); + } + function Zi(n) { + return null != n && n.length ? ge(n, 1) : []; + } + function Ki(n) { + return n && n.length ? n[0] : u; + } + var Vi = Ge(function (n) { + var t = Ot(n, _u); + return t.length && t[0] === n[0] ? Re(t) : []; + }), + Gi = Ge(function (n) { + var t = Ji(n), + r = Ot(n, _u); + return ( + t === Ji(r) ? (t = u) : r.pop(), + r.length && r[0] === n[0] ? Re(r, oi(t, 2)) : [] + ); + }), + Hi = Ge(function (n) { + var t = Ji(n), + r = Ot(n, _u); + return ( + (t = "function" == typeof t ? t : u) && r.pop(), + r.length && r[0] === n[0] ? Re(r, u, t) : [] + ); + }); + function Ji(n) { + var t = null == n ? 0 : n.length; + return t ? n[t - 1] : u; + } + var Yi = Ge(Qi); + function Qi(n, t) { + return n && n.length && t && t.length ? qe(n, t) : n; + } + var Xi = ni(function (n, t) { + var r = null == n ? 0 : n.length, + e = ie(n, t); + return ( + Ze( + n, + Ot(t, function (n) { + return gi(n, r) ? +n : n; + }).sort(Au), + ), + e + ); + }); + function no(n) { + return null == n ? n : xr.call(n); + } + var to = Ge(function (n) { + return au(ge(n, 1, Go, !0)); + }), + ro = Ge(function (n) { + var t = Ji(n); + return Go(t) && (t = u), au(ge(n, 1, Go, !0), oi(t, 2)); + }), + eo = Ge(function (n) { + var t = Ji(n); + return ( + (t = "function" == typeof t ? t : u), + au(ge(n, 1, Go, !0), u, t) + ); + }); + function uo(n) { + if (!n || !n.length) return []; + var t = 0; + return ( + (n = jt(n, function (n) { + if (Go(n)) return (t = yr(n.length, t)), !0; + })), + Nt(t, function (t) { + return Ot(n, $t(t)); + }) + ); + } + function io(n, t) { + if (!n || !n.length) return []; + var r = uo(n); + return null == t + ? r + : Ot(r, function (n) { + return dt(t, u, n); + }); + } + var oo = Ge(function (n, t) { + return Go(n) ? le(n, t) : []; + }), + fo = Ge(function (n) { + return pu(jt(n, Go)); + }), + ao = Ge(function (n) { + var t = Ji(n); + return Go(t) && (t = u), pu(jt(n, Go), oi(t, 2)); + }), + co = Ge(function (n) { + var t = Ji(n); + return ( + (t = "function" == typeof t ? t : u), pu(jt(n, Go), u, t) + ); + }), + lo = Ge(uo), + so = Ge(function (n) { + var t = n.length, + r = t > 1 ? n[t - 1] : u; + return ( + (r = "function" == typeof r ? (n.pop(), r) : u), io(n, r) + ); + }); + function ho(n) { + var t = Dr(n); + return (t.__chain__ = !0), t; + } + function po(n, t) { + return t(n); + } + var vo = ni(function (n) { + var t = n.length, + r = t ? n[0] : 0, + e = this.__wrapped__, + i = function (t) { + return ie(t, n); + }; + return !(t > 1 || this.__actions__.length) && + e instanceof Pr && + gi(r) + ? ((e = e.slice(r, +r + (t ? 1 : 0))).__actions__.push({ + func: po, + args: [i], + thisArg: u, + }), + new Nr(e, this.__chain__).thru(function (n) { + return t && !n.length && n.push(u), n; + })) + : this.thru(i); + }), + _o = zu(function (n, t, r) { + Ln.call(n, r) ? ++n[r] : ue(n, r, 1); + }), + go = Bu(Pi), + yo = Bu(qi); + function bo(n, t) { + return (Zo(n) ? wt : se)(n, oi(t, 3)); + } + function wo(n, t) { + return (Zo(n) ? mt : he)(n, oi(t, 3)); + } + var mo = zu(function (n, t, r) { + Ln.call(n, r) ? n[r].push(t) : ue(n, r, [t]); + }), + xo = Ge(function (n, t, r) { + var u = -1, + i = "function" == typeof t, + o = Vo(n) ? e(n.length) : []; + return ( + se(n, function (n) { + o[++u] = i ? dt(t, n, r) : ze(n, t, r); + }), + o + ); + }), + jo = zu(function (n, t, r) { + ue(n, r, t); + }); + function Ao(n, t) { + return (Zo(n) ? Ot : Te)(n, oi(t, 3)); + } + var ko = zu( + function (n, t, r) { + n[r ? 0 : 1].push(t); + }, + function () { + return [[], []]; + }, + ), + Oo = Ge(function (n, t) { + if (null == n) return []; + var r = t.length; + return ( + r > 1 && yi(n, t[0], t[1]) + ? (t = []) + : r > 2 && yi(t[0], t[1], t[2]) && (t = [t[0]]), + Ne(n, ge(t, 1), []) + ); + }), + Io = + St || + function () { + return ot.Date.now(); + }; + function Ro(n, t, r) { + return ( + (t = r ? u : t), + (t = n && null == t ? n.length : t), + Hu(n, c, u, u, u, u, t) + ); + } + function zo(n, t) { + var r; + if ("function" != typeof t) throw new Rn(i); + return ( + (n = gf(n)), + function () { + return ( + --n > 0 && (r = t.apply(this, arguments)), + n <= 1 && (t = u), + r + ); + } + ); + } + var Eo = Ge(function (n, t, r) { + var e = 1; + if (r.length) { + var u = rr(r, ii(Eo)); + e |= a; + } + return Hu(n, e, t, r, u); + }), + So = Ge(function (n, t, r) { + var e = 3; + if (r.length) { + var u = rr(r, ii(So)); + e |= a; + } + return Hu(t, e, n, r, u); + }); + function Co(n, t, r) { + var e, + o, + f, + a, + c, + l, + s = 0, + h = !1, + p = !1, + v = !0; + if ("function" != typeof n) throw new Rn(i); + function _(t) { + var r = e, + i = o; + return (e = o = u), (s = t), (a = n.apply(i, r)); + } + function g(n) { + return (s = n), (c = zi(d, t)), h ? _(n) : a; + } + function y(n) { + var r = n - l; + return l === u || r >= t || r < 0 || (p && n - s >= f); + } + function d() { + var n = Io(); + if (y(n)) return b(n); + c = zi( + d, + (function (n) { + var r = t - (n - l); + return p ? dr(r, f - (n - s)) : r; + })(n), + ); + } + function b(n) { + return (c = u), v && e ? _(n) : ((e = o = u), a); + } + function w() { + var n = Io(), + r = y(n); + if (((e = arguments), (o = this), (l = n), r)) { + if (c === u) return g(l); + if (p) return wu(c), (c = zi(d, t)), _(l); + } + return c === u && (c = zi(d, t)), a; + } + return ( + (t = df(t) || 0), + tf(r) && + ((h = !!r.leading), + (f = (p = "maxWait" in r) ? yr(df(r.maxWait) || 0, t) : f), + (v = "trailing" in r ? !!r.trailing : v)), + (w.cancel = function () { + c !== u && wu(c), (s = 0), (e = l = o = c = u); + }), + (w.flush = function () { + return c === u ? a : b(Io()); + }), + w + ); + } + var Wo = Ge(function (n, t) { + return ce(n, 1, t); + }), + Lo = Ge(function (n, t, r) { + return ce(n, df(t) || 0, r); + }); + function Uo(n, t) { + if ( + "function" != typeof n || + (null != t && "function" != typeof t) + ) + throw new Rn(i); + var r = function () { + var e = arguments, + u = t ? t.apply(this, e) : e[0], + i = r.cache; + if (i.has(u)) return i.get(u); + var o = n.apply(this, e); + return (r.cache = i.set(u, o) || i), o; + }; + return (r.cache = new (Uo.Cache || Kr)()), r; + } + function Bo(n) { + if ("function" != typeof n) throw new Rn(i); + return function () { + var t = arguments; + switch (t.length) { + case 0: + return !n.call(this); + case 1: + return !n.call(this, t[0]); + case 2: + return !n.call(this, t[0], t[1]); + case 3: + return !n.call(this, t[0], t[1], t[2]); + } + return !n.apply(this, t); + }; + } + Uo.Cache = Kr; + var To = du(function (n, t) { + var r = (t = + 1 == t.length && Zo(t[0]) + ? Ot(t[0], qt(oi())) + : Ot(ge(t, 1), qt(oi()))).length; + return Ge(function (e) { + for (var u = -1, i = dr(e.length, r); ++u < i; ) + e[u] = t[u].call(this, e[u]); + return dt(n, this, e); + }); + }), + $o = Ge(function (n, t) { + var r = rr(t, ii($o)); + return Hu(n, a, u, t, r); + }), + Do = Ge(function (n, t) { + var r = rr(t, ii(Do)); + return Hu(n, 64, u, t, r); + }), + Mo = ni(function (n, t) { + return Hu(n, 256, u, u, u, t); + }); + function Fo(n, t) { + return n === t || (n != n && t != t); + } + var No = qu(ke), + Po = qu(function (n, t) { + return n >= t; + }), + qo = Ee( + (function () { + return arguments; + })(), + ) + ? Ee + : function (n) { + return ( + rf(n) && Ln.call(n, "callee") && !tt.call(n, "callee") + ); + }, + Zo = e.isArray, + Ko = ht + ? qt(ht) + : function (n) { + return rf(n) && Ae(n) == S; + }; + function Vo(n) { + return null != n && nf(n.length) && !Qo(n); + } + function Go(n) { + return rf(n) && Vo(n); + } + var Ho = pr || da, + Jo = pt + ? qt(pt) + : function (n) { + return rf(n) && Ae(n) == d; + }; + function Yo(n) { + if (!rf(n)) return !1; + var t = Ae(n); + return ( + t == b || + "[object DOMException]" == t || + ("string" == typeof n.message && + "string" == typeof n.name && + !of(n)) + ); + } + function Qo(n) { + if (!tf(n)) return !1; + var t = Ae(n); + return ( + t == w || + t == m || + "[object AsyncFunction]" == t || + "[object Proxy]" == t + ); + } + function Xo(n) { + return "number" == typeof n && n == gf(n); + } + function nf(n) { + return "number" == typeof n && n > -1 && n % 1 == 0 && n <= s; + } + function tf(n) { + var t = typeof n; + return null != n && ("object" == t || "function" == t); + } + function rf(n) { + return null != n && "object" == typeof n; + } + var ef = vt + ? qt(vt) + : function (n) { + return rf(n) && hi(n) == x; + }; + function uf(n) { + return "number" == typeof n || (rf(n) && Ae(n) == j); + } + function of(n) { + if (!rf(n) || Ae(n) != A) return !1; + var t = Vn(n); + if (null === t) return !0; + var r = Ln.call(t, "constructor") && t.constructor; + return ( + "function" == typeof r && r instanceof r && Wn.call(r) == $n + ); + } + var ff = _t + ? qt(_t) + : function (n) { + return rf(n) && Ae(n) == O; + }, + af = gt + ? qt(gt) + : function (n) { + return rf(n) && hi(n) == I; + }; + function cf(n) { + return "string" == typeof n || (!Zo(n) && rf(n) && Ae(n) == R); + } + function lf(n) { + return "symbol" == typeof n || (rf(n) && Ae(n) == z); + } + var sf = yt + ? qt(yt) + : function (n) { + return rf(n) && nf(n.length) && !!Xn[Ae(n)]; + }, + hf = qu(Be), + pf = qu(function (n, t) { + return n <= t; + }); + function vf(n) { + if (!n) return []; + if (Vo(n)) return cf(n) ? or(n) : Iu(n); + if (ft && n[ft]) + return (function (n) { + for (var t, r = []; !(t = n.next()).done; ) r.push(t.value); + return r; + })(n[ft]()); + var t = hi(n); + return (t == x ? nr : t == I ? er : Nf)(n); + } + function _f(n) { + return n + ? (n = df(n)) === l || n === -1 / 0 + ? 17976931348623157e292 * (n < 0 ? -1 : 1) + : n == n + ? n + : 0 + : 0 === n + ? n + : 0; + } + function gf(n) { + var t = _f(n), + r = t % 1; + return t == t ? (r ? t - r : t) : 0; + } + function yf(n) { + return n ? oe(gf(n), 0, p) : 0; + } + function df(n) { + if ("number" == typeof n) return n; + if (lf(n)) return h; + if (tf(n)) { + var t = "function" == typeof n.valueOf ? n.valueOf() : n; + n = tf(t) ? t + "" : t; + } + if ("string" != typeof n) return 0 === n ? n : +n; + n = Pt(n); + var r = _n.test(n); + return r || yn.test(n) + ? et(n.slice(2), r ? 2 : 8) + : vn.test(n) + ? h + : +n; + } + function bf(n) { + return Ru(n, Lf(n)); + } + function wf(n) { + return null == n ? "" : fu(n); + } + var mf = Eu(function (n, t) { + if (mi(t) || Vo(t)) Ru(t, Wf(t), n); + else for (var r in t) Ln.call(t, r) && ne(n, r, t[r]); + }), + xf = Eu(function (n, t) { + Ru(t, Lf(t), n); + }), + jf = Eu(function (n, t, r, e) { + Ru(t, Lf(t), n, e); + }), + Af = Eu(function (n, t, r, e) { + Ru(t, Wf(t), n, e); + }), + kf = ni(ie), + Of = Ge(function (n, t) { + n = kn(n); + var r = -1, + e = t.length, + i = e > 2 ? t[2] : u; + for (i && yi(t[0], t[1], i) && (e = 1); ++r < e; ) + for ( + var o = t[r], f = Lf(o), a = -1, c = f.length; + ++a < c; + + ) { + var l = f[a], + s = n[l]; + (s === u || (Fo(s, Sn[l]) && !Ln.call(n, l))) && + (n[l] = o[l]); + } + return n; + }), + If = Ge(function (n) { + return n.push(u, Yu), dt(Bf, u, n); + }); + function Rf(n, t, r) { + var e = null == n ? u : xe(n, t); + return e === u ? r : e; + } + function zf(n, t) { + return null != n && pi(n, t, Ie); + } + var Ef = Du(function (n, t, r) { + null != t && + "function" != typeof t.toString && + (t = Tn.call(t)), + (n[t] = r); + }, ra(ia)), + Sf = Du(function (n, t, r) { + null != t && + "function" != typeof t.toString && + (t = Tn.call(t)), + Ln.call(n, t) ? n[t].push(r) : (n[t] = [r]); + }, oi), + Cf = Ge(ze); + function Wf(n) { + return Vo(n) ? Hr(n) : Ue(n); + } + function Lf(n) { + return Vo(n) + ? Hr(n, !0) + : (function (n) { + if (!tf(n)) + return (function (n) { + var t = []; + if (null != n) for (var r in kn(n)) t.push(r); + return t; + })(n); + var t = mi(n), + r = []; + for (var e in n) + ("constructor" != e || (!t && Ln.call(n, e))) && + r.push(e); + return r; + })(n); + } + var Uf = Eu(function (n, t, r) { + Me(n, t, r); + }), + Bf = Eu(function (n, t, r, e) { + Me(n, t, r, e); + }), + Tf = ni(function (n, t) { + var r = {}; + if (null == n) return r; + var e = !1; + (t = Ot(t, function (t) { + return (t = yu(t, n)), e || (e = t.length > 1), t; + })), + Ru(n, ri(n), r), + e && (r = fe(r, 7, Qu)); + for (var u = t.length; u--; ) cu(r, t[u]); + return r; + }), + $f = ni(function (n, t) { + return null == n + ? {} + : (function (n, t) { + return Pe(n, t, function (t, r) { + return zf(n, r); + }); + })(n, t); + }); + function Df(n, t) { + if (null == n) return {}; + var r = Ot(ri(n), function (n) { + return [n]; + }); + return ( + (t = oi(t)), + Pe(n, r, function (n, r) { + return t(n, r[0]); + }) + ); + } + var Mf = Gu(Wf), + Ff = Gu(Lf); + function Nf(n) { + return null == n ? [] : Zt(n, Wf(n)); + } + var Pf = Lu(function (n, t, r) { + return (t = t.toLowerCase()), n + (r ? qf(t) : t); + }); + function qf(n) { + return Qf(wf(n).toLowerCase()); + } + function Zf(n) { + return (n = wf(n)) && n.replace(bn, Jt).replace(Kn, ""); + } + var Kf = Lu(function (n, t, r) { + return n + (r ? "-" : "") + t.toLowerCase(); + }), + Vf = Lu(function (n, t, r) { + return n + (r ? " " : "") + t.toLowerCase(); + }), + Gf = Wu("toLowerCase"), + Hf = Lu(function (n, t, r) { + return n + (r ? "_" : "") + t.toLowerCase(); + }), + Jf = Lu(function (n, t, r) { + return n + (r ? " " : "") + Qf(t); + }), + Yf = Lu(function (n, t, r) { + return n + (r ? " " : "") + t.toUpperCase(); + }), + Qf = Wu("toUpperCase"); + function Xf(n, t, r) { + return ( + (n = wf(n)), + (t = r ? u : t) === u + ? (function (n) { + return Jn.test(n); + })(n) + ? (function (n) { + return n.match(Gn) || []; + })(n) + : (function (n) { + return n.match(cn) || []; + })(n) + : n.match(t) || [] + ); + } + var na = Ge(function (n, t) { + try { + return dt(n, u, t); + } catch (n) { + return Yo(n) ? n : new xn(n); + } + }), + ta = ni(function (n, t) { + return ( + wt(t, function (t) { + (t = Ti(t)), ue(n, t, Eo(n[t], n)); + }), + n + ); + }); + function ra(n) { + return function () { + return n; + }; + } + var ea = Tu(), + ua = Tu(!0); + function ia(n) { + return n; + } + function oa(n) { + return Le("function" == typeof n ? n : fe(n, 1)); + } + var fa = Ge(function (n, t) { + return function (r) { + return ze(r, n, t); + }; + }), + aa = Ge(function (n, t) { + return function (r) { + return ze(n, r, t); + }; + }); + function ca(n, t, r) { + var e = Wf(t), + u = me(t, e); + null != r || + (tf(t) && (u.length || !e.length)) || + ((r = t), (t = n), (n = this), (u = me(t, Wf(t)))); + var i = !(tf(r) && "chain" in r && !r.chain), + o = Qo(n); + return ( + wt(u, function (r) { + var e = t[r]; + (n[r] = e), + o && + (n.prototype[r] = function () { + var t = this.__chain__; + if (i || t) { + var r = n(this.__wrapped__), + u = (r.__actions__ = Iu(this.__actions__)); + return ( + u.push({ func: e, args: arguments, thisArg: n }), + (r.__chain__ = t), + r + ); + } + return e.apply(n, It([this.value()], arguments)); + }); + }), + n + ); + } + function la() {} + var sa = Fu(Ot), + ha = Fu(xt), + pa = Fu(Et); + function va(n) { + return di(n) + ? $t(Ti(n)) + : (function (n) { + return function (t) { + return xe(t, n); + }; + })(n); + } + var _a = Pu(), + ga = Pu(!0); + function ya() { + return []; + } + function da() { + return !1; + } + var ba, + wa = Mu(function (n, t) { + return n + t; + }, 0), + ma = Ku("ceil"), + xa = Mu(function (n, t) { + return n / t; + }, 1), + ja = Ku("floor"), + Aa = Mu(function (n, t) { + return n * t; + }, 1), + ka = Ku("round"), + Oa = Mu(function (n, t) { + return n - t; + }, 0); + return ( + (Dr.after = function (n, t) { + if ("function" != typeof t) throw new Rn(i); + return ( + (n = gf(n)), + function () { + if (--n < 1) return t.apply(this, arguments); + } + ); + }), + (Dr.ary = Ro), + (Dr.assign = mf), + (Dr.assignIn = xf), + (Dr.assignInWith = jf), + (Dr.assignWith = Af), + (Dr.at = kf), + (Dr.before = zo), + (Dr.bind = Eo), + (Dr.bindAll = ta), + (Dr.bindKey = So), + (Dr.castArray = function () { + if (!arguments.length) return []; + var n = arguments[0]; + return Zo(n) ? n : [n]; + }), + (Dr.chain = ho), + (Dr.chunk = function (n, t, r) { + t = (r ? yi(n, t, r) : t === u) ? 1 : yr(gf(t), 0); + var i = null == n ? 0 : n.length; + if (!i || t < 1) return []; + for (var o = 0, f = 0, a = e(lr(i / t)); o < i; ) + a[f++] = tu(n, o, (o += t)); + return a; + }), + (Dr.compact = function (n) { + for ( + var t = -1, r = null == n ? 0 : n.length, e = 0, u = []; + ++t < r; + + ) { + var i = n[t]; + i && (u[e++] = i); + } + return u; + }), + (Dr.concat = function () { + var n = arguments.length; + if (!n) return []; + for (var t = e(n - 1), r = arguments[0], u = n; u--; ) + t[u - 1] = arguments[u]; + return It(Zo(r) ? Iu(r) : [r], ge(t, 1)); + }), + (Dr.cond = function (n) { + var t = null == n ? 0 : n.length, + r = oi(); + return ( + (n = t + ? Ot(n, function (n) { + if ("function" != typeof n[1]) throw new Rn(i); + return [r(n[0]), n[1]]; + }) + : []), + Ge(function (r) { + for (var e = -1; ++e < t; ) { + var u = n[e]; + if (dt(u[0], this, r)) return dt(u[1], this, r); + } + }) + ); + }), + (Dr.conforms = function (n) { + return (function (n) { + var t = Wf(n); + return function (r) { + return ae(r, n, t); + }; + })(fe(n, 1)); + }), + (Dr.constant = ra), + (Dr.countBy = _o), + (Dr.create = function (n, t) { + var r = Mr(n); + return null == t ? r : ee(r, t); + }), + (Dr.curry = function n(t, r, e) { + var i = Hu(t, 8, u, u, u, u, u, (r = e ? u : r)); + return (i.placeholder = n.placeholder), i; + }), + (Dr.curryRight = function n(t, r, e) { + var i = Hu(t, 16, u, u, u, u, u, (r = e ? u : r)); + return (i.placeholder = n.placeholder), i; + }), + (Dr.debounce = Co), + (Dr.defaults = Of), + (Dr.defaultsDeep = If), + (Dr.defer = Wo), + (Dr.delay = Lo), + (Dr.difference = Mi), + (Dr.differenceBy = Fi), + (Dr.differenceWith = Ni), + (Dr.drop = function (n, t, r) { + var e = null == n ? 0 : n.length; + return e + ? tu(n, (t = r || t === u ? 1 : gf(t)) < 0 ? 0 : t, e) + : []; + }), + (Dr.dropRight = function (n, t, r) { + var e = null == n ? 0 : n.length; + return e + ? tu( + n, + 0, + (t = e - (t = r || t === u ? 1 : gf(t))) < 0 ? 0 : t, + ) + : []; + }), + (Dr.dropRightWhile = function (n, t) { + return n && n.length ? su(n, oi(t, 3), !0, !0) : []; + }), + (Dr.dropWhile = function (n, t) { + return n && n.length ? su(n, oi(t, 3), !0) : []; + }), + (Dr.fill = function (n, t, r, e) { + var i = null == n ? 0 : n.length; + return i + ? (r && + "number" != typeof r && + yi(n, t, r) && + ((r = 0), (e = i)), + (function (n, t, r, e) { + var i = n.length; + for ( + (r = gf(r)) < 0 && (r = -r > i ? 0 : i + r), + (e = e === u || e > i ? i : gf(e)) < 0 && (e += i), + e = r > e ? 0 : yf(e); + r < e; + + ) + n[r++] = t; + return n; + })(n, t, r, e)) + : []; + }), + (Dr.filter = function (n, t) { + return (Zo(n) ? jt : _e)(n, oi(t, 3)); + }), + (Dr.flatMap = function (n, t) { + return ge(Ao(n, t), 1); + }), + (Dr.flatMapDeep = function (n, t) { + return ge(Ao(n, t), l); + }), + (Dr.flatMapDepth = function (n, t, r) { + return (r = r === u ? 1 : gf(r)), ge(Ao(n, t), r); + }), + (Dr.flatten = Zi), + (Dr.flattenDeep = function (n) { + return null != n && n.length ? ge(n, l) : []; + }), + (Dr.flattenDepth = function (n, t) { + return null != n && n.length + ? ge(n, (t = t === u ? 1 : gf(t))) + : []; + }), + (Dr.flip = function (n) { + return Hu(n, 512); + }), + (Dr.flow = ea), + (Dr.flowRight = ua), + (Dr.fromPairs = function (n) { + for ( + var t = -1, r = null == n ? 0 : n.length, e = {}; + ++t < r; + + ) { + var u = n[t]; + e[u[0]] = u[1]; + } + return e; + }), + (Dr.functions = function (n) { + return null == n ? [] : me(n, Wf(n)); + }), + (Dr.functionsIn = function (n) { + return null == n ? [] : me(n, Lf(n)); + }), + (Dr.groupBy = mo), + (Dr.initial = function (n) { + return null != n && n.length ? tu(n, 0, -1) : []; + }), + (Dr.intersection = Vi), + (Dr.intersectionBy = Gi), + (Dr.intersectionWith = Hi), + (Dr.invert = Ef), + (Dr.invertBy = Sf), + (Dr.invokeMap = xo), + (Dr.iteratee = oa), + (Dr.keyBy = jo), + (Dr.keys = Wf), + (Dr.keysIn = Lf), + (Dr.map = Ao), + (Dr.mapKeys = function (n, t) { + var r = {}; + return ( + (t = oi(t, 3)), + be(n, function (n, e, u) { + ue(r, t(n, e, u), n); + }), + r + ); + }), + (Dr.mapValues = function (n, t) { + var r = {}; + return ( + (t = oi(t, 3)), + be(n, function (n, e, u) { + ue(r, e, t(n, e, u)); + }), + r + ); + }), + (Dr.matches = function (n) { + return $e(fe(n, 1)); + }), + (Dr.matchesProperty = function (n, t) { + return De(n, fe(t, 1)); + }), + (Dr.memoize = Uo), + (Dr.merge = Uf), + (Dr.mergeWith = Bf), + (Dr.method = fa), + (Dr.methodOf = aa), + (Dr.mixin = ca), + (Dr.negate = Bo), + (Dr.nthArg = function (n) { + return ( + (n = gf(n)), + Ge(function (t) { + return Fe(t, n); + }) + ); + }), + (Dr.omit = Tf), + (Dr.omitBy = function (n, t) { + return Df(n, Bo(oi(t))); + }), + (Dr.once = function (n) { + return zo(2, n); + }), + (Dr.orderBy = function (n, t, r, e) { + return null == n + ? [] + : (Zo(t) || (t = null == t ? [] : [t]), + Zo((r = e ? u : r)) || (r = null == r ? [] : [r]), + Ne(n, t, r)); + }), + (Dr.over = sa), + (Dr.overArgs = To), + (Dr.overEvery = ha), + (Dr.overSome = pa), + (Dr.partial = $o), + (Dr.partialRight = Do), + (Dr.partition = ko), + (Dr.pick = $f), + (Dr.pickBy = Df), + (Dr.property = va), + (Dr.propertyOf = function (n) { + return function (t) { + return null == n ? u : xe(n, t); + }; + }), + (Dr.pull = Yi), + (Dr.pullAll = Qi), + (Dr.pullAllBy = function (n, t, r) { + return n && n.length && t && t.length + ? qe(n, t, oi(r, 2)) + : n; + }), + (Dr.pullAllWith = function (n, t, r) { + return n && n.length && t && t.length ? qe(n, t, u, r) : n; + }), + (Dr.pullAt = Xi), + (Dr.range = _a), + (Dr.rangeRight = ga), + (Dr.rearg = Mo), + (Dr.reject = function (n, t) { + return (Zo(n) ? jt : _e)(n, Bo(oi(t, 3))); + }), + (Dr.remove = function (n, t) { + var r = []; + if (!n || !n.length) return r; + var e = -1, + u = [], + i = n.length; + for (t = oi(t, 3); ++e < i; ) { + var o = n[e]; + t(o, e, n) && (r.push(o), u.push(e)); + } + return Ze(n, u), r; + }), + (Dr.rest = function (n, t) { + if ("function" != typeof n) throw new Rn(i); + return Ge(n, (t = t === u ? t : gf(t))); + }), + (Dr.reverse = no), + (Dr.sampleSize = function (n, t, r) { + return ( + (t = (r ? yi(n, t, r) : t === u) ? 1 : gf(t)), + (Zo(n) ? Yr : Je)(n, t) + ); + }), + (Dr.set = function (n, t, r) { + return null == n ? n : Ye(n, t, r); + }), + (Dr.setWith = function (n, t, r, e) { + return ( + (e = "function" == typeof e ? e : u), + null == n ? n : Ye(n, t, r, e) + ); + }), + (Dr.shuffle = function (n) { + return (Zo(n) ? Qr : nu)(n); + }), + (Dr.slice = function (n, t, r) { + var e = null == n ? 0 : n.length; + return e + ? (r && "number" != typeof r && yi(n, t, r) + ? ((t = 0), (r = e)) + : ((t = null == t ? 0 : gf(t)), + (r = r === u ? e : gf(r))), + tu(n, t, r)) + : []; + }), + (Dr.sortBy = Oo), + (Dr.sortedUniq = function (n) { + return n && n.length ? iu(n) : []; + }), + (Dr.sortedUniqBy = function (n, t) { + return n && n.length ? iu(n, oi(t, 2)) : []; + }), + (Dr.split = function (n, t, r) { + return ( + r && "number" != typeof r && yi(n, t, r) && (t = r = u), + (r = r === u ? p : r >>> 0) + ? (n = wf(n)) && + ("string" == typeof t || (null != t && !ff(t))) && + !(t = fu(t)) && + Xt(n) + ? bu(or(n), 0, r) + : n.split(t, r) + : [] + ); + }), + (Dr.spread = function (n, t) { + if ("function" != typeof n) throw new Rn(i); + return ( + (t = null == t ? 0 : yr(gf(t), 0)), + Ge(function (r) { + var e = r[t], + u = bu(r, 0, t); + return e && It(u, e), dt(n, this, u); + }) + ); + }), + (Dr.tail = function (n) { + var t = null == n ? 0 : n.length; + return t ? tu(n, 1, t) : []; + }), + (Dr.take = function (n, t, r) { + return n && n.length + ? tu(n, 0, (t = r || t === u ? 1 : gf(t)) < 0 ? 0 : t) + : []; + }), + (Dr.takeRight = function (n, t, r) { + var e = null == n ? 0 : n.length; + return e + ? tu( + n, + (t = e - (t = r || t === u ? 1 : gf(t))) < 0 ? 0 : t, + e, + ) + : []; + }), + (Dr.takeRightWhile = function (n, t) { + return n && n.length ? su(n, oi(t, 3), !1, !0) : []; + }), + (Dr.takeWhile = function (n, t) { + return n && n.length ? su(n, oi(t, 3)) : []; + }), + (Dr.tap = function (n, t) { + return t(n), n; + }), + (Dr.throttle = function (n, t, r) { + var e = !0, + u = !0; + if ("function" != typeof n) throw new Rn(i); + return ( + tf(r) && + ((e = "leading" in r ? !!r.leading : e), + (u = "trailing" in r ? !!r.trailing : u)), + Co(n, t, { leading: e, maxWait: t, trailing: u }) + ); + }), + (Dr.thru = po), + (Dr.toArray = vf), + (Dr.toPairs = Mf), + (Dr.toPairsIn = Ff), + (Dr.toPath = function (n) { + return Zo(n) ? Ot(n, Ti) : lf(n) ? [n] : Iu(Bi(wf(n))); + }), + (Dr.toPlainObject = bf), + (Dr.transform = function (n, t, r) { + var e = Zo(n), + u = e || Ho(n) || sf(n); + if (((t = oi(t, 4)), null == r)) { + var i = n && n.constructor; + r = u + ? e + ? new i() + : [] + : tf(n) && Qo(i) + ? Mr(Vn(n)) + : {}; + } + return ( + (u ? wt : be)(n, function (n, e, u) { + return t(r, n, e, u); + }), + r + ); + }), + (Dr.unary = function (n) { + return Ro(n, 1); + }), + (Dr.union = to), + (Dr.unionBy = ro), + (Dr.unionWith = eo), + (Dr.uniq = function (n) { + return n && n.length ? au(n) : []; + }), + (Dr.uniqBy = function (n, t) { + return n && n.length ? au(n, oi(t, 2)) : []; + }), + (Dr.uniqWith = function (n, t) { + return ( + (t = "function" == typeof t ? t : u), + n && n.length ? au(n, u, t) : [] + ); + }), + (Dr.unset = function (n, t) { + return null == n || cu(n, t); + }), + (Dr.unzip = uo), + (Dr.unzipWith = io), + (Dr.update = function (n, t, r) { + return null == n ? n : lu(n, t, gu(r)); + }), + (Dr.updateWith = function (n, t, r, e) { + return ( + (e = "function" == typeof e ? e : u), + null == n ? n : lu(n, t, gu(r), e) + ); + }), + (Dr.values = Nf), + (Dr.valuesIn = function (n) { + return null == n ? [] : Zt(n, Lf(n)); + }), + (Dr.without = oo), + (Dr.words = Xf), + (Dr.wrap = function (n, t) { + return $o(gu(t), n); + }), + (Dr.xor = fo), + (Dr.xorBy = ao), + (Dr.xorWith = co), + (Dr.zip = lo), + (Dr.zipObject = function (n, t) { + return vu(n || [], t || [], ne); + }), + (Dr.zipObjectDeep = function (n, t) { + return vu(n || [], t || [], Ye); + }), + (Dr.zipWith = so), + (Dr.entries = Mf), + (Dr.entriesIn = Ff), + (Dr.extend = xf), + (Dr.extendWith = jf), + ca(Dr, Dr), + (Dr.add = wa), + (Dr.attempt = na), + (Dr.camelCase = Pf), + (Dr.capitalize = qf), + (Dr.ceil = ma), + (Dr.clamp = function (n, t, r) { + return ( + r === u && ((r = t), (t = u)), + r !== u && (r = (r = df(r)) == r ? r : 0), + t !== u && (t = (t = df(t)) == t ? t : 0), + oe(df(n), t, r) + ); + }), + (Dr.clone = function (n) { + return fe(n, 4); + }), + (Dr.cloneDeep = function (n) { + return fe(n, 5); + }), + (Dr.cloneDeepWith = function (n, t) { + return fe(n, 5, (t = "function" == typeof t ? t : u)); + }), + (Dr.cloneWith = function (n, t) { + return fe(n, 4, (t = "function" == typeof t ? t : u)); + }), + (Dr.conformsTo = function (n, t) { + return null == t || ae(n, t, Wf(t)); + }), + (Dr.deburr = Zf), + (Dr.defaultTo = function (n, t) { + return null == n || n != n ? t : n; + }), + (Dr.divide = xa), + (Dr.endsWith = function (n, t, r) { + (n = wf(n)), (t = fu(t)); + var e = n.length, + i = (r = r === u ? e : oe(gf(r), 0, e)); + return (r -= t.length) >= 0 && n.slice(r, i) == t; + }), + (Dr.eq = Fo), + (Dr.escape = function (n) { + return (n = wf(n)) && G.test(n) ? n.replace(K, Yt) : n; + }), + (Dr.escapeRegExp = function (n) { + return (n = wf(n)) && rn.test(n) ? n.replace(tn, "\\$&") : n; + }), + (Dr.every = function (n, t, r) { + var e = Zo(n) ? xt : pe; + return r && yi(n, t, r) && (t = u), e(n, oi(t, 3)); + }), + (Dr.find = go), + (Dr.findIndex = Pi), + (Dr.findKey = function (n, t) { + return Ct(n, oi(t, 3), be); + }), + (Dr.findLast = yo), + (Dr.findLastIndex = qi), + (Dr.findLastKey = function (n, t) { + return Ct(n, oi(t, 3), we); + }), + (Dr.floor = ja), + (Dr.forEach = bo), + (Dr.forEachRight = wo), + (Dr.forIn = function (n, t) { + return null == n ? n : ye(n, oi(t, 3), Lf); + }), + (Dr.forInRight = function (n, t) { + return null == n ? n : de(n, oi(t, 3), Lf); + }), + (Dr.forOwn = function (n, t) { + return n && be(n, oi(t, 3)); + }), + (Dr.forOwnRight = function (n, t) { + return n && we(n, oi(t, 3)); + }), + (Dr.get = Rf), + (Dr.gt = No), + (Dr.gte = Po), + (Dr.has = function (n, t) { + return null != n && pi(n, t, Oe); + }), + (Dr.hasIn = zf), + (Dr.head = Ki), + (Dr.identity = ia), + (Dr.includes = function (n, t, r, e) { + (n = Vo(n) ? n : Nf(n)), (r = r && !e ? gf(r) : 0); + var u = n.length; + return ( + r < 0 && (r = yr(u + r, 0)), + cf(n) + ? r <= u && n.indexOf(t, r) > -1 + : !!u && Lt(n, t, r) > -1 + ); + }), + (Dr.indexOf = function (n, t, r) { + var e = null == n ? 0 : n.length; + if (!e) return -1; + var u = null == r ? 0 : gf(r); + return u < 0 && (u = yr(e + u, 0)), Lt(n, t, u); + }), + (Dr.inRange = function (n, t, r) { + return ( + (t = _f(t)), + r === u ? ((r = t), (t = 0)) : (r = _f(r)), + (function (n, t, r) { + return n >= dr(t, r) && n < yr(t, r); + })((n = df(n)), t, r) + ); + }), + (Dr.invoke = Cf), + (Dr.isArguments = qo), + (Dr.isArray = Zo), + (Dr.isArrayBuffer = Ko), + (Dr.isArrayLike = Vo), + (Dr.isArrayLikeObject = Go), + (Dr.isBoolean = function (n) { + return !0 === n || !1 === n || (rf(n) && Ae(n) == y); + }), + (Dr.isBuffer = Ho), + (Dr.isDate = Jo), + (Dr.isElement = function (n) { + return rf(n) && 1 === n.nodeType && !of(n); + }), + (Dr.isEmpty = function (n) { + if (null == n) return !0; + if ( + Vo(n) && + (Zo(n) || + "string" == typeof n || + "function" == typeof n.splice || + Ho(n) || + sf(n) || + qo(n)) + ) + return !n.length; + var t = hi(n); + if (t == x || t == I) return !n.size; + if (mi(n)) return !Ue(n).length; + for (var r in n) if (Ln.call(n, r)) return !1; + return !0; + }), + (Dr.isEqual = function (n, t) { + return Se(n, t); + }), + (Dr.isEqualWith = function (n, t, r) { + var e = (r = "function" == typeof r ? r : u) ? r(n, t) : u; + return e === u ? Se(n, t, u, r) : !!e; + }), + (Dr.isError = Yo), + (Dr.isFinite = function (n) { + return "number" == typeof n && vr(n); + }), + (Dr.isFunction = Qo), + (Dr.isInteger = Xo), + (Dr.isLength = nf), + (Dr.isMap = ef), + (Dr.isMatch = function (n, t) { + return n === t || Ce(n, t, ai(t)); + }), + (Dr.isMatchWith = function (n, t, r) { + return ( + (r = "function" == typeof r ? r : u), Ce(n, t, ai(t), r) + ); + }), + (Dr.isNaN = function (n) { + return uf(n) && n != +n; + }), + (Dr.isNative = function (n) { + if (wi(n)) + throw new xn( + "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", + ); + return We(n); + }), + (Dr.isNil = function (n) { + return null == n; + }), + (Dr.isNull = function (n) { + return null === n; + }), + (Dr.isNumber = uf), + (Dr.isObject = tf), + (Dr.isObjectLike = rf), + (Dr.isPlainObject = of), + (Dr.isRegExp = ff), + (Dr.isSafeInteger = function (n) { + return Xo(n) && n >= -9007199254740991 && n <= s; + }), + (Dr.isSet = af), + (Dr.isString = cf), + (Dr.isSymbol = lf), + (Dr.isTypedArray = sf), + (Dr.isUndefined = function (n) { + return n === u; + }), + (Dr.isWeakMap = function (n) { + return rf(n) && hi(n) == E; + }), + (Dr.isWeakSet = function (n) { + return rf(n) && "[object WeakSet]" == Ae(n); + }), + (Dr.join = function (n, t) { + return null == n ? "" : _r.call(n, t); + }), + (Dr.kebabCase = Kf), + (Dr.last = Ji), + (Dr.lastIndexOf = function (n, t, r) { + var e = null == n ? 0 : n.length; + if (!e) return -1; + var i = e; + return ( + r !== u && + (i = (i = gf(r)) < 0 ? yr(e + i, 0) : dr(i, e - 1)), + t == t + ? (function (n, t, r) { + for (var e = r + 1; e--; ) if (n[e] === t) return e; + return e; + })(n, t, i) + : Wt(n, Bt, i, !0) + ); + }), + (Dr.lowerCase = Vf), + (Dr.lowerFirst = Gf), + (Dr.lt = hf), + (Dr.lte = pf), + (Dr.max = function (n) { + return n && n.length ? ve(n, ia, ke) : u; + }), + (Dr.maxBy = function (n, t) { + return n && n.length ? ve(n, oi(t, 2), ke) : u; + }), + (Dr.mean = function (n) { + return Tt(n, ia); + }), + (Dr.meanBy = function (n, t) { + return Tt(n, oi(t, 2)); + }), + (Dr.min = function (n) { + return n && n.length ? ve(n, ia, Be) : u; + }), + (Dr.minBy = function (n, t) { + return n && n.length ? ve(n, oi(t, 2), Be) : u; + }), + (Dr.stubArray = ya), + (Dr.stubFalse = da), + (Dr.stubObject = function () { + return {}; + }), + (Dr.stubString = function () { + return ""; + }), + (Dr.stubTrue = function () { + return !0; + }), + (Dr.multiply = Aa), + (Dr.nth = function (n, t) { + return n && n.length ? Fe(n, gf(t)) : u; + }), + (Dr.noConflict = function () { + return ot._ === this && (ot._ = Dn), this; + }), + (Dr.noop = la), + (Dr.now = Io), + (Dr.pad = function (n, t, r) { + n = wf(n); + var e = (t = gf(t)) ? ir(n) : 0; + if (!t || e >= t) return n; + var u = (t - e) / 2; + return Nu(sr(u), r) + n + Nu(lr(u), r); + }), + (Dr.padEnd = function (n, t, r) { + n = wf(n); + var e = (t = gf(t)) ? ir(n) : 0; + return t && e < t ? n + Nu(t - e, r) : n; + }), + (Dr.padStart = function (n, t, r) { + n = wf(n); + var e = (t = gf(t)) ? ir(n) : 0; + return t && e < t ? Nu(t - e, r) + n : n; + }), + (Dr.parseInt = function (n, t, r) { + return ( + r || null == t ? (t = 0) : t && (t = +t), + wr(wf(n).replace(en, ""), t || 0) + ); + }), + (Dr.random = function (n, t, r) { + if ( + (r && "boolean" != typeof r && yi(n, t, r) && (t = r = u), + r === u && + ("boolean" == typeof t + ? ((r = t), (t = u)) + : "boolean" == typeof n && ((r = n), (n = u))), + n === u && t === u + ? ((n = 0), (t = 1)) + : ((n = _f(n)), + t === u ? ((t = n), (n = 0)) : (t = _f(t))), + n > t) + ) { + var e = n; + (n = t), (t = e); + } + if (r || n % 1 || t % 1) { + var i = mr(); + return dr( + n + i * (t - n + rt("1e-" + ((i + "").length - 1))), + t, + ); + } + return Ke(n, t); + }), + (Dr.reduce = function (n, t, r) { + var e = Zo(n) ? Rt : Mt, + u = arguments.length < 3; + return e(n, oi(t, 4), r, u, se); + }), + (Dr.reduceRight = function (n, t, r) { + var e = Zo(n) ? zt : Mt, + u = arguments.length < 3; + return e(n, oi(t, 4), r, u, he); + }), + (Dr.repeat = function (n, t, r) { + return ( + (t = (r ? yi(n, t, r) : t === u) ? 1 : gf(t)), Ve(wf(n), t) + ); + }), + (Dr.replace = function () { + var n = arguments, + t = wf(n[0]); + return n.length < 3 ? t : t.replace(n[1], n[2]); + }), + (Dr.result = function (n, t, r) { + var e = -1, + i = (t = yu(t, n)).length; + for (i || ((i = 1), (n = u)); ++e < i; ) { + var o = null == n ? u : n[Ti(t[e])]; + o === u && ((e = i), (o = r)), (n = Qo(o) ? o.call(n) : o); + } + return n; + }), + (Dr.round = ka), + (Dr.runInContext = n), + (Dr.sample = function (n) { + return (Zo(n) ? Jr : He)(n); + }), + (Dr.size = function (n) { + if (null == n) return 0; + if (Vo(n)) return cf(n) ? ir(n) : n.length; + var t = hi(n); + return t == x || t == I ? n.size : Ue(n).length; + }), + (Dr.snakeCase = Hf), + (Dr.some = function (n, t, r) { + var e = Zo(n) ? Et : ru; + return r && yi(n, t, r) && (t = u), e(n, oi(t, 3)); + }), + (Dr.sortedIndex = function (n, t) { + return eu(n, t); + }), + (Dr.sortedIndexBy = function (n, t, r) { + return uu(n, t, oi(r, 2)); + }), + (Dr.sortedIndexOf = function (n, t) { + var r = null == n ? 0 : n.length; + if (r) { + var e = eu(n, t); + if (e < r && Fo(n[e], t)) return e; + } + return -1; + }), + (Dr.sortedLastIndex = function (n, t) { + return eu(n, t, !0); + }), + (Dr.sortedLastIndexBy = function (n, t, r) { + return uu(n, t, oi(r, 2), !0); + }), + (Dr.sortedLastIndexOf = function (n, t) { + if (null != n && n.length) { + var r = eu(n, t, !0) - 1; + if (Fo(n[r], t)) return r; + } + return -1; + }), + (Dr.startCase = Jf), + (Dr.startsWith = function (n, t, r) { + return ( + (n = wf(n)), + (r = null == r ? 0 : oe(gf(r), 0, n.length)), + (t = fu(t)), + n.slice(r, r + t.length) == t + ); + }), + (Dr.subtract = Oa), + (Dr.sum = function (n) { + return n && n.length ? Ft(n, ia) : 0; + }), + (Dr.sumBy = function (n, t) { + return n && n.length ? Ft(n, oi(t, 2)) : 0; + }), + (Dr.template = function (n, t, r) { + var e = Dr.templateSettings; + r && yi(n, t, r) && (t = u), + (n = wf(n)), + (t = jf({}, t, e, Ju)); + var i, + o, + f = jf({}, t.imports, e.imports, Ju), + a = Wf(f), + c = Zt(f, a), + l = 0, + s = t.interpolate || wn, + h = "__p += '", + p = On( + (t.escape || wn).source + + "|" + + s.source + + "|" + + (s === Y ? hn : wn).source + + "|" + + (t.evaluate || wn).source + + "|$", + "g", + ), + v = + "//# sourceURL=" + + (Ln.call(t, "sourceURL") + ? (t.sourceURL + "").replace(/\s/g, " ") + : "lodash.templateSources[" + ++Qn + "]") + + "\n"; + n.replace(p, function (t, r, e, u, f, a) { + return ( + e || (e = u), + (h += n.slice(l, a).replace(mn, Qt)), + r && ((i = !0), (h += "' +\n__e(" + r + ") +\n'")), + f && ((o = !0), (h += "';\n" + f + ";\n__p += '")), + e && + (h += + "' +\n((__t = (" + e + ")) == null ? '' : __t) +\n'"), + (l = a + t.length), + t + ); + }), + (h += "';\n"); + var _ = Ln.call(t, "variable") && t.variable; + if (_) { + if (ln.test(_)) + throw new xn( + "Invalid `variable` option passed into `_.template`", + ); + } else h = "with (obj) {\n" + h + "\n}\n"; + (h = (o ? h.replace(N, "") : h) + .replace(P, "$1") + .replace(q, "$1;")), + (h = + "function(" + + (_ || "obj") + + ") {\n" + + (_ ? "" : "obj || (obj = {});\n") + + "var __t, __p = ''" + + (i ? ", __e = _.escape" : "") + + (o + ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n" + : ";\n") + + h + + "return __p\n}"); + var g = na(function () { + return jn(a, v + "return " + h).apply(u, c); + }); + if (((g.source = h), Yo(g))) throw g; + return g; + }), + (Dr.times = function (n, t) { + if ((n = gf(n)) < 1 || n > s) return []; + var r = p, + e = dr(n, p); + (t = oi(t)), (n -= p); + for (var u = Nt(e, t); ++r < n; ) t(r); + return u; + }), + (Dr.toFinite = _f), + (Dr.toInteger = gf), + (Dr.toLength = yf), + (Dr.toLower = function (n) { + return wf(n).toLowerCase(); + }), + (Dr.toNumber = df), + (Dr.toSafeInteger = function (n) { + return n ? oe(gf(n), -9007199254740991, s) : 0 === n ? n : 0; + }), + (Dr.toString = wf), + (Dr.toUpper = function (n) { + return wf(n).toUpperCase(); + }), + (Dr.trim = function (n, t, r) { + if ((n = wf(n)) && (r || t === u)) return Pt(n); + if (!n || !(t = fu(t))) return n; + var e = or(n), + i = or(t); + return bu(e, Vt(e, i), Gt(e, i) + 1).join(""); + }), + (Dr.trimEnd = function (n, t, r) { + if ((n = wf(n)) && (r || t === u)) + return n.slice(0, fr(n) + 1); + if (!n || !(t = fu(t))) return n; + var e = or(n); + return bu(e, 0, Gt(e, or(t)) + 1).join(""); + }), + (Dr.trimStart = function (n, t, r) { + if ((n = wf(n)) && (r || t === u)) return n.replace(en, ""); + if (!n || !(t = fu(t))) return n; + var e = or(n); + return bu(e, Vt(e, or(t))).join(""); + }), + (Dr.truncate = function (n, t) { + var r = 30, + e = "..."; + if (tf(t)) { + var i = "separator" in t ? t.separator : i; + (r = "length" in t ? gf(t.length) : r), + (e = "omission" in t ? fu(t.omission) : e); + } + var o = (n = wf(n)).length; + if (Xt(n)) { + var f = or(n); + o = f.length; + } + if (r >= o) return n; + var a = r - ir(e); + if (a < 1) return e; + var c = f ? bu(f, 0, a).join("") : n.slice(0, a); + if (i === u) return c + e; + if ((f && (a += c.length - a), ff(i))) { + if (n.slice(a).search(i)) { + var l, + s = c; + for ( + i.global || (i = On(i.source, wf(pn.exec(i)) + "g")), + i.lastIndex = 0; + (l = i.exec(s)); + + ) + var h = l.index; + c = c.slice(0, h === u ? a : h); + } + } else if (n.indexOf(fu(i), a) != a) { + var p = c.lastIndexOf(i); + p > -1 && (c = c.slice(0, p)); + } + return c + e; + }), + (Dr.unescape = function (n) { + return (n = wf(n)) && V.test(n) ? n.replace(Z, ar) : n; + }), + (Dr.uniqueId = function (n) { + var t = ++Un; + return wf(n) + t; + }), + (Dr.upperCase = Yf), + (Dr.upperFirst = Qf), + (Dr.each = bo), + (Dr.eachRight = wo), + (Dr.first = Ki), + ca( + Dr, + ((ba = {}), + be(Dr, function (n, t) { + Ln.call(Dr.prototype, t) || (ba[t] = n); + }), + ba), + { chain: !1 }, + ), + (Dr.VERSION = "4.17.21"), + wt( + [ + "bind", + "bindKey", + "curry", + "curryRight", + "partial", + "partialRight", + ], + function (n) { + Dr[n].placeholder = Dr; + }, + ), + wt(["drop", "take"], function (n, t) { + (Pr.prototype[n] = function (r) { + r = r === u ? 1 : yr(gf(r), 0); + var e = + this.__filtered__ && !t ? new Pr(this) : this.clone(); + return ( + e.__filtered__ + ? (e.__takeCount__ = dr(r, e.__takeCount__)) + : e.__views__.push({ + size: dr(r, p), + type: n + (e.__dir__ < 0 ? "Right" : ""), + }), + e + ); + }), + (Pr.prototype[n + "Right"] = function (t) { + return this.reverse()[n](t).reverse(); + }); + }), + wt(["filter", "map", "takeWhile"], function (n, t) { + var r = t + 1, + e = 1 == r || 3 == r; + Pr.prototype[n] = function (n) { + var t = this.clone(); + return ( + t.__iteratees__.push({ iteratee: oi(n, 3), type: r }), + (t.__filtered__ = t.__filtered__ || e), + t + ); + }; + }), + wt(["head", "last"], function (n, t) { + var r = "take" + (t ? "Right" : ""); + Pr.prototype[n] = function () { + return this[r](1).value()[0]; + }; + }), + wt(["initial", "tail"], function (n, t) { + var r = "drop" + (t ? "" : "Right"); + Pr.prototype[n] = function () { + return this.__filtered__ ? new Pr(this) : this[r](1); + }; + }), + (Pr.prototype.compact = function () { + return this.filter(ia); + }), + (Pr.prototype.find = function (n) { + return this.filter(n).head(); + }), + (Pr.prototype.findLast = function (n) { + return this.reverse().find(n); + }), + (Pr.prototype.invokeMap = Ge(function (n, t) { + return "function" == typeof n + ? new Pr(this) + : this.map(function (r) { + return ze(r, n, t); + }); + })), + (Pr.prototype.reject = function (n) { + return this.filter(Bo(oi(n))); + }), + (Pr.prototype.slice = function (n, t) { + n = gf(n); + var r = this; + return r.__filtered__ && (n > 0 || t < 0) + ? new Pr(r) + : (n < 0 ? (r = r.takeRight(-n)) : n && (r = r.drop(n)), + t !== u && + (r = (t = gf(t)) < 0 ? r.dropRight(-t) : r.take(t - n)), + r); + }), + (Pr.prototype.takeRightWhile = function (n) { + return this.reverse().takeWhile(n).reverse(); + }), + (Pr.prototype.toArray = function () { + return this.take(p); + }), + be(Pr.prototype, function (n, t) { + var r = /^(?:filter|find|map|reject)|While$/.test(t), + e = /^(?:head|last)$/.test(t), + i = Dr[e ? "take" + ("last" == t ? "Right" : "") : t], + o = e || /^find/.test(t); + i && + (Dr.prototype[t] = function () { + var t = this.__wrapped__, + f = e ? [1] : arguments, + a = t instanceof Pr, + c = f[0], + l = a || Zo(t), + s = function (n) { + var t = i.apply(Dr, It([n], f)); + return e && h ? t[0] : t; + }; + l && + r && + "function" == typeof c && + 1 != c.length && + (a = l = !1); + var h = this.__chain__, + p = !!this.__actions__.length, + v = o && !h, + _ = a && !p; + if (!o && l) { + t = _ ? t : new Pr(this); + var g = n.apply(t, f); + return ( + g.__actions__.push({ + func: po, + args: [s], + thisArg: u, + }), + new Nr(g, h) + ); + } + return v && _ + ? n.apply(this, f) + : ((g = this.thru(s)), + v ? (e ? g.value()[0] : g.value()) : g); + }); + }), + wt( + ["pop", "push", "shift", "sort", "splice", "unshift"], + function (n) { + var t = zn[n], + r = /^(?:push|sort|unshift)$/.test(n) ? "tap" : "thru", + e = /^(?:pop|shift)$/.test(n); + Dr.prototype[n] = function () { + var n = arguments; + if (e && !this.__chain__) { + var u = this.value(); + return t.apply(Zo(u) ? u : [], n); + } + return this[r](function (r) { + return t.apply(Zo(r) ? r : [], n); + }); + }; + }, + ), + be(Pr.prototype, function (n, t) { + var r = Dr[t]; + if (r) { + var e = r.name + ""; + Ln.call(Er, e) || (Er[e] = []), + Er[e].push({ name: t, func: r }); + } + }), + (Er[$u(u, 2).name] = [{ name: "wrapper", func: u }]), + (Pr.prototype.clone = function () { + var n = new Pr(this.__wrapped__); + return ( + (n.__actions__ = Iu(this.__actions__)), + (n.__dir__ = this.__dir__), + (n.__filtered__ = this.__filtered__), + (n.__iteratees__ = Iu(this.__iteratees__)), + (n.__takeCount__ = this.__takeCount__), + (n.__views__ = Iu(this.__views__)), + n + ); + }), + (Pr.prototype.reverse = function () { + if (this.__filtered__) { + var n = new Pr(this); + (n.__dir__ = -1), (n.__filtered__ = !0); + } else (n = this.clone()).__dir__ *= -1; + return n; + }), + (Pr.prototype.value = function () { + var n = this.__wrapped__.value(), + t = this.__dir__, + r = Zo(n), + e = t < 0, + u = r ? n.length : 0, + i = (function (n, t, r) { + for (var e = -1, u = r.length; ++e < u; ) { + var i = r[e], + o = i.size; + switch (i.type) { + case "drop": + n += o; + break; + case "dropRight": + t -= o; + break; + case "take": + t = dr(t, n + o); + break; + case "takeRight": + n = yr(n, t - o); + } + } + return { start: n, end: t }; + })(0, u, this.__views__), + o = i.start, + f = i.end, + a = f - o, + c = e ? f : o - 1, + l = this.__iteratees__, + s = l.length, + h = 0, + p = dr(a, this.__takeCount__); + if (!r || (!e && u == a && p == a)) + return hu(n, this.__actions__); + var v = []; + n: for (; a-- && h < p; ) { + for (var _ = -1, g = n[(c += t)]; ++_ < s; ) { + var y = l[_], + d = y.iteratee, + b = y.type, + w = d(g); + if (2 == b) g = w; + else if (!w) { + if (1 == b) continue n; + break n; + } + } + v[h++] = g; + } + return v; + }), + (Dr.prototype.at = vo), + (Dr.prototype.chain = function () { + return ho(this); + }), + (Dr.prototype.commit = function () { + return new Nr(this.value(), this.__chain__); + }), + (Dr.prototype.next = function () { + this.__values__ === u && (this.__values__ = vf(this.value())); + var n = this.__index__ >= this.__values__.length; + return { + done: n, + value: n ? u : this.__values__[this.__index__++], + }; + }), + (Dr.prototype.plant = function (n) { + for (var t, r = this; r instanceof Fr; ) { + var e = Di(r); + (e.__index__ = 0), + (e.__values__ = u), + t ? (i.__wrapped__ = e) : (t = e); + var i = e; + r = r.__wrapped__; + } + return (i.__wrapped__ = n), t; + }), + (Dr.prototype.reverse = function () { + var n = this.__wrapped__; + if (n instanceof Pr) { + var t = n; + return ( + this.__actions__.length && (t = new Pr(this)), + (t = t.reverse()).__actions__.push({ + func: po, + args: [no], + thisArg: u, + }), + new Nr(t, this.__chain__) + ); + } + return this.thru(no); + }), + (Dr.prototype.toJSON = + Dr.prototype.valueOf = + Dr.prototype.value = + function () { + return hu(this.__wrapped__, this.__actions__); + }), + (Dr.prototype.first = Dr.prototype.head), + ft && + (Dr.prototype[ft] = function () { + return this; + }), + Dr + ); + })(); + (ot._ = cr), + (e = function () { + return cr; + }.call(t, r, t, n)) === u || (n.exports = e); + }.call(this); + }, + }, +]); diff --git a/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/657.9df59cd7b5b5e72027cf.js b/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/657.9df59cd7b5b5e72027cf.js index 5deb879..5bca781 100644 --- a/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/657.9df59cd7b5b5e72027cf.js +++ b/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/657.9df59cd7b5b5e72027cf.js @@ -1 +1,18 @@ -"use strict";(self.webpackChunkjupyterlab_plotly=self.webpackChunkjupyterlab_plotly||[]).push([[657],{657:(e,l,n)=>{n.d(l,{Y:()=>i,o:()=>p});const t=n(147),i=t.version,p=t.name},147:e=>{e.exports=JSON.parse('{"name":"jupyterlab-plotly","version":"5.17.0","description":"The plotly Jupyter extension","author":"The plotly.py team","license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"https://github.com/plotly/plotly.py"},"keywords":["jupyter","widgets","ipython","ipywidgets","plotly"],"files":["lib/**/*.js","dist/*.js","style/*.*"],"scripts":{"build:dev":"npm run build:lib && npm run build:nbextension && npm run build:labextension:dev","build:prod":"npm run build:lib && npm run build:nbextension && npm run build:labextension","build:labextension":"jupyter labextension build .","build:labextension:dev":"jupyter labextension build --development True .","build:lib":"tsc","build:nbextension":"webpack --mode=production","clean":"npm run clean:lib && npm run clean:nbextension && npm run clean:labextension","clean:lib":"rimraf lib","clean:labextension":"rimraf ../../python/plotly/jupyterlab_plotly/labextension","clean:nbextension":"rimraf ../../python/plotly/jupyterlab_plotly/nbextension/index.js*","lint":"eslint . --ext .ts,.tsx --fix","lint:check":"eslint . --ext .ts,.tsx","prepack":"npm run build:lib","test":"echo \\"Error: no test specified\\" && exit 1","watch":"npm-run-all -p watch:*","watch:lib":"tsc -w","watch:nbextension":"webpack --watch"},"devDependencies":{"@jupyterlab/builder":"^3.0.0","@lumino/application":"^1.6.0","@types/plotly.js":"^1.54.10","@types/webpack-env":"^1.13.6","acorn":"^7.2.0","css-loader":"^5.2.6","fs-extra":"^7.0.0","mkdirp":"^0.5.1","npm-run-all":"^4.1.3","prettier":"^2.0.5","rimraf":"^2.6.2","source-map-loader":"^1.1.3","style-loader":"^1.0.0","ts-loader":"^8.0.0","typescript":"~4.1.3","webpack":"^5.0.0","webpack-cli":"^4.0.0"},"dependencies":{"@jupyter-widgets/base":">=2.0.0 <7.0.0","@jupyterlab/rendermime-interfaces":"^1.3.0 || ^2.0.0 || ^3.0.0","@lumino/messaging":"^1.2.3","@lumino/widgets":"^1.8.1","lodash":"^4.17.4","plotly.js":"^2.26.0"},"jupyterlab":{"extension":"lib/jupyterlab-plugin","mimeExtension":"lib/plotly-renderer","outputDir":"../../python/plotly/jupyterlab_plotly/labextension","sharedPackages":{"@jupyter-widgets/base":{"bundled":false,"singleton":true}}}}')}}]); \ No newline at end of file +"use strict"; +(self.webpackChunkjupyterlab_plotly = + self.webpackChunkjupyterlab_plotly || []).push([ + [657], + { + 657: (e, l, n) => { + n.d(l, { Y: () => i, o: () => p }); + const t = n(147), + i = t.version, + p = t.name; + }, + 147: (e) => { + e.exports = JSON.parse( + '{"name":"jupyterlab-plotly","version":"5.17.0","description":"The plotly Jupyter extension","author":"The plotly.py team","license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"https://github.com/plotly/plotly.py"},"keywords":["jupyter","widgets","ipython","ipywidgets","plotly"],"files":["lib/**/*.js","dist/*.js","style/*.*"],"scripts":{"build:dev":"npm run build:lib && npm run build:nbextension && npm run build:labextension:dev","build:prod":"npm run build:lib && npm run build:nbextension && npm run build:labextension","build:labextension":"jupyter labextension build .","build:labextension:dev":"jupyter labextension build --development True .","build:lib":"tsc","build:nbextension":"webpack --mode=production","clean":"npm run clean:lib && npm run clean:nbextension && npm run clean:labextension","clean:lib":"rimraf lib","clean:labextension":"rimraf ../../python/plotly/jupyterlab_plotly/labextension","clean:nbextension":"rimraf ../../python/plotly/jupyterlab_plotly/nbextension/index.js*","lint":"eslint . --ext .ts,.tsx --fix","lint:check":"eslint . --ext .ts,.tsx","prepack":"npm run build:lib","test":"echo \\"Error: no test specified\\" && exit 1","watch":"npm-run-all -p watch:*","watch:lib":"tsc -w","watch:nbextension":"webpack --watch"},"devDependencies":{"@jupyterlab/builder":"^3.0.0","@lumino/application":"^1.6.0","@types/plotly.js":"^1.54.10","@types/webpack-env":"^1.13.6","acorn":"^7.2.0","css-loader":"^5.2.6","fs-extra":"^7.0.0","mkdirp":"^0.5.1","npm-run-all":"^4.1.3","prettier":"^2.0.5","rimraf":"^2.6.2","source-map-loader":"^1.1.3","style-loader":"^1.0.0","ts-loader":"^8.0.0","typescript":"~4.1.3","webpack":"^5.0.0","webpack-cli":"^4.0.0"},"dependencies":{"@jupyter-widgets/base":">=2.0.0 <7.0.0","@jupyterlab/rendermime-interfaces":"^1.3.0 || ^2.0.0 || ^3.0.0","@lumino/messaging":"^1.2.3","@lumino/widgets":"^1.8.1","lodash":"^4.17.4","plotly.js":"^2.26.0"},"jupyterlab":{"extension":"lib/jupyterlab-plugin","mimeExtension":"lib/plotly-renderer","outputDir":"../../python/plotly/jupyterlab_plotly/labextension","sharedPackages":{"@jupyter-widgets/base":{"bundled":false,"singleton":true}}}}', + ); + }, + }, +]); diff --git a/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/855.323c80e7298812d692e7.js b/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/855.323c80e7298812d692e7.js index 2e14469..4101b97 100644 --- a/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/855.323c80e7298812d692e7.js +++ b/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/855.323c80e7298812d692e7.js @@ -1 +1,726 @@ -"use strict";(self.webpackChunkjupyterlab_plotly=self.webpackChunkjupyterlab_plotly||[]).push([[855],{855:(e,t,a)=>{a.r(t),a.d(t,{FigureModel:()=>d,FigureView:()=>y,MODULE_NAME:()=>n.o,MODULE_VERSION:()=>n.Y});var s=a(900),l=a(431),i=a.n(l),r=a(478),o=a.n(r),n=a(657);window.PlotlyConfig={MathJaxConfig:"local"};const _="^"+n.Y;class d extends s.DOMWidgetModel{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:d.model_name,_model_module:d.model_module,_model_module_version:d.model_module_version,_view_name:d.view_name,_view_module:d.view_module,_view_module_version:d.view_module_version,_data:[],_layout:{},_config:{},_py2js_addTraces:null,_py2js_deleteTraces:null,_py2js_moveTraces:null,_py2js_restyle:null,_py2js_relayout:null,_py2js_update:null,_py2js_animate:null,_py2js_removeLayoutProps:null,_py2js_removeTraceProps:null,_js2py_restyle:null,_js2py_relayout:null,_js2py_update:null,_js2py_layoutDelta:null,_js2py_traceDeltas:null,_js2py_pointsCallback:null,_last_layout_edit_id:0,_last_trace_edit_id:0})}initialize(){super.initialize.apply(this,arguments),this.on("change:_data",this.do_data,this),this.on("change:_layout",this.do_layout,this),this.on("change:_py2js_addTraces",this.do_addTraces,this),this.on("change:_py2js_deleteTraces",this.do_deleteTraces,this),this.on("change:_py2js_moveTraces",this.do_moveTraces,this),this.on("change:_py2js_restyle",this.do_restyle,this),this.on("change:_py2js_relayout",this.do_relayout,this),this.on("change:_py2js_update",this.do_update,this),this.on("change:_py2js_animate",this.do_animate,this),this.on("change:_py2js_removeLayoutProps",this.do_removeLayoutProps,this),this.on("change:_py2js_removeTraceProps",this.do_removeTraceProps,this)}_normalize_trace_indexes(e){if(null==e){var t=this.get("_data").length;e=i().range(t)}return Array.isArray(e)||(e=[e]),e}do_data(){}do_layout(){}do_addTraces(){var e=this.get("_py2js_addTraces");if(null!==e){var t=this.get("_data"),a=e.trace_data;i().forEach(a,(function(e){t.push(e)}))}}do_deleteTraces(){var e=this.get("_py2js_deleteTraces");if(null!==e){var t=e.delete_inds,a=this.get("_data");t.slice().reverse().forEach((function(e){a.splice(e,1)}))}}do_moveTraces(){var e=this.get("_py2js_moveTraces");null!==e&&function(e,t,a){for(var s=[],l=t.length-1;l>=0;l--)s.splice(0,0,e[t[l]]),e.splice(t[l],1);var r=i()(a).zip(s).sortBy(0).unzip().value();a=r[0],s=r[1];for(var o=0;o{this.autosizeFigure()},window.addEventListener("resize",this.resizeEventListener);break;case"after-attach":this.perform_render();break;case"after-show":case"resize":this.autosizeFigure()}}processPhosphorMessage(e){this._processLuminoMessage(e,super.processPhosphorMessage)}processLuminoMessage(e){this._processLuminoMessage(e,super.processLuminoMessage)}autosizeFigure(){var e=this,t=e.model.get("_layout");(i().isNil(t)||i().isNil(t.width))&&o().Plots.resize(e.el).then((function(){var t=e.model.get("_last_layout_edit_id");e._sendLayoutDelta(t)}))}remove(){super.remove(),o().purge(this.el),window.removeEventListener("resize",this.resizeEventListener)}getFullData(){return i().mergeWith({},this.el._fullData,this.el.data,p)}getFullLayout(){return i().mergeWith({},this.el._fullLayout,this.el.layout,p)}buildPointsObject(e){var t;if(e.hasOwnProperty("points")){var a=e.points,s=a.length,l=!0;for(let e=0;e0&&"object"==typeof l[0]){a[s]=new Array(l.length);for(var r=0;r0&&(a[s]=o)}else"object"!=typeof l||Array.isArray(l)?void 0!==l&&"function"!=typeof l&&(a[s]=l):a[s]=g(l,{})}return a}function j(e,t,a,s){if(a||(a=16),void 0===t&&(t=24),t<=0)return"0";var l,i,r=Math.log(Math.pow(2,t))/Math.log(a),o="";for(l=2;r===1/0;l*=2)r=Math.log(Math.pow(2,t/l))/Math.log(a)*l;var n=r-Math.floor(r);for(l=0;l=Math.pow(2,t)?s>10?(console.warn("randstr failed uniqueness"),o):j(e,t,a,(s||0)+1):o}}}]); \ No newline at end of file +"use strict"; +(self.webpackChunkjupyterlab_plotly = + self.webpackChunkjupyterlab_plotly || []).push([ + [855], + { + 855: (e, t, a) => { + a.r(t), + a.d(t, { + FigureModel: () => d, + FigureView: () => y, + MODULE_NAME: () => n.o, + MODULE_VERSION: () => n.Y, + }); + var s = a(900), + l = a(431), + i = a.n(l), + r = a(478), + o = a.n(r), + n = a(657); + window.PlotlyConfig = { MathJaxConfig: "local" }; + const _ = "^" + n.Y; + class d extends s.DOMWidgetModel { + defaults() { + return Object.assign(Object.assign({}, super.defaults()), { + _model_name: d.model_name, + _model_module: d.model_module, + _model_module_version: d.model_module_version, + _view_name: d.view_name, + _view_module: d.view_module, + _view_module_version: d.view_module_version, + _data: [], + _layout: {}, + _config: {}, + _py2js_addTraces: null, + _py2js_deleteTraces: null, + _py2js_moveTraces: null, + _py2js_restyle: null, + _py2js_relayout: null, + _py2js_update: null, + _py2js_animate: null, + _py2js_removeLayoutProps: null, + _py2js_removeTraceProps: null, + _js2py_restyle: null, + _js2py_relayout: null, + _js2py_update: null, + _js2py_layoutDelta: null, + _js2py_traceDeltas: null, + _js2py_pointsCallback: null, + _last_layout_edit_id: 0, + _last_trace_edit_id: 0, + }); + } + initialize() { + super.initialize.apply(this, arguments), + this.on("change:_data", this.do_data, this), + this.on("change:_layout", this.do_layout, this), + this.on("change:_py2js_addTraces", this.do_addTraces, this), + this.on("change:_py2js_deleteTraces", this.do_deleteTraces, this), + this.on("change:_py2js_moveTraces", this.do_moveTraces, this), + this.on("change:_py2js_restyle", this.do_restyle, this), + this.on("change:_py2js_relayout", this.do_relayout, this), + this.on("change:_py2js_update", this.do_update, this), + this.on("change:_py2js_animate", this.do_animate, this), + this.on( + "change:_py2js_removeLayoutProps", + this.do_removeLayoutProps, + this, + ), + this.on( + "change:_py2js_removeTraceProps", + this.do_removeTraceProps, + this, + ); + } + _normalize_trace_indexes(e) { + if (null == e) { + var t = this.get("_data").length; + e = i().range(t); + } + return Array.isArray(e) || (e = [e]), e; + } + do_data() {} + do_layout() {} + do_addTraces() { + var e = this.get("_py2js_addTraces"); + if (null !== e) { + var t = this.get("_data"), + a = e.trace_data; + i().forEach(a, function (e) { + t.push(e); + }); + } + } + do_deleteTraces() { + var e = this.get("_py2js_deleteTraces"); + if (null !== e) { + var t = e.delete_inds, + a = this.get("_data"); + t.slice() + .reverse() + .forEach(function (e) { + a.splice(e, 1); + }); + } + } + do_moveTraces() { + var e = this.get("_py2js_moveTraces"); + null !== e && + (function (e, t, a) { + for (var s = [], l = t.length - 1; l >= 0; l--) + s.splice(0, 0, e[t[l]]), e.splice(t[l], 1); + var r = i()(a).zip(s).sortBy(0).unzip().value(); + (a = r[0]), (s = r[1]); + for (var o = 0; o < a.length; o++) e.splice(a[o], 0, s[o]); + })(this.get("_data"), e.current_trace_inds, e.new_trace_inds); + } + do_restyle() { + var e = this.get("_py2js_restyle"); + if (null !== e) { + var t = e.restyle_data, + a = this._normalize_trace_indexes(e.restyle_traces); + f(this.get("_data"), t, a); + } + } + do_relayout() { + var e = this.get("_py2js_relayout"); + null !== e && v(this.get("_layout"), e.relayout_data); + } + do_update() { + var e = this.get("_py2js_update"); + if (null !== e) { + var t = e.style_data, + a = e.layout_data, + s = this._normalize_trace_indexes(e.style_traces); + f(this.get("_data"), t, s), v(this.get("_layout"), a); + } + } + do_animate() { + var e = this.get("_py2js_animate"); + if (null !== e) { + for ( + var t = e.style_data, + a = e.layout_data, + s = this._normalize_trace_indexes(e.style_traces), + l = 0; + l < t.length; + l++ + ) { + var i = t[l], + r = s[l]; + v(this.get("_data")[r], i); + } + v(this.get("_layout"), a); + } + } + do_removeLayoutProps() { + var e = this.get("_py2js_removeLayoutProps"); + if (null !== e) { + var t = e.remove_props; + m(this.get("_layout"), t); + } + } + do_removeTraceProps() { + var e = this.get("_py2js_removeTraceProps"); + if (null !== e) { + var t = e.remove_props, + a = e.remove_trace; + m(this.get("_data")[a], t); + } + } + } + (d.serializers = Object.assign( + Object.assign({}, s.DOMWidgetModel.serializers), + { + _data: { deserialize: c, serialize: h }, + _layout: { deserialize: c, serialize: h }, + _py2js_addTraces: { deserialize: c, serialize: h }, + _py2js_deleteTraces: { deserialize: c, serialize: h }, + _py2js_moveTraces: { deserialize: c, serialize: h }, + _py2js_restyle: { deserialize: c, serialize: h }, + _py2js_relayout: { deserialize: c, serialize: h }, + _py2js_update: { deserialize: c, serialize: h }, + _py2js_animate: { deserialize: c, serialize: h }, + _py2js_removeLayoutProps: { deserialize: c, serialize: h }, + _py2js_removeTraceProps: { deserialize: c, serialize: h }, + _js2py_restyle: { deserialize: c, serialize: h }, + _js2py_relayout: { deserialize: c, serialize: h }, + _js2py_update: { deserialize: c, serialize: h }, + _js2py_layoutDelta: { deserialize: c, serialize: h }, + _js2py_traceDeltas: { deserialize: c, serialize: h }, + _js2py_pointsCallback: { deserialize: c, serialize: h }, + }, + )), + (d.model_name = "FigureModel"), + (d.model_module = n.o), + (d.model_module_version = _), + (d.view_name = "FigureView"), + (d.view_module = n.o), + (d.view_module_version = _); + class y extends s.DOMWidgetView { + perform_render() { + var e, + t, + a, + s, + l = this; + this.model.on("change:_py2js_addTraces", this.do_addTraces, this), + this.model.on( + "change:_py2js_deleteTraces", + this.do_deleteTraces, + this, + ), + this.model.on("change:_py2js_moveTraces", this.do_moveTraces, this), + this.model.on("change:_py2js_restyle", this.do_restyle, this), + this.model.on("change:_py2js_relayout", this.do_relayout, this), + this.model.on("change:_py2js_update", this.do_update, this), + this.model.on("change:_py2js_animate", this.do_animate, this), + null === + (s = + null === + (a = + null === + (t = + null === (e = window) || void 0 === e + ? void 0 + : e.MathJax) || void 0 === t + ? void 0 + : t.Hub) || void 0 === a + ? void 0 + : a.Config) || + void 0 === s || + s.call(a, { SVG: { font: "STIX-Web" } }); + var r = this.model.get("_last_layout_edit_id"), + n = this.model.get("_last_trace_edit_id"); + this.viewID = j(); + var _ = i().cloneDeep(this.model.get("_data")), + d = i().cloneDeep(this.model.get("_layout")); + d.height || (d.height = 360); + var y = this.model.get("_config"); + (y.editSelection = !1), + o() + .newPlot(l.el, _, d, y) + .then(function () { + l._sendTraceDeltas(n), + l._sendLayoutDelta(r), + l.el.on("plotly_restyle", function (e) { + l.handle_plotly_restyle(e); + }), + l.el.on("plotly_relayout", function (e) { + l.handle_plotly_relayout(e); + }), + l.el.on("plotly_update", function (e) { + l.handle_plotly_update(e); + }), + l.el.on("plotly_click", function (e) { + l.handle_plotly_click(e); + }), + l.el.on("plotly_hover", function (e) { + l.handle_plotly_hover(e); + }), + l.el.on("plotly_unhover", function (e) { + l.handle_plotly_unhover(e); + }), + l.el.on("plotly_selected", function (e) { + l.handle_plotly_selected(e); + }), + l.el.on("plotly_deselect", function (e) { + l.handle_plotly_deselect(e); + }), + l.el.on("plotly_doubleclick", function (e) { + l.handle_plotly_doubleclick(e); + }); + var e = new CustomEvent("plotlywidget-after-render", { + detail: { element: l.el, viewID: l.viewID }, + }); + document.dispatchEvent(e); + }); + } + _processLuminoMessage(e, t) { + switch ((t.apply(this, arguments), e.type)) { + case "before-attach": + var a = { showgrid: !1, showline: !1, tickvals: [] }; + o().newPlot(this.el, [], { xaxis: a, yaxis: a }), + (this.resizeEventListener = () => { + this.autosizeFigure(); + }), + window.addEventListener("resize", this.resizeEventListener); + break; + case "after-attach": + this.perform_render(); + break; + case "after-show": + case "resize": + this.autosizeFigure(); + } + } + processPhosphorMessage(e) { + this._processLuminoMessage(e, super.processPhosphorMessage); + } + processLuminoMessage(e) { + this._processLuminoMessage(e, super.processLuminoMessage); + } + autosizeFigure() { + var e = this, + t = e.model.get("_layout"); + (i().isNil(t) || i().isNil(t.width)) && + o() + .Plots.resize(e.el) + .then(function () { + var t = e.model.get("_last_layout_edit_id"); + e._sendLayoutDelta(t); + }); + } + remove() { + super.remove(), + o().purge(this.el), + window.removeEventListener("resize", this.resizeEventListener); + } + getFullData() { + return i().mergeWith({}, this.el._fullData, this.el.data, p); + } + getFullLayout() { + return i().mergeWith({}, this.el._fullLayout, this.el.layout, p); + } + buildPointsObject(e) { + var t; + if (e.hasOwnProperty("points")) { + var a = e.points, + s = a.length, + l = !0; + for ( + let e = 0; + e < s && (l = l && a[e].hasOwnProperty("pointNumbers")); + e++ + ); + var i = s; + if (l) { + i = 0; + for (let e = 0; e < s; e++) i += a[e].pointNumbers.length; + } + if ( + ((t = { + trace_indexes: new Array(i), + point_indexes: new Array(i), + xs: new Array(i), + ys: new Array(i), + }), + l) + ) { + for (var r = 0, o = 0; o < s; o++) + for (let e = 0; e < a[o].pointNumbers.length; e++, r++) + (t.point_indexes[r] = a[o].pointNumbers[e]), + (t.xs[r] = a[o].x), + (t.ys[r] = a[o].y), + (t.trace_indexes[r] = a[o].curveNumber); + let e = !0; + for ( + let a = 1; + a < i && + ((e = e && t.trace_indexes[a - 1] === t.trace_indexes[a]), e); + a++ + ); + e && + t.point_indexes.sort(function (e, t) { + return e - t; + }); + } else + for (o = 0; o < s; o++) + (t.trace_indexes[o] = a[o].curveNumber), + (t.point_indexes[o] = a[o].pointNumber), + (t.xs[o] = a[o].x), + (t.ys[o] = a[o].y); + if (void 0 !== a[0] && a[0].hasOwnProperty("z")) + for (t.zs = new Array(s), o = 0; o < s; o++) t.zs[o] = a[o].z; + return t; + } + return null; + } + buildInputDeviceStateObject(e) { + var t = e.event; + return void 0 === t + ? null + : { + alt: t.altKey, + ctrl: t.ctrlKey, + meta: t.metaKey, + shift: t.shiftKey, + button: t.button, + buttons: t.buttons, + }; + } + buildSelectorObject(e) { + return e.hasOwnProperty("range") + ? { + type: "box", + selector_state: { xrange: e.range.x, yrange: e.range.y }, + } + : e.hasOwnProperty("lassoPoints") + ? { + type: "lasso", + selector_state: { xs: e.lassoPoints.x, ys: e.lassoPoints.y }, + } + : null; + } + handle_plotly_restyle(e) { + if ( + !(null == e || (e[0] && e[0].hasOwnProperty("_doNotReportToPy"))) + ) { + var t = { + style_data: e[0], + style_traces: e[1], + source_view_id: this.viewID, + }; + this.model.set("_js2py_restyle", t), this.touch(); + } + } + handle_plotly_relayout(e) { + if (null != e && !e.hasOwnProperty("_doNotReportToPy")) { + var t = { relayout_data: e, source_view_id: this.viewID }; + this.model.set("_js2py_relayout", t), this.touch(); + } + } + handle_plotly_update(e) { + if ( + !( + null == e || + (e.data && e.data[0].hasOwnProperty("_doNotReportToPy")) + ) + ) { + var t = { + style_data: e.data[0], + style_traces: e.data[1], + layout_data: e.layout, + source_view_id: this.viewID, + }; + this.model.set("_js2py_update", t), this.touch(); + } + } + handle_plotly_click(e) { + this._send_points_callback_message(e, "plotly_click"); + } + handle_plotly_hover(e) { + this._send_points_callback_message(e, "plotly_hover"); + } + handle_plotly_unhover(e) { + this._send_points_callback_message(e, "plotly_unhover"); + } + handle_plotly_selected(e) { + this._send_points_callback_message(e, "plotly_selected"); + } + handle_plotly_deselect(e) { + (e = { points: [] }), + this._send_points_callback_message(e, "plotly_deselect"); + } + _send_points_callback_message(e, t) { + if (null != e) { + var a = { + event_type: t, + points: this.buildPointsObject(e), + device_state: this.buildInputDeviceStateObject(e), + selector: this.buildSelectorObject(e), + }; + null != a.points && + (this.model.set("_js2py_pointsCallback", a), this.touch()); + } + } + handle_plotly_doubleclick(e) {} + do_addTraces() { + var e = this.model.get("_py2js_addTraces"); + if (null !== e) { + var t = this; + o() + .addTraces(this.el, e.trace_data) + .then(function () { + t._sendTraceDeltas(e.trace_edit_id); + var a = e.layout_edit_id; + t._sendLayoutDelta(a); + }); + } + } + do_deleteTraces() { + var e = this.model.get("_py2js_deleteTraces"); + if (null !== e) { + var t = e.delete_inds, + a = this; + o() + .deleteTraces(this.el, t) + .then(function () { + var t = e.trace_edit_id; + a._sendTraceDeltas(t); + var s = e.layout_edit_id; + a._sendLayoutDelta(s); + }); + } + } + do_moveTraces() { + var e = this.model.get("_py2js_moveTraces"); + if (null !== e) { + var t = e.current_trace_inds, + a = e.new_trace_inds; + i().isEqual(t, a) || o().moveTraces(this.el, t, a); + } + } + do_restyle() { + var e = this.model.get("_py2js_restyle"); + if (null !== e) { + var t = e.restyle_data, + a = this.model._normalize_trace_indexes(e.restyle_traces); + (t._doNotReportToPy = !0), + o().restyle(this.el, t, a), + this._sendTraceDeltas(e.trace_edit_id); + var s = e.layout_edit_id; + this._sendLayoutDelta(s); + } + } + do_relayout() { + var e = this.model.get("_py2js_relayout"); + if (null !== e) { + e.source_view_id !== this.viewID && + ((e.relayout_data._doNotReportToPy = !0), + o().relayout(this.el, e.relayout_data)); + var t = e.layout_edit_id; + this._sendLayoutDelta(t); + } + } + do_update() { + var e = this.model.get("_py2js_update"); + if (null !== e) { + var t = e.style_data || {}, + a = e.layout_data || {}, + s = this.model._normalize_trace_indexes(e.style_traces); + (t._doNotReportToPy = !0), + o().update(this.el, t, a, s), + this._sendTraceDeltas(e.trace_edit_id); + var l = e.layout_edit_id; + this._sendLayoutDelta(l); + } + } + do_animate() { + var e = this.model.get("_py2js_animate"); + if (null !== e) { + var t = e.animation_opts, + a = { + data: e.style_data, + layout: e.layout_data, + traces: this.model._normalize_trace_indexes(e.style_traces), + _doNotReportToPy: !0, + }, + s = this; + o() + .animate(this.el, a, t) + .then(function () { + s._sendTraceDeltas(e.trace_edit_id); + var t = e.layout_edit_id; + s._sendLayoutDelta(t); + }); + } + } + _sendLayoutDelta(e) { + var t = { + layout_delta: g(this.getFullLayout(), this.model.get("_layout")), + layout_edit_id: e, + }; + this.model.set("_js2py_layoutDelta", t), this.touch(); + } + _sendTraceDeltas(e) { + for ( + var t = this.model.get("_data"), + a = i().range(t.length), + s = new Array(a.length), + l = this.getFullData(), + r = 0; + r < a.length; + r++ + ) { + var o = a[r]; + s[r] = g(l[o], t[o]); + } + var n = { trace_deltas: s, trace_edit_id: e }; + this.model.set("_js2py_traceDeltas", n), this.touch(); + } + } + const u = { + int8: Int8Array, + int16: Int16Array, + int32: Int32Array, + uint8: Uint8Array, + uint16: Uint16Array, + uint32: Uint32Array, + float32: Float32Array, + float64: Float64Array, + }; + function h(e, t) { + var a; + if (i().isTypedArray(e)) + a = (function (e) { + var t; + if (e instanceof Int8Array) t = "int8"; + else if (e instanceof Int16Array) t = "int16"; + else if (e instanceof Int32Array) t = "int32"; + else if (e instanceof Uint8Array) t = "uint8"; + else if (e instanceof Uint16Array) t = "uint16"; + else if (e instanceof Uint32Array) t = "uint32"; + else if (e instanceof Float32Array) t = "float32"; + else { + if (!(e instanceof Float64Array)) return e; + t = "float64"; + } + return { dtype: t, shape: [e.length], value: e.buffer }; + })(e); + else if (Array.isArray(e)) { + a = new Array(e.length); + for (var s = 0; s < e.length; s++) a[s] = h(e[s]); + } else if (i().isPlainObject(e)) + for (var l in ((a = {}), e)) e.hasOwnProperty(l) && (a[l] = h(e[l])); + else a = void 0 === e ? "_undefined_" : e; + return a; + } + function c(e, t) { + var a; + if (Array.isArray(e)) { + a = new Array(e.length); + for (var s = 0; s < e.length; s++) a[s] = c(e[s]); + } else if (i().isPlainObject(e)) + if ( + (i().has(e, "value") || i().has(e, "buffer")) && + i().has(e, "dtype") && + i().has(e, "shape") + ) + a = new (0, u[e.dtype])( + i().has(e, "value") ? e.value.buffer : e.buffer.buffer, + ); + else + for (var l in ((a = {}), e)) + e.hasOwnProperty(l) && (a[l] = c(e[l])); + else a = "_undefined_" === e ? void 0 : e; + return a; + } + function p(e, t, a) { + return "_" === a[0] + ? null + : ((s = t), + !ArrayBuffer.isView(s) || s instanceof DataView ? void 0 : t); + var s; + } + function v(e, t) { + for (var a in t) + if (t.hasOwnProperty(a)) { + var s = t[a]; + null === s ? i().unset(e, a) : i().set(e, a, s); + } + } + function f(e, t, a) { + for (var s in t) + if (t.hasOwnProperty(s)) { + var l = t[s]; + Array.isArray(l) || (l = [l]); + for (var r = 0; r < a.length; r++) { + var o = e[a[r]], + n = l[r % l.length]; + null === n ? i().unset(o, s) : void 0 !== n && i().set(o, s, n); + } + } + } + function m(e, t) { + for (var a = 0; a < t.length; a++) { + var s = t[a]; + i().unset(e, s); + } + } + function g(e, t) { + var a; + for (var s in ((a = Array.isArray(e) ? new Array(e.length) : {}), + null == t && (t = {}), + e)) + if ( + "_" !== s[0] && + e.hasOwnProperty(s) && + null !== e[s] && + (!i().isEqual(e[s], t[s]) || "uid" === s) + ) { + var l = e[s]; + if (t.hasOwnProperty(s) && "object" == typeof l) + if (Array.isArray(l)) + if (l.length > 0 && "object" == typeof l[0]) { + a[s] = new Array(l.length); + for (var r = 0; r < l.length; r++) + !Array.isArray(t[s]) || t[s].length <= r + ? (a[s][r] = l[r]) + : (a[s][r] = g(l[r], t[s][r])); + } else a[s] = l; + else { + var o = g(l, t[s]); + Object.keys(o).length > 0 && (a[s] = o); + } + else + "object" != typeof l || Array.isArray(l) + ? void 0 !== l && "function" != typeof l && (a[s] = l) + : (a[s] = g(l, {})); + } + return a; + } + function j(e, t, a, s) { + if ((a || (a = 16), void 0 === t && (t = 24), t <= 0)) return "0"; + var l, + i, + r = Math.log(Math.pow(2, t)) / Math.log(a), + o = ""; + for (l = 2; r === 1 / 0; l *= 2) + r = (Math.log(Math.pow(2, t / l)) / Math.log(a)) * l; + var n = r - Math.floor(r); + for (l = 0; l < Math.floor(r); l++) + o = Math.floor(Math.random() * a).toString(a) + o; + n && + ((i = Math.pow(a, n)), + (o = Math.floor(Math.random() * i).toString(a) + o)); + var _ = parseInt(o, a); + return (e && e[o]) || (_ !== 1 / 0 && _ >= Math.pow(2, t)) + ? s > 10 + ? (console.warn("randstr failed uniqueness"), o) + : j(e, t, a, (s || 0) + 1) + : o; + } + }, + }, +]); diff --git a/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/remoteEntry.56bf4b5dc66a26bcd462.js b/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/remoteEntry.56bf4b5dc66a26bcd462.js index 4654587..866d466 100644 --- a/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/remoteEntry.56bf4b5dc66a26bcd462.js +++ b/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/remoteEntry.56bf4b5dc66a26bcd462.js @@ -1 +1,491 @@ -var _JUPYTERLAB;(()=>{"use strict";var e,r,t,n,o,a,i,l,u,f,c,d,s,p,h,v,b,y,g,m,w={78:(e,r,t)=>{var n={"./index":()=>Promise.all([t.e(478),t.e(855),t.e(900),t.e(657)]).then((()=>()=>t(855))),"./extension":()=>Promise.all([t.e(900),t.e(133)]).then((()=>()=>t(133))),"./mimeExtension":()=>t.e(423).then((()=>()=>t(423)))},o=(e,r)=>(t.R=r,r=t.o(n,e)?n[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),a=(e,r)=>{if(t.S){var n="default",o=t.S[n];if(o&&o!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[n]=e,t.I(n,r)}};t.d(r,{get:()=>o,init:()=>a})}},j={};function P(e){var r=j[e];if(void 0!==r)return r.exports;var t=j[e]={id:e,loaded:!1,exports:{}};return w[e].call(t.exports,t,t.exports,P),t.loaded=!0,t.exports}P.m=w,P.c=j,P.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return P.d(r,{a:r}),r},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,P.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if("object"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&"function"==typeof t.then)return t}var o=Object.create(null);P.r(o);var a={};e=e||[null,r({}),r([]),r(r)];for(var i=2&n&&t;"object"==typeof i&&!~e.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((e=>a[e]=()=>t[e]));return a.default=()=>t,P.d(o,a),o},P.d=(e,r)=>{for(var t in r)P.o(r,t)&&!P.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},P.f={},P.e=e=>Promise.all(Object.keys(P.f).reduce(((r,t)=>(P.f[t](e,r),r)),[])),P.u=e=>e+"."+{133:"e85857c23bc96dec5e13",423:"d0d3e2912c33c7566484",478:"3105ed2766dbb1bb6616",486:"6450efe6168c2f8caddb",657:"9df59cd7b5b5e72027cf",855:"323c80e7298812d692e7",900:"8b5027f326ca464d11ce"}[e]+".js?v="+{133:"e85857c23bc96dec5e13",423:"d0d3e2912c33c7566484",478:"3105ed2766dbb1bb6616",486:"6450efe6168c2f8caddb",657:"9df59cd7b5b5e72027cf",855:"323c80e7298812d692e7",900:"8b5027f326ca464d11ce"}[e],P.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),P.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},n="jupyterlab-plotly:",P.l=(e,r,o,a)=>{if(t[e])t[e].push(r);else{var i,l;if(void 0!==o)for(var u=document.getElementsByTagName("script"),f=0;f{i.onerror=i.onload=null,clearTimeout(s);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},s=setTimeout(d.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),l&&document.head.appendChild(i)}},P.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},P.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{P.S={};var e={},r={};P.I=(t,n)=>{n||(n=[]);var o=r[t];if(o||(o=r[t]={}),!(n.indexOf(o)>=0)){if(n.push(o),e[t])return e[t];P.o(P.S,t)||(P.S[t]={});var a=P.S[t],i="jupyterlab-plotly",l=(e,r,t,n)=>{var o=a[e]=a[e]||{},l=o[r];(!l||!l.loaded&&(!n!=!l.eager?n:i>l.from))&&(o[r]={get:t,from:i,eager:!!n})},u=[];return"default"===t&&(l("jupyterlab-plotly","5.17.0",(()=>Promise.all([P.e(478),P.e(855),P.e(900),P.e(657)]).then((()=>()=>P(855))))),l("lodash","4.17.21",(()=>P.e(486).then((()=>()=>P(486)))))),e[t]=u.length?Promise.all(u).then((()=>e[t]=1)):1}}})(),(()=>{var e;P.g.importScripts&&(e=P.g.location+"");var r=P.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");t.length&&(e=t[t.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),P.p=e})(),o=e=>{var r=e=>e.split(".").map((e=>+e==e?+e:e)),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=t[1]?r(t[1]):[];return t[2]&&(n.length++,n.push.apply(n,r(t[2]))),t[3]&&(n.push([]),n.push.apply(n,r(t[3]))),n},a=(e,r)=>{e=o(e),r=o(r);for(var t=0;;){if(t>=e.length)return t=r.length)return"u"==a;var i=r[t],l=(typeof i)[0];if(a!=l)return"o"==a&&"n"==l||"s"==l||"u"==a;if("o"!=a&&"u"!=a&&n!=i)return n{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var n=1,o=1;o0?".":"")+(n=2,l);return t}var a=[];for(o=1;o{if(0 in e){r=o(r);var t=e[0],n=t<0;n&&(t=-t-1);for(var a=0,i=1,u=!0;;i++,a++){var f,c,d=i=r.length||"o"==(c=(typeof(f=r[a]))[0]))return!u||("u"==d?i>t&&!n:""==d!=n);if("u"==c){if(!u||"u"!=d)return!1}else if(u)if(d==c)if(i<=t){if(f!=e[i])return!1}else{if(n?f>e[i]:f{var t=P.S[e];if(!t||!P.o(t,r))throw new Error("Shared module "+r+" doesn't exist in shared scope "+e);return t},f=(e,r)=>{var t=e[r];return Object.keys(t).reduce(((e,r)=>!e||!t[e].loaded&&a(e,r)?r:e),0)},c=(e,r,t,n)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+i(n)+")",d=(e,r,t,n)=>{var o=f(e,t);return l(n,o)||"undefined"!=typeof console&&console.warn&&console.warn(c(e,t,o,n)),p(e[t][o])},s=(e,r,t)=>{var n=e[r];return(r=Object.keys(n).reduce(((e,r)=>!l(t,r)||e&&!a(e,r)?e:r),0))&&n[r]},p=e=>(e.loaded=1,e.get()),v=(h=e=>function(r,t,n,o){var a=P.I(r);return a&&a.then?a.then(e.bind(e,r,P.S[r],t,n,o)):e(r,P.S[r],t,n,o)})(((e,r,t,n)=>(u(e,t),d(r,0,t,n)))),b=h(((e,r,t,n,o)=>{var a=r&&P.o(r,t)&&s(r,t,n);return a?p(a):o()})),y={},g={431:()=>b("default","lodash",[1,4,17,4],(()=>P.e(486).then((()=>()=>P(486))))),900:()=>v("default","@jupyter-widgets/base",[,[-1,7,0,0],[0,2,0,0],2]),832:()=>v("default","@lumino/widgets",[1,1,37,2])},m={423:[832],855:[431],900:[900]},P.f.consumes=(e,r)=>{P.o(m,e)&&m[e].forEach((e=>{if(P.o(y,e))return r.push(y[e]);var t=r=>{y[e]=0,P.m[e]=t=>{delete P.c[e],t.exports=r()}},n=r=>{delete y[e],P.m[e]=t=>{throw delete P.c[e],r}};try{var o=g[e]();o.then?r.push(y[e]=o.then(t).catch(n)):t(o)}catch(e){n(e)}}))},(()=>{var e={860:0};P.f.j=(r,t)=>{var n=P.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else if(900!=r){var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var a=P.p+P.u(r),i=new Error;P.l(a,(t=>{if(P.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+o+": "+a+")",i.name="ChunkLoadError",i.type=o,i.request=a,n[1](i)}}),"chunk-"+r,r)}else e[r]=0};var r=(r,t)=>{var n,o,[a,i,l]=t,u=0;if(a.some((r=>0!==e[r]))){for(n in i)P.o(i,n)&&(P.m[n]=i[n]);l&&l(P)}for(r&&r(t);u { + "use strict"; + var e, + r, + t, + n, + o, + a, + i, + l, + u, + f, + c, + d, + s, + p, + h, + v, + b, + y, + g, + m, + w = { + 78: (e, r, t) => { + var n = { + "./index": () => + Promise.all([t.e(478), t.e(855), t.e(900), t.e(657)]).then( + () => () => t(855), + ), + "./extension": () => + Promise.all([t.e(900), t.e(133)]).then(() => () => t(133)), + "./mimeExtension": () => t.e(423).then(() => () => t(423)), + }, + o = (e, r) => ( + (t.R = r), + (r = t.o(n, e) + ? n[e]() + : Promise.resolve().then(() => { + throw new Error( + 'Module "' + e + '" does not exist in container.', + ); + })), + (t.R = void 0), + r + ), + a = (e, r) => { + if (t.S) { + var n = "default", + o = t.S[n]; + if (o && o !== e) + throw new Error( + "Container initialization failed as it has already been initialized with a different share scope", + ); + return (t.S[n] = e), t.I(n, r); + } + }; + t.d(r, { get: () => o, init: () => a }); + }, + }, + j = {}; + function P(e) { + var r = j[e]; + if (void 0 !== r) return r.exports; + var t = (j[e] = { id: e, loaded: !1, exports: {} }); + return w[e].call(t.exports, t, t.exports, P), (t.loaded = !0), t.exports; + } + (P.m = w), + (P.c = j), + (P.n = (e) => { + var r = e && e.__esModule ? () => e.default : () => e; + return P.d(r, { a: r }), r; + }), + (r = Object.getPrototypeOf + ? (e) => Object.getPrototypeOf(e) + : (e) => e.__proto__), + (P.t = function (t, n) { + if ((1 & n && (t = this(t)), 8 & n)) return t; + if ("object" == typeof t && t) { + if (4 & n && t.__esModule) return t; + if (16 & n && "function" == typeof t.then) return t; + } + var o = Object.create(null); + P.r(o); + var a = {}; + e = e || [null, r({}), r([]), r(r)]; + for (var i = 2 & n && t; "object" == typeof i && !~e.indexOf(i); i = r(i)) + Object.getOwnPropertyNames(i).forEach((e) => (a[e] = () => t[e])); + return (a.default = () => t), P.d(o, a), o; + }), + (P.d = (e, r) => { + for (var t in r) + P.o(r, t) && + !P.o(e, t) && + Object.defineProperty(e, t, { enumerable: !0, get: r[t] }); + }), + (P.f = {}), + (P.e = (e) => + Promise.all(Object.keys(P.f).reduce((r, t) => (P.f[t](e, r), r), []))), + (P.u = (e) => + e + + "." + + { + 133: "e85857c23bc96dec5e13", + 423: "d0d3e2912c33c7566484", + 478: "3105ed2766dbb1bb6616", + 486: "6450efe6168c2f8caddb", + 657: "9df59cd7b5b5e72027cf", + 855: "323c80e7298812d692e7", + 900: "8b5027f326ca464d11ce", + }[e] + + ".js?v=" + + { + 133: "e85857c23bc96dec5e13", + 423: "d0d3e2912c33c7566484", + 478: "3105ed2766dbb1bb6616", + 486: "6450efe6168c2f8caddb", + 657: "9df59cd7b5b5e72027cf", + 855: "323c80e7298812d692e7", + 900: "8b5027f326ca464d11ce", + }[e]), + (P.g = (function () { + if ("object" == typeof globalThis) return globalThis; + try { + return this || new Function("return this")(); + } catch (e) { + if ("object" == typeof window) return window; + } + })()), + (P.o = (e, r) => Object.prototype.hasOwnProperty.call(e, r)), + (t = {}), + (n = "jupyterlab-plotly:"), + (P.l = (e, r, o, a) => { + if (t[e]) t[e].push(r); + else { + var i, l; + if (void 0 !== o) + for ( + var u = document.getElementsByTagName("script"), f = 0; + f < u.length; + f++ + ) { + var c = u[f]; + if ( + c.getAttribute("src") == e || + c.getAttribute("data-webpack") == n + o + ) { + i = c; + break; + } + } + i || + ((l = !0), + ((i = document.createElement("script")).charset = "utf-8"), + (i.timeout = 120), + P.nc && i.setAttribute("nonce", P.nc), + i.setAttribute("data-webpack", n + o), + (i.src = e)), + (t[e] = [r]); + var d = (r, n) => { + (i.onerror = i.onload = null), clearTimeout(s); + var o = t[e]; + if ( + (delete t[e], + i.parentNode && i.parentNode.removeChild(i), + o && o.forEach((e) => e(n)), + r) + ) + return r(n); + }, + s = setTimeout( + d.bind(null, void 0, { type: "timeout", target: i }), + 12e4, + ); + (i.onerror = d.bind(null, i.onerror)), + (i.onload = d.bind(null, i.onload)), + l && document.head.appendChild(i); + } + }), + (P.r = (e) => { + "undefined" != typeof Symbol && + Symbol.toStringTag && + Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), + Object.defineProperty(e, "__esModule", { value: !0 }); + }), + (P.nmd = (e) => ((e.paths = []), e.children || (e.children = []), e)), + (() => { + P.S = {}; + var e = {}, + r = {}; + P.I = (t, n) => { + n || (n = []); + var o = r[t]; + if ((o || (o = r[t] = {}), !(n.indexOf(o) >= 0))) { + if ((n.push(o), e[t])) return e[t]; + P.o(P.S, t) || (P.S[t] = {}); + var a = P.S[t], + i = "jupyterlab-plotly", + l = (e, r, t, n) => { + var o = (a[e] = a[e] || {}), + l = o[r]; + (!l || (!l.loaded && (!n != !l.eager ? n : i > l.from))) && + (o[r] = { get: t, from: i, eager: !!n }); + }, + u = []; + return ( + "default" === t && + (l("jupyterlab-plotly", "5.17.0", () => + Promise.all([P.e(478), P.e(855), P.e(900), P.e(657)]).then( + () => () => P(855), + ), + ), + l("lodash", "4.17.21", () => P.e(486).then(() => () => P(486)))), + (e[t] = u.length ? Promise.all(u).then(() => (e[t] = 1)) : 1) + ); + } + }; + })(), + (() => { + var e; + P.g.importScripts && (e = P.g.location + ""); + var r = P.g.document; + if (!e && r && (r.currentScript && (e = r.currentScript.src), !e)) { + var t = r.getElementsByTagName("script"); + t.length && (e = t[t.length - 1].src); + } + if (!e) + throw new Error( + "Automatic publicPath is not supported in this browser", + ); + (e = e + .replace(/#.*$/, "") + .replace(/\?.*$/, "") + .replace(/\/[^\/]+$/, "/")), + (P.p = e); + })(), + (o = (e) => { + var r = (e) => e.split(".").map((e) => (+e == e ? +e : e)), + t = /^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e), + n = t[1] ? r(t[1]) : []; + return ( + t[2] && (n.length++, n.push.apply(n, r(t[2]))), + t[3] && (n.push([]), n.push.apply(n, r(t[3]))), + n + ); + }), + (a = (e, r) => { + (e = o(e)), (r = o(r)); + for (var t = 0; ; ) { + if (t >= e.length) return t < r.length && "u" != (typeof r[t])[0]; + var n = e[t], + a = (typeof n)[0]; + if (t >= r.length) return "u" == a; + var i = r[t], + l = (typeof i)[0]; + if (a != l) return ("o" == a && "n" == l) || "s" == l || "u" == a; + if ("o" != a && "u" != a && n != i) return n < i; + t++; + } + }), + (i = (e) => { + var r = e[0], + t = ""; + if (1 === e.length) return "*"; + if (r + 0.5) { + t += + 0 == r + ? ">=" + : -1 == r + ? "<" + : 1 == r + ? "^" + : 2 == r + ? "~" + : r > 0 + ? "=" + : "!="; + for (var n = 1, o = 1; o < e.length; o++) + n--, + (t += + "u" == (typeof (l = e[o]))[0] + ? "-" + : (n > 0 ? "." : "") + ((n = 2), l)); + return t; + } + var a = []; + for (o = 1; o < e.length; o++) { + var l = e[o]; + a.push( + 0 === l + ? "not(" + u() + ")" + : 1 === l + ? "(" + u() + " || " + u() + ")" + : 2 === l + ? a.pop() + " " + a.pop() + : i(l), + ); + } + return u(); + function u() { + return a.pop().replace(/^\((.+)\)$/, "$1"); + } + }), + (l = (e, r) => { + if (0 in e) { + r = o(r); + var t = e[0], + n = t < 0; + n && (t = -t - 1); + for (var a = 0, i = 1, u = !0; ; i++, a++) { + var f, + c, + d = i < e.length ? (typeof e[i])[0] : ""; + if (a >= r.length || "o" == (c = (typeof (f = r[a]))[0])) + return !u || ("u" == d ? i > t && !n : ("" == d) != n); + if ("u" == c) { + if (!u || "u" != d) return !1; + } else if (u) + if (d == c) + if (i <= t) { + if (f != e[i]) return !1; + } else { + if (n ? f > e[i] : f < e[i]) return !1; + f != e[i] && (u = !1); + } + else if ("s" != d && "n" != d) { + if (n || i <= t) return !1; + (u = !1), i--; + } else { + if (i <= t || c < d != n) return !1; + u = !1; + } + else "s" != d && "n" != d && ((u = !1), i--); + } + } + var s = [], + p = s.pop.bind(s); + for (a = 1; a < e.length; a++) { + var h = e[a]; + s.push(1 == h ? p() | p() : 2 == h ? p() & p() : h ? l(h, r) : !p()); + } + return !!p(); + }), + (u = (e, r) => { + var t = P.S[e]; + if (!t || !P.o(t, r)) + throw new Error( + "Shared module " + r + " doesn't exist in shared scope " + e, + ); + return t; + }), + (f = (e, r) => { + var t = e[r]; + return Object.keys(t).reduce( + (e, r) => (!e || (!t[e].loaded && a(e, r)) ? r : e), + 0, + ); + }), + (c = (e, r, t, n) => + "Unsatisfied version " + + t + + " from " + + (t && e[r][t].from) + + " of shared singleton module " + + r + + " (required " + + i(n) + + ")"), + (d = (e, r, t, n) => { + var o = f(e, t); + return ( + l(n, o) || + ("undefined" != typeof console && + console.warn && + console.warn(c(e, t, o, n))), + p(e[t][o]) + ); + }), + (s = (e, r, t) => { + var n = e[r]; + return ( + (r = Object.keys(n).reduce( + (e, r) => (!l(t, r) || (e && !a(e, r)) ? e : r), + 0, + )) && n[r] + ); + }), + (p = (e) => ((e.loaded = 1), e.get())), + (v = (h = (e) => + function (r, t, n, o) { + var a = P.I(r); + return a && a.then + ? a.then(e.bind(e, r, P.S[r], t, n, o)) + : e(r, P.S[r], t, n, o); + })((e, r, t, n) => (u(e, t), d(r, 0, t, n)))), + (b = h((e, r, t, n, o) => { + var a = r && P.o(r, t) && s(r, t, n); + return a ? p(a) : o(); + })), + (y = {}), + (g = { + 431: () => + b("default", "lodash", [1, 4, 17, 4], () => + P.e(486).then(() => () => P(486)), + ), + 900: () => + v("default", "@jupyter-widgets/base", [ + , + [-1, 7, 0, 0], + [0, 2, 0, 0], + 2, + ]), + 832: () => v("default", "@lumino/widgets", [1, 1, 37, 2]), + }), + (m = { 423: [832], 855: [431], 900: [900] }), + (P.f.consumes = (e, r) => { + P.o(m, e) && + m[e].forEach((e) => { + if (P.o(y, e)) return r.push(y[e]); + var t = (r) => { + (y[e] = 0), + (P.m[e] = (t) => { + delete P.c[e], (t.exports = r()); + }); + }, + n = (r) => { + delete y[e], + (P.m[e] = (t) => { + throw (delete P.c[e], r); + }); + }; + try { + var o = g[e](); + o.then ? r.push((y[e] = o.then(t).catch(n))) : t(o); + } catch (e) { + n(e); + } + }); + }), + (() => { + var e = { 860: 0 }; + P.f.j = (r, t) => { + var n = P.o(e, r) ? e[r] : void 0; + if (0 !== n) + if (n) t.push(n[2]); + else if (900 != r) { + var o = new Promise((t, o) => (n = e[r] = [t, o])); + t.push((n[2] = o)); + var a = P.p + P.u(r), + i = new Error(); + P.l( + a, + (t) => { + if (P.o(e, r) && (0 !== (n = e[r]) && (e[r] = void 0), n)) { + var o = t && ("load" === t.type ? "missing" : t.type), + a = t && t.target && t.target.src; + (i.message = + "Loading chunk " + r + " failed.\n(" + o + ": " + a + ")"), + (i.name = "ChunkLoadError"), + (i.type = o), + (i.request = a), + n[1](i); + } + }, + "chunk-" + r, + r, + ); + } else e[r] = 0; + }; + var r = (r, t) => { + var n, + o, + [a, i, l] = t, + u = 0; + if (a.some((r) => 0 !== e[r])) { + for (n in i) P.o(i, n) && (P.m[n] = i[n]); + l && l(P); + } + for (r && r(t); u < a.length; u++) + (o = a[u]), P.o(e, o) && e[o] && e[o][0](), (e[o] = 0); + }, + t = (self.webpackChunkjupyterlab_plotly = + self.webpackChunkjupyterlab_plotly || []); + t.forEach(r.bind(null, 0)), (t.push = r.bind(null, t.push.bind(t))); + })(), + (P.nc = void 0); + var S = P(78); + (_JUPYTERLAB = void 0 === _JUPYTERLAB ? {} : _JUPYTERLAB)[ + "jupyterlab-plotly" + ] = S; +})(); diff --git a/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/style.js b/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/style.js index cdf3d73..f41781c 100644 --- a/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/style.js +++ b/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/style.js @@ -1,4 +1,2 @@ /* This is a generated file of CSS imports */ /* It was generated by @jupyterlab/builder in Build.ensureAssets() */ - - diff --git a/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/third-party-licenses.json b/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/third-party-licenses.json index c6667af..a3de678 100644 --- a/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/third-party-licenses.json +++ b/stock-env/share/jupyter/labextensions/jupyterlab-plotly/static/third-party-licenses.json @@ -25,4 +25,4 @@ "extractedText": "Copyright JS Foundation and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n" } ] -} \ No newline at end of file +} diff --git a/stock-env/share/jupyter/nbextensions/jupyterlab-plotly/extension.js b/stock-env/share/jupyter/nbextensions/jupyterlab-plotly/extension.js index 4a4d872..be80f2a 100644 --- a/stock-env/share/jupyter/nbextensions/jupyterlab-plotly/extension.js +++ b/stock-env/share/jupyter/nbextensions/jupyterlab-plotly/extension.js @@ -1,18 +1,17 @@ - // Entry point for the notebook bundle containing custom model definitions. // -define(function() { - "use strict"; +define(function () { + "use strict"; - window['requirejs'].config({ - map: { - '*': { - 'jupyterlab-plotly': 'nbextensions/jupyterlab-plotly/index', - }, - } - }); - // Export the required load_ipython_extension function - return { - load_ipython_extension : function() {} - }; -}); \ No newline at end of file + window["requirejs"].config({ + map: { + "*": { + "jupyterlab-plotly": "nbextensions/jupyterlab-plotly/index", + }, + }, + }); + // Export the required load_ipython_extension function + return { + load_ipython_extension: function () {}, + }; +}); diff --git a/stock-env/share/jupyter/nbextensions/jupyterlab-plotly/index.js b/stock-env/share/jupyter/nbextensions/jupyterlab-plotly/index.js index 54fad75..d77e729 100644 --- a/stock-env/share/jupyter/nbextensions/jupyterlab-plotly/index.js +++ b/stock-env/share/jupyter/nbextensions/jupyterlab-plotly/index.js @@ -1,2 +1,261479 @@ /*! For license information please see index.js.LICENSE.txt */ -define(["@jupyter-widgets/base"],(t=>(()=>{var e={486:function(t,e,r){var n;t=r.nmd(t),function(){var i,a="Expected a function",o="__lodash_hash_undefined__",s="__lodash_placeholder__",l=32,u=128,c=1/0,f=9007199254740991,h=NaN,p=4294967295,d=[["ary",u],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",l],["partialRight",64],["rearg",256]],v="[object Arguments]",g="[object Array]",y="[object Boolean]",m="[object Date]",x="[object Error]",b="[object Function]",_="[object GeneratorFunction]",w="[object Map]",T="[object Number]",k="[object Object]",A="[object Promise]",M="[object RegExp]",S="[object Set]",E="[object String]",L="[object Symbol]",C="[object WeakMap]",O="[object ArrayBuffer]",P="[object DataView]",I="[object Float32Array]",D="[object Float64Array]",z="[object Int8Array]",R="[object Int16Array]",F="[object Int32Array]",B="[object Uint8Array]",N="[object Uint8ClampedArray]",j="[object Uint16Array]",U="[object Uint32Array]",V=/\b__p \+= '';/g,H=/\b(__p \+=) '' \+/g,q=/(__e\(.*?\)|\b__t\)) \+\n'';/g,G=/&(?:amp|lt|gt|quot|#39);/g,Z=/[&<>"']/g,W=RegExp(G.source),Y=RegExp(Z.source),X=/<%-([\s\S]+?)%>/g,J=/<%([\s\S]+?)%>/g,K=/<%=([\s\S]+?)%>/g,$=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Q=/^\w*$/,tt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,et=/[\\^$.*+?()[\]{}|]/g,rt=RegExp(et.source),nt=/^\s+/,it=/\s/,at=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ot=/\{\n\/\* \[wrapped with (.+)\] \*/,st=/,? & /,lt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ut=/[()=,{}\[\]\/\s]/,ct=/\\(\\)?/g,ft=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ht=/\w*$/,pt=/^[-+]0x[0-9a-f]+$/i,dt=/^0b[01]+$/i,vt=/^\[object .+?Constructor\]$/,gt=/^0o[0-7]+$/i,yt=/^(?:0|[1-9]\d*)$/,mt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,xt=/($^)/,bt=/['\n\r\u2028\u2029\\]/g,_t="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",wt="a-z\\xdf-\\xf6\\xf8-\\xff",Tt="A-Z\\xc0-\\xd6\\xd8-\\xde",kt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",At="["+kt+"]",Mt="["+_t+"]",St="\\d+",Et="["+wt+"]",Lt="[^\\ud800-\\udfff"+kt+St+"\\u2700-\\u27bf"+wt+Tt+"]",Ct="\\ud83c[\\udffb-\\udfff]",Ot="[^\\ud800-\\udfff]",Pt="(?:\\ud83c[\\udde6-\\uddff]){2}",It="[\\ud800-\\udbff][\\udc00-\\udfff]",Dt="["+Tt+"]",zt="(?:"+Et+"|"+Lt+")",Rt="(?:"+Dt+"|"+Lt+")",Ft="(?:['’](?:d|ll|m|re|s|t|ve))?",Bt="(?:['’](?:D|LL|M|RE|S|T|VE))?",Nt="(?:"+Mt+"|"+Ct+")?",jt="[\\ufe0e\\ufe0f]?",Ut=jt+Nt+"(?:\\u200d(?:"+[Ot,Pt,It].join("|")+")"+jt+Nt+")*",Vt="(?:"+["[\\u2700-\\u27bf]",Pt,It].join("|")+")"+Ut,Ht="(?:"+[Ot+Mt+"?",Mt,Pt,It,"[\\ud800-\\udfff]"].join("|")+")",qt=RegExp("['’]","g"),Gt=RegExp(Mt,"g"),Zt=RegExp(Ct+"(?="+Ct+")|"+Ht+Ut,"g"),Wt=RegExp([Dt+"?"+Et+"+"+Ft+"(?="+[At,Dt,"$"].join("|")+")",Rt+"+"+Bt+"(?="+[At,Dt+zt,"$"].join("|")+")",Dt+"?"+zt+"+"+Ft,Dt+"+"+Bt,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",St,Vt].join("|"),"g"),Yt=RegExp("[\\u200d\\ud800-\\udfff"+_t+"\\ufe0e\\ufe0f]"),Xt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Jt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Kt=-1,$t={};$t[I]=$t[D]=$t[z]=$t[R]=$t[F]=$t[B]=$t[N]=$t[j]=$t[U]=!0,$t[v]=$t[g]=$t[O]=$t[y]=$t[P]=$t[m]=$t[x]=$t[b]=$t[w]=$t[T]=$t[k]=$t[M]=$t[S]=$t[E]=$t[C]=!1;var Qt={};Qt[v]=Qt[g]=Qt[O]=Qt[P]=Qt[y]=Qt[m]=Qt[I]=Qt[D]=Qt[z]=Qt[R]=Qt[F]=Qt[w]=Qt[T]=Qt[k]=Qt[M]=Qt[S]=Qt[E]=Qt[L]=Qt[B]=Qt[N]=Qt[j]=Qt[U]=!0,Qt[x]=Qt[b]=Qt[C]=!1;var te={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ee=parseFloat,re=parseInt,ne="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,ie="object"==typeof self&&self&&self.Object===Object&&self,ae=ne||ie||Function("return this")(),oe=e&&!e.nodeType&&e,se=oe&&t&&!t.nodeType&&t,le=se&&se.exports===oe,ue=le&&ne.process,ce=function(){try{return se&&se.require&&se.require("util").types||ue&&ue.binding&&ue.binding("util")}catch(t){}}(),fe=ce&&ce.isArrayBuffer,he=ce&&ce.isDate,pe=ce&&ce.isMap,de=ce&&ce.isRegExp,ve=ce&&ce.isSet,ge=ce&&ce.isTypedArray;function ye(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}function me(t,e,r,n){for(var i=-1,a=null==t?0:t.length;++i-1}function ke(t,e,r){for(var n=-1,i=null==t?0:t.length;++n-1;);return r}function We(t,e){for(var r=t.length;r--&&Ie(e,t[r],0)>-1;);return r}function Ye(t,e){for(var r=t.length,n=0;r--;)t[r]===e&&++n;return n}var Xe=Be({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),Je=Be({"&":"&","<":"<",">":">",'"':""","'":"'"});function Ke(t){return"\\"+te[t]}function $e(t){return Yt.test(t)}function Qe(t){var e=-1,r=Array(t.size);return t.forEach((function(t,n){r[++e]=[n,t]})),r}function tr(t,e){return function(r){return t(e(r))}}function er(t,e){for(var r=-1,n=t.length,i=0,a=[];++r",""":'"',"'":"'"}),lr=function t(e){var r,n=(e=null==e?ae:lr.defaults(ae.Object(),e,lr.pick(ae,Jt))).Array,it=e.Date,_t=e.Error,wt=e.Function,Tt=e.Math,kt=e.Object,At=e.RegExp,Mt=e.String,St=e.TypeError,Et=n.prototype,Lt=wt.prototype,Ct=kt.prototype,Ot=e["__core-js_shared__"],Pt=Lt.toString,It=Ct.hasOwnProperty,Dt=0,zt=(r=/[^.]+$/.exec(Ot&&Ot.keys&&Ot.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"",Rt=Ct.toString,Ft=Pt.call(kt),Bt=ae._,Nt=At("^"+Pt.call(It).replace(et,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),jt=le?e.Buffer:i,Ut=e.Symbol,Vt=e.Uint8Array,Ht=jt?jt.allocUnsafe:i,Zt=tr(kt.getPrototypeOf,kt),Yt=kt.create,te=Ct.propertyIsEnumerable,ne=Et.splice,ie=Ut?Ut.isConcatSpreadable:i,oe=Ut?Ut.iterator:i,se=Ut?Ut.toStringTag:i,ue=function(){try{var t=ua(kt,"defineProperty");return t({},"",{}),t}catch(t){}}(),ce=e.clearTimeout!==ae.clearTimeout&&e.clearTimeout,Ce=it&&it.now!==ae.Date.now&&it.now,Be=e.setTimeout!==ae.setTimeout&&e.setTimeout,ur=Tt.ceil,cr=Tt.floor,fr=kt.getOwnPropertySymbols,hr=jt?jt.isBuffer:i,pr=e.isFinite,dr=Et.join,vr=tr(kt.keys,kt),gr=Tt.max,yr=Tt.min,mr=it.now,xr=e.parseInt,br=Tt.random,_r=Et.reverse,wr=ua(e,"DataView"),Tr=ua(e,"Map"),kr=ua(e,"Promise"),Ar=ua(e,"Set"),Mr=ua(e,"WeakMap"),Sr=ua(kt,"create"),Er=Mr&&new Mr,Lr={},Cr=Ba(wr),Or=Ba(Tr),Pr=Ba(kr),Ir=Ba(Ar),Dr=Ba(Mr),zr=Ut?Ut.prototype:i,Rr=zr?zr.valueOf:i,Fr=zr?zr.toString:i;function Br(t){if(rs(t)&&!Go(t)&&!(t instanceof Vr)){if(t instanceof Ur)return t;if(It.call(t,"__wrapped__"))return Na(t)}return new Ur(t)}var Nr=function(){function t(){}return function(e){if(!es(e))return{};if(Yt)return Yt(e);t.prototype=e;var r=new t;return t.prototype=i,r}}();function jr(){}function Ur(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=i}function Vr(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=p,this.__views__=[]}function Hr(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function sn(t,e,r,n,a,o){var s,l=1&e,u=2&e,c=4&e;if(r&&(s=a?r(t,n,a,o):r(t)),s!==i)return s;if(!es(t))return t;var f=Go(t);if(f){if(s=function(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&It.call(t,"index")&&(r.index=t.index,r.input=t.input),r}(t),!l)return Si(t,s)}else{var h=ha(t),p=h==b||h==_;if(Xo(t))return _i(t,l);if(h==k||h==v||p&&!a){if(s=u||p?{}:da(t),!l)return u?function(t,e){return Ei(t,fa(t),e)}(t,function(t,e){return t&&Ei(e,Is(e),t)}(s,t)):function(t,e){return Ei(t,ca(t),e)}(t,rn(s,t))}else{if(!Qt[h])return a?t:{};s=function(t,e,r){var n,i=t.constructor;switch(e){case O:return wi(t);case y:case m:return new i(+t);case P:return function(t,e){var r=e?wi(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}(t,r);case I:case D:case z:case R:case F:case B:case N:case j:case U:return Ti(t,r);case w:return new i;case T:case E:return new i(t);case M:return function(t){var e=new t.constructor(t.source,ht.exec(t));return e.lastIndex=t.lastIndex,e}(t);case S:return new i;case L:return n=t,Rr?kt(Rr.call(n)):{}}}(t,h,l)}}o||(o=new Wr);var d=o.get(t);if(d)return d;o.set(t,s),ss(t)?t.forEach((function(n){s.add(sn(n,e,r,n,t,o))})):ns(t)&&t.forEach((function(n,i){s.set(i,sn(n,e,r,i,t,o))}));var g=f?i:(c?u?ra:ea:u?Is:Ps)(t);return xe(g||t,(function(n,i){g&&(n=t[i=n]),Qr(s,i,sn(n,e,r,i,t,o))})),s}function ln(t,e,r){var n=r.length;if(null==t)return!n;for(t=kt(t);n--;){var a=r[n],o=e[a],s=t[a];if(s===i&&!(a in t)||!o(s))return!1}return!0}function un(t,e,r){if("function"!=typeof t)throw new St(a);return La((function(){t.apply(i,r)}),e)}function cn(t,e,r,n){var i=-1,a=Te,o=!0,s=t.length,l=[],u=e.length;if(!s)return l;r&&(e=Ae(e,He(r))),n?(a=ke,o=!1):e.length>=200&&(a=Ge,o=!1,e=new Zr(e));t:for(;++i-1},qr.prototype.set=function(t,e){var r=this.__data__,n=tn(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this},Gr.prototype.clear=function(){this.size=0,this.__data__={hash:new Hr,map:new(Tr||qr),string:new Hr}},Gr.prototype.delete=function(t){var e=sa(this,t).delete(t);return this.size-=e?1:0,e},Gr.prototype.get=function(t){return sa(this,t).get(t)},Gr.prototype.has=function(t){return sa(this,t).has(t)},Gr.prototype.set=function(t,e){var r=sa(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this},Zr.prototype.add=Zr.prototype.push=function(t){return this.__data__.set(t,o),this},Zr.prototype.has=function(t){return this.__data__.has(t)},Wr.prototype.clear=function(){this.__data__=new qr,this.size=0},Wr.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},Wr.prototype.get=function(t){return this.__data__.get(t)},Wr.prototype.has=function(t){return this.__data__.has(t)},Wr.prototype.set=function(t,e){var r=this.__data__;if(r instanceof qr){var n=r.__data__;if(!Tr||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Gr(n)}return r.set(t,e),this.size=r.size,this};var fn=Oi(xn),hn=Oi(bn,!0);function pn(t,e){var r=!0;return fn(t,(function(t,n,i){return r=!!e(t,n,i)})),r}function dn(t,e,r){for(var n=-1,a=t.length;++n0&&r(s)?e>1?gn(s,e-1,r,n,i):Me(i,s):n||(i[i.length]=s)}return i}var yn=Pi(),mn=Pi(!0);function xn(t,e){return t&&yn(t,e,Ps)}function bn(t,e){return t&&mn(t,e,Ps)}function _n(t,e){return we(e,(function(e){return $o(t[e])}))}function wn(t,e){for(var r=0,n=(e=yi(e,t)).length;null!=t&&re}function Mn(t,e){return null!=t&&It.call(t,e)}function Sn(t,e){return null!=t&&e in kt(t)}function En(t,e,r){for(var a=r?ke:Te,o=t[0].length,s=t.length,l=s,u=n(s),c=1/0,f=[];l--;){var h=t[l];l&&e&&(h=Ae(h,He(e))),c=yr(h.length,c),u[l]=!r&&(e||o>=120&&h.length>=120)?new Zr(l&&h):i}h=t[0];var p=-1,d=u[0];t:for(;++p=s?l:l*("desc"==r[n]?-1:1)}return t.index-e.index}(t,e,r)}));n--;)t[n]=t[n].value;return t}(i)}function Hn(t,e,r){for(var n=-1,i=e.length,a={};++n-1;)s!==t&&ne.call(s,l,1),ne.call(t,l,1);return t}function Gn(t,e){for(var r=t?e.length:0,n=r-1;r--;){var i=e[r];if(r==n||i!==a){var a=i;ga(i)?ne.call(t,i,1):ui(t,i)}}return t}function Zn(t,e){return t+cr(br()*(e-t+1))}function Wn(t,e){var r="";if(!t||e<1||e>f)return r;do{e%2&&(r+=t),(e=cr(e/2))&&(t+=t)}while(e);return r}function Yn(t,e){return Ca(ka(t,e,il),t+"")}function Xn(t){return Xr(Us(t))}function Jn(t,e){var r=Us(t);return Ia(r,on(e,0,r.length))}function Kn(t,e,r,n){if(!es(t))return t;for(var a=-1,o=(e=yi(e,t)).length,s=o-1,l=t;null!=l&&++aa?0:a+e),(r=r>a?a:r)<0&&(r+=a),a=e>r?0:r-e>>>0,e>>>=0;for(var o=n(a);++i>>1,o=t[a];null!==o&&!us(o)&&(r?o<=e:o=200){var u=e?null:Wi(t);if(u)return rr(u);o=!1,i=Ge,l=new Zr}else l=e?[]:s;t:for(;++n=n?t:ei(t,e,r)}var bi=ce||function(t){return ae.clearTimeout(t)};function _i(t,e){if(e)return t.slice();var r=t.length,n=Ht?Ht(r):new t.constructor(r);return t.copy(n),n}function wi(t){var e=new t.constructor(t.byteLength);return new Vt(e).set(new Vt(t)),e}function Ti(t,e){var r=e?wi(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}function ki(t,e){if(t!==e){var r=t!==i,n=null===t,a=t==t,o=us(t),s=e!==i,l=null===e,u=e==e,c=us(e);if(!l&&!c&&!o&&t>e||o&&s&&u&&!l&&!c||n&&s&&u||!r&&u||!a)return 1;if(!n&&!o&&!c&&t1?r[a-1]:i,s=a>2?r[2]:i;for(o=t.length>3&&"function"==typeof o?(a--,o):i,s&&ya(r[0],r[1],s)&&(o=a<3?i:o,a=1),e=kt(e);++n-1?a[o?e[s]:s]:i}}function Fi(t){return ta((function(e){var r=e.length,n=r,o=Ur.prototype.thru;for(t&&e.reverse();n--;){var s=e[n];if("function"!=typeof s)throw new St(a);if(o&&!l&&"wrapper"==ia(s))var l=new Ur([],!0)}for(n=l?n:r;++n1&&x.reverse(),p&&fl))return!1;var c=o.get(t),f=o.get(e);if(c&&f)return c==e&&f==t;var h=-1,p=!0,d=2&r?new Zr:i;for(o.set(t,e),o.set(e,t);++h-1&&t%1==0&&t1?"& ":"")+e[n],e=e.join(r>2?", ":" "),t.replace(at,"{\n/* [wrapped with "+e+"] */\n")}(n,function(t,e){return xe(d,(function(r){var n="_."+r[0];e&r[1]&&!Te(t,n)&&t.push(n)})),t.sort()}(function(t){var e=t.match(ot);return e?e[1].split(st):[]}(n),r)))}function Pa(t){var e=0,r=0;return function(){var n=mr(),a=16-(n-r);if(r=n,a>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(i,arguments)}}function Ia(t,e){var r=-1,n=t.length,a=n-1;for(e=e===i?n:e;++r1?t[e-1]:i;return r="function"==typeof r?(t.pop(),r):i,ao(t,r)}));function ho(t){var e=Br(t);return e.__chain__=!0,e}function po(t,e){return e(t)}var vo=ta((function(t){var e=t.length,r=e?t[0]:0,n=this.__wrapped__,a=function(e){return an(e,t)};return!(e>1||this.__actions__.length)&&n instanceof Vr&&ga(r)?((n=n.slice(r,+r+(e?1:0))).__actions__.push({func:po,args:[a],thisArg:i}),new Ur(n,this.__chain__).thru((function(t){return e&&!t.length&&t.push(i),t}))):this.thru(a)})),go=Li((function(t,e,r){It.call(t,r)?++t[r]:nn(t,r,1)})),yo=Ri(Ha),mo=Ri(qa);function xo(t,e){return(Go(t)?xe:fn)(t,oa(e,3))}function bo(t,e){return(Go(t)?be:hn)(t,oa(e,3))}var _o=Li((function(t,e,r){It.call(t,r)?t[r].push(e):nn(t,r,[e])})),wo=Yn((function(t,e,r){var i=-1,a="function"==typeof e,o=Wo(t)?n(t.length):[];return fn(t,(function(t){o[++i]=a?ye(e,t,r):Ln(t,e,r)})),o})),To=Li((function(t,e,r){nn(t,r,e)}));function ko(t,e){return(Go(t)?Ae:Fn)(t,oa(e,3))}var Ao=Li((function(t,e,r){t[r?0:1].push(e)}),(function(){return[[],[]]})),Mo=Yn((function(t,e){if(null==t)return[];var r=e.length;return r>1&&ya(t,e[0],e[1])?e=[]:r>2&&ya(e[0],e[1],e[2])&&(e=[e[0]]),Vn(t,gn(e,1),[])})),So=Ce||function(){return ae.Date.now()};function Eo(t,e,r){return e=r?i:e,e=t&&null==e?t.length:e,Xi(t,u,i,i,i,i,e)}function Lo(t,e){var r;if("function"!=typeof e)throw new St(a);return t=vs(t),function(){return--t>0&&(r=e.apply(this,arguments)),t<=1&&(e=i),r}}var Co=Yn((function(t,e,r){var n=1;if(r.length){var i=er(r,aa(Co));n|=l}return Xi(t,n,e,r,i)})),Oo=Yn((function(t,e,r){var n=3;if(r.length){var i=er(r,aa(Oo));n|=l}return Xi(e,n,t,r,i)}));function Po(t,e,r){var n,o,s,l,u,c,f=0,h=!1,p=!1,d=!0;if("function"!=typeof t)throw new St(a);function v(e){var r=n,a=o;return n=o=i,f=e,l=t.apply(a,r)}function g(t){return f=t,u=La(m,e),h?v(t):l}function y(t){var r=t-c;return c===i||r>=e||r<0||p&&t-f>=s}function m(){var t=So();if(y(t))return x(t);u=La(m,function(t){var r=e-(t-c);return p?yr(r,s-(t-f)):r}(t))}function x(t){return u=i,d&&n?v(t):(n=o=i,l)}function b(){var t=So(),r=y(t);if(n=arguments,o=this,c=t,r){if(u===i)return g(c);if(p)return bi(u),u=La(m,e),v(c)}return u===i&&(u=La(m,e)),l}return e=ys(e)||0,es(r)&&(h=!!r.leading,s=(p="maxWait"in r)?gr(ys(r.maxWait)||0,e):s,d="trailing"in r?!!r.trailing:d),b.cancel=function(){u!==i&&bi(u),f=0,n=c=o=u=i},b.flush=function(){return u===i?l:x(So())},b}var Io=Yn((function(t,e){return un(t,1,e)})),Do=Yn((function(t,e,r){return un(t,ys(e)||0,r)}));function zo(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new St(a);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var o=t.apply(this,n);return r.cache=a.set(i,o)||a,o};return r.cache=new(zo.Cache||Gr),r}function Ro(t){if("function"!=typeof t)throw new St(a);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}zo.Cache=Gr;var Fo=mi((function(t,e){var r=(e=1==e.length&&Go(e[0])?Ae(e[0],He(oa())):Ae(gn(e,1),He(oa()))).length;return Yn((function(n){for(var i=-1,a=yr(n.length,r);++i=e})),qo=Cn(function(){return arguments}())?Cn:function(t){return rs(t)&&It.call(t,"callee")&&!te.call(t,"callee")},Go=n.isArray,Zo=fe?He(fe):function(t){return rs(t)&&kn(t)==O};function Wo(t){return null!=t&&ts(t.length)&&!$o(t)}function Yo(t){return rs(t)&&Wo(t)}var Xo=hr||yl,Jo=he?He(he):function(t){return rs(t)&&kn(t)==m};function Ko(t){if(!rs(t))return!1;var e=kn(t);return e==x||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!as(t)}function $o(t){if(!es(t))return!1;var e=kn(t);return e==b||e==_||"[object AsyncFunction]"==e||"[object Proxy]"==e}function Qo(t){return"number"==typeof t&&t==vs(t)}function ts(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=f}function es(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function rs(t){return null!=t&&"object"==typeof t}var ns=pe?He(pe):function(t){return rs(t)&&ha(t)==w};function is(t){return"number"==typeof t||rs(t)&&kn(t)==T}function as(t){if(!rs(t)||kn(t)!=k)return!1;var e=Zt(t);if(null===e)return!0;var r=It.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&Pt.call(r)==Ft}var os=de?He(de):function(t){return rs(t)&&kn(t)==M},ss=ve?He(ve):function(t){return rs(t)&&ha(t)==S};function ls(t){return"string"==typeof t||!Go(t)&&rs(t)&&kn(t)==E}function us(t){return"symbol"==typeof t||rs(t)&&kn(t)==L}var cs=ge?He(ge):function(t){return rs(t)&&ts(t.length)&&!!$t[kn(t)]},fs=qi(Rn),hs=qi((function(t,e){return t<=e}));function ps(t){if(!t)return[];if(Wo(t))return ls(t)?ar(t):Si(t);if(oe&&t[oe])return function(t){for(var e,r=[];!(e=t.next()).done;)r.push(e.value);return r}(t[oe]());var e=ha(t);return(e==w?Qe:e==S?rr:Us)(t)}function ds(t){return t?(t=ys(t))===c||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function vs(t){var e=ds(t),r=e%1;return e==e?r?e-r:e:0}function gs(t){return t?on(vs(t),0,p):0}function ys(t){if("number"==typeof t)return t;if(us(t))return h;if(es(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=es(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Ve(t);var r=dt.test(t);return r||gt.test(t)?re(t.slice(2),r?2:8):pt.test(t)?h:+t}function ms(t){return Ei(t,Is(t))}function xs(t){return null==t?"":si(t)}var bs=Ci((function(t,e){if(_a(e)||Wo(e))Ei(e,Ps(e),t);else for(var r in e)It.call(e,r)&&Qr(t,r,e[r])})),_s=Ci((function(t,e){Ei(e,Is(e),t)})),ws=Ci((function(t,e,r,n){Ei(e,Is(e),t,n)})),Ts=Ci((function(t,e,r,n){Ei(e,Ps(e),t,n)})),ks=ta(an),As=Yn((function(t,e){t=kt(t);var r=-1,n=e.length,a=n>2?e[2]:i;for(a&&ya(e[0],e[1],a)&&(n=1);++r1),e})),Ei(t,ra(t),r),n&&(r=sn(r,7,$i));for(var i=e.length;i--;)ui(r,e[i]);return r})),Fs=ta((function(t,e){return null==t?{}:function(t,e){return Hn(t,e,(function(e,r){return Es(t,r)}))}(t,e)}));function Bs(t,e){if(null==t)return{};var r=Ae(ra(t),(function(t){return[t]}));return e=oa(e),Hn(t,r,(function(t,r){return e(t,r[0])}))}var Ns=Yi(Ps),js=Yi(Is);function Us(t){return null==t?[]:qe(t,Ps(t))}var Vs=Di((function(t,e,r){return e=e.toLowerCase(),t+(r?Hs(e):e)}));function Hs(t){return Ks(xs(t).toLowerCase())}function qs(t){return(t=xs(t))&&t.replace(mt,Xe).replace(Gt,"")}var Gs=Di((function(t,e,r){return t+(r?"-":"")+e.toLowerCase()})),Zs=Di((function(t,e,r){return t+(r?" ":"")+e.toLowerCase()})),Ws=Ii("toLowerCase"),Ys=Di((function(t,e,r){return t+(r?"_":"")+e.toLowerCase()})),Xs=Di((function(t,e,r){return t+(r?" ":"")+Ks(e)})),Js=Di((function(t,e,r){return t+(r?" ":"")+e.toUpperCase()})),Ks=Ii("toUpperCase");function $s(t,e,r){return t=xs(t),(e=r?i:e)===i?function(t){return Xt.test(t)}(t)?function(t){return t.match(Wt)||[]}(t):function(t){return t.match(lt)||[]}(t):t.match(e)||[]}var Qs=Yn((function(t,e){try{return ye(t,i,e)}catch(t){return Ko(t)?t:new _t(t)}})),tl=ta((function(t,e){return xe(e,(function(e){e=Fa(e),nn(t,e,Co(t[e],t))})),t}));function el(t){return function(){return t}}var rl=Fi(),nl=Fi(!0);function il(t){return t}function al(t){return Dn("function"==typeof t?t:sn(t,1))}var ol=Yn((function(t,e){return function(r){return Ln(r,t,e)}})),sl=Yn((function(t,e){return function(r){return Ln(t,r,e)}}));function ll(t,e,r){var n=Ps(e),i=_n(e,n);null!=r||es(e)&&(i.length||!n.length)||(r=e,e=t,t=this,i=_n(e,Ps(e)));var a=!(es(r)&&"chain"in r&&!r.chain),o=$o(t);return xe(i,(function(r){var n=e[r];t[r]=n,o&&(t.prototype[r]=function(){var e=this.__chain__;if(a||e){var r=t(this.__wrapped__),i=r.__actions__=Si(this.__actions__);return i.push({func:n,args:arguments,thisArg:t}),r.__chain__=e,r}return n.apply(t,Me([this.value()],arguments))})})),t}function ul(){}var cl=Ui(Ae),fl=Ui(_e),hl=Ui(Le);function pl(t){return ma(t)?Fe(Fa(t)):function(t){return function(e){return wn(e,t)}}(t)}var dl=Hi(),vl=Hi(!0);function gl(){return[]}function yl(){return!1}var ml,xl=ji((function(t,e){return t+e}),0),bl=Zi("ceil"),_l=ji((function(t,e){return t/e}),1),wl=Zi("floor"),Tl=ji((function(t,e){return t*e}),1),kl=Zi("round"),Al=ji((function(t,e){return t-e}),0);return Br.after=function(t,e){if("function"!=typeof e)throw new St(a);return t=vs(t),function(){if(--t<1)return e.apply(this,arguments)}},Br.ary=Eo,Br.assign=bs,Br.assignIn=_s,Br.assignInWith=ws,Br.assignWith=Ts,Br.at=ks,Br.before=Lo,Br.bind=Co,Br.bindAll=tl,Br.bindKey=Oo,Br.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return Go(t)?t:[t]},Br.chain=ho,Br.chunk=function(t,e,r){e=(r?ya(t,e,r):e===i)?1:gr(vs(e),0);var a=null==t?0:t.length;if(!a||e<1)return[];for(var o=0,s=0,l=n(ur(a/e));oa?0:a+r),(n=n===i||n>a?a:vs(n))<0&&(n+=a),n=r>n?0:gs(n);r>>0)?(t=xs(t))&&("string"==typeof e||null!=e&&!os(e))&&!(e=si(e))&&$e(t)?xi(ar(t),0,r):t.split(e,r):[]},Br.spread=function(t,e){if("function"!=typeof t)throw new St(a);return e=null==e?0:gr(vs(e),0),Yn((function(r){var n=r[e],i=xi(r,0,e);return n&&Me(i,n),ye(t,this,i)}))},Br.tail=function(t){var e=null==t?0:t.length;return e?ei(t,1,e):[]},Br.take=function(t,e,r){return t&&t.length?ei(t,0,(e=r||e===i?1:vs(e))<0?0:e):[]},Br.takeRight=function(t,e,r){var n=null==t?0:t.length;return n?ei(t,(e=n-(e=r||e===i?1:vs(e)))<0?0:e,n):[]},Br.takeRightWhile=function(t,e){return t&&t.length?fi(t,oa(e,3),!1,!0):[]},Br.takeWhile=function(t,e){return t&&t.length?fi(t,oa(e,3)):[]},Br.tap=function(t,e){return e(t),t},Br.throttle=function(t,e,r){var n=!0,i=!0;if("function"!=typeof t)throw new St(a);return es(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),Po(t,e,{leading:n,maxWait:e,trailing:i})},Br.thru=po,Br.toArray=ps,Br.toPairs=Ns,Br.toPairsIn=js,Br.toPath=function(t){return Go(t)?Ae(t,Fa):us(t)?[t]:Si(Ra(xs(t)))},Br.toPlainObject=ms,Br.transform=function(t,e,r){var n=Go(t),i=n||Xo(t)||cs(t);if(e=oa(e,4),null==r){var a=t&&t.constructor;r=i?n?new a:[]:es(t)&&$o(a)?Nr(Zt(t)):{}}return(i?xe:xn)(t,(function(t,n,i){return e(r,t,n,i)})),r},Br.unary=function(t){return Eo(t,1)},Br.union=eo,Br.unionBy=ro,Br.unionWith=no,Br.uniq=function(t){return t&&t.length?li(t):[]},Br.uniqBy=function(t,e){return t&&t.length?li(t,oa(e,2)):[]},Br.uniqWith=function(t,e){return e="function"==typeof e?e:i,t&&t.length?li(t,i,e):[]},Br.unset=function(t,e){return null==t||ui(t,e)},Br.unzip=io,Br.unzipWith=ao,Br.update=function(t,e,r){return null==t?t:ci(t,e,gi(r))},Br.updateWith=function(t,e,r,n){return n="function"==typeof n?n:i,null==t?t:ci(t,e,gi(r),n)},Br.values=Us,Br.valuesIn=function(t){return null==t?[]:qe(t,Is(t))},Br.without=oo,Br.words=$s,Br.wrap=function(t,e){return Bo(gi(e),t)},Br.xor=so,Br.xorBy=lo,Br.xorWith=uo,Br.zip=co,Br.zipObject=function(t,e){return di(t||[],e||[],Qr)},Br.zipObjectDeep=function(t,e){return di(t||[],e||[],Kn)},Br.zipWith=fo,Br.entries=Ns,Br.entriesIn=js,Br.extend=_s,Br.extendWith=ws,ll(Br,Br),Br.add=xl,Br.attempt=Qs,Br.camelCase=Vs,Br.capitalize=Hs,Br.ceil=bl,Br.clamp=function(t,e,r){return r===i&&(r=e,e=i),r!==i&&(r=(r=ys(r))==r?r:0),e!==i&&(e=(e=ys(e))==e?e:0),on(ys(t),e,r)},Br.clone=function(t){return sn(t,4)},Br.cloneDeep=function(t){return sn(t,5)},Br.cloneDeepWith=function(t,e){return sn(t,5,e="function"==typeof e?e:i)},Br.cloneWith=function(t,e){return sn(t,4,e="function"==typeof e?e:i)},Br.conformsTo=function(t,e){return null==e||ln(t,e,Ps(e))},Br.deburr=qs,Br.defaultTo=function(t,e){return null==t||t!=t?e:t},Br.divide=_l,Br.endsWith=function(t,e,r){t=xs(t),e=si(e);var n=t.length,a=r=r===i?n:on(vs(r),0,n);return(r-=e.length)>=0&&t.slice(r,a)==e},Br.eq=Uo,Br.escape=function(t){return(t=xs(t))&&Y.test(t)?t.replace(Z,Je):t},Br.escapeRegExp=function(t){return(t=xs(t))&&rt.test(t)?t.replace(et,"\\$&"):t},Br.every=function(t,e,r){var n=Go(t)?_e:pn;return r&&ya(t,e,r)&&(e=i),n(t,oa(e,3))},Br.find=yo,Br.findIndex=Ha,Br.findKey=function(t,e){return Oe(t,oa(e,3),xn)},Br.findLast=mo,Br.findLastIndex=qa,Br.findLastKey=function(t,e){return Oe(t,oa(e,3),bn)},Br.floor=wl,Br.forEach=xo,Br.forEachRight=bo,Br.forIn=function(t,e){return null==t?t:yn(t,oa(e,3),Is)},Br.forInRight=function(t,e){return null==t?t:mn(t,oa(e,3),Is)},Br.forOwn=function(t,e){return t&&xn(t,oa(e,3))},Br.forOwnRight=function(t,e){return t&&bn(t,oa(e,3))},Br.get=Ss,Br.gt=Vo,Br.gte=Ho,Br.has=function(t,e){return null!=t&&pa(t,e,Mn)},Br.hasIn=Es,Br.head=Za,Br.identity=il,Br.includes=function(t,e,r,n){t=Wo(t)?t:Us(t),r=r&&!n?vs(r):0;var i=t.length;return r<0&&(r=gr(i+r,0)),ls(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&Ie(t,e,r)>-1},Br.indexOf=function(t,e,r){var n=null==t?0:t.length;if(!n)return-1;var i=null==r?0:vs(r);return i<0&&(i=gr(n+i,0)),Ie(t,e,i)},Br.inRange=function(t,e,r){return e=ds(e),r===i?(r=e,e=0):r=ds(r),function(t,e,r){return t>=yr(e,r)&&t=-9007199254740991&&t<=f},Br.isSet=ss,Br.isString=ls,Br.isSymbol=us,Br.isTypedArray=cs,Br.isUndefined=function(t){return t===i},Br.isWeakMap=function(t){return rs(t)&&ha(t)==C},Br.isWeakSet=function(t){return rs(t)&&"[object WeakSet]"==kn(t)},Br.join=function(t,e){return null==t?"":dr.call(t,e)},Br.kebabCase=Gs,Br.last=Ja,Br.lastIndexOf=function(t,e,r){var n=null==t?0:t.length;if(!n)return-1;var a=n;return r!==i&&(a=(a=vs(r))<0?gr(n+a,0):yr(a,n-1)),e==e?function(t,e,r){for(var n=r+1;n--;)if(t[n]===e)return n;return n}(t,e,a):Pe(t,ze,a,!0)},Br.lowerCase=Zs,Br.lowerFirst=Ws,Br.lt=fs,Br.lte=hs,Br.max=function(t){return t&&t.length?dn(t,il,An):i},Br.maxBy=function(t,e){return t&&t.length?dn(t,oa(e,2),An):i},Br.mean=function(t){return Re(t,il)},Br.meanBy=function(t,e){return Re(t,oa(e,2))},Br.min=function(t){return t&&t.length?dn(t,il,Rn):i},Br.minBy=function(t,e){return t&&t.length?dn(t,oa(e,2),Rn):i},Br.stubArray=gl,Br.stubFalse=yl,Br.stubObject=function(){return{}},Br.stubString=function(){return""},Br.stubTrue=function(){return!0},Br.multiply=Tl,Br.nth=function(t,e){return t&&t.length?Un(t,vs(e)):i},Br.noConflict=function(){return ae._===this&&(ae._=Bt),this},Br.noop=ul,Br.now=So,Br.pad=function(t,e,r){t=xs(t);var n=(e=vs(e))?ir(t):0;if(!e||n>=e)return t;var i=(e-n)/2;return Vi(cr(i),r)+t+Vi(ur(i),r)},Br.padEnd=function(t,e,r){t=xs(t);var n=(e=vs(e))?ir(t):0;return e&&ne){var n=t;t=e,e=n}if(r||t%1||e%1){var a=br();return yr(t+a*(e-t+ee("1e-"+((a+"").length-1))),e)}return Zn(t,e)},Br.reduce=function(t,e,r){var n=Go(t)?Se:Ne,i=arguments.length<3;return n(t,oa(e,4),r,i,fn)},Br.reduceRight=function(t,e,r){var n=Go(t)?Ee:Ne,i=arguments.length<3;return n(t,oa(e,4),r,i,hn)},Br.repeat=function(t,e,r){return e=(r?ya(t,e,r):e===i)?1:vs(e),Wn(xs(t),e)},Br.replace=function(){var t=arguments,e=xs(t[0]);return t.length<3?e:e.replace(t[1],t[2])},Br.result=function(t,e,r){var n=-1,a=(e=yi(e,t)).length;for(a||(a=1,t=i);++nf)return[];var r=p,n=yr(t,p);e=oa(e),t-=p;for(var i=Ue(n,e);++r=o)return t;var l=r-ir(n);if(l<1)return n;var u=s?xi(s,0,l).join(""):t.slice(0,l);if(a===i)return u+n;if(s&&(l+=u.length-l),os(a)){if(t.slice(l).search(a)){var c,f=u;for(a.global||(a=At(a.source,xs(ht.exec(a))+"g")),a.lastIndex=0;c=a.exec(f);)var h=c.index;u=u.slice(0,h===i?l:h)}}else if(t.indexOf(si(a),l)!=l){var p=u.lastIndexOf(a);p>-1&&(u=u.slice(0,p))}return u+n},Br.unescape=function(t){return(t=xs(t))&&W.test(t)?t.replace(G,sr):t},Br.uniqueId=function(t){var e=++Dt;return xs(t)+e},Br.upperCase=Js,Br.upperFirst=Ks,Br.each=xo,Br.eachRight=bo,Br.first=Za,ll(Br,(ml={},xn(Br,(function(t,e){It.call(Br.prototype,e)||(ml[e]=t)})),ml),{chain:!1}),Br.VERSION="4.17.21",xe(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(t){Br[t].placeholder=Br})),xe(["drop","take"],(function(t,e){Vr.prototype[t]=function(r){r=r===i?1:gr(vs(r),0);var n=this.__filtered__&&!e?new Vr(this):this.clone();return n.__filtered__?n.__takeCount__=yr(r,n.__takeCount__):n.__views__.push({size:yr(r,p),type:t+(n.__dir__<0?"Right":"")}),n},Vr.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}})),xe(["filter","map","takeWhile"],(function(t,e){var r=e+1,n=1==r||3==r;Vr.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:oa(t,3),type:r}),e.__filtered__=e.__filtered__||n,e}})),xe(["head","last"],(function(t,e){var r="take"+(e?"Right":"");Vr.prototype[t]=function(){return this[r](1).value()[0]}})),xe(["initial","tail"],(function(t,e){var r="drop"+(e?"":"Right");Vr.prototype[t]=function(){return this.__filtered__?new Vr(this):this[r](1)}})),Vr.prototype.compact=function(){return this.filter(il)},Vr.prototype.find=function(t){return this.filter(t).head()},Vr.prototype.findLast=function(t){return this.reverse().find(t)},Vr.prototype.invokeMap=Yn((function(t,e){return"function"==typeof t?new Vr(this):this.map((function(r){return Ln(r,t,e)}))})),Vr.prototype.reject=function(t){return this.filter(Ro(oa(t)))},Vr.prototype.slice=function(t,e){t=vs(t);var r=this;return r.__filtered__&&(t>0||e<0)?new Vr(r):(t<0?r=r.takeRight(-t):t&&(r=r.drop(t)),e!==i&&(r=(e=vs(e))<0?r.dropRight(-e):r.take(e-t)),r)},Vr.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Vr.prototype.toArray=function(){return this.take(p)},xn(Vr.prototype,(function(t,e){var r=/^(?:filter|find|map|reject)|While$/.test(e),n=/^(?:head|last)$/.test(e),a=Br[n?"take"+("last"==e?"Right":""):e],o=n||/^find/.test(e);a&&(Br.prototype[e]=function(){var e=this.__wrapped__,s=n?[1]:arguments,l=e instanceof Vr,u=s[0],c=l||Go(e),f=function(t){var e=a.apply(Br,Me([t],s));return n&&h?e[0]:e};c&&r&&"function"==typeof u&&1!=u.length&&(l=c=!1);var h=this.__chain__,p=!!this.__actions__.length,d=o&&!h,v=l&&!p;if(!o&&c){e=v?e:new Vr(this);var g=t.apply(e,s);return g.__actions__.push({func:po,args:[f],thisArg:i}),new Ur(g,h)}return d&&v?t.apply(this,s):(g=this.thru(f),d?n?g.value()[0]:g.value():g)})})),xe(["pop","push","shift","sort","splice","unshift"],(function(t){var e=Et[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",n=/^(?:pop|shift)$/.test(t);Br.prototype[t]=function(){var t=arguments;if(n&&!this.__chain__){var i=this.value();return e.apply(Go(i)?i:[],t)}return this[r]((function(r){return e.apply(Go(r)?r:[],t)}))}})),xn(Vr.prototype,(function(t,e){var r=Br[e];if(r){var n=r.name+"";It.call(Lr,n)||(Lr[n]=[]),Lr[n].push({name:e,func:r})}})),Lr[Bi(i,2).name]=[{name:"wrapper",func:i}],Vr.prototype.clone=function(){var t=new Vr(this.__wrapped__);return t.__actions__=Si(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Si(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Si(this.__views__),t},Vr.prototype.reverse=function(){if(this.__filtered__){var t=new Vr(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},Vr.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,r=Go(t),n=e<0,i=r?t.length:0,a=function(t,e,r){for(var n=-1,i=r.length;++n=this.__values__.length;return{done:t,value:t?i:this.__values__[this.__index__++]}},Br.prototype.plant=function(t){for(var e,r=this;r instanceof jr;){var n=Na(r);n.__index__=0,n.__values__=i,e?a.__wrapped__=n:e=n;var a=n;r=r.__wrapped__}return a.__wrapped__=t,e},Br.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof Vr){var e=t;return this.__actions__.length&&(e=new Vr(this)),(e=e.reverse()).__actions__.push({func:po,args:[to],thisArg:i}),new Ur(e,this.__chain__)}return this.thru(to)},Br.prototype.toJSON=Br.prototype.valueOf=Br.prototype.value=function(){return hi(this.__wrapped__,this.__actions__)},Br.prototype.first=Br.prototype.head,oe&&(Br.prototype[oe]=function(){return this}),Br}();ae._=lr,(n=function(){return lr}.call(e,r,e,t))===i||(t.exports=n)}.call(this)},478:t=>{var e;self,e=function(){return function(){var t={98847:function(t,e,r){"use strict";var n=r(71828),i={"X,X div":'direction:ltr;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 .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;","X .modebar--hover>:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","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:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;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,.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:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var a in i){var o=a.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,i[a])}},98222:function(t,e,r){"use strict";t.exports=r(82887)},27206:function(t,e,r){"use strict";t.exports=r(60822)},59893:function(t,e,r){"use strict";t.exports=r(23381)},5224:function(t,e,r){"use strict";t.exports=r(83832)},59509:function(t,e,r){"use strict";t.exports=r(72201)},75557:function(t,e,r){"use strict";t.exports=r(91815)},40338:function(t,e,r){"use strict";t.exports=r(21462)},35080:function(t,e,r){"use strict";t.exports=r(51319)},61396:function(t,e,r){"use strict";t.exports=r(57516)},40549:function(t,e,r){"use strict";t.exports=r(98128)},49866:function(t,e,r){"use strict";t.exports=r(99442)},36089:function(t,e,r){"use strict";t.exports=r(93740)},19548:function(t,e,r){"use strict";t.exports=r(8729)},35831:function(t,e,r){"use strict";t.exports=r(93814)},61039:function(t,e,r){"use strict";t.exports=r(14382)},97040:function(t,e,r){"use strict";t.exports=r(51759)},77986:function(t,e,r){"use strict";t.exports=r(10421)},24296:function(t,e,r){"use strict";t.exports=r(43102)},58872:function(t,e,r){"use strict";t.exports=r(92165)},29626:function(t,e,r){"use strict";t.exports=r(3325)},65591:function(t,e,r){"use strict";t.exports=r(36071)},69738:function(t,e,r){"use strict";t.exports=r(43905)},92650:function(t,e,r){"use strict";t.exports=r(35902)},35630:function(t,e,r){"use strict";t.exports=r(69816)},73434:function(t,e,r){"use strict";t.exports=r(94507)},27909:function(t,e,r){"use strict";var n=r(19548);n.register([r(27206),r(5224),r(58872),r(65591),r(69738),r(92650),r(49866),r(25743),r(6197),r(97040),r(85461),r(73434),r(54201),r(81299),r(47645),r(35630),r(77986),r(83043),r(93005),r(96881),r(4534),r(50581),r(40549),r(77900),r(47582),r(35080),r(21641),r(17280),r(5861),r(29626),r(10021),r(65317),r(96268),r(61396),r(35831),r(16122),r(46163),r(40344),r(40338),r(48131),r(36089),r(55334),r(75557),r(19440),r(99488),r(59893),r(97393),r(98222),r(61039),r(24296),r(66398),r(59509)]),t.exports=n},46163:function(t,e,r){"use strict";t.exports=r(15154)},96881:function(t,e,r){"use strict";t.exports=r(64943)},50581:function(t,e,r){"use strict";t.exports=r(21164)},55334:function(t,e,r){"use strict";t.exports=r(54186)},65317:function(t,e,r){"use strict";t.exports=r(94873)},10021:function(t,e,r){"use strict";t.exports=r(67618)},54201:function(t,e,r){"use strict";t.exports=r(58810)},5861:function(t,e,r){"use strict";t.exports=r(20593)},16122:function(t,e,r){"use strict";t.exports=r(29396)},83043:function(t,e,r){"use strict";t.exports=r(13551)},48131:function(t,e,r){"use strict";t.exports=r(46858)},47582:function(t,e,r){"use strict";t.exports=r(17988)},21641:function(t,e,r){"use strict";t.exports=r(68868)},96268:function(t,e,r){"use strict";t.exports=r(20467)},19440:function(t,e,r){"use strict";t.exports=r(91271)},99488:function(t,e,r){"use strict";t.exports=r(21461)},97393:function(t,e,r){"use strict";t.exports=r(85956)},25743:function(t,e,r){"use strict";t.exports=r(52979)},66398:function(t,e,r){"use strict";t.exports=r(32275)},17280:function(t,e,r){"use strict";t.exports=r(6419)},77900:function(t,e,r){"use strict";t.exports=r(61510)},81299:function(t,e,r){"use strict";t.exports=r(87619)},93005:function(t,e,r){"use strict";t.exports=r(93601)},40344:function(t,e,r){"use strict";t.exports=r(96595)},47645:function(t,e,r){"use strict";t.exports=r(70954)},6197:function(t,e,r){"use strict";t.exports=r(47462)},4534:function(t,e,r){"use strict";t.exports=r(17659)},85461:function(t,e,r){"use strict";t.exports=r(19990)},82884:function(t){"use strict";t.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},50215:function(t,e,r){"use strict";var n=r(82884),i=r(41940),a=r(85555),o=r(44467).templatedArray;r(24695),t.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+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:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.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:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",a.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",a.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+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:i({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},3749:function(t,e,r){"use strict";var n=r(71828),i=r(89298),a=r(92605).draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref),a=i.getRefType(e.xref),o=i.getRefType(e.yref);e._extremes={},"range"===a&&s(e,r),"range"===o&&s(e,n)}))}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t["a"+a],l=t[a+"ref"],u=t["a"+a+"ref"],c=t["_"+a+"padplus"],f=t["_"+a+"padminus"],h={x:1,y:-1}[a]*t[a+"shift"],p=3*t.arrowsize*t.arrowwidth||0,d=p+h,v=p-h,g=3*t.startarrowsize*t.arrowwidth||0,y=g+h,m=g-h;if(u===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:v}),b=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(c,y),ppadminus:Math.max(f,m)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else y=s?y+s:y,m=s?m-s:m,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(c,d,y),ppadminus:Math.max(f,v,m)});t._extremes[n]=r}t.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},44317:function(t,e,r){"use strict";var n=r(71828),i=r(73972),a=r(44467).arrayEditor;function o(t,e){var r,n,i,a,o,l,u,c=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),u=l.on,c=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(u.length||c.length){for(r=0;r2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var W=!1,Y=["x","y"],X=0;X1)&&(nt===rt?((pt=it.r2fraction(e["a"+et]))<0||pt>1)&&(W=!0):W=!0),J=it._offset+it.r2p(e[et]),Q=.5}else{var dt="domain"===ht;"x"===et?($=e[et],J=dt?it._offset+it._length*$:J=T.l+T.w*$):($=1-e[et],J=dt?it._offset+it._length*$:J=T.t+T.h*$),Q=e.showarrow?.5:$}if(e.showarrow){ft.head=J;var vt=e["a"+et];if(tt=ot*q(.5,e.xanchor)-st*q(.5,e.yanchor),nt===rt){var gt=l.getRefType(nt);"domain"===gt?("y"===et&&(vt=1-vt),ft.tail=it._offset+it._length*vt):"paper"===gt?"y"===et?(vt=1-vt,ft.tail=T.t+T.h*vt):ft.tail=T.l+T.w*vt:ft.tail=it._offset+it.r2p(vt),K=tt}else ft.tail=J+vt,K=tt+vt;ft.text=ft.tail+tt;var yt=w["x"===et?"width":"height"];if("paper"===rt&&(ft.head=o.constrain(ft.head,1,yt-1)),"pixel"===nt){var mt=-Math.max(ft.tail-3,ft.text),xt=Math.min(ft.tail+3,ft.text)-yt;mt>0?(ft.tail+=mt,ft.text+=mt):xt>0&&(ft.tail-=xt,ft.text-=xt)}ft.tail+=ct,ft.head+=ct}else K=tt=lt*q(Q,ut),ft.text=J+tt;ft.text+=ct,tt+=ct,K+=ct,e["_"+et+"padplus"]=lt/2+K,e["_"+et+"padminus"]=lt/2-K,e["_"+et+"size"]=lt,e["_"+et+"shift"]=tt}if(W)R.remove();else{var bt=0,_t=0;if("left"!==e.align&&(bt=(A-b)*("center"===e.align?.5:1)),"top"!==e.valign&&(_t=(z-_)*("middle"===e.valign?.5:1)),f)n.select("svg").attr({x:N+bt-1,y:N+_t}).call(c.setClipUrl,U?L:null,t);else{var wt=N+_t-v.top,Tt=N+bt-v.left;G.call(h.positionText,Tt,wt).call(c.setClipUrl,U?L:null,t)}V.select("rect").call(c.setRect,N,N,A,z),j.call(c.setRect,F/2,F/2,B-F,H-F),R.call(c.setTranslate,Math.round(C.x.text-B/2),Math.round(C.y.text-H/2)),I.attr({transform:"rotate("+O+","+C.x.text+","+C.y.text+")"});var kt,At=function(r,n){P.selectAll(".annotation-arrow-g").remove();var l=C.x.head,f=C.y.head,h=C.x.tail+r,p=C.y.tail+n,v=C.x.text+r,b=C.y.text+n,_=o.rotationXYMatrix(O,v,b),w=o.apply2DTransform(_),A=o.apply2DTransform2(_),L=+j.attr("width"),D=+j.attr("height"),z=v-.5*L,F=z+L,B=b-.5*D,N=B+D,U=[[z,B,z,N],[z,N,F,N],[F,N,F,B],[F,B,z,B]].map(A);if(!U.reduce((function(t,e){return t^!!o.segmentsIntersect(l,f,l+1e6,f+1e6,e[0],e[1],e[2],e[3])}),!1)){U.forEach((function(t){var e=o.segmentsIntersect(h,p,l,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,p=e.y)}));var V=e.arrowwidth,H=e.arrowcolor,q=e.arrowside,G=P.append("g").style({opacity:u.opacity(H)}).classed("annotation-arrow-g",!0),Z=G.append("path").attr("d","M"+h+","+p+"L"+l+","+f).style("stroke-width",V+"px").call(u.stroke,u.rgb(H));if(g(Z,q,e),k.annotationPosition&&Z.node().parentNode&&!a){var W=l,Y=f;if(e.standoff){var X=Math.sqrt(Math.pow(l-h,2)+Math.pow(f-p,2));W+=e.standoff*(h-l)/X,Y+=e.standoff*(p-f)/X}var J,K,$=G.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-W)+","+(p-Y),transform:s(W,Y)}).style("stroke-width",V+6+"px").call(u.stroke,"rgba(0,0,0,0)").call(u.fill,"rgba(0,0,0,0)");d.init({element:$.node(),gd:t,prepFn:function(){var t=c.getTranslate(R);J=t.x,K=t.y,y&&y.autorange&&M(y._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0)},moveFn:function(t,r){var n=w(J,K),i=n[0]+t,a=n[1]+r;R.call(c.setTranslate,i,a),S("x",m(y,t,"x",T,e)),S("y",m(x,r,"y",T,e)),e.axref===e.xref&&S("ax",m(y,t,"ax",T,e)),e.ayref===e.yref&&S("ay",m(x,r,"ay",T,e)),G.attr("transform",s(t,r)),I.attr({transform:"rotate("+O+","+i+","+a+")"})},doneFn:function(){i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};e.showarrow&&At(0,0),D&&d.init({element:R.node(),gd:t,prepFn:function(){kt=I.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?S("ax",m(y,t,"ax",T,e)):S("ax",e.ax+t),e.ayref===e.yref?S("ay",m(x,r,"ay",T.w,e)):S("ay",e.ay+r),At(t,r);else{if(a)return;var i,o;if(y)i=m(y,t,"x",T,e);else{var l=e._xsize/T.w,u=e.x+(e._xshift-e.xshift)/T.w-l/2;i=d.align(u+t/T.w,l,0,1,e.xanchor)}if(x)o=m(x,r,"y",T,e);else{var c=e._ysize/T.h,f=e.y-(e._yshift+e.yshift)/T.h-c/2;o=d.align(f-r/T.h,c,0,1,e.yanchor)}S("x",i),S("y",o),y&&x||(n=d.getCursor(y?.5:i,x?.5:o,e.xanchor,e.yanchor))}I.attr({transform:s(t,r)+kt}),p(R,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",Z(n))},doneFn:function(){p(R),i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}t.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r=0,x=e.indexOf("end")>=0,b=d.backoff*g+r.standoff,_=v.backoff*y+r.startstandoff;if("line"===p.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},c={x:+t.attr("x2"),y:+t.attr("y2")};var w=o.x-c.x,T=o.y-c.y;if(h=(f=Math.atan2(T,w))+Math.PI,b&&_&&b+_>Math.sqrt(w*w+T*T))return void D();if(b){if(b*b>w*w+T*T)return void D();var k=b*Math.cos(f),A=b*Math.sin(f);c.x+=k,c.y+=A,t.attr({x2:c.x,y2:c.y})}if(_){if(_*_>w*w+T*T)return void D();var M=_*Math.cos(f),S=_*Math.sin(f);o.x-=M,o.y-=S,t.attr({x1:o.x,y1:o.y})}}else if("path"===p.nodeName){var E=p.getTotalLength(),L="";if(E1){u=!0;break}}u?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},2468:function(t,e,r){"use strict";var n=r(73972),i=r(71828);t.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:r(26997)}}},layoutAttributes:r(26997),handleDefaults:r(20226),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(r)for(var a=r.attrRegex,o=Object.keys(t),s=0;s=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return a?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}o.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},o.rgb=function(t){return o.tinyRGB(n(t))},o.opacity=function(t){return t?n(t).getAlpha():0},o.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},o.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||u).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},o.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(o.combine(t,u))),(i.isDark()?e?i.lighten(e):u:r?i.darken(r):l).toString()},o.stroke=function(t,e){var r=n(e);t.style({stroke:o.tinyRGB(r),"stroke-opacity":r.getAlpha()})},o.fill=function(t,e){var r=n(e);t.style({fill:o.tinyRGB(r),"fill-opacity":r.getAlpha()})},o.clean=function(t){if(t&&"object"==typeof t){var e,r,n,i,s=Object.keys(t);for(e=0;e0?n>=l:n<=l));i++)n>c&&n0?n>=l:n<=l));i++)n>r[0]&&n1){var pt=Math.pow(10,Math.floor(Math.log(ht)/Math.LN10));ct*=pt*u.roundUp(ht/pt,[2,5,10]),(Math.abs(Z.start)/Z.size+1e-6)%1<2e-6&&(lt.tick0=0)}lt.dtick=ct}lt.domain=o?[ot+P/B.h,ot+Q-P/B.h]:[ot+O/B.w,ot+Q-O/B.w],lt.setScale(),t.attr("transform",c(Math.round(B.l),Math.round(B.t)));var dt,vt=t.select("."+A.cbtitleunshift).attr("transform",c(-Math.round(B.l),-Math.round(B.t))),gt=lt.ticklabelposition,yt=lt.title.font.size,mt=t.select("."+A.cbaxis),xt=0,bt=0;function _t(n,i){var a={propContainer:lt,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:F._dfltTitle.colorbar,containerGroup:t.select("."+A.cbtitle)},o="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+o+",."+o+"-math-group").remove(),v.draw(r,n,f(a,i||{}))}return u.syncOrAsync([a.previousPromises,function(){var t,e;(o&&ut||!o&&!ut)&&("top"===V&&(t=O+B.l+tt*I,e=P+B.t+et*(1-ot-Q)+3+.75*yt),"bottom"===V&&(t=O+B.l+tt*I,e=P+B.t+et*(1-ot)-3-.25*yt),"right"===V&&(e=P+B.t+et*D+3+.75*yt,t=O+B.l+tt*ot),_t(lt._id+"title",{attributes:{x:t,y:e,"text-anchor":o?"start":"middle"}}))},function(){if(!o&&!ut||o&&ut){var a,l=t.select("."+A.cbtitle),f=l.select("text"),h=[-M/2,M/2],d=l.select(".h"+lt._id+"title-math-group").node(),v=15.6;if(f.node()&&(v=parseInt(f.node().style.fontSize,10)*w),d?(a=p.bBox(d),bt=a.width,(xt=a.height)>v&&(h[1]-=(xt-v)/2)):f.node()&&!f.classed(A.jsPlaceholder)&&(a=p.bBox(f.node()),bt=a.width,xt=a.height),o){if(xt){if(xt+=5,"top"===V)lt.domain[1]-=xt/B.h,h[1]*=-1;else{lt.domain[0]+=xt/B.h;var y=g.lineCount(f);h[1]+=(1-y)*v}l.attr("transform",c(h[0],h[1])),lt.setScale()}}else bt&&("right"===V&&(lt.domain[0]+=(bt+yt/2)/B.w),l.attr("transform",c(h[0],h[1])),lt.setScale())}t.selectAll("."+A.cbfills+",."+A.cblines).attr("transform",o?c(0,Math.round(B.h*(1-lt.domain[1]))):c(Math.round(B.w*lt.domain[0]),0)),mt.attr("transform",o?c(0,Math.round(-B.t)):c(Math.round(-B.l),0));var m=t.select("."+A.cbfills).selectAll("rect."+A.cbfill).attr("style","").data(Y);m.enter().append("rect").classed(A.cbfill,!0).attr("style",""),m.exit().remove();var x=H.map(lt.c2p).map(Math.round).sort((function(t,e){return t-e}));m.each((function(t,a){var s=[0===a?H[0]:(Y[a]+Y[a-1])/2,a===Y.length-1?H[1]:(Y[a]+Y[a+1])/2].map(lt.c2p).map(Math.round);o&&(s[1]=u.constrain(s[1]+(s[1]>s[0])?1:-1,x[0],x[1]));var l=n.select(this).attr(o?"x":"y",rt).attr(o?"y":"x",n.min(s)).attr(o?"width":"height",Math.max(J,2)).attr(o?"height":"width",Math.max(n.max(s)-n.min(s),2));if(e._fillgradient)p.gradient(l,r,e._id,o?"vertical":"horizontalreversed",e._fillgradient,"fill");else{var c=G(t).replace("e-","");l.attr("fill",i(c).toHexString())}}));var b=t.select("."+A.cblines).selectAll("path."+A.cbline).data(j.color&&j.width?X:[]);b.enter().append("path").classed(A.cbline,!0),b.exit().remove(),b.each((function(t){var e=rt,r=Math.round(lt.c2p(t))+j.width/2%1;n.select(this).attr("d","M"+(o?e+","+r:r+","+e)+(o?"h":"v")+J).call(p.lineGroupStyle,j.width,q(t),j.dash)})),mt.selectAll("g."+lt._id+"tick,path").remove();var _=rt+J+(M||0)/2-("outside"===e.ticks?1:0),T=s.calcTicks(lt),k=s.getTickSigns(lt)[2];return s.drawTicks(r,lt,{vals:"inside"===lt.ticks?s.clipEnds(lt,T):T,layer:mt,path:s.makeTickPath(lt,_,k),transFn:s.makeTransTickFn(lt)}),s.drawLabels(r,lt,{vals:T,layer:mt,transFn:s.makeTransTickLabelFn(lt),labelFns:s.makeLabelFns(lt,_)})},function(){if(o&&!ut||!o&&ut){var t,i,a=lt.position||0,s=lt._offset+lt._length/2;if("right"===V)i=s,t=B.l+tt*a+10+yt*(lt.showticklabels?1:.5);else if(t=s,"bottom"===V&&(i=B.t+et*a+10+(-1===gt.indexOf("inside")?lt.tickfont.size:0)+("intside"!==lt.ticks&&e.ticklen||0)),"top"===V){var l=U.text.split("
").length;i=B.t+et*a+10-J-w*yt*l}_t((o?"h":"v")+lt._id+"title",{avoid:{selection:n.select(r).selectAll("g."+lt._id+"tick"),side:V,offsetTop:o?0:B.t,offsetLeft:o?B.l:0,maxShift:o?F.width:F.height},attributes:{x:t,y:i,"text-anchor":"middle"},transform:{rotate:o?-90:0,offset:0}})}},a.previousPromises,function(){var n,s=J+M/2;-1===gt.indexOf("inside")&&(n=p.bBox(mt.node()),s+=o?n.width:n.height),dt=vt.select("text");var u=0,f=o&&"top"===V,v=!o&&"right"===V,g=0;if(dt.node()&&!dt.classed(A.jsPlaceholder)){var m,x=vt.select(".h"+lt._id+"title-math-group").node();x&&(o&&ut||!o&&!ut)?(u=(n=p.bBox(x)).width,m=n.height):(u=(n=p.bBox(vt.node())).right-B.l-(o?rt:st),m=n.bottom-B.t-(o?st:rt),o||"top"!==V||(s+=n.height,g=n.height)),v&&(dt.attr("transform",c(u/2+yt/2,0)),u*=2),s=Math.max(s,o?u:m)}var b=2*(o?O:P)+s+S+M/2,w=0;!o&&U.text&&"bottom"===C&&D<=0&&(b+=w=b/2,g+=w),F._hColorbarMoveTitle=w,F._hColorbarMoveCBTitle=g;var N=S+M,j=(o?rt:st)-N/2-(o?O:0),H=(o?st:rt)-(o?$:P+g-w);t.select("."+A.cbbg).attr("x",j).attr("y",H).attr(o?"width":"height",Math.max(b-w,2)).attr(o?"height":"width",Math.max($+N,2)).call(d.fill,E).call(d.stroke,e.bordercolor).style("stroke-width",S);var q=v?Math.max(u-10,0):0;t.selectAll("."+A.cboutline).attr("x",(o?rt:st+O)+q).attr("y",(o?st+P-$:rt)+(f?xt:0)).attr(o?"width":"height",Math.max(J,2)).attr(o?"height":"width",Math.max($-(o?2*P+xt:2*O+q),2)).call(d.stroke,e.outlinecolor).style({fill:"none","stroke-width":M});var G=o?nt*b:0,Z=o?0:(1-it)*b-g;if(G=R?B.l-G:-G,Z=z?B.t-Z:-Z,t.attr("transform",c(G,Z)),!o&&(S||i(E).getAlpha()&&!i.equals(F.paper_bgcolor,E))){var W=mt.selectAll("text"),Y=W[0].length,X=t.select("."+A.cbbg).node(),K=p.bBox(X),Q=p.getTranslate(t);W.each((function(t,e){var r=Y-1;if(0===e||e===r){var n,i=p.bBox(this),a=p.getTranslate(this);if(e===r){var o=i.right+a.x;(n=K.right+Q.x+st-S-2+I-o)>0&&(n=0)}else if(0===e){var s=i.left+a.x;(n=K.left+Q.x+st+S+2-s)<0&&(n=0)}n&&(Y<3?this.setAttribute("transform","translate("+n+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}}))}var tt={},et=T[L],at=k[L],ot=T[C],ct=k[C],ft=b-J;o?("pixels"===h?(tt.y=D,tt.t=$*ot,tt.b=$*ct):(tt.t=tt.b=0,tt.yt=D+l*ot,tt.yb=D-l*ct),"pixels"===_?(tt.x=I,tt.l=b*et,tt.r=b*at):(tt.l=ft*et,tt.r=ft*at,tt.xl=I-y*et,tt.xr=I+y*at)):("pixels"===h?(tt.x=I,tt.l=$*et,tt.r=$*at):(tt.l=tt.r=0,tt.xl=I+l*et,tt.xr=I-l*at),"pixels"===_?(tt.y=1-D,tt.t=b*ot,tt.b=b*ct):(tt.t=ft*ot,tt.b=ft*ct,tt.yt=D-y*ot,tt.yb=D+y*ct));var ht=e.y<.5?"b":"t",pt=e.x<.5?"l":"r";r._fullLayout._reservedMargin[e._id]={};var bt={r:F.width-j-G,l:j+tt.r,b:F.height-H-Z,t:H+tt.b};R&&z?a.autoMargin(r,e._id,tt):R?r._fullLayout._reservedMargin[e._id][ht]=bt[ht]:z||o?r._fullLayout._reservedMargin[e._id][pt]=bt[pt]:r._fullLayout._reservedMargin[e._id][ht]=bt[ht]}],r)}(r,e,t);y&&y.then&&(t._promises||[]).push(y),t._context.edits.colorbarPosition&&function(t,e,r){var n,i,a,s="v"===e.orientation,u=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr("transform"),h(t)},moveFn:function(r,o){t.attr("transform",n+c(r,o)),i=l.align((s?e._uFrac:e._vFrac)+r/u.w,s?e._thickFrac:e._lenFrac,0,1,e.xanchor),a=l.align((s?e._vFrac:1-e._uFrac)-o/u.h,s?e._lenFrac:e._thickFrac,0,1,e.yanchor);var f=l.getCursor(i,a,e.xanchor,e.yanchor);h(t,f)},doneFn:function(){if(h(t),void 0!==i&&void 0!==a){var n={};n[e._propPrefix+"x"]=i,n[e._propPrefix+"y"]=a,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)})),e.exit().each((function(e){a.autoMargin(t,e._id)})).remove(),e.order()}}},76228:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t){return n.isPlainObject(t.colorbar)}},12311:function(t,e,r){"use strict";t.exports={moduleType:"component",name:"colorbar",attributes:r(63583),supplyDefaults:r(62499),draw:r(98981).draw,hasColorbar:r(76228)}},50693:function(t,e,r){"use strict";var n=r(63583),i=r(30587).counter,a=r(78607),o=r(63282).scales;function s(t){return"`"+t+"`"}a(o),t.exports=function(t,e){t=t||"";var r,a=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),u="showScaleDflt"in e?e.showScaleDflt:"z"===a,c="string"==typeof e.colorscaleDflt?o[e.colorscaleDflt]:null,f=e.editTypeOverride||"",h=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):s(h+(r={z:"z",c:"color"}[a]));var p=a+"auto",d=a+"min",v=a+"max",g=a+"mid",y=(s(h+p),s(h+d),s(h+v),{});y[d]=y[v]=void 0;var m={};m[p]=!1;var x={};return"color"===r&&(x.color={valType:"color",arrayOk:!0,editType:f||"style"},e.anim&&(x.color.anim=!0)),x[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:y},x[d]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:m},x[v]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:m},x[g]={valType:"number",dflt:null,editType:"calc",impliedEdits:y},x.colorscale={valType:"colorscale",editType:"calc",dflt:c,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},x.reversescale={valType:"boolean",dflt:!1,editType:"plot"},l||(x.showscale={valType:"boolean",dflt:u,editType:"calc"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:"subplotid",regex:i("coloraxis"),dflt:null,editType:"calc"}),x}},78803:function(t,e,r){"use strict";var n=r(92770),i=r(71828),a=r(52075).extractOpts;t.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,u=r.containerStr,c=u?i.nestedProperty(e,u).get():e,f=a(c),h=!1!==f.auto,p=f.min,d=f.max,v=f.mid,g=function(){return i.aggNums(Math.min,null,l)},y=function(){return i.aggNums(Math.max,null,l)};void 0===p?p=g():h&&(p=c._colorAx&&n(p)?Math.min(p,g()):g()),void 0===d?d=y():h&&(d=c._colorAx&&n(d)?Math.max(d,y()):y()),h&&void 0!==v&&(d-v>v-p?p=v-(d-v):d-v=0?s.colorscale.sequential:s.colorscale.sequentialminus,f._sync("colorscale",o))}},33046:function(t,e,r){"use strict";var n=r(71828),i=r(52075).hasColorscale,a=r(52075).extractOpts;t.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,i){var o=i.container?n.nestedProperty(t,i.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=a(o),l=s.auto;(l||void 0===s.min)&&r(o,i.min),(l||void 0===s.max)&&r(o,i.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s=0;n--,i++){var a=t[n];r[i]=[1-a[0],a[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,u=new Array(l),c=0;c4/3-s?o:s}},70461:function(t,e,r){"use strict";var n=r(71828),i=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];t.exports=function(t,e,r,a){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===a?0:"middle"===a?1:"top"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},64505:function(t,e){"use strict";e.selectMode=function(t){return"lasso"===t||"select"===t},e.drawMode=function(t){return"drawclosedpath"===t||"drawopenpath"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.openMode=function(t){return"drawline"===t||"drawopenpath"===t},e.rectMode=function(t){return"select"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.freeMode=function(t){return"lasso"===t||"drawclosedpath"===t||"drawopenpath"===t},e.selectingOrDrawing=function(t){return e.freeMode(t)||e.rectMode(t)}},28569:function(t,e,r){"use strict";var n=r(48956),i=r(57035),a=r(38520),o=r(71828).removeElement,s=r(85555),l=t.exports={};l.align=r(92807),l.getCursor=r(70461);var u=r(26041);function c(){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 f(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=u.wrapped,l.unhoverRaw=u.raw,l.init=function(t){var e,r,n,u,h,p,d,v,g=t.gd,y=1,m=g._context.doubleClickDelay,x=t.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=_,a?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=_,x.addEventListener("touchstart",_,{passive:!1})):x.ontouchstart=_;var b=t.clampFn||function(t,e,r){return Math.abs(t)m&&(y=Math.max(y-1,1)),g._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(y,p),!v){var r;try{r=new MouseEvent("click",e)}catch(t){var n=f(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)}d.dispatchEvent(r)}g._dragging=!1,g._dragged=!1}else g._dragged=!1}},l.coverSlip=c},26041:function(t,e,r){"use strict";var n=r(11086),i=r(79990),a=r(24401).getGraphDiv,o=r(26675),s=t.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!t._dragged&&!1===n.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&&i&&t.emit("plotly_unhover",{event:e,points:i}))}},79952:function(t,e){"use strict";e.P={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"},e.u={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:!0,editType:"style"},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style"},bgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgopacity:{valType:"number",editType:"style",min:0,max:1},size:{valType:"number",min:0,dflt:8,arrayOk:!0,editType:"style"},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:!0,editType:"style"},editType:"style"}},91424:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=i.numberFormat,o=r(92770),s=r(84267),l=r(73972),u=r(7901),c=r(21081),f=i.strTranslate,h=r(63893),p=r(77922),d=r(18783).LINE_SPACING,v=r(37822).DESELECTDIM,g=r(34098),y=r(39984),m=r(23469).appendArrayPointValue,x=t.exports={};function b(t,e,r){var n=e.fillpattern,i=n&&x.getPatternAttr(n.shape,0,"");if(i){var a=x.getPatternAttr(n.bgcolor,0,null),o=x.getPatternAttr(n.fgcolor,0,null),s=n.fgopacity,l=x.getPatternAttr(n.size,0,8),c=x.getPatternAttr(n.solidity,0,.3),f=e.uid;x.pattern(t,"point",r,f,i,l,c,void 0,n.fillmode,a,o,s)}else e.fillcolor&&t.call(u.fill,e.fillcolor)}x.font=function(t,e,r,n){i.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(u.fill,n)},x.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},x.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},x.setRect=function(t,e,r,n,i){t.call(x.setPosition,e,r).call(x.setSize,n,i)},x.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(o(i)&&o(a)&&e.node())&&("text"===e.node().nodeName?e.attr("x",i).attr("y",a):e.attr("transform",f(i,a)),!0)},x.translatePoints=function(t,e,r){t.each((function(t){var i=n.select(this);x.translatePoint(t,i,e,r)}))},x.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr("display",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:"none")},x.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each((function(e){var a=e[0].trace,o=a.xcalendar,s=a.ycalendar,u=l.traceIs(a,"bar-like")?".bartext":".point,.textpoint";t.selectAll(u).each((function(t){x.hideOutsideRangePoint(t,n.select(this),r,i,o,s)}))}))}},x.crispRound=function(t,e,r){return e&&o(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},x.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||"";u.stroke(e,n||a.color),x.dashLine(e,s,o)},x.lineGroupStyle=function(t,e,r,i){t.style("fill","none").each((function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,s=i||a.dash||"";n.select(this).call(u.stroke,r||a.color).call(x.dashLine,s,o)}))},x.dashLine=function(t,e,r){r=+r||0,e=x.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},x.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},x.singleFillStyle=function(t,e){var r=n.select(t.node());b(t,((r.data()[0]||[])[0]||{}).trace||{},e)},x.fillGroupStyle=function(t,e){t.style("stroke-width",0).each((function(t){var r=n.select(this);t[0].trace&&b(r,t[0].trace,e)}))};var _=r(90998);x.symbolNames=[],x.symbolFuncs=[],x.symbolBackOffs=[],x.symbolNeedLines={},x.symbolNoDot={},x.symbolNoFill={},x.symbolList=[],Object.keys(_).forEach((function(t){var e=_[t],r=e.n;x.symbolList.push(r,String(r),t,r+100,String(r+100),t+"-open"),x.symbolNames[r]=t,x.symbolFuncs[r]=e.f,x.symbolBackOffs[r]=e.backoff||0,e.needLine&&(x.symbolNeedLines[r]=!0),e.noDot?x.symbolNoDot[r]=!0:x.symbolList.push(r+200,String(r+200),t+"-dot",r+300,String(r+300),t+"-open-dot"),e.noFill&&(x.symbolNoFill[r]=!0)}));var w=x.symbolNames.length;function T(t,e,r,n){var i=t%100;return x.symbolFuncs[i](e,r,n)+(t>=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}x.symbolNumber=function(t){if(o(t))t=+t;else 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=x.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=w||t>=400?0:Math.floor(Math.max(t,0))};var k={x1:1,x2:0,y1:0,y2:0},A={x1:0,x2:0,y1:1,y2:0},M=a("~f"),S={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:k},horizontalreversed:{node:"linearGradient",attrs:k,reversed:!0},vertical:{node:"linearGradient",attrs:A},verticalreversed:{node:"linearGradient",attrs:A,reversed:!0}};x.gradient=function(t,e,r,a,o,l){for(var c=o.length,f=S[a],h=new Array(c),p=0;p=0&&void 0===t.i&&(t.i=o.i),e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?s.opacity:t.mo),n.ms2mrc){var c;c="various"===t.ms||"various"===s.size?3:n.ms2mrc(t.ms),t.mrc=c,n.selectedSizeFn&&(c=t.mrc=n.selectedSizeFn(t));var f=x.symbolNumber(t.mx||s.symbol)||0;t.om=f%200>=100;var h=rt(t,r),p=G(t,r);e.attr("d",T(f,c,h,p))}var d,v,g,y=!1;if(t.so)g=l.outlierwidth,v=l.outliercolor,d=s.outliercolor;else{var m=(l||{}).width;g=(t.mlw+1||m+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,v="mlc"in t?t.mlcc=n.lineScale(t.mlc):i.isArrayOrTypedArray(l.color)?u.defaultLine:l.color,i.isArrayOrTypedArray(s.color)&&(d=u.defaultLine,y=!0),d="mc"in t?t.mcc=n.markerScale(t.mc):s.color||s.colors||"rgba(0,0,0,0)",n.selectedColorFn&&(d=n.selectedColorFn(t))}if(t.om)e.call(u.stroke,d).style({"stroke-width":(g||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:g)+"px");var b=s.gradient,_=t.mgt;_?y=!0:_=b&&b.type,i.isArrayOrTypedArray(_)&&(_=_[0],S[_]||(_=0));var w=s.pattern,k=w&&x.getPatternAttr(w.shape,t.i,"");if(_&&"none"!==_){var A=t.mgc;A?y=!0:A=b.color;var M=r.uid;y&&(M+="-"+t.i),x.gradient(e,a,M,_,[[0,A],[1,d]],"fill")}else if(k){var E=!1,L=w.fgcolor;!L&&o&&o.color&&(L=o.color,E=!0);var C=x.getPatternAttr(L,t.i,o&&o.color||null),O=x.getPatternAttr(w.bgcolor,t.i,null),P=w.fgopacity,I=x.getPatternAttr(w.size,t.i,8),D=x.getPatternAttr(w.solidity,t.i,.3);E=E||t.mcc||i.isArrayOrTypedArray(w.shape)||i.isArrayOrTypedArray(w.bgcolor)||i.isArrayOrTypedArray(w.fgcolor)||i.isArrayOrTypedArray(w.size)||i.isArrayOrTypedArray(w.solidity);var z=r.uid;E&&(z+="-"+t.i),x.pattern(e,"point",a,z,k,I,D,t.mcc,w.fillmode,O,C,P)}else i.isArrayOrTypedArray(d)?u.fill(e,d[t.i]):u.fill(e,d);g&&u.stroke(e,v)}},x.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=x.tryColorscale(r,""),e.lineScale=x.tryColorscale(r,"line"),l.traceIs(t,"symbols")&&(e.ms2mrc=g.isBubble(t)?y(t):function(){return(r.size||6)/2}),t.selectedpoints&&i.extendFlat(e,x.makeSelectedPointStyleFns(t)),e},x.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},o=r.marker||{},s=n.marker||{},u=a.opacity,c=o.opacity,f=s.opacity,h=void 0!==c,p=void 0!==f;(i.isArrayOrTypedArray(u)||h||p)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?h?c:e:p?f:v*e});var d=a.color,g=o.color,y=s.color;(g||y)&&(e.selectedColorFn=function(t){var e=t.mcc||d;return t.selected?g||e:y||e});var m=a.size,x=o.size,b=s.size,_=void 0!==x,w=void 0!==b;return l.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||m/2;return t.selected?_?x/2:e:w?b/2:e}),e},x.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,c=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||s;return t.selected?l||e:c||(l?e:u.addOpacity(e,v))},e},x.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push((function(t,e){t.style("opacity",r.selectedOpacityFn(e))})),r.selectedColorFn&&a.push((function(t,e){u.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&a.push((function(t,n){var a=n.mx||i.symbol||0,o=r.selectedSizeFn(n);t.attr("d",T(x.symbolNumber(a),o,rt(n,e),G(n,e))),n.mrc2=o})),a.length&&t.each((function(t){for(var e=n.select(this),r=0;r0?r:0}function I(t,e,r){return r&&(t=N(t)),e?z(t[1]):D(t[0])}function D(t){var e=n.round(t,2);return E=e,e}function z(t){var e=n.round(t,2);return L=e,e}function R(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,f=(u*u*a-l*l*s)*n,h=3*u*(l+u),p=3*l*(l+u);return[[D(e[0]+(h&&c/h)),z(e[1]+(h&&f/h))],[D(e[0]-(p&&c/p)),z(e[1]-(p&&f/p))]]}x.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var o=x.makeSelectedTextStyleFns(e);a=o.selectedTextColorFn}var s=e.texttemplate,l=r._fullLayout;t.each((function(t){var o=n.select(this),u=s?i.extractOption(t,e,"txt","texttemplate"):i.extractOption(t,e,"tx","text");if(u||0===u){if(s){var c=e._module.formatLabels,f=c?c(t,e,l):{},p={};m(p,e,t.i);var d=e._meta||{};u=i.texttemplateString(u,f,l._d3locale,p,t,d)}var v=t.tp||e.textposition,g=P(t,e),y=a?a(t):t.tc||e.textfont.color;o.call(x.font,t.tf||e.textfont.family,g,y).text(u).call(h.convertToTspans,r).call(O,v,g,t.mrc)}else o.remove()}))}},x.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedTextStyleFns(e);t.each((function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,s=P(t,e);u.fill(i,a);var c=l.traceIs(e,"bar-like");O(i,o,s,t.mrc2||t.mrc,c)}))}},x.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],i=[];for(r=1;r=u||w>=f&&w<=u)&&(T<=h&&T>=c||T>=h&&T<=c)&&(t=[w,T])}return t}x.steps=function(t){var e=F[t]||B;return function(t){for(var r="M"+D(t[0][0])+","+z(t[0][1]),n=t.length,i=1;i=1e4&&(x.savedBBoxes={},j=0),r&&(x.savedBBoxes[r]=g),j++,i.extendFlat({},g)},x.setClipUrl=function(t,e,r){t.attr("clip-path",V(e,r))},x.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}},x.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+=f(e,r)).trim(),t[i]("transform",a),a},x.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}},x.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};var H=/\s*sc.*/;x.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":"scale("+e+","+r+")";t.each((function(){var t=(this.getAttribute("transform")||"").replace(H,"");t=(t+=n).trim(),this.setAttribute("transform",t)}))}};var q=/translate\([^)]*\)\s*$/;function G(t,e){var r;return t&&(r=t.mf),void 0===r&&(r=e.marker&&e.marker.standoff||0),e._geo||e._xA?r:-r}x.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,i=n.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(q);t=1===e&&1===r?[]:[f(o,s),"scale("+e+","+r+")",f(-o,-s)],l&&t.push(l),i.attr("transform",t.join(""))}}))},x.getMarkerStandoff=G;var Z,W,Y,X,J,K,$=Math.atan2,Q=Math.cos,tt=Math.sin;function et(t,e){var r=e[0],n=e[1];return[r*Q(t)-n*tt(t),r*tt(t)+n*Q(t)]}function rt(t,e){var r,n,i=t.ma;void 0===i&&(i=e.marker.angle||0);var a=e.marker.angleref;if("previous"===a||"north"===a){if(e._geo){var s=e._geo.project(t.lonlat);r=s[0],n=s[1]}else{var l=e._xA,u=e._yA;if(!l||!u)return 90;r=l.c2p(t.x),n=u.c2p(t.y)}if(e._geo){var c,f=t.lonlat[0],h=t.lonlat[1],p=e._geo.project([f,h+1e-5]),d=e._geo.project([f+1e-5,h]),v=$(d[1]-n,d[0]-r),g=$(p[1]-n,p[0]-r);if("north"===a)c=i/180*Math.PI;else if("previous"===a){var y=f/180*Math.PI,m=h/180*Math.PI,x=Z/180*Math.PI,b=W/180*Math.PI,_=x-y,w=Q(b)*tt(_),T=tt(b)*Q(m)-Q(b)*tt(m)*Q(_);c=-$(w,T)-Math.PI,Z=f,W=h}var k=et(v,[Q(c),0]),A=et(g,[tt(c),0]);i=$(k[1]+A[1],k[0]+A[0])/Math.PI*180,"previous"!==a||K===e.uid&&t.i===J+1||(i=null)}if("previous"===a&&!e._geo)if(K===e.uid&&t.i===J+1&&o(r)&&o(n)){var M=r-Y,S=n-X,E=e.line&&e.line.shape||"",L=E.slice(E.length-1);"h"===L&&(S=0),"v"===L&&(M=0),i+=$(S,M)/Math.PI*180+90}else i=null}return Y=r,X=n,J=t.i,K=e.uid,i}x.getMarkerAngle=rt},90998:function(t,e,r){"use strict";var n,i,a,o,s=r(95616),l=r(39898).round,u="M0,0Z",c=Math.sqrt(2),f=Math.sqrt(3),h=Math.PI,p=Math.cos,d=Math.sin;function v(t){return null===t}function g(t,e,r){if(!(t&&t%360!=0||e))return r;if(a===t&&o===e&&n===r)return i;function l(t,r){var n=p(t),i=d(t),a=r[0],o=r[1]+(e||0);return[a*n-o*i,a*i+o*n]}a=t,o=e,n=r;for(var u=t/180*h,c=0,f=0,v=s(r),g="",y=0;y0,f=t._context.staticPlot;e.each((function(e){var h,p=e[0].trace,d=p.error_x||{},v=p.error_y||{};p.ids&&(h=function(t){return t.id});var g=o.hasMarkers(p)&&p.marker.maxdisplayed>0;v.visible||d.visible||(e=[]);var y=n.select(this).selectAll("g.errorbar").data(e,h);if(y.exit().remove(),e.length){d.visible||y.selectAll("path.xerror").remove(),v.visible||y.selectAll("path.yerror").remove(),y.style("opacity",1);var m=y.enter().append("g").classed("errorbar",!0);c&&m.style("opacity",0).transition().duration(s.duration).style("opacity",1),a.setClipUrl(y,r.layerClipId,t),y.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0))),void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0))),n}(t,l,u);if(!g||t.vis){var a,o=e.select("path.yerror");if(v.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var h=v.width;a="M"+(r.x-h)+","+r.yh+"h"+2*h+"m-"+h+",0V"+r.ys,r.noYS||(a+="m-"+h+",0h"+2*h),o.size()?c&&(o=o.transition().duration(s.duration).ease(s.easing)):o=e.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("yerror",!0),o.attr("d",a)}else o.remove();var p=e.select("path.xerror");if(d.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var y=(d.copy_ystyle?v:d).width;a="M"+r.xh+","+(r.y-y)+"v"+2*y+"m0,-"+y+"H"+r.xs,r.noXS||(a+="m0,-"+y+"v"+2*y),p.size()?c&&(p=p.transition().duration(s.duration).ease(s.easing)):p=e.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("xerror",!0),p.attr("d",a)}else p.remove()}}))}}))}},62662:function(t,e,r){"use strict";var n=r(39898),i=r(7901);t.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(i.stroke,a.color)}))}},77914:function(t,e,r){"use strict";var n=r(41940),i=r(528).hoverlabel,a=r(1426).extendFlat;t.exports={hoverlabel:{bgcolor:a({},i.bgcolor,{arrayOk:!0}),bordercolor:a({},i.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:a({},i.align,{arrayOk:!0}),namelength:a({},i.namelength,{arrayOk:!0}),editType:"none"}}},30732:function(t,e,r){"use strict";var n=r(71828),i=r(73972);function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}t.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s=0&&r.index_[0]._length||lt<0||lt>w[0]._length)return d.unhoverRaw(t,e)}else st="xpx"in e?e.xpx:_[0]._length/2,lt="ypx"in e?e.ypx:w[0]._length/2;if(e.pointerX=st+_[0]._offset,e.pointerY=lt+w[0]._offset,q="xval"in e?y.flat(l,e.xval):y.p2c(_,st),G="yval"in e?y.flat(l,e.yval):y.p2c(w,lt),!i(q[0])||!i(G[0]))return o.warn("Fx.hover failed",e,t),d.unhoverRaw(t,e)}var ft=1/0;function ht(t,r){for(W=0;Wrt&&(nt.splice(0,rt),ft=nt[0].distance),m&&0!==H&&0===nt.length){et.distance=H,et.index=!1;var f=X._module.hoverPoints(et,Q,tt,"closest",{hoverLayer:c._hoverlayer});if(f&&(f=f.filter((function(t){return t.spikeDistance<=H}))),f&&f.length){var h,d=f.filter((function(t){return t.xa.showspikes&&"hovered data"!==t.xa.spikesnap}));if(d.length){var v=d[0];i(v.x0)&&i(v.y0)&&(h=dt(v),(!at.vLinePoint||at.vLinePoint.spikeDistance>h.spikeDistance)&&(at.vLinePoint=h))}var g=f.filter((function(t){return t.ya.showspikes&&"hovered data"!==t.ya.spikesnap}));if(g.length){var x=g[0];i(x.x0)&&i(x.y0)&&(h=dt(x),(!at.hLinePoint||at.hLinePoint.spikeDistance>h.spikeDistance)&&(at.hLinePoint=h))}}}}}function pt(t,e,r){for(var n,i=null,a=1/0,o=0;o0&&Math.abs(t.distance)At-1;Mt--)Ct(nt[Mt]);nt=St,mt()}var Ot=t._hoverdata,Pt=[],It=U(t),Dt=V(t);for(Z=0;Z1||nt.length>1)||"closest"===I&&ot&&nt.length>1,Wt=p.combine(c.plot_bgcolor||p.background,c.paper_bgcolor),Yt=P(nt,{gd:t,hovermode:I,rotateLabels:Zt,bgColor:Wt,container:c._hoverlayer,outerContainer:c._paper.node(),commonLabelOpts:c.hoverlabel,hoverdistance:c.hoverdistance}),Xt=Yt.hoverLabels;if(y.isUnifiedHover(I)||(function(t,e,r,n){var i,a,o,s,l,u,c,f=e?"xa":"ya",h=e?"ya":"xa",p=0,d=1,v=t.size(),g=new Array(v),y=0,m=n.minX,x=n.maxX,b=n.minY,_=n.maxY,w=function(t){return t*r._invScaleX},k=function(t){return t*r._invScaleY};function A(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,o=r.pos+r.dp+r.size-e.pmax,a>.01){for(l=t.length-1;l>=0;l--)t[l].dp+=a;i=!1}if(!(o<.01)){if(a<-.01){for(l=t.length-1;l>=0;l--)t[l].dp-=o;i=!1}if(i){var n=0;for(s=0;se.pmax&&n++;for(s=t.length-1;s>=0&&!(n<=0);s--)(u=t[s]).pos>e.pmax-1&&(u.del=!0,n--);for(s=0;s=0;l--)t[l].dp-=o;for(s=t.length-1;s>=0&&!(n<=0);s--)(u=t[s]).pos+u.dp+u.size>e.pmax&&(u.del=!0,n--)}}}for(t.each((function(t){var n=t[f],i=t[h],a="x"===n._id.charAt(0),o=n.range;0===y&&o&&o[0]>o[1]!==a&&(d=-1);var s=0,l=a?r.width:r.height;if("x"===r.hovermode||"y"===r.hovermode){var u,c,p=D(t,e),v=t.anchor,A="end"===v?-1:1;if("middle"===v)c=(u=t.crossPos+(a?k(p.y-t.by/2):w(t.bx/2+t.tx2width/2)))+(a?k(t.by):w(t.bx));else if(a)c=(u=t.crossPos+k(M+p.y)-k(t.by/2-M))+k(t.by);else{var S=w(A*M+p.x),E=S+w(A*t.bx);u=t.crossPos+Math.min(S,E),c=t.crossPos+Math.max(S,E)}a?void 0!==b&&void 0!==_&&Math.min(c,_)-Math.max(u,b)>1&&("left"===i.side?(s=i._mainLinePosition,l=r.width):l=i._mainLinePosition):void 0!==m&&void 0!==x&&Math.min(c,x)-Math.max(u,m)>1&&("top"===i.side?(s=i._mainLinePosition,l=r.height):l=i._mainLinePosition)}g[y++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?T:1)/2,pmin:s,pmax:l}]})),g.sort((function(t,e){return t[0].posref-e[0].posref||d*(e[0].traceIndex-t[0].traceIndex)}));!i&&p<=v;){for(p++,i=!0,s=0;s.01&&L.pmin===C.pmin&&L.pmax===C.pmax){for(l=E.length-1;l>=0;l--)E[l].dp+=a;for(S.push.apply(S,E),g.splice(s+1,1),c=0,l=S.length-1;l>=0;l--)c+=S[l].dp;for(o=c/S.length,l=S.length-1;l>=0;l--)S[l].dp-=o;i=!1}else s++}g.forEach(A)}for(s=g.length-1;s>=0;s--){var O=g[s];for(l=O.length-1;l>=0;l--){var P=O[l],I=P.datum;I.offset=P.dp,I.del=P.del}}}(Xt,Zt,c,Yt.commonLabelBoundingBox),z(Xt,Zt,c._invScaleX,c._invScaleY)),s&&s.tagName){var Jt=g.getComponentMethod("annotations","hasClickToShow")(t,Pt);f(n.select(s),Jt?"pointer":"")}s&&!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)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}(t,0,Ot)&&(Ot&&t.emit("plotly_unhover",{event:e,points:Ot}),t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:_,yaxes:w,xvals:q,yvals:G}))}(t,e,r,a,s)}))},e.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var i=e.gd,a=U(i),o=V(i),s=P(t.map((function(t){var r=t._x0||t.x0||t.x||0,n=t._x1||t.x1||t.x||0,s=t._y0||t.y0||t.y||0,l=t._y1||t.y1||t.y||0,u=t.eventData;if(u){var c=Math.min(r,n),f=Math.max(r,n),h=Math.min(s,l),d=Math.max(s,l),v=t.trace;if(g.traceIs(v,"gl3d")){var y=i._fullLayout[v.scene]._scene.container,m=y.offsetLeft,x=y.offsetTop;c+=m,f+=m,h+=x,d+=x}u.bbox={x0:c+o,x1:f+o,y0:h+a,y1:d+a},e.inOut_bbox&&e.inOut_bbox.push(u.bbox)}else u=!1;return{color:t.color||p.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,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,hovertemplateLabels:t.hovertemplateLabels||!1,eventData:u}})),{gd:i,hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||p.background,container:n.select(e.container),outerContainer:e.outerContainer||e.container}).hoverLabels,l=0,u=0;return s.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5([\s\S]*)<\/extra>/;function P(t,e){var r=e.gd,i=r._fullLayout,a=e.hovermode,u=e.rotateLabels,f=e.bgColor,d=e.container,v=e.outerContainer,w=e.commonLabelOpts||{};if(0===t.length)return[[]];var T=e.fontFamily||m.HOVERFONT,k=e.fontSize||m.HOVERFONTSIZE,A=t[0],E=A.xa,L=A.ya,O=a.charAt(0),P=O+"Label",D=A[P];if(void 0===D&&"multicategory"===E.type)for(var z=0;zi.width-b?(g=i.width-b,e.attr("d","M"+(b-M)+",0L"+b+","+x+M+"v"+x+(2*S+m.height)+"H-"+b+"V"+x+M+"H"+(b-2*M)+"Z")):e.attr("d","M0,0L"+M+","+x+M+"H"+b+"v"+x+(2*S+m.height)+"H-"+b+"V"+x+M+"H-"+M+"Z"),W.minX=g-b,W.maxX=g+b,"top"===E.side?(W.minY=y-(2*S+m.height),W.maxY=y-S):(W.minY=y+S,W.maxY=y+(2*S+m.height))}else{var _,C,O;"right"===L.side?(_="start",C=1,O="",g=E._offset+E._length):(_="end",C=-1,O="-",g=E._offset),y=L._offset+(A.y0+A.y1)/2,l.attr("text-anchor",_),e.attr("d","M0,0L"+O+M+","+M+"V"+(S+m.height/2)+"h"+O+(2*S+m.width)+"V-"+(S+m.height/2)+"H"+O+M+"V-"+M+"Z"),W.minY=y-(S+m.height/2),W.maxY=y+(S+m.height/2),"right"===L.side?(W.minX=g+M,W.maxX=g+M+(2*S+m.width)):(W.minX=g-M-(2*S+m.width),W.maxX=g-M);var P,I=m.height/2,z=F-m.top-I,R="clip"+i._uid+"commonlabel"+L._id;if(g=0?lt:ut+ht=0?ut:bt+ht=0?ot:st+pt=0?st:_t+pt=0,"top"!==t.idealAlign&&G||!Z?G?(P+=R/2,t.anchor="start"):t.anchor="middle":(P-=R/2,t.anchor="end"),t.crossPos=P;else{if(t.pos=P,G=O+z/2+W<=B,Z=O-z/2-W>=0,"left"!==t.idealAlign&&G||!Z)if(G)O+=z/2,t.anchor="start";else{t.anchor="middle";var Y=W/2,X=O+Y-B,J=O-Y;X>0&&(O-=X),J<0&&(O+=-J)}else O-=z/2,t.anchor="end";t.crossPos=O}w.attr("text-anchor",t.anchor),E&&A.attr("text-anchor",t.anchor),e.attr("transform",s(O,P)+(u?l(_):""))})),{hoverLabels:wt,commonLabelBoundingBox:W}}function I(t,e,r,n,i,a){var s="",l="";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=N(t.name,t.nameLength));var u=r.charAt(0),c="x"===u?"y":"x";void 0!==t.zLabel?(void 0!==t.xLabel&&(l+="x: "+t.xLabel+"
"),void 0!==t.yLabel&&(l+="y: "+t.yLabel+"
"),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&(l+=(l?"z: ":"")+t.zLabel)):e&&t[u+"Label"]===i?l=t[c+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?"
":"")+t.text),void 0!==t.extraText&&(l+=(l?"
":"")+t.extraText),a&&""===l&&!t.hovertemplate&&(""===s&&a.remove(),l=s);var f=t.hovertemplate||!1;if(f){var h=t.hovertemplateLabels||t;t[u+"Label"]!==i&&(h[u+"other"]=h[u+"Val"],h[u+"otherLabel"]=h[u+"Label"]),l=(l=o.hovertemplateString(f,h,n._d3locale,t.eventData[0]||{},t.trace._meta)).replace(O,(function(e,r){return s=N(r,t.nameLength),""}))}return[l,s]}function D(t,e){var r=0,n=t.offset;return e&&(n*=-A,r=t.offset*k),{x:r,y:n}}function z(t,e,r,i){var a=function(t){return t*r},o=function(t){return t*i};t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var i,s,l,u,f=r.select("text.nums"),p=t.anchor,d="end"===p?-1:1,v=(u=(l=(s={start:1,end:-1,middle:0}[(i=t).anchor])*(M+S))+s*(i.txwidth+S),"middle"===i.anchor&&(l-=i.tx2width/2,u+=i.txwidth/2+S),{alignShift:s,textShiftX:l,text2ShiftX:u}),g=D(t,e),y=g.x,m=g.y,x="middle"===p;r.select("path").attr("d",x?"M-"+a(t.bx/2+t.tx2width/2)+","+o(m-t.by/2)+"h"+a(t.bx)+"v"+o(t.by)+"h-"+a(t.bx)+"Z":"M0,0L"+a(d*M+y)+","+o(M+m)+"v"+o(t.by/2-M)+"h"+a(d*t.bx)+"v-"+o(t.by)+"H"+a(d*M+y)+"V"+o(m-M)+"Z");var b=y+v.textShiftX,_=m+t.ty0-t.by/2+S,w=t.textAlign||"auto";"auto"!==w&&("left"===w&&"start"!==p?(f.attr("text-anchor","start"),b=x?-t.bx/2-t.tx2width/2+S:-t.bx-S):"right"===w&&"end"!==p&&(f.attr("text-anchor","end"),b=x?t.bx/2-t.tx2width/2-S:t.bx+S)),f.call(c.positionText,a(b),o(_)),t.tx2width&&(r.select("text.name").call(c.positionText,a(v.text2ShiftX+v.alignShift*S+y),o(m+t.ty0-t.by/2+S)),r.select("rect").call(h.setRect,a(v.text2ShiftX+(v.alignShift-1)*t.tx2width/2+y),o(m-t.by/2-1),a(t.tx2width),o(t.by+2)))}))}function R(t,e){var r=t.index,n=t.trace||{},a=t.cd[0],s=t.cd[r]||{};function l(t){return t||i(t)&&0===t}var u=Array.isArray(r)?function(t,e){var i=o.castOption(a,r,t);return l(i)?i:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function c(e,r,n){var i=u(r,n);l(i)&&(t[e]=i)}if(c("hoverinfo","hi","hoverinfo"),c("bgcolor","hbg","hoverlabel.bgcolor"),c("borderColor","hbc","hoverlabel.bordercolor"),c("fontFamily","htf","hoverlabel.font.family"),c("fontSize","hts","hoverlabel.font.size"),c("fontColor","htc","hoverlabel.font.color"),c("nameLength","hnl","hoverlabel.namelength"),c("textAlign","hta","hoverlabel.align"),t.posref="y"===e||"closest"===e&&"h"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:v.hoverLabelText(t.xa,t.xLabelVal,n.xhoverformat),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:v.hoverLabelText(t.ya,t.yLabelVal,n.yhoverformat),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 f=v.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+f+" / -"+v.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" ± "+f,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var h=v.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+h+" / -"+v.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" ± "+h,"y"===e&&(t.distance+=1)}var p=t.hoverinfo||t.trace.hoverinfo;return p&&"all"!==p&&(-1===(p=Array.isArray(p)?p:p.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===p.indexOf("y")&&(t.yLabel=void 0),-1===p.indexOf("z")&&(t.zLabel=void 0),-1===p.indexOf("text")&&(t.text=void 0),-1===p.indexOf("name")&&(t.name=void 0)),t}function F(t,e,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,u=r.event,c=!!e.hLinePoint,f=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),f||c){var d=p.combine(s.plot_bgcolor,s.paper_bgcolor);if(c){var g,y,m=e.hLinePoint;n=m&&m.xa,"cursor"===(i=m&&m.ya).spikesnap?(g=u.pointerX,y=u.pointerY):(g=n._offset+m.x,y=i._offset+m.y);var x,b,_=a.readability(m.color,d)<1.5?p.contrast(d):m.color,w=i.spikemode,T=i.spikethickness,k=i.spikecolor||_,A=v.getPxPosition(t,i);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=A,b=g),-1!==w.indexOf("across")){var M=i._counterDomainMin,S=i._counterDomainMax;"free"===i.anchor&&(M=Math.min(M,i.position),S=Math.max(S,i.position)),x=l.l+M*l.w,b=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:b,y1:y,y2:y,"stroke-width":T,stroke:k,"stroke-dasharray":h.dashStyle(i.spikedash,T)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:b,y1:y,y2:y,"stroke-width":T+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==i.side?T:-T),cy:y,r:T,fill:k}).classed("spikeline",!0)}if(f){var E,L,C=e.vLinePoint;n=C&&C.xa,i=C&&C.ya,"cursor"===n.spikesnap?(E=u.pointerX,L=u.pointerY):(E=n._offset+C.x,L=i._offset+C.y);var O,P,I=a.readability(C.color,d)<1.5?p.contrast(d):C.color,D=n.spikemode,z=n.spikethickness,R=n.spikecolor||I,F=v.getPxPosition(t,n);if(-1!==D.indexOf("toaxis")||-1!==D.indexOf("across")){if(-1!==D.indexOf("toaxis")&&(O=F,P=L),-1!==D.indexOf("across")){var B=n._counterDomainMin,N=n._counterDomainMax;"free"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),O=l.t+(1-N)*l.h,P=l.t+(1-B)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:O,y2:P,"stroke-width":z,stroke:R,"stroke-dasharray":h.dashStyle(n.spikedash,z)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:O,y2:P,"stroke-width":z+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}-1!==D.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==n.side?z:-z),r:z,fill:R}).classed("spikeline",!0)}}}function B(t,e){return!e||e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint}function N(t,e){return c.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em"]})}function j(t,e,r){var n=e[t+"a"],i=e[t+"Val"],a=e.cd[0];if("category"===n.type||"multicategory"===n.type)i=n._categoriesMap[i];else if("date"===n.type){var o=e.trace[t+"periodalignment"];if(o){var s=e.cd[e.index],l=s[t+"Start"];void 0===l&&(l=s[t]);var u=s[t+"End"];void 0===u&&(u=s[t]);var c=u-l;"end"===o?i+=c:"middle"===o&&(i+=c/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&("group"!==r.boxmode&&"group"!==r.violinmode||(i+=a.t.dPos)),i}function U(t){return t.offsetTop+t.clientTop}function V(t){return t.offsetLeft+t.clientLeft}function H(t,e){var r=t._fullLayout,n=e.getBoundingClientRect(),i=n.left,a=n.top,s=i+n.width,l=a+n.height,u=o.apply3DTransform(r._invTransform)(i,a),c=o.apply3DTransform(r._invTransform)(s,l),f=u[0],h=u[1],p=c[0],d=c[1];return{x:f,y:h,width:p-f,height:d-h,top:Math.min(h,d),left:Math.min(f,p),right:Math.max(f,p),bottom:Math.max(h,d)}}},38048:function(t,e,r){"use strict";var n=r(71828),i=r(7901),a=r(23469).isUnifiedHover;t.exports=function(t,e,r,o){o=o||{};var s=e.legend;function l(t){o.font[t]||(o.font[t]=s?e.legend.font[t]:e.font[t])}e&&a(e.hovermode)&&(o.font||(o.font={}),l("size"),l("family"),l("color"),s?(o.bgcolor||(o.bgcolor=i.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r("hoverlabel.bgcolor",o.bgcolor),r("hoverlabel.bordercolor",o.bordercolor),r("hoverlabel.namelength",o.namelength),n.coerceFont(r,"hoverlabel.font",o.font),r("hoverlabel.align",o.align)}},98212:function(t,e,r){"use strict";var n=r(71828),i=r(528);t.exports=function(t,e){function r(r,a){return void 0!==e[r]?e[r]:n.coerce(t,e,i,r,a)}return r("clickmode"),r("hovermode")}},30211:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(28569),o=r(23469),s=r(528),l=r(88335);t.exports={moduleType:"component",name:"fx",constants:r(26675),schema:{layout:s},attributes:r(77914),layoutAttributes:s,supplyLayoutGlobalDefaults:r(22774),supplyDefaults:r(54268),supplyLayoutDefaults:r(34938),calc:r(30732),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,"hoverinfo",(function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}))},hover:l.hover,unhover:a.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:r(75914)}},528:function(t,e,r){"use strict";var n=r(26675),i=r(41940),a=i({editType:"none"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,t.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],dflt:"closest",editType:"modebar"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:a,grouptitlefont:i({editType:"none"}),align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},34938:function(t,e,r){"use strict";var n=r(71828),i=r(528),a=r(98212),o=r(38048);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}a(t,e)&&(r("hoverdistance"),r("spikedistance")),"select"===r("dragmode")&&r("selectdirection");var s=e._has("mapbox"),l=e._has("geo"),u=e._basePlotModules.length;"zoom"===e.dragmode&&((s||l)&&1===u||s&&l&&2===u)&&(e.dragmode="pan"),o(t,e,r),n.coerceFont(r,"hoverlabel.grouptitlefont",e.hoverlabel.font)}},22774:function(t,e,r){"use strict";var n=r(71828),i=r(38048),a=r(528);t.exports=function(t,e){i(t,e,(function(r,i){return n.coerce(t,e,a,r,i)}))}},83312:function(t,e,r){"use strict";var n=r(71828),i=r(30587).counter,a=r(27670).Y,o=r(85555).idRegex,s=r(44467),l={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:[i("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.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:a({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function u(t,e,r){var n=e[r+"axes"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function c(t,e,r,n,i,a){var o=e(t+"gap",r),s=e("domain."+t);e(t+"side",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h1){h||p||d||"independent"===k("pattern")&&(h=!0),g._hasSubplotGrid=h;var x,b,_="top to bottom"===k("roworder"),w=h?.2:.1,T=h?.3:.1;v&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),g._domains={x:c("x",k,w,x,m),y:c("y",k,T,b,y,_)}}else delete e.grid}function k(t,e){return n.coerce(r,g,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,c,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,v=r.rows,g=r.columns,y="independent"===r.pattern,m=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(v);var b=1;for(n=0;n("legend"===t?1:0));if(!1===M&&(r[t]=void 0),(!1!==M||f.uirevision)&&(p("uirevision",r.uirevision),!1!==M)){p("borderwidth");var S,E,L,C="h"===p("orientation"),O="paper"===p("yref"),P="paper"===p("xref"),I="left";if(C?(S=0,n.getComponentMethod("rangeslider","isVisible")(e.xaxis)?O?(E=1.1,L="bottom"):(E=1,L="top"):O?(E=-.1,L="top"):(E=0,L="bottom")):(E=1,L="auto",P?S=1.02:(S=1,I="right")),i.coerce(f,h,{x:{valType:"number",editType:"legend",min:P?-2:0,max:P?3:1,dflt:S}},"x"),i.coerce(f,h,{y:{valType:"number",editType:"legend",min:O?-2:0,max:O?3:1,dflt:E}},"y"),p("traceorder",_),u.isGrouped(r[t])&&p("tracegroupgap"),p("entrywidth"),p("entrywidthmode"),p("itemsizing"),p("itemwidth"),p("itemclick"),p("itemdoubleclick"),p("groupclick"),p("xanchor",I),p("yanchor",L),p("valign"),i.noneOrAll(f,h,["x","y"]),p("title.text")){p("title.side",C?"left":"top");var D=i.extendFlat({},d,{size:i.bigFont(d.size)});i.coerceFont(p,"title.font",D)}}}}t.exports=function(t,e,r){var n,a=r.slice(),o=e.shapes;if(o)for(n=0;n1)}var z=h.hiddenlabels||[];if(!(v||h.showlegend&&_.length))return s.selectAll("."+d).remove(),h._topdefs.select("#"+r).remove(),a.autoMargin(t,d);var R=i.ensureSingle(s,"g",d,(function(t){v||t.attr("pointer-events","all")})),F=i.ensureSingleById(h._topdefs,"clipPath",r,(function(t){t.append("rect")})),B=i.ensureSingle(R,"rect","bg",(function(t){t.attr("shape-rendering","crispEdges")}));B.call(c.stroke,f.bordercolor).call(c.fill,f.bgcolor).style("stroke-width",f.borderwidth+"px");var N=i.ensureSingle(R,"g","scrollbox"),j=f.title;if(f._titleWidth=0,f._titleHeight=0,j.text){var U=i.ensureSingle(N,"text",d+"titletext");U.attr("text-anchor","start").call(u.font,j.font).text(j.text),E(U,N,t,f,1)}else N.selectAll("."+d+"titletext").remove();var V=i.ensureSingle(R,"rect","scrollbar",(function(t){t.attr(p.scrollBarEnterAttrs).call(c.fill,p.scrollBarColor)})),H=N.selectAll("g.groups").data(_);H.enter().append("g").attr("class","groups"),H.exit().remove();var q=H.selectAll("g.traces").data(i.identity);q.enter().append("g").attr("class","traces"),q.exit().remove(),q.style("opacity",(function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==z.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1})).each((function(){n.select(this).call(A,t,f)})).call(x,t,f).each((function(){v||n.select(this).call(S,t,d)})),i.syncOrAsync([a.previousPromises,function(){return function(t,e,r,i){var a=t._fullLayout,o=O(i);i||(i=a[o]);var s=a._size,l=b.isVertical(i),c=b.isGrouped(i),f="fraction"===i.entrywidthmode,h=i.borderwidth,d=2*h,v=p.itemGap,g=i.itemwidth+2*v,y=2*(h+v),m=C(i),x=i.y<0||0===i.y&&"top"===m,_=i.y>1||1===i.y&&"bottom"===m,w=i.tracegroupgap,k={};i._maxHeight=Math.max(x||_?a.height/2:s.h,30);var A=0;i._width=0,i._height=0;var M=function(t){var e=0,r=0,n=t.title.side;return n&&(-1!==n.indexOf("left")&&(e=t._titleWidth),-1!==n.indexOf("top")&&(r=t._titleHeight)),[e,r]}(i);if(l)r.each((function(t){var e=t[0].height;u.setTranslate(this,h+M[0],h+M[1]+i._height+e/2+v),i._height+=e,i._width=Math.max(i._width,t[0].width)})),A=g+i._width,i._width+=v+g+d,i._height+=y,c&&(e.each((function(t,e){u.setTranslate(this,0,e*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var S=L(i),E=i.x<0||0===i.x&&"right"===S,P=i.x>1||1===i.x&&"left"===S,I=_||x,D=a.width/2;i._maxWidth=Math.max(E?I&&"left"===S?s.l+s.w:D:P?I&&"right"===S?s.r+s.w:D:s.w,2*g);var z=0,R=0;r.each((function(t){var e=T(t,i,g);z=Math.max(z,e),R+=e})),A=null;var F=0;if(c){var B=0,N=0,j=0;e.each((function(){var t=0,e=0;n.select(this).selectAll("g.traces").each((function(r){var n=T(r,i,g),a=r[0].height;u.setTranslate(this,M[0],M[1]+h+v+a/2+e),e+=a,t=Math.max(t,n),k[r[0].trace.legendgroup]=t}));var r=t+v;N>0&&r+h+N>i._maxWidth?(F=Math.max(F,N),N=0,j+=B+w,B=e):B=Math.max(B,e),u.setTranslate(this,N,j),N+=r})),i._width=Math.max(F,N)+h,i._height=j+B+y}else{var U=r.size(),V=R+d+(U-1)*v=i._maxWidth&&(F=Math.max(F,Z),q=0,G+=H,i._height+=H,H=0),u.setTranslate(this,M[0]+h+q,M[1]+h+G+e/2+v),Z=q+r+v,q+=n,H=Math.max(H,e)})),V?(i._width=q+d,i._height=H+y):(i._width=Math.max(F,Z)+d,i._height+=H+y)}}i._width=Math.ceil(Math.max(i._width+M[0],i._titleWidth+2*(h+p.titlePad))),i._height=Math.ceil(Math.max(i._height+M[1],i._titleHeight+2*(h+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var W=t._context.edits,Y=W.legendText||W.legendPosition;r.each((function(t){var e=n.select(this).select("."+o+"toggle"),r=t[0].height,a=t[0].trace.legendgroup,s=T(t,i,g);c&&""!==a&&(s=k[a]);var h=Y?g:A||s;l||f||(h+=v/2),u.setRect(e,0,-r/2,h,r)}))}(t,H,q,f)},function(){var e,c,m,x,b=h._size,_=f.borderwidth,w="paper"===f.xref,T="paper"===f.yref;if(!v){var A,M;A=w?b.l+b.w*f.x-g[L(f)]*f._width:h.width*f.x-g[L(f)]*f._width,M=T?b.t+b.h*(1-f.y)-g[C(f)]*f._effHeight:h.height*(1-f.y)-g[C(f)]*f._effHeight;var S=function(t,e,r,n){var i=t._fullLayout,o=i[e],s=L(o),l=C(o),u="paper"===o.xref,c="paper"===o.yref;t._fullLayout._reservedMargin[e]={};var f=o.y<.5?"b":"t",h=o.x<.5?"l":"r",p={r:i.width-r,l:r+o._width,b:i.height-n,t:n+o._effHeight};if(u&&c)return a.autoMargin(t,e,{x:o.x,y:o.y,l:o._width*g[s],r:o._width*y[s],b:o._effHeight*y[l],t:o._effHeight*g[l]});u?t._fullLayout._reservedMargin[e][f]=p[f]:c||"v"===o.orientation?t._fullLayout._reservedMargin[e][h]=p[h]:t._fullLayout._reservedMargin[e][f]=p[f]}(t,d,A,M);if(S)return;if(h.margin.autoexpand){var E=A,O=M;A=w?i.constrain(A,0,h.width-f._width):E,M=T?i.constrain(M,0,h.height-f._effHeight):O,A!==E&&i.log("Constrain "+d+".x to make legend fit inside graph"),M!==O&&i.log("Constrain "+d+".y to make legend fit inside graph")}u.setTranslate(R,A,M)}if(V.on(".drag",null),R.on("wheel",null),v||f._height<=f._maxHeight||t._context.staticPlot){var P=f._effHeight;v&&(P=f._height),B.attr({width:f._width-_,height:P-_,x:_/2,y:_/2}),u.setTranslate(N,0,0),F.select("rect").attr({width:f._width-2*_,height:P-2*_,x:_,y:_}),u.setClipUrl(N,r,t),u.setRect(V,0,0,0,0),delete f._scrollY}else{var I,D,z,j=Math.max(p.scrollBarMinHeight,f._effHeight*f._effHeight/f._height),U=f._effHeight-j-2*p.scrollBarMargin,H=f._height-f._effHeight,q=U/H,G=Math.min(f._scrollY||0,H);B.attr({width:f._width-2*_+p.scrollBarWidth+p.scrollBarMargin,height:f._effHeight-_,x:_/2,y:_/2}),F.select("rect").attr({width:f._width-2*_+p.scrollBarWidth+p.scrollBarMargin,height:f._effHeight-2*_,x:_,y:_+G}),u.setClipUrl(N,r,t),Y(G,j,q),R.on("wheel",(function(){Y(G=i.constrain(f._scrollY+n.event.deltaY/U*H,0,H),j,q),0!==G&&G!==H&&n.event.preventDefault()}));var Z=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;I="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,z=G})).on("drag",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(D="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,G=function(t,e,r){var n=(r-e)/q+t;return i.constrain(n,0,H)}(z,I,D),Y(G,j,q))}));V.call(Z);var W=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(I=t.changedTouches[0].clientY,z=G)})).on("drag",(function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(D=t.changedTouches[0].clientY,G=function(t,e,r){var n=(e-r)/q+t;return i.constrain(n,0,H)}(z,I,D),Y(G,j,q))}));N.call(W)}function Y(e,r,n){f._scrollY=t._fullLayout[d]._scrollY=e,u.setTranslate(N,0,-e),u.setRect(V,f._width,p.scrollBarMargin+e*n,p.scrollBarWidth,r),F.select("rect").attr("y",_+e)}t._context.edits.legendPosition&&(R.classed("cursor-move",!0),l.init({element:R.node(),gd:t,prepFn:function(){var t=u.getTranslate(R);m=t.x,x=t.y},moveFn:function(t,r){var n=m+t,i=x+r;u.setTranslate(R,n,i),e=l.align(n,f._width,b.l,b.l+b.w,f.xanchor),c=l.align(i+f._height,-f._height,b.t+b.h,b.t,f.yanchor)},doneFn:function(){if(void 0!==e&&void 0!==c){var r={};r[d+".x"]=e,r[d+".y"]=c,o.call("_guiRelayout",t,r)}},clickFn:function(e,r){var n=s.selectAll("g.traces").filter((function(){var t=this.getBoundingClientRect();return r.clientX>=t.left&&r.clientX<=t.right&&r.clientY>=t.top&&r.clientY<=t.bottom}));n.size()>0&&k(t,R,n,e,r)}}))}],t)}}function T(t,e,r){var n=t[0],i=n.width,a=e.entrywidthmode,o=n.trace.legendwidth||e.entrywidth;return"fraction"===a?e._maxWidth*o:r+(o||i)}function k(t,e,r,n,i){var a=r.data()[0][0].trace,l={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};a._group&&(l.group=a._group),o.traceIs(a,"pie-like")&&(l.label=r.datum()[0].label),!1!==s.triggerHandler(t,"plotly_legendclick",l)&&(1===n?e._clickTimeout=setTimeout((function(){t._fullLayout&&h(r,t,n)}),t._context.doubleClickDelay):2===n&&(e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&h(r,t,n)))}function A(t,e,r){var n,a,s=O(r),l=t.data()[0][0],c=l.trace,h=o.traceIs(c,"pie-like"),d=!r._inHover&&e._context.edits.legendText&&!h,v=r._maxNameLength;l.groupTitle?(n=l.groupTitle.text,a=l.groupTitle.font):(a=r.font,r.entries?n=l.text:(n=h?l.label:c.name,c._meta&&(n=i.templateString(n,c._meta))));var g=i.ensureSingle(t,"text",s+"text");g.attr("text-anchor","start").call(u.font,a).text(d?M(n,v):n);var y=r.itemwidth+2*p.itemGap;f.positionText(g,y,0),d?g.call(f.makeEditable,{gd:e,text:n}).call(E,t,e,r).on("edit",(function(n){this.text(M(n,v)).call(E,t,e,r);var a=l.trace._fullInput||{},s={};if(o.hasTransform(a,"groupby")){var u=o.getTransformIndices(a,"groupby"),f=u[u.length-1],h=i.keyedContainer(a,"transforms["+f+"].styles","target","value.name");h.set(l.trace._group,n),s=h.constructUpdate()}else s.name=n;return a._isShape?o.call("_guiRelayout",e,"shapes["+c.index+"].name",s.name):o.call("_guiRestyle",e,s,c.index)})):E(g,t,e,r)}function M(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function S(t,e,r){var a,o=e._context.doubleClickDelay,s=1,l=i.ensureSingle(t,"rect",r+"toggle",(function(t){e._context.staticPlot||t.style("cursor","pointer").attr("pointer-events","all"),t.call(c.fill,"rgba(0,0,0,0)")}));e._context.staticPlot||(l.on("mousedown",(function(){(a=(new Date).getTime())-e._legendMouseDownTimeo&&(s=Math.max(s-1,1)),k(e,i,t,s,n.event)}})))}function E(t,e,r,n,i){n._inHover&&t.attr("data-notex",!0),f.convertToTspans(t,r,(function(){!function(t,e,r,n){var i=t.data()[0][0];if(r._inHover||!i||i.trace.showlegend){var a=t.select("g[class*=math-group]"),o=a.node(),s=O(r);r||(r=e._fullLayout[s]);var l,c,h=r.borderwidth,d=(1===n?r.title.font:i.groupTitle?i.groupTitle.font:r.font).size*v;if(o){var g=u.bBox(o);l=g.height,c=g.width,1===n?u.setTranslate(a,h,h+.75*l):u.setTranslate(a,0,.25*l)}else{var y="."+s+(1===n?"title":"")+"text",m=t.select(y),x=f.lineCount(m),b=m.node();if(l=d*x,c=b?u.bBox(b).width:0,1===n){var _=0;"left"===r.title.side?c+=2*p.itemGap:"top center"===r.title.side?r._width&&(_=.5*(r._width-2*h-2*p.titlePad-c)):"top right"===r.title.side&&r._width&&(_=r._width-2*h-2*p.titlePad-c),f.positionText(m,h+p.titlePad+_,h+d)}else{var w=2*p.itemGap+r.itemwidth;i.groupTitle&&(w=p.itemGap,c-=r.itemwidth),f.positionText(m,w,-d*((x-1)/2-.3))}}1===n?(r._titleWidth=c,r._titleHeight=l):(i.lineHeight=d,i.height=Math.max(l,16)+3,i.width=c)}else t.remove()}(e,r,n,i)}))}function L(t){return i.isRightAnchor(t)?"right":i.isCenterAnchor(t)?"center":"left"}function C(t){return i.isBottomAnchor(t)?"bottom":i.isMiddleAnchor(t)?"middle":"top"}function O(t){return t._id||"legend"}t.exports=function(t,e){if(e)w(t,e);else{var r=t._fullLayout,i=r._legends;r._infolayer.selectAll('[class^="legend"]').each((function(){var t=n.select(this),e=t.attr("class").split(" ")[0];e.match(_)&&-1===i.indexOf(e)&&t.remove()}));for(var a=0;aS&&(M=S)}k[a][0]._groupMinRank=M,k[a][0]._preGroupSort=a}var E=function(t,e){return t.trace.legendrank-e.trace.legendrank||t._preSort-e._preSort};for(k.forEach((function(t,e){t[0]._preGroupSort=e})),k.sort((function(t,e){return t[0]._groupMinRank-e[0]._groupMinRank||t[0]._preGroupSort-e[0]._preGroupSort})),a=0;ar?r:t}t.exports=function(t,e,r){var y=e._fullLayout;r||(r=y.legend);var m="constant"===r.itemsizing,x=r.itemwidth,b=(x+2*p.itemGap)/2,_=o(b,0),w=function(t,e,r,n){var i;if(t+1)i=t;else{if(!(e&&e.width>0))return 0;i=e.width}return m?n:Math.min(i,r)};function T(t,a,o){var c=t[0].trace,f=c.marker||{},h=f.line||{},p=o?c.visible&&c.type===o:i.traceIs(c,"bar"),d=n.select(a).select("g.legendpoints").selectAll("path.legend"+o).data(p?[t]:[]);d.enter().append("path").classed("legend"+o,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),d.exit().remove(),d.each((function(t){var i=n.select(this),a=t[0],o=w(a.mlw,f.line,5,2);i.style("stroke-width",o+"px");var p=a.mcc;if(!r._inHover&&"mc"in a){var d=u(f),v=d.mid;void 0===v&&(v=(d.max+d.min)/2),p=s.tryColorscale(f,"")(v)}var y=p||a.mc||f.color,m=f.pattern,x=m&&s.getPatternAttr(m.shape,0,"");if(x){var b=s.getPatternAttr(m.bgcolor,0,null),_=s.getPatternAttr(m.fgcolor,0,null),T=m.fgopacity,k=g(m.size,8,10),A=g(m.solidity,.5,1),M="legend-"+c.uid;i.call(s.pattern,"legend",e,M,x,k,A,p,m.fillmode,b,_,T)}else i.call(l.fill,y);o&&l.stroke(i,a.mlc||h.color)}))}function k(t,r,o){var s=t[0],l=s.trace,u=o?l.visible&&l.type===o:i.traceIs(l,o),c=n.select(r).select("g.legendpoints").selectAll("path.legend"+o).data(u?[t]:[]);if(c.enter().append("path").classed("legend"+o,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),c.exit().remove(),c.size()){var p=l.marker||{},d=w(h(p.line.width,s.pts),p.line,5,2),v="pieLike",g=a.minExtend(l,{marker:{line:{width:d}}},v),y=a.minExtend(s,{trace:g},v);f(c,y,g,e)}}t.each((function(t){var e=n.select(this),i=a.ensureSingle(e,"g","layers");i.style("opacity",t[0].trace.opacity);var s=r.valign,l=t[0].lineHeight,u=t[0].height;if("middle"!==s&&l&&u){var c={top:1,bottom:-1}[s]*(.5*(l-u+3));i.attr("transform",o(0,c))}else i.attr("transform",null);i.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),i.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var f=i.selectAll("g.legendsymbols").data([t]);f.enter().append("g").classed("legendsymbols",!0),f.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)})).each((function(t){var r,i=t[0].trace,o=[];if(i.visible)switch(i.type){case"histogram2d":case"heatmap":o=[["M-15,-2V4H15V-2Z"]],r=!0;break;case"choropleth":case"choroplethmapbox":o=[["M-6,-6V6H6V-6Z"]],r=!0;break;case"densitymapbox":o=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],r="radial";break;case"cone":o=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],r=!1;break;case"streamtube":o=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],r=!1;break;case"surface":o=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],r=!0;break;case"mesh3d":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!1;break;case"volume":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!0;break;case"isosurface":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],r=!1}var c=n.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(o);c.enter().append("path").classed("legend3dandfriends",!0).attr("transform",_).style("stroke-miterlimit",1),c.exit().remove(),c.each((function(t,o){var c,f=n.select(this),h=u(i),p=h.colorscale,v=h.reversescale;if(p){if(!r){var g=p.length;c=0===o?p[v?g-1:0][1]:1===o?p[v?0:g-1][1]:p[Math.floor((g-1)/2)][1]}}else{var y=i.vertexcolor||i.facecolor||i.color;c=a.isArrayOrTypedArray(y)?y[o]||y[0]:y}f.attr("d",t[0]),c?f.call(l.fill,c):f.call((function(t){if(t.size()){var n="legendfill-"+i.uid;s.gradient(t,e,n,d(v,"radial"===r),p,"fill")}}))}))})).each((function(t){var e=t[0].trace,r="waterfall"===e.type;if(t[0]._distinct&&r){var i=t[0].trace[t[0].dir].marker;return t[0].mc=i.color,t[0].mlw=i.line.width,t[0].mlc=i.line.color,T(t,this,"waterfall")}var a=[];e.visible&&r&&(a=t[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var o=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(a);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",_).style("stroke-miterlimit",1),o.exit().remove(),o.each((function(t){var r=n.select(this),i=e[t[0]].marker,a=w(void 0,i.line,5,2);r.attr("d",t[1]).style("stroke-width",a+"px").call(l.fill,i.color),a&&r.call(l.stroke,i.line.color)}))})).each((function(t){T(t,this,"funnel")})).each((function(t){T(t,this)})).each((function(t){var r=t[0].trace,o=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&i.traceIs(r,"box-violin")?[t]:[]);o.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),o.exit().remove(),o.each((function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var i=w(void 0,r.line,5,2);t.style("stroke-width",i+"px").call(l.fill,r.fillcolor),i&&l.stroke(t,r.line.color)}else{var u=a.minExtend(r,{marker:{size:m?12:a.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});o.call(s.pointStyle,u,e)}}))})).each((function(t){k(t,this,"funnelarea")})).each((function(t){k(t,this,"pie")})).each((function(t){var r,i,o=v(t),l=o.showFill,f=o.showLine,h=o.showGradientLine,p=o.showGradientFill,g=o.anyFill,y=o.anyLine,m=t[0],b=m.trace,_=u(b),T=_.colorscale,k=_.reversescale,A=c.hasMarkers(b)||!g?"M5,0":y?"M5,-2":"M5,-3",M=n.select(this),S=M.select(".legendfill").selectAll("path").data(l||p?[t]:[]);if(S.enter().append("path").classed("js-fill",!0),S.exit().remove(),S.attr("d",A+"h"+x+"v6h-"+x+"z").call((function(t){if(t.size())if(l)s.fillGroupStyle(t,e);else{var r="legendfill-"+b.uid;s.gradient(t,e,r,d(k),T,"fill")}})),f||h){var E=w(void 0,b.line,10,5);i=a.minExtend(b,{line:{width:E}}),r=[a.minExtend(m,{trace:i})]}var L=M.select(".legendlines").selectAll("path").data(f||h?[r]:[]);L.enter().append("path").classed("js-line",!0),L.exit().remove(),L.attr("d",A+(h?"l"+x+",0.0001":"h"+x)).call(f?s.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+b.uid;s.lineGroupStyle(t),s.gradient(t,e,r,d(k),T,"stroke")}})})).each((function(t){var r,i,o=v(t),l=o.anyFill,u=o.anyLine,f=o.showLine,h=o.showMarker,p=t[0],d=p.trace,g=!h&&!u&&!l&&c.hasText(d);function y(t,e,r,n){var i=a.nestedProperty(d,t).get(),o=a.isArrayOrTypedArray(i)&&e?e(i):i;if(m&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function x(t){return p._distinct&&p.index&&t[p.index]?t[p.index]:t[0]}if(h||g||f){var b={},w={};if(h){b.mc=y("marker.color",x),b.mx=y("marker.symbol",x),b.mo=y("marker.opacity",a.mean,[.2,1]),b.mlc=y("marker.line.color",x),b.mlw=y("marker.line.width",a.mean,[0,5],2),w.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var T=y("marker.size",a.mean,[2,16],12);b.ms=T,w.marker.size=T}f&&(w.line={width:y("line.width",x,[0,10],5)}),g&&(b.tx="Aa",b.tp=y("textposition",x),b.ts=10,b.tc=y("textfont.color",x),b.tf=y("textfont.family",x)),r=[a.minExtend(p,b)],(i=a.minExtend(d,w)).selectedpoints=null,i.texttemplate=null}var k=n.select(this).select("g.legendpoints"),A=k.selectAll("path.scatterpts").data(h?r:[]);A.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",_),A.exit().remove(),A.call(s.pointStyle,i,e),h&&(r[0].mrc=3);var M=k.selectAll("g.pointtext").data(g?r:[]);M.enter().append("g").classed("pointtext",!0).append("text").attr("transform",_),M.exit().remove(),M.selectAll("text").call(s.textPointStyle,i,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(e.visible&&"candlestick"===e.type?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",(function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"})).attr("transform",_).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("stroke-width",o+"px").call(l.fill,a.fillcolor),o&&l.stroke(i,a.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(e.visible&&"ohlc"===e.type?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",(function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"})).attr("transform",_).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("fill","none").call(s.dashLine,a.line.dash,o),o&&l.stroke(i,a.line.color)}))}))}},42068:function(t,e,r){"use strict";r(93348),t.exports={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"}}},26023:function(t,e,r){"use strict";var n=r(73972),i=r(74875),a=r(41675),o=r(24255),s=r(34031).eraseActiveShape,l=r(71828),u=l._,c=t.exports={};function f(t,e){var r,i,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,u=t._fullLayout,c={},f=a.list(t,null,!0),h=u._cartesianSpikesEnabled;if("zoom"===s){var p,d="in"===l?.5:2,v=(1+d)/2,g=(1-d)/2;for(i=0;i1?(P=["toggleHover"],I=["resetViews"]):y?(O=["zoomInGeo","zoomOutGeo"],P=["hoverClosestGeo"],I=["resetGeo"]):g?(P=["hoverClosest3d"],I=["resetCameraDefault3d","resetCameraLastSave3d"]):w?(O=["zoomInMapbox","zoomOutMapbox"],P=["toggleHover"],I=["resetViewMapbox"]):b?P=["hoverClosestGl2d"]:m?P=["hoverClosestPie"]:A?(P=["hoverClosestCartesian","hoverCompareCartesian"],I=["resetViewSankey"]):P=["toggleHover"],v&&(P=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]),(function(t){for(var e=0;e0)){var v=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),i=0,a=0;a=n.max)e=F[r+1];else if(t=n.pmax)e=F[r+1];else if(tr._length||y+b<0)return;c=g+b,p=y+b;break;case l:if(x="col-resize",g+b>r._length)return;c=g+b,p=y;break;case u:if(x="col-resize",y+b<0)return;c=g,p=y+b;break;default:x="ew-resize",c=v,p=v+b}if(p=0;k--){var A=r.append("path").attr(g).style("opacity",k?.1:y).call(o.stroke,x).call(o.fill,m).call(s.dashLine,k?"solid":_,k?4+b:b);if(d(A,t,a),w){var M=l(t.layout,"selections",a);A.style({cursor:"move"});var S={element:A.node(),plotinfo:p,gd:t,editHelpers:M,isActiveSelection:!0},E=n(u,t);i(E,A,S)}else A.style("pointer-events",k?"all":"none");T[k]=A}var L=T[0];T[1].node().addEventListener("click",(function(){return function(t,e){if(h(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeSelectionIndex)return void v(t);t._fullLayout._activeSelectionIndex=r,t._fullLayout._deactivateSelection=v,f(t)}}}(t,L)}))}(t._fullLayout._selectionLayer)}function d(t,e,r){var n=r.xref+r.yref;s.setClipUrl(t,"clip"+e._fullLayout._uid+n,e)}function v(t){h(t)&&t._fullLayout._activeSelectionIndex>=0&&(a(t),delete t._fullLayout._activeSelectionIndex,f(t))}t.exports={draw:f,drawOne:p,activateLastSelection:function(t){if(h(t)){var e=t._fullLayout.selections.length-1;t._fullLayout._activeSelectionIndex=e,t._fullLayout._deactivateSelection=v,f(t)}}}},53777:function(t,e,r){"use strict";var n=r(79952).P,i=r(1426).extendFlat;t.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none"},line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:1,dflt:1,editType:"none"},dash:i({},n,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}},90849:function(t){"use strict";t.exports=function(t,e,r){r("newselection.mode"),r("newselection.line.width")&&(r("newselection.line.color"),r("newselection.line.dash")),r("activeselection.fillcolor"),r("activeselection.opacity")}},35855:function(t,e,r){"use strict";var n=r(64505).selectMode,i=r(51873).clearOutline,a=r(60165),o=a.readPaths,s=a.writePaths,l=a.fixDatesForPaths;t.exports=function(t,e){if(t.length){var r=t[0][0];if(r){var a=r.getAttribute("d"),u=e.gd,c=u._fullLayout.newselection,f=e.plotinfo,h=f.xaxis,p=f.yaxis,d=e.isActiveSelection,v=e.dragmode,g=(u.layout||{}).selections||[];if(!n(v)&&void 0!==d){var y=u._fullLayout._activeSelectionIndex;if(y-1,b=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){Z(t,e,a);var _=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n0?function(t,e){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i1)return!1;if((n+=e.selectedpoints.length)>1)return!1}return 1===n}(s)&&(h=K(_))){for(o&&o.remove(),g=0;g=0})(i)&&i._fullLayout._deactivateShape(i),function(t){return t._fullLayout._activeSelectionIndex>=0}(i)&&i._fullLayout._deactivateSelection(i);var o=i._fullLayout._zoomlayer,s=p(r),l=v(r);if(s||l){var u,c,f=o.selectAll(".select-outline-"+n.id);f&&i._fullLayout._outlining&&(s&&(u=T(f,t)),u&&a.call("_guiRelayout",i,{shapes:u}),l&&!U(t)&&(c=k(f,t)),c&&(i._fullLayout._noEmitSelectedAtStart=!0,a.call("_guiRelayout",i,{selections:c}).then((function(){e&&A(i)}))),i._fullLayout._outlining=!1)}n.selection={},n.selection.selectionDefs=t.selectionDefs=[],n.selection.mergedPolygons=t.mergedPolygons=[]}function Y(t){return t._id}function X(t,e,r,n){if(!t.calcdata)return[];var i,a,o,s=[],l=e.map(Y),u=r.map(Y);for(o=0;o0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function $(t,e,r){var n,i;for(n=0;n-1&&e;if(!a&&e){var et=ot(t,!0);if(et.length){var nt=et[0].xref,pt=et[0].yref;if(nt&&pt){var dt=ut(et);ct([C(t,nt,"x"),C(t,pt,"y")])(Q,dt)}}t._fullLayout._noEmitSelectedAtStart?t._fullLayout._noEmitSelectedAtStart=!1:tt&&ft(t,Q),h._reselect=!1}if(!a&&h._deselect){var vt=h._deselect;(function(t,e,r){for(var n=0;n=0)k._fullLayout._deactivateShape(k);else if(!x){var r=A.clickmode;L.done(Mt).then((function(){if(L.clear(Mt),2===t){for(bt.remove(),K=0;K-1&&V(e,k,n.xaxes,n.yaxes,n.subplot,n,bt),"event"===r&&ft(k,void 0);l.click(k,e)})).catch(M.error)}},n.doneFn=function(){kt.remove(),L.done(Mt).then((function(){L.clear(Mt),!S&&J&&n.selectionDefs&&(J.subtract=xt,n.selectionDefs.push(J),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,Y)),(S||x)&&W(n,S),n.doneFnCompleted&&n.doneFnCompleted(St),b&&ft(k,at)})).catch(M.error)}},clearOutline:x,clearSelectionsCache:W,selectOnClick:V}},89827:function(t,e,r){"use strict";var n=r(50215),i=r(41940),a=r(82196).line,o=r(79952).P,s=r(1426).extendFlat,l=r(44467).templatedArray,u=(r(24695),r(9012)),c=r(5386).R,f=r(37281);t.exports=l("shape",{visible:s({},u.visible,{editType:"calc+arraydraw"}),showlegend:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},legend:s({},u.legend,{editType:"calc+arraydraw"}),legendgroup:s({},u.legendgroup,{editType:"calc+arraydraw"}),legendgrouptitle:{text:s({},u.legendgrouptitle.text,{editType:"calc+arraydraw"}),font:i({editType:"calc+arraydraw"}),editType:"calc+arraydraw"},legendrank:s({},u.legendrank,{editType:"calc+arraydraw"}),legendwidth:s({},u.legendwidth,{editType:"calc+arraydraw"}),type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},xref:s({},n.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},yref:s({},n.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:s({},a.color,{editType:"arraydraw"}),width:s({},a.width,{editType:"calc+arraydraw"}),dash:s({},o,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw"},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},label:{text:{valType:"string",dflt:"",editType:"arraydraw"},texttemplate:c({},{keys:Object.keys(f)}),font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"],editType:"arraydraw"},textangle:{valType:"angle",dflt:"auto",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],editType:"calc+arraydraw"},padding:{valType:"number",dflt:3,min:0,editType:"arraydraw"},editType:"arraydraw"},editType:"arraydraw"})},5627:function(t,e,r){"use strict";var n=r(71828),i=r(89298),a=r(21459),o=r(30477);function s(t){return u(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return u(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function u(t,e,r,i,s,l){var u=t/2,c=l;if("pixel"===e){var f=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],h=n.aggNums(Math.max,null,f),p=n.aggNums(Math.min,null,f),d=p<0?Math.abs(p)+u:u,v=h>0?h+u:u;return{ppad:u,ppadplus:c?d:v,ppadminus:c?v:d}}return{ppad:u}}function c(t,e,r,n,i){var s="category"===t.type||"multicategory"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,u,c,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;lp&&(p=f)));return p>=h?[h,p]:void 0}}t.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o=t?e-n:n-e,-180/Math.PI*Math.atan2(i,a)}(x,_,b,w):0),A.call((function(e){return e.call(o.font,k).attr({}),a.convertToTspans(e,t),e}));var U=function(t,e,r,n,i,a,o){var s,l,u,c,h=i.label.textposition,p=i.label.textangle,d=i.label.padding,v=i.type,g=Math.PI/180*a,y=Math.sin(g),m=Math.cos(g),x=i.label.xanchor,b=i.label.yanchor;if("line"===v){"start"===h?(s=t,l=e):"end"===h?(s=r,l=n):(s=(t+r)/2,l=(e+n)/2),"auto"===x&&(x="start"===h?"auto"===p?r>t?"left":rt?"right":rt?"right":rt?"left":r1&&(2!==t.length||"Z"!==t[1][0])&&(0===C&&(t[0][0]="M"),e[L]=t,A(),M())}}()}}function V(t,r){!function(t,r){if(e.length)for(var n=0;n_?(M=p,C="y0",S=_,O="y1"):(M=_,C="y1",S=p,O="y0"),$(n),et(l,r),function(t,e,r){var n=e.xref,i=e.yref,a=o.getFromId(r,n),s=o.getFromId(r,i),l="";"paper"===n||a.autorange||(l+=n),"paper"===i||s.autorange||(l+=i),h.setClipUrl(t,l?"clip"+r._fullLayout._uid+l:null,r)}(e,r,t),K.moveFn="move"===z?Q:tt,K.altKey=n.altKey)},doneFn:function(){b(t)||(v(e),rt(l),T(e,t,r),i.call("_guiRelayout",t,c.getUpdateObj()))},clickFn:function(){b(t)||rt(l)}};function $(r){if(b(t))z=null;else if(B)z="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=K.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!N&&i>10&&a>10&&!r.shiftKey?d.getCursor(o/i,1-s/a):"move";v(e,l),z=l.split("-")[0]}}function Q(n,i){if("path"===r.type){var a=function(t){return t},o=a,c=a;R?j("xanchor",r.xanchor=Y(w+n)):(o=function(t){return Y(Z(t)+n)},V&&"date"===V.type&&(o=y.encodeDate(o))),F?j("yanchor",r.yanchor=X(A+i)):(c=function(t){return X(W(t)+i)},q&&"date"===q.type&&(c=y.encodeDate(c))),j("path",r.path=k(D,o,c))}else R?j("xanchor",r.xanchor=Y(w+n)):(j("x0",r.x0=Y(f+n)),j("x1",r.x1=Y(x+n))),F?j("yanchor",r.yanchor=X(A+i)):(j("y0",r.y0=X(p+i)),j("y1",r.y1=X(_+i)));e.attr("d",m(t,r)),et(l,r),u(t,s,r,U)}function tt(n,i){if(N){var a=function(t){return t},o=a,c=a;R?j("xanchor",r.xanchor=Y(w+n)):(o=function(t){return Y(Z(t)+n)},V&&"date"===V.type&&(o=y.encodeDate(o))),F?j("yanchor",r.yanchor=X(A+i)):(c=function(t){return X(W(t)+i)},q&&"date"===q.type&&(c=y.encodeDate(c))),j("path",r.path=k(D,o,c))}else if(B){if("resize-over-start-point"===z){var h=f+n,d=F?p-i:p+i;j("x0",r.x0=R?h:Y(h)),j("y0",r.y0=F?d:X(d))}else if("resize-over-end-point"===z){var v=x+n,g=F?_-i:_+i;j("x1",r.x1=R?v:Y(v)),j("y1",r.y1=F?g:X(g))}}else{var b=function(t){return-1!==z.indexOf(t)},T=b("n"),H=b("s"),G=b("w"),J=b("e"),K=T?M+i:M,$=H?S+i:S,Q=G?E+n:E,tt=J?L+n:L;F&&(T&&(K=M-i),H&&($=S-i)),(!F&&$-K>10||F&&K-$>10)&&(j(C,r[C]=F?K:X(K)),j(O,r[O]=F?$:X($))),tt-Q>10&&(j(P,r[P]=R?Q:Y(Q)),j(I,r[I]=R?tt:Y(tt)))}e.attr("d",m(t,r)),et(l,r),u(t,s,r,U)}function et(t,e){(R||F)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var i=Z(R?e.xanchor:a.midRange(r?[e.x0,e.x1]:y.extractPathCoords(e.path,g.paramIsX))),o=W(F?e.yanchor:a.midRange(r?[e.y0,e.y1]:y.extractPathCoords(e.path,g.paramIsY)));if(i=y.roundPositionForSharpStrokeRendering(i,1),o=y.roundPositionForSharpStrokeRendering(o,1),R&&F){var s="M"+(i-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(R){var l="M"+(i-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var u="M"+(i-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",u)}}()}function rt(t){t.selectAll(".visual-cue").remove()}d.init(K),J.node().onmousemove=$}(t,F,c,e,r,z):!0===c.editable&&F.style("pointer-events",I||f.opacity(L)*E<=.5?"stroke":"all");F.node().addEventListener("click",(function(){return function(t,e){if(_(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void A(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=A,x(t)}}}(t,F)}))}c._input&&!0===c.visible&&("below"!==c.layer?M(t._fullLayout._shapeUpperLayer):"paper"===c.xref||"paper"===c.yref?M(t._fullLayout._shapeLowerLayer):w._hadPlotinfo?M((w.mainplotinfo||w).shapelayer):M(t._fullLayout._shapeLowerLayer))}function T(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"").replace(/[xyz][1-9]* *domain/g,"");h.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function k(t,e,r){return t.replace(g.segmentRE,(function(t){var n=0,i=t.charAt(0),a=g.paramIsX[i],o=g.paramIsY[i],s=g.numParams[i];return i+t.substr(1).replace(g.paramRE,(function(t){return n>=s||(a[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function A(t){_(t)&&t._fullLayout._activeShapeIndex>=0&&(c(t),delete t._fullLayout._activeShapeIndex,x(t))}t.exports={draw:x,drawOne:w,eraseActiveShape:function(t){if(_(t)){c(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e0&&lp&&(t="X"),t}));return a>p&&(d=d.replace(/[\s,]*X.*/,""),i.log("Ignoring extra params in segment "+t)),c+d}))}(r,s,u);if("pixel"===r.xsizemode){var b=s(r.xanchor);c=b+r.x0,f=b+r.x1}else c=s(r.x0),f=s(r.x1);if("pixel"===r.ysizemode){var _=u(r.yanchor);h=_-r.y0,p=_-r.y1}else h=u(r.y0),p=u(r.y1);if("line"===d)return"M"+c+","+h+"L"+f+","+p;if("rect"===d)return"M"+c+","+h+"H"+f+"V"+p+"H"+c+"Z";var w=(c+f)/2,T=(h+p)/2,k=Math.abs(w-c),A=Math.abs(T-h),M="A"+k+","+A,S=w+k+","+T;return"M"+S+M+" 0 1,1 "+w+","+(T-A)+M+" 0 0,1 "+S+"Z"}},89853:function(t,e,r){"use strict";var n=r(34031);t.exports={moduleType:"component",name:"shapes",layoutAttributes:r(89827),supplyLayoutDefaults:r(84726),supplyDrawNewShapeDefaults:r(45547),includeBasePlot:r(76325)("shapes"),calcAutorange:r(5627),draw:n.draw,drawOne:n.drawOne}},37281:function(t){"use strict";function e(t,e){return e?e.d2l(t):t}function r(t,e){return e?e.l2d(t):t}function n(t,r){return e(t.x1,r)-e(t.x0,r)}function i(t,r,n){return e(t.y1,n)-e(t.y0,n)}t.exports={x0:function(t){return t.x0},x1:function(t){return t.x1},y0:function(t){return t.y0},y1:function(t){return t.y1},slope:function(t,e,r){return"line"!==t.type?void 0:i(t,0,r)/n(t,e)},dx:n,dy:i,width:function(t,e){return Math.abs(n(t,e))},height:function(t,e,r){return Math.abs(i(t,0,r))},length:function(t,e,r){return"line"!==t.type?void 0:Math.sqrt(Math.pow(n(t,e),2)+Math.pow(i(t,0,r),2))},xcenter:function(t,n){return r((e(t.x1,n)+e(t.x0,n))/2,n)},ycenter:function(t,n,i){return r((e(t.y1,i)+e(t.y0,i))/2,i)}}},75067:function(t,e,r){"use strict";var n=r(41940),i=r(35025),a=r(1426).extendDeepAll,o=r(30962).overrideAll,s=r(85594),l=r(44467).templatedArray,u=r(98292),c=l("step",{visible:{valType:"boolean",dflt:!0},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}});t.exports=o(l("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:c,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:a(i({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:s.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:n({})},font:n({}),activebgcolor:{valType:"color",dflt:u.gripBgActiveColor},bgcolor:{valType:"color",dflt:u.railBgColor},bordercolor:{valType:"color",dflt:u.railBorderColor},borderwidth:{valType:"number",min:0,dflt:u.railBorderWidth},ticklen:{valType:"number",min:0,dflt:u.tickLength},tickcolor:{valType:"color",dflt:u.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:u.minorTickLength}}),"arraydraw","from-root")},98292:function(t){"use strict";t.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,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}},12343:function(t,e,r){"use strict";var n=r(71828),i=r(85501),a=r(75067),o=r(98292).name,s=a.steps;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=i(t,e,{name:"steps",handleItemDefaults:u}),l=0,c=0;c0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform",l(o-.5*f.gripWidth,e._dims.currentValueTotalHeight))}}function E(t,e){var r=t._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,e))}function L(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function C(t,e,r){var n=r._dims,i=s.ensureSingle(t,"rect",f.railTouchRectClass,(function(n){n.call(A,e,t,r).style("pointer-events","all")}));i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr("opacity",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function O(t,e){var r=e._dims,n=r.inputAreaLength-2*f.railInset,i=s.ensureSingle(t,"rect",f.railRectClass);i.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,"shape-rendering":"crispEdges"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(i,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}t.exports=function(t){var e=t._context.staticPlot,r=t._fullLayout,a=function(t,e){for(var r=t[f.name],n=[],i=0;i0?[0]:[]);function l(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,g(e))}if(s.enter().append("g").classed(f.containerClassName,!0).style("cursor",e?null:"ew-resize"),s.exit().each((function(){n.select(this).selectAll("g."+f.groupClassName).each(l)})).remove(),0!==a.length){var u=s.selectAll("g."+f.groupClassName).data(a,y);u.enter().append("g").classed(f.groupClassName,!0),u.exit().each(l).remove();for(var c=0;c0||_<0){var M={left:[-w,0],right:[w,0],top:[0,-w],bottom:[0,w]}[b.side];r.attr("transform",l(M[0],M[1]))}}}return R.call(F),I&&(E?R.on(".opacity",null):(A=0,M=!0,R.text(m).on("mouseover.opacity",(function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)}))),R.call(f.makeEditable,{gd:t}).on("edit",(function(e){void 0!==x?o.call("_guiRestyle",t,y,e,x):o.call("_guiRelayout",t,y,e)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(F)})).on("input",(function(t){this.text(t||" ").call(f.positionText,_.x,_.y)}))),R.classed("js-placeholder",M),T}}},7163:function(t,e,r){"use strict";var n=r(41940),i=r(22399),a=r(1426).extendFlat,o=r(30962).overrideAll,s=r(35025),l=r(44467).templatedArray,u=l("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("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:u,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:a(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:i.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},75909:function(t){"use strict";t.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"◄",right:"►",up:"▲",down:"▼"}}},64897:function(t,e,r){"use strict";var n=r(71828),i=r(85501),a=r(7163),o=r(75909).name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o("visible",i(t,e,{name:"buttons",handleItemDefaults:u}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function u(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}t.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},13689:function(t,e,r){"use strict";var n=r(39898),i=r(74875),a=r(7901),o=r(91424),s=r(71828),l=r(63893),u=r(44467).arrayEditor,c=r(18783).LINE_SPACING,f=r(75909),h=r(25849);function p(t){return t._index}function d(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function v(t,e,r,n,i,a,o,s){e.active=o,u(t.layout,f.name,e).applyUpdate("active",o),"buttons"===e.type?y(t,n,null,null,e):"dropdown"===e.type&&(i.attr(f.menuIndexAttrName,"-1"),g(t,n,i,a,e),s||y(t,n,i,a,e))}function g(t,e,r,n,i){var a=s.ensureSingle(e,"g",f.headerClassName,(function(t){t.style("pointer-events","all")})),l=i._dims,u=i.active,c=i.buttons[u]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(m,i,c,t).call(M,i,h,p),s.ensureSingle(e,"text",f.headerArrowClassName,(function(t){t.attr("text-anchor","end").call(o.font,i.font).text(f.arrowSymbol[i.direction])})).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on("click",(function(){r.call(S,String(d(r,i)?-1:i._index)),y(t,e,r,n,i)})),a.on("mouseover",(function(){a.call(w)})),a.on("mouseout",(function(){a.call(T,i)})),o.setTranslate(e,l.lx,l.ly)}function y(t,e,r,a,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,u="dropdown"===o.type?f.dropdownButtonClassName:f.buttonClassName,c=r.selectAll("g."+u).data(s.filterVisible(l)),h=c.enter().append("g").classed(u,!0),p=c.exit();"dropdown"===o.type?(h.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var d=0,g=0,y=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?g=y.headerHeight+f.gapButtonHeader:d=y.headerWidth+f.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(g=-f.gapButtonHeader+f.gapButton-y.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-y.openWidth);var b={x:y.lx+d+o.pad.l,y:y.ly+g+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},k={l:b.x+o.borderwidth,t:b.y+o.borderwidth};c.each((function(s,l){var u=n.select(this);u.call(m,o,s,t).call(M,o,b),u.on("click",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(v(t,o,0,e,r,a,-1),i.executeAPICommand(t,s.method,s.args2)):(v(t,o,0,e,r,a,l),i.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))})),u.on("mouseover",(function(){u.call(w)})),u.on("mouseout",(function(){u.call(T,o),c.call(_,o)}))})),c.call(_,o),x?(k.w=Math.max(y.openWidth,y.headerWidth),k.h=b.y-k.t):(k.w=b.x-k.l,k.h=Math.max(y.openHeight,y.headerHeight)),k.direction=o.direction,a&&(c.size()?function(t,e,r,n,i,a){var o,s,l,u=i.direction,c="up"===u||"down"===u,h=i._dims,p=i.active;if(c)for(s=0,l=0;l0?[0]:[]);if(o.enter().append("g").classed(f.containerClassName,!0).style("cursor","pointer"),o.exit().each((function(){n.select(this).selectAll("g."+f.headerGroupClassName).each(a)})).remove(),0!==r.length){var l=o.selectAll("g."+f.headerGroupClassName).data(r,p);l.enter().append("g").classed(f.headerGroupClassName,!0);for(var u=s.ensureSingle(o,"g",f.dropdownButtonGroupClassName,(function(t){t.style("pointer-events","all")})),c=0;cw,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=g+y;E+M>u&&(E=u-M);var L=this.container.selectAll("rect.scrollbar-horizontal").data(k?[0]:[]);L.exit().on(".drag",null).remove(),L.enter().append("rect").classed("scrollbar-horizontal",!0).call(i.fill,s.barColor),k?(this.hbar=L.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=y>T,O=s.barWidth+2*s.barPad,P=s.barLength+2*s.barPad,I=d+v,D=g;I+O>l&&(I=l-O);var z=this.container.selectAll("rect.scrollbar-vertical").data(C?[0]:[]);z.exit().on(".drag",null).remove(),z.enter().append("rect").classed("scrollbar-vertical",!0).call(i.fill,s.barColor),C?(this.vbar=z.attr({rx:s.barRadius,ry:s.barRadius,x:I,y:D,width:O,height:P}),this._vbarYMin=D+P/2,this._vbarTranslateMax=T-P):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=c-.5,B=C?f+O+.5:f+.5,N=h-.5,j=k?p+M+.5:p+.5,U=o._topdefs.selectAll("#"+R).data(k||C?[0]:[]);if(U.exit().remove(),U.enter().append("clipPath").attr("id",R).append("rect"),k||C?(this._clipRect=U.select("rect").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R,this.gd),this.bg.attr({x:d,y:g,width:v,height:y})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),k||C){var V=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(V);var H=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));k&&this.hbar.on(".drag",null).call(H),C&&this.vbar.on(".drag",null).call(H)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.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)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.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(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},18783:function(t){"use strict";t.exports={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,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},24695:function(t){"use strict";t.exports={axisRefDescription:function(t,e,r){return["If set to a",t,"axis id (e.g. *"+t+"* or","*"+t+"2*), the `"+t+"` position refers to a",t,"coordinate. If set to *paper*, the `"+t+"`","position refers to the distance from the",e,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",e,"("+r+"). If set to a",t,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",e,"of the domain of that axis: e.g.,","*"+t+"2 domain* refers to the domain of the second",t," axis and a",t,"position of 0.5 refers to the","point between the",e,"and the",r,"of the domain of the","second",t,"axis."].join(" ")}}},22372:function(t){"use strict";t.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"▲"},DECREASING:{COLOR:"#FF4136",SYMBOL:"▼"}}},31562:function(t){"use strict";t.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}},74808:function(t){"use strict";t.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},29659:function(t){"use strict";t.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},87381:function(t){"use strict";t.exports={circle:"●","circle-open":"○",square:"■","square-open":"□",diamond:"◆","diamond-open":"◇",cross:"+",x:"❌"}},37822:function(t){"use strict";t.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},50606:function(t){"use strict";t.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"−"}},32396:function(t,e){"use strict";e.CSS_DECLARATIONS=[["image-rendering","optimizeSpeed"],["image-rendering","-moz-crisp-edges"],["image-rendering","-o-crisp-edges"],["image-rendering","-webkit-optimize-contrast"],["image-rendering","optimize-contrast"],["image-rendering","crisp-edges"],["image-rendering","pixelated"]],e.STYLE=e.CSS_DECLARATIONS.map((function(t){return t.join(": ")+"; "})).join("")},77922:function(t,e){"use strict";e.xmlns="http://www.w3.org/2000/xmlns/",e.svg="http://www.w3.org/2000/svg",e.xlink="http://www.w3.org/1999/xlink",e.svgAttrs={xmlns:e.svg,"xmlns:xlink":e.xlink}},8729:function(t,e,r){"use strict";e.version=r(11506).version,r(7417),r(98847);for(var n=r(73972),i=e.register=n.register,a=r(10641),o=Object.keys(a),s=0;s",""," ",""," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}},99863:function(t,e){"use strict";e.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},e.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},e.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},e.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},e.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},e.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},26348:function(t,e,r){"use strict";var n=r(64872),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function u(t,e){return a(e-t,s)}function c(t,e){if(l(e))return!0;var r,n;e[0](n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function f(t,e,r,n,i,a,u){i=i||0,a=a||0;var c,f,h,p,d,v=l([r,n]);function g(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}v?(c=0,f=o,h=s):r=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return f(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return f(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return f(t,e,r,n,i,a,1)}}},73627:function(t,e){"use strict";var r=Array.isArray,n=ArrayBuffer,i=DataView;function a(t){return n.isView(t)&&!(t instanceof i)}function o(t){return r(t)||a(t)}function s(t,e,r){if(o(t)){if(o(t[0])){for(var n=r,i=0;ii.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&ti.max?e.set(r):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){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return i(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o.get(t,r))}},angle:{coerceFunction:function(t,e,r){"auto"===t?e.set("auto"):n(t)?e.set(f(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||c(r);"string"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!c(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(-1===(n.extras||[]).indexOf(t))if("string"==typeof t){for(var i=t.split("+"),a=0;a=n&&t<=i?t:c}if("string"!=typeof t&&"number"!=typeof t)return c;t=String(t);var u=_(r),y=t.charAt(0);!u||"G"!==y&&"g"!==y||(t=t.substr(1),r="");var w=u&&"chinese"===r.substr(0,7),T=t.match(w?x:m);if(!T)return c;var k=T[1],A=T[3]||"1",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),L=Number(T[11]||0);if(u){if(2===k.length)return c;var C;k=Number(k);try{var O=g.getComponentMethod("calendars","getCal")(r);if(w){var P="i"===A.charAt(A.length-1);A=parseInt(A,10),C=O.newDate(k,O.toMonthIndex(k,A,P),M)}else C=O.newDate(k,Number(A),M)}catch(t){return c}return C?(C.toJD()-v)*f+S*h+E*p+L*d:c}k=2===k.length?(Number(k)+2e3-b)%100+b:Number(k),A-=1;var I=new Date(Date.UTC(2e3,A,M,S,E));return I.setUTCFullYear(k),I.getUTCMonth()!==A||I.getUTCDate()!==M?c:I.getTime()+L*d},n=e.MIN_MS=e.dateTime2ms("-9999"),i=e.MAX_MS=e.dateTime2ms("9999-12-31 23:59:59.9999"),e.isDateTime=function(t,r){return e.dateTime2ms(t,r)!==c};var T=90*f,k=3*h,A=5*p;function M(t,e,r,n,i){if((e||r||n||i)&&(t+=" "+w(e,2)+":"+w(r,2),(n||i)&&(t+=":"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+="."+w(i,a)}return t}e.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=i))return c;e||(e=0);var a,o,s,u,m,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+v,E=Math.floor(l(t,f));try{a=g.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){a=y("G%Y-%m-%d")(new Date(w))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=e=n+f&&t<=i-f))return c;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(a("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},e.cleanDate=function(t,r,n){if(t===c)return r;if(e.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),r;if(!(t=e.ms2DateTimeLocal(+t))&&void 0!==r)return r}else if(!e.isDateTime(t,n))return s.error("unrecognized date",t),r;return t};var S=/%\d?f/g,E=/%h/g,L={1:"1",2:"1",3:"2",4:"2"};function C(t,e,r,n){t=t.replace(S,(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(t=t.replace(E,(function(){return L[r("%q")(i)]})),_(n))try{t=g.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(i)}var O=[59,59.9,59.99,59.999,59.9999];e.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if("y"===r)e=a.year;else if("m"===r)e=a.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),O[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+i}return n}(t,r)+"\n"+C(a.dayMonthYear,t,n,i);e=a.dayMonth+"\n"+a.year}return C(e,t,n,i)};var P=3*f;e.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+v,a=g.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return e%12?a.add(o,e,"m"):a.add(o,e/12,"y"),(o.toJD()-v)*f+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var u=new Date(t+P);return u.setUTCMonth(u.getUTCMonth()+e)+n-P},e.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,u=_(e)&&g.getComponentMethod("calendars","getCal")(e),c=0;c0&&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;ie?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=h.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(h.tester(t))},a.type){case"MultiPolygon":for(r=0;ri&&(i=u,e=l)}else e=r;return o.default(e).geometry.coordinates}(c),n.fIn=t,n.fOut=c,s.push(c)}else u.log(["Location",n.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete i[r]}switch(r.type){case"FeatureCollection":var h=r.features;for(n=0;n100?(clearInterval(a),n("Unexpected error while fetching from "+t)):void i++}),50)}))}for(var o=0;o0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},e.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},e.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r1||v<0||v>1?null:{x:t+l*v,y:e+f*v}}function l(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}e.segmentsIntersect=s,e.segmentDistance=function(t,e,r,n,i,a,o,u){if(s(t,e,r,n,i,a,o,u))return 0;var c=r-t,f=n-e,h=o-i,p=u-a,d=c*c+f*f,v=h*h+p*p,g=Math.min(l(c,f,d,i-t,a-e),l(c,f,d,o-t,u-e),l(h,p,v,t-i,e-a),l(h,p,v,r-i,n-a));return Math.sqrt(g)},e.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),u=t.getPointAtLength(o(r+s/2,e)),c=Math.atan((u.y-l.y)/(u.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+u.x)/6,y:(4*f.y+l.y+u.y)/6,theta:c};return n[r]=h,h},e.clearLocationCache=function(){i=null},e.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(),f=c;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===c&&(i=r);var u=r.xo?r.x-o:0,f=r.yl?r.y-l:0;return Math.sqrt(u*u+f*f)}for(var p=h(u);p;){if((u+=p+r)>f)return;p=h(u)}for(p=h(f);p;){if(u>(f-=p+r))return;p=h(f)}return{min:u,max:f,len:f-u,total:c,isClosed:0===u&&f===c&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},e.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,f=0,h=0,p=s;f0?p=i:h=i,f++}return a}},81697:function(t,e,r){"use strict";var n=r(92770),i=r(84267),a=r(25075),o=r(21081),s=r(22399).defaultLine,l=r(73627).isArrayOrTypedArray,u=a(s);function c(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return u;var e=a(t);return e.length?e:u}function h(t){return n(t)?t:1}t.exports={formatColor:function(t,e,r){var n,i,s,p,d,v=t.color,g=l(v),y=l(e),m=o.extractOpts(t),x=[];if(n=void 0!==m.colorscale?o.makeColorScaleFuncFromTrace(t):f,i=g?function(t,e){return void 0===t[e]?u:a(n(t[e]))}:f,s=y?function(t,e){return void 0===t[e]?1:h(t[e])}:h,g||y)for(var b=0;b1?(r*t+r*e)/r:t+e,i=String(n).length;if(i>16){var a=String(e).length;if(i>=String(t).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf("e+")&&(n=+o)}}return n}},71828:function(t,e,r){"use strict";var n=r(39898),i=r(84096).g0,a=r(60721).WU,o=r(92770),s=r(50606),l=s.FP_SAFE,u=-l,c=s.BADNUM,f=t.exports={};f.adjustFormat=function(t){return!t||/^\d[.]\df/.test(t)||/[.]\d%/.test(t)?t:"0.f"===t?"~f":/^\d%/.test(t)?"~%":/^\ds/.test(t)?"~s":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?"~"+t:t};var h={};f.warnBadFormat=function(t){var e=String(t);h[e]||(h[e]=1,f.warn('encountered bad format: "'+e+'"'))},f.noFormat=function(t){return String(t)},f.numberFormat=function(t){var e;try{e=a(f.adjustFormat(t))}catch(e){return f.warnBadFormat(t),f.noFormat}return e},f.nestedProperty=r(65487),f.keyedContainer=r(66636),f.relativeAttr=r(6962),f.isPlainObject=r(41965),f.toLogRange=r(58163),f.relinkPrivateKeys=r(51332);var p=r(73627);f.isTypedArray=p.isTypedArray,f.isArrayOrTypedArray=p.isArrayOrTypedArray,f.isArray1D=p.isArray1D,f.ensureArray=p.ensureArray,f.concat=p.concat,f.maxRowLength=p.maxRowLength,f.minRowLength=p.minRowLength;var d=r(64872);f.mod=d.mod,f.modHalf=d.modHalf;var v=r(96554);f.valObjectMeta=v.valObjectMeta,f.coerce=v.coerce,f.coerce2=v.coerce2,f.coerceFont=v.coerceFont,f.coercePattern=v.coercePattern,f.coerceHoverinfo=v.coerceHoverinfo,f.coerceSelectionMarkerOpacity=v.coerceSelectionMarkerOpacity,f.validate=v.validate;var g=r(41631);f.dateTime2ms=g.dateTime2ms,f.isDateTime=g.isDateTime,f.ms2DateTime=g.ms2DateTime,f.ms2DateTimeLocal=g.ms2DateTimeLocal,f.cleanDate=g.cleanDate,f.isJSDate=g.isJSDate,f.formatDate=g.formatDate,f.incrementMonth=g.incrementMonth,f.dateTick0=g.dateTick0,f.dfltRange=g.dfltRange,f.findExactDates=g.findExactDates,f.MIN_MS=g.MIN_MS,f.MAX_MS=g.MAX_MS;var y=r(65888);f.findBin=y.findBin,f.sorterAsc=y.sorterAsc,f.sorterDes=y.sorterDes,f.distinctVals=y.distinctVals,f.roundUp=y.roundUp,f.sort=y.sort,f.findIndexOfMin=y.findIndexOfMin,f.sortObjectKeys=r(78607);var m=r(80038);f.aggNums=m.aggNums,f.len=m.len,f.mean=m.mean,f.median=m.median,f.midRange=m.midRange,f.variance=m.variance,f.stdev=m.stdev,f.interp=m.interp;var x=r(35657);f.init2dArray=x.init2dArray,f.transposeRagged=x.transposeRagged,f.dot=x.dot,f.translationMatrix=x.translationMatrix,f.rotationMatrix=x.rotationMatrix,f.rotationXYMatrix=x.rotationXYMatrix,f.apply3DTransform=x.apply3DTransform,f.apply2DTransform=x.apply2DTransform,f.apply2DTransform2=x.apply2DTransform2,f.convertCssMatrix=x.convertCssMatrix,f.inverseTransformMatrix=x.inverseTransformMatrix;var b=r(26348);f.deg2rad=b.deg2rad,f.rad2deg=b.rad2deg,f.angleDelta=b.angleDelta,f.angleDist=b.angleDist,f.isFullCircle=b.isFullCircle,f.isAngleInsideSector=b.isAngleInsideSector,f.isPtInsideSector=b.isPtInsideSector,f.pathArc=b.pathArc,f.pathSector=b.pathSector,f.pathAnnulus=b.pathAnnulus;var _=r(99863);f.isLeftAnchor=_.isLeftAnchor,f.isCenterAnchor=_.isCenterAnchor,f.isRightAnchor=_.isRightAnchor,f.isTopAnchor=_.isTopAnchor,f.isMiddleAnchor=_.isMiddleAnchor,f.isBottomAnchor=_.isBottomAnchor;var w=r(87642);f.segmentsIntersect=w.segmentsIntersect,f.segmentDistance=w.segmentDistance,f.getTextLocation=w.getTextLocation,f.clearLocationCache=w.clearLocationCache,f.getVisibleSegment=w.getVisibleSegment,f.findPointOnPath=w.findPointOnPath;var T=r(1426);f.extendFlat=T.extendFlat,f.extendDeep=T.extendDeep,f.extendDeepAll=T.extendDeepAll,f.extendDeepNoArrays=T.extendDeepNoArrays;var k=r(47769);f.log=k.log,f.warn=k.warn,f.error=k.error;var A=r(30587);f.counterRegex=A.counter;var M=r(79990);f.throttle=M.throttle,f.throttleDone=M.done,f.clearThrottle=M.clear;var S=r(24401);function E(t){var e={};for(var r in t)for(var n=t[r],i=0;il||t=e)&&o(t)&&t>=0&&t%1==0},f.noop=r(64213),f.identity=r(23389),f.repeat=function(t,e){for(var r=new Array(e),n=0;nr?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},f.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},f.simpleMap=function(t,e,r,n,i){for(var a=t.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(f.warn("randstr failed uniqueness"),l):t(e,r,n,(i||0)+1):l},f.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},f.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=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},f.syncOrAsync=function(t,e,r){var n;function i(){return f.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i);return r&&r(e)},f.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},f.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n0?e:0}))},f.fillArray=function(t,e,r,n){if(n=n||f.identity,f.isArrayOrTypedArray(t))for(var i=0;i1?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},f.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var z=/^\w*$/;f.templateString=function(t,e){var r={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,n){var i;return z.test(n)?i=e[n]:(r[n]=r[n]||f.nestedProperty(e,n).get,i=r[n]()),f.isValidTextValue(i)?i:""}))};var R={max:10,count:0,name:"hovertemplate"};f.hovertemplateString=function(){return V.apply(R,arguments)};var F={max:10,count:0,name:"texttemplate"};f.texttemplateString=function(){return V.apply(F,arguments)};var B=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/;function N(t){var e=t.match(B);return e?{key:e[1],op:e[2],number:Number(e[3])}:{key:t,op:null,number:null}}var j={max:10,count:0,name:"texttemplate",parseMultDiv:!0};f.texttemplateStringForShapes=function(){return V.apply(j,arguments)};var U=/^[:|\|]/;function V(t,e,r){var n=this,a=arguments;e||(e={});var o={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,s,l){var u="_xother"===s||"_yother"===s,c="_xother_"===s||"_yother_"===s,h="xother_"===s||"yother_"===s,p="xother"===s||"yother"===s||u||h||c,d=s;(u||c)&&(d=d.substring(1)),(h||c)&&(d=d.substring(0,d.length-1));var v,g,y,m=null,x=null;if(n.parseMultDiv){var b=N(d);d=b.key,m=b.op,x=b.number}if(p){if(void 0===(v=e[d]))return""}else for(y=3;y=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 H=2e9;f.seedPseudoRandom=function(){H=2e9},f.pseudoRandom=function(){var t=H;return H=(69069*H+1)%4294967296,Math.abs(H-t)<429496729?f.pseudoRandom():H/4294967296},f.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=f.extractOption(t,e,"htx","hovertext");if(f.isValidTextValue(i))return n(i);var a=f.extractOption(t,e,"tx","text");return f.isValidTextValue(a)?n(a):void 0},f.isValidTextValue=function(t){return t||0===t},f.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+"%",n=0;n1&&(u=1):u=0,f.strTranslate(i-u*(r+o),a-u*(n+s))+f.strScale(u)+(l?"rotate("+l+(e?"":" "+r+" "+n)+")":"")},f.setTransormAndDisplay=function(t,e){t.attr("transform",f.getTextTransform(e)),t.style("display",e.scale?null:"none")},f.ensureUniformFontSize=function(t,e){var r=f.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r},f.join2=function(t,e,r){var n=t.length;return n>1?t.slice(0,-1).join(e)+r+t[n-1]:t.join(e)},f.bigFont=function(t){return Math.round(1.2*t)};var q=f.getFirefoxVersion(),G=null!==q&&q<86;f.getPositionFromD3Event=function(){return G?[n.event.layerX,n.event.layerY]:[n.event.offsetX,n.event.offsetY]}},41965:function(t){"use strict";t.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t).hasOwnProperty("hasOwnProperty")}},66636:function(t,e,r){"use strict";var n=r(65487),i=/^\w*$/;t.exports=function(t,e,r,a){var o,s,l;r=r||"name",a=a||"value";var u={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var c={};if(s)for(o=0;o2)return u[e]=2|u[e],h.set(t,null);if(f){for(o=e;o1){var e=["LOG:"];for(t=0;t1){var r=[];for(t=0;t"),"long")}},a.warn=function(){var t;if(n.logging>0){var e=["WARN:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}},a.error=function(){var t;if(n.logging>0){var e=["ERROR:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}}},77310:function(t,e,r){"use strict";var n=r(39898);t.exports=function(t,e,r){var i=t.selectAll("g."+r.replace(/\s/g,".")).data(e,(function(t){return t[0].trace.uid}));i.exit().remove(),i.enter().append("g").attr("class",r),i.order();var a=t.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each((function(t){t[0][a]=n.select(this)})),i}},35657:function(t,e,r){"use strict";var n=r(79576);e.init2dArray=function(t,e){for(var r=new Array(t),n=0;ne/2?t-Math.round(t/e)*e:t}}},65487:function(t,e,r){"use strict";var n=r(92770),i=r(73627).isArrayOrTypedArray;function a(t,e){return function(){var r,n,o,s,l,u=t;for(s=0;s/g),l=0;la||u===i||us||e&&l(t))}:function(t,e){var l=t[0],u=t[1];if(l===i||la||u===i||us)return!1;var c,f,h,p,d,v=r.length,g=r[0][0],y=r[0][1],m=0;for(c=1;cMath.max(f,g)||u>Math.max(h,y)))if(uc||Math.abs(n(o,h))>i)return!0;return!1},a.filter=function(t,e){var r=[t[0]],n=0,i=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(i+1);for(var u=l+1;u1&&o(t.pop()),{addPt:o,raw:t,filtered:r}}},79749:function(t,e,r){"use strict";var n=r(58617),i=r(98580);t.exports=function(t,e,a){var o=t._fullLayout,s=!0;return o._glcanvas.each((function(n){if(n.regl)n.regl.preloadCachedCode(a);else if(!n.pick||o._has("parcoords")){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.g.devicePixelRatio,extensions:e||[],cachedCode:a||{}})}catch(t){s=!1}n.regl||(s=!1),s&&this.addEventListener("webglcontextlost",(function(e){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:e,layer:n.key})}),!1)}})),s||n({container:o._glcontainer.node()}),s}},45142:function(t,e,r){"use strict";var n=r(92770),i=r(35791);t.exports=function(t){var e;if("string"!=typeof(e=t&&t.hasOwnProperty("userAgent")?t.userAgent:function(){var t;return"undefined"!=typeof navigator&&(t=navigator.userAgent),t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),t}()))return!0;var r=i({ua:{headers:{"user-agent":e}},tablet:!0,featureDetect:!1});if(!r)for(var a=e.split(" "),o=1;o-1;s--){var l=a[s];if("Version/"===l.substr(0,8)){var u=l.substr(8).split(".")[0];if(n(u)&&(u=+u),u>=13)return!0}}return r}},75138:function(t){"use strict";t.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;ni.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(!(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=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function f(t,e){return t>=e}e.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-s)-1:Math.floor((t-e.start)/e.size+s);var a,o,h=0,p=e.length,d=0,v=p>1?(e[p-1]-e[0])/(p-1):1;for(o=v>=0?r?l:u:r?f:c,t+=v*s*(r?-1:1)*(v>=0?1:-1);h90&&i.log("Long binary search..."),h-1},e.sorterAsc=function(t,e){return t-e},e.sorterDes=function(t,e){return e-t},e.distinctVals=function(t){var r,n=t.slice();for(n.sort(e.sorterAsc),r=n.length-1;r>-1&&n[r]===o;r--);for(var i,a=n[r]-n[0]||1,s=a/(r||1)/1e4,l=[],u=0;u<=r;u++){var c=n[u],f=c-i;void 0===i?(l.push(c),i=c):f>s&&(a=Math.min(a,f),l.push(c),i=c)}return{vals:l,minDiff:a}},e.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;i0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},e.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;ia.length)&&(o=a.length),n(r)||(r=!1),i(a[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},78614:function(t,e,r){"use strict";var n=r(25075);t.exports=function(t){return t?n(t):[0,0,0,1]}},3883:function(t,e,r){"use strict";var n=r(32396),i=r(91424),a=r(71828),o=null;t.exports=function(){if(null!==o)return o;o=!1;var t=a.isIE()||a.isSafari()||a.isIOS();if(window.navigator.userAgent&&!t){var e=Array.from(n.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if("function"==typeof r)o=e.some((function(t){return r.apply(null,t)}));else{var s=i.tester.append("image").attr("style",n.STYLE),l=window.getComputedStyle(s.node()).imageRendering;o=e.some((function(t){var e=t[1];return l===e||l===e.toLowerCase()})),s.remove()}}return o}},63893:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=i.strTranslate,o=r(77922),s=r(18783).LINE_SPACING,l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;e.convertToTspans=function(t,r,g){var S=t.text(),E=!t.attr("data-notex")&&r&&r._context.typesetMath&&"undefined"!=typeof MathJax&&S.match(l),O=n.select(t.node().parentNode);if(!O.empty()){var P=t.attr("class")?t.attr("class").split(" ")[0]:"text";return P+="-math",O.selectAll("svg."+P).remove(),O.selectAll("g."+P+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),E?(r&&r._promises||[]).push(new Promise((function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),o={fontSize:r};!function(t,e,r){var a,o,s,l,h=parseInt((MathJax.version||"").split(".")[0]);if(2===h||3===h){var p=function(){var r="math-output-"+i.randstr({},64),a=(l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute","font-size":e.fontSize+"px"}).text(t.replace(u,"\\lt ").replace(c,"\\gt "))).node();return 2===h?MathJax.Hub.Typeset(a):MathJax.typeset([a])},d=function(){var e=l.select(2===h?".MathJax_SVG":".MathJax"),a=!e.empty()&&l.select("svg").node();if(a){var o,s=a.getBoundingClientRect();o=2===h?n.select("body").select("#MathJax_SVG_glyphs"):e.select("defs"),r(e,o,s)}else i.log("There was an error in the tex syntax.",t),r();l.remove()};2===h?MathJax.Hub.Queue((function(){return o=i.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:f},displayAlign:"left"})}),(function(){if("SVG"!==(a=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")}),p,d,(function(){if("SVG"!==a)return MathJax.Hub.setRenderer(a)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})):3===h&&(o=i.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=f,"svg"!==(a=MathJax.config.startup.output)&&(MathJax.config.startup.output="svg"),MathJax.startup.defaultReady(),MathJax.startup.promise.then((function(){p(),d(),"svg"!==a&&(MathJax.config.startup.output=a),MathJax.config=o})))}else i.warn("No MathJax version:",MathJax.version)}(E[2],o,(function(n,i,o){O.selectAll("svg."+P).remove(),O.selectAll("g."+P+"-group").remove();var s=n&&n.select("svg");if(!s||!s.node())return I(),void e();var l=O.append("g").classed(P+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});l.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild);var u=o.width,c=o.height;s.attr({class:P,height:c,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var f=t.node().style.fill||"black",h=s.select("g");h.attr({fill:f,stroke:f});var p=h.node().getBoundingClientRect(),d=p.width,v=p.height;(d>u||v>c)&&(s.style("overflow","hidden"),d=(p=s.node().getBoundingClientRect()).width,v=p.height);var y=+t.attr("x"),m=+t.attr("y"),x=-(r||t.node().getBoundingClientRect().height)/4;if("y"===P[0])l.attr({transform:"rotate("+[-90,y,m]+")"+a(-d/2,x-v/2)});else if("l"===P[0])m=x-v/2;else if("a"===P[0]&&0!==P.indexOf("atitle"))y=0,m=x;else{var b=t.attr("text-anchor");y-=d*("middle"===b?.5:"end"===b?1:0),m=m+x-v/2}s.attr({x:y,y:m}),g&&g.call(t,l),e(l)}))}))):I(),t}function I(){O.empty()||(P=t.attr("class")+"-math",O.select("svg."+P).remove()),t.text("").style("white-space","pre");var r=function(t,e){e=e.replace(y," ");var r,a=!1,l=[],u=-1;function c(){u++;var e=document.createElementNS(o.svg,"tspan");n.select(e).attr({class:"line",dy:u*s+"em"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var a=1;a doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else i.log("Ignoring unexpected end tag .",e)}b.test(e)?c():(r=t,l=[{node:t}]);for(var E=e.split(m),O=0;O|>|>)/g,f=[["$","$"],["\\(","\\)"]],h={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"},p={sub:"0.3em",sup:"-0.6em"},d={sub:"-0.21em",sup:"0.42em"},v="​",g=["http:","https:","mailto:","",void 0,":"],y=e.NEWLINES=/(\r\n?|\n)/g,m=/(<[^<>]*>)/,x=/<(\/?)([^ >]*)(\s+(.*))?>/i,b=//i;e.BR_TAG_ALL=//gi;var _=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,w=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,T=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,k=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function A(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&L(n)}var M=/(^|;)\s*color:/;e.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:["br"],i="...".length,a=t.split(m),o=[],s="",l=0,u=0;ui?o.push(c.substr(0,d-i)+"..."):o.push(c.substr(0,d));break}s=""}}return o.join("")};var S={mu:"μ",amp:"&",lt:"<",gt:">",nbsp:" ",times:"×",plusmn:"±",deg:"°"},E=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function L(t){return t.replace(E,(function(t,e){return("#"===e.charAt(0)?function(t){if(!(t>1114111)){var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):S[e])||t}))}function C(t){var e=encodeURI(decodeURI(t)),r=document.createElement("a"),n=document.createElement("a");r.href=t,n.href=e;var i=r.protocol,a=n.protocol;return-1!==g.indexOf(i)&&-1!==g.indexOf(a)?e:""}function O(t,e,r){var n,a,o,s=r.horizontalAlign,l=r.verticalAlign||"top",u=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return a="bottom"===l?function(){return u.bottom-n.height}:"middle"===l?function(){return u.top+(u.height-n.height)/2}:function(){return u.top},o="right"===s?function(){return u.right-n.width}:"center"===s?function(){return u.left+(u.width-n.width)/2}:function(){return u.left},function(){n=this.node().getBoundingClientRect();var t=o()-c.left,e=a()-c.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=i.apply3DTransform(s._fullLayout._invTransform)(t,e);t=l[0],e=l[1]}return this.style({top:e+"px",left:t+"px","z-index":1e3}),this}}e.convertEntities=L,e.sanitizeHTML=function(t){t=t.replace(y," ");for(var e=document.createElement("p"),r=e,i=[],a=t.split(m),o=0;oa.ts+e?l():a.timer=setTimeout((function(){l(),a.timer=null}),e)},e.done=function(t){var e=r[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},e.clear=function(t){if(t)n(r[t]),delete r[t];else for(var i in r)e.clear(i)}},58163:function(t,e,r){"use strict";var n=r(92770);t.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},90973:function(t,e,r){"use strict";var n=t.exports={},i=r(78776).locationmodeToLayer,a=r(96892).zL;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},37815:function(t){"use strict";t.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},92177:function(t){"use strict";t.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{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"],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"}}},14458:function(t,e,r){"use strict";var n=r(73972);t.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},e.cleanLayout=function(t){var r,n;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 a=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,f=(s.subplotsRegistry.ternary||{}).attrRegex,h=(s.subplotsRegistry.gl3d||{}).attrRegex,v=Object.keys(t);for(r=0;r3?(I.x=1.02,I.xanchor="left"):I.x<-2&&(I.x=-.02,I.xanchor="right"),I.y>3?(I.y=1.02,I.yanchor="bottom"):I.y<-2&&(I.y=-.02,I.yanchor="top")),d(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),u.clean(t),t.template&&t.template.layout&&e.cleanLayout(t.template.layout),t},e.cleanData=function(t){for(var r=0;r0)return t.substr(0,e)}e.hasParent=function(t,e){for(var r=b(e);r;){if(r in t)return!0;r=b(r)}return!1};var _=["x","y","z"];e.clearAxisTypes=function(t,e,r){for(var n=0;n1&&a.warn("Full array edits are incompatible with other edits",f);var m=r[""][""];if(u(m))e.set(null);else{if(!Array.isArray(m))return a.warn("Unrecognized full array edit value",f,m),!0;e.set(m)}return!v&&(h(g,y),p(t),!0)}var x,b,_,w,T,k,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),L=E||[],C=c(y,f).get(),O=[],P=-1,I=L.length;for(x=0;xL.length-(A?0:1))a.warn("index out of range",f,_);else if(void 0!==k)T.length>1&&a.warn("Insertion & removal are incompatible with edits to the same index.",f,_),u(k)?O.push(_):A?("add"===k&&(k={}),L.splice(_,0,k),C&&C.splice(_,0,{})):a.warn("Unrecognized full object edit value",f,_,k),-1===P&&(P=_);else for(b=0;b=0;x--)L.splice(O[x],1),C&&C.splice(O[x],1);if(L.length?E||e.set(L):e.set(null),v)return!1;if(h(g,y),d!==i){var D;if(-1===P)D=S;else{for(I=Math.max(L.length,I),D=[],x=0;x=P);x++)D.push(_);for(x=P;x=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 P(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]),O(t,e,"currentIndices"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&O(t,r,"newIndices"),void 0!==r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function I(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.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 O(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,r,n);for(var l=function(t,e,r,n){var a,l,u,c,f,h=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=C(r,t.data.length-1),e)for(var v=0;v-1&&-1===r.indexOf("grouptitlefont")?l(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?l(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?l(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&l(r,r.replace("titleoffset","title.offset")):l(r,r.replace("title","title.text"));function l(e,r){t[r]=t[e],delete t[e]}}function U(t,e,r){t=o.getGraphDiv(t),_.clearPromiseQueue(t);var n={};if("string"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn("Relayout fail.",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var i=W(t,n),a=i.flags;a.calc&&(t.calcdata=void 0);var s=[h.previousPromises];a.layoutReplot?s.push(w.layoutReplot):Object.keys(n).length&&(V(t,a,i)||h.supplyDefaults(t),a.legend&&s.push(w.doLegend),a.layoutstyle&&s.push(w.layoutStyles),a.axrange&&H(s,i.rangesAltered),a.ticks&&s.push(w.doTicksRelayout),a.modebar&&s.push(w.doModeBar),a.camera&&s.push(w.doCamera),a.colorbars&&s.push(w.doColorBars),s.push(M)),s.push(h.rehover,h.redrag,h.reselect),u.add(t,U,[t,i.undoit],U,[t,i.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit("plotly_relayout",i.eventData),t}))}function V(t,e,r){var n=t._fullLayout;if(!e.axrange)return!1;for(var i in e)if("axrange"!==i&&e[i])return!1;for(var a in r.rangesAltered){var o=p.id2name(a),s=t.layout[o],l=n[o];l.autorange=s.autorange;var u=l._rangeInitial0,c=l._rangeInitial1;if(void 0===u&&void 0!==c||void 0!==u&&void 0===c)return!1;if(s.range&&(l.range=s.range.slice()),l.cleanRange(),l._matchGroup)for(var f in l._matchGroup)if(f!==a){var h=n[p.id2name(f)];h.autorange=l.autorange,h.range=l.range.slice(),h._input.range=l.range.slice()}}return!0}function H(t,e){var r=e?function(t){var r=[];for(var n in e){var i=p.getFromId(t,n);if(r.push(n),-1!==(i.ticklabelposition||"").indexOf("inside")&&i._anchorAxis&&r.push(i._anchorAxis._id),i._matchGroup)for(var a in i._matchGroup)e[a]||r.push(a)}return p.draw(t,r,{skipTitle:!0})}:function(t){return p.draw(t,"redraw")};t.push(m,w.doAutoRangeAndConstraints,r,w.drawData,w.finalDraw)}var q=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,G=/^[xyz]axis[0-9]*\.autorange$/,Z=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function W(t,e){var r,n,i,a=t.layout,l=t._fullLayout,u=l._guiEditing,h=F(l._preGUI,u),d=Object.keys(e),v=p.list(t),g=o.extendDeepAll({},e),y={};for(j(e),d=Object.keys(e),n=0;n0&&"string"!=typeof I.parts[z];)z--;var B=I.parts[z],N=I.parts[z-1]+"."+B,U=I.parts.slice(0,z).join("."),V=s(t.layout,U).get(),H=s(l,U).get(),W=I.get();if(void 0!==D){M[P]=D,S[P]="reverse"===B?D:R(W);var X=f.getLayoutValObject(l,I.parts);if(X&&X.impliedEdits&&null!==D)for(var J in X.impliedEdits)E(o.relativeAttr(P,J),X.impliedEdits[J]);if(-1!==["width","height"].indexOf(P))if(D){E("autosize",null);var K="height"===P?"width":"height";E(K,l[K])}else l[P]=t._initialAutoSize[P];else if("autosize"===P)E("width",D?null:l.width),E("height",D?null:l.height);else if(N.match(q))O(N),s(l,U+"._inputRange").set(null);else if(N.match(G)){O(N),s(l,U+"._inputRange").set(null);var $=s(l,U).get();$._inputDomain&&($._input.domain=$._inputDomain.slice())}else N.match(Z)&&s(l,U+"._inputDomain").set(null);if("type"===B){L=V;var Q="linear"===H.type&&"log"===D,tt="log"===H.type&&"linear"===D;if(Q||tt){if(L&&L.range)if(H.autorange)Q&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var et=L.range[0],rt=L.range[1];Q?(et<=0&&rt<=0&&E(U+".autorange",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),E(U+".range[0]",Math.log(et)/Math.LN10),E(U+".range[1]",Math.log(rt)/Math.LN10)):(E(U+".range[0]",Math.pow(10,et)),E(U+".range[1]",Math.pow(10,rt)))}else E(U+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[I.parts[0]]&&"radialaxis"===I.parts[1]&&delete l[I.parts[0]]._subplot.viewInitial["radialaxis.range"],c.getComponentMethod("annotations","convertCoords")(t,H,D,E),c.getComponentMethod("images","convertCoords")(t,H,D,E)}else E(U+".autorange",!0),E(U+".range",null);s(l,U+"._inputRange").set(null)}else if(B.match(k)){var nt=s(l,P).get(),it=(D||{}).type;it&&"-"!==it||(it="linear"),c.getComponentMethod("annotations","convertCoords")(t,nt,it,E),c.getComponentMethod("images","convertCoords")(t,nt,it,E)}var at=b.containerArrayMatch(P);if(at){r=at.array,n=at.index;var ot=at.property,st=X||{editType:"calc"};""!==n&&""===ot&&(b.isAddVal(D)?S[P]=null:b.isRemoveVal(D)?S[P]=(s(a,r).get()||[])[n]:o.warn("unrecognized full object value",e)),T.update(A,st),y[r]||(y[r]={});var lt=y[r][n];lt||(lt=y[r][n]={}),lt[ot]=D,delete e[P]}else"reverse"===B?(V.range?V.range.reverse():(E(U+".autorange",!0),V.range=[1,0]),H.autorange?A.calc=!0:A.plot=!0):("dragmode"===P&&(!1===D&&!1!==W||!1!==D&&!1===W)||l._has("scatter-like")&&l._has("regl")&&"dragmode"===P&&("lasso"===D||"select"===D)&&"lasso"!==W&&"select"!==W||l._has("gl2d")?A.plot=!0:X?T.update(A,X):A.calc=!0,I.set(D))}}for(r in y)b.applyContainerArrayChanges(t,h(a,r),y[r],A,h)||(A.plot=!0);for(var ut in C){var ct=(L=p.getFromId(t,ut))&&L._constraintGroup;if(ct)for(var ft in A.calc=!0,ct)C[ft]||(p.getFromId(t,ft)._constraintShrinkable=!0)}(Y(t)||e.height||e.width)&&(A.plot=!0);var ht=l.shapes;for(n=0;n1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function et(t,e){for(var r=0;r=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function u(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,c){function f(){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&&function(){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,h.transition(t,e.frame.data,e.frame.layout,_.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}()};e()}var p,d,v=0;function g(t){return Array.isArray(i)?v>=i.length?t.transitionOpts=i[v]:t.transitionOpts=i[0]:t.transitionOpts=i,v++,t}var y=[],m=null==e,x=Array.isArray(e);if(m||x||!o.isPlainObject(e)){if(m||-1!==["string","number"].indexOf(typeof e))for(p=0;p0&&TT)&&k.push(d);y=k}}y.length>0?function(e){if(0!==e.length){for(var i=0;i=0;n--)if(o.isPlainObject(e[n])){var v=e[n].name,g=(c[v]||d[v]||{}).name,y=e[n].name,m=c[g]||d[g];g&&y&&"number"==typeof y&&m&&A<5&&(A++,o.warn('addFrames: overwriting frame "'+(c[g]||d[g]).name+'" with a frame whose name of type "number" also equates to "'+g+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===A&&o.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.")),d[v]={name:v},p.push({frame:h.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}p.sort((function(t,e){return t.index>e.index?-1:t.index=0;n--){if("number"==typeof(i=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;c[i.name="frame "+t._transitionData._counter++];);if(c[i.name]){for(a=0;a=0;r--)n=e[r],a.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:i[n]});var l=h.modifyFrames,c=h.modifyFrames,f=[t,s],p=[t,a];return u&&u.add(t,l,f,c,p),h.modifyFrames(t,a)},e.addTraces=function t(r,n,i){r=o.getGraphDiv(r);var a,s,l=[],c=e.deleteTraces,f=t,h=[r,l],p=[r,n];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=0&&r=0&&r=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!_(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function _(t){return t===Math.round(t)&&t>=0}function w(){var t,e,r={};for(t in f(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i=l.length)return!1;i=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[e[2]],s=3}else{var c=t._module;if(c||(c=(n.modules[t.type||a.type.dflt]||{})._module),!c)return!1;if(!(i=(r=c.attributes)&&r[o])){var f=c.basePlotModule;f&&f.attributes&&(i=f.attributes[o])}i||(i=a[o])}return b(i,e,s)},e.getLayoutValObject=function(t,e){var r=function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var u;for(r=0;r=i&&(r._input||{})._templateitemname;o&&(a=i);var s,l=e+"["+a+"]";function u(){s={},o&&(s[l]={},s[l].templateitemname=o)}function c(t,e){o?n.nestedProperty(s[l],t).set(e):s[l+"."+t]=e}function f(){var t=s;return u(),t}return u(),{modifyBase:function(t,e){s[t]=e},modifyItem:c,getUpdateObj:f,applyUpdate:function(e,r){e&&c(e,r);var i=f();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},61549:function(t,e,r){"use strict";var n=r(39898),i=r(73972),a=r(74875),o=r(71828),s=r(63893),l=r(33306),u=r(7901),c=r(91424),f=r(92998),h=r(64168),p=r(89298),d=r(18783),v=r(99082),g=v.enforce,y=v.clean,m=r(71739).doAutoRange,x="start";function b(t,e,r){for(var n=0;n=t[1]||i[1]<=t[0])&&a[0]e[0])return!0}return!1}function _(t){var r,i,s,l,f,v,g=t._fullLayout,y=g._size,m=y.p,x=p.list(t,"",!0);if(g._paperdiv.style({width:t._context.responsive&&g.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":g.width+"px",height:t._context.responsive&&g.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":g.height+"px"}).selectAll(".main-svg").call(c.setSize,g.width,g.height),t._context.setBackground(t,g.paper_bgcolor),e.drawMainTitle(t),h.manage(t),!g._has("cartesian"))return a.previousPromises(t);function _(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-m-n:e._offset+e._length+m+n:y.t+y.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+m+n:e._offset-m-n:y.l+y.w*(t.position||0)+n%1}for(r=0;r.5?"t":"b",o=t._fullLayout.margin[a],s=0;return"paper"===e.yref?s=r+e.pad.t+e.pad.b:"container"===e.yref&&(s=function(t,e,r,n,i){var a=0;return"middle"===r&&(a+=i/2),"t"===t?("top"===r&&(a+=i),a+=n-e*n):("bottom"===r&&(a+=i),a+=e*n),a}(a,n,i,t._fullLayout.height,r)+e.pad.t+e.pad.b),s>o?s:0}(t,r,g);y>0&&(function(t,e,r,n){var i="title.automargin",s=t._fullLayout.title,l=s.y>.5?"t":"b",u={x:s.x,y:s.y,t:0,b:0},c={};"paper"===s.yref&&function(t,e,r,n,i){var a="paper"===e.yref?t._fullLayout._size.h:t._fullLayout.height,s=o.isTopAnchor(e)?n:n-i,l="b"===r?a-s:s;return!(o.isTopAnchor(e)&&"t"===r||o.isBottomAnchor(e)&&"b"===r)&&lT?c.push({code:"unused",traceType:m,templateCount:w,dataCount:T}):T>w&&c.push({code:"reused",traceType:m,templateCount:w,dataCount:T})}}else c.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var a=e[n],o=v(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&c.push({code:"missing",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&g(a)&&t(a,o)}}({data:p,layout:h},""),c.length)return c.map(y)}},403:function(t,e,r){"use strict";var n=r(92770),i=r(72391),a=r(74875),o=r(71828),s=r(25095),l=r(5900),u=r(70942),c=r(11506).version,f={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],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}};t.exports=function(t,e){var r,h,p,d;function v(t){return!(t in e)||o.validate(e[t],f[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],h=t.layout||{},p=t.config||{},d={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),h=o.extendDeep({},t.layout),p=t._context,d=t._fullLayout||{}),!v("width")&&null!==e.width||!v("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!v("format"))throw new Error("Export format is not "+o.join2(f.format.values,", "," or ")+".");var g={};function y(t,r){return o.coerce(e,g,f,t,r)}var m=y("format"),x=y("width"),b=y("height"),_=y("scale"),w=y("setBackground"),T=y("imageDataOnly"),k=document.createElement("div");k.style.position="absolute",k.style.left="-5000px",document.body.appendChild(k);var A=o.extendFlat({},h);x?A.width=x:null===e.width&&n(d.width)&&(A.width=d.width),b?A.height=b:null===e.height&&n(d.height)&&(A.height=d.height);var M=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(k);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(k._fullLayout))}))}function L(){return new Promise((function(t,e){var r=l(k,m,_),n=k._fullLayout.width,f=k._fullLayout.height;function h(){i.purge(k),document.body.removeChild(k)}if("full-json"===m){var p=a.graphJson(k,!1,"keepdata","object",!0,!0);return p.version=c,p=JSON.stringify(p),h(),t(T?p:s.encodeJSON(p))}if(h(),"svg"===m)return t(T?r:s.encodeSVG(r));var d=document.createElement("canvas");d.id=o.randstr(),u({format:m,width:n,height:f,scale:_,canvas:d,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){i.newPlot(k,r,A,M).then(S).then(E).then(L).then((function(e){t(function(t){return T?t.replace(s.IMAGE_URL_PREFIX,""):t}(e))})).catch((function(t){e(t)}))}))}},84936:function(t,e,r){"use strict";var n=r(71828),i=r(74875),a=r(86281),o=r(72075).dfltConfig,s=n.isPlainObject,l=Array.isArray,u=n.isArrayOrTypedArray;function c(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;hx.length&&i.push(d("unused",a,y.concat(x.length)));var A,M,S,E,L,C=x.length,O=Array.isArray(k);if(O&&(C=Math.min(C,k.length)),2===b.dimensions)for(M=0;Mx[M].length&&i.push(d("unused",a,y.concat(M,x[M].length)));var P=x[M].length;for(A=0;A<(O?Math.min(P,k[M].length):P);A++)S=O?k[M][A]:k,E=m[M][A],L=x[M][A],n.validate(E,S)?L!==E&&L!==+E&&i.push(d("dynamic",a,y.concat(M,A),E,L)):i.push(d("value",a,y.concat(M,A),E))}else i.push(d("array",a,y.concat(M),m[M]));else for(M=0;M1&&p.push(d("object","layout"))),i.supplyDefaults(v);for(var g=v._fullData,y=r.length,m=0;m0&&Math.round(f)===f))return{vals:i};u=f}for(var h=e.calendar,p="start"===l,d="end"===l,v=t[r+"period0"],g=a(v,h)||0,y=[],m=[],x=[],b=i.length,_=0;_A;)k=o(k,-u,h);for(;k<=A;)k=o(k,u,h);T=o(k,-u,h)}else{for(k=g+(w=Math.round((A-g)/c))*c;k>A;)k-=c;for(;k<=A;)k+=c;T=k-c}y[_]=p?T:d?k:(T+k)/2,m[_]=T,x[_]=k}return{vals:y,starts:m,ends:x}}},89502:function(t){"use strict";t.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},71739:function(t,e,r){"use strict";var n=r(39898),i=r(92770),a=r(71828),o=r(50606).FP_SAFE,s=r(73972),l=r(91424),u=r(41675),c=u.getFromId,f=u.isLinked;function h(t,e){var r,n,i=[],o=t._fullLayout,s=d(o,e,0),l=d(o,e,1),u=v(t,e),c=u.min,f=u.max;if(0===c.length||0===f.length)return a.simpleMap(e.range,e.r2l);var h=c[0].val,g=f[0].val;for(r=1;r0&&((A=C-s(b)-l(_))>O?M/A>P&&(w=b,k=_,P=M/A):M/C>P&&(w={val:b.val,nopad:1},k={val:_.val,nopad:1},P=M/C));if(h===g){var I=h-1,D=h+1;if(E)if(0===h)i=[0,1];else{var z=(h>0?f:c).reduce((function(t,e){return Math.max(t,l(e))}),0),R=h/(1-Math.min(.5,z/C));i=h>0?[0,R]:[R,0]}else i=L?[Math.max(0,I),Math.max(1,D)]:[I,D]}else E?(w.val>=0&&(w={val:0,nopad:1}),k.val<=0&&(k={val:0,nopad:1})):L&&(w.val-P*s(w)<0&&(w={val:0,nopad:1}),k.val<=0&&(k={val:1,nopad:1})),P=(k.val-w.val-p(e,b.val,_.val))/(C-s(w)-l(k)),i=[w.val-P*s(w),k.val+P*l(k)];return i=T(i,e),e.limitRange&&e.limitRange(),m&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function p(t,e,r){var n=0;if(t.rangebreaks)for(var i=t.locateBreaks(e,r),a=0;a=r&&(u.extrapad||!o)){s=!1;break}i(e,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(t.splice(l,1),l--)}if(s){var c=a&&0===e;t.push({val:e,pad:c?0:r,extrapad:!c&&o})}}function x(t){return i(t)&&Math.abs(t)=e}function w(t,e,r){return void 0===e||void 0===r||(e=t.d2l(e))=u&&(o=u,r=u),s<=u&&(s=u,n=u)}}return r=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.minallowed&&w(e,r.minallowed,r.maxallowed)?r.minallowed:r&&void 0!==r.clipmin&&w(e,r.clipmin,r.clipmax)?Math.max(t,e.d2l(r.clipmin)):t}(r,e),n=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.maxallowed&&w(e,r.minallowed,r.maxallowed)?r.maxallowed:r&&void 0!==r.clipmax&&w(e,r.clipmin,r.clipmax)?Math.min(t,e.d2l(r.clipmax)):t}(n,e),[r,n]}t.exports={applyAutorangeOptions:T,getAutoRange:h,makePadFn:d,doAutoRange:function(t,e,r){if(e.setScale(),e.autorange){e.range=r?r.slice():h(t,e),e._r=e.range.slice(),e._rl=a.simpleMap(e._r,e.r2l);var n=e._input,i={};i[e._attr+".range"]=e.range,i[e._attr+".autorange"]=e.autorange,s.call("_storeDirectGUIEdit",t.layout,t._fullLayout._preGUI,i),n.range=e.range.slice(),n.autorange=e.autorange}var o=e._anchorAxis;if(o&&o.rangeslider){var l=o.rangeslider[e._name];l&&"auto"===l.rangemode&&(l.range=h(t,e)),o._input.rangeslider[e._name]=a.extendFlat({},l)}},findExtremes:function(t,e,r){r||(r={}),t._m||t.setScale();var n,a,s,l,u,c,f,h,p,d=[],v=[],m=e.length,b=r.padded||!1,_=r.tozero&&("linear"===t.type||"-"===t.type),w="log"===t.type,T=!1,k=r.vpadLinearized||!1;function A(t){if(Array.isArray(t))return T=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var M=A((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),L=A(r.vpadminus||r.vpad);if(!T){if(h=1/0,p=-1/0,w)for(n=0;n0&&(h=a),a>p&&a-o&&(h=a),a>p&&a=P;n--)O(n);return{min:d,max:v,opts:r}},concatExtremes:v}},23074:function(t){"use strict";t.exports=function(t,e,r){var n,i;if(r){var a="reversed"===e||"min reversed"===e||"max reversed"===e;n=r[a?1:0],i=r[a?0:1]}var o=t("autorangeoptions.minallowed",null===i?n:void 0),s=t("autorangeoptions.maxallowed",null===n?i:void 0);void 0===o&&t("autorangeoptions.clipmin"),void 0===s&&t("autorangeoptions.clipmax"),t("autorangeoptions.include")}},89298:function(t,e,r){"use strict";var n=r(39898),i=r(92770),a=r(74875),o=r(73972),s=r(71828),l=s.strTranslate,u=r(63893),c=r(92998),f=r(7901),h=r(91424),p=r(13838),d=r(66287),v=r(50606),g=v.ONEMAXYEAR,y=v.ONEAVGYEAR,m=v.ONEMINYEAR,x=v.ONEMAXQUARTER,b=v.ONEAVGQUARTER,_=v.ONEMINQUARTER,w=v.ONEMAXMONTH,T=v.ONEAVGMONTH,k=v.ONEMINMONTH,A=v.ONEWEEK,M=v.ONEDAY,S=M/2,E=v.ONEHOUR,L=v.ONEMIN,C=v.ONESEC,O=v.MINUS_SIGN,P=v.BADNUM,I={K:"zeroline"},D={K:"gridline",L:"path"},z={K:"minor-gridline",L:"path"},R={K:"tick",L:"path"},F={K:"tick",L:"text"},B={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},N=r(18783),j=N.MID_SHIFT,U=N.CAP_SHIFT,V=N.LINE_SPACING,H=N.OPPOSITE_SIDE,q=t.exports={};q.setConvert=r(21994);var G=r(4322),Z=r(41675),W=Z.idSort,Y=Z.isLinked;q.id2name=Z.id2name,q.name2id=Z.name2id,q.cleanId=Z.cleanId,q.list=Z.list,q.listIds=Z.listIds,q.getFromId=Z.getFromId,q.getFromTrace=Z.getFromTrace;var X=r(71739);function J(t){var e=1e-4*(t[1]-t[0]);return[t[0]-e,t[1]+e]}q.getAutoRange=X.getAutoRange,q.findExtremes=X.findExtremes,q.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],u=n+"ref",c={};return i||(i=l[0]||("string"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(t){return t+" domain"}))),c[u]={valType:"enumerated",values:l.concat(a?"string"==typeof a?[a]:a:[]),dflt:i},s.coerce(t,e,c,u)},q.getRefType=function(t){return void 0===t?t:"paper"===t?"paper":"pixel"===t?"pixel":/( domain)$/.test(t)?"domain":"range"},q.coercePosition=function(t,e,r,n,i,a){var o,l;if("range"!==q.getRefType(n))o=s.ensureNumber,l=r(i,a);else{var u=q.getFromId(e,n);l=r(i,a=u.fraction2r(a)),o=u.cleanPos}t[i]=o(l)},q.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:q.getFromId(e,r).cleanPos)(t)},q.redrawComponents=function(t,e){e=e||q.listIds(t);var r=t._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),u={},c=0;cr&&f2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},q.saveRangeInitial=function(t,e){for(var r=q.list(t,"",!0),n=!1,i=0;i.3*h||c(n)||c(a))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=q.tickIncrement(t,"M6","reverse")+1.5*M:a.exactMonths>.8?t=q.tickIncrement(t,"M1","reverse")+15.5*M:t-=S;var l=q.tickIncrement(t,r);if(l<=n)return l}return t}(m,t,y,u,a)),g=m;g<=c;)g=q.tickIncrement(g,y,!1,a);return{start:e.c2r(m,0,a),end:e.c2r(g,0,a),size:y,_dataSpan:c-u}},q.prepMinorTicks=function(t,e,r){if(!e.minor.dtick){delete t.dtick;var n,a=e.dtick&&i(e._tmin);if(a){var o=q.tickIncrement(e._tmin,e.dtick,!0);n=[e._tmin,.99*o+.01*e._tmin]}else{var l=s.simpleMap(e.range,e.r2l);n=[l[0],.8*l[0]+.2*l[1]]}if(t.range=s.simpleMap(n,e.l2r),t._isMinor=!0,q.prepTicks(t,r),a){var u=i(e.dtick),c=i(t.dtick),f=u?e.dtick:+e.dtick.substring(1),h=c?t.dtick:+t.dtick.substring(1);u&&c?tt(f,h)?f===2*A&&h===2*M&&(t.dtick=A):f===2*A&&h===3*M?t.dtick=A:f!==A||(e._input.minor||{}).nticks?et(f/h,2.5)?t.dtick=f/2:t.dtick=f:t.dtick=M:"M"===String(e.dtick).charAt(0)?c?t.dtick="M1":tt(f,h)?f>=12&&2===h&&(t.dtick="M3"):t.dtick=e.dtick:"L"===String(t.dtick).charAt(0)?"L"===String(e.dtick).charAt(0)?tt(f,h)||(t.dtick=et(f/h,2.5)?e.dtick/2:e.dtick):t.dtick="D1":"D2"===t.dtick&&+e.dtick>1&&(t.dtick=1)}t.range=e.range}void 0===e.minor._tick0Init&&(t.tick0=e.tick0)},q.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if("auto"===t.tickmode||!t.dtick){var n,a=t.nticks;a||("category"===t.type||"multicategory"===t.type?(n=t.tickfont?s.bigFont(t.tickfont.size||12):15,a=t._length/n):(n="y"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),"radialaxis"===t._name&&(a*=2)),t.minor&&"array"!==t.minor.tickmode||"array"===t.tickmode&&(a*=100),t._roughDTick=Math.abs(r[1]-r[0])/a,q.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}"period"===t.ticklabelmode&&function(t){var e;function r(){return!(i(t.dtick)||"M"!==t.dtick.charAt(0))}var n=r(),a=q.getTickFormat(t);if(a){var o=t._dtickInit!==t.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(e=E,o&&!n&&t.dtick=(I?0:1);D--){var z=!D;D?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var R=D?t:s.extendFlat({},t,t.minor);if(z?q.prepMinorTicks(R,t,e):q.prepTicks(R,e),"array"!==R.tickmode)if("sync"!==R.tickmode){var F=J(c),B=F[0],N=F[1],j=i(R.dtick),U="log"===a&&!(j||"L"===R.dtick.charAt(0)),V=q.tickFirst(R,e);if(D){if(t._tmin=V,V=N:W<=N;W=q.tickIncrement(W,Y,f,o)){if(D&&H++,R.rangebreaks&&!f){if(W=p)break}if(C.length>d||W===Z)break;Z=W;var X={value:W};D?(U&&W!==(0|W)&&(X.simpleLabel=!0),l>1&&H%l&&(X.skipLabel=!0),C.push(X)):(X.minor=!0,O.push(X))}}else C=[],v=it(t);else D?(C=[],v=at(t)):(O=[],L=at(t))}if(I&&!("inside"===t.minor.ticks&&"outside"===t.ticks||"outside"===t.minor.ticks&&"inside"===t.ticks)){for(var K=C.map((function(t){return t.value})),$=[],Q=0;Q0?(a=n-1,o=n):(a=n,o=n);var s,l=t[a].value,u=t[o].value,c=Math.abs(u-l),f=r||c,h=0;f>=m?h=c>=m&&c<=g?c:y:r===b&&f>=_?h=c>=_&&c<=x?c:b:f>=k?h=c>=k&&c<=w?c:T:r===A&&f>=A?h=A:f>=M?h=M:r===S&&f>=S?h=S:r===E&&f>=E&&(h=E),h>=c&&(h=c,s=!0);var p=i+h;if(e.rangebreaks&&h>0){for(var d=0,v=0;v<84;v++){var L=(v+.5)/84;e.maskBreaks(i*(1-L)+L*p)!==P&&d++}(h*=d/84)||(t[n].drop=!0),s&&c>A&&(h=c)}(h>0||0===n)&&(t[n].periodX=i+h/2)}}(C,t,t._definedDelta),t.rangebreaks){var ot="y"===t._id.charAt(0),st=1;"auto"===t.tickmode&&(st=t.tickfont?t.tickfont.size:12);var lt=NaN;for(r=C.length-1;r>-1;r--)if(C[r].drop)C.splice(r,1);else{C[r].value=Dt(C[r].value,t);var ut=t.c2p(C[r].value);(ot?lt>ut-st:ltp||ftp&&(ct.periodX=p),ft10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=M&&a<=10||e>=15*M)t._tickround="d";else if(e>=L&&a<=16||e>=E)t._tickround="M";else if(e>=C&&a<=19||e>=L)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(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),c=void 0===t.minexponent?3:t.minexponent;Math.abs(u)>c&&(yt(t.exponentformat)&&!mt(u)?t._tickexponent=3*Math.round((u-1)/3):t._tickexponent=u)}else t._tickround=null}function vt(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}}q.autoTicks=function(t,e,r){var n;function a(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar,0);var o=2*e;if(o>y)e/=y,n=a(10),t.dtick="M"+12*pt(e,n,ot);else if(o>T)e/=T,t.dtick="M"+pt(e,1,st);else if(o>M){if(t.dtick=pt(e,M,t._hasDayOfWeekBreaks?[1,2,7,14]:ut),!r){var l=q.getTickFormat(t),u="period"===t.ticklabelmode;u&&(t._rawTick0=t.tick0),/%[uVW]/.test(l)?t.tick0=s.dateTick0(t.calendar,2):t.tick0=s.dateTick0(t.calendar,1),u&&(t._dowTick0=t.tick0)}}else o>E?t.dtick=pt(e,E,st):o>L?t.dtick=pt(e,L,lt):o>C?t.dtick=pt(e,C,lt):(n=a(10),t.dtick=pt(e,n,ot))}else if("log"===t.type){t.tick0=0;var c=s.simpleMap(t.range,t.r2l);if(t._isMinor&&(e*=1.5),e>.7)t.dtick=Math.ceil(e);else if(Math.abs(c[1]-c[0])<1){var f=1.5*Math.abs((c[1]-c[0])/e);e=Math.abs(Math.pow(10,c[1])-Math.pow(10,c[0]))/f,n=a(10),t.dtick="L"+pt(e,n,ot)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type||"multicategory"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):It(t)?(t.tick0=0,n=1,t.dtick=pt(e,n,ht)):(t.tick0=0,n=a(10),t.dtick=pt(e,n,ot));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&"string"!=typeof t.dtick){var h=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(h)}},q.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return s.increment(t,o*e);var l=e.charAt(0),u=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,u,a);if("L"===l)return Math.log(Math.pow(10,t)+u)/Math.LN10;if("D"===l){var c="D2"===e?ft:ct,f=t+.01*o,h=s.roundUp(s.mod(f,1),c,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw"unrecognized dtick "+String(e)},q.tickFirst=function(t,e){var r=t.r2l||Number,a=s.simpleMap(t.range,r,void 0,void 0,e),o=a[1] ")}else t._prevDateHead=l,u+="
"+l;e.text=u}(t,o,r,u):"log"===c?function(t,e,r,n,a){var o=t.dtick,l=e.x,u=t.tickformat,c="string"==typeof o&&o.charAt(0);if("never"===a&&(a=""),n&&"L"!==c&&(o="L3",c="L"),u||"L"===c)e.text=xt(Math.pow(10,l),t,a,n);else if(i(o)||"D"===c&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),p=t.exponentformat;"power"===p||yt(p)&&mt(f)?(e.text=0===f?1:1===f?"10":"10"+(f>1?"":O)+h+"",e.fontSize*=1.25):("e"===p||"E"===p)&&h>2?e.text="1"+p+(f>0?"+":O)+h:(e.text=xt(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==c)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var d=String(e.text).charAt(0);"0"!==d&&"1"!==d||("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*(l<0?.5:.25)))}}(t,o,0,u,v):"category"===c?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=""),e.text=String(r)}(t,o):"multicategory"===c?function(t,e,r){var n=Math.round(e.x),i=t._categories[n]||[],a=void 0===i[1]?"":String(i[1]),o=void 0===i[0]?"":String(i[0]);r?e.text=o+" - "+a:(e.text=a,e.text2=o)}(t,o,r):It(t)?function(t,e,r,n,i){if("radians"!==t.thetaunit||r)e.text=xt(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){for(var r=1;!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=xt(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="π":e.text=o[0]+"π":e.text=["",o[0],"","⁄","",o[1],"","π"].join(""),l&&(e.text=O+e.text)}}}}(t,o,r,u,v):function(t,e,r,n,i){"never"===i?i="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i="hide"),e.text=xt(e.x,t,i,n)}(t,o,0,u,v),n||(t.tickprefix&&!d(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!d(t.showticksuffix)&&(o.text+=t.ticksuffix)),t.labelalias&&t.labelalias.hasOwnProperty(o.text)){var g=t.labelalias[o.text];"string"==typeof g&&(o.text=g)}if("boundaries"===t.tickson||t.showdividers){var y=function(e){var r=t.l2p(e);return r>=0&&r<=t._length?e:null};o.xbnd=[y(o.x-.5),y(o.x+t.dtick-.5)]}return o},q.hoverLabelText=function(t,e,r){r&&(t=s.extendFlat({},t,{hoverformat:r}));var n=Array.isArray(e)?e[0]:e,i=Array.isArray(e)?e[1]:void 0;if(void 0!==i&&i!==n)return q.hoverLabelText(t,n,r)+" - "+q.hoverLabelText(t,i,r);var a="log"===t.type&&n<=0,o=q.tickText(t,t.c2l(a?-n:n),"hover").text;return a?0===n?"0":O+o:o};var gt=["f","p","n","μ","m","","k","M","G","T"];function yt(t){return"SI"===t||"B"===t}function mt(t){return t>14||t<-15}function xt(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||"B",u=e._tickexponent,c=q.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,minexponent:e.minexponent,dtick:"none"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};dt(h),o=(Number(h._tickround)||0)+4,u=h._tickexponent,e.hoverformat&&(c=e.hoverformat)}if(c)return e._numFormat(c)(t).replace(/-/g,O);var p,d=Math.pow(10,-o)/2;if("none"===l&&(u=0),(t=Math.abs(t))"+p+"":"B"===l&&9===u?t+="B":yt(l)&&(t+=gt[u/3+5])),a?O+t:t}function bt(t,e){if(t){var r=Object.keys(B).reduce((function(t,r){return-1!==e.indexOf(r)&&B[r].forEach((function(e){t[e]=1})),t}),{});Object.keys(t).forEach((function(e){r[e]||(1===e.length?t[e]=0:delete t[e])}))}}function _t(t,e){for(var r=[],n={},i=0;i1&&r=i.min&&t=0,a=c(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=o(i)))){r=n;break}break;case"log":for(e=0;e=0&&i.unshift(i.splice(n,1).shift())}}));var o={false:{left:0,right:0}};return s.syncOrAsync(i.map((function(e){return function(){if(e){var n=q.getFromId(t,e);r||(r={}),r.axShifts=o,r.overlayingShiftedAx=a;var i=q.drawOne(t,n,r);return n._shiftPusher&&Ft(n,n._fullDepth||0,o,!0),n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),i}}})))},q.drawOne=function(t,e,r){var n,i,l,u=(r=r||{}).axShifts||{},p=r.overlayingShiftedAx||[];e.setScale();var d=t._fullLayout,v=e._id,g=v.charAt(0),y=q.counterLetter(v),m=d._plots[e._mainSubplot];if(m){if(e._shiftPusher=e.autoshift||-1!==p.indexOf(e._id)||-1!==p.indexOf(e.overlaying),e._shiftPusher&"free"===e.anchor){var x=e.linewidth/2||0;"inside"===e.ticks&&(x+=e.ticklen),Ft(e,x,u,!0),Ft(e,e.shift||0,u,!1)}!0===r.skipTitle&&void 0!==e._shift||(e._shift=function(t,e){return t.autoshift?e[t.overlaying][t.side]:t.shift||0}(e,u));var b=m[g+"axislayer"],_=e._mainLinePosition,w=_+=e._shift,T=e._mainMirrorPosition,k=e._vals=q.calcTicks(e),A=[e.mirror,w,T].join("_");for(n=0;n0?r.bottom-c:0,f))));var h=0,p=0;if(e._shiftPusher&&(h=Math.max(f,r.height>0?"l"===l?c-r.left:r.right-c:0),e.title.text!==d._dfltTitle[g]&&(p=(e._titleStandoff||0)+(e._titleScoot||0),"l"===l&&(p+=kt(e))),e._fullDepth=Math.max(h,p)),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var v=[0,1],m="number"==typeof e._shift?e._shift:0;if("x"===g){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?c-r.top:0,f),v.reverse()),r.width>0){var x=r.right-(e._offset+e._length);x>0&&(n.xr=1,n.r=x);var b=e._offset-r.left;b>0&&(n.xl=0,n.l=b)}}else if("l"===l?(e._depth=Math.max(r.height>0?c-r.left:0,f),n[l]=e._depth-m):(e._depth=Math.max(r.height>0?r.right-c:0,f),n[l]=e._depth+m,v.reverse()),r.height>0){var _=r.bottom-(e._offset+e._length);_>0&&(n.yb=0,n.b=_);var w=e._offset-r.top;w>0&&(n.yt=1,n.t=w)}n[y]="free"===e.anchor?e.position:e._anchorAxis.domain[v[0]],e.title.text!==d._dfltTitle[g]&&(n[l]+=kt(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((i={x:0,y:0,r:0,l:0,t:0,b:0})[u]=e.linewidth,e.mirror&&!0!==e.mirror&&(i[u]+=f),!0===e.mirror||"ticks"===e.mirror?i[y]=e._anchorAxis.domain[v[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(i[y]=[e._counterDomainMin,e._counterDomainMax][v[1]]))}lt&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),"string"==typeof e.automargin&&(bt(n,e.automargin),bt(i,e.automargin)),a.autoMargin(t,St(e),n),a.autoMargin(t,Et(e),i),a.autoMargin(t,Lt(e),s)})),s.syncOrAsync(ot)}}function ut(t){var r=v+(t||"tick");return M[r]||(M[r]=function(t,e){var r,n,i,a;return t._selections[e].size()?(r=1/0,n=-1/0,i=1/0,a=-1/0,t._selections[e].each((function(){var t=Mt(this),e=h.bBox(t.node().parentNode);r=Math.min(r,e.top),n=Math.max(n,e.bottom),i=Math.min(i,e.left),a=Math.max(a,e.right)}))):(r=0,n=0,i=0,a=0),{top:r,bottom:n,left:i,right:a,height:n-r,width:a-i}}(e,r)),M[r]}},q.getTickSigns=function(t,e){var r=t._id.charAt(0),n={x:"top",y:"right"}[r],i=t.side===n?1:-1,a=[-1,1,i,-i];return"inside"!==(e?(t.minor||{}).ticks:t.ticks)==("x"===r)&&(a=a.map((function(t){return-t}))),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},q.makeTransTickFn=function(t){return"x"===t._id.charAt(0)?function(e){return l(t._offset+t.l2p(e.x),0)}:function(e){return l(0,t._offset+t.l2p(e.x))}},q.makeTransTickLabelFn=function(t){var e=function(t){var e=t.ticklabelposition||"",r=function(t){return-1!==e.indexOf(t)},n=r("top"),i=r("left"),a=r("right"),o=r("bottom"),s=r("inside"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=t.side,c=l?(t.tickwidth||0)/2:0,f=3,h=t.tickfont?t.tickfont.size:12;return(o||n)&&(c+=h*U,f+=(t.linewidth||0)/2),(i||a)&&(c+=(t.linewidth||0)/2,f+=3),s&&"top"===u&&(f-=h*(1-U)),(i||n)&&(c=-c),"bottom"!==u&&"right"!==u||(f=-f),[l?c:0,s?f:0]}(t),r=e[0],n=e[1];return"x"===t._id.charAt(0)?function(e){return l(r+t._offset+t.l2p(wt(e)),n)}:function(e){return l(n,r+t._offset+t.l2p(wt(e)))}},q.makeTickPath=function(t,e,r,n){n||(n={});var i=n.minor;if(i&&!t.minor)return"";var a=void 0!==n.len?n.len:i?t.minor.ticklen:t.ticklen,o=t._id.charAt(0),s=(t.linewidth||1)/2;return"x"===o?"M0,"+(e+s*r)+"v"+a*r:"M"+(e+s*r)+",0h"+a*r},q.makeLabelFns=function(t,e,r){var n=t.ticklabelposition||"",a=function(t){return-1!==n.indexOf(t)},o=a("top"),l=a("left"),u=a("right"),c=a("bottom")||l||o||u,f=a("inside"),h="inside"===n&&"inside"===t.ticks||!f&&"outside"===t.ticks&&"boundaries"!==t.tickson,p=0,d=0,v=h?t.ticklen:0;if(f?v*=-1:c&&(v=0),h&&(p+=v,r)){var g=s.deg2rad(r);p=v*Math.cos(g)+1,d=v*Math.sin(g)}t.showticklabels&&(h||t.showline)&&(p+=.2*t.tickfont.size);var y,m,x,b,_,w={labelStandoff:p+=(t.linewidth||1)/2*(f?-1:1),labelShift:d},T=0,k=t.side,A=t._id.charAt(0),M=t.tickangle;if("x"===A)b=(_=!f&&"bottom"===k||f&&"top"===k)?1:-1,f&&(b*=-1),y=d*b,m=e+p*b,x=_?1:-.2,90===Math.abs(M)&&(f?x+=j:x=-90===M&&"bottom"===k?U:90===M&&"top"===k?j:.5,T=j/2*(M/90)),w.xFn=function(t){return t.dx+y+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*x},w.anchorFn=function(t,e){if(c){if(l)return"end";if(u)return"start"}return i(e)&&0!==e&&180!==e?e*b<0!==f?"end":"start":"middle"},w.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side!==f?-n:0};else if("y"===A){if(b=(_=!f&&"left"===k||f&&"right"===k)?1:-1,f&&(b*=-1),y=p,m=d*b,x=0,f||90!==Math.abs(M)||(x=-90===M&&"left"===k||90===M&&"right"===k?U:.5),f){var S=i(M)?+M:0;if(0!==S){var E=s.deg2rad(S);T=Math.abs(Math.sin(E))*U*b,x=0}}w.xFn=function(t){return t.dx+e-(y+t.fontSize*x)*b+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*j},w.anchorFn=function(t,e){return i(e)&&90===Math.abs(e)?"middle":_?"end":"start"},w.heightFn=function(e,r,n){return"right"===t.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},q.drawTicks=function(t,e,r){r=r||{};var i=e._id+"tick",a=[].concat(e.minor&&e.minor.ticks?r.vals.filter((function(t){return t.minor&&!t.noTick})):[]).concat(e.ticks?r.vals.filter((function(t){return!t.minor&&!t.noTick})):[]),o=r.layer.selectAll("path."+i).data(a,Tt);o.exit().remove(),o.enter().append("path").classed(i,1).classed("ticks",1).classed("crisp",!1!==r.crisp).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.tickcolor:e.tickcolor)})).style("stroke-width",(function(r){return h.crispRound(t,r.minor?e.minor.tickwidth:e.tickwidth,1)+"px"})).attr("d",r.path).style("display",null),Rt(e,[R]),o.attr("transform",r.transFn)},q.drawGrid=function(t,e,r){if(r=r||{},"sync"!==e.tickmode){var i=e._id+"grid",a=e.minor&&e.minor.showgrid,o=a?r.vals.filter((function(t){return t.minor})):[],s=e.showgrid?r.vals.filter((function(t){return!t.minor})):[],l=r.counterAxis;if(l&&q.shouldShowZeroLine(t,e,l))for(var u="array"===e.tickmode,c=0;c=0;y--){var m=y?v:g;if(m){var x=m.selectAll("path."+i).data(y?s:o,Tt);x.exit().remove(),x.enter().append("path").classed(i,1).classed("crisp",!1!==r.crisp),x.attr("transform",r.transFn).attr("d",r.path).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.gridcolor:e.gridcolor||"#ddd")})).style("stroke-dasharray",(function(t){return h.dashStyle(t.minor?e.minor.griddash:e.griddash,t.minor?e.minor.gridwidth:e.gridwidth)})).style("stroke-width",(function(t){return(t.minor?d:e._gw)+"px"})).style("display",null),"function"==typeof r.path&&x.attr("d",r.path)}}Rt(e,[D,z])}},q.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+"zl",i=q.shouldShowZeroLine(t,e,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:e._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",!1!==r.crisp).each((function(){r.layer.selectAll("path").sort((function(t,e){return W(t.id,e.id)}))})),a.attr("transform",r.transFn).attr("d",r.path).call(f.stroke,e.zerolinecolor||f.defaultLine).style("stroke-width",h.crispRound(t,e.zerolinewidth,e._gw||1)+"px").style("display",null),Rt(e,[I])},q.drawLabels=function(t,e,r){r=r||{};var a=t._fullLayout,o=e._id,c=o.charAt(0),f=r.cls||o+"tick",p=r.vals.filter((function(t){return t.text})),d=r.labelFns,v=r.secondary?0:e.tickangle,g=(e._prevTickAngles||{})[f],y=r.layer.selectAll("g."+f).data(e.showticklabels?p:[],Tt),m=[];function x(t,a){t.each((function(t){var o=n.select(this),s=o.select(".text-math-group"),c=d.anchorFn(t,a),f=r.transFn.call(o.node(),t)+(i(a)&&0!=+a?" rotate("+a+","+d.xFn(t)+","+(d.yFn(t)-t.fontSize/2)+")":""),p=u.lineCount(o),v=V*t.fontSize,g=d.heightFn(t,i(a)?+a:0,(p-1)*v);if(g&&(f+=l(0,g)),s.empty()){var y=o.select("text");y.attr({transform:f,"text-anchor":c}),y.style("opacity",1),e._adjustTickLabelsOverflow&&e._adjustTickLabelsOverflow()}else{var m=h.bBox(s.node()).width*{end:-.5,start:.5}[c];s.attr("transform",f+l(m,0))}}))}y.enter().append("g").classed(f,1).append("text").attr("text-anchor","middle").each((function(e){var r=n.select(this),i=t._promises.length;r.call(u.positionText,d.xFn(e),d.yFn(e)).call(h.font,e.font,e.fontSize,e.fontColor).text(e.text).call(u.convertToTspans,t),t._promises[i]?m.push(t._promises.pop().then((function(){x(r,v)}))):x(r,v)})),Rt(e,[F]),y.exit().remove(),r.repositionOnUpdate&&y.each((function(t){n.select(this).select("text").call(u.positionText,d.xFn(t),d.yFn(t))})),e._adjustTickLabelsOverflow=function(){var r=e.ticklabeloverflow;if(r&&"allow"!==r){var i=-1!==r.indexOf("hide"),o="x"===e._id.charAt(0),l=0,u=o?t._fullLayout.width:t._fullLayout.height;if(-1!==r.indexOf("domain")){var c=s.simpleMap(e.range,e.r2l);l=e.l2p(c[0])+e._offset,u=e.l2p(c[1])+e._offset}var f=Math.min(l,u),p=Math.max(l,u),d=e.side,v=1/0,g=-1/0;for(var m in y.each((function(t){var r=n.select(this);if(r.select(".text-math-group").empty()){var a=h.bBox(r.node()),s=0;o?(a.right>p||a.leftp||a.top+(e.tickangle?0:t.fontSize/4)e["_visibleLabelMin_"+r._id]?l.style("display","none"):"tick"!==t.K||i||l.style("display",null)}))}))}))}))},x(y,g+1?g:v);var b=null;e._selections&&(e._selections[f]=y);var _=[function(){return m.length&&Promise.all(m)}];e.automargin&&a._redrawFromAutoMarginCount&&90===g?(b=90,_.push((function(){x(y,g)}))):_.push((function(){if(x(y,v),p.length&&"x"===c&&!i(v)&&("log"!==e.type||"D"!==String(e.dtick).charAt(0))){b=0;var t,n=0,a=[];if(y.each((function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),i=Mt(this),o=h.bBox(i.node());a.push({top:0,bottom:10,height:10,left:r-o.width/2,right:r+o.width/2+2,width:o.width+2})})),"boundaries"!==e.tickson&&!e.showdividers||r.secondary){var o=p.length,l=Math.abs((p[o-1].x-p[0].x)*e._m)/(o-1),u=e.ticklabelposition||"",f=function(t){return-1!==u.indexOf(t)},d=f("top"),g=f("left"),m=f("right"),_=f("bottom")||g||d||m?(e.tickwidth||0)+6:0,w=l<2.5*n||"multicategory"===e.type||"realaxis"===e._name;for(t=0;t1)for(n=1;n2*o}(i,e))return"date";var g="strict"!==r.autotypenumbers;return function(t,e){for(var r=t.length,n=f(r),i=0,o=0,s={},c=0;c2*i}(i,g)?"category":function(t,e){for(var r=t.length,n=0;n=2){var s,u,c="";if(2===o.length)for(s=0;s<2;s++)if(u=_(o[s])){c=y;break}var f=i("pattern",c);if(f===y)for(s=0;s<2;s++)(u=_(o[s]))&&(e.bounds[s]=o[s]=u-1);if(f)for(s=0;s<2;s++)switch(u=o[s],f){case y:if(!n(u))return void(e.enabled=!1);if((u=+u)!==Math.floor(u)||u<0||u>=7)return void(e.enabled=!1);e.bounds[s]=o[s]=u;break;case m:if(!n(u))return void(e.enabled=!1);if((u=+u)<0||u>24)return void(e.enabled=!1);e.bounds[s]=o[s]=u}if(!1===r.autorange){var h=r.range;if(h[0]h[1])return void(e.enabled=!1)}else if(o[0]>h[0]&&o[1]n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},e.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(" ")[0]},e.isLinked=function(t,e){return a(e,t._axisMatchGroups)||a(e,t._axisConstraintGroups)}},15258:function(t){"use strict";t.exports=function(t,e,r,n){if("category"===e.type){var i,a=t.categoryarray,o=Array.isArray(a)&&a.length>0;o&&(i="array");var s,l=r("categoryorder",i);"array"===l&&(s=r("categoryarray")),o||"array"!==l||(l=e.categoryorder="trace"),"trace"===l?e._initialCategories=[]:"array"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;nn?i.substr(n):a.substr(r))+o:i+a+t*e:o}function g(t,e){for(var r=e._size,n=r.h/r.w,i={},a=Object.keys(t),o=0;ou*x)||T)for(r=0;rI&&FO&&(O=F);h/=(O-C)/(2*P),C=l.l2r(C),O=l.l2r(O),l.range=l._input.range=S=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function N(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",u(r,n)).attr("d",i+"Z")}function j(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:f.background,stroke:f.defaultLine,"stroke-width":1,opacity:0}).attr("transform",u(e,r)).attr("d","M0,0Z")}function U(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"),V(t,e,i,a)}function V(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 H(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function q(t){P&&t.data&&t._context.showTips&&(i.notifier(i._(t,"Double-click to zoom back out"),"long"),P=!1)}function G(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,O)/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 Z(t,e,r,n,a){for(var o,s,l,u,c=!1,f={},h={},p=(a||{}).xaHash,d=(a||{}).yaHash,v=0;v=0)i._fullLayout._deactivateShape(i);else{var o=i._fullLayout.clickmode;if(H(i),2!==t||yt||qt(),gt)o.indexOf("select")>-1&&S(r,i,J,K,e.id,Ot),o.indexOf("event")>-1&&p.click(i,r,e.id);else if(1===t&&yt){var s=v?I:P,u="s"===v||"w"===y?0:1,f=s._name+".range["+u+"]",h=function(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return"date"===t.type?n:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,a("."+r+"g")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,a("."+String(r)+"g")(n))}(s,u),d="left",g="middle";if(s.fixedrange)return;v?(g="n"===v?"top":"bottom","right"===s.side&&(d="right")):"e"===y&&(d="right"),i._context.showAxisRangeEntryBoxes&&n.select(bt).call(c.makeEditable,{gd:i,immediate:!0,background:i._fullLayout.paper_bgcolor,text:String(h),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:d,verticalAlign:g}).on("edit",(function(t){var e=s.d2r(t);void 0!==e&&l.call("_guiRelayout",i,f,e)}))}}}function Dt(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(tt,pt*e+_t)),i=Math.max(0,Math.min(et,dt*r+wt)),a=Math.abs(n-_t),o=Math.abs(i-wt);function s(){St="",Tt.r=Tt.l,Tt.t=Tt.b,Lt.attr("d","M0,0Z")}if(Tt.l=Math.min(_t,n),Tt.r=Math.max(_t,n),Tt.t=Math.min(wt,i),Tt.b=Math.max(wt,i),rt.isSubplotConstrained)a>O||o>O?(St="xy",a/tt>o/et?(o=a*et/tt,wt>i?Tt.t=wt-o:Tt.b=wt+o):(a=o*tt/et,_t>n?Tt.l=_t-a:Tt.r=_t+a),Lt.attr("d",G(Tt))):s();else if(nt.isSubplotConstrained)if(a>O||o>O){St="xy";var l=Math.min(Tt.l/tt,(et-Tt.b)/et),u=Math.max(Tt.r/tt,(et-Tt.t)/et);Tt.l=l*tt,Tt.r=u*tt,Tt.b=(1-l)*et,Tt.t=(1-u)*et,Lt.attr("d",G(Tt))}else s();else!at||o0){var c;if(nt.isSubplotConstrained||!it&&1===at.length){for(c=0;c1&&(void 0!==a.maxallowed&&st===(a.range[0]1&&(void 0!==o.maxallowed&<===(o.range[0]b[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s),"sync"===e.tickmode&&(e.tickmode="auto")}return r("layer"),e}},89426:function(t,e,r){"use strict";var n=r(59652);t.exports=function(t,e,r,i,a){a||(a={});var o=a.tickSuffixDflt,s=n(t);r("tickprefix")&&r("showtickprefix",s),r("ticksuffix",o)&&r("showticksuffix",s)}},42449:function(t,e,r){"use strict";var n=r(18783).FROM_BL;t.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)],t.setScale()}},21994:function(t,e,r){"use strict";var n=r(39898),i=r(84096).g0,a=r(71828),o=a.numberFormat,s=r(92770),l=a.cleanNumber,u=a.ms2DateTime,c=a.dateTime2ms,f=a.ensureNumber,h=a.isArrayOrTypedArray,p=r(50606),d=p.FP_SAFE,v=p.BADNUM,g=p.LOG_CLIP,y=p.ONEWEEK,m=p.ONEDAY,x=p.ONEHOUR,b=p.ONEMIN,_=p.ONESEC,w=r(41675),T=r(85555),k=T.HOUR_PATTERN,A=T.WEEKDAY_PATTERN;function M(t){return Math.pow(10,t)}function S(t){return null!=t}t.exports=function(t,e){e=e||{};var r=t._id||"x",p=r.charAt(0);function E(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*g*Math.abs(n-i))}return v}function L(e,r,n,i){if((i||{}).msUTC&&s(e))return+e;var o=c(e,n||t.calendar);if(o===v){if(!s(e))return v;e=+e;var l=Math.floor(10*a.mod(e+.05,1)),u=Math.round(e-l/10);o=c(new Date(u))+l/10}return o}function C(e,r,n){return u(e,r,n||t.calendar)}function O(e){return t._categories[Math.round(e)]}function P(e){if(S(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push("number"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return v}function I(e){if(t._categoriesMap)return t._categoriesMap[e]}function D(t){var e=I(t);return void 0!==e?e:s(t)?+t:void 0}function z(t){return s(t)?+t:I(t)}function R(t,e,r){return n.round(r+e*t,2)}function F(t,e,r){return(t-r)/e}var B=function(e){return s(e)?R(e,t._m,t._b):v},N=function(e){return F(e,t._m,t._b)};if(t.rangebreaks){var j="y"===p;B=function(e){if(!s(e))return v;var r=t._rangebreaks.length;if(!r)return R(e,t._m,t._b);var n=j;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,a=i*e,o=0,l=0;lc)){o=a<(u+c)/2?l:l+1;break}o=l+1}var f=t._B[o]||0;return isFinite(f)?R(e,t._m2,f):0},N=function(e){var r=t._rangebreaks.length;if(!r)return F(e,t._m,t._b);for(var n=0,i=0;it._rangebreaks[i].pmax&&(n=i+1);return F(e,t._m2,t._B[n])}}t.c2l="log"===t.type?E:f,t.l2c="log"===t.type?M:f,t.l2p=B,t.p2l=N,t.c2p="log"===t.type?function(t,e){return B(E(t,e))}:B,t.p2c="log"===t.type?function(t){return M(N(t))}:N,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=l,t.c2d=t.c2r=t.l2d=t.l2r=f,t.d2p=t.r2p=function(e){return t.l2p(l(e))},t.p2d=t.p2r=N,t.cleanPos=f):"log"===t.type?(t.d2r=t.d2l=function(t,e){return E(l(t),e)},t.r2d=t.r2c=function(t){return M(l(t))},t.d2c=t.r2l=l,t.c2d=t.l2r=f,t.c2r=E,t.l2d=M,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return M(N(t))},t.r2p=function(e){return t.l2p(l(e))},t.p2r=N,t.cleanPos=f):"date"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=L,t.c2d=t.c2r=t.l2d=t.l2r=C,t.d2p=t.r2p=function(e,r,n){return t.l2p(L(e,0,n))},t.p2d=t.p2r=function(t,e,r){return C(N(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,v,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=P,t.r2d=t.c2d=t.l2d=O,t.d2r=t.d2l_noadd=D,t.r2c=function(e){var r=z(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=f,t.r2l=z,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return O(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:f(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=O,t.d2r=t.d2l_noadd=D,t.r2c=function(e){var r=D(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=I,t.l2r=t.c2r=f,t.r2l=D,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return O(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:f(t)},t.setupMultiCategory=function(n){var i,o,s=t._traceIndices,l=t._matchGroup;if(l&&0===t._categories.length)for(var u in l)if(u!==r){var c=e[w.id2name(u)];s=s.concat(c._traceIndices)}var f=[[0,{}],[0,{}]],d=[];for(i=0;il[1]&&(i[s?0:1]=n)}},t.cleanRange=function(e,r){t._cleanRange(e,r),t.limitRange(e)},t._cleanRange=function(e,r){r||(r={}),e||(e="range");var n,i,o=a.nestedProperty(t,e).get();if(i=(i="date"===t.type?a.dfltRange(t.calendar):"y"===p?T.DFLTRANGEY:"realaxis"===t._name?[0,1]:r.dfltRange||T.DFLTRANGEX).slice(),"tozero"!==t.rangemode&&"nonnegative"!==t.rangemode||(i[0]=0),o&&2===o.length){var l=null===o[0],u=null===o[1];for("date"!==t.type||t.autorange||(o[0]=a.cleanDate(o[0],v,t.calendar),o[1]=a.cleanDate(o[1],v,t.calendar)),n=0;n<2;n++)if("date"===t.type){if(!a.isDateTime(o[n],t.calendar)){t[e]=i;break}if(t.r2l(o[0])===t.r2l(o[1])){var c=a.constrain(t.r2l(o[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);o[0]=t.l2r(c-1e3),o[1]=t.l2r(c+1e3);break}}else{if(!s(o[n])){if(l||u||!s(o[1-n])){t[e]=i;break}o[n]=o[1-n]*(n?10:.1)}if(o[n]<-d?o[n]=-d:o[n]>d&&(o[n]=d),o[0]===o[1]){var f=Math.max(1,Math.abs(1e-6*o[0]));o[0]-=f,o[1]+=f}}}else a.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t.overlaying){var i=w.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(a);var s,l,u=t.r2l(t[a][0],o),c=t.r2l(t[a][1],o),f="y"===p;if(f?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks&&(t._rangebreaks=t.locateBreaks(Math.min(u,c),Math.max(u,c)),t._rangebreaks.length)){for(s=0;sc&&(h=!h),h&&t._rangebreaks.reverse();var d=h?-1:1;for(t._m2=d*t._length/(Math.abs(c-u)-t._lBreaks),t._B.push(-t._m2*(f?c:u)),s=0;si&&(i+=7,oi&&(i+=24,o=n&&o=n&&e=s.min&&(ts.max&&(s.max=n),i=!1)}i&&u.push({min:t,max:n})}};for(n=0;nr.duration?(function(){for(var r={},n=0;n rect").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(o.setPointGroupScale,1,1),n.selectAll(".textpoint").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function g(e,r){var n=e.plotinfo,i=n.xaxis,l=n.yaxis,u=i._length,c=l._length,f=!!e.xr1,h=!!e.yr1,p=[];if(f){var d=a.simpleMap(e.xr0,i.r2l),v=a.simpleMap(e.xr1,i.r2l),g=d[1]-d[0],y=v[1]-v[0];p[0]=(d[0]*(1-r)+r*v[0]-d[0])/(d[1]-d[0])*u,p[2]=u*(1-r+r*y/g),i.range[0]=i.l2r(d[0]*(1-r)+r*v[0]),i.range[1]=i.l2r(d[1]*(1-r)+r*v[1])}else p[0]=0,p[2]=u;if(h){var m=a.simpleMap(e.yr0,l.r2l),x=a.simpleMap(e.yr1,l.r2l),b=m[1]-m[0],_=x[1]-x[0];p[1]=(m[1]*(1-r)+r*x[1]-m[1])/(m[0]-m[1])*c,p[3]=c*(1-r+r*_/b),l.range[0]=i.l2r(m[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(m[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=c;s.drawOne(t,i,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[i._id,l._id]);var w=f?u/p[2]:1,T=h?c/p[3]:1,k=f?p[0]:0,A=h?p[1]:0,M=f?p[0]/p[2]*u:0,S=h?p[1]/p[3]*c:0,E=i._offset-M,L=l._offset-S;n.clipRect.call(o.setTranslate,k,A).call(o.setScale,1/w,1/T),n.plot.call(o.setTranslate,E,L).call(o.setScale,w,T),o.setPointGroupScale(n.zoomScalePts,1/w,1/T),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}s.redrawComponents(t)}},951:function(t,e,r){"use strict";var n=r(73972).traceIs,i=r(4322);function a(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=a(t),i=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}t.exports=function(t,e,r,s){r("autotypenumbers",s.autotypenumbersDflt),"-"===r("type",(s.splomStash||{}).type)&&(function(t,e){if("-"===t.type){var r,s=t._id,l=s.charAt(0);-1!==s.indexOf("scene")&&(s=l);var u=function(t,e,r){for(var n=0;n0&&(i["_"+r+"axes"]||{})[e])return i;if((i[r+"axis"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(e,s,l);if(u)if("histogram"!==u.type||l!=={v:"y",h:"x"}[u.orientation||"v"]){var c=l+"calendar",f=u[c],h={noMultiCategory:!n(u,"cartesian")||n(u,"noMultiCategory")};if("box"===u.type&&u._hasPreCompStats&&l==={h:"x",v:"y"}[u.orientation||"v"]&&(h.noMultiCategory=!0),h.autotypenumbers=t.autotypenumbers,o(u,l)){var p=a(u),d=[];for(r=0;r0?".":"")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}}))}e.manageCommandObserver=function(t,r,n,o){var s={},l=!0;r&&r._commandObserver&&(s=r._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var u=e.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(r&&r._commandObserver){if(u)return s;if(r._commandObserver.remove)return r._commandObserver.remove(),r._commandObserver=null,s}if(u){a(t,u,s.cache),s.check=function(){if(l){var e=a(t,u,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:u.type,prop:u.prop,traces:u.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var c=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],f=0;f0&&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]]]}}t.exports=function(t){return new M(t)},S.plot=function(t,e,r,n){var i=this;if(n)return i.update(t,e,!0);i._geoCalcData=t,i._fullLayout=e;var a=e[this.id],o=[],s=!1;for(var l in w.layerNameToAdjective)if("frame"!==l&&a["show"+l]){s=!0;break}for(var u=!1,c=0;c0&&o._module.calcGeoJSON(a,e)}if(!r){if(this.updateProjection(t,e))return;this.viewInitial&&this.scope===n.scope||this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(e,n),this.updateDims(e,n),this.updateFx(e,n),d.generalUpdatePerTraceModule(this.graphDiv,this,t,n);var s=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=s.selectAll(".point"),this.dataPoints.text=s.selectAll("text"),this.dataPaths.line=s.selectAll(".js-line");var l=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=l.selectAll("path"),this._render()},S.updateProjection=function(t,e){var r=this.graphDiv,n=e[this.id],l=e._size,c=n.domain,f=n.projection,h=n.lonaxis,p=n.lataxis,d=h._ax,v=p._ax,y=this.projection=function(t){var e=t.projection,r=e.type,n=w.projNames[r];n="geo"+u.titleCase(n);for(var l=(i[n]||s[n])(),c=t._isSatellite?180*Math.acos(1/e.distance)/Math.PI:t._isClipped?w.lonaxisSpan[r]/2:null,f=["center","rotate","parallels","clipExtent"],h=function(t){return t?l:[]},p=0;pc*Math.PI/180}return!1},l.getPath=function(){return a().projection(l)},l.getBounds=function(t){return l.getPath().bounds(t)},l.precision(w.precision),t._isSatellite&&l.tilt(e.tilt).distance(e.distance),c&&l.clipAngle(c-w.clipPad),l}(n),m=[[l.l+l.w*c.x[0],l.t+l.h*(1-c.y[1])],[l.l+l.w*c.x[1],l.t+l.h*(1-c.y[0])]],x=n.center||{},b=f.rotation||{},_=h.range||[],T=p.range||[];if(n.fitbounds){d._length=m[1][0]-m[0][0],v._length=m[1][1]-m[0][1],d.range=g(r,d),v.range=g(r,v);var k=(d.range[0]+d.range[1])/2,A=(v.range[0]+v.range[1])/2;if(n._isScoped)x={lon:k,lat:A};else if(n._isClipped){x={lon:k,lat:A},b={lon:k,lat:A,roll:b.roll};var M=f.type,S=w.lonaxisSpan[M]/2||180,L=w.lataxisSpan[M]/2||90;_=[k-S,k+S],T=[A-L,A+L]}else x={lon:k,lat:A},b={lon:k,lat:b.lat,roll:b.roll}}y.center([x.lon-b.lon,x.lat-b.lat]).rotate([-b.lon,-b.lat,b.roll]).parallels(f.parallels);var C=E(_,T);y.fitExtent(m,C);var O=this.bounds=y.getBounds(C),P=this.fitScale=y.scale(),I=y.translate();if(n.fitbounds){var D=y.getBounds(E(d.range,v.range)),z=Math.min((O[1][0]-O[0][0])/(D[1][0]-D[0][0]),(O[1][1]-O[0][1])/(D[1][1]-D[0][1]));isFinite(z)?y.scale(z*P):u.warn("Something went wrong during"+this.id+"fitbounds computations.")}else y.scale(f.scale*P);var R=this.midPt=[(O[0][0]+O[1][0])/2,(O[0][1]+O[1][1])/2];if(y.translate([I[0]+(R[0]-I[0]),I[1]+(R[1]-I[1])]).clipExtent(O),n._isAlbersUsa){var F=y([x.lon,x.lat]),B=y.translate();y.translate([B[0]-(F[0]-B[0]),B[1]-(F[1]-B[1])])}},S.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,o=r.basePaths;function s(t){return"lonaxis"===t||"lataxis"===t}function l(t){return Boolean(w.lineLayers[t])}function u(t){return Boolean(w.fillLayers[t])}var c=(this.hasChoropleth?w.layersForChoropleth:w.layers).filter((function(t){return l(t)||u(t)?e["show"+t]:!s(t)||e[t].showgrid})),p=r.framework.selectAll(".layer").data(c,String);p.exit().each((function(t){delete a[t],delete o[t],n.select(this).remove()})),p.enter().append("g").attr("class",(function(t){return"layer "+t})).each((function(t){var e=a[t]=n.select(this);"bg"===t?r.bgRect=e.append("rect").style("pointer-events","all"):s(t)?o[t]=e.append("path").style("fill","none"):"backplot"===t?e.append("g").classed("choroplethlayer",!0):"frontplot"===t?e.append("g").classed("scatterlayer",!0):l(t)?o[t]=e.append("path").style("fill","none").style("stroke-miterlimit",2):u(t)&&(o[t]=e.append("path").style("stroke","none"))})),p.order(),p.each((function(r){var n=o[r],a=w.layerNameToAdjective[r];"frame"===r?n.datum(w.sphereSVG):l(r)||u(r)?n.datum(A(i,i.objects[r])):s(r)&&n.datum(function(t,e,r){var n,i,a,o=e[t],s=w.scopeDefaults[e.scope];"lonaxis"===t?(n=s.lonaxisRange,i=s.lataxisRange,a=function(t,e){return[t,e]}):"lataxis"===t&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(t,e){return[e,t]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};v.setConvert(l,r);var u=v.calcTicks(l);e.isScoped||"lonaxis"!==t||u.pop();for(var c=u.length,f=new Array(c),h=0;h-1&&b(n.event,i,[r.xaxis],[r.yaxis],r.id,c),s.indexOf("event")>-1&&p.click(i,n.event))}))}function f(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},S.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,i="clip"+r._uid+t.id;t.clipDef=r._clips.append("clipPath").attr("id",i),t.clipRect=t.clipDef.append("rect"),t.framework=n.select(t.container).append("g").attr("class","geo "+t.id).call(h.setClipUrl,i,e),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"},v.setConvert(t.mockAxis,r)},S.saveViewInitial=function(t){var e,r=t.center||{},n=t.projection,i=n.rotation||{};this.viewInitial={fitbounds:t.fitbounds,"projection.scale":n.scale},e=t._isScoped?{"center.lon":r.lon,"center.lat":r.lat}:t._isClipped?{"projection.rotation.lon":i.lon,"projection.rotation.lat":i.lat}:{"center.lon":r.lon,"center.lat":r.lat,"projection.rotation.lon":i.lon},u.extendFlat(this.viewInitial,e)},S.render=function(t){this._hasMarkerAngles&&t?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},S._render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?c(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)}},44622:function(t,e,r){"use strict";var n=r(27659).AU,i=r(71828).counterRegex,a=r(69082),o="geo",s=i(o),l={};l.geo={valType:"subplotid",dflt:o,editType:"calc"},t.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:r(77519),supplyLayoutDefaults:r(82161),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots.geo,s=0;s0&&O<0&&(O+=360);var P,I,D,z=(C+O)/2;if(!p){var R=d?f.projRotate:[z,0,0];P=r("projection.rotation.lon",R[0]),r("projection.rotation.lat",R[1]),r("projection.rotation.roll",R[2]),r("showcoastlines",!d&&x)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean",!!x&&void 0)&&r("oceancolor")}p?(I=-96.6,D=38.7):(I=d?z:P,D=(L[0]+L[1])/2),r("center.lon",I),r("center.lat",D),v&&(r("projection.tilt"),r("projection.distance")),g&&r("projection.parallels",f.projParallels||[0,60]),r("projection.scale"),r("showland",!!x&&void 0)&&r("landcolor"),r("showlakes",!!x&&void 0)&&r("lakecolor"),r("showrivers",!!x&&void 0)&&(r("rivercolor"),r("riverwidth")),r("showcountries",d&&"usa"!==c&&x)&&(r("countrycolor"),r("countrywidth")),("usa"===c||"north america"===c&&50===u)&&(r("showsubunits",x),r("subunitcolor"),r("subunitwidth")),d||r("showframe",x)&&(r("framecolor"),r("framewidth")),r("bgcolor"),r("fitbounds")&&(delete e.projection.scale,d?(delete e.center.lon,delete e.center.lat):y?(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon,delete e.projection.rotation.lat,delete e.lonaxis.range,delete e.lataxis.range):(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon))}t.exports=function(t,e,r){i(t,e,r,{type:"geo",attributes:s,handleDefaults:u,fullData:r,partition:"y"})}},74455:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(73972),o=Math.PI/180,s=180/Math.PI,l={cursor:"pointer"},u={cursor:"auto"};function c(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function f(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],u=o._fullLayout,c=u[n],f={},h={};function p(t,e){f[n+"."+t]=i.nestedProperty(l,t).get(),a.call("_storeDirectGUIEdit",s,u._preGUI,f);var r=i.nestedProperty(c,t);r.get()!==e&&(r.set(e),i.nestedProperty(l,t).set(e),h[n+"."+t]=e)}r(p),p("projection.scale",e.scale()/t.fitScale),p("fitbounds",!1),o.emit("plotly_relayout",h)}function h(t,e){var r=c(0,e);function i(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",(function(){n.select(this).style(l)})).on("zoom",(function(){e.scale(n.event.scale).translate(n.event.translate),t.render(!0);var r=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":r[0],"geo.center.lat":r[1]})})).on("zoomend",(function(){n.select(this).style(u),f(t,e,i)})),r}function p(t,e){var r,i,a,o,s,h,p,d,v,g=c(0,e);function y(t){return e.invert(t)}function m(r){var n=e.rotate(),i=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return g.on("zoomstart",(function(){n.select(this).style(l),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,s=y(r)})).on("zoom",(function(){if(h=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>2||Math.abs(n[1]-t[1])>2}(r))return g.scale(e.scale()),void g.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),s?y(h)&&(d=y(h),p=[o[0]+(d[0]-s[0]),i[1],i[2]],e.rotate(p),o=p):s=y(r=h),v=!0,t.render(!0);var l=e.rotate(),u=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":u[0],"geo.center.lat":u[1],"geo.projection.rotation.lon":-l[0]})})).on("zoomend",(function(){n.select(this).style(u),v&&f(t,e,m)})),g}function d(t,e){var r,i={r:e.rotate(),k:e.scale()},a=c(0,e),o=function(t){for(var e=0,r=arguments.length,i=[];++ed?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*s-p,i=Math.sqrt(d*d-f*f));var v=180-a-2*p,g=(Math.atan2(h,c)-Math.atan2(u,i))*s,y=(Math.atan2(h,c)-Math.atan2(u,-i))*s;return b(r[0],r[1],a,g)<=b(r[0],r[1],v,y)?[a,g,r[2]]:[v,y,r[2]]}function b(t,e,r,n){var i=_(r-t),a=_(n-e);return Math.sqrt(i*i+a*a)}function _(t){return(t%360+540)%360-180}function w(t,e,r){var n=r*o,i=t.slice(),a=0===e?1:0,s=2===e?1:2,l=Math.cos(n),u=Math.sin(n);return i[a]=t[a]*l-t[s]*u,i[s]=t[s]*l+t[a]*u,i}function T(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*s,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*s,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*s]}function k(t,e){for(var r=0,n=0,i=t.length;nMath.abs(s)?(u.boxEnd[1]=u.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),u.boxEnd[1]l[3]&&(u.boxEnd[1]=l[3],u.boxEnd[0]=u.boxStart[0]+(l[3]-u.boxStart[1])/Math.abs(_))):(u.boxEnd[0]=u.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),u.boxEnd[0]l[2]&&(u.boxEnd[0]=l[2],u.boxEnd[1]=u.boxStart[1]+(l[2]-u.boxStart[0])*Math.abs(_)))}}else u.boxEnabled?(a=u.boxStart[0]!==u.boxEnd[0],s=u.boxStart[1]!==u.boxEnd[1],a||s?(a&&(g(0,u.boxStart[0],u.boxEnd[0]),t.xaxis.autorange=!1),s&&(g(1,u.boxStart[1],u.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),u.boxEnabled=!1,u.boxInited=!1):u.boxInited&&(u.boxInited=!1);break;case"pan":u.boxEnabled=!1,u.boxInited=!1,e?(u.panning||(u.dragStart[0]=n,u.dragStart[1]=i),Math.abs(u.dragStart[0]-n).999&&(g="turntable"):g="turntable")}else g="turntable";r("dragmode",g),r("hovermode",n.getDfltFromLayout("hovermode"))}t.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:c,attributes:l,handleDefaults:f,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},65500:function(t,e,r){"use strict";var n=r(77894),i=r(27670).Y,a=r(1426).extendFlat,o=r(71828).counterRegex;function s(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"}}t.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:i({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:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},13133:function(t,e,r){"use strict";var n=r(78614),i=["xaxis","yaxis","zaxis"];function a(){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]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},t.exports=function(t){var e=new a;return e.merge(t),e}},96085:function(t,e,r){"use strict";t.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],u=0;u<3;++u){var c=s[a[u]];if(c._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(c._length)===1/0||isNaN(c._length))l[u]=[];else{c._input_range=c.range.slice(),c.range[0]=r[u].lo/t.dataScale[u],c.range[1]=r[u].hi/t.dataScale[u],c._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),c.range[0]===c.range[1]&&(c.range[0]-=1,c.range[1]+=1);var f=c.tickmode;if("auto"===c.tickmode){c.tickmode="linear";var h=c.nticks||i.constrain(c._length/40,4,9);n.autoTicks(c,Math.abs(c.range[1]-c.range[0])/h)}for(var p=n.calcTicks(c,{msUTC:!0}),d=0;d/g," "));l[u]=p,c.tickmode=f}}for(e.ticks=l,u=0;u<3;++u)for(o[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]),d=0;d<2;++d)e.bounds[d][u]=t.glplot.bounds[d][u];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;ar.deltaY?1.1:1/1.1,a=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(t)}}),!!u&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit("plotly_relayouting",e)}})),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",(function(r){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:r,layer:t.id})}),!1)),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},k.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,i=e.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),b(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,h=e.glplot.selection,v=0;v")):"isosurface"===t.type||"volume"===t.type?(k.valueLabel=p.hoverLabelText(e._mockAxis,e._mockAxis.d2l(h.traceCoordinate[3]),t.valuehoverformat),E.push("value: "+k.valueLabel),h.textLabel&&E.push(h.textLabel),x=E.join("
")):x=h.textLabel;var L={x:h.traceCoordinate[0],y:h.traceCoordinate[1],z:h.traceCoordinate[2],data:_._input,fullData:_,curveNumber:_.index,pointNumber:T};d.appendArrayPointValue(L,_,T),t._module.eventData&&(L=_._module.eventData(L,h,_,{},T));var C={points:[L]};if(e.fullSceneLayout.hovermode){var O=[];d.loneHover({trace:_,x:(.5+.5*m[0]/m[3])*s,y:(.5-.5*m[1]/m[3])*l,xLabel:k.xLabel,yLabel:k.yLabel,zLabel:k.zLabel,text:x,name:c.name,color:d.castHoverOption(_,T,"bgcolor")||c.color,borderColor:d.castHoverOption(_,T,"bordercolor"),fontFamily:d.castHoverOption(_,T,"font.family"),fontSize:d.castHoverOption(_,T,"font.size"),fontColor:d.castHoverOption(_,T,"font.color"),nameLength:d.castHoverOption(_,T,"namelength"),textAlign:d.castHoverOption(_,T,"align"),hovertemplate:f.castOption(_,T,"hovertemplate"),hovertemplateLabels:f.extendFlat({},L,k),eventData:[L]},{container:n,gd:r,inOut_bbox:O}),L.bbox=O[0]}h.distance<5&&(h.buttons||w)?r.emit("plotly_click",C):r.emit("plotly_hover",C),this.oldEventData=C}else d.loneUnhover(n),this.oldEventData&&r.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)},k.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):f.error("Catastrophic and unrecoverable WebGL error. Context lost.")};requestAnimationFrame(e)};var M=["xaxis","yaxis","zaxis"];function S(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=M[i],o=a.charAt(0),s=n[a],l=e[o],u=e[o+"calendar"],c=e["_"+o+"length"];if(f.isArrayOrTypedArray(l))for(var h,p=0;p<(c||l.length);p++)if(f.isArrayOrTypedArray(l[p]))for(var d=0;dy[1][o])y[0][o]=-1,y[1][o]=1;else{var P=y[1][o]-y[0][o];y[0][o]-=P/32,y[1][o]+=P/32}if(b=[y[0][o],y[1][o]],b=_(b,l),y[0][o]=b[0],y[1][o]=b[1],l.isReversed()){var I=y[0][o];y[0][o]=y[1][o],y[1][o]=I}}else b=l.range,y[0][o]=l.r2l(b[0]),y[1][o]=l.r2l(b[1]);y[0][o]===y[1][o]&&(y[0][o]-=1,y[1][o]+=1),m[o]=y[1][o]-y[0][o],l.range=[y[0][o],y[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*p[o],max:l.range[1]*p[o]})}var D=c.aspectmode;if("cube"===D)g=[1,1,1];else if("manual"===D){var z=c.aspectratio;g=[z.x,z.y,z.z]}else{if("auto"!==D&&"data"!==D)throw new Error("scene.js aspectRatio was not one of the enumerated types");var R=[1,1,1];for(o=0;o<3;++o){var F=x[u=(l=c[M[o]]).type];R[o]=Math.pow(F.acc,1/F.count)/p[o]}g="data"===D||Math.max.apply(null,R)/Math.min.apply(null,R)<=4?R:[1,1,1]}c.aspectratio.x=f.aspectratio.x=g[0],c.aspectratio.y=f.aspectratio.y=g[1],c.aspectratio.z=f.aspectratio.z=g[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var B=c.domain||null,N=e._size||null;if(B&&N){var j=n.container.style;j.position="absolute",j.left=N.l+B.x[0]*N.w+"px",j.top=N.t+(1-B.y[1])*N.h+"px",j.width=N.w*(B.x[1]-B.x[0])+"px",j.height=N.h*(B.y[1]-B.y[0])+"px"}n.glplot.redraw()}},k.destroy=function(){var t=this;t.glplot&&(t.camera.mouseListener.enabled=!1,t.container.removeEventListener("wheel",t.camera.wheelListener),t.camera=null,t.glplot.dispose(),t.container.parentNode.removeChild(t.container),t.glplot=null)},k.getCamera=function(){var t,e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),{up:{x:(t=e.camera).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]},projection:{type:!0===t._ortho?"orthographic":"perspective"}}},k.setViewport=function(t){var e,r=this,n=t.camera;r.camera.lookAt.apply(this,[[(e=n).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]]),r.glplot.setAspectratio(t.aspectratio),"orthographic"===n.projection.type!==r.camera._ortho&&(r.glplot.redraw(),r.glplot.clearRGBA(),r.glplot.dispose(),r.initializeGLPlot())},k.isCameraChanged=function(t){var e=this.getCamera(),r=f.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var i=["up","center","eye"],a=["x","y","z"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}var i=!1;if(void 0===r)i=!0;else{for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!n(e,r,a,o)){i=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(i=!0)}return i},k.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=f.nestedProperty(t,this.id+".aspectratio").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},k.saveLayout=function(t){var e,r,n,i,a,o,s=this,l=s.fullLayout,u=s.isCameraChanged(t),h=s.isAspectChanged(t),p=u||h;if(p){var d={};u&&(e=s.getCamera(),n=(r=f.nestedProperty(t,s.id+".camera")).get(),d[s.id+".camera"]=n),h&&(i=s.glplot.getAspectratio(),o=(a=f.nestedProperty(t,s.id+".aspectratio")).get(),d[s.id+".aspectratio"]=o),c.call("_storeDirectGUIEdit",t,l._preGUI,d),u&&(r.set(e),f.nestedProperty(l,s.id+".camera").set(e)),h&&(a.set(i),f.nestedProperty(l,s.id+".aspectratio").set(i),s.glplot.redraw())}return p},k.updateFx=function(t,e){var r=this,n=r.camera;if(n)if("orbit"===t)n.mode="orbit",n.keyBindingMode="rotate";else if("turntable"===t){n.up=[0,0,1],n.mode="turntable",n.keyBindingMode="rotate";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var h=r.id+".camera.up",p={x:0,y:0,z:1},d={};d[h]=p;var v=i.layout;c.call("_storeDirectGUIEdit",v,a._preGUI,d),o.up=p,f.nestedProperty(v,h).set(p)}}else n.keyBindingMode=t;r.fullSceneLayout.hovermode=e},k.toImage=function(t){var e=this;t||(t="png"),e.staticMode&&e.container.appendChild(n),e.glplot.redraw();var r=e.glplot.gl,i=r.drawingBufferWidth,a=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var o=new Uint8Array(i*a*4);r.readPixels(0,0,i,a,r.RGBA,r.UNSIGNED_BYTE,o),function(t,e,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)t[a+l]=Math.min(s*t[a+l],255)}}(o,i,a);var s=document.createElement("canvas");s.width=i,s.height=a;var l,u=s.getContext("2d",{willReadFrequently:!0}),c=u.createImageData(i,a);switch(c.data.set(o),u.putImageData(c,0,0),t){case"jpeg":l=s.toDataURL("image/jpeg");break;case"webp":l=s.toDataURL("image/webp");break;default:l=s.toDataURL("image/png")}return e.staticMode&&e.container.removeChild(n),l},k.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[M[t]];p.setConvert(e,this.fullLayout),e.setScale=f.noop}},k.make4thDimension=function(){var t=this,e=t.graphDiv._fullLayout;t._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},p.setConvert(t._mockAxis,e)},t.exports=T},90060:function(t){"use strict";t.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;aOpenStreetMap
contributors',a=['© Carto',i].join(" "),o=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under ODbL'].join(" "),s={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:i,tiles:["https://a.tile.openstreetmap.org/{z}/{x}/{y}.png","https://b.tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-positron":{id:"carto-positron",version:8,sources:{"plotly-carto-positron":{type:"raster",attribution:a,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-positron",type:"raster",source:"plotly-carto-positron",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-darkmatter":{id:"carto-darkmatter",version:8,sources:{"plotly-carto-darkmatter":{type:"raster",attribution:a,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-darkmatter",type:"raster",source:"plotly-carto-darkmatter",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-terrain":{id:"stamen-terrain",version:8,sources:{"plotly-stamen-terrain":{type:"raster",attribution:o,tiles:["https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-terrain",type:"raster",source:"plotly-stamen-terrain",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-toner":{id:"stamen-toner",version:8,sources:{"plotly-stamen-toner":{type:"raster",attribution:o,tiles:["https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-toner",type:"raster",source:"plotly-stamen-toner",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-watercolor":{id:"stamen-watercolor",version:8,sources:{"plotly-stamen-watercolor":{type:"raster",attribution:['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under CC BY SA'].join(" "),tiles:["https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-watercolor",type:"raster",source:"plotly-stamen-watercolor",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"}},l=n(s);t.exports={requiredVersion:"1.10.1",styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:s,styleValuesNonMapbox:l,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",wrongVersionErrorMsg:["Your custom plotly.js bundle is not using the correct mapbox-gl version","Please install mapbox-gl@1.10.1."].join("\n"),noAccessTokenErrorMsg:["Missing Mapbox access token.","Mapbox trace type require a Mapbox access token to be registered.","For example:"," Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });","More info here: https://www.mapbox.com/help/define-access-token/"].join("\n"),missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",l.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join("\n"),multipleTokensErrorMsg:["Set multiple mapbox access token across different mapbox subplot,","using first token found as mapbox-gl does not allow multipleaccess tokens on the same page."].join("\n"),mapOnErrorMsg:"Mapbox error.",mapboxLogo:{path0:"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z",path1:"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z",path2:"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z",polygon:"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34"},styleRules:{map:"overflow:hidden;position:relative;","missing-css":"display:none;",canary:"background-color:salmon;","ctrl-bottom-left":"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;","ctrl-bottom-right":"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;",ctrl:"clear: both; pointer-events: auto; transform: translate(0, 0);","ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner":"display: none;","ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner":"display: block; margin-top:2px","ctrl-attrib.mapboxgl-compact:hover":"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;","ctrl-attrib.mapboxgl-compact::after":'content: ""; cursor: pointer; position: absolute; background-image: url(\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',"ctrl-attrib.mapboxgl-compact":"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;","ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; right: 0","ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; left: 0","ctrl-bottom-left .mapboxgl-ctrl":"margin: 0 0 10px 10px; float: left;","ctrl-bottom-right .mapboxgl-ctrl":"margin: 0 10px 10px 0; float: right;","ctrl-attrib":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a:hover":"color: inherit; text-decoration: underline;","ctrl-attrib .mapbox-improve-map":"font-weight: bold; margin-left: 2px;","attrib-empty":"display: none;","ctrl-logo":'display:block; width: 21px; height: 21px; background-image: url(\'data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E\')'}}},13056:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){var r=t.split(" "),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,u=["",""],c=[0,0];switch(i){case"top":u[0]="top",c[1]=-l;break;case"bottom":u[0]="bottom",c[1]=l}switch(a){case"left":u[1]="right",c[0]=-s;break;case"right":u[1]="left",c[0]=s}return{anchor:u[0]&&u[1]?u.join("-"):u[0]?u[0]:u[1]?u[1]:"center",offset:c}}},50101:function(t,e,r){"use strict";var n=r(44517),i=r(71828),a=i.strTranslate,o=i.strScale,s=r(27659).AU,l=r(77922),u=r(39898),c=r(91424),f=r(63893),h=r(10481),p="mapbox",d=e.constants=r(77734);function v(t){return"string"==typeof t&&(-1!==d.styleValuesMapbox.indexOf(t)||0===t.indexOf("mapbox://"))}e.name=p,e.attr="subplot",e.idRoot=p,e.idRegex=e.attrRegex=i.counterRegex(p),e.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},e.layoutAttributes=r(23585),e.supplyLayoutDefaults=r(77882),e.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots.mapbox;if(n.version!==d.requiredVersion)throw new Error(d.wrongVersionErrorMsg);var o=function(t,e){var r=t._fullLayout;if(""===t._context.mapboxAccessToken)return"";for(var n=[],a=[],o=!1,s=!1,l=0;l1&&i.warn(d.multipleTokensErrorMsg),n[0]):(a.length&&i.log(["Listed mapbox access token(s)",a.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(t,a);n.accessToken=o;for(var l=0;l_/2){var w=y.split("|").join("
");x.text(w).attr("data-unformatted",w).call(f.convertToTspans,t),b=c.bBox(x.node())}x.attr("transform",a(-3,8-b.height)),m.insert("rect",".static-attribution").attr({x:-b.width-6,y:-b.height-3,width:b.width+6,height:b.height+3,fill:"rgba(255, 255, 255, 0.75)"});var T=1;b.width+6>_&&(T=_/(b.width+6));var k=[n.l+n.w*h.x[1],n.t+n.h*(1-h.y[0])];m.attr("transform",a(k[0],k[1])+o(T))}},e.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=0;n0){for(var r=0;r0}function c(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity,"line-dasharray":t.line.dash});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{"icon-image":i.icon+"-15","icon-size":i.iconsize/10,"text-field":i.text,"text-size":i.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":i.placement}),n.extendFlat(r,{"icon-color":t.color,"text-color":i.textfont.color,"text-opacity":t.opacity});break;case"raster":n.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=u(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapboxLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,u(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};return"geojson"===r?e="data":"vector"===r?e="string"==typeof n?"url":"tiles":"raster"===r?(e="tiles",a.tileSize=256):"image"===r&&(e="url",a.coordinates=t.coordinates),a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution)),a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapboxLayerId=function(t){if("traces"===t)for(var e=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&g(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf("event")>-1&&u.click(n,e.originalEvent)}}},b.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=function(t,r){r.isRect?(t.range={})[e.id]=[u([r.xmin,r.ymin]),u([r.xmax,r.ymax])]:(t.lassoPoints={})[e.id]=r.map(u)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),h(o)||f(o)?(r.dragPan.disable(),r.on("zoomstart",e.clearOutline),e.dragOptions.prepFn=function(t,r,n){p(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearOutline),e.div.onmousedown=null,e.div.ontouchstart=null,e.div.removeEventListener("touchstart",e.div._ontouchstart),e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function u(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},b.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])},b.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e=e.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=e._paper.attr("width")-7),r.attr(a);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),l=r.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(){_.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()?" - ":"")}},_.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit("plotly_beforeexport");var r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),i=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=_.graphJson(t,!1,"keepdata"),i.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1}};var k=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],A=["year","month","dayMonth","dayMonthYear"];function M(t,e){var r=t._context.locale;r||(r="en-US");var n=!1,i={};function a(t){for(var r=!0,a=0;a1&&D.length>1){for(s.getComponentMethod("grid","sizeDefaults")(u,l),o=0;o15&&D.length>15&&0===l.shapes.length&&0===l.images.length,_.linkSubplots(h,l,f,n),_.cleanPlot(h,l,f,n);var N=!(!n._has||!n._has("gl2d")),j=!(!l._has||!l._has("gl2d")),U=!(!n._has||!n._has("cartesian"))||N,V=!(!l._has||!l._has("cartesian"))||j;U&&!V?n._bgLayer.remove():V&&!U&&(l._shouldCreateBgLayer=!0),n._zoomlayer&&!t._dragging&&d({_fullLayout:n}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var i=0;i0){var f=1-2*s;n=Math.round(f*n),i=Math.round(f*i)}}var h=_.layoutAttributes.width.min,p=_.layoutAttributes.height.min;n1,v=!e.height&&Math.abs(r.height-i)>1;(v||d)&&(d&&(r.width=n),v&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),_.sanitizeMargins(r)},_.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,l=s.componentsRegistry,u=e._basePlotModules,f=s.subplotsRegistry.cartesian;for(i in l)(o=l[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var h in u.length||u.push(f),e._has("cartesian")&&(s.getComponentMethod("grid","contentDefaults")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(c.subplotSort);for(a=0;a1&&(r.l/=y,r.r/=y)}if(p){var m=(r.t+r.b)/p;m>1&&(r.t/=m,r.b/=m)}var x=void 0!==r.xl?r.xl:r.x,b=void 0!==r.xr?r.xr:r.x,w=void 0!==r.yt?r.yt:r.y,T=void 0!==r.yb?r.yb:r.y;d[e]={l:{val:x,size:r.l+g},r:{val:b,size:r.r+g},b:{val:T,size:r.b+g},t:{val:w,size:r.t+g}},v[e]=1}else delete d[e],delete v[e];if(!n._replotting)return _.doAutoMargin(t)}},_.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),O(e);var i=e._size,a=e.margin,l={t:0,b:0,l:0,r:0},u=c.extendFlat({},i),f=a.l,h=a.r,d=a.t,v=a.b,g=e._pushmargin,y=e._pushmarginIds,m=e.minreducedwidth,x=e.minreducedheight;if(!1!==a.autoexpand){for(var b in g)y[b]||delete g[b];var w=t._fullLayout._reservedMargin;for(var T in w)for(var k in w[T]){var A=w[T][k];l[k]=Math.max(l[k],A)}for(var M in g.base={l:{val:0,size:f},r:{val:1,size:h},t:{val:1,size:d},b:{val:0,size:v}},l){var S=0;for(var E in g)"base"!==E&&o(g[E][M].size)&&(S=g[E][M].size>S?g[E][M].size:S);var L=Math.max(0,a[M]-S);l[M]=Math.max(0,l[M]-L)}for(var C in g){var P=g[C].l||{},I=g[C].b||{},D=P.val,z=P.size,R=I.val,F=I.size,B=r-l.r-l.l,N=n-l.t-l.b;for(var j in g){if(o(z)&&g[j].r){var U=g[j].r.val,V=g[j].r.size;if(U>D){var H=(z*U+(V-B)*D)/(U-D),q=(V*(1-D)+(z-B)*(1-U))/(U-D);H+q>f+h&&(f=H,h=q)}}if(o(F)&&g[j].t){var G=g[j].t.val,Z=g[j].t.size;if(G>R){var W=(F*G+(Z-N)*R)/(G-R),Y=(Z*(1-R)+(F-N)*(1-G))/(G-R);W+Y>v+d&&(v=W,d=Y)}}}}}var X=c.constrain(r-a.l-a.r,2,m),J=c.constrain(n-a.t-a.b,2,x),K=Math.max(0,r-X),$=Math.max(0,n-J);if(K){var Q=(f+h)/K;Q>1&&(f/=Q,h/=Q)}if($){var tt=(v+d)/$;tt>1&&(v/=tt,d/=tt)}if(i.l=Math.round(f)+l.l,i.r=Math.round(h)+l.r,i.t=Math.round(d)+l.t,i.b=Math.round(v)+l.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!e._replotting&&(_.didMarginChange(u,i)||function(t){if("_redrawFromAutoMarginCount"in t._fullLayout)return!1;var e=p.list(t,"",!0);for(var r in e)if(e[r].autoshift||e[r].shift)return!0;return!1}(t))){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var et=3*(1+Object.keys(y).length);if(e._redrawFromAutoMarginCount0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return s.call("redraw",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit("plotly_transitioninterrupted",[])}));var a=0,o=0;function l(){return a++,function(){var e;o++,n||o!==a||(e=i,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return s.call("redraw",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])})).then(e)))}}r.runFn(l),setTimeout(l())}))}],a=c.syncOrAsync(i,t);return a&&a.then||(a=Promise.resolve()),a.then((function(){return t}))}_.didMarginChange=function(t,e){for(var r=0;r1)return!0}return!1},_.graphJson=function(t,e,r,n,i,a){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&_.supplyDefaults(t);var o=i?t._fullData:t.data,s=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames;function u(t,e){if("function"==typeof t)return e?"_function_":null;if(c.isPlainObject(t)){var n,i={};return Object.keys(t).sort().forEach((function(a){if(-1===["_","["].indexOf(a.charAt(0)))if("function"!=typeof t[a]){if("keepdata"===r){if("src"===a.substr(a.length-3))return}else if("keepstream"===r){if("string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0&&!c.isPlainObject(t.stream))return}else if("keepall"!==r&&"string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0)return;i[a]=u(t[a],e)}else e&&(i[a]="_function")})),i}return Array.isArray(t)?t.map((function(t){return u(t,e)})):c.isTypedArray(t)?c.simpleMap(t,c.identity):c.isJSDate(t)?c.ms2DateTimeLocal(+t):t}var f={data:(o||[]).map((function(t){var r=u(t);return e&&delete r.fit,r}))};if(!e&&(f.layout=u(s),i)){var h=s._size;f.layout.computed={margin:{b:h.b,l:h.l,r:h.r,t:h.t}}}return l&&(f.frames=u(l)),a&&(f.config=u(t._context,!0)),"object"===n?f:JSON.stringify(f)},_.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;a--)if(s[a].enabled){r._indexToPoints=s[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:h,y:h}]),o[0].t||(o[0].t={}),o[0].trace=r,d[e]=o}}for(z(o,u,f),i=0;i1e-10?t:0}function h(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a0?r:1/0})),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:u,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),u=(-o+l)/(2*a),c=(-o-l)/(2*a);return[[u,e*u+i+n],[c,e*c+i+n]]},clampTiny:f,pathPolygon:function(t,e,r,n,i,a){return"M"+h(c(t,e,r,n),i,a).join("L")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t=90||i>90&&a>=450?1:s<=0&&u<=0?0:Math.max(s,u),[i<=180&&a>=180||i>180&&a>=540?-1:o>=0&&l>=0?0:Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?-1:s>=0&&u>=0?0:Math.min(s,u),a>=360?1:o<=0&&l<=0?0:Math.max(o,l),e]}(d),_=b[2]-b[0],w=b[3]-b[1],T=p/h,k=Math.abs(w/_);T>k?(v=h,x=(p-(g=h*k))/i.h/2,y=[s[0],s[1]],m=[f[0]+x,f[1]-x]):(g=p,x=(h-(v=p/k))/i.w/2,y=[s[0]+x,s[1]-x],m=[f[0],f[1]]),r.xLength2=v,r.yLength2=g,r.xDomain2=y,r.yDomain2=m;var A,M=r.xOffset2=i.l+i.w*y[0],S=r.yOffset2=i.t+i.h*(1-m[1]),E=r.radius=v/_,L=r.innerRadius=r.getHole(e)*E,C=r.cx=M-E*b[0],O=r.cy=S+E*b[3],P=r.cxx=C-M,I=r.cyy=O-S,D=a.side;"counterclockwise"===D?(A=D,D="top"):"clockwise"===D&&(A=D,D="bottom"),r.radialAxis=r.mockAxis(t,e,a,{_id:"x",side:D,_trueSide:A,domain:[L/i.w,E/i.w]}),r.angularAxis=r.mockAxis(t,e,o,{side:"right",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(t,e),r.updateAngularAxis(t,e),r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.xaxis=r.mockCartesianAxis(t,e,{_id:"x",domain:y}),r.yaxis=r.mockCartesianAxis(t,e,{_id:"y",domain:m});var F=r.pathSubplot();r.clipPaths.forTraces.select("path").attr("d",F).attr("transform",l(P,I)),n.frontplot.attr("transform",l(M,S)).call(c.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr("d",F).attr("transform",l(C,O)).call(u.fill,e.bgcolor)},N.mockAxis=function(t,e,r,n){var i=o.extendFlat({},r,n);return d(i,e,t),i},N.mockCartesianAxis=function(t,e,r){var n=this,i=n.isSmith,a=r._id,s=o.extendFlat({type:"linear"},r);p(s,t);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var t=n.sectorBBox,r=l[a],i=n.radialAxis._rl,o=(i[1]-i[0])/(1-n.getHole(e));s.range=[t[r[0]]*o,t[r[1]]*o]},s.isPtWithinRange="x"!==a||i?function(){return!0}:function(t){return n.isPtInside(t)},s.setRange(),s.setScale(),s},N.doAutoRange=function(t,e){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(e);v(n,i);var o=i.range;a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,"gregorian"),i.r2l(o[1],null,"gregorian")]},N.updateRadialAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,c=r.innerRadius,f=r.cx,p=r.cy,d=r.getRadial(e),v=z(r.getSector(e)[0],360),g=r.radialAxis,y=c90&&v<=270&&(g.tickangle=180);var x=m?function(t){var e=I(r,C([t.x,0]));return l(e[0]-f,e[1]-p)}:function(t){return l(g.l2p(t.x)+c,0)},b=m?function(t){return P(r,t.x,-1/0,1/0)}:function(t){return r.pathArc(g.r2p(t.x)+c)},_=j(d);if(r.radialTickLayout!==_&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=_),y){g.setScale();var w=0,T=m?(g.tickvals||[]).filter((function(t){return t>=0})).map((function(t){return h.tickText(g,t,!0,!1)})):h.calcTicks(g),k=m?T:h.clipEnds(g,T),A=h.getTickSigns(g)[2];m&&(("top"===g.ticks&&"bottom"===g.side||"bottom"===g.ticks&&"top"===g.side)&&(A=-A),"top"===g.ticks&&"top"===g.side&&(w=-g.ticklen),"bottom"===g.ticks&&"bottom"===g.side&&(w=g.ticklen)),h.drawTicks(n,g,{vals:T,layer:i["radial-axis"],path:h.makeTickPath(g,0,A),transFn:x,crisp:!1}),h.drawGrid(n,g,{vals:k,layer:i["radial-grid"],path:b,transFn:o.noop,crisp:!1}),h.drawLabels(n,g,{vals:T,layer:i["radial-axis"],transFn:x,labelFns:h.makeLabelFns(g,w)})}var M=r.radialAxisAngle=r.vangles?F(U(R(d.angle),r.vangles)):d.angle,S=l(f,p),E=S+s(-M);V(i["radial-axis"],y&&(d.showticklabels||d.ticks),{transform:E}),V(i["radial-grid"],y&&d.showgrid,{transform:m?"":S}),V(i["radial-line"].select("line"),y&&d.showline,{x1:m?-a:c,y1:0,x2:a,y2:0,transform:E}).attr("stroke-width",d.linewidth).call(u.stroke,d.linecolor)},N.updateRadialAxisTitle=function(t,e,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(e),u=n.id+"title",f=0;if(l.title){var h=c.bBox(n.layers["radial-axis"].node()).height,p=l.title.font.size,d=l.side;f="top"===d?p:"counterclockwise"===d?-(h+.4*p):h+.8*p}var v=void 0!==r?r:n.radialAxisAngle,g=R(v),y=Math.cos(g),m=Math.sin(g),b=o+a/2*y+f*m,_=s-a/2*m+f*y;n.layers["radial-axis-title"]=x.draw(i,u,{propContainer:l,propName:n.id+".radialaxis.title",placeholder:D(i,"Click to enter radial axis title"),attributes:{x:b,y:_,"text-anchor":"middle"},transform:{rotate:-v}})}},N.updateAngularAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,c=r.innerRadius,f=r.cx,p=r.cy,d=r.getAngular(e),v=r.angularAxis,g=r.isSmith;g||(r.fillViewInitialKey("angularaxis.rotation",d.rotation),v.setGeometry(),v.setScale());var y=g?function(t){var e=I(r,C([0,t.x]));return Math.atan2(e[0]-f,e[1]-p)-Math.PI/2}:function(t){return v.t2g(t.x)};"linear"===v.type&&"radians"===v.thetaunit&&(v.tick0=F(v.tick0),v.dtick=F(v.dtick));var m=function(t){return l(f+a*Math.cos(t),p-a*Math.sin(t))},x=g?function(t){var e=I(r,C([0,t.x]));return l(e[0],e[1])}:function(t){return m(y(t))},b=g?function(t){var e=I(r,C([0,t.x])),n=Math.atan2(e[0]-f,e[1]-p)-Math.PI/2;return l(e[0],e[1])+s(-F(n))}:function(t){var e=y(t);return m(e)+s(-F(e))},_=g?function(t){return O(r,t.x,0,1/0)}:function(t){var e=y(t),r=Math.cos(e),n=Math.sin(e);return"M"+[f+c*r,p-c*n]+"L"+[f+a*r,p-a*n]},w=h.makeLabelFns(v,0).labelStandoff,T={xFn:function(t){var e=y(t);return Math.cos(e)*w},yFn:function(t){var e=y(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(w+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*M)},anchorFn:function(t){var e=y(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(t,e,r){var n=y(t);return-.5*(1+Math.sin(n))*r}},k=j(d);r.angularTickLayout!==k&&(i["angular-axis"].selectAll("."+v._id+"tick").remove(),r.angularTickLayout=k);var A,S=g?[1/0].concat(v.tickvals||[]).map((function(t){return h.tickText(v,t,!0,!1)})):h.calcTicks(v);if(g&&(S[0].text="∞",S[0].fontSize*=1.75),"linear"===e.gridshape?(A=S.map(y),o.angleDelta(A[0],A[1])<0&&(A=A.slice().reverse())):A=null,r.vangles=A,"category"===v.type&&(S=S.filter((function(t){return o.isAngleInsideSector(y(t),r.sectorInRad)}))),v.visible){var E="inside"===v.ticks?-1:1,L=(v.linewidth||1)/2;h.drawTicks(n,v,{vals:S,layer:i["angular-axis"],path:"M"+E*L+",0h"+E*v.ticklen,transFn:b,crisp:!1}),h.drawGrid(n,v,{vals:S,layer:i["angular-grid"],path:_,transFn:o.noop,crisp:!1}),h.drawLabels(n,v,{vals:S,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:x,labelFns:T})}V(i["angular-line"].select("path"),d.showline,{d:r.pathSubplot(),transform:l(f,p)}).attr("stroke-width",d.linewidth).call(u.stroke,d.linecolor)},N.updateFx=function(t,e){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1)),this.updateHoverAndMainDrag(t))},N.updateHoverAndMainDrag=function(t){var e,r,s=this,u=s.isSmith,c=s.gd,f=s.layers,h=t._zoomlayer,p=S.MINZOOM,d=S.OFFEDGE,v=s.radius,x=s.innerRadius,T=s.cx,k=s.cy,A=s.cxx,M=s.cyy,L=s.sectorInRad,C=s.vangles,O=s.radialAxis,P=E.clampTiny,I=E.findXYatLength,D=E.findEnclosingVertexAngles,z=S.cornerHalfWidth,R=S.cornerLen/2,F=g.makeDragger(f,"path","maindrag",!1===t.dragmode?"none":"crosshair");n.select(F).attr("d",s.pathSubplot()).attr("transform",l(T,k)),F.onmousemove=function(t){m.hover(c,t,s.id),c._fullLayout._lasthover=F,c._fullLayout._hoversubplot=s.id},F.onmouseout=function(t){c._dragging||y.unhover(c,t)};var B,N,j,U,V,H,q,G,Z,W={element:F,gd:c,subplot:s.id,plotinfo:{id:s.id,xaxis:s.xaxis,yaxis:s.yaxis},xaxes:[s.xaxis],yaxes:[s.yaxis]};function Y(t,e){return Math.sqrt(t*t+e*e)}function X(t,e){return Y(t-A,e-M)}function J(t,e){return Math.atan2(M-e,t-A)}function K(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function $(t,e){if(0===t)return s.pathSector(2*z);var r=R/t,n=e-r,i=e+r,a=Math.max(0,Math.min(t,v)),o=a-z,l=a+z;return"M"+K(o,n)+"A"+[o,o]+" 0,0,0 "+K(o,i)+"L"+K(l,i)+"A"+[l,l]+" 0,0,1 "+K(l,n)+"Z"}function Q(t,e,r){if(0===t)return s.pathSector(2*z);var n,i,a=K(t,e),o=K(t,r),l=P((a[0]+o[0])/2),u=P((a[1]+o[1])/2);if(l&&u){var c=u/l,f=-1/c,h=I(z,c,l,u);n=I(R,f,h[0][0],h[0][1]),i=I(R,f,h[1][0],h[1][1])}else{var p,d;u?(p=R,d=z):(p=z,d=R),n=[[l-p,u-d],[l+p,u-d]],i=[[l-p,u+d],[l+p,u+d]]}return"M"+n.join("L")+"L"+i.reverse().join("L")+"Z"}function tt(t,e){return e=Math.max(Math.min(e,v),x),tp?(t-1&&1===t&&_(e,c,[s.xaxis],[s.yaxis],s.id,W),r.indexOf("event")>-1&&m.click(c,e,s.id)}W.prepFn=function(t,n,a){var l=c._fullLayout.dragmode,f=F.getBoundingClientRect();c._fullLayout._calcInverseTransform(c);var p=c._fullLayout._invTransform;e=c._fullLayout._invScaleX,r=c._fullLayout._invScaleY;var d=o.apply3DTransform(p)(n-f.left,a-f.top);if(B=d[0],N=d[1],C){var y=E.findPolygonOffset(v,L[0],L[1],C);B+=A+y[0],N+=M+y[1]}switch(l){case"zoom":W.clickFn=st,u||(W.moveFn=C?it:rt,W.doneFn=at,function(){j=null,U=null,V=s.pathSubplot(),H=!1;var t=c._fullLayout[s.id];q=i(t.bgcolor).getLuminance(),(G=g.makeZoombox(h,q,T,k,V)).attr("fill-rule","evenodd"),Z=g.makeCorners(h,T,k),w(c)}());break;case"select":case"lasso":b(t,n,a,W,l)}},y.init(W)},N.updateRadialDrag=function(t,e,r){var i=this,u=i.gd,c=i.layers,f=i.radius,h=i.innerRadius,p=i.cx,d=i.cy,v=i.radialAxis,m=S.radialDragBoxSize,x=m/2;if(v.visible){var b,_,T,M=R(i.radialAxisAngle),E=v._rl,L=E[0],C=E[1],O=E[r],P=.75*(E[1]-E[0])/(1-i.getHole(e))/f;r?(b=p+(f+x)*Math.cos(M),_=d-(f+x)*Math.sin(M),T="radialdrag"):(b=p+(h-x)*Math.cos(M),_=d-(h-x)*Math.sin(M),T="radialdrag-inner");var I,D,z,B=g.makeRectDragger(c,T,"crosshair",-x,-x,m,m),N={element:B,gd:u};!1===t.dragmode&&(N.dragmode=!1),V(n.select(B),v.visible&&h0==(r?z>L:zn?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case"angularaxis":!function(t,e){var r=t.type;if("linear"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return"degrees"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return"degrees"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,i){var a,o,s=e[i],l=e._length,u=function(r){return t.d2c(r,e.thetaunit)};if(s){if(n.isTypedArray(s)&&"linear"===r){if(l===s.length)return s;if(s.subarray)return s.subarray(0,l)}for(a=new Array(l),o=0;o0?1:0}function r(t){var e=t[0],r=t[1];if(!isFinite(e)||!isFinite(r))return[1,0];var n=(e+1)*(e+1)+r*r;return[(e*e+r*r-1)/n,2*r/n]}function n(t,e){var r=e[0],n=e[1];return[r*t.radius+t.cx,-n*t.radius+t.cy]}function i(t,e){return e*t.radius}t.exports={smith:r,reactanceArc:function(t,e,a,o){var s=n(t,r([a,e])),l=s[0],u=s[1],c=n(t,r([o,e])),f=c[0],h=c[1];if(0===e)return["M"+l+","+u,"L"+f+","+h].join(" ");var p=i(t,1/Math.abs(e));return["M"+l+","+u,"A"+p+","+p+" 0 0,"+(e<0?1:0)+" "+f+","+h].join(" ")},resistanceArc:function(t,a,o,s){var l=i(t,1/(a+1)),u=n(t,r([a,o])),c=u[0],f=u[1],h=n(t,r([a,s])),p=h[0],d=h[1];if(e(o)!==e(s)){var v=n(t,r([a,0]));return["M"+c+","+f,"A"+l+","+l+" 0 0,"+(00){for(var n=[],i=0;i=c&&(h.min=0,d.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function v(t,e,r,n){var i=h[e._name];function o(r,n){return a.coerce(t,e,i,r,n)}o("uirevision",n.uirevision),e.type="linear";var p=o("color"),d=p!==i.color.dflt?p:r.font.color,v=e._name.charAt(0).toUpperCase(),g="Component "+v,y=o("title.text",g);e._hovertitle=y===g?y:v,a.coerceFont(o,"title.font",{family:r.font.family,size:a.bigFont(r.font.size),color:d}),o("min"),c(t,e,o,"linear"),l(t,e,o,"linear"),s(t,e,o,"linear"),u(t,e,o,{outerTicks:!0}),o("showticklabels")&&(a.coerceFont(o,"tickfont",{family:r.font.family,size:r.font.size,color:d}),o("tickangle"),o("tickformat")),f(t,e,o,{dfltColor:p,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),o("hoverformat"),o("layer")}t.exports=function(t,e,r){o(t,e,r,{type:"ternary",attributes:h,handleDefaults:d,font:e.font,paper_bgcolor:e.paper_bgcolor})}},64380:function(t,e,r){"use strict";var n=r(39898),i=r(84267),a=r(73972),o=r(71828),s=o.strTranslate,l=o._,u=r(7901),c=r(91424),f=r(21994),h=r(1426).extendFlat,p=r(74875),d=r(89298),v=r(28569),g=r(30211),y=r(64505),m=y.freeMode,x=y.rectMode,b=r(92998),_=r(47322).prepSelect,w=r(47322).selectOnClick,T=r(47322).clearOutline,k=r(47322).clearSelectionsCache,A=r(85555);function M(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}t.exports=M;var S=M.prototype;S.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},S.plot=function(t,e){var r=this,n=e[r.id],i=e._size;r._hasClipOnAxisFalse=!1;for(var a=0;aE*b?i=(a=b)*E:a=(i=x)/E,o=y*i/x,l=m*a/b,r=e.l+e.w*v-i/2,n=e.t+e.h*(1-g)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=_,p.xaxis={type:"linear",range:[w+2*k-_,_-w-2*T],domain:[v-o/2,v+o/2],_id:"x"},f(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(t){return t.a>=p.aaxis.range[0]&&t.a<=p.aaxis.range[1]&&t.b>=p.baxis.range[1]&&t.b<=p.baxis.range[0]&&t.c>=p.caxis.range[1]&&t.c<=p.caxis.range[0]},p.yaxis={type:"linear",range:[w,_-T-k],domain:[g-l/2,g+l/2],_id:"y"},f(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var A=p.yaxis.domain[0],M=p.aaxis=h({},t.aaxis,{range:[w,_-T-k],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});f(M,p.graphDiv._fullLayout),M.setScale();var S=p.baxis=h({},t.baxis,{range:[_-w-k,T],side:"bottom",domain:p.xaxis.domain,anchor:"free",position:0,_id:"x",_length:i});f(S,p.graphDiv._fullLayout),S.setScale();var L=p.caxis=h({},t.caxis,{range:[_-w-T,k],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});f(L,p.graphDiv._fullLayout),L.setScale();var C="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDef.select("path").attr("d",C),p.layers.plotbg.select("path").attr("d",C);var O="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDefRelative.select("path").attr("d",O);var P=s(r,n);p.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),p.clipDefRelative.select("path").attr("transform",null);var I=s(r-S._offset,n+a);p.layers.baxis.attr("transform",I),p.layers.bgrid.attr("transform",I);var D=s(r+i/2,n)+"rotate(30)"+s(0,-M._offset);p.layers.aaxis.attr("transform",D),p.layers.agrid.attr("transform",D);var z=s(r+i/2,n)+"rotate(-30)"+s(0,-L._offset);p.layers.caxis.attr("transform",z),p.layers.cgrid.attr("transform",z),p.drawAxes(!0),p.layers.aline.select("path").attr("d",M.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(u.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),p.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(u.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),p.layers.cline.select("path").attr("d",L.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(u.stroke,L.linecolor||"#000").style("stroke-width",(L.linewidth||0)+"px"),p.graphDiv._context.staticPlot||p.initInteractions(),c.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(t){var e=this,r=e.graphDiv,n=e.id.substr(7)+"title",i=e.layers,a=e.aaxis,o=e.baxis,s=e.caxis;if(e.drawAx(a),e.drawAx(o),e.drawAx(s),t){var u=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?.75*s.tickfont.size:0)+("outside"===s.ticks?.87*s.ticklen:0)),c=(o.showticklabels?o.tickfont.size:0)+("outside"===o.ticks?o.ticklen:0)+3;i["a-title"]=b.draw(r,"a"+n,{propContainer:a,propName:e.id+".aaxis.title",placeholder:l(r,"Click to enter Component A title"),attributes:{x:e.x0+e.w/2,y:e.y0-a.title.font.size/3-u,"text-anchor":"middle"}}),i["b-title"]=b.draw(r,"b"+n,{propContainer:o,propName:e.id+".baxis.title",placeholder:l(r,"Click to enter Component B title"),attributes:{x:e.x0-c,y:e.y0+e.h+.83*o.title.font.size+c,"text-anchor":"middle"}}),i["c-title"]=b.draw(r,"c"+n,{propContainer:s,propName:e.id+".caxis.title",placeholder:l(r,"Click to enter Component C title"),attributes:{x:e.x0+e.w+c,y:e.y0+e.h+.83*s.title.font.size+c,"text-anchor":"middle"}})}},S.drawAx=function(t){var e,r=this,n=r.graphDiv,i=t._name,a=i.charAt(0),s=t._id,l=r.layers[i],u=a+"tickLayout",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);r[u]!==c&&(l.selectAll("."+s+"tick").remove(),r[u]=c),t.setScale();var f=d.calcTicks(t),h=d.clipEnds(t,f),p=d.makeTransTickFn(t),v=d.getTickSigns(t)[2],g=o.deg2rad(30),y=v*(t.linewidth||1)/2,m=v*t.ticklen,x=r.w,b=r.h,_="b"===a?"M0,"+y+"l"+Math.sin(g)*m+","+Math.cos(g)*m:"M"+y+",0l"+Math.cos(g)*m+","+-Math.sin(g)*m,w={a:"M0,0l"+b+",-"+x/2,b:"M0,0l-"+x/2+",-"+b,c:"M0,0l-"+b+","+x/2}[a];d.drawTicks(n,t,{vals:"inside"===t.ticks?h:f,layer:l,path:_,transFn:p,crisp:!1}),d.drawGrid(n,t,{vals:h,layer:r.layers[a+"grid"],path:w,transFn:p,crisp:!1}),d.drawLabels(n,t,{vals:f,layer:l,transFn:p,labelFns:d.makeLabelFns(t,0,30)})};var L=A.MINZOOM/2+.87,C="m-0.87,.5h"+L+"v3h-"+(L+5.2)+"l"+(L/2+2.6)+",-"+(.87*L+4.5)+"l2.6,1.5l-"+L/2+","+.87*L+"Z",O="m0.87,.5h-"+L+"v3h"+(L+5.2)+"l-"+(L/2+2.6)+",-"+(.87*L+4.5)+"l-2.6,1.5l"+L/2+","+.87*L+"Z",P="m0,1l"+L/2+","+.87*L+"l2.6,-1.5l-"+(L/2+2.6)+",-"+(.87*L+4.5)+"l-"+(L/2+2.6)+","+(.87*L+4.5)+"l2.6,1.5l"+L/2+",-"+.87*L+"Z",I=!0;function D(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}S.clearOutline=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var t,e,r,n,f,h,p,d,y,b,T,k,M=this,S=M.layers.plotbg.select("path").node(),L=M.graphDiv,z=L._fullLayout._zoomlayer;function R(t){var e={};return e[M.id+".aaxis.min"]=t.a,e[M.id+".baxis.min"]=t.b,e[M.id+".caxis.min"]=t.c,e}function F(t,e){var r=L._fullLayout.clickmode;D(L),2===t&&(L.emit("plotly_doubleclick",null),a.call("_guiRelayout",L,R({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&w(e,L,[M.xaxis],[M.yaxis],M.id,M.dragOptions),r.indexOf("event")>-1&&g.click(L,e,M.id)}function B(t,e){return 1-e/M.h}function N(t,e){return 1-(t+(M.h-e)/Math.sqrt(3))/M.w}function j(t,e){return(t-(M.h-e)/Math.sqrt(3))/M.w}function U(i,a){var o=r+i*t,s=n+a*e,l=Math.max(0,Math.min(1,B(0,n),B(0,s))),u=Math.max(0,Math.min(1,N(r,n),N(o,s))),c=Math.max(0,Math.min(1,j(r,n),j(o,s))),v=(l/2+c)*M.w,g=(1-l/2-u)*M.w,m=(v+g)/2,x=g-v,_=(1-l)*M.h,w=_-x/E;x.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),k.transition().style("opacity",1).duration(200),b=!0),L.emit("plotly_relayouting",R(p))}function V(){D(L),p!==f&&(a.call("_guiRelayout",L,R(p)),I&&L.data&&L._context.showTips&&(o.notifier(l(L,"Double-click to zoom back out"),"long"),I=!1))}function H(t,e){var r=t/M.xaxis._m,n=e/M.yaxis._m,i=[(p={a:f.a-n,b:f.b+(r+n)/2,c:f.c-(r-n)/2}).a,p.b,p.c].sort(o.sorterAsc),a=i.indexOf(p.a),l=i.indexOf(p.b),u=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[a],b:i[l],c:i[u]},e=(f.a-p.a)*M.yaxis._m,t=(f.c-p.c-f.b+p.b)*M.xaxis._m);var h=s(M.x0+t,M.y0+e);M.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",h);var d=s(-t,-e);M.clipDefRelative.select("path").attr("transform",d),M.aaxis.range=[p.a,M.sum-p.b-p.c],M.baxis.range=[M.sum-p.a-p.c,p.b],M.caxis.range=[M.sum-p.a-p.b,p.c],M.drawAxes(!1),M._hasClipOnAxisFalse&&M.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,M),L.emit("plotly_relayouting",R(p))}function q(){a.call("_guiRelayout",L,R(p))}this.dragOptions={element:S,gd:L,plotinfo:{id:M.id,domain:L._fullLayout[M.id].domain,xaxis:M.xaxis,yaxis:M.yaxis},subplot:M.id,prepFn:function(a,l,c){M.dragOptions.xaxes=[M.xaxis],M.dragOptions.yaxes=[M.yaxis],t=L._fullLayout._invScaleX,e=L._fullLayout._invScaleY;var v=M.dragOptions.dragmode=L._fullLayout.dragmode;m(v)?M.dragOptions.minDrag=1:M.dragOptions.minDrag=void 0,"zoom"===v?(M.dragOptions.moveFn=U,M.dragOptions.clickFn=F,M.dragOptions.doneFn=V,function(t,e,a){var l=S.getBoundingClientRect();r=e-l.left,n=a-l.top,L._fullLayout._calcInverseTransform(L);var c=L._fullLayout._invTransform,v=o.apply3DTransform(c)(r,n);r=v[0],n=v[1],f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,h=M.aaxis.range[1]-f.a,d=i(M.graphDiv._fullLayout[M.id].bgcolor).getLuminance(),y="M0,"+M.h+"L"+M.w/2+", 0L"+M.w+","+M.h+"Z",b=!1,T=z.append("path").attr("class","zoombox").attr("transform",s(M.x0,M.y0)).style({fill:d>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",y),k=z.append("path").attr("class","zoombox-corners").attr("transform",s(M.x0,M.y0)).style({fill:u.background,stroke:u.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),M.clearOutline(L)}(0,l,c)):"pan"===v?(M.dragOptions.moveFn=H,M.dragOptions.clickFn=F,M.dragOptions.doneFn=q,f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,M.clearOutline(L)):(x(v)||m(v))&&_(a,l,c,M.dragOptions,v)}},S.onmousemove=function(t){g.hover(L,t,M.id),L._fullLayout._lasthover=S,L._fullLayout._hoversubplot=M.id},S.onmouseout=function(t){L._dragging||v.unhover(L,t)},v.init(this.dragOptions)}},73972:function(t,e,r){"use strict";var n=r(47769),i=r(64213),a=r(75138),o=r(41965),s=r(24401).addStyleRule,l=r(1426),u=r(9012),c=r(10820),f=l.extendFlat,h=l.extendDeepAll;function p(t){var r=t.name,i=t.categories,a=t.meta;if(e.modules[r])n.log("Type "+r+" already registered");else{e.subplotsRegistry[t.basePlotModule.name]||function(t){var r=t.name;if(e.subplotsRegistry[r])n.log("Plot type "+r+" already registered.");else for(var i in y(t),e.subplotsRegistry[r]=t,e.componentsRegistry)b(i,t.name)}(t.basePlotModule);for(var o={},l=0;l-1&&(f[p[r]].title={text:""});for(r=0;r")?"":e.html(t).text()}));return e.remove(),r}(w)).replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(c,"'"),i.isIE()&&(w=(w=(w=w.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),w}},75341:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){for(var r=0;rf+u||!n(c))}for(var p=0;pa))return e}return void 0!==r?r:t.dflt},e.coerceColor=function(t,e,r){return i(e).isValid()?e:void 0!==r?r:t.dflt},e.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},e.getValue=function(t,e){var r;return Array.isArray(t)?e0?e+=r:c<0&&(e-=r)}return e}function D(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,_+(i-e)/(i-r)-1)}var z=t[f+"a"],R=t[h+"a"];v=Math.abs(z.r2c(z.range[1])-z.r2c(z.range[0]));var F=n.getDistanceFunction(i,p,d,(function(t){return(p(t)+d(t))/2}));if(n.getClosest(g,F,t),!1!==t.index&&g[t.index].p!==u){k||(L=function(t){return Math.min(A(t),t.p-m.bargroupwidth/2)},C=function(t){return Math.max(M(t),t.p+m.bargroupwidth/2)});var B=g[t.index],N=y.base?B.b+B.s:B.s;t[h+"0"]=t[h+"1"]=R.c2p(B[h],!0),t[h+"LabelVal"]=N;var j=m.extents[m.extents.round(B.p)];t[f+"0"]=z.c2p(x?L(B):j[0],!0),t[f+"1"]=z.c2p(x?C(B):j[1],!0);var U=void 0!==B.orig_p;return t[f+"LabelVal"]=U?B.orig_p:B.p,t.labelLabel=l(z,t[f+"LabelVal"],y[f+"hoverformat"]),t.valueLabel=l(R,t[h+"LabelVal"],y[h+"hoverformat"]),t.baseLabel=l(R,B.b,y[h+"hoverformat"]),t.spikeDistance=(function(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,w+(i-e)/(i-r)-1)}(B)+function(t){return O(A(t),M(t),w)}(B))/2,t[f+"Spike"]=z.c2p(B.p,!0),o(B,y,t),t.hovertemplate=y.hovertemplate,t}}function f(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=s(t,e);return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}t.exports={hoverPoints:function(t,e,r,n,a){var o=c(t,e,r,n,a);if(o){var s=o.cd,l=s[0].trace,u=s[o.index];return o.color=f(l,u),i.getComponentMethod("errorbars","hoverInfo")(u,l,o),[o]}},hoverOnBars:c,getTraceColor:f}},60822:function(t,e,r){"use strict";t.exports={attributes:r(1486),layoutAttributes:r(43641),supplyDefaults:r(90769).supplyDefaults,crossTraceDefaults:r(90769).crossTraceDefaults,supplyLayoutDefaults:r(13957),calc:r(92290),crossTraceCalc:r(11661).crossTraceCalc,colorbar:r(4898),arraysToCalcdata:r(75341),plot:r(17295).plot,style:r(16688).style,styleOnSelect:r(16688).styleOnSelect,hoverPoints:r(95423).hoverPoints,eventData:r(58065),selectPoints:r(81974),moduleType:"trace",name:"bar",basePlotModule:r(93612),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}},43641:function(t){"use strict";t.exports={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"}}},13957:function(t,e,r){"use strict";var n=r(73972),i=r(89298),a=r(71828),o=r(43641);t.exports=function(t,e,r){function s(r,n){return a.coerce(t,e,o,r,n)}for(var l=!1,u=!1,c=!1,f={},h=s("barmode"),p=0;p0}function S(t){return"auto"===t?0:t}function E(t,e){var r=Math.PI/180*e,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:t.width*i+t.height*n,y:t.width*n+t.height*i}}function L(t,e,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor||"end",c="end"===u,f="start"===u,h=((a.leftToRight||0)+1)/2,p=1-h,d=i.width,v=i.height,g=Math.abs(e-t),y=Math.abs(n-r),m=g>2*_&&y>2*_?_:0;g-=2*m,y-=2*m;var x=S(l);"auto"!==l||d<=g&&v<=y||!(d>g||v>y)||(d>y||v>g)&&d.01?G:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?G(t):t>e?Math.ceil(t):Math.floor(t)};N=Z(N,j,R),j=Z(j,N,R),U=Z(U,V,!R),V=Z(V,U,!R)}var W=A(a.ensureSingle(I,"path"),O,g,y);if(W.style("vector-effect",P?"none":"non-scaling-stroke").attr("d",isNaN((j-N)*(V-U))||H&&t._context.staticPlot?"M0,0Z":"M"+N+","+U+"V"+V+"H"+j+"V"+U+"Z").call(l.setClipUrl,e.layerClipId,t),!O.uniformtext.mode&&F){var Y=l.makePointStyleFns(f);l.singlePointStyle(u,W,f,Y,t)}!function(t,e,r,n,i,s,u,f,p,g,y){var w,T=e.xaxis,M=e.yaxis,C=t._fullLayout;function O(e,r,n){return a.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+w,"text-anchor":"middle","data-notex":1}).call(l.font,n).call(o.convertToTspans,t)}var P=n[0].trace,I="h"===P.orientation,D=function(t,e,r,n,i){var o,s=e[0].trace;return o=s.texttemplate?function(t,e,r,n,i){var o=e[0].trace,s=a.castOption(o,r,"texttemplate");if(!s)return"";var l,u,f,h,p="histogram"===o.type,d="waterfall"===o.type,v="funnel"===o.type,g="h"===o.orientation;function y(t){return c(h,h.c2l(t),!0).text}g?(l="y",u=i,f="x",h=n):(l="x",u=n,f="y",h=i);var m,x=e[r],_={};_.label=x.p,_.labelLabel=_[l+"Label"]=(m=x.p,c(u,u.c2l(m),!0).text);var w=a.castOption(o,x.i,"text");(0===w||w)&&(_.text=w),_.value=x.s,_.valueLabel=_[f+"Label"]=y(x.s);var T={};b(T,o,x.i),(p||void 0===T.x)&&(T.x=g?_.value:_.label),(p||void 0===T.y)&&(T.y=g?_.label:_.value),(p||void 0===T.xLabel)&&(T.xLabel=g?_.valueLabel:_.labelLabel),(p||void 0===T.yLabel)&&(T.yLabel=g?_.labelLabel:_.valueLabel),d&&(_.delta=+x.rawS||x.s,_.deltaLabel=y(_.delta),_.final=x.v,_.finalLabel=y(_.final),_.initial=_.final-_.delta,_.initialLabel=y(_.initial)),v&&(_.value=x.s,_.valueLabel=y(_.value),_.percentInitial=x.begR,_.percentInitialLabel=a.formatPercent(x.begR),_.percentPrevious=x.difR,_.percentPreviousLabel=a.formatPercent(x.difR),_.percentTotal=x.sumR,_.percenTotalLabel=a.formatPercent(x.sumR));var k=a.castOption(o,x.i,"customdata");return k&&(_.customdata=k),a.texttemplateString(s,_,t._d3locale,T,_,o._meta||{})}(t,e,r,n,i):s.textinfo?function(t,e,r,n){var i=t[0].trace,o="h"===i.orientation,s="waterfall"===i.type,l="funnel"===i.type;function u(t){return c(o?r:n,+t,!0).text}var f,h,p=i.textinfo,d=t[e],v=p.split("+"),g=[],y=function(t){return-1!==v.indexOf(t)};if(y("label")&&g.push((h=t[e].p,c(o?n:r,h,!0).text)),y("text")&&(0===(f=a.castOption(i,d.i,"text"))||f)&&g.push(f),s){var m=+d.rawS||d.s,x=d.v,b=x-m;y("initial")&&g.push(u(b)),y("delta")&&g.push(u(m)),y("final")&&g.push(u(x))}if(l){y("value")&&g.push(u(d.s));var _=0;y("percent initial")&&_++,y("percent previous")&&_++,y("percent total")&&_++;var w=_>1;y("percent initial")&&(f=a.formatPercent(d.begR),w&&(f+=" of initial"),g.push(f)),y("percent previous")&&(f=a.formatPercent(d.difR),w&&(f+=" of previous"),g.push(f)),y("percent total")&&(f=a.formatPercent(d.sumR),w&&(f+=" of total"),g.push(f))}return g.join("
")}(e,r,n,i):v.getValue(s.text,r),v.coerceString(m,o)}(C,n,i,T,M);w=function(t,e){var r=v.getValue(t.textposition,e);return v.coerceEnumerated(x,r)}(P,i);var z="stack"===g.mode||"relative"===g.mode,R=n[i],F=!z||R._outmost;if(D&&"none"!==w&&(!R.isBlank&&s!==u&&f!==p||"auto"!==w&&"inside"!==w)){var B=C.font,N=d.getBarColor(n[i],P),j=d.getInsideTextFont(P,i,B,N),U=d.getOutsideTextFont(P,i,B),V=r.datum();I?"log"===T.type&&V.s0<=0&&(s=T.range[0]0&&Z>0&&(G<=Y&&Z<=X||G<=X&&Z<=Y||(I?Y>=G*(X/Z):X>=Z*(Y/G)))?w="inside":(w="outside",H.remove(),H=null)):w="inside"),!H){var J=(H=O(r,D,W=a.ensureUniformFontSize(t,"outside"===w?U:j))).attr("transform");if(H.attr("transform",""),G=(q=l.bBox(H.node())).width,Z=q.height,H.attr("transform",J),G<=0||Z<=0)return void H.remove()}var K,$=P.textangle;K="outside"===w?function(t,e,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,u=a.angle||0,c=i.width,f=i.height,h=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*_?_:0:h>2*_?_:0;var d=1;l&&(d=s?Math.min(1,p/f):Math.min(1,h/c));var v=S(u),g=E(i,v),y=(s?g.x:g.y)/2,m=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=(t+e)/2,w=(r+n)/2,T=0,A=0,M=s?k(e,t):k(r,n);return s?(b=e-M*o,T=M*y):(w=n+M*o,A=-M*y),{textX:m,textY:x,targetX:b,targetY:w,anchorX:T,anchorY:A,scale:d,rotate:v}}(s,u,f,p,q,{isHorizontal:I,constrained:"both"===P.constraintext||"outside"===P.constraintext,angle:$}):L(s,u,f,p,q,{isHorizontal:I,constrained:"both"===P.constraintext||"inside"===P.constraintext,angle:$,anchor:P.insidetextanchor}),K.fontSize=W.size,h("histogram"===P.type?"bar":P.type,K,C),R.transform=K;var Q=A(H,C,g,y);a.setTransormAndDisplay(Q,K)}else r.select("text").remove()}(t,e,I,r,p,N,j,U,V,g,y),e.layerClipId&&l.hideOutsideRangePoint(u,I.select("text"),w,C,f.xcalendar,f.ycalendar)}));var U=!1===f.cliponaxis;l.setClipUrl(u,U?null:e.layerClipId,t)}));u.getComponentMethod("errorbars","plot")(t,I,e,g)},toMoveInsideBar:L}},81974:function(t){"use strict";function e(t,e,r,n,i){var a=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}t.exports=function(t,r){var n,i=t.cd,a=t.xaxis,o=t.yaxis,s=i[0].trace,l="funnel"===s.type,u="h"===s.orientation,c=[];if(!1===r)for(n=0;n1||0===i.bargap&&0===i.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")})),e.selectAll("g.points").each((function(e){d(n.select(this),e[0].trace,t)})),s.getComponentMethod("errorbars","style")(e)},styleTextPoints:v,styleOnSelect:function(t,e,r){var i=e[0].trace;i.selectedpoints?function(t,e,r){a.selectedPointStyle(t.selectAll("path"),e),function(t,e,r){t.each((function(t){var i,s=n.select(this);if(t.selected){i=o.ensureUniformFontSize(r,g(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(i.color=l),a.font(s,i)}else a.selectedTextStyle(s,e)}))}(t.selectAll("text"),e,r)}(r,i,t):(d(r,i,t),s.getComponentMethod("errorbars","style")(r))},getInsideTextFont:m,getOutsideTextFont:x,getBarColor:_,resizeText:l}},98340:function(t,e,r){"use strict";var n=r(7901),i=r(52075).hasColorscale,a=r(1586),o=r(71828).coercePattern;t.exports=function(t,e,r,s,l){var u=r("marker.color",s),c=i(t,"marker");c&&a(t,e,l,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),i(t,"marker.line")&&a(t,e,l,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),o(r,"marker.pattern",u,c),r("selected.marker.color"),r("unselected.marker.color")}},72597:function(t,e,r){"use strict";var n=r(39898),i=r(71828);function a(t){return"_"+t+"Text_minsize"}t.exports={recordMinTextSize:function(t,e,r){if(r.uniformtext.mode){var n=a(t),i=r.uniformtext.minsize,o=e.scale*e.fontSize;e.hide=oh.range[1]&&(x+=Math.PI),n.getClosest(u,(function(t){return v(m,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?g+Math.min(1,Math.abs(t.thetag1-t.thetag0)/y)-1+(t.rp1-m)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var b=u[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=i.extendFlat({},b,{r:b.s,theta:b.p});return o(b,c,t),s(_,c,f,t),t.hovertemplate=c.hovertemplate,t.color=a(c,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign="left"),[t]}}},23381:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"barpolar",basePlotModule:r(23580),categories:["polar","bar","showLegend"],attributes:r(55023),layoutAttributes:r(40151),supplyDefaults:r(6135),supplyLayoutDefaults:r(19860),calc:r(74692).calc,crossTraceCalc:r(74692).crossTraceCalc,plot:r(60173),colorbar:r(4898),formatLabels:r(98608),style:r(16688).style,styleOnSelect:r(16688).styleOnSelect,hoverPoints:r(27379),selectPoints:r(81974),meta:{}}},40151:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},19860:function(t,e,r){"use strict";var n=r(71828),i=r(40151);t.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l0?(u=o,c=l):(u=l,c=o);var f=[s.findEnclosingVertexAngles(u,t.vangles)[0],(u+c)/2,s.findEnclosingVertexAngles(c,t.vangles)[1]];return s.pathPolygonAnnulus(n,i,u,c,f,e,r)}:function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),d=e.layers.frontplot.select("g.barlayer");a.makeTraceGroups(d,r,"trace bars").each((function(){var r=n.select(this),s=a.ensureSingle(r,"g","points").selectAll("g.point").data(a.identity);s.enter().append("g").style("vector-effect",l?"none":"non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each((function(t){var e,r=n.select(this),o=t.rp0=f.c2p(t.s0),s=t.rp1=f.c2p(t.s1),l=t.thetag0=h.c2g(t.p0),d=t.thetag1=h.c2g(t.p1);if(i(o)&&i(s)&&i(l)&&i(d)&&o!==s&&l!==d){var v=f.c2g(t.s1),g=(l+d)/2;t.ct=[u.c2p(v*Math.cos(g)),c.c2p(v*Math.sin(g))],e=p(o,s,l,d)}else e="M0,0Z";a.ensureSingle(r,"path").attr("d",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},53522:function(t,e,r){"use strict";var n=r(82196),i=r(1486),a=r(22399),o=r(12663).axisHoverFormat,s=r(5386).fF,l=r(1426).extendFlat,u=n.marker,c=u.line;t.exports={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"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,xhoverformat:o("x"),yhoverformat:o("y"),name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},sdmultiple:{valType:"number",min:0,editType:"calc",dflt:1},sizemode:{valType:"enumerated",values:["quartiles","sd"],editType:"calc",dflt:"quartiles"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:l({},u.symbol,{arrayOk:!1,editType:"plot"}),opacity:l({},u.opacity,{arrayOk:!1,dflt:1,editType:"style"}),angle:l({},u.angle,{arrayOk:!1,editType:"calc"}),size:l({},u.size,{arrayOk:!1,editType:"calc"}),color:l({},u.color,{arrayOk:!1,editType:"style"}),line:{color:l({},c.color,{arrayOk:!1,dflt:a.defaultLine,editType:"style"}),width:l({},c.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:n.fillcolor,whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},showwhiskers:{valType:"boolean",editType:"calc"},offsetgroup:i.offsetgroup,alignmentgroup:i.alignmentgroup,selected:{marker:n.selected.marker,editType:"style"},unselected:{marker:n.unselected.marker,editType:"style"},text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),hovertemplate:s({}),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"}}},48518:function(t,e,r){"use strict";var n=r(92770),i=r(89298),a=r(42973),o=r(71828),s=r(50606).BADNUM,l=o._;t.exports=function(t,e){var r,u,m,x,b,_,w,T=t._fullLayout,k=i.getFromId(t,e.xaxis||"x"),A=i.getFromId(t,e.yaxis||"y"),M=[],S="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(m=k,x="x",b=A,_="y",w=!!e.yperiodalignment):(m=A,x="y",b=k,_="x",w=!!e.xperiodalignment);var E,L,C,O,P,I,D=function(t,e,r,i){var s,l=e+"0"in t;if(e in t||l&&"d"+e in t){var u=r.makeCalcdata(t,e);return[a(t,r,e,u).vals,u]}s=l?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||o.isDateTime(t.name)&&"date"===r.type)?t.name:i;for(var c="multicategory"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+"calendar"]),f=t._length,h=new Array(f),p=0;pE.uf};if(e._hasPreCompStats){var U=e[x],V=function(t){return m.d2c((e[t]||[])[r])},H=1/0,q=-1/0;for(r=0;r=E.q1&&E.q3>=E.med){var Z=V("lowerfence");E.lf=Z!==s&&Z<=E.q1?Z:p(E,C,O);var W=V("upperfence");E.uf=W!==s&&W>=E.q3?W:d(E,C,O);var Y=V("mean");E.mean=Y!==s?Y:O?o.mean(C,O):(E.q1+E.q3)/2;var X=V("sd");E.sd=Y!==s&&X>=0?X:O?o.stdev(C,O,E.mean):E.q3-E.q1,E.lo=v(E),E.uo=g(E);var J=V("notchspan");J=J!==s&&J>0?J:y(E,O),E.ln=E.med-J,E.un=E.med+J;var K=E.lf,$=E.uf;e.boxpoints&&C.length&&(K=Math.min(K,C[0]),$=Math.max($,C[O-1])),e.notched&&(K=Math.min(K,E.ln),$=Math.max($,E.un)),E.min=K,E.max=$}else{var Q;o.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+E.q1,"median = "+E.med,"q3 = "+E.q3].join("\n")),Q=E.med!==s?E.med:E.q1!==s?E.q3!==s?(E.q1+E.q3)/2:E.q1:E.q3!==s?E.q3:0,E.med=Q,E.q1=E.q3=Q,E.lf=E.uf=Q,E.mean=E.sd=Q,E.ln=E.un=Q,E.min=E.max=Q}H=Math.min(H,E.min),q=Math.max(q,E.max),E.pts2=L.filter(j),M.push(E)}}e._extremes[m._id]=i.findExtremes(m,[H,q],{padded:!0})}else{var tt=m.makeCalcdata(e,x),et=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i=0&&it0){var ct,ft;(E={}).pos=E[_]=B[r],L=E.pts=nt[r].sort(f),O=(C=E[x]=L.map(h)).length,E.min=C[0],E.max=C[O-1],E.mean=o.mean(C,O),E.sd=o.stdev(C,O,E.mean)*e.sdmultiple,E.med=o.interp(C,.5),O%2&&(lt||ut)?(lt?(ct=C.slice(0,O/2),ft=C.slice(O/2+1)):ut&&(ct=C.slice(0,O/2+1),ft=C.slice(O/2)),E.q1=o.interp(ct,.5),E.q3=o.interp(ft,.5)):(E.q1=o.interp(C,.25),E.q3=o.interp(C,.75)),E.lf=p(E,C,O),E.uf=d(E,C,O),E.lo=v(E),E.uo=g(E);var ht=y(E,O);E.ln=E.med-ht,E.un=E.med+ht,at=Math.min(at,E.ln),ot=Math.max(ot,E.un),E.pts2=L.filter(j),M.push(E)}e._extremes[m._id]=i.findExtremes(m,e.notched?tt.concat([at,ot]):tt,{padded:!0})}return function(t,e){if(o.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(M[0].t={num:T[S],dPos:N,posLetter:_,valLetter:x,labels:{med:l(t,"median:"),min:l(t,"min:"),q1:l(t,"q1:"),q3:l(t,"q3:"),max:l(t,"max:"),mean:"sd"===e.boxmean||"sd"===e.sizemode?l(t,"mean ± σ:").replace("σ",1===e.sdmultiple?"σ":e.sdmultiple+"σ"):l(t,"mean:"),lf:l(t,"lower fence:"),uf:l(t,"upper fence:")}},T[S]++,M):[{t:{empty:!0}}]};var u={text:"tx",hovertext:"htx"};function c(t,e,r){for(var n in u)o.isArrayOrTypedArray(e[n])&&(Array.isArray(r)?o.isArrayOrTypedArray(e[n][r[0]])&&(t[u[n]]=e[n][r[0]][r[1]]):t[u[n]]=e[n][r])}function f(t,e){return t.v-e.v}function h(t){return t.v}function p(t,e,r){return 0===r?t.q1:Math.min(t.q1,e[Math.min(o.findBin(2.5*t.q1-1.5*t.q3,e,!0)+1,r-1)])}function d(t,e,r){return 0===r?t.q3:Math.max(t.q3,e[Math.max(o.findBin(2.5*t.q3-1.5*t.q1,e),0)])}function v(t){return 4*t.q1-3*t.q3}function g(t){return 4*t.q3-3*t.q1}function y(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},37188:function(t,e,r){"use strict";var n=r(89298),i=r(71828),a=r(99082).getAxisGroup,o=["v","h"];function s(t,e,r,o){var s,l,u,c=e.calcdata,f=e._fullLayout,h=o._id,p=h.charAt(0),d=[],v=0;for(s=0;s1,b=1-f[t+"gap"],_=1-f[t+"groupgap"];for(s=0;s0){var q=E.pointpos,G=E.jitter,Z=E.marker.size/2,W=0;q+G>=0&&((W=V*(q+G))>M?(H=!0,j=Z,B=W):W>R&&(j=Z,B=M)),W<=M&&(B=M);var Y=0;q-G<=0&&((Y=-V*(q-G))>S?(H=!0,U=Z,N=Y):Y>F&&(U=Z,N=S)),Y<=S&&(N=S)}else B=M,N=S;var X=new Array(u.length);for(l=0;l0?(g="v",y=x>0?Math.min(_,b):Math.min(b)):x>0?(g="h",y=Math.min(_)):y=0;if(y){e._length=y;var S=r("orientation",g);e._hasPreCompStats?"v"===S&&0===x?(r("x0",0),r("dx",1)):"h"===S&&0===m&&(r("y0",0),r("dy",1)):"v"===S&&0===x?r("x0"):"h"===S&&0===m&&r("y0"),i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],a)}else e.visible=!1}function f(t,e,r,i){var a=i.prefix,o=n.coerce2(t,e,u,"marker.outliercolor"),s=r("marker.line.outliercolor"),l="outliers";e._hasPreCompStats?l="all":(o||s)&&(l="suspectedoutliers");var c=r(a+"points",l);c?(r("jitter","all"===c?.3:0),r("pointpos","all"===c?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.angle"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===c&&(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"),r("hovertext")):delete e.marker;var f=r("hoveron");"all"!==f&&-1===f.indexOf("points")||r("hovertemplate"),n.coerceSelectionMarkerOpacity(e,r)}t.exports={supplyDefaults:function(t,e,r,i){function s(r,i){return n.coerce(t,e,u,r,i)}if(c(t,e,s,i),!1!==e.visible){o(t,e,i,s),s("xhoverformat"),s("yhoverformat");var l=e._hasPreCompStats;l&&(s("lowerfence"),s("upperfence")),s("line.color",(t.marker||{}).color||r),s("line.width"),s("fillcolor",a.addOpacity(e.line.color,.5));var h=!1;if(l){var p=s("mean"),d=s("sd");p&&p.length&&(h=!0,d&&d.length&&(h="sd"))}s("whiskerwidth");var v,g=s("sizemode");"quartiles"===g&&(v=s("boxmean",h)),s("showwhiskers","quartiles"===g),"sd"!==g&&"sd"!==v||s("sdmultiple"),s("width"),s("quartilemethod");var y=!1;if(l){var m=s("notchspan");m&&m.length&&(y=!0)}else n.validate(t.notchwidth,u.notchwidth)&&(y=!0);s("notched",y)&&s("notchwidth"),f(t,e,s,{prefix:"box"})}},crossTraceDefaults:function(t,e){var r,i;function a(t){return n.coerce(i._input,i,u,t)}for(var o=0;ot.lo&&(x.so=!0)}return a}));h.enter().append("path").classed("point",!0),h.exit().remove(),h.call(a.translatePoints,o,s)}function l(t,e,r,a){var o,s,l=e.val,u=e.pos,c=!!u.rangebreaks,f=a.bPos,h=a.bPosPxOffset||0,p=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);d.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),d.exit().remove(),d.each((function(t){var e=u.c2l(t.pos+f,!0),i=u.l2p(e-o)+h,a=u.l2p(e+s)+h,d=c?(i+a)/2:u.l2p(e)+h,v=l.c2p(t.mean,!0),g=l.c2p(t.mean-t.sd,!0),y=l.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+v+","+i+"V"+a+("sd"===p?"m0,0L"+g+","+d+"L"+v+","+i+"L"+y+","+d+"Z":"")):n.select(this).attr("d","M"+i+","+v+"H"+a+("sd"===p?"m0,0L"+d+","+g+"L"+i+","+v+"L"+d+","+y+"Z":""))}))}t.exports={plot:function(t,e,r,a){var u=t._context.staticPlot,c=e.xaxis,f=e.yaxis;i.makeTraceGroups(a,r,"trace boxes").each((function(t){var e,r,i=n.select(this),a=t[0],h=a.t,p=a.trace;h.wdPos=h.bdPos*p.whiskerwidth,!0!==p.visible||h.empty?i.remove():("h"===p.orientation?(e=f,r=c):(e=c,r=f),o(i,{pos:e,val:r},p,h,u),s(i,{x:c,y:f},p,h),l(i,{pos:e,val:r},p,h))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},24626:function(t){"use strict";t.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r=10)return null;for(var r=1/0,a=-1/0,o=t.length,s=0;s0?Math.floor:Math.ceil,P=L>0?Math.ceil:Math.floor,I=L>0?Math.min:Math.max,D=L>0?Math.max:Math.min,z=O(S+C),R=P(E-C),F=[[f=M(S)]];for(a=z;a*L=0;i--)a[c-i]=t[f][i],o[c-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:u}),s}},20347:function(t,e,r){"use strict";var n=r(89298),i=r(1426).extendFlat;t.exports=function(t,e,r){var a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],T=b._boundarylines=[],k=t["_"+r],A=t[r+"axis"];"array"===b.tickmode&&(b.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,L=M.length,C=t._a.length,O=t._b.length;n.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var P=b.smoothing?3:1;function I(n){var i,a,o,s,l,u,c,f,p,d,v,g,y=[],m=[],x={};if("b"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(O-2,a))),s=a-o,x.length=O,x.crossLength=C,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i0&&(p=t.dxydi([],i-1,o,0,s),y.push(l[0]+p[0]/3),m.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),y.push(f[0]-d[0]/3),m.push(f[1]-d[1]/3)),y.push(f[0]),m.push(f[1]),l=f;else for(i=t.a2i(n),u=Math.floor(Math.max(0,Math.min(C-2,i))),c=i-u,x.length=C,x.crossLength=O,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],u,e,c,r)},a=0;a0&&(v=t.dxydj([],u,a-1,c,0),y.push(l[0]+v[0]/3),m.push(l[1]+v[1]/3),g=t.dxydj([],u,a-1,c,1),y.push(f[0]-g[0]/3),m.push(f[1]-g[1]/3)),y.push(f[0]),m.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=h,x.x=y,x.y=m,x.smoothing=A.smoothing,x}function D(n){var i,a,o,s,l,u=[],c=[],f={};if(f.length=x.length,f.crossLength=k.length,"b"===e)for(o=Math.max(0,Math.min(O-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;ix.length-1||_.push(i(D(o),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c;hx.length-1||v<0||v>x.length-1))for(g=x[s],y=x[v],a=0;ax[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(D(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(D(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,c=(u=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort((function(t,e){return t-e})))[0],f=u[1],h=c;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(I(p),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c-1;hx[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(I(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(I(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},83311:function(t,e,r){"use strict";var n=r(89298),i=r(1426).extendFlat;t.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;re.length&&(t=t.slice(0,e.length)):t=[],i=0;i90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:u}}},89740:function(t,e,r){"use strict";var n=r(39898),i=r(91424),a=r(27669),o=r(67961),s=r(11651),l=r(63893),u=r(71828),c=u.strRotate,f=u.strTranslate,h=r(18783);function p(t,e,r,s,l,u,c){var f="const-"+l+"-lines",h=r.selectAll("."+f).data(u);h.enter().append("path").classed(f,!0).style("vector-effect",c?"none":"non-scaling-stroke"),h.each((function(r){var s=r,l=s.x,u=s.y,c=a([],l,t.c2p),f=a([],u,e.c2p),h="M"+o(c,f,s.smoothing);n.select(this).attr("d",h).style("stroke-width",s.width).style("stroke",s.color).style("stroke-dasharray",i.dashStyle(s.dash,s.width)).style("fill","none")})),h.exit().remove()}function d(t,e,r,a,o,u,h,p){var d=u.selectAll("text."+p).data(h);d.enter().append("text").classed(p,!0);var v=0,g={};return d.each((function(o,u){var h;if("auto"===o.axis.tickangle)h=s(a,e,r,o.xy,o.dxy);else{var p=(o.axis.tickangle+180)*Math.PI/180;h=s(a,e,r,o.xy,[Math.cos(p),Math.sin(p)])}u||(g={angle:h.angle,flip:h.flip});var d=(o.endAnchor?-1:1)*h.flip,y=n.select(this).attr({"text-anchor":d>0?"start":"end","data-notex":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),m=i.bBox(this);y.attr("transform",f(h.p[0],h.p[1])+c(h.angle)+f(o.axis.labelpadding*d,.3*m.height)),v=Math.max(v,m.width+o.axis.labelpadding)})),d.exit().remove(),g.maxExtent=v,g}t.exports=function(t,e,r,i){var l=t._context.staticPlot,c=e.xaxis,f=e.yaxis,h=t._fullLayout._clips;u.makeTraceGroups(i,r,"trace").each((function(e){var r=n.select(this),i=e[0],v=i.trace,g=v.aaxis,m=v.baxis,x=u.ensureSingle(r,"g","minorlayer"),b=u.ensureSingle(r,"g","majorlayer"),_=u.ensureSingle(r,"g","boundarylayer"),w=u.ensureSingle(r,"g","labellayer");r.style("opacity",v.opacity),p(c,f,b,0,"a",g._gridlines,!0),p(c,f,b,0,"b",m._gridlines,!0),p(c,f,x,0,"a",g._minorgridlines,!0),p(c,f,x,0,"b",m._minorgridlines,!0),p(c,f,_,0,"a-boundary",g._boundarylines,l),p(c,f,_,0,"b-boundary",m._boundarylines,l);var T=d(t,c,f,v,0,w,g._labels,"a-label"),k=d(t,c,f,v,0,w,m._labels,"b-label");!function(t,e,r,n,i,a,o,l){var c,f,h,p,d=u.aggNums(Math.min,null,r.a),v=u.aggNums(Math.max,null,r.a),g=u.aggNums(Math.min,null,r.b),m=u.aggNums(Math.max,null,r.b);c=.5*(d+v),f=g,h=r.ab2xy(c,f,!0),p=r.dxyda_rough(c,f),void 0===o.angle&&u.extendFlat(o,s(r,i,a,h,r.dxydb_rough(c,f))),y(t,e,r,0,h,p,r.aaxis,i,a,o,"a-title"),c=d,f=.5*(g+m),h=r.ab2xy(c,f,!0),p=r.dxydb_rough(c,f),void 0===l.angle&&u.extendFlat(l,s(r,i,a,h,r.dxyda_rough(c,f))),y(t,e,r,0,h,p,r.baxis,i,a,l,"b-title")}(t,w,v,0,c,f,T,k),function(t,e,r,n,i){var s,l,c,f,h=r.select("#"+t._clipPathId);h.size()||(h=r.append("clipPath").classed("carpetclip",!0));var p=u.ensureSingle(h,"path","carpetboundary"),d=e.clipsegments,v=[];for(f=0;f90&&m<270,b=n.select(this);b.text(h.title.text).call(l.convertToTspans,t),x&&(_=(-l.lineCount(b)+g)*v*a-_),b.attr("transform",f(e.p[0],e.p[1])+c(e.angle)+f(0,_)).attr("text-anchor","middle").call(i.font,h.title.font)})),b.exit().remove()}},11435:function(t,e,r){"use strict";var n=r(35509),i=r(65888).findBin,a=r(45664),o=r(20349),s=r(54495),l=r(73057);t.exports=function(t){var e=t._a,r=t._b,u=e.length,c=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[u-1],v=r[0],g=r[c-1],y=e[e.length-1]-e[0],m=r[r.length-1]-r[0],x=y*n.RELATIVE_CULL_TOLERANCE,b=m*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,v-=b,g+=b,t.isVisible=function(t,e){return t>p&&tv&&ed||eg},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],u,c,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),u-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),u-2),n=t[1]-e;return(1-n)*r[e]+n*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(i(t,e),u-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(u-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),c-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(c-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(n,i,a){if(!a&&(ne[u-1]|ir[c-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,v=0,g=0,y=[];ne[u-1]?(f=u-2,h=1,v=(n-e[u-1])/(e[u-1]-e[u-2])):h=o-(f=Math.max(0,Math.min(u-2,Math.floor(o)))),ir[c-1]?(p=c-2,d=1,g=(i-r[c-1])/(r[c-1]-r[c-2])):d=s-(p=Math.max(0,Math.min(c-2,Math.floor(s)))),v&&(t.dxydi(y,f,p,h,d),l[0]+=y[0]*v,l[1]+=y[1]*v),g&&(t.dxydj(y,f,p,h,d),l[0]+=y[0]*g,l[1]+=y[1]*g)}return l},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=y*(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=m*(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}}},72505:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e,r){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r0&&a0&&i1e-5);return n.log("Smoother converged to",k,"after",A,"iterations"),t}},19237:function(t,e,r){"use strict";var n=r(71828).isArray1D;t.exports=function(t,e,r){var i=r("x"),a=i&&i.length,o=r("y"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},69568:function(t,e,r){"use strict";var n=r(5386).fF,i=r(19316),a=r(50693),o=r(9012),s=r(22399).defaultLine,l=r(1426).extendFlat,u=i.marker.line;t.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:i.locationmode,z:{valType:"data_array",editType:"calc"},geojson:l({},i.geojson,{}),featureidkey:i.featureidkey,text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),marker:{line:{color:l({},u.color,{dflt:s}),width:l({},u.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:i.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:i.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},a("",{cLetter:"z",editTypeOverride:"calc"}))},38675:function(t,e,r){"use strict";var n=r(92770),i=r(50606).BADNUM,a=r(78803),o=r(75225),s=r(66279);function l(t){return t&&"string"==typeof t}t.exports=function(t,e){var r,u=e._length,c=new Array(u);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var f=0;f")}}(t,f,o),[t]}},51319:function(t,e,r){"use strict";t.exports={attributes:r(69568),supplyDefaults:r(61869),colorbar:r(61243),calc:r(38675),calcGeoJSON:r(99841).calcGeoJSON,plot:r(99841).plot,style:r(99636).style,styleOnSelect:r(99636).styleOnSelect,hoverPoints:r(42300),eventData:r(92069),selectPoints:r(81253),moduleType:"trace",name:"choropleth",basePlotModule:r(44622),categories:["geo","noOpacity","showLegend"],meta:{}}},99841:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(41327),o=r(90973).getTopojsonFeatures,s=r(71739).findExtremes,l=r(99636).style;t.exports={calcGeoJSON:function(t,e){for(var r=t[0].trace,n=e[r.geo],i=n._subplot,l=r.locationmode,u=r._length,c="geojson-id"===l?a.extractTraceFeature(t):o(r,i.topojson),f=[],h=[],p=0;p=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(a,{type:"geojson",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},12674:function(t,e,r){"use strict";var n=r(50693),i=r(12663).axisHoverFormat,a=r(5386).fF,o=r(2418),s=r(9012),l=r(1426).extendFlat,u={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",editType:"calc",min:0},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"},{keys:["norm"]}),uhoverformat:i("u",1),vhoverformat:i("v",1),whoverformat:i("w",1),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),showlegend:l({},s.showlegend,{dflt:!1})};l(u,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"})),["opacity","lightposition","lighting"].forEach((function(t){u[t]=o[t]})),u.hoverinfo=l({},s.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),u.transforms=void 0,t.exports=u},31371:function(t,e,r){"use strict";var n=r(78803);t.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,u=0;uo.level||o.starts.length&&a===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,u=-1/0,c=1/0;for(r=0;r":p>u&&(n.prefixBoundary=!0);break;case"<":(pu||n.starts.length&&h===c)&&(n.prefixBoundary=!0);break;case"][":f=Math.min(p[0],p[1]),h=Math.max(p[0],p[1]),fu&&(n.prefixBoundary=!0)}}}},90654:function(t,e,r){"use strict";var n=r(21081),i=r(86068),a=r(53572);t.exports={min:"zmin",max:"zmax",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,u=o.coloring,c=i(e,{isColorbar:!0});if("heatmap"===u){var f=n.extractOpts(e);r._fillgradient=f.reversescale?n.flipScale(f.colorscale):f.colorscale,r._zrange=[f.min,f.max]}else"fill"===u&&(r._fillcolor=c);r._line={color:"lines"===u?c:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:a(o),size:l}}}},36914:function(t){"use strict";t.exports={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}}},83179:function(t,e,r){"use strict";var n=r(92770),i=r(14523),a=r(7901),o=a.addOpacity,s=a.opacity,l=r(74808),u=l.CONSTRAINT_REDUCTION,c=l.COMPARISON_OPS2;t.exports=function(t,e,r,a,l,f){var h,p,d,v=e.contours,g=r("contours.operation");v._operation=u[g],function(t,e){var r;-1===c.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?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,v),"="===g?h=v.showlines=!0:(h=r("contours.showlines"),d=r("fillcolor",o((t.line||{}).color||l,.5))),h&&(p=r("line.color",d&&s(d)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash")),r("line.smoothing"),i(r,a,p,f)}},64237:function(t,e,r){"use strict";var n=r(74808),i=r(92770);function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(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 s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}t.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},67217:function(t){"use strict";t.exports=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")}},84857:function(t,e,r){"use strict";var n=r(71828);function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}t.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),a=t[0],r=0;r1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},53572:function(t){"use strict";t.exports=function(t){return t.end+t.size/1e6}},81696:function(t,e,r){"use strict";var n=r(71828),i=r(36914);function a(t,e,r,n){return Math.abs(t[0]-e[0])20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1,[n,a]}(f,r,e),p=[s(t,e,[-h[0],-h[1]])],d=t.z.length,v=t.z[0].length,g=e.slice(),y=h.slice();for(u=0;u<1e4;u++){if(f>20?(f=i.CHOOSESADDLE[f][(h[0]||h[1])<0?0:1],t.crossings[c]=i.SADDLEREMAINDER[f]):delete t.crossings[c],!(h=i.NEWDELTA[f])){n.log("Found bad marching index:",f,e,t.level);break}p.push(s(t,e,h)),e[0]+=h[0],e[1]+=h[1],c=e.join(","),a(p[p.length-1],p[p.length-2],o,l)&&p.pop();var m=h[0]&&(e[0]<0||e[0]>v-2)||h[1]&&(e[1]<0||e[1]>d-2);if(e[0]===g[0]&&e[1]===g[1]&&h[0]===y[0]&&h[1]===y[1]||r&&m)break;f=t.crossings[c]}1e4===u&&n.log("Infinite loop in contour?");var x,b,_,w,T,k,A,M,S,E,L,C,O,P,I,D=a(p[0],p[p.length-1],o,l),z=0,R=.2*t.smoothing,F=[],B=0;for(u=1;u=B;u--)if((x=F[u])=B&&x+F[b]M&&S--,t.edgepaths[S]=L.concat(p,E));break}V||(t.edgepaths[M]=p.concat(E))}for(M=0;M=m)&&(r<=y&&(r=y),o>=m&&(o=m),l=Math.floor((o-r)/s)+1,u=0),h=0;hy&&(v.unshift(y),g.unshift(g[0])),v[v.length-1]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}t.exports=function(t){var e,r,a,o,s,l,u,c,f,h=t[0].z,p=h.length,d=h[0].length,v=2===p||2===d;for(r=0;r=0&&(n=m,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-m[1])<.01&&(m[0]-r[0])*(n[0]-m[0])>=0&&(n=m,s=l):i.log("endpt to newendpt is not vert. or horz.",r,n,m)}if(r=n,s>=0)break;f+="L"+n}if(s===t.edgepaths.length){i.log("unclosed perimeter path");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+="Z")}for(h=0;hn.center?n.right-s:s-n.left)/(c+Math.abs(Math.sin(u)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(u)*o);if(h<1||p<1)return 1/0;var d=y.EDGECOST*(1/(h-1)+1/(p-1));d+=y.ANGLECOST*u*u;for(var v=s-c,g=l-f,m=s+c,x=l+f,b=0;b2*y.MAXCOST)break;p&&(s/=2),l=(o=u-s/2)+1.5*s}if(h<=y.MAXCOST)return c},e.addLabelData=function(t,e,r,n){var i=e.fontSize,a=e.width+i/3,o=Math.max(0,e.height-i/3),s=t.x,l=t.y,u=t.theta,c=Math.sin(u),f=Math.cos(u),h=function(t,e){return[s+t*f-e*c,l+t*c+e*f]},p=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:e.text,x:s,y:l,dy:e.dy,theta:u,level:e.level,width:a,height:o}),n.push(p)},e.drawLabels=function(t,e,r,a,o){var l=t.selectAll("text").data(e,(function(t){return t.text+","+t.x+","+t.y+","+t.theta}));if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each((function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+i+")"}).call(s.convertToTspans,r)})),o){for(var u="",c=0;cr.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if("constraint"!==r.type){var u,c=r.start,f=r.end,h=t._input.contours;c>f&&(r.start=h.start=f,f=r.end=h.end=c,c=r.start),r.size>0||(u=c===f?1:a(c,f,t.ncontours).dtick,h.size=r.size=u)}}},84426:function(t,e,r){"use strict";var n=r(39898),i=r(91424),a=r(70035),o=r(86068);t.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",(function(t){return t[0].trace.opacity})),e.each((function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,u=a.start,c="constraint"===a.type,f=!c&&"lines"===a.coloring,h=!c&&"fill"===a.coloring,p=f||h?o(r):null;e.selectAll("g.contourlevel").each((function(t){n.select(this).selectAll("path").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)}));var d=a.labelfont;if(e.selectAll("g.contourlabels text").each((function(t){i.font(n.select(this),{family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})})),c)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(h){var v;e.selectAll("g.contourfill path").style("fill",(function(t){return void 0===v&&(v=t.level),p(t.level+.5*l)})),void 0===v&&(v=u),e.selectAll("g.contourbg path").style("fill",p(v-.5*l))}})),a(t)}},8724:function(t,e,r){"use strict";var n=r(1586),i=r(14523);t.exports=function(t,e,r,a,o){var s,l=r("contours.coloring"),u="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(u=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),i(r,a,u,o)}},88085:function(t,e,r){"use strict";var n=r(21606),i=r(70600),a=r(50693),o=r(1426).extendFlat,s=i.contours;t.exports=o({carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:i.line.color,width:i.line.width,dash:i.line.dash,smoothing:i.line.smoothing,editType:"plot"},transforms:void 0},a("",{cLetter:"z",autoColorDflt:!1}))},59885:function(t,e,r){"use strict";var n=r(78803),i=r(71828),a=r(68296),o=r(4742),s=r(824),l=r(43907),u=r(70769),c=r(75005),f=r(22882),h=r(18670);t.exports=function(t,e){var r=e._carpetTrace=f(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),c(d,e,e._defaultColor,t._fullLayout)}var v=function(t,e){var r,c,f,h,p,d,v,g=e._carpetTrace,y=g.aaxis,m=g.baxis;y._minDtick=0,m._minDtick=0,i.isArray1D(e.z)&&a(e,y,m,"a","b",["z"]),r=e._a=e._a||e.a,h=e._b=e._b||e.b,r=r?y.makeCalcdata(e,"_a"):[],h=h?m.makeCalcdata(e,"_b"):[],c=e.a0||0,f=e.da||1,p=e.b0||0,d=e.db||1,v=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(v),s(v,e._emptypoints);var x=i.maxRowLength(v),b="scaled"===e.xtype?"":r,_=u(e,b,c,f,x,y),w="scaled"===e.ytype?"":h,T={a:_,b:u(e,w,p,d,v.length,m),z:v};return"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(t,e,{vals:v,containerStr:"",cLetter:"z"}),[T]}(t,e);return h(e,e._z),v}}},75005:function(t,e,r){"use strict";var n=r(71828),i=r(67684),a=r(88085),o=r(83179),s=r(67217),l=r(8724);t.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,a,r,i)}if(c("carpet"),t.a&&t.b){if(!i(t,e,c,u,"a","b"))return void(e.visible=!1);c("text"),"constraint"===c("contours.type")?o(t,e,c,u,r,{hasHover:!1}):(s(t,e,c,(function(r){return n.coerce2(t,e,a,r)})),l(t,e,c,u,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},93740:function(t,e,r){"use strict";t.exports={attributes:r(88085),supplyDefaults:r(75005),colorbar:r(90654),calc:r(59885),plot:r(51048),style:r(84426),moduleType:"trace",name:"contourcarpet",basePlotModule:r(93612),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},51048:function(t,e,r){"use strict";var n=r(39898),i=r(27669),a=r(67961),o=r(91424),s=r(71828),l=r(87678),u=r(81696),c=r(29854),f=r(36914),h=r(84857),p=r(87558),d=r(20083),v=r(22882),g=r(4536);function y(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 m(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}t.exports=function(t,e,r,b){var _=e.xaxis,w=e.yaxis;s.makeTraceGroups(b,r,"contour").each((function(r){var b=n.select(this),T=r[0],k=T.trace,A=k._carpetTrace=v(t,k),M=t.calcdata[A.index][0];if(A.visible&&"legendonly"!==A.visible){var S=T.a,E=T.b,L=k.contours,C=p(L,e,T),O="constraint"===L.type,P=L._operation,I=O?"="===P?"lines":"fill":L.coloring,D=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(C);var z=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);u(C,z,R);var F,B,N,j,U=C;"constraint"===L.type&&(U=h(C,P)),function(t,e){var r,n,i,a,o,s,l,u,c;for(r=0;r=0;j--)F=M.clipsegments[j],B=i([],F.x,_.c2p),N=i([],F.y,w.c2p),B.reverse(),N.reverse(),V.push(a(B,N,F.bicubic));var H="M"+V.join("L")+"Z";!function(t,e,r,n,o,l){var u,c,f,h,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(h=0;h=0&&(h=L,d=v):Math.abs(f[1]-h[1])=0&&(h=L,d=v):s.log("endpt to newendpt is not vert. or horz.",f,h,L)}if(d>=0)break;m+=S(f,h),f=h}if(d===e.edgepaths.length){s.log("unclosed perimeter path");break}c=d,(b=-1===x.indexOf(c))&&(c=x[0],m+=S(f,h)+"Z",f=null)}for(c=0;cv&&(n.max=v),n.len=n.max-n.min}function g(t,e){var r,n=0,o=.1;return(Math.abs(t[0]-l)0?+p[c]:0),f.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:m})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],T=["interpolate",["linear"],["heatmap-density"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(c=1;c<_.length;c++)T.push(_[c][0],_[c][1]);var k=["interpolate",["linear"],["get","z"],b.min,0,b.max,1];return i.extendFlat(u.heatmap.paint,{"heatmap-weight":d?k:1/(b.max-b.min),"heatmap-color":T,"heatmap-radius":v?{type:"identity",property:"r"}:e.radius,"heatmap-opacity":e.opacity}),u.geojson={type:"FeatureCollection",features:f},u.heatmap.layout.visibility="visible",u}},79429:function(t,e,r){"use strict";var n=r(71828),i=r(1586),a=r(64096);t.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("lon")||[],u=s("lat")||[],c=Math.min(l.length,u.length);c?(e._length=c,s("z"),s("radius"),s("below"),s("text"),s("hovertext"),s("hovertemplate"),i(t,e,o,s,{prefix:"",cLetter:"z"})):e.visible=!1}},62474:function(t){"use strict";t.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},84684:function(t,e,r){"use strict";var n=r(89298),i=r(28178).hoverPoints,a=r(28178).getExtraText;t.exports=function(t,e,r){var o=i(t,e,r);if(o){var s=o[0],l=s.cd,u=l[0].trace,c=l[s.index];if(delete s.color,"z"in c){var f=s.subplot.mockAxis;s.z=c.z,s.zLabel=n.tickText(f,f.c2l(c.z),"hover").text}return s.extraText=a(u,c,l[0].t.labels),[s]}}},93814:function(t,e,r){"use strict";t.exports={attributes:r(64096),supplyDefaults:r(79429),colorbar:r(61243),formatLabels:r(15636),calc:r(85070),plot:r(7336),hoverPoints:r(84684),eventData:r(62474),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),i}},49789:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){for(var r=0;r"),l.color=function(t,e){var r=t.marker,i=e.mc||r.color,a=e.mlc||r.line.color,o=e.mlw||r.line.width;return n(i)?i:n(a)&&o?a:void 0}(c,h),[l]}}},51759:function(t,e,r){"use strict";t.exports={attributes:r(1285),layoutAttributes:r(10440),supplyDefaults:r(26199).supplyDefaults,crossTraceDefaults:r(26199).crossTraceDefaults,supplyLayoutDefaults:r(93138),calc:r(9532),crossTraceCalc:r(8984),plot:r(80461),style:r(68266).style,hoverPoints:r(63341),eventData:r(34598),selectPoints:r(81974),moduleType:"trace",name:"funnel",basePlotModule:r(93612),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},10440:function(t){"use strict";t.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},93138:function(t,e,r){"use strict";var n=r(71828),i=r(10440);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s path").each((function(t){if(!t.isBlank){var e=s.marker;n.select(this).call(a.fill,t.mc||e.color).call(a.stroke,t.mlc||e.line.color).call(i.dashLine,e.line.dash,t.mlw||e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(".regions").each((function(){n.select(this).selectAll("path").style("stroke-width",0).call(a.fill,s.connector.fillcolor)})),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},86807:function(t,e,r){"use strict";var n=r(34e3),i=r(9012),a=r(27670).Y,o=r(5386).fF,s=r(5386).si,l=r(1426).extendFlat;t.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:"calc"},pattern:n.marker.pattern,editType:"calc"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:["label","text","value","percent"]}),texttemplate:s({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:l({},i.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","text","percent"]}),textposition:l({},n.textposition,{values:["inside","none"],dflt:"inside"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:a({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}},6452:function(t,e,r){"use strict";var n=r(74875);e.name="funnelarea",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},89574:function(t,e,r){"use strict";var n=r(32354);t.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:"funnelarea"})}}},86282:function(t,e,r){"use strict";var n=r(71828),i=r(86807),a=r(27670).c,o=r(90769).handleText,s=r(37434).handleLabelsAndValues,l=r(37434).handleMarkerDefaults;t.exports=function(t,e,r,u){function c(r,a){return n.coerce(t,e,i,r,a)}var f=c("labels"),h=c("values"),p=s(f,h),d=p.len;if(e._hasLabels=p.hasLabels,e._hasValues=p.hasValues,!e._hasLabels&&e._hasValues&&(c("label0"),c("dlabel")),d){e._length=d,l(t,e,u,c),c("scalegroup");var v,g=c("text"),y=c("texttemplate");if(y||(v=c("textinfo",Array.isArray(g)?"text+percent":"percent")),c("hovertext"),c("hovertemplate"),y||v&&"none"!==v){var m=c("textposition");o(t,e,u,c,m,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}a(e,u,c),c("title.text")&&(c("title.position"),n.coerceFont(c,"title.font",u.font)),c("aspectratio"),c("baseratio")}else e.visible=!1}},10421:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"funnelarea",basePlotModule:r(6452),categories:["pie-like","funnelarea","showLegend"],attributes:r(86807),layoutAttributes:r(80097),supplyDefaults:r(86282),supplyLayoutDefaults:r(57402),calc:r(89574).calc,crossTraceCalc:r(89574).crossTraceCalc,plot:r(79187),style:r(71858),styleOne:r(63463),meta:{}}},80097:function(t,e,r){"use strict";var n=r(92774).hiddenlabels;t.exports={hiddenlabels:n,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}},57402:function(t,e,r){"use strict";var n=r(71828),i=r(80097);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("hiddenlabels"),r("funnelareacolorway",e.colorway),r("extendfunnelareacolors")}},79187:function(t,e,r){"use strict";var n=r(39898),i=r(91424),a=r(71828),o=a.strScale,s=a.strTranslate,l=r(63893),u=r(17295).toMoveInsideBar,c=r(72597),f=c.recordMinTextSize,h=c.clearMinTextSize,p=r(53581),d=r(14575),v=d.attachFxHandlers,g=d.determineInsideTextFont,y=d.layoutAreas,m=d.prerenderTitles,x=d.positionTitleOutside,b=d.formatSliceLabel;function _(t,e){return"l"+(e[0]-t[0])+","+(e[1]-t[1])}t.exports=function(t,e){var r=t._context.staticPlot,c=t._fullLayout;h("funnelarea",c),m(e,t),y(e,c._size),a.makeTraceGroups(c._funnelarealayer,e,"trace").each((function(e){var h=n.select(this),d=e[0],y=d.trace;!function(t){if(t.length){var e=t[0],r=e.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o,s,l=Math.pow(i,2),u=e.vTotal,c=u,f=u*l/(1-l)/u,h=[];for(h.push(E()),o=t.length-1;o>-1;o--)if(!(s=t[o]).hidden){var p=s.v/c;f+=p,h.push(E())}var d=1/0,v=-1/0;for(o=0;o-1;o--)if(!(s=t[o]).hidden){var k=h[T+=1][0],A=h[T][1];s.TL=[-k,A],s.TR=[k,A],s.BL=_,s.BR=w,s.pxmid=(M=s.TR,S=s.BR,[.5*(M[0]+S[0]),.5*(M[1]+S[1])]),_=s.TL,w=s.TR}}var M,S;function E(){var t,e={x:t=Math.sqrt(f),y:-t};return[e.x,e.y]}}(e),h.each((function(){var h=n.select(this).selectAll("g.slice").data(e);h.enter().append("g").classed("slice",!0),h.exit().remove(),h.each((function(o,s){if(o.hidden)n.select(this).selectAll("path,g").remove();else{o.pointNumber=o.i,o.curveNumber=y.index;var h=d.cx,m=d.cy,x=n.select(this),w=x.selectAll("path.surface").data([o]);w.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),x.call(v,t,e);var T="M"+(h+o.TR[0])+","+(m+o.TR[1])+_(o.TR,o.BR)+_(o.BR,o.BL)+_(o.BL,o.TL)+"Z";w.attr("d",T),b(t,o,d);var k=p.castOption(y.textposition,o.pts),A=x.selectAll("g.slicetext").data(o.text&&"none"!==k?[0]:[]);A.enter().append("g").classed("slicetext",!0),A.exit().remove(),A.each((function(){var r=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),p=a.ensureUniformFontSize(t,g(y,o,c.font));r.text(o.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(i.font,p).call(l.convertToTspans,t);var d,v,x,b=i.bBox(r.node()),_=Math.min(o.BL[1],o.BR[1])+m,w=Math.max(o.TL[1],o.TR[1])+m;v=Math.max(o.TL[0],o.BL[0])+h,x=Math.min(o.TR[0],o.BR[0])+h,(d=u(v,x,_,w,b,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})).fontSize=p.size,f(y.type,d,c),e[s].transform=d,a.setTransormAndDisplay(r,d)}))}}));var m=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);m.enter().append("g").classed("titletext",!0),m.exit().remove(),m.each((function(){var e=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),r=y.title.text;y._meta&&(r=a.templateString(r,y._meta)),e.text(r).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(i.font,y.title.font).call(l.convertToTspans,t);var u=x(d,c._size);e.attr("transform",s(u.x,u.y)+o(Math.min(1,u.scale))+s(u.tx,u.ty))}))}))}))}},71858:function(t,e,r){"use strict";var n=r(39898),i=r(63463),a=r(72597).resizeText;t.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(".trace");a(t,e,"funnelarea"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll("path.surface").each((function(e){n.select(this).call(i,e,r,t)}))}))}},21606:function(t,e,r){"use strict";var n=r(82196),i=r(9012),a=r(41940),o=r(12663).axisHoverFormat,s=r(5386).fF,l=r(5386).si,u=r(50693),c=r(1426).extendFlat;t.exports=c({z:{valType:"data_array",editType:"calc"},x:c({},n.x,{impliedEdits:{xtype:"array"}}),x0:c({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:c({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:c({},n.y,{impliedEdits:{ytype:"array"}}),y0:c({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:c({},n.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:c({},n.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:c({},n.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:c({},n.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:c({},n.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:c({},n.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:c({},n.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{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"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},xhoverformat:o("x"),yhoverformat:o("y"),zhoverformat:o("z",1),hovertemplate:s(),texttemplate:l({arrayOk:!1,editType:"plot"},{keys:["x","y","z","text"]}),textfont:a({editType:"plot",autoSize:!0,autoColor:!0,colorEditType:"style"}),showlegend:c({},i.showlegend,{dflt:!1})},{transforms:void 0},u("",{cLetter:"z",autoColorDflt:!1}))},90757:function(t,e,r){"use strict";var n=r(73972),i=r(71828),a=r(89298),o=r(42973),s=r(17562),l=r(78803),u=r(68296),c=r(4742),f=r(824),h=r(43907),p=r(70769),d=r(50606).BADNUM;function v(t){for(var e=[],r=t.length,n=0;n1){var e=(t[t.length-1]-t[0])/(t.length-1),r=Math.abs(e/100);for(k=0;kr)return!1}return!0}(M.rangebreaks||S.rangebreaks)&&(T=function(t,e,r){for(var n=[],i=-1,a=0;a=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||v)[2]+(f[[r+1,i]]||v)[2]+(f[[r,i-1]]||v)[2]+(f[[r,i+1]]||v)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),u=!0);if(!u)throw"findEmpties iterated with no new neighbors";for(a in l)f[a]=l[a],c.push(l[a])}return c.sort((function(t,e){return e[2]-t[2]}))}},46248:function(t,e,r){"use strict";var n=r(30211),i=r(71828),a=r(89298),o=r(21081).extractOpts;t.exports=function(t,e,r,s,l){l||(l={});var u,c,f,h,p=l.isContour,d=t.cd[0],v=d.trace,g=t.xa,y=t.ya,m=d.x,x=d.y,b=d.z,_=d.xCenter,w=d.yCenter,T=d.zmask,k=v.zhoverformat,A=m,M=x;if(!1!==t.index){try{f=Math.round(t.index[1]),h=Math.round(t.index[0])}catch(e){return void i.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(f<0||f>=b[0].length||h<0||h>b.length)return}else{if(n.inbox(e-m[0],e-m[m.length-1],0)>0||n.inbox(r-x[0],r-x[x.length-1],0)>0)return;if(p){var S;for(A=[2*m[0]-m[1]],S=1;Sv&&(y=Math.max(y,Math.abs(t[a][o]-d)/(g-v))))}return y}t.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r.01;r++)i=o(t,e,a(i));return i>.01&&n.log("interp2d didn't converge quickly",i),t}},58623:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){t("texttemplate");var r=n.extendFlat({},e.font,{color:"auto",size:"auto"});n.coerceFont(t,"textfont",r)}},70769:function(t,e,r){"use strict";var n=r(73972),i=r(71828).isArrayOrTypedArray;t.exports=function(t,e,r,a,o,s){var l,u,c,f=[],h=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(i(e)&&e.length>1&&!p&&"category"!==s.type){var v=e.length;if(!(v<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=e.slice(0,o);else if(1===o)f=[e[0]-.5,e[0]+.5];else{for(f=[1.5*e[0]-.5*e[1]],c=1;c0;)k=A.c2p(N[C]),C--;for(k0;)L=M.c2p(j[C]),C--;L=A._length||k<=0||E>=M._length||L<=0)return I.selectAll("image").data([]).exit().remove(),void b(I);"fast"===X?(K=Z,$=G):(K=Q,$=tt);var et=document.createElement("canvas");et.width=K,et.height=$;var rt,nt,it=et.getContext("2d"),at=p(z,{noNumericCheck:!0,returnArray:!0});"fast"===X?(rt=W?function(t){return Z-1-t}:l.identity,nt=Y?function(t){return G-1-t}:l.identity):(rt=function(t){return l.constrain(Math.round(A.c2p(N[t])-r),0,Q)},nt=function(t){return l.constrain(Math.round(M.c2p(j[t])-E),0,tt)});var ot,st,lt,ut,ct=nt(0),ft=[ct,ct],ht=W?0:1,pt=Y?0:1,dt=0,vt=0,gt=0,yt=0;function mt(t,e){if(void 0!==t){var r=at(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),dt+=e,vt+=r[0]*e,gt+=r[1]*e,yt+=r[2]*e,r}return[0,0,0,0]}function xt(t,e,r,n){var i=t[r.bin0];if(void 0===i)return mt(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,mt(i+r.frac*u+n.frac*(c+r.frac*a))}if("default"!==X){var bt,_t=0;try{bt=new Uint8Array(K*$*4)}catch(t){bt=new Array(K*$*4)}if("smooth"===X){var wt,Tt,kt,At=U||N,Mt=V||j,St=new Array(At.length),Et=new Array(Mt.length),Lt=new Array(Q),Ct=U?w:_,Ot=V?w:_;for(C=0;CXt||Xt>M._length))for(O=Gt;OKt||Kt>A._length)){var $t=c({x:Jt,y:Yt},z,t._fullLayout);$t.x=Jt,$t.y=Yt;var Qt=D.z[C][O];void 0===Qt?($t.z="",$t.zLabel=""):($t.z=Qt,$t.zLabel=s.tickText(Ut,Qt,"hover").text);var te=D.text&&D.text[C]&&D.text[C][O];void 0!==te&&!1!==te||(te=""),$t.text=te;var ee=l.texttemplateString(Nt,$t,t._fullLayout._d3locale,$t,z._meta||{});if(ee){var re=ee.split("
"),ne=re.length,ie=0;for(P=0;P0&&(a=!0);for(var l=0;la){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]u?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:u:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),u=d(r,a,s),c=t===i?0:1;return l[c]!==u[c]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}t.exports=function(t,e,r,n,a){var s,l,u=-1.1*e,h=-.1*e,p=t-h,d=r[0],v=r[1],g=Math.min(f(d+h,d+p,n,a),f(v+h,v+p,n,a)),y=Math.min(f(d+u,d+h,n,a),f(v+u,v+h,n,a));if(g>y&&yo){var m=s===i?1:6,x=s===i?"M12":"M1";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf("-",m);s>0&&(o=o.substr(0,s));var u=n.d2c(o,0,a);if(ur.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),D.start=r.l2r(j),F||i.nestedProperty(e,y+".start").set(D.start)}var U=b.end,V=r.r2l(I.end),H=void 0!==V;if((b.endFound||H)&&V!==r.r2l(U)){var q=H?V:i.aggNums(Math.max,null,d);D.end=r.l2r(q),H||i.nestedProperty(e,y+".start").set(D.end)}var G="autobin"+s;return!1===e._input[G]&&(e._input[y]=i.extendFlat({},e[y]||{}),delete e._input[G],delete e[G]),[D,d]}t.exports={calc:function(t,e){var r,a,p,d,v=[],g=[],y="h"===e.orientation,m=o.getFromId(t,y?e.yaxis:e.xaxis),x=y?"y":"x",b={x:"y",y:"x"}[x],_=e[x+"calendar"],w=e.cumulative,T=h(t,e,m,x),k=T[0],A=T[1],M="string"==typeof k.size,S=[],E=M?S:k,L=[],C=[],O=[],P=0,I=e.histnorm,D=e.histfunc,z=-1!==I.indexOf("density");w.enabled&&z&&(I=I.replace(/ ?density$/,""),z=!1);var R,F="max"===D||"min"===D?null:0,B=l.count,N=u[I],j=!1,U=function(t){return m.r2c(t,0,_)};for(i.isArrayOrTypedArray(e[b])&&"count"!==D&&(R=e[b],j="avg"===D,B=l[D]),r=U(k.start),p=U(k.end)+(r-o.tickIncrement(r,k.size,!1,_))/1e6;r=0&&d=0;n--)s(n);else if("increasing"===e){for(n=1;n=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(g,w.direction,w.currentbin);var K=Math.min(v.length,g.length),$=[],Q=0,tt=K-1;for(r=0;r=Q;r--)if(g[r]){tt=r;break}for(r=Q;r<=tt;r++)if(n(v[r])&&n(g[r])){var et={p:v[r],s:g[r],b:0};w.enabled||(et.pts=O[r],Z?et.ph0=et.ph1=O[r].length?A[O[r][0]]:v[r]:(e._computePh=!0,et.ph0=q(S[r]),et.ph1=q(S[r+1],!0))),$.push(et)}return 1===$.length&&($[0].width1=o.tickIncrement($[0].p,k.size,!1,_)-$[0].p),s($,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected($,e,X),$},calcAllAutoBins:h}},72406:function(t){"use strict";t.exports={eventDataKeys:["binNumber"]}},82222:function(t,e,r){"use strict";var n=r(71828),i=r(41675),a=r(73972).traceIs,o=r(26125),s=n.nestedProperty,l=r(99082).getAxisGroup,u=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],c=["x","y"];t.exports=function(t,e){var r,f,h,p,d,v,g,y=e._histogramBinOpts={},m=[],x={},b=[];function _(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function w(t){return"v"===t.orientation?"x":"y"}function T(t,r,a){var o=t.uid+"__"+a;r||(r=o);var s=function(t,r){return i.getFromTrace({_fullLayout:e},t,r).type}(t,a),l=t[a+"calendar"]||"",u=y[r],c=!0;u&&(s===u.axType&&l===u.calendar?(c=!1,u.traces.push(t),u.dirs.push(a)):(r=o,s!==u.axType&&n.warn(["Attempted to group the bins of trace",t.index,"set on a","type:"+s,"axis","with bins on","type:"+u.axType,"axis."].join(" ")),l!==u.calendar&&n.warn(["Attempted to group the bins of trace",t.index,"set with a",l,"calendar","with bins",u.calendar?"on a "+u.calendar+" calendar":"w/o a set calendar"].join(" ")))),c&&(y[r]={traces:[t],dirs:[a],axType:s,calendar:t[a+"calendar"]||""}),t["_"+a+"bingroup"]=r}for(d=0;dS&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],L=[],C=[],O="string"==typeof w.size,P="string"==typeof A.size,I=[],D=[],z=O?I:w,R=P?D:A,F=0,B=[],N=[],j=e.histnorm,U=e.histfunc,V=-1!==j.indexOf("density"),H="max"===U||"min"===U?null:0,q=a.count,G=o[j],Z=!1,W=[],Y=[],X="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";X&&"count"!==U&&(Z="avg"===U,q=a[U]);var J=w.size,K=x(w.start),$=x(w.end)+(K-i.tickIncrement(K,J,!1,y))/1e6;for(r=K;r<$;r=i.tickIncrement(r,J,!1,y))L.push(H),I.push(r),Z&&C.push(0);I.push(r);var Q,tt=L.length,et=(r-K)/tt,rt=(Q=K+et/2,v.c2r(Q,0,y)),nt=A.size,it=b(A.start),at=b(A.end)+(it-i.tickIncrement(it,nt,!1,m))/1e6;for(r=it;r=0&&p=0&&d-1,flipY:C.tiling.flip.indexOf("y")>-1,orientation:C.tiling.orientation,pad:{inner:C.tiling.pad},maxDepth:C._maxDepth}).descendants(),z=1/0,R=-1/0;D.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(z=Math.min(z,e),R=Math.max(R,e))})),d=d.data(D,c.getPtId),C._maxVisibleLayers=isFinite(R)?R-z+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],b),d.order();var F=null;if(T&&S){var B=c.getPtId(S);d.each((function(t){null===F&&c.getPtId(t)===B&&(F={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var N=function(){return F||{x0:0,x1:g,y0:0,y1:y}},j=d;return T&&(j=j.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),j.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.tiling.pad),s._hoverY=x(I?s.y1-C.tiling.pad/2:s.y0+C.tiling.pad/2);var d=n.select(this),v=i.ensureSingle(d,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?v.transition().attrTween("d",(function(t){var e=A(t,p,N(),[g,y],{orientation:C.tiling.orientation,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1});return function(t){return b(e(t))}})):v.attr("d",b),d.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),v.call(l,s,C,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=h(s,r,C,e,L)||"";var k=i.ensureSingle(d,"g","slicetext"),S=i.ensureSingle(k,"text","",(function(t){t.attr("data-notex",1)})),D=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font));S.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",P?"end":O?"start":"middle").call(a.font,D).call(o.convertToTspans,t),s.textBB=a.bBox(S.node()),s.transform=_(s,{fontSize:D.size}),s.transform.fontSize=D.size,T?S.transition().attrTween("transform",(function(t){var e=M(t,p,N(),[g,y]);return function(t){return w(e(t))}})):S.attr("transform",w(s))})),F}},69816:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"icicle",basePlotModule:r(96346),categories:[],animatable:!0,attributes:r(46291),layoutAttributes:r(92894),supplyDefaults:r(56524),supplyLayoutDefaults:r(21070),calc:r(46584).y,crossTraceCalc:r(46584).T,plot:r(85596),style:r(82454).style,colorbar:r(4898),meta:{}}},92894:function(t){"use strict";t.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}},21070:function(t,e,r){"use strict";var n=r(71828),i=r(92894);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("iciclecolorway",e.colorway),r("extendiciclecolors")}},21538:function(t,e,r){"use strict";var n=r(674),i=r(14102);t.exports=function(t,e,r){var a=r.flipX,o=r.flipY,s="h"===r.orientation,l=r.maxDepth,u=e[0],c=e[1];l&&(u=(t.height+1)*e[0]/Math.min(t.height+1,l),c=(t.height+1)*e[1]/Math.min(t.height+1,l));var f=n.partition().padding(r.pad.inner).size(s?[e[1],u]:[e[0],c])(t);return(s||a||o)&&i(f,e,{swapXY:s,flipX:a,flipY:o}),f}},85596:function(t,e,r){"use strict";var n=r(80694),i=r(90666);t.exports=function(t,e,r,a){return n(t,e,r,a,{type:"icicle",drawDescendants:i})}},82454:function(t,e,r){"use strict";var n=r(39898),i=r(7901),a=r(71828),o=r(72597).resizeText,s=r(43467);function l(t,e,r,n){var o=e.data.data,l=!e.children,u=o.i,c=a.castOption(r,u,"marker.line.color")||i.defaultLine,f=a.castOption(r,u,"marker.line.width")||0;t.call(s,e,r,n).style("stroke-width",f).call(i.stroke,c).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._iciclelayer.selectAll(".trace");o(t,e,"icicle"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style("opacity",i.opacity),r.selectAll("path.surface").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},17230:function(t,e,r){"use strict";for(var n=r(9012),i=r(5386).fF,a=r(1426).extendFlat,o=r(51877).colormodel,s=["rgb","rgba","rgba256","hsl","hsla"],l=[],u=[],c=0;c0||n.inbox(r-o.y0,r-(o.y0+o.h*s.dy),0)>0)){var c,f=Math.floor((e-o.x0)/s.dx),h=Math.floor(Math.abs(r-o.y0)/s.dy);if(s._hasZ?c=o.z[h][f]:s._hasSource&&(c=s._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(f,h,1,1).data),c){var p,d=o.hi||s.hoverinfo;if(d){var v=d.split("+");-1!==v.indexOf("all")&&(v=["color"]),-1!==v.indexOf("color")&&(p=!0)}var g,y=a.colormodel[s.colormodel],m=y.colormodel||s.colormodel,x=m.length,b=s._scaler(c),_=y.suffix,w=[];(s.hovertemplate||p)&&(w.push("["+[b[0]+_[0],b[1]+_[1],b[2]+_[2]].join(", ")),4===x&&w.push(", "+b[3]+_[3]),w.push("]"),w=w.join(""),t.extraText=m.toUpperCase()+": "+w),Array.isArray(s.hovertext)&&Array.isArray(s.hovertext[h])?g=s.hovertext[h][f]:Array.isArray(s.text)&&Array.isArray(s.text[h])&&(g=s.text[h][f]);var T=u.c2p(o.y0+(h+.5)*s.dy),k=o.x0+(f+.5)*s.dx,A=o.y0+(h+.5)*s.dy,M="["+c.slice(0,s.colormodel.length).join(", ")+"]";return[i.extendFlat(t,{index:[h,f],x0:l.c2p(o.x0+f*s.dx),x1:l.c2p(o.x0+(f+1)*s.dx),y0:T,y1:T,color:b,xVal:k,xLabelVal:k,yVal:A,yLabelVal:A,zLabelVal:M,text:g,hovertemplateLabels:{zLabel:M,colorLabel:w,"color[0]Label":b[0]+_[0],"color[1]Label":b[1]+_[1],"color[2]Label":b[2]+_[2],"color[3]Label":b[3]+_[3]}})]}}}},94507:function(t,e,r){"use strict";t.exports={attributes:r(17230),supplyDefaults:r(13245),calc:r(71113),plot:r(60775),style:r(12826),hoverPoints:r(28749),eventData:r(30835),moduleType:"trace",name:"image",basePlotModule:r(93612),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}},60775:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=i.strTranslate,o=r(77922),s=r(51877),l=r(3883),u=r(32396).STYLE;t.exports=function(t,e,r,c){var f=e.xaxis,h=e.yaxis,p=!t._context._exportedPlot&&l();i.makeTraceGroups(c,r,"im").each((function(e){var r=n.select(this),l=e[0],c=l.trace,d=("fast"===c.zsmooth||!1===c.zsmooth&&p)&&!c._hasZ&&c._hasSource&&"linear"===f.type&&"linear"===h.type;c._realImage=d;var v,g,y,m,x,b,_=l.z,w=l.x0,T=l.y0,k=l.w,A=l.h,M=c.dx,S=c.dy;for(b=0;void 0===v&&b0;)g=f.c2p(w+b*M),b--;for(b=0;void 0===m&&b0;)x=h.c2p(T+b*S),b--;gI[0];if(D||z){var R=v+E/2,F=m+L/2;O+="transform:"+a(R+"px",F+"px")+"scale("+(D?-1:1)+","+(z?-1:1)+")"+a(-R+"px",-F+"px")+";"}}C.attr("style",O);var B=new Promise((function(t){if(c._hasZ)t();else if(c._hasSource)if(c._canvas&&c._canvas.el.width===k&&c._canvas.el.height===A&&c._canvas.source===c.source)t();else{var e=document.createElement("canvas");e.width=k,e.height=A;var r=e.getContext("2d",{willReadFrequently:!0});c._image=c._image||new Image;var n=c._image;n.onload=function(){r.drawImage(n,0,0),c._canvas={el:e,source:c.source},t()},n.setAttribute("src",c.source)}})).then((function(){var t,e;if(c._hasZ)e=N((function(t,e){return _[e][t]})),t=e.toDataURL("image/png");else if(c._hasSource)if(d)t=c.source;else{var r=c._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,k,A).data;e=N((function(t,e){var n=4*(e*k+t);return[r[n],r[n+1],r[n+2],r[n+3]]})),t=e.toDataURL("image/png")}C.attr({"xlink:href":t,height:L,width:E,x:v,y:m})}));t._promises.push(B)}function N(t){var e=document.createElement("canvas");e.width=E,e.height=L;var r,n=e.getContext("2d",{willReadFrequently:!0}),a=function(t){return i.constrain(Math.round(f.c2p(w+t*M)-v),0,E)},o=function(t){return i.constrain(Math.round(h.c2p(T+t*S)-m),0,L)},u=s.colormodel[c.colormodel],p=u.colormodel||c.colormodel,d=u.fmt;for(b=0;b0}function T(t){t.each((function(t){m.stroke(n.select(this),t.line.color)})).each((function(t){m.fill(n.select(this),t.color)})).style("stroke-width",(function(t){return t.line.width}))}function k(t,e,r){var n=t._fullLayout,i=o.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},e),a={type:"linear",_id:"x"+e._id},s={letter:"x",font:n.font,noHover:!0,noTickson:!0};function l(t,e){return o.coerce(i,a,y,t,e)}return v(i,a,l,s,n),g(i,a,l,s),a}function A(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+"x"+r]}function M(t,e,r,i){var a=document.createElementNS("http://www.w3.org/2000/svg","text"),o=n.select(a);return o.text(t).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",t).call(p.convertToTspans,i).call(f.font,e),f.bBox(o.node())}function S(t,e,r,n,i,a){var s="_cache"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=o.aggNums(a,null,[t[s].value,n],2);return t[s].value=l,l}t.exports=function(t,e,r,v){var g,y=t._fullLayout;w(r)&&v&&(g=v()),o.makeTraceGroups(y._indicatorlayer,e,"trace").each((function(e){var v,E,L,C,O,P=e[0].trace,I=n.select(this),D=P._hasGauge,z=P._isAngular,R=P._isBullet,F=P.domain,B={w:y._size.w*(F.x[1]-F.x[0]),h:y._size.h*(F.y[1]-F.y[0]),l:y._size.l+y._size.w*F.x[0],r:y._size.r+y._size.w*(1-F.x[1]),t:y._size.t+y._size.h*(1-F.y[1]),b:y._size.b+y._size.h*F.y[0]},N=B.l+B.w/2,j=B.t+B.h/2,U=Math.min(B.w/2,B.h),V=h.innerRadius*U,H=P.align||"center";if(E=j,D){if(z&&(v=N,E=j+U/2,L=function(t){return function(t,e){return[e/Math.sqrt(t.width/2*(t.width/2)+t.height*t.height),t,e]}(t,.9*V)}),R){var q=h.bulletPadding,G=1-h.bulletNumberDomainSize+q;v=B.l+(G+(1-G)*b[H])*B.w,L=function(t){return A(t,(h.bulletNumberDomainSize-q)*B.w,B.h)}}}else v=B.l+b[H]*B.w,L=function(t){return A(t,B.w,B.h)};!function(t,e,r,i){var u,c,h,v=r[0].trace,g=i.numbersX,y=i.numbersY,T=v.align||"center",A=x[T],E=i.transitionOpts,L=i.onComplete,C=o.ensureSingle(e,"g","numbers"),O=[];v._hasNumber&&O.push("number"),v._hasDelta&&(O.push("delta"),"left"===v.delta.position&&O.reverse());var P=C.selectAll("text").data(O);function I(e,r,n,i){if(!e.match("s")||n>=0==i>=0||r(n).slice(-1).match(_)||r(i).slice(-1).match(_))return r;var a=e.slice().replace("s","f").replace(/\d+/,(function(t){return parseInt(t)-1})),o=k(t,{tickformat:a});return function(t){return Math.abs(t)<1?d.tickText(o,t).text:r(t)}}P.enter().append("text"),P.attr("text-anchor",(function(){return A})).attr("class",(function(t){return t})).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),P.exit().remove();var D,z=v.mode+v.align;if(v._hasDelta&&(D=function(){var e=k(t,{tickformat:v.delta.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.delta.suffix,s=v.delta.prefix,l=function(t){return v.delta.relative?t.relativeDelta:t.delta},u=function(t,e){return 0===t||"number"!=typeof t||isNaN(t)?"-":(t>0?v.delta.increasing.symbol:v.delta.decreasing.symbol)+s+e(t)+o},h=function(t){return t.delta>=0?v.delta.increasing.color:v.delta.decreasing.color};void 0===v._deltaLastValue&&(v._deltaLastValue=l(r[0]));var g=C.select("text.delta");function y(){g.text(u(l(r[0]),i)).call(m.fill,h(r[0])).call(p.convertToTspans,t)}return g.call(f.font,v.delta.font).call(m.fill,h({delta:v._deltaLastValue})),w(E)?g.transition().duration(E.duration).ease(E.easing).tween("text",(function(){var t=n.select(this),e=l(r[0]),o=v._deltaLastValue,s=I(v.delta.valueformat,i,o,e),c=a(o,e);return v._deltaLastValue=e,function(e){t.text(u(c(e),s)),t.call(m.fill,h({delta:c(e)}))}})).each("end",(function(){y(),L&&L()})).each("interrupt",(function(){y(),L&&L()})):y(),c=M(u(l(r[0]),i),v.delta.font,A,t),g}(),z+=v.delta.position+v.delta.font.size+v.delta.font.family+v.delta.valueformat,z+=v.delta.increasing.symbol+v.delta.decreasing.symbol,h=c),v._hasNumber&&(function(){var e=k(t,{tickformat:v.number.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.number.suffix,s=v.number.prefix,l=C.select("text.number");function c(){var e="number"==typeof r[0].y?s+i(r[0].y)+o:"-";l.text(e).call(f.font,v.number.font).call(p.convertToTspans,t)}w(E)?l.transition().duration(E.duration).ease(E.easing).each("end",(function(){c(),L&&L()})).each("interrupt",(function(){c(),L&&L()})).attrTween("text",(function(){var t=n.select(this),e=a(r[0].lastY,r[0].y);v._lastValue=r[0].y;var l=I(v.number.valueformat,i,r[0].lastY,r[0].y);return function(r){t.text(s+l(e(r))+o)}})):c(),u=M(s+i(r[0].y)+o,v.number.font,A,t)}(),z+=v.number.font.size+v.number.font.family+v.number.valueformat+v.number.suffix+v.number.prefix,h=u),v._hasDelta&&v._hasNumber){var R,F,B=[(u.left+u.right)/2,(u.top+u.bottom)/2],N=[(c.left+c.right)/2,(c.top+c.bottom)/2],j=.75*v.delta.font.size;"left"===v.delta.position&&(R=S(v,"deltaPos",0,-1*(u.width*b[v.align]+c.width*(1-b[v.align])+j),z,Math.min),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:c.left+R,right:u.right,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),"right"===v.delta.position&&(R=S(v,"deltaPos",0,u.width*(1-b[v.align])+c.width*b[v.align]+j,z,Math.max),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:u.left,right:c.right+R,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),"bottom"===v.delta.position&&(R=null,F=c.height,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height,bottom:u.bottom+c.height}),"top"===v.delta.position&&(R=null,F=u.top,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height-c.height,bottom:u.bottom}),D.attr({dx:R,dy:F})}(v._hasNumber||v._hasDelta)&&C.attr("transform",(function(){var t=i.numbersScaler(h);z+=t[2];var e,r=S(v,"numbersScale",1,t[0],z,Math.min);v._scaleNumbers||(r=1),e=v._isAngular?y-r*h.bottom:y-r*(h.top+h.bottom)/2,v._numbersTop=r*h.top+e;var n=h[T];"center"===T&&(n=(h.left+h.right)/2);var a=g-r*n;return a=S(v,"numbersTranslate",0,a,z,Math.max),l(a,e)+s(r)}))}(t,I,e,{numbersX:v,numbersY:E,numbersScaler:L,transitionOpts:r,onComplete:g}),D&&(C={range:P.gauge.axis.range,color:P.gauge.bgcolor,line:{color:P.gauge.bordercolor,width:0},thickness:1},O={range:P.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:P.gauge.bordercolor,width:P.gauge.borderwidth},thickness:1});var Z=I.selectAll("g.angular").data(z?e:[]);Z.exit().remove();var W=I.selectAll("g.angularaxis").data(z?e:[]);W.exit().remove(),z&&function(t,e,r,a){var o,s,f,h,p=r[0].trace,v=a.size,g=a.radius,y=a.innerRadius,m=a.gaugeBg,x=a.gaugeOutline,b=[v.l+v.w/2,v.t+v.h/2+g/2],_=a.gauge,A=a.layer,M=a.transitionOpts,S=a.onComplete,E=Math.PI/2;function L(t){var e=p.gauge.axis.range[0],r=(t-e)/(p.gauge.axis.range[1]-e)*Math.PI-E;return r<-E?-E:r>E?E:r}function C(t){return n.svg.arc().innerRadius((y+g)/2-t/2*(g-y)).outerRadius((y+g)/2+t/2*(g-y)).startAngle(-E)}function O(t){t.attr("d",(function(t){return C(t.thickness).startAngle(L(t.range[0])).endAngle(L(t.range[1]))()}))}_.enter().append("g").classed("angular",!0),_.attr("transform",l(b[0],b[1])),A.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),A.selectAll("g.xangularaxistick,path,text").remove(),(o=k(t,p.gauge.axis)).type="linear",o.range=p.gauge.axis.range,o._id="xangularaxis",o.ticklabeloverflow="allow",o.setScale();var P=function(t){return(o.range[0]-t.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},I={},D=d.makeLabelFns(o,0).labelStandoff;I.xFn=function(t){var e=P(t);return Math.cos(e)*D},I.yFn=function(t){var e=P(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(D+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*c)},I.anchorFn=function(t){var e=P(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},I.heightFn=function(t,e,r){var n=P(t);return-.5*(1+Math.sin(n))*r};var z=function(t){return l(b[0]+g*Math.cos(t),b[1]-g*Math.sin(t))};f=function(t){return z(P(t))};if(s=d.calcTicks(o),h=d.getTickSigns(o)[2],o.visible){h="inside"===o.ticks?-1:1;var R=(o.linewidth||1)/2;d.drawTicks(t,o,{vals:s,layer:A,path:"M"+h*R+",0h"+h*o.ticklen,transFn:function(t){var e=P(t);return z(e)+"rotate("+-u(e)+")"}}),d.drawLabels(t,o,{vals:s,layer:A,transFn:f,labelFns:I})}var F=[m].concat(p.gauge.steps),B=_.selectAll("g.bg-arc").data(F);B.enter().append("g").classed("bg-arc",!0).append("path"),B.select("path").call(O).call(T),B.exit().remove();var N=C(p.gauge.bar.thickness),j=_.selectAll("g.value-arc").data([p.gauge.bar]);j.enter().append("g").classed("value-arc",!0).append("path");var U,V,H,q=j.select("path");w(M)?(q.transition().duration(M.duration).ease(M.easing).each("end",(function(){S&&S()})).each("interrupt",(function(){S&&S()})).attrTween("d",(U=N,V=L(r[0].lastY),H=L(r[0].y),function(){var t=i(V,H);return function(e){return U.endAngle(t(e))()}})),p._lastValue=r[0].y):q.attr("d","number"==typeof r[0].y?N.endAngle(L(r[0].y)):"M0,0Z"),q.call(T),j.exit().remove(),F=[];var G=p.gauge.threshold.value;(G||0===G)&&F.push({range:[G,G],color:p.gauge.threshold.color,line:{color:p.gauge.threshold.line.color,width:p.gauge.threshold.line.width},thickness:p.gauge.threshold.thickness});var Z=_.selectAll("g.threshold-arc").data(F);Z.enter().append("g").classed("threshold-arc",!0).append("path"),Z.select("path").call(O).call(T),Z.exit().remove();var W=_.selectAll("g.gauge-outline").data([x]);W.enter().append("g").classed("gauge-outline",!0).append("path"),W.select("path").call(O).call(T),W.exit().remove()}(t,0,e,{radius:U,innerRadius:V,gauge:Z,layer:W,size:B,gaugeBg:C,gaugeOutline:O,transitionOpts:r,onComplete:g});var Y=I.selectAll("g.bullet").data(R?e:[]);Y.exit().remove();var X=I.selectAll("g.bulletaxis").data(R?e:[]);X.exit().remove(),R&&function(t,e,r,n){var i,a,o,s,u,c=r[0].trace,f=n.gauge,p=n.layer,v=n.gaugeBg,g=n.gaugeOutline,y=n.size,x=c.domain,b=n.transitionOpts,_=n.onComplete;f.enter().append("g").classed("bullet",!0),f.attr("transform",l(y.l,y.t)),p.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),p.selectAll("g.xbulletaxistick,path,text").remove();var A=y.h,M=c.gauge.bar.thickness*A,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(c._hasNumber||c._hasDelta?1-h.bulletNumberDomainSize:1);function L(t){t.attr("width",(function(t){return Math.max(0,i.c2p(t.range[1])-i.c2p(t.range[0]))})).attr("x",(function(t){return i.c2p(t.range[0])})).attr("y",(function(t){return.5*(1-t.thickness)*A})).attr("height",(function(t){return t.thickness*A}))}(i=k(t,c.gauge.axis))._id="xbulletaxis",i.domain=[S,E],i.setScale(),a=d.calcTicks(i),o=d.makeTransTickFn(i),s=d.getTickSigns(i)[2],u=y.t+y.h,i.visible&&(d.drawTicks(t,i,{vals:"inside"===i.ticks?d.clipEnds(i,a):a,layer:p,path:d.makeTickPath(i,u,s),transFn:o}),d.drawLabels(t,i,{vals:a,layer:p,transFn:o,labelFns:d.makeLabelFns(i,u)}));var C=[v].concat(c.gauge.steps),O=f.selectAll("g.bg-bullet").data(C);O.enter().append("g").classed("bg-bullet",!0).append("rect"),O.select("rect").call(L).call(T),O.exit().remove();var P=f.selectAll("g.value-bullet").data([c.gauge.bar]);P.enter().append("g").classed("value-bullet",!0).append("rect"),P.select("rect").attr("height",M).attr("y",(A-M)/2).call(T),w(b)?P.select("rect").transition().duration(b.duration).ease(b.easing).each("end",(function(){_&&_()})).each("interrupt",(function(){_&&_()})).attr("width",Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y)))):P.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y))):0),P.exit().remove();var I=r.filter((function(){return c.gauge.threshold.value||0===c.gauge.threshold.value})),D=f.selectAll("g.threshold-bullet").data(I);D.enter().append("g").classed("threshold-bullet",!0).append("line"),D.select("line").attr("x1",i.c2p(c.gauge.threshold.value)).attr("x2",i.c2p(c.gauge.threshold.value)).attr("y1",(1-c.gauge.threshold.thickness)/2*A).attr("y2",(1-(1-c.gauge.threshold.thickness)/2)*A).call(m.stroke,c.gauge.threshold.line.color).style("stroke-width",c.gauge.threshold.line.width),D.exit().remove();var z=f.selectAll("g.gauge-outline").data([g]);z.enter().append("g").classed("gauge-outline",!0).append("rect"),z.select("rect").call(L).call(T),z.exit().remove()}(t,0,e,{gauge:Y,layer:X,size:B,gaugeBg:C,gaugeOutline:O,transitionOpts:r,onComplete:g});var J=I.selectAll("text.title").data(e);J.exit().remove(),J.enter().append("text").classed("title",!0),J.attr("text-anchor",(function(){return R?x.right:x[P.title.align]})).text(P.title.text).call(f.font,P.title.font).call(p.convertToTspans,t),J.attr("transform",(function(){var t,e=B.l+B.w*b[P.title.align],r=h.titlePadding,n=f.bBox(J.node());return D?(z&&(t=P.gauge.axis.visible?f.bBox(W.node()).top-r-n.bottom:B.t+B.h/2-U/2-n.bottom-r),R&&(t=E-(n.top+n.bottom)/2,e=B.l-h.bulletPadding*B.w)):t=P._numbersTop-r-n.bottom,l(e,t)}))}))}},16249:function(t,e,r){"use strict";var n=r(50693),i=r(12663).axisHoverFormat,a=r(5386).fF,o=r(2418),s=r(9012),l=r(1426).extendFlat,u=r(30962).overrideAll,c=t.exports=u(l({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:a(),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),valuehoverformat:i("value",1),showlegend:l({},s.showlegend,{dflt:!1})},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,lightposition:o.lightposition,lighting:o.lighting,flatshading:o.flatshading,contour:o.contour,hoverinfo:l({},s.hoverinfo)}),"calc","nested");c.flatshading.dflt=!0,c.lighting.facenormalsepsilon.dflt=0,c.x.editType=c.y.editType=c.z.editType=c.value.editType="calc+clearAxisTypes",c.transforms=void 0},56959:function(t,e,r){"use strict";var n=r(78803),i=r(88489).processGrid,a=r(88489).filter;t.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=a(e.x,e._len),e._y=a(e.y,e._len),e._z=a(e.z,e._len),e._value=a(e.value,e._len);var r=i(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n-1}function R(t,e){return null===t?e:t}function F(e,r,n){C();var i,a,o,l=[r],u=[n];if(s>=1)l=[r],u=[n];else if(s>0){var c=function(t,e){var r=t[0],n=t[1],i=t[2],a=function(t,e,r){for(var n=[],i=0;i-1?n[p]:L(d,v,y);h[p]=x>-1?x:P(d,v,y,R(e,m))}i=h[0],a=h[1],o=h[2],t._meshI.push(i),t._meshJ.push(a),t._meshK.push(o),++g}}function B(t,e,r,n){var i=t[3];in&&(i=n);for(var a=(t[3]-i)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*t[s]+a*e[s];return o}function N(t,e,r){return t>=e&&t<=r}function j(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function U(e){for(var r=[],n=0;n<4;n++){var i=e[n];r.push([t._x[i],t._y[i],t._z[i],t._value[i]])}return r}function V(t,e,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(e[0][3],n,i),N(e[1][3],n,i),N(e[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return j(e[0][3])&&j(e[1][3])&&j(e[2][3])?(F(t,e,r),!0):a<3&&V(t,e,r,S,E,++a)};if(s[0]&&s[1]&&s[2])return l(t,e,r)||o;var u=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach((function(a){if(s[a[0]]&&s[a[1]]&&!s[a[2]]){var c=e[a[0]],f=e[a[1]],h=e[a[2]],p=B(h,c,n,i),d=B(h,f,n,i);o=l(t,[d,p,c],[-1,-1,r[a[0]]])||o,o=l(t,[c,f,d],[r[a[0]],r[a[1]],-1])||o,u=!0}})),u||[[0,1,2],[1,2,0],[2,0,1]].forEach((function(a){if(s[a[0]]&&!s[a[1]]&&!s[a[2]]){var c=e[a[0]],f=e[a[1]],h=e[a[2]],p=B(f,c,n,i),d=B(h,c,n,i);o=l(t,[d,p,c],[-1,-1,r[a[0]]])||o,u=!0}})),o}function H(t,e,r,n){var i=!1,a=U(e),o=[N(a[0][3],r,n),N(a[1][3],r,n),N(a[2][3],r,n),N(a[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return i;if(o[0]&&o[1]&&o[2]&&o[3])return v&&(i=function(t,e,r){var n=function(n,i,a){F(t,[e[n],e[i],e[a]],[r[n],r[i],r[a]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(t,a,e)||i),i;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&o[l[2]]&&!o[l[3]]){var u=a[l[0]],c=a[l[1]],f=a[l[2]],h=a[l[3]];if(v)i=F(t,[u,c,f],[e[l[0]],e[l[1]],e[l[2]]])||i;else{var p=B(h,u,r,n),d=B(h,c,r,n),g=B(h,f,r,n);i=F(null,[p,d,g],[-1,-1,-1])||i}s=!0}})),s||([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&!o[l[2]]&&!o[l[3]]){var u=a[l[0]],c=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(f,u,r,n),d=B(f,c,r,n),g=B(h,c,r,n),y=B(h,u,r,n);v?(i=F(t,[u,y,p],[e[l[0]],-1,-1])||i,i=F(t,[c,d,g],[e[l[1]],-1,-1])||i):i=function(t,e,r){var n=function(t,n,i){F(null,[e[t],e[n],e[i]],[r[t],r[n],r[i]])};n(0,1,2),n(2,3,0)}(0,[p,d,g,y],[-1,-1,-1,-1])||i,s=!0}})),s||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach((function(l){if(o[l[0]]&&!o[l[1]]&&!o[l[2]]&&!o[l[3]]){var u=a[l[0]],c=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(c,u,r,n),d=B(f,u,r,n),g=B(h,u,r,n);v?(i=F(t,[u,p,d],[e[l[0]],-1,-1])||i,i=F(t,[u,d,g],[e[l[0]],-1,-1])||i,i=F(t,[u,g,p],[e[l[0]],-1,-1])||i):i=F(null,[p,d,g],[-1,-1,-1])||i,s=!0}}))),i}function q(t,e,r,n,i,a,o,s,l,u,c){var f=!1;return d&&(z(t,"A")&&(f=H(null,[e,r,n,a],u,c)||f),z(t,"B")&&(f=H(null,[r,n,i,l],u,c)||f),z(t,"C")&&(f=H(null,[r,a,o,l],u,c)||f),z(t,"D")&&(f=H(null,[n,a,s,l],u,c)||f),z(t,"E")&&(f=H(null,[r,n,a,l],u,c)||f)),v&&(f=H(t,[r,n,a,l],u,c)||f),f}function G(t,e,r,n,i,a,o,s){return[!0===s[0]||V(t,U([e,r,n]),[e,r,n],a,o),!0===s[1]||V(t,U([n,i,e]),[n,i,e],a,o)]}function Z(t,e,r,n,i,a,o,s,l){return s?G(t,e,r,i,n,a,o,l):G(t,r,i,n,e,a,o,l)}function W(t,e,r,n,i,a,o){var s,l,u,c,f=!1,h=function(){f=V(t,[s,l,u],[-1,-1,-1],i,a)||f,f=V(t,[u,c,s],[-1,-1,-1],i,a)||f},p=o[0],d=o[1],v=o[2];return p&&(s=I(U([k(e,r-0,n-0)])[0],U([k(e-1,r-0,n-0)])[0],p),l=I(U([k(e,r-0,n-1)])[0],U([k(e-1,r-0,n-1)])[0],p),u=I(U([k(e,r-1,n-1)])[0],U([k(e-1,r-1,n-1)])[0],p),c=I(U([k(e,r-1,n-0)])[0],U([k(e-1,r-1,n-0)])[0],p),h()),d&&(s=I(U([k(e-0,r,n-0)])[0],U([k(e-0,r-1,n-0)])[0],d),l=I(U([k(e-0,r,n-1)])[0],U([k(e-0,r-1,n-1)])[0],d),u=I(U([k(e-1,r,n-1)])[0],U([k(e-1,r-1,n-1)])[0],d),c=I(U([k(e-1,r,n-0)])[0],U([k(e-1,r-1,n-0)])[0],d),h()),v&&(s=I(U([k(e-0,r-0,n)])[0],U([k(e-0,r-0,n-1)])[0],v),l=I(U([k(e-0,r-1,n)])[0],U([k(e-0,r-1,n-1)])[0],v),u=I(U([k(e-1,r-1,n)])[0],U([k(e-1,r-1,n-1)])[0],v),c=I(U([k(e-1,r-0,n)])[0],U([k(e-1,r-0,n-1)])[0],v),h()),f}function Y(t,e,r,n,i,a,o,s,l,u,c,f){var h=t;return f?(d&&"even"===t&&(h=null),q(h,e,r,n,i,a,o,s,l,u,c)):(d&&"odd"===t&&(h=null),q(h,l,s,o,a,i,n,r,e,u,c))}function X(t,e,r,n,i){for(var a=[],o=0,s=0;sMath.abs(L-M)?[A,L]:[L,M];d=!0,$(r,C[0],C[1]),d=!1}}var I=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];["x","y","z"].forEach((function(r){for(var n=[],i=0;i0&&(f.push(d.id),"x"===r?h.push([d.distRatio,0,0]):"y"===r?h.push([0,d.distRatio,0]):h.push([0,0,d.distRatio]))}else c=rt(1,"x"===r?b-1:"y"===r?_-1:w-1);f.length>0&&(n[a]="x"===r?Q(e,f,o,s,h,n[a]):"y"===r?tt(e,f,o,s,h,n[a]):et(e,f,o,s,h,n[a]),a++),c.length>0&&(n[a]="x"===r?X(e,c,o,s,n[a]):"y"===r?J(e,c,o,s,n[a]):K(e,c,o,s,n[a]),a++)}var v=t.caps[r];v.show&&v.fill&&(D(v.fill),n[a]="x"===r?X(e,[0,b-1],o,s,n[a]):"y"===r?J(e,[0,_-1],o,s,n[a]):K(e,[0,w-1],o,s,n[a]),a++)}})),0===g&&O(),t._meshX=n,t._meshY=i,t._meshZ=a,t._meshIntensity=o,t._Xs=y,t._Ys=m,t._Zs=x}(),t}t.exports={findNearestOnAxis:l,generateIsoMeshes:h,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new u(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}}},82738:function(t,e,r){"use strict";var n=r(71828),i=r(73972),a=r(16249),o=r(1586);function s(t,e,r,n,a){var s=a("isomin"),l=a("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var u=a("x"),c=a("y"),f=a("z"),h=a("value");u&&u.length&&c&&c.length&&f&&f.length&&h&&h.length?(i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),a("valuehoverformat"),["x","y","z"].forEach((function(t){a(t+"hoverformat");var e="caps."+t;a(e+".show")&&a(e+".fill");var r="slices."+t;a(r+".show")&&(a(r+".fill"),a(r+".locations"))})),a("spaceframe.show")&&a("spaceframe.fill"),a("surface.show")&&(a("surface.count"),a("surface.fill"),a("surface.pattern")),a("contour.show")&&(a("contour.color"),a("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach((function(t){a(t)})),o(t,e,n,a,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}t.exports={supplyDefaults:function(t,e,r,i){s(t,e,0,i,(function(r,i){return n.coerce(t,e,a,r,i)}))},supplyIsoDefaults:s}},64943:function(t,e,r){"use strict";t.exports={attributes:r(16249),supplyDefaults:r(82738).supplyDefaults,calc:r(56959),colorbar:{min:"cmin",max:"cmax"},plot:r(22674).createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:r(58547),categories:["gl3d","showLegend"],meta:{}}},2418:function(t,e,r){"use strict";var n=r(50693),i=r(12663).axisHoverFormat,a=r(5386).fF,o=r(54532),s=r(9012),l=r(1426).extendFlat;t.exports=l({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"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"}),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:void 0},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:l({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:"calc"},lightposition:{x:l({},o.lightposition.x,{dflt:1e5}),y:l({},o.lightposition.y,{dflt:1e5}),z:l({},o.lightposition.z,{dflt:0}),editType:"calc"},lighting:l({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"},o.lighting),hoverinfo:l({},s.hoverinfo,{editType:"calc"}),showlegend:l({},s.showlegend,{dflt:!1})})},82932:function(t,e,r){"use strict";var n=r(78803);t.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},91134:function(t,e,r){"use strict";var n=r(9330).gl_mesh3d,i=r(9330).delaunay_triangulate,a=r(9330).alpha_shape,o=r(9330).convex_hull,s=r(81697).parseColorScale,l=r(78614),u=r(21081).extractOpts,c=r(90060);function f(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var h=f.prototype;function p(t){for(var e=[],r=t.length,n=0;n=e-.5)return!1;return!0}h.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},h.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,f=t.x.length,h=c(d(r.xaxis,t.x,e.dataScale[0],t.xcalendar),d(r.yaxis,t.y,e.dataScale[1],t.ycalendar),d(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!g(t.i,f)||!g(t.j,f)||!g(t.k,f))return;n=c(v(t.i),v(t.j),v(t.k))}else n=0===t.alphahull?o(h):t.alphahull>0?a(t.alphahull,h):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],a=e.length,o=0;oy):g=A>w,y=A;var M=u(w,T,k,A);M.pos=_,M.yc=(w+A)/2,M.i=b,M.dir=g?"increasing":"decreasing",M.x=M.pos,M.y=[k,T],m&&(M.orig_p=r[b]),d&&(M.tx=e.text[b]),v&&(M.htx=e.hovertext[b]),x.push(M)}else x.push({pos:_,empty:!0})}return e._extremes[l._id]=a.findExtremes(l,n.concat(h,f),{padded:!0}),x.length&&(x[0].t={labels:{open:i(t,"open:")+" ",high:i(t,"high:")+" ",low:i(t,"low:")+" ",close:i(t,"close:")+" "}}),x}t.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),s=function(t,e,r){var i=r._minDiff;if(!i){var a,s=t._fullData,l=[];for(i=1/0,a=0;a"+u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat):((m=i.extendFlat({},h)).y0=m.y1=_,m.yLabelVal=b,m.yLabel=u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat),m.name="",f.push(m),g[b]=m)}return f}function h(t,e,r,i){var a=t.cd,o=t.ya,l=a[0].trace,f=a[0].t,h=c(t,e,r,i);if(!h)return[];var p=a[h.index],d=h.index=p.i,v=p.dir;function g(t){return f.labels[t]+n.hoverLabelText(o,l[t][d],l.yhoverformat)}var y=p.hi||l.hoverinfo,m=y.split("+"),x="all"===y,b=x||-1!==m.indexOf("y"),_=x||-1!==m.indexOf("text"),w=b?[g("open"),g("high"),g("low"),g("close")+" "+u[v]]:[];return _&&s(p,l,w),h.extraText=w.join("
"),h.y0=h.y1=o.c2p(p.yc,!0),[h]}t.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?f(t,e,r,n):h(t,e,r,n)},hoverSplit:f,hoverOnPoints:h}},54186:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"ohlc",basePlotModule:r(93612),categories:["cartesian","svg","showLegend"],meta:{},attributes:r(2522),supplyDefaults:r(16169),calc:r(3485).calc,plot:r(72314),style:r(53101),hoverPoints:r(66449).hoverPoints,selectPoints:r(67324)}},14555:function(t,e,r){"use strict";var n=r(73972),i=r(71828);t.exports=function(t,e,r,a){var o=r("x"),s=r("open"),l=r("high"),u=r("low"),c=r("close");if(r("hoverlabel.split"),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],a),s&&l&&u&&c){var f=Math.min(s.length,l.length,u.length,c.length);return o&&(f=Math.min(f,i.minRowLength(o))),e._length=f,f}}},72314:function(t,e,r){"use strict";var n=r(39898),i=r(71828);t.exports=function(t,e,r,a){var o=e.yaxis,s=e.xaxis,l=!!s.rangebreaks;i.makeTraceGroups(a,r,"trace ohlc").each((function(t){var e=n.select(this),r=t[0],a=r.t;if(!0!==r.trace.visible||a.empty)e.remove();else{var u=a.tickLen,c=e.selectAll("path").data(i.identity);c.enter().append("path"),c.exit().remove(),c.attr("d",(function(t){if(t.empty)return"M0,0Z";var e=s.c2p(t.pos-u,!0),r=s.c2p(t.pos+u,!0),n=l?(e+r)/2:s.c2p(t.pos,!0);return"M"+e+","+o.c2p(t.o,!0)+"H"+n+"M"+n+","+o.c2p(t.h,!0)+"V"+o.c2p(t.l,!0)+"M"+r+","+o.c2p(t.c,!0)+"H"+n}))}}))}},67324:function(t){"use strict";t.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(r))for(e=0;e0;u&&(o="array");var c=r("categoryorder",o);"array"===c?(r("categoryarray"),r("ticktext")):(delete t.categoryarray,delete t.ticktext),u||"array"!==c||(e.categoryorder="trace")}}t.exports=function(t,e,r,f){function h(r,i){return n.coerce(t,e,l,r,i)}var p=s(t,e,{name:"dimensions",handleItemDefaults:c}),d=function(t,e,r,o,s){s("line.shape"),s("line.hovertemplate");var l=s("line.color",o.colorway[0]);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,f,h);o(e,f,h),Array.isArray(p)&&p.length||(e.visible=!1),u(e,p,"values",d),h("hoveron"),h("hovertemplate"),h("arrangement"),h("bundlecolors"),h("sortpaths"),h("counts");var v={family:f.font.family,size:Math.round(f.font.size),color:f.font.color};n.coerceFont(h,"labelfont",v);var g={family:f.font.family,size:Math.round(f.font.size/1.2),color:f.font.color};n.coerceFont(h,"tickfont",g)}},94873:function(t,e,r){"use strict";t.exports={attributes:r(99506),supplyDefaults:r(14647),calc:r(28699),plot:r(45784),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:r(27677),categories:["noOpacity"],meta:{}}},45460:function(t,e,r){"use strict";var n=r(39898),i=r(81684).k4,a=r(72391),o=r(30211),s=r(71828),l=s.strTranslate,u=r(91424),c=r(84267),f=r(63893);function h(t,e,r,i){var a=e._context.staticPlot,o=t.map(F.bind(0,e,r)),c=i.selectAll("g.parcatslayer").data([null]);c.enter().append("g").attr("class","parcatslayer").style("pointer-events",a?"none":"all");var h=c.selectAll("g.trace.parcats").data(o,p),m=h.enter().append("g").attr("class","trace parcats");h.attr("transform",(function(t){return l(t.x,t.y)})),m.append("g").attr("class","paths");var x=h.select("g.paths").selectAll("path.path").data((function(t){return t.paths}),p);x.attr("fill",(function(t){return t.model.color}));var w=x.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",(function(t){return t.model.color})).attr("fill-opacity",0);_(w),x.attr("d",(function(t){return t.svgD})),w.empty()||x.sort(v),x.exit().remove(),x.on("mouseover",g).on("mouseout",y).on("click",b),m.append("g").attr("class","dimensions");var A=h.select("g.dimensions").selectAll("g.dimension").data((function(t){return t.dimensions}),p);A.enter().append("g").attr("class","dimension"),A.attr("transform",(function(t){return l(t.x,0)})),A.exit().remove();var M=A.selectAll("g.category").data((function(t){return t.categories}),p),S=M.enter().append("g").attr("class","category");M.attr("transform",(function(t){return l(0,t.y)})),S.append("rect").attr("class","catrect").attr("pointer-events","none"),M.select("rect.catrect").attr("fill","none").attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})),T(S);var E=M.selectAll("rect.bandrect").data((function(t){return t.bands}),p);E.each((function(){s.raiseToTop(this)})),E.attr("fill",(function(t){return t.color}));var D=E.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",(function(t){return t.color})).attr("fill-opacity",0);E.attr("fill",(function(t){return t.color})).attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})).attr("y",(function(t){return t.y})).attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"perpendicular"===t.parcatsViewModel.arrangement?"ns-resize":"move"})),k(D),E.exit().remove(),S.append("text").attr("class","catlabel").attr("pointer-events","none");var z=e._fullLayout.paper_bgcolor;M.select("text.catlabel").attr("text-anchor",(function(t){return d(t)?"start":"end"})).attr("alignment-baseline","middle").style("text-shadow",f.makeTextShadow(z)).style("fill","rgb(0, 0, 0)").attr("x",(function(t){return d(t)?t.width+5:-5})).attr("y",(function(t){return t.height/2})).text((function(t){return t.model.categoryLabel})).each((function(t){u.font(n.select(this),t.parcatsViewModel.categorylabelfont),f.convertToTspans(n.select(this),e)})),S.append("text").attr("class","dimlabel"),M.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"ew-resize"})).attr("x",(function(t){return t.width/2})).attr("y",-5).text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})).each((function(t){u.font(n.select(this),t.parcatsViewModel.labelfont)})),M.selectAll("rect.bandrect").on("mouseover",L).on("mouseout",C),M.exit().remove(),A.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on("dragstart",O).on("drag",P).on("dragend",I)),h.each((function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll("g.paths").selectAll("path.path"),t.dimensionSelection=n.select(this).selectAll("g.dimensions").selectAll("g.dimension")})),h.exit().remove()}function p(t){return t.key}function d(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function v(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor"),L=n.mouse(f)[0];o.loneHover({trace:h,x:b-d.left+v.left,y:_-d.top+v.top,text:E,color:t.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:T,idealAlign:L1&&h.displayInd===f.dimensions.length-1?(i=u.left,a="left"):(i=u.left+u.width,a="right");var v=c.model.count,g=c.model.categoryLabel,y=v/c.parcatsViewModel.model.count,m={countLabel:v,categoryLabel:g,probabilityLabel:y.toFixed(3)},x=[];-1!==c.parcatsViewModel.hoverinfoItems.indexOf("count")&&x.push(["Count:",m.countLabel].join(" ")),-1!==c.parcatsViewModel.hoverinfoItems.indexOf("probability")&&x.push(["P("+m.categoryLabel+"):",m.probabilityLabel].join(" "));var b=x.join("
");return{trace:p,x:o*(i-e.left),y:s*(d-e.top),text:b,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:m,eventData:[{data:p._input,fullData:p,count:v,category:g,probability:y}]}}function L(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,i=r._fullLayout,a=i._paperdiv.node().getBoundingClientRect(),l=t.parcatsViewModel.hoveron,u=this;"color"===l?(function(t){var e=n.select(t).datum(),r=A(e);w(r),r.each((function(){s.raiseToTop(this)})),n.select(t.parentNode).selectAll("rect.bandrect").filter((function(t){return t.color===e.color})).each((function(){s.raiseToTop(this),n.select(this).attr("stroke","black").attr("stroke-width",1.5)}))}(u),S(u,"plotly_hover",n.event)):(function(t){n.select(t.parentNode).selectAll("rect.bandrect").each((function(t){var e=A(t);w(e),e.each((function(){s.raiseToTop(this)}))})),n.select(t.parentNode).select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(u),M(u,"plotly_hover",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none")&&("category"===l?e=E(r,a,u):"color"===l?e=function(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=r.getBoundingClientRect(),u=n.select(r).datum(),f=u.categoryViewModel,h=f.parcatsViewModel,p=h.model.dimensions[f.model.dimensionInd],d=h.trace,v=l.y+l.height/2;h.dimensions.length>1&&p.displayInd===h.dimensions.length-1?(i=l.left,a="left"):(i=l.left+l.width,a="right");var g=f.model.categoryLabel,y=u.parcatsViewModel.model.count,m=0;u.categoryViewModel.bands.forEach((function(t){t.color===u.color&&(m+=t.count)}));var x=f.model.count,b=0;h.pathSelection.each((function(t){t.model.color===u.color&&(b+=t.model.count)}));var _=m/y,w=m/b,T=m/x,k={countLabel:y,categoryLabel:g,probabilityLabel:_.toFixed(3)},A=[];-1!==f.parcatsViewModel.hoverinfoItems.indexOf("count")&&A.push(["Count:",k.countLabel].join(" ")),-1!==f.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(A.push("P(color ∩ "+g+"): "+k.probabilityLabel),A.push("P("+g+" | color): "+w.toFixed(3)),A.push("P(color | "+g+"): "+T.toFixed(3)));var M=A.join("
"),S=c.mostReadable(u.color,["black","white"]);return{trace:d,x:o*(i-e.left),y:s*(v-e.top),text:M,color:u.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:g,count:y,probability:_,categorycount:x,colorcount:b,bandcolorcount:m}]}}(r,a,u):"dimension"===l&&(e=function(t,e,r){var i=[];return n.select(r.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each((function(){i.push(E(t,e,this))})),i}(r,a,u)),e&&o.loneHover(e,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}))}}function C(t){var e=t.parcatsViewModel;e.dragDimension||(_(e.pathSelection),T(e.dimensionSelection.selectAll("g.category")),k(e.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),o.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(v),-1!==e.hoverinfoItems.indexOf("skip"))||("color"===t.parcatsViewModel.hoveron?S(this,"plotly_unhover",n.event):M(this,"plotly_unhover",n.event))}function O(t){"fixed"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll("g.category").select("rect.catrect").each((function(e){var r=n.mouse(this)[0],i=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=i&&i<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map((function(t){return t.displayInd})),e.model.dragY=e.y,s.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll("rect.bandrect").each((function(e){e.yf.y+f.height/2&&(o.model.displayInd=f.model.displayInd,f.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||"freeform"===t.parcatsViewModel.arrangement){a.model.dragX=n.event.x;var h=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[i];void 0!==h&&a.model.dragXp.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=a.model.displayInd}j(t.parcatsViewModel),N(t.parcatsViewModel),R(t.parcatsViewModel),z(t.parcatsViewModel)}}function I(t){if("fixed"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll("text").attr("font-weight","normal");var e={},r=D(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),o=t.initialDragDimensionDisplayInds.some((function(t,e){return t!==i[e]}));o&&i.forEach((function(r,n){var i=t.parcatsViewModel.model.dimensions[n].containerInd;e["dimensions["+i+"].displayindex"]=r}));var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map((function(t){return t.displayInd}));if(s=t.initialDragCategoryDisplayInds.some((function(t,e){return t!==l[e]}))){var u=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),c=u.map((function(t){return t.categoryValue})),f=u.map((function(t){return t.categoryLabel}));e["dimensions["+t.model.containerInd+"].categoryarray"]=[c],e["dimensions["+t.model.containerInd+"].ticktext"]=[f],e["dimensions["+t.model.containerInd+"].categoryorder"]="array"}}-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!t.dragHasMoved&&t.potentialClickBand&&("color"===t.parcatsViewModel.hoveron?S(t.potentialClickBand,"plotly_click",n.event.sourceEvent):M(t.potentialClickBand,"plotly_click",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd&&(t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null),t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,j(t.parcatsViewModel),N(t.parcatsViewModel),n.transition().duration(300).ease("cubic-in-out").each((function(){R(t.parcatsViewModel,!0),z(t.parcatsViewModel,!0)})).each("end",(function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])}))}}function D(t){for(var e,r=t.graphDiv._fullData,n=0;n=0;s--)c+="C"+u[s]+","+(e[s+1]+n)+" "+l[s]+","+(e[s]+n)+" "+(t[s]+r[s])+","+(e[s]+n),c+="l-"+r[s]+",0 ";return c+"Z"}function N(t){var e=t.dimensions,r=t.model,n=e.map((function(t){return t.categories.map((function(t){return t.y}))})),i=t.model.dimensions.map((function(t){return t.categories.map((function(t){return t.displayInd}))})),a=t.model.dimensions.map((function(t){return t.displayInd})),o=t.dimensions.map((function(t){return t.model.dimensionInd})),s=e.map((function(t){return t.x})),l=e.map((function(t){return t.width})),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(t){var e=t.categoryInds.map((function(t,e){return i[e][t]}));return o.map((function(t){return e[t]}))}u.sort((function(e,r){var n=f(e),i=f(r);return"backward"===t.sortpaths&&(n.reverse(),i.reverse()),n.push(e.valueInds[0]),i.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),i.unshift(r.rawColor)),ni?1:0}));for(var h=new Array(u.length),p=e[0].model.count,d=e[0].categories.map((function(t){return t.height})).reduce((function(t,e){return t+e})),v=0;v0?d*(y.count/p):0;for(var m,x=new Array(n.length),b=0;b1?(t.width-80-16)/(n-1):0)*i;var a,o,s,l,u,c=[],f=t.model.maxCats,h=e.categories.length,p=e.count,d=t.height-8*(f-1),v=8*(f-h)/2,g=e.categories.map((function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}}));for(g.sort((function(t,e){return t.displayInd-e.displayInd})),u=0;u0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:v,bands:[],parcatsViewModel:t},v=v+a+8,c.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:c,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}t.exports=function(t,e,r,n){h(r,t,n,e)}},45784:function(t,e,r){"use strict";var n=r(45460);t.exports=function(t,e,r,i){var a=t._fullLayout,o=a._paper,s=a._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,i)}},73362:function(t,e,r){"use strict";var n=r(50693),i=r(13838),a=r(41940),o=r(27670).Y,s=r(1426).extendFlat,l=r(44467).templatedArray;t.exports={domain:o({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:a({editType:"plot"}),tickfont:a({editType:"plot"}),rangefont:a({editType:"plot"}),dimensions:l("dimension",{label:{valType:"string",editType:"plot"},tickvals:s({},i.tickvals,{editType:"plot"}),ticktext:s({},i.ticktext,{editType:"plot"}),tickformat:s({},i.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:s({editType:"calc"},n("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"})),unselected:{line:{color:{valType:"color",dflt:"#7f7f7f",editType:"plot"},opacity:{valType:"number",min:0,max:1,dflt:"auto",editType:"plot"},editType:"plot"},editType:"plot"}}},57920:function(t,e,r){"use strict";var n=r(25706),i=r(39898),a=r(28984).keyFun,o=r(28984).repeat,s=r(71828).sorterAsc,l=r(71828).strTranslate,u=n.bar.snapRatio;function c(t,e){return t*(1-u)+e*u}var f=n.bar.snapClose;function h(t,e){return t*(1-f)+e*f}function p(t,e,r,n){if(function(t,e){for(var r=0;r=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var i=t?-1:1,a=0,o=e.length-1;if(i<0){var s=a;a=o,o=s}for(var l=e[a],u=l,f=a;i*fe){h=r;break}}if(a=c,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-u[f][1]t[1]+r||e=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);v&&(o.interval=l[a],o.intervalPix=d,o.region=v)}}if(t.ordinal&&!o.region){var g=t.unitTickvals,m=t.unitToPaddedPx.invert(e);for(r=0;r=x[0]&&m<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[r-a.grabPoint,r+a.barLength-a.grabPoint].map(e.unitToPaddedPx.invert):a.newExtent=[a.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(e),b(t.parentNode)}function T(t,e){var r=_(e,e.height-i.mouse(t)[1]-2*n.verticalPadding),a="crosshair";r.clickableOrdinalRange?a="pointer":r.region&&(a=r.region+"-resize"),i.select(document.body).style("cursor",a)}function k(t){t.on("mousemove",(function(t){i.event.preventDefault(),t.parent.inBrushDrag||T(this,t)})).on("mouseleave",(function(t){t.parent.inBrushDrag||m()})).call(i.behavior.drag().on("dragstart",(function(t){!function(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.unitToPaddedPx.invert(r),o=e.brush,s=_(e,r),l=s.interval,u=o.svgBrush;if(u.wasDragged=!1,u.grabbingBar="ns"===s.region,u.grabbingBar){var c=l.map(e.unitToPaddedPx);u.grabPoint=r-c[0]-n.verticalPadding,u.barLength=c[1]-c[0]}u.clickableOrdinalRange=s.clickableOrdinalRange,u.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(u.stayingIntervals=u.stayingIntervals.filter((function(t){return t[0]!==l[0]&&t[1]!==l[1]}))),u.startExtent=s.region?l["s"===s.region?1:0]:a,e.parent.inBrushDrag=!0,u.brushStartCallback()}(this,t)})).on("drag",(function(t){w(this,t)})).on("dragend",(function(t){!function(t,e){var r=e.brush,n=r.filter,a=r.svgBrush;a._dragging||(T(t,e),w(t,e),e.brush.svgBrush.wasDragged=!1),a._dragging=!1,i.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,e.parent.inBrushDrag=!1,m(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&e.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&M(r)):M(r),a.brushCallback(e),b(t.parentNode),void a.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]a.newExtent[0];a.extent=a.stayingIntervals.concat(u?[a.newExtent]:[]),a.extent.length||M(r),a.brushCallback(e),u?b(t.parentNode,s):(s(),b(t.parentNode))}else s();a.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)})))}function A(t,e){return t[0]-e[0]}function M(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function S(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}t.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map((function(t){return t.slice().sort(s)})).sort(A)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=S(r),e=r.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map((function(t){return t.slice()}))}(e),n=r.slice();e.filter.set(n),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t,e,r){var i=t.selectAll("."+n.cn.axisBrush).data(o,a);i.enter().append("g").classed(n.cn.axisBrush,!0),function(t,e,r){var i=r._context.staticPlot,a=t.selectAll(".background").data(o);a.enter().append("rect").classed("background",!0).call(d).call(v).style("pointer-events",i?"none":"auto").attr("transform",l(0,n.verticalPadding)),a.call(k).attr("height",(function(t){return t.height-n.verticalPadding}));var s=t.selectAll(".highlight-shadow").data(o);s.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",e).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),s.attr("y1",(function(t){return t.height})).call(x);var u=t.selectAll(".highlight").data(o);u.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),u.attr("y1",(function(t){return t.height})).call(x)}(i,e,r)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map((function(t){return t.sort(s)})),t=e.multiselect?S(t.sort(A)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map((function(t){var e=[p(0,r,t[0],[]),p(1,r,t[1],[])];if(e[1]>e[0])return e})).filter((function(t){return t}))).length)return}return t.length>1?t:t[0]}}},71791:function(t,e,r){"use strict";t.exports={attributes:r(73362),supplyDefaults:r(3633),calc:r(24639),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:r(49351),categories:["gl","regl","noOpacity","noHover"],meta:{}}},49351:function(t,e,r){"use strict";var n=r(39898),i=r(27659).a0,a=r(21341),o=r(77922);e.name="parcoords",e.plot=function(t){var e=i(t.calcdata,"parcoords")[0];e.length&&a(t,e)},e.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())},e.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter((function(t,e){return e===r.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var t=this,r=t.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":r,preserveAspectRatio:"none",x:0,y:0,width:t.style.width,height:t.style.height})})),window.setTimeout((function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")}),60)}},24639:function(t,e,r){"use strict";var n=r(71828).isArrayOrTypedArray,i=r(21081),a=r(28984).wrap;t.exports=function(t,e){var r,o;return i.hasColorscale(e,"line")&&n(e.line.color)?(r=e.line.color,o=i.extractOpts(e.line).colorscale,i.calc(t,e,{vals:r,containerStr:"line",cLetter:"c"})):(r=function(t){for(var e=new Array(t),r=0;rf&&(n.log("parcoords traces support up to "+f+" dimensions at the moment"),d.splice(f));var v=s(t,e,{name:"dimensions",layout:l,handleItemDefaults:p}),g=function(t,e,r,o,s){var l=s("line.color",r);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,c);o(e,l,c),Array.isArray(v)&&v.length||(e.visible=!1),h(e,v,"values",g);var y={family:l.font.family,size:Math.round(l.font.size/1.2),color:l.font.color};n.coerceFont(c,"labelfont",y),n.coerceFont(c,"tickfont",y),n.coerceFont(c,"rangefont",y),c("labelangle"),c("labelside"),c("unselected.line.color"),c("unselected.line.opacity")}},1602:function(t,e,r){"use strict";var n=r(71828).isTypedArray;e.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},e.isOrdinal=function(t){return!!t.tickvals},e.isVisible=function(t){return t.visible||!("visible"in t)}},67618:function(t,e,r){"use strict";var n=r(71791);n.plot=r(21341),t.exports=n},83398:function(t,e,r){"use strict";var n=r(56068),i=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\n p17_20, p21_24, p25_28, p29_32,\n p33_36, p37_40, p41_44, p45_48,\n p49_52, p53_56, p57_60, colors;\n\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\nuniform float maskHeight;\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\nuniform vec4 contextColor;\nuniform sampler2D maskTexture, palette;\n\nbool isPick = (drwLayer > 1.5);\nbool isContext = (drwLayer < 0.5);\n\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * UNITS, UNITS);\n}\n\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\n float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\n float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\n return y1 * (1.0 - ratio) + y2 * ratio;\n}\n\nint iMod(int a, int b) {\n return a - b * (a / b);\n}\n\nbool fOutside(float p, float lo, float hi) {\n return (lo < hi) && (lo > p || p > hi);\n}\n\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\n return (\n fOutside(p[0], lo[0], hi[0]) ||\n fOutside(p[1], lo[1], hi[1]) ||\n fOutside(p[2], lo[2], hi[2]) ||\n fOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\n return (\n vOutside(p[0], lo[0], hi[0]) ||\n vOutside(p[1], lo[1], hi[1]) ||\n vOutside(p[2], lo[2], hi[2]) ||\n vOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\n return mOutside(A, loA, hiA) ||\n mOutside(B, loB, hiB) ||\n mOutside(C, loC, hiC) ||\n mOutside(D, loD, hiD);\n}\n\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\n mat4 pnts[4];\n pnts[0] = A;\n pnts[1] = B;\n pnts[2] = C;\n pnts[3] = D;\n\n for(int i = 0; i < 4; ++i) {\n for(int j = 0; j < 4; ++j) {\n for(int k = 0; k < 4; ++k) {\n if(0 == iMod(\n int(255.0 * texture2D(maskTexture,\n vec2(\n (float(i * 2 + j / 2) + 0.5) / 8.0,\n (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\n ))[3]\n ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\n 2\n )) return true;\n }\n }\n }\n return false;\n}\n\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\n float x = 0.5 * sign(v) + 0.5;\n float y = axisY(x, A, B, C, D);\n float z = 1.0 - abs(v);\n\n z += isContext ? 0.0 : 2.0 * float(\n outsideBoundingBox(A, B, C, D) ||\n outsideRasterMask(A, B, C, D)\n );\n\n return vec4(\n 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\n z,\n 1.0\n );\n}\n\nvoid main() {\n mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\n mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\n mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\n mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\n\n float v = colors[3];\n\n gl_Position = position(isContext, v, A, B, C, D);\n\n fragColor =\n isContext ? vec4(contextColor) :\n isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\n}\n"]),a=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}\n"]),o=r(25706).maxDimensionCount,s=r(71828),l=new Uint8Array(4),u=new Uint8Array(4),c={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function f(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 h(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:l})}(t),r.drawCompleted=!0),function s(l){var u=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],f(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(a.count=2*u,a.offset=2*l*n,e(a),l*n+u>>8*e)%256/255}function v(t,e,r){for(var n=new Array(8*e),i=0,a=0;ac&&(c=t[i].dim1.canvasX,o=i);0===s&&f(T,0,0,r.canvasWidth,r.canvasHeight);var p=function(t){var e,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!t&&no._length&&(S=S.slice(0,o._length));var L,C=o.tickvals;function O(t,e){return{val:t,text:L[e]}}function P(t,e){return t.val-e.val}if(Array.isArray(C)&&C.length){L=o.ticktext,Array.isArray(L)&&L.length?L.length>C.length?L=L.slice(0,C.length):C.length>L.length&&(C=C.slice(0,L.length)):L=C.map(a(o.tickformat));for(var I=1;I=r||l>=i)return;var u=t.lineLayer.readPixel(s,i-1-l),c=0!==u[3],f=c?u[2]+256*(u[1]+256*u[0]):null,h={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:f};f!==N&&(c?a.hover(h):a.unhover&&a.unhover(h),N=f)}})),B.style("opacity",(function(t){return t.pick?0:1})),p.style("background","rgba(255, 255, 255, 0)");var j=p.selectAll("."+m.cn.parcoords).data(F,d);j.exit().remove(),j.enter().append("g").classed(m.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),j.attr("transform",(function(t){return u(t.model.translateX,t.model.translateY)}));var U=j.selectAll("."+m.cn.parcoordsControlView).data(v,d);U.enter().append("g").classed(m.cn.parcoordsControlView,!0),U.attr("transform",(function(t){return u(t.model.pad.l,t.model.pad.t)}));var V=U.selectAll("."+m.cn.yAxis).data((function(t){return t.dimensions}),d);V.enter().append("g").classed(m.cn.yAxis,!0),U.each((function(t){I(V,t,T)})),B.each((function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=b(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}})),V.attr("transform",(function(t){return u(t.xScale(t.xIndex),0)})),V.call(n.behavior.drag().origin((function(t){return t})).on("drag",(function(t){var e=t.parent;R.linePickActive(!1),t.x=Math.max(-m.overdrag,Math.min(t.model.width+m.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,V.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})),I(V,e,T),V.filter((function(e){return 0!==Math.abs(t.xIndex-e.xIndex)})).attr("transform",(function(t){return u(t.xScale(t.xIndex),0)})),n.select(this).attr("transform",u(t.x,0)),V.each((function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!E(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)})).on("dragend",(function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,I(V,e,T),n.select(this).attr("transform",(function(t){return u(t.x,0)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!E(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),R.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),V.exit().remove();var H=V.selectAll("."+m.cn.axisOverlays).data(v,d);H.enter().append("g").classed(m.cn.axisOverlays,!0),H.selectAll("."+m.cn.axis).remove();var q=H.selectAll("."+m.cn.axis).data(v,d);q.enter().append("g").classed(m.cn.axis,!0),q.each((function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,i=r.domain();n.select(this).call(n.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat((function(e){return y.isOrdinal(t)?e:D(t.model.dimensions[t.visibleIndex],e)})).scale(r)),f.font(q.selectAll("text"),t.model.tickFont)})),q.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),q.selectAll("text").style("text-shadow",c.makeTextShadow(A)).style("cursor","default");var G=H.selectAll("."+m.cn.axisHeading).data(v,d);G.enter().append("g").classed(m.cn.axisHeading,!0);var Z=G.selectAll("."+m.cn.axisTitle).data(v,d);Z.enter().append("text").classed(m.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",o?"none":"auto"),Z.text((function(t){return t.label})).each((function(e){var r=n.select(this);f.font(r,e.model.labelFont),c.convertToTspans(r,t)})).attr("transform",(function(t){var e=P(t.model.labelAngle,t.model.labelSide),r=m.axisTitleOffset;return(e.dir>0?"":u(0,2*r+t.model.height))+l(e.degrees)+u(-r*e.dx,-r*e.dy)})).attr("text-anchor",(function(t){var e=P(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?"start":"end":"middle"}));var W=H.selectAll("."+m.cn.axisExtent).data(v,d);W.enter().append("g").classed(m.cn.axisExtent,!0);var Y=W.selectAll("."+m.cn.axisExtentTop).data(v,d);Y.enter().append("g").classed(m.cn.axisExtentTop,!0),Y.attr("transform",u(0,-m.axisExtentOffset));var X=Y.selectAll("."+m.cn.axisExtentTopText).data(v,d);X.enter().append("text").classed(m.cn.axisExtentTopText,!0).call(O),X.text((function(t){return z(t,!0)})).each((function(t){f.font(n.select(this),t.model.rangeFont)}));var J=W.selectAll("."+m.cn.axisExtentBottom).data(v,d);J.enter().append("g").classed(m.cn.axisExtentBottom,!0),J.attr("transform",(function(t){return u(0,t.model.height+m.axisExtentOffset)}));var K=J.selectAll("."+m.cn.axisExtentBottomText).data(v,d);K.enter().append("text").classed(m.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(O),K.text((function(t){return z(t,!1)})).each((function(t){f.font(n.select(this),t.model.rangeFont)})),x.ensureAxisBrush(H,A,t)}},21341:function(t,e,r){"use strict";var n=r(17171),i=r(79749),a=r(1602).isVisible,o={};function s(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}(t.exports=function(t,e){var r=t._fullLayout;if(i(t,[],o)){var l={},u={},c={},f={},h=r._size;e.forEach((function(e,r){var n=e[0].trace;c[r]=n.index;var i=f[r]=n._fullInput.index;l[r]=t.data[i].dimensions,u[r]=t.data[i].dimensions.slice()})),n(t,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(e,n,i){var a=u[e][n],o=i.map((function(t){return t.slice()})),s="dimensions["+n+"].constraintrange",l=r._tracePreGUI[t._fullData[c[e]]._fullInput.uid];if(void 0===l[s]){var h=a.constraintrange;l[s]=h||null}var p=t._fullData[c[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),a.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete a.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit("plotly_restyle",[d,[f[e]]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return s(t,e,r)-s(t,e,n)}}(r,u[e].filter(a));l[e].sort(n),u[e].filter((function(t){return!a(t)})).sort((function(t){return u[e].indexOf(t)})).forEach((function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(u[e].indexOf(t),0,t)})),t.emit("plotly_restyle",[{dimensions:[l[e]]},[f[e]]])}})}}).reglPrecompiled=o},34e3:function(t,e,r){"use strict";var n=r(9012),i=r(27670).Y,a=r(41940),o=r(22399),s=r(5386).fF,l=r(5386).si,u=r(1426).extendFlat,c=r(79952).u,f=a({editType:"plot",arrayOk:!0,colorEditType:"plot"});t.exports={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:o.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},pattern:c,editType:"calc"},text:{valType:"data_array",editType:"plot"},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:u({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:s({},{keys:["label","color","value","percent","text"]}),texttemplate:l({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:u({},f,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:u({},f,{}),outsidetextfont:u({},f,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:u({},f,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:i({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:"angle",dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:u({},f,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},13584:function(t,e,r){"use strict";var n=r(74875);e.name="pie",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},32354:function(t,e,r){"use strict";var n=r(92770),i=r(84267),a=r(7901),o={};function s(t){return function(e,r){return!!e&&!!(e=i(e)).isValid()&&(e=a.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e)}}function l(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r=0})),("funnelarea"===e.type?y:e.sort)&&a.sort((function(t,e){return e.v-t.v})),a[0]&&(a[0].vTotal=g),a},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r="pie");var n=t._fullLayout,i=t.calcdata,a=n[r+"colorway"],s=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(a=l(a,o));for(var u=0,c=0;c0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:a,len:o}}function c(t,e,r,n,i){n("marker.line.width")&&n("marker.line.color",i?void 0:r.paper_bgcolor);var a=n("marker.colors");l(n,"marker.pattern",a),t.marker&&!e.marker.pattern.fgcolor&&(e.marker.pattern.fgcolor=t.marker.colors),e.marker.pattern.bgcolor||(e.marker.pattern.bgcolor=r.paper_bgcolor)}t.exports={handleLabelsAndValues:u,handleMarkerDefaults:c,supplyDefaults:function(t,e,r,n){function l(r,n){return i.coerce(t,e,a,r,n)}var f=u(l("labels"),l("values")),h=f.len;if(e._hasLabels=f.hasLabels,e._hasValues=f.hasValues,!e._hasLabels&&e._hasValues&&(l("label0"),l("dlabel")),h){e._length=h,c(t,e,n,l,!0),l("scalegroup");var p,d=l("text"),v=l("texttemplate");if(v||(p=l("textinfo",Array.isArray(d)?"text+percent":"percent")),l("hovertext"),l("hovertemplate"),v||p&&"none"!==p){var g=l("textposition");s(t,e,n,l,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||"auto"===g||"outside"===g)&&l("automargin"),("inside"===g||"auto"===g||Array.isArray(g))&&l("insidetextorientation")}o(e,n,l);var y=l("hole");if(l("title.text")){var m=l("title.position",y?"middle center":"top center");y||"middle center"!==m||(e.title.position="top center"),i.coerceFont(l,"title.font",n.font)}l("sort"),l("direction"),l("rotation"),l("pull")}else e.visible=!1}}},20007:function(t,e,r){"use strict";var n=r(23469).appendArrayMultiPointValues;t.exports=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,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),"funnelarea"===e.type&&(delete r.v,delete r.i),r}},22209:function(t,e,r){"use strict";var n=r(91424),i=r(7901);t.exports=function(t,e,r,a){var o=r.marker.pattern;o&&o.shape?n.pointStyle(t,r,a,e):i.fill(t,e.color)}},53581:function(t,e,r){"use strict";var n=r(71828);function i(t){return-1!==t.indexOf("e")?t.replace(/[.]?0+e/,"e"):-1!==t.indexOf(".")?t.replace(/[.]?0+$/,""):t}e.formatPiePercent=function(t,e){var r=i((100*t).toPrecision(3));return n.numSeparate(r,e)+"%"},e.formatPieValue=function(t,e){var r=i(t.toPrecision(10));return n.numSeparate(r,e)},e.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r"),name:f.hovertemplate||-1!==h.indexOf("name")?f.name:void 0,idealAlign:t.pxmid[0]<0?"left":"right",color:g.castOption(_.bgcolor,t.pts)||t.color,borderColor:g.castOption(_.bordercolor,t.pts),fontFamily:g.castOption(w.family,t.pts),fontSize:g.castOption(w.size,t.pts),fontColor:g.castOption(w.color,t.pts),nameLength:g.castOption(_.namelength,t.pts),textAlign:g.castOption(_.align,t.pts),hovertemplate:g.castOption(f.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[y(t,f)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e,inOut_bbox:T}),t.bbox=T[0],u._hasHoverLabel=!0}u._hasHoverEvent=!0,e.emit("plotly_hover",{points:[y(t,f)],event:n.event})}})),t.on("mouseout",(function(t){var r=e._fullLayout,i=e._fullData[u.index],o=n.select(this).datum();u._hasHoverEvent&&(t.originalEvent=n.event,e.emit("plotly_unhover",{points:[y(o,i)],event:n.event}),u._hasHoverEvent=!1),u._hasHoverLabel&&(a.loneUnhover(r._hoverlayer.node()),u._hasHoverLabel=!1)})),t.on("click",(function(t){var r=e._fullLayout,i=e._fullData[u.index];e._dragging||!1===r.hovermode||(e._hoverdata=[y(t,i)],a.click(e,n.event))}))}function b(t,e,r){var n=g.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=g.castOption(t._input.textfont.color,e.pts));var i=g.castOption(t.insidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,a=g.castOption(t.insidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size;return{color:n||o.contrast(e.color),family:i,size:a}}function _(t,e){for(var r,n,i=0;ie&&e>n||r=-4;g-=2)y(Math.PI*g,"tan");for(g=4;g>=-4;g-=2)y(Math.PI*(g+1),"tan")}if(f||p){for(g=4;g>=-4;g-=2)y(Math.PI*(g+1.5),"rad");for(g=4;g>=-4;g-=2)y(Math.PI*(g+.5),"rad")}}if(s||d||f){var m=Math.sqrt(t.width*t.width+t.height*t.height);if((a={scale:i*n*2/m,rCenter:1-i,rotate:0}).textPosAngle=(e.startangle+e.stopangle)/2,a.scale>=1)return a;v.push(a)}(d||p)&&((a=T(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a)),(d||h)&&((a=k(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a));for(var x=0,b=0,_=0;_=1)break}return v[x]}function T(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.width/t.height,o=S(a,n,e,r);return{scale:2*o/t.height,rCenter:A(a,o/e),rotate:M(i)}}function k(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.height/t.width,o=S(a,n,e,r);return{scale:2*o/t.width,rCenter:A(a,o/e),rotate:M(i+Math.PI/2)}}function A(t,e){return Math.cos(e)-t*e}function M(t){return(180/Math.PI*t+720)%180-90}function S(t,e,r,n){var i=t+1/(2*Math.tan(e));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(t*t+n/2)+t))}function E(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function L(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function C(t,e){var r,n,i,a=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=P(a),-1!==a.title.position.indexOf("top")?(o.y-=(1+i)*t.r,s.ty-=t.titleBox.height):-1!==a.title.position.indexOf("bottom")&&(o.y+=(1+i)*t.r);var l,u=t.r/(void 0===(l=t.trace.aspectratio)?1:l),c=e.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf("left")?(c+=u,o.x-=(1+i)*u,s.tx+=t.titleBox.width/2):-1!==a.title.position.indexOf("center")?c*=2:-1!==a.title.position.indexOf("right")&&(c+=u,o.x+=(1+i)*u,s.tx-=t.titleBox.width/2),r=c/t.titleBox.width,n=O(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function O(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function P(t){var e,r=t.pull;if(!r)return 0;if(Array.isArray(r))for(r=0,e=0;er&&(r=t.pull[e]);return r}function I(t,e){for(var r=[],n=0;n1?c=(u=r.r)/i.aspectratio:u=(c=r.r)*i.aspectratio,l=(u*=(1+i.baseratio)/2)*c}o=Math.min(o,l/r.vTotal)}for(n=0;n")}if(a){var x=l.castOption(i,e.i,"texttemplate");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:g.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:g.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(i,t.i,"customdata")}}(e),_=g.getFirstFilled(i.text,e.pts);(m(_)||""===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,i._meta||{})}else e.text=""}}function R(t,e){var r=t.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(e.left+e.right)/2,o=(e.top+e.bottom)/2;t.textX=a*n-o*i,t.textY=a*i+o*n,t.noCenter=!0}t.exports={plot:function(t,e){var r=t._context.staticPlot,a=t._fullLayout,h=a._size;d("pie",a),_(e,t),I(e,h);var v=l.makeTraceGroups(a._pielayer,e,"trace").each((function(e){var d=n.select(this),v=e[0],y=v.trace;!function(t){var e,r,n,i=t[0],a=i.r,o=i.trace,s=g.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,u="px0",c="px1";if("counterclockwise"===o.direction){for(e=0;ei.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))}(e),d.attr("stroke-linejoin","round"),d.each((function(){var m=n.select(this).selectAll("g.slice").data(e);m.enter().append("g").classed("slice",!0),m.exit().remove();var _=[[[],[]],[[],[]]],T=!1;m.each((function(i,o){if(i.hidden)n.select(this).selectAll("path,g").remove();else{i.pointNumber=i.i,i.curveNumber=y.index,_[i.pxmid[1]<0?0:1][i.pxmid[0]<0?0:1].push(i);var u=v.cx,c=v.cy,h=n.select(this),d=h.selectAll("path.surface").data([i]);if(d.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),h.call(x,t,e),y.pull){var m=+g.castOption(y.pull,i.pts)||0;m>0&&(u+=m*i.pxmid[0],c+=m*i.pxmid[1])}i.cxFinal=u,i.cyFinal=c;var k=y.hole;if(i.v===v.vTotal){var A="M"+(u+i.px0[0])+","+(c+i.px0[1])+O(i.px0,i.pxmid,!0,1)+O(i.pxmid,i.px0,!0,1)+"Z";k?d.attr("d","M"+(u+k*i.px0[0])+","+(c+k*i.px0[1])+O(i.px0,i.pxmid,!1,k)+O(i.pxmid,i.px0,!1,k)+"Z"+A):d.attr("d",A)}else{var M=O(i.px0,i.px1,!0,1);if(k){var S=1-k;d.attr("d","M"+(u+k*i.px1[0])+","+(c+k*i.px1[1])+O(i.px1,i.px0,!1,k)+"l"+S*i.px0[0]+","+S*i.px0[1]+M+"Z")}else d.attr("d","M"+u+","+c+"l"+i.px0[0]+","+i.px0[1]+M+"Z")}z(t,i,v);var E=g.castOption(y.textposition,i.pts),C=h.selectAll("g.slicetext").data(i.text&&"none"!==E?[0]:[]);C.enter().append("g").classed("slicetext",!0),C.exit().remove(),C.each((function(){var r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),h=l.ensureUniformFontSize(t,"outside"===E?function(t,e,r){return{color:g.castOption(t.outsidetextfont.color,e.pts)||g.castOption(t.textfont.color,e.pts)||r.color,family:g.castOption(t.outsidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,size:g.castOption(t.outsidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size}}(y,i,a.font):b(y,i,a.font));r.text(i.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(s.font,h).call(f.convertToTspans,t);var d,m=s.bBox(r.node());if("outside"===E)d=L(m,i);else if(d=w(m,i,v),"auto"===E&&d.scale<1){var x=l.ensureUniformFontSize(t,y.outsidetextfont);r.call(s.font,x),d=L(m=s.bBox(r.node()),i)}var _=d.textPosAngle,k=void 0===_?i.pxmid:D(v.r,_);if(d.targetX=u+k[0]*d.rCenter+(d.x||0),d.targetY=c+k[1]*d.rCenter+(d.y||0),R(d,m),d.outside){var A=d.targetY;i.yLabelMin=A-m.height/2,i.yLabelMid=A,i.yLabelMax=A+m.height/2,i.labelExtraX=0,i.labelExtraY=0,T=!0}d.fontSize=h.size,p(y.type,d,a),e[o].transform=d,l.setTransormAndDisplay(r,d)}))}function O(t,e,r,n){var a=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return"a"+n*v.r+","+n*v.r+" 0 "+i.largeArc+(r?" 1 ":" 0 ")+a+","+o}}));var k=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);if(k.enter().append("g").classed("titletext",!0),k.exit().remove(),k.each((function(){var e,r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),i=y.title.text;y._meta&&(i=l.templateString(i,y._meta)),r.text(i).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(s.font,y.title.font).call(f.convertToTspans,t),e="middle center"===y.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(v):C(v,h),r.attr("transform",c(e.x,e.y)+u(Math.min(1,e.scale))+c(e.tx,e.ty))})),T&&function(t,e){var r,n,i,a,o,s,l,u,c,f,h,p,d;function v(t,e){return t.pxmid[1]-e.pxmid[1]}function y(t,e){return e.pxmid[1]-t.pxmid[1]}function m(t,r){r||(r={});var i,u,c,h,p=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),d=n?t.yLabelMin:t.yLabelMax,v=n?t.yLabelMax:t.yLabelMin,y=t.cyFinal+o(t.px0[1],t.px1[1]),m=p-d;if(m*l>0&&(t.labelExtraY=m),Array.isArray(e.pull))for(u=0;u=(g.castOption(e.pull,c.pts)||0)||((t.pxmid[1]-c.pxmid[1])*l>0?(m=c.cyFinal+o(c.px0[1],c.px1[1])-d-t.labelExtraY)*l>0&&(t.labelExtraY+=m):(v+t.labelExtraY-y)*l>0&&(i=3*s*Math.abs(u-f.indexOf(t)),(h=c.cxFinal+a(c.px0[0],c.px1[0])+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=h)))}for(n=0;n<2;n++)for(i=n?v:y,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],f=c.concat(u),p=[],h=0;hMath.abs(f)?s+="l"+f*t.pxmid[0]/t.pxmid[1]+","+f+"H"+(a+t.labelExtraX+u):s+="l"+t.labelExtraX+","+c+"v"+(f-c)+"h"+u}else s+="V"+(t.yLabelMid+t.labelExtraY)+"h"+u;l.ensureSingle(r,"path","textline").call(o.stroke,e.outsidetextfont.color).attr({"stroke-width":Math.min(2,e.outsidetextfont.size/8),d:s,fill:"none"})}else r.select("path.textline").remove()}))}(m,y),T&&y.automargin){var A=s.bBox(d.node()),M=y.domain,S=h.w*(M.x[1]-M.x[0]),E=h.h*(M.y[1]-M.y[0]),O=(.5*S-v.r)/h.w,P=(.5*E-v.r)/h.h;i.autoMargin(t,"pie."+y.uid+".automargin",{xl:M.x[0]-O,xr:M.x[1]+O,yb:M.y[0]-P,yt:M.y[1]+P,l:Math.max(v.cx-v.r-A.left,0),r:Math.max(A.right-(v.cx+v.r),0),b:Math.max(A.bottom-(v.cy+v.r),0),t:Math.max(v.cy-v.r-A.top,0),pad:5})}}))}));setTimeout((function(){v.selectAll("tspan").each((function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))}))}),0)},formatSliceLabel:z,transformInsideText:w,determineInsideTextFont:b,positionTitleOutside:C,prerenderTitles:_,layoutAreas:I,attachFxHandlers:x,computeTransform:R}},68357:function(t,e,r){"use strict";var n=r(39898),i=r(63463),a=r(72597).resizeText;t.exports=function(t){var e=t._fullLayout._pielayer.selectAll(".trace");a(t,e,"pie"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll("path.surface").each((function(e){n.select(this).call(i,e,r,t)}))}))}},63463:function(t,e,r){"use strict";var n=r(7901),i=r(53581).castOption,a=r(22209);t.exports=function(t,e,r,o){var s=r.marker.line,l=i(s.color,e.pts)||n.defaultLine,u=i(s.width,e.pts)||0;t.call(a,e,r,o).style("stroke-width",u).call(n.stroke,l)}},10959:function(t,e,r){"use strict";var n=r(82196);t.exports={x:n.x,y:n.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:n.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"},transforms:void 0}},42743:function(t,e,r){"use strict";var n=r(9330).gl_pointcloud2d,i=r(78614),a=r(71739).findExtremes,o=r(34603);function s(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=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var l=s.prototype;l.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}},l.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=o(t,{})},l.updateFast=function(t){var e,r,n,o,s,l,u=this.xData=this.pickXData=t.x,c=this.yData=this.pickYData=t.y,f=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(f){if(n=f,e=f.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;ld[2]&&(d[2]=o),sd[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;ld[2]&&(d[2]=o),sd[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var v=i(t.marker.color),g=i(t.marker.border.color),y=t.opacity*t.marker.opacity;v[3]*=y,this.pointcloudOptions.color=v;var m=t.marker.blend;null===m&&(m=u.length<100||c.length<100),this.pointcloudOptions.blend=m,g[3]*=y,this.pointcloudOptions.borderColor=g;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,T=b/2||.5;t._extremes[_._id]=a(_,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=a(w,[d[1],d[3]],{ppad:T})},l.dispose=function(){this.pointcloud.dispose()},t.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},33876:function(t,e,r){"use strict";var n=r(71828),i=r(10959);t.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a("x"),a("y"),a("xbounds"),a("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a("text"),a("marker.color",r),a("marker.opacity"),a("marker.blend"),a("marker.sizemin"),a("marker.sizemax"),a("marker.border.color",r),a("marker.border.arearatio"),e._length=null}},20593:function(t,e,r){"use strict";["*pointcloud* trace is deprecated!","Please consider switching to the *scattergl* trace type."].join(" "),t.exports={attributes:r(10959),supplyDefaults:r(33876),calc:r(36563),plot:r(42743),moduleType:"trace",name:"pointcloud",basePlotModule:r(4796),categories:["gl","gl2d","showLegend"],meta:{}}},39953:function(t,e,r){"use strict";var n=r(41940),i=r(9012),a=r(22399),o=r(77914),s=r(27670).Y,l=r(5386).fF,u=r(50693),c=r(44467).templatedArray,f=r(12663).descriptionOnlyNumbers,h=r(1426).extendFlat,p=r(30962).overrideAll;(t.exports=p({hoverinfo:h({},i.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s",description:f("value")},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({}),customdata:void 0,node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.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},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]})},link:{arrowlen:{valType:"number",min:0,dflt:0},label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.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:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),colorscales:c("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:h(u().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")).transforms=void 0},75536:function(t,e,r){"use strict";var n=r(30962).overrideAll,i=r(27659).a0,a=r(60436),o=r(528),s=r(6964),l=r(28569),u=r(47322).prepSelect,c=r(71828),f=r(73972),h="sankey";function p(t,e){var r=t._fullData[e],n=t._fullLayout,i=n.dragmode,a="pan"===n.dragmode?"move":"crosshair",o=r._bgRect;if(o&&"pan"!==i&&"zoom"!==i){s(o,a);var h={_id:"x",c2p:c.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:c.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:h,yaxis:p,fillRangeItems:c.noop},subplot:e,xaxes:[h],yaxes:[p],doneFnCompleted:function(r){var n,i=t._fullData[e],a=i.node.groups.slice(),o=[];function s(t){for(var e=i._sankey.graph.nodes,r=0;rm&&(m=a.source[e]),a.target[e]>m&&(m=a.target[e]);var x,b=m+1;t.node._count=b;var _=t.node.groups,w={};for(e=0;e<_.length;e++){var T=_[e];for(x=0;x0&&s(E,b)&&s(L,b)&&(!w.hasOwnProperty(E)||!w.hasOwnProperty(L)||w[E]!==w[L])){w.hasOwnProperty(L)&&(L=w[L]),w.hasOwnProperty(E)&&(E=w[E]),L=+L,h[E=+E]=h[L]=!0;var C="";a.label&&a.label[e]&&(C=a.label[e]);var O=null;C&&p.hasOwnProperty(C)&&(O=p[C]),u.push({pointNumber:e,label:C,color:c?a.color[e]:a.color,customdata:f?a.customdata[e]:a.customdata,concentrationscale:O,source:E,target:L,value:+S}),M.source.push(E),M.target.push(L)}}var P=b+_.length,I=o(r.color),D=o(r.customdata),z=[];for(e=0;eb-1,childrenNodes:[],pointNumber:e,label:R,color:I?r.color[e]:r.color,customdata:D?r.customdata[e]:r.customdata})}var F=!1;return function(t,e,r){for(var a=i.init2dArray(t,0),o=0;o1}))}(P,M.source,M.target)&&(F=!0),{circular:F,links:u,nodes:z,groups:_,groupLookup:w}}(e);return a({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},85247:function(t){"use strict";t.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeLabel:"node-label"}}},26857:function(t,e,r){"use strict";var n=r(71828),i=r(39953),a=r(7901),o=r(84267),s=r(27670).c,l=r(38048),u=r(44467),c=r(85501);function f(t,e){function r(r,a){return n.coerce(t,e,i.link.colorscales,r,a)}r("label"),r("cmin"),r("cmax"),r("colorscale")}t.exports=function(t,e,r,h){function p(r,a){return n.coerce(t,e,i,r,a)}var d=n.extendDeep(h.hoverlabel,t.hoverlabel),v=t.node,g=u.newContainer(e,"node");function y(t,e){return n.coerce(v,g,i.node,t,e)}y("label"),y("groups"),y("x"),y("y"),y("pad"),y("thickness"),y("line.color"),y("line.width"),y("hoverinfo",t.hoverinfo),l(v,g,y,d),y("hovertemplate");var m=h.colorway;y("color",g.label.map((function(t,e){return a.addOpacity(function(t){return m[t%m.length]}(e),.8)}))),y("customdata");var x=t.link||{},b=u.newContainer(e,"link");function _(t,e){return n.coerce(x,b,i.link,t,e)}_("label"),_("arrowlen"),_("source"),_("target"),_("value"),_("line.color"),_("line.width"),_("hoverinfo",t.hoverinfo),l(x,b,_,d),_("hovertemplate");var w,T=o(h.paper_bgcolor).getLuminance()<.333?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)";_("color",n.repeat(T,b.value.length)),_("customdata"),c(x,b,{name:"colorscales",handleItemDefaults:f}),s(e,h,p),p("orientation"),p("valueformat"),p("valuesuffix"),g.x.length&&g.y.length&&(w="freeform"),p("arrangement",w),n.coerceFont(p,"textfont",n.extendFlat({},h.font)),e._length=null}},29396:function(t,e,r){"use strict";t.exports={attributes:r(39953),supplyDefaults:r(26857),calc:r(92930),plot:r(60436),moduleType:"trace",name:"sankey",basePlotModule:r(75536),selectPoints:r(84564),categories:["noOpacity"],meta:{}}},60436:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=i.numberFormat,o=r(3393),s=r(30211),l=r(7901),u=r(85247).cn,c=i._;function f(t){return""!==t}function h(t,e){return t.filter((function(t){return t.key===e.traceId}))}function p(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function d(t){n.select(t).select("text.name").style("fill","black")}function v(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function y(t,e,r){e&&r&&h(r,e).selectAll("."+u.sankeyLink).filter(v(e)).call(x.bind(0,e,r,!1))}function m(t,e,r){e&&r&&h(r,e).selectAll("."+u.sankeyLink).filter(v(e)).call(b.bind(0,e,r,!1))}function x(t,e,r,n){var i=n.datum().link.label;n.style("fill-opacity",(function(t){if(!t.link.concentrationscale)return.4})),i&&h(e,t).selectAll("."+u.sankeyLink).filter((function(t){return t.link.label===i})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return.4})),r&&h(e,t).selectAll("."+u.sankeyNode).filter(g(t)).call(y)}function b(t,e,r,n){var i=n.datum().link.label;n.style("fill-opacity",(function(t){return t.tinyColorAlpha})),i&&h(e,t).selectAll("."+u.sankeyLink).filter((function(t){return t.link.label===i})).style("fill-opacity",(function(t){return t.tinyColorAlpha})),r&&h(e,t).selectAll(u.sankeyNode).filter(g(t)).call(m)}function _(t,e){var r=t.hoverlabel||{},n=i.nestedProperty(r,e).get();return!Array.isArray(n)&&n}t.exports=function(t,e){for(var r=t._fullLayout,i=r._paper,h=r._size,v=0;v"),color:_(o,"bgcolor")||l.addOpacity(v.color,1),borderColor:_(o,"bordercolor"),fontFamily:_(o,"font.family"),fontSize:_(o,"font.size"),fontColor:_(o,"font.color"),nameLength:_(o,"namelength"),textAlign:_(o,"align"),idealAlign:n.event.x"),color:_(o,"bgcolor")||i.tinyColorHue,borderColor:_(o,"bordercolor"),fontFamily:_(o,"font.family"),fontSize:_(o,"font.size"),fontColor:_(o,"font.color"),nameLength:_(o,"namelength"),textAlign:_(o,"align"),idealAlign:"left",hovertemplate:o.hovertemplate,hovertemplateLabels:m,eventData:[i.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});p(w,.85),d(w)}}},unhover:function(e,i,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,i,a),"skip"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,t.emit("plotly_unhover",{event:n.event,points:[i.node]})),s.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var a=r.node;a.originalEvent=n.event,t._hoverdata=[a],n.select(e).call(m,r,i),s.click(t,{target:!0})}}})}},3393:function(t,e,r){"use strict";var n=r(49887),i=r(81684).k4,a=r(39898),o=r(30838),s=r(86781),l=r(85247),u=r(84267),c=r(7901),f=r(91424),h=r(71828),p=h.strTranslate,d=h.strRotate,v=r(28984),g=v.keyFun,y=v.repeat,m=v.unwrap,x=r(63893),b=r(73972),_=r(18783),w=_.CAP_SHIFT,T=_.LINE_SPACING;function k(t,e,r){var n,i=m(e),a=i.trace,c=a.domain,f="h"===a.orientation,p=a.node.pad,d=a.node.thickness,v=t.width*(c.x[1]-c.x[0]),g=t.height*(c.y[1]-c.y[0]),y=i._nodes,x=i._links,b=i.circular;(n=b?s.sankeyCircular().circularLinkGap(0):o.sankey()).iterations(l.sankeyIterations).size(f?[v,g]:[g,v]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodes(y).links(x);var _,w,T,k=n();for(var A in n.nodePadding()o+d&&(a+=1,e=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return i}(y=k.nodes).forEach((function(t){var e,r,n,i=0,a=t.length;for(t.sort((function(t,e){return t.y0-e.y0})),n=0;n=i||(r=i-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),i=e.y1+p})),n.update(k)}return{circular:b,key:r,trace:a,guid:h.randstr(),horizontal:f,width:v,height:g,nodePad:a.node.pad,nodeLineColor:a.node.line.color,nodeLineWidth:a.node.line.width,linkLineColor:a.link.line.color,linkLineWidth:a.link.line.width,linkArrowLength:a.link.arrowlen,valueFormat:a.valueformat,valueSuffix:a.valuesuffix,textFont:a.textfont,translateX:c.x[0]*t.width+t.margin.l,translateY:t.height-c.y[1]*t.height+t.margin.t,dragParallel:f?g:v,dragPerpendicular:f?v:g,arrangement:a.arrangement,sankey:n,graph:k,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function A(t,e,r){var n=u(e.color),i=e.source.label+"|"+e.target.label+"__"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:i,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:c.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkPath:M,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,linkArrowLength:t.linkArrowLength,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function M(){return function(t){var e=t.linkArrowLength;if(t.link.circular)return function(t,e){var r=t.width/2,n=t.circularPathData;return"top"===t.circularLinkType?"M "+(n.targetX-e)+" "+(n.targetY+r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 1 "+(n.rightFullExtent-r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 1 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY-n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.leftInnerExtent+" "+(n.sourceY-r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 0 "+(n.leftFullExtent-r)+" "+(n.sourceY-n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 0 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"L"+(n.targetX-e)+" "+(n.targetY-r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z":"M "+(n.targetX-e)+" "+(n.targetY-r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 0 "+(n.rightFullExtent-r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 0 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY+n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.leftInnerExtent+" "+(n.sourceY+r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 1 "+(n.leftFullExtent-r)+" "+(n.sourceY+n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 1 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"L"+(n.targetX-e)+" "+(n.targetY+r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z"}(t.link,e);var r=Math.abs((t.link.target.x0-t.link.source.x1)/2);e>r&&(e=r);var n=t.link.source.x1,a=t.link.target.x0-e,o=i(n,a),s=o(.5),l=o(.5),u=t.link.y0-t.link.width/2,c=t.link.y0+t.link.width/2,f=t.link.y1-t.link.width/2,h=t.link.y1+t.link.width/2,p="M"+n+","+u,d="C"+s+","+u+" "+l+","+f+" "+a+","+f,v="C"+l+","+h+" "+s+","+c+" "+n+","+c,g=e>0?"L"+(a+e)+","+(f+t.link.width/2):"";return p+d+(g+="L"+a+","+h)+v+"Z"}}function S(t,e){var r=u(e.color),n=l.nodePadAcross,i=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var a=e.dx,o=Math.max(.5,e.dy),s="node_"+e.pointNumber;return e.group&&(s=h.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:s,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:c.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,s].join("_"),interactionState:t.interactionState,figure:t}}function E(t){t.attr("transform",(function(t){return p(t.node.x0.toFixed(3),t.node.y0.toFixed(3))}))}function L(t){t.call(E)}function C(t,e){t.call(L),e.attr("d",M())}function O(t){t.attr("width",(function(t){return t.node.x1-t.node.x0})).attr("height",(function(t){return t.visibleHeight}))}function P(t){return t.link.width>1||t.linkLineWidth>0}function I(t){return p(t.translateX,t.translateY)+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function D(t,e,r){t.on(".basic",null).on("mouseover.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])})).on("mousemove.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])})).on("mouseout.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(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||t.partOfGroup||r.select(this,t,e)}))}function z(t,e,r,i){var o=a.behavior.drag().origin((function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}})).on("dragstart",(function(a){if("fixed"!==a.arrangement&&(h.ensureSingle(i._fullLayout._infolayer,"g","dragcover",(function(t){i._fullLayout._dragCover=t})),h.raiseToTop(this),a.interactionState.dragInProgress=a.node,F(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),"snap"===a.arrangement)){var o=a.traceId+"|"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,i){!function(t){for(var e=0;e0&&n.forceLayouts[e].alpha(0)}}(0,e,a,r)).stop()}(0,o,a),function(t,e,r,n,i){window.requestAnimationFrame((function a(){var o;for(o=0;o0)window.requestAnimationFrame(a);else{var s=r.node.originalX;r.node.x0=s-r.visibleWidth/2,r.node.x1=s+r.visibleWidth/2,R(r,i)}}))}(t,e,a,o,i)}})).on("drag",(function(r){if("fixed"!==r.arrangement){var n=a.event.x,i=a.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),F(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),C(t.filter(B(r)),e))}})).on("dragend",(function(t){if("fixed"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;el&&C[y].gap;)y--;for(x=C[y].s,v=C.length-1;v>y;v--)C[v].s=x;for(;lS[f]&&f=0;f--){var h=t[f];if("scatter"===h.type&&h.xaxis===u.xaxis&&h.yaxis===u.yaxis){h.opacity=void 0;break}}}}}},17438:function(t,e,r){"use strict";var n=r(71828),i=r(73972),a=r(82196),o=r(47581),s=r(34098),l=r(67513),u=r(73927),c=r(565),f=r(49508),h=r(11058),p=r(94039),d=r(82410),v=r(28908),g=r(71828).coercePattern;t.exports=function(t,e,r,y){function m(r,i){return n.coerce(t,e,a,r,i)}var x=l(t,e,y,m);if(x||(e.visible=!1),e.visible){u(t,e,y,m),m("xhoverformat"),m("yhoverformat");var b=c(t,e,y,m);"group"===y.scattermode&&void 0===e.orientation&&m("orientation","v");var _=!b&&x=Math.min(e,r)&&d<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(h.c2p(t.x)-d);return a=Math.min(e,r)&&v<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(p.c2p(t.y)-v);return aW!=(N=D[P][1])>=W&&(R=D[P-1][0],F=D[P][0],N-B&&(z=R+(F-R)*(W-B)/(N-B),H=Math.min(H,z),q=Math.max(q,z)));H=Math.max(H,0),q=Math.min(q,h._length);var Y=s.defaultLine;return s.opacity(f.fillcolor)?Y=f.fillcolor:s.opacity((f.line||{}).color)&&(Y=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:H,x1:q,y0:W,y1:W,color:Y,hovertemplate:!1}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},67368:function(t,e,r){"use strict";var n=r(34098);t.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:r(82196),layoutAttributes:r(21479),supplyDefaults:r(17438),crossTraceDefaults:r(34936),supplyLayoutDefaults:r(79334),calc:r(47761).calc,crossTraceCalc:r(72626),arraysToCalcdata:r(75225),plot:r(32663),colorbar:r(4898),formatLabels:r(8225),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(33720),selectPoints:r(98002),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:r(93612),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},21479:function(t){"use strict";t.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}},79334:function(t,e,r){"use strict";var n=r(71828),i=r(21479);t.exports=function(t,e){var r,a="group"===e.barmode;"group"===e.scattermode&&("scattergap",r=a?e.bargap:.2,n.coerce(t,e,i,"scattergap",r))}},11058:function(t,e,r){"use strict";var n=r(71828).isArrayOrTypedArray,i=r(52075).hasColorscale,a=r(1586);t.exports=function(t,e,r,o,s,l){l||(l={});var u=(t.marker||{}).color;s("line.color",r),i(t,"line")?a(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(u)&&u||r),s("line.width"),l.noDash||s("line.dash"),l.backoff&&s("line.backoff")}},34621:function(t,e,r){"use strict";var n=r(91424),i=r(50606),a=i.BADNUM,o=i.LOG_CLIP,s=o+.5,l=o-.5,u=r(71828),c=u.segmentsIntersect,f=u.constrain,h=r(47581);t.exports=function(t,e){var r,i,o,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=e.trace||{},L=e.xaxis,C=e.yaxis,O="log"===L.type,P="log"===C.type,I=L._length,D=C._length,z=e.backoff,R=E.marker,F=e.connectGaps,B=e.baseTolerance,N=e.shape,j="linear"===N,U=E.fill&&"none"!==E.fill,V=[],H=h.minTolerance,q=t.length,G=new Array(q),Z=0;function W(r){var n=t[r];if(!n)return!1;var i=e.linearized?L.l2p(n.x):L.c2p(n.x),o=e.linearized?C.l2p(n.y):C.c2p(n.y);if(i===a){if(O&&(i=L.c2p(n.x,!0)),i===a)return!1;P&&o===a&&(i*=Math.abs(L._m*D*(L._m>0?s:l)/(C._m*I*(C._m>0?s:l)))),i*=1e3}if(o===a){if(P&&(o=C.c2p(n.y,!0)),o===a)return!1;o*=1e3}return[i,o]}function Y(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,u=i*o+a*s;if(u>0&&uot||t[1]lt)return[f(t[0],at,ot),f(t[1],st,lt)]}function ft(t,e){return t[0]===e[0]&&(t[0]===at||t[0]===ot)||t[1]===e[1]&&(t[1]===st||t[1]===lt)||void 0}function ht(t,e,r){return function(n,i){var a=ct(n),o=ct(i),s=[];if(a&&o&&ft(a,o))return s;a&&s.push(a),o&&s.push(o);var l=2*u.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);return l&&((a&&o?l>0==a[t]>o[t]?a:o:a||o)[t]+=l),s}}function pt(t){var e=t[0],r=t[1],n=e===G[Z-1][0],i=r===G[Z-1][1];if(!n||!i)if(Z>1){var a=e===G[Z-2][0],o=r===G[Z-2][1];n&&(e===at||e===ot)&&a?o?Z--:G[Z-1]=t:i&&(r===st||r===lt)&&o?a?Z--:G[Z-1]=t:G[Z++]=t}else G[Z++]=t}function dt(t){G[Z-1][0]!==t[0]&&G[Z-1][1]!==t[1]&&pt([Q,tt]),pt(t),et=null,Q=tt=0}"linear"===N||"spline"===N?nt=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=ut[i],o=c(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&&J(o,t)ot?ot:0,$=e[1]lt?lt:0,K||$){if(Z)if(et){var n=nt(et,e);n.length>1&&(dt(n[0]),G[Z++]=n[1])}else rt=nt(G[Z-1],e)[0],G[Z++]=rt;else G[Z++]=[K||e[0],$||e[1]];var i=G[Z-1];K&&$&&(i[0]!==K||i[1]!==$)?(et&&(Q!==K&&tt!==$?pt(Q&&tt?(a=et,s=(o=e)[0]-a[0],l=(o[1]-a[1])/s,(a[1]*o[0]-o[1]*a[0])/s>0?[l>0?at:ot,lt]:[l>0?ot:at,st]):[Q||K,tt||$]):Q&&tt&&pt([Q,tt])),pt([K,$])):Q-K&&tt-$&&pt([K||Q,$||tt]),et=e,Q=K,tt=$}else et&&dt(nt(et,e)[0]),G[Z++]=e;var a,o,s,l}for(r=0;rX(v,yt))break;o=v,(w=m[0]*y[0]+m[1]*y[1])>b?(b=w,p=v,g=!1):w<_&&(_=w,d=v,g=!0)}if(g?(gt(p),o!==d&>(d)):(d!==i&>(d),o!==p&>(p)),gt(o),r>=t.length||!v)break;gt(v),i=v}}else gt(p)}et&&pt([Q||et[0],tt||et[1]]),V.push(G.slice(0,Z))}var mt=N.slice(N.length-1);if(z&&"h"!==mt&&"v"!==mt){for(var xt=!1,bt=-1,_t=[],wt=0;wt=0?l=p:(l=p=h,h++),l0?Math.max(r,a):0}}},4898:function(t){"use strict";t.exports={container:"marker",min:"cmin",max:"cmax"}},49508:function(t,e,r){"use strict";var n=r(7901),i=r(52075).hasColorscale,a=r(1586),o=r(34098);t.exports=function(t,e,r,s,l,u){var c=o.isBubble(t),f=(t.line||{}).color;u=u||{},f&&(r=f),l("marker.symbol"),l("marker.opacity",c?.7:1),l("marker.size"),u.noAngle||(l("marker.angle"),u.noAngleRef||l("marker.angleref"),u.noStandOff||l("marker.standoff")),l("marker.color",r),i(t,"marker")&&a(t,e,s,l,{prefix:"marker.",cLetter:"c"}),u.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),u.noLine||(l("marker.line.color",f&&!Array.isArray(f)&&e.marker.color!==f?f:c?n.background:n.defaultLine),i(t,"marker.line")&&a(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",c?1:0)),c&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),u.gradient&&"none"!==l("marker.gradient.type")&&l("marker.gradient.color")}},73927:function(t,e,r){"use strict";var n=r(71828).dateTick0,i=r(50606).ONEWEEK;function a(t,e){return n(e,t%i==0?1:0)}t.exports=function(t,e,r,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n("xperiod");o&&(n("xperiod0",a(o,e.xcalendar)),n("xperiodalignment"))}if(i.y){var s=n("yperiod");s&&(n("yperiod0",a(s,e.ycalendar)),n("yperiodalignment"))}}},32663:function(t,e,r){"use strict";var n=r(39898),i=r(73972),a=r(71828),o=a.ensureSingle,s=a.identity,l=r(91424),u=r(34098),c=r(34621),f=r(68687),h=r(61082).tester;function p(t,e,r,f,p,d,v){var g,y=t._context.staticPlot;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,c=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(u.hasMarkers(h)){var p=h.marker.maxdisplayed;if(0!==p){var d=i.filter((function(t){return t.x>=c[0]&&t.x<=c[1]&&t.y>=f[0]&&t.y<=f[1]})),v=Math.ceil(d.length/p),g=0;o.forEach((function(t,r){var n=t[0].trace;u.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function x(t){return m?t.transition():t}var b=r.xaxis,_=r.yaxis,w=f[0].trace,T=w.line,k=n.select(d),A=o(k,"g","errorbars"),M=o(k,"g","lines"),S=o(k,"g","points"),E=o(k,"g","text");if(i.getComponentMethod("errorbars","plot")(t,A,r,v),!0===w.visible){var L,C;x(k).style("opacity",w.opacity);var O=w.fill.charAt(w.fill.length-1);"x"!==O&&"y"!==O&&(O=""),f[0][r.isRangePlot?"nodeRangePlot3":"node3"]=k;var P,I,D="",z=[],R=w._prevtrace;R&&(D=R._prevRevpath||"",C=R._nextFill,z=R._polygons);var F,B,N,j,U,V,H,q="",G="",Z=[],W=a.noop;if(L=w._ownFill,u.hasLines(w)||"none"!==w.fill){for(C&&C.datum(f),-1!==["hv","vh","hvh","vhv"].indexOf(T.shape)?(F=l.steps(T.shape),B=l.steps(T.shape.split("").reverse().join(""))):F=B="spline"===T.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),T.smoothing):l.smoothopen(t,T.smoothing)}:function(t){return"M"+t.join("L")},N=function(t){return B(t.reverse())},Z=c(f,{xaxis:b,yaxis:_,trace:w,connectGaps:w.connectgaps,baseTolerance:Math.max(T.width||1,3)/4,shape:T.shape,backoff:T.backoff,simplify:T.simplify,fill:w.fill}),H=w._polygons=new Array(Z.length),g=0;g0,g=f(t,e,r);(c=i.selectAll("g.trace").data(g,(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),c.order(),function(t,e,r){e.each((function(e){var i=o(n.select(this),"g","fills");l.setClipUrl(i,r.layerClipId,t);var a=e[0].trace,u=[];a._ownfill&&u.push("_ownFill"),a._nexttrace&&u.push("_nextFill");var c=i.selectAll("g").data(u,s);c.enter().append("g"),c.exit().each((function(t){a[t]=null})).remove(),c.order().each((function(t){a[t]=o(n.select(this),"path","js-fill")}))}))}(t,c,e),v?(u&&(h=u()),n.transition().duration(a.duration).ease(a.easing).each("end",(function(){h&&h()})).each("interrupt",(function(){h&&h()})).each((function(){i.selectAll("g.trace").each((function(r,n){p(t,n,e,r,g,this,a)}))}))):c.each((function(r,n){p(t,n,e,r,g,this,a)})),d&&c.exit().remove(),i.selectAll("path:not([d])").remove()}},98002:function(t,e,r){"use strict";var n=r(34098);t.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r0){var h=i.c2l(c);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}t.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e-1?-1:t.indexOf("right")>-1?1:0}function b(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return p[t]}function T(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o=0){var E=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n=0&&f("surfacecolor",p||d);for(var v=["x","y","z"],g=0;g<3;++g){var y="projection."+v[g];f(y+".show")&&(f(y+".opacity"),f(y+".scale"))}var m=n.getComponentMethod("errorbars","supplyDefaults");m(t,e,p||d||r,{axis:"z"}),m(t,e,p||d||r,{axis:"y",inherit:"z"}),m(t,e,p||d||r,{axis:"x",inherit:"z"})}else e.visible=!1}},13551:function(t,e,r){"use strict";t.exports={plot:r(58925),attributes:r(44542),markerSymbols:r(87381),supplyDefaults:r(21428),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:r(36563),moduleType:"trace",name:"scatter3d",basePlotModule:r(58547),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},97001:function(t,e,r){"use strict";var n=r(82196),i=r(9012),a=r(5386).fF,o=r(5386).si,s=r(50693),l=r(1426).extendFlat,u=n.marker,c=n.line,f=u.line;t.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:l({},n.mode,{dflt:"markers"}),text:l({},n.text,{}),texttemplate:o({editType:"plot"},{keys:["a","b","text"]}),hovertext:l({},n.hovertext,{}),line:{color:c.color,width:c.width,dash:c.dash,backoff:c.backoff,shape:l({},c.shape,{values:["linear","spline"]}),smoothing:c.smoothing,editType:"calc"},connectgaps:n.connectgaps,fill:l({},n.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n.fillcolor,marker:l({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,angle:u.angle,angleref:u.angleref,standoff:u.standoff,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:l({width:f.width,editType:"calc"},s("marker.line")),gradient:u.gradient,editType:"calc"},s("marker")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:["a","b","text","name"]}),hoveron:n.hoveron,hovertemplate:a()}},34618:function(t,e,r){"use strict";var n=r(92770),i=r(36922),a=r(75225),o=r(66279),s=r(47761).calcMarkerSize,l=r(22882);t.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var u;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var c,f,h=e._length,p=new Array(h),d=!1;for(u=0;u")}return o}function m(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,g.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},46858:function(t,e,r){"use strict";t.exports={attributes:r(97001),supplyDefaults:r(98965),colorbar:r(4898),formatLabels:r(48953),calc:r(34618),plot:r(1913),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(22931),selectPoints:r(98002),eventData:r(16165),moduleType:"trace",name:"scattercarpet",basePlotModule:r(93612),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},1913:function(t,e,r){"use strict";var n=r(32663),i=r(89298),a=r(91424);t.exports=function(t,e,r,o){var s,l,u,c=r[0][0].carpet,f=i.getFromId(t,c.xaxis||"x"),h=i.getFromId(t,c.yaxis||"y"),p={xaxis:f,yaxis:h,plot:e.plot};for(s=0;s")}function p(t){return t+"°"}}(u,v,t,l[0].t.labels),t.hovertemplate=u.hovertemplate,[t]}}},17988:function(t,e,r){"use strict";t.exports={attributes:r(19316),supplyDefaults:r(10659),colorbar:r(4898),formatLabels:r(82719),calc:r(84622),calcGeoJSON:r(89171).calcGeoJSON,plot:r(89171).plot,style:r(33095),styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(14977),eventData:r(84084),selectPoints:r(20548),moduleType:"trace",name:"scattergeo",basePlotModule:r(44622),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},89171:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(90973).getTopojsonFeatures,o=r(18214),s=r(41327),l=r(71739).findExtremes,u=r(50606).BADNUM,c=r(47761).calcMarkerSize,f=r(34098),h=r(33095);t.exports={calcGeoJSON:function(t,e){var r,n,i=t[0].trace,o=e[i.geo],f=o._subplot,h=i._length;if(Array.isArray(i.locations)){var p=i.locationmode,d="geojson-id"===p?s.extractTraceFeature(t):a(i,f.topojson);for(r=0;r=g,w=2*b,T={},k=l.makeCalcdata(e,"x"),A=m.makeCalcdata(e,"y"),M=s(e,l,"x",k),S=s(e,m,"y",A),E=M.vals,L=S.vals;e._x=E,e._y=L,e.xperiodalignment&&(e._origX=k,e._xStarts=M.starts,e._xEnds=M.ends),e.yperiodalignment&&(e._origY=A,e._yStarts=S.starts,e._yEnds=S.ends);var C=new Array(w),O=new Array(b);for(r=0;r1&&i.extendFlat(s.line,p.linePositions(t,r,n)),s.errorX||s.errorY){var l=p.errorBarPositions(t,r,n,a,o);s.errorX&&i.extendFlat(s.errorX,l.x),s.errorY&&i.extendFlat(s.errorY,l.y)}return s.text&&(i.extendFlat(s.text,{positions:n},p.textPosition(t,r,s.text,s.marker)),i.extendFlat(s.textSel,{positions:n},p.textPosition(t,r,s.text,s.markerSel)),i.extendFlat(s.textUnsel,{positions:n},p.textPosition(t,r,s.text,s.markerUnsel))),s}(t,0,e,C,E,L),D=d(t,x);return f(o,e),_?I.marker&&(P=I.marker.sizeAvg||Math.max(I.marker.size,3)):P=u(e,b),c(t,e,l,m,E,L,P),I.errorX&&y(e,l,I.errorX),I.errorY&&y(e,m,I.errorY),I.fill&&!D.fill2d&&(D.fill2d=!0),I.marker&&!D.scatter2d&&(D.scatter2d=!0),I.line&&!D.line2d&&(D.line2d=!0),!I.errorX&&!I.errorY||D.error2d||(D.error2d=!0),I.text&&!D.glText&&(D.glText=!0),I.marker&&(I.marker.snap=b),D.lineOptions.push(I.line),D.errorXOptions.push(I.errorX),D.errorYOptions.push(I.errorY),D.fillOptions.push(I.fill),D.markerOptions.push(I.marker),D.markerSelectedOptions.push(I.markerSel),D.markerUnselectedOptions.push(I.markerUnsel),D.textOptions.push(I.text),D.textSelectedOptions.push(I.textSel),D.textUnselectedOptions.push(I.textUnsel),D.selectBatch.push([]),D.unselectBatch.push([]),T._scene=D,T.index=D.count,T.x=E,T.y=L,T.positions=C,D.count++,[{x:!1,y:!1,t:T,trace:e}]}},78232:function(t){"use strict";t.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},19635:function(t,e,r){"use strict";var n=r(92770),i=r(82019),a=r(25075),o=r(73972),s=r(71828),l=r(91424),u=r(41675),c=r(81697).formatColor,f=r(34098),h=r(39984),p=r(68645),d=r(78232),v=r(37822).DESELECTDIM,g={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},y=r(23469).appendArrayPointValue;function m(t,e){var r,i=t._fullLayout,a=e._length,o=e.textfont,l=e.textposition,u=Array.isArray(l)?l:[l],c=o.color,f=o.size,h=o.family,p={},d=t._context.plotGlPixelRatio,v=e.texttemplate;if(v){p.text=[];var g=i._d3locale,m=Array.isArray(v),x=m?Math.min(v.length,a):a,b=m?function(t){return v[t]}:function(){return v};for(r=0;rd.TOO_MANY_POINTS||f.hasMarkers(e)?"rect":"round";if(u&&e.connectgaps){var h=n[0],p=n[1];for(i=0;i1?l[i]:l[0]:l,d=Array.isArray(u)?u.length>1?u[i]:u[0]:u,v=g[p],y=g[d],m=c?c/.8+1:0,x=-y*m-.5*y;o.offset[i]=[v*m/h,x/h]}}return o}}},47148:function(t,e,r){"use strict";var n=r(71828),i=r(73972),a=r(68645),o=r(42341),s=r(47581),l=r(34098),u=r(67513),c=r(73927),f=r(49508),h=r(11058),p=r(28908),d=r(82410);t.exports=function(t,e,r,v){function g(r,i){return n.coerce(t,e,o,r,i)}var y=!!t.marker&&a.isOpenSymbol(t.marker.symbol),m=l.isBubble(t),x=u(t,e,v,g);if(x){c(t,e,v,g),g("xhoverformat"),g("yhoverformat");var b=x100},e.isDotSymbol=function(t){return"string"==typeof t?n.DOT_RE.test(t):t>200}},20794:function(t,e,r){"use strict";var n=r(73972),i=r(71828),a=r(34603);function o(t,e,r,o){var s=t.xa,l=t.ya,u=t.distance,c=t.dxy,f=t.index,h={pointNumber:f,x:e[f],y:r[f]};h.tx=Array.isArray(o.text)?o.text[f]:o.text,h.htx=Array.isArray(o.hovertext)?o.hovertext[f]:o.hovertext,h.data=Array.isArray(o.customdata)?o.customdata[f]:o.customdata,h.tp=Array.isArray(o.textposition)?o.textposition[f]:o.textposition;var p=o.textfont;p&&(h.ts=i.isArrayOrTypedArray(p.size)?p.size[f]:p.size,h.tc=Array.isArray(p.color)?p.color[f]:p.color,h.tf=Array.isArray(p.family)?p.family[f]:p.family);var d=o.marker;d&&(h.ms=i.isArrayOrTypedArray(d.size)?d.size[f]:d.size,h.mo=i.isArrayOrTypedArray(d.opacity)?d.opacity[f]:d.opacity,h.mx=i.isArrayOrTypedArray(d.symbol)?d.symbol[f]:d.symbol,h.ma=i.isArrayOrTypedArray(d.angle)?d.angle[f]:d.angle,h.mc=i.isArrayOrTypedArray(d.color)?d.color[f]:d.color);var v=d&&d.line;v&&(h.mlc=Array.isArray(v.color)?v.color[f]:v.color,h.mlw=i.isArrayOrTypedArray(v.width)?v.width[f]:v.width);var g=d&&d.gradient;g&&"none"!==g.type&&(h.mgt=Array.isArray(g.type)?g.type[f]:g.type,h.mgc=Array.isArray(g.color)?g.color[f]:g.color);var y=s.c2p(h.x,!0),m=l.c2p(h.y,!0),x=h.mrc||1,b=o.hoverlabel;b&&(h.hbg=Array.isArray(b.bgcolor)?b.bgcolor[f]:b.bgcolor,h.hbc=Array.isArray(b.bordercolor)?b.bordercolor[f]:b.bordercolor,h.hts=i.isArrayOrTypedArray(b.font.size)?b.font.size[f]:b.font.size,h.htc=Array.isArray(b.font.color)?b.font.color[f]:b.font.color,h.htf=Array.isArray(b.font.family)?b.font.family[f]:b.font.family,h.hnl=i.isArrayOrTypedArray(b.namelength)?b.namelength[f]:b.namelength);var _=o.hoverinfo;_&&(h.hi=Array.isArray(_)?_[f]:_);var w=o.hovertemplate;w&&(h.ht=Array.isArray(w)?w[f]:w);var T={};T[t.index]=h;var k=o._origX,A=o._origY,M=i.extendFlat({},t,{color:a(o,h),x0:y-x,x1:y+x,xLabelVal:k?k[f]:h.x,y0:m-x,y1:m+x,yLabelVal:A?A[f]:h.y,cd:T,distance:u,spikeDistance:c,hovertemplate:h.ht});return h.htx?M.text=h.htx:h.tx?M.text=h.tx:o.text&&(M.text=o.text),i.fillText(h,o,M),n.getComponentMethod("errorbars","hoverInfo")(h,o,M),M}t.exports={hoverPoints:function(t,e,r,n){var i,a,s,l,u,c,f,h,p,d,v=t.cd,g=v[0].t,y=v[0].trace,m=t.xa,x=t.ya,b=g.x,_=g.y,w=m.c2p(e),T=x.c2p(r),k=t.distance;if(g.tree){var A=m.p2c(w-k),M=m.p2c(w+k),S=x.p2c(T-k),E=x.p2c(T+k);i="x"===n?g.tree.range(Math.min(A,M),Math.min(x._rl[0],x._rl[1]),Math.max(A,M),Math.max(x._rl[0],x._rl[1])):g.tree.range(Math.min(A,M),Math.min(S,E),Math.max(A,M),Math.max(S,E))}else i=g.ids;var L=k;if("x"===n){var C=!!y.xperiodalignment,O=!!y.yperiodalignment;for(c=0;c=Math.min(P,I)&&w<=Math.max(P,I)?0:1/0}if(f=Math.min(D,z)&&T<=Math.max(D,z)?0:1/0}d=Math.sqrt(f*f+h*h),s=i[c]}}}else for(c=i.length-1;c>-1;c--)l=b[a=i[c]],u=_[a],f=m.c2p(l)-w,h=x.c2p(u)-T,(p=Math.sqrt(f*f+h*h))m.glText.length){var T=_-m.glText.length;for(v=0;vr&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),m.line2d.update(m.lineOptions)),m.error2d){var A=(m.errorXOptions||[]).concat(m.errorYOptions||[]);m.error2d.update(A)}m.scatter2d&&m.scatter2d.update(m.markerOptions),m.fillOrder=s.repeat(null,_),m.fill2d&&(m.fillOptions=m.fillOptions.map((function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,u=m.lineOptions[e],c=[];s._ownfill&&c.push(e),s._nexttrace&&c.push(e+1),c.length&&(m.fillOrder[e]=c);var f,h,p=[],d=u&&u.positions||l.positions;if("tozeroy"===s.fill){for(f=0;ff&&isNaN(d[h+1]);)h-=2;0!==d[f+1]&&(p=[d[f],0]),p=p.concat(d.slice(f,h+2)),0!==d[h+1]&&(p=p.concat([d[h],0]))}else if("tozerox"===s.fill){for(f=0;ff&&isNaN(d[h]);)h-=2;0!==d[f]&&(p=[0,d[f+1]]),p=p.concat(d.slice(f,h+2)),0!==d[h]&&(p=p.concat([0,d[h+1]]))}else if("toself"===s.fill||"tonext"===s.fill){for(p=[],i=0,t.splitNull=!0,a=0;a-1;for(v=0;v<_;v++){var L=r[v][0],C=L.trace,O=L.t,P=O.index,I=C._length,D=O.x,z=O.y;if(C.selectedpoints||S||E){if(S||(S=!0),C.selectedpoints){var R=m.selectBatch[P]=s.selIndices2selPoints(C),F={};for(g=0;g")}function c(t){return t+"°"}}t.exports={hoverPoints:function(t,e,r){var o=t.cd,c=o[0].trace,f=t.xa,h=t.ya,p=t.subplot,d=[],v=l+c.uid+"-circle",g=c.cluster&&c.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[v]});d=y.map((function(t){return t.id}))}var m=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),x=e-m;if(n.getClosest(o,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;if(g&&-1===d.indexOf(t.i+1))return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=p.project([n,a]),l=o.x-f.c2p([x,a]),u=o.y-h.c2p([n,r]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+u*u)-c,1-3/c)}),t),!1!==t.index){var b=o[t.index],_=b.lonlat,w=[i.modHalf(_[0],360)+m,_[1]],T=f.c2p(w),k=h.c2p(w),A=b.mrc||1;t.x0=T-A,t.x1=T+A,t.y0=k-A,t.y1=k+A;var M={};M[c.subplot]={_subplot:p};var S=c._module.formatLabels(b,c,M);return t.lonLabel=S.lonLabel,t.latLabel=S.latLabel,t.color=a(c,b),t.extraText=u(c,b,o[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}},getExtraText:u}},20467:function(t,e,r){"use strict";t.exports={attributes:r(99181),supplyDefaults:r(76645),colorbar:r(4898),formatLabels:r(15636),calc:r(84622),plot:r(86951),hoverPoints:r(28178).hoverPoints,eventData:r(53353),selectPoints:r(86387),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermapbox",basePlotModule:r(50101),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},86951:function(t,e,r){"use strict";var n=r(71828),i=r(15790),a=r(77734).traceLayerPrefix,o={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function s(t,e,r,n){this.type="scattermapbox",this.subplot=t,this.uid=e,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol",cluster:"source-"+e+"-circle",clusterCount:"source-"+e+"-circle"},this.layerIds={fill:a+e+"-fill",line:a+e+"-line",circle:a+e+"-circle",symbol:a+e+"-symbol",cluster:a+e+"-cluster",clusterCount:a+e+"-cluster-count"},this.below=null}var l=s.prototype;l.addSource=function(t,e,r){var i={type:"geojson",data:e.geojson};r&&r.enabled&&n.extendFlat(i,{cluster:!0,clusterMaxZoom:r.maxzoom});var a=this.subplot.map.getSource(this.sourceIds[t]);a?a.setData(e.geojson):this.subplot.map.addSource(this.sourceIds[t],i)},l.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},l.addLayer=function(t,e,r){var n={type:e.type,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint};e.filter&&(n.filter=e.filter);for(var i,a=this.layerIds[t],o=this.subplot.getMapLayers(),s=0;s=0;r--){var i=e[r];n.removeLayer(c.layerIds[i])}t||n.removeSource(c.sourceIds.circle)}(t):function(t){for(var e=o.nonCluster,r=e.length-1;r>=0;r--){var i=e[r];n.removeLayer(c.layerIds[i]),t||n.removeSource(c.sourceIds[i])}}(t)}function h(t){l?function(t){t||c.addSource("circle",a.circle,e.cluster);for(var r=o.cluster,n=0;n=0;r--){var n=e[r];t.removeLayer(this.layerIds[n]),t.removeSource(this.sourceIds[n])}},t.exports=function(t,e){var r,n,a,l=e[0].trace,u=l.cluster&&l.cluster.enabled,c=!0!==l.visible,f=new s(t,l.uid,u,c),h=i(t.gd,e),p=f.below=t.belowLookup["trace-"+l.uid];if(u)for(f.addSource("circle",h.circle,l.cluster),r=0;r")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},91271:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:r(23580),categories:["polar","symbols","showLegend","scatter-like"],attributes:r(81245),supplyDefaults:r(22184).supplyDefaults,colorbar:r(4898),formatLabels:r(98608),calc:r(26442),plot:r(45162),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(59150).hoverPoints,selectPoints:r(98002),meta:{}}},45162:function(t,e,r){"use strict";var n=r(32663),i=r(50606).BADNUM;t.exports=function(t,e,r){for(var a=e.layers.frontplot.select("g.scatterlayer"),o=e.xaxis,s=e.yaxis,l={xaxis:o,yaxis:s,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},u=e.radialAxis,c=e.angularAxis,f=0;f=u&&(m.marker.cluster=d.tree),m.marker&&(m.markerSel.positions=m.markerUnsel.positions=m.marker.positions=_),m.line&&_.length>1&&l.extendFlat(m.line,s.linePositions(t,p,_)),m.text&&(l.extendFlat(m.text,{positions:_},s.textPosition(t,p,m.text,m.marker)),l.extendFlat(m.textSel,{positions:_},s.textPosition(t,p,m.text,m.markerSel)),l.extendFlat(m.textUnsel,{positions:_},s.textPosition(t,p,m.text,m.markerUnsel))),m.fill&&!h.fill2d&&(h.fill2d=!0),m.marker&&!h.scatter2d&&(h.scatter2d=!0),m.line&&!h.line2d&&(h.line2d=!0),m.text&&!h.glText&&(h.glText=!0),h.lineOptions.push(m.line),h.fillOptions.push(m.fill),h.markerOptions.push(m.marker),h.markerSelectedOptions.push(m.markerSel),h.markerUnselectedOptions.push(m.markerUnsel),h.textOptions.push(m.text),h.textSelectedOptions.push(m.textSel),h.textUnselectedOptions.push(m.textUnsel),h.selectBatch.push([]),h.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=g,d.theta=y,d.positions=_,d._scene=h,d.index=h.count,h.count++}})),a(t,e,r)}},t.exports.reglPrecompiled={}},48300:function(t,e,r){"use strict";var n=r(5386).fF,i=r(5386).si,a=r(1426).extendFlat,o=r(82196),s=r(9012),l=o.line;t.exports={mode:o.mode,real:{valType:"data_array",editType:"calc+clearAxisTypes"},imag:{valType:"data_array",editType:"calc+clearAxisTypes"},text:o.text,texttemplate:i({editType:"plot"},{keys:["real","imag","text"]}),hovertext:o.hovertext,line:{color:l.color,width:l.width,dash:l.dash,backoff:l.backoff,shape:a({},l.shape,{values:["linear","spline"]}),smoothing:l.smoothing,editType:"calc"},connectgaps:o.connectgaps,marker:o.marker,cliponaxis:a({},o.cliponaxis,{dflt:!1}),textposition:o.textposition,textfont:o.textfont,fill:a({},o.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:o.fillcolor,hoverinfo:a({},s.hoverinfo,{flags:["real","imag","text","name"]}),hoveron:o.hoveron,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},30621:function(t,e,r){"use strict";var n=r(92770),i=r(50606).BADNUM,a=r(36922),o=r(75225),s=r(66279),l=r(47761).calcMarkerSize;t.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,c=r[u].realaxis,f=r[u].imaginaryaxis,h=c.makeCalcdata(e,"real"),p=f.makeCalcdata(e,"imag"),d=e._length,v=new Array(d),g=0;g")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},85956:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scattersmith",basePlotModule:r(7504),categories:["smith","symbols","showLegend","scatter-like"],attributes:r(48300),supplyDefaults:r(65269),colorbar:r(4898),formatLabels:r(62047),calc:r(30621),plot:r(12480),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(11350).hoverPoints,selectPoints:r(98002),meta:{}}},12480:function(t,e,r){"use strict";var n=r(32663),i=r(50606).BADNUM,a=r(23893).smith;t.exports=function(t,e,r){for(var o=e.layers.frontplot.select("g.scatterlayer"),s=e.xaxis,l=e.yaxis,u={xaxis:s,yaxis:l,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},c=0;c"),o.hovertemplate=h.hovertemplate,a}function x(t,e){y.push(t._hovertitle+": "+e)}}},52979:function(t,e,r){"use strict";t.exports={attributes:r(50413),supplyDefaults:r(46008),colorbar:r(4898),formatLabels:r(93645),calc:r(54337),plot:r(7507),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(47250),selectPoints:r(98002),eventData:r(4524),moduleType:"trace",name:"scatterternary",basePlotModule:r(61639),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},7507:function(t,e,r){"use strict";var n=r(32663);t.exports=function(t,e,r){var i=e.plotContainer;i.select(".scatterlayer").selectAll("*").remove();for(var a=e.xaxis,o=e.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},l=e.layers.frontplot.select("g.scatterlayer"),u=0;uh?b.sizeAvg||Math.max(b.size,3):a(e,x),p=0;pa&&l||i-1,O=!0;if(o(x)||p.selectedpoints||C){var P=p._length;if(p.selectedpoints){v.selectBatch=p.selectedpoints;var I=p.selectedpoints,D={};for(l=0;l1&&(c=v[m-1],h=g[m-1],d=y[m-1]),e=0;ec?"-":"+")+"x")).replace("y",(f>h?"-":"+")+"y")).replace("z",(p>d?"-":"+")+"z");var L=function(){m=0,M=[],S=[],E=[]};(!m||m2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,c=e._len,f={};function d(t,e){var n=r[e],o=i[u[e]];return a.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(f.vectors=l(d(e._u,"xaxis"),d(e._v,"yaxis"),d(e._w,"zaxis"),c),!c)return{positions:[],cells:[]};var v=d(e._Xs,"xaxis"),g=d(e._Ys,"yaxis"),y=d(e._Zs,"zaxis");if(f.meshgrid=[v,g,y],f.gridFill=e._gridFill,e._slen)f.startingPositions=l(d(e._startsX,"xaxis"),d(e._startsY,"yaxis"),d(e._startsZ,"zaxis"));else{for(var m=g[0],x=h(v),b=h(y),_=new Array(x.length*b.length),w=0,T=0;T=0};m?(r=Math.min(y.length,b.length),l=function(t){return M(y[t])&&S(t)},f=function(t){return String(y[t])}):(r=Math.min(x.length,b.length),l=function(t){return M(x[t])&&S(t)},f=function(t){return String(x[t])}),w&&(r=Math.min(r,_.length));for(var E=0;E1){for(var P=a.randstr(),I=0;I=0){e.i=s.i;var c=r.marker;c.pattern&&c.colors&&c.pattern.shape||(c.color=u,e.color=u),n.pointStyle(t,r,a,e)}else i.fill(t,u)}},83523:function(t,e,r){"use strict";var n=r(39898),i=r(73972),a=r(23469).appendArrayPointValue,o=r(30211),s=r(71828),l=r(11086),u=r(2791),c=r(53581).formatPieValue;function f(t,e,r){for(var n=t.data.data,i={curveNumber:e.index,pointNumber:n.i,data:e._input,fullData:e},o=0;o"),name:A||D("name")?m.name:void 0,color:k("hoverlabel.bgcolor")||x.color,borderColor:k("hoverlabel.bordercolor"),fontFamily:k("hoverlabel.font.family"),fontSize:k("hoverlabel.font.size"),fontColor:k("hoverlabel.font.color"),nameLength:k("hoverlabel.namelength"),textAlign:k("hoverlabel.align"),hovertemplate:A,hovertemplateLabels:O,eventData:l};g&&(F.x0=E-i.rInscribed*i.rpx1,F.x1=E+i.rInscribed*i.rpx1,F.idealAlign=i.pxmid[0]<0?"left":"right"),y&&(F.x=E,F.idealAlign=E<0?"left":"right");var B=[];o.loneHover(F,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r,inOut_bbox:B}),l[0].bbox=B[0],d._hasHoverLabel=!0}if(y){var N=t.select("path.surface");h.styleOne(N,i,m,r,{hovered:!0})}d._hasHoverEvent=!0,r.emit("plotly_hover",{points:l||[f(i,m,h.eventDataKeys)],event:n.event})}})),t.on("mouseout",(function(e){var i=r._fullLayout,a=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit("plotly_unhover",{points:[f(s,a,h.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(i._hoverlayer.node()),d._hasHoverLabel=!1),y){var l=t.select("path.surface");h.styleOne(l,s,a,r,{hovered:!1})}})),t.on("click",(function(t){var e=r._fullLayout,a=r._fullData[d.index],s=g&&(u.isHierarchyRoot(t)||u.isLeaf(t)),c=u.getPtId(t),p=u.isEntry(t)?u.findEntryWithChild(v,c):u.findEntryWithLevel(v,c),y=u.getPtId(p),m={points:[f(t,a,h.eventDataKeys)],event:n.event};s||(m.nextLevel=y);var x=l.triggerHandler(r,"plotly_"+d.type+"click",m);if(!1!==x&&e.hovermode&&(r._hoverdata=[f(t,a,h.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){i.call("_storeDirectGUIEdit",a,e._tracePreGUI[a.uid],{level:a.level});var b={data:[{level:y}],traces:[d.index]},_={frame:{redraw:!1,duration:h.transitionTime},transition:{duration:h.transitionTime,easing:h.transitionEasing},mode:"immediate",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),i.call("animate",r,b,_)}}))}},2791:function(t,e,r){"use strict";var n=r(71828),i=r(7901),a=r(6964),o=r(53581);function s(t){return t.data.data.pid}e.findEntryWithLevel=function(t,r){var n;return r&&t.eachAfter((function(t){if(e.getPtId(t)===r)return n=t.copy()})),n||t},e.findEntryWithChild=function(t,r){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a0)},e.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},e.isHeader=function(t,r){return!(e.isLeaf(t)||t.depth===r._maxDepth-1)},e.getParent=function(t,r){return e.findEntryWithLevel(t,s(r))},e.listPath=function(t,r){var n=t.parent;if(!n)return[];var i=r?[n.data[r]]:[n];return e.listPath(n,r).concat(i)},e.getPath=function(t){return e.listPath(t,"label").join("/")+"/"},e.formatValue=o.formatPieValue,e.formatPercent=function(t,e){var r=n.formatPercent(t,0);return"0%"===r&&(r=o.formatPiePercent(t,e)),r}},87619:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"sunburst",basePlotModule:r(66888),categories:[],animatable:!0,attributes:r(57564),layoutAttributes:r(2654),supplyDefaults:r(17094),supplyLayoutDefaults:r(57034),calc:r(52147).calc,crossTraceCalc:r(52147).crossTraceCalc,plot:r(24714).plot,style:r(29969).style,colorbar:r(4898),meta:{}}},2654:function(t){"use strict";t.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},57034:function(t,e,r){"use strict";var n=r(71828),i=r(2654);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("sunburstcolorway",e.colorway),r("extendsunburstcolors")}},24714:function(t,e,r){"use strict";var n=r(39898),i=r(674),a=r(81684).sX,o=r(91424),s=r(71828),l=r(63893),u=r(72597),c=u.recordMinTextSize,f=u.clearMinTextSize,h=r(14575),p=r(53581).getRotationAngle,d=h.computeTransform,v=h.transformInsideText,g=r(29969).styleOne,y=r(16688).resizeText,m=r(83523),x=r(7055),b=r(2791);function _(t,r,u,f){var h=t._context.staticPlot,y=t._fullLayout,_=!y.uniformtext.mode&&b.hasTransition(f),T=n.select(u).selectAll("g.slice"),k=r[0],A=k.trace,M=k.hierarchy,S=b.findEntryWithLevel(M,A.level),E=b.getMaxDepth(A),L=y._size,C=A.domain,O=L.w*(C.x[1]-C.x[0]),P=L.h*(C.y[1]-C.y[0]),I=.5*Math.min(O,P),D=k.cx=L.l+L.w*(C.x[1]+C.x[0])/2,z=k.cy=L.t+L.h*(1-C.y[0])-P/2;if(!S)return T.remove();var R=null,F={};_&&T.each((function(t){F[b.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!R&&b.isEntry(t)&&(R=t)}));var B=function(t){return i.partition().size([2*Math.PI,t.height+1])(t)}(S).descendants(),N=S.height+1,j=0,U=E;k.hasMultipleRoots&&b.isHierarchyRoot(S)&&(B=B.slice(1),N-=1,j=1,U+=1),B=B.filter((function(t){return t.y1<=U}));var V=p(A.rotation);V&&B.forEach((function(t){t.x0+=V,t.x1+=V}));var H=Math.min(N,E),q=function(t){return(t-j)/H*I},G=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},Z=function(t){return s.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,D,z)},W=function(t){return D+w(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},Y=function(t){return z+w(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(T=T.data(B,b.getPtId)).enter().append("g").classed("slice",!0),_?T.exit().transition().each((function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",(function(t){var e=function(t){var e,r=b.getPtId(t),n=F[r],i=F[b.getPtId(S)];if(i){var o=(t.x1>i.x1?2*Math.PI:0)+V;e=t.rpx1X?2*Math.PI:0)+V;e={x0:i,x1:i}}else e={rpx0:I,rpx1:I},s.extendFlat(e,$(t));else e={rpx0:0,rpx1:0};else e={x0:V,x1:V};return a(e,n)}(t);return function(t){return Z(e(t))}})):f.attr("d",Z),u.call(m,S,t,r,{eventDataKeys:x.eventDataKeys,transitionTime:x.CLICK_TRANSITION_TIME,transitionEasing:x.CLICK_TRANSITION_EASING}).call(b.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),f.call(g,i,A,t);var p=s.ensureSingle(u,"g","slicetext"),w=s.ensureSingle(p,"text","",(function(t){t.attr("data-notex",1)})),T=s.ensureUniformFontSize(t,b.determineTextFont(A,i,y.font));w.text(e.formatSliceLabel(i,S,A,r,y)).classed("slicetext",!0).attr("text-anchor","middle").call(o.font,T).call(l.convertToTspans,t);var M=o.bBox(w.node());i.transform=v(M,i,k),i.transform.targetX=W(i),i.transform.targetY=Y(i);var E=function(t,e){var r=t.transform;return d(r,e),r.fontSize=T.size,c(A.type,r,y),s.getTextTransform(r)};_?w.transition().attrTween("transform",(function(t){var e=function(t){var e,r=F[b.getPtId(t)],n=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{textPosAngle:n.textPosAngle,scale:0,rotate:n.rotate,rCenter:n.rCenter,x:n.x,y:n.y}},R)if(t.parent)if(X){var i=t.x1>X?2*Math.PI:0;e.x0=e.x1=i}else s.extendFlat(e,$(t));else e.x0=e.x1=V;else e.x0=e.x1=V;var o=a(e.transform.textPosAngle,t.transform.textPosAngle),l=a(e.rpx1,t.rpx1),u=a(e.x0,t.x0),f=a(e.x1,t.x1),h=a(e.transform.scale,n.scale),p=a(e.transform.rotate,n.rotate),d=0===n.rCenter?3:0===e.transform.rCenter?1/3:1,v=a(e.transform.rCenter,n.rCenter);return function(t){var e=l(t),r=u(t),i=f(t),a=function(t){return v(Math.pow(t,d))}(t),s={pxmid:G(e,(r+i)/2),rpx1:e,transform:{textPosAngle:o(t),rCenter:a,x:n.x,y:n.y}};return c(A.type,n,y),{transform:{targetX:W(s),targetY:Y(s),scale:h(t),rotate:p(t),rCenter:a}}}}(t);return function(t){return E(e(t),M)}})):w.attr("transform",E(i,M))}))}function w(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}e.plot=function(t,e,r,i){var a,o,s=t._fullLayout,l=s._sunburstlayer,u=!r,c=!s.uniformtext.mode&&b.hasTransition(r);f("sunburst",s),(a=l.selectAll("g.trace.sunburst").data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),a.order(),c?(i&&(o=i()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){o&&o()})).each("interrupt",(function(){o&&o()})).each((function(){l.selectAll("g.trace").each((function(e){_(t,e,this,r)}))}))):(a.each((function(e){_(t,e,this,r)})),s.uniformtext.mode&&y(t,s._sunburstlayer.selectAll(".trace"),"sunburst")),u&&a.exit().remove()},e.formatSliceLabel=function(t,e,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!(a||o&&"none"!==o))return"";var l=i.separators,u=n[0],c=t.data.data,f=u.hierarchy,h=b.isHierarchyRoot(t),p=b.getParent(f,t),d=b.getValue(t);if(!a){var v,g=o.split("+"),y=function(t){return-1!==g.indexOf(t)},m=[];if(y("label")&&c.label&&m.push(c.label),c.hasOwnProperty("v")&&y("value")&&m.push(b.formatValue(c.v,l)),!h){y("current path")&&m.push(b.getPath(t.data));var x=0;y("percent parent")&&x++,y("percent entry")&&x++,y("percent root")&&x++;var _=x>1;if(x){var w,T=function(t){v=b.formatPercent(w,l),_&&(v+=" of "+t),m.push(v)};y("percent parent")&&!h&&(w=d/b.getValue(p),T("parent")),y("percent entry")&&(w=d/b.getValue(e),T("entry")),y("percent root")&&(w=d/b.getValue(f),T("root"))}}return y("text")&&(v=s.castOption(r,c.i,"text"),s.isValidTextValue(v)&&m.push(v)),m.join("
")}var k=s.castOption(r,c.i,"texttemplate");if(!k)return"";var A={};c.label&&(A.label=c.label),c.hasOwnProperty("v")&&(A.value=c.v,A.valueLabel=b.formatValue(c.v,l)),A.currentPath=b.getPath(t.data),h||(A.percentParent=d/b.getValue(p),A.percentParentLabel=b.formatPercent(A.percentParent,l),A.parent=b.getPtLabel(p)),A.percentEntry=d/b.getValue(e),A.percentEntryLabel=b.formatPercent(A.percentEntry,l),A.entry=b.getPtLabel(e),A.percentRoot=d/b.getValue(f),A.percentRootLabel=b.formatPercent(A.percentRoot,l),A.root=b.getPtLabel(f),c.hasOwnProperty("color")&&(A.color=c.color);var M=s.castOption(r,c.i,"text");return(s.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=s.castOption(r,c.i,"customdata"),s.texttemplateString(k,A,i._d3locale,A,r._meta||{})}},29969:function(t,e,r){"use strict";var n=r(39898),i=r(7901),a=r(71828),o=r(72597).resizeText,s=r(43467);function l(t,e,r,n){var o=e.data.data,l=!e.children,u=o.i,c=a.castOption(r,u,"marker.line.color")||i.defaultLine,f=a.castOption(r,u,"marker.line.width")||0;t.call(s,e,r,n).style("stroke-width",f).call(i.stroke,c).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(".trace");o(t,e,"sunburst"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style("opacity",i.opacity),r.selectAll("path.surface").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},54532:function(t,e,r){"use strict";var n=r(7901),i=r(50693),a=r(12663).axisHoverFormat,o=r(5386).fF,s=r(9012),l=r(1426).extendFlat,u=r(30962).overrideAll;function c(t){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:{valType:"boolean",dflt:!1},y:{valType:"boolean",dflt:!1},z:{valType:"boolean",dflt:!1}},color:{valType:"color",dflt:n.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:n.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var f=t.exports=u(l({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:o(),xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z"),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},i("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:c(),y:c(),z:c()},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},opacityscale:{valType:"any",editType:"calc"},_deprecated:{zauto:l({},i.zauto,{}),zmin:l({},i.zmin,{}),zmax:l({},i.zmax,{})},hoverinfo:l({},s.hoverinfo),showlegend:l({},s.showlegend,{dflt:!1})}),"calc","nested");f.x.editType=f.y.editType=f.z.editType="calc+clearAxisTypes",f.transforms=void 0},18396:function(t,e,r){"use strict";var n=r(78803);t.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:"",cLetter:"c"}):n(t,e,{vals:e.z,containerStr:"",cLetter:"c"})}},43768:function(t,e,r){"use strict";var n=r(9330).gl_surface3d,i=r(9330).ndarray,a=r(9330).ndarray_linear_interpolate.d2,o=r(824),s=r(43907),l=r(71828).isArrayOrTypedArray,u=r(81697).parseColorScale,c=r(78614),f=r(21081).extractOpts;function h(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var p=h.prototype;p.getXat=function(t,e,r,n){var i=l(this.data.x)?l(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?i:n.d2l(i,0,r)},p.getYat=function(t,e,r,n){var i=l(this.data.y)?l(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?i:n.d2l(i,0,r)},p.getZat=function(t,e,r,n){var i=this.data.z[e][t];return null===i&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[e][t]),void 0===r?i:n.d2l(i,0,r)},p.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,i],t.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],t.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){null!=t.dataCoordinate[a]&&(t.dataCoordinate[a]*=this.scene.dataScale[a])}var o=this.data.hovertext||this.data.text;return Array.isArray(o)&&o[i]&&void 0!==o[i][n]?t.textLabel=o[i][n]:t.textLabel=o||"",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var d=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function v(t,e){if(t0){r=d[n];break}return r}function m(t,e){if(!(t<1||e<1)){for(var r=g(t),n=g(e),i=1,a=0;a_;)r--,r/=y(r),++r1?n:1},p.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],a=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,u=1+a+1,c=i(new Float32Array(l*u),[l,u]),f=[1/e,0,0,0,1/r,0,0,0,1],h=0;h0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(i[t]=!0,e=this.contourStart[t];ea&&(this.minValues[e]=a),this.maxValues[e]",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"}}},51018:function(t,e,r){"use strict";var n=r(49850),i=r(1426).extendFlat,a=r(92770);function o(t){if(Array.isArray(t)){for(var e=0,r=0;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}t.exports=function(t,e){var r=l(e.cells.values),p=function(t){return t.slice(e.header.values.length,t.length)},d=l(e.header.values);d.length&&!d[0].length&&(d[0]=[""],d=l(d));var v=d.concat(p(r).map((function(){return u((d[0]||[""]).length)}))),g=e.domain,y=Math.floor(t._fullLayout._size.w*(g.x[1]-g.x[0])),m=Math.floor(t._fullLayout._size.h*(g.y[1]-g.y[0])),x=e.header.values.length?v[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],b=r.length?r[0].map((function(){return e.cells.height})):[],_=x.reduce(s,0),w=h(b,m-_+n.uplift),T=f(h(x,_),[]),k=f(w,T),A={},M=e._fullInput.columnorder.concat(p(r.map((function(t,e){return e})))),S=v.map((function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1})),E=S.reduce(s,0);S=S.map((function(t){return t/E*y}));var L=Math.max(o(e.header.line.width),o(e.cells.line.width)),C={key:e.uid+t._context.staticPlot,translateX:g.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-g.y[1]),size:t._fullLayout._size,width:y,maxLineWidth:L,height:m,columnOrder:M,groupHeight:m,rowBlocks:k,headerRowBlocks:T,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:v}),gdColumns:v.map((function(t){return t[0]})),gdColumnsOriginalOrder:v.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:v.map((function(t,e){var r=A[t];return A[t]=(r||0)+1,{key:t+"__"+A[t],label:t,specIndex:e,xIndex:M[e],xScale:c,x:void 0,calcdata:void 0,columnWidth:S[e]}}))};return C.columns.forEach((function(t){t.calcdata=C,t.x=c(t)})),C}},56269:function(t,e,r){"use strict";var n=r(1426).extendFlat;e.splitToPanels=function(t){var e=[0,0],r=n({},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:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},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}),n({},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]},e.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0;return[r,e?r+e.rows.length:0]}(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}}))}},39754:function(t,e,r){"use strict";var n=r(71828),i=r(44464),a=r(27670).c;t.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",n.extendFlat({},o.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/i),l=!o||s;t.mayHaveMarkup=o&&i.match(/[<&>]/);var u,c="string"==typeof(u=i)&&u.match(n.latexCheck);t.latex=c;var f,h,p=c?"":T(t.calcdata.cells.prefix,e,r)||"",d=c?"":T(t.calcdata.cells.suffix,e,r)||"",v=c?null:T(t.calcdata.cells.format,e,r)||null,g=p+(v?a(v)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!c&&(f=w(g)),t.cellHeightMayIncrease=s||c||t.mayHaveMarkup||(void 0===f?w(g):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var y=(" "===n.wrapSplitCharacter?g.replace(/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){var e=z(t.rowBlocks,t.page)-t.scrollY;return c(0,e)})),t&&(C(t,r,e,u,n.prevPages,n,0),C(t,r,e,u,n.prevPages,n,1),x(r,t))}}function L(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter((function(t){return s.key===t.key})),u=r||s.scrollbarState.dragMultiplier,c=s.scrollY;s.scrollY=void 0===a?s.scrollY+u*i.event.dy:a;var f=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(A);return E(t,f,l),s.scrollY===c}}function C(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]}));b(t,e,a,r),i[o]=n[o]})))}function O(t,e,r,a){return function(){var o=i.select(e.parentNode);o.each((function(t){var e=t.fragments;o.selectAll("tspan.line").each((function(t,r){e[r].width=this.getComputedTextLength()}));var r,i,a=e[e.length-1].width,s=e.slice(0,-1),l=[],u=0,c=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)u+(i=(r=s.shift()).width+a)>c&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],u=0),l.push(r.text),u+=i;u&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0})),o.selectAll("tspan.line").remove(),_(o.select("."+n.cn.cellText),r,t,a),i.select(e.parentNode.parentNode).call(D)}}function P(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=B(o),u=o.key-l.firstRowIndex,f=l.rows[u].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:f,p=Math.max(h,f);p-l.rows[u].rowHeight&&(l.rows[u].rowHeight=p,t.selectAll("."+n.cn.columnCell).call(D),E(null,t.filter(A),0),x(r,a,!0)),s.attr("transform",(function(){var t=this,e=t.parentNode.getBoundingClientRect(),r=i.select(t.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),a=t.transform.baseVal.consolidate(),s=r.top-e.top+(a?a.matrix.f:n.cellPad);return c(I(o,i.select(t.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width),s)})),o.settledY=!0}}}function I(t,e){switch(t.align){case"left":default:return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2}}function D(t){t.attr("transform",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+R(e,1/0)}),0),r=R(B(t),t.key);return c(0,r+e)})).selectAll("."+n.cn.cellRect).attr("height",(function(t){return(e=B(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function z(t,e){for(var r=0,n=e-1;n>=0;n--)r+=F(t[n]);return r}function R(t,e){for(var r=0,n=0;n","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:c({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:i({editType:"plot"},{keys:u.eventDataKeys.concat(["label","value"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:u.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:c({},s.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:s.sort,root:l.root,domain:o({name:"treemap",trace:!0,editType:"calc"})}},78018:function(t,e,r){"use strict";var n=r(74875);e.name="treemap",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},65039:function(t,e,r){"use strict";var n=r(52147);e.y=function(t,e){return n.calc(t,e)},e.T=function(t){return n._runCrossTraceCalc("treemap",t)}},43473:function(t){"use strict";t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},91174:function(t,e,r){"use strict";var n=r(71828),i=r(45802),a=r(7901),o=r(27670).c,s=r(90769).handleText,l=r(97313).TEXTPAD,u=r(37434).handleMarkerDefaults,c=r(21081),f=c.hasColorscale,h=c.handleDefaults;t.exports=function(t,e,r,c){function p(r,a){return n.coerce(t,e,i,r,a)}var d=p("labels"),v=p("parents");if(d&&d.length&&v&&v.length){var g=p("values");g&&g.length?p("branchvalues"):p("count"),p("level"),p("maxdepth"),"squarify"===p("tiling.packing")&&p("tiling.squarifyratio"),p("tiling.flip"),p("tiling.pad");var y=p("text");p("texttemplate"),e.texttemplate||p("textinfo",Array.isArray(y)?"text+label":"label"),p("hovertext"),p("hovertemplate");var m=p("pathbar.visible");s(t,e,c,p,"auto",{hasPathbar:m,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p("textposition");var x=-1!==e.textposition.indexOf("bottom");u(t,e,c,p),(e._hasColorscale=f(t,"marker","colors")||(t.marker||{}).coloraxis)?h(t,e,c,p,{prefix:"marker.",cLetter:"c"}):p("marker.depthfade",!(e.marker.colors||[]).length);var b=2*e.textfont.size;p("marker.pad.t",x?b/4:b),p("marker.pad.l",b/4),p("marker.pad.r",b/4),p("marker.pad.b",x?b:b/4),p("marker.cornerradius"),e._hovered={marker:{line:{width:2,color:a.contrast(c.paper_bgcolor)}}},m&&(p("pathbar.thickness",e.pathbar.textfont.size+2*l),p("pathbar.side"),p("pathbar.edgeshape")),p("sort"),p("root.color"),o(e,c,p),e._length=null}else e.visible=!1}},80694:function(t,e,r){"use strict";var n=r(39898),i=r(2791),a=r(72597).clearMinTextSize,o=r(16688).resizeText,s=r(46650);t.exports=function(t,e,r,l,u){var c,f,h=u.type,p=u.drawDescendants,d=t._fullLayout,v=d["_"+h+"layer"],g=!r;a(h,d),(c=v.selectAll("g.trace."+h).data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed(h,!0),c.order(),!d.uniformtext.mode&&i.hasTransition(r)?(l&&(f=l()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){f&&f()})).each("interrupt",(function(){f&&f()})).each((function(){v.selectAll("g.trace").each((function(e){s(t,e,this,r,p)}))}))):(c.each((function(e){s(t,e,this,r,p)})),d.uniformtext.mode&&o(t,v.selectAll(".trace"),h)),g&&c.exit().remove()}},66209:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(91424),o=r(63893),s=r(37210),l=r(96362).styleOne,u=r(43473),c=r(2791),f=r(83523),h=!0;t.exports=function(t,e,r,p,d){var v=d.barDifY,g=d.width,y=d.height,m=d.viewX,x=d.viewY,b=d.pathSlice,_=d.toMoveInsideSlice,w=d.strTransform,T=d.hasTransition,k=d.handleSlicesExit,A=d.makeUpdateSliceInterpolator,M=d.makeUpdateTextInterpolator,S={},E=t._context.staticPlot,L=t._fullLayout,C=e[0],O=C.trace,P=C.hierarchy,I=g/O._entryDepth,D=c.listPath(r.data,"id"),z=s(P.copy(),[g,y],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(z=z.filter((function(t){var e=D.indexOf(t.data.id);return-1!==e&&(t.x0=I*e,t.x1=I*(e+1),t.y0=v,t.y1=v+y,t.onPathbar=!0,!0)}))).reverse(),(p=p.data(z,c.getPtId)).enter().append("g").classed("pathbar",!0),k(p,h,S,[g,y],b),p.order();var R=p;T&&(R=R.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),R.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-Math.min(g,y)/2),s._hoverY=x(s.y1-y/2);var p=n.select(this),d=i.ensureSingle(p,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?d.transition().attrTween("d",(function(t){var e=A(t,h,S,[g,y]);return function(t){return b(e(t))}})):d.attr("d",b),p.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),d.call(l,s,O,t,{hovered:!1}),s._text=(c.getPtLabel(s)||"").split("
").join(" ")||"";var v=i.ensureSingle(p,"g","slicetext"),k=i.ensureSingle(v,"text","",(function(t){t.attr("data-notex",1)})),C=i.ensureUniformFontSize(t,c.determineTextFont(O,s,L.font,{onPathbar:!0}));k.text(s._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(a.font,C).call(o.convertToTspans,t),s.textBB=a.bBox(k.node()),s.transform=_(s,{fontSize:C.size,onPathbar:!0}),s.transform.fontSize=C.size,T?k.transition().attrTween("transform",(function(t){var e=M(t,h,S,[g,y]);return function(t){return w(e(t))}})):k.attr("transform",w(s))}))}},52583:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(91424),o=r(63893),s=r(37210),l=r(96362).styleOne,u=r(43473),c=r(2791),f=r(83523),h=r(24714).formatSliceLabel,p=!1;t.exports=function(t,e,r,d,v){var g=v.width,y=v.height,m=v.viewX,x=v.viewY,b=v.pathSlice,_=v.toMoveInsideSlice,w=v.strTransform,T=v.hasTransition,k=v.handleSlicesExit,A=v.makeUpdateSliceInterpolator,M=v.makeUpdateTextInterpolator,S=v.prevEntry,E=t._context.staticPlot,L=t._fullLayout,C=e[0].trace,O=-1!==C.textposition.indexOf("left"),P=-1!==C.textposition.indexOf("right"),I=-1!==C.textposition.indexOf("bottom"),D=!I&&!C.marker.pad.t||I&&!C.marker.pad.b,z=s(r,[g,y],{packing:C.tiling.packing,squarifyratio:C.tiling.squarifyratio,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1,pad:{inner:C.tiling.pad,top:C.marker.pad.t,left:C.marker.pad.l,right:C.marker.pad.r,bottom:C.marker.pad.b}}).descendants(),R=1/0,F=-1/0;z.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(R=Math.min(R,e),F=Math.max(F,e))})),d=d.data(z,c.getPtId),C._maxVisibleLayers=isFinite(F)?F-R+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],b),d.order();var B=null;if(T&&S){var N=c.getPtId(S);d.each((function(t){null===B&&c.getPtId(t)===N&&(B={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var j=function(){return B||{x0:0,x1:g,y0:0,y1:y}},U=d;return T&&(U=U.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),U.each((function(s){var d=c.isHeader(s,C);s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.marker.pad.r),s._hoverY=x(I?s.y1-C.marker.pad.b/2:s.y0+C.marker.pad.t/2);var v=n.select(this),k=i.ensureSingle(v,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?k.transition().attrTween("d",(function(t){var e=A(t,p,j(),[g,y]);return function(t){return b(e(t))}})):k.attr("d",b),v.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),k.call(l,s,C,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=d?D?"":c.getPtLabel(s)||"":h(s,r,C,e,L)||"";var S=i.ensureSingle(v,"g","slicetext"),z=i.ensureSingle(S,"text","",(function(t){t.attr("data-notex",1)})),R=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font));z.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",P?"end":O||d?"start":"middle").call(a.font,R).call(o.convertToTspans,t),s.textBB=a.bBox(z.node()),s.transform=_(s,{fontSize:R.size,isHeader:d}),s.transform.fontSize=R.size,T?z.transition().attrTween("transform",(function(t){var e=M(t,p,j(),[g,y]);return function(t){return w(e(t))}})):z.attr("transform",w(s))})),B}},14102:function(t){"use strict";t.exports=function t(e,r,n){var i;n.swapXY&&(i=e.x0,e.x0=e.y0,e.y0=i,i=e.x1,e.x1=e.y1,e.y1=i),n.flipX&&(i=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-i),n.flipY&&(i=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-i);var a=e.children;if(a)for(var o=0;o-1?C+I:-(P+I):0,z={x0:O,x1:O,y0:D,y1:D+P},R=function(t,e,r){var n=y.tiling.pad,i=function(t){return t-n<=e.x0},a=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return t.x0===e.x0&&t.x1===e.x1&&t.y0===e.y0&&t.y1===e.y1?{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1}:{x0:i(t.x0-n)?0:a(t.x0-n)?r[0]:t.x0,x1:i(t.x1+n)?0:a(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},F=null,B={},N={},j=null,U=function(t,e){return e?B[h(t)]:N[h(t)]};g.hasMultipleRoots&&k&&M++,y._maxDepth=M,y._backgroundColor=v.paper_bgcolor,y._entryDepth=b.data.depth,y._atRootLevel=k;var V=-L/2+S.l+S.w*(E.x[1]+E.x[0])/2,H=-C/2+S.t+S.h*(1-(E.y[1]+E.y[0])/2),q=function(t){return V+t},G=function(t){return H+t},Z=G(0),W=q(0),Y=function(t){return W+t},X=function(t){return Z+t};function J(t,e){return t+","+e}var K=Y(0),$=function(t){t.x=Math.max(K,t.x)},Q=y.pathbar.edgeshape,tt=y[m?"tiling":"marker"].pad,et=function(t){return-1!==y.textposition.indexOf(t)},rt=et("top"),nt=et("left"),it=et("right"),at=et("bottom"),ot=function(t,e){var r=t.x0,n=t.x1,i=t.y0,a=t.y1,o=t.textBB,c=rt||e.isHeader&&!at?"start":at?"end":"middle",f=et("right"),h=et("left")||e.onPathbar?-1:f?1:0;if(e.isHeader){if((r+=(m?tt:tt.l)-s)>=(n-=(m?tt:tt.r)-s)){var p=(r+n)/2;r=p,n=p}var d;at?i<(d=a-(m?tt:tt.b))&&d"===Q?(l.x-=a,u.x-=a,c.x-=a,f.x-=a):"/"===Q?(c.x-=a,f.x-=a,o.x-=a/2,s.x-=a/2):"\\"===Q?(l.x-=a,u.x-=a,o.x-=a/2,s.x-=a/2):"<"===Q&&(o.x-=a,s.x-=a),$(l),$(f),$(o),$(u),$(c),$(s),"M"+J(l.x,l.y)+"L"+J(u.x,u.y)+"L"+J(s.x,s.y)+"L"+J(c.x,c.y)+"L"+J(f.x,f.y)+"L"+J(o.x,o.y)+"Z"},toMoveInsideSlice:ot,makeUpdateSliceInterpolator:lt,makeUpdateTextInterpolator:ut,handleSlicesExit:ct,hasTransition:A,strTransform:ft}):w.remove()}},96362:function(t,e,r){"use strict";var n=r(39898),i=r(7901),a=r(71828),o=r(2791),s=r(72597).resizeText,l=r(43467);function u(t,e,r,n,s){var u,c,f=(s||{}).hovered,h=e.data.data,p=h.i,d=h.color,v=o.isHierarchyRoot(e),g=1;if(f)u=r._hovered.marker.line.color,c=r._hovered.marker.line.width;else if(v&&d===r.root.color)g=100,u="rgba(0,0,0,0)",c=0;else if(u=a.castOption(r,p,"marker.line.color")||i.defaultLine,c=a.castOption(r,p,"marker.line.width")||0,!r._hasColorscale&&!e.onPathbar){var y=r.marker.depthfade;if(y){var m,x=i.combine(i.addOpacity(r._backgroundColor,.75),d);if(!0===y){var b=o.getMaxDepth(r);m=isFinite(b)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else m=e.data.depth-r._entryDepth,r._atRootLevel||m++;if(m>0)for(var _=0;_0){var b,_,w,T,k,A=t.xa,M=t.ya;"h"===d.orientation?(k=e,b="y",w=M,_="x",T=A):(k=r,b="x",w=A,_="y",T=M);var S=p[t.index];if(k>=S.span[0]&&k<=S.span[1]){var E=i.extendFlat({},t),L=T.c2p(k,!0),C=s.getKdeValue(S,d,k),O=s.getPositionOnKdePath(S,d,L),P=w._offset,I=w._length;E[b+"0"]=O[0],E[b+"1"]=O[1],E[_+"0"]=E[_+"1"]=L,E[_+"Label"]=_+": "+a.hoverLabelText(T,k,d[_+"hoverformat"])+", "+p[0].t.labels.kde+" "+C.toFixed(3);for(var D=0,z=0;z")),c.color=function(t,e){var r=t[e.dir].marker,n=r.color,a=r.line.color,o=r.line.width;return i(n)?n:i(a)&&o?a:void 0}(h,g),[c]}function k(t){return n(v,t,h[d+"hoverformat"])}}},19990:function(t,e,r){"use strict";t.exports={attributes:r(43037),layoutAttributes:r(13494),supplyDefaults:r(83266).supplyDefaults,crossTraceDefaults:r(83266).crossTraceDefaults,supplyLayoutDefaults:r(5176),calc:r(52752),crossTraceCalc:r(70766),plot:r(30436),style:r(55750).style,hoverPoints:r(61326),eventData:r(58593),selectPoints:r(81974),moduleType:"trace",name:"waterfall",basePlotModule:r(93612),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},13494:function(t){"use strict";t.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},5176:function(t,e,r){"use strict";var n=r(71828),i=r(13494);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s0&&(g+=h?"M"+f[0]+","+d[1]+"V"+d[0]:"M"+f[1]+","+d[0]+"H"+f[0]),"between"!==p&&(r.isSum||s path").each((function(t){if(!t.isBlank){var e=s[t.dir].marker;n.select(this).call(a.fill,e.color).call(a.stroke,e.line.color).call(i.dashLine,e.line.dash,e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},82887:function(t,e,r){"use strict";var n=r(89298),i=r(71828),a=r(86281),o=r(79344).p,s=r(50606).BADNUM;e.moduleType="transform",e.name="aggregate";var l=e.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","change","range"],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"},u=l.aggregations;function c(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),u=l.get(),c=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case"count":return f;case"first":return h;case"last":return p;case"sum":return function(t,e){for(var r=0,i=0;ii&&(i=c,o=u)}}return i?a(o):s};case"rms":return function(t,e){for(var r=0,i=0,o=0;o":return function(t){return h(t)>s};case">=":return function(t){return h(t)>=s};case"[]":return function(t){var e=h(t);return e>=s[0]&&e<=s[1]};case"()":return function(t){var e=h(t);return e>s[0]&&e=s[0]&&es[0]&&e<=s[1]};case"][":return function(t){var e=h(t);return e<=s[0]||e>=s[1]};case")(":return function(t){var e=h(t);return es[1]};case"](":return function(t){var e=h(t);return e<=s[0]||e>s[1]};case")[":return function(t){var e=h(t);return e=s[1]};case"{}":return function(t){return-1!==s.indexOf(h(t))};case"}{":return function(t){return-1===s.indexOf(h(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},y=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},y=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(g);for(var w=o(e.transforms,r),T=0;T1?"%{group} (%{trace})":"%{group}");var l=t.styles,u=o.styles=[];if(l)for(a=0;ap)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,v.prototype),e}function v(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return m(t)}return g(t,e,r)}function g(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!v.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|w(t,e),n=d(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(rt(t,Uint8Array)){var e=new Uint8Array(t);return b(e.buffer,e.byteOffset,e.byteLength)}return x(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+u(t));if(rt(t,ArrayBuffer)||t&&rt(t.buffer,ArrayBuffer))return b(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(rt(t,SharedArrayBuffer)||t&&rt(t.buffer,SharedArrayBuffer)))return b(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return v.from(n,e,r);var i=function(t){if(v.isBuffer(t)){var e=0|_(t.length),r=d(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||nt(t.length)?d(0):x(t):"Buffer"===t.type&&Array.isArray(t.data)?x(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return v.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+u(t))}function y(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function m(t){return y(t),d(t<0?0:0|_(t))}function x(t){for(var e=t.length<0?0:0|_(t.length),r=d(e),n=0;n=p)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+p.toString(16)+" bytes");return 0|t}function w(t,e){if(v.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||rt(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+u(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Q(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return tt(t).length;default:if(i)return n?-1:Q(t).length;e=(""+e).toLowerCase(),i=!0}}function T(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 F(this,e,r);case"utf8":case"utf-8":return I(this,e,r);case"ascii":return z(this,e,r);case"latin1":case"binary":return R(this,e,r);case"base64":return P(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function k(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function A(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),nt(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=v.from(e,n)),v.isBuffer(e))return 0===e.length?-1:M(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):M(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function M(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;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function P(t,e,r){return 0===e&&r===t.length?c.fromByteArray(t):c.fromByteArray(t.slice(e,r))}function I(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=D)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(v.isBuffer(a)||(a=v.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!v.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},v.byteLength=w,v.prototype._isBuffer=!0,v.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;er&&(t+=" ... "),""},h&&(v.prototype[h]=v.prototype.inspect),v.prototype.compare=function(t,e,r,n,i){if(rt(t,Uint8Array)&&(t=v.from(t,t.offset,t.byteLength)),!v.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+u(t));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(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),l=this.slice(n,i),c=t.slice(e,r),f=0;f>>=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 S(this,t,e,r);case"utf8":case"utf-8":return E(this,t,e,r);case"ascii":case"latin1":case"binary":return L(this,t,e,r);case"base64":return C(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},v.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var D=4096;function z(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function j(t,e,r,n,i,a){if(!v.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function U(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function V(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function H(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 q(t,e,r,n,i){return e=+e,r>>>=0,i||H(t,0,r,4),f.write(t,e,r,n,23,4),r+4}function G(t,e,r,n,i){return e=+e,r>>>=0,i||H(t,0,r,8),f.write(t,e,r,n,52,8),r+8}v.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},v.prototype.readUint8=v.prototype.readUInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),this[t]},v.prototype.readUint16LE=v.prototype.readUInt16LE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]|this[t+1]<<8},v.prototype.readUint16BE=v.prototype.readUInt16BE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]<<8|this[t+1]},v.prototype.readUint32LE=v.prototype.readUInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},v.prototype.readUint32BE=v.prototype.readUInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},v.prototype.readBigUInt64LE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},v.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||N(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},v.prototype.readInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},v.prototype.readInt16LE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},v.prototype.readInt16BE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},v.prototype.readInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},v.prototype.readInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},v.prototype.readBigInt64LE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||N(t,4,this.length),f.read(this,t,!0,23,4)},v.prototype.readFloatBE=function(t,e){return t>>>=0,e||N(t,4,this.length),f.read(this,t,!1,23,4)},v.prototype.readDoubleLE=function(t,e){return t>>>=0,e||N(t,8,this.length),f.read(this,t,!0,52,8)},v.prototype.readDoubleBE=function(t,e){return t>>>=0,e||N(t,8,this.length),f.read(this,t,!1,52,8)},v.prototype.writeUintLE=v.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||j(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||j(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},v.prototype.writeUint8=v.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,255,0),this[e]=255&t,e+1},v.prototype.writeUint16LE=v.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},v.prototype.writeUint16BE=v.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},v.prototype.writeUint32LE=v.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(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},v.prototype.writeUint32BE=v.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(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},v.prototype.writeBigUInt64LE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return U(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),v.prototype.writeBigUInt64BE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return V(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),v.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},v.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(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},v.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},v.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},v.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},v.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(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},v.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(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},v.prototype.writeBigInt64LE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return U(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),v.prototype.writeBigInt64BE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return V(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),v.prototype.writeFloatLE=function(t,e,r){return q(this,t,e,!0,r)},v.prototype.writeFloatBE=function(t,e,r){return q(this,t,e,!1,r)},v.prototype.writeDoubleLE=function(t,e,r){return G(this,t,e,!0,r)},v.prototype.writeDoubleBE=function(t,e,r){return G(this,t,e,!1,r)},v.prototype.copy=function(t,e,r,n){if(!v.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=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>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function X(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new Z.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){J(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||K(e,t.length-(r+1))}(n,i,a)}function J(t,e){if("number"!=typeof t)throw new Z.ERR_INVALID_ARG_TYPE(e,"number",t)}function K(t,e,r){if(Math.floor(t)!==t)throw J(t,r),new Z.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new Z.ERR_BUFFER_OUT_OF_BOUNDS;throw new Z.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}W("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),W("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(u(e))}),TypeError),W("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=Y(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=Y(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var $=/[^+/0-9A-Za-z-_]/g;function Q(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&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 tt(t){return c.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace($,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function et(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function rt(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function nt(t){return t!=t}var it=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function at(t){return"undefined"==typeof BigInt?ot:t}function ot(){throw new Error("BigInt not supported")}},2321:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|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[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},3910:function(t,e){"use strict";e.byteLength=function(t){var e=l(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,a=l(t),o=a[0],s=a[1],u=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,s)),c=0,f=s>0?o-4:o;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===s&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===s&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,l=n-i;sl?l:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,s=a.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},3187:function(t,e){e.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,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)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=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+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},1152:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],u=t.mode||"turntable",c=n(),f=i(),h=a();return c.setDistanceLimits(l[0],l[1]),c.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:c,orbit:f,matrix:h},u)};var n=r(3440),i=r(7774),a=r(9298);function o(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 s=o.prototype;s.flush=function(t){for(var e=this._controllerList,r=0;r0?u=u.ushln(f):f<0&&(c=c.ushln(-f)),s(u,c)}},234:function(t,e,r){"use strict";var n=r(3218);t.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},4275:function(t,e,r){"use strict";var n=r(1928);t.exports=function(t){return t.cmp(new n(0))}},9958:function(t,e,r){"use strict";var n=r(4275);t.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a20?52:r+32}},3218:function(t,e,r){"use strict";r(1928),t.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},5514:function(t,e,r){"use strict";var n=r(1928),i=r(8362);t.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},8524:function(t,e,r){"use strict";var n=r(5514),i=r(4275);t.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}},2813:function(t,e,r){"use strict";var n=r(1928);t.exports=function(t){return new n(t)}},3962:function(t,e,r){"use strict";var n=r(8524);t.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},4951:function(t,e,r){"use strict";var n=r(4275);t.exports=function(t){return n(t[0])*n(t[1])}},4354:function(t,e,r){"use strict";var n=r(8524);t.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},7999:function(t,e,r){"use strict";var n=r(9958),i=r(1112);t.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,u=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return u*s;if(s){var c=i(s)+4,f=n(l.ushln(c).divRound(r));return u*(s+f*Math.pow(2,-c))}var h=r.bitLength()-l.bitLength()+53;return f=n(l.ushln(h).divRound(r)),h<1023?u*f*Math.pow(2,-h):u*(f*=Math.pow(2,-1023))*Math.pow(2,1023-h)}},5070:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},2288:function(t,e){"use strict";function r(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}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.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},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,1+((t|=t>>>8)|t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=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<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.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},e.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},e.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},e.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},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},1928:function(t,e,r){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.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 o;"object"==typeof t?t.exports=a:e.BN=a,a.BN=a,a.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(6601).Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(t,e,r){var n=s(t,r);return r-1>=e&&(n|=s(t,r-1)<<4),n}function u(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=l(t,e,n)<=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;this.strip()},a.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,s=Math.min(a,a-o)+r,l=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var c=["","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"],f=[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],h=[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 p(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>>26,f=67108863&l,h=Math.min(u,e.length-1),p=Math.max(0,u-t.length+1);p<=h;p++){var d=u-p|0;c+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[u]=0|f,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,a=0,o=0;o>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=f[t],p=h[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var v=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?v+r:c[u-v.length]+v+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.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&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(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=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},a.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},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;at.length?this.clone().iadd(t):t.clone().iadd(this)},a.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>26,this.words[o]=67108863&e;for(;0!==a&&o>26,this.words[o]=67108863&e;if(0===a&&o>>13,p=0|o[1],d=8191&p,v=p>>>13,g=0|o[2],y=8191&g,m=g>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],L=8191&E,C=E>>>13,O=0|o[7],P=8191&O,I=O>>>13,D=0|o[8],z=8191&D,R=D>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],U=8191&j,V=j>>>13,H=0|s[1],q=8191&H,G=H>>>13,Z=0|s[2],W=8191&Z,Y=Z>>>13,X=0|s[3],J=8191&X,K=X>>>13,$=0|s[4],Q=8191&$,tt=$>>>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],ft=8191&ct,ht=ct>>>13,pt=0|s[9],dt=8191&pt,vt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(n=Math.imul(f,U))|0)+((8191&(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))<<13)|0;u=((a=Math.imul(h,V))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(v,U)|0,a=Math.imul(v,V);var yt=(u+(n=n+Math.imul(f,q)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,q)|0))<<13)|0;u=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,U),i=(i=Math.imul(y,V))+Math.imul(m,U)|0,a=Math.imul(m,V),n=n+Math.imul(d,q)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(v,q)|0,a=a+Math.imul(v,G)|0;var mt=(u+(n=n+Math.imul(f,W)|0)|0)+((8191&(i=(i=i+Math.imul(f,Y)|0)+Math.imul(h,W)|0))<<13)|0;u=((a=a+Math.imul(h,Y)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(b,U),i=(i=Math.imul(b,V))+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(y,q)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(m,q)|0,a=a+Math.imul(m,G)|0,n=n+Math.imul(d,W)|0,i=(i=i+Math.imul(d,Y)|0)+Math.imul(v,W)|0,a=a+Math.imul(v,Y)|0;var xt=(u+(n=n+Math.imul(f,J)|0)|0)+((8191&(i=(i=i+Math.imul(f,K)|0)+Math.imul(h,J)|0))<<13)|0;u=((a=a+Math.imul(h,K)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(b,q)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,q)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(y,W)|0,i=(i=i+Math.imul(y,Y)|0)+Math.imul(m,W)|0,a=a+Math.imul(m,Y)|0,n=n+Math.imul(d,J)|0,i=(i=i+Math.imul(d,K)|0)+Math.imul(v,J)|0,a=a+Math.imul(v,K)|0;var bt=(u+(n=n+Math.imul(f,Q)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,Q)|0))<<13)|0;u=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,q)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,q)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(b,W)|0,i=(i=i+Math.imul(b,Y)|0)+Math.imul(_,W)|0,a=a+Math.imul(_,Y)|0,n=n+Math.imul(y,J)|0,i=(i=i+Math.imul(y,K)|0)+Math.imul(m,J)|0,a=a+Math.imul(m,K)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,tt)|0;var _t=(u+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;u=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,U),i=(i=Math.imul(L,V))+Math.imul(C,U)|0,a=Math.imul(C,V),n=n+Math.imul(M,q)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,q)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,Y)|0)+Math.imul(k,W)|0,a=a+Math.imul(k,Y)|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(y,Q)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(m,Q)|0,a=a+Math.imul(m,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(v,rt)|0,a=a+Math.imul(v,nt)|0;var wt=(u+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;u=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,U),i=(i=Math.imul(P,V))+Math.imul(I,U)|0,a=Math.imul(I,V),n=n+Math.imul(L,q)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(C,q)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,Y)|0)+Math.imul(S,W)|0,a=a+Math.imul(S,Y)|0,n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(k,J)|0,a=a+Math.imul(k,K)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(y,rt)|0,i=(i=i+Math.imul(y,nt)|0)+Math.imul(m,rt)|0,a=a+Math.imul(m,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(v,at)|0,a=a+Math.imul(v,ot)|0;var Tt=(u+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ut)|0)+Math.imul(h,lt)|0))<<13)|0;u=((a=a+Math.imul(h,ut)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(z,U),i=(i=Math.imul(z,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(P,q)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(I,q)|0,a=a+Math.imul(I,G)|0,n=n+Math.imul(L,W)|0,i=(i=i+Math.imul(L,Y)|0)+Math.imul(C,W)|0,a=a+Math.imul(C,Y)|0,n=n+Math.imul(M,J)|0,i=(i=i+Math.imul(M,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,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(y,at)|0,i=(i=i+Math.imul(y,ot)|0)+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ut)|0)+Math.imul(v,lt)|0,a=a+Math.imul(v,ut)|0;var kt=(u+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;u=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(z,q)|0,i=(i=i+Math.imul(z,G)|0)+Math.imul(R,q)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,Y)|0)+Math.imul(I,W)|0,a=a+Math.imul(I,Y)|0,n=n+Math.imul(L,J)|0,i=(i=i+Math.imul(L,K)|0)+Math.imul(C,J)|0,a=a+Math.imul(C,K)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(k,rt)|0,a=a+Math.imul(k,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(y,lt)|0,i=(i=i+Math.imul(y,ut)|0)+Math.imul(m,lt)|0,a=a+Math.imul(m,ut)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(v,ft)|0,a=a+Math.imul(v,ht)|0;var At=(u+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,vt)|0)+Math.imul(h,dt)|0))<<13)|0;u=((a=a+Math.imul(h,vt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,G))+Math.imul(N,q)|0,a=Math.imul(N,G),n=n+Math.imul(z,W)|0,i=(i=i+Math.imul(z,Y)|0)+Math.imul(R,W)|0,a=a+Math.imul(R,Y)|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(L,Q)|0,i=(i=i+Math.imul(L,tt)|0)+Math.imul(C,Q)|0,a=a+Math.imul(C,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(k,at)|0,a=a+Math.imul(k,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(y,ft)|0,i=(i=i+Math.imul(y,ht)|0)+Math.imul(m,ft)|0,a=a+Math.imul(m,ht)|0;var Mt=(u+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,vt)|0)+Math.imul(v,dt)|0))<<13)|0;u=((a=a+Math.imul(v,vt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,W),i=(i=Math.imul(B,Y))+Math.imul(N,W)|0,a=Math.imul(N,Y),n=n+Math.imul(z,J)|0,i=(i=i+Math.imul(z,K)|0)+Math.imul(R,J)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(I,Q)|0,a=a+Math.imul(I,tt)|0,n=n+Math.imul(L,rt)|0,i=(i=i+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,a=a+Math.imul(C,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ut)|0)+Math.imul(k,lt)|0,a=a+Math.imul(k,ut)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(u+(n=n+Math.imul(y,dt)|0)|0)+((8191&(i=(i=i+Math.imul(y,vt)|0)+Math.imul(m,dt)|0))<<13)|0;u=((a=a+Math.imul(m,vt)|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(z,Q)|0,i=(i=i+Math.imul(z,tt)|0)+Math.imul(R,Q)|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(L,at)|0,i=(i=i+Math.imul(L,ot)|0)+Math.imul(C,at)|0,a=a+Math.imul(C,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ut)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(k,ft)|0,a=a+Math.imul(k,ht)|0;var Et=(u+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,vt)|0)+Math.imul(_,dt)|0))<<13)|0;u=((a=a+Math.imul(_,vt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,Q),i=(i=Math.imul(B,tt))+Math.imul(N,Q)|0,a=Math.imul(N,tt),n=n+Math.imul(z,rt)|0,i=(i=i+Math.imul(z,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(L,lt)|0,i=(i=i+Math.imul(L,ut)|0)+Math.imul(C,lt)|0,a=a+Math.imul(C,ut)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Lt=(u+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,vt)|0)+Math.imul(k,dt)|0))<<13)|0;u=((a=a+Math.imul(k,vt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=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(z,at)|0,i=(i=i+Math.imul(z,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(L,ft)|0,i=(i=i+Math.imul(L,ht)|0)+Math.imul(C,ft)|0,a=a+Math.imul(C,ht)|0;var Ct=(u+(n=n+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,vt)|0)+Math.imul(S,dt)|0))<<13)|0;u=((a=a+Math.imul(S,vt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=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(z,lt)|0,i=(i=i+Math.imul(z,ut)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ut)|0,n=n+Math.imul(P,ft)|0,i=(i=i+Math.imul(P,ht)|0)+Math.imul(I,ft)|0,a=a+Math.imul(I,ht)|0;var Ot=(u+(n=n+Math.imul(L,dt)|0)|0)+((8191&(i=(i=i+Math.imul(L,vt)|0)+Math.imul(C,dt)|0))<<13)|0;u=((a=a+Math.imul(C,vt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=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(z,ft)|0,i=(i=i+Math.imul(z,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Pt=(u+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,vt)|0)+Math.imul(I,dt)|0))<<13)|0;u=((a=a+Math.imul(I,vt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,ft),i=(i=Math.imul(B,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var It=(u+(n=n+Math.imul(z,dt)|0)|0)+((8191&(i=(i=i+Math.imul(z,vt)|0)+Math.imul(R,dt)|0))<<13)|0;u=((a=a+Math.imul(R,vt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Dt=(u+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,vt))+Math.imul(N,dt)|0))<<13)|0;return u=((a=Math.imul(N,vt))+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,l[0]=gt,l[1]=yt,l[2]=mt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Tt,l[8]=kt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=Ot,l[16]=Pt,l[17]=It,l[18]=Dt,0!==u&&(l[19]=u,r.length++),r};function v(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(d=p),a.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):n<63?p(this,t,e):n<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>>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):v(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}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=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,u=0;u=0&&(0!==c||u>=i);u--){var f=0|this.words[u];this.words[u]=c<<26-a|f>>>a,c=f&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>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},a.prototype.isubn=function(t){if(n("number"==typeof t),n(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>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!=(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var u=0;u=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(i=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.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)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var c=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(c),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,v=1;0==(r.words[0]&v)&&d<26;++d,v<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(u)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.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 f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.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)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new T(t)},a.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function m(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function T(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){T.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(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)}m.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},m.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=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},m.prototype.split=function(t,e){t.iushrn(this.n,0,e)},m.prototype.imulK=function(t){return t.imul(this.k)},i(x,m),x.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i>>22,a=o}a>>>=22,t.words[i-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},x.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>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new x;else if("p224"===t)e=new b;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return y[t]=e,e},T.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},T.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},T.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},T.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},T.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)},T.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},T.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)},T.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},T.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},T.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},T.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},T.prototype.isqr=function(t){return this.imul(t,t.clone())},T.prototype.sqr=function(t){return this.mul(t,t)},T.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var f=this.pow(c,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var v=p,g=0;0!==v.cmp(s);g++)v=v.redSqr();n(g=0;n--){for(var u=e.words[n],c=l-1;c>=0;c--){var f=u>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4==++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},T.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},T.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,T),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.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)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},2692:function(t){"use strict";t.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e>>1;if(!(c<=0)){var f,h=i.mallocDouble(2*c*s),p=i.mallocInt32(s);if((s=l(t,c,h,p))>0){if(1===c&&n)a.init(s),f=a.sweepComplete(c,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*c*u),v=i.mallocInt32(u);(u=l(e,c,d,v))>0&&(a.init(s+u),f=1===c?a.sweepBipartite(c,r,0,s,h,p,0,u,d,v):o(c,r,n,s,h,p,u,d,v),i.free(d),i.free(v))}i.free(h),i.free(p)}return f}}}function c(t,e){n.push([t,e])}function f(t){return n=[],u(t,t,c,!0),n}function h(t,e){return n=[],u(t,e,c,!1),n}},7333:function(t,e){"use strict";function r(t){return t?function(t,e,r,n,i,a,o,s,l,u,c){return i-n>l-s?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;hu-l?n?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;h0;){var L=6*(S-=1),C=y[L],O=y[L+1],P=y[L+2],I=y[L+3],D=y[L+4],z=y[L+5],R=2*S,F=m[R],B=m[R+1],N=1&z,j=!!(16&z),U=c,V=w,H=k,q=A;if(N&&(U=k,V=A,H=c,q=w),!(2&z&&(P=p(t,C,O,P,U,V,B),O>=P)||4&z&&(O=d(t,C,O,P,U,V,F))>=P)){var G=P-O,Z=D-I;if(j){if(t*G*(G+Z)<4194304){if(void 0!==(M=l.scanComplete(t,C,e,O,P,U,V,I,D,H,q)))return M;continue}}else{if(t*Math.min(G,Z)<128){if(void 0!==(M=o(t,C,e,N,O,P,U,V,I,D,H,q)))return M;continue}if(t*G*Z<4194304){if(void 0!==(M=l.scanBipartite(t,C,e,N,O,P,U,V,I,D,H,q)))return M;continue}}var W=f(t,C,O,P,U,V,F,B);if(O=p0)&&!(p1>=hi)"),h=c("lo===p0"),p=c("lo>>1,f=2*t,h=c,p=o[f*c+e];l=m?(h=y,p=m):g>=b?(h=v,p=g):(h=x,p=b):m>=b?(h=y,p=m):b>=g?(h=v,p=g):(h=x,p=b);for(var _=f*(u-1),w=f*h,T=0;Tr&&i[f+e]>u;--c,f-=o){for(var h=f,p=f+o,d=0;dh;++h,l+=s)if(i[l+f]===o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"loh;++h,l+=s)if(i[l+f]p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"lo<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"hi<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"lop;++p,l+=s){var d=i[l+f],v=i[l+h];if(dg;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},"lo<=p0&&p0<=hi":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=e,h=t+e,p=r;n>p;++p,l+=s){var d=i[l+f],v=i[l+h];if(d<=o&&o<=v)if(c===p)c+=1,u+=s;else{for(var g=0;s>g;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},"!(lo>=p0)&&!(p1>=hi)":function(t,e,r,n,i,a,o,s){for(var l=2*t,u=l*r,c=u,f=r,h=e,p=t+e,d=r;n>d;++d,u+=l){var v=i[u+h],g=i[u+p];if(!(v>=o||s>=g))if(f===d)f+=1,c+=l;else{for(var y=0;l>y;++y){var m=i[u+y];i[u+y]=i[c],i[c++]=m}var x=a[d];a[d]=a[f],a[f++]=x}}return f}}},309:function(t){"use strict";function e(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(ur[e+1])}function s(t,e,r,n){var i=n[t*=2];return i>1,v=d-f,g=d+f,y=h,m=v,x=d,b=g,_=p,w=t+1,T=u-1,k=0;o(y,m,c)&&(k=y,y=m,m=k),o(b,_,c)&&(k=b,b=_,_=k),o(y,x,c)&&(k=y,y=x,x=k),o(m,x,c)&&(k=m,m=x,x=k),o(y,b,c)&&(k=y,y=b,b=k),o(x,b,c)&&(k=x,x=b,b=k),o(m,_,c)&&(k=m,m=_,_=k),o(m,x,c)&&(k=m,m=x,x=k),o(b,_,c)&&(k=b,b=_,_=k);for(var A=c[2*m],M=c[2*m+1],S=c[2*b],E=c[2*b+1],L=2*y,C=2*x,O=2*_,P=2*h,I=2*d,D=2*p,z=0;z<2;++z){var R=c[L+z],F=c[C+z],B=c[O+z];c[P+z]=R,c[I+z]=F,c[D+z]=B}n(v,t,c),n(g,u,c);for(var N=w;N<=T;++N)if(s(N,A,M,c))N!==w&&r(N,w,c),++w;else if(!s(N,S,E,c))for(;;){if(s(T,S,E,c)){s(T,A,M,c)?(i(N,w,T,c),++w,--T):(r(N,T,c),--T);break}if(--T>>1;a(d,S);var E=0,L=0;for(T=0;T=o)v(c,f,L--,C=C-o|0);else if(C>=0)v(l,u,E--,C);else if(C<=-268435456){C=-C-o|0;for(var O=0;O>>1;a(d,E);var L=0,C=0,O=0;for(k=0;k>1==d[2*k+3]>>1&&(I=2,k+=1),P<0){for(var D=-(P>>1)-1,z=0;z>1)-1,0===I?v(l,u,L--,D):1===I?v(c,f,C--,D):2===I&&v(h,p,O--,D)}},scanBipartite:function(t,e,r,n,i,s,c,f,h,p,y,m){var x=0,b=2*t,_=e,w=e+t,T=1,k=1;n?k=o:T=o;for(var A=i;A>>1;a(d,L);var C=0;for(A=0;A=o?(P=!n,M-=o):(P=!!n,M-=1),P)g(l,u,C++,M);else{var I=m[M],D=b*M,z=y[D+e+1],R=y[D+e+1+t];t:for(var F=0;F>>1;a(d,T);var k=0;for(x=0;x=o)l[k++]=b-o;else{var M=p[b-=1],S=g*b,E=h[S+e+1],L=h[S+e+1+t];t:for(var C=0;C=0;--C)if(l[C]===b){for(D=C+1;D0;){for(var p=r.pop(),d=(c=-1,f=-1,l=o[s=r.pop()],1);d=0||(e.flip(s,p),i(t,e,r,c,s,f),i(t,e,r,s,f,c),i(t,e,r,f,p,c),i(t,e,r,p,c,f))}}},7098:function(t,e,r){"use strict";var n,i=r(5070);function a(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 o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}t.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(u[p]!==-i){u[p]=i,c[p];for(var d=0;d<3;++d){var v=h[3*p+d];v>=0&&0===u[v]&&(f[3*p+d]?l.push(v):(s.push(v),u[v]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var y=function(t,e,r){for(var n=0,i=0;i1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=f.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function c(t,e){var r;return(r=t.a[0]d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var v=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),g=[new a([v,1],[v,0],-1,[],[],[],[])],y=[],m=(l=0,i.length);l=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;ne[2]?1:0)}function y(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--a){var x=e[c=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],T=t[_];if((w[0]-T[0]||w[1]-T[1])<0){var k=b;b=_,_=k}x[0]=b;var A,M=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===c;){var S,E=(S=n[--a])[1];i?e.push([M,E,A]):e.push([M,E]),M=E}i?e.push([M,_,A]):e.push([M,_])}return h}(t,e,h,v,r),m=d(t,g);return y(e,m,r),!!m||h.length>0||v.length>0}},5528:function(t,e,r){"use strict";t.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=c(a,f);if(0===o(h))return null;var p=c(f,s(t,r)),d=i(p,h),v=u(a,d);return l(t,v)};var n=r(3962),i=r(9189),a=r(4354),o=r(4951),s=r(6695),l=r(7584),u=r(4469);function c(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},5692:function(t){t.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],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]}]}},9156:function(t,e,r){"use strict";var n=r(5692),i=r(3578);function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}t.exports=function(t){var e,r,l,u,c,f,h,p,d,v;if(t||(t={}),p=(t.nshades||72)-1,h=t.format||"hex",(f=t.colormap)||(f="jet"),"string"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+" not a supported colorscale");c=n[f]}else{if(!Array.isArray(f))throw Error("unsupported colormap option",f);c=f.slice()}if(c.length>p+1)throw new Error(f+" map requires nshades to be at least size "+c.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=c.map((function(t){return Math.round(t.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var g=c.map((function(t,e){var r=c[e].index,n=c[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),y=[];for(v=0;v0||l(t,e,a)?-1:1:0===s?u>0||l(t,e,r)?1:-1:i(u-s)}var f=n(t,e,r);return f>0?o>0&&n(t,e,a)>0?1:-1:f<0?o>0||n(t,e,a)>0?1:-1:n(t,e,a)>0||l(t,e,r)?1:-1};var n=r(417),i=r(7538),a=r(87),o=r(2019),s=r(9662);function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),u=a(r[1],-e[1]),c=s(o(n,l),o(i,u));return c[c.length-1]>=0}},7538:function(t){"use strict";t.exports=function(t){return t<0?-1:t>0?1:0}},9209:function(t){t.exports=function(t,n){var i=t.length,a=t.length-n.length;if(a)return a;switch(i){case 0:return 0;case 1:return t[0]-n[0];case 2:return t[0]+t[1]-n[0]-n[1]||e(t[0],t[1])-e(n[0],n[1]);case 3:var o=t[0]+t[1],s=n[0]+n[1];if(a=o+t[2]-(s+n[2]))return a;var l=e(t[0],t[1]),u=e(n[0],n[1]);return e(l,t[2])-e(u,n[2])||e(l+t[2],o)-e(u+n[2],s);case 4:var c=t[0],f=t[1],h=t[2],p=t[3],d=n[0],v=n[1],g=n[2],y=n[3];return c+f+h+p-(d+v+g+y)||e(c,f,h,p)-e(d,v,g,y,d)||e(c+f,c+h,c+p,f+h,f+p,h+p)-e(d+v,d+g,d+y,v+g,v+y,g+y)||e(c+f+h,c+f+p,c+h+p,f+h+p)-e(d+v+g,d+v+y,d+g+y,v+g+y);default:for(var m=t.slice().sort(r),x=n.slice().sort(r),b=0;bt[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},8722:function(t,e,r){"use strict";t.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o=e[l]&&(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=r(2183),i=r(2153)},9680:function(t){"use strict";t.exports=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,f=s*(3-2*i),h=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]+f*r[p]+h*n[p];return a}return u*t+c*e+f*r+h*n},t.exports.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}},4419:function(t,e,r){"use strict";var n=r(2183),i=r(1215);function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a=2)return!1;t[r]=n}return!0})):_.filter((function(t){for(var e=0;e<=s;++e){var r=y[t[e]];if(r<0)return!1;t[e]=r}return!0})),1&s)for(c=0;c<_.length;++c)h=(b=_[c])[0],b[0]=b[1],b[1]=h;return _}},8362:function(t){var e=!1;if("undefined"!=typeof Float64Array){var r=new Float64Array(1),n=new Uint32Array(r.buffer);r[0]=1,e=!0,1072693248===n[1]?(t.exports=function(t){return r[0]=t,[n[0],n[1]]},t.exports.pack=function(t,e){return n[0]=t,n[1]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[0]},t.exports.hi=function(t){return r[0]=t,n[1]}):1072693248===n[0]?(t.exports=function(t){return r[0]=t,[n[1],n[0]]},t.exports.pack=function(t,e){return n[1]=t,n[0]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[1]},t.exports.hi=function(t){return r[0]=t,n[0]}):e=!1}if(!e){var i=new Buffer(8);t.exports=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]},t.exports.pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},t.exports.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},t.exports.hi=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(4,!0)}}t.exports.sign=function(e){return t.exports.hi(e)>>>31},t.exports.exponent=function(e){return(t.exports.hi(e)<<1>>>21)-1023},t.exports.fraction=function(e){var r=t.exports.lo(e),n=t.exports.hi(e),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},t.exports.denormalized=function(e){return!(2146435072&t.exports.hi(e))}},3094:function(t){"use strict";function e(t,r,n){var i=0|t[n];if(i<=0)return[];var a,o=new Array(i);if(n===t.length-1)for(a=0;a0)return function(t,e){var r,n;for(r=new Array(t),n=0;n=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p=r-1)for(var c=s.length-1,f=(e[r-1],0);f=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--f)n.push(a(l[f-1],u[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(u[h-1],c[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],u=s[1],c=t-e,f=c>1e-6?1/c:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],u[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--f)n.push(a(l[f],u[f],n[o]+c*i[o])),i.push(0),o+=1}}},7080:function(t){"use strict";function e(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 r(t){return new e(t._color,t.key,t.value,t.left,t.right,t._count)}function n(t,r){return new e(t,r.key,r.value,r.left,r.right,r._count)}function i(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function a(t,e){this._compare=t,this.root=e}t.exports=function(t){return new a(t||p,null)};var o=a.prototype;function s(t,e){var r;return e.left&&(r=s(t,e.left))?r:(r=t(e.key,e.value))||(e.right?s(t,e.right):void 0)}function l(t,e,r,n){if(e(t,n.key)<=0){var i;if(n.left&&(i=l(t,e,r,n.left)))return i;if(i=r(n.key,n.value))return i}if(n.right)return l(t,e,r,n.right)}function u(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=u(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return u(t,e,r,n,i.right)}function c(t,e){this.tree=t,this._stack=e}Object.defineProperty(o,"keys",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(o,"values",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(o,"length",{get:function(){return this.root?this.root._count:0}}),o.insert=function(t,r){for(var o=this._compare,s=this.root,l=[],u=[];s;){var c=o(t,s.key);l.push(s),u.push(c),s=c<=0?s.left:s.right}l.push(new e(0,t,r,null,null,1));for(var f=l.length-2;f>=0;--f)s=l[f],u[f]<=0?l[f]=new e(s._color,s.key,s.value,l[f+1],s.right,s._count+1):l[f]=new e(s._color,s.key,s.value,s.left,l[f+1],s._count+1);for(f=l.length-1;f>1;--f){var h=l[f-1];if(s=l[f],1===h._color||1===s._color)break;var p=l[f-2];if(p.left===h)if(h.left===s){if(!(d=p.right)||0!==d._color){p._color=0,p.left=h.right,h._color=1,h.right=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).left===p?v.left=h:v.right=h);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else{if(!(d=p.right)||0!==d._color){h.right=s.left,p._color=0,p.left=s.right,s._color=1,s.left=h,s.right=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).left===p?v.left=s:v.right=s);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else if(h.right===s){if(!(d=p.left)||0!==d._color){p._color=0,p.right=h.left,h._color=1,h.left=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).right===p?v.right=h:v.left=h);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}else{var d;if(!(d=p.left)||0!==d._color){var v;h.left=s.right,p._color=0,p.right=s.left,s._color=1,s.right=h,s.left=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).right===p?v.right=s:v.left=s);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}}return l[0]._color=1,new a(o,l[0])},o.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return s(t,this.root);case 2:return l(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return u(e,r,this._compare,t,this.root)}},Object.defineProperty(o,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new c(this,t)}}),Object.defineProperty(o,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new c(this,t)}}),o.at=function(t){if(t<0)return new c(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new c(this,[])},o.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 c(this,n)},o.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 c(this,n)},o.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 c(this,n)},o.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 c(this,n)},o.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 c(this,n);r=i<=0?r.left:r.right}return new c(this,[])},o.remove=function(t){var e=this.find(t);return e?e.remove():this},o.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 f=c.prototype;function h(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 p(t,e){return te?1:0}Object.defineProperty(f,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(f,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),f.clone=function(){return new c(this.tree,this._stack.slice())},f.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var o=new Array(t.length),s=t[t.length-1];o[o.length-1]=new e(s._color,s.key,s.value,s.left,s.right,s._count);for(var l=t.length-2;l>=0;--l)(s=t[l]).left===t[l+1]?o[l]=new e(s._color,s.key,s.value,o[l+1],s.right,s._count):o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);if((s=o[o.length-1]).left&&s.right){var u=o.length;for(s=s.left;s.right;)o.push(s),s=s.right;var c=o[u-1];for(o.push(new e(s._color,c.key,c.value,s.left,s.right,s._count)),o[u-1].key=s.key,o[u-1].value=s.value,l=o.length-2;l>=u;--l)s=o[l],o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);o[u-1].left=o[u]}if(0===(s=o[o.length-1])._color){var f=o[o.length-2];for(f.left===s?f.left=null:f.right===s&&(f.right=null),o.pop(),l=0;l=0;--l){if(e=t[l],0===l)return void(e._color=1);if((a=t[l-1]).left===e){if((o=a.right).right&&0===o.right._color)return s=(o=a.right=r(o)).right=r(o.right),a.right=o.left,o.left=a,o.right=s,o._color=a._color,e._color=1,a._color=1,s._color=1,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),void(t[l-1]=o);if(o.left&&0===o.left._color)return s=(o=a.right=r(o)).left=r(o.left),a.right=s.left,o.left=s.right,s.left=a,s.right=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).left===a?u.left=s:u.right=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.right=n(0,o));a.right=n(0,o);continue}o=r(o),a.right=o.left,o.left=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),t[l-1]=o,t[l]=a,l+11&&((u=t[l-2]).right===a?u.right=o:u.left=o),void(t[l-1]=o);if(o.right&&0===o.right._color)return s=(o=a.left=r(o)).right=r(o.right),a.left=s.right,o.right=s.left,s.right=a,s.left=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).right===a?u.right=s:u.left=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.left=n(0,o));a.left=n(0,o);continue}var u;o=r(o),a.left=o.right,o.right=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).right===a?u.right=o:u.left=o),t[l-1]=o,t[l]=a,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(f,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(f,"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}),f.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(f,"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}}),f.update=function(t){var r=this._stack;if(0===r.length)throw new Error("Can't update empty node!");var n=new Array(r.length),i=r[r.length-1];n[n.length-1]=new e(i._color,i.key,t,i.left,i.right,i._count);for(var o=r.length-2;o>=0;--o)(i=r[o]).left===r[o+1]?n[o]=new e(i._color,i.key,i.value,n[o+1],i.right,i._count):n[o]=new e(i._color,i.key,i.value,i.left,n[o+1],i._count);return new a(this.tree._compare,n[0])},f.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(f,"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}})},7453:function(t,e,r){"use strict";t.exports=function(t,e){var r=new c(t);return r.update(e),r};var n=r(9557),i=r(1681),a=r(1011),o=r(2864),s=r(8468),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function u(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function c(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.tickAlign=["auto","auto","auto"],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.labelAlign=["auto","auto","auto"],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=a(t)}var f=c.prototype;function h(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}f.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,a=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),u=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]})),c=!1,f=!1;if("bounds"in t)for(var h=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)h[p][d]!==this.bounds[p][d]&&(f=!0),this.bounds[p][d]=h[p][d];if("ticks"in t)for(r=t.ticks,c=!0,this.autoTicks=!1,p=0;p<3;++p)this.tickSpacing[p]=0;else a("tickSpacing")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&("ticks"in t||"tickSpacing"in t||(this.autoTicks=!0),f=!0,c=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),c=!0),c){for(p=0;p<3;++p)r[p].sort((function(t,e){return t.x-e.x}));s.equal(r,this.ticks)?c=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(c=!0),a("tickSize"),a("tickAngle"),a("tickPad"),u("tickColor");var v=l("labels");l("labelFont")&&(v=!0),o("labelEnable"),a("labelSize"),a("labelPad"),u("labelColor"),o("lineEnable"),o("lineMirror"),a("lineWidth"),u("lineColor"),o("lineTickEnable"),o("lineTickMirror"),a("lineTickLength"),a("lineTickWidth"),u("lineTickColor"),o("gridEnable"),a("gridWidth"),u("gridColor"),o("zeroEnable"),u("zeroLineColor"),a("zeroLineWidth"),o("backgroundEnable"),u("backgroundColor"),this._text?this._text&&(v||c)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=n(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&c&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var p=[new h,new h,new h];function d(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 f=a,h=s,p=o,d=l;u&1<0?(p[c]=-1,d[c]=0):(p[c]=0,d[c]=1)}}var v=[0,0,0],g={model:l,view:l,projection:l,_ortho:!1};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var y=[0,0,0],m=[0,0,0],x=[0,0,0];f.draw=function(t){t=t||g;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=t._ortho||!1,c=o(r,n,i,a,s),f=c.cubeEdges,h=c.axis,b=n[12],_=n[13],w=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(i[3]*b+i[7]*_+i[11]*w+i[15]*T)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=f[A],this.lastCubeProps.axis[A]=h[A];var M=p;for(A=0;A<3;++A)d(p[A],A,this.bounds,f,h);e=this.gl;var S,E,L,C=v;for(A=0;A<3;++A)this.backgroundEnable[A]?C[A]=h[A]:C[A]=0;for(this._background.draw(r,n,i,a,C,this.backgroundColor),this._lines.bind(r,n,i,this),A=0;A<3;++A){var O=[0,0,0];h[A]>0?O[A]=a[1][A]:O[A]=a[0][A];for(var P=0;P<2;++P){var I=(A+1+P)%3,D=(A+1+(1^P))%3;this.gridEnable[I]&&this._lines.drawGrid(I,D,this.bounds,O,this.gridColor[I],this.gridWidth[I]*this.pixelRatio)}for(P=0;P<2;++P)I=(A+1+P)%3,D=(A+1+(1^P))%3,this.zeroEnable[D]&&Math.min(a[0][D],a[1][D])<=0&&Math.max(a[0][D],a[1][D])>=0&&this._lines.drawZero(I,D,this.bounds,O,this.zeroLineColor[D],this.zeroLineWidth[D]*this.pixelRatio)}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var z=u(y,M[A].primalMinor),R=u(m,M[A].mirrorMinor),F=this.lineTickLength;for(P=0;P<3;++P){var B=k/r[5*P];z[P]*=F[P]*B,R[P]*=F[P]*B}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,z,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,R,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}function N(t){(L=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,i=(t+2)%3,a=e[n],o=e[i],s=r[n],l=r[i];a>0&&l>0||a>0&&l<0||a<0&&l>0||a<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(i)}for(this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio),A=0;A<3;++A){var U=M[A].primalMinor,V=M[A].mirrorMinor,H=u(x,M[A].primalOffset);for(P=0;P<3;++P)this.lineTickEnable[A]&&(H[P]+=k*U[P]*Math.max(this.lineTickLength[P],0)/r[5*P]);var q=[0,0,0];if(q[A]=1,this.tickEnable[A]){for(-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,E=1,"auto"===(S=[this.tickAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),L=[0,0,0],j(A,U,V),P=0;P<3;++P)H[P]+=k*U[P]*this.tickPad[P]/r[5*P];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],H,this.tickColor[A],q,L,S)}if(this.labelEnable[A]){for(E=0,L=[0,0,0],this.labels[A].length>4&&(N(A),E=1),"auto"===(S=[this.labelAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),P=0;P<3;++P)H[P]+=k*U[P]*this.labelPad[P]/r[5*P];H[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],H,this.labelColor[A],[0,0,0],L,S)}}this._text.unbind()},f.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},1011:function(t,e,r){"use strict";t.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var u=(l+1)%3,c=(l+2)%3,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[u]=d;for(var v=-1;v<=1;v+=2)f[c]=v,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var g=u;u=c,c=g}var y=n(t,new Float32Array(e)),m=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:y,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:y,type:t.FLOAT,size:3,offset:12,stride:24}],m),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,y,x,b)};var n=r(5827),i=r(2944),a=r(1943).bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.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)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},2864:function(t,e,r){"use strict";t.exports=function(t,e,r,a,p){i(s,e,t),i(s,r,s);for(var m=0,x=0;x<2;++x){c[2]=a[x][2];for(var b=0;b<2;++b){c[1]=a[b][1];for(var _=0;_<2;++_)c[0]=a[_][0],h(l[m],c,s),m+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)u[x][k]=l[x][k]/T;p&&(u[x][2]*=-1),T<0&&(w<0||u[x][2]E&&(w|=1<E&&(w|=1<u[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x)(N=R^1<u[B][0]&&(B=N))}var j=v;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var U=7^B;U===w||U===z?(U=7^F,j[n.log2(B^U)]=U&B):j[n.log2(F^U)]=U&F;var V=g,H=w;for(A=0;A<3;++A)V[A]=H&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);e.f=function(t){return i(t,s,l,null,[{name:"position",type:"vec3"}])};var u=n(["precision highp float;\n#define GLSLIFY 1\n\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\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 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\n colorChannel = abs(realNormal);\n}"]),c=n(["precision highp 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}"]);e.bg=function(t){return i(t,u,c,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},9557:function(t,e,r){"use strict";t.exports=function(t,e,r,i,o,l){var u=n(t),f=a(t,[{buffer:u,size:3}]),h=s(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,i,o,l),p};var n=r(5827),a=r(2944),o=r(875),s=r(1943).f,l=window||i.global||{},u=l.__TEXT_CACHE||{};function c(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}l.__TEXT_CACHE={};var f=c.prototype,h=[0,0];f.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,h[0]=this.gl.drawingBufferWidth,h[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=h},f.unbind=function(){this.vao.unbind()},f.update=function(t,e,r,n,i){var a=[];function s(t,e,r,n,i,s){var l=u[r];l||(l=u[r]={});var c=l[e];c||(c=l[e]=function(t,e){try{return o(t,e)}catch(e){return console.warn('error vectorizing text:"'+t+'" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:"center",textBaseline:"middle",lineSpacing:i,styletags:s}));for(var f=(n||12)/12,h=c.positions,p=c.cells,d=0,v=p.length;d=0;--y){var m=h[g[y]];a.push(f*m[0],-f*m[1],t)}}for(var l=[0,0,0],c=[0,0,0],f=[0,0,0],h=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){f[d]=a.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),h[d]=(a.length/3|0)-f[d],l[d]=a.length/3|0;for(var v=0;v=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 f=""+u;f.length=t[0][i];--o)a.push({x:o*e[i],text:r(e[i],o)});n.push(a)}return n},e.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;nr)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,a,i),r}function c(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a=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=u(this.gl,this.type,this.length,this.usage,t.data,e):this.length=u(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=u(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?c(t,"uint16"):c(t,"float32"),this.length=u(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if("object"==typeof t&&"number"==typeof t.length)this.length=u(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}},t.exports=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=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},1140:function(t,e,r){"use strict";var n=r(2858);t.exports=function(t,e){var r=t.positions,i=t.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,u=1/0,c=-1/0,f=1/0,h=-1/0,p=null,d=null,v=[],g=1/0,y=!1,m=0;mo&&(o=n.length(b)),m){var _=2*n.distance(p,x)/(n.length(d)+n.length(b));_?(g=Math.min(g,_),y=!1):y=!0}y||(p=x,d=b),v.push(b)}var w=[s,u,f],T=[l,c,h];e&&(e[0]=w,e[1]=T),0===o&&(o=1);var k=1/o;isFinite(g)||(g=1),a.vectorScale=g;var A=t.coneSize||.5;t.absoluteConeSize&&(A=t.absoluteConeSize*k),a.coneScale=A,m=0;for(var M=0;m=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"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),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),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=c({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 u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],f=[];this.cells=r,this.positions=n,this.vectors=i;var h=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,v=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],v=+t.vertexIntensityBounds[1];else for(var g=0;g0){var v=this.triShader;v.bind(),v.uniforms=u,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||f,n=t.view||f,i=t.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?i.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=e),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},t.exports=function(t,e,r){var n=r.shaders;1===arguments.length&&(t=(e=t).gl);var s=d(t,n),l=v(t,n),c=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));c.generateMipmap(),c.minFilter=t.LINEAR_MIPMAP_LINEAR,c.magFilter=t.LINEAR;var f=i(t),p=i(t),g=i(t),y=i(t),m=i(t),x=a(t,[{buffer:f,type:t.FLOAT,size:4},{buffer:m,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:y,type:t.FLOAT,size:2},{buffer:p,type:t.FLOAT,size:4}]),b=new h(t,c,s,l,f,p,m,g,y,x,r.traceType||"cone");return b.update(e),b}},7234:function(t,e,r){var n=r(6832),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp 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\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\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 = min(1.0, max(0.0, 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}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * view * conePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},1950:function(t){t.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34e3:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},6603:function(t,e,r){var n=r(1950);t.exports=function(t){return n[t]}},3110:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=n(e),o=i(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}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var u=new s(e,r,o,l);return u.update(t),u};var n=r(5827),i=r(2944),a=r(7667),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(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,this.hasAlpha=!1}var l=s.prototype;function u(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])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],u=n[15],c=(t._ortho?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*u)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]*this.pixelRatio),r.capSize=this.capSize[f]*c,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var c=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 f(t,e,r,n){for(var i=c[n],a=0;a0&&((p=c.slice())[s]+=d[1][s],i.push(c[0],c[1],c[2],v[0],v[1],v[2],v[3],0,0,0,p[0],p[1],p[2],v[0],v[1],v[2],v[3],0,0,0),u(this.bounds,p),o+=2+f(i,p,v,s)))}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},7667:function(t,e,r){"use strict";var n=r(6832),i=r(5158),a=n(["precision highp 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}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},4234:function(t,e,r){"use strict";var n=r(8931);t.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var u=t.getExtension("WEBGL_draw_buffers");if(!l&&u&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;ac||r<0||r>c)throw new Error("gl-fbo: Parameters are too large for FBO");var f=1;if("color"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(f>1){if(!u)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(f>t.getParameter(u.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+f+" draw buffers")}}var h=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&f>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=t.FLOAT);var v=!0;"depth"in n&&(v=!!n.depth);var g=!1;return"stencil"in n&&(g=!!n.stencil),new d(t,e,r,h,f,v,g,u)};var i,a,o,s,l=null;function u(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function c(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(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 d(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 d=0;d1&&s.drawBuffersWEBGL(l[o]);var m=r.getExtension("WEBGL_depth_texture");m?d?t.depth=h(r,i,a,m.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):v&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==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),y=0;yi||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=u(n),o=0;o>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var v=i.attributes;return this.positionBuffer.bind(),v.position.pointer(),this.weightBuffer.bind(),v.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),v.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(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]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]),l=!1!==t.zsmooth;this.xData=r,this.yData=o;var u,c,f,p,d=t.colorLevels||[0],v=t.colorValues||[0,0,0,1],g=d.length,y=this.bounds;l?(u=y[0]=r[0],c=y[1]=o[0],f=y[2]=r[r.length-1],p=y[3]=o[o.length-1]):(u=y[0]=r[0]+(r[1]-r[0])/2,c=y[1]=o[0]+(o[1]-o[0])/2,f=y[2]=r[r.length-1]+(r[r.length-1]-r[r.length-2])/2,p=y[3]=o[o.length-1]+(o[o.length-1]-o[o.length-2])/2);var m=1/(f-u),x=1/(p-c),b=e[0],_=e[1];this.shape=[b,_];var w=(l?(b-1)*(_-1):b*_)*(h.length>>>1);this.numVertices=w;for(var T=a.mallocUint8(4*w),k=a.mallocFloat32(2*w),A=a.mallocUint8(2*w),M=a.mallocUint32(w),S=0,E=l?b-1:b,L=l?_-1:_,C=0;C max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\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"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n 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 vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n 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 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\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];e.createShader=function(t){return i(t,a,o,null,l)},e.createPickShader=function(t){return i(t,a,s,null,l)}},6086:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=f(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 o=h(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),c=u(new Array(1024),[256,1,4]),p=0;p<1024;++p)c.data[p]=255;var d=a(e,c);d.wrap=e.REPEAT;var v=new y(e,r,o,s,l,d);return v.update(t),v};var n=r(5827),i=r(2944),a=r(8931),o=new Uint8Array(4),s=new Float32Array(o.buffer),l=r(5070),u=r(5050),c=r(248),f=c.createShader,h=c.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(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 v(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 g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function y(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.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var m=y.prototype;m.isTransparent=function(){return this.hasAlpha},m.isOpaque=function(){return!this.hasAlpha},m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.drawTransparent=m.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,clipBounds:v(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()}},m.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,pickId:this.pickId,clipBounds:v(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,c=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],h=t.position||t.positions;if(h){var p=t.color||t.colors||[0,0,0,1],v=t.lineWidth||1,g=!1;t:for(e=1;e0){for(var w=0;w<24;++w)i.push(i[i.length-12]);c+=2,g=!0}continue t}f[0][r]=Math.min(f[0][r],b[r],_[r]),f[1][r]=Math.max(f[1][r],b[r],_[r])}Array.isArray(p[0])?(y=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],m=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):y=m=p,3===y.length&&(y=[y[0],y[1],y[2],1]),3===m.length&&(m=[m[0],m[1],m[2],1]),!this.hasAlpha&&y[3]<1&&(this.hasAlpha=!0),x=Array.isArray(v)?v.length>e-1?v[e-1]:v.length>0?v[v.length-1]:[0,0,0,1]:v;var T=s;if(s+=d(b,_),g){for(r=0;r<2;++r)i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3]);c+=2,g=!1}i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3],b[0],b[1],b[2],_[0],_[1],_[2],T,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],s,-x,m[0],m[1],m[2],m[3],_[0],_[1],_[2],b[0],b[1],b[2],s,x,m[0],m[1],m[2],m[3]),c+=4}}if(this.buffer.update(i),a.push(s),o.push(h[h.length-1].slice()),this.bounds=f,this.vertexCount=c,this.points=o,this.arcLength=a,"dashes"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e1.0001)return null;y+=g[f]}return Math.abs(y-1)>.001?null:[h,s(t,g),g]}},2056:function(t,e,r){var n=r(6832),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\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\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp 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\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\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 (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\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 = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * 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 * f_color.a;\n}\n"]),o=n(["precision highp 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}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,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}"]),u=n(["precision highp 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}"]),c=n(["precision highp 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}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 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}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.pointShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},e.pickShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},e.pointPickShader={vertex:h,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},e.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},8116:function(t,e,r){"use strict";var n=r(5158),i=r(5827),a=r(2944),o=r(8931),s=r(115),l=r(104),u=r(7437),c=r(5050),f=r(9156),h=r(7212),p=r(5306),d=r(2056),v=r(4340),g=d.meshShader,y=d.wireShader,m=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,T,k,A,M,S){this.gl=t,this.pixelRatio=1,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=h,this.triangleUVs=f,this.triangleIds=u,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=y,this.edgeIds=v,this.edgeVAO=m,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=T,this.pointSizes=k,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!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.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,g.vertex,g.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}function S(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}function E(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function L(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function C(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function O(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()),this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,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*this.pixelRatio),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())},k.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;ai[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t],r.uniforms.angle=y[t],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t]&&T&&(c[1^t]-=M*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,T)),c[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(c[1^t]+=M*p*v[t+2],ki[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t+2],r.uniforms.angle=y[t+2],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t+2]&&T&&(c[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,T))}),v.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)}}}(),v.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,u=.5*(n[o+2]+n[o]),c=n[o+2]-n[o],f=a[o],v=a[o+2]-f,g=i[o],y=i[o+2]-g;p[o]=2*l/c*v/y,h[o]=2*(s-u)/c*v/y}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),v.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,u=t.bounds;for(o=0;o<2;++o){var c=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e=0){var v=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(v,e[1],v,e[3],p[d],h[d]):o.drawLine(e[0],v,e[2],v,p[d],h[d])}}for(d=0;d=0;--t)this.objects[t].dispose();for(this.objects.length=0,t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},u.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},u.removeObject=function(t){for(var e=this.objects,r=0;rMath.abs(e))u.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*e/window.innerHeight*(a-u.lastT())/20;u.pan(a,0,0,f*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=r(8161),i=r(1152),a=r(6145),o=r(6475),s=r(2565),l=r(5233)},8245:function(t,e,r){var n=r(6832),i=r(5158),a=n(["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}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec2"}])}},1059:function(t,e,r){"use strict";var n=r(4296),i=r(7453),a=r(2771),o=r(6496),s=r(2611),l=r(4234),u=r(8126),c=r(6145),f=r(1120),h=r(5268),p=r(8245),d=r(2321)({tablet:!0,featureDetect:!0});function v(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(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}return e>0?(r=Math.round(Math.pow(10,e)),Math.ceil(t/r)*r):Math.ceil(t)}function y(t){return"boolean"!=typeof t||t}t.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;e||(e=document.createElement("canvas"),t.container?t.container.appendChild(e):document.body.appendChild(e));var r=t.gl;if(r||(t.glOptions&&(d=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d})),!r)throw new Error("webgl not supported");var m=t.bounds||[[-10,-10,-10],[10,10,10]],x=new v,b=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),_=p(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&"orthographic"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||"turntable",_ortho:w},k=t.axes||{},A=i(r,k);A.enable=!k.disable;var M=t.spikes||{},S=o(r,M),E=[],L=[],C=[],O=[],P=!0,I=!0,D={view:null,projection:new Array(16),model:new Array(16),_ortho:!1},z=(I=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),R=t.cameraObject||n(e,T),F={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:R,axes:A,axesPixels:null,spikes:S,bounds:m,objects:E,shape:z,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:y(t.autoResize),autoBounds:y(t.autoBounds),autoScale:!!t.autoScale,autoCenter:y(t.autoCenter),clipToBounds:y(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:D,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,I=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},B=[r.drawingBufferWidth/F.pixelRatio|0,r.drawingBufferHeight/F.pixelRatio|0];function N(){if(!F._stopped&&F.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*F.pixelRatio),a=0|Math.ceil(n*F.pixelRatio);if(i!==e.width||a!==e.height){e.width=i,e.height=a;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",P=!0}}}function j(){for(var t=E.length,e=O.length,n=0;n0&&0===C[e-1];)C.pop(),O.pop().dispose()}function U(){if(F.contextLost)return!0;r.isContextLost()&&(F.contextLost=!0,F.mouseListener.enabled=!1,F.selection.object=null,F.oncontextloss&&F.oncontextloss())}F.autoResize&&N(),window.addEventListener("resize",N),F.update=function(t){F._stopped||(t=t||{},P=!0,I=!0)},F.add=function(t){F._stopped||(t.axes=A,E.push(t),L.push(-1),P=!0,I=!0,j())},F.remove=function(t){if(!F._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),L.pop(),P=!0,I=!0,j())}},F.dispose=function(){if(!F._stopped&&(F._stopped=!0,window.removeEventListener("resize",N),e.removeEventListener("webglcontextlost",U),F.mouseListener.enabled=!1,!F.contextLost)){A.dispose(),S.dispose();for(var t=0;tx.distance)continue;for(var u=0;u 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"]),e.pickVertex=n(["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"]),e.pickFragment=n(["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"])},8271:function(t,e,r){"use strict";var n=r(5158),i=r(5827),a=r(5306),o=r(8023);function s(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}t.exports=function(t,e){var r=t.gl,a=new s(t,i(r),i(r),n(r,o.pointVertex,o.pointFragment),n(r,o.pickVertex,o.pickFragment));return a.update(e),t.addObject(a),a};var l,u,c=s.prototype;c.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},c.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,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),u=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e>>1;for(r=0;r=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),c=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=c<5,r.uniforms.pointSize=c,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(u[0]=255&t,u[1]=t>>8&255,u[2]=t>>16&255,u[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=u,this.pickOffset=t);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),t+this.pointCount}),c.draw=c.unifiedDraw,c.drawPick=c.unifiedDraw,c.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},6093:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],f=e[2],h=e[3],p=r[0],d=r[1],v=r[2],g=r[3];return(a=u*p+c*d+f*v+h*g)<0&&(a=-a,p=-p,d=-d,v=-v,g=-g),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*u+l*p,t[1]=s*c+l*d,t[2]=s*f+l*v,t[3]=s*h+l*g,t}},8240:function(t){"use strict";t.exports=function(t){return t||0===t?t.toString():""}},4123:function(t,e,r){"use strict";var n=r(875);t.exports=function(t,e,r){var a=i[e];if(a||(a=i[e]={}),t in a)return a[t];var o={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},s=n(t,o);o.triangles=!1;var l,u,c=n(t,o);if(r&&1!==r){for(l=0;l max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * view * model * vec4(position, 1);\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n"]),u=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),c=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],f={vertex:a,fragment:l,attributes:c},h={vertex:o,fragment:l,attributes:c},p={vertex:s,fragment:l,attributes:c},d={vertex:a,fragment:u,attributes:c},v={vertex:o,fragment:u,attributes:c},g={vertex:s,fragment:u,attributes:c};function y(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}e.createPerspective=function(t){return y(t,f)},e.createOrtho=function(t){return y(t,h)},e.createProject=function(t){return y(t,p)},e.createPickPerspective=function(t){return y(t,d)},e.createPickOrtho=function(t){return y(t,v)},e.createPickProject=function(t){return y(t,g)}},2182:function(t,e,r){"use strict";var n=r(3596),i=r(5827),a=r(2944),o=r(5306),s=r(104),l=r(9282),u=r(4123),c=r(8240),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function h(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 p(t,e,r,n){return h(n,n),h(n,n),h(n,n)}function d(t,e){this.index=t,this.dataCoordinate=this.position=e}function v(t){return!0===t||t>1?1:t}function g(t,e,r,n,i,a,o,s,l,u,c,f){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.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=u,this.pickOrthoShader=c,this.pickProjectShader=f,this.points=[],this._selectResult=new d(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}t.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),u=l.createPickOrtho(e),c=l.createPickProject(e),f=i(e),h=i(e),p=i(e),d=i(e),v=new g(e,r,n,o,f,h,p,d,a(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:h,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),s,u,c);return v.update(t),v};var y=g.prototype;y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},y.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var m=[0,0],x=[0,0,0],b=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],T=f.slice(),k=[0,0,0],A=[[0,0,0],[0,0,0]];function M(t){return t[0]=t[1]=t[2]=0,t}function S(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function E(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}var L=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function C(t,e,r,n,i,a,o){var l=r.gl;if((a===r.projectHasAlpha||o)&&function(t,e,r,n){var i,a=e.axesProject,o=e.gl,l=t.uniforms,u=r.model||f,c=r.view||f,h=r.projection||f,d=e.axesBounds,v=function(t){for(var e=A,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);i=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],m[0]=2/o.drawingBufferWidth,m[1]=2/o.drawingBufferHeight,t.bind(),l.view=c,l.projection=h,l.screenSize=m,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=v,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var g=0;g<3;++g)if(a[g]){l.scale=e.projectScale[g],l.opacity=e.projectOpacity[g];for(var y=T,L=0;L<16;++L)y[L]=0;for(L=0;L<4;++L)y[5*L]=1;y[5*g]=0,i[g]<0?y[12+g]=d[0][g]:y[12+g]=d[1][g],s(y,u,y),l.model=y;var C=(g+1)%3,O=(g+2)%3,P=M(x),I=M(b);P[C]=1,I[O]=1;var D=p(0,0,0,S(_,P)),z=p(0,0,0,S(w,I));if(Math.abs(D[1])>Math.abs(z[1])){var R=D;D=z,z=R,R=P,P=I,I=R;var F=C;C=O,O=F}D[0]<0&&(P[C]=-1),z[1]>0&&(I[O]=-1);var B=0,N=0;for(L=0;L<4;++L)B+=Math.pow(u[4*C+L],2),N+=Math.pow(u[4*O+L],2);P[C]/=Math.sqrt(B),I[O]/=Math.sqrt(N),l.axes[0]=P,l.axes[1]=I,l.fragClipBounds[0]=E(k,v[0],g,-1e8),l.fragClipBounds[1]=E(k,v[1],g,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}(e,r,n,i),a===r.hasAlpha||o){t.bind();var u=t.uniforms;u.model=n.model||f,u.view=n.view||f,u.projection=n.projection||f,m[0]=2/l.drawingBufferWidth,m[1]=2/l.drawingBufferHeight,u.screenSize=m,u.highlightId=r.highlightId,u.highlightScale=r.highlightScale,u.fragClipBounds=L,u.clipBounds=r.axes.bounds,u.opacity=r.opacity,u.pickGroup=r.pickId/255,u.pixelRatio=i,r.vao.bind(),r.vao.draw(l.TRIANGLES,r.vertexCount),r.lineWidth>0&&(l.lineWidth(r.lineWidth*i),r.vao.draw(l.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function O(t,e,r,i){var a;a=Array.isArray(t)?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},y.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]},y.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(this.projectHasAlpha=!1,"projectOpacity"in t){Array.isArray(t.projectOpacity)?this.projectOpacity=t.projectOpacity.slice():(r=+t.projectOpacity,this.projectOpacity=[r,r,r]);for(var n=0;n<3;++n)this.projectOpacity[n]=v(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=v(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=t.position,l=t.font||"normal",u=t.alignment||[0,0];if(2===u.length)i=u[0],a=u[1];else for(i=[],a=[],n=0;n0){var I=0,D=x,z=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(y)&&Array.isArray(y[0]);t:for(n=0;n<_;++n){for(m+=1,w=s[n],T=0;T<3;++T){if(isNaN(w[T])||!isFinite(w[T]))continue t;f[T]=Math.max(f[T],w[T]),c[T]=Math.min(c[T],w[T])}k=(N=O(h,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;var N,j=N.visible;if(j)if(Array.isArray(p)){if(3===(U=F?n0?1-M[0][0]:Z<0?1+M[1][0]:1,W*=W>0?1-M[0][1]:W<0?1+M[1][1]:1],X=k.cells||[],J=k.positions||[];for(T=0;T0){var y=r*c;o.drawBox(f-y,h-y,p+y,h+y,a),o.drawBox(f-y,d-y,p+y,d+y,a),o.drawBox(f-y,h-y,f+y,d+y,a),o.drawBox(p-y,h-y,p+y,d+y,a)}}}},s.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()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},2611:function(t,e,r){"use strict";t.exports=function(t,e){var r=e[0],a=e[1];return new l(t,n(t,r,a,{}),i.mallocUint8(r*a*4))};var n=r(4234),i=r(5306),a=r(5050),o=r(2288).nextPow2;function s(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function l(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 u=l.prototype;Object.defineProperty(u,"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){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;ar)for(t=r;te)for(t=e;t=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A=0;)M+=1;_[m]=M}var S=new Array(r.length);function E(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t=0){if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);s(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+f+": "+h);var d;if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);l(t,e,p,i,d,a,f)}}}return a};var n=r(9068);function i(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 a=i.prototype;a.pointer=function(t,e,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(o)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,"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 o=[function(t,e,r){return void 0===r.length?t.vertexAttrib1f(e,r):t.vertexAttrib1fv(e,r)},function(t,e,r,n){return void 0===r.length?t.vertexAttrib2f(e,r,n):t.vertexAttrib2fv(e,r)},function(t,e,r,n,i){return void 0===r.length?t.vertexAttrib3f(e,r,n,i):t.vertexAttrib3fv(e,r)},function(t,e,r,n,i,a){return void 0===r.length?t.vertexAttrib4f(e,r,n,i,a):t.vertexAttrib4fv(e,r)}];function s(t,e,r,n,a,s,l){var u=o[a],c=new i(t,e,r,n,a,u);Object.defineProperty(s,l,{set:function(e){return t.disableVertexAttribArray(n[r]),u(t,n[r],e),e},get:function(){return c},enumerable:!0})}function l(t,e,r,n,i,a,o){for(var l=new Array(i),u=new Array(i),c=0;c4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+m);t["uniformMatrix"+y+"fv"](s[f],!1,h);break}throw new i("","Unknown uniform data type for "+name+": "+m)}if((y=m.charCodeAt(m.length-1)-48)<2||y>4)throw new i("","Invalid data type");switch(m.charAt(0)){case"b":case"i":t["uniform"+y+"iv"](s[f],h);break;case"v":t["uniform"+y+"fv"](s[f],h);break;default:throw new i("","Unrecognized data type for vector "+name+": "+m)}}}}}}function u(t,e){if("object"!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;parseInt(n)+""===n?a+="["+n+"]":a+="."+n,"object"==typeof i?r.push.apply(r,u(a,i)):r.push([a,i])}return r}function c(t,e,n){if("object"==typeof n){var u=f(n);Object.defineProperty(t,e,{get:a(u),set:l(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(t,e,{get:(c=n,function(t,e,r){return t.getUniform(e.program,r[c])}),set:l(n),enumerable:!0,configurable:!1}):t[e]=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){if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+t)}}(r[n].type);var c}function f(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l1)for(var l=0;l 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp 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\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\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 = min(1.0, max(0.0, 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}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * view * tubePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7307:function(t,e,r){"use strict";var n=r(2858),i=r(4020),a=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e){var r,n=t.length;for(r=0;re)return r-1}return r},s=function(t,e,r){return tr?r:t},l=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;nf-1||m>h-1||x>p-1)return n.create();var b,_,w,T,k,A,M=a[0][d],S=a[0][y],E=a[1][v],L=a[1][m],C=a[2][g],O=(l-M)/(S-M),P=(u-E)/(L-E),I=(c-C)/(a[2][x]-C);switch(isFinite(O)||(O=.5),isFinite(P)||(P=.5),isFinite(I)||(I=.5),r.reversedX&&(d=f-1-d,y=f-1-y),r.reversedY&&(v=h-1-v,m=h-1-m),r.reversedZ&&(g=p-1-g,x=p-1-x),r.filled){case 5:k=g,A=x,w=v*p,T=m*p,b=d*p*h,_=y*p*h;break;case 4:k=g,A=x,b=d*p,_=y*p,w=v*p*f,T=m*p*f;break;case 3:w=v,T=m,k=g*h,A=x*h,b=d*h*p,_=y*h*p;break;case 2:w=v,T=m,b=d*h,_=y*h,k=g*h*f,A=x*h*f;break;case 1:b=d,_=y,k=g*f,A=x*f,w=v*f*p,T=m*f*p;break;default:b=d,_=y,w=v*f,T=m*f,k=g*f*h,A=x*f*h}var D=i[b+w+k],z=i[b+w+A],R=i[b+T+k],F=i[b+T+A],B=i[_+w+k],N=i[_+w+A],j=i[_+T+k],U=i[_+T+A],V=n.create(),H=n.create(),q=n.create(),G=n.create();n.lerp(V,D,B,O),n.lerp(H,z,N,O),n.lerp(q,R,j,O),n.lerp(G,F,U,O);var Z=n.create(),W=n.create();n.lerp(Z,V,q,P),n.lerp(W,H,G,P);var Y=n.create();return n.lerp(Y,Z,W,I),Y}(e,t,p)},v=t.getDivergence||function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=d(r);n.subtract(a,a,e),n.scale(a,a,1/i),n.add(r,t,[0,i,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1/i),n.add(r,t,[0,0,i]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},g=[],y=e[0][0],m=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],T=function(t){var e=t[0],r=t[1],n=t[2];return!(eb||r_||nw)},k=10*n.distance(e[0],e[1])/u,A=k*k,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=t.length,u=0;uS&&(S=F),z.push(F),g.push({points:O,velocities:P,divergences:z});for(var B=0;B<100*u&&O.lengthA&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,C),I=d(N),n.squaredDistance(D,N)-A>-1e-4*A&&(O.push(N),D=N,P.push(I),R=v(N,I),F=n.length(R),isFinite(F)&&F>S&&(S=F),z.push(F)),C=N}}var U=function(t,e,r,a){for(var o=0,s=0;s0)for(T=0;T<8;T++){var k=(T+1)%8;u.push(h[T],p[T],p[k],p[k],h[k],h[T]),f.push(m,y,y,y,m,m),d.push(v,g,g,g,v,v);var A=u.length;c.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=h;h=p,p=M;var S=m;m=y,y=S;var E=v;v=g,g=E}return{positions:u,cells:c,vectors:f,vertexIntensity:d}}(t,r,a,o)})),f=[],h=[],p=[],d=[];for(s=0;s max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\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 (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\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 — in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n 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"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\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 worldCoordinate = objectOffset + dataCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n\n vec4 clipPosition = projection * view * worldPosition;\n clipPosition.z += zOffset;\n\n gl_Position = clipPosition;\n value = f + objectOffset.z;\n kill = -1.0;\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"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) 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"]);e.createShader=function(t){var e=n(t,a,o,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},e.createPickShader=function(t){var e=n(t,a,l,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},e.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},e.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},3754:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=m(e),n=b(e),s=x(e),l=_(e),u=i(e),c=a(e,[{buffer:u,size:4,stride:40,offset:0},{buffer:u,size:3,stride:40,offset:16},{buffer:u,size:3,stride:40,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),v=o(e,1,256,e.RGBA,e.UNSIGNED_BYTE);v.minFilter=e.LINEAR,v.magFilter=e.LINEAR;var g=new M(e,[0,0],[[0,0,0],[0,0,0]],r,n,u,c,v,s,l,f,h,p,d,[0,0,0]),y={levels:[[],[],[]]};for(var w in t)y[w]=t[w];return y.colormap=y.colormap||"jet",g.update(y),g};var n=r(2288),i=r(5827),a=r(2944),o=r(8931),s=r(5306),l=r(9156),u=r(7498),c=r(7382),f=r(5050),h=r(4162),p=r(104),d=r(7437),v=r(5070),g=r(9144),y=r(9054),m=y.createShader,x=y.createContourShader,b=y.createPickShader,_=y.createPickContourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],k=[[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 A(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}function M(t,e,r,n,i,a,o,l,u,c,h,p,d,v,g){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=u,this._contourPickShader=c,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new A([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=v,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=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.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.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}!function(){for(var t=0;t<3;++t){var e=k[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=M.prototype;S.genColormap=function(t,e){var r=!1,n=c([l({colormap:t,nshades:256,format:"rgba"}).map((function(t,n){var i=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(n/255,e):t[3];return i<1&&(r=!0),[t[0],t[1],t[2],255*i]}))]);return u.divseq(n,255),this.hasAlphaScale=r,n},S.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},S.isOpaque=function(){return!this.isTransparent()},S.pickSlots=1,S.setPickBase=function(t){this.pickId=t};var E=[0,0,0],L={showSurface:!1,showContour:!1,projections:[w.slice(),w.slice(),w.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function C(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||E,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=L.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],p(l,t.model,l);var u=L.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 L.showSurface=o,L.showContour=s,L}var O={model:w,view:w,projection:w,inverseModel:w.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,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},P=w.slice(),I=[1,0,0,0,1,0,0,0,1];function D(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=O;n.model=t.model||w,n.view=t.view||w,n.projection=t.projection||w,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.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(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=I,n.vertexColor=this.vertexColor;var s=P;for(p(s,n.view,n.model),p(s,n.projection,s),d(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=C(n,this);if(c.showSurface){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){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=k[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o>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 f=c?a:1-a,h=0;h<2;++h)for(var p=i+c,d=s+h,g=f*(h?l:1-l),y=0;y<3;++y)u[y]+=this._field[y].get(p,d)*g;for(var m=this._pickResult.level,x=0;x<3;++x)if(m[x]=v.le(this.contourLevels[x],u[x]),m[x]<0)this.contourLevels[x].length>0&&(m[x]=0);else if(m[x]Math.abs(_-u[x])&&(m[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],y=0;y<3;++y)r.dataCoordinate[y]=this._field[y].get(r.index[0],r.index[1]);return r},S.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();u.assign(t.lo(1,1).hi(r[0],r[1]),e),u.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),u.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),u.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),u.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))},S.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=R(t.contourWidth,Number)),"showContour"in t&&(this.showContour=R(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=R(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=B(t.contourColor)),"contourProject"in t&&(this.contourProject=R(t.contourProject,(function(t){return R(t,Boolean)}))),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=B(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=R(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=R(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"opacityscale"in t&&(this.opacityscale=t.opacityscale),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0),"colormap"in t&&this._colorMap.setPixels(this.genColormap(t.colormap,this.opacityscale));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 i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var u=l[o];for(y=0;y<2;++y)if(u.shape[y]!==a[y])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],u)}}else if(t.ticks){var c=t.ticks;if(!Array.isArray(c)||2!==c.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var p=c[o];if((Array.isArray(p)||p.length)&&(p=f(p)),p.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var d=f(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var v=[0,0];v[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],v,0)}this._field[0].set(0,0,0);for(var y=0;y0){for(var xt=0;xt<5;++xt)$.pop();U-=1}continue t}$.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[Q]=et,this._contourCounts[Q]=rt}var bt=s.mallocFloat($.length);for(o=0;o<$.length;++o)bt[o]=$[o];this._contourBuffer.update(bt),s.freeFloat(bt)}},S.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)s.freeFloat(this._field[t].data)},S.highlight=function(t){var e,r;if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;for(r=this.snapToData?t.dataCoordinate:t.position,e=0;e<3;++e)r[e]-=this.objectOffset[e];if(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=s.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,u=(o+2)%3,c=this._field[o],f=this._field[l],p=this._field[u],d=h(c,r[o]),v=d.cells,g=d.positions;for(this._dynamicOffsets[o]=n,e=0;ei||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 p(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 d=p.prototype;function v(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 g(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 y(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=g(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new p(t,o,e,r,n,i)}function m(t,e,r,n,i,a){var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new p(t,o,r,n,i,a)}function x(t,e){var r=e.dtype,o=e.shape.slice(),s=t.getParameter(t.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=v(o,e.stride.slice()),u=0;"float32"===r?u=t.FLOAT:"float64"===r?(u=t.FLOAT,l=!1,r="float32"):"uint8"===r?u=t.UNSIGNED_BYTE:(u=t.UNSIGNED_BYTE,l=!1,r="uint8");var c,h,d=0;if(2===o.length)d=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])d=t.ALPHA;else if(2===o[2])d=t.LUMINANCE_ALPHA;else if(3===o[2])d=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");d=t.RGBA}}u!==t.FLOAT||t.getExtension("OES_texture_float")||(u=t.UNSIGNED_BYTE,l=!1);var y=e.size;if(l)c=0===e.offset&&e.data.length===y?e.data:e.data.subarray(e.offset,e.offset+y);else{var m=[o[2],o[2]*o[0],1];h=a.malloc(y,r);var x=n(h,o,m,0);"float32"!==r&&"float64"!==r||u!==t.UNSIGNED_BYTE?i.assign(x,e):f(x,e),c=h.subarray(0,y)}var b=g(t);return t.texImage2D(t.TEXTURE_2D,0,d,o[0],o[1],0,d,u,c),l||a.free(h),new p(t,b,o[0],o[1],d,u)}Object.defineProperties(d,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.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&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.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(),l.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(),l.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(l.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 h(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return h(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t}}}),d.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},d.dispose=function(){this.gl.deleteTexture(this.handle)},d.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)},d.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=c(t)?t:t.raw;if(l)this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l);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]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,u,c){var h=c.dtype,p=c.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var d=0,g=0,y=v(p,c.stride.slice());if("float32"===h?d=t.FLOAT:"float64"===h?(d=t.FLOAT,y=!1,h="float32"):"uint8"===h?d=t.UNSIGNED_BYTE:(d=t.UNSIGNED_BYTE,y=!1,h="uint8"),2===p.length)g=t.LUMINANCE,p=[p[0],p[1],1],c=n(c.data,p,[c.stride[0],c.stride[1],1],c.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])g=t.ALPHA;else if(2===p[2])g=t.LUMINANCE_ALPHA;else if(3===p[2])g=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=t.RGBA}p[2]}if(g!==t.LUMINANCE&&g!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(g=s),g!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var m=c.size,x=u.indexOf(o)<0;if(x&&u.push(o),d===l&&y)0===c.offset&&c.data.length===m?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,c.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,c.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,c.data.subarray(c.offset,c.offset+m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,c.data.subarray(c.offset,c.offset+m));else{var b;b=l===t.FLOAT?a.mallocFloat32(m):a.mallocUint8(m);var _=n(b,p,[p[2],p[2]*p[0],1]);d===t.FLOAT&&l===t.UNSIGNED_BYTE?f(_,c):i.assign(_,c),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,m)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},3056:function(t){"use strict";t.exports=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;i1?0:Math.acos(s)};var n=r(5415),i=r(899),a=r(9305)},8827:function(t){t.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},7622:function(t){t.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},8782:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},8501:function(t){t.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},903:function(t){t.exports=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}},5981:function(t,e,r){t.exports=r(8288)},8288:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},8629:function(t,e,r){t.exports=r(7979)},7979:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},9305:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},154:function(t){t.exports=1e-6},4932:function(t,e,r){t.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=r(154)},5777:function(t){t.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},3306:function(t){t.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},7447:function(t,e,r){t.exports=function(t,e,r,i,a,o){var s,l;for(e||(e=3),r||(r=0),l=i?Math.min(i*e+r,t.length):t.length,s=r;s0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}},6660:function(t){t.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},392:function(t){t.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=e[0],t[1]=i+o*u-s*l,t[2]=a+o*l+s*u,t}},3222:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+s*l+o*u,t[1]=e[1],t[2]=a+s*u-o*l,t}},3388:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+o*u-s*l,t[1]=a+o*l+s*u,t[2]=e[2],t}},1624:function(t){t.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},5685:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},6722:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},831:function(t){t.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},5294:function(t,e,r){t.exports=r(6403)},3303:function(t,e,r){t.exports=r(4337)},6403:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},4337:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},8921:function(t,e,r){t.exports=r(911)},911:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},9908:function(t){t.exports=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}},3255:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},6568:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t}},3433:function(t){t.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},1413:function(t){t.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},3470:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},5313:function(t){t.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},5446:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},205:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},4242:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},5680:function(t){t.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},4020:function(t,e,r){t.exports={create:r(5313),clone:r(1413),fromValues:r(5680),copy:r(3470),set:r(6453),add:r(3433),subtract:r(2705),multiply:r(746),divide:r(205),min:r(2170),max:r(3030),scale:r(5510),scaleAndAdd:r(4224),distance:r(5446),squaredDistance:r(1542),length:r(8177),squaredLength:r(9037),negate:r(6459),inverse:r(8057),normalize:r(381),dot:r(4242),lerp:r(8746),random:r(3770),transformMat4:r(6342),transformQuat:r(5022)}},8057:function(t){t.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},8177:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},8746:function(t){t.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},3030:function(t){t.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},2170:function(t){t.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},746:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},6459:function(t){t.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},381:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t}},3770:function(t,e,r){var n=r(381),i=r(5510);t.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},5510:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},4224:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},6453:function(t){t.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},1542:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},9037:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},2705:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},6342:function(t){t.exports=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}},5022:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t[3]=e[3],t}},9365:function(t,e,r){var n=r(8096),i=r(7896);t.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join("")}return S(r),x+=r.length,(v=v.slice(r.length)).length}}function D(){return/[^a-fA-F0-9]/.test(e)?(S(v.join("")),d=l,h):(v.push(e),r=e,h+1)}function z(){return"."===e||/[eE]/.test(e)?(v.push(e),d=5,r=e,h+1):"x"===e&&1===v.length&&"0"===v[0]?(d=11,v.push(e),r=e,h+1):/[^\d]/.test(e)?(S(v.join("")),d=l,h):(v.push(e),r=e,h+1)}function R(){return"f"===e&&(v.push(e),r=e,h+=1),/[eE]/.test(e)?(v.push(e),r=e,h+1):("-"!==e&&"+"!==e||!/[eE]/.test(r))&&/[^\d]/.test(e)?(S(v.join("")),d=l,h):(v.push(e),r=e,h+1)}function F(){if(/[^\d\w_]/.test(e)){var t=v.join("");return d=M[t]?8:A[t]?7:6,S(v.join("")),d=l,h}return v.push(e),r=e,h+1}};var n=r(399),i=r(9746),a=r(9525),o=r(9458),s=r(3585),l=999,u=9999,c=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},3585:function(t,e,r){var n=r(9525);n=n.slice().filter((function(t){return!/^(gl\_|texture)/.test(t)})),t.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},9525:function(t){t.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},9458:function(t,e,r){var n=r(399);t.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","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"])},399:function(t){t.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","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"]},9746:function(t){t.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},8096:function(t,e,r){var n=r(3193);t.exports=function(t,e){var r=n(e),i=[];return(i=i.concat(r(t))).concat(r(null))}},6832:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n0;)for(var s=(t=o.pop()).adjacent,l=0;l<=r;++l){var u=s[l];if(u.boundary&&!(u.lastVisited<=-n)){for(var c=u.vertices,f=0;f<=r;++f){var h=c[f];i[f]=h<0?e:a[h]}var p=this.orient();if(p>0)return u;u.lastVisited=-n,0===p&&o.push(u)}}return null},c.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]];for(s.lastVisited=r,c=0;c<=n;++c){var f=u[c];if(!(f.lastVisited>=r)){var h=a[c];a[c]=t;var p=this.orient();if(a[c]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},c.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,u=this.interior,c=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,u.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,v=p.indexOf(r);if(!(v<0))for(var g=0;g<=n;++g)if(g!==v){var y=d[g];if(y.boundary&&!(y.lastVisited>=r)){var m=y.vertices;if(y.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)m[b]<0?(x=b,l[b]=t):l[b]=i[m[b]];if(this.orient()>0){m[x]=r,y.boundary=!1,u.push(y),f.push(y),y.lastVisited=r;continue}y.lastVisited=-r}var _=y.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);c.push(k);var A=_.indexOf(e);if(!(A<0))for(_[A]=k,T[v]=y,w[g]=-1,T[g]=e,d[g]=k,k.flip(),b=0;b<=n;++b){var M=w[b];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,L=0;L<=n;++L){var C=w[L];C<0||L===b||(S[E++]=C)}h.push(new o(S,k,b))}}}}}for(h.sort(s),g=0;g+1=0?o[l++]=s[c]:u=1&c;if(u===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},9014:function(t,e,r){"use strict";var n=r(5070);function i(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}t.exports=function(t){return t&&0!==t.length?new y(g(t)):new y(null)};var a=i.prototype;function o(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 s(t,e){var r=g(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 l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function u(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function c(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function h(t,e){for(var r=0;r>1],a=[],o=[],s=[];for(r=0;r3*(e+1)?l(this,t):this.left.insert(t):this.left=g([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=g([t]);else{var r=n.ge(this.leftPoints,t,d),i=n.ge(this.rightPoints,t,v);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},a.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?u(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?u(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,t,d);athis.mid?this.right&&(r=this.right.queryPoint(t,e))?r:f(this.rightPoints,t,e):h(this.leftPoints,e);var r},a.queryInterval=function(t,e,r){var n;return tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r))?n:ethis.mid?f(this.rightPoints,t,r):h(this.leftPoints,r)};var m=y.prototype;m.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},m.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},m.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},m.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(m,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(m,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},9560:function(t){"use strict";t.exports=function(t){for(var e=new Array(t),r=0;r13)&&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}},3578:function(t){t.exports=function(t,e,r){return t*(1-r)+e*r}},7191:function(t,e,r){var n=r(4690),i=r(9823),a=r(7332),o=r(7787),s=r(7437),l=r(2142),u={length:r(4693),normalize:r(899),dot:r(9305),cross:r(903)},c=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function v(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}t.exports=function(t,e,r,i,g,y){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),y||(y=[0,0,0,1]),!n(c,t))return!1;if(a(f,c),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var m,x,b,_,w,T,k,A=c[3],M=c[7],S=c[11],E=c[12],L=c[13],C=c[14],O=c[15];if(0!==A||0!==M||0!==S){if(h[0]=A,h[1]=M,h[2]=S,h[3]=O,!s(f,f))return!1;l(f,f),m=g,b=f,_=(x=h)[0],w=x[1],T=x[2],k=x[3],m[0]=b[0]*_+b[4]*w+b[8]*T+b[12]*k,m[1]=b[1]*_+b[5]*w+b[9]*T+b[13]*k,m[2]=b[2]*_+b[6]*w+b[10]*T+b[14]*k,m[3]=b[3]*_+b[7]*w+b[11]*T+b[15]*k}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=E,e[1]=L,e[2]=C,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]}(p,c),r[0]=u.length(p[0]),u.normalize(p[0],p[0]),i[0]=u.dot(p[0],p[1]),v(p[1],p[1],p[0],1,-i[0]),r[1]=u.length(p[1]),u.normalize(p[1],p[1]),i[0]/=r[1],i[1]=u.dot(p[0],p[2]),v(p[2],p[2],p[0],1,-i[1]),i[2]=u.dot(p[1],p[2]),v(p[2],p[2],p[1],1,-i[2]),r[2]=u.length(p[2]),u.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],u.cross(d,p[1],p[2]),u.dot(p[0],d)<0)for(var P=0;P<3;P++)r[P]*=-1,p[P][0]*=-1,p[P][1]*=-1,p[P][2]*=-1;return y[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),y[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),y[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),y[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(y[0]=-y[0]),p[0][2]>p[2][0]&&(y[1]=-y[1]),p[1][0]>p[0][1]&&(y[2]=-y[2]),!0}},4690:function(t){t.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},7649:function(t,e,r){var n=r(1868),i=r(1102),a=r(7191),o=r(7787),s=r(1116),l=f(),u=f(),c=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}t.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,u.translate,u.scale,u.skew,u.perspective,u.quaternion);return!(!h||!p||(n(c.translate,l.translate,u.translate,f),n(c.skew,l.skew,u.skew,f),n(c.scale,l.scale,u.scale,f),n(c.perspective,l.perspective,u.perspective,f),s(c.quaternion,l.quaternion,u.quaternion,f),i(t,c.translate,c.scale,c.skew,c.perspective,c.quaternion),0))}},1102:function(t,e,r){var n={identity:r(9947),translate:r(998),multiply:r(104),create:r(9823),scale:r(3668),fromRotationTranslation:r(7280)},i=(n.create(),n.create());t.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},9298:function(t,e,r){"use strict";var n=r(5070),i=r(7649),a=r(7437),o=r(6109),s=r(7115),l=r(5240),u=r(3012),c=r(998),f=(r(3668),r(899)),h=[0,0,0];function p(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]}t.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,u=0;u<16;++u)o[u]=s[l++];else{var c=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),p=!0;for(u=0;u<16;++u)h[u]=s[l++];var d=this.nextMatrix;for(u=0;u<16;++u)d[u]=s[l++],p=p&&h[u]===d[u];if(c<1e-6||p)for(u=0;u<16;++u)o[u]=h[u];else i(o,h,d,(t-e[r])/c)}var v=this.computedUp;v[0]=o[1],v[1]=o[5],v[2]=o[9],f(v,v);var g=this.computedInverse;a(g,o);var y=this.computedEye,m=g[15];y[0]=g[12]/m,y[1]=g[13]/m,y[2]=g[14]/m;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(u=0;u<3;++u)x[u]=y[u]-o[2+4*u]*b}},d.idle=function(t){if(!(t1&&n(t[o[c-2]],t[o[c-1]],u)<=0;)c-=1,o.pop();for(o.push(l),c=s.length;c>1&&n(t[s[c-2]],t[s[c-1]],u)>=0;)c-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var f=0,h=(i=0,o.length);i0;--p)r[f++]=s[p];return r};var n=r(417)[3]},6145:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",v),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",v),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),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 i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(4110)},2565:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},4110:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.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<=0)return 1< 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 o=t.getters||[],s=new Array(a),l=0;l=0?s[l]=!0:s[l]=!1;return function(t,e,r,a,o,s){var l=[s,o].join(",");return(0,i[l])(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,0,r,s)};var i={"false,0,1":function(t,e,r,n,i){return function(a,o,s,l){var u,c=0|a.shape[0],f=0|a.shape[1],h=a.data,p=0|a.offset,d=0|a.stride[0],v=0|a.stride[1],g=p,y=0|-d,m=0,x=0|-v,b=0,_=-d-v|0,w=0,T=0|d,k=v-d*c|0,A=0,M=0,S=0,E=2*c|0,L=n(E),C=n(E),O=0,P=0,I=-1,D=-1,z=0,R=0|-c,F=0|c,B=0,N=-c-1|0,j=c-1|0,U=0,V=0,H=0;for(A=0;A0){if(M=1,L[O++]=r(h[g],o,s,l),g+=T,c>0)for(A=1,u=h[g],P=L[O]=r(u,o,s,l),z=L[O+I],B=L[O+R],U=L[O+N],P===z&&P===B&&P===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,P,z,B,U,o,s,l),V=C[O]=S++),O+=1,g+=T,A=2;A0)for(A=1,u=h[g],P=L[O]=r(u,o,s,l),z=L[O+I],B=L[O+R],U=L[O+N],P===z&&P===B&&P===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,P,z,B,U,o,s,l),V=C[O]=S++,U!==B&&e(C[O+R],V,b,w,B,U,o,s,l)),O+=1,g+=T,A=2;A0){if(A=1,L[O++]=r(h[g],o,s,l),g+=T,f>0)for(M=1,u=h[g],P=L[O]=r(u,o,s,l),B=L[O+R],z=L[O+I],U=L[O+N],P===B&&P===z&&P===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,P,B,z,U,o,s,l),V=C[O]=S++),O+=1,g+=T,M=2;M0)for(M=1,u=h[g],P=L[O]=r(u,o,s,l),B=L[O+R],z=L[O+I],U=L[O+N],P===B&&P===z&&P===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,P,B,z,U,o,s,l),V=C[O]=S++,U!==B&&e(C[O+R],V,w,m,U,B,o,s,l)),O+=1,g+=T,M=2;M2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),t.pick(0,-1,1).lo(1).hi(a[1]-2)),e(t.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),t.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),e(t.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),t.pick(-1,0,0).lo(1).hi(a[0]-2)),e(t.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),t.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),e(t.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),t.set(0,0,0,0),t.set(0,0,1,0),t.set(a[0]-1,0,0,0),t.set(a[0]-1,0,1,0),t.set(0,a[1]-1,0,0),t.set(0,a[1]-1,1,0),t.set(a[0]-1,a[1]-1,0,0),t.set(a[0]-1,a[1]-1,1,0),t}}t.exports=function(t,e,r){return Array.isArray(r)||(r=n(e.dimension,"string"==typeof r?r:"clamp")),0===e.size?t:0===e.dimension?(t.set(0),t):function(t){var e=t.join();if(a=c[e])return a;for(var r=t.length,n=[f,h],i=1;i<=r;++i)n.push(p(i));var a=d.apply(void 0,n);return c[e]=a,a}(r)(t,e)}},3581:function(t){"use strict";function e(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r0;){x<64?(l=x,x=0):(l=64,x-=64);for(var b=0|t[1];b>0;){b<64?(u=b,b=0):(u=64,b-=64),n=y+x*f+b*h,o=m+x*d+b*v;var _=0,w=0,T=0,k=p,A=f-c*p,M=h-l*f,S=g,E=d-c*g,L=v-l*d;for(T=0;T0;){v<64?(l=v,v=0):(l=64,v-=64);for(var g=0|t[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=p+v*c+g*u,o=d+v*h+g*f;var y=0,m=0,x=c,b=u-l*c,_=h,w=f-l*h;for(m=0;m0;){m<64?(u=m,m=0):(u=64,m-=64);for(var x=0|t[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var b=0|t[1];b>0;){b<64?(l=b,b=0):(l=64,b-=64),n=g+m*h+x*c+b*f,o=y+m*v+x*p+b*d;var _=0,w=0,T=0,k=h,A=c-u*h,M=f-s*c,S=v,E=p-u*v,L=d-s*p;for(T=0;Tr;){y=0,m=v-o;e:for(g=0;gb)break e;m+=f,y+=h}for(y=v,m=v-o,g=0;g>1,q=H-j,G=H+j,Z=U,W=q,Y=H,X=G,J=V,K=i+1,$=a-1,Q=!0,tt=0,et=0,rt=0,nt=f,it=e(nt),at=e(nt);A=l*Z,M=l*W,N=s;t:for(k=0;k0){g=Z,Z=W,W=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*J,N=s;t:for(k=0;k0){g=X,X=J,J=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*Y,N=s;t:for(k=0;k0){g=Z,Z=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*Y,N=s;t:for(k=0;k0){g=W,W=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*X,N=s;t:for(k=0;k0){g=Z,Z=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*X,N=s;t:for(k=0;k0){g=Y,Y=X,X=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*J,N=s;t:for(k=0;k0){g=W,W=J,J=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*Y,N=s;t:for(k=0;k0){g=W,W=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*J,N=s;t:for(k=0;k0){g=X,X=J,J=g;break t}if(rt<0)break t;N+=p}for(A=l*Z,M=l*W,S=l*Y,E=l*X,L=l*J,C=l*U,O=l*H,P=l*V,B=0,N=s,k=0;k0)){if(rt<0){for(A=l*b,M=l*K,S=l*$,N=s,k=0;k0)for(;;){for(_=s+$*l,B=0,k=0;k0)){for(_=s+$*l,B=0,k=0;kV){t:for(;;){for(_=s+K*l,B=0,N=s,k=0;k1&&n?s(r,n[0],n[1]):s(r)}(t,e,l);return n(l,u)}},8729:function(t,e,r){"use strict";var n=r(8139),i={};t.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(":"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},5050:function(t,e,r){var n=r(4780),i="undefined"!=typeof Float64Array;function a(t,e){return t[0]-e[0]}function o(){var t,e=this.stride,r=new Array(e.length);for(t=0;t=0&&(e+=a*(r=0|t),i-=r),new n(this.data,i,a,e)},i.step=function(t){var e=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return"number"==typeof t&&((a=0|t)<0?(i+=r*(e-1),e=o(-e/a)):e=o(e/a),r*=a),new n(this.data,e,r,i)},i.transpose=function(t){t=void 0===t?0:0|t;var e=this.shape,r=this.stride;return new n(this.data,e[t],r[t],this.offset)},i.pick=function(t){var r=[],n=[],i=this.offset;return"number"==typeof t&&t>=0?i=i+this.stride[0]*t|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,e[r.length+1])(this.data,r,n,i)},function(t,e,r,i){return new n(t,e[0],r[0],i)}},2:function(t,e,r){function n(t,e,r,n,i,a){this.data=t,this.shape=[e,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=t,i.dimension=2,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(e,r,n){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]=n},i.get=function(e,r){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]},i.index=function(t,e){return this.offset+this.stride[0]*t+this.stride[1]*e},i.hi=function(t,e){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,this.stride[0],this.stride[1],this.offset)},i.lo=function(t,e){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return"number"==typeof t&&t>=0&&(r+=s*(i=0|t),a-=i),"number"==typeof e&&e>=0&&(r+=l*(i=0|e),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(t,e){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,u=Math.ceil;return"number"==typeof t&&((l=0|t)<0?(s+=a*(r-1),r=u(-r/l)):r=u(r/l),a*=l),"number"==typeof e&&((l=0|e)<0?(s+=o*(i-1),i=u(-i/l)):i=u(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(t,e){t=void 0===t?0:0|t,e=void 0===e?1:0|e;var r=this.shape,i=this.stride;return new n(this.data,r[t],r[e],i[t],i[e],this.offset)},i.pick=function(t,r){var n=[],i=[],a=this.offset;return"number"==typeof t&&t>=0?a=a+this.stride[0]*t|0:(n.push(this.shape[0]),i.push(this.stride[0])),"number"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,e[n.length+1])(this.data,n,i,a)},function(t,e,r,i){return new n(t,e[0],e[1],r[0],r[1],i)}},3:function(t,e,r){function n(t,e,r,n,i,a,o,s){this.data=t,this.shape=[e,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=t,i.dimension=3,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,"order",{get:function(){var t=Math.abs(this.stride[0]),e=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return t>e?e>r?[2,1,0]:t>r?[1,2,0]:[1,0,2]:t>r?[2,0,1]:r>e?[0,1,2]:[0,2,1]}}),i.set=function(e,r,n,i){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(e,r,n){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]},i.index=function(t,e,r){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r},i.hi=function(t,e,r){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(t,e,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.stride[0],c=this.stride[1],f=this.stride[2];return"number"==typeof t&&t>=0&&(i+=u*(a=0|t),o-=a),"number"==typeof e&&e>=0&&(i+=c*(a=0|e),s-=a),"number"==typeof r&&r>=0&&(i+=f*(a=0|r),l-=a),new n(this.data,o,s,l,u,c,f,i)},i.step=function(t,e,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],u=this.stride[2],c=this.offset,f=0,h=Math.ceil;return"number"==typeof t&&((f=0|t)<0?(c+=s*(i-1),i=h(-i/f)):i=h(i/f),s*=f),"number"==typeof e&&((f=0|e)<0?(c+=l*(a-1),a=h(-a/f)):a=h(a/f),l*=f),"number"==typeof r&&((f=0|r)<0?(c+=u*(o-1),o=h(-o/f)):o=h(o/f),u*=f),new n(this.data,i,a,o,s,l,u,c)},i.transpose=function(t,e,r){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[t],i[e],i[r],a[t],a[e],a[r],this.offset)},i.pick=function(t,r,n){var i=[],a=[],o=this.offset;return"number"==typeof t&&t>=0?o=o+this.stride[0]*t|0:(i.push(this.shape[0]),a.push(this.stride[0])),"number"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),"number"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,e[i.length+1])(this.data,i,a,o)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],r[0],r[1],r[2],i)}},4:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u){this.data=t,this.shape=[e,r,n,i],this.stride=[a,o,s,l],this.offset=0|u}var i=n.prototype;return i.dtype=t,i.dimension=4,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(e,r,n,i){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(t,e,r,n){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n},i.hi=function(t,e,r,i){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(t,e,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],u=this.shape[2],c=this.shape[3],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3];return"number"==typeof t&&t>=0&&(a+=f*(o=0|t),s-=o),"number"==typeof e&&e>=0&&(a+=h*(o=0|e),l-=o),"number"==typeof r&&r>=0&&(a+=p*(o=0|r),u-=o),"number"==typeof i&&i>=0&&(a+=d*(o=0|i),c-=o),new n(this.data,s,l,u,c,f,h,p,d,a)},i.step=function(t,e,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],u=this.stride[0],c=this.stride[1],f=this.stride[2],h=this.stride[3],p=this.offset,d=0,v=Math.ceil;return"number"==typeof t&&((d=0|t)<0?(p+=u*(a-1),a=v(-a/d)):a=v(a/d),u*=d),"number"==typeof e&&((d=0|e)<0?(p+=c*(o-1),o=v(-o/d)):o=v(o/d),c*=d),"number"==typeof r&&((d=0|r)<0?(p+=f*(s-1),s=v(-s/d)):s=v(s/d),f*=d),"number"==typeof i&&((d=0|i)<0?(p+=h*(l-1),l=v(-l/d)):l=v(l/d),h*=d),new n(this.data,a,o,s,l,u,c,f,h,p)},i.transpose=function(t,e,r,i){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[t],a[e],a[r],a[i],o[t],o[e],o[r],o[i],this.offset)},i.pick=function(t,r,n,i){var a=[],o=[],s=this.offset;return"number"==typeof t&&t>=0?s=s+this.stride[0]*t|0:(a.push(this.shape[0]),o.push(this.stride[0])),"number"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),"number"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),"number"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,e[a.length+1])(this.data,a,o,s)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],r[0],r[1],r[2],r[3],i)}},5:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u,c,f){this.data=t,this.shape=[e,r,n,i,a],this.stride=[o,s,l,u,c],this.offset=0|f}var i=n.prototype;return i.dtype=t,i.dimension=5,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a,o){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(e,r,n,i,a){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(t,e,r,n,i){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(t,e,r,i,a){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,"number"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(t,e,r,i,a){var o=this.offset,s=0,l=this.shape[0],u=this.shape[1],c=this.shape[2],f=this.shape[3],h=this.shape[4],p=this.stride[0],d=this.stride[1],v=this.stride[2],g=this.stride[3],y=this.stride[4];return"number"==typeof t&&t>=0&&(o+=p*(s=0|t),l-=s),"number"==typeof e&&e>=0&&(o+=d*(s=0|e),u-=s),"number"==typeof r&&r>=0&&(o+=v*(s=0|r),c-=s),"number"==typeof i&&i>=0&&(o+=g*(s=0|i),f-=s),"number"==typeof a&&a>=0&&(o+=y*(s=0|a),h-=s),new n(this.data,l,u,c,f,h,p,d,v,g,y,o)},i.step=function(t,e,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.shape[3],c=this.shape[4],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3],v=this.stride[4],g=this.offset,y=0,m=Math.ceil;return"number"==typeof t&&((y=0|t)<0?(g+=f*(o-1),o=m(-o/y)):o=m(o/y),f*=y),"number"==typeof e&&((y=0|e)<0?(g+=h*(s-1),s=m(-s/y)):s=m(s/y),h*=y),"number"==typeof r&&((y=0|r)<0?(g+=p*(l-1),l=m(-l/y)):l=m(l/y),p*=y),"number"==typeof i&&((y=0|i)<0?(g+=d*(u-1),u=m(-u/y)):u=m(u/y),d*=y),"number"==typeof a&&((y=0|a)<0?(g+=v*(c-1),c=m(-c/y)):c=m(c/y),v*=y),new n(this.data,o,s,l,u,c,f,h,p,d,v,g)},i.transpose=function(t,e,r,i,a){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[t],o[e],o[r],o[i],o[a],s[t],s[e],s[r],s[i],s[a],this.offset)},i.pick=function(t,r,n,i,a){var o=[],s=[],l=this.offset;return"number"==typeof t&&t>=0?l=l+this.stride[0]*t|0:(o.push(this.shape[0]),s.push(this.stride[0])),"number"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),"number"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),"number"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),"number"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,e[o.length+1])(this.data,o,s,l)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],e[4],r[0],r[1],r[2],r[3],r[4],i)}}};function l(t,e){var r=-1===e?"T":String(e),n=s[r];return-1===e?n(t):0===e?n(t,u[t][0]):n(t,u[t],o)}var u={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};t.exports=function(t,e,r,a){if(void 0===t)return(0,u.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,c=1;s>=0;--s)r[s]=c,c*=e[s]}if(void 0===a)for(a=0,s=0;s>>0;t.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);return e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},115:function(t,e){e.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var b=i[u],_=1/Math.sqrt(g*m);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;b[x]+=_*(y[w]*v[T]-y[T]*v[w])}}}for(o=0;oa)for(_=1/Math.sqrt(k),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},e.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(p):0,u=0;u<3;++u)h[u]*=p;i[o]=h}return i}},567:function(t){"use strict";t.exports=function(t,e,r,n,i,a,o,s,l,u){var c=e+a+u;if(f>0){var f=Math.sqrt(c+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,u);f=Math.sqrt(2*h-c+1),e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},7774:function(t,e,r){"use strict";t.exports=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),c(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&i.lookAt(0,t.eye,t.center,t.up),i};var n=r(8444),i=r(3012),a=r(5950),o=r(7437),s=r(567);function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function c(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=u(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 f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(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 h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;c(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var u=0,f=0;f<3;++f)u+=r[l+4*f]*i[f];r[12+l]=-u}},h.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},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.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],u=l(a,o,s);a/=u,o/=u,s/=u;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=l(c-=a*p,f-=o*p,h-=s*p);c/=d,f/=d,h/=d;var v=i[2],g=i[6],y=i[10],m=v*a+g*o+y*s,x=v*c+g*f+y*h,b=l(v-=m*a+x*c,g-=m*o+x*f,y-=m*s+x*h);v/=b,g/=b,y/=b;var _=c*e+a*r,w=f*e+o*r,T=h*e+s*r;this.center.move(t,_,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(t,Math.log(k))},h.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],c=i[1],f=i[5],h=i[9],p=i[2],d=i[6],v=i[10],g=e*a+r*c,y=e*o+r*f,m=e*s+r*h,x=-(d*m-v*y),b=-(v*g-p*m),_=-(p*y-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),T=u(x,b,_,w);T>1e-6?(x/=T,b/=T,_/=T,w/=T):(x=b=_=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],L=A*w+E*x+M*_-S*b,C=M*w+E*b+S*x-A*_,O=S*w+E*_+A*b-M*x,P=E*w-A*x-M*b-S*_;if(n){x=p,b=d,_=v;var I=Math.sin(n)/l(x,b,_);x*=I,b*=I,_*=I,P=P*(w=Math.cos(e))-(L=L*w+P*x+C*_-O*b)*x-(C=C*w+P*b+O*x-L*_)*b-(O=O*w+P*_+L*b-C*x)*_}var D=u(L,C,O,P);D>1e-6?(L/=D,C/=D,O/=D,P/=D):(L=C=O=0,P=1),this.rotation.set(t,L,C,O,P)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),c(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,u=0;u<3;++u)l+=Math.pow(r[u]-e[u],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),c(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,u=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,u-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.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},h.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])]},h.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]}},h.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)}},4930:function(t,e,r){"use strict";var n=r(6184);t.exports=function(t,e,r){return n(r=void 0!==r?r+"":" ",e)+t}},4405:function(t){t.exports=function(t,e){e||(e=[0,""]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",e}},4166:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o0){o=a[c][r][0],l=c;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p0&&(o=d,s=v,l=f)}return i||o&&u(o,l),s}function f(t,r){var i=a[r][t][0],o=[t];u(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=c(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=c(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=c(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(o=0;o0;){a[0][o].length;var v=f(o,p);h(0,v)?d.push.apply(d,v):(d.length>0&&l.push(d),d=v)}d.length>0&&l.push(d)}return l};var n=r(9398)},3959:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s0;){var u=o.pop();i[u]=!1;var c=r[u];for(s=0;s0}))).length,g=new Array(v),y=new Array(v);for(p=0;p0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];if(0===V){var H=d[B];j=[H]}for(p=0;p=0||(F[q]=1^V,R.push(q),0===V&&(z(H=d[q])||(H.reverse(),j.push(H))))}0===V&&r.push(j)}return r};var n=r(8348),i=r(4166),a=r(211),o=r(9660),s=r(9662),l=r(1215),u=r(3959);function c(t,e){for(var r=new Array(t),n=0;n0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,u=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(u>0)a=a.left;else{if(!(u<0))return 0;s=1,a=a.right}}return s}}(y.slabs,y.coordinates);return 0===a.length?m:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),m)};var n=r(417)[3],i=r(4385),a=r(9014),o=r(5070);function s(){return!0}function l(t){for(var e={},r=0;r=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d):(k=0,p>=0?(A=0,m=d):-p>=f?(A=1,m=f+2*p+d):m=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(k=0,m=d):-h>=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d;else{var M=1/T;m=(k*=M)*(u*k+c*(A*=M)+2*h)+A*(c*k+f*A+2*p)+d}else k<0?(b=f+p)>(x=c+h)?(_=b-x)>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d:(k=0,b<=0?(A=1,m=f+2*p+d):p>=0?(A=0,m=d):m=p*(A=-p/f)+d):A<0?(b=u+h)>(x=c+p)?(_=b-x)>=(w=u-2*c+f)?(A=1,k=0,m=f+2*p+d):m=(k=1-(A=_/w))*(u*k+c*A+2*h)+A*(c*k+f*A+2*p)+d:(A=0,b<=0?(k=1,m=u+2*h+d):h>=0?(k=0,m=d):m=h*(k=-h/u)+d):(_=f+p-c-h)<=0?(k=0,A=1,m=f+2*p+d):_>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d;var S=1-k-A;for(l=0;l0){var u=t[r-1];if(0===n(s,u)&&a(u)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},6184:function(t){"use strict";var e,r="";t.exports=function(t,n){if("string"!=typeof t)throw new TypeError("expected a string");if(1===n)return t;if(2===n)return t+t;var i=t.length*n;if(e!==t||void 0===e)e=t,r="";else if(r.length>=i)return r.substr(0,i);for(;i>r.length&&n>1;)1&n&&(r+=t),n>>=1,t+=t;return r=(r+=t).substr(0,i)}},8161:function(t,e,r){t.exports=r.g.performance&&r.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},402:function(t){"use strict";t.exports=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];(l=o-((r=a+o)-a))&&(t[--n]=r,r=l)}var s=0;for(i=n;i0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:f(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],f=e[2]-n[2],p=r[2]-n[2],d=a*u,v=o*l,g=o*s,y=i*u,m=i*l,x=a*s,b=c*(d-v)+f*(g-y)+p*(m-x),_=7771561172376103e-31*((Math.abs(d)+Math.abs(v))*Math.abs(c)+(Math.abs(g)+Math.abs(y))*Math.abs(f)+(Math.abs(m)+Math.abs(x))*Math.abs(p));return b>_||-b>_?b:h(t,e,r,n)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=c(t.length)),e.apply(void 0,t)}function v(t,e,r,n,i,a,o){return function(e,r,s,l,u){switch(arguments.length){case 0:case 1:return 0;case 2:return n(e,r);case 3:return i(e,r,s);case 4:return a(e,r,s,l);case 5:return o(e,r,s,l,u)}for(var c=new Array(arguments.length),f=0;f0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);return!(s>0&&l>0||s<0&&l<0)&&(0!==a||0!==o||0!==s||0!==l||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],f=Math.min(u,c);if(Math.max(u,c)=n?(i=f,(l+=1)=n?(i=f,(l+=1)>1,u=e[2*l+1];if(u===a)return l;a>1,u=e[2*l+1];if(u===a)return l;a>1,u=e[2*l+1];if(u===a)return l;a0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.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},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,1+((t|=t>>>8)|t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=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<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.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},e.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},e.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},e.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},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},6656:function(t,e,r){"use strict";var n=r(9392),i=r(9521);function a(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 f=e.slice(0);f.sort();for(var h=0;h>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function c(t,e){for(var r=new Array(t.length),i=0,o=r.length;i=t.length||0!==a(t[g],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<>>c&1&&u.push(i[c]);e.push(u)}return s(e)},e.skeleton=f,e.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function x(t){for(var e=y(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n0;){var r=m(t);if(!(r>=0&&e0){var t=k[0];return g(0,M-1),M-=1,x(0),t}return-1}function w(t,e){var r=k[t];return u[r]===e?t:(u[r]=-1/0,b(t),_(),u[r]=e,b((M+=1)-1))}function T(t){if(!c[t]){c[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],v(e)),A[r]>=0&&w(A[r],v(r))}}var k=[],A=new Array(a);for(f=0;f>1;f>=0;--f)x(f);for(;;){var S=_();if(S<0||u[S]>r)break;T(S)}var E=[];for(f=0;f=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&C.push([n,i])}})),i.unique(i.normalize(C)),{positions:E,edges:C}};var n=r(417),i=r(6656)},6638:function(t,e,r){"use strict";t.exports=function(t,e){var r,a,o,s;if(e[0][0]e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),u=n(r,a,o);if(l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;if(l=n(s,o,a),u=n(s,o,r),l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;return a[0]-s[0]};var n=r(417);function i(t,e){var r,i,a,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),u=Math.min(e[0][1],e[1][1]),c=Math.max(e[0][1],e[1][1]);return lc?s-c:l-c}r=e[1],i=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=u(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=u(t.right,e))return l;t=t.left}}return r}function c(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=u(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var c=u(this.slabs[e-1],t);c&&(s?o(c.key,s)>0&&(s=c.key,i=c.value):(i=c.value,s=c.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},4670:function(t,e,r){"use strict";var n=r(9130),i=r(9662);function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(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;l0||i>0&&c<0){var f=o(s,c,l,i);r.push(f),n.push(f.slice())}c<0?n.push(l.slice()):c>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=c}return{positive:r,negative:n}},t.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u>=0&&r.push(s.slice()),n=u}return r},t.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u<=0&&r.push(s.slice()),n=u}return r}},8974:function(t,e,r){var n;!function(){"use strict";var i={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 a(t){return s(u(t),arguments)}function o(t,e){return a.apply(null,[t].concat(e||[]))}function s(t,e){var r,n,o,s,l,u,c,f,h,p=1,d=t.length,v="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?v+=r:(!i.number.test(s.type)||f&&!s.sign?h="":(h=f?"+":"-",r=r.toString().replace(i.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",c=s.width-(h+r).length,l=s.width&&c>0?u.repeat(c):"",v+=s.align?h+r+l:"0"===u?h+l+r:l+h+r)}return v}var l=Object.create(null);function u(t){if(l[t])return l[t];for(var e,r=t,n=[],a=0;r;){if(null!==(e=i.text.exec(r)))n.push(e[0]);else if(null!==(e=i.modulo.exec(r)))n.push("%");else{if(null===(e=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){a|=1;var o=[],s=e[2],u=[];if(null===(u=i.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(u[1]);""!==(s=s.substring(u[0].length));)if(null!==(u=i.key_access.exec(s)))o.push(u[1]);else{if(null===(u=i.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(u[1])}e[2]=o}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return l[t]=n}e.sprintf=a,e.vsprintf=o,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=o,void 0===(n=function(){return{sprintf:a,vsprintf:o}}.call(e,r,e,t))||(t.exports=n))}()},4162:function(t,e,r){"use strict";t.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;sn|0},vertex:function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=(o<<0)+(s<<1)+(l<<2)+(u<<3)|0;if(0!==p&&15!==p)switch(p){case 0:case 15:c.push([t-.5,e-.5]);break;case 1:c.push([t-.25-.25*(n+r-2*h)/(r-n),e-.25-.25*(i+r-2*h)/(r-i)]);break;case 2:c.push([t-.75-.25*(-n-r+2*h)/(n-r),e-.25-.25*(a+n-2*h)/(n-a)]);break;case 3:c.push([t-.5,e-.5-.5*(i+r+a+n-4*h)/(r-i+n-a)]);break;case 4:c.push([t-.25-.25*(a+i-2*h)/(i-a),e-.75-.25*(-i-r+2*h)/(i-r)]);break;case 5:c.push([t-.5-.5*(n+r+a+i-4*h)/(r-n+i-a),e-.5]);break;case 6:c.push([t-.5-.25*(-n-r+a+i)/(n-r+i-a),e-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:c.push([t-.75-.25*(a+i-2*h)/(i-a),e-.75-.25*(a+n-2*h)/(n-a)]);break;case 8:c.push([t-.75-.25*(-a-i+2*h)/(a-i),e-.75-.25*(-a-n+2*h)/(a-n)]);break;case 9:c.push([t-.5-.25*(n+r+-a-i)/(r-n+a-i),e-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:c.push([t-.5-.5*(-n-r-a-i+4*h)/(n-r+a-i),e-.5]);break;case 11:c.push([t-.25-.25*(-a-i+2*h)/(a-i),e-.75-.25*(i+r-2*h)/(r-i)]);break;case 12:c.push([t-.5,e-.5-.5*(-i-r-a-n+4*h)/(i-r+a-n)]);break;case 13:c.push([t-.75-.25*(n+r-2*h)/(r-n),e-.25-.25*(-a-n+2*h)/(a-n)]);break;case 14:c.push([t-.25-.25*(-n-r+2*h)/(n-r),e-.25-.25*(-i-r+2*h)/(i-r)])}},cell:function(t,e,r,n,i,a,o,s,l){i?s.push([t,e]):s.push([e,t])}});return function(t,e){var r=[],i=[];return n(t,r,i,e),{positions:r,cells:i}}}},o={}},6946:function(t,e,r){"use strict";t.exports=function t(e,r,i){i=i||{};var a=o[e];a||(a=o[e]={" ":{data:new Float32Array(0),shape:.2}});var s=a[r];if(!s)if(r.length<=1||!/\d/.test(r))s=a[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o0&&(f+=.02);var p=new Float32Array(c),d=0,v=-.5*f;for(h=0;hMath.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var u=0;u<16;++u)this.computedMatrix[u]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),c=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,c+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(c);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],v=this.computedAngle[1],g=Math.cos(d),y=Math.sin(d),m=Math.cos(v),x=Math.sin(v),b=this.computedCenter,_=g*m,w=y*m,T=x,k=-g*x,A=-y*x,M=m,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var L=_*r[a]+w*h[a]+T*e[a];E[4*a+1]=k*r[a]+A*h[a]+M*e[a],E[4*a+2]=L,E[4*a+3]=0}var C=E[1],O=E[5],P=E[9],I=E[2],D=E[6],z=E[10],R=O*z-P*D,F=P*I-C*z,B=C*D-O*I,N=u(R,F,B);for(R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B,a=0;a<3;++a)S[a]=b[a]+E[2+4*a]*p;for(a=0;a<3;++a){c=0;for(var j=0;j<3;++j)c+=E[a+4*j]*S[j];E[12+a]=-c}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,u=0;u<3;++u)i[4*u]=o[u],i[4*u+1]=s[u],i[4*u+2]=l[u];for(a(i,i,n,d),u=0;u<3;++u)o[u]=i[4*u],s[u]=i[4*u+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.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=u(a,o,s);a/=l,o/=l,s/=l;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=u(c-=a*p,f-=o*p,h-=s*p),v=(c/=d)*e+a*r,g=(f/=d)*e+o*r,y=(h/=d)*e+s*r;this.center.move(t,v,g,y);var m=Math.exp(this.computedRadius[0]);m=Math.max(1e-4,m+n),this.radius.set(t,Math.log(m))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),v=Math.max(h,p,d);h===v?(s=s<0?-1:1,l=f=0):d===v?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var g=u(s,l,f);s/=g,l/=g,f/=g}var y,m,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,T=u(x-=s*w,b-=l*w,_-=f*w),k=l*(_/=T)-f*(b/=T),A=f*(x/=T)-s*_,M=s*b-l*x,S=u(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(t,q,G,Z),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var E=e[1],L=e[5],C=e[9],O=E*x+L*b+C*_,P=E*k+L*A+C*M;y=R<0?-Math.PI/2:Math.PI/2,m=Math.atan2(P,O)}else{var I=e[2],D=e[6],z=e[10],R=I*s+D*l+z*f,F=I*x+D*b+z*_,B=I*k+D*A+z*M;y=Math.asin(c(R)),m=Math.atan2(B,F)}this.angle.jump(t,m,y),this.recalcMatrix(t);var N=e[2],j=e[6],U=e[10],V=this.computedMatrix;i(V,e);var H=V[15],q=V[12]/H,G=V[13]/H,Z=V[14]/H,W=Math.exp(this.computedRadius[0]);this.center.jump(t,q-N*W,G-j*W,Z-U*W)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,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=u(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=u(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,v=d[0],g=d[1],y=d[2],m=i*v+a*g+o*y,x=u(v-=m*i,g-=m*a,y-=m*o);if(!(x<.01&&(x=u(v=a*h-o*f,g=o*l-i*h,y=i*f-a*l))<1e-6)){v/=x,g/=x,y/=x,this.up.set(t,i,a,o),this.right.set(t,v,g,y),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*y-o*g,_=o*v-i*y,w=i*g-a*v,T=u(b,_,w),k=i*l+a*f+o*h,A=v*l+g*f+y*h,M=(b/=T)*l+(_/=T)*f+(w/=T)*h,S=Math.asin(c(k)),E=Math.atan2(M,A),L=this.angle._state,C=L[L.length-1],O=L[L.length-2];C%=2*Math.PI;var P=Math.abs(C+2*Math.PI-E),I=Math.abs(C-E),D=Math.abs(C-2*Math.PI-E);P0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return v(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return m(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},1731:function(t){"use strict";function e(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts)),r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+"px",n.font].filter((function(t){return t})).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",d(function(t,e,r,n,a,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\/g,"\n"):r.replace(/\/g," ");var s="",l=[];for(v=0;v-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(L(),"?px "),m*=Math.pow(.75,l-s),n=n.replace("?px ",L())),y+=.25*_*(l-s)}if(!0===o.superscripts){var f=t.indexOf("+"),h=r.indexOf("+"),p=f>-1?parseInt(t[1+f]):0,d=h>-1?parseInt(r[1+h]):0;p!==d&&(n=n.replace(L(),"?px "),m*=Math.pow(.75,d-p),n=n.replace("?px ",L())),y-=.25*_*(d-p)}if(!0===o.bolds){var v=t.indexOf(u)>-1,g=r.indexOf(u)>-1;!v&&g&&(n=x?n.replace("italic ","italic bold "):"bold "+n),v&&!g&&(n=n.replace("bold ",""))}if(!0===o.italics){var x=t.indexOf(c)>-1,b=r.indexOf(c)>-1;!x&&b&&(n="italic "+n),x&&!b&&(n=n.replace("italic ",""))}e.font=n}for(d=0;d",a="",o=i.length,s=a.length,l="+"===e[0]||"-"===e[0],u=0,c=-s;u>-1&&-1!==(u=r.indexOf(i,u))&&-1!==(c=r.indexOf(a,u+o))&&!(c<=u);){for(var f=u;f=c)n[f]=null,r=r.substr(0,f)+" "+r.substr(f+1);else if(null!==n[f]){var h=n[f].indexOf(e[0]);-1===h?n[f]+=e:l&&(n[f]=n[f].substr(0,h+1)+(1+parseInt(n[f][h+1]))+n[f].substr(h+2))}var p=u+o,d=r.substr(p,c-p).indexOf(i);u=-1!==d?d:c+s}return n}function h(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function p(t,e,r,n){var i=h(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=0?e[a]:i}))},has___:{value:x((function(e){var n=m(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:x((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:x((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))}))}})};v.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 r?function(){function n(){this instanceof v||b();var t,n=new r,i=void 0,a=!1;return t=e?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new v),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new v),i.set___(t,e)}else n.set(t,e);return this},Object.create(v.prototype,{get___:{value:x((function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)}))},has___:{value:x((function(t){return n.has(t)||!!i&&i.has___(t)}))},set___:{value:x(t)},delete___:{value:x((function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e}))},permitHostObjects___:{value:x((function(t){if(t!==g)throw new Error("bogus call to permitHostObjects___");a=!0}))}})}e&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=v.prototype,t.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),t.exports=v)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function y(t){return!(t.substr(0,l.length)==l&&"___"===t.substr(t.length-3))}function m(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[u];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,u,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||"undefined"==typeof console||(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},9222:function(t,e,r){var n=r(7178);t.exports=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:n(e,t)}}},7178:function(t){t.exports=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}},4037:function(t,e,r){var n=r(9222);t.exports=function(){var t=n();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}}}},6183:function(t){"use strict";t.exports=function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=[a,o.join()].join(),l=e[s];return l||(e[s]=l=t([a,o])),l(r.shape.slice(0),r.data,r.stride,0|r.offset,n,i)}}(function(){return function(t,e,r,n,i,a){var o=t[0],s=r[0],l=[0],u=s;n|=0;var c=0,f=s;for(c=0;c=0!=p>=0&&i.push(l[0]+.5+.5*(h+p)/(h-p)),n+=f,++l[0]}}}.bind(void 0,{funcName:"zeroCrossings"}))},9584:function(t,e,r){"use strict";t.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=r(6183)},6601:function(){}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var a=e[n]={id:n,loaded:!1,exports:{}};return t[n].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t},r(7386)}()},t.exports=n()},12856:function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var r=0;rp)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,v.prototype),e}function v(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return m(t)}return g(t,e,r)}function g(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!v.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|w(t,e),n=d(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(rt(t,Uint8Array)){var e=new Uint8Array(t);return b(e.buffer,e.byteOffset,e.byteLength)}return x(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+u(t));if(rt(t,ArrayBuffer)||t&&rt(t.buffer,ArrayBuffer))return b(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(rt(t,SharedArrayBuffer)||t&&rt(t.buffer,SharedArrayBuffer)))return b(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return v.from(n,e,r);var i=function(t){if(v.isBuffer(t)){var e=0|_(t.length),r=d(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||nt(t.length)?d(0):x(t):"Buffer"===t.type&&Array.isArray(t.data)?x(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return v.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+u(t))}function y(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function m(t){return y(t),d(t<0?0:0|_(t))}function x(t){for(var e=t.length<0?0:0|_(t.length),r=d(e),n=0;n=p)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+p.toString(16)+" bytes");return 0|t}function w(t,e){if(v.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||rt(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+u(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Q(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return tt(t).length;default:if(i)return n?-1:Q(t).length;e=(""+e).toLowerCase(),i=!0}}function T(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 F(this,e,r);case"utf8":case"utf-8":return I(this,e,r);case"ascii":return z(this,e,r);case"latin1":case"binary":return R(this,e,r);case"base64":return P(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function k(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function A(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),nt(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=v.from(e,n)),v.isBuffer(e))return 0===e.length?-1:M(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):M(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function M(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;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function P(t,e,r){return 0===e&&r===t.length?c.fromByteArray(t):c.fromByteArray(t.slice(e,r))}function I(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=D)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(v.isBuffer(a)||(a=v.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!v.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},v.byteLength=w,v.prototype._isBuffer=!0,v.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;er&&(t+=" ... "),""},h&&(v.prototype[h]=v.prototype.inspect),v.prototype.compare=function(t,e,r,n,i){if(rt(t,Uint8Array)&&(t=v.from(t,t.offset,t.byteLength)),!v.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+u(t));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(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),l=this.slice(n,i),c=t.slice(e,r),f=0;f>>=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 S(this,t,e,r);case"utf8":case"utf-8":return E(this,t,e,r);case"ascii":case"latin1":case"binary":return L(this,t,e,r);case"base64":return C(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},v.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var D=4096;function z(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function j(t,e,r,n,i,a){if(!v.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function U(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function V(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function H(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 q(t,e,r,n,i){return e=+e,r>>>=0,i||H(t,0,r,4),f.write(t,e,r,n,23,4),r+4}function G(t,e,r,n,i){return e=+e,r>>>=0,i||H(t,0,r,8),f.write(t,e,r,n,52,8),r+8}v.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},v.prototype.readUint8=v.prototype.readUInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),this[t]},v.prototype.readUint16LE=v.prototype.readUInt16LE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]|this[t+1]<<8},v.prototype.readUint16BE=v.prototype.readUInt16BE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]<<8|this[t+1]},v.prototype.readUint32LE=v.prototype.readUInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},v.prototype.readUint32BE=v.prototype.readUInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},v.prototype.readBigUInt64LE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},v.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||N(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},v.prototype.readInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},v.prototype.readInt16LE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},v.prototype.readInt16BE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},v.prototype.readInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},v.prototype.readInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},v.prototype.readBigInt64LE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||N(t,4,this.length),f.read(this,t,!0,23,4)},v.prototype.readFloatBE=function(t,e){return t>>>=0,e||N(t,4,this.length),f.read(this,t,!1,23,4)},v.prototype.readDoubleLE=function(t,e){return t>>>=0,e||N(t,8,this.length),f.read(this,t,!0,52,8)},v.prototype.readDoubleBE=function(t,e){return t>>>=0,e||N(t,8,this.length),f.read(this,t,!1,52,8)},v.prototype.writeUintLE=v.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||j(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||j(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},v.prototype.writeUint8=v.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,255,0),this[e]=255&t,e+1},v.prototype.writeUint16LE=v.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},v.prototype.writeUint16BE=v.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},v.prototype.writeUint32LE=v.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(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},v.prototype.writeUint32BE=v.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(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},v.prototype.writeBigUInt64LE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return U(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),v.prototype.writeBigUInt64BE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return V(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),v.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},v.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(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},v.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},v.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},v.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},v.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(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},v.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(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},v.prototype.writeBigInt64LE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return U(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),v.prototype.writeBigInt64BE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return V(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),v.prototype.writeFloatLE=function(t,e,r){return q(this,t,e,!0,r)},v.prototype.writeFloatBE=function(t,e,r){return q(this,t,e,!1,r)},v.prototype.writeDoubleLE=function(t,e,r){return G(this,t,e,!0,r)},v.prototype.writeDoubleBE=function(t,e,r){return G(this,t,e,!1,r)},v.prototype.copy=function(t,e,r,n){if(!v.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=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>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function X(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new Z.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){J(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||K(e,t.length-(r+1))}(n,i,a)}function J(t,e){if("number"!=typeof t)throw new Z.ERR_INVALID_ARG_TYPE(e,"number",t)}function K(t,e,r){if(Math.floor(t)!==t)throw J(t,r),new Z.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new Z.ERR_BUFFER_OUT_OF_BOUNDS;throw new Z.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}W("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),W("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(u(e))}),TypeError),W("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=Y(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=Y(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var $=/[^+/0-9A-Za-z-_]/g;function Q(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&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 tt(t){return c.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace($,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function et(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function rt(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function nt(t){return t!=t}var it=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function at(t){return"undefined"==typeof BigInt?ot:t}function ot(){throw new Error("BigInt not supported")}},35791:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|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[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},86781:function(t,e,r){"use strict";r.r(e),r.d(e,{sankeyCenter:function(){return h},sankeyCircular:function(){return L},sankeyJustify:function(){return f},sankeyLeft:function(){return u},sankeyRight:function(){return c}});var n=r(33064),i=r(15140),a=r(45879),o=r(2502),s=r.n(o);function l(t){return t.target.depth}function u(t){return t.depth}function c(t,e){return e-1-t.height}function f(t,e){return t.sourceLinks.length?t.depth:e-1}function h(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.VV)(t.sourceLinks,l)-1:0}function p(t){return function(){return t}}var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function v(t,e){return y(t.source,e.source)||t.index-e.index}function g(t,e){return y(t.target,e.target)||t.index-e.index}function y(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:"top"===t.circularLinkType||"bottom"===e.circularLinkType?-1:1}function m(t){return t.value}function x(t){return(t.y0+t.y1)/2}function b(t){return x(t.source)}function _(t){return x(t.target)}function w(t){return t.index}function T(t){return t.nodes}function k(t){return t.links}function A(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function M(t,e){return e(t)}var S=25,E=10;function L(){var t,e,r=0,a=0,o=1,s=1,l=24,u=w,c=f,h=T,M=k,L=32,P=2,D=null;function z(){var t={nodes:h.apply(null,arguments),links:M.apply(null,arguments)};F(t),C(t,0,D),B(t),N(t),O(t,u),j(t,L,u),U(t);for(var e=4,r=0;r0?e+S+E:e,bottom:r=r>0?r+S+E:r,left:a=a>0?a+S+E:a,right:i=i>0?i+S+E:i}}(u),d=function(t,e){var i=(0,n.Fp)(t.nodes,(function(t){return t.column})),u=o-r,c=s-a,f=u/(u+e.right+e.left),h=c/(c+e.top+e.bottom);return r=r*f+e.left,o=0==e.right?o:o*f,a=a*h+e.top,s*=h,t.nodes.forEach((function(t){t.x0=r+t.column*((o-r-l)/i),t.x1=t.x0+l})),h}(u,p);f*=d,u.links.forEach((function(t){t.width=t.value*f})),h.forEach((function(t){var e=t.length;t.forEach((function(t,r){t.depth==h.length-1&&1==e||0==t.depth&&1==e?(t.y0=s/2-t.value*f,t.y1=t.y0+t.value*f):t.partOfCycle?0==I(t,i)?(t.y0=s/2+r,t.y1=t.y0+t.value*f):"top"==t.circularLinkType?(t.y0=a+r,t.y1=t.y0+t.value*f):(t.y0=s-t.value*f-r,t.y1=t.y0+t.value*f):0==p.top||0==p.bottom?(t.y0=(s-a)/e*r,t.y1=t.y0+t.value*f):(t.y0=(s-a)/2-e/2+r,t.y1=t.y0+t.value*f)}))}))}(f),g();for(var p=1,d=c;d>0;--d)v(p*=.99,f),g();function v(t,e){var r=h.length;h.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var l;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&I(i,e)>0);else if(0==o&&1==a)l=i.y1-i.y0,i.y0=s/2-l/2,i.y1=s/2+l/2;else if(o==r-1&&1==a)l=i.y1-i.y0,i.y0=s/2-l/2,i.y1=s/2+l/2;else{var u=(0,n.J6)(i.sourceLinks,_),c=(0,n.J6)(i.targetLinks,b),f=((u&&c?(u+c)/2:u||c)-x(i))*t;i.y0+=f,i.y1+=f}}))}))}function g(){h.forEach((function(e){var r,n,i,o=a,l=e.length;for(e.sort(y),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-s)>0)for(o=r.y0-=n,r.y1-=n,i=l-2;i>=0;--i)(n=(r=e[i]).y1+t-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}function U(t){t.nodes.forEach((function(t){t.sourceLinks.sort(g),t.targetLinks.sort(v)})),t.nodes.forEach((function(t){var e=t.y0,r=e,n=t.y1,i=n;t.sourceLinks.forEach((function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)})),t.targetLinks.forEach((function(t){t.circular?(t.y1=i-t.width/2,i-=t.width):(t.y1=r+t.width/2,r+=t.width)}))}))}return z.nodeId=function(t){return arguments.length?(u="function"==typeof t?t:p(t),z):u},z.nodeAlign=function(t){return arguments.length?(c="function"==typeof t?t:p(t),z):c},z.nodeWidth=function(t){return arguments.length?(l=+t,z):l},z.nodePadding=function(e){return arguments.length?(t=+e,z):t},z.nodes=function(t){return arguments.length?(h="function"==typeof t?t:p(t),z):h},z.links=function(t){return arguments.length?(M="function"==typeof t?t:p(t),z):M},z.size=function(t){return arguments.length?(r=a=0,o=+t[0],s=+t[1],z):[o-r,s-a]},z.extent=function(t){return arguments.length?(r=+t[0][0],o=+t[1][0],a=+t[0][1],s=+t[1][1],z):[[r,a],[o,s]]},z.iterations=function(t){return arguments.length?(L=+t,z):L},z.circularLinkGap=function(t){return arguments.length?(P=+t,z):P},z.nodePaddingRatio=function(t){return arguments.length?(e=+t,z):e},z.sortNodes=function(t){return arguments.length?(D=t,z):D},z.update=function(t){return O(t,u),U(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y11||i>1)}function z(t,e,r){return t.sort(F),t.forEach((function(n,i){var a,o,s=0;if($(n,r)&&D(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;lo.source.column)){var u=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=u>s?u:s}n.circularPathData.verticalBuffer=s+n.width/2}})),t}function R(t,e,r,i){var o=(0,n.VV)(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),z(t.links.filter((function(t){return"top"==t.circularLinkType})),e,i),z(t.links.filter((function(t){return"bottom"==t.circularLinkType})),e,i),t.links.forEach((function(n){if(n.circular){if(n.circularPathData.arcRadius=n.width+E,n.circularPathData.leftNodeBuffer=5,n.circularPathData.rightNodeBuffer=5,n.circularPathData.sourceWidth=n.source.x1-n.source.x0,n.circularPathData.sourceX=n.source.x0+n.circularPathData.sourceWidth,n.circularPathData.targetX=n.target.x0,n.circularPathData.sourceY=n.y0,n.circularPathData.targetY=n.y1,$(n,i)&&D(n))n.circularPathData.leftSmallArcRadius=E+n.width/2,n.circularPathData.leftLargeArcRadius=E+n.width/2,n.circularPathData.rightSmallArcRadius=E+n.width/2,n.circularPathData.rightLargeArcRadius=E+n.width/2,"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=n.source.y1+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=n.source.y0-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius);else{var s=n.source.column,l=n.circularLinkType,u=t.links.filter((function(t){return t.source.column==s&&t.circularLinkType==l}));"bottom"==n.circularLinkType?u.sort(N):u.sort(B);var c=0;u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.leftSmallArcRadius=E+n.width/2+c,n.circularPathData.leftLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),s=n.target.column,u=t.links.filter((function(t){return t.target.column==s&&t.circularLinkType==l})),"bottom"==n.circularLinkType?u.sort(U):u.sort(j),c=0,u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.rightSmallArcRadius=E+n.width/2+c,n.circularPathData.rightLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=Math.max(r,n.source.y1,n.target.y1)+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=o-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius)}n.circularPathData.leftInnerExtent=n.circularPathData.sourceX+n.circularPathData.leftNodeBuffer,n.circularPathData.rightInnerExtent=n.circularPathData.targetX-n.circularPathData.rightNodeBuffer,n.circularPathData.leftFullExtent=n.circularPathData.sourceX+n.circularPathData.leftLargeArcRadius+n.circularPathData.leftNodeBuffer,n.circularPathData.rightFullExtent=n.circularPathData.targetX-n.circularPathData.rightLargeArcRadius-n.circularPathData.rightNodeBuffer}if(n.circular)n.path=function(t){return"top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY}(n);else{var f=(0,a.h5)().source((function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]})).target((function(t){return[t.target.x0,t.y1]}));n.path=f(n)}}))}function F(t,e){return V(t)==V(e)?"bottom"==t.circularLinkType?N(t,e):B(t,e):V(e)-V(t)}function B(t,e){return t.y0-e.y0}function N(t,e){return e.y0-t.y0}function j(t,e){return t.y1-e.y1}function U(t,e){return e.y1-t.y1}function V(t){return t.target.column-t.source.column}function H(t){return t.target.x0-t.source.x1}function q(t,e){var r=P(t),n=H(e)/Math.tan(r);return"up"==K(t)?t.y1+n:t.y1-n}function G(t,e){var r=P(t),n=H(e)/Math.tan(r);return"up"==K(t)?t.y1-n:t.y1+n}function Z(t,e,r,n){t.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)t.nodes.forEach((function(o){if(o.column==a){var u,c=s/(l+1),f=Math.pow(1-c,3),h=3*c*Math.pow(1-c,2),p=3*Math.pow(c,2)*(1-c),d=Math.pow(c,3),v=f*i.y0+h*i.y0+p*i.y1+d*i.y1,g=v-i.width/2,y=v+i.width/2;g>o.y0&&ga.y0&&i.y0a.y0&&i.y1a.y1)&&W(t,u,e,r)}))):(y>o.y0&&yo.y1)&&(u=y-o.y0+10,o=W(o,u,e,r),t.nodes.forEach((function(t){M(t,n)!=M(o,n)&&t.column==o.column&&t.y0o.y1&&W(t,u,e,r)})))}}))}}))}function W(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach((function(t){t.y1=t.y1+e})),t.sourceLinks.forEach((function(t){t.y0=t.y0+e}))),t}function Y(t,e,r,n){t.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>e&&(i.y=i.y-(i.y+(i.y1-i.y0)-e));var a=t.links.filter((function(t){return M(t.source,r)==M(i,r)})),o=a.length;o>1&&a.sort((function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!J(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=G(e,t);return t.y1-r}if(e.target.column>t.target.column)return G(t,e)-e.y1}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:"top"==t.circularLinkType?-1:1:void 0}));var s=i.y0;a.forEach((function(t){t.y0=s+t.width/2,s+=t.width})),a.forEach((function(t,e){if("bottom"==t.circularLinkType){for(var r=e+1,n=0;r1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!J(t,e))return t.y0-e.y0;if(e.source.column0?"up":"down"}function $(t,e){return M(t.source,e)==M(t.target,e)}function Q(t,e,r){var i=t.nodes,a=t.links,o=!1,s=!1;if(a.forEach((function(t){"top"==t.circularLinkType?o=!0:"bottom"==t.circularLinkType&&(s=!0)})),0==o||0==s){var l=(0,n.VV)(i,(function(t){return t.y0})),u=(r-e)/((0,n.Fp)(i,(function(t){return t.y1}))-l);i.forEach((function(t){var e=(t.y1-t.y0)*u;t.y0=(t.y0-l)*u,t.y1=t.y0+e})),a.forEach((function(t){t.y0=(t.y0-l)*u,t.y1=(t.y1-l)*u,t.width=t.width*u}))}}},30838:function(t,e,r){"use strict";r.r(e),r.d(e,{sankey:function(){return w},sankeyCenter:function(){return u},sankeyJustify:function(){return l},sankeyLeft:function(){return o},sankeyLinkHorizontal:function(){return M},sankeyRight:function(){return s}});var n=r(33064),i=r(15140);function a(t){return t.target.depth}function o(t){return t.depth}function s(t,e){return e-1-t.height}function l(t,e){return t.sourceLinks.length?t.depth:e-1}function u(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.VV)(t.sourceLinks,a)-1:0}function c(t){return function(){return t}}function f(t,e){return p(t.source,e.source)||t.index-e.index}function h(t,e){return p(t.target,e.target)||t.index-e.index}function p(t,e){return t.y0-e.y0}function d(t){return t.value}function v(t){return(t.y0+t.y1)/2}function g(t){return v(t.source)*t.value}function y(t){return v(t.target)*t.value}function m(t){return t.index}function x(t){return t.nodes}function b(t){return t.links}function _(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function w(){var t=0,e=0,r=1,a=1,o=24,s=8,u=m,w=l,T=x,k=b,A=32;function M(){var t={nodes:T.apply(null,arguments),links:k.apply(null,arguments)};return S(t),E(t),L(t),C(t),O(t),t}function S(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.UI)(t.nodes,u);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!=typeof n&&(n=t.source=_(e,n)),"object"!=typeof i&&(i=t.target=_(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}function E(t){t.nodes.forEach((function(t){t.value=Math.max((0,n.Sm)(t.sourceLinks,d),(0,n.Sm)(t.targetLinks,d))}))}function L(e){var n,i,a;for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.depth=a,t.sourceLinks.forEach((function(t){i.indexOf(t.target)<0&&i.push(t.target)}))}));for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.height=a,t.targetLinks.forEach((function(t){i.indexOf(t.source)<0&&i.push(t.source)}))}));var s=(r-t-o)/(a-1);e.nodes.forEach((function(e){e.x1=(e.x0=t+Math.max(0,Math.min(a-1,Math.floor(w.call(null,e,a))))*s)+o}))}function C(t){var r=(0,i.b1)().key((function(t){return t.x0})).sortKeys(n.j2).entries(t.nodes).map((function(t){return t.values}));!function(){var i=(0,n.Fp)(r,(function(t){return t.length})),o=.6666666666666666*(a-e)/(i-1);s>o&&(s=o);var l=(0,n.VV)(r,(function(t){return(a-e-(t.length-1)*s)/(0,n.Sm)(t,d)}));r.forEach((function(t){t.forEach((function(t,e){t.y1=(t.y0=e)+t.value*l}))})),t.links.forEach((function(t){t.width=t.value*l}))}(),f();for(var o=1,l=A;l>0;--l)c(o*=.99),f(),u(o),f();function u(t){r.forEach((function(e){e.forEach((function(e){if(e.targetLinks.length){var r=((0,n.Sm)(e.targetLinks,g)/(0,n.Sm)(e.targetLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function c(t){r.slice().reverse().forEach((function(e){e.forEach((function(e){if(e.sourceLinks.length){var r=((0,n.Sm)(e.sourceLinks,y)/(0,n.Sm)(e.sourceLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function f(){r.forEach((function(t){var r,n,i,o=e,l=t.length;for(t.sort(p),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+s;if((n=o-s-a)>0)for(o=r.y0-=n,r.y1-=n,i=l-2;i>=0;--i)(n=(r=t[i]).y1+s-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}function O(t){t.nodes.forEach((function(t){t.sourceLinks.sort(h),t.targetLinks.sort(f)})),t.nodes.forEach((function(t){var e=t.y0,r=e;t.sourceLinks.forEach((function(t){t.y0=e+t.width/2,e+=t.width})),t.targetLinks.forEach((function(t){t.y1=r+t.width/2,r+=t.width}))}))}return M.update=function(t){return O(t),t},M.nodeId=function(t){return arguments.length?(u="function"==typeof t?t:c(t),M):u},M.nodeAlign=function(t){return arguments.length?(w="function"==typeof t?t:c(t),M):w},M.nodeWidth=function(t){return arguments.length?(o=+t,M):o},M.nodePadding=function(t){return arguments.length?(s=+t,M):s},M.nodes=function(t){return arguments.length?(T="function"==typeof t?t:c(t),M):T},M.links=function(t){return arguments.length?(k="function"==typeof t?t:c(t),M):k},M.size=function(n){return arguments.length?(t=e=0,r=+n[0],a=+n[1],M):[r-t,a-e]},M.extent=function(n){return arguments.length?(t=+n[0][0],r=+n[1][0],e=+n[0][1],a=+n[1][1],M):[[t,e],[r,a]]},M.iterations=function(t){return arguments.length?(A=+t,M):A},M}var T=r(45879);function k(t){return[t.source.x1,t.y0]}function A(t){return[t.target.x0,t.y1]}function M(){return(0,T.h5)().source(k).target(A)}},39898:function(t,e,r){var n,i;(function(){var a={version:"3.8.0"},o=[].slice,s=function(t){return o.call(t)},l=self.document;function u(t){return t&&(t.ownerDocument||t.document||t).documentElement}function c(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(l)try{s(l.documentElement.childNodes)[0].nodeType}catch(t){s=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}),l)try{l.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var f=this.Element.prototype,h=f.setAttribute,p=f.setAttributeNS,d=this.CSSStyleDeclaration.prototype,v=d.setProperty;f.setAttribute=function(t,e){h.call(this,t,e+"")},f.setAttributeNS=function(t,e,r){p.call(this,t,e,r+"")},d.setProperty=function(t,e,r){v.call(this,t,e+"",r)}}function g(t,e){return te?1:t>=e?0:NaN}function y(t){return null===t?NaN:+t}function m(t){return!isNaN(t)}function x(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>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>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}a.ascending=g,a.descending=function(t,e){return et?1:e>=t?0:NaN},a.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},a.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},a.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},a.deviation=function(){var t=a.variance.apply(this,arguments);return t?Math.sqrt(t):t};var b=x(g);function _(t){return t.length}a.bisectLeft=b.left,a.bisect=a.bisectRight=b.right,a.bisector=function(t){return x(1===t.length?function(e,r){return g(t(e),r)}:t)},a.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},a.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},a.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var w=Math.abs;function T(t){for(var e=1;t*e%1;)e*=10;return e}function k(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function A(){this._=Object.create(null)}function M(t){return"__proto__"==(t+="")||"\0"===t[0]?"\0"+t:t}function S(t){return"\0"===(t+="")[0]?t.slice(1):t}function E(t){return M(t)in this._}function L(t){return(t=M(t))in this._&&delete this._[t]}function C(){var t=[];for(var e in this._)t.push(S(e));return t}function O(){var t=0;for(var e in this._)++t;return t}function P(){for(var t in this._)return!1;return!0}function I(){this._=Object.create(null)}function D(t){return t}function z(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function R(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=F.length;re;)i.push(n/a);else for(;(n=t+r*++o)=n.length)return e?e.call(r,a):t?a.sort(t):a;for(var l,u,c,f,h=-1,p=a.length,d=n[s++],v=new A;++h=n.length)return t;var r=[],a=i[e++];return t.forEach((function(t,n){r.push({key:t,values:s(n,e)})})),a?r.sort((function(t,e){return a(t.key,e.key)})):r}return r.map=function(t,e){return o(e,t,0)},r.entries=function(t){return s(o(a.map,t,0),0)},r.key=function(t){return n.push(t),r},r.sortKeys=function(t){return i[n.length-1]=t,r},r.sortValues=function(e){return t=e,r},r.rollup=function(t){return e=t,r},r},a.set=function(t){var e=new I;if(t)for(var r=0,n=t.length;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}},a.event=null,a.requote=function(t){return t.replace(q,"\\$&")};var q=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,G={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function Z(t){return G(t,J),t}var W=function(t,e){return e.querySelector(t)},Y=function(t,e){return e.querySelectorAll(t)},X=function(t,e){var r=t.matches||t[R(t,"matchesSelector")];return X=function(t,e){return r.call(t,e)},X(t,e)};"function"==typeof Sizzle&&(W=function(t,e){return Sizzle(t,e)[0]||null},Y=Sizzle,X=Sizzle.matchesSelector),a.selection=function(){return a.select(l.documentElement)};var J=a.selection.prototype=[];function K(t){return"function"==typeof t?t:function(){return W(t,this)}}function $(t){return"function"==typeof t?t:function(){return Y(t,this)}}J.select=function(t){var e,r,n,i,a=[];t=K(t);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),tt.hasOwnProperty(r)?{space:tt[r],local:t}:t}},J.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node();return(t=a.ns.qualify(t)).local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(et(e,t[e]));return this}return this.each(et(t,e))},J.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=it(t)).length,i=-1;if(e=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},J.sort=function(t){t=pt.apply(this,arguments);for(var e=-1,r=this.length;++e=e&&(e=i+1);!(o=s[e])&&++e0&&(t=t.slice(0,i));var l=xt.get(t);function u(){var e=this[n];e&&(this.removeEventListener(t,e,e.$),delete this[n])}return l&&(t=l,o=_t),i?e?function(){var i=o(e,s(arguments));u.call(this),this.addEventListener(t,this[n]=i,i.$=r),i._=e}:u:e?B:function(){var e,r=new RegExp("^__on([^.]+)"+a.requote(t)+"$");for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}}a.selection.enter=vt,a.selection.enter.prototype=gt,gt.append=J.append,gt.empty=J.empty,gt.node=J.node,gt.call=J.call,gt.size=J.size,gt.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s1?Pt:t<-1?-Pt:Math.asin(t)}function Rt(t){return((t=Math.exp(t))+1/t)/2}var Ft=Math.SQRT2;a.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,f=l-a,h=c*c+f*f;if(h<1e-12)n=Math.log(u/o)/Ft,r=function(t){return[i+t*c,a+t*f,o*Math.exp(Ft*t*n)]};else{var p=Math.sqrt(h),d=(u*u-o*o+4*h)/(2*o*2*p),v=(u*u-o*o-4*h)/(2*u*2*p),g=Math.log(Math.sqrt(d*d+1)-d),y=Math.log(Math.sqrt(v*v+1)-v);n=(y-g)/Ft,r=function(t){var e,r=t*n,s=Rt(g),l=o/(2*p)*(s*(e=Ft*r+g,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(g));return[i+l*c,a+l*f,o*s/Rt(Ft*r+g)]}}return r.duration=1e3*n,r},a.behavior.zoom=function(){var t,e,r,n,i,o,s,u,f,h={x:0,y:0,k:1},p=[960,500],d=jt,v=250,g=0,y="mousedown.zoom",m="mousemove.zoom",x="mouseup.zoom",b="touchstart.zoom",_=H(w,"zoomstart","zoom","zoomend");function w(t){t.on(y,O).on(Nt+".zoom",I).on("dblclick.zoom",D).on(b,P)}function T(t){return[(t[0]-h.x)/h.k,(t[1]-h.y)/h.k]}function k(t){h.k=Math.max(d[0],Math.min(d[1],t))}function A(t,e){e=function(t){return[t[0]*h.k+h.x,t[1]*h.k+h.y]}(e),h.x+=t[0]-e[0],h.y+=t[1]-e[1]}function M(t,r,n,i){t.__chart__={x:h.x,y:h.y,k:h.k},k(Math.pow(2,i)),A(e=r,n),t=a.select(t),v>0&&(t=t.transition().duration(v)),t.call(w.event)}function S(){s&&s.domain(o.range().map((function(t){return(t-h.x)/h.k})).map(o.invert)),f&&f.domain(u.range().map((function(t){return(t-h.y)/h.k})).map(u.invert))}function E(t){g++||t({type:"zoomstart"})}function L(t){S(),t({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function C(t){--g||(t({type:"zoomend"}),e=null)}function O(){var t=this,e=_.of(t,arguments),r=0,n=a.select(c(t)).on(m,s).on(x,l),i=T(a.mouse(t)),o=kt(t);function s(){r=1,A(a.mouse(t),i),L(e)}function l(){n.on(m,null).on(x,null),o(r),C(e)}$i.call(t),E(e)}function P(){var t,e=this,r=_.of(e,arguments),n={},o=0,s=".zoom-"+a.event.changedTouches[0].identifier,l="touchmove"+s,u="touchend"+s,c=[],f=a.select(e),p=kt(e);function d(){var r=a.touches(e);return t=h.k,r.forEach((function(t){t.identifier in n&&(n[t.identifier]=T(t))})),r}function v(){var t=a.event.target;a.select(t).on(l,g).on(u,m),c.push(t);for(var r=a.event.changedTouches,s=0,f=r.length;s1){y=p[0];var x=p[1],b=y[0]-x[0],_=y[1]-x[1];o=b*b+_*_}}function g(){var s,l,u,c,f=a.touches(e);$i.call(e);for(var h=0,p=f.length;h360?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)||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 ie(a(t+120),a(t),a(t-120))}function Gt(t,e,r){return this instanceof Gt?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length<2?t instanceof Gt?new Gt(t.h,t.c,t.l):te(t instanceof Yt?t.l:(t=fe((t=a.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new Gt(t,e,r)}Ht.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Vt(this.h,this.s,this.l/t)},Ht.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Vt(this.h,this.s,t*this.l)},Ht.rgb=function(){return qt(this.h,this.s,this.l)},a.hcl=Gt;var Zt=Gt.prototype=new Ut;function Wt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Yt(r,Math.cos(t*=It)*e,Math.sin(t)*e)}function Yt(t,e,r){return this instanceof Yt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Yt?new Yt(t.l,t.a,t.b):t instanceof Gt?Wt(t.h,t.c,t.l):fe((t=ie(t)).r,t.g,t.b):new Yt(t,e,r)}Zt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Xt*(arguments.length?t:1)))},Zt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Xt*(arguments.length?t:1)))},Zt.rgb=function(){return Wt(this.h,this.c,this.l).rgb()},a.lab=Yt;var Xt=18,Jt=.95047,Kt=1.08883,$t=Yt.prototype=new Ut;function Qt(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ie(ne(3.2404542*(i=ee(i)*Jt)-1.5371385*(n=1*ee(n))-.4985314*(a=ee(a)*Kt)),ne(-.969266*i+1.8760108*n+.041556*a),ne(.0556434*i-.2040259*n+1.0572252*a))}function te(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Dt,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function ee(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function re(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ne(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ie(t,e,r){return this instanceof ie?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ie?new ie(t.r,t.g,t.b):ue(""+t,ie,qt):new ie(t,e,r)}function ae(t){return new ie(t>>16,t>>8&255,255&t)}function oe(t){return ae(t)+""}$t.brighter=function(t){return new Yt(Math.min(100,this.l+Xt*(arguments.length?t:1)),this.a,this.b)},$t.darker=function(t){return new Yt(Math.max(0,this.l-Xt*(arguments.length?t:1)),this.a,this.b)},$t.rgb=function(){return Qt(this.l,this.a,this.b)},a.rgb=ie;var se=ie.prototype=new Ut;function le(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(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(pe(i[0]),pe(i[1]),pe(i[2]))}return(a=de.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 ce(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+(e0&&l<1?0:n),new Vt(n,i,l)}function fe(t,e,r){var n=re((.4124564*(t=he(t))+.3575761*(e=he(e))+.1804375*(r=he(r)))/Jt),i=re((.2126729*t+.7151522*e+.072175*r)/1);return Yt(116*i-16,500*(n-i),200*(i-re((.0193339*t+.119192*e+.9503041*r)/Kt)))}function he(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function pe(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}se.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=200&&e<300||304===e){try{t=r.call(i,u)}catch(t){return void o.error.call(i,t)}o.load.call(i,t)}else o.error.call(i,u)}return self.XDomainRequest&&!("withCredentials"in u)&&/^(http(s)?:)?\/\//.test(t)&&(u=new XDomainRequest),"onload"in u?u.onload=u.onerror=f:u.onreadystatechange=function(){u.readyState>3&&f()},u.onprogress=function(t){var e=a.event;a.event=t;try{o.progress.call(i,u)}finally{a.event=e}},i.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",i)},i.mimeType=function(t){return arguments.length?(e=null==t?null:t+"",i):e},i.responseType=function(t){return arguments.length?(c=t,i):c},i.response=function(t){return r=t,i},["get","post"].forEach((function(t){i[t]=function(){return i.send.apply(i,[t].concat(s(arguments)))}})),i.send=function(r,n,a){if(2===arguments.length&&"function"==typeof n&&(a=n,n=null),u.open(r,t,!0),null==e||"accept"in l||(l.accept=e+",*/*"),u.setRequestHeader)for(var s in l)u.setRequestHeader(s,l[s]);return null!=e&&u.overrideMimeType&&u.overrideMimeType(e),null!=c&&(u.responseType=c),null!=a&&i.on("error",a).on("load",(function(t){a(null,t)})),o.beforesend.call(i,u),u.send(null==n?null:n),i},i.abort=function(){return u.abort(),i},a.rebind(i,o,"on"),null==n?i:i.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(n))}de.forEach((function(t,e){de.set(t,ae(e))})),a.functor=ve,a.xhr=ge(D),a.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=function(e){for(var r={},n=t.length,i=0;i=l)return o;if(i)return i=!1,a;var e=u;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(_e),_e=setTimeout(ke,e)),be=0):(be=1,we(ke))}function Ae(){for(var t=Date.now(),e=me;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Me(){for(var t,e=me,r=1/0;e;)e.c?(e.t1&&(e=t[a[o-2]],r=t[a[o-1]],n=t[s],(r[0]-e[0])*(n[1]-e[1])-(r[1]-e[1])*(n[0]-e[0])<=0);)--o;a[o++]=s}return a.slice(0,o)}function Ce(t,e){return t[0]-e[0]||t[1]-e[1]}a.timer=function(){Te.apply(this,arguments)},a.timer.flush=function(){Ae(),Me()},a.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)},a.geom={},a.geom.hull=function(t){var e=Se,r=Ee;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=0;--n)p.push(t[s[u[n]][2]]);for(n=+f;nEt)s=s.L;else{if(!((i=a-Ye(s,o))>Et)){n>-Et?(e=s.P,r=s):i>-Et?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=He(t);if(Fe.insert(e,l),e||r){if(e===r)return Qe(e),r=He(e.site),Fe.insert(l,r),l.edge=r.edge=rr(e.site,l.site),$e(e),void $e(r);if(r){Qe(e),Qe(r);var u=e.site,c=u.x,f=u.y,h=t.x-c,p=t.y-f,d=r.site,v=d.x-c,g=d.y-f,y=2*(h*g-p*v),m=h*h+p*p,x=v*v+g*g,b={x:(g*m-p*x)/y+c,y:(h*x-v*m)/y+f};nr(r.edge,u,d,b),l.edge=rr(u,t,null,b),r.edge=rr(t,d,null,b),$e(e),$e(r)}else l.edge=rr(e.site,l.site)}}function We(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,f=1/a-1/u,h=c/u;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*u)-l+u/2+i-a/2)))/f+n:(n+s)/2}function Ye(t,e){var r=t.N;if(r)return We(r,e);var n=t.site;return n.y===e?n.x:1/0}function Xe(t){this.site=t,this.edges=[]}function Je(t,e){return e.angle-t.angle}function Ke(){or(this),this.x=this.y=this.arc=this.site=this.cy=null}function $e(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,f=2*(l*(g=a.y-s)-u*c);if(!(f>=-1e-12)){var h=l*l+u*u,p=c*c+g*g,d=(g*h-u*p)/f,v=(l*p-c*h)/f,g=v+s,y=Ue.pop()||new Ke;y.arc=t,y.site=i,y.x=d+o,y.y=g+Math.sqrt(d*d+v*v),y.cy=g,t.circle=y;for(var m=null,x=Ne._;x;)if(y.y=s)return;if(h>d){if(a){if(a.y>=u)return}else a={x:g,y:l};r={x:g,y:u}}else{if(a){if(a.y1)if(h>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=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x0)){if(e/=h,h<0){if(e0){if(e>f)return;e>c&&(c=e)}if(e=i-l,h||!(e<0)){if(e/=h,h<0){if(e>f)return;e>c&&(c=e)}else if(h>0){if(e0)){if(e/=p,p<0){if(e0){if(e>f)return;e>c&&(c=e)}if(e=a-u,p||!(e<0)){if(e/=p,p<0){if(e>f)return;e>c&&(c=e)}else if(p>0){if(e0&&(t.a={x:l+c*h,y:u+c*p}),f<1&&(t.b={x:l+f*h,y:u+f*p}),t}}}}}),l=o.length;l--;)(!tr(e=o[l],t)||!s(e)||w(e.a.x-e.b.x)Et||w(i-r)>Et)&&(s.splice(o,0,new ir((y=a.site,m=c,x=w(n-f)Et?{x:f,y:w(e-f)Et?{x:w(r-d)Et?{x:h,y:w(e-h)Et?{x:w(r-p)=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)/Et)*Et,y:Math.round(i(t,e)/Et)*Et,i:e}}))}return o.links=function(t){return cr(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 cr(s(t)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,u=r.edges.sort(Je),c=-1,f=u.length,h=u[f-1].edge,p=h.l===l?h.r:h.l;++ca||f>o||h=_)<<1|e>=b,T=w+4;wa&&(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:xr(r,n)})),a=wr.lastIndex;return av&&(v=l.x),l.y>g&&(g=l.y),u.push(l.x),c.push(l.y);else for(f=0;fv&&(v=x),b>g&&(g=b),u.push(x),c.push(b)}var _=v-p,T=g-d;function k(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(w(l-r)+w(u-n)<.01)A(t,e,r,n,i,a,o,s);else{var c=t.point;t.x=t.y=t.point=null,A(t,c,l,u,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),u=.5*(a+s),c=r>=l,f=n>=u,h=f<<1|c;t.leaf=!1,c?i=l:o=l,f?a=u:s=u,k(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,i,a,o,s)}_>T?g=d+_:v=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(M,t,+y(t,++f),+m(t,f),p,d,v,g)},visit:function(t){vr(t,M,p,d,v,g)},find:function(t){return gr(M,t[0],t[1],p,d,v,g)}};if(f=-1,null==e){for(;++f=0&&!(r=a.interpolators[n](t,e)););return r}function kr(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1?1:t(e)}}function Lr(t){return function(e){return 1-t(1-e)}}function Cr(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Or(t){return t*t}function Pr(t){return t*t*t}function Ir(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 Dr(t){return 1-Math.cos(t*Pt)}function zr(t){return Math.pow(2,10*(t-1))}function Rr(t){return 1-Math.sqrt(1-t*t)}function Fr(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 Br(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Nr(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=Ur(i),s=jr(i,a),l=Ur(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]=0?t.slice(0,e):t,n=e>=0?t.slice(e+1):"in";return r=Mr.get(r)||Ar,Er((n=Sr.get(n)||D)(r.apply(null,o.call(arguments,1))))},a.interpolateHcl=function(t,e){t=a.hcl(t),e=a.hcl(e);var r=t.h,n=t.c,i=t.l,o=e.h-r,s=e.c-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.c:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Wt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateHsl=function(t,e){t=a.hsl(t),e=a.hsl(e);var r=t.h,n=t.s,i=t.l,o=e.h-r,s=e.s-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.s:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return qt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateLab=function(t,e){t=a.lab(t),e=a.lab(e);var r=t.l,n=t.a,i=t.b,o=e.l-r,s=e.a-n,l=e.b-i;return function(t){return Qt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateRound=Br,a.transform=function(t){var e=l.createElementNS(a.ns.prefix.svg,"g");return(a.transform=function(t){if(null!=t){e.setAttribute("transform",t);var r=e.transform.baseVal.consolidate()}return new Nr(r?r.matrix:Vr)})(t)},Nr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var Vr={a:1,b:0,c:0,d:1,e:0,f:0};function Hr(t){return t.length?t.pop()+",":""}function qr(t,e){var r=[],n=[];return t=a.transform(t),e=a.transform(e),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:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(t.translate,e.translate,r,n),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(Hr(r)+"rotate(",null,")")-2,x:xr(t,e)})):e&&r.push(Hr(r)+"rotate("+e+")")}(t.rotate,e.rotate,r,n),function(t,e,r,n){t!==e?n.push({i:r.push(Hr(r)+"skewX(",null,")")-2,x:xr(t,e)}):e&&r.push(Hr(r)+"skewX("+e+")")}(t.skew,e.skew,r,n),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(Hr(r)+"scale(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(Hr(r)+"scale("+e+")")}(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i0?r=e:(t.c=null,t.t=NaN,t=null,l.end({type:"end",alpha:r=0})):e>0&&(l.start({type:"start",alpha:r=e}),t=Te(s.tick)),s):r},s.start=function(){var t,e,r,a=y.length,l=m.length,c=u[0],d=u[1];for(t=0;t=0;)r.push(i[n])}function on(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=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 on(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&&(an(t,(function(t){t.children&&(t.value=0)})),on(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},a.layout.partition=function(){var t=a.layout.hierarchy(),e=[1,1];function r(t,e,n,i){var a=t.children;if(t.x=e,t.y=t.depth*i,t.dx=n,t.dy=i,a&&(o=a.length)){var o,s,l,u=-1;for(n=t.value?n/t.value:0;++us&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=e);return n}function bn(t){return t.reduce(_n,0)}function _n(t,e){return t+e[1]}function wn(t,e){return Tn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Tn(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 kn(t){return[a.min(t),a.max(t)]}function An(t,e){return t.value-e.value}function Mn(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Sn(t,e){t._pack_next=e,e._pack_prev=t}function En(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 Ln(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,u=1/0,c=-1/0,f=1/0,h=-1/0;if(e.forEach(Cn),(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(In(r,n,i=e[2]),x(i),Mn(r,i),r._pack_prev=i,Mn(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=f[0]&&l<=f[1]&&((s=u[a.bisect(h,l,1,d)-1]).y+=v,s.push(i[o]));return u}return i.value=function(t){return arguments.length?(e=t,i):e},i.range=function(t){return arguments.length?(r=ve(t),i):r},i.bins=function(t){return arguments.length?(n="number"==typeof t?function(e){return Tn(e,t)}:ve(t),i):n},i.frequency=function(e){return arguments.length?(t=!!e,i):t},i},a.layout.pack=function(){var t,e=a.layout.hierarchy().sort(An),r=0,n=[1,1];function i(i,a){var o=e.call(this,i,a),s=o[0],l=n[0],u=n[1],c=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(s.x=s.y=0,on(s,(function(t){t.r=+c(t.value)})),on(s,Ln),r){var f=r*(t?1:Math.max(2*s.r/l,2*s.r/u))/2;on(s,(function(t){t.r+=f})),on(s,Ln),on(s,(function(t){t.r-=f}))}return Pn(s,l/2,u/2,t?1:1/Math.max(2*s.r/l,2*s.r/u)),o}return i.size=function(t){return arguments.length?(n=t,i):n},i.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,i):t},i.padding=function(t){return arguments.length?(r=+t,i):r},nn(i,e)},a.layout.tree=function(){var t=a.layout.hierarchy().sort(null).value(null),e=Dn,r=[1,1],n=null;function i(i,a){var u=t.call(this,i,a),c=u[0],f=function(t){for(var e,r={A:null,children:[t]},n=[r];null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;op.x&&(p=t),t.depth>d.depth&&(d=t)}));var v=e(h,p)/2-h.x,g=r[0]/(p.x+e(p,h)/2+v),y=r[1]/(d.depth||1);an(c,(function(t){t.x=(t.x+v)*g,t.y=t.depth*y}))}return u}function o(t){var r=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(r.length){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(r[0].z+r[r.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,r,n){if(r){for(var i,a=t,o=t,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=Rn(s),a=zn(a),s&&a;)l=zn(l),(o=Rn(o)).a=t,(i=s.z+f-a.z-u+e(s._,a._))>0&&(Fn(Bn(s,t,n),t,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!Rn(o)&&(o.t=s,o.m+=f-c),a&&!zn(l)&&(l.t=a,l.m+=u-h,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*=r[0],t.y=t.depth*r[1]}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t)?l:null,i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null==(r=t)?null:l,i):n?r:null},nn(i,t)},a.layout.cluster=function(){var t=a.layout.hierarchy().sort(null).value(null),e=Dn,r=[1,1],n=!1;function i(i,o){var s,l=t.call(this,i,o),u=l[0],c=0;on(u,(function(t){var r=t.children;r&&r.length?(t.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(r),t.y=function(t){return 1+a.max(t,(function(t){return t.y}))}(r)):(t.x=s?c+=e(t,s):0,t.y=0,s=t)}));var f=Nn(u),h=jn(u),p=f.x-e(f,h)/2,d=h.x+e(h,f)/2;return on(u,n?function(t){t.x=(t.x-u.x)*r[0],t.y=(u.y-t.y)*r[1]}:function(t){t.x=(t.x-p)/(d-p)*r[0],t.y=(1-(u.y?t.y/u.y:1))*r[1]}),l}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t),i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null!=(r=t),i):n?r:null},nn(i,t)},a.layout.treemap=function(){var t,e=a.layout.hierarchy(),r=Math.round,n=[1,1],i=null,o=Un,s=!1,l="squarify",u=.5*(1+Math.sqrt(5));function c(t,e){for(var r,n,i=-1,a=t.length;++i0;)s.push(r=u[i-1]),s.area+=r.area,"squarify"!==l||(n=p(s,v))<=h?(u.pop(),h=n):(s.area-=s.pop().area,d(s,v,a,!1),v=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,v,a,!0),s.length=s.area=0),e.forEach(f)}}function h(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(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++oi&&(i=r));return e*=e,(n*=n)?Math.max(e*i*u/n,n/(e*a*u)):1/0}function d(t,e,n,i){var a,o=-1,s=t.length,l=n.x,u=n.y,c=e?r(t.area/e):0;if(e==n.dx){for((i||c>n.dy)&&(c=n.dy);++on.dx)&&(c=n.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=a.random.normal.apply(a,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=a.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r2?Xn:Gn,l=n?Zr:Gr;return i=o(t,e,l,r),a=o(e,t,l,Tr),s}function s(t){return i(t)}return s.invert=function(t){return a(t)},s.domain=function(e){return arguments.length?(t=e.map(Number),o()):t},s.range=function(t){return arguments.length?(e=t,o()):e},s.rangeRound=function(t){return s.range(t).interpolate(Br)},s.clamp=function(t){return arguments.length?(n=t,o()):n},s.interpolate=function(t){return arguments.length?(r=t,o()):r},s.ticks=function(e){return ti(t,e)},s.tickFormat=function(e,r){return d3_scale_linearTickFormat(t,e,r)},s.nice=function(e){return $n(t,e),o()},s.copy=function(){return Jn(t,e,r,n)},o()}function Kn(t,e){return a.rebind(t,e,"range","rangeRound","interpolate","clamp")}function $n(t,e){return Zn(t,Wn(Qn(t,e)[2])),Zn(t,Wn(Qn(t,e)[2])),t}function Qn(t,e){null==e&&(e=10);var r=Hn(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 ti(t,e){return a.range.apply(a,Qn(t,e))}function ei(t,e,r,n){function i(t){return(r?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]>=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Zn(n.map(i),r?Math:ri);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Hn(n),o=[],s=t[0],l=t[1],u=Math.floor(i(s)),c=Math.ceil(i(l)),f=e%1?2:e;if(isFinite(c-u)){if(r){for(;u0;h--)o.push(a(u)*h);for(u=0;o[u]l;c--);o=o.slice(u,c)}return o},o.copy=function(){return ei(t.copy(),e,r,n)},Kn(o,t)}a.scale.linear=function(){return Jn([0,1],[0,1],Tr,!1)},a.scale.log=function(){return ei(a.scale.linear().domain([0,1]),10,!0,[1,10])};var ri={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function ni(t,e,r){var n=ii(e),i=ii(1/e);function a(e){return t(n(e))}return a.invert=function(e){return i(t.invert(e))},a.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(n)),a):r},a.ticks=function(t){return ti(r,t)},a.tickFormat=function(t,e){return d3_scale_linearTickFormat(r,t,e)},a.nice=function(t){return a.domain($n(r,t))},a.exponent=function(o){return arguments.length?(n=ii(e=o),i=ii(1/e),t.domain(r.map(n)),a):e},a.copy=function(){return ni(t.copy(),e,r)},Kn(a,t)}function ii(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function ai(t,e){var r,n,i;function o(i){return n[((r.get(i)||("range"===e.t?r.set(i,t.push(i)):NaN))-1)%n.length]}function s(e,r){return a.range(t.length).map((function(t){return e+r*t}))}return o.domain=function(n){if(!arguments.length)return t;t=[],r=new A;for(var i,a=-1,s=n.length;++a0?r[n-1]:t[0],nf?0:1;if(u=Ot)return l(u,p)+(s?l(s,1-p):"")+"Z";var d,v,g,y,m,x,b,_,w,T,k,A,M=0,S=0,E=[];if((y=(+o.apply(this,arguments)||0)/2)&&(g=n===vi?Math.sqrt(s*s+u*u):+n.apply(this,arguments),p||(S*=-1),u&&(S=zt(g/u*Math.sin(y))),s&&(M=zt(g/s*Math.sin(y)))),u){m=u*Math.cos(c+S),x=u*Math.sin(c+S),b=u*Math.cos(f-S),_=u*Math.sin(f-S);var L=Math.abs(f-c-2*S)<=Lt?0:1;if(S&&_i(m,x,b,_)===p^L){var C=(c+f)/2;m=u*Math.cos(C),x=u*Math.sin(C),b=_=null}}else m=x=0;if(s){w=s*Math.cos(f-M),T=s*Math.sin(f-M),k=s*Math.cos(c+M),A=s*Math.sin(c+M);var O=Math.abs(c-f+2*M)<=Lt?0:1;if(M&&_i(w,T,k,A)===1-p^O){var P=(c+f)/2;w=s*Math.cos(P),T=s*Math.sin(P),k=A=null}}else w=T=0;if(h>Et&&(d=Math.min(Math.abs(u-s)/2,+r.apply(this,arguments)))>.001){v=s0?0:1}function wi(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,f=t[1]+u,h=e[0]+l,p=e[1]+u,d=(c+h)/2,v=(f+p)/2,g=h-c,y=p-f,m=g*g+y*y,x=r-n,b=c*p-h*f,_=(y<0?-1:1)*Math.sqrt(Math.max(0,x*x*m-b*b)),w=(b*y-g*_)/m,T=(-b*g-y*_)/m,k=(b*y+g*_)/m,A=(-b*g+y*_)/m,M=w-d,S=T-v,E=k-d,L=A-v;return M*M+S*S>E*E+L*L&&(w=k,T=A),[[w-l,T-u],[w*r/x,T*r/x]]}function Ti(){return!0}function ki(t){var e=Se,r=Ee,n=Ti,i=Mi,a=i.key,o=.7;function s(a){var s,l=[],u=[],c=-1,f=a.length,h=ve(e),p=ve(r);function d(){l.push("M",i(t(u),o))}for(;++c1&&i.push("H",n[0]),i.join("")},"step-before":Ei,"step-after":Li,basis:Pi,"basis-open":function(t){if(t.length<4)return Mi(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Ii(Ri,a)+","+Ii(Ri,o)),--n;++n9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Mi(t){return t.length>1?t.join("L"):t+"Z"}function Si(t){return t.join("L")+"Z"}function Ei(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e1){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;uLt)+",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},a.svg.diagonal=function(){var t=Ui,e=Vi,r=qi;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},a.svg.diagonal.radial=function(){var t=a.svg.diagonal(),e=qi,r=t.projection;return t.projection=function(t){return arguments.length?r(Gi(e=t)):e},t},a.svg.symbol=function(){var t=Wi,e=Zi;function r(r,n){return(Xi.get(t.call(this,r,n))||Yi)(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 Xi=a.map({circle:Yi,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*Ki)),r=e*Ki;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/Ji),r=e*Ji/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/Ji),r=e*Ji/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});a.svg.symbolTypes=Xi.keys();var Ji=Math.sqrt(3),Ki=Math.tan(30*It);J.transition=function(t){for(var e,r,n=ea||++ia,i=sa(t),a=[],o=ra||{time:Date.now(),ease:Ir,delay:0,duration:250},s=-1,l=this.length;++s0;)u[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--c.count?delete c[n]:delete t[r],1}f||(a=i.time,o=Te((function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h}),0,a),f=c[n]={tween:new A,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++c.count)}na.call=J.call,na.empty=J.empty,na.node=J.node,na.size=J.size,a.transition=function(t,e){return t&&t.transition?ea?t.transition(e):t:a.selection().transition(t)},a.transition.prototype=na,na.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=K(t);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",o[1]-o[0])}function v(t){t.select(".extent").attr("y",s[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",s[1]-s[0])}function g(){var f,g,y=this,m=a.select(a.event.target),x=r.of(y,arguments),b=a.select(y),_=m.datum(),w=!/^(n|s)$/.test(_)&&n,T=!/^(e|w)$/.test(_)&&i,k=m.classed("extent"),A=kt(y),M=a.mouse(y),S=a.select(c(y)).on("keydown.brush",C).on("keyup.brush",O);if(a.event.changedTouches?S.on("touchmove.brush",P).on("touchend.brush",D):S.on("mousemove.brush",P).on("mouseup.brush",D),b.interrupt().selectAll("*").interrupt(),k)M[0]=o[0]-M[0],M[1]=s[0]-M[1];else if(_){var E=+/w$/.test(_),L=+/^n/.test(_);g=[o[1-E]-M[0],s[1-L]-M[1]],M[0]=o[E],M[1]=s[L]}else a.event.altKey&&(f=M.slice());function C(){32==a.event.keyCode&&(k||(f=null,M[0]-=o[1],M[1]-=s[1],k=2),U())}function O(){32==a.event.keyCode&&2==k&&(M[0]+=o[1],M[1]+=s[1],k=0,U())}function P(){var t=a.mouse(y),e=!1;g&&(t[0]+=g[0],t[1]+=g[1]),k||(a.event.altKey?(f||(f=[(o[0]+o[1])/2,(s[0]+s[1])/2]),M[0]=o[+(t[0]>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?d=new(f(e.dtype))(g):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=g));for(var y=0;yr||s>1073741824){for(var h=0;he+n||T>r+n||k=M||a===o)){var s=m[i];void 0===o&&(o=s.length);for(var l=a;l=v&&c<=y&&f>=g&&f<=b&&S.push(u)}var h=x[i],p=h[4*a+0],d=h[4*a+1],_=h[4*a+2],E=h[4*a+3],O=C(h,a+1),P=.5*n,I=i+1;L(e,r,P,I,p,d||_||E||O),L(e,r+P,P,I,d,_||E||O),L(e+P,r,P,I,_,E||O),L(e+P,r+P,P,I,E,O)}}function C(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}return L(0,0,1,0,0,1),S},d;function E(t,e,r,i,a){for(var o=[],s=0;s0){e+=Math.abs(o(t[0]));for(var r=1;r2){for(l=0;l=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},60302:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(23132);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;st[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},27138:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(94228);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;s=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")},e.radians2degrees=function(){throw new Error("method has been renamed to `radiansToDegrees`")},e.degrees2radians=function(){throw new Error("method has been renamed to `degreesToRadians`")},e.distanceToDegrees=function(){throw new Error("method has been renamed to `lengthToDegrees`")},e.distanceToRadians=function(){throw new Error("method has been renamed to `lengthToRadians`")},e.radiansToDistance=function(){throw new Error("method has been renamed to `radiansToLength`")},e.bearingToAngle=function(){throw new Error("method has been renamed to `bearingToAzimuth`")},e.convertDistance=function(){throw new Error("method has been renamed to `convertLength`")}},88553:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(64182);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;si&&(i=t[o]),t[o]1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;it.length)&&(r=t.length),t.substring(r-e.length,r)===e}var y="",m="",x="",b="",_={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function w(t){var e=Object.keys(t),r=Object.create(Object.getPrototypeOf(t));return e.forEach((function(e){r[e]=t[e]})),Object.defineProperty(r,"message",{value:t.message}),r}function T(t){return d(t,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var k=function(t){function e(t){var r;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),"object"!==p(t)||null===t)throw new v("options","Object",t);var i=t.message,a=t.operator,l=t.stackStartFn,u=t.actual,c=t.expected,f=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=i)r=o(this,h(e).call(this,String(i)));else if(n.stderr&&n.stderr.isTTY&&(n.stderr&&n.stderr.getColorDepth&&1!==n.stderr.getColorDepth()?(y="",m="",b="",x=""):(y="",m="",b="",x="")),"object"===p(u)&&null!==u&&"object"===p(c)&&null!==c&&"stack"in u&&u instanceof Error&&"stack"in c&&c instanceof Error&&(u=w(u),c=w(c)),"deepStrictEqual"===a||"strictEqual"===a)r=o(this,h(e).call(this,function(t,e,r){var i="",a="",o=0,s="",l=!1,u=T(t),c=u.split("\n"),f=T(e).split("\n"),h=0,d="";if("strictEqual"===r&&"object"===p(t)&&"object"===p(e)&&null!==t&&null!==e&&(r="strictEqualObject"),1===c.length&&1===f.length&&c[0]!==f[0]){var v=c[0].length+f[0].length;if(v<=10){if(!("object"===p(t)&&null!==t||"object"===p(e)&&null!==e||0===t&&0===e))return"".concat(_[r],"\n\n")+"".concat(c[0]," !== ").concat(f[0],"\n")}else if("strictEqualObject"!==r&&v<(n.stderr&&n.stderr.isTTY?n.stderr.columns:80)){for(;c[0][h]===f[0][h];)h++;h>2&&(d="\n ".concat(function(t,e){if(e=Math.floor(e),0==t.length||0==e)return"";var r=t.length*e;for(e=Math.floor(Math.log(e)/Math.log(2));e;)t+=t,e--;return t+t.substring(0,r-t.length)}(" ",h),"^"),h=0)}}for(var w=c[c.length-1],k=f[f.length-1];w===k&&(h++<2?s="\n ".concat(w).concat(s):i=w,c.pop(),f.pop(),0!==c.length&&0!==f.length);)w=c[c.length-1],k=f[f.length-1];var A=Math.max(c.length,f.length);if(0===A){var M=u.split("\n");if(M.length>30)for(M[26]="".concat(y,"...").concat(b);M.length>27;)M.pop();return"".concat(_.notIdentical,"\n\n").concat(M.join("\n"),"\n")}h>3&&(s="\n".concat(y,"...").concat(b).concat(s),l=!0),""!==i&&(s="\n ".concat(i).concat(s),i="");var S=0,E=_[r]+"\n".concat(m,"+ actual").concat(b," ").concat(x,"- expected").concat(b),L=" ".concat(y,"...").concat(b," Lines skipped");for(h=0;h1&&h>2&&(C>4?(a+="\n".concat(y,"...").concat(b),l=!0):C>3&&(a+="\n ".concat(f[h-2]),S++),a+="\n ".concat(f[h-1]),S++),o=h,i+="\n".concat(x,"-").concat(b," ").concat(f[h]),S++;else if(f.length1&&h>2&&(C>4?(a+="\n".concat(y,"...").concat(b),l=!0):C>3&&(a+="\n ".concat(c[h-2]),S++),a+="\n ".concat(c[h-1]),S++),o=h,a+="\n".concat(m,"+").concat(b," ").concat(c[h]),S++;else{var O=f[h],P=c[h],I=P!==O&&(!g(P,",")||P.slice(0,-1)!==O);I&&g(O,",")&&O.slice(0,-1)===P&&(I=!1,P+=","),I?(C>1&&h>2&&(C>4?(a+="\n".concat(y,"...").concat(b),l=!0):C>3&&(a+="\n ".concat(c[h-2]),S++),a+="\n ".concat(c[h-1]),S++),o=h,a+="\n".concat(m,"+").concat(b," ").concat(P),i+="\n".concat(x,"-").concat(b," ").concat(O),S+=2):(a+=i,i="",1!==C&&0!==h||(a+="\n ".concat(P),S++))}if(S>20&&h30)for(k[26]="".concat(y,"...").concat(b);k.length>27;)k.pop();r=1===k.length?o(this,h(e).call(this,"".concat(d," ").concat(k[0]))):o(this,h(e).call(this,"".concat(d,"\n\n").concat(k.join("\n"),"\n")))}else{var A=T(u),M="",S=_[a];"notDeepEqual"===a||"notEqual"===a?(A="".concat(_[a],"\n\n").concat(A)).length>1024&&(A="".concat(A.slice(0,1021),"...")):(M="".concat(T(c)),A.length>512&&(A="".concat(A.slice(0,509),"...")),M.length>512&&(M="".concat(M.slice(0,509),"...")),"deepEqual"===a||"equal"===a?A="".concat(S,"\n\n").concat(A,"\n\nshould equal\n\n"):M=" ".concat(a," ").concat(M)),r=o(this,h(e).call(this,"".concat(A).concat(M)))}return Error.stackTraceLimit=f,r.generatedMessage=!i,Object.defineProperty(s(r),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),r.code="ERR_ASSERTION",r.actual=u,r.expected=c,r.operator=a,Error.captureStackTrace&&Error.captureStackTrace(s(r),l),r.stack,r.name="AssertionError",o(r)}var r,l;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&f(t,e)}(e,t),r=e,l=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:d.custom,value:function(t,e){return d(this,function(t){for(var e=1;e2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}u("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),u("ERR_INVALID_ARG_TYPE",(function(t,e,i){var a,s,l,u,f;if(void 0===o&&(o=r(32791)),o("string"==typeof t,"'name' must be a string"),"string"==typeof e&&(s="not ",e.substr(0,s.length)===s)?(a="must not be",e=e.replace(/^not /,"")):a="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))l="The ".concat(t," ").concat(a," ").concat(c(e,"type"));else{var h=("number"!=typeof f&&(f=0),f+".".length>(u=t).length||-1===u.indexOf(".",f)?"argument":"property");l='The "'.concat(t,'" ').concat(h," ").concat(a," ").concat(c(e,"type"))}return l+". Received type ".concat(n(i))}),TypeError),u("ERR_INVALID_ARG_VALUE",(function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===s&&(s=r(43827));var i=s.inspect(e);return i.length>128&&(i="".concat(i.slice(0,128),"...")),"The argument '".concat(t,"' ").concat(n,". Received ").concat(i)}),TypeError,RangeError),u("ERR_INVALID_RETURN_VALUE",(function(t,e,r){var i;return i=r&&r.constructor&&r.constructor.name?"instance of ".concat(r.constructor.name):"type ".concat(n(r)),"Expected ".concat(t,' to be returned from the "').concat(e,'"')+" function but got ".concat(i,".")}),TypeError),u("ERR_MISSING_ARGS",(function(){for(var t=arguments.length,e=new Array(t),n=0;n0,"At least one arg needs to be specified");var i="The ",a=e.length;switch(e=e.map((function(t){return'"'.concat(t,'"')})),a){case 1:i+="".concat(e[0]," argument");break;case 2:i+="".concat(e[0]," and ").concat(e[1]," arguments");break;default:i+=e.slice(0,a-1).join(", "),i+=", and ".concat(e[a-1]," arguments")}return"".concat(i," must be specified")}),TypeError),t.exports.codes=l},74061:function(t,e,r){"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||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||null==s.return||s.return()}finally{if(i)throw a}}return r}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}var a=void 0!==/a/g.flags,o=function(t){var e=[];return t.forEach((function(t){return e.push(t)})),e},s=function(t){var e=[];return t.forEach((function(t,r){return e.push([r,t])})),e},l=Object.is?Object.is:r(64003),u=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},c=Number.isNaN?Number.isNaN:r(15567);function f(t){return t.call.bind(t)}var h=f(Object.prototype.hasOwnProperty),p=f(Object.prototype.propertyIsEnumerable),d=f(Object.prototype.toString),v=r(43827).types,g=v.isAnyArrayBuffer,y=v.isArrayBufferView,m=v.isDate,x=v.isMap,b=v.isRegExp,_=v.isSet,w=v.isNativeError,T=v.isBoxedPrimitive,k=v.isNumberObject,A=v.isStringObject,M=v.isBooleanObject,S=v.isBigIntObject,E=v.isSymbolObject,L=v.isFloat32Array,C=v.isFloat64Array;function O(t){if(0===t.length||t.length>10)return!0;for(var e=0;e57)return!0}return 10===t.length&&t>=Math.pow(2,32)}function P(t){return Object.keys(t).filter(O).concat(u(t).filter(Object.prototype.propertyIsEnumerable.bind(t)))}function I(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i0?o-4:o;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===s&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===s&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,l=n-i;sl?l:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,s=a.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},91358:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},13547:function(t,e){"use strict";function r(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}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.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},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,1+((t|=t>>>8)|t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=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<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.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},e.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},e.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},e.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},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},44781:function(t,e,r){"use strict";var n=r(53435);t.exports=function(t,e){e||(e={});var r,o,s,l,u,c,f,h,p,d,v,g=null==e.cutoff?.25:e.cutoff,y=null==e.radius?8:e.radius,m=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,o=e.height,l=t,c=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(f=(h=t).getContext("2d"),r=h.width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(f=t,r=(h=t.canvas).width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,c=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(r*o),d=0,v=u.length;d-1?i(r):r}},68222:function(t,e,r){"use strict";var n=r(77575),i=r(68318),a=i("%Function.prototype.apply%"),o=i("%Function.prototype.call%"),s=i("%Reflect.apply%",!0)||n.call(o,a),l=i("%Object.getOwnPropertyDescriptor%",!0),u=i("%Object.defineProperty%",!0),c=i("%Math.max%");if(u)try{u({},"a",{value:1})}catch(t){u=null}t.exports=function(t){var e=s(n,o,arguments);if(l&&u){var r=l(e,"length");r.configurable&&u(e,"length",{value:1+c(0,t.length-(arguments.length-1))})}return e};var f=function(){return s(n,a,arguments)};u?u(t.exports,"apply",{value:f}):t.exports.apply=f},53435:function(t){t.exports=function(t,e,r){return er?r:t:te?e:t}},6475:function(t,e,r){"use strict";var n=r(53435);function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(255&n(o,0,255))}t.exports=i,t.exports.to=i,t.exports.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]}},76857:function(t){"use strict";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},25075:function(t,e,r){"use strict";var n=r(36652),i=r(53435),a=r(90660);t.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(a(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},90736:function(t,e,r){"use strict";var n=r(76857),i=r(10973),a=r(46775);t.exports=function(t){var e,s,l=[],u=1;if("string"==typeof t)if(n[t])l=n[t].slice(),s="rgb";else if("transparent"===t)u=0,s="rgb",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var c=(p=t.slice(1)).length;u=1,c<=4?(l=[parseInt(p[0]+p[0],16),parseInt(p[1]+p[1],16),parseInt(p[2]+p[2],16)],4===c&&(u=parseInt(p[3]+p[3],16)/255)):(l=[parseInt(p[0]+p[1],16),parseInt(p[2]+p[3],16),parseInt(p[4]+p[5],16)],8===c&&(u=parseInt(p[6]+p[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var f=e[1],h="rgb"===f,p=f.replace(/a$/,"");s=p,c="cmyk"===p?4:"gray"===p?1:3,l=e[2].trim().split(/\s*,\s*/).map((function(t,e){if(/%$/.test(t))return e===c?parseFloat(t)/100:"rgb"===p?255*parseFloat(t)/100:parseFloat(t);if("h"===p[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)})),f===p&&l.push(1),u=h||void 0===l[c]?1:l[c],l=l.slice(0,c)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),s=t.match(/([a-z])/gi).join("").toLowerCase());else if(isNaN(t))if(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s="rgb",l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s="hsl",l=[a(t.h,t.hue,t.H),a(t.s,t.saturation,t.S),a(t.l,t.lightness,t.L,t.b,t.brightness)]),u=a(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(u/=100)}else(Array.isArray(t)||r.g.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s="rgb",u=4===t.length?t[3]:1);else s="rgb",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:u}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}},36652:function(t,e,r){"use strict";var n=r(90736),i=r(80009),a=r(53435);t.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),"h"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},80009:function(t,e,r){"use strict";var n=r(6866);t.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];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}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},6866:function(t){"use strict";t.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},24138:function(t){t.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|ç)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|é)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|é)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|ã)o.?tom(e|é)",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"}},72791:function(t,e,r){"use strict";t.exports={parse:r(41004),stringify:r(53313)}},63625:function(t,e,r){"use strict";var n=r(40402);t.exports={isSize:function(t){return/^[\d\.]/.test(t)||-1!==t.indexOf("/")||-1!==n.indexOf(t)}}},41004:function(t,e,r){"use strict";var n=r(90448),i=r(38732),a=r(41901),o=r(15659),s=r(96209),l=r(83794),u=r(99011),c=r(63625).isSize;t.exports=h;var f=h.cache={};function h(t){if("string"!=typeof t)throw new Error("Font argument must be a string.");if(f[t])return f[t];if(""===t)throw new Error("Cannot parse an empty string.");if(-1!==a.indexOf(t))return f[t]={system:t};for(var e,r={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},h=u(t,/\s+/);e=h.shift();){if(-1!==i.indexOf(e))return["style","variant","weight","stretch"].forEach((function(t){r[t]=e})),f[t]=r;if(-1===s.indexOf(e))if("normal"!==e&&"small-caps"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(c(e)){var d=u(e,"/");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):"/"===h[0]&&(h.shift(),r.lineHeight=p(h.shift())),!h.length)throw new Error("Missing required font-family.");return r.family=u(h.join(" "),/\s*,\s*/).map(n),f[t]=r}throw new Error("Unknown or unsupported font token: "+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error("Missing required font-size.")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},53313:function(t,e,r){"use strict";var n=r(71299),i=r(63625).isSize,a=d(r(38732)),o=d(r(41901)),s=d(r(15659)),l=d(r(96209)),u=d(r(83794)),c={normal:1,"small-caps":1},f={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},h="serif";function p(t,e){if(t&&!e[t]&&!a[t])throw Error("Unknown keyword `"+t+"`");return t}function d(t){for(var e={},r=0;re?1:t>=e?0:NaN}r.d(e,{j2:function(){return n},Fp:function(){return s},J6:function(){return u},TS:function(){return c},VV:function(){return f},w6:function(){return h},Sm:function(){return p}}),1===(i=n).length&&(a=i,i=function(t,e){return n(a(t),e)});var i,a,o=Array.prototype;function s(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n}function l(t){return null===t?NaN:+t}function u(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r}function f(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n}function h(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=n.length)return null!=t&&r.sort(t),null!=e?e(r):r;for(var u,c,f,h=-1,p=r.length,d=n[i++],v=o(),g=s();++hn.length)return t;var a,o=i[r-1];return null!=e&&r>=n.length?a=t.entries():(a=[],t.each((function(t,e){a.push({key:e,values:s(t,r)})}))),null!=o?a.sort((function(t,e){return o(t.key,e.key)})):a}return r={object:function(t){return a(t,0,l,u)},map:function(t){return a(t,0,c,f)},entries:function(t){return s(a(t,0,c,f),0)},key:function(t){return n.push(t),r},sortKeys:function(t){return i[n.length-1]=t,r},sortValues:function(e){return t=e,r},rollup:function(t){return e=t,r}}}function l(){return{}}function u(t,e,r){t[e]=r}function c(){return o()}function f(t,e,r){t.set(e,r)}function h(){}var p=o.prototype;h.prototype=function(t,e){var r=new h;if(t instanceof h)t.each((function(t){r.add(t)}));else if(t){var n=-1,i=t.length;if(null==e)for(;++n=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o,i=p,!(p=p[f=c<<1|u]))return i[f]=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[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(u=e>=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o}while((f=c<<1|u)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}function s(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i}function l(t){return t[0]}function u(t){return t[1]}function c(t,e,r){var n=new f(null==e?l:e,null==r?u:r,NaN,NaN,NaN,NaN);return null==t?n:n.addAll(t)}function f(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 h(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}r.r(e),r.d(e,{forceCenter:function(){return n},forceCollide:function(){return g},forceLink:function(){return b},forceManyBody:function(){return X},forceRadial:function(){return J},forceSimulation:function(){return Y},forceX:function(){return K},forceY:function(){return $}});var p=c.prototype=f.prototype;function d(t){return t.x+t.vx}function v(t){return t.y+t.vy}function g(t){var e,r,n=1,o=1;function s(){for(var t,i,s,u,f,h,p,g=e.length,y=0;yu+d||if+d||os.index){var v=u-l.x-l.vx,g=f-l.y-l.vy,y=v*v+g*g;yt.r&&(t.r=t[e].r)}function u(){if(e){var n,i,a=e.length;for(r=new Array(a),n=0;nf&&(f=n),ih&&(h=i));if(u>f||c>h)return this;for(this.cover(u,c).cover(f,h),r=0;rt||t>=i||n>e||e>=a;)switch(s=(ep||(a=u.y0)>d||(o=u.x1)=m)<<1|t>=y)&&(u=v[v.length-1],v[v.length-1]=v[v.length-1-c],v[v.length-1-c]=u)}else{var x=t-+this._x.call(null,g.data),b=e-+this._y.call(null,g.data),_=x*x+b*b;if(_=(s=(d+g)/2))?d=s:g=s,(c=o>=(l=(v+y)/2))?v=l:y=l,e=p,!(p=p[f=c<<1|u]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}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[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},p.removeAll=function(t){for(var e=0,r=t.length;e=0&&(r=t.slice(n+1),t=t.slice(0,n)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:r}}))}function A(t,e){for(var r,n=0,i=t.length;n0)for(var r,n,i=new Array(r),a=0;a=0&&e._call.call(null,t),e=e._next;--C}()}finally{C=0,function(){for(var t,e,r=S,n=1/0;r;)r._call?(n>r._time&&(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:S=e);E=t,q(n)}(),D=0}}function H(){var t=R.now(),e=t-I;e>1e3&&(z-=e,I=t)}function q(t){C||(O&&(O=clearTimeout(O)),t-D>24?(t<1/0&&(O=setTimeout(V,t-R.now()-z)),P&&(P=clearInterval(P))):(P||(I=R.now(),P=setInterval(H,1e3)),C=1,F(V)))}function G(t){return t.x}function Z(t){return t.y}j.prototype=U.prototype={constructor:j,restart:function(t,e,r){if("function"!=typeof t)throw new TypeError("callback is not a function");r=(null==r?B():+r)+(null==e?0:+e),this._next||E===this||(E?E._next=this:S=this,E=this),this._call=t,this._time=r,q()},stop:function(){this._call&&(this._call=null,this._time=1/0,q())}};var W=Math.PI*(3-Math.sqrt(5));function Y(t){var e,r=1,n=.001,i=1-Math.pow(n,1/300),a=0,o=.6,s=(0,y.UI)(),l=U(c),u=L("tick","end");function c(){f(),u.call("tick",e),r1?(null==r?s.remove(t):s.set(t,p(r)),e):s.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;u1?(u.on(t,r),e):u.on(t)}}}function X(){var t,e,r,n,o=i(-30),s=1,l=1/0,u=.81;function f(n){var i,a=t.length,o=c(t,G,Z).visitAfter(p);for(r=n,i=0;i=l)){(t.data!==e||t.next)&&(0===f&&(d+=(f=a())*f),0===h&&(d+=(h=a())*h),d1?n[0]+n.slice(2):n,+t.slice(r+1)]}r.d(e,{WU:function(){return h},FF:function(){return v}});var i,a=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(t){if(!(e=a.exec(t)))throw new Error("invalid format: "+t);var e;return new s({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function s(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function l(t,e){var r=n(t,e);if(!r)return t+"";var i=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+i:i.length>a+1?i.slice(0,a+1)+"."+i.slice(a+1):i+new Array(a-i.length+2).join("0")}o.prototype=s.prototype,s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var u={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return l(100*t,e)},r:l,s:function(t,e){var r=n(t,e);if(!r)return t+"";var a=r[0],o=r[1],s=o-(i=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+new Array(s-l+1).join("0"):s>0?a.slice(0,s)+"."+a.slice(s):"0."+new Array(1-s).join("0")+n(t,Math.max(0,e+s-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function c(t){return t}var f,h,p=Array.prototype.map,d=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function v(t){var e,r,a=void 0===t.grouping||void 0===t.thousands?c:(e=p.call(t.grouping,Number),r=t.thousands+"",function(t,n){for(var i=t.length,a=[],o=0,s=e[0],l=0;i>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)>n));)s=e[o=(o+1)%e.length];return a.reverse().join(r)}),s=void 0===t.currency?"":t.currency[0]+"",l=void 0===t.currency?"":t.currency[1]+"",f=void 0===t.decimal?".":t.decimal+"",h=void 0===t.numerals?c:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(p.call(t.numerals,String)),v=void 0===t.percent?"%":t.percent+"",g=void 0===t.minus?"-":t.minus+"",y=void 0===t.nan?"NaN":t.nan+"";function m(t){var e=(t=o(t)).fill,r=t.align,n=t.sign,c=t.symbol,p=t.zero,m=t.width,x=t.comma,b=t.precision,_=t.trim,w=t.type;"n"===w?(x=!0,w="g"):u[w]||(void 0===b&&(b=12),_=!0,w="g"),(p||"0"===e&&"="===r)&&(p=!0,e="0",r="=");var T="$"===c?s:"#"===c&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",k="$"===c?l:/[%p]/.test(w)?v:"",A=u[w],M=/[defgprs%]/.test(w);function S(t){var o,s,l,u=T,c=k;if("c"===w)c=A(t)+c,t="";else{var v=(t=+t)<0||1/t<0;if(t=isNaN(t)?y:A(Math.abs(t),b),_&&(t=function(t){t:for(var e,r=t.length,n=1,i=-1;n0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),v&&0==+t&&"+"!==n&&(v=!1),u=(v?"("===n?n:g:"-"===n||"("===n?"":n)+u,c=("s"===w?d[8+i/3]:"")+c+(v&&"("===n?")":""),M)for(o=-1,s=t.length;++o(l=t.charCodeAt(o))||l>57){c=(46===l?f+t.slice(o+1):t.slice(o))+c,t=t.slice(0,o);break}}x&&!p&&(t=a(t,1/0));var S=u.length+t.length+c.length,E=S>1)+u+t+c+E.slice(S);break;default:t=E+u+t+c}return h(t)}return b=void 0===b?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),S.toString=function(){return t+""},S}return{format:m,formatPrefix:function(t,e){var r,i=m(((t=o(t)).type="f",t)),a=3*Math.max(-8,Math.min(8,Math.floor((r=e,((r=n(Math.abs(r)))?r[1]:NaN)/3)))),s=Math.pow(10,-a),l=d[8+a/3];return function(t){return i(s*t)+l}}}}f=v({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),h=f.format,f.formatPrefix},65704:function(t,e,r){"use strict";r.r(e),r.d(e,{geoAiry:function(){return z},geoAiryRaw:function(){return D},geoAitoff:function(){return F},geoAitoffRaw:function(){return R},geoArmadillo:function(){return N},geoArmadilloRaw:function(){return B},geoAugust:function(){return U},geoAugustRaw:function(){return j},geoBaker:function(){return G},geoBakerRaw:function(){return q},geoBerghaus:function(){return Y},geoBerghausRaw:function(){return W},geoBertin1953:function(){return rt},geoBertin1953Raw:function(){return et},geoBoggs:function(){return ct},geoBoggsRaw:function(){return ut},geoBonne:function(){return vt},geoBonneRaw:function(){return dt},geoBottomley:function(){return yt},geoBottomleyRaw:function(){return gt},geoBromley:function(){return xt},geoBromleyRaw:function(){return mt},geoChamberlin:function(){return Et},geoChamberlinAfrica:function(){return St},geoChamberlinRaw:function(){return At},geoCollignon:function(){return Ct},geoCollignonRaw:function(){return Lt},geoCraig:function(){return Pt},geoCraigRaw:function(){return Ot},geoCraster:function(){return zt},geoCrasterRaw:function(){return Dt},geoCylindricalEqualArea:function(){return Ft},geoCylindricalEqualAreaRaw:function(){return Rt},geoCylindricalStereographic:function(){return Nt},geoCylindricalStereographicRaw:function(){return Bt},geoEckert1:function(){return Ut},geoEckert1Raw:function(){return jt},geoEckert2:function(){return Ht},geoEckert2Raw:function(){return Vt},geoEckert3:function(){return Gt},geoEckert3Raw:function(){return qt},geoEckert4:function(){return Wt},geoEckert4Raw:function(){return Zt},geoEckert5:function(){return Xt},geoEckert5Raw:function(){return Yt},geoEckert6:function(){return Kt},geoEckert6Raw:function(){return Jt},geoEisenlohr:function(){return te},geoEisenlohrRaw:function(){return Qt},geoFahey:function(){return ne},geoFaheyRaw:function(){return re},geoFoucaut:function(){return ae},geoFoucautRaw:function(){return ie},geoFoucautSinusoidal:function(){return se},geoFoucautSinusoidalRaw:function(){return oe},geoGilbert:function(){return he},geoGingery:function(){return ge},geoGingeryRaw:function(){return pe},geoGinzburg4:function(){return xe},geoGinzburg4Raw:function(){return me},geoGinzburg5:function(){return _e},geoGinzburg5Raw:function(){return be},geoGinzburg6:function(){return Te},geoGinzburg6Raw:function(){return we},geoGinzburg8:function(){return Ae},geoGinzburg8Raw:function(){return ke},geoGinzburg9:function(){return Se},geoGinzburg9Raw:function(){return Me},geoGringorten:function(){return Ce},geoGringortenQuincuncial:function(){return ei},geoGringortenRaw:function(){return Le},geoGuyou:function(){return De},geoGuyouRaw:function(){return Ie},geoHammer:function(){return $},geoHammerRaw:function(){return J},geoHammerRetroazimuthal:function(){return Be},geoHammerRetroazimuthalRaw:function(){return Re},geoHealpix:function(){return We},geoHealpixRaw:function(){return He},geoHill:function(){return Xe},geoHillRaw:function(){return Ye},geoHomolosine:function(){return er},geoHomolosineRaw:function(){return tr},geoHufnagel:function(){return nr},geoHufnagelRaw:function(){return rr},geoHyperelliptical:function(){return sr},geoHyperellipticalRaw:function(){return or},geoInterrupt:function(){return fr},geoInterruptedBoggs:function(){return pr},geoInterruptedHomolosine:function(){return vr},geoInterruptedMollweide:function(){return yr},geoInterruptedMollweideHemispheres:function(){return xr},geoInterruptedQuarticAuthalic:function(){return hn},geoInterruptedSinuMollweide:function(){return _r},geoInterruptedSinusoidal:function(){return Tr},geoKavrayskiy7:function(){return Ar},geoKavrayskiy7Raw:function(){return kr},geoLagrange:function(){return Sr},geoLagrangeRaw:function(){return Mr},geoLarrivee:function(){return Cr},geoLarriveeRaw:function(){return Lr},geoLaskowski:function(){return Pr},geoLaskowskiRaw:function(){return Or},geoLittrow:function(){return Dr},geoLittrowRaw:function(){return Ir},geoLoximuthal:function(){return Rr},geoLoximuthalRaw:function(){return zr},geoMiller:function(){return Br},geoMillerRaw:function(){return Fr},geoModifiedStereographic:function(){return Jr},geoModifiedStereographicAlaska:function(){return Gr},geoModifiedStereographicGs48:function(){return Zr},geoModifiedStereographicGs50:function(){return Wr},geoModifiedStereographicLee:function(){return Xr},geoModifiedStereographicMiller:function(){return Yr},geoModifiedStereographicRaw:function(){return Nr},geoMollweide:function(){return ot},geoMollweideRaw:function(){return at},geoMtFlatPolarParabolic:function(){return tn},geoMtFlatPolarParabolicRaw:function(){return Qr},geoMtFlatPolarQuartic:function(){return rn},geoMtFlatPolarQuarticRaw:function(){return en},geoMtFlatPolarSinusoidal:function(){return an},geoMtFlatPolarSinusoidalRaw:function(){return nn},geoNaturalEarth:function(){return on.Z},geoNaturalEarth2:function(){return ln},geoNaturalEarth2Raw:function(){return sn},geoNaturalEarthRaw:function(){return on.K},geoNellHammer:function(){return cn},geoNellHammerRaw:function(){return un},geoNicolosi:function(){return dn},geoNicolosiRaw:function(){return pn},geoPatterson:function(){return _n},geoPattersonRaw:function(){return bn},geoPeirceQuincuncial:function(){return ri},geoPierceQuincuncial:function(){return ri},geoPolyconic:function(){return Tn},geoPolyconicRaw:function(){return wn},geoPolyhedral:function(){return Ln},geoPolyhedralButterfly:function(){return Rn},geoPolyhedralCollignon:function(){return Nn},geoPolyhedralWaterman:function(){return jn},geoProject:function(){return Gn},geoQuantize:function(){return ni},geoQuincuncial:function(){return ti},geoRectangularPolyconic:function(){return ai},geoRectangularPolyconicRaw:function(){return ii},geoRobinson:function(){return li},geoRobinsonRaw:function(){return si},geoSatellite:function(){return ci},geoSatelliteRaw:function(){return ui},geoSinuMollweide:function(){return Qe},geoSinuMollweideRaw:function(){return $e},geoSinusoidal:function(){return pt},geoSinusoidalRaw:function(){return ht},geoStitch:function(){return Ti},geoTimes:function(){return Ai},geoTimesRaw:function(){return ki},geoTwoPointAzimuthal:function(){return Li},geoTwoPointAzimuthalRaw:function(){return Si},geoTwoPointAzimuthalUsa:function(){return Ei},geoTwoPointEquidistant:function(){return Pi},geoTwoPointEquidistantRaw:function(){return Ci},geoTwoPointEquidistantUsa:function(){return Oi},geoVanDerGrinten:function(){return Di},geoVanDerGrinten2:function(){return Ri},geoVanDerGrinten2Raw:function(){return zi},geoVanDerGrinten3:function(){return Bi},geoVanDerGrinten3Raw:function(){return Fi},geoVanDerGrinten4:function(){return ji},geoVanDerGrinten4Raw:function(){return Ni},geoVanDerGrintenRaw:function(){return Ii},geoWagner:function(){return Vi},geoWagner4:function(){return Wi},geoWagner4Raw:function(){return Zi},geoWagner6:function(){return Xi},geoWagner6Raw:function(){return Yi},geoWagner7:function(){return Hi},geoWagnerRaw:function(){return Ui},geoWiechel:function(){return Ki},geoWiechelRaw:function(){return Ji},geoWinkel3:function(){return Qi},geoWinkel3Raw:function(){return $i}});var n=r(15002),i=Math.abs,a=Math.atan,o=Math.atan2,s=(Math.ceil,Math.cos),l=Math.exp,u=Math.floor,c=Math.log,f=Math.max,h=Math.min,p=Math.pow,d=Math.round,v=Math.sign||function(t){return t>0?1:t<0?-1:0},g=Math.sin,y=Math.tan,m=1e-6,x=1e-12,b=Math.PI,_=b/2,w=b/4,T=Math.SQRT1_2,k=O(2),A=O(b),M=2*b,S=180/b,E=b/180;function L(t){return t>1?_:t<-1?-_:Math.asin(t)}function C(t){return t>1?0:t<-1?b:Math.acos(t)}function O(t){return t>0?Math.sqrt(t):0}function P(t){return(l(t)-l(-t))/2}function I(t){return(l(t)+l(-t))/2}function D(t){var e=y(t/2),r=2*c(s(t/2))/(e*e);function n(t,e){var n=s(t),i=s(e),a=g(e),o=i*n,l=-((1-o?c((1+o)/2)/(1-o):-.5)+r/(1+o));return[l*i*g(t),l*a]}return n.invert=function(e,n){var a,l=O(e*e+n*n),u=-t/2,f=50;if(!l)return[0,0];do{var h=u/2,p=s(h),d=g(h),v=d/p,y=-c(i(p));u-=a=(2/v*y-r*v-l)/(-y/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(i(a)>m&&--f>0);var x=g(u);return[o(e*x,l*s(u)),L(n*x/l)]},n}function z(){var t=_,e=(0,n.r)(D),r=e(t);return r.radius=function(r){return arguments.length?e(t=r*E):t*S},r.scale(179.976).clipAngle(147)}function R(t,e){var r=s(e),n=function(t){return t?t/Math.sin(t):1}(C(r*s(t/=2)));return[2*r*g(t)*n,g(e)*n]}function F(){return(0,n.Z)(R).scale(152.63)}function B(t){var e=g(t),r=s(t),n=t>=0?1:-1,a=y(n*t),l=(1+e-r)/2;function u(t,i){var u=s(i),c=s(t/=2);return[(1+u)*g(t),(n*i>-o(c,a)-.001?0:10*-n)+l+g(i)*r-(1+u)*e*c]}return u.invert=function(t,u){var c=0,f=0,h=50;do{var p=s(c),d=g(c),v=s(f),y=g(f),x=1+v,b=x*d-t,_=l+y*r-x*e*p-u,w=x*p/2,T=-d*y,k=e*x*d/2,A=r*v+e*p*y,M=T*k-A*w,S=(_*T-b*A)/M/2,E=(b*k-_*w)/M;i(E)>2&&(E/=2),c-=S,f-=E}while((i(S)>m||i(E)>m)&&--h>0);return n*f>-o(s(c),a)-.001?[2*c,f]:null},u}function N(){var t=20*E,e=t>=0?1:-1,r=y(e*t),i=(0,n.r)(B),a=i(t),l=a.stream;return a.parallel=function(n){return arguments.length?(r=y((e=(t=n*E)>=0?1:-1)*t),i(t)):t*S},a.stream=function(n){var i=a.rotate(),u=l(n),c=(a.rotate([0,0]),l(n)),f=a.precision();return a.rotate(i),u.sphere=function(){c.polygonStart(),c.lineStart();for(var n=-180*e;e*n<180;n+=90*e)c.point(n,90*e);if(t)for(;e*(n-=3*e*f)>=-180;)c.point(n,e*-o(s(n*E/2),r)*S);c.lineEnd(),c.polygonEnd()},u},a.scale(218.695).center([0,28.0974])}function j(t,e){var r=y(e/2),n=O(1-r*r),i=1+n*s(t/=2),a=g(t)*n/i,o=r/i,l=a*a,u=o*o;return[4/3*a*(3+l-3*u),4/3*o*(3+3*l-u)]}function U(){return(0,n.Z)(j).scale(66.1603)}R.invert=function(t,e){if(!(t*t+4*e*e>b*b+m)){var r=t,n=e,a=25;do{var o,l=g(r),u=g(r/2),c=s(r/2),f=g(n),h=s(n),p=g(2*n),d=f*f,v=h*h,y=u*u,x=1-v*c*c,_=x?C(h*c)*O(o=1/x):o=0,w=2*_*h*u-t,T=_*f-e,k=o*(v*y+_*h*c*d),A=o*(.5*l*p-2*_*f*u),M=.25*o*(p*u-_*f*v*l),S=o*(d*c+_*y*h),E=A*M-S*k;if(!E)break;var L=(T*A-w*S)/E,P=(w*M-T*k)/E;r-=L,n-=P}while((i(L)>m||i(P)>m)&&--a>0);return[r,n]}},j.invert=function(t,e){if(e*=3/8,!(t*=3/8)&&i(e)>1)return null;var r=1+t*t+e*e,n=O((r-O(r*r-4*e*e))/2),a=L(n)/3,l=n?function(t){return c(t+O(t*t-1))}(i(e/n))/3:function(t){return c(t+O(t*t+1))}(i(t))/3,u=s(a),f=I(l),h=f*f-u*u;return[2*v(t)*o(P(l)*u,.25-h),2*v(e)*o(f*g(a),.25+h)]};var V=O(8),H=c(1+k);function q(t,e){var r=i(e);return rx&&--u>0);return[t/(s(o)*(V-1/g(o))),v(e)*o]};var Z=r(17889);function W(t){var e=2*b/t;function r(t,r){var n=(0,Z.N)(t,r);if(i(t)>_){var a=o(n[1],n[0]),l=O(n[0]*n[0]+n[1]*n[1]),u=e*d((a-_)/e)+_,c=o(g(a-=u),2-s(a));a=u+L(b/l*g(c))-c,n[0]=l*s(a),n[1]=l*g(a)}return n}return r.invert=function(t,r){var n=O(t*t+r*r);if(n>_){var i=o(r,t),l=e*d((i-_)/e)+_,u=i>l?-1:1,c=n*s(l-i),f=1/y(u*C((c-b)/O(b*(b-2*c)+n*n)));i=l+2*a((f+u*O(f*f-3))/3),t=n*s(i),r=n*g(i)}return Z.N.invert(t,r)},r}function Y(){var t=5,e=(0,n.r)(W),r=e(t),i=r.stream,a=.01,l=-s(a*E),u=g(a*E);return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),c=i(e),f=(r.rotate([0,0]),i(e));return r.rotate(n),c.sphere=function(){f.polygonStart(),f.lineStart();for(var e=0,r=360/t,n=2*b/t,i=90-180/t,c=_;e0&&i(n)>m);return s<0?NaN:r}function tt(t,e,r){return void 0===e&&(e=40),void 0===r&&(r=x),function(n,a,o,s){var l,u,c;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var f=0;fl)o-=u/=2,s-=c/=2;else{l=v;var g=(o>0?-1:1)*r,y=(s>0?-1:1)*r,m=t(o+g,s),x=t(o,s+y),b=(m[0]-h[0])/g,_=(m[1]-h[1])/g,w=(x[0]-h[0])/y,T=(x[1]-h[1])/y,k=T*b-_*w,A=(i(k)<.5?.5:1)/k;if(o+=u=(d*w-p*T)*A,s+=c=(p*_-d*b)*A,i(u)0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return e.invert=tt(e),e}function rt(){return(0,n.Z)(et()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function nt(t,e){var r,n=t*g(e),a=30;do{e-=r=(e+g(e)-n)/(1+s(e))}while(i(r)>m&&--a>0);return e/2}function it(t,e,r){function n(n,i){return[t*n*s(i=nt(r,i)),e*g(i)]}return n.invert=function(n,i){return i=L(i/e),[n/(t*s(i)),L((2*i+g(2*i))/r)]},n}K.invert=function(t,e){var r=2*L(e/2);return[t*s(r/2)/s(r),r]};var at=it(k/_,k,b);function ot(){return(0,n.Z)(at).scale(169.529)}var st=2.00276,lt=1.11072;function ut(t,e){var r=nt(b,e);return[st*t/(1/s(e)+lt/s(r)),(e+k*g(r))/st]}function ct(){return(0,n.Z)(ut).scale(160.857)}function ft(t){var e=0,r=(0,n.r)(t),i=r(e);return i.parallel=function(t){return arguments.length?r(e=t*E):e*S},i}function ht(t,e){return[t*s(e),e]}function pt(){return(0,n.Z)(ht).scale(152.63)}function dt(t){if(!t)return ht;var e=1/y(t);function r(r,n){var i=e+t-n,a=i?r*s(n)/i:i;return[i*g(a),e-i*s(a)]}return r.invert=function(r,n){var i=O(r*r+(n=e-n)*n),a=e+t-i;return[i/s(a)*o(r,n),a]},r}function vt(){return ft(dt).scale(123.082).center([0,26.1441]).parallel(45)}function gt(t){function e(e,r){var n=_-r,i=n?e*t*g(n)/n:n;return[n*g(i)/t,_-n*s(i)]}return e.invert=function(e,r){var n=e*t,i=_-r,a=O(n*n+i*i),s=o(n,i);return[(a?a/g(a):1)*s/t,_-a]},e}function yt(){var t=.5,e=(0,n.r)(gt),r=e(t);return r.fraction=function(r){return arguments.length?e(t=+r):t},r.scale(158.837)}ut.invert=function(t,e){var r,n,a=st*e,o=e<0?-w:w,l=25;do{n=a-k*g(o),o-=r=(g(2*o)+2*o-b*g(n))/(2*s(2*o)+2+b*s(n)*k*s(o))}while(i(r)>m&&--l>0);return n=a-k*g(o),[t*(1/s(n)+lt/s(o))/st,n]},ht.invert=function(t,e){return[t/s(e),e]};var mt=it(1,4/b,b);function xt(){return(0,n.Z)(mt).scale(152.63)}var bt=r(66624),_t=r(49386);function wt(t,e,r,n,a,l){var u,c=s(l);if(i(t)>1||i(l)>1)u=C(r*a+e*n*c);else{var f=g(t/2),h=g(l/2);u=2*L(O(f*f+e*n*h*h))}return i(u)>m?[u,o(n*g(l),e*a-r*n*c)]:[0,0]}function Tt(t,e,r){return C((t*t+e*e-r*r)/(2*t*e))}function kt(t){return t-2*b*u((t+b)/(2*b))}function At(t,e,r){for(var n,i=[[t[0],t[1],g(t[1]),s(t[1])],[e[0],e[1],g(e[1]),s(e[1])],[r[0],r[1],g(r[1]),s(r[1])]],a=i[2],o=0;o<3;++o,a=n)n=i[o],a.v=wt(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=Tt(i[0].v[0],i[2].v[0],i[1].v[0]),u=Tt(i[0].v[0],i[1].v[0],i[2].v[0]),c=b-l;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var f=[i[2].point[0]=i[0].point[0]+i[2].v[0]*s(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*g(l))];return function(t,e){var r,n=g(e),a=s(e),o=new Array(3);for(r=0;r<3;++r){var l=i[r];if(o[r]=wt(e-l[1],l[3],l[2],a,n,t-l[0]),!o[r][0])return l.point;o[r][1]=kt(o[r][1]-l.v[1])}var h=f.slice();for(r=0;r<3;++r){var p=2==r?0:r+1,d=Tt(i[r].v[0],o[r][0],o[p][0]);o[r][1]<0&&(d=-d),r?1==r?(d=u-d,h[0]-=o[r][0]*s(d),h[1]-=o[r][0]*g(d)):(d=c-d,h[0]+=o[r][0]*s(d),h[1]+=o[r][0]*g(d)):(h[0]+=o[r][0]*s(d),h[1]-=o[r][0]*g(d))}return h[0]/=3,h[1]/=3,h}}function Mt(t){return t[0]*=E,t[1]*=E,t}function St(){return Et([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Et(t,e,r){var i=(0,bt.Z)({type:"MultiPoint",coordinates:[t,e,r]}),a=[-i[0],-i[1]],o=(0,_t.Z)(a),s=At(Mt(o(t)),Mt(o(e)),Mt(o(r)));s.invert=tt(s);var l=(0,n.Z)(s).rotate(a),u=l.center;return delete l.rotate,l.center=function(t){return arguments.length?u(o(t)):o.invert(u())},l.clipAngle(90)}function Lt(t,e){var r=O(1-g(e));return[2/A*t*r,A*(1-r)]}function Ct(){return(0,n.Z)(Lt).scale(95.6464).center([0,30])}function Ot(t){var e=y(t);function r(t,r){return[t,(t?t/g(t):1)*(g(r)*s(t)-e*s(r))]}return r.invert=e?function(t,r){t&&(r*=g(t)/t);var n=s(t);return[t,2*o(O(n*n+e*e-r*r)-n,e-r)]}:function(t,e){return[t,L(t?e*y(t)/t:e)]},r}function Pt(){return ft(Ot).scale(249.828).clipAngle(90)}Lt.invert=function(t,e){var r=(r=e/A-1)*r;return[r>0?t*O(b/r)/2:0,L(1-r)]};var It=O(3);function Dt(t,e){return[It*t*(2*s(2*e/3)-1)/A,It*A*g(e/3)]}function zt(){return(0,n.Z)(Dt).scale(156.19)}function Rt(t){var e=s(t);function r(t,r){return[t*e,g(r)/e]}return r.invert=function(t,r){return[t/e,L(r*e)]},r}function Ft(){return ft(Rt).parallel(38.58).scale(195.044)}function Bt(t){var e=s(t);function r(t,r){return[t*e,(1+e)*y(r/2)]}return r.invert=function(t,r){return[t/e,2*a(r/(1+e))]},r}function Nt(){return ft(Bt).scale(124.75)}function jt(t,e){var r=O(8/(3*b));return[r*t*(1-i(e)/b),r*e]}function Ut(){return(0,n.Z)(jt).scale(165.664)}function Vt(t,e){var r=O(4-3*g(i(e)));return[2/O(6*b)*t*r,v(e)*O(2*b/3)*(2-r)]}function Ht(){return(0,n.Z)(Vt).scale(165.664)}function qt(t,e){var r=O(b*(4+b));return[2/r*t*(1+O(1-4*e*e/(b*b))),4/r*e]}function Gt(){return(0,n.Z)(qt).scale(180.739)}function Zt(t,e){var r=(2+_)*g(e);e/=2;for(var n=0,a=1/0;n<10&&i(a)>m;n++){var o=s(e);e-=a=(e+g(e)*(o+2)-r)/(2*o*(1+o))}return[2/O(b*(4+b))*t*(1+s(e)),2*O(b/(4+b))*g(e)]}function Wt(){return(0,n.Z)(Zt).scale(180.739)}function Yt(t,e){return[t*(1+s(e))/O(2+b),2*e/O(2+b)]}function Xt(){return(0,n.Z)(Yt).scale(173.044)}function Jt(t,e){for(var r=(1+_)*g(e),n=0,a=1/0;n<10&&i(a)>m;n++)e-=a=(e+g(e)-r)/(1+s(e));return r=O(2+b),[t*(1+s(e))/r,2*e/r]}function Kt(){return(0,n.Z)(Jt).scale(173.044)}Dt.invert=function(t,e){var r=3*L(e/(It*A));return[A*t/(It*(2*s(2*r/3)-1)),r]},jt.invert=function(t,e){var r=O(8/(3*b)),n=e/r;return[t/(r*(1-i(n)/b)),n]},Vt.invert=function(t,e){var r=2-i(e)/O(2*b/3);return[t*O(6*b)/(2*r),v(e)*L((4-r*r)/3)]},qt.invert=function(t,e){var r=O(b*(4+b))/2;return[t*r/(1+O(1-e*e*(4+b)/(4*b))),e*r/2]},Zt.invert=function(t,e){var r=e*O((4+b)/b)/2,n=L(r),i=s(n);return[t/(2/O(b*(4+b))*(1+i)),L((n+r*(i+2))/(2+_))]},Yt.invert=function(t,e){var r=O(2+b),n=e*r/2;return[r*t/(1+s(n)),n]},Jt.invert=function(t,e){var r=1+_,n=O(r/2);return[2*t*n/(1+s(e*=n)),L((e+g(e))/r)]};var $t=3+2*k;function Qt(t,e){var r=g(t/=2),n=s(t),i=O(s(e)),o=s(e/=2),l=g(e)/(o+k*n*i),u=O(2/(1+l*l)),f=O((k*o+(n+r)*i)/(k*o+(n-r)*i));return[$t*(u*(f-1/f)-2*c(f)),$t*(u*l*(f+1/f)-2*a(l))]}function te(){return(0,n.Z)(Qt).scale(62.5271)}Qt.invert=function(t,e){if(!(r=j.invert(t/1.2,1.065*e)))return null;var r,n=r[0],o=r[1],l=20;t/=$t,e/=$t;do{var u=n/2,p=o/2,d=g(u),v=s(u),y=g(p),x=s(p),b=s(o),w=O(b),A=y/(x+k*v*w),M=A*A,S=O(2/(1+M)),E=(k*x+(v+d)*w)/(k*x+(v-d)*w),L=O(E),C=L-1/L,P=L+1/L,I=S*C-2*c(L)-t,D=S*A*P-2*a(A)-e,z=y&&T*w*d*M/y,R=(k*v*x+w)/(2*(x+k*v*w)*(x+k*v*w)*w),F=-.5*A*S*S*S,B=F*z,N=F*R,U=(U=2*x+k*w*(v-d))*U*L,V=(k*v*x*w+b)/U,H=-k*d*y/(w*U),q=C*B-2*V/L+S*(V+V/E),G=C*N-2*H/L+S*(H+H/E),Z=A*P*B-2*z/(1+M)+S*P*z+S*A*(V-V/E),W=A*P*N-2*R/(1+M)+S*P*R+S*A*(H-H/E),Y=G*Z-W*q;if(!Y)break;var X=(D*G-I*W)/Y,J=(I*Z-D*q)/Y;n-=X,o=f(-_,h(_,o-J))}while((i(X)>m||i(J)>m)&&--l>0);return i(i(o)-_)n){var h=O(f),p=o(c,u),v=r*d(p/r),y=p-v,x=t*s(y),w=(t*g(y)-y*g(x))/(_-x),T=de(y,w),k=(b-t)/ve(T,x,b);u=h;var A,M=50;do{u-=A=(t+ve(T,x,u)*k-h)/(T(u)*k)}while(i(A)>m&&--M>0);c=y*g(u),u<_&&(c-=w*(u-_));var S=g(v),E=s(v);l[0]=u*E-c*S,l[1]=u*S+c*E}return l}return a.invert=function(e,a){var l=e*e+a*a;if(l>n){var u=O(l),c=o(a,e),f=r*d(c/r),h=c-f;e=u*s(h),a=u*g(h);for(var p=e-_,v=g(e),y=a/v,m=e<_?1/0:0,w=10;;){var T=t*g(y),k=t*s(y),A=g(k),M=_-k,S=(T-y*A)/M,E=de(y,S);if(i(m)m||i(p)>m)&&--y>0);return[d,v]},c}var me=ye(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function xe(){return(0,n.Z)(me).scale(149.995)}var be=ye(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function _e(){return(0,n.Z)(be).scale(153.93)}var we=ye(5/6*b,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Te(){return(0,n.Z)(we).scale(130.945)}function ke(t,e){var r=t*t,n=e*e;return[t*(1-.162388*n)*(.87-952426e-9*r*r),e*(1+n/12)]}function Ae(){return(0,n.Z)(ke).scale(131.747)}ke.invert=function(t,e){var r,n=t,a=e,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-e)/(1+s/4)}while(i(r)>m&&--o>0);o=50,t/=1-.162388*s;do{var l=(l=n*n)*l;n-=r=(n*(.87-952426e-9*l)-t)/(.87-.00476213*l)}while(i(r)>m&&--o>0);return[n,a]};var Me=ye(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Se(){return(0,n.Z)(Me).scale(131.087)}function Ee(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var i=r>0?-.5:.5,a=t(r+i*b,n);return a[0]-=i*e,a}return t.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=t.invert(r+i*e,n),o=a[0]-i*b;return o<-b?o+=2*b:o>b&&(o-=2*b),a[0]=o,a}),r}function Le(t,e){var r=v(t),n=v(e),a=s(e),l=s(t)*a,u=g(t)*a,c=g(n*e);t=i(o(u,c)),e=L(l),i(t-_)>m&&(t%=_);var f=function(t,e){if(e===_)return[0,0];var r,n,a=g(e),o=a*a,l=o*o,u=1+l,c=1+3*l,f=1-l,h=L(1/O(u)),p=f+o*u*h,d=(1-a)/p,v=O(d),y=d*u,x=O(y),w=v*f;if(0===t)return[0,-(w+o*x)];var T,k=s(e),A=1/k,M=2*a*k,S=(-p*k-(-3*o+h*c)*M*(1-a))/(p*p),E=-A*M,C=-A*(o*u*S+d*c*M),P=-2*A*(f*(.5*S/v)-2*o*v*M),I=4*t/b;if(t>.222*b||e.175*b){if(r=(w+o*O(y*(1+l)-w*w))/(1+l),t>b/4)return[r,r];var D=r,z=.5*r;r=.5*(z+D),n=50;do{var R=r*(P+E*O(y-r*r))+C*L(r/x)-I;if(!R)break;R<0?z=r:D=r,r=.5*(z+D)}while(i(D-z)>m&&--n>0)}else{r=m,n=25;do{var F=r*r,B=O(y-F),N=P+E*B,j=r*N+C*L(r/x)-I;r-=T=B?j/(N+(C-E*F)/B):0}while(i(T)>m&&--n>0)}return[r,-w-o*O(y-r*r)]}(t>b/4?_-t:t,e);return t>b/4&&(c=f[0],f[0]=-f[1],f[1]=-c),f[0]*=r,f[1]*=-n,f}function Ce(){return(0,n.Z)(Ee(Le)).scale(239.75)}function Oe(t,e){var r,n,o,u,c,f;if(e=.999999)return r=(1-e)/4,o=1/(n=I(t)),[(u=((f=l(2*(f=t)))-1)/(f+1))+r*((c=n*P(t))-t)/(n*n),o-r*u*o*(c-t),o+r*u*o*(c+t),2*a(l(t))-_+r*(c-t)/n];var h=[1,0,0,0,0,0,0,0,0],p=[O(e),0,0,0,0,0,0,0,0],d=0;for(n=O(1-e),c=1;i(p[d]/h[d])>m&&d<8;)r=h[d++],p[d]=(r-n)/2,h[d]=(r+n)/2,n=O(r*n),c*=2;o=c*h[d]*t;do{o=(L(u=p[d]*g(n=o)/h[d])+o)/2}while(--d);return[g(o),u=s(o),u/s(o-n),o]}function Pe(t,e){if(!e)return t;if(1===e)return c(y(t/2+w));for(var r=1,n=O(1-e),o=O(e),s=0;i(o)>m;s++){if(t%b){var l=a(n*y(t)/r);l<0&&(l+=b),t+=l+~~(t/b)*b}else t+=t;o=(r+n)/2,n=O(r*n),o=((r=o)-n)/2}return t/(p(2,s)*r)}function Ie(t,e){var r=(k-1)/(k+1),n=O(1-r*r),u=Pe(_,n*n),f=c(y(b/4+i(e)/2)),h=l(-1*f)/O(r),p=function(t,e){var r=t*t,n=e+1,i=1-r-e*e;return[.5*((t>=0?_:-_)-o(i,2*t)),-.25*c(i*i+4*r)+.5*c(n*n+r)]}(h*s(-1*t),h*g(-1*t)),d=function(t,e,r){var n=i(t),o=P(i(e));if(n){var s=1/g(n),l=1/(y(n)*y(n)),u=-(l+r*(o*o*s*s)-1+r),c=(-u+O(u*u-(r-1)*l*4))/2;return[Pe(a(1/O(c)),r)*v(t),Pe(a(O((c/l-1)/r)),1-r)*v(e)]}return[0,Pe(a(o),1-r)*v(e)]}(p[0],p[1],n*n);return[-d[1],(e>=0?1:-1)*(.5*u-d[0])]}function De(){return(0,n.Z)(Ee(Ie)).scale(151.496)}Le.invert=function(t,e){i(t)>1&&(t=2*v(t)-t),i(e)>1&&(e=2*v(e)-e);var r=v(t),n=v(e),a=-r*t,l=-n*e,u=l/a<1,c=function(t,e){for(var r=0,n=1,a=.5,o=50;;){var l=a*a,u=O(a),c=L(1/O(1+l)),f=1-l+a*(1+l)*c,h=(1-u)/f,p=O(h),d=h*(1+l),v=p*(1-l),g=O(d-t*t),y=e+v+a*g;if(i(n-r)0?r=a:n=a,a=.5*(r+n)}if(!o)return null;var m=L(u),_=s(m),w=1/_,T=2*u*_,k=(-f*_-(-3*a+c*(1+3*l))*T*(1-u))/(f*f);return[b/4*(t*(-2*w*(.5*k/p*(1-l)-2*a*p*T)+-w*T*g)+-w*(a*(1+l)*k+h*(1+3*l)*T)*L(t/O(d))),m]}(u?l:a,u?a:l),f=c[0],h=c[1],p=s(h);return u&&(f=-_-f),[r*(o(g(f)*p,-g(h))+b),n*L(s(f)*p)]},Ie.invert=function(t,e){var r,n,i,s,u,f,h=(k-1)/(k+1),p=O(1-h*h),d=(n=-t,i=p*p,(r=.5*Pe(_,p*p)-e)?(s=Oe(r,i),n?(f=(u=Oe(n,1-i))[1]*u[1]+i*s[0]*s[0]*u[0]*u[0],[[s[0]*u[2]/f,s[1]*s[2]*u[0]*u[1]/f],[s[1]*u[1]/f,-s[0]*s[2]*u[0]*u[2]/f],[s[2]*u[1]*u[2]/f,-i*s[0]*s[1]*u[0]/f]]):[[s[0],0],[s[1],0],[s[2],0]]):[[0,(u=Oe(n,1-i))[0]/u[1]],[1/u[1],0],[u[2]/u[1],0]]),v=function(t,e){var r=e[0]*e[0]+e[1]*e[1];return[(t[0]*e[0]+t[1]*e[1])/r,(t[1]*e[0]-t[0]*e[1])/r]}(d[0],d[1]);return[o(v[1],v[0])/-1,2*a(l(-.5*c(h*v[0]*v[0]+h*v[1]*v[1])))-_]};var ze=r(7613);function Re(t){var e=g(t),r=s(t),n=Fe(t);function a(t,a){var o=n(t,a);t=o[0],a=o[1];var l=g(a),u=s(a),c=s(t),f=C(e*l+r*u*c),h=g(f),p=i(h)>m?f/h:1;return[p*r*g(t),(i(t)>_?p:-p)*(e*u-r*l*c)]}return n.invert=Fe(-t),a.invert=function(t,r){var i=O(t*t+r*r),a=-g(i),l=s(i),u=i*l,c=-r*a,f=i*e,h=O(u*u+c*c-f*f),p=o(u*f+c*h,c*f-u*h),d=(i>_?-1:1)*o(t*a,i*s(p)*l+r*g(p)*a);return n.invert(d,p)},a}function Fe(t){var e=g(t),r=s(t);return function(t,n){var i=s(n),a=s(t)*i,l=g(t)*i,u=g(n);return[o(l,a*r-u*e),L(u*r+a*e)]}}function Be(){var t=0,e=(0,n.r)(Re),r=e(t),i=r.rotate,a=r.stream,o=(0,ze.Z)();return r.parallel=function(n){if(!arguments.length)return t*S;var i=r.rotate();return e(t=n*E).rotate(i)},r.rotate=function(e){return arguments.length?(i.call(r,[e[0],e[1]-t*S]),o.center([-e[0],-e[1]]),r):((e=i.call(r))[1]+=t*S,e)},r.stream=function(t){return(t=a(t)).sphere=function(){t.polygonStart();var e,r=o.radius(89.99)().coordinates[0],n=r.length-1,i=-1;for(t.lineStart();++i=0;)t.point((e=r[i])[0],e[1]);t.lineEnd(),t.polygonEnd()},t},r.scale(79.4187).parallel(45).clipAngle(179.999)}var Ne=r(33064),je=r(72736),Ue=L(1-1/3)*S,Ve=Rt(0);function He(t){var e=Ue*E,r=Lt(b,e)[0]-Lt(-b,e)[0],n=Ve(0,e)[1],a=Lt(0,e)[1],o=A-a,s=M/t,l=4/M,c=n+o*o*4/M;function p(p,d){var v,g=i(d);if(g>e){var y=h(t-1,f(0,u((p+b)/s)));(v=Lt(p+=b*(t-1)/t-y*s,g))[0]=v[0]*M/r-M*(t-1)/(2*t)+y*M/t,v[1]=n+4*(v[1]-a)*o/M,d<0&&(v[1]=-v[1])}else v=Ve(p,d);return v[0]*=l,v[1]/=c,v}return p.invert=function(e,p){e/=l;var d=i(p*=c);if(d>n){var v=h(t-1,f(0,u((e+b)/s)));e=(e+b*(t-1)/t-v*s)*r/M;var g=Lt.invert(e,.25*(d-n)*M/o+a);return g[0]-=b*(t-1)/t-v*s,p<0&&(g[1]=-g[1]),g}return Ve.invert(e,p)},p}function qe(t,e){return[t,1&e?89.999999:Ue]}function Ge(t,e){return[t,1&e?-89.999999:-Ue]}function Ze(t){return[.999999*t[0],t[1]]}function We(){var t=4,e=(0,n.r)(He),r=e(t),i=r.stream;return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),a=i(e),o=(r.rotate([0,0]),i(e));return r.rotate(n),a.sphere=function(){var e,r;(0,je.Z)((e=180/t,r=[].concat((0,Ne.w6)(-180,180+e/2,e).map(qe),(0,Ne.w6)(180,-180-e/2,-e).map(Ge)),{type:"Polygon",coordinates:[180===e?r.map(Ze):r]}),o)},a},r.scale(239.75)}function Ye(t){var e,r=1+t,n=L(g(1/r)),a=2*O(b/(e=b+4*n*r)),l=.5*a*(r+O(t*(2+t))),u=t*t,c=r*r;function f(f,h){var p,d,v=1-g(h);if(v&&v<2){var y,m=_-h,w=25;do{var T=g(m),k=s(m),A=n+o(T,r-k),M=1+c-2*r*k;m-=y=(m-u*n-r*T+M*A-.5*v*e)/(2*r*T*A)}while(i(y)>x&&--w>0);p=a*O(M),d=f*A/b}else p=a*(t+v),d=f*n/b;return[p*g(d),l-p*s(d)]}return f.invert=function(t,i){var s=t*t+(i-=l)*i,f=(1+c-s/(a*a))/(2*r),h=C(f),p=g(h),d=n+o(p,r-f);return[L(t/O(s))*b/d,L(1-2*(h-u*n-r*p+(1+c-2*r*f)*d)/e)]},f}function Xe(){var t=1,e=(0,n.r)(Ye),r=e(t);return r.ratio=function(r){return arguments.length?e(t=+r):t},r.scale(167.774).center([0,18.67])}var Je=.7109889596207567,Ke=.0528035274542;function $e(t,e){return e>-Je?((t=at(t,e))[1]+=Ke,t):ht(t,e)}function Qe(){return(0,n.Z)($e).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function tr(t,e){return i(e)>Je?((t=at(t,e))[1]-=e>0?Ke:-Ke,t):ht(t,e)}function er(){return(0,n.Z)(tr).scale(152.63)}function rr(t,e,r,n){var i=O(4*b/(2*r+(1+t-e/2)*g(2*r)+(t+e)/2*g(4*r)+e/2*g(6*r))),a=O(n*g(r)*O((1+t*s(2*r)+e*s(4*r))/(1+t+e))),o=r*u(1);function l(r){return O(1+t*s(2*r)+e*s(4*r))}function u(n){var i=n*r;return(2*i+(1+t-e/2)*g(2*i)+(t+e)/2*g(4*i)+e/2*g(6*i))/r}function c(t){return l(t)*g(t)}var f=function(t,e){var n=r*Q(u,o*g(e)/r,e/b);isNaN(n)&&(n=r*v(e));var c=i*l(n);return[c*a*t/b*s(n),c/a*g(n)]};return f.invert=function(t,e){var n=Q(c,e*a/i);return[t*b/(s(n)*i*a*l(n)),L(r*u(n/r)/o)]},0===r&&(i=O(n/b),(f=function(t,e){return[t*i,g(e)/i]}).invert=function(t,e){return[t/i,L(e*i)]}),f}function nr(){var t=1,e=0,r=45*E,i=2,a=(0,n.r)(rr),o=a(t,e,r,i);return o.a=function(n){return arguments.length?a(t=+n,e,r,i):t},o.b=function(n){return arguments.length?a(t,e=+n,r,i):e},o.psiMax=function(n){return arguments.length?a(t,e,r=+n*E,i):r*S},o.ratio=function(n){return arguments.length?a(t,e,r,i=+n):i},o.scale(180.739)}function ir(t,e,r,n,i,a,o,s,l,u,c){if(c.nanEncountered)return NaN;var f,h,p,d,v,g,y,m,x,b;if(h=t(e+.25*(f=r-e)),p=t(r-.25*f),isNaN(h))c.nanEncountered=!0;else{if(!isNaN(p))return b=((g=(d=f*(n+4*h+i)/12)+(v=f*(i+4*p+a)/12))-o)/15,u>l?(c.maxDepthCount++,g+b):Math.abs(b)t?r=n:e=n,n=e+r>>1}while(n>e);var i=u[n+1]-u[n];return i&&(i=(t-u[n+1])/i),(n+1+i)/s}var h=2*f(1)/b*o/r,d=function(t,e){var r=f(i(g(e))),a=n(r)*t;return r/=h,[a,e>=0?r:-r]};return d.invert=function(t,e){var r;return i(e*=h)<1&&(r=v(e)*L(a(i(e))*o)),[t/n(i(e)),r]},d}function sr(){var t=0,e=2.5,r=1.183136,i=(0,n.r)(or),a=i(t,e,r);return a.alpha=function(n){return arguments.length?i(t=+n,e,r):t},a.k=function(n){return arguments.length?i(t,e=+n,r):e},a.gamma=function(n){return arguments.length?i(t,e,r=+n):r},a.scale(152.63)}function lr(t,e){return i(t[0]-e[0])=0;--s)r=(e=t[1][s])[0][0],n=e[0][1],i=e[1][1],a=e[2][0],o=e[2][1],l.push(ur([[a-m,o-m],[a-m,i+m],[r+m,i+m],[r+m,n-m]],30));return{type:"Polygon",coordinates:[(0,Ne.TS)(l)]}}function fr(t,e,r){var i,a;function o(r,n){for(var i=n<0?-1:1,a=e[+(n<0)],o=0,s=a.length-1;oa[o][2][0];++o);var l=t(r-a[o][1][0],n);return l[0]+=t(a[o][1][0],i*n>i*a[o][0][1]?a[o][0][1]:n)[0],l}r?o.invert=r(o):t.invert&&(o.invert=function(r,n){for(var i=a[+(n<0)],s=e[+(n<0)],l=0,u=i.length;lo&&(r=a,a=o,o=r),[[n,a],[i,o]]}))})),s):e.map((function(t){return t.map((function(t){return[[t[0][0]*S,t[0][1]*S],[t[1][0]*S,t[1][1]*S],[t[2][0]*S,t[2][1]*S]]}))}))},null!=e&&s.lobes(e),s}$e.invert=function(t,e){return e>-Je?at.invert(t,e-Ke):ht.invert(t,e)},tr.invert=function(t,e){return i(e)>Je?at.invert(t,e+(e>0?Ke:-Ke)):ht.invert(t,e)};var hr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function pr(){return fr(ut,hr).scale(160.857)}var dr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function vr(){return fr(tr,dr).scale(152.63)}var gr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function yr(){return fr(at,gr).scale(169.529)}var mr=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function xr(){return fr(at,mr).scale(169.529).rotate([20,0])}var br=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function _r(){return fr($e,br,tt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var wr=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function Tr(){return fr(ht,wr).scale(152.63).rotate([-20,0])}function kr(t,e){return[3/M*t*O(b*b/3-e*e),e]}function Ar(){return(0,n.Z)(kr).scale(158.837)}function Mr(t){function e(e,r){if(i(i(r)-_)2)return null;var a=(e/=2)*e,s=(r/=2)*r,l=2*r/(1+a+s);return l=p((1+l)/(1-l),1/t),[o(2*e,1-a-s)/t,L((l-1)/(l+1))]},e}function Sr(){var t=.5,e=(0,n.r)(Mr),r=e(t);return r.spacing=function(r){return arguments.length?e(t=+r):t},r.scale(124.75)}kr.invert=function(t,e){return[M/3*t/O(b*b/3-e*e),e]};var Er=b/k;function Lr(t,e){return[t*(1+O(s(e)))/2,e/(s(e/2)*s(t/6))]}function Cr(){return(0,n.Z)(Lr).scale(97.2672)}function Or(t,e){var r=t*t,n=e*e;return[t*(.975534+n*(-.0143059*r-.119161+-.0547009*n)),e*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function Pr(){return(0,n.Z)(Or).scale(139.98)}function Ir(t,e){return[g(t)/s(e),y(e)*s(t)]}function Dr(){return(0,n.Z)(Ir).scale(144.049).clipAngle(89.999)}function zr(t){var e=s(t),r=y(w+t/2);function n(n,a){var o=a-t,s=i(o)=0;)h=(f=t[c])[0]+l*(i=h)-u*p,p=f[1]+l*p+u*i;return[h=l*(i=h)-u*p,p=l*p+u*i]}return r.invert=function(r,n){var l=20,u=r,c=n;do{for(var f,h=e,p=t[h],d=p[0],v=p[1],y=0,m=0;--h>=0;)y=d+u*(f=y)-c*m,m=v+u*m+c*f,d=(p=t[h])[0]+u*(f=d)-c*v,v=p[1]+u*v+c*f;var x,b,_=(y=d+u*(f=y)-c*m)*y+(m=v+u*m+c*f)*m;u-=x=((d=u*(f=d)-c*v-r)*y+(v=u*v+c*f-n)*m)/_,c-=b=(v*y-d*m)/_}while(i(x)+i(b)>1e-12&&--l>0);if(l){var w=O(u*u+c*c),T=2*a(.5*w),k=g(T);return[o(u*k,w*s(T)),w?L(c*k/w):0]}},r}Lr.invert=function(t,e){var r=i(t),n=i(e),a=m,o=_;nm||i(x)>m)&&--a>0);return a&&[r,n]},Ir.invert=function(t,e){var r=t*t,n=e*e+1,i=r+n,a=t?T*O((i-O(i*i-4*r))/r):1/O(n);return[L(t*a),v(e)*C(a)]},Fr.invert=function(t,e){return[t,2.5*a(l(.8*e))-.625*b]};var jr=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],Ur=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Vr=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Hr=[[.9245,0],[0,0],[.01943,0]],qr=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Gr(){return Jr(jr,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function Zr(){return Jr(Ur,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Wr(){return Jr(Vr,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Yr(){return Jr(Hr,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function Xr(){return Jr(qr,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Jr(t,e){var r=(0,n.Z)(Nr(t)).rotate(e).clipAngle(90),i=(0,_t.Z)(e),a=r.center;return delete r.rotate,r.center=function(t){return arguments.length?a(i(t)):i.invert(a())},r}var Kr=O(6),$r=O(7);function Qr(t,e){var r=L(7*g(e)/(3*Kr));return[Kr*t*(2*s(2*r/3)-1)/$r,9*g(r/3)/$r]}function tn(){return(0,n.Z)(Qr).scale(164.859)}function en(t,e){for(var r,n=(1+T)*g(e),a=e,o=0;o<25&&(a-=r=(g(a/2)+g(a)-n)/(.5*s(a/2)+s(a)),!(i(r)x&&--l>0);return[t/(.84719-.13063*(n=s*s)+(o=n*(a=n*n))*o*(.05494*n-.04515-.02326*a+.00331*o)),s]},un.invert=function(t,e){for(var r=e/2,n=0,a=1/0;n<10&&i(a)>m;++n){var o=s(e/2);e-=a=(e-y(e/2)-r)/(1-.5/(o*o))}return[2*t/(1+s(e)),e]};var fn=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function hn(){return fr(J(1/0),fn).rotate([20,0]).scale(152.63)}function pn(t,e){var r=g(e),n=s(e),a=v(t);if(0===t||i(e)===_)return[0,e];if(0===e)return[t,0];if(i(t)===_)return[t*n,_*r];var o=b/(2*t)-2*t/b,l=2*e/b,u=(1-l*l)/(r-l),c=o*o,f=u*u,h=1+c/f,p=1+f/c,d=(o*r/u-o/2)/h,y=(f*r/c+u/2)/p,m=y*y-(f*r*r/c+u*r-1)/p;return[_*(d+O(d*d+n*n/h)*a),_*(y+O(m<0?0:m)*v(-e*o)*a)]}function dn(){return(0,n.Z)(pn).scale(127.267)}pn.invert=function(t,e){var r=(t/=_)*t,n=r+(e/=_)*e,i=b*b;return[t?(n-1+O((1-n)*(1-n)+4*r))/(2*t)*_:0,Q((function(t){return n*(b*g(t)-2*t)*b+4*t*t*(e-g(t))+2*b*t-i*e}),0)]};var vn=1.0148,gn=.23185,yn=-.14499,mn=.02406,xn=1.790857183;function bn(t,e){var r=e*e;return[t,e*(vn+r*r*(gn+r*(yn+mn*r)))]}function _n(){return(0,n.Z)(bn).scale(139.319)}function wn(t,e){if(i(e)xn?e=xn:e<-1.790857183&&(e=-1.790857183);var r,n=e;do{var a=n*n;n-=r=(n*(vn+a*a*(gn+a*(yn+mn*a)))-e)/(1.0148+a*a*(1.1592500000000001+a*(.21654*a-1.01493)))}while(i(r)>m);return[t,n]},wn.invert=function(t,e){if(i(e)m&&--o>0);return l=y(a),[(i(e)=0;)if(n=e[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(e.face,r.face),i=(c=n.map(r.project),f=n.map(e.project),h=Sn(c[1],c[0]),p=Sn(f[1],f[0]),d=function(t,e){return o(t[0]*e[1]-t[1]*e[0],t[0]*e[0]+t[1]*e[1])}(h,p),v=En(h)/En(p),Mn([1,0,c[0][0],0,1,c[0][1]],Mn([v,0,0,0,v,0],Mn([s(d),g(d),0,-g(d),s(d),0],[1,0,-f[0][0],0,1,-f[0][1]]))));e.transform=r.transform?Mn(r.transform,i):i;for(var a=r.edges,l=0,u=a.length;l0?[-e[0],0]:[180-e[0],180])};var e=zn.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,r){var n=e[t];n&&(n.children||(n.children=[])).push(e[r])})),Ln(e[0],(function(t,r){return e[t<-b/2?r<0?6:4:t<0?r<0?2:0:tn^p>n&&r<(h-u)*(n-c)/(p-c)+u&&(i=!i)}return i}(t[0],r))return t.push(e),!0}))||t.push([e])})),Jn=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}};function ti(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var a=i(r)<_,o=t(a?r:r>0?r-b:r+b,n),s=(o[0]-o[1])*T,l=(o[0]+o[1])*T;if(a)return[s,l];var u=e*T,c=s>0^l>0?-1:1;return[c*s-v(l)*u,c*l-v(s)*u]}return t.invert&&(r.invert=function(r,n){var a=(r+n)*T,o=(n-r)*T,s=i(a)<.5*e&&i(o)<.5*e;if(!s){var l=e*T,u=a>0^o>0?-1:1,c=-u*r+(o>0?1:-1)*l,f=-u*n+(a>0?1:-1)*l;a=(-c-f)*T,o=(c-f)*T}var h=t.invert(a,o);return s||(h[0]+=a>0?b:-b),h}),(0,n.Z)(r).rotate([-90,-90,45]).clipAngle(179.999)}function ei(){return ti(Le).scale(176.423)}function ri(){return ti(Ie).scale(111.48)}function ni(t,e){if(!(0<=(e=+e)&&e<=20))throw new Error("invalid digits");function r(t){var r=t.length,n=2,i=new Array(r);for(i[0]=+t[0].toFixed(e),i[1]=+t[1].toFixed(e);n2||a[0]!=e[0]||a[1]!=e[1])&&(n.push(a),e=a)}return 1===n.length&&t.length>1&&n.push(r(t[t.length-1])),n}function a(t){return t.map(i)}function o(t){if(null==t)return t;var e;switch(t.type){case"GeometryCollection":e={type:"GeometryCollection",geometries:t.geometries.map(o)};break;case"Point":e={type:"Point",coordinates:r(t.coordinates)};break;case"MultiPoint":e={type:t.type,coordinates:n(t.coordinates)};break;case"LineString":e={type:t.type,coordinates:i(t.coordinates)};break;case"MultiLineString":case"Polygon":e={type:t.type,coordinates:a(t.coordinates)};break;case"MultiPolygon":e={type:"MultiPolygon",coordinates:t.coordinates.map(a)};break;default:return t}return null!=t.bbox&&(e.bbox=t.bbox),e}function s(t){var e={type:"Feature",properties:t.properties,geometry:o(t.geometry)};return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),e}if(null!=t)switch(t.type){case"Feature":return s(t);case"FeatureCollection":var l={type:"FeatureCollection",features:t.features.map(s)};return null!=t.bbox&&(l.bbox=t.bbox),l;default:return o(t)}return t}function ii(t){var e=g(t);function r(r,n){var i=e?y(r*e/2)/e:r/2;if(!n)return[2*i,-t];var o=2*a(i*g(n)),l=1/y(n);return[g(o)*l,n+(1-s(o))*l-t]}return r.invert=function(r,n){if(i(n+=t)m&&--c>0);var d=r*(f=y(u)),v=y(i(n)0?_:-_)*(f+o*(d-l)/2+o*o*(d-2*f+l)/2)]}function li(){return(0,n.Z)(si).scale(152.63)}function ui(t,e){var r=function(t){function e(e,r){var n=s(r),i=(t-1)/(t-n*s(e));return[i*n*g(e),i*g(r)]}return e.invert=function(e,r){var n=e*e+r*r,i=O(n),a=(t-O(1-n*(t+1)/(t-1)))/((t-1)/i+i/(t-1));return[o(e*a,i*O(1-a*a)),i?L(r*a/i):0]},e}(t);if(!e)return r;var n=s(e),i=g(e);function a(e,a){var o=r(e,a),s=o[1],l=s*i/(t-1)+n;return[o[0]*n/l,s/l]}return a.invert=function(e,a){var o=(t-1)/(t-1-a*i);return r.invert(o*e,o*a*n)},a}function ci(){var t=2,e=0,r=(0,n.r)(ui),i=r(t,e);return i.distance=function(n){return arguments.length?r(t=+n,e):t},i.tilt=function(n){return arguments.length?r(t,e=n*E):e*S},i.scale(432.147).clipAngle(C(1/t)*S-1e-6)}oi.forEach((function(t){t[1]*=1.0144})),si.invert=function(t,e){var r=e/_,n=90*r,a=h(18,i(n/5)),o=f(0,u(a));do{var s=oi[o][1],l=oi[o+1][1],c=oi[h(19,o+2)][1],p=c-s,d=c-2*l+s,v=2*(i(r)-l)/p,g=d/p,y=v*(1-g*v*(1-2*g*v));if(y>=0||1===o){n=(e>=0?5:-5)*(y+a);var m,b=50;do{y=(a=h(18,i(n)/5))-(o=u(a)),s=oi[o][1],l=oi[o+1][1],c=oi[h(19,o+2)][1],n-=(m=(e>=0?_:-_)*(l+y*(c-s)/2+y*y*(c-2*l+s)/2)-e)*S}while(i(m)>x&&--b>0);break}}while(--o>=0);var w=oi[o][0],T=oi[o+1][0],k=oi[h(19,o+2)][0];return[t/(T+y*(k-w)/2+y*y*(k-2*T+w)/2),n*E]};var fi=-179.9999,hi=179.9999,pi=-89.9999,di=89.9999;function vi(t){return t.length>0}function gi(t){return-90===t||90===t?[0,t]:[-180,(e=t,Math.floor(1e4*e)/1e4)];var e}function yi(t){var e=t[0],r=t[1],n=!1;return e<=fi?(e=-180,n=!0):e>=hi&&(e=180,n=!0),r<=pi?(r=-90,n=!0):r>=di&&(r=90,n=!0),n?[e,r]:t}function mi(t){return t.map(yi)}function xi(t,e,r){for(var n=0,i=t.length;n=hi||c<=pi||c>=di){a[o]=yi(l);for(var f=o+1;ffi&&ppi&&d=s)break;r.push({index:-1,polygon:e,ring:a=a.slice(f-1)}),a[0]=gi(a[0][1]),o=-1,s=a.length}}}}function bi(t){var e,r,n,i,a,o,s=t.length,l={},u={};for(e=0;e0?b-l:l)*S],c=(0,n.Z)(t(s)).rotate(u),f=(0,_t.Z)(u),h=c.center;return delete c.rotate,c.center=function(t){return arguments.length?h(f(t)):f.invert(h())},c.clipAngle(90)}function Si(t){var e=s(t);function r(t,r){var n=(0,In.M)(t,r);return n[0]*=e,n}return r.invert=function(t,r){return In.M.invert(t/e,r)},r}function Ei(){return Li([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Li(t,e){return Mi(Si,t,e)}function Ci(t){if(!(t*=2))return Z.N;var e=-t/2,r=-e,n=t*t,i=y(r),a=.5/g(r);function l(i,a){var o=C(s(a)*s(i-e)),l=C(s(a)*s(i-r));return[((o*=o)-(l*=l))/(2*t),(a<0?-1:1)*O(4*n*l-(n-o+l)*(n-o+l))/(2*t)]}return l.invert=function(t,n){var l,u,c=n*n,f=s(O(c+(l=t+e)*l)),h=s(O(c+(l=t+r)*l));return[o(u=f-h,l=(f+h)*i),(n<0?-1:1)*C(O(l*l+u*u)*a)]},l}function Oi(){return Pi([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function Pi(t,e){return Mi(Ci,t,e)}function Ii(t,e){if(i(e)m&&--l>0);return[v(t)*(O(a*a+4)+a)*b/4,_*s]};var qi=4*b+3*O(3),Gi=2*O(2*b*O(3)/qi),Zi=it(Gi*O(3)/b,Gi,qi/6);function Wi(){return(0,n.Z)(Zi).scale(176.84)}function Yi(t,e){return[t*O(1-3*e*e/(b*b)),e]}function Xi(){return(0,n.Z)(Yi).scale(152.63)}function Ji(t,e){var r=s(e),n=s(t)*r,i=1-n,a=s(t=o(g(t)*r,-g(e))),l=g(t);return[l*(r=O(1-n*n))-a*i,-a*r-l*i]}function Ki(){return(0,n.Z)(Ji).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)}function $i(t,e){var r=R(t,e);return[(r[0]+t/_)/2,(r[1]+e)/2]}function Qi(){return(0,n.Z)($i).scale(158.837)}Yi.invert=function(t,e){return[t/O(1-3*e*e/(b*b)),e]},Ji.invert=function(t,e){var r=(t*t+e*e)/-2,n=O(-r*(2+r)),i=e*r+t*n,a=t*r-e*n,s=O(a*a+i*i);return[o(n*i,s*(1+r)),s?-L(n*a/s):0]},$i.invert=function(t,e){var r=t,n=e,a=25;do{var o,l=s(n),u=g(n),c=g(2*n),f=u*u,h=l*l,p=g(r),d=s(r/2),v=g(r/2),y=v*v,x=1-h*d*d,b=x?C(l*d)*O(o=1/x):o=0,w=.5*(2*b*l*v+r/_)-t,T=.5*(b*u+n)-e,k=.5*o*(h*y+b*l*d*f)+.5/_,A=o*(p*c/4-b*u*v),M=.125*o*(c*v-b*u*h*p),S=.5*o*(f*d+b*y*l)+.5,E=A*M-S*k,L=(T*A-w*S)/E,P=(w*M-T*k)/E;r-=L,n-=P}while((i(L)>m||i(P)>m)&&--a>0);return[r,n]}},33940:function(t,e,r){"use strict";function n(){return new i}function i(){this.reset()}r.d(e,{Z:function(){return n}}),i.prototype={constructor:i,reset:function(){this.s=this.t=0},add:function(t){o(a,t,this.t),o(this,a.s,this.s),this.s?this.t+=a.t:this.s=a.t},valueOf:function(){return this.s}};var a=new i;function o(t,e,r){var n=t.s=e+r,i=n-e,a=n-i;t.t=e-a+(r-i)}},97860:function(t,e,r){"use strict";r.d(e,{L9:function(){return h},ZP:function(){return x},gL:function(){return d}});var n,i,a,o,s,l=r(33940),u=r(39695),c=r(73182),f=r(72736),h=(0,l.Z)(),p=(0,l.Z)(),d={point:c.Z,lineStart:c.Z,lineEnd:c.Z,polygonStart:function(){h.reset(),d.lineStart=v,d.lineEnd=g},polygonEnd:function(){var t=+h;p.add(t<0?u.BZ+t:t),this.lineStart=this.lineEnd=this.point=c.Z},sphere:function(){p.add(u.BZ)}};function v(){d.point=y}function g(){m(n,i)}function y(t,e){d.point=m,n=t,i=e,t*=u.uR,e*=u.uR,a=t,o=(0,u.mC)(e=e/2+u.pu),s=(0,u.O$)(e)}function m(t,e){t*=u.uR,e=(e*=u.uR)/2+u.pu;var r=t-a,n=r>=0?1:-1,i=n*r,l=(0,u.mC)(e),c=(0,u.O$)(e),f=s*c,p=o*l+f*(0,u.mC)(i),d=f*n*(0,u.O$)(i);h.add((0,u.fv)(d,p)),a=t,o=l,s=c}function x(t){return p.reset(),(0,f.Z)(t,d),2*p}},77338:function(t,e,r){"use strict";r.d(e,{Z:function(){return C}});var n,i,a,o,s,l,u,c,f,h,p=r(33940),d=r(97860),v=r(7620),g=r(39695),y=r(72736),m=(0,p.Z)(),x={point:b,lineStart:w,lineEnd:T,polygonStart:function(){x.point=k,x.lineStart=A,x.lineEnd=M,m.reset(),d.gL.polygonStart()},polygonEnd:function(){d.gL.polygonEnd(),x.point=b,x.lineStart=w,x.lineEnd=T,d.L9<0?(n=-(a=180),i=-(o=90)):m>g.Ho?o=90:m<-g.Ho&&(i=-90),h[0]=n,h[1]=a},sphere:function(){n=-(a=180),i=-(o=90)}};function b(t,e){f.push(h=[n=t,a=t]),eo&&(o=e)}function _(t,e){var r=(0,v.Og)([t*g.uR,e*g.uR]);if(c){var l=(0,v.T5)(c,r),u=[l[1],-l[0],0],p=(0,v.T5)(u,l);(0,v.iJ)(p),p=(0,v.Y1)(p);var d,y=t-s,m=y>0?1:-1,x=p[0]*g.RW*m,b=(0,g.Wn)(y)>180;b^(m*so&&(o=d):b^(m*s<(x=(x+360)%360-180)&&xo&&(o=e)),b?tS(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t):a>=n?(ta&&(a=t)):t>s?S(n,t)>S(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t)}else f.push(h=[n=t,a=t]);eo&&(o=e),c=r,s=t}function w(){x.point=_}function T(){h[0]=n,h[1]=a,x.point=b,c=null}function k(t,e){if(c){var r=t-s;m.add((0,g.Wn)(r)>180?r+(r>0?360:-360):r)}else l=t,u=e;d.gL.point(t,e),_(t,e)}function A(){d.gL.lineStart()}function M(){k(l,u),d.gL.lineEnd(),(0,g.Wn)(m)>g.Ho&&(n=-(a=180)),h[0]=n,h[1]=a,c=null}function S(t,e){return(e-=t)<0?e+360:e}function E(t,e){return t[0]-e[0]}function L(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:eS(s[0],s[1])&&(s[1]=l[1]),S(l[0],s[1])>S(s[0],s[1])&&(s[0]=l[0])):u.push(s=l);for(c=-1/0,e=0,s=u[r=u.length-1];e<=r;s=l,++e)l=u[e],(p=S(s[1],l[0]))>c&&(c=p,n=l[0],a=s[1])}return f=h=null,n===1/0||i===1/0?[[NaN,NaN],[NaN,NaN]]:[[n,i],[a,o]]}},7620:function(t,e,r){"use strict";r.d(e,{Og:function(){return a},T:function(){return u},T5:function(){return s},Y1:function(){return i},iJ:function(){return c},j9:function(){return o},s0:function(){return l}});var n=r(39695);function i(t){return[(0,n.fv)(t[1],t[0]),(0,n.ZR)(t[2])]}function a(t){var e=t[0],r=t[1],i=(0,n.mC)(r);return[i*(0,n.mC)(e),i*(0,n.O$)(e),(0,n.O$)(r)]}function o(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function s(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 l(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function u(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function c(t){var e=(0,n._b)(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}},66624:function(t,e,r){"use strict";r.d(e,{Z:function(){return I}});var n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=r(39695),b=r(73182),_=r(72736),w={sphere:b.Z,point:T,lineStart:A,lineEnd:E,polygonStart:function(){w.lineStart=L,w.lineEnd=C},polygonEnd:function(){w.lineStart=A,w.lineEnd=E}};function T(t,e){t*=x.uR,e*=x.uR;var r=(0,x.mC)(e);k(r*(0,x.mC)(t),r*(0,x.O$)(t),(0,x.O$)(e))}function k(t,e,r){++n,a+=(t-a)/n,o+=(e-o)/n,s+=(r-s)/n}function A(){w.point=M}function M(t,e){t*=x.uR,e*=x.uR;var r=(0,x.mC)(e);g=r*(0,x.mC)(t),y=r*(0,x.O$)(t),m=(0,x.O$)(e),w.point=S,k(g,y,m)}function S(t,e){t*=x.uR,e*=x.uR;var r=(0,x.mC)(e),n=r*(0,x.mC)(t),a=r*(0,x.O$)(t),o=(0,x.O$)(e),s=(0,x.fv)((0,x._b)((s=y*o-m*a)*s+(s=m*n-g*o)*s+(s=g*a-y*n)*s),g*n+y*a+m*o);i+=s,l+=s*(g+(g=n)),u+=s*(y+(y=a)),c+=s*(m+(m=o)),k(g,y,m)}function E(){w.point=T}function L(){w.point=O}function C(){P(d,v),w.point=T}function O(t,e){d=t,v=e,t*=x.uR,e*=x.uR,w.point=P;var r=(0,x.mC)(e);g=r*(0,x.mC)(t),y=r*(0,x.O$)(t),m=(0,x.O$)(e),k(g,y,m)}function P(t,e){t*=x.uR,e*=x.uR;var r=(0,x.mC)(e),n=r*(0,x.mC)(t),a=r*(0,x.O$)(t),o=(0,x.O$)(e),s=y*o-m*a,d=m*n-g*o,v=g*a-y*n,b=(0,x._b)(s*s+d*d+v*v),_=(0,x.ZR)(b),w=b&&-_/b;f+=w*s,h+=w*d,p+=w*v,i+=_,l+=_*(g+(g=n)),u+=_*(y+(y=a)),c+=_*(m+(m=o)),k(g,y,m)}function I(t){n=i=a=o=s=l=u=c=f=h=p=0,(0,_.Z)(t,w);var e=f,r=h,d=p,v=e*e+r*r+d*d;return v0?os)&&(o+=i*a.BZ));for(var h,p=o;i>0?p>s:p0?i.pi:-i.pi,u=(0,i.Wn)(o-r);(0,i.Wn)(u-i.pi)0?i.ou:-i.ou),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),t.point(o,n),e=0):a!==l&&u>=i.pi&&((0,i.Wn)(r-a)i.Ho?(0,i.z4)(((0,i.O$)(e)*(o=(0,i.mC)(n))*(0,i.O$)(r)-(0,i.O$)(n)*(a=(0,i.mC)(e))*(0,i.O$)(t))/(a*o*s)):(e+n)/2}(r,n,o,s),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),e=0),t.point(r=o,n=s),a=l},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var a;if(null==t)a=r*i.ou,n.point(-i.pi,a),n.point(0,a),n.point(i.pi,a),n.point(i.pi,0),n.point(i.pi,-a),n.point(0,-a),n.point(-i.pi,-a),n.point(-i.pi,0),n.point(-i.pi,a);else if((0,i.Wn)(t[0]-e[0])>i.Ho){var o=t[0]1&&e.push(e.pop().concat(e.shift()))},result:function(){var r=e;return e=[],t=null,r}}}},1457:function(t,e,r){"use strict";r.d(e,{Z:function(){return l}});var n=r(7620),i=r(7613),a=r(39695),o=r(67108),s=r(97023);function l(t){var e=(0,a.mC)(t),r=6*a.uR,l=e>0,u=(0,a.Wn)(e)>a.Ho;function c(t,r){return(0,a.mC)(t)*(0,a.mC)(r)>e}function f(t,r,i){var o=(0,n.Og)(t),s=(0,n.Og)(r),l=[1,0,0],u=(0,n.T5)(o,s),c=(0,n.j9)(u,u),f=u[0],h=c-f*f;if(!h)return!i&&t;var p=e*c/h,d=-e*f/h,v=(0,n.T5)(l,u),g=(0,n.T)(l,p),y=(0,n.T)(u,d);(0,n.s0)(g,y);var m=v,x=(0,n.j9)(g,m),b=(0,n.j9)(m,m),_=x*x-b*((0,n.j9)(g,g)-1);if(!(_<0)){var w=(0,a._b)(_),T=(0,n.T)(m,(-x-w)/b);if((0,n.s0)(T,g),T=(0,n.Y1)(T),!i)return T;var k,A=t[0],M=r[0],S=t[1],E=r[1];M0^T[1]<((0,a.Wn)(T[0]-A)a.pi^(A<=T[0]&&T[0]<=M)){var O=(0,n.T)(m,(-x+w)/b);return(0,n.s0)(O,g),[T,(0,n.Y1)(O)]}}}function h(e,r){var n=l?t:a.pi-t,i=0;return e<-n?i|=1:e>n&&(i|=2),r<-n?i|=4:r>n&&(i|=8),i}return(0,s.Z)(c,(function(t){var e,r,n,i,s;return{lineStart:function(){i=n=!1,s=1},point:function(p,d){var v,g=[p,d],y=c(p,d),m=l?y?0:h(p,d):y?h(p+(p<0?a.pi:-a.pi),d):0;if(!e&&(i=n=y)&&t.lineStart(),y!==n&&(!(v=f(e,g))||(0,o.Z)(e,v)||(0,o.Z)(g,v))&&(g[2]=1),y!==n)s=0,y?(t.lineStart(),v=f(g,e),t.point(v[0],v[1])):(v=f(e,g),t.point(v[0],v[1],2),t.lineEnd()),e=v;else if(u&&e&&l^y){var x;m&r||!(x=f(g,e,!0))||(s=0,l?(t.lineStart(),t.point(x[0][0],x[0][1]),t.point(x[1][0],x[1][1]),t.lineEnd()):(t.point(x[1][0],x[1][1]),t.lineEnd(),t.lineStart(),t.point(x[0][0],x[0][1],3)))}!y||e&&(0,o.Z)(e,g)||t.point(g[0],g[1]),e=g,n=y,r=m},lineEnd:function(){n&&t.lineEnd(),e=null},clean:function(){return s|(i&&n)<<1}}}),(function(e,n,a,o){(0,i.m)(o,t,r,a,e,n)}),l?[0,-t]:[-a.pi,t-a.pi])}},97023:function(t,e,r){"use strict";r.d(e,{Z:function(){return l}});var n=r(85272),i=r(46225),a=r(39695),o=r(23071),s=r(33064);function l(t,e,r,a){return function(l){var f,h,p,d=e(l),v=(0,n.Z)(),g=e(v),y=!1,m={point:x,lineStart:_,lineEnd:w,polygonStart:function(){m.point=T,m.lineStart=k,m.lineEnd=A,h=[],f=[]},polygonEnd:function(){m.point=x,m.lineStart=_,m.lineEnd=w,h=(0,s.TS)(h);var t=(0,o.Z)(f,a);h.length?(y||(l.polygonStart(),y=!0),(0,i.Z)(h,c,t,r,l)):t&&(y||(l.polygonStart(),y=!0),l.lineStart(),r(null,null,1,l),l.lineEnd()),y&&(l.polygonEnd(),y=!1),h=f=null},sphere:function(){l.polygonStart(),l.lineStart(),r(null,null,1,l),l.lineEnd(),l.polygonEnd()}};function x(e,r){t(e,r)&&l.point(e,r)}function b(t,e){d.point(t,e)}function _(){m.point=b,d.lineStart()}function w(){m.point=x,d.lineEnd()}function T(t,e){p.push([t,e]),g.point(t,e)}function k(){g.lineStart(),p=[]}function A(){T(p[0][0],p[0][1]),g.lineEnd();var t,e,r,n,i=g.clean(),a=v.result(),o=a.length;if(p.pop(),f.push(p),p=null,o)if(1&i){if((e=(r=a[0]).length-1)>0){for(y||(l.polygonStart(),y=!0),l.lineStart(),t=0;t1&&2&i&&a.push(a.pop().concat(a.shift())),h.push(a.filter(u))}return m}}function u(t){return t.length>1}function c(t,e){return((t=t.x)[0]<0?t[1]-a.ou-a.Ho:a.ou-t[1])-((e=e.x)[0]<0?e[1]-a.ou-a.Ho:a.ou-e[1])}},87605:function(t,e,r){"use strict";r.d(e,{Z:function(){return u}});var n=r(39695),i=r(85272),a=r(46225),o=r(33064),s=1e9,l=-s;function u(t,e,r,u){function c(n,i){return t<=n&&n<=r&&e<=i&&i<=u}function f(n,i,a,o){var s=0,l=0;if(null==n||(s=h(n,a))!==(l=h(i,a))||d(n,i)<0^a>0)do{o.point(0===s||3===s?t:r,s>1?u:e)}while((s=(s+a+4)%4)!==l);else o.point(i[0],i[1])}function h(i,a){return(0,n.Wn)(i[0]-t)0?0:3:(0,n.Wn)(i[0]-r)0?2:1:(0,n.Wn)(i[1]-e)0?1:0:a>0?3:2}function p(t,e){return d(t.x,e.x)}function d(t,e){var r=h(t,1),n=h(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}return function(n){var h,d,v,g,y,m,x,b,_,w,T,k=n,A=(0,i.Z)(),M={point:S,lineStart:function(){M.point=E,d&&d.push(v=[]),w=!0,_=!1,x=b=NaN},lineEnd:function(){h&&(E(g,y),m&&_&&A.rejoin(),h.push(A.result())),M.point=S,_&&k.lineEnd()},polygonStart:function(){k=A,h=[],d=[],T=!0},polygonEnd:function(){var e=function(){for(var e=0,r=0,n=d.length;ru&&(f-i)*(u-a)>(h-a)*(t-i)&&++e:h<=u&&(f-i)*(u-a)<(h-a)*(t-i)&&--e;return e}(),r=T&&e,i=(h=(0,o.TS)(h)).length;(r||i)&&(n.polygonStart(),r&&(n.lineStart(),f(null,null,1,n),n.lineEnd()),i&&(0,a.Z)(h,p,e,f,n),n.polygonEnd()),k=n,h=d=v=null}};function S(t,e){c(t,e)&&k.point(t,e)}function E(n,i){var a=c(n,i);if(d&&v.push([n,i]),w)g=n,y=i,m=a,w=!1,a&&(k.lineStart(),k.point(n,i));else if(a&&_)k.point(n,i);else{var o=[x=Math.max(l,Math.min(s,x)),b=Math.max(l,Math.min(s,b))],f=[n=Math.max(l,Math.min(s,n)),i=Math.max(l,Math.min(s,i))];!function(t,e,r,n,i,a){var o,s=t[0],l=t[1],u=0,c=1,f=e[0]-s,h=e[1]-l;if(o=r-s,f||!(o>0)){if(o/=f,f<0){if(o0){if(o>c)return;o>u&&(u=o)}if(o=i-s,f||!(o<0)){if(o/=f,f<0){if(o>c)return;o>u&&(u=o)}else if(f>0){if(o0)){if(o/=h,h<0){if(o0){if(o>c)return;o>u&&(u=o)}if(o=a-l,h||!(o<0)){if(o/=h,h<0){if(o>c)return;o>u&&(u=o)}else if(h>0){if(o0&&(t[0]=s+u*f,t[1]=l+u*h),c<1&&(e[0]=s+c*f,e[1]=l+c*h),!0}}}}}(o,f,t,e,r,u)?a&&(k.lineStart(),k.point(n,i),T=!1):(_||(k.lineStart(),k.point(o[0],o[1])),k.point(f[0],f[1]),a||k.lineEnd(),T=!1)}x=n,b=i,_=a}return M}}},46225:function(t,e,r){"use strict";r.d(e,{Z:function(){return o}});var n=r(67108),i=r(39695);function a(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 o(t,e,r,o,l){var u,c,f=[],h=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,r,o=t[0],s=t[e];if((0,n.Z)(o,s)){if(!o[2]&&!s[2]){for(l.lineStart(),u=0;u=0;--u)l.point((d=p[u])[0],d[1]);else o(g.x,g.p.x,-1,l);g=g.p}p=(g=g.o).z,y=!y}while(!g.v);l.lineEnd()}}}function s(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n0&&(i=S(t[a],t[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))g.Ho})).map(l)).concat((0,F.w6)((0,g.mD)(a/p)*p,i,p).filter((function(t){return(0,g.Wn)(t%v)>g.Ho})).map(u))}return m.lines=function(){return x().map((function(t){return{type:"LineString",coordinates:t}}))},m.outline=function(){return{type:"Polygon",coordinates:[c(n).concat(f(o).slice(1),c(r).reverse().slice(1),f(s).reverse().slice(1))]}},m.extent=function(t){return arguments.length?m.extentMajor(t).extentMinor(t):m.extentMinor()},m.extentMajor=function(t){return arguments.length?(n=+t[0][0],r=+t[1][0],s=+t[0][1],o=+t[1][1],n>r&&(t=n,n=r,r=t),s>o&&(t=s,s=o,o=t),m.precision(y)):[[n,s],[r,o]]},m.extentMinor=function(r){return arguments.length?(e=+r[0][0],t=+r[1][0],a=+r[0][1],i=+r[1][1],e>t&&(r=e,e=t,t=r),a>i&&(r=a,a=i,i=r),m.precision(y)):[[e,a],[t,i]]},m.step=function(t){return arguments.length?m.stepMajor(t).stepMinor(t):m.stepMinor()},m.stepMajor=function(t){return arguments.length?(d=+t[0],v=+t[1],m):[d,v]},m.stepMinor=function(t){return arguments.length?(h=+t[0],p=+t[1],m):[h,p]},m.precision=function(h){return arguments.length?(y=+h,l=B(a,i,90),u=N(e,t,y),c=B(s,o,90),f=N(n,r,y),m):y},m.extentMajor([[-180,-90+g.Ho],[180,90-g.Ho]]).extentMinor([[-180,-80-g.Ho],[180,80+g.Ho]])}function U(){return j()()}var V,H,q,G,Z=r(83074),W=r(8593),Y=(0,v.Z)(),X=(0,v.Z)(),J={point:y.Z,lineStart:y.Z,lineEnd:y.Z,polygonStart:function(){J.lineStart=K,J.lineEnd=tt},polygonEnd:function(){J.lineStart=J.lineEnd=J.point=y.Z,Y.add((0,g.Wn)(X)),X.reset()},result:function(){var t=Y/2;return Y.reset(),t}};function K(){J.point=$}function $(t,e){J.point=Q,V=q=t,H=G=e}function Q(t,e){X.add(G*t-q*e),q=t,G=e}function tt(){Q(V,H)}var et,rt,nt,it,at=J,ot=r(3559),st=0,lt=0,ut=0,ct=0,ft=0,ht=0,pt=0,dt=0,vt=0,gt={point:yt,lineStart:mt,lineEnd:_t,polygonStart:function(){gt.lineStart=wt,gt.lineEnd=Tt},polygonEnd:function(){gt.point=yt,gt.lineStart=mt,gt.lineEnd=_t},result:function(){var t=vt?[pt/vt,dt/vt]:ht?[ct/ht,ft/ht]:ut?[st/ut,lt/ut]:[NaN,NaN];return st=lt=ut=ct=ft=ht=pt=dt=vt=0,t}};function yt(t,e){st+=t,lt+=e,++ut}function mt(){gt.point=xt}function xt(t,e){gt.point=bt,yt(nt=t,it=e)}function bt(t,e){var r=t-nt,n=e-it,i=(0,g._b)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,yt(nt=t,it=e)}function _t(){gt.point=yt}function wt(){gt.point=kt}function Tt(){At(et,rt)}function kt(t,e){gt.point=At,yt(et=nt=t,rt=it=e)}function At(t,e){var r=t-nt,n=e-it,i=(0,g._b)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,pt+=(i=it*t-nt*e)*(nt+t),dt+=i*(it+e),vt+=3*i,yt(nt=t,it=e)}var Mt=gt;function St(t){this._context=t}St.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,g.BZ)}},result:y.Z};var Et,Lt,Ct,Ot,Pt,It=(0,v.Z)(),Dt={point:y.Z,lineStart:function(){Dt.point=zt},lineEnd:function(){Et&&Rt(Lt,Ct),Dt.point=y.Z},polygonStart:function(){Et=!0},polygonEnd:function(){Et=null},result:function(){var t=+It;return It.reset(),t}};function zt(t,e){Dt.point=Rt,Lt=Ot=t,Ct=Pt=e}function Rt(t,e){Ot-=t,Pt-=e,It.add((0,g._b)(Ot*Ot+Pt*Pt)),Ot=t,Pt=e}var Ft=Dt;function Bt(){this._string=[]}function Nt(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function jt(t,e){var r,n,i=4.5;function a(t){return t&&("function"==typeof i&&n.pointRadius(+i.apply(this,arguments)),(0,m.Z)(t,r(n))),n.result()}return a.area=function(t){return(0,m.Z)(t,r(at)),at.result()},a.measure=function(t){return(0,m.Z)(t,r(Ft)),Ft.result()},a.bounds=function(t){return(0,m.Z)(t,r(ot.Z)),ot.Z.result()},a.centroid=function(t){return(0,m.Z)(t,r(Mt)),Mt.result()},a.projection=function(e){return arguments.length?(r=null==e?(t=null,W.Z):(t=e).stream,a):t},a.context=function(t){return arguments.length?(n=null==t?(e=null,new Bt):new St(e=t),"function"!=typeof i&&n.pointRadius(i),a):e},a.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(n.pointRadius(+t),+t),a):i},a.projection(t).context(e)}Bt.prototype={_radius:4.5,_circle:Nt(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=Nt(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var Ut=r(15002);function Vt(t){var e=0,r=g.pi/3,n=(0,Ut.r)(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*g.uR,r=t[1]*g.uR):[e*g.RW,r*g.RW]},i}function Ht(t,e){var r=(0,g.O$)(t),n=(r+(0,g.O$)(e))/2;if((0,g.Wn)(n)=.12&&i<.234&&n>=-.425&&n<-.214?s:i>=.166&&i<.234&&n>=-.214&&n<-.115?l:o).invert(t)},c.stream=function(r){return t&&e===r?t:(n=[o.stream(e=r),s.stream(r),l.stream(r)],i=n.length,t={point:function(t,e){for(var r=-1;++r0?e<-g.ou+g.Ho&&(e=-g.ou+g.Ho):e>g.ou-g.Ho&&(e=g.ou-g.Ho);var r=i/(0,g.sQ)(te(e),n);return[r*(0,g.O$)(n*t),i-r*(0,g.mC)(n*t)]}return a.invert=function(t,e){var r=i-e,a=(0,g.Xx)(n)*(0,g._b)(t*t+r*r),o=(0,g.fv)(t,(0,g.Wn)(r))*(0,g.Xx)(r);return r*n<0&&(o-=g.pi*(0,g.Xx)(t)*(0,g.Xx)(r)),[o/n,2*(0,g.z4)((0,g.sQ)(i/a,1/n))-g.ou]},a}function re(){return Vt(ee).scale(109.5).parallels([30,30])}Kt.invert=function(t,e){return[t,2*(0,g.z4)((0,g.Qq)(e))-g.ou]};var ne=r(97492);function ie(t,e){var r=(0,g.mC)(t),n=t===e?(0,g.O$)(t):(r-(0,g.mC)(e))/(e-t),i=r/n+t;if((0,g.Wn)(n)2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90]).scale(159.155)}xe.invert=(0,me.O)((function(t){return 2*(0,g.z4)(t)})),_e.invert=function(t,e){return[-e,2*(0,g.z4)((0,g.Qq)(t))-g.ou]}},83074:function(t,e,r){"use strict";r.d(e,{Z:function(){return i}});var n=r(39695);function i(t,e){var r=t[0]*n.uR,i=t[1]*n.uR,a=e[0]*n.uR,o=e[1]*n.uR,s=(0,n.mC)(i),l=(0,n.O$)(i),u=(0,n.mC)(o),c=(0,n.O$)(o),f=s*(0,n.mC)(r),h=s*(0,n.O$)(r),p=u*(0,n.mC)(a),d=u*(0,n.O$)(a),v=2*(0,n.ZR)((0,n._b)((0,n.Jy)(o-i)+s*u*(0,n.Jy)(a-r))),g=(0,n.O$)(v),y=v?function(t){var e=(0,n.O$)(t*=v)/g,r=(0,n.O$)(v-t)/g,i=r*f+e*p,a=r*h+e*d,o=r*l+e*c;return[(0,n.fv)(a,i)*n.RW,(0,n.fv)(o,(0,n._b)(i*i+a*a))*n.RW]}:function(){return[r*n.RW,i*n.RW]};return y.distance=v,y}},39695:function(t,e,r){"use strict";r.d(e,{BZ:function(){return l},Ho:function(){return n},Jy:function(){return A},Kh:function(){return T},O$:function(){return x},OR:function(){return w},Qq:function(){return g},RW:function(){return u},Wn:function(){return f},Xx:function(){return b},ZR:function(){return k},_b:function(){return _},aW:function(){return i},cM:function(){return y},fv:function(){return p},mC:function(){return d},mD:function(){return v},ou:function(){return o},pi:function(){return a},pu:function(){return s},sQ:function(){return m},uR:function(){return c},z4:function(){return h}});var n=1e-6,i=1e-12,a=Math.PI,o=a/2,s=a/4,l=2*a,u=180/a,c=a/180,f=Math.abs,h=Math.atan,p=Math.atan2,d=Math.cos,v=Math.ceil,g=Math.exp,y=(Math.floor,Math.log),m=Math.pow,x=Math.sin,b=Math.sign||function(t){return t>0?1:t<0?-1:0},_=Math.sqrt,w=Math.tan;function T(t){return t>1?0:t<-1?a:Math.acos(t)}function k(t){return t>1?o:t<-1?-o:Math.asin(t)}function A(t){return(t=x(t/2))*t}},73182:function(t,e,r){"use strict";function n(){}r.d(e,{Z:function(){return n}})},3559:function(t,e,r){"use strict";var n=r(73182),i=1/0,a=i,o=-i,s=o,l={point:function(t,e){to&&(o=t),es&&(s=e)},lineStart:n.Z,lineEnd:n.Z,polygonStart:n.Z,polygonEnd:n.Z,result:function(){var t=[[i,a],[o,s]];return o=s=-(a=i=1/0),t}};e.Z=l},67108:function(t,e,r){"use strict";r.d(e,{Z:function(){return i}});var n=r(39695);function i(t,e){return(0,n.Wn)(t[0]-e[0])=0?1:-1,L=E*S,C=L>a.pi,O=x*A;if(o.add((0,a.fv)(O*E*(0,a.O$)(L),b*M+O*(0,a.mC)(L))),c+=C?S+E*a.BZ:S,C^y>=r^T>=r){var P=(0,i.T5)((0,i.Og)(g),(0,i.Og)(w));(0,i.iJ)(P);var I=(0,i.T5)(u,P);(0,i.iJ)(I);var D=(C^S>=0?-1:1)*(0,a.ZR)(I[2]);(n>D||n===D&&(P[0]||P[1]))&&(f+=C^S>=0?1:-1)}}return(c<-a.Ho||c4*e&&y--){var w=o+d,T=s+v,k=u+g,A=(0,l._b)(w*w+T*T+k*k),M=(0,l.ZR)(k/=A),S=(0,l.Wn)((0,l.Wn)(k)-1)e||(0,l.Wn)((x*O+b*P)/_-.5)>.3||o*d+s*v+u*g2?t[2]%360*l.uR:0,V()):[L*l.RW,C*l.RW,O*l.RW]},j.angle=function(t){return arguments.length?(P=t%360*l.uR,V()):P*l.RW},j.reflectX=function(t){return arguments.length?(I=t?-1:1,V()):I<0},j.reflectY=function(t){return arguments.length?(D=t?-1:1,V()):D<0},j.precision=function(t){return arguments.length?(x=d(b,N=t*t),H()):(0,l._b)(N)},j.fitExtent=function(t,e){return(0,f.qg)(j,t,e)},j.fitSize=function(t,e){return(0,f.mF)(j,t,e)},j.fitWidth=function(t,e){return(0,f.V6)(j,t,e)},j.fitHeight=function(t,e){return(0,f.rf)(j,t,e)},function(){return e=t.apply(this,arguments),j.invert=e.invert&&U,V()}}},26867:function(t,e,r){"use strict";r.d(e,{K:function(){return a},Z:function(){return o}});var n=r(15002),i=r(39695);function a(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}function o(){return(0,n.Z)(a).scale(175.295)}a.invert=function(t,e){var r,n=e,a=25;do{var o=n*n,s=o*o;n-=r=(n*(1.007226+o*(.015085+s*(.028874*o-.044475-.005916*s)))-e)/(1.007226+o*(.045255+s*(.259866*o-.311325-.005916*11*s)))}while((0,i.Wn)(r)>i.Ho&&--a>0);return[t/(.8707+(o=n*n)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),n]}},57962:function(t,e,r){"use strict";r.d(e,{I:function(){return o},Z:function(){return s}});var n=r(39695),i=r(25382),a=r(15002);function o(t,e){return[(0,n.mC)(e)*(0,n.O$)(t),(0,n.O$)(e)]}function s(){return(0,a.Z)(o).scale(249.5).clipAngle(90+n.Ho)}o.invert=(0,i.O)(n.ZR)},49386:function(t,e,r){"use strict";r.d(e,{I:function(){return o},Z:function(){return c}});var n=r(96059),i=r(39695);function a(t,e){return[(0,i.Wn)(t)>i.pi?t+Math.round(-t/i.BZ)*i.BZ:t,e]}function o(t,e,r){return(t%=i.BZ)?e||r?(0,n.Z)(l(t),u(e,r)):l(t):e||r?u(e,r):a}function s(t){return function(e,r){return[(e+=t)>i.pi?e-i.BZ:e<-i.pi?e+i.BZ:e,r]}}function l(t){var e=s(t);return e.invert=s(-t),e}function u(t,e){var r=(0,i.mC)(t),n=(0,i.O$)(t),a=(0,i.mC)(e),o=(0,i.O$)(e);function s(t,e){var s=(0,i.mC)(e),l=(0,i.mC)(t)*s,u=(0,i.O$)(t)*s,c=(0,i.O$)(e),f=c*r+l*n;return[(0,i.fv)(u*a-f*o,l*r-c*n),(0,i.ZR)(f*a+u*o)]}return s.invert=function(t,e){var s=(0,i.mC)(e),l=(0,i.mC)(t)*s,u=(0,i.O$)(t)*s,c=(0,i.O$)(e),f=c*a-u*o;return[(0,i.fv)(u*a+c*o,l*r+f*n),(0,i.ZR)(f*r-l*n)]},s}function c(t){function e(e){return(e=t(e[0]*i.uR,e[1]*i.uR))[0]*=i.RW,e[1]*=i.RW,e}return t=o(t[0]*i.uR,t[1]*i.uR,t.length>2?t[2]*i.uR:0),e.invert=function(e){return(e=t.invert(e[0]*i.uR,e[1]*i.uR))[0]*=i.RW,e[1]*=i.RW,e},e}a.invert=a},72736:function(t,e,r){"use strict";function n(t,e){t&&a.hasOwnProperty(t.type)&&a[t.type](t,e)}r.d(e,{Z:function(){return l}});var i={Feature:function(t,e){n(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,i=-1,a=r.length;++i=0;)e+=r[n].value;else e=1;t.value=e}function l(t,e){var r,n,i,a,o,s=new h(t),l=+t.value&&(s.value=t.value),c=[s];for(null==e&&(e=u);r=c.pop();)if(l&&(r.value=+r.data.value),(i=e(r.data))&&(o=i.length))for(r.children=new Array(o),a=o-1;a>=0;--a)c.push(n=r.children[a]=new h(i[a])),n.parent=r,n.depth=r.depth+1;return s.eachBefore(f)}function u(t){return t.children}function c(t){t.data=t.data.data}function f(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function h(t){this.data=t,this.depth=this.height=0,this.parent=null}r.r(e),r.d(e,{cluster:function(){return o},hierarchy:function(){return l},pack:function(){return I},packEnclose:function(){return d},packSiblings:function(){return S},partition:function(){return N},stratify:function(){return q},tree:function(){return K},treemap:function(){return rt},treemapBinary:function(){return nt},treemapDice:function(){return B},treemapResquarify:function(){return at},treemapSlice:function(){return $},treemapSliceDice:function(){return it},treemapSquarify:function(){return et}}),h.prototype=l.prototype={constructor:h,count:function(){return this.eachAfter(s)},each:function(t){var e,r,n,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),r=a.children)for(n=0,i=r.length;n=0;--r)i.push(e[r]);return this},sum:function(t){return this.eachAfter((function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(r){r!==t&&e.push({source:r.parent,target:r})})),e},copy:function(){return l(this).eachBefore(c)}};var p=Array.prototype.slice;function d(t){for(var e,r,n=0,i=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(p.call(t))).length,a=[];n0&&r*r>n*n+i*i}function m(t,e){for(var r=0;r(o*=o)?(n=(u+o-i)/(2*u),a=Math.sqrt(Math.max(0,o/u-n*n)),r.x=t.x-n*s-a*l,r.y=t.y-n*l+a*s):(n=(u+i-o)/(2*u),a=Math.sqrt(Math.max(0,i/u-n*n)),r.x=e.x+n*s-a*l,r.y=e.y+n*l+a*s)):(r.x=e.x+r.r,r.y=e.y)}function T(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function k(t){var e=t._,r=t.next._,n=e.r+r.r,i=(e.x*r.r+r.x*e.r)/n,a=(e.y*r.r+r.y*e.r)/n;return i*i+a*a}function A(t){this._=t,this.next=null,this.previous=null}function M(t){if(!(i=t.length))return 0;var e,r,n,i,a,o,s,l,u,c,f;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(i>2))return e.r+r.r;w(r,e,n=t[2]),e=new A(e),r=new A(r),n=new A(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s0)throw new Error("cycle");return a}return r.id=function(e){return arguments.length?(t=L(e),r):t},r.parentId=function(t){return arguments.length?(e=L(t),r):e},r}function G(t,e){return t.parent===e.parent?1:2}function Z(t){var e=t.children;return e?e[0]:t.t}function W(t){var e=t.children;return e?e[e.length-1]:t.t}function Y(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 X(t,e,r){return t.a.parent===e.parent?t.a:r}function J(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function K(){var t=G,e=1,r=1,n=null;function i(i){var l=function(t){for(var e,r,n,i,a,o=new J(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=e.children[i]=new J(n[i],i)),r.parent=e;return(o.parent=new J(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var u=i,c=i,f=i;i.eachBefore((function(t){t.xc.x&&(c=t),t.depth>f.depth&&(f=t)}));var h=u===c?1:t(u,c)/2,p=h-u.x,d=e/(c.x+h+p),v=r/(f.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*v}))}return i}function a(e){var r=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var a=(r[0].z+r[r.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,r,n){if(r){for(var i,a=e,o=e,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=W(s),a=Z(a),s&&a;)l=Z(l),(o=W(o)).a=e,(i=s.z+f-a.z-u+t(s._,a._))>0&&(Y(X(s,e,n),e,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!W(o)&&(o.t=s,o.m+=f-c),a&&!Z(l)&&(l.t=a,l.m+=u-h,n=e)}return n}(e,i,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],i):n?null:[e,r]},i.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],i):n?[e,r]:null},i}function $(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,u=t.value&&(i-r)/t.value;++sh&&(h=s),g=c*c*v,(p=Math.max(h/g,g/f))>d){c-=s;break}d=p}y.push(o={value:c,dice:l1?e:1)},r}(Q);function rt(){var t=et,e=!1,r=1,n=1,i=[0],a=C,o=C,s=C,l=C,u=C;function c(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(f),i=[0],e&&t.eachBefore(F),t}function f(e){var r=i[e.depth],n=e.x0+r,c=e.y0+r,f=e.x1-r,h=e.y1-r;f=r-1){var c=s[e];return c.x0=i,c.y0=a,c.x1=o,void(c.y1=l)}for(var f=u[e],h=n/2+f,p=e+1,d=r-1;p>>1;u[v]l-a){var m=(i*y+o*g)/n;t(e,p,g,i,a,m,l),t(p,r,y,m,a,o,l)}else{var x=(a*y+l*g)/n;t(e,p,g,i,a,o,x),t(p,r,y,i,x,o,l)}}(0,l,t.value,e,r,n,i)}function it(t,e,r,n,i){(1&t.depth?$:B)(t,e,r,n,i)}var at=function t(e){function r(t,r,n,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,u,c,f=-1,h=o.length,p=t.value;++f1?e:1)},r}(Q)},45879:function(t,e,r){"use strict";r.d(e,{h5:function(){return y}});var n=Math.PI,i=2*n,a=1e-6,o=i-a;function s(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function l(){return new s}s.prototype=l.prototype={constructor:s,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,i,o){t=+t,e=+e,r=+r,i=+i,o=+o;var s=this._x1,l=this._y1,u=r-t,c=i-e,f=s-t,h=l-e,p=f*f+h*h;if(o<0)throw new Error("negative radius: "+o);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(p>a)if(Math.abs(h*u-c*f)>a&&o){var d=r-s,v=i-l,g=u*u+c*c,y=d*d+v*v,m=Math.sqrt(g),x=Math.sqrt(p),b=o*Math.tan((n-Math.acos((g+p-y)/(2*m*x)))/2),_=b/x,w=b/m;Math.abs(_-1)>a&&(this._+="L"+(t+_*f)+","+(e+_*h)),this._+="A"+o+","+o+",0,0,"+ +(h*d>f*v)+","+(this._x1=t+w*u)+","+(this._y1=e+w*c)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,r,s,l,u){t=+t,e=+e,u=!!u;var c=(r=+r)*Math.cos(s),f=r*Math.sin(s),h=t+c,p=e+f,d=1^u,v=u?s-l:l-s;if(r<0)throw new Error("negative radius: "+r);null===this._x1?this._+="M"+h+","+p:(Math.abs(this._x1-h)>a||Math.abs(this._y1-p)>a)&&(this._+="L"+h+","+p),r&&(v<0&&(v=v%i+i),v>o?this._+="A"+r+","+r+",0,1,"+d+","+(t-c)+","+(e-f)+"A"+r+","+r+",0,1,"+d+","+(this._x1=h)+","+(this._y1=p):v>a&&(this._+="A"+r+","+r+",0,"+ +(v>=n)+","+d+","+(this._x1=t+r*Math.cos(l))+","+(this._y1=e+r*Math.sin(l))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};var u=l,c=Array.prototype.slice;function f(t){return function(){return t}}function h(t){return t[0]}function p(t){return t[1]}function d(t){return t.source}function v(t){return t.target}function g(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function y(){return function(t){var e=d,r=v,n=h,i=p,a=null;function o(){var o,s=c.call(arguments),l=e.apply(this,s),f=r.apply(this,s);if(a||(a=o=u()),t(a,+n.apply(this,(s[0]=l,s)),+i.apply(this,s),+n.apply(this,(s[0]=f,s)),+i.apply(this,s)),o)return a=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(r=t,o):r},o.x=function(t){return arguments.length?(n="function"==typeof t?t:f(+t),o):n},o.y=function(t){return arguments.length?(i="function"==typeof t?t:f(+t),o):i},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}(g)}},84096:function(t,e,r){"use strict";r.d(e,{i$:function(){return d},Dq:function(){return h},g0:function(){return v}});var n=r(58176),i=r(48480),a=r(59879),o=r(82301),s=r(34823),l=r(79791);function u(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function c(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function f(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function h(t){var e=t.dateTime,r=t.date,s=t.time,l=t.periods,h=t.days,p=t.shortDays,d=t.months,v=t.shortMonths,y=w(l),m=T(l),x=w(h),b=T(h),_=w(p),St=T(p),Et=w(d),Lt=T(d),Ct=w(v),Ot=T(v),Pt={a:function(t){return p[t.getDay()]},A:function(t){return h[t.getDay()]},b:function(t){return v[t.getMonth()]},B:function(t){return d[t.getMonth()]},c:null,d:q,e:q,f:X,H:G,I:Z,j:W,L:Y,m:J,M:K,p:function(t){return l[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:At,s:Mt,S:$,u:Q,U:tt,V:et,w:rt,W:nt,x:null,X:null,y:it,Y:at,Z:ot,"%":kt},It={a:function(t){return p[t.getUTCDay()]},A:function(t){return h[t.getUTCDay()]},b:function(t){return v[t.getUTCMonth()]},B:function(t){return d[t.getUTCMonth()]},c:null,d:st,e:st,f:ht,H:lt,I:ut,j:ct,L:ft,m:pt,M:dt,p:function(t){return l[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:At,s:Mt,S:vt,u:gt,U:yt,V:mt,w:xt,W:bt,x:null,X:null,y:_t,Y:wt,Z:Tt,"%":kt},Dt={a:function(t,e,r){var n=_.exec(e.slice(r));return n?(t.w=St[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=x.exec(e.slice(r));return n?(t.w=b[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=Ct.exec(e.slice(r));return n?(t.m=Ot[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=Et.exec(e.slice(r));return n?(t.m=Lt[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,r,n){return Ft(t,e,r,n)},d:D,e:D,f:j,H:R,I:R,j:z,L:N,m:I,M:F,p:function(t,e,r){var n=y.exec(e.slice(r));return n?(t.p=m[n[0].toLowerCase()],r+n[0].length):-1},q:P,Q:V,s:H,S:B,u:A,U:M,V:S,w:k,W:E,x:function(t,e,n){return Ft(t,r,e,n)},X:function(t,e,r){return Ft(t,s,e,r)},y:C,Y:L,Z:O,"%":U};function zt(t,e){return function(r){var n,i,a,o=[],s=-1,l=0,u=t.length;for(r instanceof Date||(r=new Date(+r));++s53)return null;"w"in h||(h.w=1),"Z"in h?(l=(s=c(f(h.y,0,1))).getUTCDay(),s=l>4||0===l?n.l6.ceil(s):(0,n.l6)(s),s=i.Z.offset(s,7*(h.V-1)),h.y=s.getUTCFullYear(),h.m=s.getUTCMonth(),h.d=s.getUTCDate()+(h.w+6)%7):(l=(s=u(f(h.y,0,1))).getDay(),s=l>4||0===l?a.wA.ceil(s):(0,a.wA)(s),s=o.Z.offset(s,7*(h.V-1)),h.y=s.getFullYear(),h.m=s.getMonth(),h.d=s.getDate()+(h.w+6)%7)}else("W"in h||"U"in h)&&("w"in h||(h.w="u"in h?h.u%7:"W"in h?1:0),l="Z"in h?c(f(h.y,0,1)).getUTCDay():u(f(h.y,0,1)).getDay(),h.m=0,h.d="W"in h?(h.w+6)%7+7*h.W-(l+5)%7:h.w+7*h.U-(l+6)%7);return"Z"in h?(h.H+=h.Z/100|0,h.M+=h.Z%100,c(h)):u(h)}}function Ft(t,e,r,n){for(var i,a,o=0,s=e.length,l=r.length;o=l)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=Dt[i in g?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Pt.x=zt(r,Pt),Pt.X=zt(s,Pt),Pt.c=zt(e,Pt),It.x=zt(r,It),It.X=zt(s,It),It.c=zt(e,It),{format:function(t){var e=zt(t+="",Pt);return e.toString=function(){return t},e},parse:function(t){var e=Rt(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=zt(t+="",It);return e.toString=function(){return t},e},utcParse:function(t){var e=Rt(t+="",!0);return e.toString=function(){return t},e}}}var p,d,v,g={"-":"",_:" ",0:"0"},y=/^\s*\d+/,m=/^%/,x=/[\\^$*+?|[\]().{}]/g;function b(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a68?1900:2e3),r+n[0].length):-1}function O(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function P(t,e,r){var n=y.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function I(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function D(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function z(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function R(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function F(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function B(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function N(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function j(t,e,r){var n=y.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function U(t,e,r){var n=m.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function V(t,e,r){var n=y.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function H(t,e,r){var n=y.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function q(t,e){return b(t.getDate(),e,2)}function G(t,e){return b(t.getHours(),e,2)}function Z(t,e){return b(t.getHours()%12||12,e,2)}function W(t,e){return b(1+o.Z.count((0,s.Z)(t),t),e,3)}function Y(t,e){return b(t.getMilliseconds(),e,3)}function X(t,e){return Y(t,e)+"000"}function J(t,e){return b(t.getMonth()+1,e,2)}function K(t,e){return b(t.getMinutes(),e,2)}function $(t,e){return b(t.getSeconds(),e,2)}function Q(t){var e=t.getDay();return 0===e?7:e}function tt(t,e){return b(a.OM.count((0,s.Z)(t)-1,t),e,2)}function et(t,e){var r=t.getDay();return t=r>=4||0===r?(0,a.bL)(t):a.bL.ceil(t),b(a.bL.count((0,s.Z)(t),t)+(4===(0,s.Z)(t).getDay()),e,2)}function rt(t){return t.getDay()}function nt(t,e){return b(a.wA.count((0,s.Z)(t)-1,t),e,2)}function it(t,e){return b(t.getFullYear()%100,e,2)}function at(t,e){return b(t.getFullYear()%1e4,e,4)}function ot(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+b(e/60|0,"0",2)+b(e%60,"0",2)}function st(t,e){return b(t.getUTCDate(),e,2)}function lt(t,e){return b(t.getUTCHours(),e,2)}function ut(t,e){return b(t.getUTCHours()%12||12,e,2)}function ct(t,e){return b(1+i.Z.count((0,l.Z)(t),t),e,3)}function ft(t,e){return b(t.getUTCMilliseconds(),e,3)}function ht(t,e){return ft(t,e)+"000"}function pt(t,e){return b(t.getUTCMonth()+1,e,2)}function dt(t,e){return b(t.getUTCMinutes(),e,2)}function vt(t,e){return b(t.getUTCSeconds(),e,2)}function gt(t){var e=t.getUTCDay();return 0===e?7:e}function yt(t,e){return b(n.Ox.count((0,l.Z)(t)-1,t),e,2)}function mt(t,e){var r=t.getUTCDay();return t=r>=4||0===r?(0,n.hB)(t):n.hB.ceil(t),b(n.hB.count((0,l.Z)(t),t)+(4===(0,l.Z)(t).getUTCDay()),e,2)}function xt(t){return t.getUTCDay()}function bt(t,e){return b(n.l6.count((0,l.Z)(t)-1,t),e,2)}function _t(t,e){return b(t.getUTCFullYear()%100,e,2)}function wt(t,e){return b(t.getUTCFullYear()%1e4,e,4)}function Tt(){return"+0000"}function kt(){return"%"}function At(t){return+t}function Mt(t){return Math.floor(+t/1e3)}p=h({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",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"]}),d=p.format,p.parse,v=p.utcFormat,p.utcParse},82301:function(t,e,r){"use strict";r.d(e,{a:function(){return o}});var n=r(30052),i=r(54263),a=(0,n.Z)((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.yB)/i.UD}),(function(t){return t.getDate()-1}));e.Z=a;var o=a.range},54263:function(t,e,r){"use strict";r.d(e,{UD:function(){return o},Y2:function(){return a},Ym:function(){return n},iM:function(){return s},yB:function(){return i}});var n=1e3,i=6e4,a=36e5,o=864e5,s=6048e5},81041:function(t,e,r){"use strict";r.r(e),r.d(e,{timeDay:function(){return y.Z},timeDays:function(){return y.a},timeFriday:function(){return m.mC},timeFridays:function(){return m.b$},timeHour:function(){return v},timeHours:function(){return g},timeInterval:function(){return n.Z},timeMillisecond:function(){return a},timeMilliseconds:function(){return o},timeMinute:function(){return h},timeMinutes:function(){return p},timeMonday:function(){return m.wA},timeMondays:function(){return m.bJ},timeMonth:function(){return b},timeMonths:function(){return _},timeSaturday:function(){return m.EY},timeSaturdays:function(){return m.Ff},timeSecond:function(){return u},timeSeconds:function(){return c},timeSunday:function(){return m.OM},timeSundays:function(){return m.vm},timeThursday:function(){return m.bL},timeThursdays:function(){return m.$t},timeTuesday:function(){return m.sy},timeTuesdays:function(){return m.aU},timeWednesday:function(){return m.zg},timeWednesdays:function(){return m.Ld},timeWeek:function(){return m.OM},timeWeeks:function(){return m.vm},timeYear:function(){return w.Z},timeYears:function(){return w.g},utcDay:function(){return L.Z},utcDays:function(){return L.y},utcFriday:function(){return C.QQ},utcFridays:function(){return C.fz},utcHour:function(){return S},utcHours:function(){return E},utcMillisecond:function(){return a},utcMilliseconds:function(){return o},utcMinute:function(){return k},utcMinutes:function(){return A},utcMonday:function(){return C.l6},utcMondays:function(){return C.$3},utcMonth:function(){return P},utcMonths:function(){return I},utcSaturday:function(){return C.g4},utcSaturdays:function(){return C.Q_},utcSecond:function(){return u},utcSeconds:function(){return c},utcSunday:function(){return C.Ox},utcSundays:function(){return C.SU},utcThursday:function(){return C.hB},utcThursdays:function(){return C.xj},utcTuesday:function(){return C.J1},utcTuesdays:function(){return C.DK},utcWednesday:function(){return C.b3},utcWednesdays:function(){return C.uy},utcWeek:function(){return C.Ox},utcWeeks:function(){return C.SU},utcYear:function(){return D.Z},utcYears:function(){return D.D}});var n=r(30052),i=(0,n.Z)((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?(0,n.Z)((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,r){e.setTime(+e+r*t)}),(function(e,r){return(r-e)/t})):i:null};var a=i,o=i.range,s=r(54263),l=(0,n.Z)((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*s.Ym)}),(function(t,e){return(e-t)/s.Ym}),(function(t){return t.getUTCSeconds()})),u=l,c=l.range,f=(0,n.Z)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.Ym)}),(function(t,e){t.setTime(+t+e*s.yB)}),(function(t,e){return(e-t)/s.yB}),(function(t){return t.getMinutes()})),h=f,p=f.range,d=(0,n.Z)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.Ym-t.getMinutes()*s.yB)}),(function(t,e){t.setTime(+t+e*s.Y2)}),(function(t,e){return(e-t)/s.Y2}),(function(t){return t.getHours()})),v=d,g=d.range,y=r(82301),m=r(59879),x=(0,n.Z)((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),b=x,_=x.range,w=r(34823),T=(0,n.Z)((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*s.yB)}),(function(t,e){return(e-t)/s.yB}),(function(t){return t.getUTCMinutes()})),k=T,A=T.range,M=(0,n.Z)((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*s.Y2)}),(function(t,e){return(e-t)/s.Y2}),(function(t){return t.getUTCHours()})),S=M,E=M.range,L=r(48480),C=r(58176),O=(0,n.Z)((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),P=O,I=O.range,D=r(79791)},30052:function(t,e,r){"use strict";r.d(e,{Z:function(){return a}});var n=new Date,i=new Date;function a(t,e,r,o){function s(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return s.floor=function(e){return t(e=new Date(+e)),e},s.ceil=function(r){return t(r=new Date(r-1)),e(r,1),t(r),r},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e0))return o;do{o.push(a=new Date(+r)),e(r,i),t(r)}while(a=e)for(;t(e),!r(e);)e.setTime(e-1)}),(function(t,n){if(t>=t)if(n<0)for(;++n<=0;)for(;e(t,-1),!r(t););else for(;--n>=0;)for(;e(t,1),!r(t););}))},r&&(s.count=function(e,a){return n.setTime(+e),i.setTime(+a),t(n),t(i),Math.floor(r(n,i))},s.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?s.filter(o?function(e){return o(e)%t==0}:function(e){return s.count(0,e)%t==0}):s:null}),s}},48480:function(t,e,r){"use strict";r.d(e,{y:function(){return o}});var n=r(30052),i=r(54263),a=(0,n.Z)((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/i.UD}),(function(t){return t.getUTCDate()-1}));e.Z=a;var o=a.range},58176:function(t,e,r){"use strict";r.d(e,{$3:function(){return d},DK:function(){return v},J1:function(){return l},Ox:function(){return o},QQ:function(){return f},Q_:function(){return x},SU:function(){return p},b3:function(){return u},fz:function(){return m},g4:function(){return h},hB:function(){return c},l6:function(){return s},uy:function(){return g},xj:function(){return y}});var n=r(30052),i=r(54263);function a(t){return(0,n.Z)((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/i.iM}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},79791:function(t,e,r){"use strict";r.d(e,{D:function(){return a}});var n=r(30052),i=(0,n.Z)((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.Z)((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null},e.Z=i;var a=i.range},59879:function(t,e,r){"use strict";r.d(e,{$t:function(){return y},EY:function(){return h},Ff:function(){return x},Ld:function(){return g},OM:function(){return o},aU:function(){return v},b$:function(){return m},bJ:function(){return d},bL:function(){return c},mC:function(){return f},sy:function(){return l},vm:function(){return p},wA:function(){return s},zg:function(){return u}});var n=r(30052),i=r(54263);function a(t){return(0,n.Z)((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.yB)/i.iM}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},34823:function(t,e,r){"use strict";r.d(e,{g:function(){return a}});var n=r(30052),i=(0,n.Z)((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.Z)((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,r){e.setFullYear(e.getFullYear()+r*t)})):null},e.Z=i;var a=i.range},17045:function(t,e,r){"use strict";var n=r(8709),i="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),a=Object.prototype.toString,o=Array.prototype.concat,s=Object.defineProperty,l=r(55622)(),u=s&&l,c=function(t,e,r,n){if(e in t)if(!0===n){if(t[e]===r)return}else if("function"!=typeof(i=n)||"[object Function]"!==a.call(i)||!n())return;var i;u?s(t,e,{configurable:!0,enumerable:!1,value:r,writable:!0}):t[e]=r},f=function(t,e){var r=arguments.length>2?arguments[2]:{},a=n(e);i&&(a=o.call(a,Object.getOwnPropertySymbols(e)));for(var s=0;ss*l){var p=(h-f)/s;o[c]=1e3*p}}return o}function i(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i0)return function(t,e){var r,n;for(r=new Array(t),n=0;n80*a){o=l=t[0],s=f=t[1];for(var b=a;bl&&(l=h),d>f&&(f=d);v=0!==(v=Math.max(l-o,f-s))?1/v:0}return i(m,x,a,o,s,v),x}function r(t,e,r,n,i){var a,o;if(i===M(t,e,r,n)>0)for(a=e;a=e;a-=n)o=T(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function n(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==g(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function i(t,e,r,u,c,f,p){if(t){!p&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=h(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;e0||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,u,c,f);for(var d,v,g=t;t.prev!==t.next;)if(d=t.prev,v=t.next,f?o(t,u,c,f):a(t))e.push(d.i/r),e.push(t.i/r),e.push(v.i/r),k(t),t=v.next,g=v.next;else if((t=v)===g){p?1===p?i(t=s(n(t),e,r),e,r,u,c,f,2):2===p&&l(t,e,r,u,c,f):i(n(t),e,r,u,c,f,1);break}}}function a(t){var e=t.prev,r=t,n=t.next;if(g(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(d(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&g(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function o(t,e,r,n){var i=t.prev,a=t,o=t.next;if(g(i,a,o)>=0)return!1;for(var s=i.xa.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,f=h(s,l,e,r,n),p=h(u,c,e,r,n),v=t.prevZ,y=t.nextZ;v&&v.z>=f&&y&&y.z<=p;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;if(v=v.prevZ,y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(;v&&v.z>=f;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;y&&y.z<=p;){if(y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}return!0}function s(t,e,r){var i=t;do{var a=i.prev,o=i.next.next;!y(a,o)&&m(a,i,i.next,o)&&_(a,o)&&_(o,a)&&(e.push(a.i/r),e.push(i.i/r),e.push(o.i/r),k(i),k(i.next),i=t=o),i=i.next}while(i!==t);return n(i)}function l(t,e,r,a,o,s){var l=t;do{for(var u=l.next.next;u!==l.prev;){if(l.i!==u.i&&v(l,u)){var c=w(l,u);return l=n(l,l.next),c=n(c,c.next),i(l,e,r,a,o,s),void i(c,e,r,a,o,s)}u=u.next}l=l.next}while(l!==t)}function u(t,e){return t.x-e.x}function c(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.x&&n.x>=c&&i!==n.x&&d(ar.x||n.x===r.x&&f(r,n)))&&(r=n,p=l)),n=n.next}while(n!==u);return r}(t,e),e){var r=w(e,t);n(e,e.next),n(r,r.next)}}function f(t,e){return g(t.prev,t,e.prev)<0&&g(e.next,t,t.next)<0}function h(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 p(t){var e=t,r=t;do{(e.x=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&&m(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(_(t,e)&&_(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)&&(g(t.prev,t,e.prev)||g(t,e.prev,e))||y(t,e)&&g(t.prev,t,t.next)>0&&g(e.prev,e,e.next)>0)}function g(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 m(t,e,r,n){var i=b(g(t,e,r)),a=b(g(t,e,n)),o=b(g(r,n,t)),s=b(g(r,n,e));return i!==a&&o!==s||!(0!==i||!x(t,r,e))||!(0!==a||!x(t,n,e))||!(0!==o||!x(r,t,n))||!(0!==s||!x(r,e,n))}function x(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function b(t){return t>0?1:t<0?-1:0}function _(t,e){return g(t.prev,t,t.next)<0?g(t,e,t.next)>=0&&g(t,t.prev,e)>=0:g(t,e,t.prev)<0||g(t,t.next,e)<0}function w(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 T(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 k(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 M(t,e,r,n){for(var i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r}},2502:function(t,e,r){var n=r(68664);t.exports=function(t,e){var r,i=[],a=[],o=[],s={},l=[];function u(t){o[t]=!1,s.hasOwnProperty(t)&&Object.keys(s[t]).forEach((function(e){delete s[t][e],o[e]&&u(e)}))}function c(t){var e,n,i=!1;for(a.push(t),o[t]=!0,e=0;e=e}))}(e);for(var r,i=n(t).components.filter((function(t){return t.length>1})),a=1/0,o=0;o=55296&&m<=56319&&(w+=t[++r]),w=T?h.call(T,k,w,v):w,e?(p.value=w,d(g,v,p)):g[v]=w,++v;y=v}if(void 0===y)for(y=o(t.length),e&&(g=new e(y)),r=0;r0?1:-1}},56247:function(t,e,r){"use strict";var n=r(9953),i=Math.abs,a=Math.floor;t.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},35976:function(t,e,r){"use strict";var n=r(56247),i=Math.max;t.exports=function(t){return i(0,n(t))}},67260:function(t,e,r){"use strict";var n=r(78513),i=r(36672),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;t.exports=function(t,e){return function(r,u){var c,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(u),c=s(r),h&&c.sort("function"==typeof h?a.call(h,r):void 0),"function"!=typeof t&&(t=c[t]),o.call(t,c,(function(t,n){return l.call(r,t)?o.call(u,f,r[t],t,r,n):e}))}}},95879:function(t,e,r){"use strict";t.exports=r(73583)()?Object.assign:r(34205)},73583:function(t){"use strict";t.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},34205:function(t,e,r){"use strict";var n=r(68700),i=r(36672),a=Math.max;t.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o-1}},87963:function(t){"use strict";var e=Object.prototype.toString,r=e.call("");t.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||e.call(t)===r)||!1}},43043:function(t){"use strict";var e=Object.create(null),r=Math.random;t.exports=function(){var t;do{t=r().toString(36).slice(2)}while(e[t]);return t}},32411:function(t,e,r){"use strict";var n,i=r(1496),a=r(66741),o=r(62072),s=r(8260),l=r(95426),u=Object.defineProperty;n=t.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?a.call(e,"key+value")?"key+value":a.call(e,"key")?"key":"value":"value",u(this,"__kind__",o("",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o((function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t}))}),u(n.prototype,s.toStringTag,o("c","Array Iterator"))},27515:function(t,e,r){"use strict";var n=r(73051),i=r(78513),a=r(87963),o=r(66661),s=Array.isArray,l=Function.prototype.call,u=Array.prototype.some;t.exports=function(t,e){var r,c,f,h,p,d,v,g,y=arguments[2];if(s(t)||n(t)?r="array":a(t)?r="string":t=o(t),i(e),f=function(){h=!0},"array"!==r)if("string"!==r)for(c=t.next();!c.done;){if(l.call(e,y,c.value,f),h)return;c=t.next()}else for(d=t.length,p=0;p=55296&&g<=56319&&(v+=t[++p]),l.call(e,y,v,f),!h);++p);else u.call(t,(function(t){return l.call(e,y,t,f),h}))}},66661:function(t,e,r){"use strict";var n=r(73051),i=r(87963),a=r(32411),o=r(259),s=r(58095),l=r(8260).iterator;t.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},95426:function(t,e,r){"use strict";var n,i=r(16134),a=r(95879),o=r(78513),s=r(36672),l=r(62072),u=r(55174),c=r(8260),f=Object.defineProperty,h=Object.defineProperties;t.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");h(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,h(n.prototype,a({_next:l((function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach((function(e,r){e>=t&&(this.__redo__[r]=++e)}),this),this.__redo__.push(t)):f(this,"__redo__",l("c",[t])))})),_onDelete:l((function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach((function(e,r){e>t&&(this.__redo__[r]=--e)}),this)))})),_onClear:l((function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0}))}))),f(n.prototype,c.iterator,l((function(){return this})))},35940:function(t,e,r){"use strict";var n=r(73051),i=r(95296),a=r(87963),o=r(8260).iterator,s=Array.isArray;t.exports=function(t){return!(!i(t)||!s(t)&&!a(t)&&!n(t)&&"function"!=typeof t[o])}},259:function(t,e,r){"use strict";var n,i=r(1496),a=r(62072),o=r(8260),s=r(95426),l=Object.defineProperty;n=t.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",a("",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a((function(){if(this.__list__)return this.__nextIndex__=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,a("c","String Iterator"))},58095:function(t,e,r){"use strict";var n=r(35940);t.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},73523:function(t){"use strict";function e(t,e){if(null==t)throw new TypeError("Cannot convert first argument to object");for(var r=Object(t),n=1;n0&&o.length>i&&!o.warned){o.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=t,c.type=e,c.count=o.length,u=c,console&&console.warn&&console.warn(u)}return t}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=c.bind(n);return i.listener=r,n.wrapFn=i,i}function h(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[t];if(void 0===l)return!1;if("function"==typeof l)n(l,this,e);else{var u=l.length,c=d(l,u);for(r=0;r=0;a--)if(r[a]===e||r[a].listener===e){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},a.prototype.listeners=function(t){return h(this,t,!0)},a.prototype.rawListeners=function(t){return h(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):p.call(t,e)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},60774:function(t){var e=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};t.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(t){return e()}try{return __global__||e()}finally{delete Object.prototype.__global__}}()},94908:function(t,e,r){"use strict";t.exports=r(51152)()?globalThis:r(60774)},51152:function(t){"use strict";t.exports=function(){return"object"==typeof globalThis&&!!globalThis&&globalThis.Array===Array}},92770:function(t,e,r){"use strict";var n=r(18546);t.exports=function(t){var e=typeof t;if("string"===e){var r=t;if(0==(t=+t)&&n(r))return!1}else if("number"!==e)return!1;return t-t<1}},30120:function(t,e,r){var n=r(90660);t.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&"number"==typeof t[0][0]){var i,a,o,s,l=t[0].length,u=t.length*l;e&&"string"!=typeof e||(e=new(n(e||"float32"))(u+r));var c=e.length-r;if(u!==c)throw new Error("source length "+u+" ("+l+"x"+t.length+") does not match destination length "+c);for(i=0,o=r;ie[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},32879:function(t){"use strict";function e(t,a){a||(a={}),("string"==typeof t||Array.isArray(t))&&(a.family=t);var o=Array.isArray(a.family)?a.family.join(", "):a.family;if(!o)throw Error("`family` must be defined");var s=a.size||a.fontSize||a.em||48,l=a.weight||a.fontWeight||"",u=(t=[a.style||a.fontStyle||"",l,s].join(" ")+"px "+o,a.origin||"top");if(e.cache[o]&&s<=e.cache[o].em)return r(e.cache[o],u);var c=a.canvas||e.canvas,f=c.getContext("2d"),h={upper:void 0!==a.upper?a.upper:"H",lower:void 0!==a.lower?a.lower:"x",descent:void 0!==a.descent?a.descent:"p",ascent:void 0!==a.ascent?a.ascent:"h",tittle:void 0!==a.tittle?a.tittle:"i",overshoot:void 0!==a.overshoot?a.overshoot:"O"},p=Math.ceil(1.5*s);c.height=p,c.width=.5*p,f.font=t;var d="H",v={top:0};f.clearRect(0,0,p,p),f.textBaseline="top",f.fillStyle="black",f.fillText(d,0,0);var g=n(f.getImageData(0,0,p,p));f.clearRect(0,0,p,p),f.textBaseline="bottom",f.fillText(d,0,p);var y=n(f.getImageData(0,0,p,p));v.lineHeight=v.bottom=p-y+g,f.clearRect(0,0,p,p),f.textBaseline="alphabetic",f.fillText(d,0,p);var m=p-n(f.getImageData(0,0,p,p))-1+g;v.baseline=v.alphabetic=m,f.clearRect(0,0,p,p),f.textBaseline="middle",f.fillText(d,0,.5*p);var x=n(f.getImageData(0,0,p,p));v.median=v.middle=p-x-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="hanging",f.fillText(d,0,.5*p);var b=n(f.getImageData(0,0,p,p));v.hanging=p-b-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="ideographic",f.fillText(d,0,p);var _=n(f.getImageData(0,0,p,p));if(v.ideographic=p-_-1+g,h.upper&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.upper,0,0),v.upper=n(f.getImageData(0,0,p,p)),v.capHeight=v.baseline-v.upper),h.lower&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.lower,0,0),v.lower=n(f.getImageData(0,0,p,p)),v.xHeight=v.baseline-v.lower),h.tittle&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.tittle,0,0),v.tittle=n(f.getImageData(0,0,p,p))),h.ascent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.ascent,0,0),v.ascent=n(f.getImageData(0,0,p,p))),h.descent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.descent,0,0),v.descent=i(f.getImageData(0,0,p,p))),h.overshoot){f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.overshoot,0,0);var w=i(f.getImageData(0,0,p,p));v.overshoot=w-m}for(var T in v)v[T]/=s;return v.em=s,e.cache[o]=v,r(v,u)}function r(t,e){var r={};for(var n in"string"==typeof e&&(e=t[e]),t)"em"!==n&&(r[n]=t[n]-e);return r}function n(t){for(var e=t.height,r=t.data,n=3;n0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}t.exports=e,e.canvas=document.createElement("canvas"),e.cache={}},31353:function(t,e,r){"use strict";var n=r(85395),i=Object.prototype.toString,a=Object.prototype.hasOwnProperty,o=function(t,e,r){for(var n=0,i=t.length;n=3&&(a=r),"[object Array]"===i.call(t)?o(t,e,a):"string"==typeof t?s(t,e,a):l(t,e,a)}},73047:function(t){"use strict";var e="Function.prototype.bind called on incompatible ",r=Array.prototype.slice,n=Object.prototype.toString,i="[object Function]";t.exports=function(t){var a=this;if("function"!=typeof a||n.call(a)!==i)throw new TypeError(e+a);for(var o,s=r.call(arguments,1),l=function(){if(this instanceof o){var e=a.apply(this,s.concat(r.call(arguments)));return Object(e)===e?e:this}return a.apply(t,s.concat(r.call(arguments)))},u=Math.max(0,a.length-s.length),c=[],f=0;f1&&"boolean"!=typeof e)throw new o('"allowMissing" argument must be a boolean');if(null===A(/^%?[^%]*%?$/,t))throw new i("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=E(t),n=r.length>0?r[0]:"",a=L("%"+n+"%",e),s=a.name,u=a.value,c=!1,f=a.alias;f&&(n=f[0],w(r,_([0,1],f)));for(var h=1,p=!0;h=r.length){var m=l(u,d);u=(p=!!m)&&"get"in m&&!("originalValue"in m.get)?m.get:u[d]}else p=b(u,d),u=u[d];p&&!c&&(v[s]=u)}}return u}},85400:function(t){t.exports=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],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15];return t[0]=s*(h*y-p*g)-f*(l*y-u*g)+v*(l*p-u*h),t[1]=-(n*(h*y-p*g)-f*(i*y-a*g)+v*(i*p-a*h)),t[2]=n*(l*y-u*g)-s*(i*y-a*g)+v*(i*u-a*l),t[3]=-(n*(l*p-u*h)-s*(i*p-a*h)+f*(i*u-a*l)),t[4]=-(o*(h*y-p*g)-c*(l*y-u*g)+d*(l*p-u*h)),t[5]=r*(h*y-p*g)-c*(i*y-a*g)+d*(i*p-a*h),t[6]=-(r*(l*y-u*g)-o*(i*y-a*g)+d*(i*u-a*l)),t[7]=r*(l*p-u*h)-o*(i*p-a*h)+c*(i*u-a*l),t[8]=o*(f*y-p*v)-c*(s*y-u*v)+d*(s*p-u*f),t[9]=-(r*(f*y-p*v)-c*(n*y-a*v)+d*(n*p-a*f)),t[10]=r*(s*y-u*v)-o*(n*y-a*v)+d*(n*u-a*s),t[11]=-(r*(s*p-u*f)-o*(n*p-a*f)+c*(n*u-a*s)),t[12]=-(o*(f*g-h*v)-c*(s*g-l*v)+d*(s*h-l*f)),t[13]=r*(f*g-h*v)-c*(n*g-i*v)+d*(n*h-i*f),t[14]=-(r*(s*g-l*v)-o*(n*g-i*v)+d*(n*l-i*s)),t[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),t}},42331:function(t){t.exports=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}},31042:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},11902:function(t){t.exports=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}},89887:function(t){t.exports=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],f=t[10],h=t[11],p=t[12],d=t[13],v=t[14],g=t[15];return(e*o-r*a)*(f*g-h*v)-(e*s-n*a)*(c*g-h*d)+(e*l-i*a)*(c*v-f*d)+(r*s-n*o)*(u*g-h*p)-(r*l-i*o)*(u*v-f*p)+(n*l-i*s)*(u*d-c*p)}},27812:function(t){t.exports=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,f=n*s,h=i*o,p=i*s,d=i*l,v=a*o,g=a*s,y=a*l;return t[0]=1-f-d,t[1]=c+y,t[2]=h-g,t[3]=0,t[4]=c-y,t[5]=1-u-d,t[6]=p+v,t[7]=0,t[8]=h+g,t[9]=p-v,t[10]=1-u-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},34045:function(t){t.exports=function(t,e,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(o*=u=1/u,s*=u,l*=u,n=Math.sin(e),a=1-(i=Math.cos(e)),t[0]=o*o*a+i,t[1]=s*o*a+l*n,t[2]=l*o*a-s*n,t[3]=0,t[4]=o*s*a-l*n,t[5]=s*s*a+i,t[6]=l*s*a+o*n,t[7]=0,t[8]=o*l*a+s*n,t[9]=s*l*a-o*n,t[10]=l*l*a+i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}},45973:function(t){t.exports=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,f=n*l,h=n*u,p=i*l,d=i*u,v=a*u,g=o*s,y=o*l,m=o*u;return t[0]=1-(p+v),t[1]=f+m,t[2]=h-y,t[3]=0,t[4]=f-m,t[5]=1-(c+v),t[6]=d+g,t[7]=0,t[8]=h+y,t[9]=d-g,t[10]=1-(c+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},81472:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},14669:function(t){t.exports=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}},75262:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},331:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},11049:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},75195:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(r-e),l=1/(i-n),u=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*l,t[10]=(o+a)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*u,t[15]=0,t}},71551:function(t){t.exports=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}},79576:function(t,e,r){t.exports={create:r(11902),clone:r(42331),copy:r(31042),identity:r(71551),transpose:r(88654),invert:r(95874),adjoint:r(85400),determinant:r(89887),multiply:r(91362),translate:r(31283),scale:r(10789),rotate:r(65074),rotateX:r(35545),rotateY:r(94918),rotateZ:r(15692),fromRotation:r(34045),fromRotationTranslation:r(45973),fromScaling:r(81472),fromTranslation:r(14669),fromXRotation:r(75262),fromYRotation:r(331),fromZRotation:r(11049),fromQuat:r(27812),frustum:r(75195),perspective:r(7864),perspectiveFromFieldOfView:r(35279),ortho:r(60378),lookAt:r(65551),str:r(6726)}},95874:function(t){t.exports=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],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15],m=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,T=i*u-a*l,k=c*v-f*d,A=c*g-h*d,M=c*y-p*d,S=f*g-h*v,E=f*y-p*v,L=h*y-p*g,C=m*L-x*E+b*S+_*M-w*A+T*k;return C?(C=1/C,t[0]=(s*L-l*E+u*S)*C,t[1]=(i*E-n*L-a*S)*C,t[2]=(v*T-g*w+y*_)*C,t[3]=(h*w-f*T-p*_)*C,t[4]=(l*M-o*L-u*A)*C,t[5]=(r*L-i*M+a*A)*C,t[6]=(g*b-d*T-y*x)*C,t[7]=(c*T-h*b+p*x)*C,t[8]=(o*E-s*M+u*k)*C,t[9]=(n*M-r*E-a*k)*C,t[10]=(d*w-v*b+y*m)*C,t[11]=(f*b-c*w-p*m)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(v*x-d*_-g*m)*C,t[15]=(c*_-f*x+h*m)*C,t):null}},65551:function(t,e,r){var n=r(71551);t.exports=function(t,e,r,i){var a,o,s,l,u,c,f,h,p,d,v=e[0],g=e[1],y=e[2],m=i[0],x=i[1],b=i[2],_=r[0],w=r[1],T=r[2];return Math.abs(v-_)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(y-T)<1e-6?n(t):(f=v-_,h=g-w,p=y-T,a=x*(p*=d=1/Math.sqrt(f*f+h*h+p*p))-b*(h*=d),o=b*(f*=d)-m*p,s=m*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0),l=h*s-p*o,u=p*a-f*s,c=f*o-h*a,(d=Math.sqrt(l*l+u*u+c*c))?(l*=d=1/d,u*=d,c*=d):(l=0,u=0,c=0),t[0]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=u,t[6]=h,t[7]=0,t[8]=s,t[9]=c,t[10]=p,t[11]=0,t[12]=-(a*v+o*g+s*y),t[13]=-(l*v+u*g+c*y),t[14]=-(f*v+h*g+p*y),t[15]=1,t)}},91362:function(t){t.exports=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],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}},60378:function(t){t.exports=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}},7864:function(t){t.exports=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}},35279:function(t){t.exports=function(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-(o-s)*l*.5,t[9]=(i-a)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}},65074:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=n[0],L=n[1],C=n[2],O=Math.sqrt(E*E+L*L+C*C);return Math.abs(O)<1e-6?null:(E*=O=1/O,L*=O,C*=O,i=Math.sin(r),o=1-(a=Math.cos(r)),s=e[0],l=e[1],u=e[2],c=e[3],f=e[4],h=e[5],p=e[6],d=e[7],v=e[8],g=e[9],y=e[10],m=e[11],x=E*E*o+a,b=L*E*o+C*i,_=C*E*o-L*i,w=E*L*o-C*i,T=L*L*o+a,k=C*L*o+E*i,A=E*C*o+L*i,M=L*C*o-E*i,S=C*C*o+a,t[0]=s*x+f*b+v*_,t[1]=l*x+h*b+g*_,t[2]=u*x+p*b+y*_,t[3]=c*x+d*b+m*_,t[4]=s*w+f*T+v*k,t[5]=l*w+h*T+g*k,t[6]=u*w+p*T+y*k,t[7]=c*w+d*T+m*k,t[8]=s*A+f*M+v*S,t[9]=l*A+h*M+g*S,t[10]=u*A+p*M+y*S,t[11]=c*A+d*M+m*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}},35545:function(t){t.exports=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],f=e[10],h=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+f*n,t[7]=l*i+h*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},94918:function(t){t.exports=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],f=e[10],h=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},15692:function(t){t.exports=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],f=e[6],h=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+f*n,t[3]=l*i+h*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},10789:function(t){t.exports=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}},6726:function(t){t.exports=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}},31283:function(t){t.exports=function(t,e,r){var n,i,a,o,s,l,u,c,f,h,p,d,v=r[0],g=r[1],y=r[2];return e===t?(t[12]=e[0]*v+e[4]*g+e[8]*y+e[12],t[13]=e[1]*v+e[5]*g+e[9]*y+e[13],t[14]=e[2]*v+e[6]*g+e[10]*y+e[14],t[15]=e[3]*v+e[7]*g+e[11]*y+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],f=e[8],h=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]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*v+s*g+f*y+e[12],t[13]=i*v+l*g+h*y+e[13],t[14]=a*v+u*g+p*y+e[14],t[15]=o*v+c*g+d*y+e[15]),t}},88654:function(t){t.exports=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}},42505:function(t,e,r){"use strict";var n=r(72791),i=r(71299),a=r(98580),o=r(12018),s=r(83522),l=r(25075),u=r(68016),c=r(58404),f=r(18863),h=r(10973),p=r(25677),d=r(75686),v=r(53545),g=r(56131),y=r(32879),m=r(30120),x=r(13547).nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement("div"));w.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var T=function(t){!function(t){return"function"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(h(t)?t:{})};T.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:"\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ vec2(positionOffset.x, -positionOffset.y)))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}",frag:"\n\t\t\tprecision highp float;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform sampler2D atlas;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});return{regl:t,draw:e,atlas:{}}},T.prototype.update=function(t){var e=this;if("string"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map((function(t){return parseFloat(t)})):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=f(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&("number"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=m(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=T.baseFontSize+"px sans-serif");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach((function(t,r){if("string"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(T.baseFontSize+"px "+t)}else t=n.parse(n.stringify(t));var i=n.stringify({size:T.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),s=p(t.size),l=Math.round(s[0]*d(s[1]));if(l!==e.fontSize[r]&&(o=!0,e.fontSize[r]=l),!(e.font[r]&&i==e.font[r].baseString||(a=!0,e.font[r]=T.fonts[i],e.font[r]))){var u=t.family.join(", "),c=[t.style];t.style!=t.variant&&c.push(t.variant),t.variant!=t.weight&&c.push(t.weight),_&&t.weight!=t.stretch&&c.push(t.stretch),e.font[r]={baseString:i,family:u,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:y(u,{origin:"top",fontSize:T.baseFontSize,fontStyle:c.join(" ")})},T.fonts[i]=e.font[r]}})),(a||o)&&this.font.forEach((function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)})),"string"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),h=0;h2){for(var w=!t.position[0].length,k=c.mallocFloat(2*this.count),A=0,M=0;A1?e.align[r]:e.align[0]:e.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-t;case"center":case"centre":case"middle":return.5*-t}return 0}))),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,-1*(i+="number"==typeof t?t-n.baseline:-n[t])}))),null!=t.color)if(t.color||(t.color="transparent"),"string"!=typeof t.color&&isNaN(t.color)){var q;if("number"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;q=c.mallocUint8(G);for(var Z=(t.color.subarray||t.color.slice).bind(t.color),W=0;W4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var J=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(J);for(var K=0;K1?this.counts[K]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[K]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*K,4*K+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[K]:this.opacity,baseline:null!=this.baselineOffset[K]?this.baselineOffset[K]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[K]?this.alignOffset[K]:this.alignOffset[0]:0,atlas:this.fontAtlas[K]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*K,2*K+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},T.prototype.destroy=function(){},T.prototype.kerning=!0,T.prototype.position={constant:new Float32Array(2)},T.prototype.translate=null,T.prototype.scale=null,T.prototype.font=null,T.prototype.text="",T.prototype.positionOffset=[0,0],T.prototype.opacity=1,T.prototype.color=new Uint8Array([0,0,0,255]),T.prototype.alignOffset=[0,0],T.maxAtlasSize=1024,T.atlasCanvas=document.createElement("canvas"),T.atlasContext=T.atlasCanvas.getContext("2d",{alpha:!1}),T.baseFontSize=64,T.fonts={},t.exports=T},12018:function(t,e,r){"use strict";var n=r(71299);function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.g.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.g.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return"function"==typeof t.getContext&&"width"in t&&"height"in t}function o(){var t=document.createElement("canvas");return t.style.position="absolute",t.style.top=0,t.style.left=0,t}t.exports=function(t){var e;if(t?"string"==typeof t&&(t={container:t}):t={},(t=a(t)||"string"==typeof(e=t).nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect?{container:t}:function(t){return"function"==typeof t.drawArrays||"function"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0)).pixelRatio||(t.pixelRatio=r.g.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if("string"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error("Element "+t.container+" is not found");t.container=s}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),i(t))}else if(!t.canvas){if("undefined"==typeof document)throw Error("Not DOM environment. Use headless-gl.");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),i(t)}return t.gl||["webgl","experimental-webgl","webgl-experimental"].some((function(e){try{t.gl=t.canvas.getContext(e,t.attrs)}catch(t){}return t.gl})),t.gl}},56068:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,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)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=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+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},42018:function(t){"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},47216:function(t,e,r){"use strict";var n=r(84543)(),i=r(6614)("Object.prototype.toString"),a=function(t){return!(n&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===i(t)},o=function(t){return!!a(t)||null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==i(t)&&"[object Function]"===i(t.callee)},s=function(){return a(arguments)}();a.isLegacyArguments=o,t.exports=s?a:o},54404:function(t){t.exports=!0},85395:function(t){"use strict";var e,r,n=Function.prototype.toString,i="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof i&&"function"==typeof Object.defineProperty)try{e=Object.defineProperty({},"length",{get:function(){throw r}}),r={},i((function(){throw 42}),null,e)}catch(t){t!==r&&(i=null)}else i=null;var a=/^\s*class\b/,o=function(t){try{var e=n.call(t);return a.test(e)}catch(t){return!1}},s=function(t){try{return!o(t)&&(n.call(t),!0)}catch(t){return!1}},l=Object.prototype.toString,u="function"==typeof Symbol&&!!Symbol.toStringTag,c=!(0 in[,]),f=function(){return!1};if("object"==typeof document){var h=document.all;l.call(h)===l.call(document.all)&&(f=function(t){if((c||!t)&&(void 0===t||"object"==typeof t))try{var e=l.call(t);return("[object HTMLAllCollection]"===e||"[object HTML document.all class]"===e||"[object HTMLCollection]"===e||"[object Object]"===e)&&null==t("")}catch(t){}return!1})}t.exports=i?function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;try{i(t,null,e)}catch(t){if(t!==r)return!1}return!o(t)&&s(t)}:function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;if(u)return s(t);if(o(t))return!1;var e=l.call(t);return!("[object Function]"!==e&&"[object GeneratorFunction]"!==e&&!/^\[object HTML/.test(e))&&s(t)}},65481:function(t,e,r){"use strict";var n,i=Object.prototype.toString,a=Function.prototype.toString,o=/^\s*(?:function)?\*/,s=r(84543)(),l=Object.getPrototypeOf;t.exports=function(t){if("function"!=typeof t)return!1;if(o.test(a.call(t)))return!0;if(!s)return"[object GeneratorFunction]"===i.call(t);if(!l)return!1;if(void 0===n){var e=function(){if(!s)return!1;try{return Function("return function*() {}")()}catch(t){}}();n=!!e&&l(e)}return l(t)===n}},62683:function(t){"use strict";t.exports="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},64274:function(t){"use strict";t.exports=function(t){return t!=t}},15567:function(t,e,r){"use strict";var n=r(68222),i=r(17045),a=r(64274),o=r(14922),s=r(22442),l=n(o(),Number);i(l,{getPolyfill:o,implementation:a,shim:s}),t.exports=l},14922:function(t,e,r){"use strict";var n=r(64274);t.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:n}},22442:function(t,e,r){"use strict";var n=r(17045),i=r(14922);t.exports=function(){var t=i();return n(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}},64941:function(t){"use strict";t.exports=function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}},10973:function(t){"use strict";var e=Object.prototype.toString;t.exports=function(t){var r;return"[object Object]"===e.call(t)&&(null===(r=Object.getPrototypeOf(t))||r===Object.getPrototypeOf({}))}},18546:function(t){"use strict";t.exports=function(t){for(var e,r=t.length,n=0;n13)&&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}},89546:function(t){"use strict";t.exports=function(t){return"string"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}},9187:function(t,e,r){"use strict";var n=r(31353),i=r(72077),a=r(6614),o=a("Object.prototype.toString"),s=r(84543)(),l=r(40383),u="undefined"==typeof globalThis?r.g:globalThis,c=i(),f=a("Array.prototype.indexOf",!0)||function(t,e){for(var r=0;r-1}return!!l&&function(t){var e=!1;return n(p,(function(r,n){if(!e)try{e=r.call(t)===n}catch(t){}})),e}(t)}},44517:function(t){t.exports=function(){"use strict";var t,e,r;function n(n,i){if(t)if(e){var a="var sharedChunk = {}; ("+t+")(sharedChunk); ("+e+")(sharedChunk);",o={};t(o),(r=i(o)).workerUrl=window.URL.createObjectURL(new Blob([a],{type:"text/javascript"}))}else e=i;else t=i}return n(0,(function(t){function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r="1.10.1",n=i;function i(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}i.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},i.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},i.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},i.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)(n=1))return n;for(;ra?r=i:n=i,i=.5*(n-r)+r}return i},i.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var a=o;function o(t,e){this.x=t,this.y=e}function s(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}}o.prototype={clone:function(){return new o(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}},o.convert=function(t){return t instanceof o?t:Array.isArray(t)?new o(t[0],t[1]):t};var l=s(.25,.1,.25,1);function u(t,e,r){return Math.min(r,Math.max(e,t))}function c(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function f(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function v(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function g(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}function y(t,e){return-1!==t.indexOf(e,t.length-e.length)}function m(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function x(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function b(t){return Array.isArray(t)?t.map(b):"object"==typeof t&&t?m(t,b):t}var _={};function w(t){_[t]||("undefined"!=typeof console&&console.warn(t),_[t]=!0)}function T(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function k(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r@\,;\:\\"\/\[\]\?\=\{\}\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}var S=null;function E(t){if(null==S){var e=t.navigator?t.navigator.userAgent:null;S=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return S}function L(t){try{var e=self[t];return e.setItem("_mapbox_test_",1),e.removeItem("_mapbox_test_"),!0}catch(t){return!1}}var C,O,P,I,D=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date),z=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame,R=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame,F={now:D,frame:function(t){var e=z(t);return{cancel:function(){return R(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=self.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw new Error("failed to create canvas 2d context");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return C||(C=self.document.createElement("a")),C.href=t,C.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},get prefersReducedMotion(){return!!self.matchMedia&&(null==O&&(O=self.matchMedia("(prefers-reduced-motion: reduce)")),O.matches)}},B={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},N={supported:!1,testSupport:function(t){!j&&I&&(U?V(t):P=t)}},j=!1,U=!1;function V(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,I),t.isContextLost())return;N.supported=!0}catch(t){}t.deleteTexture(e),j=!0}self.document&&((I=self.document.createElement("img")).onload=function(){P&&V(P),P=null,U=!0},I.onerror=function(){j=!0,P=null},I.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var H="01";var q=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function G(t){return 0===t.indexOf("mapbox:")}q.prototype._createSkuToken=function(){var t=function(){for(var t="",e=0;e<10;e++)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",H,t].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},q.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},q.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},q.prototype.normalizeStyleURL=function(t,e){if(!G(t))return t;var r=X(t);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeGlyphsURL=function(t,e){if(!G(t))return t;var r=X(t);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeSourceURL=function(t,e){if(!G(t))return t;var r=X(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeSpriteURL=function(t,e,r,n){var i=X(t);return G(t)?(i.path="/styles/v1"+i.path+"/sprite"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=""+e+r,J(i))},q.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!G(t))return t;var r=X(t),n=F.devicePixelRatio>=2||512===e?"@2x":"",i=N.supported?".webp":"$1";r.path=r.path.replace(/(\.(png|jpg)\d*)(?=$)/,""+n+i),r.path=r.path.replace(/^.+\/v4\//,"/"),r.path="/v4"+r.path;var a=this._customAccessToken||function(t){for(var e=0,r=t;e=1&&self.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){w("Unable to write to LocalStorage")}},Q.prototype.processRequests=function(t){},Q.prototype.postEvent=function(t,e,n,i){var a=this;if(B.EVENTS_URL){var o=X(B.EVENTS_URL);o.params.push("access_token="+(i||B.ACCESS_TOKEN||""));var s={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:r,skuId:H,userId:this.anonId},l=e?f(s,e):s,u={url:J(o),headers:{"Content-Type":"text/plain"},body:JSON.stringify([l])};this.pendingRequest=kt(u,(function(t){a.pendingRequest=null,n(t),a.saveEventData(),a.processRequests(i)}))}},Q.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var tt,et,rt=function(t){function e(){t.call(this,"map.load"),this.success={},this.skuToken=""}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(B.EVENTS_URL&&n||B.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return G(t)||W(t)})))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),v(this.anonId)||(this.anonId=d()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(Q),nt=function(t){function e(e){t.call(this,"appUserTurnstile"),this._customAccessToken=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postTurnstileEvent=function(t,e){B.EVENTS_URL&&B.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return G(t)||W(t)}))&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=$(B.ACCESS_TOKEN),n=r?r.u:B.ACCESS_TOKEN,i=n!==this.eventData.tokenU;v(this.anonId)||(this.anonId=d(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{"enabled.telemetry":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n)}),t)}},e}(Q),it=new nt,at=it.postTurnstileEvent.bind(it),ot=new rt,st=ot.postMapLoadEvent.bind(ot),lt="mapbox-tiles",ut=500,ct=50;function ft(){self.caches&&!tt&&(tt=self.caches.open(lt))}function ht(t,e,r){if(ft(),tt){var n={status:e.status,statusText:e.statusText,headers:new self.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=M(e.headers.get("Cache-Control")||"");i["no-store"]||(i["max-age"]&&n.headers.set("Expires",new Date(r+1e3*i["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-r<42e4||function(t,e){if(void 0===et)try{new Response(new ReadableStream),et=!0}catch(t){et=!1}et?e(t.body):t.blob().then(e)}(e,(function(e){var r=new self.Response(e,n);ft(),tt&&tt.then((function(e){return e.put(pt(t.url),r)})).catch((function(t){return w(t.message)}))})))}}function pt(t){var e=t.indexOf("?");return e<0?t:t.slice(0,e)}function dt(t,e){if(ft(),!tt)return e(null);var r=pt(t.url);tt.then((function(t){t.match(r).then((function(n){var i=function(t){if(!t)return!1;var e=new Date(t.headers.get("Expires")||0),r=M(t.headers.get("Cache-Control")||"");return e>Date.now()&&!r["no-cache"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i)})).catch(e)})).catch(e)}var vt,gt=1/0;function yt(){return null==vt&&(vt=self.OffscreenCanvas&&new self.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof self.createImageBitmap),vt}var mt={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(mt);var xt=function(t){function e(e,r,n){401===r&&W(n)&&(e+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},e}(Error),bt=A()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===self.location.protocol?self.parent:self).location.href};function _t(t,e){var r,n=new self.AbortController,i=new self.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:bt(),signal:n.signal}),a=!1,o=!1,s=(r=i.url).indexOf("sku=")>0&&W(r);"json"===t.type&&i.headers.set("Accept","application/json");var l=function(r,n,a){if(!o){if(r&&"SecurityError"!==r.message&&w(r),n&&a)return u(n);var l=Date.now();self.fetch(i).then((function(r){if(r.ok){var n=s?r.clone():null;return u(r,n,l)}return e(new xt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message))}))}},u=function(r,n,s){("arrayBuffer"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text()).then((function(t){o||(n&&s&&ht(i,n,s),a=!0,e(null,t,r.headers.get("Cache-Control"),r.headers.get("Expires")))})).catch((function(t){o||e(new Error(t.message))}))};return s?dt(i,l):l(null,null),{cancel:function(){o=!0,a||n.abort()}}}var wt=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(bt())&&!/^\w+:/.test(r))){if(self.fetch&&self.Request&&self.AbortController&&self.Request.prototype.hasOwnProperty("signal"))return _t(t,e);if(A()&&self.worker&&self.worker.actor){return self.worker.actor.send("getResource",t,e,void 0,!0)}}var r;return function(t,e){var r=new self.XMLHttpRequest;for(var n in r.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(r.responseType="arraybuffer"),t.headers)r.setRequestHeader(n,t.headers[n]);return"json"===t.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else e(new xt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},Tt=function(t,e){return wt(f(t,{type:"arrayBuffer"}),e)},kt=function(t,e){return wt(f(t,{method:"POST"}),e)};var At,Mt;At=[],Mt=0;var St=function(t,e){if(N.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),Mt>=B.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return At.push(r),r}Mt++;var n=!1,i=function(){if(!n)for(n=!0,Mt--;At.length&&Mt0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Pt.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var It={$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_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.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},"*":{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.051129,180,85.051129]},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.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{}},default:"mapbox"},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},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"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},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","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},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:24,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"},in:{group:"Lookup"},"index-of":{group:"Lookup"},slice:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},"interpolate-hcl":{group:"Ramps, scales, curves"},"interpolate-lab":{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"},collator:{group:"Types"},format:{group:"Types"},image:{group:"Types"},"number-format":{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"},"feature-state":{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"line-progress":{group:"Feature data"},accumulated:{group:"Feature data"},"+":{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"},round:{group:"Math"},abs:{group:"Math"},ceil:{group:"Math"},floor:{group:"Math"},distance:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},within:{group:"Decision"},"is-supported-script":{group:"String"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"},"resolved-locale":{group:"String"}}},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},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",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"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"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}},Dt=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function zt(t){var e=t.key,r=t.value;return r?[new Dt(e,r,"constants have been deprecated as of v8")]:[]}function Rt(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var Qt=[Ut,Vt,Ht,qt,Gt,Xt,Zt,Kt(Wt),Jt];function te(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!te(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=Qt;r255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return"%"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return"%"===t[t.length-1]?i(parseFloat(t)/100):i(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,i=t.replace(/ /g,"").toLowerCase();if(i in r)return r[i].slice();if("#"===i[0])return 4===i.length?(e=parseInt(i.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===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=i.indexOf("("),u=i.indexOf(")");if(-1!==l&&u+1===i.length){var c=i.substr(0,l),f=i.substr(l+1,u-(l+1)).split(","),h=1;switch(c){case"rgba":if(4!==f.length)return null;h=o(f.pop());case"rgb":return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case"hsla":if(4!==f.length)return null;h=o(f.pop());case"hsl":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=o(f[1]),v=o(f[2]),g=v<=.5?v*(d+1):v+d-v*d,y=2*v-g;return[n(255*s(y,g,p+1/3)),n(255*s(y,g,p)),n(255*s(y,g,p-1/3)),h];default:return null}}return null}}catch(t){}})),ie=ne.parseCSSColor,ae=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};ae.parse=function(t){if(t){if(t instanceof ae)return t;if("string"==typeof t){var e=ie(t);if(e)return new ae(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},ae.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],i=t[3];return"rgba("+Math.round(e)+","+Math.round(r)+","+Math.round(n)+","+i+")"},ae.prototype.toArray=function(){var t=this,e=t.r,r=t.g,n=t.b,i=t.a;return 0===i?[0,0,0,0]:[255*e/i,255*r/i,255*n/i,i]},ae.black=new ae(0,0,0,1),ae.white=new ae(1,1,1,1),ae.transparent=new ae(0,0,0,0),ae.red=new ae(1,0,0,1);var oe=function(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};oe.prototype.compare=function(t,e){return this.collator.compare(t,e)},oe.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var se=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i},le=function(t){this.sections=t};le.fromString=function(t){return new le([new se(t,null,null,null,null)])},le.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},le.factory=function(t){return t instanceof le?t:le.fromString(t)},le.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map((function(t){return t.text})).join("")},le.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e=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."}function fe(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof ae)return!0;if(t instanceof oe)return!0;if(t instanceof le)return!0;if(t instanceof ue)return!0;if(Array.isArray(t)){for(var e=0,r=t;e2){var s=t[1];if("string"!=typeof s||!(s in ge)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);a=ge[s],n++}else a=Wt;if(t.length>3){if(null!==t[2]&&("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);o=t[2],n++}r=Kt(a,o)}else r=ge[i];for(var l=[];n1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var me=function(t){this.type=Xt,this.sections=t};me.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[1];if(!Array.isArray(r)&&"object"==typeof r)return e.error("First argument must be an image or text section.");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&"object"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o["font-scale"]&&!(s=e.parse(o["font-scale"],1,Vt)))return null;var l=null;if(o["text-font"]&&!(l=e.parse(o["text-font"],1,Kt(Ht))))return null;var u=null;if(o["text-color"]&&!(u=e.parse(o["text-color"],1,Gt)))return null;var c=n[n.length-1];c.scale=s,c.font=l,c.textColor=u}else{var f=e.parse(t[a],1,Wt);if(!f)return null;var h=f.type.kind;if("string"!==h&&"value"!==h&&"null"!==h&&"resolvedImage"!==h)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:f,scale:null,font:null,textColor:null})}}return new me(n)},me.prototype.evaluate=function(t){return new le(this.sections.map((function(e){var r=e.content.evaluate(t);return he(r)===Jt?new se("",r,null,null,null):new se(pe(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))},me.prototype.eachChild=function(t){for(var e=0,r=this.sections;e-1),r},xe.prototype.eachChild=function(t){t(this.input)},xe.prototype.outputDefined=function(){return!1},xe.prototype.serialize=function(){return["image",this.input.serialize()]};var be={"to-boolean":qt,"to-color":Gt,"to-number":Vt,"to-string":Ht},_e=function(t,e){this.type=t,this.args=e};_e.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=be[r],i=[],a=1;a4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":ce(e[0],e[1],e[2],e[3])))return new ae(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new ve(r||"Could not parse color from value '"+("string"==typeof e?e:String(JSON.stringify(e)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s=e[2]||t[1]<=e[1]||t[3]>=e[3])}function Le(t,e){var r,n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360),a=Math.pow(2,e.z);return[Math.round(n*a*Me),Math.round(i*a*Me)]}function Ce(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function Oe(t,e){for(var r=!1,n=0,i=e.length;n0&&f<0||c<0&&f>0}function De(t,e,r){for(var n=0,i=r;nr[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a}Se(e,t)}function je(t,e,r,n){for(var i=Math.pow(2,n.z)*Me,a=[n.x*Me,n.y*Me],o=[],s=0,l=t;s=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Ge(t,e)&&(r=!1)})),r}Ve.parse=function(t,e){if(2!==t.length)return e.error("'within' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(fe(t[1])){var r=t[1];if("FeatureCollection"===r.type)for(var n=0;ne))throw new ve("Input is not a number.");o=s-1}return 0}We.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},We.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new ye(e,[t]):"coerce"===r?new _e(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind&&"resolvedImage"!==o.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||"coerce");else a=r(a,o,e.typeAnnotation||"assert")}if(!(a instanceof de)&&"resolvedImage"!==a.type.kind&&Ye(a)){var l=new Te;try{a=new de(a.type,a.evaluate(l))}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof t+" instead.")},We.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 We(this.registry,n,e||null,i,this.errors)},We.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map((function(t){return"["+t+"]"})).join("");this.errors.push(new Nt(n,t))},We.prototype.checkSubtype=function(t,e){var r=te(t,e);return r&&this.error(r),r};var Je=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var c=e.parse(s,u,i);if(!c)return null;i=i||c.type,n.push([o,c])}return new Je(i,r,n)},Je.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;return n>=e[i-1]?r[i-1].evaluate(t):r[Xe(e,n)].evaluate(t)},Je.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var $e=Object.freeze({__proto__:null,number:Ke,color:function(t,e,r){return new ae(Ke(t.r,e.r,r),Ke(t.g,e.g,r),Ke(t.b,e.b,r),Ke(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return Ke(t,e[n],r)}))}}),Qe=.95047,tr=1.08883,er=4/29,rr=6/29,nr=3*rr*rr,ir=Math.PI/180,ar=180/Math.PI;function or(t){return t>.008856451679035631?Math.pow(t,1/3):t/nr+er}function sr(t){return t>rr?t*t*t:nr*(t-er)}function lr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function ur(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function cr(t){var e=ur(t.r),r=ur(t.g),n=ur(t.b),i=or((.4124564*e+.3575761*r+.1804375*n)/Qe),a=or((.2126729*e+.7151522*r+.072175*n)/1);return{l:116*a-16,a:500*(i-a),b:200*(a-or((.0193339*e+.119192*r+.9503041*n)/tr)),alpha:t.a}}function fr(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=1*sr(e),r=Qe*sr(r),n=tr*sr(n),new ae(lr(3.2404542*r-1.5371385*e-.4985314*n),lr(-.969266*r+1.8760108*e+.041556*n),lr(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function hr(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var pr={forward:cr,reverse:fr,interpolate:function(t,e,r){return{l:Ke(t.l,e.l,r),a:Ke(t.a,e.a,r),b:Ke(t.b,e.b,r),alpha:Ke(t.alpha,e.alpha,r)}}},dr={forward:function(t){var e=cr(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*ar;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*ir,r=t.c;return fr({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:hr(t.h,e.h,r),c:Ke(t.c,e.c,r),l:Ke(t.l,e.l,r),alpha:Ke(t.alpha,e.alpha,r)}}},vr=Object.freeze({__proto__:null,lab:pr,hcl:dr}),gr=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a1})))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}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(!(i=e.parse(i,2,Vt)))return null;var l=[],u=null;"interpolate-hcl"===r||"interpolate-lab"===r?u=Gt:e.expectedType&&"value"!==e.expectedType.kind&&(u=e.expectedType);for(var c=0;c=f)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var v=e.parse(h,d,u);if(!v)return null;u=u||v.type,l.push([f,v])}return"number"===u.kind||"color"===u.kind||"array"===u.kind&&"number"===u.itemType.kind&&"number"==typeof u.N?new gr(u,r,n,i,l):e.error("Type "+$t(u)+" is not interpolatable.")},gr.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 a=Xe(e,n),o=e[a],s=e[a+1],l=gr.interpolationFactor(this.interpolation,n,o,s),u=r[a].evaluate(t),c=r[a+1].evaluate(t);return"interpolate"===this.operator?$e[this.type.kind.toLowerCase()](u,c,l):"interpolate-hcl"===this.operator?dr.reverse(dr.interpolate(dr.forward(u),dr.forward(c),l)):pr.reverse(pr.interpolate(pr.forward(u),pr.forward(c),l))},gr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e=r.length)throw new ve("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new ve("Array index must be an integer, but found "+e+" instead.");return r[e]},br.prototype.eachChild=function(t){t(this.index),t(this.input)},br.prototype.outputDefined=function(){return!1},br.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var _r=function(t,e){this.type=qt,this.needle=t,this.haystack=e};_r.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,Wt),n=e.parse(t[2],2,Wt);return r&&n?ee(r.type,[qt,Ht,Vt,Ut,Wt])?new _r(r,n):e.error("Expected first argument to be of type boolean, string, number or null, but found "+$t(r.type)+" instead"):null},_r.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!re(e,["boolean","string","number","null"]))throw new ve("Expected first argument to be of type boolean, string, number or null, but found "+$t(he(e))+" instead.");if(!re(r,["string","array"]))throw new ve("Expected second argument to be of type array or string, but found "+$t(he(r))+" instead.");return r.indexOf(e)>=0},_r.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},_r.prototype.outputDefined=function(){return!0},_r.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var wr=function(t,e,r){this.type=Vt,this.needle=t,this.haystack=e,this.fromIndex=r};wr.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Wt),n=e.parse(t[2],2,Wt);if(!r||!n)return null;if(!ee(r.type,[qt,Ht,Vt,Ut,Wt]))return e.error("Expected first argument to be of type boolean, string, number or null, but found "+$t(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Vt);return i?new wr(r,n,i):null}return new wr(r,n)},wr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!re(e,["boolean","string","number","null"]))throw new ve("Expected first argument to be of type boolean, string, number or null, but found "+$t(he(e))+" instead.");if(!re(r,["string","array"]))throw new ve("Expected second argument to be of type array or string, but found "+$t(he(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},wr.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},wr.prototype.outputDefined=function(){return!1},wr.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),t]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var Tr=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};Tr.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,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;oNumber.MAX_SAFE_INTEGER)return u.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof h&&Math.floor(h)!==h)return u.error("Numeric branch labels must be integer values.");if(r){if(u.checkSubtype(r,he(h)))return null}else r=he(h);if(void 0!==i[String(h)])return u.error("Branch labels must be unique.");i[String(h)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,Wt);if(!d)return null;var v=e.parse(t[t.length-1],t.length-1,n);return v?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new Tr(r,n,d,i,a,v):null},Tr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(he(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},Tr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},Tr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},Tr.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Wt),n=e.parse(t[2],2,Vt);if(!r||!n)return null;if(!ee(r.type,[Kt(Wt),Ht,Wt]))return e.error("Expected first argument to be of type array or string, but found "+$t(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Vt);return i?new Ar(r.type,r,n,i):null}return new Ar(r.type,r,n)},Ar.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!re(e,["string","array"]))throw new ve("Expected first argument to be of type array or string, but found "+$t(he(e))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},Ar.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},Ar.prototype.outputDefined=function(){return!1},Ar.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),t]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var Lr=Er("==",(function(t,e,r){return e===r}),Sr),Cr=Er("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!Sr(0,e,r,n)})),Or=Er("<",(function(t,e,r){return e",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Ir=Er("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),Dr=Er(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),zr=function(t,e,r,n,i){this.type=Ht,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};zr.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,Vt);if(!r)return null;var n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,Ht)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Ht)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=e.parse(n["min-fraction-digits"],1,Vt)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,Vt))?null:new zr(r,i,a,o,s)},zr.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},zr.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},zr.prototype.outputDefined=function(){return!1},zr.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]};var Rr=function(t){this.type=Vt,this.input=t};Rr.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+$t(r.type)+" instead."):new Rr(r):null},Rr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new ve("Expected value to be of type string or array, but found "+$t(he(e))+" instead.")},Rr.prototype.eachChild=function(t){t(this.input)},Rr.prototype.outputDefined=function(){return!1},Rr.prototype.serialize=function(){var t=["length"];return this.eachChild((function(e){t.push(e.serialize())})),t};var Fr={"==":Lr,"!=":Cr,">":Pr,"<":Or,">=":Dr,"<=":Ir,array:ye,at:br,boolean:ye,case:kr,coalesce:mr,collator:Ae,format:me,image:xe,in:_r,"index-of":wr,interpolate:gr,"interpolate-hcl":gr,"interpolate-lab":gr,length:Rr,let:xr,literal:de,match:Tr,number:ye,"number-format":zr,object:ye,slice:Ar,step:Je,string:ye,"to-boolean":_e,"to-color":_e,"to-number":_e,"to-string":_e,var:Ze,within:Ve};function Br(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=ce(r,n,i,o);if(s)throw new ve(s);return new ae(r/255*o,n/255*o,i/255*o,o)}function Nr(t,e){return t in e}function jr(t,e){var r=e[t];return void 0===r?null:r}function Ur(t){return{type:t}}function Vr(t){return{result:"success",value:t}}function Hr(t){return{result:"error",value:t}}function qr(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function Gr(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function Zr(t){return!!t.expression&&t.expression.interpolated}function Wr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function Yr(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function Xr(t){return t}function Jr(t,e){var r,n,i,a="color"===e.type,o=t.stops&&"object"==typeof t.stops[0][0],s=o||void 0!==t.property,l=o||!s,u=t.type||(Zr(e)?"exponential":"interval");if(a&&((t=Rt({},t)).stops&&(t.stops=t.stops.map((function(t){return[t[0],ae.parse(t[1])]}))),t.default?t.default=ae.parse(t.default):t.default=ae.parse(e.default)),t.colorSpace&&"rgb"!==t.colorSpace&&!vr[t.colorSpace])throw new Error("Unknown color space: "+t.colorSpace);if("exponential"===u)r=tn;else if("interval"===u)r=Qr;else if("categorical"===u){r=$r,n=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var i=Xe(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function tn(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==Wr(r))return Kr(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=Xe(t.stops.map((function(t){return t[0]})),r),o=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,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],u=$e[e.type]||Xr;if(t.colorSpace&&"rgb"!==t.colorSpace){var c=vr[t.colorSpace];u=function(t,e){return c.reverse(c.interpolate(c.forward(t),c.forward(e),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return u(r,n,o)}}:u(s,l,o)}function en(t,e,r){return"color"===e.type?r=ae.parse(r):"formatted"===e.type?r=le.fromString(r.toString()):"resolvedImage"===e.type?r=ue.fromString(r.toString()):Wr(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),Kr(r,t.default,e.default)}ke.register(Fr,{error:[{kind:"error"},[Ht],function(t,e){var r=e[0];throw new ve(r.evaluate(t))}],typeof:[Ht,[Wt],function(t,e){return $t(he(e[0].evaluate(t)))}],"to-rgba":[Kt(Vt,4),[Gt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Gt,[Vt,Vt,Vt],Br],rgba:[Gt,[Vt,Vt,Vt,Vt],Br],has:{type:qt,overloads:[[[Ht],function(t,e){return Nr(e[0].evaluate(t),t.properties())}],[[Ht,Zt],function(t,e){var r=e[0],n=e[1];return Nr(r.evaluate(t),n.evaluate(t))}]]},get:{type:Wt,overloads:[[[Ht],function(t,e){return jr(e[0].evaluate(t),t.properties())}],[[Ht,Zt],function(t,e){var r=e[0],n=e[1];return jr(r.evaluate(t),n.evaluate(t))}]]},"feature-state":[Wt,[Ht],function(t,e){return jr(e[0].evaluate(t),t.featureState||{})}],properties:[Zt,[],function(t){return t.properties()}],"geometry-type":[Ht,[],function(t){return t.geometryType()}],id:[Wt,[],function(t){return t.id()}],zoom:[Vt,[],function(t){return t.globals.zoom}],"heatmap-density":[Vt,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[Vt,[],function(t){return t.globals.lineProgress||0}],accumulated:[Wt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[Vt,Ur(Vt),function(t,e){for(var r=0,n=0,i=e;n":[qt,[Ht,Wt],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->":[qt,[Wt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[qt,[Ht,Wt],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-<=":[qt,[Wt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[qt,[Ht,Wt],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->=":[qt,[Wt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[qt,[Wt],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[qt,[],function(t){return null!==t.id()&&void 0!==t.id()}],"filter-type-in":[qt,[Kt(Ht)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[qt,[Kt(Wt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[qt,[Ht,Kt(Wt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[qt,[Ht,Kt(Wt)],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)}],all:{type:qt,overloads:[[[qt,qt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Ur(qt),function(t,e){for(var r=0,n=e;r0&&"string"==typeof t[0]&&t[0]in Fr}function an(t,e){var r=new We(Fr,[],e?function(t){var e={color:Gt,string:Ht,number:Vt,enum:Ht,boolean:qt,formatted:Xt,resolvedImage:Jt};return"array"===t.type?Kt(e[t.value]||Wt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?Vr(new rn(n,e)):Hr(r.errors)}rn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},rn.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||"number"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new ve("Expected value to be one of "+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(", ")+", but found "+JSON.stringify(o)+" instead.");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var on=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!qe(e.expression)};on.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},on.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var sn=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!qe(e.expression),this.interpolationType=n};function ln(t,e){if("error"===(t=an(t,e)).result)return t;var r=t.value.expression,n=He(r);if(!n&&!qr(e))return Hr([new Nt("","data expressions not supported")]);var i=Ge(r,["zoom"]);if(!i&&!Gr(e))return Hr([new Nt("","zoom expressions not supported")]);var a=cn(r);if(!a&&!i)return Hr([new Nt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof Nt)return Hr([a]);if(a instanceof gr&&!Zr(e))return Hr([new Nt("",'"interpolate" expressions cannot be used with this property')]);if(!a)return Vr(new on(n?"constant":"source",t.value));var o=a instanceof gr?a.interpolation:void 0;return Vr(new sn(n?"camera":"composite",t.value,a.labels,o))}sn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},sn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},sn.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?gr.interpolationFactor(this.interpolationType,t,e,r):0};var un=function(t,e){this._parameters=t,this._specification=e,Rt(this,Jr(this._parameters,this._specification))};function cn(t){var e=null;if(t instanceof xr)e=cn(t.result);else if(t instanceof mr)for(var r=0,n=t.args;rn.maximum?[new Dt(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function dn(t){var e,r,n,i=t.valueSpec,a=Ft(t.value.type),o={},s="categorical"!==a&&void 0===t.value.property,l=!s,u="array"===Wr(t.value.stops)&&"array"===Wr(t.value.stops[0])&&"object"===Wr(t.value.stops[0][0]),c=fn({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===a)return[new Dt(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(hn({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:f})),"array"===Wr(r)&&0===r.length&&e.push(new Dt(t.key,r,"array must have at least one stop")),e},default:function(t){return Bn({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===a&&s&&c.push(new Dt(t.key,t.value,'missing required property "property"')),"identity"===a||t.value.stops||c.push(new Dt(t.key,t.value,'missing required property "stops"')),"exponential"===a&&t.valueSpec.expression&&!Zr(t.valueSpec)&&c.push(new Dt(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!qr(t.valueSpec)?c.push(new Dt(t.key,t.value,"property functions not supported")):s&&!Gr(t.valueSpec)&&c.push(new Dt(t.key,t.value,"zoom functions not supported"))),"categorical"!==a&&!u||void 0!==t.value.property||c.push(new Dt(t.key,t.value,'"property" property is required')),c;function f(t){var e=[],a=t.value,s=t.key;if("array"!==Wr(a))return[new Dt(s,a,"array expected, "+Wr(a)+" found")];if(2!==a.length)return[new Dt(s,a,"array length 2 expected, length "+a.length+" found")];if(u){if("object"!==Wr(a[0]))return[new Dt(s,a,"object expected, "+Wr(a[0])+" found")];if(void 0===a[0].zoom)return[new Dt(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new Dt(s,a,"object stop key must have value")];if(n&&n>Ft(a[0].zoom))return[new Dt(s,a[0].zoom,"stop zoom values must appear in ascending order")];Ft(a[0].zoom)!==n&&(n=Ft(a[0].zoom),r=void 0,o={}),e=e.concat(fn({key:s+"[0]",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:pn,value:h}}))}else e=e.concat(h({key:s+"[0]",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return nn(Bt(a[1]))?e.concat([new Dt(s+"[1]",a[1],"expressions are not allowed in function stops.")]):e.concat(Bn({key:s+"[1]",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=Wr(t.value),l=Ft(t.value),u=null!==t.value?t.value:n;if(e){if(s!==e)return[new Dt(t.key,u,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new Dt(t.key,u,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){var c="number expected, "+s+" found";return qr(i)&&void 0===a&&(c+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Dt(t.key,u,c)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&l=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));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);ee?1:0}function _n(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(var e=1;e"===r||"<="===r||">="===r?Tn(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(wn))):"all"===r?["all"].concat(t.slice(1).map(wn)):"none"===r?["all"].concat(t.slice(1).map(wn).map(Mn)):"in"===r?kn(t[1],t.slice(2)):"!in"===r?Mn(kn(t[1],t.slice(2))):"has"===r?An(t[1]):"!has"===r?Mn(An(t[1])):"within"!==r||t}function Tn(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 kn(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(bn)]]:["filter-in-small",t,["literal",e]]}}function An(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Mn(t){return["!",t]}function Sn(t){return yn(Bt(t.value))?vn(Rt({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):En(t)}function En(t){var e=t.value,r=t.key;if("array"!==Wr(e))return[new Dt(r,e,"array expected, "+Wr(e)+" found")];var n,i=t.styleSpec,a=[];if(e.length<1)return[new Dt(r,e,"filter array must have at least 1 element")];switch(a=a.concat(gn({key:r+"[0]",value:e[0],valueSpec:i.filter_operator,style:t.style,styleSpec:t.styleSpec})),Ft(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===Ft(e[1])&&a.push(new Dt(r,e,'"$type" cannot be use with operator "'+e[0]+'"'));case"==":case"!=":3!==e.length&&a.push(new Dt(r,e,'filter array for operator "'+e[0]+'" must have 3 elements'));case"in":case"!in":e.length>=2&&"string"!==(n=Wr(e[1]))&&a.push(new Dt(r+"[1]",e[1],"string expected, "+n+" found"));for(var o=2;o=c[p+0]&&n>=c[p+1])?(o[h]=!0,a.push(u[h])):o[h]=!1}}},Xn.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToCellCoord(t),u=this._convertToCellCoord(e),c=this._convertToCellCoord(r),f=this._convertToCellCoord(n),h=l;h<=c;h++)for(var p=u;p<=f;p++){var d=this.d*p+h;if((!s||s(this._convertFromCellCoord(h),this._convertFromCellCoord(p),this._convertFromCellCoord(h+1),this._convertFromCellCoord(p+1)))&&i.call(this,t,e,r,n,d,a,o,s))return}},Xn.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},Xn.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},Xn.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=3+this.cells.length+1+1,r=0,n=0;n=0)){var f=t[c];u[c]=$n[l].shallow.indexOf(c)>=0?f:ni(f,e)}t instanceof Error&&(u.message=t.message)}if(u.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==l&&(u.$name=l),u}throw new Error("can't serialize object of type "+typeof t)}function ii(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||ei(t)||ri(t)||ArrayBuffer.isView(t)||t instanceof Jn)return t;if(Array.isArray(t))return t.map(ii);if("object"==typeof t){var e=t.$name||"Object",r=$n[e].klass;if(!r)throw new Error("can't deserialize unregistered class "+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i=0?s:ii(s)}}return n}throw new Error("can't deserialize object of type "+typeof t)}var ai=function(){this.first=!0};ai.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=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},Khmer:function(t){return t>=6016&&t<=6143},"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}};function si(t){for(var e=0,r=t;e=65097&&t<=65103)||oi["CJK Compatibility Ideographs"](t)||oi["CJK Compatibility"](t)||oi["CJK Radicals Supplement"](t)||oi["CJK Strokes"](t)||!(!oi["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||oi["CJK Unified Ideographs Extension A"](t)||oi["CJK Unified Ideographs"](t)||oi["Enclosed CJK Letters and Months"](t)||oi["Hangul Compatibility Jamo"](t)||oi["Hangul Jamo Extended-A"](t)||oi["Hangul Jamo Extended-B"](t)||oi["Hangul Jamo"](t)||oi["Hangul Syllables"](t)||oi.Hiragana(t)||oi["Ideographic Description Characters"](t)||oi.Kanbun(t)||oi["Kangxi Radicals"](t)||oi["Katakana Phonetic Extensions"](t)||oi.Katakana(t)&&12540!==t||!(!oi["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)||!(!oi["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||oi["Unified Canadian Aboriginal Syllabics"](t)||oi["Unified Canadian Aboriginal Syllabics Extended"](t)||oi["Vertical Forms"](t)||oi["Yijing Hexagram Symbols"](t)||oi["Yi Syllables"](t)||oi["Yi Radicals"](t))))}function ui(t){return!(li(t)||function(t){return!!(oi["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||oi["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)||oi["Letterlike Symbols"](t)||oi["Number Forms"](t)||oi["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)||oi["Control Pictures"](t)&&9251!==t||oi["Optical Character Recognition"](t)||oi["Enclosed Alphanumerics"](t)||oi["Geometric Shapes"](t)||oi["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||oi["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||oi["CJK Symbols and Punctuation"](t)||oi.Katakana(t)||oi["Private Use Area"](t)||oi["CJK Compatibility Forms"](t)||oi["Small Form Variants"](t)||oi["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function ci(t){return oi.Arabic(t)||oi["Arabic Supplement"](t)||oi["Arabic Extended-A"](t)||oi["Arabic Presentation Forms-A"](t)||oi["Arabic Presentation Forms-B"](t)}function fi(t){return t>=1424&&t<=2303||oi["Arabic Presentation Forms-A"](t)||oi["Arabic Presentation Forms-B"](t)}function hi(t,e){return!(!e&&fi(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||oi.Khmer(t))}function pi(t){for(var e=0,r=t;e-1&&(xi=yi),mi&&mi(t)};function wi(){Ti.fire(new Ct("pluginStateChange",{pluginStatus:xi,pluginURL:bi}))}var Ti=new Pt,ki=function(){return xi},Ai=function(){if(xi!==di||!bi)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");xi=vi,wi(),bi&&Tt({url:bi},(function(t){t?_i(t):(xi=gi,wi())}))},Mi={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return xi===gi||null!=Mi.applyArabicShaping},isLoading:function(){return xi===vi},setState:function(t){xi=t.pluginStatus,bi=t.pluginURL},isParsed:function(){return null!=Mi.applyArabicShaping&&null!=Mi.processBidirectionalText&&null!=Mi.processStyledBidirectionalText},getPluginURL:function(){return bi}},Si=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 ai,this.transition={})};Si.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;rthis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var Ei=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(Yr(t))return new un(t,e);if(nn(t)){var r=ln(t,e);if("error"===r.result)throw new Error(r.value.map((function(t){return t.key+": "+t.message})).join(", "));return r.value}var n=t;return"string"==typeof t&&"color"===e.type&&(n=ae.parse(t)),{kind:"constant",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};Ei.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},Ei.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var Li=function(t){this.property=t,this.value=new Ei(t,void 0)};Li.prototype.transitioned=function(t,e){return new Oi(this.property,this.value,e,f({},t.transition,this.transition),t.now)},Li.prototype.untransitioned=function(){return new Oi(this.property,this.value,null,{},0)};var Ci=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};Ci.prototype.getValue=function(t){return b(this._values[t].value.value)},Ci.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Li(this._values[t].property)),this._values[t].value=new Ei(this._values[t].property,null===e?void 0:b(e))},Ci.prototype.getTransition=function(t){return b(this._values[t].transition)},Ci.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Li(this._values[t].property)),this._values[t].transition=b(e)||void 0},Ci.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);ethis.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var Pi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Pi.prototype.possiblyEvaluate=function(t,e,r){for(var n=new zi(this._properties),i=0,a=Object.keys(this._values);in.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(Fi),Ni=function(t){this.specification=t};Ni.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if("constant"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new Si(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Si(Math.floor(e.zoom),e)),t.expression.evaluate(new Si(Math.floor(e.zoom+1),e)),e)}},Ni.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Ni.prototype.interpolate=function(t){return t};var ji=function(t){this.specification=t};ji.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},ji.prototype.interpolate=function(){return!1};var Ui=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new Ei(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Li(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};Qn("DataDrivenProperty",Fi),Qn("DataConstantProperty",Ri),Qn("CrossFadedDataDrivenProperty",Bi),Qn("CrossFadedProperty",Ni),Qn("ColorRampProperty",ji);var Vi="-transition",Hi=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new Ii(r.layout)),r.paint)){for(var n in this._transitionablePaint=new Ci(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(),this.paint=new zi(r.paint)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".layout."+t;if(this._validate(Zn,n,t,e,r))return}"visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return y(t,Vi)?this._transitionablePaint.getTransition(t.slice(0,-Vi.length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".paint."+t;if(this._validate(Gn,n,t,e,r))return!1}if(y(t,Vi))return this._transitionablePaint.setTransition(t.slice(0,-Vi.length),e||void 0),!1;var i=this._transitionablePaint._values[t],a="cross-faded-data-driven"===i.property.specification["property-type"],o=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var l=this._transitionablePaint._values[t].value;return l.isDataDriven()||o||a||this._handleOverridablePaintPropertyUpdate(t,s,l)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&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,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)},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 this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),x(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,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Wn(this,t.call(Hn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:It,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof Di&&qr(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(Pt),qi={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Gi=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},Zi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Wi(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var i,a=(i=t.type,qi[i].BYTES_PER_ELEMENT),o=r=Yi(r,Math.max(e,a)),s=t.components||1;return n=Math.max(n,a),r+=a*s,{name:t.name,type:t.type,components:s,offset:o}})),size:Yi(r,Math.max(n,e)),alignment:e}}function Yi(t,e){return Math.ceil(t/e)*e}Zi.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Zi.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},Zi.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Zi.prototype.clear=function(){this.length=0},Zi.prototype.resize=function(t){this.reserve(t),this.length=t},Zi.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)}},Zi.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var Xi=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;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(Zi);Xi.prototype.bytesPerElement=4,Qn("StructArrayLayout2i4",Xi);var Ji=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;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(Zi);Ji.prototype.bytesPerElement=8,Qn("StructArrayLayout4i8",Ji);var Ki=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;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Zi);Ki.prototype.bytesPerElement=12,Qn("StructArrayLayout2i4i12",Ki);var $i=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;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t},e}(Zi);$i.prototype.bytesPerElement=8,Qn("StructArrayLayout2i4ub8",$i);var Qi=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,n,i,a,o,s,l,u){var c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l,u)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c){var f=9*t,h=18*t;return this.uint16[f+0]=e,this.uint16[f+1]=r,this.uint16[f+2]=n,this.uint16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=l,this.uint8[h+16]=u,this.uint8[h+17]=c,t},e}(Zi);Qi.prototype.bytesPerElement=18,Qn("StructArrayLayout8ui2ub18",Qi);var ta=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,l,u,c,f){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,i,a,o,s,l,u,c,f)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=u,this.int16[p+9]=c,this.int16[p+10]=f,this.int16[p+11]=h,t},e}(Zi);ta.prototype.bytesPerElement=24,Qn("StructArrayLayout4i4ui4i24",ta);var ea=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;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(Zi);ea.prototype.bytesPerElement=12,Qn("StructArrayLayout3f12",ea);var ra=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;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint32[r+0]=e,t},e}(Zi);ra.prototype.bytesPerElement=4,Qn("StructArrayLayout1ul4",ra);var na=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){var u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u){var c=10*t,f=5*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=i,this.int16[c+4]=a,this.int16[c+5]=o,this.uint32[f+3]=s,this.uint16[c+8]=l,this.uint16[c+9]=u,t},e}(Zi);na.prototype.bytesPerElement=20,Qn("StructArrayLayout6i1ul2ui20",na);var ia=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;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Zi);ia.prototype.bytesPerElement=12,Qn("StructArrayLayout2i2i2i12",ia);var aa=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),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(Zi);aa.prototype.bytesPerElement=16,Qn("StructArrayLayout2f1f2i16",aa);var oa=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;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(Zi);oa.prototype.bytesPerElement=12,Qn("StructArrayLayout2ub2f12",oa);var sa=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;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(Zi);sa.prototype.bytesPerElement=6,Qn("StructArrayLayout3ui6",sa);var la=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,f,h,p,d,v,g){var y=this.length;return this.resize(y+1),this.emplace(y,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y){var m=24*t,x=12*t,b=48*t;return this.int16[m+0]=e,this.int16[m+1]=r,this.uint16[m+2]=n,this.uint16[m+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[m+10]=l,this.uint16[m+11]=u,this.uint16[m+12]=c,this.float32[x+7]=f,this.float32[x+8]=h,this.uint8[b+36]=p,this.uint8[b+37]=d,this.uint8[b+38]=v,this.uint32[x+10]=g,this.int16[m+22]=y,t},e}(Zi);la.prototype.bytesPerElement=48,Qn("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",la);var ua=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,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E){var L=34*t,C=17*t;return this.int16[L+0]=e,this.int16[L+1]=r,this.int16[L+2]=n,this.int16[L+3]=i,this.int16[L+4]=a,this.int16[L+5]=o,this.int16[L+6]=s,this.int16[L+7]=l,this.uint16[L+8]=u,this.uint16[L+9]=c,this.uint16[L+10]=f,this.uint16[L+11]=h,this.uint16[L+12]=p,this.uint16[L+13]=d,this.uint16[L+14]=v,this.uint16[L+15]=g,this.uint16[L+16]=y,this.uint16[L+17]=m,this.uint16[L+18]=x,this.uint16[L+19]=b,this.uint16[L+20]=_,this.uint16[L+21]=w,this.uint16[L+22]=T,this.uint32[C+12]=k,this.float32[C+13]=A,this.float32[C+14]=M,this.float32[C+15]=S,this.float32[C+16]=E,t},e}(Zi);ua.prototype.bytesPerElement=68,Qn("StructArrayLayout8i15ui1ul4f68",ua);var ca=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;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.float32[r+0]=e,t},e}(Zi);ca.prototype.bytesPerElement=4,Qn("StructArrayLayout1f4",ca);var fa=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;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(Zi);fa.prototype.bytesPerElement=6,Qn("StructArrayLayout3i6",fa);var ha=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;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=2*t,a=4*t;return this.uint32[i+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t},e}(Zi);ha.prototype.bytesPerElement=8,Qn("StructArrayLayout1ul2ui8",ha);var pa=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;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(Zi);pa.prototype.bytesPerElement=4,Qn("StructArrayLayout2ui4",pa);var da=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){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint16[r+0]=e,t},e}(Zi);da.prototype.bytesPerElement=2,Qn("StructArrayLayout1ui2",da);var va=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;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(Zi);va.prototype.bytesPerElement=8,Qn("StructArrayLayout2f8",va);var ga=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;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(Zi);ga.prototype.bytesPerElement=16,Qn("StructArrayLayout4f16",ga);var ya=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:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Gi);ya.prototype.size=20;var ma=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 ya(this,t)},e}(na);Qn("CollisionBoxArray",ma);var xa=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:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}(Gi);xa.prototype.size=48;var ba=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 xa(this,t)},e}(la);Qn("PlacedSymbolArray",ba);var _a=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:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}(Gi);_a.prototype.size=68;var wa=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 _a(this,t)},e}(ua);Qn("SymbolInstanceArray",wa);var Ta=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}(ca);Qn("GlyphOffsetArray",Ta);var ka=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}(fa);Qn("SymbolLineVertexArray",ka);var Aa=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:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}(Gi);Aa.prototype.size=8;var Ma=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 Aa(this,t)},e}(ha);Qn("FeatureIndexArray",Ma);var Sa=Wi([{name:"a_pos",components:2,type:"Int16"}],4).members,Ea=function(t){void 0===t&&(t=[]),this.segments=t};function La(t,e){return 256*(t=u(Math.floor(t),0,255))+u(Math.floor(e),0,255)}Ea.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>Ea.MAX_VERTEX_ARRAY_LENGTH&&w("Max vertices per segment is "+Ea.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!i||i.vertexLength+t>Ea.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},Ea.prototype.get=function(){return this.segments},Ea.prototype.destroy=function(){for(var t=0,e=this.segments;t>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(u+2))<<16;case 2:l^=(255&t.charCodeAt(u+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(u)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),Pa=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),Ia=Oa,Da=Oa,za=Pa;Ia.murmur3=Da,Ia.murmur2=za;var Ra=function(){this.ids=[],this.positions=[],this.indexed=!1};Ra.prototype.add=function(t,e,r,n){this.ids.push(Ba(t)),this.positions.push(e,r,n)},Ra.prototype.getPositions=function(t){for(var e=Ba(t),r=0,n=this.ids.length-1;r>1;this.ids[i]>=e?n=i:r=i+1}for(var a=[];this.ids[r]===e;){var o=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:o,start:s,end:l}),r++}return a},Ra.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Na(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},Ra.deserialize=function(t){var e=new Ra;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var Fa=Math.pow(2,53)-1;function Ba(t){var e=+t;return!isNaN(e)&&e<=Fa?e:Ia(String(t))}function Na(t,e,r,n){for(;r>1],a=r-1,o=n+1;;){do{a++}while(t[a]i);if(a>=o)break;ja(t,a,o),ja(e,3*a,3*o),ja(e,3*a+1,3*o+1),ja(e,3*a+2,3*o+2)}o-rlo.max||o.ylo.max)&&(w("Geometry exceeds allowed extent, reduce your vector tile buffer size"),o.x=u(o.x,lo.min,lo.max),o.y=u(o.y,lo.min,lo.max))}return r}function co(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var fo=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.hasPattern=!1,this.layoutVertexArray=new Xi,this.indexArray=new sa,this.segments=new Ea,this.programConfigurations=new no(Sa,t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function ho(t,e){for(var r=0;r1){if(yo(t,e))return!0;for(var n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function _o(t,e){for(var r,n,i,a=!1,o=0;oe.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 wo(t,e){for(var r=!1,n=0,i=t.length-1;ne.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}function To(t,e,r){var n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return!1;var a=T(t,e,r[0]);return a!==T(t,e,r[1])||a!==T(t,e,r[2])||a!==T(t,e,r[3])}function ko(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function Ao(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Mo(t,e,r,n,i){if(!e[0]&&!e[1])return t;var o=a.convert(e)._mult(i);"viewport"===r&&o._rotate(-n);for(var s=[],l=0;l=oo||c<0||c>=oo)){var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=f.vertexLength;co(this.layoutVertexArray,u,c,-1,-1),co(this.layoutVertexArray,u,c,1,-1),co(this.layoutVertexArray,u,c,1,1),co(this.layoutVertexArray,u,c,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),f.vertexLength+=4,f.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)},Qn("CircleBucket",fo,{omit:["layers"]});var So=new Ui({"circle-sort-key":new Fi(It.layout_circle["circle-sort-key"])}),Eo={paint:new Ui({"circle-radius":new Fi(It.paint_circle["circle-radius"]),"circle-color":new Fi(It.paint_circle["circle-color"]),"circle-blur":new Fi(It.paint_circle["circle-blur"]),"circle-opacity":new Fi(It.paint_circle["circle-opacity"]),"circle-translate":new Ri(It.paint_circle["circle-translate"]),"circle-translate-anchor":new Ri(It.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new Ri(It.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new Ri(It.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new Fi(It.paint_circle["circle-stroke-width"]),"circle-stroke-color":new Fi(It.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new Fi(It.paint_circle["circle-stroke-opacity"])}),layout:So},Lo="undefined"!=typeof Float32Array?Float32Array:Array;function Co(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Oo(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],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var Po=Oo;var Io,Do=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t};function zo(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}Io=new Lo(3),Lo!=Float32Array&&(Io[0]=0,Io[1]=0,Io[2]=0),function(){var t=new Lo(4);Lo!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var Ro=function(t){var e=t[0],r=t[1];return e*e+r*r},Fo=(function(){var t=new Lo(2);Lo!=Float32Array&&(t[0]=0,t[1]=0)}(),function(t){function e(e){t.call(this,e,Eo)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new fo(t)},e.prototype.queryRadius=function(t){var e=t;return ko("circle-radius",this,e)+ko("circle-stroke-width",this,e)+Ao(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var l=Mo(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),a.angle,o),u=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r),c="map"===this.paint.get("circle-pitch-alignment"),f=c?l:function(t,e){return t.map((function(t){return Bo(t,e)}))}(l,s),h=c?u*o:u,p=0,d=n;pt.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;l80*r){n=a=t[0],i=o=t[1];for(var d=r;da&&(a=s),l>o&&(o=l);u=0!==(u=Math.max(a-n,o-i))?1/u:0}return rs(h,p,r,n,i,u),p}function ts(t,e,r,n,i){var a,o;if(i===ks(t,e,r,n)>0)for(a=e;a=e;a-=n)o=_s(a,t[a],t[a+1],o);return o&&vs(o,o.next)&&(ws(o),o=o.next),o}function es(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!vs(n,n.next)&&0!==ds(n.prev,n,n.next))n=n.next;else{if(ws(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function rs(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=cs(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;e0||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?is(t,n,i,a):ns(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),ws(t),t=l.next,u=l.next;else if((t=l)===u){o?1===o?rs(t=as(es(t),e,r),e,r,n,i,a,2):2===o&&os(t,e,r,n,i,a):rs(es(t),e,r,n,i,a,1);break}}}function ns(t){var e=t.prev,r=t,n=t.next;if(ds(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(hs(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&ds(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function is(t,e,r,n){var i=t.prev,a=t,o=t.next;if(ds(i,a,o)>=0)return!1;for(var s=i.xa.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,f=cs(s,l,e,r,n),h=cs(u,c,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=f&&d&&d.z<=h;){if(p!==t.prev&&p!==t.next&&hs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ds(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&hs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ds(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&hs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ds(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=h;){if(d!==t.prev&&d!==t.next&&hs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ds(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function as(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!vs(i,a)&&gs(i,n,n.next,a)&&xs(i,a)&&xs(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),ws(n),ws(n.next),n=t=a),n=n.next}while(n!==t);return es(n)}function os(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&ps(o,s)){var l=bs(o,s);return o=es(o,o.next),l=es(l,l.next),rs(o,e,r,n,i,a),void rs(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function ss(t,e){return t.x-e.x}function ls(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.x&&n.x>=c&&i!==n.x&&hs(ar.x||n.x===r.x&&us(r,n)))&&(r=n,h=l)),n=n.next}while(n!==u);return r}(t,e)){var r=bs(e,t);es(e,e.next),es(r,r.next)}}function us(t,e){return ds(t.prev,t,e.prev)<0&&ds(e.next,t,t.next)<0}function cs(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 fs(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function ps(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&&gs(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(xs(t,e)&&xs(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)&&(ds(t.prev,t,e.prev)||ds(t,e.prev,e))||vs(t,e)&&ds(t.prev,t,t.next)>0&&ds(e.prev,e,e.next)>0)}function ds(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function vs(t,e){return t.x===e.x&&t.y===e.y}function gs(t,e,r,n){var i=ms(ds(t,e,r)),a=ms(ds(t,e,n)),o=ms(ds(r,n,t)),s=ms(ds(r,n,e));return i!==a&&o!==s||!(0!==i||!ys(t,r,e))||!(0!==a||!ys(t,n,e))||!(0!==o||!ys(r,t,n))||!(0!==s||!ys(r,e,n))}function ys(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function ms(t){return t>0?1:t<0?-1:0}function xs(t,e){return ds(t.prev,t,t.next)<0?ds(t,e,t.next)>=0&&ds(t,t.prev,e)>=0:ds(t,e,t.prev)<0||ds(t,t.next,e)<0}function bs(t,e){var r=new Ts(t.i,t.x,t.y),n=new Ts(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function _s(t,e,r,n){var i=new Ts(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 ws(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 Ts(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 ks(t,e,r,n){for(var i=0,a=e,o=r-n;ar;){if(n-r>600){var a=n-r+1,o=e-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),u=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);Ms(t,e,Math.max(r,Math.floor(e-o*l/a+u)),Math.min(n,Math.floor(e+(a-o)*l/a+u)),i)}var c=t[e],f=r,h=n;for(Ss(t,r,e),i(t[n],c)>0&&Ss(t,r,n);f0;)h--}0===i(t[r],c)?Ss(t,r,h):Ss(t,++h,n),h<=e&&(r=h+1),e<=h&&(n=h-1)}}function Ss(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Es(t,e){return te?1:0}function Ls(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o1)for(var l=0;l0&&(n+=t[i-1].length,r.holes.push(n))}return r},Ko.default=$o;var Is=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.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Xi,this.indexArray=new sa,this.indexArray2=new pa,this.programConfigurations=new no(Jo,t.layers,t.zoom),this.segments=new Ea,this.segments2=new Ea,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};Is.prototype.populate=function(t,e,r){this.hasPattern=Os("fill",this.layers,e);for(var n=this.layers[0].layout.get("fill-sort-key"),i=[],a=0,o=t;a>3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},Ns.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>3}if(n--,1===r||2===r)(i+=t.readSVarint())s&&(s=i),(a+=t.readSVarint())u&&(u=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,u]},Ns.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),u=Ns.types[this.type];function c(t){for(var e=0;e>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))}function Gs(t,e,r){if(3===t){var n=new Vs(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Hs.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 Bs(this._pbf,e,this.extent,this._keys,this._values)};var Zs={VectorTile:function(t,e){this.layers=t.readFields(Gs,{},e)},VectorTileFeature:Bs,VectorTileLayer:Vs},Ws=Zs.VectorTileFeature.types,Ys=Math.pow(2,13);function Xs(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*Ys)+o,i*Ys*2,a*Ys*2,Math.round(s))}var Js=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.hasPattern=!1,this.layoutVertexArray=new Ki,this.indexArray=new sa,this.programConfigurations=new no(Fs,t.layers,t.zoom),this.segments=new Ea,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function Ks(t,e){return t.x===e.x&&(t.x<0||t.x>oo)||t.y===e.y&&(t.y<0||t.y>oo)}Js.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=Os("fill-extrusion",this.layers,e);for(var n=0,i=t;noo}))||P.every((function(t){return t.y<0}))||P.every((function(t){return t.y>oo}))))for(var v=0,g=0;g=1){var m=d[g-1];if(!Ks(y,m)){f.vertexLength+4>Ea.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=y.sub(m)._perp()._unit(),b=m.dist(y);v+b>32768&&(v=0),Xs(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,v),Xs(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,v),v+=b,Xs(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,0,v),Xs(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,1,v);var _=f.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),f.vertexLength+=4,f.primitiveLength+=2}}}}if(f.vertexLength+l>Ea.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),"Polygon"===Ws[t.type]){for(var w=[],T=[],k=f.vertexLength,A=0,M=s;A=2&&t[l-1].equals(t[l-2]);)l--;for(var u=0;u0;if(T&&y>u){var A=c.dist(p);if(A>2*f){var M=c.sub(c.sub(p)._mult(f/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,v,0,0,h),p=M}}var S=p&&d,E=S?r:s?"butt":n;if(S&&"round"===E&&(_i&&(E="bevel"),"bevel"===E&&(_>2&&(E="flipbevel"),_100)m=g.mult(-1);else{var L=_*v.add(g).mag()/v.sub(g).mag();m._perp()._mult(L*(k?-1:1))}this.addCurrentVertex(c,m,0,0,h),this.addCurrentVertex(c,m.mult(-1),0,0,h)}else if("bevel"===E||"fakeround"===E){var C=-Math.sqrt(_*_-1),O=k?C:0,P=k?0:C;if(p&&this.addCurrentVertex(c,v,O,P,h),"fakeround"===E)for(var I=Math.round(180*w/Math.PI/20),D=1;D2*f){var j=c.add(d.sub(c)._mult(f/N)._round());this.updateDistance(c,j),this.addCurrentVertex(j,g,0,0,h),c=j}}}}},ol.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,u=-e.y-e.x*n;this.addHalfVertex(t,o,s,a,!1,r,i),this.addHalfVertex(t,l,u,a,!0,-n,i),this.distance>al/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a))},ol.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=t.x,l=t.y,u=.5*this.scaledDistance;this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&u)<<2,u>>6);var c=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),o.primitiveLength++),i?this.e2=c:this.e1=c},ol.prototype.updateScaledDistance=function(){this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(al-1):this.distance},ol.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},Qn("LineBucket",ol,{omit:["layers","patternFeatures"]});var sl=new Ui({"line-cap":new Ri(It.layout_line["line-cap"]),"line-join":new Fi(It.layout_line["line-join"]),"line-miter-limit":new Ri(It.layout_line["line-miter-limit"]),"line-round-limit":new Ri(It.layout_line["line-round-limit"]),"line-sort-key":new Fi(It.layout_line["line-sort-key"])}),ll={paint:new Ui({"line-opacity":new Fi(It.paint_line["line-opacity"]),"line-color":new Fi(It.paint_line["line-color"]),"line-translate":new Ri(It.paint_line["line-translate"]),"line-translate-anchor":new Ri(It.paint_line["line-translate-anchor"]),"line-width":new Fi(It.paint_line["line-width"]),"line-gap-width":new Fi(It.paint_line["line-gap-width"]),"line-offset":new Fi(It.paint_line["line-offset"]),"line-blur":new Fi(It.paint_line["line-blur"]),"line-dasharray":new Ni(It.paint_line["line-dasharray"]),"line-pattern":new Bi(It.paint_line["line-pattern"]),"line-gradient":new ji(It.paint_line["line-gradient"])}),layout:sl},ul=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 Si(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,i){return r=f({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(Fi),cl=new ul(ll.paint.properties["line-width"].specification);cl.useIntegerZoom=!0;var fl=function(t){function e(e){t.call(this,e,ll)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){"line-gradient"===t&&this._updateGradient()},e.prototype._updateGradient=function(){var t=this._transitionablePaint._values["line-gradient"].value.expression;this.gradient=Zo(t,"lineProgress"),this.gradientTexture=null},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values["line-floorwidth"]=cl.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new ol(t)},e.prototype.queryRadius=function(t){var e=t,r=hl(ko("line-width",this,e),ko("line-gap-width",this,e)),n=ko("line-offset",this,e);return r/2+Math.abs(n)+Ao(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s){var l=Mo(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),u=s/2*hl(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),c=this.paint.get("line-offset").evaluate(e,r);return c&&(n=function(t,e){for(var r=[],n=new a(0,0),i=0;i=3)for(var a=0;a0?e+2*t:t}var pl=Wi([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),dl=Wi([{name:"a_projected_pos",components:3,type:"Float32"}],4),vl=(Wi([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),Wi([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),gl=(Wi([{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"}]),Wi([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),yl=Wi([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function ml(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),Mi.applyArabicShaping&&(t=Mi.applyArabicShaping(t)),t}(t.text,e,r)})),t}Wi([{name:"triangle",components:3,type:"Uint16"}]),Wi([{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:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),Wi([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),Wi([{type:"Float32",name:"offsetX"}]),Wi([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var xl={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var bl=24,_l=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,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)},wl=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=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+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v},Tl=kl;function kl(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}kl.Varint=0,kl.Fixed64=1,kl.Bytes=2,kl.Fixed32=5;var Al=4294967296,Ml=1/Al,Sl="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function El(t){return t.type===kl.Bytes?t.readVarint()+t.pos:t.pos+1}function Ll(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Cl(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(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 Ol(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function Vl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}kl.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>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=jl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Vl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=jl(this.buf,this.pos)+jl(this.buf,this.pos+4)*Al;return this.pos+=8,t},readSFixed64:function(){var t=jl(this.buf,this.pos)+Vl(this.buf,this.pos+4)*Al;return this.pos+=8,t},readFloat:function(){var t=_l(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=_l(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,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Ll(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Ll(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Ll(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Ll(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Ll(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Ll(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=this.pos;return this.pos=t,t-e>=12&&Sl?function(t,e,r){return Sl.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n="",i=e;i239?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,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==kl.Bytes)return t.push(this.readVarint(e));var r=El(this);for(t=t||[];this.pos127;);else if(e===kl.Bytes)this.pos=this.readVarint()+this.pos;else if(e===kl.Fixed32)this.pos+=4;else{if(e!==kl.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;e268435455||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;a55295&&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&&Cl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),wl(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),wl(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=128&&Cl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,kl.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,Ol,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Pl,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,zl,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Il,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Dl,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Rl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Fl,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Bl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Nl,e)},writeBytesField:function(t,e){this.writeTag(t,kl.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,kl.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,kl.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,kl.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,kl.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,kl.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,kl.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,kl.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,kl.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,kl.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};function Hl(t,e,r){1===t&&r.readMessage(ql,e)}function ql(t,e,r){if(3===t){var n=r.readMessage(Gl,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,u=n.top,c=n.advance;e.push({id:i,bitmap:new Ho({width:o+6,height:s+6},a),metrics:{width:o,height:s,left:l,top:u,advance:c}})}}function Gl(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())}function Zl(t){for(var e=0,r=0,n=0,i=t;n=0;h--){var p=o[h];if(!(f.w>p.w||f.h>p.h)){if(f.x=p.x,f.y=p.y,l=Math.max(l,f.y+f.h),s=Math.max(s,f.x+f.w),f.w===p.w&&f.h===p.h){var d=o.pop();h0&&B>A&&(A=B)}else{var N=r[S.fontStack],j=N&&N[L];if(j&&j.rect)P=j.rect,O=j.metrics;else{var U=e[S.fontStack],V=U&&U[L];if(!V)continue;O=V.metrics}C=(_-S.scale)*bl}z?(t.verticalizable=!0,k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:z,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:O,rect:P}),h+=D*S.scale+u):(k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:z,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:O,rect:P}),h+=O.advance*S.scale+u)}if(0!==k.length){var H=h-u;d=Math.max(H,d),cu(k,0,k.length-1,g,A)}h=0;var q=a*_+A;T.lineOffset=Math.max(A,w),p+=q,v=Math.max(q,v),++y}else p+=a,++y}var G=p-Kl,Z=uu(o),W=Z.horizontalAlign,Y=Z.verticalAlign;(function(t,e,r,n,i,a,o,s,l){var u=(e-r)*i,c=0;c=a!==o?-s*n-Kl:(-n*l+.5)*o;for(var f=0,h=t;f=0&&n>=t&&eu[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},Ql.prototype.substring=function(t,e){var r=new Ql;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},Ql.prototype.toString=function(){return this.text},Ql.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},Ql.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push($l.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var eu={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},ru={};function nu(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*bl/a+i:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+i:0}function iu(t,e,r,n){var i=Math.pow(t-e,2);return n?t=0,c=0,f=0;f-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;sn;)u-=l.shift().angleDelta;if(u>i)return!1;o++,s+=f.dist(h)}return!0}function xu(t){for(var e=0,r=0;ru){var d=(u-l)/p,v=Ke(f.x,h.x,d),g=Ke(f.y,h.y,d),y=new hu(v,g,h.angleTo(f),c);return y._round(),!o||mu(t,y,s,o,e)?y:void 0}l+=p}}function Tu(t,e,r,n,i,a,o,s,l){var u=bu(n,a,o),c=_u(n,i),f=c*o,h=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-f=0&&b=0&&_=0&&h+u<=c){var w=new hu(b,_,m,d);w._round(),n&&!mu(t,w,a,n,i)||p.push(w)}}f+=y}return s||p.length||o||(p=ku(t,f/2,r,n,i,a,o,!0,l)),p}function Au(t,e,r,n,i){for(var o=[],s=0;s=n&&h.x>=n||(f.x>=n?f=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round():h.x>=n&&(h=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round()),f.y>=i&&h.y>=i||(f.y>=i?f=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round():h.y>=i&&(h=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round()),u&&f.equals(u[u.length-1])||(u=[f],o.push(u)),u.push(h)))))}return o}function Mu(t,e,r,n){var i=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2,u=o.paddedRect.h-2,c=t.right-t.left,f=t.bottom-t.top,h=o.stretchX||[[0,l]],p=o.stretchY||[[0,u]],d=function(t,e){return t+e[1]-e[0]},v=h.reduce(d,0),g=p.reduce(d,0),y=l-v,m=u-g,x=0,b=v,_=0,w=g,T=0,k=y,A=0,M=m;if(o.content&&n){var S=o.content;x=Su(h,0,S[0]),_=Su(p,0,S[1]),b=Su(h,S[0],S[2]),w=Su(p,S[1],S[3]),T=S[0]-x,A=S[1]-_,k=S[2]-S[0]-b,M=S[3]-S[1]-w}var E=function(n,i,l,u){var h=Lu(n.stretch-x,b,c,t.left),p=Cu(n.fixed-T,k,n.stretch,v),d=Lu(i.stretch-_,w,f,t.top),y=Cu(i.fixed-A,M,i.stretch,g),m=Lu(l.stretch-x,b,c,t.left),S=Cu(l.fixed-T,k,l.stretch,v),E=Lu(u.stretch-_,w,f,t.top),L=Cu(u.fixed-A,M,u.stretch,g),C=new a(h,d),O=new a(m,d),P=new a(m,E),I=new a(h,E),D=new a(p/s,y/s),z=new a(S/s,L/s),R=e*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];C._matMult(N),O._matMult(N),I._matMult(N),P._matMult(N)}var j=n.stretch+n.fixed,U=l.stretch+l.fixed,V=i.stretch+i.fixed,H=u.stretch+u.fixed;return{tl:C,tr:O,bl:I,br:P,tex:{x:o.paddedRect.x+1+j,y:o.paddedRect.y+1+V,w:U-j,h:H-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:D,pixelOffsetBR:z,minFontScaleX:k/s/c,minFontScaleY:M/s/f,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var L=Eu(h,y,v),C=Eu(p,m,g),O=0;O0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var v=o.top*s-l,g=o.bottom*s+l,y=o.left*s-l,m=o.right*s+l,x=o.collisionPadding;if(x&&(y-=x[0]*s,v-=x[1]*s,m+=x[2]*s,g+=x[3]*s),c){var b=new a(y,v),_=new a(m,v),w=new a(y,g),T=new a(m,g),k=c*Math.PI/180;b._rotate(k),_._rotate(k),w._rotate(k),T._rotate(k),y=Math.min(b.x,_.x,w.x,T.x),m=Math.max(b.x,_.x,w.x,T.x),v=Math.min(b.y,_.y,w.y,T.y),g=Math.max(b.y,_.y,w.y,T.y)}t.emplaceBack(e.x,e.y,y,v,m,g,r,n,i)}this.boxEndIndex=t.length},Pu=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=Iu),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function Iu(t,e){return te?1:0}function Du(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=t[0],u=0;uo)&&(o=c.x),(!u||c.y>s)&&(s=c.y)}var f=o-n,h=s-i,p=Math.min(f,h),d=p/2,v=new Pu([],zu);if(0===p)return new a(n,i);for(var g=n;gm.d||!m.d)&&(m=b,r&&console.log("found best %d after %d probes",Math.round(1e4*b.d)/1e4,x)),b.max-m.d<=e||(d=b.h/2,v.push(new Ru(b.p.x-d,b.p.y-d,d,t)),v.push(new Ru(b.p.x+d,b.p.y-d,d,t)),v.push(new Ru(b.p.x-d,b.p.y+d,d,t)),v.push(new Ru(b.p.x+d,b.p.y+d,d,t)),x+=4)}return r&&(console.log("num probes: "+x),console.log("best distance: "+m.d)),m.p}function zu(t,e){return e.max-t.max}function Ru(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;it.y!=c.y>t.y&&t.x<(c.x-u.x)*(t.y-u.y)/(c.y-u.y)+u.x&&(r=!r),n=Math.min(n,bo(t,u,c))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}Pu.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},Pu.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Pu.prototype.peek=function(){return this.data[0]},Pu.prototype._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},Pu.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t=0)break;e[t]=o,t=a}e[t]=i};var Fu=Number.POSITIVE_INFINITY;function Bu(t,e){return e[1]!==Fu?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case"top-right":case"top-left":case"top":i=r-7;break;case"bottom-right":case"bottom-left":case"bottom":i=7-r}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":n=i-7;break;case"bottom-right":case"bottom-left":n=7-i;break;case"bottom":n=7-e;break;case"top":n=e-7}switch(t){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=e;break;case"right":r=-e}return[r,n]}(t,e[0])}function Nu(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}var ju=32640;function Uu(t,e,r,n,i,o,s,l,u,c,f,h,p,d,v){var g=function(t,e,r,n,i,o,s,l){for(var u=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,c=[],f=0,h=e.positionedLines;fju&&w(t.layerIds[0]+': Value for "text-size" is >= '+'255. Reduce your "text-size".'):"composite"===y.kind&&((m=[pu*d.compositeTextSizes[0].evaluate(s,{},v),pu*d.compositeTextSizes[1].evaluate(s,{},v)])[0]>ju||m[1]>ju)&&w(t.layerIds[0]+': Value for "text-size" is >= '+'255. Reduce your "text-size".'),t.addSymbols(t.text,g,m,l,o,s,c,e,u.lineStartIndex,u.lineLength,p,v);for(var x=0,b=f;x=0;o--)if(n.dist(a[o])0)&&("constant"!==a.value.kind||a.value.value.length>0),u="constant"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,c=i.get("symbol-sort-key");if(this.features=[],l||u){for(var f=e.iconDependencies,h=e.glyphDependencies,p=e.availableImages,d=new Si(this.zoom),v=0,g=t;v=0;for(var I=0,D=k.sections;I=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;l0},Ku.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Ku.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},Ku.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},Ku.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},Ku.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},Qn("SymbolBucket",Ku,{omit:["layers","collisionBoxArray","features","compareText"]}),Ku.MAX_GLYPHS=65535,Ku.addDynamicAttributes=Wu;var $u=new Ui({"symbol-placement":new Ri(It.layout_symbol["symbol-placement"]),"symbol-spacing":new Ri(It.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Ri(It.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Fi(It.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Ri(It.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Ri(It.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new Ri(It.layout_symbol["icon-ignore-placement"]),"icon-optional":new Ri(It.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Ri(It.layout_symbol["icon-rotation-alignment"]),"icon-size":new Fi(It.layout_symbol["icon-size"]),"icon-text-fit":new Ri(It.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Ri(It.layout_symbol["icon-text-fit-padding"]),"icon-image":new Fi(It.layout_symbol["icon-image"]),"icon-rotate":new Fi(It.layout_symbol["icon-rotate"]),"icon-padding":new Ri(It.layout_symbol["icon-padding"]),"icon-keep-upright":new Ri(It.layout_symbol["icon-keep-upright"]),"icon-offset":new Fi(It.layout_symbol["icon-offset"]),"icon-anchor":new Fi(It.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Ri(It.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Ri(It.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Ri(It.layout_symbol["text-rotation-alignment"]),"text-field":new Fi(It.layout_symbol["text-field"]),"text-font":new Fi(It.layout_symbol["text-font"]),"text-size":new Fi(It.layout_symbol["text-size"]),"text-max-width":new Fi(It.layout_symbol["text-max-width"]),"text-line-height":new Ri(It.layout_symbol["text-line-height"]),"text-letter-spacing":new Fi(It.layout_symbol["text-letter-spacing"]),"text-justify":new Fi(It.layout_symbol["text-justify"]),"text-radial-offset":new Fi(It.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Ri(It.layout_symbol["text-variable-anchor"]),"text-anchor":new Fi(It.layout_symbol["text-anchor"]),"text-max-angle":new Ri(It.layout_symbol["text-max-angle"]),"text-writing-mode":new Ri(It.layout_symbol["text-writing-mode"]),"text-rotate":new Fi(It.layout_symbol["text-rotate"]),"text-padding":new Ri(It.layout_symbol["text-padding"]),"text-keep-upright":new Ri(It.layout_symbol["text-keep-upright"]),"text-transform":new Fi(It.layout_symbol["text-transform"]),"text-offset":new Fi(It.layout_symbol["text-offset"]),"text-allow-overlap":new Ri(It.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new Ri(It.layout_symbol["text-ignore-placement"]),"text-optional":new Ri(It.layout_symbol["text-optional"])}),Qu={paint:new Ui({"icon-opacity":new Fi(It.paint_symbol["icon-opacity"]),"icon-color":new Fi(It.paint_symbol["icon-color"]),"icon-halo-color":new Fi(It.paint_symbol["icon-halo-color"]),"icon-halo-width":new Fi(It.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Fi(It.paint_symbol["icon-halo-blur"]),"icon-translate":new Ri(It.paint_symbol["icon-translate"]),"icon-translate-anchor":new Ri(It.paint_symbol["icon-translate-anchor"]),"text-opacity":new Fi(It.paint_symbol["text-opacity"]),"text-color":new Fi(It.paint_symbol["text-color"],{runtimeType:Gt,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),"text-halo-color":new Fi(It.paint_symbol["text-halo-color"]),"text-halo-width":new Fi(It.paint_symbol["text-halo-width"]),"text-halo-blur":new Fi(It.paint_symbol["text-halo-blur"]),"text-translate":new Ri(It.paint_symbol["text-translate"]),"text-translate-anchor":new Ri(It.paint_symbol["text-translate-anchor"])}),layout:$u},tc=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Ut,this.defaultValue=t};tc.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},tc.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},tc.prototype.outputDefined=function(){return!1},tc.prototype.serialize=function(){return null},Qn("FormatSectionOverride",tc,{omit:["defaultValue"]});var ec=function(t){function e(e){t.call(this,e,Qu)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),"auto"===this.layout.get("icon-rotation-alignment")&&("point"!==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")&&("point"!==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")),"point"===this.layout.get("symbol-placement")){var n=this.layout.get("text-writing-mode");if(n){for(var i=[],a=0,o=n;a",targetMapId:n,sourceMapId:a.mapId})}}},vc.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(""===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else A()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},vc.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}},vc.prototype.processTask=function(t,e){var r=this;if(""===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(ii(e.error)):n(null,ii(e.data)))}else{var i=!1,a=E(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:"",sourceMapId:r.mapId,error:e?ni(e):null,data:ni(n,a)},a)}:function(t){i=!0},s=null,l=ii(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,l,o);else if(this.parent.getWorkerSource){var u=e.type.split(".");s=this.parent.getWorkerSource(e.sourceMapId,u[0],l.source)[u[1]](l,o)}else o(new Error("Could not find function "+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}},vc.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};var yc=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]))};yc.prototype.setNorthEast=function(t){return this._ne=t instanceof xc?new xc(t.lng,t.lat):xc.convert(t),this},yc.prototype.setSouthWest=function(t){return this._sw=t instanceof xc?new xc(t.lng,t.lat):xc.convert(t),this},yc.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof xc)e=t,r=t;else{if(!(t instanceof yc)){if(Array.isArray(t)){if(4===t.length||t.every(Array.isArray)){var a=t;return this.extend(yc.convert(a))}var o=t;return this.extend(xc.convert(o))}return this}if(e=t._sw,r=t._ne,!e||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new xc(e.lng,e.lat),this._ne=new xc(r.lng,r.lat)),this},yc.prototype.getCenter=function(){return new xc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},yc.prototype.getSouthWest=function(){return this._sw},yc.prototype.getNorthEast=function(){return this._ne},yc.prototype.getNorthWest=function(){return new xc(this.getWest(),this.getNorth())},yc.prototype.getSouthEast=function(){return new xc(this.getEast(),this.getSouth())},yc.prototype.getWest=function(){return this._sw.lng},yc.prototype.getSouth=function(){return this._sw.lat},yc.prototype.getEast=function(){return this._ne.lng},yc.prototype.getNorth=function(){return this._ne.lat},yc.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},yc.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},yc.prototype.isEmpty=function(){return!(this._sw&&this._ne)},yc.prototype.contains=function(t){var e=xc.convert(t),r=e.lng,n=e.lat,i=this._sw.lat<=n&&n<=this._ne.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a},yc.convert=function(t){return!t||t instanceof yc?t:new yc(t)};var mc=6371008.8,xc=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")};xc.prototype.wrap=function(){return new xc(c(this.lng,-180,180),this.lat)},xc.prototype.toArray=function(){return[this.lng,this.lat]},xc.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},xc.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return mc*Math.acos(Math.min(i,1))},xc.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new yc(new xc(this.lng-r,this.lat-e),new xc(this.lng+r,this.lat+e))},xc.convert=function(t){if(t instanceof xc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new xc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new xc(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")};var bc=2*Math.PI*mc;function _c(t){return bc*Math.cos(t*Math.PI/180)}function wc(t){return(180+t)/360}function Tc(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function kc(t,e){return t/_c(e)}function Ac(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var Mc=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Mc.fromLngLat=function(t,e){void 0===e&&(e=0);var r=xc.convert(t);return new Mc(wc(r.lng),Tc(r.lat),kc(e,r.lat))},Mc.prototype.toLngLat=function(){return new xc(360*this.x-180,Ac(this.y))},Mc.prototype.toAltitude=function(){return t=this.z,e=this.y,t*_c(Ac(e));var t,e},Mc.prototype.meterInMercatorCoordinateUnits=function(){return 1/bc*(t=Ac(this.y),1/Math.cos(t*Math.PI/180));var t};var Sc=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Cc(0,t,t,e,r)};Sc.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Sc.prototype.url=function(t,e){var r,n,i,a,o,s=(r=this.x,n=this.y,i=this.z,a=gc(256*r,256*(n=Math.pow(2,i)-n-1),i),o=gc(256*(r+1),256*(n+1),i),a[0]+","+a[1]+","+o[0]+","+o[1]),l=function(t,e,r){for(var n,i="",a=t;a>0;a--)i+=(e&(n=1<this.canonical.z?new Lc(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Lc(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Lc.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?Cc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Cc(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Lc.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e},Lc.prototype.children=function(t){if(this.overscaledZ>=t)return[new Lc(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 Lc(e,this.wrap,e,r,n),new Lc(e,this.wrap,e,r+1,n),new Lc(e,this.wrap,e,r,n+1),new Lc(e,this.wrap,e,r+1,n+1)]},Lc.prototype.isLessThan=function(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.y=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)},Oc.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Oc.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Oc.prototype.getPixels=function(){return new qo({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Oc.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-e*this.dim,l=-r*this.dim,u=a;u=0&&c[3]>=0&&s.insert(o,c[0],c[1],c[2],c[3])}},Rc.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new Zs.VectorTile(new Tl(this.rawTileData)).layers,this.sourceLayerCoder=new Pc(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Rc.prototype.query=function(t,e,r,n){var i=this;this.loadVTLayers();for(var o=t.params||{},s=oo/t.tileSize/t.scale,l=xn(o.filter),u=t.queryGeometry,c=t.queryPadding*s,f=Bc(u),h=this.grid.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c),p=Bc(t.cameraQueryGeometry),d=0,v=this.grid3D.query(p.minX-c,p.minY-c,p.maxX+c,p.maxY+c,(function(e,r,n,i){return function(t,e,r,n,i){for(var o=0,s=t;o=l.x&&i>=l.y)return!0}var u=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(var c=0,f=u;c=0)return!0;return!1}(a,f)){var h=this.sourceLayerCoder.decode(r),p=this.vtLayers[h].feature(n);if(i.filter(new Si(this.tileID.overscaledZ),p))for(var d=this.getId(p,h),v=0;vn)i=!1;else if(e)if(this.expirationTimect&&(t.getActor().send("enforceCacheSizeLimit",ut),gt=0)},t.clamp=u,t.clearTileCache=function(t){var e=self.caches.delete(lt);t&&e.catch(t).then((function(){return t()}))},t.clipLine=Au,t.clone=function(t){var e=new Lo(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},t.clone$1=b,t.clone$2=function(t){var e=new Lo(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=yl,t.config=B,t.create=function(){var t=new Lo(16);return Lo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new Lo(9);return Lo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new Lo(4);return Lo!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=an,t.createLayout=Wi,t.createStyleLayer=function(t){return"custom"===t.type?new oc(t):new sc[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=Ke,t.offscreenCanvasSupported=yt,t.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},t.parseGlyphPBF=function(t){return new Tl(t).readFields(Hl,[])},t.pbf=Tl,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays();var s=512*t.overscaling;t.tilePixelRatio=oo/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,u=t.layers[0]._unevaluatedLayout._values,c={};if("composite"===t.textSizeData.kind){var f=t.textSizeData,h=f.minZoom,p=f.maxZoom;c.compositeTextSizes=[u["text-size"].possiblyEvaluate(new Si(h),o),u["text-size"].possiblyEvaluate(new Si(p),o)]}if("composite"===t.iconSizeData.kind){var d=t.iconSizeData,v=d.minZoom,g=d.maxZoom;c.compositeIconSizes=[u["icon-size"].possiblyEvaluate(new Si(v),o),u["icon-size"].possiblyEvaluate(new Si(g),o)]}c.layoutTextSize=u["text-size"].possiblyEvaluate(new Si(t.zoom+1),o),c.layoutIconSize=u["icon-size"].possiblyEvaluate(new Si(t.zoom+1),o),c.textMaxSize=u["text-size"].possiblyEvaluate(new Si(18));for(var y=l.get("text-line-height")*bl,m="map"===l.get("text-rotation-alignment")&&"point"!==l.get("symbol-placement"),x=l.get("text-keep-upright"),b=l.get("text-size"),_=function(){var a=k[T],s=l.get("text-font").evaluate(a,{},o).join(","),u=b.evaluate(a,{},o),f=c.layoutTextSize.evaluate(a,{},o),h=c.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},d=a.text,v=[0,0];if(d){var g=d.toString(),_=l.get("text-letter-spacing").evaluate(a,{},o)*bl,A=function(t){for(var e=0,r=t;e=oo||f.y<0||f.y>=oo||function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,T,k,A){var M,S,E,L,C,O=t.addToLineVertexArray(e,r),P=0,I=0,D=0,z=0,R=-1,F=-1,B={},N=Ia(""),j=0,U=0;if(void 0===s._unevaluatedLayout.getValue("text-radial-offset")?(j=(M=s.layout.get("text-offset").evaluate(b,{},k).map((function(t){return t*bl})))[0],U=M[1]):(j=s.layout.get("text-radial-offset").evaluate(b,{},k)*bl,U=Fu),t.allowVerticalPlacement&&n.vertical){var V=s.layout.get("text-rotate").evaluate(b,{},k)+90,H=n.vertical;L=new Ou(l,e,u,c,f,H,h,p,d,V),o&&(C=new Ou(l,e,u,c,f,o,g,y,d,V))}if(i){var q=s.layout.get("icon-rotate").evaluate(b,{}),G="none"!==s.layout.get("icon-text-fit"),Z=Mu(i,q,T,G),W=o?Mu(o,q,T,G):void 0;E=new Ou(l,e,u,c,f,i,g,y,!1,q),P=4*Z.length;var Y=t.iconSizeData,X=null;"source"===Y.kind?(X=[pu*s.layout.get("icon-size").evaluate(b,{})])[0]>ju&&w(t.layerIds[0]+': Value for "icon-size" is >= '+'255. Reduce your "icon-size".'):"composite"===Y.kind&&((X=[pu*_.compositeIconSizes[0].evaluate(b,{},k),pu*_.compositeIconSizes[1].evaluate(b,{},k)])[0]>ju||X[1]>ju)&&w(t.layerIds[0]+': Value for "icon-size" is >= '+'255. Reduce your "icon-size".'),t.addSymbols(t.icon,Z,X,x,m,b,!1,e,O.lineStartIndex,O.lineLength,-1,k),R=t.icon.placedSymbolArray.length-1,W&&(I=4*W.length,t.addSymbols(t.icon,W,X,x,m,b,Jl.vertical,e,O.lineStartIndex,O.lineLength,-1,k),F=t.icon.placedSymbolArray.length-1)}for(var J in n.horizontal){var K=n.horizontal[J];if(!S){N=Ia(K.text);var $=s.layout.get("text-rotate").evaluate(b,{},k);S=new Ou(l,e,u,c,f,K,h,p,d,$)}var Q=1===K.positionedLines.length;if(D+=Uu(t,e,K,a,s,d,b,v,O,n.vertical?Jl.horizontal:Jl.horizontalOnly,Q?Object.keys(n.horizontal):[J],B,R,_,k),Q)break}n.vertical&&(z+=Uu(t,e,n.vertical,a,s,d,b,v,O,Jl.vertical,["vertical"],B,F,_,k));var tt=S?S.boxStartIndex:t.collisionBoxArray.length,et=S?S.boxEndIndex:t.collisionBoxArray.length,rt=L?L.boxStartIndex:t.collisionBoxArray.length,nt=L?L.boxEndIndex:t.collisionBoxArray.length,it=E?E.boxStartIndex:t.collisionBoxArray.length,at=E?E.boxEndIndex:t.collisionBoxArray.length,ot=C?C.boxStartIndex:t.collisionBoxArray.length,st=C?C.boxEndIndex:t.collisionBoxArray.length,lt=-1,ut=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};lt=ut(S,lt),lt=ut(L,lt),lt=ut(E,lt);var ct=(lt=ut(C,lt))>-1?1:0;ct&&(lt*=A/bl),t.glyphOffsetArray.length>=Ku.MAX_GLYPHS&&w("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,tt,et,rt,nt,it,at,ot,st,u,D,z,P,I,ct,0,h,j,U,lt)}(t,f,s,r,n,i,h,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,m,T,M,l,b,k,S,d,e,a,u,c,o)};if("line"===E)for(var P=0,I=Au(e.geometry,0,0,oo,oo);P1){var U=wu(j,A,r.vertical||v,n,g,x);U&&O(j,U)}}else if("Polygon"===e.type)for(var V=0,H=Ls(e.geometry,0);V=E.maxzoom||"none"!==E.visibility&&(o(S,this.zoom,n),(v[E.id]=E.createBucket({index:c.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:b,sourceID:this.source})).populate(_,g,this.tileID.canonical),c.bucketLayerIDs.push(S.map((function(t){return t.id}))))}}}var L=t.mapObject(g.glyphDependencies,(function(t){return Object.keys(t).map(Number)}));Object.keys(L).length?a.send("getGlyphs",{uid:this.uid,stacks:L},(function(t,e){f||(f=t,h=e,P.call(l))})):h={};var C=Object.keys(g.iconDependencies);C.length?a.send("getImages",{icons:C,source:this.source,tileID:this.tileID,type:"icons"},(function(t,e){f||(f=t,p=e,P.call(l))})):p={};var O=Object.keys(g.patternDependencies);function P(){if(f)return s(f);if(h&&p&&d){var e=new i(h),r=new t.ImageAtlas(p,d);for(var a in v){var l=v[a];l instanceof t.SymbolBucket?(o(l.layers,this.zoom,n),t.performSymbolLayout(l,h,e.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof t.LineBucket||l instanceof t.FillBucket||l instanceof t.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(g,this.tileID.canonical,r.patternPositions))}this.status="done",s(null,{buckets:t.values(v).filter((function(t){return!t.isEmpty()})),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}O.length?a.send("getImages",{icons:O,source:this.source,tileID:this.tileID,type:"patterns"},(function(t,e){f||(f=t,d=e,P.call(l))})):d={},P.call(this)};var l=function(t,e,r,n){this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),s=this.loading[i]=new a(e);s.abort=this.loadVectorData(e,(function(e,a){if(delete n.loading[i],e||!a)return s.status="done",n.loaded[i]=s,r(e);var l=a.rawData,u={};a.expires&&(u.expires=a.expires),a.cacheControl&&(u.cacheControl=a.cacheControl);var c={};if(o){var f=o.finish();f&&(c.resourceTiming=JSON.parse(JSON.stringify(f)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,u,c))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(t,e){var r=this,n=this.loaded,i=t.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=t.showCollisionBoxes;var s=function(t,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),e(t,n)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},l.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var u=t.window.ImageBitmap,c=function(){this.loaded={}};c.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=e.rawImageData,o=u&&a instanceof u?this.getImageData(a):a,s=new t.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},c.prototype.getImageData=function(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:r.width,height:r.height},r.data)},c.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var f=function t(e,r){var n,i=e&&e.type;if("FeatureCollection"===i)for(n=0;n=0!=!!e&&t.reverse()}var d=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,v=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};v.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r>31}function O(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s>1;D(t,e,o,n,i,a%2),I(t,e,r,n,o-1,a+1),I(t,e,r,o+1,i,a+1)}}function D(t,e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),u=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*u*(o-u)/o)*(s-o/2<0?-1:1);D(t,e,r,Math.max(n,Math.floor(r-s*u/o+c)),Math.min(i,Math.floor(r+(o-s)*u/o+c)),a)}var f=e[2*r+a],h=n,p=i;for(z(t,e,n,r),e[2*i+a]>f&&z(t,e,n,i);hf;)p--}e[2*n+a]===f?z(t,e,n,p):z(t,e,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}function z(t,e,r,n){R(t,r,n),R(e,2*r,2*n),R(e,2*r+1,2*n+1)}function R(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function F(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}_.fromVectorTileJs=w,_.fromGeojsonVt=T,_.GeoJSONWrapper=k;var B=function(t){return t[0]},N=function(t){return t[1]},j=function(t,e,r,n,i){void 0===e&&(e=B),void 0===r&&(r=N),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=t;for(var a=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(t.length),s=this.coords=new i(2*t.length),l=0;l=r&&s<=i&&l>=n&&l<=a&&c.push(t[d]);else{var v=Math.floor((p+h)/2);s=e[2*v],l=e[2*v+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[v]);var g=(f+1)%2;(0===f?r<=s:n<=l)&&(u.push(p),u.push(v-1),u.push(g)),(0===f?i>=s:a>=l)&&(u.push(v+1),u.push(h),u.push(g))}}return c}(this.ids,this.coords,t,e,r,n,this.nodeSize)},j.prototype.within=function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var u=o.pop(),c=o.pop(),f=o.pop();if(c-f<=a)for(var h=f;h<=c;h++)F(e[2*h],e[2*h+1],r,n)<=l&&s.push(t[h]);else{var p=Math.floor((f+c)/2),d=e[2*p],v=e[2*p+1];F(d,v,r,n)<=l&&s.push(t[p]);var g=(u+1)%2;(0===u?r-i<=d:n-i<=v)&&(o.push(f),o.push(p-1),o.push(g)),(0===u?r+i>=d:n+i>=v)&&(o.push(p+1),o.push(c),o.push(g))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var U={minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},V=function(t){this.options=X(Object.create(U),t),this.trees=new Array(this.options.maxZoom+1)};function H(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function q(t,e){var r=t.geometry.coordinates,n=r[0],i=r[1];return{x:W(n),y:Y(i),zoom:1/0,index:e,parentId:-1}}function G(t){return{type:"Feature",id:t.id,properties:Z(t),geometry:{type:"Point",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function Z(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return X(X({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function W(t){return t/360+.5}function Y(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 X(t,e){for(var r in e)t[r]=e[r];return t}function J(t){return t.x}function K(t){return t.y}function $(t,e,r,n){for(var i,a=n,o=r-e>>1,s=r-e,l=t[e],u=t[e+1],c=t[r],f=t[r+1],h=e+3;ha)i=h,a=p;else if(p===a){var d=Math.abs(h-o);dn&&(i-e>3&&$(t,e,i,n),t[i+2]=a,r-i>3&&$(t,i,r,n))}function Q(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}function tt(t,e,r,n){var i={id:void 0===t?null:t,type:e,geometry:r,tags:n,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)et(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n0&&(o+=n?(i*u-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(u-a,2))),i=l,a=u}var c=e.length-3;e[2]=1,$(e,0,c,r),e[c+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function at(t,e,r,n){for(var i=0;i1?1:r}function lt(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o=n)return null;for(var l=[],u=0;u=r&&d=n)){var v=[];if("Point"===h||"MultiPoint"===h)ut(f,v,r,n,i);else if("LineString"===h)ct(f,v,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===h)ht(f,v,r,n,i,!1);else if("Polygon"===h)ht(f,v,r,n,i,!0);else if("MultiPolygon"===h)for(var g=0;g=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function ct(t,e,r,n,i,a,o){for(var s,l,u=ft(t),c=0===i?dt:vt,f=t.start,h=0;hr&&(l=c(u,p,d,g,y,r),o&&(u.start=f+s*l)):m>n?x=r&&(l=c(u,p,d,g,y,r),b=!0),x>n&&m<=n&&(l=c(u,p,d,g,y,n),b=!0),!a&&b&&(o&&(u.end=f+s*l),e.push(u),u=ft(t)),o&&(f+=s)}var _=t.length-3;p=t[_],d=t[_+1],v=t[_+2],(m=0===i?p:d)>=r&&m<=n&&pt(u,p,d,v),_=u.length-3,a&&_>=3&&(u[_]!==u[0]||u[_+1]!==u[1])&&pt(u,u[0],u[1],u[2]),u.length&&e.push(u)}function ft(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ht(t,e,r,n,i,a){for(var o=0;oo.maxX&&(o.maxX=c),f>o.maxY&&(o.maxY=f)}return o}function _t(t,e,r,n){var i=e.geometry,a=e.type,o=[];if("Point"===a||"MultiPoint"===a)for(var s=0;s0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;lo)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n0===e)for(n=0,i=t.length;n24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var n=0;n=n;u--){var c=+Date.now();s=this._cluster(s,u),this.trees[u]=new j(s,J,K,a,Float32Array),r&&console.log("z%d: %d clusters in %dms",u,s.length,+Date.now()-c)}return r&&console.timeEnd("total time"),this},V.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),i=180===t[2]?180:((t[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],e),s=this.getClusters([-180,n,i,a],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],u=[],c=0,f=l.range(W(r),Y(a),W(i),Y(n));c1?this._map(u,!0):null,g=(l<<5)+(e+1)+this.points.length,y=0,m=f;y>5},V.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},V.prototype._map=function(t,e){if(t.numPoints)return e?X({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?X({},n):n},Tt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Tt.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,u=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var c=1<1&&console.time("creation"),h=this.tiles[f]=bt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(h.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<1&&console.time("clipping");var v,g,y,m,x,b,_=.5*l.buffer/l.extent,w=.5-_,T=.5+_,k=1+_;v=g=y=m=null,x=lt(t,c,r-_,r+T,0,h.minX,h.maxX,l),b=lt(t,c,r+w,r+k,0,h.minX,h.maxX,l),t=null,x&&(v=lt(x,c,n-_,n+T,1,h.minY,h.maxY,l),g=lt(x,c,n+w,n+k,1,h.minY,h.maxY,l),x=null),b&&(y=lt(b,c,n-_,n+T,1,h.minY,h.maxY,l),m=lt(b,c,n+w,n+k,1,h.minY,h.maxY,l),b=null),u>1&&console.timeEnd("clipping"),s.push(v||[],e+1,2*r,2*n),s.push(g||[],e+1,2*r,2*n+1),s.push(y||[],e+1,2*r+1,2*n),s.push(m||[],e+1,2*r+1,2*n+1)}}},Tt.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var l,u=t,c=e,f=r;!l&&u>0;)u--,c=Math.floor(c/2),f=Math.floor(f/2),l=this.tiles[kt(u,c,f)];return l&&l.source?(a>1&&console.log("found parent tile z%d-%d-%d",u,c,f),a>1&&console.time("drilling down"),this.splitTile(l.source,u,c,f,t,e,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?mt(this.tiles[s],i):null):null};var Mt=function(e){function r(t,r,n,i){e.call(this,t,r,n,At),i&&(this.loadGeoJSON=i)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new t.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));f(o,!0);try{e._geoJSONIndex=n.cluster?new V(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),u=0,c=l;u=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var h=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e=0?1.2:1))}function y(t,e,r,n,i,a,o){for(var s=0;s65535)e(new Error("glyphs > 65535 not supported"));else if(a.ranges[s])e(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(t,e){if(e){for(var r in e)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=e[+r]);a.ranges[s]=!0}for(var i=0,o=l;i1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=void 0,d=i/r*(n+1);if(l.isDash){var v=n-Math.abs(d);p=Math.sqrt(h*h+v*v)}else p=n-Math.sqrt(h*h+d*d);this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}var i=t[0],a=t[t.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=t[s],u=0;u1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=l.isDash?h:-h;this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce("LineAtlas out of space"),null;for(var a=0,o=0;o=n&&e.x=i&&e.y0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event("data",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event("data",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send("geojson.getClusterChildren",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),i=this._data;"string"==typeof i?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(i),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+".loadData",n,(function(t,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,i=e.actor?"reloadTile":"loadTile";e.actor=this.actor;var a={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.request=this.actor.send(i,a,(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(a,n.map.painter,"reloadTile"===i),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),P=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),I=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new t.ErrorEvent(i)):a&&(n.image=a,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=e;or.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){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,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),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 t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(I),z=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return"number"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var 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,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];tthis.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},j.prototype.has=function(t){return t.wrapped().key in this.data},j.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},j.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},j.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},j.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},j.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},j.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this},j.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,i=this.data[r];n1||(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)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},r.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)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(t){return n._source.hasTile(t)})))):i=[];var a=e.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(Dt(this._source.type)){for(var u={},c={},f=0,h=Object.keys(l);fthis._source.maxzoom){var g=d.children(this._source.maxzoom)[0],y=this.getTile(g);if(y&&y.hasData()){n[g.key]=g;continue}}else{var m=d.children(this._source.maxzoom);if(n[m[0].key]&&n[m[1].key]&&n[m[2].key]&&n[m[3].key])continue}for(var x=v.wasRequested(),b=d.overscaledZ-1;b>=a;--b){var _=d.scaledTo(b);if(i[_.key])break;if(i[_.key]=!0,!(v=this.getTile(_))&&x&&(v=this._addTile(_)),v&&(n[_.key]=_,x=v.wasRequested(),v.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],r=void 0,n=this._tiles[t].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=e;a0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map((function(t){return o.pointCoordinate(t)})),u=s.map((function(t){return o.pointCoordinate(t)})),c=this.getIds(),f=1/0,h=1/0,p=-1/0,d=-1/0,v=0,g=u;v=0&&y[1].y+g>=0){var m=l.map((function(t){return s.getTilePoint(t)})),x=u.map((function(t){return s.getTilePoint(t)}));a.push({tile:n,tileID:s,queryGeometry:m,cameraQueryGeometry:x,scale:v})}}},x=0;x=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.updateState(t,e,r)},r.prototype.removeFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.removeFeatureState(t,e,r)},r.prototype.getFeatureState=function(t,e){return t=t||"_geojsonTileLayer",this._state.getState(t,e)},r.prototype.setDependencies=function(t,e,r){var n=this._tiles[t];n&&n.setDependencies(e,r)},r.prototype.reloadTilesForDependencies=function(t,e){for(var r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,"reloading");this._cache.filter((function(r){return!r.hasDependency(t,e)}))},r}(t.Evented);function It(t,e){var r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function Dt(t){return"raster"===t||"image"===t||"video"===t}function zt(){return new t.window.Worker(ta.workerUrl)}Pt.maxOverzooming=10,Pt.maxUnderzooming=3;var Rt="mapboxgl_preloaded_worker_pool",Ft=function(){this.active={}};Ft.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Qt=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=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function ae(e,r,n,i,a,o,s,l){var u=i?e.textSizeData:e.iconSizeData,c=t.evaluateSizeForZoom(u,n.transform.zoom),f=[256/n.width*2+1,256/n.height*2+1],h=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;h.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,v=n.transform.width/n.transform.height,g=!1,y=0;yMath.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function le(e,r,n,i,a,o,s,l,u,c,f,h,p,d){var v,g=r/24,y=e.lineOffsetX*g,m=e.lineOffsetY*g;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=oe(g,l,y,m,n,f,h,e,u,o,p);if(!w)return{notEnoughRoom:!0};var T=re(w.first.point,s).point,k=re(w.last.point,s).point;if(i&&!n){var A=se(e.writingMode,T,k,d);if(A)return A}v=[w.first];for(var M=e.glyphStartIndex+1;M0?C.point:ue(h,L,S,1,a),P=se(e.writingMode,S,O,d);if(P)return P}var I=ce(g*l.getoffsetX(e.glyphStartIndex),y,m,n,f,h,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,u,o,p);if(!I)return{notEnoughRoom:!0};v=[I]}for(var D=0,z=v;D0?1:-1,v=0;i&&(d*=-1,v=Math.PI),d<0&&(v+=Math.PI);for(var g=d>0?l+s:l+s+1,y=a,m=a,x=0,b=0,_=Math.abs(p),w=[];x+b<=_;){if((g+=d)=u)return null;if(m=y,w.push(y),void 0===(y=h[g])){var T=new t.Point(c.getx(g),c.gety(g)),k=re(T,f);if(k.signedDistanceFromCamera>0)y=h[g]=k.point;else{var A=g-d;y=ue(0===x?o:new t.Point(c.getx(A),c.gety(A)),T,m,_-x+1,f)}}x+=b,b=m.dist(y)}var M=(_-x)/b,S=y.sub(m),E=S.mult(M)._add(m);E._add(S._unit()._perp()._mult(n*d));var L=v+Math.atan2(y.y-m.y,y.x-m.x);return w.push(E),{point:E,angle:L,path:w}}Qt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Qt.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)},Qt.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)},Qt.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},Qt.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},Qt.prototype._query=function(t,e,r,n,i,a){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s0:o},Qt.prototype._queryCircle=function(t,e,r,n,i){var a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var u=[],c={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,u,c,i),n?u.length>0:u},Qt.prototype.query=function(t,e,r,n,i){return this._query(t,e,r,n,!1,i)},Qt.prototype.hitTest=function(t,e,r,n,i){return this._query(t,e,r,n,!0,i)},Qt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Qt.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=o.seenUids,u=this.boxCells[i];if(null!==u)for(var c=this.bboxes,f=0,h=u;f=c[d+0]&&n>=c[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:c[d],y1:c[d+1],x2:c[d+2],y2:c[d+3]})}}}var v=this.circleCells[i];if(null!==v)for(var g=this.circles,y=0,m=v;yo*o+s*s},Qt.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 f=l-s,h=c-u;return f*f+h*h<=r*r};var fe=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function he(t,e){for(var r=0;r=1;O--)C.push(E.path[O]);for(var P=1;P0){for(var R=C[0].clone(),F=C[0].clone(),B=1;B=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[C]:F.xM.x||F.yM.y?[]:t.clipLine([C],A.x,A.y,M.x,M.y)}for(var N=0,j=z;N=this.screenRightBoundary||nthis.screenBottomBoundary},ve.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t=0&&e0?(this.prevPlacement&&this.prevPlacement.variableOffsets[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID].text&&(v=this.prevPlacement.variableOffsets[f.crossTileID].anchor),this.variableOffsets[f.crossTileID]={textOffset:g,width:r,height:n,anchor:t,textBoxScale:i,prevAnchor:v},this.markUsedJustification(h,t,f,p),h.allowVerticalPlacement&&(this.markUsedOrientation(h,p,f),this.placedOrientations[f.crossTileID]=p),{shift:y,placedGlyphBoxes:m}):void 0},Ae.prototype.placeLayerBucketPart=function(e,r,n){var i=this,a=e.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,u=a.textLabelPlaneMatrix,c=a.labelToScreenMatrix,f=a.textPixelRatio,h=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,v=a.collisionGroup,g=s.get("text-optional"),y=s.get("icon-optional"),m=s.get("text-allow-overlap"),x=s.get("icon-allow-overlap"),b="map"===s.get("text-rotation-alignment"),_="map"===s.get("text-pitch-alignment"),w="none"!==s.get("icon-text-fit"),T="viewport-y"===s.get("symbol-z-order"),k=m&&(x||!o.hasIconData()||y),A=x&&(m||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(e,a){if(!r[e.crossTileID])if(h)i.placements[e.crossTileID]=new xe(!1,!1,!1);else{var p,T=!1,M=!1,S=!0,E=null,L={box:null,offscreen:null},C={box:null,offscreen:null},O=null,P=null,I=0,D=0,z=0;a.textFeatureIndex?I=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(I=e.featureIndex),a.verticalTextFeatureIndex&&(D=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[e.crossTileID];a&&(i.placedOrientations[e.crossTileID]=a,n=a,i.markUsedOrientation(o,n,e))}return n},B=function(r,n){if(o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i0&&(N=N.filter((function(t){return t!==j.anchor}))).unshift(j.anchor)}var U=function(t,r,n){for(var a=t.x2-t.x1,s=t.y2-t.y1,u=e.textBoxScale,c=w&&!x?r:null,h={box:[],offscreen:!1},p=m?2*N.length:N.length,d=0;d=N.length,k=i.attemptAnchorPlacement(g,t,a,s,u,b,_,f,l,v,y,e,o,n,c);if(k&&(h=k.placedGlyphBoxes)&&h.box&&h.box.length){T=!0,E=k.shift;break}}return h};B((function(){return U(R,a.iconBox,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox,n=L&&L.box&&L.box.length;return o.allowVerticalPlacement&&!n&&e.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),L&&(T=L.box,S=L.offscreen);var V=F(L&&L.box);if(!T&&i.prevPlacement){var H=i.prevPlacement.variableOffsets[e.crossTileID];H&&(i.variableOffsets[e.crossTileID]=H,i.markUsedJustification(o,H.anchor,e,V))}}else{var q=function(t,r){var n=i.collisionIndex.placeCollisionBox(t,m,f,l,v.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,e),i.placedOrientations[e.crossTileID]=r),n};B((function(){return q(R,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?q(r,t.WritingMode.vertical):{box:null,offscreen:null}})),F(L&&L.box&&L.box.length)}}if(T=(p=L)&&p.box&&p.box.length>0,S=p&&p.offscreen,e.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),Z=t.evaluateSizeForFeature(o.textSizeData,d,G),W=s.get("text-padding"),Y=e.collisionCircleDiameter;O=i.collisionIndex.placeCollisionCircles(m,G,o.lineVertexArray,o.glyphOffsetArray,Z,l,u,c,n,_,v.predicate,Y,W),T=m||O.circles.length>0&&!O.collisionDetected,S=S&&O.offscreen}if(a.iconFeatureIndex&&(z=a.iconFeatureIndex),a.iconBox){var X=function(t){var e=w&&E?ke(t,E.x,E.y,b,_,i.transform.angle):t;return i.collisionIndex.placeCollisionBox(e,x,f,l,v.predicate)};M=C&&C.box&&C.box.length&&a.verticalIconBox?(P=X(a.verticalIconBox)).box.length>0:(P=X(a.iconBox)).box.length>0,S=S&&P.offscreen}var J=g||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,K=y||0===e.numIconVertices;if(J||K?K?J||(M=M&&T):T=M&&T:M=T=M&&T,T&&p&&p.box&&(C&&C.box&&D?i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,D,v.ID):i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,I,v.ID)),M&&P&&i.collisionIndex.insertCollisionBox(P.box,s.get("icon-ignore-placement"),o.bucketInstanceId,z,v.ID),O&&(T&&i.collisionIndex.insertCollisionCircles(O.circles,s.get("text-ignore-placement"),o.bucketInstanceId,I,v.ID),n)){var $=o.bucketInstanceId,Q=i.collisionCircleArrays[$];void 0===Q&&(Q=i.collisionCircleArrays[$]=new be);for(var tt=0;tt=0;--E){var L=S[E];M(o.symbolInstances.get(L),o.collisionArrays[L])}else for(var C=e.symbolInstanceStart;C=0&&(e.text.placedSymbolArray.get(u).crossTileID=a>=0&&u!==a?0:n.crossTileID)}},Ae.prototype.markUsedOrientation=function(e,r,n){for(var i=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,a=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o0||l>0,x=a.numIconVertices>0,b=i.placedOrientations[a.crossTileID],_=b===t.WritingMode.vertical,w=b===t.WritingMode.horizontal||b===t.WritingMode.horizontalOnly;if(m){var T=De(y.text),k=_?ze:T;d(e.text,s,k);var A=w?ze:T;d(e.text,l,A);var M=y.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=M||_?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=M||w?1:0);var S=i.variableOffsets[a.crossTileID];S&&i.markUsedJustification(e,S.anchor,a,b);var E=i.placedOrientations[a.crossTileID];E&&(i.markUsedJustification(e,"left",a,E),i.markUsedOrientation(e,E,a))}if(x){var L=De(y.icon),C=!(h&&a.verticalPlacedIconSymbolIndex&&_);if(a.placedIconSymbolIndex>=0){var O=C?L:ze;d(e.icon,a.numIconVertices,O),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=y.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var P=C?ze:L;d(e.icon,a.numVerticalIconVertices,P),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=y.icon.isHidden()}}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var I=e.collisionArrays[n];if(I){var D=new t.Point(0,0);if(I.textBox||I.verticalTextBox){var z=!0;if(u){var R=i.variableOffsets[v];R?(D=Te(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),c&&D._rotate(f?i.transform.angle:-i.transform.angle)):z=!1}I.textBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!z||_,D.x,D.y),I.verticalTextBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!z||w,D.x,D.y)}var F=Boolean(!w&&I.verticalIconBox);I.iconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,F,h?D.x:0,h?D.y:0),I.verticalIconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,!F,h?D.x:0,h?D.y:0)}}},g=0;gt},Ae.prototype.setStale=function(){this.stale=!0};var Se=Math.pow(2,25),Ee=Math.pow(2,24),Le=Math.pow(2,17),Ce=Math.pow(2,16),Oe=Math.pow(2,9),Pe=Math.pow(2,8),Ie=Math.pow(2,1);function De(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*Se+e*Ee+r*Le+e*Ce+r*Oe+e*Pe+r*Ie+e}var ze=0,Re=function(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&void 0!==t.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Re.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Re(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Fe.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Be=512/t.EXTENT/2,Ne=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;nt.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,i)}else{var u=o[t.scaledTo(Number(a)).key];u&&u.findMatches(e.symbolInstances,t,i)}}for(var c=0;c1?"@2x":"",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,".json"),t.ResourceType.SpriteJSON),(function(t,e){l=null,o||(o=t,i=e,c())})),u=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,".png"),t.ResourceType.SpriteImage),(function(t,e){u=null,o||(o=t,a=e,c())}));function c(){if(o)n(o);else if(i&&a){var e=t.browser.getImageData(a),r={};for(var s in i){var l=i[s],u=l.width,c=l.height,f=l.x,h=l.y,p=l.sdf,d=l.pixelRatio,v=l.stretchX,g=l.stretchY,y=l.content,m=new t.RGBAImage({width:u,height:c});t.RGBAImage.copy(e,m,{x:f,y:h},{x:0,y:0},{width:u,height:c}),r[s]={data:m,pixelRatio:d,sdf:p,stretchX:v,stretchY:g,content:y}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),u&&(u.cancel(),u=null)}}}(e,this.map._requestManager,(function(e,n){if(r._spriteRequest=null,e)r.fire(new t.ErrorEvent(e));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast("setImages",r._availableImages),r.fire(new t.Event("data",{dataType:"style"}))}))},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+i.id+'" as specified by style layer "'+e.id+'"')))}}},r.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()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r0)throw new Error("Unimplemented: "+i.map((function(t){return t.command})).join(", ")+".");return n.forEach((function(t){"setTransition"!==t.command&&r[t.command].apply(r,t.args)})),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(e,r),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(e),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,"sources."+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Pt(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source "'+e+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id "'+i+'" already exists on this map')));else{var a;if("custom"===e.type){if(He(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(i,e.source),e=t.clone$1(e),e=t.extend(e,{source:i})),this._validate(t.validateStyle.layer,"layers."+i,e,{arrayIndex:-1},n))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&"custom"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.hasLayer=function(t){return t in this._layers},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.deepEqual(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.validateStyle.filter,"layers."+i.id+".filter",r,null,n)||(i.filter=t.clone$1(r),this._updateLayer(i)))}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style.")))},r.prototype.setPaintProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;"geojson"===o&&i?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,e.id,r)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o="vector"===a?e.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is requred to remove its specific state property."))):i.removeFeatureState(o,e.id,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if("vector"!==i.getSource().type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.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:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return"fill-extrusion"===e._layers[t].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=t;s=0;d--){var v=this._order[d];if(r(v))for(var g=i.length-1;g>=0;g--){var y=i[g].feature;if(n[y.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),nr=_r("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),ir=_r("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}"),ar=_r("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),or=_r("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),sr=_r("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),lr=_r("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),ur=_r("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),cr=_r("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),fr=_r("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform float u_maxzoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*exaggeration+19.2562-u_zoom);gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hr=_r("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),pr=_r("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\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\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\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),dr=_r("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define MAX_LINE_DISTANCE 32767.0\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\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\nvoid main() {\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\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),vr=_r("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\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#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\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#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),gr=_r("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\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\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\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\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\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\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),yr=_r("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),mr=_r("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),xr=_r("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\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\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\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\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\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\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),br=_r("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\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\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\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\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\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\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}");function _r(t,e){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n={};return{fragmentSource:t=t.replace(r,(function(t,e,r,i,a){return n[a]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nvarying "+r+" "+i+" "+a+";\n#else\nuniform "+r+" "+i+" u_"+a+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+a+"\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n"})),vertexSource:e=e.replace(r,(function(t,e,r,i,a){var o="float"===i?"vec2":"vec4",s=a.match(/color/)?"color":o;return n[a]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float u_"+a+"_t;\nattribute "+r+" "+o+" a_"+a+";\nvarying "+r+" "+i+" "+a+";\n#else\nuniform "+r+" "+i+" u_"+a+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+a+" = a_"+a+";\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+a+" = unpack_mix_"+s+"(a_"+a+", u_"+a+"_t);\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float u_"+a+"_t;\nattribute "+r+" "+o+" a_"+a+";\n#else\nuniform "+r+" "+i+" u_"+a+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+r+" "+i+" "+a+" = a_"+a+";\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+r+" "+i+" "+a+" = unpack_mix_"+s+"(a_"+a+", u_"+a+"_t);\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n"}))}}var wr=Object.freeze({__proto__:null,prelude:Xe,background:Je,backgroundPattern:Ke,circle:$e,clippingMask:Qe,heatmap:tr,heatmapTexture:er,collisionBox:rr,collisionCircle:nr,debug:ir,fill:ar,fillOutline:or,fillOutlinePattern:sr,fillPattern:lr,fillExtrusion:ur,fillExtrusionPattern:cr,hillshadePrepare:fr,hillshade:hr,line:pr,lineGradient:dr,linePattern:vr,lineSDF:gr,raster:yr,symbolIcon:mr,symbolSDF:xr,symbolTextAndIcon:br}),Tr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};Tr.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>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}kr.prototype.draw=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v){var g,y=t.gl;if(!this.failedToCreate){for(var m in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[m].set(o[m]);p&&p.setUniforms(t,this.binderUniforms,f,{zoom:h});for(var x=(g={},g[y.LINES]=2,g[y.TRIANGLES]=3,g[y.LINE_STRIP]=1,g)[e],b=0,_=c.get();b<_.length;b+=1){var w=_[b],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new Tr)).bind(t,this,l,p?p.getPaintVertexBuffers():[],u,w.vertexOffset,d,v),y.drawElements(e,w.primitiveLength*x,y.UNSIGNED_SHORT,w.primitiveOffset*x*2)}}};var Mr=function(e,r,n,i){var a=r.style.light,o=a.properties.get("position"),s=[o.x,o.y,o.z],l=t.create$1();"viewport"===a.properties.get("anchor")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var u=a.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get("intensity"),u_lightcolor:[u.r,u.g,u.b],u_vertical_gradient:+n,u_opacity:i}},Sr=function(e,r,n,i,a,o,s){return t.extend(Mr(e,r,n,i),Ar(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},Er=function(t){return{u_matrix:t}},Lr=function(e,r,n,i){return t.extend(Er(e),Ar(n,r,i))},Cr=function(t,e){return{u_matrix:t,u_world:e}},Or=function(e,r,n,i,a){return t.extend(Lr(e,r,n,i),{u_world:a})},Pr=function(e,r,n,i){var a,o,s=e.transform;if("map"===i.paint.get("circle-pitch-alignment")){var l=ge(n,1,s.zoom);a=!0,o=[l,l]}else a=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+("map"===i.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(r.posMatrix,n,i.paint.get("circle-translate"),i.paint.get("circle-translate-anchor")),u_pitch_with_map:+a,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},Ir=function(t,e,r){var n=ge(r,1,e.zoom),i=Math.pow(2,e.zoom-r.tileID.overscaledZ),a=r.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[e.pixelsToGLUnits[0]/(n*i),e.pixelsToGLUnits[1]/(n*i)],u_overscale_factor:a}},Dr=function(t,e,r){return{u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}},zr=function(t,e,r){return void 0===r&&(r=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}},Rr=function(t){return{u_matrix:t}},Fr=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:ge(e,1,r),u_intensity:n}};var Br=function(e,r,n){var i=e.transform;return{u_matrix:Hr(e,r,n),u_ratio:1/ge(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},Nr=function(e,r,n){return t.extend(Br(e,r,n),{u_image:0})},jr=function(e,r,n,i){var a=e.transform,o=Vr(r,a);return{u_matrix:Hr(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/ge(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[o,i.fromScale,i.toScale],u_fade:i.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Ur=function(e,r,n,i,a){var o=e.transform,s=e.lineAtlas,l=Vr(r,o),u="round"===n.layout.get("line-cap"),c=s.getDash(i.from,u),f=s.getDash(i.to,u),h=c.width*a.fromScale,p=f.width*a.toScale;return t.extend(Br(e,r,n),{u_patternscale_a:[l/h,-c.height/2],u_patternscale_b:[l/p,-f.height/2],u_sdfgamma:s.width/(256*Math.min(h,p)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:f.y,u_mix:a.t})};function Vr(t,e){return 1/ge(t,1,e.tileZoom)}function Hr(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}var qr=function(t,e,r,n,i){return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get("raster-brightness-min"),u_brightness_high:i.paint.get("raster-brightness-max"),u_saturation_factor:(o=i.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Gr(i.paint.get("raster-hue-rotate"))};var a,o};function Gr(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]}var Zr,Wr=function(t,e,r,n,i,a,o,s,l,u){var c=i.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:c.cameraToCenterDistance,u_pitch:c.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:c.width/c.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:u,u_texture:0}},Yr=function(e,r,n,i,a,o,s,l,u,c,f){var h=a.transform;return t.extend(Wr(e,r,n,i,a,o,s,l,u,c),{u_gamma_scale:i?Math.cos(h._pitch)*h.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+f})},Xr=function(e,r,n,i,a,o,s,l,u,c){return t.extend(Yr(e,r,n,i,a,o,s,l,!0,u,!0),{u_texsize_icon:c,u_texture_icon:1})},Jr=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},Kr=function(e,r,n,i,a,o){return t.extend(function(t,e,r,n){var i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,u=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/u,f=c*(n.tileID.canonical.x+n.tileID.wrap*u),h=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/ge(n,1,r.transform.tileZoom),u_pixel_coord_upper:[f>>16,h>>16],u_pixel_coord_lower:[65535&f,65535&h]}}(i,o,n,a),{u_matrix:e,u_opacity:r})},$r={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},collisionCircle:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,r.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,r.u_viewport_size)}},debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_overlay:new t.Uniform1i(e,r.u_overlay),u_overlay_scale:new t.Uniform1f(e,r.u_overlay_scale)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_maxzoom:new t.Uniform1f(e,r.u_maxzoom),u_unpack:new t.Uniform4f(e,r.u_unpack)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},symbolTextAndIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texsize_icon:new t.Uniform2f(e,r.u_texsize_icon),u_texture:new t.Uniform1i(e,r.u_texture),u_texture_icon:new t.Uniform1i(e,r.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function Qr(e,r,n,i,a,o,s){for(var l=e.context,u=l.gl,c=e.useProgram("collisionBox"),f=[],h=0,p=0,d=0;d0){var _=t.create(),w=m;t.mul(_,y.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(_,_,y.placementViewportMatrix),f.push({circleArray:b,circleOffset:p,transform:w,invTransform:_}),p=h+=b.length/4}x&&c.draw(l,u.LINES,Mt.disabled,Et.disabled,e.colorModeForRenderPass(),Ct.disabled,Ir(m,e.transform,g),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&f.length){var T=e.useProgram("collisionCircle"),k=new t.StructArrayLayout2f1f2i16;k.resize(4*h),k._trim();for(var A=0,M=0,S=f;M=0&&(v[y.associatedIconIndex]={shiftedAnchor:S,angle:E})}else he(y.numGlyphs,p)}if(f){d.clear();for(var C=e.icon.placedSymbolArray,O=0;O0){var s=t.browser.now(),l=(s-e.timeAdded)/o,u=r?(s-r.timeAdded)/o:-1,c=n.getSource(),f=a.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),h=!r||Math.abs(r.tileID.overscaledZ-f)>Math.abs(e.tileID.overscaledZ-f),p=h&&e.refreshedUponExpiration?1:t.clamp(h?l:1-u,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var hn=new t.Color(1,0,0,1),pn=new t.Color(0,1,0,1),dn=new t.Color(0,0,1,1),vn=new t.Color(1,0,1,1),gn=new t.Color(0,1,1,1);function yn(t){var e=t.transform.padding;mn(t,t.transform.height-(e.top||0),3,hn),mn(t,e.bottom||0,3,pn),xn(t,e.left||0,3,dn),xn(t,t.transform.width-(e.right||0),3,vn);var r=t.transform.centerPoint;!function(t,e,r,n){var i=20,a=2;bn(t,e-a/2,r-i/2,a,i,n),bn(t,e-i/2,r-a/2,i,a,n)}(t,r.x,t.transform.height-r.y,gn)}function mn(t,e,r,n){bn(t,0,e+r/2,t.transform.width,r,n)}function xn(t,e,r,n){bn(t,e-r/2,0,r,t.transform.height,n)}function bn(e,r,n,i,a,o){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*t.browser.devicePixelRatio,n*t.browser.devicePixelRatio,i*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function _n(e,r,n){var i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram("debug"),l=Mt.disabled,u=Et.disabled,c=e.colorModeForRenderPass(),f="$debug";i.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,u,c,Ct.disabled,zr(o,t.Color.red),f,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var h=r.getTileByID(n.key).latestRawTileData,p=h&&h.byteLength||0,d=Math.floor(p/1024),v=r.getTile(n).tileSize,g=512/Math.min(v,512)*(n.overscaledZ/e.transform.zoom)*.5,y=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(y+=" => "+n.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,y+" "+d+"kb"),s.draw(i,a.TRIANGLES,l,u,Lt.alphaBlended,Ct.disabled,zr(o,t.Color.transparent,g),f,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var wn={symbol:function(e,r,n,i,a){if("translucent"===e.renderPass){var o=Et.disabled,s=e.colorModeForRenderPass();n.layout.get("text-variable-anchor")&&function(e,r,n,i,a,o,s){for(var l=r.transform,u="map"===a,c="map"===o,f=0,h=e;f256&&this.clearStencil(),r.setColorMode(Lt.disabled),r.setDepthMode(Mt.disabled);var i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var a=0,o=e;a256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Et({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},Tn.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Et({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},Tn.prototype.stencilConfigForOverlap=function(t){var e,r=this.context.gl,n=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s=0;this.currentLayer--){var w=this.style._layers[i[this.currentLayer]],T=a[w.source],k=c[w.source];this._renderTileClippingMasks(w,k),this.renderLayer(this,T,w,k)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?e.pop():null},Tn.prototype.isPatternMissing=function(t){if(!t)return!1;if(!t.from||!t.to)return!0;var e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r},Tn.prototype.useProgram=function(t,e){this.cache=this.cache||{};var r=""+t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new kr(this.context,wr[t],e,$r[t],this._showOverdrawInspector)),this.cache[r]},Tn.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},Tn.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)},Tn.prototype.initDebugOverlayCanvas=function(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=t.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var e=this.context.gl;this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,e.RGBA)}},Tn.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var kn=function(t,e){this.points=t,this.planes=e};kn.fromInvProjectionMatrix=function(e,r,n){var i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return t.transformMat4([],r,e)})).map((function(e){return t.scale$1([],e,1/e[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var r=t.sub([],a[e[0]],a[e[1]]),n=t.sub([],a[e[2]],a[e[1]]),i=t.normalize([],t.cross([],r,n)),o=-t.dot(i,a[e[1]]);return i.concat(o)}));return new kn(a,o)};var An=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};An.prototype.quadrant=function(e){for(var r=[e%2==0,e<2],n=t.clone$2(this.min),i=t.clone$2(this.max),a=0;a=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var u=Number.MAX_VALUE,c=-Number.MAX_VALUE,f=0;fthis.max[l]-this.min[l])return 0}return 1};var Mn=function(t,e,r,n){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=r,this.right=n};Mn.prototype.interpolate=function(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.number(e.right,r.right,n)),this},Mn.prototype.getCenter=function(e,r){var n=t.clamp((this.left+e-this.right)/2,0,e),i=t.clamp((this.top+r-this.bottom)/2,0,r);return new t.Point(n,i)},Mn.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},Mn.prototype.clone=function(){return new Mn(this.top,this.bottom,this.left,this.right)},Mn.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var Sn=function(e,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Mn,this._posMatrixCache={},this._alignedPosMatrixCache={}},En={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};Sn.prototype.clone=function(){var t=new Sn(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,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._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},En.minZoom.get=function(){return this._minZoom},En.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},En.maxZoom.get=function(){return this._maxZoom},En.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},En.minPitch.get=function(){return this._minPitch},En.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},En.maxPitch.get=function(){return this._maxPitch},En.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},En.renderWorldCopies.get=function(){return this._renderWorldCopies},En.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},En.worldSize.get=function(){return this.tileSize*this.scale},En.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},En.size.get=function(){return new t.Point(this.width,this.height)},En.bearing.get=function(){return-this.angle/Math.PI*180},En.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},En.pitch.get=function(){return this._pitch/Math.PI*180},En.pitch.set=function(e){var r=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},En.fov.get=function(){return this._fov/Math.PI*180},En.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())},En.zoom.get=function(){return this._zoom},En.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())},En.center.get=function(){return this._center},En.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},En.padding.get=function(){return this._edgeInsets.toJSON()},En.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},En.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},Sn.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},Sn.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},Sn.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},Sn.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),i=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),u=s-1;u<=l+1;u++)0!==u&&r.push(new t.UnwrappedTileID(u,e));return r},Sn.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&re.maxzoom&&(r=e.maxzoom);var i=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=kn.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var u=function(t){return{aabb:new An([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},c=[],f=[],h=r,p=e.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)c.push(u(-d)),c.push(u(d));for(c.push(u(0));c.length>0;){var v=c.pop(),g=v.x,y=v.y,m=v.fullyVisible;if(!m){var x=v.aabb.intersects(s);if(0===x)continue;m=2===x}var b=v.aabb.distanceX(o),_=v.aabb.distanceY(o),w=Math.max(Math.abs(b),Math.abs(_)),T=3+(1<T&&v.zoom>=l)f.push({tileID:new t.OverscaledTileID(v.zoom===h?p:v.zoom,v.wrap,v.zoom,g,y),distanceSq:t.sqrLen([o[0]-.5-g,o[1]-.5-y])});else for(var k=0;k<4;k++){var A=(g<<1)+k%2,M=(y<<1)+(k>>1);c.push({aabb:v.aabb.quadrant(k),zoom:v.zoom+1,x:A,y:M,wrap:v.wrap,fullyVisible:m})}}return f.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},Sn.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},En.unmodified.get=function(){return this._unmodified},Sn.prototype.zoomScale=function(t){return Math.pow(2,t)},Sn.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Sn.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},Sn.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},En.point.get=function(){return this.project(this.center)},Sn.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},Sn.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Sn.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Sn.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},Sn.prototype.coordinateLocation=function(t){return t.toLngLat()},Sn.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[0]/i,s=n[0]/a,l=r[1]/i,u=n[1]/a,c=r[2]/i,f=n[2]/a,h=c===f?0:(0-c)/(f-c);return new t.MercatorCoordinate(t.number(o,s,h)/this.worldSize,t.number(l,u,h)/this.worldSize)},Sn.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},Sn.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},Sn.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},Sn.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},Sn.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,a.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},Sn.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},Sn.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,u=this.size,c=this._unmodified;if(this.latRange){var f=this.latRange;a=t.mercatorYfromLat(f[1])*this.worldSize,e=(o=t.mercatorYfromLat(f[0])*this.worldSize)-ao&&(i=o-g)}if(this.lngRange){var y=p.x,m=u.x/2;y-ml&&(n=l-m)}void 0===n&&void 0===i||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=c,this._constraining=!1}},Sn.prototype._calcMatrices=function(){if(this.height){var e=this._fov/2,r=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(e)*this.height;var n=Math.PI/2+this._pitch,i=this._fov*(.5+r.y/this.height),a=Math.sin(i)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-n-i,.01,Math.PI-.01)),o=this.point,s=o.x,l=o.y,u=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),c=this.height/50,f=new Float64Array(16);t.perspective(f,this._fov,this.width/this.height,c,u),f[8]=2*-r.x/this.width,f[9]=2*r.y/this.height,t.scale(f,f,[1,-1,1]),t.translate(f,f,[0,0,-this.cameraToCenterDistance]),t.rotateX(f,f,this._pitch),t.rotateZ(f,f,this.angle),t.translate(f,f,[-s,-l,0]),this.mercatorMatrix=t.scale([],f,[this.worldSize,this.worldSize,this.worldSize]),t.scale(f,f,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=f,this.invProjMatrix=t.invert([],this.projMatrix);var h=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),v=Math.sin(this.angle),g=s-Math.round(s)+d*h+v*p,y=l-Math.round(l)+d*p+v*h,m=new Float64Array(f);if(t.translate(m,m,[g>.5?g-1:g,y>.5?y-1:y,0]),this.alignedProjMatrix=m,f=t.create(),t.scale(f,f,[this.width/2,-this.height/2,1]),t.translate(f,f,[1,-1,0]),this.labelPlaneMatrix=f,f=t.create(),t.scale(f,f,[1,-1,1]),t.translate(f,f,[-1,-1,0]),t.scale(f,f,[2/this.width,2/this.height,1]),this.glCoordMatrix=f,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(f=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=f,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Sn.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},Sn.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},Sn.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=e;s=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},Ln.prototype._updateHashUnthrottled=function(){var e=this.getHashString();try{t.window.history.replaceState(t.window.history.state,"",e)}catch(t){}};var Cn={linearity:.3,easing:t.bezier(0,0,.3,1)},On=t.extend({deceleration:2500,maxSpeed:1400},Cn),Pn=t.extend({deceleration:20,maxSpeed:1400},Cn),In=t.extend({deceleration:1e3,maxSpeed:360},Cn),Dn=t.extend({deceleration:1e3,maxSpeed:90},Cn),zn=function(t){this._map=t,this.clear()};function Rn(t,e){(!t.duration||t.duration0&&r-e[0].time>160;)e.shift()},zn.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n=this._clickTolerance||this._map.fire(new Bn(t.type,this._map,t))},Un.prototype.dblclick=function(t){return this._firePreventable(new Bn(t.type,this._map,t))},Un.prototype.mouseover=function(t){this._map.fire(new Bn(t.type,this._map,t))},Un.prototype.mouseout=function(t){this._map.fire(new Bn(t.type,this._map,t))},Un.prototype.touchstart=function(t){return this._firePreventable(new Nn(t.type,this._map,t))},Un.prototype.touchmove=function(t){this._map.fire(new Nn(t.type,this._map,t))},Un.prototype.touchend=function(t){this._map.fire(new Nn(t.type,this._map,t))},Un.prototype.touchcancel=function(t){this._map.fire(new Nn(t.type,this._map,t))},Un.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Un.prototype.isEnabled=function(){return!0},Un.prototype.isActive=function(){return!1},Un.prototype.enable=function(){},Un.prototype.disable=function(){};var Vn=function(t){this._map=t};Vn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Vn.prototype.mousemove=function(t){this._map.fire(new Bn(t.type,this._map,t))},Vn.prototype.mousedown=function(){this._delayContextMenu=!0},Vn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Bn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Vn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new Bn(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()},Vn.prototype.isEnabled=function(){return!0},Vn.prototype.isActive=function(){return!1},Vn.prototype.enable=function(){},Vn.prototype.disable=function(){};var Hn=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function qn(t,e){for(var r={},n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){for(var r=new t.Point(0,0),n=0,i=e;n30)&&(this.aborted=!0)}}},Gn.prototype.touchend=function(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var Zn=function(t){this.singleTap=new Gn(t),this.numTaps=t.numTaps,this.reset()};Zn.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},Zn.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},Zn.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},Zn.prototype.touchend=function(t,e,r){var n=this.singleTap.touchend(t,e,r);if(n){var i=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if(i&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Wn=function(){this._zoomIn=new Zn({numTouches:1,numTaps:2}),this._zoomOut=new Zn({numTouches:2,numTaps:1}),this.reset()};Wn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Wn.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Wn.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Wn.prototype.touchend=function(t,e,r){var n=this,i=this._zoomIn.touchend(t,e,r),a=this._zoomOut.touchend(t,e,r);return i?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(i)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},Wn.prototype.touchcancel=function(){this.reset()},Wn.prototype.enable=function(){this._enabled=!0},Wn.prototype.disable=function(){this._enabled=!1,this.reset()},Wn.prototype.isEnabled=function(){return this._enabled},Wn.prototype.isActive=function(){return this._active};var Yn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};Yn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},Yn.prototype._correctButton=function(t,e){return!1},Yn.prototype._move=function(t,e){return{}},Yn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},Yn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r&&(t.preventDefault(),this._moved||!(e.dist(r)0&&(this._active=!0);var i=qn(n,r),a=new t.Point(0,0),o=new t.Point(0,0),s=0;for(var l in i){var u=i[l],c=this._touches[l];c&&(a._add(u),o._add(u.sub(c)),s++,i[l]=u)}if(this._touches=i,!(sMath.abs(t.x)}var oi=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.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},e.prototype._start=function(t){this._lastPoints=t,ai(t[0].sub(t[1]))&&(this._valid=!1)},e.prototype._move=function(t,e,r){var n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}},e.prototype.gestureBeginsVertically=function(t,e,r){if(void 0!==this._valid)return this._valid;var n=t.mag()>=2,i=e.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return ai(t)&&ai(e)&&a}},e}(Qn),si={panStep:100,bearingStep:15,pitchStep:10},li=function(){var t=si;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep};function ui(t){return t*(2-t)}li.prototype.reset=function(){this._active=!1},li.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:t.shiftKey?n=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?n=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(t.preventDefault(),o=1);break;default:return}return{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:ui,zoom:r?Math.round(l)+r*(t.shiftKey?2:1):l,bearing:s.getBearing()+n*e._bearingStep,pitch:s.getPitch()+i*e._pitchStep,offset:[-a*e._panStep,-o*e._panStep],center:s.getCenter()},{originalEvent:t})}}}},li.prototype.enable=function(){this._enabled=!0},li.prototype.disable=function(){this._enabled=!1,this.reset()},li.prototype.isEnabled=function(){return this._enabled},li.prototype.isActive=function(){return this._active};var ci=4.000244140625,fi=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};fi.prototype.setZoomRate=function(t){this._defaultZoomRate=t},fi.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},fi.prototype.isEnabled=function(){return!!this._enabled},fi.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},fi.prototype.isZooming=function(){return!!this._zooming},fi.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},fi.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},fi.prototype.wheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%ci==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}},fi.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)},fi.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},fi.prototype.renderFrame=function(){return this._onScrollFrame()},fi.prototype._onScrollFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>ci?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s="number"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,u=this._easing,c=!1;if("wheel"===this._type&&l&&u){var f=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),h=u(f);o=t.number(l,s,h),f<1?this._frameId||(this._frameId=!0):c=!0}else o=s,c=!0;return this._active=!0,c&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!c,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},fi.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(t.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r},fi.prototype.reset=function(){this._active=!1};var hi=function(t,e){this._clickZoom=t,this._tapZoom=e};hi.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},hi.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},hi.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},hi.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var pi=function(){this.reset()};pi.prototype.reset=function(){this._active=!1},pi.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(t.shiftKey?-1:1),around:r.unproject(e)},{originalEvent:t})}}},pi.prototype.enable=function(){this._enabled=!0},pi.prototype.disable=function(){this._enabled=!1,this.reset()},pi.prototype.isEnabled=function(){return this._enabled},pi.prototype.isActive=function(){return this._active};var di=function(){this._tap=new Zn({numTouches:1,numTaps:1}),this.reset()};di.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},di.prototype.touchstart=function(t,e,r){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=e[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(t,e,r))},di.prototype.touchmove=function(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)},di.prototype.touchend=function(t,e,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(t,e,r)&&(this._tapTime=t.timeStamp)},di.prototype.touchcancel=function(){this.reset()},di.prototype.enable=function(){this._enabled=!0},di.prototype.disable=function(){this._enabled=!1,this.reset()},di.prototype.isEnabled=function(){return this._enabled},di.prototype.isActive=function(){return this._active};var vi=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};vi.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},vi.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},vi.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},vi.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var gi=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};gi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},gi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},gi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},gi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var yi=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};yi.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},yi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},yi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},yi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},yi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},yi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var mi=function(t){return t.zoom||t.drag||t.pitch||t.rotate},xi=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}(t.Event);function bi(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var _i=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new zn(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),t.bindAll(["handleEvent","handleWindowEvent"],this);var i=this._el;this._listeners=[[i,"touchstart",{passive:!1}],[i,"touchmove",{passive:!1}],[i,"touchend",void 0],[i,"touchcancel",void 0],[i,"mousedown",void 0],[i,"mousemove",void 0],[i,"mouseup",void 0],[t.window.document,"mousemove",{capture:!0}],[t.window.document,"mouseup",void 0],[i,"mouseover",void 0],[i,"mouseout",void 0],[i,"dblclick",void 0],[i,"click",void 0],[i,"keydown",{capture:!1}],[i,"keyup",void 0],[i,"wheel",{passive:!1}],[i,"contextmenu",void 0],[t.window,"blur",void 0]];for(var a=0,o=this._listeners;aa?Math.min(2,_):Math.max(.5,_),w=Math.pow(g,1-e),T=i.unproject(x.add(b.mult(e*w)).mult(v));i.setLocationAtPoint(i.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(t){n._afterEase(r,t)}),e),this},r.prototype._prepareEase=function(e,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.Event("pitchstart",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))},r.prototype._afterEase=function(e,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event("zoomend",e)),i&&this.fire(new t.Event("rotateend",e)),a&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}},r.prototype.flyTo=function(e,r){var n=this;if(!e.essential&&t.browser.prefersReducedMotion){var i=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(i,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),u=this.getPadding(),c="zoom"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):o,f="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:l,p="padding"in e?e.padding:a.padding,d=a.zoomScale(c-o),v=t.Point.convert(e.offset),g=a.centerPoint.add(v),y=a.pointLocation(g),m=t.LngLat.convert(e.center||y);this._normalizeCenter(m);var x=a.project(y),b=a.project(m).sub(x),_=e.curve,w=Math.max(a.width,a.height),T=w/d,k=b.mag();if("minZoom"in e){var A=t.clamp(Math.min(e.minZoom,o,c),a.minZoom,a.maxZoom),M=w/a.zoomScale(A-o);_=Math.sqrt(M/k*2)}var S=_*_;function E(t){var e=(T*T-w*w+(t?-1:1)*S*S*k*k)/(2*(t?T:w)*S*k);return Math.log(Math.sqrt(e*e+1)-e)}function L(t){return(Math.exp(t)-Math.exp(-t))/2}function C(t){return(Math.exp(t)+Math.exp(-t))/2}var O=E(0),P=function(t){return C(O)/C(O+_*t)},I=function(t){return w*((C(O)*(L(e=O+_*t)/C(e))-L(O))/S)/k;var e},D=(E(1)-O)/_;if(Math.abs(k)<1e-6||!isFinite(D)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);var z=Te.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==f,this._pitching=h!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(e){var i=e*D,d=1/P(i);a.zoom=1===e?c:o+a.scaleZoom(d),n._rotating&&(a.bearing=t.number(s,f,e)),n._pitching&&(a.pitch=t.number(l,h,e)),n._padding&&(a.interpolatePadding(u,p,e),g=a.centerPoint.add(v));var y=1===e?m:a.unproject(x.add(b.mult(I(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?y.wrap():y,g),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,e)}if(!t){var n=this.handlers;n&&n.stop()}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}},r}(t.Evented),Ti=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};Ti.prototype.getDefaultPosition=function(){return"bottom-right"},Ti.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._innerContainer=r.create("div","mapboxgl-ctrl-attrib-inner",this._container),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),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},Ti.prototype.onRemove=function(){r.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0},Ti.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce((function(t,e,n){return e.value&&(t+=e.key+"="+e.value+(n=0)return!1;return!0}))).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},Ti.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")};var ki=function(){t.bindAll(["_updateLogo"],this),t.bindAll(["_updateCompact"],this)};ki.prototype.onAdd=function(t){this._map=t,this._container=r.create("div","mapboxgl-ctrl");var e=r.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://www.mapbox.com/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},ki.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},ki.prototype.getDefaultPosition=function(){return"bottom-left"},ki.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},ki.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}},ki.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add("mapboxgl-compact"):e.classList.remove("mapboxgl-compact")}};var Ai=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Ai.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},Ai.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;re.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>Ci)throw new Error("maxPitch must be less than or equal to 60");var i=new Sn(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new Ai,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},Mi,e.locale),this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),"string"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else{if(!(e.container instanceof Ei))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(function(){return r._update(!1)})),this.on("moveend",(function(){return r._update(!1)})),this.on("zoom",(function(){return r._update(!0)})),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1)),this.handlers=new _i(this,e);var a="string"==typeof e.hash&&e.hash||void 0;this._hash=e.hash&&new Ln(a).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new Ti({customAttribution:e.customAttribution})),this.addControl(new ki,e.logoPosition),this.on("style.load",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on("data",(function(e){r._update("style"===e.dataType),r.fire(new t.Event(e.dataType+"data",e))})),this.on("dataloading",(function(e){r.fire(new t.Event(e.dataType+"dataloading",e))}))}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(e,r){if(void 0===r&&e.getDefaultPosition&&(r=e.getDefaultPosition()),void 0===r&&(r="top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var n=e.onAdd(this);this._controls.push(e);var i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},i.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),a&&this.fire(new t.Event("moveend",e)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},i.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=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")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()Ci)throw new Error("maxPitch must be less than or equal to 60");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error("maxPitch must be greater than the current minPitch")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},i.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},i.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(t,e,r){var n,i=this;if("mouseenter"===t||"mouseover"===t){var a=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?a||(a=!0,r.call(i,new Bn(t,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(i,new Bn(t,i,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(i,new Bn(t,i,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=i.getLayer(e)?i.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(i,t),delete t.features)},n)}},i.prototype.on=function(t,e,r){if(void 0===r)return n.prototype.on.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(t,e,r){if(void 0===r)return n.prototype.once.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(t,e,r){var i=this;if(void 0===r)return n.prototype.off.call(this,t,e);return this._delegatedListeners&&this._delegatedListeners[t]&&function(n){for(var a=n[t],o=0;o180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Ri.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ri.prototype.move=function(t,e){var r=this.map,n=this.mouseRotate.mousemoveWindow(t,e);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(t,e);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Ri.prototype.off=function(){var t=this.element;r.removeEventListener(t,"mousedown",this.mousedown),r.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),r.removeEventListener(t,"touchmove",this.touchmove),r.removeEventListener(t,"touchend",this.touchend),r.removeEventListener(t,"touchcancel",this.reset),this.offTemp()},Ri.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,"mousemove",this.mousemove),r.removeEventListener(t.window,"mouseup",this.mouseup)},Ri.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),r.mousePos(this.element,e)),r.addEventListener(t.window,"mousemove",this.mousemove),r.addEventListener(t.window,"mouseup",this.mouseup)},Ri.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ri.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ri.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos))},Ri.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos))},Ri.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)e.getEast()||r.latitudee.getNorth())},n.prototype._setErrorState=function(){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")}},n.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,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(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(e){if(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),r=this._map.unproject([1,t]),n=e.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+"px",this._circleElement.style.height=i+"px"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.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"),this._geolocateButton.disabled=!0;var r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&qi)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;if(this._container.addEventListener("contextmenu",(function(t){return t.preventDefault()})),this._geolocateButton=r.create("button","mapboxgl-ctrl-geolocate",this._container),r.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var i=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute("aria-label",i)}else{var a=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=a,this._geolocateButton.setAttribute("aria-label",a)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=r.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Ui(this._dotElement),this._circleElement=r.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Ui({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(function(e){var r=e.originalEvent&&"resize"===e.originalEvent.type;e.geolocateSource||"ACTIVE_LOCK"!==n._watchState||r||(n._watchState="BACKGROUND",n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),n.fire(new t.Event("trackuserlocationend")))}))},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Hi--,qi=!1,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(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("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")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++Hi>1?(e={maximumAge:6e5,timeout:0},qi=!0):(e=this.options.positionOptions,qi=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.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)},n}(t.Evented),Zi={maxWidth:100,unit:"metric"},Wi=function(e){this.options=t.extend({},Zi,e),t.bindAll(["_onMove","setUnit"],this)};function Yi(t,e,r){var n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){var l=3.2808*s;l>5280?Xi(e,n,l/5280,t._getUIString("ScaleControl.Miles")):Xi(e,n,l,t._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?Xi(e,n,s/1852,t._getUIString("ScaleControl.NauticalMiles")):s>=1e3?Xi(e,n,s/1e3,t._getUIString("ScaleControl.Kilometers")):Xi(e,n,s,t._getUIString("ScaleControl.Meters"))}function Xi(t,e,r,n){var i,a,o,s=(i=r,(a=Math.pow(10,(""+Math.floor(i)).length-1))*((o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o))),l=s/r;t.style.width=e*l+"px",t.innerHTML=s+" "+n}Wi.prototype.getDefaultPosition=function(){return"bottom-left"},Wi.prototype._onMove=function(){Yi(this._map,this._container,this.options)},Wi.prototype.onAdd=function(t){return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},Wi.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},Wi.prototype.setUnit=function(t){this.options.unit=t,Yi(this._map,this._container,this.options)};var Ji=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in t.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in t.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in t.window.document&&(this._fullscreenchange="MSFullscreenChange")};Ji.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},Ji.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Ji.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},Ji.prototype._setupUI=function(){var e=this._fullscreenButton=r.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);r.create("span","mapboxgl-ctrl-icon",e).setAttribute("aria-hidden",!0),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Ji.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t},Ji.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},Ji.prototype._isFullscreen=function(){return this._fullscreen},Ji.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},Ji.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var Ki={closeButton:!0,closeOnClick:!0,className:"",maxWidth:"240px"},$i=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(Ki),r),t.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new t.Event("open")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new t.Event("close")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),i=t.window.document.createElement("body");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},n.prototype.addClassName=function(t){this._container&&this._container.classList.add(t)},n.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t)},n.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createContent=function(){this._content&&r.remove(this._content),this._content=r.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=r.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))},n.prototype._onMouseUp=function(t){this._update(t.point)},n.prototype._onMouseMove=function(t){this._update(t.point)},n.prototype._onDrag=function(t){this._update(t.point)},n.prototype._update=function(t){var e=this,n=this._lngLat||this._trackPointer;if(this._map&&n&&this._content&&(this._container||(this._container=r.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=r.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((function(t){return e._container.classList.add(t)})),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Fi(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||t)){var i=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat),a=this.options.anchor,o=Qi(this.options.offset);if(!a){var s,l=this._container.offsetWidth,u=this._container.offsetHeight;s=i.y+o.bottom.ythis._map.transform.height-u?["bottom"]:[],i.xthis._map.transform.width-l/2&&s.push("right"),a=0===s.length?"bottom":s.join("-")}var c=i.add(o[a]).round();r.setTransform(this._container,Bi[a]+" translate("+c.x+"px,"+c.y+"px)"),Ni(this._container,a,"popup")}},n.prototype._onClose=function(){this.remove()},n}(t.Evented);function Qi(e){if(e){if("number"==typeof e){var r=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{center:new t.Point(0,0),top:new t.Point(0,e),"top-left":new t.Point(r,r),"top-right":new t.Point(-r,r),bottom:new t.Point(0,-e),"bottom-left":new t.Point(r,-r),"bottom-right":new t.Point(-r,-r),left:new t.Point(e,0),right:new t.Point(-e,0)}}if(e instanceof t.Point||Array.isArray(e)){var n=t.Point.convert(e);return{center:n,top:n,"top-left":n,"top-right":n,bottom:n,"bottom-left":n,"bottom-right":n,left:n,right:n}}return{center:t.Point.convert(e.center||[0,0]),top:t.Point.convert(e.top||[0,0]),"top-left":t.Point.convert(e["top-left"]||[0,0]),"top-right":t.Point.convert(e["top-right"]||[0,0]),bottom:t.Point.convert(e.bottom||[0,0]),"bottom-left":t.Point.convert(e["bottom-left"]||[0,0]),"bottom-right":t.Point.convert(e["bottom-right"]||[0,0]),left:t.Point.convert(e.left||[0,0]),right:t.Point.convert(e.right||[0,0])}}return Qi(new t.Point(0,0))}var ta={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Pi,NavigationControl:zi,GeolocateControl:Gi,AttributionControl:Ti,ScaleControl:Wi,FullscreenControl:Ji,Popup:$i,Marker:Ui,Style:We,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){jt().acquire(Rt)},clearPrewarmedResources:function(){var t=Bt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Rt),Bt=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Ft.workerCount},set workerCount(t){Ft.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:""};return ta})),r}()},27084:function(t){"use strict";t.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},16825:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",v),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",v),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),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 i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(74311)},48956:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},74311:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.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<=0)return 1<0&&a(s,r))}catch(t){c.call(new h(r),t)}}}function c(t){var e=this;e.triggered||(e.triggered=!0,e.def&&(e=e.def),e.msg=t,e.state=2,e.chain.length>0&&a(s,e))}function f(t,e,r,n){for(var i=0;i1&&(i*=y=Math.sqrt(y),s*=y);var m=i*i,x=s*s,b=(u==c?-1:1)*Math.sqrt(Math.abs((m*x-m*g*g-x*v*v)/(m*g*g+x*v*v)));b==1/0&&(b=1);var _=b*i*g/s+(t+f)/2,w=b*-s*v/i+(n+h)/2,T=Math.asin(((n-w)/s).toFixed(9)),k=Math.asin(((h-w)/s).toFixed(9));(T=t<_?e-T:T)<0&&(T=2*e+T),(k=f<_?e-k:k)<0&&(k=2*e+k),c&&T>k&&(T-=2*e),!c&&k>T&&(k-=2*e)}if(Math.abs(k-T)>r){var A=k,M=f,S=h;k=T+r*(c&&k>T?1:-1);var E=a(f=_+i*Math.cos(k),h=w+s*Math.sin(k),i,s,l,0,c,M,S,[k,A,_,w])}var L=Math.tan((k-T)/4),C=4/3*i*L,O=4/3*s*L,P=[2*t-(t+C*Math.sin(T)),2*n-(n-O*Math.cos(T)),f+C*Math.sin(k),h-O*Math.cos(k),f,h];if(p)return P;E&&(P=P.concat(E));for(var I=0;I7&&(r.push(y.splice(0,7)),y.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-o,b+=b-l),y=["C",x,b,y[1],y[2],y[3],y[4]];break;case"T":"Q"==e||"T"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),y=i(p,d,f,h,y[1],y[2]);break;case"Q":f=y[1],h=y[2],y=i(p,d,y[1],y[2],y[3],y[4]);break;case"L":y=n(p,d,y[1],y[2]);break;case"H":y=n(p,d,y[1],d);break;case"V":y=n(p,d,p,y[1]);break;case"Z":y=n(p,d,u,c)}e=m,p=y[y.length-2],d=y[y.length-1],y.length>4?(o=y[y.length-4],l=y[y.length-3]):(o=p,l=d),r.push(y)}return r}},56131:function(t){"use strict";var e=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function i(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,a){for(var o,s,l=i(t),u=1;u0&&!i.call(t,0))for(var v=0;v0)for(var g=0;g=0&&"[object Function]"===e.call(t.callee)),n}},88641:function(t){"use strict";function e(t,e){if("string"!=typeof t)return[t];var r=[t];"string"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:["{}","[]","()"],i=e.escape||"___",a=!!e.flat;n.forEach((function(t){var e=new RegExp(["\\",t[0],"[^\\",t[0],"\\",t[1],"]*\\",t[1]].join("")),n=[];function a(e,a,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),i+s+i}r.forEach((function(t,n){for(var i,o=0;t!=i;)if(i=t,t=t.replace(e,a),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp("(\\"+i+r+"\\"+i+")","g"),t[0]+"$1"+t[1])})),e}))}));var o=new RegExp("\\"+i+"([0-9]+)\\"+i);return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error("Circular references in parenthesis");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function r(t,e){if(e&&e.flat){var r,n=e&&e.escape||"___",i=t[0];if(!i)return"";for(var a=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;i!=r;){if(o++>1e4)throw Error("Circular references in "+t);r=i,i=i.replace(a,s)}return i}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,"")),e+r}),"");function s(e,r){if(null==t[r])throw Error("Reference "+r+"is undefined");return t[r]}}function n(t,n){return Array.isArray(t)?r(t,n):e(t,n)}n.parse=e,n.stringify=r,t.exports=n},18863:function(t,e,r){"use strict";var n=r(71299);t.exports=function(t){var e;return arguments.length>1&&(t=arguments),"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]),t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}: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&&(e={x:(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"})).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),e}},95616:function(t){t.exports=function(t){var i=[];return t.replace(r,(function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(n);return e?e.map(Number):[]}(a),"m"==o&&a.length>2&&(i.push([r].concat(a.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(a.length==e[o])return a.unshift(r),i.push(a);if(a.lengtha!=p>a&&i<(h-c)*(a-f)/(p-f)+c&&(o=!o)}return o}},52142:function(t,e,r){var n,i=r(69444),a=r(29023),o=r(87263),s=r(11328),l=r(55968),u=r(10670),c=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?c=i():!1===t&&(c=!1),!1!==c&&c.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,c);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,c).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,c),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,c),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,c),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,c),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,c),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,f,c),inverted:t.inverted}},polygonFromGeoJSON:function(t){return u.toPolygon(n,t)},polygonToGeoJSON:function(t){return u.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},"object"==typeof window&&(window.PolyBool=n),t.exports=n},69444:function(t){t.exports=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")}}}},29023:function(t){t.exports=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)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-i>t&&(a-u)*(i-c)/(o-c)+u-n>t&&(s=!s),a=u,o=c}return s}};return e}},10670:function(t){var e={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;i0}))}function c(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,u=a.start,c=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,u,c);if(!1===f){if(!e.pointsCollinear(o,s,u))return!1;if(e.pointsSame(o,c)||e.pointsSame(s,u))return!1;var h=e.pointsSame(o,u),p=e.pointsSame(s,c);if(h&&p)return n;var d=!h&&e.pointBetween(o,u,c),v=!p&&e.pointBetween(s,u,c);if(h)return v?l(n,s):l(t,c),n;d&&(p||(v?l(n,s):l(t,c)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,u):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,c)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=u(h),d=p.before?p.before.ev:null,v=p.after?p.after.ev:null;function g(){if(d){var t=c(h,d);if(t)return t}return!!v&&c(h,v)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!v&&v.seg);var y,m,x=g();if(x&&(t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(x.seg),h.other.remove(),h.remove()),a.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=v?v.seg.myFill.above:i,h.seg.myFill.above=m?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(y=v?h.primary===v.primary?v.seg.otherFill.above:v.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:y,below:y}),r&&r.status(h.seg,!!d&&d.seg,!!v&&v.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(b.prev)&&s.exists(b.next)&&c(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,t)}},n.prototype.read_uint16=function(t){var r=this.input;if(t+2>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?256*r[t]+r[t+1]:r[t]+256*r[t+1]},n.prototype.read_uint32=function(t){var r=this.input;if(t+4>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?16777216*r[t]+65536*r[t+1]+256*r[t+2]+r[t+3]:r[t]+256*r[t+1]+65536*r[t+2]+16777216*r[t+3]},n.prototype.is_subifd_link=function(t,e){return 0===t&&34665===e||0===t&&34853===e||34665===t&&40965===e},n.prototype.exif_format_length=function(t){switch(t){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},n.prototype.exif_format_read=function(t,e){var r;switch(t){case 1:case 2:return this.input[e];case 6:return(r=this.input[e])|33554430*(128&r);case 3:return this.read_uint16(e);case 8:return(r=this.read_uint16(e))|131070*(32768&r);case 4:return this.read_uint32(e);case 9:return 0|this.read_uint32(e);default:return null}},n.prototype.scan_ifd=function(t,n,i){var a=this.read_uint16(n);n+=2;for(var o=0;othis.input.length)throw e("unexpected EOF","EBADDATA");for(var d=[],v=h,g=0;g0&&(this.ifds_to_read.push({id:s,offset:d[0]}),p=!0),!1===i({is_big_endian:this.big_endian,ifd:t,tag:s,format:l,count:u,entry_offset:n+this.start,data_length:f,data_offset:h+this.start,value:d,is_subifd_link:p}))return void(this.aborted=!0);n+=12}0===t&&this.ifds_to_read.push({id:1,offset:this.read_uint32(n)})},t.exports.ExifParser=n,t.exports.get_orientation=function(t){var e=0;try{return new n(t,0,t.length).each((function(t){if(0===t.ifd&&274===t.tag&&Array.isArray(t.value))return e=t.value[0],!1})),e}catch(t){return-1}}},76767:function(t,e,r){"use strict";var n=r(14847).n8,i=r(14847).Ag;function a(t,e){if(t.length<4+e)return null;var r=i(t,e);return t.length>4&15,i=15&t[4],a=t[5]>>4&15,o=n(t,6),l=8,u=0;ue.width||t.width===e.width&&t.height>e.height?t:e})),i=r.reduce((function(t,e){return t.height>e.height||t.height===e.height&&t.width>e.width?t:e})),n.width>i.height||n.width===i.height&&n.height>i.width?n:i),s=1;e.transforms.forEach((function(t){var e={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if("imir"===t.type&&(s=0===t.value?r[s]:e[s=e[s=r[s]]]),"irot"===t.type)for(var n=0;n1&&(h.variants=f.variants),f.orientation&&(h.orientation=f.orientation),f.exif_location&&f.exif_location.offset+f.exif_location.length<=t.length){var p=a(t,f.exif_location.offset),d=t.slice(f.exif_location.offset+p+4,f.exif_location.offset+f.exif_location.length),v=s.get_orientation(d);v>0&&(h.orientation=v)}return h}}}}}}},2504:function(t,e,r){"use strict";var n=r(14847).eG,i=r(14847).OF,a=r(14847).mP,o=n("BM");t.exports=function(t){if(!(t.length<26)&&i(t,0,o))return{width:a(t,18),height:a(t,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}},47342:function(t,e,r){"use strict";var n=r(14847).eG,i=r(14847).OF,a=r(14847).mP,o=n("GIF87a"),s=n("GIF89a");t.exports=function(t){if(!(t.length<10)&&(i(t,0,o)||i(t,0,s)))return{width:a(t,6),height:a(t,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}},31355:function(t,e,r){"use strict";var n=r(14847).mP;t.exports=function(t){var e=n(t,0),r=n(t,2),i=n(t,4);if(0===e&&1===r&&i){for(var a=[],o={width:0,height:0},s=0;so.width||u>o.height)&&(o=c)}return{width:o.width,height:o.height,variants:a,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}},54261:function(t,e,r){"use strict";var n=r(14847).n8,i=r(14847).eG,a=r(14847).OF,o=r(71371),s=i("Exif\0\0");t.exports=function(t){if(!(t.length<2)&&255===t[0]&&216===t[1]&&255===t[2])for(var e=2;;){for(;;){if(t.length-e<2)return;if(255===t[e++])break}for(var r,i,l=t[e++];255===l;)l=t[e++];if(208<=l&&l<=217||1===l)r=0;else{if(!(192<=l&&l<=254))return;if(t.length-e<2)return;r=n(t,e)-2,e+=2}if(217===l||218===l)return;if(225===l&&r>=10&&a(t,e,s)&&(i=o.get_orientation(t.slice(e+6,e+r))),r>=5&&192<=l&&l<=207&&196!==l&&200!==l&&204!==l){if(t.length-e0&&(u.orientation=i),u}e+=r}}},6303:function(t,e,r){"use strict";var n=r(14847).eG,i=r(14847).OF,a=r(14847).Ag,o=n("‰PNG\r\n\n"),s=n("IHDR");t.exports=function(t){if(!(t.length<24)&&i(t,0,o)&&i(t,12,s))return{width:a(t,16),height:a(t,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}},38689:function(t,e,r){"use strict";var n=r(14847).eG,i=r(14847).OF,a=r(14847).Ag,o=n("8BPS\0");t.exports=function(t){if(!(t.length<22)&&i(t,0,o))return{width:a(t,18),height:a(t,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}},6881:function(t){"use strict";function e(t){return"number"==typeof t&&isFinite(t)&&t>0}var r=/<[-_.:a-zA-Z0-9][^>]*>/,n=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,i=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,a=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,o=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,s=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function l(t){return s.test(t)?t.match(s)[0]:"px"}t.exports=function(t){if(function(t){var e,r=0,n=t.length;for(239===t[0]&&187===t[1]&&191===t[2]&&(r=3);r>14&16383),type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function h(t,e){return{width:1+(t[e+6]<<16|t[e+5]<<8|t[e+4]),height:1+(t[e+9]<t.length)){for(;e+8=10?r=r||c(t,e+8):"VP8L"===p&&d>=9?r=r||f(t,e+8):"VP8X"===p&&d>=10?r=r||h(t,e+8):"EXIF"===p&&(n=s.get_orientation(t.slice(e+8,e+8+d)),e=1/0),e+=8+d}else e++;if(r)return n>0&&(r.orientation=n),r}}}},91497:function(t,e,r){"use strict";t.exports={avif:r(24461),bmp:r(2504),gif:r(47342),ico:r(31355),jpeg:r(54261),png:r(6303),psd:r(38689),svg:r(6881),tiff:r(66278),webp:r(90784)}},33575:function(t,e,r){"use strict";var n=r(91497);t.exports=function(t){return function(t){for(var e=Object.keys(n),r=0;r1)for(var r=1;r1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function T(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map((function(t,u){var c=x[u];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(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"}),c||(x[u]=c={id:u,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},m,t)),a(c,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(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 a=0;a 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) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + 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:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\nuniform sampler2D dashTexture;\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(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\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\tfragColor.a *= opacity;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\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:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},y.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},y.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},y.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach((function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);"number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>y.precisionThreshold||e.scale[1]*e.viewport.height>y.precisionThreshold||"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=y.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},y.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,o=this.gl;if(t.forEach((function(t,f){var d=e.passes[f];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=s(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 colour stroke colors colours 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",splitNull:"splitNull"}),d||(e.passes[f]=d={id:f,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=a({},y.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,f=z}));(P=P.slice(0,R)).push(z)}for(var F=function(t){var e=k.slice(2*D,2*P[t]).concat(z?k.slice(2*z):[]),r=(d.hole||[]).map((function(e){return e-z+(P[t]-D)})),n=u(e,r);n=n.map((function(e){return e+D+(e+Dt.length)&&(e=t.length);for(var r=0,n=new Array(e);r 1.0 + delta) {\n\t\tdiscard;\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"]),l.vert=f(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pointSizeScale;\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 fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n"]),v&&(l.frag=l.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(l)}x.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},x.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},x.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;nn)?e.tree=u(t,{bounds:f}):n&&n.length&&(e.tree=n),e.tree){var h={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(h):e.elements=o.elements(h)}var p=g.float32(t);return i({data:p,usage:"dynamic"}),a({data:g.fract32(t,p),usage:"dynamic"}),l({data:new Uint8Array(c),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach((function(t){return t&&t.destroy&&t.destroy()})),i.length=0,e&&"number"!=typeof e[0]){for(var a=[],s=0,l=Math.min(e.length,r.count);s=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},x.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x,s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y,l.height),[a,n,o,i]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}t.exports=c,c.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){e.draw(),e.dirty=!0,e.planned=null}))):(this.draw(),this.dirty=!0,o((function(){e.dirty=!1}))),this)},c.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;nk))&&(s.lower||!(T>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function l(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[s(t.byteLength)>>2].push(t)}var r=o(8,(function(){return[]}));return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function u(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)||$(t.data))}function c(t,e,r,n,i,a){for(var o=0;o(i=s)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},l=0,c={uint8:5121,uint16:5123};e.oes_element_index_uint&&(c.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function s(t){if(t)if("number"==typeof t)l(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,h=0;Array.isArray(t)||$(t)||u(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=nt[t.usage]),"primitive"in t&&(n=st[t.primitive]),"count"in t&&(i=0|t.count),"type"in t&&(h=c[t.type]),"length"in t?o=0|t.length:(o=i,5123===h||5122===h?o*=2:5125!==h&&5124!==h||(o*=4))),a(f,e,r,n,i,o,h)}else l(),f.primType=4,f.vertCount=0,f.type=5121;return s}var l=r.create(null,34963,!0),f=new i(l._buffer);return n.elementsCount++,s(t),s._reglType="elements",s._elements=f,s.subdata=function(t,e){return l.subdata(t,e),s},s.destroy=function(){o(f)},s},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){Q(s).forEach(o)}}}function y(t){for(var e=J.allocType(5123,t.length),r=0;r>>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,r.height>>=i,p(r,n[i]),t.mipmask|=1<e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;re){for(var r=0;r=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(ut).forEach((function(e){t+=ut[e].stats.size})),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;O.call(r);var a=L();return"number"==typeof t?M(a,0|t,"number"==typeof e?0|e:0|t):t?(P(r,t),S(a,t)):M(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,l(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,z(i),E(a,3553),I(r,3553),R(),C(a),o.profile&&(i.stats.size=A(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=X[i.internalformat],n.type=K[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new D(3553);return ut[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=v();return l(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,z(i),d(o,3553,e,r,a),R(),g(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,z(i);for(var l=0;i.mipmask>>l;++l){var u=a>>l,c=s>>l;if(!u||!c)break;t.texImage2D(3553,l,i.format,u,c,0,i.format,i.type,null)}return R(),o.profile&&(i.stats.size=A(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType="texture2d",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,u){function f(t,e,r,n,i,a){var s,u=h.texInfo;for(O.call(u),s=0;6>s;++s)y[s]=L();if("number"!=typeof t&&t){if("object"==typeof t)if(e)S(y[0],t),S(y[1],e),S(y[2],r),S(y[3],n),S(y[4],i),S(y[5],a);else if(P(u,t),c(h,t),"faces"in t)for(t=t.faces,s=0;6>s;++s)l(y[s],h),S(y[s],t[s]);else for(s=0;6>s;++s)S(y[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(y[s],t,t);for(l(h,y[0]),h.mipmask=u.genMipmaps?(y[0].width<<1)-1:y[0].mipmask,h.internalformat=y[0].internalformat,f.width=y[0].width,f.height=y[0].height,z(h),s=0;6>s;++s)E(y[s],34069+s);for(I(u,34067),R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,u.genMipmaps,!0)),f.format=X[h.internalformat],f.type=K[h.type],f.mag=rt[u.magFilter],f.min=nt[u.minFilter],f.wrapS=it[u.wrapS],f.wrapT=it[u.wrapT],s=0;6>s;++s)C(y[s]);return f}var h=new D(34067);ut[h.id]=h,a.cubeCount++;var y=Array(6);return f(e,r,n,i,s,u),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=v();return l(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,z(h),d(a,34069+t,r,n,i),R(),g(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,z(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType="textureCube",f._texture=h,o.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;er;++r)if(0!=(e.mipmask&1<>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);I(e.texInfo,e.target)}))},refresh:function(){for(var e=0;ei;++i){for(u=0;ut;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){Q(k).forEach(g)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,Q(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),y(e)}))}})}function E(){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 L(t,e,r,n,i,a,o){function s(){this.id=++f,this.attributes=[],this.elements=null,this.ownsElements=!1,this.offset=this.count=0,this.instances=-1,this.primitive=4;var t=e.oes_vertex_array_object;this.vao=t?t.createVertexArrayOES():null,h[this.id]=this,this.buffers=[]}var l=r.maxAttributes,c=Array(l);for(r=0;r=h.byteLength?l.subdata(h):(l.destroy(),r.buffers[s]=null)),r.buffers[s]||(l=r.buffers[s]=i.create(c,34962,!1,!0)),f.buffer=i.getBuffer(l),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1,t[s]=1):i.getBuffer(c)?(f.buffer=i.getBuffer(c),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1):i.getBuffer(c.buffer)?(f.buffer=i.getBuffer(c.buffer),f.size=0|(+c.size||f.buffer.dimension),f.normalized=!!c.normalized||!1,f.type="type"in c?rt[c.type]:f.buffer.dtype,f.offset=0|(c.offset||0),f.stride=0|(c.stride||0),f.divisor=0|(c.divisor||0),f.state=1):"x"in c&&(f.x=+c.x||0,f.y=+c.y||0,f.z=+c.z||0,f.w=+c.w||0,f.state=2)}for(l=0;lt&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);Q(u).forEach(e),u={},Q(c).forEach(e),c={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,f={},r.shaderCount=0},program:function(e,n,i,a){var o=f[n];o||(o=f[n]={});var p=o[e];if(p&&(p.refCount++,!a))return p;var d=new s(n,e);return r.shaderCount++,l(d,i,a),p||(o[e]=d),h.push(d),G(d,{destroy:function(){if(d.refCount--,0>=d.refCount){t.deleteProgram(d.program);var e=h.indexOf(d);h.splice(e,1),r.shaderCount--}0>=o[d.vertId].refCount&&(t.deleteShader(c[d.vertId]),delete c[d.vertId],delete f[d.fragId][d.vertId]),Object.keys(f[d.fragId]).length||(t.deleteShader(u[d.fragId]),delete u[d.fragId],delete f[d.fragId])}})},restore:function(){u={},c={};for(var t=0;t>>e|t<<32-e}function I(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}function D(t){return Array.prototype.slice.call(t)}function z(t){return D(t).join("")}function R(t){function e(){var t=[],e=[];return G((function(){t.push.apply(t,D(arguments))}),{def:function(){var r="v"+i++;return e.push(r),0>>4&15)+"0123456789abcdef".charAt(15&e);return r}(function(t){for(var e=Array(t.length>>2),r=0;r>5]|=(255&t.charCodeAt(r/8))<<24-r%32;var n,i,a,o,s,l,u,c,f,h,p,d=8*t.length;for(t=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],r=Array(64),e[d>>5]|=128<<24-d%32,e[15+(d+64>>9<<4)]=d,c=0;cf;f++){var v;16>f?r[f]=e[f+c]:(h=f,p=I(p=P(p=r[f-2],17)^P(p,19)^p>>>10,r[f-7]),v=P(v=r[f-15],7)^P(v,18)^v>>>3,r[h]=I(I(p,v),r[f-16])),h=I(I(I(I(u,h=P(h=o,6)^P(h,11)^P(h,25)),o&s^~o&l),Mt[f]),r[f]),p=I(u=P(u=d,2)^P(u,13)^P(u,22),d&n^d&i^n&i),u=l,l=s,s=o,o=I(a,h),a=i,i=n,n=d,d=I(h,p)}t[0]=I(d,t[0]),t[1]=I(n,t[1]),t[2]=I(i,t[2]),t[3]=I(a,t[3]),t[4]=I(o,t[4]),t[5]=I(s,t[5]),t[6]=I(l,t[6]),t[7]=I(u,t[7])}for(e="",r=0;r<32*t.length;r+=8)e+=String.fromCharCode(t[r>>5]>>>24-r%32&255);return e}(function(t){for(var e,r,n="",i=-1;++i=e&&56320<=r&&57343>=r&&(e=65536+((1023&e)<<10)+(1023&r),i++),127>=e?n+=String.fromCharCode(e):2047>=e?n+=String.fromCharCode(192|e>>>6&31,128|63&e):65535>=e?n+=String.fromCharCode(224|e>>>12&15,128|e>>>6&63,128|63&e):2097151>=e&&(n+=String.fromCharCode(240|e>>>18&7,128|e>>>12&63,128|e>>>6&63,128|63&e));return n}(r))),n[e])?n[e].apply(null,o):(r=Function.apply(null,a.concat(r)),n&&(n[e]=r),r.apply(null,o))}}}function F(t){return Array.isArray(t)||$(t)||u(t)}function B(t){return t.sort((function(t,e){return"viewport"===t?-1:"viewport"===e?1:t"+e+"?"+i+".constant["+e+"]:0;"})).join(""),"}}else{","if(",s,"(",i,".buffer)){",c,"=",a,".createStream(",34962,",",i,".buffer);","}else{",c,"=",a,".getBuffer(",i,".buffer);","}",f,'="type" in ',i,"?",o.glTypes,"[",i,".type]:",c,".dtype;",l.normalized,"=!!",i,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",a,".destroyStream(",c,");","}"),l}))})),o}function M(t,e,n,i,a){function s(t){var e=u[t];e&&(h[t]=e)}var l=function(t,e){if("string"==typeof(r=t.static).frag&&"string"==typeof r.vert){if(0>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,v,g,s],");")}p&&"null"!==p?m?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(c+".drawElements("+[d,g,y,v+"<<(("+y+"-5121)>>1)"]+");")}function e(){r(c+".drawArrays("+[d,v,g]+");")}p&&"null"!==p?m?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,u=t.shared,c=u.gl,f=u.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a),h.elementsActive&&a("if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);")):(i=a.def(),a(i,"=",f,".","elements",";","if(",i,"){",c,".bindBuffer(",34963,",",i,".buffer.buffer);}","else if(",u.vao,".currentVAO){",i,"=",t.shared.elements+".getElements("+u.vao,".currentVAO.elements);",et?"":"if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);","}")),i}(),d=i("primitive"),v=i("offset"),g=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,".","count"),i}();if("number"==typeof g){if(0===g)return}else r("if(",g,"){"),r.exit("}");Q&&(s=i("instances"),l=t.instancing);var y=p+".type",m=h.elements&&j(h.elements)&&!h.vaoActive;Q&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),a(),r("}else if(",s,"<0){"),o(),r("}")):a():o()}function H(t,e,r,n,i){return i=(e=_()).proc("body",i),Q&&(e.instancing=i.def(e.shared.extensions,".angle_instanced_arrays")),t(e,i,r,n),e.compile().body}function q(t,e,r,n){O(t,e),r.useVAO?r.drawVAO?e(t.shared.vao,".setVAO(",r.drawVAO.append(t,e),");"):e(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(e(t.shared.vao,".setVAO(null);"),I(t,e,r,n.attributes,(function(){return!0}))),D(t,e,r,n.uniforms,(function(){return!0}),!1),z(t,e,e,r)}function Z(t,e,r,n){function i(){return!0}t.batchId="a1",O(t,e),I(t,e,r,n.attributes,i),D(t,e,r,n.uniforms,i,!1),z(t,e,e,r)}function Y(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}O(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&&S(t,c,r.context),r.needsFramebuffer&&E(t,c,r.framebuffer),C(t,c,r.state,i),r.profile&&i(r.profile)&&P(t,c,r,!1,!0),n?(r.useVAO?r.drawVAO?i(r.drawVAO)?c(t.shared.vao,".setVAO(",r.drawVAO.append(t,c),");"):u(t.shared.vao,".setVAO(",r.drawVAO.append(t,u),");"):u(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(u(t.shared.vao,".setVAO(null);"),I(t,u,r,n.attributes,a),I(t,c,r,n.attributes,i)),D(t,u,r,n.uniforms,a,!1),D(t,c,r,n.uniforms,i,!0),z(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 H(Z,t,r,e,2)})),"(",n,");}",u,".call(this,a0[",s,"],",s,");"))}function X(t,r){function n(e){var n=r.shader[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.shader,"."+e,n):i.set(a.shader,"."+e,t.link(n,{stable:!0})))}var i=t.proc("scope",3);t.batchId="a2";var a=t.shared,o=a.current;if(S(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),B(Object.keys(r.state)).forEach((function(e){var n=r.state[e],o=n.append(t,i);m(o)?o.forEach((function(r,n){isNaN(r)?i.set(t.next[e],"["+n+"]",r):i.set(t.next[e],"["+n+"]",t.link(r,{stable:!0}))})):j(n)?i.set(a.next,"."+e,t.link(o,{stable:!0})):i.set(a.next,"."+e,o)})),P(t,i,r,!0,!0),["elements","offset","count","instances","primitive"].forEach((function(e){var n=r.draw[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.draw,"."+e,n):i.set(a.draw,"."+e,t.link(n),{stable:!0}))})),Object.keys(r.uniforms).forEach((function(n){var o=r.uniforms[n].append(t,i);Array.isArray(o)&&(o="["+o.map((function(e){return isNaN(e)?e:t.link(e,{stable:!0})}))+"]"),i.set(a.uniforms,"["+t.link(e.id(n),{stable:!0})+"]",o)})),Object.keys(r.attributes).forEach((function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new K).forEach((function(t){i.set(a,"."+t,n[t])}))})),r.scopeVAO){var s=r.scopeVAO.append(t,i);isNaN(s)?i.set(a.vao,".targetVAO",s):i.set(a.vao,".targetVAO",t.link(s,{stable:!0}))}n("vert"),n("frag"),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=wt[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.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=wt[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(){Q(c).forEach(o)},restore:function(){Q(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)}}},kt=[];kt[6408]=4,kt[6407]=3;var At=[];At[5121]=1,At[5126]=4,At[36193]=2;var Mt=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],St=["x","y","z","w"],Et="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),Lt={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},Ct={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},Ot={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Pt={cw:2304,ccw:2305},It=new N(!1,!1,!1,(function(){}));return function(t){function e(){if(0===J.length)T&&T.update(),et=null;else{et=Y.next(e),f();for(var t=J.length-1;0<=t;--t){var r=J[t];r&&r(P,null,0)}d.flush(),T&&T.update()}}function r(){!et&&0=J.length&&n()}}}}function c(){var t=V.viewport,e=V.scissor_box;t[0]=t[1]=e[0]=e[1]=0,P.viewportWidth=P.framebufferWidth=P.drawingBufferWidth=t[2]=e[2]=d.drawingBufferWidth,P.viewportHeight=P.framebufferHeight=P.drawingBufferHeight=t[3]=e[3]=d.drawingBufferHeight}function f(){P.tick+=1,P.time=p(),c(),U.procs.poll()}function h(){B.refresh(),c(),U.procs.refresh(),T&&T.update()}function p(){return(X()-k)/1e3}if(!(t=a(t)))return null;var d=t.gl,y=d.getContextAttributes();d.isContextLost();var m=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;ie;++e)rt(G({framebuffer:t.framebuffer.faces[e]},t),l);else rt(t,l);else l(0,t)},prop:W.define.bind(null,1),context:W.define.bind(null,2),this:W.define.bind(null,3),draw:s({}),buffer:function(t){return D.create(t,34962,!1,!1)},elements:function(t){return z.create(t,!1)},texture:B.create2D,cube:B.createCube,renderbuffer:N.create,framebuffer:j.create,framebufferCube:j.createCube,vao:R.createVAO,attributes:y,frame:u,on:function(t,e){var r;switch(t){case"frame":return u(e);case"lost":r=$;break;case"restore":r=Q;break;case"destroy":r=tt}return r.push(e),{cancel:function(){for(var t=0;t2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),r("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,a,o,s,l;if("string"==typeof e&&(a="not ",e.substr(0,a.length)===a)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))o="The ".concat(t," ").concat(i," ").concat(n(e,"type"));else{var u=("number"!=typeof l&&(l=0),l+".".length>(s=t).length||-1===s.indexOf(".",l)?"argument":"property");o='The "'.concat(t,'" ').concat(u," ").concat(i," ").concat(n(e,"type"))}return o+". Received type ".concat(typeof r)}),TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.q=e},37865:function(t,e,r){"use strict";var n=r(90386),i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=c;var a=r(40410),o=r(37493);r(42018)(c,a);for(var s=i(o.prototype),l=0;l0)if("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===l.prototype||(e=function(t){return l.from(t)}(e)),n)s.endEmitted?w(t,new _):S(t,s,e,!0);else if(s.ended)w(t,new x);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?S(t,s,e,!1):P(t,s)):S(t,s,e,!1)}else n||(s.reading=!1,P(t,s));return!s.ended&&(s.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=E?t=E:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function C(t){var e=t._readableState;a("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(a("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(O,t))}function O(t){var e=t._readableState;a("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,F(t)}function P(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(I,t,e))}function I(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function z(t){a("readable nexttick read 0"),t.read(0)}function R(t,e){a("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),F(t),e.flowing&&!e.reading&&t.read(0)}function F(t){var e=t._readableState;for(a("flow",e.flowing);e.flowing&&null!==t.read(););}function B(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function N(t){var e=t._readableState;a("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(j,e,t))}function j(t,e){if(a("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function U(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return a("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?N(this):C(this),null;if(0===(t=L(t,e))&&e.ended)return 0===e.length&&N(this),null;var n,i=e.needReadable;return a("need readable",i),(0===e.length||e.length-t0?B(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&N(this)),null!==n&&this.emit("data",n),n},A.prototype._read=function(t){w(this,new b("_read()"))},A.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,a("pipe count=%d opts=%j",n.pipesCount,e);var s=e&&!1===e.end||t===i.stdout||t===i.stderr?v:l;function l(){a("onend"),t.end()}n.endEmitted?i.nextTick(s):r.once("end",s),t.on("unpipe",(function e(i,o){a("onunpipe"),i===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,a("cleanup"),t.removeListener("close",p),t.removeListener("finish",d),t.removeListener("drain",u),t.removeListener("error",h),t.removeListener("unpipe",e),r.removeListener("end",l),r.removeListener("end",v),r.removeListener("data",f),c=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||u())}));var u=function(t){return function(){var e=t._readableState;a("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,F(t))}}(r);t.on("drain",u);var c=!1;function f(e){a("ondata");var i=t.write(e);a("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==U(n.pipes,t))&&!c&&(a("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function h(e){a("onerror",e),v(),t.removeListener("error",h),0===o(t,"error")&&w(t,e)}function p(){t.removeListener("finish",d),v()}function d(){a("onfinish"),t.removeListener("close",p),v()}function v(){a("unpipe"),r.unpipe(t)}return r.on("data",f),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events.error?Array.isArray(t._events.error)?t._events.error.unshift(r):t._events.error=[r,t._events.error]:t.on(e,r)}(t,"error",h),t.once("close",p),t.once("finish",d),t.emit("pipe",r),n.flowing||(a("pipe resume"),r.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var a=0;a0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,a("on readable",n.length,n.reading),n.length?C(this):n.reading||i.nextTick(z,this))),r},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var r=s.prototype.removeListener.call(this,t,e);return"readable"===t&&i.nextTick(D,this),r},A.prototype.removeAllListeners=function(t){var e=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||i.nextTick(D,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(a("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(R,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return a("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(a("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(a("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){a("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new v("_write()"))},A.prototype._writev=null,A.prototype.end=function(t,e,r){var n=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,O(t,e),r&&(e.finished?i.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}(this,n,r),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=f.destroy,A.prototype._undestroy=f.undestroy,A.prototype._destroy=function(t,e){e(t)}},68221:function(t,e,r){"use strict";var n,i=r(90386);function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r(12726),s=Symbol("lastResolve"),l=Symbol("lastReject"),u=Symbol("error"),c=Symbol("ended"),f=Symbol("lastPromise"),h=Symbol("handlePromise"),p=Symbol("stream");function d(t,e){return{value:t,done:e}}function v(t){var e=t[s];if(null!==e){var r=t[p].read();null!==r&&(t[f]=null,t[s]=null,t[l]=null,e(d(r,!1)))}}function g(t){i.nextTick(v,t)}var y=Object.getPrototypeOf((function(){})),m=Object.setPrototypeOf((a(n={get stream(){return this[p]},next:function(){var t=this,e=this[u];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(d(void 0,!0));if(this[p].destroyed)return new Promise((function(e,r){i.nextTick((function(){t[u]?r(t[u]):e(d(void 0,!0))}))}));var r,n=this[f];if(n)r=new Promise(function(t,e){return function(r,n){t.then((function(){e[c]?r(d(void 0,!0)):e[h](r,n)}),n)}}(n,this));else{var a=this[p].read();if(null!==a)return Promise.resolve(d(a,!1));r=new Promise(this[h])}return this[f]=r,r}},Symbol.asyncIterator,(function(){return this})),a(n,"return",(function(){var t=this;return new Promise((function(e,r){t[p].destroy(null,(function(t){t?r(t):e(d(void 0,!0))}))}))})),n),y);t.exports=function(t){var e,r=Object.create(m,(a(e={},p,{value:t,writable:!0}),a(e,s,{value:null,writable:!0}),a(e,l,{value:null,writable:!0}),a(e,u,{value:null,writable:!0}),a(e,c,{value:t._readableState.endEmitted,writable:!0}),a(e,h,{value:function(t,e){var n=r[p].read();n?(r[f]=null,r[s]=null,r[l]=null,t(d(n,!1))):(r[s]=t,r[l]=e)},writable:!0}),e));return r[f]=null,o(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[l];return null!==e&&(r[f]=null,r[s]=null,r[l]=null,e(t)),void(r[u]=t)}var n=r[s];null!==n&&(r[f]=null,r[s]=null,r[l]=null,n(d(void 0,!0))),r[c]=!0})),t.on("readable",g.bind(null,r)),r}},31125:function(t,e,r){"use strict";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e,r,n,i=o.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=i,n=s,o.prototype.copy.call(e,r,n),s+=a.data.length,a=a.next;return i}},{key:"consume",value:function(t,e){var r;return ti.length?i.length:t;if(a===i.length?n+=i:n+=i.slice(0,t),0==(t-=a)){a===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,a=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,a),0==(t-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,e}},{key:l,value:function(t,e){return s(this,function(t){for(var e=1;e0,(function(t){n||(n=t),t&&o.forEach(u),a||(o.forEach(u),i(n))}))}));return e.reduce(c)}},56306:function(t,e,r){"use strict";var n=r(74322).q.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,r,i){var a=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new n(i?r:"highWaterMark",a);return Math.floor(a)}return t.objectMode?16:16384}}},71405:function(t,e,r){t.exports=r(15398).EventEmitter},68019:function(t,e,r){"use strict";var n=r(71665).Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=l,this.end=u,e=4;break;case"utf8":this.fillLast=s,e=4;break;case"base64":this.text=c,this.end=f,e=3;break;default:return this.write=h,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function c(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function f(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function h(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}e.s=a,a.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(i>0&&(t.lastNeed=i-1),i):--n=0?(i>0&&(t.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},90715:function(t,e,r){var n=r(32791),i=r(41633)("stream-parser");function a(t){i("initializing parser stream"),t._parserBytesLeft=0,t._parserBuffers=[],t._parserBuffered=0,t._parserState=-1,t._parserCallback=null,"function"==typeof t.push&&(t._parserOutput=t.push.bind(t)),t._parserInit=!0}function o(t,e){n(!this._parserCallback,'there is already a "callback" set!'),n(isFinite(t)&&t>0,'can only buffer a finite number of bytes > 0, got "'+t+'"'),this._parserInit||a(this),i("buffering %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=0}function s(t,e){n(!this._parserCallback,'there is already a "callback" set!'),n(t>0,'can only skip > 0 bytes, got "'+t+'"'),this._parserInit||a(this),i("skipping %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=1}function l(t,e){n(!this._parserCallback,'There is already a "callback" set!'),n(t>0,'can only pass through > 0 bytes, got "'+t+'"'),this._parserInit||a(this),i("passing through %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=2}function u(t,e,r){this._parserInit||a(this),i("write(%o bytes)",t.length),"function"==typeof e&&(r=e),h(this,t,null,r)}function c(t,e,r){this._parserInit||a(this),i("transform(%o bytes)",t.length),"function"!=typeof e&&(e=this._parserOutput),h(this,t,e,r)}function f(t,e,r,n){if(t._parserBytesLeft-=e.length,i("%o bytes left for stream piece",t._parserBytesLeft),0===t._parserState?(t._parserBuffers.push(e),t._parserBuffered+=e.length):2===t._parserState&&r(e),0!==t._parserBytesLeft)return n;var a=t._parserCallback;if(a&&0===t._parserState&&t._parserBuffers.length>1&&(e=Buffer.concat(t._parserBuffers,t._parserBuffered)),0!==t._parserState&&(e=null),t._parserCallback=null,t._parserBuffered=0,t._parserState=-1,t._parserBuffers.splice(0),a){var o=[];e&&o.push(e),r&&o.push(r);var s=a.length>o.length;s&&o.push(p(n));var l=a.apply(t,o);if(!s||n===l)return n}}t.exports=function(t){var e=t&&"function"==typeof t._transform,r=t&&"function"==typeof t._write;if(!e&&!r)throw new Error("must pass a Writable or Transform stream in");i("extending Parser into stream"),t._bytes=o,t._skipBytes=s,e&&(t._passthrough=l),e?t._transform=c:t._write=u};var h=p((function t(e,r,n,i){return e._parserBytesLeft<=0?i(new Error("got data but not currently parsing anything")):r.length<=e._parserBytesLeft?function(){return f(e,r,n,i)}:function(){var a=r.slice(0,e._parserBytesLeft);return f(e,a,n,(function(o){return o?i(o):r.length>a.length?function(){return t(e,r.slice(a.length),n,i)}:void 0}))}}));function p(t){return function(){for(var e=t.apply(this,arguments);"function"==typeof e;)e=e();return e}}},41633:function(t,e,r){var n=r(90386);function i(){var t;try{t=e.storage.debug}catch(t){}return!t&&void 0!==n&&"env"in n&&(t=n.env.DEBUG),t}(e=t.exports=r(74469)).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},e.formatArgs=function(t){var r=this.useColors;if(t[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+t[0]+(r?"%c ":" ")+"+"+e.humanize(this.diff),r){var n="color: "+this.color;t.splice(1,0,n,"color: inherit");var i=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(function(t){"%%"!==t&&(i++,"%c"===t&&(a=i))})),t.splice(a,0,n)}},e.save=function(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(t){}},e.load=i,e.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type)||"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},e.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(i())},74469:function(t,e,r){var n;function i(t){function r(){if(r.enabled){var t=r,i=+new Date,a=i-(n||i);t.diff=a,t.prev=n,t.curr=i,n=i;for(var o=new Array(arguments.length),s=0;s0)return function(t){if(!((t=String(t)).length>100)){var a=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(a){var o=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"days":case"day":case"d":return o*i;case"hours":case"hour":case"hrs":case"hr":case"h":return o*n;case"minutes":case"minute":case"mins":case"min":case"m":return o*r;case"seconds":case"second":case"secs":case"sec":case"s":return o*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(t);if("number"===l&&!1===isNaN(t))return o.long?a(s=t,i,"day")||a(s,n,"hour")||a(s,r,"minute")||a(s,e,"second")||s+" ms":function(t){return t>=i?Math.round(t/i)+"d":t>=n?Math.round(t/n)+"h":t>=r?Math.round(t/r)+"m":t>=e?Math.round(t/e)+"s":t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},99011:function(t,e,r){"use strict";var n=r(88641);t.exports=function(t,e,r){if(null==t)throw Error("First argument should be a string");if(null==e)throw Error("Separator should be a string or a RegExp");r?("string"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=["[]","()","{}","<>",'""',"''","``","“”","«»"]:("string"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(t){return 1===t.length&&(t+=t),t})));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s0;){e=u[u.length-1];var p=t[e];if(a[e]=0&&s[e].push(o[v])}a[e]=d}else{if(n[e]===r[e]){var g=[],y=[],m=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,g.push(x),y.push(s[x]),m+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(g);var b=new Array(m);for(d=0;d1&&(i=1),i<-1&&(i=-1),(t*n-e*r<0?-1:1)*Math.acos(i)};e.default=function(t){var e=t.px,r=t.py,s=t.cx,l=t.cy,u=t.rx,c=t.ry,f=t.xAxisRotation,h=void 0===f?0:f,p=t.largeArcFlag,d=void 0===p?0:p,v=t.sweepFlag,g=void 0===v?0:v,y=[];if(0===u||0===c)return[];var m=Math.sin(h*n/360),x=Math.cos(h*n/360),b=x*(e-s)/2+m*(r-l)/2,_=-m*(e-s)/2+x*(r-l)/2;if(0===b&&0===_)return[];u=Math.abs(u),c=Math.abs(c);var w=Math.pow(b,2)/Math.pow(u,2)+Math.pow(_,2)/Math.pow(c,2);w>1&&(u*=Math.sqrt(w),c*=Math.sqrt(w));var T=function(t,e,r,i,a,s,l,u,c,f,h,p){var d=Math.pow(a,2),v=Math.pow(s,2),g=Math.pow(h,2),y=Math.pow(p,2),m=d*v-d*y-v*g;m<0&&(m=0),m/=d*y+v*g;var x=(m=Math.sqrt(m)*(l===u?-1:1))*a/s*p,b=m*-s/a*h,_=f*x-c*b+(t+r)/2,w=c*x+f*b+(e+i)/2,T=(h-x)/a,k=(p-b)/s,A=(-h-x)/a,M=(-p-b)/s,S=o(1,0,T,k),E=o(T,k,A,M);return 0===u&&E>0&&(E-=n),1===u&&E<0&&(E+=n),[_,w,S,E]}(e,r,s,l,u,c,d,g,m,x,b,_),k=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")}(T,4),A=k[0],M=k[1],S=k[2],E=k[3],L=Math.abs(E)/(n/4);Math.abs(1-L)<1e-7&&(L=1);var C=Math.max(Math.ceil(L),1);E/=C;for(var O=0;Oe[2]&&(e[2]=u[c+0]),u[c+1]>e[3]&&(e[3]=u[c+1]);return e}},29988:function(t,e,r){"use strict";t.exports=function(t){for(var e,r=[],o=0,s=0,l=0,u=0,c=null,f=null,h=0,p=0,d=0,v=t.length;d4?(o=g[g.length-4],s=g[g.length-3]):(o=h,s=p),r.push(g)}return r};var n=r(7095);function i(t,e,r,n){return["C",t,e,r,n,r,n]}function a(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]}},82019:function(t,e,r){"use strict";var n,i=r(1750),a=r(95616),o=r(31457),s=r(89546),l=r(44781),u=document.createElement("canvas"),c=u.getContext("2d");t.exports=function(t,e){if(!s(t))throw Error("Argument should be valid svg path string");var r,f;e||(e={}),e.shape?(r=e.shape[0],f=e.shape[1]):(r=u.width=e.w||e.width||200,f=u.height=e.h||e.height||200);var h=Math.min(r,f),p=e.stroke||0,d=e.viewbox||e.viewBox||i(t),v=[r/(d[2]-d[0]),f/(d[3]-d[1])],g=Math.min(v[0]||0,v[1]||0)/2;if(c.fillStyle="black",c.fillRect(0,0,r,f),c.fillStyle="white",p&&("number"!=typeof p&&(p=1),c.strokeStyle=p>0?"white":"black",c.lineWidth=Math.abs(p)),c.translate(.5*r,.5*f),c.scale(g,g),function(){if(null!=n)return n;var t=document.createElement("canvas").getContext("2d");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D("M0,0h1v1h-1v-1Z");t.fillStyle="black",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var y=new Path2D(t);c.fill(y),p&&c.stroke(y)}else{var m=a(t);o(c,m),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),l(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}},84267:function(t,e,r){var n;!function(i){var a=/^\s+/,o=/\s+$/,s=0,l=i.round,u=i.min,c=i.max,f=i.random;function h(t,e){if(e=e||{},(t=t||"")instanceof h)return t;if(!(this instanceof h))return new h(t,e);var r=function(t){var e,r,n,s={r:0,g:0,b:0},l=1,f=null,h=null,p=null,d=!1,v=!1;return"string"==typeof t&&(t=function(t){t=t.replace(a,"").replace(o,"").toLowerCase();var e,r=!1;if(C[t])t=C[t],r=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};return(e=H.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=H.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=H.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=H.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=H.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=H.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=H.hex8.exec(t))?{r:z(e[1]),g:z(e[2]),b:z(e[3]),a:N(e[4]),format:r?"name":"hex8"}:(e=H.hex6.exec(t))?{r:z(e[1]),g:z(e[2]),b:z(e[3]),format:r?"name":"hex"}:(e=H.hex4.exec(t))?{r:z(e[1]+""+e[1]),g:z(e[2]+""+e[2]),b:z(e[3]+""+e[3]),a:N(e[4]+""+e[4]),format:r?"name":"hex8"}:!!(e=H.hex3.exec(t))&&{r:z(e[1]+""+e[1]),g:z(e[2]+""+e[2]),b:z(e[3]+""+e[3]),format:r?"name":"hex"}}(t)),"object"==typeof t&&(q(t.r)&&q(t.g)&&q(t.b)?(e=t.r,r=t.g,n=t.b,s={r:255*I(e,255),g:255*I(r,255),b:255*I(n,255)},d=!0,v="%"===String(t.r).substr(-1)?"prgb":"rgb"):q(t.h)&&q(t.s)&&q(t.v)?(f=F(t.s),h=F(t.v),s=function(t,e,r){t=6*I(t,360),e=I(e,100),r=I(r,100);var n=i.floor(t),a=t-n,o=r*(1-e),s=r*(1-a*e),l=r*(1-(1-a)*e),u=n%6;return{r:255*[r,s,o,o,l,r][u],g:255*[l,r,r,s,o,o][u],b:255*[o,o,l,r,r,s][u]}}(t.h,f,h),d=!0,v="hsv"):q(t.h)&&q(t.s)&&q(t.l)&&(f=F(t.s),p=F(t.l),s=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=I(t,360),e=I(e,100),r=I(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}}(t.h,f,p),d=!0,v="hsl"),t.hasOwnProperty("a")&&(l=t.a)),l=P(l),{ok:d,format:t.format||v,r:u(255,c(s.r,0)),g:u(255,c(s.g,0)),b:u(255,c(s.b,0)),a:l}}(t);this._originalInput=t,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=l(100*this._a)/100,this._format=e.format||r.format,this._gradientType=e.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=r.ok,this._tc_id=s++}function p(t,e,r){t=I(t,255),e=I(e,255),r=I(r,255);var n,i,a=c(t,e,r),o=u(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s>.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(h(n));return a}function L(t,e){e=e||6;for(var r=h(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(h({h:n,s:i,v:a})),a=(a+s)%1;return o}h.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,r,n=this.toRgb();return t=n.r/255,e=n.g/255,r=n.b/255,.2126*(t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:i.pow((r+.055)/1.055,2.4))},setAlpha:function(t){return this._a=P(t),this._roundA=l(100*this._a)/100,this},toHsv:function(){var t=d(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=d(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=p(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=p(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return v(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var a=[R(l(t).toString(16)),R(l(e).toString(16)),R(l(r).toString(16)),R(B(n))];return i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+l(this._r)+", "+l(this._g)+", "+l(this._b)+")":"rgba("+l(this._r)+", "+l(this._g)+", "+l(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:l(100*I(this._r,255))+"%",g:l(100*I(this._g,255))+"%",b:l(100*I(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+l(100*I(this._r,255))+"%, "+l(100*I(this._g,255))+"%, "+l(100*I(this._b,255))+"%)":"rgba("+l(100*I(this._r,255))+"%, "+l(100*I(this._g,255))+"%, "+l(100*I(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(O[v(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+g(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var i=h(t);r="#"+g(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 h(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(b,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(w,arguments)},desaturate:function(){return this._applyModification(y,arguments)},saturate:function(){return this._applyModification(m,arguments)},greyscale:function(){return this._applyModification(x,arguments)},spin:function(){return this._applyModification(T,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(E,arguments)},complement:function(){return this._applyCombination(k,arguments)},monochromatic:function(){return this._applyCombination(L,arguments)},splitcomplement:function(){return this._applyCombination(S,arguments)},triad:function(){return this._applyCombination(A,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},h.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:F(t[n]));t=r}return h(t,e)},h.equals=function(t,e){return!(!t||!e)&&h(t).toRgbString()==h(e).toRgbString()},h.random=function(){return h.fromRatio({r:f(),g:f(),b:f()})},h.mix=function(t,e,r){r=0===r?0:r||50;var n=h(t).toRgb(),i=h(e).toRgb(),a=r/100;return h({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})},h.readability=function(t,e){var r=h(t),n=h(e);return(i.max(r.getLuminance(),n.getLuminance())+.05)/(i.min(r.getLuminance(),n.getLuminance())+.05)},h.isReadable=function(t,e,r){var n,i,a,o,s,l=h.readability(t,e);switch(i=!1,(a=r,o=((a=a||{level:"AA",size:"small"}).level||"AA").toUpperCase(),s=(a.size||"small").toLowerCase(),"AA"!==o&&"AAA"!==o&&(o="AA"),"small"!==s&&"large"!==s&&(s="small"),n={level:o,size:s}).level+n.size){case"AAsmall":case"AAAlarge":i=l>=4.5;break;case"AAlarge":i=l>=3;break;case"AAAsmall":i=l>=7}return i},h.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 u=0;ul&&(l=n,s=h(e[u]));return h.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,h.mostReadable(t,["#fff","#000"],r))};var C=h.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"},O=h.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(C);function P(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function I(t,e){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var r=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(t);return t=u(e,c(0,parseFloat(t))),r&&(t=parseInt(t*e,10)/100),i.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function D(t){return u(1,c(0,t))}function z(t){return parseInt(t,16)}function R(t){return 1==t.length?"0"+t:""+t}function F(t){return t<=1&&(t=100*t+"%"),t}function B(t){return i.round(255*parseFloat(t)).toString(16)}function N(t){return z(t)/255}var j,U,V,H=(U="[\\s|\\(]+("+(j="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",V="[\\s|\\(]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",{CSS_UNIT:new RegExp(j),rgb:new RegExp("rgb"+U),rgba:new RegExp("rgba"+V),hsl:new RegExp("hsl"+U),hsla:new RegExp("hsla"+V),hsv:new RegExp("hsv"+U),hsva:new RegExp("hsva"+V),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 q(t){return!!H.CSS_UNIT.exec(t)}t.exports?t.exports=h:void 0===(n=function(){return h}.call(e,r,e,t))||(t.exports=n)}(Math)},57060:function(t){"use strict";t.exports=r,t.exports.float32=t.exports.float=r,t.exports.fract32=t.exports.fract=function(t,e){if(t.length){if(t instanceof Float32Array)return new Float32Array(t.length);e instanceof Float32Array||(e=r(t));for(var n=0,i=e.length;n":(e.length>100&&(e=e.slice(0,99)+"…"),e=e.replace(i,(function(t){switch(t){case"\n":return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}})))}},47403:function(t,e,r){"use strict";var n=r(24582),i={object:!0,function:!0,undefined:!0};t.exports=function(t){return!!n(t)&&hasOwnProperty.call(i,typeof t)}},82527:function(t,e,r){"use strict";var n=r(69190),i=r(84985);t.exports=function(t){return i(t)?t:n(t,"%v is not a plain function",arguments[1])}},84985:function(t,e,r){"use strict";var n=r(73116),i=/^\s*class[\s{/}]/,a=Function.prototype.toString;t.exports=function(t){return!!n(t)&&!i.test(a.call(t))}},24511:function(t,e,r){"use strict";var n=r(47403);t.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},9234:function(t,e,r){"use strict";var n=r(24582),i=r(47403),a=Object.prototype.toString;t.exports=function(t){if(!n(t))return null;if(i(t)){var e=t.toString;if("function"!=typeof e)return null;if(e===a)return null}try{return""+t}catch(t){return null}}},10424:function(t,e,r){"use strict";var n=r(69190),i=r(24582);t.exports=function(t){return i(t)?t:n(t,"Cannot use %v",arguments[1])}},24582:function(t){"use strict";t.exports=function(t){return null!=t}},58404:function(t,e,r){"use strict";var n=r(13547),i=r(12129),a=r(12856).Buffer;r.g.__TYPEDARRAY_POOL||(r.g.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s="undefined"!=typeof BigUint64Array,l="undefined"!=typeof BigInt64Array,u=r.g.__TYPEDARRAY_POOL;u.UINT8C||(u.UINT8C=i([32,0])),u.BIGUINT64||(u.BIGUINT64=i([32,0])),u.BIGINT64||(u.BIGINT64=i([32,0])),u.BUFFER||(u.BUFFER=i([32,0]));var c=u.DATA,f=u.BUFFER;function h(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);c[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=c[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return v(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return m(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},90448:function(t){var e=/[\'\"]/;t.exports=function(t){return t?(e.test(t.charAt(0))&&(t=t.substr(1)),e.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}},93447:function(t){"use strict";t.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n=i)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}})),s=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(r)?n.showHidden=r:r&&e._extend(n,r),b(n.showHidden)&&(n.showHidden=!1),b(n.depth)&&(n.depth=2),b(n.colors)&&(n.colors=!1),b(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=c),h(n,t,n.depth)}function c(t,e){var r=u.styles[e];return r?"["+u.colors[r][0]+"m"+t+"["+u.colors[r][1]+"m":t}function f(t,e){return t}function h(t,r,n){if(t.customInspect&&r&&A(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return x(i)||(i=h(t,i,n)),i}var a=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(x(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}return m(e)?t.stylize(""+e,"number"):g(e)?t.stylize(""+e,"boolean"):y(e)?t.stylize("null","null"):void 0}(t,r);if(a)return a;var o=Object.keys(r),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),k(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return p(r);if(0===o.length){if(A(r)){var l=r.name?": "+r.name:"";return t.stylize("[Function"+l+"]","special")}if(_(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(T(r))return t.stylize(Date.prototype.toString.call(r),"date");if(k(r))return p(r)}var u,c="",f=!1,w=["{","}"];return v(r)&&(f=!0,w=["[","]"]),A(r)&&(c=" [Function"+(r.name?": "+r.name:"")+"]"),_(r)&&(c=" "+RegExp.prototype.toString.call(r)),T(r)&&(c=" "+Date.prototype.toUTCString.call(r)),k(r)&&(c=" "+p(r)),0!==o.length||f&&0!=r.length?n<0?_(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=f?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o60?r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}(u,c,w)):w[0]+c+w[1]}function p(t){return"["+Error.prototype.toString.call(t)+"]"}function d(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),C(n,i)||(o="["+i+"]"),s||(t.seen.indexOf(l.value)<0?(s=y(r)?h(t,l.value,null):h(t,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(t){return" "+t})).join("\n").slice(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),b(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function v(t){return Array.isArray(t)}function g(t){return"boolean"==typeof t}function y(t){return null===t}function m(t){return"number"==typeof t}function x(t){return"string"==typeof t}function b(t){return void 0===t}function _(t){return w(t)&&"[object RegExp]"===M(t)}function w(t){return"object"==typeof t&&null!==t}function T(t){return w(t)&&"[object Date]"===M(t)}function k(t){return w(t)&&("[object Error]"===M(t)||t instanceof Error)}function A(t){return"function"==typeof t}function M(t){return Object.prototype.toString.call(t)}function S(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!o[t])if(s.test(t)){var r=n.pid;o[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else o[t]=function(){};return o[t]},e.inspect=u,u.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]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=r(4936),e.isArray=v,e.isBoolean=g,e.isNull=y,e.isNullOrUndefined=function(t){return null==t},e.isNumber=m,e.isString=x,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=b,e.isRegExp=_,e.types.isRegExp=_,e.isObject=w,e.isDate=T,e.types.isDate=T,e.isError=k,e.types.isNativeError=k,e.isFunction=A,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(45920);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function L(){var t=new Date,e=[S(t.getHours()),S(t.getMinutes()),S(t.getSeconds())].join(":");return[t.getDate(),E[t.getMonth()],e].join(" ")}function C(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",L(),e.format.apply(e,arguments))},e.inherits=r(42018),e._extend=function(t,e){if(!e||!w(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t};var O="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function P(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(O&&t[O]){var e;if("function"!=typeof(e=t[O]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,O,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,n=new Promise((function(t,n){e=t,r=n})),i=[],a=0;a2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!r&&e<=i?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 n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e>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 i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,u=s>>5&15,c=31&s;(i=a.newDate(l,u,c)).add(4-(i.dayOfWeek()||7),"d");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/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=f[t-f[0]];if(e>(r>>13?12:11))throw n.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 i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if("object"==typeof t)o=t,a=e||{};else{var l;if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Lunar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Lunar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=30))throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(l=!1,a=n):(l=!!n,a={}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var u,c=f[o.year-f[0]],p=c>>13;u=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d>9&4095,(v>>5&15)-1,(31&v)+s);return a.year=g.getFullYear(),a.month=1+g.getMonth(),a.day=g.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if("object"==typeof t)i=t,a=e||{};else{if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Solar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Solar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=31))throw new Error("Solar day outside range 1 - 31");i={year:t,month:e,day:r},a={}}var o=h[i.year-h[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=h[a.year-h[0]];var l,u=new Date(o>>9&4095,(o>>5&15)-1,31&o),c=new Date(i.year,i.month-1,i.day);l=Math.round((c-u)/864e5);var p,d=f[a.year-f[0]];for(p=0;p<13;p++){var v=d&1<<12-p?30:29;if(l>13;return!g||p=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||""}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=a},37715:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.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,n.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,n.local.invalidYear||n.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,n.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 i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.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)}}),n.calendars.ethiopian=a},99384:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.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,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.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,n.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,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(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 i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=tthis.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},43805:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.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īs","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,n.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,n.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 i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+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)}}),n.calendars.islamic=a},88874:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.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,n.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,n.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 i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.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)}}),n.calendars.julian=a},83290:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.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,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.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;r19||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,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o(8+(t-=this.jdEpoch)+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s(20+(t-=this.jdEpoch),20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.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)}}),n.calendars.mayan=a},29108:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar;var o=n.instance("gregorian");i(a.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,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.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 i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s=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)}}),n.calendars.nanakshahi=a},55422:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.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,n.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,n.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 i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var u=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(u)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(u,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r0?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,n.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 i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/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=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var u=t-this.toJD(l,1,1)+1,c=u<=186?Math.ceil(u/31):Math.ceil((u-6)/30),f=t-this.toJD(l,c,1)+1;return this.newDate(l,c,f)}}),n.calendars.persian=a,n.calendars.jalali=a},31320:function(t,e,r){var n=r(63489),i=r(56131),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.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,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.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 i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.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)}}),n.calendars.taiwan=o},51367:function(t,e,r){var n=r(63489),i=r(56131),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.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,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.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 i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.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)}}),n.calendars.thai=o},21457:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.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āthā’","Yawm al-Arba‘ā’","Yawm al-Khamīs","Yawm al-Jum‘a","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,n.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,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;ar)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,u=e-o[r-1]+1;return this.newDate(s,l,u)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},63489:function(t,e,r){var n=r(56131);function i(){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 a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(i.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]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(u.local.differentCalendars||u.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);i=t.day(),"y"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):"m"===r&&(function(t){for(;oe-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),i="m"===r?e:t.month(),a="d"===r?e:t.day();return"y"!==r&&"m"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var u=t.exports=new i;u.cdate=a,u.baseCalendar=s,u.calendars.gregorian=l},94338:function(t,e,r){var n=r(56131),i=r(63489);n(i.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),i.local=i.regionalOptions[""],n(i.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,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,f=r.monthNames||this.local.monthNames,h=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;_+n1}),p=function(t,e,r,n){var i=""+e;if(h(t,n))for(;i.length1},x=function(t,r){var n=m(t,r),a=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+a+"}"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){m("m");var t=l.call(b,e.substring(A));return A+=t.length,t}return x("m")},w=function(t,r,n,a){for(var o=m(t,a)?n:r,s=0;s-1){p=1,d=v;for(var E=this.daysInMonth(h,p);d>E;E=this.daysInMonth(h,p))p++,d-=E}return f>-1?this.fromJD(f):this.newDate(h,p,d)},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,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)}})},69862:function(){},40964:function(){},72077:function(t,e,r){"use strict";var n=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],i="undefined"==typeof globalThis?r.g:globalThis;t.exports=function(){for(var t=[],e=0;e>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?T(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?T(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=h.exec(t))?new M(e[1],e[2],e[3],1):(e=p.exec(t))?new M(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=d.exec(t))?T(e[1],e[2],e[3],e[4]):(e=v.exec(t))?T(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=g.exec(t))?P(e[1],e[2]/100,e[3]/100,1):(e=y.exec(t))?P(e[1],e[2]/100,e[3]/100,e[4]):m.hasOwnProperty(t)?w(m[t]):"transparent"===t?new M(NaN,NaN,NaN,0):null}function w(t){return new M(t>>16&255,t>>8&255,255&t,1)}function T(t,e,r,n){return n<=0&&(t=e=r=NaN),new M(t,e,r,n)}function k(t){return t instanceof a||(t=_(t)),t?new M((t=t.rgb()).r,t.g,t.b,t.opacity):new M}function A(t,e,r,n){return 1===arguments.length?k(t):new M(t,e,r,null==n?1:n)}function M(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function S(){return"#".concat(O(this.r)).concat(O(this.g)).concat(O(this.b))}function E(){var t=L(this.opacity);return"".concat(1===t?"rgb(":"rgba(").concat(C(this.r),", ").concat(C(this.g),", ").concat(C(this.b)).concat(1===t?")":", ".concat(t,")"))}function L(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function C(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function O(t){return((t=C(t))<16?"0":"")+t.toString(16)}function P(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new D(t,e,r,n)}function I(t){if(t instanceof D)return new D(t.h,t.s,t.l,t.opacity);if(t instanceof a||(t=_(t)),!t)return new D;if(t instanceof D)return t;var e=(t=t.rgb()).r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,l=o-i,u=(o+i)/2;return l?(s=e===o?(r-n)/l+6*(r0&&u<1?0:s,new D(s,l,u,t.opacity)}function D(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function z(t){return(t=(t||0)%360)<0?t+360:t}function R(t){return Math.max(0,Math.min(1,t||0))}function F(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}function B(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}n(a,_,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return I(this).formatHsl()},formatRgb:b,toString:b}),n(M,A,i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new M(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new M(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},clamp:function(){return new M(C(this.r),C(this.g),C(this.b),L(this.opacity))},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:S,formatHex:S,formatHex8:function(){return"#".concat(O(this.r)).concat(O(this.g)).concat(O(this.b)).concat(O(255*(isNaN(this.opacity)?1:this.opacity)))},formatRgb:E,toString:E})),n(D,(function(t,e,r,n){return 1===arguments.length?I(t):new D(t,e,r,null==n?1:n)}),i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new D(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new D(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 M(F(t>=240?t-240:t+120,i,n),F(t,i,n),F(t<120?t+240:t-120,i,n),this.opacity)},clamp:function(){return new D(z(this.h),R(this.s),R(this.l),L(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},formatHsl:function(){var t=L(this.opacity);return"".concat(1===t?"hsl(":"hsla(").concat(z(this.h),", ").concat(100*R(this.s),"%, ").concat(100*R(this.l),"%").concat(1===t?")":", ".concat(t,")"))}}));var N=function(t){return function(){return t}};function j(t,e){var r=e-t;return r?function(t,e){return function(r){return t+r*e}}(t,r):N(isNaN(t)?e:t)}var U=function t(e){var r=function(t){return 1==(t=+t)?j: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):N(isNaN(e)?r:e)}}(e);function n(t,e){var n=r((t=A(t)).r,(e=A(e)).r),i=r(t.g,e.g),a=r(t.b,e.b),o=j(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return n.gamma=t,n}(1);function V(t){return function(e){var r,n,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(r=0;r=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],o=n>0?t[n-1]:2*i-a,s=na&&(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:G(r,n)})),a=X.lastIndex;return a{"use strict";e.exports=t},147:t=>{"use strict";t.exports=JSON.parse('{"name":"jupyterlab-plotly","version":"5.17.0","description":"The plotly Jupyter extension","author":"The plotly.py team","license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"https://github.com/plotly/plotly.py"},"keywords":["jupyter","widgets","ipython","ipywidgets","plotly"],"files":["lib/**/*.js","dist/*.js","style/*.*"],"scripts":{"build:dev":"npm run build:lib && npm run build:nbextension && npm run build:labextension:dev","build:prod":"npm run build:lib && npm run build:nbextension && npm run build:labextension","build:labextension":"jupyter labextension build .","build:labextension:dev":"jupyter labextension build --development True .","build:lib":"tsc","build:nbextension":"webpack --mode=production","clean":"npm run clean:lib && npm run clean:nbextension && npm run clean:labextension","clean:lib":"rimraf lib","clean:labextension":"rimraf ../../python/plotly/jupyterlab_plotly/labextension","clean:nbextension":"rimraf ../../python/plotly/jupyterlab_plotly/nbextension/index.js*","lint":"eslint . --ext .ts,.tsx --fix","lint:check":"eslint . --ext .ts,.tsx","prepack":"npm run build:lib","test":"echo \\"Error: no test specified\\" && exit 1","watch":"npm-run-all -p watch:*","watch:lib":"tsc -w","watch:nbextension":"webpack --watch"},"devDependencies":{"@jupyterlab/builder":"^3.0.0","@lumino/application":"^1.6.0","@types/plotly.js":"^1.54.10","@types/webpack-env":"^1.13.6","acorn":"^7.2.0","css-loader":"^5.2.6","fs-extra":"^7.0.0","mkdirp":"^0.5.1","npm-run-all":"^4.1.3","prettier":"^2.0.5","rimraf":"^2.6.2","source-map-loader":"^1.1.3","style-loader":"^1.0.0","ts-loader":"^8.0.0","typescript":"~4.1.3","webpack":"^5.0.0","webpack-cli":"^4.0.0"},"dependencies":{"@jupyter-widgets/base":">=2.0.0 <7.0.0","@jupyterlab/rendermime-interfaces":"^1.3.0 || ^2.0.0 || ^3.0.0","@lumino/messaging":"^1.2.3","@lumino/widgets":"^1.8.1","lodash":"^4.17.4","plotly.js":"^2.26.0"},"jupyterlab":{"extension":"lib/jupyterlab-plugin","mimeExtension":"lib/plotly-renderer","outputDir":"../../python/plotly/jupyterlab_plotly/labextension","sharedPackages":{"@jupyter-widgets/base":{"bundled":false,"singleton":true}}}}')}},r={};function n(t){var i=r[t];if(void 0!==i)return i.exports;var a=r[t]={id:t,loaded:!1,exports:{}};return e[t].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var i={};return(()=>{"use strict";n.r(i),n.d(i,{FigureModel:()=>f,FigureView:()=>h,MODULE_NAME:()=>u,MODULE_VERSION:()=>l});var t=n(146),e=n(486),r=n.n(e),a=n(478),o=n.n(a);const s=n(147),l=s.version,u=s.name;window.PlotlyConfig={MathJaxConfig:"local"};const c="^"+l;class f extends t.DOMWidgetModel{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:f.model_name,_model_module:f.model_module,_model_module_version:f.model_module_version,_view_name:f.view_name,_view_module:f.view_module,_view_module_version:f.view_module_version,_data:[],_layout:{},_config:{},_py2js_addTraces:null,_py2js_deleteTraces:null,_py2js_moveTraces:null,_py2js_restyle:null,_py2js_relayout:null,_py2js_update:null,_py2js_animate:null,_py2js_removeLayoutProps:null,_py2js_removeTraceProps:null,_js2py_restyle:null,_js2py_relayout:null,_js2py_update:null,_js2py_layoutDelta:null,_js2py_traceDeltas:null,_js2py_pointsCallback:null,_last_layout_edit_id:0,_last_trace_edit_id:0})}initialize(){super.initialize.apply(this,arguments),this.on("change:_data",this.do_data,this),this.on("change:_layout",this.do_layout,this),this.on("change:_py2js_addTraces",this.do_addTraces,this),this.on("change:_py2js_deleteTraces",this.do_deleteTraces,this),this.on("change:_py2js_moveTraces",this.do_moveTraces,this),this.on("change:_py2js_restyle",this.do_restyle,this),this.on("change:_py2js_relayout",this.do_relayout,this),this.on("change:_py2js_update",this.do_update,this),this.on("change:_py2js_animate",this.do_animate,this),this.on("change:_py2js_removeLayoutProps",this.do_removeLayoutProps,this),this.on("change:_py2js_removeTraceProps",this.do_removeTraceProps,this)}_normalize_trace_indexes(t){if(null==t){var e=this.get("_data").length;t=r().range(e)}return Array.isArray(t)||(t=[t]),t}do_data(){}do_layout(){}do_addTraces(){var t=this.get("_py2js_addTraces");if(null!==t){var e=this.get("_data"),n=t.trace_data;r().forEach(n,(function(t){e.push(t)}))}}do_deleteTraces(){var t=this.get("_py2js_deleteTraces");if(null!==t){var e=t.delete_inds,r=this.get("_data");e.slice().reverse().forEach((function(t){r.splice(t,1)}))}}do_moveTraces(){var t=this.get("_py2js_moveTraces");null!==t&&function(t,e,n){for(var i=[],a=e.length-1;a>=0;a--)i.splice(0,0,t[e[a]]),t.splice(e[a],1);var o=r()(n).zip(i).sortBy(0).unzip().value();n=o[0],i=o[1];for(var s=0;s{this.autosizeFigure()},window.addEventListener("resize",this.resizeEventListener);break;case"after-attach":this.perform_render();break;case"after-show":case"resize":this.autosizeFigure()}}processPhosphorMessage(t){this._processLuminoMessage(t,super.processPhosphorMessage)}processLuminoMessage(t){this._processLuminoMessage(t,super.processLuminoMessage)}autosizeFigure(){var t=this,e=t.model.get("_layout");(r().isNil(e)||r().isNil(e.width))&&o().Plots.resize(t.el).then((function(){var e=t.model.get("_last_layout_edit_id");t._sendLayoutDelta(e)}))}remove(){super.remove(),o().purge(this.el),window.removeEventListener("resize",this.resizeEventListener)}getFullData(){return r().mergeWith({},this.el._fullData,this.el.data,g)}getFullLayout(){return r().mergeWith({},this.el._fullLayout,this.el.layout,g)}buildPointsObject(t){var e;if(t.hasOwnProperty("points")){var r=t.points,n=r.length,i=!0;for(let t=0;t0&&"object"==typeof a[0]){n[i]=new Array(a.length);for(var o=0;o0&&(n[i]=s)}else"object"!=typeof a||Array.isArray(a)?void 0!==a&&"function"!=typeof a&&(n[i]=a):n[i]=b(a,{})}return n}function _(t,e,r,n){if(r||(r=16),void 0===e&&(e=24),e<=0)return"0";var i,a,o=Math.log(Math.pow(2,e))/Math.log(r),s="";for(i=2;o===1/0;i*=2)o=Math.log(Math.pow(2,e/i))/Math.log(r)*i;var l=o-Math.floor(o);for(i=0;i=Math.pow(2,e)?n>10?(console.warn("randstr failed uniqueness"),s):_(t,e,r,(n||0)+1):s}window.__webpack_public_path__=document.querySelector("body").getAttribute("data-base-url")+"nbextensions/jupyterlab-plotly"})(),i})())); \ No newline at end of file +define(["@jupyter-widgets/base"], (t) => + (() => { + var e = { + 486: function (t, e, r) { + var n; + (t = r.nmd(t)), + function () { + var i, + a = "Expected a function", + o = "__lodash_hash_undefined__", + s = "__lodash_placeholder__", + l = 32, + u = 128, + c = 1 / 0, + f = 9007199254740991, + h = NaN, + p = 4294967295, + d = [ + ["ary", u], + ["bind", 1], + ["bindKey", 2], + ["curry", 8], + ["curryRight", 16], + ["flip", 512], + ["partial", l], + ["partialRight", 64], + ["rearg", 256], + ], + v = "[object Arguments]", + g = "[object Array]", + y = "[object Boolean]", + m = "[object Date]", + x = "[object Error]", + b = "[object Function]", + _ = "[object GeneratorFunction]", + w = "[object Map]", + T = "[object Number]", + k = "[object Object]", + A = "[object Promise]", + M = "[object RegExp]", + S = "[object Set]", + E = "[object String]", + L = "[object Symbol]", + C = "[object WeakMap]", + O = "[object ArrayBuffer]", + P = "[object DataView]", + I = "[object Float32Array]", + D = "[object Float64Array]", + z = "[object Int8Array]", + R = "[object Int16Array]", + F = "[object Int32Array]", + B = "[object Uint8Array]", + N = "[object Uint8ClampedArray]", + j = "[object Uint16Array]", + U = "[object Uint32Array]", + V = /\b__p \+= '';/g, + H = /\b(__p \+=) '' \+/g, + q = /(__e\(.*?\)|\b__t\)) \+\n'';/g, + G = /&(?:amp|lt|gt|quot|#39);/g, + Z = /[&<>"']/g, + W = RegExp(G.source), + Y = RegExp(Z.source), + X = /<%-([\s\S]+?)%>/g, + J = /<%([\s\S]+?)%>/g, + K = /<%=([\s\S]+?)%>/g, + $ = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + Q = /^\w*$/, + tt = + /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, + et = /[\\^$.*+?()[\]{}|]/g, + rt = RegExp(et.source), + nt = /^\s+/, + it = /\s/, + at = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, + ot = /\{\n\/\* \[wrapped with (.+)\] \*/, + st = /,? & /, + lt = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g, + ut = /[()=,{}\[\]\/\s]/, + ct = /\\(\\)?/g, + ft = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g, + ht = /\w*$/, + pt = /^[-+]0x[0-9a-f]+$/i, + dt = /^0b[01]+$/i, + vt = /^\[object .+?Constructor\]$/, + gt = /^0o[0-7]+$/i, + yt = /^(?:0|[1-9]\d*)$/, + mt = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g, + xt = /($^)/, + bt = /['\n\r\u2028\u2029\\]/g, + _t = "\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff", + wt = "a-z\\xdf-\\xf6\\xf8-\\xff", + Tt = "A-Z\\xc0-\\xd6\\xd8-\\xde", + kt = + "\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", + At = "[" + kt + "]", + Mt = "[" + _t + "]", + St = "\\d+", + Et = "[" + wt + "]", + Lt = + "[^\\ud800-\\udfff" + + kt + + St + + "\\u2700-\\u27bf" + + wt + + Tt + + "]", + Ct = "\\ud83c[\\udffb-\\udfff]", + Ot = "[^\\ud800-\\udfff]", + Pt = "(?:\\ud83c[\\udde6-\\uddff]){2}", + It = "[\\ud800-\\udbff][\\udc00-\\udfff]", + Dt = "[" + Tt + "]", + zt = "(?:" + Et + "|" + Lt + ")", + Rt = "(?:" + Dt + "|" + Lt + ")", + Ft = "(?:['’](?:d|ll|m|re|s|t|ve))?", + Bt = "(?:['’](?:D|LL|M|RE|S|T|VE))?", + Nt = "(?:" + Mt + "|" + Ct + ")?", + jt = "[\\ufe0e\\ufe0f]?", + Ut = + jt + + Nt + + "(?:\\u200d(?:" + + [Ot, Pt, It].join("|") + + ")" + + jt + + Nt + + ")*", + Vt = "(?:" + ["[\\u2700-\\u27bf]", Pt, It].join("|") + ")" + Ut, + Ht = + "(?:" + + [Ot + Mt + "?", Mt, Pt, It, "[\\ud800-\\udfff]"].join("|") + + ")", + qt = RegExp("['’]", "g"), + Gt = RegExp(Mt, "g"), + Zt = RegExp(Ct + "(?=" + Ct + ")|" + Ht + Ut, "g"), + Wt = RegExp( + [ + Dt + + "?" + + Et + + "+" + + Ft + + "(?=" + + [At, Dt, "$"].join("|") + + ")", + Rt + "+" + Bt + "(?=" + [At, Dt + zt, "$"].join("|") + ")", + Dt + "?" + zt + "+" + Ft, + Dt + "+" + Bt, + "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", + "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", + St, + Vt, + ].join("|"), + "g", + ), + Yt = RegExp("[\\u200d\\ud800-\\udfff" + _t + "\\ufe0e\\ufe0f]"), + Xt = + /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/, + Jt = [ + "Array", + "Buffer", + "DataView", + "Date", + "Error", + "Float32Array", + "Float64Array", + "Function", + "Int8Array", + "Int16Array", + "Int32Array", + "Map", + "Math", + "Object", + "Promise", + "RegExp", + "Set", + "String", + "Symbol", + "TypeError", + "Uint8Array", + "Uint8ClampedArray", + "Uint16Array", + "Uint32Array", + "WeakMap", + "_", + "clearTimeout", + "isFinite", + "parseInt", + "setTimeout", + ], + Kt = -1, + $t = {}; + ($t[I] = + $t[D] = + $t[z] = + $t[R] = + $t[F] = + $t[B] = + $t[N] = + $t[j] = + $t[U] = + !0), + ($t[v] = + $t[g] = + $t[O] = + $t[y] = + $t[P] = + $t[m] = + $t[x] = + $t[b] = + $t[w] = + $t[T] = + $t[k] = + $t[M] = + $t[S] = + $t[E] = + $t[C] = + !1); + var Qt = {}; + (Qt[v] = + Qt[g] = + Qt[O] = + Qt[P] = + Qt[y] = + Qt[m] = + Qt[I] = + Qt[D] = + Qt[z] = + Qt[R] = + Qt[F] = + Qt[w] = + Qt[T] = + Qt[k] = + Qt[M] = + Qt[S] = + Qt[E] = + Qt[L] = + Qt[B] = + Qt[N] = + Qt[j] = + Qt[U] = + !0), + (Qt[x] = Qt[b] = Qt[C] = !1); + var te = { + "\\": "\\", + "'": "'", + "\n": "n", + "\r": "r", + "\u2028": "u2028", + "\u2029": "u2029", + }, + ee = parseFloat, + re = parseInt, + ne = + "object" == typeof r.g && r.g && r.g.Object === Object && r.g, + ie = + "object" == typeof self && + self && + self.Object === Object && + self, + ae = ne || ie || Function("return this")(), + oe = e && !e.nodeType && e, + se = oe && t && !t.nodeType && t, + le = se && se.exports === oe, + ue = le && ne.process, + ce = (function () { + try { + return ( + (se && se.require && se.require("util").types) || + (ue && ue.binding && ue.binding("util")) + ); + } catch (t) {} + })(), + fe = ce && ce.isArrayBuffer, + he = ce && ce.isDate, + pe = ce && ce.isMap, + de = ce && ce.isRegExp, + ve = ce && ce.isSet, + ge = ce && ce.isTypedArray; + function ye(t, e, r) { + switch (r.length) { + case 0: + return t.call(e); + case 1: + return t.call(e, r[0]); + case 2: + return t.call(e, r[0], r[1]); + case 3: + return t.call(e, r[0], r[1], r[2]); + } + return t.apply(e, r); + } + function me(t, e, r, n) { + for (var i = -1, a = null == t ? 0 : t.length; ++i < a; ) { + var o = t[i]; + e(n, o, r(o), t); + } + return n; + } + function xe(t, e) { + for ( + var r = -1, n = null == t ? 0 : t.length; + ++r < n && !1 !== e(t[r], r, t); + + ); + return t; + } + function be(t, e) { + for ( + var r = null == t ? 0 : t.length; + r-- && !1 !== e(t[r], r, t); + + ); + return t; + } + function _e(t, e) { + for (var r = -1, n = null == t ? 0 : t.length; ++r < n; ) + if (!e(t[r], r, t)) return !1; + return !0; + } + function we(t, e) { + for ( + var r = -1, n = null == t ? 0 : t.length, i = 0, a = []; + ++r < n; + + ) { + var o = t[r]; + e(o, r, t) && (a[i++] = o); + } + return a; + } + function Te(t, e) { + return !(null == t || !t.length) && Ie(t, e, 0) > -1; + } + function ke(t, e, r) { + for (var n = -1, i = null == t ? 0 : t.length; ++n < i; ) + if (r(e, t[n])) return !0; + return !1; + } + function Ae(t, e) { + for ( + var r = -1, n = null == t ? 0 : t.length, i = Array(n); + ++r < n; + + ) + i[r] = e(t[r], r, t); + return i; + } + function Me(t, e) { + for (var r = -1, n = e.length, i = t.length; ++r < n; ) + t[i + r] = e[r]; + return t; + } + function Se(t, e, r, n) { + var i = -1, + a = null == t ? 0 : t.length; + for (n && a && (r = t[++i]); ++i < a; ) r = e(r, t[i], i, t); + return r; + } + function Ee(t, e, r, n) { + var i = null == t ? 0 : t.length; + for (n && i && (r = t[--i]); i--; ) r = e(r, t[i], i, t); + return r; + } + function Le(t, e) { + for (var r = -1, n = null == t ? 0 : t.length; ++r < n; ) + if (e(t[r], r, t)) return !0; + return !1; + } + var Ce = Fe("length"); + function Oe(t, e, r) { + var n; + return ( + r(t, function (t, r, i) { + if (e(t, r, i)) return (n = r), !1; + }), + n + ); + } + function Pe(t, e, r, n) { + for ( + var i = t.length, a = r + (n ? 1 : -1); + n ? a-- : ++a < i; + + ) + if (e(t[a], a, t)) return a; + return -1; + } + function Ie(t, e, r) { + return e == e + ? (function (t, e, r) { + for (var n = r - 1, i = t.length; ++n < i; ) + if (t[n] === e) return n; + return -1; + })(t, e, r) + : Pe(t, ze, r); + } + function De(t, e, r, n) { + for (var i = r - 1, a = t.length; ++i < a; ) + if (n(t[i], e)) return i; + return -1; + } + function ze(t) { + return t != t; + } + function Re(t, e) { + var r = null == t ? 0 : t.length; + return r ? je(t, e) / r : h; + } + function Fe(t) { + return function (e) { + return null == e ? i : e[t]; + }; + } + function Be(t) { + return function (e) { + return null == t ? i : t[e]; + }; + } + function Ne(t, e, r, n, i) { + return ( + i(t, function (t, i, a) { + r = n ? ((n = !1), t) : e(r, t, i, a); + }), + r + ); + } + function je(t, e) { + for (var r, n = -1, a = t.length; ++n < a; ) { + var o = e(t[n]); + o !== i && (r = r === i ? o : r + o); + } + return r; + } + function Ue(t, e) { + for (var r = -1, n = Array(t); ++r < t; ) n[r] = e(r); + return n; + } + function Ve(t) { + return t ? t.slice(0, or(t) + 1).replace(nt, "") : t; + } + function He(t) { + return function (e) { + return t(e); + }; + } + function qe(t, e) { + return Ae(e, function (e) { + return t[e]; + }); + } + function Ge(t, e) { + return t.has(e); + } + function Ze(t, e) { + for ( + var r = -1, n = t.length; + ++r < n && Ie(e, t[r], 0) > -1; + + ); + return r; + } + function We(t, e) { + for (var r = t.length; r-- && Ie(e, t[r], 0) > -1; ); + return r; + } + function Ye(t, e) { + for (var r = t.length, n = 0; r--; ) t[r] === e && ++n; + return n; + } + var Xe = Be({ + À: "A", + Á: "A", + Â: "A", + Ã: "A", + Ä: "A", + Å: "A", + à: "a", + á: "a", + â: "a", + ã: "a", + ä: "a", + å: "a", + Ç: "C", + ç: "c", + Ð: "D", + ð: "d", + È: "E", + É: "E", + Ê: "E", + Ë: "E", + è: "e", + é: "e", + ê: "e", + ë: "e", + Ì: "I", + Í: "I", + Î: "I", + Ï: "I", + ì: "i", + í: "i", + î: "i", + ï: "i", + Ñ: "N", + ñ: "n", + Ò: "O", + Ó: "O", + Ô: "O", + Õ: "O", + Ö: "O", + Ø: "O", + ò: "o", + ó: "o", + ô: "o", + õ: "o", + ö: "o", + ø: "o", + Ù: "U", + Ú: "U", + Û: "U", + Ü: "U", + ù: "u", + ú: "u", + û: "u", + ü: "u", + Ý: "Y", + ý: "y", + ÿ: "y", + Æ: "Ae", + æ: "ae", + Þ: "Th", + þ: "th", + ß: "ss", + Ā: "A", + Ă: "A", + Ą: "A", + ā: "a", + ă: "a", + ą: "a", + Ć: "C", + Ĉ: "C", + Ċ: "C", + Č: "C", + ć: "c", + ĉ: "c", + ċ: "c", + č: "c", + Ď: "D", + Đ: "D", + ď: "d", + đ: "d", + Ē: "E", + Ĕ: "E", + Ė: "E", + Ę: "E", + Ě: "E", + ē: "e", + ĕ: "e", + ė: "e", + ę: "e", + ě: "e", + Ĝ: "G", + Ğ: "G", + Ġ: "G", + Ģ: "G", + ĝ: "g", + ğ: "g", + ġ: "g", + ģ: "g", + Ĥ: "H", + Ħ: "H", + ĥ: "h", + ħ: "h", + Ĩ: "I", + Ī: "I", + Ĭ: "I", + Į: "I", + İ: "I", + ĩ: "i", + ī: "i", + ĭ: "i", + į: "i", + ı: "i", + Ĵ: "J", + ĵ: "j", + Ķ: "K", + ķ: "k", + ĸ: "k", + Ĺ: "L", + Ļ: "L", + Ľ: "L", + Ŀ: "L", + Ł: "L", + ĺ: "l", + ļ: "l", + ľ: "l", + ŀ: "l", + ł: "l", + Ń: "N", + Ņ: "N", + Ň: "N", + Ŋ: "N", + ń: "n", + ņ: "n", + ň: "n", + ŋ: "n", + Ō: "O", + Ŏ: "O", + Ő: "O", + ō: "o", + ŏ: "o", + ő: "o", + Ŕ: "R", + Ŗ: "R", + Ř: "R", + ŕ: "r", + ŗ: "r", + ř: "r", + Ś: "S", + Ŝ: "S", + Ş: "S", + Š: "S", + ś: "s", + ŝ: "s", + ş: "s", + š: "s", + Ţ: "T", + Ť: "T", + Ŧ: "T", + ţ: "t", + ť: "t", + ŧ: "t", + Ũ: "U", + Ū: "U", + Ŭ: "U", + Ů: "U", + Ű: "U", + Ų: "U", + ũ: "u", + ū: "u", + ŭ: "u", + ů: "u", + ű: "u", + ų: "u", + Ŵ: "W", + ŵ: "w", + Ŷ: "Y", + ŷ: "y", + Ÿ: "Y", + Ź: "Z", + Ż: "Z", + Ž: "Z", + ź: "z", + ż: "z", + ž: "z", + IJ: "IJ", + ij: "ij", + Œ: "Oe", + œ: "oe", + ʼn: "'n", + ſ: "s", + }), + Je = Be({ + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + }); + function Ke(t) { + return "\\" + te[t]; + } + function $e(t) { + return Yt.test(t); + } + function Qe(t) { + var e = -1, + r = Array(t.size); + return ( + t.forEach(function (t, n) { + r[++e] = [n, t]; + }), + r + ); + } + function tr(t, e) { + return function (r) { + return t(e(r)); + }; + } + function er(t, e) { + for (var r = -1, n = t.length, i = 0, a = []; ++r < n; ) { + var o = t[r]; + (o !== e && o !== s) || ((t[r] = s), (a[i++] = r)); + } + return a; + } + function rr(t) { + var e = -1, + r = Array(t.size); + return ( + t.forEach(function (t) { + r[++e] = t; + }), + r + ); + } + function nr(t) { + var e = -1, + r = Array(t.size); + return ( + t.forEach(function (t) { + r[++e] = [t, t]; + }), + r + ); + } + function ir(t) { + return $e(t) + ? (function (t) { + for (var e = (Zt.lastIndex = 0); Zt.test(t); ) ++e; + return e; + })(t) + : Ce(t); + } + function ar(t) { + return $e(t) + ? (function (t) { + return t.match(Zt) || []; + })(t) + : (function (t) { + return t.split(""); + })(t); + } + function or(t) { + for (var e = t.length; e-- && it.test(t.charAt(e)); ); + return e; + } + var sr = Be({ + "&": "&", + "<": "<", + ">": ">", + """: '"', + "'": "'", + }), + lr = (function t(e) { + var r, + n = (e = + null == e + ? ae + : lr.defaults(ae.Object(), e, lr.pick(ae, Jt))).Array, + it = e.Date, + _t = e.Error, + wt = e.Function, + Tt = e.Math, + kt = e.Object, + At = e.RegExp, + Mt = e.String, + St = e.TypeError, + Et = n.prototype, + Lt = wt.prototype, + Ct = kt.prototype, + Ot = e["__core-js_shared__"], + Pt = Lt.toString, + It = Ct.hasOwnProperty, + Dt = 0, + zt = (r = /[^.]+$/.exec( + (Ot && Ot.keys && Ot.keys.IE_PROTO) || "", + )) + ? "Symbol(src)_1." + r + : "", + Rt = Ct.toString, + Ft = Pt.call(kt), + Bt = ae._, + Nt = At( + "^" + + Pt.call(It) + .replace(et, "\\$&") + .replace( + /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, + "$1.*?", + ) + + "$", + ), + jt = le ? e.Buffer : i, + Ut = e.Symbol, + Vt = e.Uint8Array, + Ht = jt ? jt.allocUnsafe : i, + Zt = tr(kt.getPrototypeOf, kt), + Yt = kt.create, + te = Ct.propertyIsEnumerable, + ne = Et.splice, + ie = Ut ? Ut.isConcatSpreadable : i, + oe = Ut ? Ut.iterator : i, + se = Ut ? Ut.toStringTag : i, + ue = (function () { + try { + var t = ua(kt, "defineProperty"); + return t({}, "", {}), t; + } catch (t) {} + })(), + ce = e.clearTimeout !== ae.clearTimeout && e.clearTimeout, + Ce = it && it.now !== ae.Date.now && it.now, + Be = e.setTimeout !== ae.setTimeout && e.setTimeout, + ur = Tt.ceil, + cr = Tt.floor, + fr = kt.getOwnPropertySymbols, + hr = jt ? jt.isBuffer : i, + pr = e.isFinite, + dr = Et.join, + vr = tr(kt.keys, kt), + gr = Tt.max, + yr = Tt.min, + mr = it.now, + xr = e.parseInt, + br = Tt.random, + _r = Et.reverse, + wr = ua(e, "DataView"), + Tr = ua(e, "Map"), + kr = ua(e, "Promise"), + Ar = ua(e, "Set"), + Mr = ua(e, "WeakMap"), + Sr = ua(kt, "create"), + Er = Mr && new Mr(), + Lr = {}, + Cr = Ba(wr), + Or = Ba(Tr), + Pr = Ba(kr), + Ir = Ba(Ar), + Dr = Ba(Mr), + zr = Ut ? Ut.prototype : i, + Rr = zr ? zr.valueOf : i, + Fr = zr ? zr.toString : i; + function Br(t) { + if (rs(t) && !Go(t) && !(t instanceof Vr)) { + if (t instanceof Ur) return t; + if (It.call(t, "__wrapped__")) return Na(t); + } + return new Ur(t); + } + var Nr = (function () { + function t() {} + return function (e) { + if (!es(e)) return {}; + if (Yt) return Yt(e); + t.prototype = e; + var r = new t(); + return (t.prototype = i), r; + }; + })(); + function jr() {} + function Ur(t, e) { + (this.__wrapped__ = t), + (this.__actions__ = []), + (this.__chain__ = !!e), + (this.__index__ = 0), + (this.__values__ = i); + } + function Vr(t) { + (this.__wrapped__ = t), + (this.__actions__ = []), + (this.__dir__ = 1), + (this.__filtered__ = !1), + (this.__iteratees__ = []), + (this.__takeCount__ = p), + (this.__views__ = []); + } + function Hr(t) { + var e = -1, + r = null == t ? 0 : t.length; + for (this.clear(); ++e < r; ) { + var n = t[e]; + this.set(n[0], n[1]); + } + } + function qr(t) { + var e = -1, + r = null == t ? 0 : t.length; + for (this.clear(); ++e < r; ) { + var n = t[e]; + this.set(n[0], n[1]); + } + } + function Gr(t) { + var e = -1, + r = null == t ? 0 : t.length; + for (this.clear(); ++e < r; ) { + var n = t[e]; + this.set(n[0], n[1]); + } + } + function Zr(t) { + var e = -1, + r = null == t ? 0 : t.length; + for (this.__data__ = new Gr(); ++e < r; ) this.add(t[e]); + } + function Wr(t) { + var e = (this.__data__ = new qr(t)); + this.size = e.size; + } + function Yr(t, e) { + var r = Go(t), + n = !r && qo(t), + i = !r && !n && Xo(t), + a = !r && !n && !i && cs(t), + o = r || n || i || a, + s = o ? Ue(t.length, Mt) : [], + l = s.length; + for (var u in t) + (!e && !It.call(t, u)) || + (o && + ("length" == u || + (i && ("offset" == u || "parent" == u)) || + (a && + ("buffer" == u || + "byteLength" == u || + "byteOffset" == u)) || + ga(u, l))) || + s.push(u); + return s; + } + function Xr(t) { + var e = t.length; + return e ? t[Zn(0, e - 1)] : i; + } + function Jr(t, e) { + return Ia(Si(t), on(e, 0, t.length)); + } + function Kr(t) { + return Ia(Si(t)); + } + function $r(t, e, r) { + ((r !== i && !Uo(t[e], r)) || (r === i && !(e in t))) && + nn(t, e, r); + } + function Qr(t, e, r) { + var n = t[e]; + (It.call(t, e) && Uo(n, r) && (r !== i || e in t)) || + nn(t, e, r); + } + function tn(t, e) { + for (var r = t.length; r--; ) if (Uo(t[r][0], e)) return r; + return -1; + } + function en(t, e, r, n) { + return ( + fn(t, function (t, i, a) { + e(n, t, r(t), a); + }), + n + ); + } + function rn(t, e) { + return t && Ei(e, Ps(e), t); + } + function nn(t, e, r) { + "__proto__" == e && ue + ? ue(t, e, { + configurable: !0, + enumerable: !0, + value: r, + writable: !0, + }) + : (t[e] = r); + } + function an(t, e) { + for ( + var r = -1, a = e.length, o = n(a), s = null == t; + ++r < a; + + ) + o[r] = s ? i : Ss(t, e[r]); + return o; + } + function on(t, e, r) { + return ( + t == t && + (r !== i && (t = t <= r ? t : r), + e !== i && (t = t >= e ? t : e)), + t + ); + } + function sn(t, e, r, n, a, o) { + var s, + l = 1 & e, + u = 2 & e, + c = 4 & e; + if ((r && (s = a ? r(t, n, a, o) : r(t)), s !== i)) + return s; + if (!es(t)) return t; + var f = Go(t); + if (f) { + if ( + ((s = (function (t) { + var e = t.length, + r = new t.constructor(e); + return ( + e && + "string" == typeof t[0] && + It.call(t, "index") && + ((r.index = t.index), (r.input = t.input)), + r + ); + })(t)), + !l) + ) + return Si(t, s); + } else { + var h = ha(t), + p = h == b || h == _; + if (Xo(t)) return _i(t, l); + if (h == k || h == v || (p && !a)) { + if (((s = u || p ? {} : da(t)), !l)) + return u + ? (function (t, e) { + return Ei(t, fa(t), e); + })( + t, + (function (t, e) { + return t && Ei(e, Is(e), t); + })(s, t), + ) + : (function (t, e) { + return Ei(t, ca(t), e); + })(t, rn(s, t)); + } else { + if (!Qt[h]) return a ? t : {}; + s = (function (t, e, r) { + var n, + i = t.constructor; + switch (e) { + case O: + return wi(t); + case y: + case m: + return new i(+t); + case P: + return (function (t, e) { + var r = e ? wi(t.buffer) : t.buffer; + return new t.constructor( + r, + t.byteOffset, + t.byteLength, + ); + })(t, r); + case I: + case D: + case z: + case R: + case F: + case B: + case N: + case j: + case U: + return Ti(t, r); + case w: + return new i(); + case T: + case E: + return new i(t); + case M: + return (function (t) { + var e = new t.constructor(t.source, ht.exec(t)); + return (e.lastIndex = t.lastIndex), e; + })(t); + case S: + return new i(); + case L: + return (n = t), Rr ? kt(Rr.call(n)) : {}; + } + })(t, h, l); + } + } + o || (o = new Wr()); + var d = o.get(t); + if (d) return d; + o.set(t, s), + ss(t) + ? t.forEach(function (n) { + s.add(sn(n, e, r, n, t, o)); + }) + : ns(t) && + t.forEach(function (n, i) { + s.set(i, sn(n, e, r, i, t, o)); + }); + var g = f ? i : (c ? (u ? ra : ea) : u ? Is : Ps)(t); + return ( + xe(g || t, function (n, i) { + g && (n = t[(i = n)]), Qr(s, i, sn(n, e, r, i, t, o)); + }), + s + ); + } + function ln(t, e, r) { + var n = r.length; + if (null == t) return !n; + for (t = kt(t); n--; ) { + var a = r[n], + o = e[a], + s = t[a]; + if ((s === i && !(a in t)) || !o(s)) return !1; + } + return !0; + } + function un(t, e, r) { + if ("function" != typeof t) throw new St(a); + return La(function () { + t.apply(i, r); + }, e); + } + function cn(t, e, r, n) { + var i = -1, + a = Te, + o = !0, + s = t.length, + l = [], + u = e.length; + if (!s) return l; + r && (e = Ae(e, He(r))), + n + ? ((a = ke), (o = !1)) + : e.length >= 200 && + ((a = Ge), (o = !1), (e = new Zr(e))); + t: for (; ++i < s; ) { + var c = t[i], + f = null == r ? c : r(c); + if (((c = n || 0 !== c ? c : 0), o && f == f)) { + for (var h = u; h--; ) if (e[h] === f) continue t; + l.push(c); + } else a(e, f, n) || l.push(c); + } + return l; + } + (Br.templateSettings = { + escape: X, + evaluate: J, + interpolate: K, + variable: "", + imports: { _: Br }, + }), + (Br.prototype = jr.prototype), + (Br.prototype.constructor = Br), + (Ur.prototype = Nr(jr.prototype)), + (Ur.prototype.constructor = Ur), + (Vr.prototype = Nr(jr.prototype)), + (Vr.prototype.constructor = Vr), + (Hr.prototype.clear = function () { + (this.__data__ = Sr ? Sr(null) : {}), (this.size = 0); + }), + (Hr.prototype.delete = function (t) { + var e = this.has(t) && delete this.__data__[t]; + return (this.size -= e ? 1 : 0), e; + }), + (Hr.prototype.get = function (t) { + var e = this.__data__; + if (Sr) { + var r = e[t]; + return r === o ? i : r; + } + return It.call(e, t) ? e[t] : i; + }), + (Hr.prototype.has = function (t) { + var e = this.__data__; + return Sr ? e[t] !== i : It.call(e, t); + }), + (Hr.prototype.set = function (t, e) { + var r = this.__data__; + return ( + (this.size += this.has(t) ? 0 : 1), + (r[t] = Sr && e === i ? o : e), + this + ); + }), + (qr.prototype.clear = function () { + (this.__data__ = []), (this.size = 0); + }), + (qr.prototype.delete = function (t) { + var e = this.__data__, + r = tn(e, t); + return !( + r < 0 || + (r == e.length - 1 ? e.pop() : ne.call(e, r, 1), + --this.size, + 0) + ); + }), + (qr.prototype.get = function (t) { + var e = this.__data__, + r = tn(e, t); + return r < 0 ? i : e[r][1]; + }), + (qr.prototype.has = function (t) { + return tn(this.__data__, t) > -1; + }), + (qr.prototype.set = function (t, e) { + var r = this.__data__, + n = tn(r, t); + return ( + n < 0 ? (++this.size, r.push([t, e])) : (r[n][1] = e), + this + ); + }), + (Gr.prototype.clear = function () { + (this.size = 0), + (this.__data__ = { + hash: new Hr(), + map: new (Tr || qr)(), + string: new Hr(), + }); + }), + (Gr.prototype.delete = function (t) { + var e = sa(this, t).delete(t); + return (this.size -= e ? 1 : 0), e; + }), + (Gr.prototype.get = function (t) { + return sa(this, t).get(t); + }), + (Gr.prototype.has = function (t) { + return sa(this, t).has(t); + }), + (Gr.prototype.set = function (t, e) { + var r = sa(this, t), + n = r.size; + return ( + r.set(t, e), (this.size += r.size == n ? 0 : 1), this + ); + }), + (Zr.prototype.add = Zr.prototype.push = + function (t) { + return this.__data__.set(t, o), this; + }), + (Zr.prototype.has = function (t) { + return this.__data__.has(t); + }), + (Wr.prototype.clear = function () { + (this.__data__ = new qr()), (this.size = 0); + }), + (Wr.prototype.delete = function (t) { + var e = this.__data__, + r = e.delete(t); + return (this.size = e.size), r; + }), + (Wr.prototype.get = function (t) { + return this.__data__.get(t); + }), + (Wr.prototype.has = function (t) { + return this.__data__.has(t); + }), + (Wr.prototype.set = function (t, e) { + var r = this.__data__; + if (r instanceof qr) { + var n = r.__data__; + if (!Tr || n.length < 199) + return n.push([t, e]), (this.size = ++r.size), this; + r = this.__data__ = new Gr(n); + } + return r.set(t, e), (this.size = r.size), this; + }); + var fn = Oi(xn), + hn = Oi(bn, !0); + function pn(t, e) { + var r = !0; + return ( + fn(t, function (t, n, i) { + return (r = !!e(t, n, i)); + }), + r + ); + } + function dn(t, e, r) { + for (var n = -1, a = t.length; ++n < a; ) { + var o = t[n], + s = e(o); + if (null != s && (l === i ? s == s && !us(s) : r(s, l))) + var l = s, + u = o; + } + return u; + } + function vn(t, e) { + var r = []; + return ( + fn(t, function (t, n, i) { + e(t, n, i) && r.push(t); + }), + r + ); + } + function gn(t, e, r, n, i) { + var a = -1, + o = t.length; + for (r || (r = va), i || (i = []); ++a < o; ) { + var s = t[a]; + e > 0 && r(s) + ? e > 1 + ? gn(s, e - 1, r, n, i) + : Me(i, s) + : n || (i[i.length] = s); + } + return i; + } + var yn = Pi(), + mn = Pi(!0); + function xn(t, e) { + return t && yn(t, e, Ps); + } + function bn(t, e) { + return t && mn(t, e, Ps); + } + function _n(t, e) { + return we(e, function (e) { + return $o(t[e]); + }); + } + function wn(t, e) { + for ( + var r = 0, n = (e = yi(e, t)).length; + null != t && r < n; + + ) + t = t[Fa(e[r++])]; + return r && r == n ? t : i; + } + function Tn(t, e, r) { + var n = e(t); + return Go(t) ? n : Me(n, r(t)); + } + function kn(t) { + return null == t + ? t === i + ? "[object Undefined]" + : "[object Null]" + : se && se in kt(t) + ? (function (t) { + var e = It.call(t, se), + r = t[se]; + try { + t[se] = i; + var n = !0; + } catch (t) {} + var a = Rt.call(t); + return n && (e ? (t[se] = r) : delete t[se]), a; + })(t) + : (function (t) { + return Rt.call(t); + })(t); + } + function An(t, e) { + return t > e; + } + function Mn(t, e) { + return null != t && It.call(t, e); + } + function Sn(t, e) { + return null != t && e in kt(t); + } + function En(t, e, r) { + for ( + var a = r ? ke : Te, + o = t[0].length, + s = t.length, + l = s, + u = n(s), + c = 1 / 0, + f = []; + l--; + + ) { + var h = t[l]; + l && e && (h = Ae(h, He(e))), + (c = yr(h.length, c)), + (u[l] = + !r && (e || (o >= 120 && h.length >= 120)) + ? new Zr(l && h) + : i); + } + h = t[0]; + var p = -1, + d = u[0]; + t: for (; ++p < o && f.length < c; ) { + var v = h[p], + g = e ? e(v) : v; + if ( + ((v = r || 0 !== v ? v : 0), + !(d ? Ge(d, g) : a(f, g, r))) + ) { + for (l = s; --l; ) { + var y = u[l]; + if (!(y ? Ge(y, g) : a(t[l], g, r))) continue t; + } + d && d.push(g), f.push(v); + } + } + return f; + } + function Ln(t, e, r) { + var n = + null == (t = Aa(t, (e = yi(e, t)))) ? t : t[Fa(Ja(e))]; + return null == n ? i : ye(n, t, r); + } + function Cn(t) { + return rs(t) && kn(t) == v; + } + function On(t, e, r, n, a) { + return ( + t === e || + (null == t || null == e || (!rs(t) && !rs(e)) + ? t != t && e != e + : (function (t, e, r, n, a, o) { + var s = Go(t), + l = Go(e), + u = s ? g : ha(t), + c = l ? g : ha(e), + f = (u = u == v ? k : u) == k, + h = (c = c == v ? k : c) == k, + p = u == c; + if (p && Xo(t)) { + if (!Xo(e)) return !1; + (s = !0), (f = !1); + } + if (p && !f) + return ( + o || (o = new Wr()), + s || cs(t) + ? Qi(t, e, r, n, a, o) + : (function (t, e, r, n, i, a, o) { + switch (r) { + case P: + if ( + t.byteLength != e.byteLength || + t.byteOffset != e.byteOffset + ) + return !1; + (t = t.buffer), (e = e.buffer); + case O: + return !( + t.byteLength != e.byteLength || + !a(new Vt(t), new Vt(e)) + ); + case y: + case m: + case T: + return Uo(+t, +e); + case x: + return ( + t.name == e.name && + t.message == e.message + ); + case M: + case E: + return t == e + ""; + case w: + var s = Qe; + case S: + var l = 1 & n; + if ( + (s || (s = rr), + t.size != e.size && !l) + ) + return !1; + var u = o.get(t); + if (u) return u == e; + (n |= 2), o.set(t, e); + var c = Qi(s(t), s(e), n, i, a, o); + return o.delete(t), c; + case L: + if (Rr) + return Rr.call(t) == Rr.call(e); + } + return !1; + })(t, e, u, r, n, a, o) + ); + if (!(1 & r)) { + var d = f && It.call(t, "__wrapped__"), + b = h && It.call(e, "__wrapped__"); + if (d || b) { + var _ = d ? t.value() : t, + A = b ? e.value() : e; + return o || (o = new Wr()), a(_, A, r, n, o); + } + } + return ( + !!p && + (o || (o = new Wr()), + (function (t, e, r, n, a, o) { + var s = 1 & r, + l = ea(t), + u = l.length; + if (u != ea(e).length && !s) return !1; + for (var c = u; c--; ) { + var f = l[c]; + if (!(s ? f in e : It.call(e, f))) return !1; + } + var h = o.get(t), + p = o.get(e); + if (h && p) return h == e && p == t; + var d = !0; + o.set(t, e), o.set(e, t); + for (var v = s; ++c < u; ) { + var g = t[(f = l[c])], + y = e[f]; + if (n) + var m = s + ? n(y, g, f, e, t, o) + : n(g, y, f, t, e, o); + if ( + !(m === i ? g === y || a(g, y, r, n, o) : m) + ) { + d = !1; + break; + } + v || (v = "constructor" == f); + } + if (d && !v) { + var x = t.constructor, + b = e.constructor; + x == b || + !("constructor" in t) || + !("constructor" in e) || + ("function" == typeof x && + x instanceof x && + "function" == typeof b && + b instanceof b) || + (d = !1); + } + return o.delete(t), o.delete(e), d; + })(t, e, r, n, a, o)) + ); + })(t, e, r, n, On, a)) + ); + } + function Pn(t, e, r, n) { + var a = r.length, + o = a, + s = !n; + if (null == t) return !o; + for (t = kt(t); a--; ) { + var l = r[a]; + if (s && l[2] ? l[1] !== t[l[0]] : !(l[0] in t)) + return !1; + } + for (; ++a < o; ) { + var u = (l = r[a])[0], + c = t[u], + f = l[1]; + if (s && l[2]) { + if (c === i && !(u in t)) return !1; + } else { + var h = new Wr(); + if (n) var p = n(c, f, u, t, e, h); + if (!(p === i ? On(f, c, 3, n, h) : p)) return !1; + } + } + return !0; + } + function In(t) { + return ( + !(!es(t) || ((e = t), zt && zt in e)) && + ($o(t) ? Nt : vt).test(Ba(t)) + ); + var e; + } + function Dn(t) { + return "function" == typeof t + ? t + : null == t + ? il + : "object" == typeof t + ? Go(t) + ? Nn(t[0], t[1]) + : Bn(t) + : pl(t); + } + function zn(t) { + if (!_a(t)) return vr(t); + var e = []; + for (var r in kt(t)) + It.call(t, r) && "constructor" != r && e.push(r); + return e; + } + function Rn(t, e) { + return t < e; + } + function Fn(t, e) { + var r = -1, + i = Wo(t) ? n(t.length) : []; + return ( + fn(t, function (t, n, a) { + i[++r] = e(t, n, a); + }), + i + ); + } + function Bn(t) { + var e = la(t); + return 1 == e.length && e[0][2] + ? Ta(e[0][0], e[0][1]) + : function (r) { + return r === t || Pn(r, t, e); + }; + } + function Nn(t, e) { + return ma(t) && wa(e) + ? Ta(Fa(t), e) + : function (r) { + var n = Ss(r, t); + return n === i && n === e ? Es(r, t) : On(e, n, 3); + }; + } + function jn(t, e, r, n, a) { + t !== e && + yn( + e, + function (o, s) { + if ((a || (a = new Wr()), es(o))) + !(function (t, e, r, n, a, o, s) { + var l = Sa(t, r), + u = Sa(e, r), + c = s.get(u); + if (c) $r(t, r, c); + else { + var f = o ? o(l, u, r + "", t, e, s) : i, + h = f === i; + if (h) { + var p = Go(u), + d = !p && Xo(u), + v = !p && !d && cs(u); + (f = u), + p || d || v + ? Go(l) + ? (f = l) + : Yo(l) + ? (f = Si(l)) + : d + ? ((h = !1), (f = _i(u, !0))) + : v + ? ((h = !1), (f = Ti(u, !0))) + : (f = []) + : as(u) || qo(u) + ? ((f = l), + qo(l) + ? (f = ms(l)) + : (es(l) && !$o(l)) || (f = da(u))) + : (h = !1); + } + h && + (s.set(u, f), a(f, u, n, o, s), s.delete(u)), + $r(t, r, f); + } + })(t, e, s, r, jn, n, a); + else { + var l = n ? n(Sa(t, s), o, s + "", t, e, a) : i; + l === i && (l = o), $r(t, s, l); + } + }, + Is, + ); + } + function Un(t, e) { + var r = t.length; + if (r) return ga((e += e < 0 ? r : 0), r) ? t[e] : i; + } + function Vn(t, e, r) { + e = e.length + ? Ae(e, function (t) { + return Go(t) + ? function (e) { + return wn(e, 1 === t.length ? t[0] : t); + } + : t; + }) + : [il]; + var n = -1; + e = Ae(e, He(oa())); + var i = Fn(t, function (t, r, i) { + var a = Ae(e, function (e) { + return e(t); + }); + return { criteria: a, index: ++n, value: t }; + }); + return (function (t, e) { + var n = t.length; + for ( + t.sort(function (t, e) { + return (function (t, e, r) { + for ( + var n = -1, + i = t.criteria, + a = e.criteria, + o = i.length, + s = r.length; + ++n < o; + + ) { + var l = ki(i[n], a[n]); + if (l) + return n >= s + ? l + : l * ("desc" == r[n] ? -1 : 1); + } + return t.index - e.index; + })(t, e, r); + }); + n--; + + ) + t[n] = t[n].value; + return t; + })(i); + } + function Hn(t, e, r) { + for (var n = -1, i = e.length, a = {}; ++n < i; ) { + var o = e[n], + s = wn(t, o); + r(s, o) && Kn(a, yi(o, t), s); + } + return a; + } + function qn(t, e, r, n) { + var i = n ? De : Ie, + a = -1, + o = e.length, + s = t; + for ( + t === e && (e = Si(e)), r && (s = Ae(t, He(r))); + ++a < o; + + ) + for ( + var l = 0, u = e[a], c = r ? r(u) : u; + (l = i(s, c, l, n)) > -1; + + ) + s !== t && ne.call(s, l, 1), ne.call(t, l, 1); + return t; + } + function Gn(t, e) { + for (var r = t ? e.length : 0, n = r - 1; r--; ) { + var i = e[r]; + if (r == n || i !== a) { + var a = i; + ga(i) ? ne.call(t, i, 1) : ui(t, i); + } + } + return t; + } + function Zn(t, e) { + return t + cr(br() * (e - t + 1)); + } + function Wn(t, e) { + var r = ""; + if (!t || e < 1 || e > f) return r; + do { + e % 2 && (r += t), (e = cr(e / 2)) && (t += t); + } while (e); + return r; + } + function Yn(t, e) { + return Ca(ka(t, e, il), t + ""); + } + function Xn(t) { + return Xr(Us(t)); + } + function Jn(t, e) { + var r = Us(t); + return Ia(r, on(e, 0, r.length)); + } + function Kn(t, e, r, n) { + if (!es(t)) return t; + for ( + var a = -1, o = (e = yi(e, t)).length, s = o - 1, l = t; + null != l && ++a < o; + + ) { + var u = Fa(e[a]), + c = r; + if ( + "__proto__" === u || + "constructor" === u || + "prototype" === u + ) + return t; + if (a != s) { + var f = l[u]; + (c = n ? n(f, u, l) : i) === i && + (c = es(f) ? f : ga(e[a + 1]) ? [] : {}); + } + Qr(l, u, c), (l = l[u]); + } + return t; + } + var $n = Er + ? function (t, e) { + return Er.set(t, e), t; + } + : il, + Qn = ue + ? function (t, e) { + return ue(t, "toString", { + configurable: !0, + enumerable: !1, + value: el(e), + writable: !0, + }); + } + : il; + function ti(t) { + return Ia(Us(t)); + } + function ei(t, e, r) { + var i = -1, + a = t.length; + e < 0 && (e = -e > a ? 0 : a + e), + (r = r > a ? a : r) < 0 && (r += a), + (a = e > r ? 0 : (r - e) >>> 0), + (e >>>= 0); + for (var o = n(a); ++i < a; ) o[i] = t[i + e]; + return o; + } + function ri(t, e) { + var r; + return ( + fn(t, function (t, n, i) { + return !(r = e(t, n, i)); + }), + !!r + ); + } + function ni(t, e, r) { + var n = 0, + i = null == t ? n : t.length; + if ("number" == typeof e && e == e && i <= 2147483647) { + for (; n < i; ) { + var a = (n + i) >>> 1, + o = t[a]; + null !== o && !us(o) && (r ? o <= e : o < e) + ? (n = a + 1) + : (i = a); + } + return i; + } + return ii(t, e, il, r); + } + function ii(t, e, r, n) { + var a = 0, + o = null == t ? 0 : t.length; + if (0 === o) return 0; + for ( + var s = (e = r(e)) != e, + l = null === e, + u = us(e), + c = e === i; + a < o; + + ) { + var f = cr((a + o) / 2), + h = r(t[f]), + p = h !== i, + d = null === h, + v = h == h, + g = us(h); + if (s) var y = n || v; + else + y = c + ? v && (n || p) + : l + ? v && p && (n || !d) + : u + ? v && p && !d && (n || !g) + : !d && !g && (n ? h <= e : h < e); + y ? (a = f + 1) : (o = f); + } + return yr(o, 4294967294); + } + function ai(t, e) { + for (var r = -1, n = t.length, i = 0, a = []; ++r < n; ) { + var o = t[r], + s = e ? e(o) : o; + if (!r || !Uo(s, l)) { + var l = s; + a[i++] = 0 === o ? 0 : o; + } + } + return a; + } + function oi(t) { + return "number" == typeof t ? t : us(t) ? h : +t; + } + function si(t) { + if ("string" == typeof t) return t; + if (Go(t)) return Ae(t, si) + ""; + if (us(t)) return Fr ? Fr.call(t) : ""; + var e = t + ""; + return "0" == e && 1 / t == -1 / 0 ? "-0" : e; + } + function li(t, e, r) { + var n = -1, + i = Te, + a = t.length, + o = !0, + s = [], + l = s; + if (r) (o = !1), (i = ke); + else if (a >= 200) { + var u = e ? null : Wi(t); + if (u) return rr(u); + (o = !1), (i = Ge), (l = new Zr()); + } else l = e ? [] : s; + t: for (; ++n < a; ) { + var c = t[n], + f = e ? e(c) : c; + if (((c = r || 0 !== c ? c : 0), o && f == f)) { + for (var h = l.length; h--; ) + if (l[h] === f) continue t; + e && l.push(f), s.push(c); + } else i(l, f, r) || (l !== s && l.push(f), s.push(c)); + } + return s; + } + function ui(t, e) { + return ( + null == (t = Aa(t, (e = yi(e, t)))) || delete t[Fa(Ja(e))] + ); + } + function ci(t, e, r, n) { + return Kn(t, e, r(wn(t, e)), n); + } + function fi(t, e, r, n) { + for ( + var i = t.length, a = n ? i : -1; + (n ? a-- : ++a < i) && e(t[a], a, t); + + ); + return r + ? ei(t, n ? 0 : a, n ? a + 1 : i) + : ei(t, n ? a + 1 : 0, n ? i : a); + } + function hi(t, e) { + var r = t; + return ( + r instanceof Vr && (r = r.value()), + Se( + e, + function (t, e) { + return e.func.apply(e.thisArg, Me([t], e.args)); + }, + r, + ) + ); + } + function pi(t, e, r) { + var i = t.length; + if (i < 2) return i ? li(t[0]) : []; + for (var a = -1, o = n(i); ++a < i; ) + for (var s = t[a], l = -1; ++l < i; ) + l != a && (o[a] = cn(o[a] || s, t[l], e, r)); + return li(gn(o, 1), e, r); + } + function di(t, e, r) { + for ( + var n = -1, a = t.length, o = e.length, s = {}; + ++n < a; + + ) { + var l = n < o ? e[n] : i; + r(s, t[n], l); + } + return s; + } + function vi(t) { + return Yo(t) ? t : []; + } + function gi(t) { + return "function" == typeof t ? t : il; + } + function yi(t, e) { + return Go(t) ? t : ma(t, e) ? [t] : Ra(xs(t)); + } + var mi = Yn; + function xi(t, e, r) { + var n = t.length; + return ( + (r = r === i ? n : r), !e && r >= n ? t : ei(t, e, r) + ); + } + var bi = + ce || + function (t) { + return ae.clearTimeout(t); + }; + function _i(t, e) { + if (e) return t.slice(); + var r = t.length, + n = Ht ? Ht(r) : new t.constructor(r); + return t.copy(n), n; + } + function wi(t) { + var e = new t.constructor(t.byteLength); + return new Vt(e).set(new Vt(t)), e; + } + function Ti(t, e) { + var r = e ? wi(t.buffer) : t.buffer; + return new t.constructor(r, t.byteOffset, t.length); + } + function ki(t, e) { + if (t !== e) { + var r = t !== i, + n = null === t, + a = t == t, + o = us(t), + s = e !== i, + l = null === e, + u = e == e, + c = us(e); + if ( + (!l && !c && !o && t > e) || + (o && s && u && !l && !c) || + (n && s && u) || + (!r && u) || + !a + ) + return 1; + if ( + (!n && !o && !c && t < e) || + (c && r && a && !n && !o) || + (l && r && a) || + (!s && a) || + !u + ) + return -1; + } + return 0; + } + function Ai(t, e, r, i) { + for ( + var a = -1, + o = t.length, + s = r.length, + l = -1, + u = e.length, + c = gr(o - s, 0), + f = n(u + c), + h = !i; + ++l < u; + + ) + f[l] = e[l]; + for (; ++a < s; ) (h || a < o) && (f[r[a]] = t[a]); + for (; c--; ) f[l++] = t[a++]; + return f; + } + function Mi(t, e, r, i) { + for ( + var a = -1, + o = t.length, + s = -1, + l = r.length, + u = -1, + c = e.length, + f = gr(o - l, 0), + h = n(f + c), + p = !i; + ++a < f; + + ) + h[a] = t[a]; + for (var d = a; ++u < c; ) h[d + u] = e[u]; + for (; ++s < l; ) (p || a < o) && (h[d + r[s]] = t[a++]); + return h; + } + function Si(t, e) { + var r = -1, + i = t.length; + for (e || (e = n(i)); ++r < i; ) e[r] = t[r]; + return e; + } + function Ei(t, e, r, n) { + var a = !r; + r || (r = {}); + for (var o = -1, s = e.length; ++o < s; ) { + var l = e[o], + u = n ? n(r[l], t[l], l, r, t) : i; + u === i && (u = t[l]), a ? nn(r, l, u) : Qr(r, l, u); + } + return r; + } + function Li(t, e) { + return function (r, n) { + var i = Go(r) ? me : en, + a = e ? e() : {}; + return i(r, t, oa(n, 2), a); + }; + } + function Ci(t) { + return Yn(function (e, r) { + var n = -1, + a = r.length, + o = a > 1 ? r[a - 1] : i, + s = a > 2 ? r[2] : i; + for ( + o = + t.length > 3 && "function" == typeof o ? (a--, o) : i, + s && + ya(r[0], r[1], s) && + ((o = a < 3 ? i : o), (a = 1)), + e = kt(e); + ++n < a; + + ) { + var l = r[n]; + l && t(e, l, n, o); + } + return e; + }); + } + function Oi(t, e) { + return function (r, n) { + if (null == r) return r; + if (!Wo(r)) return t(r, n); + for ( + var i = r.length, a = e ? i : -1, o = kt(r); + (e ? a-- : ++a < i) && !1 !== n(o[a], a, o); + + ); + return r; + }; + } + function Pi(t) { + return function (e, r, n) { + for ( + var i = -1, a = kt(e), o = n(e), s = o.length; + s--; + + ) { + var l = o[t ? s : ++i]; + if (!1 === r(a[l], l, a)) break; + } + return e; + }; + } + function Ii(t) { + return function (e) { + var r = $e((e = xs(e))) ? ar(e) : i, + n = r ? r[0] : e.charAt(0), + a = r ? xi(r, 1).join("") : e.slice(1); + return n[t]() + a; + }; + } + function Di(t) { + return function (e) { + return Se($s(qs(e).replace(qt, "")), t, ""); + }; + } + function zi(t) { + return function () { + var e = arguments; + switch (e.length) { + case 0: + return new t(); + case 1: + return new t(e[0]); + case 2: + return new t(e[0], e[1]); + case 3: + return new t(e[0], e[1], e[2]); + case 4: + return new t(e[0], e[1], e[2], e[3]); + case 5: + return new t(e[0], e[1], e[2], e[3], e[4]); + case 6: + return new t(e[0], e[1], e[2], e[3], e[4], e[5]); + case 7: + return new t( + e[0], + e[1], + e[2], + e[3], + e[4], + e[5], + e[6], + ); + } + var r = Nr(t.prototype), + n = t.apply(r, e); + return es(n) ? n : r; + }; + } + function Ri(t) { + return function (e, r, n) { + var a = kt(e); + if (!Wo(e)) { + var o = oa(r, 3); + (e = Ps(e)), + (r = function (t) { + return o(a[t], t, a); + }); + } + var s = t(e, r, n); + return s > -1 ? a[o ? e[s] : s] : i; + }; + } + function Fi(t) { + return ta(function (e) { + var r = e.length, + n = r, + o = Ur.prototype.thru; + for (t && e.reverse(); n--; ) { + var s = e[n]; + if ("function" != typeof s) throw new St(a); + if (o && !l && "wrapper" == ia(s)) + var l = new Ur([], !0); + } + for (n = l ? n : r; ++n < r; ) { + var u = ia((s = e[n])), + c = "wrapper" == u ? na(s) : i; + l = + c && + xa(c[0]) && + 424 == c[1] && + !c[4].length && + 1 == c[9] + ? l[ia(c[0])].apply(l, c[3]) + : 1 == s.length && xa(s) + ? l[u]() + : l.thru(s); + } + return function () { + var t = arguments, + n = t[0]; + if (l && 1 == t.length && Go(n)) + return l.plant(n).value(); + for ( + var i = 0, a = r ? e[i].apply(this, t) : n; + ++i < r; + + ) + a = e[i].call(this, a); + return a; + }; + }); + } + function Bi(t, e, r, a, o, s, l, c, f, h) { + var p = e & u, + d = 1 & e, + v = 2 & e, + g = 24 & e, + y = 512 & e, + m = v ? i : zi(t); + return function i() { + for (var u = arguments.length, x = n(u), b = u; b--; ) + x[b] = arguments[b]; + if (g) + var _ = aa(i), + w = Ye(x, _); + if ( + (a && (x = Ai(x, a, o, g)), + s && (x = Mi(x, s, l, g)), + (u -= w), + g && u < h) + ) { + var T = er(x, _); + return Gi( + t, + e, + Bi, + i.placeholder, + r, + x, + T, + c, + f, + h - u, + ); + } + var k = d ? r : this, + A = v ? k[t] : t; + return ( + (u = x.length), + c ? (x = Ma(x, c)) : y && u > 1 && x.reverse(), + p && f < u && (x.length = f), + this && + this !== ae && + this instanceof i && + (A = m || zi(A)), + A.apply(k, x) + ); + }; + } + function Ni(t, e) { + return function (r, n) { + return (function (t, e, r, n) { + return ( + xn(t, function (t, i, a) { + e(n, r(t), i, a); + }), + n + ); + })(r, t, e(n), {}); + }; + } + function ji(t, e) { + return function (r, n) { + var a; + if (r === i && n === i) return e; + if ((r !== i && (a = r), n !== i)) { + if (a === i) return n; + "string" == typeof r || "string" == typeof n + ? ((r = si(r)), (n = si(n))) + : ((r = oi(r)), (n = oi(n))), + (a = t(r, n)); + } + return a; + }; + } + function Ui(t) { + return ta(function (e) { + return ( + (e = Ae(e, He(oa()))), + Yn(function (r) { + var n = this; + return t(e, function (t) { + return ye(t, n, r); + }); + }) + ); + }); + } + function Vi(t, e) { + var r = (e = e === i ? " " : si(e)).length; + if (r < 2) return r ? Wn(e, t) : e; + var n = Wn(e, ur(t / ir(e))); + return $e(e) ? xi(ar(n), 0, t).join("") : n.slice(0, t); + } + function Hi(t) { + return function (e, r, a) { + return ( + a && "number" != typeof a && ya(e, r, a) && (r = a = i), + (e = ds(e)), + r === i ? ((r = e), (e = 0)) : (r = ds(r)), + (function (t, e, r, i) { + for ( + var a = -1, + o = gr(ur((e - t) / (r || 1)), 0), + s = n(o); + o--; + + ) + (s[i ? o : ++a] = t), (t += r); + return s; + })(e, r, (a = a === i ? (e < r ? 1 : -1) : ds(a)), t) + ); + }; + } + function qi(t) { + return function (e, r) { + return ( + ("string" == typeof e && "string" == typeof r) || + ((e = ys(e)), (r = ys(r))), + t(e, r) + ); + }; + } + function Gi(t, e, r, n, a, o, s, u, c, f) { + var h = 8 & e; + (e |= h ? l : 64), 4 & (e &= ~(h ? 64 : l)) || (e &= -4); + var p = [ + t, + e, + a, + h ? o : i, + h ? s : i, + h ? i : o, + h ? i : s, + u, + c, + f, + ], + d = r.apply(i, p); + return xa(t) && Ea(d, p), (d.placeholder = n), Oa(d, t, e); + } + function Zi(t) { + var e = Tt[t]; + return function (t, r) { + if ( + ((t = ys(t)), + (r = null == r ? 0 : yr(vs(r), 292)) && pr(t)) + ) { + var n = (xs(t) + "e").split("e"); + return +( + (n = (xs(e(n[0] + "e" + (+n[1] + r))) + "e").split( + "e", + ))[0] + + "e" + + (+n[1] - r) + ); + } + return e(t); + }; + } + var Wi = + Ar && 1 / rr(new Ar([, -0]))[1] == c + ? function (t) { + return new Ar(t); + } + : ul; + function Yi(t) { + return function (e) { + var r = ha(e); + return r == w + ? Qe(e) + : r == S + ? nr(e) + : (function (t, e) { + return Ae(e, function (e) { + return [e, t[e]]; + }); + })(e, t(e)); + }; + } + function Xi(t, e, r, o, c, f, h, p) { + var d = 2 & e; + if (!d && "function" != typeof t) throw new St(a); + var v = o ? o.length : 0; + if ( + (v || ((e &= -97), (o = c = i)), + (h = h === i ? h : gr(vs(h), 0)), + (p = p === i ? p : vs(p)), + (v -= c ? c.length : 0), + 64 & e) + ) { + var g = o, + y = c; + o = c = i; + } + var m = d ? i : na(t), + x = [t, e, r, o, c, g, y, f, h, p]; + if ( + (m && + (function (t, e) { + var r = t[1], + n = e[1], + i = r | n, + a = i < 131, + o = + (n == u && 8 == r) || + (n == u && 256 == r && t[7].length <= e[8]) || + (384 == n && e[7].length <= e[8] && 8 == r); + if (!a && !o) return t; + 1 & n && ((t[2] = e[2]), (i |= 1 & r ? 0 : 4)); + var l = e[3]; + if (l) { + var c = t[3]; + (t[3] = c ? Ai(c, l, e[4]) : l), + (t[4] = c ? er(t[3], s) : e[4]); + } + (l = e[5]) && + ((c = t[5]), + (t[5] = c ? Mi(c, l, e[6]) : l), + (t[6] = c ? er(t[5], s) : e[6])), + (l = e[7]) && (t[7] = l), + n & u && + (t[8] = null == t[8] ? e[8] : yr(t[8], e[8])), + null == t[9] && (t[9] = e[9]), + (t[0] = e[0]), + (t[1] = i); + })(x, m), + (t = x[0]), + (e = x[1]), + (r = x[2]), + (o = x[3]), + (c = x[4]), + !(p = x[9] = + x[9] === i ? (d ? 0 : t.length) : gr(x[9] - v, 0)) && + 24 & e && + (e &= -25), + e && 1 != e) + ) + b = + 8 == e || 16 == e + ? (function (t, e, r) { + var a = zi(t); + return function o() { + for ( + var s = arguments.length, + l = n(s), + u = s, + c = aa(o); + u--; + + ) + l[u] = arguments[u]; + var f = + s < 3 && l[0] !== c && l[s - 1] !== c + ? [] + : er(l, c); + return (s -= f.length) < r + ? Gi( + t, + e, + Bi, + o.placeholder, + i, + l, + f, + i, + i, + r - s, + ) + : ye( + this && this !== ae && this instanceof o + ? a + : t, + this, + l, + ); + }; + })(t, e, p) + : (e != l && 33 != e) || c.length + ? Bi.apply(i, x) + : (function (t, e, r, i) { + var a = 1 & e, + o = zi(t); + return function e() { + for ( + var s = -1, + l = arguments.length, + u = -1, + c = i.length, + f = n(c + l), + h = + this && this !== ae && this instanceof e + ? o + : t; + ++u < c; + + ) + f[u] = i[u]; + for (; l--; ) f[u++] = arguments[++s]; + return ye(h, a ? r : this, f); + }; + })(t, e, r, o); + else + var b = (function (t, e, r) { + var n = 1 & e, + i = zi(t); + return function e() { + return ( + this && this !== ae && this instanceof e ? i : t + ).apply(n ? r : this, arguments); + }; + })(t, e, r); + return Oa((m ? $n : Ea)(b, x), t, e); + } + function Ji(t, e, r, n) { + return t === i || (Uo(t, Ct[r]) && !It.call(n, r)) ? e : t; + } + function Ki(t, e, r, n, a, o) { + return ( + es(t) && + es(e) && + (o.set(e, t), jn(t, e, i, Ki, o), o.delete(e)), + t + ); + } + function $i(t) { + return as(t) ? i : t; + } + function Qi(t, e, r, n, a, o) { + var s = 1 & r, + l = t.length, + u = e.length; + if (l != u && !(s && u > l)) return !1; + var c = o.get(t), + f = o.get(e); + if (c && f) return c == e && f == t; + var h = -1, + p = !0, + d = 2 & r ? new Zr() : i; + for (o.set(t, e), o.set(e, t); ++h < l; ) { + var v = t[h], + g = e[h]; + if (n) + var y = s ? n(g, v, h, e, t, o) : n(v, g, h, t, e, o); + if (y !== i) { + if (y) continue; + p = !1; + break; + } + if (d) { + if ( + !Le(e, function (t, e) { + if (!Ge(d, e) && (v === t || a(v, t, r, n, o))) + return d.push(e); + }) + ) { + p = !1; + break; + } + } else if (v !== g && !a(v, g, r, n, o)) { + p = !1; + break; + } + } + return o.delete(t), o.delete(e), p; + } + function ta(t) { + return Ca(ka(t, i, Ga), t + ""); + } + function ea(t) { + return Tn(t, Ps, ca); + } + function ra(t) { + return Tn(t, Is, fa); + } + var na = Er + ? function (t) { + return Er.get(t); + } + : ul; + function ia(t) { + for ( + var e = t.name + "", + r = Lr[e], + n = It.call(Lr, e) ? r.length : 0; + n--; + + ) { + var i = r[n], + a = i.func; + if (null == a || a == t) return i.name; + } + return e; + } + function aa(t) { + return (It.call(Br, "placeholder") ? Br : t).placeholder; + } + function oa() { + var t = Br.iteratee || al; + return ( + (t = t === al ? Dn : t), + arguments.length ? t(arguments[0], arguments[1]) : t + ); + } + function sa(t, e) { + var r, + n, + i = t.__data__; + return ( + "string" == (n = typeof (r = e)) || + "number" == n || + "symbol" == n || + "boolean" == n + ? "__proto__" !== r + : null === r + ) + ? i["string" == typeof e ? "string" : "hash"] + : i.map; + } + function la(t) { + for (var e = Ps(t), r = e.length; r--; ) { + var n = e[r], + i = t[n]; + e[r] = [n, i, wa(i)]; + } + return e; + } + function ua(t, e) { + var r = (function (t, e) { + return null == t ? i : t[e]; + })(t, e); + return In(r) ? r : i; + } + var ca = fr + ? function (t) { + return null == t + ? [] + : ((t = kt(t)), + we(fr(t), function (e) { + return te.call(t, e); + })); + } + : gl, + fa = fr + ? function (t) { + for (var e = []; t; ) Me(e, ca(t)), (t = Zt(t)); + return e; + } + : gl, + ha = kn; + function pa(t, e, r) { + for ( + var n = -1, i = (e = yi(e, t)).length, a = !1; + ++n < i; + + ) { + var o = Fa(e[n]); + if (!(a = null != t && r(t, o))) break; + t = t[o]; + } + return a || ++n != i + ? a + : !!(i = null == t ? 0 : t.length) && + ts(i) && + ga(o, i) && + (Go(t) || qo(t)); + } + function da(t) { + return "function" != typeof t.constructor || _a(t) + ? {} + : Nr(Zt(t)); + } + function va(t) { + return Go(t) || qo(t) || !!(ie && t && t[ie]); + } + function ga(t, e) { + var r = typeof t; + return ( + !!(e = null == e ? f : e) && + ("number" == r || ("symbol" != r && yt.test(t))) && + t > -1 && + t % 1 == 0 && + t < e + ); + } + function ya(t, e, r) { + if (!es(r)) return !1; + var n = typeof e; + return ( + !!("number" == n + ? Wo(r) && ga(e, r.length) + : "string" == n && e in r) && Uo(r[e], t) + ); + } + function ma(t, e) { + if (Go(t)) return !1; + var r = typeof t; + return ( + !( + "number" != r && + "symbol" != r && + "boolean" != r && + null != t && + !us(t) + ) || + Q.test(t) || + !$.test(t) || + (null != e && t in kt(e)) + ); + } + function xa(t) { + var e = ia(t), + r = Br[e]; + if ("function" != typeof r || !(e in Vr.prototype)) + return !1; + if (t === r) return !0; + var n = na(r); + return !!n && t === n[0]; + } + ((wr && ha(new wr(new ArrayBuffer(1))) != P) || + (Tr && ha(new Tr()) != w) || + (kr && ha(kr.resolve()) != A) || + (Ar && ha(new Ar()) != S) || + (Mr && ha(new Mr()) != C)) && + (ha = function (t) { + var e = kn(t), + r = e == k ? t.constructor : i, + n = r ? Ba(r) : ""; + if (n) + switch (n) { + case Cr: + return P; + case Or: + return w; + case Pr: + return A; + case Ir: + return S; + case Dr: + return C; + } + return e; + }); + var ba = Ot ? $o : yl; + function _a(t) { + var e = t && t.constructor; + return ( + t === (("function" == typeof e && e.prototype) || Ct) + ); + } + function wa(t) { + return t == t && !es(t); + } + function Ta(t, e) { + return function (r) { + return null != r && r[t] === e && (e !== i || t in kt(r)); + }; + } + function ka(t, e, r) { + return ( + (e = gr(e === i ? t.length - 1 : e, 0)), + function () { + for ( + var i = arguments, + a = -1, + o = gr(i.length - e, 0), + s = n(o); + ++a < o; + + ) + s[a] = i[e + a]; + a = -1; + for (var l = n(e + 1); ++a < e; ) l[a] = i[a]; + return (l[e] = r(s)), ye(t, this, l); + } + ); + } + function Aa(t, e) { + return e.length < 2 ? t : wn(t, ei(e, 0, -1)); + } + function Ma(t, e) { + for ( + var r = t.length, n = yr(e.length, r), a = Si(t); + n--; + + ) { + var o = e[n]; + t[n] = ga(o, r) ? a[o] : i; + } + return t; + } + function Sa(t, e) { + if ( + ("constructor" !== e || "function" != typeof t[e]) && + "__proto__" != e + ) + return t[e]; + } + var Ea = Pa($n), + La = + Be || + function (t, e) { + return ae.setTimeout(t, e); + }, + Ca = Pa(Qn); + function Oa(t, e, r) { + var n = e + ""; + return Ca( + t, + (function (t, e) { + var r = e.length; + if (!r) return t; + var n = r - 1; + return ( + (e[n] = (r > 1 ? "& " : "") + e[n]), + (e = e.join(r > 2 ? ", " : " ")), + t.replace(at, "{\n/* [wrapped with " + e + "] */\n") + ); + })( + n, + (function (t, e) { + return ( + xe(d, function (r) { + var n = "_." + r[0]; + e & r[1] && !Te(t, n) && t.push(n); + }), + t.sort() + ); + })( + (function (t) { + var e = t.match(ot); + return e ? e[1].split(st) : []; + })(n), + r, + ), + ), + ); + } + function Pa(t) { + var e = 0, + r = 0; + return function () { + var n = mr(), + a = 16 - (n - r); + if (((r = n), a > 0)) { + if (++e >= 800) return arguments[0]; + } else e = 0; + return t.apply(i, arguments); + }; + } + function Ia(t, e) { + var r = -1, + n = t.length, + a = n - 1; + for (e = e === i ? n : e; ++r < e; ) { + var o = Zn(r, a), + s = t[o]; + (t[o] = t[r]), (t[r] = s); + } + return (t.length = e), t; + } + var Da, + za, + Ra = + ((Da = zo( + function (t) { + var e = []; + return ( + 46 === t.charCodeAt(0) && e.push(""), + t.replace(tt, function (t, r, n, i) { + e.push(n ? i.replace(ct, "$1") : r || t); + }), + e + ); + }, + function (t) { + return 500 === za.size && za.clear(), t; + }, + )), + (za = Da.cache), + Da); + function Fa(t) { + if ("string" == typeof t || us(t)) return t; + var e = t + ""; + return "0" == e && 1 / t == -1 / 0 ? "-0" : e; + } + function Ba(t) { + if (null != t) { + try { + return Pt.call(t); + } catch (t) {} + try { + return t + ""; + } catch (t) {} + } + return ""; + } + function Na(t) { + if (t instanceof Vr) return t.clone(); + var e = new Ur(t.__wrapped__, t.__chain__); + return ( + (e.__actions__ = Si(t.__actions__)), + (e.__index__ = t.__index__), + (e.__values__ = t.__values__), + e + ); + } + var ja = Yn(function (t, e) { + return Yo(t) ? cn(t, gn(e, 1, Yo, !0)) : []; + }), + Ua = Yn(function (t, e) { + var r = Ja(e); + return ( + Yo(r) && (r = i), + Yo(t) ? cn(t, gn(e, 1, Yo, !0), oa(r, 2)) : [] + ); + }), + Va = Yn(function (t, e) { + var r = Ja(e); + return ( + Yo(r) && (r = i), + Yo(t) ? cn(t, gn(e, 1, Yo, !0), i, r) : [] + ); + }); + function Ha(t, e, r) { + var n = null == t ? 0 : t.length; + if (!n) return -1; + var i = null == r ? 0 : vs(r); + return i < 0 && (i = gr(n + i, 0)), Pe(t, oa(e, 3), i); + } + function qa(t, e, r) { + var n = null == t ? 0 : t.length; + if (!n) return -1; + var a = n - 1; + return ( + r !== i && + ((a = vs(r)), + (a = r < 0 ? gr(n + a, 0) : yr(a, n - 1))), + Pe(t, oa(e, 3), a, !0) + ); + } + function Ga(t) { + return null != t && t.length ? gn(t, 1) : []; + } + function Za(t) { + return t && t.length ? t[0] : i; + } + var Wa = Yn(function (t) { + var e = Ae(t, vi); + return e.length && e[0] === t[0] ? En(e) : []; + }), + Ya = Yn(function (t) { + var e = Ja(t), + r = Ae(t, vi); + return ( + e === Ja(r) ? (e = i) : r.pop(), + r.length && r[0] === t[0] ? En(r, oa(e, 2)) : [] + ); + }), + Xa = Yn(function (t) { + var e = Ja(t), + r = Ae(t, vi); + return ( + (e = "function" == typeof e ? e : i) && r.pop(), + r.length && r[0] === t[0] ? En(r, i, e) : [] + ); + }); + function Ja(t) { + var e = null == t ? 0 : t.length; + return e ? t[e - 1] : i; + } + var Ka = Yn($a); + function $a(t, e) { + return t && t.length && e && e.length ? qn(t, e) : t; + } + var Qa = ta(function (t, e) { + var r = null == t ? 0 : t.length, + n = an(t, e); + return ( + Gn( + t, + Ae(e, function (t) { + return ga(t, r) ? +t : t; + }).sort(ki), + ), + n + ); + }); + function to(t) { + return null == t ? t : _r.call(t); + } + var eo = Yn(function (t) { + return li(gn(t, 1, Yo, !0)); + }), + ro = Yn(function (t) { + var e = Ja(t); + return Yo(e) && (e = i), li(gn(t, 1, Yo, !0), oa(e, 2)); + }), + no = Yn(function (t) { + var e = Ja(t); + return ( + (e = "function" == typeof e ? e : i), + li(gn(t, 1, Yo, !0), i, e) + ); + }); + function io(t) { + if (!t || !t.length) return []; + var e = 0; + return ( + (t = we(t, function (t) { + if (Yo(t)) return (e = gr(t.length, e)), !0; + })), + Ue(e, function (e) { + return Ae(t, Fe(e)); + }) + ); + } + function ao(t, e) { + if (!t || !t.length) return []; + var r = io(t); + return null == e + ? r + : Ae(r, function (t) { + return ye(e, i, t); + }); + } + var oo = Yn(function (t, e) { + return Yo(t) ? cn(t, e) : []; + }), + so = Yn(function (t) { + return pi(we(t, Yo)); + }), + lo = Yn(function (t) { + var e = Ja(t); + return Yo(e) && (e = i), pi(we(t, Yo), oa(e, 2)); + }), + uo = Yn(function (t) { + var e = Ja(t); + return ( + (e = "function" == typeof e ? e : i), + pi(we(t, Yo), i, e) + ); + }), + co = Yn(io), + fo = Yn(function (t) { + var e = t.length, + r = e > 1 ? t[e - 1] : i; + return ( + (r = "function" == typeof r ? (t.pop(), r) : i), + ao(t, r) + ); + }); + function ho(t) { + var e = Br(t); + return (e.__chain__ = !0), e; + } + function po(t, e) { + return e(t); + } + var vo = ta(function (t) { + var e = t.length, + r = e ? t[0] : 0, + n = this.__wrapped__, + a = function (e) { + return an(e, t); + }; + return !(e > 1 || this.__actions__.length) && + n instanceof Vr && + ga(r) + ? ((n = n.slice(r, +r + (e ? 1 : 0))).__actions__.push({ + func: po, + args: [a], + thisArg: i, + }), + new Ur(n, this.__chain__).thru(function (t) { + return e && !t.length && t.push(i), t; + })) + : this.thru(a); + }), + go = Li(function (t, e, r) { + It.call(t, r) ? ++t[r] : nn(t, r, 1); + }), + yo = Ri(Ha), + mo = Ri(qa); + function xo(t, e) { + return (Go(t) ? xe : fn)(t, oa(e, 3)); + } + function bo(t, e) { + return (Go(t) ? be : hn)(t, oa(e, 3)); + } + var _o = Li(function (t, e, r) { + It.call(t, r) ? t[r].push(e) : nn(t, r, [e]); + }), + wo = Yn(function (t, e, r) { + var i = -1, + a = "function" == typeof e, + o = Wo(t) ? n(t.length) : []; + return ( + fn(t, function (t) { + o[++i] = a ? ye(e, t, r) : Ln(t, e, r); + }), + o + ); + }), + To = Li(function (t, e, r) { + nn(t, r, e); + }); + function ko(t, e) { + return (Go(t) ? Ae : Fn)(t, oa(e, 3)); + } + var Ao = Li( + function (t, e, r) { + t[r ? 0 : 1].push(e); + }, + function () { + return [[], []]; + }, + ), + Mo = Yn(function (t, e) { + if (null == t) return []; + var r = e.length; + return ( + r > 1 && ya(t, e[0], e[1]) + ? (e = []) + : r > 2 && ya(e[0], e[1], e[2]) && (e = [e[0]]), + Vn(t, gn(e, 1), []) + ); + }), + So = + Ce || + function () { + return ae.Date.now(); + }; + function Eo(t, e, r) { + return ( + (e = r ? i : e), + (e = t && null == e ? t.length : e), + Xi(t, u, i, i, i, i, e) + ); + } + function Lo(t, e) { + var r; + if ("function" != typeof e) throw new St(a); + return ( + (t = vs(t)), + function () { + return ( + --t > 0 && (r = e.apply(this, arguments)), + t <= 1 && (e = i), + r + ); + } + ); + } + var Co = Yn(function (t, e, r) { + var n = 1; + if (r.length) { + var i = er(r, aa(Co)); + n |= l; + } + return Xi(t, n, e, r, i); + }), + Oo = Yn(function (t, e, r) { + var n = 3; + if (r.length) { + var i = er(r, aa(Oo)); + n |= l; + } + return Xi(e, n, t, r, i); + }); + function Po(t, e, r) { + var n, + o, + s, + l, + u, + c, + f = 0, + h = !1, + p = !1, + d = !0; + if ("function" != typeof t) throw new St(a); + function v(e) { + var r = n, + a = o; + return (n = o = i), (f = e), (l = t.apply(a, r)); + } + function g(t) { + return (f = t), (u = La(m, e)), h ? v(t) : l; + } + function y(t) { + var r = t - c; + return c === i || r >= e || r < 0 || (p && t - f >= s); + } + function m() { + var t = So(); + if (y(t)) return x(t); + u = La( + m, + (function (t) { + var r = e - (t - c); + return p ? yr(r, s - (t - f)) : r; + })(t), + ); + } + function x(t) { + return (u = i), d && n ? v(t) : ((n = o = i), l); + } + function b() { + var t = So(), + r = y(t); + if (((n = arguments), (o = this), (c = t), r)) { + if (u === i) return g(c); + if (p) return bi(u), (u = La(m, e)), v(c); + } + return u === i && (u = La(m, e)), l; + } + return ( + (e = ys(e) || 0), + es(r) && + ((h = !!r.leading), + (s = (p = "maxWait" in r) + ? gr(ys(r.maxWait) || 0, e) + : s), + (d = "trailing" in r ? !!r.trailing : d)), + (b.cancel = function () { + u !== i && bi(u), (f = 0), (n = c = o = u = i); + }), + (b.flush = function () { + return u === i ? l : x(So()); + }), + b + ); + } + var Io = Yn(function (t, e) { + return un(t, 1, e); + }), + Do = Yn(function (t, e, r) { + return un(t, ys(e) || 0, r); + }); + function zo(t, e) { + if ( + "function" != typeof t || + (null != e && "function" != typeof e) + ) + throw new St(a); + var r = function () { + var n = arguments, + i = e ? e.apply(this, n) : n[0], + a = r.cache; + if (a.has(i)) return a.get(i); + var o = t.apply(this, n); + return (r.cache = a.set(i, o) || a), o; + }; + return (r.cache = new (zo.Cache || Gr)()), r; + } + function Ro(t) { + if ("function" != typeof t) throw new St(a); + return function () { + var e = arguments; + switch (e.length) { + case 0: + return !t.call(this); + case 1: + return !t.call(this, e[0]); + case 2: + return !t.call(this, e[0], e[1]); + case 3: + return !t.call(this, e[0], e[1], e[2]); + } + return !t.apply(this, e); + }; + } + zo.Cache = Gr; + var Fo = mi(function (t, e) { + var r = (e = + 1 == e.length && Go(e[0]) + ? Ae(e[0], He(oa())) + : Ae(gn(e, 1), He(oa()))).length; + return Yn(function (n) { + for (var i = -1, a = yr(n.length, r); ++i < a; ) + n[i] = e[i].call(this, n[i]); + return ye(t, this, n); + }); + }), + Bo = Yn(function (t, e) { + var r = er(e, aa(Bo)); + return Xi(t, l, i, e, r); + }), + No = Yn(function (t, e) { + var r = er(e, aa(No)); + return Xi(t, 64, i, e, r); + }), + jo = ta(function (t, e) { + return Xi(t, 256, i, i, i, e); + }); + function Uo(t, e) { + return t === e || (t != t && e != e); + } + var Vo = qi(An), + Ho = qi(function (t, e) { + return t >= e; + }), + qo = Cn( + (function () { + return arguments; + })(), + ) + ? Cn + : function (t) { + return ( + rs(t) && + It.call(t, "callee") && + !te.call(t, "callee") + ); + }, + Go = n.isArray, + Zo = fe + ? He(fe) + : function (t) { + return rs(t) && kn(t) == O; + }; + function Wo(t) { + return null != t && ts(t.length) && !$o(t); + } + function Yo(t) { + return rs(t) && Wo(t); + } + var Xo = hr || yl, + Jo = he + ? He(he) + : function (t) { + return rs(t) && kn(t) == m; + }; + function Ko(t) { + if (!rs(t)) return !1; + var e = kn(t); + return ( + e == x || + "[object DOMException]" == e || + ("string" == typeof t.message && + "string" == typeof t.name && + !as(t)) + ); + } + function $o(t) { + if (!es(t)) return !1; + var e = kn(t); + return ( + e == b || + e == _ || + "[object AsyncFunction]" == e || + "[object Proxy]" == e + ); + } + function Qo(t) { + return "number" == typeof t && t == vs(t); + } + function ts(t) { + return ( + "number" == typeof t && t > -1 && t % 1 == 0 && t <= f + ); + } + function es(t) { + var e = typeof t; + return null != t && ("object" == e || "function" == e); + } + function rs(t) { + return null != t && "object" == typeof t; + } + var ns = pe + ? He(pe) + : function (t) { + return rs(t) && ha(t) == w; + }; + function is(t) { + return "number" == typeof t || (rs(t) && kn(t) == T); + } + function as(t) { + if (!rs(t) || kn(t) != k) return !1; + var e = Zt(t); + if (null === e) return !0; + var r = It.call(e, "constructor") && e.constructor; + return ( + "function" == typeof r && + r instanceof r && + Pt.call(r) == Ft + ); + } + var os = de + ? He(de) + : function (t) { + return rs(t) && kn(t) == M; + }, + ss = ve + ? He(ve) + : function (t) { + return rs(t) && ha(t) == S; + }; + function ls(t) { + return ( + "string" == typeof t || (!Go(t) && rs(t) && kn(t) == E) + ); + } + function us(t) { + return "symbol" == typeof t || (rs(t) && kn(t) == L); + } + var cs = ge + ? He(ge) + : function (t) { + return rs(t) && ts(t.length) && !!$t[kn(t)]; + }, + fs = qi(Rn), + hs = qi(function (t, e) { + return t <= e; + }); + function ps(t) { + if (!t) return []; + if (Wo(t)) return ls(t) ? ar(t) : Si(t); + if (oe && t[oe]) + return (function (t) { + for (var e, r = []; !(e = t.next()).done; ) + r.push(e.value); + return r; + })(t[oe]()); + var e = ha(t); + return (e == w ? Qe : e == S ? rr : Us)(t); + } + function ds(t) { + return t + ? (t = ys(t)) === c || t === -1 / 0 + ? 17976931348623157e292 * (t < 0 ? -1 : 1) + : t == t + ? t + : 0 + : 0 === t + ? t + : 0; + } + function vs(t) { + var e = ds(t), + r = e % 1; + return e == e ? (r ? e - r : e) : 0; + } + function gs(t) { + return t ? on(vs(t), 0, p) : 0; + } + function ys(t) { + if ("number" == typeof t) return t; + if (us(t)) return h; + if (es(t)) { + var e = "function" == typeof t.valueOf ? t.valueOf() : t; + t = es(e) ? e + "" : e; + } + if ("string" != typeof t) return 0 === t ? t : +t; + t = Ve(t); + var r = dt.test(t); + return r || gt.test(t) + ? re(t.slice(2), r ? 2 : 8) + : pt.test(t) + ? h + : +t; + } + function ms(t) { + return Ei(t, Is(t)); + } + function xs(t) { + return null == t ? "" : si(t); + } + var bs = Ci(function (t, e) { + if (_a(e) || Wo(e)) Ei(e, Ps(e), t); + else for (var r in e) It.call(e, r) && Qr(t, r, e[r]); + }), + _s = Ci(function (t, e) { + Ei(e, Is(e), t); + }), + ws = Ci(function (t, e, r, n) { + Ei(e, Is(e), t, n); + }), + Ts = Ci(function (t, e, r, n) { + Ei(e, Ps(e), t, n); + }), + ks = ta(an), + As = Yn(function (t, e) { + t = kt(t); + var r = -1, + n = e.length, + a = n > 2 ? e[2] : i; + for (a && ya(e[0], e[1], a) && (n = 1); ++r < n; ) + for ( + var o = e[r], s = Is(o), l = -1, u = s.length; + ++l < u; + + ) { + var c = s[l], + f = t[c]; + (f === i || (Uo(f, Ct[c]) && !It.call(t, c))) && + (t[c] = o[c]); + } + return t; + }), + Ms = Yn(function (t) { + return t.push(i, Ki), ye(zs, i, t); + }); + function Ss(t, e, r) { + var n = null == t ? i : wn(t, e); + return n === i ? r : n; + } + function Es(t, e) { + return null != t && pa(t, e, Sn); + } + var Ls = Ni(function (t, e, r) { + null != e && + "function" != typeof e.toString && + (e = Rt.call(e)), + (t[e] = r); + }, el(il)), + Cs = Ni(function (t, e, r) { + null != e && + "function" != typeof e.toString && + (e = Rt.call(e)), + It.call(t, e) ? t[e].push(r) : (t[e] = [r]); + }, oa), + Os = Yn(Ln); + function Ps(t) { + return Wo(t) ? Yr(t) : zn(t); + } + function Is(t) { + return Wo(t) + ? Yr(t, !0) + : (function (t) { + if (!es(t)) + return (function (t) { + var e = []; + if (null != t) for (var r in kt(t)) e.push(r); + return e; + })(t); + var e = _a(t), + r = []; + for (var n in t) + ("constructor" != n || (!e && It.call(t, n))) && + r.push(n); + return r; + })(t); + } + var Ds = Ci(function (t, e, r) { + jn(t, e, r); + }), + zs = Ci(function (t, e, r, n) { + jn(t, e, r, n); + }), + Rs = ta(function (t, e) { + var r = {}; + if (null == t) return r; + var n = !1; + (e = Ae(e, function (e) { + return (e = yi(e, t)), n || (n = e.length > 1), e; + })), + Ei(t, ra(t), r), + n && (r = sn(r, 7, $i)); + for (var i = e.length; i--; ) ui(r, e[i]); + return r; + }), + Fs = ta(function (t, e) { + return null == t + ? {} + : (function (t, e) { + return Hn(t, e, function (e, r) { + return Es(t, r); + }); + })(t, e); + }); + function Bs(t, e) { + if (null == t) return {}; + var r = Ae(ra(t), function (t) { + return [t]; + }); + return ( + (e = oa(e)), + Hn(t, r, function (t, r) { + return e(t, r[0]); + }) + ); + } + var Ns = Yi(Ps), + js = Yi(Is); + function Us(t) { + return null == t ? [] : qe(t, Ps(t)); + } + var Vs = Di(function (t, e, r) { + return (e = e.toLowerCase()), t + (r ? Hs(e) : e); + }); + function Hs(t) { + return Ks(xs(t).toLowerCase()); + } + function qs(t) { + return (t = xs(t)) && t.replace(mt, Xe).replace(Gt, ""); + } + var Gs = Di(function (t, e, r) { + return t + (r ? "-" : "") + e.toLowerCase(); + }), + Zs = Di(function (t, e, r) { + return t + (r ? " " : "") + e.toLowerCase(); + }), + Ws = Ii("toLowerCase"), + Ys = Di(function (t, e, r) { + return t + (r ? "_" : "") + e.toLowerCase(); + }), + Xs = Di(function (t, e, r) { + return t + (r ? " " : "") + Ks(e); + }), + Js = Di(function (t, e, r) { + return t + (r ? " " : "") + e.toUpperCase(); + }), + Ks = Ii("toUpperCase"); + function $s(t, e, r) { + return ( + (t = xs(t)), + (e = r ? i : e) === i + ? (function (t) { + return Xt.test(t); + })(t) + ? (function (t) { + return t.match(Wt) || []; + })(t) + : (function (t) { + return t.match(lt) || []; + })(t) + : t.match(e) || [] + ); + } + var Qs = Yn(function (t, e) { + try { + return ye(t, i, e); + } catch (t) { + return Ko(t) ? t : new _t(t); + } + }), + tl = ta(function (t, e) { + return ( + xe(e, function (e) { + (e = Fa(e)), nn(t, e, Co(t[e], t)); + }), + t + ); + }); + function el(t) { + return function () { + return t; + }; + } + var rl = Fi(), + nl = Fi(!0); + function il(t) { + return t; + } + function al(t) { + return Dn("function" == typeof t ? t : sn(t, 1)); + } + var ol = Yn(function (t, e) { + return function (r) { + return Ln(r, t, e); + }; + }), + sl = Yn(function (t, e) { + return function (r) { + return Ln(t, r, e); + }; + }); + function ll(t, e, r) { + var n = Ps(e), + i = _n(e, n); + null != r || + (es(e) && (i.length || !n.length)) || + ((r = e), (e = t), (t = this), (i = _n(e, Ps(e)))); + var a = !(es(r) && "chain" in r && !r.chain), + o = $o(t); + return ( + xe(i, function (r) { + var n = e[r]; + (t[r] = n), + o && + (t.prototype[r] = function () { + var e = this.__chain__; + if (a || e) { + var r = t(this.__wrapped__), + i = (r.__actions__ = Si(this.__actions__)); + return ( + i.push({ + func: n, + args: arguments, + thisArg: t, + }), + (r.__chain__ = e), + r + ); + } + return n.apply(t, Me([this.value()], arguments)); + }); + }), + t + ); + } + function ul() {} + var cl = Ui(Ae), + fl = Ui(_e), + hl = Ui(Le); + function pl(t) { + return ma(t) + ? Fe(Fa(t)) + : (function (t) { + return function (e) { + return wn(e, t); + }; + })(t); + } + var dl = Hi(), + vl = Hi(!0); + function gl() { + return []; + } + function yl() { + return !1; + } + var ml, + xl = ji(function (t, e) { + return t + e; + }, 0), + bl = Zi("ceil"), + _l = ji(function (t, e) { + return t / e; + }, 1), + wl = Zi("floor"), + Tl = ji(function (t, e) { + return t * e; + }, 1), + kl = Zi("round"), + Al = ji(function (t, e) { + return t - e; + }, 0); + return ( + (Br.after = function (t, e) { + if ("function" != typeof e) throw new St(a); + return ( + (t = vs(t)), + function () { + if (--t < 1) return e.apply(this, arguments); + } + ); + }), + (Br.ary = Eo), + (Br.assign = bs), + (Br.assignIn = _s), + (Br.assignInWith = ws), + (Br.assignWith = Ts), + (Br.at = ks), + (Br.before = Lo), + (Br.bind = Co), + (Br.bindAll = tl), + (Br.bindKey = Oo), + (Br.castArray = function () { + if (!arguments.length) return []; + var t = arguments[0]; + return Go(t) ? t : [t]; + }), + (Br.chain = ho), + (Br.chunk = function (t, e, r) { + e = (r ? ya(t, e, r) : e === i) ? 1 : gr(vs(e), 0); + var a = null == t ? 0 : t.length; + if (!a || e < 1) return []; + for (var o = 0, s = 0, l = n(ur(a / e)); o < a; ) + l[s++] = ei(t, o, (o += e)); + return l; + }), + (Br.compact = function (t) { + for ( + var e = -1, r = null == t ? 0 : t.length, n = 0, i = []; + ++e < r; + + ) { + var a = t[e]; + a && (i[n++] = a); + } + return i; + }), + (Br.concat = function () { + var t = arguments.length; + if (!t) return []; + for (var e = n(t - 1), r = arguments[0], i = t; i--; ) + e[i - 1] = arguments[i]; + return Me(Go(r) ? Si(r) : [r], gn(e, 1)); + }), + (Br.cond = function (t) { + var e = null == t ? 0 : t.length, + r = oa(); + return ( + (t = e + ? Ae(t, function (t) { + if ("function" != typeof t[1]) throw new St(a); + return [r(t[0]), t[1]]; + }) + : []), + Yn(function (r) { + for (var n = -1; ++n < e; ) { + var i = t[n]; + if (ye(i[0], this, r)) return ye(i[1], this, r); + } + }) + ); + }), + (Br.conforms = function (t) { + return (function (t) { + var e = Ps(t); + return function (r) { + return ln(r, t, e); + }; + })(sn(t, 1)); + }), + (Br.constant = el), + (Br.countBy = go), + (Br.create = function (t, e) { + var r = Nr(t); + return null == e ? r : rn(r, e); + }), + (Br.curry = function t(e, r, n) { + var a = Xi(e, 8, i, i, i, i, i, (r = n ? i : r)); + return (a.placeholder = t.placeholder), a; + }), + (Br.curryRight = function t(e, r, n) { + var a = Xi(e, 16, i, i, i, i, i, (r = n ? i : r)); + return (a.placeholder = t.placeholder), a; + }), + (Br.debounce = Po), + (Br.defaults = As), + (Br.defaultsDeep = Ms), + (Br.defer = Io), + (Br.delay = Do), + (Br.difference = ja), + (Br.differenceBy = Ua), + (Br.differenceWith = Va), + (Br.drop = function (t, e, r) { + var n = null == t ? 0 : t.length; + return n + ? ei(t, (e = r || e === i ? 1 : vs(e)) < 0 ? 0 : e, n) + : []; + }), + (Br.dropRight = function (t, e, r) { + var n = null == t ? 0 : t.length; + return n + ? ei( + t, + 0, + (e = n - (e = r || e === i ? 1 : vs(e))) < 0 + ? 0 + : e, + ) + : []; + }), + (Br.dropRightWhile = function (t, e) { + return t && t.length ? fi(t, oa(e, 3), !0, !0) : []; + }), + (Br.dropWhile = function (t, e) { + return t && t.length ? fi(t, oa(e, 3), !0) : []; + }), + (Br.fill = function (t, e, r, n) { + var a = null == t ? 0 : t.length; + return a + ? (r && + "number" != typeof r && + ya(t, e, r) && + ((r = 0), (n = a)), + (function (t, e, r, n) { + var a = t.length; + for ( + (r = vs(r)) < 0 && (r = -r > a ? 0 : a + r), + (n = n === i || n > a ? a : vs(n)) < 0 && + (n += a), + n = r > n ? 0 : gs(n); + r < n; + + ) + t[r++] = e; + return t; + })(t, e, r, n)) + : []; + }), + (Br.filter = function (t, e) { + return (Go(t) ? we : vn)(t, oa(e, 3)); + }), + (Br.flatMap = function (t, e) { + return gn(ko(t, e), 1); + }), + (Br.flatMapDeep = function (t, e) { + return gn(ko(t, e), c); + }), + (Br.flatMapDepth = function (t, e, r) { + return (r = r === i ? 1 : vs(r)), gn(ko(t, e), r); + }), + (Br.flatten = Ga), + (Br.flattenDeep = function (t) { + return null != t && t.length ? gn(t, c) : []; + }), + (Br.flattenDepth = function (t, e) { + return null != t && t.length + ? gn(t, (e = e === i ? 1 : vs(e))) + : []; + }), + (Br.flip = function (t) { + return Xi(t, 512); + }), + (Br.flow = rl), + (Br.flowRight = nl), + (Br.fromPairs = function (t) { + for ( + var e = -1, r = null == t ? 0 : t.length, n = {}; + ++e < r; + + ) { + var i = t[e]; + n[i[0]] = i[1]; + } + return n; + }), + (Br.functions = function (t) { + return null == t ? [] : _n(t, Ps(t)); + }), + (Br.functionsIn = function (t) { + return null == t ? [] : _n(t, Is(t)); + }), + (Br.groupBy = _o), + (Br.initial = function (t) { + return null != t && t.length ? ei(t, 0, -1) : []; + }), + (Br.intersection = Wa), + (Br.intersectionBy = Ya), + (Br.intersectionWith = Xa), + (Br.invert = Ls), + (Br.invertBy = Cs), + (Br.invokeMap = wo), + (Br.iteratee = al), + (Br.keyBy = To), + (Br.keys = Ps), + (Br.keysIn = Is), + (Br.map = ko), + (Br.mapKeys = function (t, e) { + var r = {}; + return ( + (e = oa(e, 3)), + xn(t, function (t, n, i) { + nn(r, e(t, n, i), t); + }), + r + ); + }), + (Br.mapValues = function (t, e) { + var r = {}; + return ( + (e = oa(e, 3)), + xn(t, function (t, n, i) { + nn(r, n, e(t, n, i)); + }), + r + ); + }), + (Br.matches = function (t) { + return Bn(sn(t, 1)); + }), + (Br.matchesProperty = function (t, e) { + return Nn(t, sn(e, 1)); + }), + (Br.memoize = zo), + (Br.merge = Ds), + (Br.mergeWith = zs), + (Br.method = ol), + (Br.methodOf = sl), + (Br.mixin = ll), + (Br.negate = Ro), + (Br.nthArg = function (t) { + return ( + (t = vs(t)), + Yn(function (e) { + return Un(e, t); + }) + ); + }), + (Br.omit = Rs), + (Br.omitBy = function (t, e) { + return Bs(t, Ro(oa(e))); + }), + (Br.once = function (t) { + return Lo(2, t); + }), + (Br.orderBy = function (t, e, r, n) { + return null == t + ? [] + : (Go(e) || (e = null == e ? [] : [e]), + Go((r = n ? i : r)) || (r = null == r ? [] : [r]), + Vn(t, e, r)); + }), + (Br.over = cl), + (Br.overArgs = Fo), + (Br.overEvery = fl), + (Br.overSome = hl), + (Br.partial = Bo), + (Br.partialRight = No), + (Br.partition = Ao), + (Br.pick = Fs), + (Br.pickBy = Bs), + (Br.property = pl), + (Br.propertyOf = function (t) { + return function (e) { + return null == t ? i : wn(t, e); + }; + }), + (Br.pull = Ka), + (Br.pullAll = $a), + (Br.pullAllBy = function (t, e, r) { + return t && t.length && e && e.length + ? qn(t, e, oa(r, 2)) + : t; + }), + (Br.pullAllWith = function (t, e, r) { + return t && t.length && e && e.length + ? qn(t, e, i, r) + : t; + }), + (Br.pullAt = Qa), + (Br.range = dl), + (Br.rangeRight = vl), + (Br.rearg = jo), + (Br.reject = function (t, e) { + return (Go(t) ? we : vn)(t, Ro(oa(e, 3))); + }), + (Br.remove = function (t, e) { + var r = []; + if (!t || !t.length) return r; + var n = -1, + i = [], + a = t.length; + for (e = oa(e, 3); ++n < a; ) { + var o = t[n]; + e(o, n, t) && (r.push(o), i.push(n)); + } + return Gn(t, i), r; + }), + (Br.rest = function (t, e) { + if ("function" != typeof t) throw new St(a); + return Yn(t, (e = e === i ? e : vs(e))); + }), + (Br.reverse = to), + (Br.sampleSize = function (t, e, r) { + return ( + (e = (r ? ya(t, e, r) : e === i) ? 1 : vs(e)), + (Go(t) ? Jr : Jn)(t, e) + ); + }), + (Br.set = function (t, e, r) { + return null == t ? t : Kn(t, e, r); + }), + (Br.setWith = function (t, e, r, n) { + return ( + (n = "function" == typeof n ? n : i), + null == t ? t : Kn(t, e, r, n) + ); + }), + (Br.shuffle = function (t) { + return (Go(t) ? Kr : ti)(t); + }), + (Br.slice = function (t, e, r) { + var n = null == t ? 0 : t.length; + return n + ? (r && "number" != typeof r && ya(t, e, r) + ? ((e = 0), (r = n)) + : ((e = null == e ? 0 : vs(e)), + (r = r === i ? n : vs(r))), + ei(t, e, r)) + : []; + }), + (Br.sortBy = Mo), + (Br.sortedUniq = function (t) { + return t && t.length ? ai(t) : []; + }), + (Br.sortedUniqBy = function (t, e) { + return t && t.length ? ai(t, oa(e, 2)) : []; + }), + (Br.split = function (t, e, r) { + return ( + r && "number" != typeof r && ya(t, e, r) && (e = r = i), + (r = r === i ? p : r >>> 0) + ? (t = xs(t)) && + ("string" == typeof e || (null != e && !os(e))) && + !(e = si(e)) && + $e(t) + ? xi(ar(t), 0, r) + : t.split(e, r) + : [] + ); + }), + (Br.spread = function (t, e) { + if ("function" != typeof t) throw new St(a); + return ( + (e = null == e ? 0 : gr(vs(e), 0)), + Yn(function (r) { + var n = r[e], + i = xi(r, 0, e); + return n && Me(i, n), ye(t, this, i); + }) + ); + }), + (Br.tail = function (t) { + var e = null == t ? 0 : t.length; + return e ? ei(t, 1, e) : []; + }), + (Br.take = function (t, e, r) { + return t && t.length + ? ei(t, 0, (e = r || e === i ? 1 : vs(e)) < 0 ? 0 : e) + : []; + }), + (Br.takeRight = function (t, e, r) { + var n = null == t ? 0 : t.length; + return n + ? ei( + t, + (e = n - (e = r || e === i ? 1 : vs(e))) < 0 + ? 0 + : e, + n, + ) + : []; + }), + (Br.takeRightWhile = function (t, e) { + return t && t.length ? fi(t, oa(e, 3), !1, !0) : []; + }), + (Br.takeWhile = function (t, e) { + return t && t.length ? fi(t, oa(e, 3)) : []; + }), + (Br.tap = function (t, e) { + return e(t), t; + }), + (Br.throttle = function (t, e, r) { + var n = !0, + i = !0; + if ("function" != typeof t) throw new St(a); + return ( + es(r) && + ((n = "leading" in r ? !!r.leading : n), + (i = "trailing" in r ? !!r.trailing : i)), + Po(t, e, { leading: n, maxWait: e, trailing: i }) + ); + }), + (Br.thru = po), + (Br.toArray = ps), + (Br.toPairs = Ns), + (Br.toPairsIn = js), + (Br.toPath = function (t) { + return Go(t) ? Ae(t, Fa) : us(t) ? [t] : Si(Ra(xs(t))); + }), + (Br.toPlainObject = ms), + (Br.transform = function (t, e, r) { + var n = Go(t), + i = n || Xo(t) || cs(t); + if (((e = oa(e, 4)), null == r)) { + var a = t && t.constructor; + r = i + ? n + ? new a() + : [] + : es(t) && $o(a) + ? Nr(Zt(t)) + : {}; + } + return ( + (i ? xe : xn)(t, function (t, n, i) { + return e(r, t, n, i); + }), + r + ); + }), + (Br.unary = function (t) { + return Eo(t, 1); + }), + (Br.union = eo), + (Br.unionBy = ro), + (Br.unionWith = no), + (Br.uniq = function (t) { + return t && t.length ? li(t) : []; + }), + (Br.uniqBy = function (t, e) { + return t && t.length ? li(t, oa(e, 2)) : []; + }), + (Br.uniqWith = function (t, e) { + return ( + (e = "function" == typeof e ? e : i), + t && t.length ? li(t, i, e) : [] + ); + }), + (Br.unset = function (t, e) { + return null == t || ui(t, e); + }), + (Br.unzip = io), + (Br.unzipWith = ao), + (Br.update = function (t, e, r) { + return null == t ? t : ci(t, e, gi(r)); + }), + (Br.updateWith = function (t, e, r, n) { + return ( + (n = "function" == typeof n ? n : i), + null == t ? t : ci(t, e, gi(r), n) + ); + }), + (Br.values = Us), + (Br.valuesIn = function (t) { + return null == t ? [] : qe(t, Is(t)); + }), + (Br.without = oo), + (Br.words = $s), + (Br.wrap = function (t, e) { + return Bo(gi(e), t); + }), + (Br.xor = so), + (Br.xorBy = lo), + (Br.xorWith = uo), + (Br.zip = co), + (Br.zipObject = function (t, e) { + return di(t || [], e || [], Qr); + }), + (Br.zipObjectDeep = function (t, e) { + return di(t || [], e || [], Kn); + }), + (Br.zipWith = fo), + (Br.entries = Ns), + (Br.entriesIn = js), + (Br.extend = _s), + (Br.extendWith = ws), + ll(Br, Br), + (Br.add = xl), + (Br.attempt = Qs), + (Br.camelCase = Vs), + (Br.capitalize = Hs), + (Br.ceil = bl), + (Br.clamp = function (t, e, r) { + return ( + r === i && ((r = e), (e = i)), + r !== i && (r = (r = ys(r)) == r ? r : 0), + e !== i && (e = (e = ys(e)) == e ? e : 0), + on(ys(t), e, r) + ); + }), + (Br.clone = function (t) { + return sn(t, 4); + }), + (Br.cloneDeep = function (t) { + return sn(t, 5); + }), + (Br.cloneDeepWith = function (t, e) { + return sn(t, 5, (e = "function" == typeof e ? e : i)); + }), + (Br.cloneWith = function (t, e) { + return sn(t, 4, (e = "function" == typeof e ? e : i)); + }), + (Br.conformsTo = function (t, e) { + return null == e || ln(t, e, Ps(e)); + }), + (Br.deburr = qs), + (Br.defaultTo = function (t, e) { + return null == t || t != t ? e : t; + }), + (Br.divide = _l), + (Br.endsWith = function (t, e, r) { + (t = xs(t)), (e = si(e)); + var n = t.length, + a = (r = r === i ? n : on(vs(r), 0, n)); + return (r -= e.length) >= 0 && t.slice(r, a) == e; + }), + (Br.eq = Uo), + (Br.escape = function (t) { + return (t = xs(t)) && Y.test(t) ? t.replace(Z, Je) : t; + }), + (Br.escapeRegExp = function (t) { + return (t = xs(t)) && rt.test(t) + ? t.replace(et, "\\$&") + : t; + }), + (Br.every = function (t, e, r) { + var n = Go(t) ? _e : pn; + return r && ya(t, e, r) && (e = i), n(t, oa(e, 3)); + }), + (Br.find = yo), + (Br.findIndex = Ha), + (Br.findKey = function (t, e) { + return Oe(t, oa(e, 3), xn); + }), + (Br.findLast = mo), + (Br.findLastIndex = qa), + (Br.findLastKey = function (t, e) { + return Oe(t, oa(e, 3), bn); + }), + (Br.floor = wl), + (Br.forEach = xo), + (Br.forEachRight = bo), + (Br.forIn = function (t, e) { + return null == t ? t : yn(t, oa(e, 3), Is); + }), + (Br.forInRight = function (t, e) { + return null == t ? t : mn(t, oa(e, 3), Is); + }), + (Br.forOwn = function (t, e) { + return t && xn(t, oa(e, 3)); + }), + (Br.forOwnRight = function (t, e) { + return t && bn(t, oa(e, 3)); + }), + (Br.get = Ss), + (Br.gt = Vo), + (Br.gte = Ho), + (Br.has = function (t, e) { + return null != t && pa(t, e, Mn); + }), + (Br.hasIn = Es), + (Br.head = Za), + (Br.identity = il), + (Br.includes = function (t, e, r, n) { + (t = Wo(t) ? t : Us(t)), (r = r && !n ? vs(r) : 0); + var i = t.length; + return ( + r < 0 && (r = gr(i + r, 0)), + ls(t) + ? r <= i && t.indexOf(e, r) > -1 + : !!i && Ie(t, e, r) > -1 + ); + }), + (Br.indexOf = function (t, e, r) { + var n = null == t ? 0 : t.length; + if (!n) return -1; + var i = null == r ? 0 : vs(r); + return i < 0 && (i = gr(n + i, 0)), Ie(t, e, i); + }), + (Br.inRange = function (t, e, r) { + return ( + (e = ds(e)), + r === i ? ((r = e), (e = 0)) : (r = ds(r)), + (function (t, e, r) { + return t >= yr(e, r) && t < gr(e, r); + })((t = ys(t)), e, r) + ); + }), + (Br.invoke = Os), + (Br.isArguments = qo), + (Br.isArray = Go), + (Br.isArrayBuffer = Zo), + (Br.isArrayLike = Wo), + (Br.isArrayLikeObject = Yo), + (Br.isBoolean = function (t) { + return !0 === t || !1 === t || (rs(t) && kn(t) == y); + }), + (Br.isBuffer = Xo), + (Br.isDate = Jo), + (Br.isElement = function (t) { + return rs(t) && 1 === t.nodeType && !as(t); + }), + (Br.isEmpty = function (t) { + if (null == t) return !0; + if ( + Wo(t) && + (Go(t) || + "string" == typeof t || + "function" == typeof t.splice || + Xo(t) || + cs(t) || + qo(t)) + ) + return !t.length; + var e = ha(t); + if (e == w || e == S) return !t.size; + if (_a(t)) return !zn(t).length; + for (var r in t) if (It.call(t, r)) return !1; + return !0; + }), + (Br.isEqual = function (t, e) { + return On(t, e); + }), + (Br.isEqualWith = function (t, e, r) { + var n = (r = "function" == typeof r ? r : i) + ? r(t, e) + : i; + return n === i ? On(t, e, i, r) : !!n; + }), + (Br.isError = Ko), + (Br.isFinite = function (t) { + return "number" == typeof t && pr(t); + }), + (Br.isFunction = $o), + (Br.isInteger = Qo), + (Br.isLength = ts), + (Br.isMap = ns), + (Br.isMatch = function (t, e) { + return t === e || Pn(t, e, la(e)); + }), + (Br.isMatchWith = function (t, e, r) { + return ( + (r = "function" == typeof r ? r : i), Pn(t, e, la(e), r) + ); + }), + (Br.isNaN = function (t) { + return is(t) && t != +t; + }), + (Br.isNative = function (t) { + if (ba(t)) + throw new _t( + "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", + ); + return In(t); + }), + (Br.isNil = function (t) { + return null == t; + }), + (Br.isNull = function (t) { + return null === t; + }), + (Br.isNumber = is), + (Br.isObject = es), + (Br.isObjectLike = rs), + (Br.isPlainObject = as), + (Br.isRegExp = os), + (Br.isSafeInteger = function (t) { + return Qo(t) && t >= -9007199254740991 && t <= f; + }), + (Br.isSet = ss), + (Br.isString = ls), + (Br.isSymbol = us), + (Br.isTypedArray = cs), + (Br.isUndefined = function (t) { + return t === i; + }), + (Br.isWeakMap = function (t) { + return rs(t) && ha(t) == C; + }), + (Br.isWeakSet = function (t) { + return rs(t) && "[object WeakSet]" == kn(t); + }), + (Br.join = function (t, e) { + return null == t ? "" : dr.call(t, e); + }), + (Br.kebabCase = Gs), + (Br.last = Ja), + (Br.lastIndexOf = function (t, e, r) { + var n = null == t ? 0 : t.length; + if (!n) return -1; + var a = n; + return ( + r !== i && + (a = (a = vs(r)) < 0 ? gr(n + a, 0) : yr(a, n - 1)), + e == e + ? (function (t, e, r) { + for (var n = r + 1; n--; ) + if (t[n] === e) return n; + return n; + })(t, e, a) + : Pe(t, ze, a, !0) + ); + }), + (Br.lowerCase = Zs), + (Br.lowerFirst = Ws), + (Br.lt = fs), + (Br.lte = hs), + (Br.max = function (t) { + return t && t.length ? dn(t, il, An) : i; + }), + (Br.maxBy = function (t, e) { + return t && t.length ? dn(t, oa(e, 2), An) : i; + }), + (Br.mean = function (t) { + return Re(t, il); + }), + (Br.meanBy = function (t, e) { + return Re(t, oa(e, 2)); + }), + (Br.min = function (t) { + return t && t.length ? dn(t, il, Rn) : i; + }), + (Br.minBy = function (t, e) { + return t && t.length ? dn(t, oa(e, 2), Rn) : i; + }), + (Br.stubArray = gl), + (Br.stubFalse = yl), + (Br.stubObject = function () { + return {}; + }), + (Br.stubString = function () { + return ""; + }), + (Br.stubTrue = function () { + return !0; + }), + (Br.multiply = Tl), + (Br.nth = function (t, e) { + return t && t.length ? Un(t, vs(e)) : i; + }), + (Br.noConflict = function () { + return ae._ === this && (ae._ = Bt), this; + }), + (Br.noop = ul), + (Br.now = So), + (Br.pad = function (t, e, r) { + t = xs(t); + var n = (e = vs(e)) ? ir(t) : 0; + if (!e || n >= e) return t; + var i = (e - n) / 2; + return Vi(cr(i), r) + t + Vi(ur(i), r); + }), + (Br.padEnd = function (t, e, r) { + t = xs(t); + var n = (e = vs(e)) ? ir(t) : 0; + return e && n < e ? t + Vi(e - n, r) : t; + }), + (Br.padStart = function (t, e, r) { + t = xs(t); + var n = (e = vs(e)) ? ir(t) : 0; + return e && n < e ? Vi(e - n, r) + t : t; + }), + (Br.parseInt = function (t, e, r) { + return ( + r || null == e ? (e = 0) : e && (e = +e), + xr(xs(t).replace(nt, ""), e || 0) + ); + }), + (Br.random = function (t, e, r) { + if ( + (r && + "boolean" != typeof r && + ya(t, e, r) && + (e = r = i), + r === i && + ("boolean" == typeof e + ? ((r = e), (e = i)) + : "boolean" == typeof t && ((r = t), (t = i))), + t === i && e === i + ? ((t = 0), (e = 1)) + : ((t = ds(t)), + e === i ? ((e = t), (t = 0)) : (e = ds(e))), + t > e) + ) { + var n = t; + (t = e), (e = n); + } + if (r || t % 1 || e % 1) { + var a = br(); + return yr( + t + a * (e - t + ee("1e-" + ((a + "").length - 1))), + e, + ); + } + return Zn(t, e); + }), + (Br.reduce = function (t, e, r) { + var n = Go(t) ? Se : Ne, + i = arguments.length < 3; + return n(t, oa(e, 4), r, i, fn); + }), + (Br.reduceRight = function (t, e, r) { + var n = Go(t) ? Ee : Ne, + i = arguments.length < 3; + return n(t, oa(e, 4), r, i, hn); + }), + (Br.repeat = function (t, e, r) { + return ( + (e = (r ? ya(t, e, r) : e === i) ? 1 : vs(e)), + Wn(xs(t), e) + ); + }), + (Br.replace = function () { + var t = arguments, + e = xs(t[0]); + return t.length < 3 ? e : e.replace(t[1], t[2]); + }), + (Br.result = function (t, e, r) { + var n = -1, + a = (e = yi(e, t)).length; + for (a || ((a = 1), (t = i)); ++n < a; ) { + var o = null == t ? i : t[Fa(e[n])]; + o === i && ((n = a), (o = r)), + (t = $o(o) ? o.call(t) : o); + } + return t; + }), + (Br.round = kl), + (Br.runInContext = t), + (Br.sample = function (t) { + return (Go(t) ? Xr : Xn)(t); + }), + (Br.size = function (t) { + if (null == t) return 0; + if (Wo(t)) return ls(t) ? ir(t) : t.length; + var e = ha(t); + return e == w || e == S ? t.size : zn(t).length; + }), + (Br.snakeCase = Ys), + (Br.some = function (t, e, r) { + var n = Go(t) ? Le : ri; + return r && ya(t, e, r) && (e = i), n(t, oa(e, 3)); + }), + (Br.sortedIndex = function (t, e) { + return ni(t, e); + }), + (Br.sortedIndexBy = function (t, e, r) { + return ii(t, e, oa(r, 2)); + }), + (Br.sortedIndexOf = function (t, e) { + var r = null == t ? 0 : t.length; + if (r) { + var n = ni(t, e); + if (n < r && Uo(t[n], e)) return n; + } + return -1; + }), + (Br.sortedLastIndex = function (t, e) { + return ni(t, e, !0); + }), + (Br.sortedLastIndexBy = function (t, e, r) { + return ii(t, e, oa(r, 2), !0); + }), + (Br.sortedLastIndexOf = function (t, e) { + if (null != t && t.length) { + var r = ni(t, e, !0) - 1; + if (Uo(t[r], e)) return r; + } + return -1; + }), + (Br.startCase = Xs), + (Br.startsWith = function (t, e, r) { + return ( + (t = xs(t)), + (r = null == r ? 0 : on(vs(r), 0, t.length)), + (e = si(e)), + t.slice(r, r + e.length) == e + ); + }), + (Br.subtract = Al), + (Br.sum = function (t) { + return t && t.length ? je(t, il) : 0; + }), + (Br.sumBy = function (t, e) { + return t && t.length ? je(t, oa(e, 2)) : 0; + }), + (Br.template = function (t, e, r) { + var n = Br.templateSettings; + r && ya(t, e, r) && (e = i), + (t = xs(t)), + (e = ws({}, e, n, Ji)); + var a, + o, + s = ws({}, e.imports, n.imports, Ji), + l = Ps(s), + u = qe(s, l), + c = 0, + f = e.interpolate || xt, + h = "__p += '", + p = At( + (e.escape || xt).source + + "|" + + f.source + + "|" + + (f === K ? ft : xt).source + + "|" + + (e.evaluate || xt).source + + "|$", + "g", + ), + d = + "//# sourceURL=" + + (It.call(e, "sourceURL") + ? (e.sourceURL + "").replace(/\s/g, " ") + : "lodash.templateSources[" + ++Kt + "]") + + "\n"; + t.replace(p, function (e, r, n, i, s, l) { + return ( + n || (n = i), + (h += t.slice(c, l).replace(bt, Ke)), + r && ((a = !0), (h += "' +\n__e(" + r + ") +\n'")), + s && ((o = !0), (h += "';\n" + s + ";\n__p += '")), + n && + (h += + "' +\n((__t = (" + + n + + ")) == null ? '' : __t) +\n'"), + (c = l + e.length), + e + ); + }), + (h += "';\n"); + var v = It.call(e, "variable") && e.variable; + if (v) { + if (ut.test(v)) + throw new _t( + "Invalid `variable` option passed into `_.template`", + ); + } else h = "with (obj) {\n" + h + "\n}\n"; + (h = (o ? h.replace(V, "") : h) + .replace(H, "$1") + .replace(q, "$1;")), + (h = + "function(" + + (v || "obj") + + ") {\n" + + (v ? "" : "obj || (obj = {});\n") + + "var __t, __p = ''" + + (a ? ", __e = _.escape" : "") + + (o + ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n" + : ";\n") + + h + + "return __p\n}"); + var g = Qs(function () { + return wt(l, d + "return " + h).apply(i, u); + }); + if (((g.source = h), Ko(g))) throw g; + return g; + }), + (Br.times = function (t, e) { + if ((t = vs(t)) < 1 || t > f) return []; + var r = p, + n = yr(t, p); + (e = oa(e)), (t -= p); + for (var i = Ue(n, e); ++r < t; ) e(r); + return i; + }), + (Br.toFinite = ds), + (Br.toInteger = vs), + (Br.toLength = gs), + (Br.toLower = function (t) { + return xs(t).toLowerCase(); + }), + (Br.toNumber = ys), + (Br.toSafeInteger = function (t) { + return t + ? on(vs(t), -9007199254740991, f) + : 0 === t + ? t + : 0; + }), + (Br.toString = xs), + (Br.toUpper = function (t) { + return xs(t).toUpperCase(); + }), + (Br.trim = function (t, e, r) { + if ((t = xs(t)) && (r || e === i)) return Ve(t); + if (!t || !(e = si(e))) return t; + var n = ar(t), + a = ar(e); + return xi(n, Ze(n, a), We(n, a) + 1).join(""); + }), + (Br.trimEnd = function (t, e, r) { + if ((t = xs(t)) && (r || e === i)) + return t.slice(0, or(t) + 1); + if (!t || !(e = si(e))) return t; + var n = ar(t); + return xi(n, 0, We(n, ar(e)) + 1).join(""); + }), + (Br.trimStart = function (t, e, r) { + if ((t = xs(t)) && (r || e === i)) + return t.replace(nt, ""); + if (!t || !(e = si(e))) return t; + var n = ar(t); + return xi(n, Ze(n, ar(e))).join(""); + }), + (Br.truncate = function (t, e) { + var r = 30, + n = "..."; + if (es(e)) { + var a = "separator" in e ? e.separator : a; + (r = "length" in e ? vs(e.length) : r), + (n = "omission" in e ? si(e.omission) : n); + } + var o = (t = xs(t)).length; + if ($e(t)) { + var s = ar(t); + o = s.length; + } + if (r >= o) return t; + var l = r - ir(n); + if (l < 1) return n; + var u = s ? xi(s, 0, l).join("") : t.slice(0, l); + if (a === i) return u + n; + if ((s && (l += u.length - l), os(a))) { + if (t.slice(l).search(a)) { + var c, + f = u; + for ( + a.global || + (a = At(a.source, xs(ht.exec(a)) + "g")), + a.lastIndex = 0; + (c = a.exec(f)); + + ) + var h = c.index; + u = u.slice(0, h === i ? l : h); + } + } else if (t.indexOf(si(a), l) != l) { + var p = u.lastIndexOf(a); + p > -1 && (u = u.slice(0, p)); + } + return u + n; + }), + (Br.unescape = function (t) { + return (t = xs(t)) && W.test(t) ? t.replace(G, sr) : t; + }), + (Br.uniqueId = function (t) { + var e = ++Dt; + return xs(t) + e; + }), + (Br.upperCase = Js), + (Br.upperFirst = Ks), + (Br.each = xo), + (Br.eachRight = bo), + (Br.first = Za), + ll( + Br, + ((ml = {}), + xn(Br, function (t, e) { + It.call(Br.prototype, e) || (ml[e] = t); + }), + ml), + { chain: !1 }, + ), + (Br.VERSION = "4.17.21"), + xe( + [ + "bind", + "bindKey", + "curry", + "curryRight", + "partial", + "partialRight", + ], + function (t) { + Br[t].placeholder = Br; + }, + ), + xe(["drop", "take"], function (t, e) { + (Vr.prototype[t] = function (r) { + r = r === i ? 1 : gr(vs(r), 0); + var n = + this.__filtered__ && !e ? new Vr(this) : this.clone(); + return ( + n.__filtered__ + ? (n.__takeCount__ = yr(r, n.__takeCount__)) + : n.__views__.push({ + size: yr(r, p), + type: t + (n.__dir__ < 0 ? "Right" : ""), + }), + n + ); + }), + (Vr.prototype[t + "Right"] = function (e) { + return this.reverse()[t](e).reverse(); + }); + }), + xe(["filter", "map", "takeWhile"], function (t, e) { + var r = e + 1, + n = 1 == r || 3 == r; + Vr.prototype[t] = function (t) { + var e = this.clone(); + return ( + e.__iteratees__.push({ iteratee: oa(t, 3), type: r }), + (e.__filtered__ = e.__filtered__ || n), + e + ); + }; + }), + xe(["head", "last"], function (t, e) { + var r = "take" + (e ? "Right" : ""); + Vr.prototype[t] = function () { + return this[r](1).value()[0]; + }; + }), + xe(["initial", "tail"], function (t, e) { + var r = "drop" + (e ? "" : "Right"); + Vr.prototype[t] = function () { + return this.__filtered__ ? new Vr(this) : this[r](1); + }; + }), + (Vr.prototype.compact = function () { + return this.filter(il); + }), + (Vr.prototype.find = function (t) { + return this.filter(t).head(); + }), + (Vr.prototype.findLast = function (t) { + return this.reverse().find(t); + }), + (Vr.prototype.invokeMap = Yn(function (t, e) { + return "function" == typeof t + ? new Vr(this) + : this.map(function (r) { + return Ln(r, t, e); + }); + })), + (Vr.prototype.reject = function (t) { + return this.filter(Ro(oa(t))); + }), + (Vr.prototype.slice = function (t, e) { + t = vs(t); + var r = this; + return r.__filtered__ && (t > 0 || e < 0) + ? new Vr(r) + : (t < 0 ? (r = r.takeRight(-t)) : t && (r = r.drop(t)), + e !== i && + (r = + (e = vs(e)) < 0 + ? r.dropRight(-e) + : r.take(e - t)), + r); + }), + (Vr.prototype.takeRightWhile = function (t) { + return this.reverse().takeWhile(t).reverse(); + }), + (Vr.prototype.toArray = function () { + return this.take(p); + }), + xn(Vr.prototype, function (t, e) { + var r = /^(?:filter|find|map|reject)|While$/.test(e), + n = /^(?:head|last)$/.test(e), + a = Br[n ? "take" + ("last" == e ? "Right" : "") : e], + o = n || /^find/.test(e); + a && + (Br.prototype[e] = function () { + var e = this.__wrapped__, + s = n ? [1] : arguments, + l = e instanceof Vr, + u = s[0], + c = l || Go(e), + f = function (t) { + var e = a.apply(Br, Me([t], s)); + return n && h ? e[0] : e; + }; + c && + r && + "function" == typeof u && + 1 != u.length && + (l = c = !1); + var h = this.__chain__, + p = !!this.__actions__.length, + d = o && !h, + v = l && !p; + if (!o && c) { + e = v ? e : new Vr(this); + var g = t.apply(e, s); + return ( + g.__actions__.push({ + func: po, + args: [f], + thisArg: i, + }), + new Ur(g, h) + ); + } + return d && v + ? t.apply(this, s) + : ((g = this.thru(f)), + d ? (n ? g.value()[0] : g.value()) : g); + }); + }), + xe( + ["pop", "push", "shift", "sort", "splice", "unshift"], + function (t) { + var e = Et[t], + r = /^(?:push|sort|unshift)$/.test(t) + ? "tap" + : "thru", + n = /^(?:pop|shift)$/.test(t); + Br.prototype[t] = function () { + var t = arguments; + if (n && !this.__chain__) { + var i = this.value(); + return e.apply(Go(i) ? i : [], t); + } + return this[r](function (r) { + return e.apply(Go(r) ? r : [], t); + }); + }; + }, + ), + xn(Vr.prototype, function (t, e) { + var r = Br[e]; + if (r) { + var n = r.name + ""; + It.call(Lr, n) || (Lr[n] = []), + Lr[n].push({ name: e, func: r }); + } + }), + (Lr[Bi(i, 2).name] = [{ name: "wrapper", func: i }]), + (Vr.prototype.clone = function () { + var t = new Vr(this.__wrapped__); + return ( + (t.__actions__ = Si(this.__actions__)), + (t.__dir__ = this.__dir__), + (t.__filtered__ = this.__filtered__), + (t.__iteratees__ = Si(this.__iteratees__)), + (t.__takeCount__ = this.__takeCount__), + (t.__views__ = Si(this.__views__)), + t + ); + }), + (Vr.prototype.reverse = function () { + if (this.__filtered__) { + var t = new Vr(this); + (t.__dir__ = -1), (t.__filtered__ = !0); + } else (t = this.clone()).__dir__ *= -1; + return t; + }), + (Vr.prototype.value = function () { + var t = this.__wrapped__.value(), + e = this.__dir__, + r = Go(t), + n = e < 0, + i = r ? t.length : 0, + a = (function (t, e, r) { + for (var n = -1, i = r.length; ++n < i; ) { + var a = r[n], + o = a.size; + switch (a.type) { + case "drop": + t += o; + break; + case "dropRight": + e -= o; + break; + case "take": + e = yr(e, t + o); + break; + case "takeRight": + t = gr(t, e - o); + } + } + return { start: t, end: e }; + })(0, i, this.__views__), + o = a.start, + s = a.end, + l = s - o, + u = n ? s : o - 1, + c = this.__iteratees__, + f = c.length, + h = 0, + p = yr(l, this.__takeCount__); + if (!r || (!n && i == l && p == l)) + return hi(t, this.__actions__); + var d = []; + t: for (; l-- && h < p; ) { + for (var v = -1, g = t[(u += e)]; ++v < f; ) { + var y = c[v], + m = y.iteratee, + x = y.type, + b = m(g); + if (2 == x) g = b; + else if (!b) { + if (1 == x) continue t; + break t; + } + } + d[h++] = g; + } + return d; + }), + (Br.prototype.at = vo), + (Br.prototype.chain = function () { + return ho(this); + }), + (Br.prototype.commit = function () { + return new Ur(this.value(), this.__chain__); + }), + (Br.prototype.next = function () { + this.__values__ === i && + (this.__values__ = ps(this.value())); + var t = this.__index__ >= this.__values__.length; + return { + done: t, + value: t ? i : this.__values__[this.__index__++], + }; + }), + (Br.prototype.plant = function (t) { + for (var e, r = this; r instanceof jr; ) { + var n = Na(r); + (n.__index__ = 0), + (n.__values__ = i), + e ? (a.__wrapped__ = n) : (e = n); + var a = n; + r = r.__wrapped__; + } + return (a.__wrapped__ = t), e; + }), + (Br.prototype.reverse = function () { + var t = this.__wrapped__; + if (t instanceof Vr) { + var e = t; + return ( + this.__actions__.length && (e = new Vr(this)), + (e = e.reverse()).__actions__.push({ + func: po, + args: [to], + thisArg: i, + }), + new Ur(e, this.__chain__) + ); + } + return this.thru(to); + }), + (Br.prototype.toJSON = + Br.prototype.valueOf = + Br.prototype.value = + function () { + return hi(this.__wrapped__, this.__actions__); + }), + (Br.prototype.first = Br.prototype.head), + oe && + (Br.prototype[oe] = function () { + return this; + }), + Br + ); + })(); + (ae._ = lr), + (n = function () { + return lr; + }.call(e, r, e, t)) === i || (t.exports = n); + }.call(this); + }, + 478: (t) => { + var e; + self, + (e = function () { + return (function () { + var t = { + 98847: function (t, e, r) { + "use strict"; + var n = r(71828), + i = { + "X,X div": + 'direction:ltr;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 .cursor-grab": "cursor:-webkit-grab;cursor:grab;", + "X .modebar": "position:absolute;top:2px;right:2px;", + "X .ease-bg": + "-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;", + "X .modebar--hover>:not(.watermark)": + "opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;", + "X:hover .modebar--hover .modebar-group": + "opacity:1;", + "X .modebar-group": + "float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;", + "X .modebar-btn": + "position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;", + "X .modebar-btn svg": "position:relative;top:2px;", + "X .modebar.vertical": + "display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;", + "X .modebar.vertical svg": "top:-1px;", + "X .modebar.vertical .modebar-group": + "display:block;float:none;padding-left:0px;padding-bottom:8px;", + "X .modebar.vertical .modebar-group .modebar-btn": + "display:block;text-align:center;", + "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:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;', + "X [data-title]:after": + "content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;", + "X .vertical [data-title]:before,X .vertical [data-title]:after": + "top:0%;right:200%;", + "X .vertical [data-title]:before": + "border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;", + Y: 'font-family:"Open Sans",verdana,arial,sans-serif;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,.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:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;", + "Y .notifier-close:hover": + "color:#444;text-decoration:none;cursor:pointer;", + }; + for (var a in i) { + var o = a + .replace(/^,/, " ,") + .replace(/X/g, ".js-plotly-plot .plotly") + .replace(/Y/g, ".plotly-notifier"); + n.addStyleRule(o, i[a]); + } + }, + 98222: function (t, e, r) { + "use strict"; + t.exports = r(82887); + }, + 27206: function (t, e, r) { + "use strict"; + t.exports = r(60822); + }, + 59893: function (t, e, r) { + "use strict"; + t.exports = r(23381); + }, + 5224: function (t, e, r) { + "use strict"; + t.exports = r(83832); + }, + 59509: function (t, e, r) { + "use strict"; + t.exports = r(72201); + }, + 75557: function (t, e, r) { + "use strict"; + t.exports = r(91815); + }, + 40338: function (t, e, r) { + "use strict"; + t.exports = r(21462); + }, + 35080: function (t, e, r) { + "use strict"; + t.exports = r(51319); + }, + 61396: function (t, e, r) { + "use strict"; + t.exports = r(57516); + }, + 40549: function (t, e, r) { + "use strict"; + t.exports = r(98128); + }, + 49866: function (t, e, r) { + "use strict"; + t.exports = r(99442); + }, + 36089: function (t, e, r) { + "use strict"; + t.exports = r(93740); + }, + 19548: function (t, e, r) { + "use strict"; + t.exports = r(8729); + }, + 35831: function (t, e, r) { + "use strict"; + t.exports = r(93814); + }, + 61039: function (t, e, r) { + "use strict"; + t.exports = r(14382); + }, + 97040: function (t, e, r) { + "use strict"; + t.exports = r(51759); + }, + 77986: function (t, e, r) { + "use strict"; + t.exports = r(10421); + }, + 24296: function (t, e, r) { + "use strict"; + t.exports = r(43102); + }, + 58872: function (t, e, r) { + "use strict"; + t.exports = r(92165); + }, + 29626: function (t, e, r) { + "use strict"; + t.exports = r(3325); + }, + 65591: function (t, e, r) { + "use strict"; + t.exports = r(36071); + }, + 69738: function (t, e, r) { + "use strict"; + t.exports = r(43905); + }, + 92650: function (t, e, r) { + "use strict"; + t.exports = r(35902); + }, + 35630: function (t, e, r) { + "use strict"; + t.exports = r(69816); + }, + 73434: function (t, e, r) { + "use strict"; + t.exports = r(94507); + }, + 27909: function (t, e, r) { + "use strict"; + var n = r(19548); + n.register([ + r(27206), + r(5224), + r(58872), + r(65591), + r(69738), + r(92650), + r(49866), + r(25743), + r(6197), + r(97040), + r(85461), + r(73434), + r(54201), + r(81299), + r(47645), + r(35630), + r(77986), + r(83043), + r(93005), + r(96881), + r(4534), + r(50581), + r(40549), + r(77900), + r(47582), + r(35080), + r(21641), + r(17280), + r(5861), + r(29626), + r(10021), + r(65317), + r(96268), + r(61396), + r(35831), + r(16122), + r(46163), + r(40344), + r(40338), + r(48131), + r(36089), + r(55334), + r(75557), + r(19440), + r(99488), + r(59893), + r(97393), + r(98222), + r(61039), + r(24296), + r(66398), + r(59509), + ]), + (t.exports = n); + }, + 46163: function (t, e, r) { + "use strict"; + t.exports = r(15154); + }, + 96881: function (t, e, r) { + "use strict"; + t.exports = r(64943); + }, + 50581: function (t, e, r) { + "use strict"; + t.exports = r(21164); + }, + 55334: function (t, e, r) { + "use strict"; + t.exports = r(54186); + }, + 65317: function (t, e, r) { + "use strict"; + t.exports = r(94873); + }, + 10021: function (t, e, r) { + "use strict"; + t.exports = r(67618); + }, + 54201: function (t, e, r) { + "use strict"; + t.exports = r(58810); + }, + 5861: function (t, e, r) { + "use strict"; + t.exports = r(20593); + }, + 16122: function (t, e, r) { + "use strict"; + t.exports = r(29396); + }, + 83043: function (t, e, r) { + "use strict"; + t.exports = r(13551); + }, + 48131: function (t, e, r) { + "use strict"; + t.exports = r(46858); + }, + 47582: function (t, e, r) { + "use strict"; + t.exports = r(17988); + }, + 21641: function (t, e, r) { + "use strict"; + t.exports = r(68868); + }, + 96268: function (t, e, r) { + "use strict"; + t.exports = r(20467); + }, + 19440: function (t, e, r) { + "use strict"; + t.exports = r(91271); + }, + 99488: function (t, e, r) { + "use strict"; + t.exports = r(21461); + }, + 97393: function (t, e, r) { + "use strict"; + t.exports = r(85956); + }, + 25743: function (t, e, r) { + "use strict"; + t.exports = r(52979); + }, + 66398: function (t, e, r) { + "use strict"; + t.exports = r(32275); + }, + 17280: function (t, e, r) { + "use strict"; + t.exports = r(6419); + }, + 77900: function (t, e, r) { + "use strict"; + t.exports = r(61510); + }, + 81299: function (t, e, r) { + "use strict"; + t.exports = r(87619); + }, + 93005: function (t, e, r) { + "use strict"; + t.exports = r(93601); + }, + 40344: function (t, e, r) { + "use strict"; + t.exports = r(96595); + }, + 47645: function (t, e, r) { + "use strict"; + t.exports = r(70954); + }, + 6197: function (t, e, r) { + "use strict"; + t.exports = r(47462); + }, + 4534: function (t, e, r) { + "use strict"; + t.exports = r(17659); + }, + 85461: function (t, e, r) { + "use strict"; + t.exports = r(19990); + }, + 82884: function (t) { + "use strict"; + t.exports = [ + { path: "", backoff: 0 }, + { path: "M-2.4,-3V3L0.6,0Z", backoff: 0.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 }, + ]; + }, + 50215: function (t, e, r) { + "use strict"; + var n = r(82884), + i = r(41940), + a = r(85555), + o = r(44467).templatedArray; + r(24695), + (t.exports = o("annotation", { + visible: { + valType: "boolean", + dflt: !0, + editType: "calc+arraydraw", + }, + text: { + valType: "string", + editType: "calc+arraydraw", + }, + textangle: { + valType: "angle", + dflt: 0, + editType: "calc+arraydraw", + }, + font: i({ + editType: "calc+arraydraw", + colorEditType: "arraydraw", + }), + width: { + valType: "number", + min: 1, + dflt: null, + editType: "calc+arraydraw", + }, + height: { + valType: "number", + min: 1, + dflt: null, + editType: "calc+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: "calc+arraydraw", + }, + borderwidth: { + valType: "number", + min: 0, + dflt: 1, + editType: "calc+arraydraw", + }, + showarrow: { + valType: "boolean", + dflt: !0, + editType: "calc+arraydraw", + }, + arrowcolor: { + valType: "color", + editType: "arraydraw", + }, + arrowhead: { + valType: "integer", + min: 0, + max: n.length, + dflt: 1, + editType: "arraydraw", + }, + startarrowhead: { + valType: "integer", + min: 0, + max: n.length, + dflt: 1, + editType: "arraydraw", + }, + arrowside: { + valType: "flaglist", + flags: ["end", "start"], + extras: ["none"], + dflt: "end", + editType: "arraydraw", + }, + arrowsize: { + valType: "number", + min: 0.3, + dflt: 1, + editType: "calc+arraydraw", + }, + startarrowsize: { + valType: "number", + min: 0.3, + dflt: 1, + editType: "calc+arraydraw", + }, + arrowwidth: { + valType: "number", + min: 0.1, + editType: "calc+arraydraw", + }, + standoff: { + valType: "number", + min: 0, + dflt: 0, + editType: "calc+arraydraw", + }, + startstandoff: { + valType: "number", + min: 0, + dflt: 0, + editType: "calc+arraydraw", + }, + ax: { valType: "any", editType: "calc+arraydraw" }, + ay: { valType: "any", editType: "calc+arraydraw" }, + axref: { + valType: "enumerated", + dflt: "pixel", + values: ["pixel", a.idRegex.x.toString()], + editType: "calc", + }, + ayref: { + valType: "enumerated", + dflt: "pixel", + values: ["pixel", a.idRegex.y.toString()], + editType: "calc", + }, + xref: { + valType: "enumerated", + values: ["paper", a.idRegex.x.toString()], + editType: "calc", + }, + x: { valType: "any", editType: "calc+arraydraw" }, + xanchor: { + valType: "enumerated", + values: ["auto", "left", "center", "right"], + dflt: "auto", + editType: "calc+arraydraw", + }, + xshift: { + valType: "number", + dflt: 0, + editType: "calc+arraydraw", + }, + yref: { + valType: "enumerated", + values: ["paper", a.idRegex.y.toString()], + editType: "calc", + }, + y: { valType: "any", editType: "calc+arraydraw" }, + yanchor: { + valType: "enumerated", + values: ["auto", "top", "middle", "bottom"], + dflt: "auto", + editType: "calc+arraydraw", + }, + yshift: { + valType: "number", + dflt: 0, + editType: "calc+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: i({ editType: "arraydraw" }), + editType: "arraydraw", + }, + captureevents: { + valType: "boolean", + editType: "arraydraw", + }, + editType: "calc", + _deprecated: { + ref: { valType: "string", editType: "calc" }, + }, + })); + }, + 3749: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(92605).draw; + function o(t) { + var e = t._fullLayout; + n.filterVisible(e.annotations).forEach(function (e) { + var r = i.getFromId(t, e.xref), + n = i.getFromId(t, e.yref), + a = i.getRefType(e.xref), + o = i.getRefType(e.yref); + (e._extremes = {}), + "range" === a && s(e, r), + "range" === o && s(e, n); + }); + } + function s(t, e) { + var r, + n = e._id, + a = n.charAt(0), + o = t[a], + s = t["a" + a], + l = t[a + "ref"], + u = t["a" + a + "ref"], + c = t["_" + a + "padplus"], + f = t["_" + a + "padminus"], + h = { x: 1, y: -1 }[a] * t[a + "shift"], + p = 3 * t.arrowsize * t.arrowwidth || 0, + d = p + h, + v = p - h, + g = 3 * t.startarrowsize * t.arrowwidth || 0, + y = g + h, + m = g - h; + if (u === l) { + var x = i.findExtremes(e, [e.r2c(o)], { + ppadplus: d, + ppadminus: v, + }), + b = i.findExtremes(e, [e.r2c(s)], { + ppadplus: Math.max(c, y), + ppadminus: Math.max(f, m), + }); + r = { + min: [x.min[0], b.min[0]], + max: [x.max[0], b.max[0]], + }; + } else + (y = s ? y + s : y), + (m = s ? m - s : m), + (r = i.findExtremes(e, [e.r2c(o)], { + ppadplus: Math.max(c, d, y), + ppadminus: Math.max(f, v, m), + })); + t._extremes[n] = r; + } + t.exports = function (t) { + var e = t._fullLayout; + if ( + n.filterVisible(e.annotations).length && + t._fullData.length + ) + return n.syncOrAsync([a, o], t); + }; + }, + 44317: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(73972), + a = r(44467).arrayEditor; + function o(t, e) { + var r, + n, + i, + a, + o, + l, + u, + c = t._fullLayout.annotations, + f = [], + h = [], + p = [], + d = (e || []).length; + for (r = 0; r < c.length; r++) + if ((a = (i = c[r]).clicktoshow)) { + for (n = 0; n < d; n++) + if ( + ((l = (o = e[n]).xaxis), + (u = o.yaxis), + l._id === i.xref && + u._id === i.yref && + l.d2r(o.x) === s(i._xclick, l) && + u.d2r(o.y) === s(i._yclick, u)) + ) { + (i.visible ? ("onout" === a ? h : p) : f).push( + r, + ); + break; + } + n === d && i.visible && "onout" === a && h.push(r); + } + return { on: f, off: h, explicitOff: p }; + } + function s(t, e) { + return "log" === e.type ? e.l2r(t) : e.d2r(t); + } + t.exports = { + hasClickToShow: function (t, e) { + var r = o(t, e); + return r.on.length > 0 || r.explicitOff.length > 0; + }, + onClick: function (t, e) { + var r, + s, + l = o(t, e), + u = l.on, + c = l.off.concat(l.explicitOff), + f = {}, + h = t._fullLayout.annotations; + if (u.length || c.length) { + for (r = 0; r < u.length; r++) + (s = a( + t.layout, + "annotations", + h[u[r]], + )).modifyItem("visible", !0), + n.extendFlat(f, s.getUpdateObj()); + for (r = 0; r < c.length; r++) + (s = a( + t.layout, + "annotations", + h[c[r]], + )).modifyItem("visible", !1), + n.extendFlat(f, s.getUpdateObj()); + return i.call("update", t, {}, f); + } + }, + }; + }, + 25625: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901); + t.exports = function (t, e, r, a) { + a("opacity"); + var o = a("bgcolor"), + s = a("bordercolor"), + l = i.opacity(s); + a("borderpad"); + var u = a("borderwidth"), + c = a("showarrow"); + if ( + (a("text", c ? " " : r._dfltTitle.annotation), + a("textangle"), + n.coerceFont(a, "font", r.font), + a("width"), + a("align"), + a("height") && a("valign"), + c) + ) { + var f, + h, + p = a("arrowside"); + -1 !== p.indexOf("end") && + ((f = a("arrowhead")), (h = a("arrowsize"))), + -1 !== p.indexOf("start") && + (a("startarrowhead", f), a("startarrowsize", h)), + a("arrowcolor", l ? e.bordercolor : i.defaultLine), + a("arrowwidth", 2 * ((l && u) || 1)), + a("standoff"), + a("startstandoff"); + } + var d = a("hovertext"), + v = r.hoverlabel || {}; + if (d) { + var g = a( + "hoverlabel.bgcolor", + v.bgcolor || + (i.opacity(o) ? i.rgb(o) : i.defaultLine), + ), + y = a( + "hoverlabel.bordercolor", + v.bordercolor || i.contrast(g), + ); + n.coerceFont(a, "hoverlabel.font", { + family: v.font.family, + size: v.font.size, + color: v.font.color || y, + }); + } + a("captureevents", !!d); + }; + }, + 94128: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(58163); + t.exports = function (t, e, r, a) { + e = e || {}; + var o = "log" === r && "linear" === e.type, + s = "linear" === r && "log" === e.type; + if (o || s) + for ( + var l, + u, + c = t._fullLayout.annotations, + f = e._id.charAt(0), + h = 0; + h < c.length; + h++ + ) + (l = c[h]), + (u = "annotations[" + h + "]."), + l[f + "ref"] === e._id && p(f), + l["a" + f + "ref"] === e._id && p("a" + f); + function p(t) { + var r = l[t], + s = null; + (s = o ? i(r, e.range) : Math.pow(10, r)), + n(s) || (s = null), + a(u + t, s); + } + }; + }, + 84046: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(85501), + o = r(25625), + s = r(50215); + function l(t, e, r) { + function a(r, i) { + return n.coerce(t, e, s, r, i); + } + var l = a("visible"), + u = a("clicktoshow"); + if (l || u) { + o(t, e, r, a); + for ( + var c = e.showarrow, + f = ["x", "y"], + h = [-10, -30], + p = { _fullLayout: r }, + d = 0; + d < 2; + d++ + ) { + var v = f[d], + g = i.coerceRef(t, e, p, v, "", "paper"); + if ( + ("paper" !== g && + i.getFromId(p, g)._annIndices.push(e._index), + i.coercePosition(e, p, a, g, v, 0.5), + c) + ) { + var y = "a" + v, + m = i.coerceRef(t, e, p, y, "pixel", [ + "pixel", + "paper", + ]); + "pixel" !== m && m !== g && (m = e[y] = "pixel"); + var x = "pixel" === m ? h[d] : 0.4; + i.coercePosition(e, p, a, m, y, x); + } + a(v + "anchor"), a(v + "shift"); + } + if ( + (n.noneOrAll(t, e, ["x", "y"]), + c && n.noneOrAll(t, e, ["ax", "ay"]), + u) + ) { + var b = a("xclick"), + _ = a("yclick"); + (e._xclick = + void 0 === b + ? e.x + : i.cleanPosition(b, p, e.xref)), + (e._yclick = + void 0 === _ + ? e.y + : i.cleanPosition(_, p, e.yref)); + } + } + } + t.exports = function (t, e) { + a(t, e, { name: "annotations", handleItemDefaults: l }); + }; + }, + 92605: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(74875), + o = r(71828), + s = o.strTranslate, + l = r(89298), + u = r(7901), + c = r(91424), + f = r(30211), + h = r(63893), + p = r(6964), + d = r(28569), + v = r(44467).arrayEditor, + g = r(13011); + function y(t, e) { + var r = t._fullLayout.annotations[e] || {}, + n = l.getFromId(t, r.xref), + i = l.getFromId(t, r.yref); + n && n.setScale(), + i && i.setScale(), + x(t, r, e, !1, n, i); + } + function m(t, e, r, n, i) { + var a = i[r], + o = i[r + "ref"], + s = -1 !== r.indexOf("y"), + u = "domain" === l.getRefType(o), + c = s ? n.h : n.w; + return t + ? u + ? a + (s ? -e : e) / t._length + : t.p2r(t.r2p(a) + e) + : a + (s ? -e : e) / c; + } + function x(t, e, r, a, y, x) { + var b, + _, + w = t._fullLayout, + T = t._fullLayout._size, + k = t._context.edits; + a + ? ((b = "annotation-" + a), (_ = a + ".annotations")) + : ((b = "annotation"), (_ = "annotations")); + var A = v(t.layout, _, e), + M = A.modifyBase, + S = A.modifyItem, + E = A.getUpdateObj; + w._infolayer + .selectAll("." + b + '[data-index="' + r + '"]') + .remove(); + var L = "clip" + w._uid + "_ann" + r; + if (e._input && !1 !== e.visible) { + var C = { x: {}, y: {} }, + O = +e.textangle || 0, + P = w._infolayer + .append("g") + .classed(b, !0) + .attr("data-index", String(r)) + .style("opacity", e.opacity), + I = P.append("g").classed("annotation-text-g", !0), + D = + k[ + e.showarrow + ? "annotationTail" + : "annotationPosition" + ], + z = e.captureevents || k.annotationText || D, + R = I.append("g") + .style("pointer-events", z ? "all" : null) + .call(p, "pointer") + .on("click", function () { + (t._dragging = !1), + t.emit("plotly_clickannotation", Z(n.event)); + }); + e.hovertext && + R.on("mouseover", function () { + var r = e.hoverlabel, + n = r.font, + i = this.getBoundingClientRect(), + a = t.getBoundingClientRect(); + f.loneHover( + { + x0: i.left - a.left, + x1: i.right - a.left, + y: (i.top + i.bottom) / 2 - a.top, + text: e.hovertext, + color: r.bgcolor, + borderColor: r.bordercolor, + fontFamily: n.family, + fontSize: n.size, + fontColor: n.color, + }, + { + container: w._hoverlayer.node(), + outerContainer: w._paper.node(), + gd: t, + }, + ); + }).on("mouseout", function () { + f.loneUnhover(w._hoverlayer.node()); + }); + var F = e.borderwidth, + B = e.borderpad, + N = F + B, + j = R.append("rect") + .attr("class", "bg") + .style("stroke-width", F + "px") + .call(u.stroke, e.bordercolor) + .call(u.fill, e.bgcolor), + U = e.width || e.height, + V = w._topclips + .selectAll("#" + L) + .data(U ? [0] : []); + V.enter() + .append("clipPath") + .classed("annclip", !0) + .attr("id", L) + .append("rect"), + V.exit().remove(); + var H = e.font, + q = w._meta + ? o.templateString(e.text, w._meta) + : e.text, + G = R.append("text") + .classed("annotation-text", !0) + .text(q); + k.annotationText + ? G.call(h.makeEditable, { delegate: R, gd: t }) + .call(W) + .on("edit", function (r) { + (e.text = r), + this.call(W), + S("text", r), + y && + y.autorange && + M(y._name + ".autorange", !0), + x && + x.autorange && + M(x._name + ".autorange", !0), + i.call("_guiRelayout", t, E()); + }) + : G.call(W); + } else n.selectAll("#" + L).remove(); + function Z(t) { + var n = { + index: r, + annotation: e._input, + fullAnnotation: e, + event: t, + }; + return a && (n.subplotId = a), n; + } + function W(r) { + return ( + r + .call(c.font, H) + .attr({ + "text-anchor": + { left: "start", right: "end" }[e.align] || + "middle", + }), + h.convertToTspans(r, t, Y), + r + ); + } + function Y() { + var r = G.selectAll("a"); + 1 === r.size() && + r.text() === G.text() && + R.insert("a", ":first-child") + .attr({ + "xlink:xlink:href": r.attr("xlink:href"), + "xlink:xlink:show": r.attr("xlink:show"), + }) + .style({ cursor: "pointer" }) + .node() + .appendChild(j.node()); + var n = R.select(".annotation-text-math-group"), + f = !n.empty(), + v = c.bBox((f ? n : G).node()), + b = v.width, + _ = v.height, + A = e.width || b, + z = e.height || _, + B = Math.round(A + 2 * N), + H = Math.round(z + 2 * N); + function q(t, e) { + return ( + "auto" === e && + (e = + t < 1 / 3 + ? "left" + : t > 2 / 3 + ? "right" + : "center"), + { + center: 0, + middle: 0, + left: 0.5, + bottom: -0.5, + right: -0.5, + top: 0.5, + }[e] + ); + } + for ( + var W = !1, Y = ["x", "y"], X = 0; + X < Y.length; + X++ + ) { + var J, + K, + $, + Q, + tt, + et = Y[X], + rt = e[et + "ref"] || et, + nt = e["a" + et + "ref"], + it = { x: y, y: x }[et], + at = + ((O + ("x" === et ? 0 : -90)) * Math.PI) / 180, + ot = B * Math.cos(at), + st = H * Math.sin(at), + lt = Math.abs(ot) + Math.abs(st), + ut = e[et + "anchor"], + ct = e[et + "shift"] * ("x" === et ? 1 : -1), + ft = C[et], + ht = l.getRefType(rt); + if (it && "domain" !== ht) { + var pt = it.r2fraction(e[et]); + (pt < 0 || pt > 1) && + (nt === rt + ? ((pt = it.r2fraction(e["a" + et])) < 0 || + pt > 1) && + (W = !0) + : (W = !0)), + (J = it._offset + it.r2p(e[et])), + (Q = 0.5); + } else { + var dt = "domain" === ht; + "x" === et + ? (($ = e[et]), + (J = dt + ? it._offset + it._length * $ + : (J = T.l + T.w * $))) + : (($ = 1 - e[et]), + (J = dt + ? it._offset + it._length * $ + : (J = T.t + T.h * $))), + (Q = e.showarrow ? 0.5 : $); + } + if (e.showarrow) { + ft.head = J; + var vt = e["a" + et]; + if ( + ((tt = + ot * q(0.5, e.xanchor) - + st * q(0.5, e.yanchor)), + nt === rt) + ) { + var gt = l.getRefType(nt); + "domain" === gt + ? ("y" === et && (vt = 1 - vt), + (ft.tail = it._offset + it._length * vt)) + : "paper" === gt + ? "y" === et + ? ((vt = 1 - vt), + (ft.tail = T.t + T.h * vt)) + : (ft.tail = T.l + T.w * vt) + : (ft.tail = it._offset + it.r2p(vt)), + (K = tt); + } else (ft.tail = J + vt), (K = tt + vt); + ft.text = ft.tail + tt; + var yt = w["x" === et ? "width" : "height"]; + if ( + ("paper" === rt && + (ft.head = o.constrain(ft.head, 1, yt - 1)), + "pixel" === nt) + ) { + var mt = -Math.max(ft.tail - 3, ft.text), + xt = Math.min(ft.tail + 3, ft.text) - yt; + mt > 0 + ? ((ft.tail += mt), (ft.text += mt)) + : xt > 0 && + ((ft.tail -= xt), (ft.text -= xt)); + } + (ft.tail += ct), (ft.head += ct); + } else (K = tt = lt * q(Q, ut)), (ft.text = J + tt); + (ft.text += ct), + (tt += ct), + (K += ct), + (e["_" + et + "padplus"] = lt / 2 + K), + (e["_" + et + "padminus"] = lt / 2 - K), + (e["_" + et + "size"] = lt), + (e["_" + et + "shift"] = tt); + } + if (W) R.remove(); + else { + var bt = 0, + _t = 0; + if ( + ("left" !== e.align && + (bt = + (A - b) * ("center" === e.align ? 0.5 : 1)), + "top" !== e.valign && + (_t = + (z - _) * ("middle" === e.valign ? 0.5 : 1)), + f) + ) + n.select("svg") + .attr({ x: N + bt - 1, y: N + _t }) + .call(c.setClipUrl, U ? L : null, t); + else { + var wt = N + _t - v.top, + Tt = N + bt - v.left; + G.call(h.positionText, Tt, wt).call( + c.setClipUrl, + U ? L : null, + t, + ); + } + V.select("rect").call(c.setRect, N, N, A, z), + j.call(c.setRect, F / 2, F / 2, B - F, H - F), + R.call( + c.setTranslate, + Math.round(C.x.text - B / 2), + Math.round(C.y.text - H / 2), + ), + I.attr({ + transform: + "rotate(" + + O + + "," + + C.x.text + + "," + + C.y.text + + ")", + }); + var kt, + At = function (r, n) { + P.selectAll(".annotation-arrow-g").remove(); + var l = C.x.head, + f = C.y.head, + h = C.x.tail + r, + p = C.y.tail + n, + v = C.x.text + r, + b = C.y.text + n, + _ = o.rotationXYMatrix(O, v, b), + w = o.apply2DTransform(_), + A = o.apply2DTransform2(_), + L = +j.attr("width"), + D = +j.attr("height"), + z = v - 0.5 * L, + F = z + L, + B = b - 0.5 * D, + N = B + D, + U = [ + [z, B, z, N], + [z, N, F, N], + [F, N, F, B], + [F, B, z, B], + ].map(A); + if ( + !U.reduce(function (t, e) { + return ( + t ^ + !!o.segmentsIntersect( + l, + f, + l + 1e6, + f + 1e6, + e[0], + e[1], + e[2], + e[3], + ) + ); + }, !1) + ) { + U.forEach(function (t) { + var e = o.segmentsIntersect( + h, + p, + l, + f, + t[0], + t[1], + t[2], + t[3], + ); + e && ((h = e.x), (p = e.y)); + }); + var V = e.arrowwidth, + H = e.arrowcolor, + q = e.arrowside, + G = P.append("g") + .style({ opacity: u.opacity(H) }) + .classed("annotation-arrow-g", !0), + Z = G.append("path") + .attr( + "d", + "M" + h + "," + p + "L" + l + "," + f, + ) + .style("stroke-width", V + "px") + .call(u.stroke, u.rgb(H)); + if ( + (g(Z, q, e), + k.annotationPosition && + Z.node().parentNode && + !a) + ) { + var W = l, + Y = f; + if (e.standoff) { + var X = Math.sqrt( + Math.pow(l - h, 2) + Math.pow(f - p, 2), + ); + (W += (e.standoff * (h - l)) / X), + (Y += (e.standoff * (p - f)) / X); + } + var J, + K, + $ = G.append("path") + .classed("annotation-arrow", !0) + .classed("anndrag", !0) + .classed("cursor-move", !0) + .attr({ + d: + "M3,3H-3V-3H3ZM0,0L" + + (h - W) + + "," + + (p - Y), + transform: s(W, Y), + }) + .style("stroke-width", V + 6 + "px") + .call(u.stroke, "rgba(0,0,0,0)") + .call(u.fill, "rgba(0,0,0,0)"); + d.init({ + element: $.node(), + gd: t, + prepFn: function () { + var t = c.getTranslate(R); + (J = t.x), + (K = t.y), + y && + y.autorange && + M(y._name + ".autorange", !0), + x && + x.autorange && + M(x._name + ".autorange", !0); + }, + moveFn: function (t, r) { + var n = w(J, K), + i = n[0] + t, + a = n[1] + r; + R.call(c.setTranslate, i, a), + S("x", m(y, t, "x", T, e)), + S("y", m(x, r, "y", T, e)), + e.axref === e.xref && + S("ax", m(y, t, "ax", T, e)), + e.ayref === e.yref && + S("ay", m(x, r, "ay", T, e)), + G.attr("transform", s(t, r)), + I.attr({ + transform: + "rotate(" + + O + + "," + + i + + "," + + a + + ")", + }); + }, + doneFn: function () { + i.call("_guiRelayout", t, E()); + var e = document.querySelector( + ".js-notes-box-panel", + ); + e && e.redraw(e.selectedObj); + }, + }); + } + } + }; + e.showarrow && At(0, 0), + D && + d.init({ + element: R.node(), + gd: t, + prepFn: function () { + kt = I.attr("transform"); + }, + moveFn: function (t, r) { + var n = "pointer"; + if (e.showarrow) + e.axref === e.xref + ? S("ax", m(y, t, "ax", T, e)) + : S("ax", e.ax + t), + e.ayref === e.yref + ? S("ay", m(x, r, "ay", T.w, e)) + : S("ay", e.ay + r), + At(t, r); + else { + if (a) return; + var i, o; + if (y) i = m(y, t, "x", T, e); + else { + var l = e._xsize / T.w, + u = + e.x + + (e._xshift - e.xshift) / T.w - + l / 2; + i = d.align( + u + t / T.w, + l, + 0, + 1, + e.xanchor, + ); + } + if (x) o = m(x, r, "y", T, e); + else { + var c = e._ysize / T.h, + f = + e.y - + (e._yshift + e.yshift) / T.h - + c / 2; + o = d.align( + f - r / T.h, + c, + 0, + 1, + e.yanchor, + ); + } + S("x", i), + S("y", o), + (y && x) || + (n = d.getCursor( + y ? 0.5 : i, + x ? 0.5 : o, + e.xanchor, + e.yanchor, + )); + } + I.attr({ transform: s(t, r) + kt }), + p(R, n); + }, + clickFn: function (r, n) { + e.captureevents && + t.emit("plotly_clickannotation", Z(n)); + }, + doneFn: function () { + p(R), i.call("_guiRelayout", t, E()); + var e = document.querySelector( + ".js-notes-box-panel", + ); + e && e.redraw(e.selectedObj); + }, + }); + } + } + } + t.exports = { + 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 && y(t, r); + return a.previousPromises(t); + }, + drawOne: y, + drawRaw: x, + }; + }, + 13011: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(7901), + a = r(82884), + o = r(71828), + s = o.strScale, + l = o.strRotate, + u = o.strTranslate; + t.exports = function (t, e, r) { + var o, + c, + f, + h, + p = t.node(), + d = a[r.arrowhead || 0], + v = a[r.startarrowhead || 0], + g = (r.arrowwidth || 1) * (r.arrowsize || 1), + y = (r.arrowwidth || 1) * (r.startarrowsize || 1), + m = e.indexOf("start") >= 0, + x = e.indexOf("end") >= 0, + b = d.backoff * g + r.standoff, + _ = v.backoff * y + r.startstandoff; + if ("line" === p.nodeName) { + (o = { x: +t.attr("x1"), y: +t.attr("y1") }), + (c = { x: +t.attr("x2"), y: +t.attr("y2") }); + var w = o.x - c.x, + T = o.y - c.y; + if ( + ((h = (f = Math.atan2(T, w)) + Math.PI), + b && _ && b + _ > Math.sqrt(w * w + T * T)) + ) + return void D(); + if (b) { + if (b * b > w * w + T * T) return void D(); + var k = b * Math.cos(f), + A = b * Math.sin(f); + (c.x += k), + (c.y += A), + t.attr({ x2: c.x, y2: c.y }); + } + if (_) { + if (_ * _ > w * w + T * T) return void D(); + var M = _ * Math.cos(f), + S = _ * Math.sin(f); + (o.x -= M), + (o.y -= S), + t.attr({ x1: o.x, y1: o.y }); + } + } else if ("path" === p.nodeName) { + var E = p.getTotalLength(), + L = ""; + if (E < b + _) return void D(); + var C = p.getPointAtLength(0), + O = p.getPointAtLength(0.1); + (f = Math.atan2(C.y - O.y, C.x - O.x)), + (o = p.getPointAtLength(Math.min(_, E))), + (L = "0px," + _ + "px,"); + var P = p.getPointAtLength(E), + I = p.getPointAtLength(E - 0.1); + (h = Math.atan2(P.y - I.y, P.x - I.x)), + (c = p.getPointAtLength(Math.max(0, E - b))), + (L += E - (L ? _ + b : b) + "px," + E + "px"), + t.style("stroke-dasharray", L); + } + function D() { + t.style("stroke-dasharray", "0px,100px"); + } + function z(e, a, o, c) { + e.path && + (e.noRotate && (o = 0), + n + .select(p.parentNode) + .append("path") + .attr({ + class: t.attr("class"), + d: e.path, + transform: + u(a.x, a.y) + l((180 * o) / Math.PI) + s(c), + }) + .style({ + fill: i.rgb(r.arrowcolor), + "stroke-width": 0, + })); + } + m && z(v, o, f, y), x && z(d, c, h, g); + }; + }, + 32745: function (t, e, r) { + "use strict"; + var n = r(92605), + i = r(44317); + t.exports = { + moduleType: "component", + name: "annotations", + layoutAttributes: r(50215), + supplyLayoutDefaults: r(84046), + includeBasePlot: r(76325)("annotations"), + calcAutorange: r(3749), + draw: n.draw, + drawOne: n.drawOne, + drawRaw: n.drawRaw, + hasClickToShow: i.hasClickToShow, + onClick: i.onClick, + convertCoords: r(94128), + }; + }, + 26997: function (t, e, r) { + "use strict"; + var n = r(50215), + i = r(30962).overrideAll, + a = r(44467).templatedArray; + t.exports = i( + a("annotation", { + visible: n.visible, + x: { valType: "any" }, + y: { valType: "any" }, + z: { valType: "any" }, + ax: { valType: "number" }, + ay: { valType: "number" }, + xanchor: n.xanchor, + xshift: n.xshift, + yanchor: n.yanchor, + yshift: n.yshift, + text: n.text, + textangle: n.textangle, + font: n.font, + width: n.width, + height: n.height, + opacity: n.opacity, + align: n.align, + valign: n.valign, + bgcolor: n.bgcolor, + bordercolor: n.bordercolor, + borderpad: n.borderpad, + borderwidth: n.borderwidth, + showarrow: n.showarrow, + arrowcolor: n.arrowcolor, + arrowhead: n.arrowhead, + startarrowhead: n.startarrowhead, + arrowside: n.arrowside, + arrowsize: n.arrowsize, + startarrowsize: n.startarrowsize, + arrowwidth: n.arrowwidth, + standoff: n.standoff, + startstandoff: n.startstandoff, + hovertext: n.hovertext, + hoverlabel: n.hoverlabel, + captureevents: n.captureevents, + }), + "calc", + "from-root", + ); + }, + 5485: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298); + function a(t, e) { + var r = e.fullSceneLayout.domain, + a = e.fullLayout._size, + o = { + pdata: null, + type: "linear", + autorange: !1, + range: [-1 / 0, 1 / 0], + }; + (t._xa = {}), + n.extendFlat(t._xa, o), + i.setConvert(t._xa), + (t._xa._offset = a.l + r.x[0] * a.w), + (t._xa.l2p = function () { + return ( + 0.5 * + (1 + t._pdata[0] / t._pdata[3]) * + a.w * + (r.x[1] - r.x[0]) + ); + }), + (t._ya = {}), + n.extendFlat(t._ya, o), + i.setConvert(t._ya), + (t._ya._offset = a.t + (1 - r.y[1]) * a.h), + (t._ya.l2p = function () { + return ( + 0.5 * + (1 - t._pdata[1] / t._pdata[3]) * + a.h * + (r.y[1] - r.y[0]) + ); + }); + } + t.exports = function (t) { + for ( + var e = t.fullSceneLayout.annotations, r = 0; + r < e.length; + r++ + ) + a(e[r], t); + t.fullLayout._infolayer + .selectAll(".annotation-" + t.id) + .remove(); + }; + }, + 20226: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(85501), + o = r(25625), + s = r(26997); + function l(t, e, r, a) { + function l(r, i) { + return n.coerce(t, e, s, r, i); + } + function u(t) { + var n = t + "axis", + a = { _fullLayout: {} }; + return ( + (a._fullLayout[n] = r[n]), + i.coercePosition(e, a, l, t, t, 0.5) + ); + } + l("visible") && + (o(t, e, a.fullLayout, l), + u("x"), + u("y"), + u("z"), + n.noneOrAll(t, e, ["x", "y", "z"]), + (e.xref = "x"), + (e.yref = "y"), + (e.zref = "z"), + l("xanchor"), + l("yanchor"), + l("xshift"), + l("yshift"), + e.showarrow && + ((e.axref = "pixel"), + (e.ayref = "pixel"), + l("ax", -10), + l("ay", -30), + n.noneOrAll(t, e, ["ax", "ay"]))); + } + t.exports = function (t, e, r) { + a(t, e, { + name: "annotations", + handleItemDefaults: l, + fullLayout: r.fullLayout, + }); + }; + }, + 82188: function (t, e, r) { + "use strict"; + var n = r(92605).drawRaw, + i = r(63538), + a = ["x", "y", "z"]; + t.exports = function (t) { + for ( + var e = t.fullSceneLayout, + r = t.dataScale, + o = e.annotations, + s = 0; + s < o.length; + s++ + ) { + for (var l = o[s], u = !1, c = 0; c < 3; c++) { + var f = a[c], + h = l[f], + p = e[f + "axis"].r2fraction(h); + if (p < 0 || p > 1) { + u = !0; + break; + } + } + u + ? t.fullLayout._infolayer + .select( + ".annotation-" + + t.id + + '[data-index="' + + s + + '"]', + ) + .remove() + : ((l._pdata = i(t.glplot.cameraParams, [ + e.xaxis.r2l(l.x) * r[0], + e.yaxis.r2l(l.y) * r[1], + e.zaxis.r2l(l.z) * r[2], + ])), + n(t.graphDiv, l, s, t.id, l._xa, l._ya)); + } + }; + }, + 2468: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828); + t.exports = { + moduleType: "component", + name: "annotations3d", + schema: { + subplots: { scene: { annotations: r(26997) } }, + }, + layoutAttributes: r(26997), + handleDefaults: r(20226), + includeBasePlot: function (t, e) { + var r = n.subplotsRegistry.gl3d; + if (r) + for ( + var a = r.attrRegex, o = Object.keys(t), s = 0; + s < o.length; + s++ + ) { + var l = o[s]; + a.test(l) && + (t[l].annotations || []).length && + (i.pushUnique(e._basePlotModules, r), + i.pushUnique(e._subplots.gl3d, l)); + } + }, + convert: r(5485), + draw: r(82188), + }; + }, + 7561: function (t, e, r) { + "use strict"; + (t.exports = r(63489)), + r(94338), + r(3961), + r(38751), + r(86825), + r(37715), + r(99384), + r(43805), + r(88874), + r(83290), + r(29108), + r(55422), + r(94320), + r(31320), + r(51367), + r(21457); + }, + 72201: function (t, e, r) { + "use strict"; + var n = r(7561), + i = r(71828), + a = r(50606), + o = a.EPOCHJD, + s = a.ONEDAY, + l = { + valType: "enumerated", + values: i.sortObjectKeys(n.calendars), + editType: "calc", + dflt: "gregorian", + }, + u = function (t, e, r, n) { + var a = {}; + return (a[r] = l), i.coerce(t, e, a, r, n); + }, + c = "##", + f = { + 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: c, + w: c, + c: { 0: "D M d %X yyyy", "-": "D M d %X yyyy" }, + x: { 0: "mm/dd/yyyy", "-": "mm/dd/yyyy" }, + }, + h = {}; + function p(t) { + var e = h[t]; + return e || (h[t] = n.instance(t)); + } + function d(t) { + return i.extendFlat({}, l, { description: t }); + } + function v(t) { + return ( + "Sets the calendar system to use with `" + + t + + "` date data." + ); + } + var g = { xcalendar: d(v("x")) }, + y = i.extendFlat({}, g, { ycalendar: d(v("y")) }), + m = i.extendFlat({}, y, { zcalendar: d(v("z")) }), + x = d( + [ + "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(" "), + ); + t.exports = { + moduleType: "component", + name: "calendars", + schema: { + traces: { + scatter: y, + bar: y, + box: y, + heatmap: y, + contour: y, + histogram: y, + histogram2d: y, + histogram2dcontour: y, + scatter3d: m, + surface: m, + mesh3d: m, + scattergl: y, + ohlc: g, + candlestick: g, + }, + layout: { + calendar: d( + [ + "Sets the default calendar system to use for interpreting and", + "displaying dates throughout the plot.", + ].join(" "), + ), + }, + subplots: { + xaxis: { calendar: x }, + yaxis: { calendar: x }, + scene: { + xaxis: { calendar: x }, + yaxis: { calendar: x }, + zaxis: { calendar: x }, + }, + polar: { radialaxis: { calendar: x } }, + }, + transforms: { + filter: { + valuecalendar: d( + [ + "WARNING: All transforms are deprecated and may be removed from the API in next major version.", + "Sets the calendar system to use for `value`, if it is a date.", + ].join(" "), + ), + targetcalendar: d( + [ + "WARNING: All transforms are deprecated and may be removed from the API in next major version.", + "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: l, + handleDefaults: u, + handleTraceDefaults: function (t, e, r, n) { + for (var i = 0; i < r.length; i++) + u(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: p, + worldCalFmt: function (t, e, r) { + for ( + var n, + i, + a, + l, + u, + h = Math.floor((e + 0.05) / s) + o, + d = p(r).fromJD(h), + v = 0; + -1 !== (v = t.indexOf("%", v)); + + ) + "0" === (n = t.charAt(v + 1)) || + "-" === n || + "_" === n + ? ((a = 3), + (i = t.charAt(v + 2)), + "_" === n && (n = "-")) + : ((i = n), (n = "0"), (a = 2)), + (l = f[i]) + ? ((u = l === c ? c : d.formatDate(l[n])), + (t = t.substr(0, v) + u + t.substr(v + a)), + (v += u.length)) + : (v += a); + return t; + }, + }; + }, + 22399: function (t, e) { + "use strict"; + (e.defaults = [ + "#1f77b4", + "#ff7f0e", + "#2ca02c", + "#d62728", + "#9467bd", + "#8c564b", + "#e377c2", + "#7f7f7f", + "#bcbd22", + "#17becf", + ]), + (e.defaultLine = "#444"), + (e.lightLine = "#eee"), + (e.background = "#fff"), + (e.borderLine = "#BEC8D9"), + (e.lightFraction = 1e3 / 11); + }, + 7901: function (t, e, r) { + "use strict"; + var n = r(84267), + i = r(92770), + a = r(73627).isTypedArray, + o = (t.exports = {}), + s = r(22399); + o.defaults = s.defaults; + var l = (o.defaultLine = s.defaultLine); + o.lightLine = s.lightLine; + var u = (o.background = s.background); + function c(t) { + if (i(t) || "string" != typeof t) return t; + var e = t.trim(); + if ("rgb" !== e.substr(0, 3)) return t; + var r = e.match(/^rgba?\s*\(([^()]*)\)$/); + if (!r) return t; + var n = r[1].trim().split(/\s*[\s,]\s*/), + a = "a" === e.charAt(3) && 4 === n.length; + if (!a && 3 !== n.length) return t; + for (var o = 0; o < n.length; o++) { + if (!n[o].length) return t; + if (((n[o] = Number(n[o])), !(n[o] >= 0))) return t; + if (3 === o) n[o] > 1 && (n[o] = 1); + else if (n[o] >= 1) return t; + } + var s = + Math.round(255 * n[0]) + + ", " + + Math.round(255 * n[1]) + + ", " + + Math.round(255 * n[2]); + return a + ? "rgba(" + s + ", " + n[3] + ")" + : "rgb(" + s + ")"; + } + (o.tinyRGB = function (t) { + var e = t.toRgb(); + return ( + "rgb(" + + Math.round(e.r) + + ", " + + Math.round(e.g) + + ", " + + Math.round(e.b) + + ")" + ); + }), + (o.rgb = function (t) { + return o.tinyRGB(n(t)); + }), + (o.opacity = function (t) { + return t ? n(t).getAlpha() : 0; + }), + (o.addOpacity = function (t, e) { + var r = n(t).toRgb(); + return ( + "rgba(" + + Math.round(r.r) + + ", " + + Math.round(r.g) + + ", " + + Math.round(r.b) + + ", " + + e + + ")" + ); + }), + (o.combine = function (t, e) { + var r = n(t).toRgb(); + if (1 === r.a) return n(t).toRgbString(); + var i = n(e || u).toRgb(), + a = + 1 === i.a + ? i + : { + r: 255 * (1 - i.a) + i.r * i.a, + g: 255 * (1 - i.a) + i.g * i.a, + b: 255 * (1 - i.a) + i.b * i.a, + }, + o = { + r: a.r * (1 - r.a) + r.r * r.a, + g: a.g * (1 - r.a) + r.g * r.a, + b: a.b * (1 - r.a) + r.b * r.a, + }; + return n(o).toRgbString(); + }), + (o.contrast = function (t, e, r) { + var i = n(t); + return ( + 1 !== i.getAlpha() && (i = n(o.combine(t, u))), + (i.isDark() + ? e + ? i.lighten(e) + : u + : r + ? i.darken(r) + : l + ).toString() + ); + }), + (o.stroke = function (t, e) { + var r = n(e); + t.style({ + stroke: o.tinyRGB(r), + "stroke-opacity": r.getAlpha(), + }); + }), + (o.fill = function (t, e) { + var r = n(e); + t.style({ + fill: o.tinyRGB(r), + "fill-opacity": r.getAlpha(), + }); + }), + (o.clean = function (t) { + if (t && "object" == typeof t) { + var e, + r, + n, + i, + s = Object.keys(t); + for (e = 0; e < s.length; e++) + if ( + ((i = t[(n = s[e])]), + "color" === n.substr(n.length - 5)) + ) + if (Array.isArray(i)) + for (r = 0; r < i.length; r++) i[r] = c(i[r]); + else t[n] = c(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] = c(i[r][1])); + else if (Array.isArray(i)) { + var l = i[0]; + if ( + !Array.isArray(l) && + l && + "object" == typeof l + ) + for (r = 0; r < i.length; r++) o.clean(i[r]); + } else + i && + "object" == typeof i && + !a(i) && + o.clean(i); + } + }); + }, + 63583: function (t, e, r) { + "use strict"; + var n = r(13838), + i = r(41940), + a = r(1426).extendFlat, + o = r(30962).overrideAll; + t.exports = o( + { + orientation: { + valType: "enumerated", + values: ["h", "v"], + dflt: "v", + }, + 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" }, + xref: { + valType: "enumerated", + dflt: "paper", + values: ["container", "paper"], + editType: "layoutstyle", + }, + xanchor: { + valType: "enumerated", + values: ["left", "center", "right"], + }, + xpad: { valType: "number", min: 0, dflt: 10 }, + y: { valType: "number" }, + yref: { + valType: "enumerated", + dflt: "paper", + values: ["container", "paper"], + editType: "layoutstyle", + }, + yanchor: { + valType: "enumerated", + values: ["top", "middle", "bottom"], + }, + ypad: { valType: "number", min: 0, dflt: 10 }, + outlinecolor: n.linecolor, + outlinewidth: n.linewidth, + bordercolor: n.linecolor, + borderwidth: { valType: "number", min: 0, dflt: 0 }, + bgcolor: { valType: "color", dflt: "rgba(0,0,0,0)" }, + tickmode: n.minor.tickmode, + nticks: n.nticks, + tick0: n.tick0, + dtick: n.dtick, + tickvals: n.tickvals, + ticktext: n.ticktext, + ticks: a({}, n.ticks, { dflt: "" }), + ticklabeloverflow: a({}, n.ticklabeloverflow, {}), + ticklabelposition: { + valType: "enumerated", + values: [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom", + ], + dflt: "outside", + }, + ticklen: n.ticklen, + tickwidth: n.tickwidth, + tickcolor: n.tickcolor, + ticklabelstep: n.ticklabelstep, + showticklabels: n.showticklabels, + labelalias: n.labelalias, + tickfont: i({}), + tickangle: n.tickangle, + tickformat: n.tickformat, + tickformatstops: n.tickformatstops, + tickprefix: n.tickprefix, + showtickprefix: n.showtickprefix, + ticksuffix: n.ticksuffix, + showticksuffix: n.showticksuffix, + separatethousands: n.separatethousands, + exponentformat: n.exponentformat, + minexponent: n.minexponent, + showexponent: n.showexponent, + title: { + text: { valType: "string" }, + font: i({}), + side: { + valType: "enumerated", + values: ["right", "top", "bottom"], + }, + }, + _deprecated: { + title: { valType: "string" }, + titlefont: i({}), + titleside: { + valType: "enumerated", + values: ["right", "top", "bottom"], + dflt: "top", + }, + }, + }, + "colorbars", + "from-root", + ); + }, + 30939: function (t) { + "use strict"; + t.exports = { + cn: { + 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", + }, + }; + }, + 62499: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(44467), + a = r(26218), + o = r(38701), + s = r(96115), + l = r(89426), + u = r(63583); + t.exports = function (t, e, r) { + var c = i.newContainer(e, "colorbar"), + f = t.colorbar || {}; + function h(t, e) { + return n.coerce(f, c, u, t, e); + } + var p = r.margin || { t: 0, b: 0, l: 0, r: 0 }, + d = r.width - p.l - p.r, + v = r.height - p.t - p.b, + g = "v" === h("orientation"), + y = h("thicknessmode"); + h( + "thickness", + "fraction" === y ? 30 / (g ? d : v) : 30, + ); + var m = h("lenmode"); + h("len", "fraction" === m ? 1 : g ? v : d); + var x, + b, + _, + w = "paper" === h("yref"), + T = "paper" === h("xref"), + k = "left"; + g + ? ((_ = "middle"), + (k = T ? "left" : "right"), + (x = T ? 1.02 : 1), + (b = 0.5)) + : ((_ = w ? "bottom" : "top"), + (k = "center"), + (x = 0.5), + (b = w ? 1.02 : 1)), + n.coerce( + f, + c, + { + x: { + valType: "number", + min: T ? -2 : 0, + max: T ? 3 : 1, + dflt: x, + }, + }, + "x", + ), + n.coerce( + f, + c, + { + y: { + valType: "number", + min: w ? -2 : 0, + max: w ? 3 : 1, + dflt: b, + }, + }, + "y", + ), + h("xanchor", k), + h("xpad"), + h("yanchor", _), + h("ypad"), + n.noneOrAll(f, c, ["x", "y"]), + h("outlinecolor"), + h("outlinewidth"), + h("bordercolor"), + h("borderwidth"), + h("bgcolor"); + var A = n.coerce( + f, + c, + { + ticklabelposition: { + valType: "enumerated", + dflt: "outside", + values: g + ? [ + "outside", + "inside", + "outside top", + "inside top", + "outside bottom", + "inside bottom", + ] + : [ + "outside", + "inside", + "outside left", + "inside left", + "outside right", + "inside right", + ], + }, + }, + "ticklabelposition", + ); + h( + "ticklabeloverflow", + -1 !== A.indexOf("inside") + ? "hide past domain" + : "hide past div", + ), + a(f, c, h, "linear"); + var M = r.font, + S = { outerTicks: !1, font: M }; + -1 !== A.indexOf("inside") && (S.bgColor = "black"), + l(f, c, h, "linear", S), + s(f, c, h, "linear", S), + o(f, c, h, "linear", S), + h("title.text", r._dfltTitle.colorbar); + var E = c.showticklabels ? c.tickfont : M, + L = n.extendFlat({}, E, { + color: M.color, + size: n.bigFont(E.size), + }); + n.coerceFont(h, "title.font", L), + h("title.side", g ? "top" : "right"); + }; + }, + 98981: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(84267), + a = r(74875), + o = r(73972), + s = r(89298), + l = r(28569), + u = r(71828), + c = u.strTranslate, + f = r(1426).extendFlat, + h = r(6964), + p = r(91424), + d = r(7901), + v = r(92998), + g = r(63893), + y = r(52075).flipScale, + m = r(71453), + x = r(52830), + b = r(13838), + _ = r(18783), + w = _.LINE_SPACING, + T = _.FROM_TL, + k = _.FROM_BR, + A = r(30939).cn; + t.exports = { + draw: function (t) { + var e = t._fullLayout._infolayer + .selectAll("g." + A.colorbar) + .data( + (function (t) { + var e, + r, + n, + i, + a = t._fullLayout, + o = t.calcdata, + s = []; + function l(t) { + return f(t, { + _fillcolor: null, + _line: { + color: null, + width: null, + dash: null, + }, + _levels: { + start: null, + end: null, + size: null, + }, + _filllevels: null, + _fillgradient: null, + _zrange: null, + }); + } + function u() { + "function" == typeof i.calc + ? i.calc(t, n, e) + : ((e._fillgradient = r.reversescale + ? y(r.colorscale) + : r.colorscale), + (e._zrange = [r[i.min], r[i.max]])); + } + for (var c = 0; c < o.length; c++) { + var h = o[c]; + if ((n = h[0].trace)._module) { + var p = n._module.colorbar; + if (!0 === n.visible && p) + for ( + var d = Array.isArray(p), + v = d ? p : [p], + g = 0; + g < v.length; + g++ + ) { + var m = (i = v[g]).container; + (r = m ? n[m] : n) && + r.showscale && + (((e = l(r.colorbar))._id = + "cb" + + n.uid + + (d && m ? "-" + m : "")), + (e._traceIndex = n.index), + (e._propPrefix = + (m ? m + "." : "") + "colorbar."), + (e._meta = n._meta), + u(), + s.push(e)); + } + } + } + for (var x in a._colorAxes) + if ((r = a[x]).showscale) { + var b = a._colorAxes[x]; + ((e = l(r.colorbar))._id = "cb" + x), + (e._propPrefix = x + ".colorbar."), + (e._meta = a._meta), + (i = { min: "cmin", max: "cmax" }), + "heatmap" !== b[0] && + ((n = b[1]), + (i.calc = n._module.colorbar.calc)), + u(), + s.push(e); + } + return s; + })(t), + function (t) { + return t._id; + }, + ); + e + .enter() + .append("g") + .attr("class", function (t) { + return t._id; + }) + .classed(A.colorbar, !0), + e.each(function (e) { + var r = n.select(this); + u.ensureSingle(r, "rect", A.cbbg), + u.ensureSingle(r, "g", A.cbfills), + u.ensureSingle(r, "g", A.cblines), + u.ensureSingle(r, "g", A.cbaxis, function (t) { + t.classed(A.crisp, !0); + }), + u.ensureSingle( + r, + "g", + A.cbtitleunshift, + function (t) { + t.append("g").classed(A.cbtitle, !0); + }, + ), + u.ensureSingle(r, "rect", A.cboutline); + var y = (function (t, e, r) { + var o = "v" === e.orientation, + l = e.len, + h = e.lenmode, + y = e.thickness, + _ = e.thicknessmode, + M = e.outlinewidth, + S = e.borderwidth, + E = e.bgcolor, + L = e.xanchor, + C = e.yanchor, + O = e.xpad, + P = e.ypad, + I = e.x, + D = o ? e.y : 1 - e.y, + z = "paper" === e.yref, + R = "paper" === e.xref, + F = r._fullLayout, + B = F._size, + N = e._fillcolor, + j = e._line, + U = e.title, + V = U.side, + H = + e._zrange || + n.extent( + ("function" == typeof N + ? N + : j.color + ).domain(), + ), + q = + "function" == typeof j.color + ? j.color + : function () { + return j.color; + }, + G = + "function" == typeof N + ? N + : function () { + return N; + }, + Z = e._levels, + W = (function (t, e, r) { + var n, + i, + a = e._levels, + o = [], + s = [], + l = a.end + a.size / 100, + u = a.size, + c = 1.001 * r[0] - 0.001 * r[1], + f = 1.001 * r[1] - 0.001 * r[0]; + for ( + i = 0; + i < 1e5 && + ((n = a.start + i * u), + !(u > 0 ? n >= l : n <= l)); + i++ + ) + n > c && n < f && o.push(n); + if (e._fillgradient) s = [0]; + else if ( + "function" == typeof e._fillcolor + ) { + var h = e._filllevels; + if (h) + for ( + l = h.end + h.size / 100, + u = h.size, + i = 0; + i < 1e5 && + ((n = h.start + i * u), + !(u > 0 ? n >= l : n <= l)); + i++ + ) + n > r[0] && n < r[1] && s.push(n); + else + (s = o.map(function (t) { + return t - a.size / 2; + })).push(s[s.length - 1] + a.size); + } else + e._fillcolor && + "string" == typeof e._fillcolor && + (s = [0]); + return ( + a.size < 0 && (o.reverse(), s.reverse()), + { line: o, fill: s } + ); + })(0, e, H), + Y = W.fill, + X = W.line, + J = Math.round( + y * + ("fraction" === _ ? (o ? B.w : B.h) : 1), + ), + K = J / (o ? B.w : B.h), + $ = Math.round( + l * + ("fraction" === h ? (o ? B.h : B.w) : 1), + ), + Q = $ / (o ? B.h : B.w), + tt = R ? B.w : r._fullLayout.width, + et = z ? B.h : r._fullLayout.height, + rt = Math.round(o ? I * tt + O : D * et + P), + nt = { center: 0.5, right: 1 }[L] || 0, + it = { top: 1, middle: 0.5 }[C] || 0, + at = o ? I - nt * K : D - it * K, + ot = o ? D - it * Q : I - nt * Q, + st = Math.round(o ? et * (1 - ot) : tt * ot); + (e._lenFrac = Q), + (e._thickFrac = K), + (e._uFrac = at), + (e._vFrac = ot); + var lt = (e._axis = (function (t, e, r) { + var n = t._fullLayout, + i = "v" === e.orientation, + a = { + type: "linear", + range: r, + tickmode: e.tickmode, + nticks: e.nticks, + tick0: e.tick0, + dtick: e.dtick, + tickvals: e.tickvals, + ticktext: e.ticktext, + ticks: e.ticks, + ticklen: e.ticklen, + tickwidth: e.tickwidth, + tickcolor: e.tickcolor, + showticklabels: e.showticklabels, + labelalias: e.labelalias, + ticklabelposition: e.ticklabelposition, + ticklabeloverflow: e.ticklabeloverflow, + ticklabelstep: e.ticklabelstep, + tickfont: e.tickfont, + tickangle: e.tickangle, + tickformat: e.tickformat, + exponentformat: e.exponentformat, + minexponent: e.minexponent, + separatethousands: e.separatethousands, + showexponent: e.showexponent, + showtickprefix: e.showtickprefix, + tickprefix: e.tickprefix, + showticksuffix: e.showticksuffix, + ticksuffix: e.ticksuffix, + title: e.title, + showline: !0, + anchor: "free", + side: i ? "right" : "bottom", + position: 1, + }, + o = i ? "y" : "x", + s = { type: "linear", _id: o + e._id }, + l = { + letter: o, + font: n.font, + noHover: !0, + noTickson: !0, + noTicklabelmode: !0, + calendar: n.calendar, + }; + function c(t, e) { + return u.coerce(a, s, b, t, e); + } + return m(a, s, c, l, n), x(a, s, c, l), s; + })(r, e, H)); + lt.position = + K + (o ? I + O / B.w : D + P / B.h); + var ut = -1 !== ["top", "bottom"].indexOf(V); + if ( + (o && + ut && + ((lt.title.side = V), + (lt.titlex = I + O / B.w), + (lt.titley = + ot + + ("top" === U.side + ? Q - P / B.h + : P / B.h))), + o || + ut || + ((lt.title.side = V), + (lt.titley = D + P / B.h), + (lt.titlex = ot + O / B.w)), + j.color && "auto" === e.tickmode) + ) { + (lt.tickmode = "linear"), + (lt.tick0 = Z.start); + var ct = Z.size, + ft = u.constrain($ / 50, 4, 15) + 1, + ht = + (H[1] - H[0]) / ((e.nticks || ft) * ct); + if (ht > 1) { + var pt = Math.pow( + 10, + Math.floor(Math.log(ht) / Math.LN10), + ); + (ct *= pt * u.roundUp(ht / pt, [2, 5, 10])), + (Math.abs(Z.start) / Z.size + 1e-6) % 1 < + 2e-6 && (lt.tick0 = 0); + } + lt.dtick = ct; + } + (lt.domain = o + ? [ot + P / B.h, ot + Q - P / B.h] + : [ot + O / B.w, ot + Q - O / B.w]), + lt.setScale(), + t.attr( + "transform", + c(Math.round(B.l), Math.round(B.t)), + ); + var dt, + vt = t + .select("." + A.cbtitleunshift) + .attr( + "transform", + c(-Math.round(B.l), -Math.round(B.t)), + ), + gt = lt.ticklabelposition, + yt = lt.title.font.size, + mt = t.select("." + A.cbaxis), + xt = 0, + bt = 0; + function _t(n, i) { + var a = { + propContainer: lt, + propName: e._propPrefix + "title", + traceIndex: e._traceIndex, + _meta: e._meta, + placeholder: F._dfltTitle.colorbar, + containerGroup: t.select("." + A.cbtitle), + }, + o = + "h" === n.charAt(0) + ? n.substr(1) + : "h" + n; + t + .selectAll( + "." + o + ",." + o + "-math-group", + ) + .remove(), + v.draw(r, n, f(a, i || {})); + } + return u.syncOrAsync( + [ + a.previousPromises, + function () { + var t, e; + ((o && ut) || (!o && !ut)) && + ("top" === V && + ((t = O + B.l + tt * I), + (e = + P + + B.t + + et * (1 - ot - Q) + + 3 + + 0.75 * yt)), + "bottom" === V && + ((t = O + B.l + tt * I), + (e = + P + + B.t + + et * (1 - ot) - + 3 - + 0.25 * yt)), + "right" === V && + ((e = + P + B.t + et * D + 3 + 0.75 * yt), + (t = O + B.l + tt * ot)), + _t(lt._id + "title", { + attributes: { + x: t, + y: e, + "text-anchor": o + ? "start" + : "middle", + }, + })); + }, + function () { + if ((!o && !ut) || (o && ut)) { + var a, + l = t.select("." + A.cbtitle), + f = l.select("text"), + h = [-M / 2, M / 2], + d = l + .select( + ".h" + + lt._id + + "title-math-group", + ) + .node(), + v = 15.6; + if ( + (f.node() && + (v = + parseInt( + f.node().style.fontSize, + 10, + ) * w), + d + ? ((a = p.bBox(d)), + (bt = a.width), + (xt = a.height) > v && + (h[1] -= (xt - v) / 2)) + : f.node() && + !f.classed(A.jsPlaceholder) && + ((a = p.bBox(f.node())), + (bt = a.width), + (xt = a.height)), + o) + ) { + if (xt) { + if (((xt += 5), "top" === V)) + (lt.domain[1] -= xt / B.h), + (h[1] *= -1); + else { + lt.domain[0] += xt / B.h; + var y = g.lineCount(f); + h[1] += (1 - y) * v; + } + l.attr("transform", c(h[0], h[1])), + lt.setScale(); + } + } else + bt && + ("right" === V && + (lt.domain[0] += + (bt + yt / 2) / B.w), + l.attr("transform", c(h[0], h[1])), + lt.setScale()); + } + t + .selectAll( + "." + A.cbfills + ",." + A.cblines, + ) + .attr( + "transform", + o + ? c( + 0, + Math.round( + B.h * (1 - lt.domain[1]), + ), + ) + : c( + Math.round(B.w * lt.domain[0]), + 0, + ), + ), + mt.attr( + "transform", + o + ? c(0, Math.round(-B.t)) + : c(Math.round(-B.l), 0), + ); + var m = t + .select("." + A.cbfills) + .selectAll("rect." + A.cbfill) + .attr("style", "") + .data(Y); + m + .enter() + .append("rect") + .classed(A.cbfill, !0) + .attr("style", ""), + m.exit().remove(); + var x = H.map(lt.c2p) + .map(Math.round) + .sort(function (t, e) { + return t - e; + }); + m.each(function (t, a) { + var s = [ + 0 === a + ? H[0] + : (Y[a] + Y[a - 1]) / 2, + a === Y.length - 1 + ? H[1] + : (Y[a] + Y[a + 1]) / 2, + ] + .map(lt.c2p) + .map(Math.round); + o && + (s[1] = u.constrain( + s[1] + (s[1] > s[0]) ? 1 : -1, + x[0], + x[1], + )); + var l = n + .select(this) + .attr(o ? "x" : "y", rt) + .attr(o ? "y" : "x", n.min(s)) + .attr( + o ? "width" : "height", + Math.max(J, 2), + ) + .attr( + o ? "height" : "width", + Math.max(n.max(s) - n.min(s), 2), + ); + if (e._fillgradient) + p.gradient( + l, + r, + e._id, + o + ? "vertical" + : "horizontalreversed", + e._fillgradient, + "fill", + ); + else { + var c = G(t).replace("e-", ""); + l.attr("fill", i(c).toHexString()); + } + }); + var b = t + .select("." + A.cblines) + .selectAll("path." + A.cbline) + .data(j.color && j.width ? X : []); + b + .enter() + .append("path") + .classed(A.cbline, !0), + b.exit().remove(), + b.each(function (t) { + var e = rt, + r = + Math.round(lt.c2p(t)) + + ((j.width / 2) % 1); + n.select(this) + .attr( + "d", + "M" + + (o + ? e + "," + r + : r + "," + e) + + (o ? "h" : "v") + + J, + ) + .call( + p.lineGroupStyle, + j.width, + q(t), + j.dash, + ); + }), + mt + .selectAll( + "g." + lt._id + "tick,path", + ) + .remove(); + var _ = + rt + + J + + (M || 0) / 2 - + ("outside" === e.ticks ? 1 : 0), + T = s.calcTicks(lt), + k = s.getTickSigns(lt)[2]; + return ( + s.drawTicks(r, lt, { + vals: + "inside" === lt.ticks + ? s.clipEnds(lt, T) + : T, + layer: mt, + path: s.makeTickPath(lt, _, k), + transFn: s.makeTransTickFn(lt), + }), + s.drawLabels(r, lt, { + vals: T, + layer: mt, + transFn: s.makeTransTickLabelFn(lt), + labelFns: s.makeLabelFns(lt, _), + }) + ); + }, + function () { + if ((o && !ut) || (!o && ut)) { + var t, + i, + a = lt.position || 0, + s = lt._offset + lt._length / 2; + if ("right" === V) + (i = s), + (t = + B.l + + tt * a + + 10 + + yt * + (lt.showticklabels ? 1 : 0.5)); + else if ( + ((t = s), + "bottom" === V && + (i = + B.t + + et * a + + 10 + + (-1 === gt.indexOf("inside") + ? lt.tickfont.size + : 0) + + (("intside" !== lt.ticks && + e.ticklen) || + 0)), + "top" === V) + ) { + var l = U.text.split("
").length; + i = + B.t + et * a + 10 - J - w * yt * l; + } + _t((o ? "h" : "v") + lt._id + "title", { + avoid: { + selection: n + .select(r) + .selectAll( + "g." + lt._id + "tick", + ), + side: V, + offsetTop: o ? 0 : B.t, + offsetLeft: o ? B.l : 0, + maxShift: o ? F.width : F.height, + }, + attributes: { + x: t, + y: i, + "text-anchor": "middle", + }, + transform: { + rotate: o ? -90 : 0, + offset: 0, + }, + }); + } + }, + a.previousPromises, + function () { + var n, + s = J + M / 2; + -1 === gt.indexOf("inside") && + ((n = p.bBox(mt.node())), + (s += o ? n.width : n.height)), + (dt = vt.select("text")); + var u = 0, + f = o && "top" === V, + v = !o && "right" === V, + g = 0; + if ( + dt.node() && + !dt.classed(A.jsPlaceholder) + ) { + var m, + x = vt + .select( + ".h" + + lt._id + + "title-math-group", + ) + .node(); + x && ((o && ut) || (!o && !ut)) + ? ((u = (n = p.bBox(x)).width), + (m = n.height)) + : ((u = + (n = p.bBox(vt.node())).right - + B.l - + (o ? rt : st)), + (m = + n.bottom - B.t - (o ? st : rt)), + o || + "top" !== V || + ((s += n.height), + (g = n.height))), + v && + (dt.attr( + "transform", + c(u / 2 + yt / 2, 0), + ), + (u *= 2)), + (s = Math.max(s, o ? u : m)); + } + var b = 2 * (o ? O : P) + s + S + M / 2, + w = 0; + !o && + U.text && + "bottom" === C && + D <= 0 && + ((b += w = b / 2), (g += w)), + (F._hColorbarMoveTitle = w), + (F._hColorbarMoveCBTitle = g); + var N = S + M, + j = (o ? rt : st) - N / 2 - (o ? O : 0), + H = (o ? st : rt) - (o ? $ : P + g - w); + t.select("." + A.cbbg) + .attr("x", j) + .attr("y", H) + .attr( + o ? "width" : "height", + Math.max(b - w, 2), + ) + .attr( + o ? "height" : "width", + Math.max($ + N, 2), + ) + .call(d.fill, E) + .call(d.stroke, e.bordercolor) + .style("stroke-width", S); + var q = v ? Math.max(u - 10, 0) : 0; + t.selectAll("." + A.cboutline) + .attr("x", (o ? rt : st + O) + q) + .attr( + "y", + (o ? st + P - $ : rt) + (f ? xt : 0), + ) + .attr( + o ? "width" : "height", + Math.max(J, 2), + ) + .attr( + o ? "height" : "width", + Math.max( + $ - (o ? 2 * P + xt : 2 * O + q), + 2, + ), + ) + .call(d.stroke, e.outlinecolor) + .style({ + fill: "none", + "stroke-width": M, + }); + var G = o ? nt * b : 0, + Z = o ? 0 : (1 - it) * b - g; + if ( + ((G = R ? B.l - G : -G), + (Z = z ? B.t - Z : -Z), + t.attr("transform", c(G, Z)), + !o && + (S || + (i(E).getAlpha() && + !i.equals(F.paper_bgcolor, E)))) + ) { + var W = mt.selectAll("text"), + Y = W[0].length, + X = t.select("." + A.cbbg).node(), + K = p.bBox(X), + Q = p.getTranslate(t); + W.each(function (t, e) { + var r = Y - 1; + if (0 === e || e === r) { + var n, + i = p.bBox(this), + a = p.getTranslate(this); + if (e === r) { + var o = i.right + a.x; + (n = + K.right + + Q.x + + st - + S - + 2 + + I - + o) > 0 && (n = 0); + } else if (0 === e) { + var s = i.left + a.x; + (n = + K.left + Q.x + st + S + 2 - s) < + 0 && (n = 0); + } + n && + (Y < 3 + ? this.setAttribute( + "transform", + "translate(" + + n + + ",0) " + + this.getAttribute( + "transform", + ), + ) + : this.setAttribute( + "visibility", + "hidden", + )); + } + }); + } + var tt = {}, + et = T[L], + at = k[L], + ot = T[C], + ct = k[C], + ft = b - J; + o + ? ("pixels" === h + ? ((tt.y = D), + (tt.t = $ * ot), + (tt.b = $ * ct)) + : ((tt.t = tt.b = 0), + (tt.yt = D + l * ot), + (tt.yb = D - l * ct)), + "pixels" === _ + ? ((tt.x = I), + (tt.l = b * et), + (tt.r = b * at)) + : ((tt.l = ft * et), + (tt.r = ft * at), + (tt.xl = I - y * et), + (tt.xr = I + y * at))) + : ("pixels" === h + ? ((tt.x = I), + (tt.l = $ * et), + (tt.r = $ * at)) + : ((tt.l = tt.r = 0), + (tt.xl = I + l * et), + (tt.xr = I - l * at)), + "pixels" === _ + ? ((tt.y = 1 - D), + (tt.t = b * ot), + (tt.b = b * ct)) + : ((tt.t = ft * ot), + (tt.b = ft * ct), + (tt.yt = D - y * ot), + (tt.yb = D + y * ct))); + var ht = e.y < 0.5 ? "b" : "t", + pt = e.x < 0.5 ? "l" : "r"; + r._fullLayout._reservedMargin[e._id] = {}; + var bt = { + r: F.width - j - G, + l: j + tt.r, + b: F.height - H - Z, + t: H + tt.b, + }; + R && z + ? a.autoMargin(r, e._id, tt) + : R + ? (r._fullLayout._reservedMargin[e._id][ + ht + ] = bt[ht]) + : z || o + ? (r._fullLayout._reservedMargin[e._id][ + pt + ] = bt[pt]) + : (r._fullLayout._reservedMargin[e._id][ + ht + ] = bt[ht]); + }, + ], + r, + ); + })(r, e, t); + y && y.then && (t._promises || []).push(y), + t._context.edits.colorbarPosition && + (function (t, e, r) { + var n, + i, + a, + s = "v" === e.orientation, + u = r._fullLayout._size; + l.init({ + element: t.node(), + gd: r, + prepFn: function () { + (n = t.attr("transform")), h(t); + }, + moveFn: function (r, o) { + t.attr("transform", n + c(r, o)), + (i = l.align( + (s ? e._uFrac : e._vFrac) + r / u.w, + s ? e._thickFrac : e._lenFrac, + 0, + 1, + e.xanchor, + )), + (a = l.align( + (s ? e._vFrac : 1 - e._uFrac) - + o / u.h, + s ? e._lenFrac : e._thickFrac, + 0, + 1, + e.yanchor, + )); + var f = l.getCursor( + i, + a, + e.xanchor, + e.yanchor, + ); + h(t, f); + }, + doneFn: function () { + if ( + (h(t), void 0 !== i && void 0 !== a) + ) { + var n = {}; + (n[e._propPrefix + "x"] = i), + (n[e._propPrefix + "y"] = a), + void 0 !== e._traceIndex + ? o.call( + "_guiRestyle", + r, + n, + e._traceIndex, + ) + : o.call("_guiRelayout", r, n); + } + }, + }); + })(r, e, t); + }), + e + .exit() + .each(function (e) { + a.autoMargin(t, e._id); + }) + .remove(), + e.order(); + }, + }; + }, + 76228: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t) { + return n.isPlainObject(t.colorbar); + }; + }, + 12311: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "component", + name: "colorbar", + attributes: r(63583), + supplyDefaults: r(62499), + draw: r(98981).draw, + hasColorbar: r(76228), + }; + }, + 50693: function (t, e, r) { + "use strict"; + var n = r(63583), + i = r(30587).counter, + a = r(78607), + o = r(63282).scales; + function s(t) { + return "`" + t + "`"; + } + a(o), + (t.exports = function (t, e) { + t = t || ""; + var r, + a = (e = e || {}).cLetter || "c", + l = + ("onlyIfNumerical" in e + ? e.onlyIfNumerical + : Boolean(t), + "noScale" in e ? e.noScale : "marker.line" === t), + u = + "showScaleDflt" in e + ? e.showScaleDflt + : "z" === a, + c = + "string" == typeof e.colorscaleDflt + ? o[e.colorscaleDflt] + : null, + f = e.editTypeOverride || "", + h = t ? t + "." : ""; + "colorAttr" in e + ? ((r = e.colorAttr), e.colorAttr) + : s(h + (r = { z: "z", c: "color" }[a])); + var p = a + "auto", + d = a + "min", + v = a + "max", + g = a + "mid", + y = (s(h + p), s(h + d), s(h + v), {}); + y[d] = y[v] = void 0; + var m = {}; + m[p] = !1; + var x = {}; + return ( + "color" === r && + ((x.color = { + valType: "color", + arrayOk: !0, + editType: f || "style", + }), + e.anim && (x.color.anim = !0)), + (x[p] = { + valType: "boolean", + dflt: !0, + editType: "calc", + impliedEdits: y, + }), + (x[d] = { + valType: "number", + dflt: null, + editType: f || "plot", + impliedEdits: m, + }), + (x[v] = { + valType: "number", + dflt: null, + editType: f || "plot", + impliedEdits: m, + }), + (x[g] = { + valType: "number", + dflt: null, + editType: "calc", + impliedEdits: y, + }), + (x.colorscale = { + valType: "colorscale", + editType: "calc", + dflt: c, + impliedEdits: { autocolorscale: !1 }, + }), + (x.autocolorscale = { + valType: "boolean", + dflt: !1 !== e.autoColorDflt, + editType: "calc", + impliedEdits: { colorscale: void 0 }, + }), + (x.reversescale = { + valType: "boolean", + dflt: !1, + editType: "plot", + }), + l || + ((x.showscale = { + valType: "boolean", + dflt: u, + editType: "calc", + }), + (x.colorbar = n)), + e.noColorAxis || + (x.coloraxis = { + valType: "subplotid", + regex: i("coloraxis"), + dflt: null, + editType: "calc", + }), + x + ); + }); + }, + 78803: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(52075).extractOpts; + t.exports = function (t, e, r) { + var o, + s = t._fullLayout, + l = r.vals, + u = r.containerStr, + c = u ? i.nestedProperty(e, u).get() : e, + f = a(c), + h = !1 !== f.auto, + p = f.min, + d = f.max, + v = f.mid, + g = function () { + return i.aggNums(Math.min, null, l); + }, + y = function () { + return i.aggNums(Math.max, null, l); + }; + void 0 === p + ? (p = g()) + : h && + (p = c._colorAx && n(p) ? Math.min(p, g()) : g()), + void 0 === d + ? (d = y()) + : h && + (d = c._colorAx && n(d) ? Math.max(d, y()) : y()), + h && + void 0 !== v && + (d - v > v - p + ? (p = v - (d - v)) + : d - v < v - p && (d = v + (v - p))), + p === d && ((p -= 0.5), (d += 0.5)), + f._sync("min", p), + f._sync("max", d), + f.autocolorscale && + ((o = + p * d < 0 + ? s.colorscale.diverging + : p >= 0 + ? s.colorscale.sequential + : s.colorscale.sequentialminus), + f._sync("colorscale", o)); + }; + }, + 33046: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(52075).hasColorscale, + a = r(52075).extractOpts; + t.exports = function (t, e) { + function r(t, e) { + var r = t["_" + e]; + void 0 !== r && (t[e] = r); + } + function o(t, i) { + var o = i.container + ? n.nestedProperty(t, i.container).get() + : t; + if (o) + if (o.coloraxis) o._colorAx = e[o.coloraxis]; + else { + var s = a(o), + l = s.auto; + (l || void 0 === s.min) && r(o, i.min), + (l || void 0 === s.max) && r(o, i.max), + s.autocolorscale && r(o, "colorscale"); + } + } + for (var s = 0; s < t.length; s++) { + var l = t[s], + u = l._module.colorbar; + if (u) + if (Array.isArray(u)) + for (var c = 0; c < u.length; c++) o(l, u[c]); + else o(l, u); + i(l, "marker.line") && + o(l, { + container: "marker.line", + min: "cmin", + max: "cmax", + }); + } + for (var f in e._colorAxes) + o(e[f], { min: "cmin", max: "cmax" }); + }; + }, + 1586: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(76228), + o = r(62499), + s = r(63282).isValid, + l = r(73972).traceIs; + function u(t, e) { + var r = e.slice(0, e.length - 1); + return e ? i.nestedProperty(t, r).get() || {} : t; + } + t.exports = function t(e, r, c, f, h) { + var p = h.prefix, + d = h.cLetter, + v = "_module" in r, + g = u(e, p), + y = u(r, p), + m = u(r._template || {}, p) || {}, + x = function () { + return ( + delete e.coloraxis, + delete r.coloraxis, + t(e, r, c, f, h) + ); + }; + if (v) { + var b = c._colorAxes || {}, + _ = f(p + "coloraxis"); + if (_) { + var w = + (l(r, "contour") && + i + .nestedProperty(r, "contours.coloring") + .get()) || + "heatmap", + T = b[_]; + return void (T + ? (T[2].push(x), + T[0] !== w && + ((T[0] = !1), + i.warn( + [ + "Ignoring coloraxis:", + _, + "setting", + "as it is linked to incompatible colorscales.", + ].join(" "), + ))) + : (b[_] = [w, r, [x]])); + } + } + var k = g[d + "min"], + A = g[d + "max"], + M = n(k) && n(A) && k < A; + f(p + d + "auto", !M) + ? f(p + d + "mid") + : (f(p + d + "min"), f(p + d + "max")); + var S, + E, + L = g.colorscale, + C = m.colorscale; + void 0 !== L && (S = !s(L)), + void 0 !== C && (S = !s(C)), + f(p + "autocolorscale", S), + f(p + "colorscale"), + f(p + "reversescale"), + "marker.line." !== p && + (p && v && (E = a(g)), + f(p + "showscale", E) && + (p && m && (y._template = m), o(g, y, c))); + }; + }, + 52075: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(84267), + a = r(92770), + o = r(71828), + s = r(7901), + l = r(63282).isValid, + u = [ + "showscale", + "autocolorscale", + "colorscale", + "reversescale", + "colorbar", + ], + c = ["min", "max", "mid", "auto"]; + function f(t) { + var e, + r, + n, + i = t._colorAx, + a = i || t, + o = {}; + for (r = 0; r < u.length; r++) o[(n = u[r])] = a[n]; + if (i) + for (e = "c", r = 0; r < c.length; r++) + o[(n = c[r])] = a["c" + n]; + else { + var s; + for (r = 0; r < c.length; r++) + ((s = "c" + (n = c[r])) in a || + (s = "z" + n) in a) && + (o[n] = a[s]); + e = s.charAt(0); + } + return ( + (o._sync = function (t, r) { + var n = -1 !== c.indexOf(t) ? e + t : t; + a[n] = a["_" + n] = r; + }), + o + ); + } + function h(t) { + for ( + var e = f(t), + r = e.min, + n = e.max, + i = e.reversescale ? p(e.colorscale) : e.colorscale, + a = i.length, + o = new Array(a), + s = new Array(a), + l = 0; + l < a; + l++ + ) { + var u = i[l]; + (o[l] = r + u[0] * (n - r)), (s[l] = u[1]); + } + return { domain: o, range: s }; + } + function p(t) { + for ( + var e = t.length, r = new Array(e), n = e - 1, i = 0; + n >= 0; + n--, i++ + ) { + var a = t[n]; + r[i] = [1 - a[0], a[1]]; + } + return r; + } + function d(t, e) { + e = e || {}; + for ( + var r = t.domain, + o = t.range, + l = o.length, + u = new Array(l), + c = 0; + c < l; + c++ + ) { + var f = i(o[c]).toRgb(); + u[c] = [f.r, f.g, f.b, f.a]; + } + var h, + p = n.scale.linear().domain(r).range(u).clamp(!0), + d = e.noNumericCheck, + g = e.returnArray; + return ( + ((h = + d && g + ? p + : d + ? function (t) { + return v(p(t)); + } + : g + ? function (t) { + return a(t) + ? p(t) + : i(t).isValid() + ? t + : s.defaultLine; + } + : function (t) { + return a(t) + ? v(p(t)) + : i(t).isValid() + ? t + : s.defaultLine; + }).domain = p.domain), + (h.range = function () { + return o; + }), + h + ); + } + function v(t) { + var e = { r: t[0], g: t[1], b: t[2], a: t[3] }; + return i(e).toRgbString(); + } + t.exports = { + hasColorscale: function (t, e, r) { + var n = e ? o.nestedProperty(t, e).get() || {} : t, + i = n[r || "color"], + s = !1; + if (o.isArrayOrTypedArray(i)) + for (var u = 0; u < i.length; u++) + if (a(i[u])) { + s = !0; + break; + } + return ( + o.isPlainObject(n) && + (s || + !0 === n.showscale || + (a(n.cmin) && a(n.cmax)) || + l(n.colorscale) || + o.isPlainObject(n.colorbar)) + ); + }, + extractOpts: f, + extractScale: h, + flipScale: p, + makeColorScaleFunc: d, + makeColorScaleFuncFromTrace: function (t, e) { + return d(h(t), e); + }, + }; + }, + 21081: function (t, e, r) { + "use strict"; + var n = r(63282), + i = r(52075); + t.exports = { + moduleType: "component", + name: "colorscale", + attributes: r(50693), + layoutAttributes: r(72673), + supplyLayoutDefaults: r(30959), + handleDefaults: r(1586), + crossTraceDefaults: r(33046), + calc: r(78803), + scales: n.scales, + defaultScale: n.defaultScale, + getScale: n.get, + isValidScale: n.isValid, + hasColorscale: i.hasColorscale, + extractOpts: i.extractOpts, + extractScale: i.extractScale, + flipScale: i.flipScale, + makeColorScaleFunc: i.makeColorScaleFunc, + makeColorScaleFuncFromTrace: + i.makeColorScaleFuncFromTrace, + }; + }, + 72673: function (t, e, r) { + "use strict"; + var n = r(1426).extendFlat, + i = r(50693), + a = r(63282).scales; + t.exports = { + editType: "calc", + colorscale: { + editType: "calc", + sequential: { + valType: "colorscale", + dflt: a.Reds, + editType: "calc", + }, + sequentialminus: { + valType: "colorscale", + dflt: a.Blues, + editType: "calc", + }, + diverging: { + valType: "colorscale", + dflt: a.RdBu, + editType: "calc", + }, + }, + coloraxis: n( + { _isSubplotObj: !0, editType: "calc" }, + i("", { + colorAttr: "corresponding trace color array(s)", + noColorAxis: !0, + showScaleDflt: !0, + }), + ), + }; + }, + 30959: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(44467), + a = r(72673), + o = r(1586); + t.exports = function (t, e) { + function r(r, i) { + return n.coerce(t, e, a, r, i); + } + r("colorscale.sequential"), + r("colorscale.sequentialminus"), + r("colorscale.diverging"); + var s, + l, + u = e._colorAxes; + function c(t, e) { + return n.coerce(s, l, a.coloraxis, t, e); + } + for (var f in u) { + var h = u[f]; + if (h[0]) + (s = t[f] || {}), + ((l = i.newContainer(e, f, "coloraxis"))._name = + f), + o(s, l, e, c, { prefix: "", cLetter: "c" }); + else { + for (var p = 0; p < h[2].length; p++) h[2][p](); + delete e._colorAxes[f]; + } + } + }; + }, + 63282: function (t, e, r) { + "use strict"; + var n = r(84267), + i = { + Greys: [ + [0, "rgb(0,0,0)"], + [1, "rgb(255,255,255)"], + ], + YlGnBu: [ + [0, "rgb(8,29,88)"], + [0.125, "rgb(37,52,148)"], + [0.25, "rgb(34,94,168)"], + [0.375, "rgb(29,145,192)"], + [0.5, "rgb(65,182,196)"], + [0.625, "rgb(127,205,187)"], + [0.75, "rgb(199,233,180)"], + [0.875, "rgb(237,248,217)"], + [1, "rgb(255,255,217)"], + ], + Greens: [ + [0, "rgb(0,68,27)"], + [0.125, "rgb(0,109,44)"], + [0.25, "rgb(35,139,69)"], + [0.375, "rgb(65,171,93)"], + [0.5, "rgb(116,196,118)"], + [0.625, "rgb(161,217,155)"], + [0.75, "rgb(199,233,192)"], + [0.875, "rgb(229,245,224)"], + [1, "rgb(247,252,245)"], + ], + YlOrRd: [ + [0, "rgb(128,0,38)"], + [0.125, "rgb(189,0,38)"], + [0.25, "rgb(227,26,28)"], + [0.375, "rgb(252,78,42)"], + [0.5, "rgb(253,141,60)"], + [0.625, "rgb(254,178,76)"], + [0.75, "rgb(254,217,118)"], + [0.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)"], + [0.35, "rgb(106,137,247)"], + [0.5, "rgb(190,190,190)"], + [0.6, "rgb(220,170,132)"], + [0.7, "rgb(230,145,90)"], + [1, "rgb(178,10,28)"], + ], + Reds: [ + [0, "rgb(220,220,220)"], + [0.2, "rgb(245,195,157)"], + [0.4, "rgb(245,160,105)"], + [1, "rgb(178,10,28)"], + ], + Blues: [ + [0, "rgb(5,10,172)"], + [0.35, "rgb(40,60,190)"], + [0.5, "rgb(70,100,245)"], + [0.6, "rgb(90,120,245)"], + [0.7, "rgb(106,137,247)"], + [1, "rgb(220,220,220)"], + ], + Picnic: [ + [0, "rgb(0,0,255)"], + [0.1, "rgb(51,153,255)"], + [0.2, "rgb(102,204,255)"], + [0.3, "rgb(153,204,255)"], + [0.4, "rgb(204,204,255)"], + [0.5, "rgb(255,255,255)"], + [0.6, "rgb(255,204,255)"], + [0.7, "rgb(255,153,255)"], + [0.8, "rgb(255,102,204)"], + [0.9, "rgb(255,102,102)"], + [1, "rgb(255,0,0)"], + ], + Rainbow: [ + [0, "rgb(150,0,90)"], + [0.125, "rgb(0,0,200)"], + [0.25, "rgb(0,25,255)"], + [0.375, "rgb(0,152,255)"], + [0.5, "rgb(44,255,150)"], + [0.625, "rgb(151,255,0)"], + [0.75, "rgb(255,234,0)"], + [0.875, "rgb(255,111,0)"], + [1, "rgb(255,0,0)"], + ], + Portland: [ + [0, "rgb(12,51,131)"], + [0.25, "rgb(10,136,186)"], + [0.5, "rgb(242,211,56)"], + [0.75, "rgb(242,143,56)"], + [1, "rgb(217,30,30)"], + ], + Jet: [ + [0, "rgb(0,0,131)"], + [0.125, "rgb(0,60,170)"], + [0.375, "rgb(5,255,255)"], + [0.625, "rgb(255,255,0)"], + [0.875, "rgb(250,0,0)"], + [1, "rgb(128,0,0)"], + ], + Hot: [ + [0, "rgb(0,0,0)"], + [0.3, "rgb(230,0,0)"], + [0.6, "rgb(255,210,0)"], + [1, "rgb(255,255,255)"], + ], + Blackbody: [ + [0, "rgb(0,0,0)"], + [0.2, "rgb(230,0,0)"], + [0.4, "rgb(230,210,0)"], + [0.7, "rgb(255,255,255)"], + [1, "rgb(160,200,255)"], + ], + Earth: [ + [0, "rgb(0,0,130)"], + [0.1, "rgb(0,180,180)"], + [0.2, "rgb(40,210,40)"], + [0.4, "rgb(230,230,50)"], + [0.6, "rgb(120,70,20)"], + [1, "rgb(255,255,255)"], + ], + Electric: [ + [0, "rgb(0,0,0)"], + [0.15, "rgb(30,0,100)"], + [0.4, "rgb(120,0,100)"], + [0.6, "rgb(160,90,0)"], + [0.8, "rgb(230,200,0)"], + [1, "rgb(255,250,220)"], + ], + Viridis: [ + [0, "#440154"], + [0.06274509803921569, "#48186a"], + [0.12549019607843137, "#472d7b"], + [0.18823529411764706, "#424086"], + [0.25098039215686274, "#3b528b"], + [0.3137254901960784, "#33638d"], + [0.3764705882352941, "#2c728e"], + [0.4392156862745098, "#26828e"], + [0.5019607843137255, "#21918c"], + [0.5647058823529412, "#1fa088"], + [0.6274509803921569, "#28ae80"], + [0.6901960784313725, "#3fbc73"], + [0.7529411764705882, "#5ec962"], + [0.8156862745098039, "#84d44b"], + [0.8784313725490196, "#addc30"], + [0.9411764705882353, "#d8e219"], + [1, "#fde725"], + ], + Cividis: [ + [0, "rgb(0,32,76)"], + [0.058824, "rgb(0,42,102)"], + [0.117647, "rgb(0,52,110)"], + [0.176471, "rgb(39,63,108)"], + [0.235294, "rgb(60,74,107)"], + [0.294118, "rgb(76,85,107)"], + [0.352941, "rgb(91,95,109)"], + [0.411765, "rgb(104,106,112)"], + [0.470588, "rgb(117,117,117)"], + [0.529412, "rgb(131,129,120)"], + [0.588235, "rgb(146,140,120)"], + [0.647059, "rgb(161,152,118)"], + [0.705882, "rgb(176,165,114)"], + [0.764706, "rgb(192,177,109)"], + [0.823529, "rgb(209,191,102)"], + [0.882353, "rgb(225,204,92)"], + [0.941176, "rgb(243,219,79)"], + [1, "rgb(255,233,69)"], + ], + }, + a = i.RdBu; + function o(t) { + var e = 0; + if (!Array.isArray(t) || t.length < 2) return !1; + if (!t[0] || !t[t.length - 1]) return !1; + if (0 != +t[0][0] || 1 != +t[t.length - 1][0]) + return !1; + for (var r = 0; r < t.length; r++) { + var i = t[r]; + if (2 !== i.length || +i[0] < e || !n(i[1]).isValid()) + return !1; + e = +i[0]; + } + return !0; + } + t.exports = { + scales: i, + defaultScale: a, + get: function (t, e) { + if ((e || (e = a), !t)) return e; + function r() { + try { + t = i[t] || JSON.parse(t); + } catch (r) { + t = e; + } + } + return ( + "string" == typeof t && + (r(), "string" == typeof t && r()), + o(t) ? t : e + ); + }, + isValid: function (t) { + return void 0 !== i[t] || o(t); + }, + }; + }, + 92807: function (t) { + "use strict"; + t.exports = function (t, e, r, n, i) { + var a = (t - r) / (n - r), + o = a + e / (n - r), + s = (a + o) / 2; + return "left" === i || "bottom" === i + ? a + : "center" === i || "middle" === i + ? s + : "right" === i || "top" === i + ? o + : a < 2 / 3 - s + ? a + : o > 4 / 3 - s + ? o + : s; + }; + }, + 70461: function (t, e, r) { + "use strict"; + var n = r(71828), + i = [ + ["sw-resize", "s-resize", "se-resize"], + ["w-resize", "move", "e-resize"], + ["nw-resize", "n-resize", "ne-resize"], + ]; + t.exports = function (t, e, r, a) { + return ( + (t = + "left" === r + ? 0 + : "center" === r + ? 1 + : "right" === r + ? 2 + : n.constrain(Math.floor(3 * t), 0, 2)), + (e = + "bottom" === a + ? 0 + : "middle" === a + ? 1 + : "top" === a + ? 2 + : n.constrain(Math.floor(3 * e), 0, 2)), + i[e][t] + ); + }; + }, + 64505: function (t, e) { + "use strict"; + (e.selectMode = function (t) { + return "lasso" === t || "select" === t; + }), + (e.drawMode = function (t) { + return ( + "drawclosedpath" === t || + "drawopenpath" === t || + "drawline" === t || + "drawrect" === t || + "drawcircle" === t + ); + }), + (e.openMode = function (t) { + return "drawline" === t || "drawopenpath" === t; + }), + (e.rectMode = function (t) { + return ( + "select" === t || + "drawline" === t || + "drawrect" === t || + "drawcircle" === t + ); + }), + (e.freeMode = function (t) { + return ( + "lasso" === t || + "drawclosedpath" === t || + "drawopenpath" === t + ); + }), + (e.selectingOrDrawing = function (t) { + return e.freeMode(t) || e.rectMode(t); + }); + }, + 28569: function (t, e, r) { + "use strict"; + var n = r(48956), + i = r(57035), + a = r(38520), + o = r(71828).removeElement, + s = r(85555), + l = (t.exports = {}); + (l.align = r(92807)), (l.getCursor = r(70461)); + var u = r(26041); + function c() { + 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 f(t) { + return n( + t.changedTouches ? t.changedTouches[0] : t, + document.body, + ); + } + (l.unhover = u.wrapped), + (l.unhoverRaw = u.raw), + (l.init = function (t) { + var e, + r, + n, + u, + h, + p, + d, + v, + g = t.gd, + y = 1, + m = g._context.doubleClickDelay, + x = t.element; + g._mouseDownTime || (g._mouseDownTime = 0), + (x.style.pointerEvents = "all"), + (x.onmousedown = _), + a + ? (x._ontouchstart && + x.removeEventListener( + "touchstart", + x._ontouchstart, + ), + (x._ontouchstart = _), + x.addEventListener("touchstart", _, { + passive: !1, + })) + : (x.ontouchstart = _); + var b = + t.clampFn || + function (t, e, r) { + return ( + Math.abs(t) < r && (t = 0), + Math.abs(e) < r && (e = 0), + [t, e] + ); + }; + function _(a) { + (g._dragged = !1), (g._dragging = !0); + var o = f(a); + (e = o[0]), + (r = o[1]), + (d = a.target), + (p = a), + (v = 2 === a.buttons || a.ctrlKey), + void 0 === a.clientX && + void 0 === a.clientY && + ((a.clientX = e), (a.clientY = r)), + (n = new Date().getTime()) - g._mouseDownTime < m + ? (y += 1) + : ((y = 1), (g._mouseDownTime = n)), + t.prepFn && t.prepFn(a, e, r), + i && !v + ? ((h = c()).style.cursor = + window.getComputedStyle(x).cursor) + : i || + ((h = document), + (u = window.getComputedStyle( + document.documentElement, + ).cursor), + (document.documentElement.style.cursor = + window.getComputedStyle(x).cursor)), + document.addEventListener("mouseup", T), + document.addEventListener("touchend", T), + !1 !== t.dragmode && + (a.preventDefault(), + document.addEventListener("mousemove", w), + document.addEventListener("touchmove", w, { + passive: !1, + })); + } + function w(n) { + n.preventDefault(); + var i = f(n), + a = t.minDrag || s.MINDRAG, + o = b(i[0] - e, i[1] - r, a), + u = o[0], + c = o[1]; + (u || c) && ((g._dragged = !0), l.unhover(g, n)), + g._dragged && + t.moveFn && + !v && + ((g._dragdata = { element: x, dx: u, dy: c }), + t.moveFn(u, c)); + } + function T(e) { + if ( + (delete g._dragdata, + !1 !== t.dragmode && + (e.preventDefault(), + document.removeEventListener("mousemove", w), + document.removeEventListener("touchmove", w)), + document.removeEventListener("mouseup", T), + document.removeEventListener("touchend", T), + i + ? o(h) + : u && + ((h.documentElement.style.cursor = u), + (u = null)), + g._dragging) + ) { + if ( + ((g._dragging = !1), + new Date().getTime() - g._mouseDownTime > m && + (y = Math.max(y - 1, 1)), + g._dragged) + ) + t.doneFn && t.doneFn(); + else if ((t.clickFn && t.clickFn(y, p), !v)) { + var r; + try { + r = new MouseEvent("click", e); + } catch (t) { + var n = f(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, + ); + } + d.dispatchEvent(r); + } + (g._dragging = !1), (g._dragged = !1); + } else g._dragged = !1; + } + }), + (l.coverSlip = c); + }, + 26041: function (t, e, r) { + "use strict"; + var n = r(11086), + i = r(79990), + a = r(24401).getGraphDiv, + o = r(26675), + s = (t.exports = {}); + (s.wrapped = function (t, e, r) { + (t = a(t))._fullLayout && + i.clear(t._fullLayout._uid + o.HOVERID), + s.raw(t, e, r); + }), + (s.raw = function (t, e) { + var r = t._fullLayout, + i = t._hoverdata; + e || (e = {}), + (e.target && + !t._dragged && + !1 === + n.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 && + i && + t.emit("plotly_unhover", { + event: e, + points: i, + })); + }); + }, + 79952: function (t, e) { + "use strict"; + (e.P = { + valType: "string", + values: [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot", + ], + dflt: "solid", + editType: "style", + }), + (e.u = { + shape: { + valType: "enumerated", + values: ["", "/", "\\", "x", "-", "|", "+", "."], + dflt: "", + arrayOk: !0, + editType: "style", + }, + fillmode: { + valType: "enumerated", + values: ["replace", "overlay"], + dflt: "replace", + editType: "style", + }, + bgcolor: { + valType: "color", + arrayOk: !0, + editType: "style", + }, + fgcolor: { + valType: "color", + arrayOk: !0, + editType: "style", + }, + fgopacity: { + valType: "number", + editType: "style", + min: 0, + max: 1, + }, + size: { + valType: "number", + min: 0, + dflt: 8, + arrayOk: !0, + editType: "style", + }, + solidity: { + valType: "number", + min: 0, + max: 1, + dflt: 0.3, + arrayOk: !0, + editType: "style", + }, + editType: "style", + }); + }, + 91424: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = i.numberFormat, + o = r(92770), + s = r(84267), + l = r(73972), + u = r(7901), + c = r(21081), + f = i.strTranslate, + h = r(63893), + p = r(77922), + d = r(18783).LINE_SPACING, + v = r(37822).DESELECTDIM, + g = r(34098), + y = r(39984), + m = r(23469).appendArrayPointValue, + x = (t.exports = {}); + function b(t, e, r) { + var n = e.fillpattern, + i = n && x.getPatternAttr(n.shape, 0, ""); + if (i) { + var a = x.getPatternAttr(n.bgcolor, 0, null), + o = x.getPatternAttr(n.fgcolor, 0, null), + s = n.fgopacity, + l = x.getPatternAttr(n.size, 0, 8), + c = x.getPatternAttr(n.solidity, 0, 0.3), + f = e.uid; + x.pattern( + t, + "point", + r, + f, + i, + l, + c, + void 0, + n.fillmode, + a, + o, + s, + ); + } else e.fillcolor && t.call(u.fill, e.fillcolor); + } + (x.font = function (t, e, r, n) { + i.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(u.fill, n); + }), + (x.setPosition = function (t, e, r) { + t.attr("x", e).attr("y", r); + }), + (x.setSize = function (t, e, r) { + t.attr("width", e).attr("height", r); + }), + (x.setRect = function (t, e, r, n, i) { + t.call(x.setPosition, e, r).call(x.setSize, n, i); + }), + (x.translatePoint = function (t, e, r, n) { + var i = r.c2p(t.x), + a = n.c2p(t.y); + return ( + !!(o(i) && o(a) && e.node()) && + ("text" === e.node().nodeName + ? e.attr("x", i).attr("y", a) + : e.attr("transform", f(i, a)), + !0) + ); + }), + (x.translatePoints = function (t, e, r) { + t.each(function (t) { + var i = n.select(this); + x.translatePoint(t, i, e, r); + }); + }), + (x.hideOutsideRangePoint = function (t, e, r, n, i, a) { + e.attr( + "display", + r.isPtWithinRange(t, i) && n.isPtWithinRange(t, a) + ? null + : "none", + ); + }), + (x.hideOutsideRangePoints = function (t, e) { + if (e._hasClipOnAxisFalse) { + var r = e.xaxis, + i = e.yaxis; + t.each(function (e) { + var a = e[0].trace, + o = a.xcalendar, + s = a.ycalendar, + u = l.traceIs(a, "bar-like") + ? ".bartext" + : ".point,.textpoint"; + t.selectAll(u).each(function (t) { + x.hideOutsideRangePoint( + t, + n.select(this), + r, + i, + o, + s, + ); + }); + }); + } + }), + (x.crispRound = function (t, e, r) { + return e && o(e) + ? t._context.staticPlot + ? e + : e < 1 + ? 1 + : Math.round(e) + : r || 0; + }), + (x.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 || ""; + u.stroke(e, n || a.color), x.dashLine(e, s, o); + }), + (x.lineGroupStyle = function (t, e, r, i) { + t.style("fill", "none").each(function (t) { + var a = + (((t || [])[0] || {}).trace || {}).line || {}, + o = e || a.width || 0, + s = i || a.dash || ""; + n.select(this) + .call(u.stroke, r || a.color) + .call(x.dashLine, s, o); + }); + }), + (x.dashLine = function (t, e, r) { + (r = +r || 0), + (e = x.dashStyle(e, r)), + t.style({ + "stroke-dasharray": e, + "stroke-width": r + "px", + }); + }), + (x.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 + ); + }), + (x.singleFillStyle = function (t, e) { + var r = n.select(t.node()); + b(t, ((r.data()[0] || [])[0] || {}).trace || {}, e); + }), + (x.fillGroupStyle = function (t, e) { + t.style("stroke-width", 0).each(function (t) { + var r = n.select(this); + t[0].trace && b(r, t[0].trace, e); + }); + }); + var _ = r(90998); + (x.symbolNames = []), + (x.symbolFuncs = []), + (x.symbolBackOffs = []), + (x.symbolNeedLines = {}), + (x.symbolNoDot = {}), + (x.symbolNoFill = {}), + (x.symbolList = []), + Object.keys(_).forEach(function (t) { + var e = _[t], + r = e.n; + x.symbolList.push( + r, + String(r), + t, + r + 100, + String(r + 100), + t + "-open", + ), + (x.symbolNames[r] = t), + (x.symbolFuncs[r] = e.f), + (x.symbolBackOffs[r] = e.backoff || 0), + e.needLine && (x.symbolNeedLines[r] = !0), + e.noDot + ? (x.symbolNoDot[r] = !0) + : x.symbolList.push( + r + 200, + String(r + 200), + t + "-dot", + r + 300, + String(r + 300), + t + "-open-dot", + ), + e.noFill && (x.symbolNoFill[r] = !0); + }); + var w = x.symbolNames.length; + function T(t, e, r, n) { + var i = t % 100; + return ( + x.symbolFuncs[i](e, r, n) + + (t >= 200 ? "M0,0.5L0.5,0L0,-0.5L-0.5,0Z" : "") + ); + } + x.symbolNumber = function (t) { + if (o(t)) t = +t; + else 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 = x.symbolNames.indexOf(t)) >= 0 && (t += e); + } + return t % 100 >= w || t >= 400 + ? 0 + : Math.floor(Math.max(t, 0)); + }; + var k = { x1: 1, x2: 0, y1: 0, y2: 0 }, + A = { x1: 0, x2: 0, y1: 1, y2: 0 }, + M = a("~f"), + S = { + radial: { node: "radialGradient" }, + radialreversed: { + node: "radialGradient", + reversed: !0, + }, + horizontal: { node: "linearGradient", attrs: k }, + horizontalreversed: { + node: "linearGradient", + attrs: k, + reversed: !0, + }, + vertical: { node: "linearGradient", attrs: A }, + verticalreversed: { + node: "linearGradient", + attrs: A, + reversed: !0, + }, + }; + (x.gradient = function (t, e, r, a, o, l) { + for ( + var c = o.length, f = S[a], h = new Array(c), p = 0; + p < c; + p++ + ) + f.reversed + ? (h[c - 1 - p] = [M(100 * (1 - o[p][0])), o[p][1]]) + : (h[p] = [M(100 * o[p][0]), o[p][1]]); + var d = e._fullLayout, + v = "g" + d._uid + "-" + r, + g = d._defs + .select(".gradients") + .selectAll("#" + v) + .data([a + h.join(";")], i.identity); + g.exit().remove(), + g + .enter() + .append(f.node) + .each(function () { + var t = n.select(this); + f.attrs && t.attr(f.attrs), t.attr("id", v); + var e = t.selectAll("stop").data(h); + e.exit().remove(), + e.enter().append("stop"), + e.each(function (t) { + var e = s(t[1]); + n.select(this).attr({ + offset: t[0] + "%", + "stop-color": u.tinyRGB(e), + "stop-opacity": e.getAlpha(), + }); + }); + }), + t.style(l, V(v, e)).style(l + "-opacity", null), + t.classed("gradient_filled", !0); + }), + (x.pattern = function ( + t, + e, + r, + a, + o, + l, + c, + f, + h, + p, + d, + v, + ) { + var g = "legend" === e; + f && + ("overlay" === h + ? ((p = f), (d = u.contrast(p))) + : ((p = void 0), (d = f))); + var y, + m, + x, + b, + _, + w, + T, + k, + A, + M = r._fullLayout, + S = "p" + M._uid + "-" + a, + E = {}, + L = s(d), + C = u.tinyRGB(L), + O = v * L.getAlpha(); + switch (o) { + case "/": + (y = l * Math.sqrt(2)), + (m = l * Math.sqrt(2)), + (w = "path"), + (E = { + d: (x = + "M-" + + y / 4 + + "," + + m / 4 + + "l" + + y / 2 + + ",-" + + m / 2 + + "M0," + + m + + "L" + + y + + ",0M" + + (y / 4) * 3 + + "," + + (m / 4) * 5 + + "l" + + y / 2 + + ",-" + + m / 2), + opacity: O, + stroke: C, + "stroke-width": (b = c * l) + "px", + }); + break; + case "\\": + (y = l * Math.sqrt(2)), + (m = l * Math.sqrt(2)), + (w = "path"), + (E = { + d: (x = + "M" + + (y / 4) * 3 + + ",-" + + m / 4 + + "l" + + y / 2 + + "," + + m / 2 + + "M0,0L" + + y + + "," + + m + + "M-" + + y / 4 + + "," + + (m / 4) * 3 + + "l" + + y / 2 + + "," + + m / 2), + opacity: O, + stroke: C, + "stroke-width": (b = c * l) + "px", + }); + break; + case "x": + (y = l * Math.sqrt(2)), + (m = l * Math.sqrt(2)), + (x = + "M-" + + y / 4 + + "," + + m / 4 + + "l" + + y / 2 + + ",-" + + m / 2 + + "M0," + + m + + "L" + + y + + ",0M" + + (y / 4) * 3 + + "," + + (m / 4) * 5 + + "l" + + y / 2 + + ",-" + + m / 2 + + "M" + + (y / 4) * 3 + + ",-" + + m / 4 + + "l" + + y / 2 + + "," + + m / 2 + + "M0,0L" + + y + + "," + + m + + "M-" + + y / 4 + + "," + + (m / 4) * 3 + + "l" + + y / 2 + + "," + + m / 2), + (b = l - l * Math.sqrt(1 - c)), + (w = "path"), + (E = { + d: x, + opacity: O, + stroke: C, + "stroke-width": b + "px", + }); + break; + case "|": + (w = "path"), + (w = "path"), + (E = { + d: (x = + "M" + + (y = l) / 2 + + ",0L" + + y / 2 + + "," + + (m = l)), + opacity: O, + stroke: C, + "stroke-width": (b = c * l) + "px", + }); + break; + case "-": + (w = "path"), + (w = "path"), + (E = { + d: (x = + "M0," + + (m = l) / 2 + + "L" + + (y = l) + + "," + + m / 2), + opacity: O, + stroke: C, + "stroke-width": (b = c * l) + "px", + }); + break; + case "+": + (w = "path"), + (x = + "M" + + (y = l) / 2 + + ",0L" + + y / 2 + + "," + + (m = l) + + "M0," + + m / 2 + + "L" + + y + + "," + + m / 2), + (b = l - l * Math.sqrt(1 - c)), + (w = "path"), + (E = { + d: x, + opacity: O, + stroke: C, + "stroke-width": b + "px", + }); + break; + case ".": + (y = l), + (m = l), + c < Math.PI / 4 + ? (_ = Math.sqrt((c * l * l) / Math.PI)) + : ((T = c), + (k = Math.PI / 4), + 1, + (_ = + (A = l / 2) + + ((l / Math.sqrt(2) - A) * (T - k)) / + (1 - k))), + (w = "circle"), + (E = { + cx: y / 2, + cy: m / 2, + r: _, + opacity: O, + fill: C, + }); + } + var P = [ + o || "noSh", + p || "noBg", + d || "noFg", + l, + c, + ].join(";"), + I = M._defs + .select(".patterns") + .selectAll("#" + S) + .data([P], i.identity); + I.exit().remove(), + I.enter() + .append("pattern") + .each(function () { + var t = n.select(this); + if ( + (t.attr({ + id: S, + width: y + "px", + height: m + "px", + patternUnits: "userSpaceOnUse", + patternTransform: g ? "scale(0.8)" : "", + }), + p) + ) { + var e = s(p), + r = u.tinyRGB(e), + i = e.getAlpha(), + a = t.selectAll("rect").data([0]); + a.exit().remove(), + a + .enter() + .append("rect") + .attr({ + width: y + "px", + height: m + "px", + fill: r, + "fill-opacity": i, + }); + } + var o = t.selectAll(w).data([0]); + o.exit().remove(), o.enter().append(w).attr(E); + }), + t + .style("fill", V(S, r)) + .style("fill-opacity", null), + t.classed("pattern_filled", !0); + }), + (x.initGradients = function (t) { + var e = t._fullLayout; + i + .ensureSingle(e._defs, "g", "gradients") + .selectAll("linearGradient,radialGradient") + .remove(), + n + .select(t) + .selectAll(".gradient_filled") + .classed("gradient_filled", !1); + }), + (x.initPatterns = function (t) { + var e = t._fullLayout; + i + .ensureSingle(e._defs, "g", "patterns") + .selectAll("pattern") + .remove(), + n + .select(t) + .selectAll(".pattern_filled") + .classed("pattern_filled", !1); + }), + (x.getPatternAttr = function (t, e, r) { + return t && i.isArrayOrTypedArray(t) + ? e < t.length + ? t[e] + : r + : t; + }), + (x.pointStyle = function (t, e, r, i) { + if (t.size()) { + var a = x.makePointStyleFns(e); + t.each(function (t) { + x.singlePointStyle(t, n.select(this), e, a, r, i); + }); + } + }), + (x.singlePointStyle = function (t, e, r, n, a, o) { + var s = r.marker, + l = s.line; + if ( + (o && o.i >= 0 && void 0 === t.i && (t.i = o.i), + e.style( + "opacity", + n.selectedOpacityFn + ? n.selectedOpacityFn(t) + : void 0 === t.mo + ? s.opacity + : t.mo, + ), + n.ms2mrc) + ) { + var c; + (c = + "various" === t.ms || "various" === s.size + ? 3 + : n.ms2mrc(t.ms)), + (t.mrc = c), + n.selectedSizeFn && + (c = t.mrc = n.selectedSizeFn(t)); + var f = x.symbolNumber(t.mx || s.symbol) || 0; + t.om = f % 200 >= 100; + var h = rt(t, r), + p = G(t, r); + e.attr("d", T(f, c, h, p)); + } + var d, + v, + g, + y = !1; + if (t.so) + (g = l.outlierwidth), + (v = l.outliercolor), + (d = s.outliercolor); + else { + var m = (l || {}).width; + (g = + (t.mlw + 1 || + m + 1 || + (t.trace + ? (t.trace.marker.line || {}).width + : 0) + 1) - 1 || 0), + (v = + "mlc" in t + ? (t.mlcc = n.lineScale(t.mlc)) + : i.isArrayOrTypedArray(l.color) + ? u.defaultLine + : l.color), + i.isArrayOrTypedArray(s.color) && + ((d = u.defaultLine), (y = !0)), + (d = + "mc" in t + ? (t.mcc = n.markerScale(t.mc)) + : s.color || s.colors || "rgba(0,0,0,0)"), + n.selectedColorFn && (d = n.selectedColorFn(t)); + } + if (t.om) + e.call(u.stroke, d).style({ + "stroke-width": (g || 1) + "px", + fill: "none", + }); + else { + e.style("stroke-width", (t.isBlank ? 0 : g) + "px"); + var b = s.gradient, + _ = t.mgt; + _ ? (y = !0) : (_ = b && b.type), + i.isArrayOrTypedArray(_) && + ((_ = _[0]), S[_] || (_ = 0)); + var w = s.pattern, + k = w && x.getPatternAttr(w.shape, t.i, ""); + if (_ && "none" !== _) { + var A = t.mgc; + A ? (y = !0) : (A = b.color); + var M = r.uid; + y && (M += "-" + t.i), + x.gradient( + e, + a, + M, + _, + [ + [0, A], + [1, d], + ], + "fill", + ); + } else if (k) { + var E = !1, + L = w.fgcolor; + !L && o && o.color && ((L = o.color), (E = !0)); + var C = x.getPatternAttr( + L, + t.i, + (o && o.color) || null, + ), + O = x.getPatternAttr(w.bgcolor, t.i, null), + P = w.fgopacity, + I = x.getPatternAttr(w.size, t.i, 8), + D = x.getPatternAttr(w.solidity, t.i, 0.3); + E = + E || + t.mcc || + i.isArrayOrTypedArray(w.shape) || + i.isArrayOrTypedArray(w.bgcolor) || + i.isArrayOrTypedArray(w.fgcolor) || + i.isArrayOrTypedArray(w.size) || + i.isArrayOrTypedArray(w.solidity); + var z = r.uid; + E && (z += "-" + t.i), + x.pattern( + e, + "point", + a, + z, + k, + I, + D, + t.mcc, + w.fillmode, + O, + C, + P, + ); + } else + i.isArrayOrTypedArray(d) + ? u.fill(e, d[t.i]) + : u.fill(e, d); + g && u.stroke(e, v); + } + }), + (x.makePointStyleFns = function (t) { + var e = {}, + r = t.marker; + return ( + (e.markerScale = x.tryColorscale(r, "")), + (e.lineScale = x.tryColorscale(r, "line")), + l.traceIs(t, "symbols") && + (e.ms2mrc = g.isBubble(t) + ? y(t) + : function () { + return (r.size || 6) / 2; + }), + t.selectedpoints && + i.extendFlat(e, x.makeSelectedPointStyleFns(t)), + e + ); + }), + (x.makeSelectedPointStyleFns = function (t) { + var e = {}, + r = t.selected || {}, + n = t.unselected || {}, + a = t.marker || {}, + o = r.marker || {}, + s = n.marker || {}, + u = a.opacity, + c = o.opacity, + f = s.opacity, + h = void 0 !== c, + p = void 0 !== f; + (i.isArrayOrTypedArray(u) || h || p) && + (e.selectedOpacityFn = function (t) { + var e = void 0 === t.mo ? a.opacity : t.mo; + return t.selected ? (h ? c : e) : p ? f : v * e; + }); + var d = a.color, + g = o.color, + y = s.color; + (g || y) && + (e.selectedColorFn = function (t) { + var e = t.mcc || d; + return t.selected ? g || e : y || e; + }); + var m = a.size, + x = o.size, + b = s.size, + _ = void 0 !== x, + w = void 0 !== b; + return ( + l.traceIs(t, "symbols") && + (_ || w) && + (e.selectedSizeFn = function (t) { + var e = t.mrc || m / 2; + return t.selected + ? _ + ? x / 2 + : e + : w + ? b / 2 + : e; + }), + e + ); + }), + (x.makeSelectedTextStyleFns = function (t) { + var e = {}, + r = t.selected || {}, + n = t.unselected || {}, + i = t.textfont || {}, + a = r.textfont || {}, + o = n.textfont || {}, + s = i.color, + l = a.color, + c = o.color; + return ( + (e.selectedTextColorFn = function (t) { + var e = t.tc || s; + return t.selected + ? l || e + : c || (l ? e : u.addOpacity(e, v)); + }), + e + ); + }), + (x.selectedPointStyle = function (t, e) { + if (t.size() && e.selectedpoints) { + var r = x.makeSelectedPointStyleFns(e), + i = e.marker || {}, + a = []; + r.selectedOpacityFn && + a.push(function (t, e) { + t.style("opacity", r.selectedOpacityFn(e)); + }), + r.selectedColorFn && + a.push(function (t, e) { + u.fill(t, r.selectedColorFn(e)); + }), + r.selectedSizeFn && + a.push(function (t, n) { + var a = n.mx || i.symbol || 0, + o = r.selectedSizeFn(n); + t.attr( + "d", + T(x.symbolNumber(a), o, rt(n, e), G(n, e)), + ), + (n.mrc2 = o); + }), + a.length && + t.each(function (t) { + for ( + var e = n.select(this), r = 0; + r < a.length; + r++ + ) + a[r](e, t); + }); + } + }), + (x.tryColorscale = function (t, e) { + var r = e ? i.nestedProperty(t, e).get() : t; + if (r) { + var n = r.color; + if ( + (r.colorscale || r._colorAx) && + i.isArrayOrTypedArray(n) + ) + return c.makeColorScaleFuncFromTrace(r); + } + return i.identity; + }); + var E, + L, + C = { + start: 1, + end: -1, + middle: 0, + bottom: 1, + top: -1, + }; + function O(t, e, r, i, a) { + var o = n.select(t.node().parentNode), + s = + -1 !== e.indexOf("top") + ? "top" + : -1 !== e.indexOf("bottom") + ? "bottom" + : "middle", + l = + -1 !== e.indexOf("left") + ? "end" + : -1 !== e.indexOf("right") + ? "start" + : "middle", + u = i ? i / 0.8 + 1 : 0, + c = (h.lineCount(t) - 1) * d + 1, + p = C[l] * u, + v = 0.75 * r + C[s] * u + ((C[s] - 1) * c * r) / 2; + t.attr("text-anchor", l), + a || o.attr("transform", f(p, v)); + } + function P(t, e) { + var r = t.ts || e.textfont.size; + return o(r) && r > 0 ? r : 0; + } + function I(t, e, r) { + return r && (t = N(t)), e ? z(t[1]) : D(t[0]); + } + function D(t) { + var e = n.round(t, 2); + return (E = e), e; + } + function z(t) { + var e = n.round(t, 2); + return (L = e), e; + } + function R(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, 0.25), + u = Math.pow(o * o + s * s, 0.25), + c = (u * u * i - l * l * o) * n, + f = (u * u * a - l * l * s) * n, + h = 3 * u * (l + u), + p = 3 * l * (l + u); + return [ + [D(e[0] + (h && c / h)), z(e[1] + (h && f / h))], + [D(e[0] - (p && c / p)), z(e[1] - (p && f / p))], + ]; + } + (x.textPointStyle = function (t, e, r) { + if (t.size()) { + var a; + if (e.selectedpoints) { + var o = x.makeSelectedTextStyleFns(e); + a = o.selectedTextColorFn; + } + var s = e.texttemplate, + l = r._fullLayout; + t.each(function (t) { + var o = n.select(this), + u = s + ? i.extractOption(t, e, "txt", "texttemplate") + : i.extractOption(t, e, "tx", "text"); + if (u || 0 === u) { + if (s) { + var c = e._module.formatLabels, + f = c ? c(t, e, l) : {}, + p = {}; + m(p, e, t.i); + var d = e._meta || {}; + u = i.texttemplateString( + u, + f, + l._d3locale, + p, + t, + d, + ); + } + var v = t.tp || e.textposition, + g = P(t, e), + y = a ? a(t) : t.tc || e.textfont.color; + o.call(x.font, t.tf || e.textfont.family, g, y) + .text(u) + .call(h.convertToTspans, r) + .call(O, v, g, t.mrc); + } else o.remove(); + }); + } + }), + (x.selectedTextStyle = function (t, e) { + if (t.size() && e.selectedpoints) { + var r = x.makeSelectedTextStyleFns(e); + t.each(function (t) { + var i = n.select(this), + a = r.selectedTextColorFn(t), + o = t.tp || e.textposition, + s = P(t, e); + u.fill(i, a); + var c = l.traceIs(e, "bar-like"); + O(i, o, s, t.mrc2 || t.mrc, c); + }); + } + }), + (x.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(R(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] + ); + }), + (x.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 = [R(t[i], t[0], t[1], e)]; + for (r = 1; r < i; r++) + a.push(R(t[r - 1], t[r], t[r + 1], e)); + for ( + a.push(R(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 F = { + hv: function (t, e, r) { + return "H" + D(e[0]) + "V" + I(e, 1, r); + }, + vh: function (t, e, r) { + return "V" + z(e[1]) + "H" + I(e, 0, r); + }, + hvh: function (t, e, r) { + return ( + "H" + + D((t[0] + e[0]) / 2) + + "V" + + z(e[1]) + + "H" + + I(e, 0, r) + ); + }, + vhv: function (t, e, r) { + return ( + "V" + + z((t[1] + e[1]) / 2) + + "H" + + D(e[0]) + + "V" + + I(e, 1, r) + ); + }, + }, + B = function (t, e, r) { + return "L" + I(e, 0, r) + "," + I(e, 1, r); + }; + function N(t, e) { + var r = t.backoff, + n = t.trace, + a = t.d, + o = t.i; + if ( + r && + n && + n.marker && + n.marker.angle % 360 == 0 && + n.line && + "spline" !== n.line.shape + ) { + var s = i.isArrayOrTypedArray(r), + l = t, + u = e ? e[0] : E || 0, + c = e ? e[1] : L || 0, + f = l[0], + h = l[1], + p = f - u, + d = h - c, + v = Math.atan2(d, p), + g = s ? r[o] : r; + if ("auto" === g) { + var y = l.i; + "scatter" === n.type && y--; + var m = l.marker, + b = m.symbol; + i.isArrayOrTypedArray(b) && (b = b[y]); + var _ = m.size; + i.isArrayOrTypedArray(_) && (_ = _[y]), + (g = m + ? x.symbolBackOffs[x.symbolNumber(b)] * _ + : 0), + (g += x.getMarkerStandoff(a[y], n) || 0); + } + var w = f - g * Math.cos(v), + T = h - g * Math.sin(v); + ((w <= f && w >= u) || (w >= f && w <= u)) && + ((T <= h && T >= c) || (T >= h && T <= c)) && + (t = [w, T]); + } + return t; + } + (x.steps = function (t) { + var e = F[t] || B; + return function (t) { + for ( + var r = "M" + D(t[0][0]) + "," + z(t[0][1]), + n = t.length, + i = 1; + i < n; + i++ + ) + r += e(t[i - 1], t[i], i === n - 1); + return r; + }; + }), + (x.applyBackoff = N), + (x.makeTester = function () { + var t = i.ensureSingleById( + n.select("body"), + "svg", + "js-plotly-tester", + function (t) { + t.attr(p.svgAttrs).style({ + position: "absolute", + left: "-10000px", + top: "-10000px", + width: "9000px", + height: "9000px", + "z-index": "1", + }); + }, + ), + e = i.ensureSingle( + t, + "path", + "js-reference-point", + function (t) { + t.attr("d", "M0,0H1V1H0Z").style({ + "stroke-width": 0, + fill: "black", + }); + }, + ); + (x.tester = t), (x.testref = e); + }), + (x.savedBBoxes = {}); + var j = 0; + function U(t) { + var e = t.getAttribute("data-unformatted"); + if (null !== e) + return ( + e + + t.getAttribute("data-math") + + t.getAttribute("text-anchor") + + t.getAttribute("style") + ); + } + function V(t, e) { + if (!t) return null; + var r = e._context, + n = r._exportedPlot ? "" : r._baseUrl || ""; + return n + ? "url('" + n + "#" + t + "')" + : "url(#" + t + ")"; + } + (x.bBox = function (t, e, r) { + var a, o, s; + if ((r || (r = U(t)), r)) { + if ((a = x.savedBBoxes[r])) + return i.extendFlat({}, a); + } else if (1 === t.childNodes.length) { + var l = t.childNodes[0]; + if ((r = U(l))) { + var u = +l.getAttribute("x") || 0, + c = +l.getAttribute("y") || 0, + f = l.getAttribute("transform"); + if (!f) { + var p = x.bBox(l, !1, r); + return ( + u && ((p.left += u), (p.right += u)), + c && ((p.top += c), (p.bottom += c)), + p + ); + } + if ( + ((r += "~" + u + "~" + c + "~" + f), + (a = x.savedBBoxes[r])) + ) + return i.extendFlat({}, a); + } + } + e + ? (o = t) + : ((s = x.tester.node()), + (o = t.cloneNode(!0)), + s.appendChild(o)), + n + .select(o) + .attr("transform", null) + .call(h.positionText, 0, 0); + var d = o.getBoundingClientRect(), + v = x.testref.node().getBoundingClientRect(); + e || s.removeChild(o); + var g = { + height: d.height, + width: d.width, + left: d.left - v.left, + top: d.top - v.top, + right: d.right - v.left, + bottom: d.bottom - v.top, + }; + return ( + j >= 1e4 && ((x.savedBBoxes = {}), (j = 0)), + r && (x.savedBBoxes[r] = g), + j++, + i.extendFlat({}, g) + ); + }), + (x.setClipUrl = function (t, e, r) { + t.attr("clip-path", V(e, r)); + }), + (x.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 }; + }), + (x.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 += f(e, r)).trim()), + t[i]("transform", a), + a + ); + }), + (x.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 }; + }), + (x.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 + ); + }); + var H = /\s*sc.*/; + x.setPointGroupScale = function (t, e, r) { + if (((e = e || 1), (r = r || 1), t)) { + var n = + 1 === e && 1 === r + ? "" + : "scale(" + e + "," + r + ")"; + t.each(function () { + var t = ( + this.getAttribute("transform") || "" + ).replace(H, ""); + (t = (t += n).trim()), + this.setAttribute("transform", t); + }); + } + }; + var q = /translate\([^)]*\)\s*$/; + function G(t, e) { + var r; + return ( + t && (r = t.mf), + void 0 === r && + (r = (e.marker && e.marker.standoff) || 0), + e._geo || e._xA ? r : -r + ); + } + (x.setTextPointsScale = function (t, e, r) { + t && + t.each(function () { + var t, + i = n.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(q); + (t = + 1 === e && 1 === r + ? [] + : [ + f(o, s), + "scale(" + e + "," + r + ")", + f(-o, -s), + ]), + l && t.push(l), + i.attr("transform", t.join("")); + } + }); + }), + (x.getMarkerStandoff = G); + var Z, + W, + Y, + X, + J, + K, + $ = Math.atan2, + Q = Math.cos, + tt = Math.sin; + function et(t, e) { + var r = e[0], + n = e[1]; + return [r * Q(t) - n * tt(t), r * tt(t) + n * Q(t)]; + } + function rt(t, e) { + var r, + n, + i = t.ma; + void 0 === i && (i = e.marker.angle || 0); + var a = e.marker.angleref; + if ("previous" === a || "north" === a) { + if (e._geo) { + var s = e._geo.project(t.lonlat); + (r = s[0]), (n = s[1]); + } else { + var l = e._xA, + u = e._yA; + if (!l || !u) return 90; + (r = l.c2p(t.x)), (n = u.c2p(t.y)); + } + if (e._geo) { + var c, + f = t.lonlat[0], + h = t.lonlat[1], + p = e._geo.project([f, h + 1e-5]), + d = e._geo.project([f + 1e-5, h]), + v = $(d[1] - n, d[0] - r), + g = $(p[1] - n, p[0] - r); + if ("north" === a) c = (i / 180) * Math.PI; + else if ("previous" === a) { + var y = (f / 180) * Math.PI, + m = (h / 180) * Math.PI, + x = (Z / 180) * Math.PI, + b = (W / 180) * Math.PI, + _ = x - y, + w = Q(b) * tt(_), + T = tt(b) * Q(m) - Q(b) * tt(m) * Q(_); + (c = -$(w, T) - Math.PI), (Z = f), (W = h); + } + var k = et(v, [Q(c), 0]), + A = et(g, [tt(c), 0]); + (i = ($(k[1] + A[1], k[0] + A[0]) / Math.PI) * 180), + "previous" !== a || + (K === e.uid && t.i === J + 1) || + (i = null); + } + if ("previous" === a && !e._geo) + if (K === e.uid && t.i === J + 1 && o(r) && o(n)) { + var M = r - Y, + S = n - X, + E = (e.line && e.line.shape) || "", + L = E.slice(E.length - 1); + "h" === L && (S = 0), + "v" === L && (M = 0), + (i += ($(S, M) / Math.PI) * 180 + 90); + } else i = null; + } + return (Y = r), (X = n), (J = t.i), (K = e.uid), i; + } + x.getMarkerAngle = rt; + }, + 90998: function (t, e, r) { + "use strict"; + var n, + i, + a, + o, + s = r(95616), + l = r(39898).round, + u = "M0,0Z", + c = Math.sqrt(2), + f = Math.sqrt(3), + h = Math.PI, + p = Math.cos, + d = Math.sin; + function v(t) { + return null === t; + } + function g(t, e, r) { + if (!((t && t % 360 != 0) || e)) return r; + if (a === t && o === e && n === r) return i; + function l(t, r) { + var n = p(t), + i = d(t), + a = r[0], + o = r[1] + (e || 0); + return [a * n - o * i, a * i + o * n]; + } + (a = t), (o = e), (n = r); + for ( + var u = (t / 180) * h, + c = 0, + f = 0, + v = s(r), + g = "", + y = 0; + y < v.length; + y++ + ) { + var m = v[y], + x = m[0], + b = c, + _ = f; + if ("M" === x || "L" === x) (c = +m[1]), (f = +m[2]); + else if ("m" === x || "l" === x) + (c += +m[1]), (f += +m[2]); + else if ("H" === x) c = +m[1]; + else if ("h" === x) c += +m[1]; + else if ("V" === x) f = +m[1]; + else if ("v" === x) f += +m[1]; + else if ("A" === x) { + (c = +m[1]), (f = +m[2]); + var w = l(u, [+m[6], +m[7]]); + (m[6] = w[0]), (m[7] = w[1]), (m[3] = +m[3] + t); + } + ("H" !== x && "V" !== x) || (x = "L"), + ("h" !== x && "v" !== x) || (x = "l"), + ("m" !== x && "l" !== x) || ((c -= b), (f -= _)); + var T = l(u, [c, f]); + ("H" !== x && "V" !== x) || (x = "L"), + ("M" !== x && + "L" !== x && + "m" !== x && + "l" !== x) || + ((m[1] = T[0]), (m[2] = T[1])), + (m[0] = x), + (g += m[0] + m.slice(1).join(",")); + } + return (i = g), g; + } + t.exports = { + circle: { + n: 0, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2), + i = + "M" + + n + + ",0A" + + n + + "," + + n + + " 0 1,1 0,-" + + n + + "A" + + n + + "," + + n + + " 0 0,1 " + + n + + ",0Z"; + return r ? g(e, r, i) : i; + }, + }, + square: { + n: 1, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M" + + n + + "," + + n + + "H-" + + n + + "V-" + + n + + "H" + + n + + "Z", + ); + }, + }, + diamond: { + n: 2, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.3 * t, 2); + return g( + e, + r, + "M" + + n + + ",0L0," + + n + + "L-" + + n + + ",0L0,-" + + n + + "Z", + ); + }, + }, + cross: { + n: 3, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(0.4 * t, 2), + i = l(1.2 * t, 2); + return g( + e, + r, + "M" + + i + + "," + + n + + "H" + + n + + "V" + + i + + "H-" + + n + + "V" + + n + + "H-" + + i + + "V-" + + n + + "H-" + + n + + "V-" + + i + + "H" + + n + + "V-" + + n + + "H" + + i + + "Z", + ); + }, + }, + x: { + n: 4, + f: function (t, e, r) { + if (v(e)) return u; + var n = l((0.8 * t) / c, 2), + i = "l" + n + "," + n, + a = "l" + n + ",-" + n, + o = "l-" + n + ",-" + n, + s = "l-" + n + "," + n; + return g( + e, + r, + "M0," + + n + + i + + a + + o + + a + + o + + s + + o + + s + + i + + s + + i + + "Z", + ); + }, + }, + "triangle-up": { + n: 5, + f: function (t, e, r) { + if (v(e)) return u; + var n = l((2 * t) / f, 2); + return g( + e, + r, + "M-" + + n + + "," + + l(t / 2, 2) + + "H" + + n + + "L0,-" + + l(t, 2) + + "Z", + ); + }, + }, + "triangle-down": { + n: 6, + f: function (t, e, r) { + if (v(e)) return u; + var n = l((2 * t) / f, 2); + return g( + e, + r, + "M-" + + n + + ",-" + + l(t / 2, 2) + + "H" + + n + + "L0," + + l(t, 2) + + "Z", + ); + }, + }, + "triangle-left": { + n: 7, + f: function (t, e, r) { + if (v(e)) return u; + var n = l((2 * t) / f, 2); + return g( + e, + r, + "M" + + l(t / 2, 2) + + ",-" + + n + + "V" + + n + + "L-" + + l(t, 2) + + ",0Z", + ); + }, + }, + "triangle-right": { + n: 8, + f: function (t, e, r) { + if (v(e)) return u; + var n = l((2 * t) / f, 2); + return g( + e, + r, + "M-" + + l(t / 2, 2) + + ",-" + + n + + "V" + + n + + "L" + + l(t, 2) + + ",0Z", + ); + }, + }, + "triangle-ne": { + n: 9, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(0.6 * t, 2), + i = l(1.2 * t, 2); + return g( + e, + r, + "M-" + i + ",-" + n + "H" + n + "V" + i + "Z", + ); + }, + }, + "triangle-se": { + n: 10, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(0.6 * t, 2), + i = l(1.2 * t, 2); + return g( + e, + r, + "M" + n + ",-" + i + "V" + n + "H-" + i + "Z", + ); + }, + }, + "triangle-sw": { + n: 11, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(0.6 * t, 2), + i = l(1.2 * t, 2); + return g( + e, + r, + "M" + i + "," + n + "H-" + n + "V-" + i + "Z", + ); + }, + }, + "triangle-nw": { + n: 12, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(0.6 * t, 2), + i = l(1.2 * t, 2); + return g( + e, + r, + "M-" + n + "," + i + "V-" + n + "H" + i + "Z", + ); + }, + }, + pentagon: { + n: 13, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(0.951 * t, 2), + i = l(0.588 * t, 2), + a = l(-t, 2), + o = l(-0.309 * t, 2); + return g( + e, + r, + "M" + + n + + "," + + o + + "L" + + i + + "," + + l(0.809 * t, 2) + + "H-" + + i + + "L-" + + n + + "," + + o + + "L0," + + a + + "Z", + ); + }, + }, + hexagon: { + n: 14, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2), + i = l(t / 2, 2), + a = l((t * f) / 2, 2); + return g( + e, + r, + "M" + + a + + ",-" + + i + + "V" + + i + + "L0," + + n + + "L-" + + a + + "," + + i + + "V-" + + i + + "L0,-" + + n + + "Z", + ); + }, + }, + hexagon2: { + n: 15, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2), + i = l(t / 2, 2), + a = l((t * f) / 2, 2); + return g( + e, + r, + "M-" + + i + + "," + + a + + "H" + + i + + "L" + + n + + ",0L" + + i + + ",-" + + a + + "H-" + + i + + "L-" + + n + + ",0Z", + ); + }, + }, + octagon: { + n: 16, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(0.924 * t, 2), + i = l(0.383 * t, 2); + return g( + e, + r, + "M-" + + i + + ",-" + + n + + "H" + + i + + "L" + + n + + ",-" + + i + + "V" + + i + + "L" + + i + + "," + + n + + "H-" + + i + + "L-" + + n + + "," + + i + + "V-" + + i + + "Z", + ); + }, + }, + star: { + n: 17, + f: function (t, e, r) { + if (v(e)) return u; + var n = 1.4 * t, + i = l(0.225 * n, 2), + a = l(0.951 * n, 2), + o = l(0.363 * n, 2), + s = l(0.588 * n, 2), + c = l(-n, 2), + f = l(-0.309 * n, 2), + h = l(0.118 * n, 2), + p = l(0.809 * n, 2); + return g( + e, + r, + "M" + + i + + "," + + f + + "H" + + a + + "L" + + o + + "," + + h + + "L" + + s + + "," + + p + + "L0," + + l(0.382 * n, 2) + + "L-" + + s + + "," + + p + + "L-" + + o + + "," + + h + + "L-" + + a + + "," + + f + + "H-" + + i + + "L0," + + c + + "Z", + ); + }, + }, + hexagram: { + n: 18, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(0.66 * t, 2), + i = l(0.38 * t, 2), + a = l(0.76 * t, 2); + return g( + e, + r, + "M-" + + a + + ",0l-" + + i + + ",-" + + n + + "h" + + a + + "l" + + i + + ",-" + + n + + "l" + + i + + "," + + n + + "h" + + a + + "l-" + + i + + "," + + n + + "l" + + i + + "," + + n + + "h-" + + a + + "l-" + + i + + "," + + n + + "l-" + + i + + ",-" + + n + + "h-" + + a + + "Z", + ); + }, + }, + "star-triangle-up": { + n: 19, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t * f * 0.8, 2), + i = l(0.8 * t, 2), + a = l(1.6 * t, 2), + o = l(4 * t, 2), + s = "A " + o + "," + o + " 0 0 1 "; + return g( + e, + r, + "M-" + + n + + "," + + i + + s + + n + + "," + + i + + s + + "0,-" + + a + + s + + "-" + + n + + "," + + i + + "Z", + ); + }, + }, + "star-triangle-down": { + n: 20, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t * f * 0.8, 2), + i = l(0.8 * t, 2), + a = l(1.6 * t, 2), + o = l(4 * t, 2), + s = "A " + o + "," + o + " 0 0 1 "; + return g( + e, + r, + "M" + + n + + ",-" + + i + + s + + "-" + + n + + ",-" + + i + + s + + "0," + + a + + s + + n + + ",-" + + i + + "Z", + ); + }, + }, + "star-square": { + n: 21, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.1 * t, 2), + i = l(2 * t, 2), + a = "A " + i + "," + i + " 0 0 1 "; + return g( + e, + r, + "M-" + + n + + ",-" + + n + + a + + "-" + + n + + "," + + n + + a + + n + + "," + + n + + a + + n + + ",-" + + n + + a + + "-" + + n + + ",-" + + n + + "Z", + ); + }, + }, + "star-diamond": { + n: 22, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.4 * t, 2), + i = l(1.9 * t, 2), + a = "A " + i + "," + i + " 0 0 1 "; + return g( + e, + r, + "M-" + + n + + ",0" + + a + + "0," + + n + + a + + n + + ",0" + + a + + "0,-" + + n + + a + + "-" + + n + + ",0Z", + ); + }, + }, + "diamond-tall": { + n: 23, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(0.7 * t, 2), + i = l(1.4 * t, 2); + return g( + e, + r, + "M0," + + i + + "L" + + n + + ",0L0,-" + + i + + "L-" + + n + + ",0Z", + ); + }, + }, + "diamond-wide": { + n: 24, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.4 * t, 2), + i = l(0.7 * t, 2); + return g( + e, + r, + "M0," + + i + + "L" + + n + + ",0L0,-" + + i + + "L-" + + n + + ",0Z", + ); + }, + }, + hourglass: { + n: 25, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M" + + n + + "," + + n + + "H-" + + n + + "L" + + n + + ",-" + + n + + "H-" + + n + + "Z", + ); + }, + noDot: !0, + }, + bowtie: { + n: 26, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M" + + n + + "," + + n + + "V-" + + n + + "L-" + + n + + "," + + n + + "V-" + + n + + "Z", + ); + }, + noDot: !0, + }, + "circle-cross": { + n: 27, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M0," + + n + + "V-" + + n + + "M" + + n + + ",0H-" + + n + + "M" + + n + + ",0A" + + n + + "," + + n + + " 0 1,1 0,-" + + n + + "A" + + n + + "," + + n + + " 0 0,1 " + + n + + ",0Z", + ); + }, + needLine: !0, + noDot: !0, + }, + "circle-x": { + n: 28, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2), + i = l(t / c, 2); + return g( + e, + r, + "M" + + i + + "," + + i + + "L-" + + i + + ",-" + + i + + "M" + + i + + ",-" + + i + + "L-" + + i + + "," + + i + + "M" + + n + + ",0A" + + n + + "," + + n + + " 0 1,1 0,-" + + n + + "A" + + n + + "," + + n + + " 0 0,1 " + + n + + ",0Z", + ); + }, + needLine: !0, + noDot: !0, + }, + "square-cross": { + n: 29, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M0," + + n + + "V-" + + n + + "M" + + n + + ",0H-" + + n + + "M" + + n + + "," + + n + + "H-" + + n + + "V-" + + n + + "H" + + n + + "Z", + ); + }, + needLine: !0, + noDot: !0, + }, + "square-x": { + n: 30, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M" + + n + + "," + + n + + "L-" + + n + + ",-" + + n + + "M" + + n + + ",-" + + n + + "L-" + + n + + "," + + n + + "M" + + n + + "," + + n + + "H-" + + n + + "V-" + + n + + "H" + + n + + "Z", + ); + }, + needLine: !0, + noDot: !0, + }, + "diamond-cross": { + n: 31, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.3 * t, 2); + return g( + e, + r, + "M" + + n + + ",0L0," + + n + + "L-" + + n + + ",0L0,-" + + n + + "ZM0,-" + + n + + "V" + + n + + "M-" + + n + + ",0H" + + n, + ); + }, + needLine: !0, + noDot: !0, + }, + "diamond-x": { + n: 32, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.3 * t, 2), + i = l(0.65 * t, 2); + return g( + e, + r, + "M" + + n + + ",0L0," + + n + + "L-" + + n + + ",0L0,-" + + n + + "ZM-" + + i + + ",-" + + i + + "L" + + i + + "," + + i + + "M-" + + i + + "," + + i + + "L" + + i + + ",-" + + i, + ); + }, + needLine: !0, + noDot: !0, + }, + "cross-thin": { + n: 33, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.4 * t, 2); + return g( + e, + r, + "M0," + n + "V-" + n + "M" + n + ",0H-" + n, + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "x-thin": { + n: 34, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M" + + n + + "," + + n + + "L-" + + n + + ",-" + + n + + "M" + + n + + ",-" + + n + + "L-" + + n + + "," + + n, + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + asterisk: { + n: 35, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.2 * t, 2), + i = l(0.85 * t, 2); + return g( + e, + r, + "M0," + + n + + "V-" + + n + + "M" + + n + + ",0H-" + + n + + "M" + + i + + "," + + i + + "L-" + + i + + ",-" + + i + + "M" + + i + + ",-" + + i + + "L-" + + i + + "," + + i, + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + hash: { + n: 36, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t / 2, 2), + i = l(t, 2); + return g( + e, + r, + "M" + + n + + "," + + i + + "V-" + + i + + "M" + + (n - i) + + ",-" + + i + + "V" + + i + + "M" + + i + + "," + + n + + "H-" + + i + + "M-" + + i + + "," + + (n - i) + + "H" + + i, + ); + }, + needLine: !0, + noFill: !0, + }, + "y-up": { + n: 37, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.2 * t, 2), + i = l(1.6 * t, 2), + a = l(0.8 * t, 2); + return g( + e, + r, + "M-" + + n + + "," + + a + + "L0,0M" + + n + + "," + + a + + "L0,0M0,-" + + i + + "L0,0", + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "y-down": { + n: 38, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.2 * t, 2), + i = l(1.6 * t, 2), + a = l(0.8 * t, 2); + return g( + e, + r, + "M-" + + n + + ",-" + + a + + "L0,0M" + + n + + ",-" + + a + + "L0,0M0," + + i + + "L0,0", + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "y-left": { + n: 39, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.2 * t, 2), + i = l(1.6 * t, 2), + a = l(0.8 * t, 2); + return g( + e, + r, + "M" + + a + + "," + + n + + "L0,0M" + + a + + ",-" + + n + + "L0,0M-" + + i + + ",0L0,0", + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "y-right": { + n: 40, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.2 * t, 2), + i = l(1.6 * t, 2), + a = l(0.8 * t, 2); + return g( + e, + r, + "M-" + + a + + "," + + n + + "L0,0M-" + + a + + ",-" + + n + + "L0,0M" + + i + + ",0L0,0", + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "line-ew": { + n: 41, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.4 * t, 2); + return g(e, r, "M" + n + ",0H-" + n); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "line-ns": { + n: 42, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(1.4 * t, 2); + return g(e, r, "M0," + n + "V-" + n); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "line-ne": { + n: 43, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M" + n + ",-" + n + "L-" + n + "," + n, + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "line-nw": { + n: 44, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M" + n + "," + n + "L-" + n + ",-" + n, + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "arrow-up": { + n: 45, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M0,0L-" + n + "," + l(2 * t, 2) + "H" + n + "Z", + ); + }, + backoff: 1, + noDot: !0, + }, + "arrow-down": { + n: 46, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M0,0L-" + n + ",-" + l(2 * t, 2) + "H" + n + "Z", + ); + }, + noDot: !0, + }, + "arrow-left": { + n: 47, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(2 * t, 2), + i = l(t, 2); + return g( + e, + r, + "M0,0L" + n + ",-" + i + "V" + i + "Z", + ); + }, + noDot: !0, + }, + "arrow-right": { + n: 48, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(2 * t, 2), + i = l(t, 2); + return g( + e, + r, + "M0,0L-" + n + ",-" + i + "V" + i + "Z", + ); + }, + noDot: !0, + }, + "arrow-bar-up": { + n: 49, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M-" + + n + + ",0H" + + n + + "M0,0L-" + + n + + "," + + l(2 * t, 2) + + "H" + + n + + "Z", + ); + }, + backoff: 1, + needLine: !0, + noDot: !0, + }, + "arrow-bar-down": { + n: 50, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(t, 2); + return g( + e, + r, + "M-" + + n + + ",0H" + + n + + "M0,0L-" + + n + + ",-" + + l(2 * t, 2) + + "H" + + n + + "Z", + ); + }, + needLine: !0, + noDot: !0, + }, + "arrow-bar-left": { + n: 51, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(2 * t, 2), + i = l(t, 2); + return g( + e, + r, + "M0,-" + + i + + "V" + + i + + "M0,0L" + + n + + ",-" + + i + + "V" + + i + + "Z", + ); + }, + needLine: !0, + noDot: !0, + }, + "arrow-bar-right": { + n: 52, + f: function (t, e, r) { + if (v(e)) return u; + var n = l(2 * t, 2), + i = l(t, 2); + return g( + e, + r, + "M0,-" + + i + + "V" + + i + + "M0,0L-" + + n + + ",-" + + i + + "V" + + i + + "Z", + ); + }, + needLine: !0, + noDot: !0, + }, + arrow: { + n: 53, + f: function (t, e, r) { + if (v(e)) return u; + var n = h / 2.5, + i = 2 * t * p(n), + a = 2 * t * d(n); + return g( + e, + r, + "M0,0L" + -i + "," + a + "L" + i + "," + a + "Z", + ); + }, + backoff: 0.9, + noDot: !0, + }, + "arrow-wide": { + n: 54, + f: function (t, e, r) { + if (v(e)) return u; + var n = h / 4, + i = 2 * t * p(n), + a = 2 * t * d(n); + return g( + e, + r, + "M0,0L" + + -i + + "," + + a + + "A " + + 2 * t + + "," + + 2 * t + + " 0 0 1 " + + i + + "," + + a + + "Z", + ); + }, + backoff: 0.4, + noDot: !0, + }, + }; + }, + 25673: function (t) { + "use strict"; + t.exports = { + 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" }, + }, + }; + }, + 84532: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(73972), + a = r(89298), + o = r(71828), + s = r(45827); + function l(t, e, r, i) { + var l = e["error_" + i] || {}, + u = []; + if ( + l.visible && + -1 !== ["linear", "log"].indexOf(r.type) + ) { + for (var c = s(l), f = 0; f < t.length; f++) { + var h = t[f], + p = h.i; + if (void 0 === p) p = f; + else if (null === p) continue; + var d = h[i]; + if (n(r.c2l(d))) { + var v = c(d, p); + if (n(v[0]) && n(v[1])) { + var g = (h[i + "s"] = d - v[0]), + y = (h[i + "h"] = d + v[1]); + u.push(g, y); + } + } + } + var m = r._id, + x = e._extremes[m], + b = a.findExtremes( + r, + u, + o.extendFlat( + { tozero: x.opts.tozero }, + { padded: !0 }, + ), + ); + (x.min = x.min.concat(b.min)), + (x.max = x.max.concat(b.max)); + } + } + t.exports = function (t) { + for (var e = t.calcdata, r = 0; r < e.length; r++) { + var n = e[r], + o = n[0].trace; + if (!0 === o.visible && i.traceIs(o, "errorBarsOK")) { + var s = a.getFromId(t, o.xaxis), + u = a.getFromId(t, o.yaxis); + l(n, o, s, "x"), l(n, o, u, "y"); + } + } + }; + }, + 45827: function (t) { + "use strict"; + function e(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; + } + t.exports = function (t) { + var r = t.type, + n = t.symmetric; + if ("data" === r) { + var i = t.array || []; + if (n) + return function (t, e) { + var r = +i[e]; + return [r, r]; + }; + var a = t.arrayminus || []; + return function (t, e) { + var r = +i[e], + n = +a[e]; + return isNaN(r) && isNaN(n) + ? [NaN, NaN] + : [n || 0, r || 0]; + }; + } + var o = e(r, t.value), + s = e(r, t.valueminus); + return n || void 0 === t.valueminus + ? function (t) { + var e = o(t); + return [e, e]; + } + : function (t) { + return [s(t), o(t)]; + }; + }; + }, + 97587: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(73972), + a = r(71828), + o = r(44467), + s = r(25673); + t.exports = function (t, e, r, l) { + var u = "error_" + l.axis, + c = o.newContainer(e, u), + f = t[u] || {}; + function h(t, e) { + return a.coerce(f, c, s, t, e); + } + if ( + !1 !== + h( + "visible", + void 0 !== f.array || + void 0 !== f.value || + "sqrt" === f.type, + ) + ) { + var p = h("type", "array" in f ? "data" : "percent"), + d = !0; + "sqrt" !== p && + (d = h( + "symmetric", + !( + ("data" === p ? "arrayminus" : "valueminus") in + f + ), + )), + "data" === p + ? (h("array"), + h("traceref"), + d || (h("arrayminus"), h("tracerefminus"))) + : ("percent" !== p && "constant" !== p) || + (h("value"), d || h("valueminus")); + var v = "copy_" + l.inherit + "style"; + l.inherit && + (e["error_" + l.inherit] || {}).visible && + h(v, !(f.color || n(f.thickness) || n(f.width))), + (l.inherit && c[v]) || + (h("color", r), + h("thickness"), + h("width", i.traceIs(e, "gl3d") ? 0 : 4)); + } + }; + }, + 37369: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(30962).overrideAll, + a = r(25673), + o = { + error_x: n.extendFlat({}, a), + error_y: n.extendFlat({}, a), + }; + delete o.error_x.copy_zstyle, + delete o.error_y.copy_zstyle, + delete o.error_y.copy_ystyle; + var s = { + error_x: n.extendFlat({}, a), + error_y: n.extendFlat({}, a), + error_z: n.extendFlat({}, a), + }; + delete s.error_x.copy_ystyle, + delete s.error_y.copy_ystyle, + delete s.error_z.copy_ystyle, + delete s.error_z.copy_zstyle, + (t.exports = { + moduleType: "component", + name: "errorbars", + schema: { + traces: { + scatter: o, + bar: o, + histogram: o, + scatter3d: i(s, "calc", "nested"), + scattergl: i(o, "calc", "nested"), + }, + }, + supplyDefaults: r(97587), + calc: r(84532), + makeComputeError: r(45827), + plot: r(19398), + style: r(62662), + 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)); + }, + }); + }, + 19398: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = r(91424), + o = r(34098); + t.exports = function (t, e, r, s) { + var l = r.xaxis, + u = r.yaxis, + c = s && s.duration > 0, + f = t._context.staticPlot; + e.each(function (e) { + var h, + p = e[0].trace, + d = p.error_x || {}, + v = p.error_y || {}; + p.ids && + (h = function (t) { + return t.id; + }); + var g = o.hasMarkers(p) && p.marker.maxdisplayed > 0; + v.visible || d.visible || (e = []); + var y = n + .select(this) + .selectAll("g.errorbar") + .data(e, h); + if ((y.exit().remove(), e.length)) { + d.visible || y.selectAll("path.xerror").remove(), + v.visible || y.selectAll("path.yerror").remove(), + y.style("opacity", 1); + var m = y + .enter() + .append("g") + .classed("errorbar", !0); + c && + m + .style("opacity", 0) + .transition() + .duration(s.duration) + .style("opacity", 1), + a.setClipUrl(y, r.layerClipId, t), + y.each(function (t) { + var e = n.select(this), + r = (function (t, e, r) { + var n = { x: e.c2p(t.x), y: r.c2p(t.y) }; + return ( + void 0 !== t.yh && + ((n.yh = r.c2p(t.yh)), + (n.ys = r.c2p(t.ys)), + i(n.ys) || + ((n.noYS = !0), + (n.ys = r.c2p(t.ys, !0)))), + void 0 !== t.xh && + ((n.xh = e.c2p(t.xh)), + (n.xs = e.c2p(t.xs)), + i(n.xs) || + ((n.noXS = !0), + (n.xs = e.c2p(t.xs, !0)))), + n + ); + })(t, l, u); + if (!g || t.vis) { + var a, + o = e.select("path.yerror"); + if ( + v.visible && + i(r.x) && + i(r.yh) && + i(r.ys) + ) { + var h = v.width; + (a = + "M" + + (r.x - h) + + "," + + r.yh + + "h" + + 2 * h + + "m-" + + h + + ",0V" + + r.ys), + r.noYS || (a += "m-" + h + ",0h" + 2 * h), + o.size() + ? c && + (o = o + .transition() + .duration(s.duration) + .ease(s.easing)) + : (o = e + .append("path") + .style( + "vector-effect", + f ? "none" : "non-scaling-stroke", + ) + .classed("yerror", !0)), + o.attr("d", a); + } else o.remove(); + var p = e.select("path.xerror"); + if ( + d.visible && + i(r.y) && + i(r.xh) && + i(r.xs) + ) { + var y = (d.copy_ystyle ? v : d).width; + (a = + "M" + + r.xh + + "," + + (r.y - y) + + "v" + + 2 * y + + "m0,-" + + y + + "H" + + r.xs), + r.noXS || (a += "m0,-" + y + "v" + 2 * y), + p.size() + ? c && + (p = p + .transition() + .duration(s.duration) + .ease(s.easing)) + : (p = e + .append("path") + .style( + "vector-effect", + f ? "none" : "non-scaling-stroke", + ) + .classed("xerror", !0)), + p.attr("d", a); + } else p.remove(); + } + }); + } + }); + }; + }, + 62662: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(7901); + t.exports = function (t) { + t.each(function (t) { + var e = t[0].trace, + r = e.error_y || {}, + a = e.error_x || {}, + o = n.select(this); + o + .selectAll("path.yerror") + .style("stroke-width", r.thickness + "px") + .call(i.stroke, r.color), + a.copy_ystyle && (a = r), + o + .selectAll("path.xerror") + .style("stroke-width", a.thickness + "px") + .call(i.stroke, a.color); + }); + }; + }, + 77914: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(528).hoverlabel, + a = r(1426).extendFlat; + t.exports = { + hoverlabel: { + bgcolor: a({}, i.bgcolor, { arrayOk: !0 }), + bordercolor: a({}, i.bordercolor, { arrayOk: !0 }), + font: n({ arrayOk: !0, editType: "none" }), + align: a({}, i.align, { arrayOk: !0 }), + namelength: a({}, i.namelength, { arrayOk: !0 }), + editType: "none", + }, + }; + }, + 30732: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(73972); + function a(t, e, r, i) { + (i = i || n.identity), + Array.isArray(t) && (e[0][r] = i(t)); + } + t.exports = function (t) { + var e = t.calcdata, + r = t._fullLayout; + function o(t) { + return function (e) { + return n.coerceHoverinfo( + { hoverinfo: e }, + { _module: t._module }, + r, + ); + }; + } + for (var s = 0; s < e.length; s++) { + var l = e[s], + u = l[0].trace; + if (!i.traceIs(u, "pie-like")) { + var c = i.traceIs(u, "2dMap") ? a : n.fillArray; + c(u.hoverinfo, l, "hi", o(u)), + u.hovertemplate && c(u.hovertemplate, l, "ht"), + u.hoverlabel && + (c(u.hoverlabel.bgcolor, l, "hbg"), + c(u.hoverlabel.bordercolor, l, "hbc"), + c(u.hoverlabel.font.size, l, "hts"), + c(u.hoverlabel.font.color, l, "htc"), + c(u.hoverlabel.font.family, l, "htf"), + c(u.hoverlabel.namelength, l, "hnl"), + c(u.hoverlabel.align, l, "hta")); + } + } + }; + }, + 75914: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(88335).hover; + t.exports = function (t, e, r) { + var a = n.getComponentMethod("annotations", "onClick")( + t, + t._hoverdata, + ); + function o() { + t.emit("plotly_click", { + points: t._hoverdata, + event: e, + }); + } + void 0 !== r && i(t, e, r, !0), + t._hoverdata && + e && + e.target && + (a && a.then ? a.then(o) : o(), + e.stopImmediatePropagation && + e.stopImmediatePropagation()); + }; + }, + 26675: function (t) { + "use strict"; + t.exports = { + YANGLE: 60, + HOVERARROWSIZE: 6, + HOVERTEXTPAD: 3, + HOVERFONTSIZE: 13, + HOVERFONT: "Arial, sans-serif", + HOVERMINTIME: 50, + HOVERID: "-hover", + }; + }, + 54268: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(77914), + a = r(38048); + t.exports = function (t, e, r, o) { + var s = n.extendFlat({}, o.hoverlabel); + e.hovertemplate && (s.namelength = -1), + a( + t, + e, + function (r, a) { + return n.coerce(t, e, i, r, a); + }, + s, + ); + }; + }, + 23469: function (t, e, r) { + "use strict"; + var n = r(71828); + (e.getSubplot = function (t) { + return t.subplot || t.xaxis + t.yaxis || t.geo; + }), + (e.isTraceInSubplots = function (t, r) { + if ("splom" === t.type) { + for ( + var n = t.xaxes || [], i = t.yaxes || [], a = 0; + a < n.length; + a++ + ) + for (var o = 0; o < i.length; o++) + if (-1 !== r.indexOf(n[a] + i[o])) return !0; + return !1; + } + return -1 !== r.indexOf(e.getSubplot(t)); + }), + (e.flat = function (t, e) { + for ( + var r = new Array(t.length), n = 0; + n < t.length; + n++ + ) + r[n] = e; + return r; + }), + (e.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; + }), + (e.getDistanceFunction = function (t, r, n, i) { + return "closest" === t + ? i || e.quadrature(r, n) + : "x" === t.charAt(0) + ? r + : n; + }), + (e.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; + }), + (e.inbox = function (t, e, r) { + return t * e < 0 || 0 === t ? r : 1 / 0; + }), + (e.quadrature = function (t, e) { + return function (r) { + var n = t(r), + i = e(r); + return Math.sqrt(n * n + i * i); + }; + }), + (e.makeEventData = function (t, r, n) { + var i = "index" in t ? t.index : t.pointNumber, + a = { + data: r._input, + fullData: r, + curveNumber: r.index, + pointNumber: i, + }; + if (r._indexToPoints) { + var o = r._indexToPoints[i]; + 1 === o.length + ? (a.pointIndex = o[0]) + : (a.pointIndices = o); + } else a.pointIndex = i; + return ( + r._module.eventData + ? (a = r._module.eventData(a, t, r, n, i)) + : ("xVal" in t + ? (a.x = t.xVal) + : "x" in t && (a.x = t.x), + "yVal" in t + ? (a.y = t.yVal) + : "y" in t && (a.y = t.y), + t.xa && (a.xaxis = t.xa), + t.ya && (a.yaxis = t.ya), + void 0 !== t.zLabelVal && (a.z = t.zLabelVal)), + e.appendArrayPointValue(a, r, i), + a + ); + }), + (e.appendArrayPointValue = function (t, e, r) { + var i = e._arrayAttrs; + if (i) + for (var s = 0; s < i.length; s++) { + var l = i[s], + u = a(l); + if (void 0 === t[u]) { + var c = o(n.nestedProperty(e, l).get(), r); + void 0 !== c && (t[u] = c); + } + } + }), + (e.appendArrayMultiPointValues = function (t, e, r) { + var i = e._arrayAttrs; + if (i) + for (var s = 0; s < i.length; s++) { + var l = i[s], + u = a(l); + if (void 0 === t[u]) { + for ( + var c = n.nestedProperty(e, l).get(), + f = new Array(r.length), + h = 0; + h < r.length; + h++ + ) + f[h] = o(c, r[h]); + t[u] = f; + } + } + }); + var i = { + ids: "id", + locations: "location", + labels: "label", + values: "value", + "marker.colors": "color", + parents: "parent", + }; + function a(t) { + return i[t] || t; + } + function o(t, e) { + return Array.isArray(e) + ? Array.isArray(t) && Array.isArray(t[e[0]]) + ? t[e[0]][e[1]] + : void 0 + : t[e]; + } + var s = { x: !0, y: !0 }, + l = { "x unified": !0, "y unified": !0 }; + (e.isUnifiedHover = function (t) { + return "string" == typeof t && !!l[t]; + }), + (e.isXYhover = function (t) { + return "string" == typeof t && !!s[t]; + }); + }, + 88335: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = r(84267), + o = r(71828), + s = o.strTranslate, + l = o.strRotate, + u = r(11086), + c = r(63893), + f = r(39918), + h = r(91424), + p = r(7901), + d = r(28569), + v = r(89298), + g = r(73972), + y = r(23469), + m = r(26675), + x = r(99017), + b = r(43969), + _ = m.YANGLE, + w = (Math.PI * _) / 180, + T = 1 / Math.sin(w), + k = Math.cos(w), + A = Math.sin(w), + M = m.HOVERARROWSIZE, + S = m.HOVERTEXTPAD, + E = { box: !0, ohlc: !0, violin: !0, candlestick: !0 }, + L = { scatter: !0, scattergl: !0, splom: !0 }; + function C(t) { + return [ + t.trace.index, + t.index, + t.x0, + t.y0, + t.name, + t.attr, + t.xa ? t.xa._id : "", + t.ya ? t.ya._id : "", + ].join(","); + } + (e.hover = function (t, e, r, a) { + t = o.getGraphDiv(t); + var s = e.target; + o.throttle( + t._fullLayout._uid + m.HOVERID, + m.HOVERMINTIME, + function () { + !(function (t, e, r, a, s) { + r || (r = "xy"); + var l = Array.isArray(r) ? r : [r], + c = t._fullLayout, + h = c._plots || [], + v = h[r], + m = c._has("cartesian"); + if (v) { + var x = v.overlays.map(function (t) { + return t.id; + }); + l = l.concat(x); + } + for ( + var b = l.length, + _ = new Array(b), + w = new Array(b), + k = !1, + A = 0; + A < b; + A++ + ) { + var S = l[A]; + if (h[S]) + (k = !0), + (_[A] = h[S].xaxis), + (w[A] = h[S].yaxis); + else { + if (!c[S] || !c[S]._subplot) + return void o.warn( + "Unrecognized subplot: " + S, + ); + var O = c[S]._subplot; + (_[A] = O.xaxis), (w[A] = O.yaxis); + } + } + var I = e.hovermode || c.hovermode; + if ( + (I && !k && (I = "closest"), + -1 === + [ + "x", + "y", + "closest", + "x unified", + "y unified", + ].indexOf(I) || + !t.calcdata || + t.querySelector(".zoombox") || + t._dragging) + ) + return d.unhoverRaw(t, e); + var N = c.hoverdistance; + -1 === N && (N = 1 / 0); + var H = c.spikedistance; + -1 === H && (H = 1 / 0); + var q, + G, + Z, + W, + Y, + X, + J, + K, + $, + Q, + tt, + et, + rt, + nt = [], + it = [], + at = { hLinePoint: null, vLinePoint: null }, + ot = !1; + if (Array.isArray(e)) + for (I = "array", Z = 0; Z < e.length; Z++) + (Y = t.calcdata[e[Z].curveNumber || 0]) && + ((X = Y[0].trace), + "skip" !== Y[0].trace.hoverinfo && + (it.push(Y), + "h" === X.orientation && (ot = !0))); + else { + for (W = 0; W < t.calcdata.length; W++) + (Y = t.calcdata[W]), + "skip" !== (X = Y[0].trace).hoverinfo && + y.isTraceInSubplots(X, l) && + (it.push(Y), + "h" === X.orientation && (ot = !0)); + var st, lt; + if (s) { + if ( + !1 === + u.triggerHandler(t, "plotly_beforehover", e) + ) + return; + var ut = s.getBoundingClientRect(); + (st = e.clientX - ut.left), + (lt = e.clientY - ut.top), + c._calcInverseTransform(t); + var ct = o.apply3DTransform(c._invTransform)( + st, + lt, + ); + if ( + ((st = ct[0]), + (lt = ct[1]), + st < 0 || + st > _[0]._length || + lt < 0 || + lt > w[0]._length) + ) + return d.unhoverRaw(t, e); + } else + (st = "xpx" in e ? e.xpx : _[0]._length / 2), + (lt = + "ypx" in e ? e.ypx : w[0]._length / 2); + if ( + ((e.pointerX = st + _[0]._offset), + (e.pointerY = lt + w[0]._offset), + (q = + "xval" in e + ? y.flat(l, e.xval) + : y.p2c(_, st)), + (G = + "yval" in e + ? y.flat(l, e.yval) + : y.p2c(w, lt)), + !i(q[0]) || !i(G[0])) + ) + return ( + o.warn("Fx.hover failed", e, t), + d.unhoverRaw(t, e) + ); + } + var ft = 1 / 0; + function ht(t, r) { + for (W = 0; W < it.length; W++) + if ( + (Y = it[W]) && + Y[0] && + Y[0].trace && + !0 === (X = Y[0].trace).visible && + 0 !== X._length && + -1 === + ["carpet", "contourcarpet"].indexOf( + X._module.name, + ) + ) { + if ( + ("splom" === X.type + ? (J = l[(K = 0)]) + : ((J = y.getSubplot(X)), + (K = l.indexOf(J))), + ($ = I), + y.isUnifiedHover($) && ($ = $.charAt(0)), + (et = { + cd: Y, + trace: X, + xa: _[K], + ya: w[K], + maxHoverDistance: N, + maxSpikeDistance: H, + index: !1, + distance: Math.min(ft, N), + spikeDistance: 1 / 0, + xSpike: void 0, + ySpike: void 0, + color: p.defaultLine, + name: X.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, + }), + c[J] && (et.subplot = c[J]._subplot), + c._splomScenes && + c._splomScenes[X.uid] && + (et.scene = c._splomScenes[X.uid]), + (rt = nt.length), + "array" === $) + ) { + var n = e[W]; + "pointNumber" in n + ? ((et.index = n.pointNumber), + ($ = "closest")) + : (($ = ""), + "xval" in n && + ((Q = n.xval), ($ = "x")), + "yval" in n && + ((tt = n.yval), + ($ = $ ? "closest" : "y"))); + } else + void 0 !== t && void 0 !== r + ? ((Q = t), (tt = r)) + : ((Q = q[K]), (tt = G[K])); + if (0 !== N) + if (X._module && X._module.hoverPoints) { + var a = X._module.hoverPoints( + et, + Q, + tt, + $, + { + finiteRange: !0, + hoverLayer: c._hoverlayer, + }, + ); + if (a) + for (var s, u = 0; u < a.length; u++) + (s = a[u]), + i(s.x0) && + i(s.y0) && + nt.push(R(s, I)); + } else + o.log( + "Unrecognized trace type in hover:", + X, + ); + if ( + ("closest" === I && + nt.length > rt && + (nt.splice(0, rt), + (ft = nt[0].distance)), + m && 0 !== H && 0 === nt.length) + ) { + (et.distance = H), (et.index = !1); + var f = X._module.hoverPoints( + et, + Q, + tt, + "closest", + { hoverLayer: c._hoverlayer }, + ); + if ( + (f && + (f = f.filter(function (t) { + return t.spikeDistance <= H; + })), + f && f.length) + ) { + var h, + d = f.filter(function (t) { + return ( + t.xa.showspikes && + "hovered data" !== t.xa.spikesnap + ); + }); + if (d.length) { + var v = d[0]; + i(v.x0) && + i(v.y0) && + ((h = dt(v)), + (!at.vLinePoint || + at.vLinePoint.spikeDistance > + h.spikeDistance) && + (at.vLinePoint = h)); + } + var g = f.filter(function (t) { + return ( + t.ya.showspikes && + "hovered data" !== t.ya.spikesnap + ); + }); + if (g.length) { + var x = g[0]; + i(x.x0) && + i(x.y0) && + ((h = dt(x)), + (!at.hLinePoint || + at.hLinePoint.spikeDistance > + h.spikeDistance) && + (at.hLinePoint = h)); + } + } + } + } + } + function pt(t, e, r) { + for ( + var n, i = null, a = 1 / 0, o = 0; + o < t.length; + o++ + ) + (n = t[o].spikeDistance), + r && 0 === o && (n = -1 / 0), + n <= a && n <= e && ((i = t[o]), (a = n)); + return i; + } + function dt(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; + } + ht(); + var vt = { + fullLayout: c, + container: c._hoverlayer, + event: e, + }, + gt = t._spikepoints, + yt = { + vLinePoint: at.vLinePoint, + hLinePoint: at.hLinePoint, + }; + t._spikepoints = yt; + var mt = function () { + nt.sort(function (t, e) { + return t.distance - e.distance; + }), + (nt = (function (t, e) { + for ( + var r = e.charAt(0), + n = [], + i = [], + a = [], + o = 0; + o < t.length; + o++ + ) { + var s = t[o]; + g.traceIs(s.trace, "bar-like") || + g.traceIs(s.trace, "box-violin") + ? a.push(s) + : s.trace[r + "period"] + ? i.push(s) + : n.push(s); + } + return n.concat(i).concat(a); + })(nt, I)); + }; + mt(); + var xt = I.charAt(0), + bt = + ("x" === xt || "y" === xt) && + nt[0] && + L[nt[0].trace.type]; + if (m && 0 !== H && 0 !== nt.length) { + var _t = pt( + nt.filter(function (t) { + return t.ya.showspikes; + }), + H, + bt, + ); + at.hLinePoint = dt(_t); + var wt = pt( + nt.filter(function (t) { + return t.xa.showspikes; + }), + H, + bt, + ); + at.vLinePoint = dt(wt); + } + if (0 === nt.length) { + var Tt = d.unhoverRaw(t, e); + return ( + !m || + (null === at.hLinePoint && + null === at.vLinePoint) || + (B(gt) && F(t, at, vt)), + Tt + ); + } + if ( + (m && B(gt) && F(t, at, vt), + y.isXYhover($) && + 0 !== nt[0].length && + "splom" !== nt[0].trace.type) + ) { + var kt = nt[0], + At = (nt = E[kt.trace.type] + ? nt.filter(function (t) { + return t.trace.index === kt.trace.index; + }) + : [kt]).length; + ht(j("x", kt, c), j("y", kt, c)); + var Mt, + St = [], + Et = {}, + Lt = 0, + Ct = function (t) { + var e = E[t.trace.type] + ? C(t) + : t.trace.index; + if (Et[e]) { + var r = Et[e] - 1, + n = St[r]; + r > 0 && + Math.abs(t.distance) < + Math.abs(n.distance) && + (St[r] = t); + } else Lt++, (Et[e] = Lt), St.push(t); + }; + for (Mt = 0; Mt < At; Mt++) Ct(nt[Mt]); + for (Mt = nt.length - 1; Mt > At - 1; Mt--) + Ct(nt[Mt]); + (nt = St), mt(); + } + var Ot = t._hoverdata, + Pt = [], + It = U(t), + Dt = V(t); + for (Z = 0; Z < nt.length; Z++) { + var zt = nt[Z], + Rt = y.makeEventData(zt, zt.trace, zt.cd); + if (!1 !== zt.hovertemplate) { + var Ft = !1; + zt.cd[zt.index] && + zt.cd[zt.index].ht && + (Ft = zt.cd[zt.index].ht), + (zt.hovertemplate = + Ft || zt.trace.hovertemplate || !1); + } + if (zt.xa && zt.ya) { + var Bt = zt.x0 + zt.xa._offset, + Nt = zt.x1 + zt.xa._offset, + jt = zt.y0 + zt.ya._offset, + Ut = zt.y1 + zt.ya._offset, + Vt = Math.min(Bt, Nt), + Ht = Math.max(Bt, Nt), + qt = Math.min(jt, Ut), + Gt = Math.max(jt, Ut); + Rt.bbox = { + x0: Vt + Dt, + x1: Ht + Dt, + y0: qt + It, + y1: Gt + It, + }; + } + (zt.eventData = [Rt]), Pt.push(Rt); + } + t._hoverdata = Pt; + var Zt = + ("y" === I && + (it.length > 1 || nt.length > 1)) || + ("closest" === I && ot && nt.length > 1), + Wt = p.combine( + c.plot_bgcolor || p.background, + c.paper_bgcolor, + ), + Yt = P(nt, { + gd: t, + hovermode: I, + rotateLabels: Zt, + bgColor: Wt, + container: c._hoverlayer, + outerContainer: c._paper.node(), + commonLabelOpts: c.hoverlabel, + hoverdistance: c.hoverdistance, + }), + Xt = Yt.hoverLabels; + if ( + (y.isUnifiedHover(I) || + ((function (t, e, r, n) { + var i, + a, + o, + s, + l, + u, + c, + f = e ? "xa" : "ya", + h = e ? "ya" : "xa", + p = 0, + d = 1, + v = t.size(), + g = new Array(v), + y = 0, + m = n.minX, + x = n.maxX, + b = n.minY, + _ = n.maxY, + w = function (t) { + return t * r._invScaleX; + }, + k = function (t) { + return t * r._invScaleY; + }; + function A(t) { + var e = t[0], + r = t[t.length - 1]; + if ( + ((a = e.pmin - e.pos - e.dp + e.size), + (o = r.pos + r.dp + r.size - e.pmax), + a > 0.01) + ) { + for (l = t.length - 1; l >= 0; l--) + t[l].dp += a; + i = !1; + } + if (!(o < 0.01)) { + if (a < -0.01) { + for (l = t.length - 1; l >= 0; l--) + t[l].dp -= o; + i = !1; + } + if (i) { + var n = 0; + for (s = 0; s < t.length; s++) + (u = t[s]).pos + u.dp + u.size > + e.pmax && n++; + for ( + s = t.length - 1; + s >= 0 && !(n <= 0); + s-- + ) + (u = t[s]).pos > e.pmax - 1 && + ((u.del = !0), n--); + for ( + s = 0; + s < t.length && !(n <= 0); + s++ + ) + if ((u = t[s]).pos < e.pmin + 1) + for ( + u.del = !0, + n--, + o = 2 * u.size, + l = t.length - 1; + l >= 0; + l-- + ) + t[l].dp -= o; + for ( + s = t.length - 1; + s >= 0 && !(n <= 0); + s-- + ) + (u = t[s]).pos + u.dp + u.size > + e.pmax && ((u.del = !0), n--); + } + } + } + for ( + t.each(function (t) { + var n = t[f], + i = t[h], + a = "x" === n._id.charAt(0), + o = n.range; + 0 === y && + o && + o[0] > o[1] !== a && + (d = -1); + var s = 0, + l = a ? r.width : r.height; + if ( + "x" === r.hovermode || + "y" === r.hovermode + ) { + var u, + c, + p = D(t, e), + v = t.anchor, + A = "end" === v ? -1 : 1; + if ("middle" === v) + c = + (u = + t.crossPos + + (a + ? k(p.y - t.by / 2) + : w( + t.bx / 2 + t.tx2width / 2, + ))) + + (a ? k(t.by) : w(t.bx)); + else if (a) + c = + (u = + t.crossPos + + k(M + p.y) - + k(t.by / 2 - M)) + k(t.by); + else { + var S = w(A * M + p.x), + E = S + w(A * t.bx); + (u = t.crossPos + Math.min(S, E)), + (c = t.crossPos + Math.max(S, E)); + } + a + ? void 0 !== b && + void 0 !== _ && + Math.min(c, _) - Math.max(u, b) > + 1 && + ("left" === i.side + ? ((s = i._mainLinePosition), + (l = r.width)) + : (l = i._mainLinePosition)) + : void 0 !== m && + void 0 !== x && + Math.min(c, x) - Math.max(u, m) > + 1 && + ("top" === i.side + ? ((s = i._mainLinePosition), + (l = r.height)) + : (l = i._mainLinePosition)); + } + g[y++] = [ + { + datum: t, + traceIndex: t.trace.index, + dp: 0, + pos: t.pos, + posref: t.posref, + size: (t.by * (a ? T : 1)) / 2, + pmin: s, + pmax: l, + }, + ]; + }), + g.sort(function (t, e) { + return ( + t[0].posref - e[0].posref || + d * + (e[0].traceIndex - + t[0].traceIndex) + ); + }); + !i && p <= v; + + ) { + for ( + p++, i = !0, s = 0; + s < g.length - 1; + + ) { + var S = g[s], + E = g[s + 1], + L = S[S.length - 1], + C = E[0]; + if ( + (a = + L.pos + + L.dp + + L.size - + C.pos - + C.dp + + C.size) > 0.01 && + L.pmin === C.pmin && + L.pmax === C.pmax + ) { + for (l = E.length - 1; l >= 0; l--) + E[l].dp += a; + for ( + S.push.apply(S, E), + g.splice(s + 1, 1), + c = 0, + l = S.length - 1; + l >= 0; + l-- + ) + c += S[l].dp; + for ( + o = c / S.length, l = S.length - 1; + l >= 0; + l-- + ) + S[l].dp -= o; + i = !1; + } else s++; + } + g.forEach(A); + } + for (s = g.length - 1; s >= 0; s--) { + var O = g[s]; + for (l = O.length - 1; l >= 0; l--) { + var P = O[l], + I = P.datum; + (I.offset = P.dp), (I.del = P.del); + } + } + })(Xt, Zt, c, Yt.commonLabelBoundingBox), + z(Xt, Zt, c._invScaleX, c._invScaleY)), + s && s.tagName) + ) { + var Jt = g.getComponentMethod( + "annotations", + "hasClickToShow", + )(t, Pt); + f(n.select(s), Jt ? "pointer" : ""); + } + s && + !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) || + String(i.pointNumbers) !== + String(a.pointNumbers) + ) + return !0; + } + return !1; + })(t, 0, Ot) && + (Ot && + t.emit("plotly_unhover", { + event: e, + points: Ot, + }), + t.emit("plotly_hover", { + event: e, + points: t._hoverdata, + xaxes: _, + yaxes: w, + xvals: q, + yvals: G, + })); + })(t, e, r, a, s); + }, + ); + }), + (e.loneHover = function (t, e) { + var r = !0; + Array.isArray(t) || ((r = !1), (t = [t])); + var i = e.gd, + a = U(i), + o = V(i), + s = P( + t.map(function (t) { + var r = t._x0 || t.x0 || t.x || 0, + n = t._x1 || t.x1 || t.x || 0, + s = t._y0 || t.y0 || t.y || 0, + l = t._y1 || t.y1 || t.y || 0, + u = t.eventData; + if (u) { + var c = Math.min(r, n), + f = Math.max(r, n), + h = Math.min(s, l), + d = Math.max(s, l), + v = t.trace; + if (g.traceIs(v, "gl3d")) { + var y = + i._fullLayout[v.scene]._scene.container, + m = y.offsetLeft, + x = y.offsetTop; + (c += m), (f += m), (h += x), (d += x); + } + (u.bbox = { + x0: c + o, + x1: f + o, + y0: h + a, + y1: d + a, + }), + e.inOut_bbox && e.inOut_bbox.push(u.bbox); + } else u = !1; + return { + color: t.color || p.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, + nameLength: t.nameLength, + textAlign: t.textAlign, + trace: t.trace || { index: 0, hoverinfo: "" }, + xa: { _offset: 0 }, + ya: { _offset: 0 }, + index: 0, + hovertemplate: t.hovertemplate || !1, + hovertemplateLabels: + t.hovertemplateLabels || !1, + eventData: u, + }; + }), + { + gd: i, + hovermode: "closest", + rotateLabels: !1, + bgColor: e.bgColor || p.background, + container: n.select(e.container), + outerContainer: e.outerContainer || e.container, + }, + ).hoverLabels, + l = 0, + u = 0; + return ( + s + .sort(function (t, e) { + return t.y0 - e.y0; + }) + .each(function (t, r) { + var n = t.y0 - t.by / 2; + (t.offset = n - 5 < l ? l - n + 5 : 0), + (l = n + t.by + t.offset), + r === e.anchorIndex && (u = t.offset); + }) + .each(function (t) { + t.offset -= u; + }), + z( + s, + !1, + i._fullLayout._invScaleX, + i._fullLayout._invScaleY, + ), + r ? s : s.node() + ); + }); + var O = /([\s\S]*)<\/extra>/; + function P(t, e) { + var r = e.gd, + i = r._fullLayout, + a = e.hovermode, + u = e.rotateLabels, + f = e.bgColor, + d = e.container, + v = e.outerContainer, + w = e.commonLabelOpts || {}; + if (0 === t.length) return [[]]; + var T = e.fontFamily || m.HOVERFONT, + k = e.fontSize || m.HOVERFONTSIZE, + A = t[0], + E = A.xa, + L = A.ya, + O = a.charAt(0), + P = O + "Label", + D = A[P]; + if (void 0 === D && "multicategory" === E.type) + for ( + var z = 0; + z < t.length && void 0 === (D = t[z][P]); + z++ + ); + var R = H(r, v), + F = R.top, + B = R.width, + N = R.height, + j = + void 0 !== D && + A.distance <= e.hoverdistance && + ("x" === a || "y" === a); + if (j) { + var U, + V, + q = !0; + for (U = 0; U < t.length; U++) + if ( + (q && void 0 === t[U].zLabel && (q = !1), + (V = t[U].hoverinfo || t[U].trace.hoverinfo)) + ) { + var G = Array.isArray(V) ? V : V.split("+"); + if ( + -1 === G.indexOf("all") && + -1 === G.indexOf(a) + ) { + j = !1; + break; + } + } + q && (j = !1); + } + var Z = d.selectAll("g.axistext").data(j ? [0] : []); + Z.enter().append("g").classed("axistext", !0), + Z.exit().remove(); + var W = { minX: 0, maxX: 0, minY: 0, maxY: 0 }; + if ( + (Z.each(function () { + var t = n.select(this), + e = o.ensureSingle(t, "path", "", function (t) { + t.style({ "stroke-width": "1px" }); + }), + l = o.ensureSingle(t, "text", "", function (t) { + t.attr("data-notex", 1); + }), + u = w.bgcolor || p.defaultLine, + f = w.bordercolor || p.contrast(u), + d = p.contrast(u), + v = { + family: w.font.family || T, + size: w.font.size || k, + color: w.font.color || d, + }; + e.style({ fill: u, stroke: f }), + l + .text(D) + .call(h.font, v) + .call(c.positionText, 0, 0) + .call(c.convertToTspans, r), + t.attr("transform", ""); + var g, + y, + m = H(r, l.node()); + if ("x" === a) { + var x = "top" === E.side ? "-" : ""; + l + .attr("text-anchor", "middle") + .call( + c.positionText, + 0, + "top" === E.side + ? F - m.bottom - M - S + : F - m.top + M + S, + ), + (g = E._offset + (A.x0 + A.x1) / 2), + (y = + L._offset + + ("top" === E.side ? 0 : L._length)); + var b = m.width / 2 + S; + g < b + ? ((g = b), + e.attr( + "d", + "M-" + + (b - M) + + ",0L-" + + (b - 2 * M) + + "," + + x + + M + + "H" + + b + + "v" + + x + + (2 * S + m.height) + + "H-" + + b + + "V" + + x + + M + + "Z", + )) + : g > i.width - b + ? ((g = i.width - b), + e.attr( + "d", + "M" + + (b - M) + + ",0L" + + b + + "," + + x + + M + + "v" + + x + + (2 * S + m.height) + + "H-" + + b + + "V" + + x + + M + + "H" + + (b - 2 * M) + + "Z", + )) + : e.attr( + "d", + "M0,0L" + + M + + "," + + x + + M + + "H" + + b + + "v" + + x + + (2 * S + m.height) + + "H-" + + b + + "V" + + x + + M + + "H-" + + M + + "Z", + ), + (W.minX = g - b), + (W.maxX = g + b), + "top" === E.side + ? ((W.minY = y - (2 * S + m.height)), + (W.maxY = y - S)) + : ((W.minY = y + S), + (W.maxY = y + (2 * S + m.height))); + } else { + var _, C, O; + "right" === L.side + ? ((_ = "start"), + (C = 1), + (O = ""), + (g = E._offset + E._length)) + : ((_ = "end"), + (C = -1), + (O = "-"), + (g = E._offset)), + (y = L._offset + (A.y0 + A.y1) / 2), + l.attr("text-anchor", _), + e.attr( + "d", + "M0,0L" + + O + + M + + "," + + M + + "V" + + (S + m.height / 2) + + "h" + + O + + (2 * S + m.width) + + "V-" + + (S + m.height / 2) + + "H" + + O + + M + + "V-" + + M + + "Z", + ), + (W.minY = y - (S + m.height / 2)), + (W.maxY = y + (S + m.height / 2)), + "right" === L.side + ? ((W.minX = g + M), + (W.maxX = g + M + (2 * S + m.width))) + : ((W.minX = g - M - (2 * S + m.width)), + (W.maxX = g - M)); + var P, + I = m.height / 2, + z = F - m.top - I, + R = "clip" + i._uid + "commonlabel" + L._id; + if (g < m.width + 2 * S + M) { + P = + "M-" + + (M + S) + + "-" + + I + + "h-" + + (m.width - S) + + "V" + + I + + "h" + + (m.width - S) + + "Z"; + var B = m.width - g + S; + c.positionText(l, B, z), + "end" === _ && + l.selectAll("tspan").each(function () { + var t = n.select(this), + e = h.tester + .append("text") + .text(t.text()) + .call(h.font, v), + i = H(r, e.node()); + Math.round(i.width) < + Math.round(m.width) && + t.attr("x", B - i.width), + e.remove(); + }); + } else + c.positionText(l, C * (S + M), z), (P = null); + var N = i._topclips + .selectAll("#" + R) + .data(P ? [0] : []); + N.enter() + .append("clipPath") + .attr("id", R) + .append("path"), + N.exit().remove(), + N.select("path").attr("d", P), + h.setClipUrl(l, P ? R : null, r); + } + t.attr("transform", s(g, y)); + }), + y.isUnifiedHover(a)) + ) { + d.selectAll("g.hovertext").remove(); + var Y = t.filter(function (t) { + return "none" !== t.hoverinfo; + }); + if (0 === Y.length) return []; + var X = i.hoverlabel, + J = X.font, + K = { + showlegend: !0, + legend: { + title: { text: D, font: J }, + font: J, + bgcolor: X.bgcolor, + bordercolor: X.bordercolor, + borderwidth: 1, + tracegroupgap: 7, + traceorder: i.legend + ? i.legend.traceorder + : void 0, + orientation: "v", + }, + }, + $ = { font: J }; + x(K, $, r._fullData); + var Q = $.legend; + Q.entries = []; + for (var tt = 0; tt < Y.length; tt++) { + var et = Y[tt]; + if ("none" !== et.hoverinfo) { + var rt = I(et, !0, a, i, D), + nt = rt[0], + it = rt[1]; + (et.name = it), + (et.text = "" !== it ? it + " : " + nt : nt); + var at = et.cd[et.index]; + at && + (at.mc && (et.mc = at.mc), + at.mcc && (et.mc = at.mcc), + at.mlc && (et.mlc = at.mlc), + at.mlcc && (et.mlc = at.mlcc), + at.mlw && (et.mlw = at.mlw), + at.mrc && (et.mrc = at.mrc), + at.dir && (et.dir = at.dir)), + (et._distinct = !0), + Q.entries.push([et]); + } + } + Q.entries.sort(function (t, e) { + return t[0].trace.index - e[0].trace.index; + }), + (Q.layer = d), + (Q._inHover = !0), + (Q._groupTitleFont = X.grouptitlefont), + b(r, Q); + var ot, + st, + lt, + ut, + ct = d.select("g.legend"), + ft = H(r, ct.node()), + ht = ft.width + 2 * S, + pt = ft.height + 2 * S, + dt = Y[0], + vt = (dt.x0 + dt.x1) / 2, + gt = (dt.y0 + dt.y1) / 2, + yt = !( + g.traceIs(dt.trace, "bar-like") || + g.traceIs(dt.trace, "box-violin") + ); + "y" === O + ? yt + ? ((st = gt - S), (ot = gt + S)) + : ((st = Math.min.apply( + null, + Y.map(function (t) { + return Math.min(t.y0, t.y1); + }), + )), + (ot = Math.max.apply( + null, + Y.map(function (t) { + return Math.max(t.y0, t.y1); + }), + ))) + : (st = ot = + o.mean( + Y.map(function (t) { + return (t.y0 + t.y1) / 2; + }), + ) - + pt / 2), + "x" === O + ? yt + ? ((lt = vt + S), (ut = vt - S)) + : ((lt = Math.max.apply( + null, + Y.map(function (t) { + return Math.max(t.x0, t.x1); + }), + )), + (ut = Math.min.apply( + null, + Y.map(function (t) { + return Math.min(t.x0, t.x1); + }), + ))) + : (lt = ut = + o.mean( + Y.map(function (t) { + return (t.x0 + t.x1) / 2; + }), + ) - + ht / 2); + var mt, + xt, + bt = E._offset, + _t = L._offset; + return ( + (ut += bt - ht), + (st += _t - pt), + (mt = + (lt += bt) + ht < B && lt >= 0 + ? lt + : ut + ht < B && ut >= 0 + ? ut + : bt + ht < B + ? bt + : lt - vt < vt - ut + ht + ? B - ht + : 0), + (mt += S), + (xt = + (ot += _t) + pt < N && ot >= 0 + ? ot + : st + pt < N && st >= 0 + ? st + : _t + pt < N + ? _t + : ot - gt < gt - st + pt + ? N - pt + : 0), + (xt += S), + ct.attr("transform", s(mt - 1, xt - 1)), + ct + ); + } + var wt = d + .selectAll("g.hovertext") + .data(t, function (t) { + return C(t); + }); + return ( + wt + .enter() + .append("g") + .classed("hovertext", !0) + .each(function () { + var t = n.select(this); + t + .append("rect") + .call(p.fill, p.addOpacity(f, 0.8)), + t.append("text").classed("name", !0), + t.append("path").style("stroke-width", "1px"), + t + .append("text") + .classed("nums", !0) + .call(h.font, T, k); + }), + wt.exit().remove(), + wt.each(function (t) { + var e = n.select(this).attr("transform", ""), + o = t.color; + Array.isArray(o) && + (o = o[t.eventData[0].pointNumber]); + var d = t.bgcolor || o, + v = p.combine( + p.opacity(d) ? d : p.defaultLine, + f, + ), + g = p.combine( + p.opacity(o) ? o : p.defaultLine, + f, + ), + y = t.borderColor || p.contrast(v), + m = I(t, j, a, i, D, e), + x = m[0], + b = m[1], + w = e + .select("text.nums") + .call( + h.font, + t.fontFamily || T, + t.fontSize || k, + t.fontColor || y, + ) + .text(x) + .attr("data-notex", 1) + .call(c.positionText, 0, 0) + .call(c.convertToTspans, r), + A = e.select("text.name"), + E = 0, + L = 0; + if (b && b !== x) { + A.call( + h.font, + t.fontFamily || T, + t.fontSize || k, + g, + ) + .text(b) + .attr("data-notex", 1) + .call(c.positionText, 0, 0) + .call(c.convertToTspans, r); + var C = H(r, A.node()); + (E = C.width + 2 * S), (L = C.height + 2 * S); + } else A.remove(), e.select("rect").remove(); + e.select("path").style({ fill: v, stroke: y }); + var O = t.xa._offset + (t.x0 + t.x1) / 2, + P = t.ya._offset + (t.y0 + t.y1) / 2, + z = Math.abs(t.x1 - t.x0), + R = Math.abs(t.y1 - t.y0), + U = H(r, w.node()), + V = U.width / i._invScaleX, + q = U.height / i._invScaleY; + (t.ty0 = (F - U.top) / i._invScaleY), + (t.bx = V + 2 * S), + (t.by = Math.max(q + 2 * S, L)), + (t.anchor = "start"), + (t.txwidth = V), + (t.tx2width = E), + (t.offset = 0); + var G, + Z, + W = (V + M + S + E) * i._invScaleX; + if (u) + (t.pos = O), + (G = P + R / 2 + W <= N), + (Z = P - R / 2 - W >= 0), + ("top" !== t.idealAlign && G) || !Z + ? G + ? ((P += R / 2), (t.anchor = "start")) + : (t.anchor = "middle") + : ((P -= R / 2), (t.anchor = "end")), + (t.crossPos = P); + else { + if ( + ((t.pos = P), + (G = O + z / 2 + W <= B), + (Z = O - z / 2 - W >= 0), + ("left" !== t.idealAlign && G) || !Z) + ) + if (G) (O += z / 2), (t.anchor = "start"); + else { + t.anchor = "middle"; + var Y = W / 2, + X = O + Y - B, + J = O - Y; + X > 0 && (O -= X), J < 0 && (O += -J); + } + else (O -= z / 2), (t.anchor = "end"); + t.crossPos = O; + } + w.attr("text-anchor", t.anchor), + E && A.attr("text-anchor", t.anchor), + e.attr("transform", s(O, P) + (u ? l(_) : "")); + }), + { hoverLabels: wt, commonLabelBoundingBox: W } + ); + } + function I(t, e, r, n, i, a) { + var s = "", + l = ""; + void 0 !== t.nameOverride && (t.name = t.nameOverride), + t.name && + (t.trace._meta && + (t.name = o.templateString( + t.name, + t.trace._meta, + )), + (s = N(t.name, t.nameLength))); + var u = r.charAt(0), + c = "x" === u ? "y" : "x"; + void 0 !== t.zLabel + ? (void 0 !== t.xLabel && + (l += "x: " + t.xLabel + "
"), + void 0 !== t.yLabel && + (l += "y: " + t.yLabel + "
"), + "choropleth" !== t.trace.type && + "choroplethmapbox" !== t.trace.type && + (l += (l ? "z: " : "") + t.zLabel)) + : e && t[u + "Label"] === i + ? (l = t[c + "Label"] || "") + : void 0 === t.xLabel + ? void 0 !== t.yLabel && + "scattercarpet" !== t.trace.type && + (l = t.yLabel) + : (l = + void 0 === t.yLabel + ? t.xLabel + : "(" + t.xLabel + ", " + t.yLabel + ")"), + (!t.text && 0 !== t.text) || + Array.isArray(t.text) || + (l += (l ? "
" : "") + t.text), + void 0 !== t.extraText && + (l += (l ? "
" : "") + t.extraText), + a && + "" === l && + !t.hovertemplate && + ("" === s && a.remove(), (l = s)); + var f = t.hovertemplate || !1; + if (f) { + var h = t.hovertemplateLabels || t; + t[u + "Label"] !== i && + ((h[u + "other"] = h[u + "Val"]), + (h[u + "otherLabel"] = h[u + "Label"])), + (l = (l = o.hovertemplateString( + f, + h, + n._d3locale, + t.eventData[0] || {}, + t.trace._meta, + )).replace(O, function (e, r) { + return (s = N(r, t.nameLength)), ""; + })); + } + return [l, s]; + } + function D(t, e) { + var r = 0, + n = t.offset; + return ( + e && ((n *= -A), (r = t.offset * k)), { x: r, y: n } + ); + } + function z(t, e, r, i) { + var a = function (t) { + return t * r; + }, + o = function (t) { + return t * i; + }; + t.each(function (t) { + var r = n.select(this); + if (t.del) return r.remove(); + var i, + s, + l, + u, + f = r.select("text.nums"), + p = t.anchor, + d = "end" === p ? -1 : 1, + v = + ((u = + (l = + (s = { start: 1, end: -1, middle: 0 }[ + (i = t).anchor + ]) * + (M + S)) + + s * (i.txwidth + S)), + "middle" === i.anchor && + ((l -= i.tx2width / 2), + (u += i.txwidth / 2 + S)), + { alignShift: s, textShiftX: l, text2ShiftX: u }), + g = D(t, e), + y = g.x, + m = g.y, + x = "middle" === p; + r.select("path").attr( + "d", + x + ? "M-" + + a(t.bx / 2 + t.tx2width / 2) + + "," + + o(m - t.by / 2) + + "h" + + a(t.bx) + + "v" + + o(t.by) + + "h-" + + a(t.bx) + + "Z" + : "M0,0L" + + a(d * M + y) + + "," + + o(M + m) + + "v" + + o(t.by / 2 - M) + + "h" + + a(d * t.bx) + + "v-" + + o(t.by) + + "H" + + a(d * M + y) + + "V" + + o(m - M) + + "Z", + ); + var b = y + v.textShiftX, + _ = m + t.ty0 - t.by / 2 + S, + w = t.textAlign || "auto"; + "auto" !== w && + ("left" === w && "start" !== p + ? (f.attr("text-anchor", "start"), + (b = x + ? -t.bx / 2 - t.tx2width / 2 + S + : -t.bx - S)) + : "right" === w && + "end" !== p && + (f.attr("text-anchor", "end"), + (b = x + ? t.bx / 2 - t.tx2width / 2 - S + : t.bx + S))), + f.call(c.positionText, a(b), o(_)), + t.tx2width && + (r + .select("text.name") + .call( + c.positionText, + a(v.text2ShiftX + v.alignShift * S + y), + o(m + t.ty0 - t.by / 2 + S), + ), + r + .select("rect") + .call( + h.setRect, + a( + v.text2ShiftX + + ((v.alignShift - 1) * t.tx2width) / 2 + + y, + ), + o(m - t.by / 2 - 1), + a(t.tx2width), + o(t.by + 2), + )); + }); + } + function R(t, e) { + var r = t.index, + n = t.trace || {}, + a = t.cd[0], + s = t.cd[r] || {}; + function l(t) { + return t || (i(t) && 0 === t); + } + var u = Array.isArray(r) + ? function (t, e) { + var i = o.castOption(a, r, t); + return l(i) ? i : o.extractOption({}, n, "", e); + } + : function (t, e) { + return o.extractOption(s, n, t, e); + }; + function c(e, r, n) { + var i = u(r, n); + l(i) && (t[e] = i); + } + if ( + (c("hoverinfo", "hi", "hoverinfo"), + c("bgcolor", "hbg", "hoverlabel.bgcolor"), + c("borderColor", "hbc", "hoverlabel.bordercolor"), + c("fontFamily", "htf", "hoverlabel.font.family"), + c("fontSize", "hts", "hoverlabel.font.size"), + c("fontColor", "htc", "hoverlabel.font.color"), + c("nameLength", "hnl", "hoverlabel.namelength"), + c("textAlign", "hta", "hoverlabel.align"), + (t.posref = + "y" === e || + ("closest" === e && "h" === n.orientation) + ? t.xa._offset + (t.x0 + t.x1) / 2 + : t.ya._offset + (t.y0 + t.y1) / 2), + (t.x0 = o.constrain(t.x0, 0, t.xa._length)), + (t.x1 = o.constrain(t.x1, 0, t.xa._length)), + (t.y0 = o.constrain(t.y0, 0, t.ya._length)), + (t.y1 = o.constrain(t.y1, 0, t.ya._length)), + void 0 !== t.xLabelVal && + ((t.xLabel = + "xLabel" in t + ? t.xLabel + : v.hoverLabelText( + t.xa, + t.xLabelVal, + n.xhoverformat, + )), + (t.xVal = t.xa.c2d(t.xLabelVal))), + void 0 !== t.yLabelVal && + ((t.yLabel = + "yLabel" in t + ? t.yLabel + : v.hoverLabelText( + t.ya, + t.yLabelVal, + n.yhoverformat, + )), + (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 f = v.tickText( + t.xa, + t.xa.c2l(t.xerr), + "hover", + ).text; + void 0 !== t.xerrneg + ? (t.xLabel += + " +" + + f + + " / -" + + v.tickText(t.xa, t.xa.c2l(t.xerrneg), "hover") + .text) + : (t.xLabel += " ± " + f), + "x" === e && (t.distance += 1); + } + if ( + !( + isNaN(t.yerr) || + ("log" === t.ya.type && t.yerr <= 0) + ) + ) { + var h = v.tickText( + t.ya, + t.ya.c2l(t.yerr), + "hover", + ).text; + void 0 !== t.yerrneg + ? (t.yLabel += + " +" + + h + + " / -" + + v.tickText(t.ya, t.ya.c2l(t.yerrneg), "hover") + .text) + : (t.yLabel += " ± " + h), + "y" === e && (t.distance += 1); + } + var p = t.hoverinfo || t.trace.hoverinfo; + return ( + p && + "all" !== p && + (-1 === + (p = Array.isArray(p) ? p : p.split("+")).indexOf( + "x", + ) && (t.xLabel = void 0), + -1 === p.indexOf("y") && (t.yLabel = void 0), + -1 === p.indexOf("z") && (t.zLabel = void 0), + -1 === p.indexOf("text") && (t.text = void 0), + -1 === p.indexOf("name") && (t.name = void 0)), + t + ); + } + function F(t, e, r) { + var n, + i, + o = r.container, + s = r.fullLayout, + l = s._size, + u = r.event, + c = !!e.hLinePoint, + f = !!e.vLinePoint; + if ((o.selectAll(".spikeline").remove(), f || c)) { + var d = p.combine(s.plot_bgcolor, s.paper_bgcolor); + if (c) { + var g, + y, + m = e.hLinePoint; + (n = m && m.xa), + "cursor" === (i = m && m.ya).spikesnap + ? ((g = u.pointerX), (y = u.pointerY)) + : ((g = n._offset + m.x), + (y = i._offset + m.y)); + var x, + b, + _ = + a.readability(m.color, d) < 1.5 + ? p.contrast(d) + : m.color, + w = i.spikemode, + T = i.spikethickness, + k = i.spikecolor || _, + A = v.getPxPosition(t, i); + if ( + -1 !== w.indexOf("toaxis") || + -1 !== w.indexOf("across") + ) { + if ( + (-1 !== w.indexOf("toaxis") && + ((x = A), (b = g)), + -1 !== w.indexOf("across")) + ) { + var M = i._counterDomainMin, + S = i._counterDomainMax; + "free" === i.anchor && + ((M = Math.min(M, i.position)), + (S = Math.max(S, i.position))), + (x = l.l + M * l.w), + (b = l.l + S * l.w); + } + o + .insert("line", ":first-child") + .attr({ + x1: x, + x2: b, + y1: y, + y2: y, + "stroke-width": T, + stroke: k, + "stroke-dasharray": h.dashStyle( + i.spikedash, + T, + ), + }) + .classed("spikeline", !0) + .classed("crisp", !0), + o + .insert("line", ":first-child") + .attr({ + x1: x, + x2: b, + y1: y, + y2: y, + "stroke-width": T + 2, + stroke: d, + }) + .classed("spikeline", !0) + .classed("crisp", !0); + } + -1 !== w.indexOf("marker") && + o + .insert("circle", ":first-child") + .attr({ + cx: A + ("right" !== i.side ? T : -T), + cy: y, + r: T, + fill: k, + }) + .classed("spikeline", !0); + } + if (f) { + var E, + L, + C = e.vLinePoint; + (n = C && C.xa), + (i = C && C.ya), + "cursor" === n.spikesnap + ? ((E = u.pointerX), (L = u.pointerY)) + : ((E = n._offset + C.x), + (L = i._offset + C.y)); + var O, + P, + I = + a.readability(C.color, d) < 1.5 + ? p.contrast(d) + : C.color, + D = n.spikemode, + z = n.spikethickness, + R = n.spikecolor || I, + F = v.getPxPosition(t, n); + if ( + -1 !== D.indexOf("toaxis") || + -1 !== D.indexOf("across") + ) { + if ( + (-1 !== D.indexOf("toaxis") && + ((O = F), (P = L)), + -1 !== D.indexOf("across")) + ) { + var B = n._counterDomainMin, + N = n._counterDomainMax; + "free" === n.anchor && + ((B = Math.min(B, n.position)), + (N = Math.max(N, n.position))), + (O = l.t + (1 - N) * l.h), + (P = l.t + (1 - B) * l.h); + } + o + .insert("line", ":first-child") + .attr({ + x1: E, + x2: E, + y1: O, + y2: P, + "stroke-width": z, + stroke: R, + "stroke-dasharray": h.dashStyle( + n.spikedash, + z, + ), + }) + .classed("spikeline", !0) + .classed("crisp", !0), + o + .insert("line", ":first-child") + .attr({ + x1: E, + x2: E, + y1: O, + y2: P, + "stroke-width": z + 2, + stroke: d, + }) + .classed("spikeline", !0) + .classed("crisp", !0); + } + -1 !== D.indexOf("marker") && + o + .insert("circle", ":first-child") + .attr({ + cx: E, + cy: F - ("top" !== n.side ? z : -z), + r: z, + fill: R, + }) + .classed("spikeline", !0); + } + } + } + function B(t, e) { + return ( + !e || + e.vLinePoint !== t._spikepoints.vLinePoint || + e.hLinePoint !== t._spikepoints.hLinePoint + ); + } + function N(t, e) { + return c.plainText(t || "", { + len: e, + allowedTags: ["br", "sub", "sup", "b", "i", "em"], + }); + } + function j(t, e, r) { + var n = e[t + "a"], + i = e[t + "Val"], + a = e.cd[0]; + if ("category" === n.type || "multicategory" === n.type) + i = n._categoriesMap[i]; + else if ("date" === n.type) { + var o = e.trace[t + "periodalignment"]; + if (o) { + var s = e.cd[e.index], + l = s[t + "Start"]; + void 0 === l && (l = s[t]); + var u = s[t + "End"]; + void 0 === u && (u = s[t]); + var c = u - l; + "end" === o + ? (i += c) + : "middle" === o && (i += c / 2); + } + i = n.d2c(i); + } + return ( + a && + a.t && + a.t.posLetter === n._id && + (("group" !== r.boxmode && + "group" !== r.violinmode) || + (i += a.t.dPos)), + i + ); + } + function U(t) { + return t.offsetTop + t.clientTop; + } + function V(t) { + return t.offsetLeft + t.clientLeft; + } + function H(t, e) { + var r = t._fullLayout, + n = e.getBoundingClientRect(), + i = n.left, + a = n.top, + s = i + n.width, + l = a + n.height, + u = o.apply3DTransform(r._invTransform)(i, a), + c = o.apply3DTransform(r._invTransform)(s, l), + f = u[0], + h = u[1], + p = c[0], + d = c[1]; + return { + x: f, + y: h, + width: p - f, + height: d - h, + top: Math.min(h, d), + left: Math.min(f, p), + right: Math.max(f, p), + bottom: Math.max(h, d), + }; + } + }, + 38048: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(23469).isUnifiedHover; + t.exports = function (t, e, r, o) { + o = o || {}; + var s = e.legend; + function l(t) { + o.font[t] || + (o.font[t] = s ? e.legend.font[t] : e.font[t]); + } + e && + a(e.hovermode) && + (o.font || (o.font = {}), + l("size"), + l("family"), + l("color"), + s + ? (o.bgcolor || + (o.bgcolor = i.combine( + e.legend.bgcolor, + e.paper_bgcolor, + )), + o.bordercolor || + (o.bordercolor = e.legend.bordercolor)) + : o.bgcolor || (o.bgcolor = e.paper_bgcolor)), + r("hoverlabel.bgcolor", o.bgcolor), + r("hoverlabel.bordercolor", o.bordercolor), + r("hoverlabel.namelength", o.namelength), + n.coerceFont(r, "hoverlabel.font", o.font), + r("hoverlabel.align", o.align); + }; + }, + 98212: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(528); + t.exports = function (t, e) { + function r(r, a) { + return void 0 !== e[r] + ? e[r] + : n.coerce(t, e, i, r, a); + } + return r("clickmode"), r("hovermode"); + }; + }, + 30211: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(28569), + o = r(23469), + s = r(528), + l = r(88335); + t.exports = { + moduleType: "component", + name: "fx", + constants: r(26675), + schema: { layout: s }, + attributes: r(77914), + layoutAttributes: s, + supplyLayoutGlobalDefaults: r(22774), + supplyDefaults: r(54268), + supplyLayoutDefaults: r(34938), + calc: r(30732), + getDistanceFunction: o.getDistanceFunction, + getClosest: o.getClosest, + inbox: o.inbox, + quadrature: o.quadrature, + appendArrayPointValue: o.appendArrayPointValue, + castHoverOption: function (t, e, r) { + return i.castOption(t, e, "hoverlabel." + r); + }, + castHoverinfo: function (t, e, r) { + return i.castOption(t, r, "hoverinfo", function (r) { + return i.coerceHoverinfo( + { hoverinfo: r }, + { _module: t._module }, + e, + ); + }); + }, + hover: l.hover, + unhover: a.unhover, + loneHover: l.loneHover, + loneUnhover: function (t) { + var e = i.isD3Selection(t) ? t : n.select(t); + e.selectAll("g.hovertext").remove(), + e.selectAll(".spikeline").remove(); + }, + click: r(75914), + }; + }, + 528: function (t, e, r) { + "use strict"; + var n = r(26675), + i = r(41940), + a = i({ editType: "none" }); + (a.family.dflt = n.HOVERFONT), + (a.size.dflt = n.HOVERFONTSIZE), + (t.exports = { + clickmode: { + valType: "flaglist", + flags: ["event", "select"], + dflt: "event", + editType: "plot", + extras: ["none"], + }, + dragmode: { + valType: "enumerated", + values: [ + "zoom", + "pan", + "select", + "lasso", + "drawclosedpath", + "drawopenpath", + "drawline", + "drawrect", + "drawcircle", + "orbit", + "turntable", + !1, + ], + dflt: "zoom", + editType: "modebar", + }, + hovermode: { + valType: "enumerated", + values: [ + "x", + "y", + "closest", + !1, + "x unified", + "y unified", + ], + dflt: "closest", + editType: "modebar", + }, + hoverdistance: { + valType: "integer", + min: -1, + dflt: 20, + editType: "none", + }, + spikedistance: { + valType: "integer", + min: -1, + dflt: -1, + editType: "none", + }, + hoverlabel: { + bgcolor: { valType: "color", editType: "none" }, + bordercolor: { valType: "color", editType: "none" }, + font: a, + grouptitlefont: i({ editType: "none" }), + align: { + valType: "enumerated", + values: ["left", "right", "auto"], + dflt: "auto", + editType: "none", + }, + namelength: { + valType: "integer", + min: -1, + dflt: 15, + editType: "none", + }, + editType: "none", + }, + selectdirection: { + valType: "enumerated", + values: ["h", "v", "d", "any"], + dflt: "any", + editType: "none", + }, + }); + }, + 34938: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(528), + a = r(98212), + o = r(38048); + t.exports = function (t, e) { + function r(r, a) { + return n.coerce(t, e, i, r, a); + } + a(t, e) && (r("hoverdistance"), r("spikedistance")), + "select" === r("dragmode") && r("selectdirection"); + var s = e._has("mapbox"), + l = e._has("geo"), + u = e._basePlotModules.length; + "zoom" === e.dragmode && + (((s || l) && 1 === u) || (s && l && 2 === u)) && + (e.dragmode = "pan"), + o(t, e, r), + n.coerceFont( + r, + "hoverlabel.grouptitlefont", + e.hoverlabel.font, + ); + }; + }, + 22774: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(38048), + a = r(528); + t.exports = function (t, e) { + i(t, e, function (r, i) { + return n.coerce(t, e, a, r, i); + }); + }; + }, + 83312: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(30587).counter, + a = r(27670).Y, + o = r(85555).idRegex, + s = r(44467), + l = { + 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: [i("xy").toString(), ""], + editType: "plot", + }, + editType: "plot", + }, + xaxes: { + valType: "info_array", + freeLength: !0, + items: { + valType: "enumerated", + values: [o.x.toString(), ""], + editType: "plot", + }, + editType: "plot", + }, + yaxes: { + valType: "info_array", + freeLength: !0, + items: { + valType: "enumerated", + values: [o.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: a( + { name: "grid", editType: "plot", noGridCell: !0 }, + {}, + ), + xside: { + valType: "enumerated", + values: [ + "bottom", + "bottom plot", + "top plot", + "top", + ], + dflt: "bottom plot", + editType: "plot", + }, + yside: { + valType: "enumerated", + values: [ + "left", + "left plot", + "right plot", + "right", + ], + dflt: "left plot", + editType: "plot", + }, + editType: "plot", + }; + function u(t, e, r) { + var n = e[r + "axes"], + i = Object.keys((t._splomAxes || {})[r] || {}); + return Array.isArray(n) ? n : i.length ? i : void 0; + } + function c(t, e, r, n, i, a) { + var o = e(t + "gap", r), + s = e("domain." + t); + e(t + "side", n); + for ( + var l = new Array(i), + u = s[0], + c = (s[1] - u) / (i - o), + f = c * (1 - o), + h = 0; + h < i; + h++ + ) { + var p = u + c * h; + l[a ? i - 1 - h : h] = [p, p + f]; + } + return l; + } + function f(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; + } + t.exports = { + moduleType: "component", + name: "grid", + schema: { layout: { grid: l } }, + layoutAttributes: l, + sizeDefaults: function (t, e) { + var r = t.grid || {}, + i = u(e, r, "x"), + a = u(e, r, "y"); + if (t.grid || i || a) { + var o, + f, + h = + Array.isArray(r.subplots) && + Array.isArray(r.subplots[0]), + p = Array.isArray(i), + d = Array.isArray(a), + v = p && i !== r.xaxes && d && a !== r.yaxes; + h + ? ((o = r.subplots.length), + (f = r.subplots[0].length)) + : (d && (o = a.length), p && (f = i.length)); + var g = s.newContainer(e, "grid"), + y = k("rows", o), + m = k("columns", f); + if (y * m > 1) { + h || + p || + d || + ("independent" === k("pattern") && (h = !0)), + (g._hasSubplotGrid = h); + var x, + b, + _ = "top to bottom" === k("roworder"), + w = h ? 0.2 : 0.1, + T = h ? 0.3 : 0.1; + v && + e._splomGridDflt && + ((x = e._splomGridDflt.xside), + (b = e._splomGridDflt.yside)), + (g._domains = { + x: c("x", k, w, x, m), + y: c("y", k, T, b, y, _), + }); + } else delete e.grid; + } + function k(t, e) { + return n.coerce(r, g, l, t, e); + } + }, + contentDefaults: function (t, e) { + var r = e.grid; + if (r && r._domains) { + var n, + i, + a, + o, + s, + l, + c, + h = t.grid || {}, + p = e._subplots, + d = r._hasSubplotGrid, + v = r.rows, + g = r.columns, + y = "independent" === r.pattern, + m = (r._axisMap = {}); + if (d) { + var x = h.subplots || []; + l = r.subplots = new Array(v); + var b = 1; + for (n = 0; n < v; n++) { + var _ = (l[n] = new Array(g)), + w = x[n] || []; + for (i = 0; i < g; i++) + if ( + (y + ? ((s = + 1 === b ? "xy" : "x" + b + "y" + b), + b++) + : (s = w[i]), + (_[i] = ""), + -1 !== p.cartesian.indexOf(s)) + ) { + if ( + ((c = s.indexOf("y")), + (a = s.slice(0, c)), + (o = s.slice(c)), + (void 0 !== m[a] && m[a] !== i) || + (void 0 !== m[o] && m[o] !== n)) + ) + continue; + (_[i] = s), (m[a] = i), (m[o] = n); + } + } + } else { + var T = u(e, h, "x"), + k = u(e, h, "y"); + (r.xaxes = f(T, p.xaxis, g, m, "x")), + (r.yaxes = f(k, p.yaxis, v, m, "y")); + } + var A = (r._anchors = {}), + M = "top to bottom" === r.roworder; + for (var S in m) { + var E, + L, + C, + O = S.charAt(0), + P = r[O + "side"]; + if (P.length < 8) A[S] = "free"; + else if ("x" === O) { + if ( + (("t" === P.charAt(0)) === M + ? ((E = 0), (L = 1), (C = v)) + : ((E = v - 1), (L = -1), (C = -1)), + d) + ) { + var I = m[S]; + for (n = E; n !== C; n += L) + if ( + (s = l[n][I]) && + ((c = s.indexOf("y")), + s.slice(0, c) === S) + ) { + A[S] = s.slice(c); + break; + } + } else + for (n = E; n !== C; n += L) + if ( + ((o = r.yaxes[n]), + -1 !== p.cartesian.indexOf(S + o)) + ) { + A[S] = o; + break; + } + } else if ( + ("l" === P.charAt(0) + ? ((E = 0), (L = 1), (C = g)) + : ((E = g - 1), (L = -1), (C = -1)), + d) + ) { + var D = m[S]; + for (n = E; n !== C; n += L) + if ( + (s = l[D][n]) && + ((c = s.indexOf("y")), s.slice(c) === S) + ) { + A[S] = s.slice(0, c); + break; + } + } else + for (n = E; n !== C; n += L) + if ( + ((a = r.xaxes[n]), + -1 !== p.cartesian.indexOf(a + S)) + ) { + A[S] = a; + break; + } + } + } + }, + }; + }, + 69819: function (t, e, r) { + "use strict"; + var n = r(85555), + i = r(44467).templatedArray; + r(24695), + (t.exports = i("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", n.idRegex.x.toString()], + dflt: "paper", + editType: "arraydraw", + }, + yref: { + valType: "enumerated", + values: ["paper", n.idRegex.y.toString()], + dflt: "paper", + editType: "arraydraw", + }, + editType: "arraydraw", + })); + }, + 75378: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(58163); + t.exports = function (t, e, r, a) { + e = e || {}; + var o = "log" === r && "linear" === e.type, + s = "linear" === r && "log" === e.type; + if (o || s) + for ( + var l, + u, + c = t._fullLayout.images, + f = e._id.charAt(0), + h = 0; + h < c.length; + h++ + ) + if ( + ((u = "images[" + h + "]."), + (l = c[h])[f + "ref"] === e._id) + ) { + var p = l[f], + d = l["size" + f], + v = null, + g = null; + if (o) { + v = i(p, e.range); + var y = d / Math.pow(10, v) / 2; + g = + (2 * Math.log(y + Math.sqrt(1 + y * y))) / + Math.LN10; + } else + g = + (v = Math.pow(10, p)) * + (Math.pow(10, d / 2) - Math.pow(10, -d / 2)); + n(v) + ? n(g) || (g = null) + : ((v = null), (g = null)), + a(u + f, v), + a(u + "size" + f, g); + } + }; + }, + 81603: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(85501), + o = r(69819); + function s(t, e, r) { + function a(r, i) { + return n.coerce(t, e, o, r, i); + } + var s = a("source"); + if (!a("visible", !!s)) return e; + a("layer"), + a("xanchor"), + a("yanchor"), + a("sizex"), + a("sizey"), + a("sizing"), + a("opacity"); + for ( + var l = { _fullLayout: r }, u = ["x", "y"], c = 0; + c < 2; + c++ + ) { + var f = u[c], + h = i.coerceRef(t, e, l, f, "paper", void 0); + "paper" !== h && + i.getFromId(l, h)._imgIndices.push(e._index), + i.coercePosition(e, l, a, h, f, 0); + } + return e; + } + t.exports = function (t, e) { + a(t, e, { name: "images", handleItemDefaults: s }); + }; + }, + 80750: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(91424), + a = r(89298), + o = r(41675), + s = r(77922); + t.exports = function (t) { + var e, + r, + l = t._fullLayout, + u = [], + c = {}, + f = []; + for (r = 0; r < l.images.length; r++) { + var h = l.images[r]; + if (h.visible) + if ( + "below" === h.layer && + "paper" !== h.xref && + "paper" !== h.yref + ) { + e = o.ref2id(h.xref) + o.ref2id(h.yref); + var p = l._plots[e]; + if (!p) { + f.push(h); + continue; + } + p.mainplot && (e = p.mainplot.id), + c[e] || (c[e] = []), + c[e].push(h); + } else "above" === h.layer ? u.push(h) : f.push(h); + } + var d = { + left: { sizing: "xMin", offset: 0 }, + center: { sizing: "xMid", offset: -0.5 }, + right: { sizing: "xMax", offset: -1 }, + }, + v = { + top: { sizing: "YMin", offset: 0 }, + middle: { sizing: "YMid", offset: -0.5 }, + bottom: { sizing: "YMax", offset: -1 }, + }; + function g(e) { + var r = n.select(this); + if (this._imgSrc !== e.source) + if ( + (r.attr("xmlns", s.svg), + e.source && "data:" === e.source.slice(0, 5)) + ) + r.attr("xlink:href", e.source), + (this._imgSrc = e.source); + else { + var i = new Promise( + function (t) { + var n = new Image(); + function i() { + r.remove(), t(); + } + (this.img = n), + n.setAttribute("crossOrigin", "anonymous"), + (n.onerror = i), + (n.onload = function () { + var e = document.createElement("canvas"); + (e.width = this.width), + (e.height = this.height), + e + .getContext("2d", { + willReadFrequently: !0, + }) + .drawImage(this, 0, 0); + var n = e.toDataURL("image/png"); + r.attr("xlink:href", n), t(); + }), + r.on("error", i), + (n.src = e.source), + (this._imgSrc = e.source); + }.bind(this), + ); + t._promises.push(i); + } + } + function y(e) { + var r, + o, + s = n.select(this), + u = a.getFromId(t, e.xref), + c = a.getFromId(t, e.yref), + f = "domain" === a.getRefType(e.xref), + h = "domain" === a.getRefType(e.yref), + p = l._size; + (r = + void 0 !== u + ? "string" == typeof e.xref && f + ? u._length * e.sizex + : Math.abs(u.l2p(e.sizex) - u.l2p(0)) + : e.sizex * p.w), + (o = + void 0 !== c + ? "string" == typeof e.yref && h + ? c._length * e.sizey + : Math.abs(c.l2p(e.sizey) - c.l2p(0)) + : e.sizey * p.h); + var g, + y, + m = r * d[e.xanchor].offset, + x = o * v[e.yanchor].offset, + b = d[e.xanchor].sizing + v[e.yanchor].sizing; + switch ( + ((g = + void 0 !== u + ? "string" == typeof e.xref && f + ? u._length * e.x + u._offset + : u.r2p(e.x) + u._offset + : e.x * p.w + p.l), + (g += m), + (y = + void 0 !== c + ? "string" == typeof e.yref && h + ? c._length * (1 - e.y) + c._offset + : c.r2p(e.y) + c._offset + : p.h - e.y * p.h + p.t), + (y += x), + e.sizing) + ) { + case "fill": + b += " slice"; + break; + case "stretch": + b = "none"; + } + s.attr({ + x: g, + y, + width: r, + height: o, + preserveAspectRatio: b, + opacity: e.opacity, + }); + var _ = + (u && "domain" !== a.getRefType(e.xref) + ? u._id + : "") + + (c && "domain" !== a.getRefType(e.yref) + ? c._id + : ""); + i.setClipUrl(s, _ ? "clip" + l._uid + _ : null, t); + } + var m = l._imageLowerLayer.selectAll("image").data(f), + x = l._imageUpperLayer.selectAll("image").data(u); + m.enter().append("image"), + x.enter().append("image"), + m.exit().remove(), + x.exit().remove(), + m.each(function (t) { + g.bind(this)(t), y.bind(this)(t); + }), + x.each(function (t) { + g.bind(this)(t), y.bind(this)(t); + }); + var b = Object.keys(l._plots); + for (r = 0; r < b.length; r++) { + e = b[r]; + var _ = l._plots[e]; + if (_.imagelayer) { + var w = _.imagelayer + .selectAll("image") + .data(c[e] || []); + w.enter().append("image"), + w.exit().remove(), + w.each(function (t) { + g.bind(this)(t), y.bind(this)(t); + }); + } + } + }; + }, + 68804: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "component", + name: "images", + layoutAttributes: r(69819), + supplyLayoutDefaults: r(81603), + includeBasePlot: r(76325)("images"), + draw: r(80750), + convertCoords: r(75378), + }; + }, + 33030: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(22399); + t.exports = { + _isSubplotObj: !0, + visible: { + valType: "boolean", + dflt: !0, + editType: "legend", + }, + bgcolor: { valType: "color", editType: "legend" }, + bordercolor: { + valType: "color", + dflt: i.defaultLine, + editType: "legend", + }, + borderwidth: { + valType: "number", + min: 0, + dflt: 0, + editType: "legend", + }, + font: n({ editType: "legend" }), + grouptitlefont: n({ 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", + }, + entrywidth: { + valType: "number", + min: 0, + editType: "legend", + }, + entrywidthmode: { + valType: "enumerated", + values: ["fraction", "pixels"], + dflt: "pixels", + editType: "legend", + }, + itemsizing: { + valType: "enumerated", + values: ["trace", "constant"], + dflt: "trace", + editType: "legend", + }, + itemwidth: { + valType: "number", + min: 30, + dflt: 30, + editType: "legend", + }, + itemclick: { + valType: "enumerated", + values: ["toggle", "toggleothers", !1], + dflt: "toggle", + editType: "legend", + }, + itemdoubleclick: { + valType: "enumerated", + values: ["toggle", "toggleothers", !1], + dflt: "toggleothers", + editType: "legend", + }, + groupclick: { + valType: "enumerated", + values: ["toggleitem", "togglegroup"], + dflt: "togglegroup", + editType: "legend", + }, + x: { valType: "number", editType: "legend" }, + xref: { + valType: "enumerated", + dflt: "paper", + values: ["container", "paper"], + editType: "layoutstyle", + }, + xanchor: { + valType: "enumerated", + values: ["auto", "left", "center", "right"], + dflt: "left", + editType: "legend", + }, + y: { valType: "number", editType: "legend" }, + yref: { + valType: "enumerated", + dflt: "paper", + values: ["container", "paper"], + editType: "layoutstyle", + }, + yanchor: { + valType: "enumerated", + values: ["auto", "top", "middle", "bottom"], + editType: "legend", + }, + uirevision: { valType: "any", editType: "none" }, + valign: { + valType: "enumerated", + values: ["top", "middle", "bottom"], + dflt: "middle", + editType: "legend", + }, + title: { + text: { + valType: "string", + dflt: "", + editType: "legend", + }, + font: n({ editType: "legend" }), + side: { + valType: "enumerated", + values: [ + "top", + "left", + "top left", + "top center", + "top right", + ], + editType: "legend", + }, + editType: "legend", + }, + editType: "legend", + }; + }, + 14928: function (t) { + "use strict"; + t.exports = { + scrollBarWidth: 6, + scrollBarMinHeight: 20, + scrollBarColor: "#808BA4", + scrollBarMargin: 4, + scrollBarEnterAttrs: { + rx: 20, + ry: 3, + width: 0, + height: 0, + }, + titlePad: 2, + itemGap: 5, + }; + }, + 99017: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(44467), + o = r(9012), + s = r(33030), + l = r(10820), + u = r(10130); + function c(t, e, r, c) { + var f = e[t] || {}, + h = a.newContainer(r, t); + function p(t, e) { + return i.coerce(f, h, s, t, e); + } + var d = i.coerceFont(p, "font", r.font); + if ( + (p("bgcolor", r.paper_bgcolor), + p("bordercolor"), + p("visible")) + ) { + for ( + var v, + g = function (t, e) { + var r = v._input, + n = v; + return i.coerce(r, n, o, t, e); + }, + y = r.font || {}, + m = i.coerceFont( + p, + "grouptitlefont", + i.extendFlat({}, y, { + size: Math.round(1.1 * y.size), + }), + ), + x = 0, + b = !1, + _ = "normal", + w = (r.shapes || []).filter(function (t) { + return t.showlegend; + }), + T = c.concat(w).filter(function (e) { + return t === (e.legend || "legend"); + }), + k = 0; + k < T.length; + k++ + ) + if ((v = T[k]).visible) { + var A = v._isShape; + (v.showlegend || + (v._dfltShowLegend && + !( + v._module && + v._module.attributes && + v._module.attributes.showlegend && + !1 === v._module.attributes.showlegend.dflt + ))) && + (x++, + v.showlegend && + ((b = !0), + ((!A && n.traceIs(v, "pie-like")) || + !0 === v._input.showlegend) && + x++), + i.coerceFont(g, "legendgrouptitle.font", m)), + ((!A && + n.traceIs(v, "bar") && + "stack" === r.barmode) || + -1 !== + ["tonextx", "tonexty"].indexOf(v.fill)) && + (_ = u.isGrouped({ traceorder: _ }) + ? "grouped+reversed" + : "reversed"), + void 0 !== v.legendgroup && + "" !== v.legendgroup && + (_ = u.isReversed({ traceorder: _ }) + ? "reversed+grouped" + : "grouped"); + } + var M = i.coerce( + e, + r, + l, + "showlegend", + b && x > ("legend" === t ? 1 : 0), + ); + if ( + (!1 === M && (r[t] = void 0), + (!1 !== M || f.uirevision) && + (p("uirevision", r.uirevision), !1 !== M)) + ) { + p("borderwidth"); + var S, + E, + L, + C = "h" === p("orientation"), + O = "paper" === p("yref"), + P = "paper" === p("xref"), + I = "left"; + if ( + (C + ? ((S = 0), + n.getComponentMethod( + "rangeslider", + "isVisible", + )(e.xaxis) + ? O + ? ((E = 1.1), (L = "bottom")) + : ((E = 1), (L = "top")) + : O + ? ((E = -0.1), (L = "top")) + : ((E = 0), (L = "bottom"))) + : ((E = 1), + (L = "auto"), + P ? (S = 1.02) : ((S = 1), (I = "right"))), + i.coerce( + f, + h, + { + x: { + valType: "number", + editType: "legend", + min: P ? -2 : 0, + max: P ? 3 : 1, + dflt: S, + }, + }, + "x", + ), + i.coerce( + f, + h, + { + y: { + valType: "number", + editType: "legend", + min: O ? -2 : 0, + max: O ? 3 : 1, + dflt: E, + }, + }, + "y", + ), + p("traceorder", _), + u.isGrouped(r[t]) && p("tracegroupgap"), + p("entrywidth"), + p("entrywidthmode"), + p("itemsizing"), + p("itemwidth"), + p("itemclick"), + p("itemdoubleclick"), + p("groupclick"), + p("xanchor", I), + p("yanchor", L), + p("valign"), + i.noneOrAll(f, h, ["x", "y"]), + p("title.text")) + ) { + p("title.side", C ? "left" : "top"); + var D = i.extendFlat({}, d, { + size: i.bigFont(d.size), + }); + i.coerceFont(p, "title.font", D); + } + } + } + } + t.exports = function (t, e, r) { + var n, + a = r.slice(), + o = e.shapes; + if (o) + for (n = 0; n < o.length; n++) { + var s = o[n]; + if (s.showlegend) { + var l = { + _input: s._input, + visible: s.visible, + showlegend: s.showlegend, + legend: s.legend, + }; + a.push(l); + } + } + var u = ["legend"]; + for (n = 0; n < a.length; n++) + i.pushUnique(u, a[n].legend); + for (e._legends = [], n = 0; n < u.length; n++) { + var f = u[n]; + c(f, t, e, a), + e[f] && e[f].visible && (e[f]._id = f), + e._legends.push(f); + } + }; + }, + 43969: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(74875), + o = r(73972), + s = r(11086), + l = r(28569), + u = r(91424), + c = r(7901), + f = r(63893), + h = r(85167), + p = r(14928), + d = r(18783), + v = d.LINE_SPACING, + g = d.FROM_TL, + y = d.FROM_BR, + m = r(82424), + x = r(53630), + b = r(10130), + _ = /^legend[0-9]*$/; + function w(t, e) { + var r, + s, + f = e || {}, + h = t._fullLayout, + d = O(f), + v = f._inHover; + if ( + (v + ? ((s = f.layer), (r = "hover")) + : ((s = h._infolayer), (r = d)), + s) + ) { + var _; + if ( + ((r += h._uid), + t._legendMouseDownTime || + (t._legendMouseDownTime = 0), + v) + ) { + if (!f.entries) return; + _ = m(f.entries, f); + } else { + for ( + var w = (t.calcdata || []).slice(), + M = h.shapes, + P = 0; + P < M.length; + P++ + ) { + var I = M[P]; + if (I.showlegend) { + var D = { + _isShape: !0, + _fullInput: I, + index: I._index, + name: + I.name || + I.label.text || + "shape " + I._index, + legend: I.legend, + legendgroup: I.legendgroup, + legendgrouptitle: I.legendgrouptitle, + legendrank: I.legendrank, + legendwidth: I.legendwidth, + showlegend: I.showlegend, + visible: I.visible, + opacity: I.opacity, + mode: "line" === I.type ? "lines" : "markers", + line: I.line, + marker: { + line: I.line, + color: I.fillcolor, + size: 12, + symbol: + "rect" === I.type + ? "square" + : "circle" === I.type + ? "circle" + : "hexagon2", + }, + }; + w.push([{ trace: D }]); + } + } + _ = h.showlegend && m(w, f, h._legends.length > 1); + } + var z = h.hiddenlabels || []; + if (!(v || (h.showlegend && _.length))) + return ( + s.selectAll("." + d).remove(), + h._topdefs.select("#" + r).remove(), + a.autoMargin(t, d) + ); + var R = i.ensureSingle(s, "g", d, function (t) { + v || t.attr("pointer-events", "all"); + }), + F = i.ensureSingleById( + h._topdefs, + "clipPath", + r, + function (t) { + t.append("rect"); + }, + ), + B = i.ensureSingle(R, "rect", "bg", function (t) { + t.attr("shape-rendering", "crispEdges"); + }); + B.call(c.stroke, f.bordercolor) + .call(c.fill, f.bgcolor) + .style("stroke-width", f.borderwidth + "px"); + var N = i.ensureSingle(R, "g", "scrollbox"), + j = f.title; + if ( + ((f._titleWidth = 0), (f._titleHeight = 0), j.text) + ) { + var U = i.ensureSingle(N, "text", d + "titletext"); + U.attr("text-anchor", "start") + .call(u.font, j.font) + .text(j.text), + E(U, N, t, f, 1); + } else N.selectAll("." + d + "titletext").remove(); + var V = i.ensureSingle( + R, + "rect", + "scrollbar", + function (t) { + t.attr(p.scrollBarEnterAttrs).call( + c.fill, + p.scrollBarColor, + ); + }, + ), + H = N.selectAll("g.groups").data(_); + H.enter().append("g").attr("class", "groups"), + H.exit().remove(); + var q = H.selectAll("g.traces").data(i.identity); + q.enter().append("g").attr("class", "traces"), + q.exit().remove(), + q + .style("opacity", function (t) { + var e = t[0].trace; + return o.traceIs(e, "pie-like") + ? -1 !== z.indexOf(t[0].label) + ? 0.5 + : 1 + : "legendonly" === e.visible + ? 0.5 + : 1; + }) + .each(function () { + n.select(this).call(A, t, f); + }) + .call(x, t, f) + .each(function () { + v || n.select(this).call(S, t, d); + }), + i.syncOrAsync( + [ + a.previousPromises, + function () { + return (function (t, e, r, i) { + var a = t._fullLayout, + o = O(i); + i || (i = a[o]); + var s = a._size, + l = b.isVertical(i), + c = b.isGrouped(i), + f = "fraction" === i.entrywidthmode, + h = i.borderwidth, + d = 2 * h, + v = p.itemGap, + g = i.itemwidth + 2 * v, + y = 2 * (h + v), + m = C(i), + x = i.y < 0 || (0 === i.y && "top" === m), + _ = + i.y > 1 || + (1 === i.y && "bottom" === m), + w = i.tracegroupgap, + k = {}; + i._maxHeight = Math.max( + x || _ ? a.height / 2 : s.h, + 30, + ); + var A = 0; + (i._width = 0), (i._height = 0); + var M = (function (t) { + var e = 0, + r = 0, + n = t.title.side; + return ( + n && + (-1 !== n.indexOf("left") && + (e = t._titleWidth), + -1 !== n.indexOf("top") && + (r = t._titleHeight)), + [e, r] + ); + })(i); + if (l) + r.each(function (t) { + var e = t[0].height; + u.setTranslate( + this, + h + M[0], + h + M[1] + i._height + e / 2 + v, + ), + (i._height += e), + (i._width = Math.max( + i._width, + t[0].width, + )); + }), + (A = g + i._width), + (i._width += v + g + d), + (i._height += y), + c && + (e.each(function (t, e) { + u.setTranslate( + this, + 0, + e * i.tracegroupgap, + ); + }), + (i._height += + (i._lgroupsLength - 1) * + i.tracegroupgap)); + else { + var S = L(i), + E = + i.x < 0 || + (0 === i.x && "right" === S), + P = + i.x > 1 || + (1 === i.x && "left" === S), + I = _ || x, + D = a.width / 2; + i._maxWidth = Math.max( + E + ? I && "left" === S + ? s.l + s.w + : D + : P + ? I && "right" === S + ? s.r + s.w + : D + : s.w, + 2 * g, + ); + var z = 0, + R = 0; + r.each(function (t) { + var e = T(t, i, g); + (z = Math.max(z, e)), (R += e); + }), + (A = null); + var F = 0; + if (c) { + var B = 0, + N = 0, + j = 0; + e.each(function () { + var t = 0, + e = 0; + n.select(this) + .selectAll("g.traces") + .each(function (r) { + var n = T(r, i, g), + a = r[0].height; + u.setTranslate( + this, + M[0], + M[1] + h + v + a / 2 + e, + ), + (e += a), + (t = Math.max(t, n)), + (k[r[0].trace.legendgroup] = t); + }); + var r = t + v; + N > 0 && r + h + N > i._maxWidth + ? ((F = Math.max(F, N)), + (N = 0), + (j += B + w), + (B = e)) + : (B = Math.max(B, e)), + u.setTranslate(this, N, j), + (N += r); + }), + (i._width = Math.max(F, N) + h), + (i._height = j + B + y); + } else { + var U = r.size(), + V = R + d + (U - 1) * v < i._maxWidth, + H = 0, + q = 0, + G = 0, + Z = 0; + r.each(function (t) { + var e = t[0].height, + r = T(t, i, g), + n = V ? r : z; + f || (n += v), + n + h + q - v >= i._maxWidth && + ((F = Math.max(F, Z)), + (q = 0), + (G += H), + (i._height += H), + (H = 0)), + u.setTranslate( + this, + M[0] + h + q, + M[1] + h + G + e / 2 + v, + ), + (Z = q + r + v), + (q += n), + (H = Math.max(H, e)); + }), + V + ? ((i._width = q + d), + (i._height = H + y)) + : ((i._width = Math.max(F, Z) + d), + (i._height += H + y)); + } + } + (i._width = Math.ceil( + Math.max( + i._width + M[0], + i._titleWidth + 2 * (h + p.titlePad), + ), + )), + (i._height = Math.ceil( + Math.max( + i._height + M[1], + i._titleHeight + 2 * (h + p.itemGap), + ), + )), + (i._effHeight = Math.min( + i._height, + i._maxHeight, + )); + var W = t._context.edits, + Y = W.legendText || W.legendPosition; + r.each(function (t) { + var e = n + .select(this) + .select("." + o + "toggle"), + r = t[0].height, + a = t[0].trace.legendgroup, + s = T(t, i, g); + c && "" !== a && (s = k[a]); + var h = Y ? g : A || s; + l || f || (h += v / 2), + u.setRect(e, 0, -r / 2, h, r); + }); + })(t, H, q, f); + }, + function () { + var e, + c, + m, + x, + b = h._size, + _ = f.borderwidth, + w = "paper" === f.xref, + T = "paper" === f.yref; + if (!v) { + var A, M; + (A = w + ? b.l + b.w * f.x - g[L(f)] * f._width + : h.width * f.x - g[L(f)] * f._width), + (M = T + ? b.t + + b.h * (1 - f.y) - + g[C(f)] * f._effHeight + : h.height * (1 - f.y) - + g[C(f)] * f._effHeight); + var S = (function (t, e, r, n) { + var i = t._fullLayout, + o = i[e], + s = L(o), + l = C(o), + u = "paper" === o.xref, + c = "paper" === o.yref; + t._fullLayout._reservedMargin[e] = {}; + var f = o.y < 0.5 ? "b" : "t", + h = o.x < 0.5 ? "l" : "r", + p = { + r: i.width - r, + l: r + o._width, + b: i.height - n, + t: n + o._effHeight, + }; + if (u && c) + return a.autoMargin(t, e, { + x: o.x, + y: o.y, + l: o._width * g[s], + r: o._width * y[s], + b: o._effHeight * y[l], + t: o._effHeight * g[l], + }); + u + ? (t._fullLayout._reservedMargin[e][f] = + p[f]) + : c || "v" === o.orientation + ? (t._fullLayout._reservedMargin[e][h] = + p[h]) + : (t._fullLayout._reservedMargin[e][f] = + p[f]); + })(t, d, A, M); + if (S) return; + if (h.margin.autoexpand) { + var E = A, + O = M; + (A = w + ? i.constrain(A, 0, h.width - f._width) + : E), + (M = T + ? i.constrain( + M, + 0, + h.height - f._effHeight, + ) + : O), + A !== E && + i.log( + "Constrain " + + d + + ".x to make legend fit inside graph", + ), + M !== O && + i.log( + "Constrain " + + d + + ".y to make legend fit inside graph", + ); + } + u.setTranslate(R, A, M); + } + if ( + (V.on(".drag", null), + R.on("wheel", null), + v || + f._height <= f._maxHeight || + t._context.staticPlot) + ) { + var P = f._effHeight; + v && (P = f._height), + B.attr({ + width: f._width - _, + height: P - _, + x: _ / 2, + y: _ / 2, + }), + u.setTranslate(N, 0, 0), + F.select("rect").attr({ + width: f._width - 2 * _, + height: P - 2 * _, + x: _, + y: _, + }), + u.setClipUrl(N, r, t), + u.setRect(V, 0, 0, 0, 0), + delete f._scrollY; + } else { + var I, + D, + z, + j = Math.max( + p.scrollBarMinHeight, + (f._effHeight * f._effHeight) / + f._height, + ), + U = + f._effHeight - + j - + 2 * p.scrollBarMargin, + H = f._height - f._effHeight, + q = U / H, + G = Math.min(f._scrollY || 0, H); + B.attr({ + width: + f._width - + 2 * _ + + p.scrollBarWidth + + p.scrollBarMargin, + height: f._effHeight - _, + x: _ / 2, + y: _ / 2, + }), + F.select("rect").attr({ + width: + f._width - + 2 * _ + + p.scrollBarWidth + + p.scrollBarMargin, + height: f._effHeight - 2 * _, + x: _, + y: _ + G, + }), + u.setClipUrl(N, r, t), + Y(G, j, q), + R.on("wheel", function () { + Y( + (G = i.constrain( + f._scrollY + + (n.event.deltaY / U) * H, + 0, + H, + )), + j, + q, + ), + 0 !== G && + G !== H && + n.event.preventDefault(); + }); + var Z = n.behavior + .drag() + .on("dragstart", function () { + var t = n.event.sourceEvent; + (I = + "touchstart" === t.type + ? t.changedTouches[0].clientY + : t.clientY), + (z = G); + }) + .on("drag", function () { + var t = n.event.sourceEvent; + 2 === t.buttons || + t.ctrlKey || + ((D = + "touchmove" === t.type + ? t.changedTouches[0].clientY + : t.clientY), + (G = (function (t, e, r) { + var n = (r - e) / q + t; + return i.constrain(n, 0, H); + })(z, I, D)), + Y(G, j, q)); + }); + V.call(Z); + var W = n.behavior + .drag() + .on("dragstart", function () { + var t = n.event.sourceEvent; + "touchstart" === t.type && + ((I = t.changedTouches[0].clientY), + (z = G)); + }) + .on("drag", function () { + var t = n.event.sourceEvent; + "touchmove" === t.type && + ((D = t.changedTouches[0].clientY), + (G = (function (t, e, r) { + var n = (e - r) / q + t; + return i.constrain(n, 0, H); + })(z, I, D)), + Y(G, j, q)); + }); + N.call(W); + } + function Y(e, r, n) { + (f._scrollY = t._fullLayout[d]._scrollY = + e), + u.setTranslate(N, 0, -e), + u.setRect( + V, + f._width, + p.scrollBarMargin + e * n, + p.scrollBarWidth, + r, + ), + F.select("rect").attr("y", _ + e); + } + t._context.edits.legendPosition && + (R.classed("cursor-move", !0), + l.init({ + element: R.node(), + gd: t, + prepFn: function () { + var t = u.getTranslate(R); + (m = t.x), (x = t.y); + }, + moveFn: function (t, r) { + var n = m + t, + i = x + r; + u.setTranslate(R, n, i), + (e = l.align( + n, + f._width, + b.l, + b.l + b.w, + f.xanchor, + )), + (c = l.align( + i + f._height, + -f._height, + b.t + b.h, + b.t, + f.yanchor, + )); + }, + doneFn: function () { + if (void 0 !== e && void 0 !== c) { + var r = {}; + (r[d + ".x"] = e), + (r[d + ".y"] = c), + o.call("_guiRelayout", t, r); + } + }, + clickFn: function (e, r) { + var n = s + .selectAll("g.traces") + .filter(function () { + var t = + this.getBoundingClientRect(); + return ( + r.clientX >= t.left && + r.clientX <= t.right && + r.clientY >= t.top && + r.clientY <= t.bottom + ); + }); + n.size() > 0 && k(t, R, n, e, r); + }, + })); + }, + ], + t, + ); + } + } + function T(t, e, r) { + var n = t[0], + i = n.width, + a = e.entrywidthmode, + o = n.trace.legendwidth || e.entrywidth; + return "fraction" === a + ? e._maxWidth * o + : r + (o || i); + } + function k(t, e, r, n, i) { + var a = r.data()[0][0].trace, + l = { + event: i, + node: r.node(), + curveNumber: a.index, + expandedIndex: a._expandedIndex, + data: t.data, + layout: t.layout, + frames: t._transitionData._frames, + config: t._context, + fullData: t._fullData, + fullLayout: t._fullLayout, + }; + a._group && (l.group = a._group), + o.traceIs(a, "pie-like") && + (l.label = r.datum()[0].label), + !1 !== s.triggerHandler(t, "plotly_legendclick", l) && + (1 === n + ? (e._clickTimeout = setTimeout(function () { + t._fullLayout && h(r, t, n); + }, t._context.doubleClickDelay)) + : 2 === n && + (e._clickTimeout && + clearTimeout(e._clickTimeout), + (t._legendMouseDownTime = 0), + !1 !== + s.triggerHandler( + t, + "plotly_legenddoubleclick", + l, + ) && h(r, t, n))); + } + function A(t, e, r) { + var n, + a, + s = O(r), + l = t.data()[0][0], + c = l.trace, + h = o.traceIs(c, "pie-like"), + d = !r._inHover && e._context.edits.legendText && !h, + v = r._maxNameLength; + l.groupTitle + ? ((n = l.groupTitle.text), (a = l.groupTitle.font)) + : ((a = r.font), + r.entries + ? (n = l.text) + : ((n = h ? l.label : c.name), + c._meta && (n = i.templateString(n, c._meta)))); + var g = i.ensureSingle(t, "text", s + "text"); + g.attr("text-anchor", "start") + .call(u.font, a) + .text(d ? M(n, v) : n); + var y = r.itemwidth + 2 * p.itemGap; + f.positionText(g, y, 0), + d + ? g + .call(f.makeEditable, { gd: e, text: n }) + .call(E, t, e, r) + .on("edit", function (n) { + this.text(M(n, v)).call(E, t, e, r); + var a = l.trace._fullInput || {}, + s = {}; + if (o.hasTransform(a, "groupby")) { + var u = o.getTransformIndices(a, "groupby"), + f = u[u.length - 1], + h = i.keyedContainer( + a, + "transforms[" + f + "].styles", + "target", + "value.name", + ); + h.set(l.trace._group, n), + (s = h.constructUpdate()); + } else s.name = n; + return a._isShape + ? o.call( + "_guiRelayout", + e, + "shapes[" + c.index + "].name", + s.name, + ) + : o.call("_guiRestyle", e, s, c.index); + }) + : E(g, t, e, r); + } + function M(t, e) { + var r = Math.max(4, e); + if (t && t.trim().length >= r / 2) return t; + for (var n = r - (t = t || "").length; n > 0; n--) + t += " "; + return t; + } + function S(t, e, r) { + var a, + o = e._context.doubleClickDelay, + s = 1, + l = i.ensureSingle( + t, + "rect", + r + "toggle", + function (t) { + e._context.staticPlot || + t + .style("cursor", "pointer") + .attr("pointer-events", "all"), + t.call(c.fill, "rgba(0,0,0,0)"); + }, + ); + e._context.staticPlot || + (l.on("mousedown", function () { + (a = new Date().getTime()) - + e._legendMouseDownTime < + o + ? (s += 1) + : ((s = 1), (e._legendMouseDownTime = a)); + }), + l.on("mouseup", function () { + if (!e._dragged && !e._editing) { + var i = e._fullLayout[r]; + new Date().getTime() - e._legendMouseDownTime > + o && (s = Math.max(s - 1, 1)), + k(e, i, t, s, n.event); + } + })); + } + function E(t, e, r, n, i) { + n._inHover && t.attr("data-notex", !0), + f.convertToTspans(t, r, function () { + !(function (t, e, r, n) { + var i = t.data()[0][0]; + if (r._inHover || !i || i.trace.showlegend) { + var a = t.select("g[class*=math-group]"), + o = a.node(), + s = O(r); + r || (r = e._fullLayout[s]); + var l, + c, + h = r.borderwidth, + d = + (1 === n + ? r.title.font + : i.groupTitle + ? i.groupTitle.font + : r.font + ).size * v; + if (o) { + var g = u.bBox(o); + (l = g.height), + (c = g.width), + 1 === n + ? u.setTranslate(a, h, h + 0.75 * l) + : u.setTranslate(a, 0, 0.25 * l); + } else { + var y = + "." + + s + + (1 === n ? "title" : "") + + "text", + m = t.select(y), + x = f.lineCount(m), + b = m.node(); + if ( + ((l = d * x), + (c = b ? u.bBox(b).width : 0), + 1 === n) + ) { + var _ = 0; + "left" === r.title.side + ? (c += 2 * p.itemGap) + : "top center" === r.title.side + ? r._width && + (_ = + 0.5 * + (r._width - + 2 * h - + 2 * p.titlePad - + c)) + : "top right" === r.title.side && + r._width && + (_ = + r._width - + 2 * h - + 2 * p.titlePad - + c), + f.positionText( + m, + h + p.titlePad + _, + h + d, + ); + } else { + var w = 2 * p.itemGap + r.itemwidth; + i.groupTitle && + ((w = p.itemGap), (c -= r.itemwidth)), + f.positionText( + m, + w, + -d * ((x - 1) / 2 - 0.3), + ); + } + } + 1 === n + ? ((r._titleWidth = c), (r._titleHeight = l)) + : ((i.lineHeight = d), + (i.height = Math.max(l, 16) + 3), + (i.width = c)); + } else t.remove(); + })(e, r, n, i); + }); + } + function L(t) { + return i.isRightAnchor(t) + ? "right" + : i.isCenterAnchor(t) + ? "center" + : "left"; + } + function C(t) { + return i.isBottomAnchor(t) + ? "bottom" + : i.isMiddleAnchor(t) + ? "middle" + : "top"; + } + function O(t) { + return t._id || "legend"; + } + t.exports = function (t, e) { + if (e) w(t, e); + else { + var r = t._fullLayout, + i = r._legends; + r._infolayer + .selectAll('[class^="legend"]') + .each(function () { + var t = n.select(this), + e = t.attr("class").split(" ")[0]; + e.match(_) && -1 === i.indexOf(e) && t.remove(); + }); + for (var a = 0; a < i.length; a++) { + var o = i[a]; + w(t, t._fullLayout[o]); + } + } + }; + }, + 82424: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(10130); + t.exports = function (t, e, r) { + var a, + o, + s = e._inHover, + l = i.isGrouped(e), + u = i.isReversed(e), + c = {}, + f = [], + h = !1, + p = {}, + d = 0, + v = 0; + function g(t, n, a) { + if (!1 !== e.visible && (!r || t === e._id)) + if ("" !== n && i.isGrouped(e)) + -1 === f.indexOf(n) + ? (f.push(n), (h = !0), (c[n] = [a])) + : c[n].push(a); + else { + var o = "~~i" + d; + f.push(o), (c[o] = [a]), d++; + } + } + for (a = 0; a < t.length; a++) { + var y = t[a], + m = y[0], + x = m.trace, + b = x.legend, + _ = x.legendgroup; + if (s || (x.visible && x.showlegend)) + if (n.traceIs(x, "pie-like")) + for ( + p[_] || (p[_] = {}), o = 0; + o < y.length; + o++ + ) { + var w = y[o].label; + p[_][w] || + (g(b, _, { + label: w, + color: y[o].color, + i: y[o].i, + trace: x, + pts: y[o].pts, + }), + (p[_][w] = !0), + (v = Math.max(v, (w || "").length))); + } + else + g(b, _, m), + (v = Math.max(v, (x.name || "").length)); + } + if (!f.length) return []; + var T = !h || !l, + k = []; + for (a = 0; a < f.length; a++) { + var A = c[f[a]]; + T ? k.push(A[0]) : k.push(A); + } + for (T && (k = [k]), a = 0; a < k.length; a++) { + var M = 1 / 0; + for (o = 0; o < k[a].length; o++) { + var S = k[a][o].trace.legendrank; + M > S && (M = S); + } + (k[a][0]._groupMinRank = M), + (k[a][0]._preGroupSort = a); + } + var E = function (t, e) { + return ( + t.trace.legendrank - e.trace.legendrank || + t._preSort - e._preSort + ); + }; + for ( + k.forEach(function (t, e) { + t[0]._preGroupSort = e; + }), + k.sort(function (t, e) { + return ( + t[0]._groupMinRank - e[0]._groupMinRank || + t[0]._preGroupSort - e[0]._preGroupSort + ); + }), + a = 0; + a < k.length; + a++ + ) { + k[a].forEach(function (t, e) { + t._preSort = e; + }), + k[a].sort(E); + var L = k[a][0].trace, + C = null; + for (o = 0; o < k[a].length; o++) { + var O = k[a][o].trace.legendgrouptitle; + if (O && O.text) { + (C = O), s && (O.font = e._groupTitleFont); + break; + } + } + if ((u && k[a].reverse(), C)) { + var P = !1; + for (o = 0; o < k[a].length; o++) + if (n.traceIs(k[a][o].trace, "pie-like")) { + P = !0; + break; + } + k[a].unshift({ + i: -1, + groupTitle: C, + noClick: P, + trace: { + showlegend: L.showlegend, + legendgroup: L.legendgroup, + visible: + "toggleitem" === e.groupclick || L.visible, + }, + }); + } + for (o = 0; o < k[a].length; o++) k[a][o] = [k[a][o]]; + } + return ( + (e._lgroupsLength = k.length), + (e._maxNameLength = v), + k + ); + }; + }, + 85167: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = i.pushUnique, + o = !0; + t.exports = function (t, e, r) { + var s = e._fullLayout; + if (!e._dragged && !e._editing) { + var l, + u = s.legend.itemclick, + c = s.legend.itemdoubleclick, + f = s.legend.groupclick; + if ( + (1 === r && + "toggle" === u && + "toggleothers" === c && + o && + e.data && + e._context.showTips + ? (i.notifier( + i._( + e, + "Double-click on legend to isolate one trace", + ), + "long", + ), + (o = !1)) + : (o = !1), + 1 === r ? (l = u) : 2 === r && (l = c), + l) + ) { + var h = "togglegroup" === f, + p = s.hiddenlabels ? s.hiddenlabels.slice() : [], + d = t.data()[0][0]; + if (!d.groupTitle || !d.noClick) { + var v = e._fullData, + g = (s.shapes || []).filter(function (t) { + return t.showlegend; + }), + y = v.concat(g), + m = d.trace; + m._isShape && (m = m._fullInput); + var x, + b, + _, + w, + T, + k = m.legendgroup, + A = {}, + M = [], + S = [], + E = [], + L = (s.shapes || []).map(function (t) { + return t._input; + }), + C = !1, + O = m.legend, + P = m._fullInput; + if ( + (P && P._isShape) || + !n.traceIs(m, "pie-like") + ) { + var I, + D = k && k.length, + z = []; + if (D) + for (x = 0; x < y.length; x++) + (I = y[x]).visible && + I.legendgroup === k && + z.push(x); + if ("toggle" === l) { + var R; + switch (m.visible) { + case !0: + R = "legendonly"; + break; + case !1: + R = !1; + break; + case "legendonly": + R = !0; + } + if (D) + if (h) + for (x = 0; x < y.length; x++) { + var F = y[x]; + !1 !== F.visible && + F.legendgroup === k && + tt(F, R); + } + else tt(m, R); + else tt(m, R); + } else if ("toggleothers" === l) { + var B, + N, + j, + U, + V = !0; + for (x = 0; x < y.length; x++) + if ( + ((B = (U = y[x]) === m), + (N = !0 !== U.showlegend), + !( + B || + N || + (D && U.legendgroup === k) || + U.legend !== O || + !0 !== U.visible || + n.traceIs(U, "notLegendIsolatable") + )) + ) { + V = !1; + break; + } + for (x = 0; x < y.length; x++) + if ( + !1 !== (U = y[x]).visible && + U.legend === O && + !n.traceIs(U, "notLegendIsolatable") + ) + switch (m.visible) { + case "legendonly": + tt(U, !0); + break; + case !0: + (j = !!V || "legendonly"), + (B = U === m), + (N = + !0 !== U.showlegend && + !U.legendgroup), + tt( + U, + !!( + B || + (D && U.legendgroup === k) || + N + ) || j, + ); + } + } + for (x = 0; x < S.length; x++) + if ((_ = S[x])) { + var H = _.constructUpdate(), + q = Object.keys(H); + for (b = 0; b < q.length; b++) + (w = q[b]), + ((A[w] = A[w] || [])[E[x]] = H[w]); + } + for ( + T = Object.keys(A), x = 0; + x < T.length; + x++ + ) + for (w = T[x], b = 0; b < M.length; b++) + A[w].hasOwnProperty(b) || + (A[w][b] = void 0); + C + ? n.call("_guiUpdate", e, A, { shapes: L }, M) + : n.call("_guiRestyle", e, A, M); + } else { + var G = d.label, + Z = p.indexOf(G); + if ("toggle" === l) + -1 === Z ? p.push(G) : p.splice(Z, 1); + else if ("toggleothers" === l) { + var W = -1 !== Z, + Y = []; + for (x = 0; x < e.calcdata.length; x++) { + var X = e.calcdata[x]; + for (b = 0; b < X.length; b++) { + var J = X[b].label; + O === X[0].trace.legend && + G !== J && + (-1 === p.indexOf(J) && (W = !0), + a(p, J), + Y.push(J)); + } + } + if (!W) + for (var K = 0; K < Y.length; K++) { + var $ = p.indexOf(Y[K]); + -1 !== $ && p.splice($, 1); + } + } + n.call("_guiRelayout", e, "hiddenlabels", p); + } + } + } + } + function Q(t, e) { + var r = M.indexOf(t), + n = A.visible; + return ( + n || (n = A.visible = []), + -1 === M.indexOf(t) && + (M.push(t), (r = M.length - 1)), + (n[r] = e), + r + ); + } + function tt(t, e) { + if (!d.groupTitle || h) { + var r, + a = t._fullInput || t, + o = a._isShape, + s = a.index; + if ( + (void 0 === s && (s = a._index), + n.hasTransform(a, "groupby")) + ) { + var l = S[s]; + if (!l) { + var u = n.getTransformIndices(a, "groupby"), + c = u[u.length - 1]; + (l = i.keyedContainer( + a, + "transforms[" + c + "].styles", + "target", + "value.visible", + )), + (S[s] = l); + } + var f = l.get(t._group); + void 0 === f && (f = !0), + !1 !== f && l.set(t._group, e), + (E[s] = Q(s, !1 !== a.visible)); + } else { + var p = !1 !== a.visible && e; + o + ? ((r = p), (L[s].visible = r), (C = !0)) + : Q(s, p); + } + } + } + }; + }, + 10130: function (t, e) { + "use strict"; + (e.isGrouped = function (t) { + return -1 !== (t.traceorder || "").indexOf("grouped"); + }), + (e.isVertical = function (t) { + return "h" !== t.orientation; + }), + (e.isReversed = function (t) { + return ( + -1 !== (t.traceorder || "").indexOf("reversed") + ); + }); + }, + 2199: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "component", + name: "legend", + layoutAttributes: r(33030), + supplyLayoutDefaults: r(99017), + draw: r(43969), + style: r(53630), + }; + }, + 53630: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(71828), + o = a.strTranslate, + s = r(91424), + l = r(7901), + u = r(52075).extractOpts, + c = r(34098), + f = r(63463), + h = r(53581).castOption, + p = r(14928); + function d(t, e) { + return ( + (e ? "radial" : "horizontal") + (t ? "" : "reversed") + ); + } + function v(t) { + var e = t[0].trace, + r = e.contours, + n = c.hasLines(e), + i = c.hasMarkers(e), + a = e.visible && e.fill && "none" !== e.fill, + o = !1, + s = !1; + if (r) { + var l = r.coloring; + "lines" === l + ? (o = !0) + : (n = + "none" === l || "heatmap" === l || r.showlines), + "constraint" === r.type + ? (a = "=" !== r._operation) + : ("fill" !== l && "heatmap" !== l) || (s = !0); + } + return { + showMarker: i, + showLine: n, + showFill: a, + showGradientLine: o, + showGradientFill: s, + anyLine: n || o, + anyFill: a || s, + }; + } + function g(t, e, r) { + return t && a.isArrayOrTypedArray(t) + ? e + : t > r + ? r + : t; + } + t.exports = function (t, e, r) { + var y = e._fullLayout; + r || (r = y.legend); + var m = "constant" === r.itemsizing, + x = r.itemwidth, + b = (x + 2 * p.itemGap) / 2, + _ = o(b, 0), + w = function (t, e, r, n) { + var i; + if (t + 1) i = t; + else { + if (!(e && e.width > 0)) return 0; + i = e.width; + } + return m ? n : Math.min(i, r); + }; + function T(t, a, o) { + var c = t[0].trace, + f = c.marker || {}, + h = f.line || {}, + p = o + ? c.visible && c.type === o + : i.traceIs(c, "bar"), + d = n + .select(a) + .select("g.legendpoints") + .selectAll("path.legend" + o) + .data(p ? [t] : []); + d + .enter() + .append("path") + .classed("legend" + o, !0) + .attr("d", "M6,6H-6V-6H6Z") + .attr("transform", _), + d.exit().remove(), + d.each(function (t) { + var i = n.select(this), + a = t[0], + o = w(a.mlw, f.line, 5, 2); + i.style("stroke-width", o + "px"); + var p = a.mcc; + if (!r._inHover && "mc" in a) { + var d = u(f), + v = d.mid; + void 0 === v && (v = (d.max + d.min) / 2), + (p = s.tryColorscale(f, "")(v)); + } + var y = p || a.mc || f.color, + m = f.pattern, + x = m && s.getPatternAttr(m.shape, 0, ""); + if (x) { + var b = s.getPatternAttr(m.bgcolor, 0, null), + _ = s.getPatternAttr(m.fgcolor, 0, null), + T = m.fgopacity, + k = g(m.size, 8, 10), + A = g(m.solidity, 0.5, 1), + M = "legend-" + c.uid; + i.call( + s.pattern, + "legend", + e, + M, + x, + k, + A, + p, + m.fillmode, + b, + _, + T, + ); + } else i.call(l.fill, y); + o && l.stroke(i, a.mlc || h.color); + }); + } + function k(t, r, o) { + var s = t[0], + l = s.trace, + u = o ? l.visible && l.type === o : i.traceIs(l, o), + c = n + .select(r) + .select("g.legendpoints") + .selectAll("path.legend" + o) + .data(u ? [t] : []); + if ( + (c + .enter() + .append("path") + .classed("legend" + o, !0) + .attr("d", "M6,6H-6V-6H6Z") + .attr("transform", _), + c.exit().remove(), + c.size()) + ) { + var p = l.marker || {}, + d = w(h(p.line.width, s.pts), p.line, 5, 2), + v = "pieLike", + g = a.minExtend( + l, + { marker: { line: { width: d } } }, + v, + ), + y = a.minExtend(s, { trace: g }, v); + f(c, y, g, e); + } + } + t.each(function (t) { + var e = n.select(this), + i = a.ensureSingle(e, "g", "layers"); + i.style("opacity", t[0].trace.opacity); + var s = r.valign, + l = t[0].lineHeight, + u = t[0].height; + if ("middle" !== s && l && u) { + var c = + { top: 1, bottom: -1 }[s] * (0.5 * (l - u + 3)); + i.attr("transform", o(0, c)); + } else i.attr("transform", null); + i + .selectAll("g.legendfill") + .data([t]) + .enter() + .append("g") + .classed("legendfill", !0), + i + .selectAll("g.legendlines") + .data([t]) + .enter() + .append("g") + .classed("legendlines", !0); + var f = i.selectAll("g.legendsymbols").data([t]); + f.enter().append("g").classed("legendsymbols", !0), + f + .selectAll("g.legendpoints") + .data([t]) + .enter() + .append("g") + .classed("legendpoints", !0); + }) + .each(function (t) { + var r, + i = t[0].trace, + o = []; + if (i.visible) + switch (i.type) { + case "histogram2d": + case "heatmap": + (o = [["M-15,-2V4H15V-2Z"]]), (r = !0); + break; + case "choropleth": + case "choroplethmapbox": + (o = [["M-6,-6V6H6V-6Z"]]), (r = !0); + break; + case "densitymapbox": + (o = [ + ["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"], + ]), + (r = "radial"); + break; + case "cone": + (o = [ + ["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"], + ["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"], + ["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"], + ]), + (r = !1); + break; + case "streamtube": + (o = [ + [ + "M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z", + ], + [ + "M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z", + ], + [ + "M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z", + ], + ]), + (r = !1); + break; + case "surface": + (o = [ + [ + "M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z", + ], + [ + "M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z", + ], + ]), + (r = !0); + break; + case "mesh3d": + (o = [ + ["M-6,6H0L-6,-6Z"], + ["M6,6H0L6,-6Z"], + ["M-6,-6H6L0,6Z"], + ]), + (r = !1); + break; + case "volume": + (o = [ + ["M-6,6H0L-6,-6Z"], + ["M6,6H0L6,-6Z"], + ["M-6,-6H6L0,6Z"], + ]), + (r = !0); + break; + case "isosurface": + (o = [ + ["M-6,6H0L-6,-6Z"], + ["M6,6H0L6,-6Z"], + ["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"], + ]), + (r = !1); + } + var c = n + .select(this) + .select("g.legendpoints") + .selectAll("path.legend3dandfriends") + .data(o); + c + .enter() + .append("path") + .classed("legend3dandfriends", !0) + .attr("transform", _) + .style("stroke-miterlimit", 1), + c.exit().remove(), + c.each(function (t, o) { + var c, + f = n.select(this), + h = u(i), + p = h.colorscale, + v = h.reversescale; + if (p) { + if (!r) { + var g = p.length; + c = + 0 === o + ? p[v ? g - 1 : 0][1] + : 1 === o + ? p[v ? 0 : g - 1][1] + : p[Math.floor((g - 1) / 2)][1]; + } + } else { + var y = + i.vertexcolor || i.facecolor || i.color; + c = a.isArrayOrTypedArray(y) + ? y[o] || y[0] + : y; + } + f.attr("d", t[0]), + c + ? f.call(l.fill, c) + : f.call(function (t) { + if (t.size()) { + var n = "legendfill-" + i.uid; + s.gradient( + t, + e, + n, + d(v, "radial" === r), + p, + "fill", + ); + } + }); + }); + }) + .each(function (t) { + var e = t[0].trace, + r = "waterfall" === e.type; + if (t[0]._distinct && r) { + var i = t[0].trace[t[0].dir].marker; + return ( + (t[0].mc = i.color), + (t[0].mlw = i.line.width), + (t[0].mlc = i.line.color), + T(t, this, "waterfall") + ); + } + var a = []; + e.visible && + r && + (a = t[0].hasTotals + ? [ + ["increasing", "M-6,-6V6H0Z"], + ["totals", "M6,6H0L-6,-6H-0Z"], + ["decreasing", "M6,6V-6H0Z"], + ] + : [ + ["increasing", "M-6,-6V6H6Z"], + ["decreasing", "M6,6V-6H-6Z"], + ]); + var o = n + .select(this) + .select("g.legendpoints") + .selectAll("path.legendwaterfall") + .data(a); + o + .enter() + .append("path") + .classed("legendwaterfall", !0) + .attr("transform", _) + .style("stroke-miterlimit", 1), + o.exit().remove(), + o.each(function (t) { + var r = n.select(this), + i = e[t[0]].marker, + a = w(void 0, i.line, 5, 2); + r + .attr("d", t[1]) + .style("stroke-width", a + "px") + .call(l.fill, i.color), + a && r.call(l.stroke, i.line.color); + }); + }) + .each(function (t) { + T(t, this, "funnel"); + }) + .each(function (t) { + T(t, this); + }) + .each(function (t) { + var r = t[0].trace, + o = n + .select(this) + .select("g.legendpoints") + .selectAll("path.legendbox") + .data( + r.visible && i.traceIs(r, "box-violin") + ? [t] + : [], + ); + o + .enter() + .append("path") + .classed("legendbox", !0) + .attr("d", "M6,6H-6V-6H6Z") + .attr("transform", _), + o.exit().remove(), + o.each(function () { + var t = n.select(this); + if ( + ("all" !== r.boxpoints && + "all" !== r.points) || + 0 !== l.opacity(r.fillcolor) || + 0 !== l.opacity((r.line || {}).color) + ) { + var i = w(void 0, r.line, 5, 2); + t + .style("stroke-width", i + "px") + .call(l.fill, r.fillcolor), + i && l.stroke(t, r.line.color); + } else { + var u = a.minExtend(r, { + marker: { + size: m + ? 12 + : a.constrain(r.marker.size, 2, 16), + sizeref: 1, + sizemin: 1, + sizemode: "diameter", + }, + }); + o.call(s.pointStyle, u, e); + } + }); + }) + .each(function (t) { + k(t, this, "funnelarea"); + }) + .each(function (t) { + k(t, this, "pie"); + }) + .each(function (t) { + var r, + i, + o = v(t), + l = o.showFill, + f = o.showLine, + h = o.showGradientLine, + p = o.showGradientFill, + g = o.anyFill, + y = o.anyLine, + m = t[0], + b = m.trace, + _ = u(b), + T = _.colorscale, + k = _.reversescale, + A = + c.hasMarkers(b) || !g + ? "M5,0" + : y + ? "M5,-2" + : "M5,-3", + M = n.select(this), + S = M.select(".legendfill") + .selectAll("path") + .data(l || p ? [t] : []); + if ( + (S.enter().append("path").classed("js-fill", !0), + S.exit().remove(), + S.attr("d", A + "h" + x + "v6h-" + x + "z").call( + function (t) { + if (t.size()) + if (l) s.fillGroupStyle(t, e); + else { + var r = "legendfill-" + b.uid; + s.gradient(t, e, r, d(k), T, "fill"); + } + }, + ), + f || h) + ) { + var E = w(void 0, b.line, 10, 5); + (i = a.minExtend(b, { line: { width: E } })), + (r = [a.minExtend(m, { trace: i })]); + } + var L = M.select(".legendlines") + .selectAll("path") + .data(f || h ? [r] : []); + L.enter().append("path").classed("js-line", !0), + L.exit().remove(), + L.attr( + "d", + A + (h ? "l" + x + ",0.0001" : "h" + x), + ).call( + f + ? s.lineGroupStyle + : function (t) { + if (t.size()) { + var r = "legendline-" + b.uid; + s.lineGroupStyle(t), + s.gradient( + t, + e, + r, + d(k), + T, + "stroke", + ); + } + }, + ); + }) + .each(function (t) { + var r, + i, + o = v(t), + l = o.anyFill, + u = o.anyLine, + f = o.showLine, + h = o.showMarker, + p = t[0], + d = p.trace, + g = !h && !u && !l && c.hasText(d); + function y(t, e, r, n) { + var i = a.nestedProperty(d, t).get(), + o = a.isArrayOrTypedArray(i) && e ? e(i) : i; + if ((m && o && void 0 !== n && (o = n), r)) { + if (o < r[0]) return r[0]; + if (o > r[1]) return r[1]; + } + return o; + } + function x(t) { + return p._distinct && p.index && t[p.index] + ? t[p.index] + : t[0]; + } + if (h || g || f) { + var b = {}, + w = {}; + if (h) { + (b.mc = y("marker.color", x)), + (b.mx = y("marker.symbol", x)), + (b.mo = y( + "marker.opacity", + a.mean, + [0.2, 1], + )), + (b.mlc = y("marker.line.color", x)), + (b.mlw = y( + "marker.line.width", + a.mean, + [0, 5], + 2, + )), + (w.marker = { + sizeref: 1, + sizemin: 1, + sizemode: "diameter", + }); + var T = y("marker.size", a.mean, [2, 16], 12); + (b.ms = T), (w.marker.size = T); + } + f && + (w.line = { + width: y("line.width", x, [0, 10], 5), + }), + g && + ((b.tx = "Aa"), + (b.tp = y("textposition", x)), + (b.ts = 10), + (b.tc = y("textfont.color", x)), + (b.tf = y("textfont.family", x))), + (r = [a.minExtend(p, b)]), + ((i = a.minExtend(d, w)).selectedpoints = null), + (i.texttemplate = null); + } + var k = n.select(this).select("g.legendpoints"), + A = k + .selectAll("path.scatterpts") + .data(h ? r : []); + A.enter() + .insert("path", ":first-child") + .classed("scatterpts", !0) + .attr("transform", _), + A.exit().remove(), + A.call(s.pointStyle, i, e), + h && (r[0].mrc = 3); + var M = k.selectAll("g.pointtext").data(g ? r : []); + M.enter() + .append("g") + .classed("pointtext", !0) + .append("text") + .attr("transform", _), + M.exit().remove(), + M.selectAll("text").call(s.textPointStyle, i, e); + }) + .each(function (t) { + var e = t[0].trace, + r = n + .select(this) + .select("g.legendpoints") + .selectAll("path.legendcandle") + .data( + e.visible && "candlestick" === e.type + ? [t, t] + : [], + ); + r + .enter() + .append("path") + .classed("legendcandle", !0) + .attr("d", function (t, e) { + return e + ? "M-15,0H-8M-8,6V-6H8Z" + : "M15,0H8M8,-6V6H-8Z"; + }) + .attr("transform", _) + .style("stroke-miterlimit", 1), + r.exit().remove(), + r.each(function (t, r) { + var i = n.select(this), + a = e[r ? "increasing" : "decreasing"], + o = w(void 0, a.line, 5, 2); + i + .style("stroke-width", o + "px") + .call(l.fill, a.fillcolor), + o && l.stroke(i, a.line.color); + }); + }) + .each(function (t) { + var e = t[0].trace, + r = n + .select(this) + .select("g.legendpoints") + .selectAll("path.legendohlc") + .data( + e.visible && "ohlc" === e.type ? [t, t] : [], + ); + r + .enter() + .append("path") + .classed("legendohlc", !0) + .attr("d", function (t, e) { + return e ? "M-15,0H0M-8,-6V0" : "M15,0H0M8,6V0"; + }) + .attr("transform", _) + .style("stroke-miterlimit", 1), + r.exit().remove(), + r.each(function (t, r) { + var i = n.select(this), + a = e[r ? "increasing" : "decreasing"], + o = w(void 0, a.line, 5, 2); + i + .style("fill", "none") + .call(s.dashLine, a.line.dash, o), + o && l.stroke(i, a.line.color); + }); + }); + }; + }, + 42068: function (t, e, r) { + "use strict"; + r(93348), + (t.exports = { + editType: "modebar", + orientation: { + valType: "enumerated", + values: ["v", "h"], + dflt: "h", + editType: "modebar", + }, + bgcolor: { valType: "color", editType: "modebar" }, + color: { valType: "color", editType: "modebar" }, + activecolor: { + valType: "color", + editType: "modebar", + }, + uirevision: { valType: "any", editType: "none" }, + add: { + valType: "string", + arrayOk: !0, + dflt: "", + editType: "modebar", + }, + remove: { + valType: "string", + arrayOk: !0, + dflt: "", + editType: "modebar", + }, + }); + }, + 26023: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(74875), + a = r(41675), + o = r(24255), + s = r(34031).eraseActiveShape, + l = r(71828), + u = l._, + c = (t.exports = {}); + function f(t, e) { + var r, + i, + o = e.currentTarget, + s = o.getAttribute("data-attr"), + l = o.getAttribute("data-val") || !0, + u = t._fullLayout, + c = {}, + f = a.list(t, null, !0), + h = u._cartesianSpikesEnabled; + if ("zoom" === s) { + var p, + d = "in" === l ? 0.5 : 2, + v = (1 + d) / 2, + g = (1 - d) / 2; + for (i = 0; i < f.length; i++) + if (!(r = f[i]).fixedrange) + if (((p = r._name), "auto" === l)) + c[p + ".autorange"] = !0; + else if ("reset" === l) + void 0 === r._rangeInitial0 && + void 0 === r._rangeInitial1 + ? (c[p + ".autorange"] = !0) + : void 0 === r._rangeInitial0 + ? ((c[p + ".autorange"] = + r._autorangeInitial), + (c[p + ".range"] = [ + null, + r._rangeInitial1, + ])) + : void 0 === r._rangeInitial1 + ? ((c[p + ".range"] = [ + r._rangeInitial0, + null, + ]), + (c[p + ".autorange"] = r._autorangeInitial)) + : (c[p + ".range"] = [ + r._rangeInitial0, + r._rangeInitial1, + ]), + void 0 !== r._showSpikeInitial && + ((c[p + ".showspikes"] = + r._showSpikeInitial), + "on" !== h || + r._showSpikeInitial || + (h = "off")); + else { + var y = [r.r2l(r.range[0]), r.r2l(r.range[1])], + m = [ + v * y[0] + g * y[1], + v * y[1] + g * y[0], + ]; + (c[p + ".range[0]"] = r.l2r(m[0])), + (c[p + ".range[1]"] = r.l2r(m[1])); + } + } else + "hovermode" !== s || + ("x" !== l && "y" !== l) || + ((l = u._isHoriz ? "y" : "x"), + o.setAttribute("data-val", l)), + (c[s] = l); + (u._cartesianSpikesEnabled = h), + n.call("_guiRelayout", t, c); + } + function h(t, e) { + for ( + var r = e.currentTarget, + i = r.getAttribute("data-attr"), + a = r.getAttribute("data-val") || !0, + o = t._fullLayout._subplots.gl3d || [], + s = {}, + l = i.split("."), + u = 0; + u < o.length; + u++ + ) + s[o[u] + "." + l[1]] = a; + var c = "pan" === a ? a : "zoom"; + (s.dragmode = c), n.call("_guiRelayout", t, s); + } + function p(t, e) { + for ( + var r = e.currentTarget.getAttribute("data-attr"), + i = "resetLastSave" === r, + a = "resetDefault" === r, + o = t._fullLayout, + s = o._subplots.gl3d || [], + l = {}, + u = 0; + u < s.length; + u++ + ) { + var c, + f = s[u], + h = f + ".camera", + p = f + ".aspectratio", + d = f + ".aspectmode", + v = o[f]._scene; + i + ? ((l[h + ".up"] = v.viewInitial.up), + (l[h + ".eye"] = v.viewInitial.eye), + (l[h + ".center"] = v.viewInitial.center), + (c = !0)) + : a && + ((l[h + ".up"] = null), + (l[h + ".eye"] = null), + (l[h + ".center"] = null), + (c = !0)), + c && + ((l[p + ".x"] = v.viewInitial.aspectratio.x), + (l[p + ".y"] = v.viewInitial.aspectratio.y), + (l[p + ".z"] = v.viewInitial.aspectratio.z), + (l[d] = v.viewInitial.aspectmode)); + } + n.call("_guiRelayout", t, l); + } + function d(t, e) { + var r = e.currentTarget, + n = r._previousVal, + i = t._fullLayout, + a = i._subplots.gl3d || [], + o = ["xaxis", "yaxis", "zaxis"], + s = {}, + l = {}; + if (n) (l = n), (r._previousVal = null); + else { + for (var u = 0; u < a.length; u++) { + var c = a[u], + f = i[c], + h = c + ".hovermode"; + (s[h] = f.hovermode), (l[h] = !1); + for (var p = 0; p < 3; p++) { + var d = o[p], + v = c + "." + d + ".showspikes"; + (l[v] = !1), (s[v] = f[d].showspikes); + } + } + r._previousVal = s; + } + return l; + } + function v(t, e) { + for ( + var r = e.currentTarget, + i = r.getAttribute("data-attr"), + a = r.getAttribute("data-val") || !0, + o = t._fullLayout, + s = o._subplots.geo || [], + l = 0; + l < s.length; + l++ + ) { + var u = s[l], + c = o[u]; + if ("zoom" === i) { + var f = c.projection.scale, + h = "in" === a ? 2 * f : 0.5 * f; + n.call( + "_guiRelayout", + t, + u + ".projection.scale", + h, + ); + } + } + "reset" === i && x(t, "geo"); + } + function g(t) { + var e = t._fullLayout; + return ( + !e.hovermode && + (e._has("cartesian") + ? e._isHoriz + ? "y" + : "x" + : "closest") + ); + } + function y(t) { + var e = g(t); + n.call("_guiRelayout", t, "hovermode", e); + } + function m(t, e) { + for ( + var r = e.currentTarget.getAttribute("data-val"), + i = t._fullLayout, + a = i._subplots.mapbox || [], + o = {}, + s = 0; + s < a.length; + s++ + ) { + var l = a[s], + u = i[l].zoom, + c = "in" === r ? 1.05 * u : u / 1.05; + o[l + ".zoom"] = c; + } + n.call("_guiRelayout", t, o); + } + function x(t, e) { + for ( + var r = t._fullLayout, + i = r._subplots[e] || [], + a = {}, + o = 0; + o < i.length; + o++ + ) + for ( + var s = i[o], + l = r[s]._subplot.viewInitial, + u = Object.keys(l), + c = 0; + c < u.length; + c++ + ) { + var f = u[c]; + a[s + "." + f] = l[f]; + } + n.call("_guiRelayout", t, a); + } + (c.toImage = { + name: "toImage", + title: function (t) { + var e = + (t._context.toImageButtonOptions || {}).format || + "png"; + return u( + t, + "png" === e + ? "Download plot as a png" + : "Download plot", + ); + }, + icon: o.camera, + click: function (t) { + var e = t._context.toImageButtonOptions, + r = { format: e.format || "png" }; + l.notifier( + u( + t, + "Taking snapshot - this may take a few seconds", + ), + "long", + ), + "svg" !== r.format && + l.isIE() && + (l.notifier( + u( + t, + "IE only supports svg. Changing format to svg.", + ), + "long", + ), + (r.format = "svg")), + ["filename", "width", "height", "scale"].forEach( + function (t) { + t in e && (r[t] = e[t]); + }, + ), + n + .call("downloadImage", t, r) + .then(function (e) { + l.notifier( + u(t, "Snapshot succeeded") + " - " + e, + "long", + ); + }) + .catch(function () { + l.notifier( + u( + t, + "Sorry, there was a problem downloading your snapshot!", + ), + "long", + ); + }); + }, + }), + (c.sendDataToCloud = { + name: "sendDataToCloud", + title: function (t) { + return u(t, "Edit in Chart Studio"); + }, + icon: o.disk, + click: function (t) { + i.sendDataToCloud(t); + }, + }), + (c.editInChartStudio = { + name: "editInChartStudio", + title: function (t) { + return u(t, "Edit in Chart Studio"); + }, + icon: o.pencil, + click: function (t) { + i.sendDataToCloud(t); + }, + }), + (c.zoom2d = { + name: "zoom2d", + _cat: "zoom", + title: function (t) { + return u(t, "Zoom"); + }, + attr: "dragmode", + val: "zoom", + icon: o.zoombox, + click: f, + }), + (c.pan2d = { + name: "pan2d", + _cat: "pan", + title: function (t) { + return u(t, "Pan"); + }, + attr: "dragmode", + val: "pan", + icon: o.pan, + click: f, + }), + (c.select2d = { + name: "select2d", + _cat: "select", + title: function (t) { + return u(t, "Box Select"); + }, + attr: "dragmode", + val: "select", + icon: o.selectbox, + click: f, + }), + (c.lasso2d = { + name: "lasso2d", + _cat: "lasso", + title: function (t) { + return u(t, "Lasso Select"); + }, + attr: "dragmode", + val: "lasso", + icon: o.lasso, + click: f, + }), + (c.drawclosedpath = { + name: "drawclosedpath", + title: function (t) { + return u(t, "Draw closed freeform"); + }, + attr: "dragmode", + val: "drawclosedpath", + icon: o.drawclosedpath, + click: f, + }), + (c.drawopenpath = { + name: "drawopenpath", + title: function (t) { + return u(t, "Draw open freeform"); + }, + attr: "dragmode", + val: "drawopenpath", + icon: o.drawopenpath, + click: f, + }), + (c.drawline = { + name: "drawline", + title: function (t) { + return u(t, "Draw line"); + }, + attr: "dragmode", + val: "drawline", + icon: o.drawline, + click: f, + }), + (c.drawrect = { + name: "drawrect", + title: function (t) { + return u(t, "Draw rectangle"); + }, + attr: "dragmode", + val: "drawrect", + icon: o.drawrect, + click: f, + }), + (c.drawcircle = { + name: "drawcircle", + title: function (t) { + return u(t, "Draw circle"); + }, + attr: "dragmode", + val: "drawcircle", + icon: o.drawcircle, + click: f, + }), + (c.eraseshape = { + name: "eraseshape", + title: function (t) { + return u(t, "Erase active shape"); + }, + icon: o.eraseshape, + click: s, + }), + (c.zoomIn2d = { + name: "zoomIn2d", + _cat: "zoomin", + title: function (t) { + return u(t, "Zoom in"); + }, + attr: "zoom", + val: "in", + icon: o.zoom_plus, + click: f, + }), + (c.zoomOut2d = { + name: "zoomOut2d", + _cat: "zoomout", + title: function (t) { + return u(t, "Zoom out"); + }, + attr: "zoom", + val: "out", + icon: o.zoom_minus, + click: f, + }), + (c.autoScale2d = { + name: "autoScale2d", + _cat: "autoscale", + title: function (t) { + return u(t, "Autoscale"); + }, + attr: "zoom", + val: "auto", + icon: o.autoscale, + click: f, + }), + (c.resetScale2d = { + name: "resetScale2d", + _cat: "resetscale", + title: function (t) { + return u(t, "Reset axes"); + }, + attr: "zoom", + val: "reset", + icon: o.home, + click: f, + }), + (c.hoverClosestCartesian = { + name: "hoverClosestCartesian", + _cat: "hoverclosest", + title: function (t) { + return u(t, "Show closest data on hover"); + }, + attr: "hovermode", + val: "closest", + icon: o.tooltip_basic, + gravity: "ne", + click: f, + }), + (c.hoverCompareCartesian = { + name: "hoverCompareCartesian", + _cat: "hoverCompare", + title: function (t) { + return u(t, "Compare data on hover"); + }, + attr: "hovermode", + val: function (t) { + return t._fullLayout._isHoriz ? "y" : "x"; + }, + icon: o.tooltip_compare, + gravity: "ne", + click: f, + }), + (c.zoom3d = { + name: "zoom3d", + _cat: "zoom", + title: function (t) { + return u(t, "Zoom"); + }, + attr: "scene.dragmode", + val: "zoom", + icon: o.zoombox, + click: h, + }), + (c.pan3d = { + name: "pan3d", + _cat: "pan", + title: function (t) { + return u(t, "Pan"); + }, + attr: "scene.dragmode", + val: "pan", + icon: o.pan, + click: h, + }), + (c.orbitRotation = { + name: "orbitRotation", + title: function (t) { + return u(t, "Orbital rotation"); + }, + attr: "scene.dragmode", + val: "orbit", + icon: o["3d_rotate"], + click: h, + }), + (c.tableRotation = { + name: "tableRotation", + title: function (t) { + return u(t, "Turntable rotation"); + }, + attr: "scene.dragmode", + val: "turntable", + icon: o["z-axis"], + click: h, + }), + (c.resetCameraDefault3d = { + name: "resetCameraDefault3d", + _cat: "resetCameraDefault", + title: function (t) { + return u(t, "Reset camera to default"); + }, + attr: "resetDefault", + icon: o.home, + click: p, + }), + (c.resetCameraLastSave3d = { + name: "resetCameraLastSave3d", + _cat: "resetCameraLastSave", + title: function (t) { + return u(t, "Reset camera to last save"); + }, + attr: "resetLastSave", + icon: o.movie, + click: p, + }), + (c.hoverClosest3d = { + name: "hoverClosest3d", + _cat: "hoverclosest", + title: function (t) { + return u(t, "Toggle show closest data on hover"); + }, + attr: "hovermode", + val: null, + toggle: !0, + icon: o.tooltip_basic, + gravity: "ne", + click: function (t, e) { + var r = d(t, e); + n.call("_guiRelayout", t, r); + }, + }), + (c.zoomInGeo = { + name: "zoomInGeo", + _cat: "zoomin", + title: function (t) { + return u(t, "Zoom in"); + }, + attr: "zoom", + val: "in", + icon: o.zoom_plus, + click: v, + }), + (c.zoomOutGeo = { + name: "zoomOutGeo", + _cat: "zoomout", + title: function (t) { + return u(t, "Zoom out"); + }, + attr: "zoom", + val: "out", + icon: o.zoom_minus, + click: v, + }), + (c.resetGeo = { + name: "resetGeo", + _cat: "reset", + title: function (t) { + return u(t, "Reset"); + }, + attr: "reset", + val: null, + icon: o.autoscale, + click: v, + }), + (c.hoverClosestGeo = { + name: "hoverClosestGeo", + _cat: "hoverclosest", + title: function (t) { + return u(t, "Toggle show closest data on hover"); + }, + attr: "hovermode", + val: null, + toggle: !0, + icon: o.tooltip_basic, + gravity: "ne", + click: y, + }), + (c.hoverClosestGl2d = { + name: "hoverClosestGl2d", + _cat: "hoverclosest", + title: function (t) { + return u(t, "Toggle show closest data on hover"); + }, + attr: "hovermode", + val: null, + toggle: !0, + icon: o.tooltip_basic, + gravity: "ne", + click: y, + }), + (c.hoverClosestPie = { + name: "hoverClosestPie", + _cat: "hoverclosest", + title: function (t) { + return u(t, "Toggle show closest data on hover"); + }, + attr: "hovermode", + val: "closest", + icon: o.tooltip_basic, + gravity: "ne", + click: y, + }), + (c.resetViewSankey = { + name: "resetSankeyGroup", + title: function (t) { + return u(t, "Reset view"); + }, + icon: o.home, + click: function (t) { + for ( + var e = { + "node.groups": [], + "node.x": [], + "node.y": [], + }, + r = 0; + r < t._fullData.length; + r++ + ) { + var i = t._fullData[r]._viewInitial; + e["node.groups"].push(i.node.groups.slice()), + e["node.x"].push(i.node.x.slice()), + e["node.y"].push(i.node.y.slice()); + } + n.call("restyle", t, e); + }, + }), + (c.toggleHover = { + name: "toggleHover", + title: function (t) { + return u(t, "Toggle show closest data on hover"); + }, + attr: "hovermode", + val: null, + toggle: !0, + icon: o.tooltip_basic, + gravity: "ne", + click: function (t, e) { + var r = d(t, e); + (r.hovermode = g(t)), n.call("_guiRelayout", t, r); + }, + }), + (c.resetViews = { + name: "resetViews", + title: function (t) { + return u(t, "Reset views"); + }, + icon: o.home, + click: function (t, e) { + var r = e.currentTarget; + r.setAttribute("data-attr", "zoom"), + r.setAttribute("data-val", "reset"), + f(t, e), + r.setAttribute("data-attr", "resetLastSave"), + p(t, e), + x(t, "geo"), + x(t, "mapbox"); + }, + }), + (c.toggleSpikelines = { + name: "toggleSpikelines", + title: function (t) { + return u(t, "Toggle Spike Lines"); + }, + icon: o.spikeline, + attr: "_cartesianSpikesEnabled", + val: "on", + click: function (t) { + var e = t._fullLayout, + r = e._cartesianSpikesEnabled; + (e._cartesianSpikesEnabled = + "on" === r ? "off" : "on"), + n.call( + "_guiRelayout", + t, + (function (t) { + for ( + var e = + "on" === + t._fullLayout._cartesianSpikesEnabled, + r = a.list(t, null, !0), + n = {}, + i = 0; + i < r.length; + i++ + ) { + var o = r[i]; + n[o._name + ".showspikes"] = + !!e || o._showSpikeInitial; + } + return n; + })(t), + ); + }, + }), + (c.resetViewMapbox = { + name: "resetViewMapbox", + _cat: "resetView", + title: function (t) { + return u(t, "Reset view"); + }, + attr: "reset", + icon: o.home, + click: function (t) { + x(t, "mapbox"); + }, + }), + (c.zoomInMapbox = { + name: "zoomInMapbox", + _cat: "zoomin", + title: function (t) { + return u(t, "Zoom in"); + }, + attr: "zoom", + val: "in", + icon: o.zoom_plus, + click: m, + }), + (c.zoomOutMapbox = { + name: "zoomOutMapbox", + _cat: "zoomout", + title: function (t) { + return u(t, "Zoom out"); + }, + attr: "zoom", + val: "out", + icon: o.zoom_minus, + click: m, + }); + }, + 93348: function (t, e, r) { + "use strict"; + var n = r(26023), + i = Object.keys(n), + a = [ + "drawline", + "drawopenpath", + "drawclosedpath", + "drawcircle", + "drawrect", + "eraseshape", + ], + o = [ + "v1hovermode", + "hoverclosest", + "hovercompare", + "togglehover", + "togglespikelines", + ].concat(a), + s = []; + i.forEach(function (t) { + !(function (t) { + if (-1 === o.indexOf(t._cat || t.name)) { + var e = t.name, + r = (t._cat || t.name).toLowerCase(); + -1 === s.indexOf(e) && s.push(e), + -1 === s.indexOf(r) && s.push(r); + } + })(n[t]); + }), + s.sort(), + (t.exports = { + DRAW_MODES: a, + backButtons: o, + foreButtons: s, + }); + }, + 35750: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(44467), + o = r(42068); + t.exports = function (t, e) { + var r = t.modebar || {}, + s = a.newContainer(e, "modebar"); + function l(t, e) { + return n.coerce(r, s, o, t, e); + } + l("orientation"), + l("bgcolor", i.addOpacity(e.paper_bgcolor, 0.5)); + var u = i.contrast(i.rgb(e.modebar.bgcolor)); + l("color", i.addOpacity(u, 0.3)), + l("activecolor", i.addOpacity(u, 0.7)), + l("uirevision", e.uirevision), + l("add"), + l("remove"); + }; + }, + 64168: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "component", + name: "modebar", + layoutAttributes: r(42068), + supplyLayoutDefaults: r(35750), + manage: r(14192), + }; + }, + 14192: function (t, e, r) { + "use strict"; + var n = r(41675), + i = r(34098), + a = r(73972), + o = r(23469).isUnifiedHover, + s = r(37676), + l = r(26023), + u = r(93348).DRAW_MODES, + c = r(71828).extendDeep; + t.exports = function (t) { + var e = t._fullLayout, + r = t._context, + f = e._modeBar; + if (r.displayModeBar || r.watermark) { + 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 h, + p = r.modeBarButtons; + (h = + Array.isArray(p) && p.length + ? (function (t) { + for ( + var e = c([], t), r = 0; + r < e.length; + r++ + ) + for ( + var n = e[r], i = 0; + i < n.length; + i++ + ) { + var a = n[i]; + if ("string" == typeof a) { + if (void 0 === l[a]) + throw new Error( + [ + "*modeBarButtons* configuration options", + "invalid button name", + ].join(" "), + ); + e[r][i] = l[a]; + } + } + return e; + })(p) + : !r.displayModeBar && r.watermark + ? [] + : (function (t) { + var e = t._fullLayout, + r = t._fullData, + s = t._context; + function c(t, e) { + if ("string" == typeof e) { + if (e.toLowerCase() === t.toLowerCase()) + return !0; + } else { + var r = e.name, + n = e._cat || e.name; + if (r === t || n === t.toLowerCase()) + return !0; + } + return !1; + } + var f = e.modebar.add; + "string" == typeof f && (f = [f]); + var h = e.modebar.remove; + "string" == typeof h && (h = [h]); + var p = s.modeBarButtonsToAdd.concat( + f.filter(function (t) { + for ( + var e = 0; + e < s.modeBarButtonsToRemove.length; + e++ + ) + if (c(t, s.modeBarButtonsToRemove[e])) + return !1; + return !0; + }), + ), + d = s.modeBarButtonsToRemove.concat( + h.filter(function (t) { + for ( + var e = 0; + e < s.modeBarButtonsToAdd.length; + e++ + ) + if (c(t, s.modeBarButtonsToAdd[e])) + return !1; + return !0; + }), + ), + v = e._has("cartesian"), + g = e._has("gl3d"), + y = e._has("geo"), + m = e._has("pie"), + x = e._has("funnelarea"), + b = e._has("gl2d"), + _ = e._has("ternary"), + w = e._has("mapbox"), + T = e._has("polar"), + k = e._has("smith"), + A = e._has("sankey"), + M = (function (t) { + for ( + var e = n.list( + { _fullLayout: t }, + null, + !0, + ), + r = 0; + r < e.length; + r++ + ) + if (!e[r].fixedrange) return !1; + return !0; + })(e), + S = o(e.hovermode), + E = []; + function L(t) { + if (t.length) { + for ( + var e = [], r = 0; + r < t.length; + r++ + ) { + for ( + var n = t[r], + i = l[n], + a = i.name.toLowerCase(), + o = ( + i._cat || i.name + ).toLowerCase(), + s = !1, + u = 0; + u < d.length; + u++ + ) { + var c = d[u].toLowerCase(); + if (c === a || c === o) { + s = !0; + break; + } + } + s || e.push(l[n]); + } + E.push(e); + } + } + var C = ["toImage"]; + s.showEditInChartStudio + ? C.push("editInChartStudio") + : s.showSendToCloud && + C.push("sendDataToCloud"), + L(C); + var O = [], + P = [], + I = [], + D = []; + (v || b || m || x || _) + y + g + w + T + k > + 1 + ? ((P = ["toggleHover"]), + (I = ["resetViews"])) + : y + ? ((O = ["zoomInGeo", "zoomOutGeo"]), + (P = ["hoverClosestGeo"]), + (I = ["resetGeo"])) + : g + ? ((P = ["hoverClosest3d"]), + (I = [ + "resetCameraDefault3d", + "resetCameraLastSave3d", + ])) + : w + ? ((O = ["zoomInMapbox", "zoomOutMapbox"]), + (P = ["toggleHover"]), + (I = ["resetViewMapbox"])) + : b + ? (P = ["hoverClosestGl2d"]) + : m + ? (P = ["hoverClosestPie"]) + : A + ? ((P = [ + "hoverClosestCartesian", + "hoverCompareCartesian", + ]), + (I = ["resetViewSankey"])) + : (P = ["toggleHover"]), + v && + (P = [ + "toggleSpikelines", + "hoverClosestCartesian", + "hoverCompareCartesian", + ]), + ((function (t) { + for (var e = 0; e < t.length; e++) + if (!a.traceIs(t[e], "noHover")) + return !1; + return !0; + })(r) || + S) && + (P = []), + (!v && !b) || + M || + ((O = [ + "zoomIn2d", + "zoomOut2d", + "autoScale2d", + ]), + "resetViews" !== I[0] && + (I = ["resetScale2d"])), + g + ? (D = [ + "zoom3d", + "pan3d", + "orbitRotation", + "tableRotation", + ]) + : ((v || b) && !M) || _ + ? (D = ["zoom2d", "pan2d"]) + : w || y + ? (D = ["pan2d"]) + : T && (D = ["zoom2d"]), + (function (t) { + for ( + var e = !1, r = 0; + r < t.length && !e; + r++ + ) { + var n = t[r]; + n._module && + n._module.selectPoints && + (a.traceIs(n, "scatter-like") + ? (i.hasMarkers(n) || + i.hasText(n)) && + (e = !0) + : (a.traceIs(n, "box-violin") && + "all" !== n.boxpoints && + "all" !== n.points) || + (e = !0)); + } + return e; + })(r) && D.push("select2d", "lasso2d"); + var z = [], + R = function (t) { + -1 === z.indexOf(t) && + -1 !== P.indexOf(t) && + z.push(t); + }; + if (Array.isArray(p)) { + for (var F = [], B = 0; B < p.length; B++) { + var N = p[B]; + "string" == typeof N + ? ((N = N.toLowerCase()), + -1 !== u.indexOf(N) + ? (e._has("mapbox") || + e._has("cartesian")) && + D.push(N) + : "togglespikelines" === N + ? R("toggleSpikelines") + : "togglehover" === N + ? R("toggleHover") + : "hovercompare" === N + ? R("hoverCompareCartesian") + : "hoverclosest" === N + ? (R("hoverClosestCartesian"), + R("hoverClosestGeo"), + R("hoverClosest3d"), + R("hoverClosestGl2d"), + R("hoverClosestPie")) + : "v1hovermode" === N && + (R("toggleHover"), + R("hoverClosestCartesian"), + R("hoverCompareCartesian"), + R("hoverClosestGeo"), + R("hoverClosest3d"), + R("hoverClosestGl2d"), + R("hoverClosestPie"))) + : F.push(N); + } + p = F; + } + return ( + L(D), + L(O.concat(I)), + L(z), + (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; + })(E, p) + ); + })(t)), + f ? f.update(t, h) : (e._modeBar = s(t, h)); + } else f && (f.destroy(), delete e._modeBar); + }; + }, + 37676: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = r(71828), + o = r(24255), + s = r(11506).version, + l = new DOMParser(); + function u(t) { + (this.container = t.container), + (this.element = document.createElement("div")), + this.update(t.graphInfo, t.buttons), + this.container.appendChild(this.element); + } + var c = u.prototype; + (c.update = function (t, e) { + this.graphInfo = t; + var r = this.graphInfo._context, + n = this.graphInfo._fullLayout, + i = "modebar-" + n._uid; + this.element.setAttribute("id", i), + (this._uid = i), + (this.element.className = "modebar"), + "hover" === r.displayModeBar && + (this.element.className += + " modebar--hover ease-bg"), + "v" === n.modebar.orientation && + ((this.element.className += " vertical"), + (e = e.reverse())); + var o = n.modebar, + s = + "hover" === r.displayModeBar + ? ".js-plotly-plot .plotly:hover " + : ""; + a.deleteRelatedStyleRule(i), + a.addRelatedStyleRule( + i, + s + "#" + i + " .modebar-group", + "background-color: " + o.bgcolor, + ), + a.addRelatedStyleRule( + i, + "#" + i + " .modebar-btn .icon path", + "fill: " + o.color, + ), + a.addRelatedStyleRule( + i, + "#" + i + " .modebar-btn:hover .icon path", + "fill: " + o.activecolor, + ), + a.addRelatedStyleRule( + i, + "#" + i + " .modebar-btn.active .icon path", + "fill: " + o.activecolor, + ); + var l = !this.hasButtons(e), + u = this.hasLogo !== r.displaylogo, + c = this.locale !== r.locale; + if ( + ((this.locale = r.locale), + (l || u || c) && + (this.removeAllButtons(), + this.updateButtons(e), + r.watermark || r.displaylogo)) + ) { + var f = this.getLogo(); + r.watermark && + (f.className = f.className + " watermark"), + "v" === n.modebar.orientation + ? this.element.insertBefore( + f, + this.element.childNodes[0], + ) + : this.element.appendChild(f), + (this.hasLogo = !0); + } + this.updateActiveButton(); + }), + (c.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); + }); + }), + (c.createGroup = function () { + var t = document.createElement("div"); + return (t.className = "modebar-group"), t; + }), + (c.createButton = function (t) { + var e = this, + r = document.createElement("a"); + r.setAttribute("rel", "tooltip"), + (r.className = "modebar-btn"); + var i = t.title; + void 0 === i + ? (i = t.name) + : "function" == typeof i && (i = i(this.graphInfo)), + (i || 0 === i) && r.setAttribute("data-title", i), + void 0 !== t.attr && + r.setAttribute("data-attr", t.attr); + var a = t.val; + if ( + (void 0 !== a && + ("function" == typeof a && + (a = a(this.graphInfo)), + r.setAttribute("data-val", a)), + "function" != typeof t.click) + ) + throw new Error( + "must provide button 'click' function in button config", + ); + r.addEventListener("click", function (r) { + t.click(e.graphInfo, r), + e.updateActiveButton(r.currentTarget); + }), + r.setAttribute("data-toggle", t.toggle || !1), + t.toggle && n.select(r).classed("active", !0); + var s = t.icon; + return ( + "function" == typeof s + ? r.appendChild(s()) + : r.appendChild(this.createIcon(s || o.question)), + r.setAttribute("data-gravity", t.gravity || "n"), + r + ); + }), + (c.createIcon = function (t) { + var e, + r = i(t.height) + ? Number(t.height) + : t.ascent - t.descent, + n = "http://www.w3.org/2000/svg"; + if (t.path) { + (e = document.createElementNS( + n, + "svg", + )).setAttribute( + "viewBox", + [0, 0, t.width, r].join(" "), + ), + e.setAttribute("class", "icon"); + var a = document.createElementNS(n, "path"); + a.setAttribute("d", t.path), + t.transform + ? a.setAttribute("transform", t.transform) + : void 0 !== t.ascent && + a.setAttribute( + "transform", + "matrix(1 0 0 -1 0 " + t.ascent + ")", + ), + e.appendChild(a); + } + return ( + t.svg && + (e = l.parseFromString(t.svg, "application/xml") + .childNodes[0]), + e.setAttribute("height", "1em"), + e.setAttribute("width", "1em"), + e + ); + }), + (c.updateActiveButton = function (t) { + var e = this.graphInfo._fullLayout, + r = + void 0 !== t ? t.getAttribute("data-attr") : null; + this.buttonElements.forEach(function (t) { + var i = t.getAttribute("data-val") || !0, + o = t.getAttribute("data-attr"), + s = "true" === t.getAttribute("data-toggle"), + l = n.select(t); + if (s) + o === r && + l.classed("active", !l.classed("active")); + else { + var u = + null === o ? o : a.nestedProperty(e, o).get(); + l.classed("active", u === i); + } + }); + }), + (c.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; + }), + (c.getLogo = function () { + var t = this.createGroup(), + e = document.createElement("a"); + return ( + (e.href = "https://plotly.com/"), + (e.target = "_blank"), + e.setAttribute( + "data-title", + a._(this.graphInfo, "Produced with Plotly.js") + + " (v" + + s + + ")", + ), + (e.className = + "modebar-btn plotlyjsicon modebar-btn--logo"), + e.appendChild(this.createIcon(o.newplotlylogo)), + t.appendChild(e), + t + ); + }), + (c.removeAllButtons = function () { + for (; this.element.firstChild; ) + this.element.removeChild(this.element.firstChild); + this.hasLogo = !1; + }), + (c.destroy = function () { + a.removeElement( + this.container.querySelector(".modebar"), + ), + a.deleteRelatedStyleRule(this._uid); + }), + (t.exports = function (t, e) { + var r = t._fullLayout, + i = new u({ + graphInfo: t, + container: r._modebardiv.node(), + buttons: e, + }); + return ( + r._privateplot && + n + .select(i.element) + .append("span") + .classed("badge-private float--left", !0) + .text("PRIVATE"), + i + ); + }); + }, + 37113: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(22399), + a = (0, r(44467).templatedArray)("button", { + visible: { + valType: "boolean", + dflt: !0, + editType: "plot", + }, + 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", + }); + t.exports = { + visible: { valType: "boolean", editType: "plot" }, + buttons: a, + 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: n({ editType: "plot" }), + bgcolor: { + valType: "color", + dflt: i.lightLine, + editType: "plot", + }, + activecolor: { valType: "color", editType: "plot" }, + bordercolor: { + valType: "color", + dflt: i.defaultLine, + editType: "plot", + }, + borderwidth: { + valType: "number", + min: 0, + dflt: 0, + editType: "plot", + }, + editType: "plot", + }; + }, + 89573: function (t) { + "use strict"; + t.exports = { + yPad: 0.02, + minButtonWidth: 30, + rx: 3, + ry: 3, + lightAmount: 25, + darkAmount: 10, + }; + }, + 28674: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(44467), + o = r(85501), + s = r(37113), + l = r(89573); + function u(t, e, r, i) { + var a = i.calendar; + function o(r, i) { + return n.coerce(t, e, s.buttons, r, i); + } + if (o("visible")) { + var l = o("step"); + "all" !== l && + (!a || + "gregorian" === a || + ("month" !== l && "year" !== l) + ? o("stepmode") + : (e.stepmode = "backward"), + o("count")), + o("label"); + } + } + t.exports = function (t, e, r, c, f) { + var h = t.rangeselector || {}, + p = a.newContainer(e, "rangeselector"); + function d(t, e) { + return n.coerce(h, p, s, t, e); + } + if ( + d( + "visible", + o(h, p, { + name: "buttons", + handleItemDefaults: u, + calendar: f, + }).length > 0, + ) + ) { + var v = (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 + l.yPad]; + })(e, r, c); + d("x", v[0]), + d("y", v[1]), + n.noneOrAll(t, e, ["x", "y"]), + d("xanchor"), + d("yanchor"), + n.coerceFont(d, "font", r.font); + var g = d("bgcolor"); + d( + "activecolor", + i.contrast(g, l.lightAmount, l.darkAmount), + ), + d("bordercolor"), + d("borderwidth"); + } + }; + }, + 21598: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(74875), + o = r(7901), + s = r(91424), + l = r(71828), + u = l.strTranslate, + c = r(63893), + f = r(41675), + h = r(18783), + p = h.LINE_SPACING, + d = h.FROM_TL, + v = h.FROM_BR, + g = r(89573), + y = r(70565); + function m(t) { + return t._id; + } + function x(t, e, r) { + var n = l.ensureSingle( + t, + "rect", + "selector-rect", + function (t) { + t.attr("shape-rendering", "crispEdges"); + }, + ); + n.attr({ rx: g.rx, ry: g.ry }), + n + .call(o.stroke, e.bordercolor) + .call( + o.fill, + (function (t, e) { + return e._isActive || e._isHovered + ? t.activecolor + : t.bgcolor; + })(e, r), + ) + .style("stroke-width", e.borderwidth + "px"); + } + function b(t, e, r, n) { + var i, a; + l.ensureSingle( + t, + "text", + "selector-text", + function (t) { + t.attr("text-anchor", "middle"); + }, + ) + .call(s.font, e.font) + .text( + ((i = r), + (a = n._fullLayout._meta), + i.label + ? a + ? l.templateString(i.label, a) + : i.label + : "all" === i.step + ? "all" + : i.count + i.step.charAt(0)), + ) + .call(function (t) { + c.convertToTspans(t, n); + }); + } + t.exports = function (t) { + var e = t._fullLayout._infolayer + .selectAll(".rangeselector") + .data( + (function (t) { + for ( + var e = f.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), + m, + ); + e.enter().append("g").classed("rangeselector", !0), + e.exit().remove(), + e.style({ + cursor: "pointer", + "pointer-events": "all", + }), + e.each(function (e) { + var r = n.select(this), + o = e, + f = o.rangeselector, + h = r + .selectAll("g.button") + .data(l.filterVisible(f.buttons)); + h.enter().append("g").classed("button", !0), + h.exit().remove(), + h.each(function (e) { + var r = n.select(this), + a = y(o, e); + (e._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]] + ); + })(o, e, a)), + r.call(x, f, e), + r.call(b, f, e, t), + r.on("click", function () { + t._dragged || i.call("_guiRelayout", t, a); + }), + r.on("mouseover", function () { + (e._isHovered = !0), r.call(x, f, e); + }), + r.on("mouseout", function () { + (e._isHovered = !1), r.call(x, f, e); + }); + }), + (function (t, e, r, i, o) { + var f = 0, + h = 0, + y = r.borderwidth; + e.each(function () { + var t = n + .select(this) + .select(".selector-text"), + e = r.font.size * p, + i = Math.max(e * c.lineCount(t), 16) + 3; + h = Math.max(h, i); + }), + e.each(function () { + var t = n.select(this), + e = t.select(".selector-rect"), + i = t.select(".selector-text"), + a = i.node() && s.bBox(i.node()).width, + o = r.font.size * p, + l = c.lineCount(i), + d = Math.max(a + 10, g.minButtonWidth); + t.attr("transform", u(y + f, y)), + e.attr({ + x: 0, + y: 0, + width: d, + height: h, + }), + c.positionText( + i, + d / 2, + h / 2 - ((l - 1) * o) / 2 + 3, + ), + (f += d + 5); + }); + var m = t._fullLayout._size, + x = m.l + m.w * r.x, + b = m.t + m.h * (1 - r.y), + _ = "left"; + l.isRightAnchor(r) && ((x -= f), (_ = "right")), + l.isCenterAnchor(r) && + ((x -= f / 2), (_ = "center")); + var w = "top"; + l.isBottomAnchor(r) && + ((b -= h), (w = "bottom")), + l.isMiddleAnchor(r) && + ((b -= h / 2), (w = "middle")), + (f = Math.ceil(f)), + (h = Math.ceil(h)), + (x = Math.round(x)), + (b = Math.round(b)), + a.autoMargin(t, i + "-range-selector", { + x: r.x, + y: r.y, + l: f * d[_], + r: f * v[_], + b: h * v[w], + t: h * d[w], + }), + o.attr("transform", u(x, b)); + })(t, h, f, o._name, r); + }); + }; + }, + 70565: function (t, e, r) { + "use strict"; + var n = r(81041), + i = r(71828).titleCase; + t.exports = function (t, e) { + var r = t._name, + a = {}; + if ("all" === e.step) a[r + ".autorange"] = !0; + else { + var o = (function (t, e) { + var r, + a = t.range, + o = new Date(t.r2l(a[1])), + s = e.step, + l = n["utc" + i(s)], + u = e.count; + switch (e.stepmode) { + case "backward": + r = t.l2r(+l.offset(o, -u)); + break; + case "todate": + var c = l.offset(o, -u); + r = t.l2r(+l.ceil(c)); + } + return [r, a[1]]; + })(t, e); + (a[r + ".range[0]"] = o[0]), + (a[r + ".range[1]"] = o[1]); + } + return a; + }; + }, + 97218: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "component", + name: "rangeselector", + schema: { + subplots: { xaxis: { rangeselector: r(37113) } }, + }, + layoutAttributes: r(37113), + handleDefaults: r(28674), + draw: r(21598), + }; + }, + 75148: function (t, e, r) { + "use strict"; + var n = r(22399); + t.exports = { + bgcolor: { + valType: "color", + dflt: n.background, + editType: "plot", + }, + bordercolor: { + valType: "color", + dflt: n.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: 0.15, + min: 0, + max: 1, + editType: "plot", + }, + visible: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + editType: "calc", + }; + }, + 88443: function (t, e, r) { + "use strict"; + var n = r(41675).list, + i = r(71739).getAutoRange, + a = r(73251); + t.exports = function (t) { + for (var e = n(t, "x", !0), r = 0; r < e.length; r++) { + var o = e[r], + s = o[a.name]; + s && + s.visible && + s.autorange && + ((s._input.autorange = !0), + (s._input.range = s.range = i(t, o))); + } + }; + }, + 73251: function (t) { + "use strict"; + t.exports = { + name: "rangeslider", + containerClassName: "rangeslider-container", + bgClassName: "rangeslider-bg", + rangePlotClassName: "rangeslider-rangeplot", + maskMinClassName: "rangeslider-mask-min", + maskMaxClassName: "rangeslider-mask-max", + slideBoxClassName: "rangeslider-slidebox", + grabberMinClassName: "rangeslider-grabber-min", + grabAreaMinClassName: "rangeslider-grabarea-min", + handleMinClassName: "rangeslider-handle-min", + grabberMaxClassName: "rangeslider-grabber-max", + grabAreaMaxClassName: "rangeslider-grabarea-max", + handleMaxClassName: "rangeslider-handle-max", + 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, + }; + }, + 26377: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(44467), + a = r(41675), + o = r(75148), + s = r(47850); + t.exports = function (t, e, r) { + var l = t[r], + u = e[r]; + if (l.rangeslider || e._requestRangeslider[u._id]) { + n.isPlainObject(l.rangeslider) || + (l.rangeslider = {}); + var c, + f, + h = l.rangeslider, + p = i.newContainer(u, "rangeslider"); + if (_("visible")) { + _("bgcolor", e.plot_bgcolor), + _("bordercolor"), + _("borderwidth"), + _("thickness"), + _("autorange", !u.isValidRange(h.range)), + _("range"); + var d = e._subplots; + if (d) + for ( + var v = d.cartesian + .filter(function (t) { + return ( + t.substr(0, t.indexOf("y")) === + a.name2id(r) + ); + }) + .map(function (t) { + return t.substr(t.indexOf("y"), t.length); + }), + g = n.simpleMap(v, a.id2name), + y = 0; + y < g.length; + y++ + ) { + var m = g[y]; + (c = h[m] || {}), + (f = i.newContainer(p, m, "yaxis")); + var x, + b = e[m]; + c.range && + b.isValidRange(c.range) && + (x = "fixed"), + "match" !== w("rangemode", x) && + w("range", b.range.slice()); + } + p._input = h; + } + } + function _(t, e) { + return n.coerce(h, p, o, t, e); + } + function w(t, e) { + return n.coerce(c, f, s, t, e); + } + }; + }, + 72413: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(74875), + o = r(71828), + s = o.strTranslate, + l = r(91424), + u = r(7901), + c = r(92998), + f = r(93612), + h = r(41675), + p = r(28569), + d = r(6964), + v = r(73251); + function g(t, e, r, n) { + var i = o.ensureSingle( + t, + "rect", + v.bgClassName, + function (t) { + t.attr({ + x: 0, + y: 0, + "shape-rendering": "crispEdges", + }); + }, + ), + a = + n.borderwidth % 2 == 0 + ? n.borderwidth + : n.borderwidth - 1, + c = -n._offsetShift, + f = l.crispRound(e, n.borderwidth); + i.attr({ + width: n._width + a, + height: n._height + a, + transform: s(c, c), + "stroke-width": f, + }) + .call(u.stroke, n.bordercolor) + .call(u.fill, n.bgcolor); + } + function y(t, e, r, n) { + var i = e._fullLayout; + o.ensureSingleById( + i._topdefs, + "clipPath", + n._clipId, + function (t) { + t.append("rect").attr({ x: 0, y: 0 }); + }, + ) + .select("rect") + .attr({ width: n._width, height: n._height }); + } + function m(t, e, r, i) { + var s, + u = e.calcdata, + c = t + .selectAll("g." + v.rangePlotClassName) + .data(r._subplotsWith, o.identity); + c + .enter() + .append("g") + .attr("class", function (t) { + return v.rangePlotClassName + " " + t; + }) + .call(l.setClipUrl, i._clipId, e), + c.order(), + c.exit().remove(), + c.each(function (t, o) { + var l = n.select(this), + c = 0 === o, + p = h.getFromId(e, t, "y"), + d = p._name, + v = i[d], + g = { + data: [], + layout: { + xaxis: { + type: r.type, + domain: [0, 1], + range: i.range.slice(), + calendar: r.calendar, + }, + width: i._width, + height: i._height, + margin: { t: 0, b: 0, l: 0, r: 0 }, + }, + _context: e._context, + }; + r.rangebreaks && + (g.layout.xaxis.rangebreaks = r.rangebreaks), + (g.layout[d] = { + type: p.type, + domain: [0, 1], + range: + "match" !== v.rangemode + ? v.range.slice() + : p.range.slice(), + calendar: p.calendar, + }), + p.rangebreaks && + (g.layout[d].rangebreaks = p.rangebreaks), + a.supplyDefaults(g); + var y = g._fullLayout.xaxis, + m = g._fullLayout[d]; + y.clearCalc(), + y.setScale(), + m.clearCalc(), + m.setScale(); + var x = { + id: t, + plotgroup: l, + xaxis: y, + yaxis: m, + isRangePlot: !0, + }; + c + ? (s = x) + : ((x.mainplot = "xy"), (x.mainplotinfo = s)), + f.rangePlot( + e, + x, + (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; + })(u, t), + ); + }); + } + function x(t, e, r, n, i) { + o + .ensureSingle( + t, + "rect", + v.maskMinClassName, + function (t) { + t.attr({ + x: 0, + y: 0, + "shape-rendering": "crispEdges", + }); + }, + ) + .attr("height", n._height) + .call(u.fill, v.maskColor), + o + .ensureSingle( + t, + "rect", + v.maskMaxClassName, + function (t) { + t.attr({ + y: 0, + "shape-rendering": "crispEdges", + }); + }, + ) + .attr("height", n._height) + .call(u.fill, v.maskColor), + "match" !== i.rangemode && + (o + .ensureSingle( + t, + "rect", + v.maskMinOppAxisClassName, + function (t) { + t.attr({ + y: 0, + "shape-rendering": "crispEdges", + }); + }, + ) + .attr("width", n._width) + .call(u.fill, v.maskOppAxisColor), + o + .ensureSingle( + t, + "rect", + v.maskMaxOppAxisClassName, + function (t) { + t.attr({ + y: 0, + "shape-rendering": "crispEdges", + }); + }, + ) + .attr("width", n._width) + .style("border-top", v.maskOppBorder) + .call(u.fill, v.maskOppAxisColor)); + } + function b(t, e, r, n) { + e._context.staticPlot || + o + .ensureSingle( + t, + "rect", + v.slideBoxClassName, + function (t) { + t.attr({ + y: 0, + cursor: v.slideBoxCursor, + "shape-rendering": "crispEdges", + }); + }, + ) + .attr({ height: n._height, fill: v.slideBoxFill }); + } + function _(t, e, r, n) { + var i = o.ensureSingle(t, "g", v.grabberMinClassName), + a = o.ensureSingle(t, "g", v.grabberMaxClassName), + s = { + x: 0, + width: v.handleWidth, + rx: v.handleRadius, + fill: u.background, + stroke: u.defaultLine, + "stroke-width": v.handleStrokeWidth, + "shape-rendering": "crispEdges", + }, + l = { + y: Math.round(n._height / 4), + height: Math.round(n._height / 2), + }; + o + .ensureSingle( + i, + "rect", + v.handleMinClassName, + function (t) { + t.attr(s); + }, + ) + .attr(l), + o + .ensureSingle( + a, + "rect", + v.handleMaxClassName, + function (t) { + t.attr(s); + }, + ) + .attr(l); + var c = { + width: v.grabAreaWidth, + x: 0, + y: 0, + fill: v.grabAreaFill, + cursor: e._context.staticPlot + ? void 0 + : v.grabAreaCursor, + }; + o + .ensureSingle( + i, + "rect", + v.grabAreaMinClassName, + function (t) { + t.attr(c); + }, + ) + .attr("height", n._height), + o + .ensureSingle( + a, + "rect", + v.grabAreaMaxClassName, + function (t) { + t.attr(c); + }, + ) + .attr("height", n._height); + } + t.exports = function (t) { + for ( + var e = t._fullLayout, r = e._rangeSliderData, a = 0; + a < r.length; + a++ + ) { + var l = r[a][v.name]; + l._clipId = l._id + "-" + e._uid; + } + var u = e._infolayer + .selectAll("g." + v.containerClassName) + .data(r, function (t) { + return t._name; + }); + u + .exit() + .each(function (t) { + var r = t[v.name]; + e._topdefs.select("#" + r._clipId).remove(); + }) + .remove(), + 0 !== r.length && + (u + .enter() + .append("g") + .classed(v.containerClassName, !0) + .attr("pointer-events", "all"), + u.each(function (r) { + var a = n.select(this), + l = r[v.name], + u = e[h.id2name(r.anchor)], + f = l[h.id2name(r.anchor)]; + if (l.range) { + var w, + T = o.simpleMap(l.range, r.r2l), + k = o.simpleMap(r.range, r.r2l); + (w = + k[0] < k[1] + ? [ + Math.min(T[0], k[0]), + Math.max(T[1], k[1]), + ] + : [ + Math.max(T[0], k[0]), + Math.min(T[1], k[1]), + ]), + (l.range = l._input.range = + o.simpleMap(w, r.l2r)); + } + r.cleanRange("rangeslider.range"); + var A = e._size, + M = r.domain; + l._width = A.w * (M[1] - M[0]); + var S = Math.round(A.l + A.w * M[0]), + E = Math.round( + A.t + + A.h * (1 - r._counterDomainMin) + + ("bottom" === r.side ? r._depth : 0) + + l._offsetShift + + v.extraPad, + ); + a.attr("transform", s(S, E)), + (l._rl = o.simpleMap(l.range, r.r2l)); + var L = l._rl[0], + C = l._rl[1], + O = C - L; + if ( + ((l.p2d = function (t) { + return (t / l._width) * O + L; + }), + (l.d2p = function (t) { + return ((t - L) / O) * l._width; + }), + r.rangebreaks) + ) { + var P = r.locateBreaks(L, C); + if (P.length) { + var I, + D, + z = 0; + for (I = 0; I < P.length; I++) + z += (D = P[I]).max - D.min; + var R = l._width / (C - L - z), + F = [-R * L]; + for (I = 0; I < P.length; I++) + (D = P[I]), + F.push( + F[F.length - 1] - R * (D.max - D.min), + ); + for ( + l.d2p = function (t) { + for ( + var e = F[0], r = 0; + r < P.length; + r++ + ) { + var n = P[r]; + if (t >= n.max) e = F[r + 1]; + else if (t < n.min) break; + } + return e + R * t; + }, + I = 0; + I < P.length; + I++ + ) + ((D = P[I]).pmin = l.d2p(D.min)), + (D.pmax = l.d2p(D.max)); + l.p2d = function (t) { + for ( + var e = F[0], r = 0; + r < P.length; + r++ + ) { + var n = P[r]; + if (t >= n.pmax) e = F[r + 1]; + else if (t < n.pmin) break; + } + return (t - e) / R; + }; + } + } + if ("match" !== f.rangemode) { + var B = u.r2l(f.range[0]), + N = u.r2l(f.range[1]) - B; + l.d2pOppAxis = function (t) { + return ((t - B) / N) * l._height; + }; + } + a + .call(g, t, r, l) + .call(y, t, r, l) + .call(m, t, r, l) + .call(x, t, r, l, f) + .call(b, t, r, l) + .call(_, t, r, l), + (function (t, e, r, a) { + if (!e._context.staticPlot) { + var s = t + .select("rect." + v.slideBoxClassName) + .node(), + l = t + .select( + "rect." + v.grabAreaMinClassName, + ) + .node(), + u = t + .select( + "rect." + v.grabAreaMaxClassName, + ) + .node(); + t.on("mousedown", c), t.on("touchstart", c); + } + function c() { + var c = n.event, + f = c.target, + h = c.clientX || c.touches[0].clientX, + v = + h - + t.node().getBoundingClientRect().left, + g = a.d2p(r._rl[0]), + y = a.d2p(r._rl[1]), + m = p.coverSlip(); + function x(t) { + var c, + p, + x, + b = + +(t.clientX || t.touches[0].clientX) - + h; + switch (f) { + case s: + if ( + ((x = "ew-resize"), + g + b > r._length || y + b < 0) + ) + return; + (c = g + b), (p = y + b); + break; + case l: + if ( + ((x = "col-resize"), + g + b > r._length) + ) + return; + (c = g + b), (p = y); + break; + case u: + if (((x = "col-resize"), y + b < 0)) + return; + (c = g), (p = y + b); + break; + default: + (x = "ew-resize"), + (c = v), + (p = v + b); + } + if (p < c) { + var _ = p; + (p = c), (c = _); + } + (a._pixelMin = c), + (a._pixelMax = p), + d(n.select(m), x), + (function (t, e, r, n) { + function a(t) { + return r.l2r( + o.constrain( + t, + n._rl[0], + n._rl[1], + ), + ); + } + var s = a(n.p2d(n._pixelMin)), + l = a(n.p2d(n._pixelMax)); + window.requestAnimationFrame( + function () { + i.call( + "_guiRelayout", + e, + r._name + ".range", + [s, l], + ); + }, + ); + })(0, e, r, a); + } + function b() { + m.removeEventListener("mousemove", x), + m.removeEventListener("mouseup", b), + this.removeEventListener( + "touchmove", + x, + ), + this.removeEventListener("touchend", b), + o.removeElement(m); + } + this.addEventListener("touchmove", x), + this.addEventListener("touchend", b), + m.addEventListener("mousemove", x), + m.addEventListener("mouseup", b); + } + })(a, t, r, l), + (function (t, e, r, n, i, a) { + var l = v.handleWidth / 2; + function u(t) { + return o.constrain(t, 0, n._width); + } + function c(t) { + return o.constrain(t, 0, n._height); + } + function f(t) { + return o.constrain(t, -l, n._width + l); + } + var h = u(n.d2p(r._rl[0])), + p = u(n.d2p(r._rl[1])); + if ( + (t + .select("rect." + v.slideBoxClassName) + .attr("x", h) + .attr("width", p - h), + t + .select("rect." + v.maskMinClassName) + .attr("width", h), + t + .select("rect." + v.maskMaxClassName) + .attr("x", p) + .attr("width", n._width - p), + "match" !== a.rangemode) + ) { + var d = + n._height - c(n.d2pOppAxis(i._rl[1])), + g = n._height - c(n.d2pOppAxis(i._rl[0])); + t + .select( + "rect." + v.maskMinOppAxisClassName, + ) + .attr("x", h) + .attr("height", d) + .attr("width", p - h), + t + .select( + "rect." + v.maskMaxOppAxisClassName, + ) + .attr("x", h) + .attr("y", g) + .attr("height", n._height - g) + .attr("width", p - h), + t + .select("rect." + v.slideBoxClassName) + .attr("y", d) + .attr("height", g - d); + } + var y = 0.5, + m = Math.round(f(h - l)) - y, + x = Math.round(f(p - l)) + y; + t + .select("g." + v.grabberMinClassName) + .attr("transform", s(m, y)), + t + .select("g." + v.grabberMaxClassName) + .attr("transform", s(x, y)); + })(a, 0, r, l, u, f), + "bottom" === r.side && + c.draw(t, r._id + "title", { + propContainer: r, + propName: r._name + ".title", + placeholder: e._dfltTitle.x, + attributes: { + x: r._offset + r._length / 2, + y: + E + + l._height + + l._offsetShift + + 10 + + 1.5 * r.title.font.size, + "text-anchor": "middle", + }, + }); + })); + }; + }, + 549: function (t, e, r) { + "use strict"; + var n = r(41675), + i = r(63893), + a = r(73251), + o = r(18783).LINE_SPACING, + s = a.name; + function l(t) { + var e = t && t[s]; + return e && e.visible; + } + (e.isVisible = l), + (e.makeData = function (t) { + var e = n.list({ _fullLayout: t }, "x", !0), + r = t.margin, + i = []; + if (!t._has("gl2d")) + for (var a = 0; a < e.length; a++) { + var o = e[a]; + if (l(o)) { + i.push(o); + var u = o[s]; + (u._id = s + o._id), + (u._height = + (t.height - r.b - r.t) * u.thickness), + (u._offsetShift = Math.floor( + u.borderwidth / 2, + )); + } + } + t._rangeSliderData = i; + }), + (e.autoMarginOpts = function (t, e) { + var r = t._fullLayout, + n = e[s], + l = e._id.charAt(0), + u = 0, + c = 0; + return ( + "bottom" === e.side && + ((u = e._depth), + e.title.text !== r._dfltTitle[l] && + ((c = + 1.5 * e.title.font.size + + 10 + + n._offsetShift), + (c += + (e.title.text.match(i.BR_TAG_ALL) || []) + .length * + e.title.font.size * + o))), + { + x: 0, + y: e._counterDomainMin, + l: 0, + r: 0, + t: 0, + b: n._height + u + Math.max(r.margin.b, c), + pad: a.extraPad + 2 * n._offsetShift, + } + ); + }); + }, + 13137: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(75148), + a = r(47850), + o = r(549); + t.exports = { + moduleType: "component", + name: "rangeslider", + schema: { + subplots: { + xaxis: { + rangeslider: n.extendFlat({}, i, { yaxis: a }), + }, + }, + }, + layoutAttributes: r(75148), + handleDefaults: r(26377), + calcAutorange: r(88443), + draw: r(72413), + isVisible: o.isVisible, + makeData: o.makeData, + autoMarginOpts: o.autoMarginOpts, + }; + }, + 47850: function (t) { + "use strict"; + t.exports = { + _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", + }; + }, + 8389: function (t, e, r) { + "use strict"; + var n = r(50215), + i = r(82196).line, + a = r(79952).P, + o = r(1426).extendFlat, + s = r(30962).overrideAll, + l = r(44467).templatedArray; + r(24695), + (t.exports = s( + l("selection", { + type: { + valType: "enumerated", + values: ["rect", "path"], + }, + xref: o({}, n.xref, {}), + yref: o({}, n.yref, {}), + x0: { valType: "any" }, + x1: { valType: "any" }, + y0: { valType: "any" }, + y1: { valType: "any" }, + path: { valType: "string", editType: "arraydraw" }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: 0.7, + editType: "arraydraw", + }, + line: { + color: i.color, + width: o({}, i.width, { min: 1, dflt: 1 }), + dash: o({}, a, { dflt: "dot" }), + }, + }), + "arraydraw", + "from-root", + )); + }, + 34122: function (t) { + "use strict"; + t.exports = { + BENDPX: 1.5, + MINSELECT: 12, + SELECTDELAY: 100, + SELECTID: "-select", + }; + }, + 59402: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(85501), + o = r(8389), + s = r(30477); + function l(t, e, r) { + function a(r, i) { + return n.coerce(t, e, o, r, i); + } + var l = a("path"), + u = "path" !== a("type", l ? "path" : "rect"); + u && delete e.path, + a("opacity"), + a("line.color"), + a("line.width"), + a("line.dash"); + for (var c = ["x", "y"], f = 0; f < 2; f++) { + var h, + p, + d, + v = c[f], + g = { _fullLayout: r }, + y = i.coerceRef(t, e, g, v); + if ( + ((h = i.getFromId(g, y))._selectionIndices.push( + e._index, + ), + (d = s.rangeToShapePosition(h)), + (p = s.shapePositionToRange(h)), + u) + ) { + var m = v + "0", + x = v + "1", + b = t[m], + _ = t[x]; + (t[m] = p(t[m], !0)), + (t[x] = p(t[x], !0)), + i.coercePosition(e, g, a, y, m), + i.coercePosition(e, g, a, y, x); + var w = e[m], + T = e[x]; + void 0 !== w && + void 0 !== T && + ((e[m] = d(w)), + (e[x] = d(T)), + (t[m] = b), + (t[x] = _)); + } + } + u && n.noneOrAll(t, e, ["x0", "x1", "y0", "y1"]); + } + t.exports = function (t, e) { + a(t, e, { name: "selections", handleItemDefaults: l }); + for (var r = e.selections, n = 0; n < r.length; n++) { + var i = r[n]; + i && + void 0 === i.path && + ((void 0 !== i.x0 && + void 0 !== i.x1 && + void 0 !== i.y0 && + void 0 !== i.y1) || + (e.selections[n] = null)); + } + }; + }, + 32485: function (t, e, r) { + "use strict"; + var n = r(60165).readPaths, + i = r(42359), + a = r(51873).clearOutlineControllers, + o = r(7901), + s = r(91424), + l = r(44467).arrayEditor, + u = r(30477), + c = u.getPathString; + function f(t) { + var e = t._fullLayout; + for (var r in (a(t), + e._selectionLayer.selectAll("path").remove(), + e._plots)) { + var n = e._plots[r].selectionLayer; + n && n.selectAll("path").remove(); + } + for (var i = 0; i < e.selections.length; i++) p(t, i); + } + function h(t) { + return t._context.editSelection; + } + function p(t, e) { + t._fullLayout._paperdiv + .selectAll('.selectionlayer [data-index="' + e + '"]') + .remove(); + var r = u.makeSelectionsOptionsAndPlotinfo(t, e), + a = r.options, + p = r.plotinfo; + a._input && + (function (r) { + var u = c(t, a), + g = { + "data-index": e, + "fill-rule": "evenodd", + d: u, + }, + y = a.opacity, + m = "rgba(0,0,0,0)", + x = + a.line.color || + o.contrast(t._fullLayout.plot_bgcolor), + b = a.line.width, + _ = a.line.dash; + b || ((b = 5), (_ = "solid")); + var w = + h(t) && t._fullLayout._activeSelectionIndex === e; + w && + ((m = t._fullLayout.activeselection.fillcolor), + (y = t._fullLayout.activeselection.opacity)); + for (var T = [], k = 1; k >= 0; k--) { + var A = r + .append("path") + .attr(g) + .style("opacity", k ? 0.1 : y) + .call(o.stroke, x) + .call(o.fill, m) + .call( + s.dashLine, + k ? "solid" : _, + k ? 4 + b : b, + ); + if ((d(A, t, a), w)) { + var M = l(t.layout, "selections", a); + A.style({ cursor: "move" }); + var S = { + element: A.node(), + plotinfo: p, + gd: t, + editHelpers: M, + isActiveSelection: !0, + }, + E = n(u, t); + i(E, A, S); + } else + A.style("pointer-events", k ? "all" : "none"); + T[k] = A; + } + var L = T[0]; + T[1].node().addEventListener("click", function () { + return (function (t, e) { + if (h(t)) { + var r = +e.node().getAttribute("data-index"); + if (r >= 0) { + if ( + r === t._fullLayout._activeSelectionIndex + ) + return void v(t); + (t._fullLayout._activeSelectionIndex = r), + (t._fullLayout._deactivateSelection = v), + f(t); + } + } + })(t, L); + }); + })(t._fullLayout._selectionLayer); + } + function d(t, e, r) { + var n = r.xref + r.yref; + s.setClipUrl(t, "clip" + e._fullLayout._uid + n, e); + } + function v(t) { + h(t) && + t._fullLayout._activeSelectionIndex >= 0 && + (a(t), + delete t._fullLayout._activeSelectionIndex, + f(t)); + } + t.exports = { + draw: f, + drawOne: p, + activateLastSelection: function (t) { + if (h(t)) { + var e = t._fullLayout.selections.length - 1; + (t._fullLayout._activeSelectionIndex = e), + (t._fullLayout._deactivateSelection = v), + f(t); + } + }, + }; + }, + 53777: function (t, e, r) { + "use strict"; + var n = r(79952).P, + i = r(1426).extendFlat; + t.exports = { + newselection: { + mode: { + valType: "enumerated", + values: ["immediate", "gradual"], + dflt: "immediate", + editType: "none", + }, + line: { + color: { valType: "color", editType: "none" }, + width: { + valType: "number", + min: 1, + dflt: 1, + editType: "none", + }, + dash: i({}, n, { dflt: "dot", editType: "none" }), + editType: "none", + }, + editType: "none", + }, + activeselection: { + fillcolor: { + valType: "color", + dflt: "rgba(0,0,0,0)", + editType: "none", + }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: 0.5, + editType: "none", + }, + editType: "none", + }, + }; + }, + 90849: function (t) { + "use strict"; + t.exports = function (t, e, r) { + r("newselection.mode"), + r("newselection.line.width") && + (r("newselection.line.color"), + r("newselection.line.dash")), + r("activeselection.fillcolor"), + r("activeselection.opacity"); + }; + }, + 35855: function (t, e, r) { + "use strict"; + var n = r(64505).selectMode, + i = r(51873).clearOutline, + a = r(60165), + o = a.readPaths, + s = a.writePaths, + l = a.fixDatesForPaths; + t.exports = function (t, e) { + if (t.length) { + var r = t[0][0]; + if (r) { + var a = r.getAttribute("d"), + u = e.gd, + c = u._fullLayout.newselection, + f = e.plotinfo, + h = f.xaxis, + p = f.yaxis, + d = e.isActiveSelection, + v = e.dragmode, + g = (u.layout || {}).selections || []; + if (!n(v) && void 0 !== d) { + var y = u._fullLayout._activeSelectionIndex; + if (y < g.length) + switch (u._fullLayout.selections[y].type) { + case "rect": + v = "select"; + break; + case "path": + v = "lasso"; + } + } + var m, + x = o(a, u, f, d), + b = { + xref: h._id, + yref: p._id, + opacity: c.opacity, + line: { + color: c.line.color, + width: c.line.width, + dash: c.line.dash, + }, + }; + 1 === x.length && (m = x[0]), + m && 5 === m.length && "select" === v + ? ((b.type = "rect"), + (b.x0 = m[0][1]), + (b.y0 = m[0][2]), + (b.x1 = m[2][1]), + (b.y1 = m[2][2])) + : ((b.type = "path"), + h && p && l(x, h, p), + (b.path = s(x)), + (m = null)), + i(u); + for ( + var _ = e.editHelpers, + w = (_ || {}).modifyItem, + T = [], + k = 0; + k < g.length; + k++ + ) { + var A = u._fullLayout.selections[k]; + if (A) { + if ( + ((T[k] = A._input), + void 0 !== d && + k === u._fullLayout._activeSelectionIndex) + ) { + var M = b; + switch (A.type) { + case "rect": + w("x0", M.x0), + w("x1", M.x1), + w("y0", M.y0), + w("y1", M.y1); + break; + case "path": + w("path", M.path); + } + } + } else T[k] = A; + } + return void 0 === d + ? (T.push(b), T) + : _ + ? _.getUpdateObj() + : {}; + } + } + }; + }, + 75549: function (t, e, r) { + "use strict"; + var n = r(71828).strTranslate; + function i(t, e) { + switch (t.type) { + case "log": + return t.p2d(e); + case "date": + return t.p2r(e, 0, t.calendar); + default: + return t.p2r(e); + } + } + t.exports = { + p2r: i, + r2p: function (t, e) { + switch (t.type) { + case "log": + return t.d2p(e); + case "date": + return t.r2p(e, 0, t.calendar); + default: + return t.r2p(e); + } + }, + axValue: function (t) { + var e = "y" === t._id.charAt(0) ? 1 : 0; + return function (r) { + return i(t, r[e]); + }; + }, + getTransform: function (t) { + return n(t.xaxis._offset, t.yaxis._offset); + }, + }; + }, + 47322: function (t, e, r) { + "use strict"; + var n = r(32485), + i = r(3937); + t.exports = { + moduleType: "component", + name: "selections", + layoutAttributes: r(8389), + supplyLayoutDefaults: r(59402), + supplyDrawNewSelectionDefaults: r(90849), + includeBasePlot: r(76325)("selections"), + draw: n.draw, + drawOne: n.drawOne, + reselect: i.reselect, + prepSelect: i.prepSelect, + clearOutline: i.clearOutline, + clearSelectionsCache: i.clearSelectionsCache, + selectOnClick: i.selectOnClick, + }; + }, + 3937: function (t, e, r) { + "use strict"; + var n = r(52142), + i = r(38258), + a = r(73972), + o = r(91424).dashStyle, + s = r(7901), + l = r(30211), + u = r(23469).makeEventData, + c = r(64505), + f = c.freeMode, + h = c.rectMode, + p = c.drawMode, + d = c.openMode, + v = c.selectMode, + g = r(30477), + y = r(21459), + m = r(42359), + x = r(51873).clearOutline, + b = r(60165), + _ = b.handleEllipse, + w = b.readPaths, + T = r(90551).newShapes, + k = r(35855), + A = r(32485).activateLastSelection, + M = r(71828), + S = M.sorterAsc, + E = r(61082), + L = r(79990), + C = r(41675).getFromId, + O = r(33306), + P = r(61549).redrawReglTraces, + I = r(34122), + D = I.MINSELECT, + z = E.filter, + R = E.tester, + F = r(75549), + B = F.p2r, + N = F.axValue, + j = F.getTransform; + function U(t) { + return void 0 !== t.subplot; + } + function V(t, e, r, n, i, a, o) { + var s, + l, + u, + c, + f, + h, + p, + v, + g, + y = e._hoverdata, + x = e._fullLayout.clickmode.indexOf("event") > -1, + b = []; + if ( + (function (t) { + return ( + t && Array.isArray(t) && !0 !== t[0].hoverOnBox + ); + })(y) + ) { + Z(t, e, a); + var _ = (function (t, e) { + var r, + n, + i = t[0], + a = -1, + o = []; + for (n = 0; n < e.length; n++) + if ( + ((r = e[n]), + i.fullData._expandedIndex === + r.cd[0].trace._expandedIndex) + ) { + if (!0 === i.hoverOnBox) break; + void 0 !== i.pointNumber + ? (a = i.pointNumber) + : void 0 !== i.binNumber && + ((a = i.binNumber), (o = i.pointNumbers)); + break; + } + return { + pointNumber: a, + pointNumbers: o, + searchInfo: r, + }; + })(y, (s = X(e, r, n, i))); + if ( + _.pointNumbers.length > 0 + ? (function (t, e) { + var r, + n, + i, + a = []; + for (i = 0; i < t.length; i++) + (r = t[i]).cd[0].trace.selectedpoints && + r.cd[0].trace.selectedpoints.length > 0 && + a.push(r); + if ( + 1 === a.length && + a[0] === e.searchInfo && + (n = e.searchInfo.cd[0].trace) + .selectedpoints.length === + e.pointNumbers.length + ) { + for (i = 0; i < e.pointNumbers.length; i++) + if ( + n.selectedpoints.indexOf( + e.pointNumbers[i], + ) < 0 + ) + return !1; + return !0; + } + return !1; + })(s, _) + : (function (t) { + var e, + r, + n = 0; + for (r = 0; r < t.length; r++) + if ((e = t[r].cd[0].trace).selectedpoints) { + if (e.selectedpoints.length > 1) + return !1; + if ((n += e.selectedpoints.length) > 1) + return !1; + } + return 1 === n; + })(s) && (h = K(_)) + ) { + for (o && o.remove(), g = 0; g < s.length; g++) + (l = s[g])._module.selectPoints(l, !1); + $(e, s), W(a), x && ht(e); + } else { + for ( + p = t.shiftKey && (void 0 !== h ? h : K(_)), + u = (function (t, e, r) { + return { + pointNumber: t, + searchInfo: e, + subtract: !!r, + }; + })(_.pointNumber, _.searchInfo, p), + c = G(a.selectionDefs.concat([u])), + g = 0; + g < s.length; + g++ + ) + if ( + ((f = tt( + s[g]._module.selectPoints(s[g], c), + s[g], + )), + b.length) + ) + for (var w = 0; w < f.length; w++) b.push(f[w]); + else b = f; + if ( + ($(e, s, (v = { points: b })), + u && a && a.selectionDefs.push(u), + o) + ) { + var T = a.mergedPolygons, + k = d(a.dragmode); + m(et(T, k), o, a); + } + x && ft(e, v); + } + } + } + function H(t) { + return "pointNumber" in t && "searchInfo" in t; + } + function q(t) { + return { + xmin: 0, + xmax: 0, + ymin: 0, + ymax: 0, + pts: [], + contains: function (e, r, n, i) { + var a = t.searchInfo.cd[0].trace._expandedIndex; + return ( + i.cd[0].trace._expandedIndex === a && + n === t.pointNumber + ); + }, + isRect: !1, + degenerate: !1, + subtract: !!t.subtract, + }; + } + function G(t) { + if (t.length) { + for ( + var e = [], + r = H(t[0]) ? 0 : t[0][0][0], + n = r, + i = H(t[0]) ? 0 : t[0][0][1], + a = i, + o = 0; + o < t.length; + o++ + ) + if (H(t[o])) e.push(q(t[o])); + else { + var s = R(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, n, i) { + for (var a = !1, o = 0; o < e.length; o++) + e[o].contains(t, r, n, i) && + (a = !e[o].subtract); + return a; + }, + isRect: !1, + degenerate: !1, + }; + } + } + function Z(t, e, r) { + var n = e._fullLayout, + i = r.plotinfo, + a = r.dragmode, + o = + n._lastSelectedSubplot && + n._lastSelectedSubplot === i.id, + s = (t.shiftKey || t.altKey) && !(p(a) && d(a)); + o && + s && + i.selection && + i.selection.selectionDefs && + !r.selectionDefs + ? ((r.selectionDefs = i.selection.selectionDefs), + (r.mergedPolygons = i.selection.mergedPolygons)) + : (s && i.selection) || W(r), + o || (x(e), (n._lastSelectedSubplot = i.id)); + } + function W(t, e) { + var r = t.dragmode, + n = t.plotinfo, + i = t.gd; + (function (t) { + return t._fullLayout._activeShapeIndex >= 0; + })(i) && i._fullLayout._deactivateShape(i), + (function (t) { + return t._fullLayout._activeSelectionIndex >= 0; + })(i) && i._fullLayout._deactivateSelection(i); + var o = i._fullLayout._zoomlayer, + s = p(r), + l = v(r); + if (s || l) { + var u, + c, + f = o.selectAll(".select-outline-" + n.id); + f && + i._fullLayout._outlining && + (s && (u = T(f, t)), + u && a.call("_guiRelayout", i, { shapes: u }), + l && !U(t) && (c = k(f, t)), + c && + ((i._fullLayout._noEmitSelectedAtStart = !0), + a + .call("_guiRelayout", i, { selections: c }) + .then(function () { + e && A(i); + })), + (i._fullLayout._outlining = !1)); + } + (n.selection = {}), + (n.selection.selectionDefs = t.selectionDefs = []), + (n.selection.mergedPolygons = t.mergedPolygons = []); + } + function Y(t) { + return t._id; + } + function X(t, e, r, n) { + if (!t.calcdata) return []; + var i, + a, + o, + s = [], + l = e.map(Y), + u = r.map(Y); + for (o = 0; o < t.calcdata.length; o++) + if ( + !0 === (a = (i = t.calcdata[o])[0].trace).visible && + a._module && + a._module.selectPoints + ) + if ( + !U({ subplot: n }) || + (a.subplot !== n && a.geo !== n) + ) + if ("splom" === a.type) { + if (a._xaxes[l[0]] && a._yaxes[u[0]]) { + var c = J(a._module, i, e[0], r[0]); + (c.scene = t._fullLayout._splomScenes[a.uid]), + s.push(c); + } + } else if ("sankey" === a.type) { + var f = J(a._module, i, e[0], r[0]); + s.push(f); + } else { + if (-1 === l.indexOf(a.xaxis)) continue; + if (-1 === u.indexOf(a.yaxis)) continue; + s.push( + J(a._module, i, C(t, a.xaxis), C(t, a.yaxis)), + ); + } + else s.push(J(a._module, i, e[0], r[0])); + return s; + } + function J(t, e, r, n) { + return { _module: t, cd: e, xaxis: r, yaxis: n }; + } + function K(t) { + var e = t.searchInfo.cd[0].trace, + r = t.pointNumber, + n = t.pointNumbers, + i = n.length > 0 ? n[0] : r; + return ( + !!e.selectedpoints && e.selectedpoints.indexOf(i) > -1 + ); + } + function $(t, e, r) { + var n, i; + for (n = 0; n < e.length; n++) { + var o = e[n].cd[0].trace._fullInput, + s = t._fullLayout._tracePreGUI[o.uid] || {}; + void 0 === s.selectedpoints && + (s.selectedpoints = + o._input.selectedpoints || null); + } + if (r) { + var l = r.points || []; + for (n = 0; n < e.length; n++) + ((i = e[n].cd[0].trace)._input.selectedpoints = + i._fullInput.selectedpoints = + []), + i._fullInput !== i && (i.selectedpoints = []); + for (var u = 0; u < l.length; u++) { + var c = l[u], + f = c.data, + h = c.fullData, + p = c.pointIndex, + d = c.pointIndices; + d + ? ([].push.apply(f.selectedpoints, d), + i._fullInput !== i && + [].push.apply(h.selectedpoints, d)) + : (f.selectedpoints.push(p), + i._fullInput !== i && h.selectedpoints.push(p)); + } + } else + for (n = 0; n < e.length; n++) + delete (i = e[n].cd[0].trace).selectedpoints, + delete i._input.selectedpoints, + i._fullInput !== i && + delete i._fullInput.selectedpoints; + !(function (t, e) { + for (var r = !1, n = 0; n < e.length; n++) { + var i = e[n], + o = i.cd; + a.traceIs(o[0].trace, "regl") && (r = !0); + var s = i._module, + l = s.styleOnSelect || s.style; + l && + (l(t, o, o[0].node3), + o[0].nodeRangePlot3 && + l(t, o, o[0].nodeRangePlot3)); + } + r && (O(t), P(t)); + })(t, e); + } + function Q(t, e, r) { + for ( + var i = (r ? n.difference : n.union)( + { regions: t }, + { regions: [e] }, + ).regions.reverse(), + a = 0; + a < i.length; + a++ + ) { + var o = i[a]; + o.subtract = st(o, i.slice(0, a)); + } + return i; + } + function tt(t, e) { + if (Array.isArray(t)) + for ( + var r = e.cd, n = e.cd[0].trace, i = 0; + i < t.length; + i++ + ) + t[i] = u(t[i], n, r); + return t; + } + function et(t, e) { + for (var r = [], n = 0; n < t.length; n++) { + r[n] = []; + for (var i = 0; i < t[n].length; i++) { + (r[n][i] = []), (r[n][i][0] = i ? "L" : "M"); + for (var a = 0; a < t[n][i].length; a++) + r[n][i].push(t[n][i][a]); + } + e || r[n].push(["Z", r[n][0][1], r[n][0][2]]); + } + return r; + } + function rt(t, e) { + for ( + var r, n, i = [], a = [], o = 0; + o < e.length; + o++ + ) { + var s = e[o]; + (n = s._module.selectPoints(s, t)), + a.push(n), + (r = tt(n, s)), + (i = i.concat(r)); + } + return i; + } + function nt(t, e, r, n, i) { + var a, + o, + s, + l = !!n; + i && + ((a = i.plotinfo), + (o = i.xaxes[0]._id), + (s = i.yaxes[0]._id)); + var u = [], + c = [], + f = ot(t), + h = t._fullLayout; + if (a) { + var d = h._zoomlayer, + g = h.dragmode, + y = p(g), + m = v(g); + if (y || m) { + var x = C(t, o, "x"), + b = C(t, s, "y"); + if (x && b) { + var _ = d.selectAll(".select-outline-" + a.id); + if (_ && t._fullLayout._outlining && _.length) { + for ( + var T = _[0][0].getAttribute("d"), + k = w(T, t, a), + A = [], + M = 0; + M < k.length; + M++ + ) { + for ( + var S = k[M], E = [], L = 0; + L < S.length; + L++ + ) + E.push([lt(x, S[L][1]), lt(b, S[L][2])]); + (E.xref = o), + (E.yref = s), + (E.subtract = st(E, A)), + A.push(E); + } + f = f.concat(A); + } + } + } + } + var O = o && s ? [o + s] : h._subplots.cartesian; + !(function (t) { + var e = t.calcdata; + if (e) + for (var r = 0; r < e.length; r++) { + var n = e[r][0].trace, + i = t._fullLayout._splomScenes; + if (i) { + var a = i[n.uid]; + a && (a.selectBatch = []); + } + } + })(t); + for (var P = {}, I = 0; I < O.length; I++) { + var D = O[I], + z = D.indexOf("y"), + R = D.slice(0, z), + F = D.slice(z), + B = o && s ? r : void 0; + if ((B = at(f, R, F, B))) { + var N = n; + if (!l) { + var j = C(t, R, "x"), + U = C(t, F, "y"); + N = X(t, [j], [U], D); + for (var V = 0; V < N.length; V++) { + var H = N[V], + q = H.cd[0], + G = q.trace; + if ( + "scattergl" === H._module.name && + !q.t.xpx + ) { + var Z = G.x, + W = G.y, + Y = G._length; + (q.t.xpx = []), (q.t.ypx = []); + for (var J = 0; J < Y; J++) + (q.t.xpx[J] = j.c2p(Z[J])), + (q.t.ypx[J] = U.c2p(W[J])); + } + "splom" === H._module.name && + (P[G.uid] || (P[G.uid] = !0)); + } + } + var K = rt(B, N); + (u = u.concat(K)), (c = c.concat(N)); + } + } + var Q = { points: u }; + $(t, c, Q); + var tt = h.clickmode.indexOf("event") > -1 && e; + if (!a && e) { + var et = ot(t, !0); + if (et.length) { + var nt = et[0].xref, + pt = et[0].yref; + if (nt && pt) { + var dt = ut(et); + ct([C(t, nt, "x"), C(t, pt, "y")])(Q, dt); + } + } + t._fullLayout._noEmitSelectedAtStart + ? (t._fullLayout._noEmitSelectedAtStart = !1) + : tt && ft(t, Q), + (h._reselect = !1); + } + if (!a && h._deselect) { + var vt = h._deselect; + (function (t, e, r) { + for (var n = 0; n < r.length; n++) { + var i = r[n]; + if ( + i.xaxis && + i.xaxis._id === t && + i.yaxis && + i.yaxis._id === e + ) + return !0; + } + return !1; + })((o = vt.xref), (s = vt.yref), c) || it(t, o, s, n), + tt && (Q.points.length ? ft(t, Q) : ht(t)), + (h._deselect = !1); + } + return { eventData: Q, selectionTesters: r }; + } + function it(t, e, r, n) { + n = X(t, [C(t, e, "x")], [C(t, r, "y")], e + r); + for (var i = 0; i < n.length; i++) { + var a = n[i]; + a._module.selectPoints(a, !1); + } + $(t, n); + } + function at(t, e, r, n) { + for (var i, a = 0; a < t.length; a++) { + var o = t[a]; + e === o.xref && + r === o.yref && + (i + ? (n = G((i = Q(i, o, !!o.subtract)))) + : ((i = [o]), (n = R(o)))); + } + return n; + } + function ot(t, e) { + for ( + var r = [], + n = t._fullLayout, + i = n.selections, + a = i.length, + o = 0; + o < a; + o++ + ) + if (!e || o === n._activeSelectionIndex) { + var s = i[o]; + if (s) { + var l, + u, + c, + f, + h, + p = s.xref, + d = s.yref, + v = C(t, p, "x"), + m = C(t, d, "y"); + if ("rect" === s.type) { + h = []; + var x = lt(v, s.x0), + b = lt(v, s.x1), + _ = lt(m, s.y0), + w = lt(m, s.y1); + (h = [ + [x, _], + [x, w], + [b, w], + [b, _], + ]), + (l = Math.min(x, b)), + (u = Math.max(x, b)), + (c = Math.min(_, w)), + (f = Math.max(_, w)), + (h.xmin = l), + (h.xmax = u), + (h.ymin = c), + (h.ymax = f), + (h.xref = p), + (h.yref = d), + (h.subtract = !1), + (h.isRect = !0), + r.push(h); + } else if ("path" === s.type) + for ( + var T = s.path.split("Z"), k = [], A = 0; + A < T.length; + A++ + ) { + var M = T[A]; + if (M) { + M += "Z"; + var S = g.extractPathCoords( + M, + y.paramIsX, + "raw", + ), + E = g.extractPathCoords( + M, + y.paramIsY, + "raw", + ); + (l = 1 / 0), + (u = -1 / 0), + (c = 1 / 0), + (f = -1 / 0), + (h = []); + for (var L = 0; L < S.length; L++) { + var O = lt(v, S[L]), + P = lt(m, E[L]); + h.push([O, P]), + (l = Math.min(O, l)), + (u = Math.max(O, u)), + (c = Math.min(P, c)), + (f = Math.max(P, f)); + } + (h.xmin = l), + (h.xmax = u), + (h.ymin = c), + (h.ymax = f), + (h.xref = p), + (h.yref = d), + (h.subtract = st(h, k)), + k.push(h), + r.push(h); + } + } + } + } + return r; + } + function st(t, e) { + for (var r = !1, n = 0; n < e.length; n++) + for (var a = e[n], o = 0; o < t.length; o++) + if (i(t[o], a)) { + r = !r; + break; + } + return r; + } + function lt(t, e) { + return ( + "date" === t.type && (e = e.replace("_", " ")), + "log" === t.type + ? t.c2p(e) + : t.r2p(e, null, t.calendar) + ); + } + function ut(t) { + for (var e = t.length, r = [], n = 0; n < e; n++) { + var i = t[n]; + r = (r = r.concat(i)).concat([i[0]]); + } + return ( + ((a = r).isRect = + (5 === a.length && + a[0][0] === a[4][0] && + a[0][1] === a[4][1] && + a[0][0] === a[1][0] && + a[2][0] === a[3][0] && + a[0][1] === a[3][1] && + a[1][1] === a[2][1]) || + (a[0][1] === a[1][1] && + a[2][1] === a[3][1] && + a[0][0] === a[3][0] && + a[1][0] === a[2][0])), + a.isRect && + ((a.xmin = Math.min(a[0][0], a[2][0])), + (a.xmax = Math.max(a[0][0], a[2][0])), + (a.ymin = Math.min(a[0][1], a[2][1])), + (a.ymax = Math.max(a[0][1], a[2][1]))), + a + ); + var a; + } + function ct(t) { + return function (e, r) { + for (var n, i, a = 0; a < t.length; a++) { + var o = t[a], + s = o._id, + l = s.charAt(0); + if (r.isRect) { + n || (n = {}); + var u = r[l + "min"], + c = r[l + "max"]; + void 0 !== u && + void 0 !== c && + (n[s] = [B(o, u), B(o, c)].sort(S)); + } else i || (i = {}), (i[s] = r.map(N(o))); + } + n && (e.range = n), i && (e.lassoPoints = i); + }; + } + function ft(t, e) { + e && (e.selections = (t.layout || {}).selections || []), + t.emit("plotly_selected", e); + } + function ht(t) { + t.emit("plotly_deselect", null); + } + t.exports = { + reselect: nt, + prepSelect: function (t, e, r, n, i) { + var u = !U(n), + c = f(i), + g = h(i), + y = d(i), + x = p(i), + b = v(i), + w = "drawcircle" === i, + T = "drawline" === i || w, + k = n.gd, + A = k._fullLayout, + S = b && "immediate" === A.newselection.mode && u, + E = A._zoomlayer, + C = n.element.getBoundingClientRect(), + O = n.plotinfo, + P = j(O), + F = e - C.left, + B = r - C.top; + A._calcInverseTransform(k); + var N = M.apply3DTransform(A._invTransform)(F, B); + (F = N[0]), (B = N[1]); + var H, + q, + Y, + J, + K, + tt, + at, + ot = A._invScaleX, + st = A._invScaleY, + lt = F, + pt = B, + dt = "M" + F + "," + B, + vt = n.xaxes[0], + gt = n.yaxes[0], + yt = vt._length, + mt = gt._length, + xt = t.altKey && !(p(i) && y); + Z(t, k, n), c && (H = z([[F, B]], I.BENDPX)); + var bt = E.selectAll( + "path.select-outline-" + O.id, + ).data([1]), + _t = x ? A.newshape : A.newselection; + x && + (n.hasText = + _t.label.text || _t.label.texttemplate); + var wt = x && !y ? _t.fillcolor : "rgba(0,0,0,0)", + Tt = + _t.line.color || + (u + ? s.contrast(k._fullLayout.plot_bgcolor) + : "#7f7f7f"); + bt.enter() + .append("path") + .attr( + "class", + "select-outline select-outline-" + O.id, + ) + .style({ + opacity: x ? _t.opacity / 2 : 1, + "stroke-dasharray": o( + _t.line.dash, + _t.line.width, + ), + "stroke-width": _t.line.width + "px", + "shape-rendering": "crispEdges", + }) + .call(s.stroke, Tt) + .call(s.fill, wt) + .attr("fill-rule", "evenodd") + .classed("cursor-move", !!x) + .attr("transform", P) + .attr("d", dt + "Z"); + var kt = E.append("path") + .attr("class", "zoombox-corners") + .style({ + fill: s.background, + stroke: s.defaultLine, + "stroke-width": 1, + }) + .attr("transform", P) + .attr("d", "M0,0Z"); + if (x && n.hasText) { + var At = E.select(".label-temp"); + At.empty() && + (At = E.append("g") + .classed("label-temp", !0) + .classed("select-outline", !0) + .style({ opacity: 0.8 })); + } + var Mt = A._uid + I.SELECTID, + St = [], + Et = X(k, n.xaxes, n.yaxes, n.subplot); + S && + !t.shiftKey && + (n._clearSubplotSelections = function () { + if (u) { + var t = vt._id, + e = gt._id; + it(k, t, e, Et); + for ( + var r = (k.layout || {}).selections || [], + n = [], + i = !1, + o = 0; + o < r.length; + o++ + ) { + var s = A.selections[o]; + s.xref !== t || s.yref !== e + ? n.push(r[o]) + : (i = !0); + } + i && + ((k._fullLayout._noEmitSelectedAtStart = !0), + a.call("_guiRelayout", k, { selections: n })); + } + }); + var Lt = (function (t) { + return ( + t.plotinfo.fillRangeItems || + ct(t.xaxes.concat(t.yaxes)) + ); + })(n); + (n.moveFn = function (t, e) { + n._clearSubplotSelections && + (n._clearSubplotSelections(), + (n._clearSubplotSelections = void 0)), + (lt = Math.max(0, Math.min(yt, ot * t + F))), + (pt = Math.max(0, Math.min(mt, st * e + B))); + var r = Math.abs(lt - F), + i = Math.abs(pt - B); + if (g) { + var a, o, s; + if (b) { + var l = A.selectdirection; + switch ( + (a = + "any" === l + ? i < Math.min(0.6 * r, D) + ? "h" + : r < Math.min(0.6 * i, D) + ? "v" + : "d" + : l) + ) { + case "h": + (o = w ? mt / 2 : 0), (s = mt); + break; + case "v": + (o = w ? yt / 2 : 0), (s = yt); + } + } + if (x) + switch (A.newshape.drawdirection) { + case "vertical": + (a = "h"), (o = w ? mt / 2 : 0), (s = mt); + break; + case "horizontal": + (a = "v"), (o = w ? yt / 2 : 0), (s = yt); + break; + case "ortho": + r < i + ? ((a = "h"), (o = B), (s = pt)) + : ((a = "v"), (o = F), (s = lt)); + break; + default: + a = "d"; + } + "h" === a + ? (((J = T + ? _(w, [lt, o], [lt, s]) + : [ + [F, o], + [F, s], + [lt, s], + [lt, o], + ]).xmin = T ? lt : Math.min(F, lt)), + (J.xmax = T ? lt : Math.max(F, lt)), + (J.ymin = Math.min(o, s)), + (J.ymax = Math.max(o, s)), + kt.attr( + "d", + "M" + + J.xmin + + "," + + (B - D) + + "h-4v" + + 2 * D + + "h4ZM" + + (J.xmax - 1) + + "," + + (B - D) + + "h4v" + + 2 * D + + "h-4Z", + )) + : "v" === a + ? (((J = T + ? _(w, [o, pt], [s, pt]) + : [ + [o, B], + [o, pt], + [s, pt], + [s, B], + ]).xmin = Math.min(o, s)), + (J.xmax = Math.max(o, s)), + (J.ymin = T ? pt : Math.min(B, pt)), + (J.ymax = T ? pt : Math.max(B, pt)), + kt.attr( + "d", + "M" + + (F - D) + + "," + + J.ymin + + "v-4h" + + 2 * D + + "v4ZM" + + (F - D) + + "," + + (J.ymax - 1) + + "v4h" + + 2 * D + + "v-4Z", + )) + : "d" === a && + (((J = T + ? _(w, [F, B], [lt, pt]) + : [ + [F, B], + [F, pt], + [lt, pt], + [lt, B], + ]).xmin = Math.min(F, lt)), + (J.xmax = Math.max(F, lt)), + (J.ymin = Math.min(B, pt)), + (J.ymax = Math.max(B, pt)), + kt.attr("d", "M0,0Z")); + } else c && (H.addPt([lt, pt]), (J = H.filtered)); + if ( + (n.selectionDefs && n.selectionDefs.length + ? ((Y = Q(n.mergedPolygons, J, xt)), + (J.subtract = xt), + (q = G(n.selectionDefs.concat([J])))) + : ((Y = [J]), (q = R(J))), + m(et(Y, y), bt, n), + b) + ) { + var u, + f = nt(k, !1), + h = f.eventData + ? f.eventData.points.slice() + : []; + (f = nt(k, !1, q, Et, n)), + (q = f.selectionTesters), + (at = f.eventData), + (u = H ? H.filtered : ut(Y)), + L.throttle(Mt, I.SELECTDELAY, function () { + for ( + var t = (St = rt(q, Et)).slice(), e = 0; + e < h.length; + e++ + ) { + for ( + var r = h[e], n = !1, i = 0; + i < t.length; + i++ + ) + if ( + t[i].curveNumber === r.curveNumber && + t[i].pointNumber === r.pointNumber + ) { + n = !0; + break; + } + n || t.push(r); + } + t.length && + (at || (at = {}), (at.points = t)), + Lt(at, u), + (function (t, e) { + t.emit("plotly_selecting", e); + })(k, at); + }); + } + }), + (n.clickFn = function (t, e) { + if ( + (kt.remove(), + k._fullLayout._activeShapeIndex >= 0) + ) + k._fullLayout._deactivateShape(k); + else if (!x) { + var r = A.clickmode; + L.done(Mt) + .then(function () { + if ((L.clear(Mt), 2 === t)) { + for ( + bt.remove(), K = 0; + K < Et.length; + K++ + ) + (tt = Et[K])._module.selectPoints( + tt, + !1, + ); + if (($(k, Et), W(n), ht(k), Et.length)) { + var i = Et[0].xaxis, + o = Et[0].yaxis; + if (i && o) { + for ( + var s = [], + u = k._fullLayout.selections, + c = 0; + c < u.length; + c++ + ) { + var f = u[c]; + f && + ((f.xref === i._id && + f.yref === o._id) || + s.push(f)); + } + s.length < u.length && + ((k._fullLayout._noEmitSelectedAtStart = + !0), + a.call("_guiRelayout", k, { + selections: s, + })); + } + } + } else + r.indexOf("select") > -1 && + V( + e, + k, + n.xaxes, + n.yaxes, + n.subplot, + n, + bt, + ), + "event" === r && ft(k, void 0); + l.click(k, e); + }) + .catch(M.error); + } + }), + (n.doneFn = function () { + kt.remove(), + L.done(Mt) + .then(function () { + L.clear(Mt), + !S && + J && + n.selectionDefs && + ((J.subtract = xt), + n.selectionDefs.push(J), + (n.mergedPolygons.length = 0), + [].push.apply(n.mergedPolygons, Y)), + (S || x) && W(n, S), + n.doneFnCompleted && + n.doneFnCompleted(St), + b && ft(k, at); + }) + .catch(M.error); + }); + }, + clearOutline: x, + clearSelectionsCache: W, + selectOnClick: V, + }; + }, + 89827: function (t, e, r) { + "use strict"; + var n = r(50215), + i = r(41940), + a = r(82196).line, + o = r(79952).P, + s = r(1426).extendFlat, + l = r(44467).templatedArray, + u = (r(24695), r(9012)), + c = r(5386).R, + f = r(37281); + t.exports = l("shape", { + visible: s({}, u.visible, { + editType: "calc+arraydraw", + }), + showlegend: { + valType: "boolean", + dflt: !1, + editType: "calc+arraydraw", + }, + legend: s({}, u.legend, { editType: "calc+arraydraw" }), + legendgroup: s({}, u.legendgroup, { + editType: "calc+arraydraw", + }), + legendgrouptitle: { + text: s({}, u.legendgrouptitle.text, { + editType: "calc+arraydraw", + }), + font: i({ editType: "calc+arraydraw" }), + editType: "calc+arraydraw", + }, + legendrank: s({}, u.legendrank, { + editType: "calc+arraydraw", + }), + legendwidth: s({}, u.legendwidth, { + editType: "calc+arraydraw", + }), + type: { + valType: "enumerated", + values: ["circle", "rect", "path", "line"], + editType: "calc+arraydraw", + }, + layer: { + valType: "enumerated", + values: ["below", "above"], + dflt: "above", + editType: "arraydraw", + }, + xref: s({}, n.xref, {}), + xsizemode: { + valType: "enumerated", + values: ["scaled", "pixel"], + dflt: "scaled", + editType: "calc+arraydraw", + }, + xanchor: { valType: "any", editType: "calc+arraydraw" }, + x0: { valType: "any", editType: "calc+arraydraw" }, + x1: { valType: "any", editType: "calc+arraydraw" }, + yref: s({}, n.yref, {}), + ysizemode: { + valType: "enumerated", + values: ["scaled", "pixel"], + dflt: "scaled", + editType: "calc+arraydraw", + }, + yanchor: { valType: "any", editType: "calc+arraydraw" }, + y0: { valType: "any", editType: "calc+arraydraw" }, + y1: { valType: "any", editType: "calc+arraydraw" }, + path: { valType: "string", editType: "calc+arraydraw" }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + editType: "arraydraw", + }, + line: { + color: s({}, a.color, { editType: "arraydraw" }), + width: s({}, a.width, { editType: "calc+arraydraw" }), + dash: s({}, o, { editType: "arraydraw" }), + editType: "calc+arraydraw", + }, + fillcolor: { + valType: "color", + dflt: "rgba(0,0,0,0)", + editType: "arraydraw", + }, + fillrule: { + valType: "enumerated", + values: ["evenodd", "nonzero"], + dflt: "evenodd", + editType: "arraydraw", + }, + editable: { + valType: "boolean", + dflt: !1, + editType: "calc+arraydraw", + }, + label: { + text: { + valType: "string", + dflt: "", + editType: "arraydraw", + }, + texttemplate: c({}, { keys: Object.keys(f) }), + font: i({ + editType: "calc+arraydraw", + colorEditType: "arraydraw", + }), + textposition: { + valType: "enumerated", + values: [ + "top left", + "top center", + "top right", + "middle left", + "middle center", + "middle right", + "bottom left", + "bottom center", + "bottom right", + "start", + "middle", + "end", + ], + editType: "arraydraw", + }, + textangle: { + valType: "angle", + dflt: "auto", + editType: "calc+arraydraw", + }, + xanchor: { + valType: "enumerated", + values: ["auto", "left", "center", "right"], + dflt: "auto", + editType: "calc+arraydraw", + }, + yanchor: { + valType: "enumerated", + values: ["top", "middle", "bottom"], + editType: "calc+arraydraw", + }, + padding: { + valType: "number", + dflt: 3, + min: 0, + editType: "arraydraw", + }, + editType: "arraydraw", + }, + editType: "arraydraw", + }); + }, + 5627: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(21459), + o = r(30477); + function s(t) { + return u( + t.line.width, + t.xsizemode, + t.x0, + t.x1, + t.path, + !1, + ); + } + function l(t) { + return u( + t.line.width, + t.ysizemode, + t.y0, + t.y1, + t.path, + !0, + ); + } + function u(t, e, r, i, s, l) { + var u = t / 2, + c = l; + if ("pixel" === e) { + var f = s + ? o.extractPathCoords( + s, + l ? a.paramIsY : a.paramIsX, + ) + : [r, i], + h = n.aggNums(Math.max, null, f), + p = n.aggNums(Math.min, null, f), + d = p < 0 ? Math.abs(p) + u : u, + v = h > 0 ? h + u : u; + return { + ppad: u, + ppadplus: c ? d : v, + ppadminus: c ? v : d, + }; + } + return { ppad: u }; + } + function c(t, e, r, n, i) { + var s = + "category" === t.type || "multicategory" === t.type + ? t.r2c + : t.d2c; + if (void 0 !== e) return [s(e), s(r)]; + if (n) { + var l, + u, + c, + f, + h = 1 / 0, + p = -1 / 0, + d = n.match(a.segmentRE); + for ( + "date" === t.type && (s = o.decodeDate(s)), l = 0; + l < d.length; + l++ + ) + void 0 !== (u = i[d[l].charAt(0)].drawn) && + (!(c = d[l].substr(1).match(a.paramRE)) || + c.length < u || + ((f = s(c[u])) < h && (h = f), + f > p && (p = f))); + return p >= h ? [h, p] : void 0; + } + } + t.exports = function (t) { + var e = t._fullLayout, + r = n.filterVisible(e.shapes); + if (r.length && t._fullData.length) + for (var o = 0; o < r.length; o++) { + var u, + f, + h = r[o]; + h._extremes = {}; + var p = i.getRefType(h.xref), + d = i.getRefType(h.yref); + if ("paper" !== h.xref && "domain" !== p) { + var v = + "pixel" === h.xsizemode ? h.xanchor : h.x0, + g = "pixel" === h.xsizemode ? h.xanchor : h.x1; + (f = c( + (u = i.getFromId(t, h.xref)), + v, + g, + h.path, + a.paramIsX, + )) && + (h._extremes[u._id] = i.findExtremes( + u, + f, + s(h), + )); + } + if ("paper" !== h.yref && "domain" !== d) { + var y = + "pixel" === h.ysizemode ? h.yanchor : h.y0, + m = "pixel" === h.ysizemode ? h.yanchor : h.y1; + (f = c( + (u = i.getFromId(t, h.yref)), + y, + m, + h.path, + a.paramIsY, + )) && + (h._extremes[u._id] = i.findExtremes( + u, + f, + l(h), + )); + } + } + }; + }, + 21459: function (t) { + "use strict"; + t.exports = { + segmentRE: /[MLHVQCTSZ][^MLHVQCTSZ]*/g, + paramRE: /[^\s,]+/g, + paramIsX: { + M: { 0: !0, drawn: 0 }, + L: { 0: !0, drawn: 0 }, + H: { 0: !0, drawn: 0 }, + V: {}, + Q: { 0: !0, 2: !0, drawn: 2 }, + C: { 0: !0, 2: !0, 4: !0, drawn: 4 }, + T: { 0: !0, drawn: 0 }, + S: { 0: !0, 2: !0, drawn: 2 }, + Z: {}, + }, + paramIsY: { + M: { 1: !0, drawn: 1 }, + L: { 1: !0, drawn: 1 }, + H: {}, + V: { 0: !0, drawn: 0 }, + Q: { 1: !0, 3: !0, drawn: 3 }, + C: { 1: !0, 3: !0, 5: !0, drawn: 5 }, + T: { 1: !0, drawn: 1 }, + S: { 1: !0, 3: !0, drawn: 5 }, + Z: {}, + }, + numParams: { + M: 2, + L: 2, + H: 1, + V: 1, + Q: 4, + C: 6, + T: 2, + S: 4, + Z: 0, + }, + }; + }, + 84726: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(85501), + o = r(89827), + s = r(30477); + function l(t, e, r) { + function a(r, i) { + return n.coerce(t, e, o, r, i); + } + if (((e._isShape = !0), a("visible"))) { + a("showlegend") && + (a("legend"), + a("legendwidth"), + a("legendgroup"), + a("legendgrouptitle.text"), + n.coerceFont(a, "legendgrouptitle.font"), + a("legendrank")); + var l = a("path"), + u = a("type", l ? "path" : "rect"), + c = "path" !== u; + c && delete e.path, + a("editable"), + a("layer"), + a("opacity"), + a("fillcolor"), + a("fillrule"), + a("line.width") && + (a("line.color"), a("line.dash")); + for ( + var f = a("xsizemode"), + h = a("ysizemode"), + p = ["x", "y"], + d = 0; + d < 2; + d++ + ) { + var v, + g, + y, + m = p[d], + x = m + "anchor", + b = "x" === m ? f : h, + _ = { _fullLayout: r }, + w = i.coerceRef(t, e, _, m, void 0, "paper"); + if ( + ("range" === i.getRefType(w) + ? ((v = i.getFromId(_, w))._shapeIndices.push( + e._index, + ), + (y = s.rangeToShapePosition(v)), + (g = s.shapePositionToRange(v))) + : (g = y = n.identity), + c) + ) { + var T = m + "0", + k = m + "1", + A = t[T], + M = t[k]; + (t[T] = g(t[T], !0)), + (t[k] = g(t[k], !0)), + "pixel" === b + ? (a(T, 0), a(k, 10)) + : (i.coercePosition(e, _, a, w, T, 0.25), + i.coercePosition(e, _, a, w, k, 0.75)), + (e[T] = y(e[T])), + (e[k] = y(e[k])), + (t[T] = A), + (t[k] = M); + } + if ("pixel" === b) { + var S = t[x]; + (t[x] = g(t[x], !0)), + i.coercePosition(e, _, a, w, x, 0.25), + (e[x] = y(e[x])), + (t[x] = S); + } + } + c && n.noneOrAll(t, e, ["x0", "x1", "y0", "y1"]); + var E, + L, + C = "line" === u; + if ( + (c && (E = a("label.texttemplate")), + E || (L = a("label.text")), + L || E) + ) { + a("label.textangle"); + var O = a( + "label.textposition", + C ? "middle" : "middle center", + ); + a("label.xanchor"), + a( + "label.yanchor", + (function (t, e) { + return t + ? "bottom" + : -1 !== e.indexOf("top") + ? "top" + : -1 !== e.indexOf("bottom") + ? "bottom" + : "middle"; + })(C, O), + ), + a("label.padding"), + n.coerceFont(a, "label.font", r.font); + } + } + } + t.exports = function (t, e) { + a(t, e, { name: "shapes", handleItemDefaults: l }); + }; + }, + 48100: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(63893), + o = r(91424), + s = r(60165).readPaths, + l = r(30477), + u = l.getPathString, + c = r(37281), + f = r(18783).FROM_TL; + t.exports = function (t, e, r, h) { + if ( + (h.selectAll(".shape-label").remove(), + r.label.text || r.label.texttemplate) + ) { + var p; + if (r.label.texttemplate) { + var d = {}; + if ("path" !== r.type) { + var v = i.getFromId(t, r.xref), + g = i.getFromId(t, r.yref); + for (var y in c) { + var m = c[y](r, v, g); + void 0 !== m && (d[y] = m); + } + } + p = n.texttemplateStringForShapes( + r.label.texttemplate, + {}, + t._fullLayout._d3locale, + d, + ); + } else p = r.label.text; + var x, + b, + _, + w, + T = { "data-index": e }, + k = r.label.font, + A = h + .append("g") + .attr(T) + .classed("shape-label", !0) + .append("text") + .attr({ "data-notex": 1 }) + .classed("shape-label-text", !0) + .text(p); + if (r.path) { + var M = u(t, r), + S = s(M, t); + (x = 1 / 0), + (_ = 1 / 0), + (b = -1 / 0), + (w = -1 / 0); + for (var E = 0; E < S.length; E++) + for (var L = 0; L < S[E].length; L++) + for ( + var C = S[E][L], O = 1; + O < C.length; + O += 2 + ) { + var P = C[O], + I = C[O + 1]; + (x = Math.min(x, P)), + (b = Math.max(b, P)), + (_ = Math.min(_, I)), + (w = Math.max(w, I)); + } + } else { + var D = i.getFromId(t, r.xref), + z = i.getRefType(r.xref), + R = i.getFromId(t, r.yref), + F = i.getRefType(r.yref), + B = l.getDataToPixel(t, D, !1, z), + N = l.getDataToPixel(t, R, !0, F); + (x = B(r.x0)), + (b = B(r.x1)), + (_ = N(r.y0)), + (w = N(r.y1)); + } + var j = r.label.textangle; + "auto" === j && + (j = + "line" === r.type + ? (function (t, e, r, n) { + var i, a; + return ( + (a = Math.abs(r - t)), + (i = r >= t ? e - n : n - e), + (-180 / Math.PI) * Math.atan2(i, a) + ); + })(x, _, b, w) + : 0), + A.call(function (e) { + return ( + e.call(o.font, k).attr({}), + a.convertToTspans(e, t), + e + ); + }); + var U = (function (t, e, r, n, i, a, o) { + var s, + l, + u, + c, + h = i.label.textposition, + p = i.label.textangle, + d = i.label.padding, + v = i.type, + g = (Math.PI / 180) * a, + y = Math.sin(g), + m = Math.cos(g), + x = i.label.xanchor, + b = i.label.yanchor; + if ("line" === v) { + "start" === h + ? ((s = t), (l = e)) + : "end" === h + ? ((s = r), (l = n)) + : ((s = (t + r) / 2), (l = (e + n) / 2)), + "auto" === x && + (x = + "start" === h + ? "auto" === p + ? r > t + ? "left" + : r < t + ? "right" + : "center" + : r > t + ? "right" + : r < t + ? "left" + : "center" + : "end" === h + ? "auto" === p + ? r > t + ? "right" + : r < t + ? "left" + : "center" + : r > t + ? "left" + : r < t + ? "right" + : "center" + : "center"); + var _ = { bottom: -1, middle: 0, top: 1 }; + if ("auto" === p) { + var w = _[b]; + (u = -d * y * w), (c = d * m * w); + } else + (u = + d * { left: 1, center: 0, right: -1 }[x]), + (c = d * _[b]); + (s += u), (l += c); + } else + (u = d + 3), + -1 !== h.indexOf("right") + ? ((s = Math.max(t, r) - u), + "auto" === x && (x = "right")) + : -1 !== h.indexOf("left") + ? ((s = Math.min(t, r) + u), + "auto" === x && (x = "left")) + : ((s = (t + r) / 2), + "auto" === x && (x = "center")), + (l = + -1 !== h.indexOf("top") + ? Math.min(e, n) + : -1 !== h.indexOf("bottom") + ? Math.max(e, n) + : (e + n) / 2), + (c = d), + "bottom" === b + ? (l -= c) + : "top" === b && (l += c); + var T = f[b], + k = i.label.font.size, + A = o.height; + return { + textx: s + (A * T - k) * y, + texty: l + -(A * T - k) * m, + xanchor: x, + }; + })(x, _, b, w, r, j, o.bBox(A.node())), + V = U.textx, + H = U.texty, + q = U.xanchor; + A.attr({ + "text-anchor": { + left: "start", + center: "middle", + right: "end", + }[q], + y: H, + x: V, + transform: "rotate(" + j + "," + V + "," + H + ")", + }).call(a.positionText, V, H); + } + }; + }, + 42359: function (t, e, r) { + "use strict"; + var n = r(71828).strTranslate, + i = r(28569), + a = r(64505), + o = a.drawMode, + s = a.selectMode, + l = r(73972), + u = r(7901), + c = r(89995), + f = c.i000, + h = c.i090, + p = c.i180, + d = c.i270, + v = r(51873).clearOutlineControllers, + g = r(60165), + y = g.pointsOnRectangle, + m = g.pointsOnEllipse, + x = g.writePaths, + b = r(90551).newShapes, + _ = r(90551).createShapeObj, + w = r(35855), + T = r(48100); + function k(t, e) { + var r, + n, + i, + a = t[e][1], + o = t[e][2], + s = t.length; + return ( + (n = t[(r = (e + 1) % s)][1]), + (i = t[r][2]), + n === a && + i === o && + ((n = t[(r = (e + 2) % s)][1]), (i = t[r][2])), + [r, n, i] + ); + } + t.exports = function t(e, r, a, c) { + c || (c = 0); + var g = a.gd; + function A() { + t(e, r, a, c++), + (m(e[0]) || a.hasText) && M({ redrawing: !0 }); + } + function M(t) { + var e = {}; + void 0 !== a.isActiveShape && + ((a.isActiveShape = !1), (e = b(r, a))), + void 0 !== a.isActiveSelection && + ((a.isActiveSelection = !1), + (e = w(r, a)), + (g._fullLayout._reselect = !0)), + Object.keys(e).length && + l.call( + (t || {}).redrawing + ? "relayout" + : "_guiRelayout", + g, + e, + ); + } + var S, + E, + L, + C, + O, + P = g._fullLayout._zoomlayer, + I = a.dragmode, + D = o(I), + z = s(I); + if ( + ((D || z) && (g._fullLayout._outlining = !0), + v(g), + r.attr("d", x(e)), + c || + (!a.isActiveShape && !a.isActiveSelection) || + ((O = (function (t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r]; + t[r] = []; + for (var i = 0; i < n.length; i++) { + t[r][i] = []; + for (var a = 0; a < n[i].length; a++) + t[r][i][a] = n[i][a]; + } + } + return t; + })([], e)), + (function (t) { + S = []; + for (var r = 0; r < e.length; r++) { + var o = e[r], + s = y(o), + l = !s && m(o); + S[r] = []; + for (var c = o.length, v = 0; v < c; v++) + if ( + "Z" !== o[v][0] && + (!l || + v === f || + v === h || + v === p || + v === d) + ) { + var x, + b = s && a.isActiveSelection; + b && (x = k(o, v)); + var _ = o[v][1], + w = o[v][2], + T = t + .append(b ? "rect" : "circle") + .attr("data-i", r) + .attr("data-j", v) + .style({ + fill: u.background, + stroke: u.defaultLine, + "stroke-width": 1, + "shape-rendering": "crispEdges", + }); + if (b) { + var A = x[1] - _, + M = x[2] - w, + E = M + ? 5 + : Math.max( + Math.min(25, Math.abs(A) - 5), + 5, + ), + L = A + ? 5 + : Math.max( + Math.min(25, Math.abs(M) - 5), + 5, + ); + T.classed( + M + ? "cursor-ew-resize" + : "cursor-ns-resize", + !0, + ) + .attr("width", E) + .attr("height", L) + .attr("x", _ - E / 2) + .attr("y", w - L / 2) + .attr("transform", n(A / 2, M / 2)); + } else + T.classed("cursor-grab", !0) + .attr("r", 5) + .attr("cx", _) + .attr("cy", w); + (S[r][v] = { + element: T.node(), + gd: g, + prepFn: B, + doneFn: j, + clickFn: U, + }), + i.init(S[r][v]); + } + } + })( + P.append("g").attr( + "class", + "outline-controllers", + ), + ), + (function () { + if (((E = []), e.length)) { + (E[0] = { + element: r[0][0], + gd: g, + prepFn: H, + doneFn: q, + clickFn: G, + }), + i.init(E[0]); + } + })()), + D && a.hasText) + ) { + var R = P.select(".label-temp"), + F = _(r, a, a.dragmode); + T(g, "label-temp", F, R); + } + function B(t) { + (L = +t.srcElement.getAttribute("data-i")), + (C = +t.srcElement.getAttribute("data-j")), + (S[L][C].moveFn = N); + } + function N(t, r) { + if (e.length) { + var n = O[L][C][1], + i = O[L][C][2], + o = e[L], + s = o.length; + if (y(o)) { + var l = t, + u = r; + a.isActiveSelection && + (k(o, C)[1] === o[C][1] ? (u = 0) : (l = 0)); + for (var c = 0; c < s; c++) + if (c !== C) { + var f = o[c]; + f[1] === o[C][1] && (f[1] = n + l), + f[2] === o[C][2] && (f[2] = i + u); + } + if (((o[C][1] = n + l), (o[C][2] = i + u), !y(o))) + for (var h = 0; h < s; h++) + for (var p = 0; p < o[h].length; p++) + o[h][p] = O[L][h][p]; + } else (o[C][1] = n + t), (o[C][2] = i + r); + A(); + } + } + function j() { + M(); + } + function U(t, r) { + if (2 === t) { + (L = +r.srcElement.getAttribute("data-i")), + (C = +r.srcElement.getAttribute("data-j")); + var n = e[L]; + y(n) || + m(n) || + (function () { + if (e.length && e[L] && e[L].length) { + for (var t = [], r = 0; r < e[L].length; r++) + r !== C && t.push(e[L][r]); + t.length > 1 && + (2 !== t.length || "Z" !== t[1][0]) && + (0 === C && (t[0][0] = "M"), + (e[L] = t), + A(), + M()); + } + })(); + } + } + function V(t, r) { + !(function (t, r) { + if (e.length) + for (var n = 0; n < e.length; n++) + for (var i = 0; i < e[n].length; i++) + for ( + var a = 0; + a + 2 < e[n][i].length; + a += 2 + ) + (e[n][i][a + 1] = O[n][i][a + 1] + t), + (e[n][i][a + 2] = O[n][i][a + 2] + r); + })(t, r), + A(); + } + function H(t) { + (L = +t.srcElement.getAttribute("data-i")) || (L = 0), + (E[L].moveFn = V); + } + function q() { + M(); + } + function G(t) { + 2 === t && + (function (t) { + if (s(t._fullLayout.dragmode)) { + v(t); + var e = t._fullLayout._activeSelectionIndex, + r = (t.layout || {}).selections || []; + if (e < r.length) { + for (var n = [], i = 0; i < r.length; i++) + i !== e && n.push(r[i]); + delete t._fullLayout._activeSelectionIndex; + var a = t._fullLayout.selections[e]; + (t._fullLayout._deselect = { + xref: a.xref, + yref: a.yref, + }), + l.call("_guiRelayout", t, { + selections: n, + }); + } + } + })(g); + } + }; + }, + 34031: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(71828), + o = r(89298), + s = r(60165).readPaths, + l = r(42359), + u = r(48100), + c = r(51873).clearOutlineControllers, + f = r(7901), + h = r(91424), + p = r(44467).arrayEditor, + d = r(28569), + v = r(6964), + g = r(21459), + y = r(30477), + m = y.getPathString; + function x(t) { + var e = t._fullLayout; + for (var r in (e._shapeUpperLayer + .selectAll("path") + .remove(), + e._shapeLowerLayer.selectAll("path").remove(), + e._shapeUpperLayer.selectAll("text").remove(), + e._shapeLowerLayer.selectAll("text").remove(), + e._plots)) { + var n = e._plots[r].shapelayer; + n && + (n.selectAll("path").remove(), + n.selectAll("text").remove()); + } + for (var i = 0; i < e.shapes.length; i++) + !0 === e.shapes[i].visible && w(t, i); + } + function b(t) { + return !!t._fullLayout._outlining; + } + function _(t) { + return !t._context.edits.shapePosition; + } + function w(t, e) { + t._fullLayout._paperdiv + .selectAll('.shapelayer [data-index="' + e + '"]') + .remove(); + var r = y.makeShapesOptionsAndPlotinfo(t, e), + c = r.options, + w = r.plotinfo; + function M(r) { + var M = m(t, c), + S = { + "data-index": e, + "fill-rule": c.fillrule, + d: M, + }, + E = c.opacity, + L = c.fillcolor, + C = c.line.width ? c.line.color : "rgba(0,0,0,0)", + O = c.line.width, + P = c.line.dash; + O || !0 !== c.editable || ((O = 5), (P = "solid")); + var I = "Z" !== M[M.length - 1], + D = + _(t) && + c.editable && + t._fullLayout._activeShapeIndex === e; + D && + ((L = I + ? "rgba(0,0,0,0)" + : t._fullLayout.activeshape.fillcolor), + (E = t._fullLayout.activeshape.opacity)); + var z, + R = r + .append("g") + .classed("shape-group", !0) + .attr({ "data-index": e }), + F = R.append("path") + .attr(S) + .style("opacity", E) + .call(f.stroke, C) + .call(f.fill, L) + .call(h.dashLine, P, O); + if ( + (T(R, t, c), + u(t, e, c, R), + (D || t._context.edits.shapePosition) && + (z = p(t.layout, "shapes", c)), + D) + ) { + F.style({ cursor: "move" }); + var B = { + element: F.node(), + plotinfo: w, + gd: t, + editHelpers: z, + hasText: c.label.text || c.label.texttemplate, + isActiveShape: !0, + }, + N = s(M, t); + l(N, F, B); + } else + t._context.edits.shapePosition + ? (function (t, e, r, s, l, c) { + var f, + p, + x, + _, + w, + A, + M, + S, + E, + L, + C, + O, + P, + I, + D, + z, + R = "pixel" === r.xsizemode, + F = "pixel" === r.ysizemode, + B = "line" === r.type, + N = "path" === r.type, + j = c.modifyItem, + U = n.select(e.node().parentNode), + V = o.getFromId(t, r.xref), + H = o.getRefType(r.xref), + q = o.getFromId(t, r.yref), + G = o.getRefType(r.yref), + Z = y.getDataToPixel(t, V, !1, H), + W = y.getDataToPixel(t, q, !0, G), + Y = y.getPixelToData(t, V, !1, H), + X = y.getPixelToData(t, q, !0, G), + J = B + ? (function () { + var t = 10, + n = Math.max(r.line.width, t), + i = l + .append("g") + .attr("data-index", s) + .attr("drag-helper", !0); + i.append("path") + .attr("d", e.attr("d")) + .style({ + cursor: "move", + "stroke-width": n, + "stroke-opacity": "0", + }); + var a = { "fill-opacity": "0" }, + o = Math.max(n / 2, t); + return ( + i + .append("circle") + .attr({ + "data-line-point": + "start-point", + cx: R + ? Z(r.xanchor) + r.x0 + : Z(r.x0), + cy: F + ? W(r.yanchor) - r.y0 + : W(r.y0), + r: o, + }) + .style(a) + .classed("cursor-grab", !0), + i + .append("circle") + .attr({ + "data-line-point": "end-point", + cx: R + ? Z(r.xanchor) + r.x1 + : Z(r.x1), + cy: F + ? W(r.yanchor) - r.y1 + : W(r.y1), + r: o, + }) + .style(a) + .classed("cursor-grab", !0), + i + ); + })() + : e, + K = { + element: J.node(), + gd: t, + prepFn: function (n) { + b(t) || + (R && (w = Z(r.xanchor)), + F && (A = W(r.yanchor)), + "path" === r.type + ? (D = r.path) + : ((f = R ? r.x0 : Z(r.x0)), + (p = F ? r.y0 : W(r.y0)), + (x = R ? r.x1 : Z(r.x1)), + (_ = F ? r.y1 : W(r.y1))), + f < x + ? ((E = f), + (P = "x0"), + (L = x), + (I = "x1")) + : ((E = x), + (P = "x1"), + (L = f), + (I = "x0")), + (!F && p < _) || (F && p > _) + ? ((M = p), + (C = "y0"), + (S = _), + (O = "y1")) + : ((M = _), + (C = "y1"), + (S = p), + (O = "y0")), + $(n), + et(l, r), + (function (t, e, r) { + var n = e.xref, + i = e.yref, + a = o.getFromId(r, n), + s = o.getFromId(r, i), + l = ""; + "paper" === n || + a.autorange || + (l += n), + "paper" === i || + s.autorange || + (l += i), + h.setClipUrl( + t, + l + ? "clip" + + r._fullLayout._uid + + l + : null, + r, + ); + })(e, r, t), + (K.moveFn = "move" === z ? Q : tt), + (K.altKey = n.altKey)); + }, + doneFn: function () { + b(t) || + (v(e), + rt(l), + T(e, t, r), + i.call( + "_guiRelayout", + t, + c.getUpdateObj(), + )); + }, + clickFn: function () { + b(t) || rt(l); + }, + }; + function $(r) { + if (b(t)) z = null; + else if (B) + z = + "path" === r.target.tagName + ? "move" + : "start-point" === + r.target.attributes[ + "data-line-point" + ].value + ? "resize-over-start-point" + : "resize-over-end-point"; + else { + var n = K.element.getBoundingClientRect(), + i = n.right - n.left, + a = n.bottom - n.top, + o = r.clientX - n.left, + s = r.clientY - n.top, + l = + !N && i > 10 && a > 10 && !r.shiftKey + ? d.getCursor(o / i, 1 - s / a) + : "move"; + v(e, l), (z = l.split("-")[0]); + } + } + function Q(n, i) { + if ("path" === r.type) { + var a = function (t) { + return t; + }, + o = a, + c = a; + R + ? j("xanchor", (r.xanchor = Y(w + n))) + : ((o = function (t) { + return Y(Z(t) + n); + }), + V && + "date" === V.type && + (o = y.encodeDate(o))), + F + ? j("yanchor", (r.yanchor = X(A + i))) + : ((c = function (t) { + return X(W(t) + i); + }), + q && + "date" === q.type && + (c = y.encodeDate(c))), + j("path", (r.path = k(D, o, c))); + } else + R + ? j("xanchor", (r.xanchor = Y(w + n))) + : (j("x0", (r.x0 = Y(f + n))), + j("x1", (r.x1 = Y(x + n)))), + F + ? j("yanchor", (r.yanchor = X(A + i))) + : (j("y0", (r.y0 = X(p + i))), + j("y1", (r.y1 = X(_ + i)))); + e.attr("d", m(t, r)), + et(l, r), + u(t, s, r, U); + } + function tt(n, i) { + if (N) { + var a = function (t) { + return t; + }, + o = a, + c = a; + R + ? j("xanchor", (r.xanchor = Y(w + n))) + : ((o = function (t) { + return Y(Z(t) + n); + }), + V && + "date" === V.type && + (o = y.encodeDate(o))), + F + ? j("yanchor", (r.yanchor = X(A + i))) + : ((c = function (t) { + return X(W(t) + i); + }), + q && + "date" === q.type && + (c = y.encodeDate(c))), + j("path", (r.path = k(D, o, c))); + } else if (B) { + if ("resize-over-start-point" === z) { + var h = f + n, + d = F ? p - i : p + i; + j("x0", (r.x0 = R ? h : Y(h))), + j("y0", (r.y0 = F ? d : X(d))); + } else if ( + "resize-over-end-point" === z + ) { + var v = x + n, + g = F ? _ - i : _ + i; + j("x1", (r.x1 = R ? v : Y(v))), + j("y1", (r.y1 = F ? g : X(g))); + } + } else { + var b = function (t) { + return -1 !== z.indexOf(t); + }, + T = b("n"), + H = b("s"), + G = b("w"), + J = b("e"), + K = T ? M + i : M, + $ = H ? S + i : S, + Q = G ? E + n : E, + tt = J ? L + n : L; + F && (T && (K = M - i), H && ($ = S - i)), + ((!F && $ - K > 10) || + (F && K - $ > 10)) && + (j(C, (r[C] = F ? K : X(K))), + j(O, (r[O] = F ? $ : X($)))), + tt - Q > 10 && + (j(P, (r[P] = R ? Q : Y(Q))), + j(I, (r[I] = R ? tt : Y(tt)))); + } + e.attr("d", m(t, r)), + et(l, r), + u(t, s, r, U); + } + function et(t, e) { + (R || F) && + (function () { + var r = "path" !== e.type, + n = t + .selectAll(".visual-cue") + .data([0]); + n.enter() + .append("path") + .attr({ + fill: "#fff", + "fill-rule": "evenodd", + stroke: "#000", + "stroke-width": 1, + }) + .classed("visual-cue", !0); + var i = Z( + R + ? e.xanchor + : a.midRange( + r + ? [e.x0, e.x1] + : y.extractPathCoords( + e.path, + g.paramIsX, + ), + ), + ), + o = W( + F + ? e.yanchor + : a.midRange( + r + ? [e.y0, e.y1] + : y.extractPathCoords( + e.path, + g.paramIsY, + ), + ), + ); + if ( + ((i = + y.roundPositionForSharpStrokeRendering( + i, + 1, + )), + (o = + y.roundPositionForSharpStrokeRendering( + o, + 1, + )), + R && F) + ) { + var s = + "M" + + (i - 1 - 1) + + "," + + (o - 1 - 1) + + "h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z"; + n.attr("d", s); + } else if (R) { + var l = + "M" + + (i - 1 - 1) + + "," + + (o - 9 - 1) + + "v18 h2 v-18 Z"; + n.attr("d", l); + } else { + var u = + "M" + + (i - 9 - 1) + + "," + + (o - 1 - 1) + + "h18 v2 h-18 Z"; + n.attr("d", u); + } + })(); + } + function rt(t) { + t.selectAll(".visual-cue").remove(); + } + d.init(K), (J.node().onmousemove = $); + })(t, F, c, e, r, z) + : !0 === c.editable && + F.style( + "pointer-events", + I || f.opacity(L) * E <= 0.5 + ? "stroke" + : "all", + ); + F.node().addEventListener("click", function () { + return (function (t, e) { + if (_(t)) { + var r = +e.node().getAttribute("data-index"); + if (r >= 0) { + if (r === t._fullLayout._activeShapeIndex) + return void A(t); + (t._fullLayout._activeShapeIndex = r), + (t._fullLayout._deactivateShape = A), + x(t); + } + } + })(t, F); + }); + } + c._input && + !0 === c.visible && + ("below" !== c.layer + ? M(t._fullLayout._shapeUpperLayer) + : "paper" === c.xref || "paper" === c.yref + ? M(t._fullLayout._shapeLowerLayer) + : w._hadPlotinfo + ? M((w.mainplotinfo || w).shapelayer) + : M(t._fullLayout._shapeLowerLayer)); + } + function T(t, e, r) { + var n = (r.xref + r.yref) + .replace(/paper/g, "") + .replace(/[xyz][1-9]* *domain/g, ""); + h.setClipUrl( + t, + n ? "clip" + e._fullLayout._uid + n : null, + e, + ); + } + function k(t, e, r) { + return t.replace(g.segmentRE, function (t) { + var n = 0, + i = t.charAt(0), + a = g.paramIsX[i], + o = g.paramIsY[i], + s = g.numParams[i]; + return ( + i + + t.substr(1).replace(g.paramRE, function (t) { + return ( + n >= s || + (a[n] ? (t = e(t)) : o[n] && (t = r(t)), n++), + t + ); + }) + ); + }); + } + function A(t) { + _(t) && + t._fullLayout._activeShapeIndex >= 0 && + (c(t), delete t._fullLayout._activeShapeIndex, x(t)); + } + t.exports = { + draw: x, + drawOne: w, + eraseActiveShape: function (t) { + if (_(t)) { + c(t); + var e = t._fullLayout._activeShapeIndex, + r = (t.layout || {}).shapes || []; + if (e < r.length) { + for (var n = [], a = 0; a < r.length; a++) + a !== e && n.push(r[a]); + return ( + delete t._fullLayout._activeShapeIndex, + i.call("_guiRelayout", t, { shapes: n }) + ); + } + } + }, + drawLabel: u, + }; + }, + 29241: function (t, e, r) { + "use strict"; + var n = r(30962).overrideAll, + i = r(9012), + a = r(41940), + o = r(79952).P, + s = r(1426).extendFlat, + l = r(5386).R, + u = r(37281); + t.exports = n( + { + newshape: { + visible: s({}, i.visible, {}), + showlegend: { valType: "boolean", dflt: !1 }, + legend: s({}, i.legend, {}), + legendgroup: s({}, i.legendgroup, {}), + legendgrouptitle: { + text: s({}, i.legendgrouptitle.text, {}), + font: a({}), + }, + legendrank: s({}, i.legendrank, {}), + legendwidth: s({}, i.legendwidth, {}), + line: { + color: { valType: "color" }, + width: { valType: "number", min: 0, dflt: 4 }, + dash: s({}, o, { dflt: "solid" }), + }, + fillcolor: { + valType: "color", + dflt: "rgba(0,0,0,0)", + }, + fillrule: { + valType: "enumerated", + values: ["evenodd", "nonzero"], + dflt: "evenodd", + }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + layer: { + valType: "enumerated", + values: ["below", "above"], + dflt: "above", + }, + drawdirection: { + valType: "enumerated", + values: [ + "ortho", + "horizontal", + "vertical", + "diagonal", + ], + dflt: "diagonal", + }, + name: s({}, i.name, {}), + label: { + text: { valType: "string", dflt: "" }, + texttemplate: l( + { newshape: !0 }, + { keys: Object.keys(u) }, + ), + font: a({}), + textposition: { + valType: "enumerated", + values: [ + "top left", + "top center", + "top right", + "middle left", + "middle center", + "middle right", + "bottom left", + "bottom center", + "bottom right", + "start", + "middle", + "end", + ], + }, + textangle: { valType: "angle", dflt: "auto" }, + xanchor: { + valType: "enumerated", + values: ["auto", "left", "center", "right"], + dflt: "auto", + }, + yanchor: { + valType: "enumerated", + values: ["top", "middle", "bottom"], + }, + padding: { valType: "number", dflt: 3, min: 0 }, + }, + }, + activeshape: { + fillcolor: { + valType: "color", + dflt: "rgb(255,0,255)", + }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: 0.5, + }, + }, + }, + "none", + "from-root", + ); + }, + 89995: function (t) { + "use strict"; + t.exports = { + CIRCLE_SIDES: 32, + i000: 0, + i090: 8, + i180: 16, + i270: 24, + cos45: Math.cos(Math.PI / 4), + sin45: Math.sin(Math.PI / 4), + SQRT2: Math.sqrt(2), + }; + }, + 45547: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(71828); + t.exports = function (t, e, r) { + if ( + (r("newshape.visible"), + r("newshape.name"), + r("newshape.showlegend"), + r("newshape.legend"), + r("newshape.legendwidth"), + r("newshape.legendgroup"), + r("newshape.legendgrouptitle.text"), + i.coerceFont(r, "newshape.legendgrouptitle.font"), + r("newshape.legendrank"), + r("newshape.drawdirection"), + r("newshape.layer"), + r("newshape.fillcolor"), + r("newshape.fillrule"), + r("newshape.opacity"), + r("newshape.line.width")) + ) { + var a = (t || {}).plot_bgcolor || "#FFF"; + r("newshape.line.color", n.contrast(a)), + r("newshape.line.dash"); + } + var o = "drawline" === t.dragmode, + s = r("newshape.label.text"), + l = r("newshape.label.texttemplate"); + if (s || l) { + r("newshape.label.textangle"); + var u = r( + "newshape.label.textposition", + o ? "middle" : "middle center", + ); + r("newshape.label.xanchor"), + r( + "newshape.label.yanchor", + (function (t, e) { + return t + ? "bottom" + : -1 !== e.indexOf("top") + ? "top" + : -1 !== e.indexOf("bottom") + ? "bottom" + : "middle"; + })(o, u), + ), + r("newshape.label.padding"), + i.coerceFont(r, "newshape.label.font", e.font); + } + r("activeshape.fillcolor"), r("activeshape.opacity"); + }; + }, + 60165: function (t, e, r) { + "use strict"; + var n = r(95616), + i = r(89995), + a = i.CIRCLE_SIDES, + o = i.SQRT2, + s = r(75549), + l = s.p2r, + u = s.r2p, + c = [0, 3, 4, 5, 6, 1, 2], + f = [0, 3, 4, 1, 2]; + function h(t, e) { + return Math.abs(t - e) <= 1e-6; + } + function p(t, e) { + var r = e[1] - t[1], + n = e[2] - t[2]; + return Math.sqrt(r * r + n * n); + } + (e.writePaths = function (t) { + var e = t.length; + if (!e) return "M0,0Z"; + for (var r = "", n = 0; n < e; n++) + for (var i = t[n].length, a = 0; a < i; a++) { + var o = t[n][a][0]; + if ("Z" === o) r += "Z"; + else + for (var s = t[n][a].length, l = 0; l < s; l++) { + var u = l; + "Q" === o || "S" === o + ? (u = f[l]) + : "C" === o && (u = c[l]), + (r += t[n][a][u]), + l > 0 && l < s - 1 && (r += ","); + } + } + return r; + }), + (e.readPaths = function (t, e, r, i) { + var o, + s, + c, + f = n(t), + h = [], + p = -1, + d = 0, + v = 0, + g = function () { + (s = d), (c = v); + }; + g(); + for (var y = 0; y < f.length; y++) { + var m, + x, + b, + _, + w = [], + T = f[y][0], + k = T; + switch (T) { + case "M": + (h[++p] = []), + (d = +f[y][1]), + (v = +f[y][2]), + w.push([k, d, v]), + g(); + break; + case "Q": + case "S": + (m = +f[y][1]), + (b = +f[y][2]), + (d = +f[y][3]), + (v = +f[y][4]), + w.push([k, d, v, m, b]); + break; + case "C": + (m = +f[y][1]), + (b = +f[y][2]), + (x = +f[y][3]), + (_ = +f[y][4]), + (d = +f[y][5]), + (v = +f[y][6]), + w.push([k, d, v, m, b, x, _]); + break; + case "T": + case "L": + (d = +f[y][1]), + (v = +f[y][2]), + w.push([k, d, v]); + break; + case "H": + (k = "L"), (d = +f[y][1]), w.push([k, d, v]); + break; + case "V": + (k = "L"), (v = +f[y][1]), w.push([k, d, v]); + break; + case "A": + k = "L"; + var A = +f[y][1], + M = +f[y][2]; + +f[y][4] || ((A = -A), (M = -M)); + var S = d - A, + E = v; + for (o = 1; o <= a / 2; o++) { + var L = (2 * Math.PI * o) / a; + w.push([ + k, + S + A * Math.cos(L), + E + M * Math.sin(L), + ]); + } + break; + case "Z": + (d === s && v === c) || + ((d = s), (v = c), w.push([k, d, v])); + } + for ( + var C = (r || {}).domain, + O = e._fullLayout._size, + P = r && "pixel" === r.xsizemode, + I = r && "pixel" === r.ysizemode, + D = !1 === i, + z = 0; + z < w.length; + z++ + ) { + for (o = 0; o + 2 < 7; o += 2) { + var R = w[z][o + 1], + F = w[z][o + 2]; + void 0 !== R && + void 0 !== F && + ((d = R), + (v = F), + r && + (r.xaxis && r.xaxis.p2r + ? (D && (R -= r.xaxis._offset), + (R = P + ? u(r.xaxis, r.xanchor) + R + : l(r.xaxis, R))) + : (D && (R -= O.l), + C + ? (R = C.x[0] + R / O.w) + : (R /= O.w)), + r.yaxis && r.yaxis.p2r + ? (D && (F -= r.yaxis._offset), + (F = I + ? u(r.yaxis, r.yanchor) - F + : l(r.yaxis, F))) + : (D && (F -= O.t), + (F = C + ? C.y[1] - F / O.h + : 1 - F / O.h))), + (w[z][o + 1] = R), + (w[z][o + 2] = F)); + } + h[p].push(w[z].slice()); + } + } + return h; + }), + (e.pointsOnRectangle = function (t) { + if (5 !== t.length) return !1; + for (var e = 1; e < 3; e++) { + if (!h(t[0][e] - t[1][e], t[3][e] - t[2][e])) + return !1; + if (!h(t[0][e] - t[3][e], t[1][e] - t[2][e])) + return !1; + } + return !( + (!h(t[0][1], t[1][1]) && !h(t[0][1], t[3][1])) || + !(p(t[0], t[1]) * p(t[0], t[3])) + ); + }), + (e.pointsOnEllipse = function (t) { + var e = t.length; + if (e !== a + 1) return !1; + e = a; + for (var r = 0; r < e; r++) { + var n = (2 * e - r) % e, + i = (e / 2 + n) % e, + o = (e / 2 + r) % e; + if (!h(p(t[r], t[o]), p(t[n], t[i]))) return !1; + } + return !0; + }), + (e.handleEllipse = function (t, r, n) { + if (!t) return [r, n]; + var i = e.ellipseOver({ + x0: r[0], + y0: r[1], + x1: n[0], + y1: n[1], + }), + s = (i.x1 + i.x0) / 2, + l = (i.y1 + i.y0) / 2, + u = (i.x1 - i.x0) / 2, + c = (i.y1 - i.y0) / 2; + u || (u = c /= o), c || (c = u /= o); + for (var f = [], h = 0; h < a; h++) { + var p = (2 * h * Math.PI) / a; + f.push([s + u * Math.cos(p), l + c * Math.sin(p)]); + } + return f; + }), + (e.ellipseOver = function (t) { + var e = t.x0, + r = t.y0, + n = t.x1, + i = t.y1, + a = n - e, + s = i - r, + l = ((e -= a) + n) / 2, + u = ((r -= s) + i) / 2; + return { + x0: l - (a *= o), + y0: u - (s *= o), + x1: l + a, + y1: u + s, + }; + }), + (e.fixDatesForPaths = function (t, e, r) { + var n = "date" === e.type, + i = "date" === r.type; + if (!n && !i) return t; + for (var a = 0; a < t.length; a++) + for (var o = 0; o < t[a].length; o++) + for (var s = 0; s + 2 < t[a][o].length; s += 2) + n && + (t[a][o][s + 1] = t[a][o][s + 1].replace( + " ", + "_", + )), + i && + (t[a][o][s + 2] = t[a][o][s + 2].replace( + " ", + "_", + )); + return t; + }); + }, + 90551: function (t, e, r) { + "use strict"; + var n = r(64505), + i = n.drawMode, + a = n.openMode, + o = r(89995), + s = o.i000, + l = o.i090, + u = o.i180, + c = o.i270, + f = o.cos45, + h = o.sin45, + p = r(75549), + d = p.p2r, + v = p.r2p, + g = r(51873).clearOutline, + y = r(60165), + m = y.readPaths, + x = y.writePaths, + b = y.ellipseOver, + _ = y.fixDatesForPaths; + function w(t, e, r) { + var n, + i = t[0][0], + o = e.gd, + p = i.getAttribute("d"), + g = o._fullLayout.newshape, + y = e.plotinfo, + w = e.isActiveShape, + T = y.xaxis, + k = y.yaxis, + A = !!y.domain || !y.xaxis, + M = !!y.domain || !y.yaxis, + S = a(r), + E = m(p, o, y, w), + L = { + editable: !0, + visible: g.visible, + name: g.name, + showlegend: g.showlegend, + legend: g.legend, + legendwidth: g.legendwidth, + legendgroup: g.legendgroup, + legendgrouptitle: { + text: g.legendgrouptitle.text, + font: g.legendgrouptitle.font, + }, + legendrank: g.legendrank, + label: g.label, + xref: A ? "paper" : T._id, + yref: M ? "paper" : k._id, + layer: g.layer, + opacity: g.opacity, + line: { + color: g.line.color, + width: g.line.width, + dash: g.line.dash, + }, + }; + if ( + (S || + ((L.fillcolor = g.fillcolor), + (L.fillrule = g.fillrule)), + 1 === E.length && (n = E[0]), + n && 5 === n.length && "drawrect" === r) + ) + (L.type = "rect"), + (L.x0 = n[0][1]), + (L.y0 = n[0][2]), + (L.x1 = n[2][1]), + (L.y1 = n[2][2]); + else if (n && "drawline" === r) + (L.type = "line"), + (L.x0 = n[0][1]), + (L.y0 = n[0][2]), + (L.x1 = n[1][1]), + (L.y1 = n[1][2]); + else if (n && "drawcircle" === r) { + L.type = "circle"; + var C = n[s][1], + O = n[l][1], + P = n[u][1], + I = n[c][1], + D = n[s][2], + z = n[l][2], + R = n[u][2], + F = n[c][2], + B = + y.xaxis && + ("date" === y.xaxis.type || + "log" === y.xaxis.type), + N = + y.yaxis && + ("date" === y.yaxis.type || + "log" === y.yaxis.type); + B && + ((C = v(y.xaxis, C)), + (O = v(y.xaxis, O)), + (P = v(y.xaxis, P)), + (I = v(y.xaxis, I))), + N && + ((D = v(y.yaxis, D)), + (z = v(y.yaxis, z)), + (R = v(y.yaxis, R)), + (F = v(y.yaxis, F))); + var j = (O + I) / 2, + U = (D + R) / 2, + V = b({ + x0: j, + y0: U, + x1: j + ((I - O + P - C) / 2) * f, + y1: U + ((F - z + R - D) / 2) * h, + }); + B && + ((V.x0 = d(y.xaxis, V.x0)), + (V.x1 = d(y.xaxis, V.x1))), + N && + ((V.y0 = d(y.yaxis, V.y0)), + (V.y1 = d(y.yaxis, V.y1))), + (L.x0 = V.x0), + (L.y0 = V.y0), + (L.x1 = V.x1), + (L.y1 = V.y1); + } else + (L.type = "path"), + T && k && _(E, T, k), + (L.path = x(E)), + (n = null); + return L; + } + t.exports = { + newShapes: function (t, e) { + if (t.length && t[0][0]) { + var r = e.gd, + n = e.isActiveShape, + a = e.dragmode, + o = (r.layout || {}).shapes || []; + if (!i(a) && void 0 !== n) { + var s = r._fullLayout._activeShapeIndex; + if (s < o.length) + switch (r._fullLayout.shapes[s].type) { + case "rect": + a = "drawrect"; + break; + case "circle": + a = "drawcircle"; + break; + case "line": + a = "drawline"; + break; + case "path": + var l = o[s].path || ""; + a = + "Z" === l[l.length - 1] + ? "drawclosedpath" + : "drawopenpath"; + } + } + var u = w(t, e, a); + g(r); + for ( + var c = e.editHelpers, + f = (c || {}).modifyItem, + h = [], + p = 0; + p < o.length; + p++ + ) { + var d = r._fullLayout.shapes[p]; + if ( + ((h[p] = d._input), + void 0 !== n && + p === r._fullLayout._activeShapeIndex) + ) { + var v = u; + switch (d.type) { + case "line": + case "rect": + case "circle": + f("x0", v.x0), + f("x1", v.x1), + f("y0", v.y0), + f("y1", v.y1); + break; + case "path": + f("path", v.path); + } + } + } + return void 0 === n + ? (h.push(u), h) + : c + ? c.getUpdateObj() + : {}; + } + }, + createShapeObj: w, + }; + }, + 51873: function (t) { + "use strict"; + t.exports = { + clearOutlineControllers: function (t) { + var e = t._fullLayout._zoomlayer; + e && e.selectAll(".outline-controllers").remove(); + }, + clearOutline: function (t) { + var e = t._fullLayout._zoomlayer; + e && e.selectAll(".select-outline").remove(), + (t._fullLayout._outlining = !1); + }, + }; + }, + 30477: function (t, e, r) { + "use strict"; + var n = r(21459), + i = r(71828), + a = r(89298); + (e.rangeToShapePosition = function (t) { + return "log" === t.type + ? t.r2d + : function (t) { + return t; + }; + }), + (e.shapePositionToRange = function (t) { + return "log" === t.type + ? t.d2r + : function (t) { + return t; + }; + }), + (e.decodeDate = function (t) { + return function (e) { + return e.replace && (e = e.replace("_", " ")), t(e); + }; + }), + (e.encodeDate = function (t) { + return function (e) { + return t(e).replace(" ", "_"); + }; + }), + (e.extractPathCoords = function (t, e, r) { + var a = []; + return ( + t.match(n.segmentRE).forEach(function (t) { + var o = e[t.charAt(0)].drawn; + if (void 0 !== o) { + var s = t.substr(1).match(n.paramRE); + if (s && !(s.length < o)) { + var l = s[o], + u = r ? l : i.cleanNumber(l); + a.push(u); + } + } + }), + a + ); + }), + (e.getDataToPixel = function (t, r, n, i) { + var a, + o = t._fullLayout._size; + if (r) + if ("domain" === i) + a = function (t) { + return r._length * (n ? 1 - t : t) + r._offset; + }; + else { + var s = e.shapePositionToRange(r); + (a = function (t) { + return r._offset + r.r2p(s(t, !0)); + }), + "date" === r.type && (a = e.decodeDate(a)); + } + else + a = n + ? function (t) { + return o.t + o.h * (1 - t); + } + : function (t) { + return o.l + o.w * t; + }; + return a; + }), + (e.getPixelToData = function (t, r, n, i) { + var a, + o = t._fullLayout._size; + if (r) + if ("domain" === i) + a = function (t) { + var e = (t - r._offset) / r._length; + return n ? 1 - e : e; + }; + else { + var s = e.rangeToShapePosition(r); + a = function (t) { + return s(r.p2r(t - r._offset)); + }; + } + else + a = n + ? function (t) { + return 1 - (t - o.t) / o.h; + } + : function (t) { + return (t - o.l) / o.w; + }; + return a; + }), + (e.roundPositionForSharpStrokeRendering = function ( + t, + e, + ) { + var r = 1 === Math.round(e % 2), + n = Math.round(t); + return r ? n + 0.5 : n; + }), + (e.makeShapesOptionsAndPlotinfo = function (t, e) { + var r = t._fullLayout.shapes[e] || {}, + n = t._fullLayout._plots[r.xref + r.yref]; + return ( + n + ? (n._hadPlotinfo = !0) + : ((n = {}), + r.xref && + "paper" !== r.xref && + (n.xaxis = t._fullLayout[r.xref + "axis"]), + r.yref && + "paper" !== r.yref && + (n.yaxis = t._fullLayout[r.yref + "axis"])), + (n.xsizemode = r.xsizemode), + (n.ysizemode = r.ysizemode), + (n.xanchor = r.xanchor), + (n.yanchor = r.yanchor), + { options: r, plotinfo: n } + ); + }), + (e.makeSelectionsOptionsAndPlotinfo = function (t, e) { + var r = t._fullLayout.selections[e] || {}, + n = t._fullLayout._plots[r.xref + r.yref]; + return ( + n + ? (n._hadPlotinfo = !0) + : ((n = {}), + r.xref && + (n.xaxis = t._fullLayout[r.xref + "axis"]), + r.yref && + (n.yaxis = t._fullLayout[r.yref + "axis"])), + { options: r, plotinfo: n } + ); + }), + (e.getPathString = function (t, r) { + var o, + s, + l, + u, + c, + f, + h, + p, + d = r.type, + v = a.getRefType(r.xref), + g = a.getRefType(r.yref), + y = a.getFromId(t, r.xref), + m = a.getFromId(t, r.yref), + x = t._fullLayout._size; + if ( + (y + ? "domain" === v + ? (s = function (t) { + return y._offset + y._length * t; + }) + : ((o = e.shapePositionToRange(y)), + (s = function (t) { + return y._offset + y.r2p(o(t, !0)); + })) + : (s = function (t) { + return x.l + x.w * t; + }), + m + ? "domain" === g + ? (u = function (t) { + return m._offset + m._length * (1 - t); + }) + : ((l = e.shapePositionToRange(m)), + (u = function (t) { + return m._offset + m.r2p(l(t, !0)); + })) + : (u = function (t) { + return x.t + x.h * (1 - t); + }), + "path" === d) + ) + return ( + y && "date" === y.type && (s = e.decodeDate(s)), + m && "date" === m.type && (u = e.decodeDate(u)), + (function (t, e, r) { + var a = t.path, + o = t.xsizemode, + s = t.ysizemode, + l = t.xanchor, + u = t.yanchor; + return a.replace(n.segmentRE, function (t) { + var a = 0, + c = t.charAt(0), + f = n.paramIsX[c], + h = n.paramIsY[c], + p = n.numParams[c], + d = t + .substr(1) + .replace(n.paramRE, function (t) { + return ( + f[a] + ? (t = + "pixel" === o + ? e(l) + Number(t) + : e(t)) + : h[a] && + (t = + "pixel" === s + ? r(u) - Number(t) + : r(t)), + ++a > p && (t = "X"), + t + ); + }); + return ( + a > p && + ((d = d.replace(/[\s,]*X.*/, "")), + i.log( + "Ignoring extra params in segment " + t, + )), + c + d + ); + }); + })(r, s, u) + ); + if ("pixel" === r.xsizemode) { + var b = s(r.xanchor); + (c = b + r.x0), (f = b + r.x1); + } else (c = s(r.x0)), (f = s(r.x1)); + if ("pixel" === r.ysizemode) { + var _ = u(r.yanchor); + (h = _ - r.y0), (p = _ - r.y1); + } else (h = u(r.y0)), (p = u(r.y1)); + if ("line" === d) + return "M" + c + "," + h + "L" + f + "," + p; + if ("rect" === d) + return ( + "M" + + c + + "," + + h + + "H" + + f + + "V" + + p + + "H" + + c + + "Z" + ); + var w = (c + f) / 2, + T = (h + p) / 2, + k = Math.abs(w - c), + A = Math.abs(T - h), + M = "A" + k + "," + A, + S = w + k + "," + T; + return ( + "M" + + S + + M + + " 0 1,1 " + + w + + "," + + (T - A) + + M + + " 0 0,1 " + + S + + "Z" + ); + }); + }, + 89853: function (t, e, r) { + "use strict"; + var n = r(34031); + t.exports = { + moduleType: "component", + name: "shapes", + layoutAttributes: r(89827), + supplyLayoutDefaults: r(84726), + supplyDrawNewShapeDefaults: r(45547), + includeBasePlot: r(76325)("shapes"), + calcAutorange: r(5627), + draw: n.draw, + drawOne: n.drawOne, + }; + }, + 37281: function (t) { + "use strict"; + function e(t, e) { + return e ? e.d2l(t) : t; + } + function r(t, e) { + return e ? e.l2d(t) : t; + } + function n(t, r) { + return e(t.x1, r) - e(t.x0, r); + } + function i(t, r, n) { + return e(t.y1, n) - e(t.y0, n); + } + t.exports = { + x0: function (t) { + return t.x0; + }, + x1: function (t) { + return t.x1; + }, + y0: function (t) { + return t.y0; + }, + y1: function (t) { + return t.y1; + }, + slope: function (t, e, r) { + return "line" !== t.type + ? void 0 + : i(t, 0, r) / n(t, e); + }, + dx: n, + dy: i, + width: function (t, e) { + return Math.abs(n(t, e)); + }, + height: function (t, e, r) { + return Math.abs(i(t, 0, r)); + }, + length: function (t, e, r) { + return "line" !== t.type + ? void 0 + : Math.sqrt( + Math.pow(n(t, e), 2) + Math.pow(i(t, 0, r), 2), + ); + }, + xcenter: function (t, n) { + return r((e(t.x1, n) + e(t.x0, n)) / 2, n); + }, + ycenter: function (t, n, i) { + return r((e(t.y1, i) + e(t.y0, i)) / 2, i); + }, + }; + }, + 75067: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(35025), + a = r(1426).extendDeepAll, + o = r(30962).overrideAll, + s = r(85594), + l = r(44467).templatedArray, + u = r(98292), + c = l("step", { + visible: { valType: "boolean", dflt: !0 }, + 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 }, + }); + t.exports = o( + l("slider", { + visible: { valType: "boolean", dflt: !0 }, + active: { valType: "number", min: 0, dflt: 0 }, + steps: c, + 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: a( + i({ editType: "arraydraw" }), + {}, + { t: { dflt: 20 } }, + ), + xanchor: { + valType: "enumerated", + values: ["auto", "left", "center", "right"], + dflt: "left", + }, + y: { valType: "number", min: -2, max: 3, dflt: 0 }, + yanchor: { + valType: "enumerated", + values: ["auto", "top", "middle", "bottom"], + dflt: "top", + }, + transition: { + duration: { valType: "number", min: 0, dflt: 150 }, + easing: { + valType: "enumerated", + values: s.transition.easing.values, + dflt: "cubic-in-out", + }, + }, + currentvalue: { + visible: { valType: "boolean", dflt: !0 }, + xanchor: { + valType: "enumerated", + values: ["left", "center", "right"], + dflt: "left", + }, + offset: { valType: "number", dflt: 10 }, + prefix: { valType: "string" }, + suffix: { valType: "string" }, + font: n({}), + }, + font: n({}), + activebgcolor: { + valType: "color", + dflt: u.gripBgActiveColor, + }, + bgcolor: { valType: "color", dflt: u.railBgColor }, + bordercolor: { + valType: "color", + dflt: u.railBorderColor, + }, + borderwidth: { + valType: "number", + min: 0, + dflt: u.railBorderWidth, + }, + ticklen: { + valType: "number", + min: 0, + dflt: u.tickLength, + }, + tickcolor: { valType: "color", dflt: u.tickColor }, + tickwidth: { valType: "number", min: 0, dflt: 1 }, + minorticklen: { + valType: "number", + min: 0, + dflt: u.minorTickLength, + }, + }), + "arraydraw", + "from-root", + ); + }, + 98292: function (t) { + "use strict"; + t.exports = { + name: "sliders", + containerClassName: "slider-container", + groupClassName: "slider-group", + inputAreaClass: "slider-input-area", + railRectClass: "slider-rail-rect", + railTouchRectClass: "slider-rail-touch-rect", + gripRectClass: "slider-grip-rect", + tickRectClass: "slider-tick-rect", + inputProxyClass: "slider-input-proxy", + labelsClass: "slider-labels", + labelGroupClass: "slider-label-group", + labelClass: "slider-label", + currentValueClass: "slider-current-value", + railHeight: 5, + menuIndexAttrName: "slider-active-index", + autoMarginIdRoot: "slider-", + minWidth: 30, + minHeight: 30, + textPadX: 40, + 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, + }; + }, + 12343: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(85501), + a = r(75067), + o = r(98292).name, + s = a.steps; + function l(t, e, r) { + function o(r, i) { + return n.coerce(t, e, a, r, i); + } + for ( + var s = i(t, e, { + name: "steps", + handleItemDefaults: u, + }), + l = 0, + c = 0; + c < s.length; + c++ + ) + s[c].visible && l++; + if (l < 2 ? (e.visible = !1) : o("visible")) { + e._stepCount = l; + var f = (e._visibleSteps = n.filterVisible(s)); + (s[o("active")] || {}).visible || + (e.active = f[0]._index), + o("x"), + o("y"), + n.noneOrAll(t, e, ["x", "y"]), + o("xanchor"), + o("yanchor"), + o("len"), + o("lenmode"), + o("pad.t"), + o("pad.r"), + o("pad.b"), + o("pad.l"), + n.coerceFont(o, "font", r.font), + o("currentvalue.visible") && + (o("currentvalue.xanchor"), + o("currentvalue.prefix"), + o("currentvalue.suffix"), + o("currentvalue.offset"), + n.coerceFont(o, "currentvalue.font", e.font)), + o("transition.duration"), + o("transition.easing"), + o("bgcolor"), + o("activebgcolor"), + o("bordercolor"), + o("borderwidth"), + o("ticklen"), + o("tickwidth"), + o("tickcolor"), + o("minorticklen"); + } + } + function u(t, e) { + function r(r, i) { + return n.coerce(t, e, s, r, i); + } + if ( + "skip" === t.method || Array.isArray(t.args) + ? r("visible") + : (e.visible = !1) + ) { + r("method"), r("args"); + var i = r("label", "step-" + e._index); + r("value", i), r("execute"); + } + } + t.exports = function (t, e) { + i(t, e, { name: o, handleItemDefaults: l }); + }; + }, + 44504: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(74875), + a = r(7901), + o = r(91424), + s = r(71828), + l = s.strTranslate, + u = r(63893), + c = r(44467).arrayEditor, + f = r(98292), + h = r(18783), + p = h.LINE_SPACING, + d = h.FROM_TL, + v = h.FROM_BR; + function g(t) { + return f.autoMarginIdRoot + t._index; + } + function y(t) { + return t._index; + } + function m(t, e) { + var r = o.tester + .selectAll("g." + f.labelGroupClass) + .data(e._visibleSteps); + r.enter().append("g").classed(f.labelGroupClass, !0); + var a = 0, + l = 0; + r.each(function (t) { + var r = _(n.select(this), { step: t }, e).node(); + if (r) { + var i = o.bBox(r); + (l = Math.max(l, i.height)), + (a = Math.max(a, i.width)); + } + }), + r.remove(); + var c = (e._dims = {}); + c.inputAreaWidth = Math.max(f.railWidth, f.gripHeight); + var h = t._fullLayout._size; + (c.lx = h.l + h.w * e.x), + (c.ly = h.t + h.h * (1 - e.y)), + "fraction" === e.lenmode + ? (c.outerLength = Math.round(h.w * e.len)) + : (c.outerLength = e.len), + (c.inputAreaStart = 0), + (c.inputAreaLength = Math.round( + c.outerLength - e.pad.l - e.pad.r, + )); + var p = + (c.inputAreaLength - 2 * f.stepInset) / + (e._stepCount - 1), + y = a + f.labelPadding; + if ( + ((c.labelStride = Math.max(1, Math.ceil(y / p))), + (c.labelHeight = l), + (c.currentValueMaxWidth = 0), + (c.currentValueHeight = 0), + (c.currentValueTotalHeight = 0), + (c.currentValueMaxLines = 1), + e.currentvalue.visible) + ) { + var m = o.tester.append("g"); + r.each(function (t) { + var r = x(m, e, t.label), + n = (r.node() && o.bBox(r.node())) || { + width: 0, + height: 0, + }, + i = u.lineCount(r); + (c.currentValueMaxWidth = Math.max( + c.currentValueMaxWidth, + Math.ceil(n.width), + )), + (c.currentValueHeight = Math.max( + c.currentValueHeight, + Math.ceil(n.height), + )), + (c.currentValueMaxLines = Math.max( + c.currentValueMaxLines, + i, + )); + }), + (c.currentValueTotalHeight = + c.currentValueHeight + e.currentvalue.offset), + m.remove(); + } + c.height = + c.currentValueTotalHeight + + f.tickOffset + + e.ticklen + + f.labelOffset + + c.labelHeight + + e.pad.t + + e.pad.b; + var b = "left"; + s.isRightAnchor(e) && + ((c.lx -= c.outerLength), (b = "right")), + s.isCenterAnchor(e) && + ((c.lx -= c.outerLength / 2), (b = "center")); + var w = "top"; + s.isBottomAnchor(e) && + ((c.ly -= c.height), (w = "bottom")), + s.isMiddleAnchor(e) && + ((c.ly -= c.height / 2), (w = "middle")), + (c.outerLength = Math.ceil(c.outerLength)), + (c.height = Math.ceil(c.height)), + (c.lx = Math.round(c.lx)), + (c.ly = Math.round(c.ly)); + var T = { + y: e.y, + b: c.height * v[w], + t: c.height * d[w], + }; + "fraction" === e.lenmode + ? ((T.l = 0), + (T.xl = e.x - e.len * d[b]), + (T.r = 0), + (T.xr = e.x + e.len * v[b])) + : ((T.x = e.x), + (T.l = c.outerLength * d[b]), + (T.r = c.outerLength * v[b])), + i.autoMargin(t, g(e), T); + } + function x(t, e, r) { + if (e.currentvalue.visible) { + var n, + i, + a = e._dims; + switch (e.currentvalue.xanchor) { + case "right": + (n = + a.inputAreaLength - + f.currentValueInset - + a.currentValueMaxWidth), + (i = "left"); + break; + case "center": + (n = 0.5 * a.inputAreaLength), (i = "middle"); + break; + default: + (n = f.currentValueInset), (i = "left"); + } + var l = s.ensureSingle( + t, + "text", + f.labelClass, + function (t) { + t.attr({ "text-anchor": i, "data-notex": 1 }); + }, + ), + c = e.currentvalue.prefix + ? e.currentvalue.prefix + : ""; + if ("string" == typeof r) c += r; + else { + var h = e.steps[e.active].label, + d = e._gd._fullLayout._meta; + d && (h = s.templateString(h, d)), (c += h); + } + e.currentvalue.suffix && (c += e.currentvalue.suffix), + l + .call(o.font, e.currentvalue.font) + .text(c) + .call(u.convertToTspans, e._gd); + var v = u.lineCount(l), + g = + (a.currentValueMaxLines + 1 - v) * + e.currentvalue.font.size * + p; + return u.positionText(l, n, g), l; + } + } + function b(t, e, r) { + s.ensureSingle( + t, + "rect", + f.gripRectClass, + function (n) { + n.call(A, e, t, r).style("pointer-events", "all"); + }, + ) + .attr({ + width: f.gripWidth, + height: f.gripHeight, + rx: f.gripRadius, + ry: f.gripRadius, + }) + .call(a.stroke, r.bordercolor) + .call(a.fill, r.bgcolor) + .style("stroke-width", r.borderwidth + "px"); + } + function _(t, e, r) { + var n = s.ensureSingle( + t, + "text", + f.labelClass, + function (t) { + t.attr({ + "text-anchor": "middle", + "data-notex": 1, + }); + }, + ), + i = e.step.label, + a = r._gd._fullLayout._meta; + return ( + a && (i = s.templateString(i, a)), + n + .call(o.font, r.font) + .text(i) + .call(u.convertToTspans, r._gd), + n + ); + } + function w(t, e) { + var r = s.ensureSingle(t, "g", f.labelsClass), + i = e._dims, + a = r + .selectAll("g." + f.labelGroupClass) + .data(i.labelSteps); + a.enter().append("g").classed(f.labelGroupClass, !0), + a.exit().remove(), + a.each(function (t) { + var r = n.select(this); + r.call(_, t, e), + o.setTranslate( + r, + E(e, t.fraction), + f.tickOffset + + e.ticklen + + e.font.size * p + + f.labelOffset + + i.currentValueTotalHeight, + ); + }); + } + function T(t, e, r, n, i) { + var a = Math.round(n * (r._stepCount - 1)), + o = r._visibleSteps[a]._index; + o !== r.active && k(t, e, r, o, !0, i); + } + function k(t, e, r, n, a, o) { + var s = r.active; + (r.active = n), + c(t.layout, f.name, r).applyUpdate("active", n); + var l = r.steps[r.active]; + e.call(S, r, o), + e.call(x, r), + t.emit("plotly_sliderchange", { + slider: r, + step: r.steps[r.active], + interaction: a, + previousActive: s, + }), + l && + l.method && + a && + (e._nextMethod + ? ((e._nextMethod.step = l), + (e._nextMethod.doCallback = a), + (e._nextMethod.doTransition = o)) + : ((e._nextMethod = { + step: l, + doCallback: a, + doTransition: o, + }), + (e._nextMethodRaf = + window.requestAnimationFrame(function () { + var r = e._nextMethod.step; + r.method && + (r.execute && + i.executeAPICommand( + t, + r.method, + r.args, + ), + (e._nextMethod = null), + (e._nextMethodRaf = null)); + })))); + } + function A(t, e, r) { + if (!e._context.staticPlot) { + var i = r.node(), + o = n.select(e); + t.on("mousedown", l), t.on("touchstart", l); + } + function s() { + return r.data()[0]; + } + function l() { + var t = s(); + e.emit("plotly_sliderstart", { slider: t }); + var l = r.select("." + f.gripRectClass); + n.event.stopPropagation(), + n.event.preventDefault(), + l.call(a.fill, t.activebgcolor); + var u = L(t, n.mouse(i)[0]); + function c() { + var t = s(), + a = L(t, n.mouse(i)[0]); + T(e, r, t, a, !1); + } + function h() { + var t = s(); + (t._dragging = !1), + l.call(a.fill, t.bgcolor), + o.on("mouseup", null), + o.on("mousemove", null), + o.on("touchend", null), + o.on("touchmove", null), + e.emit("plotly_sliderend", { + slider: t, + step: t.steps[t.active], + }); + } + T(e, r, t, u, !0), + (t._dragging = !0), + o.on("mousemove", c), + o.on("touchmove", c), + o.on("mouseup", h), + o.on("touchend", h); + } + } + function M(t, e) { + var r = t + .selectAll("rect." + f.tickRectClass) + .data(e._visibleSteps), + i = e._dims; + r.enter().append("rect").classed(f.tickRectClass, !0), + r.exit().remove(), + r.attr({ + width: e.tickwidth + "px", + "shape-rendering": "crispEdges", + }), + r.each(function (t, r) { + var s = r % i.labelStride == 0, + l = n.select(this); + l + .attr({ height: s ? e.ticklen : e.minorticklen }) + .call(a.fill, e.tickcolor), + o.setTranslate( + l, + E(e, r / (e._stepCount - 1)) - + 0.5 * e.tickwidth, + (s ? f.tickOffset : f.minorTickOffset) + + i.currentValueTotalHeight, + ); + }); + } + function S(t, e, r) { + for ( + var n = t.select("rect." + f.gripRectClass), + i = 0, + a = 0; + a < e._stepCount; + a++ + ) + if (e._visibleSteps[a]._index === e.active) { + i = a; + break; + } + var o = E(e, i / (e._stepCount - 1)); + if (!e._invokingCommand) { + var s = n; + r && + e.transition.duration > 0 && + (s = s + .transition() + .duration(e.transition.duration) + .ease(e.transition.easing)), + s.attr( + "transform", + l( + o - 0.5 * f.gripWidth, + e._dims.currentValueTotalHeight, + ), + ); + } + } + function E(t, e) { + var r = t._dims; + return ( + r.inputAreaStart + + f.stepInset + + (r.inputAreaLength - 2 * f.stepInset) * + Math.min(1, Math.max(0, e)) + ); + } + function L(t, e) { + var r = t._dims; + return Math.min( + 1, + Math.max( + 0, + (e - f.stepInset - r.inputAreaStart) / + (r.inputAreaLength - + 2 * f.stepInset - + 2 * r.inputAreaStart), + ), + ); + } + function C(t, e, r) { + var n = r._dims, + i = s.ensureSingle( + t, + "rect", + f.railTouchRectClass, + function (n) { + n.call(A, e, t, r).style("pointer-events", "all"); + }, + ); + i + .attr({ + width: n.inputAreaLength, + height: Math.max( + n.inputAreaWidth, + f.tickOffset + r.ticklen + n.labelHeight, + ), + }) + .call(a.fill, r.bgcolor) + .attr("opacity", 0), + o.setTranslate(i, 0, n.currentValueTotalHeight); + } + function O(t, e) { + var r = e._dims, + n = r.inputAreaLength - 2 * f.railInset, + i = s.ensureSingle(t, "rect", f.railRectClass); + i + .attr({ + width: n, + height: f.railWidth, + rx: f.railRadius, + ry: f.railRadius, + "shape-rendering": "crispEdges", + }) + .call(a.stroke, e.bordercolor) + .call(a.fill, e.bgcolor) + .style("stroke-width", e.borderwidth + "px"), + o.setTranslate( + i, + f.railInset, + 0.5 * (r.inputAreaWidth - f.railWidth) + + r.currentValueTotalHeight, + ); + } + t.exports = function (t) { + var e = t._context.staticPlot, + r = t._fullLayout, + a = (function (t, e) { + for ( + var r = t[f.name], n = [], i = 0; + i < r.length; + i++ + ) { + var a = r[i]; + a.visible && ((a._gd = e), n.push(a)); + } + return n; + })(r, t), + s = r._infolayer + .selectAll("g." + f.containerClassName) + .data(a.length > 0 ? [0] : []); + function l(e) { + e._commandObserver && + (e._commandObserver.remove(), + delete e._commandObserver), + i.autoMargin(t, g(e)); + } + if ( + (s + .enter() + .append("g") + .classed(f.containerClassName, !0) + .style("cursor", e ? null : "ew-resize"), + s + .exit() + .each(function () { + n.select(this) + .selectAll("g." + f.groupClassName) + .each(l); + }) + .remove(), + 0 !== a.length) + ) { + var u = s + .selectAll("g." + f.groupClassName) + .data(a, y); + u.enter().append("g").classed(f.groupClassName, !0), + u.exit().each(l).remove(); + for (var c = 0; c < a.length; c++) { + var h = a[c]; + m(t, h); + } + u.each(function (e) { + var r = n.select(this); + !(function (t) { + var e = t._dims; + e.labelSteps = []; + for ( + var r = t._stepCount, n = 0; + n < r; + n += e.labelStride + ) + e.labelSteps.push({ + fraction: n / (r - 1), + step: t._visibleSteps[n], + }); + })(e), + i.manageCommandObserver( + t, + e, + e._visibleSteps, + function (e) { + var n = r.data()[0]; + n.active !== e.index && + (n._dragging || + k(t, r, n, e.index, !1, !0)); + }, + ), + (function (t, e, r) { + (r.steps[r.active] || {}).visible || + (r.active = r._visibleSteps[0]._index), + e + .call(x, r) + .call(O, r) + .call(w, r) + .call(M, r) + .call(C, t, r) + .call(b, t, r); + var n = r._dims; + o.setTranslate( + e, + n.lx + r.pad.l, + n.ly + r.pad.t, + ), + e.call(S, r, !1), + e.call(x, r); + })(t, n.select(this), e); + }); + } + }; + }, + 23243: function (t, e, r) { + "use strict"; + var n = r(98292); + t.exports = { + moduleType: "component", + name: n.name, + layoutAttributes: r(75067), + supplyLayoutDefaults: r(12343), + draw: r(44504), + }; + }, + 92998: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = r(74875), + o = r(73972), + s = r(71828), + l = s.strTranslate, + u = r(91424), + c = r(7901), + f = r(63893), + h = r(37822), + p = r(18783).OPPOSITE_SIDE, + d = / [XY][0-9]* /; + t.exports = { + draw: function (t, e, r) { + var v, + g = r.propContainer, + y = r.propName, + m = r.placeholder, + x = r.traceIndex, + b = r.avoid || {}, + _ = r.attributes, + w = r.transform, + T = r.containerGroup, + k = t._fullLayout, + A = 1, + M = !1, + S = g.title, + E = (S && S.text ? S.text : "").trim(), + L = S && S.font ? S.font : {}, + C = L.family, + O = L.size, + P = L.color; + "title.text" === y + ? (v = "titleText") + : -1 !== y.indexOf("axis") + ? (v = "axisTitleText") + : y.indexOf(!0) && (v = "colorbarTitleText"); + var I = t._context.edits[v]; + "" === E + ? (A = 0) + : E.replace(d, " % ") === m.replace(d, " % ") && + ((A = 0.2), (M = !0), I || (E = "")), + r._meta + ? (E = s.templateString(E, r._meta)) + : k._meta && (E = s.templateString(E, k._meta)); + var D, + z = E || I; + T || + ((T = s.ensureSingle(k._infolayer, "g", "g-" + e)), + (D = k._hColorbarMoveTitle)); + var R = T.selectAll("text").data(z ? [0] : []); + if ( + (R.enter().append("text"), + R.text(E).attr("class", e), + R.exit().remove(), + !z) + ) + return T; + function F(t) { + s.syncOrAsync([B, N], t); + } + function B(e) { + var r; + return ( + !w && D && (w = {}), + w + ? ((r = ""), + w.rotate && + (r += + "rotate(" + [w.rotate, _.x, _.y] + ")"), + (w.offset || D) && + (r += l(0, (w.offset || 0) - (D || 0)))) + : (r = null), + e.attr("transform", r), + e + .style({ + "font-family": C, + "font-size": n.round(O, 2) + "px", + fill: c.rgb(P), + opacity: A * c.opacity(P), + "font-weight": a.fontWeight, + }) + .attr(_) + .call(f.convertToTspans, t), + a.previousPromises(t) + ); + } + function N(e) { + var r = n.select(e.node().parentNode); + if (b && b.selection && b.side && E) { + r.attr("transform", null); + var a = p[b.side], + o = + "left" === b.side || "top" === b.side + ? -1 + : 1, + c = i(b.pad) ? b.pad : 2, + f = u.bBox(r.node()), + h = { t: 0, b: 0, l: 0, r: 0 }, + d = t._fullLayout._reservedMargin; + for (var v in d) + for (var y in d[v]) { + var m = d[v][y]; + h[y] = Math.max(h[y], m); + } + var x = { + left: h.l, + top: h.t, + right: k.width - h.r, + bottom: k.height - h.b, + }, + _ = b.maxShift || o * (x[b.side] - f[b.side]), + w = 0; + if (_ < 0) w = _; + else { + var T = b.offsetLeft || 0, + A = b.offsetTop || 0; + (f.left -= T), + (f.right -= T), + (f.top -= A), + (f.bottom -= A), + b.selection.each(function () { + var t = u.bBox(this); + s.bBoxIntersect(f, t, c) && + (w = Math.max( + w, + o * (t[b.side] - f[a]) + c, + )); + }), + (w = Math.min(_, w)), + (g._titleScoot = Math.abs(w)); + } + if (w > 0 || _ < 0) { + var M = { + left: [-w, 0], + right: [w, 0], + top: [0, -w], + bottom: [0, w], + }[b.side]; + r.attr("transform", l(M[0], M[1])); + } + } + } + return ( + R.call(F), + I && + (E + ? R.on(".opacity", null) + : ((A = 0), + (M = !0), + R.text(m) + .on("mouseover.opacity", function () { + n.select(this) + .transition() + .duration(h.SHOW_PLACEHOLDER) + .style("opacity", 1); + }) + .on("mouseout.opacity", function () { + n.select(this) + .transition() + .duration(h.HIDE_PLACEHOLDER) + .style("opacity", 0); + })), + R.call(f.makeEditable, { gd: t }) + .on("edit", function (e) { + void 0 !== x + ? o.call("_guiRestyle", t, y, e, x) + : o.call("_guiRelayout", t, y, e); + }) + .on("cancel", function () { + this.text(this.attr("data-unformatted")).call( + F, + ); + }) + .on("input", function (t) { + this.text(t || " ").call( + f.positionText, + _.x, + _.y, + ); + })), + R.classed("js-placeholder", M), + T + ); + }, + }; + }, + 7163: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(22399), + a = r(1426).extendFlat, + o = r(30962).overrideAll, + s = r(35025), + l = r(44467).templatedArray, + u = l("button", { + visible: { valType: "boolean" }, + method: { + valType: "enumerated", + values: [ + "restyle", + "relayout", + "animate", + "update", + "skip", + ], + dflt: "restyle", + }, + args: { + valType: "info_array", + freeLength: !0, + items: [ + { valType: "any" }, + { valType: "any" }, + { valType: "any" }, + ], + }, + args2: { + valType: "info_array", + freeLength: !0, + items: [ + { valType: "any" }, + { valType: "any" }, + { valType: "any" }, + ], + }, + label: { valType: "string", dflt: "" }, + execute: { valType: "boolean", dflt: !0 }, + }); + t.exports = o( + l("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: u, + x: { + valType: "number", + min: -2, + max: 3, + dflt: -0.05, + }, + xanchor: { + valType: "enumerated", + values: ["auto", "left", "center", "right"], + dflt: "right", + }, + y: { valType: "number", min: -2, max: 3, dflt: 1 }, + yanchor: { + valType: "enumerated", + values: ["auto", "top", "middle", "bottom"], + dflt: "top", + }, + pad: a(s({ editType: "arraydraw" }), {}), + font: n({}), + bgcolor: { valType: "color" }, + bordercolor: { valType: "color", dflt: i.borderLine }, + borderwidth: { + valType: "number", + min: 0, + dflt: 1, + editType: "arraydraw", + }, + }), + "arraydraw", + "from-root", + ); + }, + 75909: function (t) { + "use strict"; + t.exports = { + name: "updatemenus", + containerClassName: "updatemenu-container", + headerGroupClassName: "updatemenu-header-group", + headerClassName: "updatemenu-header", + headerArrowClassName: "updatemenu-header-arrow", + dropdownButtonGroupClassName: + "updatemenu-dropdown-button-group", + dropdownButtonClassName: "updatemenu-dropdown-button", + buttonClassName: "updatemenu-button", + itemRectClassName: "updatemenu-item-rect", + itemTextClassName: "updatemenu-item-text", + menuIndexAttrName: "updatemenu-active-index", + autoMarginIdRoot: "updatemenu-", + blankHeaderOpts: { label: " " }, + minWidth: 30, + minHeight: 30, + textPadX: 24, + arrowPadX: 16, + rx: 2, + ry: 2, + textOffsetX: 12, + textOffsetY: 3, + arrowOffsetX: 4, + gapButtonHeader: 5, + gapButton: 2, + activeColor: "#F4FAFF", + hoverColor: "#F4FAFF", + arrowSymbol: { + left: "◄", + right: "►", + up: "▲", + down: "▼", + }, + }; + }, + 64897: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(85501), + a = r(7163), + o = r(75909).name, + s = a.buttons; + function l(t, e, r) { + function o(r, i) { + return n.coerce(t, e, a, r, i); + } + o( + "visible", + i(t, e, { name: "buttons", handleItemDefaults: u }) + .length > 0, + ) && + (o("active"), + o("direction"), + o("type"), + o("showactive"), + o("x"), + o("y"), + n.noneOrAll(t, e, ["x", "y"]), + o("xanchor"), + o("yanchor"), + o("pad.t"), + o("pad.r"), + o("pad.b"), + o("pad.l"), + n.coerceFont(o, "font", r.font), + o("bgcolor", r.paper_bgcolor), + o("bordercolor"), + o("borderwidth")); + } + function u(t, e) { + function r(r, i) { + return n.coerce(t, e, s, r, i); + } + r( + "visible", + "skip" === t.method || Array.isArray(t.args), + ) && + (r("method"), + r("args"), + r("args2"), + r("label"), + r("execute")); + } + t.exports = function (t, e) { + i(t, e, { name: o, handleItemDefaults: l }); + }; + }, + 13689: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(74875), + a = r(7901), + o = r(91424), + s = r(71828), + l = r(63893), + u = r(44467).arrayEditor, + c = r(18783).LINE_SPACING, + f = r(75909), + h = r(25849); + function p(t) { + return t._index; + } + function d(t, e) { + return +t.attr(f.menuIndexAttrName) === e._index; + } + function v(t, e, r, n, i, a, o, s) { + (e.active = o), + u(t.layout, f.name, e).applyUpdate("active", o), + "buttons" === e.type + ? y(t, n, null, null, e) + : "dropdown" === e.type && + (i.attr(f.menuIndexAttrName, "-1"), + g(t, n, i, a, e), + s || y(t, n, i, a, e)); + } + function g(t, e, r, n, i) { + var a = s.ensureSingle( + e, + "g", + f.headerClassName, + function (t) { + t.style("pointer-events", "all"); + }, + ), + l = i._dims, + u = i.active, + c = i.buttons[u] || f.blankHeaderOpts, + h = { + y: i.pad.t, + yPad: 0, + x: i.pad.l, + xPad: 0, + index: 0, + }, + p = { width: l.headerWidth, height: l.headerHeight }; + a.call(m, i, c, t).call(M, i, h, p), + s + .ensureSingle( + e, + "text", + f.headerArrowClassName, + function (t) { + t.attr("text-anchor", "end") + .call(o.font, i.font) + .text(f.arrowSymbol[i.direction]); + }, + ) + .attr({ + x: l.headerWidth - f.arrowOffsetX + i.pad.l, + y: l.headerHeight / 2 + f.textOffsetY + i.pad.t, + }), + a.on("click", function () { + r.call(S, String(d(r, i) ? -1 : i._index)), + y(t, e, r, n, i); + }), + a.on("mouseover", function () { + a.call(w); + }), + a.on("mouseout", function () { + a.call(T, i); + }), + o.setTranslate(e, l.lx, l.ly); + } + function y(t, e, r, a, o) { + r || (r = e).attr("pointer-events", "all"); + var l = + (function (t) { + return -1 == +t.attr(f.menuIndexAttrName); + })(r) && "buttons" !== o.type + ? [] + : o.buttons, + u = + "dropdown" === o.type + ? f.dropdownButtonClassName + : f.buttonClassName, + c = r.selectAll("g." + u).data(s.filterVisible(l)), + h = c.enter().append("g").classed(u, !0), + p = c.exit(); + "dropdown" === o.type + ? (h + .attr("opacity", "0") + .transition() + .attr("opacity", "1"), + p.transition().attr("opacity", "0").remove()) + : p.remove(); + var d = 0, + g = 0, + y = o._dims, + x = -1 !== ["up", "down"].indexOf(o.direction); + "dropdown" === o.type && + (x + ? (g = y.headerHeight + f.gapButtonHeader) + : (d = y.headerWidth + f.gapButtonHeader)), + "dropdown" === o.type && + "up" === o.direction && + (g = + -f.gapButtonHeader + f.gapButton - y.openHeight), + "dropdown" === o.type && + "left" === o.direction && + (d = + -f.gapButtonHeader + f.gapButton - y.openWidth); + var b = { + x: y.lx + d + o.pad.l, + y: y.ly + g + o.pad.t, + yPad: f.gapButton, + xPad: f.gapButton, + index: 0, + }, + k = { + l: b.x + o.borderwidth, + t: b.y + o.borderwidth, + }; + c.each(function (s, l) { + var u = n.select(this); + u.call(m, o, s, t).call(M, o, b), + u.on("click", function () { + n.event.defaultPrevented || + (s.execute && + (s.args2 && o.active === l + ? (v(t, o, 0, e, r, a, -1), + i.executeAPICommand(t, s.method, s.args2)) + : (v(t, o, 0, e, r, a, l), + i.executeAPICommand( + t, + s.method, + s.args, + ))), + t.emit("plotly_buttonclicked", { + menu: o, + button: s, + active: o.active, + })); + }), + u.on("mouseover", function () { + u.call(w); + }), + u.on("mouseout", function () { + u.call(T, o), c.call(_, o); + }); + }), + c.call(_, o), + x + ? ((k.w = Math.max(y.openWidth, y.headerWidth)), + (k.h = b.y - k.t)) + : ((k.w = b.x - k.l), + (k.h = Math.max(y.openHeight, y.headerHeight))), + (k.direction = o.direction), + a && + (c.size() + ? (function (t, e, r, n, i, a) { + var o, + s, + l, + u = i.direction, + c = "up" === u || "down" === u, + h = i._dims, + p = i.active; + if (c) + for (s = 0, l = 0; l < p; l++) + s += h.heights[l] + f.gapButton; + else + for (o = 0, l = 0; l < p; l++) + o += h.widths[l] + f.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, a, o, k) + : (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(); + }); + })(a)); + } + function m(t, e, r, n) { + t.call(x, e).call(b, e, r, n); + } + function x(t, e) { + s.ensureSingle( + t, + "rect", + f.itemRectClassName, + function (t) { + t.attr({ + rx: f.rx, + ry: f.ry, + "shape-rendering": "crispEdges", + }); + }, + ) + .call(a.stroke, e.bordercolor) + .call(a.fill, e.bgcolor) + .style("stroke-width", e.borderwidth + "px"); + } + function b(t, e, r, n) { + var i = s.ensureSingle( + t, + "text", + f.itemTextClassName, + function (t) { + t.attr({ + "text-anchor": "start", + "data-notex": 1, + }); + }, + ), + a = r.label, + u = n._fullLayout._meta; + u && (a = s.templateString(a, u)), + i + .call(o.font, e.font) + .text(a) + .call(l.convertToTspans, n); + } + function _(t, e) { + var r = e.active; + t.each(function (t, i) { + var o = n.select(this); + i === r && + e.showactive && + o + .select("rect." + f.itemRectClassName) + .call(a.fill, f.activeColor); + }); + } + function w(t) { + t.select("rect." + f.itemRectClassName).call( + a.fill, + f.hoverColor, + ); + } + function T(t, e) { + t.select("rect." + f.itemRectClassName).call( + a.fill, + e.bgcolor, + ); + } + function k(t, e) { + var r = (e._dims = { + width1: 0, + height1: 0, + heights: [], + widths: [], + totalWidth: 0, + totalHeight: 0, + openWidth: 0, + openHeight: 0, + lx: 0, + ly: 0, + }), + a = o.tester + .selectAll("g." + f.dropdownButtonClassName) + .data(s.filterVisible(e.buttons)); + a.enter() + .append("g") + .classed(f.dropdownButtonClassName, !0); + var u = -1 !== ["up", "down"].indexOf(e.direction); + a.each(function (i, a) { + var s = n.select(this); + s.call(m, e, i, t); + var h = s.select("." + f.itemTextClassName), + p = h.node() && o.bBox(h.node()).width, + d = Math.max(p + f.textPadX, f.minWidth), + v = e.font.size * c, + g = l.lineCount(h), + y = Math.max(v * g, f.minHeight) + f.textOffsetY; + (y = Math.ceil(y)), + (d = Math.ceil(d)), + (r.widths[a] = d), + (r.heights[a] = y), + (r.height1 = Math.max(r.height1, y)), + (r.width1 = Math.max(r.width1, d)), + u + ? ((r.totalWidth = Math.max(r.totalWidth, d)), + (r.openWidth = r.totalWidth), + (r.totalHeight += y + f.gapButton), + (r.openHeight += y + f.gapButton)) + : ((r.totalWidth += d + f.gapButton), + (r.openWidth += d + f.gapButton), + (r.totalHeight = Math.max(r.totalHeight, y)), + (r.openHeight = r.totalHeight)); + }), + u + ? (r.totalHeight -= f.gapButton) + : (r.totalWidth -= f.gapButton), + (r.headerWidth = r.width1 + f.arrowPadX), + (r.headerHeight = r.height1), + "dropdown" === e.type && + (u + ? ((r.width1 += f.arrowPadX), + (r.totalHeight = r.height1)) + : (r.totalWidth = r.width1), + (r.totalWidth += f.arrowPadX)), + a.remove(); + var h = r.totalWidth + e.pad.l + e.pad.r, + p = r.totalHeight + e.pad.t + e.pad.b, + d = t._fullLayout._size; + (r.lx = d.l + d.w * e.x), + (r.ly = d.t + d.h * (1 - e.y)); + var v = "left"; + s.isRightAnchor(e) && ((r.lx -= h), (v = "right")), + s.isCenterAnchor(e) && + ((r.lx -= h / 2), (v = "center")); + var g = "top"; + s.isBottomAnchor(e) && ((r.ly -= p), (g = "bottom")), + s.isMiddleAnchor(e) && + ((r.ly -= p / 2), (g = "middle")), + (r.totalWidth = Math.ceil(r.totalWidth)), + (r.totalHeight = Math.ceil(r.totalHeight)), + (r.lx = Math.round(r.lx)), + (r.ly = Math.round(r.ly)), + i.autoMargin(t, A(e), { + x: e.x, + y: e.y, + l: h * ({ right: 1, center: 0.5 }[v] || 0), + r: h * ({ left: 1, center: 0.5 }[v] || 0), + b: p * ({ top: 1, middle: 0.5 }[g] || 0), + t: p * ({ bottom: 1, middle: 0.5 }[g] || 0), + }); + } + function A(t) { + return f.autoMarginIdRoot + t._index; + } + function M(t, e, r, n) { + n = n || {}; + var i = t.select("." + f.itemRectClassName), + a = t.select("." + f.itemTextClassName), + s = e.borderwidth, + u = r.index, + h = e._dims; + o.setTranslate(t, s + r.x, s + r.y); + var p = -1 !== ["up", "down"].indexOf(e.direction), + d = n.height || (p ? h.heights[u] : h.height1); + i.attr({ + x: 0, + y: 0, + width: n.width || (p ? h.width1 : h.widths[u]), + height: d, + }); + var v = e.font.size * c, + g = ((l.lineCount(a) - 1) * v) / 2; + l.positionText( + a, + f.textOffsetX, + d / 2 - g + f.textOffsetY, + ), + p + ? (r.y += h.heights[u] + r.yPad) + : (r.x += h.widths[u] + r.xPad), + r.index++; + } + function S(t, e) { + t.attr(f.menuIndexAttrName, e || "-1") + .selectAll("g." + f.dropdownButtonClassName) + .remove(); + } + t.exports = function (t) { + var e = t._fullLayout, + r = s.filterVisible(e[f.name]); + function a(e) { + i.autoMargin(t, A(e)); + } + var o = e._menulayer + .selectAll("g." + f.containerClassName) + .data(r.length > 0 ? [0] : []); + if ( + (o + .enter() + .append("g") + .classed(f.containerClassName, !0) + .style("cursor", "pointer"), + o + .exit() + .each(function () { + n.select(this) + .selectAll("g." + f.headerGroupClassName) + .each(a); + }) + .remove(), + 0 !== r.length) + ) { + var l = o + .selectAll("g." + f.headerGroupClassName) + .data(r, p); + l.enter() + .append("g") + .classed(f.headerGroupClassName, !0); + for ( + var u = s.ensureSingle( + o, + "g", + f.dropdownButtonGroupClassName, + function (t) { + t.style("pointer-events", "all"); + }, + ), + c = 0; + c < r.length; + c++ + ) { + var m = r[c]; + k(t, m); + } + var x = "updatemenus" + e._uid, + b = new h(t, u, x); + l.enter().size() && + (u.node().parentNode.appendChild(u.node()), + u.call(S)), + l + .exit() + .each(function (t) { + u.call(S), a(t); + }) + .remove(), + l.each(function (e) { + var r = n.select(this), + a = "dropdown" === e.type ? u : null; + i.manageCommandObserver( + t, + e, + e.buttons, + function (n) { + v( + t, + e, + e.buttons[n.index], + r, + a, + b, + n.index, + !0, + ); + }, + ), + "dropdown" === e.type + ? (g(t, r, u, b, e), + d(u, e) && y(t, r, u, b, e)) + : y(t, r, null, null, e); + }); + } + }; + }, + 20763: function (t, e, r) { + "use strict"; + var n = r(75909); + t.exports = { + moduleType: "component", + name: n.name, + layoutAttributes: r(7163), + supplyLayoutDefaults: r(64897), + draw: r(13689), + }; + }, + 25849: function (t, e, r) { + "use strict"; + t.exports = s; + var n = r(39898), + i = r(7901), + a = r(91424), + o = r(71828); + function s(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, + }); + } + (s.barWidth = 2), + (s.barLength = 20), + (s.barRadius = 2), + (s.barPad = 1), + (s.barColor = "#808BA4"), + (s.prototype.enable = function (t, e, r) { + var o = this.gd._fullLayout, + l = o.width, + u = o.height; + this.position = t; + var c, + f, + h, + p, + d = this.position.l, + v = this.position.w, + g = this.position.t, + y = this.position.h, + m = this.position.direction, + x = "down" === m, + b = "left" === m, + _ = "up" === m, + w = v, + T = y; + x || + b || + "right" === m || + _ || + ((this.position.direction = "down"), (x = !0)), + x || _ + ? ((f = (c = d) + w), + x + ? ((h = g), + (T = (p = Math.min(h + T, u)) - h)) + : (T = + (p = g + T) - (h = Math.max(p - T, 0)))) + : ((p = (h = g) + T), + b + ? (w = (f = d + w) - (c = Math.max(f - w, 0))) + : ((c = d), + (w = (f = Math.min(c + w, l)) - c))), + (this._box = { l: c, t: h, w, h: T }); + var k = v > w, + A = s.barLength + 2 * s.barPad, + M = s.barWidth + 2 * s.barPad, + S = d, + E = g + y; + E + M > u && (E = u - M); + var L = this.container + .selectAll("rect.scrollbar-horizontal") + .data(k ? [0] : []); + L.exit().on(".drag", null).remove(), + L.enter() + .append("rect") + .classed("scrollbar-horizontal", !0) + .call(i.fill, s.barColor), + k + ? ((this.hbar = L.attr({ + rx: s.barRadius, + ry: s.barRadius, + x: S, + y: E, + width: A, + height: M, + })), + (this._hbarXMin = S + A / 2), + (this._hbarTranslateMax = w - A)) + : (delete this.hbar, + delete this._hbarXMin, + delete this._hbarTranslateMax); + var C = y > T, + O = s.barWidth + 2 * s.barPad, + P = s.barLength + 2 * s.barPad, + I = d + v, + D = g; + I + O > l && (I = l - O); + var z = this.container + .selectAll("rect.scrollbar-vertical") + .data(C ? [0] : []); + z.exit().on(".drag", null).remove(), + z + .enter() + .append("rect") + .classed("scrollbar-vertical", !0) + .call(i.fill, s.barColor), + C + ? ((this.vbar = z.attr({ + rx: s.barRadius, + ry: s.barRadius, + x: I, + y: D, + width: O, + height: P, + })), + (this._vbarYMin = D + P / 2), + (this._vbarTranslateMax = T - P)) + : (delete this.vbar, + delete this._vbarYMin, + delete this._vbarTranslateMax); + var R = this.id, + F = c - 0.5, + B = C ? f + O + 0.5 : f + 0.5, + N = h - 0.5, + j = k ? p + M + 0.5 : p + 0.5, + U = o._topdefs + .selectAll("#" + R) + .data(k || C ? [0] : []); + if ( + (U.exit().remove(), + U.enter() + .append("clipPath") + .attr("id", R) + .append("rect"), + k || C + ? ((this._clipRect = U.select("rect").attr({ + x: Math.floor(F), + y: Math.floor(N), + width: Math.ceil(B) - Math.floor(F), + height: Math.ceil(j) - Math.floor(N), + })), + this.container.call(a.setClipUrl, R, this.gd), + this.bg.attr({ + x: d, + y: g, + width: v, + height: y, + })) + : (this.bg.attr({ width: 0, height: 0 }), + this.container + .on("wheel", null) + .on(".drag", null) + .call(a.setClipUrl, null), + delete this._clipRect), + k || C) + ) { + var V = n.behavior + .drag() + .on("dragstart", function () { + n.event.sourceEvent.preventDefault(); + }) + .on("drag", this._onBoxDrag.bind(this)); + this.container + .on("wheel", null) + .on("wheel", this._onBoxWheel.bind(this)) + .on(".drag", null) + .call(V); + var H = n.behavior + .drag() + .on("dragstart", function () { + n.event.sourceEvent.preventDefault(), + n.event.sourceEvent.stopPropagation(); + }) + .on("drag", this._onBarDrag.bind(this)); + k && this.hbar.on(".drag", null).call(H), + C && this.vbar.on(".drag", null).call(H); + } + this.setTranslate(e, r); + }), + (s.prototype.disable = function () { + (this.hbar || this.vbar) && + (this.bg.attr({ width: 0, height: 0 }), + this.container + .on("wheel", null) + .on(".drag", null) + .call(a.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); + }), + (s.prototype._onBoxDrag = function () { + var t = this.translateX, + e = this.translateY; + this.hbar && (t -= n.event.dx), + this.vbar && (e -= n.event.dy), + this.setTranslate(t, e); + }), + (s.prototype._onBoxWheel = function () { + var t = this.translateX, + e = this.translateY; + this.hbar && (t += n.event.deltaY), + this.vbar && (e += n.event.deltaY), + this.setTranslate(t, e); + }), + (s.prototype._onBarDrag = function () { + var t = this.translateX, + e = this.translateY; + if (this.hbar) { + var r = t + this._hbarXMin, + i = r + this._hbarTranslateMax; + t = + ((o.constrain(n.event.x, r, i) - r) / (i - r)) * + (this.position.w - this._box.w); + } + if (this.vbar) { + var a = e + this._vbarYMin, + s = a + this._vbarTranslateMax; + e = + ((o.constrain(n.event.y, a, s) - a) / (s - a)) * + (this.position.h - this._box.h); + } + this.setTranslate(t, e); + }), + (s.prototype.setTranslate = function (t, e) { + var r = this.position.w - this._box.w, + n = this.position.h - this._box.h; + if ( + ((t = o.constrain(t || 0, 0, r)), + (e = o.constrain(e || 0, 0, n)), + (this.translateX = t), + (this.translateY = e), + this.container.call( + a.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 - 0.5), + y: Math.floor(this.position.t + e - 0.5), + }), + this.hbar) + ) { + var i = t / r; + this.hbar.call( + a.setTranslate, + t + i * this._hbarTranslateMax, + e, + ); + } + if (this.vbar) { + var s = e / n; + this.vbar.call( + a.setTranslate, + t, + e + s * this._vbarTranslateMax, + ); + } + }); + }, + 18783: function (t) { + "use strict"; + t.exports = { + FROM_BL: { + left: 0, + center: 0.5, + right: 1, + bottom: 0, + middle: 0.5, + top: 1, + }, + FROM_TL: { + left: 0, + center: 0.5, + right: 1, + bottom: 1, + middle: 0.5, + top: 0, + }, + FROM_BR: { + left: 1, + center: 0.5, + right: 0, + bottom: 0, + middle: 0.5, + top: 1, + }, + LINE_SPACING: 1.3, + CAP_SHIFT: 0.7, + MID_SHIFT: 0.35, + OPPOSITE_SIDE: { + left: "right", + right: "left", + top: "bottom", + bottom: "top", + }, + }; + }, + 24695: function (t) { + "use strict"; + t.exports = { + axisRefDescription: function (t, e, r) { + return [ + "If set to a", + t, + "axis id (e.g. *" + t + "* or", + "*" + + t + + "2*), the `" + + t + + "` position refers to a", + t, + "coordinate. If set to *paper*, the `" + t + "`", + "position refers to the distance from the", + e, + "of the plotting", + "area in normalized coordinates where *0* (*1*) corresponds to the", + e, + "(" + r + "). If set to a", + t, + "axis ID followed by", + "*domain* (separated by a space), the position behaves like for", + "*paper*, but refers to the distance in fractions of the domain", + "length from the", + e, + "of the domain of that axis: e.g.,", + "*" + + t + + "2 domain* refers to the domain of the second", + t, + " axis and a", + t, + "position of 0.5 refers to the", + "point between the", + e, + "and the", + r, + "of the domain of the", + "second", + t, + "axis.", + ].join(" "); + }, + }; + }, + 22372: function (t) { + "use strict"; + t.exports = { + INCREASING: { COLOR: "#3D9970", SYMBOL: "▲" }, + DECREASING: { COLOR: "#FF4136", SYMBOL: "▼" }, + }; + }, + 31562: function (t) { + "use strict"; + t.exports = { + FORMAT_LINK: + "https://github.com/d3/d3-format/tree/v1.4.5#d3-format", + DATE_FORMAT_LINK: + "https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format", + }; + }, + 74808: function (t) { + "use strict"; + t.exports = { + COMPARISON_OPS: ["=", "!=", "<", ">=", ">", "<="], + COMPARISON_OPS2: ["=", "<", ">=", ">", "<="], + INTERVAL_OPS: [ + "[]", + "()", + "[)", + "(]", + "][", + ")(", + "](", + ")[", + ], + SET_OPS: ["{}", "}{"], + CONSTRAINT_REDUCTION: { + "=": "=", + "<": "<", + "<=": "<", + ">": ">", + ">=": ">", + "[]": "[]", + "()": "[]", + "[)": "[]", + "(]": "[]", + "][": "][", + ")(": "][", + "](": "][", + ")[": "][", + }, + }; + }, + 29659: function (t) { + "use strict"; + t.exports = { + solid: [[], 0], + dot: [[0.5, 1], 200], + dash: [[0.5, 1], 50], + longdash: [[0.5, 1], 10], + dashdot: [[0.5, 0.625, 0.875, 1], 50], + longdashdot: [[0.5, 0.7, 0.8, 1], 10], + }; + }, + 87381: function (t) { + "use strict"; + t.exports = { + circle: "●", + "circle-open": "○", + square: "■", + "square-open": "□", + diamond: "◆", + "diamond-open": "◇", + cross: "+", + x: "❌", + }; + }, + 37822: function (t) { + "use strict"; + t.exports = { + SHOW_PLACEHOLDER: 100, + HIDE_PLACEHOLDER: 1e3, + DESELECTDIM: 0.2, + }; + }, + 50606: function (t) { + "use strict"; + t.exports = { + BADNUM: void 0, + FP_SAFE: 1e-4 * Number.MAX_VALUE, + ONEMAXYEAR: 316224e5, + ONEAVGYEAR: 315576e5, + ONEMINYEAR: 31536e6, + ONEMAXQUARTER: 79488e5, + ONEAVGQUARTER: 78894e5, + ONEMINQUARTER: 76896e5, + ONEMAXMONTH: 26784e5, + ONEAVGMONTH: 26298e5, + ONEMINMONTH: 24192e5, + ONEWEEK: 6048e5, + ONEDAY: 864e5, + ONEHOUR: 36e5, + ONEMIN: 6e4, + ONESEC: 1e3, + EPOCHJD: 2440587.5, + ALMOST_EQUAL: 0.999999, + LOG_CLIP: 10, + MINUS_SIGN: "−", + }; + }, + 32396: function (t, e) { + "use strict"; + (e.CSS_DECLARATIONS = [ + ["image-rendering", "optimizeSpeed"], + ["image-rendering", "-moz-crisp-edges"], + ["image-rendering", "-o-crisp-edges"], + ["image-rendering", "-webkit-optimize-contrast"], + ["image-rendering", "optimize-contrast"], + ["image-rendering", "crisp-edges"], + ["image-rendering", "pixelated"], + ]), + (e.STYLE = e.CSS_DECLARATIONS.map(function (t) { + return t.join(": ") + "; "; + }).join("")); + }, + 77922: function (t, e) { + "use strict"; + (e.xmlns = "http://www.w3.org/2000/xmlns/"), + (e.svg = "http://www.w3.org/2000/svg"), + (e.xlink = "http://www.w3.org/1999/xlink"), + (e.svgAttrs = { xmlns: e.svg, "xmlns:xlink": e.xlink }); + }, + 8729: function (t, e, r) { + "use strict"; + (e.version = r(11506).version), r(7417), r(98847); + for ( + var n = r(73972), + i = (e.register = n.register), + a = r(10641), + o = Object.keys(a), + s = 0; + s < o.length; + s++ + ) { + var l = o[s]; + "_" !== l.charAt(0) && (e[l] = a[l]), + i({ moduleType: "apiMethod", name: l, fn: a[l] }); + } + i(r(67368)), + i([ + r(32745), + r(2468), + r(47322), + r(89853), + r(68804), + r(20763), + r(23243), + r(13137), + r(97218), + r(83312), + r(37369), + r(21081), + r(12311), + r(2199), + r(30211), + r(64168), + ]), + i([r(92177), r(37815)]), + window.PlotlyLocales && + Array.isArray(window.PlotlyLocales) && + (i(window.PlotlyLocales), + delete window.PlotlyLocales), + (e.Icons = r(24255)); + var u = r(30211), + c = r(74875); + (e.Plots = { + resize: c.resize, + graphJson: c.graphJson, + sendDataToCloud: c.sendDataToCloud, + }), + (e.Fx = { + hover: u.hover, + unhover: u.unhover, + loneHover: u.loneHover, + loneUnhover: u.loneUnhover, + }), + (e.Snapshot = r(44511)), + (e.PlotSchema = r(86281)); + }, + 24255: function (t) { + "use strict"; + t.exports = { + undo: { + width: 857.1, + height: 1e3, + 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + home: { + width: 928.6, + height: 1e3, + 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + "camera-retro": { + width: 1e3, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + zoombox: { + width: 1e3, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + pan: { + width: 1e3, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + zoom_plus: { + width: 875, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + zoom_minus: { + width: 875, + height: 1e3, + path: "m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z", + transform: "matrix(1 0 0 -1 0 850)", + }, + autoscale: { + width: 1e3, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + tooltip_basic: { + width: 1500, + height: 1e3, + path: "m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z", + transform: "matrix(1 0 0 -1 0 850)", + }, + tooltip_compare: { + width: 1125, + height: 1e3, + 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + plotlylogo: { + width: 1542, + height: 1e3, + 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + "z-axis": { + width: 1e3, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + "3d_rotate": { + width: 1e3, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + camera: { + width: 1e3, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + movie: { + width: 1e3, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + question: { + width: 857.1, + height: 1e3, + 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + disk: { + width: 857.1, + height: 1e3, + 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + drawopenpath: { + width: 70, + height: 70, + path: "M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z", + transform: "matrix(1 0 0 1 -15 -15)", + }, + drawclosedpath: { + width: 90, + height: 90, + path: "M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z", + transform: "matrix(1 0 0 1 -5 -5)", + }, + lasso: { + width: 1031, + height: 1e3, + 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + selectbox: { + width: 1e3, + height: 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", + transform: "matrix(1 0 0 -1 0 850)", + }, + drawline: { + width: 70, + height: 70, + path: "M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z", + transform: "matrix(1 0 0 1 -15 -15)", + }, + drawrect: { + width: 80, + height: 80, + path: "M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z", + transform: "matrix(1 0 0 1 -10 -10)", + }, + drawcircle: { + width: 80, + height: 80, + path: "M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z", + transform: "matrix(1 0 0 1 -10 -10)", + }, + eraseshape: { + width: 80, + height: 80, + path: "M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z", + transform: "matrix(1 0 0 1 -10 -10)", + }, + spikeline: { + width: 1e3, + height: 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", + transform: "matrix(1.5 0 0 -1.5 0 850)", + }, + pencil: { + width: 1792, + height: 1792, + path: "M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z", + transform: "matrix(1 0 0 1 0 1)", + }, + newplotlylogo: { + name: "newplotlylogo", + svg: [ + "", + "", + " ", + "", + " plotly-logomark", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "", + ].join(""), + }, + }; + }, + 99863: function (t, e) { + "use strict"; + (e.isLeftAnchor = function (t) { + return ( + "left" === t.xanchor || + ("auto" === t.xanchor && t.x <= 1 / 3) + ); + }), + (e.isCenterAnchor = function (t) { + return ( + "center" === t.xanchor || + ("auto" === t.xanchor && t.x > 1 / 3 && t.x < 2 / 3) + ); + }), + (e.isRightAnchor = function (t) { + return ( + "right" === t.xanchor || + ("auto" === t.xanchor && t.x >= 2 / 3) + ); + }), + (e.isTopAnchor = function (t) { + return ( + "top" === t.yanchor || + ("auto" === t.yanchor && t.y >= 2 / 3) + ); + }), + (e.isMiddleAnchor = function (t) { + return ( + "middle" === t.yanchor || + ("auto" === t.yanchor && t.y > 1 / 3 && t.y < 2 / 3) + ); + }), + (e.isBottomAnchor = function (t) { + return ( + "bottom" === t.yanchor || + ("auto" === t.yanchor && t.y <= 1 / 3) + ); + }); + }, + 26348: function (t, e, r) { + "use strict"; + var n = r(64872), + i = n.mod, + a = n.modHalf, + o = Math.PI, + s = 2 * o; + function l(t) { + return Math.abs(t[1] - t[0]) > s - 1e-14; + } + function u(t, e) { + return a(e - t, s); + } + function c(t, e) { + if (l(e)) return !0; + var r, n; + e[0] < e[1] + ? ((r = e[0]), (n = e[1])) + : ((r = e[1]), (n = e[0])), + (r = i(r, s)) > (n = i(n, s)) && (n += s); + var a = i(t, s), + o = a + s; + return (a >= r && a <= n) || (o >= r && o <= n); + } + function f(t, e, r, n, i, a, u) { + (i = i || 0), (a = a || 0); + var c, + f, + h, + p, + d, + v = l([r, n]); + function g(t, e) { + return [t * Math.cos(e) + i, a - t * Math.sin(e)]; + } + v + ? ((c = 0), (f = o), (h = s)) + : r < n + ? ((c = r), (h = n)) + : ((c = n), (h = r)), + t < e ? ((p = t), (d = e)) : ((p = e), (d = t)); + var y, + m = Math.abs(h - c) <= o ? 0 : 1; + function x(t, e, r) { + return "A" + [t, t] + " " + [0, m, r] + " " + g(t, e); + } + return ( + v + ? (y = + null === p + ? "M" + + g(d, c) + + x(d, f, 0) + + x(d, h, 0) + + "Z" + : "M" + + g(p, c) + + x(p, f, 0) + + x(p, h, 0) + + "ZM" + + g(d, c) + + x(d, f, 1) + + x(d, h, 1) + + "Z") + : null === p + ? ((y = "M" + g(d, c) + x(d, h, 0)), + u && (y += "L0,0Z")) + : (y = + "M" + + g(p, c) + + "L" + + g(d, c) + + x(d, h, 0) + + "L" + + g(p, h) + + x(p, c, 1) + + "Z"), + y + ); + } + t.exports = { + deg2rad: function (t) { + return (t / 180) * o; + }, + rad2deg: function (t) { + return (t / o) * 180; + }, + angleDelta: u, + angleDist: function (t, e) { + return Math.abs(u(t, e)); + }, + isFullCircle: l, + isAngleInsideSector: c, + isPtInsideSector: function (t, e, r, n) { + return ( + !!c(e, n) && + (r[0] < r[1] + ? ((i = r[0]), (a = r[1])) + : ((i = r[1]), (a = r[0])), + t >= i && t <= a) + ); + var i, a; + }, + pathArc: function (t, e, r, n, i) { + return f(null, t, e, r, n, i, 0); + }, + pathSector: function (t, e, r, n, i) { + return f(null, t, e, r, n, i, 1); + }, + pathAnnulus: function (t, e, r, n, i, a) { + return f(t, e, r, n, i, a, 1); + }, + }; + }, + 73627: function (t, e) { + "use strict"; + var r = Array.isArray, + n = ArrayBuffer, + i = DataView; + function a(t) { + return n.isView(t) && !(t instanceof i); + } + function o(t) { + return r(t) || a(t); + } + function s(t, e, r) { + if (o(t)) { + if (o(t[0])) { + for (var n = r, i = 0; i < t.length; i++) + n = e(n, t[i].length); + return n; + } + return t.length; + } + return 0; + } + (e.isTypedArray = a), + (e.isArrayOrTypedArray = o), + (e.isArray1D = function (t) { + return !o(t[0]); + }), + (e.ensureArray = function (t, e) { + return r(t) || (t = []), (t.length = e), t; + }), + (e.concat = function () { + var t, + e, + n, + i, + a, + o, + s, + l, + u = [], + c = !0, + f = 0; + for (n = 0; n < arguments.length; n++) + (o = (i = arguments[n]).length) && + (e ? u.push(i) : ((e = i), (a = o)), + r(i) + ? (t = !1) + : ((c = !1), + f + ? t !== i.constructor && (t = !1) + : (t = i.constructor)), + (f += o)); + if (!f) return []; + if (!u.length) return e; + if (c) return e.concat.apply(e, u); + if (t) { + for ( + (s = new t(f)).set(e), n = 0; + n < u.length; + n++ + ) + (i = u[n]), s.set(i, a), (a += i.length); + return s; + } + for (s = new Array(f), l = 0; l < e.length; l++) + s[l] = e[l]; + for (n = 0; n < u.length; n++) { + for (i = u[n], l = 0; l < i.length; l++) + s[a + l] = i[l]; + a += l; + } + return s; + }), + (e.maxRowLength = function (t) { + return s(t, Math.max, 0); + }), + (e.minRowLength = function (t) { + return s(t, Math.min, 1 / 0); + }); + }, + 95218: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(50606).BADNUM, + a = /^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g; + t.exports = function (t) { + return ( + "string" == typeof t && (t = t.replace(a, "")), + n(t) ? Number(t) : i + ); + }; + }, + 33306: function (t) { + "use strict"; + t.exports = function (t) { + var e = t._fullLayout; + e._glcanvas && + e._glcanvas.size() && + e._glcanvas.each(function (t) { + t.regl && t.regl.clear({ color: !0, depth: !0 }); + }); + }; + }, + 86367: function (t) { + "use strict"; + t.exports = function (t) { + t._responsiveChartHandler && + (window.removeEventListener( + "resize", + t._responsiveChartHandler, + ), + delete t._responsiveChartHandler); + }; + }, + 96554: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(84267), + a = r(9012), + o = r(63282), + s = r(7901), + l = r(37822).DESELECTDIM, + u = r(65487), + c = r(30587).counter, + f = r(64872).modHalf, + h = r(73627).isArrayOrTypedArray; + function p(t, r) { + var n = e.valObjectMeta[r.valType]; + if (r.arrayOk && h(t)) return !0; + if (n.validateFunction) return n.validateFunction(t, r); + var i = {}, + a = i, + o = { + set: function (t) { + a = t; + }, + }; + return n.coerceFunction(t, o, i, r), a !== i; + } + (e.valObjectMeta = { + data_array: { + coerceFunction: function (t, e, r) { + h(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, r, i) { + !n(t) || + (void 0 !== i.min && t < i.min) || + (void 0 !== i.max && t > i.max) + ? e.set(r) + : e.set(+t); + }, + }, + integer: { + coerceFunction: function (t, e, r, i) { + t % 1 || + !n(t) || + (void 0 !== i.min && t < i.min) || + (void 0 !== i.max && t > i.max) + ? e.set(r) + : e.set(+t); + }, + }, + string: { + coerceFunction: function (t, e, r, n) { + if ("string" != typeof t) { + var i = "number" == typeof t; + !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) { + i(t).isValid() ? e.set(t) : e.set(r); + }, + }, + colorlist: { + coerceFunction: function (t, e, r) { + Array.isArray(t) && + t.length && + t.every(function (t) { + return i(t).isValid(); + }) + ? e.set(t) + : e.set(r); + }, + }, + colorscale: { + coerceFunction: function (t, e, r) { + e.set(o.get(t, r)); + }, + }, + angle: { + coerceFunction: function (t, e, r) { + "auto" === t + ? e.set("auto") + : n(t) + ? e.set(f(+t, 360)) + : e.set(r); + }, + }, + subplotid: { + coerceFunction: function (t, e, r, n) { + var i = n.regex || c(r); + "string" == typeof t && i.test(t) + ? e.set(t) + : e.set(r); + }, + validateFunction: function (t, e) { + var r = e.dflt; + return ( + t === r || + ("string" == typeof t && !!c(r).test(t)) + ); + }, + }, + flaglist: { + coerceFunction: function (t, e, r, n) { + if (-1 === (n.extras || []).indexOf(t)) + if ("string" == typeof 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(r); + else e.set(t); + }, + }, + any: { + coerceFunction: function (t, e, r) { + void 0 === t ? e.set(r) : e.set(t); + }, + }, + info_array: { + coerceFunction: function (t, r, n, i) { + function a(t, r, n) { + var i, + a = { + set: function (t) { + i = t; + }, + }; + return ( + void 0 === n && (n = r.dflt), + e.valObjectMeta[r.valType].coerceFunction( + t, + a, + n, + r, + ), + i + ); + } + var o = + 2 === i.dimensions || + ("1-2" === i.dimensions && + Array.isArray(t) && + Array.isArray(t[0])); + if (Array.isArray(t)) { + var s, + l, + u, + c, + f, + h, + p = i.items, + d = [], + v = Array.isArray(p), + g = v && o && Array.isArray(p[0]), + y = o && v && !g, + m = v && !y ? p.length : t.length; + if (((n = Array.isArray(n) ? n : []), o)) + for (s = 0; s < m; s++) + for ( + d[s] = [], + u = Array.isArray(t[s]) ? t[s] : [], + f = y + ? p.length + : v + ? p[s].length + : u.length, + l = 0; + l < f; + l++ + ) + (c = y ? p[l] : v ? p[s][l] : p), + void 0 !== + (h = a(u[l], c, (n[s] || [])[l])) && + (d[s][l] = h); + else + for (s = 0; s < m; s++) + void 0 !== + (h = a(t[s], v ? p[s] : p, n[s])) && + (d[s] = h); + r.set(d); + } else r.set(n); + }, + 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 (!p(t[a][o], n ? r[a][o] : r)) return !1; + } else if (!p(t[a], n ? r[a] : r)) return !1; + return !0; + }, + }, + }), + (e.coerce = function (t, r, n, i, a) { + var o = u(n, i).get(), + s = u(t, i), + l = u(r, i), + c = s.get(), + f = r._template; + if ( + (void 0 === c && + f && + ((c = u(f, i).get()), (f = 0)), + void 0 === a && (a = o.dflt), + o.arrayOk && h(c)) + ) + return l.set(c), c; + var d = e.valObjectMeta[o.valType].coerceFunction; + d(c, l, a, o); + var v = l.get(); + return ( + f && + v === a && + !p(c, o) && + (d((c = u(f, i).get()), l, a, o), (v = l.get())), + v + ); + }), + (e.coerce2 = function (t, r, n, i, a) { + var o = u(t, i), + s = e.coerce(t, r, n, i, a); + return null != o.get() && s; + }), + (e.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 + ); + }), + (e.coercePattern = function (t, e, r, n) { + if (t(e + ".shape")) { + t(e + ".solidity"), t(e + ".size"); + var i = "overlay" === t(e + ".fillmode"); + if (!n) { + var a = t(e + ".bgcolor", i ? r : void 0); + t(e + ".fgcolor", i ? s.contrast(a) : r); + } + t(e + ".fgopacity", i ? 0.5 : 1); + } + }), + (e.coerceHoverinfo = function (t, r, n) { + var i, + o = r._module.attributes, + s = o.hoverinfo ? o : a, + l = s.hoverinfo; + if (1 === n._dataLength) { + var u = + "all" === l.dflt + ? l.flags.slice() + : l.dflt.split("+"); + u.splice(u.indexOf("name"), 1), (i = u.join("+")); + } + return e.coerce(t, r, s, "hoverinfo", i); + }), + (e.coerceSelectionMarkerOpacity = function (t, e) { + if (t.marker) { + var r, + n, + i = t.marker.opacity; + void 0 !== i && + (h(i) || + t.selected || + t.unselected || + ((r = i), (n = l * i)), + e("selected.marker.opacity", r), + e("unselected.marker.opacity", n)); + } + }), + (e.validate = p); + }, + 41631: function (t, e, r) { + "use strict"; + var n, + i, + a = r(84096).i$, + o = r(92770), + s = r(47769), + l = r(64872).mod, + u = r(50606), + c = u.BADNUM, + f = u.ONEDAY, + h = u.ONEHOUR, + p = u.ONEMIN, + d = u.ONESEC, + v = u.EPOCHJD, + g = r(73972), + y = r(84096).g0, + m = + /^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m, + x = + /^\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, + b = new Date().getFullYear() - 70; + function _(t) { + return ( + t && + g.componentsRegistry.calendars && + "string" == typeof t && + "gregorian" !== t + ); + } + function w(t, e) { + return String(t + Math.pow(10, e)).substr(1); + } + (e.dateTick0 = function (t, r) { + var n = (function (t, e) { + return _(t) + ? e + ? g.getComponentMethod( + "calendars", + "CANONICAL_SUNDAY", + )[t] + : g.getComponentMethod( + "calendars", + "CANONICAL_TICK", + )[t] + : e + ? "2000-01-02" + : "2000-01-01"; + })(t, !!r); + if (r < 2) return n; + var i = e.dateTime2ms(n, t); + return (i += f * (r - 1)), e.ms2DateTime(i, 0, t); + }), + (e.dfltRange = function (t) { + return _(t) + ? g.getComponentMethod("calendars", "DFLTRANGE")[t] + : ["2000-01-01", "2001-01-01"]; + }), + (e.isJSDate = function (t) { + return ( + "object" == typeof t && + null !== t && + "function" == typeof t.getTime + ); + }), + (e.dateTime2ms = function (t, r) { + if (e.isJSDate(t)) { + var a = t.getTimezoneOffset() * p, + o = + (t.getUTCMinutes() - t.getMinutes()) * p + + (t.getUTCSeconds() - t.getSeconds()) * d + + (t.getUTCMilliseconds() - t.getMilliseconds()); + if (o) { + var s = 3 * p; + a = a - s / 2 + l(o - a + s / 2, s); + } + return (t = Number(t) - a) >= n && t <= i ? t : c; + } + if ("string" != typeof t && "number" != typeof t) + return c; + t = String(t); + var u = _(r), + y = t.charAt(0); + !u || + ("G" !== y && "g" !== y) || + ((t = t.substr(1)), (r = "")); + var w = u && "chinese" === r.substr(0, 7), + T = t.match(w ? x : m); + if (!T) return c; + var k = T[1], + A = T[3] || "1", + M = Number(T[5] || 1), + S = Number(T[7] || 0), + E = Number(T[9] || 0), + L = Number(T[11] || 0); + if (u) { + if (2 === k.length) return c; + var C; + k = Number(k); + try { + var O = g.getComponentMethod( + "calendars", + "getCal", + )(r); + if (w) { + var P = "i" === A.charAt(A.length - 1); + (A = parseInt(A, 10)), + (C = O.newDate( + k, + O.toMonthIndex(k, A, P), + M, + )); + } else C = O.newDate(k, Number(A), M); + } catch (t) { + return c; + } + return C + ? (C.toJD() - v) * f + S * h + E * p + L * d + : c; + } + (k = + 2 === k.length + ? ((Number(k) + 2e3 - b) % 100) + b + : Number(k)), + (A -= 1); + var I = new Date(Date.UTC(2e3, A, M, S, E)); + return ( + I.setUTCFullYear(k), + I.getUTCMonth() !== A || I.getUTCDate() !== M + ? c + : I.getTime() + L * d + ); + }), + (n = e.MIN_MS = e.dateTime2ms("-9999")), + (i = e.MAX_MS = + e.dateTime2ms("9999-12-31 23:59:59.9999")), + (e.isDateTime = function (t, r) { + return e.dateTime2ms(t, r) !== c; + }); + var T = 90 * f, + k = 3 * h, + A = 5 * p; + function M(t, e, r, n, i) { + if ( + (e || r || n || i) && + ((t += " " + w(e, 2) + ":" + w(r, 2)), + (n || i) && ((t += ":" + w(n, 2)), i)) + ) { + for (var a = 4; i % 10 == 0; ) (a -= 1), (i /= 10); + t += "." + w(i, a); + } + return t; + } + (e.ms2DateTime = function (t, e, r) { + if ("number" != typeof t || !(t >= n && t <= i)) + return c; + e || (e = 0); + var a, + o, + s, + u, + m, + x, + b = Math.floor(10 * l(t + 0.05, 1)), + w = Math.round(t - b / 10); + if (_(r)) { + var S = Math.floor(w / f) + v, + E = Math.floor(l(t, f)); + try { + a = g + .getComponentMethod( + "calendars", + "getCal", + )(r) + .fromJD(S) + .formatDate("yyyy-mm-dd"); + } catch (t) { + a = y("G%Y-%m-%d")(new Date(w)); + } + if ("-" === a.charAt(0)) + for (; a.length < 11; ) a = "-0" + a.substr(1); + else for (; a.length < 10; ) a = "0" + a; + (o = e < T ? Math.floor(E / h) : 0), + (s = e < T ? Math.floor((E % h) / p) : 0), + (u = e < k ? Math.floor((E % p) / d) : 0), + (m = e < A ? (E % d) * 10 + b : 0); + } else + (x = new Date(w)), + (a = y("%Y-%m-%d")(x)), + (o = e < T ? x.getUTCHours() : 0), + (s = e < T ? x.getUTCMinutes() : 0), + (u = e < k ? x.getUTCSeconds() : 0), + (m = e < A ? 10 * x.getUTCMilliseconds() + b : 0); + return M(a, o, s, u, m); + }), + (e.ms2DateTimeLocal = function (t) { + if (!(t >= n + f && t <= i - f)) return c; + var e = Math.floor(10 * l(t + 0.05, 1)), + r = new Date(Math.round(t - e / 10)); + return M( + a("%Y-%m-%d")(r), + r.getHours(), + r.getMinutes(), + r.getSeconds(), + 10 * r.getUTCMilliseconds() + e, + ); + }), + (e.cleanDate = function (t, r, n) { + if (t === c) return r; + if ( + e.isJSDate(t) || + ("number" == typeof t && isFinite(t)) + ) { + if (_(n)) + return ( + s.error( + "JS Dates and milliseconds are incompatible with world calendars", + t, + ), + r + ); + if (!(t = e.ms2DateTimeLocal(+t)) && void 0 !== r) + return r; + } else if (!e.isDateTime(t, n)) + return s.error("unrecognized date", t), r; + return t; + }); + var S = /%\d?f/g, + E = /%h/g, + L = { 1: "1", 2: "1", 3: "2", 4: "2" }; + function C(t, e, r, n) { + t = t.replace(S, 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 + 0.05)); + if ( + ((t = t.replace(E, function () { + return L[r("%q")(i)]; + })), + _(n)) + ) + try { + t = g.getComponentMethod( + "calendars", + "worldCalFmt", + )(t, e, n); + } catch (t) { + return "Invalid"; + } + return r(t)(i); + } + var O = [59, 59.9, 59.99, 59.999, 59.9999]; + e.formatDate = function (t, e, r, n, i, a) { + if (((i = _(i) && i), !e)) + if ("y" === r) e = a.year; + else if ("m" === r) e = a.month; + else { + if ("d" !== r) + return ( + (function (t, e) { + var r = l(t + 0.05, f), + n = + w(Math.floor(r / h), 2) + + ":" + + w(l(Math.floor(r / p), 60), 2); + if ("M" !== e) { + o(e) || (e = 0); + var i = (100 + Math.min(l(t / d, 60), O[e])) + .toFixed(e) + .substr(1); + e > 0 && + (i = i + .replace(/0+$/, "") + .replace(/[\.]$/, "")), + (n += ":" + i); + } + return n; + })(t, r) + + "\n" + + C(a.dayMonthYear, t, n, i) + ); + e = a.dayMonth + "\n" + a.year; + } + return C(e, t, n, i); + }; + var P = 3 * f; + (e.incrementMonth = function (t, e, r) { + r = _(r) && r; + var n = l(t, f); + if (((t = Math.round(t - n)), r)) + try { + var i = Math.round(t / f) + v, + a = g.getComponentMethod( + "calendars", + "getCal", + )(r), + o = a.fromJD(i); + return ( + e % 12 ? a.add(o, e, "m") : a.add(o, e / 12, "y"), + (o.toJD() - v) * f + n + ); + } catch (e) { + s.error("invalid ms " + t + " in calendar " + r); + } + var u = new Date(t + P); + return u.setUTCMonth(u.getUTCMonth() + e) + n - P; + }), + (e.findExactDates = function (t, e) { + for ( + var r, + n, + i = 0, + a = 0, + s = 0, + l = 0, + u = + _(e) && + g.getComponentMethod("calendars", "getCal")(e), + c = 0; + c < t.length; + c++ + ) + if (((n = t[c]), o(n))) { + if (!(n % f)) + if (u) + try { + 1 === (r = u.fromJD(n / f + v)).day() + ? 1 === r.month() + ? i++ + : a++ + : s++; + } catch (t) {} + else + 1 === (r = new Date(n)).getUTCDate() + ? 0 === r.getUTCMonth() + ? i++ + : a++ + : s++; + } else l++; + s += a += i; + var h = t.length - l; + return { + exactYears: i / h, + exactMonths: a / h, + exactDays: s / h, + }; + }); + }, + 24401: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(47769), + a = r(35657), + o = r(79576); + function s(t) { + var e = t && t.parentNode; + e && e.removeChild(t); + } + function l(t, e, r) { + var n = "plotly.js-style-" + t, + a = document.getElementById(n); + a || + ((a = document.createElement("style")).setAttribute( + "id", + n, + ), + a.appendChild(document.createTextNode("")), + document.head.appendChild(a)); + var o = a.sheet; + o.insertRule + ? o.insertRule(e + "{" + r + "}", 0) + : o.addRule + ? o.addRule(e, r, 0) + : i.warn("addStyleRule failed"); + } + function u(t) { + var e = window.getComputedStyle(t, null), + r = + e.getPropertyValue("-webkit-transform") || + e.getPropertyValue("-moz-transform") || + e.getPropertyValue("-ms-transform") || + e.getPropertyValue("-o-transform") || + e.getPropertyValue("transform"); + return "none" === r + ? null + : r + .replace("matrix", "") + .replace("3d", "") + .slice(1, -1) + .split(",") + .map(function (t) { + return +t; + }); + } + function c(t) { + for (var e = []; f(t); ) e.push(t), (t = t.parentNode); + return e; + } + function f(t) { + return ( + t && + (t instanceof Element || t instanceof HTMLElement) + ); + } + t.exports = { + getGraphDiv: function (t) { + var e; + if ("string" == typeof t) { + if (null === (e = document.getElementById(t))) + throw new Error( + "No DOM element with id '" + + t + + "' exists on the page.", + ); + return e; + } + if (null == t) + throw new Error( + "DOM element provided is null or undefined", + ); + return t; + }, + isPlotDiv: function (t) { + var e = n.select(t); + return ( + e.node() instanceof HTMLElement && + e.size() && + e.classed("js-plotly-plot") + ); + }, + removeElement: s, + addStyleRule: function (t, e) { + l("global", t, e); + }, + addRelatedStyleRule: l, + deleteRelatedStyleRule: function (t) { + var e = "plotly.js-style-" + t, + r = document.getElementById(e); + r && s(r); + }, + getFullTransformMatrix: function (t) { + var e = c(t), + r = [ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + ]; + return ( + e.forEach(function (t) { + var e = u(t); + if (e) { + var n = a.convertCssMatrix(e); + r = o.multiply(r, r, n); + } + }), + r + ); + }, + getElementTransformMatrix: u, + getElementAndAncestors: c, + equalDomRects: function (t, e) { + return ( + t && + e && + t.top === e.top && + t.left === e.left && + t.right === e.right && + t.bottom === e.bottom + ); + }, + }; + }, + 11086: function (t, e, r) { + "use strict"; + var n = r(15398).EventEmitter, + i = { + init: function (t) { + if (t._ev instanceof n) return t; + var e = new n(), + r = new n(); + return ( + (t._ev = e), + (t._internalEv = r), + (t.on = e.on.bind(e)), + (t.once = e.once.bind(e)), + (t.removeListener = e.removeListener.bind(e)), + (t.removeAllListeners = + e.removeAllListeners.bind(e)), + (t._internalOn = r.on.bind(r)), + (t._internalOnce = r.once.bind(r)), + (t._removeInternalListener = + r.removeListener.bind(r)), + (t._removeAllInternalListeners = + r.removeAllListeners.bind(r)), + (t.emit = function (n, i) { + "undefined" != typeof jQuery && + jQuery(t).trigger(n, i), + e.emit(n, i), + r.emit(n, i); + }), + t + ); + }, + triggerHandler: function (t, e, r) { + var n, i; + "undefined" != typeof jQuery && + (n = jQuery(t).triggerHandler(e, r)); + var a = t._ev; + if (!a) return n; + var o, + s = a._events[e]; + if (!s) return n; + function l(t) { + return t.listener + ? (a.removeListener(e, t.listener), + t.fired + ? void 0 + : ((t.fired = !0), + t.listener.apply(a, [r]))) + : t.apply(a, [r]); + } + for ( + s = Array.isArray(s) ? s : [s], o = 0; + o < s.length - 1; + o++ + ) + l(s[o]); + return (i = l(s[o])), 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 + ); + }, + }; + t.exports = i; + }, + 1426: function (t, e, r) { + "use strict"; + var n = r(41965), + i = Array.isArray; + function a(t, e, r, o) { + var s, + l, + u, + c, + f, + h, + p, + d = t[0], + v = t.length; + if (2 === v && i(d) && i(t[1]) && 0 === d.length) { + if ( + ((p = (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], d)), + p) + ) + return d; + d.splice(0, d.length); + } + for (var g = 1; g < v; g++) + for (l in (s = t[g])) + (u = d[l]), + (c = s[l]), + o && i(c) + ? (d[l] = c) + : e && c && (n(c) || (f = i(c))) + ? (f + ? ((f = !1), (h = u && i(u) ? u : [])) + : (h = u && n(u) ? u : {}), + (d[l] = a([h, c], e, r, o))) + : (void 0 !== c || r) && (d[l] = c); + return d; + } + (e.extendFlat = function () { + return a(arguments, !1, !1, !1); + }), + (e.extendDeep = function () { + return a(arguments, !0, !1, !1); + }), + (e.extendDeepAll = function () { + return a(arguments, !0, !0, !1); + }), + (e.extendDeepNoArrays = function () { + return a(arguments, !0, !1, !0); + }); + }, + 75744: function (t) { + "use strict"; + t.exports = function (t) { + for ( + var e = {}, r = [], n = 0, i = 0; + i < t.length; + i++ + ) { + var a = t[i]; + 1 !== e[a] && ((e[a] = 1), (r[n++] = a)); + } + return r; + }; + }, + 76756: function (t) { + "use strict"; + function e(t) { + return !0 === t.visible; + } + function r(t) { + var e = t[0].trace; + return !0 === e.visible && 0 !== e._length; + } + t.exports = function (t) { + for ( + var n, + i = + ((n = t), + Array.isArray(n) && + Array.isArray(n[0]) && + n[0][0] && + n[0][0].trace + ? r + : e), + a = [], + o = 0; + o < t.length; + o++ + ) { + var s = t[o]; + i(s) && a.push(s); + } + return a; + }; + }, + 41327: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(24138), + a = r(30774), + o = r(29261), + s = r(85268), + l = r(23389), + u = r(47769), + c = r(41965), + f = r(65487), + h = r(61082), + p = Object.keys(i), + d = { + "ISO-3": l, + "USA-states": l, + "country names": function (t) { + for (var e = 0; e < p.length; e++) { + var r = p[e]; + if (new RegExp(i[r]).test(t.trim().toLowerCase())) + return r; + } + return ( + u.log("Unrecognized country name: " + t + "."), !1 + ); + }, + }; + function v(t) { + var e = t.geojson, + r = window.PlotlyGeoAssets || {}, + n = "string" == typeof e ? r[e] : e; + return c(n) + ? n + : (u.error( + "Oops ... something went wrong when fetching " + + e, + ), + !1); + } + t.exports = { + locationToFeature: function (t, e, r) { + if (!e || "string" != typeof e) return !1; + var n, + i, + a, + o = d[t](e); + if (o) { + if ("USA-states" === t) + for (n = [], a = 0; a < r.length; a++) + (i = r[a]).properties && + i.properties.gu && + "USA" === i.properties.gu && + n.push(i); + else n = r; + for (a = 0; a < n.length; a++) + if ((i = n[a]).id === o) return i; + u.log( + [ + "Location with id", + o, + "does not have a matching topojson feature at this resolution.", + ].join(" "), + ); + } + return !1; + }, + feature2polygons: function (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(h.tester(e)); + } + : "ATA" === s + ? function (t) { + var e = u(t); + if (null === e) return l.push(h.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 = h.tester(r); + a.pts.pop(), l.push(a); + } + : function (t) { + l.push(h.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; + }, + getTraceGeojson: v, + extractTraceFeature: function (t) { + var e = t[0].trace, + r = v(e); + if (!r) return !1; + var n, + i = {}, + s = []; + for (n = 0; n < e._length; n++) { + var l = t[n]; + (l.loc || 0 === l.loc) && (i[l.loc] = l); + } + function c(t) { + var r = f(t, e.featureidkey || "id").get(), + n = i[r]; + if (n) { + var l = t.geometry; + if ( + "Polygon" === l.type || + "MultiPolygon" === l.type + ) { + var c = { + type: "Feature", + id: r, + geometry: l, + properties: {}, + }; + (c.properties.ct = (function (t) { + var e, + r = t.geometry; + if ("MultiPolygon" === r.type) + for ( + var n = r.coordinates, i = 0, s = 0; + s < n.length; + s++ + ) { + var l = { + type: "Polygon", + coordinates: n[s], + }, + u = a.default(l); + u > i && ((i = u), (e = l)); + } + else e = r; + return o.default(e).geometry.coordinates; + })(c)), + (n.fIn = t), + (n.fOut = c), + s.push(c); + } else + u.log( + [ + "Location", + n.loc, + "does not have a valid GeoJSON geometry.", + "Traces with locationmode *geojson-id* only support", + "*Polygon* and *MultiPolygon* geometries.", + ].join(" "), + ); + } + delete i[r]; + } + switch (r.type) { + case "FeatureCollection": + var h = r.features; + for (n = 0; n < h.length; n++) c(h[n]); + break; + case "Feature": + c(r); + break; + default: + return ( + u.warn( + [ + "Invalid GeoJSON type", + (r.type || "none") + ".", + "Traces with locationmode *geojson-id* only support", + "*FeatureCollection* and *Feature* types.", + ].join(" "), + ), + !1 + ); + } + for (var p in i) + u.log( + [ + "Location *" + p + "*", + "does not have a matching feature with id-key", + "*" + e.featureidkey + "*.", + ].join(" "), + ); + return s; + }, + fetchTraceGeoData: function (t) { + var e = window.PlotlyGeoAssets || {}, + r = []; + function i(t) { + return new Promise(function (r, i) { + n.json(t, function (n, a) { + if (n) { + delete e[t]; + var o = + 404 === n.status + ? 'GeoJSON at URL "' + + t + + '" does not exist.' + : "Unexpected error while fetching from " + + t; + return i(new Error(o)); + } + return (e[t] = a), r(a); + }); + }); + } + function a(t) { + return new Promise(function (r, n) { + var i = 0, + a = setInterval(function () { + return e[t] && "pending" !== e[t] + ? (clearInterval(a), r(e[t])) + : i > 100 + ? (clearInterval(a), + n( + "Unexpected error while fetching from " + + t, + )) + : void i++; + }, 50); + }); + } + for (var o = 0; o < t.length; o++) { + var s = t[o][0].trace.geojson; + "string" == typeof s && + (e[s] + ? "pending" === e[s] && r.push(a(s)) + : ((e[s] = "pending"), r.push(i(s)))); + } + return r; + }, + computeBbox: function (t) { + return s.default(t); + }, + }; + }, + 18214: function (t, e, r) { + "use strict"; + var n = r(50606).BADNUM; + (e.calcTraceToLineCoords = function (t) { + for ( + var e = t[0].trace.connectgaps, r = [], i = [], a = 0; + a < t.length; + a++ + ) { + var o = t[a].lonlat; + o[0] !== n + ? i.push(o) + : !e && i.length > 0 && (r.push(i), (i = [])); + } + return i.length > 0 && r.push(i), r; + }), + (e.makeLine = function (t) { + return 1 === t.length + ? { type: "LineString", coordinates: t[0] } + : { type: "MultiLineString", coordinates: t }; + }), + (e.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 }; + }), + (e.makeBlank = function () { + return { type: "Point", coordinates: [] }; + }); + }, + 87642: function (t, e, r) { + "use strict"; + var n, + i, + a, + o = r(64872).mod; + function s(t, e, r, n, i, a, o, s) { + var l = r - t, + u = i - t, + c = o - i, + f = n - e, + h = a - e, + p = s - a, + d = l * p - c * f; + if (0 === d) return null; + var v = (u * p - c * h) / d, + g = (u * f - l * h) / d; + return g < 0 || g > 1 || v < 0 || v > 1 + ? null + : { x: t + l * v, y: e + f * v }; + } + function l(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; + } + (e.segmentsIntersect = s), + (e.segmentDistance = function (t, e, r, n, i, a, o, u) { + if (s(t, e, r, n, i, a, o, u)) return 0; + var c = r - t, + f = n - e, + h = o - i, + p = u - a, + d = c * c + f * f, + v = h * h + p * p, + g = Math.min( + l(c, f, d, i - t, a - e), + l(c, f, d, o - t, u - e), + l(h, p, v, t - i, e - a), + l(h, p, v, r - i, n - a), + ); + return Math.sqrt(g); + }), + (e.getTextLocation = function (t, e, r, s) { + if ( + ((t === i && s === a) || + ((n = {}), (i = t), (a = s)), + n[r]) + ) + return n[r]; + var l = t.getPointAtLength(o(r - s / 2, e)), + u = t.getPointAtLength(o(r + s / 2, e)), + c = Math.atan((u.y - l.y) / (u.x - l.x)), + f = t.getPointAtLength(o(r, e)), + h = { + x: (4 * f.x + l.x + u.x) / 6, + y: (4 * f.y + l.y + u.y) / 6, + theta: c, + }; + return (n[r] = h), h; + }), + (e.clearLocationCache = function () { + i = null; + }), + (e.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(), + f = c; + function h(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, + f = r.y < s ? s - r.y : r.y > l ? r.y - l : 0; + return Math.sqrt(u * u + f * f); + } + for (var p = h(u); p; ) { + if ((u += p + r) > f) return; + p = h(u); + } + for (p = h(f); p; ) { + if (u > (f -= p + r)) return; + p = h(f); + } + return { + min: u, + max: f, + len: f - u, + total: c, + isClosed: + 0 === u && + f === c && + Math.abs(n.x - i.x) < 0.1 && + Math.abs(n.y - i.y) < 0.1, + }; + }), + (e.findPointOnPath = function (t, e, r, n) { + for ( + var i, + a, + o, + s = + (n = n || {}).pathLength || t.getTotalLength(), + l = n.tolerance || 0.001, + u = n.iterationLimit || 30, + c = + t.getPointAtLength(0)[r] > + t.getPointAtLength(s)[r] + ? -1 + : 1, + f = 0, + h = 0, + p = s; + f < u; + + ) { + if ( + ((i = (h + p) / 2), + (o = (a = t.getPointAtLength(i))[r] - e), + Math.abs(o) < l) + ) + return a; + c * o > 0 ? (p = i) : (h = i), f++; + } + return a; + }); + }, + 81697: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(84267), + a = r(25075), + o = r(21081), + s = r(22399).defaultLine, + l = r(73627).isArrayOrTypedArray, + u = a(s); + function c(t, e) { + var r = t; + return (r[3] *= e), r; + } + function f(t) { + if (n(t)) return u; + var e = a(t); + return e.length ? e : u; + } + function h(t) { + return n(t) ? t : 1; + } + t.exports = { + formatColor: function (t, e, r) { + var n, + i, + s, + p, + d, + v = t.color, + g = l(v), + y = l(e), + m = o.extractOpts(t), + x = []; + if ( + ((n = + void 0 !== m.colorscale + ? o.makeColorScaleFuncFromTrace(t) + : f), + (i = g + ? function (t, e) { + return void 0 === t[e] ? u : a(n(t[e])); + } + : f), + (s = y + ? function (t, e) { + return void 0 === t[e] ? 1 : h(t[e]); + } + : h), + g || y) + ) + for (var b = 0; b < r; b++) + (p = i(v, b)), (d = s(e, b)), (x[b] = c(p, d)); + else x = c(a(v), e); + return x; + }, + parseColorScale: function (t) { + var e = o.extractOpts(t), + r = e.colorscale; + return ( + e.reversescale && (r = o.flipScale(e.colorscale)), + r.map(function (t) { + var e = t[0], + r = i(t[1]).toRgb(); + return { index: e, rgb: [r.r, r.g, r.b, r.a] }; + }) + ); + }, + }; + }, + 28984: function (t, e, r) { + "use strict"; + var n = r(23389); + function i(t) { + return [t]; + } + t.exports = { + keyFun: function (t) { + return t.key; + }, + repeat: i, + descend: n, + wrap: i, + unwrap: function (t) { + return t[0]; + }, + }; + }, + 23389: function (t) { + "use strict"; + t.exports = function (t) { + return t; + }; + }, + 39240: function (t) { + "use strict"; + t.exports = function (t, e) { + if (!e) return t; + var r = 1 / Math.abs(e), + n = r > 1 ? (r * t + r * e) / r : t + e, + i = String(n).length; + if (i > 16) { + var a = String(e).length; + if (i >= String(t).length + a) { + var o = parseFloat(n).toPrecision(12); + -1 === o.indexOf("e+") && (n = +o); + } + } + return n; + }; + }, + 71828: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(84096).g0, + a = r(60721).WU, + o = r(92770), + s = r(50606), + l = s.FP_SAFE, + u = -l, + c = s.BADNUM, + f = (t.exports = {}); + f.adjustFormat = function (t) { + return !t || /^\d[.]\df/.test(t) || /[.]\d%/.test(t) + ? t + : "0.f" === t + ? "~f" + : /^\d%/.test(t) + ? "~%" + : /^\ds/.test(t) + ? "~s" + : !/^[~,.0$]/.test(t) && /[&fps]/.test(t) + ? "~" + t + : t; + }; + var h = {}; + (f.warnBadFormat = function (t) { + var e = String(t); + h[e] || + ((h[e] = 1), + f.warn('encountered bad format: "' + e + '"')); + }), + (f.noFormat = function (t) { + return String(t); + }), + (f.numberFormat = function (t) { + var e; + try { + e = a(f.adjustFormat(t)); + } catch (e) { + return f.warnBadFormat(t), f.noFormat; + } + return e; + }), + (f.nestedProperty = r(65487)), + (f.keyedContainer = r(66636)), + (f.relativeAttr = r(6962)), + (f.isPlainObject = r(41965)), + (f.toLogRange = r(58163)), + (f.relinkPrivateKeys = r(51332)); + var p = r(73627); + (f.isTypedArray = p.isTypedArray), + (f.isArrayOrTypedArray = p.isArrayOrTypedArray), + (f.isArray1D = p.isArray1D), + (f.ensureArray = p.ensureArray), + (f.concat = p.concat), + (f.maxRowLength = p.maxRowLength), + (f.minRowLength = p.minRowLength); + var d = r(64872); + (f.mod = d.mod), (f.modHalf = d.modHalf); + var v = r(96554); + (f.valObjectMeta = v.valObjectMeta), + (f.coerce = v.coerce), + (f.coerce2 = v.coerce2), + (f.coerceFont = v.coerceFont), + (f.coercePattern = v.coercePattern), + (f.coerceHoverinfo = v.coerceHoverinfo), + (f.coerceSelectionMarkerOpacity = + v.coerceSelectionMarkerOpacity), + (f.validate = v.validate); + var g = r(41631); + (f.dateTime2ms = g.dateTime2ms), + (f.isDateTime = g.isDateTime), + (f.ms2DateTime = g.ms2DateTime), + (f.ms2DateTimeLocal = g.ms2DateTimeLocal), + (f.cleanDate = g.cleanDate), + (f.isJSDate = g.isJSDate), + (f.formatDate = g.formatDate), + (f.incrementMonth = g.incrementMonth), + (f.dateTick0 = g.dateTick0), + (f.dfltRange = g.dfltRange), + (f.findExactDates = g.findExactDates), + (f.MIN_MS = g.MIN_MS), + (f.MAX_MS = g.MAX_MS); + var y = r(65888); + (f.findBin = y.findBin), + (f.sorterAsc = y.sorterAsc), + (f.sorterDes = y.sorterDes), + (f.distinctVals = y.distinctVals), + (f.roundUp = y.roundUp), + (f.sort = y.sort), + (f.findIndexOfMin = y.findIndexOfMin), + (f.sortObjectKeys = r(78607)); + var m = r(80038); + (f.aggNums = m.aggNums), + (f.len = m.len), + (f.mean = m.mean), + (f.median = m.median), + (f.midRange = m.midRange), + (f.variance = m.variance), + (f.stdev = m.stdev), + (f.interp = m.interp); + var x = r(35657); + (f.init2dArray = x.init2dArray), + (f.transposeRagged = x.transposeRagged), + (f.dot = x.dot), + (f.translationMatrix = x.translationMatrix), + (f.rotationMatrix = x.rotationMatrix), + (f.rotationXYMatrix = x.rotationXYMatrix), + (f.apply3DTransform = x.apply3DTransform), + (f.apply2DTransform = x.apply2DTransform), + (f.apply2DTransform2 = x.apply2DTransform2), + (f.convertCssMatrix = x.convertCssMatrix), + (f.inverseTransformMatrix = x.inverseTransformMatrix); + var b = r(26348); + (f.deg2rad = b.deg2rad), + (f.rad2deg = b.rad2deg), + (f.angleDelta = b.angleDelta), + (f.angleDist = b.angleDist), + (f.isFullCircle = b.isFullCircle), + (f.isAngleInsideSector = b.isAngleInsideSector), + (f.isPtInsideSector = b.isPtInsideSector), + (f.pathArc = b.pathArc), + (f.pathSector = b.pathSector), + (f.pathAnnulus = b.pathAnnulus); + var _ = r(99863); + (f.isLeftAnchor = _.isLeftAnchor), + (f.isCenterAnchor = _.isCenterAnchor), + (f.isRightAnchor = _.isRightAnchor), + (f.isTopAnchor = _.isTopAnchor), + (f.isMiddleAnchor = _.isMiddleAnchor), + (f.isBottomAnchor = _.isBottomAnchor); + var w = r(87642); + (f.segmentsIntersect = w.segmentsIntersect), + (f.segmentDistance = w.segmentDistance), + (f.getTextLocation = w.getTextLocation), + (f.clearLocationCache = w.clearLocationCache), + (f.getVisibleSegment = w.getVisibleSegment), + (f.findPointOnPath = w.findPointOnPath); + var T = r(1426); + (f.extendFlat = T.extendFlat), + (f.extendDeep = T.extendDeep), + (f.extendDeepAll = T.extendDeepAll), + (f.extendDeepNoArrays = T.extendDeepNoArrays); + var k = r(47769); + (f.log = k.log), (f.warn = k.warn), (f.error = k.error); + var A = r(30587); + f.counterRegex = A.counter; + var M = r(79990); + (f.throttle = M.throttle), + (f.throttleDone = M.done), + (f.clearThrottle = M.clear); + var S = r(24401); + function E(t) { + var e = {}; + for (var r in t) + for (var n = t[r], i = 0; i < n.length; i++) + e[n[i]] = +r; + return e; + } + (f.getGraphDiv = S.getGraphDiv), + (f.isPlotDiv = S.isPlotDiv), + (f.removeElement = S.removeElement), + (f.addStyleRule = S.addStyleRule), + (f.addRelatedStyleRule = S.addRelatedStyleRule), + (f.deleteRelatedStyleRule = S.deleteRelatedStyleRule), + (f.getFullTransformMatrix = S.getFullTransformMatrix), + (f.getElementTransformMatrix = + S.getElementTransformMatrix), + (f.getElementAndAncestors = S.getElementAndAncestors), + (f.equalDomRects = S.equalDomRects), + (f.clearResponsive = r(86367)), + (f.preserveDrawingBuffer = r(45142)), + (f.makeTraceGroups = r(77310)), + (f._ = r(15867)), + (f.notifier = r(75046)), + (f.filterUnique = r(75744)), + (f.filterVisible = r(76756)), + (f.pushUnique = r(75138)), + (f.increment = r(39240)), + (f.cleanNumber = r(95218)), + (f.ensureNumber = function (t) { + return o(t) + ? (t = Number(t)) > l || t < u + ? c + : t + : c; + }), + (f.isIndex = function (t, e) { + return ( + !(void 0 !== e && t >= e) && + o(t) && + t >= 0 && + t % 1 == 0 + ); + }), + (f.noop = r(64213)), + (f.identity = r(23389)), + (f.repeat = function (t, e) { + for (var r = new Array(e), n = 0; n < e; n++) + r[n] = t; + return r; + }), + (f.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 = f.nestedProperty(t, a.replace("?", r)), + s = f.nestedProperty(t, a.replace("?", n)), + l = o.get(); + o.set(s.get()), s.set(l); + } + }), + (f.raiseToTop = function (t) { + t.parentNode.appendChild(t); + }), + (f.cancelTransition = function (t) { + return t.transition().duration(0); + }), + (f.constrain = function (t, e, r) { + return e > r + ? Math.max(r, Math.min(e, t)) + : Math.max(e, Math.min(r, t)); + }), + (f.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 + ); + }), + (f.simpleMap = function (t, e, r, n, i) { + for ( + var a = t.length, o = new Array(a), s = 0; + s < a; + s++ + ) + o[s] = e(t[s], r, n, i); + return o; + }), + (f.randstr = function t(e, r, n, i) { + if ((n || (n = 16), void 0 === r && (r = 24), r <= 0)) + return "0"; + var a, + o, + s = Math.log(Math.pow(2, r)) / Math.log(n), + l = ""; + for (a = 2; s === 1 / 0; a *= 2) + s = + (Math.log(Math.pow(2, r / a)) / Math.log(n)) * a; + var u = s - Math.floor(s); + for (a = 0; a < Math.floor(s); a++) + l = Math.floor(Math.random() * n).toString(n) + l; + u && + ((o = Math.pow(n, u)), + (l = + Math.floor(Math.random() * o).toString(n) + l)); + var c = parseInt(l, n); + return (e && e[l]) || + (c !== 1 / 0 && c >= Math.pow(2, r)) + ? i > 10 + ? (f.warn("randstr failed uniqueness"), l) + : t(e, r, n, (i || 0) + 1) + : l; + }), + (f.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; + }), + (f.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; + }), + (f.syncOrAsync = function (t, e, r) { + var n; + function i() { + return f.syncOrAsync(t, e, r); + } + for (; t.length; ) + if ((n = (0, t.splice(0, 1)[0])(e)) && n.then) + return n.then(i); + return r && r(e); + }), + (f.stripTrailingSlash = function (t) { + return "/" === t.substr(-1) + ? t.substr(0, t.length - 1) + : t; + }), + (f.noneOrAll = function (t, e, r) { + if (t) { + var n, + i = !1, + a = !0; + for (n = 0; n < r.length; n++) + null != t[r[n]] ? (i = !0) : (a = !1); + if (i && !a) + for (n = 0; n < r.length; n++) t[r[n]] = e[r[n]]; + } + }), + (f.mergeArray = function (t, e, r, n) { + var i = "function" == typeof n; + if (f.isArrayOrTypedArray(t)) + for ( + var a = Math.min(t.length, e.length), o = 0; + o < a; + o++ + ) { + var s = t[o]; + e[o][r] = i ? n(s) : s; + } + }), + (f.mergeArrayCastPositive = function (t, e, r) { + return f.mergeArray(t, e, r, function (t) { + var e = +t; + return isFinite(e) && e > 0 ? e : 0; + }); + }), + (f.fillArray = function (t, e, r, n) { + if (((n = n || f.identity), f.isArrayOrTypedArray(t))) + for (var i = 0; i < e.length; i++) + e[i][r] = n(t[i]); + }), + (f.castOption = function (t, e, r, n) { + n = n || f.identity; + var i = f.nestedProperty(t, r).get(); + return f.isArrayOrTypedArray(i) + ? Array.isArray(e) && f.isArrayOrTypedArray(i[e[0]]) + ? n(i[e[0]][e[1]]) + : n(i[e]) + : i; + }), + (f.extractOption = function (t, e, r, n) { + if (r in t) return t[r]; + var i = f.nestedProperty(e, n).get(); + return Array.isArray(i) ? void 0 : i; + }), + (f.tagSelected = function (t, e, r) { + var n, + i, + a = e.selectedpoints, + o = e._indexToPoints; + o && (n = E(o)); + for (var s = 0; s < a.length; s++) { + var l = a[s]; + if ( + f.isIndex(l) || + (f.isArrayOrTypedArray(l) && + f.isIndex(l[0]) && + f.isIndex(l[1])) + ) { + var u = n ? n[l] : l, + c = r ? r[u] : u; + void 0 !== (i = c) && + i < t.length && + (t[c].selected = 1); + } + } + }), + (f.selIndices2selPoints = function (t) { + var e = t.selectedpoints, + r = t._indexToPoints; + if (r) { + for ( + var n = E(r), i = [], a = 0; + a < e.length; + a++ + ) { + var o = e[a]; + if (f.isIndex(o)) { + var s = n[o]; + f.isIndex(s) && i.push(s); + } + } + return i; + } + return e; + }), + (f.getTargetArray = function (t, e) { + var r = e.target; + if ("string" == typeof r && r) { + var n = f.nestedProperty(t, r).get(); + return !!Array.isArray(n) && n; + } + return !!Array.isArray(r) && r; + }), + (f.minExtend = function t(e, r, n) { + var i = {}; + "object" != typeof r && (r = {}); + var a, + o, + s, + l = "pieLike" === n ? -1 : 3, + u = Object.keys(e); + for (a = 0; a < u.length; a++) + (s = e[(o = u[a])]), + "_" !== o.charAt(0) && + "function" != typeof s && + ("module" === o + ? (i[o] = s) + : Array.isArray(s) + ? (i[o] = + "colorscale" === o || -1 === l + ? s.slice() + : s.slice(0, l)) + : f.isTypedArray(s) + ? (i[o] = + -1 === l + ? s.subarray() + : s.subarray(0, l)) + : (i[o] = + s && "object" == typeof s + ? t(e[o], r[o], n) + : s)); + for (u = Object.keys(r), a = 0; a < u.length; a++) + ("object" == typeof (s = r[(o = u[a])]) && + o in i && + "object" == typeof i[o]) || + (i[o] = s); + return i; + }), + (f.titleCase = function (t) { + return t.charAt(0).toUpperCase() + t.substr(1); + }), + (f.containsAny = function (t, e) { + for (var r = 0; r < e.length; r++) + if (-1 !== t.indexOf(e[r])) return !0; + return !1; + }), + (f.isIE = function () { + return void 0 !== window.navigator.msSaveBlob; + }); + var L = /Version\/[\d\.]+.*Safari/; + f.isSafari = function () { + return L.test(window.navigator.userAgent); + }; + var C = /iPad|iPhone|iPod/; + f.isIOS = function () { + return C.test(window.navigator.userAgent); + }; + var O = /Firefox\/(\d+)\.\d+/; + (f.getFirefoxVersion = function () { + var t = O.exec(window.navigator.userAgent); + if (t && 2 === t.length) { + var e = parseInt(t[1]); + if (!isNaN(e)) return e; + } + return null; + }), + (f.isD3Selection = function (t) { + return t instanceof n.selection; + }), + (f.ensureSingle = function (t, e, r, n) { + var i = t.select(e + (r ? "." + r : "")); + if (i.size()) return i; + var a = t.append(e); + return r && a.classed(r, !0), n && a.call(n), a; + }), + (f.ensureSingleById = function (t, e, r, n) { + var i = t.select(e + "#" + r); + if (i.size()) return i; + var a = t.append(e).attr("id", r); + return n && a.call(n), a; + }), + (f.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 P = /^([^\[\.]+)\.(.+)?/, + I = /^([^\.]+)\[([0-9]+)\](\.)?(.+)?/; + function D(t) { + return "__" === t.slice(0, 2); + } + (f.expandObjectPaths = function (t) { + var e, r, n, i, a, o, s; + if ("object" == typeof t && !Array.isArray(t)) + for (r in t) + if (t.hasOwnProperty(r)) + if ((e = r.match(P))) { + if (((i = t[r]), D((n = e[1])))) continue; + delete t[r], + (t[n] = f.extendDeepNoArrays( + t[n] || {}, + f.objectFromPath(r, f.expandObjectPaths(i))[ + n + ], + )); + } else if ((e = r.match(I))) { + if (((i = t[r]), D((n = e[1])))) continue; + if ( + ((a = parseInt(e[2])), + delete t[r], + (t[n] = t[n] || []), + "." === e[3]) + ) + (s = e[4]), + (o = t[n][a] = t[n][a] || {}), + f.extendDeepNoArrays( + o, + f.objectFromPath( + s, + f.expandObjectPaths(i), + ), + ); + else { + if (D(n)) continue; + t[n][a] = f.expandObjectPaths(i); + } + } else { + if (D(r)) continue; + t[r] = f.expandObjectPaths(t[r]); + } + return t; + }), + (f.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; + }), + (f.TEMPLATE_STRING_REGEX = + /%{([^\s%{}:]*)([:|\|][^}]*)?}/g); + var z = /^\w*$/; + f.templateString = function (t, e) { + var r = {}; + return t.replace( + f.TEMPLATE_STRING_REGEX, + function (t, n) { + var i; + return ( + z.test(n) + ? (i = e[n]) + : ((r[n] = r[n] || f.nestedProperty(e, n).get), + (i = r[n]())), + f.isValidTextValue(i) ? i : "" + ); + }, + ); + }; + var R = { max: 10, count: 0, name: "hovertemplate" }; + f.hovertemplateString = function () { + return V.apply(R, arguments); + }; + var F = { max: 10, count: 0, name: "texttemplate" }; + f.texttemplateString = function () { + return V.apply(F, arguments); + }; + var B = /^(\S+)([\*\/])(-?\d+(\.\d+)?)$/; + function N(t) { + var e = t.match(B); + return e + ? { key: e[1], op: e[2], number: Number(e[3]) } + : { key: t, op: null, number: null }; + } + var j = { + max: 10, + count: 0, + name: "texttemplate", + parseMultDiv: !0, + }; + f.texttemplateStringForShapes = function () { + return V.apply(j, arguments); + }; + var U = /^[:|\|]/; + function V(t, e, r) { + var n = this, + a = arguments; + e || (e = {}); + var o = {}; + return t.replace( + f.TEMPLATE_STRING_REGEX, + function (t, s, l) { + var u = "_xother" === s || "_yother" === s, + c = "_xother_" === s || "_yother_" === s, + h = "xother_" === s || "yother_" === s, + p = + "xother" === s || "yother" === s || u || h || c, + d = s; + (u || c) && (d = d.substring(1)), + (h || c) && (d = d.substring(0, d.length - 1)); + var v, + g, + y, + m = null, + x = null; + if (n.parseMultDiv) { + var b = N(d); + (d = b.key), (m = b.op), (x = b.number); + } + if (p) { + if (void 0 === (v = e[d])) return ""; + } else + for (y = 3; y < a.length; y++) + if ((g = a[y])) { + if (g.hasOwnProperty(d)) { + v = g[d]; + break; + } + if ( + (z.test(d) || + ((v = f.nestedProperty(g, d).get()), + (v = + o[d] || f.nestedProperty(g, d).get()) && + (o[d] = v)), + void 0 !== v) + ) + break; + } + if ( + (void 0 !== v && + ("*" === m && (v *= x), "/" === m && (v /= x)), + void 0 === v && n) + ) + return ( + n.count < n.max && + (f.warn( + "Variable '" + + d + + "' in " + + n.name + + " could not be found!", + ), + (v = t)), + n.count === n.max && + f.warn( + "Too many " + + n.name + + " warnings - additional warnings will be suppressed", + ), + n.count++, + t + ); + if (l) { + var _; + if ( + (":" === l[0] && + (v = (_ = r + ? r.numberFormat + : f.numberFormat)(l.replace(U, ""))(v)), + "|" === l[0]) + ) { + _ = r ? r.timeFormat : i; + var w = f.dateTime2ms(v); + v = f.formatDate(w, l.replace(U, ""), !1, _); + } + } else { + var T = d + "Label"; + e.hasOwnProperty(T) && (v = e[T]); + } + return ( + p && + ((v = "(" + v + ")"), + (u || c) && (v = " " + v), + (h || c) && (v += " ")), + v + ); + }, + ); + } + f.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 H = 2e9; + (f.seedPseudoRandom = function () { + H = 2e9; + }), + (f.pseudoRandom = function () { + var t = H; + return ( + (H = (69069 * H + 1) % 4294967296), + Math.abs(H - t) < 429496729 + ? f.pseudoRandom() + : H / 4294967296 + ); + }), + (f.fillText = function (t, e, r) { + var n = Array.isArray(r) + ? function (t) { + r.push(t); + } + : function (t) { + r.text = t; + }, + i = f.extractOption(t, e, "htx", "hovertext"); + if (f.isValidTextValue(i)) return n(i); + var a = f.extractOption(t, e, "tx", "text"); + return f.isValidTextValue(a) ? n(a) : void 0; + }), + (f.isValidTextValue = function (t) { + return t || 0 === t; + }), + (f.formatPercent = function (t, e) { + e = e || 0; + for ( + var r = + ( + Math.round(100 * t * Math.pow(10, e)) * + Math.pow(0.1, e) + ).toFixed(e) + "%", + n = 0; + n < e; + n++ + ) + -1 !== r.indexOf(".") && + (r = (r = r.replace("0%", "%")).replace( + ".%", + "%", + )); + return r; + }), + (f.isHidden = function (t) { + var e = window.getComputedStyle(t).display; + return !e || "none" === e; + }), + (f.strTranslate = function (t, e) { + return t || e ? "translate(" + t + "," + e + ")" : ""; + }), + (f.strRotate = function (t) { + return t ? "rotate(" + t + ")" : ""; + }), + (f.strScale = function (t) { + return 1 !== t ? "scale(" + t + ")" : ""; + }), + (f.getTextTransform = function (t) { + var e = t.noCenter, + r = t.textX, + n = t.textY, + i = t.targetX, + a = t.targetY, + o = t.anchorX || 0, + s = t.anchorY || 0, + l = t.rotate, + u = t.scale; + return ( + u ? u > 1 && (u = 1) : (u = 0), + f.strTranslate(i - u * (r + o), a - u * (n + s)) + + f.strScale(u) + + (l + ? "rotate(" + + l + + (e ? "" : " " + r + " " + n) + + ")" + : "") + ); + }), + (f.setTransormAndDisplay = function (t, e) { + t.attr("transform", f.getTextTransform(e)), + t.style("display", e.scale ? null : "none"); + }), + (f.ensureUniformFontSize = function (t, e) { + var r = f.extendFlat({}, e); + return ( + (r.size = Math.max( + e.size, + t._fullLayout.uniformtext.minsize || 0, + )), + r + ); + }), + (f.join2 = function (t, e, r) { + var n = t.length; + return n > 1 + ? t.slice(0, -1).join(e) + r + t[n - 1] + : t.join(e); + }), + (f.bigFont = function (t) { + return Math.round(1.2 * t); + }); + var q = f.getFirefoxVersion(), + G = null !== q && q < 86; + f.getPositionFromD3Event = function () { + return G + ? [n.event.layerX, n.event.layerY] + : [n.event.offsetX, n.event.offsetY]; + }; + }, + 41965: function (t) { + "use strict"; + t.exports = function (t) { + return window && + window.process && + window.process.versions + ? "[object Object]" === + Object.prototype.toString.call(t) + : "[object Object]" === + Object.prototype.toString.call(t) && + Object.getPrototypeOf(t).hasOwnProperty( + "hasOwnProperty", + ); + }; + }, + 66636: function (t, e, r) { + "use strict"; + var n = r(65487), + i = /^\w*$/; + t.exports = function (t, e, r, a) { + var o, s, l; + (r = r || "name"), (a = a || "value"); + var u = {}; + e && e.length + ? ((l = n(t, e)), (s = l.get())) + : (s = t), + (e = e || ""); + var c = {}; + if (s) for (o = 0; o < s.length; o++) c[s[o][r]] = o; + var f = i.test(a), + h = { + set: function (t, e) { + var i = null === e ? 4 : 0; + if (!s) { + if (!l || 4 === i) return; + (s = []), l.set(s); + } + var o = c[t]; + if (void 0 === o) { + if (4 === i) return; + (i |= 3), (o = s.length), (c[t] = o); + } else + e !== (f ? s[o][a] : n(s[o], a).get()) && + (i |= 2); + var p = (s[o] = s[o] || {}); + return ( + (p[r] = t), + f ? (p[a] = e) : n(p, a).set(e), + null !== e && (i &= -5), + (u[o] = u[o] | i), + h + ); + }, + get: function (t) { + if (s) { + var e = c[t]; + return void 0 === e + ? void 0 + : f + ? s[e][a] + : n(s[e], a).get(); + } + }, + rename: function (t, e) { + var n = c[t]; + return ( + void 0 === n || + ((u[n] = 1 | u[n]), + (c[e] = n), + delete c[t], + (s[n][r] = e)), + h + ); + }, + remove: function (t) { + var e = c[t]; + if (void 0 === e) return h; + var i = s[e]; + if (Object.keys(i).length > 2) + return (u[e] = 2 | u[e]), h.set(t, null); + if (f) { + for (o = e; o < s.length; o++) u[o] = 3 | u[o]; + for (o = e; o < s.length; o++) c[s[o][r]]--; + s.splice(e, 1), delete c[t]; + } else n(i, a).set(null), (u[e] = 6 | u[e]); + return h; + }, + constructUpdate: function () { + for ( + var t, i, o = {}, l = Object.keys(u), c = 0; + c < l.length; + c++ + ) + (i = l[c]), + (t = e + "[" + i + "]"), + s[i] + ? (1 & u[i] && (o[t + "." + r] = s[i][r]), + 2 & u[i] && + (o[t + "." + a] = f + ? 4 & u[i] + ? null + : s[i][a] + : 4 & u[i] + ? null + : n(s[i], a).get())) + : (o[t] = null); + return o; + }, + }; + return h; + }; + }, + 15867: function (t, e, r) { + "use strict"; + var n = r(73972); + t.exports = function (t, e) { + for (var r = t._context.locale, i = 0; i < 2; i++) { + for (var a = t._context.locales, o = 0; o < 2; o++) { + var s = (a[r] || {}).dictionary; + if (s) { + var l = s[e]; + if (l) return l; + } + a = n.localeRegistry; + } + var u = r.split("-")[0]; + if (u === r) break; + r = u; + } + return e; + }; + }, + 47769: function (t, e, r) { + "use strict"; + var n = r(72075).dfltConfig, + i = r(75046), + a = (t.exports = {}); + (a.log = function () { + var t; + if (n.logging > 1) { + var e = ["LOG:"]; + for (t = 0; t < arguments.length; t++) + e.push(arguments[t]); + console.trace.apply(console, e); + } + if (n.notifyOnLogging > 1) { + var r = []; + for (t = 0; t < arguments.length; t++) + r.push(arguments[t]); + i(r.join("
"), "long"); + } + }), + (a.warn = function () { + var t; + if (n.logging > 0) { + var e = ["WARN:"]; + for (t = 0; t < arguments.length; t++) + e.push(arguments[t]); + console.trace.apply(console, e); + } + if (n.notifyOnLogging > 0) { + var r = []; + for (t = 0; t < arguments.length; t++) + r.push(arguments[t]); + i(r.join("
"), "stick"); + } + }), + (a.error = function () { + var t; + if (n.logging > 0) { + var e = ["ERROR:"]; + for (t = 0; t < arguments.length; t++) + e.push(arguments[t]); + console.error.apply(console, e); + } + if (n.notifyOnLogging > 0) { + var r = []; + for (t = 0; t < arguments.length; t++) + r.push(arguments[t]); + i(r.join("
"), "stick"); + } + }); + }, + 77310: function (t, e, r) { + "use strict"; + var n = r(39898); + t.exports = function (t, e, r) { + var i = t + .selectAll("g." + r.replace(/\s/g, ".")) + .data(e, function (t) { + return t[0].trace.uid; + }); + i.exit().remove(), + i.enter().append("g").attr("class", r), + i.order(); + var a = t.classed("rangeplot") + ? "nodeRangePlot3" + : "node3"; + return ( + i.each(function (t) { + t[0][a] = n.select(this); + }), + i + ); + }; + }, + 35657: function (t, e, r) { + "use strict"; + var n = r(79576); + (e.init2dArray = function (t, e) { + for (var r = new Array(t), n = 0; n < t; n++) + r[n] = new Array(e); + return r; + }), + (e.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; + }), + (e.dot = function (t, r) { + if (!t.length || !r.length || t.length !== r.length) + return null; + var n, + i, + a = t.length; + if (t[0].length) + for (n = new Array(a), i = 0; i < a; i++) + n[i] = e.dot(t[i], r); + else if (r[0].length) { + var o = e.transposeRagged(r); + for ( + n = new Array(o.length), i = 0; + i < o.length; + i++ + ) + n[i] = e.dot(t, o[i]); + } else + for (n = 0, i = 0; i < a; i++) n += t[i] * r[i]; + return n; + }), + (e.translationMatrix = function (t, e) { + return [ + [1, 0, t], + [0, 1, e], + [0, 0, 1], + ]; + }), + (e.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], + ]; + }), + (e.rotationXYMatrix = function (t, r, n) { + return e.dot( + e.dot( + e.translationMatrix(r, n), + e.rotationMatrix(t), + ), + e.translationMatrix(-r, -n), + ); + }), + (e.apply3DTransform = function (t) { + return function () { + var r = arguments, + n = + 1 === arguments.length + ? r[0] + : [r[0], r[1], r[2] || 0]; + return e.dot(t, [n[0], n[1], n[2], 1]).slice(0, 3); + }; + }), + (e.apply2DTransform = function (t) { + return function () { + var r = arguments; + 3 === r.length && (r = r[0]); + var n = + 1 === arguments.length ? r[0] : [r[0], r[1]]; + return e.dot(t, [n[0], n[1], 1]).slice(0, 2); + }; + }), + (e.apply2DTransform2 = function (t) { + var r = e.apply2DTransform(t); + return function (t) { + return r(t.slice(0, 2)).concat(r(t.slice(2, 4))); + }; + }), + (e.convertCssMatrix = function (t) { + if (t) { + var e = t.length; + if (16 === e) return t; + if (6 === e) + return [ + t[0], + t[1], + 0, + 0, + t[2], + t[3], + 0, + 0, + 0, + 0, + 1, + 0, + t[4], + t[5], + 0, + 1, + ]; + } + return [ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + ]; + }), + (e.inverseTransformMatrix = function (t) { + var e = []; + return ( + n.invert(e, t), + [ + [e[0], e[1], e[2], e[3]], + [e[4], e[5], e[6], e[7]], + [e[8], e[9], e[10], e[11]], + [e[12], e[13], e[14], e[15]], + ] + ); + }); + }, + 64872: function (t) { + "use strict"; + t.exports = { + mod: function (t, e) { + var r = t % e; + return r < 0 ? r + e : r; + }, + modHalf: function (t, e) { + return Math.abs(t) > e / 2 + ? t - Math.round(t / e) * e + : t; + }, + }; + }, + 65487: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(73627).isArrayOrTypedArray; + function a(t, e) { + return function () { + var r, + n, + o, + s, + l, + u = t; + for (s = 0; s < e.length - 1; s++) { + if (-1 === (r = e[s])) { + for (n = !0, o = [], l = 0; l < u.length; l++) + (o[l] = a(u[l], e.slice(s + 1))()), + o[l] !== o[0] && (n = !1); + return n ? o[0] : o; + } + if ("number" == typeof r && !i(u)) return; + if ("object" != typeof (u = u[r]) || null === u) + return; + } + if ( + "object" == typeof u && + null !== u && + null !== (o = u[e[s]]) + ) + return o; + }; + } + t.exports = function (t, e) { + if (n(e)) e = String(e); + else if ( + "string" != typeof e || + "[-1]" === e.substr(e.length - 4) + ) + throw "bad property string"; + var r, + i, + o, + s, + u = e.split("."); + for (s = 0; s < u.length; s++) + if ("__" === String(u[s]).slice(0, 2)) + throw "bad property string"; + for (s = 0; s < u.length; ) { + if ( + (r = String(u[s]).match( + /^([^\[\]]*)((\[\-?[0-9]*\])+)$/, + )) + ) { + if (r[1]) u[s] = r[1]; + else { + if (0 !== s) throw "bad property string"; + u.splice(0, 1); + } + for ( + i = r[2].substr(1, r[2].length - 2).split("]["), + o = 0; + o < i.length; + o++ + ) + s++, u.splice(s, 0, Number(i[o])); + } + s++; + } + return "object" != typeof t + ? (function (t, e, r) { + return { + set: function () { + throw "bad container"; + }, + get: function () {}, + astr: e, + parts: r, + obj: t, + }; + })(t, e, u) + : { + set: l(t, u, e), + get: a(t, u), + astr: e, + parts: u, + obj: t, + }; + }; + var o = /(^|\.)args\[/; + function s(t, e) { + return void 0 === t || (null === t && !e.match(o)); + } + function l(t, e, r) { + return function (n) { + var a, + o, + l = t, + h = "", + p = [[t, h]], + d = s(n, r); + for (o = 0; o < e.length - 1; o++) { + if ("number" == typeof (a = e[o]) && !i(l)) + throw "array index but container is not an array"; + if (-1 === a) { + if ((d = !c(l, e.slice(o + 1), n, r))) break; + return; + } + if (!f(l, a, e[o + 1], d)) break; + if ("object" != typeof (l = l[a]) || null === l) + throw "container is not an object"; + (h = u(h, a)), p.push([l, h]); + } + if (d) { + if ( + o === e.length - 1 && + (delete l[e[o]], + Array.isArray(l) && +e[o] == l.length - 1) + ) + for (; l.length && void 0 === l[l.length - 1]; ) + l.pop(); + } else l[e[o]] = n; + }; + } + function u(t, e) { + var r = e; + return ( + n(e) ? (r = "[" + e + "]") : t && (r = "." + e), t + r + ); + } + function c(t, e, r, n) { + var a, + o = i(r), + u = !0, + c = r, + h = n.replace("-1", 0), + p = !o && s(r, h), + d = e[0]; + for (a = 0; a < t.length; a++) + (h = n.replace("-1", a)), + o && (p = s((c = r[a % r.length]), h)), + p && (u = !1), + f(t, a, d, p) && l(t[a], e, n.replace("-1", a))(c); + return u; + } + function f(t, e, r, n) { + if (void 0 === t[e]) { + if (n) return !1; + t[e] = "number" == typeof r ? [] : {}; + } + return !0; + } + }, + 64213: function (t) { + "use strict"; + t.exports = function () {}; + }, + 75046: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = []; + t.exports = function (t, e) { + if (-1 === a.indexOf(t)) { + a.push(t); + var r = 1e3; + i(e) ? (r = e) : "long" === e && (r = 3e3); + var o = n + .select("body") + .selectAll(".plotly-notifier") + .data([0]); + o + .enter() + .append("div") + .classed("plotly-notifier", !0), + o + .selectAll(".notifier-note") + .data(a) + .enter() + .append("div") + .classed("notifier-note", !0) + .style("opacity", 0) + .each(function (t) { + var i = n.select(this); + i.append("button") + .classed("notifier-close", !0) + .html("×") + .on("click", function () { + i.transition().call(s); + }); + for ( + var a = i.append("p"), + o = t.split(//g), + l = 0; + l < o.length; + l++ + ) + l && a.append("br"), + a.append("span").text(o[l]); + "stick" === e + ? i + .transition() + .duration(350) + .style("opacity", 1) + : i + .transition() + .duration(700) + .style("opacity", 1) + .transition() + .delay(r) + .call(s); + }); + } + function s(t) { + t.duration(700) + .style("opacity", 0) + .each("end", function (t) { + var e = a.indexOf(t); + -1 !== e && a.splice(e, 1), + n.select(this).remove(); + }); + } + }; + }, + 39918: function (t, e, r) { + "use strict"; + var n = r(6964), + i = "data-savedcursor"; + t.exports = function (t, e) { + var r = t.attr(i); + if (e) { + if (!r) { + for ( + var a = (t.attr("class") || "").split(" "), o = 0; + o < a.length; + o++ + ) { + var s = a[o]; + 0 === s.indexOf("cursor-") && + t.attr(i, s.substr(7)).classed(s, !1); + } + t.attr(i) || t.attr(i, "!!"); + } + n(t, e); + } else + r && (t.attr(i, null), "!!" === r ? n(t) : n(t, r)); + }; + }, + 61082: function (t, e, r) { + "use strict"; + var n = r(35657).dot, + i = r(50606).BADNUM, + a = (t.exports = {}); + (a.tester = function (t) { + var e, + r = t.slice(), + n = r[0][0], + a = n, + o = r[0][1], + s = o; + for ( + (r[r.length - 1][0] === r[0][0] && + r[r.length - 1][1] === r[0][1]) || + r.push(r[0]), + e = 1; + e < r.length; + e++ + ) + (n = Math.min(n, r[e][0])), + (a = Math.max(a, r[e][0])), + (o = Math.min(o, r[e][1])), + (s = Math.max(s, r[e][1])); + var l, + u = !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] && + ((u = !0), + (l = 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] && + ((u = !0), + (l = function (t) { + return t[1] === r[0][1]; + }))); + var c = !0, + f = r[0]; + for (e = 1; e < r.length; e++) + if (f[0] !== r[e][0] || f[1] !== r[e][1]) { + c = !1; + break; + } + return { + xmin: n, + xmax: a, + ymin: o, + ymax: s, + pts: r, + contains: u + ? function (t, e) { + var r = t[0], + u = t[1]; + return !( + r === i || + r < n || + r > a || + u === i || + u < o || + u > s || + (e && l(t)) + ); + } + : function (t, e) { + var l = t[0], + u = t[1]; + if ( + l === i || + l < n || + l > a || + u === i || + u < o || + u > s + ) + return !1; + var c, + f, + h, + p, + d, + v = r.length, + g = r[0][0], + y = r[0][1], + m = 0; + for (c = 1; c < v; c++) + if ( + ((f = g), + (h = y), + (g = r[c][0]), + (y = r[c][1]), + !( + l < (p = Math.min(f, g)) || + l > Math.max(f, g) || + u > Math.max(h, y) + )) + ) + if (u < Math.min(h, y)) l !== p && m++; + else { + if ( + u === + (d = + g === f + ? u + : h + ((l - f) * (y - h)) / (g - f)) + ) + return 1 !== c || !e; + u <= d && l !== p && m++; + } + return m % 2 == 1; + }, + isRect: u, + degenerate: c, + }; + }), + (a.isSegmentBent = function (t, e, r, i) { + var a, + o, + s, + l = t[e], + u = [t[r][0] - l[0], t[r][1] - l[1]], + c = n(u, u), + f = Math.sqrt(c), + h = [-u[1] / f, u[0] / f]; + for (a = e + 1; a < r; a++) + if ( + ((o = [t[a][0] - l[0], t[a][1] - l[1]]), + (s = n(o, u)) < 0 || + s > c || + Math.abs(n(o, h)) > i) + ) + return !0; + return !1; + }), + (a.filter = function (t, e) { + var r = [t[0]], + n = 0, + i = 0; + function o(o) { + t.push(o); + var s = r.length, + l = n; + r.splice(i + 1); + for (var u = l + 1; u < t.length; u++) + (u === t.length - 1 || + a.isSegmentBent(t, l, u + 1, e)) && + (r.push(t[u]), + r.length < s - 2 && + ((n = u), (i = r.length - 1)), + (l = u)); + } + return ( + t.length > 1 && o(t.pop()), + { addPt: o, raw: t, filtered: r } + ); + }); + }, + 79749: function (t, e, r) { + "use strict"; + var n = r(58617), + i = r(98580); + t.exports = function (t, e, a) { + var o = t._fullLayout, + s = !0; + return ( + o._glcanvas.each(function (n) { + if (n.regl) n.regl.preloadCachedCode(a); + else if (!n.pick || o._has("parcoords")) { + try { + n.regl = i({ + canvas: this, + attributes: { + antialias: !n.pick, + preserveDrawingBuffer: !0, + }, + pixelRatio: + t._context.plotGlPixelRatio || + r.g.devicePixelRatio, + extensions: e || [], + cachedCode: a || {}, + }); + } catch (t) { + s = !1; + } + n.regl || (s = !1), + s && + this.addEventListener( + "webglcontextlost", + function (e) { + t && + t.emit && + t.emit("plotly_webglcontextlost", { + event: e, + layer: n.key, + }); + }, + !1, + ); + } + }), + s || n({ container: o._glcontainer.node() }), + s + ); + }; + }, + 45142: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(35791); + t.exports = function (t) { + var e; + if ( + "string" != + typeof (e = + t && t.hasOwnProperty("userAgent") + ? t.userAgent + : (function () { + var t; + return ( + "undefined" != typeof navigator && + (t = navigator.userAgent), + t && + t.headers && + "string" == + typeof t.headers["user-agent"] && + (t = t.headers["user-agent"]), + t + ); + })()) + ) + return !0; + var r = i({ + ua: { headers: { "user-agent": e } }, + tablet: !0, + featureDetect: !1, + }); + if (!r) + for (var a = e.split(" "), o = 1; o < a.length; o++) + if (-1 !== a[o].indexOf("Safari")) + for (var s = o - 1; s > -1; s--) { + var l = a[s]; + if ("Version/" === l.substr(0, 8)) { + var u = l.substr(8).split(".")[0]; + if ((n(u) && (u = +u), u >= 13)) return !0; + } + } + return r; + }; + }, + 75138: function (t) { + "use strict"; + t.exports = function (t, e) { + if (e instanceof RegExp) { + for (var r = e.toString(), n = 0; n < t.length; n++) + if (t[n] instanceof RegExp && t[n].toString() === r) + return t; + t.push(e); + } else + (!e && 0 !== e) || -1 !== t.indexOf(e) || t.push(e); + return t; + }; + }, + 10847: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(72075).dfltConfig, + a = { + add: function (t, e, r, n, a) { + var o, s; + (t.undoQueue = t.undoQueue || { + index: 0, + queue: [], + sequence: !1, + }), + (s = t.undoQueue.index), + t.autoplay + ? t.undoQueue.inSequence || (t.autoplay = !1) + : (!t.undoQueue.sequence || + t.undoQueue.beginSequence + ? ((o = { + undo: { calls: [], args: [] }, + redo: { calls: [], args: [] }, + }), + t.undoQueue.queue.splice( + s, + t.undoQueue.queue.length - s, + o, + ), + (t.undoQueue.index += 1)) + : (o = t.undoQueue.queue[s - 1]), + (t.undoQueue.beginSequence = !1), + o && + (o.undo.calls.unshift(e), + o.undo.args.unshift(r), + o.redo.calls.push(n), + o.redo.args.push(a)), + t.undoQueue.queue.length > i.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 ( + !( + 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++ + ) + a.plotDo(t, e.undo.calls[r], e.undo.args[r]); + (t.undoQueue.inSequence = !1), (t.autoplay = !1); + } + }, + redo: function (t) { + var e, r; + 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++ + ) + a.plotDo(t, e.redo.calls[r], e.redo.args[r]); + (t.undoQueue.inSequence = !1), + (t.autoplay = !1), + t.undoQueue.index++; + } + }, + plotDo: function (t, e, r) { + (t.autoplay = !0), + (r = (function (t, e) { + for (var r, i = [], a = 0; a < e.length; a++) + (r = e[a]), + (i[a] = + r === t + ? r + : "object" == typeof r + ? Array.isArray(r) + ? n.extendDeep([], r) + : n.extendDeepAll({}, r) + : r); + return i; + })(t, r)), + e.apply(null, r); + }, + }; + t.exports = a; + }, + 30587: function (t, e) { + "use strict"; + e.counter = function (t, e, r, n) { + var i = (e || "") + (r ? "" : "$"), + a = !1 === n ? "" : "^"; + return "xy" === t + ? new RegExp( + a + + "x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?" + + i, + ) + : new RegExp(a + t + "([2-9]|[1-9][0-9]+)?" + i); + }; + }, + 6962: function (t) { + "use strict"; + var e = /^(.*)(\.[^\.\[\]]+|\[\d\])$/, + r = /^[^\.\[\]]+$/; + t.exports = function (t, n) { + for (; n; ) { + var i = t.match(e); + if (i) t = i[1]; + else { + if (!t.match(r)) + throw new Error( + "bad relativeAttr call:" + [t, n], + ); + t = ""; + } + if ("^" !== n.charAt(0)) break; + n = n.slice(1); + } + return t && "[" !== n.charAt(0) ? t + "." + n : t + n; + }; + }, + 51332: function (t, e, r) { + "use strict"; + var n = r(73627).isArrayOrTypedArray, + i = r(41965); + t.exports = function t(e, r) { + for (var a in r) { + var o = r[a], + s = e[a]; + if (s !== o) + if ("_" === a.charAt(0) || "function" == typeof o) { + if (a in e) continue; + e[a] = o; + } else if (n(o) && n(s) && i(o[0])) { + if ("customdata" === a || "ids" === a) continue; + for ( + var l = Math.min(o.length, s.length), u = 0; + u < l; + u++ + ) + s[u] !== o[u] && + i(o[u]) && + i(s[u]) && + t(s[u], o[u]); + } else + i(o) && + i(s) && + (t(s, o), Object.keys(s).length || delete e[a]); + } + }; + }, + 65888: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(47769), + a = r(23389), + o = r(50606).BADNUM, + s = 1e-9; + function l(t, e) { + return t < e; + } + function u(t, e) { + return t <= e; + } + function c(t, e) { + return t > e; + } + function f(t, e) { + return t >= e; + } + (e.findBin = function (t, e, r) { + if (n(e.start)) + return r + ? Math.ceil((t - e.start) / e.size - s) - 1 + : Math.floor((t - e.start) / e.size + s); + var a, + o, + h = 0, + p = e.length, + d = 0, + v = p > 1 ? (e[p - 1] - e[0]) / (p - 1) : 1; + for ( + o = v >= 0 ? (r ? l : u) : r ? f : c, + t += v * s * (r ? -1 : 1) * (v >= 0 ? 1 : -1); + h < p && d++ < 100; + + ) + o(e[(a = Math.floor((h + p) / 2))], t) + ? (h = a + 1) + : (p = a); + return d > 90 && i.log("Long binary search..."), h - 1; + }), + (e.sorterAsc = function (t, e) { + return t - e; + }), + (e.sorterDes = function (t, e) { + return e - t; + }), + (e.distinctVals = function (t) { + var r, + n = t.slice(); + for ( + n.sort(e.sorterAsc), r = n.length - 1; + r > -1 && n[r] === o; + r-- + ); + for ( + var i, + a = n[r] - n[0] || 1, + s = a / (r || 1) / 1e4, + l = [], + u = 0; + u <= r; + u++ + ) { + var c = n[u], + f = c - i; + void 0 === i + ? (l.push(c), (i = c)) + : f > s && + ((a = Math.min(a, f)), l.push(c), (i = c)); + } + return { vals: l, minDiff: a }; + }), + (e.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]; + }), + (e.sort = function (t, e) { + for (var r = 0, n = 0, i = 1; i < t.length; i++) { + var a = e(t[i], t[i - 1]); + if ((a < 0 ? (r = 1) : a > 0 && (n = 1), r && n)) + return t.sort(e); + } + return n ? t : t.reverse(); + }), + (e.findIndexOfMin = function (t, e) { + e = e || a; + for (var r, n = 1 / 0, i = 0; i < t.length; i++) { + var o = e(t[i]); + o < n && ((n = o), (r = i)); + } + return r; + }); + }, + 6964: function (t) { + "use strict"; + t.exports = function (t, e) { + (t.attr("class") || "") + .split(" ") + .forEach(function (e) { + 0 === e.indexOf("cursor-") && t.classed(e, !1); + }), + e && t.classed("cursor-" + e, !0); + }; + }, + 58617: function (t, e, r) { + "use strict"; + var n = r(7901), + i = function () {}; + t.exports = function (t) { + for (var e in t) + "function" == typeof t[e] && (t[e] = i); + t.destroy = function () { + t.container.parentNode.removeChild(t.container); + }; + var r = document.createElement("div"); + (r.className = "no-webgl"), + (r.style.cursor = "pointer"), + (r.style.fontSize = "24px"), + (r.style.color = n.defaults[0]), + (r.style.position = "absolute"), + (r.style.left = r.style.top = "0px"), + (r.style.width = r.style.height = "100%"), + (r.style["background-color"] = n.lightLine), + (r.style["z-index"] = 30); + var a = document.createElement("p"); + return ( + (a.textContent = + "WebGL is not supported by your browser - visit https://get.webgl.org for more info"), + (a.style.position = "relative"), + (a.style.top = "50%"), + (a.style.left = "50%"), + (a.style.height = "30%"), + (a.style.width = "50%"), + (a.style.margin = "-15% 0 0 -25%"), + r.appendChild(a), + t.container.appendChild(r), + (t.container.style.background = "#FFFFFF"), + (t.container.onclick = function () { + window.open("https://get.webgl.org"); + }), + !1 + ); + }; + }, + 78607: function (t) { + "use strict"; + t.exports = function (t) { + return Object.keys(t).sort(); + }; + }, + 80038: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(73627).isArrayOrTypedArray; + (e.aggNums = function (t, r, a, o) { + var s, l; + if ( + ((!o || o > a.length) && (o = a.length), + n(r) || (r = !1), + i(a[0])) + ) { + for (l = new Array(o), s = 0; s < o; s++) + l[s] = e.aggNums(t, r, a[s]); + a = l; + } + for (s = 0; s < o; s++) + n(r) ? n(a[s]) && (r = t(+r, +a[s])) : (r = a[s]); + return r; + }), + (e.len = function (t) { + return e.aggNums( + function (t) { + return t + 1; + }, + 0, + t, + ); + }), + (e.mean = function (t, r) { + return ( + r || (r = e.len(t)), + e.aggNums( + function (t, e) { + return t + e; + }, + 0, + t, + ) / r + ); + }), + (e.midRange = function (t) { + if (void 0 !== t && 0 !== t.length) + return ( + (e.aggNums(Math.max, null, t) + + e.aggNums(Math.min, null, t)) / + 2 + ); + }), + (e.variance = function (t, r, i) { + return ( + r || (r = e.len(t)), + n(i) || (i = e.mean(t, r)), + e.aggNums( + function (t, e) { + return t + Math.pow(e - i, 2); + }, + 0, + t, + ) / r + ); + }), + (e.stdev = function (t, r, n) { + return Math.sqrt(e.variance(t, r, n)); + }), + (e.median = function (t) { + var r = t.slice().sort(); + return e.interp(r, 0.5); + }), + (e.interp = function (t, e) { + if (!n(e)) throw "n should be a finite number"; + if ((e = e * t.length - 0.5) < 0) return t[0]; + if (e > t.length - 1) return t[t.length - 1]; + var r = e % 1; + return ( + r * t[Math.ceil(e)] + (1 - r) * t[Math.floor(e)] + ); + }); + }, + 78614: function (t, e, r) { + "use strict"; + var n = r(25075); + t.exports = function (t) { + return t ? n(t) : [0, 0, 0, 1]; + }; + }, + 3883: function (t, e, r) { + "use strict"; + var n = r(32396), + i = r(91424), + a = r(71828), + o = null; + t.exports = function () { + if (null !== o) return o; + o = !1; + var t = a.isIE() || a.isSafari() || a.isIOS(); + if (window.navigator.userAgent && !t) { + var e = Array.from(n.CSS_DECLARATIONS).reverse(), + r = + (window.CSS && window.CSS.supports) || + window.supportsCSS; + if ("function" == typeof r) + o = e.some(function (t) { + return r.apply(null, t); + }); + else { + var s = i.tester + .append("image") + .attr("style", n.STYLE), + l = window.getComputedStyle( + s.node(), + ).imageRendering; + (o = e.some(function (t) { + var e = t[1]; + return l === e || l === e.toLowerCase(); + })), + s.remove(); + } + } + return o; + }; + }, + 63893: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = i.strTranslate, + o = r(77922), + s = r(18783).LINE_SPACING, + l = /([^$]*)([$]+[^$]*[$]+)([^$]*)/; + e.convertToTspans = function (t, r, g) { + var S = t.text(), + E = + !t.attr("data-notex") && + r && + r._context.typesetMath && + "undefined" != typeof MathJax && + S.match(l), + O = n.select(t.node().parentNode); + if (!O.empty()) { + var P = t.attr("class") + ? t.attr("class").split(" ")[0] + : "text"; + return ( + (P += "-math"), + O.selectAll("svg." + P).remove(), + O.selectAll("g." + P + "-group").remove(), + t + .style("display", null) + .attr({ + "data-unformatted": S, + "data-math": "N", + }), + E + ? ((r && r._promises) || []).push( + new Promise(function (e) { + t.style("display", "none"); + var r = parseInt( + t.node().style.fontSize, + 10, + ), + o = { fontSize: r }; + !(function (t, e, r) { + var a, + o, + s, + l, + h = parseInt( + (MathJax.version || "").split(".")[0], + ); + if (2 === h || 3 === h) { + var p = function () { + var r = + "math-output-" + + i.randstr({}, 64), + a = (l = n + .select("body") + .append("div") + .attr({ id: r }) + .style({ + visibility: "hidden", + position: "absolute", + "font-size": + e.fontSize + "px", + }) + .text( + t + .replace(u, "\\lt ") + .replace(c, "\\gt "), + )).node(); + return 2 === h + ? MathJax.Hub.Typeset(a) + : MathJax.typeset([a]); + }, + d = function () { + var e = l.select( + 2 === h + ? ".MathJax_SVG" + : ".MathJax", + ), + a = + !e.empty() && + l.select("svg").node(); + if (a) { + var o, + s = a.getBoundingClientRect(); + (o = + 2 === h + ? n + .select("body") + .select( + "#MathJax_SVG_glyphs", + ) + : e.select("defs")), + r(e, o, s); + } else + i.log( + "There was an error in the tex syntax.", + t, + ), + r(); + l.remove(); + }; + 2 === h + ? MathJax.Hub.Queue( + function () { + return ( + (o = i.extendDeepAll( + {}, + MathJax.Hub.config, + )), + (s = + MathJax.Hub + .processSectionDelay), + void 0 !== + MathJax.Hub + .processSectionDelay && + (MathJax.Hub.processSectionDelay = 0), + MathJax.Hub.Config({ + messageStyle: "none", + tex2jax: { inlineMath: f }, + displayAlign: "left", + }) + ); + }, + function () { + if ( + "SVG" !== + (a = + MathJax.Hub.config + .menuSettings.renderer) + ) + return MathJax.Hub.setRenderer( + "SVG", + ); + }, + p, + d, + function () { + if ("SVG" !== a) + return MathJax.Hub.setRenderer( + a, + ); + }, + function () { + return ( + void 0 !== s && + (MathJax.Hub.processSectionDelay = + s), + MathJax.Hub.Config(o) + ); + }, + ) + : 3 === h && + ((o = i.extendDeepAll( + {}, + MathJax.config, + )), + MathJax.config.tex || + (MathJax.config.tex = {}), + (MathJax.config.tex.inlineMath = f), + "svg" !== + (a = + MathJax.config.startup + .output) && + (MathJax.config.startup.output = + "svg"), + MathJax.startup.defaultReady(), + MathJax.startup.promise.then( + function () { + p(), + d(), + "svg" !== a && + (MathJax.config.startup.output = + a), + (MathJax.config = o); + }, + )); + } else + i.warn( + "No MathJax version:", + MathJax.version, + ); + })(E[2], o, function (n, i, o) { + O.selectAll("svg." + P).remove(), + O.selectAll( + "g." + P + "-group", + ).remove(); + var s = n && n.select("svg"); + if (!s || !s.node()) return I(), void e(); + var l = O.append("g") + .classed(P + "-group", !0) + .attr({ + "pointer-events": "none", + "data-unformatted": S, + "data-math": "Y", + }); + l.node().appendChild(s.node()), + i && + i.node() && + s + .node() + .insertBefore( + i.node().cloneNode(!0), + s.node().firstChild, + ); + var u = o.width, + c = o.height; + s.attr({ + class: P, + height: c, + preserveAspectRatio: "xMinYMin meet", + }).style({ + overflow: "visible", + "pointer-events": "none", + }); + var f = t.node().style.fill || "black", + h = s.select("g"); + h.attr({ fill: f, stroke: f }); + var p = h.node().getBoundingClientRect(), + d = p.width, + v = p.height; + (d > u || v > c) && + (s.style("overflow", "hidden"), + (d = (p = s + .node() + .getBoundingClientRect()).width), + (v = p.height)); + var y = +t.attr("x"), + m = +t.attr("y"), + x = + -( + r || + t.node().getBoundingClientRect() + .height + ) / 4; + if ("y" === P[0]) + l.attr({ + transform: + "rotate(" + + [-90, y, m] + + ")" + + a(-d / 2, x - v / 2), + }); + else if ("l" === P[0]) m = x - v / 2; + else if ( + "a" === P[0] && + 0 !== P.indexOf("atitle") + ) + (y = 0), (m = x); + else { + var b = t.attr("text-anchor"); + (y -= + d * + ("middle" === b + ? 0.5 + : "end" === b + ? 1 + : 0)), + (m = m + x - v / 2); + } + s.attr({ x: y, y: m }), + g && g.call(t, l), + e(l); + }); + }), + ) + : I(), + t + ); + } + function I() { + O.empty() || + ((P = t.attr("class") + "-math"), + O.select("svg." + P).remove()), + t.text("").style("white-space", "pre"); + var r = (function (t, e) { + e = e.replace(y, " "); + var r, + a = !1, + l = [], + u = -1; + function c() { + u++; + var e = document.createElementNS(o.svg, "tspan"); + n + .select(e) + .attr({ class: "line", dy: u * s + "em" }), + t.appendChild(e), + (r = e); + var i = l; + if (((l = [{ node: e }]), i.length > 1)) + for (var a = 1; a < i.length; a++) f(i[a]); + } + function f(t) { + var e, + i = t.type, + a = {}; + if ("a" === i) { + e = "a"; + var s = t.target, + u = t.href, + c = t.popup; + u && + ((a = { + "xlink:xlink:show": + "_blank" === s || "_" !== s.charAt(0) + ? "new" + : "replace", + target: s, + "xlink:xlink:href": u, + }), + c && + (a.onclick = + 'window.open(this.href.baseVal,this.target.baseVal,"' + + c + + '");return false;')); + } else e = "tspan"; + t.style && (a.style = t.style); + var f = document.createElementNS(o.svg, e); + if ("sup" === i || "sub" === i) { + g(r, v), r.appendChild(f); + var h = document.createElementNS( + o.svg, + "tspan", + ); + g(h, v), + n.select(h).attr("dy", d[i]), + (a.dy = p[i]), + r.appendChild(f), + r.appendChild(h); + } else r.appendChild(f); + n.select(f).attr(a), (r = t.node = f), l.push(t); + } + function g(t, e) { + t.appendChild(document.createTextNode(e)); + } + function S(t) { + if (1 !== l.length) { + var n = l.pop(); + t !== n.type && + i.log( + "Start tag <" + + n.type + + "> doesnt match end tag <" + + t + + ">. Pretending it did match.", + e, + ), + (r = l[l.length - 1].node); + } else + i.log( + "Ignoring unexpected end tag .", + e, + ); + } + b.test(e) ? c() : ((r = t), (l = [{ node: t }])); + for (var E = e.split(m), O = 0; O < E.length; O++) { + var P = E[O], + I = P.match(x), + D = I && I[2].toLowerCase(), + z = h[D]; + if ("br" === D) c(); + else if (void 0 === z) g(r, L(P)); + else if (I[1]) S(D); + else { + var R = I[4], + F = { type: D }, + B = A(R, _); + if ( + (B + ? ((B = B.replace(M, "$1 fill:")), + z && (B += ";" + z)) + : z && (B = z), + B && (F.style = B), + "a" === D) + ) { + a = !0; + var N = A(R, w); + if (N) { + var j = C(N); + j && + ((F.href = j), + (F.target = A(R, T) || "_blank"), + (F.popup = A(R, k))); + } + } + f(F); + } + } + return a; + })(t.node(), S); + r && t.style("pointer-events", "all"), + e.positionText(t), + g && g.call(t); + } + }; + var u = /(<|<|<)/g, + c = /(>|>|>)/g, + f = [ + ["$", "$"], + ["\\(", "\\)"], + ], + h = { + 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", + }, + p = { sub: "0.3em", sup: "-0.6em" }, + d = { sub: "-0.21em", sup: "0.42em" }, + v = "​", + g = ["http:", "https:", "mailto:", "", void 0, ":"], + y = (e.NEWLINES = /(\r\n?|\n)/g), + m = /(<[^<>]*>)/, + x = /<(\/?)([^ >]*)(\s+(.*))?>/i, + b = //i; + e.BR_TAG_ALL = //gi; + var _ = + /(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i, + w = /(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i, + T = /(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i, + k = /(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i; + function A(t, e) { + if (!t) return null; + var r = t.match(e), + n = r && (r[3] || r[4]); + return n && L(n); + } + var M = /(^|;)\s*color:/; + e.plainText = function (t, e) { + for ( + var r = + void 0 !== (e = e || {}).len && -1 !== e.len + ? e.len + : 1 / 0, + n = + void 0 !== e.allowedTags ? e.allowedTags : ["br"], + i = "...".length, + a = t.split(m), + o = [], + s = "", + l = 0, + u = 0; + u < a.length; + u++ + ) { + var c = a[u], + f = c.match(x), + h = f && f[2].toLowerCase(); + if (h) -1 !== n.indexOf(h) && (o.push(c), (s = h)); + else { + var p = c.length; + if (l + p < r) o.push(c), (l += p); + else if (l < r) { + var d = r - l; + s && ("br" !== s || d <= i || p <= i) && o.pop(), + r > i + ? o.push(c.substr(0, d - i) + "...") + : o.push(c.substr(0, d)); + break; + } + s = ""; + } + } + return o.join(""); + }; + var S = { + mu: "μ", + amp: "&", + lt: "<", + gt: ">", + nbsp: " ", + times: "×", + plusmn: "±", + deg: "°", + }, + E = /&(#\d+|#x[\da-fA-F]+|[a-z]+);/g; + function L(t) { + return t.replace(E, function (t, e) { + return ( + ("#" === e.charAt(0) + ? (function (t) { + if (!(t > 1114111)) { + var e = String.fromCodePoint; + if (e) return e(t); + var r = String.fromCharCode; + return t <= 65535 + ? r(t) + : r( + 55232 + (t >> 10), + (t % 1024) + 56320, + ); + } + })( + "x" === e.charAt(1) + ? parseInt(e.substr(2), 16) + : parseInt(e.substr(1), 10), + ) + : S[e]) || t + ); + }); + } + function C(t) { + var e = encodeURI(decodeURI(t)), + r = document.createElement("a"), + n = document.createElement("a"); + (r.href = t), (n.href = e); + var i = r.protocol, + a = n.protocol; + return -1 !== g.indexOf(i) && -1 !== g.indexOf(a) + ? e + : ""; + } + function O(t, e, r) { + var n, + a, + o, + s = r.horizontalAlign, + l = r.verticalAlign || "top", + u = t.node().getBoundingClientRect(), + c = e.node().getBoundingClientRect(); + return ( + (a = + "bottom" === l + ? function () { + return u.bottom - n.height; + } + : "middle" === l + ? function () { + return u.top + (u.height - n.height) / 2; + } + : function () { + return u.top; + }), + (o = + "right" === s + ? function () { + return u.right - n.width; + } + : "center" === s + ? function () { + return u.left + (u.width - n.width) / 2; + } + : function () { + return u.left; + }), + function () { + n = this.node().getBoundingClientRect(); + var t = o() - c.left, + e = a() - c.top, + s = r.gd || {}; + if (r.gd) { + s._fullLayout._calcInverseTransform(s); + var l = i.apply3DTransform( + s._fullLayout._invTransform, + )(t, e); + (t = l[0]), (e = l[1]); + } + return ( + this.style({ + top: e + "px", + left: t + "px", + "z-index": 1e3, + }), + this + ); + } + ); + } + (e.convertEntities = L), + (e.sanitizeHTML = function (t) { + t = t.replace(y, " "); + for ( + var e = document.createElement("p"), + r = e, + i = [], + a = t.split(m), + o = 0; + o < a.length; + o++ + ) { + var s = a[o], + l = s.match(x), + u = l && l[2].toLowerCase(); + if (u in h) + if (l[1]) i.length && (r = i.pop()); + else { + var c = l[4], + f = A(c, _), + p = f ? { style: f } : {}; + if ("a" === u) { + var d = A(c, w); + if (d) { + var v = C(d); + if (v) { + p.href = v; + var g = A(c, T); + g && (p.target = g); + } + } + } + var b = document.createElement(u); + r.appendChild(b), + n.select(b).attr(p), + (r = b), + i.push(b); + } + else r.appendChild(document.createTextNode(L(s))); + } + return e.innerHTML; + }), + (e.lineCount = function (t) { + return t.selectAll("tspan.line").size() || 1; + }), + (e.positionText = function (t, e, r) { + return t.each(function () { + var t = n.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", e), + o = i("y", r); + "text" === this.nodeName && + t.selectAll("tspan.line").attr({ x: a, y: o }); + }); + }); + var P = "1px "; + (e.makeTextShadow = function (t) { + return ( + "1px 1px 1px " + + t + + ", -1px -" + + P + + P + + t + + ", 1px -" + + P + + P + + t + + ", -" + + P + + P + + P + + t + ); + }), + (e.makeEditable = function (t, e) { + var r = e.gd, + i = e.delegate, + a = n.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, f; + (i = n.select(r).select(".svg-container")), + (s = i.append("div")), + (u = t.node().style), + (c = parseFloat(u.fontSize || 12)), + void 0 === (f = e.text) && + (f = t.attr("data-unformatted")), + s + .classed("plugin-editable editable", !0) + .style({ + position: "absolute", + "font-family": u.fontFamily || "Arial", + "font-size": c, + color: e.fill || u.fill || "black", + opacity: 1, + "background-color": + e.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(f) + .call(O(t, i, e)) + .on("blur", function () { + (r._editing = !1), + t + .text(this.textContent) + .style({ opacity: 1 }); + var e, + i = n.select(this).attr("class"); + (e = i + ? "." + i.split(" ")[0] + "-math-group" + : "[class*=-math-group]") && + n + .select(t.node().parentNode) + .select(e) + .style({ opacity: 0 }); + var o = this.textContent; + n + .select(this) + .transition() + .duration(0) + .remove(), + n.select(document).on("mouseup", null), + a.edit.call(t, o); + }) + .on("focus", function () { + var t = this; + (r._editing = !0), + n + .select(document) + .on("mouseup", function () { + if (n.event.target === t) return !1; + document.activeElement === s.node() && + s.node().blur(); + }); + }) + .on("keyup", function () { + 27 === n.event.which + ? ((r._editing = !1), + t.style({ opacity: 1 }), + n + .select(this) + .style({ opacity: 0 }) + .on("blur", function () { + return !1; + }) + .transition() + .remove(), + a.cancel.call(t, this.textContent)) + : (a.input.call(t, this.textContent), + n.select(this).call(O(t, i, e))); + }) + .on("keydown", function () { + 13 === n.event.which && this.blur(); + }) + .call(l), + t.style({ opacity: 0 }); + var h, + p = o.attr("class"); + (h = p + ? "." + p.split(" ")[0] + "-math-group" + : "[class*=-math-group]") && + n + .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 ( + e.immediate ? s() : o.on("click", s), + n.rebind(t, a, "on") + ); + }); + }, + 79990: function (t, e) { + "use strict"; + var r = {}; + function n(t) { + t && + null !== t.timer && + (clearTimeout(t.timer), (t.timer = null)); + } + (e.throttle = function (t, e, i) { + var a = r[t], + o = Date.now(); + if (!a) { + for (var s in r) r[s].ts < o - 6e4 && delete r[s]; + a = r[t] = { ts: 0, timer: null }; + } + function l() { + i(), + (a.ts = Date.now()), + a.onDone && (a.onDone(), (a.onDone = null)); + } + n(a), + o > a.ts + e + ? l() + : (a.timer = setTimeout(function () { + l(), (a.timer = null); + }, e)); + }), + (e.done = function (t) { + var e = r[t]; + return e && e.timer + ? new Promise(function (t) { + var r = e.onDone; + e.onDone = function () { + r && r(), t(), (e.onDone = null); + }; + }) + : Promise.resolve(); + }), + (e.clear = function (t) { + if (t) n(r[t]), delete r[t]; + else for (var i in r) e.clear(i); + }); + }, + 58163: function (t, e, r) { + "use strict"; + var n = r(92770); + t.exports = function (t, e) { + if (t > 0) return Math.log(t) / Math.LN10; + var r = Math.log(Math.min(e[0], e[1])) / Math.LN10; + return ( + n(r) || + (r = + Math.log(Math.max(e[0], e[1])) / Math.LN10 - 6), + r + ); + }; + }, + 90973: function (t, e, r) { + "use strict"; + var n = (t.exports = {}), + i = r(78776).locationmodeToLayer, + a = r(96892).zL; + (n.getTopojsonName = function (t) { + return [ + t.scope.replace(/ /g, "-"), + "_", + t.resolution.toString(), + "m", + ].join(""); + }), + (n.getTopojsonPath = function (t, e) { + return t + e + ".json"; + }), + (n.getTopojsonFeatures = function (t, e) { + var r = i[t.locationmode], + n = e.objects[r]; + return a(e, n).features; + }); + }, + 37815: function (t) { + "use strict"; + t.exports = { + moduleType: "locale", + name: "en-US", + dictionary: { + "Click to enter Colorscale title": + "Click to enter Colorscale title", + }, + format: { date: "%m/%d/%Y" }, + }; + }, + 92177: function (t) { + "use strict"; + t.exports = { + moduleType: "locale", + name: "en", + dictionary: { + "Click to enter Colorscale title": + "Click to enter Colourscale title", + }, + format: { + 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", + ], + 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", + }, + }; + }, + 14458: function (t, e, r) { + "use strict"; + var n = r(73972); + t.exports = function (t) { + for ( + var e, + r, + i = n.layoutArrayContainers, + a = n.layoutArrayRegexes, + o = t.split("[")[0], + s = 0; + s < a.length; + s++ + ) + if ((r = t.match(a[s])) && 0 === r.index) { + e = r[0]; + break; + } + if ((e || (e = i[i.indexOf(o)]), !e)) return !1; + var l = t.substr(e.length); + return l + ? !!(r = l.match( + /^\[(0|[1-9][0-9]*)\](\.(.+))?$/, + )) && { + array: e, + index: Number(r[1]), + property: r[3] || "", + } + : { array: e, index: "", property: "" }; + }; + }, + 30962: function (t, e, r) { + "use strict"; + var n = r(1426).extendFlat, + i = r(41965), + a = { + valType: "flaglist", + extras: ["none"], + flags: [ + "calc", + "clearAxisTypes", + "plot", + "style", + "markerSize", + "colorbars", + ], + }, + o = { + valType: "flaglist", + extras: ["none"], + flags: [ + "calc", + "plot", + "legend", + "ticks", + "axrange", + "layoutstyle", + "modebar", + "camera", + "arraydraw", + "colorbars", + ], + }, + s = a.flags.slice().concat(["fullReplot"]), + l = o.flags.slice().concat("layoutReplot"); + function u(t) { + for (var e = {}, r = 0; r < t.length; r++) e[t[r]] = !1; + return e; + } + function c(t, e, r) { + var a = n({}, t); + for (var o in a) { + var s = a[o]; + i(s) && (a[o] = f(s, e, 0, o)); + } + return "from-root" === r && (a.editType = e), a; + } + function f(t, e, r, i) { + if (t.valType) { + var a = n({}, t); + if (((a.editType = e), Array.isArray(t.items))) { + a.items = new Array(t.items.length); + for (var o = 0; o < t.items.length; o++) + a.items[o] = f(t.items[o], e); + } + return a; + } + return c( + t, + e, + "_" === i.charAt(0) ? "nested" : "from-root", + ); + } + t.exports = { + traces: a, + layout: o, + traceFlags: function () { + return u(s); + }, + layoutFlags: function () { + return u(l); + }, + 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: c, + }; + }, + 58377: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(27812), + a = r(73972), + o = r(71828), + s = r(74875), + l = r(41675), + u = r(7901), + c = l.cleanId, + f = l.getFromTrace, + h = a.traceIs; + function p(t, e) { + var r = t[e], + n = e.charAt(0); + r && "paper" !== r && (t[e] = c(r, n, !0)); + } + function d(t) { + function e(e, r) { + var n = t[e], + i = t.title && t.title[r]; + n && + !i && + (t.title || (t.title = {}), + (t.title[r] = t[e]), + delete t[e]); + } + t && + (("string" != typeof t.title && + "number" != typeof t.title) || + (t.title = { text: t.title }), + e("titlefont", "font"), + e("titleposition", "position"), + e("titleside", "side"), + e("titleoffset", "offset")); + } + function v(t) { + if (!o.isPlainObject(t)) return !1; + var e = t.name; + return ( + delete t.name, + delete t.showlegend, + ("string" == typeof e || "number" == typeof e) && + String(e) + ); + } + function g(t, e, r, n) { + if (r && !n) return t; + if (n && !r) return e; + if (!t.trim()) return e; + if (!e.trim()) return t; + var i, + a = Math.min(t.length, e.length); + for (i = 0; i < a && t.charAt(i) === e.charAt(i); i++); + return t.substr(0, i).trim(); + } + function y(t) { + var e = "middle", + r = "center"; + return ( + "string" == typeof t && + (-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 m(t, e) { + return ( + e in t && + "object" == typeof t[e] && + 0 === Object.keys(t[e]).length + ); + } + (e.clearPromiseQueue = function (t) { + Array.isArray(t._promises) && + t._promises.length > 0 && + o.log( + "Clearing previous rejected promises from queue.", + ), + (t._promises = []); + }), + (e.cleanLayout = function (t) { + var r, n; + 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 a = (s.subplotsRegistry.cartesian || {}) + .attrRegex, + l = (s.subplotsRegistry.polar || {}).attrRegex, + f = (s.subplotsRegistry.ternary || {}).attrRegex, + h = (s.subplotsRegistry.gl3d || {}).attrRegex, + v = Object.keys(t); + for (r = 0; r < v.length; r++) { + var g = v[r]; + if (a && a.test(g)) { + var y = t[g]; + y.anchor && + "free" !== y.anchor && + (y.anchor = c(y.anchor)), + y.overlaying && + (y.overlaying = c(y.overlaying)), + y.type || + (y.isdate + ? (y.type = "date") + : y.islog + ? (y.type = "log") + : !1 === y.isdate && + !1 === y.islog && + (y.type = "linear")), + ("withzero" !== y.autorange && + "tozero" !== y.autorange) || + ((y.autorange = !0), + (y.rangemode = "tozero")), + delete y.islog, + delete y.isdate, + delete y.categories, + m(y, "domain") && delete y.domain, + void 0 !== y.autotick && + (void 0 === y.tickmode && + (y.tickmode = y.autotick + ? "auto" + : "linear"), + delete y.autotick), + d(y); + } else if (l && l.test(g)) d(t[g].radialaxis); + else if (f && f.test(g)) { + var x = t[g]; + d(x.aaxis), d(x.baxis), d(x.caxis); + } else if (h && h.test(g)) { + var b = t[g], + _ = b.cameraposition; + if (Array.isArray(_) && 4 === _[0].length) { + var w = _[0], + T = _[1], + k = _[2], + A = i([], w), + M = []; + for (n = 0; n < 3; ++n) + M[n] = T[n] + k * A[2 + 4 * n]; + (b.camera = { + eye: { x: M[0], y: M[1], z: M[2] }, + center: { x: T[0], y: T[1], z: T[2] }, + up: { x: 0, y: 0, z: 1 }, + }), + delete b.cameraposition; + } + d(b.xaxis), d(b.yaxis), d(b.zaxis); + } + } + var S = Array.isArray(t.annotations) + ? t.annotations.length + : 0; + for (r = 0; r < S; r++) { + var E = t.annotations[r]; + o.isPlainObject(E) && + (E.ref && + ("paper" === E.ref + ? ((E.xref = "paper"), (E.yref = "paper")) + : "data" === E.ref && + ((E.xref = "x"), (E.yref = "y")), + delete E.ref), + p(E, "xref"), + p(E, "yref")); + } + var L = Array.isArray(t.shapes) ? t.shapes.length : 0; + for (r = 0; r < L; r++) { + var C = t.shapes[r]; + o.isPlainObject(C) && (p(C, "xref"), p(C, "yref")); + } + var O = Array.isArray(t.images) ? t.images.length : 0; + for (r = 0; r < O; r++) { + var P = t.images[r]; + o.isPlainObject(P) && (p(P, "xref"), p(P, "yref")); + } + var I = t.legend; + return ( + I && + (I.x > 3 + ? ((I.x = 1.02), (I.xanchor = "left")) + : I.x < -2 && + ((I.x = -0.02), (I.xanchor = "right")), + I.y > 3 + ? ((I.y = 1.02), (I.yanchor = "bottom")) + : I.y < -2 && + ((I.y = -0.02), (I.yanchor = "top"))), + d(t), + "rotate" === t.dragmode && (t.dragmode = "orbit"), + u.clean(t), + t.template && + t.template.layout && + e.cleanLayout(t.template.layout), + t + ); + }), + (e.cleanData = function (t) { + for (var r = 0; r < t.length; r++) { + var n, + i = t[r]; + if ( + ("histogramy" === i.type && + "xbins" in i && + !("ybins" in i) && + ((i.ybins = i.xbins), delete i.xbins), + i.error_y && "opacity" in i.error_y) + ) { + var l = u.defaults, + f = + i.error_y.color || + (h(i, "bar") + ? u.defaultLine + : l[r % l.length]); + (i.error_y.color = u.addOpacity( + u.rgb(f), + u.opacity(f) * i.error_y.opacity, + )), + delete i.error_y.opacity; + } + if ( + ("bardir" in i && + ("h" !== i.bardir || + (!h(i, "bar") && + "histogram" !== i.type.substr(0, 9)) || + ((i.orientation = "h"), e.swapXYData(i)), + delete i.bardir), + "histogramy" === i.type && e.swapXYData(i), + ("histogramx" !== i.type && + "histogramy" !== i.type) || + (i.type = "histogram"), + "scl" in i && + !("colorscale" in i) && + ((i.colorscale = i.scl), delete i.scl), + "reversescl" in i && + !("reversescale" in i) && + ((i.reversescale = i.reversescl), + delete i.reversescl), + i.xaxis && (i.xaxis = c(i.xaxis, "x")), + i.yaxis && (i.yaxis = c(i.yaxis, "y")), + h(i, "gl3d") && + i.scene && + (i.scene = s.subplotsRegistry.gl3d.cleanId( + i.scene, + )), + !h(i, "pie-like") && !h(i, "bar-like")) + ) + if (Array.isArray(i.textposition)) + for (n = 0; n < i.textposition.length; n++) + i.textposition[n] = y(i.textposition[n]); + else + i.textposition && + (i.textposition = y(i.textposition)); + var p = a.getModule(i); + if (p && p.colorbar) { + var x = p.colorbar.container, + b = x ? i[x] : i; + b && + b.colorscale && + ("YIGnBu" === b.colorscale && + (b.colorscale = "YlGnBu"), + "YIOrRd" === b.colorscale && + (b.colorscale = "YlOrRd")); + } + if ( + "surface" === i.type && + o.isPlainObject(i.contours) + ) { + var _ = ["x", "y", "z"]; + for (n = 0; n < _.length; n++) { + var w = i.contours[_[n]]; + o.isPlainObject(w) && + (w.highlightColor && + ((w.highlightcolor = w.highlightColor), + delete w.highlightColor), + w.highlightWidth && + ((w.highlightwidth = w.highlightWidth), + delete w.highlightWidth)); + } + } + if ("candlestick" === i.type || "ohlc" === i.type) { + var T = !1 !== (i.increasing || {}).showlegend, + k = !1 !== (i.decreasing || {}).showlegend, + A = v(i.increasing), + M = v(i.decreasing); + if (!1 !== A && !1 !== M) { + var S = g(A, M, T, k); + S && (i.name = S); + } else (!A && !M) || i.name || (i.name = A || M); + } + if (Array.isArray(i.transforms)) { + var E = i.transforms; + for (n = 0; n < E.length; n++) { + var L = E[n]; + if (o.isPlainObject(L)) + switch (L.type) { + case "filter": + L.filtersrc && + ((L.target = L.filtersrc), + delete L.filtersrc), + L.calendar && + (L.valuecalendar || + (L.valuecalendar = L.calendar), + delete L.calendar); + break; + case "groupby": + if ( + ((L.styles = L.styles || L.style), + L.styles && !Array.isArray(L.styles)) + ) { + var C = L.styles, + O = Object.keys(C); + L.styles = []; + for (var P = 0; P < O.length; P++) + L.styles.push({ + target: O[P], + value: C[O[P]], + }); + } + } + } + } + m(i, "line") && delete i.line, + "marker" in i && + (m(i.marker, "line") && delete i.marker.line, + m(i, "marker") && delete i.marker), + u.clean(i), + i.autobinx && (delete i.autobinx, delete i.xbins), + i.autobiny && (delete i.autobiny, delete i.ybins), + d(i), + i.colorbar && d(i.colorbar), + i.marker && + i.marker.colorbar && + d(i.marker.colorbar), + i.line && i.line.colorbar && d(i.line.colorbar), + i.aaxis && d(i.aaxis), + i.baxis && d(i.baxis); + } + }), + (e.swapXYData = function (t) { + var e; + if ( + (o.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); + o.swapAttrs(t, ["error_?.copy_ystyle"]), + n && + o.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("+"); + } + }), + (e.coerceTraceIndices = function (t, e) { + if (n(e)) return [e]; + if (!Array.isArray(e) || !e.length) + return t.data.map(function (t, e) { + return e; + }); + if (Array.isArray(e)) { + for (var r = [], i = 0; i < e.length; i++) + o.isIndex(e[i], t.data.length) + ? r.push(e[i]) + : o.warn( + "trace index (", + e[i], + ") is not a number or is out of bounds", + ); + return r; + } + return e; + }), + (e.manageArrayContainers = function (t, e, r) { + var i = t.obj, + a = t.parts, + s = a.length, + l = a[s - 1], + u = n(l); + if (u && null === e) { + var c = a.slice(0, s - 1).join("."); + o.nestedProperty(i, c).get().splice(l, 1); + } else + u && void 0 === t.get() + ? (void 0 === t.get() && (r[t.astr] = null), + t.set(e)) + : t.set(e); + }); + var x = /(\.[^\[\]\.]+|\[[^\[\]\.]+\])$/; + function b(t) { + var e = t.search(x); + if (e > 0) return t.substr(0, e); + } + e.hasParent = function (t, e) { + for (var r = b(e); r; ) { + if (r in t) return !0; + r = b(r); + } + return !1; + }; + var _ = ["x", "y", "z"]; + e.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 s = f(t, i, _[a]); + if (s && "log" !== s.type) { + var l = s._name, + u = s._id.substr(1); + if ("scene" === u.substr(0, 5)) { + if (void 0 !== r[u]) continue; + l = u + "." + l; + } + var c = l + ".type"; + void 0 === r[l] && + void 0 === r[c] && + o.nestedProperty(t.layout, c).set(null); + } + } + }; + }, + 10641: function (t, e, r) { + "use strict"; + var n = r(72391); + (e._doPlot = n._doPlot), + (e.newPlot = n.newPlot), + (e.restyle = n.restyle), + (e.relayout = n.relayout), + (e.redraw = n.redraw), + (e.update = n.update), + (e._guiRestyle = n._guiRestyle), + (e._guiRelayout = n._guiRelayout), + (e._guiUpdate = n._guiUpdate), + (e._storeDirectGUIEdit = n._storeDirectGUIEdit), + (e.react = n.react), + (e.extendTraces = n.extendTraces), + (e.prependTraces = n.prependTraces), + (e.addTraces = n.addTraces), + (e.deleteTraces = n.deleteTraces), + (e.moveTraces = n.moveTraces), + (e.purge = n.purge), + (e.addFrames = n.addFrames), + (e.deleteFrames = n.deleteFrames), + (e.animate = n.animate), + (e.setPlotConfig = n.setPlotConfig); + var i = r(24401).getGraphDiv, + a = r(34031).eraseActiveShape; + (e.deleteActiveShape = function (t) { + return a(i(t)); + }), + (e.toImage = r(403)), + (e.validate = r(84936)), + (e.downloadImage = r(7239)); + var o = r(96318); + (e.makeTemplate = o.makeTemplate), + (e.validateTemplate = o.validateTemplate); + }, + 6611: function (t, e, r) { + "use strict"; + var n = r(41965), + i = r(64213), + a = r(47769), + o = r(65888).sorterAsc, + s = r(73972); + e.containerArrayMatch = r(14458); + var l = (e.isAddVal = function (t) { + return "add" === t || n(t); + }), + u = (e.isRemoveVal = function (t) { + return null === t || "remove" === t; + }); + e.applyContainerArrayChanges = function (t, e, r, n, c) { + var f = e.astr, + h = s.getComponentMethod(f, "supplyLayoutDefaults"), + p = s.getComponentMethod(f, "draw"), + d = s.getComponentMethod(f, "drawOne"), + v = n.replot || n.recalc || h === i || p === i, + g = t.layout, + y = t._fullLayout; + if (r[""]) { + Object.keys(r).length > 1 && + a.warn( + "Full array edits are incompatible with other edits", + f, + ); + var m = r[""][""]; + if (u(m)) e.set(null); + else { + if (!Array.isArray(m)) + return ( + a.warn( + "Unrecognized full array edit value", + f, + m, + ), + !0 + ); + e.set(m); + } + return !v && (h(g, y), p(t), !0); + } + var x, + b, + _, + w, + T, + k, + A, + M, + S = Object.keys(r).map(Number).sort(o), + E = e.get(), + L = E || [], + C = c(y, f).get(), + O = [], + P = -1, + I = L.length; + for (x = 0; x < S.length; x++) + if ( + ((w = r[(_ = S[x])]), + (T = Object.keys(w)), + (k = w[""]), + (A = l(k)), + _ < 0 || _ > L.length - (A ? 0 : 1)) + ) + a.warn("index out of range", f, _); + else if (void 0 !== k) + T.length > 1 && + a.warn( + "Insertion & removal are incompatible with edits to the same index.", + f, + _, + ), + u(k) + ? O.push(_) + : A + ? ("add" === k && (k = {}), + L.splice(_, 0, k), + C && C.splice(_, 0, {})) + : a.warn( + "Unrecognized full object edit value", + f, + _, + k, + ), + -1 === P && (P = _); + else + for (b = 0; b < T.length; b++) + (M = f + "[" + _ + "]."), + c(L[_], T[b], M).set(w[T[b]]); + for (x = O.length - 1; x >= 0; x--) + L.splice(O[x], 1), C && C.splice(O[x], 1); + if ((L.length ? E || e.set(L) : e.set(null), v)) + return !1; + if ((h(g, y), d !== i)) { + var D; + if (-1 === P) D = S; + else { + for ( + I = Math.max(L.length, I), D = [], x = 0; + x < S.length && !((_ = S[x]) >= P); + x++ + ) + D.push(_); + for (x = P; x < I; x++) D.push(x); + } + for (x = 0; x < D.length; x++) d(t, D[x]); + } else p(t); + return !0; + }; + }, + 72391: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = r(57035), + o = r(71828), + s = o.nestedProperty, + l = r(11086), + u = r(10847), + c = r(73972), + f = r(86281), + h = r(74875), + p = r(89298), + d = r(91424), + v = r(7901), + g = r(4305).initInteractions, + y = r(77922), + m = r(47322).clearOutline, + x = r(72075).dfltConfig, + b = r(6611), + _ = r(58377), + w = r(61549), + T = r(30962), + k = r(85555).AX_NAME_PATTERN, + A = 0; + function M(t) { + var e = t._fullLayout; + e._redrawFromAutoMarginCount + ? e._redrawFromAutoMarginCount-- + : t.emit("plotly_afterplot"); + } + function S(t, e) { + try { + t._fullLayout._paper.style("background", e); + } catch (t) { + o.error(t); + } + } + function E(t, e) { + S(t, v.combine(e, "white")); + } + function L(t, e) { + if (!t._context) { + t._context = o.extendDeep({}, x); + var r = n.select("base"); + t._context._baseUrl = + r.size() && r.attr("href") + ? window.location.href.split("#")[0] + : ""; + } + var i, + s, + l, + u = t._context; + if (e) { + for (s = Object.keys(e), i = 0; i < s.length; i++) + "editable" !== (l = s[i]) && + "edits" !== l && + l in u && + ("setBackground" === l && "opaque" === e[l] + ? (u[l] = E) + : (u[l] = e[l])); + e.plot3dPixelRatio && + !u.plotGlPixelRatio && + (u.plotGlPixelRatio = u.plot3dPixelRatio); + var c = e.editable; + if (void 0 !== c) + for ( + u.editable = c, s = Object.keys(u.edits), i = 0; + i < s.length; + i++ + ) + u.edits[s[i]] = c; + if (e.edits) + for ( + s = Object.keys(e.edits), i = 0; + i < s.length; + i++ + ) + (l = s[i]) in u.edits && + (u.edits[l] = e.edits[l]); + u._exportedPlot = e._exportedPlot; + } + u.staticPlot && + ((u.editable = !1), + (u.edits = {}), + (u.autosizable = !1), + (u.scrollZoom = !1), + (u.doubleClick = !1), + (u.showTips = !1), + (u.showLink = !1), + (u.displayModeBar = !1)), + "hover" !== u.displayModeBar || + a || + (u.displayModeBar = !0), + ("transparent" !== u.setBackground && + "function" == typeof u.setBackground) || + (u.setBackground = S), + (u._hasZeroHeight = + u._hasZeroHeight || 0 === t.clientHeight), + (u._hasZeroWidth = + u._hasZeroWidth || 0 === t.clientWidth); + var f = u.scrollZoom, + h = (u._scrollZoom = {}); + if (!0 === f) + (h.cartesian = 1), + (h.gl3d = 1), + (h.geo = 1), + (h.mapbox = 1); + else if ("string" == typeof f) { + var p = f.split("+"); + for (i = 0; i < p.length; i++) h[p[i]] = 1; + } else + !1 !== f && + ((h.gl3d = 1), (h.geo = 1), (h.mapbox = 1)); + } + function C(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 O(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 P(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]), + O(t, e, "currentIndices"), + void 0 === r || Array.isArray(r) || (r = [r]), + void 0 !== r && O(t, r, "newIndices"), + void 0 !== r && e.length !== r.length) + ) + throw new Error( + "current and new indices must be of equal length.", + ); + } + function I(t, e, r, n, a) { + !(function (t, e, r, n) { + var i = o.isPlainObject(n); + if (!Array.isArray(t.data)) + throw new Error("gd.data must be an array"); + if (!o.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 (O(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, r, n); + for ( + var l = (function (t, e, r, n) { + var a, + l, + u, + c, + f, + h = o.isPlainObject(n), + p = []; + for (var d in (Array.isArray(r) || (r = [r]), + (r = C(r, t.data.length - 1)), + e)) + for (var v = 0; v < r.length; v++) { + if ( + ((a = t.data[r[v]]), + (l = (u = s(a, d)).get()), + (c = e[d][v]), + !o.isArrayOrTypedArray(c)) + ) + throw new Error( + "attribute: " + + d + + " index: " + + v + + " must be an array", + ); + if (!o.isArrayOrTypedArray(l)) + throw new Error( + "cannot extend missing or non-array attribute: " + + d, + ); + if (l.constructor !== c.constructor) + throw new Error( + "cannot extend array with an array of a different type: " + + d, + ); + (f = h ? n[d][v] : n), + i(f) || (f = -1), + p.push({ + prop: u, + target: l, + insert: c, + maxp: Math.floor(f), + }); + } + return p; + })(t, e, r, n), + u = {}, + c = {}, + f = 0; + f < l.length; + f++ + ) { + var h = l[f].prop, + p = l[f].maxp, + d = a(l[f].target, l[f].insert, p); + h.set(d[0]), + Array.isArray(u[h.astr]) || (u[h.astr] = []), + u[h.astr].push(d[1]), + Array.isArray(c[h.astr]) || (c[h.astr] = []), + c[h.astr].push(l[f].target.length); + } + return { update: u, maxPoints: c }; + } + function D(t, e) { + var r = new t.constructor(t.length + e.length); + return r.set(t), r.set(e, t.length), r; + } + function z(t, r, n, i) { + (t = o.getGraphDiv(t)), _.clearPromiseQueue(t); + var a = {}; + if ("string" == typeof r) a[r] = n; + else { + if (!o.isPlainObject(r)) + return ( + o.warn("Restyle fail.", r, n, i), Promise.reject() + ); + (a = o.extendFlat({}, r)), void 0 === i && (i = n); + } + Object.keys(a).length && (t.changed = !0); + var s = _.coerceTraceIndices(t, i), + l = N(t, a, s), + c = l.flags; + c.calc && (t.calcdata = void 0), + c.clearAxisTypes && _.clearAxisTypes(t, s, {}); + var f = []; + c.fullReplot + ? f.push(e._doPlot) + : (f.push(h.previousPromises), + h.supplyDefaults(t), + c.markerSize && (h.doCalcdata(t), H(f)), + c.style && f.push(w.doTraceStyle), + c.colorbars && f.push(w.doColorBars), + f.push(M)), + f.push(h.rehover, h.redrag, h.reselect), + u.add(t, z, [t, l.undoit, l.traces], z, [ + t, + l.redoit, + l.traces, + ]); + var p = o.syncOrAsync(f, t); + return ( + (p && p.then) || (p = Promise.resolve()), + p.then(function () { + return t.emit("plotly_restyle", l.eventData), t; + }) + ); + } + function R(t) { + return void 0 === t ? null : t; + } + function F(t, e) { + return e + ? function (e, r, n) { + var i = s(e, r), + a = i.set; + return ( + (i.set = function (e) { + B((n || "") + r, i.get(), e, t), a(e); + }), + i + ); + } + : s; + } + function B(t, e, r, n) { + if (Array.isArray(e) || Array.isArray(r)) + for ( + var i = Array.isArray(e) ? e : [], + a = Array.isArray(r) ? r : [], + s = Math.max(i.length, a.length), + l = 0; + l < s; + l++ + ) + B(t + "[" + l + "]", i[l], a[l], n); + else if (o.isPlainObject(e) || o.isPlainObject(r)) { + var u = o.isPlainObject(e) ? e : {}, + c = o.isPlainObject(r) ? r : {}, + f = o.extendFlat({}, u, c); + for (var h in f) B(t + "." + h, u[h], c[h], n); + } else void 0 === n[t] && (n[t] = R(e)); + } + function N(t, e, r) { + var n, + i = t._fullLayout, + a = t._fullData, + l = t.data, + u = i._guiEditing, + d = F(i._preGUI, u), + v = o.extendDeepAll({}, e); + j(e); + var g, + y = T.traceFlags(), + m = {}, + x = {}; + function b() { + return r.map(function () {}); + } + function w(t) { + var e = p.id2name(t); + -1 === g.indexOf(e) && g.push(e); + } + function k(t) { + return "LAYOUT" + t + ".autorange"; + } + function A(t) { + return "LAYOUT" + t + ".range"; + } + function M(t) { + for (var e = t; e < a.length; e++) + if (a[e]._input === l[t]) return a[e]; + } + function S(n, a, o) { + if (Array.isArray(n)) + n.forEach(function (t) { + S(t, a, o); + }); + else if (!(n in e) && !_.hasParent(e, n)) { + var s; + if ("LAYOUT" === n.substr(0, 6)) + s = d(t.layout, n.replace("LAYOUT", "")); + else { + var c = r[o]; + s = F(i._tracePreGUI[M(c)._fullInput.uid], u)( + l[c], + n, + ); + } + n in x || (x[n] = b()), + void 0 === x[n][o] && (x[n][o] = R(s.get())), + void 0 !== a && s.set(a); + } + } + function E(t) { + return function (e) { + return a[e][t]; + }; + } + function L(t) { + return function (e, n) { + return !1 === e ? a[r[n]][t] : null; + }; + } + for (var C in e) { + if (_.hasParent(e, C)) + throw new Error( + "cannot set " + + C + + " and a parent attribute simultaneously", + ); + var O, + P, + I, + D, + z, + B, + N = e[C]; + if ( + (("autobinx" !== C && "autobiny" !== C) || + ((C = C.charAt(C.length - 1) + "bins"), + (N = Array.isArray(N) + ? N.map(L(C)) + : !1 === N + ? r.map(E(C)) + : null)), + (m[C] = N), + "LAYOUT" !== C.substr(0, 6)) + ) { + for (x[C] = b(), n = 0; n < r.length; n++) + if ( + ((O = l[r[n]]), + (P = M(r[n])), + (D = (I = F( + i._tracePreGUI[P._fullInput.uid], + u, + )(O, C)).get()), + void 0 !== + (z = Array.isArray(N) ? N[n % N.length] : N)) + ) { + var U = I.parts[I.parts.length - 1], + V = C.substr(0, C.length - U.length - 1), + H = V ? V + "." : "", + q = V ? s(P, V).get() : P; + if ( + (B = f.getTraceValObject(P, I.parts)) && + B.impliedEdits && + null !== z + ) + for (var G in B.impliedEdits) + S( + o.relativeAttr(C, G), + B.impliedEdits[G], + n, + ); + else if ( + ("thicknessmode" !== U && "lenmode" !== U) || + D === z || + ("fraction" !== z && "pixels" !== z) || + !q + ) { + if ( + "type" === C && + (("pie" === z) != ("pie" === D) || + ("funnelarea" === z) != + ("funnelarea" === D)) + ) { + var Z = "x", + W = "y"; + ("bar" !== z && "bar" !== D) || + "h" !== O.orientation || + ((Z = "y"), (W = "x")), + o.swapAttrs( + O, + ["?", "?src"], + "labels", + Z, + ), + o.swapAttrs(O, ["d?", "?0"], "label", Z), + o.swapAttrs( + O, + ["?", "?src"], + "values", + W, + ), + "pie" === D || "funnelarea" === D + ? (s(O, "marker.color").set( + s(O, "marker.colors").get(), + ), + i._pielayer + .selectAll("g.trace") + .remove()) + : c.traceIs(O, "cartesian") && + s(O, "marker.colors").set( + s(O, "marker.color").get(), + ); + } + } else { + var Y = i._size, + X = q.orient, + J = "top" === X || "bottom" === X; + if ("thicknessmode" === U) { + var K = J ? Y.h : Y.w; + S( + H + "thickness", + q.thickness * + ("fraction" === z ? 1 / K : K), + n, + ); + } else { + var $ = J ? Y.w : Y.h; + S( + H + "len", + q.len * ("fraction" === z ? 1 / $ : $), + n, + ); + } + } + if ( + ((x[C][n] = R(D)), + -1 !== + [ + "swapxy", + "swapxyaxes", + "orientation", + "orientationaxes", + ].indexOf(C)) + ) { + if ("orientation" === C) { + I.set(z); + var Q = O.x && !O.y ? "h" : "v"; + if ((I.get() || Q) === P.orientation) + continue; + } else + "orientationaxes" === C && + (O.orientation = { v: "h", h: "v" }[ + P.orientation + ]); + _.swapXYData(O), + (y.calc = y.clearAxisTypes = !0); + } else + -1 !== + h.dataArrayContainers.indexOf(I.parts[0]) + ? (_.manageArrayContainers(I, z, x), + (y.calc = !0)) + : (B + ? B.arrayOk && + !c.traceIs(P, "regl") && + (o.isArrayOrTypedArray(z) || + o.isArrayOrTypedArray(D)) + ? (y.calc = !0) + : T.update(y, B) + : (y.calc = !0), + I.set(z)); + } + if ( + (-1 !== + ["swapxyaxes", "orientationaxes"].indexOf(C) && + p.swap(t, r), + "orientationaxes" === C) + ) { + var tt = s(t.layout, "hovermode"), + et = tt.get(); + "x" === et + ? tt.set("y") + : "y" === et + ? tt.set("x") + : "x unified" === et + ? tt.set("y unified") + : "y unified" === et && tt.set("x unified"); + } + if (-1 !== ["orientation", "type"].indexOf(C)) { + for (g = [], n = 0; n < r.length; n++) { + var rt = l[r[n]]; + c.traceIs(rt, "cartesian") && + (w(rt.xaxis || "x"), w(rt.yaxis || "y")); + } + S(g.map(k), !0, 0), S(g.map(A), [0, 1], 0); + } + } else + (I = d(t.layout, C.replace("LAYOUT", ""))), + (x[C] = [R(I.get())]), + I.set(Array.isArray(N) ? N[0] : N), + (y.calc = !0); + } + return ( + (y.calc || y.plot) && (y.fullReplot = !0), + { + flags: y, + undoit: x, + redoit: m, + traces: r, + eventData: o.extendDeepNoArrays([], [v, r]), + } + ); + } + function j(t) { + var e, + r, + n, + i = o.counterRegex("axis", ".title", !1, !1), + a = /colorbar\.title$/, + s = Object.keys(t); + for (e = 0; e < s.length; e++) + (r = s[e]), + (n = t[r]), + ("title" !== r && !i.test(r) && !a.test(r)) || + ("string" != typeof n && "number" != typeof n) + ? r.indexOf("titlefont") > -1 && + -1 === r.indexOf("grouptitlefont") + ? l(r, r.replace("titlefont", "title.font")) + : r.indexOf("titleposition") > -1 + ? l( + r, + r.replace( + "titleposition", + "title.position", + ), + ) + : r.indexOf("titleside") > -1 + ? l(r, r.replace("titleside", "title.side")) + : r.indexOf("titleoffset") > -1 && + l(r, r.replace("titleoffset", "title.offset")) + : l(r, r.replace("title", "title.text")); + function l(e, r) { + (t[r] = t[e]), delete t[e]; + } + } + function U(t, e, r) { + (t = o.getGraphDiv(t)), _.clearPromiseQueue(t); + var n = {}; + if ("string" == typeof e) n[e] = r; + else { + if (!o.isPlainObject(e)) + return ( + o.warn("Relayout fail.", e, r), Promise.reject() + ); + n = o.extendFlat({}, e); + } + Object.keys(n).length && (t.changed = !0); + var i = W(t, n), + a = i.flags; + a.calc && (t.calcdata = void 0); + var s = [h.previousPromises]; + a.layoutReplot + ? s.push(w.layoutReplot) + : Object.keys(n).length && + (V(t, a, i) || h.supplyDefaults(t), + a.legend && s.push(w.doLegend), + a.layoutstyle && s.push(w.layoutStyles), + a.axrange && H(s, i.rangesAltered), + a.ticks && s.push(w.doTicksRelayout), + a.modebar && s.push(w.doModeBar), + a.camera && s.push(w.doCamera), + a.colorbars && s.push(w.doColorBars), + s.push(M)), + s.push(h.rehover, h.redrag, h.reselect), + u.add(t, U, [t, i.undoit], U, [t, i.redoit]); + var l = o.syncOrAsync(s, t); + return ( + (l && l.then) || (l = Promise.resolve(t)), + l.then(function () { + return t.emit("plotly_relayout", i.eventData), t; + }) + ); + } + function V(t, e, r) { + var n = t._fullLayout; + if (!e.axrange) return !1; + for (var i in e) if ("axrange" !== i && e[i]) return !1; + for (var a in r.rangesAltered) { + var o = p.id2name(a), + s = t.layout[o], + l = n[o]; + l.autorange = s.autorange; + var u = l._rangeInitial0, + c = l._rangeInitial1; + if ( + (void 0 === u && void 0 !== c) || + (void 0 !== u && void 0 === c) + ) + return !1; + if ( + (s.range && (l.range = s.range.slice()), + l.cleanRange(), + l._matchGroup) + ) + for (var f in l._matchGroup) + if (f !== a) { + var h = n[p.id2name(f)]; + (h.autorange = l.autorange), + (h.range = l.range.slice()), + (h._input.range = l.range.slice()); + } + } + return !0; + } + function H(t, e) { + var r = e + ? function (t) { + var r = []; + for (var n in e) { + var i = p.getFromId(t, n); + if ( + (r.push(n), + -1 !== + (i.ticklabelposition || "").indexOf( + "inside", + ) && + i._anchorAxis && + r.push(i._anchorAxis._id), + i._matchGroup) + ) + for (var a in i._matchGroup) + e[a] || r.push(a); + } + return p.draw(t, r, { skipTitle: !0 }); + } + : function (t) { + return p.draw(t, "redraw"); + }; + t.push( + m, + w.doAutoRangeAndConstraints, + r, + w.drawData, + w.finalDraw, + ); + } + var q = /^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/, + G = /^[xyz]axis[0-9]*\.autorange$/, + Z = /^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/; + function W(t, e) { + var r, + n, + i, + a = t.layout, + l = t._fullLayout, + u = l._guiEditing, + h = F(l._preGUI, u), + d = Object.keys(e), + v = p.list(t), + g = o.extendDeepAll({}, e), + y = {}; + for (j(e), d = Object.keys(e), n = 0; n < d.length; n++) + if (0 === d[n].indexOf("allaxes")) { + for (i = 0; i < v.length; i++) { + var m = v[i]._id.substr(1), + x = -1 !== m.indexOf("scene") ? m + "." : "", + w = d[n].replace("allaxes", x + v[i]._name); + e[w] || (e[w] = e[d[n]]); + } + delete e[d[n]]; + } + var A = T.layoutFlags(), + M = {}, + S = {}; + function E(t, r) { + if (Array.isArray(t)) + t.forEach(function (t) { + E(t, r); + }); + else if (!(t in e) && !_.hasParent(e, t)) { + var n = h(a, t); + t in S || (S[t] = R(n.get())), + void 0 !== r && n.set(r); + } + } + var L, + C = {}; + function O(t) { + var e = p.name2id(t.split(".")[0]); + return (C[e] = 1), e; + } + for (var P in e) { + if (_.hasParent(e, P)) + throw new Error( + "cannot set " + + P + + " and a parent attribute simultaneously", + ); + for ( + var I = h(a, P), D = e[P], z = I.parts.length - 1; + z > 0 && "string" != typeof I.parts[z]; + + ) + z--; + var B = I.parts[z], + N = I.parts[z - 1] + "." + B, + U = I.parts.slice(0, z).join("."), + V = s(t.layout, U).get(), + H = s(l, U).get(), + W = I.get(); + if (void 0 !== D) { + (M[P] = D), (S[P] = "reverse" === B ? D : R(W)); + var X = f.getLayoutValObject(l, I.parts); + if (X && X.impliedEdits && null !== D) + for (var J in X.impliedEdits) + E(o.relativeAttr(P, J), X.impliedEdits[J]); + if (-1 !== ["width", "height"].indexOf(P)) + if (D) { + E("autosize", null); + var K = "height" === P ? "width" : "height"; + E(K, l[K]); + } else l[P] = t._initialAutoSize[P]; + else if ("autosize" === P) + E("width", D ? null : l.width), + E("height", D ? null : l.height); + else if (N.match(q)) + O(N), s(l, U + "._inputRange").set(null); + else if (N.match(G)) { + O(N), s(l, U + "._inputRange").set(null); + var $ = s(l, U).get(); + $._inputDomain && + ($._input.domain = $._inputDomain.slice()); + } else + N.match(Z) && s(l, U + "._inputDomain").set(null); + if ("type" === B) { + L = V; + var Q = "linear" === H.type && "log" === D, + tt = "log" === H.type && "linear" === D; + if (Q || tt) { + if (L && L.range) + if (H.autorange) + Q && + (L.range = + L.range[1] > L.range[0] + ? [1, 2] + : [2, 1]); + else { + var et = L.range[0], + rt = L.range[1]; + Q + ? (et <= 0 && + rt <= 0 && + E(U + ".autorange", !0), + et <= 0 + ? (et = rt / 1e6) + : rt <= 0 && (rt = et / 1e6), + E( + U + ".range[0]", + Math.log(et) / Math.LN10, + ), + E( + U + ".range[1]", + Math.log(rt) / Math.LN10, + )) + : (E(U + ".range[0]", Math.pow(10, et)), + E(U + ".range[1]", Math.pow(10, rt))); + } + else E(U + ".autorange", !0); + Array.isArray(l._subplots.polar) && + l._subplots.polar.length && + l[I.parts[0]] && + "radialaxis" === I.parts[1] && + delete l[I.parts[0]]._subplot.viewInitial[ + "radialaxis.range" + ], + c.getComponentMethod( + "annotations", + "convertCoords", + )(t, H, D, E), + c.getComponentMethod( + "images", + "convertCoords", + )(t, H, D, E); + } else + E(U + ".autorange", !0), E(U + ".range", null); + s(l, U + "._inputRange").set(null); + } else if (B.match(k)) { + var nt = s(l, P).get(), + it = (D || {}).type; + (it && "-" !== it) || (it = "linear"), + c.getComponentMethod( + "annotations", + "convertCoords", + )(t, nt, it, E), + c.getComponentMethod("images", "convertCoords")( + t, + nt, + it, + E, + ); + } + var at = b.containerArrayMatch(P); + if (at) { + (r = at.array), (n = at.index); + var ot = at.property, + st = X || { editType: "calc" }; + "" !== n && + "" === ot && + (b.isAddVal(D) + ? (S[P] = null) + : b.isRemoveVal(D) + ? (S[P] = (s(a, r).get() || [])[n]) + : o.warn( + "unrecognized full object value", + e, + )), + T.update(A, st), + y[r] || (y[r] = {}); + var lt = y[r][n]; + lt || (lt = y[r][n] = {}), + (lt[ot] = D), + delete e[P]; + } else + "reverse" === B + ? (V.range + ? V.range.reverse() + : (E(U + ".autorange", !0), + (V.range = [1, 0])), + H.autorange ? (A.calc = !0) : (A.plot = !0)) + : (("dragmode" === P && + ((!1 === D && !1 !== W) || + (!1 !== D && !1 === W))) || + (l._has("scatter-like") && + l._has("regl") && + "dragmode" === P && + ("lasso" === D || "select" === D) && + "lasso" !== W && + "select" !== W) || + l._has("gl2d") + ? (A.plot = !0) + : X + ? T.update(A, X) + : (A.calc = !0), + I.set(D)); + } + } + for (r in y) + b.applyContainerArrayChanges( + t, + h(a, r), + y[r], + A, + h, + ) || (A.plot = !0); + for (var ut in C) { + var ct = + (L = p.getFromId(t, ut)) && L._constraintGroup; + if (ct) + for (var ft in ((A.calc = !0), ct)) + C[ft] || + (p.getFromId(t, ft)._constraintShrinkable = !0); + } + (Y(t) || e.height || e.width) && (A.plot = !0); + var ht = l.shapes; + for (n = 0; n < ht.length; n++) + if (ht[n].showlegend) { + A.calc = !0; + break; + } + return ( + (A.plot || A.calc) && (A.layoutReplot = !0), + { + flags: A, + rangesAltered: C, + undoit: S, + redoit: M, + eventData: g, + } + ); + } + function Y(t) { + var e = t._fullLayout, + r = e.width, + n = e.height; + return ( + t.layout.autosize && h.plotAutoSize(t, t.layout, e), + e.width !== r || e.height !== n + ); + } + function X(t, r, n, i) { + (t = o.getGraphDiv(t)), + _.clearPromiseQueue(t), + o.isPlainObject(r) || (r = {}), + o.isPlainObject(n) || (n = {}), + Object.keys(r).length && (t.changed = !0), + Object.keys(n).length && (t.changed = !0); + var a = _.coerceTraceIndices(t, i), + s = N(t, o.extendFlat({}, r), a), + l = s.flags, + c = W(t, o.extendFlat({}, n)), + f = c.flags; + (l.calc || f.calc) && (t.calcdata = void 0), + l.clearAxisTypes && _.clearAxisTypes(t, a, n); + var p = []; + f.layoutReplot + ? p.push(w.layoutReplot) + : l.fullReplot + ? p.push(e._doPlot) + : (p.push(h.previousPromises), + V(t, f, c) || h.supplyDefaults(t), + l.style && p.push(w.doTraceStyle), + (l.colorbars || f.colorbars) && + p.push(w.doColorBars), + f.legend && p.push(w.doLegend), + f.layoutstyle && p.push(w.layoutStyles), + f.axrange && H(p, c.rangesAltered), + f.ticks && p.push(w.doTicksRelayout), + f.modebar && p.push(w.doModeBar), + f.camera && p.push(w.doCamera), + p.push(M)), + p.push(h.rehover, h.redrag, h.reselect), + u.add(t, X, [t, s.undoit, c.undoit, s.traces], X, [ + t, + s.redoit, + c.redoit, + s.traces, + ]); + var d = o.syncOrAsync(p, t); + return ( + (d && d.then) || (d = Promise.resolve(t)), + d.then(function () { + return ( + t.emit("plotly_update", { + data: s.eventData, + layout: c.eventData, + }), + t + ); + }) + ); + } + function J(t) { + return function (e) { + e._fullLayout._guiEditing = !0; + var r = t.apply(null, arguments); + return (e._fullLayout._guiEditing = !1), r; + }; + } + var K = [ + { + pattern: /^hiddenlabels/, + attr: "legend.uirevision", + }, + { + pattern: + /^((x|y)axis\d*)\.((auto)?range|title\.text)/, + }, + { + pattern: /axis\d*\.showspikes$/, + attr: "modebar.uirevision", + }, + { + pattern: /(hover|drag)mode$/, + attr: "modebar.uirevision", + }, + { pattern: /^(scene\d*)\.camera/ }, + { + pattern: /^(geo\d*)\.(projection|center|fitbounds)/, + }, + { + pattern: + /^(ternary\d*\.[abc]axis)\.(min|title\.text)$/, + }, + { + pattern: + /^(polar\d*\.radialaxis)\.((auto)?range|angle|title\.text)/, + }, + { pattern: /^(polar\d*\.angularaxis)\.rotation/ }, + { + pattern: + /^(mapbox\d*)\.(center|zoom|bearing|pitch)/, + }, + { pattern: /^legend\.(x|y)$/, attr: "editrevision" }, + { + pattern: /^(shapes|annotations)/, + attr: "editrevision", + }, + { pattern: /^title\.text$/, attr: "editrevision" }, + ], + $ = [ + { + pattern: /^selectedpoints$/, + attr: "selectionrevision", + }, + { + pattern: /(^|value\.)visible$/, + attr: "legend.uirevision", + }, + { pattern: /^dimensions\[\d+\]\.constraintrange/ }, + { pattern: /^node\.(x|y|groups)/ }, + { pattern: /^level$/ }, + { pattern: /(^|value\.)name$/ }, + { pattern: /colorbar\.title\.text$/ }, + { pattern: /colorbar\.(x|y)$/, attr: "editrevision" }, + ]; + function Q(t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r], + i = t.match(n.pattern); + if (i) { + var a = i[1] || ""; + return { + head: a, + tail: t.substr(a.length + 1), + attr: n.attr, + }; + } + } + } + function tt(t, e) { + var r = s(e, t).get(); + if (void 0 !== r) return r; + var n = t.split("."); + for (n.pop(); n.length > 1; ) + if ( + (n.pop(), + void 0 !== + (r = s(e, n.join(".") + ".uirevision").get())) + ) + return r; + return e.uirevision; + } + function et(t, e) { + for (var r = 0; r < e.length; r++) + if (e[r]._fullInput.uid === t) return r; + return -1; + } + function rt(t, e, r) { + for (var n = 0; n < e.length; n++) + if (e[n].uid === t) return n; + return !e[r] || e[r].uid ? -1 : r; + } + function nt(t, e) { + var r = o.isPlainObject(t), + n = Array.isArray(t); + return r || n + ? ((r && o.isPlainObject(e)) || + (n && Array.isArray(e))) && + JSON.stringify(t) === JSON.stringify(e) + : t === e; + } + function it(t, e, r, n) { + var i, + a, + l, + u = n.getValObject, + c = n.flags, + f = n.immutable, + h = n.inArray, + p = n.arrayIndex; + function d() { + var t = i.editType; + h && -1 !== t.indexOf("arraydraw") + ? o.pushUnique(c.arrays[h], p) + : (T.update(c, i), + "none" !== t && c.nChanges++, + n.transition && i.anim && c.nChangesAnim++, + (q.test(l) || G.test(l)) && + (c.rangesAltered[r[0]] = 1), + Z.test(l) && s(e, "_inputDomain").set(null), + "datarevision" === a && (c.newDataRevision = 1)); + } + function v(t) { + return "data_array" === t.valType || t.arrayOk; + } + for (a in t) { + if (c.calc && !n.transition) return; + var g = t[a], + y = e[a], + m = r.concat(a); + if ( + ((l = m.join(".")), + "_" !== a.charAt(0) && + "function" != typeof g && + g !== y) + ) { + if ( + ("tick0" === a || "dtick" === a) && + "geo" !== r[0] + ) { + var x = e.tickmode; + if ("auto" === x || "array" === x || !x) continue; + } + if ( + ("range" !== a || !e.autorange) && + (("zmin" !== a && "zmax" !== a) || + "contourcarpet" !== e.type) && + (i = u(m)) && + (!i._compareAsJSON || + JSON.stringify(g) !== JSON.stringify(y)) + ) { + var b, + _ = i.valType, + w = v(i), + k = Array.isArray(g), + A = Array.isArray(y); + if (k && A) { + var M = "_input_" + a, + S = t[M], + E = e[M]; + if (Array.isArray(S) && S === E) continue; + } + if (void 0 === y) w && k ? (c.calc = !0) : d(); + else if (i._isLinkedToArray) { + var L = [], + C = !1; + h || (c.arrays[a] = L); + var O = Math.min(g.length, y.length), + P = Math.max(g.length, y.length); + if (O !== P) { + if ("arraydraw" !== i.editType) { + d(); + continue; + } + C = !0; + } + for (b = 0; b < O; b++) + it( + g[b], + y[b], + m.concat(b), + o.extendFlat( + { inArray: a, arrayIndex: b }, + n, + ), + ); + if (C) for (b = O; b < P; b++) L.push(b); + } else + !_ && o.isPlainObject(g) + ? it(g, y, m, n) + : w + ? k && A + ? (f && (c.calc = !0), + (f || n.newDataRevision) && d()) + : k !== A + ? (c.calc = !0) + : d() + : (k && + A && + g.length === y.length && + String(g) === String(y)) || + d(); + } + } + } + for (a in e) + if ( + !(a in t) && + "_" !== a.charAt(0) && + "function" != typeof e[a] + ) { + if (v((i = u(r.concat(a)))) && Array.isArray(e[a])) + return void (c.calc = !0); + d(); + } + } + function at(t, e) { + var r; + for (r in t) + if ("_" !== r.charAt(0)) { + var n = t[r], + i = e[r]; + if (n !== i) + if (o.isPlainObject(n) && o.isPlainObject(i)) { + if (at(n, i)) return !0; + } else { + if (!Array.isArray(n) || !Array.isArray(i)) + return !0; + if (n.length !== i.length) return !0; + for (var a = 0; a < n.length; a++) + if (n[a] !== i[a]) { + if ( + !o.isPlainObject(n[a]) || + !o.isPlainObject(i[a]) + ) + return !0; + if (at(n[a], i[a])) return !0; + } + } + } + } + function ot(t) { + var e = t._fullLayout, + r = t.getBoundingClientRect(); + if (!o.equalDomRects(r, e._lastBBox)) { + var n = (e._invTransform = o.inverseTransformMatrix( + o.getFullTransformMatrix(t), + )); + (e._invScaleX = Math.sqrt( + n[0][0] * n[0][0] + + n[0][1] * n[0][1] + + n[0][2] * n[0][2], + )), + (e._invScaleY = Math.sqrt( + n[1][0] * n[1][0] + + n[1][1] * n[1][1] + + n[1][2] * n[1][2], + )), + (e._lastBBox = r); + } + } + (e.animate = function (t, e, r) { + if (((t = o.getGraphDiv(t)), !o.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://plotly.com/javascript/animations/", + ); + var n = t._transitionData; + n._frameQueue || (n._frameQueue = []); + var i = (r = h.supplyAnimationDefaults(r)).transition, + a = r.frame; + function s(t) { + return Array.isArray(i) + ? t >= i.length + ? i[0] + : i[t] + : i; + } + function l(t) { + return Array.isArray(a) + ? t >= a.length + ? a[0] + : a[t] + : a; + } + function u(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, c) { + function f() { + 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 && + (function () { + 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), + h + .transition( + t, + e.frame.data, + e.frame.layout, + _.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); + })(); + }; + e(); + } + var p, + d, + v = 0; + function g(t) { + return ( + Array.isArray(i) + ? v >= i.length + ? (t.transitionOpts = i[v]) + : (t.transitionOpts = i[0]) + : (t.transitionOpts = i), + v++, + t + ); + } + var y = [], + m = null == e, + x = Array.isArray(e); + if (m || x || !o.isPlainObject(e)) { + if ( + m || + -1 !== ["string", "number"].indexOf(typeof e) + ) + for (p = 0; p < n._frames.length; p++) + (d = n._frames[p]) && + (m || String(d.group) === String(e)) && + y.push({ + type: "byname", + name: String(d.name), + data: g({ name: d.name }), + }); + else if (x) + for (p = 0; p < e.length; p++) { + var b = e[p]; + -1 !== ["number", "string"].indexOf(typeof b) + ? ((b = String(b)), + y.push({ + type: "byname", + name: b, + data: g({ name: b }), + })) + : o.isPlainObject(b) && + y.push({ + type: "object", + data: g(o.extendFlat({}, b)), + }); + } + } else + y.push({ + type: "object", + data: g(o.extendFlat({}, e)), + }); + for (p = 0; p < y.length; p++) + if ( + "byname" === (d = y[p]).type && + !n._frameHash[d.data.name] + ) + return ( + o.warn( + 'animate failure: frame not found: "' + + d.data.name + + '"', + ), + void c() + ); + -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 && y.reverse(); + var w = t._fullLayout._currentFrame; + if (w && r.fromcurrent) { + var T = -1; + for (p = 0; p < y.length; p++) + if ( + "byname" === (d = y[p]).type && + d.name === w + ) { + T = p; + break; + } + if (T > 0 && T < y.length - 1) { + var k = []; + for (p = 0; p < y.length; p++) + (d = y[p]), + ("byname" !== y[p].type || p > T) && + k.push(d); + y = k; + } + } + y.length > 0 + ? (function (e) { + if (0 !== e.length) { + for (var i = 0; i < e.length; i++) { + var o; + o = + "byname" === e[i].type + ? h.computeFrame(t, e[i].name) + : e[i].data; + var p = l(i), + d = s(i); + d.duration = Math.min( + d.duration, + p.duration, + ); + var v = { + frame: o, + name: e[i].name, + frameOpts: p, + transitionOpts: d, + }; + i === e.length - 1 && + ((v.onComplete = u(a, 2)), + (v.onInterrupt = c)), + n._frameQueue.push(v); + } + "immediate" === r.mode && + (n._lastFrameAt = -1 / 0), + n._animationRaf || f(); + } + })(y) + : (t.emit("plotly_animated"), a()); + }) + ); + }), + (e.addFrames = function (t, e, r) { + if (((t = o.getGraphDiv(t)), null == e)) + return Promise.resolve(); + if (!o.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://plotly.com/javascript/animations/", + ); + var n, + i, + a, + s, + l = t._transitionData._frames, + c = t._transitionData._frameHash; + if (!Array.isArray(e)) + throw new Error( + "addFrames failure: frameList must be an Array of frame definitions" + + e, + ); + var f = l.length + 2 * e.length, + p = [], + d = {}; + for (n = e.length - 1; n >= 0; n--) + if (o.isPlainObject(e[n])) { + var v = e[n].name, + g = (c[v] || d[v] || {}).name, + y = e[n].name, + m = c[g] || d[g]; + g && + y && + "number" == typeof y && + m && + A < 5 && + (A++, + o.warn( + 'addFrames: overwriting frame "' + + (c[g] || d[g]).name + + '" with a frame whose name of type "number" also equates to "' + + g + + '". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.', + ), + 5 === A && + o.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.", + )), + (d[v] = { name: v }), + p.push({ + frame: h.supplyFrameDefaults(e[n]), + index: + r && void 0 !== r[n] && null !== r[n] + ? r[n] + : f + n, + }); + } + p.sort(function (t, e) { + return t.index > e.index + ? -1 + : t.index < e.index + ? 1 + : 0; + }); + var x = [], + b = [], + _ = l.length; + for (n = p.length - 1; n >= 0; n--) { + if ( + ("number" == typeof (i = p[n].frame).name && + o.warn( + "Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings", + ), + !i.name) + ) + for ( + ; + c[ + (i.name = + "frame " + t._transitionData._counter++) + ]; + + ); + if (c[i.name]) { + for ( + a = 0; + a < l.length && (l[a] || {}).name !== i.name; + a++ + ); + x.push({ type: "replace", index: a, value: i }), + b.unshift({ + type: "replace", + index: a, + value: l[a], + }); + } else + (s = Math.max(0, Math.min(p[n].index, _))), + x.push({ type: "insert", index: s, value: i }), + b.unshift({ type: "delete", index: s }), + _++; + } + var w = h.modifyFrames, + T = h.modifyFrames, + k = [t, b], + M = [t, x]; + return ( + u && u.add(t, w, k, T, M), h.modifyFrames(t, x) + ); + }), + (e.deleteFrames = function (t, e) { + if (((t = o.getGraphDiv(t)), !o.isPlotDiv(t))) + throw new Error( + "This element is not a Plotly plot: " + t, + ); + var r, + n, + i = t._transitionData._frames, + a = [], + s = []; + if (!e) + for (e = [], r = 0; r < i.length; r++) e.push(r); + for ( + (e = e.slice()).sort(), r = e.length - 1; + r >= 0; + r-- + ) + (n = e[r]), + a.push({ type: "delete", index: n }), + s.unshift({ + type: "insert", + index: n, + value: i[n], + }); + var l = h.modifyFrames, + c = h.modifyFrames, + f = [t, s], + p = [t, a]; + return ( + u && u.add(t, l, f, c, p), h.modifyFrames(t, a) + ); + }), + (e.addTraces = function t(r, n, i) { + r = o.getGraphDiv(r); + var a, + s, + l = [], + c = e.deleteTraces, + f = t, + h = [r, l], + p = [r, n]; + 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", + ); + })(r, n, i), + Array.isArray(n) || (n = [n]), + n = n.map(function (t) { + return o.extendFlat({}, t); + }), + _.cleanData(n), + a = 0; + a < n.length; + a++ + ) + r.data.push(n[a]); + for (a = 0; a < n.length; a++) l.push(-n.length + a); + if (void 0 === i) + return (s = e.redraw(r)), u.add(r, c, h, f, p), s; + Array.isArray(i) || (i = [i]); + try { + P(r, l, i); + } catch (t) { + throw ( + (r.data.splice( + r.data.length - n.length, + n.length, + ), + t) + ); + } + return ( + u.startSequence(r), + u.add(r, c, h, f, p), + (s = e.moveTraces(r, l, i)), + u.stopSequence(r), + s + ); + }), + (e.deleteTraces = function t(r, n) { + r = o.getGraphDiv(r); + var i, + a, + s = [], + l = e.addTraces, + c = t, + f = [r, s, n], + h = [r, n]; + if (void 0 === n) + throw new Error( + "indices must be an integer or array of integers.", + ); + for ( + Array.isArray(n) || (n = [n]), + O(r, n, "indices"), + (n = C(n, r.data.length - 1)).sort(o.sorterDes), + i = 0; + i < n.length; + i += 1 + ) + (a = r.data.splice(n[i], 1)[0]), s.push(a); + var p = e.redraw(r); + return u.add(r, l, f, c, h), p; + }), + (e.extendTraces = function t(r, n, i, a) { + function s(t, e, r) { + var n, i; + if (o.isTypedArray(t)) + if (r < 0) { + var a = new t.constructor(0), + s = D(t, e); + r < 0 ? ((n = s), (i = a)) : ((n = a), (i = s)); + } 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 l = e.length - r; + n.set(e.subarray(l)), + i.set(t), + i.set(e.subarray(0, l), t.length); + } else { + var u = r - e.length, + c = t.length - u; + n.set(t.subarray(c)), + n.set(e, u), + i.set(t.subarray(0, c)); + } + else + (n = t.concat(e)), + (i = + r >= 0 && r < n.length + ? n.splice(0, n.length - r) + : []); + return [n, i]; + } + var l = I((r = o.getGraphDiv(r)), n, i, a, s), + c = e.redraw(r), + f = [r, l.update, i, l.maxPoints]; + return u.add(r, e.prependTraces, f, t, arguments), c; + }), + (e.moveTraces = function t(r, n, i) { + var a, + s = [], + l = [], + c = t, + f = t, + h = [(r = o.getGraphDiv(r)), i, n], + p = [r, n, i]; + if ( + (P(r, n, i), + (n = Array.isArray(n) ? n : [n]), + void 0 === i) + ) + for (i = [], a = 0; a < n.length; a++) + i.push(-n.length + a); + for ( + i = Array.isArray(i) ? i : [i], + n = C(n, r.data.length - 1), + i = C(i, r.data.length - 1), + a = 0; + a < r.data.length; + a++ + ) + -1 === n.indexOf(a) && s.push(r.data[a]); + for (a = 0; a < n.length; a++) + l.push({ newIndex: i[a], trace: r.data[n[a]] }); + for ( + l.sort(function (t, e) { + return t.newIndex - e.newIndex; + }), + a = 0; + a < l.length; + a += 1 + ) + s.splice(l[a].newIndex, 0, l[a].trace); + r.data = s; + var d = e.redraw(r); + return u.add(r, c, h, f, p), d; + }), + (e.prependTraces = function t(r, n, i, a) { + function s(t, e, r) { + var n, i; + if (o.isTypedArray(t)) + if (r <= 0) { + var a = new t.constructor(0), + s = D(e, t); + r < 0 ? ((n = s), (i = a)) : ((n = a), (i = s)); + } 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 l = e.length - r; + n.set(e.subarray(0, l)), + i.set(e.subarray(l)), + i.set(t, l); + } else { + var u = r - e.length; + n.set(e), + n.set(t.subarray(0, u), e.length), + i.set(t.subarray(u)); + } + else + (n = e.concat(t)), + (i = + r >= 0 && r < n.length + ? n.splice(r, n.length) + : []); + return [n, i]; + } + var l = I((r = o.getGraphDiv(r)), n, i, a, s), + c = e.redraw(r), + f = [r, l.update, i, l.maxPoints]; + return u.add(r, e.extendTraces, f, t, arguments), c; + }), + (e.newPlot = function (t, r, n, i) { + return ( + (t = o.getGraphDiv(t)), + h.cleanPlot( + [], + {}, + t._fullData || [], + t._fullLayout || {}, + ), + h.purge(t), + e._doPlot(t, r, n, i) + ); + }), + (e._doPlot = function (t, r, i, a) { + var s; + if ( + ((t = o.getGraphDiv(t)), + l.init(t), + o.isPlainObject(r)) + ) { + var u = r; + (r = u.data), + (i = u.layout), + (a = u.config), + (s = u.frames); + } + if ( + !1 === + l.triggerHandler(t, "plotly_beforeplot", [r, i, a]) + ) + return Promise.reject(); + r || + i || + o.isPlotDiv(t) || + o.warn( + "Calling _doPlot as if redrawing but this container doesn't yet have a plot.", + t, + ), + L(t, a), + i || (i = {}), + n.select(t).classed("js-plotly-plot", !0), + d.makeTester(), + Array.isArray(t._promises) || (t._promises = []); + var f = + 0 === (t.data || []).length && Array.isArray(r); + Array.isArray(r) && + (_.cleanData(r), + f ? (t.data = r) : t.data.push.apply(t.data, r), + (t.empty = !1)), + (t.layout && !f) || (t.layout = _.cleanLayout(i)), + h.supplyDefaults(t); + var v = t._fullLayout, + m = v._has("cartesian"); + (v._replotting = !0), + (f || v._shouldCreateBgLayer) && + ((function (t) { + var e = n.select(t), + r = t._fullLayout; + if ( + ((r._calcInverseTransform = ot), + r._calcInverseTransform(t), + (r._container = e + .selectAll(".plot-container") + .data([0])), + r._container + .enter() + .insert("div", ":first-child") + .classed("plot-container", !0) + .classed("plotly", !0), + (r._paperdiv = r._container + .selectAll(".svg-container") + .data([0])), + r._paperdiv + .enter() + .append("div") + .classed("user-select-none", !0) + .classed("svg-container", !0) + .style("position", "relative"), + (r._glcontainer = r._paperdiv + .selectAll(".gl-container") + .data([{}])), + r._glcontainer + .enter() + .append("div") + .classed("gl-container", !0), + r._paperdiv.selectAll(".main-svg").remove(), + r._paperdiv + .select(".modebar-container") + .remove(), + (r._paper = r._paperdiv + .insert("svg", ":first-child") + .classed("main-svg", !0)), + (r._toppaper = r._paperdiv + .append("svg") + .classed("main-svg", !0)), + (r._modebardiv = r._paperdiv.append("div")), + delete r._modeBar, + (r._hoverpaper = r._paperdiv + .append("svg") + .classed("main-svg", !0)), + !r._uid) + ) { + var i = {}; + n.selectAll("defs").each(function () { + this.id && (i[this.id.split("-")[1]] = 1); + }), + (r._uid = o.randstr(i)); + } + r._paperdiv + .selectAll(".main-svg") + .attr(y.svgAttrs), + (r._defs = r._paper + .append("defs") + .attr("id", "defs-" + r._uid)), + (r._clips = r._defs + .append("g") + .classed("clips", !0)), + (r._topdefs = r._toppaper + .append("defs") + .attr("id", "topdefs-" + r._uid)), + (r._topclips = r._topdefs + .append("g") + .classed("clips", !0)), + (r._bgLayer = r._paper + .append("g") + .classed("bglayer", !0)), + (r._draggers = r._paper + .append("g") + .classed("draglayer", !0)); + var a = r._paper + .append("g") + .classed("layer-below", !0); + (r._imageLowerLayer = a + .append("g") + .classed("imagelayer", !0)), + (r._shapeLowerLayer = a + .append("g") + .classed("shapelayer", !0)), + (r._cartesianlayer = r._paper + .append("g") + .classed("cartesianlayer", !0)), + (r._polarlayer = r._paper + .append("g") + .classed("polarlayer", !0)), + (r._smithlayer = r._paper + .append("g") + .classed("smithlayer", !0)), + (r._ternarylayer = r._paper + .append("g") + .classed("ternarylayer", !0)), + (r._geolayer = r._paper + .append("g") + .classed("geolayer", !0)), + (r._funnelarealayer = r._paper + .append("g") + .classed("funnelarealayer", !0)), + (r._pielayer = r._paper + .append("g") + .classed("pielayer", !0)), + (r._iciclelayer = r._paper + .append("g") + .classed("iciclelayer", !0)), + (r._treemaplayer = r._paper + .append("g") + .classed("treemaplayer", !0)), + (r._sunburstlayer = r._paper + .append("g") + .classed("sunburstlayer", !0)), + (r._indicatorlayer = r._toppaper + .append("g") + .classed("indicatorlayer", !0)), + (r._glimages = r._paper + .append("g") + .classed("glimages", !0)); + var s = r._toppaper + .append("g") + .classed("layer-above", !0); + (r._imageUpperLayer = s + .append("g") + .classed("imagelayer", !0)), + (r._shapeUpperLayer = s + .append("g") + .classed("shapelayer", !0)), + (r._selectionLayer = r._toppaper + .append("g") + .classed("selectionlayer", !0)), + (r._infolayer = r._toppaper + .append("g") + .classed("infolayer", !0)), + (r._menulayer = r._toppaper + .append("g") + .classed("menulayer", !0)), + (r._zoomlayer = r._toppaper + .append("g") + .classed("zoomlayer", !0)), + (r._hoverlayer = r._hoverpaper + .append("g") + .classed("hoverlayer", !0)), + r._modebardiv + .classed("modebar-container", !0) + .style("position", "absolute") + .style("top", "0px") + .style("right", "0px"), + t.emit("plotly_framework"); + })(t), + v._shouldCreateBgLayer && + delete v._shouldCreateBgLayer), + d.initGradients(t), + d.initPatterns(t), + f && p.saveShowSpikeInitial(t); + var x = + !t.calcdata || + t.calcdata.length !== (t._fullData || []).length; + x && h.doCalcdata(t); + for (var b = 0; b < t.calcdata.length; b++) + t.calcdata[b][0].trace = t._fullData[b]; + t._context.responsive + ? t._responsiveChartHandler || + ((t._responsiveChartHandler = function () { + o.isHidden(t) || h.resize(t); + }), + window.addEventListener( + "resize", + t._responsiveChartHandler, + )) + : o.clearResponsive(t); + var T = o.extendFlat({}, v._size), + k = 0; + function A() { + if ( + (h.clearAutoMarginIds(t), + w.drawMarginPushers(t), + p.allowAutoMargin(t), + t._fullLayout.title.text && + t._fullLayout.title.automargin && + h.allowAutoMargin(t, "title.automargin"), + v._has("pie")) + ) + for ( + var e = t._fullData, r = 0; + r < e.length; + r++ + ) { + var n = e[r]; + "pie" === n.type && + n.automargin && + h.allowAutoMargin( + t, + "pie." + n.uid + ".automargin", + ); + } + return h.doAutoMargin(t), h.previousPromises(t); + } + function S() { + t._transitioning || + (w.doAutoRangeAndConstraints(t), + f && p.saveRangeInitial(t), + c.getComponentMethod( + "rangeslider", + "calcAutorange", + )(t)); + } + var E = [ + h.previousPromises, + function () { + if (s) return e.addFrames(t, s); + }, + function e() { + for ( + var r = v._basePlotModules, n = 0; + n < r.length; + n++ + ) + r[n].drawFramework && r[n].drawFramework(t); + !v._glcanvas && + v._has("gl") && + ((v._glcanvas = v._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; + }, + )), + v._glcanvas + .enter() + .append("canvas") + .attr("class", function (t) { + return ( + "gl-canvas gl-canvas-" + + t.key.replace("Layer", "") + ); + }) + .style({ + position: "absolute", + top: 0, + left: 0, + overflow: "visible", + "pointer-events": "none", + })); + var i = t._context.plotGlPixelRatio; + if (v._glcanvas) { + v._glcanvas + .attr("width", v.width * i) + .attr("height", v.height * i) + .style("width", v.width + "px") + .style("height", v.height + "px"); + var a = v._glcanvas.data()[0].regl; + if ( + a && + (Math.floor(v.width * i) !== + a._gl.drawingBufferWidth || + Math.floor(v.height * i) !== + a._gl.drawingBufferHeight) + ) { + var s = + "WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug."; + if (!k) + return ( + o.log( + s + + " Clearing graph and plotting again.", + ), + h.cleanPlot([], {}, t._fullData, v), + h.supplyDefaults(t), + (v = t._fullLayout), + h.doCalcdata(t), + k++, + e() + ); + o.error(s); + } + } + return ( + "h" === v.modebar.orientation + ? v._modebardiv + .style("height", null) + .style("width", "100%") + : v._modebardiv + .style("width", null) + .style("height", v.height + "px"), + h.previousPromises(t) + ); + }, + A, + function () { + if (h.didMarginChange(T, v._size)) + return o.syncOrAsync([A, w.layoutStyles], t); + }, + ]; + m && + E.push(function () { + if (x) + return o.syncOrAsync( + [ + c.getComponentMethod( + "shapes", + "calcAutorange", + ), + c.getComponentMethod( + "annotations", + "calcAutorange", + ), + S, + ], + t, + ); + S(); + }), + E.push(w.layoutStyles), + m && + E.push( + function () { + return p.draw(t, f ? "" : "redraw"); + }, + function (t) { + t._fullLayout._insideTickLabelsAutorange && + U( + t, + t._fullLayout._insideTickLabelsAutorange, + ).then(function () { + t._fullLayout._insideTickLabelsAutorange = + void 0; + }); + }, + ), + E.push( + w.drawData, + w.finalDraw, + g, + h.addLinks, + h.rehover, + h.redrag, + h.reselect, + h.doAutoMargin, + function (t) { + t._fullLayout._insideTickLabelsAutorange && + f && + p.saveRangeInitial(t, !0); + }, + h.previousPromises, + ); + var C = o.syncOrAsync(E, t); + return ( + (C && C.then) || (C = Promise.resolve()), + C.then(function () { + return M(t), t; + }) + ); + }), + (e.purge = function (t) { + var e = (t = o.getGraphDiv(t))._fullLayout || {}, + r = t._fullData || []; + return ( + h.cleanPlot([], {}, r, e), + h.purge(t), + l.purge(t), + e._container && e._container.remove(), + delete t._context, + t + ); + }), + (e.react = function (t, r, n, i) { + var a, l; + (t = o.getGraphDiv(t)), _.clearPromiseQueue(t); + var u = t._fullData, + p = t._fullLayout; + if (o.isPlotDiv(t) && u && p) { + if (o.isPlainObject(r)) { + var d = r; + (r = d.data), + (n = d.layout), + (i = d.config), + (a = d.frames); + } + var v = !1; + if (i) { + var g = o.extendDeep({}, t._context); + (t._context = void 0), + L(t, i), + (v = at(g, t._context)); + } + (t.data = r || []), + _.cleanData(t.data), + (t.layout = n || {}), + _.cleanLayout(t.layout), + (function (t, e, r, n) { + var i, + a, + l, + u, + c, + f, + h, + p, + d, + v, + g = n._preGUI, + y = [], + m = {}, + x = {}; + for (i in g) { + if ((c = Q(i, K))) { + if ( + ((d = c.head), + (v = c.tail), + (a = c.attr || d + ".uirevision"), + (u = (l = s(n, a).get()) && tt(a, e)) && + u === l) + ) { + if ( + (null === (f = g[i]) && (f = void 0), + nt((p = (h = s(e, i)).get()), f)) + ) { + void 0 === p && + "autorange" === v && + y.push(d), + h.set(R(s(n, i).get())); + continue; + } + if ( + "autorange" === v || + "range[" === v.substr(0, 6) + ) { + var b = g[d + ".range[0]"], + _ = g[d + ".range[1]"], + w = g[d + ".autorange"]; + if ( + w || + (null === w && + null === b && + null === _) + ) { + if (!(d in m)) { + var T = s(e, d).get(); + m[d] = + T && + (T.autorange || + (!1 !== T.autorange && + (!T.range || + 2 !== T.range.length))); + } + if (m[d]) { + h.set(R(s(n, i).get())); + continue; + } + } + } + } + } else o.warn("unrecognized GUI edit: " + i); + delete g[i], + c && + "range[" === c.tail.substr(0, 6) && + (x[c.head] = 1); + } + for (var k = 0; k < y.length; k++) { + var A = y[k]; + if (x[A]) { + var M = s(e, A).get(); + M && delete M.autorange; + } + } + var S = n._tracePreGUI; + for (var E in S) { + var L, + C = S[E], + O = null; + for (i in C) { + if (!O) { + var P = et(E, r); + if (P < 0) { + delete S[E]; + break; + } + var I = rt( + E, + t, + (L = r[P]._fullInput).index, + ); + if (I < 0) { + delete S[E]; + break; + } + O = t[I]; + } + if ((c = Q(i, $))) { + if ( + (c.attr + ? (u = + (l = s(n, c.attr).get()) && + tt(c.attr, e)) + : ((l = L.uirevision), + void 0 === (u = O.uirevision) && + (u = e.uirevision)), + u && + u === l && + (null === (f = C[i]) && (f = void 0), + nt((p = (h = s(O, i)).get()), f))) + ) { + h.set(R(s(L, i).get())); + continue; + } + } else + o.warn( + "unrecognized GUI edit: " + + i + + " in trace uid " + + E, + ); + delete C[i]; + } + } + })(t.data, t.layout, u, p), + h.supplyDefaults(t, { skipUpdateCalc: !0 }); + var y = t._fullData, + m = t._fullLayout, + x = void 0 === m.datarevision, + b = m.transition, + k = (function (t, e, r, n, i) { + var a = T.layoutFlags(); + return ( + (a.arrays = {}), + (a.rangesAltered = {}), + (a.nChanges = 0), + (a.nChangesAnim = 0), + it(e, r, [], { + getValObject: function (t) { + return f.getLayoutValObject(r, t); + }, + flags: a, + immutable: n, + transition: i, + gd: t, + }), + (a.plot || a.calc) && (a.layoutReplot = !0), + i && + a.nChanges && + a.nChangesAnim && + (a.anim = + a.nChanges === a.nChangesAnim + ? "all" + : "some"), + a + ); + })(t, p, m, x, b), + A = k.newDataRevision, + S = (function (t, e, r, n, i, a) { + var o = e.length === r.length; + if (!i && !o) + return { fullReplot: !0, calc: !0 }; + var s, + l, + u = T.traceFlags(); + (u.arrays = {}), + (u.nChanges = 0), + (u.nChangesAnim = 0); + var c = { + getValObject: function (t) { + var e = f.getTraceValObject(l, t); + return ( + !l._module.animatable && + e.anim && + (e.anim = !1), + e + ); + }, + flags: u, + immutable: n, + transition: i, + newDataRevision: a, + gd: t, + }, + p = {}; + for (s = 0; s < e.length; s++) + if (r[s]) { + if ( + ((l = r[s]._fullInput), + h.hasMakesDataTransform(l) && (l = r[s]), + p[l.uid]) + ) + continue; + (p[l.uid] = 1), + it(e[s]._fullInput, l, [], c); + } + return ( + (u.calc || u.plot) && (u.fullReplot = !0), + i && + u.nChanges && + u.nChangesAnim && + (u.anim = + u.nChanges === u.nChangesAnim && o + ? "all" + : "some"), + u + ); + })(t, u, y, x, b, A); + if ( + (Y(t) && (k.layoutReplot = !0), S.calc || k.calc) + ) { + t.calcdata = void 0; + for ( + var E = Object.getOwnPropertyNames(m), C = 0; + C < E.length; + C++ + ) { + var O = E[C], + P = O.substring(0, 5); + if ("xaxis" === P || "yaxis" === P) { + var I = m[O]._emptyCategories; + I && I(); + } + } + } else h.supplyDefaultsUpdateCalc(t.calcdata, y); + var D = []; + if ( + (a && + ((t._transitionData = {}), + h.createTransitionData(t), + D.push(function () { + return e.addFrames(t, a); + })), + m.transition && !v && (S.anim || k.anim)) + ) + k.ticks && D.push(w.doTicksRelayout), + h.doCalcdata(t), + w.doAutoRangeAndConstraints(t), + D.push(function () { + return h.transitionFromReact(t, S, k, p); + }); + else if (S.fullReplot || k.layoutReplot || v) + (t._fullLayout._skipDefaults = !0), + D.push(e._doPlot); + else { + for (var z in k.arrays) { + var F = k.arrays[z]; + if (F.length) { + var B = c.getComponentMethod(z, "drawOne"); + if (B !== o.noop) + for (var N = 0; N < F.length; N++) + B(t, F[N]); + else { + var j = c.getComponentMethod(z, "draw"); + if (j === o.noop) + throw new Error( + "cannot draw components: " + z, + ); + j(t); + } + } + } + D.push(h.previousPromises), + S.style && D.push(w.doTraceStyle), + (S.colorbars || k.colorbars) && + D.push(w.doColorBars), + k.legend && D.push(w.doLegend), + k.layoutstyle && D.push(w.layoutStyles), + k.axrange && H(D), + k.ticks && D.push(w.doTicksRelayout), + k.modebar && D.push(w.doModeBar), + k.camera && D.push(w.doCamera), + D.push(M); + } + D.push(h.rehover, h.redrag, h.reselect), + ((l = o.syncOrAsync(D, t)) && l.then) || + (l = Promise.resolve(t)); + } else l = e.newPlot(t, r, n, i); + return l.then(function () { + return ( + t.emit("plotly_react", { data: r, layout: n }), t + ); + }); + }), + (e.redraw = function (t) { + if (((t = o.getGraphDiv(t)), !o.isPlotDiv(t))) + throw new Error( + "This element is not a Plotly plot: " + t, + ); + return ( + _.cleanData(t.data), + _.cleanLayout(t.layout), + (t.calcdata = void 0), + e._doPlot(t).then(function () { + return t.emit("plotly_redraw"), t; + }) + ); + }), + (e.relayout = U), + (e.restyle = z), + (e.setPlotConfig = function (t) { + return o.extendFlat(x, t); + }), + (e.update = X), + (e._guiRelayout = J(U)), + (e._guiRestyle = J(z)), + (e._guiUpdate = J(X)), + (e._storeDirectGUIEdit = function (t, e, r) { + for (var n in r) B(n, s(t, n).get(), r[n], e); + }); + }, + 72075: function (t) { + "use strict"; + var e = { + staticPlot: { valType: "boolean", dflt: !1 }, + typesetMath: { valType: "boolean", dflt: !0 }, + plotlyServerURL: { valType: "string", dflt: "" }, + editable: { valType: "boolean", dflt: !1 }, + edits: { + annotationPosition: { + valType: "boolean", + dflt: !1, + }, + annotationTail: { valType: "boolean", dflt: !1 }, + annotationText: { valType: "boolean", dflt: !1 }, + axisTitleText: { valType: "boolean", dflt: !1 }, + colorbarPosition: { valType: "boolean", dflt: !1 }, + colorbarTitleText: { valType: "boolean", dflt: !1 }, + legendPosition: { valType: "boolean", dflt: !1 }, + legendText: { valType: "boolean", dflt: !1 }, + shapePosition: { valType: "boolean", dflt: !1 }, + titleText: { valType: "boolean", dflt: !1 }, + }, + editSelection: { valType: "boolean", dflt: !0 }, + autosizable: { valType: "boolean", dflt: !1 }, + responsive: { valType: "boolean", dflt: !1 }, + fillFrame: { valType: "boolean", dflt: !1 }, + frameMargins: { + valType: "number", + dflt: 0, + min: 0, + max: 0.5, + }, + scrollZoom: { + valType: "flaglist", + flags: ["cartesian", "gl3d", "geo", "mapbox"], + extras: [!0, !1], + dflt: "gl3d+geo+mapbox", + }, + doubleClick: { + valType: "enumerated", + values: [!1, "reset", "autosize", "reset+autosize"], + dflt: "reset+autosize", + }, + doubleClickDelay: { + valType: "number", + dflt: 300, + min: 0, + }, + showAxisDragHandles: { valType: "boolean", dflt: !0 }, + showAxisRangeEntryBoxes: { + valType: "boolean", + dflt: !0, + }, + showTips: { valType: "boolean", dflt: !0 }, + showLink: { valType: "boolean", dflt: !1 }, + linkText: { + valType: "string", + dflt: "Edit chart", + noBlank: !0, + }, + sendData: { valType: "boolean", dflt: !0 }, + showSources: { valType: "any", dflt: !1 }, + displayModeBar: { + valType: "enumerated", + values: ["hover", !0, !1], + dflt: "hover", + }, + showSendToCloud: { valType: "boolean", dflt: !1 }, + showEditInChartStudio: { + valType: "boolean", + dflt: !1, + }, + modeBarButtonsToRemove: { valType: "any", dflt: [] }, + modeBarButtonsToAdd: { valType: "any", dflt: [] }, + modeBarButtons: { valType: "any", dflt: !1 }, + toImageButtonOptions: { valType: "any", dflt: {} }, + displaylogo: { valType: "boolean", dflt: !0 }, + watermark: { valType: "boolean", dflt: !1 }, + plotGlPixelRatio: { + valType: "number", + dflt: 2, + min: 1, + max: 4, + }, + setBackground: { + valType: "any", + dflt: "transparent", + }, + topojsonURL: { + valType: "string", + noBlank: !0, + dflt: "https://cdn.plot.ly/", + }, + mapboxAccessToken: { valType: "string", dflt: null }, + logging: { + valType: "integer", + min: 0, + max: 2, + dflt: 1, + }, + notifyOnLogging: { + valType: "integer", + min: 0, + max: 2, + dflt: 0, + }, + queueLength: { valType: "integer", min: 0, dflt: 0 }, + globalTransforms: { valType: "any", dflt: [] }, + locale: { valType: "string", dflt: "en-US" }, + locales: { valType: "any", dflt: {} }, + }, + r = {}; + !(function t(e, r) { + for (var n in e) { + var i = e[n]; + i.valType + ? (r[n] = i.dflt) + : (r[n] || (r[n] = {}), t(i, r[n])); + } + })(e, r), + (t.exports = { configAttributes: e, dfltConfig: r }); + }, + 86281: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(9012), + o = r(10820), + s = r(31391), + l = r(85594), + u = r(72075).configAttributes, + c = r(30962), + f = i.extendDeepAll, + h = i.isPlainObject, + p = i.isArrayOrTypedArray, + d = i.nestedProperty, + v = i.valObjectMeta, + g = "_isSubplotObj", + y = "_isLinkedToArray", + m = "_deprecated", + x = [g, y, "_arrayAttrRegexps", m]; + function b(t, e, r) { + if (!t) return !1; + if (t._isLinkedToArray) + if (_(e[r])) r++; + else if (r < e.length) return !1; + for (; r < e.length; r++) { + var n = t[e[r]]; + if (!h(n)) break; + if (((t = n), r === e.length - 1)) break; + if (t._isLinkedToArray) { + if (!_(e[++r])) return !1; + } else if ("info_array" === t.valType) { + var i = e[++r]; + if (!_(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 (!_(o)) return !1; + t = a[i][o]; + } else t = a[i]; + } else t = a; + } + } + return t; + } + function _(t) { + return t === Math.round(t) && t >= 0; + } + function w() { + var t, + e, + r = {}; + for (t in (f(r, o), n.subplotsRegistry)) + if ((e = n.subplotsRegistry[t]).layoutAttributes) + if (Array.isArray(e.attr)) + for (var i = 0; i < e.attr.length; i++) + k(r, e, e.attr[i]); + else + k(r, e, "subplot" === e.attr ? e.name : e.attr); + for (t in n.componentsRegistry) { + var a = (e = n.componentsRegistry[t]).schema; + if (a && (a.subplots || a.layout)) { + var s = a.subplots; + if (s && s.xaxis && !s.yaxis) + for (var l in s.xaxis) delete r.yaxis[l]; + delete r.xaxis.shift, delete r.xaxis.autoshift; + } else + "colorscale" === e.name + ? f(r, e.layoutAttributes) + : e.layoutAttributes && + A(r, e.layoutAttributes, e.name); + } + return { layoutAttributes: T(r) }; + } + function T(t) { + return ( + (function (t) { + e.crawl(t, function (t, r, n) { + e.isValObject(t) + ? (!0 !== t.arrayOk && + "data_array" !== t.valType) || + (n[r + "src"] = { + valType: "string", + editType: "none", + }) + : h(t) && (t.role = "object"); + }); + })(t), + (function (t) { + e.crawl(t, function (t, e, r) { + if (t) { + var n = t._isLinkedToArray; + n && + (delete t._isLinkedToArray, + (r[e] = { items: {} }), + (r[e].items[n] = t), + (r[e].role = "object")); + } + }); + })(t), + (function (t) { + !(function t(e) { + for (var r in e) + if (h(e[r])) t(e[r]); + else if (Array.isArray(e[r])) + for (var n = 0; n < e[r].length; n++) + t(e[r][n]); + else + e[r] instanceof RegExp && + (e[r] = e[r].toString()); + })(t); + })(t), + t + ); + } + function k(t, e, r) { + var n = d(t, r), + i = f({}, e.layoutAttributes); + (i._isSubplotObj = !0), n.set(i); + } + function A(t, e, r) { + var n = d(t, r); + n.set(f(n.get() || {}, e)); + } + (e.IS_SUBPLOT_OBJ = g), + (e.IS_LINKED_TO_ARRAY = y), + (e.DEPRECATED = m), + (e.UNDERSCORE_ATTRS = x), + (e.get = function () { + var t = {}; + n.allTypes.forEach(function (r) { + t[r] = (function (t) { + var r, i; + i = (r = n.modules[t]._module).basePlotModule; + var o = { type: null }, + s = f({}, a), + l = f({}, r.attributes); + e.crawl(l, function (t, e, r, n, i) { + d(s, i).set(void 0), + void 0 === t && d(l, i).set(void 0); + }), + f(o, s), + n.traceIs(t, "noOpacity") && delete o.opacity, + n.traceIs(t, "showLegend") || + (delete o.showlegend, delete o.legendgroup), + n.traceIs(t, "noHover") && + (delete o.hoverinfo, delete o.hoverlabel), + r.selectPoints || delete o.selectedpoints, + f(o, l), + i.attributes && f(o, i.attributes), + (o.type = t); + var u = { + meta: r.meta || {}, + categories: r.categories || {}, + animatable: Boolean(r.animatable), + type: t, + attributes: T(o), + }; + if (r.layoutAttributes) { + var c = {}; + f(c, r.layoutAttributes), + (u.layoutAttributes = T(c)); + } + return ( + r.animatable || + e.crawl(u, function (t) { + e.isValObject(t) && + "anim" in t && + delete t.anim; + }), + u + ); + })(r); + }); + var r, + i = {}; + return ( + Object.keys(n.transformsRegistry).forEach( + function (t) { + i[t] = (function (t) { + var e = n.transformsRegistry[t], + r = f({}, e.attributes); + return ( + Object.keys(n.componentsRegistry).forEach( + function (e) { + var i = n.componentsRegistry[e]; + i.schema && + i.schema.transforms && + i.schema.transforms[t] && + Object.keys( + i.schema.transforms[t], + ).forEach(function (e) { + A(r, i.schema.transforms[t][e], e); + }); + }, + ), + { attributes: T(r) } + ); + })(t); + }, + ), + { + defs: { + valObjects: v, + metaKeys: x.concat([ + "description", + "role", + "editType", + "impliedEdits", + ]), + editType: { + traces: c.traces, + layout: c.layout, + }, + impliedEdits: {}, + }, + traces: t, + layout: w(), + transforms: i, + frames: + ((r = { frames: f({}, s) }), T(r), r.frames), + animation: T(l), + config: T(u), + } + ); + }), + (e.crawl = function (t, r, n, i) { + var a = n || 0; + (i = i || ""), + Object.keys(t).forEach(function (n) { + var o = t[n]; + if (-1 === x.indexOf(n)) { + var s = (i ? i + "." : "") + n; + r(o, n, t, a, s), + e.isValObject(o) || + (h(o) && + "impliedEdits" !== n && + e.crawl(o, r, a + 1, s)); + } + }); + }), + (e.isValObject = function (t) { + return t && void 0 !== t.valType; + }), + (e.findArrayAttributes = function (t) { + var r, + n, + i = [], + o = [], + s = []; + function l(t, e, n, i) { + (o = o.slice(0, i).concat([e])), + (s = s + .slice(0, i) + .concat([t && t._isLinkedToArray])), + t && + ("data_array" === t.valType || + !0 === t.arrayOk) && + ("colorbar" !== o[i - 1] || + ("ticktext" !== e && "tickvals" !== e)) && + u(r, 0, ""); + } + function u(t, e, r) { + var a = t[o[e]], + l = r + o[e]; + if (e === o.length - 1) p(a) && i.push(n + l); + else if (s[e]) { + if (Array.isArray(a)) + for (var c = 0; c < a.length; c++) + h(a[c]) && u(a[c], e + 1, l + "[" + c + "]."); + } else h(a) && u(a, e + 1, l + "."); + } + (r = t), + (n = ""), + e.crawl(a, l), + t._module && + t._module.attributes && + e.crawl(t._module.attributes, l); + var c = t.transforms; + if (c) + for (var f = 0; f < c.length; f++) { + var d = c[f], + v = d._module; + v && + ((n = "transforms[" + f + "]."), + (r = d), + e.crawl(v.attributes, l)); + } + return i; + }), + (e.getTraceValObject = function (t, e) { + var r, + i, + o = e[0], + s = 1; + if ("transforms" === o) { + if (1 === e.length) return a.transforms; + var l = t.transforms; + if (!Array.isArray(l) || !l.length) return !1; + var u = e[1]; + if (!_(u) || u >= l.length) return !1; + (i = + (r = (n.transformsRegistry[l[u].type] || {}) + .attributes) && r[e[2]]), + (s = 3); + } else { + var c = t._module; + if ( + (c || + (c = (n.modules[t.type || a.type.dflt] || {}) + ._module), + !c) + ) + return !1; + if (!(i = (r = c.attributes) && r[o])) { + var f = c.basePlotModule; + f && f.attributes && (i = f.attributes[o]); + } + i || (i = a[o]); + } + return b(i, e, s); + }), + (e.getLayoutValObject = function (t, e) { + var r = (function (t, e) { + var r, + i, + a, + s, + l = t._basePlotModules; + if (l) { + var u; + for (r = 0; r < l.length; r++) { + if ( + (a = l[r]).attrRegex && + a.attrRegex.test(e) + ) { + if (a.layoutAttrOverrides) + return a.layoutAttrOverrides; + !u && + a.layoutAttributes && + (u = a.layoutAttributes); + } + var c = a.baseLayoutAttrOverrides; + if (c && e in c) return c[e]; + } + if (u) return u; + } + var f = t._modules; + if (f) + for (r = 0; r < f.length; r++) + if ((s = f[r].layoutAttributes) && e in s) + return s[e]; + for (i in n.componentsRegistry) { + if ( + "colorscale" === + (a = n.componentsRegistry[i]).name && + 0 === e.indexOf("coloraxis") + ) + return a.layoutAttributes[e]; + if (!a.schema && e === a.name) + return a.layoutAttributes; + } + return e in o && o[e]; + })(t, e[0]); + return b(r, e, 1); + }); + }, + 44467: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(9012), + a = { name: { valType: "string", editType: "none" } }; + function o(t) { + return t && "string" == typeof t; + } + function s(t) { + var e = t.length - 1; + return ( + "s" !== t.charAt(e) && + n.warn("bad argument to arrayDefaultKey: " + t), + t.substr(0, t.length - 1) + "defaults" + ); + } + (a.templateitemname = { + valType: "string", + editType: "calc", + }), + (e.templatedArray = function (t, e) { + return ( + (e._isLinkedToArray = t), + (e.name = a.name), + (e.templateitemname = a.templateitemname), + e + ); + }), + (e.traceTemplater = function (t) { + var e, + r, + a = {}; + for (e in t) + (r = t[e]), + Array.isArray(r) && r.length && (a[e] = 0); + return { + newTrace: function (o) { + var s = { + type: (e = n.coerce(o, {}, i, "type")), + _template: null, + }; + if (e in a) { + r = t[e]; + var l = a[e] % r.length; + a[e]++, (s._template = r[l]); + } + return s; + }, + }; + }), + (e.newContainer = function (t, e, r) { + var i = t._template, + a = i && (i[e] || (r && i[r])); + return ( + n.isPlainObject(a) || (a = null), + (t[e] = { _template: a }) + ); + }), + (e.arrayTemplater = function (t, e, r) { + var n = t._template, + i = n && n[s(e)], + a = n && n[e]; + (Array.isArray(a) && a.length) || (a = []); + var l = {}; + return { + newItem: function (t) { + var e = { name: t.name, _input: t }, + n = (e.templateitemname = t.templateitemname); + if (!o(n)) return (e._template = i), e; + for (var s = 0; s < a.length; s++) { + var u = a[s]; + if (u.name === n) + return (l[n] = 1), (e._template = u), e; + } + return (e[r] = t[r] || !1), (e._template = !1), e; + }, + defaultItems: function () { + for (var t = [], e = 0; e < a.length; e++) { + var r = a[e], + n = r.name; + if (o(n) && !l[n]) { + var i = { + _template: r, + name: n, + _input: { _templateitemname: n }, + }; + (i.templateitemname = r.templateitemname), + t.push(i), + (l[n] = 1); + } + } + return t; + }, + }; + }), + (e.arrayDefaultKey = s), + (e.arrayEditor = function (t, e, r) { + var i = (n.nestedProperty(t, e).get() || []).length, + a = r._index, + o = a >= i && (r._input || {})._templateitemname; + o && (a = i); + var s, + l = e + "[" + a + "]"; + function u() { + (s = {}), + o && ((s[l] = {}), (s[l].templateitemname = o)); + } + function c(t, e) { + o + ? n.nestedProperty(s[l], t).set(e) + : (s[l + "." + t] = e); + } + function f() { + var t = s; + return u(), t; + } + return ( + u(), + { + modifyBase: function (t, e) { + s[t] = e; + }, + modifyItem: c, + getUpdateObj: f, + applyUpdate: function (e, r) { + e && c(e, r); + var i = f(); + for (var a in i) + n.nestedProperty(t, a).set(i[a]); + }, + } + ); + }); + }, + 61549: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(74875), + o = r(71828), + s = r(63893), + l = r(33306), + u = r(7901), + c = r(91424), + f = r(92998), + h = r(64168), + p = r(89298), + d = r(18783), + v = r(99082), + g = v.enforce, + y = v.clean, + m = r(71739).doAutoRange, + x = "start"; + function b(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; + } + function _(t) { + var r, + i, + s, + l, + f, + v, + g = t._fullLayout, + y = g._size, + m = y.p, + x = p.list(t, "", !0); + if ( + (g._paperdiv + .style({ + width: + t._context.responsive && + g.autosize && + !t._context._hasZeroWidth && + !t.layout.width + ? "100%" + : g.width + "px", + height: + t._context.responsive && + g.autosize && + !t._context._hasZeroHeight && + !t.layout.height + ? "100%" + : g.height + "px", + }) + .selectAll(".main-svg") + .call(c.setSize, g.width, g.height), + t._context.setBackground(t, g.paper_bgcolor), + e.drawMainTitle(t), + h.manage(t), + !g._has("cartesian")) + ) + return a.previousPromises(t); + function _(t, e, r) { + var n = t._lw / 2; + return "x" === t._id.charAt(0) + ? e + ? "top" === r + ? e._offset - m - n + : e._offset + e._length + m + n + : y.t + y.h * (1 - (t.position || 0)) + (n % 1) + : e + ? "right" === r + ? e._offset + e._length + m + n + : e._offset - m - n + : y.l + y.w * (t.position || 0) + (n % 1); + } + for (r = 0; r < x.length; r++) { + var T = (l = x[r])._anchorAxis; + (l._linepositions = {}), + (l._lw = c.crispRound(t, l.linewidth, 1)), + (l._mainLinePosition = _(l, T, l.side)), + (l._mainMirrorPosition = + l.mirror && T + ? _(l, T, d.OPPOSITE_SIDE[l.side]) + : null); + } + var A = [], + M = [], + S = [], + E = + 1 === u.opacity(g.paper_bgcolor) && + 1 === u.opacity(g.plot_bgcolor) && + g.paper_bgcolor === g.plot_bgcolor; + for (i in g._plots) + if ((s = g._plots[i]).mainplot) + s.bg && s.bg.remove(), (s.bg = void 0); + else { + var L = s.xaxis.domain, + C = s.yaxis.domain, + O = s.plotgroup; + if (b(L, C, S)) { + var P = O.node(), + I = (s.bg = o.ensureSingle(O, "rect", "bg")); + P.insertBefore(I.node(), P.childNodes[0]), + M.push(i); + } else + O.select("rect.bg").remove(), + S.push([L, C]), + E || (A.push(i), M.push(i)); + } + var D, + z, + R, + F, + B, + N, + j, + U, + V, + H, + q, + G, + Z, + W = g._bgLayer.selectAll(".bg").data(A); + for ( + W.enter().append("rect").classed("bg", !0), + W.exit().remove(), + W.each(function (t) { + g._plots[t].bg = n.select(this); + }), + r = 0; + r < M.length; + r++ + ) + (s = g._plots[M[r]]), + (f = s.xaxis), + (v = s.yaxis), + s.bg && + void 0 !== f._offset && + void 0 !== v._offset && + s.bg + .call( + c.setRect, + f._offset - m, + v._offset - m, + f._length + 2 * m, + v._length + 2 * m, + ) + .call(u.fill, g.plot_bgcolor) + .style("stroke-width", 0); + if (!g._hasOnlyLargeSploms) + for (i in g._plots) { + (s = g._plots[i]), (f = s.xaxis), (v = s.yaxis); + var Y, + X, + J = (s.clipId = "clip" + g._uid + i + "plot"), + K = o.ensureSingleById( + g._clips, + "clipPath", + J, + function (t) { + t.classed("plotclip", !0).append("rect"); + }, + ); + (s.clipRect = K.select("rect").attr({ + width: f._length, + height: v._length, + })), + c.setTranslate(s.plot, f._offset, v._offset), + s._hasClipOnAxisFalse + ? ((Y = null), (X = J)) + : ((Y = J), (X = null)), + c.setClipUrl(s.plot, Y, t), + (s.layerClipId = X); + } + function $(t) { + return "M" + D + "," + t + "H" + z; + } + function Q(t) { + return "M" + f._offset + "," + t + "h" + f._length; + } + function tt(t) { + return "M" + t + "," + U + "V" + j; + } + function et(t) { + return ( + void 0 !== v._shift && (t += v._shift), + "M" + t + "," + v._offset + "v" + v._length + ); + } + function rt(t, e, r) { + if (!t.showline || i !== t._mainSubplot) return ""; + if (!t._anchorAxis) return r(t._mainLinePosition); + var n = e(t._mainLinePosition); + return t.mirror && (n += e(t._mainMirrorPosition)), n; + } + for (i in g._plots) { + (s = g._plots[i]), (f = s.xaxis), (v = s.yaxis); + var nt = "M0,0"; + w(f, i) && + ((B = k(f, "left", v, x)), + (D = f._offset - (B ? m + B : 0)), + (N = k(f, "right", v, x)), + (z = f._offset + f._length + (N ? m + N : 0)), + (R = _(f, v, "bottom")), + (F = _(f, v, "top")), + !(Z = !f._anchorAxis || i !== f._mainSubplot) || + ("allticks" !== f.mirror && "all" !== f.mirror) || + (f._linepositions[i] = [R, F]), + (nt = rt(f, $, Q)), + Z && + f.showline && + ("all" === f.mirror || "allticks" === f.mirror) && + (nt += $(R) + $(F)), + s.xlines + .style("stroke-width", f._lw + "px") + .call( + u.stroke, + f.showline ? f.linecolor : "rgba(0,0,0,0)", + )), + s.xlines.attr("d", nt); + var it = "M0,0"; + w(v, i) && + ((q = k(v, "bottom", f, x)), + (j = v._offset + v._length + (q ? m : 0)), + (G = k(v, "top", f, x)), + (U = v._offset - (G ? m : 0)), + (V = _(v, f, "left")), + (H = _(v, f, "right")), + !(Z = !v._anchorAxis || i !== v._mainSubplot) || + ("allticks" !== v.mirror && "all" !== v.mirror) || + (v._linepositions[i] = [V, H]), + (it = rt(v, tt, et)), + Z && + v.showline && + ("all" === v.mirror || "allticks" === v.mirror) && + (it += tt(V) + tt(H)), + s.ylines + .style("stroke-width", v._lw + "px") + .call( + u.stroke, + v.showline ? v.linecolor : "rgba(0,0,0,0)", + )), + s.ylines.attr("d", it); + } + return p.makeClipPaths(t), a.previousPromises(t); + } + function w(t, e) { + return ( + (t.ticks || t.showline) && + (e === t._mainSubplot || + "all" === t.mirror || + "allticks" === t.mirror) + ); + } + function T(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 = d.FROM_BL[e]; + return r.side === e + ? n.domain[i] === t.domain[i] + : r.mirror && n.domain[1 - i] === t.domain[1 - i]; + } + function k(t, e, r, n) { + if (T(t, e, r)) return r._lw; + for (var i = 0; i < n.length; i++) { + var a = n[i]; + if (a._mainAxis === r._mainAxis && T(t, e, a)) + return a._lw; + } + return 0; + } + (e.layoutStyles = function (t) { + return o.syncOrAsync([a.doAutoMargin, _], t); + }), + (e.drawMainTitle = function (t) { + var e, + r = t._fullLayout.title, + i = t._fullLayout, + l = (function (t) { + var e = t.title, + r = "middle"; + return ( + o.isRightAnchor(e) + ? (r = "end") + : o.isLeftAnchor(e) && (r = x), + r + ); + })(i), + u = (function (t) { + var e = t.title, + r = "0em"; + return ( + o.isTopAnchor(e) + ? (r = d.CAP_SHIFT + "em") + : o.isMiddleAnchor(e) && + (r = d.MID_SHIFT + "em"), + r + ); + })(i), + h = (function (t, e) { + var r = t.title, + n = t._size, + i = 0; + return ( + "0em" !== e && e + ? e === d.CAP_SHIFT + "em" && (i = r.pad.t) + : (i = -r.pad.b), + "auto" === r.y + ? n.t / 2 + : "paper" === r.yref + ? n.t + n.h - n.h * r.y + i + : t.height - t.height * r.y + i + ); + })(i, u), + p = (function (t, e) { + var r = t.title, + n = t._size, + i = 0; + return ( + e === x + ? (i = r.pad.l) + : "end" === e && (i = -r.pad.r), + "paper" === r.xref + ? n.l + n.w * r.x + i + : t.width * r.x + i + ); + })(i, l); + if ( + (f.draw(t, "gtitle", { + propContainer: i, + propName: "title.text", + placeholder: i._dfltTitle.plot, + attributes: { + x: p, + y: h, + "text-anchor": l, + dy: u, + }, + }), + r.text && r.automargin) + ) { + var v = n.selectAll(".gtitle"), + g = c.bBox(v.node()).height, + y = (function (t, e, r) { + var n = e.y, + i = e.yanchor, + a = n > 0.5 ? "t" : "b", + o = t._fullLayout.margin[a], + s = 0; + return ( + "paper" === e.yref + ? (s = r + e.pad.t + e.pad.b) + : "container" === e.yref && + (s = + (function (t, e, r, n, i) { + var a = 0; + return ( + "middle" === r && (a += i / 2), + "t" === t + ? ("top" === r && (a += i), + (a += n - e * n)) + : ("bottom" === r && (a += i), + (a += e * n)), + a + ); + })(a, n, i, t._fullLayout.height, r) + + e.pad.t + + e.pad.b), + s > o ? s : 0 + ); + })(t, r, g); + y > 0 && + ((function (t, e, r, n) { + var i = "title.automargin", + s = t._fullLayout.title, + l = s.y > 0.5 ? "t" : "b", + u = { x: s.x, y: s.y, t: 0, b: 0 }, + c = {}; + "paper" === s.yref && + (function (t, e, r, n, i) { + var a = + "paper" === e.yref + ? t._fullLayout._size.h + : t._fullLayout.height, + s = o.isTopAnchor(e) ? n : n - i, + l = "b" === r ? a - s : s; + return ( + !( + (o.isTopAnchor(e) && "t" === r) || + (o.isBottomAnchor(e) && "b" === r) + ) && l < i + ); + })(t, s, l, e, n) + ? (u[l] = r) + : "container" === s.yref && + ((c[l] = r), + (t._fullLayout._reservedMargin[i] = c)), + a.allowAutoMargin(t, i), + a.autoMargin(t, i, u); + })(t, h, y, g), + v + .attr({ + x: p, + y: h, + "text-anchor": l, + dy: + ((e = r.yanchor), + "top" === e + ? d.CAP_SHIFT + 0.3 + "em" + : "bottom" === e + ? "-0.3em" + : d.MID_SHIFT + "em"), + }) + .call(s.positionText, p, h)); + } + }), + (e.doTraceStyle = function (t) { + var r, + n = t.calcdata, + o = []; + for (r = 0; r < n.length; r++) { + var s = n[r], + u = s[0] || {}, + c = u.trace || {}, + f = c._module || {}, + h = f.arraysToCalcdata; + h && h(s, c); + var p = f.editStyle; + p && o.push({ fn: p, cd0: u }); + } + if (o.length) { + for (r = 0; r < o.length; r++) { + var d = o[r]; + d.fn(t, d.cd0); + } + l(t), e.redrawReglTraces(t); + } + return ( + a.style(t), + i.getComponentMethod("legend", "draw")(t), + a.previousPromises(t) + ); + }), + (e.doColorBars = function (t) { + return ( + i.getComponentMethod("colorbar", "draw")(t), + a.previousPromises(t) + ); + }), + (e.layoutReplot = function (t) { + var e = t.layout; + return ( + (t.layout = void 0), i.call("_doPlot", t, "", e) + ); + }), + (e.doLegend = function (t) { + return ( + i.getComponentMethod("legend", "draw")(t), + a.previousPromises(t) + ); + }), + (e.doTicksRelayout = function (t) { + return ( + p.draw(t, "redraw"), + t._fullLayout._hasOnlyLargeSploms && + (i.subplotsRegistry.splom.updateGrid(t), + l(t), + e.redrawReglTraces(t)), + e.drawMainTitle(t), + a.previousPromises(t) + ); + }), + (e.doModeBar = function (t) { + var e = t._fullLayout; + h.manage(t); + for (var r = 0; r < e._basePlotModules.length; r++) { + var n = e._basePlotModules[r].updateFx; + n && n(t); + } + return a.previousPromises(t); + }), + (e.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.setViewport(i); + } + }), + (e.drawData = function (t) { + var r = t._fullLayout; + l(t); + for ( + var n = r._basePlotModules, o = 0; + o < n.length; + o++ + ) + n[o].plot(t); + return ( + e.redrawReglTraces(t), + a.style(t), + i.getComponentMethod("selections", "draw")(t), + i.getComponentMethod("shapes", "draw")(t), + i.getComponentMethod("annotations", "draw")(t), + i.getComponentMethod("images", "draw")(t), + (r._replotting = !1), + a.previousPromises(t) + ); + }), + (e.redrawReglTraces = function (t) { + var e = t._fullLayout; + if (e._has("regl")) { + var r, + n, + i = t._fullData, + a = [], + s = []; + for ( + e._hasOnlyLargeSploms && e._splomGrid.draw(), + r = 0; + r < i.length; + r++ + ) { + var l = i[r]; + !0 === l.visible && + 0 !== l._length && + ("splom" === l.type + ? e._splomScenes[l.uid].draw() + : "scattergl" === l.type + ? o.pushUnique(a, l.xaxis + l.yaxis) + : "scatterpolargl" === l.type && + o.pushUnique(s, l.subplot)); + } + for (r = 0; r < a.length; r++) + (n = e._plots[a[r]])._scene && n._scene.draw(); + for (r = 0; r < s.length; r++) + (n = e[s[r]]._subplot)._scene && n._scene.draw(); + } + }), + (e.doAutoRangeAndConstraints = function (t) { + for ( + var e, r = p.list(t, "", !0), n = {}, i = 0; + i < r.length; + i++ + ) + if (!n[(e = r[i])._id]) { + (n[e._id] = 1), y(t, e), m(t, e); + var a = e._matchGroup; + if (a) + for (var o in a) { + var s = p.getFromId(t, o); + m(t, s, e.range), (n[o] = 1); + } + } + g(t); + }), + (e.finalDraw = function (t) { + i.getComponentMethod("rangeslider", "draw")(t), + i.getComponentMethod("rangeselector", "draw")(t); + }), + (e.drawMarginPushers = function (t) { + i.getComponentMethod("legend", "draw")(t), + i.getComponentMethod("rangeselector", "draw")(t), + i.getComponentMethod("sliders", "draw")(t), + i.getComponentMethod("updatemenus", "draw")(t), + i.getComponentMethod("colorbar", "draw")(t); + }); + }, + 96318: function (t, e, r) { + "use strict"; + var n = r(71828), + i = n.isPlainObject, + a = r(86281), + o = r(74875), + s = r(9012), + l = r(44467), + u = r(72075).dfltConfig; + function c(t, e) { + t = n.extendDeep({}, t); + var r, + a, + o = Object.keys(t).sort(); + function s(e, r, n) { + if (i(r) && i(e)) c(e, r); + else if (Array.isArray(r) && Array.isArray(e)) { + var o = l.arrayTemplater({ _template: t }, n); + for (a = 0; a < r.length; a++) { + var s = r[a], + u = o.newItem(s)._template; + u && c(u, s); + } + var f = o.defaultItems(); + for (a = 0; a < f.length; a++) + r.push(f[a]._template); + for (a = 0; a < r.length; a++) + delete r[a].templateitemname; + } + } + for (r = 0; r < o.length; r++) { + var u = o[r], + h = t[u]; + if ((u in e ? s(h, e[u], u) : (e[u] = h), f(u) === u)) + for (var p in e) { + var d = f(p); + p === d || d !== u || p in t || s(h, e[p], u); + } + } + } + function f(t) { + return t.replace(/[0-9]+$/, ""); + } + function h(t, e, r, a, o) { + var s = o && r(o); + for (var u in t) { + var c = t[u], + p = v(t, u, a), + d = v(t, u, o), + g = r(d); + if (!g) { + var y = f(u); + y !== u && (g = r((d = v(t, y, o)))); + } + if ( + !( + (s && s === g) || + !g || + g._noTemplating || + "data_array" === g.valType || + (g.arrayOk && Array.isArray(c)) + ) + ) + if (!g.valType && i(c)) h(c, e, r, p, d); + else if (g._isLinkedToArray && Array.isArray(c)) + for ( + var m = !1, x = 0, b = {}, _ = 0; + _ < c.length; + _++ + ) { + var w = c[_]; + if (i(w)) { + var T = w.name; + if (T) + b[T] || + (h(w, e, r, v(c, x, p), v(c, x, d)), + x++, + (b[T] = 1)); + else if (!m) { + var k = v(t, l.arrayDefaultKey(u), a), + A = v(c, x, p); + h(w, e, r, A, v(c, x, d)); + var M = n.nestedProperty(e, A); + n.nestedProperty(e, k).set(M.get()), + M.set(null), + (m = !0); + } + } + } + else n.nestedProperty(e, p).set(c); + } + } + function p(t, e) { + return a.getLayoutValObject( + t, + n.nestedProperty({}, e).parts, + ); + } + function d(t, e) { + return a.getTraceValObject( + t, + n.nestedProperty({}, e).parts, + ); + } + function v(t, e, r) { + return r + ? Array.isArray(t) + ? r + "[" + e + "]" + : r + "." + e + : e; + } + function g(t) { + for (var e = 0; e < t.length; e++) + if (i(t[e])) return !0; + } + function y(t) { + var e; + switch (t.code) { + case "data": + e = "The template has no key data."; + break; + case "layout": + e = "The template has no key layout."; + break; + case "missing": + e = t.path + ? "There are no templates for item " + + t.path + + " with name " + + t.templateitemname + : "There are no templates for trace " + + t.index + + ", of type " + + t.traceType + + "."; + break; + case "unused": + e = t.path + ? "The template item at " + + t.path + + " was not used in constructing the plot." + : t.dataCount + ? "Some of the templates of type " + + t.traceType + + " were not used. The template has " + + t.templateCount + + " traces, the data only has " + + t.dataCount + + " of this type." + : "The template has " + + t.templateCount + + " traces of type " + + t.traceType + + " but there are none in the data."; + break; + case "reused": + e = + "Some of the templates of type " + + t.traceType + + " were used more than once. The template has " + + t.templateCount + + " traces, the data has " + + t.dataCount + + " of this type."; + } + return (t.msg = e), t; + } + (e.makeTemplate = function (t) { + (t = n.isPlainObject(t) ? t : n.getGraphDiv(t)), + (t = n.extendDeep( + { _context: u }, + { data: t.data, layout: t.layout }, + )), + o.supplyDefaults(t); + var e = t.data || [], + r = t.layout || {}; + (r._basePlotModules = t._fullLayout._basePlotModules), + (r._modules = t._fullLayout._modules); + var a = { data: {}, layout: {} }; + e.forEach(function (t) { + var e = {}; + h(t, e, d.bind(null, t)); + var r = n.coerce(t, {}, s, "type"), + i = a.data[r]; + i || (i = a.data[r] = []), i.push(e); + }), + h(r, a.layout, p.bind(null, r)), + delete a.layout.template; + var l = r.template; + if (i(l)) { + var f, + v, + g, + y, + m, + x, + b = l.layout; + i(b) && c(b, a.layout); + var _ = l.data; + if (i(_)) { + for (v in a.data) + if (((g = _[v]), Array.isArray(g))) { + for ( + x = (m = a.data[v]).length, + y = g.length, + f = 0; + f < x; + f++ + ) + c(g[f % y], m[f]); + for (f = x; f < y; f++) + m.push(n.extendDeep({}, g[f])); + } + for (v in _) + v in a.data || + (a.data[v] = n.extendDeep([], _[v])); + } + } + return a; + }), + (e.validateTemplate = function (t, e) { + var r = n.extendDeep( + {}, + { _context: u, data: t.data, layout: t.layout }, + ), + a = r.layout || {}; + i(e) || (e = a.template || {}); + var s = e.layout, + l = e.data, + c = []; + (r.layout = a), + (r.layout.template = e), + o.supplyDefaults(r); + var h = r._fullLayout, + p = r._fullData, + d = {}; + if ( + (i(s) + ? ((function t(e, r) { + for (var n in e) + if ("_" !== n.charAt(0) && i(e[n])) { + var a, + o = f(n), + s = []; + for (a = 0; a < r.length; a++) + s.push(v(e, n, r[a])), + o !== n && s.push(v(e, o, r[a])); + for (a = 0; a < s.length; a++) + d[s[a]] = 1; + t(e[n], s); + } + })(h, ["layout"]), + (function t(e, r) { + for (var n in e) + if ( + -1 === n.indexOf("defaults") && + i(e[n]) + ) { + var a = v(e, n, r); + d[a] + ? t(e[n], a) + : c.push({ code: "unused", path: a }); + } + })(s, "layout")) + : c.push({ code: "layout" }), + i(l)) + ) { + for (var m, x = {}, b = 0; b < p.length; b++) { + var _ = p[b]; + (x[(m = _.type)] = (x[m] || 0) + 1), + _._fullInput._template || + c.push({ + code: "missing", + index: _._fullInput.index, + traceType: m, + }); + } + for (m in l) { + var w = l[m].length, + T = x[m] || 0; + w > T + ? c.push({ + code: "unused", + traceType: m, + templateCount: w, + dataCount: T, + }) + : T > w && + c.push({ + code: "reused", + traceType: m, + templateCount: w, + dataCount: T, + }); + } + } else c.push({ code: "data" }); + if ( + ((function t(e, r) { + for (var n in e) + if ("_" !== n.charAt(0)) { + var a = e[n], + o = v(e, n, r); + i(a) + ? (Array.isArray(e) && + !1 === a._template && + a.templateitemname && + c.push({ + code: "missing", + path: o, + templateitemname: a.templateitemname, + }), + t(a, o)) + : Array.isArray(a) && g(a) && t(a, o); + } + })({ data: p, layout: h }, ""), + c.length) + ) + return c.map(y); + }); + }, + 403: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(72391), + a = r(74875), + o = r(71828), + s = r(25095), + l = r(5900), + u = r(70942), + c = r(11506).version, + f = { + format: { + valType: "enumerated", + values: ["png", "jpeg", "webp", "svg", "full-json"], + 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 }, + }; + t.exports = function (t, e) { + var r, h, p, d; + function v(t) { + return !(t in e) || o.validate(e[t], f[t]); + } + if ( + ((e = e || {}), + o.isPlainObject(t) + ? ((r = t.data || []), + (h = t.layout || {}), + (p = t.config || {}), + (d = {})) + : ((t = o.getGraphDiv(t)), + (r = o.extendDeep([], t.data)), + (h = o.extendDeep({}, t.layout)), + (p = t._context), + (d = t._fullLayout || {})), + (!v("width") && null !== e.width) || + (!v("height") && null !== e.height)) + ) + throw new Error( + "Height and width should be pixel values.", + ); + if (!v("format")) + throw new Error( + "Export format is not " + + o.join2(f.format.values, ", ", " or ") + + ".", + ); + var g = {}; + function y(t, r) { + return o.coerce(e, g, f, t, r); + } + var m = y("format"), + x = y("width"), + b = y("height"), + _ = y("scale"), + w = y("setBackground"), + T = y("imageDataOnly"), + k = document.createElement("div"); + (k.style.position = "absolute"), + (k.style.left = "-5000px"), + document.body.appendChild(k); + var A = o.extendFlat({}, h); + x + ? (A.width = x) + : null === e.width && + n(d.width) && + (A.width = d.width), + b + ? (A.height = b) + : null === e.height && + n(d.height) && + (A.height = d.height); + var M = o.extendFlat({}, p, { + _exportedPlot: !0, + staticPlot: !0, + setBackground: w, + }), + S = s.getRedrawFunc(k); + function E() { + return new Promise(function (t) { + setTimeout(t, s.getDelay(k._fullLayout)); + }); + } + function L() { + return new Promise(function (t, e) { + var r = l(k, m, _), + n = k._fullLayout.width, + f = k._fullLayout.height; + function h() { + i.purge(k), document.body.removeChild(k); + } + if ("full-json" === m) { + var p = a.graphJson( + k, + !1, + "keepdata", + "object", + !0, + !0, + ); + return ( + (p.version = c), + (p = JSON.stringify(p)), + h(), + t(T ? p : s.encodeJSON(p)) + ); + } + if ((h(), "svg" === m)) + return t(T ? r : s.encodeSVG(r)); + var d = document.createElement("canvas"); + (d.id = o.randstr()), + u({ + format: m, + width: n, + height: f, + scale: _, + canvas: d, + svg: r, + promise: !0, + }) + .then(t) + .catch(e); + }); + } + return new Promise(function (t, e) { + i.newPlot(k, r, A, M) + .then(S) + .then(E) + .then(L) + .then(function (e) { + t( + (function (t) { + return T + ? t.replace(s.IMAGE_URL_PREFIX, "") + : t; + })(e), + ); + }) + .catch(function (t) { + e(t); + }); + }); + }; + }, + 84936: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(74875), + a = r(86281), + o = r(72075).dfltConfig, + s = n.isPlainObject, + l = Array.isArray, + u = n.isArrayOrTypedArray; + function c(t, e, r, i, a, o) { + o = o || []; + for (var f = Object.keys(t), h = 0; h < f.length; h++) { + var p = f[h]; + if ("transforms" !== p) { + var y = o.slice(); + y.push(p); + var m = t[p], + x = e[p], + b = g(r, p), + _ = (b || {}).valType, + w = "info_array" === _, + T = "colorscale" === _, + k = (b || {}).items; + if (v(r, p)) + if (s(m) && s(x) && "any" !== _) + c(m, x, b, i, a, y); + else if (w && l(m)) { + m.length > x.length && + i.push(d("unused", a, y.concat(x.length))); + var A, + M, + S, + E, + L, + C = x.length, + O = Array.isArray(k); + if ( + (O && (C = Math.min(C, k.length)), + 2 === b.dimensions) + ) + for (M = 0; M < C; M++) + if (l(m[M])) { + m[M].length > x[M].length && + i.push( + d( + "unused", + a, + y.concat(M, x[M].length), + ), + ); + var P = x[M].length; + for ( + A = 0; + A < (O ? Math.min(P, k[M].length) : P); + A++ + ) + (S = O ? k[M][A] : k), + (E = m[M][A]), + (L = x[M][A]), + n.validate(E, S) + ? L !== E && + L !== +E && + i.push( + d( + "dynamic", + a, + y.concat(M, A), + E, + L, + ), + ) + : i.push( + d( + "value", + a, + y.concat(M, A), + E, + ), + ); + } else + i.push(d("array", a, y.concat(M), m[M])); + else + for (M = 0; M < C; M++) + (S = O ? k[M] : k), + (E = m[M]), + (L = x[M]), + n.validate(E, S) + ? L !== E && + L !== +E && + i.push( + d("dynamic", a, y.concat(M), E, L), + ) + : i.push(d("value", a, y.concat(M), E)); + } else if (b.items && !w && l(m)) { + var I, + D, + z = k[Object.keys(k)[0]], + R = []; + for (I = 0; I < x.length; I++) { + var F = x[I]._index || I; + if ( + ((D = y.slice()).push(F), + s(m[F]) && s(x[I])) + ) { + R.push(F); + var B = m[F], + N = x[I]; + s(B) && !1 !== B.visible && !1 === N.visible + ? i.push(d("invisible", a, D)) + : c(B, N, z, i, a, D); + } + } + for (I = 0; I < m.length; I++) + (D = y.slice()).push(I), + s(m[I]) + ? -1 === R.indexOf(I) && + i.push(d("unused", a, D)) + : i.push(d("object", a, D, m[I])); + } else + !s(m) && s(x) + ? i.push(d("object", a, y, m)) + : u(m) || !u(x) || w || T + ? p in e + ? n.validate(m, b) + ? "enumerated" === b.valType && + ((b.coerceNumber && m !== +x) || + m !== x) && + i.push(d("dynamic", a, y, m, x)) + : i.push(d("value", a, y, m)) + : i.push(d("unused", a, y, m)) + : i.push(d("array", a, y, m)); + else i.push(d("schema", a, y)); + } + } + return i; + } + function f(t, e) { + for ( + var r = t.layout.layoutAttributes, i = 0; + i < e.length; + i++ + ) { + var a = e[i], + o = t.traces[a.type], + s = o.layoutAttributes; + s && + (a.subplot + ? n.extendFlat(r[o.attributes.subplot.dflt], s) + : n.extendFlat(r, s)); + } + return r; + } + t.exports = function (t, e) { + void 0 === t && (t = []), void 0 === e && (e = {}); + var r, + u, + h = a.get(), + p = [], + v = { _context: n.extendFlat({}, o) }; + l(t) + ? ((v.data = n.extendDeep([], t)), (r = t)) + : ((v.data = []), + (r = []), + p.push(d("array", "data"))), + s(e) + ? ((v.layout = n.extendDeep({}, e)), (u = e)) + : ((v.layout = {}), + (u = {}), + arguments.length > 1 && + p.push(d("object", "layout"))), + i.supplyDefaults(v); + for ( + var g = v._fullData, y = r.length, m = 0; + m < y; + m++ + ) { + var x = r[m], + b = ["data", m]; + if (s(x)) { + var _ = g[m], + w = _.type, + T = h.traces[w].attributes; + (T.type = { valType: "enumerated", values: [w] }), + !1 === _.visible && + !1 !== x.visible && + p.push(d("invisible", b)), + c(x, _, T, p, b); + var k = x.transforms, + A = _.transforms; + if (k) { + l(k) || p.push(d("array", b, ["transforms"])), + b.push("transforms"); + for (var M = 0; M < k.length; M++) { + var S = ["transforms", M], + E = k[M].type; + if (s(k[M])) { + var L = h.transforms[E] + ? h.transforms[E].attributes + : {}; + (L.type = { + valType: "enumerated", + values: Object.keys(h.transforms), + }), + c(k[M], A[M], L, p, b, S); + } else p.push(d("object", b, S)); + } + } + } else p.push(d("object", b)); + } + var C = v._fullLayout, + O = f(h, g); + return ( + c(u, C, O, p, "layout"), 0 === p.length ? void 0 : p + ); + }; + var h = { + object: function (t, e) { + return ( + ("layout" === t && "" === e + ? "The layout argument" + : "data" === t[0] && "" === e + ? "Trace " + t[1] + " in the data argument" + : p(t) + "key " + e) + + " must be linked to an object container" + ); + }, + array: function (t, e) { + return ( + ("data" === t + ? "The data argument" + : p(t) + "key " + e) + + " must be linked to an array container" + ); + }, + schema: function (t, e) { + return ( + p(t) + "key " + e + " is not part of the schema" + ); + }, + unused: function (t, e, r) { + var n = s(r) ? "container" : "key"; + return p(t) + n + " " + e + " did not get coerced"; + }, + dynamic: function (t, e, r, n) { + return [ + p(t) + "key", + e, + "(set to '" + r + "')", + "got reset to", + "'" + n + "'", + "during defaults.", + ].join(" "); + }, + invisible: function (t, e) { + return ( + (e ? p(t) + "item " + e : "Trace " + t[1]) + + " got defaulted to be not visible" + ); + }, + value: function (t, e, r) { + return [ + p(t) + "key " + e, + "is set to an invalid value (" + r + ")", + ].join(" "); + }, + }; + function p(t) { + return l(t) + ? "In data trace " + t[1] + ", " + : "In " + t + ", "; + } + function d(t, e, r, i, a) { + var o, s; + (r = r || ""), + l(e) + ? ((o = e[0]), (s = e[1])) + : ((o = e), (s = null)); + var u = (function (t) { + if (!l(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), + c = h[t](e, u, i, a); + return ( + n.log(c), + { + code: t, + container: o, + trace: s, + path: r, + astr: u, + msg: c, + } + ); + } + function v(t, e) { + var r = m(e), + n = r.keyMinusId, + i = r.id; + return !!(n in t && t[n]._isSubplotObj && i) || e in t; + } + function g(t, e) { + return e in t ? t[e] : t[m(e).keyMinusId]; + } + var y = n.counterRegex("([a-z]+)"); + function m(t) { + var e = t.match(y); + return { keyMinusId: e && e[1], id: e && e[2] }; + } + }, + 85594: function (t) { + "use strict"; + t.exports = { + mode: { + valType: "enumerated", + dflt: "afterall", + values: ["immediate", "next", "afterall"], + }, + direction: { + valType: "enumerated", + values: ["forward", "reverse"], + dflt: "forward", + }, + fromcurrent: { valType: "boolean", dflt: !1 }, + frame: { + duration: { valType: "number", min: 0, dflt: 500 }, + redraw: { valType: "boolean", dflt: !0 }, + }, + transition: { + duration: { + valType: "number", + min: 0, + dflt: 500, + editType: "none", + }, + 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", + ], + editType: "none", + }, + ordering: { + valType: "enumerated", + values: ["layout first", "traces first"], + dflt: "layout first", + editType: "none", + }, + }, + }; + }, + 85501: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(44467); + t.exports = function (t, e, r) { + var a, + o, + s = r.name, + l = r.inclusionAttr || "visible", + u = e[s], + c = n.isArrayOrTypedArray(t[s]) ? t[s] : [], + f = (e[s] = []), + h = i.arrayTemplater(e, s, l); + for (a = 0; a < c.length; a++) { + var p = c[a]; + n.isPlainObject(p) + ? (o = h.newItem(p)) + : ((o = h.newItem({}))[l] = !1), + (o._index = a), + !1 !== o[l] && r.handleItemDefaults(p, o, e, r), + f.push(o); + } + var d = h.defaultItems(); + for (a = 0; a < d.length; a++) + ((o = d[a])._index = f.length), + r.handleItemDefaults({}, o, e, r, {}), + f.push(o); + if (n.isArrayOrTypedArray(u)) { + var v = Math.min(u.length, f.length); + for (a = 0; a < v; a++) + n.relinkPrivateKeys(f[a], u[a]); + } + return f; + }; + }, + 9012: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(77914); + t.exports = { + type: { + valType: "enumerated", + values: [], + dflt: "scatter", + editType: "calc+clearAxisTypes", + _noTemplating: !0, + }, + visible: { + valType: "enumerated", + values: [!0, !1, "legendonly"], + dflt: !0, + editType: "calc", + }, + showlegend: { + valType: "boolean", + dflt: !0, + editType: "style", + }, + legend: { + valType: "subplotid", + dflt: "legend", + editType: "style", + }, + legendgroup: { + valType: "string", + dflt: "", + editType: "style", + }, + legendgrouptitle: { + text: { + valType: "string", + dflt: "", + editType: "style", + }, + font: n({ editType: "style" }), + editType: "style", + }, + legendrank: { + valType: "number", + dflt: 1e3, + editType: "style", + }, + legendwidth: { + valType: "number", + min: 0, + editType: "style", + }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + editType: "style", + }, + name: { valType: "string", editType: "style" }, + uid: { valType: "string", editType: "plot", anim: !0 }, + ids: { + valType: "data_array", + editType: "calc", + anim: !0, + }, + customdata: { valType: "data_array", editType: "calc" }, + meta: { valType: "any", arrayOk: !0, editType: "plot" }, + 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: i.hoverlabel, + stream: { + token: { + valType: "string", + noBlank: !0, + strict: !0, + editType: "calc", + }, + maxpoints: { + valType: "number", + min: 0, + max: 1e4, + dflt: 500, + editType: "calc", + }, + editType: "calc", + }, + transforms: { + _isLinkedToArray: "transform", + editType: "calc", + }, + uirevision: { valType: "any", editType: "none" }, + }; + }, + 42973: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = i.dateTime2ms, + o = i.incrementMonth, + s = r(50606).ONEAVGMONTH; + t.exports = function (t, e, r, i) { + if ("date" !== e.type) return { vals: i }; + var l = t[r + "periodalignment"]; + if (!l) return { vals: i }; + var u, + c = t[r + "period"]; + if (n(c)) { + if ((c = +c) <= 0) return { vals: i }; + } else if ( + "string" == typeof c && + "M" === c.charAt(0) + ) { + var f = +c.substring(1); + if (!(f > 0 && Math.round(f) === f)) + return { vals: i }; + u = f; + } + for ( + var h = e.calendar, + p = "start" === l, + d = "end" === l, + v = t[r + "period0"], + g = a(v, h) || 0, + y = [], + m = [], + x = [], + b = i.length, + _ = 0; + _ < b; + _++ + ) { + var w, + T, + k, + A = i[_]; + if (u) { + for ( + w = Math.round((A - g) / (u * s)), + k = o(g, u * w, h); + k > A; + + ) + k = o(k, -u, h); + for (; k <= A; ) k = o(k, u, h); + T = o(k, -u, h); + } else { + for ( + k = g + (w = Math.round((A - g) / c)) * c; + k > A; + + ) + k -= c; + for (; k <= A; ) k += c; + T = k - c; + } + (y[_] = p ? T : d ? k : (T + k) / 2), + (m[_] = T), + (x[_] = k); + } + return { vals: y, starts: m, ends: x }; + }; + }, + 89502: function (t) { + "use strict"; + t.exports = { + xaxis: { + valType: "subplotid", + dflt: "x", + editType: "calc+clearAxisTypes", + }, + yaxis: { + valType: "subplotid", + dflt: "y", + editType: "calc+clearAxisTypes", + }, + }; + }, + 71739: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = r(71828), + o = r(50606).FP_SAFE, + s = r(73972), + l = r(91424), + u = r(41675), + c = u.getFromId, + f = u.isLinked; + function h(t, e) { + var r, + n, + i = [], + o = t._fullLayout, + s = d(o, e, 0), + l = d(o, e, 1), + u = v(t, e), + c = u.min, + f = u.max; + if (0 === c.length || 0 === f.length) + return a.simpleMap(e.range, e.r2l); + var h = c[0].val, + g = f[0].val; + for (r = 1; r < c.length && h === g; r++) + h = Math.min(h, c[r].val); + for (r = 1; r < f.length && h === g; r++) + g = Math.max(g, f[r].val); + var y = e.autorange, + m = + "reversed" === y || + "min reversed" === y || + "max reversed" === y; + if (!m && e.range) { + var x = a.simpleMap(e.range, e.r2l); + m = x[1] < x[0]; + } + "reversed" === e.autorange && (e.autorange = !0); + var b, + _, + w, + k, + A, + M, + S = e.rangemode, + E = "tozero" === S, + L = "nonnegative" === S, + C = e._length, + O = C / 10, + P = 0; + for (r = 0; r < c.length; r++) + for (b = c[r], n = 0; n < f.length; n++) + (M = (_ = f[n]).val - b.val - p(e, b.val, _.val)) > + 0 && + ((A = C - s(b) - l(_)) > O + ? M / A > P && ((w = b), (k = _), (P = M / A)) + : M / C > P && + ((w = { val: b.val, nopad: 1 }), + (k = { val: _.val, nopad: 1 }), + (P = M / C))); + if (h === g) { + var I = h - 1, + D = h + 1; + if (E) + if (0 === h) i = [0, 1]; + else { + var z = (h > 0 ? f : c).reduce(function (t, e) { + return Math.max(t, l(e)); + }, 0), + R = h / (1 - Math.min(0.5, z / C)); + i = h > 0 ? [0, R] : [R, 0]; + } + else + i = L ? [Math.max(0, I), Math.max(1, D)] : [I, D]; + } else + E + ? (w.val >= 0 && (w = { val: 0, nopad: 1 }), + k.val <= 0 && (k = { val: 0, nopad: 1 })) + : L && + (w.val - P * s(w) < 0 && + (w = { val: 0, nopad: 1 }), + k.val <= 0 && (k = { val: 1, nopad: 1 })), + (P = + (k.val - w.val - p(e, b.val, _.val)) / + (C - s(w) - l(k))), + (i = [w.val - P * s(w), k.val + P * l(k)]); + return ( + (i = T(i, e)), + e.limitRange && e.limitRange(), + m && i.reverse(), + a.simpleMap(i, e.l2r || Number) + ); + } + function p(t, e, r) { + var n = 0; + if (t.rangebreaks) + for ( + var i = t.locateBreaks(e, r), a = 0; + a < i.length; + a++ + ) { + var o = i[a]; + n += o.max - o.min; + } + return n; + } + function d(t, e, r) { + var i = 0.05 * e._length, + o = e._anchorAxis || {}; + if ( + -1 !== + (e.ticklabelposition || "").indexOf("inside") || + -1 !== (o.ticklabelposition || "").indexOf("inside") + ) { + var s = e.isReversed(); + if (!s) { + var u = a.simpleMap(e.range, e.r2l); + s = u[1] < u[0]; + } + s && (r = !r); + } + var c = 0; + return ( + f(t, e._id) || + (c = (function (t, e, r) { + var i = 0, + o = "x" === e._id.charAt(0); + for (var s in t._plots) { + var u = t._plots[s]; + if ( + e._id === u.xaxis._id || + e._id === u.yaxis._id + ) { + var c = (o ? u.yaxis : u.xaxis) || {}; + if ( + -1 !== + (c.ticklabelposition || "").indexOf( + "inside", + ) && + ((!r && + ("left" === c.side || + "bottom" === c.side)) || + (r && + ("top" === c.side || + "right" === c.side))) + ) { + if (c._vals) { + var f = a.deg2rad( + c._tickAngles[c._id + "tick"] || 0, + ), + h = Math.abs(Math.cos(f)), + p = Math.abs(Math.sin(f)); + if (!c._vals[0].bb) { + var d = c._id + "tick"; + c._selections[d].each(function (t) { + var e = n.select(this); + e + .select(".text-math-group") + .empty() && + (t.bb = l.bBox(e.node())); + }); + } + for (var v = 0; v < c._vals.length; v++) { + var g = c._vals[v].bb; + if (g) { + var y = 6 + g.width, + m = 6 + g.height; + i = Math.max( + i, + o + ? Math.max(y * h, m * p) + : Math.max(m * h, y * p), + ); + } + } + } + "inside" === c.ticks && + "inside" === c.ticklabelposition && + (i += c.ticklen || 0); + } + } + } + return i; + })(t, e, r)), + (i = Math.max(c, i)), + "domain" === e.constrain && + e._inputDomain && + (i *= + (e._inputDomain[1] - e._inputDomain[0]) / + (e.domain[1] - e.domain[0])), + function (t) { + return t.nopad ? 0 : t.pad + (t.extrapad ? i : c); + } + ); + } + function v(t, e, r) { + var n, + i, + a, + o = e._id, + s = t._fullData, + l = t._fullLayout, + u = [], + f = []; + function h(t, e) { + for (n = 0; n < e.length; n++) { + var r = t[e[n]], + s = (r._extremes || {})[o]; + if (!0 === r.visible && s) { + for (i = 0; i < s.min.length; i++) + (a = s.min[i]), + g(u, a.val, a.pad, { extrapad: a.extrapad }); + for (i = 0; i < s.max.length; i++) + (a = s.max[i]), + y(f, a.val, a.pad, { extrapad: a.extrapad }); + } + } + } + if ( + (h(s, e._traceIndices), + h(l.annotations || [], e._annIndices || []), + h(l.shapes || [], e._shapeIndices || []), + e._matchGroup && !r) + ) + for (var p in e._matchGroup) + if (p !== e._id) { + var d = c(t, p), + m = v(t, d, !0), + x = e._length / d._length; + for (i = 0; i < m.min.length; i++) + (a = m.min[i]), + g(u, a.val, a.pad * x, { + extrapad: a.extrapad, + }); + for (i = 0; i < m.max.length; i++) + (a = m.max[i]), + y(f, a.val, a.pad * x, { + extrapad: a.extrapad, + }); + } + return { min: u, max: f }; + } + function g(t, e, r, n) { + m(t, e, r, n, b); + } + function y(t, e, r, n) { + m(t, e, r, n, _); + } + function m(t, e, r, n, i) { + for ( + var a = n.tozero, o = n.extrapad, s = !0, l = 0; + l < t.length && s; + l++ + ) { + var u = t[l]; + if (i(u.val, e) && u.pad >= r && (u.extrapad || !o)) { + s = !1; + break; + } + i(e, u.val) && + u.pad <= r && + (o || !u.extrapad) && + (t.splice(l, 1), l--); + } + if (s) { + var c = a && 0 === e; + t.push({ val: e, pad: c ? 0 : r, extrapad: !c && o }); + } + } + function x(t) { + return i(t) && Math.abs(t) < o; + } + function b(t, e) { + return t <= e; + } + function _(t, e) { + return t >= e; + } + function w(t, e, r) { + return ( + void 0 === e || + void 0 === r || + (e = t.d2l(e)) < t.d2l(r) + ); + } + function T(t, e) { + if (!e || !e.autorangeoptions) return t; + var r = t[0], + n = t[1], + i = e.autorangeoptions.include; + if (void 0 !== i) { + var o = e.d2l(r), + s = e.d2l(n); + a.isArrayOrTypedArray(i) || (i = [i]); + for (var l = 0; l < i.length; l++) { + var u = e.d2l(i[l]); + o >= u && ((o = u), (r = u)), + s <= u && ((s = u), (n = u)); + } + } + return ( + (r = (function (t, e) { + var r = e.autorangeoptions; + return r && + void 0 !== r.minallowed && + w(e, r.minallowed, r.maxallowed) + ? r.minallowed + : r && + void 0 !== r.clipmin && + w(e, r.clipmin, r.clipmax) + ? Math.max(t, e.d2l(r.clipmin)) + : t; + })(r, e)), + (n = (function (t, e) { + var r = e.autorangeoptions; + return r && + void 0 !== r.maxallowed && + w(e, r.minallowed, r.maxallowed) + ? r.maxallowed + : r && + void 0 !== r.clipmax && + w(e, r.clipmin, r.clipmax) + ? Math.min(t, e.d2l(r.clipmax)) + : t; + })(n, e)), + [r, n] + ); + } + t.exports = { + applyAutorangeOptions: T, + getAutoRange: h, + makePadFn: d, + doAutoRange: function (t, e, r) { + if ((e.setScale(), e.autorange)) { + (e.range = r ? r.slice() : h(t, e)), + (e._r = e.range.slice()), + (e._rl = a.simpleMap(e._r, e.r2l)); + var n = e._input, + i = {}; + (i[e._attr + ".range"] = e.range), + (i[e._attr + ".autorange"] = e.autorange), + s.call( + "_storeDirectGUIEdit", + t.layout, + t._fullLayout._preGUI, + i, + ), + (n.range = e.range.slice()), + (n.autorange = e.autorange); + } + var o = e._anchorAxis; + if (o && o.rangeslider) { + var l = o.rangeslider[e._name]; + l && "auto" === l.rangemode && (l.range = h(t, e)), + (o._input.rangeslider[e._name] = a.extendFlat( + {}, + l, + )); + } + }, + findExtremes: function (t, e, r) { + r || (r = {}), t._m || t.setScale(); + var n, + a, + s, + l, + u, + c, + f, + h, + p, + d = [], + v = [], + m = e.length, + b = r.padded || !1, + _ = + r.tozero && + ("linear" === t.type || "-" === t.type), + w = "log" === t.type, + T = !1, + k = r.vpadLinearized || !1; + function A(t) { + if (Array.isArray(t)) + return ( + (T = !0), + function (e) { + return Math.max(Number(t[e] || 0), 0); + } + ); + var e = Math.max(Number(t || 0), 0); + return function () { + return e; + }; + } + var M = A( + (t._m > 0 ? r.ppadplus : r.ppadminus) || + r.ppad || + 0, + ), + S = A( + (t._m > 0 ? r.ppadminus : r.ppadplus) || + r.ppad || + 0, + ), + E = A(r.vpadplus || r.vpad), + L = A(r.vpadminus || r.vpad); + if (!T) { + if (((h = 1 / 0), (p = -1 / 0), w)) + for (n = 0; n < m; n++) + (a = e[n]) < h && a > 0 && (h = a), + a > p && a < o && (p = a); + else + for (n = 0; n < m; n++) + (a = e[n]) < h && a > -o && (h = a), + a > p && a < o && (p = a); + (e = [h, p]), (m = 2); + } + var C = { tozero: _, extrapad: b }; + function O(r) { + (s = e[r]), + i(s) && + ((c = M(r)), + (f = S(r)), + k + ? ((l = t.c2l(s) - L(r)), + (u = t.c2l(s) + E(r))) + : ((h = s - L(r)), + (p = s + E(r)), + w && h < p / 10 && (h = p / 10), + (l = t.c2l(h)), + (u = t.c2l(p))), + _ && + ((l = Math.min(0, l)), (u = Math.max(0, u))), + x(l) && g(d, l, f, C), + x(u) && y(v, u, c, C)); + } + var P = Math.min(6, m); + for (n = 0; n < P; n++) O(n); + for (n = m - 1; n >= P; n--) O(n); + return { min: d, max: v, opts: r }; + }, + concatExtremes: v, + }; + }, + 23074: function (t) { + "use strict"; + t.exports = function (t, e, r) { + var n, i; + if (r) { + var a = + "reversed" === e || + "min reversed" === e || + "max reversed" === e; + (n = r[a ? 1 : 0]), (i = r[a ? 0 : 1]); + } + var o = t( + "autorangeoptions.minallowed", + null === i ? n : void 0, + ), + s = t( + "autorangeoptions.maxallowed", + null === n ? i : void 0, + ); + void 0 === o && t("autorangeoptions.clipmin"), + void 0 === s && t("autorangeoptions.clipmax"), + t("autorangeoptions.include"); + }; + }, + 89298: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = r(74875), + o = r(73972), + s = r(71828), + l = s.strTranslate, + u = r(63893), + c = r(92998), + f = r(7901), + h = r(91424), + p = r(13838), + d = r(66287), + v = r(50606), + g = v.ONEMAXYEAR, + y = v.ONEAVGYEAR, + m = v.ONEMINYEAR, + x = v.ONEMAXQUARTER, + b = v.ONEAVGQUARTER, + _ = v.ONEMINQUARTER, + w = v.ONEMAXMONTH, + T = v.ONEAVGMONTH, + k = v.ONEMINMONTH, + A = v.ONEWEEK, + M = v.ONEDAY, + S = M / 2, + E = v.ONEHOUR, + L = v.ONEMIN, + C = v.ONESEC, + O = v.MINUS_SIGN, + P = v.BADNUM, + I = { K: "zeroline" }, + D = { K: "gridline", L: "path" }, + z = { K: "minor-gridline", L: "path" }, + R = { K: "tick", L: "path" }, + F = { K: "tick", L: "text" }, + B = { + width: ["x", "r", "l", "xl", "xr"], + height: ["y", "t", "b", "yt", "yb"], + right: ["r", "xr"], + left: ["l", "xl"], + top: ["t", "yt"], + bottom: ["b", "yb"], + }, + N = r(18783), + j = N.MID_SHIFT, + U = N.CAP_SHIFT, + V = N.LINE_SPACING, + H = N.OPPOSITE_SIDE, + q = (t.exports = {}); + q.setConvert = r(21994); + var G = r(4322), + Z = r(41675), + W = Z.idSort, + Y = Z.isLinked; + (q.id2name = Z.id2name), + (q.name2id = Z.name2id), + (q.cleanId = Z.cleanId), + (q.list = Z.list), + (q.listIds = Z.listIds), + (q.getFromId = Z.getFromId), + (q.getFromTrace = Z.getFromTrace); + var X = r(71739); + function J(t) { + var e = 1e-4 * (t[1] - t[0]); + return [t[0] - e, t[1] + e]; + } + (q.getAutoRange = X.getAutoRange), + (q.findExtremes = X.findExtremes), + (q.coerceRef = function (t, e, r, n, i, a) { + var o = n.charAt(n.length - 1), + l = r._fullLayout._subplots[o + "axis"], + u = n + "ref", + c = {}; + return ( + i || + (i = l[0] || ("string" == typeof a ? a : a[0])), + a || (a = i), + (l = l.concat( + l.map(function (t) { + return t + " domain"; + }), + )), + (c[u] = { + valType: "enumerated", + values: l.concat( + a ? ("string" == typeof a ? [a] : a) : [], + ), + dflt: i, + }), + s.coerce(t, e, c, u) + ); + }), + (q.getRefType = function (t) { + return void 0 === t + ? t + : "paper" === t + ? "paper" + : "pixel" === t + ? "pixel" + : /( domain)$/.test(t) + ? "domain" + : "range"; + }), + (q.coercePosition = function (t, e, r, n, i, a) { + var o, l; + if ("range" !== q.getRefType(n)) + (o = s.ensureNumber), (l = r(i, a)); + else { + var u = q.getFromId(e, n); + (l = r(i, (a = u.fraction2r(a)))), (o = u.cleanPos); + } + t[i] = o(l); + }), + (q.cleanPosition = function (t, e, r) { + return ( + "paper" === r || "pixel" === r + ? s.ensureNumber + : q.getFromId(e, r).cleanPos + )(t); + }), + (q.redrawComponents = function (t, e) { + e = e || q.listIds(t); + var r = t._fullLayout; + function n(n, i, a, s) { + for ( + var l = o.getComponentMethod(n, i), u = {}, c = 0; + c < e.length; + c++ + ) + for ( + var f = r[q.id2name(e[c])][a], h = 0; + h < f.length; + h++ + ) { + var p = f[h]; + if (!u[p] && (l(t, p), (u[p] = 1), s)) return; + } + } + n("annotations", "drawOne", "_annIndices"), + n("shapes", "drawOne", "_shapeIndices"), + n("images", "draw", "_imgIndices", !0), + n("selections", "drawOne", "_selectionIndices"); + }); + var K = (q.getDataConversions = function (t, e, r, n) { + var i, + a = "x" === r || "y" === r || "z" === r ? r : n; + if (Array.isArray(a)) { + if ( + ((i = { + type: G(n, void 0, { + autotypenumbers: t._fullLayout.autotypenumbers, + }), + _categories: [], + }), + q.setConvert(i), + "category" === i.type) + ) + for (var o = 0; o < n.length; o++) i.d2c(n[o]); + } else i = q.getFromTrace(t, e, a); + return i + ? { d2c: i.d2c, c2d: i.c2d } + : "ids" === a + ? { d2c: Q, c2d: Q } + : { d2c: $, c2d: $ }; + }); + function $(t) { + return +t; + } + function Q(t) { + return String(t); + } + function tt(t, e) { + return Math.abs(((t / e + 0.5) % 1) - 0.5) < 0.001; + } + function et(t, e) { + return Math.abs(t / e - 1) < 0.001; + } + function rt(t) { + return +t.substring(1); + } + function nt(t, e) { + return ( + t.rangebreaks && + (e = e.filter(function (e) { + return t.maskBreaks(e.x) !== P; + })), + e + ); + } + function it(t) { + var e = t._mainAxis, + r = []; + if (e._vals) + for (var n = 0; n < e._vals.length; n++) + if (!e._vals[n].noTick) { + var i = e.l2p(e._vals[n].x), + a = t.p2l(i), + o = q.tickText(t, a); + e._vals[n].minor && + ((o.minor = !0), (o.text = "")), + r.push(o); + } + return nt(t, r); + } + function at(t) { + var e = J(s.simpleMap(t.range, t.r2l)), + r = Math.min(e[0], e[1]), + n = Math.max(e[0], e[1]), + i = "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 (var a = [], o = 0; o <= 1; o++) + if (!o || t.minor) { + var l = o ? t.minor.tickvals : t.tickvals, + u = o ? [] : t.ticktext; + if (l) { + Array.isArray(u) || (u = []); + for (var c = 0; c < l.length; c++) { + var f = i(l[c]); + if (f > r && f < n) { + var h = + void 0 === u[c] + ? q.tickText(t, f) + : vt(t, f, String(u[c])); + o && ((h.minor = !0), (h.text = "")), + a.push(h); + } + } + } + } + return nt(t, a); + } + (q.getDataToCoordFunc = function (t, e, r, n) { + return K(t, e, r, n).d2c; + }), + (q.counterLetter = function (t) { + var e = t.charAt(0); + return "x" === e ? "y" : "y" === e ? "x" : void 0; + }), + (q.minDtick = function (t, e, r, n) { + -1 === + ["log", "category", "multicategory"].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); + }), + (q.saveRangeInitial = function (t, e) { + for ( + var r = q.list(t, "", !0), n = !1, i = 0; + i < r.length; + i++ + ) { + var a = r[i], + o = + void 0 === a._rangeInitial0 && + void 0 === a._rangeInitial1, + s = + o || + a.range[0] !== a._rangeInitial0 || + a.range[1] !== a._rangeInitial1, + l = a.autorange; + ((o && !0 !== l) || (e && s)) && + ((a._rangeInitial0 = + "min" === l || "max reversed" === l + ? void 0 + : a.range[0]), + (a._rangeInitial1 = + "max" === l || "min reversed" === l + ? void 0 + : a.range[1]), + (a._autorangeInitial = l), + (n = !0)); + } + return n; + }), + (q.saveShowSpikeInitial = function (t, e) { + for ( + var r = q.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; + }), + (q.autoBin = function (t, e, r, n, a, o) { + var l, + u = s.aggNums(Math.min, null, t), + c = s.aggNums(Math.max, null, t); + if ( + "category" === e.type || + "multicategory" === e.type + ) + return { + start: u - 0.5, + end: c + 0.5, + size: Math.max(1, Math.round(o) || 1), + _dataSpan: c - u, + }; + if ( + (a || (a = e.calendar), + (l = + "log" === e.type + ? { type: "linear", range: [u, c] } + : { + type: e.type, + range: s.simpleMap([u, c], e.c2r, 0, a), + calendar: a, + }), + q.setConvert(l), + (o = o && d.dtick(o, l.type))) + ) + (l.dtick = o), + (l.tick0 = d.tick0(void 0, l.type, a)); + else { + var f; + if (r) f = (c - u) / r; + else { + var h = s.distinctVals(t), + p = Math.pow( + 10, + Math.floor(Math.log(h.minDiff) / Math.LN10), + ), + v = + p * + s.roundUp( + h.minDiff / p, + [0.9, 1.9, 4.9, 9.9], + !0, + ); + (f = Math.max( + v, + (2 * s.stdev(t)) / + Math.pow(t.length, n ? 0.25 : 0.4), + )), + i(f) || (f = 1); + } + q.autoTicks(l, f); + } + var g, + y = l.dtick, + m = q.tickIncrement( + q.tickFirst(l), + y, + "reverse", + a, + ); + if ("number" == typeof y) + (m = (function (t, e, r, n, a) { + var o = 0, + s = 0, + l = 0, + u = 0; + function c(e) { + return ( + (1 + (100 * (e - t)) / r.dtick) % 100 < 2 + ); + } + for (var f = 0; f < e.length; f++) + e[f] % 1 == 0 ? l++ : i(e[f]) || u++, + c(e[f]) && o++, + c(e[f] + r.dtick / 2) && s++; + var h = e.length - u; + if (l === h && "date" !== r.type) + r.dtick < 1 + ? (t = n - 0.5 * r.dtick) + : (t -= 0.5) + r.dtick < n && (t += r.dtick); + else if ( + s < 0.1 * h && + (o > 0.3 * h || c(n) || c(a)) + ) { + var p = r.dtick / 2; + t += t + p < n ? p : -p; + } + return t; + })(m, t, l, u, c)), + (g = m + (1 + Math.floor((c - m) / y)) * y); + else + for ( + "M" === l.dtick.charAt(0) && + (m = (function (t, e, r, n, i) { + var a = s.findExactDates(e, i); + if (a.exactDays > 0.8) { + var o = Number(r.substr(1)); + a.exactYears > 0.8 && o % 12 == 0 + ? (t = + q.tickIncrement(t, "M6", "reverse") + + 1.5 * M) + : a.exactMonths > 0.8 + ? (t = + q.tickIncrement(t, "M1", "reverse") + + 15.5 * M) + : (t -= S); + var l = q.tickIncrement(t, r); + if (l <= n) return l; + } + return t; + })(m, t, y, u, a)), + g = m; + g <= c; + + ) + g = q.tickIncrement(g, y, !1, a); + return { + start: e.c2r(m, 0, a), + end: e.c2r(g, 0, a), + size: y, + _dataSpan: c - u, + }; + }), + (q.prepMinorTicks = function (t, e, r) { + if (!e.minor.dtick) { + delete t.dtick; + var n, + a = e.dtick && i(e._tmin); + if (a) { + var o = q.tickIncrement(e._tmin, e.dtick, !0); + n = [e._tmin, 0.99 * o + 0.01 * e._tmin]; + } else { + var l = s.simpleMap(e.range, e.r2l); + n = [l[0], 0.8 * l[0] + 0.2 * l[1]]; + } + if ( + ((t.range = s.simpleMap(n, e.l2r)), + (t._isMinor = !0), + q.prepTicks(t, r), + a) + ) { + var u = i(e.dtick), + c = i(t.dtick), + f = u ? e.dtick : +e.dtick.substring(1), + h = c ? t.dtick : +t.dtick.substring(1); + u && c + ? tt(f, h) + ? f === 2 * A && h === 2 * M && (t.dtick = A) + : f === 2 * A && h === 3 * M + ? (t.dtick = A) + : f !== A || (e._input.minor || {}).nticks + ? et(f / h, 2.5) + ? (t.dtick = f / 2) + : (t.dtick = f) + : (t.dtick = M) + : "M" === String(e.dtick).charAt(0) + ? c + ? (t.dtick = "M1") + : tt(f, h) + ? f >= 12 && 2 === h && (t.dtick = "M3") + : (t.dtick = e.dtick) + : "L" === String(t.dtick).charAt(0) + ? "L" === String(e.dtick).charAt(0) + ? tt(f, h) || + (t.dtick = et(f / h, 2.5) + ? e.dtick / 2 + : e.dtick) + : (t.dtick = "D1") + : "D2" === t.dtick && + +e.dtick > 1 && + (t.dtick = 1); + } + t.range = e.range; + } + void 0 === e.minor._tick0Init && (t.tick0 = e.tick0); + }), + (q.prepTicks = function (t, e) { + var r = s.simpleMap( + t.range, + t.r2l, + void 0, + void 0, + e, + ); + if ("auto" === t.tickmode || !t.dtick) { + var n, + a = t.nticks; + a || + ("category" === t.type || + "multicategory" === t.type + ? ((n = t.tickfont + ? s.bigFont(t.tickfont.size || 12) + : 15), + (a = t._length / n)) + : ((n = "y" === t._id.charAt(0) ? 40 : 80), + (a = s.constrain(t._length / n, 4, 9) + 1)), + "radialaxis" === t._name && (a *= 2)), + (t.minor && "array" !== t.minor.tickmode) || + ("array" === t.tickmode && (a *= 100)), + (t._roughDTick = Math.abs(r[1] - r[0]) / a), + q.autoTicks(t, t._roughDTick), + t._minDtick > 0 && + t.dtick < 2 * t._minDtick && + ((t.dtick = t._minDtick), + (t.tick0 = t.l2r(t._forceTick0))); + } + "period" === t.ticklabelmode && + (function (t) { + var e; + function r() { + return !( + i(t.dtick) || "M" !== t.dtick.charAt(0) + ); + } + var n = r(), + a = q.getTickFormat(t); + if (a) { + var o = t._dtickInit !== t.dtick; + /%[fLQsSMX]/.test(a) || + (/%[HI]/.test(a) + ? ((e = E), + o && !n && t.dtick < E && (t.dtick = E)) + : /%p/.test(a) + ? ((e = S), + o && !n && t.dtick < S && (t.dtick = S)) + : /%[Aadejuwx]/.test(a) + ? ((e = M), + o && !n && t.dtick < M && (t.dtick = M)) + : /%[UVW]/.test(a) + ? ((e = A), + o && !n && t.dtick < A && (t.dtick = A)) + : /%[Bbm]/.test(a) + ? ((e = T), + o && + (n ? rt(t.dtick) < 1 : t.dtick < k) && + (t.dtick = "M1")) + : /%[q]/.test(a) + ? ((e = b), + o && + (n ? rt(t.dtick) < 3 : t.dtick < _) && + (t.dtick = "M3")) + : /%[Yy]/.test(a) && + ((e = y), + o && + (n ? rt(t.dtick) < 12 : t.dtick < m) && + (t.dtick = "M12"))); + } + (n = r()) && + t.tick0 === t._dowTick0 && + (t.tick0 = t._rawTick0), + (t._definedDelta = e); + })(t), + t.tick0 || + (t.tick0 = "date" === t.type ? "2000-01-01" : 0), + "date" === t.type && + t.dtick < 0.1 && + (t.dtick = 0.1), + dt(t); + }), + (q.calcTicks = function (t, e) { + for ( + var r, + n, + a = t.type, + o = t.calendar, + l = t.ticklabelstep, + u = "period" === t.ticklabelmode, + c = s.simpleMap( + t.range, + t.r2l, + void 0, + void 0, + e, + ), + f = c[1] < c[0], + h = Math.min(c[0], c[1]), + p = Math.max(c[0], c[1]), + d = Math.max(1e3, t._length || 0), + v = [], + L = [], + C = [], + O = [], + I = + t.minor && (t.minor.ticks || t.minor.showgrid), + D = 1; + D >= (I ? 0 : 1); + D-- + ) { + var z = !D; + D + ? ((t._dtickInit = t.dtick), + (t._tick0Init = t.tick0)) + : ((t.minor._dtickInit = t.minor.dtick), + (t.minor._tick0Init = t.minor.tick0)); + var R = D ? t : s.extendFlat({}, t, t.minor); + if ( + (z + ? q.prepMinorTicks(R, t, e) + : q.prepTicks(R, e), + "array" !== R.tickmode) + ) + if ("sync" !== R.tickmode) { + var F = J(c), + B = F[0], + N = F[1], + j = i(R.dtick), + U = + "log" === a && + !(j || "L" === R.dtick.charAt(0)), + V = q.tickFirst(R, e); + if (D) { + if (((t._tmin = V), V < B !== f)) break; + ("category" !== a && "multicategory" !== a) || + (N = f + ? Math.max(-0.5, N) + : Math.min( + t._categories.length - 0.5, + N, + )); + } + var H, + G, + Z = null, + W = V; + D && + (j + ? (G = t.dtick) + : "date" === a + ? "string" == typeof t.dtick && + "M" === t.dtick.charAt(0) && + (G = T * t.dtick.substring(1)) + : (G = t._roughDTick), + (H = + Math.round( + (t.r2l(W) - t.r2l(t.tick0)) / G, + ) - 1)); + var Y = R.dtick; + for ( + R.rangebreaks && + R._tick0Init !== R.tick0 && + ((W = Dt(W, t)), + f || (W = q.tickIncrement(W, Y, !f, o))), + D && + u && + ((W = q.tickIncrement(W, Y, !f, o)), H--); + f ? W >= N : W <= N; + W = q.tickIncrement(W, Y, f, o) + ) { + if ((D && H++, R.rangebreaks && !f)) { + if (W < B) continue; + if (R.maskBreaks(W) === P && Dt(W, R) >= p) + break; + } + if (C.length > d || W === Z) break; + Z = W; + var X = { value: W }; + D + ? (U && + W !== (0 | W) && + (X.simpleLabel = !0), + l > 1 && H % l && (X.skipLabel = !0), + C.push(X)) + : ((X.minor = !0), O.push(X)); + } + } else (C = []), (v = it(t)); + else + D + ? ((C = []), (v = at(t))) + : ((O = []), (L = at(t))); + } + if ( + I && + !( + ("inside" === t.minor.ticks && + "outside" === t.ticks) || + ("outside" === t.minor.ticks && + "inside" === t.ticks) + ) + ) { + for ( + var K = C.map(function (t) { + return t.value; + }), + $ = [], + Q = 0; + Q < O.length; + Q++ + ) { + var tt = O[Q], + et = tt.value; + if (-1 === K.indexOf(et)) { + for ( + var rt = !1, nt = 0; + !rt && nt < C.length; + nt++ + ) + 1e7 + C[nt].value === 1e7 + et && (rt = !0); + rt || $.push(tt); + } + } + O = $; + } + if ( + (u && + (function (t, e, r) { + for (var n = 0; n < t.length; n++) { + var i = t[n].value, + a = n, + o = n + 1; + n < t.length - 1 + ? ((a = n), (o = n + 1)) + : n > 0 + ? ((a = n - 1), (o = n)) + : ((a = n), (o = n)); + var s, + l = t[a].value, + u = t[o].value, + c = Math.abs(u - l), + f = r || c, + h = 0; + f >= m + ? (h = c >= m && c <= g ? c : y) + : r === b && f >= _ + ? (h = c >= _ && c <= x ? c : b) + : f >= k + ? (h = c >= k && c <= w ? c : T) + : r === A && f >= A + ? (h = A) + : f >= M + ? (h = M) + : r === S && f >= S + ? (h = S) + : r === E && f >= E && (h = E), + h >= c && ((h = c), (s = !0)); + var p = i + h; + if (e.rangebreaks && h > 0) { + for (var d = 0, v = 0; v < 84; v++) { + var L = (v + 0.5) / 84; + e.maskBreaks(i * (1 - L) + L * p) !== P && + d++; + } + (h *= d / 84) || (t[n].drop = !0), + s && c > A && (h = c); + } + (h > 0 || 0 === n) && + (t[n].periodX = i + h / 2); + } + })(C, t, t._definedDelta), + t.rangebreaks) + ) { + var ot = "y" === t._id.charAt(0), + st = 1; + "auto" === t.tickmode && + (st = t.tickfont ? t.tickfont.size : 12); + var lt = NaN; + for (r = C.length - 1; r > -1; r--) + if (C[r].drop) C.splice(r, 1); + else { + C[r].value = Dt(C[r].value, t); + var ut = t.c2p(C[r].value); + (ot ? lt > ut - st : lt < ut + st) + ? C.splice(f ? r + 1 : r, 1) + : (lt = ut); + } + } + It(t) && 360 === Math.abs(c[1] - c[0]) && C.pop(), + (t._tmax = (C[C.length - 1] || {}).value), + (t._prevDateHead = ""), + (t._inCalcTicks = !0); + var ct, + ft, + ht = function (e) { + (e.text = ""), (t._prevDateHead = n); + }; + for (C = C.concat(O), r = 0; r < C.length; r++) { + var pt = C[r].minor, + dt = C[r].value; + pt + ? L.push({ x: dt, minor: !0 }) + : ((n = t._prevDateHead), + (ct = q.tickText(t, dt, !1, C[r].simpleLabel)), + void 0 !== (ft = C[r].periodX) && + ((ct.periodX = ft), + (ft > p || ft < h) && + (ft > p && (ct.periodX = p), + ft < h && (ct.periodX = h), + ht(ct))), + C[r].skipLabel && ht(ct), + v.push(ct)); + } + return ( + (v = v.concat(L)), + (t._inCalcTicks = !1), + u && v.length && (v[0].noTick = !0), + v + ); + }); + var ot = [2, 5, 10], + st = [1, 2, 3, 6, 12], + lt = [1, 2, 5, 10, 15, 30], + ut = [1, 2, 3, 7, 14], + ct = [ + -0.046, 0, 0.301, 0.477, 0.602, 0.699, 0.778, 0.845, + 0.903, 0.954, 1, + ], + ft = [-0.301, 0, 0.301, 0.699, 1], + ht = [15, 30, 45, 90, 180]; + function pt(t, e, r) { + return e * s.roundUp(t / e, r); + } + function dt(t) { + var e = t.dtick; + if ( + ((t._tickexponent = 0), + i(e) || "string" == typeof e || (e = 1), + ("category" !== t.type && + "multicategory" !== t.type) || + (t._tickround = null), + "date" === t.type) + ) { + var r = t.r2l(t.tick0), + n = t.l2r(r).replace(/(^-|i)/g, ""), + a = n.length; + if ("M" === String(e).charAt(0)) + a > 10 || "01-01" !== n.substr(5) + ? (t._tickround = "d") + : (t._tickround = + +e.substr(1) % 12 == 0 ? "y" : "m"); + else if ((e >= M && a <= 10) || e >= 15 * M) + t._tickround = "d"; + else if ((e >= L && a <= 16) || e >= E) + t._tickround = "M"; + else if ((e >= C && a <= 19) || e >= L) + t._tickround = "S"; + else { + var o = t.l2r(r + e).replace(/^-/, "").length; + (t._tickround = Math.max(a, o) - 20), + t._tickround < 0 && (t._tickround = 4); + } + } else if (i(e) || "L" === e.charAt(0)) { + var s = t.range.map(t.r2d || Number); + i(e) || (e = Number(e.substr(1))), + (t._tickround = + 2 - Math.floor(Math.log(e) / Math.LN10 + 0.01)); + var l = Math.max(Math.abs(s[0]), Math.abs(s[1])), + u = Math.floor(Math.log(l) / Math.LN10 + 0.01), + c = void 0 === t.minexponent ? 3 : t.minexponent; + Math.abs(u) > c && + (yt(t.exponentformat) && !mt(u) + ? (t._tickexponent = 3 * Math.round((u - 1) / 3)) + : (t._tickexponent = u)); + } else t._tickround = null; + } + function vt(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, + }; + } + (q.autoTicks = function (t, e, r) { + var n; + function a(t) { + return Math.pow( + t, + Math.floor(Math.log(e) / Math.LN10), + ); + } + if ("date" === t.type) { + t.tick0 = s.dateTick0(t.calendar, 0); + var o = 2 * e; + if (o > y) + (e /= y), + (n = a(10)), + (t.dtick = "M" + 12 * pt(e, n, ot)); + else if (o > T) + (e /= T), (t.dtick = "M" + pt(e, 1, st)); + else if (o > M) { + if ( + ((t.dtick = pt( + e, + M, + t._hasDayOfWeekBreaks ? [1, 2, 7, 14] : ut, + )), + !r) + ) { + var l = q.getTickFormat(t), + u = "period" === t.ticklabelmode; + u && (t._rawTick0 = t.tick0), + /%[uVW]/.test(l) + ? (t.tick0 = s.dateTick0(t.calendar, 2)) + : (t.tick0 = s.dateTick0(t.calendar, 1)), + u && (t._dowTick0 = t.tick0); + } + } else + o > E + ? (t.dtick = pt(e, E, st)) + : o > L + ? (t.dtick = pt(e, L, lt)) + : o > C + ? (t.dtick = pt(e, C, lt)) + : ((n = a(10)), (t.dtick = pt(e, n, ot))); + } else if ("log" === t.type) { + t.tick0 = 0; + var c = s.simpleMap(t.range, t.r2l); + if ((t._isMinor && (e *= 1.5), e > 0.7)) + t.dtick = Math.ceil(e); + else if (Math.abs(c[1] - c[0]) < 1) { + var f = 1.5 * Math.abs((c[1] - c[0]) / e); + (e = + Math.abs( + Math.pow(10, c[1]) - Math.pow(10, c[0]), + ) / f), + (n = a(10)), + (t.dtick = "L" + pt(e, n, ot)); + } else t.dtick = e > 0.3 ? "D2" : "D1"; + } else + "category" === t.type || "multicategory" === t.type + ? ((t.tick0 = 0), + (t.dtick = Math.ceil(Math.max(e, 1)))) + : It(t) + ? ((t.tick0 = 0), (n = 1), (t.dtick = pt(e, n, ht))) + : ((t.tick0 = 0), + (n = a(10)), + (t.dtick = pt(e, n, ot))); + if ( + (0 === t.dtick && (t.dtick = 1), + !i(t.dtick) && "string" != typeof t.dtick) + ) { + var h = t.dtick; + throw ((t.dtick = 1), "ax.dtick error: " + String(h)); + } + }), + (q.tickIncrement = function (t, e, r, a) { + var o = r ? -1 : 1; + if (i(e)) return s.increment(t, o * e); + var l = e.charAt(0), + u = o * Number(e.substr(1)); + if ("M" === l) return s.incrementMonth(t, u, a); + if ("L" === l) + return Math.log(Math.pow(10, t) + u) / Math.LN10; + if ("D" === l) { + var c = "D2" === e ? ft : ct, + f = t + 0.01 * o, + h = s.roundUp(s.mod(f, 1), c, r); + return ( + Math.floor(f) + + Math.log(n.round(Math.pow(10, h), 1)) / Math.LN10 + ); + } + throw "unrecognized dtick " + String(e); + }), + (q.tickFirst = function (t, e) { + var r = t.r2l || Number, + a = s.simpleMap(t.range, r, void 0, void 0, e), + o = a[1] < a[0], + l = o ? Math.floor : Math.ceil, + u = J(a)[0], + c = t.dtick, + f = r(t.tick0); + if (i(c)) { + var h = l((u - f) / c) * c + f; + return ( + ("category" !== t.type && + "multicategory" !== t.type) || + (h = s.constrain( + h, + 0, + t._categories.length - 1, + )), + h + ); + } + var p = c.charAt(0), + d = Number(c.substr(1)); + if ("M" === p) { + for (var v, g, y, m = 0, x = f; m < 10; ) { + if ( + ((v = q.tickIncrement(x, c, o, t.calendar)) - + u) * + (x - u) <= + 0 + ) + return o ? Math.min(x, v) : Math.max(x, v); + (g = (u - (x + v) / 2) / (v - x)), + (y = p + (Math.abs(Math.round(g)) || 1) * d), + (x = q.tickIncrement( + x, + y, + g < 0 ? !o : o, + t.calendar, + )), + m++; + } + return s.error("tickFirst did not converge", t), x; + } + if ("L" === p) + return ( + Math.log(l((Math.pow(10, u) - f) / d) * d + f) / + Math.LN10 + ); + if ("D" === p) { + var b = "D2" === c ? ft : ct, + _ = s.roundUp(s.mod(u, 1), b, o); + return ( + Math.floor(u) + + Math.log(n.round(Math.pow(10, _), 1)) / Math.LN10 + ); + } + throw "unrecognized dtick " + String(c); + }), + (q.tickText = function (t, e, r, n) { + var a, + o = vt(t, e), + l = "array" === t.tickmode, + u = r || l, + c = t.type, + f = "category" === c ? t.d2l_noadd : t.d2l; + if (l && Array.isArray(t.ticktext)) { + var h = s.simpleMap(t.range, t.r2l), + p = + (Math.abs(h[1] - h[0]) - (t._lBreaks || 0)) / + 1e4; + for ( + a = 0; + a < t.ticktext.length && + !(Math.abs(e - f(t.tickvals[a])) < p); + a++ + ); + if (a < t.ticktext.length) + return (o.text = String(t.ticktext[a])), o; + } + function d(n) { + if (void 0 === n) return !0; + if (r) return "none" === n; + var i = { first: t._tmin, last: t._tmax }[n]; + return "all" !== n && e !== i; + } + var v = r + ? "never" + : "none" !== t.exponentformat && d(t.showexponent) + ? "hide" + : ""; + if ( + ("date" === c + ? (function (t, e, r, n) { + var a = t._tickround, + o = + (r && t.hoverformat) || + q.getTickFormat(t); + n && + (a = i(a) + ? 4 + : { + y: "m", + m: "d", + d: "M", + M: "S", + S: 4, + }[a]); + var l, + u = s.formatDate( + e.x, + o, + a, + t._dateFormat, + t.calendar, + t._extraFormat, + ), + c = u.indexOf("\n"); + if ( + (-1 !== c && + ((l = u.substr(c + 1)), + (u = u.substr(0, c))), + n && + ("00:00:00" === u || "00:00" === u + ? ((u = l), (l = "")) + : 8 === u.length && + (u = u.replace(/:00$/, ""))), + l) + ) + if (r) + "d" === a + ? (u += ", " + l) + : (u = l + (u ? ", " + u : "")); + else if ( + t._inCalcTicks && + t._prevDateHead === l + ) { + var f = zt(t), + h = t._trueSide || t.side; + ((!f && "top" === h) || + (f && "bottom" === h)) && + (u += "
"); + } else + (t._prevDateHead = l), (u += "
" + l); + e.text = u; + })(t, o, r, u) + : "log" === c + ? (function (t, e, r, n, a) { + var o = t.dtick, + l = e.x, + u = t.tickformat, + c = "string" == typeof o && o.charAt(0); + if ( + ("never" === a && (a = ""), + n && "L" !== c && ((o = "L3"), (c = "L")), + u || "L" === c) + ) + e.text = xt(Math.pow(10, l), t, a, n); + else if ( + i(o) || + ("D" === c && s.mod(l + 0.01, 1) < 0.1) + ) { + var f = Math.round(l), + h = Math.abs(f), + p = t.exponentformat; + "power" === p || (yt(p) && mt(f)) + ? ((e.text = + 0 === f + ? 1 + : 1 === f + ? "10" + : "10" + + (f > 1 ? "" : O) + + h + + ""), + (e.fontSize *= 1.25)) + : ("e" === p || "E" === p) && h > 2 + ? (e.text = + "1" + p + (f > 0 ? "+" : O) + h) + : ((e.text = xt( + Math.pow(10, l), + t, + "", + "fakehover", + )), + "D1" === o && + "y" === t._id.charAt(0) && + (e.dy -= e.fontSize / 6)); + } else { + if ("D" !== c) + throw "unrecognized dtick " + String(o); + (e.text = String( + Math.round(Math.pow(10, s.mod(l, 1))), + )), + (e.fontSize *= 0.75); + } + if ("D1" === t.dtick) { + var d = String(e.text).charAt(0); + ("0" !== d && "1" !== d) || + ("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 * + (l < 0 ? 0.5 : 0.25)))); + } + })(t, o, 0, u, v) + : "category" === c + ? (function (t, e) { + var r = t._categories[Math.round(e.x)]; + void 0 === r && (r = ""), + (e.text = String(r)); + })(t, o) + : "multicategory" === c + ? (function (t, e, r) { + var n = Math.round(e.x), + i = t._categories[n] || [], + a = void 0 === i[1] ? "" : String(i[1]), + o = void 0 === i[0] ? "" : String(i[0]); + r + ? (e.text = o + " - " + a) + : ((e.text = a), (e.text2 = o)); + })(t, o, r) + : It(t) + ? (function (t, e, r, n, i) { + if ("radians" !== t.thetaunit || r) + e.text = xt(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) { + for ( + var r = 1; + !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 = xt(s.deg2rad(e.x), t, i, n); + else { + var l = e.x < 0; + 1 === o[1] + ? 1 === o[0] + ? (e.text = "π") + : (e.text = o[0] + "π") + : (e.text = [ + "", + o[0], + "", + "⁄", + "", + o[1], + "", + "π", + ].join("")), + l && (e.text = O + e.text); + } + } + } + })(t, o, r, u, v) + : (function (t, e, r, n, i) { + "never" === i + ? (i = "") + : "all" === t.showexponent && + Math.abs(e.x / t.dtick) < 1e-6 && + (i = "hide"), + (e.text = xt(e.x, t, i, n)); + })(t, o, 0, u, v), + n || + (t.tickprefix && + !d(t.showtickprefix) && + (o.text = t.tickprefix + o.text), + t.ticksuffix && + !d(t.showticksuffix) && + (o.text += t.ticksuffix)), + t.labelalias && t.labelalias.hasOwnProperty(o.text)) + ) { + var g = t.labelalias[o.text]; + "string" == typeof g && (o.text = g); + } + if ("boundaries" === t.tickson || t.showdividers) { + var y = function (e) { + var r = t.l2p(e); + return r >= 0 && r <= t._length ? e : null; + }; + o.xbnd = [y(o.x - 0.5), y(o.x + t.dtick - 0.5)]; + } + return o; + }), + (q.hoverLabelText = function (t, e, r) { + r && (t = s.extendFlat({}, t, { hoverformat: r })); + var n = Array.isArray(e) ? e[0] : e, + i = Array.isArray(e) ? e[1] : void 0; + if (void 0 !== i && i !== n) + return ( + q.hoverLabelText(t, n, r) + + " - " + + q.hoverLabelText(t, i, r) + ); + var a = "log" === t.type && n <= 0, + o = q.tickText(t, t.c2l(a ? -n : n), "hover").text; + return a ? (0 === n ? "0" : O + o) : o; + }); + var gt = [ + "f", + "p", + "n", + "μ", + "m", + "", + "k", + "M", + "G", + "T", + ]; + function yt(t) { + return "SI" === t || "B" === t; + } + function mt(t) { + return t > 14 || t < -15; + } + function xt(t, e, r, n) { + var a = t < 0, + o = e._tickround, + l = r || e.exponentformat || "B", + u = e._tickexponent, + c = q.getTickFormat(e), + f = e.separatethousands; + if (n) { + var h = { + exponentformat: l, + minexponent: e.minexponent, + dtick: + "none" === e.showexponent + ? e.dtick + : (i(t) && Math.abs(t)) || 1, + range: + "none" === e.showexponent + ? e.range.map(e.r2d) + : [0, t || 1], + }; + dt(h), + (o = (Number(h._tickround) || 0) + 4), + (u = h._tickexponent), + e.hoverformat && (c = e.hoverformat); + } + if (c) return e._numFormat(c)(t).replace(/-/g, O); + var p, + d = Math.pow(10, -o) / 2; + if (("none" === l && (u = 0), (t = Math.abs(t)) < d)) + (t = "0"), (a = !1); + else { + if ( + ((t += d), + u && ((t *= Math.pow(10, -u)), (o += u)), + 0 === o) + ) + t = String(Math.floor(t)); + else if (o < 0) { + t = (t = String(Math.round(t))).substr( + 0, + t.length + o, + ); + for (var v = o; v < 0; v++) t += "0"; + } else { + var g = (t = String(t)).indexOf(".") + 1; + g && (t = t.substr(0, g + o).replace(/\.?0+$/, "")); + } + t = s.numSeparate(t, e._separators, f); + } + return ( + u && + "hide" !== l && + (yt(l) && mt(u) && (l = "power"), + (p = + u < 0 + ? O + -u + : "power" !== l + ? "+" + u + : String(u)), + "e" === l || "E" === l + ? (t += l + p) + : "power" === l + ? (t += "×10" + p + "") + : "B" === l && 9 === u + ? (t += "B") + : yt(l) && (t += gt[u / 3 + 5])), + a ? O + t : t + ); + } + function bt(t, e) { + if (t) { + var r = Object.keys(B).reduce(function (t, r) { + return ( + -1 !== e.indexOf(r) && + B[r].forEach(function (e) { + t[e] = 1; + }), + t + ); + }, {}); + Object.keys(t).forEach(function (e) { + r[e] || (1 === e.length ? (t[e] = 0) : delete t[e]); + }); + } + } + function _t(t, e) { + for (var r = [], n = {}, i = 0; i < e.length; i++) { + var a = e[i]; + n[a.text2] + ? n[a.text2].push(a.x) + : (n[a.text2] = [a.x]); + } + for (var o in n) r.push(vt(t, s.interp(n[o], 0.5), o)); + return r; + } + function wt(t) { + return void 0 !== t.periodX ? t.periodX : t.x; + } + function Tt(t) { + return [ + t.text, + t.x, + t.axInfo, + t.font, + t.fontSize, + t.fontColor, + ].join("_"); + } + function kt(t) { + var e = t.title.font.size, + r = (t.title.text.match(u.BR_TAG_ALL) || []).length; + return t.title.hasOwnProperty("standoff") + ? r + ? e * (U + r * V) + : e * U + : r + ? e * (r + 1) * V + : e; + } + function At(t, e) { + var r = t.l2p(e); + return r > 1 && r < t._length - 1; + } + function Mt(t) { + var e = n.select(t), + r = e.select(".text-math-group"); + return r.empty() ? e.select("text") : r; + } + function St(t) { + return t._id + ".automargin"; + } + function Et(t) { + return St(t) + ".mirror"; + } + function Lt(t) { + return t._id + ".rangeslider"; + } + function Ct(t, e) { + for (var r = 0; r < e.length; r++) + -1 === t.indexOf(e[r]) && t.push(e[r]); + } + function Ot(t, e, r) { + var n, + i, + a = [], + o = [], + l = t.layout; + for (n = 0; n < e.length; n++) + a.push(q.getFromId(t, e[n])); + for (n = 0; n < r.length; n++) + o.push(q.getFromId(t, r[n])); + var u = Object.keys(p), + c = [ + "anchor", + "domain", + "overlaying", + "position", + "side", + "tickangle", + "editType", + ], + f = ["linear", "log"]; + for (n = 0; n < u.length; n++) { + var h = u[n], + d = a[0][h], + v = o[0][h], + g = !0, + y = !1, + m = !1; + if ( + "_" !== h.charAt(0) && + "function" != typeof d && + -1 === c.indexOf(h) + ) { + for (i = 1; i < a.length && g; i++) { + var x = a[i][h]; + "type" === h && + -1 !== f.indexOf(d) && + -1 !== f.indexOf(x) && + d !== x + ? (y = !0) + : x !== d && (g = !1); + } + for (i = 1; i < o.length && g; i++) { + var b = o[i][h]; + "type" === h && + -1 !== f.indexOf(v) && + -1 !== f.indexOf(b) && + v !== b + ? (m = !0) + : o[i][h] !== v && (g = !1); + } + g && + (y && (l[a[0]._name].type = "linear"), + m && (l[o[0]._name].type = "linear"), + Pt(l, h, a, o, t._fullLayout._dfltTitle)); + } + } + for (n = 0; n < t._fullLayout.annotations.length; n++) { + var _ = t._fullLayout.annotations[n]; + -1 !== e.indexOf(_.xref) && + -1 !== r.indexOf(_.yref) && + s.swapAttrs(l.annotations[n], ["?"]); + } + } + function Pt(t, e, r, n, i) { + var a, + o = s.nestedProperty, + l = o(t[r[0]._name], e).get(), + u = o(t[n[0]._name], e).get(); + for ( + "title" === e && + (l && l.text === i.x && (l.text = i.y), + u && u.text === i.y && (u.text = i.x)), + a = 0; + a < r.length; + a++ + ) + o(t, r[a]._name + "." + e).set(u); + for (a = 0; a < n.length; a++) + o(t, n[a]._name + "." + e).set(l); + } + function It(t) { + return "angularaxis" === t._id; + } + function Dt(t, e) { + for (var r = e._rangebreaks.length, n = 0; n < r; n++) { + var i = e._rangebreaks[n]; + if (t >= i.min && t < i.max) return i.max; + } + return t; + } + function zt(t) { + return ( + -1 !== (t.ticklabelposition || "").indexOf("inside") + ); + } + function Rt(t, e) { + zt(t._anchorAxis || {}) && + t._hideCounterAxisInsideTickLabels && + t._hideCounterAxisInsideTickLabels(e); + } + function Ft(t, e, r, n) { + var i, + a = + "free" === t.anchor || + (void 0 !== t.overlaying && !1 !== t.overlaying) + ? t.overlaying + : t._id; + (i = n ? ("right" === t.side ? e : -e) : e), + a in r || (r[a] = {}), + t.side in r[a] || (r[a][t.side] = 0), + (r[a][t.side] += i); + } + (q.getTickFormat = function (t) { + var e, r, n, i, a, o, s, l; + function u(t) { + return "string" != typeof t + ? t + : Number(t.replace("M", "")) * T; + } + function c(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 f(t, e) { + var r = null === e[0], + n = null === e[1], + i = c(t, e[0]) >= 0, + a = c(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.tickformatstops[e]).enabled && + ((i = t.dtick), + (a = n.dtickrange), + (o = void 0), + (s = void 0), + (l = void 0), + (o = + u || + function (t) { + return t; + }), + (s = a[0]), + (l = a[1]), + ((!s && "number" != typeof s) || + o(s) <= o(i)) && + ((!l && "number" != typeof l) || + o(l) >= o(i))) + ) { + r = n; + break; + } + break; + case "log": + for (e = 0; e < t.tickformatstops.length; e++) + if ( + (n = t.tickformatstops[e]).enabled && + f(t.dtick, n.dtickrange) + ) { + r = n; + break; + } + } + return r ? r.value : t.tickformat; + }), + (q.getSubplots = function (t, e) { + var r = t._fullLayout._subplots, + n = r.cartesian.concat(r.gl2d || []), + i = e ? q.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 + ); + }), + (q.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; + }), + (q.makeClipPaths = function (t) { + var e = t._fullLayout; + if (!e._hasOnlyLargeSploms) { + var r, + i, + a = { _offset: 0, _length: e.width, _id: "" }, + o = { _offset: 0, _length: e.height, _id: "" }, + s = q.list(t, "x", !0), + l = q.list(t, "y", !0), + u = []; + for (r = 0; r < s.length; r++) + for ( + u.push({ x: s[r], y: o }), i = 0; + i < l.length; + i++ + ) + 0 === r && u.push({ x: a, y: l[i] }), + u.push({ x: s[r], y: l[i] }); + var c = e._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" + e._uid + t.x._id + t.y._id; + }) + .append("rect"), + c.exit().remove(), + c.each(function (t) { + n.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, + }); + }); + } + }), + (q.draw = function (t, e, r) { + var n = t._fullLayout; + "redraw" === e && + n._paper.selectAll("g.subplot").each(function (t) { + var e = t[0], + r = n._plots[e]; + if (r) { + var i = r.xaxis, + a = r.yaxis; + r.xaxislayer + .selectAll("." + i._id + "tick") + .remove(), + r.yaxislayer + .selectAll("." + a._id + "tick") + .remove(), + r.xaxislayer + .selectAll("." + i._id + "tick2") + .remove(), + r.yaxislayer + .selectAll("." + a._id + "tick2") + .remove(), + r.xaxislayer + .selectAll("." + i._id + "divider") + .remove(), + r.yaxislayer + .selectAll("." + a._id + "divider") + .remove(), + r.minorGridlayer && + r.minorGridlayer.selectAll("path").remove(), + r.gridlayer && + r.gridlayer.selectAll("path").remove(), + r.zerolinelayer && + r.zerolinelayer.selectAll("path").remove(), + n._infolayer + .select(".g-" + i._id + "title") + .remove(), + n._infolayer + .select(".g-" + a._id + "title") + .remove(); + } + }); + var i = e && "redraw" !== e ? e : q.listIds(t), + a = q + .list(t) + .filter(function (t) { + return t.autoshift; + }) + .map(function (t) { + return t.overlaying; + }); + i.map(function (e) { + var r = q.getFromId(t, e); + if ("sync" === r.tickmode && r.overlaying) { + var n = i.findIndex(function (t) { + return t === r.overlaying; + }); + n >= 0 && i.unshift(i.splice(n, 1).shift()); + } + }); + var o = { false: { left: 0, right: 0 } }; + return s.syncOrAsync( + i.map(function (e) { + return function () { + if (e) { + var n = q.getFromId(t, e); + r || (r = {}), + (r.axShifts = o), + (r.overlayingShiftedAx = a); + var i = q.drawOne(t, n, r); + return ( + n._shiftPusher && + Ft(n, n._fullDepth || 0, o, !0), + (n._r = n.range.slice()), + (n._rl = s.simpleMap(n._r, n.r2l)), + i + ); + } + }; + }), + ); + }), + (q.drawOne = function (t, e, r) { + var n, + i, + l, + u = (r = r || {}).axShifts || {}, + p = r.overlayingShiftedAx || []; + e.setScale(); + var d = t._fullLayout, + v = e._id, + g = v.charAt(0), + y = q.counterLetter(v), + m = d._plots[e._mainSubplot]; + if (m) { + if ( + ((e._shiftPusher = + e.autoshift || + -1 !== p.indexOf(e._id) || + -1 !== p.indexOf(e.overlaying)), + e._shiftPusher & ("free" === e.anchor)) + ) { + var x = e.linewidth / 2 || 0; + "inside" === e.ticks && (x += e.ticklen), + Ft(e, x, u, !0), + Ft(e, e.shift || 0, u, !1); + } + (!0 === r.skipTitle && void 0 !== e._shift) || + (e._shift = (function (t, e) { + return t.autoshift + ? e[t.overlaying][t.side] + : t.shift || 0; + })(e, u)); + var b = m[g + "axislayer"], + _ = e._mainLinePosition, + w = (_ += e._shift), + T = e._mainMirrorPosition, + k = (e._vals = q.calcTicks(e)), + A = [e.mirror, w, T].join("_"); + for (n = 0; n < k.length; n++) k[n].axInfo = A; + (e._selections = {}), + e._tickAngles && + (e._prevTickAngles = e._tickAngles), + (e._tickAngles = {}), + (e._depth = null); + var M = {}; + if (e.visible) { + var S, + E, + L = q.makeTransTickFn(e), + C = q.makeTransTickLabelFn(e), + O = "inside" === e.ticks, + P = "outside" === e.ticks; + if ("boundaries" === e.tickson) { + var I = (function (t, e) { + var r, + n = [], + i = function (t, e) { + var r = t.xbnd[e]; + null !== r && + n.push(s.extendFlat({}, t, { x: r })); + }; + if (e.length) { + for (r = 0; r < e.length; r++) i(e[r], 0); + i(e[r - 1], 1); + } + return n; + })(0, k); + (E = q.clipEnds(e, I)), (S = O ? E : I); + } else + (E = q.clipEnds(e, k)), + (S = + O && "period" !== e.ticklabelmode ? E : k); + var D, + z = (e._gridVals = E), + R = (function (t, e) { + var r, + n, + i = [], + a = e.length && e[e.length - 1].x < e[0].x, + o = function (t, e) { + var r = t.xbnd[e]; + null !== r && + i.push(s.extendFlat({}, t, { x: r })); + }; + if (t.showdividers && e.length) { + for (r = 0; r < e.length; r++) { + var l = e[r]; + l.text2 !== n && o(l, a ? 1 : 0), + (n = l.text2); + } + o(e[r - 1], a ? 0 : 1); + } + return i; + })(e, k); + if (!d._hasOnlyLargeSploms) { + var F = e._subplotsWith, + B = {}; + for (n = 0; n < F.length; n++) { + i = F[n]; + var N = (l = d._plots[i])[y + "axis"], + j = N._mainAxis._id; + if (!B[j]) { + B[j] = 1; + var U = + "x" === g + ? "M0," + N._offset + "v" + N._length + : "M" + N._offset + ",0h" + N._length; + q.drawGrid(t, e, { + vals: z, + counterAxis: N, + layer: l.gridlayer.select("." + v), + minorLayer: l.minorGridlayer.select( + "." + v, + ), + path: U, + transFn: L, + }), + q.drawZeroLine(t, e, { + counterAxis: N, + layer: l.zerolinelayer, + path: U, + transFn: L, + }); + } + } + } + var G = q.getTickSigns(e), + Z = q.getTickSigns(e, "minor"); + if (e.ticks || (e.minor && e.minor.ticks)) { + var W, + Y, + X, + J, + K = q.makeTickPath(e, w, G[2]), + $ = q.makeTickPath(e, w, Z[2], { minor: !0 }); + if ( + (e._anchorAxis && e.mirror && !0 !== e.mirror + ? ((W = q.makeTickPath(e, T, G[3])), + (Y = q.makeTickPath(e, T, Z[3], { + minor: !0, + })), + (X = K + W), + (J = $ + Y)) + : ((W = ""), (Y = ""), (X = K), (J = $)), + e.showdividers && + P && + "boundaries" === e.tickson) + ) { + var Q = {}; + for (n = 0; n < R.length; n++) Q[R[n].x] = 1; + D = function (t) { + return Q[t.x] ? W : X; + }; + } else + D = function (t) { + return t.minor ? J : X; + }; + } + if ( + (q.drawTicks(t, e, { + vals: S, + layer: b, + path: D, + transFn: L, + }), + "allticks" === e.mirror) + ) { + var tt = Object.keys(e._linepositions || {}); + for (n = 0; n < tt.length; n++) { + (i = tt[n]), (l = d._plots[i]); + var et = e._linepositions[i] || [], + rt = et[0], + nt = et[1], + it = et[2], + at = + q.makeTickPath(e, rt, it ? G[0] : Z[0], { + minor: it, + }) + + q.makeTickPath(e, nt, it ? G[1] : Z[1], { + minor: it, + }); + q.drawTicks(t, e, { + vals: S, + layer: l[g + "axislayer"], + path: at, + transFn: L, + }); + } + } + var ot = []; + if ( + (ot.push(function () { + return q.drawLabels(t, e, { + vals: k, + layer: b, + plotinfo: l, + transFn: C, + labelFns: q.makeLabelFns(e, w), + }); + }), + "multicategory" === e.type) + ) { + var st = { x: 2, y: 10 }[g]; + ot.push(function () { + var r = { x: "height", y: "width" }[g], + n = + ut()[r] + + st + + (e._tickAngles[v + "tick"] + ? e.tickfont.size * V + : 0); + return q.drawLabels(t, e, { + vals: _t(e, k), + layer: b, + cls: v + "tick2", + repositionOnUpdate: !0, + secondary: !0, + transFn: L, + labelFns: q.makeLabelFns(e, w + n * G[4]), + }); + }), + ot.push(function () { + return ( + (e._depth = + G[4] * (ut("tick2")[e.side] - w)), + (function (t, e, r) { + var n = e._id + "divider", + i = r.vals, + a = r.layer + .selectAll("path." + n) + .data(i, Tt); + a.exit().remove(), + a + .enter() + .insert("path", ":first-child") + .classed(n, 1) + .classed("crisp", 1) + .call(f.stroke, e.dividercolor) + .style( + "stroke-width", + h.crispRound( + t, + e.dividerwidth, + 1, + ) + "px", + ), + a + .attr("transform", r.transFn) + .attr("d", r.path); + })(t, e, { + vals: R, + layer: b, + path: q.makeTickPath(e, w, G[4], { + len: e._depth, + }), + transFn: L, + }) + ); + }); + } else + e.title.hasOwnProperty("standoff") && + ot.push(function () { + e._depth = G[4] * (ut()[e.side] - w); + }); + var lt = o.getComponentMethod( + "rangeslider", + "isVisible", + )(e); + return ( + r.skipTitle || + (lt && "bottom" === e.side) || + ot.push(function () { + return (function (t, e) { + var r, + n = t._fullLayout, + i = e._id, + a = i.charAt(0), + o = e.title.font.size; + if (e.title.hasOwnProperty("standoff")) + r = e._depth + e.title.standoff + kt(e); + else { + var s = zt(e); + if ("multicategory" === e.type) + r = e._depth; + else { + var l = 1.5 * o; + s && + ((l = 0.5 * o), + "outside" === e.ticks && + (l += e.ticklen)), + (r = + 10 + + l + + (e.linewidth + ? e.linewidth - 1 + : 0)); + } + s || + (r += + "x" === a + ? "top" === e.side + ? o * (e.showticklabels ? 1 : 0) + : o * + (e.showticklabels ? 1.5 : 0.5) + : "right" === e.side + ? o * (e.showticklabels ? 1 : 0.5) + : o * + (e.showticklabels ? 0.5 : 0)); + } + var u, + f, + p, + d, + v = q.getPxPosition(t, e); + if ( + ("x" === a + ? ((f = e._offset + e._length / 2), + (p = + "top" === e.side ? v - r : v + r)) + : ((p = e._offset + e._length / 2), + (f = + "right" === e.side + ? v + r + : v - r), + (u = { rotate: "-90", offset: 0 })), + "multicategory" !== e.type) + ) { + var g = e._selections[e._id + "tick"]; + if ( + ((d = { selection: g, side: e.side }), + g && g.node() && g.node().parentNode) + ) { + var y = h.getTranslate( + g.node().parentNode, + ); + (d.offsetLeft = y.x), + (d.offsetTop = y.y); + } + e.title.hasOwnProperty("standoff") && + (d.pad = 0); + } + return ( + (e._titleStandoff = r), + c.draw(t, i + "title", { + propContainer: e, + propName: e._name + ".title.text", + placeholder: n._dfltTitle[a], + avoid: d, + transform: u, + attributes: { + x: f, + y: p, + "text-anchor": "middle", + }, + }) + ); + })(t, e); + }), + ot.push(function () { + var r, + n, + i, + s, + l = e.side.charAt(0), + u = H[e.side].charAt(0), + c = q.getPxPosition(t, e), + f = P ? e.ticklen : 0; + (e.automargin || lt || e._shiftPusher) && + ("multicategory" === e.type + ? (r = ut("tick2")) + : ((r = ut()), + "x" === g && + "b" === l && + (e._depth = Math.max( + r.width > 0 ? r.bottom - c : 0, + f, + )))); + var h = 0, + p = 0; + if ( + (e._shiftPusher && + ((h = Math.max( + f, + r.height > 0 + ? "l" === l + ? c - r.left + : r.right - c + : 0, + )), + e.title.text !== d._dfltTitle[g] && + ((p = + (e._titleStandoff || 0) + + (e._titleScoot || 0)), + "l" === l && (p += kt(e))), + (e._fullDepth = Math.max(h, p))), + e.automargin) + ) { + n = { x: 0, y: 0, r: 0, l: 0, t: 0, b: 0 }; + var v = [0, 1], + m = + "number" == typeof e._shift + ? e._shift + : 0; + if ("x" === g) { + if ( + ("b" === l + ? (n[l] = e._depth) + : ((n[l] = e._depth = + Math.max( + r.width > 0 ? c - r.top : 0, + f, + )), + v.reverse()), + r.width > 0) + ) { + var x = + r.right - (e._offset + e._length); + x > 0 && ((n.xr = 1), (n.r = x)); + var b = e._offset - r.left; + b > 0 && ((n.xl = 0), (n.l = b)); + } + } else if ( + ("l" === l + ? ((e._depth = Math.max( + r.height > 0 ? c - r.left : 0, + f, + )), + (n[l] = e._depth - m)) + : ((e._depth = Math.max( + r.height > 0 ? r.right - c : 0, + f, + )), + (n[l] = e._depth + m), + v.reverse()), + r.height > 0) + ) { + var _ = + r.bottom - (e._offset + e._length); + _ > 0 && ((n.yb = 0), (n.b = _)); + var w = e._offset - r.top; + w > 0 && ((n.yt = 1), (n.t = w)); + } + (n[y] = + "free" === e.anchor + ? e.position + : e._anchorAxis.domain[v[0]]), + e.title.text !== d._dfltTitle[g] && + (n[l] += + kt(e) + (e.title.standoff || 0)), + e.mirror && + "free" !== e.anchor && + (((i = { + x: 0, + y: 0, + r: 0, + l: 0, + t: 0, + b: 0, + })[u] = e.linewidth), + e.mirror && + !0 !== e.mirror && + (i[u] += f), + !0 === e.mirror || "ticks" === e.mirror + ? (i[y] = e._anchorAxis.domain[v[1]]) + : ("all" !== e.mirror && + "allticks" !== e.mirror) || + (i[y] = [ + e._counterDomainMin, + e._counterDomainMax, + ][v[1]])); + } + lt && + (s = o.getComponentMethod( + "rangeslider", + "autoMarginOpts", + )(t, e)), + "string" == typeof e.automargin && + (bt(n, e.automargin), + bt(i, e.automargin)), + a.autoMargin(t, St(e), n), + a.autoMargin(t, Et(e), i), + a.autoMargin(t, Lt(e), s); + }), + s.syncOrAsync(ot) + ); + } + } + function ut(t) { + var r = v + (t || "tick"); + return ( + M[r] || + (M[r] = (function (t, e) { + var r, n, i, a; + return ( + t._selections[e].size() + ? ((r = 1 / 0), + (n = -1 / 0), + (i = 1 / 0), + (a = -1 / 0), + t._selections[e].each(function () { + var t = Mt(this), + e = h.bBox(t.node().parentNode); + (r = Math.min(r, e.top)), + (n = Math.max(n, e.bottom)), + (i = Math.min(i, e.left)), + (a = Math.max(a, e.right)); + })) + : ((r = 0), (n = 0), (i = 0), (a = 0)), + { + top: r, + bottom: n, + left: i, + right: a, + height: n - r, + width: a - i, + } + ); + })(e, r)), + M[r] + ); + } + }), + (q.getTickSigns = function (t, e) { + var r = t._id.charAt(0), + n = { x: "top", y: "right" }[r], + i = t.side === n ? 1 : -1, + a = [-1, 1, i, -i]; + return ( + ("inside" !== + (e ? (t.minor || {}).ticks : t.ticks)) == + ("x" === r) && + (a = a.map(function (t) { + return -t; + })), + t.side && + a.push( + { l: -1, t: -1, r: 1, b: 1 }[t.side.charAt(0)], + ), + a + ); + }), + (q.makeTransTickFn = function (t) { + return "x" === t._id.charAt(0) + ? function (e) { + return l(t._offset + t.l2p(e.x), 0); + } + : function (e) { + return l(0, t._offset + t.l2p(e.x)); + }; + }), + (q.makeTransTickLabelFn = function (t) { + var e = (function (t) { + var e = t.ticklabelposition || "", + r = function (t) { + return -1 !== e.indexOf(t); + }, + n = r("top"), + i = r("left"), + a = r("right"), + o = r("bottom"), + s = r("inside"), + l = o || i || n || a; + if (!l && !s) return [0, 0]; + var u = t.side, + c = l ? (t.tickwidth || 0) / 2 : 0, + f = 3, + h = t.tickfont ? t.tickfont.size : 12; + return ( + (o || n) && + ((c += h * U), (f += (t.linewidth || 0) / 2)), + (i || a) && + ((c += (t.linewidth || 0) / 2), (f += 3)), + s && "top" === u && (f -= h * (1 - U)), + (i || n) && (c = -c), + ("bottom" !== u && "right" !== u) || (f = -f), + [l ? c : 0, s ? f : 0] + ); + })(t), + r = e[0], + n = e[1]; + return "x" === t._id.charAt(0) + ? function (e) { + return l(r + t._offset + t.l2p(wt(e)), n); + } + : function (e) { + return l(n, r + t._offset + t.l2p(wt(e))); + }; + }), + (q.makeTickPath = function (t, e, r, n) { + n || (n = {}); + var i = n.minor; + if (i && !t.minor) return ""; + var a = + void 0 !== n.len + ? n.len + : i + ? t.minor.ticklen + : t.ticklen, + o = t._id.charAt(0), + s = (t.linewidth || 1) / 2; + return "x" === o + ? "M0," + (e + s * r) + "v" + a * r + : "M" + (e + s * r) + ",0h" + a * r; + }), + (q.makeLabelFns = function (t, e, r) { + var n = t.ticklabelposition || "", + a = function (t) { + return -1 !== n.indexOf(t); + }, + o = a("top"), + l = a("left"), + u = a("right"), + c = a("bottom") || l || o || u, + f = a("inside"), + h = + ("inside" === n && "inside" === t.ticks) || + (!f && + "outside" === t.ticks && + "boundaries" !== t.tickson), + p = 0, + d = 0, + v = h ? t.ticklen : 0; + if ( + (f ? (v *= -1) : c && (v = 0), h && ((p += v), r)) + ) { + var g = s.deg2rad(r); + (p = v * Math.cos(g) + 1), (d = v * Math.sin(g)); + } + t.showticklabels && + (h || t.showline) && + (p += 0.2 * t.tickfont.size); + var y, + m, + x, + b, + _, + w = { + labelStandoff: (p += + ((t.linewidth || 1) / 2) * (f ? -1 : 1)), + labelShift: d, + }, + T = 0, + k = t.side, + A = t._id.charAt(0), + M = t.tickangle; + if ("x" === A) + (b = (_ = + (!f && "bottom" === k) || (f && "top" === k)) + ? 1 + : -1), + f && (b *= -1), + (y = d * b), + (m = e + p * b), + (x = _ ? 1 : -0.2), + 90 === Math.abs(M) && + (f + ? (x += j) + : (x = + -90 === M && "bottom" === k + ? U + : 90 === M && "top" === k + ? j + : 0.5), + (T = (j / 2) * (M / 90))), + (w.xFn = function (t) { + return t.dx + y + T * t.fontSize; + }), + (w.yFn = function (t) { + return t.dy + m + t.fontSize * x; + }), + (w.anchorFn = function (t, e) { + if (c) { + if (l) return "end"; + if (u) return "start"; + } + return i(e) && 0 !== e && 180 !== e + ? e * b < 0 !== f + ? "end" + : "start" + : "middle"; + }), + (w.heightFn = function (e, r, n) { + return r < -60 || r > 60 + ? -0.5 * n + : ("top" === t.side) !== f + ? -n + : 0; + }); + else if ("y" === A) { + if ( + ((b = (_ = + (!f && "left" === k) || (f && "right" === k)) + ? 1 + : -1), + f && (b *= -1), + (y = p), + (m = d * b), + (x = 0), + f || + 90 !== Math.abs(M) || + (x = + (-90 === M && "left" === k) || + (90 === M && "right" === k) + ? U + : 0.5), + f) + ) { + var S = i(M) ? +M : 0; + if (0 !== S) { + var E = s.deg2rad(S); + (T = Math.abs(Math.sin(E)) * U * b), (x = 0); + } + } + (w.xFn = function (t) { + return ( + t.dx + + e - + (y + t.fontSize * x) * b + + T * t.fontSize + ); + }), + (w.yFn = function (t) { + return t.dy + m + t.fontSize * j; + }), + (w.anchorFn = function (t, e) { + return i(e) && 90 === Math.abs(e) + ? "middle" + : _ + ? "end" + : "start"; + }), + (w.heightFn = function (e, r, n) { + return ( + "right" === t.side && (r *= -1), + r < -30 ? -n : r < 30 ? -0.5 * n : 0 + ); + }); + } + return w; + }), + (q.drawTicks = function (t, e, r) { + r = r || {}; + var i = e._id + "tick", + a = [] + .concat( + e.minor && e.minor.ticks + ? r.vals.filter(function (t) { + return t.minor && !t.noTick; + }) + : [], + ) + .concat( + e.ticks + ? r.vals.filter(function (t) { + return !t.minor && !t.noTick; + }) + : [], + ), + o = r.layer.selectAll("path." + i).data(a, Tt); + o.exit().remove(), + o + .enter() + .append("path") + .classed(i, 1) + .classed("ticks", 1) + .classed("crisp", !1 !== r.crisp) + .each(function (t) { + return f.stroke( + n.select(this), + t.minor ? e.minor.tickcolor : e.tickcolor, + ); + }) + .style("stroke-width", function (r) { + return ( + h.crispRound( + t, + r.minor ? e.minor.tickwidth : e.tickwidth, + 1, + ) + "px" + ); + }) + .attr("d", r.path) + .style("display", null), + Rt(e, [R]), + o.attr("transform", r.transFn); + }), + (q.drawGrid = function (t, e, r) { + if (((r = r || {}), "sync" !== e.tickmode)) { + var i = e._id + "grid", + a = e.minor && e.minor.showgrid, + o = a + ? r.vals.filter(function (t) { + return t.minor; + }) + : [], + s = e.showgrid + ? r.vals.filter(function (t) { + return !t.minor; + }) + : [], + l = r.counterAxis; + if (l && q.shouldShowZeroLine(t, e, l)) + for ( + var u = "array" === e.tickmode, c = 0; + c < s.length; + c++ + ) { + var p = s[c].x; + if (u ? !p : Math.abs(p) < e.dtick / 100) { + if ( + ((s = s.slice(0, c).concat(s.slice(c + 1))), + !u) + ) + break; + c--; + } + } + e._gw = h.crispRound(t, e.gridwidth, 1); + for ( + var d = a + ? h.crispRound(t, e.minor.gridwidth, 1) + : 0, + v = r.layer, + g = r.minorLayer, + y = 1; + y >= 0; + y-- + ) { + var m = y ? v : g; + if (m) { + var x = m + .selectAll("path." + i) + .data(y ? s : o, Tt); + x.exit().remove(), + x + .enter() + .append("path") + .classed(i, 1) + .classed("crisp", !1 !== r.crisp), + x + .attr("transform", r.transFn) + .attr("d", r.path) + .each(function (t) { + return f.stroke( + n.select(this), + t.minor + ? e.minor.gridcolor + : e.gridcolor || "#ddd", + ); + }) + .style("stroke-dasharray", function (t) { + return h.dashStyle( + t.minor ? e.minor.griddash : e.griddash, + t.minor + ? e.minor.gridwidth + : e.gridwidth, + ); + }) + .style("stroke-width", function (t) { + return (t.minor ? d : e._gw) + "px"; + }) + .style("display", null), + "function" == typeof r.path && + x.attr("d", r.path); + } + } + Rt(e, [D, z]); + } + }), + (q.drawZeroLine = function (t, e, r) { + r = r || r; + var n = e._id + "zl", + i = q.shouldShowZeroLine(t, e, r.counterAxis), + a = r.layer + .selectAll("path." + n) + .data(i ? [{ x: 0, id: e._id }] : []); + a.exit().remove(), + a + .enter() + .append("path") + .classed(n, 1) + .classed("zl", 1) + .classed("crisp", !1 !== r.crisp) + .each(function () { + r.layer.selectAll("path").sort(function (t, e) { + return W(t.id, e.id); + }); + }), + a + .attr("transform", r.transFn) + .attr("d", r.path) + .call(f.stroke, e.zerolinecolor || f.defaultLine) + .style( + "stroke-width", + h.crispRound(t, e.zerolinewidth, e._gw || 1) + + "px", + ) + .style("display", null), + Rt(e, [I]); + }), + (q.drawLabels = function (t, e, r) { + r = r || {}; + var a = t._fullLayout, + o = e._id, + c = o.charAt(0), + f = r.cls || o + "tick", + p = r.vals.filter(function (t) { + return t.text; + }), + d = r.labelFns, + v = r.secondary ? 0 : e.tickangle, + g = (e._prevTickAngles || {})[f], + y = r.layer + .selectAll("g." + f) + .data(e.showticklabels ? p : [], Tt), + m = []; + function x(t, a) { + t.each(function (t) { + var o = n.select(this), + s = o.select(".text-math-group"), + c = d.anchorFn(t, a), + f = + r.transFn.call(o.node(), t) + + (i(a) && 0 != +a + ? " rotate(" + + a + + "," + + d.xFn(t) + + "," + + (d.yFn(t) - t.fontSize / 2) + + ")" + : ""), + p = u.lineCount(o), + v = V * t.fontSize, + g = d.heightFn(t, i(a) ? +a : 0, (p - 1) * v); + if ((g && (f += l(0, g)), s.empty())) { + var y = o.select("text"); + y.attr({ transform: f, "text-anchor": c }), + y.style("opacity", 1), + e._adjustTickLabelsOverflow && + e._adjustTickLabelsOverflow(); + } else { + var m = + h.bBox(s.node()).width * + { end: -0.5, start: 0.5 }[c]; + s.attr("transform", f + l(m, 0)); + } + }); + } + y + .enter() + .append("g") + .classed(f, 1) + .append("text") + .attr("text-anchor", "middle") + .each(function (e) { + var r = n.select(this), + i = t._promises.length; + r + .call(u.positionText, d.xFn(e), d.yFn(e)) + .call(h.font, e.font, e.fontSize, e.fontColor) + .text(e.text) + .call(u.convertToTspans, t), + t._promises[i] + ? m.push( + t._promises.pop().then(function () { + x(r, v); + }), + ) + : x(r, v); + }), + Rt(e, [F]), + y.exit().remove(), + r.repositionOnUpdate && + y.each(function (t) { + n.select(this) + .select("text") + .call(u.positionText, d.xFn(t), d.yFn(t)); + }), + (e._adjustTickLabelsOverflow = function () { + var r = e.ticklabeloverflow; + if (r && "allow" !== r) { + var i = -1 !== r.indexOf("hide"), + o = "x" === e._id.charAt(0), + l = 0, + u = o + ? t._fullLayout.width + : t._fullLayout.height; + if (-1 !== r.indexOf("domain")) { + var c = s.simpleMap(e.range, e.r2l); + (l = e.l2p(c[0]) + e._offset), + (u = e.l2p(c[1]) + e._offset); + } + var f = Math.min(l, u), + p = Math.max(l, u), + d = e.side, + v = 1 / 0, + g = -1 / 0; + for (var m in (y.each(function (t) { + var r = n.select(this); + if (r.select(".text-math-group").empty()) { + var a = h.bBox(r.node()), + s = 0; + o + ? (a.right > p || a.left < f) && (s = 1) + : (a.bottom > p || + a.top + + (e.tickangle ? 0 : t.fontSize / 4) < + f) && + (s = 1); + var l = r.select("text"); + s + ? i && l.style("opacity", 0) + : (l.style("opacity", 1), + (v = + "bottom" === d || "right" === d + ? Math.min(v, o ? a.top : a.left) + : -1 / 0), + (g = + "top" === d || "left" === d + ? Math.max( + g, + o ? a.bottom : a.right, + ) + : 1 / 0)); + } + }), + a._plots)) { + var x = a._plots[m]; + if ( + e._id === x.xaxis._id || + e._id === x.yaxis._id + ) { + var b = o ? x.yaxis : x.xaxis; + b && + ((b["_visibleLabelMin_" + e._id] = v), + (b["_visibleLabelMax_" + e._id] = g)); + } + } + } + }), + (e._hideCounterAxisInsideTickLabels = function (t) { + var r = "x" === e._id.charAt(0), + i = []; + for (var o in a._plots) { + var s = a._plots[o]; + (e._id !== s.xaxis._id && + e._id !== s.yaxis._id) || + i.push(r ? s.yaxis : s.xaxis); + } + i.forEach(function (r, i) { + r && + zt(r) && + (t || [I, z, D, R, F]).forEach(function (t) { + var o = + "tick" === t.K && + "text" === t.L && + "period" === e.ticklabelmode, + s = a._plots[e._mainSubplot]; + (t.K === I.K + ? s.zerolinelayer.selectAll( + "." + e._id + "zl", + ) + : t.K === z.K + ? s.minorGridlayer.selectAll("." + e._id) + : t.K === D.K + ? s.gridlayer.selectAll("." + e._id) + : s[e._id.charAt(0) + "axislayer"] + ).each(function () { + var a = n.select(this); + t.L && (a = a.selectAll(t.L)), + a.each(function (a) { + var s = + e.l2p(o ? wt(a) : a.x) + + e._offset, + l = n.select(this); + s < e["_visibleLabelMax_" + r._id] && + s > e["_visibleLabelMin_" + r._id] + ? l.style("display", "none") + : "tick" !== t.K || + i || + l.style("display", null); + }); + }); + }); + }); + }), + x(y, g + 1 ? g : v); + var b = null; + e._selections && (e._selections[f] = y); + var _ = [ + function () { + return m.length && Promise.all(m); + }, + ]; + e.automargin && + a._redrawFromAutoMarginCount && + 90 === g + ? ((b = 90), + _.push(function () { + x(y, g); + })) + : _.push(function () { + if ( + (x(y, v), + p.length && + "x" === c && + !i(v) && + ("log" !== e.type || + "D" !== String(e.dtick).charAt(0))) + ) { + b = 0; + var t, + n = 0, + a = []; + if ( + (y.each(function (t) { + n = Math.max(n, t.fontSize); + var r = e.l2p(t.x), + i = Mt(this), + o = h.bBox(i.node()); + a.push({ + top: 0, + bottom: 10, + height: 10, + left: r - o.width / 2, + right: r + o.width / 2 + 2, + width: o.width + 2, + }); + }), + ("boundaries" !== e.tickson && + !e.showdividers) || + r.secondary) + ) { + var o = p.length, + l = + Math.abs((p[o - 1].x - p[0].x) * e._m) / + (o - 1), + u = e.ticklabelposition || "", + f = function (t) { + return -1 !== u.indexOf(t); + }, + d = f("top"), + g = f("left"), + m = f("right"), + _ = + f("bottom") || g || d || m + ? (e.tickwidth || 0) + 6 + : 0, + w = + l < 2.5 * n || + "multicategory" === e.type || + "realaxis" === e._name; + for (t = 0; t < a.length - 1; t++) + if (s.bBoxIntersect(a[t], a[t + 1], _)) { + b = w ? 90 : 30; + break; + } + } else { + var T = 2; + for ( + e.ticks && (T += e.tickwidth / 2), t = 0; + t < a.length; + t++ + ) { + var k = p[t].xbnd, + A = a[t]; + if ( + (null !== k[0] && + A.left - e.l2p(k[0]) < T) || + (null !== k[1] && + e.l2p(k[1]) - A.right < T) + ) { + b = 90; + break; + } + } + } + b && x(y, b); + } + }), + e._tickAngles && + _.push(function () { + e._tickAngles[f] = + null === b ? (i(v) ? v : 0) : b; + }); + var w = e._anchorAxis; + w && + w.autorange && + zt(e) && + !Y(a, e._id) && + (a._insideTickLabelsAutorange || + (a._insideTickLabelsAutorange = {}), + (a._insideTickLabelsAutorange[ + w._name + ".autorange" + ] = w.autorange), + _.push(function () { + y.each(function (t, r) { + var n = Mt(this); + n.select(".text-math-group").empty() && + (e._vals[r].bb = h.bBox(n.node())); + }); + })); + var T = s.syncOrAsync(_); + return T && T.then && t._promises.push(T), T; + }), + (q.getPxPosition = function (t, e) { + var r, + n = t._fullLayout._size, + i = e._id.charAt(0), + a = e.side; + return ( + "free" !== e.anchor + ? (r = e._anchorAxis) + : "x" === i + ? (r = { + _offset: n.t + (1 - (e.position || 0)) * n.h, + _length: 0, + }) + : "y" === i && + (r = { + _offset: + n.l + (e.position || 0) * n.w + e._shift, + _length: 0, + }), + "top" === a || "left" === a + ? r._offset + : "bottom" === a || "right" === a + ? r._offset + r._length + : void 0 + ); + }), + (q.shouldShowZeroLine = function (t, e, r) { + var n = s.simpleMap(e.range, e.r2l); + return ( + n[0] * n[1] <= 0 && + e.zeroline && + ("linear" === e.type || "-" === e.type) && + !(e.rangebreaks && e.maskBreaks(0) === P) && + (At(e, 0) || + !(function (t, e, r, n) { + var i = r._mainAxis; + if (i) { + var a = t._fullLayout, + o = e._id.charAt(0), + s = q.counterLetter(e._id), + l = + e._offset + + (Math.abs(n[0]) < Math.abs(n[1]) == + ("x" === o) + ? 0 + : e._length), + u = a._plots[r._mainSubplot]; + if (!(u.mainplotinfo || u).overlays.length) + return p(r); + for ( + var c = q.list(t, s), f = 0; + f < c.length; + f++ + ) { + var h = c[f]; + if (h._mainAxis === i && p(h)) return !0; + } + } + function p(t) { + if (!t.showline || !t.linewidth) return !1; + var r = Math.max( + (t.linewidth + e.zerolinewidth) / 2, + 1, + ); + function n(t) { + return ( + "number" == typeof t && + Math.abs(t - l) < r + ); + } + if ( + n(t._mainLinePosition) || + n(t._mainMirrorPosition) + ) + return !0; + var i = t._linepositions || {}; + for (var a in i) + if (n(i[a][0]) || n(i[a][1])) return !0; + } + })(t, e, r, n) || + (function (t, e) { + for ( + var r = t._fullData, + n = e._mainSubplot, + i = e._id.charAt(0), + a = 0; + a < r.length; + a++ + ) { + var s = r[a]; + if ( + !0 === s.visible && + s.xaxis + s.yaxis === n + ) { + if ( + o.traceIs(s, "bar-like") && + s.orientation === { x: "h", y: "v" }[i] + ) + return !0; + if ( + s.fill && + s.fill.charAt(s.fill.length - 1) === i + ) + return !0; + } + } + return !1; + })(t, e)) + ); + }), + (q.clipEnds = function (t, e) { + return e.filter(function (e) { + return At(t, e.x); + }); + }), + (q.allowAutoMargin = function (t) { + for ( + var e = q.list(t, "", !0), r = 0; + r < e.length; + r++ + ) { + var n = e[r]; + n.automargin && + (a.allowAutoMargin(t, St(n)), + n.mirror && a.allowAutoMargin(t, Et(n))), + o.getComponentMethod( + "rangeslider", + "isVisible", + )(n) && a.allowAutoMargin(t, Lt(n)); + } + }), + (q.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]]), + Ct(u.x, l.x), + Ct(u.y, l.y); + Ct(u.x, [o]), Ct(u.y, [s]); + } else i.push({ x: [o], y: [s] }); + } + } + return i; + })(t, e), + n = 0; + n < r.length; + n++ + ) + Ot(t, r[n].x, r[n].y); + }); + }, + 4322: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(50606).BADNUM, + o = i.isArrayOrTypedArray, + s = i.isDateTime, + l = i.cleanNumber, + u = Math.round; + function c(t, e) { + return e ? n(t) : "number" == typeof t; + } + function f(t) { + return Math.max(1, (t - 1) / 1e3); + } + t.exports = function (t, e, r) { + var i = t, + h = r.noMultiCategory; + if (o(i) && !i.length) return "-"; + if ( + !h && + (function (t) { + return o(t[0]) && o(t[1]); + })(i) + ) + return "multicategory"; + if (h && Array.isArray(i[0])) { + for (var p = [], d = 0; d < i.length; d++) + if (o(i[d])) + for (var v = 0; v < i[d].length; v++) + p.push(i[d][v]); + i = p; + } + if ( + (function (t, e) { + for ( + var r = t.length, + i = f(r), + a = 0, + o = 0, + l = {}, + c = 0; + c < r; + c += i + ) { + var h = t[u(c)], + p = String(h); + l[p] || ((l[p] = 1), s(h, e) && a++, n(h) && o++); + } + return a > 2 * o; + })(i, e) + ) + return "date"; + var g = "strict" !== r.autotypenumbers; + return (function (t, e) { + for ( + var r = t.length, + n = f(r), + i = 0, + o = 0, + s = {}, + c = 0; + c < r; + c += n + ) { + var h = t[u(c)], + p = String(h); + if (!s[p]) { + s[p] = 1; + var d = typeof h; + "boolean" === d + ? o++ + : (e ? l(h) !== a : "number" === d) + ? i++ + : "string" === d && o++; + } + } + return o > 2 * i; + })(i, g) + ? "category" + : (function (t, e) { + for (var r = t.length, n = 0; n < r; n++) + if (c(t[n], e)) return !0; + return !1; + })(i, g) + ? "linear" + : "-"; + }; + }, + 71453: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(73972), + a = r(71828), + o = r(44467), + s = r(85501), + l = r(13838), + u = r(26218), + c = r(38701), + f = r(96115), + h = r(89426), + p = r(15258), + d = r(92128), + v = r(23074), + g = r(21994), + y = r(85555).WEEKDAY_PATTERN, + m = r(85555).HOUR_PATTERN; + function x(t, e, r) { + function i(r, n) { + return a.coerce(t, e, l.rangebreaks, r, n); + } + if (i("enabled")) { + var o = i("bounds"); + if (o && o.length >= 2) { + var s, + u, + c = ""; + if (2 === o.length) + for (s = 0; s < 2; s++) + if ((u = _(o[s]))) { + c = y; + break; + } + var f = i("pattern", c); + if (f === y) + for (s = 0; s < 2; s++) + (u = _(o[s])) && (e.bounds[s] = o[s] = u - 1); + if (f) + for (s = 0; s < 2; s++) + switch (((u = o[s]), f)) { + case y: + if (!n(u)) return void (e.enabled = !1); + if ( + (u = +u) !== Math.floor(u) || + u < 0 || + u >= 7 + ) + return void (e.enabled = !1); + e.bounds[s] = o[s] = u; + break; + case m: + if (!n(u)) return void (e.enabled = !1); + if ((u = +u) < 0 || u > 24) + return void (e.enabled = !1); + e.bounds[s] = o[s] = u; + } + if (!1 === r.autorange) { + var h = r.range; + if (h[0] < h[1]) { + if (o[0] < h[0] && o[1] > h[1]) + return void (e.enabled = !1); + } else if (o[0] > h[0] && o[1] < h[1]) + return void (e.enabled = !1); + } + } else { + var p = i("values"); + if (!p || !p.length) return void (e.enabled = !1); + i("dvalue"); + } + } + } + t.exports = function (t, e, r, n, m) { + var b, + _ = n.letter, + w = n.font || {}, + T = n.splomStash || {}, + k = r("visible", !n.visibleDflt), + A = e._template || {}, + M = e.type || A.type || "-"; + "date" === M && + (i.getComponentMethod("calendars", "handleDefaults")( + t, + e, + "calendar", + n.calendar, + ), + n.noTicklabelmode || (b = r("ticklabelmode"))); + var S = ""; + (n.noTicklabelposition && "multicategory" !== M) || + (S = a.coerce( + t, + e, + { + ticklabelposition: { + valType: "enumerated", + dflt: "outside", + values: + "period" === b + ? ["outside", "inside"] + : "x" === _ + ? [ + "outside", + "inside", + "outside left", + "inside left", + "outside right", + "inside right", + ] + : [ + "outside", + "inside", + "outside top", + "inside top", + "outside bottom", + "inside bottom", + ], + }, + }, + "ticklabelposition", + )), + n.noTicklabeloverflow || + r( + "ticklabeloverflow", + -1 !== S.indexOf("inside") + ? "hide past domain" + : "category" === M || "multicategory" === M + ? "allow" + : "hide past div", + ), + g(e, m), + r("minallowed"), + r("maxallowed"); + var E, + L = r("range"), + C = e.getAutorangeDflt(L, n), + O = r("autorange", C); + !L || + ((null !== L[0] || null !== L[1]) && + ((null !== L[0] && null !== L[1]) || + ("reversed" !== O && !0 !== O)) && + (null === L[0] || + ("min" !== O && "max reversed" !== O)) && + (null === L[1] || + ("max" !== O && "min reversed" !== O))) || + ((L = void 0), + delete e.range, + (e.autorange = !0), + (E = !0)), + E || + (O = r( + "autorange", + (C = e.getAutorangeDflt(L, n)), + )), + O && + (v(r, O, L), + ("linear" !== M && "-" !== M) || r("rangemode")), + e.cleanRange(), + p(t, e, r, n), + "category" === M || n.noHover || r("hoverformat"); + var P = r("color"), + I = P !== l.color.dflt ? P : w.color, + D = T.label || m._dfltTitle[_]; + if ((h(t, e, r, M, n), !k)) return e; + r("title.text", D), + a.coerceFont(r, "title.font", { + family: w.family, + size: a.bigFont(w.size), + color: I, + }), + u(t, e, r, M); + var z = n.hasMinor; + if ( + (z && + (o.newContainer(e, "minor"), + u(t, e, r, M, { isMinor: !0 })), + f(t, e, r, M, n), + c(t, e, r, n), + z) + ) { + var R = n.isMinor; + (n.isMinor = !0), c(t, e, r, n), (n.isMinor = R); + } + d(t, e, r, { + dfltColor: P, + bgColor: n.bgColor, + showGrid: n.showGrid, + hasMinor: z, + attributes: l, + }), + !z || + e.minor.ticks || + e.minor.showgrid || + delete e.minor, + (e.showline || e.ticks) && r("mirror"); + var F, + B = "multicategory" === M; + if ( + (n.noTickson || + ("category" !== M && !B) || + (!e.ticks && !e.showgrid) || + (B && (F = "boundaries"), + "boundaries" === r("tickson", F) && + delete e.ticklabelposition), + B && + r("showdividers") && + (r("dividercolor"), r("dividerwidth")), + "date" === M) + ) + if ( + (s(t, e, { + name: "rangebreaks", + inclusionAttr: "enabled", + handleItemDefaults: x, + }), + e.rangebreaks.length) + ) { + for (var N = 0; N < e.rangebreaks.length; N++) + if (e.rangebreaks[N].pattern === y) { + e._hasDayOfWeekBreaks = !0; + break; + } + if ( + (g(e, m), m._has("scattergl") || m._has("splom")) + ) + for (var j = 0; j < n.data.length; j++) { + var U = n.data[j]; + ("scattergl" !== U.type && + "splom" !== U.type) || + ((U.visible = !1), + a.warn( + U.type + + " traces do not work on axes with rangebreaks. Setting trace " + + U.index + + " to `visible: false`.", + )); + } + } else delete e.rangebreaks; + return e; + }; + var b = { + sun: 1, + mon: 2, + tue: 3, + wed: 4, + thu: 5, + fri: 6, + sat: 7, + }; + function _(t) { + if ("string" == typeof t) + return b[t.substr(0, 3).toLowerCase()]; + } + }, + 12663: function (t, e, r) { + "use strict"; + var n = r(31562), + i = n.FORMAT_LINK, + a = n.DATE_FORMAT_LINK; + function o(t, e) { + return [ + "Sets the " + + t + + " formatting rule" + + (e ? "for `" + e + "` " : ""), + "using d3 formatting mini-languages", + "which are very similar to those in Python. For numbers, see: " + + i + + ".", + ].join(" "); + } + function s(t, e) { + return ( + o(t, e) + + [ + " And for dates see: " + a + ".", + "We add two items to d3's date formatter:", + "*%h* for half of the year as a decimal number as well as", + "*%{n}f* for fractional seconds", + "with n digits. For example, *2016-10-13 09:15:23.456* with tickformat", + "*%H~%M~%S.%2f* would display *09~15~23.46*", + ].join(" ") + ); + } + t.exports = { + axisHoverFormat: function (t, e) { + return { + valType: "string", + dflt: "", + editType: "none", + description: + (e ? o : s)("hover text", t) + + [ + "By default the values are formatted using " + + (e + ? "generic number format" + : "`" + t + "axis.hoverformat`") + + ".", + ].join(" "), + }; + }, + descriptionOnlyNumbers: o, + descriptionWithDates: s, + }; + }, + 41675: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(85555); + function a(t, e) { + if (e && e.length) + for (var r = 0; r < e.length; r++) + if (e[r][t]) return !0; + return !1; + } + (e.id2name = function (t) { + if ("string" == typeof t && t.match(i.AX_ID_PATTERN)) { + var e = t.split(" ")[0].substr(1); + return ( + "1" === e && (e = ""), t.charAt(0) + "axis" + e + ); + } + }), + (e.name2id = function (t) { + if (t.match(i.AX_NAME_PATTERN)) { + var e = t.substr(5); + return "1" === e && (e = ""), t.charAt(0) + e; + } + }), + (e.cleanId = function (t, e, r) { + var n = /( domain)$/.test(t); + if ( + "string" == typeof t && + t.match(i.AX_ID_PATTERN) && + (!e || t.charAt(0) === e) && + (!n || r) + ) { + var a = t + .split(" ")[0] + .substr(1) + .replace(/^0+/, ""); + return ( + "1" === a && (a = ""), + t.charAt(0) + a + (n && r ? " domain" : "") + ); + } + }), + (e.list = function (t, r, n) { + var i = t._fullLayout; + if (!i) return []; + var a, + o = e.listIds(t, r), + s = new Array(o.length); + for (a = 0; a < o.length; a++) { + var l = o[a]; + s[a] = i[l.charAt(0) + "axis" + l.substr(1)]; + } + if (!n) { + var u = i._subplots.gl3d || []; + for (a = 0; a < u.length; a++) { + var c = i[u[a]]; + r + ? s.push(c[r + "axis"]) + : s.push(c.xaxis, c.yaxis, c.zaxis); + } + } + return s; + }), + (e.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); + }), + (e.getFromId = function (t, r, n) { + var i = t._fullLayout; + return ( + (r = + void 0 === r || "string" != typeof r + ? r + : r.replace(" domain", "")), + "x" === n + ? (r = r.replace(/y[0-9]*/, "")) + : "y" === n && (r = r.replace(/x[0-9]*/, "")), + i[e.id2name(r)] + ); + }), + (e.getFromTrace = function (t, r, i) { + var a = t._fullLayout, + o = null; + if (n.traceIs(r, "gl3d")) { + var s = r.scene; + "scene" === s.substr(0, 5) && + (o = a[s][i + "axis"]); + } else o = e.getFromId(t, r[i + "axis"] || i); + return o; + }), + (e.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); + }), + (e.ref2id = function (t) { + return !!/^[xyz]/.test(t) && t.split(" ")[0]; + }), + (e.isLinked = function (t, e) { + return ( + a(e, t._axisMatchGroups) || + a(e, t._axisConstraintGroups) + ); + }); + }, + 15258: function (t) { + "use strict"; + t.exports = function (t, e, r, n) { + if ("category" === e.type) { + var i, + a = t.categoryarray, + o = Array.isArray(a) && a.length > 0; + o && (i = "array"); + var s, + l = r("categoryorder", i); + "array" === l && (s = r("categoryarray")), + o || + "array" !== l || + (l = e.categoryorder = "trace"), + "trace" === l + ? (e._initialCategories = []) + : "array" === l + ? (e._initialCategories = s.slice()) + : ((s = (function (t, e) { + var r, + n, + i, + a = e.dataAttr || t._id.charAt(0), + o = {}; + if (e.axData) r = e.axData; + else + for ( + r = [], n = 0; + n < e.data.length; + n++ + ) { + var s = e.data[n]; + s[a + "axis"] === t._id && r.push(s); + } + for (n = 0; n < r.length; n++) { + var l = r[n][a]; + for (i = 0; i < l.length; i++) { + var u = l[i]; + null != u && (o[u] = 1); + } + } + return Object.keys(o); + })(e, n).sort()), + "category ascending" === l + ? (e._initialCategories = s) + : "category descending" === l && + (e._initialCategories = s.reverse())); + } + }; + }, + 66287: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(50606), + o = a.ONEDAY, + s = a.ONEWEEK; + (e.dtick = function (t, e) { + var r = "log" === e, + i = "date" === e, + a = "category" === e, + s = i ? o : 1; + if (!t) return s; + if (n(t)) + return (t = Number(t)) <= 0 + ? s + : a + ? Math.max(1, Math.round(t)) + : i + ? Math.max(0.1, t) + : t; + if ("string" != typeof t || (!i && !r)) return s; + var l = t.charAt(0), + u = t.substr(1); + return (u = n(u) ? Number(u) : 0) <= 0 || + !( + (i && "M" === l && u === Math.round(u)) || + (r && "L" === l) || + (r && "D" === l && (1 === u || 2 === u)) + ) + ? s + : t; + }), + (e.tick0 = function (t, e, r, a) { + return "date" === e + ? i.cleanDate(t, i.dateTick0(r, a % s == 0 ? 1 : 0)) + : "D1" !== a && "D2" !== a + ? n(t) + ? Number(t) + : 0 + : void 0; + }); + }, + 85555: function (t, e, r) { + "use strict"; + var n = r(30587).counter; + t.exports = { + idRegex: { + x: n("x", "( domain)?"), + y: n("y", "( domain)?"), + }, + attrRegex: n("[xy]axis"), + xAxisMatch: n("xaxis"), + yAxisMatch: n("yaxis"), + AX_ID_PATTERN: /^[xyz][0-9]*( domain)?$/, + AX_NAME_PATTERN: /^[xyz]axis[0-9]*$/, + SUBPLOT_PATTERN: /^x([0-9]*)y([0-9]*)$/, + HOUR_PATTERN: "hour", + WEEKDAY_PATTERN: "day of week", + MINDRAG: 8, + MINZOOM: 20, + DRAGGERSIZE: 20, + REDRAWDELAY: 50, + DFLTRANGEX: [-1, 6], + DFLTRANGEY: [-1, 4], + traceLayerClasses: [ + "imagelayer", + "heatmaplayer", + "contourcarpetlayer", + "contourlayer", + "funnellayer", + "waterfalllayer", + "barlayer", + "carpetlayer", + "violinlayer", + "boxlayer", + "ohlclayer", + "scattercarpetlayer", + "scatterlayer", + ], + clipOnAxisFalseQuery: [ + ".scatterlayer", + ".barlayer", + ".funnellayer", + ".waterfalllayer", + ], + layerValue2layerClass: { + "above traces": "above", + "below traces": "below", + }, + }; + }, + 99082: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(71739), + a = r(41675).id2name, + o = r(13838), + s = r(42449), + l = r(21994), + u = r(50606).ALMOST_EQUAL, + c = r(18783).FROM_BL; + function f(t, e, r) { + var i = r.axIds, + s = r.layoutOut, + l = r.hasImage, + u = s._axisConstraintGroups, + c = s._axisMatchGroups, + f = e._id, + v = f.charAt(0), + g = ((s._splomAxes || {})[v] || {})[f] || {}, + y = e._id, + m = "x" === y.charAt(0); + function x(r, i) { + return n.coerce(t, e, o, r, i); + } + (e._matchGroup = null), + (e._constraintGroup = null), + x("constrain", l ? "domain" : "range"), + n.coerce( + t, + e, + { + constraintoward: { + valType: "enumerated", + values: m + ? ["left", "center", "right"] + : ["bottom", "middle", "top"], + dflt: m ? "center" : "middle", + }, + }, + "constraintoward", + ); + var b, + _, + w = e.type, + T = []; + for (b = 0; b < i.length; b++) + (_ = i[b]) !== y && s[a(_)].type === w && T.push(_); + var k = p(u, y); + if (k) { + var A = []; + for (b = 0; b < T.length; b++) + k[(_ = T[b])] || A.push(_); + T = A; + } + var M, + S, + E = T.length; + E && + (t.matches || g.matches) && + (M = n.coerce( + t, + e, + { + matches: { + valType: "enumerated", + values: T, + dflt: + -1 !== T.indexOf(g.matches) + ? g.matches + : void 0, + }, + }, + "matches", + )); + var L = l && !m ? e.anchor : void 0; + if ( + (E && + !M && + (t.scaleanchor || L) && + (S = n.coerce( + t, + e, + { + scaleanchor: { + valType: "enumerated", + values: T.concat([!1]), + }, + }, + "scaleanchor", + L, + )), + M) + ) { + e._matchGroup = d(c, y, M, 1); + var C = s[a(M)], + O = h(s, e) / h(s, C); + m !== ("x" === M.charAt(0)) && + (O = (m ? "x" : "y") + O), + d(u, y, M, O); + } else + t.matches && + -1 !== i.indexOf(t.matches) && + n.warn( + "ignored " + + e._name + + '.matches: "' + + t.matches + + '" to avoid an infinite loop', + ); + if (S) { + var P = x("scaleratio"); + P || (P = e.scaleratio = 1), d(u, y, S, P); + } else + t.scaleanchor && + -1 !== i.indexOf(t.scaleanchor) && + n.warn( + "ignored " + + e._name + + '.scaleanchor: "' + + t.scaleanchor + + '" to avoid either an infinite loop and possibly inconsistent scaleratios, or because this axis declares a *matches* constraint.', + ); + } + function h(t, e) { + var r = e.domain; + return ( + r || (r = t[a(e.overlaying)].domain), r[1] - r[0] + ); + } + function p(t, e) { + for (var r = 0; r < t.length; r++) + if (t[r][e]) return t[r]; + return null; + } + function d(t, e, r, n) { + var i, + a, + o, + s, + l, + u = p(t, e); + null === u + ? (((u = {})[e] = 1), (l = t.length), t.push(u)) + : (l = t.indexOf(u)); + var c = Object.keys(u); + for (i = 0; i < t.length; i++) + if (((o = t[i]), i !== l && o[r])) { + var f = o[r]; + for (a = 0; a < c.length; a++) + o[(s = c[a])] = v(f, v(n, u[s])); + return void t.splice(l, 1); + } + if (1 !== n) + for (a = 0; a < c.length; a++) { + var h = c[a]; + u[h] = v(n, u[h]); + } + u[r] = 1; + } + function v(t, e) { + var r, + n, + i = "", + a = ""; + "string" == typeof t && + ((r = (i = t.match(/^[xy]*/)[0]).length), + (t = +t.substr(r))), + "string" == typeof e && + ((n = (a = e.match(/^[xy]*/)[0]).length), + (e = +e.substr(n))); + var o = t * e; + return r || n + ? r && n && i.charAt(0) !== a.charAt(0) + ? r === n + ? o + : (r > n ? i.substr(n) : a.substr(r)) + o + : i + a + t * e + : o; + } + function g(t, e) { + for ( + var r = e._size, + n = r.h / r.w, + i = {}, + a = Object.keys(t), + o = 0; + o < a.length; + o++ + ) { + var s = a[o], + l = t[s]; + if ("string" == typeof l) { + var u = l.match(/^[xy]*/)[0], + c = u.length; + l = +l.substr(c); + for ( + var f = "y" === u.charAt(0) ? n : 1 / n, h = 0; + h < c; + h++ + ) + l *= f; + } + i[s] = l; + } + return i; + } + function y(t, e) { + var r = t._inputDomain, + n = c[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]), + t.setScale(); + } + (e.handleDefaults = function (t, e, r) { + var i, + o, + s, + u, + c, + h, + p, + d, + v = r.axIds, + g = r.axHasImage, + y = (e._axisConstraintGroups = []), + m = (e._axisMatchGroups = []); + for (i = 0; i < v.length; i++) + f((c = t[(u = a(v[i]))]), (h = e[u]), { + axIds: v, + layoutOut: e, + hasImage: g[u], + }); + function x(t, r) { + for (i = 0; i < t.length; i++) + for (s in (o = t[i])) e[a(s)][r] = o; + } + for (x(m, "_matchGroup"), i = 0; i < y.length; i++) + for (s in (o = y[i])) + if ((h = e[a(s)]).fixedrange) { + for (var b in o) { + var _ = a(b); + !1 === (t[_] || {}).fixedrange && + n.warn( + "fixedrange was specified as false for axis " + + _ + + " but was overridden because another axis in its constraint group has fixedrange true", + ), + (e[_].fixedrange = !0); + } + break; + } + for (i = 0; i < y.length; ) { + for (s in (o = y[i])) { + (h = e[a(s)])._matchGroup && + Object.keys(h._matchGroup).length === + Object.keys(o).length && + (y.splice(i, 1), i--); + break; + } + i++; + } + x(y, "_constraintGroup"); + var w = [ + "constrain", + "range", + "autorange", + "rangemode", + "rangebreaks", + "categoryorder", + "categoryarray", + ], + T = !1, + k = !1; + function A() { + (d = h[p]), + "rangebreaks" === p && (k = h._hasDayOfWeekBreaks); + } + for (i = 0; i < m.length; i++) { + o = m[i]; + for (var M = 0; M < w.length; M++) { + var S; + for (s in ((p = w[M]), (d = null), o)) + if (((c = t[(u = a(s))]), (h = e[u]), p in h)) { + if (!h.matches && ((S = h), p in c)) { + A(); + break; + } + null === d && p in c && A(); + } + if ( + ("range" === p && + d && + c.range && + 2 === c.range.length && + null !== c.range[0] && + null !== c.range[1] && + (T = !0), + "autorange" === p && null === d && T && (d = !1), + null === d && p in S && (d = S[p]), + null !== d) + ) + for (s in o) + ((h = e[a(s)])[p] = + "range" === p ? d.slice() : d), + "rangebreaks" === p && + ((h._hasDayOfWeekBreaks = k), l(h, e)); + } + } + }), + (e.enforce = function (t) { + var e, + r, + n, + o, + l, + c, + f, + h, + p = t._fullLayout, + d = p._axisConstraintGroups || []; + for (e = 0; e < d.length; e++) { + n = g(d[e], p); + var v = Object.keys(n), + m = 1 / 0, + x = 0, + b = 1 / 0, + _ = {}, + w = {}, + T = !1; + for (r = 0; r < v.length; r++) + (w[(o = v[r])] = l = p[a(o)]), + l._inputDomain + ? (l.domain = l._inputDomain.slice()) + : (l._inputDomain = l.domain.slice()), + l._inputRange || + (l._inputRange = l.range.slice()), + l.setScale(), + (_[o] = c = Math.abs(l._m) / n[o]), + (m = Math.min(m, c)), + ("domain" !== l.constrain && + l._constraintShrinkable) || + (b = Math.min(b, c)), + delete l._constraintShrinkable, + (x = Math.max(x, c)), + "domain" === l.constrain && (T = !0); + if (!(m > u * x) || T) + for (r = 0; r < v.length; r++) + if ( + ((c = _[(o = v[r])]), + (f = (l = w[o]).constrain), + c !== b || "domain" === f) + ) + if (((h = c / b), "range" === f)) s(l, h); + else { + var k = l._inputDomain, + A = + (l.domain[1] - l.domain[0]) / + (k[1] - k[0]), + M = + (l.r2l(l.range[1]) - + l.r2l(l.range[0])) / + (l.r2l(l._inputRange[1]) - + l.r2l(l._inputRange[0])); + if ((h /= A) * M < 1) { + (l.domain = l._input.domain = k.slice()), + s(l, h); + continue; + } + if ( + (M < 1 && + ((l.range = l._input.range = + l._inputRange.slice()), + (h *= M)), + l.autorange) + ) { + var S = l.r2l(l.range[0]), + E = l.r2l(l.range[1]), + L = (S + E) / 2, + C = L, + O = L, + P = Math.abs(E - L), + I = L - P * h * 1.0001, + D = L + P * h * 1.0001, + z = i.makePadFn(p, l, 0), + R = i.makePadFn(p, l, 1); + y(l, h); + var F, + B, + N = Math.abs(l._m), + j = i.concatExtremes(t, l), + U = j.min, + V = j.max; + for (B = 0; B < U.length; B++) + (F = U[B].val - z(U[B]) / N) > I && + F < C && + (C = F); + for (B = 0; B < V.length; B++) + (F = V[B].val + R(V[B]) / N) < D && + F > O && + (O = F); + (h /= (O - C) / (2 * P)), + (C = l.l2r(C)), + (O = l.l2r(O)), + (l.range = l._input.range = + S < E ? [C, O] : [O, C]); + } + y(l, h); + } + } + }), + (e.getAxisGroup = function (t, e) { + for ( + var r = t._axisMatchGroups, n = 0; + n < r.length; + n++ + ) + if (r[n][e]) return "g" + n; + return e; + }), + (e.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); + } + }); + }, + 29323: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = i.numberFormat, + o = r(84267), + s = r(38520), + l = r(73972), + u = i.strTranslate, + c = r(63893), + f = r(7901), + h = r(91424), + p = r(30211), + d = r(89298), + v = r(6964), + g = r(28569), + y = r(64505), + m = y.selectingOrDrawing, + x = y.freeMode, + b = r(18783).FROM_TL, + _ = r(33306), + w = r(61549).redrawReglTraces, + T = r(74875), + k = r(41675).getFromId, + A = r(47322).prepSelect, + M = r(47322).clearOutline, + S = r(47322).selectOnClick, + E = r(42449), + L = r(85555), + C = L.MINDRAG, + O = L.MINZOOM, + P = !0; + function I(t, e, r, n) { + var a = i.ensureSingle(t.draglayer, e, r, function (e) { + e.classed("drag", !0) + .style({ fill: "transparent", "stroke-width": 0 }) + .attr("data-subplot", t.id); + }); + return a.call(v, n), a.node(); + } + function D(t, e, r, i, a, o, s) { + var l = I(t, "rect", e, r); + return n.select(l).call(h.setRect, i, a, o, s), l; + } + function z(t, e) { + for (var r = 0; r < t.length; r++) + if (!t[r].fixedrange) return e; + return ""; + } + function R(t, e, r, n, i) { + for (var a = 0; a < t.length; a++) { + var o = t[a]; + if (!o.fixedrange) + if (o.rangebreaks) { + var s = "y" === o._id.charAt(0), + l = s ? 1 - e : e, + u = s ? 1 - r : r; + (n[o._name + ".range[0]"] = o.l2r( + o.p2l(l * o._length), + )), + (n[o._name + ".range[1]"] = o.l2r( + o.p2l(u * o._length), + )); + } else { + var c = o._rl[0], + f = o._rl[1] - c; + (n[o._name + ".range[0]"] = o.l2r(c + f * e)), + (n[o._name + ".range[1]"] = o.l2r(c + f * r)); + } + } + if (i && i.length) { + var h = (e + (1 - r)) / 2; + R(i, h, 1 - h, n, []); + } + } + function F(t, e) { + for (var r = 0; r < t.length; r++) { + var n = t[r]; + if (!n.fixedrange) { + if (n.rangebreaks) { + var i = n._length, + a = + (n.p2l(0 + e) - + n.p2l(0) + + (n.p2l(i + e) - n.p2l(i))) / + 2; + n.range = [ + n.l2r(n._rl[0] - a), + n.l2r(n._rl[1] - a), + ]; + } else + n.range = [ + n.l2r(n._rl[0] - e / n._m), + n.l2r(n._rl[1] - e / n._m), + ]; + n.limitRange && n.limitRange(); + } + } + } + function B(t) { + return ( + 1 - + (t >= 0 + ? Math.min(t, 0.9) + : 1 / (1 / Math.max(t, -0.3) + 3.222)) + ); + } + function N(t, e, r, n, i) { + return t + .append("path") + .attr("class", "zoombox") + .style({ + fill: + e > 0.2 ? "rgba(0,0,0,0)" : "rgba(255,255,255,0)", + "stroke-width": 0, + }) + .attr("transform", u(r, n)) + .attr("d", i + "Z"); + } + function j(t, e, r) { + return t + .append("path") + .attr("class", "zoombox-corners") + .style({ + fill: f.background, + stroke: f.defaultLine, + "stroke-width": 1, + opacity: 0, + }) + .attr("transform", u(e, r)) + .attr("d", "M0,0Z"); + } + function U(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", + ), + V(t, e, i, a); + } + function V(t, e, r, n) { + r || + (t + .transition() + .style( + "fill", + n > 0.2 + ? "rgba(0,0,0,0.4)" + : "rgba(255,255,255,0.3)", + ) + .duration(200), + e.transition().style("opacity", 1).duration(200)); + } + function H(t) { + n.select(t) + .selectAll( + ".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners", + ) + .remove(); + } + function q(t) { + P && + t.data && + t._context.showTips && + (i.notifier( + i._(t, "Double-click to zoom back out"), + "long", + ), + (P = !1)); + } + function G(t) { + var e = Math.floor( + Math.min(t.b - t.t, t.r - t.l, O) / 2, + ); + return ( + "M" + + (t.l - 3.5) + + "," + + (t.t - 0.5 + e) + + "h3v" + + -e + + "h" + + e + + "v-3h-" + + (e + 3) + + "ZM" + + (t.r + 3.5) + + "," + + (t.t - 0.5 + e) + + "h-3v" + + -e + + "h" + + -e + + "v-3h" + + (e + 3) + + "ZM" + + (t.r + 3.5) + + "," + + (t.b + 0.5 - e) + + "h-3v" + + e + + "h" + + -e + + "v3h" + + (e + 3) + + "ZM" + + (t.l - 3.5) + + "," + + (t.b + 0.5 - e) + + "h3v" + + e + + "h" + + e + + "v3h-" + + (e + 3) + + "Z" + ); + } + function Z(t, e, r, n, a) { + for ( + var o, + s, + l, + u, + c = !1, + f = {}, + h = {}, + p = (a || {}).xaHash, + d = (a || {}).yaHash, + v = 0; + v < e.length; + v++ + ) { + var g = e[v]; + for (o in r) + if (g[o]) { + for (l in g) + (a && (p[l] || d[l])) || + ("x" === l.charAt(0) ? r : n)[l] || + (f[l] = o); + for (s in n) + (a && (p[s] || d[s])) || !g[s] || (c = !0); + } + for (s in n) + if (g[s]) + for (u in g) + (a && (p[u] || d[u])) || + ("x" === u.charAt(0) ? r : n)[u] || + (h[u] = s); + } + c && (i.extendFlat(f, h), (h = {})); + var y = {}, + m = []; + for (l in f) { + var x = k(t, l); + m.push(x), (y[x._id] = x); + } + var b = {}, + _ = []; + for (u in h) { + var w = k(t, u); + _.push(w), (b[w._id] = w); + } + return { + xaHash: y, + yaHash: b, + xaxes: m, + yaxes: _, + xLinks: f, + yLinks: h, + isSubplotConstrained: c, + }; + } + function W(t, e) { + if (s) { + 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) + : t.isAddedWheelEvent || + ((t.isAddedWheelEvent = !0), + t.addEventListener("wheel", e, { passive: !1 })); + } + function Y(t) { + var e = []; + for (var r in t) e.push(t[r]); + return e; + } + t.exports = { + makeDragBox: function (t, e, r, s, u, f, v, y) { + var P, + I, + V, + X, + J, + K, + $, + Q, + tt, + et, + rt, + nt, + it, + at, + ot, + st, + lt, + ut, + ct, + ft, + ht, + pt, + dt, + vt = t._fullLayout._zoomlayer, + gt = v + y === "nsew", + yt = 1 === (v + y).length; + function mt() { + if ( + ((P = e.xaxis), + (I = e.yaxis), + (tt = P._length), + (et = I._length), + ($ = P._offset), + (Q = I._offset), + ((V = {})[P._id] = P), + ((X = {})[I._id] = I), + v && y) + ) + for ( + var r = e.overlays, n = 0; + n < r.length; + n++ + ) { + var i = r[n].xaxis; + V[i._id] = i; + var a = r[n].yaxis; + X[a._id] = a; + } + (J = Y(V)), + (K = Y(X)), + (it = z(J, y)), + (at = z(K, v)), + (ot = !at && !it), + (nt = Z(t, t._fullLayout._axisMatchGroups, V, X)); + var o = + (rt = Z( + t, + t._fullLayout._axisConstraintGroups, + V, + X, + nt, + )).isSubplotConstrained || + nt.isSubplotConstrained; + (st = y || o), (lt = v || o); + var s = t._fullLayout; + (ut = s._has("scattergl")), + (ct = s._has("splom")), + (ft = s._has("svg")); + } + (r += e.yaxis._shift), mt(); + var xt = (function (t, e, r) { + return t + ? "nsew" === t + ? r + ? "" + : "pan" === e + ? "move" + : "crosshair" + : t.toLowerCase() + "-resize" + : "pointer"; + })(at + it, t._fullLayout.dragmode, gt), + bt = D(e, v + y + "drag", xt, r, s, u, f); + if (ot && !gt) + return ( + (bt.onmousedown = null), + (bt.style.pointerEvents = "none"), + bt + ); + var _t, + wt, + Tt, + kt, + At, + Mt, + St, + Et, + Lt, + Ct, + Ot = { element: bt, gd: t, plotinfo: e }; + function Pt() { + (Ot.plotinfo.selection = !1), M(t); + } + function It(t, r) { + var i = Ot.gd; + if (i._fullLayout._activeShapeIndex >= 0) + i._fullLayout._deactivateShape(i); + else { + var o = i._fullLayout.clickmode; + if ((H(i), 2 !== t || yt || qt(), gt)) + o.indexOf("select") > -1 && + S(r, i, J, K, e.id, Ot), + o.indexOf("event") > -1 && + p.click(i, r, e.id); + else if (1 === t && yt) { + var s = v ? I : P, + u = "s" === v || "w" === y ? 0 : 1, + f = s._name + ".range[" + u + "]", + h = (function (t, e) { + var r, + n = t.range[e], + i = Math.abs(n - t.range[1 - e]); + return "date" === t.type + ? n + : "log" === t.type + ? ((r = + Math.ceil( + Math.max( + 0, + -Math.log(i) / Math.LN10, + ), + ) + 3), + a("." + r + "g")(Math.pow(10, n))) + : ((r = + Math.floor( + Math.log(Math.abs(n)) / Math.LN10, + ) - + Math.floor(Math.log(i) / Math.LN10) + + 4), + a("." + String(r) + "g")(n)); + })(s, u), + d = "left", + g = "middle"; + if (s.fixedrange) return; + v + ? ((g = "n" === v ? "top" : "bottom"), + "right" === s.side && (d = "right")) + : "e" === y && (d = "right"), + i._context.showAxisRangeEntryBoxes && + n + .select(bt) + .call(c.makeEditable, { + gd: i, + immediate: !0, + background: i._fullLayout.paper_bgcolor, + text: String(h), + fill: s.tickfont + ? s.tickfont.color + : "#444", + horizontalAlign: d, + verticalAlign: g, + }) + .on("edit", function (t) { + var e = s.d2r(t); + void 0 !== e && + l.call("_guiRelayout", i, f, e); + }); + } + } + } + function Dt(e, r) { + if (t._transitioningWithDuration) return !1; + var n = Math.max(0, Math.min(tt, pt * e + _t)), + i = Math.max(0, Math.min(et, dt * r + wt)), + a = Math.abs(n - _t), + o = Math.abs(i - wt); + function s() { + (St = ""), + (Tt.r = Tt.l), + (Tt.t = Tt.b), + Lt.attr("d", "M0,0Z"); + } + if ( + ((Tt.l = Math.min(_t, n)), + (Tt.r = Math.max(_t, n)), + (Tt.t = Math.min(wt, i)), + (Tt.b = Math.max(wt, i)), + rt.isSubplotConstrained) + ) + a > O || o > O + ? ((St = "xy"), + a / tt > o / et + ? ((o = (a * et) / tt), + wt > i + ? (Tt.t = wt - o) + : (Tt.b = wt + o)) + : ((a = (o * tt) / et), + _t > n + ? (Tt.l = _t - a) + : (Tt.r = _t + a)), + Lt.attr("d", G(Tt))) + : s(); + else if (nt.isSubplotConstrained) + if (a > O || o > O) { + St = "xy"; + var l = Math.min(Tt.l / tt, (et - Tt.b) / et), + u = Math.max(Tt.r / tt, (et - Tt.t) / et); + (Tt.l = l * tt), + (Tt.r = u * tt), + (Tt.b = (1 - l) * et), + (Tt.t = (1 - u) * et), + Lt.attr("d", G(Tt)); + } else s(); + else + !at || o < Math.min(Math.max(0.6 * a, C), O) + ? a < C || !it + ? s() + : ((Tt.t = 0), + (Tt.b = et), + (St = "x"), + Lt.attr( + "d", + (function (t, e) { + return ( + "M" + + (t.l - 0.5) + + "," + + (e - O - 0.5) + + "h-3v" + + (2 * O + 1) + + "h3ZM" + + (t.r + 0.5) + + "," + + (e - O - 0.5) + + "h3v" + + (2 * O + 1) + + "h-3Z" + ); + })(Tt, wt), + )) + : !it || a < Math.min(0.6 * o, O) + ? ((Tt.l = 0), + (Tt.r = tt), + (St = "y"), + Lt.attr( + "d", + (function (t, e) { + return ( + "M" + + (e - O - 0.5) + + "," + + (t.t - 0.5) + + "v-3h" + + (2 * O + 1) + + "v3ZM" + + (e - O - 0.5) + + "," + + (t.b + 0.5) + + "v3h" + + (2 * O + 1) + + "v-3Z" + ); + })(Tt, _t), + )) + : ((St = "xy"), Lt.attr("d", G(Tt))); + (Tt.w = Tt.r - Tt.l), + (Tt.h = Tt.b - Tt.t), + St && (Ct = !0), + (t._dragged = Ct), + U(Et, Lt, Tt, At, Mt, kt), + zt(), + t.emit("plotly_relayouting", ht), + (Mt = !0); + } + function zt() { + (ht = {}), + ("xy" !== St && "x" !== St) || + (R(J, Tt.l / tt, Tt.r / tt, ht, rt.xaxes), + Vt("x", ht)), + ("xy" !== St && "y" !== St) || + (R( + K, + (et - Tt.b) / et, + (et - Tt.t) / et, + ht, + rt.yaxes, + ), + Vt("y", ht)); + } + function Rt() { + zt(), H(t), Gt(), q(t); + } + (Ot.prepFn = function (e, r, n) { + var a = Ot.dragmode, + s = t._fullLayout.dragmode; + s !== a && (Ot.dragmode = s), + mt(), + (pt = t._fullLayout._invScaleX), + (dt = t._fullLayout._invScaleY), + ot || + (gt + ? e.shiftKey + ? "pan" === s + ? (s = "zoom") + : m(s) || (s = "pan") + : e.ctrlKey && (s = "pan") + : (s = "pan")), + x(s) ? (Ot.minDrag = 1) : (Ot.minDrag = void 0), + m(s) + ? ((Ot.xaxes = J), + (Ot.yaxes = K), + A(e, r, n, Ot, s)) + : ((Ot.clickFn = It), + m(a) && Pt(), + ot || + ("zoom" === s + ? ((Ot.moveFn = Dt), + (Ot.doneFn = Rt), + (Ot.minDrag = 1), + (function (e, r, n) { + var a = bt.getBoundingClientRect(); + (_t = r - a.left), + (wt = n - a.top), + t._fullLayout._calcInverseTransform( + t, + ); + var s = i.apply3DTransform( + t._fullLayout._invTransform, + )(_t, wt); + (_t = s[0]), + (wt = s[1]), + (Tt = { + l: _t, + r: _t, + w: 0, + t: wt, + b: wt, + h: 0, + }), + (kt = t._hmpixcount + ? t._hmlumcount / t._hmpixcount + : o( + t._fullLayout.plot_bgcolor, + ).getLuminance()), + (Mt = !1), + (St = "xy"), + (Ct = !1), + (Et = N( + vt, + kt, + $, + Q, + (At = + "M0,0H" + + tt + + "V" + + et + + "H0V0"), + )), + (Lt = j(vt, $, Q)); + })(0, r, n)) + : "pan" === s && + ((Ot.moveFn = Ut), (Ot.doneFn = Gt)))), + (t._fullLayout._redrag = function () { + var e = t._dragdata; + if (e && e.element === bt) { + var r = t._fullLayout.dragmode; + m(r) || + (mt(), + Zt([0, 0, tt, et]), + Ot.moveFn(e.dx, e.dy)); + } + }); + }), + g.init(Ot); + var Ft = [0, 0, tt, et], + Bt = null, + Nt = L.REDRAWDELAY, + jt = e.mainplot + ? t._fullLayout._plots[e.mainplot] + : e; + function Ut(e, r) { + if ( + ((e *= pt), + (r *= dt), + !t._transitioningWithDuration) + ) { + if ( + ((t._fullLayout._replotting = !0), + "ew" === it || "ns" === at) + ) { + var n = it ? -e : 0, + i = at ? -r : 0; + if (nt.isSubplotConstrained) { + if (it && at) { + var a = (e / tt - r / et) / 2; + (n = -(e = a * tt)), (i = -(r = -a * et)); + } + at + ? (n = (-i * tt) / et) + : (i = (-n * et) / tt); + } + return ( + it && (F(J, e), Vt("x")), + at && (F(K, r), Vt("y")), + Zt([n, i, tt, et]), + Ht(), + void t.emit("plotly_relayouting", ht) + ); + } + var o, + s, + l = ("w" === it) == ("n" === at) ? 1 : -1; + if ( + it && + at && + (rt.isSubplotConstrained || + nt.isSubplotConstrained) + ) { + var u = (e / tt + (l * r) / et) / 2; + (e = u * tt), (r = l * u * et); + } + if ( + ("w" === it + ? (e = p(J, 0, e)) + : "e" === it + ? (e = p(J, 1, -e)) + : it || (e = 0), + "n" === at + ? (r = p(K, 1, r)) + : "s" === at + ? (r = p(K, 0, -r)) + : at || (r = 0), + (o = "w" === it ? e : 0), + (s = "n" === at ? r : 0), + (rt.isSubplotConstrained && + !nt.isSubplotConstrained) || + (nt.isSubplotConstrained && + it && + at && + l > 0)) + ) { + var c; + if ( + nt.isSubplotConstrained || + (!it && 1 === at.length) + ) { + for (c = 0; c < J.length; c++) + (J[c].range = J[c]._r.slice()), + E(J[c], 1 - r / et); + o = (e = (r * tt) / et) / 2; + } + if ( + nt.isSubplotConstrained || + (!at && 1 === it.length) + ) { + for (c = 0; c < K.length; c++) + (K[c].range = K[c]._r.slice()), + E(K[c], 1 - e / tt); + s = (r = (e * et) / tt) / 2; + } + } + (nt.isSubplotConstrained && at) || Vt("x"), + (nt.isSubplotConstrained && it) || Vt("y"); + var f = tt - e, + h = et - r; + !nt.isSubplotConstrained || + (it && at) || + (it + ? ((s = o ? 0 : (e * et) / tt), + (h = (f * et) / tt)) + : ((o = s ? 0 : (r * tt) / et), + (f = (h * tt) / et))), + Zt([o, s, f, h]), + Ht(), + t.emit("plotly_relayouting", ht); + } + function p(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]) / B(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 Vt(t, e) { + for ( + var r = nt.isSubplotConstrained + ? { x: K, y: J }[t] + : nt[t + "axes"], + n = nt.isSubplotConstrained + ? { x: J, y: K }[t] + : [], + i = 0; + i < r.length; + i++ + ) { + var a = r[i], + o = a._id, + s = nt.xLinks[o] || nt.yLinks[o], + l = n[0] || V[s] || X[s]; + l && + (e + ? ((e[a._name + ".range[0]"] = + e[l._name + ".range[0]"]), + (e[a._name + ".range[1]"] = + e[l._name + ".range[1]"])) + : (a.range = l.range.slice())); + } + } + function Ht() { + var r, + n = []; + function i(t) { + for (r = 0; r < t.length; r++) + t[r].fixedrange || n.push(t[r]._id); + } + function a(t, e) { + for (r = 0; r < t.length; r++) { + var i = t[r], + a = i[e]; + i.fixedrange || + "sync" !== a.tickmode || + n.push(a._id); + } + } + for ( + st && + (i(J), + i(rt.xaxes), + i(nt.xaxes), + a(e.overlays, "xaxis")), + lt && + (i(K), + i(rt.yaxes), + i(nt.yaxes), + a(e.overlays, "yaxis")), + ht = {}, + r = 0; + r < n.length; + r++ + ) { + var o = n[r], + s = k(t, o); + d.drawOne(t, s, { skipTitle: !0 }), + (ht[s._name + ".range[0]"] = s.range[0]), + (ht[s._name + ".range[1]"] = s.range[1]); + } + d.redrawComponents(t, n); + } + function qt() { + if (!t._transitioningWithDuration) { + var e = t._context.doubleClick, + r = []; + it && (r = r.concat(J)), + at && (r = r.concat(K)), + nt.xaxes && (r = r.concat(nt.xaxes)), + nt.yaxes && (r = r.concat(nt.yaxes)); + var n, + i, + a = {}; + if ("reset+autosize" === e) + for (e = "autosize", i = 0; i < r.length; i++) { + var o = (n = r[i])._rangeInitial0, + s = n._rangeInitial1, + u = void 0 !== o || void 0 !== s; + if ( + (u && + ((void 0 !== o && o !== n.range[0]) || + (void 0 !== s && s !== n.range[1]))) || + (!u && !0 !== n.autorange) + ) { + e = "reset"; + break; + } + } + if ("autosize" === e) + for (i = 0; i < r.length; i++) + (n = r[i]).fixedrange || + (a[n._name + ".autorange"] = !0); + else if ("reset" === e) + for ( + (it || rt.isSubplotConstrained) && + (r = r.concat(rt.xaxes)), + at && + !rt.isSubplotConstrained && + (r = r.concat(rt.yaxes)), + rt.isSubplotConstrained && + (it + ? at || (r = r.concat(K)) + : (r = r.concat(J))), + i = 0; + i < r.length; + i++ + ) + if (!(n = r[i]).fixedrange) { + var c = n._name, + f = n._autorangeInitial; + void 0 === n._rangeInitial0 && + void 0 === n._rangeInitial1 + ? (a[c + ".autorange"] = !0) + : void 0 === n._rangeInitial0 + ? ((a[c + ".autorange"] = f), + (a[c + ".range"] = [ + null, + n._rangeInitial1, + ])) + : void 0 === n._rangeInitial1 + ? ((a[c + ".range"] = [ + n._rangeInitial0, + null, + ]), + (a[c + ".autorange"] = f)) + : (a[c + ".range"] = [ + n._rangeInitial0, + n._rangeInitial1, + ]); + } + t.emit("plotly_doubleclick", null), + l.call("_guiRelayout", t, a); + } + } + function Gt() { + Zt([0, 0, tt, et]), + i.syncOrAsync( + [ + T.previousPromises, + function () { + (t._fullLayout._replotting = !1), + l.call("_guiRelayout", t, ht); + }, + ], + t, + ); + } + function Zt(e) { + var r, + n, + a, + o, + s = t._fullLayout, + u = s._plots, + c = s._subplots.cartesian; + if ((ct && l.subplotsRegistry.splom.drag(t), ut)) + for (r = 0; r < c.length; r++) + if ( + ((a = (n = u[c[r]]).xaxis), + (o = n.yaxis), + n._scene) + ) { + var f = i.simpleMap(a.range, a.r2l), + p = i.simpleMap(o.range, o.r2l); + a.limitRange && a.limitRange(), + o.limitRange && o.limitRange(), + (f = a.range), + (p = o.range), + n._scene.update({ + range: [f[0], p[0], f[1], p[1]], + }); + } + if (((ct || ut) && (_(t), w(t)), ft)) { + var d = e[2] / P._length, + g = e[3] / I._length; + for (r = 0; r < c.length; r++) { + (a = (n = u[c[r]]).xaxis), (o = n.yaxis); + var m, + x, + b, + T, + k = + (st || nt.isSubplotConstrained) && + !a.fixedrange && + V[a._id], + A = + (lt || nt.isSubplotConstrained) && + !o.fixedrange && + X[o._id]; + if ( + (k + ? ((m = d), + (b = + y || nt.isSubplotConstrained + ? e[0] + : Xt(a, m))) + : nt.xaHash[a._id] + ? ((m = d), + (b = (e[0] * a._length) / P._length)) + : nt.yaHash[a._id] + ? ((m = g), + (b = + "ns" === at + ? (-e[1] * a._length) / I._length + : Xt( + a, + m, + { n: "top", s: "bottom" }[at], + ))) + : (b = Yt(a, (m = Wt(a, d, g)))), + m > 1 && + ((void 0 !== a.maxallowed && + st === + (a.range[0] < a.range[1] + ? "e" + : "w")) || + (void 0 !== a.minallowed && + st === + (a.range[0] < a.range[1] + ? "w" + : "e"))) && + ((m = 1), (b = 0)), + A + ? ((x = g), + (T = + v || nt.isSubplotConstrained + ? e[1] + : Xt(o, x))) + : nt.yaHash[o._id] + ? ((x = g), + (T = (e[1] * o._length) / I._length)) + : nt.xaHash[o._id] + ? ((x = d), + (T = + "ew" === it + ? (-e[0] * o._length) / P._length + : Xt( + o, + x, + { e: "right", w: "left" }[it], + ))) + : (T = Yt(o, (x = Wt(o, d, g)))), + x > 1 && + ((void 0 !== o.maxallowed && + lt === + (o.range[0] < o.range[1] + ? "n" + : "s")) || + (void 0 !== o.minallowed && + lt === + (o.range[0] < o.range[1] + ? "s" + : "n"))) && + ((x = 1), (T = 0)), + m || x) + ) { + m || (m = 1), x || (x = 1); + var M = a._offset - b / m, + S = o._offset - T / x; + n.clipRect + .call(h.setTranslate, b, T) + .call(h.setScale, m, x), + n.plot + .call(h.setTranslate, M, S) + .call(h.setScale, 1 / m, 1 / x), + (m === n.xScaleFactor && + x === n.yScaleFactor) || + (h.setPointGroupScale( + n.zoomScalePts, + m, + x, + ), + h.setTextPointsScale( + n.zoomScaleTxt, + m, + x, + )), + h.hideOutsideRangePoints( + n.clipOnAxisFalseTraces, + n, + ), + (n.xScaleFactor = m), + (n.yScaleFactor = x); + } + } + } + } + function Wt(t, e, r) { + return t.fixedrange + ? 0 + : st && rt.xaHash[t._id] + ? e + : lt && + (rt.isSubplotConstrained + ? rt.xaHash + : rt.yaHash)[t._id] + ? r + : 0; + } + function Yt(t, e) { + return e + ? ((t.range = t._r.slice()), E(t, e), Xt(t, e)) + : 0; + } + function Xt(t, e, r) { + return ( + t._length * + (1 - e) * + b[r || t.constraintoward || "middle"] + ); + } + return ( + v.length * y.length != 1 && + W(bt, function (e) { + if ( + t._context._scrollZoom.cartesian || + t._fullLayout._enablescrollzoom + ) { + if ((Pt(), t._transitioningWithDuration)) + return ( + e.preventDefault(), + void e.stopPropagation() + ); + mt(), clearTimeout(Bt); + var r = -e.deltaY; + if ( + (isFinite(r) || (r = e.wheelDelta / 10), + isFinite(r)) + ) { + var n, + a = Math.exp( + -Math.min(Math.max(r, -20), 20) / 200, + ), + o = jt.draglayer + .select(".nsewdrag") + .node() + .getBoundingClientRect(), + s = (e.clientX - o.left) / o.width, + l = (o.bottom - e.clientY) / o.height; + if (st) { + for ( + y || (s = 0.5), n = 0; + n < J.length; + n++ + ) + u(J[n], s, a); + Vt("x"), + (Ft[2] *= a), + (Ft[0] += Ft[2] * s * (1 / a - 1)); + } + if (lt) { + for ( + v || (l = 0.5), n = 0; + n < K.length; + n++ + ) + u(K[n], l, a); + Vt("y"), + (Ft[3] *= a), + (Ft[1] += + Ft[3] * (1 - l) * (1 / a - 1)); + } + Zt(Ft), + Ht(), + t.emit("plotly_relayouting", ht), + (Bt = setTimeout(function () { + t._fullLayout && + ((Ft = [0, 0, tt, et]), Gt()); + }, Nt)), + e.preventDefault(); + } else + i.log( + "Did not find wheel motion attributes: ", + e, + ); + } + function u(t, e, r) { + if (!t.fixedrange) { + var n = i.simpleMap(t.range, t.r2l), + a = n[0] + (n[1] - n[0]) * e; + t.range = n.map(function (e) { + return t.l2r(a + (e - a) * r); + }); + } + } + }), + bt + ); + }, + makeDragger: I, + makeRectDragger: D, + makeZoombox: N, + makeCorners: j, + updateZoombox: U, + xyCorners: G, + transitionZoombox: V, + removeZoombox: H, + showDoubleClickNotifier: q, + attachWheelEventHandler: W, + }; + }, + 4305: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(30211), + a = r(28569), + o = r(6964), + s = r(29323).makeDragBox, + l = r(85555).DRAGGERSIZE; + (e.initInteractions = function (t) { + var r = t._fullLayout; + if (t._context.staticPlot) + n.select(t).selectAll(".drag").remove(); + else if (r._has("cartesian") || r._has("splom")) { + 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], + o = n.xaxis, + u = n.yaxis; + if (!n.mainplot) { + var c = s( + t, + n, + o._offset, + u._offset, + o._length, + u._length, + "ns", + "ew", + ); + (c.onmousemove = function (r) { + (t._fullLayout._rehover = function () { + t._fullLayout._hoversubplot === e && + t._fullLayout._plots[e] && + i.hover(t, r, e); + }), + i.hover(t, r, e), + (t._fullLayout._lasthover = c), + (t._fullLayout._hoversubplot = e); + }), + (c.onmouseout = function (e) { + t._dragging || + ((t._fullLayout._hoversubplot = null), + a.unhover(t, e)); + }), + t._context.showAxisDragHandles && + (s( + t, + n, + o._offset - l, + u._offset - l, + l, + l, + "n", + "w", + ), + s( + t, + n, + o._offset + o._length, + u._offset - l, + l, + l, + "n", + "e", + ), + s( + t, + n, + o._offset - l, + u._offset + u._length, + l, + l, + "s", + "w", + ), + s( + t, + n, + o._offset + o._length, + u._offset + u._length, + l, + l, + "s", + "e", + )); + } + if (t._context.showAxisDragHandles) { + if (e === o._mainSubplot) { + var f = o._mainLinePosition; + "top" === o.side && (f -= l), + s( + t, + n, + o._offset + 0.1 * o._length, + f, + 0.8 * o._length, + l, + "", + "ew", + ), + s( + t, + n, + o._offset, + f, + 0.1 * o._length, + l, + "", + "w", + ), + s( + t, + n, + o._offset + 0.9 * o._length, + f, + 0.1 * o._length, + l, + "", + "e", + ); + } + if (e === u._mainSubplot) { + var h = u._mainLinePosition; + "right" !== u.side && (h -= l), + s( + t, + n, + h, + u._offset + 0.1 * u._length, + l, + 0.8 * u._length, + "ns", + "", + ), + s( + t, + n, + h, + u._offset + 0.9 * u._length, + l, + 0.1 * u._length, + "s", + "", + ), + s( + t, + n, + h, + u._offset, + l, + 0.1 * u._length, + "n", + "", + ); + } + } + }); + var o = r._hoverlayer.node(); + (o.onmousemove = function (e) { + (e.target = t._fullLayout._lasthover), + i.hover(t, e, r._hoversubplot); + }), + (o.onclick = function (e) { + (e.target = t._fullLayout._lasthover), + i.click(t, e); + }), + (o.onmousedown = function (e) { + t._fullLayout._lasthover.onmousedown(e); + }), + e.updateFx(t); + } + }), + (e.updateFx = function (t) { + var e = t._fullLayout, + r = "pan" === e.dragmode ? "move" : "crosshair"; + o(e._draggers, r); + }); + }, + 76325: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(41675); + t.exports = function (t) { + return function (e, r) { + var o = e[t]; + if (Array.isArray(o)) + for ( + var s = n.subplotsRegistry.cartesian, + l = s.idRegex, + u = r._subplots, + c = u.xaxis, + f = u.yaxis, + h = u.cartesian, + p = r._has("cartesian") || r._has("gl2d"), + d = 0; + d < o.length; + d++ + ) { + var v = o[d]; + if (i.isPlainObject(v)) { + var g = a.cleanId(v.xref, "x", !1), + y = a.cleanId(v.yref, "y", !1), + m = l.x.test(g), + x = l.y.test(y); + if (m || x) { + p || i.pushUnique(r._basePlotModules, s); + var b = !1; + m && + -1 === c.indexOf(g) && + (c.push(g), (b = !0)), + x && + -1 === f.indexOf(y) && + (f.push(y), (b = !0)), + b && m && x && h.push(g + y); + } + } + } + }; + }; + }, + 93612: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(71828), + o = r(74875), + s = r(91424), + l = r(27659).a0, + u = r(41675), + c = r(85555), + f = r(77922), + h = a.ensureSingle; + function p(t, e, r) { + return a.ensureSingle(t, e, r, function (t) { + t.datum(r); + }); + } + function d(t, e, r, a, o) { + for ( + var u, + f, + h, + p = c.traceLayerClasses, + d = t._fullLayout, + v = d._modules, + g = [], + y = [], + m = 0; + m < v.length; + m++ + ) { + var x = (u = v[m]).name, + b = i.modules[x].categories; + if (b.svg) { + var _ = u.layerName || x + "layer", + w = u.plot; + (h = (f = l(r, w))[0]), + (r = f[1]), + h.length && + g.push({ + i: p.indexOf(_), + className: _, + plotMethod: w, + cdModule: h, + }), + b.zoomScale && y.push("." + _); + } + } + g.sort(function (t, e) { + return t.i - e.i; + }); + var T = e.plot + .selectAll("g.mlayer") + .data(g, function (t) { + return t.className; + }); + if ( + (T.enter() + .append("g") + .attr("class", function (t) { + return t.className; + }) + .classed("mlayer", !0) + .classed("rangeplot", e.isRangePlot), + T.exit().remove(), + T.order(), + T.each(function (r) { + var i = n.select(this), + l = r.className; + r.plotMethod(t, e, r.cdModule, i, a, o), + -1 === c.clipOnAxisFalseQuery.indexOf("." + l) && + s.setClipUrl(i, e.layerClipId, t); + }), + d._has("scattergl") && + ((u = i.getModule("scattergl")), + (h = l(r, u)[0]), + u.plot(t, e, h)), + !t._context.staticPlot && + (e._hasClipOnAxisFalse && + (e.clipOnAxisFalseTraces = e.plot + .selectAll(c.clipOnAxisFalseQuery.join(",")) + .selectAll(".trace")), + y.length)) + ) { + var k = e.plot + .selectAll(y.join(",")) + .selectAll(".trace"); + (e.zoomScalePts = k.selectAll("path.point")), + (e.zoomScaleTxt = k.selectAll(".textpoint")); + } + } + function v(t, e) { + var r = e.plotgroup, + n = e.id, + i = c.layerValue2layerClass[e.xaxis.layer], + a = c.layerValue2layerClass[e.yaxis.layer], + o = t._fullLayout._hasOnlyLargeSploms; + if (e.mainplot) { + var s = e.mainplotinfo, + l = s.plotgroup, + f = n + "-x", + d = n + "-y"; + (e.minorGridlayer = s.minorGridlayer), + (e.gridlayer = s.gridlayer), + (e.zerolinelayer = s.zerolinelayer), + h(s.overlinesBelow, "path", f), + h(s.overlinesBelow, "path", d), + h(s.overaxesBelow, "g", f), + h(s.overaxesBelow, "g", d), + (e.plot = h(s.overplot, "g", n)), + h(s.overlinesAbove, "path", f), + h(s.overlinesAbove, "path", d), + h(s.overaxesAbove, "g", f), + h(s.overaxesAbove, "g", d), + (e.xlines = l + .select(".overlines-" + i) + .select("." + f)), + (e.ylines = l + .select(".overlines-" + a) + .select("." + d)), + (e.xaxislayer = l + .select(".overaxes-" + i) + .select("." + f)), + (e.yaxislayer = l + .select(".overaxes-" + a) + .select("." + d)); + } else if (o) + (e.xlines = h(r, "path", "xlines-above")), + (e.ylines = h(r, "path", "ylines-above")), + (e.xaxislayer = h(r, "g", "xaxislayer-above")), + (e.yaxislayer = h(r, "g", "yaxislayer-above")); + else { + var v = h(r, "g", "layer-subplot"); + (e.shapelayer = h(v, "g", "shapelayer")), + (e.imagelayer = h(v, "g", "imagelayer")), + (e.minorGridlayer = h(r, "g", "minor-gridlayer")), + (e.gridlayer = h(r, "g", "gridlayer")), + (e.zerolinelayer = h(r, "g", "zerolinelayer")), + h(r, "path", "xlines-below"), + h(r, "path", "ylines-below"), + (e.overlinesBelow = h(r, "g", "overlines-below")), + h(r, "g", "xaxislayer-below"), + h(r, "g", "yaxislayer-below"), + (e.overaxesBelow = h(r, "g", "overaxes-below")), + (e.plot = h(r, "g", "plot")), + (e.overplot = h(r, "g", "overplot")), + (e.xlines = h(r, "path", "xlines-above")), + (e.ylines = h(r, "path", "ylines-above")), + (e.overlinesAbove = h(r, "g", "overlines-above")), + h(r, "g", "xaxislayer-above"), + h(r, "g", "yaxislayer-above"), + (e.overaxesAbove = h(r, "g", "overaxes-above")), + (e.xlines = r.select(".xlines-" + i)), + (e.ylines = r.select(".ylines-" + a)), + (e.xaxislayer = r.select(".xaxislayer-" + i)), + (e.yaxislayer = r.select(".yaxislayer-" + a)); + } + o || + (p(e.minorGridlayer, "g", e.xaxis._id), + p(e.minorGridlayer, "g", e.yaxis._id), + e.minorGridlayer + .selectAll("g") + .map(function (t) { + return t[0]; + }) + .sort(u.idSort), + p(e.gridlayer, "g", e.xaxis._id), + p(e.gridlayer, "g", e.yaxis._id), + e.gridlayer + .selectAll("g") + .map(function (t) { + return t[0]; + }) + .sort(u.idSort)), + e.xlines.style("fill", "none").classed("crisp", !0), + e.ylines.style("fill", "none").classed("crisp", !0); + } + function g(t, e) { + if (t) { + var r = {}; + for (var i in (t.each(function (t) { + var i = t[0]; + n.select(this).remove(), y(i, e), (r[i] = !0); + }), + e._plots)) + for ( + var a = e._plots[i].overlays || [], o = 0; + o < a.length; + o++ + ) { + var s = a[o]; + r[s.id] && s.plot.selectAll(".trace").remove(); + } + } + } + function y(t, e) { + e._draggers.selectAll("g." + t).remove(), + e._defs + .select("#clip" + e._uid + t + "plot") + .remove(); + } + (e.name = "cartesian"), + (e.attr = ["xaxis", "yaxis"]), + (e.idRoot = ["x", "y"]), + (e.idRegex = c.idRegex), + (e.attrRegex = c.attrRegex), + (e.attributes = r(89502)), + (e.layoutAttributes = r(13838)), + (e.supplyLayoutDefaults = r(86763)), + (e.transitionAxes = r(66847)), + (e.finalizeSubplots = function (t, e) { + var r, + n, + i, + o = e._subplots, + s = o.xaxis, + l = o.yaxis, + f = o.cartesian, + h = f.concat(o.gl2d || []), + p = {}, + d = {}; + for (r = 0; r < h.length; r++) { + var v = h[r].split("y"); + (p[v[0]] = 1), (d["y" + v[1]] = 1); + } + for (r = 0; r < s.length; r++) + p[(n = s[r])] || + ((i = (t[u.id2name(n)] || {}).anchor), + c.idRegex.y.test(i) || (i = "y"), + f.push(n + i), + h.push(n + i), + d[i] || ((d[i] = 1), a.pushUnique(l, i))); + for (r = 0; r < l.length; r++) + d[(i = l[r])] || + ((n = (t[u.id2name(i)] || {}).anchor), + c.idRegex.x.test(n) || (n = "x"), + f.push(n + i), + h.push(n + i), + p[n] || ((p[n] = 1), a.pushUnique(s, n))); + if (!h.length) { + for (var g in ((n = ""), (i = ""), t)) + c.attrRegex.test(g) && + ("x" === g.charAt(0) + ? (!n || +g.substr(5) < +n.substr(5)) && + (n = g) + : (!i || +g.substr(5) < +i.substr(5)) && + (i = g)); + (n = n ? u.name2id(n) : "x"), + (i = i ? u.name2id(i) : "y"), + s.push(n), + l.push(i), + f.push(n + i); + } + }), + (e.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 (i = 0; i < o.length; i++) { + for ( + var l, u = o[i], c = a._plots[u], f = [], h = 0; + h < s.length; + h++ + ) { + var p = s[h], + v = p[0].trace; + v.xaxis + v.yaxis === u && + ((-1 !== e.indexOf(v.index) || v.carpet) && + (l && + l[0].trace.xaxis + l[0].trace.yaxis === u && + -1 !== + ["tonextx", "tonexty", "tonext"].indexOf( + v.fill, + ) && + -1 === f.indexOf(l) && + f.push(l), + f.push(p)), + (l = p)); + } + d(t, c, f, r, n); + } + }), + (e.clean = function (t, e, r, n) { + var i, + a, + o, + s = n._plots || {}, + l = e._plots || {}, + c = n._subplots || {}; + if (n._hasOnlyLargeSploms && !e._hasOnlyLargeSploms) + for (o in s) + (i = s[o]).plotgroup && i.plotgroup.remove(); + var f = n._has && n._has("gl"), + h = e._has && e._has("gl"); + if (f && !h) + for (o in s) + (i = s[o])._scene && i._scene.destroy(); + if (c.xaxis && c.yaxis) { + var p = u.listIds({ _fullLayout: n }); + for (a = 0; a < p.length; a++) { + var d = p[a]; + e[u.id2name(d)] || + n._infolayer + .selectAll(".g-" + d + "title") + .remove(); + } + } + var v = n._has && n._has("cartesian"), + m = e._has && e._has("cartesian"); + if (v && !m) + g(n._cartesianlayer.selectAll(".subplot"), n), + n._defs.selectAll(".axesclip").remove(), + delete n._axisConstraintGroups, + delete n._axisMatchGroups; + else if (c.cartesian) + for (a = 0; a < c.cartesian.length; a++) { + var x = c.cartesian[a]; + if (!l[x]) { + var b = "." + x + ",." + x + "-x,." + x + "-y"; + n._cartesianlayer.selectAll(b).remove(), + y(x, n); + } + } + }), + (e.drawFramework = function (t) { + var e = t._fullLayout, + r = (function (t) { + var e, + r, + n, + i, + a, + o, + s = t._fullLayout, + l = s._subplots.cartesian, + u = l.length, + c = [], + f = []; + for (e = 0; e < u; e++) { + (n = l[e]), + (a = (i = s._plots[n]).xaxis), + (o = i.yaxis); + var h = a._mainAxis, + p = o._mainAxis, + d = h._id + p._id, + v = s._plots[d]; + (i.overlays = []), + d !== n && v + ? ((i.mainplot = d), + (i.mainplotinfo = v), + f.push(n)) + : ((i.mainplot = void 0), + (i.mainplotinfo = void 0), + c.push(n)); + } + for (e = 0; e < f.length; e++) + (n = f[e]), + (i = s._plots[n]).mainplotinfo.overlays.push( + i, + ); + var g = c.concat(f), + y = new Array(u); + for (e = 0; e < u; e++) { + (n = g[e]), + (a = (i = s._plots[n]).xaxis), + (o = i.yaxis); + var m = [ + n, + a.layer, + o.layer, + a.overlaying || "", + o.overlaying || "", + ]; + for (r = 0; r < i.overlays.length; r++) + m.push(i.overlays[r].id); + y[e] = m; + } + return y; + })(t), + i = e._cartesianlayer + .selectAll(".subplot") + .data(r, String); + i + .enter() + .append("g") + .attr("class", function (t) { + return "subplot " + t[0]; + }), + i.order(), + i.exit().call(g, e), + i.each(function (r) { + var i = r[0], + a = e._plots[i]; + (a.plotgroup = n.select(this)), + v(t, a), + (a.draglayer = h(e._draggers, "g", i)); + }); + }), + (e.rangePlot = function (t, e, r) { + v(t, e), d(t, e, r), o.style(t); + }), + (e.toSVG = function (t) { + var e = t._fullLayout._glimages, + r = n.select(t).selectAll(".svg-container"); + r.filter(function (t, e) { + return e === r.size() - 1; + }) + .selectAll(".gl-canvas-context, .gl-canvas-focus") + .each(function () { + var t = this, + r = t.toDataURL("image/png"); + e.append("svg:image").attr({ + xmlns: f.svg, + "xlink:href": r, + preserveAspectRatio: "none", + x: 0, + y: 0, + width: t.style.width, + height: t.style.height, + }); + }); + }), + (e.updateFx = r(4305).updateFx); + }, + 13838: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(22399), + a = r(79952).P, + o = r(1426).extendFlat, + s = r(44467).templatedArray, + l = r(12663).descriptionWithDates, + u = r(50606).ONEDAY, + c = r(85555), + f = c.HOUR_PATTERN, + h = c.WEEKDAY_PATTERN, + p = { + valType: "enumerated", + values: ["auto", "linear", "array"], + editType: "ticks", + impliedEdits: { tick0: void 0, dtick: void 0 }, + }, + d = o({}, p, { + values: p.values.slice().concat(["sync"]), + }); + function v(t) { + return { + valType: "integer", + min: 0, + dflt: t ? 5 : 0, + editType: "ticks", + }; + } + var g = { + valType: "any", + editType: "ticks", + impliedEdits: { tickmode: "linear" }, + }, + y = { + valType: "any", + editType: "ticks", + impliedEdits: { tickmode: "linear" }, + }, + m = { valType: "data_array", editType: "ticks" }, + x = { + valType: "enumerated", + values: ["outside", "inside", ""], + editType: "ticks", + }; + function b(t) { + var e = { + valType: "number", + min: 0, + editType: "ticks", + }; + return t || (e.dflt = 5), e; + } + function _(t) { + var e = { + valType: "number", + min: 0, + editType: "ticks", + }; + return t || (e.dflt = 1), e; + } + var w = { + valType: "color", + dflt: i.defaultLine, + editType: "ticks", + }, + T = { + valType: "color", + dflt: i.lightLine, + editType: "ticks", + }; + function k(t) { + var e = { + valType: "number", + min: 0, + editType: "ticks", + }; + return t || (e.dflt = 1), e; + } + var A = o({}, a, { editType: "ticks" }), + M = { valType: "boolean", editType: "ticks" }; + t.exports = { + visible: { valType: "boolean", editType: "plot" }, + color: { + valType: "color", + dflt: i.defaultLine, + editType: "ticks", + }, + title: { + text: { valType: "string", editType: "ticks" }, + font: n({ editType: "ticks" }), + standoff: { + valType: "number", + min: 0, + editType: "ticks", + }, + editType: "ticks", + }, + type: { + valType: "enumerated", + values: [ + "-", + "linear", + "log", + "date", + "category", + "multicategory", + ], + dflt: "-", + editType: "calc", + _noTemplating: !0, + }, + autotypenumbers: { + valType: "enumerated", + values: ["convert types", "strict"], + dflt: "convert types", + editType: "calc", + }, + autorange: { + valType: "enumerated", + values: [ + !0, + !1, + "reversed", + "min reversed", + "max reversed", + "min", + "max", + ], + dflt: !0, + editType: "axrange", + impliedEdits: { + "range[0]": void 0, + "range[1]": void 0, + }, + }, + autorangeoptions: { + minallowed: { + valType: "any", + editType: "plot", + impliedEdits: { + "range[0]": void 0, + "range[1]": void 0, + }, + }, + maxallowed: { + valType: "any", + editType: "plot", + impliedEdits: { + "range[0]": void 0, + "range[1]": void 0, + }, + }, + clipmin: { + valType: "any", + editType: "plot", + impliedEdits: { + "range[0]": void 0, + "range[1]": void 0, + }, + }, + clipmax: { + valType: "any", + editType: "plot", + impliedEdits: { + "range[0]": void 0, + "range[1]": void 0, + }, + }, + include: { + valType: "any", + arrayOk: !0, + editType: "plot", + impliedEdits: { + "range[0]": void 0, + "range[1]": void 0, + }, + }, + editType: "plot", + }, + rangemode: { + valType: "enumerated", + values: ["normal", "tozero", "nonnegative"], + dflt: "normal", + editType: "plot", + }, + range: { + valType: "info_array", + items: [ + { + valType: "any", + editType: "axrange", + impliedEdits: { "^autorange": !1 }, + anim: !0, + }, + { + valType: "any", + editType: "axrange", + impliedEdits: { "^autorange": !1 }, + anim: !0, + }, + ], + editType: "axrange", + impliedEdits: { autorange: !1 }, + anim: !0, + }, + minallowed: { + valType: "any", + editType: "plot", + impliedEdits: { "^autorange": !1 }, + }, + maxallowed: { + valType: "any", + editType: "plot", + impliedEdits: { "^autorange": !1 }, + }, + fixedrange: { + valType: "boolean", + dflt: !1, + editType: "calc", + }, + scaleanchor: { + valType: "enumerated", + values: [ + c.idRegex.x.toString(), + c.idRegex.y.toString(), + !1, + ], + editType: "plot", + }, + scaleratio: { + valType: "number", + min: 0, + dflt: 1, + editType: "plot", + }, + constrain: { + valType: "enumerated", + values: ["range", "domain"], + editType: "plot", + }, + constraintoward: { + valType: "enumerated", + values: [ + "left", + "center", + "right", + "top", + "middle", + "bottom", + ], + editType: "plot", + }, + matches: { + valType: "enumerated", + values: [ + c.idRegex.x.toString(), + c.idRegex.y.toString(), + ], + editType: "calc", + }, + rangebreaks: s("rangebreak", { + enabled: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + bounds: { + valType: "info_array", + items: [ + { valType: "any", editType: "calc" }, + { valType: "any", editType: "calc" }, + ], + editType: "calc", + }, + pattern: { + valType: "enumerated", + values: [h, f, ""], + editType: "calc", + }, + values: { + valType: "info_array", + freeLength: !0, + editType: "calc", + items: { valType: "any", editType: "calc" }, + }, + dvalue: { + valType: "number", + editType: "calc", + min: 0, + dflt: u, + }, + editType: "calc", + }), + tickmode: d, + nticks: v(), + tick0: g, + dtick: y, + ticklabelstep: { + valType: "integer", + min: 1, + dflt: 1, + editType: "ticks", + }, + tickvals: m, + ticktext: { valType: "data_array", editType: "ticks" }, + ticks: x, + tickson: { + valType: "enumerated", + values: ["labels", "boundaries"], + dflt: "labels", + editType: "ticks", + }, + ticklabelmode: { + valType: "enumerated", + values: ["instant", "period"], + dflt: "instant", + editType: "ticks", + }, + ticklabelposition: { + valType: "enumerated", + values: [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom", + ], + dflt: "outside", + editType: "calc", + }, + ticklabeloverflow: { + valType: "enumerated", + values: [ + "allow", + "hide past div", + "hide past domain", + ], + editType: "calc", + }, + mirror: { + valType: "enumerated", + values: [!0, "ticks", !1, "all", "allticks"], + dflt: !1, + editType: "ticks+layoutstyle", + }, + ticklen: b(), + tickwidth: _(), + tickcolor: w, + showticklabels: { + valType: "boolean", + dflt: !0, + editType: "ticks", + }, + labelalias: { + valType: "any", + dflt: !1, + editType: "ticks", + }, + automargin: { + valType: "flaglist", + flags: [ + "height", + "width", + "left", + "right", + "top", + "bottom", + ], + extras: [!0, !1], + dflt: !1, + editType: "ticks", + }, + showspikes: { + valType: "boolean", + dflt: !1, + editType: "modebar", + }, + spikecolor: { + valType: "color", + dflt: null, + editType: "none", + }, + spikethickness: { + valType: "number", + dflt: 3, + editType: "none", + }, + spikedash: o({}, a, { dflt: "dash", editType: "none" }), + spikemode: { + valType: "flaglist", + flags: ["toaxis", "across", "marker"], + dflt: "toaxis", + editType: "none", + }, + spikesnap: { + valType: "enumerated", + values: ["data", "cursor", "hovered data"], + dflt: "hovered data", + editType: "none", + }, + tickfont: n({ editType: "ticks" }), + tickangle: { + valType: "angle", + dflt: "auto", + editType: "ticks", + }, + tickprefix: { + valType: "string", + dflt: "", + editType: "ticks", + }, + showtickprefix: { + valType: "enumerated", + values: ["all", "first", "last", "none"], + dflt: "all", + editType: "ticks", + }, + ticksuffix: { + valType: "string", + dflt: "", + editType: "ticks", + }, + showticksuffix: { + valType: "enumerated", + values: ["all", "first", "last", "none"], + dflt: "all", + editType: "ticks", + }, + showexponent: { + valType: "enumerated", + values: ["all", "first", "last", "none"], + dflt: "all", + editType: "ticks", + }, + exponentformat: { + valType: "enumerated", + values: ["none", "e", "E", "power", "SI", "B"], + dflt: "B", + editType: "ticks", + }, + minexponent: { + valType: "number", + dflt: 3, + min: 0, + editType: "ticks", + }, + separatethousands: { + valType: "boolean", + dflt: !1, + editType: "ticks", + }, + tickformat: { + valType: "string", + dflt: "", + editType: "ticks", + description: l("tick label"), + }, + tickformatstops: s("tickformatstop", { + enabled: { + valType: "boolean", + dflt: !0, + editType: "ticks", + }, + dtickrange: { + valType: "info_array", + items: [ + { valType: "any", editType: "ticks" }, + { valType: "any", editType: "ticks" }, + ], + editType: "ticks", + }, + value: { + valType: "string", + dflt: "", + editType: "ticks", + }, + editType: "ticks", + }), + hoverformat: { + valType: "string", + dflt: "", + editType: "none", + description: l("hover text"), + }, + showline: { + valType: "boolean", + dflt: !1, + editType: "ticks+layoutstyle", + }, + linecolor: { + valType: "color", + dflt: i.defaultLine, + editType: "layoutstyle", + }, + linewidth: { + valType: "number", + min: 0, + dflt: 1, + editType: "ticks+layoutstyle", + }, + showgrid: M, + gridcolor: T, + gridwidth: k(), + griddash: A, + zeroline: { valType: "boolean", editType: "ticks" }, + zerolinecolor: { + valType: "color", + dflt: i.defaultLine, + editType: "ticks", + }, + zerolinewidth: { + valType: "number", + dflt: 1, + editType: "ticks", + }, + showdividers: { + valType: "boolean", + dflt: !0, + editType: "ticks", + }, + dividercolor: { + valType: "color", + dflt: i.defaultLine, + editType: "ticks", + }, + dividerwidth: { + valType: "number", + dflt: 1, + editType: "ticks", + }, + anchor: { + valType: "enumerated", + values: [ + "free", + c.idRegex.x.toString(), + c.idRegex.y.toString(), + ], + editType: "plot", + }, + side: { + valType: "enumerated", + values: ["top", "bottom", "left", "right"], + editType: "plot", + }, + overlaying: { + valType: "enumerated", + values: [ + "free", + c.idRegex.x.toString(), + c.idRegex.y.toString(), + ], + editType: "plot", + }, + minor: { + tickmode: p, + nticks: v("minor"), + tick0: g, + dtick: y, + tickvals: m, + ticks: x, + ticklen: b("minor"), + tickwidth: _("minor"), + tickcolor: w, + gridcolor: T, + gridwidth: k("minor"), + griddash: A, + showgrid: M, + editType: "ticks", + }, + 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", + }, + { + valType: "number", + min: 0, + max: 1, + editType: "plot", + }, + ], + dflt: [0, 1], + editType: "plot", + }, + position: { + valType: "number", + min: 0, + max: 1, + dflt: 0, + editType: "plot", + }, + autoshift: { + valType: "boolean", + dflt: !1, + editType: "plot", + }, + shift: { valType: "number", editType: "plot" }, + categoryorder: { + valType: "enumerated", + values: [ + "trace", + "category ascending", + "category descending", + "array", + "total ascending", + "total descending", + "min ascending", + "min descending", + "max ascending", + "max descending", + "sum ascending", + "sum descending", + "mean ascending", + "mean descending", + "median ascending", + "median descending", + ], + dflt: "trace", + editType: "calc", + }, + categoryarray: { + valType: "data_array", + editType: "calc", + }, + uirevision: { valType: "any", editType: "none" }, + editType: "calc", + _deprecated: { + autotick: { valType: "boolean", editType: "ticks" }, + title: { valType: "string", editType: "ticks" }, + titlefont: n({ editType: "ticks" }), + }, + }; + }, + 86763: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(23469).isUnifiedHover, + o = r(98212), + s = r(44467), + l = r(10820), + u = r(13838), + c = r(951), + f = r(71453), + h = r(99082), + p = r(52830), + d = r(41675), + v = d.id2name, + g = d.name2id, + y = r(85555).AX_ID_PATTERN, + m = r(73972), + x = m.traceIs, + b = m.getComponentMethod; + function _(t, e, r) { + Array.isArray(t[e]) ? t[e].push(r) : (t[e] = [r]); + } + t.exports = function (t, e, r) { + var m, + w, + T = e.autotypenumbers, + k = {}, + A = {}, + M = {}, + S = {}, + E = {}, + L = {}, + C = {}, + O = {}, + P = {}, + I = {}; + for (m = 0; m < r.length; m++) { + var D = r[m]; + if (x(D, "cartesian") || x(D, "gl2d")) { + var z, R; + if (D.xaxis) (z = v(D.xaxis)), _(k, z, D); + else if (D.xaxes) + for (w = 0; w < D.xaxes.length; w++) + _(k, v(D.xaxes[w]), D); + if (D.yaxis) (R = v(D.yaxis)), _(k, R, D); + else if (D.yaxes) + for (w = 0; w < D.yaxes.length; w++) + _(k, v(D.yaxes[w]), D); + "funnel" === D.type + ? "h" === D.orientation + ? (z && (A[z] = !0), R && (C[R] = !0)) + : R && (M[R] = !0) + : "image" === D.type + ? (R && (O[R] = !0), z && (O[z] = !0)) + : (R && ((E[R] = !0), (L[R] = !0)), + (x(D, "carpet") && + ("carpet" !== D.type || D._cheater)) || + (z && (S[z] = !0))), + "carpet" === D.type && + D._cheater && + z && + (A[z] = !0), + x(D, "2dMap") && ((P[z] = !0), (P[R] = !0)), + x(D, "oriented") && + (I["h" === D.orientation ? R : z] = !0); + } + } + var F = e._subplots, + B = F.xaxis, + N = F.yaxis, + j = n.simpleMap(B, v), + U = n.simpleMap(N, v), + V = j.concat(U), + H = i.background; + B.length && + N.length && + (H = n.coerce(t, e, l, "plot_bgcolor")); + var q, + G, + Z, + W, + Y, + X = i.combine(H, e.paper_bgcolor); + function J() { + var t = k[q] || []; + (Y._traceIndices = t.map(function (t) { + return t._expandedIndex; + })), + (Y._annIndices = []), + (Y._shapeIndices = []), + (Y._selectionIndices = []), + (Y._imgIndices = []), + (Y._subplotsWith = []), + (Y._counterAxes = []), + (Y._name = Y._attr = q), + (Y._id = G); + } + function K(t, e) { + return n.coerce(W, Y, u, t, e); + } + function $(t, e) { + return n.coerce2(W, Y, u, t, e); + } + function Q(t) { + return "x" === t ? N : B; + } + function tt(e, r) { + for ( + var n = "x" === e ? j : U, i = [], a = 0; + a < n.length; + a++ + ) { + var o = n[a]; + o === r || (t[o] || {}).overlaying || i.push(g(o)); + } + return i; + } + var et = { x: Q("x"), y: Q("y") }, + rt = et.x.concat(et.y), + nt = {}, + it = []; + function at() { + var t = W.matches; + y.test(t) && + -1 === rt.indexOf(t) && + ((nt[t] = W.type), (it = Object.keys(nt))); + } + var ot = o(t, e), + st = a(ot); + for (m = 0; m < V.length; m++) { + (q = V[m]), + (G = g(q)), + (Z = q.charAt(0)), + n.isPlainObject(t[q]) || (t[q] = {}), + (W = t[q]), + (Y = s.newContainer(e, q, Z + "axis")), + J(); + var lt = + ("x" === Z && !S[q] && A[q]) || + ("y" === Z && !E[q] && M[q]), + ut = "y" === Z && ((!L[q] && C[q]) || O[q]), + ct = { + hasMinor: !0, + letter: Z, + font: e.font, + outerTicks: P[q], + showGrid: !I[q], + data: k[q] || [], + bgColor: X, + calendar: e.calendar, + automargin: !0, + visibleDflt: lt, + reverseDflt: ut, + autotypenumbersDflt: T, + splomStash: ((e._splomAxes || {})[Z] || {})[G], + }; + K("uirevision", e.uirevision), + c(W, Y, K, ct), + f(W, Y, K, ct, e); + var ft = st && Z === ot.charAt(0), + ht = $("spikecolor", st ? Y.color : void 0), + pt = $("spikethickness", st ? 1.5 : void 0), + dt = $("spikedash", st ? "dot" : void 0), + vt = $("spikemode", st ? "across" : void 0), + gt = $("spikesnap"); + K( + "showspikes", + !!(ft || ht || pt || dt || vt || gt), + ) || + (delete Y.spikecolor, + delete Y.spikethickness, + delete Y.spikedash, + delete Y.spikemode, + delete Y.spikesnap); + var yt = v(W.overlaying), + mt = [0, 1]; + if (void 0 !== e[yt]) { + var xt = v(e[yt].anchor); + void 0 !== e[xt] && (mt = e[xt].domain); + } + p(W, Y, K, { + letter: Z, + counterAxes: et[Z], + overlayableAxes: tt(Z, q), + grid: e.grid, + overlayingDomain: mt, + }), + K("title.standoff"), + at(), + (Y._input = W); + } + for (m = 0; m < it.length; ) { + (G = it[m++]), + (Z = (q = v(G)).charAt(0)), + n.isPlainObject(t[q]) || (t[q] = {}), + (W = t[q]), + (Y = s.newContainer(e, q, Z + "axis")), + J(); + var bt = { + letter: Z, + font: e.font, + outerTicks: P[q], + showGrid: !I[q], + data: [], + bgColor: X, + calendar: e.calendar, + automargin: !0, + visibleDflt: !1, + reverseDflt: !1, + autotypenumbersDflt: T, + splomStash: ((e._splomAxes || {})[Z] || {})[G], + }; + K("uirevision", e.uirevision), + (Y.type = nt[G] || "linear"), + f(W, Y, K, bt, e), + p(W, Y, K, { + letter: Z, + counterAxes: et[Z], + overlayableAxes: tt(Z, q), + grid: e.grid, + }), + K("fixedrange"), + at(), + (Y._input = W); + } + var _t = b("rangeslider", "handleDefaults"), + wt = b("rangeselector", "handleDefaults"); + for (m = 0; m < j.length; m++) + (q = j[m]), + (W = t[q]), + (Y = e[q]), + _t(t, e, q), + "date" === Y.type && wt(W, Y, e, U, Y.calendar), + K("fixedrange"); + for (m = 0; m < U.length; m++) { + (q = U[m]), (W = t[q]), (Y = e[q]); + var Tt = e[v(Y.anchor)]; + K("fixedrange", b("rangeslider", "isVisible")(Tt)); + } + h.handleDefaults(t, e, { + axIds: rt.concat(it).sort(d.idSort), + axHasImage: O, + }); + }; + }, + 92128: function (t, e, r) { + "use strict"; + var n = r(84267).mix, + i = r(22399), + a = r(71828); + t.exports = function (t, e, r, o) { + var s = (o = o || {}).dfltColor; + function l(r, n) { + return a.coerce2(t, e, o.attributes, r, n); + } + var u = l("linecolor", s), + c = l("linewidth"); + r("showline", o.showLine || !!u || !!c) || + (delete e.linecolor, delete e.linewidth); + var f = l( + "gridcolor", + n( + s, + o.bgColor, + o.blend || i.lightFraction, + ).toRgbString(), + ), + h = l("gridwidth"), + p = l("griddash"); + if ( + (r("showgrid", o.showGrid || !!f || !!h || !!p) || + (delete e.gridcolor, + delete e.gridwidth, + delete e.griddash), + o.hasMinor) + ) { + var d = l( + "minor.gridcolor", + n(e.gridcolor, o.bgColor, 67).toRgbString(), + ), + v = l("minor.gridwidth", e.gridwidth || 1), + g = l("minor.griddash", e.griddash || "solid"); + r("minor.showgrid", !!d || !!v || !!g) || + (delete e.minor.gridcolor, + delete e.minor.gridwidth, + delete e.minor.griddash); + } + if (!o.noZeroLine) { + var y = l("zerolinecolor", s), + m = l("zerolinewidth"); + r("zeroline", o.showGrid || !!y || !!m) || + (delete e.zerolinecolor, delete e.zerolinewidth); + } + }; + }, + 52830: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828); + t.exports = function (t, e, r, a) { + var o, + s, + l, + u, + c, + f, + h = a.counterAxes || [], + p = a.overlayableAxes || [], + d = a.letter, + v = a.grid, + g = a.overlayingDomain; + v && + ((s = v._domains[d][v._axisMap[e._id]]), + (o = v._anchors[e._id]), + s && + ((l = v[d + "side"].split(" ")[0]), + (u = + v.domain[d][ + "right" === l || "top" === l ? 1 : 0 + ]))), + (s = s || [0, 1]), + (o = o || (n(t.position) ? "free" : h[0] || "free")), + (l = l || ("x" === d ? "bottom" : "left")), + (u = u || 0), + (c = 0), + (f = !1); + var y = i.coerce( + t, + e, + { + anchor: { + valType: "enumerated", + values: ["free"].concat(h), + dflt: o, + }, + }, + "anchor", + ), + m = i.coerce( + t, + e, + { + side: { + valType: "enumerated", + values: + "x" === d + ? ["bottom", "top"] + : ["left", "right"], + dflt: l, + }, + }, + "side", + ); + "free" === y && + ("y" === d && + (r("autoshift") && + ((u = "left" === m ? g[0] : g[1]), + (f = !e.automargin || e.automargin), + (c = "left" === m ? -3 : 3)), + r("shift", c)), + r("position", u)), + r("automargin", f); + var x = !1; + if ( + (p.length && + (x = i.coerce( + t, + e, + { + overlaying: { + valType: "enumerated", + values: [!1].concat(p), + dflt: !1, + }, + }, + "overlaying", + )), + !x) + ) { + var b = r("domain", s); + b[0] > b[1] - 1 / 4096 && (e.domain = s), + i.noneOrAll(t.domain, e.domain, s), + "sync" === e.tickmode && (e.tickmode = "auto"); + } + return r("layer"), e; + }; + }, + 89426: function (t, e, r) { + "use strict"; + var n = r(59652); + t.exports = function (t, e, r, i, a) { + a || (a = {}); + var o = a.tickSuffixDflt, + s = n(t); + r("tickprefix") && r("showtickprefix", s), + r("ticksuffix", o) && r("showticksuffix", s); + }; + }, + 42449: function (t, e, r) { + "use strict"; + var n = r(18783).FROM_BL; + t.exports = function (t, e, r) { + void 0 === r && (r = n[t.constraintoward || "center"]); + var i = [t.r2l(t.range[0]), t.r2l(t.range[1])], + a = i[0] + (i[1] - i[0]) * r; + (t.range = t._input.range = + [ + t.l2r(a + (i[0] - a) * e), + t.l2r(a + (i[1] - a) * e), + ]), + t.setScale(); + }; + }, + 21994: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(84096).g0, + a = r(71828), + o = a.numberFormat, + s = r(92770), + l = a.cleanNumber, + u = a.ms2DateTime, + c = a.dateTime2ms, + f = a.ensureNumber, + h = a.isArrayOrTypedArray, + p = r(50606), + d = p.FP_SAFE, + v = p.BADNUM, + g = p.LOG_CLIP, + y = p.ONEWEEK, + m = p.ONEDAY, + x = p.ONEHOUR, + b = p.ONEMIN, + _ = p.ONESEC, + w = r(41675), + T = r(85555), + k = T.HOUR_PATTERN, + A = T.WEEKDAY_PATTERN; + function M(t) { + return Math.pow(10, t); + } + function S(t) { + return null != t; + } + t.exports = function (t, e) { + e = e || {}; + var r = t._id || "x", + p = r.charAt(0); + function E(e, r) { + if (e > 0) return Math.log(e) / Math.LN10; + if (e <= 0 && r && t.range && 2 === t.range.length) { + var n = t.range[0], + i = t.range[1]; + return 0.5 * (n + i - 2 * g * Math.abs(n - i)); + } + return v; + } + function L(e, r, n, i) { + if ((i || {}).msUTC && s(e)) return +e; + var o = c(e, n || t.calendar); + if (o === v) { + if (!s(e)) return v; + e = +e; + var l = Math.floor(10 * a.mod(e + 0.05, 1)), + u = Math.round(e - l / 10); + o = c(new Date(u)) + l / 10; + } + return o; + } + function C(e, r, n) { + return u(e, r, n || t.calendar); + } + function O(e) { + return t._categories[Math.round(e)]; + } + function P(e) { + if (S(e)) { + if ( + (void 0 === t._categoriesMap && + (t._categoriesMap = {}), + void 0 !== t._categoriesMap[e]) + ) + return t._categoriesMap[e]; + t._categories.push( + "number" == typeof e ? String(e) : e, + ); + var r = t._categories.length - 1; + return (t._categoriesMap[e] = r), r; + } + return v; + } + function I(e) { + if (t._categoriesMap) return t._categoriesMap[e]; + } + function D(t) { + var e = I(t); + return void 0 !== e ? e : s(t) ? +t : void 0; + } + function z(t) { + return s(t) ? +t : I(t); + } + function R(t, e, r) { + return n.round(r + e * t, 2); + } + function F(t, e, r) { + return (t - r) / e; + } + var B = function (e) { + return s(e) ? R(e, t._m, t._b) : v; + }, + N = function (e) { + return F(e, t._m, t._b); + }; + if (t.rangebreaks) { + var j = "y" === p; + (B = function (e) { + if (!s(e)) return v; + var r = t._rangebreaks.length; + if (!r) return R(e, t._m, t._b); + var n = j; + t.range[0] > t.range[1] && (n = !n); + for ( + var i = n ? -1 : 1, a = i * e, o = 0, l = 0; + l < r; + l++ + ) { + var u = i * t._rangebreaks[l].min, + c = i * t._rangebreaks[l].max; + if (a < u) break; + if (!(a > c)) { + o = a < (u + c) / 2 ? l : l + 1; + break; + } + o = l + 1; + } + var f = t._B[o] || 0; + return isFinite(f) ? R(e, t._m2, f) : 0; + }), + (N = function (e) { + var r = t._rangebreaks.length; + if (!r) return F(e, t._m, t._b); + for ( + var n = 0, i = 0; + i < r && !(e < t._rangebreaks[i].pmin); + i++ + ) + e > t._rangebreaks[i].pmax && (n = i + 1); + return F(e, t._m2, t._B[n]); + }); + } + (t.c2l = "log" === t.type ? E : f), + (t.l2c = "log" === t.type ? M : f), + (t.l2p = B), + (t.p2l = N), + (t.c2p = + "log" === t.type + ? function (t, e) { + return B(E(t, e)); + } + : B), + (t.p2c = + "log" === t.type + ? function (t) { + return M(N(t)); + } + : N), + -1 !== ["linear", "-"].indexOf(t.type) + ? ((t.d2r = + t.r2d = + t.d2c = + t.r2c = + t.d2l = + t.r2l = + l), + (t.c2d = t.c2r = t.l2d = t.l2r = f), + (t.d2p = t.r2p = + function (e) { + return t.l2p(l(e)); + }), + (t.p2d = t.p2r = N), + (t.cleanPos = f)) + : "log" === t.type + ? ((t.d2r = t.d2l = + function (t, e) { + return E(l(t), e); + }), + (t.r2d = t.r2c = + function (t) { + return M(l(t)); + }), + (t.d2c = t.r2l = l), + (t.c2d = t.l2r = f), + (t.c2r = E), + (t.l2d = M), + (t.d2p = function (e, r) { + return t.l2p(t.d2r(e, r)); + }), + (t.p2d = function (t) { + return M(N(t)); + }), + (t.r2p = function (e) { + return t.l2p(l(e)); + }), + (t.p2r = N), + (t.cleanPos = f)) + : "date" === t.type + ? ((t.d2r = t.r2d = a.identity), + (t.d2c = t.r2c = t.d2l = t.r2l = L), + (t.c2d = t.c2r = t.l2d = t.l2r = C), + (t.d2p = t.r2p = + function (e, r, n) { + return t.l2p(L(e, 0, n)); + }), + (t.p2d = t.p2r = + function (t, e, r) { + return C(N(t), e, r); + }), + (t.cleanPos = function (e) { + return a.cleanDate(e, v, t.calendar); + })) + : "category" === t.type + ? ((t.d2c = t.d2l = P), + (t.r2d = t.c2d = t.l2d = O), + (t.d2r = t.d2l_noadd = D), + (t.r2c = function (e) { + var r = z(e); + return void 0 !== r ? r : t.fraction2r(0.5); + }), + (t.l2r = t.c2r = f), + (t.r2l = z), + (t.d2p = function (e) { + return t.l2p(t.r2c(e)); + }), + (t.p2d = function (t) { + return O(N(t)); + }), + (t.r2p = t.d2p), + (t.p2r = N), + (t.cleanPos = function (t) { + return "string" == typeof t && "" !== t + ? t + : f(t); + })) + : "multicategory" === t.type && + ((t.r2d = t.c2d = t.l2d = O), + (t.d2r = t.d2l_noadd = D), + (t.r2c = function (e) { + var r = D(e); + return void 0 !== r ? r : t.fraction2r(0.5); + }), + (t.r2c_just_indices = I), + (t.l2r = t.c2r = f), + (t.r2l = D), + (t.d2p = function (e) { + return t.l2p(t.r2c(e)); + }), + (t.p2d = function (t) { + return O(N(t)); + }), + (t.r2p = t.d2p), + (t.p2r = N), + (t.cleanPos = function (t) { + return Array.isArray(t) || + ("string" == typeof t && "" !== t) + ? t + : f(t); + }), + (t.setupMultiCategory = function (n) { + var i, + o, + s = t._traceIndices, + l = t._matchGroup; + if (l && 0 === t._categories.length) + for (var u in l) + if (u !== r) { + var c = e[w.id2name(u)]; + s = s.concat(c._traceIndices); + } + var f = [ + [0, {}], + [0, {}], + ], + d = []; + for (i = 0; i < s.length; i++) { + var v = n[s[i]]; + if (p in v) { + var g = v[p], + y = v._length || a.minRowLength(g); + if (h(g[0]) && h(g[1])) + for (o = 0; o < y; o++) { + var m = g[0][o], + x = g[1][o]; + S(m) && + S(x) && + (d.push([m, x]), + m in f[0][1] || + (f[0][1][m] = f[0][0]++), + x in f[1][1] || + (f[1][1][x] = f[1][0]++)); + } + } + } + for ( + d.sort(function (t, e) { + var r = f[0][1], + n = r[t[0]] - r[e[0]]; + if (n) return n; + var i = f[1][1]; + return i[t[1]] - i[e[1]]; + }), + i = 0; + i < d.length; + i++ + ) + P(d[i]); + })), + (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.limitRange = function (e) { + var r = t.minallowed, + n = t.maxallowed; + if (void 0 !== r || void 0 !== n) { + e || (e = "range"); + var i = a.nestedProperty(t, e).get(), + o = a.simpleMap(i, t.r2l), + s = o[1] < o[0]; + s && o.reverse(); + var l = a.simpleMap([r, n], t.r2l); + void 0 !== r && o[0] < l[0] && (i[s ? 1 : 0] = r), + void 0 !== n && + o[1] > l[1] && + (i[s ? 0 : 1] = n); + } + }), + (t.cleanRange = function (e, r) { + t._cleanRange(e, r), t.limitRange(e); + }), + (t._cleanRange = function (e, r) { + r || (r = {}), e || (e = "range"); + var n, + i, + o = a.nestedProperty(t, e).get(); + if ( + ((i = (i = + "date" === t.type + ? a.dfltRange(t.calendar) + : "y" === p + ? T.DFLTRANGEY + : "realaxis" === t._name + ? [0, 1] + : r.dfltRange || T.DFLTRANGEX).slice()), + ("tozero" !== t.rangemode && + "nonnegative" !== t.rangemode) || + (i[0] = 0), + o && 2 === o.length) + ) { + var l = null === o[0], + u = null === o[1]; + for ( + "date" !== t.type || + t.autorange || + ((o[0] = a.cleanDate(o[0], v, t.calendar)), + (o[1] = a.cleanDate(o[1], v, t.calendar))), + n = 0; + n < 2; + n++ + ) + if ("date" === t.type) { + if (!a.isDateTime(o[n], t.calendar)) { + t[e] = i; + break; + } + if (t.r2l(o[0]) === t.r2l(o[1])) { + var c = a.constrain( + t.r2l(o[0]), + a.MIN_MS + 1e3, + a.MAX_MS - 1e3, + ); + (o[0] = t.l2r(c - 1e3)), + (o[1] = t.l2r(c + 1e3)); + break; + } + } else { + if (!s(o[n])) { + if (l || u || !s(o[1 - n])) { + t[e] = i; + break; + } + o[n] = o[1 - n] * (n ? 10 : 0.1); + } + if ( + (o[n] < -d + ? (o[n] = -d) + : o[n] > d && (o[n] = d), + o[0] === o[1]) + ) { + var f = Math.max(1, Math.abs(1e-6 * o[0])); + (o[0] -= f), (o[1] += f); + } + } + } else a.nestedProperty(t, e).set(i); + }), + (t.setScale = function (r) { + var n = e._size; + if (t.overlaying) { + var i = w.getFromId( + { _fullLayout: e }, + t.overlaying, + ); + t.domain = i.domain; + } + var a = r && t._r ? "_r" : "range", + o = t.calendar; + t.cleanRange(a); + var s, + l, + u = t.r2l(t[a][0], o), + c = t.r2l(t[a][1], o), + f = "y" === p; + if ( + (f + ? ((t._offset = n.t + (1 - t.domain[1]) * n.h), + (t._length = + n.h * (t.domain[1] - t.domain[0])), + (t._m = t._length / (u - c)), + (t._b = -t._m * c)) + : ((t._offset = n.l + t.domain[0] * n.w), + (t._length = + n.w * (t.domain[1] - t.domain[0])), + (t._m = t._length / (c - u)), + (t._b = -t._m * u)), + (t._rangebreaks = []), + (t._lBreaks = 0), + (t._m2 = 0), + (t._B = []), + t.rangebreaks && + ((t._rangebreaks = t.locateBreaks( + Math.min(u, c), + Math.max(u, c), + )), + t._rangebreaks.length)) + ) { + for (s = 0; s < t._rangebreaks.length; s++) + (l = t._rangebreaks[s]), + (t._lBreaks += Math.abs(l.max - l.min)); + var h = f; + u > c && (h = !h), h && t._rangebreaks.reverse(); + var d = h ? -1 : 1; + for ( + t._m2 = + (d * t._length) / + (Math.abs(c - u) - t._lBreaks), + t._B.push(-t._m2 * (f ? c : u)), + s = 0; + s < t._rangebreaks.length; + s++ + ) + (l = t._rangebreaks[s]), + t._B.push( + t._B[t._B.length - 1] - + d * t._m2 * (l.max - l.min), + ); + for (s = 0; s < t._rangebreaks.length; s++) + ((l = t._rangebreaks[s]).pmin = B(l.min)), + (l.pmax = B(l.max)); + } + if ( + !isFinite(t._m) || + !isFinite(t._b) || + t._length < 0 + ) + throw ( + ((e._replotting = !1), + new Error( + "Something went wrong with axis scaling", + )) + ); + }), + (t.maskBreaks = function (e) { + var r, + n, + i, + o, + s, + u = t.rangebreaks || []; + u._cachedPatterns || + (u._cachedPatterns = u.map(function (e) { + return e.enabled && e.bounds + ? a.simpleMap(e.bounds, e.pattern ? l : t.d2c) + : null; + })), + u._cachedValues || + (u._cachedValues = u.map(function (e) { + return e.enabled && e.values + ? a + .simpleMap(e.values, t.d2c) + .sort(a.sorterAsc) + : null; + })); + for (var c = 0; c < u.length; c++) { + var f = u[c]; + if (f.enabled) + if (f.bounds) { + var h = f.pattern; + switch ( + ((n = (r = u._cachedPatterns[c])[0]), + (i = r[1]), + h) + ) { + case A: + (o = (s = new Date(e)).getUTCDay()), + n > i && ((i += 7), o < n && (o += 7)); + break; + case k: + (o = + (s = new Date(e)).getUTCHours() + + (s.getUTCMinutes() / 60 + + s.getUTCSeconds() / 3600 + + s.getUTCMilliseconds() / 36e5)), + n > i && + ((i += 24), o < n && (o += 24)); + break; + case "": + o = e; + } + if (o >= n && o < i) return v; + } else + for ( + var p = u._cachedValues[c], d = 0; + d < p.length; + d++ + ) + if ( + ((i = (n = p[d]) + f.dvalue), + e >= n && e < i) + ) + return v; + } + return e; + }), + (t.locateBreaks = function (e, r) { + var n, + i, + o, + s, + u = []; + if (!t.rangebreaks) return u; + var c = t.rangebreaks.slice().sort(function (t, e) { + return t.pattern === A && e.pattern === k + ? -1 + : e.pattern === A && t.pattern === k + ? 1 + : 0; + }), + f = function (t, n) { + if ( + (t = a.constrain(t, e, r)) !== + (n = a.constrain(n, e, r)) + ) { + for (var i = !0, o = 0; o < u.length; o++) { + var s = u[o]; + t < s.max && + n >= s.min && + (t < s.min && (s.min = t), + n > s.max && (s.max = n), + (i = !1)); + } + i && u.push({ min: t, max: n }); + } + }; + for (n = 0; n < c.length; n++) { + var h = c[n]; + if (h.enabled) + if (h.bounds) { + var p = e, + d = r; + h.pattern && (p = Math.floor(p)), + (o = (i = a.simpleMap( + h.bounds, + h.pattern ? l : t.r2l, + ))[0]), + (s = i[1]); + var v, + g, + w = new Date(p); + switch (h.pattern) { + case A: + (g = y), + (v = (s - o + (s < o ? 7 : 0)) * m), + (p += + o * m - + (w.getUTCDay() * m + + w.getUTCHours() * x + + w.getUTCMinutes() * b + + w.getUTCSeconds() * _ + + w.getUTCMilliseconds())); + break; + case k: + (g = m), + (v = (s - o + (s < o ? 24 : 0)) * x), + (p += + o * x - + (w.getUTCHours() * x + + w.getUTCMinutes() * b + + w.getUTCSeconds() * _ + + w.getUTCMilliseconds())); + break; + default: + (p = Math.min(i[0], i[1])), + (v = g = + (d = Math.max(i[0], i[1])) - p); + } + for (var T = p; T < d; T += g) f(T, T + v); + } else + for ( + var M = a.simpleMap(h.values, t.d2c), S = 0; + S < M.length; + S++ + ) + f((o = M[S]), (s = o + h.dvalue)); + } + return ( + u.sort(function (t, e) { + return t.min - e.min; + }), + u + ); + }), + (t.makeCalcdata = function (e, r, n) { + var i, + o, + s, + l, + u = t.type, + c = "date" === u && e[r + "calendar"]; + if (r in e) { + if ( + ((i = e[r]), + (l = e._length || a.minRowLength(i)), + a.isTypedArray(i) && + ("linear" === u || "log" === u)) + ) { + if (l === i.length) return i; + if (i.subarray) return i.subarray(0, l); + } + if ("multicategory" === u) + return (function (t, e) { + for ( + var r = new Array(e), n = 0; + n < e; + n++ + ) { + var i = (t[0] || [])[n], + a = (t[1] || [])[n]; + r[n] = I([i, a]); + } + return r; + })(i, l); + for (o = new Array(l), s = 0; s < l; s++) + o[s] = t.d2c(i[s], 0, c, n); + } else { + var f = + r + "0" in e ? t.d2c(e[r + "0"], 0, c) : 0, + h = e["d" + r] ? Number(e["d" + r]) : 1; + for ( + i = e[{ x: "y", y: "x" }[r]], + l = e._length || i.length, + o = new Array(l), + s = 0; + s < l; + s++ + ) + o[s] = f + s * h; + } + if (t.rangebreaks) + for (s = 0; s < l; s++) o[s] = t.maskBreaks(o[s]); + return o; + }), + (t.isValidRange = function (e, r) { + return ( + Array.isArray(e) && + 2 === e.length && + ((r && null === e[0]) || s(t.r2l(e[0]))) && + ((r && null === e[1]) || s(t.r2l(e[1]))) + ); + }), + (t.getAutorangeDflt = function (e, r) { + var n = !t.isValidRange(e, "nullOk"); + return ( + n && r && r.reverseDflt + ? (n = "reversed") + : e && + (null === e[0] && null === e[1] + ? (n = !0) + : null === e[0] && null !== e[1] + ? (n = "min") + : null !== e[0] && + null === e[1] && + (n = "max")), + n + ); + }), + (t.isReversed = function () { + var e = t.autorange; + return ( + "reversed" === e || + "min reversed" === e || + "max reversed" === e + ); + }), + (t.isPtWithinRange = function (e, r) { + var n = t.c2l(e[p], null, r), + i = t.r2l(t.range[0]), + a = t.r2l(t.range[1]); + return i < a ? i <= n && n <= a : a <= n && n <= i; + }), + (t._emptyCategories = function () { + (t._categories = []), (t._categoriesMap = {}); + }), + (t.clearCalc = function () { + var r = t._matchGroup; + if (r) { + var n = null, + i = null; + for (var a in r) { + var o = e[w.id2name(a)]; + if (o._categories) { + (n = o._categories), (i = o._categoriesMap); + break; + } + } + n && i + ? ((t._categories = n), (t._categoriesMap = i)) + : t._emptyCategories(); + } else t._emptyCategories(); + if (t._initialCategories) + for ( + var s = 0; + s < t._initialCategories.length; + s++ + ) + P(t._initialCategories[s]); + }), + (t.sortByInitialCategories = function () { + var n = []; + if ((t._emptyCategories(), t._initialCategories)) + for ( + var i = 0; + i < t._initialCategories.length; + i++ + ) + P(t._initialCategories[i]); + n = n.concat(t._traceIndices); + var a = t._matchGroup; + for (var o in a) + if (r !== o) { + var s = e[w.id2name(o)]; + (s._categories = t._categories), + (s._categoriesMap = t._categoriesMap), + (n = n.concat(s._traceIndices)); + } + return n; + }); + var U = e._d3locale; + "date" === t.type && + ((t._dateFormat = U ? U.timeFormat : i), + (t._extraFormat = e._extraFormat)), + (t._separators = e.separators), + (t._numFormat = U ? U.numberFormat : o), + delete t._minDtick, + delete t._forceTick0; + }; + }, + 59652: function (t) { + "use strict"; + t.exports = 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]]; + }; + }, + 96115: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901).contrast, + a = r(13838), + o = r(59652), + s = r(85501); + function l(t, e) { + function r(r, i) { + return n.coerce(t, e, a.tickformatstops, r, i); + } + r("enabled") && (r("dtickrange"), r("value")); + } + t.exports = function (t, e, r, u, c) { + c || (c = {}); + var f = r("labelalias"); + n.isPlainObject(f) || delete e.labelalias; + var h = o(t); + if (r("showticklabels")) { + var p = c.font || {}, + d = e.color, + v = + -1 !== + (e.ticklabelposition || "").indexOf("inside") + ? i(c.bgColor) + : d && d !== a.color.dflt + ? d + : p.color; + if ( + (n.coerceFont(r, "tickfont", { + family: p.family, + size: p.size, + color: v, + }), + c.noTicklabelstep || + "multicategory" === u || + "log" === u || + r("ticklabelstep"), + c.noAng || r("tickangle"), + "category" !== u) + ) { + var g = r("tickformat"); + s(t, e, { + name: "tickformatstops", + inclusionAttr: "enabled", + handleItemDefaults: l, + }), + e.tickformatstops.length || + delete e.tickformatstops, + c.noExp || + g || + "date" === u || + (r("showexponent", h), + r("exponentformat"), + r("minexponent"), + r("separatethousands")); + } + } + }; + }, + 38701: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(13838); + t.exports = function (t, e, r, a) { + var o = a.isMinor, + s = o ? t.minor || {} : t, + l = o ? e.minor : e, + u = o ? i.minor : i, + c = o ? "minor." : "", + f = n.coerce2( + s, + l, + u, + "ticklen", + o ? 0.6 * (e.ticklen || 5) : void 0, + ), + h = n.coerce2( + s, + l, + u, + "tickwidth", + o ? e.tickwidth || 1 : void 0, + ), + p = n.coerce2( + s, + l, + u, + "tickcolor", + (o ? e.tickcolor : void 0) || l.color, + ); + r( + c + "ticks", + (!o && a.outerTicks) || f || h || p ? "outside" : "", + ) || + (delete l.ticklen, + delete l.tickwidth, + delete l.tickcolor); + }; + }, + 26218: function (t, e, r) { + "use strict"; + var n = r(66287), + i = r(71828).isArrayOrTypedArray; + t.exports = function (t, e, r, a, o) { + o || (o = {}); + var s = o.isMinor, + l = s ? t.minor || {} : t, + u = s ? e.minor : e, + c = s ? "minor." : ""; + function f(t) { + var e = l[t]; + return void 0 !== e ? e : (u._template || {})[t]; + } + var h = f("tick0"), + p = f("dtick"), + d = f("tickvals"), + v = r( + c + "tickmode", + i(d) ? "array" : p ? "linear" : "auto", + ); + if ("auto" === v || "sync" === v) r(c + "nticks"); + else if ("linear" === v) { + var g = (u.dtick = n.dtick(p, a)); + u.tick0 = n.tick0(h, a, e.calendar, g); + } else + "multicategory" !== a && + (void 0 === r(c + "tickvals") + ? (u.tickmode = "auto") + : s || r("ticktext")); + }; + }, + 66847: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(71828), + o = r(91424), + s = r(89298); + t.exports = function (t, e, r, l) { + var u = t._fullLayout; + if (0 !== e.length) { + var c, f, h, p; + l && (c = l()); + var d = n.ease(r.easing); + return ( + t._transitionData._interruptCallbacks.push( + function () { + return ( + window.cancelAnimationFrame(p), + (p = null), + (function () { + for (var r = {}, n = 0; n < e.length; n++) { + var a = e[n], + o = a.plotinfo.xaxis, + s = a.plotinfo.yaxis; + a.xr0 && + (r[o._name + ".range"] = a.xr0.slice()), + a.yr0 && + (r[s._name + ".range"] = + a.yr0.slice()); + } + return i + .call("relayout", t, r) + .then(function () { + for (var t = 0; t < e.length; t++) + v(e[t].plotinfo); + }); + })() + ); + }, + ), + (f = Date.now()), + (p = window.requestAnimationFrame(function n() { + h = Date.now(); + for ( + var a = Math.min(1, (h - f) / r.duration), + o = d(a), + s = 0; + s < e.length; + s++ + ) + g(e[s], o); + h - f > r.duration + ? ((function () { + for (var r = {}, n = 0; n < e.length; n++) { + var a = e[n], + o = a.plotinfo.xaxis, + s = a.plotinfo.yaxis; + a.xr1 && + (r[o._name + ".range"] = a.xr1.slice()), + a.yr1 && + (r[s._name + ".range"] = + a.yr1.slice()); + } + c && c(), + i + .call("relayout", t, r) + .then(function () { + for (var t = 0; t < e.length; t++) + v(e[t].plotinfo); + }); + })(), + (p = window.cancelAnimationFrame(n))) + : (p = window.requestAnimationFrame(n)); + })), + Promise.resolve() + ); + } + function v(t) { + var e = t.xaxis, + r = t.yaxis; + u._defs + .select("#" + t.clipId + "> rect") + .call(o.setTranslate, 0, 0) + .call(o.setScale, 1, 1), + t.plot + .call(o.setTranslate, e._offset, r._offset) + .call(o.setScale, 1, 1); + var n = t.plot.selectAll(".scatterlayer .trace"); + n + .selectAll(".point") + .call(o.setPointGroupScale, 1, 1), + n + .selectAll(".textpoint") + .call(o.setTextPointsScale, 1, 1), + n.call(o.hideOutsideRangePoints, t); + } + function g(e, r) { + var n = e.plotinfo, + i = n.xaxis, + l = n.yaxis, + u = i._length, + c = l._length, + f = !!e.xr1, + h = !!e.yr1, + p = []; + if (f) { + var d = a.simpleMap(e.xr0, i.r2l), + v = a.simpleMap(e.xr1, i.r2l), + g = d[1] - d[0], + y = v[1] - v[0]; + (p[0] = + ((d[0] * (1 - r) + r * v[0] - d[0]) / + (d[1] - d[0])) * + u), + (p[2] = u * (1 - r + (r * y) / g)), + (i.range[0] = i.l2r(d[0] * (1 - r) + r * v[0])), + (i.range[1] = i.l2r(d[1] * (1 - r) + r * v[1])); + } else (p[0] = 0), (p[2] = u); + if (h) { + var m = a.simpleMap(e.yr0, l.r2l), + x = a.simpleMap(e.yr1, l.r2l), + b = m[1] - m[0], + _ = x[1] - x[0]; + (p[1] = + ((m[1] * (1 - r) + r * x[1] - m[1]) / + (m[0] - m[1])) * + c), + (p[3] = c * (1 - r + (r * _) / b)), + (l.range[0] = i.l2r(m[0] * (1 - r) + r * x[0])), + (l.range[1] = l.l2r(m[1] * (1 - r) + r * x[1])); + } else (p[1] = 0), (p[3] = c); + s.drawOne(t, i, { skipTitle: !0 }), + s.drawOne(t, l, { skipTitle: !0 }), + s.redrawComponents(t, [i._id, l._id]); + var w = f ? u / p[2] : 1, + T = h ? c / p[3] : 1, + k = f ? p[0] : 0, + A = h ? p[1] : 0, + M = f ? (p[0] / p[2]) * u : 0, + S = h ? (p[1] / p[3]) * c : 0, + E = i._offset - M, + L = l._offset - S; + n.clipRect + .call(o.setTranslate, k, A) + .call(o.setScale, 1 / w, 1 / T), + n.plot + .call(o.setTranslate, E, L) + .call(o.setScale, w, T), + o.setPointGroupScale(n.zoomScalePts, 1 / w, 1 / T), + o.setTextPointsScale(n.zoomScaleTxt, 1 / w, 1 / T); + } + s.redrawComponents(t); + }; + }, + 951: function (t, e, r) { + "use strict"; + var n = r(73972).traceIs, + i = r(4322); + function a(t) { + return { v: "x", h: "y" }[t.orientation || "v"]; + } + function o(t, e) { + var r = a(t), + i = n(t, "box-violin"), + o = n(t._fullInput || {}, "candlestick"); + return ( + i && + !o && + e === r && + void 0 === t[r] && + void 0 === t[r + "0"] + ); + } + t.exports = function (t, e, r, s) { + r("autotypenumbers", s.autotypenumbersDflt), + "-" === r("type", (s.splomStash || {}).type) && + ((function (t, e) { + if ("-" === t.type) { + var r, + s = t._id, + l = s.charAt(0); + -1 !== s.indexOf("scene") && (s = l); + var u = (function (t, e, r) { + for (var n = 0; n < t.length; n++) { + var i = t[n]; + if ( + "splom" === i.type && + i._length > 0 && + (i["_" + r + "axes"] || {})[e] + ) + return i; + if ((i[r + "axis"] || r) === e) { + if (o(i, r)) return i; + if ((i[r] || []).length || i[r + "0"]) + return i; + } + } + })(e, s, l); + if (u) + if ( + "histogram" !== u.type || + l !== + { v: "y", h: "x" }[u.orientation || "v"] + ) { + var c = l + "calendar", + f = u[c], + h = { + noMultiCategory: + !n(u, "cartesian") || + n(u, "noMultiCategory"), + }; + if ( + ("box" === u.type && + u._hasPreCompStats && + l === + { h: "x", v: "y" }[ + u.orientation || "v" + ] && + (h.noMultiCategory = !0), + (h.autotypenumbers = t.autotypenumbers), + o(u, l)) + ) { + var p = a(u), + d = []; + for (r = 0; r < e.length; r++) { + var v = e[r]; + n(v, "box-violin") && + (v[l + "axis"] || l) === s && + (void 0 !== v[p] + ? d.push(v[p][0]) + : void 0 !== v.name + ? d.push(v.name) + : d.push("text"), + v[c] !== f && (f = void 0)); + } + t.type = i(d, f, h); + } else if ("splom" === u.type) { + var g = u.dimensions[u._axesDim[s]]; + g.visible && (t.type = i(g.values, f, h)); + } else + t.type = i(u[l] || [u[l + "0"]], f, h); + } else t.type = "linear"; + } + })(e, s.data), + "-" === e.type + ? (e.type = "linear") + : (t.type = e.type)); + }; + }, + 31137: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828); + function a(t, e, r) { + var n, + a, + o, + s = !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 ( + (a = i.nestedProperty(n, e.prop).get()), + (o = r[e.type] = r[e.type] || {}).hasOwnProperty( + e.prop, + ) && + o[e.prop] !== a && + (s = !0), + (o[e.prop] = a), + { changed: s, value: a } + ); + } + function o(t, e) { + var r = [], + n = e[0], + a = {}; + if ("string" == typeof n) a[n] = e[1]; + else { + if (!i.isPlainObject(n)) return r; + a = n; + } + return ( + l( + a, + function (t, e, n) { + r.push({ type: "layout", prop: t, value: n }); + }, + "", + 0, + ), + r + ); + } + function s(t, e) { + var r, + n, + a, + o, + s = []; + if ( + ((n = e[0]), + (a = e[1]), + (r = e[2]), + (o = {}), + "string" == typeof n) + ) + o[n] = a; + else { + if (!i.isPlainObject(n)) return s; + (o = n), void 0 === r && (r = a); + } + return ( + void 0 === r && (r = null), + l( + o, + function (e, n, i) { + var a, o; + if (Array.isArray(i)) { + o = i.slice(); + var l = Math.min(o.length, t.data.length); + r && (l = Math.min(l, r.length)), (a = []); + for (var u = 0; u < l; u++) a[u] = r ? r[u] : u; + } else (o = i), (a = r ? r.slice() : null); + if (null === a) Array.isArray(o) && (o = o[0]); + else if (Array.isArray(a)) { + if (!Array.isArray(o)) { + var c = o; + o = []; + for (var f = 0; f < a.length; f++) o[f] = c; + } + o.length = Math.min(a.length, o.length); + } + s.push({ + type: "data", + prop: e, + traces: a, + value: o, + }); + }, + "", + 0, + ), + s + ); + } + function l(t, e, r, n) { + Object.keys(t).forEach(function (a) { + var o = t[a]; + if ("_" !== a[0]) { + var s = r + (n > 0 ? "." : "") + a; + i.isPlainObject(o) ? l(o, e, s, n + 1) : e(s, a, o); + } + }); + } + (e.manageCommandObserver = function (t, r, n, o) { + var s = {}, + l = !0; + r && r._commandObserver && (s = r._commandObserver), + s.cache || (s.cache = {}), + (s.lookupTable = {}); + var u = e.hasSimpleAPICommandBindings( + t, + n, + s.lookupTable, + ); + if (r && r._commandObserver) { + if (u) return s; + if (r._commandObserver.remove) + return ( + r._commandObserver.remove(), + (r._commandObserver = null), + s + ); + } + if (u) { + a(t, u, s.cache), + (s.check = function () { + if (l) { + var e = a(t, u, s.cache); + return ( + e.changed && + o && + void 0 !== s.lookupTable[e.value] && + (s.disable(), + Promise.resolve( + o({ + value: e.value, + type: u.type, + prop: u.prop, + traces: u.traces, + index: s.lookupTable[e.value], + }), + ).then(s.enable, s.enable)), + e.changed + ); + } + }); + for ( + var c = [ + "plotly_relayout", + "plotly_redraw", + "plotly_restyle", + "plotly_update", + "plotly_animatingframe", + "plotly_afterplot", + ], + f = 0; + f < c.length; + f++ + ) + t._internalOn(c[f], s.check); + s.remove = function () { + for (var e = 0; e < c.length; e++) + t._removeInternalListener(c[e], s.check); + }; + } else + i.log( + "Unable to automatically bind plot updates to API command", + ), + (s.lookupTable = {}), + (s.remove = function () {}); + return ( + (s.disable = function () { + l = !1; + }), + (s.enable = function () { + l = !0; + }), + r && (r._commandObserver = s), + s + ); + }), + (e.hasSimpleAPICommandBindings = function (t, r, n) { + var i, + a, + o = r.length; + for (i = 0; i < o; i++) { + var s, + l = r[i], + u = l.method, + c = l.args; + if ((Array.isArray(c) || (c = []), !u)) return !1; + var f = e.computeAPICommandBindings(t, u, c); + if (1 !== f.length) return !1; + if (a) { + if ((s = f[0]).type !== a.type) return !1; + if (s.prop !== a.prop) return !1; + if (Array.isArray(a.traces)) { + if (!Array.isArray(s.traces)) return !1; + s.traces.sort(); + for (var h = 0; h < a.traces.length; h++) + if (a.traces[h] !== s.traces[h]) return !1; + } else if (s.prop !== a.prop) return !1; + } else + (a = f[0]), + Array.isArray(a.traces) && a.traces.sort(); + var p = (s = f[0]).value; + if (Array.isArray(p)) { + if (1 !== p.length) return !1; + p = p[0]; + } + n && (n[p] = i); + } + return a; + }), + (e.executeAPICommand = function (t, e, r) { + if ("skip" === e) return Promise.resolve(); + var a = n.apiMethodRegistry[e], + o = [t]; + Array.isArray(r) || (r = []); + for (var s = 0; s < r.length; s++) o.push(r[s]); + return a.apply(null, o).catch(function (t) { + return ( + i.warn( + "API call to Plotly." + e + " rejected.", + t, + ), + Promise.reject(t) + ); + }); + }), + (e.computeAPICommandBindings = function (t, e, r) { + var n; + switch ((Array.isArray(r) || (r = []), e)) { + case "restyle": + n = s(t, r); + break; + case "relayout": + n = o(0, r); + break; + case "update": + n = s(t, [r[0], r[2]]).concat(o(0, [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; + }); + }, + 27670: function (t, e, r) { + "use strict"; + var n = r(1426).extendFlat; + (e.Y = function (t, e) { + e = e || {}; + var r = { + valType: "info_array", + editType: (t = t || {}).editType, + items: [ + { + valType: "number", + min: 0, + max: 1, + editType: t.editType, + }, + { + valType: "number", + min: 0, + max: 1, + editType: t.editType, + }, + ], + dflt: [0, 1], + }, + i = + (t.name && t.name, + t.trace, + e.description && e.description, + { + x: n({}, r, {}), + y: n({}, r, {}), + editType: t.editType, + }); + return ( + t.noGridCell || + ((i.row = { + valType: "integer", + min: 0, + dflt: 0, + editType: t.editType, + }), + (i.column = { + valType: "integer", + min: 0, + dflt: 0, + editType: t.editType, + })), + i + ); + }), + (e.c = 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); + } + var u = r("domain.x", i), + c = r("domain.y", a); + u[0] < u[1] || (t.domain.x = i.slice()), + c[0] < c[1] || (t.domain.y = a.slice()); + }); + }, + 41940: function (t) { + "use strict"; + t.exports = 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.autoSize && (n.size.dflt = "auto"), + t.autoColor && (n.color.dflt = "auto"), + t.arrayOk && + ((n.family.arrayOk = !0), + (n.size.arrayOk = !0), + (n.color.arrayOk = !0)), + n + ); + }; + }, + 31391: function (t) { + "use strict"; + t.exports = { + _isLinkedToArray: "frames_entry", + group: { valType: "string" }, + name: { valType: "string" }, + traces: { valType: "any" }, + baseframe: { valType: "string" }, + data: { valType: "any" }, + layout: { valType: "any" }, + }; + }, + 78776: function (t, e) { + "use strict"; + (e.projNames = { + airy: "airy", + aitoff: "aitoff", + "albers usa": "albersUsa", + albers: "albers", + august: "august", + "azimuthal equal area": "azimuthalEqualArea", + "azimuthal equidistant": "azimuthalEquidistant", + baker: "baker", + bertin1953: "bertin1953", + boggs: "boggs", + bonne: "bonne", + bottomley: "bottomley", + bromley: "bromley", + collignon: "collignon", + "conic conformal": "conicConformal", + "conic equal area": "conicEqualArea", + "conic equidistant": "conicEquidistant", + craig: "craig", + craster: "craster", + "cylindrical equal area": "cylindricalEqualArea", + "cylindrical stereographic": "cylindricalStereographic", + eckert1: "eckert1", + eckert2: "eckert2", + eckert3: "eckert3", + eckert4: "eckert4", + eckert5: "eckert5", + eckert6: "eckert6", + eisenlohr: "eisenlohr", + "equal earth": "equalEarth", + equirectangular: "equirectangular", + fahey: "fahey", + "foucaut sinusoidal": "foucautSinusoidal", + foucaut: "foucaut", + ginzburg4: "ginzburg4", + ginzburg5: "ginzburg5", + ginzburg6: "ginzburg6", + ginzburg8: "ginzburg8", + ginzburg9: "ginzburg9", + gnomonic: "gnomonic", + "gringorten quincuncial": "gringortenQuincuncial", + gringorten: "gringorten", + guyou: "guyou", + hammer: "hammer", + hill: "hill", + homolosine: "homolosine", + hufnagel: "hufnagel", + hyperelliptical: "hyperelliptical", + kavrayskiy7: "kavrayskiy7", + lagrange: "lagrange", + larrivee: "larrivee", + laskowski: "laskowski", + loximuthal: "loximuthal", + mercator: "mercator", + miller: "miller", + mollweide: "mollweide", + "mt flat polar parabolic": "mtFlatPolarParabolic", + "mt flat polar quartic": "mtFlatPolarQuartic", + "mt flat polar sinusoidal": "mtFlatPolarSinusoidal", + "natural earth": "naturalEarth", + "natural earth1": "naturalEarth1", + "natural earth2": "naturalEarth2", + "nell hammer": "nellHammer", + nicolosi: "nicolosi", + orthographic: "orthographic", + patterson: "patterson", + "peirce quincuncial": "peirceQuincuncial", + polyconic: "polyconic", + "rectangular polyconic": "rectangularPolyconic", + robinson: "robinson", + satellite: "satellite", + "sinu mollweide": "sinuMollweide", + sinusoidal: "sinusoidal", + stereographic: "stereographic", + times: "times", + "transverse mercator": "transverseMercator", + "van der grinten": "vanDerGrinten", + "van der grinten2": "vanDerGrinten2", + "van der grinten3": "vanDerGrinten3", + "van der grinten4": "vanDerGrinten4", + wagner4: "wagner4", + wagner6: "wagner6", + wiechel: "wiechel", + "winkel tripel": "winkel3", + winkel3: "winkel3", + }), + (e.axesNames = ["lonaxis", "lataxis"]), + (e.lonaxisSpan = { + orthographic: 180, + "azimuthal equal area": 360, + "azimuthal equidistant": 360, + "conic conformal": 180, + gnomonic: 160, + stereographic: 180, + "transverse mercator": 180, + "*": 360, + }), + (e.lataxisSpan = { + "conic conformal": 150, + stereographic: 179.5, + "*": 180, + }), + (e.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], + }, + }), + (e.clipPad = 0.001), + (e.precision = 0.1), + (e.landColor = "#F0DC82"), + (e.waterColor = "#3399FF"), + (e.locationmodeToLayer = { + "ISO-3": "countries", + "USA-states": "subunits", + "country names": "countries", + }), + (e.sphereSVG = { type: "Sphere" }), + (e.fillLayers = { ocean: 1, land: 1, lakes: 1 }), + (e.lineLayers = { + subunits: 1, + countries: 1, + coastlines: 1, + rivers: 1, + frame: 1, + }), + (e.layers = [ + "bg", + "ocean", + "land", + "lakes", + "subunits", + "countries", + "coastlines", + "rivers", + "lataxis", + "lonaxis", + "frame", + "backplot", + "frontplot", + ]), + (e.layersForChoropleth = [ + "bg", + "ocean", + "land", + "subunits", + "countries", + "coastlines", + "lataxis", + "lonaxis", + "frame", + "backplot", + "rivers", + "lakes", + "frontplot", + ]), + (e.layerNameToAdjective = { + ocean: "ocean", + land: "land", + lakes: "lake", + subunits: "subunit", + countries: "country", + coastlines: "coastline", + rivers: "river", + frame: "frame", + }); + }, + 69082: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(27362), + a = i.geoPath, + o = i.geoDistance, + s = r(65704), + l = r(73972), + u = r(71828), + c = u.strTranslate, + f = r(7901), + h = r(91424), + p = r(30211), + d = r(74875), + v = r(89298), + g = r(71739).getAutoRange, + y = r(28569), + m = r(47322).prepSelect, + x = r(47322).clearOutline, + b = r(47322).selectOnClick, + _ = r(74455), + w = r(78776), + T = r(41327), + k = r(90973), + A = r(96892).zL; + function M(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.scope = 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(); + } + var S = M.prototype; + function E(t, e) { + var r = w.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], + ], + ], + }; + } + (t.exports = function (t) { + return new M(t); + }), + (S.plot = function (t, e, r, n) { + var i = this; + if (n) return i.update(t, e, !0); + (i._geoCalcData = t), (i._fullLayout = e); + var a = e[this.id], + o = [], + s = !1; + for (var l in w.layerNameToAdjective) + if ("frame" !== l && a["show" + l]) { + s = !0; + break; + } + for (var u = !1, c = 0; c < t.length; c++) { + var f = t[0][0].trace; + (f._geo = i), f.locationmode && (s = !0); + var h = f.marker; + if (h) { + var p = h.angle, + d = h.angleref; + (p || "north" === d || "previous" === d) && + (u = !0); + } + } + if (((this._hasMarkerAngles = u), s)) { + var v = k.getTopojsonName(a); + (null !== i.topojson && v === i.topojsonName) || + ((i.topojsonName = v), + void 0 === + PlotlyGeoAssets.topojson[i.topojsonName] && + o.push(i.fetchTopojson())); + } + (o = o.concat(T.fetchTraceGeoData(t))), + r.push( + new Promise(function (r, n) { + Promise.all(o) + .then(function () { + (i.topojson = + PlotlyGeoAssets.topojson[i.topojsonName]), + i.update(t, e), + r(); + }) + .catch(n); + }), + ); + }), + (S.fetchTopojson = function () { + var t = this, + e = k.getTopojsonPath( + t.topojsonURL, + t.topojsonName, + ); + return new Promise(function (r, i) { + n.json(e, function (n, a) { + if (n) + return 404 === n.status + ? i( + new Error( + [ + "plotly.js could not find topojson file at", + e + ".", + "Make sure the *topojsonURL* plot config option", + "is set properly.", + ].join(" "), + ), + ) + : i( + new Error( + [ + "unexpected error while fetching topojson file at", + e, + ].join(" "), + ), + ); + (PlotlyGeoAssets.topojson[t.topojsonName] = a), + r(); + }); + }); + }), + (S.update = function (t, e, r) { + var n = e[this.id]; + this.hasChoropleth = !1; + for (var i = 0; i < t.length; i++) { + var a = t[i], + o = a[0].trace; + "choropleth" === o.type && + (this.hasChoropleth = !0), + !0 === o.visible && + o._length > 0 && + o._module.calcGeoJSON(a, e); + } + if (!r) { + if (this.updateProjection(t, e)) return; + (this.viewInitial && this.scope === n.scope) || + this.saveViewInitial(n); + } + (this.scope = n.scope), + this.updateBaseLayers(e, n), + this.updateDims(e, n), + this.updateFx(e, n), + d.generalUpdatePerTraceModule( + this.graphDiv, + this, + t, + n, + ); + var s = this.layers.frontplot.select(".scatterlayer"); + (this.dataPoints.point = s.selectAll(".point")), + (this.dataPoints.text = s.selectAll("text")), + (this.dataPaths.line = s.selectAll(".js-line")); + var l = + this.layers.backplot.select(".choroplethlayer"); + (this.dataPaths.choropleth = l.selectAll("path")), + this._render(); + }), + (S.updateProjection = function (t, e) { + var r = this.graphDiv, + n = e[this.id], + l = e._size, + c = n.domain, + f = n.projection, + h = n.lonaxis, + p = n.lataxis, + d = h._ax, + v = p._ax, + y = (this.projection = (function (t) { + var e = t.projection, + r = e.type, + n = w.projNames[r]; + n = "geo" + u.titleCase(n); + for ( + var l = (i[n] || s[n])(), + c = t._isSatellite + ? (180 * Math.acos(1 / e.distance)) / + Math.PI + : t._isClipped + ? w.lonaxisSpan[r] / 2 + : null, + f = [ + "center", + "rotate", + "parallels", + "clipExtent", + ], + h = function (t) { + return t ? l : []; + }, + p = 0; + p < f.length; + p++ + ) { + var d = f[p]; + "function" != typeof l[d] && (l[d] = h); + } + return ( + (l.isLonLatOverEdges = function (t) { + if (null === l(t)) return !0; + if (c) { + var e = l.rotate(); + return ( + o(t, [-e[0], -e[1]]) > (c * Math.PI) / 180 + ); + } + return !1; + }), + (l.getPath = function () { + return a().projection(l); + }), + (l.getBounds = function (t) { + return l.getPath().bounds(t); + }), + l.precision(w.precision), + t._isSatellite && + l.tilt(e.tilt).distance(e.distance), + c && l.clipAngle(c - w.clipPad), + l + ); + })(n)), + m = [ + [l.l + l.w * c.x[0], l.t + l.h * (1 - c.y[1])], + [l.l + l.w * c.x[1], l.t + l.h * (1 - c.y[0])], + ], + x = n.center || {}, + b = f.rotation || {}, + _ = h.range || [], + T = p.range || []; + if (n.fitbounds) { + (d._length = m[1][0] - m[0][0]), + (v._length = m[1][1] - m[0][1]), + (d.range = g(r, d)), + (v.range = g(r, v)); + var k = (d.range[0] + d.range[1]) / 2, + A = (v.range[0] + v.range[1]) / 2; + if (n._isScoped) x = { lon: k, lat: A }; + else if (n._isClipped) { + (x = { lon: k, lat: A }), + (b = { lon: k, lat: A, roll: b.roll }); + var M = f.type, + S = w.lonaxisSpan[M] / 2 || 180, + L = w.lataxisSpan[M] / 2 || 90; + (_ = [k - S, k + S]), (T = [A - L, A + L]); + } else + (x = { lon: k, lat: A }), + (b = { lon: k, lat: b.lat, roll: b.roll }); + } + y.center([x.lon - b.lon, x.lat - b.lat]) + .rotate([-b.lon, -b.lat, b.roll]) + .parallels(f.parallels); + var C = E(_, T); + y.fitExtent(m, C); + var O = (this.bounds = y.getBounds(C)), + P = (this.fitScale = y.scale()), + I = y.translate(); + if (n.fitbounds) { + var D = y.getBounds(E(d.range, v.range)), + z = Math.min( + (O[1][0] - O[0][0]) / (D[1][0] - D[0][0]), + (O[1][1] - O[0][1]) / (D[1][1] - D[0][1]), + ); + isFinite(z) + ? y.scale(z * P) + : u.warn( + "Something went wrong during" + + this.id + + "fitbounds computations.", + ); + } else y.scale(f.scale * P); + var R = (this.midPt = [ + (O[0][0] + O[1][0]) / 2, + (O[0][1] + O[1][1]) / 2, + ]); + if ( + (y + .translate([ + I[0] + (R[0] - I[0]), + I[1] + (R[1] - I[1]), + ]) + .clipExtent(O), + n._isAlbersUsa) + ) { + var F = y([x.lon, x.lat]), + B = y.translate(); + y.translate([ + B[0] - (F[0] - B[0]), + B[1] - (F[1] - B[1]), + ]); + } + }), + (S.updateBaseLayers = function (t, e) { + var r = this, + i = r.topojson, + a = r.layers, + o = r.basePaths; + function s(t) { + return "lonaxis" === t || "lataxis" === t; + } + function l(t) { + return Boolean(w.lineLayers[t]); + } + function u(t) { + return Boolean(w.fillLayers[t]); + } + var c = ( + this.hasChoropleth + ? w.layersForChoropleth + : w.layers + ).filter(function (t) { + return l(t) || u(t) + ? e["show" + t] + : !s(t) || e[t].showgrid; + }), + p = r.framework.selectAll(".layer").data(c, String); + p.exit().each(function (t) { + delete a[t], delete o[t], n.select(this).remove(); + }), + p + .enter() + .append("g") + .attr("class", function (t) { + return "layer " + t; + }) + .each(function (t) { + var e = (a[t] = n.select(this)); + "bg" === t + ? (r.bgRect = e + .append("rect") + .style("pointer-events", "all")) + : s(t) + ? (o[t] = e + .append("path") + .style("fill", "none")) + : "backplot" === t + ? e.append("g").classed("choroplethlayer", !0) + : "frontplot" === t + ? e.append("g").classed("scatterlayer", !0) + : l(t) + ? (o[t] = e + .append("path") + .style("fill", "none") + .style("stroke-miterlimit", 2)) + : u(t) && + (o[t] = e + .append("path") + .style("stroke", "none")); + }), + p.order(), + p.each(function (r) { + var n = o[r], + a = w.layerNameToAdjective[r]; + "frame" === r + ? n.datum(w.sphereSVG) + : l(r) || u(r) + ? n.datum(A(i, i.objects[r])) + : s(r) && + n + .datum( + (function (t, e, r) { + var n, + i, + a, + o = e[t], + s = w.scopeDefaults[e.scope]; + "lonaxis" === t + ? ((n = s.lonaxisRange), + (i = s.lataxisRange), + (a = function (t, e) { + return [t, e]; + })) + : "lataxis" === t && + ((n = s.lataxisRange), + (i = s.lonaxisRange), + (a = function (t, e) { + return [e, t]; + })); + var l = { + type: "linear", + range: [n[0], n[1] - 1e-6], + tick0: o.tick0, + dtick: o.dtick, + }; + v.setConvert(l, r); + var u = v.calcTicks(l); + e.isScoped || + "lonaxis" !== t || + u.pop(); + for ( + var c = u.length, + f = new Array(c), + h = 0; + h < c; + h++ + ) + for ( + var p = u[h].x, + d = (f[h] = []), + g = i[0]; + g < i[1] + 2.5; + g += 2.5 + ) + d.push(a(p, g)); + return { + type: "MultiLineString", + coordinates: f, + }; + })(r, e, t), + ) + .call(f.stroke, e[r].gridcolor) + .call( + h.dashLine, + e[r].griddash, + e[r].gridwidth, + ), + l(r) + ? n + .call(f.stroke, e[a + "color"]) + .call(h.dashLine, "", e[a + "width"]) + : u(r) && n.call(f.fill, e[a + "color"]); + }); + }), + (S.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; + h.setRect(this.clipRect, i, a, o, s), + this.bgRect + .call(h.setRect, i, a, o, s) + .call(f.fill, e.bgcolor), + (this.xaxis._offset = i), + (this.xaxis._length = o), + (this.yaxis._offset = a), + (this.yaxis._length = s); + }), + (S.updateFx = function (t, e) { + var r = this, + i = r.graphDiv, + a = r.bgRect, + o = t.dragmode, + s = t.clickmode; + if (!r.isStatic) { + var c = { + element: r.bgRect.node(), + gd: i, + plotinfo: { + id: r.id, + xaxis: r.xaxis, + yaxis: r.yaxis, + fillRangeItems: function (t, e) { + e.isRect + ? ((t.range = {})[r.id] = [ + f([e.xmin, e.ymin]), + f([e.xmax, e.ymax]), + ]) + : ((t.lassoPoints = {})[r.id] = e.map(f)); + }, + }, + xaxes: [r.xaxis], + yaxes: [r.yaxis], + subplot: r.id, + clickFn: function (t) { + 2 === t && x(i); + }, + }; + "pan" === o + ? ((a.node().onmousedown = null), + a.call(_(r, e)), + a.on("dblclick.zoom", function () { + var t = r.viewInitial, + e = {}; + for (var n in t) e[r.id + "." + n] = t[n]; + l.call("_guiRelayout", i, e), + i.emit("plotly_doubleclick", null); + }), + i._context._scrollZoom.geo || + a.on("wheel.zoom", null)) + : ("select" !== o && "lasso" !== o) || + (a.on(".zoom", null), + (c.prepFn = function (t, e, r) { + m(t, e, r, c, o); + }), + y.init(c)), + a.on("mousemove", function () { + var t = r.projection.invert( + u.getPositionFromD3Event(), + ); + if (!t) return y.unhover(i, n.event); + (r.xaxis.p2c = function () { + return t[0]; + }), + (r.yaxis.p2c = function () { + return t[1]; + }), + p.hover(i, n.event, r.id); + }), + a.on("mouseout", function () { + i._dragging || y.unhover(i, n.event); + }), + a.on("click", function () { + "select" !== o && + "lasso" !== o && + (s.indexOf("select") > -1 && + b( + n.event, + i, + [r.xaxis], + [r.yaxis], + r.id, + c, + ), + s.indexOf("event") > -1 && + p.click(i, n.event)); + }); + } + function f(t) { + return r.projection.invert([ + t[0] + r.xaxis._offset, + t[1] + r.yaxis._offset, + ]); + } + }), + (S.makeFramework = function () { + var t = this, + e = t.graphDiv, + r = e._fullLayout, + i = "clip" + r._uid + t.id; + (t.clipDef = r._clips + .append("clipPath") + .attr("id", i)), + (t.clipRect = t.clipDef.append("rect")), + (t.framework = n + .select(t.container) + .append("g") + .attr("class", "geo " + t.id) + .call(h.setClipUrl, i, e)), + (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", + }), + v.setConvert(t.mockAxis, r); + }), + (S.saveViewInitial = function (t) { + var e, + r = t.center || {}, + n = t.projection, + i = n.rotation || {}; + (this.viewInitial = { + fitbounds: t.fitbounds, + "projection.scale": n.scale, + }), + (e = t._isScoped + ? { "center.lon": r.lon, "center.lat": r.lat } + : t._isClipped + ? { + "projection.rotation.lon": i.lon, + "projection.rotation.lat": i.lat, + } + : { + "center.lon": r.lon, + "center.lat": r.lat, + "projection.rotation.lon": i.lon, + }), + u.extendFlat(this.viewInitial, e); + }), + (S.render = function (t) { + this._hasMarkerAngles && t + ? this.plot( + this._geoCalcData, + this._fullLayout, + [], + !0, + ) + : this._render(); + }), + (S._render = function () { + var t, + e = this.projection, + r = e.getPath(); + function n(t) { + var r = e(t.lonlat); + return r ? c(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); + }); + }, + 44622: function (t, e, r) { + "use strict"; + var n = r(27659).AU, + i = r(71828).counterRegex, + a = r(69082), + o = "geo", + s = i(o), + l = {}; + (l.geo = { + valType: "subplotid", + dflt: o, + editType: "calc", + }), + (t.exports = { + attr: o, + name: o, + idRoot: o, + idRegex: s, + attrRegex: s, + attributes: l, + layoutAttributes: r(77519), + supplyLayoutDefaults: r(82161), + plot: function (t) { + for ( + var e = t._fullLayout, + r = t.calcdata, + i = e._subplots.geo, + s = 0; + s < i.length; + s++ + ) { + var l = i[s], + u = n(r, o, l), + c = e[l]._subplot; + c || + ((c = a({ + id: l, + graphDiv: t, + container: e._geolayer.node(), + topojsonURL: t._context.topojsonURL, + staticPlot: t._context.staticPlot, + })), + (e[l]._subplot = c)), + c.plot(u, e, t._promises); + } + }, + updateFx: function (t) { + for ( + var e = t._fullLayout, r = e._subplots.geo, n = 0; + n < r.length; + n++ + ) { + var i = e[r[n]]; + i._subplot.updateFx(e, i); + } + }, + 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()); + } + }, + }); + }, + 77519: function (t, e, r) { + "use strict"; + var n = r(22399), + i = r(27670).Y, + a = r(79952).P, + o = r(78776), + s = r(30962).overrideAll, + l = r(78607), + u = { + range: { + valType: "info_array", + items: [ + { valType: "number" }, + { valType: "number" }, + ], + }, + showgrid: { valType: "boolean", dflt: !1 }, + tick0: { valType: "number", dflt: 0 }, + dtick: { valType: "number" }, + gridcolor: { valType: "color", dflt: n.lightLine }, + gridwidth: { valType: "number", min: 0, dflt: 1 }, + griddash: a, + }; + (t.exports = s( + { + domain: i({ name: "geo" }, {}), + fitbounds: { + valType: "enumerated", + values: [!1, "locations", "geojson"], + dflt: !1, + editType: "plot", + }, + resolution: { + valType: "enumerated", + values: [110, 50], + dflt: 110, + coerceNumber: !0, + }, + scope: { + valType: "enumerated", + values: l(o.scopeDefaults), + dflt: "world", + }, + projection: { + type: { + valType: "enumerated", + values: l(o.projNames), + }, + rotation: { + lon: { valType: "number" }, + lat: { valType: "number" }, + roll: { valType: "number" }, + }, + tilt: { valType: "number", dflt: 0 }, + distance: { + valType: "number", + min: 1.001, + dflt: 2, + }, + parallels: { + valType: "info_array", + items: [ + { valType: "number" }, + { valType: "number" }, + ], + }, + scale: { valType: "number", min: 0, dflt: 1 }, + }, + center: { + lon: { valType: "number" }, + lat: { valType: "number" }, + }, + visible: { valType: "boolean", dflt: !0 }, + showcoastlines: { valType: "boolean" }, + coastlinecolor: { + valType: "color", + dflt: n.defaultLine, + }, + coastlinewidth: { + valType: "number", + min: 0, + dflt: 1, + }, + showland: { valType: "boolean", dflt: !1 }, + landcolor: { valType: "color", dflt: o.landColor }, + showocean: { valType: "boolean", dflt: !1 }, + oceancolor: { valType: "color", dflt: o.waterColor }, + showlakes: { valType: "boolean", dflt: !1 }, + lakecolor: { valType: "color", dflt: o.waterColor }, + showrivers: { valType: "boolean", dflt: !1 }, + rivercolor: { valType: "color", dflt: o.waterColor }, + riverwidth: { valType: "number", min: 0, dflt: 1 }, + showcountries: { valType: "boolean" }, + countrycolor: { + valType: "color", + dflt: n.defaultLine, + }, + countrywidth: { valType: "number", min: 0, dflt: 1 }, + showsubunits: { valType: "boolean" }, + subunitcolor: { + valType: "color", + dflt: n.defaultLine, + }, + subunitwidth: { valType: "number", min: 0, dflt: 1 }, + showframe: { valType: "boolean" }, + framecolor: { valType: "color", dflt: n.defaultLine }, + framewidth: { valType: "number", min: 0, dflt: 1 }, + bgcolor: { valType: "color", dflt: n.background }, + lonaxis: u, + lataxis: u, + }, + "plot", + "from-root", + )).uirevision = { valType: "any", editType: "none" }; + }, + 82161: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(49119), + a = r(27659).NG, + o = r(78776), + s = r(77519), + l = o.axesNames; + function u(t, e, r, i) { + var s = a(i.fullData, "geo", i.id).map(function (t) { + return t._expandedIndex; + }), + u = r("resolution"), + c = r("scope"), + f = o.scopeDefaults[c], + h = r("projection.type", f.projType), + p = (e._isAlbersUsa = "albers usa" === h); + p && (c = e.scope = "usa"); + var d = (e._isScoped = "world" !== c), + v = (e._isSatellite = "satellite" === h), + g = (e._isConic = + -1 !== h.indexOf("conic") || "albers" === h), + y = (e._isClipped = !!o.lonaxisSpan[h]); + if (!1 === t.visible) { + var m = n.extendDeep({}, e._template); + (m.showcoastlines = !1), + (m.showcountries = !1), + (m.showframe = !1), + (m.showlakes = !1), + (m.showland = !1), + (m.showocean = !1), + (m.showrivers = !1), + (m.showsubunits = !1), + m.lonaxis && (m.lonaxis.showgrid = !1), + m.lataxis && (m.lataxis.showgrid = !1), + (e._template = m); + } + for (var x = r("visible"), b = 0; b < l.length; b++) { + var _, + w = l[b], + T = [30, 10][b]; + if (d) _ = f[w + "Range"]; + else { + var k = o[w + "Span"], + A = (k[h] || k["*"]) / 2, + M = r( + "projection.rotation." + w.substr(0, 3), + f.projRotate[b], + ); + _ = [M - A, M + A]; + } + var S = r(w + ".range", _); + r(w + ".tick0"), + r(w + ".dtick", T), + r(w + ".showgrid", !!x && void 0) && + (r(w + ".gridcolor"), + r(w + ".gridwidth"), + r(w + ".griddash")), + (e[w]._ax = { + type: "linear", + _id: w.slice(0, 3), + _traceIndices: s, + setScale: n.identity, + c2l: n.identity, + r2l: n.identity, + autorange: !0, + range: S.slice(), + _m: 1, + _input: {}, + }); + } + var E = e.lonaxis.range, + L = e.lataxis.range, + C = E[0], + O = E[1]; + C > 0 && O < 0 && (O += 360); + var P, + I, + D, + z = (C + O) / 2; + if (!p) { + var R = d ? f.projRotate : [z, 0, 0]; + (P = r("projection.rotation.lon", R[0])), + r("projection.rotation.lat", R[1]), + r("projection.rotation.roll", R[2]), + r("showcoastlines", !d && x) && + (r("coastlinecolor"), r("coastlinewidth")), + r("showocean", !!x && void 0) && r("oceancolor"); + } + p + ? ((I = -96.6), (D = 38.7)) + : ((I = d ? z : P), (D = (L[0] + L[1]) / 2)), + r("center.lon", I), + r("center.lat", D), + v && (r("projection.tilt"), r("projection.distance")), + g && + r( + "projection.parallels", + f.projParallels || [0, 60], + ), + r("projection.scale"), + r("showland", !!x && void 0) && r("landcolor"), + r("showlakes", !!x && void 0) && r("lakecolor"), + r("showrivers", !!x && void 0) && + (r("rivercolor"), r("riverwidth")), + r("showcountries", d && "usa" !== c && x) && + (r("countrycolor"), r("countrywidth")), + ("usa" === c || + ("north america" === c && 50 === u)) && + (r("showsubunits", x), + r("subunitcolor"), + r("subunitwidth")), + d || + (r("showframe", x) && + (r("framecolor"), r("framewidth"))), + r("bgcolor"), + r("fitbounds") && + (delete e.projection.scale, + d + ? (delete e.center.lon, delete e.center.lat) + : y + ? (delete e.center.lon, + delete e.center.lat, + delete e.projection.rotation.lon, + delete e.projection.rotation.lat, + delete e.lonaxis.range, + delete e.lataxis.range) + : (delete e.center.lon, + delete e.center.lat, + delete e.projection.rotation.lon)); + } + t.exports = function (t, e, r) { + i(t, e, r, { + type: "geo", + attributes: s, + handleDefaults: u, + fullData: r, + partition: "y", + }); + }; + }, + 74455: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(73972), + o = Math.PI / 180, + s = 180 / Math.PI, + l = { cursor: "pointer" }, + u = { cursor: "auto" }; + function c(t, e) { + return n.behavior + .zoom() + .translate(e.translate()) + .scale(e.scale()); + } + function f(t, e, r) { + var n = t.id, + o = t.graphDiv, + s = o.layout, + l = s[n], + u = o._fullLayout, + c = u[n], + f = {}, + h = {}; + function p(t, e) { + (f[n + "." + t] = i.nestedProperty(l, t).get()), + a.call("_storeDirectGUIEdit", s, u._preGUI, f); + var r = i.nestedProperty(c, t); + r.get() !== e && + (r.set(e), + i.nestedProperty(l, t).set(e), + (h[n + "." + t] = e)); + } + r(p), + p("projection.scale", e.scale() / t.fitScale), + p("fitbounds", !1), + o.emit("plotly_relayout", h); + } + function h(t, e) { + var r = c(0, e); + function i(r) { + var n = e.invert(t.midPt); + r("center.lon", n[0]), r("center.lat", n[1]); + } + return ( + r + .on("zoomstart", function () { + n.select(this).style(l); + }) + .on("zoom", function () { + e + .scale(n.event.scale) + .translate(n.event.translate), + t.render(!0); + var r = e.invert(t.midPt); + t.graphDiv.emit("plotly_relayouting", { + "geo.projection.scale": e.scale() / t.fitScale, + "geo.center.lon": r[0], + "geo.center.lat": r[1], + }); + }) + .on("zoomend", function () { + n.select(this).style(u), f(t, e, i); + }), + r + ); + } + function p(t, e) { + var r, + i, + a, + o, + s, + h, + p, + d, + v, + g = c(0, e); + function y(t) { + return e.invert(t); + } + function m(r) { + var n = e.rotate(), + i = e.invert(t.midPt); + r("projection.rotation.lon", -n[0]), + r("center.lon", i[0]), + r("center.lat", i[1]); + } + return ( + g + .on("zoomstart", function () { + n.select(this).style(l), + (r = n.mouse(this)), + (i = e.rotate()), + (a = e.translate()), + (o = i), + (s = y(r)); + }) + .on("zoom", function () { + if ( + ((h = n.mouse(this)), + (function (t) { + var r = y(t); + if (!r) return !0; + var n = e(r); + return ( + Math.abs(n[0] - t[0]) > 2 || + Math.abs(n[1] - t[1]) > 2 + ); + })(r)) + ) + return ( + g.scale(e.scale()), + void g.translate(e.translate()) + ); + e.scale(n.event.scale), + e.translate([a[0], n.event.translate[1]]), + s + ? y(h) && + ((d = y(h)), + (p = [o[0] + (d[0] - s[0]), i[1], i[2]]), + e.rotate(p), + (o = p)) + : (s = y((r = h))), + (v = !0), + t.render(!0); + var l = e.rotate(), + u = e.invert(t.midPt); + t.graphDiv.emit("plotly_relayouting", { + "geo.projection.scale": e.scale() / t.fitScale, + "geo.center.lon": u[0], + "geo.center.lat": u[1], + "geo.projection.rotation.lon": -l[0], + }); + }) + .on("zoomend", function () { + n.select(this).style(u), v && f(t, e, m); + }), + g + ); + } + function d(t, e) { + var r, + i = { r: e.rotate(), k: e.scale() }, + a = c(0, e), + o = (function (t) { + for ( + var e = 0, r = arguments.length, i = []; + ++e < r; + + ) + i.push(arguments[e]); + var a = n.dispatch.apply(null, i); + return ( + (a.of = function (e, r) { + return function (i) { + var o; + try { + (o = i.sourceEvent = n.event), + (i.target = t), + (n.event = i), + a[i.type].apply(e, r); + } finally { + n.event = o; + } + }; + }), + a + ); + })(a, "zoomstart", "zoom", "zoomend"), + s = 0, + h = a.on; + function p(t) { + s++ || t({ type: "zoomstart" }); + } + function d(t) { + t({ type: "zoom" }); + } + function b(t) { + --s || t({ type: "zoomend" }); + } + function _(t) { + var r = e.rotate(); + t("projection.rotation.lon", -r[0]), + t("projection.rotation.lat", -r[1]); + } + return ( + a + .on("zoomstart", function () { + n.select(this).style(l); + var t = n.mouse(this), + s = e.rotate(), + u = s, + c = e.translate(), + f = g(s); + (r = v(e, t)), + h.call(a, "zoom", function () { + var a = n.mouse(this); + if ((e.scale((i.k = n.event.scale)), r)) { + if (v(e, a)) { + e.rotate(s).translate(c); + var l = v(e, a), + h = m(r, l), + p = T(y(f, h)), + g = (i.r = x(p, r, u)); + (isFinite(g[0]) && + isFinite(g[1]) && + isFinite(g[2])) || + (g = u), + e.rotate(g), + (u = g); + } + } else r = v(e, (t = a)); + d(o.of(this, arguments)); + }), + p(o.of(this, arguments)); + }) + .on("zoomend", function () { + n.select(this).style(u), + h.call(a, "zoom", null), + b(o.of(this, arguments)), + f(t, e, _); + }) + .on("zoom.redraw", function () { + t.render(!0); + var r = e.rotate(); + t.graphDiv.emit("plotly_relayouting", { + "geo.projection.scale": e.scale() / t.fitScale, + "geo.projection.rotation.lon": -r[0], + "geo.projection.rotation.lat": -r[1], + }); + }), + n.rebind(a, o, "on") + ); + } + function v(t, e) { + var r = t.invert(e); + return ( + r && + isFinite(r[0]) && + isFinite(r[1]) && + (function (t) { + var e = t[0] * o, + r = t[1] * o, + n = Math.cos(r); + return [ + n * Math.cos(e), + n * Math.sin(e), + Math.sin(r), + ]; + })(r) + ); + } + function g(t) { + var e = 0.5 * t[0] * o, + r = 0.5 * t[1] * o, + n = 0.5 * t[2] * o, + i = Math.sin(e), + a = Math.cos(e), + s = Math.sin(r), + l = Math.cos(r), + u = Math.sin(n), + c = Math.cos(n); + return [ + a * l * c + i * s * u, + i * l * c - a * s * u, + a * s * c + i * l * u, + a * l * u - i * s * c, + ]; + } + function y(t, e) { + var r = t[0], + n = t[1], + i = t[2], + a = t[3], + o = e[0], + s = e[1], + l = e[2], + u = e[3]; + return [ + r * o - n * s - i * l - a * u, + r * s + n * o + i * u - a * l, + r * l - n * u + i * o + a * s, + r * u + n * l - i * s + a * o, + ]; + } + function m(t, e) { + if (t && e) { + 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(k(r, r)), + i = + 0.5 * + Math.acos(Math.max(-1, Math.min(1, k(t, e)))), + a = Math.sin(i) / n; + return ( + n && [Math.cos(i), r[2] * a, -r[1] * a, r[0] * a] + ); + } + } + function x(t, e, r) { + var n = w(e, 2, t[0]); + (n = w(n, 1, t[1])), (n = w(n, 0, t[2] - r[2])); + var i, + a, + o = e[0], + l = e[1], + u = e[2], + c = n[0], + f = n[1], + h = n[2], + p = Math.atan2(l, o) * s, + d = Math.sqrt(o * o + l * l); + Math.abs(f) > d + ? ((a = (f > 0 ? 90 : -90) - p), (i = 0)) + : ((a = Math.asin(f / d) * s - p), + (i = Math.sqrt(d * d - f * f))); + var v = 180 - a - 2 * p, + g = (Math.atan2(h, c) - Math.atan2(u, i)) * s, + y = (Math.atan2(h, c) - Math.atan2(u, -i)) * s; + return b(r[0], r[1], a, g) <= b(r[0], r[1], v, y) + ? [a, g, r[2]] + : [v, y, r[2]]; + } + function b(t, e, r, n) { + var i = _(r - t), + a = _(n - e); + return Math.sqrt(i * i + a * a); + } + function _(t) { + return (((t % 360) + 540) % 360) - 180; + } + function w(t, e, r) { + var n = r * o, + i = t.slice(), + a = 0 === e ? 1 : 0, + s = 2 === e ? 1 : 2, + l = Math.cos(n), + u = Math.sin(n); + return ( + (i[a] = t[a] * l - t[s] * u), + (i[s] = t[s] * l + t[a] * u), + i + ); + } + function T(t) { + return [ + Math.atan2( + 2 * (t[0] * t[1] + t[2] * t[3]), + 1 - 2 * (t[1] * t[1] + t[2] * t[2]), + ) * s, + Math.asin( + Math.max( + -1, + Math.min(1, 2 * (t[0] * t[2] - t[3] * t[1])), + ), + ) * s, + Math.atan2( + 2 * (t[0] * t[3] + t[1] * t[2]), + 1 - 2 * (t[2] * t[2] + t[3] * t[3]), + ) * s, + ]; + } + function k(t, e) { + for (var r = 0, n = 0, i = t.length; n < i; ++n) + r += t[n] * e[n]; + return r; + } + t.exports = function (t, e) { + var r = t.projection; + return (e._isScoped ? h : e._isClipped ? d : p)(t, r); + }; + }, + 27659: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(85555).SUBPLOT_PATTERN; + (e.AU = function (t, e, r) { + var i = n.subplotsRegistry[e]; + if (!i) return []; + for (var a = i.attr, o = [], s = 0; s < t.length; s++) { + var l = t[s]; + l[0].trace[a] === r && o.push(l); + } + return o; + }), + (e.a0 = function (t, e) { + var r, + i = [], + a = []; + if ( + !(r = + "string" == typeof e + ? n.getModule(e).plot + : "function" == typeof e + ? e + : e.plot) + ) + return [i, t]; + for (var o = 0; o < t.length; o++) { + var s = t[o], + l = s[0].trace; + !0 === l.visible && + 0 !== l._length && + (l._module && l._module.plot === r + ? i.push(s) + : a.push(s)); + } + return [i, a]; + }), + (e.NG = function (t, e, r) { + if (!n.subplotsRegistry[e]) return []; + var a, + o, + s, + l = n.subplotsRegistry[e].attr, + u = []; + if ("gl2d" === e) { + var c = r.match(i); + (o = "x" + c[1]), (s = "y" + c[2]); + } + for (var f = 0; f < t.length; f++) + (a = t[f]), + "gl2d" === e && n.traceIs(a, "gl2d") + ? a[l[0]] === o && a[l[1]] === s && u.push(a) + : a[l] === r && u.push(a); + return u; + }); + }, + 75071: function (t, e, r) { + "use strict"; + var n = r(16825), + i = r(1195), + a = r(48956), + o = r(85555), + s = r(38520); + function l(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]); + } + t.exports = function (t) { + var e = t.mouseContainer, + r = t.glplot, + u = new l(e, r); + function c() { + (t.xaxis.autorange = !1), (t.yaxis.autorange = !1); + } + function f(e, n, i) { + var a, + s, + l = t.calcDataBox(), + f = r.viewBox, + h = u.lastPos[0], + p = u.lastPos[1], + d = o.MINDRAG * r.pixelRatio, + v = o.MINZOOM * r.pixelRatio; + function g(e, r, n) { + var i = Math.min(r, n), + a = Math.max(r, n); + i !== a + ? ((l[e] = i), + (l[e + 2] = a), + (u.dataBox = l), + t.setRanges(l)) + : ((t.selectBox.selectBox = [0, 0, 1, 1]), + t.glplot.setDirty()); + } + switch ( + ((n *= r.pixelRatio), + (i *= r.pixelRatio), + (i = f[3] - f[1] - i), + t.fullLayout.dragmode) + ) { + case "zoom": + if (e) { + var y = + (n / (f[2] - f[0])) * (l[2] - l[0]) + l[0], + m = + (i / (f[3] - f[1])) * (l[3] - l[1]) + l[1]; + u.boxInited || + ((u.boxStart[0] = y), + (u.boxStart[1] = m), + (u.dragStart[0] = n), + (u.dragStart[1] = i)), + (u.boxEnd[0] = y), + (u.boxEnd[1] = m), + (u.boxInited = !0), + u.boxEnabled || + (u.boxStart[0] === u.boxEnd[0] && + u.boxStart[1] === u.boxEnd[1]) || + (u.boxEnabled = !0); + var x = Math.abs(u.dragStart[0] - n) < v, + b = Math.abs(u.dragStart[1] - i) < v; + 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; + })() || + (x && b) + ) + x && (u.boxEnd[0] = u.boxStart[0]), + b && (u.boxEnd[1] = u.boxStart[1]); + else { + (a = u.boxEnd[0] - u.boxStart[0]), + (s = u.boxEnd[1] - u.boxStart[1]); + var _ = (l[3] - l[1]) / (l[2] - l[0]); + Math.abs(a * _) > Math.abs(s) + ? ((u.boxEnd[1] = + u.boxStart[1] + + Math.abs(a) * _ * (s >= 0 ? 1 : -1)), + u.boxEnd[1] < l[1] + ? ((u.boxEnd[1] = l[1]), + (u.boxEnd[0] = + u.boxStart[0] + + (l[1] - u.boxStart[1]) / + Math.abs(_))) + : u.boxEnd[1] > l[3] && + ((u.boxEnd[1] = l[3]), + (u.boxEnd[0] = + u.boxStart[0] + + (l[3] - u.boxStart[1]) / + Math.abs(_)))) + : ((u.boxEnd[0] = + u.boxStart[0] + + (Math.abs(s) / _) * (a >= 0 ? 1 : -1)), + u.boxEnd[0] < l[0] + ? ((u.boxEnd[0] = l[0]), + (u.boxEnd[1] = + u.boxStart[1] + + (l[0] - u.boxStart[0]) * + Math.abs(_))) + : u.boxEnd[0] > l[2] && + ((u.boxEnd[0] = l[2]), + (u.boxEnd[1] = + u.boxStart[1] + + (l[2] - u.boxStart[0]) * + Math.abs(_)))); + } + } else + u.boxEnabled + ? ((a = u.boxStart[0] !== u.boxEnd[0]), + (s = u.boxStart[1] !== u.boxEnd[1]), + a || s + ? (a && + (g(0, u.boxStart[0], u.boxEnd[0]), + (t.xaxis.autorange = !1)), + s && + (g(1, u.boxStart[1], u.boxEnd[1]), + (t.yaxis.autorange = !1)), + t.relayoutCallback()) + : t.glplot.setDirty(), + (u.boxEnabled = !1), + (u.boxInited = !1)) + : u.boxInited && (u.boxInited = !1); + break; + case "pan": + (u.boxEnabled = !1), + (u.boxInited = !1), + e + ? (u.panning || + ((u.dragStart[0] = n), + (u.dragStart[1] = i)), + Math.abs(u.dragStart[0] - n) < d && + (n = u.dragStart[0]), + Math.abs(u.dragStart[1] - i) < d && + (i = u.dragStart[1]), + (a = + ((h - n) * (l[2] - l[0])) / + (r.viewBox[2] - r.viewBox[0])), + (s = + ((p - i) * (l[3] - l[1])) / + (r.viewBox[3] - r.viewBox[1])), + (l[0] += a), + (l[2] += a), + (l[1] += s), + (l[3] += s), + t.setRanges(l), + (u.panning = !0), + (u.lastInputTime = Date.now()), + c(), + t.cameraChanged(), + t.handleAnnotations()) + : u.panning && + ((u.panning = !1), t.relayoutCallback()); + } + (u.lastPos[0] = n), (u.lastPos[1] = i); + } + return ( + (u.mouseListener = n(e, f)), + e.addEventListener( + "touchstart", + function (t) { + var r = a(t.changedTouches[0], e); + f(0, r[0], r[1]), + f(1, r[0], r[1]), + t.preventDefault(); + }, + !!s && { passive: !1 }, + ), + e.addEventListener( + "touchmove", + function (t) { + t.preventDefault(); + var r = a(t.changedTouches[0], e); + f(1, r[0], r[1]), t.preventDefault(); + }, + !!s && { passive: !1 }, + ), + e.addEventListener( + "touchend", + function (t) { + f(0, u.lastPos[0], u.lastPos[1]), + t.preventDefault(); + }, + !!s && { passive: !1 }, + ), + (u.wheelListener = i( + e, + function (e, n) { + if (!t.scrollZoom) return !1; + var i = t.calcDataBox(), + a = r.viewBox, + o = u.lastPos[0], + s = u.lastPos[1], + l = Math.exp((5 * n) / (a[3] - a[1])), + f = (o / (a[2] - a[0])) * (i[2] - i[0]) + i[0], + h = (s / (a[3] - a[1])) * (i[3] - i[1]) + i[1]; + return ( + (i[0] = (i[0] - f) * l + f), + (i[2] = (i[2] - f) * l + f), + (i[1] = (i[1] - h) * l + h), + (i[3] = (i[3] - h) * l + h), + t.setRanges(i), + (u.lastInputTime = Date.now()), + c(), + t.cameraChanged(), + t.handleAnnotations(), + t.relayoutCallback(), + !0 + ); + }, + !0, + )), + u + ); + }; + }, + 82961: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(78614); + function a(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, 0.5], + [0, 0, 0, 0.5], + ]), + (this.gridLineWidth = [1, 1]), + (this.zeroLineEnable = [!0, !0]), + (this.zeroLineWidth = [1, 1]), + (this.zeroLineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.borderColor = [0, 0, 0, 0]), + (this.backgroundColor = [0, 0, 0, 0]), + (this.static = this.scene.staticPlot); + } + var o = a.prototype, + s = ["xaxis", "yaxis"]; + (o.merge = function (t) { + var e, r, n, a, o, l, u, c, f, h, p; + for ( + this.titleEnable = !1, + this.backgroundColor = i(t.plot_bgcolor), + h = 0; + h < 2; + ++h + ) { + var d = (e = s[h]).charAt(0); + for ( + n = + (r = t[this.scene[e]._name]).title.text === + this.scene.fullLayout._dfltTitle[d] + ? "" + : r.title.text, + p = 0; + p <= 2; + p += 2 + ) + (this.labelEnable[h + p] = !1), + (this.labels[h + p] = n), + (this.labelColor[h + p] = i(r.title.font.color)), + (this.labelFont[h + p] = r.title.font.family), + (this.labelSize[h + p] = r.title.font.size), + (this.labelPad[h + p] = this.getLabelPad(e, r)), + (this.tickEnable[h + p] = !1), + (this.tickColor[h + p] = i( + (r.tickfont || {}).color, + )), + (this.tickAngle[h + p] = + "auto" === r.tickangle + ? 0 + : (Math.PI * -r.tickangle) / 180), + (this.tickPad[h + p] = this.getTickPad(r)), + (this.tickMarkLength[h + p] = 0), + (this.tickMarkWidth[h + p] = r.tickwidth || 0), + (this.tickMarkColor[h + p] = i(r.tickcolor)), + (this.borderLineEnable[h + p] = !1), + (this.borderLineColor[h + p] = i(r.linecolor)), + (this.borderLineWidth[h + p] = r.linewidth || 0); + (u = this.hasSharedAxis(r)), + (o = this.hasAxisInDfltPos(e, r) && !u), + (l = this.hasAxisInAltrPos(e, r) && !u), + (a = r.mirror || !1), + (c = u ? -1 !== String(a).indexOf("all") : !!a), + (f = u + ? "allticks" === a + : -1 !== String(a).indexOf("ticks")), + o + ? (this.labelEnable[h] = !0) + : l && (this.labelEnable[h + 2] = !0), + o + ? (this.tickEnable[h] = r.showticklabels) + : l && + (this.tickEnable[h + 2] = r.showticklabels), + (o || c) && (this.borderLineEnable[h] = r.showline), + (l || c) && + (this.borderLineEnable[h + 2] = r.showline), + (o || f) && + (this.tickMarkLength[h] = + this.getTickMarkLength(r)), + (l || f) && + (this.tickMarkLength[h + 2] = + this.getTickMarkLength(r)), + (this.gridLineEnable[h] = r.showgrid), + (this.gridLineColor[h] = i(r.gridcolor)), + (this.gridLineWidth[h] = r.gridwidth), + (this.zeroLineEnable[h] = r.zeroline), + (this.zeroLineColor[h] = i(r.zerolinecolor)), + (this.zeroLineWidth[h] = r.zerolinewidth); + } + }), + (o.hasSharedAxis = function (t) { + var e = this.scene, + r = e.fullLayout._subplots.gl2d; + return ( + 0 !== n.findSubplotsWithAxis(r, t).indexOf(e.id) + ); + }), + (o.hasAxisInDfltPos = function (t, e) { + var r = e.side; + return "xaxis" === t + ? "bottom" === r + : "yaxis" === t + ? "left" === r + : void 0; + }), + (o.hasAxisInAltrPos = function (t, e) { + var r = e.side; + return "xaxis" === t + ? "top" === r + : "yaxis" === t + ? "right" === r + : void 0; + }), + (o.getLabelPad = function (t, e) { + var r = 1.5, + n = e.title.font.size, + i = e.showticklabels; + return "xaxis" === t + ? "top" === e.side + ? n * (r + (i ? 1 : 0)) - 10 + : n * (r + (i ? 0.5 : 0)) - 10 + : "yaxis" === t + ? "right" === e.side + ? 10 + n * (r + (i ? 1 : 0.5)) + : 10 + n * (r + (i ? 0.5 : 0)) + : void 0; + }), + (o.getTickPad = function (t) { + return "outside" === t.ticks ? 10 + t.ticklen : 15; + }), + (o.getTickMarkLength = function (t) { + if (!t.ticks) return 0; + var e = t.ticklen; + return "inside" === t.ticks ? -e : e; + }), + (t.exports = function (t) { + return new a(t); + }); + }, + 4796: function (t, e, r) { + "use strict"; + var n = r(30962).overrideAll, + i = r(92918), + a = r(10820), + o = r(77922), + s = r(85555), + l = r(93612), + u = r(528), + c = r(27659).NG; + (e.name = "gl2d"), + (e.attr = ["xaxis", "yaxis"]), + (e.idRoot = ["x", "y"]), + (e.idRegex = s.idRegex), + (e.attrRegex = s.attrRegex), + (e.attributes = r(89502)), + (e.supplyLayoutDefaults = function (t, e, r) { + e._has("cartesian") || + l.supplyLayoutDefaults(t, e, r); + }), + (e.layoutAttrOverrides = n( + l.layoutAttributes, + "plot", + "from-root", + )), + (e.baseLayoutAttrOverrides = n( + { + plot_bgcolor: a.plot_bgcolor, + hoverlabel: u.hoverlabel, + }, + "plot", + "nested", + )), + (e.plot = function (t) { + for ( + var e = t._fullLayout, + r = t._fullData, + n = e._subplots.gl2d, + a = 0; + a < n.length; + a++ + ) { + var o = n[a], + s = e._plots[o], + l = c(r, "gl2d", o), + u = s._scene2d; + void 0 === u && + ((u = new i( + { + id: o, + graphDiv: t, + container: t.querySelector(".gl-container"), + staticPlot: t._context.staticPlot, + plotGlPixelRatio: t._context.plotGlPixelRatio, + }, + e, + )), + (s._scene2d = u)), + u.plot(l, t.calcdata, e, t.layout); + } + }), + (e.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) { + var u = c(t, "gl2d", o); + 0 === u.length && + (s._scene2d.destroy(), delete n._plots[o]); + } + } + l.clean.apply(this, arguments); + }), + (e.drawFramework = function (t) { + t._context.staticPlot || l.drawFramework(t); + }), + (e.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: o.svg, + "xlink:href": a, + x: 0, + y: 0, + width: "100%", + height: "100%", + preserveAspectRatio: "none", + }), + i.destroy(); + } + }), + (e.updateFx = function (t) { + for ( + var e = t._fullLayout, r = e._subplots.gl2d, n = 0; + n < r.length; + n++ + ) + e._plots[r[n]]._scene2d.updateFx(e.dragmode); + }); + }, + 92918: function (t, e, r) { + "use strict"; + var n, + i, + a = r(73972), + o = r(89298), + s = r(30211), + l = r(9330).gl_plot2d, + u = r(9330).gl_spikes2d, + c = r(9330).gl_select_box, + f = r(40372), + h = r(82961), + p = r(75071), + d = r(58617), + v = r(99082), + g = v.enforce, + y = v.clean, + m = r(71739).doAutoRange, + x = r(64505), + b = x.drawMode, + _ = x.selectMode, + w = ["xaxis", "yaxis"], + T = r(85555).SUBPLOT_PATTERN; + function k(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.cartesian), + (this.fullData = null), + this.updateRefs(e), + this.makeFramework(), + this.stopped || + ((this.glplotOptions = h(this)), + this.glplotOptions.merge(e), + (this.glplot = l(this.glplotOptions)), + (this.camera = p(this)), + (this.traces = {}), + (this.spikes = u(this.glplot)), + (this.selectBox = c(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()); + } + t.exports = k; + var A = k.prototype; + (A.makeFramework = function () { + if (this.staticPlot) { + if ( + !( + i || + ((n = document.createElement("canvas")), + (i = f({ + canvas: n, + preserveDrawingBuffer: !1, + premultipliedAlpha: !0, + antialias: !0, + }))) + ) + ) + throw new Error( + "Error creating static canvas/context for image server", + ); + (this.canvas = n), (this.gl = i); + } else { + var t = + this.container.querySelector(".gl-canvas-focus"), + e = f({ + canvas: t, + preserveDrawingBuffer: !0, + premultipliedAlpha: !0, + }); + if (!e) return d(this), void (this.stopped = !0); + (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); + var a = (this.svgContainer = document.createElementNS( + "http://www.w3.org/2000/svg", + "svg", + )); + (a.style.position = "absolute"), + (a.style.top = a.style.left = "0px"), + (a.style.width = a.style.height = "100%"), + (a.style["z-index"] = 20), + (a.style["pointer-events"] = "none"); + var o = (this.mouseContainer = + document.createElement("div")); + (o.style.position = "absolute"), + (o.style["pointer-events"] = "auto"), + (this.pickCanvas = + this.container.querySelector(".gl-canvas-pick")); + var s = this.container; + s.appendChild(a), s.appendChild(o); + var l = this; + o.addEventListener("mouseout", function () { + (l.isMouseOver = !1), l.unhover(); + }), + o.addEventListener("mouseover", function () { + l.isMouseOver = !0; + }); + }), + (A.toImage = function (t) { + t || (t = "png"), + (this.stopped = !0), + this.staticPlot && this.container.appendChild(n), + this.updateSize(this.canvas); + var e = this.glplot.gl, + r = e.drawingBufferWidth, + i = 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 a = new Uint8Array(r * i * 4); + e.readPixels(0, 0, r, i, e.RGBA, e.UNSIGNED_BYTE, a); + for (var o = 0, s = i - 1; o < s; ++o, --s) + for (var l = 0; l < r; ++l) + for (var u = 0; u < 4; ++u) { + var c = a[4 * (r * o + l) + u]; + (a[4 * (r * o + l) + u] = + a[4 * (r * s + l) + u]), + (a[4 * (r * s + l) + u] = c); + } + var f = document.createElement("canvas"); + (f.width = r), (f.height = i); + var h, + p = f.getContext("2d", { willReadFrequently: !0 }), + d = p.createImageData(r, i); + switch ((d.data.set(a), p.putImageData(d, 0, 0), t)) { + case "jpeg": + h = f.toDataURL("image/jpeg"); + break; + case "webp": + h = f.toDataURL("image/webp"); + break; + default: + h = f.toDataURL("image/png"); + } + return ( + this.staticPlot && this.container.removeChild(n), h + ); + }), + (A.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 + ); + }), + (A.computeTickMarks = function () { + this.xaxis.setScale(), this.yaxis.setScale(); + for ( + var t = [ + o.calcTicks(this.xaxis), + o.calcTicks(this.yaxis), + ], + e = 0; + e < 2; + ++e + ) + for (var r = 0; r < t[e].length; ++r) + t[e][r].text = t[e][r].text + ""; + return t; + }), + (A.updateRefs = function (t) { + this.fullLayout = t; + var e = this.id.match(T), + r = "xaxis" + e[1], + n = "yaxis" + e[2]; + (this.xaxis = this.fullLayout[r]), + (this.yaxis = this.fullLayout[n]); + }), + (A.relayoutCallback = function () { + var t = this.graphDiv, + e = this.xaxis, + r = this.yaxis, + n = t.layout, + i = {}, + o = (i[e._name + ".range"] = e.range.slice()), + s = (i[r._name + ".range"] = r.range.slice()); + (i[e._name + ".autorange"] = e.autorange), + (i[r._name + ".autorange"] = r.autorange), + a.call( + "_storeDirectGUIEdit", + t.layout, + t._fullLayout._preGUI, + i, + ); + var l = n[e._name]; + (l.range = o), (l.autorange = e.autorange); + var u = n[r._name]; + (u.range = s), + (u.autorange = r.autorange), + (i.lastInputTime = this.camera.lastInputTime), + t.emit("plotly_relayout", i); + }), + (A.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()); + }), + (A.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 && + a.getComponentMethod("annotations", "drawOne")( + t, + r, + ); + } + }), + (A.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); + } + }), + (A.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: r._axisConstraintGroups, + xaxis: this.xaxis, + yaxis: this.yaxis, + _size: r._size, + }, + }; + y(s, this.xaxis), y(s, this.yaxis); + var l, + u, + c = r._size, + f = this.xaxis.domain, + h = this.yaxis.domain; + for ( + o.viewBox = [ + c.l + f[0] * c.w, + c.b + h[0] * c.h, + i - c.r - (1 - f[1]) * c.w, + a - c.t - (1 - h[1]) * c.h, + ], + this.mouseContainer.style.width = + c.w * (f[1] - f[0]) + "px", + this.mouseContainer.style.height = + c.h * (h[1] - h[0]) + "px", + this.mouseContainer.height = c.h * (h[1] - h[0]), + this.mouseContainer.style.left = + c.l + f[0] * c.w + "px", + this.mouseContainer.style.top = + c.t + (1 - h[1]) * c.h + "px", + u = 0; + u < 2; + ++u + ) + ((l = this[w[u]])._length = + o.viewBox[u + 2] - o.viewBox[u]), + m(this.graphDiv, l), + l.setScale(); + g(s), + (o.ticks = this.computeTickMarks()), + (o.dataBox = this.calcDataBox()), + o.merge(r), + n.update(o), + this.glplot.draw(); + }), + (A.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])]; + }), + (A.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])]); + }), + (A.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; + }); + }), + (A.updateFx = function (t) { + _(t) || b(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); + }), + (A.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, + }; + s.appendArrayPointValue(o, r, i), + this.graphDiv.emit(e, { points: [o] }); + }), + (A.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, + l = this.canvas.height - t.pixelRatio * r.y; + if (e.boxEnabled && "zoom" === i.dragmode) { + this.selectBox.enabled = !0; + for ( + var u = (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]), + ]), + c = 0; + c < 2; + c++ + ) + e.boxStart[c] === e.boxEnd[c] && + ((u[c] = t.dataBox[c]), + (u[c + 2] = t.dataBox[c + 2])); + t.setDirty(); + } else if (!e.panning && this.isMouseOver) { + this.selectBox.enabled = !1; + var f = i._size, + h = this.xaxis.domain, + p = this.yaxis.domain, + d = + (a = t.pick( + o / t.pixelRatio + f.l + h[0] * f.w, + l / t.pixelRatio - (f.t + (1 - p[1]) * f.h), + )) && a.object._trace.handlePick(a); + if ( + (d && + n && + this.emitPointAction(d, "plotly_click"), + a && + "skip" !== a.object._trace.hoverinfo && + i.hovermode && + d && + (!this.lastPickResult || + this.lastPickResult.traceUid !== + d.trace.uid || + this.lastPickResult.dataCoord[0] !== + d.dataCoord[0] || + this.lastPickResult.dataCoord[1] !== + d.dataCoord[1])) + ) { + var v = d; + (this.lastPickResult = { + traceUid: d.trace ? d.trace.uid : null, + dataCoord: d.dataCoord.slice(), + }), + this.spikes.update({ center: a.dataCoord }), + (v.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(d, "plotly_hover"); + var g = this.fullData[v.trace.index] || {}, + y = v.pointIndex, + m = s.castHoverinfo(g, i, y); + if (m && "all" !== m) { + var x = m.split("+"); + -1 === x.indexOf("x") && + (v.traceCoord[0] = void 0), + -1 === x.indexOf("y") && + (v.traceCoord[1] = void 0), + -1 === x.indexOf("z") && + (v.traceCoord[2] = void 0), + -1 === x.indexOf("text") && + (v.textLabel = void 0), + -1 === x.indexOf("name") && + (v.name = void 0); + } + s.loneHover( + { + x: v.screenCoord[0], + y: v.screenCoord[1], + xLabel: this.hoverFormatter( + "xaxis", + v.traceCoord[0], + ), + yLabel: this.hoverFormatter( + "yaxis", + v.traceCoord[1], + ), + zLabel: v.traceCoord[2], + text: v.textLabel, + name: v.name, + color: + s.castHoverOption(g, y, "bgcolor") || + v.color, + borderColor: s.castHoverOption( + g, + y, + "bordercolor", + ), + fontFamily: s.castHoverOption( + g, + y, + "font.family", + ), + fontSize: s.castHoverOption( + g, + y, + "font.size", + ), + fontColor: s.castHoverOption( + g, + y, + "font.color", + ), + nameLength: s.castHoverOption( + g, + y, + "namelength", + ), + textAlign: s.castHoverOption(g, y, "align"), + }, + { + container: this.svgContainer, + gd: this.graphDiv, + }, + ); + } + } + a || this.unhover(), t.draw(); + } + }), + (A.unhover = function () { + this.lastPickResult && + (this.spikes.update({}), + (this.lastPickResult = null), + this.graphDiv.emit("plotly_unhover"), + s.loneUnhover(this.svgContainer)); + }), + (A.hoverFormatter = function (t, e) { + if (void 0 !== e) { + var r = this[t]; + return o.tickText(r, r.c2l(e), "hover").text; + } + }); + }, + 58547: function (t, e, r) { + "use strict"; + var n = r(30962).overrideAll, + i = r(528), + a = r(33539), + o = r(27659).NG, + s = r(71828), + l = r(77922), + u = "gl3d", + c = "scene"; + (e.name = u), + (e.attr = c), + (e.idRoot = c), + (e.idRegex = e.attrRegex = s.counterRegex("scene")), + (e.attributes = r(59084)), + (e.layoutAttributes = r(65500)), + (e.baseLayoutAttrOverrides = n( + { hoverlabel: i.hoverlabel }, + "plot", + "nested", + )), + (e.supplyLayoutDefaults = r(24682)), + (e.plot = function (t) { + for ( + var e = t._fullLayout, + r = t._fullData, + n = e._subplots.gl3d, + i = 0; + i < n.length; + i++ + ) { + var s = n[i], + l = o(r, u, s), + c = e[s], + f = c.camera, + h = c._scene; + h || + ((h = new a( + { + id: s, + graphDiv: t, + container: t.querySelector(".gl-container"), + staticPlot: t._context.staticPlot, + plotGlPixelRatio: t._context.plotGlPixelRatio, + camera: f, + }, + e, + )), + (c._scene = h)), + h.viewInitial || + (h.viewInitial = { + up: { x: f.up.x, y: f.up.y, z: f.up.z }, + eye: { x: f.eye.x, y: f.eye.y, z: f.eye.z }, + center: { + x: f.center.x, + y: f.center.y, + z: f.center.z, + }, + }), + h.plot(l, e, t.layout); + } + }), + (e.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()); + } + }), + (e.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, + u = s.toImage("png"); + e._glimages + .append("svg:image") + .attr({ + xmlns: l.svg, + "xlink:href": u, + 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(); + } + }), + (e.cleanId = function (t) { + if (t.match(/^scene[0-9]*$/)) { + var e = t.substr(5); + return "1" === e && (e = ""), c + e; + } + }), + (e.updateFx = function (t) { + for ( + var e = t._fullLayout, r = e._subplots.gl3d, n = 0; + n < r.length; + n++ + ) + e[r[n]]._scene.updateFx(e.dragmode, e.hovermode); + }); + }, + 59084: function (t) { + "use strict"; + t.exports = { + scene: { + valType: "subplotid", + dflt: "scene", + editType: "calc+clearAxisTypes", + }, + }; + }, + 77894: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(13838), + a = r(1426).extendFlat, + o = r(30962).overrideAll; + t.exports = o( + { + visible: i.visible, + showspikes: { valType: "boolean", dflt: !0 }, + spikesides: { valType: "boolean", dflt: !0 }, + spikethickness: { + valType: "number", + min: 0, + dflt: 2, + }, + spikecolor: { valType: "color", dflt: n.defaultLine }, + showbackground: { valType: "boolean", dflt: !1 }, + backgroundcolor: { + valType: "color", + dflt: "rgba(204, 204, 204, 0.5)", + }, + showaxeslabels: { valType: "boolean", dflt: !0 }, + color: i.color, + categoryorder: i.categoryorder, + categoryarray: i.categoryarray, + title: { text: i.title.text, font: i.title.font }, + type: a({}, i.type, { + values: ["-", "linear", "log", "date", "category"], + }), + autotypenumbers: i.autotypenumbers, + autorange: i.autorange, + autorangeoptions: { + minallowed: i.autorangeoptions.minallowed, + maxallowed: i.autorangeoptions.maxallowed, + clipmin: i.autorangeoptions.clipmin, + clipmax: i.autorangeoptions.clipmax, + include: i.autorangeoptions.include, + editType: "plot", + }, + rangemode: i.rangemode, + minallowed: i.minallowed, + maxallowed: i.maxallowed, + range: a({}, i.range, { + items: [ + { + valType: "any", + editType: "plot", + impliedEdits: { "^autorange": !1 }, + }, + { + valType: "any", + editType: "plot", + impliedEdits: { "^autorange": !1 }, + }, + ], + anim: !1, + }), + tickmode: i.minor.tickmode, + nticks: i.nticks, + tick0: i.tick0, + dtick: i.dtick, + tickvals: i.tickvals, + ticktext: i.ticktext, + ticks: i.ticks, + mirror: i.mirror, + ticklen: i.ticklen, + tickwidth: i.tickwidth, + tickcolor: i.tickcolor, + showticklabels: i.showticklabels, + labelalias: i.labelalias, + tickfont: i.tickfont, + tickangle: i.tickangle, + tickprefix: i.tickprefix, + showtickprefix: i.showtickprefix, + ticksuffix: i.ticksuffix, + showticksuffix: i.showticksuffix, + showexponent: i.showexponent, + exponentformat: i.exponentformat, + minexponent: i.minexponent, + separatethousands: i.separatethousands, + tickformat: i.tickformat, + tickformatstops: i.tickformatstops, + hoverformat: i.hoverformat, + showline: i.showline, + linecolor: i.linecolor, + linewidth: i.linewidth, + showgrid: i.showgrid, + gridcolor: a({}, i.gridcolor, { + dflt: "rgb(204, 204, 204)", + }), + gridwidth: i.gridwidth, + zeroline: i.zeroline, + zerolinecolor: i.zerolinecolor, + zerolinewidth: i.zerolinewidth, + _deprecated: { + title: i._deprecated.title, + titlefont: i._deprecated.titlefont, + }, + }, + "plot", + "from-root", + ); + }, + 3277: function (t, e, r) { + "use strict"; + var n = r(84267).mix, + i = r(71828), + a = r(44467), + o = r(77894), + s = r(951), + l = r(71453), + u = ["xaxis", "yaxis", "zaxis"]; + t.exports = function (t, e, r) { + var c, f; + function h(t, e) { + return i.coerce(c, f, o, t, e); + } + for (var p = 0; p < u.length; p++) { + var d = u[p]; + (c = t[d] || {}), + ((f = a.newContainer(e, d))._id = d[0] + r.scene), + (f._name = d), + s(c, f, h, r), + l( + c, + f, + h, + { + font: r.font, + letter: d[0], + data: r.data, + showGrid: !0, + noTickson: !0, + noTicklabelmode: !0, + noTicklabelstep: !0, + noTicklabelposition: !0, + noTicklabeloverflow: !0, + bgColor: r.bgColor, + calendar: r.calendar, + }, + r.fullLayout, + ), + h( + "gridcolor", + n( + f.color, + r.bgColor, + 72.72727272727273, + ).toRgbString(), + ), + h("title.text", d[0]), + (f.setScale = i.noop), + h("showspikes") && + (h("spikesides"), + h("spikethickness"), + h("spikecolor", f.color)), + h("showaxeslabels"), + h("showbackground") && h("backgroundcolor"); + } + }; + }, + 30422: function (t, e, r) { + "use strict"; + var n = r(78614), + i = r(71828), + a = ["xaxis", "yaxis", "zaxis"]; + function o() { + (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.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 = [ + [0.8, 0.8, 0.8, 0.5], + [0.8, 0.8, 0.8, 0.5], + [0.8, 0.8, 0.8, 0.5], + ]), + (this._defaultTickPad = this.tickPad.slice()), + (this._defaultLabelPad = this.labelPad.slice()), + (this._defaultLineTickLength = + this.lineTickLength.slice()); + } + (o.prototype.merge = function (t, e) { + for (var r = this, o = 0; o < 3; ++o) { + var s = e[a[o]]; + s.visible + ? ((r.labels[o] = t._meta + ? i.templateString(s.title.text, t._meta) + : s.title.text), + "font" in s.title && + (s.title.font.color && + (r.labelColor[o] = n(s.title.font.color)), + s.title.font.family && + (r.labelFont[o] = s.title.font.family), + s.title.font.size && + (r.labelSize[o] = s.title.font.size)), + "showline" in s && (r.lineEnable[o] = s.showline), + "linecolor" in s && + (r.lineColor[o] = n(s.linecolor)), + "linewidth" in s && + (r.lineWidth[o] = s.linewidth), + "showgrid" in s && (r.gridEnable[o] = s.showgrid), + "gridcolor" in s && + (r.gridColor[o] = n(s.gridcolor)), + "gridwidth" in s && + (r.gridWidth[o] = s.gridwidth), + "log" === s.type + ? (r.zeroEnable[o] = !1) + : "zeroline" in s && + (r.zeroEnable[o] = s.zeroline), + "zerolinecolor" in s && + (r.zeroLineColor[o] = n(s.zerolinecolor)), + "zerolinewidth" in s && + (r.zeroLineWidth[o] = s.zerolinewidth), + "ticks" in s && s.ticks + ? (r.lineTickEnable[o] = !0) + : (r.lineTickEnable[o] = !1), + "ticklen" in s && + (r.lineTickLength[o] = r._defaultLineTickLength[ + o + ] = + s.ticklen), + "tickcolor" in s && + (r.lineTickColor[o] = n(s.tickcolor)), + "tickwidth" in s && + (r.lineTickWidth[o] = s.tickwidth), + "tickangle" in s && + (r.tickAngle[o] = + "auto" === s.tickangle + ? -3600 + : (Math.PI * -s.tickangle) / 180), + "showticklabels" in s && + (r.tickEnable[o] = s.showticklabels), + "tickfont" in s && + (s.tickfont.color && + (r.tickColor[o] = n(s.tickfont.color)), + s.tickfont.family && + (r.tickFont[o] = s.tickfont.family), + s.tickfont.size && + (r.tickSize[o] = s.tickfont.size)), + "mirror" in s + ? -1 !== + ["ticks", "all", "allticks"].indexOf(s.mirror) + ? ((r.lineTickMirror[o] = !0), + (r.lineMirror[o] = !0)) + : !0 === s.mirror + ? ((r.lineTickMirror[o] = !1), + (r.lineMirror[o] = !0)) + : ((r.lineTickMirror[o] = !1), + (r.lineMirror[o] = !1)) + : (r.lineMirror[o] = !1), + "showbackground" in s && !1 !== s.showbackground + ? ((r.backgroundEnable[o] = !0), + (r.backgroundColor[o] = n(s.backgroundcolor))) + : (r.backgroundEnable[o] = !1)) + : ((r.tickEnable[o] = !1), + (r.labelEnable[o] = !1), + (r.lineEnable[o] = !1), + (r.lineTickEnable[o] = !1), + (r.gridEnable[o] = !1), + (r.zeroEnable[o] = !1), + (r.backgroundEnable[o] = !1)); + } + }), + (t.exports = function (t, e) { + var r = new o(); + return r.merge(t, e), r; + }); + }, + 24682: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(73972), + o = r(49119), + s = r(3277), + l = r(65500), + u = r(27659).NG, + c = "gl3d"; + function f(t, e, r, n) { + for ( + var o = r("bgcolor"), + l = i.combine(o, n.paper_bgcolor), + f = ["up", "center", "eye"], + h = 0; + h < f.length; + h++ + ) + r("camera." + f[h] + ".x"), + r("camera." + f[h] + ".y"), + r("camera." + f[h] + ".z"); + r("camera.projection.type"); + var p = + !!r("aspectratio.x") && + !!r("aspectratio.y") && + !!r("aspectratio.z"), + d = r("aspectmode", p ? "manual" : "auto"); + p || + ((t.aspectratio = e.aspectratio = + { x: 1, y: 1, z: 1 }), + "manual" === d && (e.aspectmode = "auto"), + (t.aspectmode = e.aspectmode)); + var v = u(n.fullData, c, n.id); + s(t, e, { + font: n.font, + scene: n.id, + data: v, + bgColor: l, + calendar: n.calendar, + autotypenumbersDflt: n.autotypenumbersDflt, + fullLayout: n.fullLayout, + }), + a.getComponentMethod( + "annotations3d", + "handleDefaults", + )(t, e, n); + var g = n.getDfltFromLayout("dragmode"); + if (!1 !== g && !g) + if (((g = "orbit"), t.camera && t.camera.up)) { + var y = t.camera.up.x, + m = t.camera.up.y, + x = t.camera.up.z; + 0 !== x && + (y && m && x + ? x / Math.sqrt(y * y + m * m + x * x) > + 0.999 && (g = "turntable") + : (g = "turntable")); + } else g = "turntable"; + r("dragmode", g), + r("hovermode", n.getDfltFromLayout("hovermode")); + } + t.exports = function (t, e, r) { + var i = e._basePlotModules.length > 1; + o(t, e, r, { + type: c, + attributes: l, + handleDefaults: f, + fullLayout: e, + font: e.font, + fullData: r, + getDfltFromLayout: function (e) { + if (!i) + return n.validate(t[e], l[e]) ? t[e] : void 0; + }, + autotypenumbersDflt: e.autotypenumbers, + paper_bgcolor: e.paper_bgcolor, + calendar: e.calendar, + }); + }; + }, + 65500: function (t, e, r) { + "use strict"; + var n = r(77894), + i = r(27670).Y, + a = r(1426).extendFlat, + o = r(71828).counterRegex; + function s(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", + }; + } + t.exports = { + _arrayAttrRegexps: [o("scene", ".annotations", !0)], + bgcolor: { + valType: "color", + dflt: "rgba(0,0,0,0)", + editType: "plot", + }, + camera: { + up: a(s(0, 0, 1), {}), + center: a(s(0, 0, 0), {}), + eye: a(s(1.25, 1.25, 1.25), {}), + projection: { + type: { + valType: "enumerated", + values: ["perspective", "orthographic"], + dflt: "perspective", + editType: "calc", + }, + editType: "calc", + }, + editType: "camera", + }, + domain: i({ 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: n, + yaxis: n, + zaxis: n, + dragmode: { + valType: "enumerated", + values: ["orbit", "turntable", "zoom", "pan", !1], + editType: "plot", + }, + hovermode: { + valType: "enumerated", + values: ["closest", !1], + dflt: "closest", + editType: "modebar", + }, + uirevision: { valType: "any", editType: "none" }, + editType: "plot", + _deprecated: { + cameraposition: { + valType: "info_array", + editType: "camera", + }, + }, + }; + }, + 13133: function (t, e, r) { + "use strict"; + var n = r(78614), + i = ["xaxis", "yaxis", "zaxis"]; + function a() { + (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]); + } + (a.prototype.merge = function (t) { + for (var e = 0; e < 3; ++e) { + var r = t[i[e]]; + r.visible + ? ((this.enabled[e] = r.showspikes), + (this.colors[e] = n(r.spikecolor)), + (this.drawSides[e] = r.spikesides), + (this.lineWidth[e] = r.spikethickness)) + : ((this.enabled[e] = !1), + (this.drawSides[e] = !1)); + } + }), + (t.exports = function (t) { + var e = new a(); + return e.merge(t), e; + }); + }, + 96085: function (t, e, r) { + "use strict"; + t.exports = function (t) { + for ( + var e = t.axesOptions, + r = t.glplot.axesPixels, + s = t.fullSceneLayout, + l = [[], [], []], + u = 0; + u < 3; + ++u + ) { + var c = s[a[u]]; + if ( + ((c._length = + ((r[u].hi - r[u].lo) * r[u].pixelsPerDataUnit) / + t.dataScale[u]), + Math.abs(c._length) === 1 / 0 || isNaN(c._length)) + ) + l[u] = []; + else { + (c._input_range = c.range.slice()), + (c.range[0] = r[u].lo / t.dataScale[u]), + (c.range[1] = r[u].hi / t.dataScale[u]), + (c._m = + 1 / (t.dataScale[u] * r[u].pixelsPerDataUnit)), + c.range[0] === c.range[1] && + ((c.range[0] -= 1), (c.range[1] += 1)); + var f = c.tickmode; + if ("auto" === c.tickmode) { + c.tickmode = "linear"; + var h = + c.nticks || i.constrain(c._length / 40, 4, 9); + n.autoTicks( + c, + Math.abs(c.range[1] - c.range[0]) / h, + ); + } + for ( + var p = n.calcTicks(c, { msUTC: !0 }), d = 0; + d < p.length; + ++d + ) + (p[d].x = p[d].x * t.dataScale[u]), + "date" === c.type && + (p[d].text = p[d].text.replace( + /\/g, + " ", + )); + (l[u] = p), (c.tickmode = f); + } + } + for (e.ticks = l, u = 0; u < 3; ++u) + for ( + o[u] = + 0.5 * + (t.glplot.bounds[0][u] + t.glplot.bounds[1][u]), + d = 0; + d < 2; + ++d + ) + e.bounds[d][u] = t.glplot.bounds[d][u]; + 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; + })(l); + }; + var n = r(89298), + i = r(71828), + a = ["xaxis", "yaxis", "zaxis"], + o = [0, 0, 0]; + }, + 63538: function (t) { + "use strict"; + function e(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; + } + t.exports = function (t, r) { + return e( + t.projection, + e(t.view, e(t.model, [r[0], r[1], r[2], 1])), + ); + }; + }, + 33539: function (t, e, r) { + "use strict"; + var n, + i, + a = r(9330).gl_plot3d, + o = a.createCamera, + s = a.createScene, + l = r(40372), + u = r(38520), + c = r(73972), + f = r(71828), + h = f.preserveDrawingBuffer(), + p = r(89298), + d = r(30211), + v = r(78614), + g = r(58617), + y = r(63538), + m = r(30422), + x = r(13133), + b = r(96085), + _ = r(71739).applyAutorangeOptions, + w = !1; + function T(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 = m(e, e[this.id])), + (this.spikeOptions = x(e[this.id])), + (this.container = r), + (this.staticMode = !!t.staticPlot), + (this.pixelRatio = + this.pixelRatio || t.plotGlPixelRatio || 2), + (this.dataScale = [1, 1, 1]), + (this.contourLevels = [[], [], []]), + (this.convertAnnotations = c.getComponentMethod( + "annotations3d", + "convert", + )), + (this.drawAnnotations = c.getComponentMethod( + "annotations3d", + "draw", + )), + this.initializeGLPlot(); + } + var k = T.prototype; + k.prepareOptions = function () { + var t = this, + e = { + canvas: t.canvas, + gl: t.gl, + glOptions: { + preserveDrawingBuffer: h, + premultipliedAlpha: !0, + antialias: !0, + }, + container: t.container, + axes: t.axesOptions, + spikes: t.spikeOptions, + pickRadius: 10, + snapToData: !0, + autoScale: !0, + autoBounds: !1, + cameraObject: t.camera, + pixelRatio: t.pixelRatio, + }; + if (t.staticMode) { + if ( + !( + i || + ((n = document.createElement("canvas")), + (i = l({ + canvas: n, + preserveDrawingBuffer: !0, + premultipliedAlpha: !0, + antialias: !0, + }))) + ) + ) + throw new Error( + "error creating static canvas/context for image server", + ); + (e.gl = i), (e.canvas = n); + } + return e; + }; + var A = !0; + (k.tryCreatePlot = function () { + var t = this, + e = t.prepareOptions(), + r = !0; + try { + t.glplot = s(e); + } catch (n) { + if (t.staticMode || !A || h) r = !1; + else { + f.warn( + [ + "webgl setup failed possibly due to", + "false preserveDrawingBuffer config.", + "The mobile/tablet device may not be detected by is-mobile module.", + "Enabling preserveDrawingBuffer in second attempt to create webgl scene...", + ].join(" "), + ); + try { + (h = e.glOptions.preserveDrawingBuffer = !0), + (t.glplot = s(e)); + } catch (t) { + (h = e.glOptions.preserveDrawingBuffer = !1), + (r = !1); + } + } + } + return (A = !1), r; + }), + (k.initializeGLCamera = function () { + var t = this, + e = t.fullSceneLayout.camera, + r = "orthographic" === e.projection.type; + t.camera = o(t.container, { + center: [e.center.x, e.center.y, e.center.z], + eye: [e.eye.x, e.eye.y, e.eye.z], + up: [e.up.x, e.up.y, e.up.z], + _ortho: r, + zoomMin: 0.01, + zoomMax: 100, + mode: "orbit", + }); + }), + (k.initializeGLPlot = function () { + var t = this; + if ((t.initializeGLCamera(), !t.tryCreatePlot())) + return g(t); + (t.traces = {}), t.make4thDimension(); + var e = t.graphDiv, + r = e.layout, + n = function () { + var e = {}; + return ( + t.isCameraChanged(r) && + (e[t.id + ".camera"] = t.getCamera()), + t.isAspectChanged(r) && + ((e[t.id + ".aspectratio"] = + t.glplot.getAspectratio()), + "manual" !== r[t.id].aspectmode && + (t.fullSceneLayout.aspectmode = + r[t.id].aspectmode = + e[t.id + ".aspectmode"] = + "manual")), + e + ); + }, + i = function (t) { + if (!1 !== t.fullSceneLayout.dragmode) { + var e = n(); + t.saveLayout(r), + t.graphDiv.emit("plotly_relayout", e); + } + }; + return ( + t.glplot.canvas && + (t.glplot.canvas.addEventListener( + "mouseup", + function () { + i(t); + }, + ), + t.glplot.canvas.addEventListener( + "touchstart", + function () { + w = !0; + }, + ), + t.glplot.canvas.addEventListener( + "wheel", + function (r) { + if (e._context._scrollZoom.gl3d) { + if (t.camera._ortho) { + var n = + r.deltaX > r.deltaY ? 1.1 : 1 / 1.1, + a = t.glplot.getAspectratio(); + t.glplot.setAspectratio({ + x: n * a.x, + y: n * a.y, + z: n * a.z, + }); + } + i(t); + } + }, + !!u && { passive: !1 }, + ), + t.glplot.canvas.addEventListener( + "mousemove", + function () { + if ( + !1 !== t.fullSceneLayout.dragmode && + 0 !== t.camera.mouseListener.buttons + ) { + var e = n(); + t.graphDiv.emit("plotly_relayouting", e); + } + }, + ), + t.staticMode || + t.glplot.canvas.addEventListener( + "webglcontextlost", + function (r) { + e && + e.emit && + e.emit("plotly_webglcontextlost", { + event: r, + layer: t.id, + }); + }, + !1, + )), + (t.glplot.oncontextloss = function () { + t.recoverContext(); + }), + (t.glplot.onrender = function () { + t.render(); + }), + !0 + ); + }), + (k.render = function () { + var t, + e = this, + r = e.graphDiv, + n = e.svgContainer, + i = e.container.getBoundingClientRect(); + r._fullLayout._calcInverseTransform(r); + var a = r._fullLayout._invScaleX, + o = r._fullLayout._invScaleY, + s = i.width * a, + l = i.height * o; + n.setAttributeNS( + null, + "viewBox", + "0 0 " + s + " " + l, + ), + n.setAttributeNS(null, "width", s), + n.setAttributeNS(null, "height", l), + b(e), + e.glplot.axes.update(e.axesOptions); + for ( + var u = Object.keys(e.traces), + c = null, + h = e.glplot.selection, + v = 0; + v < u.length; + ++v + ) + "skip" !== (t = e.traces[u[v]]).data.hoverinfo && + t.handlePick(h) && + (c = t), + t.setContourLevels && t.setContourLevels(); + function g(t, r, n) { + var i = e.fullSceneLayout[t + "axis"]; + return ( + "log" !== i.type && (r = i.d2l(r)), + p.hoverLabelText(i, r, n) + ); + } + if (null !== c) { + var m = y(e.glplot.cameraParams, h.dataCoordinate); + t = c.data; + var x, + _ = r._fullData[t.index], + T = h.index, + k = { + xLabel: g( + "x", + h.traceCoordinate[0], + t.xhoverformat, + ), + yLabel: g( + "y", + h.traceCoordinate[1], + t.yhoverformat, + ), + zLabel: g( + "z", + h.traceCoordinate[2], + t.zhoverformat, + ), + }, + A = d.castHoverinfo(_, e.fullLayout, T), + M = (A || "").split("+"), + S = A && "all" === A; + _.hovertemplate || + S || + (-1 === M.indexOf("x") && (k.xLabel = void 0), + -1 === M.indexOf("y") && (k.yLabel = void 0), + -1 === M.indexOf("z") && (k.zLabel = void 0), + -1 === M.indexOf("text") && + (h.textLabel = void 0), + -1 === M.indexOf("name") && (c.name = void 0)); + var E = []; + "cone" === t.type || "streamtube" === t.type + ? ((k.uLabel = g( + "x", + h.traceCoordinate[3], + t.uhoverformat, + )), + (S || -1 !== M.indexOf("u")) && + E.push("u: " + k.uLabel), + (k.vLabel = g( + "y", + h.traceCoordinate[4], + t.vhoverformat, + )), + (S || -1 !== M.indexOf("v")) && + E.push("v: " + k.vLabel), + (k.wLabel = g( + "z", + h.traceCoordinate[5], + t.whoverformat, + )), + (S || -1 !== M.indexOf("w")) && + E.push("w: " + k.wLabel), + (k.normLabel = + h.traceCoordinate[6].toPrecision(3)), + (S || -1 !== M.indexOf("norm")) && + E.push("norm: " + k.normLabel), + "streamtube" === t.type && + ((k.divergenceLabel = + h.traceCoordinate[7].toPrecision(3)), + (S || -1 !== M.indexOf("divergence")) && + E.push("divergence: " + k.divergenceLabel)), + h.textLabel && E.push(h.textLabel), + (x = E.join("
"))) + : "isosurface" === t.type || "volume" === t.type + ? ((k.valueLabel = p.hoverLabelText( + e._mockAxis, + e._mockAxis.d2l(h.traceCoordinate[3]), + t.valuehoverformat, + )), + E.push("value: " + k.valueLabel), + h.textLabel && E.push(h.textLabel), + (x = E.join("
"))) + : (x = h.textLabel); + var L = { + x: h.traceCoordinate[0], + y: h.traceCoordinate[1], + z: h.traceCoordinate[2], + data: _._input, + fullData: _, + curveNumber: _.index, + pointNumber: T, + }; + d.appendArrayPointValue(L, _, T), + t._module.eventData && + (L = _._module.eventData(L, h, _, {}, T)); + var C = { points: [L] }; + if (e.fullSceneLayout.hovermode) { + var O = []; + d.loneHover( + { + trace: _, + x: (0.5 + (0.5 * m[0]) / m[3]) * s, + y: (0.5 - (0.5 * m[1]) / m[3]) * l, + xLabel: k.xLabel, + yLabel: k.yLabel, + zLabel: k.zLabel, + text: x, + name: c.name, + color: + d.castHoverOption(_, T, "bgcolor") || + c.color, + borderColor: d.castHoverOption( + _, + T, + "bordercolor", + ), + fontFamily: d.castHoverOption( + _, + T, + "font.family", + ), + fontSize: d.castHoverOption( + _, + T, + "font.size", + ), + fontColor: d.castHoverOption( + _, + T, + "font.color", + ), + nameLength: d.castHoverOption( + _, + T, + "namelength", + ), + textAlign: d.castHoverOption(_, T, "align"), + hovertemplate: f.castOption( + _, + T, + "hovertemplate", + ), + hovertemplateLabels: f.extendFlat({}, L, k), + eventData: [L], + }, + { container: n, gd: r, inOut_bbox: O }, + ), + (L.bbox = O[0]); + } + h.distance < 5 && (h.buttons || w) + ? r.emit("plotly_click", C) + : r.emit("plotly_hover", C), + (this.oldEventData = C); + } else + d.loneUnhover(n), + this.oldEventData && + r.emit("plotly_unhover", this.oldEventData), + (this.oldEventData = void 0); + e.drawAnnotations(e); + }), + (k.recoverContext = function () { + var t = this; + t.glplot.dispose(); + var e = function () { + t.glplot.gl.isContextLost() + ? requestAnimationFrame(e) + : t.initializeGLPlot() + ? t.plot.apply(t, t.plotArgs) + : f.error( + "Catastrophic and unrecoverable WebGL error. Context lost.", + ); + }; + requestAnimationFrame(e); + }); + var M = ["xaxis", "yaxis", "zaxis"]; + function S(t, e, r) { + for (var n = t.fullSceneLayout, i = 0; i < 3; i++) { + var a = M[i], + o = a.charAt(0), + s = n[a], + l = e[o], + u = e[o + "calendar"], + c = e["_" + o + "length"]; + if (f.isArrayOrTypedArray(l)) + for (var h, p = 0; p < (c || l.length); p++) + if (f.isArrayOrTypedArray(l[p])) + for (var d = 0; d < l[p].length; ++d) + (h = s.d2l(l[p][d], 0, u)), + !isNaN(h) && + isFinite(h) && + ((r[0][i] = Math.min(r[0][i], h)), + (r[1][i] = Math.max(r[1][i], h))); + else + (h = s.d2l(l[p], 0, u)), + !isNaN(h) && + isFinite(h) && + ((r[0][i] = Math.min(r[0][i], h)), + (r[1][i] = Math.max(r[1][i], h))); + else + (r[0][i] = Math.min(r[0][i], 0)), + (r[1][i] = Math.max(r[1][i], c - 1)); + } + } + (k.plot = function (t, e, r) { + var n = this; + if (((n.plotArgs = [t, e, r]), !n.glplot.contextLost)) { + var i, + a, + o, + s, + l, + u, + c = e[n.id], + f = r[n.id]; + (n.fullLayout = e), + (n.fullSceneLayout = c), + n.axesOptions.merge(e, c), + n.spikeOptions.merge(c), + n.setViewport(c), + n.updateFx(c.dragmode, c.hovermode), + (n.camera.enableWheel = + n.graphDiv._context._scrollZoom.gl3d), + n.glplot.setClearColor(v(c.bgcolor)), + n.setConvert(l), + t ? Array.isArray(t) || (t = [t]) : (t = []); + var h = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ]; + for (o = 0; o < t.length; ++o) + !0 === (i = t[o]).visible && + 0 !== i._length && + S(this, i, h); + !(function (t, e) { + for ( + var r = t.fullSceneLayout, + n = r.annotations || [], + i = 0; + i < 3; + i++ + ) + for ( + var a = M[i], o = a.charAt(0), s = r[a], l = 0; + l < n.length; + l++ + ) { + var u = n[l]; + if (u.visible) { + var c = s.r2l(u[o]); + !isNaN(c) && + isFinite(c) && + ((e[0][i] = Math.min(e[0][i], c)), + (e[1][i] = Math.max(e[1][i], c))); + } + } + })(this, h); + var p = [1, 1, 1]; + for (s = 0; s < 3; ++s) + h[1][s] === h[0][s] + ? (p[s] = 1) + : (p[s] = 1 / (h[1][s] - h[0][s])); + for ( + n.dataScale = p, n.convertAnnotations(this), o = 0; + o < t.length; + ++o + ) + !0 === (i = t[o]).visible && + 0 !== i._length && + ((a = n.traces[i.uid]) + ? a.data.type === i.type + ? a.update(i) + : (a.dispose(), + (a = i._module.plot(this, i)), + (n.traces[i.uid] = a)) + : ((a = i._module.plot(this, i)), + (n.traces[i.uid] = a)), + (a.name = i.name)); + var d = Object.keys(n.traces); + t: for (o = 0; o < d.length; ++o) { + for (s = 0; s < t.length; ++s) + if ( + t[s].uid === d[o] && + !0 === t[s].visible && + 0 !== t[s]._length + ) + continue t; + (a = n.traces[d[o]]).dispose(), + delete n.traces[d[o]]; + } + n.glplot.objects.sort(function (t, e) { + return t._trace.data.index - e._trace.data.index; + }); + var g, + y = [ + [0, 0, 0], + [0, 0, 0], + ], + m = [], + x = {}; + for (o = 0; o < 3; ++o) { + var b; + if ( + ((u = (l = c[M[o]]).type) in x + ? ((x[u].acc *= p[o]), (x[u].count += 1)) + : (x[u] = { acc: p[o], count: 1 }), + l.autorange) + ) { + (y[0][o] = 1 / 0), (y[1][o] = -1 / 0); + var w = n.glplot.objects, + T = n.fullSceneLayout.annotations || [], + k = l._name.charAt(0); + for (s = 0; s < w.length; s++) { + var A = w[s], + E = A.bounds, + L = A._trace.data._pad || 0; + "ErrorBars" === A.constructor.name && + l._lowerLogErrorBound + ? (y[0][o] = Math.min( + y[0][o], + l._lowerLogErrorBound, + )) + : (y[0][o] = Math.min( + y[0][o], + E[0][o] / p[o] - L, + )), + (y[1][o] = Math.max( + y[1][o], + E[1][o] / p[o] + L, + )); + } + for (s = 0; s < T.length; s++) { + var C = T[s]; + if (C.visible) { + var O = l.r2l(C[k]); + (y[0][o] = Math.min(y[0][o], O)), + (y[1][o] = Math.max(y[1][o], O)); + } + } + if ( + ("rangemode" in l && + "tozero" === l.rangemode && + ((y[0][o] = Math.min(y[0][o], 0)), + (y[1][o] = Math.max(y[1][o], 0))), + y[0][o] > y[1][o]) + ) + (y[0][o] = -1), (y[1][o] = 1); + else { + var P = y[1][o] - y[0][o]; + (y[0][o] -= P / 32), (y[1][o] += P / 32); + } + if ( + ((b = [y[0][o], y[1][o]]), + (b = _(b, l)), + (y[0][o] = b[0]), + (y[1][o] = b[1]), + l.isReversed()) + ) { + var I = y[0][o]; + (y[0][o] = y[1][o]), (y[1][o] = I); + } + } else + (b = l.range), + (y[0][o] = l.r2l(b[0])), + (y[1][o] = l.r2l(b[1])); + y[0][o] === y[1][o] && + ((y[0][o] -= 1), (y[1][o] += 1)), + (m[o] = y[1][o] - y[0][o]), + (l.range = [y[0][o], y[1][o]]), + l.limitRange(), + n.glplot.setBounds(o, { + min: l.range[0] * p[o], + max: l.range[1] * p[o], + }); + } + var D = c.aspectmode; + if ("cube" === D) g = [1, 1, 1]; + else if ("manual" === D) { + var z = c.aspectratio; + g = [z.x, z.y, z.z]; + } else { + if ("auto" !== D && "data" !== D) + throw new Error( + "scene.js aspectRatio was not one of the enumerated types", + ); + var R = [1, 1, 1]; + for (o = 0; o < 3; ++o) { + var F = x[(u = (l = c[M[o]]).type)]; + R[o] = Math.pow(F.acc, 1 / F.count) / p[o]; + } + g = + "data" === D || + Math.max.apply(null, R) / + Math.min.apply(null, R) <= + 4 + ? R + : [1, 1, 1]; + } + (c.aspectratio.x = f.aspectratio.x = g[0]), + (c.aspectratio.y = f.aspectratio.y = g[1]), + (c.aspectratio.z = f.aspectratio.z = g[2]), + n.glplot.setAspectratio(c.aspectratio), + n.viewInitial.aspectratio || + (n.viewInitial.aspectratio = { + x: c.aspectratio.x, + y: c.aspectratio.y, + z: c.aspectratio.z, + }), + n.viewInitial.aspectmode || + (n.viewInitial.aspectmode = c.aspectmode); + var B = c.domain || null, + N = e._size || null; + if (B && N) { + var j = n.container.style; + (j.position = "absolute"), + (j.left = N.l + B.x[0] * N.w + "px"), + (j.top = N.t + (1 - B.y[1]) * N.h + "px"), + (j.width = N.w * (B.x[1] - B.x[0]) + "px"), + (j.height = N.h * (B.y[1] - B.y[0]) + "px"); + } + n.glplot.redraw(); + } + }), + (k.destroy = function () { + var t = this; + t.glplot && + ((t.camera.mouseListener.enabled = !1), + t.container.removeEventListener( + "wheel", + t.camera.wheelListener, + ), + (t.camera = null), + t.glplot.dispose(), + t.container.parentNode.removeChild(t.container), + (t.glplot = null)); + }), + (k.getCamera = function () { + var t, + e = this; + return ( + e.camera.view.recalcMatrix(e.camera.view.lastT()), + { + up: { + x: (t = e.camera).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] }, + projection: { + type: + !0 === t._ortho + ? "orthographic" + : "perspective", + }, + } + ); + }), + (k.setViewport = function (t) { + var e, + r = this, + n = t.camera; + r.camera.lookAt.apply(this, [ + [(e = n).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], + ]), + r.glplot.setAspectratio(t.aspectratio), + ("orthographic" === n.projection.type) !== + r.camera._ortho && + (r.glplot.redraw(), + r.glplot.clearRGBA(), + r.glplot.dispose(), + r.initializeGLPlot()); + }), + (k.isCameraChanged = function (t) { + var e = this.getCamera(), + r = f.nestedProperty(t, this.id + ".camera").get(); + function n(t, e, r, n) { + var i = ["up", "center", "eye"], + a = ["x", "y", "z"]; + return e[i[r]] && t[i[r]][a[n]] === e[i[r]][a[n]]; + } + var i = !1; + if (void 0 === r) i = !0; + else { + for (var a = 0; a < 3; a++) + for (var o = 0; o < 3; o++) + if (!n(e, r, a, o)) { + i = !0; + break; + } + (!r.projection || + (e.projection && + e.projection.type !== r.projection.type)) && + (i = !0); + } + return i; + }), + (k.isAspectChanged = function (t) { + var e = this.glplot.getAspectratio(), + r = f + .nestedProperty(t, this.id + ".aspectratio") + .get(); + return ( + void 0 === r || + r.x !== e.x || + r.y !== e.y || + r.z !== e.z + ); + }), + (k.saveLayout = function (t) { + var e, + r, + n, + i, + a, + o, + s = this, + l = s.fullLayout, + u = s.isCameraChanged(t), + h = s.isAspectChanged(t), + p = u || h; + if (p) { + var d = {}; + u && + ((e = s.getCamera()), + (n = (r = f.nestedProperty( + t, + s.id + ".camera", + )).get()), + (d[s.id + ".camera"] = n)), + h && + ((i = s.glplot.getAspectratio()), + (o = (a = f.nestedProperty( + t, + s.id + ".aspectratio", + )).get()), + (d[s.id + ".aspectratio"] = o)), + c.call("_storeDirectGUIEdit", t, l._preGUI, d), + u && + (r.set(e), + f.nestedProperty(l, s.id + ".camera").set(e)), + h && + (a.set(i), + f + .nestedProperty(l, s.id + ".aspectratio") + .set(i), + s.glplot.redraw()); + } + return p; + }), + (k.updateFx = function (t, e) { + var r = this, + n = r.camera; + if (n) + if ("orbit" === t) + (n.mode = "orbit"), (n.keyBindingMode = "rotate"); + else if ("turntable" === t) { + (n.up = [0, 0, 1]), + (n.mode = "turntable"), + (n.keyBindingMode = "rotate"); + var i = r.graphDiv, + a = i._fullLayout, + o = r.fullSceneLayout.camera, + s = o.up.x, + l = o.up.y, + u = o.up.z; + if ( + u / Math.sqrt(s * s + l * l + u * u) < + 0.999 + ) { + var h = r.id + ".camera.up", + p = { x: 0, y: 0, z: 1 }, + d = {}; + d[h] = p; + var v = i.layout; + c.call("_storeDirectGUIEdit", v, a._preGUI, d), + (o.up = p), + f.nestedProperty(v, h).set(p); + } + } else n.keyBindingMode = t; + r.fullSceneLayout.hovermode = e; + }), + (k.toImage = function (t) { + var e = this; + t || (t = "png"), + e.staticMode && e.container.appendChild(n), + e.glplot.redraw(); + var r = e.glplot.gl, + i = r.drawingBufferWidth, + a = r.drawingBufferHeight; + r.bindFramebuffer(r.FRAMEBUFFER, null); + var o = new Uint8Array(i * a * 4); + r.readPixels(0, 0, i, a, r.RGBA, r.UNSIGNED_BYTE, o), + (function (t, e, r) { + for (var n = 0, i = r - 1; n < i; ++n, --i) + for (var a = 0; a < e; ++a) + for (var o = 0; o < 4; ++o) { + var s = 4 * (e * n + a) + o, + l = 4 * (e * i + a) + o, + u = t[s]; + (t[s] = t[l]), (t[l] = u); + } + })(o, i, a), + (function (t, e, r) { + for (var n = 0; n < r; ++n) + for (var i = 0; i < e; ++i) { + var a = 4 * (e * n + i), + o = t[a + 3]; + if (o > 0) + for (var s = 255 / o, l = 0; l < 3; ++l) + t[a + l] = Math.min(s * t[a + l], 255); + } + })(o, i, a); + var s = document.createElement("canvas"); + (s.width = i), (s.height = a); + var l, + u = s.getContext("2d", { willReadFrequently: !0 }), + c = u.createImageData(i, a); + switch ((c.data.set(o), u.putImageData(c, 0, 0), t)) { + case "jpeg": + l = s.toDataURL("image/jpeg"); + break; + case "webp": + l = s.toDataURL("image/webp"); + break; + default: + l = s.toDataURL("image/png"); + } + return e.staticMode && e.container.removeChild(n), l; + }), + (k.setConvert = function () { + for (var t = 0; t < 3; t++) { + var e = this.fullSceneLayout[M[t]]; + p.setConvert(e, this.fullLayout), + (e.setScale = f.noop); + } + }), + (k.make4thDimension = function () { + var t = this, + e = t.graphDiv._fullLayout; + (t._mockAxis = { + type: "linear", + showexponent: "all", + exponentformat: "B", + }), + p.setConvert(t._mockAxis, e); + }), + (t.exports = T); + }, + 90060: function (t) { + "use strict"; + t.exports = function (t, e, r, n) { + n = n || t.length; + for (var i = new Array(n), a = 0; a < n; a++) + i[a] = [t[a], e[a], r[a]]; + return i; + }; + }, + 10820: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(85594), + a = r(22399), + o = r(29241), + s = r(53777), + l = r(35025), + u = r(1426).extendFlat, + c = n({ editType: "calc" }); + (c.family.dflt = + '"Open Sans", verdana, arial, sans-serif'), + (c.size.dflt = 12), + (c.color.dflt = a.defaultLine), + (t.exports = { + font: c, + title: { + text: { + valType: "string", + editType: "layoutstyle", + }, + font: n({ editType: "layoutstyle" }), + xref: { + valType: "enumerated", + dflt: "container", + values: ["container", "paper"], + editType: "layoutstyle", + }, + yref: { + valType: "enumerated", + dflt: "container", + values: ["container", "paper"], + editType: "layoutstyle", + }, + x: { + valType: "number", + min: 0, + max: 1, + dflt: 0.5, + editType: "layoutstyle", + }, + y: { + valType: "number", + min: 0, + max: 1, + dflt: "auto", + editType: "layoutstyle", + }, + xanchor: { + valType: "enumerated", + dflt: "auto", + values: ["auto", "left", "center", "right"], + editType: "layoutstyle", + }, + yanchor: { + valType: "enumerated", + dflt: "auto", + values: ["auto", "top", "middle", "bottom"], + editType: "layoutstyle", + }, + pad: u(l({ editType: "layoutstyle" }), {}), + automargin: { + valType: "boolean", + dflt: !1, + editType: "plot", + }, + editType: "layoutstyle", + }, + uniformtext: { + mode: { + valType: "enumerated", + values: [!1, "hide", "show"], + dflt: !1, + editType: "plot", + }, + minsize: { + valType: "number", + min: 0, + dflt: 0, + editType: "plot", + }, + editType: "plot", + }, + 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", + }, + minreducedwidth: { + valType: "number", + min: 2, + dflt: 64, + editType: "plot", + }, + minreducedheight: { + valType: "number", + min: 2, + dflt: 64, + 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", + }, + computed: { valType: "any", editType: "none" }, + paper_bgcolor: { + valType: "color", + dflt: a.background, + editType: "plot", + }, + plot_bgcolor: { + valType: "color", + dflt: a.background, + editType: "layoutstyle", + }, + autotypenumbers: { + valType: "enumerated", + values: ["convert types", "strict"], + dflt: "convert types", + editType: "calc", + }, + separators: { valType: "string", editType: "plot" }, + hidesources: { + valType: "boolean", + dflt: !1, + editType: "plot", + }, + showlegend: { + valType: "boolean", + editType: "legend", + }, + colorway: { + valType: "colorlist", + dflt: a.defaults, + editType: "calc", + }, + datarevision: { valType: "any", editType: "calc" }, + uirevision: { valType: "any", editType: "none" }, + editrevision: { valType: "any", editType: "none" }, + selectionrevision: { + valType: "any", + editType: "none", + }, + template: { valType: "any", editType: "calc" }, + newshape: o.newshape, + activeshape: o.activeshape, + newselection: s.newselection, + activeselection: s.activeselection, + meta: { + valType: "any", + arrayOk: !0, + editType: "plot", + }, + transition: u({}, i.transition, { editType: "none" }), + _deprecated: { + title: { + valType: "string", + editType: "layoutstyle", + }, + titlefont: n({ editType: "layoutstyle" }), + }, + }); + }, + 77734: function (t, e, r) { + "use strict"; + var n = r(78607), + i = + '©
OpenStreetMap contributors', + a = [ + '© Carto', + i, + ].join(" "), + o = [ + 'Map tiles by Stamen Design', + 'under CC BY 3.0', + "|", + 'Data by OpenStreetMap contributors', + 'under ODbL', + ].join(" "), + s = { + "open-street-map": { + id: "osm", + version: 8, + sources: { + "plotly-osm-tiles": { + type: "raster", + attribution: i, + tiles: [ + "https://a.tile.openstreetmap.org/{z}/{x}/{y}.png", + "https://b.tile.openstreetmap.org/{z}/{x}/{y}.png", + ], + tileSize: 256, + }, + }, + layers: [ + { + id: "plotly-osm-tiles", + type: "raster", + source: "plotly-osm-tiles", + minzoom: 0, + maxzoom: 22, + }, + ], + glyphs: + "https://fonts.openmaptiles.org/{fontstack}/{range}.pbf", + }, + "white-bg": { + id: "white-bg", + version: 8, + sources: {}, + layers: [ + { + id: "white-bg", + type: "background", + paint: { "background-color": "#FFFFFF" }, + minzoom: 0, + maxzoom: 22, + }, + ], + glyphs: + "https://fonts.openmaptiles.org/{fontstack}/{range}.pbf", + }, + "carto-positron": { + id: "carto-positron", + version: 8, + sources: { + "plotly-carto-positron": { + type: "raster", + attribution: a, + tiles: [ + "https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png", + ], + tileSize: 256, + }, + }, + layers: [ + { + id: "plotly-carto-positron", + type: "raster", + source: "plotly-carto-positron", + minzoom: 0, + maxzoom: 22, + }, + ], + glyphs: + "https://fonts.openmaptiles.org/{fontstack}/{range}.pbf", + }, + "carto-darkmatter": { + id: "carto-darkmatter", + version: 8, + sources: { + "plotly-carto-darkmatter": { + type: "raster", + attribution: a, + tiles: [ + "https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png", + ], + tileSize: 256, + }, + }, + layers: [ + { + id: "plotly-carto-darkmatter", + type: "raster", + source: "plotly-carto-darkmatter", + minzoom: 0, + maxzoom: 22, + }, + ], + glyphs: + "https://fonts.openmaptiles.org/{fontstack}/{range}.pbf", + }, + "stamen-terrain": { + id: "stamen-terrain", + version: 8, + sources: { + "plotly-stamen-terrain": { + type: "raster", + attribution: o, + tiles: [ + "https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png", + ], + tileSize: 256, + }, + }, + layers: [ + { + id: "plotly-stamen-terrain", + type: "raster", + source: "plotly-stamen-terrain", + minzoom: 0, + maxzoom: 22, + }, + ], + glyphs: + "https://fonts.openmaptiles.org/{fontstack}/{range}.pbf", + }, + "stamen-toner": { + id: "stamen-toner", + version: 8, + sources: { + "plotly-stamen-toner": { + type: "raster", + attribution: o, + tiles: [ + "https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png", + ], + tileSize: 256, + }, + }, + layers: [ + { + id: "plotly-stamen-toner", + type: "raster", + source: "plotly-stamen-toner", + minzoom: 0, + maxzoom: 22, + }, + ], + glyphs: + "https://fonts.openmaptiles.org/{fontstack}/{range}.pbf", + }, + "stamen-watercolor": { + id: "stamen-watercolor", + version: 8, + sources: { + "plotly-stamen-watercolor": { + type: "raster", + attribution: [ + 'Map tiles by Stamen Design', + 'under CC BY 3.0', + "|", + 'Data by OpenStreetMap contributors', + 'under CC BY SA', + ].join(" "), + tiles: [ + "https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png", + ], + tileSize: 256, + }, + }, + layers: [ + { + id: "plotly-stamen-watercolor", + type: "raster", + source: "plotly-stamen-watercolor", + minzoom: 0, + maxzoom: 22, + }, + ], + glyphs: + "https://fonts.openmaptiles.org/{fontstack}/{range}.pbf", + }, + }, + l = n(s); + t.exports = { + requiredVersion: "1.10.1", + styleUrlPrefix: "mapbox://styles/mapbox/", + styleUrlSuffix: "v9", + styleValuesMapbox: [ + "basic", + "streets", + "outdoors", + "light", + "dark", + "satellite", + "satellite-streets", + ], + styleValueDflt: "basic", + stylesNonMapbox: s, + styleValuesNonMapbox: l, + traceLayerPrefix: "plotly-trace-layer-", + layoutLayerPrefix: "plotly-layout-layer-", + wrongVersionErrorMsg: [ + "Your custom plotly.js bundle is not using the correct mapbox-gl version", + "Please install mapbox-gl@1.10.1.", + ].join("\n"), + noAccessTokenErrorMsg: [ + "Missing Mapbox access token.", + "Mapbox trace type require a Mapbox access token to be registered.", + "For example:", + " Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });", + "More info here: https://www.mapbox.com/help/define-access-token/", + ].join("\n"), + missingStyleErrorMsg: [ + "No valid mapbox style found, please set `mapbox.style` to one of:", + l.join(", "), + "or register a Mapbox access token to use a Mapbox-served style.", + ].join("\n"), + multipleTokensErrorMsg: [ + "Set multiple mapbox access token across different mapbox subplot,", + "using first token found as mapbox-gl does not allow multipleaccess tokens on the same page.", + ].join("\n"), + mapOnErrorMsg: "Mapbox error.", + mapboxLogo: { + path0: + "m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z", + path1: + "M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z", + path2: + "M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z", + polygon: + "11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34", + }, + styleRules: { + map: "overflow:hidden;position:relative;", + "missing-css": "display:none;", + canary: "background-color:salmon;", + "ctrl-bottom-left": + "position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;", + "ctrl-bottom-right": + "position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;", + ctrl: "clear: both; pointer-events: auto; transform: translate(0, 0);", + "ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner": + "display: none;", + "ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner": + "display: block; margin-top:2px", + "ctrl-attrib.mapboxgl-compact:hover": + "padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;", + "ctrl-attrib.mapboxgl-compact::after": + 'content: ""; cursor: pointer; position: absolute; background-image: url(\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;', + "ctrl-attrib.mapboxgl-compact": + "min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;", + "ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after": + "bottom: 0; right: 0", + "ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after": + "bottom: 0; left: 0", + "ctrl-bottom-left .mapboxgl-ctrl": + "margin: 0 0 10px 10px; float: left;", + "ctrl-bottom-right .mapboxgl-ctrl": + "margin: 0 10px 10px 0; float: right;", + "ctrl-attrib": + "color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px", + "ctrl-attrib a": + "color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px", + "ctrl-attrib a:hover": + "color: inherit; text-decoration: underline;", + "ctrl-attrib .mapbox-improve-map": + "font-weight: bold; margin-left: 2px;", + "attrib-empty": "display: none;", + "ctrl-logo": + 'display:block; width: 21px; height: 21px; background-image: url(\'data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E\')', + }, + }; + }, + 13056: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e) { + var r = t.split(" "), + i = r[0], + a = r[1], + o = n.isArrayOrTypedArray(e) ? n.mean(e) : e, + s = 0.5 + o / 100, + l = 1.5 + o / 100, + u = ["", ""], + c = [0, 0]; + switch (i) { + case "top": + (u[0] = "top"), (c[1] = -l); + break; + case "bottom": + (u[0] = "bottom"), (c[1] = l); + } + switch (a) { + case "left": + (u[1] = "right"), (c[0] = -s); + break; + case "right": + (u[1] = "left"), (c[0] = s); + } + return { + anchor: + u[0] && u[1] + ? u.join("-") + : u[0] + ? u[0] + : u[1] + ? u[1] + : "center", + offset: c, + }; + }; + }, + 50101: function (t, e, r) { + "use strict"; + var n = r(44517), + i = r(71828), + a = i.strTranslate, + o = i.strScale, + s = r(27659).AU, + l = r(77922), + u = r(39898), + c = r(91424), + f = r(63893), + h = r(10481), + p = "mapbox", + d = (e.constants = r(77734)); + function v(t) { + return ( + "string" == typeof t && + (-1 !== d.styleValuesMapbox.indexOf(t) || + 0 === t.indexOf("mapbox://")) + ); + } + (e.name = p), + (e.attr = "subplot"), + (e.idRoot = p), + (e.idRegex = e.attrRegex = i.counterRegex(p)), + (e.attributes = { + subplot: { + valType: "subplotid", + dflt: "mapbox", + editType: "calc", + }, + }), + (e.layoutAttributes = r(23585)), + (e.supplyLayoutDefaults = r(77882)), + (e.plot = function (t) { + var e = t._fullLayout, + r = t.calcdata, + a = e._subplots.mapbox; + if (n.version !== d.requiredVersion) + throw new Error(d.wrongVersionErrorMsg); + var o = (function (t, e) { + var r = t._fullLayout; + if ("" === t._context.mapboxAccessToken) return ""; + for ( + var n = [], a = [], o = !1, s = !1, l = 0; + l < e.length; + l++ + ) { + var u = r[e[l]], + c = u.accesstoken; + v(u.style) && + (c + ? i.pushUnique(n, c) + : (v(u._input.style) && + (i.error( + "Uses Mapbox map style, but did not set an access token.", + ), + (o = !0)), + (s = !0))), + c && i.pushUnique(a, c); + } + if (s) { + var f = o + ? d.noAccessTokenErrorMsg + : d.missingStyleErrorMsg; + throw (i.error(f), new Error(f)); + } + return n.length + ? (n.length > 1 && + i.warn(d.multipleTokensErrorMsg), + n[0]) + : (a.length && + i.log( + [ + "Listed mapbox access token(s)", + a.join(","), + "but did not use a Mapbox map style, ignoring token(s).", + ].join(" "), + ), + ""); + })(t, a); + n.accessToken = o; + for (var l = 0; l < a.length; l++) { + var u = a[l], + c = s(r, p, u), + f = e[u], + g = f._subplot; + g || ((g = new h(t, u)), (e[u]._subplot = g)), + g.viewInitial || + (g.viewInitial = { + center: i.extendFlat({}, f.center), + zoom: f.zoom, + bearing: f.bearing, + pitch: f.pitch, + }), + g.plot(c, e, t._promises); + } + }), + (e.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(); + } + }), + (e.toSVG = function (t) { + for ( + var e = t._fullLayout, + r = e._subplots.mapbox, + n = e._size, + i = 0; + i < r.length; + i++ + ) { + var s = e[r[i]], + h = s.domain, + p = s._subplot.toImage("png"); + e._glimages + .append("svg:image") + .attr({ + xmlns: l.svg, + "xlink:href": p, + x: n.l + n.w * h.x[0], + y: n.t + n.h * (1 - h.y[1]), + width: n.w * (h.x[1] - h.x[0]), + height: n.h * (h.y[1] - h.y[0]), + preserveAspectRatio: "none", + }); + var v = u.select(s._subplot.div); + if ( + null !== + v.select(".mapboxgl-ctrl-logo").node() + .offsetParent + ) { + var g = e._glimages.append("g"); + g.attr( + "transform", + a( + n.l + n.w * h.x[0] + 10, + n.t + n.h * (1 - h.y[0]) - 31, + ), + ), + g + .append("path") + .attr("d", d.mapboxLogo.path0) + .style({ + opacity: 0.9, + fill: "#ffffff", + "enable-background": "new", + }), + g + .append("path") + .attr("d", d.mapboxLogo.path1) + .style("opacity", 0.35) + .style("enable-background", "new"), + g + .append("path") + .attr("d", d.mapboxLogo.path2) + .style("opacity", 0.35) + .style("enable-background", "new"), + g + .append("polygon") + .attr("points", d.mapboxLogo.polygon) + .style({ + opacity: 0.9, + fill: "#ffffff", + "enable-background": "new", + }); + } + var y = v + .select(".mapboxgl-ctrl-attrib") + .text() + .replace("Improve this map", ""), + m = e._glimages.append("g"), + x = m.append("text"); + x.text(y) + .classed("static-attribution", !0) + .attr({ + "font-size": 12, + "font-family": "Arial", + color: "rgba(0, 0, 0, 0.75)", + "text-anchor": "end", + "data-unformatted": y, + }); + var b = c.bBox(x.node()), + _ = n.w * (h.x[1] - h.x[0]); + if (b.width > _ / 2) { + var w = y.split("|").join("
"); + x + .text(w) + .attr("data-unformatted", w) + .call(f.convertToTspans, t), + (b = c.bBox(x.node())); + } + x.attr("transform", a(-3, 8 - b.height)), + m + .insert("rect", ".static-attribution") + .attr({ + x: -b.width - 6, + y: -b.height - 3, + width: b.width + 6, + height: b.height + 3, + fill: "rgba(255, 255, 255, 0.75)", + }); + var T = 1; + b.width + 6 > _ && (T = _ / (b.width + 6)); + var k = [ + n.l + n.w * h.x[1], + n.t + n.h * (1 - h.y[0]), + ]; + m.attr("transform", a(k[0], k[1]) + o(T)); + } + }), + (e.updateFx = function (t) { + for ( + var e = t._fullLayout, + r = e._subplots.mapbox, + n = 0; + n < r.length; + n++ + ) + e[r[n]]._subplot.updateFx(e); + }); + }, + 67911: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(63893).sanitizeHTML, + a = r(13056), + o = r(77734); + function s(t, e) { + (this.subplot = t), + (this.uid = t.uid + "-" + e), + (this.index = e), + (this.idSource = "source-" + this.uid), + (this.idLayer = o.layoutLayerPrefix + this.uid), + (this.sourceType = null), + (this.source = null), + (this.layerType = null), + (this.below = null), + (this.visible = !1); + } + var l = s.prototype; + function u(t) { + if (!t.visible) return !1; + var e = t.source; + if (Array.isArray(e) && e.length > 0) { + for (var r = 0; r < e.length; r++) + if ("string" != typeof e[r] || 0 === e[r].length) + return !1; + return !0; + } + return ( + n.isPlainObject(e) || + ("string" == typeof e && e.length > 0) + ); + } + function c(t) { + var e = {}, + r = {}; + switch (t.type) { + case "circle": + n.extendFlat(r, { + "circle-radius": t.circle.radius, + "circle-color": t.color, + "circle-opacity": t.opacity, + }); + break; + case "line": + n.extendFlat(r, { + "line-width": t.line.width, + "line-color": t.color, + "line-opacity": t.opacity, + "line-dasharray": t.line.dash, + }); + break; + case "fill": + n.extendFlat(r, { + "fill-color": t.color, + "fill-outline-color": t.fill.outlinecolor, + "fill-opacity": t.opacity, + }); + break; + case "symbol": + var i = t.symbol, + o = a(i.textposition, i.iconsize); + n.extendFlat(e, { + "icon-image": i.icon + "-15", + "icon-size": i.iconsize / 10, + "text-field": i.text, + "text-size": i.textfont.size, + "text-anchor": o.anchor, + "text-offset": o.offset, + "symbol-placement": i.placement, + }), + n.extendFlat(r, { + "icon-color": t.color, + "text-color": i.textfont.color, + "text-opacity": t.opacity, + }); + break; + case "raster": + n.extendFlat(r, { + "raster-fade-duration": 0, + "raster-opacity": t.opacity, + }); + } + return { layout: e, paint: r }; + } + (l.update = function (t) { + this.visible + ? this.needsNewImage(t) + ? this.updateImage(t) + : this.needsNewSource(t) + ? (this.removeLayer(), + this.updateSource(t), + this.updateLayer(t)) + : this.needsNewLayer(t) + ? this.updateLayer(t) + : this.updateStyle(t) + : (this.updateSource(t), this.updateLayer(t)), + (this.visible = u(t)); + }), + (l.needsNewImage = function (t) { + return ( + this.subplot.map.getSource(this.idSource) && + "image" === this.sourceType && + "image" === t.sourcetype && + (this.source !== t.source || + JSON.stringify(this.coordinates) !== + JSON.stringify(t.coordinates)) + ); + }), + (l.needsNewSource = function (t) { + return ( + this.sourceType !== t.sourcetype || + JSON.stringify(this.source) !== + JSON.stringify(t.source) || + this.layerType !== t.type + ); + }), + (l.needsNewLayer = function (t) { + return ( + this.layerType !== t.type || + this.below !== + this.subplot.belowLookup["layout-" + this.index] + ); + }), + (l.lookupBelow = function () { + return this.subplot.belowLookup[ + "layout-" + this.index + ]; + }), + (l.updateImage = function (t) { + this.subplot.map + .getSource(this.idSource) + .updateImage({ + url: t.source, + coordinates: t.coordinates, + }); + var e = this.findFollowingMapboxLayerId( + this.lookupBelow(), + ); + null !== e && + this.subplot.map.moveLayer(this.idLayer, e); + }), + (l.updateSource = function (t) { + var e = this.subplot.map; + if ( + (e.getSource(this.idSource) && + e.removeSource(this.idSource), + (this.sourceType = t.sourcetype), + (this.source = t.source), + u(t)) + ) { + var r = (function (t) { + var e, + r = t.sourcetype, + n = t.source, + a = { type: r }; + return ( + "geojson" === r + ? (e = "data") + : "vector" === r + ? (e = "string" == typeof n ? "url" : "tiles") + : "raster" === r + ? ((e = "tiles"), (a.tileSize = 256)) + : "image" === r && + ((e = "url"), + (a.coordinates = t.coordinates)), + (a[e] = n), + t.sourceattribution && + (a.attribution = i(t.sourceattribution)), + a + ); + })(t); + e.addSource(this.idSource, r); + } + }), + (l.findFollowingMapboxLayerId = function (t) { + if ("traces" === t) + for ( + var e = this.subplot.getMapLayers(), r = 0; + r < e.length; + r++ + ) { + var n = e[r].id; + if ( + "string" == typeof n && + 0 === n.indexOf(o.traceLayerPrefix) + ) { + t = n; + break; + } + } + return t; + }), + (l.updateLayer = function (t) { + var e = this.subplot, + r = c(t), + n = this.lookupBelow(), + i = this.findFollowingMapboxLayerId(n); + this.removeLayer(), + u(t) && + e.addLayer( + { + id: this.idLayer, + source: this.idSource, + "source-layer": t.sourcelayer || "", + type: t.type, + minzoom: t.minzoom, + maxzoom: t.maxzoom, + layout: r.layout, + paint: r.paint, + }, + i, + ), + (this.layerType = t.type), + (this.below = n); + }), + (l.updateStyle = function (t) { + if (u(t)) { + var e = c(t); + this.subplot.setOptions( + this.idLayer, + "setLayoutProperty", + e.layout, + ), + this.subplot.setOptions( + this.idLayer, + "setPaintProperty", + e.paint, + ); + } + }), + (l.removeLayer = function () { + var t = this.subplot.map; + t.getLayer(this.idLayer) && + t.removeLayer(this.idLayer); + }), + (l.dispose = function () { + var t = this.subplot.map; + t.getLayer(this.idLayer) && + t.removeLayer(this.idLayer), + t.getSource(this.idSource) && + t.removeSource(this.idSource); + }), + (t.exports = function (t, e, r) { + var n = new s(t, e); + return n.update(r), n; + }); + }, + 23585: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901).defaultLine, + a = r(27670).Y, + o = r(41940), + s = r(82196).textposition, + l = r(30962).overrideAll, + u = r(44467).templatedArray, + c = r(77734), + f = o({}); + (f.family.dflt = + "Open Sans Regular, Arial Unicode MS Regular"), + ((t.exports = l( + { + _arrayAttrRegexps: [ + n.counterRegex("mapbox", ".layers", !0), + ], + domain: a({ name: "mapbox" }), + accesstoken: { + valType: "string", + noBlank: !0, + strict: !0, + }, + style: { + valType: "any", + values: c.styleValuesMapbox.concat( + c.styleValuesNonMapbox, + ), + dflt: c.styleValueDflt, + }, + 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 }, + bounds: { + west: { valType: "number" }, + east: { valType: "number" }, + south: { valType: "number" }, + north: { valType: "number" }, + }, + layers: u("layer", { + visible: { valType: "boolean", dflt: !0 }, + sourcetype: { + valType: "enumerated", + values: [ + "geojson", + "vector", + "raster", + "image", + ], + dflt: "geojson", + }, + source: { valType: "any" }, + sourcelayer: { valType: "string", dflt: "" }, + sourceattribution: { valType: "string" }, + type: { + valType: "enumerated", + values: [ + "circle", + "line", + "fill", + "symbol", + "raster", + ], + dflt: "circle", + }, + coordinates: { valType: "any" }, + below: { valType: "string" }, + color: { valType: "color", dflt: i }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + minzoom: { + valType: "number", + min: 0, + max: 24, + dflt: 0, + }, + maxzoom: { + valType: "number", + min: 0, + max: 24, + dflt: 24, + }, + circle: { + radius: { valType: "number", dflt: 15 }, + }, + line: { + width: { valType: "number", dflt: 2 }, + dash: { valType: "data_array" }, + }, + fill: { + outlinecolor: { valType: "color", dflt: i }, + }, + symbol: { + icon: { valType: "string", dflt: "marker" }, + iconsize: { valType: "number", dflt: 10 }, + text: { valType: "string", dflt: "" }, + placement: { + valType: "enumerated", + values: ["point", "line", "line-center"], + dflt: "point", + }, + textfont: f, + textposition: n.extendFlat({}, s, { + arrayOk: !1, + }), + }, + }), + }, + "plot", + "from-root", + )).uirevision = { valType: "any", editType: "none" }); + }, + 77882: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(49119), + a = r(85501), + o = r(23585); + function s(t, e, r, n) { + r("accesstoken", n.accessToken), + r("style"), + r("center.lon"), + r("center.lat"), + r("zoom"), + r("bearing"), + r("pitch"); + var i = r("bounds.west"), + o = r("bounds.east"), + s = r("bounds.south"), + u = r("bounds.north"); + (void 0 !== i && + void 0 !== o && + void 0 !== s && + void 0 !== u) || + delete e.bounds, + a(t, e, { name: "layers", handleItemDefaults: l }), + (e._input = t); + } + function l(t, e) { + function r(r, i) { + return n.coerce(t, e, o.layers, r, i); + } + if (r("visible")) { + var i, + a = r("sourcetype"), + s = "raster" === a || "image" === a; + r("source"), + r("sourceattribution"), + "vector" === a && r("sourcelayer"), + "image" === a && r("coordinates"), + s && (i = "raster"); + var l = r("type", i); + s && + "raster" !== l && + ((l = e.type = "raster"), + n.log( + "Source types *raster* and *image* must drawn *raster* layer type.", + )), + r("below"), + r("color"), + r("opacity"), + r("minzoom"), + r("maxzoom"), + "circle" === l && r("circle.radius"), + "line" === l && (r("line.width"), r("line.dash")), + "fill" === l && r("fill.outlinecolor"), + "symbol" === l && + (r("symbol.icon"), + r("symbol.iconsize"), + r("symbol.text"), + n.coerceFont(r, "symbol.textfont"), + r("symbol.textposition"), + r("symbol.placement")); + } + } + t.exports = function (t, e, r) { + i(t, e, r, { + type: "mapbox", + attributes: o, + handleDefaults: s, + partition: "y", + accessToken: e._mapboxAccessToken, + }); + }; + }, + 10481: function (t, e, r) { + "use strict"; + var n = r(44517), + i = r(71828), + a = r(41327), + o = r(73972), + s = r(89298), + l = r(28569), + u = r(30211), + c = r(64505), + f = c.drawMode, + h = c.selectMode, + p = r(47322).prepSelect, + d = r(47322).clearOutline, + v = r(47322).clearSelectionsCache, + g = r(47322).selectOnClick, + y = r(77734), + m = r(67911); + function x(t, e) { + (this.id = e), (this.gd = t); + var r = t._fullLayout, + n = t._context; + (this.container = r._glcontainer.node()), + (this.isStatic = n.staticPlot), + (this.uid = r._uid + "-" + this.id), + (this.div = null), + (this.xaxis = null), + (this.yaxis = null), + this.createFramework(r), + (this.map = null), + (this.accessToken = null), + (this.styleObj = null), + (this.traceHash = {}), + (this.layerList = []), + (this.belowLookup = {}), + (this.dragging = !1), + (this.wheeling = !1); + } + var b = x.prototype; + (b.plot = function (t, e, r) { + var n, + i = this, + a = e[i.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); + }), + (b.createMap = function (t, e, r, i) { + var o = this, + s = e[o.id], + l = (o.styleObj = w(s.style)); + o.accessToken = s.accesstoken; + var u = s.bounds, + c = u + ? [ + [u.west, u.south], + [u.east, u.north], + ] + : null, + f = (o.map = new n.Map({ + container: o.div, + style: l.style, + center: k(s.center), + zoom: s.zoom, + bearing: s.bearing, + pitch: s.pitch, + maxBounds: c, + interactive: !o.isStatic, + preserveDrawingBuffer: o.isStatic, + doubleClickZoom: !1, + boxZoom: !1, + attributionControl: !1, + }).addControl( + new n.AttributionControl({ compact: !0 }), + )); + (f._canvas.style.left = "0px"), + (f._canvas.style.top = "0px"), + o.rejectOnError(i), + o.isStatic || o.initFx(t, e); + var h = []; + h.push( + new Promise(function (t) { + f.once("load", t); + }), + ), + (h = h.concat(a.fetchTraceGeoData(t))), + Promise.all(h) + .then(function () { + o.fillBelowLookup(t, e), + o.updateData(t), + o.updateLayout(e), + o.resolveOnRender(r); + }) + .catch(i); + }), + (b.updateMap = function (t, e, r, n) { + var i = this, + o = i.map, + s = e[this.id]; + i.rejectOnError(n); + var l = [], + u = w(s.style); + JSON.stringify(i.styleObj) !== JSON.stringify(u) && + ((i.styleObj = u), + o.setStyle(u.style), + (i.traceHash = {}), + l.push( + new Promise(function (t) { + o.once("styledata", t); + }), + )), + (l = l.concat(a.fetchTraceGeoData(t))), + Promise.all(l) + .then(function () { + i.fillBelowLookup(t, e), + i.updateData(t), + i.updateLayout(e), + i.resolveOnRender(r); + }) + .catch(n); + }), + (b.fillBelowLookup = function (t, e) { + var r, + n, + i = e[this.id].layers, + a = (this.belowLookup = {}), + o = !1; + for (r = 0; r < t.length; r++) { + var s = t[r][0].trace, + l = s._module; + "string" == typeof s.below + ? (n = s.below) + : l.getBelow && (n = l.getBelow(s, this)), + "" === n && (o = !0), + (a["trace-" + s.uid] = n || ""); + } + for (r = 0; r < i.length; r++) { + var u = i[r]; + (n = + "string" == typeof u.below + ? u.below + : o + ? "traces" + : ""), + (a["layout-" + r] = n); + } + var c, + f, + h = {}; + for (c in a) + h[(n = a[c])] ? h[n].push(c) : (h[n] = [c]); + for (n in h) { + var p = h[n]; + if (p.length > 1) + for (r = 0; r < p.length; r++) + 0 === (c = p[r]).indexOf("trace-") + ? ((f = c.split("trace-")[1]), + this.traceHash[f] && + (this.traceHash[f].below = null)) + : 0 === c.indexOf("layout-") && + ((f = c.split("layout-")[1]), + this.layerList[f] && + (this.layerList[f].below = null)); + } + }); + var _ = { + choroplethmapbox: 0, + densitymapbox: 1, + scattermapbox: 2, + }; + function w(t) { + var e = {}; + return ( + i.isPlainObject(t) + ? ((e.id = t.id), (e.style = t)) + : "string" == typeof t + ? ((e.id = t), + -1 !== y.styleValuesMapbox.indexOf(t) + ? (e.style = T(t)) + : y.stylesNonMapbox[t] + ? (e.style = y.stylesNonMapbox[t]) + : (e.style = t)) + : ((e.id = y.styleValueDflt), + (e.style = T(y.styleValueDflt))), + (e.transition = { duration: 0, delay: 0 }), + e + ); + } + function T(t) { + return y.styleUrlPrefix + t + "-" + y.styleUrlSuffix; + } + function k(t) { + return [t.lon, t.lat]; + } + (b.updateData = function (t) { + var e, + r, + n, + i, + a = this.traceHash, + o = t.slice().sort(function (t, e) { + return _[t[0].trace.type] - _[e[0].trace.type]; + }); + for (n = 0; n < o.length; n++) { + var s = o[n], + l = !1; + (e = a[(r = s[0].trace).uid]) && + (e.type === r.type + ? (e.update(s), (l = !0)) + : e.dispose()), + !l && + r._module && + (a[r.uid] = r._module.plot(this, s)); + } + var u = Object.keys(a); + t: for (n = 0; n < u.length; n++) { + var c = u[n]; + for (i = 0; i < t.length; i++) + if (c === (r = t[i][0].trace).uid) continue t; + (e = a[c]).dispose(), delete a[c]; + } + }), + (b.updateLayout = function (t) { + var e = this.map, + r = t[this.id]; + this.dragging || + this.wheeling || + (e.setCenter(k(r.center)), + e.setZoom(r.zoom), + e.setBearing(r.bearing), + e.setPitch(r.pitch)), + this.updateLayers(t), + this.updateFramework(t), + this.updateFx(t), + this.map.resize(), + this.gd._context._scrollZoom.mapbox + ? e.scrollZoom.enable() + : e.scrollZoom.disable(); + }), + (b.resolveOnRender = function (t) { + var e = this.map; + e.on("render", function r() { + e.loaded() && + (e.off("render", r), setTimeout(t, 10)); + }); + }), + (b.rejectOnError = function (t) { + var e = this.map; + function r() { + t(new Error(y.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); + }), + (b.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), + (e.mockAxis = { + type: "linear", + showexponent: "all", + exponentformat: "B", + }), + s.setConvert(e.mockAxis, t); + }), + (b.initFx = function (t, e) { + var r = this, + n = r.gd, + i = r.map; + function a() { + u.loneUnhover(e._hoverlayer); + } + function s() { + var t = r.getView(); + n.emit( + "plotly_relayouting", + r.getViewEditsWithDerived(t), + ); + } + i.on("moveend", function (t) { + if (r.map) { + var e = n._fullLayout; + if (t.originalEvent || r.wheeling) { + var i = e[r.id]; + o.call( + "_storeDirectGUIEdit", + n.layout, + e._preGUI, + r.getViewEdits(i), + ); + var a = r.getView(); + (i._input.center = i.center = a.center), + (i._input.zoom = i.zoom = a.zoom), + (i._input.bearing = i.bearing = a.bearing), + (i._input.pitch = i.pitch = a.pitch), + n.emit( + "plotly_relayout", + r.getViewEditsWithDerived(a), + ); + } + t.originalEvent && + "mouseup" === t.originalEvent.type + ? (r.dragging = !1) + : r.wheeling && (r.wheeling = !1), + e._rehover && e._rehover(); + } + }), + i.on("wheel", function () { + r.wheeling = !0; + }), + i.on("mousemove", function (t) { + var e = r.div.getBoundingClientRect(), + a = [ + t.originalEvent.offsetX, + t.originalEvent.offsetY, + ]; + (t.target.getBoundingClientRect = function () { + return e; + }), + (r.xaxis.p2c = function () { + return i.unproject(a).lng; + }), + (r.yaxis.p2c = function () { + return i.unproject(a).lat; + }), + (n._fullLayout._rehover = function () { + n._fullLayout._hoversubplot === r.id && + n._fullLayout[r.id] && + u.hover(n, t, r.id); + }), + u.hover(n, t, r.id), + (n._fullLayout._hoversubplot = r.id); + }), + i.on("dragstart", function () { + (r.dragging = !0), a(); + }), + i.on("zoomstart", a), + i.on("mouseout", function () { + n._fullLayout._hoversubplot = null; + }), + i.on("drag", s), + i.on("zoom", s), + i.on("dblclick", function () { + var t = n._fullLayout[r.id]; + o.call( + "_storeDirectGUIEdit", + n.layout, + n._fullLayout._preGUI, + r.getViewEdits(t), + ); + var e = r.viewInitial; + i.setCenter(k(e.center)), + i.setZoom(e.zoom), + i.setBearing(e.bearing), + i.setPitch(e.pitch); + var a = r.getView(); + (t._input.center = t.center = a.center), + (t._input.zoom = t.zoom = a.zoom), + (t._input.bearing = t.bearing = a.bearing), + (t._input.pitch = t.pitch = a.pitch), + n.emit("plotly_doubleclick", null), + n.emit( + "plotly_relayout", + r.getViewEditsWithDerived(a), + ); + }), + (r.clearOutline = function () { + v(r.dragOptions), d(r.dragOptions.gd); + }), + (r.onClickInPanFn = function (t) { + return function (e) { + var i = n._fullLayout.clickmode; + i.indexOf("select") > -1 && + g( + e.originalEvent, + n, + [r.xaxis], + [r.yaxis], + r.id, + t, + ), + i.indexOf("event") > -1 && + u.click(n, e.originalEvent); + }; + }); + }), + (b.updateFx = function (t) { + var e = this, + r = e.map, + n = e.gd; + if (!e.isStatic) { + var a, + o = t.dragmode; + a = function (t, r) { + r.isRect + ? ((t.range = {})[e.id] = [ + u([r.xmin, r.ymin]), + u([r.xmax, r.ymax]), + ]) + : ((t.lassoPoints = {})[e.id] = r.map(u)); + }; + var s = e.dragOptions; + (e.dragOptions = i.extendDeep(s || {}, { + dragmode: t.dragmode, + element: e.div, + gd: n, + plotinfo: { + id: e.id, + domain: t[e.id].domain, + xaxis: e.xaxis, + yaxis: e.yaxis, + fillRangeItems: a, + }, + xaxes: [e.xaxis], + yaxes: [e.yaxis], + subplot: e.id, + })), + r.off("click", e.onClickInPanHandler), + h(o) || f(o) + ? (r.dragPan.disable(), + r.on("zoomstart", e.clearOutline), + (e.dragOptions.prepFn = function (t, r, n) { + p(t, r, n, e.dragOptions, o); + }), + l.init(e.dragOptions)) + : (r.dragPan.enable(), + r.off("zoomstart", e.clearOutline), + (e.div.onmousedown = null), + (e.div.ontouchstart = null), + e.div.removeEventListener( + "touchstart", + e.div._ontouchstart, + ), + (e.onClickInPanHandler = e.onClickInPanFn( + e.dragOptions, + )), + r.on("click", e.onClickInPanHandler)); + } + function u(t) { + var r = e.map.unproject(t); + return [r.lng, r.lat]; + } + }), + (b.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])); + }), + (b.updateLayers = function (t) { + var e, + r = t[this.id].layers, + n = this.layerList; + if (r.length !== n.length) { + for (e = 0; e < n.length; e++) n[e].dispose(); + for ( + n = this.layerList = [], e = 0; + e < r.length; + e++ + ) + n.push(m(this, e, r[e])); + } else + for (e = 0; e < r.length; e++) n[e].update(r[e]); + }), + (b.destroy = function () { + this.map && + (this.map.remove(), + (this.map = null), + this.container.removeChild(this.div)); + }), + (b.toImage = function () { + return ( + this.map.stop(), this.map.getCanvas().toDataURL() + ); + }), + (b.setOptions = function (t, e, r) { + for (var n in r) this.map[e](t, n, r[n]); + }), + (b.getMapLayers = function () { + return this.map.getStyle().layers; + }), + (b.addLayer = function (t, e) { + var r = this.map; + if ("string" == typeof e) { + if ("" === e) return void r.addLayer(t, e); + for ( + var n = this.getMapLayers(), a = 0; + a < n.length; + a++ + ) + if (e === n[a].id) return void r.addLayer(t, e); + i.warn( + [ + "Trying to add layer with *below* value", + e, + "referencing a layer that does not exist", + "or that does not yet exist.", + ].join(" "), + ); + } + r.addLayer(t); + }), + (b.project = function (t) { + return this.map.project(new n.LngLat(t[0], t[1])); + }), + (b.getView = function () { + var t = this.map, + e = t.getCenter(), + r = { lon: e.lng, lat: e.lat }, + n = t.getCanvas(), + i = parseInt(n.style.width), + a = parseInt(n.style.height); + return { + center: r, + zoom: t.getZoom(), + bearing: t.getBearing(), + pitch: t.getPitch(), + _derived: { + coordinates: [ + t.unproject([0, 0]).toArray(), + t.unproject([i, 0]).toArray(), + t.unproject([i, a]).toArray(), + t.unproject([0, a]).toArray(), + ], + }, + }; + }), + (b.getViewEdits = function (t) { + for ( + var e = this.id, + r = ["center", "zoom", "bearing", "pitch"], + n = {}, + i = 0; + i < r.length; + i++ + ) { + var a = r[i]; + n[e + "." + a] = t[a]; + } + return n; + }), + (b.getViewEditsWithDerived = function (t) { + var e = this.id, + r = this.getViewEdits(t); + return (r[e + "._derived"] = t._derived), r; + }), + (t.exports = x); + }, + 35025: function (t) { + "use strict"; + t.exports = function (t) { + var e = t.editType; + return { + t: { valType: "number", dflt: 0, editType: e }, + r: { valType: "number", dflt: 0, editType: e }, + b: { valType: "number", dflt: 0, editType: e }, + l: { valType: "number", dflt: 0, editType: e }, + editType: e, + }; + }; + }, + 74875: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(84096).Dq, + a = r(60721).FF, + o = r(92770), + s = r(73972), + l = r(86281), + u = r(44467), + c = r(71828), + f = r(7901), + h = r(50606).BADNUM, + p = r(41675), + d = r(51873).clearOutline, + v = r(21479), + g = r(85594), + y = r(31391), + m = r(27659).a0, + x = c.relinkPrivateKeys, + b = c._, + _ = (t.exports = {}); + c.extendFlat(_, s), + (_.attributes = r(9012)), + (_.attributes.type.values = _.allTypes), + (_.fontAttrs = r(41940)), + (_.layoutAttributes = r(10820)), + (_.fontWeight = "normal"); + var w = _.transformsRegistry, + T = r(31137); + (_.executeAPICommand = T.executeAPICommand), + (_.computeAPICommandBindings = + T.computeAPICommandBindings), + (_.manageCommandObserver = T.manageCommandObserver), + (_.hasSimpleAPICommandBindings = + T.hasSimpleAPICommandBindings), + (_.redrawText = function (t) { + return ( + (t = c.getGraphDiv(t)), + new Promise(function (e) { + setTimeout(function () { + t._fullLayout && + (s.getComponentMethod( + "annotations", + "draw", + )(t), + s.getComponentMethod("legend", "draw")(t), + s.getComponentMethod("colorbar", "draw")(t), + e(_.previousPromises(t))); + }, 300); + }) + ); + }), + (_.resize = function (t) { + var e; + t = c.getGraphDiv(t); + var r = new Promise(function (r, n) { + (t && !c.isHidden(t)) || + n( + new Error( + "Resize must be passed a displayed plot div element.", + ), + ), + t._redrawTimer && clearTimeout(t._redrawTimer), + t._resolveResize && (e = t._resolveResize), + (t._resolveResize = r), + (t._redrawTimer = setTimeout(function () { + if ( + !t.layout || + (t.layout.width && t.layout.height) || + c.isHidden(t) + ) + r(t); + else { + delete t.layout.width, delete t.layout.height; + var e = t.changed; + (t.autoplay = !0), + s + .call("relayout", t, { autosize: !0 }) + .then(function () { + (t.changed = e), + t._resolveResize === r && + (delete t._resolveResize, r(t)); + }); + } + }, 100)); + }); + return e && e(r), r; + }), + (_.previousPromises = function (t) { + if ((t._promises || []).length) + return Promise.all(t._promises).then(function () { + t._promises = []; + }); + }), + (_.addLinks = function (t) { + if (t._context.showLink || t._context.showSources) { + var e = t._fullLayout, + r = c.ensureSingle( + e._paper, + "text", + "js-plot-link-container", + function (t) { + t.style({ + "font-family": + '"Open Sans", Arial, sans-serif', + "font-size": "12px", + fill: f.defaultLine, + "pointer-events": "all", + }).each(function () { + var t = n.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); + }); + }, + ), + i = r.node(), + a = { y: e._paper.attr("height") - 9 }; + document.body.contains(i) && + i.getComputedTextLength() >= e.width - 20 + ? ((a["text-anchor"] = "start"), (a.x = 5)) + : ((a["text-anchor"] = "end"), + (a.x = e._paper.attr("width") - 7)), + r.attr(a); + var o = r.select(".js-link-to-tool"), + s = r.select(".js-link-spacer"), + l = r.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 () { + _.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() ? " - " : ""); + } + }), + (_.sendDataToCloud = function (t) { + var e = + (window.PLOTLYENV || {}).BASE_URL || + t._context.plotlyServerURL; + if (e) { + t.emit("plotly_beforeexport"); + var r = n + .select(t) + .append("div") + .attr("id", "hiddenform") + .style("display", "none"), + i = r + .append("form") + .attr({ + action: e + "/external", + method: "post", + target: "_blank", + }); + return ( + (i + .append("input") + .attr({ type: "text", name: "data" }) + .node().value = _.graphJson(t, !1, "keepdata")), + i.node().submit(), + r.remove(), + t.emit("plotly_afterexport"), + !1 + ); + } + }); + var k = [ + "days", + "shortDays", + "months", + "shortMonths", + "periods", + "dateTime", + "date", + "time", + "decimal", + "thousands", + "grouping", + "currency", + ], + A = ["year", "month", "dayMonth", "dayMonthYear"]; + function M(t, e) { + var r = t._context.locale; + r || (r = "en-US"); + var 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 l = t._context.locales, u = 0; u < 2; u++) { + var c = (l[r] || {}).format; + if (c && (a(c), n)) break; + l = s.localeRegistry; + } + var f = r.split("-")[0]; + if (n || f === r) break; + r = f; + } + return n || a(s.localeRegistry.en.format), i; + } + function S(t, e) { + var r = { _fullLayout: e }, + n = "x" === t._id.charAt(0), + i = t._mainAxis._anchorAxis, + a = "", + o = "", + s = ""; + if ( + (i && + ((s = i._mainAxis._id), + (a = n ? t._id + s : s + t._id)), + !a || !e._plots[a]) + ) { + a = ""; + for ( + var l = t._counterAxes, u = 0; + u < l.length; + u++ + ) { + var c = l[u], + f = n ? t._id + c : c + t._id; + o || (o = f); + var h = p.getFromId(r, c); + if (s && h.overlaying === s) { + a = f; + break; + } + } + } + return a || o; + } + function E(t) { + var e = t.transforms; + if (Array.isArray(e) && e.length) + for (var r = 0; r < e.length; r++) { + var n = e[r], + i = n._module || w[n.type]; + if (i && i.makesData) return !0; + } + return !1; + } + function L(t, e, r, n) { + for ( + var i = t.transforms, a = [t], o = 0; + o < i.length; + o++ + ) { + var s = i[o], + l = w[s.type]; + l && + l.transform && + (a = l.transform(a, { + transform: s, + fullTrace: t, + fullData: e, + layout: r, + fullLayout: n, + transformIndex: o, + })); + } + return a; + } + function C(t) { + return ( + "string" == typeof t && + "px" === t.substr(t.length - 2) && + parseFloat(t) + ); + } + function O(t) { + var e = t.margin; + if (!t._size) { + var r = (t._size = { + l: Math.round(e.l), + r: Math.round(e.r), + t: Math.round(e.t), + b: Math.round(e.b), + p: Math.round(e.pad), + }); + (r.w = Math.round(t.width) - r.l - r.r), + (r.h = Math.round(t.height) - r.t - r.b); + } + t._pushmargin || (t._pushmargin = {}), + t._pushmarginIds || (t._pushmarginIds = {}), + t._reservedMargin || (t._reservedMargin = {}); + } + (_.supplyDefaults = function (t, e) { + var r = e && e.skipUpdateCalc, + n = t._fullLayout || {}; + if (n._skipDefaults) delete n._skipDefaults; + else { + var o, + l = (t._fullLayout = {}), + u = t.layout || {}, + f = t._fullData || [], + h = (t._fullData = []), + p = t.data || [], + v = t.calcdata || [], + g = t._context || {}; + t._transitionData || _.createTransitionData(t), + (l._dfltTitle = { + plot: b(t, "Click to enter Plot title"), + x: b(t, "Click to enter X axis title"), + y: b(t, "Click to enter Y axis title"), + colorbar: b(t, "Click to enter Colorscale title"), + annotation: b(t, "new text"), + }), + (l._traceWord = b(t, "trace")); + var y = M(t, k); + if ( + ((l._mapboxAccessToken = g.mapboxAccessToken), + n._initialAutoSizeIsDone) + ) { + var m = n.width, + w = n.height; + _.supplyLayoutGlobalDefaults(u, l, y), + u.width || (l.width = m), + u.height || (l.height = w), + _.sanitizeMargins(l); + } else { + _.supplyLayoutGlobalDefaults(u, l, y); + var T = !u.width || !u.height, + S = l.autosize, + E = g.autosizable; + T && (S || E) + ? _.plotAutoSize(t, u, l) + : T && _.sanitizeMargins(l), + !S && + T && + ((u.width = l.width), (u.height = l.height)); + } + (l._d3locale = (function (t, e) { + return ( + (t.decimal = e.charAt(0)), + (t.thousands = e.charAt(1)), + { + numberFormat: function (e) { + try { + e = a(t).format(c.adjustFormat(e)); + } catch (t) { + return c.warnBadFormat(e), c.noFormat; + } + return e; + }, + timeFormat: i(t).utcFormat, + } + ); + })(y, l.separators)), + (l._extraFormat = M(t, A)), + (l._initialAutoSizeIsDone = !0), + (l._dataLength = p.length), + (l._modules = []), + (l._visibleModules = []), + (l._basePlotModules = []); + var L = (l._subplots = (function () { + var t, + e, + r = s.collectableSubplotTypes, + n = {}; + if (!r) { + r = []; + var i = s.subplotsRegistry; + for (var a in i) { + var o = i[a].attr; + if (o && (r.push(a), Array.isArray(o))) + for (e = 0; e < o.length; e++) + c.pushUnique(r, o[e]); + } + } + for (t = 0; t < r.length; t++) n[r[t]] = []; + return n; + })()), + C = (l._splomAxes = { x: {}, y: {} }), + P = (l._splomSubplots = {}); + (l._splomGridDflt = {}), + (l._scatterStackOpts = {}), + (l._firstScatter = {}), + (l._alignmentOpts = {}), + (l._colorAxes = {}), + (l._requestRangeslider = {}), + (l._traceUids = (function (t, e) { + var r, + n, + i = e.length, + a = []; + for (r = 0; r < t.length; r++) { + var o = t[r]._fullInput; + o !== n && a.push(o), (n = o); + } + var s = a.length, + l = new Array(i), + u = {}; + function f(t, e) { + (l[e] = t), (u[t] = 1); + } + function h(t, e) { + if (t && "string" == typeof t && !u[t]) + return f(t, e), !0; + } + for (r = 0; r < i; r++) { + var p = e[r].uid; + "number" == typeof p && (p = String(p)), + h(p, r) || + (r < s && h(a[r].uid, r)) || + f(c.randstr(u), r); + } + return l; + })(f, p)), + (l._globalTransforms = ( + t._context || {} + ).globalTransforms), + _.supplyDataDefaults(p, h, u, l); + var I = Object.keys(C.x), + D = Object.keys(C.y); + if (I.length > 1 && D.length > 1) { + for ( + s.getComponentMethod("grid", "sizeDefaults")( + u, + l, + ), + o = 0; + o < I.length; + o++ + ) + c.pushUnique(L.xaxis, I[o]); + for (o = 0; o < D.length; o++) + c.pushUnique(L.yaxis, D[o]); + for (var z in P) c.pushUnique(L.cartesian, z); + } + if ( + ((l._has = _._hasPlotType.bind(l)), + f.length === h.length) + ) + for (o = 0; o < h.length; o++) x(h[o], f[o]); + _.supplyLayoutModuleDefaults( + u, + l, + h, + t._transitionData, + ); + var R = l._visibleModules, + F = []; + for (o = 0; o < R.length; o++) { + var B = R[o].crossTraceDefaults; + B && c.pushUnique(F, B); + } + for (o = 0; o < F.length; o++) F[o](h, l); + (l._hasOnlyLargeSploms = + 1 === l._basePlotModules.length && + "splom" === l._basePlotModules[0].name && + I.length > 15 && + D.length > 15 && + 0 === l.shapes.length && + 0 === l.images.length), + _.linkSubplots(h, l, f, n), + _.cleanPlot(h, l, f, n); + var N = !(!n._has || !n._has("gl2d")), + j = !(!l._has || !l._has("gl2d")), + U = !(!n._has || !n._has("cartesian")) || N, + V = !(!l._has || !l._has("cartesian")) || j; + U && !V + ? n._bgLayer.remove() + : V && !U && (l._shouldCreateBgLayer = !0), + n._zoomlayer && + !t._dragging && + d({ _fullLayout: n }), + (function (t, e) { + var r, + n = []; + e.meta && + (r = e._meta = + { meta: e.meta, layout: { meta: e.meta } }); + for (var i = 0; i < t.length; i++) { + var a = t[i]; + a.meta + ? (n[a.index] = a._meta = { meta: a.meta }) + : e.meta && (a._meta = { meta: e.meta }), + e.meta && (a._meta.layout = { meta: e.meta }); + } + n.length && + (r || (r = e._meta = {}), (r.data = n)); + })(h, l), + x(l, n), + s.getComponentMethod( + "colorscale", + "crossTraceDefaults", + )(h, l), + l._preGUI || (l._preGUI = {}), + l._tracePreGUI || (l._tracePreGUI = {}); + var H, + q = l._tracePreGUI, + G = {}; + for (H in q) G[H] = "old"; + for (o = 0; o < h.length; o++) + G[(H = h[o]._fullInput.uid)] || (q[H] = {}), + (G[H] = "new"); + for (H in G) "old" === G[H] && delete q[H]; + O(l), + s.getComponentMethod("rangeslider", "makeData")(l), + r || + v.length !== h.length || + _.supplyDefaultsUpdateCalc(v, h); + } + }), + (_.supplyDefaultsUpdateCalc = function (t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r], + i = (t[r] || [])[0]; + if (i && i.trace) { + var a = i.trace; + if (a._hasCalcTransform) { + var o, + s, + l, + u = a._arrayAttrs; + for (o = 0; o < u.length; o++) + (s = u[o]), + (l = c.nestedProperty(a, s).get().slice()), + c.nestedProperty(n, s).set(l); + } + i.trace = n; + } + } + }), + (_.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 = []); + }), + (_._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].name; + if (i === t) return !0; + var a = s.modules[i]; + if (a && a.categories[t]) return !0; + } + return !1; + }), + (_.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._has && n._has("gl"), + u = e._has && e._has("gl"); + l && + !u && + void 0 !== n._glcontainer && + (n._glcontainer.selectAll(".gl-canvas").remove(), + n._glcontainer.selectAll(".no-webgl").remove(), + (n._glcanvas = null)); + var c = !!n._infolayer; + 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; + c && n._infolayer.select(".cb" + f).remove(); + } + }), + (_.linkSubplots = function (t, e, r, n) { + var i, + a, + o = n._plots || {}, + l = (e._plots = {}), + u = e._subplots, + f = { _fullData: t, _fullLayout: e }, + h = u.cartesian.concat(u.gl2d || []); + for (i = 0; i < h.length; i++) { + var d, + v = h[i], + g = o[v], + y = p.getFromId(f, v, "x"), + m = p.getFromId(f, v, "y"); + for ( + g ? (d = l[v] = g) : ((d = l[v] = {}).id = v), + y._counterAxes.push(m._id), + m._counterAxes.push(y._id), + y._subplotsWith.push(v), + m._subplotsWith.push(v), + d.xaxis = y, + d.yaxis = m, + d._hasClipOnAxisFalse = !1, + a = 0; + a < t.length; + a++ + ) { + var x = t[a]; + if ( + x.xaxis === d.xaxis._id && + x.yaxis === d.yaxis._id && + !1 === x.cliponaxis + ) { + d._hasClipOnAxisFalse = !0; + break; + } + } + } + var b, + _ = p.list(f, null, !0); + for (i = 0; i < _.length; i++) { + var w = null; + (b = _[i]).overlaying && + (w = p.getFromId(f, b.overlaying)) && + w.overlaying && + ((b.overlaying = !1), (w = null)), + (b._mainAxis = w || b), + w && (b.domain = w.domain.slice()), + (b._anchorAxis = + "free" === b.anchor + ? null + : p.getFromId(f, b.anchor)); + } + for (i = 0; i < _.length; i++) + if ( + ((b = _[i])._counterAxes.sort(p.idSort), + b._subplotsWith.sort(c.subplotSort), + (b._mainSubplot = S(b, e)), + b._counterAxes.length && + ((b.spikemode && + -1 !== b.spikemode.indexOf("across")) || + (b.automargin && + b.mirror && + "free" !== b.anchor) || + s.getComponentMethod( + "rangeslider", + "isVisible", + )(b))) + ) { + var T = 1, + k = 0; + for (a = 0; a < b._counterAxes.length; a++) { + var A = p.getFromId(f, b._counterAxes[a]); + (T = Math.min(T, A.domain[0])), + (k = Math.max(k, A.domain[1])); + } + T < k && + ((b._counterDomainMin = T), + (b._counterDomainMax = k)); + } + }), + (_.clearExpandedTraceDefaultColors = function (t) { + var e, r, n; + for ( + r = [], + (e = t._module._colorAttrs) || + ((t._module._colorAttrs = e = []), + l.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++ + ) + c.nestedProperty(t, "_input." + e[n]).get() || + c.nestedProperty(t, e[n]).set(null); + }), + (_.supplyDataDefaults = function (t, e, r, n) { + var i, + a, + o, + l = n._modules, + f = n._visibleModules, + h = n._basePlotModules, + p = 0, + d = 0; + function v(t) { + e.push(t); + var r = t._module; + r && + (c.pushUnique(l, r), + !0 === t.visible && c.pushUnique(f, r), + c.pushUnique(h, t._module.basePlotModule), + p++, + !1 !== t._input.visible && d++); + } + n._transformModules = []; + var g = {}, + y = [], + m = (r.template || {}).data || {}, + b = u.traceTemplater(m); + for (i = 0; i < t.length; i++) { + if ( + ((o = t[i]), + ((a = b.newTrace(o)).uid = n._traceUids[i]), + _.supplyTraceDefaults(o, a, d, n, i), + (a.index = i), + (a._input = o), + (a._expandedIndex = p), + a.transforms && a.transforms.length) + ) + for ( + var w = !1 !== o.visible && !1 === a.visible, + T = L(a, e, r, n), + k = 0; + k < T.length; + k++ + ) { + var A = T[k], + M = { + _template: a._template, + type: a.type, + uid: a.uid + k, + }; + w && !1 === A.visible && delete A.visible, + _.supplyTraceDefaults(A, M, p, n, i), + x(M, A), + (M.index = i), + (M._input = o), + (M._fullInput = a), + (M._expandedIndex = p), + (M._expandedInput = A), + v(M); + } + else + (a._fullInput = a), (a._expandedInput = a), v(a); + s.traceIs(a, "carpetAxis") && (g[a.carpet] = a), + s.traceIs(a, "carpetDependent") && y.push(i); + } + for (i = 0; i < y.length; i++) + if ((a = e[y[i]]).visible) { + var S = g[a.carpet]; + (a._carpet = S), + S && S.visible + ? ((a.xaxis = S.xaxis), (a.yaxis = S.yaxis)) + : (a.visible = !1); + } + }), + (_.supplyAnimationDefaults = function (t) { + var e; + t = t || {}; + var r = {}; + function n(e, n) { + return c.coerce(t || {}, r, g, 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] = _.supplyAnimationFrameDefaults( + t.frame[e] || {}, + ); + else + r.frame = _.supplyAnimationFrameDefaults( + t.frame || {}, + ); + if (Array.isArray(t.transition)) + for ( + r.transition = [], e = 0; + e < t.transition.length; + e++ + ) + r.transition[e] = + _.supplyAnimationTransitionDefaults( + t.transition[e] || {}, + ); + else + r.transition = _.supplyAnimationTransitionDefaults( + t.transition || {}, + ); + return r; + }), + (_.supplyAnimationFrameDefaults = function (t) { + var e = {}; + function r(r, n) { + return c.coerce(t || {}, e, g.frame, r, n); + } + return r("duration"), r("redraw"), e; + }), + (_.supplyAnimationTransitionDefaults = function (t) { + var e = {}; + function r(r, n) { + return c.coerce(t || {}, e, g.transition, r, n); + } + return r("duration"), r("easing"), e; + }), + (_.supplyFrameDefaults = function (t) { + var e = {}; + function r(r, n) { + return c.coerce(t, e, y, r, n); + } + return ( + r("group"), + r("name"), + r("traces"), + r("baseframe"), + r("data"), + r("layout"), + e + ); + }), + (_.supplyTraceDefaults = function (t, e, r, n, i) { + var a, + o = n.colorway || f.defaults, + l = o[r % o.length]; + function u(r, n) { + return c.coerce(t, e, _.attributes, r, n); + } + var h = u("visible"); + u("type"), + u("name", n._traceWord + " " + i), + u("uirevision", n.uirevision); + var p = _.getModule(e); + if (((e._module = p), p)) { + var d = p.basePlotModule, + v = d.attr, + g = d.attributes; + if (v && g) { + var y = n._subplots, + m = ""; + if (h || "gl2d" !== d.name) { + if (Array.isArray(v)) + for (a = 0; a < v.length; a++) { + var x = v[a], + b = c.coerce(t, e, g, x); + y[x] && c.pushUnique(y[x], b), (m += b); + } + else m = c.coerce(t, e, g, v); + y[d.name] && c.pushUnique(y[d.name], m); + } + } + } + return ( + h && + (u("customdata"), + u("ids"), + u("meta"), + s.traceIs(e, "showLegend") + ? (c.coerce( + t, + e, + p.attributes.showlegend + ? p.attributes + : _.attributes, + "showlegend", + ), + u("legend"), + u("legendwidth"), + u("legendgroup"), + u("legendgrouptitle.text"), + u("legendrank"), + (e._dfltShowLegend = !0)) + : (e._dfltShowLegend = !1), + p && p.supplyDefaults(t, e, l, n), + s.traceIs(e, "noOpacity") || u("opacity"), + s.traceIs(e, "notLegendIsolatable") && + (e.visible = !!e.visible), + s.traceIs(e, "noHover") || + (e.hovertemplate || c.coerceHoverinfo(t, e, n), + "parcats" !== e.type && + s.getComponentMethod("fx", "supplyDefaults")( + t, + e, + l, + n, + )), + p && p.selectPoints && u("selectedpoints"), + _.supplyTransformDefaults(t, e, n)), + e + ); + }), + (_.hasMakesDataTransform = E), + (_.supplyTransformDefaults = function (t, e, r) { + if (e._length || E(t)) { + 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, + f = o[l], + h = f.type, + p = w[h], + d = !(f._module && f._module === p), + v = p && "function" == typeof p.transform; + p || + c.warn( + "Unrecognized transform type " + h + ".", + ), + p && p.supplyDefaults && (d || v) + ? (((u = p.supplyDefaults( + f, + e, + r, + t, + )).type = h), + (u._module = p), + c.pushUnique(i, p)) + : (u = c.extendFlat({}, f)), + s.push(u); + } + } + }), + (_.supplyLayoutGlobalDefaults = function (t, e, r) { + function n(r, n) { + return c.coerce(t, e, _.layoutAttributes, r, n); + } + var i = t.template; + c.isPlainObject(i) && + ((e.template = i), + (e._template = i.layout), + (e._dataTemplate = i.data)), + n("autotypenumbers"); + var a = c.coerceFont(n, "font"), + o = a.size; + c.coerceFont( + n, + "title.font", + c.extendFlat({}, a, { size: Math.round(1.4 * o) }), + ), + n("title.text", e._dfltTitle.plot), + n("title.xref"); + var l = n("title.yref"); + n("title.pad.t"), + n("title.pad.r"), + n("title.pad.b"), + n("title.pad.l"); + var u = n("title.automargin"); + n("title.x"), + n("title.xanchor"), + n("title.y"), + n("title.yanchor"), + u && + ("paper" === l && + (0 !== e.title.y && (e.title.y = 1), + "auto" === e.title.yanchor && + (e.title.yanchor = + 0 === e.title.y ? "top" : "bottom")), + "container" === l && + ("auto" === e.title.y && (e.title.y = 1), + "auto" === e.title.yanchor && + (e.title.yanchor = + e.title.y < 0.5 ? "bottom" : "top"))), + n("uniformtext.mode") && n("uniformtext.minsize"), + n("autosize", !(t.width && t.height)), + n("width"), + n("height"), + n("minreducedwidth"), + n("minreducedheight"), + n("margin.l"), + n("margin.r"), + n("margin.t"), + n("margin.b"), + n("margin.pad"), + n("margin.autoexpand"), + t.width && t.height && _.sanitizeMargins(e), + s.getComponentMethod("grid", "sizeDefaults")(t, e), + n("paper_bgcolor"), + n("separators", r.decimal + r.thousands), + n("hidesources"), + n("colorway"), + n("datarevision"); + var f = n("uirevision"); + n("editrevision", f), + n("selectionrevision", f), + s.getComponentMethod( + "modebar", + "supplyLayoutDefaults", + )(t, e), + s.getComponentMethod( + "shapes", + "supplyDrawNewShapeDefaults", + )(t, e, n), + s.getComponentMethod( + "selections", + "supplyDrawNewSelectionDefaults", + )(t, e, n), + n("meta"), + c.isPlainObject(t.transition) && + (n("transition.duration"), + n("transition.easing"), + n("transition.ordering")), + s.getComponentMethod("calendars", "handleDefaults")( + t, + e, + "calendar", + ), + s.getComponentMethod( + "fx", + "supplyLayoutGlobalDefaults", + )(t, e, n), + c.coerce(t, e, v, "scattermode"); + }), + (_.plotAutoSize = function (t, e, r) { + var n, + i, + a = t._context || {}, + s = a.frameMargins, + l = c.isPlotDiv(t); + if ((l && t.emit("plotly_autosize"), a.fillFrame)) + (n = window.innerWidth), + (i = window.innerHeight), + (document.body.style.overflow = "hidden"); + else { + var u = l ? window.getComputedStyle(t) : {}; + if ( + ((n = C(u.width) || C(u.maxWidth) || r.width), + (i = C(u.height) || C(u.maxHeight) || r.height), + o(s) && s > 0) + ) { + var f = 1 - 2 * s; + (n = Math.round(f * n)), (i = Math.round(f * i)); + } + } + var h = _.layoutAttributes.width.min, + p = _.layoutAttributes.height.min; + n < h && (n = h), i < p && (i = p); + var d = !e.width && Math.abs(r.width - n) > 1, + v = !e.height && Math.abs(r.height - i) > 1; + (v || d) && (d && (r.width = n), v && (r.height = i)), + t._initialAutoSize || + (t._initialAutoSize = { width: n, height: i }), + _.sanitizeMargins(r); + }), + (_.supplyLayoutModuleDefaults = function (t, e, r, n) { + var i, + a, + o, + l = s.componentsRegistry, + u = e._basePlotModules, + f = s.subplotsRegistry.cartesian; + for (i in l) + (o = l[i]).includeBasePlot && + o.includeBasePlot(t, e); + for (var h in (u.length || u.push(f), + e._has("cartesian") && + (s.getComponentMethod("grid", "contentDefaults")( + t, + e, + ), + f.finalizeSubplots(t, e)), + e._subplots)) + e._subplots[h].sort(c.subplotSort); + for (a = 0; a < u.length; a++) + (o = u[a]).supplyLayoutDefaults && + o.supplyLayoutDefaults(t, e, r); + var p = e._modules; + for (a = 0; a < p.length; a++) + (o = p[a]).supplyLayoutDefaults && + o.supplyLayoutDefaults(t, e, r); + var d = e._transformModules; + for (a = 0; a < d.length; a++) + (o = d[a]).supplyLayoutDefaults && + o.supplyLayoutDefaults(t, e, r, n); + for (i in l) + (o = l[i]).supplyLayoutDefaults && + o.supplyLayoutDefaults(t, e, r); + }), + (_.purge = function (t) { + var e = t._fullLayout || {}; + void 0 !== e._glcontainer && + (e._glcontainer.selectAll(".gl-canvas").remove(), + e._glcontainer.remove(), + (e._glcanvas = null)), + e._modeBar && e._modeBar.destroy(), + t._transitionData && + (t._transitionData._interruptCallbacks && + (t._transitionData._interruptCallbacks.length = 0), + t._transitionData._animationRaf && + window.cancelAnimationFrame( + t._transitionData._animationRaf, + )), + c.clearThrottle(), + c.clearResponsive(t), + delete t.data, + delete t.layout, + delete t._fullData, + delete t._fullLayout, + delete t.calcdata, + 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._hmlumcount, + delete t._hmpixcount, + delete t._transitionData, + delete t._transitioning, + delete t._initialAutoSize, + delete t._transitioningWithDuration, + delete t._dragging, + delete t._dragged, + delete t._dragdata, + delete t._hoverdata, + delete t._snapshotInProgress, + delete t._editing, + delete t._mouseDownTime, + delete t._legendMouseDownTime, + t.removeAllListeners && t.removeAllListeners(); + }), + (_.style = function (t) { + var e, + r = t._fullLayout._visibleModules, + n = []; + for (e = 0; e < r.length; e++) { + var i = r[e]; + i.style && c.pushUnique(n, i.style); + } + for (e = 0; e < n.length; e++) n[e](t); + }), + (_.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))); + } + }), + (_.clearAutoMarginIds = function (t) { + t._fullLayout._pushmarginIds = {}; + }), + (_.allowAutoMargin = function (t, e) { + t._fullLayout._pushmarginIds[e] = 1; + }), + (_.autoMargin = function (t, e, r) { + var n = t._fullLayout, + i = n.width, + a = n.height, + o = n.margin, + s = n.minreducedwidth, + l = n.minreducedheight, + u = c.constrain(i - o.l - o.r, 2, s), + f = c.constrain(a - o.t - o.b, 2, l), + h = Math.max(0, i - u), + p = Math.max(0, a - f), + d = n._pushmargin, + v = n._pushmarginIds; + if (!1 !== o.autoexpand) { + if (r) { + var g = r.pad; + if ( + (void 0 === g && + (g = Math.min(12, o.l, o.r, o.t, o.b)), + h) + ) { + var y = (r.l + r.r) / h; + y > 1 && ((r.l /= y), (r.r /= y)); + } + if (p) { + var m = (r.t + r.b) / p; + m > 1 && ((r.t /= m), (r.b /= m)); + } + var x = void 0 !== r.xl ? r.xl : r.x, + b = void 0 !== r.xr ? r.xr : r.x, + w = void 0 !== r.yt ? r.yt : r.y, + T = void 0 !== r.yb ? r.yb : r.y; + (d[e] = { + l: { val: x, size: r.l + g }, + r: { val: b, size: r.r + g }, + b: { val: T, size: r.b + g }, + t: { val: w, size: r.t + g }, + }), + (v[e] = 1); + } else delete d[e], delete v[e]; + if (!n._replotting) return _.doAutoMargin(t); + } + }), + (_.doAutoMargin = function (t) { + var e = t._fullLayout, + r = e.width, + n = e.height; + e._size || (e._size = {}), O(e); + var i = e._size, + a = e.margin, + l = { t: 0, b: 0, l: 0, r: 0 }, + u = c.extendFlat({}, i), + f = a.l, + h = a.r, + d = a.t, + v = a.b, + g = e._pushmargin, + y = e._pushmarginIds, + m = e.minreducedwidth, + x = e.minreducedheight; + if (!1 !== a.autoexpand) { + for (var b in g) y[b] || delete g[b]; + var w = t._fullLayout._reservedMargin; + for (var T in w) + for (var k in w[T]) { + var A = w[T][k]; + l[k] = Math.max(l[k], A); + } + for (var M in ((g.base = { + l: { val: 0, size: f }, + r: { val: 1, size: h }, + t: { val: 1, size: d }, + b: { val: 0, size: v }, + }), + l)) { + var S = 0; + for (var E in g) + "base" !== E && + o(g[E][M].size) && + (S = g[E][M].size > S ? g[E][M].size : S); + var L = Math.max(0, a[M] - S); + l[M] = Math.max(0, l[M] - L); + } + for (var C in g) { + var P = g[C].l || {}, + I = g[C].b || {}, + D = P.val, + z = P.size, + R = I.val, + F = I.size, + B = r - l.r - l.l, + N = n - l.t - l.b; + for (var j in g) { + if (o(z) && g[j].r) { + var U = g[j].r.val, + V = g[j].r.size; + if (U > D) { + var H = (z * U + (V - B) * D) / (U - D), + q = + (V * (1 - D) + (z - B) * (1 - U)) / + (U - D); + H + q > f + h && ((f = H), (h = q)); + } + } + if (o(F) && g[j].t) { + var G = g[j].t.val, + Z = g[j].t.size; + if (G > R) { + var W = (F * G + (Z - N) * R) / (G - R), + Y = + (Z * (1 - R) + (F - N) * (1 - G)) / + (G - R); + W + Y > v + d && ((v = W), (d = Y)); + } + } + } + } + } + var X = c.constrain(r - a.l - a.r, 2, m), + J = c.constrain(n - a.t - a.b, 2, x), + K = Math.max(0, r - X), + $ = Math.max(0, n - J); + if (K) { + var Q = (f + h) / K; + Q > 1 && ((f /= Q), (h /= Q)); + } + if ($) { + var tt = (v + d) / $; + tt > 1 && ((v /= tt), (d /= tt)); + } + if ( + ((i.l = Math.round(f) + l.l), + (i.r = Math.round(h) + l.r), + (i.t = Math.round(d) + l.t), + (i.b = Math.round(v) + l.b), + (i.p = Math.round(a.pad)), + (i.w = Math.round(r) - i.l - i.r), + (i.h = Math.round(n) - i.t - i.b), + !e._replotting && + (_.didMarginChange(u, i) || + (function (t) { + if ( + "_redrawFromAutoMarginCount" in + t._fullLayout + ) + return !1; + var e = p.list(t, "", !0); + for (var r in e) + if (e[r].autoshift || e[r].shift) return !0; + return !1; + })(t))) + ) { + "_redrawFromAutoMarginCount" in e + ? e._redrawFromAutoMarginCount++ + : (e._redrawFromAutoMarginCount = 1); + var et = 3 * (1 + Object.keys(y).length); + if (e._redrawFromAutoMarginCount < et) + return s.call("_doPlot", t); + (e._size = u), + c.warn("Too many auto-margin redraws."); + } + !(function (t) { + var e = p.list(t, "", !0); + [ + "_adjustTickLabelsOverflow", + "_hideCounterAxisInsideTickLabels", + ].forEach(function (t) { + for (var r = 0; r < e.length; r++) { + var n = e[r][t]; + n && n(); + } + }); + })(t); + }); + var P = ["l", "r", "t", "b", "p", "w", "h"]; + function I(t, e, r) { + var n = !1, + i = [ + _.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) + ); + }, + r.prepareFn, + _.rehover, + _.reselect, + function () { + return ( + t.emit("plotly_transitioning", []), + new Promise(function (i) { + (t._transitioning = !0), + e.duration > 0 && + (t._transitioningWithDuration = !0), + t._transitionData._interruptCallbacks.push( + function () { + n = !0; + }, + ), + r.redraw && + t._transitionData._interruptCallbacks.push( + function () { + return s.call("redraw", t); + }, + ), + t._transitionData._interruptCallbacks.push( + function () { + t.emit( + "plotly_transitioninterrupted", + [], + ); + }, + ); + var a = 0, + o = 0; + function l() { + return ( + a++, + function () { + var e; + o++, + n || + o !== a || + ((e = i), + t._transitionData && + ((function (t) { + if (t) + for (; t.length; ) t.shift(); + })( + t._transitionData + ._interruptCallbacks, + ), + Promise.resolve() + .then(function () { + if (r.redraw) + return s.call("redraw", t); + }) + .then(function () { + (t._transitioning = !1), + (t._transitioningWithDuration = + !1), + t.emit( + "plotly_transitioned", + [], + ); + }) + .then(e))); + } + ); + } + r.runFn(l), setTimeout(l()); + }) + ); + }, + ], + a = c.syncOrAsync(i, t); + return ( + (a && a.then) || (a = Promise.resolve()), + a.then(function () { + return t; + }) + ); + } + (_.didMarginChange = function (t, e) { + for (var r = 0; r < P.length; r++) { + var n = P[r], + i = t[n], + a = e[n]; + if (!o(i) || Math.abs(a - i) > 1) return !0; + } + return !1; + }), + (_.graphJson = function (t, e, r, n, i, a) { + ((i && e && !t._fullData) || + (i && !e && !t._fullLayout)) && + _.supplyDefaults(t); + var o = i ? t._fullData : t.data, + s = i ? t._fullLayout : t.layout, + l = (t._transitionData || {})._frames; + function u(t, e) { + if ("function" == typeof t) + return e ? "_function_" : null; + if (c.isPlainObject(t)) { + var n, + i = {}; + return ( + Object.keys(t) + .sort() + .forEach(function (a) { + if (-1 === ["_", "["].indexOf(a.charAt(0))) + if ("function" != typeof t[a]) { + if ("keepdata" === r) { + if ("src" === a.substr(a.length - 3)) + return; + } else if ("keepstream" === r) { + if ( + "string" == + typeof (n = t[a + "src"]) && + n.indexOf(":") > 0 && + !c.isPlainObject(t.stream) + ) + return; + } else if ( + "keepall" !== r && + "string" == + typeof (n = t[a + "src"]) && + n.indexOf(":") > 0 + ) + return; + i[a] = u(t[a], e); + } else e && (i[a] = "_function"); + }), + i + ); + } + return Array.isArray(t) + ? t.map(function (t) { + return u(t, e); + }) + : c.isTypedArray(t) + ? c.simpleMap(t, c.identity) + : c.isJSDate(t) + ? c.ms2DateTimeLocal(+t) + : t; + } + var f = { + data: (o || []).map(function (t) { + var r = u(t); + return e && delete r.fit, r; + }), + }; + if (!e && ((f.layout = u(s)), i)) { + var h = s._size; + f.layout.computed = { + margin: { b: h.b, l: h.l, r: h.r, t: h.t }, + }; + } + return ( + l && (f.frames = u(l)), + a && (f.config = u(t._context, !0)), + "object" === n ? f : JSON.stringify(f) + ); + }), + (_.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(); + }), + (_.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 = _.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++ + ) + null != (i = n[r]) && + (-1 === (a = c.traces.indexOf(i)) && + ((a = c.data.length), (c.traces[a] = i)), + (c.data[a] = _.extendTrace( + c.data[a], + s.data[r], + ))); + } + return c; + }), + (_.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); + } + }), + (_.extendObjectWithContainers = function (t, e, r) { + var n, + i, + a, + o, + s, + l, + u, + f = c.extendDeepNoArrays({}, e || {}), + h = c.expandObjectPaths(f), + p = {}; + if (r && r.length) + for (a = 0; a < r.length; a++) + void 0 === + (i = (n = c.nestedProperty(h, r[a])).get()) + ? c.nestedProperty(p, r[a]).set(null) + : (n.set(null), + c.nestedProperty(p, r[a]).set(i)); + if ( + ((t = c.extendDeepNoArrays(t || {}, h)), + r && r.length) + ) + for (a = 0; a < r.length; a++) + if ((l = c.nestedProperty(p, r[a]).get())) { + for ( + u = (s = c.nestedProperty(t, r[a])).get(), + Array.isArray(u) || ((u = []), s.set(u)), + o = 0; + o < l.length; + o++ + ) { + var d = l[o]; + u[o] = + null === d + ? null + : _.extendObjectWithContainers(u[o], d); + } + s.set(u); + } + return t; + }), + (_.dataArrayContainers = ["transforms", "dimensions"]), + (_.layoutArrayContainers = s.layoutArrayContainers), + (_.extendTrace = function (t, e) { + return _.extendObjectWithContainers( + t, + e, + _.dataArrayContainers, + ); + }), + (_.extendLayout = function (t, e) { + return _.extendObjectWithContainers( + t, + e, + _.layoutArrayContainers, + ); + }), + (_.transition = function (t, e, r, n, i, a) { + var o = { redraw: i.redraw }, + s = {}, + l = []; + return ( + (o.prepareFn = function () { + for ( + var i = Array.isArray(e) ? e.length : 0, + a = n.slice(0, i), + o = 0; + o < a.length; + o++ + ) { + var u = a[o], + f = t._fullData[u]._module; + if (f) { + if (f.animatable) { + var h = f.basePlotModule.name; + s[h] || (s[h] = []), s[h].push(u); + } + t.data[a[o]] = _.extendTrace( + t.data[a[o]], + e[o], + ); + } + } + var p = c.expandObjectPaths( + c.extendDeepNoArrays({}, r), + ), + d = /^[xy]axis[0-9]*$/; + for (var v in p) d.test(v) && delete p[v].range; + _.extendLayout(t.layout, p), + delete t.calcdata, + _.supplyDefaults(t), + _.doCalcdata(t); + var g = c.expandObjectPaths(r); + if (g) { + var y = t._fullLayout._plots; + for (var m in y) { + var x = y[m], + b = x.xaxis, + w = x.yaxis, + T = b.range.slice(), + k = w.range.slice(), + A = null, + M = null, + S = null, + E = null; + Array.isArray(g[b._name + ".range"]) + ? (A = g[b._name + ".range"].slice()) + : Array.isArray((g[b._name] || {}).range) && + (A = g[b._name].range.slice()), + Array.isArray(g[w._name + ".range"]) + ? (M = g[w._name + ".range"].slice()) + : Array.isArray( + (g[w._name] || {}).range, + ) && (M = g[w._name].range.slice()), + T && + A && + (b.r2l(T[0]) !== b.r2l(A[0]) || + b.r2l(T[1]) !== b.r2l(A[1])) && + (S = { xr0: T, xr1: A }), + k && + M && + (w.r2l(k[0]) !== w.r2l(M[0]) || + w.r2l(k[1]) !== w.r2l(M[1])) && + (E = { yr0: k, yr1: M }), + (S || E) && + l.push( + c.extendFlat({ plotinfo: x }, S, E), + ); + } + } + return Promise.resolve(); + }), + (o.runFn = function (e) { + var n, + i, + o = t._fullLayout._basePlotModules, + u = l.length; + if (r) + for (i = 0; i < o.length; i++) + o[i].transitionAxes && + o[i].transitionAxes(t, l, a, e); + for (var f in (u + ? (((n = c.extendFlat({}, a)).duration = 0), + delete s.cartesian) + : (n = a), + s)) { + var h = s[f]; + t._fullData[h[0]]._module.basePlotModule.plot( + t, + h, + n, + e, + ); + } + }), + I(t, a, o) + ); + }), + (_.transitionFromReact = function (t, e, r, n) { + var i = t._fullLayout, + a = i.transition, + o = {}, + s = []; + return ( + (o.prepareFn = function () { + var t = i._plots; + for (var a in ((o.redraw = !1), + "some" === e.anim && (o.redraw = !0), + "some" === r.anim && (o.redraw = !0), + t)) { + var l = t[a], + u = l.xaxis, + f = l.yaxis, + h = n[u._name].range.slice(), + p = n[f._name].range.slice(), + d = u.range.slice(), + v = f.range.slice(); + u.setScale(), f.setScale(); + var g = null, + y = null; + (u.r2l(h[0]) === u.r2l(d[0]) && + u.r2l(h[1]) === u.r2l(d[1])) || + (g = { xr0: h, xr1: d }), + (f.r2l(p[0]) === f.r2l(v[0]) && + f.r2l(p[1]) === f.r2l(v[1])) || + (y = { yr0: p, yr1: v }), + (g || y) && + s.push(c.extendFlat({ plotinfo: l }, g, y)); + } + return Promise.resolve(); + }), + (o.runFn = function (r) { + for ( + var n, + i, + o, + l = t._fullData, + u = t._fullLayout._basePlotModules, + f = [], + h = 0; + h < l.length; + h++ + ) + f.push(h); + function p() { + if (t._fullLayout) + for (var e = 0; e < u.length; e++) + u[e].transitionAxes && + u[e].transitionAxes(t, s, n, r); + } + function d() { + if (t._fullLayout) + for (var e = 0; e < u.length; e++) + u[e].plot(t, o, i, r); + } + s.length && e.anim + ? "traces first" === a.ordering + ? ((n = c.extendFlat({}, a, { duration: 0 })), + (o = f), + (i = a), + setTimeout(p, a.duration), + d()) + : ((n = a), + (o = null), + (i = c.extendFlat({}, a, { duration: 0 })), + setTimeout(d, n.duration), + p()) + : s.length + ? ((n = a), p()) + : e.anim && ((o = f), (i = a), d()); + }), + I(t, a, o) + ); + }), + (_.doCalcdata = function (t, e) { + var r, + n, + i, + a, + o = p.list(t), + u = t._fullData, + f = t._fullLayout, + d = new Array(u.length), + v = (t.calcdata || []).slice(); + for ( + t.calcdata = d, + f._numBoxes = 0, + f._numViolins = 0, + f._violinScaleGroupStats = {}, + t._hmpixcount = 0, + t._hmlumcount = 0, + f._piecolormap = {}, + f._sunburstcolormap = {}, + f._treemapcolormap = {}, + f._iciclecolormap = {}, + f._funnelareacolormap = {}, + i = 0; + i < u.length; + i++ + ) + Array.isArray(e) && + -1 === e.indexOf(i) && + (d[i] = v[i]); + for (i = 0; i < u.length; i++) + ((r = u[i])._arrayAttrs = l.findArrayAttributes(r)), + (r._extremes = {}); + var g = f._subplots.polar || []; + for (i = 0; i < g.length; i++) + o.push(f[g[i]].radialaxis, f[g[i]].angularaxis); + for (var y in f._colorAxes) { + var m = f[y]; + !1 !== m.cauto && (delete m.cmin, delete m.cmax); + } + var x = !1; + function b(e) { + if ( + ((r = u[e]), + (n = r._module), + !0 === r.visible && r.transforms) + ) { + if (n && n.calc) { + var i = n.calc(t, r); + i[0] && + i[0].t && + i[0].t._scene && + delete i[0].t._scene.dirty; + } + for (a = 0; a < r.transforms.length; a++) { + var o = r.transforms[a]; + (n = w[o.type]) && + n.calcTransform && + ((r._hasCalcTransform = !0), + (x = !0), + n.calcTransform(t, r, o)); + } + } + } + function _(e, i) { + if ( + ((r = u[e]), !!(n = r._module).isContainer === i) + ) { + var o = []; + if (!0 === r.visible && 0 !== r._length) { + delete r._indexToPoints; + var s = r.transforms || []; + for (a = s.length - 1; a >= 0; a--) + if (s[a].enabled) { + r._indexToPoints = s[a]._indexToPoints; + break; + } + n && n.calc && (o = n.calc(t, r)); + } + (Array.isArray(o) && o[0]) || + (o = [{ x: h, y: h }]), + o[0].t || (o[0].t = {}), + (o[0].trace = r), + (d[e] = o); + } + } + for (z(o, u, f), i = 0; i < u.length; i++) _(i, !0); + for (i = 0; i < u.length; i++) b(i); + for (x && z(o, u, f), i = 0; i < u.length; i++) + _(i, !0); + for (i = 0; i < u.length; i++) _(i, !1); + R(t); + var T = (function (t, e) { + var r, + n, + i, + a, + o, + l = []; + function u(t, r, n) { + var i = r._id.charAt(0); + if ("histogram2dcontour" === t) { + var a = r._counterAxes[0], + o = p.getFromId(e, a), + s = + "x" === i || + ("x" === a && "category" === o.type), + l = + "y" === i || + ("y" === a && "category" === o.type); + return function (t, e) { + return 0 === t || + 0 === e || + (s && t === n[e].length - 1) || + (l && e === n.length - 1) + ? -1 + : ("y" === i ? e : t) - 1; + }; + } + return function (t, e) { + return "y" === i ? e : t; + }; + } + var f = { + min: function (t) { + return c.aggNums(Math.min, null, t); + }, + max: function (t) { + return c.aggNums(Math.max, null, t); + }, + sum: function (t) { + return c.aggNums( + function (t, e) { + return t + e; + }, + null, + t, + ); + }, + total: function (t) { + return c.aggNums( + function (t, e) { + return t + e; + }, + null, + t, + ); + }, + mean: function (t) { + return c.mean(t); + }, + median: function (t) { + return c.median(t); + }, + }; + for (r = 0; r < t.length; r++) { + var h = t[r]; + if ("category" === h.type) { + var d = h.categoryorder.match(D); + if (d) { + var v = d[1], + g = d[2], + y = h._id.charAt(0), + m = "x" === y, + x = []; + for (n = 0; n < h._categories.length; n++) + x.push([h._categories[n], []]); + for (n = 0; n < h._traceIndices.length; n++) { + var b = h._traceIndices[n], + _ = e._fullData[b]; + if (!0 === _.visible) { + var w = _.type; + s.traceIs(_, "histogram") && + (delete _._xautoBinFinished, + delete _._yautoBinFinished); + var T = "splom" === w, + k = "scattergl" === w, + A = e.calcdata[b]; + for (i = 0; i < A.length; i++) { + var M, + S, + E = A[i]; + if (T) { + var L = _._axesDim[h._id]; + if (!m) { + var C = _._diag[L][0]; + C && + (h = e._fullLayout[p.id2name(C)]); + } + var O = E.trace.dimensions[L].values; + for (a = 0; a < O.length; a++) + for ( + M = h._categoriesMap[O[a]], o = 0; + o < E.trace.dimensions.length; + o++ + ) + if (o !== L) { + var P = E.trace.dimensions[o]; + x[M][1].push(P.values[a]); + } + } else if (k) { + for (a = 0; a < E.t.x.length; a++) + m + ? ((M = E.t.x[a]), (S = E.t.y[a])) + : ((M = E.t.y[a]), + (S = E.t.x[a])), + x[M][1].push(S); + E.t && + E.t._scene && + delete E.t._scene.dirty; + } else if (E.hasOwnProperty("z")) { + S = E.z; + var I = u(_.type, h, S); + for (a = 0; a < S.length; a++) + for (o = 0; o < S[a].length; o++) + (M = I(o, a)) + 1 && + x[M][1].push(S[a][o]); + } else + for ( + void 0 === (M = E.p) && (M = E[y]), + void 0 === (S = E.s) && (S = E.v), + void 0 === S && + (S = m ? E.y : E.x), + Array.isArray(S) || + (S = void 0 === S ? [] : [S]), + a = 0; + a < S.length; + a++ + ) + x[M][1].push(S[a]); + } + } + } + h._categoriesValue = x; + var z = []; + for (n = 0; n < x.length; n++) + z.push([x[n][0], f[v](x[n][1])]); + z.sort(function (t, e) { + return t[1] - e[1]; + }), + (h._categoriesAggregatedValue = z), + (h._initialCategories = z.map(function (t) { + return t[0]; + })), + "descending" === g && + h._initialCategories.reverse(), + (l = l.concat(h.sortByInitialCategories())); + } + } + } + return l; + })(o, t); + if (T.length) { + for ( + f._numBoxes = 0, f._numViolins = 0, i = 0; + i < T.length; + i++ + ) + _(T[i], !0); + for (i = 0; i < T.length; i++) _(T[i], !1); + R(t); + } + s.getComponentMethod("fx", "calc")(t), + s.getComponentMethod("errorbars", "calc")(t); + }); + var D = + /(total|sum|min|max|mean|median) (ascending|descending)/; + function z(t, e, r) { + var n = {}; + function i(t) { + t.clearCalc(), + "multicategory" === t.type && + t.setupMultiCategory(e), + (n[t._id] = 1); + } + c.simpleMap(t, i); + for ( + var a = r._axisMatchGroups || [], o = 0; + o < a.length; + o++ + ) + for (var s in a[o]) n[s] || i(r[p.id2name(s)]); + } + function R(t) { + var e, + r, + n, + i = t._fullLayout, + a = i._visibleModules, + o = {}; + for (r = 0; r < a.length; r++) { + var s = a[r], + l = s.crossTraceCalc; + if (l) { + var u = s.basePlotModule.name; + o[u] ? c.pushUnique(o[u], l) : (o[u] = [l]); + } + } + for (n in o) { + var f = o[n], + h = i._subplots[n]; + if (Array.isArray(h)) + for (e = 0; e < h.length; e++) { + var p = h[e], + d = "cartesian" === n ? i._plots[p] : i[p]; + for (r = 0; r < f.length; r++) f[r](t, d, p); + } + else for (r = 0; r < f.length; r++) f[r](t); + } + } + (_.rehover = function (t) { + t._fullLayout._rehover && t._fullLayout._rehover(); + }), + (_.redrag = function (t) { + t._fullLayout._redrag && t._fullLayout._redrag(); + }), + (_.reselect = function (t) { + var e = t._fullLayout, + r = (t.layout || {}).selections, + n = e._previousSelections; + e._previousSelections = r; + var i = + e._reselect || + JSON.stringify(r) !== JSON.stringify(n); + s.getComponentMethod("selections", "reselect")(t, i); + }), + (_.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 f = a[u][0]; + (f[0].trace.visible = !1), (o[u] = [f]); + } + for (var h in o) { + var p = o[h]; + p[0][0].trace._module.plot( + t, + e, + c.filterVisible(p), + n, + ); + } + e.traceHash = o; + }), + (_.plotBasePlot = function (t, e, r, n, i) { + var a = s.getModule(t), + o = m(e.calcdata, a)[0]; + a.plot(e, o, n, i); + }), + (_.cleanBasePlot = function (t, e, r, n, i) { + var a = i._has && i._has(t), + o = r._has && r._has(t); + a && + !o && + i["_" + t + "layer"].selectAll("g.trace").remove(); + }); + }, + 9813: function (t) { + "use strict"; + t.exports = { + attr: "subplot", + name: "polar", + axisNames: ["angularaxis", "radialaxis"], + axisName2dataArray: { + angularaxis: "theta", + radialaxis: "r", + }, + layerNames: [ + "draglayer", + "plotbg", + "backplot", + "angular-grid", + "radial-grid", + "frontplot", + "angular-line", + "radial-line", + "angular-axis", + "radial-axis", + ], + radialDragBoxSize: 50, + angularDragBoxSize: 30, + cornerLen: 25, + cornerHalfWidth: 2, + MINDRAG: 8, + MINZOOM: 20, + OFFEDGE: 20, + }; + }, + 10869: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(61082).tester, + a = n.findIndexOfMin, + o = n.isAngleInsideSector, + s = n.angleDelta, + l = n.angleDist; + function u(t, e, r, n) { + var i, + a, + o = n[0], + s = n[1], + l = f(Math.sin(e) - Math.sin(t)), + u = f(Math.cos(e) - Math.cos(t)), + c = Math.tan(r), + h = f(1 / c), + p = l / u, + d = s - p * o; + return ( + h + ? l && u + ? (a = c * (i = d / (c - p))) + : u + ? ((i = s * h), (a = s)) + : ((i = o), (a = o * c)) + : l && u + ? ((i = 0), (a = d)) + : u + ? ((i = 0), (a = s)) + : (i = a = NaN), + [i, a] + ); + } + function c(t, e, r, i) { + return n.isFullCircle([e, r]) + ? (function (t, e) { + var r, + n = e.length, + i = new Array(n + 1); + for (r = 0; r < n; r++) { + var a = e[r]; + i[r] = [t * Math.cos(a), t * Math.sin(a)]; + } + return (i[r] = i[0].slice()), i; + })(t, i) + : (function (t, e, r, i) { + var s, + c, + f = i.length, + h = []; + function p(e) { + return [t * Math.cos(e), t * Math.sin(e)]; + } + function d(t, e, r) { + return u(t, e, r, p(t)); + } + function v(t) { + return n.mod(t, f); + } + function g(t) { + return o(t, [e, r]); + } + var y = a(i, function (t) { + return g(t) ? l(t, e) : 1 / 0; + }), + m = d(i[y], i[v(y - 1)], e); + for (h.push(m), s = y, c = 0; c < f; s++, c++) { + var x = i[v(s)]; + if (!g(x)) break; + h.push(p(x)); + } + var b = a(i, function (t) { + return g(t) ? l(t, r) : 1 / 0; + }), + _ = d(i[b], i[v(b + 1)], r); + return ( + h.push(_), + h.push([0, 0]), + h.push(h[0].slice()), + h + ); + })(t, e, r, i); + } + function f(t) { + return Math.abs(t) > 1e-10 ? t : 0; + } + function h(t, e, r) { + (e = e || 0), (r = r || 0); + for ( + var n = t.length, i = new Array(n), a = 0; + a < n; + a++ + ) { + var o = t[a]; + i[a] = [e + o[0], r - o[1]]; + } + return i; + } + t.exports = { + isPtInsidePolygon: function (t, e, r, n, a) { + if (!o(e, n)) return !1; + var s, l; + r[0] < r[1] + ? ((s = r[0]), (l = r[1])) + : ((s = r[1]), (l = r[0])); + var u = i(c(s, n[0], n[1], a)), + f = i(c(l, n[0], n[1], a)), + h = [t * Math.cos(e), t * Math.sin(e)]; + return f.contains(h) && !u.contains(h); + }, + findPolygonOffset: function (t, e, r, n) { + for ( + var i = 1 / 0, a = 1 / 0, o = c(t, e, r, n), s = 0; + s < o.length; + s++ + ) { + var l = o[s]; + (i = Math.min(i, l[0])), (a = Math.min(a, -l[1])); + } + return [i, a]; + }, + findEnclosingVertexAngles: function (t, e) { + var r = a(e, function (e) { + var r = s(e, t); + return r > 0 ? r : 1 / 0; + }), + i = n.mod(r + 1, e.length); + return [e[r], e[i]]; + }, + findIntersectionXY: u, + findXYatLength: function (t, e, r, n) { + var i = -e * r, + a = e * e + 1, + o = 2 * (e * i - r), + s = i * i + r * r - t * t, + l = Math.sqrt(o * o - 4 * a * s), + u = (-o + l) / (2 * a), + c = (-o - l) / (2 * a); + return [ + [u, e * u + i + n], + [c, e * c + i + n], + ]; + }, + clampTiny: f, + pathPolygon: function (t, e, r, n, i, a) { + return "M" + h(c(t, e, r, n), i, a).join("L"); + }, + pathPolygonAnnulus: function (t, e, r, n, i, a, o) { + var s, l; + t < e ? ((s = t), (l = e)) : ((s = e), (l = t)); + var u = h(c(s, r, n, i), a, o); + return ( + "M" + + h(c(l, r, n, i), a, o) + .reverse() + .join("L") + + "M" + + u.join("L") + ); + }, + }; + }, + 23580: function (t, e, r) { + "use strict"; + var n = r(27659).AU, + i = r(71828).counterRegex, + a = r(77997), + o = r(9813), + s = o.attr, + l = o.name, + u = i(l), + c = {}; + (c[s] = { + valType: "subplotid", + dflt: l, + editType: "calc", + }), + (t.exports = { + attr: s, + name: l, + idRoot: l, + idRegex: u, + attrRegex: u, + attributes: c, + layoutAttributes: r(73812), + supplyLayoutDefaults: r(68993), + plot: function (t) { + for ( + var e = t._fullLayout, + r = t.calcdata, + i = e._subplots[l], + o = 0; + o < i.length; + o++ + ) { + var s = i[o], + u = n(r, l, s), + c = e[s]._subplot; + c || ((c = a(t, s)), (e[s]._subplot = c)), + c.plot(u, e, t._promises); + } + }, + clean: function (t, e, r, n) { + for ( + var i = n._subplots[l] || [], + a = n._has && n._has("gl"), + o = e._has && e._has("gl"), + s = a && !o, + u = 0; + u < i.length; + u++ + ) { + var c = i[u], + f = n[c]._subplot; + if (!e[c] && f) + for (var h in (f.framework.remove(), + f.layers["radial-axis-title"].remove(), + f.clipPaths)) + f.clipPaths[h].remove(); + s && + f._scene && + (f._scene.destroy(), (f._scene = null)); + } + }, + toSVG: r(93612).toSVG, + }); + }, + 73812: function (t, e, r) { + "use strict"; + var n = r(22399), + i = r(13838), + a = r(27670).Y, + o = r(71828).extendFlat, + s = r(30962).overrideAll, + l = s( + { + color: i.color, + showline: o({}, i.showline, { dflt: !0 }), + linecolor: i.linecolor, + linewidth: i.linewidth, + showgrid: o({}, i.showgrid, { dflt: !0 }), + gridcolor: i.gridcolor, + gridwidth: i.gridwidth, + griddash: i.griddash, + }, + "plot", + "from-root", + ), + u = s( + { + tickmode: i.minor.tickmode, + nticks: i.nticks, + tick0: i.tick0, + dtick: i.dtick, + tickvals: i.tickvals, + ticktext: i.ticktext, + ticks: i.ticks, + ticklen: i.ticklen, + tickwidth: i.tickwidth, + tickcolor: i.tickcolor, + ticklabelstep: i.ticklabelstep, + showticklabels: i.showticklabels, + labelalias: i.labelalias, + showtickprefix: i.showtickprefix, + tickprefix: i.tickprefix, + showticksuffix: i.showticksuffix, + ticksuffix: i.ticksuffix, + showexponent: i.showexponent, + exponentformat: i.exponentformat, + minexponent: i.minexponent, + separatethousands: i.separatethousands, + tickfont: i.tickfont, + tickangle: i.tickangle, + tickformat: i.tickformat, + tickformatstops: i.tickformatstops, + layer: i.layer, + }, + "plot", + "from-root", + ), + c = { + visible: o({}, i.visible, { dflt: !0 }), + type: o({}, i.type, { + values: ["-", "linear", "log", "date", "category"], + }), + autotypenumbers: i.autotypenumbers, + autorangeoptions: { + minallowed: i.autorangeoptions.minallowed, + maxallowed: i.autorangeoptions.maxallowed, + clipmin: i.autorangeoptions.clipmin, + clipmax: i.autorangeoptions.clipmax, + include: i.autorangeoptions.include, + editType: "plot", + }, + autorange: o({}, i.autorange, { editType: "plot" }), + rangemode: { + valType: "enumerated", + values: ["tozero", "nonnegative", "normal"], + dflt: "tozero", + editType: "calc", + }, + minallowed: o({}, i.minallowed, { editType: "plot" }), + maxallowed: o({}, i.maxallowed, { editType: "plot" }), + range: o({}, i.range, { + items: [ + { + valType: "any", + editType: "plot", + impliedEdits: { "^autorange": !1 }, + }, + { + valType: "any", + editType: "plot", + impliedEdits: { "^autorange": !1 }, + }, + ], + editType: "plot", + }), + categoryorder: i.categoryorder, + categoryarray: i.categoryarray, + angle: { valType: "angle", editType: "plot" }, + side: { + valType: "enumerated", + values: ["clockwise", "counterclockwise"], + dflt: "clockwise", + editType: "plot", + }, + title: { + text: o({}, i.title.text, { + editType: "plot", + dflt: "", + }), + font: o({}, i.title.font, { editType: "plot" }), + editType: "plot", + }, + hoverformat: i.hoverformat, + uirevision: { valType: "any", editType: "none" }, + editType: "calc", + _deprecated: { + title: i._deprecated.title, + titlefont: i._deprecated.titlefont, + }, + }; + o(c, l, u); + var f = { + visible: o({}, i.visible, { dflt: !0 }), + type: { + valType: "enumerated", + values: ["-", "linear", "category"], + dflt: "-", + editType: "calc", + _noTemplating: !0, + }, + autotypenumbers: i.autotypenumbers, + categoryorder: i.categoryorder, + categoryarray: i.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: i.hoverformat, + uirevision: { valType: "any", editType: "none" }, + editType: "calc", + }; + o(f, l, u), + (t.exports = { + domain: a({ name: "polar", editType: "plot" }), + sector: { + valType: "info_array", + items: [ + { valType: "number", editType: "plot" }, + { valType: "number", editType: "plot" }, + ], + dflt: [0, 360], + editType: "plot", + }, + hole: { + valType: "number", + min: 0, + max: 1, + dflt: 0, + editType: "plot", + }, + bgcolor: { + valType: "color", + editType: "plot", + dflt: n.background, + }, + radialaxis: c, + angularaxis: f, + gridshape: { + valType: "enumerated", + values: ["circular", "linear"], + dflt: "circular", + editType: "plot", + }, + uirevision: { valType: "any", editType: "none" }, + editType: "calc", + }); + }, + 68993: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(44467), + o = r(49119), + s = r(27659).NG, + l = r(26218), + u = r(38701), + c = r(96115), + f = r(89426), + h = r(15258), + p = r(92128), + d = r(23074), + v = r(4322), + g = r(73812), + y = r(12101), + m = r(9813), + x = m.axisNames; + function b(t, e, r, o) { + var v = r("bgcolor"); + o.bgColor = i.combine(v, o.paper_bgcolor); + var b = r("sector"); + r("hole"); + var w, + T = s(o.fullData, m.name, o.id), + k = o.layoutOut; + function A(t, e) { + return r(w + "." + t, e); + } + for (var M = 0; M < x.length; M++) { + (w = x[M]), n.isPlainObject(t[w]) || (t[w] = {}); + var S = t[w], + E = a.newContainer(e, w); + (E._id = E._name = w), + (E._attr = o.id + "." + w), + (E._traceIndices = T.map(function (t) { + return t._expandedIndex; + })); + var L = m.axisName2dataArray[w], + C = _(S, E, A, T, L, o); + h(S, E, A, { axData: T, dataAttr: L }); + var O = A("visible"); + switch ( + (y(E, e, k), + A("uirevision", e.uirevision), + (E._m = 1), + w) + ) { + case "radialaxis": + A("minallowed"), A("maxallowed"); + var P, + I = A("range"), + D = E.getAutorangeDflt(I), + z = A("autorange", D); + !I || + ((null !== I[0] || null !== I[1]) && + ((null !== I[0] && null !== I[1]) || + ("reversed" !== z && !0 !== z)) && + (null === I[0] || + ("min" !== z && "max reversed" !== z)) && + (null === I[1] || + ("max" !== z && "min reversed" !== z))) || + ((I = void 0), + delete E.range, + (E.autorange = !0), + (P = !0)), + P || + (z = A( + "autorange", + (D = E.getAutorangeDflt(I)), + )), + (S.autorange = z), + z && + (d(A, z, I), + ("linear" !== C && "-" !== C) || + A("rangemode"), + E.isReversed() && (E._m = -1)), + E.cleanRange("range", { dfltRange: [0, 1] }); + break; + case "angularaxis": + if ("date" === C) { + n.log( + "Polar plots do not support date angular axes yet.", + ); + for (var R = 0; R < T.length; R++) + T[R].visible = !1; + C = S.type = E.type = "linear"; + } + A("linear" === C ? "thetaunit" : "period"); + var F = A("direction"); + A( + "rotation", + { counterclockwise: 0, clockwise: 90 }[F], + ); + } + if ( + (f(S, E, A, E.type, { + tickSuffixDflt: + "degrees" === E.thetaunit ? "°" : void 0, + }), + O) + ) { + var B, + N, + j, + U, + V = o.font || {}; + (N = (B = A("color")) === S.color ? B : V.color), + (j = V.size), + (U = V.family), + l(S, E, A, E.type), + c(S, E, A, E.type, { + font: { color: N, size: j, family: U }, + }), + u(S, E, A, { outerTicks: !0 }), + p(S, E, A, { + dfltColor: B, + bgColor: o.bgColor, + blend: 60, + showLine: !0, + showGrid: !0, + noZeroLine: !0, + attributes: g[w], + }), + A("layer"), + "radialaxis" === w && + (A("side"), + A("angle", b[0]), + A("title.text"), + n.coerceFont(A, "title.font", { + color: N, + size: n.bigFont(j), + family: U, + })); + } + "category" !== C && A("hoverformat"), (E._input = S); + } + "category" === e.angularaxis.type && r("gridshape"); + } + function _(t, e, r, n, i, a) { + var o = r("autotypenumbers", a.autotypenumbersDflt); + if ("-" === r("type")) { + for (var s, l = 0; l < n.length; l++) + if (n[l].visible) { + s = n[l]; + break; + } + s && + s[i] && + (e.type = v(s[i], "gregorian", { + noMultiCategory: !0, + autotypenumbers: o, + })), + "-" === e.type + ? (e.type = "linear") + : (t.type = e.type); + } + return e.type; + } + t.exports = function (t, e, r) { + o(t, e, r, { + type: m.name, + attributes: g, + handleDefaults: b, + font: e.font, + autotypenumbersDflt: e.autotypenumbers, + paper_bgcolor: e.paper_bgcolor, + fullData: r, + layoutOut: e, + }); + }; + }, + 77997: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(84267), + a = r(73972), + o = r(71828), + s = o.strRotate, + l = o.strTranslate, + u = r(7901), + c = r(91424), + f = r(74875), + h = r(89298), + p = r(21994), + d = r(12101), + v = r(71739).doAutoRange, + g = r(29323), + y = r(28569), + m = r(30211), + x = r(92998), + b = r(47322).prepSelect, + _ = r(47322).selectOnClick, + w = r(47322).clearOutline, + T = r(6964), + k = r(33306), + A = r(61549).redrawReglTraces, + M = r(18783).MID_SHIFT, + S = r(9813), + E = r(10869), + L = r(23893), + C = L.smith, + O = L.reactanceArc, + P = L.resistanceArc, + I = L.smithTransform, + D = o._, + z = o.mod, + R = o.deg2rad, + F = o.rad2deg; + function B(t, e, r) { + (this.isSmith = r || !1), + (this.id = e), + (this.gd = t), + (this._hasClipOnAxisFalse = null), + (this.vangles = null), + (this.radialAxisAngle = null), + (this.traceHash = {}), + (this.layers = {}), + (this.clipPaths = {}), + (this.clipIds = {}), + (this.viewInitial = {}); + var n = t._fullLayout, + i = "clip" + n._uid + e; + (this.clipIds.forTraces = i + "-for-traces"), + (this.clipPaths.forTraces = n._clips + .append("clipPath") + .attr("id", this.clipIds.forTraces)), + this.clipPaths.forTraces.append("path"), + (this.framework = n[ + "_" + (r ? "smith" : "polar") + "layer" + ] + .append("g") + .attr("class", e)), + (this.getHole = function (t) { + return this.isSmith ? 0 : t.hole; + }), + (this.getSector = function (t) { + return this.isSmith ? [0, 360] : t.sector; + }), + (this.getRadial = function (t) { + return this.isSmith ? t.realaxis : t.radialaxis; + }), + (this.getAngular = function (t) { + return this.isSmith + ? t.imaginaryaxis + : t.angularaxis; + }), + r || + ((this.radialTickLayout = null), + (this.angularTickLayout = null)); + } + var N = B.prototype; + function j(t) { + var e = + t.ticks + + String(t.ticklen) + + String(t.showticklabels); + return "side" in t && (e += t.side), e; + } + function U(t, e) { + return e[ + o.findIndexOfMin(e, function (e) { + return o.angleDist(t, e); + }) + ]; + } + function V(t, e, r) { + return ( + e + ? (t.attr("display", null), t.attr(r)) + : t && t.attr("display", "none"), + t + ); + } + (t.exports = function (t, e, r) { + return new B(t, e, r); + }), + (N.plot = function (t, e) { + for ( + var r = this, n = e[r.id], i = !1, a = 0; + a < t.length; + a++ + ) + if (!1 === t[a][0].trace.cliponaxis) { + i = !0; + break; + } + (r._hasClipOnAxisFalse = i), + r.updateLayers(e, n), + r.updateLayout(e, n), + f.generalUpdatePerTraceModule(r.gd, r, t, n), + r.updateFx(e, n), + r.isSmith && + (delete n.realaxis.range, + delete n.imaginaryaxis.range); + }), + (N.updateLayers = function (t, e) { + var r = this, + i = r.isSmith, + a = r.layers, + o = r.getRadial(e), + s = r.getAngular(e), + l = S.layerNames, + u = l.indexOf("frontplot"), + c = l.slice(0, u), + f = "below traces" === s.layer, + h = "below traces" === o.layer; + f && c.push("angular-line"), + h && c.push("radial-line"), + f && c.push("angular-axis"), + h && c.push("radial-axis"), + c.push("frontplot"), + f || c.push("angular-line"), + h || c.push("radial-line"), + f || c.push("angular-axis"), + h || c.push("radial-axis"); + var p = (i ? "smith" : "polar") + "sublayer", + d = r.framework.selectAll("." + p).data(c, String); + d + .enter() + .append("g") + .attr("class", function (t) { + return p + " " + t; + }) + .each(function (t) { + var e = (a[t] = n.select(this)); + switch (t) { + case "frontplot": + i || e.append("g").classed("barlayer", !0), + e.append("g").classed("scatterlayer", !0); + break; + case "backplot": + e.append("g").classed("maplayer", !0); + break; + case "plotbg": + a.bg = e.append("path"); + break; + case "radial-grid": + case "angular-grid": + e.style("fill", "none"); + break; + case "radial-line": + e.append("line").style("fill", "none"); + break; + case "angular-line": + e.append("path").style("fill", "none"); + } + }), + d.order(); + }), + (N.updateLayout = function (t, e) { + var r = this, + n = r.layers, + i = t._size, + a = r.getRadial(e), + o = r.getAngular(e), + s = e.domain.x, + f = e.domain.y; + (r.xOffset = i.l + i.w * s[0]), + (r.yOffset = i.t + i.h * (1 - f[1])); + var h = (r.xLength = i.w * (s[1] - s[0])), + p = (r.yLength = i.h * (f[1] - f[0])), + d = r.getSector(e); + r.sectorInRad = d.map(R); + var v, + g, + y, + m, + x, + b = (r.sectorBBox = (function (t) { + var e, + r = t[0], + n = t[1] - r, + i = z(r, 360), + a = i + n, + o = Math.cos(R(i)), + s = Math.sin(R(i)), + l = Math.cos(R(a)), + u = Math.sin(R(a)); + return ( + (e = + (i <= 90 && a >= 90) || (i > 90 && a >= 450) + ? 1 + : s <= 0 && u <= 0 + ? 0 + : Math.max(s, u)), + [ + (i <= 180 && a >= 180) || + (i > 180 && a >= 540) + ? -1 + : o >= 0 && l >= 0 + ? 0 + : Math.min(o, l), + (i <= 270 && a >= 270) || + (i > 270 && a >= 630) + ? -1 + : s >= 0 && u >= 0 + ? 0 + : Math.min(s, u), + a >= 360 + ? 1 + : o <= 0 && l <= 0 + ? 0 + : Math.max(o, l), + e, + ] + ); + })(d)), + _ = b[2] - b[0], + w = b[3] - b[1], + T = p / h, + k = Math.abs(w / _); + T > k + ? ((v = h), + (x = (p - (g = h * k)) / i.h / 2), + (y = [s[0], s[1]]), + (m = [f[0] + x, f[1] - x])) + : ((g = p), + (x = (h - (v = p / k)) / i.w / 2), + (y = [s[0] + x, s[1] - x]), + (m = [f[0], f[1]])), + (r.xLength2 = v), + (r.yLength2 = g), + (r.xDomain2 = y), + (r.yDomain2 = m); + var A, + M = (r.xOffset2 = i.l + i.w * y[0]), + S = (r.yOffset2 = i.t + i.h * (1 - m[1])), + E = (r.radius = v / _), + L = (r.innerRadius = r.getHole(e) * E), + C = (r.cx = M - E * b[0]), + O = (r.cy = S + E * b[3]), + P = (r.cxx = C - M), + I = (r.cyy = O - S), + D = a.side; + "counterclockwise" === D + ? ((A = D), (D = "top")) + : "clockwise" === D && ((A = D), (D = "bottom")), + (r.radialAxis = r.mockAxis(t, e, a, { + _id: "x", + side: D, + _trueSide: A, + domain: [L / i.w, E / i.w], + })), + (r.angularAxis = r.mockAxis(t, e, o, { + side: "right", + domain: [0, Math.PI], + autorange: !1, + })), + r.doAutoRange(t, e), + r.updateAngularAxis(t, e), + r.updateRadialAxis(t, e), + r.updateRadialAxisTitle(t, e), + (r.xaxis = r.mockCartesianAxis(t, e, { + _id: "x", + domain: y, + })), + (r.yaxis = r.mockCartesianAxis(t, e, { + _id: "y", + domain: m, + })); + var F = r.pathSubplot(); + r.clipPaths.forTraces + .select("path") + .attr("d", F) + .attr("transform", l(P, I)), + n.frontplot + .attr("transform", l(M, S)) + .call( + c.setClipUrl, + r._hasClipOnAxisFalse + ? null + : r.clipIds.forTraces, + r.gd, + ), + n.bg + .attr("d", F) + .attr("transform", l(C, O)) + .call(u.fill, e.bgcolor); + }), + (N.mockAxis = function (t, e, r, n) { + var i = o.extendFlat({}, r, n); + return d(i, e, t), i; + }), + (N.mockCartesianAxis = function (t, e, r) { + var n = this, + i = n.isSmith, + a = r._id, + s = o.extendFlat({ type: "linear" }, r); + p(s, t); + var l = { x: [0, 2], y: [1, 3] }; + return ( + (s.setRange = function () { + var t = n.sectorBBox, + r = l[a], + i = n.radialAxis._rl, + o = (i[1] - i[0]) / (1 - n.getHole(e)); + s.range = [t[r[0]] * o, t[r[1]] * o]; + }), + (s.isPtWithinRange = + "x" !== a || i + ? function () { + return !0; + } + : function (t) { + return n.isPtInside(t); + }), + s.setRange(), + s.setScale(), + s + ); + }), + (N.doAutoRange = function (t, e) { + var r = this, + n = r.gd, + i = r.radialAxis, + a = r.getRadial(e); + v(n, i); + var o = i.range; + (a.range = o.slice()), + (a._input.range = o.slice()), + (i._rl = [ + i.r2l(o[0], null, "gregorian"), + i.r2l(o[1], null, "gregorian"), + ]); + }), + (N.updateRadialAxis = function (t, e) { + var r = this, + n = r.gd, + i = r.layers, + a = r.radius, + c = r.innerRadius, + f = r.cx, + p = r.cy, + d = r.getRadial(e), + v = z(r.getSector(e)[0], 360), + g = r.radialAxis, + y = c < a, + m = r.isSmith; + m || + (r.fillViewInitialKey("radialaxis.angle", d.angle), + r.fillViewInitialKey( + "radialaxis.range", + g.range.slice(), + ), + g.setGeometry()), + "auto" === g.tickangle && + v > 90 && + v <= 270 && + (g.tickangle = 180); + var x = m + ? function (t) { + var e = I(r, C([t.x, 0])); + return l(e[0] - f, e[1] - p); + } + : function (t) { + return l(g.l2p(t.x) + c, 0); + }, + b = m + ? function (t) { + return P(r, t.x, -1 / 0, 1 / 0); + } + : function (t) { + return r.pathArc(g.r2p(t.x) + c); + }, + _ = j(d); + if ( + (r.radialTickLayout !== _ && + (i["radial-axis"].selectAll(".xtick").remove(), + (r.radialTickLayout = _)), + y) + ) { + g.setScale(); + var w = 0, + T = m + ? (g.tickvals || []) + .filter(function (t) { + return t >= 0; + }) + .map(function (t) { + return h.tickText(g, t, !0, !1); + }) + : h.calcTicks(g), + k = m ? T : h.clipEnds(g, T), + A = h.getTickSigns(g)[2]; + m && + ((("top" === g.ticks && "bottom" === g.side) || + ("bottom" === g.ticks && "top" === g.side)) && + (A = -A), + "top" === g.ticks && + "top" === g.side && + (w = -g.ticklen), + "bottom" === g.ticks && + "bottom" === g.side && + (w = g.ticklen)), + h.drawTicks(n, g, { + vals: T, + layer: i["radial-axis"], + path: h.makeTickPath(g, 0, A), + transFn: x, + crisp: !1, + }), + h.drawGrid(n, g, { + vals: k, + layer: i["radial-grid"], + path: b, + transFn: o.noop, + crisp: !1, + }), + h.drawLabels(n, g, { + vals: T, + layer: i["radial-axis"], + transFn: x, + labelFns: h.makeLabelFns(g, w), + }); + } + var M = (r.radialAxisAngle = r.vangles + ? F(U(R(d.angle), r.vangles)) + : d.angle), + S = l(f, p), + E = S + s(-M); + V( + i["radial-axis"], + y && (d.showticklabels || d.ticks), + { transform: E }, + ), + V(i["radial-grid"], y && d.showgrid, { + transform: m ? "" : S, + }), + V( + i["radial-line"].select("line"), + y && d.showline, + { + x1: m ? -a : c, + y1: 0, + x2: a, + y2: 0, + transform: E, + }, + ) + .attr("stroke-width", d.linewidth) + .call(u.stroke, d.linecolor); + }), + (N.updateRadialAxisTitle = function (t, e, r) { + if (!this.isSmith) { + var n = this, + i = n.gd, + a = n.radius, + o = n.cx, + s = n.cy, + l = n.getRadial(e), + u = n.id + "title", + f = 0; + if (l.title) { + var h = c.bBox( + n.layers["radial-axis"].node(), + ).height, + p = l.title.font.size, + d = l.side; + f = + "top" === d + ? p + : "counterclockwise" === d + ? -(h + 0.4 * p) + : h + 0.8 * p; + } + var v = void 0 !== r ? r : n.radialAxisAngle, + g = R(v), + y = Math.cos(g), + m = Math.sin(g), + b = o + (a / 2) * y + f * m, + _ = s - (a / 2) * m + f * y; + n.layers["radial-axis-title"] = x.draw(i, u, { + propContainer: l, + propName: n.id + ".radialaxis.title", + placeholder: D( + i, + "Click to enter radial axis title", + ), + attributes: { + x: b, + y: _, + "text-anchor": "middle", + }, + transform: { rotate: -v }, + }); + } + }), + (N.updateAngularAxis = function (t, e) { + var r = this, + n = r.gd, + i = r.layers, + a = r.radius, + c = r.innerRadius, + f = r.cx, + p = r.cy, + d = r.getAngular(e), + v = r.angularAxis, + g = r.isSmith; + g || + (r.fillViewInitialKey( + "angularaxis.rotation", + d.rotation, + ), + v.setGeometry(), + v.setScale()); + var y = g + ? function (t) { + var e = I(r, C([0, t.x])); + return ( + Math.atan2(e[0] - f, e[1] - p) - Math.PI / 2 + ); + } + : function (t) { + return v.t2g(t.x); + }; + "linear" === v.type && + "radians" === v.thetaunit && + ((v.tick0 = F(v.tick0)), (v.dtick = F(v.dtick))); + var m = function (t) { + return l( + f + a * Math.cos(t), + p - a * Math.sin(t), + ); + }, + x = g + ? function (t) { + var e = I(r, C([0, t.x])); + return l(e[0], e[1]); + } + : function (t) { + return m(y(t)); + }, + b = g + ? function (t) { + var e = I(r, C([0, t.x])), + n = + Math.atan2(e[0] - f, e[1] - p) - + Math.PI / 2; + return l(e[0], e[1]) + s(-F(n)); + } + : function (t) { + var e = y(t); + return m(e) + s(-F(e)); + }, + _ = g + ? function (t) { + return O(r, t.x, 0, 1 / 0); + } + : function (t) { + var e = y(t), + r = Math.cos(e), + n = Math.sin(e); + return ( + "M" + + [f + c * r, p - c * n] + + "L" + + [f + a * r, p - a * n] + ); + }, + w = h.makeLabelFns(v, 0).labelStandoff, + T = { + xFn: function (t) { + var e = y(t); + return Math.cos(e) * w; + }, + yFn: function (t) { + var e = y(t), + r = Math.sin(e) > 0 ? 0.2 : 1; + return ( + -Math.sin(e) * (w + t.fontSize * r) + + Math.abs(Math.cos(e)) * (t.fontSize * M) + ); + }, + anchorFn: function (t) { + var e = y(t), + r = Math.cos(e); + return Math.abs(r) < 0.1 + ? "middle" + : r > 0 + ? "start" + : "end"; + }, + heightFn: function (t, e, r) { + var n = y(t); + return -0.5 * (1 + Math.sin(n)) * r; + }, + }, + k = j(d); + r.angularTickLayout !== k && + (i["angular-axis"] + .selectAll("." + v._id + "tick") + .remove(), + (r.angularTickLayout = k)); + var A, + S = g + ? [1 / 0] + .concat(v.tickvals || []) + .map(function (t) { + return h.tickText(v, t, !0, !1); + }) + : h.calcTicks(v); + if ( + (g && ((S[0].text = "∞"), (S[0].fontSize *= 1.75)), + "linear" === e.gridshape + ? ((A = S.map(y)), + o.angleDelta(A[0], A[1]) < 0 && + (A = A.slice().reverse())) + : (A = null), + (r.vangles = A), + "category" === v.type && + (S = S.filter(function (t) { + return o.isAngleInsideSector( + y(t), + r.sectorInRad, + ); + })), + v.visible) + ) { + var E = "inside" === v.ticks ? -1 : 1, + L = (v.linewidth || 1) / 2; + h.drawTicks(n, v, { + vals: S, + layer: i["angular-axis"], + path: "M" + E * L + ",0h" + E * v.ticklen, + transFn: b, + crisp: !1, + }), + h.drawGrid(n, v, { + vals: S, + layer: i["angular-grid"], + path: _, + transFn: o.noop, + crisp: !1, + }), + h.drawLabels(n, v, { + vals: S, + layer: i["angular-axis"], + repositionOnUpdate: !0, + transFn: x, + labelFns: T, + }); + } + V(i["angular-line"].select("path"), d.showline, { + d: r.pathSubplot(), + transform: l(f, p), + }) + .attr("stroke-width", d.linewidth) + .call(u.stroke, d.linecolor); + }), + (N.updateFx = function (t, e) { + this.gd._context.staticPlot || + (!this.isSmith && + (this.updateAngularDrag(t), + this.updateRadialDrag(t, e, 0), + this.updateRadialDrag(t, e, 1)), + this.updateHoverAndMainDrag(t)); + }), + (N.updateHoverAndMainDrag = function (t) { + var e, + r, + s = this, + u = s.isSmith, + c = s.gd, + f = s.layers, + h = t._zoomlayer, + p = S.MINZOOM, + d = S.OFFEDGE, + v = s.radius, + x = s.innerRadius, + T = s.cx, + k = s.cy, + A = s.cxx, + M = s.cyy, + L = s.sectorInRad, + C = s.vangles, + O = s.radialAxis, + P = E.clampTiny, + I = E.findXYatLength, + D = E.findEnclosingVertexAngles, + z = S.cornerHalfWidth, + R = S.cornerLen / 2, + F = g.makeDragger( + f, + "path", + "maindrag", + !1 === t.dragmode ? "none" : "crosshair", + ); + n + .select(F) + .attr("d", s.pathSubplot()) + .attr("transform", l(T, k)), + (F.onmousemove = function (t) { + m.hover(c, t, s.id), + (c._fullLayout._lasthover = F), + (c._fullLayout._hoversubplot = s.id); + }), + (F.onmouseout = function (t) { + c._dragging || y.unhover(c, t); + }); + var B, + N, + j, + U, + V, + H, + q, + G, + Z, + W = { + element: F, + gd: c, + subplot: s.id, + plotinfo: { + id: s.id, + xaxis: s.xaxis, + yaxis: s.yaxis, + }, + xaxes: [s.xaxis], + yaxes: [s.yaxis], + }; + function Y(t, e) { + return Math.sqrt(t * t + e * e); + } + function X(t, e) { + return Y(t - A, e - M); + } + function J(t, e) { + return Math.atan2(M - e, t - A); + } + function K(t, e) { + return [t * Math.cos(e), t * Math.sin(-e)]; + } + function $(t, e) { + if (0 === t) return s.pathSector(2 * z); + var r = R / t, + n = e - r, + i = e + r, + a = Math.max(0, Math.min(t, v)), + o = a - z, + l = a + z; + return ( + "M" + + K(o, n) + + "A" + + [o, o] + + " 0,0,0 " + + K(o, i) + + "L" + + K(l, i) + + "A" + + [l, l] + + " 0,0,1 " + + K(l, n) + + "Z" + ); + } + function Q(t, e, r) { + if (0 === t) return s.pathSector(2 * z); + var n, + i, + a = K(t, e), + o = K(t, r), + l = P((a[0] + o[0]) / 2), + u = P((a[1] + o[1]) / 2); + if (l && u) { + var c = u / l, + f = -1 / c, + h = I(z, c, l, u); + (n = I(R, f, h[0][0], h[0][1])), + (i = I(R, f, h[1][0], h[1][1])); + } else { + var p, d; + u ? ((p = R), (d = z)) : ((p = z), (d = R)), + (n = [ + [l - p, u - d], + [l + p, u - d], + ]), + (i = [ + [l - p, u + d], + [l + p, u + d], + ]); + } + return ( + "M" + + n.join("L") + + "L" + + i.reverse().join("L") + + "Z" + ); + } + function tt(t, e) { + return ( + (e = Math.max(Math.min(e, v), x)), + t < d + ? (t = 0) + : v - t < d + ? (t = v) + : e < d + ? (e = 0) + : v - e < d && (e = v), + Math.abs(e - t) > p + ? (t < e + ? ((j = t), (U = e)) + : ((j = e), (U = t)), + !0) + : ((j = null), (U = null), !1) + ); + } + function et(t, e) { + (t = t || V), + (e = e || "M0,0Z"), + G.attr("d", t), + Z.attr("d", e), + g.transitionZoombox(G, Z, H, q), + (H = !0); + var r = {}; + ot(r), c.emit("plotly_relayouting", r); + } + function rt(t, n) { + var i, + a, + o = B + (t *= e), + l = N + (n *= r), + u = X(B, N), + c = Math.min(X(o, l), v), + f = J(B, N); + tt(u, c) && + ((i = V + s.pathSector(U)), + j && (i += s.pathSector(j)), + (a = $(j, f) + $(U, f))), + et(i, a); + } + function nt(t, e, r, n) { + var i = E.findIntersectionXY(r, n, r, [ + t - A, + M - e, + ]); + return Y(i[0], i[1]); + } + function it(t, e) { + var r, + n, + i = B + t, + a = N + e, + o = J(B, N), + l = J(i, a), + u = D(o, C), + c = D(l, C); + tt( + nt(B, N, u[0], u[1]), + Math.min(nt(i, a, c[0], c[1]), v), + ) && + ((r = V + s.pathSector(U)), + j && (r += s.pathSector(j)), + (n = [Q(j, u[0], u[1]), Q(U, u[0], u[1])].join( + " ", + ))), + et(r, n); + } + function at() { + if ( + (g.removeZoombox(c), null !== j && null !== U) + ) { + var t = {}; + ot(t), + g.showDoubleClickNotifier(c), + a.call("_guiRelayout", c, t); + } + } + function ot(t) { + var e = O._rl, + r = (e[1] - e[0]) / (1 - x / v) / v, + n = [e[0] + (j - x) * r, e[0] + (U - x) * r]; + t[s.id + ".radialaxis.range"] = n; + } + function st(t, e) { + var r = c._fullLayout.clickmode; + if ((g.removeZoombox(c), 2 === t)) { + var n = {}; + for (var i in s.viewInitial) + n[s.id + "." + i] = s.viewInitial[i]; + c.emit("plotly_doubleclick", null), + a.call("_guiRelayout", c, n); + } + r.indexOf("select") > -1 && + 1 === t && + _(e, c, [s.xaxis], [s.yaxis], s.id, W), + r.indexOf("event") > -1 && m.click(c, e, s.id); + } + (W.prepFn = function (t, n, a) { + var l = c._fullLayout.dragmode, + f = F.getBoundingClientRect(); + c._fullLayout._calcInverseTransform(c); + var p = c._fullLayout._invTransform; + (e = c._fullLayout._invScaleX), + (r = c._fullLayout._invScaleY); + var d = o.apply3DTransform(p)( + n - f.left, + a - f.top, + ); + if (((B = d[0]), (N = d[1]), C)) { + var y = E.findPolygonOffset(v, L[0], L[1], C); + (B += A + y[0]), (N += M + y[1]); + } + switch (l) { + case "zoom": + (W.clickFn = st), + u || + ((W.moveFn = C ? it : rt), + (W.doneFn = at), + (function () { + (j = null), + (U = null), + (V = s.pathSubplot()), + (H = !1); + var t = c._fullLayout[s.id]; + (q = i(t.bgcolor).getLuminance()), + (G = g.makeZoombox(h, q, T, k, V)).attr( + "fill-rule", + "evenodd", + ), + (Z = g.makeCorners(h, T, k)), + w(c); + })()); + break; + case "select": + case "lasso": + b(t, n, a, W, l); + } + }), + y.init(W); + }), + (N.updateRadialDrag = function (t, e, r) { + var i = this, + u = i.gd, + c = i.layers, + f = i.radius, + h = i.innerRadius, + p = i.cx, + d = i.cy, + v = i.radialAxis, + m = S.radialDragBoxSize, + x = m / 2; + if (v.visible) { + var b, + _, + T, + M = R(i.radialAxisAngle), + E = v._rl, + L = E[0], + C = E[1], + O = E[r], + P = + (0.75 * (E[1] - E[0])) / (1 - i.getHole(e)) / f; + r + ? ((b = p + (f + x) * Math.cos(M)), + (_ = d - (f + x) * Math.sin(M)), + (T = "radialdrag")) + : ((b = p + (h - x) * Math.cos(M)), + (_ = d - (h - x) * Math.sin(M)), + (T = "radialdrag-inner")); + var I, + D, + z, + B = g.makeRectDragger( + c, + T, + "crosshair", + -x, + -x, + m, + m, + ), + N = { element: B, gd: u }; + !1 === t.dragmode && (N.dragmode = !1), + V(n.select(B), v.visible && h < f, { + transform: l(b, _), + }), + (N.prepFn = function () { + (I = null), + (D = null), + (z = null), + (N.moveFn = j), + (N.doneFn = H), + w(u); + }), + (N.clampFn = function (t, e) { + return ( + Math.sqrt(t * t + e * e) < S.MINDRAG && + ((t = 0), (e = 0)), + [t, e] + ); + }), + y.init(N); + } + function j(t, e) { + if (I) I(t, e); + else { + var n = [t, -e], + a = [Math.cos(M), Math.sin(M)], + s = Math.abs( + o.dot(n, a) / Math.sqrt(o.dot(n, n)), + ); + isNaN(s) || (I = s < 0.5 ? q : G); + } + var l = {}; + !(function (t) { + null !== D + ? (t[i.id + ".radialaxis.angle"] = D) + : null !== z && + (t[i.id + ".radialaxis.range[" + r + "]"] = + z); + })(l), + u.emit("plotly_relayouting", l); + } + function H() { + null !== D + ? a.call( + "_guiRelayout", + u, + i.id + ".radialaxis.angle", + D, + ) + : null !== z && + a.call( + "_guiRelayout", + u, + i.id + ".radialaxis.range[" + r + "]", + z, + ); + } + function q(t, e) { + if (0 !== r) { + var n = b + t, + a = _ + e; + (D = Math.atan2(d - a, n - p)), + i.vangles && (D = U(D, i.vangles)), + (D = F(D)); + var o = l(p, d) + s(-D); + c["radial-axis"].attr("transform", o), + c["radial-line"] + .select("line") + .attr("transform", o); + var u = i.gd._fullLayout, + f = u[i.id]; + i.updateRadialAxisTitle(u, f, D); + } + } + function G(t, e) { + var n = o.dot([t, -e], [Math.cos(M), Math.sin(M)]); + if ( + ((z = O - P * n), P > 0 == (r ? z > L : z < C)) + ) { + var s = u._fullLayout, + l = s[i.id]; + (v.range[r] = z), + (v._rl[r] = z), + i.updateRadialAxis(s, l), + i.xaxis.setRange(), + i.xaxis.setScale(), + i.yaxis.setRange(), + i.yaxis.setScale(); + var c = !1; + for (var f in i.traceHash) { + var h = i.traceHash[f], + p = o.filterVisible(h); + h[0][0].trace._module.plot(u, i, p, l), + a.traceIs(f, "gl") && p.length && (c = !0); + } + c && (k(u), A(u)); + } else z = null; + } + }), + (N.updateAngularDrag = function (t) { + var e = this, + r = e.gd, + i = e.layers, + u = e.radius, + f = e.angularAxis, + h = e.cx, + p = e.cy, + d = e.cxx, + v = e.cyy, + m = S.angularDragBoxSize, + x = g.makeDragger( + i, + "path", + "angulardrag", + !1 === t.dragmode ? "none" : "move", + ), + b = { element: x, gd: r }; + function _(t, e) { + return Math.atan2(v + m - e, t - d - m); + } + !1 === t.dragmode + ? (b.dragmode = !1) + : n + .select(x) + .attr("d", e.pathAnnulus(u, u + m)) + .attr("transform", l(h, p)) + .call(T, "move"); + var M, + E, + L, + C, + O, + P, + I = i.frontplot + .select(".scatterlayer") + .selectAll(".trace"), + D = I.selectAll(".point"), + z = I.selectAll(".textpoint"); + function R(u, g) { + var y = e.gd._fullLayout, + m = y[e.id], + x = _(M + u * t._invScaleX, E + g * t._invScaleY), + b = F(x - P); + if ( + ((C = L + b), + i.frontplot.attr( + "transform", + l(e.xOffset2, e.yOffset2) + s([-b, d, v]), + ), + e.vangles) + ) { + O = e.radialAxisAngle + b; + var w = l(h, p) + s(-b), + T = l(h, p) + s(-O); + i.bg.attr("transform", w), + i["radial-grid"].attr("transform", w), + i["radial-axis"].attr("transform", T), + i["radial-line"] + .select("line") + .attr("transform", T), + e.updateRadialAxisTitle(y, m, O); + } else + e.clipPaths.forTraces + .select("path") + .attr("transform", l(d, v) + s(b)); + D.each(function () { + var t = n.select(this), + e = c.getTranslate(t); + t.attr("transform", l(e.x, e.y) + s([b])); + }), + z.each(function () { + var t = n.select(this), + e = t.select("text"), + r = c.getTranslate(t); + t.attr( + "transform", + s([b, e.attr("x"), e.attr("y")]) + + l(r.x, r.y), + ); + }), + (f.rotation = o.modHalf(C, 360)), + e.updateAngularAxis(y, m), + e._hasClipOnAxisFalse && + !o.isFullCircle(e.sectorInRad) && + I.call(c.hideOutsideRangePoints, e); + var S = !1; + for (var R in e.traceHash) + if (a.traceIs(R, "gl")) { + var N = e.traceHash[R], + j = o.filterVisible(N); + N[0][0].trace._module.plot(r, e, j, m), + j.length && (S = !0); + } + S && (k(r), A(r)); + var U = {}; + B(U), r.emit("plotly_relayouting", U); + } + function B(t) { + (t[e.id + ".angularaxis.rotation"] = C), + e.vangles && (t[e.id + ".radialaxis.angle"] = O); + } + function N() { + z.select("text").attr("transform", null); + var t = {}; + B(t), a.call("_guiRelayout", r, t); + } + (b.prepFn = function (n, i, a) { + var s = t[e.id]; + L = s.angularaxis.rotation; + var l = x.getBoundingClientRect(); + (M = i - l.left), + (E = a - l.top), + r._fullLayout._calcInverseTransform(r); + var u = o.apply3DTransform(t._invTransform)(M, E); + (M = u[0]), + (E = u[1]), + (P = _(M, E)), + (b.moveFn = R), + (b.doneFn = N), + w(r); + }), + e.vangles && + !o.isFullCircle(e.sectorInRad) && + ((b.prepFn = o.noop), T(n.select(x), null)), + y.init(b); + }), + (N.isPtInside = function (t) { + if (this.isSmith) return !0; + var e = this.sectorInRad, + r = this.vangles, + n = this.angularAxis.c2g(t.theta), + i = this.radialAxis, + a = i.c2l(t.r), + s = i._rl; + return (r ? E.isPtInsidePolygon : o.isPtInsideSector)( + a, + n, + s, + e, + r, + ); + }), + (N.pathArc = function (t) { + var e = this.sectorInRad, + r = this.vangles; + return (r ? E.pathPolygon : o.pathArc)( + t, + e[0], + e[1], + r, + ); + }), + (N.pathSector = function (t) { + var e = this.sectorInRad, + r = this.vangles; + return (r ? E.pathPolygon : o.pathSector)( + t, + e[0], + e[1], + r, + ); + }), + (N.pathAnnulus = function (t, e) { + var r = this.sectorInRad, + n = this.vangles; + return (n ? E.pathPolygonAnnulus : o.pathAnnulus)( + t, + e, + r[0], + r[1], + n, + ); + }), + (N.pathSubplot = function () { + var t = this.innerRadius, + e = this.radius; + return t + ? this.pathAnnulus(t, e) + : this.pathSector(e); + }), + (N.fillViewInitialKey = function (t, e) { + t in this.viewInitial || (this.viewInitial[t] = e); + }); + }, + 12101: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(21994), + a = n.deg2rad, + o = n.rad2deg; + t.exports = function (t, e, r) { + switch ((i(t, r), t._id)) { + case "x": + case "radialaxis": + !(function (t, e) { + var r = e._subplot; + t.setGeometry = function () { + var e = t._rl[0], + n = t._rl[1], + i = r.innerRadius, + a = (r.radius - i) / (n - e), + o = i / a, + s = + e > n + ? function (t) { + return t <= 0; + } + : function (t) { + return t >= 0; + }; + (t.c2g = function (r) { + var n = t.c2l(r) - e; + return (s(n) ? n : 0) + o; + }), + (t.g2c = function (r) { + return t.l2c(r + e - o); + }), + (t.g2p = function (t) { + return t * a; + }), + (t.c2p = function (e) { + return t.g2p(t.c2g(e)); + }); + }; + })(t, e); + break; + case "angularaxis": + !(function (t, e) { + var r = t.type; + if ("linear" === r) { + var i = t.d2c, + s = t.c2d; + (t.d2c = function (t, e) { + return (function (t, e) { + return "degrees" === e ? a(t) : t; + })(i(t), e); + }), + (t.c2d = function (t, e) { + return s( + (function (t, e) { + return "degrees" === e ? o(t) : t; + })(t, e), + ); + }); + } + (t.makeCalcdata = function (e, i) { + var a, + o, + s = e[i], + l = e._length, + u = function (r) { + return t.d2c(r, e.thetaunit); + }; + if (s) { + if (n.isTypedArray(s) && "linear" === r) { + if (l === s.length) return s; + if (s.subarray) return s.subarray(0, l); + } + for (a = new Array(l), o = 0; o < l; o++) + a[o] = u(s[o]); + } else { + var c = i + "0", + f = "d" + i, + h = c in e ? u(e[c]) : 0, + p = e[f] + ? u(e[f]) + : (t.period || 2 * Math.PI) / l; + for (a = new Array(l), o = 0; o < l; o++) + a[o] = h + o * p; + } + return a; + }), + (t.setGeometry = function () { + var i, + s, + l, + u, + c = e.sector, + f = c.map(a), + h = { clockwise: -1, counterclockwise: 1 }[ + t.direction + ], + p = a(t.rotation), + d = function (t) { + return h * t + p; + }, + v = function (t) { + return (t - p) / h; + }; + switch (r) { + case "linear": + (s = i = n.identity), + (u = a), + (l = o), + (t.range = n.isFullCircle(f) + ? [c[0], c[0] + 360] + : f.map(v).map(o)); + break; + case "category": + var g = t._categories.length, + y = t.period + ? Math.max(t.period, g) + : g; + 0 === y && (y = 1), + (s = u = + function (t) { + return (2 * t * Math.PI) / y; + }), + (i = l = + function (t) { + return (t * y) / Math.PI / 2; + }), + (t.range = [0, y]); + } + (t.c2g = function (t) { + return d(s(t)); + }), + (t.g2c = function (t) { + return i(v(t)); + }), + (t.t2g = function (t) { + return d(u(t)); + }), + (t.g2t = function (t) { + return l(v(t)); + }); + }); + })(t, e); + } + }; + }, + 39779: function (t) { + "use strict"; + t.exports = { + attr: "subplot", + name: "smith", + axisNames: ["realaxis", "imaginaryaxis"], + axisName2dataArray: { + imaginaryaxis: "imag", + realaxis: "real", + }, + }; + }, + 23893: function (t) { + "use strict"; + function e(t) { + return t < 0 ? -1 : t > 0 ? 1 : 0; + } + function r(t) { + var e = t[0], + r = t[1]; + if (!isFinite(e) || !isFinite(r)) return [1, 0]; + var n = (e + 1) * (e + 1) + r * r; + return [(e * e + r * r - 1) / n, (2 * r) / n]; + } + function n(t, e) { + var r = e[0], + n = e[1]; + return [r * t.radius + t.cx, -n * t.radius + t.cy]; + } + function i(t, e) { + return e * t.radius; + } + t.exports = { + smith: r, + reactanceArc: function (t, e, a, o) { + var s = n(t, r([a, e])), + l = s[0], + u = s[1], + c = n(t, r([o, e])), + f = c[0], + h = c[1]; + if (0 === e) + return ["M" + l + "," + u, "L" + f + "," + h].join( + " ", + ); + var p = i(t, 1 / Math.abs(e)); + return [ + "M" + l + "," + u, + "A" + + p + + "," + + p + + " 0 0," + + (e < 0 ? 1 : 0) + + " " + + f + + "," + + h, + ].join(" "); + }, + resistanceArc: function (t, a, o, s) { + var l = i(t, 1 / (a + 1)), + u = n(t, r([a, o])), + c = u[0], + f = u[1], + h = n(t, r([a, s])), + p = h[0], + d = h[1]; + if (e(o) !== e(s)) { + var v = n(t, r([a, 0])); + return [ + "M" + c + "," + f, + "A" + + l + + "," + + l + + " 0 0," + + (0 < o ? 0 : 1) + + " " + + v[0] + + "," + + v[1], + "A" + + l + + "," + + l + + " 0 0," + + (s < 0 ? 0 : 1) + + p + + "," + + d, + ].join(" "); + } + return [ + "M" + c + "," + f, + "A" + + l + + "," + + l + + " 0 0," + + (s < o ? 0 : 1) + + " " + + p + + "," + + d, + ].join(" "); + }, + smithTransform: n, + }; + }, + 7504: function (t, e, r) { + "use strict"; + var n = r(27659).AU, + i = r(71828).counterRegex, + a = r(77997), + o = r(39779), + s = o.attr, + l = o.name, + u = i(l), + c = {}; + (c[s] = { + valType: "subplotid", + dflt: l, + editType: "calc", + }), + (t.exports = { + attr: s, + name: l, + idRoot: l, + idRegex: u, + attrRegex: u, + attributes: c, + layoutAttributes: r(33419), + supplyLayoutDefaults: r(9558), + plot: function (t) { + for ( + var e = t._fullLayout, + r = t.calcdata, + i = e._subplots[l], + o = 0; + o < i.length; + o++ + ) { + var s = i[o], + u = n(r, l, s), + c = e[s]._subplot; + c || ((c = a(t, s, !0)), (e[s]._subplot = c)), + c.plot(u, e, t._promises); + } + }, + clean: function (t, e, r, n) { + for ( + var i = n._subplots[l] || [], a = 0; + a < i.length; + a++ + ) { + var o = i[a], + s = n[o]._subplot; + if (!e[o] && s) + for (var u in (s.framework.remove(), + s.clipPaths)) + s.clipPaths[u].remove(); + } + }, + toSVG: r(93612).toSVG, + }); + }, + 33419: function (t, e, r) { + "use strict"; + var n = r(22399), + i = r(13838), + a = r(27670).Y, + o = r(71828).extendFlat, + s = r(30962).overrideAll, + l = s( + { + color: i.color, + showline: o({}, i.showline, { dflt: !0 }), + linecolor: i.linecolor, + linewidth: i.linewidth, + showgrid: o({}, i.showgrid, { dflt: !0 }), + gridcolor: i.gridcolor, + gridwidth: i.gridwidth, + griddash: i.griddash, + }, + "plot", + "from-root", + ), + u = s( + { + ticklen: i.ticklen, + tickwidth: o({}, i.tickwidth, { dflt: 2 }), + tickcolor: i.tickcolor, + showticklabels: i.showticklabels, + labelalias: i.labelalias, + showtickprefix: i.showtickprefix, + tickprefix: i.tickprefix, + showticksuffix: i.showticksuffix, + ticksuffix: i.ticksuffix, + tickfont: i.tickfont, + tickformat: i.tickformat, + hoverformat: i.hoverformat, + layer: i.layer, + }, + "plot", + "from-root", + ), + c = o( + { + visible: o({}, i.visible, { dflt: !0 }), + tickvals: { + dflt: [0.2, 0.5, 1, 2, 5], + valType: "data_array", + editType: "plot", + }, + tickangle: o({}, i.tickangle, { dflt: 90 }), + ticks: { + valType: "enumerated", + values: ["top", "bottom", ""], + editType: "ticks", + }, + side: { + valType: "enumerated", + values: ["top", "bottom"], + dflt: "top", + editType: "plot", + }, + editType: "calc", + }, + l, + u, + ), + f = o( + { + visible: o({}, i.visible, { dflt: !0 }), + tickvals: { + valType: "data_array", + editType: "plot", + }, + ticks: i.ticks, + editType: "calc", + }, + l, + u, + ); + t.exports = { + domain: a({ name: "smith", editType: "plot" }), + bgcolor: { + valType: "color", + editType: "plot", + dflt: n.background, + }, + realaxis: c, + imaginaryaxis: f, + editType: "calc", + }; + }, + 9558: function (t, e, r) { + "use strict"; + var n, + i, + a, + o = r(71828), + s = r(7901), + l = r(44467), + u = r(49119), + c = r(27659).NG, + f = r(89426), + h = r(96115), + p = r(92128), + d = r(21994), + v = r(33419), + g = r(39779), + y = g.axisNames, + m = + ((n = function (t) { + return t + .slice() + .reverse() + .map(function (t) { + return -t; + }) + .concat([0]) + .concat(t); + }), + (i = String), + (a = {}), + function (t) { + var e = i ? i(t) : t; + if (e in a) return a[e]; + var r = n(t); + return (a[e] = r), r; + }); + function x(t, e, r, n) { + var i = r("bgcolor"); + n.bgColor = s.combine(i, n.paper_bgcolor); + var a, + u = c(n.fullData, g.name, n.id), + x = n.layoutOut; + function b(t, e) { + return r(a + "." + t, e); + } + for (var _ = 0; _ < y.length; _++) { + (a = y[_]), o.isPlainObject(t[a]) || (t[a] = {}); + var w = t[a], + T = l.newContainer(e, a); + (T._id = T._name = a), + (T._attr = n.id + "." + a), + (T._traceIndices = u.map(function (t) { + return t._expandedIndex; + })); + var k = b("visible"); + if ( + ((T.type = "linear"), + d(T, x), + f(w, T, b, T.type), + k) + ) { + var A, + M, + S, + E, + L = "realaxis" === a; + L && b("side"), + L + ? b("tickvals") + : b( + "tickvals", + m( + e.realaxis.tickvals || + v.realaxis.tickvals.dflt, + ), + ); + var C = n.font || {}; + k && + ((M = (A = b("color")) === w.color ? A : C.color), + (S = C.size), + (E = C.family)), + h(w, T, b, T.type, { + noTicklabelstep: !0, + noAng: !L, + noExp: !0, + font: { color: M, size: S, family: E }, + }), + o.coerce2(t, e, v, a + ".ticklen"), + o.coerce2(t, e, v, a + ".tickwidth"), + o.coerce2(t, e, v, a + ".tickcolor", e.color), + b("ticks") || + (delete e[a].ticklen, + delete e[a].tickwidth, + delete e[a].tickcolor), + p(w, T, b, { + dfltColor: A, + bgColor: n.bgColor, + blend: 60, + showLine: !0, + showGrid: !0, + noZeroLine: !0, + attributes: v[a], + }), + b("layer"); + } + b("hoverformat"), delete T.type, (T._input = w); + } + } + t.exports = function (t, e, r) { + u(t, e, r, { + noUirevision: !0, + type: g.name, + attributes: v, + handleDefaults: x, + font: e.font, + paper_bgcolor: e.paper_bgcolor, + fullData: r, + layoutOut: e, + }); + }; + }, + 49119: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(44467), + a = r(27670).c; + t.exports = function (t, e, r, o) { + var s, + l, + u = o.type, + c = o.attributes, + f = o.handleDefaults, + h = o.partition || "x", + p = e._subplots[u], + d = p.length, + v = d && p[0].replace(/\d+$/, ""); + function g(t, e) { + return n.coerce(s, l, c, t, e); + } + for (var y = 0; y < d; y++) { + var m = p[y]; + (s = t[m] ? t[m] : (t[m] = {})), + (l = i.newContainer(e, m, v)), + o.noUirevision || g("uirevision", e.uirevision); + var x = {}; + (x[h] = [y / d, (y + 1) / d]), + a(l, e, g, x), + (o.id = m), + f(s, l, g, o); + } + }; + }, + 5386: function (t, e, r) { + "use strict"; + var n = r(31562); + function i(t) { + var e = t.description ? " " + t.description : "", + r = t.keys || []; + if (r.length > 0) { + for (var n = [], i = 0; i < r.length; i++) + n[i] = "`" + r[i] + "`"; + (e += "Finally, the template string has access to "), + (e = + 1 === r.length + ? e + "variable " + n[0] + : e + + "variables " + + n.slice(0, -1).join(", ") + + " and " + + n.slice(-1) + + "."); + } + return e; + } + n.FORMAT_LINK, + n.DATE_FORMAT_LINK, + (e.fF = function (t, e) { + (t = t || {}), i((e = e || {})); + var r = { + valType: "string", + dflt: "", + editType: t.editType || "none", + }; + return !1 !== t.arrayOk && (r.arrayOk = !0), r; + }), + (e.si = function (t, e) { + (t = t || {}), i((e = e || {})); + var r = { + valType: "string", + dflt: "", + editType: t.editType || "calc", + }; + return !1 !== t.arrayOk && (r.arrayOk = !0), r; + }), + (e.R = function (t, e) { + return ( + (e = e || {}), + (t = t || {}).newshape, + i(e), + { + valType: "string", + dflt: "", + editType: t.editType || "arraydraw", + } + ); + }); + }, + 61639: function (t, e, r) { + "use strict"; + var n = r(64380), + i = r(27659).AU, + a = r(71828).counterRegex, + o = "ternary"; + e.name = o; + var s = (e.attr = "subplot"); + (e.idRoot = o), + (e.idRegex = e.attrRegex = a(o)), + ((e.attributes = {})[s] = { + valType: "subplotid", + dflt: "ternary", + editType: "calc", + }), + (e.layoutAttributes = r(81367)), + (e.supplyLayoutDefaults = r(25369)), + (e.plot = function (t) { + for ( + var e = t._fullLayout, + r = t.calcdata, + a = e._subplots.ternary, + s = 0; + s < a.length; + s++ + ) { + var l = a[s], + u = i(r, o, l), + c = e[l]._subplot; + c || + ((c = new n( + { + id: l, + graphDiv: t, + container: e._ternarylayer.node(), + }, + e, + )), + (e[l]._subplot = c)), + c.plot(u, e, t._promises); + } + }), + (e.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()); + } + }); + }, + 81367: function (t, e, r) { + "use strict"; + var n = r(22399), + i = r(27670).Y, + a = r(13838), + o = r(30962).overrideAll, + s = r(1426).extendFlat, + l = { + title: { text: a.title.text, font: a.title.font }, + color: a.color, + tickmode: a.minor.tickmode, + nticks: s({}, a.nticks, { dflt: 6, min: 1 }), + tick0: a.tick0, + dtick: a.dtick, + tickvals: a.tickvals, + ticktext: a.ticktext, + ticks: a.ticks, + ticklen: a.ticklen, + tickwidth: a.tickwidth, + tickcolor: a.tickcolor, + ticklabelstep: a.ticklabelstep, + showticklabels: a.showticklabels, + labelalias: a.labelalias, + showtickprefix: a.showtickprefix, + tickprefix: a.tickprefix, + showticksuffix: a.showticksuffix, + ticksuffix: a.ticksuffix, + showexponent: a.showexponent, + exponentformat: a.exponentformat, + minexponent: a.minexponent, + separatethousands: a.separatethousands, + tickfont: a.tickfont, + tickangle: a.tickangle, + tickformat: a.tickformat, + tickformatstops: a.tickformatstops, + hoverformat: a.hoverformat, + showline: s({}, a.showline, { dflt: !0 }), + linecolor: a.linecolor, + linewidth: a.linewidth, + showgrid: s({}, a.showgrid, { dflt: !0 }), + gridcolor: a.gridcolor, + gridwidth: a.gridwidth, + griddash: a.griddash, + layer: a.layer, + min: { valType: "number", dflt: 0, min: 0 }, + _deprecated: { + title: a._deprecated.title, + titlefont: a._deprecated.titlefont, + }, + }, + u = (t.exports = o( + { + domain: i({ name: "ternary" }), + bgcolor: { valType: "color", dflt: n.background }, + sum: { valType: "number", dflt: 1, min: 0 }, + aaxis: l, + baxis: l, + caxis: l, + }, + "plot", + "from-root", + )); + (u.uirevision = { valType: "any", editType: "none" }), + (u.aaxis.uirevision = + u.baxis.uirevision = + u.caxis.uirevision = + { valType: "any", editType: "none" }); + }, + 25369: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(44467), + a = r(71828), + o = r(49119), + s = r(96115), + l = r(89426), + u = r(38701), + c = r(26218), + f = r(92128), + h = r(81367), + p = ["aaxis", "baxis", "caxis"]; + function d(t, e, r, a) { + var o, + s, + l, + u = r("bgcolor"), + c = r("sum"); + a.bgColor = n.combine(u, a.paper_bgcolor); + for (var f = 0; f < p.length; f++) + (s = t[(o = p[f])] || {}), + ((l = i.newContainer(e, o))._name = o), + v(s, l, a, e); + var h = e.aaxis, + d = e.baxis, + g = e.caxis; + h.min + d.min + g.min >= c && + ((h.min = 0), + (d.min = 0), + (g.min = 0), + t.aaxis && delete t.aaxis.min, + t.baxis && delete t.baxis.min, + t.caxis && delete t.caxis.min); + } + function v(t, e, r, n) { + var i = h[e._name]; + function o(r, n) { + return a.coerce(t, e, i, r, n); + } + o("uirevision", n.uirevision), (e.type = "linear"); + var p = o("color"), + d = p !== i.color.dflt ? p : r.font.color, + v = e._name.charAt(0).toUpperCase(), + g = "Component " + v, + y = o("title.text", g); + (e._hovertitle = y === g ? y : v), + a.coerceFont(o, "title.font", { + family: r.font.family, + size: a.bigFont(r.font.size), + color: d, + }), + o("min"), + c(t, e, o, "linear"), + l(t, e, o, "linear"), + s(t, e, o, "linear"), + u(t, e, o, { outerTicks: !0 }), + o("showticklabels") && + (a.coerceFont(o, "tickfont", { + family: r.font.family, + size: r.font.size, + color: d, + }), + o("tickangle"), + o("tickformat")), + f(t, e, o, { + dfltColor: p, + bgColor: r.bgColor, + blend: 60, + showLine: !0, + showGrid: !0, + noZeroLine: !0, + attributes: i, + }), + o("hoverformat"), + o("layer"); + } + t.exports = function (t, e, r) { + o(t, e, r, { + type: "ternary", + attributes: h, + handleDefaults: d, + font: e.font, + paper_bgcolor: e.paper_bgcolor, + }); + }; + }, + 64380: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(84267), + a = r(73972), + o = r(71828), + s = o.strTranslate, + l = o._, + u = r(7901), + c = r(91424), + f = r(21994), + h = r(1426).extendFlat, + p = r(74875), + d = r(89298), + v = r(28569), + g = r(30211), + y = r(64505), + m = y.freeMode, + x = y.rectMode, + b = r(92998), + _ = r(47322).prepSelect, + w = r(47322).selectOnClick, + T = r(47322).clearOutline, + k = r(47322).clearSelectionsCache, + A = r(85555); + function M(t, e) { + (this.id = t.id), + (this.graphDiv = t.graphDiv), + this.init(e), + this.makeFramework(e), + (this.aTickLayout = null), + (this.bTickLayout = null), + (this.cTickLayout = null); + } + t.exports = M; + var S = M.prototype; + (S.init = function (t) { + (this.container = t._ternarylayer), + (this.defs = t._defs), + (this.layoutId = t._uid), + (this.traceHash = {}), + (this.layers = {}); + }), + (S.plot = function (t, e) { + var r = this, + n = e[r.id], + i = e._size; + r._hasClipOnAxisFalse = !1; + for (var a = 0; a < t.length; a++) + if (!1 === t[a][0].trace.cliponaxis) { + r._hasClipOnAxisFalse = !0; + break; + } + r.updateLayers(n), + r.adjustLayout(n, i), + p.generalUpdatePerTraceModule(r.graphDiv, r, t, n), + r.layers.plotbg + .select("path") + .call(u.fill, n.bgcolor); + }), + (S.makeFramework = function (t) { + var e = this, + r = e.graphDiv, + n = t[e.id], + i = (e.clipId = "clip" + e.layoutId + e.id), + a = (e.clipIdRelative = + "clip-relative" + e.layoutId + e.id); + (e.clipDef = o.ensureSingleById( + t._clips, + "clipPath", + i, + function (t) { + t.append("path").attr("d", "M0,0Z"); + }, + )), + (e.clipDefRelative = o.ensureSingleById( + t._clips, + "clipPath", + a, + function (t) { + t.append("path").attr("d", "M0,0Z"); + }, + )), + (e.plotContainer = o.ensureSingle( + e.container, + "g", + e.id, + )), + e.updateLayers(n), + c.setClipUrl(e.layers.backplot, i, r), + c.setClipUrl(e.layers.grids, i, r); + }), + (S.updateLayers = function (t) { + var e = this.layers, + r = ["draglayer", "plotbg", "backplot", "grids"]; + "below traces" === t.aaxis.layer && + r.push("aaxis", "aline"), + "below traces" === t.baxis.layer && + r.push("baxis", "bline"), + "below traces" === t.caxis.layer && + r.push("caxis", "cline"), + r.push("frontplot"), + "above traces" === t.aaxis.layer && + r.push("aaxis", "aline"), + "above traces" === t.baxis.layer && + r.push("baxis", "bline"), + "above traces" === t.caxis.layer && + r.push("caxis", "cline"); + var i = this.plotContainer + .selectAll("g.toplevel") + .data(r, String), + a = ["agrid", "bgrid", "cgrid"]; + i + .enter() + .append("g") + .attr("class", function (t) { + return "toplevel " + t; + }) + .each(function (t) { + var r = n.select(this); + (e[t] = r), + "frontplot" === t + ? r.append("g").classed("scatterlayer", !0) + : "backplot" === t + ? r.append("g").classed("maplayer", !0) + : "plotbg" === t + ? r.append("path").attr("d", "M0,0Z") + : "aline" === t || + "bline" === t || + "cline" === t + ? r.append("path") + : "grids" === t && + a.forEach(function (t) { + e[t] = r + .append("g") + .classed("grid " + t, !0); + }); + }), + i.order(); + }); + var E = Math.sqrt(4 / 3); + (S.adjustLayout = function (t, e) { + var r, + n, + i, + a, + o, + l, + p = this, + d = t.domain, + v = (d.x[0] + d.x[1]) / 2, + g = (d.y[0] + d.y[1]) / 2, + y = d.x[1] - d.x[0], + m = d.y[1] - d.y[0], + x = y * e.w, + b = m * e.h, + _ = t.sum, + w = t.aaxis.min, + T = t.baxis.min, + k = t.caxis.min; + x > E * b ? (i = (a = b) * E) : (a = (i = x) / E), + (o = (y * i) / x), + (l = (m * a) / b), + (r = e.l + e.w * v - i / 2), + (n = e.t + e.h * (1 - g) - a / 2), + (p.x0 = r), + (p.y0 = n), + (p.w = i), + (p.h = a), + (p.sum = _), + (p.xaxis = { + type: "linear", + range: [w + 2 * k - _, _ - w - 2 * T], + domain: [v - o / 2, v + o / 2], + _id: "x", + }), + f(p.xaxis, p.graphDiv._fullLayout), + p.xaxis.setScale(), + (p.xaxis.isPtWithinRange = function (t) { + return ( + t.a >= p.aaxis.range[0] && + t.a <= p.aaxis.range[1] && + t.b >= p.baxis.range[1] && + t.b <= p.baxis.range[0] && + t.c >= p.caxis.range[1] && + t.c <= p.caxis.range[0] + ); + }), + (p.yaxis = { + type: "linear", + range: [w, _ - T - k], + domain: [g - l / 2, g + l / 2], + _id: "y", + }), + f(p.yaxis, p.graphDiv._fullLayout), + p.yaxis.setScale(), + (p.yaxis.isPtWithinRange = function () { + return !0; + }); + var A = p.yaxis.domain[0], + M = (p.aaxis = h({}, t.aaxis, { + range: [w, _ - T - k], + side: "left", + tickangle: (+t.aaxis.tickangle || 0) - 30, + domain: [A, A + l * E], + anchor: "free", + position: 0, + _id: "y", + _length: i, + })); + f(M, p.graphDiv._fullLayout), M.setScale(); + var S = (p.baxis = h({}, t.baxis, { + range: [_ - w - k, T], + side: "bottom", + domain: p.xaxis.domain, + anchor: "free", + position: 0, + _id: "x", + _length: i, + })); + f(S, p.graphDiv._fullLayout), S.setScale(); + var L = (p.caxis = h({}, t.caxis, { + range: [_ - w - T, k], + side: "right", + tickangle: (+t.caxis.tickangle || 0) + 30, + domain: [A, A + l * E], + anchor: "free", + position: 0, + _id: "y", + _length: i, + })); + f(L, p.graphDiv._fullLayout), L.setScale(); + var C = + "M" + + r + + "," + + (n + a) + + "h" + + i + + "l-" + + i / 2 + + ",-" + + a + + "Z"; + p.clipDef.select("path").attr("d", C), + p.layers.plotbg.select("path").attr("d", C); + var O = + "M0," + a + "h" + i + "l-" + i / 2 + ",-" + a + "Z"; + p.clipDefRelative.select("path").attr("d", O); + var P = s(r, n); + p.plotContainer + .selectAll(".scatterlayer,.maplayer") + .attr("transform", P), + p.clipDefRelative + .select("path") + .attr("transform", null); + var I = s(r - S._offset, n + a); + p.layers.baxis.attr("transform", I), + p.layers.bgrid.attr("transform", I); + var D = + s(r + i / 2, n) + "rotate(30)" + s(0, -M._offset); + p.layers.aaxis.attr("transform", D), + p.layers.agrid.attr("transform", D); + var z = + s(r + i / 2, n) + "rotate(-30)" + s(0, -L._offset); + p.layers.caxis.attr("transform", z), + p.layers.cgrid.attr("transform", z), + p.drawAxes(!0), + p.layers.aline + .select("path") + .attr( + "d", + M.showline + ? "M" + + r + + "," + + (n + a) + + "l" + + i / 2 + + ",-" + + a + : "M0,0", + ) + .call(u.stroke, M.linecolor || "#000") + .style("stroke-width", (M.linewidth || 0) + "px"), + p.layers.bline + .select("path") + .attr( + "d", + S.showline + ? "M" + r + "," + (n + a) + "h" + i + : "M0,0", + ) + .call(u.stroke, S.linecolor || "#000") + .style("stroke-width", (S.linewidth || 0) + "px"), + p.layers.cline + .select("path") + .attr( + "d", + L.showline + ? "M" + + (r + i / 2) + + "," + + n + + "l" + + i / 2 + + "," + + a + : "M0,0", + ) + .call(u.stroke, L.linecolor || "#000") + .style("stroke-width", (L.linewidth || 0) + "px"), + p.graphDiv._context.staticPlot || + p.initInteractions(), + c.setClipUrl( + p.layers.frontplot, + p._hasClipOnAxisFalse ? null : p.clipId, + p.graphDiv, + ); + }), + (S.drawAxes = function (t) { + var e = this, + r = e.graphDiv, + n = e.id.substr(7) + "title", + i = e.layers, + a = e.aaxis, + o = e.baxis, + s = e.caxis; + if ((e.drawAx(a), e.drawAx(o), e.drawAx(s), t)) { + var u = Math.max( + a.showticklabels ? a.tickfont.size / 2 : 0, + (s.showticklabels + ? 0.75 * s.tickfont.size + : 0) + + ("outside" === s.ticks + ? 0.87 * s.ticklen + : 0), + ), + c = + (o.showticklabels ? o.tickfont.size : 0) + + ("outside" === o.ticks ? o.ticklen : 0) + + 3; + (i["a-title"] = b.draw(r, "a" + n, { + propContainer: a, + propName: e.id + ".aaxis.title", + placeholder: l( + r, + "Click to enter Component A title", + ), + attributes: { + x: e.x0 + e.w / 2, + y: e.y0 - a.title.font.size / 3 - u, + "text-anchor": "middle", + }, + })), + (i["b-title"] = b.draw(r, "b" + n, { + propContainer: o, + propName: e.id + ".baxis.title", + placeholder: l( + r, + "Click to enter Component B title", + ), + attributes: { + x: e.x0 - c, + y: e.y0 + e.h + 0.83 * o.title.font.size + c, + "text-anchor": "middle", + }, + })), + (i["c-title"] = b.draw(r, "c" + n, { + propContainer: s, + propName: e.id + ".caxis.title", + placeholder: l( + r, + "Click to enter Component C title", + ), + attributes: { + x: e.x0 + e.w + c, + y: e.y0 + e.h + 0.83 * s.title.font.size + c, + "text-anchor": "middle", + }, + })); + } + }), + (S.drawAx = function (t) { + var e, + r = this, + n = r.graphDiv, + i = t._name, + a = i.charAt(0), + s = t._id, + l = r.layers[i], + u = a + "tickLayout", + c = + (e = t).ticks + + String(e.ticklen) + + String(e.showticklabels); + r[u] !== c && + (l.selectAll("." + s + "tick").remove(), + (r[u] = c)), + t.setScale(); + var f = d.calcTicks(t), + h = d.clipEnds(t, f), + p = d.makeTransTickFn(t), + v = d.getTickSigns(t)[2], + g = o.deg2rad(30), + y = (v * (t.linewidth || 1)) / 2, + m = v * t.ticklen, + x = r.w, + b = r.h, + _ = + "b" === a + ? "M0," + + y + + "l" + + Math.sin(g) * m + + "," + + Math.cos(g) * m + : "M" + + y + + ",0l" + + Math.cos(g) * m + + "," + + -Math.sin(g) * m, + w = { + a: "M0,0l" + b + ",-" + x / 2, + b: "M0,0l-" + x / 2 + ",-" + b, + c: "M0,0l-" + b + "," + x / 2, + }[a]; + d.drawTicks(n, t, { + vals: "inside" === t.ticks ? h : f, + layer: l, + path: _, + transFn: p, + crisp: !1, + }), + d.drawGrid(n, t, { + vals: h, + layer: r.layers[a + "grid"], + path: w, + transFn: p, + crisp: !1, + }), + d.drawLabels(n, t, { + vals: f, + layer: l, + transFn: p, + labelFns: d.makeLabelFns(t, 0, 30), + }); + }); + var L = A.MINZOOM / 2 + 0.87, + C = + "m-0.87,.5h" + + L + + "v3h-" + + (L + 5.2) + + "l" + + (L / 2 + 2.6) + + ",-" + + (0.87 * L + 4.5) + + "l2.6,1.5l-" + + L / 2 + + "," + + 0.87 * L + + "Z", + O = + "m0.87,.5h-" + + L + + "v3h" + + (L + 5.2) + + "l-" + + (L / 2 + 2.6) + + ",-" + + (0.87 * L + 4.5) + + "l-2.6,1.5l" + + L / 2 + + "," + + 0.87 * L + + "Z", + P = + "m0,1l" + + L / 2 + + "," + + 0.87 * L + + "l2.6,-1.5l-" + + (L / 2 + 2.6) + + ",-" + + (0.87 * L + 4.5) + + "l-" + + (L / 2 + 2.6) + + "," + + (0.87 * L + 4.5) + + "l2.6,1.5l" + + L / 2 + + ",-" + + 0.87 * L + + "Z", + I = !0; + function D(t) { + n.select(t) + .selectAll( + ".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners", + ) + .remove(); + } + (S.clearOutline = function () { + k(this.dragOptions), T(this.dragOptions.gd); + }), + (S.initInteractions = function () { + var t, + e, + r, + n, + f, + h, + p, + d, + y, + b, + T, + k, + M = this, + S = M.layers.plotbg.select("path").node(), + L = M.graphDiv, + z = L._fullLayout._zoomlayer; + function R(t) { + var e = {}; + return ( + (e[M.id + ".aaxis.min"] = t.a), + (e[M.id + ".baxis.min"] = t.b), + (e[M.id + ".caxis.min"] = t.c), + e + ); + } + function F(t, e) { + var r = L._fullLayout.clickmode; + D(L), + 2 === t && + (L.emit("plotly_doubleclick", null), + a.call( + "_guiRelayout", + L, + R({ a: 0, b: 0, c: 0 }), + )), + r.indexOf("select") > -1 && + 1 === t && + w( + e, + L, + [M.xaxis], + [M.yaxis], + M.id, + M.dragOptions, + ), + r.indexOf("event") > -1 && g.click(L, e, M.id); + } + function B(t, e) { + return 1 - e / M.h; + } + function N(t, e) { + return 1 - (t + (M.h - e) / Math.sqrt(3)) / M.w; + } + function j(t, e) { + return (t - (M.h - e) / Math.sqrt(3)) / M.w; + } + function U(i, a) { + var o = r + i * t, + s = n + a * e, + l = Math.max(0, Math.min(1, B(0, n), B(0, s))), + u = Math.max(0, Math.min(1, N(r, n), N(o, s))), + c = Math.max(0, Math.min(1, j(r, n), j(o, s))), + v = (l / 2 + c) * M.w, + g = (1 - l / 2 - u) * M.w, + m = (v + g) / 2, + x = g - v, + _ = (1 - l) * M.h, + w = _ - x / E; + x < A.MINZOOM + ? ((p = f), T.attr("d", y), k.attr("d", "M0,0Z")) + : ((p = { + a: f.a + l * h, + b: f.b + u * h, + c: f.c + c * h, + }), + T.attr( + "d", + y + + "M" + + v + + "," + + _ + + "H" + + g + + "L" + + m + + "," + + w + + "L" + + v + + "," + + _ + + "Z", + ), + k.attr( + "d", + "M" + + r + + "," + + n + + "m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2ZM" + + v + + "," + + _ + + C + + "M" + + g + + "," + + _ + + O + + "M" + + m + + "," + + w + + P, + )), + b || + (T.transition() + .style( + "fill", + d > 0.2 + ? "rgba(0,0,0,0.4)" + : "rgba(255,255,255,0.3)", + ) + .duration(200), + k + .transition() + .style("opacity", 1) + .duration(200), + (b = !0)), + L.emit("plotly_relayouting", R(p)); + } + function V() { + D(L), + p !== f && + (a.call("_guiRelayout", L, R(p)), + I && + L.data && + L._context.showTips && + (o.notifier( + l(L, "Double-click to zoom back out"), + "long", + ), + (I = !1))); + } + function H(t, e) { + var r = t / M.xaxis._m, + n = e / M.yaxis._m, + i = [ + (p = { + a: f.a - n, + b: f.b + (r + n) / 2, + c: f.c - (r - n) / 2, + }).a, + p.b, + p.c, + ].sort(o.sorterAsc), + a = i.indexOf(p.a), + l = i.indexOf(p.b), + u = i.indexOf(p.c); + i[0] < 0 && + (i[1] + i[0] / 2 < 0 + ? ((i[2] += i[0] + i[1]), (i[0] = i[1] = 0)) + : ((i[2] += i[0] / 2), + (i[1] += i[0] / 2), + (i[0] = 0)), + (p = { a: i[a], b: i[l], c: i[u] }), + (e = (f.a - p.a) * M.yaxis._m), + (t = (f.c - p.c - f.b + p.b) * M.xaxis._m)); + var h = s(M.x0 + t, M.y0 + e); + M.plotContainer + .selectAll(".scatterlayer,.maplayer") + .attr("transform", h); + var d = s(-t, -e); + M.clipDefRelative + .select("path") + .attr("transform", d), + (M.aaxis.range = [p.a, M.sum - p.b - p.c]), + (M.baxis.range = [M.sum - p.a - p.c, p.b]), + (M.caxis.range = [M.sum - p.a - p.b, p.c]), + M.drawAxes(!1), + M._hasClipOnAxisFalse && + M.plotContainer + .select(".scatterlayer") + .selectAll(".trace") + .call(c.hideOutsideRangePoints, M), + L.emit("plotly_relayouting", R(p)); + } + function q() { + a.call("_guiRelayout", L, R(p)); + } + (this.dragOptions = { + element: S, + gd: L, + plotinfo: { + id: M.id, + domain: L._fullLayout[M.id].domain, + xaxis: M.xaxis, + yaxis: M.yaxis, + }, + subplot: M.id, + prepFn: function (a, l, c) { + (M.dragOptions.xaxes = [M.xaxis]), + (M.dragOptions.yaxes = [M.yaxis]), + (t = L._fullLayout._invScaleX), + (e = L._fullLayout._invScaleY); + var v = (M.dragOptions.dragmode = + L._fullLayout.dragmode); + m(v) + ? (M.dragOptions.minDrag = 1) + : (M.dragOptions.minDrag = void 0), + "zoom" === v + ? ((M.dragOptions.moveFn = U), + (M.dragOptions.clickFn = F), + (M.dragOptions.doneFn = V), + (function (t, e, a) { + var l = S.getBoundingClientRect(); + (r = e - l.left), + (n = a - l.top), + L._fullLayout._calcInverseTransform(L); + var c = L._fullLayout._invTransform, + v = o.apply3DTransform(c)(r, n); + (r = v[0]), + (n = v[1]), + (f = { + a: M.aaxis.range[0], + b: M.baxis.range[1], + c: M.caxis.range[1], + }), + (p = f), + (h = M.aaxis.range[1] - f.a), + (d = i( + M.graphDiv._fullLayout[M.id].bgcolor, + ).getLuminance()), + (y = + "M0," + + M.h + + "L" + + M.w / 2 + + ", 0L" + + M.w + + "," + + M.h + + "Z"), + (b = !1), + (T = z + .append("path") + .attr("class", "zoombox") + .attr("transform", s(M.x0, M.y0)) + .style({ + fill: + d > 0.2 + ? "rgba(0,0,0,0)" + : "rgba(255,255,255,0)", + "stroke-width": 0, + }) + .attr("d", y)), + (k = z + .append("path") + .attr("class", "zoombox-corners") + .attr("transform", s(M.x0, M.y0)) + .style({ + fill: u.background, + stroke: u.defaultLine, + "stroke-width": 1, + opacity: 0, + }) + .attr("d", "M0,0Z")), + M.clearOutline(L); + })(0, l, c)) + : "pan" === v + ? ((M.dragOptions.moveFn = H), + (M.dragOptions.clickFn = F), + (M.dragOptions.doneFn = q), + (f = { + a: M.aaxis.range[0], + b: M.baxis.range[1], + c: M.caxis.range[1], + }), + (p = f), + M.clearOutline(L)) + : (x(v) || m(v)) && + _(a, l, c, M.dragOptions, v); + }, + }), + (S.onmousemove = function (t) { + g.hover(L, t, M.id), + (L._fullLayout._lasthover = S), + (L._fullLayout._hoversubplot = M.id); + }), + (S.onmouseout = function (t) { + L._dragging || v.unhover(L, t); + }), + v.init(this.dragOptions); + }); + }, + 73972: function (t, e, r) { + "use strict"; + var n = r(47769), + i = r(64213), + a = r(75138), + o = r(41965), + s = r(24401).addStyleRule, + l = r(1426), + u = r(9012), + c = r(10820), + f = l.extendFlat, + h = l.extendDeepAll; + function p(t) { + var r = t.name, + i = t.categories, + a = t.meta; + if (e.modules[r]) + n.log("Type " + r + " already registered"); + else { + e.subplotsRegistry[t.basePlotModule.name] || + (function (t) { + var r = t.name; + if (e.subplotsRegistry[r]) + n.log( + "Plot type " + r + " already registered.", + ); + else + for (var i in (y(t), + (e.subplotsRegistry[r] = t), + e.componentsRegistry)) + b(i, t.name); + })(t.basePlotModule); + for (var o = {}, l = 0; l < i.length; l++) + (o[i[l]] = !0), (e.allCategories[i[l]] = !0); + for (var u in ((e.modules[r] = { + _module: t, + categories: o, + }), + a && Object.keys(a).length && (e.modules[r].meta = a), + e.allTypes.push(r), + e.componentsRegistry)) + m(u, r); + t.layoutAttributes && + f(e.traceLayoutAttributes, t.layoutAttributes); + var c = t.basePlotModule, + h = c.name; + if ("mapbox" === h) { + var p = c.constants.styleRules; + for (var d in p) + s(".js-plotly-plot .plotly .mapboxgl-" + d, p[d]); + } + ("geo" !== h && "mapbox" !== h) || + void 0 !== window.PlotlyGeoAssets || + (window.PlotlyGeoAssets = { topojson: {} }); + } + } + function d(t) { + if ("string" != typeof t.name) + throw new Error( + "Component module *name* must be a string.", + ); + var r = t.name; + for (var n in ((e.componentsRegistry[r] = t), + t.layoutAttributes && + (t.layoutAttributes._isLinkedToArray && + a(e.layoutArrayContainers, r), + y(t)), + e.modules)) + m(r, n); + for (var i in e.subplotsRegistry) b(r, i); + for (var o in e.transformsRegistry) x(r, o); + t.schema && t.schema.layout && h(c, t.schema.layout); + } + function v(t) { + if ("string" != typeof t.name) + throw new Error( + "Transform module *name* must be a string.", + ); + var r = "Transform module " + t.name, + i = "function" == typeof t.transform, + a = "function" == typeof t.calcTransform; + if (!i && !a) + throw new Error( + r + + " is missing a *transform* or *calcTransform* method.", + ); + for (var s in (i && + a && + n.log( + [ + r + + " has both a *transform* and *calcTransform* methods.", + "Please note that all *transform* methods are executed", + "before all *calcTransform* methods.", + ].join(" "), + ), + o(t.attributes) || + n.log( + r + " registered without an *attributes* object.", + ), + "function" != typeof t.supplyDefaults && + n.log( + r + + " registered without a *supplyDefaults* method.", + ), + (e.transformsRegistry[t.name] = t), + e.componentsRegistry)) + x(s, t.name); + } + function g(t) { + var r = t.name, + n = r.split("-")[0], + i = t.dictionary, + a = t.format, + o = i && Object.keys(i).length, + s = a && Object.keys(a).length, + l = e.localeRegistry, + u = l[r]; + if ((u || (l[r] = u = {}), n !== r)) { + var c = l[n]; + c || (l[n] = c = {}), + o && + c.dictionary === u.dictionary && + (c.dictionary = i), + s && c.format === u.format && (c.format = a); + } + o && (u.dictionary = i), s && (u.format = a); + } + function y(t) { + if (t.layoutAttributes) { + var r = t.layoutAttributes._arrayAttrRegexps; + if (r) + for (var n = 0; n < r.length; n++) + a(e.layoutArrayRegexes, r[n]); + } + } + function m(t, r) { + var n = e.componentsRegistry[t].schema; + if (n && n.traces) { + var i = n.traces[r]; + i && h(e.modules[r]._module.attributes, i); + } + } + function x(t, r) { + var n = e.componentsRegistry[t].schema; + if (n && n.transforms) { + var i = n.transforms[r]; + i && h(e.transformsRegistry[r].attributes, i); + } + } + function b(t, r) { + var n = e.componentsRegistry[t].schema; + if (n && n.subplots) { + var i = e.subplotsRegistry[r], + a = i.layoutAttributes, + o = "subplot" === i.attr ? i.name : i.attr; + Array.isArray(o) && (o = o[0]); + var s = n.subplots[o]; + a && s && h(a, s); + } + } + function _(t) { + return "object" == typeof t && (t = t.type), t; + } + (e.modules = {}), + (e.allCategories = {}), + (e.allTypes = []), + (e.subplotsRegistry = {}), + (e.transformsRegistry = {}), + (e.componentsRegistry = {}), + (e.layoutArrayContainers = []), + (e.layoutArrayRegexes = []), + (e.traceLayoutAttributes = {}), + (e.localeRegistry = {}), + (e.apiMethodRegistry = {}), + (e.collectableSubplotTypes = null), + (e.register = function (t) { + if (((e.collectableSubplotTypes = null), !t)) + throw new Error( + "No argument passed to Plotly.register.", + ); + t && !Array.isArray(t) && (t = [t]); + for (var r = 0; r < t.length; r++) { + var n = t[r]; + if (!n) + throw new Error( + "Invalid module was attempted to be registered!", + ); + switch (n.moduleType) { + case "trace": + p(n); + break; + case "transform": + v(n); + break; + case "component": + d(n); + break; + case "locale": + g(n); + break; + case "apiMethod": + var i = n.name; + e.apiMethodRegistry[i] = n.fn; + break; + default: + throw new Error( + "Invalid module was attempted to be registered!", + ); + } + } + }), + (e.getModule = function (t) { + var r = e.modules[_(t)]; + return !!r && r._module; + }), + (e.traceIs = function (t, r) { + if ("various" === (t = _(t))) return !1; + var i = e.modules[t]; + return ( + i || + (t && n.log("Unrecognized trace type " + t + "."), + (i = e.modules[u.type.dflt])), + !!i.categories[r] + ); + }), + (e.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; + }), + (e.hasTransform = function (t, e) { + for ( + var r = t.transforms || [], n = 0; + n < r.length; + n++ + ) + if (r[n].type === e) return !0; + return !1; + }), + (e.getComponentMethod = function (t, r) { + var n = e.componentsRegistry[t]; + return (n && n[r]) || i; + }), + (e.call = function () { + var t = arguments[0], + r = [].slice.call(arguments, 1); + return e.apiMethodRegistry[t].apply(null, r); + }); + }, + 61914: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = i.extendFlat, + o = i.extendDeep; + function s(t) { + var e; + switch (t) { + case "themes__thumb": + e = { + autosize: !0, + width: 150, + height: 150, + title: { text: "" }, + showlegend: !1, + margin: { l: 5, r: 5, t: 5, b: 5, pad: 0 }, + annotations: [], + }; + break; + case "thumbnail": + e = { + title: { text: "" }, + hidesources: !0, + showlegend: !1, + borderwidth: 0, + bordercolor: "", + margin: { l: 1, r: 1, t: 1, b: 1, pad: 0 }, + annotations: [], + }; + break; + default: + e = {}; + } + return e; + } + t.exports = function (t, e) { + var r, + i, + l = t.data, + u = t.layout, + c = o([], l), + f = o({}, u, s(e.tileClass)), + h = t._context || {}; + if ( + (e.width && (f.width = e.width), + e.height && (f.height = e.height), + "thumbnail" === e.tileClass || + "themes__thumb" === e.tileClass) + ) { + f.annotations = []; + var p = Object.keys(f); + for (r = 0; r < p.length; r++) + (i = p[r]), + ["xaxis", "yaxis", "zaxis"].indexOf( + i.slice(0, 5), + ) > -1 && (f[p[r]].title = { text: "" }); + for (r = 0; r < c.length; r++) { + var d = c[r]; + (d.showscale = !1), + d.marker && (d.marker.showscale = !1), + n.traceIs(d, "pie-like") && + (d.textposition = "none"); + } + } + if (Array.isArray(e.annotations)) + for (r = 0; r < e.annotations.length; r++) + f.annotations.push(e.annotations[r]); + var v = Object.keys(f).filter(function (t) { + return t.match(/^scene\d*$/); + }); + if (v.length) { + var g = {}; + for ( + "thumbnail" === e.tileClass && + (g = { + title: { text: "" }, + showaxeslabels: !1, + showticklabels: !1, + linetickenable: !1, + }), + r = 0; + r < v.length; + r++ + ) { + var y = f[v[r]]; + y.xaxis || (y.xaxis = {}), + y.yaxis || (y.yaxis = {}), + y.zaxis || (y.zaxis = {}), + a(y.xaxis, g), + a(y.yaxis, g), + a(y.zaxis, g), + (y._scene = null); + } + } + var m = document.createElement("div"); + e.tileClass && (m.className = e.tileClass); + var x = { + gd: m, + td: m, + layout: f, + data: c, + config: { + staticPlot: void 0 === e.staticPlot || e.staticPlot, + plotGlPixelRatio: + void 0 === e.plotGlPixelRatio + ? 2 + : e.plotGlPixelRatio, + displaylogo: e.displaylogo || !1, + showLink: e.showLink || !1, + showTips: e.showTips || !1, + mapboxAccessToken: h.mapboxAccessToken, + }, + }; + return ( + "transparent" !== e.setBackground && + (x.config.setBackground = + e.setBackground || "opaque"), + (x.gd.defaultLayout = s(e.tileClass)), + x + ); + }; + }, + 7239: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(403), + a = r(22435), + o = r(25095); + t.exports = function (t, e) { + var r; + return ( + n.isPlainObject(t) || (r = n.getGraphDiv(t)), + ((e = e || {}).format = e.format || "png"), + (e.width = e.width || null), + (e.height = e.height || null), + (e.imageDataOnly = !0), + new Promise(function (s, l) { + r && + r._snapshotInProgress && + l(new Error("Snapshotting already in progress.")), + n.isIE() && + "svg" !== e.format && + l(new Error(o.MSG_IE_BAD_FORMAT)), + r && (r._snapshotInProgress = !0); + var u = i(t, e), + c = e.filename || t.fn || "newplot"; + (c += "." + e.format.replace("-", ".")), + u + .then(function (t) { + return ( + r && (r._snapshotInProgress = !1), + a(t, c, e.format) + ); + }) + .then(function (t) { + s(t); + }) + .catch(function (t) { + r && (r._snapshotInProgress = !1), l(t); + }); + }) + ); + }; + }, + 22435: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(25095); + t.exports = function (t, e, r) { + var a = document.createElement("a"), + o = "download" in a; + return new Promise(function (s, l) { + var u, c; + if (n.isIE()) + return ( + (u = i.createBlob(t, "svg")), + window.navigator.msSaveBlob(u, e), + (u = null), + s(e) + ); + if (o) + return ( + (u = i.createBlob(t, r)), + (c = i.createObjectURL(u)), + (a.href = c), + (a.download = e), + document.body.appendChild(a), + a.click(), + document.body.removeChild(a), + i.revokeObjectURL(c), + (u = null), + s(e) + ); + if (n.isSafari()) { + var f = "svg" === r ? "," : ";base64,"; + return ( + i.octetStream(f + encodeURIComponent(t)), s(e) + ); + } + l(new Error("download error")); + }); + }; + }, + 25095: function (t, e, r) { + "use strict"; + var n = r(73972); + (e.getDelay = function (t) { + return t._has && + (t._has("gl3d") || t._has("gl2d") || t._has("mapbox")) + ? 500 + : 0; + }), + (e.getRedrawFunc = function (t) { + return function () { + n.getComponentMethod("colorbar", "draw")(t); + }; + }), + (e.encodeSVG = function (t) { + return "data:image/svg+xml," + encodeURIComponent(t); + }), + (e.encodeJSON = function (t) { + return ( + "data:application/json," + encodeURIComponent(t) + ); + }); + var i = window.URL || window.webkitURL; + (e.createObjectURL = function (t) { + return i.createObjectURL(t); + }), + (e.revokeObjectURL = function (t) { + return i.revokeObjectURL(t); + }), + (e.createBlob = function (t, e) { + if ("svg" === e) + return new window.Blob([t], { + type: "image/svg+xml;charset=utf-8", + }); + if ("full-json" === e) + return new window.Blob([t], { + type: "application/json;charset=utf-8", + }); + var r = (function (t) { + for ( + var e = t.length, + r = new ArrayBuffer(e), + n = new Uint8Array(r), + i = 0; + i < e; + i++ + ) + n[i] = t.charCodeAt(i); + return r; + })(window.atob(t)); + return new window.Blob([r], { type: "image/" + e }); + }), + (e.octetStream = function (t) { + document.location.href = + "data:application/octet-stream" + t; + }), + (e.IMAGE_URL_PREFIX = /^data:image\/\w+;base64,/), + (e.MSG_IE_BAD_FORMAT = + "Sorry IE does not support downloading from canvas. Try {format:'svg'} instead."); + }, + 44511: function (t, e, r) { + "use strict"; + var n = r(25095), + i = { + getDelay: n.getDelay, + getRedrawFunc: n.getRedrawFunc, + clone: r(61914), + toSVG: r(5900), + svgToImg: r(70942), + toImage: r(56395), + downloadImage: r(7239), + }; + t.exports = i; + }, + 70942: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(15398).EventEmitter, + a = r(25095); + t.exports = function (t) { + var e = t.emitter || new i(), + r = new Promise(function (i, o) { + var s = window.Image, + l = t.svg, + u = t.format || "png"; + if (n.isIE() && "svg" !== u) { + var c = new Error(a.MSG_IE_BAD_FORMAT); + return o(c), t.promise ? r : e.emit("error", c); + } + var f, + h, + p = t.canvas, + d = t.scale || 1, + v = t.width || 300, + g = t.height || 150, + y = d * v, + m = d * g, + x = p.getContext("2d", { + willReadFrequently: !0, + }), + b = new s(); + "svg" === u || n.isSafari() + ? (h = a.encodeSVG(l)) + : ((f = a.createBlob(l, "svg")), + (h = a.createObjectURL(f))), + (p.width = y), + (p.height = m), + (b.onload = function () { + var r; + switch ( + ((f = null), + a.revokeObjectURL(h), + "svg" !== u && x.drawImage(b, 0, 0, y, m), + u) + ) { + case "jpeg": + r = p.toDataURL("image/jpeg"); + break; + case "png": + r = p.toDataURL("image/png"); + break; + case "webp": + r = p.toDataURL("image/webp"); + break; + case "svg": + r = h; + break; + default: + var n = + "Image format is not jpeg, png, svg or webp."; + if ((o(new Error(n)), !t.promise)) + return e.emit("error", n); + } + i(r), t.promise || e.emit("success", r); + }), + (b.onerror = function (r) { + if ( + ((f = null), + a.revokeObjectURL(h), + o(r), + !t.promise) + ) + return e.emit("error", r); + }), + (b.src = h); + }); + return t.promise ? r : e; + }; + }, + 56395: function (t, e, r) { + "use strict"; + var n = r(15398).EventEmitter, + i = r(73972), + a = r(71828), + o = r(25095), + s = r(61914), + l = r(5900), + u = r(70942); + t.exports = function (t, e) { + var r = new n(), + c = s(t, { format: "png" }), + f = c.gd; + (f.style.position = "absolute"), + (f.style.left = "-5000px"), + document.body.appendChild(f); + var h = o.getRedrawFunc(f); + return ( + i + .call("_doPlot", f, c.data, c.layout, c.config) + .then(h) + .then(function () { + var t = o.getDelay(f._fullLayout); + setTimeout(function () { + var t = l(f), + n = document.createElement("canvas"); + (n.id = a.randstr()), + ((r = u({ + format: e.format, + width: f._fullLayout.width, + height: f._fullLayout.height, + canvas: n, + emitter: r, + svg: t, + })).clean = function () { + f && document.body.removeChild(f); + }); + }, t); + }) + .catch(function (t) { + r.emit("error", t); + }), + r + ); + }; + }, + 5900: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(91424), + o = r(7901), + s = r(77922), + l = /"/g, + u = "TOBESTRIPPED", + c = new RegExp('("TOBESTRIPPED)|(TOBESTRIPPED")', "g"); + t.exports = function (t, e, r) { + var f, + h = t._fullLayout, + p = h._paper, + d = h._toppaper, + v = h.width, + g = h.height; + p.insert("rect", ":first-child") + .call(a.setRect, 0, 0, v, g) + .call(o.fill, h.paper_bgcolor); + var y = h._basePlotModules || []; + for (f = 0; f < y.length; f++) { + var m = y[f]; + m.toSVG && m.toSVG(t); + } + if (d) { + var x = d.node().childNodes, + b = Array.prototype.slice.call(x); + for (f = 0; f < b.length; f++) { + var _ = b[f]; + _.childNodes.length && p.node().appendChild(_); + } + } + h._draggers && h._draggers.remove(), + (p.node().style.background = ""), + p + .selectAll("text") + .attr({ + "data-unformatted": null, + "data-math": null, + }) + .each(function () { + var t = n.select(this); + if ( + "hidden" !== this.style.visibility && + "none" !== this.style.display + ) { + t.style({ visibility: null, display: null }); + var e = this.style.fontFamily; + e && + -1 !== e.indexOf('"') && + t.style("font-family", e.replace(l, u)); + } else t.remove(); + }), + p + .selectAll(".gradient_filled,.pattern_filled") + .each(function () { + var t = n.select(this), + e = this.style.fill; + e && + -1 !== e.indexOf("url(") && + t.style("fill", e.replace(l, u)); + var r = this.style.stroke; + r && + -1 !== r.indexOf("url(") && + t.style("stroke", r.replace(l, u)); + }), + ("pdf" !== e && "eps" !== e) || + p + .selectAll("#MathJax_SVG_glyphs path") + .attr("stroke-width", 0), + p.node().setAttributeNS(s.xmlns, "xmlns", s.svg), + p + .node() + .setAttributeNS(s.xmlns, "xmlns:xlink", s.xlink), + "svg" === e && + r && + (p.attr("width", r * v), + p.attr("height", r * g), + p.attr("viewBox", "0 0 " + v + " " + g)); + var w = new window.XMLSerializer().serializeToString( + p.node(), + ); + return ( + (w = (w = (w = (function (t) { + var e = n + .select("body") + .append("div") + .style({ display: "none" }) + .html(""), + r = t.replace(/(&[^;]*;)/gi, function (t) { + return "<" === t + ? "<" + : "&rt;" === t + ? ">" + : -1 !== t.indexOf("<") || + -1 !== t.indexOf(">") + ? "" + : e.html(t).text(); + }); + return e.remove(), r; + })(w)).replace( + /&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g, + "&", + )).replace(c, "'")), + i.isIE() && + (w = (w = (w = w.replace(/"/gi, "'")).replace( + /(\('#)([^']*)('\))/gi, + '("#$2")', + )).replace(/(\\')/gi, '"')), + w + ); + }; + }, + 75341: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e) { + for (var r = 0; r < t.length; r++) t[r].i = r; + n.mergeArray(e.text, t, "tx"), + n.mergeArray(e.hovertext, t, "htx"); + var i = e.marker; + if (i) { + n.mergeArray(i.opacity, t, "mo", !0), + n.mergeArray(i.color, t, "mc"); + var a = i.line; + a && + (n.mergeArray(a.color, t, "mlc"), + n.mergeArrayCastPositive(a.width, t, "mlw")); + } + }; + }, + 1486: function (t, e, r) { + "use strict"; + var n = r(82196), + i = r(12663).axisHoverFormat, + a = r(5386).fF, + o = r(5386).si, + s = r(50693), + l = r(41940), + u = r(97313), + c = r(79952).u, + f = r(1426).extendFlat, + h = l({ + editType: "calc", + arrayOk: !0, + colorEditType: "style", + }), + p = f({}, n.marker.line.width, { dflt: 0 }), + d = f({ width: p, editType: "calc" }, s("marker.line")), + v = f({ line: d, editType: "calc" }, s("marker"), { + opacity: { + valType: "number", + arrayOk: !0, + dflt: 1, + min: 0, + max: 1, + editType: "style", + }, + pattern: c, + }); + t.exports = { + x: n.x, + x0: n.x0, + dx: n.dx, + y: n.y, + y0: n.y0, + dy: n.dy, + xperiod: n.xperiod, + yperiod: n.yperiod, + xperiod0: n.xperiod0, + yperiod0: n.yperiod0, + xperiodalignment: n.xperiodalignment, + yperiodalignment: n.yperiodalignment, + xhoverformat: i("x"), + yhoverformat: i("y"), + text: n.text, + texttemplate: o( + { editType: "plot" }, + { keys: u.eventDataKeys }, + ), + hovertext: n.hovertext, + hovertemplate: a({}, { keys: u.eventDataKeys }), + textposition: { + valType: "enumerated", + values: ["inside", "outside", "auto", "none"], + dflt: "auto", + arrayOk: !0, + editType: "calc", + }, + insidetextanchor: { + valType: "enumerated", + values: ["end", "middle", "start"], + dflt: "end", + editType: "plot", + }, + textangle: { + valType: "angle", + dflt: "auto", + editType: "plot", + }, + textfont: f({}, h, {}), + insidetextfont: f({}, h, {}), + outsidetextfont: f({}, h, {}), + constraintext: { + valType: "enumerated", + values: ["inside", "outside", "both", "none"], + dflt: "both", + editType: "calc", + }, + cliponaxis: f({}, n.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: v, + offsetgroup: n.offsetgroup, + alignmentgroup: n.alignmentgroup, + selected: { + marker: { + opacity: n.selected.marker.opacity, + color: n.selected.marker.color, + editType: "style", + }, + textfont: n.selected.textfont, + editType: "style", + }, + unselected: { + marker: { + opacity: n.unselected.marker.opacity, + color: n.unselected.marker.color, + editType: "style", + }, + textfont: n.unselected.textfont, + editType: "style", + }, + _deprecated: { + bardir: { + valType: "enumerated", + editType: "calc", + values: ["v", "h"], + }, + }, + }; + }, + 92290: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(42973), + a = r(52075).hasColorscale, + o = r(78803), + s = r(75341), + l = r(66279); + t.exports = function (t, e) { + var r, + u, + c, + f, + h, + p, + d = n.getFromId(t, e.xaxis || "x"), + v = n.getFromId(t, e.yaxis || "y"), + g = { msUTC: !(!e.base && 0 !== e.base) }; + "h" === e.orientation + ? ((r = d.makeCalcdata(e, "x", g)), + (c = v.makeCalcdata(e, "y")), + (f = i(e, v, "y", c)), + (h = !!e.yperiodalignment), + (p = "y")) + : ((r = v.makeCalcdata(e, "y", g)), + (c = d.makeCalcdata(e, "x")), + (f = i(e, d, "x", c)), + (h = !!e.xperiodalignment), + (p = "x")), + (u = f.vals); + for ( + var y = Math.min(u.length, r.length), + m = new Array(y), + x = 0; + x < y; + x++ + ) + (m[x] = { p: u[x], s: r[x] }), + h && + ((m[x].orig_p = c[x]), + (m[x][p + "End"] = f.ends[x]), + (m[x][p + "Start"] = f.starts[x])), + e.ids && (m[x].id = String(e.ids[x])); + return ( + a(e, "marker") && + o(t, e, { + vals: e.marker.color, + containerStr: "marker", + cLetter: "c", + }), + a(e, "marker.line") && + o(t, e, { + vals: e.marker.line.color, + containerStr: "marker.line", + cLetter: "c", + }), + s(m, e), + l(m, e), + m + ); + }; + }, + 97313: function (t) { + "use strict"; + t.exports = { + TEXTPAD: 3, + eventDataKeys: ["value", "label"], + }; + }, + 11661: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828).isArrayOrTypedArray, + a = r(50606).BADNUM, + o = r(73972), + s = r(89298), + l = r(99082).getAxisGroup, + u = r(61546); + function c(t, e, r, o, c) { + if (o.length) { + var b, _, w, T; + switch ( + ((function (t, e) { + var r, a; + for (r = 0; r < e.length; r++) { + var o, + s = e[r], + l = s[0].trace, + u = "funnel" === l.type ? l._base : l.base, + c = + "h" === l.orientation + ? l.xcalendar + : l.ycalendar, + f = + "category" === t.type || + "multicategory" === t.type + ? function () { + return null; + } + : t.d2c; + if (i(u)) { + for ( + a = 0; + a < Math.min(u.length, s.length); + a++ + ) + (o = f(u[a], 0, c)), + n(o) + ? ((s[a].b = +o), (s[a].hasB = 1)) + : (s[a].b = 0); + for (; a < s.length; a++) s[a].b = 0; + } else { + o = f(u, 0, c); + var h = n(o); + for (o = h ? o : 0, a = 0; a < s.length; a++) + (s[a].b = o), h && (s[a].hasB = 1); + } + } + })(r, o), + c.mode) + ) { + case "overlay": + f(e, r, o, c); + break; + case "group": + for (b = [], _ = [], w = 0; w < o.length; w++) + void 0 === (T = o[w])[0].trace.offset + ? _.push(T) + : b.push(T); + _.length && + (function (t, e, r, n, i) { + var o = new u(n, { + posAxis: e, + sepNegVal: !1, + overlapNoMerge: !i.norm, + }); + (function (t, e, r, n) { + for ( + var i = t._fullLayout, + a = r.positions, + o = r.distinctPositions, + s = r.minDiff, + u = r.traces, + c = u.length, + f = a.length !== o.length, + h = s * (1 - n.gap), + g = + l(i, e._id) + + u[0][0].trace.orientation, + y = i._alignmentOpts[g] || {}, + m = 0; + m < c; + m++ + ) { + var x, + b, + _ = u[m], + w = _[0].trace, + T = y[w.alignmentgroup] || {}, + k = Object.keys( + T.offsetGroups || {}, + ).length, + A = + (x = k ? h / k : f ? h / c : h) * + (1 - (n.groupgap || 0)); + b = k + ? ((2 * w._offsetIndex + 1 - k) * x - + A) / + 2 + : f + ? ((2 * m + 1 - c) * x - A) / 2 + : -A / 2; + var M = _[0].t; + (M.barwidth = A), + (M.poffset = b), + (M.bargroupwidth = h), + (M.bardelta = s); + } + (r.binWidth = u[0][0].t.barwidth / 100), + p(r), + d(e, r), + v(e, r, f); + })(t, e, o, i), + (function (t, e) { + for ( + var r = t.traces, n = 0; + n < r.length; + n++ + ) { + var i = r[n]; + if (void 0 === i[0].trace.base) + for ( + var o = new u([i], { + posAxis: e, + sepNegVal: !0, + overlapNoMerge: !0, + }), + s = 0; + s < i.length; + s++ + ) { + var l = i[s]; + if (l.p !== a) { + var c = o.put(l.p, l.b + l.s); + c && (l.b = c); + } + } + } + })(o, e), + i.norm ? (y(o), m(r, o, i)) : g(r, o); + })(t, e, r, _, c), + b.length && f(e, r, b, c); + break; + case "stack": + case "relative": + for (b = [], _ = [], w = 0; w < o.length; w++) + void 0 === (T = o[w])[0].trace.base + ? _.push(T) + : b.push(T); + _.length && + (function (t, e, r, n, i) { + var o = new u(n, { + posAxis: e, + sepNegVal: "relative" === i.mode, + overlapNoMerge: !( + i.norm || + "stack" === i.mode || + "relative" === i.mode + ), + }); + h(e, o, i), + (function (t, e, r) { + var n, + i, + o, + l, + u, + c, + f = x(t), + h = e.traces; + for (l = 0; l < h.length; l++) + if ( + "funnel" === + (i = (n = h[l])[0].trace).type + ) + for (u = 0; u < n.length; u++) + (c = n[u]).s !== a && + e.put(c.p, -0.5 * c.s); + for (l = 0; l < h.length; l++) { + o = + "funnel" === + (i = (n = h[l])[0].trace).type; + var p = []; + for (u = 0; u < n.length; u++) + if ((c = n[u]).s !== a) { + var d; + d = o ? c.s : c.s + c.b; + var v = e.put(c.p, d), + g = v + d; + (c.b = v), + (c[f] = g), + r.norm || + (p.push(g), + c.hasB && p.push(v)); + } + r.norm || + (i._extremes[t._id] = s.findExtremes( + t, + p, + { tozero: !0, padded: !0 }, + )); + } + })(r, o, i); + for (var l = 0; l < n.length; l++) + for ( + var c = n[l], f = 0; + f < c.length; + f++ + ) { + var p = c[f]; + p.s !== a && + p.b + p.s === o.get(p.p, p.s) && + (p._outmost = !0); + } + i.norm && m(r, o, i); + })(0, e, r, _, c), + b.length && f(e, r, b, c); + } + !(function (t, e) { + var r, + i, + a, + o = x(e), + s = {}, + l = 1 / 0, + u = -1 / 0; + for (r = 0; r < t.length; r++) + for (a = t[r], i = 0; i < a.length; i++) { + var c = a[i].p; + n(c) && + ((l = Math.min(l, c)), (u = Math.max(u, c))); + } + var f = 1e4 / (u - l), + h = (s.round = function (t) { + return String(Math.round(f * (t - l))); + }); + for (r = 0; r < t.length; r++) { + (a = t[r])[0].t.extents = s; + var p = a[0].t.poffset, + d = Array.isArray(p); + for (i = 0; i < a.length; i++) { + var v = a[i], + g = v[o] - v.w / 2; + if (n(g)) { + var y = v[o] + v.w / 2, + m = h(v.p); + s[m] + ? (s[m] = [ + Math.min(g, s[m][0]), + Math.max(y, s[m][1]), + ]) + : (s[m] = [g, y]); + } + (v.p0 = v.p + (d ? p[i] : p)), + (v.p1 = v.p0 + v.w), + (v.s0 = v.b), + (v.s1 = v.s0 + v.s); + } + } + })(o, e); + } + } + function f(t, e, r, n) { + for (var i = 0; i < r.length; i++) { + var a = r[i], + o = new u([a], { + posAxis: t, + sepNegVal: !1, + overlapNoMerge: !n.norm, + }); + h(t, o, n), n.norm ? (y(o), m(e, o, n)) : g(e, o); + } + } + function h(t, e, r) { + for ( + var n = e.minDiff, + i = e.traces, + a = n * (1 - r.gap), + o = a * (1 - (r.groupgap || 0)), + s = -o / 2, + l = 0; + l < i.length; + l++ + ) { + var u = i[l][0].t; + (u.barwidth = o), + (u.poffset = s), + (u.bargroupwidth = a), + (u.bardelta = n); + } + (e.binWidth = i[0][0].t.barwidth / 100), + p(e), + d(t, e), + v(t, e); + } + function p(t) { + var e, + r, + a = t.traces; + for (e = 0; e < a.length; e++) { + var o, + s = a[e], + l = s[0], + u = l.trace, + c = l.t, + f = u._offset || u.offset, + h = c.poffset; + if (i(f)) { + for ( + o = Array.prototype.slice.call(f, 0, s.length), + r = 0; + r < o.length; + r++ + ) + n(o[r]) || (o[r] = h); + for (r = o.length; r < s.length; r++) o.push(h); + c.poffset = o; + } else void 0 !== f && (c.poffset = f); + var p = u._width || u.width, + d = c.barwidth; + if (i(p)) { + var v = Array.prototype.slice.call(p, 0, s.length); + for (r = 0; r < v.length; r++) + n(v[r]) || (v[r] = d); + for (r = v.length; r < s.length; r++) v.push(d); + if (((c.barwidth = v), void 0 === f)) { + for (o = [], r = 0; r < s.length; r++) + o.push(h + (d - v[r]) / 2); + c.poffset = o; + } + } else + void 0 !== p && + ((c.barwidth = p), + void 0 === f && (c.poffset = h + (d - p) / 2)); + } + } + function d(t, e) { + for ( + var r = e.traces, n = x(t), i = 0; + i < r.length; + i++ + ) + for ( + var a = r[i], + o = a[0].t, + s = o.poffset, + l = Array.isArray(s), + u = o.barwidth, + c = Array.isArray(u), + f = 0; + f < a.length; + f++ + ) { + var h = a[f], + p = (h.w = c ? u[f] : u); + void 0 === h.p && + ((h.p = h[n]), (h["orig_" + n] = h[n])); + var d = (l ? s[f] : s) + p / 2; + h[n] = h.p + d; + } + } + function v(t, e, r) { + var n = e.traces, + i = e.minDiff / 2; + s.minDtick(t, e.minDiff, e.distinctPositions[0], r); + for (var a = 0; a < n.length; a++) { + var o, + l, + u, + c, + f = n[a], + h = f[0], + p = h.trace, + d = []; + for (c = 0; c < f.length; c++) + (l = (o = f[c]).p - i), (u = o.p + i), d.push(l, u); + if (p.width || p.offset) { + var v = h.t, + g = v.poffset, + y = v.barwidth, + m = Array.isArray(g), + x = Array.isArray(y); + for (c = 0; c < f.length; c++) { + o = f[c]; + var b = m ? g[c] : g, + _ = x ? y[c] : y; + (u = (l = o.p + b) + _), d.push(l, u); + } + } + p._extremes[t._id] = s.findExtremes(t, d, { + padded: !1, + }); + } + } + function g(t, e) { + for ( + var r = e.traces, n = x(t), i = 0; + i < r.length; + i++ + ) { + for ( + var a = r[i], + o = a[0].trace, + l = "scatter" === o.type, + u = "v" === o.orientation, + c = [], + f = !1, + h = 0; + h < a.length; + h++ + ) { + var p = a[h], + d = l ? 0 : p.b, + v = l ? (u ? p.y : p.x) : d + p.s; + (p[n] = v), + c.push(v), + p.hasB && c.push(d), + (p.hasB && p.b) || (f = !0); + } + o._extremes[t._id] = s.findExtremes(t, c, { + tozero: f, + padded: !0, + }); + } + } + function y(t) { + for (var e = t.traces, r = 0; r < e.length; r++) + for (var n = e[r], i = 0; i < n.length; i++) { + var o = n[i]; + o.s !== a && t.put(o.p, o.b + o.s); + } + } + function m(t, e, r) { + var i = e.traces, + o = x(t), + l = "fraction" === r.norm ? 1 : 100, + u = l / 1e9, + c = t.l2c(t.c2l(0)), + f = "stack" === r.mode ? l : c; + function h(e) { + return ( + n(t.c2l(e)) && (e < c - u || e > f + u || !n(c)) + ); + } + for (var p = 0; p < i.length; p++) { + for ( + var d = i[p], + v = d[0].trace, + g = [], + y = !1, + m = !1, + b = 0; + b < d.length; + b++ + ) { + var _ = d[b]; + if (_.s !== a) { + var w = Math.abs(l / e.get(_.p, _.s)); + (_.b *= w), (_.s *= w); + var T = _.b, + k = T + _.s; + (_[o] = k), + g.push(k), + (m = m || h(k)), + _.hasB && (g.push(T), (m = m || h(T))), + (_.hasB && _.b) || (y = !0); + } + } + v._extremes[t._id] = s.findExtremes(t, g, { + tozero: y, + padded: m, + }); + } + } + function x(t) { + return t._id.charAt(0); + } + t.exports = { + crossTraceCalc: function (t, e) { + for ( + var r = e.xaxis, + n = e.yaxis, + i = t._fullLayout, + a = t._fullData, + s = t.calcdata, + l = [], + u = [], + f = 0; + f < a.length; + f++ + ) { + var h = a[f]; + if ( + !0 === h.visible && + o.traceIs(h, "bar") && + h.xaxis === r._id && + h.yaxis === n._id && + ("h" === h.orientation + ? l.push(s[f]) + : u.push(s[f]), + h._computePh) + ) + for ( + var p = t.calcdata[f], d = 0; + d < p.length; + d++ + ) + "function" == typeof p[d].ph0 && + (p[d].ph0 = p[d].ph0()), + "function" == typeof p[d].ph1 && + (p[d].ph1 = p[d].ph1()); + } + var v = { + xCat: + "category" === r.type || + "multicategory" === r.type, + yCat: + "category" === n.type || + "multicategory" === n.type, + mode: i.barmode, + norm: i.barnorm, + gap: i.bargap, + groupgap: i.bargroupgap, + }; + c(t, r, n, u, v), c(t, n, r, l, v); + }, + setGroupPositions: c, + }; + }, + 90769: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(73972), + o = r(67513), + s = r(73927), + l = r(98340), + u = r(26125), + c = r(1486), + f = n.coerceFont; + function h(t, e, r, i, a, o) { + var s = !(!1 === (o = o || {}).moduleHasSelected), + l = !(!1 === o.moduleHasUnselected), + u = !(!1 === o.moduleHasConstrain), + c = !(!1 === o.moduleHasCliponaxis), + h = !(!1 === o.moduleHasTextangle), + p = !(!1 === o.moduleHasInsideanchor), + d = !!o.hasPathbar, + v = Array.isArray(a) || "auto" === a, + g = v || "inside" === a, + y = v || "outside" === a; + if (g || y) { + var m = f(i, "textfont", r.font), + x = n.extendFlat({}, m), + b = !(t.textfont && t.textfont.color); + if ( + (b && delete x.color, f(i, "insidetextfont", x), d) + ) { + var _ = n.extendFlat({}, m); + b && delete _.color, f(i, "pathbar.textfont", _); + } + y && f(i, "outsidetextfont", m), + s && i("selected.textfont.color"), + l && i("unselected.textfont.color"), + u && i("constraintext"), + c && i("cliponaxis"), + h && i("textangle"), + i("texttemplate"); + } + g && p && i("insidetextanchor"); + } + t.exports = { + supplyDefaults: function (t, e, r, u) { + function f(r, i) { + return n.coerce(t, e, c, r, i); + } + if (o(t, e, u, f)) { + s(t, e, u, f), + f("xhoverformat"), + f("yhoverformat"), + f("orientation", e.x && !e.y ? "h" : "v"), + f("base"), + f("offset"), + f("width"), + f("text"), + f("hovertext"), + f("hovertemplate"); + var p = f("textposition"); + h(t, 0, u, f, p, { + moduleHasSelected: !0, + moduleHasUnselected: !0, + moduleHasConstrain: !0, + moduleHasCliponaxis: !0, + moduleHasTextangle: !0, + moduleHasInsideanchor: !0, + }), + l(t, e, f, r, u); + var d = (e.marker.line || {}).color, + v = a.getComponentMethod( + "errorbars", + "supplyDefaults", + ); + v(t, e, d || i.defaultLine, { axis: "y" }), + v(t, e, d || i.defaultLine, { + axis: "x", + inherit: "y", + }), + n.coerceSelectionMarkerOpacity(e, f); + } else e.visible = !1; + }, + crossTraceDefaults: function (t, e) { + var r, i; + function a(t) { + return n.coerce(i._input, i, c, t); + } + if ("group" === e.barmode) + for (var o = 0; o < t.length; o++) + "bar" === (i = t[o]).type && + ((r = i._input), u(r, i, e, a)); + }, + handleText: h, + }; + }, + 58065: function (t) { + "use strict"; + t.exports = function (t, e, r) { + return ( + (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), + "h" === r.orientation + ? ((t.label = t.y), (t.value = t.x)) + : ((t.label = t.x), (t.value = t.y)), + t + ); + }; + }, + 69383: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(84267), + a = r(71828).isArrayOrTypedArray; + (e.coerceString = function (t, e, r) { + if ("string" == typeof e) { + if (e || !t.noBlank) return e; + } else if ( + ("number" == typeof e || !0 === e) && + !t.strict + ) + return String(e); + return void 0 !== r ? r : t.dflt; + }), + (e.coerceNumber = function (t, e, r) { + if (n(e)) { + e = +e; + var i = t.min, + a = t.max; + if ( + !( + (void 0 !== i && e < i) || + (void 0 !== a && e > a) + ) + ) + return e; + } + return void 0 !== r ? r : t.dflt; + }), + (e.coerceColor = function (t, e, r) { + return i(e).isValid() ? e : void 0 !== r ? r : t.dflt; + }), + (e.coerceEnumerated = function (t, e, r) { + return ( + t.coerceNumber && (e = +e), + -1 !== t.values.indexOf(e) + ? e + : void 0 !== r + ? r + : t.dflt + ); + }), + (e.getValue = function (t, e) { + var r; + return ( + Array.isArray(t) + ? e < t.length && (r = t[e]) + : (r = t), + r + ); + }), + (e.getLineWidth = function (t, e) { + return 0 < e.mlw + ? e.mlw + : a(t.marker.line.width) + ? 0 + : t.marker.line.width; + }); + }, + 95423: function (t, e, r) { + "use strict"; + var n = r(30211), + i = r(73972), + a = r(7901), + o = r(71828).fillText, + s = r(69383).getLineWidth, + l = r(89298).hoverLabelText, + u = r(50606).BADNUM; + function c(t, e, r, i, a) { + var s, + c, + f, + h, + p, + d, + v, + g = t.cd, + y = g[0].trace, + m = g[0].t, + x = "closest" === i, + b = "waterfall" === y.type, + _ = t.maxHoverDistance, + w = t.maxSpikeDistance; + "h" === y.orientation + ? ((s = r), + (c = e), + (f = "y"), + (h = "x"), + (p = D), + (d = P)) + : ((s = e), + (c = r), + (f = "x"), + (h = "y"), + (d = D), + (p = P)); + var T = y[f + "period"], + k = x || T; + function A(t) { + return S(t, -1); + } + function M(t) { + return S(t, 1); + } + function S(t, e) { + var r = t.w; + return t[f] + (e * r) / 2; + } + function E(t) { + return t[f + "End"] - t[f + "Start"]; + } + var L = x + ? A + : T + ? function (t) { + return t.p - E(t) / 2; + } + : function (t) { + return Math.min(A(t), t.p - m.bardelta / 2); + }, + C = x + ? M + : T + ? function (t) { + return t.p + E(t) / 2; + } + : function (t) { + return Math.max(M(t), t.p + m.bardelta / 2); + }; + function O(t, e, r) { + return ( + a.finiteRange && (r = 0), + n.inbox( + t - s, + e - s, + r + Math.min(1, Math.abs(e - t) / v) - 1, + ) + ); + } + function P(t) { + return O(L(t), C(t), _); + } + function I(t) { + var e = t[h]; + if (b) { + var r = Math.abs(t.rawS) || 0; + c > 0 ? (e += r) : c < 0 && (e -= r); + } + return e; + } + function D(t) { + var e = c, + r = t.b, + i = I(t); + return n.inbox( + r - e, + i - e, + _ + (i - e) / (i - r) - 1, + ); + } + var z = t[f + "a"], + R = t[h + "a"]; + v = Math.abs(z.r2c(z.range[1]) - z.r2c(z.range[0])); + var F = n.getDistanceFunction(i, p, d, function (t) { + return (p(t) + d(t)) / 2; + }); + if ( + (n.getClosest(g, F, t), + !1 !== t.index && g[t.index].p !== u) + ) { + k || + ((L = function (t) { + return Math.min(A(t), t.p - m.bargroupwidth / 2); + }), + (C = function (t) { + return Math.max(M(t), t.p + m.bargroupwidth / 2); + })); + var B = g[t.index], + N = y.base ? B.b + B.s : B.s; + (t[h + "0"] = t[h + "1"] = R.c2p(B[h], !0)), + (t[h + "LabelVal"] = N); + var j = m.extents[m.extents.round(B.p)]; + (t[f + "0"] = z.c2p(x ? L(B) : j[0], !0)), + (t[f + "1"] = z.c2p(x ? C(B) : j[1], !0)); + var U = void 0 !== B.orig_p; + return ( + (t[f + "LabelVal"] = U ? B.orig_p : B.p), + (t.labelLabel = l( + z, + t[f + "LabelVal"], + y[f + "hoverformat"], + )), + (t.valueLabel = l( + R, + t[h + "LabelVal"], + y[h + "hoverformat"], + )), + (t.baseLabel = l(R, B.b, y[h + "hoverformat"])), + (t.spikeDistance = + ((function (t) { + var e = c, + r = t.b, + i = I(t); + return n.inbox( + r - e, + i - e, + w + (i - e) / (i - r) - 1, + ); + })(B) + + (function (t) { + return O(A(t), M(t), w); + })(B)) / + 2), + (t[f + "Spike"] = z.c2p(B.p, !0)), + o(B, y, t), + (t.hovertemplate = y.hovertemplate), + t + ); + } + } + function f(t, e) { + var r = e.mcc || t.marker.color, + n = e.mlcc || t.marker.line.color, + i = s(t, e); + return a.opacity(r) + ? r + : a.opacity(n) && i + ? n + : void 0; + } + t.exports = { + hoverPoints: function (t, e, r, n, a) { + var o = c(t, e, r, n, a); + if (o) { + var s = o.cd, + l = s[0].trace, + u = s[o.index]; + return ( + (o.color = f(l, u)), + i.getComponentMethod("errorbars", "hoverInfo")( + u, + l, + o, + ), + [o] + ); + } + }, + hoverOnBars: c, + getTraceColor: f, + }; + }, + 60822: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(1486), + layoutAttributes: r(43641), + supplyDefaults: r(90769).supplyDefaults, + crossTraceDefaults: r(90769).crossTraceDefaults, + supplyLayoutDefaults: r(13957), + calc: r(92290), + crossTraceCalc: r(11661).crossTraceCalc, + colorbar: r(4898), + arraysToCalcdata: r(75341), + plot: r(17295).plot, + style: r(16688).style, + styleOnSelect: r(16688).styleOnSelect, + hoverPoints: r(95423).hoverPoints, + eventData: r(58065), + selectPoints: r(81974), + moduleType: "trace", + name: "bar", + basePlotModule: r(93612), + categories: [ + "bar-like", + "cartesian", + "svg", + "bar", + "oriented", + "errorBarsOK", + "showLegend", + "zoomScale", + ], + animatable: !0, + meta: {}, + }; + }, + 43641: function (t) { + "use strict"; + t.exports = { + 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", + }, + }; + }, + 13957: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(89298), + a = r(71828), + o = r(43641); + t.exports = function (t, e, r) { + function s(r, n) { + return a.coerce(t, e, o, r, n); + } + for ( + var l = !1, + u = !1, + c = !1, + f = {}, + h = s("barmode"), + p = 0; + p < r.length; + p++ + ) { + var d = r[p]; + if (n.traceIs(d, "bar") && d.visible) { + if (((l = !0), "group" === h)) { + var v = d.xaxis + d.yaxis; + f[v] && (c = !0), (f[v] = !0); + } + d.visible && + "histogram" === d.type && + "category" !== + i.getFromId( + { _fullLayout: e }, + d["v" === d.orientation ? "xaxis" : "yaxis"], + ).type && + (u = !0); + } + } + l + ? ("overlay" !== h && s("barnorm"), + s("bargap", u && !c ? 0 : 0.2), + s("bargroupgap")) + : delete e.barmode; + }; + }, + 17295: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = r(71828), + o = r(63893), + s = r(7901), + l = r(91424), + u = r(73972), + c = r(89298).tickText, + f = r(72597), + h = f.recordMinTextSize, + p = f.clearMinTextSize, + d = r(16688), + v = r(69383), + g = r(97313), + y = r(1486), + m = y.text, + x = y.textposition, + b = r(23469).appendArrayPointValue, + _ = g.TEXTPAD; + function w(t) { + return t.id; + } + function T(t) { + if (t.ids) return w; + } + function k(t, e) { + return t < e ? 1 : -1; + } + function A(t, e, r, n) { + var i; + return !e.uniformtext.mode && M(r) + ? (n && (i = n()), + t + .transition() + .duration(r.duration) + .ease(r.easing) + .each("end", function () { + i && i(); + }) + .each("interrupt", function () { + i && i(); + })) + : t; + } + function M(t) { + return t && t.duration > 0; + } + function S(t) { + return "auto" === t ? 0 : t; + } + function E(t, e) { + var r = (Math.PI / 180) * e, + n = Math.abs(Math.sin(r)), + i = Math.abs(Math.cos(r)); + return { + x: t.width * i + t.height * n, + y: t.width * n + t.height * i, + }; + } + function L(t, e, r, n, i, a) { + var o = !!a.isHorizontal, + s = !!a.constrained, + l = a.angle || 0, + u = a.anchor || "end", + c = "end" === u, + f = "start" === u, + h = ((a.leftToRight || 0) + 1) / 2, + p = 1 - h, + d = i.width, + v = i.height, + g = Math.abs(e - t), + y = Math.abs(n - r), + m = g > 2 * _ && y > 2 * _ ? _ : 0; + (g -= 2 * m), (y -= 2 * m); + var x = S(l); + "auto" !== l || + (d <= g && v <= y) || + !(d > g || v > y) || + ((d > y || v > g) && d < v == g < y) || + (x += 90); + var b = E(i, x), + w = 1; + s && (w = Math.min(1, g / b.x, y / b.y)); + var T = i.left * p + i.right * h, + A = (i.top + i.bottom) / 2, + M = (t + _) * p + (e - _) * h, + L = (r + n) / 2, + C = 0, + O = 0; + if (f || c) { + var P = (o ? b.x : b.y) / 2, + I = o ? k(t, e) : k(r, n); + o + ? f + ? ((M = t + I * m), (C = -I * P)) + : ((M = e - I * m), (C = I * P)) + : f + ? ((L = r + I * m), (O = -I * P)) + : ((L = n - I * m), (O = I * P)); + } + return { + textX: T, + textY: A, + targetX: M, + targetY: L, + anchorX: C, + anchorY: O, + scale: w, + rotate: x, + }; + } + t.exports = { + plot: function (t, e, r, f, g, y) { + var w = e.xaxis, + C = e.yaxis, + O = t._fullLayout, + P = t._context.staticPlot; + g || + ((g = { + mode: O.barmode, + norm: O.barmode, + gap: O.bargap, + groupgap: O.bargroupgap, + }), + p("bar", O)); + var I = a + .makeTraceGroups(f, r, "trace bars") + .each(function (r) { + var u = n.select(this), + f = r[0].trace, + p = "waterfall" === f.type, + I = "funnel" === f.type, + D = "bar" === f.type || I, + z = 0; + p && + f.connector.visible && + "between" === f.connector.mode && + (z = f.connector.line.width / 2); + var R = "h" === f.orientation, + F = M(g), + B = a.ensureSingle(u, "g", "points"), + N = T(f), + j = B.selectAll("g.point").data(a.identity, N); + j.enter().append("g").classed("point", !0), + j.exit().remove(), + j.each(function (u, p) { + var T, + M, + I = n.select(this), + B = (function (t, e, r, n) { + var i = [], + a = [], + o = n ? e : r, + s = n ? r : e; + return ( + (i[0] = o.c2p(t.s0, !0)), + (a[0] = s.c2p(t.p0, !0)), + (i[1] = o.c2p(t.s1, !0)), + (a[1] = s.c2p(t.p1, !0)), + n ? [i, a] : [a, i] + ); + })(u, w, C, R), + N = B[0][0], + j = B[0][1], + U = B[1][0], + V = B[1][1], + H = 0 == (R ? j - N : V - U); + if ( + (H && D && v.getLineWidth(f, u) && (H = !1), + H || (H = !(i(N) && i(j) && i(U) && i(V))), + (u.isBlank = H), + H && (R ? (j = N) : (V = U)), + z && + !H && + (R + ? ((N -= k(N, j) * z), + (j += k(N, j) * z)) + : ((U -= k(U, V) * z), + (V += k(U, V) * z))), + "waterfall" === f.type) + ) { + if (!H) { + var q = f[u.dir].marker; + (T = q.line.width), (M = q.color); + } + } else + (T = v.getLineWidth(f, u)), + (M = u.mc || f.marker.color); + function G(t) { + var e = n.round((T / 2) % 1, 2); + return 0 === g.gap && 0 === g.groupgap + ? n.round(Math.round(t) - e, 2) + : t; + } + if (!t._context.staticPlot) { + var Z = + s.opacity(M) < 1 || T > 0.01 + ? G + : function (t, e, r) { + return r && t === e + ? t + : Math.abs(t - e) >= 2 + ? G(t) + : t > e + ? Math.ceil(t) + : Math.floor(t); + }; + (N = Z(N, j, R)), + (j = Z(j, N, R)), + (U = Z(U, V, !R)), + (V = Z(V, U, !R)); + } + var W = A(a.ensureSingle(I, "path"), O, g, y); + if ( + (W.style( + "vector-effect", + P ? "none" : "non-scaling-stroke", + ) + .attr( + "d", + isNaN((j - N) * (V - U)) || + (H && t._context.staticPlot) + ? "M0,0Z" + : "M" + + N + + "," + + U + + "V" + + V + + "H" + + j + + "V" + + U + + "Z", + ) + .call(l.setClipUrl, e.layerClipId, t), + !O.uniformtext.mode && F) + ) { + var Y = l.makePointStyleFns(f); + l.singlePointStyle(u, W, f, Y, t); + } + !(function (t, e, r, n, i, s, u, f, p, g, y) { + var w, + T = e.xaxis, + M = e.yaxis, + C = t._fullLayout; + function O(e, r, n) { + return a + .ensureSingle(e, "text") + .text(r) + .attr({ + class: "bartext bartext-" + w, + "text-anchor": "middle", + "data-notex": 1, + }) + .call(l.font, n) + .call(o.convertToTspans, t); + } + var P = n[0].trace, + I = "h" === P.orientation, + D = (function (t, e, r, n, i) { + var o, + s = e[0].trace; + return ( + (o = s.texttemplate + ? (function (t, e, r, n, i) { + var o = e[0].trace, + s = a.castOption( + o, + r, + "texttemplate", + ); + if (!s) return ""; + var l, + u, + f, + h, + p = "histogram" === o.type, + d = "waterfall" === o.type, + v = "funnel" === o.type, + g = "h" === o.orientation; + function y(t) { + return c(h, h.c2l(t), !0) + .text; + } + g + ? ((l = "y"), + (u = i), + (f = "x"), + (h = n)) + : ((l = "x"), + (u = n), + (f = "y"), + (h = i)); + var m, + x = e[r], + _ = {}; + (_.label = x.p), + (_.labelLabel = _[ + l + "Label" + ] = + ((m = x.p), + c(u, u.c2l(m), !0).text)); + var w = a.castOption( + o, + x.i, + "text", + ); + (0 === w || w) && (_.text = w), + (_.value = x.s), + (_.valueLabel = _[ + f + "Label" + ] = + y(x.s)); + var T = {}; + b(T, o, x.i), + (p || void 0 === T.x) && + (T.x = g + ? _.value + : _.label), + (p || void 0 === T.y) && + (T.y = g + ? _.label + : _.value), + (p || void 0 === T.xLabel) && + (T.xLabel = g + ? _.valueLabel + : _.labelLabel), + (p || void 0 === T.yLabel) && + (T.yLabel = g + ? _.labelLabel + : _.valueLabel), + d && + ((_.delta = +x.rawS || x.s), + (_.deltaLabel = y(_.delta)), + (_.final = x.v), + (_.finalLabel = y(_.final)), + (_.initial = + _.final - _.delta), + (_.initialLabel = y( + _.initial, + ))), + v && + ((_.value = x.s), + (_.valueLabel = y(_.value)), + (_.percentInitial = x.begR), + (_.percentInitialLabel = + a.formatPercent(x.begR)), + (_.percentPrevious = + x.difR), + (_.percentPreviousLabel = + a.formatPercent(x.difR)), + (_.percentTotal = x.sumR), + (_.percenTotalLabel = + a.formatPercent(x.sumR))); + var k = a.castOption( + o, + x.i, + "customdata", + ); + return ( + k && (_.customdata = k), + a.texttemplateString( + s, + _, + t._d3locale, + T, + _, + o._meta || {}, + ) + ); + })(t, e, r, n, i) + : s.textinfo + ? (function (t, e, r, n) { + var i = t[0].trace, + o = "h" === i.orientation, + s = "waterfall" === i.type, + l = "funnel" === i.type; + function u(t) { + return c(o ? r : n, +t, !0) + .text; + } + var f, + h, + p = i.textinfo, + d = t[e], + v = p.split("+"), + g = [], + y = function (t) { + return -1 !== v.indexOf(t); + }; + if ( + (y("label") && + g.push( + ((h = t[e].p), + c(o ? n : r, h, !0).text), + ), + y("text") && + (0 === + (f = a.castOption( + i, + d.i, + "text", + )) || + f) && + g.push(f), + s) + ) { + var m = +d.rawS || d.s, + x = d.v, + b = x - m; + y("initial") && g.push(u(b)), + y("delta") && g.push(u(m)), + y("final") && g.push(u(x)); + } + if (l) { + y("value") && g.push(u(d.s)); + var _ = 0; + y("percent initial") && _++, + y("percent previous") && + _++, + y("percent total") && _++; + var w = _ > 1; + y("percent initial") && + ((f = a.formatPercent( + d.begR, + )), + w && (f += " of initial"), + g.push(f)), + y("percent previous") && + ((f = a.formatPercent( + d.difR, + )), + w && + (f += " of previous"), + g.push(f)), + y("percent total") && + ((f = a.formatPercent( + d.sumR, + )), + w && (f += " of total"), + g.push(f)); + } + return g.join("
"); + })(e, r, n, i) + : v.getValue(s.text, r)), + v.coerceString(m, o) + ); + })(C, n, i, T, M); + w = (function (t, e) { + var r = v.getValue(t.textposition, e); + return v.coerceEnumerated(x, r); + })(P, i); + var z = + "stack" === g.mode || + "relative" === g.mode, + R = n[i], + F = !z || R._outmost; + if ( + D && + "none" !== w && + ((!R.isBlank && s !== u && f !== p) || + ("auto" !== w && "inside" !== w)) + ) { + var B = C.font, + N = d.getBarColor(n[i], P), + j = d.getInsideTextFont(P, i, B, N), + U = d.getOutsideTextFont(P, i, B), + V = r.datum(); + I + ? "log" === T.type && + V.s0 <= 0 && + (s = + T.range[0] < T.range[1] + ? 0 + : T._length) + : "log" === M.type && + V.s0 <= 0 && + (f = + M.range[0] < M.range[1] + ? M._length + : 0); + var H, + q, + G, + Z, + W, + Y = Math.abs(u - s) - 2 * _, + X = Math.abs(p - f) - 2 * _; + if ( + ("outside" === w && + (F || R.hasB || (w = "inside")), + "auto" === w && + (F + ? ((w = "inside"), + (H = O( + r, + D, + (W = a.ensureUniformFontSize( + t, + j, + )), + )), + (G = (q = l.bBox(H.node())) + .width), + (Z = q.height), + G > 0 && + Z > 0 && + ((G <= Y && Z <= X) || + (G <= X && Z <= Y) || + (I + ? Y >= G * (X / Z) + : X >= Z * (Y / G))) + ? (w = "inside") + : ((w = "outside"), + H.remove(), + (H = null))) + : (w = "inside")), + !H) + ) { + var J = (H = O( + r, + D, + (W = a.ensureUniformFontSize( + t, + "outside" === w ? U : j, + )), + )).attr("transform"); + if ( + (H.attr("transform", ""), + (G = (q = l.bBox(H.node())).width), + (Z = q.height), + H.attr("transform", J), + G <= 0 || Z <= 0) + ) + return void H.remove(); + } + var K, + $ = P.textangle; + (K = + "outside" === w + ? (function (t, e, r, n, i, a) { + var o, + s = !!a.isHorizontal, + l = !!a.constrained, + u = a.angle || 0, + c = i.width, + f = i.height, + h = Math.abs(e - t), + p = Math.abs(n - r); + o = s + ? p > 2 * _ + ? _ + : 0 + : h > 2 * _ + ? _ + : 0; + var d = 1; + l && + (d = s + ? Math.min(1, p / f) + : Math.min(1, h / c)); + var v = S(u), + g = E(i, v), + y = (s ? g.x : g.y) / 2, + m = (i.left + i.right) / 2, + x = (i.top + i.bottom) / 2, + b = (t + e) / 2, + w = (r + n) / 2, + T = 0, + A = 0, + M = s ? k(e, t) : k(r, n); + return ( + s + ? ((b = e - M * o), + (T = M * y)) + : ((w = n + M * o), + (A = -M * y)), + { + textX: m, + textY: x, + targetX: b, + targetY: w, + anchorX: T, + anchorY: A, + scale: d, + rotate: v, + } + ); + })(s, u, f, p, q, { + isHorizontal: I, + constrained: + "both" === P.constraintext || + "outside" === P.constraintext, + angle: $, + }) + : L(s, u, f, p, q, { + isHorizontal: I, + constrained: + "both" === P.constraintext || + "inside" === P.constraintext, + angle: $, + anchor: P.insidetextanchor, + })), + (K.fontSize = W.size), + h( + "histogram" === P.type + ? "bar" + : P.type, + K, + C, + ), + (R.transform = K); + var Q = A(H, C, g, y); + a.setTransormAndDisplay(Q, K); + } else r.select("text").remove(); + })(t, e, I, r, p, N, j, U, V, g, y), + e.layerClipId && + l.hideOutsideRangePoint( + u, + I.select("text"), + w, + C, + f.xcalendar, + f.ycalendar, + ); + }); + var U = !1 === f.cliponaxis; + l.setClipUrl(u, U ? null : e.layerClipId, t); + }); + u.getComponentMethod("errorbars", "plot")(t, I, e, g); + }, + toMoveInsideBar: L, + }; + }, + 81974: function (t) { + "use strict"; + function e(t, e, r, n, i) { + var a = e.c2p(n ? t.s0 : t.p0, !0), + o = e.c2p(n ? t.s1 : t.p1, !0), + s = r.c2p(n ? t.p0 : t.s0, !0), + l = r.c2p(n ? t.p1 : t.s1, !0); + return i + ? [(a + o) / 2, (s + l) / 2] + : n + ? [o, (s + l) / 2] + : [(a + o) / 2, l]; + } + t.exports = function (t, r) { + var n, + i = t.cd, + a = t.xaxis, + o = t.yaxis, + s = i[0].trace, + l = "funnel" === s.type, + u = "h" === s.orientation, + c = []; + if (!1 === r) + for (n = 0; n < i.length; n++) i[n].selected = 0; + else + for (n = 0; n < i.length; n++) { + var f = i[n], + h = "ct" in f ? f.ct : e(f, a, o, u, l); + r.contains(h, !1, n, t) + ? (c.push({ + pointNumber: n, + x: a.c2d(f.x), + y: o.c2d(f.y), + }), + (f.selected = 1)) + : (f.selected = 0); + } + return c; + }; + }, + 61546: function (t, e, r) { + "use strict"; + t.exports = i; + var n = r(71828).distinctVals; + function i(t, e) { + (this.traces = t), + (this.sepNegVal = e.sepNegVal), + (this.overlapNoMerge = e.overlapNoMerge); + for ( + var r = 1 / 0, + i = e.posAxis._id.charAt(0), + a = [], + o = 0; + o < t.length; + o++ + ) { + for (var s = t[o], l = 0; l < s.length; l++) { + var u = s[l], + c = u.p; + void 0 === c && (c = u[i]), + void 0 !== c && a.push(c); + } + s[0] && s[0].width1 && (r = Math.min(s[0].width1, r)); + } + this.positions = a; + var f = n(a); + (this.distinctPositions = f.vals), + 1 === f.vals.length && r !== 1 / 0 + ? (this.minDiff = r) + : (this.minDiff = Math.min(f.minDiff, r)); + var h = (e.posAxis || {}).type; + ("category" !== h && "multicategory" !== h) || + (this.minDiff = 1), + (this.binWidth = this.minDiff), + (this.bins = {}); + } + (i.prototype.put = function (t, e) { + var r = this.getLabel(t, e), + n = this.bins[r] || 0; + return (this.bins[r] = n + e), n; + }), + (i.prototype.get = function (t, e) { + var r = this.getLabel(t, e); + return this.bins[r] || 0; + }), + (i.prototype.getLabel = function (t, e) { + return ( + (e < 0 && this.sepNegVal ? "v" : "^") + + (this.overlapNoMerge + ? t + : Math.round(t / this.binWidth)) + ); + }); + }, + 16688: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(7901), + a = r(91424), + o = r(71828), + s = r(73972), + l = r(72597).resizeText, + u = r(1486), + c = u.textfont, + f = u.insidetextfont, + h = u.outsidetextfont, + p = r(69383); + function d(t, e, r) { + a.pointStyle(t.selectAll("path"), e, r), v(t, e, r); + } + function v(t, e, r) { + t.selectAll("text").each(function (t) { + var i = n.select(this), + s = o.ensureUniformFontSize(r, g(i, t, e, r)); + a.font(i, s); + }); + } + function g(t, e, r, n) { + var i = n._fullLayout.font, + a = r.textfont; + if (t.classed("bartext-inside")) { + var o = _(e, r); + a = m(r, e.i, i, o); + } else + t.classed("bartext-outside") && (a = x(r, e.i, i)); + return a; + } + function y(t, e, r) { + return b(c, t.textfont, e, r); + } + function m(t, e, r, n) { + var a = y(t, e, r); + return ( + (void 0 === t._input.textfont || + void 0 === t._input.textfont.color || + (Array.isArray(t.textfont.color) && + void 0 === t.textfont.color[e])) && + (a = { + color: i.contrast(n), + family: a.family, + size: a.size, + }), + b(f, t.insidetextfont, e, a) + ); + } + function x(t, e, r) { + var n = y(t, e, r); + return b(h, t.outsidetextfont, e, n); + } + function b(t, e, r, n) { + e = e || {}; + var i = p.getValue(e.family, r), + a = p.getValue(e.size, r), + o = p.getValue(e.color, r); + return { + family: p.coerceString(t.family, i, n.family), + size: p.coerceNumber(t.size, a, n.size), + color: p.coerceColor(t.color, o, n.color), + }; + } + function _(t, e) { + return "waterfall" === e.type + ? e[t.dir].marker.color + : t.mcc || t.mc || e.marker.color; + } + t.exports = { + style: function (t) { + var e = n + .select(t) + .selectAll("g.barlayer") + .selectAll("g.trace"); + l(t, e, "bar"); + var r = e.size(), + i = t._fullLayout; + e + .style("opacity", function (t) { + return t[0].trace.opacity; + }) + .each(function (t) { + (("stack" === i.barmode && r > 1) || + (0 === i.bargap && + 0 === i.bargroupgap && + !t[0].trace.marker.line.width)) && + n + .select(this) + .attr("shape-rendering", "crispEdges"); + }), + e.selectAll("g.points").each(function (e) { + d(n.select(this), e[0].trace, t); + }), + s.getComponentMethod("errorbars", "style")(e); + }, + styleTextPoints: v, + styleOnSelect: function (t, e, r) { + var i = e[0].trace; + i.selectedpoints + ? (function (t, e, r) { + a.selectedPointStyle(t.selectAll("path"), e), + (function (t, e, r) { + t.each(function (t) { + var i, + s = n.select(this); + if (t.selected) { + i = o.ensureUniformFontSize( + r, + g(s, t, e, r), + ); + var l = + e.selected.textfont && + e.selected.textfont.color; + l && (i.color = l), a.font(s, i); + } else a.selectedTextStyle(s, e); + }); + })(t.selectAll("text"), e, r); + })(r, i, t) + : (d(r, i, t), + s.getComponentMethod("errorbars", "style")(r)); + }, + getInsideTextFont: m, + getOutsideTextFont: x, + getBarColor: _, + resizeText: l, + }; + }, + 98340: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(52075).hasColorscale, + a = r(1586), + o = r(71828).coercePattern; + t.exports = function (t, e, r, s, l) { + var u = r("marker.color", s), + c = i(t, "marker"); + c && a(t, e, l, r, { prefix: "marker.", cLetter: "c" }), + r("marker.line.color", n.defaultLine), + i(t, "marker.line") && + a(t, e, l, r, { + prefix: "marker.line.", + cLetter: "c", + }), + r("marker.line.width"), + r("marker.opacity"), + o(r, "marker.pattern", u, c), + r("selected.marker.color"), + r("unselected.marker.color"); + }; + }, + 72597: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828); + function a(t) { + return "_" + t + "Text_minsize"; + } + t.exports = { + recordMinTextSize: function (t, e, r) { + if (r.uniformtext.mode) { + var n = a(t), + i = r.uniformtext.minsize, + o = e.scale * e.fontSize; + (e.hide = o < i), + (r[n] = r[n] || 1 / 0), + e.hide || (r[n] = Math.min(r[n], Math.max(o, i))); + } + }, + clearMinTextSize: function (t, e) { + e[a(t)] = void 0; + }, + resizeText: function (t, e, r) { + var a = t._fullLayout, + o = a["_" + r + "Text_minsize"]; + if (o) { + var s, + l = "hide" === a.uniformtext.mode; + switch (r) { + case "funnelarea": + case "pie": + case "sunburst": + s = "g.slice"; + break; + case "treemap": + case "icicle": + s = "g.slice, g.pathbar"; + break; + default: + s = "g.points > g.point"; + } + e.selectAll(s).each(function (t) { + var e = t.transform; + if (e) { + e.scale = l && e.hide ? 0 : o / e.fontSize; + var r = n.select(this).select("text"); + i.setTransormAndDisplay(r, e); + } + }); + } + }, + }; + }, + 55023: function (t, e, r) { + "use strict"; + var n = r(5386).fF, + i = r(1426).extendFlat, + a = r(81245), + o = r(1486); + t.exports = { + r: a.r, + theta: a.theta, + r0: a.r0, + dr: a.dr, + theta0: a.theta0, + dtheta: a.dtheta, + thetaunit: a.thetaunit, + base: i({}, o.base, {}), + offset: i({}, o.offset, {}), + width: i({}, o.width, {}), + text: i({}, o.text, {}), + hovertext: i({}, o.hovertext, {}), + marker: o.marker, + hoverinfo: a.hoverinfo, + hovertemplate: n(), + selected: o.selected, + unselected: o.unselected, + }; + }, + 74692: function (t, e, r) { + "use strict"; + var n = r(52075).hasColorscale, + i = r(78803), + a = r(75341), + o = r(11661).setGroupPositions, + s = r(66279), + l = r(73972).traceIs, + u = r(71828).extendFlat; + t.exports = { + calc: function (t, e) { + for ( + var r = t._fullLayout, + o = e.subplot, + l = r[o].radialaxis, + u = r[o].angularaxis, + c = l.makeCalcdata(e, "r"), + f = u.makeCalcdata(e, "theta"), + h = e._length, + p = new Array(h), + d = c, + v = f, + g = 0; + g < h; + g++ + ) + p[g] = { p: v[g], s: d[g] }; + function y(t) { + var r = e[t]; + void 0 !== r && + (e["_" + t] = Array.isArray(r) + ? u.makeCalcdata(e, t) + : u.d2c(r, e.thetaunit)); + } + return ( + "linear" === u.type && (y("width"), y("offset")), + n(e, "marker") && + i(t, e, { + vals: e.marker.color, + containerStr: "marker", + cLetter: "c", + }), + n(e, "marker.line") && + i(t, e, { + vals: e.marker.line.color, + containerStr: "marker.line", + cLetter: "c", + }), + a(p, e), + s(p, e), + p + ); + }, + crossTraceCalc: function (t, e, r) { + for ( + var n = t.calcdata, i = [], a = 0; + a < n.length; + a++ + ) { + var s = n[a], + c = s[0].trace; + !0 === c.visible && + l(c, "bar") && + c.subplot === r && + i.push(s); + } + var f = u({}, e.radialaxis, { _id: "x" }), + h = e.angularaxis; + o(t, h, f, i, { + mode: e.barmode, + norm: e.barnorm, + gap: e.bargap, + groupgap: e.bargroupgap, + }); + }, + }; + }, + 6135: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(22184).handleRThetaDefaults, + a = r(98340), + o = r(55023); + t.exports = function (t, e, r, s) { + function l(r, i) { + return n.coerce(t, e, o, r, i); + } + i(t, e, s, l) + ? (l("thetaunit"), + l("base"), + l("offset"), + l("width"), + l("text"), + l("hovertext"), + l("hovertemplate"), + a(t, e, l, r, s), + n.coerceSelectionMarkerOpacity(e, l)) + : (e.visible = !1); + }; + }, + 27379: function (t, e, r) { + "use strict"; + var n = r(30211), + i = r(71828), + a = r(95423).getTraceColor, + o = i.fillText, + s = r(59150).makeHoverPointText, + l = r(10869).isPtInsidePolygon; + t.exports = function (t, e, r) { + var u = t.cd, + c = u[0].trace, + f = t.subplot, + h = f.radialAxis, + p = f.angularAxis, + d = f.vangles, + v = d ? l : i.isPtInsideSector, + g = t.maxHoverDistance, + y = p._period || 2 * Math.PI, + m = Math.abs(h.g2p(Math.sqrt(e * e + r * r))), + x = Math.atan2(r, e); + if ( + (h.range[0] > h.range[1] && (x += Math.PI), + n.getClosest( + u, + function (t) { + return v( + m, + x, + [t.rp0, t.rp1], + [t.thetag0, t.thetag1], + d, + ) + ? g + + Math.min( + 1, + Math.abs(t.thetag1 - t.thetag0) / y, + ) - + 1 + + (t.rp1 - m) / (t.rp1 - t.rp0) - + 1 + : 1 / 0; + }, + t, + ), + !1 !== t.index) + ) { + var b = u[t.index]; + (t.x0 = t.x1 = b.ct[0]), (t.y0 = t.y1 = b.ct[1]); + var _ = i.extendFlat({}, b, { r: b.s, theta: b.p }); + return ( + o(b, c, t), + s(_, c, f, t), + (t.hovertemplate = c.hovertemplate), + (t.color = a(c, b)), + (t.xLabelVal = t.yLabelVal = void 0), + b.s < 0 && (t.idealAlign = "left"), + [t] + ); + } + }; + }, + 23381: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "barpolar", + basePlotModule: r(23580), + categories: ["polar", "bar", "showLegend"], + attributes: r(55023), + layoutAttributes: r(40151), + supplyDefaults: r(6135), + supplyLayoutDefaults: r(19860), + calc: r(74692).calc, + crossTraceCalc: r(74692).crossTraceCalc, + plot: r(60173), + colorbar: r(4898), + formatLabels: r(98608), + style: r(16688).style, + styleOnSelect: r(16688).styleOnSelect, + hoverPoints: r(27379), + selectPoints: r(81974), + meta: {}, + }; + }, + 40151: function (t) { + "use strict"; + t.exports = { + barmode: { + valType: "enumerated", + values: ["stack", "overlay"], + dflt: "stack", + editType: "calc", + }, + bargap: { + valType: "number", + dflt: 0.1, + min: 0, + max: 1, + editType: "calc", + }, + }; + }, + 19860: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(40151); + t.exports = function (t, e, r) { + var a, + o = {}; + function s(r, o) { + return n.coerce(t[a] || {}, e[a], i, r, o); + } + for (var l = 0; l < r.length; l++) { + var u = r[l]; + "barpolar" === u.type && + !0 === u.visible && + (o[(a = u.subplot)] || + (s("barmode"), s("bargap"), (o[a] = 1))); + } + }; + }, + 60173: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(92770), + a = r(71828), + o = r(91424), + s = r(10869); + t.exports = function (t, e, r) { + var l = t._context.staticPlot, + u = e.xaxis, + c = e.yaxis, + f = e.radialAxis, + h = e.angularAxis, + p = (function (t) { + var e = t.cxx, + r = t.cyy; + return t.vangles + ? function (n, i, o, l) { + var u, c; + a.angleDelta(o, l) > 0 + ? ((u = o), (c = l)) + : ((u = l), (c = o)); + var f = [ + s.findEnclosingVertexAngles( + u, + t.vangles, + )[0], + (u + c) / 2, + s.findEnclosingVertexAngles( + c, + t.vangles, + )[1], + ]; + return s.pathPolygonAnnulus( + n, + i, + u, + c, + f, + e, + r, + ); + } + : function (t, n, i, o) { + return a.pathAnnulus(t, n, i, o, e, r); + }; + })(e), + d = e.layers.frontplot.select("g.barlayer"); + a.makeTraceGroups(d, r, "trace bars").each(function () { + var r = n.select(this), + s = a + .ensureSingle(r, "g", "points") + .selectAll("g.point") + .data(a.identity); + s + .enter() + .append("g") + .style( + "vector-effect", + l ? "none" : "non-scaling-stroke", + ) + .style("stroke-miterlimit", 2) + .classed("point", !0), + s.exit().remove(), + s.each(function (t) { + var e, + r = n.select(this), + o = (t.rp0 = f.c2p(t.s0)), + s = (t.rp1 = f.c2p(t.s1)), + l = (t.thetag0 = h.c2g(t.p0)), + d = (t.thetag1 = h.c2g(t.p1)); + if ( + i(o) && + i(s) && + i(l) && + i(d) && + o !== s && + l !== d + ) { + var v = f.c2g(t.s1), + g = (l + d) / 2; + (t.ct = [ + u.c2p(v * Math.cos(g)), + c.c2p(v * Math.sin(g)), + ]), + (e = p(o, s, l, d)); + } else e = "M0,0Z"; + a.ensureSingle(r, "path").attr("d", e); + }), + o.setClipUrl( + r, + e._hasClipOnAxisFalse + ? e.clipIds.forTraces + : null, + t, + ); + }); + }; + }, + 53522: function (t, e, r) { + "use strict"; + var n = r(82196), + i = r(1486), + a = r(22399), + o = r(12663).axisHoverFormat, + s = r(5386).fF, + l = r(1426).extendFlat, + u = n.marker, + c = u.line; + t.exports = { + 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" }, + dx: { valType: "number", editType: "calc" }, + dy: { valType: "number", editType: "calc" }, + xperiod: n.xperiod, + yperiod: n.yperiod, + xperiod0: n.xperiod0, + yperiod0: n.yperiod0, + xperiodalignment: n.xperiodalignment, + yperiodalignment: n.yperiodalignment, + xhoverformat: o("x"), + yhoverformat: o("y"), + name: { + valType: "string", + editType: "calc+clearAxisTypes", + }, + q1: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + median: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + q3: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + lowerfence: { valType: "data_array", editType: "calc" }, + upperfence: { valType: "data_array", editType: "calc" }, + notched: { valType: "boolean", editType: "calc" }, + notchwidth: { + valType: "number", + min: 0, + max: 0.5, + dflt: 0.25, + editType: "calc", + }, + notchspan: { valType: "data_array", editType: "calc" }, + boxpoints: { + valType: "enumerated", + values: ["all", "outliers", "suspectedoutliers", !1], + editType: "calc", + }, + jitter: { + valType: "number", + min: 0, + max: 1, + editType: "calc", + }, + pointpos: { + valType: "number", + min: -2, + max: 2, + editType: "calc", + }, + sdmultiple: { + valType: "number", + min: 0, + editType: "calc", + dflt: 1, + }, + sizemode: { + valType: "enumerated", + values: ["quartiles", "sd"], + editType: "calc", + dflt: "quartiles", + }, + boxmean: { + valType: "enumerated", + values: [!0, "sd", !1], + editType: "calc", + }, + mean: { valType: "data_array", editType: "calc" }, + sd: { valType: "data_array", editType: "calc" }, + orientation: { + valType: "enumerated", + values: ["v", "h"], + editType: "calc+clearAxisTypes", + }, + quartilemethod: { + valType: "enumerated", + values: ["linear", "exclusive", "inclusive"], + dflt: "linear", + editType: "calc", + }, + width: { + valType: "number", + min: 0, + dflt: 0, + editType: "calc", + }, + marker: { + outliercolor: { + valType: "color", + dflt: "rgba(0, 0, 0, 0)", + editType: "style", + }, + symbol: l({}, u.symbol, { + arrayOk: !1, + editType: "plot", + }), + opacity: l({}, u.opacity, { + arrayOk: !1, + dflt: 1, + editType: "style", + }), + angle: l({}, u.angle, { + arrayOk: !1, + editType: "calc", + }), + size: l({}, u.size, { + arrayOk: !1, + editType: "calc", + }), + color: l({}, u.color, { + arrayOk: !1, + editType: "style", + }), + line: { + color: l({}, c.color, { + arrayOk: !1, + dflt: a.defaultLine, + editType: "style", + }), + width: l({}, c.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: n.fillcolor, + whiskerwidth: { + valType: "number", + min: 0, + max: 1, + dflt: 0.5, + editType: "calc", + }, + showwhiskers: { valType: "boolean", editType: "calc" }, + offsetgroup: i.offsetgroup, + alignmentgroup: i.alignmentgroup, + selected: { + marker: n.selected.marker, + editType: "style", + }, + unselected: { + marker: n.unselected.marker, + editType: "style", + }, + text: l({}, n.text, {}), + hovertext: l({}, n.hovertext, {}), + hovertemplate: s({}), + hoveron: { + valType: "flaglist", + flags: ["boxes", "points"], + dflt: "boxes+points", + editType: "style", + }, + }; + }, + 48518: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(89298), + a = r(42973), + o = r(71828), + s = r(50606).BADNUM, + l = o._; + t.exports = function (t, e) { + var r, + u, + m, + x, + b, + _, + w, + T = t._fullLayout, + k = i.getFromId(t, e.xaxis || "x"), + A = i.getFromId(t, e.yaxis || "y"), + M = [], + S = "violin" === e.type ? "_numViolins" : "_numBoxes"; + "h" === e.orientation + ? ((m = k), + (x = "x"), + (b = A), + (_ = "y"), + (w = !!e.yperiodalignment)) + : ((m = A), + (x = "y"), + (b = k), + (_ = "x"), + (w = !!e.xperiodalignment)); + var E, + L, + C, + O, + P, + I, + D = (function (t, e, r, i) { + var s, + l = e + "0" in t; + if (e in t || (l && "d" + e in t)) { + var u = r.makeCalcdata(t, e); + return [a(t, r, e, u).vals, u]; + } + s = l + ? t[e + "0"] + : "name" in t && + ("category" === r.type || + (n(t.name) && + -1 !== ["linear", "log"].indexOf(r.type)) || + (o.isDateTime(t.name) && "date" === r.type)) + ? t.name + : i; + for ( + var c = + "multicategory" === r.type + ? r.r2c_just_indices(s) + : r.d2c(s, 0, t[e + "calendar"]), + f = t._length, + h = new Array(f), + p = 0; + p < f; + p++ + ) + h[p] = c; + return [h]; + })(e, _, b, T[S]), + z = D[0], + R = D[1], + F = o.distinctVals(z, b), + B = F.vals, + N = F.minDiff / 2, + j = + "all" === (e.boxpoints || e.points) + ? o.identity + : function (t) { + return t.v < E.lf || t.v > E.uf; + }; + if (e._hasPreCompStats) { + var U = e[x], + V = function (t) { + return m.d2c((e[t] || [])[r]); + }, + H = 1 / 0, + q = -1 / 0; + for (r = 0; r < e._length; r++) { + var G = z[r]; + if (n(G)) { + if ( + (((E = {}).pos = E[_] = G), + w && R && (E.orig_p = R[r]), + (E.q1 = V("q1")), + (E.med = V("median")), + (E.q3 = V("q3")), + (L = []), + U && o.isArrayOrTypedArray(U[r])) + ) + for (u = 0; u < U[r].length; u++) + (I = m.d2c(U[r][u])) !== s && + (c((P = { v: I, i: [r, u] }), e, [r, u]), + L.push(P)); + if ( + ((E.pts = L.sort(f)), + (O = (C = E[x] = L.map(h)).length), + E.med !== s && + E.q1 !== s && + E.q3 !== s && + E.med >= E.q1 && + E.q3 >= E.med) + ) { + var Z = V("lowerfence"); + E.lf = Z !== s && Z <= E.q1 ? Z : p(E, C, O); + var W = V("upperfence"); + E.uf = W !== s && W >= E.q3 ? W : d(E, C, O); + var Y = V("mean"); + E.mean = + Y !== s + ? Y + : O + ? o.mean(C, O) + : (E.q1 + E.q3) / 2; + var X = V("sd"); + (E.sd = + Y !== s && X >= 0 + ? X + : O + ? o.stdev(C, O, E.mean) + : E.q3 - E.q1), + (E.lo = v(E)), + (E.uo = g(E)); + var J = V("notchspan"); + (J = J !== s && J > 0 ? J : y(E, O)), + (E.ln = E.med - J), + (E.un = E.med + J); + var K = E.lf, + $ = E.uf; + e.boxpoints && + C.length && + ((K = Math.min(K, C[0])), + ($ = Math.max($, C[O - 1]))), + e.notched && + ((K = Math.min(K, E.ln)), + ($ = Math.max($, E.un))), + (E.min = K), + (E.max = $); + } else { + var Q; + o.warn( + [ + "Invalid input - make sure that q1 <= median <= q3", + "q1 = " + E.q1, + "median = " + E.med, + "q3 = " + E.q3, + ].join("\n"), + ), + (Q = + E.med !== s + ? E.med + : E.q1 !== s + ? E.q3 !== s + ? (E.q1 + E.q3) / 2 + : E.q1 + : E.q3 !== s + ? E.q3 + : 0), + (E.med = Q), + (E.q1 = E.q3 = Q), + (E.lf = E.uf = Q), + (E.mean = E.sd = Q), + (E.ln = E.un = Q), + (E.min = E.max = Q); + } + (H = Math.min(H, E.min)), + (q = Math.max(q, E.max)), + (E.pts2 = L.filter(j)), + M.push(E); + } + } + e._extremes[m._id] = i.findExtremes(m, [H, q], { + padded: !0, + }); + } else { + var tt = m.makeCalcdata(e, x), + et = (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; + })(B, N), + rt = B.length, + nt = (function (t) { + for (var e = new Array(t), r = 0; r < t; r++) + e[r] = []; + return e; + })(rt); + for (r = 0; r < e._length; r++) + if (((I = tt[r]), n(I))) { + var it = o.findBin(z[r], et); + it >= 0 && + it < rt && + (c((P = { v: I, i: r }), e, r), nt[it].push(P)); + } + var at = 1 / 0, + ot = -1 / 0, + st = e.quartilemethod, + lt = "exclusive" === st, + ut = "inclusive" === st; + for (r = 0; r < rt; r++) + if (nt[r].length > 0) { + var ct, ft; + ((E = {}).pos = E[_] = B[r]), + (L = E.pts = nt[r].sort(f)), + (O = (C = E[x] = L.map(h)).length), + (E.min = C[0]), + (E.max = C[O - 1]), + (E.mean = o.mean(C, O)), + (E.sd = o.stdev(C, O, E.mean) * e.sdmultiple), + (E.med = o.interp(C, 0.5)), + O % 2 && (lt || ut) + ? (lt + ? ((ct = C.slice(0, O / 2)), + (ft = C.slice(O / 2 + 1))) + : ut && + ((ct = C.slice(0, O / 2 + 1)), + (ft = C.slice(O / 2))), + (E.q1 = o.interp(ct, 0.5)), + (E.q3 = o.interp(ft, 0.5))) + : ((E.q1 = o.interp(C, 0.25)), + (E.q3 = o.interp(C, 0.75))), + (E.lf = p(E, C, O)), + (E.uf = d(E, C, O)), + (E.lo = v(E)), + (E.uo = g(E)); + var ht = y(E, O); + (E.ln = E.med - ht), + (E.un = E.med + ht), + (at = Math.min(at, E.ln)), + (ot = Math.max(ot, E.un)), + (E.pts2 = L.filter(j)), + M.push(E); + } + e._extremes[m._id] = i.findExtremes( + m, + e.notched ? tt.concat([at, ot]) : tt, + { padded: !0 }, + ); + } + return ( + (function (t, e) { + if (o.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; + o.tagSelected(n, e, i); + } + })(M, e), + M.length > 0 + ? ((M[0].t = { + num: T[S], + dPos: N, + posLetter: _, + valLetter: x, + labels: { + med: l(t, "median:"), + min: l(t, "min:"), + q1: l(t, "q1:"), + q3: l(t, "q3:"), + max: l(t, "max:"), + mean: + "sd" === e.boxmean || "sd" === e.sizemode + ? l(t, "mean ± σ:").replace( + "σ", + 1 === e.sdmultiple + ? "σ" + : e.sdmultiple + "σ", + ) + : l(t, "mean:"), + lf: l(t, "lower fence:"), + uf: l(t, "upper fence:"), + }, + }), + T[S]++, + M) + : [{ t: { empty: !0 } }] + ); + }; + var u = { text: "tx", hovertext: "htx" }; + function c(t, e, r) { + for (var n in u) + o.isArrayOrTypedArray(e[n]) && + (Array.isArray(r) + ? o.isArrayOrTypedArray(e[n][r[0]]) && + (t[u[n]] = e[n][r[0]][r[1]]) + : (t[u[n]] = e[n][r])); + } + function f(t, e) { + return t.v - e.v; + } + function h(t) { + return t.v; + } + function p(t, e, r) { + return 0 === r + ? t.q1 + : Math.min( + t.q1, + e[ + Math.min( + o.findBin(2.5 * t.q1 - 1.5 * t.q3, e, !0) + 1, + r - 1, + ) + ], + ); + } + function d(t, e, r) { + return 0 === r + ? t.q3 + : Math.max( + t.q3, + e[ + Math.max( + o.findBin(2.5 * t.q3 - 1.5 * t.q1, e), + 0, + ) + ], + ); + } + function v(t) { + return 4 * t.q1 - 3 * t.q3; + } + function g(t) { + return 4 * t.q3 - 3 * t.q1; + } + function y(t, e) { + return 0 === e + ? 0 + : (1.57 * (t.q3 - t.q1)) / Math.sqrt(e); + } + }, + 37188: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(71828), + a = r(99082).getAxisGroup, + o = ["v", "h"]; + function s(t, e, r, o) { + var s, + l, + u, + c = e.calcdata, + f = e._fullLayout, + h = o._id, + p = h.charAt(0), + d = [], + v = 0; + for (s = 0; s < r.length; s++) + for (u = c[r[s]], l = 0; l < u.length; l++) + d.push(o.c2l(u[l].pos, !0)), + (v += (u[l].pts2 || []).length); + if (d.length) { + var g = i.distinctVals(d); + ("category" !== o.type && + "multicategory" !== o.type) || + (g.minDiff = 1); + var y = g.minDiff / 2; + n.minDtick(o, g.minDiff, g.vals[0], !0); + var m = + f["violin" === t ? "_numViolins" : "_numBoxes"], + x = "group" === f[t + "mode"] && m > 1, + b = 1 - f[t + "gap"], + _ = 1 - f[t + "groupgap"]; + for (s = 0; s < r.length; s++) { + var w, + T, + k, + A, + M, + S, + E = (u = c[r[s]])[0].trace, + L = u[0].t, + C = E.width, + O = E.side; + if (C) (w = T = A = C / 2), (k = 0); + else if (((w = y), x)) { + var P = a(f, o._id) + E.orientation, + I = + (f._alignmentOpts[P] || {})[ + E.alignmentgroup + ] || {}, + D = Object.keys(I.offsetGroups || {}).length, + z = D || m; + (T = (w * b * _) / z), + (k = + 2 * + w * + (((D ? E._offsetIndex : L.num) + 0.5) / z - + 0.5) * + b), + (A = (w * b) / z); + } else (T = w * b * _), (k = 0), (A = w); + (L.dPos = w), + (L.bPos = k), + (L.bdPos = T), + (L.wHover = A); + var R, + F, + B, + N, + j, + U, + V = k + T, + H = Boolean(C); + if ( + ("positive" === O + ? ((M = w * (C ? 1 : 0.5)), + (R = V), + (S = R = k)) + : "negative" === O + ? ((M = R = k), + (S = w * (C ? 1 : 0.5)), + (F = V)) + : ((M = S = w), (R = F = V)), + (E.boxpoints || E.points) && v > 0) + ) { + var q = E.pointpos, + G = E.jitter, + Z = E.marker.size / 2, + W = 0; + q + G >= 0 && + ((W = V * (q + G)) > M + ? ((H = !0), (j = Z), (B = W)) + : W > R && ((j = Z), (B = M))), + W <= M && (B = M); + var Y = 0; + q - G <= 0 && + ((Y = -V * (q - G)) > S + ? ((H = !0), (U = Z), (N = Y)) + : Y > F && ((U = Z), (N = S))), + Y <= S && (N = S); + } else (B = M), (N = S); + var X = new Array(u.length); + for (l = 0; l < u.length; l++) X[l] = u[l].pos; + E._extremes[h] = n.findExtremes(o, X, { + padded: H, + vpadminus: N, + vpadplus: B, + vpadLinearized: !0, + ppadminus: { x: U, y: j }[p], + ppadplus: { x: j, y: U }[p], + }); + } + } + } + t.exports = { + crossTraceCalc: function (t, e) { + for ( + var r = t.calcdata, n = e.xaxis, i = e.yaxis, a = 0; + a < o.length; + a++ + ) { + for ( + var l = o[a], + u = "h" === l ? i : n, + c = [], + f = 0; + f < r.length; + f++ + ) { + var h = r[f], + p = h[0].t, + d = h[0].trace; + !0 !== d.visible || + ("box" !== d.type && + "candlestick" !== d.type) || + p.empty || + (d.orientation || "v") !== l || + d.xaxis !== n._id || + d.yaxis !== i._id || + c.push(f); + } + s("box", t, c, u); + } + }, + setPositionOffset: s, + }; + }, + 36411: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(73972), + a = r(7901), + o = r(73927), + s = r(26125), + l = r(4322), + u = r(53522); + function c(t, e, r, a) { + function o(t) { + var e = 0; + return ( + t && + t.length && + ((e += 1), + n.isArrayOrTypedArray(t[0]) && + t[0].length && + (e += 1)), + e + ); + } + function s(e) { + return n.validate(t[e], u[e]); + } + var c, + f = r("y"), + h = r("x"); + if ("box" === e.type) { + var p = r("q1"), + d = r("median"), + v = r("q3"); + (e._hasPreCompStats = + p && p.length && d && d.length && v && v.length), + (c = Math.min( + n.minRowLength(p), + n.minRowLength(d), + n.minRowLength(v), + )); + } + var g, + y, + m = o(f), + x = o(h), + b = m && n.minRowLength(f), + _ = x && n.minRowLength(h), + w = a.calendar, + T = { autotypenumbers: a.autotypenumbers }; + if (e._hasPreCompStats) + switch (String(x) + String(m)) { + case "00": + var k = s("x0") || s("dx"); + (g = (!s("y0") && !s("dy")) || k ? "v" : "h"), + (y = c); + break; + case "10": + (g = "v"), (y = Math.min(c, _)); + break; + case "20": + (g = "h"), (y = Math.min(c, h.length)); + break; + case "01": + (g = "h"), (y = Math.min(c, b)); + break; + case "02": + (g = "v"), (y = Math.min(c, f.length)); + break; + case "12": + (g = "v"), (y = Math.min(c, _, f.length)); + break; + case "21": + (g = "h"), (y = Math.min(c, h.length, b)); + break; + case "11": + y = 0; + break; + case "22": + var A, + M = !1; + for (A = 0; A < h.length; A++) + if ("category" === l(h[A], w, T)) { + M = !0; + break; + } + if (M) (g = "v"), (y = Math.min(c, _, f.length)); + else { + for (A = 0; A < f.length; A++) + if ("category" === l(f[A], w, T)) { + M = !0; + break; + } + M + ? ((g = "h"), (y = Math.min(c, h.length, b))) + : ((g = "v"), (y = Math.min(c, _, f.length))); + } + } + else + m > 0 + ? ((g = "v"), + (y = x > 0 ? Math.min(_, b) : Math.min(b))) + : x > 0 + ? ((g = "h"), (y = Math.min(_))) + : (y = 0); + if (y) { + e._length = y; + var S = r("orientation", g); + e._hasPreCompStats + ? "v" === S && 0 === x + ? (r("x0", 0), r("dx", 1)) + : "h" === S && 0 === m && (r("y0", 0), r("dy", 1)) + : "v" === S && 0 === x + ? r("x0") + : "h" === S && 0 === m && r("y0"), + i.getComponentMethod( + "calendars", + "handleTraceDefaults", + )(t, e, ["x", "y"], a); + } else e.visible = !1; + } + function f(t, e, r, i) { + var a = i.prefix, + o = n.coerce2(t, e, u, "marker.outliercolor"), + s = r("marker.line.outliercolor"), + l = "outliers"; + e._hasPreCompStats + ? (l = "all") + : (o || s) && (l = "suspectedoutliers"); + var c = r(a + "points", l); + c + ? (r("jitter", "all" === c ? 0.3 : 0), + r("pointpos", "all" === c ? -1.5 : 0), + r("marker.symbol"), + r("marker.opacity"), + r("marker.size"), + r("marker.angle"), + r("marker.color", e.line.color), + r("marker.line.color"), + r("marker.line.width"), + "suspectedoutliers" === c && + (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"), + r("hovertext")) + : delete e.marker; + var f = r("hoveron"); + ("all" !== f && -1 === f.indexOf("points")) || + r("hovertemplate"), + n.coerceSelectionMarkerOpacity(e, r); + } + t.exports = { + supplyDefaults: function (t, e, r, i) { + function s(r, i) { + return n.coerce(t, e, u, r, i); + } + if ((c(t, e, s, i), !1 !== e.visible)) { + o(t, e, i, s), s("xhoverformat"), s("yhoverformat"); + var l = e._hasPreCompStats; + l && (s("lowerfence"), s("upperfence")), + s("line.color", (t.marker || {}).color || r), + s("line.width"), + s("fillcolor", a.addOpacity(e.line.color, 0.5)); + var h = !1; + if (l) { + var p = s("mean"), + d = s("sd"); + p && + p.length && + ((h = !0), d && d.length && (h = "sd")); + } + s("whiskerwidth"); + var v, + g = s("sizemode"); + "quartiles" === g && (v = s("boxmean", h)), + s("showwhiskers", "quartiles" === g), + ("sd" !== g && "sd" !== v) || s("sdmultiple"), + s("width"), + s("quartilemethod"); + var y = !1; + if (l) { + var m = s("notchspan"); + m && m.length && (y = !0); + } else + n.validate(t.notchwidth, u.notchwidth) && + (y = !0); + s("notched", y) && s("notchwidth"), + f(t, e, s, { prefix: "box" }); + } + }, + crossTraceDefaults: function (t, e) { + var r, i; + function a(t) { + return n.coerce(i._input, i, u, t); + } + for (var o = 0; o < t.length; o++) { + var l = (i = t[o]).type; + ("box" !== l && "violin" !== l) || + ((r = i._input), + "group" === e[l + "mode"] && s(r, i, e, a)); + } + }, + handleSampleDefaults: c, + handlePointsDefaults: f, + }; + }, + 74907: function (t) { + "use strict"; + t.exports = function (t, e) { + return ( + e.hoverOnBox && (t.hoverOnBox = e.hoverOnBox), + "xVal" in e && (t.x = e.xVal), + "yVal" in e && (t.y = e.yVal), + e.xa && (t.xaxis = e.xa), + e.ya && (t.yaxis = e.ya), + t + ); + }; + }, + 41868: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(71828), + a = r(30211), + o = r(7901), + s = i.fillText; + function l(t, e, r, s) { + var l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + w = t.cd, + T = t.xa, + k = t.ya, + A = w[0].trace, + M = w[0].t, + S = "violin" === A.type, + E = M.bdPos, + L = M.wHover, + C = function (t) { + return c.c2l(t.pos) + M.bPos - c.c2l(p); + }; + S && "both" !== A.side + ? ("positive" === A.side && + ((g = function (t) { + var e = C(t); + return a.inbox(e, e + L, y); + }), + (x = E), + (b = 0)), + "negative" === A.side && + ((g = function (t) { + var e = C(t); + return a.inbox(e - L, e, y); + }), + (x = 0), + (b = E))) + : ((g = function (t) { + var e = C(t); + return a.inbox(e - L, e + L, y); + }), + (x = b = E)), + (_ = S + ? function (t) { + return a.inbox(t.span[0] - h, t.span[1] - h, y); + } + : function (t) { + return a.inbox(t.min - h, t.max - h, y); + }), + "h" === A.orientation + ? ((h = e), + (p = r), + (d = _), + (v = g), + (l = "y"), + (c = k), + (u = "x"), + (f = T)) + : ((h = r), + (p = e), + (d = g), + (v = _), + (l = "x"), + (c = T), + (u = "y"), + (f = k)); + var O = Math.min( + 1, + E / Math.abs(c.r2c(c.range[1]) - c.r2c(c.range[0])), + ); + function P(t) { + return (d(t) + v(t)) / 2; + } + (y = t.maxHoverDistance - O), + (m = t.maxSpikeDistance - O); + var I = a.getDistanceFunction(s, d, v, P); + if ((a.getClosest(w, I, t), !1 === t.index)) return []; + var D = w[t.index], + z = A.line.color, + R = (A.marker || {}).color; + o.opacity(z) && A.line.width + ? (t.color = z) + : o.opacity(R) && A.boxpoints + ? (t.color = R) + : (t.color = A.fillcolor), + (t[l + "0"] = c.c2p(D.pos + M.bPos - b, !0)), + (t[l + "1"] = c.c2p(D.pos + M.bPos + x, !0)), + (t[l + "LabelVal"] = + void 0 !== D.orig_p ? D.orig_p : D.pos); + var F = l + "Spike"; + (t.spikeDistance = (P(D) * m) / y), + (t[F] = c.c2p(D.pos, !0)); + var B = + A.boxmean || + "sd" === A.sizemode || + (A.meanline || {}).visible, + N = A.boxpoints || A.points, + j = + N && B + ? [ + "max", + "uf", + "q3", + "med", + "mean", + "q1", + "lf", + "min", + ] + : N && !B + ? ["max", "uf", "q3", "med", "q1", "lf", "min"] + : !N && B + ? ["max", "q3", "med", "mean", "q1", "min"] + : ["max", "q3", "med", "q1", "min"], + U = f.range[1] < f.range[0]; + A.orientation === (U ? "v" : "h") && j.reverse(); + for ( + var V = t.spikeDistance, H = t[F], q = [], G = 0; + G < j.length; + G++ + ) { + var Z = j[G]; + if (Z in D) { + var W = D[Z], + Y = f.c2p(W, !0), + X = i.extendFlat({}, t); + (X.attr = Z), + (X[u + "0"] = X[u + "1"] = Y), + (X[u + "LabelVal"] = W), + (X[u + "Label"] = + (M.labels ? M.labels[Z] + " " : "") + + n.hoverLabelText(f, W, A[u + "hoverformat"])), + (X.hoverOnBox = !0), + "mean" !== Z || + !("sd" in D) || + ("sd" !== A.boxmean && "sd" !== A.sizemode) || + (X[u + "err"] = D.sd), + (X.hovertemplate = !1), + q.push(X); + } + } + (t.name = ""), + (t.spikeDistance = void 0), + (t[F] = void 0); + for (var J = 0; J < q.length; J++) + "med" !== q[J].attr + ? ((q[J].name = ""), + (q[J].spikeDistance = void 0), + (q[J][F] = void 0)) + : ((q[J].spikeDistance = V), (q[J][F] = H)); + return q; + } + function u(t, e, r) { + for ( + var n, + o, + l, + u = t.cd, + c = t.xa, + f = t.ya, + h = u[0].trace, + p = c.c2p(e), + d = f.c2p(r), + v = a.quadrature( + function (t) { + var e = Math.max(3, t.mrc || 0); + return Math.max( + Math.abs(c.c2p(t.x) - p) - e, + 1 - 3 / e, + ); + }, + function (t) { + var e = Math.max(3, t.mrc || 0); + return Math.max( + Math.abs(f.c2p(t.y) - d) - e, + 1 - 3 / e, + ); + }, + ), + g = !1, + y = 0; + y < u.length; + y++ + ) { + o = u[y]; + for (var m = 0; m < (o.pts || []).length; m++) { + var x = v((l = o.pts[m])); + x <= t.distance && ((t.distance = x), (g = [y, m])); + } + } + if (!g) return !1; + l = (o = u[g[0]]).pts[g[1]]; + var b = c.c2p(l.x, !0), + _ = f.c2p(l.y, !0), + w = l.mrc || 1; + n = i.extendFlat({}, t, { + index: l.i, + color: (h.marker || {}).color, + name: h.name, + x0: b - w, + x1: b + w, + y0: _ - w, + y1: _ + w, + spikeDistance: t.distance, + hovertemplate: h.hovertemplate, + }); + var T, + k = o.orig_p, + A = void 0 !== k ? k : o.pos; + return ( + "h" === h.orientation + ? ((T = f), (n.xLabelVal = l.x), (n.yLabelVal = A)) + : ((T = c), (n.xLabelVal = A), (n.yLabelVal = l.y)), + (n[T._id.charAt(0) + "Spike"] = T.c2p(o.pos, !0)), + s(l, h, n), + n + ); + } + t.exports = { + hoverPoints: function (t, e, r, n) { + var i, + a = t.cd[0].trace.hoveron, + o = []; + return ( + -1 !== a.indexOf("boxes") && + (o = o.concat(l(t, e, r, n))), + -1 !== a.indexOf("points") && (i = u(t, e, r)), + "closest" === n + ? i + ? [i] + : o + : i + ? (o.push(i), o) + : o + ); + }, + hoverOnBoxes: l, + hoverOnPoints: u, + }; + }, + 83832: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(53522), + layoutAttributes: r(40094), + supplyDefaults: r(36411).supplyDefaults, + crossTraceDefaults: r(36411).crossTraceDefaults, + supplyLayoutDefaults: r(4199).supplyLayoutDefaults, + calc: r(48518), + crossTraceCalc: r(37188).crossTraceCalc, + plot: r(86047).plot, + style: r(58063).style, + styleOnSelect: r(58063).styleOnSelect, + hoverPoints: r(41868).hoverPoints, + eventData: r(74907), + selectPoints: r(24626), + moduleType: "trace", + name: "box", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "symbols", + "oriented", + "box-violin", + "showLegend", + "boxLayout", + "zoomScale", + ], + meta: {}, + }; + }, + 40094: function (t) { + "use strict"; + t.exports = { + boxmode: { + valType: "enumerated", + values: ["group", "overlay"], + dflt: "overlay", + editType: "calc", + }, + boxgap: { + valType: "number", + min: 0, + max: 1, + dflt: 0.3, + editType: "calc", + }, + boxgroupgap: { + valType: "number", + min: 0, + max: 1, + dflt: 0.3, + editType: "calc", + }, + }; + }, + 4199: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(40094); + function o(t, e, r, i, a) { + for ( + var o = a + "Layout", s = !1, l = 0; + l < r.length; + l++ + ) { + var u = r[l]; + if (n.traceIs(u, o)) { + s = !0; + break; + } + } + s && (i(a + "mode"), i(a + "gap"), i(a + "groupgap")); + } + t.exports = { + supplyLayoutDefaults: function (t, e, r) { + o( + 0, + 0, + r, + function (r, n) { + return i.coerce(t, e, a, r, n); + }, + "box", + ); + }, + _supply: o, + }; + }, + 86047: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(91424); + function o(t, e, r, a, o) { + var s, + l, + u = "h" === r.orientation, + c = e.val, + f = e.pos, + h = !!f.rangebreaks, + p = a.bPos, + d = a.wdPos || 0, + v = a.bPosPxOffset || 0, + g = r.whiskerwidth || 0, + y = !1 !== r.showwhiskers, + m = r.notched || !1, + x = m ? 1 - 2 * r.notchwidth : 1; + Array.isArray(a.bdPos) + ? ((s = a.bdPos[0]), (l = a.bdPos[1])) + : ((s = a.bdPos), (l = a.bdPos)); + var b = t + .selectAll("path.box") + .data( + "violin" !== r.type || r.box.visible + ? i.identity + : [], + ); + b + .enter() + .append("path") + .style( + "vector-effect", + o ? "none" : "non-scaling-stroke", + ) + .attr("class", "box"), + b.exit().remove(), + b.each(function (t) { + if (t.empty) return "M0,0Z"; + var e = f.c2l(t.pos + p, !0), + a = f.l2p(e - s) + v, + o = f.l2p(e + l) + v, + b = h ? (a + o) / 2 : f.l2p(e) + v, + _ = r.whiskerwidth, + w = h ? a * _ + (1 - _) * b : f.l2p(e - d) + v, + T = h ? o * _ + (1 - _) * b : f.l2p(e + d) + v, + k = f.l2p(e - s * x) + v, + A = f.l2p(e + l * x) + v, + M = "sd" === r.sizemode, + S = c.c2p(M ? t.mean - t.sd : t.q1, !0), + E = M + ? c.c2p(t.mean + t.sd, !0) + : c.c2p(t.q3, !0), + L = i.constrain( + M ? c.c2p(t.mean, !0) : c.c2p(t.med, !0), + Math.min(S, E) + 1, + Math.max(S, E) - 1, + ), + C = void 0 === t.lf || !1 === r.boxpoints || M, + O = c.c2p(C ? t.min : t.lf, !0), + P = c.c2p(C ? t.max : t.uf, !0), + I = c.c2p(t.ln, !0), + D = c.c2p(t.un, !0); + u + ? n + .select(this) + .attr( + "d", + "M" + + L + + "," + + k + + "V" + + A + + "M" + + S + + "," + + a + + "V" + + o + + (m + ? "H" + + I + + "L" + + L + + "," + + A + + "L" + + D + + "," + + o + : "") + + "H" + + E + + "V" + + a + + (m + ? "H" + + D + + "L" + + L + + "," + + k + + "L" + + I + + "," + + a + : "") + + "Z" + + (y + ? "M" + + S + + "," + + b + + "H" + + O + + "M" + + E + + "," + + b + + "H" + + P + + (0 === g + ? "" + : "M" + + O + + "," + + w + + "V" + + T + + "M" + + P + + "," + + w + + "V" + + T) + : ""), + ) + : n + .select(this) + .attr( + "d", + "M" + + k + + "," + + L + + "H" + + A + + "M" + + a + + "," + + S + + "H" + + o + + (m + ? "V" + + I + + "L" + + A + + "," + + L + + "L" + + o + + "," + + D + : "") + + "V" + + E + + "H" + + a + + (m + ? "V" + + D + + "L" + + k + + "," + + L + + "L" + + a + + "," + + I + : "") + + "Z" + + (y + ? "M" + + b + + "," + + S + + "V" + + O + + "M" + + b + + "," + + E + + "V" + + P + + (0 === g + ? "" + : "M" + + w + + "," + + O + + "H" + + T + + "M" + + w + + "," + + P + + "H" + + T) + : ""), + ); + }); + } + function s(t, e, r, n) { + var o = e.x, + s = e.y, + l = n.bdPos, + u = n.bPos, + c = r.boxpoints || r.points; + i.seedPseudoRandom(); + var f = t.selectAll("g.points").data( + c + ? function (t) { + return ( + t.forEach(function (t) { + (t.t = n), (t.trace = r); + }), + t + ); + } + : [], + ); + f.enter().append("g").attr("class", "points"), + f.exit().remove(); + var h = f.selectAll("path").data(function (t) { + var e, + n, + a = t.pts2, + o = Math.max((t.max - t.min) / 10, t.q3 - t.q1), + s = 1e-9 * o, + f = 0.01 * o, + h = [], + p = 0; + if (r.jitter) { + if (0 === o) + for ( + p = 1, h = new Array(a.length), e = 0; + e < a.length; + e++ + ) + h[e] = 1; + else + for (e = 0; e < a.length; e++) { + var d = Math.max(0, e - 5), + v = a[d].v, + g = Math.min(a.length - 1, e + 5), + y = a[g].v; + "all" !== c && + (a[e].v < t.lf + ? (y = Math.min(y, t.lf)) + : (v = Math.max(v, t.uf))); + var m = + Math.sqrt((f * (g - d)) / (y - v + s)) || 0; + (m = i.constrain(Math.abs(m), 0, 1)), + h.push(m), + (p = Math.max(m, p)); + } + n = (2 * r.jitter) / (p || 1); + } + for (e = 0; e < a.length; e++) { + var x = a[e], + b = x.v, + _ = r.jitter + ? n * h[e] * (i.pseudoRandom() - 0.5) + : 0, + w = t.pos + u + l * (r.pointpos + _); + "h" === r.orientation + ? ((x.y = w), (x.x = b)) + : ((x.x = w), (x.y = b)), + "suspectedoutliers" === c && + b < t.uo && + b > t.lo && + (x.so = !0); + } + return a; + }); + h.enter().append("path").classed("point", !0), + h.exit().remove(), + h.call(a.translatePoints, o, s); + } + function l(t, e, r, a) { + var o, + s, + l = e.val, + u = e.pos, + c = !!u.rangebreaks, + f = a.bPos, + h = a.bPosPxOffset || 0, + p = r.boxmean || (r.meanline || {}).visible; + Array.isArray(a.bdPos) + ? ((o = a.bdPos[0]), (s = a.bdPos[1])) + : ((o = a.bdPos), (s = a.bdPos)); + var d = t + .selectAll("path.mean") + .data( + ("box" === r.type && r.boxmean) || + ("violin" === r.type && + r.box.visible && + r.meanline.visible) + ? i.identity + : [], + ); + d + .enter() + .append("path") + .attr("class", "mean") + .style({ + fill: "none", + "vector-effect": "non-scaling-stroke", + }), + d.exit().remove(), + d.each(function (t) { + var e = u.c2l(t.pos + f, !0), + i = u.l2p(e - o) + h, + a = u.l2p(e + s) + h, + d = c ? (i + a) / 2 : u.l2p(e) + h, + v = l.c2p(t.mean, !0), + g = l.c2p(t.mean - t.sd, !0), + y = l.c2p(t.mean + t.sd, !0); + "h" === r.orientation + ? n + .select(this) + .attr( + "d", + "M" + + v + + "," + + i + + "V" + + a + + ("sd" === p + ? "m0,0L" + + g + + "," + + d + + "L" + + v + + "," + + i + + "L" + + y + + "," + + d + + "Z" + : ""), + ) + : n + .select(this) + .attr( + "d", + "M" + + i + + "," + + v + + "H" + + a + + ("sd" === p + ? "m0,0L" + + d + + "," + + g + + "L" + + i + + "," + + v + + "L" + + d + + "," + + y + + "Z" + : ""), + ); + }); + } + t.exports = { + plot: function (t, e, r, a) { + var u = t._context.staticPlot, + c = e.xaxis, + f = e.yaxis; + i.makeTraceGroups(a, r, "trace boxes").each( + function (t) { + var e, + r, + i = n.select(this), + a = t[0], + h = a.t, + p = a.trace; + (h.wdPos = h.bdPos * p.whiskerwidth), + !0 !== p.visible || h.empty + ? i.remove() + : ("h" === p.orientation + ? ((e = f), (r = c)) + : ((e = c), (r = f)), + o(i, { pos: e, val: r }, p, h, u), + s(i, { x: c, y: f }, p, h), + l(i, { pos: e, val: r }, p, h)); + }, + ); + }, + plotBoxAndWhiskers: o, + plotPoints: s, + plotBoxMean: l, + }; + }, + 24626: function (t) { + "use strict"; + t.exports = 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], null, l.i, t) + ? (s.push({ + pointNumber: l.i, + x: a.c2d(l.x), + y: o.c2d(l.y), + }), + (l.selected = 1)) + : (l.selected = 0); + } + return s; + }; + }, + 58063: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(7901), + a = r(91424); + t.exports = { + style: function (t, e, r) { + var o = r || n.select(t).selectAll("g.trace.boxes"); + o.style("opacity", function (t) { + return t[0].trace.opacity; + }), + o.each(function (e) { + var r = n.select(this), + o = e[0].trace, + s = o.line.width; + function l(t, e, r, n) { + t.style("stroke-width", e + "px") + .call(i.stroke, r) + .call(i.fill, n); + } + var u = r.selectAll("path.box"); + if ("candlestick" === o.type) + u.each(function (t) { + if (!t.empty) { + var e = n.select(this), + r = o[t.dir]; + l( + e, + r.line.width, + r.line.color, + r.fillcolor, + ), + e.style( + "opacity", + o.selectedpoints && !t.selected + ? 0.3 + : 1, + ); + } + }); + else { + l(u, s, o.line.color, o.fillcolor), + r + .selectAll("path.mean") + .style({ + "stroke-width": s, + "stroke-dasharray": + 2 * s + "px," + s + "px", + }) + .call(i.stroke, o.line.color); + var c = r.selectAll("path.point"); + a.pointStyle(c, o, t); + } + }); + }, + styleOnSelect: function (t, e, r) { + var n = e[0].trace, + i = r.selectAll("path.point"); + n.selectedpoints + ? a.selectedPointStyle(i, n) + : a.pointStyle(i, n, t); + }, + }; + }, + 75343: function (t, e, r) { + "use strict"; + var n = r(71828).extendFlat, + i = r(12663).axisHoverFormat, + a = r(2522), + o = r(53522); + function s(t) { + return { + line: { + color: n({}, o.line.color, { dflt: t }), + width: o.line.width, + editType: "style", + }, + fillcolor: o.fillcolor, + editType: "style", + }; + } + t.exports = { + xperiod: a.xperiod, + xperiod0: a.xperiod0, + xperiodalignment: a.xperiodalignment, + xhoverformat: i("x"), + yhoverformat: i("y"), + x: a.x, + open: a.open, + high: a.high, + low: a.low, + close: a.close, + line: { + width: n({}, o.line.width, {}), + editType: "style", + }, + increasing: s(a.increasing.line.color.dflt), + decreasing: s(a.decreasing.line.color.dflt), + text: a.text, + hovertext: a.hovertext, + whiskerwidth: n({}, o.whiskerwidth, { dflt: 0 }), + hoverlabel: a.hoverlabel, + }; + }, + 41197: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(42973), + o = r(3485).calcCommon; + function s(t, e, r, n) { + return { + min: r, + q1: Math.min(t, n), + med: n, + q3: Math.max(t, n), + max: e, + }; + } + t.exports = function (t, e) { + var r = t._fullLayout, + l = i.getFromId(t, e.xaxis), + u = i.getFromId(t, e.yaxis), + c = l.makeCalcdata(e, "x"), + f = a(e, l, "x", c).vals, + h = o(t, e, c, f, u, s); + return h.length + ? (n.extendFlat(h[0].t, { + num: r._numBoxes, + dPos: n.distinctVals(f).minDiff / 2, + posLetter: "x", + valLetter: "y", + }), + r._numBoxes++, + h) + : [{ t: { empty: !0 } }]; + }; + }, + 1026: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(14555), + o = r(73927), + s = r(75343); + function l(t, e, r, n) { + var a = r(n + ".line.color"); + r(n + ".line.width", e.line.width), + r(n + ".fillcolor", i.addOpacity(a, 0.5)); + } + t.exports = function (t, e, r, i) { + function u(r, i) { + return n.coerce(t, e, s, r, i); + } + a(t, e, u, i) + ? (o(t, e, i, u, { x: !0 }), + u("xhoverformat"), + u("yhoverformat"), + u("line.width"), + l(0, e, u, "increasing"), + l(0, e, u, "decreasing"), + u("text"), + u("hovertext"), + u("whiskerwidth"), + (i._requestRangeslider[e.xaxis] = !0)) + : (e.visible = !1); + }; + }, + 91815: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "candlestick", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "showLegend", + "candlestick", + "boxLayout", + ], + meta: {}, + attributes: r(75343), + layoutAttributes: r(40094), + supplyLayoutDefaults: r(4199).supplyLayoutDefaults, + crossTraceCalc: r(37188).crossTraceCalc, + supplyDefaults: r(1026), + calc: r(41197), + plot: r(86047).plot, + layerName: "boxlayer", + style: r(58063).style, + hoverPoints: r(66449).hoverPoints, + selectPoints: r(67324), + }; + }, + 13145: function (t, e, r) { + "use strict"; + var n = r(11500), + i = r(44467); + t.exports = function (t, e, r, a, o) { + a("a") || (a("da"), a("a0")), + a("b") || (a("db"), a("b0")), + (function (t, e, r, a) { + ["aaxis", "baxis"].forEach(function (o) { + var s = o.charAt(0), + l = t[o] || {}, + u = i.newContainer(e, o), + c = { + noTicklabelstep: !0, + tickfont: "x", + id: s + "axis", + letter: s, + font: e.font, + name: o, + data: t[s], + calendar: e.calendar, + dfltColor: a, + bgColor: r.paper_bgcolor, + autotypenumbersDflt: r.autotypenumbers, + fullLayout: r, + }; + n(l, u, c), + (u._categories = u._categories || []), + t[o] || + "-" === l.type || + (t[o] = { type: l.type }); + }); + })(t, e, r, o); + }; + }, + 402: function (t, e, r) { + "use strict"; + var n = r(71828).isArrayOrTypedArray; + function i(t, e) { + if (!n(t) || e >= 10) return null; + for ( + var r = 1 / 0, a = -1 / 0, o = t.length, s = 0; + s < o; + s++ + ) { + var l = t[s]; + if (n(l)) { + var u = i(l, e + 1); + u && + ((r = Math.min(u[0], r)), + (a = Math.max(u[1], a))); + } else (r = Math.min(l, r)), (a = Math.max(l, a)); + } + return [r, a]; + } + t.exports = function (t) { + return i(t, 0); + }; + }, + 99798: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(1928), + a = r(22399), + o = n({ editType: "calc" }); + (o.family.dflt = + '"Open Sans", verdana, arial, sans-serif'), + (o.size.dflt = 12), + (o.color.dflt = a.defaultLine), + (t.exports = { + 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: i, + baxis: i, + font: o, + color: { + valType: "color", + dflt: a.defaultLine, + editType: "plot", + }, + transforms: void 0, + }); + }, + 4536: function (t, e, r) { + "use strict"; + var n = r(71828).isArrayOrTypedArray; + t.exports = function (t, e, r, i) { + var a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m = n(r) ? "a" : "b", + x = ("a" === m ? t.aaxis : t.baxis).smoothing, + b = "a" === m ? t.a2i : t.b2j, + _ = "a" === m ? r : i, + w = "a" === m ? i : r, + T = "a" === m ? e.a.length : e.b.length, + k = "a" === m ? e.b.length : e.a.length, + A = Math.floor("a" === m ? t.b2j(w) : t.a2i(w)), + M = + "a" === m + ? function (e) { + return t.evalxy([], e, A); + } + : function (e) { + return t.evalxy([], A, e); + }; + x && + ((s = Math.max(0, Math.min(k - 2, A))), + (l = A - s), + (o = + "a" === m + ? function (e, r) { + return t.dxydi([], e, s, r, l); + } + : function (e, r) { + return t.dxydj([], s, e, l, r); + })); + var S = b(_[0]), + E = b(_[1]), + L = S < E ? 1 : -1, + C = 1e-8 * (E - S), + O = L > 0 ? Math.floor : Math.ceil, + P = L > 0 ? Math.ceil : Math.floor, + I = L > 0 ? Math.min : Math.max, + D = L > 0 ? Math.max : Math.min, + z = O(S + C), + R = P(E - C), + F = [[(f = M(S))]]; + for (a = z; a * L < R * L; a += L) + (u = []), + (v = D(S, a)), + (y = (g = I(E, a + L)) - v), + (c = Math.max( + 0, + Math.min(T - 2, Math.floor(0.5 * (v + g))), + )), + (h = M(g)), + x && + ((p = o(c, v - c)), + (d = o(c, g - c)), + u.push([ + f[0] + (p[0] / 3) * y, + f[1] + (p[1] / 3) * y, + ]), + u.push([ + h[0] - (d[0] / 3) * y, + h[1] - (d[1] / 3) * y, + ])), + u.push(h), + F.push(u), + (f = h); + return F; + }; + }, + 1928: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(22399), + a = r(13838), + o = r(12663).descriptionWithDates, + s = r(30962).overrideAll, + l = r(79952).P, + u = r(1426).extendFlat; + t.exports = { + color: { valType: "color", editType: "calc" }, + smoothing: { + valType: "number", + dflt: 1, + min: 0, + max: 1.3, + editType: "calc", + }, + title: { + text: { + valType: "string", + dflt: "", + editType: "calc", + }, + font: n({ editType: "calc" }), + offset: { + valType: "number", + dflt: 10, + editType: "calc", + }, + editType: "calc", + }, + type: { + valType: "enumerated", + values: ["-", "linear", "date", "category"], + dflt: "-", + editType: "calc", + }, + autotypenumbers: a.autotypenumbers, + 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", + }, + labelalias: u({}, a.labelalias, { editType: "calc" }), + tickfont: n({ 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", + }, + minexponent: { + valType: "number", + dflt: 3, + min: 0, + editType: "calc", + }, + separatethousands: { + valType: "boolean", + dflt: !1, + editType: "calc", + }, + tickformat: { + valType: "string", + dflt: "", + editType: "calc", + description: o("tick label"), + }, + tickformatstops: s( + a.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: i.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", + }, + griddash: u({}, l, { 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", + }, + minorgriddash: u({}, l, { editType: "calc" }), + minorgridcolor: { + valType: "color", + dflt: i.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", + }, + _deprecated: { + title: { valType: "string", editType: "calc" }, + titlefont: n({ editType: "calc" }), + titleoffset: { + valType: "number", + dflt: 10, + editType: "calc", + }, + }, + editType: "calc", + }; + }, + 11500: function (t, e, r) { + "use strict"; + var n = r(99798), + i = r(7901).addOpacity, + a = r(73972), + o = r(71828), + s = r(26218), + l = r(96115), + u = r(89426), + c = r(15258), + f = r(21994), + h = r(4322); + t.exports = function (t, e, r) { + var p = r.letter, + d = r.font || {}, + v = n[p + "axis"]; + function g(r, n) { + return o.coerce(t, e, v, r, n); + } + function y(r, n) { + return o.coerce2(t, e, v, r, n); + } + r.name && ((e._name = r.name), (e._id = r.name)), + g("autotypenumbers", r.autotypenumbersDflt); + var m = g("type"); + "-" === m && + (r.data && + (function (t, e) { + if ("-" === t.type) { + var r = t._id.charAt(0), + n = t[r + "calendar"]; + t.type = h(e, n, { + autotypenumbers: t.autotypenumbers, + }); + } + })(e, r.data), + "-" === e.type + ? (e.type = "linear") + : (m = t.type = e.type)), + g("smoothing"), + g("cheatertype"), + g("showticklabels"), + g("labelprefix", p + " = "), + g("labelsuffix"), + g("showtickprefix"), + g("showticksuffix"), + g("separatethousands"), + g("tickformat"), + g("exponentformat"), + g("minexponent"), + g("showexponent"), + g("categoryorder"), + g("tickmode"), + g("tickvals"), + g("ticktext"), + g("tick0"), + g("dtick"), + "array" === e.tickmode && + (g("arraytick0"), g("arraydtick")), + g("labelpadding"), + (e._hovertitle = p), + "date" === m && + a.getComponentMethod("calendars", "handleDefaults")( + t, + e, + "calendar", + r.calendar, + ), + f(e, r.fullLayout), + (e.c2p = o.identity); + var x = g("color", r.dfltColor), + b = x === t.color ? x : d.color; + g("title.text") && + (o.coerceFont(g, "title.font", { + family: d.family, + size: o.bigFont(d.size), + color: b, + }), + g("title.offset")), + g("tickangle"), + g("autorange", !e.isValidRange(t.range)) && + g("rangemode"), + g("range"), + e.cleanRange(), + g("fixedrange"), + s(t, e, g, m), + u(t, e, g, m, r), + l(t, e, g, m, r), + c(t, e, g, { data: r.data, dataAttr: p }); + var _ = y("gridcolor", i(x, 0.3)), + w = y("gridwidth"), + T = y("griddash"), + k = g("showgrid"); + k || + (delete e.gridcolor, + delete e.gridwidth, + delete e.griddash); + var A = y("startlinecolor", x), + M = y("startlinewidth", w); + g("startline", e.showgrid || !!A || !!M) || + (delete e.startlinecolor, delete e.startlinewidth); + var S = y("endlinecolor", x), + E = y("endlinewidth", w); + return ( + g("endline", e.showgrid || !!S || !!E) || + (delete e.endlinecolor, delete e.endlinewidth), + k + ? (g("minorgridcount"), + g("minorgridwidth", w), + g("minorgriddash", T), + g("minorgridcolor", i(_, 0.06)), + e.minorgridcount || + (delete e.minorgridwidth, + delete e.minorgriddash, + delete e.minorgridcolor)) + : (delete e.gridcolor, + delete e.gridwidth, + delete e.griddash), + "none" === e.showticklabels && + (delete e.tickfont, + delete e.tickangle, + delete e.showexponent, + delete e.exponentformat, + delete e.minexponent, + delete e.tickformat, + delete e.showticksuffix, + delete e.showtickprefix), + e.showticksuffix || delete e.ticksuffix, + e.showtickprefix || delete e.tickprefix, + g("tickmode"), + e + ); + }; + }, + 25281: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(71828).isArray1D, + a = r(53824), + o = r(402), + s = r(20347), + l = r(83311), + u = r(44807), + c = r(4742), + f = r(72505), + h = r(68296), + p = r(11435); + t.exports = function (t, e) { + var r = n.getFromId(t, e.xaxis), + d = n.getFromId(t, e.yaxis), + v = e.aaxis, + g = e.baxis, + y = e.x, + m = e.y, + x = []; + y && i(y) && x.push("x"), + m && i(m) && x.push("y"), + x.length && h(e, v, g, "a", "b", x); + var b = (e._a = e._a || e.a), + _ = (e._b = e._b || e.b); + (y = e._x || e.x), (m = e._y || e.y); + var w = {}; + if (e._cheater) { + var T = "index" === v.cheatertype ? b.length : b, + k = "index" === g.cheatertype ? _.length : _; + y = a(T, k, e.cheaterslope); + } + (e._x = y = c(y)), + (e._y = m = c(m)), + f(y, b, _), + f(m, b, _), + p(e), + e.setScale(); + var A = o(y), + M = o(m), + S = 0.5 * (A[1] - A[0]), + E = 0.5 * (A[1] + A[0]), + L = 0.5 * (M[1] - M[0]), + C = 0.5 * (M[1] + M[0]), + O = 1.3; + return ( + (A = [E - S * O, E + S * O]), + (M = [C - L * O, C + L * O]), + (e._extremes[r._id] = n.findExtremes(r, A, { + padded: !0, + })), + (e._extremes[d._id] = n.findExtremes(d, M, { + padded: !0, + })), + s(e, "a", "b"), + s(e, "b", "a"), + l(e, v), + l(e, g), + (w.clipsegments = u(e._xctrl, e._yctrl, v, g)), + (w.x = y), + (w.y = m), + (w.a = b), + (w.b = _), + [w] + ); + }; + }, + 44807: function (t) { + "use strict"; + t.exports = function (t, e, r, n) { + var i, + a, + o, + s = [], + l = !!r.smoothing, + u = !!n.smoothing, + c = t[0].length - 1, + f = 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 <= f; + 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[f][i]), (o[c - i] = e[f][i]); + for ( + s.push({ x: a, y: o, bicubic: l }), + i = f, + a = [], + o = []; + i >= 0; + i-- + ) + (a[f - i] = t[i][0]), (o[f - i] = e[i][0]); + return s.push({ x: a, y: o, bicubic: u }), s; + }; + }, + 20347: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(1426).extendFlat; + t.exports = function (t, e, r) { + var a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x = t["_" + e], + b = t[e + "axis"], + _ = (b._gridlines = []), + w = (b._minorgridlines = []), + T = (b._boundarylines = []), + k = t["_" + r], + A = t[r + "axis"]; + "array" === b.tickmode && (b.tickvals = x.slice()); + var M = t._xctrl, + S = t._yctrl, + E = M[0].length, + L = M.length, + C = t._a.length, + O = t._b.length; + n.prepTicks(b), + "array" === b.tickmode && delete b.tickvals; + var P = b.smoothing ? 3 : 1; + function I(n) { + var i, + a, + o, + s, + l, + u, + c, + f, + p, + d, + v, + g, + y = [], + m = [], + x = {}; + if ("b" === e) + for ( + a = t.b2j(n), + o = Math.floor(Math.max(0, Math.min(O - 2, a))), + s = a - o, + x.length = O, + x.crossLength = C, + x.xy = function (e) { + return t.evalxy([], e, a); + }, + x.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)), + y.push(l[0] + p[0] / 3), + m.push(l[1] + p[1] / 3), + (d = t.dxydi([], i - 1, o, 1, s)), + y.push(f[0] - d[0] / 3), + m.push(f[1] - d[1] / 3)), + y.push(f[0]), + m.push(f[1]), + (l = f); + else + for ( + i = t.a2i(n), + u = Math.floor(Math.max(0, Math.min(C - 2, i))), + c = i - u, + x.length = C, + x.crossLength = O, + x.xy = function (e) { + return t.evalxy([], i, e); + }, + x.dxy = function (e, r) { + return t.dxydj([], u, e, c, r); + }, + a = 0; + a < O; + a++ + ) + (o = Math.min(O - 2, a)), + (s = a - o), + (f = t.evalxy([], i, a)), + A.smoothing && + a > 0 && + ((v = t.dxydj([], u, a - 1, c, 0)), + y.push(l[0] + v[0] / 3), + m.push(l[1] + v[1] / 3), + (g = t.dxydj([], u, a - 1, c, 1)), + y.push(f[0] - g[0] / 3), + m.push(f[1] - g[1] / 3)), + y.push(f[0]), + m.push(f[1]), + (l = f); + return ( + (x.axisLetter = e), + (x.axis = b), + (x.crossAxis = A), + (x.value = n), + (x.constvar = r), + (x.index = h), + (x.x = y), + (x.y = m), + (x.smoothing = A.smoothing), + x + ); + } + function D(n) { + var i, + a, + o, + s, + l, + u = [], + c = [], + f = {}; + if ( + ((f.length = x.length), + (f.crossLength = k.length), + "b" === e) + ) + for ( + o = Math.max(0, Math.min(O - 2, n)), + l = Math.min(1, Math.max(0, n - o)), + f.xy = function (e) { + return t.evalxy([], e, n); + }, + f.dxy = function (e, r) { + return t.dxydi([], e, o, r, l); + }, + i = 0; + i < E; + i++ + ) + (u[i] = M[n * P][i]), (c[i] = S[n * P][i]); + else + for ( + a = Math.max(0, Math.min(C - 2, n)), + s = Math.min(1, Math.max(0, n - a)), + f.xy = function (e) { + return t.evalxy([], n, e); + }, + f.dxy = function (e, r) { + return t.dxydj([], a, e, s, r); + }, + i = 0; + i < L; + i++ + ) + (u[i] = M[i][n * P]), (c[i] = S[i][n * P]); + return ( + (f.axisLetter = e), + (f.axis = b), + (f.crossAxis = A), + (f.value = x[n]), + (f.constvar = r), + (f.index = n), + (f.x = u), + (f.y = c), + (f.smoothing = A.smoothing), + f + ); + } + if ("array" === b.tickmode) { + for ( + l = 5e-15, + c = + (u = [ + Math.floor( + ((x.length - 1 - b.arraytick0) / + b.arraydtick) * + (1 + l), + ), + Math.ceil( + -b.arraytick0 / b.arraydtick / (1 + l), + ), + ].sort(function (t, e) { + return t - e; + }))[0] - 1, + f = u[1] + 1, + h = c; + h < f; + h++ + ) + (o = b.arraytick0 + b.arraydtick * h) < 0 || + o > x.length - 1 || + _.push( + i(D(o), { + color: b.gridcolor, + width: b.gridwidth, + dash: b.griddash, + }), + ); + for (h = c; h < f; h++) + if ( + ((s = b.arraytick0 + b.arraydtick * h), + (v = Math.min(s + b.arraydtick, x.length - 1)), + !( + s < 0 || + s > x.length - 1 || + v < 0 || + v > x.length - 1 + )) + ) + for ( + g = x[s], y = x[v], a = 0; + a < b.minorgridcount; + a++ + ) + (m = v - s) <= 0 || + (d = + g + + (((y - g) * (a + 1)) / + (b.minorgridcount + 1)) * + (b.arraydtick / m)) < x[0] || + d > x[x.length - 1] || + w.push( + i(I(d), { + color: b.minorgridcolor, + width: b.minorgridwidth, + dash: b.minorgriddash, + }), + ); + b.startline && + T.push( + i(D(0), { + color: b.startlinecolor, + width: b.startlinewidth, + }), + ), + b.endline && + T.push( + i(D(x.length - 1), { + color: b.endlinecolor, + width: b.endlinewidth, + }), + ); + } else { + for ( + l = 5e-15, + c = (u = [ + Math.floor( + ((x[x.length - 1] - b.tick0) / b.dtick) * + (1 + l), + ), + Math.ceil((x[0] - b.tick0) / b.dtick / (1 + l)), + ].sort(function (t, e) { + return t - e; + }))[0], + f = u[1], + h = c; + h <= f; + h++ + ) + (p = b.tick0 + b.dtick * h), + _.push( + i(I(p), { + color: b.gridcolor, + width: b.gridwidth, + dash: b.griddash, + }), + ); + for (h = c - 1; h < f + 1; h++) + for ( + p = b.tick0 + b.dtick * h, a = 0; + a < b.minorgridcount; + a++ + ) + (d = + p + + (b.dtick * (a + 1)) / (b.minorgridcount + 1)) < + x[0] || + d > x[x.length - 1] || + w.push( + i(I(d), { + color: b.minorgridcolor, + width: b.minorgridwidth, + dash: b.minorgriddash, + }), + ); + b.startline && + T.push( + i(I(x[0]), { + color: b.startlinecolor, + width: b.startlinewidth, + }), + ), + b.endline && + T.push( + i(I(x[x.length - 1]), { + color: b.endlinecolor, + width: b.endlinewidth, + }), + ); + } + }; + }, + 83311: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(1426).extendFlat; + t.exports = function (t, e) { + var r, + a, + o, + s = (e._labels = []), + l = e._gridlines; + for (r = 0; r < l.length; r++) + (o = l[r]), + -1 !== + ["start", "both"].indexOf(e.showticklabels) && + ((a = n.tickText(e, o.value)), + i(a, { + prefix: void 0, + suffix: void 0, + endAnchor: !0, + xy: o.xy(0), + dxy: o.dxy(0, 0), + axis: o.axis, + length: o.crossAxis.length, + font: o.axis.tickfont, + isFirst: 0 === r, + isLast: r === l.length - 1, + }), + s.push(a)), + -1 !== ["end", "both"].indexOf(e.showticklabels) && + ((a = n.tickText(e, o.value)), + i(a, { + endAnchor: !1, + xy: o.xy(o.crossLength - 1), + dxy: o.dxy(o.crossLength - 2, 1), + axis: o.axis, + length: o.crossAxis.length, + font: o.axis.tickfont, + isFirst: 0 === r, + isLast: r === l.length - 1, + }), + s.push(a)); + }; + }, + 42048: function (t) { + "use strict"; + t.exports = 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, 0.25), + u = Math.pow(o * o + s * s, 0.25), + c = (u * u * i - l * l * o) * n, + f = (u * u * a - l * l * s) * n, + h = u * (l + u) * 3, + p = l * (l + u) * 3; + return [ + [e[0] + (h && c / h), e[1] + (h && f / h)], + [e[0] - (p && c / p), e[1] - (p && f / p)], + ]; + }; + }, + 53824: function (t, e, r) { + "use strict"; + var n = r(71828).isArrayOrTypedArray; + t.exports = function (t, e, r) { + var i, + a, + o, + s, + l, + u, + c = [], + f = n(t) ? t.length : t, + h = n(e) ? e.length : e, + p = n(t) ? t : null, + d = n(e) ? e : null; + p && + (o = + (p.length - 1) / + (p[p.length - 1] - p[0]) / + (f - 1)), + d && + (s = + (d.length - 1) / + (d[d.length - 1] - d[0]) / + (h - 1)); + var v = 1 / 0, + g = -1 / 0; + for (a = 0; a < h; a++) + for ( + c[a] = [], + l = d ? (d[a] - d[0]) * s : a / (h - 1), + i = 0; + i < f; + i++ + ) + (u = (p ? (p[i] - p[0]) * o : i / (f - 1)) - l * r), + (v = Math.min(u, v)), + (g = Math.max(u, g)), + (c[a][i] = u); + var y = 1 / (g - v), + m = -v * y; + for (a = 0; a < h; a++) + for (i = 0; i < f; i++) c[a][i] = y * c[a][i] + m; + return c; + }; + }, + 45664: function (t, e, r) { + "use strict"; + var n = r(42048), + i = r(71828).ensureArray; + function a(t, e, r) { + var n = -0.5 * r[0] + 1.5 * e[0], + i = -0.5 * r[1] + 1.5 * e[1]; + return [(2 * n + t[0]) / 3, (2 * i + t[1]) / 3]; + } + t.exports = function (t, e, r, o, s, l) { + var u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x = r[0].length, + b = r.length, + _ = s ? 3 * x - 2 : x, + w = l ? 3 * b - 2 : b; + for (t = i(t, w), e = i(e, w), f = 0; f < w; f++) + (t[f] = i(t[f], _)), (e[f] = i(e[f], _)); + for (c = 0, h = 0; c < b; c++, h += l ? 3 : 1) + for ( + p = t[h], + d = e[h], + v = r[c], + g = o[c], + u = 0, + f = 0; + u < x; + u++, f += s ? 3 : 1 + ) + (p[f] = v[u]), (d[f] = g[u]); + if (s) + for (c = 0, h = 0; c < b; c++, h += l ? 3 : 1) { + for (u = 1, f = 3; u < x - 1; u++, f += 3) + (y = n( + [r[c][u - 1], o[c][u - 1]], + [r[c][u], o[c][u]], + [r[c][u + 1], o[c][u + 1]], + s, + )), + (t[h][f - 1] = y[0][0]), + (e[h][f - 1] = y[0][1]), + (t[h][f + 1] = y[1][0]), + (e[h][f + 1] = y[1][1]); + (m = a( + [t[h][0], e[h][0]], + [t[h][2], e[h][2]], + [t[h][3], e[h][3]], + )), + (t[h][1] = m[0]), + (e[h][1] = m[1]), + (m = a( + [t[h][_ - 1], e[h][_ - 1]], + [t[h][_ - 3], e[h][_ - 3]], + [t[h][_ - 4], e[h][_ - 4]], + )), + (t[h][_ - 2] = m[0]), + (e[h][_ - 2] = m[1]); + } + if (l) + for (f = 0; f < _; f++) { + for (h = 3; h < w - 3; h += 3) + (y = n( + [t[h - 3][f], e[h - 3][f]], + [t[h][f], e[h][f]], + [t[h + 3][f], e[h + 3][f]], + l, + )), + (t[h - 1][f] = y[0][0]), + (e[h - 1][f] = y[0][1]), + (t[h + 1][f] = y[1][0]), + (e[h + 1][f] = y[1][1]); + (m = a( + [t[0][f], e[0][f]], + [t[2][f], e[2][f]], + [t[3][f], e[3][f]], + )), + (t[1][f] = m[0]), + (e[1][f] = m[1]), + (m = a( + [t[w - 1][f], e[w - 1][f]], + [t[w - 3][f], e[w - 3][f]], + [t[w - 4][f], e[w - 4][f]], + )), + (t[w - 2][f] = m[0]), + (e[w - 2][f] = m[1]); + } + if (s && l) + for (h = 1; h < w; h += (h + 1) % 3 == 0 ? 2 : 1) { + for (f = 3; f < _ - 3; f += 3) + (y = n( + [t[h][f - 3], e[h][f - 3]], + [t[h][f], e[h][f]], + [t[h][f + 3], e[h][f + 3]], + s, + )), + (t[h][f - 1] = 0.5 * (t[h][f - 1] + y[0][0])), + (e[h][f - 1] = 0.5 * (e[h][f - 1] + y[0][1])), + (t[h][f + 1] = 0.5 * (t[h][f + 1] + y[1][0])), + (e[h][f + 1] = 0.5 * (e[h][f + 1] + y[1][1])); + (m = a( + [t[h][0], e[h][0]], + [t[h][2], e[h][2]], + [t[h][3], e[h][3]], + )), + (t[h][1] = 0.5 * (t[h][1] + m[0])), + (e[h][1] = 0.5 * (e[h][1] + m[1])), + (m = a( + [t[h][_ - 1], e[h][_ - 1]], + [t[h][_ - 3], e[h][_ - 3]], + [t[h][_ - 4], e[h][_ - 4]], + )), + (t[h][_ - 2] = 0.5 * (t[h][_ - 2] + m[0])), + (e[h][_ - 2] = 0.5 * (e[h][_ - 2] + m[1])); + } + return [t, e]; + }; + }, + 35509: function (t) { + "use strict"; + t.exports = { RELATIVE_CULL_TOLERANCE: 1e-6 }; + }, + 54495: function (t) { + "use strict"; + t.exports = function (t, e, r) { + return e && r + ? function (e, r, n, i, a) { + var o, s, l, u, c, f; + e || (e = []), (r *= 3), (n *= 3); + var h = i * i, + p = 1 - i, + d = p * p, + v = p * i * 2, + g = -3 * d, + y = 3 * (d - v), + m = 3 * (v - h), + x = 3 * h, + b = a * a, + _ = b * a, + w = 1 - a, + T = w * w, + k = T * w; + for (f = 0; f < t.length; f++) + (o = + g * (c = t[f])[n][r] + + y * c[n][r + 1] + + m * c[n][r + 2] + + x * c[n][r + 3]), + (s = + g * c[n + 1][r] + + y * c[n + 1][r + 1] + + m * c[n + 1][r + 2] + + x * c[n + 1][r + 3]), + (l = + g * c[n + 2][r] + + y * c[n + 2][r + 1] + + m * c[n + 2][r + 2] + + x * c[n + 2][r + 3]), + (u = + g * c[n + 3][r] + + y * c[n + 3][r + 1] + + m * c[n + 3][r + 2] + + x * c[n + 3][r + 3]), + (e[f] = + k * o + + 3 * (T * a * s + w * b * l) + + _ * u); + return e; + } + : e + ? function (e, r, n, i, a) { + var o, s, l, u; + e || (e = []), (r *= 3); + var c = i * i, + f = 1 - i, + h = f * f, + p = f * i * 2, + d = -3 * h, + v = 3 * (h - p), + g = 3 * (p - c), + y = 3 * c, + m = 1 - a; + for (l = 0; l < t.length; l++) + (o = + d * (u = t[l])[n][r] + + v * u[n][r + 1] + + g * u[n][r + 2] + + y * u[n][r + 3]), + (s = + d * u[n + 1][r] + + v * u[n + 1][r + 1] + + g * u[n + 1][r + 2] + + y * u[n + 1][r + 3]), + (e[l] = m * o + a * s); + return e; + } + : r + ? function (e, r, n, i, a) { + var o, s, l, u, c, f; + e || (e = []), (n *= 3); + var h = a * a, + p = h * a, + d = 1 - a, + v = d * d, + g = v * d; + for (c = 0; c < t.length; c++) + (o = (f = t[c])[n][r + 1] - f[n][r]), + (s = f[n + 1][r + 1] - f[n + 1][r]), + (l = f[n + 2][r + 1] - f[n + 2][r]), + (u = f[n + 3][r + 1] - f[n + 3][r]), + (e[c] = + g * o + + 3 * (v * a * s + d * h * l) + + p * u); + return e; + } + : function (e, r, n, i, a) { + var o, s, l, u; + e || (e = []); + var c = 1 - a; + for (l = 0; l < t.length; l++) + (o = (u = t[l])[n][r + 1] - u[n][r]), + (s = u[n + 1][r + 1] - u[n + 1][r]), + (e[l] = c * o + a * s); + return e; + }; + }; + }, + 73057: function (t) { + "use strict"; + t.exports = function (t, e, r) { + return e && r + ? function (e, r, n, i, a) { + var o, s, l, u, c, f; + e || (e = []), (r *= 3), (n *= 3); + var h = i * i, + p = h * i, + d = 1 - i, + v = d * d, + g = v * d, + y = a * a, + m = 1 - a, + x = m * m, + b = m * a * 2, + _ = -3 * x, + w = 3 * (x - b), + T = 3 * (b - y), + k = 3 * y; + for (f = 0; f < t.length; f++) + (o = + _ * (c = t[f])[n][r] + + w * c[n + 1][r] + + T * c[n + 2][r] + + k * c[n + 3][r]), + (s = + _ * c[n][r + 1] + + w * c[n + 1][r + 1] + + T * c[n + 2][r + 1] + + k * c[n + 3][r + 1]), + (l = + _ * c[n][r + 2] + + w * c[n + 1][r + 2] + + T * c[n + 2][r + 2] + + k * c[n + 3][r + 2]), + (u = + _ * c[n][r + 3] + + w * c[n + 1][r + 3] + + T * c[n + 2][r + 3] + + k * c[n + 3][r + 3]), + (e[f] = + g * o + + 3 * (v * i * s + d * h * l) + + p * u); + return e; + } + : e + ? function (e, r, n, i, a) { + var o, s, l, u, c, f; + e || (e = []), (r *= 3); + var h = a * a, + p = h * a, + d = 1 - a, + v = d * d, + g = v * d; + for (c = 0; c < t.length; c++) + (o = (f = t[c])[n + 1][r] - f[n][r]), + (s = f[n + 1][r + 1] - f[n][r + 1]), + (l = f[n + 1][r + 2] - f[n][r + 2]), + (u = f[n + 1][r + 3] - f[n][r + 3]), + (e[c] = + g * o + + 3 * (v * a * s + d * h * 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, + f = a * a, + h = 1 - a, + p = h * h, + d = h * a * 2, + v = -3 * p, + g = 3 * (p - d), + y = 3 * (d - f), + m = 3 * f; + for (l = 0; l < t.length; l++) + (o = + v * (u = t[l])[n][r] + + g * u[n + 1][r] + + y * u[n + 2][r] + + m * u[n + 3][r]), + (s = + v * u[n][r + 1] + + g * u[n + 1][r + 1] + + y * u[n + 2][r + 1] + + m * 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; + }; + }; + }, + 20349: function (t) { + "use strict"; + t.exports = 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, f; + e || (e = []); + var h = 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 - h)), + v = Math.max(0, Math.min(1, n - p)); + (h *= 3), (p *= 3); + var g = d * d, + y = g * d, + m = 1 - d, + x = m * m, + b = x * m, + _ = v * v, + w = _ * v, + T = 1 - v, + k = T * T, + A = k * T; + for (f = 0; f < t.length; f++) + (i = + b * (c = t[f])[p][h] + + 3 * + (x * d * c[p][h + 1] + + m * g * c[p][h + 2]) + + y * c[p][h + 3]), + (s = + b * c[p + 1][h] + + 3 * + (x * d * c[p + 1][h + 1] + + m * g * c[p + 1][h + 2]) + + y * c[p + 1][h + 3]), + (l = + b * c[p + 2][h] + + 3 * + (x * d * c[p + 2][h + 1] + + m * g * c[p + 2][h + 2]) + + y * c[p + 2][h + 3]), + (u = + b * c[p + 3][h] + + 3 * + (x * d * c[p + 3][h + 1] + + m * g * c[p + 3][h + 2]) + + y * c[p + 3][h + 3]), + (e[f] = + A * i + + 3 * (k * v * s + T * _ * l) + + w * u); + return e; + } + : n + ? function (e, r, n) { + e || (e = []); + var i, + s, + l, + u, + c, + f, + h = 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 - h)), + v = Math.max(0, Math.min(1, n - p)); + h *= 3; + var g = d * d, + y = g * d, + m = 1 - d, + x = m * m, + b = x * m, + _ = 1 - v; + for (c = 0; c < t.length; c++) + (i = _ * (f = t[c])[p][h] + v * f[p + 1][h]), + (s = _ * f[p][h + 1] + v * f[p + 1][h + 1]), + (l = _ * f[p][h + 2] + v * f[p + 1][h + 1]), + (u = _ * f[p][h + 3] + v * f[p + 1][h + 1]), + (e[c] = + b * i + + 3 * (x * d * s + m * g * l) + + y * u); + return e; + } + : i + ? function (e, r, n) { + e || (e = []); + var i, + s, + l, + u, + c, + f, + h = 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 - h)), + v = Math.max(0, Math.min(1, n - p)); + p *= 3; + var g = v * v, + y = g * v, + m = 1 - v, + x = m * m, + b = x * m, + _ = 1 - d; + for (c = 0; c < t.length; c++) + (i = _ * (f = t[c])[p][h] + d * f[p][h + 1]), + (s = _ * f[p + 1][h] + d * f[p + 1][h + 1]), + (l = _ * f[p + 2][h] + d * f[p + 2][h + 1]), + (u = _ * f[p + 3][h] + d * f[p + 3][h + 1]), + (e[c] = + b * i + + 3 * (x * v * s + m * g * l) + + y * u); + return e; + } + : function (e, r, n) { + e || (e = []); + var i, + s, + l, + u, + c = Math.max(0, Math.min(Math.floor(r), a)), + f = Math.max(0, Math.min(Math.floor(n), o)), + h = Math.max(0, Math.min(1, r - c)), + p = Math.max(0, Math.min(1, n - f)), + d = 1 - p, + v = 1 - h; + for (l = 0; l < t.length; l++) + (i = v * (u = t[l])[f][c] + h * u[f][c + 1]), + (s = v * u[f + 1][c] + h * u[f + 1][c + 1]), + (e[l] = d * i + p * s); + return e; + }; + }; + }, + 92087: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(19237), + a = r(13145), + o = r(99798), + s = r(22399); + t.exports = function (t, e, r, l) { + function u(r, i) { + return n.coerce(t, e, o, r, i); + } + e._clipPathId = "clip" + e.uid + "carpet"; + var c = u("color", s.defaultLine); + n.coerceFont(u, "font"), + u("carpet"), + a(t, e, l, u, c), + e.a && e.b + ? (e.a.length < 3 && (e.aaxis.smoothing = 0), + e.b.length < 3 && (e.baxis.smoothing = 0), + i(t, e, u) || (e.visible = !1), + e._cheater && u("cheaterslope")) + : (e.visible = !1); + }; + }, + 21462: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(99798), + supplyDefaults: r(92087), + plot: r(89740), + calc: r(25281), + animatable: !0, + isContainer: !0, + moduleType: "trace", + name: "carpet", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "carpet", + "carpetAxis", + "notLegendIsolatable", + "noMultiCategory", + "noHover", + "noSortingByValue", + ], + meta: {}, + }; + }, + 22882: function (t) { + "use strict"; + t.exports = 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; + }; + }, + 67961: function (t) { + "use strict"; + t.exports = 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"); + }; + }, + 27669: function (t, e, r) { + "use strict"; + var n = r(71828).isArrayOrTypedArray; + t.exports = function (t, e, r) { + var i; + for ( + n(t) + ? t.length > e.length && (t = t.slice(0, e.length)) + : (t = []), + i = 0; + i < e.length; + i++ + ) + t[i] = r(e[i]); + return t; + }; + }, + 11651: function (t) { + "use strict"; + t.exports = 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]), + f = Math.sqrt(a[0] * a[0] + a[1] * a[1]), + h = (i[0] * a[0] + i[1] * a[1]) / c / f; + u = Math.max(0, h); + } + 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, + } + ); + }; + }, + 89740: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(91424), + a = r(27669), + o = r(67961), + s = r(11651), + l = r(63893), + u = r(71828), + c = u.strRotate, + f = u.strTranslate, + h = r(18783); + function p(t, e, r, s, l, u, c) { + var f = "const-" + l + "-lines", + h = r.selectAll("." + f).data(u); + h + .enter() + .append("path") + .classed(f, !0) + .style( + "vector-effect", + c ? "none" : "non-scaling-stroke", + ), + h.each(function (r) { + var s = r, + l = s.x, + u = s.y, + c = a([], l, t.c2p), + f = a([], u, e.c2p), + h = "M" + o(c, f, s.smoothing); + n.select(this) + .attr("d", h) + .style("stroke-width", s.width) + .style("stroke", s.color) + .style( + "stroke-dasharray", + i.dashStyle(s.dash, s.width), + ) + .style("fill", "none"); + }), + h.exit().remove(); + } + function d(t, e, r, a, o, u, h, p) { + var d = u.selectAll("text." + p).data(h); + d.enter().append("text").classed(p, !0); + var v = 0, + g = {}; + return ( + d.each(function (o, u) { + var h; + if ("auto" === o.axis.tickangle) + h = s(a, e, r, o.xy, o.dxy); + else { + var p = + ((o.axis.tickangle + 180) * Math.PI) / 180; + h = s(a, e, r, o.xy, [Math.cos(p), Math.sin(p)]); + } + u || (g = { angle: h.angle, flip: h.flip }); + var d = (o.endAnchor ? -1 : 1) * h.flip, + y = n + .select(this) + .attr({ + "text-anchor": d > 0 ? "start" : "end", + "data-notex": 1, + }) + .call(i.font, o.font) + .text(o.text) + .call(l.convertToTspans, t), + m = i.bBox(this); + y.attr( + "transform", + f(h.p[0], h.p[1]) + + c(h.angle) + + f(o.axis.labelpadding * d, 0.3 * m.height), + ), + (v = Math.max(v, m.width + o.axis.labelpadding)); + }), + d.exit().remove(), + (g.maxExtent = v), + g + ); + } + t.exports = function (t, e, r, i) { + var l = t._context.staticPlot, + c = e.xaxis, + f = e.yaxis, + h = t._fullLayout._clips; + u.makeTraceGroups(i, r, "trace").each(function (e) { + var r = n.select(this), + i = e[0], + v = i.trace, + g = v.aaxis, + m = v.baxis, + x = u.ensureSingle(r, "g", "minorlayer"), + b = u.ensureSingle(r, "g", "majorlayer"), + _ = u.ensureSingle(r, "g", "boundarylayer"), + w = u.ensureSingle(r, "g", "labellayer"); + r.style("opacity", v.opacity), + p(c, f, b, 0, "a", g._gridlines, !0), + p(c, f, b, 0, "b", m._gridlines, !0), + p(c, f, x, 0, "a", g._minorgridlines, !0), + p(c, f, x, 0, "b", m._minorgridlines, !0), + p(c, f, _, 0, "a-boundary", g._boundarylines, l), + p(c, f, _, 0, "b-boundary", m._boundarylines, l); + var T = d(t, c, f, v, 0, w, g._labels, "a-label"), + k = d(t, c, f, v, 0, w, m._labels, "b-label"); + !(function (t, e, r, n, i, a, o, l) { + var c, + f, + h, + p, + d = u.aggNums(Math.min, null, r.a), + v = u.aggNums(Math.max, null, r.a), + g = u.aggNums(Math.min, null, r.b), + m = u.aggNums(Math.max, null, r.b); + (c = 0.5 * (d + v)), + (f = g), + (h = r.ab2xy(c, f, !0)), + (p = r.dxyda_rough(c, f)), + void 0 === o.angle && + u.extendFlat( + o, + s(r, i, a, h, r.dxydb_rough(c, f)), + ), + y(t, e, r, 0, h, p, r.aaxis, i, a, o, "a-title"), + (c = d), + (f = 0.5 * (g + m)), + (h = r.ab2xy(c, f, !0)), + (p = r.dxydb_rough(c, f)), + void 0 === l.angle && + u.extendFlat( + l, + s(r, i, a, h, r.dxyda_rough(c, f)), + ), + y(t, e, r, 0, h, p, r.baxis, i, a, l, "b-title"); + })(t, w, v, 0, c, f, T, k), + (function (t, e, r, n, i) { + var s, + l, + c, + f, + h = r.select("#" + t._clipPathId); + h.size() || + (h = r + .append("clipPath") + .classed("carpetclip", !0)); + var p = u.ensureSingle( + h, + "path", + "carpetboundary", + ), + d = e.clipsegments, + v = []; + for (f = 0; f < d.length; f++) + (s = d[f]), + (l = a([], s.x, n.c2p)), + (c = a([], s.y, i.c2p)), + v.push(o(l, c, s.bicubic)); + var g = "M" + v.join("L") + "Z"; + h.attr("id", t._clipPathId), p.attr("d", g); + })(v, i, h, c, f); + }); + }; + var v = h.LINE_SPACING, + g = (1 - h.MID_SHIFT) / v + 1; + function y(t, e, r, a, o, u, h, p, d, y, m) { + var x = []; + h.title.text && x.push(h.title.text); + var b = e.selectAll("text." + m).data(x), + _ = y.maxExtent; + b.enter().append("text").classed(m, !0), + b.each(function () { + var e = s(r, p, d, o, u); + -1 === + ["start", "both"].indexOf(h.showticklabels) && + (_ = 0); + var a = h.title.font.size; + _ += a + h.title.offset; + var m = + (y.angle + + (y.flip < 0 ? 180 : 0) - + e.angle + + 450) % + 360, + x = m > 90 && m < 270, + b = n.select(this); + b.text(h.title.text).call(l.convertToTspans, t), + x && (_ = (-l.lineCount(b) + g) * v * a - _), + b + .attr( + "transform", + f(e.p[0], e.p[1]) + c(e.angle) + f(0, _), + ) + .attr("text-anchor", "middle") + .call(i.font, h.title.font); + }), + b.exit().remove(); + } + }, + 11435: function (t, e, r) { + "use strict"; + var n = r(35509), + i = r(65888).findBin, + a = r(45664), + o = r(20349), + s = r(54495), + l = r(73057); + t.exports = function (t) { + var e = t._a, + r = t._b, + u = e.length, + c = r.length, + f = t.aaxis, + h = t.baxis, + p = e[0], + d = e[u - 1], + v = r[0], + g = r[c - 1], + y = e[e.length - 1] - e[0], + m = r[r.length - 1] - r[0], + x = y * n.RELATIVE_CULL_TOLERANCE, + b = m * n.RELATIVE_CULL_TOLERANCE; + (p -= x), + (d += x), + (v -= b), + (g += b), + (t.isVisible = function (t, e) { + return t > p && t < d && e > v && e < g; + }), + (t.isOccluded = function (t, e) { + return t < p || t > d || e < v || e > g; + }), + (t.setScale = function () { + var e = t._x, + r = t._y, + n = a( + t._xctrl, + t._yctrl, + e, + r, + f.smoothing, + h.smoothing, + ); + (t._xctrl = n[0]), + (t._yctrl = n[1]), + (t.evalxy = o( + [t._xctrl, t._yctrl], + u, + c, + f.smoothing, + h.smoothing, + )), + (t.dxydi = s( + [t._xctrl, t._yctrl], + f.smoothing, + h.smoothing, + )), + (t.dxydj = l( + [t._xctrl, t._yctrl], + f.smoothing, + h.smoothing, + )); + }), + (t.i2a = function (t) { + var r = Math.max(0, Math.floor(t[0]), u - 2), + n = t[0] - r; + return (1 - n) * e[r] + n * e[r + 1]; + }), + (t.j2b = function (t) { + var e = Math.max(0, Math.floor(t[1]), u - 2), + n = t[1] - e; + return (1 - n) * r[e] + n * 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(i(t, e), u - 2)), + n = e[r], + a = e[r + 1]; + return Math.max( + 0, + Math.min(u - 1, r + (t - n) / (a - n)), + ); + }), + (t.b2j = function (t) { + var e = Math.max(0, Math.min(i(t, r), c - 2)), + n = r[e], + a = r[e + 1]; + return Math.max( + 0, + Math.min(c - 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 (n, i, a) { + if ( + !a && + (n < e[0] || + (n > e[u - 1]) | (i < r[0]) || + i > r[c - 1]) + ) + return [!1, !1]; + var o = t.a2i(n), + s = t.b2j(i), + l = t.evalxy([], o, s); + if (a) { + var f, + h, + p, + d, + v = 0, + g = 0, + y = []; + n < e[0] + ? ((f = 0), + (h = 0), + (v = (n - e[0]) / (e[1] - e[0]))) + : n > e[u - 1] + ? ((f = u - 2), + (h = 1), + (v = (n - e[u - 1]) / (e[u - 1] - e[u - 2]))) + : (h = + o - + (f = Math.max( + 0, + Math.min(u - 2, Math.floor(o)), + ))), + i < r[0] + ? ((p = 0), + (d = 0), + (g = (i - r[0]) / (r[1] - r[0]))) + : i > r[c - 1] + ? ((p = c - 2), + (d = 1), + (g = + (i - r[c - 1]) / (r[c - 1] - r[c - 2]))) + : (d = + s - + (p = Math.max( + 0, + Math.min(c - 2, Math.floor(s)), + ))), + v && + (t.dxydi(y, f, p, h, d), + (l[0] += y[0] * v), + (l[1] += y[1] * v)), + g && + (t.dxydj(y, f, p, h, d), + (l[0] += y[0] * g), + (l[1] += y[1] * g)); + } + return l; + }), + (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 = y * (n || 0.1), + a = t.ab2xy(e + i, r, !0), + o = t.ab2xy(e - i, r, !0); + return [ + (0.5 * (a[0] - o[0])) / i, + (0.5 * (a[1] - o[1])) / i, + ]; + }), + (t.dxydb_rough = function (e, r, n) { + var i = m * (n || 0.1), + a = t.ab2xy(e, r + i, !0), + o = t.ab2xy(e, r - i, !0); + return [ + (0.5 * (a[0] - o[0])) / i, + (0.5 * (a[1] - o[1])) / i, + ]; + }), + (t.dpdx = function (t) { + return t._m; + }), + (t.dpdy = function (t) { + return t._m; + }); + }; + }, + 72505: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e, r) { + var i, + a, + o, + s = [], + l = [], + u = t[0].length, + c = t.length; + function f(e, r) { + var n, + i = 0, + a = 0; + return ( + e > 0 && + void 0 !== (n = t[r][e - 1]) && + (a++, (i += n)), + e < u - 1 && + void 0 !== (n = t[r][e + 1]) && + (a++, (i += n)), + r > 0 && + void 0 !== (n = t[r - 1][e]) && + (a++, (i += n)), + r < c - 1 && + void 0 !== (n = t[r + 1][e]) && + (a++, (i += n)), + i / Math.max(1, a) + ); + } + var h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + w, + T = 0; + for (i = 0; i < u; i++) + for (a = 0; a < c; a++) + void 0 === t[a][i] && + (s.push(i), l.push(a), (t[a][i] = f(i, a))), + (T = Math.max(T, Math.abs(t[a][i]))); + if (!s.length) return t; + var k = 0, + A = 0, + M = s.length; + do { + for (k = 0, o = 0; o < M; o++) { + (i = s[o]), (a = l[o]); + var S, + E, + L, + C, + O, + P, + I = 0, + D = 0; + 0 === i + ? ((L = e[(O = Math.min(u - 1, 2))]), + (C = e[1]), + (S = t[a][O]), + (D += + (E = t[a][1]) + + ((E - S) * (e[0] - C)) / (C - L)), + I++) + : i === u - 1 && + ((L = e[(O = Math.max(0, u - 3))]), + (C = e[u - 2]), + (S = t[a][O]), + (D += + (E = t[a][u - 2]) + + ((E - S) * (e[u - 1] - C)) / (C - L)), + I++), + (0 === i || i === u - 1) && + a > 0 && + a < c - 1 && + ((h = r[a + 1] - r[a]), + (D += + ((p = r[a] - r[a - 1]) * t[a + 1][i] + + h * t[a - 1][i]) / + (p + h)), + I++), + 0 === a + ? ((L = r[(P = Math.min(c - 1, 2))]), + (C = r[1]), + (S = t[P][i]), + (D += + (E = t[1][i]) + + ((E - S) * (r[0] - C)) / (C - L)), + I++) + : a === c - 1 && + ((L = r[(P = Math.max(0, c - 3))]), + (C = r[c - 2]), + (S = t[P][i]), + (D += + (E = t[c - 2][i]) + + ((E - S) * (r[c - 1] - C)) / (C - L)), + I++), + (0 === a || a === c - 1) && + i > 0 && + i < u - 1 && + ((h = e[i + 1] - e[i]), + (D += + ((p = e[i] - e[i - 1]) * t[a][i + 1] + + h * t[a][i - 1]) / + (p + h)), + I++), + I + ? (D /= I) + : ((d = e[i + 1] - e[i]), + (v = e[i] - e[i - 1]), + (x = + (g = r[a + 1] - r[a]) * + (y = r[a] - r[a - 1]) * + (g + y)), + (D = + ((m = d * v * (d + v)) * + (y * t[a + 1][i] + g * t[a - 1][i]) + + x * (v * t[a][i + 1] + d * t[a][i - 1])) / + (x * (v + d) + m * (y + g)))), + (k += (_ = (b = D - t[a][i]) / T) * _), + (w = I ? 0 : 0.85), + (t[a][i] += b * (1 + w)); + } + k = Math.sqrt(k); + } while (A++ < 100 && k > 1e-5); + return ( + n.log( + "Smoother converged to", + k, + "after", + A, + "iterations", + ), + t + ); + }; + }, + 19237: function (t, e, r) { + "use strict"; + var n = r(71828).isArray1D; + t.exports = function (t, e, r) { + var i = r("x"), + a = i && i.length, + o = r("y"), + s = o && o.length; + if (!a && !s) return !1; + if (((e._cheater = !i), (a && !n(i)) || (s && !n(o)))) + e._length = null; + else { + var l = a ? i.length : 1 / 0; + s && (l = Math.min(l, o.length)), + e.a && e.a.length && (l = Math.min(l, e.a.length)), + e.b && e.b.length && (l = Math.min(l, e.b.length)), + (e._length = l); + } + return !0; + }; + }, + 69568: function (t, e, r) { + "use strict"; + var n = r(5386).fF, + i = r(19316), + a = r(50693), + o = r(9012), + s = r(22399).defaultLine, + l = r(1426).extendFlat, + u = i.marker.line; + t.exports = l( + { + locations: { + valType: "data_array", + editType: "calc", + }, + locationmode: i.locationmode, + z: { valType: "data_array", editType: "calc" }, + geojson: l({}, i.geojson, {}), + featureidkey: i.featureidkey, + text: l({}, i.text, {}), + hovertext: l({}, i.hovertext, {}), + marker: { + line: { + color: l({}, u.color, { dflt: s }), + width: l({}, u.width, { dflt: 1 }), + editType: "calc", + }, + opacity: { + valType: "number", + arrayOk: !0, + min: 0, + max: 1, + dflt: 1, + editType: "style", + }, + editType: "calc", + }, + selected: { + marker: { + opacity: i.selected.marker.opacity, + editType: "plot", + }, + editType: "plot", + }, + unselected: { + marker: { + opacity: i.unselected.marker.opacity, + editType: "plot", + }, + editType: "plot", + }, + hoverinfo: l({}, o.hoverinfo, { + editType: "calc", + flags: ["location", "z", "text", "name"], + }), + hovertemplate: n(), + showlegend: l({}, o.showlegend, { dflt: !1 }), + }, + a("", { cLetter: "z", editTypeOverride: "calc" }), + ); + }, + 38675: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(50606).BADNUM, + a = r(78803), + o = r(75225), + s = r(66279); + function l(t) { + return t && "string" == typeof t; + } + t.exports = function (t, e) { + var r, + u = e._length, + c = new Array(u); + r = e.geojson + ? function (t) { + return l(t) || n(t); + } + : l; + for (var f = 0; f < u; f++) { + var h = (c[f] = {}), + p = e.locations[f], + d = e.z[f]; + r(p) && n(d) + ? ((h.loc = p), (h.z = d)) + : ((h.loc = null), (h.z = i)), + (h.index = f); + } + return ( + o(c, e), + a(t, e, { + vals: e.z, + containerStr: "", + cLetter: "z", + }), + s(c, e), + c + ); + }; + }, + 61869: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(1586), + a = r(69568); + t.exports = function (t, e, r, o) { + function s(r, i) { + return n.coerce(t, e, a, r, i); + } + var l = s("locations"), + u = s("z"); + if ( + l && + l.length && + n.isArrayOrTypedArray(u) && + u.length + ) { + e._length = Math.min(l.length, u.length); + var c, + f = s("geojson"); + (("string" == typeof f && "" !== f) || + n.isPlainObject(f)) && + (c = "geojson-id"), + "geojson-id" === s("locationmode", c) && + s("featureidkey"), + s("text"), + s("hovertext"), + s("hovertemplate"), + s("marker.line.width") && s("marker.line.color"), + s("marker.opacity"), + i(t, e, o, s, { prefix: "", cLetter: "z" }), + n.coerceSelectionMarkerOpacity(e, s); + } else e.visible = !1; + }; + }, + 92069: function (t) { + "use strict"; + t.exports = function (t, e, r, n, i) { + (t.location = e.location), (t.z = e.z); + var a = n[i]; + return ( + a.fIn && + a.fIn.properties && + (t.properties = a.fIn.properties), + (t.ct = a.ct), + t + ); + }; + }, + 42300: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(69568), + a = r(71828).fillText; + t.exports = function (t, e, r) { + var o, + s, + l, + u, + c = t.cd, + f = c[0].trace, + h = t.subplot, + p = [e, r], + d = [e + 360, r]; + for (s = 0; s < c.length; s++) + if (((u = !1), (o = c[s])._polygons)) { + for (l = 0; l < o._polygons.length; l++) + o._polygons[l].contains(p) && (u = !u), + o._polygons[l].contains(d) && (u = !u); + if (u) break; + } + if (u && o) + return ( + (t.x0 = t.x1 = t.xa.c2p(o.ct)), + (t.y0 = t.y1 = t.ya.c2p(o.ct)), + (t.index = o.index), + (t.location = o.loc), + (t.z = o.z), + (t.zLabel = n.tickText( + h.mockAxis, + h.mockAxis.c2l(o.z), + "hover", + ).text), + (t.hovertemplate = o.hovertemplate), + (function (t, e, r) { + if (!e.hovertemplate) { + var n = r.hi || e.hoverinfo, + o = String(r.loc), + s = + "all" === n + ? i.hoverinfo.flags + : n.split("+"), + l = -1 !== s.indexOf("name"), + u = -1 !== s.indexOf("location"), + c = -1 !== s.indexOf("z"), + f = -1 !== s.indexOf("text"), + h = []; + !l && u + ? (t.nameOverride = o) + : (l && (t.nameOverride = e.name), + u && h.push(o)), + c && h.push(t.zLabel), + f && a(r, e, h), + (t.extraText = h.join("
")); + } + })(t, f, o), + [t] + ); + }; + }, + 51319: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(69568), + supplyDefaults: r(61869), + colorbar: r(61243), + calc: r(38675), + calcGeoJSON: r(99841).calcGeoJSON, + plot: r(99841).plot, + style: r(99636).style, + styleOnSelect: r(99636).styleOnSelect, + hoverPoints: r(42300), + eventData: r(92069), + selectPoints: r(81253), + moduleType: "trace", + name: "choropleth", + basePlotModule: r(44622), + categories: ["geo", "noOpacity", "showLegend"], + meta: {}, + }; + }, + 99841: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(41327), + o = r(90973).getTopojsonFeatures, + s = r(71739).findExtremes, + l = r(99636).style; + t.exports = { + calcGeoJSON: function (t, e) { + for ( + var r = t[0].trace, + n = e[r.geo], + i = n._subplot, + l = r.locationmode, + u = r._length, + c = + "geojson-id" === l + ? a.extractTraceFeature(t) + : o(r, i.topojson), + f = [], + h = [], + p = 0; + p < u; + p++ + ) { + var d = t[p], + v = + "geojson-id" === l + ? d.fOut + : a.locationToFeature(l, d.loc, c); + if (v) { + (d.geojson = v), + (d.ct = v.properties.ct), + (d._polygons = a.feature2polygons(v)); + var g = a.computeBbox(v); + f.push(g[0], g[2]), h.push(g[1], g[3]); + } else d.geojson = null; + } + if ("geojson" === n.fitbounds && "geojson-id" === l) { + var y = a.computeBbox(a.getTraceGeojson(r)); + (f = [y[0], y[2]]), (h = [y[1], y[3]]); + } + var m = { padded: !0 }; + (r._extremes.lon = s(n.lonaxis._ax, f, m)), + (r._extremes.lat = s(n.lataxis._ax, h, m)); + }, + plot: function (t, e, r) { + var a = e.layers.backplot.select(".choroplethlayer"); + i.makeTraceGroups(a, r, "trace choropleth").each( + function (e) { + var r = n + .select(this) + .selectAll("path.choroplethlocation") + .data(i.identity); + r + .enter() + .append("path") + .classed("choroplethlocation", !0), + r.exit().remove(), + l(t, e); + }, + ); + }, + }; + }, + 81253: function (t) { + "use strict"; + t.exports = 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], null, r, t) + ? (c.push({ + pointNumber: r, + lon: i[0], + lat: i[1], + }), + (n.selected = 1)) + : (n.selected = 0)); + return c; + }; + }, + 99636: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(7901), + a = r(91424), + o = r(21081); + function s(t, e) { + var r = e[0].trace, + s = e[0].node3.selectAll(".choroplethlocation"), + l = r.marker || {}, + u = l.line || {}, + c = o.makeColorScaleFuncFromTrace(r); + s.each(function (t) { + n.select(this) + .attr("fill", c(t.z)) + .call(i.stroke, t.mlc || u.color) + .call(a.dashLine, "", t.mlw || u.width || 0) + .style("opacity", l.opacity); + }), + a.selectedPointStyle(s, r); + } + t.exports = { + style: function (t, e) { + e && s(0, e); + }, + styleOnSelect: function (t, e) { + var r = e[0].node3, + n = e[0].trace; + n.selectedpoints + ? a.selectedPointStyle( + r.selectAll(".choroplethlocation"), + n, + ) + : s(0, e); + }, + }; + }, + 64496: function (t, e, r) { + "use strict"; + var n = r(69568), + i = r(50693), + a = r(5386).fF, + o = r(9012), + s = r(1426).extendFlat; + t.exports = s( + { + locations: { + valType: "data_array", + editType: "calc", + }, + z: { valType: "data_array", editType: "calc" }, + geojson: { valType: "any", editType: "calc" }, + featureidkey: s({}, n.featureidkey, {}), + below: { valType: "string", editType: "plot" }, + text: n.text, + hovertext: n.hovertext, + marker: { + line: { + color: s({}, n.marker.line.color, { + editType: "plot", + }), + width: s({}, n.marker.line.width, { + editType: "plot", + }), + editType: "calc", + }, + opacity: s({}, n.marker.opacity, { + editType: "plot", + }), + editType: "calc", + }, + selected: { + marker: { + opacity: s({}, n.selected.marker.opacity, { + editType: "plot", + }), + editType: "plot", + }, + editType: "plot", + }, + unselected: { + marker: { + opacity: s({}, n.unselected.marker.opacity, { + editType: "plot", + }), + editType: "plot", + }, + editType: "plot", + }, + hoverinfo: n.hoverinfo, + hovertemplate: a({}, { keys: ["properties"] }), + showlegend: s({}, o.showlegend, { dflt: !1 }), + }, + i("", { cLetter: "z", editTypeOverride: "calc" }), + ); + }, + 82004: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(21081), + o = r(91424), + s = r(18214).makeBlank, + l = r(41327); + function u(t) { + var e, + r = t[0].trace, + n = r._opts; + if (r.selectedpoints) { + for ( + var a = o.makeSelectedPointStyleFns(r), s = 0; + s < t.length; + s++ + ) { + var l = t[s]; + l.fOut && + (l.fOut.properties.mo2 = a.selectedOpacityFn(l)); + } + e = { type: "identity", property: "mo2" }; + } else + e = i.isArrayOrTypedArray(r.marker.opacity) + ? { type: "identity", property: "mo" } + : r.marker.opacity; + return ( + i.extendFlat(n.fill.paint, { "fill-opacity": e }), + i.extendFlat(n.line.paint, { "line-opacity": e }), + n + ); + } + t.exports = { + convert: function (t) { + var e = t[0].trace, + r = !0 === e.visible && 0 !== e._length, + o = { layout: { visibility: "none" }, paint: {} }, + c = { layout: { visibility: "none" }, paint: {} }, + f = (e._opts = { fill: o, line: c, geojson: s() }); + if (!r) return f; + var h = l.extractTraceFeature(t); + if (!h) return f; + var p, + d, + v, + g = a.makeColorScaleFuncFromTrace(e), + y = e.marker, + m = y.line || {}; + i.isArrayOrTypedArray(y.opacity) && + (p = function (t) { + var e = t.mo; + return n(e) ? +i.constrain(e, 0, 1) : 0; + }), + i.isArrayOrTypedArray(m.color) && + (d = function (t) { + return t.mlc; + }), + i.isArrayOrTypedArray(m.width) && + (v = function (t) { + return t.mlw; + }); + for (var x = 0; x < t.length; x++) { + var b = t[x], + _ = b.fOut; + if (_) { + var w = _.properties; + (w.fc = g(b.z)), + p && (w.mo = p(b)), + d && (w.mlc = d(b)), + v && (w.mlw = v(b)), + (b.ct = w.ct), + (b._polygons = l.feature2polygons(_)); + } + } + var T = p + ? { type: "identity", property: "mo" } + : y.opacity; + return ( + i.extendFlat(o.paint, { + "fill-color": { + type: "identity", + property: "fc", + }, + "fill-opacity": T, + }), + i.extendFlat(c.paint, { + "line-color": d + ? { type: "identity", property: "mlc" } + : m.color, + "line-width": v + ? { type: "identity", property: "mlw" } + : m.width, + "line-opacity": T, + }), + (o.layout.visibility = "visible"), + (c.layout.visibility = "visible"), + (f.geojson = { + type: "FeatureCollection", + features: h, + }), + u(t), + f + ); + }, + convertOnSelect: u, + }; + }, + 22654: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(1586), + a = r(64496); + t.exports = function (t, e, r, o) { + function s(r, i) { + return n.coerce(t, e, a, r, i); + } + var l = s("locations"), + u = s("z"), + c = s("geojson"); + n.isArrayOrTypedArray(l) && + l.length && + n.isArrayOrTypedArray(u) && + u.length && + (("string" == typeof c && "" !== c) || + n.isPlainObject(c)) + ? (s("featureidkey"), + (e._length = Math.min(l.length, u.length)), + s("below"), + s("text"), + s("hovertext"), + s("hovertemplate"), + s("marker.line.width") && s("marker.line.color"), + s("marker.opacity"), + i(t, e, o, s, { prefix: "", cLetter: "z" }), + n.coerceSelectionMarkerOpacity(e, s)) + : (e.visible = !1); + }; + }, + 57516: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(64496), + supplyDefaults: r(22654), + colorbar: r(61243), + calc: r(38675), + plot: r(7852), + hoverPoints: r(42300), + eventData: r(92069), + selectPoints: r(81253), + styleOnSelect: function (t, e) { + e && e[0].trace._glTrace.updateOnSelect(e); + }, + getBelow: function (t, e) { + for ( + var r = e.getMapLayers(), n = r.length - 2; + n >= 0; + n-- + ) { + var i = r[n].id; + if ( + "string" == typeof i && + 0 === i.indexOf("water") + ) + for (var a = n + 1; a < r.length; a++) + if ( + "string" == typeof (i = r[a].id) && + -1 === i.indexOf("plotly-") + ) + return i; + } + }, + moduleType: "trace", + name: "choroplethmapbox", + basePlotModule: r(50101), + categories: ["mapbox", "gl", "noOpacity", "showLegend"], + meta: { hr_name: "choropleth_mapbox" }, + }; + }, + 7852: function (t, e, r) { + "use strict"; + var n = r(82004).convert, + i = r(82004).convertOnSelect, + a = r(77734).traceLayerPrefix; + function o(t, e) { + (this.type = "choroplethmapbox"), + (this.subplot = t), + (this.uid = e), + (this.sourceId = "source-" + e), + (this.layerList = [ + ["fill", a + e + "-fill"], + ["line", a + e + "-line"], + ]), + (this.below = null); + } + var s = o.prototype; + (s.update = function (t) { + this._update(n(t)), (t[0].trace._glTrace = this); + }), + (s.updateOnSelect = function (t) { + this._update(i(t)); + }), + (s._update = function (t) { + var e = this.subplot, + r = this.layerList, + n = e.belowLookup["trace-" + this.uid]; + e.map.getSource(this.sourceId).setData(t.geojson), + n !== this.below && + (this._removeLayers(), + this._addLayers(t, n), + (this.below = n)); + for (var i = 0; i < r.length; i++) { + var a = r[i], + o = a[0], + s = a[1], + l = t[o]; + e.setOptions(s, "setLayoutProperty", l.layout), + "visible" === l.layout.visibility && + e.setOptions(s, "setPaintProperty", l.paint); + } + }), + (s._addLayers = function (t, e) { + for ( + var r = this.subplot, + n = this.layerList, + i = this.sourceId, + a = 0; + a < n.length; + a++ + ) { + var o = n[a], + s = o[0], + l = t[s]; + r.addLayer( + { + type: s, + id: o[1], + source: i, + layout: l.layout, + paint: l.paint, + }, + e, + ); + } + }), + (s._removeLayers = function () { + for ( + var t = this.subplot.map, + e = this.layerList, + r = e.length - 1; + r >= 0; + r-- + ) + t.removeLayer(e[r][1]); + }), + (s.dispose = function () { + var t = this.subplot.map; + this._removeLayers(), t.removeSource(this.sourceId); + }), + (t.exports = function (t, e) { + var r = e[0].trace, + i = new o(t, r.uid), + a = i.sourceId, + s = n(e), + l = (i.below = t.belowLookup["trace-" + r.uid]); + return ( + t.map.addSource(a, { + type: "geojson", + data: s.geojson, + }), + i._addLayers(s, l), + (e[0].trace._glTrace = i), + i + ); + }); + }, + 12674: function (t, e, r) { + "use strict"; + var n = r(50693), + i = r(12663).axisHoverFormat, + a = r(5386).fF, + o = r(2418), + s = r(9012), + l = r(1426).extendFlat, + u = { + x: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + y: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + z: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + u: { valType: "data_array", editType: "calc" }, + v: { valType: "data_array", editType: "calc" }, + w: { valType: "data_array", editType: "calc" }, + sizemode: { + valType: "enumerated", + values: ["scaled", "absolute"], + editType: "calc", + dflt: "scaled", + }, + sizeref: { + valType: "number", + editType: "calc", + min: 0, + }, + anchor: { + valType: "enumerated", + editType: "calc", + values: ["tip", "tail", "cm", "center"], + dflt: "cm", + }, + text: { + valType: "string", + dflt: "", + arrayOk: !0, + editType: "calc", + }, + hovertext: { + valType: "string", + dflt: "", + arrayOk: !0, + editType: "calc", + }, + hovertemplate: a( + { editType: "calc" }, + { keys: ["norm"] }, + ), + uhoverformat: i("u", 1), + vhoverformat: i("v", 1), + whoverformat: i("w", 1), + xhoverformat: i("x"), + yhoverformat: i("y"), + zhoverformat: i("z"), + showlegend: l({}, s.showlegend, { dflt: !1 }), + }; + l( + u, + n("", { + colorAttr: "u/v/w norm", + showScaleDflt: !0, + editTypeOverride: "calc", + }), + ), + ["opacity", "lightposition", "lighting"].forEach( + function (t) { + u[t] = o[t]; + }, + ), + (u.hoverinfo = l({}, s.hoverinfo, { + editType: "calc", + flags: [ + "x", + "y", + "z", + "u", + "v", + "w", + "norm", + "text", + "name", + ], + dflt: "x+y+z+norm+text+name", + })), + (u.transforms = void 0), + (t.exports = u); + }, + 31371: function (t, e, r) { + "use strict"; + var n = r(78803); + t.exports = function (t, e) { + for ( + var r = e.u, + i = e.v, + a = e.w, + o = Math.min( + e.x.length, + e.y.length, + e.z.length, + r.length, + i.length, + a.length, + ), + s = -1 / 0, + l = 1 / 0, + u = 0; + u < o; + u++ + ) { + var c = r[u], + f = i[u], + h = a[u], + p = Math.sqrt(c * c + f * f + h * h); + (s = Math.max(s, p)), (l = Math.min(l, p)); + } + (e._len = o), + (e._normMax = s), + n(t, e, { + vals: [l, s], + containerStr: "", + cLetter: "c", + }); + }; + }, + 5453: function (t, e, r) { + "use strict"; + var n = r(9330).gl_cone3d, + i = r(9330).gl_cone3d.createConeMesh, + a = r(71828).simpleMap, + o = r(81697).parseColorScale, + s = r(21081).extractOpts, + l = r(90060); + function u(t, e) { + (this.scene = t), + (this.uid = e), + (this.mesh = null), + (this.data = null); + } + var c = u.prototype; + c.handlePick = function (t) { + if (t.object === this.mesh) { + var e = (t.index = t.data.index), + r = this.data.x[e], + n = this.data.y[e], + i = this.data.z[e], + a = this.data.u[e], + o = this.data.v[e], + s = this.data.w[e]; + t.traceCoordinate = [ + r, + n, + i, + a, + o, + s, + Math.sqrt(a * a + o * o + s * s), + ]; + var l = this.data.hovertext || this.data.text; + return ( + Array.isArray(l) && void 0 !== l[e] + ? (t.textLabel = l[e]) + : l && (t.textLabel = l), + !0 + ); + } + }; + var f = { xaxis: 0, yaxis: 1, zaxis: 2 }, + h = { tip: 1, tail: 0, cm: 0.25, center: 0.5 }, + p = { tip: 1, tail: 1, cm: 0.75, center: 0.5 }; + function d(t, e) { + var r = t.fullSceneLayout, + i = t.dataScale, + u = {}; + function c(t, e) { + var n = r[e], + o = i[f[e]]; + return a(t, function (t) { + return n.d2l(t) * o; + }); + } + (u.vectors = l( + c(e.u, "xaxis"), + c(e.v, "yaxis"), + c(e.w, "zaxis"), + e._len, + )), + (u.positions = l( + c(e.x, "xaxis"), + c(e.y, "yaxis"), + c(e.z, "zaxis"), + e._len, + )); + var d = s(e); + (u.colormap = o(e)), + (u.vertexIntensityBounds = [ + d.min / e._normMax, + d.max / e._normMax, + ]), + (u.coneOffset = h[e.anchor]), + "scaled" === e.sizemode + ? (u.coneSize = e.sizeref || 0.5) + : (u.coneSize = + e.sizeref && e._normMax + ? e.sizeref / e._normMax + : 0.5); + var v = n(u), + g = e.lightposition; + return ( + (v.lightPosition = [g.x, g.y, g.z]), + (v.ambient = e.lighting.ambient), + (v.diffuse = e.lighting.diffuse), + (v.specular = e.lighting.specular), + (v.roughness = e.lighting.roughness), + (v.fresnel = e.lighting.fresnel), + (v.opacity = e.opacity), + (e._pad = + p[e.anchor] * + v.vectorScale * + v.coneScale * + e._normMax), + v + ); + } + (c.update = function (t) { + this.data = t; + var e = d(this.scene, t); + this.mesh.update(e); + }), + (c.dispose = function () { + this.scene.glplot.remove(this.mesh), + this.mesh.dispose(); + }), + (t.exports = function (t, e) { + var r = t.glplot.gl, + n = d(t, e), + a = i(r, n), + o = new u(t, e.uid); + return ( + (o.mesh = a), + (o.data = e), + (a._trace = o), + t.glplot.add(a), + o + ); + }); + }, + 91750: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(1586), + a = r(12674); + t.exports = function (t, e, r, o) { + function s(r, i) { + return n.coerce(t, e, a, r, i); + } + var l = s("u"), + u = s("v"), + c = s("w"), + f = s("x"), + h = s("y"), + p = s("z"); + l && + l.length && + u && + u.length && + c && + c.length && + f && + f.length && + h && + h.length && + p && + p.length + ? (s("sizeref"), + s("sizemode"), + s("anchor"), + s("lighting.ambient"), + s("lighting.diffuse"), + s("lighting.specular"), + s("lighting.roughness"), + s("lighting.fresnel"), + s("lightposition.x"), + s("lightposition.y"), + s("lightposition.z"), + i(t, e, o, s, { prefix: "", cLetter: "c" }), + s("text"), + s("hovertext"), + s("hovertemplate"), + s("uhoverformat"), + s("vhoverformat"), + s("whoverformat"), + s("xhoverformat"), + s("yhoverformat"), + s("zhoverformat"), + (e._length = null)) + : (e.visible = !1); + }; + }, + 98128: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "cone", + basePlotModule: r(58547), + categories: ["gl3d", "showLegend"], + attributes: r(12674), + supplyDefaults: r(91750), + colorbar: { min: "cmin", max: "cmax" }, + calc: r(31371), + plot: r(5453), + eventData: function (t, e) { + return (t.norm = e.traceCoordinate[6]), t; + }, + meta: {}, + }; + }, + 70600: function (t, e, r) { + "use strict"; + var n = r(21606), + i = r(82196), + a = r(12663), + o = a.axisHoverFormat, + s = a.descriptionOnlyNumbers, + l = r(50693), + u = r(79952).P, + c = r(41940), + f = r(1426).extendFlat, + h = r(74808), + p = h.COMPARISON_OPS2, + d = h.INTERVAL_OPS, + v = i.line; + t.exports = f( + { + z: n.z, + x: n.x, + x0: n.x0, + dx: n.dx, + y: n.y, + y0: n.y0, + dy: n.dy, + xperiod: n.xperiod, + yperiod: n.yperiod, + xperiod0: i.xperiod0, + yperiod0: i.yperiod0, + xperiodalignment: n.xperiodalignment, + yperiodalignment: n.yperiodalignment, + text: n.text, + hovertext: n.hovertext, + transpose: n.transpose, + xtype: n.xtype, + ytype: n.ytype, + xhoverformat: o("x"), + yhoverformat: o("y"), + zhoverformat: o("z", 1), + hovertemplate: n.hovertemplate, + texttemplate: f({}, n.texttemplate, {}), + textfont: f({}, n.textfont, {}), + hoverongaps: n.hoverongaps, + connectgaps: f({}, n.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: c({ + editType: "plot", + colorEditType: "style", + }), + labelformat: { + valType: "string", + dflt: "", + editType: "plot", + description: s("contour label"), + }, + operation: { + valType: "enumerated", + values: [].concat(p).concat(d), + dflt: "=", + editType: "calc", + }, + value: { + valType: "any", + dflt: 0, + editType: "calc", + }, + editType: "calc", + impliedEdits: { autocontour: !1 }, + }, + line: { + color: f({}, v.color, { + editType: "style+colorbars", + }), + width: { + valType: "number", + min: 0, + editType: "style+colorbars", + }, + dash: u, + smoothing: f({}, v.smoothing, {}), + editType: "plot", + }, + }, + l("", { + cLetter: "z", + autoColorDflt: !1, + editTypeOverride: "calc", + }), + ); + }, + 27529: function (t, e, r) { + "use strict"; + var n = r(21081), + i = r(90757), + a = r(18670), + o = r(53572); + t.exports = function (t, e) { + var r = i(t, e), + s = r[0].z; + a(e, s); + var l, + u = e.contours, + c = n.extractOpts(e); + if ( + "heatmap" === u.coloring && + c.auto && + !1 === e.autocontour + ) { + var f = u.start, + h = o(u), + p = u.size || 1, + d = Math.floor((h - f) / p) + 1; + isFinite(p) || ((p = 1), (d = 1)); + var v = f - p / 2; + l = [v, v + d * p]; + } else l = s; + return n.calc(t, e, { vals: l, cLetter: "z" }), r; + }; + }, + 20083: function (t) { + "use strict"; + t.exports = function (t, e) { + var r, + n = t[0], + i = n.z; + switch (e.type) { + case "levels": + var a = Math.min(i[0][0], i[0][1]); + for (r = 0; r < t.length; r++) { + var o = t[r]; + o.prefixBoundary = + !o.edgepaths.length && + (a > o.level || + (o.starts.length && a === o.level)); + } + break; + case "constraint": + if (((n.prefixBoundary = !1), n.edgepaths.length)) + return; + var s = n.x.length, + l = n.y.length, + u = -1 / 0, + c = 1 / 0; + for (r = 0; r < l; r++) + (c = Math.min(c, i[r][0])), + (c = Math.min(c, i[r][s - 1])), + (u = Math.max(u, i[r][0])), + (u = Math.max(u, i[r][s - 1])); + for (r = 1; r < s - 1; r++) + (c = Math.min(c, i[0][r])), + (c = Math.min(c, i[l - 1][r])), + (u = Math.max(u, i[0][r])), + (u = Math.max(u, i[l - 1][r])); + var f, + h, + p = e.value; + switch (e._operation) { + case ">": + p > u && (n.prefixBoundary = !0); + break; + case "<": + (p < c || (n.starts.length && p === c)) && + (n.prefixBoundary = !0); + break; + case "[]": + (f = Math.min(p[0], p[1])), + ((h = Math.max(p[0], p[1])) < c || + f > u || + (n.starts.length && h === c)) && + (n.prefixBoundary = !0); + break; + case "][": + (f = Math.min(p[0], p[1])), + (h = Math.max(p[0], p[1])), + f < c && h > u && (n.prefixBoundary = !0); + } + } + }; + }, + 90654: function (t, e, r) { + "use strict"; + var n = r(21081), + i = r(86068), + a = r(53572); + t.exports = { + min: "zmin", + max: "zmax", + calc: function (t, e, r) { + var o = e.contours, + s = e.line, + l = o.size || 1, + u = o.coloring, + c = i(e, { isColorbar: !0 }); + if ("heatmap" === u) { + var f = n.extractOpts(e); + (r._fillgradient = f.reversescale + ? n.flipScale(f.colorscale) + : f.colorscale), + (r._zrange = [f.min, f.max]); + } else "fill" === u && (r._fillcolor = c); + (r._line = { + color: "lines" === u ? c : s.color, + width: !1 !== o.showlines ? s.width : 0, + dash: s.dash, + }), + (r._levels = { + start: o.start, + end: a(o), + size: l, + }); + }, + }; + }, + 36914: function (t) { + "use strict"; + t.exports = { + 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, + }, + }; + }, + 83179: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(14523), + a = r(7901), + o = a.addOpacity, + s = a.opacity, + l = r(74808), + u = l.CONSTRAINT_REDUCTION, + c = l.COMPARISON_OPS2; + t.exports = function (t, e, r, a, l, f) { + var h, + p, + d, + v = e.contours, + g = r("contours.operation"); + (v._operation = u[g]), + (function (t, e) { + var r; + -1 === c.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 + ? ((r = parseFloat(e.value[0])), + (e.value = [r, r + 1])) + : (e.value = [ + parseFloat(e.value[0]), + parseFloat(e.value[1]), + ]) + : n(e.value) && + ((r = parseFloat(e.value)), + (e.value = [r, r + 1]))) + : (t("contours.value", 0), + n(e.value) || + (Array.isArray(e.value) + ? (e.value = parseFloat(e.value[0])) + : (e.value = 0))); + })(r, v), + "=" === g + ? (h = v.showlines = !0) + : ((h = r("contours.showlines")), + (d = r( + "fillcolor", + o((t.line || {}).color || l, 0.5), + ))), + h && + ((p = r( + "line.color", + d && s(d) ? o(e.fillcolor, 1) : l, + )), + r("line.width", 2), + r("line.dash")), + r("line.smoothing"), + i(r, a, p, f); + }; + }, + 64237: function (t, e, r) { + "use strict"; + var n = r(74808), + i = r(92770); + function a(t, e) { + var r, + a = Array.isArray(e); + function o(t) { + return i(t) ? +t : null; + } + return ( + -1 !== n.COMPARISON_OPS2.indexOf(t) + ? (r = o(a ? e[0] : e)) + : -1 !== n.INTERVAL_OPS.indexOf(t) + ? (r = a ? [o(e[0]), o(e[1])] : [o(e), o(e)]) + : -1 !== n.SET_OPS.indexOf(t) && + (r = a ? e.map(o) : [o(e)]), + r + ); + } + function o(t) { + return function (e) { + e = a(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 s(t) { + return function (e) { + return { + start: (e = a(t, e)), + end: 1 / 0, + size: 1 / 0, + }; + }; + } + t.exports = { + "[]": o("[]"), + "][": o("]["), + ">": s(">"), + "<": s("<"), + "=": s("="), + }; + }, + 67217: function (t) { + "use strict"; + t.exports = 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"); + }; + }, + 84857: function (t, e, r) { + "use strict"; + var n = r(71828); + function i(t) { + return n.extendFlat({}, t, { + edgepaths: n.extendDeep([], t.edgepaths), + paths: n.extendDeep([], t.paths), + starts: n.extendDeep([], t.starts), + }); + } + t.exports = function (t, e) { + var r, + a, + o, + s = function (t) { + return t.reverse(); + }, + l = function (t) { + return t; + }; + switch (e) { + case "=": + case "<": + return t; + case ">": + for ( + 1 !== t.length && + n.warn( + "Contour data invalid for the specified inequality operation.", + ), + a = t[0], + r = 0; + r < a.edgepaths.length; + r++ + ) + a.edgepaths[r] = s(a.edgepaths[r]); + for (r = 0; r < a.paths.length; r++) + a.paths[r] = s(a.paths[r]); + for (r = 0; r < a.starts.length; r++) + a.starts[r] = s(a.starts[r]); + return t; + case "][": + var u = s; + (s = l), (l = u); + case "[]": + for ( + 2 !== t.length && + n.warn( + "Contour data invalid for the specified inequality range operation.", + ), + a = i(t[0]), + o = i(t[1]), + r = 0; + r < a.edgepaths.length; + r++ + ) + a.edgepaths[r] = s(a.edgepaths[r]); + for (r = 0; r < a.paths.length; r++) + a.paths[r] = s(a.paths[r]); + for (r = 0; r < a.starts.length; r++) + a.starts[r] = s(a.starts[r]); + for (; o.edgepaths.length; ) + a.edgepaths.push(l(o.edgepaths.shift())); + for (; o.paths.length; ) + a.paths.push(l(o.paths.shift())); + for (; o.starts.length; ) + a.starts.push(l(o.starts.shift())); + return [a]; + } + }; + }, + 13031: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(67684), + a = r(73927), + o = r(83179), + s = r(67217), + l = r(8724), + u = r(58623), + c = r(70600); + t.exports = function (t, e, r, f) { + function h(r, i) { + return n.coerce(t, e, c, r, i); + } + if (i(t, e, h, f)) { + a(t, e, f, h), + h("xhoverformat"), + h("yhoverformat"), + h("text"), + h("hovertext"), + h("hoverongaps"), + h("hovertemplate"); + var p = "constraint" === h("contours.type"); + h("connectgaps", n.isArray1D(e.z)), + p + ? o(t, e, h, f, r) + : (s(t, e, h, function (r) { + return n.coerce2(t, e, c, r); + }), + l(t, e, h, f)), + e.contours && + "heatmap" === e.contours.coloring && + u(h, f); + } else e.visible = !1; + }; + }, + 87558: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(64237), + a = r(53572); + t.exports = function (t, e, r) { + for ( + var o = + "constraint" === t.type + ? i[t._operation](t.value) + : t, + s = o.size, + l = [], + u = a(o), + c = r.trace._carpetTrace, + f = c + ? { + xaxis: c.aaxis, + yaxis: c.baxis, + x: r.a, + y: r.b, + } + : { + xaxis: e.xaxis, + yaxis: e.yaxis, + x: r.x, + y: r.y, + }, + h = o.start; + h < u; + h += s + ) + if ( + (l.push( + n.extendFlat( + { + level: h, + crossings: {}, + starts: [], + edgepaths: [], + paths: [], + z: r.z, + smoothing: r.trace.line.smoothing, + }, + f, + ), + ), + l.length > 1e3) + ) { + n.warn("Too many contours, clipping at 1000", t); + break; + } + return l; + }; + }, + 53572: function (t) { + "use strict"; + t.exports = function (t) { + return t.end + t.size / 1e6; + }; + }, + 81696: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(36914); + function a(t, e, r, n) { + return ( + Math.abs(t[0] - e[0]) < r && Math.abs(t[1] - e[1]) < n + ); + } + function o(t, e, r, o, l) { + var u, + c = e.join(","), + f = t.crossings[c], + h = (function (t, e, r) { + var n = 0, + a = 0; + return ( + t > 20 && e + ? 208 === t || 1114 === t + ? (n = 0 === r[0] ? 1 : -1) + : (a = 0 === r[1] ? 1 : -1) + : -1 !== i.BOTTOMSTART.indexOf(t) + ? (a = 1) + : -1 !== i.LEFTSTART.indexOf(t) + ? (n = 1) + : -1 !== i.TOPSTART.indexOf(t) + ? (a = -1) + : (n = -1), + [n, a] + ); + })(f, r, e), + p = [s(t, e, [-h[0], -h[1]])], + d = t.z.length, + v = t.z[0].length, + g = e.slice(), + y = h.slice(); + for (u = 0; u < 1e4; u++) { + if ( + (f > 20 + ? ((f = + i.CHOOSESADDLE[f][ + (h[0] || h[1]) < 0 ? 0 : 1 + ]), + (t.crossings[c] = i.SADDLEREMAINDER[f])) + : delete t.crossings[c], + !(h = i.NEWDELTA[f])) + ) { + n.log("Found bad marching index:", f, e, t.level); + break; + } + p.push(s(t, e, h)), + (e[0] += h[0]), + (e[1] += h[1]), + (c = e.join(",")), + a(p[p.length - 1], p[p.length - 2], o, l) && + p.pop(); + var m = + (h[0] && (e[0] < 0 || e[0] > v - 2)) || + (h[1] && (e[1] < 0 || e[1] > d - 2)); + if ( + (e[0] === g[0] && + e[1] === g[1] && + h[0] === y[0] && + h[1] === y[1]) || + (r && m) + ) + break; + f = t.crossings[c]; + } + 1e4 === u && n.log("Infinite loop in contour?"); + var x, + b, + _, + w, + T, + k, + A, + M, + S, + E, + L, + C, + O, + P, + I, + D = a(p[0], p[p.length - 1], o, l), + z = 0, + R = 0.2 * t.smoothing, + F = [], + B = 0; + for (u = 1; u < p.length; u++) + (C = p[u]), + (O = p[u - 1]), + void 0, + void 0, + (P = C[2] - O[2]), + (I = C[3] - O[3]), + (z += A = Math.sqrt(P * P + I * I)), + F.push(A); + var N = (z / F.length) * R; + function j(t) { + return p[t % p.length]; + } + for (u = p.length - 2; u >= B; u--) + if ((x = F[u]) < N) { + for (_ = 0, b = u - 1; b >= B && x + F[b] < N; b--) + x += F[b]; + if (D && u === p.length - 2) + for (_ = 0; _ < b && x + F[_] < N; _++) x += F[_]; + (T = u - b + _ + 1), + (k = Math.floor((u + b + _ + 2) / 2)), + (w = + D || u !== p.length - 2 + ? D || -1 !== b + ? T % 2 + ? j(k) + : [ + (j(k)[0] + j(k + 1)[0]) / 2, + (j(k)[1] + j(k + 1)[1]) / 2, + ] + : p[0] + : p[p.length - 1]), + p.splice(b + 1, u - b + 1, w), + (u = b + 1), + _ && (B = _), + D && + (u === p.length - 2 + ? (p[_] = p[p.length - 1]) + : 0 === u && (p[p.length - 1] = p[0])); + } + for (p.splice(0, B), u = 0; u < p.length; u++) + p[u].length = 2; + if (!(p.length < 2)) + if (D) p.pop(), t.paths.push(p); + else { + r || + n.log( + "Unclosed interior contour?", + t.level, + g.join(","), + p.join("L"), + ); + var U = !1; + for (M = 0; M < t.edgepaths.length; M++) + if ( + ((E = t.edgepaths[M]), + !U && a(E[0], p[p.length - 1], o, l)) + ) { + p.pop(), (U = !0); + var V = !1; + for (S = 0; S < t.edgepaths.length; S++) + if ( + a( + (L = t.edgepaths[S])[L.length - 1], + p[0], + o, + l, + ) + ) { + (V = !0), + p.shift(), + t.edgepaths.splice(M, 1), + S === M + ? t.paths.push(p.concat(L)) + : (S > M && S--, + (t.edgepaths[S] = L.concat(p, E))); + break; + } + V || (t.edgepaths[M] = p.concat(E)); + } + for (M = 0; M < t.edgepaths.length && !U; M++) + a( + (E = t.edgepaths[M])[E.length - 1], + p[0], + o, + l, + ) && + (p.shift(), + (t.edgepaths[M] = E.concat(p)), + (U = !0)); + U || t.edgepaths.push(p); + } + } + function s(t, e, r) { + var n = e[0] + Math.max(r[0], 0), + i = e[1] + Math.max(r[1], 0), + a = t.z[i][n], + o = t.xaxis, + s = t.yaxis; + if (r[1]) { + var l = (t.level - a) / (t.z[i][n + 1] - a), + u = + (1 !== l ? (1 - l) * o.c2l(t.x[n]) : 0) + + (0 !== l ? l * o.c2l(t.x[n + 1]) : 0); + return [ + o.c2p(o.l2c(u), !0), + s.c2p(t.y[i], !0), + n + l, + i, + ]; + } + var c = (t.level - a) / (t.z[i + 1][n] - a), + f = + (1 !== c ? (1 - c) * s.c2l(t.y[i]) : 0) + + (0 !== c ? c * s.c2l(t.y[i + 1]) : 0); + return [ + o.c2p(t.x[n], !0), + s.c2p(s.l2c(f), !0), + n, + i + c, + ]; + } + t.exports = function (t, e, r) { + var i, a, s, l; + for ( + e = e || 0.01, r = r || 0.01, a = 0; + a < t.length; + a++ + ) { + for (s = t[a], l = 0; l < s.starts.length; l++) + o(s, s.starts[l], "edge", e, r); + for ( + i = 0; + Object.keys(s.crossings).length && i < 1e4; + + ) + i++, + o( + s, + Object.keys(s.crossings)[0] + .split(",") + .map(Number), + void 0, + e, + r, + ); + 1e4 === i && n.log("Infinite loop in contour?"); + } + }; + }, + 52421: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(46248); + t.exports = function (t, e, r, a, o) { + o || (o = {}), (o.isContour = !0); + var s = i(t, e, r, a, o); + return ( + s && + s.forEach(function (t) { + var e = t.trace; + "constraint" === e.contours.type && + (e.fillcolor && n.opacity(e.fillcolor) + ? (t.color = n.addOpacity(e.fillcolor, 1)) + : e.contours.showlines && + n.opacity(e.line.color) && + (t.color = n.addOpacity(e.line.color, 1))); + }), + s + ); + }; + }, + 99442: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(70600), + supplyDefaults: r(13031), + calc: r(27529), + plot: r(29854).plot, + style: r(84426), + colorbar: r(90654), + hoverPoints: r(52421), + moduleType: "trace", + name: "contour", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "2dMap", + "contour", + "showLegend", + ], + meta: {}, + }; + }, + 14523: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e, r, i) { + if ((i || (i = {}), t("contours.showlabels"))) { + var a = e.font; + n.coerceFont(t, "contours.labelfont", { + family: a.family, + size: a.size, + color: r, + }), + t("contours.labelformat"); + } + !1 !== i.hasHover && t("zhoverformat"); + }; + }, + 86068: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(21081), + a = r(53572); + t.exports = function (t) { + var e = t.contours, + r = e.start, + o = a(e), + s = e.size || 1, + l = Math.floor((o - r) / s) + 1, + u = "lines" === e.coloring ? 0 : 1, + c = i.extractOpts(t); + isFinite(s) || ((s = 1), (l = 1)); + var f, + h, + p = c.reversescale + ? i.flipScale(c.colorscale) + : c.colorscale, + d = p.length, + v = new Array(d), + g = new Array(d), + y = c.min, + m = c.max; + if ("heatmap" === e.coloring) { + for (h = 0; h < d; h++) + (f = p[h]), + (v[h] = f[0] * (m - y) + y), + (g[h] = f[1]); + var x = n.extent([ + y, + m, + e.start, + e.start + s * (l - 1), + ]), + b = x[y < m ? 0 : 1], + _ = x[y < m ? 1 : 0]; + b !== y && (v.splice(0, 0, b), g.splice(0, 0, g[0])), + _ !== m && (v.push(_), g.push(g[g.length - 1])); + } else { + var w = + t._input && + "number" == typeof t._input.zmin && + "number" == typeof t._input.zmax; + for ( + w && + (r <= y || o >= m) && + (r <= y && (r = y), + o >= m && (o = m), + (l = Math.floor((o - r) / s) + 1), + (u = 0)), + h = 0; + h < d; + h++ + ) + (f = p[h]), + (v[h] = (f[0] * (l + u - 1) - u / 2) * s + r), + (g[h] = f[1]); + (w || t.autocontour) && + (v[0] > y && (v.unshift(y), g.unshift(g[0])), + v[v.length - 1] < m && + (v.push(m), g.push(g[g.length - 1]))); + } + return i.makeColorScaleFunc( + { domain: v, range: g }, + { noNumericCheck: !0 }, + ); + }; + }, + 87678: function (t, e, r) { + "use strict"; + var n = r(36914); + function i(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; + } + t.exports = function (t) { + var e, + r, + a, + o, + s, + l, + u, + c, + f, + h = t[0].z, + p = h.length, + d = h[0].length, + v = 2 === p || 2 === d; + for (r = 0; r < p - 1; r++) + for ( + o = [], + 0 === r && (o = o.concat(n.BOTTOMSTART)), + r === p - 2 && (o = o.concat(n.TOPSTART)), + e = 0; + e < d - 1; + e++ + ) + for ( + a = o.slice(), + 0 === e && (a = a.concat(n.LEFTSTART)), + e === d - 2 && (a = a.concat(n.RIGHTSTART)), + s = e + "," + r, + l = [ + [h[r][e], h[r][e + 1]], + [h[r + 1][e], h[r + 1][e + 1]], + ], + f = 0; + f < t.length; + f++ + ) + (u = i((c = t[f]).level, l)) && + ((c.crossings[s] = u), + -1 !== a.indexOf(u) && + (c.starts.push([e, r]), + v && + -1 !== a.indexOf(u, a.indexOf(u) + 1) && + c.starts.push([e, r]))); + }; + }, + 29854: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(91424), + o = r(21081), + s = r(63893), + l = r(89298), + u = r(21994), + c = r(50347), + f = r(87678), + h = r(81696), + p = r(87558), + d = r(84857), + v = r(20083), + g = r(36914), + y = g.LABELOPTIMIZER; + function m(t, e) { + var r, + n, + o, + s, + l, + u, + c, + f = "", + h = 0, + p = t.edgepaths.map(function (t, e) { + return e; + }), + d = !0; + function v(t) { + return Math.abs(t[1] - e[2][1]) < 0.01; + } + function g(t) { + return Math.abs(t[0] - e[0][0]) < 0.01; + } + function y(t) { + return Math.abs(t[0] - e[2][0]) < 0.01; + } + for (; p.length; ) { + for ( + u = a.smoothopen(t.edgepaths[h], t.smoothing), + f += d ? u : u.replace(/^M/, "L"), + p.splice(p.indexOf(h), 1), + r = t.edgepaths[h][t.edgepaths[h].length - 1], + s = -1, + o = 0; + o < 4; + o++ + ) { + if (!r) { + i.log("Missing end?", h, t); + break; + } + for ( + c = r, + Math.abs(c[1] - e[0][1]) < 0.01 && !y(r) + ? (n = e[1]) + : g(r) + ? (n = e[0]) + : v(r) + ? (n = e[3]) + : y(r) && (n = e[2]), + l = 0; + l < t.edgepaths.length; + l++ + ) { + var m = t.edgepaths[l][0]; + Math.abs(r[0] - n[0]) < 0.01 + ? Math.abs(r[0] - m[0]) < 0.01 && + (m[1] - r[1]) * (n[1] - m[1]) >= 0 && + ((n = m), (s = l)) + : Math.abs(r[1] - n[1]) < 0.01 + ? Math.abs(r[1] - m[1]) < 0.01 && + (m[0] - r[0]) * (n[0] - m[0]) >= 0 && + ((n = m), (s = l)) + : i.log( + "endpt to newendpt is not vert. or horz.", + r, + n, + m, + ); + } + if (((r = n), s >= 0)) break; + f += "L" + n; + } + if (s === t.edgepaths.length) { + i.log("unclosed perimeter path"); + break; + } + (h = s), + (d = -1 === p.indexOf(h)) && + ((h = p[0]), (f += "Z")); + } + for (h = 0; h < t.paths.length; h++) + f += a.smoothclosed(t.paths[h], t.smoothing); + return f; + } + function x(t, e, r, n) { + var a = e.width / 2, + o = e.height / 2, + s = t.x, + l = t.y, + u = t.theta, + c = Math.cos(u) * a, + f = Math.sin(u) * a, + h = + (s > n.center ? n.right - s : s - n.left) / + (c + Math.abs(Math.sin(u) * o)), + p = + (l > n.middle ? n.bottom - l : l - n.top) / + (Math.abs(f) + Math.cos(u) * o); + if (h < 1 || p < 1) return 1 / 0; + var d = y.EDGECOST * (1 / (h - 1) + 1 / (p - 1)); + d += y.ANGLECOST * u * u; + for ( + var v = s - c, g = l - f, m = s + c, x = l + f, b = 0; + b < r.length; + b++ + ) { + var _ = r[b], + w = (Math.cos(_.theta) * _.width) / 2, + T = (Math.sin(_.theta) * _.width) / 2, + k = + (2 * + i.segmentDistance( + v, + g, + m, + x, + _.x - w, + _.y - T, + _.x + w, + _.y + T, + )) / + (e.height + _.height), + A = _.level === e.level, + M = A ? y.SAMELEVELDISTANCE : 1; + if (k <= M) return 1 / 0; + d += + (y.NEIGHBORCOST * (A ? y.SAMELEVELFACTOR : 1)) / + (k - M); + } + return d; + } + function b(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++) + i[(r = n[e])[0]][r[1]] = 0; + return (t.zmask = i), i; + } + (e.plot = function (t, r, o, s) { + var l = r.xaxis, + u = r.yaxis; + i.makeTraceGroups(s, o, "contour").each(function (o) { + var s = n.select(this), + y = o[0], + x = y.trace, + _ = y.x, + w = y.y, + T = x.contours, + k = p(T, r, y), + A = i.ensureSingle(s, "g", "heatmapcoloring"), + M = []; + "heatmap" === T.coloring && (M = [o]), + c(t, r, M, A), + f(k), + h(k); + var S = l.c2p(_[0], !0), + E = l.c2p(_[_.length - 1], !0), + L = u.c2p(w[0], !0), + C = u.c2p(w[w.length - 1], !0), + O = [ + [S, C], + [E, C], + [E, L], + [S, L], + ], + P = k; + "constraint" === T.type && (P = d(k, T._operation)), + (function (t, e, r) { + var n = i + .ensureSingle(t, "g", "contourbg") + .selectAll("path") + .data("fill" === r.coloring ? [0] : []); + n.enter().append("path"), + n.exit().remove(), + n + .attr("d", "M" + e.join("L") + "Z") + .style("stroke", "none"); + })(s, O, T), + (function (t, e, r, a) { + var o = + "fill" === a.coloring || + ("constraint" === a.type && + "=" !== a._operation), + s = "M" + r.join("L") + "Z"; + o && v(e, a); + var l = i + .ensureSingle(t, "g", "contourfill") + .selectAll("path") + .data(o ? e : []); + l.enter().append("path"), + l.exit().remove(), + l.each(function (t) { + var e = (t.prefixBoundary ? s : "") + m(t, r); + e + ? n + .select(this) + .attr("d", e) + .style("stroke", "none") + : n.select(this).remove(); + }); + })(s, P, O, T), + (function (t, r, o, s, l) { + var u = o._context.staticPlot, + c = i.ensureSingle(t, "g", "contourlines"), + f = !1 !== l.showlines, + h = l.showlabels, + p = f && h, + d = e.createLines(c, f || h, r, u), + v = e.createLineClip(c, p, o, s.trace.uid), + y = t + .selectAll("g.contourlabels") + .data(h ? [0] : []); + if ( + (y.exit().remove(), + y + .enter() + .append("g") + .classed("contourlabels", !0), + h) + ) { + var m = [], + x = []; + i.clearLocationCache(); + var b = e.labelFormatter(o, s), + _ = a.tester + .append("text") + .attr("data-notex", 1) + .call(a.font, l.labelfont), + w = r[0].xaxis, + T = r[0].yaxis, + k = w._length, + A = T._length, + M = w.range, + S = T.range, + E = i.aggNums(Math.min, null, s.x), + L = i.aggNums(Math.max, null, s.x), + C = i.aggNums(Math.min, null, s.y), + O = i.aggNums(Math.max, null, s.y), + P = Math.max(w.c2p(E, !0), 0), + I = Math.min(w.c2p(L, !0), k), + D = Math.max(T.c2p(O, !0), 0), + z = Math.min(T.c2p(C, !0), A), + R = {}; + M[0] < M[1] + ? ((R.left = P), (R.right = I)) + : ((R.left = I), (R.right = P)), + S[0] < S[1] + ? ((R.top = D), (R.bottom = z)) + : ((R.top = z), (R.bottom = D)), + (R.middle = (R.top + R.bottom) / 2), + (R.center = (R.left + R.right) / 2), + m.push([ + [R.left, R.top], + [R.right, R.top], + [R.right, R.bottom], + [R.left, R.bottom], + ]); + var F = Math.sqrt(k * k + A * A), + B = + (g.LABELDISTANCE * F) / + Math.max(1, r.length / g.LABELINCREASE); + d.each(function (t) { + var r = e.calcTextOpts(t.level, b, _, o); + n.select(this) + .selectAll("path") + .each(function () { + var t = i.getVisibleSegment( + this, + R, + r.height / 2, + ); + if ( + t && + !( + t.len < + (r.width + r.height) * g.LABELMIN + ) + ) + for ( + var n = Math.min( + Math.ceil(t.len / B), + g.LABELMAX, + ), + a = 0; + a < n; + a++ + ) { + var o = e.findBestTextLocation( + this, + t, + r, + x, + R, + ); + if (!o) break; + e.addLabelData(o, r, x, m); + } + }); + }), + _.remove(), + e.drawLabels(y, x, o, v, p ? m : null); + } + h && !f && d.remove(); + })(s, k, t, y, T), + (function (t, e, r, n, o) { + var s = n.trace, + l = r._fullLayout._clips, + u = "clip" + s.uid, + c = l + .selectAll("#" + u) + .data(s.connectgaps ? [] : [0]); + if ( + (c + .enter() + .append("clipPath") + .classed("contourclip", !0) + .attr("id", u), + c.exit().remove(), + !1 === s.connectgaps) + ) { + var p = { + level: 0.9, + crossings: {}, + starts: [], + edgepaths: [], + paths: [], + xaxis: e.xaxis, + yaxis: e.yaxis, + x: n.x, + y: n.y, + z: b(n), + smoothing: 0, + }; + f([p]), + h([p]), + v([p], { type: "levels" }), + i + .ensureSingle(c, "path", "") + .attr( + "d", + (p.prefixBoundary + ? "M" + o.join("L") + "Z" + : "") + m(p, o), + ); + } else u = null; + a.setClipUrl(t, u, r); + })(s, r, t, y, O); + }); + }), + (e.createLines = function (t, e, r, n) { + var i = r[0].smoothing, + o = t.selectAll("g.contourlevel").data(e ? r : []); + if ( + (o.exit().remove(), + o.enter().append("g").classed("contourlevel", !0), + e) + ) { + var s = o + .selectAll("path.openline") + .data(function (t) { + return t.pedgepaths || t.edgepaths; + }); + s.exit().remove(), + s.enter().append("path").classed("openline", !0), + s + .attr("d", function (t) { + return a.smoothopen(t, i); + }) + .style("stroke-miterlimit", 1) + .style( + "vector-effect", + n ? "none" : "non-scaling-stroke", + ); + var l = o + .selectAll("path.closedline") + .data(function (t) { + return t.ppaths || t.paths; + }); + l.exit().remove(), + l + .enter() + .append("path") + .classed("closedline", !0), + l + .attr("d", function (t) { + return a.smoothclosed(t, i); + }) + .style("stroke-miterlimit", 1) + .style( + "vector-effect", + n ? "none" : "non-scaling-stroke", + ); + } + return o; + }), + (e.createLineClip = function (t, e, r, n) { + var i = e ? "clipline" + n : null, + o = r._fullLayout._clips + .selectAll("#" + i) + .data(e ? [0] : []); + return ( + o.exit().remove(), + o + .enter() + .append("clipPath") + .classed("contourlineclip", !0) + .attr("id", i), + a.setClipUrl(t, i, r), + o + ); + }), + (e.labelFormatter = function (t, e) { + var r = t._fullLayout, + n = e.trace, + i = n.contours, + a = { + type: "linear", + _id: "ycontour", + showexponent: "all", + exponentformat: "B", + }; + if (i.labelformat) + (a.tickformat = i.labelformat), u(a, r); + else { + var s = o.extractOpts(n); + if (s && s.colorbar && s.colorbar._axis) + a = s.colorbar._axis; + else { + if ("constraint" === i.type) { + var c = i.value; + Array.isArray(c) + ? (a.range = [c[0], c[c.length - 1]]) + : (a.range = [c, c]); + } else + (a.range = [i.start, i.end]), + (a.nticks = (i.end - i.start) / i.size); + a.range[0] === a.range[1] && + (a.range[1] += a.range[0] || 1), + a.nticks || (a.nticks = 1e3), + u(a, r), + l.prepTicks(a), + (a._tmin = null), + (a._tmax = null); + } + } + return function (t) { + return l.tickText(a, t).text; + }; + }), + (e.calcTextOpts = function (t, e, r, n) { + var i = e(t); + r.text(i).call(s.convertToTspans, n); + var o = r.node(), + l = a.bBox(o, !0); + return { + text: i, + width: l.width, + height: l.height, + fontSize: +o.style["font-size"].replace("px", ""), + level: t, + dy: (l.top + l.bottom) / 2, + }; + }), + (e.findBestTextLocation = function (t, e, r, n, a) { + var o, + s, + l, + u, + c, + f = r.width; + e.isClosed + ? ((s = e.len / y.INITIALSEARCHPOINTS), + (o = e.min + s / 2), + (l = e.max)) + : ((s = (e.len - f) / (y.INITIALSEARCHPOINTS + 1)), + (o = e.min + s + f / 2), + (l = e.max - (s + f) / 2)); + for (var h = 1 / 0, p = 0; p < y.ITERATIONS; p++) { + for (var d = o; d < l; d += s) { + var v = i.getTextLocation(t, e.total, d, f), + g = x(v, r, n, a); + g < h && ((h = g), (c = v), (u = d)); + } + if (h > 2 * y.MAXCOST) break; + p && (s /= 2), (l = (o = u - s / 2) + 1.5 * s); + } + if (h <= y.MAXCOST) return c; + }), + (e.addLabelData = function (t, e, r, n) { + var i = e.fontSize, + a = e.width + i / 3, + o = Math.max(0, e.height - i / 3), + s = t.x, + l = t.y, + u = t.theta, + c = Math.sin(u), + f = Math.cos(u), + h = function (t, e) { + return [s + t * f - e * c, l + t * c + e * f]; + }, + p = [ + h(-a / 2, -o / 2), + h(-a / 2, o / 2), + h(a / 2, o / 2), + h(a / 2, -o / 2), + ]; + r.push({ + text: e.text, + x: s, + y: l, + dy: e.dy, + theta: u, + level: e.level, + width: a, + height: o, + }), + n.push(p); + }), + (e.drawLabels = function (t, e, r, a, o) { + var l = t.selectAll("text").data(e, function (t) { + return ( + t.text + "," + t.x + "," + t.y + "," + t.theta + ); + }); + if ( + (l.exit().remove(), + l + .enter() + .append("text") + .attr({ + "data-notex": 1, + "text-anchor": "middle", + }) + .each(function (t) { + var e = t.x + Math.sin(t.theta) * t.dy, + i = t.y - Math.cos(t.theta) * t.dy; + n.select(this) + .text(t.text) + .attr({ + x: e, + y: i, + transform: + "rotate(" + + (180 * t.theta) / Math.PI + + " " + + e + + " " + + i + + ")", + }) + .call(s.convertToTspans, r); + }), + o) + ) { + for (var u = "", c = 0; c < o.length; c++) + u += "M" + o[c].join("L") + "Z"; + i.ensureSingle(a, "path", "").attr("d", u); + } + }); + }, + 18670: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(71828); + function a(t, e, r) { + var i = { type: "linear", range: [t, e] }; + return n.autoTicks(i, (e - t) / (r || 15)), i; + } + t.exports = function (t, e) { + var r = t.contours; + if (t.autocontour) { + var o = t.zmin, + s = t.zmax; + (t.zauto || void 0 === o) && + (o = i.aggNums(Math.min, null, e)), + (t.zauto || void 0 === s) && + (s = i.aggNums(Math.max, null, e)); + var l = a(o, s, t.ncontours); + (r.size = l.dtick), + (r.start = n.tickFirst(l)), + l.range.reverse(), + (r.end = n.tickFirst(l)), + r.start === o && (r.start += r.size), + r.end === s && (r.end -= r.size), + r.start > r.end && + (r.start = r.end = (r.start + r.end) / 2), + t._input.contours || (t._input.contours = {}), + i.extendFlat(t._input.contours, { + start: r.start, + end: r.end, + size: r.size, + }), + (t._input.autocontour = !0); + } else if ("constraint" !== r.type) { + var u, + c = r.start, + f = r.end, + h = t._input.contours; + c > f && + ((r.start = h.start = f), + (f = r.end = h.end = c), + (c = r.start)), + r.size > 0 || + ((u = c === f ? 1 : a(c, f, t.ncontours).dtick), + (h.size = r.size = u)); + } + }; + }, + 84426: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(91424), + a = r(70035), + o = r(86068); + t.exports = function (t) { + var e = n.select(t).selectAll("g.contour"); + e.style("opacity", function (t) { + return t[0].trace.opacity; + }), + e.each(function (t) { + var e = n.select(this), + r = t[0].trace, + a = r.contours, + s = r.line, + l = a.size || 1, + u = a.start, + c = "constraint" === a.type, + f = !c && "lines" === a.coloring, + h = !c && "fill" === a.coloring, + p = f || h ? o(r) : null; + e.selectAll("g.contourlevel").each(function (t) { + n.select(this) + .selectAll("path") + .call( + i.lineGroupStyle, + s.width, + f ? p(t.level) : s.color, + s.dash, + ); + }); + var d = a.labelfont; + if ( + (e + .selectAll("g.contourlabels text") + .each(function (t) { + i.font(n.select(this), { + family: d.family, + size: d.size, + color: + d.color || (f ? p(t.level) : s.color), + }); + }), + c) + ) + e.selectAll("g.contourfill path").style( + "fill", + r.fillcolor, + ); + else if (h) { + var v; + e + .selectAll("g.contourfill path") + .style("fill", function (t) { + return ( + void 0 === v && (v = t.level), + p(t.level + 0.5 * l) + ); + }), + void 0 === v && (v = u), + e + .selectAll("g.contourbg path") + .style("fill", p(v - 0.5 * l)); + } + }), + a(t); + }; + }, + 8724: function (t, e, r) { + "use strict"; + var n = r(1586), + i = r(14523); + t.exports = function (t, e, r, a, o) { + var s, + l = r("contours.coloring"), + u = ""; + "fill" === l && (s = r("contours.showlines")), + !1 !== s && + ("lines" !== l && (u = r("line.color", "#000")), + r("line.width", 0.5), + r("line.dash")), + "none" !== l && + (!0 !== t.showlegend && (e.showlegend = !1), + (e._dfltShowLegend = !1), + n(t, e, a, r, { prefix: "", cLetter: "z" })), + r("line.smoothing"), + i(r, a, u, o); + }; + }, + 88085: function (t, e, r) { + "use strict"; + var n = r(21606), + i = r(70600), + a = r(50693), + o = r(1426).extendFlat, + s = i.contours; + t.exports = o( + { + carpet: { valType: "string", editType: "calc" }, + z: n.z, + a: n.x, + a0: n.x0, + da: n.dx, + b: n.y, + b0: n.y0, + db: n.dy, + text: n.text, + hovertext: n.hovertext, + transpose: n.transpose, + atype: n.xtype, + btype: n.ytype, + fillcolor: i.fillcolor, + autocontour: i.autocontour, + ncontours: i.ncontours, + contours: { + type: s.type, + start: s.start, + end: s.end, + size: s.size, + coloring: { + valType: "enumerated", + values: ["fill", "lines", "none"], + dflt: "fill", + editType: "calc", + }, + showlines: s.showlines, + showlabels: s.showlabels, + labelfont: s.labelfont, + labelformat: s.labelformat, + operation: s.operation, + value: s.value, + editType: "calc", + impliedEdits: { autocontour: !1 }, + }, + line: { + color: i.line.color, + width: i.line.width, + dash: i.line.dash, + smoothing: i.line.smoothing, + editType: "plot", + }, + transforms: void 0, + }, + a("", { cLetter: "z", autoColorDflt: !1 }), + ); + }, + 59885: function (t, e, r) { + "use strict"; + var n = r(78803), + i = r(71828), + a = r(68296), + o = r(4742), + s = r(824), + l = r(43907), + u = r(70769), + c = r(75005), + f = r(22882), + h = r(18670); + t.exports = function (t, e) { + var r = (e._carpetTrace = f(t, e)); + if (r && r.visible && "legendonly" !== r.visible) { + if (!e.a || !e.b) { + var p = t.data[r.index], + d = t.data[e.index]; + d.a || (d.a = p.a), + d.b || (d.b = p.b), + c(d, e, e._defaultColor, t._fullLayout); + } + var v = (function (t, e) { + var r, + c, + f, + h, + p, + d, + v, + g = e._carpetTrace, + y = g.aaxis, + m = g.baxis; + (y._minDtick = 0), + (m._minDtick = 0), + i.isArray1D(e.z) && a(e, y, m, "a", "b", ["z"]), + (r = e._a = e._a || e.a), + (h = e._b = e._b || e.b), + (r = r ? y.makeCalcdata(e, "_a") : []), + (h = h ? m.makeCalcdata(e, "_b") : []), + (c = e.a0 || 0), + (f = e.da || 1), + (p = e.b0 || 0), + (d = e.db || 1), + (v = e._z = o(e._z || e.z, e.transpose)), + (e._emptypoints = l(v)), + s(v, e._emptypoints); + var x = i.maxRowLength(v), + b = "scaled" === e.xtype ? "" : r, + _ = u(e, b, c, f, x, y), + w = "scaled" === e.ytype ? "" : h, + T = { a: _, b: u(e, w, p, d, v.length, m), z: v }; + return ( + "levels" === e.contours.type && + "none" !== e.contours.coloring && + n(t, e, { + vals: v, + containerStr: "", + cLetter: "z", + }), + [T] + ); + })(t, e); + return h(e, e._z), v; + } + }; + }, + 75005: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(67684), + a = r(88085), + o = r(83179), + s = r(67217), + l = r(8724); + t.exports = function (t, e, r, u) { + function c(r, i) { + return n.coerce(t, e, a, r, i); + } + if ((c("carpet"), t.a && t.b)) { + if (!i(t, e, c, u, "a", "b")) + return void (e.visible = !1); + c("text"), + "constraint" === c("contours.type") + ? o(t, e, c, u, r, { hasHover: !1 }) + : (s(t, e, c, function (r) { + return n.coerce2(t, e, a, r); + }), + l(t, e, c, u, { hasHover: !1 })); + } else (e._defaultColor = r), (e._length = null); + }; + }, + 93740: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(88085), + supplyDefaults: r(75005), + colorbar: r(90654), + calc: r(59885), + plot: r(51048), + style: r(84426), + moduleType: "trace", + name: "contourcarpet", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "carpet", + "contour", + "symbols", + "showLegend", + "hasLines", + "carpetDependent", + "noHover", + "noSortingByValue", + ], + meta: {}, + }; + }, + 51048: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(27669), + a = r(67961), + o = r(91424), + s = r(71828), + l = r(87678), + u = r(81696), + c = r(29854), + f = r(36914), + h = r(84857), + p = r(87558), + d = r(20083), + v = r(22882), + g = r(4536); + function y(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 m(t) { + var e = Math.sqrt(t[0] * t[0] + t[1] * t[1]); + return [t[0] / e, t[1] / e]; + } + function x(t, e) { + var r = Math.abs(t[0] * e[0] + t[1] * e[1]); + return Math.sqrt(1 - r * r) / r; + } + t.exports = function (t, e, r, b) { + var _ = e.xaxis, + w = e.yaxis; + s.makeTraceGroups(b, r, "contour").each(function (r) { + var b = n.select(this), + T = r[0], + k = T.trace, + A = (k._carpetTrace = v(t, k)), + M = t.calcdata[A.index][0]; + if (A.visible && "legendonly" !== A.visible) { + var S = T.a, + E = T.b, + L = k.contours, + C = p(L, e, T), + O = "constraint" === L.type, + P = L._operation, + I = O + ? "=" === P + ? "lines" + : "fill" + : L.coloring, + D = [ + [S[0], E[E.length - 1]], + [S[S.length - 1], E[E.length - 1]], + [S[S.length - 1], E[0]], + [S[0], E[0]], + ]; + l(C); + var z = 1e-8 * (S[S.length - 1] - S[0]), + R = 1e-8 * (E[E.length - 1] - E[0]); + u(C, z, R); + var F, + B, + N, + j, + U = C; + "constraint" === L.type && (U = h(C, P)), + (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); + } + } + })(C, q); + var V = []; + for (j = M.clipsegments.length - 1; j >= 0; j--) + (F = M.clipsegments[j]), + (B = i([], F.x, _.c2p)), + (N = i([], F.y, w.c2p)), + B.reverse(), + N.reverse(), + V.push(a(B, N, F.bicubic)); + var H = "M" + V.join("L") + "Z"; + !(function (t, e, r, n, o, l) { + var u, + c, + f, + h, + p = s + .ensureSingle(t, "g", "contourbg") + .selectAll("path") + .data("fill" !== l || o ? [] : [0]); + p.enter().append("path"), p.exit().remove(); + var d = []; + for (h = 0; h < e.length; h++) + (u = e[h]), + (c = i([], u.x, r.c2p)), + (f = i([], u.y, n.c2p)), + d.push(a(c, f, u.bicubic)); + p.attr("d", "M" + d.join("L") + "Z").style( + "stroke", + "none", + ); + })(b, M.clipsegments, _, w, O, I), + (function (t, e, r, i, a, l, u, c, f, h, p) { + var v = "fill" === h; + v && d(a, t.contours); + var y = s + .ensureSingle(e, "g", "contourfill") + .selectAll("path") + .data(v ? a : []); + y.enter().append("path"), + y.exit().remove(), + y.each(function (t) { + var e = + (t.prefixBoundary ? p : "") + + (function (t, e, r, n, i, a, l, u) { + var c, + f, + h, + p, + d, + v, + y, + m = "", + x = e.edgepaths.map(function (t, e) { + return e; + }), + b = !0, + _ = + 1e-4 * Math.abs(r[0][0] - r[2][0]), + w = + 1e-4 * Math.abs(r[0][1] - r[2][1]); + function T(t) { + return Math.abs(t[1] - r[0][1]) < w; + } + function k(t) { + return Math.abs(t[1] - r[2][1]) < w; + } + function A(t) { + return Math.abs(t[0] - r[0][0]) < _; + } + function M(t) { + return Math.abs(t[0] - r[2][0]) < _; + } + function S(t, e) { + var r, + n, + o, + s, + c = ""; + for ( + (T(t) && !M(t)) || (k(t) && !A(t)) + ? ((s = i.aaxis), + (o = g( + i, + a, + [t[0], e[0]], + 0.5 * (t[1] + e[1]), + ))) + : ((s = i.baxis), + (o = g( + i, + a, + 0.5 * (t[0] + e[0]), + [t[1], e[1]], + ))), + r = 1; + r < o.length; + r++ + ) + for ( + c += s.smoothing ? "C" : "L", + n = 0; + n < o[r].length; + n++ + ) { + var f = o[r][n]; + c += + [l.c2p(f[0]), u.c2p(f[1])] + + " "; + } + return c; + } + for (c = 0, f = null; x.length; ) { + var E = e.edgepaths[c][0]; + for ( + f && (m += S(f, E)), + y = o.smoothopen( + e.edgepaths[c].map(n), + e.smoothing, + ), + m += b ? y : y.replace(/^M/, "L"), + x.splice(x.indexOf(c), 1), + f = + e.edgepaths[c][ + e.edgepaths[c].length - 1 + ], + d = -1, + p = 0; + p < 4; + p++ + ) { + if (!f) { + s.log("Missing end?", c, e); + break; + } + for ( + T(f) && !M(f) + ? (h = r[1]) + : A(f) + ? (h = r[0]) + : k(f) + ? (h = r[3]) + : M(f) && (h = r[2]), + v = 0; + v < e.edgepaths.length; + v++ + ) { + var L = e.edgepaths[v][0]; + Math.abs(f[0] - h[0]) < _ + ? Math.abs(f[0] - L[0]) < _ && + (L[1] - f[1]) * + (h[1] - L[1]) >= + 0 && + ((h = L), (d = v)) + : Math.abs(f[1] - h[1]) < w + ? Math.abs(f[1] - L[1]) < w && + (L[0] - f[0]) * + (h[0] - L[0]) >= + 0 && + ((h = L), (d = v)) + : s.log( + "endpt to newendpt is not vert. or horz.", + f, + h, + L, + ); + } + if (d >= 0) break; + (m += S(f, h)), (f = h); + } + if (d === e.edgepaths.length) { + s.log("unclosed perimeter path"); + break; + } + (c = d), + (b = -1 === x.indexOf(c)) && + ((c = x[0]), + (m += S(f, h) + "Z"), + (f = null)); + } + for (c = 0; c < e.paths.length; c++) + m += o.smoothclosed( + e.paths[c].map(n), + e.smoothing, + ); + return m; + })(0, t, l, u, c, f, r, i); + e + ? n + .select(this) + .attr("d", e) + .style("stroke", "none") + : n.select(this).remove(); + }); + })(k, b, _, w, U, D, q, A, M, I, H), + (function (t, e, r, i, a, l, u) { + var h = r._context.staticPlot, + p = s.ensureSingle(t, "g", "contourlines"), + d = !1 !== a.showlines, + v = a.showlabels, + g = d && v, + b = c.createLines(p, d || v, e, h), + _ = c.createLineClip(p, g, r, i.trace.uid), + w = t + .selectAll("g.contourlabels") + .data(v ? [0] : []); + if ( + (w.exit().remove(), + w + .enter() + .append("g") + .classed("contourlabels", !0), + v) + ) { + var T = l.xaxis, + k = l.yaxis, + A = T._length, + M = k._length, + S = [ + [ + [0, 0], + [A, 0], + [A, M], + [0, M], + ], + ], + E = []; + s.clearLocationCache(); + var L = c.labelFormatter(r, i), + C = o.tester + .append("text") + .attr("data-notex", 1) + .call(o.font, a.labelfont), + O = { + left: 0, + right: A, + center: A / 2, + top: 0, + bottom: M, + middle: M / 2, + }, + P = Math.sqrt(A * A + M * M), + I = + (f.LABELDISTANCE * P) / + Math.max(1, e.length / f.LABELINCREASE); + b.each(function (t) { + var e = c.calcTextOpts(t.level, L, C, r); + n.select(this) + .selectAll("path") + .each(function (r) { + var n = this, + i = s.getVisibleSegment( + n, + O, + e.height / 2, + ); + if ( + i && + ((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) { + var l = i.a[0], + u = i.a[i.a.length - 1], + c = i.b[0], + f = i.b[i.b.length - 1], + h = y(t, 0, 1), + p = y(t, n.total, n.total - 1), + d = g(o[0], h), + v = + n.total - + g(o[o.length - 1], p); + n.min < d && (n.min = d), + n.max > v && (n.max = v), + (n.len = n.max - n.min); + } + function g(t, e) { + var r, + n = 0, + o = 0.1; + return ( + (Math.abs(t[0] - l) < o || + Math.abs(t[0] - u) < o) && + ((r = m( + i.dxydb_rough( + t[0], + t[1], + o, + ), + )), + (n = Math.max( + n, + (a * x(e, r)) / 2, + ))), + (Math.abs(t[1] - c) < o || + Math.abs(t[1] - f) < o) && + ((r = m( + i.dxyda_rough( + t[0], + t[1], + o, + ), + )), + (n = Math.max( + n, + (a * x(e, r)) / 2, + ))), + n + ); + } + })(n, r, t, i, u, e.height), + !( + i.len < + (e.width + e.height) * f.LABELMIN + )) + ) + for ( + var a = Math.min( + Math.ceil(i.len / I), + f.LABELMAX, + ), + o = 0; + o < a; + o++ + ) { + var l = c.findBestTextLocation( + n, + i, + e, + E, + O, + ); + if (!l) break; + c.addLabelData(l, e, E, S); + } + }); + }), + C.remove(), + c.drawLabels(w, E, r, _, g ? S : null); + } + v && !d && b.remove(); + })(b, C, t, T, L, e, A), + o.setClipUrl(b, A._clipPathId, t); + } + function q(t) { + var e = A.ab2xy(t[0], t[1], !0); + return [_.c2p(e[0]), w.c2p(e[1])]; + } + }); + }; + }, + 64096: function (t, e, r) { + "use strict"; + var n = r(50693), + i = r(5386).fF, + a = r(9012), + o = r(99181), + s = r(1426).extendFlat; + t.exports = s( + { + lon: o.lon, + lat: o.lat, + z: { valType: "data_array", editType: "calc" }, + radius: { + valType: "number", + editType: "plot", + arrayOk: !0, + min: 1, + dflt: 30, + }, + below: { valType: "string", editType: "plot" }, + text: o.text, + hovertext: o.hovertext, + hoverinfo: s({}, a.hoverinfo, { + flags: ["lon", "lat", "z", "text", "name"], + }), + hovertemplate: i(), + showlegend: s({}, a.showlegend, { dflt: !1 }), + }, + n("", { cLetter: "z", editTypeOverride: "calc" }), + ); + }, + 85070: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828).isArrayOrTypedArray, + a = r(50606).BADNUM, + o = r(78803), + s = r(71828)._; + t.exports = function (t, e) { + for ( + var r = e._length, + l = new Array(r), + u = e.z, + c = i(u) && u.length, + f = 0; + f < r; + f++ + ) { + var h = (l[f] = {}), + p = e.lon[f], + d = e.lat[f]; + if ( + ((h.lonlat = n(p) && n(d) ? [+p, +d] : [a, a]), c) + ) { + var v = u[f]; + h.z = n(v) ? v : a; + } + } + return ( + o(t, e, { + vals: c ? u : [0, 1], + containerStr: "", + cLetter: "z", + }), + r && + (l[0].t = { + labels: { + lat: s(t, "lat:") + " ", + lon: s(t, "lon:") + " ", + }, + }), + l + ); + }; + }, + 52414: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(7901), + o = r(21081), + s = r(50606).BADNUM, + l = r(18214).makeBlank; + t.exports = function (t) { + var e = t[0].trace, + r = !0 === e.visible && 0 !== e._length, + u = (e._opts = { + heatmap: { + layout: { visibility: "none" }, + paint: {}, + }, + geojson: l(), + }); + if (!r) return u; + var c, + f = [], + h = e.z, + p = e.radius, + d = i.isArrayOrTypedArray(h) && h.length, + v = i.isArrayOrTypedArray(p); + for (c = 0; c < t.length; c++) { + var g = t[c], + y = g.lonlat; + if (y[0] !== s) { + var m = {}; + if (d) { + var x = g.z; + m.z = x !== s ? x : 0; + } + v && (m.r = n(p[c]) && p[c] > 0 ? +p[c] : 0), + f.push({ + type: "Feature", + geometry: { type: "Point", coordinates: y }, + properties: m, + }); + } + } + var b = o.extractOpts(e), + _ = b.reversescale + ? o.flipScale(b.colorscale) + : b.colorscale, + w = _[0][1], + T = [ + "interpolate", + ["linear"], + ["heatmap-density"], + 0, + a.opacity(w) < 1 ? w : a.addOpacity(w, 0), + ]; + for (c = 1; c < _.length; c++) T.push(_[c][0], _[c][1]); + var k = [ + "interpolate", + ["linear"], + ["get", "z"], + b.min, + 0, + b.max, + 1, + ]; + return ( + i.extendFlat(u.heatmap.paint, { + "heatmap-weight": d ? k : 1 / (b.max - b.min), + "heatmap-color": T, + "heatmap-radius": v + ? { type: "identity", property: "r" } + : e.radius, + "heatmap-opacity": e.opacity, + }), + (u.geojson = { + type: "FeatureCollection", + features: f, + }), + (u.heatmap.layout.visibility = "visible"), + u + ); + }; + }, + 79429: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(1586), + a = r(64096); + t.exports = function (t, e, r, o) { + function s(r, i) { + return n.coerce(t, e, a, r, i); + } + var l = s("lon") || [], + u = s("lat") || [], + c = Math.min(l.length, u.length); + c + ? ((e._length = c), + s("z"), + s("radius"), + s("below"), + s("text"), + s("hovertext"), + s("hovertemplate"), + i(t, e, o, s, { prefix: "", cLetter: "z" })) + : (e.visible = !1); + }; + }, + 62474: function (t) { + "use strict"; + t.exports = function (t, e) { + return (t.lon = e.lon), (t.lat = e.lat), (t.z = e.z), t; + }; + }, + 84684: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(28178).hoverPoints, + a = r(28178).getExtraText; + t.exports = function (t, e, r) { + var o = i(t, e, r); + if (o) { + var s = o[0], + l = s.cd, + u = l[0].trace, + c = l[s.index]; + if ((delete s.color, "z" in c)) { + var f = s.subplot.mockAxis; + (s.z = c.z), + (s.zLabel = n.tickText( + f, + f.c2l(c.z), + "hover", + ).text); + } + return (s.extraText = a(u, c, l[0].t.labels)), [s]; + } + }; + }, + 93814: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(64096), + supplyDefaults: r(79429), + colorbar: r(61243), + formatLabels: r(15636), + calc: r(85070), + plot: r(7336), + hoverPoints: r(84684), + eventData: r(62474), + getBelow: function (t, e) { + for ( + var r = e.getMapLayers(), n = 0; + n < r.length; + n++ + ) { + var i = r[n], + a = i.id; + if ( + "symbol" === i.type && + "string" == typeof a && + -1 === a.indexOf("plotly-") + ) + return a; + } + }, + moduleType: "trace", + name: "densitymapbox", + basePlotModule: r(50101), + categories: ["mapbox", "gl", "showLegend"], + meta: { hr_name: "density_mapbox" }, + }; + }, + 7336: function (t, e, r) { + "use strict"; + var n = r(52414), + i = r(77734).traceLayerPrefix; + function a(t, e) { + (this.type = "densitymapbox"), + (this.subplot = t), + (this.uid = e), + (this.sourceId = "source-" + e), + (this.layerList = [["heatmap", i + e + "-heatmap"]]), + (this.below = null); + } + var o = a.prototype; + (o.update = function (t) { + var e = this.subplot, + r = this.layerList, + i = n(t), + a = e.belowLookup["trace-" + this.uid]; + e.map.getSource(this.sourceId).setData(i.geojson), + a !== this.below && + (this._removeLayers(), + this._addLayers(i, a), + (this.below = a)); + for (var o = 0; o < r.length; o++) { + var s = r[o], + l = s[0], + u = s[1], + c = i[l]; + e.setOptions(u, "setLayoutProperty", c.layout), + "visible" === c.layout.visibility && + e.setOptions(u, "setPaintProperty", c.paint); + } + }), + (o._addLayers = function (t, e) { + for ( + var r = this.subplot, + n = this.layerList, + i = this.sourceId, + a = 0; + a < n.length; + a++ + ) { + var o = n[a], + s = o[0], + l = t[s]; + r.addLayer( + { + type: s, + id: o[1], + source: i, + layout: l.layout, + paint: l.paint, + }, + e, + ); + } + }), + (o._removeLayers = function () { + for ( + var t = this.subplot.map, + e = this.layerList, + r = e.length - 1; + r >= 0; + r-- + ) + t.removeLayer(e[r][1]); + }), + (o.dispose = function () { + var t = this.subplot.map; + this._removeLayers(), t.removeSource(this.sourceId); + }), + (t.exports = function (t, e) { + var r = e[0].trace, + i = new a(t, r.uid), + o = i.sourceId, + s = n(e), + l = (i.below = t.belowLookup["trace-" + r.uid]); + return ( + t.map.addSource(o, { + type: "geojson", + data: s.geojson, + }), + i._addLayers(s, l), + i + ); + }); + }, + 49789: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e) { + for (var r = 0; r < t.length; r++) t[r].i = r; + n.mergeArray(e.text, t, "tx"), + n.mergeArray(e.hovertext, t, "htx"); + var i = e.marker; + if (i) { + n.mergeArray(i.opacity, t, "mo"), + n.mergeArray(i.color, t, "mc"); + var a = i.line; + a && + (n.mergeArray(a.color, t, "mlc"), + n.mergeArrayCastPositive(a.width, t, "mlw")); + } + }; + }, + 1285: function (t, e, r) { + "use strict"; + var n, + i = r(1486), + a = r(82196).line, + o = r(9012), + s = r(12663).axisHoverFormat, + l = r(5386).fF, + u = r(5386).si, + c = r(18517), + f = r(1426).extendFlat, + h = r(7901); + t.exports = { + x: i.x, + x0: i.x0, + dx: i.dx, + y: i.y, + y0: i.y0, + dy: i.dy, + xperiod: i.xperiod, + yperiod: i.yperiod, + xperiod0: i.xperiod0, + yperiod0: i.yperiod0, + xperiodalignment: i.xperiodalignment, + yperiodalignment: i.yperiodalignment, + xhoverformat: s("x"), + yhoverformat: s("y"), + hovertext: i.hovertext, + hovertemplate: l({}, { keys: c.eventDataKeys }), + hoverinfo: f({}, o.hoverinfo, { + flags: [ + "name", + "x", + "y", + "text", + "percent initial", + "percent previous", + "percent total", + ], + }), + textinfo: { + valType: "flaglist", + flags: [ + "label", + "text", + "percent initial", + "percent previous", + "percent total", + "value", + ], + extras: ["none"], + editType: "plot", + arrayOk: !1, + }, + texttemplate: u( + { editType: "plot" }, + { keys: c.eventDataKeys.concat(["label", "value"]) }, + ), + text: i.text, + textposition: i.textposition, + insidetextanchor: f({}, i.insidetextanchor, { + dflt: "middle", + }), + textangle: f({}, i.textangle, { dflt: 0 }), + textfont: i.textfont, + insidetextfont: i.insidetextfont, + outsidetextfont: i.outsidetextfont, + constraintext: i.constraintext, + cliponaxis: i.cliponaxis, + orientation: f({}, i.orientation, {}), + offset: f({}, i.offset, { arrayOk: !1 }), + width: f({}, i.width, { arrayOk: !1 }), + marker: ((n = f({}, i.marker)), delete n.pattern, n), + connector: { + fillcolor: { valType: "color", editType: "style" }, + line: { + color: f({}, a.color, { dflt: h.defaultLine }), + width: f({}, a.width, { + dflt: 0, + editType: "plot", + }), + dash: a.dash, + editType: "style", + }, + visible: { + valType: "boolean", + dflt: !0, + editType: "plot", + }, + editType: "plot", + }, + offsetgroup: i.offsetgroup, + alignmentgroup: i.alignmentgroup, + }; + }, + 9532: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(42973), + a = r(49789), + o = r(66279), + s = r(50606).BADNUM; + function l(t) { + return t === s ? 0 : t; + } + t.exports = function (t, e) { + var r, + u, + c, + f, + h, + p, + d, + v, + g = n.getFromId(t, e.xaxis || "x"), + y = n.getFromId(t, e.yaxis || "y"); + "h" === e.orientation + ? ((r = g.makeCalcdata(e, "x")), + (c = y.makeCalcdata(e, "y")), + (f = i(e, y, "y", c)), + (h = !!e.yperiodalignment), + (p = "y")) + : ((r = y.makeCalcdata(e, "y")), + (c = g.makeCalcdata(e, "x")), + (f = i(e, g, "x", c)), + (h = !!e.xperiodalignment), + (p = "x")), + (u = f.vals); + var m, + x = Math.min(u.length, r.length), + b = new Array(x); + for (e._base = [], d = 0; d < x; d++) { + r[d] < 0 && (r[d] = s); + var _ = !1; + r[d] !== s && d + 1 < x && r[d + 1] !== s && (_ = !0), + (v = b[d] = { p: u[d], s: r[d], cNext: _ }), + (e._base[d] = -0.5 * v.s), + h && + ((b[d].orig_p = c[d]), + (b[d][p + "End"] = f.ends[d]), + (b[d][p + "Start"] = f.starts[d])), + e.ids && (v.id = String(e.ids[d])), + 0 === d && (b[0].vTotal = 0), + (b[0].vTotal += l(v.s)), + (v.begR = l(v.s) / l(b[0].s)); + } + for (d = 0; d < x; d++) + (v = b[d]).s !== s && + ((v.sumR = v.s / b[0].vTotal), + (v.difR = void 0 !== m ? v.s / m : 1), + (m = v.s)); + return a(b, e), o(b, e), b; + }; + }, + 18517: function (t) { + "use strict"; + t.exports = { + eventDataKeys: [ + "percentInitial", + "percentPrevious", + "percentTotal", + ], + }; + }, + 8984: function (t, e, r) { + "use strict"; + var n = r(11661).setGroupPositions; + t.exports = function (t, e) { + var r, + i, + a = t._fullLayout, + o = t._fullData, + s = t.calcdata, + l = e.xaxis, + u = e.yaxis, + c = [], + f = [], + h = []; + for (i = 0; i < o.length; i++) { + var p = o[i], + d = "h" === p.orientation; + !0 === p.visible && + p.xaxis === l._id && + p.yaxis === u._id && + "funnel" === p.type && + ((r = s[i]), d ? h.push(r) : f.push(r), c.push(r)); + } + var v = { + mode: a.funnelmode, + norm: a.funnelnorm, + gap: a.funnelgap, + groupgap: a.funnelgroupgap, + }; + for ( + n(t, l, u, f, v), n(t, u, l, h, v), i = 0; + i < c.length; + i++ + ) { + r = c[i]; + for (var g = 0; g < r.length; g++) + g + 1 < r.length && + ((r[g].nextP0 = r[g + 1].p0), + (r[g].nextS0 = r[g + 1].s0), + (r[g].nextP1 = r[g + 1].p1), + (r[g].nextS1 = r[g + 1].s1)); + } + }; + }, + 26199: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(26125), + a = r(90769).handleText, + o = r(67513), + s = r(73927), + l = r(1285), + u = r(7901); + t.exports = { + supplyDefaults: function (t, e, r, i) { + function c(r, i) { + return n.coerce(t, e, l, r, i); + } + if (o(t, e, i, c)) { + s(t, e, i, c), + c("xhoverformat"), + c("yhoverformat"), + c("orientation", e.y && !e.x ? "v" : "h"), + c("offset"), + c("width"); + var f = c("text"); + c("hovertext"), c("hovertemplate"); + var h = c("textposition"); + a(t, e, i, c, h, { + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !0, + moduleHasCliponaxis: !0, + moduleHasTextangle: !0, + moduleHasInsideanchor: !0, + }), + "none" === e.textposition || + e.texttemplate || + c( + "textinfo", + Array.isArray(f) ? "text+value" : "value", + ); + var p = c("marker.color", r); + c("marker.line.color", u.defaultLine), + c("marker.line.width"), + c("connector.visible") && + (c( + "connector.fillcolor", + (function (t) { + var e = n.isArrayOrTypedArray(t) + ? "#000" + : t; + return u.addOpacity(e, 0.5 * u.opacity(e)); + })(p), + ), + c("connector.line.width") && + (c("connector.line.color"), + c("connector.line.dash"))); + } else e.visible = !1; + }, + crossTraceDefaults: function (t, e) { + var r, a; + function o(t) { + return n.coerce(a._input, a, l, t); + } + if ("group" === e.funnelmode) + for (var s = 0; s < t.length; s++) + (r = (a = t[s])._input), i(r, a, e, o); + }, + }; + }, + 34598: function (t) { + "use strict"; + t.exports = function (t, e) { + return ( + (t.x = "xVal" in e ? e.xVal : e.x), + (t.y = "yVal" in e ? e.yVal : e.y), + "percentInitial" in e && + (t.percentInitial = e.percentInitial), + "percentPrevious" in e && + (t.percentPrevious = e.percentPrevious), + "percentTotal" in e && + (t.percentTotal = e.percentTotal), + e.xa && (t.xaxis = e.xa), + e.ya && (t.yaxis = e.ya), + t + ); + }; + }, + 63341: function (t, e, r) { + "use strict"; + var n = r(7901).opacity, + i = r(95423).hoverOnBars, + a = r(71828).formatPercent; + t.exports = function (t, e, r, o, s) { + var l = i(t, e, r, o, s); + if (l) { + var u = l.cd, + c = u[0].trace, + f = "h" === c.orientation, + h = u[l.index]; + (l[(f ? "x" : "y") + "LabelVal"] = h.s), + (l.percentInitial = h.begR), + (l.percentInitialLabel = a(h.begR, 1)), + (l.percentPrevious = h.difR), + (l.percentPreviousLabel = a(h.difR, 1)), + (l.percentTotal = h.sumR), + (l.percentTotalLabel = a(h.sumR, 1)); + var p = h.hi || c.hoverinfo, + d = []; + if (p && "none" !== p && "skip" !== p) { + var v = "all" === p, + g = p.split("+"), + y = function (t) { + return v || -1 !== g.indexOf(t); + }; + y("percent initial") && + d.push(l.percentInitialLabel + " of initial"), + y("percent previous") && + d.push(l.percentPreviousLabel + " of previous"), + y("percent total") && + d.push(l.percentTotalLabel + " of total"); + } + return ( + (l.extraText = d.join("
")), + (l.color = (function (t, e) { + var r = t.marker, + i = e.mc || r.color, + a = e.mlc || r.line.color, + o = e.mlw || r.line.width; + return n(i) ? i : n(a) && o ? a : void 0; + })(c, h)), + [l] + ); + } + }; + }, + 51759: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(1285), + layoutAttributes: r(10440), + supplyDefaults: r(26199).supplyDefaults, + crossTraceDefaults: r(26199).crossTraceDefaults, + supplyLayoutDefaults: r(93138), + calc: r(9532), + crossTraceCalc: r(8984), + plot: r(80461), + style: r(68266).style, + hoverPoints: r(63341), + eventData: r(34598), + selectPoints: r(81974), + moduleType: "trace", + name: "funnel", + basePlotModule: r(93612), + categories: [ + "bar-like", + "cartesian", + "svg", + "oriented", + "showLegend", + "zoomScale", + ], + meta: {}, + }; + }, + 10440: function (t) { + "use strict"; + t.exports = { + funnelmode: { + valType: "enumerated", + values: ["stack", "group", "overlay"], + dflt: "stack", + editType: "calc", + }, + funnelgap: { + valType: "number", + min: 0, + max: 1, + editType: "calc", + }, + funnelgroupgap: { + valType: "number", + min: 0, + max: 1, + dflt: 0, + editType: "calc", + }, + }; + }, + 93138: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(10440); + t.exports = function (t, e, r) { + var a = !1; + function o(r, a) { + return n.coerce(t, e, i, r, a); + } + for (var s = 0; s < r.length; s++) { + var l = r[s]; + if (l.visible && "funnel" === l.type) { + a = !0; + break; + } + } + a && + (o("funnelmode"), + o("funnelgap", 0.2), + o("funnelgroupgap")); + }; + }, + 80461: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(91424), + o = r(50606).BADNUM, + s = r(17295), + l = r(72597).clearMinTextSize; + function u(t, e, r, n) { + var i = [], + a = [], + o = n ? e : r, + s = n ? r : e; + return ( + (i[0] = o.c2p(t.s0, !0)), + (a[0] = s.c2p(t.p0, !0)), + (i[1] = o.c2p(t.s1, !0)), + (a[1] = s.c2p(t.p1, !0)), + (i[2] = o.c2p(t.nextS0, !0)), + (a[2] = s.c2p(t.nextP0, !0)), + (i[3] = o.c2p(t.nextS1, !0)), + (a[3] = s.c2p(t.nextP1, !0)), + n ? [i, a] : [a, i] + ); + } + t.exports = function (t, e, r, c) { + var f = t._fullLayout; + l("funnel", f), + (function (t, e, r, s) { + var l = e.xaxis, + c = e.yaxis; + i.makeTraceGroups(s, r, "trace bars").each( + function (r) { + var s = n.select(this), + f = r[0].trace, + h = i.ensureSingle(s, "g", "regions"); + if (f.connector && f.connector.visible) { + var p = "h" === f.orientation, + d = h + .selectAll("g.region") + .data(i.identity); + d.enter().append("g").classed("region", !0), + d.exit().remove(); + var v = d.size(); + d.each(function (r, s) { + if (s === v - 1 || r.cNext) { + var f = u(r, l, c, p), + h = f[0], + d = f[1], + g = ""; + h[0] !== o && + d[0] !== o && + h[1] !== o && + d[1] !== o && + h[2] !== o && + d[2] !== o && + h[3] !== o && + d[3] !== o && + (g += p + ? "M" + + h[0] + + "," + + d[1] + + "L" + + h[2] + + "," + + d[2] + + "H" + + h[3] + + "L" + + h[1] + + "," + + d[1] + + "Z" + : "M" + + h[1] + + "," + + d[1] + + "L" + + h[2] + + "," + + d[3] + + "V" + + d[2] + + "L" + + h[1] + + "," + + d[0] + + "Z"), + "" === g && (g = "M0,0Z"), + i + .ensureSingle(n.select(this), "path") + .attr("d", g) + .call(a.setClipUrl, e.layerClipId, t); + } + }); + } else h.remove(); + }, + ); + })(t, e, r, c), + (function (t, e, r, o) { + var s = e.xaxis, + l = e.yaxis; + i.makeTraceGroups(o, r, "trace bars").each( + function (r) { + var o = n.select(this), + c = r[0].trace, + f = i.ensureSingle(o, "g", "lines"); + if ( + c.connector && + c.connector.visible && + c.connector.line.width + ) { + var h = "h" === c.orientation, + p = f.selectAll("g.line").data(i.identity); + p.enter().append("g").classed("line", !0), + p.exit().remove(); + var d = p.size(); + p.each(function (r, o) { + if (o === d - 1 || r.cNext) { + var c = u(r, s, l, h), + f = c[0], + p = c[1], + v = ""; + void 0 !== f[3] && + void 0 !== p[3] && + (h + ? ((v += + "M" + + f[0] + + "," + + p[1] + + "L" + + f[2] + + "," + + p[2]), + (v += + "M" + + f[1] + + "," + + p[1] + + "L" + + f[3] + + "," + + p[2])) + : ((v += + "M" + + f[1] + + "," + + p[1] + + "L" + + f[2] + + "," + + p[3]), + (v += + "M" + + f[1] + + "," + + p[0] + + "L" + + f[2] + + "," + + p[2]))), + "" === v && (v = "M0,0Z"), + i + .ensureSingle(n.select(this), "path") + .attr("d", v) + .call(a.setClipUrl, e.layerClipId, t); + } + }); + } else f.remove(); + }, + ); + })(t, e, r, c), + s.plot(t, e, r, c, { + mode: f.funnelmode, + norm: f.funnelmode, + gap: f.funnelgap, + groupgap: f.funnelgroupgap, + }); + }; + }, + 68266: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(91424), + a = r(7901), + o = r(37822).DESELECTDIM, + s = r(16688), + l = r(72597).resizeText, + u = s.styleTextPoints; + t.exports = { + style: function (t, e, r) { + var s = + r || + n + .select(t) + .selectAll("g.funnellayer") + .selectAll("g.trace"); + l(t, s, "funnel"), + s.style("opacity", function (t) { + return t[0].trace.opacity; + }), + s.each(function (e) { + var r = n.select(this), + s = e[0].trace; + r.selectAll(".point > path").each(function (t) { + if (!t.isBlank) { + var e = s.marker; + n.select(this) + .call(a.fill, t.mc || e.color) + .call(a.stroke, t.mlc || e.line.color) + .call( + i.dashLine, + e.line.dash, + t.mlw || e.line.width, + ) + .style( + "opacity", + s.selectedpoints && !t.selected ? o : 1, + ); + } + }), + u(r, s, t), + r.selectAll(".regions").each(function () { + n.select(this) + .selectAll("path") + .style("stroke-width", 0) + .call(a.fill, s.connector.fillcolor); + }), + r.selectAll(".lines").each(function () { + var t = s.connector.line; + i.lineGroupStyle( + n.select(this).selectAll("path"), + t.width, + t.color, + t.dash, + ); + }); + }); + }, + }; + }, + 86807: function (t, e, r) { + "use strict"; + var n = r(34e3), + i = r(9012), + a = r(27670).Y, + o = r(5386).fF, + s = r(5386).si, + l = r(1426).extendFlat; + t.exports = { + labels: n.labels, + label0: n.label0, + dlabel: n.dlabel, + values: n.values, + marker: { + colors: n.marker.colors, + line: { + color: l({}, n.marker.line.color, { dflt: null }), + width: l({}, n.marker.line.width, { dflt: 1 }), + editType: "calc", + }, + pattern: n.marker.pattern, + editType: "calc", + }, + text: n.text, + hovertext: n.hovertext, + scalegroup: l({}, n.scalegroup, {}), + textinfo: l({}, n.textinfo, { + flags: ["label", "text", "value", "percent"], + }), + texttemplate: s( + { editType: "plot" }, + { + keys: [ + "label", + "color", + "value", + "text", + "percent", + ], + }, + ), + hoverinfo: l({}, i.hoverinfo, { + flags: ["label", "text", "value", "percent", "name"], + }), + hovertemplate: o( + {}, + { + keys: [ + "label", + "color", + "value", + "text", + "percent", + ], + }, + ), + textposition: l({}, n.textposition, { + values: ["inside", "none"], + dflt: "inside", + }), + textfont: n.textfont, + insidetextfont: n.insidetextfont, + title: { + text: n.title.text, + font: n.title.font, + position: l({}, n.title.position, { + values: ["top left", "top center", "top right"], + dflt: "top center", + }), + editType: "plot", + }, + domain: a({ + name: "funnelarea", + trace: !0, + editType: "calc", + }), + aspectratio: { + valType: "number", + min: 0, + dflt: 1, + editType: "plot", + }, + baseratio: { + valType: "number", + min: 0, + max: 1, + dflt: 0.333, + editType: "plot", + }, + }; + }, + 6452: function (t, e, r) { + "use strict"; + var n = r(74875); + (e.name = "funnelarea"), + (e.plot = function (t, r, i, a) { + n.plotBasePlot(e.name, t, r, i, a); + }), + (e.clean = function (t, r, i, a) { + n.cleanBasePlot(e.name, t, r, i, a); + }); + }, + 89574: function (t, e, r) { + "use strict"; + var n = r(32354); + t.exports = { + calc: function (t, e) { + return n.calc(t, e); + }, + crossTraceCalc: function (t) { + n.crossTraceCalc(t, { type: "funnelarea" }); + }, + }; + }, + 86282: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(86807), + a = r(27670).c, + o = r(90769).handleText, + s = r(37434).handleLabelsAndValues, + l = r(37434).handleMarkerDefaults; + t.exports = function (t, e, r, u) { + function c(r, a) { + return n.coerce(t, e, i, r, a); + } + var f = c("labels"), + h = c("values"), + p = s(f, h), + d = p.len; + if ( + ((e._hasLabels = p.hasLabels), + (e._hasValues = p.hasValues), + !e._hasLabels && + e._hasValues && + (c("label0"), c("dlabel")), + d) + ) { + (e._length = d), l(t, e, u, c), c("scalegroup"); + var v, + g = c("text"), + y = c("texttemplate"); + if ( + (y || + (v = c( + "textinfo", + Array.isArray(g) ? "text+percent" : "percent", + )), + c("hovertext"), + c("hovertemplate"), + y || (v && "none" !== v)) + ) { + var m = c("textposition"); + o(t, e, u, c, m, { + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !1, + moduleHasCliponaxis: !1, + moduleHasTextangle: !1, + moduleHasInsideanchor: !1, + }); + } + a(e, u, c), + c("title.text") && + (c("title.position"), + n.coerceFont(c, "title.font", u.font)), + c("aspectratio"), + c("baseratio"); + } else e.visible = !1; + }; + }, + 10421: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "funnelarea", + basePlotModule: r(6452), + categories: ["pie-like", "funnelarea", "showLegend"], + attributes: r(86807), + layoutAttributes: r(80097), + supplyDefaults: r(86282), + supplyLayoutDefaults: r(57402), + calc: r(89574).calc, + crossTraceCalc: r(89574).crossTraceCalc, + plot: r(79187), + style: r(71858), + styleOne: r(63463), + meta: {}, + }; + }, + 80097: function (t, e, r) { + "use strict"; + var n = r(92774).hiddenlabels; + t.exports = { + hiddenlabels: n, + funnelareacolorway: { + valType: "colorlist", + editType: "calc", + }, + extendfunnelareacolors: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + }; + }, + 57402: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(80097); + t.exports = function (t, e) { + function r(r, a) { + return n.coerce(t, e, i, r, a); + } + r("hiddenlabels"), + r("funnelareacolorway", e.colorway), + r("extendfunnelareacolors"); + }; + }, + 79187: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(91424), + a = r(71828), + o = a.strScale, + s = a.strTranslate, + l = r(63893), + u = r(17295).toMoveInsideBar, + c = r(72597), + f = c.recordMinTextSize, + h = c.clearMinTextSize, + p = r(53581), + d = r(14575), + v = d.attachFxHandlers, + g = d.determineInsideTextFont, + y = d.layoutAreas, + m = d.prerenderTitles, + x = d.positionTitleOutside, + b = d.formatSliceLabel; + function _(t, e) { + return "l" + (e[0] - t[0]) + "," + (e[1] - t[1]); + } + t.exports = function (t, e) { + var r = t._context.staticPlot, + c = t._fullLayout; + h("funnelarea", c), + m(e, t), + y(e, c._size), + a + .makeTraceGroups(c._funnelarealayer, e, "trace") + .each(function (e) { + var h = n.select(this), + d = e[0], + y = d.trace; + !(function (t) { + if (t.length) { + var e = t[0], + r = e.trace, + n = r.aspectratio, + i = r.baseratio; + i > 0.999 && (i = 0.999); + var a, + o, + s, + l = Math.pow(i, 2), + u = e.vTotal, + c = u, + f = (u * l) / (1 - l) / u, + h = []; + for ( + h.push(E()), o = t.length - 1; + o > -1; + o-- + ) + if (!(s = t[o]).hidden) { + var p = s.v / c; + (f += p), h.push(E()); + } + var d = 1 / 0, + v = -1 / 0; + for (o = 0; o < h.length; o++) + (a = h[o]), + (d = Math.min(d, a[1])), + (v = Math.max(v, a[1])); + for (o = 0; o < h.length; o++) + h[o][1] -= (v + d) / 2; + var g = h[h.length - 1][0], + y = e.r, + m = (v - d) / 2, + x = y / g, + b = (y / m) * n; + for (e.r = b * m, o = 0; o < h.length; o++) + (h[o][0] *= x), (h[o][1] *= b); + var _ = [-(a = h[0])[0], a[1]], + w = [a[0], a[1]], + T = 0; + for (o = t.length - 1; o > -1; o--) + if (!(s = t[o]).hidden) { + var k = h[(T += 1)][0], + A = h[T][1]; + (s.TL = [-k, A]), + (s.TR = [k, A]), + (s.BL = _), + (s.BR = w), + (s.pxmid = + ((M = s.TR), + (S = s.BR), + [ + 0.5 * (M[0] + S[0]), + 0.5 * (M[1] + S[1]), + ])), + (_ = s.TL), + (w = s.TR); + } + } + var M, S; + function E() { + var t, + e = { x: (t = Math.sqrt(f)), y: -t }; + return [e.x, e.y]; + } + })(e), + h.each(function () { + var h = n + .select(this) + .selectAll("g.slice") + .data(e); + h.enter().append("g").classed("slice", !0), + h.exit().remove(), + h.each(function (o, s) { + if (o.hidden) + n.select(this) + .selectAll("path,g") + .remove(); + else { + (o.pointNumber = o.i), + (o.curveNumber = y.index); + var h = d.cx, + m = d.cy, + x = n.select(this), + w = x + .selectAll("path.surface") + .data([o]); + w + .enter() + .append("path") + .classed("surface", !0) + .style({ + "pointer-events": r + ? "none" + : "all", + }), + x.call(v, t, e); + var T = + "M" + + (h + o.TR[0]) + + "," + + (m + o.TR[1]) + + _(o.TR, o.BR) + + _(o.BR, o.BL) + + _(o.BL, o.TL) + + "Z"; + w.attr("d", T), b(t, o, d); + var k = p.castOption( + y.textposition, + o.pts, + ), + A = x + .selectAll("g.slicetext") + .data( + o.text && "none" !== k ? [0] : [], + ); + A.enter() + .append("g") + .classed("slicetext", !0), + A.exit().remove(), + A.each(function () { + var r = a.ensureSingle( + n.select(this), + "text", + "", + function (t) { + t.attr("data-notex", 1); + }, + ), + p = a.ensureUniformFontSize( + t, + g(y, o, c.font), + ); + r.text(o.text) + .attr({ + class: "slicetext", + transform: "", + "text-anchor": "middle", + }) + .call(i.font, p) + .call(l.convertToTspans, t); + var d, + v, + x, + b = i.bBox(r.node()), + _ = + Math.min(o.BL[1], o.BR[1]) + m, + w = + Math.max(o.TL[1], o.TR[1]) + m; + (v = + Math.max(o.TL[0], o.BL[0]) + h), + (x = + Math.min(o.TR[0], o.BR[0]) + h), + ((d = u(v, x, _, w, b, { + isHorizontal: !0, + constrained: !0, + angle: 0, + anchor: "middle", + })).fontSize = p.size), + f(y.type, d, c), + (e[s].transform = d), + a.setTransormAndDisplay(r, d); + }); + } + }); + var m = n + .select(this) + .selectAll("g.titletext") + .data(y.title.text ? [0] : []); + m + .enter() + .append("g") + .classed("titletext", !0), + m.exit().remove(), + m.each(function () { + var e = a.ensureSingle( + n.select(this), + "text", + "", + function (t) { + t.attr("data-notex", 1); + }, + ), + r = y.title.text; + y._meta && + (r = a.templateString(r, y._meta)), + e + .text(r) + .attr({ + class: "titletext", + transform: "", + "text-anchor": "middle", + }) + .call(i.font, y.title.font) + .call(l.convertToTspans, t); + var u = x(d, c._size); + e.attr( + "transform", + s(u.x, u.y) + + o(Math.min(1, u.scale)) + + s(u.tx, u.ty), + ); + }); + }); + }); + }; + }, + 71858: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(63463), + a = r(72597).resizeText; + t.exports = function (t) { + var e = + t._fullLayout._funnelarealayer.selectAll(".trace"); + a(t, e, "funnelarea"), + e.each(function (e) { + var r = e[0].trace, + a = n.select(this); + a.style({ opacity: r.opacity }), + a.selectAll("path.surface").each(function (e) { + n.select(this).call(i, e, r, t); + }); + }); + }; + }, + 21606: function (t, e, r) { + "use strict"; + var n = r(82196), + i = r(9012), + a = r(41940), + o = r(12663).axisHoverFormat, + s = r(5386).fF, + l = r(5386).si, + u = r(50693), + c = r(1426).extendFlat; + t.exports = c( + { + z: { valType: "data_array", editType: "calc" }, + x: c({}, n.x, { impliedEdits: { xtype: "array" } }), + x0: c({}, n.x0, { + impliedEdits: { xtype: "scaled" }, + }), + dx: c({}, n.dx, { + impliedEdits: { xtype: "scaled" }, + }), + y: c({}, n.y, { impliedEdits: { ytype: "array" } }), + y0: c({}, n.y0, { + impliedEdits: { ytype: "scaled" }, + }), + dy: c({}, n.dy, { + impliedEdits: { ytype: "scaled" }, + }), + xperiod: c({}, n.xperiod, { + impliedEdits: { xtype: "scaled" }, + }), + yperiod: c({}, n.yperiod, { + impliedEdits: { ytype: "scaled" }, + }), + xperiod0: c({}, n.xperiod0, { + impliedEdits: { xtype: "scaled" }, + }), + yperiod0: c({}, n.yperiod0, { + impliedEdits: { ytype: "scaled" }, + }), + xperiodalignment: c({}, n.xperiodalignment, { + impliedEdits: { xtype: "scaled" }, + }), + yperiodalignment: c({}, n.yperiodalignment, { + impliedEdits: { ytype: "scaled" }, + }), + text: { valType: "data_array", editType: "calc" }, + hovertext: { + 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", + }, + hoverongaps: { + valType: "boolean", + dflt: !0, + editType: "none", + }, + connectgaps: { valType: "boolean", editType: "calc" }, + xgap: { + valType: "number", + dflt: 0, + min: 0, + editType: "plot", + }, + ygap: { + valType: "number", + dflt: 0, + min: 0, + editType: "plot", + }, + xhoverformat: o("x"), + yhoverformat: o("y"), + zhoverformat: o("z", 1), + hovertemplate: s(), + texttemplate: l( + { arrayOk: !1, editType: "plot" }, + { keys: ["x", "y", "z", "text"] }, + ), + textfont: a({ + editType: "plot", + autoSize: !0, + autoColor: !0, + colorEditType: "style", + }), + showlegend: c({}, i.showlegend, { dflt: !1 }), + }, + { transforms: void 0 }, + u("", { cLetter: "z", autoColorDflt: !1 }), + ); + }, + 90757: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(89298), + o = r(42973), + s = r(17562), + l = r(78803), + u = r(68296), + c = r(4742), + f = r(824), + h = r(43907), + p = r(70769), + d = r(50606).BADNUM; + function v(t) { + for (var e = [], r = t.length, n = 0; n < r; n++) { + var i = t[n]; + i !== d && e.push(i); + } + return e; + } + t.exports = function (t, e) { + var r, + g, + y, + m, + x, + b, + _, + w, + T, + k, + A, + M = a.getFromId(t, e.xaxis || "x"), + S = a.getFromId(t, e.yaxis || "y"), + E = n.traceIs(e, "contour"), + L = n.traceIs(e, "histogram"), + C = n.traceIs(e, "gl2d"), + O = E ? "best" : e.zsmooth; + if (((M._minDtick = 0), (S._minDtick = 0), L)) + (m = (A = s(t, e)).orig_x), + (r = A.x), + (g = A.x0), + (y = A.dx), + (w = A.orig_y), + (x = A.y), + (b = A.y0), + (_ = A.dy), + (T = A.z); + else { + var P = e.z; + i.isArray1D(P) + ? (u(e, M, S, "x", "y", ["z"]), + (r = e._x), + (x = e._y), + (P = e._z)) + : ((m = e.x ? M.makeCalcdata(e, "x") : []), + (w = e.y ? S.makeCalcdata(e, "y") : []), + (r = o(e, M, "x", m).vals), + (x = o(e, S, "y", w).vals), + (e._x = r), + (e._y = x)), + (g = e.x0), + (y = e.dx), + (b = e.y0), + (_ = e.dy), + (T = c(P, e, M, S)); + } + function I(t) { + (O = e._input.zsmooth = e.zsmooth = !1), + i.warn('cannot use zsmooth: "fast": ' + t); + } + function D(t) { + if (t.length > 1) { + var e = (t[t.length - 1] - t[0]) / (t.length - 1), + r = Math.abs(e / 100); + for (k = 0; k < t.length - 1; k++) + if (Math.abs(t[k + 1] - t[k] - e) > r) return !1; + } + return !0; + } + (M.rangebreaks || S.rangebreaks) && + ((T = (function (t, e, r) { + for (var n = [], i = -1, a = 0; a < r.length; a++) + if (e[a] !== d) { + n[++i] = []; + for (var o = 0; o < r[a].length; o++) + t[o] !== d && n[i].push(r[a][o]); + } + return n; + })(r, x, T)), + L || + ((r = v(r)), (x = v(x)), (e._x = r), (e._y = x))), + L || + (!E && !e.connectgaps) || + ((e._emptypoints = h(T)), f(T, e._emptypoints)), + (e._islinear = !1), + "log" === M.type || "log" === S.type + ? "fast" === O && I("log axis found") + : D(r) + ? D(x) + ? (e._islinear = !0) + : "fast" === O && I("y scale is not linear") + : "fast" === O && I("x scale is not linear"); + var z = i.maxRowLength(T), + R = "scaled" === e.xtype ? "" : r, + F = p(e, R, g, y, z, M), + B = "scaled" === e.ytype ? "" : x, + N = p(e, B, b, _, T.length, S); + C || + ((e._extremes[M._id] = a.findExtremes(M, F)), + (e._extremes[S._id] = a.findExtremes(S, N))); + var j = { + x: F, + y: N, + z: T, + text: e._text || e.text, + hovertext: e._hovertext || e.hovertext, + }; + if ( + (e.xperiodalignment && m && (j.orig_x = m), + e.yperiodalignment && w && (j.orig_y = w), + R && R.length === F.length - 1 && (j.xCenter = R), + B && B.length === N.length - 1 && (j.yCenter = B), + L && + ((j.xRanges = A.xRanges), + (j.yRanges = A.yRanges), + (j.pts = A.pts)), + E || l(t, e, { vals: T, cLetter: "z" }), + E && e.contours && "heatmap" === e.contours.coloring) + ) { + var U = { + type: + "contour" === e.type ? "heatmap" : "histogram2d", + xcalendar: e.xcalendar, + ycalendar: e.ycalendar, + }; + (j.xfill = p(U, R, g, y, z, M)), + (j.yfill = p(U, B, b, _, T.length, S)); + } + return [j]; + }; + }, + 4742: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(50606).BADNUM; + t.exports = function (t, e, r, o) { + var s, l, u, c, f, h; + function p(t) { + if (n(t)) return +t; + } + if (e && e.transpose) { + for (s = 0, f = 0; f < t.length; f++) + s = Math.max(s, t[f].length); + if (0 === s) return !1; + (u = function (t) { + return t.length; + }), + (c = function (t, e, r) { + return (t[r] || [])[e]; + }); + } else + (s = t.length), + (u = function (t, e) { + return t[e].length; + }), + (c = function (t, e, r) { + return (t[e] || [])[r]; + }); + var d = function (t, e, r) { + return e === a || r === a ? a : c(t, e, r); + }; + function v(t) { + if ( + e && + "carpet" !== e.type && + "contourcarpet" !== e.type && + t && + "category" === t.type && + e["_" + t._id.charAt(0)].length + ) { + var r = t._id.charAt(0), + n = {}, + o = e["_" + r + "CategoryMap"] || e[r]; + for (f = 0; f < o.length; f++) n[o[f]] = f; + return function (e) { + var r = n[t._categories[e]]; + return r + 1 ? r : a; + }; + } + return i.identity; + } + var g = v(r), + y = v(o); + o && + "category" === o.type && + (s = o._categories.length); + var m = new Array(s); + for (f = 0; f < s; f++) + for ( + l = + r && "category" === r.type + ? r._categories.length + : u(t, f), + m[f] = new Array(l), + h = 0; + h < l; + h++ + ) + m[f][h] = p(d(t, y(f), g(h))); + return m; + }; + }, + 61243: function (t) { + "use strict"; + t.exports = { min: "zmin", max: "zmax" }; + }, + 68296: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(50606).BADNUM, + a = r(42973); + t.exports = function (t, e, r, o, s, l) { + var u = t._length, + c = e.makeCalcdata(t, o), + f = r.makeCalcdata(t, s); + (c = a(t, e, o, c).vals), (f = a(t, r, s, f).vals); + var h, + p, + d, + v, + g = t.text, + y = void 0 !== g && n.isArray1D(g), + m = t.hovertext, + x = void 0 !== m && n.isArray1D(m), + b = n.distinctVals(c), + _ = b.vals, + w = n.distinctVals(f), + T = w.vals, + k = [], + A = T.length, + M = _.length; + for (h = 0; h < l.length; h++) + k[h] = n.init2dArray(A, M); + y && (d = n.init2dArray(A, M)), + x && (v = n.init2dArray(A, M)); + var S = n.init2dArray(A, M); + for (h = 0; h < u; h++) + if (c[h] !== i && f[h] !== i) { + var E = n.findBin(c[h] + b.minDiff / 2, _), + L = n.findBin(f[h] + w.minDiff / 2, T); + for (p = 0; p < l.length; p++) { + var C = t[l[p]]; + (k[p][L][E] = C[h]), (S[L][E] = h); + } + y && (d[L][E] = g[h]), x && (v[L][E] = m[h]); + } + for ( + t["_" + o] = _, t["_" + s] = T, p = 0; + p < l.length; + p++ + ) + t["_" + l[p]] = k[p]; + y && (t._text = d), + x && (t._hovertext = v), + e && + "category" === e.type && + (t["_" + o + "CategoryMap"] = _.map(function (t) { + return e._categories[t]; + })), + r && + "category" === r.type && + (t["_" + s + "CategoryMap"] = T.map(function (t) { + return r._categories[t]; + })), + (t._after2before = S); + }; + }, + 76382: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(67684), + a = r(58623), + o = r(73927), + s = r(49901), + l = r(1586), + u = r(21606); + t.exports = function (t, e, r, c) { + function f(r, i) { + return n.coerce(t, e, u, r, i); + } + i(t, e, f, c) + ? (o(t, e, c, f), + f("xhoverformat"), + f("yhoverformat"), + f("text"), + f("hovertext"), + f("hovertemplate"), + a(f, c), + s(t, e, f, c), + f("hoverongaps"), + f( + "connectgaps", + n.isArray1D(e.z) && !1 !== e.zsmooth, + ), + l(t, e, c, f, { prefix: "", cLetter: "z" })) + : (e.visible = !1); + }; + }, + 43907: function (t, e, r) { + "use strict"; + var n = r(71828).maxRowLength; + t.exports = function (t) { + var e, + r, + i, + a, + o, + s, + l, + u, + c = [], + f = {}, + h = [], + p = t[0], + d = [], + v = [0, 0, 0], + g = n(t); + for (r = 0; r < t.length; r++) + for ( + e = d, d = p, p = t[r + 1] || [], i = 0; + i < g; + i++ + ) + void 0 === d[i] && + ((s = + (void 0 !== d[i - 1] ? 1 : 0) + + (void 0 !== d[i + 1] ? 1 : 0) + + (void 0 !== e[i] ? 1 : 0) + + (void 0 !== p[i] ? 1 : 0)) + ? (0 === r && s++, + 0 === i && s++, + r === t.length - 1 && s++, + i === d.length - 1 && s++, + s < 4 && (f[[r, i]] = [r, i, s]), + c.push([r, i, s])) + : h.push([r, i])); + for (; h.length; ) { + for (l = {}, u = !1, o = h.length - 1; o >= 0; o--) + (s = + ((f[[(r = (a = h[o])[0]) - 1, (i = a[1])]] || + v)[2] + + (f[[r + 1, i]] || v)[2] + + (f[[r, i - 1]] || v)[2] + + (f[[r, i + 1]] || v)[2]) / + 20) && + ((l[a] = [r, i, s]), h.splice(o, 1), (u = !0)); + if (!u) + throw "findEmpties iterated with no new neighbors"; + for (a in l) (f[a] = l[a]), c.push(l[a]); + } + return c.sort(function (t, e) { + return e[2] - t[2]; + }); + }; + }, + 46248: function (t, e, r) { + "use strict"; + var n = r(30211), + i = r(71828), + a = r(89298), + o = r(21081).extractOpts; + t.exports = function (t, e, r, s, l) { + l || (l = {}); + var u, + c, + f, + h, + p = l.isContour, + d = t.cd[0], + v = d.trace, + g = t.xa, + y = t.ya, + m = d.x, + x = d.y, + b = d.z, + _ = d.xCenter, + w = d.yCenter, + T = d.zmask, + k = v.zhoverformat, + A = m, + M = x; + if (!1 !== t.index) { + try { + (f = Math.round(t.index[1])), + (h = Math.round(t.index[0])); + } catch (e) { + return void i.error( + "Error hovering on heatmap, pointNumber must be [row,col], found:", + t.index, + ); + } + if ( + f < 0 || + f >= b[0].length || + h < 0 || + h > b.length + ) + return; + } else { + if ( + n.inbox(e - m[0], e - m[m.length - 1], 0) > 0 || + n.inbox(r - x[0], r - x[x.length - 1], 0) > 0 + ) + return; + if (p) { + var S; + for ( + A = [2 * m[0] - m[1]], S = 1; + S < m.length; + S++ + ) + A.push((m[S] + m[S - 1]) / 2); + for ( + A.push([2 * m[m.length - 1] - m[m.length - 2]]), + M = [2 * x[0] - x[1]], + S = 1; + S < x.length; + S++ + ) + M.push((x[S] + x[S - 1]) / 2); + M.push([2 * x[x.length - 1] - x[x.length - 2]]); + } + (f = Math.max( + 0, + Math.min(A.length - 2, i.findBin(e, A)), + )), + (h = Math.max( + 0, + Math.min(M.length - 2, i.findBin(r, M)), + )); + } + var E, + L, + C = g.c2p(m[f]), + O = g.c2p(m[f + 1]), + P = y.c2p(x[h]), + I = y.c2p(x[h + 1]); + p + ? ((E = d.orig_x || m), + (L = d.orig_y || x), + (O = C), + (u = E[f]), + (I = P), + (c = L[h])) + : ((E = d.orig_x || _ || m), + (L = d.orig_y || w || x), + (u = _ ? E[f] : (E[f] + E[f + 1]) / 2), + (c = w ? L[h] : (L[h] + L[h + 1]) / 2), + g && "category" === g.type && (u = m[f]), + y && "category" === y.type && (c = x[h]), + v.zsmooth && + ((C = O = g.c2p(u)), (P = I = y.c2p(c)))); + var D = b[h][f]; + if ( + (T && !T[h][f] && (D = void 0), + void 0 !== D || v.hoverongaps) + ) { + var z; + Array.isArray(d.hovertext) && + Array.isArray(d.hovertext[h]) + ? (z = d.hovertext[h][f]) + : Array.isArray(d.text) && + Array.isArray(d.text[h]) && + (z = d.text[h][f]); + var R = o(v), + F = { + type: "linear", + range: [R.min, R.max], + hoverformat: k, + _separators: g._separators, + _numFormat: g._numFormat, + }, + B = a.tickText(F, D, "hover").text; + return [ + i.extendFlat(t, { + index: v._after2before + ? v._after2before[h][f] + : [h, f], + distance: t.maxHoverDistance, + spikeDistance: t.maxSpikeDistance, + x0: C, + x1: O, + y0: P, + y1: I, + xLabelVal: u, + yLabelVal: c, + zLabelVal: D, + zLabel: B, + text: z, + }), + ]; + } + }; + }, + 92165: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(21606), + supplyDefaults: r(76382), + calc: r(90757), + plot: r(50347), + colorbar: r(61243), + style: r(70035), + hoverPoints: r(46248), + moduleType: "trace", + name: "heatmap", + basePlotModule: r(93612), + categories: ["cartesian", "svg", "2dMap", "showLegend"], + meta: {}, + }; + }, + 824: function (t, e, r) { + "use strict"; + var n = r(71828), + i = [ + [-1, 0], + [1, 0], + [0, -1], + [0, 1], + ]; + function a(t) { + return 0.5 - 0.25 * Math.min(1, 0.5 * t); + } + function o(t, e, r) { + var n, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y = 0; + for (s = 0; s < e.length; s++) { + for ( + a = (n = e[s])[0], + o = n[1], + d = t[a][o], + p = 0, + h = 0, + l = 0; + l < 4; + l++ + ) + (c = t[a + (u = i[l])[0]]) && + void 0 !== (f = c[o + u[1]]) && + (0 === p + ? (v = g = f) + : ((v = Math.min(v, f)), (g = Math.max(g, f))), + h++, + (p += f)); + if (0 === h) + throw "iterateInterp2d order is wrong: no defined neighbors"; + (t[a][o] = p / h), + void 0 === d + ? h < 4 && (y = 1) + : ((t[a][o] = (1 + r) * t[a][o] - r * d), + g > v && + (y = Math.max( + y, + Math.abs(t[a][o] - d) / (g - v), + ))); + } + return y; + } + t.exports = function (t, e) { + var r, + i = 1; + for ( + o(t, e), r = 0; + r < e.length && !(e[r][2] < 4); + r++ + ); + for (e = e.slice(r), r = 0; r < 100 && i > 0.01; r++) + i = o(t, e, a(i)); + return ( + i > 0.01 && + n.log("interp2d didn't converge quickly", i), + t + ); + }; + }, + 58623: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e) { + t("texttemplate"); + var r = n.extendFlat({}, e.font, { + color: "auto", + size: "auto", + }); + n.coerceFont(t, "textfont", r); + }; + }, + 70769: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828).isArrayOrTypedArray; + t.exports = function (t, e, r, a, o, s) { + var l, + u, + c, + f = [], + h = n.traceIs(t, "contour"), + p = n.traceIs(t, "histogram"), + d = n.traceIs(t, "gl2d"); + if ( + i(e) && + e.length > 1 && + !p && + "category" !== s.type + ) { + var v = e.length; + if (!(v <= o)) + return h ? e.slice(0, o) : e.slice(0, o + 1); + if (h || d) f = e.slice(0, o); + else if (1 === o) f = [e[0] - 0.5, e[0] + 0.5]; + else { + for ( + f = [1.5 * e[0] - 0.5 * e[1]], c = 1; + c < v; + c++ + ) + f.push(0.5 * (e[c - 1] + e[c])); + f.push(1.5 * e[v - 1] - 0.5 * e[v - 2]); + } + if (v < o) { + var g = f[f.length - 1], + y = g - f[f.length - 2]; + for (c = v; c < o; c++) (g += y), f.push(g); + } + } else { + var m = t[s._id.charAt(0) + "calendar"]; + for ( + l = p + ? s.r2c(r, 0, m) + : i(e) && 1 === e.length + ? e[0] + : void 0 === r + ? 0 + : ("log" === s.type ? s.d2c : s.r2c)(r, 0, m), + u = a || 1, + c = h || d ? 0 : -0.5; + c < o; + c++ + ) + f.push(l + u * c); + } + return f; + }; + }, + 50347: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(84267), + a = r(73972), + o = r(91424), + s = r(89298), + l = r(71828), + u = r(63893), + c = r(8225), + f = r(7901), + h = r(21081).extractOpts, + p = r(21081).makeColorScaleFuncFromTrace, + d = r(77922), + v = r(18783).LINE_SPACING, + g = r(3883), + y = r(32396).STYLE, + m = "heatmap-label"; + function x(t) { + return t.selectAll("g." + m); + } + function b(t) { + x(t).remove(); + } + function _(t, e) { + var r = e.length - 2, + n = l.constrain(l.findBin(t, e), 0, r), + i = e[n], + a = e[n + 1], + o = l.constrain(n + (t - i) / (a - i) - 0.5, 0, r), + s = Math.round(o), + u = Math.abs(o - s); + return o && o !== r && u + ? { + bin0: s, + frac: u, + bin1: Math.round(s + u / (o - s)), + } + : { bin0: s, bin1: s, frac: 0 }; + } + function w(t, e) { + var r = e.length - 1, + n = l.constrain(l.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 < 0.5 + ? { bin0: n, bin1: n + 1, frac: a } + : { bin0: n + 1, bin1: n, frac: 1 - a }; + } + function T(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])); + } + t.exports = function (t, e, r, k) { + var A = e.xaxis, + M = e.yaxis; + l.makeTraceGroups(k, r, "hm").each(function (e) { + var r, + k, + S, + E, + L, + C, + O, + P, + I = n.select(this), + D = e[0], + z = D.trace, + R = z.xgap || 0, + F = z.ygap || 0, + B = D.z, + N = D.x, + j = D.y, + U = D.xCenter, + V = D.yCenter, + H = a.traceIs(z, "contour"), + q = H ? "best" : z.zsmooth, + G = B.length, + Z = l.maxRowLength(B), + W = !1, + Y = !1; + for (C = 0; void 0 === r && C < N.length - 1; ) + (r = A.c2p(N[C])), C++; + for (C = N.length - 1; void 0 === k && C > 0; ) + (k = A.c2p(N[C])), C--; + for ( + k < r && ((S = k), (k = r), (r = S), (W = !0)), + C = 0; + void 0 === E && C < j.length - 1; + + ) + (E = M.c2p(j[C])), C++; + for (C = j.length - 1; void 0 === L && C > 0; ) + (L = M.c2p(j[C])), C--; + L < E && ((S = E), (E = L), (L = S), (Y = !0)), + H && + ((U = N), (V = j), (N = D.xfill), (j = D.yfill)); + var X = "default"; + if ( + (q + ? (X = "best" === q ? "smooth" : "fast") + : z._islinear && + 0 === R && + 0 === F && + g() && + (X = "fast"), + "fast" !== X) + ) { + var J = "best" === q ? 0 : 0.5; + (r = Math.max(-J * A._length, r)), + (k = Math.min((1 + J) * A._length, k)), + (E = Math.max(-J * M._length, E)), + (L = Math.min((1 + J) * M._length, L)); + } + var K, + $, + Q = Math.round(k - r), + tt = Math.round(L - E); + if ( + r >= A._length || + k <= 0 || + E >= M._length || + L <= 0 + ) + return ( + I.selectAll("image").data([]).exit().remove(), + void b(I) + ); + "fast" === X + ? ((K = Z), ($ = G)) + : ((K = Q), ($ = tt)); + var et = document.createElement("canvas"); + (et.width = K), (et.height = $); + var rt, + nt, + it = et.getContext("2d"), + at = p(z, { noNumericCheck: !0, returnArray: !0 }); + "fast" === X + ? ((rt = W + ? function (t) { + return Z - 1 - t; + } + : l.identity), + (nt = Y + ? function (t) { + return G - 1 - t; + } + : l.identity)) + : ((rt = function (t) { + return l.constrain( + Math.round(A.c2p(N[t]) - r), + 0, + Q, + ); + }), + (nt = function (t) { + return l.constrain( + Math.round(M.c2p(j[t]) - E), + 0, + tt, + ); + })); + var ot, + st, + lt, + ut, + ct = nt(0), + ft = [ct, ct], + ht = W ? 0 : 1, + pt = Y ? 0 : 1, + dt = 0, + vt = 0, + gt = 0, + yt = 0; + function mt(t, e) { + if (void 0 !== t) { + var r = at(t); + return ( + (r[0] = Math.round(r[0])), + (r[1] = Math.round(r[1])), + (r[2] = Math.round(r[2])), + (dt += e), + (vt += r[0] * e), + (gt += r[1] * e), + (yt += r[2] * e), + r + ); + } + return [0, 0, 0, 0]; + } + function xt(t, e, r, n) { + var i = t[r.bin0]; + if (void 0 === i) return mt(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), + mt(i + r.frac * u + n.frac * (c + r.frac * a)) + ); + } + if ("default" !== X) { + var bt, + _t = 0; + try { + bt = new Uint8Array(K * $ * 4); + } catch (t) { + bt = new Array(K * $ * 4); + } + if ("smooth" === X) { + var wt, + Tt, + kt, + At = U || N, + Mt = V || j, + St = new Array(At.length), + Et = new Array(Mt.length), + Lt = new Array(Q), + Ct = U ? w : _, + Ot = V ? w : _; + for (C = 0; C < At.length; C++) + St[C] = Math.round(A.c2p(At[C]) - r); + for (C = 0; C < Mt.length; C++) + Et[C] = Math.round(M.c2p(Mt[C]) - E); + for (C = 0; C < Q; C++) Lt[C] = Ct(C, St); + for (O = 0; O < tt; O++) + for ( + Tt = B[(wt = Ot(O, Et)).bin0], + kt = B[wt.bin1], + C = 0; + C < Q; + C++, _t += 4 + ) + T(bt, _t, (ut = xt(Tt, kt, Lt[C], wt))); + } else + for (O = 0; O < G; O++) + for (lt = B[O], ft = nt(O), C = 0; C < Z; C++) + (ut = mt(lt[C], 1)), + T(bt, (_t = 4 * (ft * Z + rt(C))), ut); + var Pt = it.createImageData(K, $); + try { + Pt.data.set(bt); + } catch (t) { + var It = Pt.data, + Dt = It.length; + for (O = 0; O < Dt; O++) It[O] = bt[O]; + } + it.putImageData(Pt, 0, 0); + } else { + var zt = Math.floor(R / 2), + Rt = Math.floor(F / 2); + for (O = 0; O < G; O++) + if ( + ((lt = B[O]), + ft.reverse(), + (ft[pt] = nt(O + 1)), + ft[0] !== ft[1] && + void 0 !== ft[0] && + void 0 !== ft[1]) + ) + for (ot = [(st = rt(0)), st], C = 0; C < Z; C++) + ot.reverse(), + (ot[ht] = rt(C + 1)), + ot[0] !== ot[1] && + void 0 !== ot[0] && + void 0 !== ot[1] && + ((ut = mt( + lt[C], + (ot[1] - ot[0]) * (ft[1] - ft[0]), + )), + (it.fillStyle = + "rgba(" + ut.join(",") + ")"), + it.fillRect( + ot[0] + zt, + ft[0] + Rt, + ot[1] - ot[0] - R, + ft[1] - ft[0] - F, + )); + } + (vt = Math.round(vt / dt)), + (gt = Math.round(gt / dt)), + (yt = Math.round(yt / dt)); + var Ft = i("rgb(" + vt + "," + gt + "," + yt + ")"); + (t._hmpixcount = (t._hmpixcount || 0) + dt), + (t._hmlumcount = + (t._hmlumcount || 0) + dt * Ft.getLuminance()); + var Bt = I.selectAll("image").data(e); + Bt.enter() + .append("svg:image") + .attr({ + xmlns: d.svg, + preserveAspectRatio: "none", + }), + Bt.attr({ + height: tt, + width: Q, + x: r, + y: E, + "xlink:href": et.toDataURL("image/png"), + }), + "fast" !== X || q || Bt.attr("style", y), + b(I); + var Nt = z.texttemplate; + if (Nt) { + var jt = h(z), + Ut = { + type: "linear", + range: [jt.min, jt.max], + _separators: A._separators, + _numFormat: A._numFormat, + }, + Vt = "histogram2dcontour" === z.type, + Ht = "contour" === z.type, + qt = Ht ? G - 1 : G, + Gt = Ht ? 1 : 0, + Zt = Ht ? Z - 1 : Z, + Wt = []; + for (C = Ht ? 1 : 0; C < qt; C++) { + var Yt; + if (Ht) Yt = D.y[C]; + else if (Vt) { + if (0 === C || C === G - 1) continue; + Yt = D.y[C]; + } else if (D.yCenter) Yt = D.yCenter[C]; + else { + if (C + 1 === G && void 0 === D.y[C + 1]) + continue; + Yt = (D.y[C] + D.y[C + 1]) / 2; + } + var Xt = Math.round(M.c2p(Yt)); + if (!(0 > Xt || Xt > M._length)) + for (O = Gt; O < Zt; O++) { + var Jt; + if (Ht) Jt = D.x[O]; + else if (Vt) { + if (0 === O || O === Z - 1) continue; + Jt = D.x[O]; + } else if (D.xCenter) Jt = D.xCenter[O]; + else { + if (O + 1 === Z && void 0 === D.x[O + 1]) + continue; + Jt = (D.x[O] + D.x[O + 1]) / 2; + } + var Kt = Math.round(A.c2p(Jt)); + if (!(0 > Kt || Kt > A._length)) { + var $t = c( + { x: Jt, y: Yt }, + z, + t._fullLayout, + ); + ($t.x = Jt), ($t.y = Yt); + var Qt = D.z[C][O]; + void 0 === Qt + ? (($t.z = ""), ($t.zLabel = "")) + : (($t.z = Qt), + ($t.zLabel = s.tickText( + Ut, + Qt, + "hover", + ).text)); + var te = + D.text && D.text[C] && D.text[C][O]; + (void 0 !== te && !1 !== te) || (te = ""), + ($t.text = te); + var ee = l.texttemplateString( + Nt, + $t, + t._fullLayout._d3locale, + $t, + z._meta || {}, + ); + if (ee) { + var re = ee.split("
"), + ne = re.length, + ie = 0; + for (P = 0; P < ne; P++) + ie = Math.max(ie, re[P].length); + Wt.push({ + l: ne, + c: ie, + t: ee, + x: Kt, + y: Xt, + z: Qt, + }); + } + } + } + } + var ae = z.textfont, + oe = ae.family, + se = ae.size, + le = t._fullLayout.font.size; + if (!se || "auto" === se) { + var ue = 1 / 0, + ce = 1 / 0, + fe = 0, + he = 0; + for (P = 0; P < Wt.length; P++) { + var pe = Wt[P]; + if ( + ((fe = Math.max(fe, pe.l)), + (he = Math.max(he, pe.c)), + P < Wt.length - 1) + ) { + var de = Wt[P + 1], + ve = Math.abs(de.x - pe.x), + ge = Math.abs(de.y - pe.y); + ve && (ue = Math.min(ue, ve)), + ge && (ce = Math.min(ce, ge)); + } + } + isFinite(ue) && isFinite(ce) + ? ((ue -= R), + (ce -= F), + (ue /= he), + (ce /= fe), + (ue /= v / 2), + (ce /= v), + (se = Math.min( + Math.floor(ue), + Math.floor(ce), + le, + ))) + : (se = le); + } + if (se <= 0 || !isFinite(se)) return; + x(I) + .data(Wt) + .enter() + .append("g") + .classed(m, 1) + .append("text") + .attr("text-anchor", "middle") + .each(function (e) { + var r = n.select(this), + i = ae.color; + (i && "auto" !== i) || + (i = f.contrast( + "rgba(" + at(e.z).join() + ")", + )), + r + .attr("data-notex", 1) + .call( + u.positionText, + (function (t) { + return t.x; + })(e), + (function (t) { + return t.y - se * ((t.l * v) / 2 - 1); + })(e), + ) + .call(o.font, oe, se, i) + .text(e.t) + .call(u.convertToTspans, t); + }); + } + }); + }; + }, + 70035: function (t, e, r) { + "use strict"; + var n = r(39898); + t.exports = function (t) { + n.select(t) + .selectAll(".hm image") + .style("opacity", function (t) { + return t.trace.opacity; + }); + }; + }, + 49901: function (t) { + "use strict"; + t.exports = function (t, e, r) { + !1 === r("zsmooth") && (r("xgap"), r("ygap")), + r("zhoverformat"); + }; + }, + 67684: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(73972); + function o(t, e) { + var r = e(t); + return ( + "scaled" === + (r ? e(t + "type", "array") : "scaled") && + (e(t + "0"), e("d" + t)), + r + ); + } + t.exports = function (t, e, r, s, l, u) { + var c, + f, + h = r("z"); + if ( + ((l = l || "x"), + (u = u || "y"), + void 0 === h || !h.length) + ) + return 0; + if (i.isArray1D(t.z)) { + (c = r(l)), (f = r(u)); + var p = i.minRowLength(c), + d = i.minRowLength(f); + if (0 === p || 0 === d) return 0; + e._length = Math.min(p, d, h.length); + } else { + if ( + ((c = o(l, r)), + (f = o(u, r)), + !(function (t) { + for ( + var e, r = !0, a = !1, o = !1, s = 0; + s < t.length; + s++ + ) { + if (((e = t[s]), !i.isArrayOrTypedArray(e))) { + r = !1; + break; + } + e.length > 0 && (a = !0); + for (var l = 0; l < e.length; l++) + if (n(e[l])) { + o = !0; + break; + } + } + return r && a && o; + })(h)) + ) + return 0; + r("transpose"), (e._length = null); + } + return ( + "heatmapgl" === t.type || + a.getComponentMethod( + "calendars", + "handleTraceDefaults", + )(t, e, [l, u], s), + !0 + ); + }; + }, + 16063: function (t, e, r) { + "use strict"; + for ( + var n = r(21606), + i = r(50693), + a = r(1426).extendFlat, + o = r(30962).overrideAll, + s = [ + "z", + "x", + "x0", + "dx", + "y", + "y0", + "dy", + "text", + "transpose", + "xtype", + "ytype", + ], + l = {}, + u = 0; + u < s.length; + u++ + ) { + var c = s[u]; + l[c] = n[c]; + } + (l.zsmooth = { + valType: "enumerated", + values: ["fast", !1], + dflt: "fast", + editType: "calc", + }), + a(l, i("", { cLetter: "z", autoColorDflt: !1 })), + (t.exports = o(l, "calc", "nested")); + }, + 59560: function (t, e, r) { + "use strict"; + var n = r(9330).gl_heatmap2d, + i = r(89298), + a = r(78614); + function o(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 = { + zsmooth: "fast", + z: [], + x: [], + y: [], + shape: [0, 0], + colorLevels: [0], + colorValues: [0, 0, 0, 1], + }), + (this.heatmap = n(t.glplot, this.options)), + (this.heatmap._trace = this); + } + var s = o.prototype; + (s.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, + }; + }), + (s.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 o = n[0].length, + s = n.length; + (this.options.shape = [o, s]), + (this.options.x = r.x), + (this.options.y = r.y), + (this.options.zsmooth = t.zsmooth); + var l = (function (t) { + for ( + var e = t.colorscale, + r = t.zmin, + n = t.zmax, + i = e.length, + o = new Array(i), + s = new Array(4 * i), + l = 0; + l < i; + l++ + ) { + var u = e[l], + c = a(u[1]); + o[l] = r + u[0] * (n - r); + for (var f = 0; f < 4; f++) s[4 * l + f] = c[f]; + } + return { colorLevels: o, colorValues: s }; + })(t); + (this.options.colorLevels = l.colorLevels), + (this.options.colorValues = l.colorValues), + (this.textLabels = [].concat.apply([], t.text)), + this.heatmap.update(this.options); + var u, + c, + f = this.scene.xaxis, + h = this.scene.yaxis; + !1 === t.zsmooth && + ((u = { ppad: r.x[1] - r.x[0] }), + (c = { ppad: r.y[1] - r.y[0] })), + (t._extremes[f._id] = i.findExtremes(f, r.x, u)), + (t._extremes[h._id] = i.findExtremes(h, r.y, c)); + }), + (s.dispose = function () { + this.heatmap.dispose(); + }), + (t.exports = function (t, e, r) { + var n = new o(t, e.uid); + return n.update(e, r), n; + }); + }, + 19600: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(67684), + a = r(1586), + o = r(16063); + t.exports = function (t, e, r, s) { + function l(r, i) { + return n.coerce(t, e, o, r, i); + } + i(t, e, l, s) + ? (l("text"), + l("zsmooth"), + a(t, e, s, l, { prefix: "", cLetter: "z" })) + : (e.visible = !1); + }; + }, + 3325: function (t, e, r) { + "use strict"; + [ + "*heatmapgl* trace is deprecated!", + "Please consider switching to the *heatmap* or *image* trace types.", + "Alternatively you could contribute/sponsor rewriting this trace type", + "based on cartesian features and using regl framework.", + ].join(" "), + (t.exports = { + attributes: r(16063), + supplyDefaults: r(19600), + colorbar: r(61243), + calc: r(90757), + plot: r(59560), + moduleType: "trace", + name: "heatmapgl", + basePlotModule: r(4796), + categories: ["gl", "gl2d", "2dMap"], + meta: {}, + }); + }, + 7745: function (t, e, r) { + "use strict"; + var n = r(1486), + i = r(12663).axisHoverFormat, + a = r(5386).fF, + o = r(5386).si, + s = r(41940), + l = r(17656), + u = r(72406), + c = r(1426).extendFlat; + t.exports = { + x: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + y: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + xhoverformat: i("x"), + yhoverformat: i("y"), + text: c({}, n.text, {}), + hovertext: c({}, n.hovertext, {}), + orientation: n.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", + }, + nbinsx: { + valType: "integer", + min: 0, + dflt: 0, + editType: "calc", + }, + xbins: l("x", !0), + nbinsy: { + valType: "integer", + min: 0, + dflt: 0, + editType: "calc", + }, + ybins: l("y", !0), + autobinx: { + valType: "boolean", + dflt: null, + editType: "calc", + }, + autobiny: { + valType: "boolean", + dflt: null, + editType: "calc", + }, + bingroup: { + valType: "string", + dflt: "", + editType: "calc", + }, + hovertemplate: a({}, { keys: u.eventDataKeys }), + texttemplate: o( + { arrayOk: !1, editType: "plot" }, + { keys: ["label", "value"] }, + ), + textposition: c({}, n.textposition, { arrayOk: !1 }), + textfont: s({ + arrayOk: !1, + editType: "plot", + colorEditType: "style", + }), + outsidetextfont: s({ + arrayOk: !1, + editType: "plot", + colorEditType: "style", + }), + insidetextfont: s({ + arrayOk: !1, + editType: "plot", + colorEditType: "style", + }), + insidetextanchor: n.insidetextanchor, + textangle: n.textangle, + cliponaxis: n.cliponaxis, + constraintext: n.constraintext, + marker: n.marker, + offsetgroup: n.offsetgroup, + alignmentgroup: n.alignmentgroup, + selected: n.selected, + unselected: n.unselected, + _deprecated: { bardir: n._deprecated.bardir }, + }; + }, + 42174: function (t) { + "use strict"; + t.exports = function (t, e) { + for (var r = t.length, n = 0, i = 0; i < r; i++) + e[i] ? ((t[i] /= e[i]), (n += t[i])) : (t[i] = null); + return n; + }; + }, + 17656: function (t) { + "use strict"; + t.exports = function (t, e) { + return { + start: { valType: "any", editType: "calc" }, + end: { valType: "any", editType: "calc" }, + size: { valType: "any", editType: "calc" }, + editType: "calc", + }; + }; + }, + 59575: function (t, e, r) { + "use strict"; + var n = r(92770); + t.exports = { + count: function (t, e, r) { + return r[t]++, 1; + }, + sum: function (t, e, r, i) { + var a = i[e]; + return n(a) ? ((a = Number(a)), (r[t] += a), a) : 0; + }, + avg: function (t, e, r, i, a) { + var o = i[e]; + return ( + n(o) && ((o = Number(o)), (r[t] += o), a[t]++), 0 + ); + }, + min: function (t, e, r, i) { + var a = i[e]; + if (n(a)) { + if (((a = Number(a)), !n(r[t]))) + return (r[t] = a), a; + if (r[t] > a) { + var o = a - r[t]; + return (r[t] = a), o; + } + } + return 0; + }, + max: function (t, e, r, i) { + var a = i[e]; + if (n(a)) { + if (((a = Number(a)), !n(r[t]))) + return (r[t] = a), a; + if (r[t] < a) { + var o = a - r[t]; + return (r[t] = a), o; + } + } + return 0; + }, + }; + }, + 40965: function (t, e, r) { + "use strict"; + var n = r(50606), + i = n.ONEAVGYEAR, + a = n.ONEAVGMONTH, + o = n.ONEDAY, + s = n.ONEHOUR, + l = n.ONEMIN, + u = n.ONESEC, + c = r(89298).tickIncrement; + function f(t, e, r, n) { + if (t * e <= 0) return 1 / 0; + for ( + var i = Math.abs(e - t), + a = "date" === r.type, + o = h(i, a), + s = 0; + s < 10; + s++ + ) { + var l = h(80 * o, a); + if (o === l) break; + if (!p(l, t, e, a, r, n)) break; + o = l; + } + return o; + } + function h(t, e) { + return e && t > u + ? t > o + ? t > 1.1 * i + ? i + : t > 1.1 * a + ? a + : o + : t > s + ? s + : t > l + ? l + : u + : Math.pow(10, Math.floor(Math.log(t) / Math.LN10)); + } + function p(t, e, r, n, a, s) { + if (n && t > o) { + var l = d(e, a, s), + u = d(r, a, s), + c = t === i ? 0 : 1; + return l[c] !== u[c]; + } + return Math.floor(r / t) - Math.floor(e / t) > 0.1; + } + function d(t, e, r) { + var n = e.c2d(t, i, r).split("-"); + return ( + "" === n[0] && (n.unshift(), (n[0] = "-" + n[0])), n + ); + } + t.exports = function (t, e, r, n, a) { + var s, + l, + u = -1.1 * e, + h = -0.1 * e, + p = t - h, + d = r[0], + v = r[1], + g = Math.min( + f(d + h, d + p, n, a), + f(v + h, v + p, n, a), + ), + y = Math.min( + f(d + u, d + h, n, a), + f(v + u, v + h, n, a), + ); + if ( + (g > y && y < Math.abs(v - d) / 4e3 + ? ((s = g), (l = !1)) + : ((s = Math.min(g, y)), (l = !0)), + "date" === n.type && s > o) + ) { + var m = s === i ? 1 : 6, + x = s === i ? "M12" : "M1"; + return function (e, r) { + var o = n.c2d(e, i, a), + s = o.indexOf("-", m); + s > 0 && (o = o.substr(0, s)); + var u = n.d2c(o, 0, a); + if (u < e) { + var f = c(u, x, !1, a); + (u + f) / 2 < e + t && (u = f); + } + return r && l ? c(u, x, !0, a) : u; + }; + } + return function (e, r) { + var n = s * Math.round(e / s); + return ( + n + s / 10 < e && n + 0.9 * s < e + t && (n += s), + r && l && (n -= s), + n + ); + }; + }; + }, + 72138: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(73972), + o = r(89298), + s = r(75341), + l = r(59575), + u = r(36362), + c = r(42174), + f = r(40965); + function h(t, e, r, s, l) { + var u, + c, + f, + p, + d, + v, + g, + y = s + "bins", + m = t._fullLayout, + x = e["_" + s + "bingroup"], + b = m._histogramBinOpts[x], + _ = "overlay" === m.barmode, + w = function (t) { + return r.r2c(t, 0, p); + }, + T = function (t) { + return r.c2r(t, 0, p); + }, + k = + "date" === r.type + ? function (t) { + return t || 0 === t + ? i.cleanDate(t, null, p) + : null; + } + : function (t) { + return n(t) ? Number(t) : null; + }; + function A(t, e, r) { + e[t + "Found"] + ? ((e[t] = k(e[t])), null === e[t] && (e[t] = r[t])) + : ((v[t] = e[t] = r[t]), + i.nestedProperty(c[0], y + "." + t).set(r[t])); + } + if (e["_" + s + "autoBinFinished"]) + delete e["_" + s + "autoBinFinished"]; + else { + c = b.traces; + var M = [], + S = !0, + E = !1, + L = !1; + for (u = 0; u < c.length; u++) + if ((f = c[u]).visible) { + var C = b.dirs[u]; + (d = f["_" + C + "pos0"] = r.makeCalcdata(f, C)), + (M = i.concat(M, d)), + delete f["_" + s + "autoBinFinished"], + !0 === e.visible && + (S + ? (S = !1) + : (delete f._autoBin, + (f["_" + s + "autoBinFinished"] = 1)), + a.traceIs(f, "2dMap") && (E = !0), + "histogram2dcontour" === f.type && (L = !0)); + } + p = c[0][s + "calendar"]; + var O = o.autoBin( + M, + r, + b.nbins, + E, + p, + b.sizeFound && b.size, + ), + P = (c[0]._autoBin = {}); + if ( + ((v = P[b.dirs[0]] = {}), + L && + (b.size || + (O.start = T( + o.tickIncrement(w(O.start), O.size, !0, p), + )), + void 0 === b.end && + (O.end = T( + o.tickIncrement(w(O.end), O.size, !1, p), + ))), + _ && + !a.traceIs(e, "2dMap") && + 0 === O._dataSpan && + "category" !== r.type && + "multicategory" !== r.type) + ) { + if (l) return [O, d, !0]; + O = (function (t, e, r, n, a) { + var o, + s, + l, + u = t._fullLayout, + c = (function (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 && + !0 === l.visible && + l.orientation === i && + l.xaxis === r && + l.yaxis === n && + a.push(l); + } + return a; + })(t, e), + f = !1, + p = 1 / 0, + d = [e]; + for (o = 0; o < c.length; o++) + if ((s = c[o]) === e) f = !0; + else if (f) { + var v = h(t, s, r, n, !0), + g = v[0], + y = v[2]; + (s["_" + n + "autoBinFinished"] = 1), + (s["_" + n + "pos0"] = v[1]), + y ? d.push(s) : (p = Math.min(p, g.size)); + } else + (l = + u._histogramBinOpts[ + s["_" + n + "bingroup"] + ]), + (p = Math.min(p, l.size || s[a].size)); + var m = new Array(d.length); + for (o = 0; o < d.length; o++) + for ( + var x = d[o]["_" + n + "pos0"], b = 0; + b < x.length; + b++ + ) + if (void 0 !== x[b]) { + m[o] = x[b]; + break; + } + for ( + isFinite(p) || (p = i.distinctVals(m).minDiff), + o = 0; + o < d.length; + o++ + ) { + var _ = (s = d[o])[n + "calendar"], + w = { + start: r.c2r(m[o] - p / 2, 0, _), + end: r.c2r(m[o] + p / 2, 0, _), + size: p, + }; + (s._input[a] = s[a] = w), + (l = + u._histogramBinOpts[ + s["_" + n + "bingroup"] + ]) && i.extendFlat(l, w); + } + return e[a]; + })(t, e, r, s, y); + } + (g = f.cumulative || {}).enabled && + "include" !== g.currentbin && + ("decreasing" === g.direction + ? (O.start = T( + o.tickIncrement(w(O.start), O.size, !0, p), + )) + : (O.end = T( + o.tickIncrement(w(O.end), O.size, !1, p), + ))), + (b.size = O.size), + b.sizeFound || + ((v.size = O.size), + i.nestedProperty(c[0], y + ".size").set(O.size)), + A("start", b, O), + A("end", b, O); + } + (d = e["_" + s + "pos0"]), delete e["_" + s + "pos0"]; + var I = e._input[y] || {}, + D = i.extendFlat({}, b), + z = b.start, + R = r.r2l(I.start), + F = void 0 !== R; + if ((b.startFound || F) && R !== r.r2l(z)) { + var B = F ? R : i.aggNums(Math.min, null, d), + N = { + type: + "category" === r.type || + "multicategory" === r.type + ? "linear" + : r.type, + r2l: r.r2l, + dtick: b.size, + tick0: z, + calendar: p, + range: [B, o.tickIncrement(B, b.size, !1, p)].map( + r.l2r, + ), + }, + j = o.tickFirst(N); + j > r.r2l(B) && + (j = o.tickIncrement(j, b.size, !0, p)), + (D.start = r.l2r(j)), + F || i.nestedProperty(e, y + ".start").set(D.start); + } + var U = b.end, + V = r.r2l(I.end), + H = void 0 !== V; + if ((b.endFound || H) && V !== r.r2l(U)) { + var q = H ? V : i.aggNums(Math.max, null, d); + (D.end = r.l2r(q)), + H || i.nestedProperty(e, y + ".start").set(D.end); + } + var G = "autobin" + s; + return ( + !1 === e._input[G] && + ((e._input[y] = i.extendFlat({}, e[y] || {})), + delete e._input[G], + delete e[G]), + [D, d] + ); + } + t.exports = { + calc: function (t, e) { + var r, + a, + p, + d, + v = [], + g = [], + y = "h" === e.orientation, + m = o.getFromId(t, y ? e.yaxis : e.xaxis), + x = y ? "y" : "x", + b = { x: "y", y: "x" }[x], + _ = e[x + "calendar"], + w = e.cumulative, + T = h(t, e, m, x), + k = T[0], + A = T[1], + M = "string" == typeof k.size, + S = [], + E = M ? S : k, + L = [], + C = [], + O = [], + P = 0, + I = e.histnorm, + D = e.histfunc, + z = -1 !== I.indexOf("density"); + w.enabled && + z && + ((I = I.replace(/ ?density$/, "")), (z = !1)); + var R, + F = "max" === D || "min" === D ? null : 0, + B = l.count, + N = u[I], + j = !1, + U = function (t) { + return m.r2c(t, 0, _); + }; + for ( + i.isArrayOrTypedArray(e[b]) && + "count" !== D && + ((R = e[b]), (j = "avg" === D), (B = l[D])), + r = U(k.start), + p = + U(k.end) + + (r - o.tickIncrement(r, k.size, !1, _)) / 1e6; + r < p && + v.length < 1e6 && + ((a = o.tickIncrement(r, k.size, !1, _)), + v.push((r + a) / 2), + g.push(F), + O.push([]), + S.push(r), + z && L.push(1 / (a - r)), + j && C.push(0), + !(a <= r)); + + ) + r = a; + S.push(r), + M || + "date" !== m.type || + (E = { + start: U(E.start), + end: U(E.end), + size: E.size, + }), + t._fullLayout._roundFnOpts || + (t._fullLayout._roundFnOpts = {}); + var V = e["_" + x + "bingroup"], + H = { leftGap: 1 / 0, rightGap: 1 / 0 }; + V && + (t._fullLayout._roundFnOpts[V] || + (t._fullLayout._roundFnOpts[V] = H), + (H = t._fullLayout._roundFnOpts[V])); + var q, + G = g.length, + Z = !0, + W = H.leftGap, + Y = H.rightGap, + X = {}; + for (r = 0; r < A.length; r++) { + var J = A[r]; + (d = i.findBin(J, E)) >= 0 && + d < G && + ((P += B(d, r, g, R, C)), + Z && O[d].length && J !== A[O[d][0]] && (Z = !1), + O[d].push(r), + (X[r] = d), + (W = Math.min(W, J - S[d])), + (Y = Math.min(Y, S[d + 1] - J))); + } + (H.leftGap = W), + (H.rightGap = Y), + Z || + (q = function (e, r) { + return function () { + var n = t._fullLayout._roundFnOpts[V]; + return f( + n.leftGap, + n.rightGap, + S, + m, + _, + )(e, r); + }; + }), + j && (P = c(g, C)), + N && N(g, P, L), + w.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()); + } + })(g, w.direction, w.currentbin); + var K = Math.min(v.length, g.length), + $ = [], + Q = 0, + tt = K - 1; + for (r = 0; r < K; r++) + if (g[r]) { + Q = r; + break; + } + for (r = K - 1; r >= Q; r--) + if (g[r]) { + tt = r; + break; + } + for (r = Q; r <= tt; r++) + if (n(v[r]) && n(g[r])) { + var et = { p: v[r], s: g[r], b: 0 }; + w.enabled || + ((et.pts = O[r]), + Z + ? (et.ph0 = et.ph1 = + O[r].length ? A[O[r][0]] : v[r]) + : ((e._computePh = !0), + (et.ph0 = q(S[r])), + (et.ph1 = q(S[r + 1], !0)))), + $.push(et); + } + return ( + 1 === $.length && + ($[0].width1 = + o.tickIncrement($[0].p, k.size, !1, _) - + $[0].p), + s($, e), + i.isArrayOrTypedArray(e.selectedpoints) && + i.tagSelected($, e, X), + $ + ); + }, + calcAllAutoBins: h, + }; + }, + 72406: function (t) { + "use strict"; + t.exports = { eventDataKeys: ["binNumber"] }; + }, + 82222: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(41675), + a = r(73972).traceIs, + o = r(26125), + s = n.nestedProperty, + l = r(99082).getAxisGroup, + u = [ + { + aStr: { x: "xbins.start", y: "ybins.start" }, + name: "start", + }, + { + aStr: { x: "xbins.end", y: "ybins.end" }, + name: "end", + }, + { + aStr: { x: "xbins.size", y: "ybins.size" }, + name: "size", + }, + { aStr: { x: "nbinsx", y: "nbinsy" }, name: "nbins" }, + ], + c = ["x", "y"]; + t.exports = function (t, e) { + var r, + f, + h, + p, + d, + v, + g, + y = (e._histogramBinOpts = {}), + m = [], + x = {}, + b = []; + function _(t, e) { + return n.coerce( + r._input, + r, + r._module.attributes, + t, + e, + ); + } + function w(t) { + return "v" === t.orientation ? "x" : "y"; + } + function T(t, r, a) { + var o = t.uid + "__" + a; + r || (r = o); + var s = (function (t, r) { + return i.getFromTrace({ _fullLayout: e }, t, r) + .type; + })(t, a), + l = t[a + "calendar"] || "", + u = y[r], + c = !0; + u && + (s === u.axType && l === u.calendar + ? ((c = !1), u.traces.push(t), u.dirs.push(a)) + : ((r = o), + s !== u.axType && + n.warn( + [ + "Attempted to group the bins of trace", + t.index, + "set on a", + "type:" + s, + "axis", + "with bins on", + "type:" + u.axType, + "axis.", + ].join(" "), + ), + l !== u.calendar && + n.warn( + [ + "Attempted to group the bins of trace", + t.index, + "set with a", + l, + "calendar", + "with bins", + u.calendar + ? "on a " + u.calendar + " calendar" + : "w/o a set calendar", + ].join(" "), + ))), + c && + (y[r] = { + traces: [t], + dirs: [a], + axType: s, + calendar: t[a + "calendar"] || "", + }), + (t["_" + a + "bingroup"] = r); + } + for (d = 0; d < t.length; d++) + (r = t[d]), + a(r, "histogram") && + (m.push(r), + delete r._xautoBinFinished, + delete r._yautoBinFinished, + a(r, "2dMap") || o(r._input, r, e, _)); + var k = e._alignmentOpts || {}; + for (d = 0; d < m.length; d++) { + if (((r = m[d]), (h = ""), !a(r, "2dMap"))) { + if ( + ((p = w(r)), + "group" === e.barmode && r.alignmentgroup) + ) { + var A = r[p + "axis"], + M = l(e, A) + r.orientation; + (k[M] || {})[r.alignmentgroup] && (h = M); + } + h || + "overlay" === e.barmode || + (h = l(e, r.xaxis) + l(e, r.yaxis) + w(r)); + } + h ? (x[h] || (x[h] = []), x[h].push(r)) : b.push(r); + } + for (h in x) + if (1 !== (f = x[h]).length) { + var S = !1; + for ( + f.length && ((r = f[0]), (S = _("bingroup"))), + h = S || h, + d = 0; + d < f.length; + d++ + ) { + var E = (r = f[d])._input.bingroup; + E && + E !== h && + n.warn( + [ + "Trace", + r.index, + "must match", + "within bingroup", + h + ".", + "Ignoring its bingroup:", + E, + "setting.", + ].join(" "), + ), + (r.bingroup = h), + T(r, h, w(r)); + } + } else b.push(f[0]); + for (d = 0; d < b.length; d++) { + r = b[d]; + var L = _("bingroup"); + if (a(r, "2dMap")) + for (g = 0; g < 2; g++) { + var C = _( + (p = c[g]) + "bingroup", + L ? L + "__" + p : null, + ); + T(r, C, p); + } + else T(r, L, w(r)); + } + for (h in y) { + var O = y[h]; + for (f = O.traces, v = 0; v < u.length; v++) { + var P, + I, + D = u[v], + z = D.name; + if ("nbins" !== z || !O.sizeFound) { + for (d = 0; d < f.length; d++) { + if ( + ((r = f[d]), + (p = O.dirs[d]), + (P = D.aStr[p]), + void 0 !== s(r._input, P).get()) + ) { + (O[z] = _(P)), (O[z + "Found"] = !0); + break; + } + (I = (r._autoBin || {})[p] || {})[z] && + s(r, P).set(I[z]); + } + if ("start" === z || "end" === z) + for (; d < f.length; d++) + (r = f[d])["_" + p + "bingroup"] && + _(P, (I = (r._autoBin || {})[p] || {})[z]); + "nbins" !== z || + O.sizeFound || + O.nbinsFound || + ((r = f[0]), (O[z] = _(P))); + } + } + } + }; + }, + 11385: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(7901), + o = r(90769).handleText, + s = r(98340), + l = r(7745); + t.exports = function (t, e, r, u) { + function c(r, n) { + return i.coerce(t, e, l, r, n); + } + var f = c("x"), + h = c("y"); + c("cumulative.enabled") && + (c("cumulative.direction"), + c("cumulative.currentbin")), + c("text"); + var p = c("textposition"); + o(t, e, u, c, p, { + moduleHasSelected: !0, + moduleHasUnselected: !0, + moduleHasConstrain: !0, + moduleHasCliponaxis: !0, + moduleHasTextangle: !0, + moduleHasInsideanchor: !0, + }), + c("hovertext"), + c("hovertemplate"), + c("xhoverformat"), + c("yhoverformat"); + var d = c("orientation", h && !f ? "h" : "v"), + v = "v" === d ? "x" : "y", + g = "v" === d ? "y" : "x", + y = + f && h + ? Math.min(i.minRowLength(f) && i.minRowLength(h)) + : i.minRowLength(e[v] || []); + if (y) { + (e._length = y), + n.getComponentMethod( + "calendars", + "handleTraceDefaults", + )(t, e, ["x", "y"], u), + e[g] && c("histfunc"), + c("histnorm"), + c("autobin" + v), + s(t, e, c, r, u), + i.coerceSelectionMarkerOpacity(e, c); + var m = (e.marker.line || {}).color, + x = n.getComponentMethod( + "errorbars", + "supplyDefaults", + ); + x(t, e, m || a.defaultLine, { axis: "y" }), + x(t, e, m || a.defaultLine, { + axis: "x", + inherit: "y", + }); + } else e.visible = !1; + }; + }, + 84402: function (t) { + "use strict"; + t.exports = 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), + "zLabelVal" in e && (t.z = e.zLabelVal), + 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; + }; + }, + 76440: function (t, e, r) { + "use strict"; + var n = r(95423).hoverPoints, + i = r(89298).hoverLabelText; + t.exports = function (t, e, r, a, o) { + var s = n(t, e, r, a, o); + if (s) { + var l = (t = s[0]).cd[t.index], + u = t.cd[0].trace; + if (!u.cumulative.enabled) { + var c = "h" === u.orientation ? "y" : "x"; + t[c + "Label"] = i( + t[c + "a"], + [l.ph0, l.ph1], + u[c + "hoverformat"], + ); + } + return s; + } + }; + }, + 36071: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(7745), + layoutAttributes: r(43641), + supplyDefaults: r(11385), + crossTraceDefaults: r(82222), + supplyLayoutDefaults: r(13957), + calc: r(72138).calc, + crossTraceCalc: r(11661).crossTraceCalc, + plot: r(17295).plot, + layerName: "barlayer", + style: r(16688).style, + styleOnSelect: r(16688).styleOnSelect, + colorbar: r(4898), + hoverPoints: r(76440), + selectPoints: r(81974), + eventData: r(84402), + moduleType: "trace", + name: "histogram", + basePlotModule: r(93612), + categories: [ + "bar-like", + "cartesian", + "svg", + "bar", + "histogram", + "oriented", + "errorBarsOK", + "showLegend", + ], + meta: {}, + }; + }, + 36362: function (t) { + "use strict"; + t.exports = { + percent: function (t, e) { + for (var r = t.length, n = 100 / e, i = 0; i < r; i++) + t[i] *= n; + }, + probability: function (t, e) { + for (var r = t.length, n = 0; n < r; n++) t[n] /= e; + }, + density: function (t, e, r, n) { + var i = t.length; + n = n || 1; + for (var a = 0; a < i; a++) t[a] *= r[a] * n; + }, + "probability density": function (t, e, r, n) { + var i = t.length; + n && (e /= n); + for (var a = 0; a < i; a++) t[a] *= r[a] / e; + }, + }; + }, + 35361: function (t, e, r) { + "use strict"; + var n = r(7745), + i = r(17656), + a = r(21606), + o = r(9012), + s = r(12663).axisHoverFormat, + l = r(5386).fF, + u = r(5386).si, + c = r(50693), + f = r(1426).extendFlat; + t.exports = f( + { + x: n.x, + y: n.y, + z: { valType: "data_array", editType: "calc" }, + marker: { + color: { valType: "data_array", editType: "calc" }, + editType: "calc", + }, + histnorm: n.histnorm, + histfunc: n.histfunc, + nbinsx: n.nbinsx, + xbins: i("x"), + nbinsy: n.nbinsy, + ybins: i("y"), + autobinx: n.autobinx, + autobiny: n.autobiny, + bingroup: f({}, n.bingroup, {}), + xbingroup: f({}, n.bingroup, {}), + ybingroup: f({}, n.bingroup, {}), + xgap: a.xgap, + ygap: a.ygap, + zsmooth: a.zsmooth, + xhoverformat: s("x"), + yhoverformat: s("y"), + zhoverformat: s("z", 1), + hovertemplate: l({}, { keys: "z" }), + texttemplate: u( + { arrayOk: !1, editType: "plot" }, + { keys: "z" }, + ), + textfont: a.textfont, + showlegend: f({}, o.showlegend, { dflt: !1 }), + }, + c("", { cLetter: "z", autoColorDflt: !1 }), + ); + }, + 17562: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(59575), + o = r(36362), + s = r(42174), + l = r(40965), + u = r(72138).calcAllAutoBins; + function c(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 f(t, e) { + return { + start: t(e.start), + end: t(e.end), + size: e.size, + }; + } + function h(t, e, r, n, i, a) { + var o, + s = t.length - 1, + u = new Array(s), + c = l(r, n, t, i, a); + for (o = 0; o < s; o++) { + var f = (e || [])[o]; + u[o] = + void 0 === f ? [c(t[o]), c(t[o + 1], !0)] : [f, f]; + } + return u; + } + t.exports = function (t, e) { + var r, + l, + p, + d, + v = i.getFromId(t, e.xaxis), + g = i.getFromId(t, e.yaxis), + y = e.xcalendar, + m = e.ycalendar, + x = function (t) { + return v.r2c(t, 0, y); + }, + b = function (t) { + return g.r2c(t, 0, m); + }, + _ = u(t, e, v, "x"), + w = _[0], + T = _[1], + k = u(t, e, g, "y"), + A = k[0], + M = k[1], + S = e._length; + T.length > S && T.splice(S, T.length - S), + M.length > S && M.splice(S, M.length - S); + var E = [], + L = [], + C = [], + O = "string" == typeof w.size, + P = "string" == typeof A.size, + I = [], + D = [], + z = O ? I : w, + R = P ? D : A, + F = 0, + B = [], + N = [], + j = e.histnorm, + U = e.histfunc, + V = -1 !== j.indexOf("density"), + H = "max" === U || "min" === U ? null : 0, + q = a.count, + G = o[j], + Z = !1, + W = [], + Y = [], + X = + "z" in e + ? e.z + : "marker" in e && Array.isArray(e.marker.color) + ? e.marker.color + : ""; + X && "count" !== U && ((Z = "avg" === U), (q = a[U])); + var J = w.size, + K = x(w.start), + $ = + x(w.end) + (K - i.tickIncrement(K, J, !1, y)) / 1e6; + for (r = K; r < $; r = i.tickIncrement(r, J, !1, y)) + L.push(H), I.push(r), Z && C.push(0); + I.push(r); + var Q, + tt = L.length, + et = (r - K) / tt, + rt = ((Q = K + et / 2), v.c2r(Q, 0, y)), + nt = A.size, + it = b(A.start), + at = + b(A.end) + + (it - i.tickIncrement(it, nt, !1, m)) / 1e6; + for ( + r = it; + r < at; + r = i.tickIncrement(r, nt, !1, m) + ) { + E.push(L.slice()), D.push(r); + var ot = new Array(tt); + for (l = 0; l < tt; l++) ot[l] = []; + N.push(ot), Z && B.push(C.slice()); + } + D.push(r); + var st = E.length, + lt = (r - it) / st, + ut = (function (t) { + return g.c2r(t, 0, m); + })(it + lt / 2); + V && + ((W = c(L.length, z, et, O)), + (Y = c(E.length, R, lt, P))), + O || "date" !== v.type || (z = f(x, z)), + P || "date" !== g.type || (R = f(b, R)); + var ct = !0, + ft = !0, + ht = new Array(tt), + pt = new Array(st), + dt = 1 / 0, + vt = 1 / 0, + gt = 1 / 0, + yt = 1 / 0; + for (r = 0; r < S; r++) { + var mt = T[r], + xt = M[r]; + (p = n.findBin(mt, z)), + (d = n.findBin(xt, R)), + p >= 0 && + p < tt && + d >= 0 && + d < st && + ((F += q(p, r, E[d], X, B[d])), + N[d][p].push(r), + ct && + (void 0 === ht[p] + ? (ht[p] = mt) + : ht[p] !== mt && (ct = !1)), + ft && + (void 0 === pt[d] + ? (pt[d] = xt) + : pt[d] !== xt && (ft = !1)), + (dt = Math.min(dt, mt - I[p])), + (vt = Math.min(vt, I[p + 1] - mt)), + (gt = Math.min(gt, xt - D[d])), + (yt = Math.min(yt, D[d + 1] - xt))); + } + if (Z) for (d = 0; d < st; d++) F += s(E[d], B[d]); + if (G) for (d = 0; d < st; d++) G(E[d], F, W, Y[d]); + return { + x: T, + xRanges: h(I, ct && ht, dt, vt, v, y), + x0: rt, + dx: et, + y: M, + yRanges: h(D, ft && pt, gt, yt, g, m), + y0: ut, + dy: lt, + z: E, + pts: N, + }; + }; + }, + 93888: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(75238), + a = r(49901), + o = r(1586), + s = r(58623), + l = r(35361); + t.exports = function (t, e, r, u) { + function c(r, i) { + return n.coerce(t, e, l, r, i); + } + i(t, e, c, u), + !1 !== e.visible && + (a(t, e, c, u), + o(t, e, u, c, { prefix: "", cLetter: "z" }), + c("hovertemplate"), + s(c, u), + c("xhoverformat"), + c("yhoverformat")); + }; + }, + 76128: function (t, e, r) { + "use strict"; + var n = r(46248), + i = r(89298).hoverLabelText; + t.exports = function (t, e, r, a, o) { + var s = n(t, e, r, a, o); + if (s) { + var l = (t = s[0]).index, + u = l[0], + c = l[1], + f = t.cd[0], + h = f.trace, + p = f.xRanges[c], + d = f.yRanges[u]; + return ( + (t.xLabel = i(t.xa, [p[0], p[1]], h.xhoverformat)), + (t.yLabel = i(t.ya, [d[0], d[1]], h.yhoverformat)), + s + ); + } + }; + }, + 43905: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(35361), + supplyDefaults: r(93888), + crossTraceDefaults: r(82222), + calc: r(90757), + plot: r(50347), + layerName: "heatmaplayer", + colorbar: r(61243), + style: r(70035), + hoverPoints: r(76128), + eventData: r(84402), + moduleType: "trace", + name: "histogram2d", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "2dMap", + "histogram", + "showLegend", + ], + meta: {}, + }; + }, + 75238: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828); + t.exports = function (t, e, r, a) { + var o = r("x"), + s = r("y"), + l = i.minRowLength(o), + u = i.minRowLength(s); + l && u + ? ((e._length = Math.min(l, u)), + n.getComponentMethod( + "calendars", + "handleTraceDefaults", + )(t, e, ["x", "y"], a), + (r("z") || r("marker.color")) && r("histfunc"), + r("histnorm"), + r("autobinx"), + r("autobiny")) + : (e.visible = !1); + }; + }, + 99066: function (t, e, r) { + "use strict"; + var n = r(35361), + i = r(70600), + a = r(50693), + o = r(12663).axisHoverFormat, + s = r(1426).extendFlat; + t.exports = s( + { + x: n.x, + y: n.y, + z: n.z, + marker: n.marker, + histnorm: n.histnorm, + histfunc: n.histfunc, + nbinsx: n.nbinsx, + xbins: n.xbins, + nbinsy: n.nbinsy, + ybins: n.ybins, + autobinx: n.autobinx, + autobiny: n.autobiny, + bingroup: n.bingroup, + xbingroup: n.xbingroup, + ybingroup: n.ybingroup, + autocontour: i.autocontour, + ncontours: i.ncontours, + contours: i.contours, + line: { + color: i.line.color, + width: s({}, i.line.width, { dflt: 0.5 }), + dash: i.line.dash, + smoothing: i.line.smoothing, + editType: "plot", + }, + xhoverformat: o("x"), + yhoverformat: o("y"), + zhoverformat: o("z", 1), + hovertemplate: n.hovertemplate, + texttemplate: i.texttemplate, + textfont: i.textfont, + }, + a("", { cLetter: "z", editTypeOverride: "calc" }), + ); + }, + 62654: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(75238), + a = r(67217), + o = r(8724), + s = r(58623), + l = r(99066); + t.exports = function (t, e, r, u) { + function c(r, i) { + return n.coerce(t, e, l, r, i); + } + i(t, e, c, u), + !1 !== e.visible && + (a(t, e, c, function (r) { + return n.coerce2(t, e, l, r); + }), + o(t, e, c, u), + c("xhoverformat"), + c("yhoverformat"), + c("hovertemplate"), + e.contours && + "heatmap" === e.contours.coloring && + s(c, u)); + }; + }, + 35902: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(99066), + supplyDefaults: r(62654), + crossTraceDefaults: r(82222), + calc: r(27529), + plot: r(29854).plot, + layerName: "contourlayer", + style: r(84426), + colorbar: r(90654), + hoverPoints: r(52421), + moduleType: "trace", + name: "histogram2dcontour", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "2dMap", + "contour", + "histogram", + "showLegend", + ], + meta: {}, + }; + }, + 46291: function (t, e, r) { + "use strict"; + var n = r(5386).fF, + i = r(5386).si, + a = r(50693), + o = r(27670).Y, + s = r(34e3), + l = r(57564), + u = r(45802), + c = r(43473), + f = r(1426).extendFlat, + h = r(79952).u; + t.exports = { + labels: l.labels, + parents: l.parents, + values: l.values, + branchvalues: l.branchvalues, + count: l.count, + level: l.level, + maxdepth: l.maxdepth, + tiling: { + orientation: { + valType: "enumerated", + values: ["v", "h"], + dflt: "h", + editType: "plot", + }, + flip: u.tiling.flip, + pad: { + valType: "number", + min: 0, + dflt: 0, + editType: "plot", + }, + editType: "calc", + }, + marker: f( + { + colors: l.marker.colors, + line: l.marker.line, + pattern: h, + editType: "calc", + }, + a("marker", { colorAttr: "colors", anim: !1 }), + ), + leaf: l.leaf, + pathbar: u.pathbar, + text: s.text, + textinfo: l.textinfo, + texttemplate: i( + { editType: "plot" }, + { keys: c.eventDataKeys.concat(["label", "value"]) }, + ), + hovertext: s.hovertext, + hoverinfo: l.hoverinfo, + hovertemplate: n({}, { keys: c.eventDataKeys }), + textfont: s.textfont, + insidetextfont: s.insidetextfont, + outsidetextfont: u.outsidetextfont, + textposition: u.textposition, + sort: s.sort, + root: l.root, + domain: o({ + name: "icicle", + trace: !0, + editType: "calc", + }), + }; + }, + 96346: function (t, e, r) { + "use strict"; + var n = r(74875); + (e.name = "icicle"), + (e.plot = function (t, r, i, a) { + n.plotBasePlot(e.name, t, r, i, a); + }), + (e.clean = function (t, r, i, a) { + n.cleanBasePlot(e.name, t, r, i, a); + }); + }, + 46584: function (t, e, r) { + "use strict"; + var n = r(52147); + (e.y = function (t, e) { + return n.calc(t, e); + }), + (e.T = function (t) { + return n._runCrossTraceCalc("icicle", t); + }); + }, + 56524: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(46291), + a = r(7901), + o = r(27670).c, + s = r(90769).handleText, + l = r(97313).TEXTPAD, + u = r(37434).handleMarkerDefaults, + c = r(21081), + f = c.hasColorscale, + h = c.handleDefaults; + t.exports = function (t, e, r, c) { + function p(r, a) { + return n.coerce(t, e, i, r, a); + } + var d = p("labels"), + v = p("parents"); + if (d && d.length && v && v.length) { + var g = p("values"); + g && g.length ? p("branchvalues") : p("count"), + p("level"), + p("maxdepth"), + p("tiling.orientation"), + p("tiling.flip"), + p("tiling.pad"); + var y = p("text"); + p("texttemplate"), + e.texttemplate || + p( + "textinfo", + Array.isArray(y) ? "text+label" : "label", + ), + p("hovertext"), + p("hovertemplate"); + var m = p("pathbar.visible"); + s(t, e, c, p, "auto", { + hasPathbar: m, + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !1, + moduleHasCliponaxis: !1, + moduleHasTextangle: !1, + moduleHasInsideanchor: !1, + }), + p("textposition"), + u(t, e, c, p); + var x = (e._hasColorscale = + f(t, "marker", "colors") || + (t.marker || {}).coloraxis); + x && + h(t, e, c, p, { prefix: "marker.", cLetter: "c" }), + p("leaf.opacity", x ? 1 : 0.7), + (e._hovered = { + marker: { + line: { + width: 2, + color: a.contrast(c.paper_bgcolor), + }, + }, + }), + m && + (p( + "pathbar.thickness", + e.pathbar.textfont.size + 2 * l, + ), + p("pathbar.side"), + p("pathbar.edgeshape")), + p("sort"), + p("root.color"), + o(e, c, p), + (e._length = null); + } else e.visible = !1; + }; + }, + 90666: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(91424), + o = r(63893), + s = r(21538), + l = r(82454).styleOne, + u = r(43473), + c = r(2791), + f = r(83523), + h = r(24714).formatSliceLabel, + p = !1; + t.exports = function (t, e, r, d, v) { + var g = v.width, + y = v.height, + m = v.viewX, + x = v.viewY, + b = v.pathSlice, + _ = v.toMoveInsideSlice, + w = v.strTransform, + T = v.hasTransition, + k = v.handleSlicesExit, + A = v.makeUpdateSliceInterpolator, + M = v.makeUpdateTextInterpolator, + S = v.prevEntry, + E = t._context.staticPlot, + L = t._fullLayout, + C = e[0].trace, + O = -1 !== C.textposition.indexOf("left"), + P = -1 !== C.textposition.indexOf("right"), + I = -1 !== C.textposition.indexOf("bottom"), + D = s(r, [g, y], { + flipX: C.tiling.flip.indexOf("x") > -1, + flipY: C.tiling.flip.indexOf("y") > -1, + orientation: C.tiling.orientation, + pad: { inner: C.tiling.pad }, + maxDepth: C._maxDepth, + }).descendants(), + z = 1 / 0, + R = -1 / 0; + D.forEach(function (t) { + var e = t.depth; + e >= C._maxDepth + ? ((t.x0 = t.x1 = (t.x0 + t.x1) / 2), + (t.y0 = t.y1 = (t.y0 + t.y1) / 2)) + : ((z = Math.min(z, e)), (R = Math.max(R, e))); + }), + (d = d.data(D, c.getPtId)), + (C._maxVisibleLayers = isFinite(R) ? R - z + 1 : 0), + d.enter().append("g").classed("slice", !0), + k(d, p, {}, [g, y], b), + d.order(); + var F = null; + if (T && S) { + var B = c.getPtId(S); + d.each(function (t) { + null === F && + c.getPtId(t) === B && + (F = { x0: t.x0, x1: t.x1, y0: t.y0, y1: t.y1 }); + }); + } + var N = function () { + return F || { x0: 0, x1: g, y0: 0, y1: y }; + }, + j = d; + return ( + T && + (j = j.transition().each("end", function () { + var e = n.select(this); + c.setSliceCursor(e, t, { + hideOnRoot: !0, + hideOnLeaves: !1, + isTransitioning: !1, + }); + })), + j.each(function (s) { + (s._x0 = m(s.x0)), + (s._x1 = m(s.x1)), + (s._y0 = x(s.y0)), + (s._y1 = x(s.y1)), + (s._hoverX = m(s.x1 - C.tiling.pad)), + (s._hoverY = x( + I + ? s.y1 - C.tiling.pad / 2 + : s.y0 + C.tiling.pad / 2, + )); + var d = n.select(this), + v = i.ensureSingle( + d, + "path", + "surface", + function (t) { + t.style("pointer-events", E ? "none" : "all"); + }, + ); + T + ? v.transition().attrTween("d", function (t) { + var e = A(t, p, N(), [g, y], { + orientation: C.tiling.orientation, + flipX: C.tiling.flip.indexOf("x") > -1, + flipY: C.tiling.flip.indexOf("y") > -1, + }); + return function (t) { + return b(e(t)); + }; + }) + : v.attr("d", b), + d + .call(f, r, t, e, { + styleOne: l, + eventDataKeys: u.eventDataKeys, + transitionTime: u.CLICK_TRANSITION_TIME, + transitionEasing: u.CLICK_TRANSITION_EASING, + }) + .call(c.setSliceCursor, t, { + isTransitioning: t._transitioning, + }), + v.call(l, s, C, t, { hovered: !1 }), + s.x0 === s.x1 || s.y0 === s.y1 + ? (s._text = "") + : (s._text = h(s, r, C, e, L) || ""); + var k = i.ensureSingle(d, "g", "slicetext"), + S = i.ensureSingle(k, "text", "", function (t) { + t.attr("data-notex", 1); + }), + D = i.ensureUniformFontSize( + t, + c.determineTextFont(C, s, L.font), + ); + S.text(s._text || " ") + .classed("slicetext", !0) + .attr( + "text-anchor", + P ? "end" : O ? "start" : "middle", + ) + .call(a.font, D) + .call(o.convertToTspans, t), + (s.textBB = a.bBox(S.node())), + (s.transform = _(s, { fontSize: D.size })), + (s.transform.fontSize = D.size), + T + ? S.transition().attrTween( + "transform", + function (t) { + var e = M(t, p, N(), [g, y]); + return function (t) { + return w(e(t)); + }; + }, + ) + : S.attr("transform", w(s)); + }), + F + ); + }; + }, + 69816: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "icicle", + basePlotModule: r(96346), + categories: [], + animatable: !0, + attributes: r(46291), + layoutAttributes: r(92894), + supplyDefaults: r(56524), + supplyLayoutDefaults: r(21070), + calc: r(46584).y, + crossTraceCalc: r(46584).T, + plot: r(85596), + style: r(82454).style, + colorbar: r(4898), + meta: {}, + }; + }, + 92894: function (t) { + "use strict"; + t.exports = { + iciclecolorway: { + valType: "colorlist", + editType: "calc", + }, + extendiciclecolors: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + }; + }, + 21070: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(92894); + t.exports = function (t, e) { + function r(r, a) { + return n.coerce(t, e, i, r, a); + } + r("iciclecolorway", e.colorway), + r("extendiciclecolors"); + }; + }, + 21538: function (t, e, r) { + "use strict"; + var n = r(674), + i = r(14102); + t.exports = function (t, e, r) { + var a = r.flipX, + o = r.flipY, + s = "h" === r.orientation, + l = r.maxDepth, + u = e[0], + c = e[1]; + l && + ((u = + ((t.height + 1) * e[0]) / + Math.min(t.height + 1, l)), + (c = + ((t.height + 1) * e[1]) / + Math.min(t.height + 1, l))); + var f = n + .partition() + .padding(r.pad.inner) + .size(s ? [e[1], u] : [e[0], c])(t); + return ( + (s || a || o) && + i(f, e, { swapXY: s, flipX: a, flipY: o }), + f + ); + }; + }, + 85596: function (t, e, r) { + "use strict"; + var n = r(80694), + i = r(90666); + t.exports = function (t, e, r, a) { + return n(t, e, r, a, { + type: "icicle", + drawDescendants: i, + }); + }; + }, + 82454: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(7901), + a = r(71828), + o = r(72597).resizeText, + s = r(43467); + function l(t, e, r, n) { + var o = e.data.data, + l = !e.children, + u = o.i, + c = + a.castOption(r, u, "marker.line.color") || + i.defaultLine, + f = a.castOption(r, u, "marker.line.width") || 0; + t.call(s, e, r, n) + .style("stroke-width", f) + .call(i.stroke, c) + .style("opacity", l ? r.leaf.opacity : null); + } + t.exports = { + style: function (t) { + var e = + t._fullLayout._iciclelayer.selectAll(".trace"); + o(t, e, "icicle"), + e.each(function (e) { + var r = n.select(this), + i = e[0].trace; + r.style("opacity", i.opacity), + r.selectAll("path.surface").each(function (e) { + n.select(this).call(l, e, i, t); + }); + }); + }, + styleOne: l, + }; + }, + 17230: function (t, e, r) { + "use strict"; + for ( + var n = r(9012), + i = r(5386).fF, + a = r(1426).extendFlat, + o = r(51877).colormodel, + s = ["rgb", "rgba", "rgba256", "hsl", "hsla"], + l = [], + u = [], + c = 0; + c < s.length; + c++ + ) { + var f = o[s[c]]; + l.push( + "For the `" + + s[c] + + "` colormodel, it is [" + + (f.zminDflt || f.min).join(", ") + + "].", + ), + u.push( + "For the `" + + s[c] + + "` colormodel, it is [" + + (f.zmaxDflt || f.max).join(", ") + + "].", + ); + } + t.exports = a({ + source: { valType: "string", editType: "calc" }, + z: { valType: "data_array", editType: "calc" }, + colormodel: { + valType: "enumerated", + values: s, + editType: "calc", + }, + zsmooth: { + valType: "enumerated", + values: ["fast", !1], + dflt: !1, + editType: "plot", + }, + zmin: { + valType: "info_array", + items: [ + { valType: "number", editType: "calc" }, + { valType: "number", editType: "calc" }, + { valType: "number", editType: "calc" }, + { valType: "number", editType: "calc" }, + ], + editType: "calc", + }, + zmax: { + valType: "info_array", + items: [ + { valType: "number", editType: "calc" }, + { valType: "number", editType: "calc" }, + { valType: "number", editType: "calc" }, + { valType: "number", editType: "calc" }, + ], + editType: "calc", + }, + x0: { + valType: "any", + dflt: 0, + editType: "calc+clearAxisTypes", + }, + y0: { + valType: "any", + dflt: 0, + editType: "calc+clearAxisTypes", + }, + dx: { valType: "number", dflt: 1, editType: "calc" }, + dy: { valType: "number", dflt: 1, editType: "calc" }, + text: { valType: "data_array", editType: "plot" }, + hovertext: { valType: "data_array", editType: "plot" }, + hoverinfo: a({}, n.hoverinfo, { + flags: ["x", "y", "z", "color", "name", "text"], + dflt: "x+y+z+text+name", + }), + hovertemplate: i( + {}, + { keys: ["z", "color", "colormodel"] }, + ), + transforms: void 0, + }); + }, + 71113: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(51877), + a = r(92770), + o = r(89298), + s = r(71828).maxRowLength, + l = r(67395).A; + function u(t, e, r, i) { + return function (a) { + return n.constrain((a - t) * e, r, i); + }; + } + function c(t, e) { + return function (r) { + return n.constrain(r, t, e); + }; + } + t.exports = function (t, e) { + var r, n; + if (e._hasZ) (r = e.z.length), (n = s(e.z)); + else if (e._hasSource) { + var f = l(e.source); + (r = f.height), (n = f.width); + } + var h, + p = o.getFromId(t, e.xaxis || "x"), + d = o.getFromId(t, e.yaxis || "y"), + v = p.d2c(e.x0) - e.dx / 2, + g = d.d2c(e.y0) - e.dy / 2, + y = [v, v + n * e.dx], + m = [g, g + r * e.dy]; + if (p && "log" === p.type) + for (h = 0; h < n; h++) y.push(v + h * e.dx); + if (d && "log" === d.type) + for (h = 0; h < r; h++) m.push(g + h * e.dy); + return ( + (e._extremes[p._id] = o.findExtremes(p, y)), + (e._extremes[d._id] = o.findExtremes(d, m)), + (e._scaler = (function (t) { + var e = i.colormodel[t.colormodel], + r = (e.colormodel || t.colormodel).length; + t._sArray = []; + for (var n = 0; n < r; n++) + e.min[n] !== t.zmin[n] || e.max[n] !== t.zmax[n] + ? t._sArray.push( + u( + t.zmin[n], + (e.max[n] - e.min[n]) / + (t.zmax[n] - t.zmin[n]), + e.min[n], + e.max[n], + ), + ) + : t._sArray.push(c(e.min[n], e.max[n])); + return function (e) { + for (var n = e.slice(0, r), i = 0; i < r; i++) { + var o = n[i]; + if (!a(o)) return !1; + n[i] = t._sArray[i](o); + } + return n; + }; + })(e)), + [{ x0: v, y0: g, z: e.z, w: n, h: r }] + ); + }; + }, + 51877: function (t) { + "use strict"; + t.exports = { + colormodel: { + rgb: { + min: [0, 0, 0], + max: [255, 255, 255], + fmt: function (t) { + return t.slice(0, 3); + }, + suffix: ["", "", ""], + }, + rgba: { + min: [0, 0, 0, 0], + max: [255, 255, 255, 1], + fmt: function (t) { + return t.slice(0, 4); + }, + suffix: ["", "", "", ""], + }, + rgba256: { + colormodel: "rgba", + zminDflt: [0, 0, 0, 0], + zmaxDflt: [255, 255, 255, 255], + min: [0, 0, 0, 0], + max: [255, 255, 255, 1], + fmt: function (t) { + return t.slice(0, 4); + }, + suffix: ["", "", "", ""], + }, + hsl: { + min: [0, 0, 0], + max: [360, 100, 100], + fmt: function (t) { + var e = t.slice(0, 3); + return ( + (e[1] = e[1] + "%"), (e[2] = e[2] + "%"), e + ); + }, + suffix: ["°", "%", "%"], + }, + hsla: { + min: [0, 0, 0, 0], + max: [360, 100, 100, 1], + fmt: function (t) { + var e = t.slice(0, 4); + return ( + (e[1] = e[1] + "%"), (e[2] = e[2] + "%"), e + ); + }, + suffix: ["°", "%", "%", ""], + }, + }, + }; + }, + 13245: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(17230), + a = r(51877), + o = r(25095).IMAGE_URL_PREFIX; + t.exports = function (t, e) { + function r(r, a) { + return n.coerce(t, e, i, r, a); + } + r("source"), + e.source && !e.source.match(o) && delete e.source, + (e._hasSource = !!e.source); + var s, + l = r("z"); + (e._hasZ = !( + void 0 === l || + !l.length || + !l[0] || + !l[0].length + )), + e._hasZ || e._hasSource + ? (r("x0"), + r("y0"), + r("dx"), + r("dy"), + e._hasZ + ? (r("colormodel", "rgb"), + r( + "zmin", + (s = a.colormodel[e.colormodel]).zminDflt || + s.min, + ), + r("zmax", s.zmaxDflt || s.max)) + : e._hasSource && + ((e.colormodel = "rgba256"), + (s = a.colormodel[e.colormodel]), + (e.zmin = s.zminDflt), + (e.zmax = s.zmaxDflt)), + r("zsmooth"), + r("text"), + r("hovertext"), + r("hovertemplate"), + (e._length = null)) + : (e.visible = !1); + }; + }, + 30835: function (t) { + "use strict"; + t.exports = function (t, e) { + return ( + "xVal" in e && (t.x = e.xVal), + "yVal" in e && (t.y = e.yVal), + e.xa && (t.xaxis = e.xa), + e.ya && (t.yaxis = e.ya), + (t.color = e.color), + (t.colormodel = e.trace.colormodel), + t.z || (t.z = e.color), + t + ); + }; + }, + 67395: function (t, e, r) { + "use strict"; + var n = r(33575), + i = r(25095).IMAGE_URL_PREFIX, + a = r(12856).Buffer; + e.A = function (t) { + var e = t.replace(i, ""), + r = new a(e, "base64"); + return n(r); + }; + }, + 28749: function (t, e, r) { + "use strict"; + var n = r(30211), + i = r(71828), + a = r(51877); + t.exports = function (t, e, r) { + var o = t.cd[0], + s = o.trace, + l = t.xa, + u = t.ya; + if ( + !( + n.inbox(e - o.x0, e - (o.x0 + o.w * s.dx), 0) > 0 || + n.inbox(r - o.y0, r - (o.y0 + o.h * s.dy), 0) > 0 + ) + ) { + var c, + f = Math.floor((e - o.x0) / s.dx), + h = Math.floor(Math.abs(r - o.y0) / s.dy); + if ( + (s._hasZ + ? (c = o.z[h][f]) + : s._hasSource && + (c = s._canvas.el + .getContext("2d", { willReadFrequently: !0 }) + .getImageData(f, h, 1, 1).data), + c) + ) { + var p, + d = o.hi || s.hoverinfo; + if (d) { + var v = d.split("+"); + -1 !== v.indexOf("all") && (v = ["color"]), + -1 !== v.indexOf("color") && (p = !0); + } + var g, + y = a.colormodel[s.colormodel], + m = y.colormodel || s.colormodel, + x = m.length, + b = s._scaler(c), + _ = y.suffix, + w = []; + (s.hovertemplate || p) && + (w.push( + "[" + + [b[0] + _[0], b[1] + _[1], b[2] + _[2]].join( + ", ", + ), + ), + 4 === x && w.push(", " + b[3] + _[3]), + w.push("]"), + (w = w.join("")), + (t.extraText = m.toUpperCase() + ": " + w)), + Array.isArray(s.hovertext) && + Array.isArray(s.hovertext[h]) + ? (g = s.hovertext[h][f]) + : Array.isArray(s.text) && + Array.isArray(s.text[h]) && + (g = s.text[h][f]); + var T = u.c2p(o.y0 + (h + 0.5) * s.dy), + k = o.x0 + (f + 0.5) * s.dx, + A = o.y0 + (h + 0.5) * s.dy, + M = + "[" + + c.slice(0, s.colormodel.length).join(", ") + + "]"; + return [ + i.extendFlat(t, { + index: [h, f], + x0: l.c2p(o.x0 + f * s.dx), + x1: l.c2p(o.x0 + (f + 1) * s.dx), + y0: T, + y1: T, + color: b, + xVal: k, + xLabelVal: k, + yVal: A, + yLabelVal: A, + zLabelVal: M, + text: g, + hovertemplateLabels: { + zLabel: M, + colorLabel: w, + "color[0]Label": b[0] + _[0], + "color[1]Label": b[1] + _[1], + "color[2]Label": b[2] + _[2], + "color[3]Label": b[3] + _[3], + }, + }), + ]; + } + } + }; + }, + 94507: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(17230), + supplyDefaults: r(13245), + calc: r(71113), + plot: r(60775), + style: r(12826), + hoverPoints: r(28749), + eventData: r(30835), + moduleType: "trace", + name: "image", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "2dMap", + "noSortingByValue", + ], + animatable: !1, + meta: {}, + }; + }, + 60775: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = i.strTranslate, + o = r(77922), + s = r(51877), + l = r(3883), + u = r(32396).STYLE; + t.exports = function (t, e, r, c) { + var f = e.xaxis, + h = e.yaxis, + p = !t._context._exportedPlot && l(); + i.makeTraceGroups(c, r, "im").each(function (e) { + var r = n.select(this), + l = e[0], + c = l.trace, + d = + ("fast" === c.zsmooth || + (!1 === c.zsmooth && p)) && + !c._hasZ && + c._hasSource && + "linear" === f.type && + "linear" === h.type; + c._realImage = d; + var v, + g, + y, + m, + x, + b, + _ = l.z, + w = l.x0, + T = l.y0, + k = l.w, + A = l.h, + M = c.dx, + S = c.dy; + for (b = 0; void 0 === v && b < k; ) + (v = f.c2p(w + b * M)), b++; + for (b = k; void 0 === g && b > 0; ) + (g = f.c2p(w + b * M)), b--; + for (b = 0; void 0 === m && b < A; ) + (m = h.c2p(T + b * S)), b++; + for (b = A; void 0 === x && b > 0; ) + (x = h.c2p(T + b * S)), b--; + g < v && ((y = g), (g = v), (v = y)), + x < m && ((y = m), (m = x), (x = y)), + d || + ((v = Math.max(-0.5 * f._length, v)), + (g = Math.min(1.5 * f._length, g)), + (m = Math.max(-0.5 * h._length, m)), + (x = Math.min(1.5 * h._length, x))); + var E = Math.round(g - v), + L = Math.round(x - m); + if (E <= 0 || L <= 0) + r.selectAll("image").data([]).exit().remove(); + else { + var C = r.selectAll("image").data([e]); + C.enter() + .append("svg:image") + .attr({ + xmlns: o.svg, + preserveAspectRatio: "none", + }), + C.exit().remove(); + var O = !1 === c.zsmooth ? u : ""; + if (d) { + var P = i.simpleMap(f.range, f.r2l), + I = i.simpleMap(h.range, h.r2l), + D = P[1] < P[0], + z = I[1] > I[0]; + if (D || z) { + var R = v + E / 2, + F = m + L / 2; + O += + "transform:" + + a(R + "px", F + "px") + + "scale(" + + (D ? -1 : 1) + + "," + + (z ? -1 : 1) + + ")" + + a(-R + "px", -F + "px") + + ";"; + } + } + C.attr("style", O); + var B = new Promise(function (t) { + if (c._hasZ) t(); + else if (c._hasSource) + if ( + c._canvas && + c._canvas.el.width === k && + c._canvas.el.height === A && + c._canvas.source === c.source + ) + t(); + else { + var e = document.createElement("canvas"); + (e.width = k), (e.height = A); + var r = e.getContext("2d", { + willReadFrequently: !0, + }); + c._image = c._image || new Image(); + var n = c._image; + (n.onload = function () { + r.drawImage(n, 0, 0), + (c._canvas = { el: e, source: c.source }), + t(); + }), + n.setAttribute("src", c.source); + } + }).then(function () { + var t, e; + if (c._hasZ) + (e = N(function (t, e) { + return _[e][t]; + })), + (t = e.toDataURL("image/png")); + else if (c._hasSource) + if (d) t = c.source; + else { + var r = c._canvas.el + .getContext("2d", { + willReadFrequently: !0, + }) + .getImageData(0, 0, k, A).data; + (e = N(function (t, e) { + var n = 4 * (e * k + t); + return [r[n], r[n + 1], r[n + 2], r[n + 3]]; + })), + (t = e.toDataURL("image/png")); + } + C.attr({ + "xlink:href": t, + height: L, + width: E, + x: v, + y: m, + }); + }); + t._promises.push(B); + } + function N(t) { + var e = document.createElement("canvas"); + (e.width = E), (e.height = L); + var r, + n = e.getContext("2d", { + willReadFrequently: !0, + }), + a = function (t) { + return i.constrain( + Math.round(f.c2p(w + t * M) - v), + 0, + E, + ); + }, + o = function (t) { + return i.constrain( + Math.round(h.c2p(T + t * S) - m), + 0, + L, + ); + }, + u = s.colormodel[c.colormodel], + p = u.colormodel || c.colormodel, + d = u.fmt; + for (b = 0; b < l.w; b++) { + var g = a(b), + y = a(b + 1); + if (y !== g && !isNaN(y) && !isNaN(g)) + for (var x = 0; x < l.h; x++) { + var _ = o(x), + k = o(x + 1); + k === _ || + isNaN(k) || + isNaN(_) || + !t(b, x) || + ((r = c._scaler(t(b, x))), + (n.fillStyle = r + ? p + "(" + d(r).join(",") + ")" + : "rgba(0,0,0,0)"), + n.fillRect(g, _, y - g, k - _)); + } + } + return e; + } + }); + }; + }, + 12826: function (t, e, r) { + "use strict"; + var n = r(39898); + t.exports = function (t) { + n.select(t) + .selectAll(".im image") + .style("opacity", function (t) { + return t[0].trace.opacity; + }); + }; + }, + 54846: function (t, e, r) { + "use strict"; + var n = r(1426).extendFlat, + i = r(1426).extendDeep, + a = r(30962).overrideAll, + o = r(41940), + s = r(22399), + l = r(27670).Y, + u = r(13838), + c = r(44467).templatedArray, + f = r(22372), + h = r(12663).descriptionOnlyNumbers, + p = o({ editType: "plot", colorEditType: "plot" }), + d = { + color: { valType: "color", editType: "plot" }, + line: { + color: { + valType: "color", + dflt: s.defaultLine, + editType: "plot", + }, + width: { + valType: "number", + min: 0, + dflt: 0, + editType: "plot", + }, + editType: "calc", + }, + thickness: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + editType: "plot", + }, + editType: "calc", + }, + v = { + valType: "info_array", + items: [ + { valType: "number", editType: "plot" }, + { valType: "number", editType: "plot" }, + ], + editType: "plot", + }, + g = c("step", i({}, d, { range: v })); + t.exports = { + mode: { + valType: "flaglist", + editType: "calc", + flags: ["number", "delta", "gauge"], + dflt: "number", + }, + value: { + valType: "number", + editType: "calc", + anim: !0, + }, + align: { + valType: "enumerated", + values: ["left", "center", "right"], + editType: "plot", + }, + domain: l({ + name: "indicator", + trace: !0, + editType: "calc", + }), + title: { + text: { valType: "string", editType: "plot" }, + align: { + valType: "enumerated", + values: ["left", "center", "right"], + editType: "plot", + }, + font: n({}, p, {}), + editType: "plot", + }, + number: { + valueformat: { + valType: "string", + dflt: "", + editType: "plot", + description: h("value"), + }, + font: n({}, p, {}), + prefix: { + valType: "string", + dflt: "", + editType: "plot", + }, + suffix: { + valType: "string", + dflt: "", + editType: "plot", + }, + editType: "plot", + }, + delta: { + reference: { valType: "number", editType: "calc" }, + position: { + valType: "enumerated", + values: ["top", "bottom", "left", "right"], + dflt: "bottom", + editType: "plot", + }, + relative: { + valType: "boolean", + editType: "plot", + dflt: !1, + }, + valueformat: { + valType: "string", + editType: "plot", + description: h("value"), + }, + increasing: { + symbol: { + valType: "string", + dflt: f.INCREASING.SYMBOL, + editType: "plot", + }, + color: { + valType: "color", + dflt: f.INCREASING.COLOR, + editType: "plot", + }, + editType: "plot", + }, + decreasing: { + symbol: { + valType: "string", + dflt: f.DECREASING.SYMBOL, + editType: "plot", + }, + color: { + valType: "color", + dflt: f.DECREASING.COLOR, + editType: "plot", + }, + editType: "plot", + }, + font: n({}, p, {}), + prefix: { + valType: "string", + dflt: "", + editType: "plot", + }, + suffix: { + valType: "string", + dflt: "", + editType: "plot", + }, + editType: "calc", + }, + gauge: { + shape: { + valType: "enumerated", + editType: "plot", + dflt: "angular", + values: ["angular", "bullet"], + }, + bar: i({}, d, { color: { dflt: "green" } }), + bgcolor: { valType: "color", editType: "plot" }, + bordercolor: { + valType: "color", + dflt: s.defaultLine, + editType: "plot", + }, + borderwidth: { + valType: "number", + min: 0, + dflt: 1, + editType: "plot", + }, + axis: a( + { + range: v, + visible: n({}, u.visible, { dflt: !0 }), + tickmode: u.minor.tickmode, + nticks: u.nticks, + tick0: u.tick0, + dtick: u.dtick, + tickvals: u.tickvals, + ticktext: u.ticktext, + ticks: n({}, u.ticks, { dflt: "outside" }), + ticklen: u.ticklen, + tickwidth: u.tickwidth, + tickcolor: u.tickcolor, + ticklabelstep: u.ticklabelstep, + showticklabels: u.showticklabels, + labelalias: u.labelalias, + tickfont: o({}), + tickangle: u.tickangle, + tickformat: u.tickformat, + tickformatstops: u.tickformatstops, + tickprefix: u.tickprefix, + showtickprefix: u.showtickprefix, + ticksuffix: u.ticksuffix, + showticksuffix: u.showticksuffix, + separatethousands: u.separatethousands, + exponentformat: u.exponentformat, + minexponent: u.minexponent, + showexponent: u.showexponent, + editType: "plot", + }, + "plot", + ), + steps: g, + threshold: { + line: { + color: n({}, d.line.color, {}), + width: n({}, d.line.width, { dflt: 1 }), + editType: "plot", + }, + thickness: n({}, d.thickness, { dflt: 0.85 }), + value: { + valType: "number", + editType: "calc", + dflt: !1, + }, + editType: "plot", + }, + editType: "plot", + }, + }; + }, + 15970: function (t, e, r) { + "use strict"; + var n = r(74875); + (e.name = "indicator"), + (e.plot = function (t, r, i, a) { + n.plotBasePlot(e.name, t, r, i, a); + }), + (e.clean = function (t, r, i, a) { + n.cleanBasePlot(e.name, t, r, i, a); + }); + }, + 24667: function (t) { + "use strict"; + t.exports = { + calc: function (t, e) { + var r = [], + n = e.value; + "number" != typeof e._lastValue && + (e._lastValue = e.value); + var i = e._lastValue, + a = i; + return ( + e._hasDelta && + "number" == typeof e.delta.reference && + (a = e.delta.reference), + (r[0] = { + y: n, + lastY: i, + delta: n - a, + relativeDelta: (n - a) / a, + }), + r + ); + }, + }; + }, + 84577: function (t) { + "use strict"; + t.exports = { + defaultNumberFontSize: 80, + bulletNumberDomainSize: 0.25, + bulletPadding: 0.025, + innerRadius: 0.75, + valueThickness: 0.5, + titlePadding: 5, + horizontalPadding: 10, + }; + }, + 94425: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(54846), + a = r(27670).c, + o = r(44467), + s = r(85501), + l = r(84577), + u = r(26218), + c = r(38701), + f = r(96115), + h = r(89426); + function p(t, e) { + function r(r, a) { + return n.coerce(t, e, i.gauge.steps, r, a); + } + r("color"), + r("line.color"), + r("line.width"), + r("range"), + r("thickness"); + } + t.exports = { + supplyDefaults: function (t, e, r, d) { + function v(r, a) { + return n.coerce(t, e, i, r, a); + } + a(e, d, v), + v("mode"), + (e._hasNumber = -1 !== e.mode.indexOf("number")), + (e._hasDelta = -1 !== e.mode.indexOf("delta")), + (e._hasGauge = -1 !== e.mode.indexOf("gauge")); + var g = v("value"); + e._range = [0, "number" == typeof g ? 1.5 * g : 1]; + var y, + m, + x, + b, + _, + w, + T = new Array(2); + function k(t, e) { + return n.coerce(x, b, i.gauge, t, e); + } + function A(t, e) { + return n.coerce(_, w, i.gauge.axis, t, e); + } + if ( + (e._hasNumber && + (v("number.valueformat"), + v("number.font.color", d.font.color), + v("number.font.family", d.font.family), + v("number.font.size"), + void 0 === e.number.font.size && + ((e.number.font.size = l.defaultNumberFontSize), + (T[0] = !0)), + v("number.prefix"), + v("number.suffix"), + (y = e.number.font.size)), + e._hasDelta && + (v("delta.font.color", d.font.color), + v("delta.font.family", d.font.family), + v("delta.font.size"), + void 0 === e.delta.font.size && + ((e.delta.font.size = + (e._hasNumber ? 0.5 : 1) * + (y || l.defaultNumberFontSize)), + (T[1] = !0)), + v("delta.reference", e.value), + v("delta.relative"), + v( + "delta.valueformat", + e.delta.relative ? "2%" : "", + ), + v("delta.increasing.symbol"), + v("delta.increasing.color"), + v("delta.decreasing.symbol"), + v("delta.decreasing.color"), + v("delta.position"), + v("delta.prefix"), + v("delta.suffix"), + (m = e.delta.font.size)), + (e._scaleNumbers = + ((!e._hasNumber || T[0]) && + (!e._hasDelta || T[1])) || + !1), + v("title.font.color", d.font.color), + v("title.font.family", d.font.family), + v( + "title.font.size", + 0.25 * (y || m || l.defaultNumberFontSize), + ), + v("title.text"), + e._hasGauge) + ) { + (x = t.gauge) || (x = {}), + (b = o.newContainer(e, "gauge")), + k("shape"), + (e._isBullet = "bullet" === e.gauge.shape) || + v("title.align", "center"), + (e._isAngular = "angular" === e.gauge.shape) || + v("align", "center"), + k("bgcolor", d.paper_bgcolor), + k("borderwidth"), + k("bordercolor"), + k("bar.color"), + k("bar.line.color"), + k("bar.line.width"), + k( + "bar.thickness", + l.valueThickness * + ("bullet" === e.gauge.shape ? 0.5 : 1), + ), + s(x, b, { name: "steps", handleItemDefaults: p }), + k("threshold.value"), + k("threshold.thickness"), + k("threshold.line.width"), + k("threshold.line.color"), + (_ = {}), + x && (_ = x.axis || {}), + (w = o.newContainer(b, "axis")), + A("visible"), + (e._range = A("range", e._range)); + var M = { outerTicks: !0 }; + u(_, w, A, "linear"), + h(_, w, A, "linear", M), + f(_, w, A, "linear", M), + c(_, w, A, M); + } else + v("title.align", "center"), + v("align", "center"), + (e._isAngular = e._isBullet = !1); + e._length = null; + }, + }; + }, + 15154: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "indicator", + basePlotModule: r(15970), + categories: ["svg", "noOpacity", "noHover"], + animatable: !0, + attributes: r(54846), + supplyDefaults: r(94425).supplyDefaults, + calc: r(24667).calc, + plot: r(75634), + meta: {}, + }; + }, + 75634: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(81684).sX, + a = r(81684).k4, + o = r(71828), + s = o.strScale, + l = o.strTranslate, + u = o.rad2deg, + c = r(18783).MID_SHIFT, + f = r(91424), + h = r(84577), + p = r(63893), + d = r(89298), + v = r(71453), + g = r(52830), + y = r(13838), + m = r(7901), + x = { left: "start", center: "middle", right: "end" }, + b = { left: 0, center: 0.5, right: 1 }, + _ = /[yzafpnµmkMGTPEZY]/; + function w(t) { + return t && t.duration > 0; + } + function T(t) { + t.each(function (t) { + m.stroke(n.select(this), t.line.color); + }) + .each(function (t) { + m.fill(n.select(this), t.color); + }) + .style("stroke-width", function (t) { + return t.line.width; + }); + } + function k(t, e, r) { + var n = t._fullLayout, + i = o.extendFlat( + { + type: "linear", + ticks: "outside", + range: r, + showline: !0, + }, + e, + ), + a = { type: "linear", _id: "x" + e._id }, + s = { + letter: "x", + font: n.font, + noHover: !0, + noTickson: !0, + }; + function l(t, e) { + return o.coerce(i, a, y, t, e); + } + return v(i, a, l, s, n), g(i, a, l, s), a; + } + function A(t, e, r) { + return [ + Math.min(e / t.width, r / t.height), + t, + e + "x" + r, + ]; + } + function M(t, e, r, i) { + var a = document.createElementNS( + "http://www.w3.org/2000/svg", + "text", + ), + o = n.select(a); + return ( + o + .text(t) + .attr("x", 0) + .attr("y", 0) + .attr("text-anchor", r) + .attr("data-unformatted", t) + .call(p.convertToTspans, i) + .call(f.font, e), + f.bBox(o.node()) + ); + } + function S(t, e, r, n, i, a) { + var s = "_cache" + e; + (t[s] && t[s].key === i) || + (t[s] = { key: i, value: r }); + var l = o.aggNums(a, null, [t[s].value, n], 2); + return (t[s].value = l), l; + } + t.exports = function (t, e, r, v) { + var g, + y = t._fullLayout; + w(r) && v && (g = v()), + o + .makeTraceGroups(y._indicatorlayer, e, "trace") + .each(function (e) { + var v, + E, + L, + C, + O, + P = e[0].trace, + I = n.select(this), + D = P._hasGauge, + z = P._isAngular, + R = P._isBullet, + F = P.domain, + B = { + w: y._size.w * (F.x[1] - F.x[0]), + h: y._size.h * (F.y[1] - F.y[0]), + l: y._size.l + y._size.w * F.x[0], + r: y._size.r + y._size.w * (1 - F.x[1]), + t: y._size.t + y._size.h * (1 - F.y[1]), + b: y._size.b + y._size.h * F.y[0], + }, + N = B.l + B.w / 2, + j = B.t + B.h / 2, + U = Math.min(B.w / 2, B.h), + V = h.innerRadius * U, + H = P.align || "center"; + if (((E = j), D)) { + if ( + (z && + ((v = N), + (E = j + U / 2), + (L = function (t) { + return (function (t, e) { + return [ + e / + Math.sqrt( + (t.width / 2) * (t.width / 2) + + t.height * t.height, + ), + t, + e, + ]; + })(t, 0.9 * V); + })), + R) + ) { + var q = h.bulletPadding, + G = 1 - h.bulletNumberDomainSize + q; + (v = B.l + (G + (1 - G) * b[H]) * B.w), + (L = function (t) { + return A( + t, + (h.bulletNumberDomainSize - q) * B.w, + B.h, + ); + }); + } + } else + (v = B.l + b[H] * B.w), + (L = function (t) { + return A(t, B.w, B.h); + }); + !(function (t, e, r, i) { + var u, + c, + h, + v = r[0].trace, + g = i.numbersX, + y = i.numbersY, + T = v.align || "center", + A = x[T], + E = i.transitionOpts, + L = i.onComplete, + C = o.ensureSingle(e, "g", "numbers"), + O = []; + v._hasNumber && O.push("number"), + v._hasDelta && + (O.push("delta"), + "left" === v.delta.position && O.reverse()); + var P = C.selectAll("text").data(O); + function I(e, r, n, i) { + if ( + !e.match("s") || + n >= 0 == i >= 0 || + r(n).slice(-1).match(_) || + r(i).slice(-1).match(_) + ) + return r; + var a = e + .slice() + .replace("s", "f") + .replace(/\d+/, function (t) { + return parseInt(t) - 1; + }), + o = k(t, { tickformat: a }); + return function (t) { + return Math.abs(t) < 1 + ? d.tickText(o, t).text + : r(t); + }; + } + P.enter().append("text"), + P.attr("text-anchor", function () { + return A; + }) + .attr("class", function (t) { + return t; + }) + .attr("x", null) + .attr("y", null) + .attr("dx", null) + .attr("dy", null), + P.exit().remove(); + var D, + z = v.mode + v.align; + if ( + (v._hasDelta && + ((D = (function () { + var e = k( + t, + { tickformat: v.delta.valueformat }, + v._range, + ); + e.setScale(), d.prepTicks(e); + var i = function (t) { + return d.tickText(e, t).text; + }, + o = v.delta.suffix, + s = v.delta.prefix, + l = function (t) { + return v.delta.relative + ? t.relativeDelta + : t.delta; + }, + u = function (t, e) { + return 0 === t || + "number" != typeof t || + isNaN(t) + ? "-" + : (t > 0 + ? v.delta.increasing.symbol + : v.delta.decreasing.symbol) + + s + + e(t) + + o; + }, + h = function (t) { + return t.delta >= 0 + ? v.delta.increasing.color + : v.delta.decreasing.color; + }; + void 0 === v._deltaLastValue && + (v._deltaLastValue = l(r[0])); + var g = C.select("text.delta"); + function y() { + g.text(u(l(r[0]), i)) + .call(m.fill, h(r[0])) + .call(p.convertToTspans, t); + } + return ( + g + .call(f.font, v.delta.font) + .call( + m.fill, + h({ delta: v._deltaLastValue }), + ), + w(E) + ? g + .transition() + .duration(E.duration) + .ease(E.easing) + .tween("text", function () { + var t = n.select(this), + e = l(r[0]), + o = v._deltaLastValue, + s = I( + v.delta.valueformat, + i, + o, + e, + ), + c = a(o, e); + return ( + (v._deltaLastValue = e), + function (e) { + t.text(u(c(e), s)), + t.call( + m.fill, + h({ delta: c(e) }), + ); + } + ); + }) + .each("end", function () { + y(), L && L(); + }) + .each("interrupt", function () { + y(), L && L(); + }) + : y(), + (c = M( + u(l(r[0]), i), + v.delta.font, + A, + t, + )), + g + ); + })()), + (z += + v.delta.position + + v.delta.font.size + + v.delta.font.family + + v.delta.valueformat), + (z += + v.delta.increasing.symbol + + v.delta.decreasing.symbol), + (h = c)), + v._hasNumber && + ((function () { + var e = k( + t, + { tickformat: v.number.valueformat }, + v._range, + ); + e.setScale(), d.prepTicks(e); + var i = function (t) { + return d.tickText(e, t).text; + }, + o = v.number.suffix, + s = v.number.prefix, + l = C.select("text.number"); + function c() { + var e = + "number" == typeof r[0].y + ? s + i(r[0].y) + o + : "-"; + l.text(e) + .call(f.font, v.number.font) + .call(p.convertToTspans, t); + } + w(E) + ? l + .transition() + .duration(E.duration) + .ease(E.easing) + .each("end", function () { + c(), L && L(); + }) + .each("interrupt", function () { + c(), L && L(); + }) + .attrTween("text", function () { + var t = n.select(this), + e = a(r[0].lastY, r[0].y); + v._lastValue = r[0].y; + var l = I( + v.number.valueformat, + i, + r[0].lastY, + r[0].y, + ); + return function (r) { + t.text(s + l(e(r)) + o); + }; + }) + : c(), + (u = M( + s + i(r[0].y) + o, + v.number.font, + A, + t, + )); + })(), + (z += + v.number.font.size + + v.number.font.family + + v.number.valueformat + + v.number.suffix + + v.number.prefix), + (h = u)), + v._hasDelta && v._hasNumber) + ) { + var R, + F, + B = [ + (u.left + u.right) / 2, + (u.top + u.bottom) / 2, + ], + N = [ + (c.left + c.right) / 2, + (c.top + c.bottom) / 2, + ], + j = 0.75 * v.delta.font.size; + "left" === v.delta.position && + ((R = S( + v, + "deltaPos", + 0, + -1 * + (u.width * b[v.align] + + c.width * (1 - b[v.align]) + + j), + z, + Math.min, + )), + (F = B[1] - N[1]), + (h = { + width: u.width + c.width + j, + height: Math.max(u.height, c.height), + left: c.left + R, + right: u.right, + top: Math.min(u.top, c.top + F), + bottom: Math.max(u.bottom, c.bottom + F), + })), + "right" === v.delta.position && + ((R = S( + v, + "deltaPos", + 0, + u.width * (1 - b[v.align]) + + c.width * b[v.align] + + j, + z, + Math.max, + )), + (F = B[1] - N[1]), + (h = { + width: u.width + c.width + j, + height: Math.max(u.height, c.height), + left: u.left, + right: c.right + R, + top: Math.min(u.top, c.top + F), + bottom: Math.max( + u.bottom, + c.bottom + F, + ), + })), + "bottom" === v.delta.position && + ((R = null), + (F = c.height), + (h = { + width: Math.max(u.width, c.width), + height: u.height + c.height, + left: Math.min(u.left, c.left), + right: Math.max(u.right, c.right), + top: u.bottom - u.height, + bottom: u.bottom + c.height, + })), + "top" === v.delta.position && + ((R = null), + (F = u.top), + (h = { + width: Math.max(u.width, c.width), + height: u.height + c.height, + left: Math.min(u.left, c.left), + right: Math.max(u.right, c.right), + top: u.bottom - u.height - c.height, + bottom: u.bottom, + })), + D.attr({ dx: R, dy: F }); + } + (v._hasNumber || v._hasDelta) && + C.attr("transform", function () { + var t = i.numbersScaler(h); + z += t[2]; + var e, + r = S( + v, + "numbersScale", + 1, + t[0], + z, + Math.min, + ); + v._scaleNumbers || (r = 1), + (e = v._isAngular + ? y - r * h.bottom + : y - (r * (h.top + h.bottom)) / 2), + (v._numbersTop = r * h.top + e); + var n = h[T]; + "center" === T && + (n = (h.left + h.right) / 2); + var a = g - r * n; + return ( + (a = S( + v, + "numbersTranslate", + 0, + a, + z, + Math.max, + )), + l(a, e) + s(r) + ); + }); + })(t, I, e, { + numbersX: v, + numbersY: E, + numbersScaler: L, + transitionOpts: r, + onComplete: g, + }), + D && + ((C = { + range: P.gauge.axis.range, + color: P.gauge.bgcolor, + line: { + color: P.gauge.bordercolor, + width: 0, + }, + thickness: 1, + }), + (O = { + range: P.gauge.axis.range, + color: "rgba(0, 0, 0, 0)", + line: { + color: P.gauge.bordercolor, + width: P.gauge.borderwidth, + }, + thickness: 1, + })); + var Z = I.selectAll("g.angular").data(z ? e : []); + Z.exit().remove(); + var W = I.selectAll("g.angularaxis").data( + z ? e : [], + ); + W.exit().remove(), + z && + (function (t, e, r, a) { + var o, + s, + f, + h, + p = r[0].trace, + v = a.size, + g = a.radius, + y = a.innerRadius, + m = a.gaugeBg, + x = a.gaugeOutline, + b = [ + v.l + v.w / 2, + v.t + v.h / 2 + g / 2, + ], + _ = a.gauge, + A = a.layer, + M = a.transitionOpts, + S = a.onComplete, + E = Math.PI / 2; + function L(t) { + var e = p.gauge.axis.range[0], + r = + ((t - e) / + (p.gauge.axis.range[1] - e)) * + Math.PI - + E; + return r < -E ? -E : r > E ? E : r; + } + function C(t) { + return n.svg + .arc() + .innerRadius( + (y + g) / 2 - (t / 2) * (g - y), + ) + .outerRadius( + (y + g) / 2 + (t / 2) * (g - y), + ) + .startAngle(-E); + } + function O(t) { + t.attr("d", function (t) { + return C(t.thickness) + .startAngle(L(t.range[0])) + .endAngle(L(t.range[1]))(); + }); + } + _.enter() + .append("g") + .classed("angular", !0), + _.attr("transform", l(b[0], b[1])), + A.enter() + .append("g") + .classed("angularaxis", !0) + .classed("crisp", !0), + A.selectAll( + "g.xangularaxistick,path,text", + ).remove(), + ((o = k(t, p.gauge.axis)).type = + "linear"), + (o.range = p.gauge.axis.range), + (o._id = "xangularaxis"), + (o.ticklabeloverflow = "allow"), + o.setScale(); + var P = function (t) { + return ( + ((o.range[0] - t.x) / + (o.range[1] - o.range[0])) * + Math.PI + + Math.PI + ); + }, + I = {}, + D = d.makeLabelFns(o, 0).labelStandoff; + (I.xFn = function (t) { + var e = P(t); + return Math.cos(e) * D; + }), + (I.yFn = function (t) { + var e = P(t), + r = Math.sin(e) > 0 ? 0.2 : 1; + return ( + -Math.sin(e) * (D + t.fontSize * r) + + Math.abs(Math.cos(e)) * + (t.fontSize * c) + ); + }), + (I.anchorFn = function (t) { + var e = P(t), + r = Math.cos(e); + return Math.abs(r) < 0.1 + ? "middle" + : r > 0 + ? "start" + : "end"; + }), + (I.heightFn = function (t, e, r) { + var n = P(t); + return -0.5 * (1 + Math.sin(n)) * r; + }); + var z = function (t) { + return l( + b[0] + g * Math.cos(t), + b[1] - g * Math.sin(t), + ); + }; + f = function (t) { + return z(P(t)); + }; + if ( + ((s = d.calcTicks(o)), + (h = d.getTickSigns(o)[2]), + o.visible) + ) { + h = "inside" === o.ticks ? -1 : 1; + var R = (o.linewidth || 1) / 2; + d.drawTicks(t, o, { + vals: s, + layer: A, + path: + "M" + h * R + ",0h" + h * o.ticklen, + transFn: function (t) { + var e = P(t); + return z(e) + "rotate(" + -u(e) + ")"; + }, + }), + d.drawLabels(t, o, { + vals: s, + layer: A, + transFn: f, + labelFns: I, + }); + } + var F = [m].concat(p.gauge.steps), + B = _.selectAll("g.bg-arc").data(F); + B.enter() + .append("g") + .classed("bg-arc", !0) + .append("path"), + B.select("path").call(O).call(T), + B.exit().remove(); + var N = C(p.gauge.bar.thickness), + j = _.selectAll("g.value-arc").data([ + p.gauge.bar, + ]); + j.enter() + .append("g") + .classed("value-arc", !0) + .append("path"); + var U, + V, + H, + q = j.select("path"); + w(M) + ? (q + .transition() + .duration(M.duration) + .ease(M.easing) + .each("end", function () { + S && S(); + }) + .each("interrupt", function () { + S && S(); + }) + .attrTween( + "d", + ((U = N), + (V = L(r[0].lastY)), + (H = L(r[0].y)), + function () { + var t = i(V, H); + return function (e) { + return U.endAngle(t(e))(); + }; + }), + ), + (p._lastValue = r[0].y)) + : q.attr( + "d", + "number" == typeof r[0].y + ? N.endAngle(L(r[0].y)) + : "M0,0Z", + ), + q.call(T), + j.exit().remove(), + (F = []); + var G = p.gauge.threshold.value; + (G || 0 === G) && + F.push({ + range: [G, G], + color: p.gauge.threshold.color, + line: { + color: p.gauge.threshold.line.color, + width: p.gauge.threshold.line.width, + }, + thickness: p.gauge.threshold.thickness, + }); + var Z = + _.selectAll("g.threshold-arc").data(F); + Z.enter() + .append("g") + .classed("threshold-arc", !0) + .append("path"), + Z.select("path").call(O).call(T), + Z.exit().remove(); + var W = _.selectAll("g.gauge-outline").data( + [x], + ); + W.enter() + .append("g") + .classed("gauge-outline", !0) + .append("path"), + W.select("path").call(O).call(T), + W.exit().remove(); + })(t, 0, e, { + radius: U, + innerRadius: V, + gauge: Z, + layer: W, + size: B, + gaugeBg: C, + gaugeOutline: O, + transitionOpts: r, + onComplete: g, + }); + var Y = I.selectAll("g.bullet").data(R ? e : []); + Y.exit().remove(); + var X = I.selectAll("g.bulletaxis").data( + R ? e : [], + ); + X.exit().remove(), + R && + (function (t, e, r, n) { + var i, + a, + o, + s, + u, + c = r[0].trace, + f = n.gauge, + p = n.layer, + v = n.gaugeBg, + g = n.gaugeOutline, + y = n.size, + x = c.domain, + b = n.transitionOpts, + _ = n.onComplete; + f.enter().append("g").classed("bullet", !0), + f.attr("transform", l(y.l, y.t)), + p + .enter() + .append("g") + .classed("bulletaxis", !0) + .classed("crisp", !0), + p + .selectAll( + "g.xbulletaxistick,path,text", + ) + .remove(); + var A = y.h, + M = c.gauge.bar.thickness * A, + S = x.x[0], + E = + x.x[0] + + (x.x[1] - x.x[0]) * + (c._hasNumber || c._hasDelta + ? 1 - h.bulletNumberDomainSize + : 1); + function L(t) { + t.attr("width", function (t) { + return Math.max( + 0, + i.c2p(t.range[1]) - i.c2p(t.range[0]), + ); + }) + .attr("x", function (t) { + return i.c2p(t.range[0]); + }) + .attr("y", function (t) { + return 0.5 * (1 - t.thickness) * A; + }) + .attr("height", function (t) { + return t.thickness * A; + }); + } + ((i = k(t, c.gauge.axis))._id = + "xbulletaxis"), + (i.domain = [S, E]), + i.setScale(), + (a = d.calcTicks(i)), + (o = d.makeTransTickFn(i)), + (s = d.getTickSigns(i)[2]), + (u = y.t + y.h), + i.visible && + (d.drawTicks(t, i, { + vals: + "inside" === i.ticks + ? d.clipEnds(i, a) + : a, + layer: p, + path: d.makeTickPath(i, u, s), + transFn: o, + }), + d.drawLabels(t, i, { + vals: a, + layer: p, + transFn: o, + labelFns: d.makeLabelFns(i, u), + })); + var C = [v].concat(c.gauge.steps), + O = f.selectAll("g.bg-bullet").data(C); + O.enter() + .append("g") + .classed("bg-bullet", !0) + .append("rect"), + O.select("rect").call(L).call(T), + O.exit().remove(); + var P = f + .selectAll("g.value-bullet") + .data([c.gauge.bar]); + P.enter() + .append("g") + .classed("value-bullet", !0) + .append("rect"), + P.select("rect") + .attr("height", M) + .attr("y", (A - M) / 2) + .call(T), + w(b) + ? P.select("rect") + .transition() + .duration(b.duration) + .ease(b.easing) + .each("end", function () { + _ && _(); + }) + .each("interrupt", function () { + _ && _(); + }) + .attr( + "width", + Math.max( + 0, + i.c2p( + Math.min( + c.gauge.axis.range[1], + r[0].y, + ), + ), + ), + ) + : P.select("rect").attr( + "width", + "number" == typeof r[0].y + ? Math.max( + 0, + i.c2p( + Math.min( + c.gauge.axis.range[1], + r[0].y, + ), + ), + ) + : 0, + ), + P.exit().remove(); + var I = r.filter(function () { + return ( + c.gauge.threshold.value || + 0 === c.gauge.threshold.value + ); + }), + D = f + .selectAll("g.threshold-bullet") + .data(I); + D.enter() + .append("g") + .classed("threshold-bullet", !0) + .append("line"), + D.select("line") + .attr( + "x1", + i.c2p(c.gauge.threshold.value), + ) + .attr( + "x2", + i.c2p(c.gauge.threshold.value), + ) + .attr( + "y1", + ((1 - c.gauge.threshold.thickness) / + 2) * + A, + ) + .attr( + "y2", + (1 - + (1 - c.gauge.threshold.thickness) / + 2) * + A, + ) + .call( + m.stroke, + c.gauge.threshold.line.color, + ) + .style( + "stroke-width", + c.gauge.threshold.line.width, + ), + D.exit().remove(); + var z = f + .selectAll("g.gauge-outline") + .data([g]); + z + .enter() + .append("g") + .classed("gauge-outline", !0) + .append("rect"), + z.select("rect").call(L).call(T), + z.exit().remove(); + })(t, 0, e, { + gauge: Y, + layer: X, + size: B, + gaugeBg: C, + gaugeOutline: O, + transitionOpts: r, + onComplete: g, + }); + var J = I.selectAll("text.title").data(e); + J.exit().remove(), + J.enter().append("text").classed("title", !0), + J.attr("text-anchor", function () { + return R ? x.right : x[P.title.align]; + }) + .text(P.title.text) + .call(f.font, P.title.font) + .call(p.convertToTspans, t), + J.attr("transform", function () { + var t, + e = B.l + B.w * b[P.title.align], + r = h.titlePadding, + n = f.bBox(J.node()); + return ( + D + ? (z && + (t = P.gauge.axis.visible + ? f.bBox(W.node()).top - + r - + n.bottom + : B.t + + B.h / 2 - + U / 2 - + n.bottom - + r), + R && + ((t = E - (n.top + n.bottom) / 2), + (e = B.l - h.bulletPadding * B.w))) + : (t = P._numbersTop - r - n.bottom), + l(e, t) + ); + }); + }); + }; + }, + 16249: function (t, e, r) { + "use strict"; + var n = r(50693), + i = r(12663).axisHoverFormat, + a = r(5386).fF, + o = r(2418), + s = r(9012), + l = r(1426).extendFlat, + u = r(30962).overrideAll, + c = (t.exports = u( + l( + { + x: { valType: "data_array" }, + y: { valType: "data_array" }, + z: { valType: "data_array" }, + value: { valType: "data_array" }, + isomin: { valType: "number" }, + isomax: { valType: "number" }, + surface: { + show: { valType: "boolean", dflt: !0 }, + count: { valType: "integer", dflt: 2, min: 1 }, + fill: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + pattern: { + valType: "flaglist", + flags: ["A", "B", "C", "D", "E"], + extras: ["all", "odd", "even"], + dflt: "all", + }, + }, + spaceframe: { + show: { valType: "boolean", dflt: !1 }, + fill: { + valType: "number", + min: 0, + max: 1, + dflt: 0.15, + }, + }, + slices: { + x: { + show: { valType: "boolean", dflt: !1 }, + locations: { + valType: "data_array", + dflt: [], + }, + fill: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + }, + y: { + show: { valType: "boolean", dflt: !1 }, + locations: { + valType: "data_array", + dflt: [], + }, + fill: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + }, + z: { + show: { valType: "boolean", dflt: !1 }, + locations: { + valType: "data_array", + dflt: [], + }, + fill: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + }, + }, + caps: { + x: { + show: { valType: "boolean", dflt: !0 }, + fill: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + }, + y: { + show: { valType: "boolean", dflt: !0 }, + fill: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + }, + z: { + show: { valType: "boolean", dflt: !0 }, + fill: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + }, + }, + text: { + valType: "string", + dflt: "", + arrayOk: !0, + }, + hovertext: { + valType: "string", + dflt: "", + arrayOk: !0, + }, + hovertemplate: a(), + xhoverformat: i("x"), + yhoverformat: i("y"), + zhoverformat: i("z"), + valuehoverformat: i("value", 1), + showlegend: l({}, s.showlegend, { dflt: !1 }), + }, + n("", { + colorAttr: "`value`", + showScaleDflt: !0, + editTypeOverride: "calc", + }), + { + opacity: o.opacity, + lightposition: o.lightposition, + lighting: o.lighting, + flatshading: o.flatshading, + contour: o.contour, + hoverinfo: l({}, s.hoverinfo), + }, + ), + "calc", + "nested", + )); + (c.flatshading.dflt = !0), + (c.lighting.facenormalsepsilon.dflt = 0), + (c.x.editType = + c.y.editType = + c.z.editType = + c.value.editType = + "calc+clearAxisTypes"), + (c.transforms = void 0); + }, + 56959: function (t, e, r) { + "use strict"; + var n = r(78803), + i = r(88489).processGrid, + a = r(88489).filter; + t.exports = function (t, e) { + (e._len = Math.min( + e.x.length, + e.y.length, + e.z.length, + e.value.length, + )), + (e._x = a(e.x, e._len)), + (e._y = a(e.y, e._len)), + (e._z = a(e.z, e._len)), + (e._value = a(e.value, e._len)); + var r = i(e); + (e._gridFill = r.fill), + (e._Xs = r.Xs), + (e._Ys = r.Ys), + (e._Zs = r.Zs), + (e._len = r.len); + for ( + var o = 1 / 0, s = -1 / 0, l = 0; + l < e._len; + l++ + ) { + var u = e._value[l]; + (o = Math.min(o, u)), (s = Math.max(s, u)); + } + (e._minValues = o), + (e._maxValues = s), + (e._vMin = + void 0 === e.isomin || null === e.isomin + ? o + : e.isomin), + (e._vMax = + void 0 === e.isomax || null === e.isomin + ? s + : e.isomax), + n(t, e, { + vals: [e._vMin, e._vMax], + containerStr: "", + cLetter: "c", + }); + }; + }, + 22674: function (t, e, r) { + "use strict"; + var n = r(9330).gl_mesh3d, + i = r(81697).parseColorScale, + a = r(78614), + o = r(21081).extractOpts, + s = r(90060), + l = function (t, e) { + for (var r = e.length - 1; r > 0; r--) { + var n = Math.min(e[r], e[r - 1]), + i = Math.max(e[r], e[r - 1]); + if (i > n && n < t && t <= i) + return { id: r, distRatio: (i - t) / (i - n) }; + } + return { id: 0, distRatio: 0 }; + }; + function u(t, e, r) { + (this.scene = t), + (this.uid = r), + (this.mesh = e), + (this.name = ""), + (this.data = null), + (this.showContour = !1); + } + var c = u.prototype; + (c.handlePick = function (t) { + if (t.object === this.mesh) { + var e = t.data.index, + r = this.data._meshX[e], + n = this.data._meshY[e], + i = this.data._meshZ[e], + a = this.data._Ys.length, + o = this.data._Zs.length, + s = l(r, this.data._Xs).id, + u = l(n, this.data._Ys).id, + c = l(i, this.data._Zs).id, + f = (t.index = c + o * u + o * a * s); + t.traceCoordinate = [ + this.data._meshX[f], + this.data._meshY[f], + this.data._meshZ[f], + this.data._value[f], + ]; + var h = this.data.hovertext || this.data.text; + return ( + Array.isArray(h) && void 0 !== h[f] + ? (t.textLabel = h[f]) + : h && (t.textLabel = h), + !0 + ); + } + }), + (c.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 = h(t); + var l = { + positions: s( + n( + r.xaxis, + t._meshX, + e.dataScale[0], + t.xcalendar, + ), + n( + r.yaxis, + t._meshY, + e.dataScale[1], + t.ycalendar, + ), + n( + r.zaxis, + t._meshZ, + e.dataScale[2], + t.zcalendar, + ), + ), + cells: s(t._meshI, t._meshJ, t._meshK), + 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: a(t.contour.color).slice(0, 3), + contourWidth: t.contour.width, + useFacetNormals: t.flatshading, + }, + u = o(t); + (l.vertexIntensity = t._meshIntensity), + (l.vertexIntensityBounds = [u.min, u.max]), + (l.colormap = i(t)), + this.mesh.update(l); + }), + (c.dispose = function () { + this.scene.glplot.remove(this.mesh), + this.mesh.dispose(); + }); + var f = ["xyz", "xzy", "yxz", "yzx", "zxy", "zyx"]; + function h(t) { + (t._meshI = []), (t._meshJ = []), (t._meshK = []); + var e, + r, + n, + i, + a, + o, + s, + u = t.surface.show, + c = t.spaceframe.show, + h = t.surface.fill, + p = t.spaceframe.fill, + d = !1, + v = !1, + g = 0, + y = t._Xs, + m = t._Ys, + x = t._Zs, + b = y.length, + _ = m.length, + w = x.length, + T = f.indexOf( + t._gridFill.replace(/-/g, "").replace(/\+/g, ""), + ), + k = function (t, e, r) { + switch (T) { + case 5: + return r + w * e + w * _ * t; + case 4: + return r + w * t + w * b * e; + case 3: + return e + _ * r + _ * w * t; + case 2: + return e + _ * t + _ * b * r; + case 1: + return t + b * r + b * w * e; + default: + return t + b * e + b * _ * r; + } + }, + A = t._minValues, + M = t._maxValues, + S = t._vMin, + E = t._vMax; + function L(t, e, s) { + for (var l = o.length, u = r; u < l; u++) + if (t === n[u] && e === i[u] && s === a[u]) + return u; + return -1; + } + function C() { + r = e; + } + function O() { + (n = []), (i = []), (a = []), (o = []), (e = 0), C(); + } + function P(t, r, s, l) { + return ( + n.push(t), i.push(r), a.push(s), o.push(l), ++e - 1 + ); + } + function I(t, e, r) { + for (var n = [], i = 0; i < t.length; i++) + n[i] = t[i] * (1 - r) + r * e[i]; + return n; + } + function D(t) { + s = t; + } + function z(t, e) { + return "all" === t || null === t || t.indexOf(e) > -1; + } + function R(t, e) { + return null === t ? e : t; + } + function F(e, r, n) { + C(); + var i, + a, + o, + l = [r], + u = [n]; + if (s >= 1) (l = [r]), (u = [n]); + else if (s > 0) { + var c = (function (t, e) { + var r = t[0], + n = t[1], + i = t[2], + a = (function (t, e, r) { + for (var n = [], i = 0; i < t.length; i++) + n[i] = (t[i] + e[i] + r[i]) / 3; + return n; + })(r, n, i), + o = Math.sqrt(1 - s), + l = I(a, r, o), + u = I(a, n, o), + c = I(a, i, o), + f = e[0], + h = e[1], + p = e[2]; + return { + xyzv: [ + [r, n, u], + [u, l, r], + [n, i, c], + [c, u, n], + [i, r, l], + [l, c, i], + ], + abc: [ + [f, h, -1], + [-1, -1, f], + [h, p, -1], + [-1, -1, h], + [p, f, -1], + [-1, -1, p], + ], + }; + })(r, n); + (l = c.xyzv), (u = c.abc); + } + for (var f = 0; f < l.length; f++) { + (r = l[f]), (n = u[f]); + for (var h = [], p = 0; p < 3; p++) { + var d = r[p][0], + v = r[p][1], + y = r[p][2], + m = r[p][3], + x = n[p] > -1 ? n[p] : L(d, v, y); + h[p] = x > -1 ? x : P(d, v, y, R(e, m)); + } + (i = h[0]), + (a = h[1]), + (o = h[2]), + t._meshI.push(i), + t._meshJ.push(a), + t._meshK.push(o), + ++g; + } + } + function B(t, e, r, n) { + var i = t[3]; + i < r && (i = r), i > n && (i = n); + for ( + var a = (t[3] - i) / (t[3] - e[3] + 1e-9), + o = [], + s = 0; + s < 4; + s++ + ) + o[s] = (1 - a) * t[s] + a * e[s]; + return o; + } + function N(t, e, r) { + return t >= e && t <= r; + } + function j(t) { + var e = 0.001 * (E - S); + return t >= S - e && t <= E + e; + } + function U(e) { + for (var r = [], n = 0; n < 4; n++) { + var i = e[n]; + r.push([t._x[i], t._y[i], t._z[i], t._value[i]]); + } + return r; + } + function V(t, e, r, n, i, a) { + a || (a = 1), (r = [-1, -1, -1]); + var o = !1, + s = [ + N(e[0][3], n, i), + N(e[1][3], n, i), + N(e[2][3], n, i), + ]; + if (!s[0] && !s[1] && !s[2]) return !1; + var l = function (t, e, r) { + return j(e[0][3]) && j(e[1][3]) && j(e[2][3]) + ? (F(t, e, r), !0) + : a < 3 && V(t, e, r, S, E, ++a); + }; + if (s[0] && s[1] && s[2]) return l(t, e, r) || o; + var u = !1; + return ( + [ + [0, 1, 2], + [2, 0, 1], + [1, 2, 0], + ].forEach(function (a) { + if (s[a[0]] && s[a[1]] && !s[a[2]]) { + var c = e[a[0]], + f = e[a[1]], + h = e[a[2]], + p = B(h, c, n, i), + d = B(h, f, n, i); + (o = l(t, [d, p, c], [-1, -1, r[a[0]]]) || o), + (o = + l(t, [c, f, d], [r[a[0]], r[a[1]], -1]) || + o), + (u = !0); + } + }), + u || + [ + [0, 1, 2], + [1, 2, 0], + [2, 0, 1], + ].forEach(function (a) { + if (s[a[0]] && !s[a[1]] && !s[a[2]]) { + var c = e[a[0]], + f = e[a[1]], + h = e[a[2]], + p = B(f, c, n, i), + d = B(h, c, n, i); + (o = l(t, [d, p, c], [-1, -1, r[a[0]]]) || o), + (u = !0); + } + }), + o + ); + } + function H(t, e, r, n) { + var i = !1, + a = U(e), + o = [ + N(a[0][3], r, n), + N(a[1][3], r, n), + N(a[2][3], r, n), + N(a[3][3], r, n), + ]; + if (!(o[0] || o[1] || o[2] || o[3])) return i; + if (o[0] && o[1] && o[2] && o[3]) + return ( + v && + (i = + (function (t, e, r) { + var n = function (n, i, a) { + F( + t, + [e[n], e[i], e[a]], + [r[n], r[i], r[a]], + ); + }; + n(0, 1, 2), + n(3, 0, 1), + n(2, 3, 0), + n(1, 2, 3); + })(t, a, e) || i), + i + ); + var s = !1; + return ( + [ + [0, 1, 2, 3], + [3, 0, 1, 2], + [2, 3, 0, 1], + [1, 2, 3, 0], + ].forEach(function (l) { + if (o[l[0]] && o[l[1]] && o[l[2]] && !o[l[3]]) { + var u = a[l[0]], + c = a[l[1]], + f = a[l[2]], + h = a[l[3]]; + if (v) + i = + F( + t, + [u, c, f], + [e[l[0]], e[l[1]], e[l[2]]], + ) || i; + else { + var p = B(h, u, r, n), + d = B(h, c, r, n), + g = B(h, f, r, n); + i = F(null, [p, d, g], [-1, -1, -1]) || i; + } + s = !0; + } + }), + s || + ([ + [0, 1, 2, 3], + [1, 2, 3, 0], + [2, 3, 0, 1], + [3, 0, 1, 2], + [0, 2, 3, 1], + [1, 3, 2, 0], + ].forEach(function (l) { + if ( + o[l[0]] && + o[l[1]] && + !o[l[2]] && + !o[l[3]] + ) { + var u = a[l[0]], + c = a[l[1]], + f = a[l[2]], + h = a[l[3]], + p = B(f, u, r, n), + d = B(f, c, r, n), + g = B(h, c, r, n), + y = B(h, u, r, n); + v + ? ((i = + F(t, [u, y, p], [e[l[0]], -1, -1]) || + i), + (i = + F(t, [c, d, g], [e[l[1]], -1, -1]) || + i)) + : (i = + (function (t, e, r) { + var n = function (t, n, i) { + F( + null, + [e[t], e[n], e[i]], + [r[t], r[n], r[i]], + ); + }; + n(0, 1, 2), n(2, 3, 0); + })(0, [p, d, g, y], [-1, -1, -1, -1]) || + i), + (s = !0); + } + }), + s || + [ + [0, 1, 2, 3], + [1, 2, 3, 0], + [2, 3, 0, 1], + [3, 0, 1, 2], + ].forEach(function (l) { + if ( + o[l[0]] && + !o[l[1]] && + !o[l[2]] && + !o[l[3]] + ) { + var u = a[l[0]], + c = a[l[1]], + f = a[l[2]], + h = a[l[3]], + p = B(c, u, r, n), + d = B(f, u, r, n), + g = B(h, u, r, n); + v + ? ((i = + F(t, [u, p, d], [e[l[0]], -1, -1]) || + i), + (i = + F(t, [u, d, g], [e[l[0]], -1, -1]) || + i), + (i = + F(t, [u, g, p], [e[l[0]], -1, -1]) || + i)) + : (i = + F(null, [p, d, g], [-1, -1, -1]) || + i), + (s = !0); + } + })), + i + ); + } + function q(t, e, r, n, i, a, o, s, l, u, c) { + var f = !1; + return ( + d && + (z(t, "A") && + (f = H(null, [e, r, n, a], u, c) || f), + z(t, "B") && + (f = H(null, [r, n, i, l], u, c) || f), + z(t, "C") && + (f = H(null, [r, a, o, l], u, c) || f), + z(t, "D") && + (f = H(null, [n, a, s, l], u, c) || f), + z(t, "E") && + (f = H(null, [r, n, a, l], u, c) || f)), + v && (f = H(t, [r, n, a, l], u, c) || f), + f + ); + } + function G(t, e, r, n, i, a, o, s) { + return [ + !0 === s[0] || V(t, U([e, r, n]), [e, r, n], a, o), + !0 === s[1] || V(t, U([n, i, e]), [n, i, e], a, o), + ]; + } + function Z(t, e, r, n, i, a, o, s, l) { + return s + ? G(t, e, r, i, n, a, o, l) + : G(t, r, i, n, e, a, o, l); + } + function W(t, e, r, n, i, a, o) { + var s, + l, + u, + c, + f = !1, + h = function () { + (f = V(t, [s, l, u], [-1, -1, -1], i, a) || f), + (f = V(t, [u, c, s], [-1, -1, -1], i, a) || f); + }, + p = o[0], + d = o[1], + v = o[2]; + return ( + p && + ((s = I( + U([k(e, r - 0, n - 0)])[0], + U([k(e - 1, r - 0, n - 0)])[0], + p, + )), + (l = I( + U([k(e, r - 0, n - 1)])[0], + U([k(e - 1, r - 0, n - 1)])[0], + p, + )), + (u = I( + U([k(e, r - 1, n - 1)])[0], + U([k(e - 1, r - 1, n - 1)])[0], + p, + )), + (c = I( + U([k(e, r - 1, n - 0)])[0], + U([k(e - 1, r - 1, n - 0)])[0], + p, + )), + h()), + d && + ((s = I( + U([k(e - 0, r, n - 0)])[0], + U([k(e - 0, r - 1, n - 0)])[0], + d, + )), + (l = I( + U([k(e - 0, r, n - 1)])[0], + U([k(e - 0, r - 1, n - 1)])[0], + d, + )), + (u = I( + U([k(e - 1, r, n - 1)])[0], + U([k(e - 1, r - 1, n - 1)])[0], + d, + )), + (c = I( + U([k(e - 1, r, n - 0)])[0], + U([k(e - 1, r - 1, n - 0)])[0], + d, + )), + h()), + v && + ((s = I( + U([k(e - 0, r - 0, n)])[0], + U([k(e - 0, r - 0, n - 1)])[0], + v, + )), + (l = I( + U([k(e - 0, r - 1, n)])[0], + U([k(e - 0, r - 1, n - 1)])[0], + v, + )), + (u = I( + U([k(e - 1, r - 1, n)])[0], + U([k(e - 1, r - 1, n - 1)])[0], + v, + )), + (c = I( + U([k(e - 1, r - 0, n)])[0], + U([k(e - 1, r - 0, n - 1)])[0], + v, + )), + h()), + f + ); + } + function Y(t, e, r, n, i, a, o, s, l, u, c, f) { + var h = t; + return f + ? (d && "even" === t && (h = null), + q(h, e, r, n, i, a, o, s, l, u, c)) + : (d && "odd" === t && (h = null), + q(h, l, s, o, a, i, n, r, e, u, c)); + } + function X(t, e, r, n, i) { + for (var a = [], o = 0, s = 0; s < e.length; s++) + for (var l = e[s], u = 1; u < w; u++) + for (var c = 1; c < _; c++) + a.push( + Z( + t, + k(l, c - 1, u - 1), + k(l, c - 1, u), + k(l, c, u - 1), + k(l, c, u), + r, + n, + (l + c + u) % 2, + i && i[o] ? i[o] : [], + ), + ), + o++; + return a; + } + function J(t, e, r, n, i) { + for (var a = [], o = 0, s = 0; s < e.length; s++) + for (var l = e[s], u = 1; u < b; u++) + for (var c = 1; c < w; c++) + a.push( + Z( + t, + k(u - 1, l, c - 1), + k(u, l, c - 1), + k(u - 1, l, c), + k(u, l, c), + r, + n, + (u + l + c) % 2, + i && i[o] ? i[o] : [], + ), + ), + o++; + return a; + } + function K(t, e, r, n, i) { + for (var a = [], o = 0, s = 0; s < e.length; s++) + for (var l = e[s], u = 1; u < _; u++) + for (var c = 1; c < b; c++) + a.push( + Z( + t, + k(c - 1, u - 1, l), + k(c - 1, u, l), + k(c, u - 1, l), + k(c, u, l), + r, + n, + (c + u + l) % 2, + i && i[o] ? i[o] : [], + ), + ), + o++; + return a; + } + function $(t, e, r) { + for (var n = 1; n < w; n++) + for (var i = 1; i < _; i++) + for (var a = 1; a < b; a++) + Y( + t, + k(a - 1, i - 1, n - 1), + k(a - 1, i - 1, n), + k(a - 1, i, n - 1), + k(a - 1, i, n), + k(a, i - 1, n - 1), + k(a, i - 1, n), + k(a, i, n - 1), + k(a, i, n), + e, + r, + (a + i + n) % 2, + ); + } + function Q(t, e, r, n, i, a) { + for (var o = [], s = 0, l = 0; l < e.length; l++) + for (var u = e[l], c = 1; c < w; c++) + for (var f = 1; f < _; f++) + o.push( + W(t, u, f, c, r, n, i[l], a && a[s] && a[s]), + ), + s++; + return o; + } + function tt(t, e, r, n, i, a) { + for (var o = [], s = 0, l = 0; l < e.length; l++) + for (var u = e[l], c = 1; c < b; c++) + for (var f = 1; f < w; f++) + o.push( + W(t, c, u, f, r, n, i[l], a && a[s] && a[s]), + ), + s++; + return o; + } + function et(t, e, r, n, i, a) { + for (var o = [], s = 0, l = 0; l < e.length; l++) + for (var u = e[l], c = 1; c < _; c++) + for (var f = 1; f < b; f++) + o.push( + W(t, f, c, u, r, n, i[l], a && a[s] && a[s]), + ), + s++; + return o; + } + function rt(t, e) { + for (var r = [], n = t; n < e; n++) r.push(n); + return r; + } + return ( + (function () { + O(), + (function () { + for (var e = 0; e < b; e++) + for (var r = 0; r < _; r++) + for (var n = 0; n < w; n++) { + var i = k(e, r, n); + P(t._x[i], t._y[i], t._z[i], t._value[i]); + } + })(); + var e = null; + if ( + (c && p && (D(p), (v = !0), $(e, S, E), (v = !1)), + u && h) + ) { + D(h); + for ( + var r = t.surface.pattern, + s = t.surface.count, + f = 0; + f < s; + f++ + ) { + var T = 1 === s ? 0.5 : f / (s - 1), + L = (1 - T) * S + T * E, + C = + Math.abs(L - A) > Math.abs(L - M) + ? [A, L] + : [L, M]; + (d = !0), $(r, C[0], C[1]), (d = !1); + } + } + var I = [ + [Math.min(S, M), Math.max(S, M)], + [Math.min(A, E), Math.max(A, E)], + ]; + ["x", "y", "z"].forEach(function (r) { + for (var n = [], i = 0; i < I.length; i++) { + var a = 0, + o = I[i][0], + s = I[i][1], + u = t.slices[r]; + if (u.show && u.fill) { + D(u.fill); + var c = [], + f = [], + h = []; + if (u.locations.length) + for ( + var p = 0; + p < u.locations.length; + p++ + ) { + var d = l( + u.locations[p], + "x" === r ? y : "y" === r ? m : x, + ); + 0 === d.distRatio + ? c.push(d.id) + : d.id > 0 && + (f.push(d.id), + "x" === r + ? h.push([d.distRatio, 0, 0]) + : "y" === r + ? h.push([0, d.distRatio, 0]) + : h.push([0, 0, d.distRatio])); + } + else + c = rt( + 1, + "x" === r + ? b - 1 + : "y" === r + ? _ - 1 + : w - 1, + ); + f.length > 0 && + ((n[a] = + "x" === r + ? Q(e, f, o, s, h, n[a]) + : "y" === r + ? tt(e, f, o, s, h, n[a]) + : et(e, f, o, s, h, n[a])), + a++), + c.length > 0 && + ((n[a] = + "x" === r + ? X(e, c, o, s, n[a]) + : "y" === r + ? J(e, c, o, s, n[a]) + : K(e, c, o, s, n[a])), + a++); + } + var v = t.caps[r]; + v.show && + v.fill && + (D(v.fill), + (n[a] = + "x" === r + ? X(e, [0, b - 1], o, s, n[a]) + : "y" === r + ? J(e, [0, _ - 1], o, s, n[a]) + : K(e, [0, w - 1], o, s, n[a])), + a++); + } + }), + 0 === g && O(), + (t._meshX = n), + (t._meshY = i), + (t._meshZ = a), + (t._meshIntensity = o), + (t._Xs = y), + (t._Ys = m), + (t._Zs = x); + })(), + t + ); + } + t.exports = { + findNearestOnAxis: l, + generateIsoMeshes: h, + createIsosurfaceTrace: function (t, e) { + var r = t.glplot.gl, + i = n({ gl: r }), + a = new u(t, i, e.uid); + return ( + (i._trace = a), a.update(e), t.glplot.add(i), a + ); + }, + }; + }, + 82738: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(73972), + a = r(16249), + o = r(1586); + function s(t, e, r, n, a) { + var s = a("isomin"), + l = a("isomax"); + null != l && + null != s && + s > l && + ((e.isomin = null), (e.isomax = null)); + var u = a("x"), + c = a("y"), + f = a("z"), + h = a("value"); + u && + u.length && + c && + c.length && + f && + f.length && + h && + h.length + ? (i.getComponentMethod( + "calendars", + "handleTraceDefaults", + )(t, e, ["x", "y", "z"], n), + a("valuehoverformat"), + ["x", "y", "z"].forEach(function (t) { + a(t + "hoverformat"); + var e = "caps." + t; + a(e + ".show") && a(e + ".fill"); + var r = "slices." + t; + a(r + ".show") && + (a(r + ".fill"), a(r + ".locations")); + }), + a("spaceframe.show") && a("spaceframe.fill"), + a("surface.show") && + (a("surface.count"), + a("surface.fill"), + a("surface.pattern")), + a("contour.show") && + (a("contour.color"), a("contour.width")), + [ + "text", + "hovertext", + "hovertemplate", + "lighting.ambient", + "lighting.diffuse", + "lighting.specular", + "lighting.roughness", + "lighting.fresnel", + "lighting.vertexnormalsepsilon", + "lighting.facenormalsepsilon", + "lightposition.x", + "lightposition.y", + "lightposition.z", + "flatshading", + "opacity", + ].forEach(function (t) { + a(t); + }), + o(t, e, n, a, { prefix: "", cLetter: "c" }), + (e._length = null)) + : (e.visible = !1); + } + t.exports = { + supplyDefaults: function (t, e, r, i) { + s(t, e, 0, i, function (r, i) { + return n.coerce(t, e, a, r, i); + }); + }, + supplyIsoDefaults: s, + }; + }, + 64943: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(16249), + supplyDefaults: r(82738).supplyDefaults, + calc: r(56959), + colorbar: { min: "cmin", max: "cmax" }, + plot: r(22674).createIsosurfaceTrace, + moduleType: "trace", + name: "isosurface", + basePlotModule: r(58547), + categories: ["gl3d", "showLegend"], + meta: {}, + }; + }, + 2418: function (t, e, r) { + "use strict"; + var n = r(50693), + i = r(12663).axisHoverFormat, + a = r(5386).fF, + o = r(54532), + s = r(9012), + l = r(1426).extendFlat; + t.exports = l( + { + 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", + }, + hovertext: { + valType: "string", + dflt: "", + arrayOk: !0, + editType: "calc", + }, + hovertemplate: a({ editType: "calc" }), + xhoverformat: i("x"), + yhoverformat: i("y"), + zhoverformat: i("z"), + delaunayaxis: { + valType: "enumerated", + values: ["x", "y", "z"], + dflt: "z", + editType: "calc", + }, + alphahull: { + valType: "number", + dflt: -1, + editType: "calc", + }, + intensity: { + valType: "data_array", + editType: "calc", + }, + intensitymode: { + valType: "enumerated", + values: ["vertex", "cell"], + dflt: "vertex", + editType: "calc", + }, + color: { valType: "color", editType: "calc" }, + vertexcolor: { + valType: "data_array", + editType: "calc", + }, + facecolor: { + valType: "data_array", + editType: "calc", + }, + transforms: void 0, + }, + n("", { + colorAttr: "`intensity`", + showScaleDflt: !0, + editTypeOverride: "calc", + }), + { + opacity: o.opacity, + flatshading: { + valType: "boolean", + dflt: !1, + editType: "calc", + }, + contour: { + show: l({}, o.contours.x.show, {}), + color: o.contours.x.color, + width: o.contours.x.width, + editType: "calc", + }, + lightposition: { + x: l({}, o.lightposition.x, { dflt: 1e5 }), + y: l({}, o.lightposition.y, { dflt: 1e5 }), + z: l({}, o.lightposition.z, { dflt: 0 }), + editType: "calc", + }, + lighting: l( + { + 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", + }, + o.lighting, + ), + hoverinfo: l({}, s.hoverinfo, { editType: "calc" }), + showlegend: l({}, s.showlegend, { dflt: !1 }), + }, + ); + }, + 82932: function (t, e, r) { + "use strict"; + var n = r(78803); + t.exports = function (t, e) { + e.intensity && + n(t, e, { + vals: e.intensity, + containerStr: "", + cLetter: "c", + }); + }; + }, + 91134: function (t, e, r) { + "use strict"; + var n = r(9330).gl_mesh3d, + i = r(9330).delaunay_triangulate, + a = r(9330).alpha_shape, + o = r(9330).convex_hull, + s = r(81697).parseColorScale, + l = r(78614), + u = r(21081).extractOpts, + c = r(90060); + function f(t, e, r) { + (this.scene = t), + (this.uid = r), + (this.mesh = e), + (this.name = ""), + (this.color = "#fff"), + (this.data = null), + (this.showContour = !1); + } + var h = f.prototype; + function p(t) { + for (var e = [], r = t.length, n = 0; n < r; n++) + e[n] = l(t[n]); + return e; + } + function d(t, e, r, n) { + for (var i = [], a = e.length, o = 0; o < a; o++) + i[o] = t.d2l(e[o], 0, n) * r; + return i; + } + function v(t) { + for (var e = [], r = t.length, n = 0; n < r; n++) + e[n] = Math.round(t[n]); + return e; + } + function g(t, e) { + for (var r = t.length, n = 0; n < r; n++) + if (t[n] <= -0.5 || t[n] >= e - 0.5) return !1; + return !0; + } + (h.handlePick = function (t) { + if (t.object === this.mesh) { + var e = (t.index = t.data.index); + t.data._cellCenter + ? (t.traceCoordinate = t.data.dataCoordinate) + : (t.traceCoordinate = [ + this.data.x[e], + this.data.y[e], + this.data.z[e], + ]); + var r = this.data.hovertext || this.data.text; + return ( + Array.isArray(r) && void 0 !== r[e] + ? (t.textLabel = r[e]) + : r && (t.textLabel = r), + !0 + ); + } + }), + (h.update = function (t) { + var e = this.scene, + r = e.fullSceneLayout; + this.data = t; + var n, + f = t.x.length, + h = c( + d(r.xaxis, t.x, e.dataScale[0], t.xcalendar), + d(r.yaxis, t.y, e.dataScale[1], t.ycalendar), + d(r.zaxis, t.z, e.dataScale[2], t.zcalendar), + ); + if (t.i && t.j && t.k) { + if ( + t.i.length !== t.j.length || + t.j.length !== t.k.length || + !g(t.i, f) || + !g(t.j, f) || + !g(t.k, f) + ) + return; + n = c(v(t.i), v(t.j), v(t.k)); + } else + n = + 0 === t.alphahull + ? o(h) + : t.alphahull > 0 + ? a(t.alphahull, h) + : (function (t, e) { + for ( + var r = ["x", "y", "z"].indexOf(t), + n = [], + a = e.length, + o = 0; + o < a; + o++ + ) + n[o] = [ + e[o][(r + 1) % 3], + e[o][(r + 2) % 3], + ]; + return i(n); + })(t.delaunayaxis, h); + var y = { + positions: h, + cells: n, + 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: l(t.contour.color).slice(0, 3), + contourWidth: t.contour.width, + useFacetNormals: t.flatshading, + }; + if (t.intensity) { + var m = u(t); + this.color = "#fff"; + var x = t.intensitymode; + (y[x + "Intensity"] = t.intensity), + (y[x + "IntensityBounds"] = [m.min, m.max]), + (y.colormap = s(t)); + } else + t.vertexcolor + ? ((this.color = t.vertexcolor[0]), + (y.vertexColors = p(t.vertexcolor))) + : t.facecolor + ? ((this.color = t.facecolor[0]), + (y.cellColors = p(t.facecolor))) + : ((this.color = t.color), + (y.meshColor = l(t.color))); + this.mesh.update(y); + }), + (h.dispose = function () { + this.scene.glplot.remove(this.mesh), + this.mesh.dispose(); + }), + (t.exports = function (t, e) { + var r = t.glplot.gl, + i = n({ gl: r }), + a = new f(t, i, e.uid); + return ( + (i._trace = a), a.update(e), t.glplot.add(i), a + ); + }); + }, + 58669: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(1586), + o = r(2418); + t.exports = function (t, e, r, s) { + function l(r, n) { + return i.coerce(t, e, o, r, n); + } + function u(t) { + var e = t.map(function (t) { + var e = l(t); + return e && i.isArrayOrTypedArray(e) ? e : null; + }); + return ( + e.every(function (t) { + return t && t.length === e[0].length; + }) && e + ); + } + u(["x", "y", "z"]) + ? (u(["i", "j", "k"]), + (!e.i || (e.j && e.k)) && + (!e.j || (e.k && e.i)) && + (!e.k || (e.i && e.j)) + ? (n.getComponentMethod( + "calendars", + "handleTraceDefaults", + )(t, e, ["x", "y", "z"], s), + [ + "lighting.ambient", + "lighting.diffuse", + "lighting.specular", + "lighting.roughness", + "lighting.fresnel", + "lighting.vertexnormalsepsilon", + "lighting.facenormalsepsilon", + "lightposition.x", + "lightposition.y", + "lightposition.z", + "flatshading", + "alphahull", + "delaunayaxis", + "opacity", + ].forEach(function (t) { + l(t); + }), + l("contour.show") && + (l("contour.color"), l("contour.width")), + "intensity" in t + ? (l("intensity"), + l("intensitymode"), + a(t, e, s, l, { prefix: "", cLetter: "c" })) + : ((e.showscale = !1), + "facecolor" in t + ? l("facecolor") + : "vertexcolor" in t + ? l("vertexcolor") + : l("color", r)), + l("text"), + l("hovertext"), + l("hovertemplate"), + l("xhoverformat"), + l("yhoverformat"), + l("zhoverformat"), + (e._length = null)) + : (e.visible = !1)) + : (e.visible = !1); + }; + }, + 21164: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(2418), + supplyDefaults: r(58669), + calc: r(82932), + colorbar: { min: "cmin", max: "cmax" }, + plot: r(91134), + moduleType: "trace", + name: "mesh3d", + basePlotModule: r(58547), + categories: ["gl3d", "showLegend"], + meta: {}, + }; + }, + 2522: function (t, e, r) { + "use strict"; + var n = r(71828).extendFlat, + i = r(82196), + a = r(12663).axisHoverFormat, + o = r(79952).P, + s = r(77914), + l = r(22372), + u = l.INCREASING.COLOR, + c = l.DECREASING.COLOR, + f = i.line; + function h(t) { + return { + line: { + color: n({}, f.color, { dflt: t }), + width: f.width, + dash: o, + editType: "style", + }, + editType: "style", + }; + } + t.exports = { + xperiod: i.xperiod, + xperiod0: i.xperiod0, + xperiodalignment: i.xperiodalignment, + xhoverformat: a("x"), + yhoverformat: a("y"), + x: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + open: { valType: "data_array", editType: "calc" }, + high: { valType: "data_array", editType: "calc" }, + low: { valType: "data_array", editType: "calc" }, + close: { valType: "data_array", editType: "calc" }, + line: { + width: n({}, f.width, {}), + dash: n({}, o, {}), + editType: "style", + }, + increasing: h(u), + decreasing: h(c), + text: { + valType: "string", + dflt: "", + arrayOk: !0, + editType: "calc", + }, + hovertext: { + valType: "string", + dflt: "", + arrayOk: !0, + editType: "calc", + }, + tickwidth: { + valType: "number", + min: 0, + max: 0.5, + dflt: 0.3, + editType: "calc", + }, + hoverlabel: n({}, s.hoverlabel, { + split: { + valType: "boolean", + dflt: !1, + editType: "style", + }, + }), + }; + }, + 3485: function (t, e, r) { + "use strict"; + var n = r(71828), + i = n._, + a = r(89298), + o = r(42973), + s = r(50606).BADNUM; + function l(t, e, r, n) { + return { o: t, h: e, l: r, c: n }; + } + function u(t, e, r, o, l, u) { + for ( + var c = l.makeCalcdata(e, "open"), + f = l.makeCalcdata(e, "high"), + h = l.makeCalcdata(e, "low"), + p = l.makeCalcdata(e, "close"), + d = Array.isArray(e.text), + v = Array.isArray(e.hovertext), + g = !0, + y = null, + m = !!e.xperiodalignment, + x = [], + b = 0; + b < o.length; + b++ + ) { + var _ = o[b], + w = c[b], + T = f[b], + k = h[b], + A = p[b]; + if ( + _ !== s && + w !== s && + T !== s && + k !== s && + A !== s + ) { + A === w + ? null !== y && A !== y && (g = A > y) + : (g = A > w), + (y = A); + var M = u(w, T, k, A); + (M.pos = _), + (M.yc = (w + A) / 2), + (M.i = b), + (M.dir = g ? "increasing" : "decreasing"), + (M.x = M.pos), + (M.y = [k, T]), + m && (M.orig_p = r[b]), + d && (M.tx = e.text[b]), + v && (M.htx = e.hovertext[b]), + x.push(M); + } else x.push({ pos: _, empty: !0 }); + } + return ( + (e._extremes[l._id] = a.findExtremes( + l, + n.concat(h, f), + { padded: !0 }, + )), + x.length && + (x[0].t = { + labels: { + open: i(t, "open:") + " ", + high: i(t, "high:") + " ", + low: i(t, "low:") + " ", + close: i(t, "close:") + " ", + }, + }), + x + ); + } + t.exports = { + calc: function (t, e) { + var r = a.getFromId(t, e.xaxis), + i = a.getFromId(t, e.yaxis), + s = (function (t, e, r) { + var i = r._minDiff; + if (!i) { + var a, + s = t._fullData, + l = []; + for (i = 1 / 0, a = 0; a < s.length; a++) { + var u = s[a]; + if ( + "ohlc" === u.type && + !0 === u.visible && + u.xaxis === e._id + ) { + l.push(u); + var c = e.makeCalcdata(u, "x"); + u._origX = c; + var f = o(r, e, "x", c).vals; + u._xcalc = f; + var h = n.distinctVals(f).minDiff; + h && isFinite(h) && (i = Math.min(i, h)); + } + } + for ( + i === 1 / 0 && (i = 1), a = 0; + a < l.length; + a++ + ) + l[a]._minDiff = i; + } + return i * r.tickwidth; + })(t, r, e), + c = e._minDiff; + e._minDiff = null; + var f = e._origX; + e._origX = null; + var h = e._xcalc; + e._xcalc = null; + var p = u(t, e, f, h, i, l); + return ( + (e._extremes[r._id] = a.findExtremes(r, h, { + vpad: c / 2, + })), + p.length + ? (n.extendFlat(p[0].t, { + wHover: c / 2, + tickLen: s, + }), + p) + : [{ t: { empty: !0 } }] + ); + }, + calcCommon: u, + }; + }, + 16169: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(14555), + a = r(73927), + o = r(2522); + function s(t, e, r, n) { + r(n + ".line.color"), + r(n + ".line.width", e.line.width), + r(n + ".line.dash", e.line.dash); + } + t.exports = function (t, e, r, l) { + function u(r, i) { + return n.coerce(t, e, o, r, i); + } + i(t, e, u, l) + ? (a(t, e, l, u, { x: !0 }), + u("xhoverformat"), + u("yhoverformat"), + u("line.width"), + u("line.dash"), + s(0, e, u, "increasing"), + s(0, e, u, "decreasing"), + u("text"), + u("hovertext"), + u("tickwidth"), + (l._requestRangeslider[e.xaxis] = !0)) + : (e.visible = !1); + }; + }, + 66449: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(71828), + a = r(30211), + o = r(7901), + s = r(71828).fillText, + l = r(22372), + u = { + increasing: l.INCREASING.SYMBOL, + decreasing: l.DECREASING.SYMBOL, + }; + function c(t, e, r, n) { + var i, + s, + l = t.cd, + u = t.xa, + c = l[0].trace, + f = l[0].t, + h = c.type, + p = "ohlc" === h ? "l" : "min", + d = "ohlc" === h ? "h" : "max", + v = f.bPos || 0, + g = f.bdPos || f.tickLen, + y = f.wHover, + m = Math.min( + 1, + g / Math.abs(u.r2c(u.range[1]) - u.r2c(u.range[0])), + ); + function x(t) { + var r = (function (t) { + return t.pos + v - e; + })(t); + return a.inbox(r - y, r + y, i); + } + function b(t) { + var e = t[p], + n = t[d]; + return e === n || a.inbox(e - r, n - r, i); + } + function _(t) { + return (x(t) + b(t)) / 2; + } + (i = t.maxHoverDistance - m), + (s = t.maxSpikeDistance - m); + var w = a.getDistanceFunction(n, x, b, _); + if ((a.getClosest(l, w, t), !1 === t.index)) + return null; + var T = l[t.index]; + if (T.empty) return null; + var k = c[T.dir], + A = k.line.color; + return ( + o.opacity(A) && k.line.width + ? (t.color = A) + : (t.color = k.fillcolor), + (t.x0 = u.c2p(T.pos + v - g, !0)), + (t.x1 = u.c2p(T.pos + v + g, !0)), + (t.xLabelVal = + void 0 !== T.orig_p ? T.orig_p : T.pos), + (t.spikeDistance = (_(T) * s) / i), + (t.xSpike = u.c2p(T.pos, !0)), + t + ); + } + function f(t, e, r, a) { + var o = t.cd, + s = t.ya, + l = o[0].trace, + u = o[0].t, + f = [], + h = c(t, e, r, a); + if (!h) return []; + var p = o[h.index].hi || l.hoverinfo, + d = p.split("+"); + if ("all" !== p && -1 === d.indexOf("y")) return []; + for ( + var v = ["high", "open", "close", "low"], + g = {}, + y = 0; + y < v.length; + y++ + ) { + var m, + x = v[y], + b = l[x][h.index], + _ = s.c2p(b, !0); + b in g + ? ((m = g[b]).yLabel += + "
" + + u.labels[x] + + n.hoverLabelText(s, b, l.yhoverformat)) + : (((m = i.extendFlat({}, h)).y0 = m.y1 = _), + (m.yLabelVal = b), + (m.yLabel = + u.labels[x] + + n.hoverLabelText(s, b, l.yhoverformat)), + (m.name = ""), + f.push(m), + (g[b] = m)); + } + return f; + } + function h(t, e, r, i) { + var a = t.cd, + o = t.ya, + l = a[0].trace, + f = a[0].t, + h = c(t, e, r, i); + if (!h) return []; + var p = a[h.index], + d = (h.index = p.i), + v = p.dir; + function g(t) { + return ( + f.labels[t] + + n.hoverLabelText(o, l[t][d], l.yhoverformat) + ); + } + var y = p.hi || l.hoverinfo, + m = y.split("+"), + x = "all" === y, + b = x || -1 !== m.indexOf("y"), + _ = x || -1 !== m.indexOf("text"), + w = b + ? [ + g("open"), + g("high"), + g("low"), + g("close") + " " + u[v], + ] + : []; + return ( + _ && s(p, l, w), + (h.extraText = w.join("
")), + (h.y0 = h.y1 = o.c2p(p.yc, !0)), + [h] + ); + } + t.exports = { + hoverPoints: function (t, e, r, n) { + return t.cd[0].trace.hoverlabel.split + ? f(t, e, r, n) + : h(t, e, r, n); + }, + hoverSplit: f, + hoverOnPoints: h, + }; + }, + 54186: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "ohlc", + basePlotModule: r(93612), + categories: ["cartesian", "svg", "showLegend"], + meta: {}, + attributes: r(2522), + supplyDefaults: r(16169), + calc: r(3485).calc, + plot: r(72314), + style: r(53101), + hoverPoints: r(66449).hoverPoints, + selectPoints: r(67324), + }; + }, + 14555: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828); + t.exports = function (t, e, r, a) { + var o = r("x"), + s = r("open"), + l = r("high"), + u = r("low"), + c = r("close"); + if ( + (r("hoverlabel.split"), + n.getComponentMethod( + "calendars", + "handleTraceDefaults", + )(t, e, ["x"], a), + s && l && u && c) + ) { + var f = Math.min( + s.length, + l.length, + u.length, + c.length, + ); + return ( + o && (f = Math.min(f, i.minRowLength(o))), + (e._length = f), + f + ); + } + }; + }, + 72314: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828); + t.exports = function (t, e, r, a) { + var o = e.yaxis, + s = e.xaxis, + l = !!s.rangebreaks; + i.makeTraceGroups(a, r, "trace ohlc").each( + function (t) { + var e = n.select(this), + r = t[0], + a = r.t; + if (!0 !== r.trace.visible || a.empty) e.remove(); + else { + var u = a.tickLen, + c = e.selectAll("path").data(i.identity); + c.enter().append("path"), + c.exit().remove(), + c.attr("d", function (t) { + if (t.empty) return "M0,0Z"; + var e = s.c2p(t.pos - u, !0), + r = s.c2p(t.pos + u, !0), + n = l ? (e + r) / 2 : s.c2p(t.pos, !0); + return ( + "M" + + e + + "," + + o.c2p(t.o, !0) + + "H" + + n + + "M" + + n + + "," + + o.c2p(t.h, !0) + + "V" + + o.c2p(t.l, !0) + + "M" + + r + + "," + + o.c2p(t.c, !0) + + "H" + + n + ); + }); + } + }, + ); + }; + }, + 67324: function (t) { + "use strict"; + t.exports = function (t, e) { + var r, + n = t.cd, + i = t.xaxis, + a = t.yaxis, + o = [], + s = n[0].t.bPos || 0; + 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]; + e.contains( + [i.c2p(l.pos + s), a.c2p(l.yc)], + null, + l.i, + t, + ) + ? (o.push({ + pointNumber: l.i, + x: i.c2d(l.pos), + y: a.c2d(l.yc), + }), + (l.selected = 1)) + : (l.selected = 0); + } + return o; + }; + }, + 53101: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(91424), + a = r(7901); + t.exports = function (t, e, r) { + var o = + r || + n + .select(t) + .selectAll("g.ohlclayer") + .selectAll("g.trace"); + o.style("opacity", function (t) { + return t[0].trace.opacity; + }), + o.each(function (t) { + var e = t[0].trace; + n.select(this) + .selectAll("path") + .each(function (t) { + if (!t.empty) { + var r = e[t.dir].line; + n.select(this) + .style("fill", "none") + .call(a.stroke, r.color) + .call(i.dashLine, r.dash, r.width) + .style( + "opacity", + e.selectedpoints && !t.selected ? 0.3 : 1, + ); + } + }); + }); + }; + }, + 99506: function (t, e, r) { + "use strict"; + var n = r(1426).extendFlat, + i = r(9012), + a = r(41940), + o = r(50693), + s = r(5386).fF, + l = r(27670).Y, + u = n( + { editType: "calc" }, + o("line", { editTypeOverride: "calc" }), + { + shape: { + valType: "enumerated", + values: ["linear", "hspline"], + dflt: "linear", + editType: "plot", + }, + hovertemplate: s( + { editType: "plot", arrayOk: !1 }, + { keys: ["count", "probability"] }, + ), + }, + ); + t.exports = { + domain: l({ + name: "parcats", + trace: !0, + editType: "calc", + }), + hoverinfo: n({}, i.hoverinfo, { + flags: ["count", "probability"], + editType: "plot", + arrayOk: !1, + }), + hoveron: { + valType: "enumerated", + values: ["category", "color", "dimension"], + dflt: "category", + editType: "plot", + }, + hovertemplate: s( + { editType: "plot", arrayOk: !1 }, + { + keys: [ + "count", + "probability", + "category", + "categorycount", + "colorcount", + "bandcolorcount", + ], + }, + ), + arrangement: { + valType: "enumerated", + values: ["perpendicular", "freeform", "fixed"], + dflt: "perpendicular", + editType: "plot", + }, + bundlecolors: { + valType: "boolean", + dflt: !0, + editType: "plot", + }, + sortpaths: { + valType: "enumerated", + values: ["forward", "backward"], + dflt: "forward", + editType: "plot", + }, + labelfont: a({ editType: "calc" }), + tickfont: a({ editType: "calc" }), + dimensions: { + _isLinkedToArray: "dimension", + label: { valType: "string", editType: "calc" }, + categoryorder: { + valType: "enumerated", + values: [ + "trace", + "category ascending", + "category descending", + "array", + ], + dflt: "trace", + editType: "calc", + }, + categoryarray: { + valType: "data_array", + editType: "calc", + }, + ticktext: { valType: "data_array", editType: "calc" }, + values: { + valType: "data_array", + dflt: [], + editType: "calc", + }, + displayindex: { + valType: "integer", + editType: "calc", + }, + editType: "calc", + visible: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + }, + line: u, + counts: { + valType: "number", + min: 0, + dflt: 1, + arrayOk: !0, + editType: "calc", + }, + customdata: void 0, + hoverlabel: void 0, + ids: void 0, + legend: void 0, + legendgroup: void 0, + legendrank: void 0, + opacity: void 0, + selectedpoints: void 0, + showlegend: void 0, + }; + }, + 27677: function (t, e, r) { + "use strict"; + var n = r(27659).a0, + i = r(45784), + a = "parcats"; + (e.name = a), + (e.plot = function (t, e, r, o) { + var s = n(t.calcdata, a); + if (s.length) { + var l = s[0]; + i(t, l, r, o); + } + }), + (e.clean = function (t, e, r, n) { + var i = n._has && n._has("parcats"), + a = e._has && e._has("parcats"); + i && !a && n._paperdiv.selectAll(".parcats").remove(); + }); + }, + 28699: function (t, e, r) { + "use strict"; + var n = r(28984).wrap, + i = r(52075).hasColorscale, + a = r(78803), + o = r(75744), + s = r(91424), + l = r(71828), + u = r(92770); + function c(t, e, r) { + t.valueInds.push(e), (t.count += r); + } + function f(t, e, r) { + return { + categoryInds: t, + color: e, + rawColor: r, + valueInds: [], + count: 0, + }; + } + function h(t, e, r) { + t.valueInds.push(e), (t.count += r); + } + t.exports = function (t, e) { + var r = l.filterVisible(e.dimensions); + if (0 === r.length) return []; + var p, + d, + v, + g = r.map(function (t) { + var e; + if ("trace" === t.categoryorder) e = null; + else if ("array" === t.categoryorder) + e = t.categoryarray; + else { + e = o(t.values); + for (var r = !0, n = 0; n < e.length; n++) + if (!u(e[n])) { + r = !1; + break; + } + e.sort(r ? l.sorterAsc : void 0), + "category descending" === t.categoryorder && + (e = e.reverse()); + } + return (function (t, e) { + e = + null == e + ? [] + : e.map(function (t) { + return t; + }); + var r = {}, + n = {}, + i = []; + e.forEach(function (t, e) { + (r[t] = 0), (n[t] = e); + }); + for (var a = 0; a < t.length; a++) { + var o, + s = t[a]; + void 0 === r[s] + ? ((r[s] = 1), + (o = e.push(s) - 1), + (n[s] = o)) + : (r[s]++, (o = n[s])), + i.push(o); + } + var l = e.map(function (t) { + return r[t]; + }); + return { + uniqueValues: e, + uniqueCounts: l, + inds: i, + }; + })(t.values, e); + }); + (p = l.isArrayOrTypedArray(e.counts) + ? e.counts + : [e.counts]), + (function (t) { + var e, + r = t.map(function (t) { + return t.displayindex; + }); + if ( + (function (t) { + for ( + var e = new Array(t.length), r = 0; + r < t.length; + r++ + ) { + if (t[r] < 0 || t[r] >= t.length) return !1; + if (void 0 !== e[t[r]]) return !1; + e[t[r]] = !0; + } + return !0; + })(r) + ) + for (e = 0; e < t.length; e++) + t[e]._displayindex = t[e].displayindex; + else + for (e = 0; e < t.length; e++) + t[e]._displayindex = e; + })(r), + r.forEach(function (t, e) { + !(function (t, e) { + (t._categoryarray = e.uniqueValues), + null === t.ticktext || void 0 === t.ticktext + ? (t._ticktext = []) + : (t._ticktext = t.ticktext.slice()); + for ( + var r = t._ticktext.length; + r < e.uniqueValues.length; + r++ + ) + t._ticktext.push(e.uniqueValues[r]); + })(t, g[e]); + }); + var y, + m = e.line; + m + ? (i(e, "line") && + a(t, e, { + vals: e.line.color, + containerStr: "line", + cLetter: "c", + }), + (y = s.tryColorscale(m))) + : (y = l.identity); + var x, + b, + _, + w, + T, + k = r[0].values.length, + A = {}, + M = g.map(function (t) { + return t.inds; + }); + for (v = 0, x = 0; x < k; x++) { + var S = []; + for (b = 0; b < M.length; b++) S.push(M[b][x]); + (d = p[x % p.length]), (v += d); + var E = + ((_ = x), + (w = void 0), + (T = void 0), + l.isArrayOrTypedArray(m.color) + ? (T = w = m.color[_ % m.color.length]) + : (w = m.color), + { color: y(w), rawColor: T }), + L = S + "-" + E.rawColor; + void 0 === A[L] && (A[L] = f(S, E.color, E.rawColor)), + h(A[L], x, d); + } + var C, + O = r.map(function (t, e) { + return (function (t, e, r, n, i) { + return { + dimensionInd: t, + containerInd: e, + displayInd: r, + dimensionLabel: n, + count: i, + categories: [], + dragX: null, + }; + })(e, t._index, t._displayindex, t.label, v); + }); + for (x = 0; x < k; x++) + for (d = p[x % p.length], b = 0; b < O.length; b++) { + var P = O[b].containerInd, + I = g[b].inds[x], + D = O[b].categories; + if (void 0 === D[I]) { + var z = e.dimensions[P]._categoryarray[I], + R = e.dimensions[P]._ticktext[I]; + D[I] = { + dimensionInd: b, + categoryInd: (C = I), + categoryValue: z, + displayInd: C, + categoryLabel: R, + valueInds: [], + count: 0, + dragY: null, + }; + } + c(D[I], x, d); + } + return n( + (function (t, e, r) { + var n = t + .map(function (t) { + return t.categories.length; + }) + .reduce(function (t, e) { + return Math.max(t, e); + }); + return { + dimensions: t, + paths: e, + trace: void 0, + maxCats: n, + count: r, + }; + })(O, A, v), + ); + }; + }, + 14647: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(52075).hasColorscale, + a = r(1586), + o = r(27670).c, + s = r(85501), + l = r(99506), + u = r(94397); + function c(t, e) { + function r(r, i) { + return n.coerce(t, e, l.dimensions, r, i); + } + var i = r("values"), + a = r("visible"); + if (((i && i.length) || (a = e.visible = !1), a)) { + r("label"), r("displayindex", e._index); + var o, + s = t.categoryarray, + u = Array.isArray(s) && s.length > 0; + u && (o = "array"); + var c = r("categoryorder", o); + "array" === c + ? (r("categoryarray"), r("ticktext")) + : (delete t.categoryarray, delete t.ticktext), + u || "array" !== c || (e.categoryorder = "trace"); + } + } + t.exports = function (t, e, r, f) { + function h(r, i) { + return n.coerce(t, e, l, r, i); + } + var p = s(t, e, { + name: "dimensions", + handleItemDefaults: c, + }), + d = (function (t, e, r, o, s) { + s("line.shape"), s("line.hovertemplate"); + var l = s("line.color", o.colorway[0]); + if (i(t, "line") && n.isArrayOrTypedArray(l)) { + if (l.length) + return ( + s("line.colorscale"), + a(t, e, o, s, { + prefix: "line.", + cLetter: "c", + }), + l.length + ); + e.line.color = r; + } + return 1 / 0; + })(t, e, r, f, h); + o(e, f, h), + (Array.isArray(p) && p.length) || (e.visible = !1), + u(e, p, "values", d), + h("hoveron"), + h("hovertemplate"), + h("arrangement"), + h("bundlecolors"), + h("sortpaths"), + h("counts"); + var v = { + family: f.font.family, + size: Math.round(f.font.size), + color: f.font.color, + }; + n.coerceFont(h, "labelfont", v); + var g = { + family: f.font.family, + size: Math.round(f.font.size / 1.2), + color: f.font.color, + }; + n.coerceFont(h, "tickfont", g); + }; + }, + 94873: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(99506), + supplyDefaults: r(14647), + calc: r(28699), + plot: r(45784), + colorbar: { + container: "line", + min: "cmin", + max: "cmax", + }, + moduleType: "trace", + name: "parcats", + basePlotModule: r(27677), + categories: ["noOpacity"], + meta: {}, + }; + }, + 45460: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(81684).k4, + a = r(72391), + o = r(30211), + s = r(71828), + l = s.strTranslate, + u = r(91424), + c = r(84267), + f = r(63893); + function h(t, e, r, i) { + var a = e._context.staticPlot, + o = t.map(F.bind(0, e, r)), + c = i.selectAll("g.parcatslayer").data([null]); + c.enter() + .append("g") + .attr("class", "parcatslayer") + .style("pointer-events", a ? "none" : "all"); + var h = c.selectAll("g.trace.parcats").data(o, p), + m = h + .enter() + .append("g") + .attr("class", "trace parcats"); + h.attr("transform", function (t) { + return l(t.x, t.y); + }), + m.append("g").attr("class", "paths"); + var x = h + .select("g.paths") + .selectAll("path.path") + .data(function (t) { + return t.paths; + }, p); + x.attr("fill", function (t) { + return t.model.color; + }); + var w = x + .enter() + .append("path") + .attr("class", "path") + .attr("stroke-opacity", 0) + .attr("fill", function (t) { + return t.model.color; + }) + .attr("fill-opacity", 0); + _(w), + x.attr("d", function (t) { + return t.svgD; + }), + w.empty() || x.sort(v), + x.exit().remove(), + x.on("mouseover", g).on("mouseout", y).on("click", b), + m.append("g").attr("class", "dimensions"); + var A = h + .select("g.dimensions") + .selectAll("g.dimension") + .data(function (t) { + return t.dimensions; + }, p); + A.enter().append("g").attr("class", "dimension"), + A.attr("transform", function (t) { + return l(t.x, 0); + }), + A.exit().remove(); + var M = A.selectAll("g.category").data(function (t) { + return t.categories; + }, p), + S = M.enter().append("g").attr("class", "category"); + M.attr("transform", function (t) { + return l(0, t.y); + }), + S.append("rect") + .attr("class", "catrect") + .attr("pointer-events", "none"), + M.select("rect.catrect") + .attr("fill", "none") + .attr("width", function (t) { + return t.width; + }) + .attr("height", function (t) { + return t.height; + }), + T(S); + var E = M.selectAll("rect.bandrect").data(function (t) { + return t.bands; + }, p); + E.each(function () { + s.raiseToTop(this); + }), + E.attr("fill", function (t) { + return t.color; + }); + var D = E.enter() + .append("rect") + .attr("class", "bandrect") + .attr("stroke-opacity", 0) + .attr("fill", function (t) { + return t.color; + }) + .attr("fill-opacity", 0); + E.attr("fill", function (t) { + return t.color; + }) + .attr("width", function (t) { + return t.width; + }) + .attr("height", function (t) { + return t.height; + }) + .attr("y", function (t) { + return t.y; + }) + .attr("cursor", function (t) { + return "fixed" === t.parcatsViewModel.arrangement + ? "default" + : "perpendicular" === + t.parcatsViewModel.arrangement + ? "ns-resize" + : "move"; + }), + k(D), + E.exit().remove(), + S.append("text") + .attr("class", "catlabel") + .attr("pointer-events", "none"); + var z = e._fullLayout.paper_bgcolor; + M.select("text.catlabel") + .attr("text-anchor", function (t) { + return d(t) ? "start" : "end"; + }) + .attr("alignment-baseline", "middle") + .style("text-shadow", f.makeTextShadow(z)) + .style("fill", "rgb(0, 0, 0)") + .attr("x", function (t) { + return d(t) ? t.width + 5 : -5; + }) + .attr("y", function (t) { + return t.height / 2; + }) + .text(function (t) { + return t.model.categoryLabel; + }) + .each(function (t) { + u.font( + n.select(this), + t.parcatsViewModel.categorylabelfont, + ), + f.convertToTspans(n.select(this), e); + }), + S.append("text").attr("class", "dimlabel"), + M.select("text.dimlabel") + .attr("text-anchor", "middle") + .attr("alignment-baseline", "baseline") + .attr("cursor", function (t) { + return "fixed" === t.parcatsViewModel.arrangement + ? "default" + : "ew-resize"; + }) + .attr("x", function (t) { + return t.width / 2; + }) + .attr("y", -5) + .text(function (t, e) { + return 0 === e + ? t.parcatsViewModel.model.dimensions[ + t.model.dimensionInd + ].dimensionLabel + : null; + }) + .each(function (t) { + u.font( + n.select(this), + t.parcatsViewModel.labelfont, + ); + }), + M.selectAll("rect.bandrect") + .on("mouseover", L) + .on("mouseout", C), + M.exit().remove(), + A.call( + n.behavior + .drag() + .origin(function (t) { + return { x: t.x, y: 0 }; + }) + .on("dragstart", O) + .on("drag", P) + .on("dragend", I), + ), + h.each(function (t) { + (t.traceSelection = n.select(this)), + (t.pathSelection = n + .select(this) + .selectAll("g.paths") + .selectAll("path.path")), + (t.dimensionSelection = n + .select(this) + .selectAll("g.dimensions") + .selectAll("g.dimension")); + }), + h.exit().remove(); + } + function p(t) { + return t.key; + } + function d(t) { + var e = t.parcatsViewModel.dimensions.length, + r = + t.parcatsViewModel.dimensions[e - 1].model + .dimensionInd; + return t.model.dimensionInd === r; + } + function v(t, e) { + return t.model.rawColor > e.model.rawColor + ? 1 + : t.model.rawColor < e.model.rawColor + ? -1 + : 0; + } + function g(t) { + if ( + !t.parcatsViewModel.dragDimension && + -1 === + t.parcatsViewModel.hoverinfoItems.indexOf("skip") + ) { + s.raiseToTop(this), w(n.select(this)); + var e = m(t), + r = x(t); + if ( + (t.parcatsViewModel.graphDiv.emit("plotly_hover", { + points: e, + event: n.event, + constraints: r, + }), + -1 === + t.parcatsViewModel.hoverinfoItems.indexOf("none")) + ) { + var i, + a, + l, + u = n.mouse(this)[0], + f = t.parcatsViewModel.graphDiv, + h = t.parcatsViewModel.trace, + p = f._fullLayout, + d = p._paperdiv.node().getBoundingClientRect(), + v = + t.parcatsViewModel.graphDiv.getBoundingClientRect(); + for (l = 0; l < t.leftXs.length - 1; l++) + if ( + t.leftXs[l] + t.dimWidths[l] - 2 <= u && + u <= t.leftXs[l + 1] + 2 + ) { + var g = t.parcatsViewModel.dimensions[l], + y = t.parcatsViewModel.dimensions[l + 1]; + (i = (g.x + g.width + y.x) / 2), + (a = + (t.topYs[l] + t.topYs[l + 1] + t.height) / + 2); + break; + } + var b = t.parcatsViewModel.x + i, + _ = t.parcatsViewModel.y + a, + T = c.mostReadable(t.model.color, [ + "black", + "white", + ]), + k = t.model.count, + A = k / t.parcatsViewModel.model.count, + M = { + countLabel: k, + probabilityLabel: A.toFixed(3), + }, + S = []; + -1 !== + t.parcatsViewModel.hoverinfoItems.indexOf( + "count", + ) && S.push(["Count:", M.countLabel].join(" ")), + -1 !== + t.parcatsViewModel.hoverinfoItems.indexOf( + "probability", + ) && + S.push(["P:", M.probabilityLabel].join(" ")); + var E = S.join("
"), + L = n.mouse(f)[0]; + o.loneHover( + { + trace: h, + x: b - d.left + v.left, + y: _ - d.top + v.top, + text: E, + color: t.model.color, + borderColor: "black", + fontFamily: 'Monaco, "Courier New", monospace', + fontSize: 10, + fontColor: T, + idealAlign: L < b ? "right" : "left", + hovertemplate: (h.line || {}).hovertemplate, + hovertemplateLabels: M, + eventData: [ + { + data: h._input, + fullData: h, + count: k, + probability: A, + }, + ], + }, + { + container: p._hoverlayer.node(), + outerContainer: p._paper.node(), + gd: f, + }, + ); + } + } + } + function y(t) { + if ( + !t.parcatsViewModel.dragDimension && + (_(n.select(this)), + o.loneUnhover( + t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node(), + ), + t.parcatsViewModel.pathSelection.sort(v), + -1 === + t.parcatsViewModel.hoverinfoItems.indexOf("skip")) + ) { + var e = m(t), + r = x(t); + t.parcatsViewModel.graphDiv.emit("plotly_unhover", { + points: e, + event: n.event, + constraints: r, + }); + } + } + function m(t) { + for ( + var e = [], r = D(t.parcatsViewModel), n = 0; + n < t.model.valueInds.length; + n++ + ) { + var i = t.model.valueInds[n]; + e.push({ curveNumber: r, pointNumber: i }); + } + return e; + } + function x(t) { + for ( + var e = {}, + r = t.parcatsViewModel.model.dimensions, + n = 0; + n < r.length; + n++ + ) { + var i = r[n], + a = i.categories[t.model.categoryInds[n]]; + e[i.containerInd] = a.categoryValue; + } + return ( + void 0 !== t.model.rawColor && + (e.color = t.model.rawColor), + e + ); + } + function b(t) { + if ( + -1 === + t.parcatsViewModel.hoverinfoItems.indexOf("skip") + ) { + var e = m(t), + r = x(t); + t.parcatsViewModel.graphDiv.emit("plotly_click", { + points: e, + event: n.event, + constraints: r, + }); + } + } + function _(t) { + t.attr("fill", function (t) { + return t.model.color; + }) + .attr("fill-opacity", 0.6) + .attr("stroke", "lightgray") + .attr("stroke-width", 0.2) + .attr("stroke-opacity", 1); + } + function w(t) { + t.attr("fill-opacity", 0.8) + .attr("stroke", function (t) { + return c.mostReadable(t.model.color, [ + "black", + "white", + ]); + }) + .attr("stroke-width", 0.3); + } + function T(t) { + t.select("rect.catrect") + .attr("stroke", "black") + .attr("stroke-width", 1) + .attr("stroke-opacity", 1); + } + function k(t) { + t.attr("stroke", "black") + .attr("stroke-width", 0.2) + .attr("stroke-opacity", 1) + .attr("fill-opacity", 1); + } + function A(t) { + var e = t.parcatsViewModel.pathSelection, + r = t.categoryViewModel.model.dimensionInd, + n = t.categoryViewModel.model.categoryInd; + return e.filter(function (e) { + return ( + e.model.categoryInds[r] === n && + e.model.color === t.color + ); + }); + } + function M(t, e, r) { + var i = n.select(t).datum(), + a = i.categoryViewModel.model, + o = i.parcatsViewModel.graphDiv, + s = n.select(t.parentNode).selectAll("rect.bandrect"), + l = []; + s.each(function (t) { + A(t).each(function (t) { + Array.prototype.push.apply(l, m(t)); + }); + }); + var u = {}; + (u[a.dimensionInd] = a.categoryValue), + o.emit(e, { points: l, event: r, constraints: u }); + } + function S(t, e, r) { + var i = n.select(t).datum(), + a = i.categoryViewModel.model, + o = i.parcatsViewModel.graphDiv, + s = A(i), + l = []; + s.each(function (t) { + Array.prototype.push.apply(l, m(t)); + }); + var u = {}; + (u[a.dimensionInd] = a.categoryValue), + void 0 !== i.rawColor && (u.color = i.rawColor), + o.emit(e, { points: l, event: r, constraints: u }); + } + function E(t, e, r) { + t._fullLayout._calcInverseTransform(t); + var i, + a, + o = t._fullLayout._invScaleX, + s = t._fullLayout._invScaleY, + l = n.select(r.parentNode).select("rect.catrect"), + u = l.node().getBoundingClientRect(), + c = l.datum(), + f = c.parcatsViewModel, + h = f.model.dimensions[c.model.dimensionInd], + p = f.trace, + d = u.top + u.height / 2; + f.dimensions.length > 1 && + h.displayInd === f.dimensions.length - 1 + ? ((i = u.left), (a = "left")) + : ((i = u.left + u.width), (a = "right")); + var v = c.model.count, + g = c.model.categoryLabel, + y = v / c.parcatsViewModel.model.count, + m = { + countLabel: v, + categoryLabel: g, + probabilityLabel: y.toFixed(3), + }, + x = []; + -1 !== + c.parcatsViewModel.hoverinfoItems.indexOf("count") && + x.push(["Count:", m.countLabel].join(" ")), + -1 !== + c.parcatsViewModel.hoverinfoItems.indexOf( + "probability", + ) && + x.push( + [ + "P(" + m.categoryLabel + "):", + m.probabilityLabel, + ].join(" "), + ); + var b = x.join("
"); + return { + trace: p, + x: o * (i - e.left), + y: s * (d - e.top), + text: b, + color: "lightgray", + borderColor: "black", + fontFamily: 'Monaco, "Courier New", monospace', + fontSize: 12, + fontColor: "black", + idealAlign: a, + hovertemplate: p.hovertemplate, + hovertemplateLabels: m, + eventData: [ + { + data: p._input, + fullData: p, + count: v, + category: g, + probability: y, + }, + ], + }; + } + function L(t) { + if ( + !t.parcatsViewModel.dragDimension && + -1 === + t.parcatsViewModel.hoverinfoItems.indexOf("skip") + ) { + if (n.mouse(this)[1] < -1) return; + var e, + r = t.parcatsViewModel.graphDiv, + i = r._fullLayout, + a = i._paperdiv.node().getBoundingClientRect(), + l = t.parcatsViewModel.hoveron, + u = this; + "color" === l + ? ((function (t) { + var e = n.select(t).datum(), + r = A(e); + w(r), + r.each(function () { + s.raiseToTop(this); + }), + n + .select(t.parentNode) + .selectAll("rect.bandrect") + .filter(function (t) { + return t.color === e.color; + }) + .each(function () { + s.raiseToTop(this), + n + .select(this) + .attr("stroke", "black") + .attr("stroke-width", 1.5); + }); + })(u), + S(u, "plotly_hover", n.event)) + : ((function (t) { + n + .select(t.parentNode) + .selectAll("rect.bandrect") + .each(function (t) { + var e = A(t); + w(e), + e.each(function () { + s.raiseToTop(this); + }); + }), + n + .select(t.parentNode) + .select("rect.catrect") + .attr("stroke", "black") + .attr("stroke-width", 2.5); + })(u), + M(u, "plotly_hover", n.event)), + -1 === + t.parcatsViewModel.hoverinfoItems.indexOf( + "none", + ) && + ("category" === l + ? (e = E(r, a, u)) + : "color" === l + ? (e = (function (t, e, r) { + t._fullLayout._calcInverseTransform(t); + var i, + a, + o = t._fullLayout._invScaleX, + s = t._fullLayout._invScaleY, + l = r.getBoundingClientRect(), + u = n.select(r).datum(), + f = u.categoryViewModel, + h = f.parcatsViewModel, + p = + h.model.dimensions[ + f.model.dimensionInd + ], + d = h.trace, + v = l.y + l.height / 2; + h.dimensions.length > 1 && + p.displayInd === h.dimensions.length - 1 + ? ((i = l.left), (a = "left")) + : ((i = l.left + l.width), (a = "right")); + var g = f.model.categoryLabel, + y = u.parcatsViewModel.model.count, + m = 0; + u.categoryViewModel.bands.forEach( + function (t) { + t.color === u.color && (m += t.count); + }, + ); + var x = f.model.count, + b = 0; + h.pathSelection.each(function (t) { + t.model.color === u.color && + (b += t.model.count); + }); + var _ = m / y, + w = m / b, + T = m / x, + k = { + countLabel: y, + categoryLabel: g, + probabilityLabel: _.toFixed(3), + }, + A = []; + -1 !== + f.parcatsViewModel.hoverinfoItems.indexOf( + "count", + ) && + A.push( + ["Count:", k.countLabel].join(" "), + ), + -1 !== + f.parcatsViewModel.hoverinfoItems.indexOf( + "probability", + ) && + (A.push( + "P(color ∩ " + + g + + "): " + + k.probabilityLabel, + ), + A.push( + "P(" + + g + + " | color): " + + w.toFixed(3), + ), + A.push( + "P(color | " + + g + + "): " + + T.toFixed(3), + )); + var M = A.join("
"), + S = c.mostReadable(u.color, [ + "black", + "white", + ]); + return { + trace: d, + x: o * (i - e.left), + y: s * (v - e.top), + text: M, + color: u.color, + borderColor: "black", + fontFamily: + 'Monaco, "Courier New", monospace', + fontColor: S, + fontSize: 10, + idealAlign: a, + hovertemplate: d.hovertemplate, + hovertemplateLabels: k, + eventData: [ + { + data: d._input, + fullData: d, + category: g, + count: y, + probability: _, + categorycount: x, + colorcount: b, + bandcolorcount: m, + }, + ], + }; + })(r, a, u)) + : "dimension" === l && + (e = (function (t, e, r) { + var i = []; + return ( + n + .select(r.parentNode.parentNode) + .selectAll("g.category") + .select("rect.catrect") + .each(function () { + i.push(E(t, e, this)); + }), + i + ); + })(r, a, u)), + e && + o.loneHover(e, { + container: i._hoverlayer.node(), + outerContainer: i._paper.node(), + gd: r, + })); + } + } + function C(t) { + var e = t.parcatsViewModel; + e.dragDimension || + (_(e.pathSelection), + T(e.dimensionSelection.selectAll("g.category")), + k( + e.dimensionSelection + .selectAll("g.category") + .selectAll("rect.bandrect"), + ), + o.loneUnhover( + e.graphDiv._fullLayout._hoverlayer.node(), + ), + e.pathSelection.sort(v), + -1 !== e.hoverinfoItems.indexOf("skip")) || + ("color" === t.parcatsViewModel.hoveron + ? S(this, "plotly_unhover", n.event) + : M(this, "plotly_unhover", n.event)); + } + function O(t) { + "fixed" !== t.parcatsViewModel.arrangement && + ((t.dragDimensionDisplayInd = t.model.displayInd), + (t.initialDragDimensionDisplayInds = + t.parcatsViewModel.model.dimensions.map( + function (t) { + return t.displayInd; + }, + )), + (t.dragHasMoved = !1), + (t.dragCategoryDisplayInd = null), + n + .select(this) + .selectAll("g.category") + .select("rect.catrect") + .each(function (e) { + var r = n.mouse(this)[0], + i = n.mouse(this)[1]; + -2 <= r && + r <= e.width + 2 && + -2 <= i && + i <= e.height + 2 && + ((t.dragCategoryDisplayInd = + e.model.displayInd), + (t.initialDragCategoryDisplayInds = + t.model.categories.map(function (t) { + return t.displayInd; + })), + (e.model.dragY = e.y), + s.raiseToTop(this.parentNode), + n + .select(this.parentNode) + .selectAll("rect.bandrect") + .each(function (e) { + e.y < i && + i <= e.y + e.height && + (t.potentialClickBand = this); + })); + }), + (t.parcatsViewModel.dragDimension = t), + o.loneUnhover( + t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node(), + )); + } + function P(t) { + if ( + "fixed" !== t.parcatsViewModel.arrangement && + ((t.dragHasMoved = !0), + null !== t.dragDimensionDisplayInd) + ) { + var e = t.dragDimensionDisplayInd, + r = e - 1, + i = e + 1, + a = t.parcatsViewModel.dimensions[e]; + if (null !== t.dragCategoryDisplayInd) { + var o = a.categories[t.dragCategoryDisplayInd]; + o.model.dragY += n.event.dy; + var s = o.model.dragY, + l = o.model.displayInd, + u = a.categories, + c = u[l - 1], + f = u[l + 1]; + void 0 !== c && + s < c.y + c.height / 2 && + ((o.model.displayInd = c.model.displayInd), + (c.model.displayInd = l)), + void 0 !== f && + s + o.height > f.y + f.height / 2 && + ((o.model.displayInd = f.model.displayInd), + (f.model.displayInd = l)), + (t.dragCategoryDisplayInd = o.model.displayInd); + } + if ( + null === t.dragCategoryDisplayInd || + "freeform" === t.parcatsViewModel.arrangement + ) { + a.model.dragX = n.event.x; + var h = t.parcatsViewModel.dimensions[r], + p = t.parcatsViewModel.dimensions[i]; + void 0 !== h && + a.model.dragX < h.x + h.width && + ((a.model.displayInd = h.model.displayInd), + (h.model.displayInd = e)), + void 0 !== p && + a.model.dragX + a.width > p.x && + ((a.model.displayInd = p.model.displayInd), + (p.model.displayInd = + t.dragDimensionDisplayInd)), + (t.dragDimensionDisplayInd = a.model.displayInd); + } + j(t.parcatsViewModel), + N(t.parcatsViewModel), + R(t.parcatsViewModel), + z(t.parcatsViewModel); + } + } + function I(t) { + if ( + "fixed" !== t.parcatsViewModel.arrangement && + null !== t.dragDimensionDisplayInd + ) { + n.select(this) + .selectAll("text") + .attr("font-weight", "normal"); + var e = {}, + r = D(t.parcatsViewModel), + i = t.parcatsViewModel.model.dimensions.map( + function (t) { + return t.displayInd; + }, + ), + o = t.initialDragDimensionDisplayInds.some( + function (t, e) { + return t !== i[e]; + }, + ); + o && + i.forEach(function (r, n) { + var i = + t.parcatsViewModel.model.dimensions[n] + .containerInd; + e["dimensions[" + i + "].displayindex"] = r; + }); + var s = !1; + if (null !== t.dragCategoryDisplayInd) { + var l = t.model.categories.map(function (t) { + return t.displayInd; + }); + if ( + (s = t.initialDragCategoryDisplayInds.some( + function (t, e) { + return t !== l[e]; + }, + )) + ) { + var u = t.model.categories + .slice() + .sort(function (t, e) { + return t.displayInd - e.displayInd; + }), + c = u.map(function (t) { + return t.categoryValue; + }), + f = u.map(function (t) { + return t.categoryLabel; + }); + (e[ + "dimensions[" + + t.model.containerInd + + "].categoryarray" + ] = [c]), + (e[ + "dimensions[" + + t.model.containerInd + + "].ticktext" + ] = [f]), + (e[ + "dimensions[" + + t.model.containerInd + + "].categoryorder" + ] = "array"); + } + } + -1 === + t.parcatsViewModel.hoverinfoItems.indexOf("skip") && + !t.dragHasMoved && + t.potentialClickBand && + ("color" === t.parcatsViewModel.hoveron + ? S( + t.potentialClickBand, + "plotly_click", + n.event.sourceEvent, + ) + : M( + t.potentialClickBand, + "plotly_click", + n.event.sourceEvent, + )), + (t.model.dragX = null), + null !== t.dragCategoryDisplayInd && + ((t.parcatsViewModel.dimensions[ + t.dragDimensionDisplayInd + ].categories[ + t.dragCategoryDisplayInd + ].model.dragY = null), + (t.dragCategoryDisplayInd = null)), + (t.dragDimensionDisplayInd = null), + (t.parcatsViewModel.dragDimension = null), + (t.dragHasMoved = null), + (t.potentialClickBand = null), + j(t.parcatsViewModel), + N(t.parcatsViewModel), + n + .transition() + .duration(300) + .ease("cubic-in-out") + .each(function () { + R(t.parcatsViewModel, !0), + z(t.parcatsViewModel, !0); + }) + .each("end", function () { + (o || s) && + a.restyle(t.parcatsViewModel.graphDiv, e, [ + r, + ]); + }); + } + } + function D(t) { + for ( + var e, r = t.graphDiv._fullData, n = 0; + n < r.length; + n++ + ) + if (t.key === r[n].uid) { + e = n; + break; + } + return e; + } + function z(t, e) { + var r; + void 0 === e && (e = !1), + t.pathSelection.data(function (t) { + return t.paths; + }, p), + ((r = t.pathSelection), e ? r.transition() : r).attr( + "d", + function (t) { + return t.svgD; + }, + ); + } + function R(t, e) { + function r(t) { + return e ? t.transition() : t; + } + void 0 === e && (e = !1), + t.dimensionSelection.data(function (t) { + return t.dimensions; + }, p); + var i = t.dimensionSelection + .selectAll("g.category") + .data(function (t) { + return t.categories; + }, p); + r(t.dimensionSelection).attr("transform", function (t) { + return l(t.x, 0); + }), + r(i).attr("transform", function (t) { + return l(0, t.y); + }), + i.select(".dimlabel").text(function (t, e) { + return 0 === e + ? t.parcatsViewModel.model.dimensions[ + t.model.dimensionInd + ].dimensionLabel + : null; + }), + i + .select(".catlabel") + .attr("text-anchor", function (t) { + return d(t) ? "start" : "end"; + }) + .attr("x", function (t) { + return d(t) ? t.width + 5 : -5; + }) + .each(function (t) { + var e, r; + d(t) + ? ((e = t.width + 5), (r = "start")) + : ((e = -5), (r = "end")), + n + .select(this) + .selectAll("tspan") + .attr("x", e) + .attr("text-anchor", r); + }); + var a = i.selectAll("rect.bandrect").data(function (t) { + return t.bands; + }, p), + o = a + .enter() + .append("rect") + .attr("class", "bandrect") + .attr("cursor", "move") + .attr("stroke-opacity", 0) + .attr("fill", function (t) { + return t.color; + }) + .attr("fill-opacity", 0); + a + .attr("fill", function (t) { + return t.color; + }) + .attr("width", function (t) { + return t.width; + }) + .attr("height", function (t) { + return t.height; + }) + .attr("y", function (t) { + return t.y; + }), + k(o), + a.each(function () { + s.raiseToTop(this); + }), + a.exit().remove(); + } + function F(t, e, r) { + var n, + i = r[0], + a = e.margin || { l: 80, r: 80, t: 100, b: 80 }, + o = i.trace, + s = o.domain, + l = e.width, + u = e.height, + c = Math.floor(l * (s.x[1] - s.x[0])), + f = Math.floor(u * (s.y[1] - s.y[0])), + h = s.x[0] * l + a.l, + p = e.height - s.y[1] * e.height + a.t, + d = o.line.shape; + n = + "all" === o.hoverinfo + ? ["count", "probability"] + : (o.hoverinfo || "").split("+"); + var v = { + trace: o, + key: o.uid, + model: i, + x: h, + y: p, + width: c, + height: f, + hoveron: o.hoveron, + hoverinfoItems: n, + arrangement: o.arrangement, + bundlecolors: o.bundlecolors, + sortpaths: o.sortpaths, + labelfont: o.labelfont, + categorylabelfont: o.tickfont, + pathShape: d, + dragDimension: null, + margin: a, + paths: [], + dimensions: [], + graphDiv: t, + traceSelection: null, + pathSelection: null, + dimensionSelection: null, + }; + return i.dimensions && (j(v), N(v)), v; + } + function B(t, e, r, n, a) { + var o, + s, + l = [], + u = []; + for (s = 0; s < r.length - 1; s++) + (o = i(r[s] + t[s], t[s + 1])), + l.push(o(a)), + u.push(o(1 - a)); + var c = "M " + t[0] + "," + e[0]; + for (c += "l" + r[0] + ",0 ", s = 1; s < r.length; s++) + (c += + "C" + + l[s - 1] + + "," + + e[s - 1] + + " " + + u[s - 1] + + "," + + e[s] + + " " + + t[s] + + "," + + e[s]), + (c += "l" + r[s] + ",0 "); + for ( + c += "l0," + n + " ", + c += "l -" + r[r.length - 1] + ",0 ", + s = r.length - 2; + s >= 0; + s-- + ) + (c += + "C" + + u[s] + + "," + + (e[s + 1] + n) + + " " + + l[s] + + "," + + (e[s] + n) + + " " + + (t[s] + r[s]) + + "," + + (e[s] + n)), + (c += "l-" + r[s] + ",0 "); + return c + "Z"; + } + function N(t) { + var e = t.dimensions, + r = t.model, + n = e.map(function (t) { + return t.categories.map(function (t) { + return t.y; + }); + }), + i = t.model.dimensions.map(function (t) { + return t.categories.map(function (t) { + return t.displayInd; + }); + }), + a = t.model.dimensions.map(function (t) { + return t.displayInd; + }), + o = t.dimensions.map(function (t) { + return t.model.dimensionInd; + }), + s = e.map(function (t) { + return t.x; + }), + l = e.map(function (t) { + return t.width; + }), + u = []; + for (var c in r.paths) + r.paths.hasOwnProperty(c) && u.push(r.paths[c]); + function f(t) { + var e = t.categoryInds.map(function (t, e) { + return i[e][t]; + }); + return o.map(function (t) { + return e[t]; + }); + } + u.sort(function (e, r) { + var n = f(e), + i = f(r); + return ( + "backward" === t.sortpaths && + (n.reverse(), i.reverse()), + n.push(e.valueInds[0]), + i.push(r.valueInds[0]), + t.bundlecolors && + (n.unshift(e.rawColor), i.unshift(r.rawColor)), + n < i ? -1 : n > i ? 1 : 0 + ); + }); + for ( + var h = new Array(u.length), + p = e[0].model.count, + d = e[0].categories + .map(function (t) { + return t.height; + }) + .reduce(function (t, e) { + return t + e; + }), + v = 0; + v < u.length; + v++ + ) { + var g, + y = u[v]; + g = p > 0 ? d * (y.count / p) : 0; + for ( + var m, x = new Array(n.length), b = 0; + b < y.categoryInds.length; + b++ + ) { + var _ = y.categoryInds[b], + w = i[b][_], + T = a[b]; + (x[T] = n[T][w]), (n[T][w] += g); + var k = t.dimensions[T].categories[w], + A = k.bands.length, + M = k.bands[A - 1]; + if (void 0 === M || y.rawColor !== M.rawColor) { + var S = void 0 === M ? 0 : M.y + M.height; + k.bands.push({ + key: S, + color: y.color, + rawColor: y.rawColor, + height: g, + width: k.width, + count: y.count, + y: S, + categoryViewModel: k, + parcatsViewModel: t, + }); + } else { + var E = k.bands[A - 1]; + (E.height += g), (E.count += y.count); + } + } + (m = + "hspline" === t.pathShape + ? B(s, x, l, g, 0.5) + : B(s, x, l, g, 0)), + (h[v] = { + key: y.valueInds[0], + model: y, + height: g, + leftXs: s, + topYs: x, + dimWidths: l, + svgD: m, + parcatsViewModel: t, + }); + } + t.paths = h; + } + function j(t) { + var e = t.model.dimensions.map(function (t) { + return { + displayInd: t.displayInd, + dimensionInd: t.dimensionInd, + }; + }); + e.sort(function (t, e) { + return t.displayInd - e.displayInd; + }); + var r = []; + for (var n in e) { + var i = e[n].dimensionInd, + a = t.model.dimensions[i]; + r.push(U(t, a)); + } + t.dimensions = r; + } + function U(t, e) { + var r, + n = t.model.dimensions.length, + i = e.displayInd; + r = + 40 + (n > 1 ? (t.width - 80 - 16) / (n - 1) : 0) * i; + var a, + o, + s, + l, + u, + c = [], + f = t.model.maxCats, + h = e.categories.length, + p = e.count, + d = t.height - 8 * (f - 1), + v = (8 * (f - h)) / 2, + g = e.categories.map(function (t) { + return { + displayInd: t.displayInd, + categoryInd: t.categoryInd, + }; + }); + for ( + g.sort(function (t, e) { + return t.displayInd - e.displayInd; + }), + u = 0; + u < h; + u++ + ) + (l = g[u].categoryInd), + (o = e.categories[l]), + (a = p > 0 ? (o.count / p) * d : 0), + (s = { + key: o.valueInds[0], + model: o, + width: 16, + height: a, + y: null !== o.dragY ? o.dragY : v, + bands: [], + parcatsViewModel: t, + }), + (v = v + a + 8), + c.push(s); + return { + key: e.dimensionInd, + x: null !== e.dragX ? e.dragX : r, + y: 0, + width: 16, + model: e, + categories: c, + parcatsViewModel: t, + dragCategoryDisplayInd: null, + dragDimensionDisplayInd: null, + initialDragDimensionDisplayInds: null, + initialDragCategoryDisplayInds: null, + dragHasMoved: null, + potentialClickBand: null, + }; + } + t.exports = function (t, e, r, n) { + h(r, t, n, e); + }; + }, + 45784: function (t, e, r) { + "use strict"; + var n = r(45460); + t.exports = function (t, e, r, i) { + var a = t._fullLayout, + o = a._paper, + s = a._size; + n( + t, + o, + e, + { + width: s.w, + height: s.h, + margin: { t: s.t, r: s.r, b: s.b, l: s.l }, + }, + r, + i, + ); + }; + }, + 73362: function (t, e, r) { + "use strict"; + var n = r(50693), + i = r(13838), + a = r(41940), + o = r(27670).Y, + s = r(1426).extendFlat, + l = r(44467).templatedArray; + t.exports = { + domain: o({ + name: "parcoords", + trace: !0, + editType: "plot", + }), + labelangle: { + valType: "angle", + dflt: 0, + editType: "plot", + }, + labelside: { + valType: "enumerated", + values: ["top", "bottom"], + dflt: "top", + editType: "plot", + }, + labelfont: a({ editType: "plot" }), + tickfont: a({ editType: "plot" }), + rangefont: a({ editType: "plot" }), + dimensions: l("dimension", { + label: { valType: "string", editType: "plot" }, + tickvals: s({}, i.tickvals, { editType: "plot" }), + ticktext: s({}, i.ticktext, { editType: "plot" }), + tickformat: s({}, i.tickformat, { editType: "plot" }), + visible: { + valType: "boolean", + dflt: !0, + editType: "plot", + }, + range: { + valType: "info_array", + items: [ + { valType: "number", editType: "plot" }, + { valType: "number", editType: "plot" }, + ], + editType: "plot", + }, + constraintrange: { + valType: "info_array", + freeLength: !0, + dimensions: "1-2", + items: [ + { valType: "any", editType: "plot" }, + { valType: "any", editType: "plot" }, + ], + editType: "plot", + }, + multiselect: { + valType: "boolean", + dflt: !0, + editType: "plot", + }, + values: { valType: "data_array", editType: "calc" }, + editType: "calc", + }), + line: s( + { editType: "calc" }, + n("line", { + colorscaleDflt: "Viridis", + autoColorDflt: !1, + editTypeOverride: "calc", + }), + ), + unselected: { + line: { + color: { + valType: "color", + dflt: "#7f7f7f", + editType: "plot", + }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: "auto", + editType: "plot", + }, + editType: "plot", + }, + editType: "plot", + }, + }; + }, + 57920: function (t, e, r) { + "use strict"; + var n = r(25706), + i = r(39898), + a = r(28984).keyFun, + o = r(28984).repeat, + s = r(71828).sorterAsc, + l = r(71828).strTranslate, + u = n.bar.snapRatio; + function c(t, e) { + return t * (1 - u) + e * u; + } + var f = n.bar.snapClose; + function h(t, e) { + return t * (1 - f) + e * f; + } + function p(t, e, r, n) { + if ( + (function (t, e) { + for (var r = 0; r < e.length; r++) + if (t >= e[r][0] && t <= e[r][1]) return !0; + return !1; + })(r, n) + ) + return r; + var i = t ? -1 : 1, + a = 0, + o = e.length - 1; + if (i < 0) { + var s = a; + (a = o), (o = s); + } + for ( + var l = e[a], u = l, f = a; + i * f < i * o; + f += i + ) { + var p = f + i, + d = e[p]; + if (i * r < i * h(l, d)) return c(l, u); + if (i * r < i * d || p === o) return c(d, l); + (u = l), (l = d); + } + } + function d(t) { + t.attr("x", -n.bar.captureWidth / 2).attr( + "width", + n.bar.captureWidth, + ); + } + function v(t) { + t.attr("visibility", "visible") + .style("visibility", "visible") + .attr("fill", "yellow") + .attr("opacity", 0); + } + function g(t) { + if (!t.brush.filterSpecified) return "0," + t.height; + for ( + var e, + r, + n, + i = y(t.brush.filter.getConsolidated(), t.height), + a = [0], + o = i.length ? i[0][0] : null, + s = 0; + s < i.length; + s++ + ) + (r = (e = i[s])[1] - e[0]), + a.push(o), + a.push(r), + (n = s + 1) < i.length && (o = i[n][0] - e[1]); + return a.push(t.height), a; + } + function y(t, e) { + return t.map(function (t) { + return t + .map(function (t) { + return Math.max(0, t * e); + }) + .sort(s); + }); + } + function m() { + i.select(document.body).style("cursor", null); + } + function x(t) { + t.attr("stroke-dasharray", g); + } + function b(t, e) { + var r = i + .select(t) + .selectAll(".highlight, .highlight-shadow"); + x( + e + ? r + .transition() + .duration(n.bar.snapDuration) + .each("end", e) + : r, + ); + } + function _(t, e) { + var r, + i = t.brush, + a = NaN, + o = {}; + if (i.filterSpecified) { + var s = t.height, + l = i.filter.getConsolidated(), + u = y(l, s), + c = NaN, + f = NaN, + h = NaN; + for (r = 0; r <= u.length; r++) { + var p = u[r]; + if (p && p[0] <= e && e <= p[1]) { + c = r; + break; + } + if (((f = r ? r - 1 : NaN), p && p[0] > e)) { + h = r; + break; + } + } + if ( + ((a = c), + isNaN(a) && + (a = + isNaN(f) || isNaN(h) + ? isNaN(f) + ? h + : f + : e - u[f][1] < u[h][0] - e + ? f + : h), + !isNaN(a)) + ) { + var d = u[a], + v = (function (t, e) { + var r = n.bar.handleHeight; + if (!(e > t[1] + r || e < t[0] - r)) + return e >= 0.9 * t[1] + 0.1 * t[0] + ? "n" + : e <= 0.9 * t[0] + 0.1 * t[1] + ? "s" + : "ns"; + })(d, e); + v && + ((o.interval = l[a]), + (o.intervalPix = d), + (o.region = v)); + } + } + if (t.ordinal && !o.region) { + var g = t.unitTickvals, + m = t.unitToPaddedPx.invert(e); + for (r = 0; r < g.length; r++) { + var x = [ + 0.25 * g[Math.max(r - 1, 0)] + 0.75 * g[r], + 0.25 * g[Math.min(r + 1, g.length - 1)] + + 0.75 * g[r], + ]; + if (m >= x[0] && m <= x[1]) { + o.clickableOrdinalRange = x; + break; + } + } + } + return o; + } + function w(t, e) { + i.event.sourceEvent.stopPropagation(); + var r = + e.height - i.mouse(t)[1] - 2 * n.verticalPadding, + a = e.brush.svgBrush; + (a.wasDragged = !0), + (a._dragging = !0), + a.grabbingBar + ? (a.newExtent = [ + r - a.grabPoint, + r + a.barLength - a.grabPoint, + ].map(e.unitToPaddedPx.invert)) + : (a.newExtent = [ + a.startExtent, + e.unitToPaddedPx.invert(r), + ].sort(s)), + (e.brush.filterSpecified = !0), + (a.extent = a.stayingIntervals.concat([a.newExtent])), + a.brushCallback(e), + b(t.parentNode); + } + function T(t, e) { + var r = _( + e, + e.height - i.mouse(t)[1] - 2 * n.verticalPadding, + ), + a = "crosshair"; + r.clickableOrdinalRange + ? (a = "pointer") + : r.region && (a = r.region + "-resize"), + i.select(document.body).style("cursor", a); + } + function k(t) { + t.on("mousemove", function (t) { + i.event.preventDefault(), + t.parent.inBrushDrag || T(this, t); + }) + .on("mouseleave", function (t) { + t.parent.inBrushDrag || m(); + }) + .call( + i.behavior + .drag() + .on("dragstart", function (t) { + !(function (t, e) { + i.event.sourceEvent.stopPropagation(); + var r = + e.height - + i.mouse(t)[1] - + 2 * n.verticalPadding, + a = e.unitToPaddedPx.invert(r), + o = e.brush, + s = _(e, r), + l = s.interval, + u = o.svgBrush; + if ( + ((u.wasDragged = !1), + (u.grabbingBar = "ns" === s.region), + u.grabbingBar) + ) { + var c = l.map(e.unitToPaddedPx); + (u.grabPoint = + r - c[0] - n.verticalPadding), + (u.barLength = c[1] - c[0]); + } + (u.clickableOrdinalRange = + s.clickableOrdinalRange), + (u.stayingIntervals = + e.multiselect && o.filterSpecified + ? o.filter.getConsolidated() + : []), + l && + (u.stayingIntervals = + u.stayingIntervals.filter(function (t) { + return t[0] !== l[0] && t[1] !== l[1]; + })), + (u.startExtent = s.region + ? l["s" === s.region ? 1 : 0] + : a), + (e.parent.inBrushDrag = !0), + u.brushStartCallback(); + })(this, t); + }) + .on("drag", function (t) { + w(this, t); + }) + .on("dragend", function (t) { + !(function (t, e) { + var r = e.brush, + n = r.filter, + a = r.svgBrush; + a._dragging || + (T(t, e), + w(t, e), + (e.brush.svgBrush.wasDragged = !1)), + (a._dragging = !1), + i.event.sourceEvent.stopPropagation(); + var o = a.grabbingBar; + if ( + ((a.grabbingBar = !1), + (a.grabLocation = void 0), + (e.parent.inBrushDrag = !1), + m(), + !a.wasDragged) + ) + return ( + (a.wasDragged = void 0), + a.clickableOrdinalRange + ? r.filterSpecified && e.multiselect + ? a.extent.push( + a.clickableOrdinalRange, + ) + : ((a.extent = [ + a.clickableOrdinalRange, + ]), + (r.filterSpecified = !0)) + : o + ? ((a.extent = a.stayingIntervals), + 0 === a.extent.length && M(r)) + : M(r), + a.brushCallback(e), + b(t.parentNode), + void a.brushEndCallback( + r.filterSpecified + ? n.getConsolidated() + : [], + ) + ); + var s = function () { + n.set(n.getConsolidated()); + }; + if (e.ordinal) { + var l = e.unitTickvals; + l[l.length - 1] < l[0] && l.reverse(), + (a.newExtent = [ + p( + 0, + l, + a.newExtent[0], + a.stayingIntervals, + ), + p( + 1, + l, + a.newExtent[1], + a.stayingIntervals, + ), + ]); + var u = a.newExtent[1] > a.newExtent[0]; + (a.extent = a.stayingIntervals.concat( + u ? [a.newExtent] : [], + )), + a.extent.length || M(r), + a.brushCallback(e), + u + ? b(t.parentNode, s) + : (s(), b(t.parentNode)); + } else s(); + a.brushEndCallback( + r.filterSpecified + ? n.getConsolidated() + : [], + ); + })(this, t); + }), + ); + } + function A(t, e) { + return t[0] - e[0]; + } + function M(t) { + (t.filterSpecified = !1), + (t.svgBrush.extent = [[-1 / 0, 1 / 0]]); + } + function S(t) { + for (var e, r = t.slice(), n = [], i = r.shift(); i; ) { + for (e = i.slice(); (i = r.shift()) && i[0] <= e[1]; ) + e[1] = Math.max(e[1], i[1]); + n.push(e); + } + return ( + 1 === n.length && n[0][0] > n[0][1] && (n = []), n + ); + } + t.exports = { + makeBrush: function (t, e, r, n, i, a) { + var o, + l = (function () { + var t, + e, + r = []; + return { + set: function (n) { + 1 === + (r = n + .map(function (t) { + return t.slice().sort(s); + }) + .sort(A)).length && + r[0][0] === -1 / 0 && + r[0][1] === 1 / 0 && + (r = [[0, -1]]), + (t = S(r)), + (e = r.reduce( + function (t, e) { + return [ + Math.min(t[0], e[0]), + Math.max(t[1], e[1]), + ]; + }, + [1 / 0, -1 / 0], + )); + }, + get: function () { + return r.slice(); + }, + getConsolidated: function () { + return t; + }, + getBounds: function () { + return e; + }, + }; + })(); + return ( + l.set(r), + { + filter: l, + filterSpecified: e, + svgBrush: { + extent: [], + brushStartCallback: n, + brushCallback: + ((o = i), + function (t) { + var e = t.brush, + r = (function (t) { + return t.svgBrush.extent.map( + function (t) { + return t.slice(); + }, + ); + })(e), + n = r.slice(); + e.filter.set(n), o(); + }), + brushEndCallback: a, + }, + } + ); + }, + ensureAxisBrush: function (t, e, r) { + var i = t.selectAll("." + n.cn.axisBrush).data(o, a); + i.enter().append("g").classed(n.cn.axisBrush, !0), + (function (t, e, r) { + var i = r._context.staticPlot, + a = t.selectAll(".background").data(o); + a + .enter() + .append("rect") + .classed("background", !0) + .call(d) + .call(v) + .style("pointer-events", i ? "none" : "auto") + .attr("transform", l(0, n.verticalPadding)), + a.call(k).attr("height", function (t) { + return t.height - n.verticalPadding; + }); + var s = t.selectAll(".highlight-shadow").data(o); + s + .enter() + .append("line") + .classed("highlight-shadow", !0) + .attr("x", -n.bar.width / 2) + .attr( + "stroke-width", + n.bar.width + n.bar.strokeWidth, + ) + .attr("stroke", e) + .attr("opacity", n.bar.strokeOpacity) + .attr("stroke-linecap", "butt"), + s + .attr("y1", function (t) { + return t.height; + }) + .call(x); + var u = t.selectAll(".highlight").data(o); + u + .enter() + .append("line") + .classed("highlight", !0) + .attr("x", -n.bar.width / 2) + .attr( + "stroke-width", + n.bar.width - n.bar.strokeWidth, + ) + .attr("stroke", n.bar.fillColor) + .attr("opacity", n.bar.fillOpacity) + .attr("stroke-linecap", "butt"), + u + .attr("y1", function (t) { + return t.height; + }) + .call(x); + })(i, e, r); + }, + cleanRanges: function (t, e) { + if ( + (Array.isArray(t[0]) + ? ((t = t.map(function (t) { + return t.sort(s); + })), + (t = e.multiselect ? S(t.sort(A)) : [t[0]])) + : (t = [t.sort(s)]), + e.tickvals) + ) { + var r = e.tickvals.slice().sort(s); + if ( + !(t = t + .map(function (t) { + var e = [ + p(0, r, t[0], []), + p(1, r, t[1], []), + ]; + if (e[1] > e[0]) return e; + }) + .filter(function (t) { + return t; + })).length + ) + return; + } + return t.length > 1 ? t : t[0]; + }, + }; + }, + 71791: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(73362), + supplyDefaults: r(3633), + calc: r(24639), + colorbar: { + container: "line", + min: "cmin", + max: "cmax", + }, + moduleType: "trace", + name: "parcoords", + basePlotModule: r(49351), + categories: ["gl", "regl", "noOpacity", "noHover"], + meta: {}, + }; + }, + 49351: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(27659).a0, + a = r(21341), + o = r(77922); + (e.name = "parcoords"), + (e.plot = function (t) { + var e = i(t.calcdata, "parcoords")[0]; + e.length && a(t, e); + }), + (e.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()); + }), + (e.toSVG = function (t) { + var e = t._fullLayout._glimages, + r = n.select(t).selectAll(".svg-container"); + r + .filter(function (t, e) { + return e === r.size() - 1; + }) + .selectAll(".gl-canvas-context, .gl-canvas-focus") + .each(function () { + var t = this, + r = t.toDataURL("image/png"); + e.append("svg:image").attr({ + xmlns: o.svg, + "xlink:href": r, + preserveAspectRatio: "none", + x: 0, + y: 0, + width: t.style.width, + height: t.style.height, + }); + }), + window.setTimeout(function () { + n.selectAll("#filterBarPattern").attr( + "id", + "filterBarPattern", + ); + }, 60); + }); + }, + 24639: function (t, e, r) { + "use strict"; + var n = r(71828).isArrayOrTypedArray, + i = r(21081), + a = r(28984).wrap; + t.exports = function (t, e) { + var r, o; + return ( + i.hasColorscale(e, "line") && n(e.line.color) + ? ((r = e.line.color), + (o = i.extractOpts(e.line).colorscale), + i.calc(t, e, { + vals: r, + containerStr: "line", + cLetter: "c", + })) + : ((r = (function (t) { + for (var e = new Array(t), r = 0; r < t; r++) + e[r] = 0.5; + return e; + })(e._length)), + (o = [ + [0, e.line.color], + [1, e.line.color], + ])), + a({ lineColor: r, cscale: o }) + ); + }; + }, + 25706: function (t) { + "use strict"; + t.exports = { + maxDimensionCount: 60, + overdrag: 45, + verticalPadding: 2, + tickDistance: 50, + canvasPixelRatio: 1, + blockLineCount: 5e3, + layers: [ + "contextLineLayer", + "focusLineLayer", + "pickLineLayer", + ], + axisTitleOffset: 28, + axisExtentOffset: 10, + bar: { + width: 4, + captureWidth: 10, + fillColor: "magenta", + fillOpacity: 1, + snapDuration: 150, + snapRatio: 0.25, + snapClose: 0.01, + strokeOpacity: 1, + strokeWidth: 1, + handleHeight: 8, + 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" }, + }; + }, + 3633: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(52075).hasColorscale, + a = r(1586), + o = r(27670).c, + s = r(85501), + l = r(89298), + u = r(73362), + c = r(57920), + f = r(25706).maxDimensionCount, + h = r(94397); + function p(t, e, r, i) { + function a(r, i) { + return n.coerce(t, e, u.dimensions, r, i); + } + var o = a("values"), + s = a("visible"); + if (((o && o.length) || (s = e.visible = !1), s)) { + a("label"), + a("tickvals"), + a("ticktext"), + a("tickformat"); + var f = a("range"); + (e._ax = { + _id: "y", + type: "linear", + showexponent: "all", + exponentformat: "B", + range: f, + }), + l.setConvert(e._ax, i.layout), + a("multiselect"); + var h = a("constraintrange"); + h && (e.constraintrange = c.cleanRanges(h, e)); + } + } + t.exports = function (t, e, r, l) { + function c(r, i) { + return n.coerce(t, e, u, r, i); + } + var d = t.dimensions; + Array.isArray(d) && + d.length > f && + (n.log( + "parcoords traces support up to " + + f + + " dimensions at the moment", + ), + d.splice(f)); + var v = s(t, e, { + name: "dimensions", + layout: l, + handleItemDefaults: p, + }), + g = (function (t, e, r, o, s) { + var l = s("line.color", r); + if (i(t, "line") && n.isArrayOrTypedArray(l)) { + if (l.length) + return ( + s("line.colorscale"), + a(t, e, o, s, { + prefix: "line.", + cLetter: "c", + }), + l.length + ); + e.line.color = r; + } + return 1 / 0; + })(t, e, r, l, c); + o(e, l, c), + (Array.isArray(v) && v.length) || (e.visible = !1), + h(e, v, "values", g); + var y = { + family: l.font.family, + size: Math.round(l.font.size / 1.2), + color: l.font.color, + }; + n.coerceFont(c, "labelfont", y), + n.coerceFont(c, "tickfont", y), + n.coerceFont(c, "rangefont", y), + c("labelangle"), + c("labelside"), + c("unselected.line.color"), + c("unselected.line.opacity"); + }; + }, + 1602: function (t, e, r) { + "use strict"; + var n = r(71828).isTypedArray; + (e.convertTypedArray = function (t) { + return n(t) ? Array.prototype.slice.call(t) : t; + }), + (e.isOrdinal = function (t) { + return !!t.tickvals; + }), + (e.isVisible = function (t) { + return t.visible || !("visible" in t); + }); + }, + 67618: function (t, e, r) { + "use strict"; + var n = r(71791); + (n.plot = r(21341)), (t.exports = n); + }, + 83398: function (t, e, r) { + "use strict"; + var n = r(56068), + i = n([ + "precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\n p17_20, p21_24, p25_28, p29_32,\n p33_36, p37_40, p41_44, p45_48,\n p49_52, p53_56, p57_60, colors;\n\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\nuniform float maskHeight;\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\nuniform vec4 contextColor;\nuniform sampler2D maskTexture, palette;\n\nbool isPick = (drwLayer > 1.5);\nbool isContext = (drwLayer < 0.5);\n\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * UNITS, UNITS);\n}\n\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\n float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\n float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\n return y1 * (1.0 - ratio) + y2 * ratio;\n}\n\nint iMod(int a, int b) {\n return a - b * (a / b);\n}\n\nbool fOutside(float p, float lo, float hi) {\n return (lo < hi) && (lo > p || p > hi);\n}\n\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\n return (\n fOutside(p[0], lo[0], hi[0]) ||\n fOutside(p[1], lo[1], hi[1]) ||\n fOutside(p[2], lo[2], hi[2]) ||\n fOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\n return (\n vOutside(p[0], lo[0], hi[0]) ||\n vOutside(p[1], lo[1], hi[1]) ||\n vOutside(p[2], lo[2], hi[2]) ||\n vOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\n return mOutside(A, loA, hiA) ||\n mOutside(B, loB, hiB) ||\n mOutside(C, loC, hiC) ||\n mOutside(D, loD, hiD);\n}\n\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\n mat4 pnts[4];\n pnts[0] = A;\n pnts[1] = B;\n pnts[2] = C;\n pnts[3] = D;\n\n for(int i = 0; i < 4; ++i) {\n for(int j = 0; j < 4; ++j) {\n for(int k = 0; k < 4; ++k) {\n if(0 == iMod(\n int(255.0 * texture2D(maskTexture,\n vec2(\n (float(i * 2 + j / 2) + 0.5) / 8.0,\n (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\n ))[3]\n ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\n 2\n )) return true;\n }\n }\n }\n return false;\n}\n\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\n float x = 0.5 * sign(v) + 0.5;\n float y = axisY(x, A, B, C, D);\n float z = 1.0 - abs(v);\n\n z += isContext ? 0.0 : 2.0 * float(\n outsideBoundingBox(A, B, C, D) ||\n outsideRasterMask(A, B, C, D)\n );\n\n return vec4(\n 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\n z,\n 1.0\n );\n}\n\nvoid main() {\n mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\n mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\n mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\n mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\n\n float v = colors[3];\n\n gl_Position = position(isContext, v, A, B, C, D);\n\n fragColor =\n isContext ? vec4(contextColor) :\n isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\n}\n", + ]), + a = n([ + "precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}\n", + ]), + o = r(25706).maxDimensionCount, + s = r(71828), + l = new Uint8Array(4), + u = new Uint8Array(4), + c = { + shape: [256, 1], + format: "rgba", + type: "uint8", + mag: "nearest", + min: "nearest", + }; + function f(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 h(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: l, + }); + })(t), + (r.drawCompleted = !0)), + (function s(l) { + var u = Math.min(n, i - l * n); + 0 === l && + (window.cancelAnimationFrame(r.currentRafs[o]), + delete r.currentRafs[o], + f( + t, + a.scissorX, + a.scissorY, + a.scissorWidth, + a.viewBoxSize[1], + )), + r.clearOnly || + ((a.count = 2 * u), + (a.offset = 2 * l * n), + e(a), + l * n + u < i && + (r.currentRafs[o] = + window.requestAnimationFrame(function () { + s(l + 1); + })), + (r.drawCompleted = !1)); + })(0); + } + function p(t, e) { + for (var r = new Array(256), n = 0; n < 256; n++) + r[n] = t(n / 255).concat(e); + return r; + } + function d(t, e) { + return ((t >>> (8 * e)) % 256) / 255; + } + function v(t, e, r) { + for (var n = new Array(8 * e), i = 0, a = 0; a < e; a++) + for (var o = 0; o < 2; o++) + for (var s = 0; s < 4; s++) { + var l = 4 * t + s, + u = r[64 * a + l]; + 63 === l && 0 === o && (u *= -1), (n[i++] = u); + } + return n; + } + function g(t) { + var e = "0" + t; + return e.substr(e.length - 2); + } + function y(t) { + return t < o + ? "p" + g(t + 1) + "_" + g(t + 4) + : "colors"; + } + function m(t, e, r, n, i, a, o, l, u, c, f, h, p, d) { + for (var v = [[], []], g = 0; g < 64; g++) + (v[0][g] = g === i ? 1 : 0), + (v[1][g] = g === a ? 1 : 0); + (o *= d), (l *= d), (u *= d), (c *= d); + var y = t.lines.canvasOverdrag * d, + m = t.domain, + x = t.canvasWidth * d, + b = t.canvasHeight * d, + _ = t.pad.l * d, + w = t.pad.b * d, + T = t.layoutHeight * d, + k = t.layoutWidth * d, + A = t.deselectedLines.color, + M = t.deselectedLines.opacity; + return s.extendFlat( + { + key: f, + resolution: [x, b], + viewBoxPos: [o + y, l], + viewBoxSize: [u, c], + i0: i, + i1: a, + dim0A: v[0].slice(0, 16), + dim0B: v[0].slice(16, 32), + dim0C: v[0].slice(32, 48), + dim0D: v[0].slice(48, 64), + dim1A: v[1].slice(0, 16), + dim1B: v[1].slice(16, 32), + dim1C: v[1].slice(32, 48), + dim1D: v[1].slice(48, 64), + drwLayer: h, + contextColor: [ + A[0] / 255, + A[1] / 255, + A[2] / 255, + "auto" !== M + ? A[3] * M + : Math.max( + 1 / 255, + Math.pow(1 / t.lines.color.length, 1 / 3), + ), + ], + scissorX: + (n === e ? 0 : o + y) + (_ - y) + k * m.x[0], + scissorWidth: + (n === r ? x - o + y : u + 0.5) + + (n === e ? o + y : 0), + scissorY: l + w + T * m.y[0], + scissorHeight: c, + viewportX: _ - y + k * m.x[0], + viewportY: w + T * m.y[0], + viewportWidth: x, + viewportHeight: b, + }, + p, + ); + } + function x(t) { + var e = 2047, + r = Math.max(0, Math.floor(t[0] * e), 0), + n = Math.min(e, Math.ceil(t[1] * e), e); + return [Math.min(r, n), Math.max(r, n)]; + } + t.exports = function (t, e) { + var r, + n, + l, + g, + b, + _ = e.context, + w = e.pick, + T = e.regl, + k = T._gl, + A = k.getParameter(k.ALIASED_LINE_WIDTH_RANGE), + M = Math.max( + A[0], + Math.min(A[1], e.viewModel.plotGlPixelRatio), + ), + S = { + currentRafs: {}, + drawCompleted: !0, + clearOnly: !1, + }, + E = (function (t) { + for (var e = {}, r = 0; r <= o; r += 4) + e[y(r)] = t.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(0), + }); + return e; + })(T), + L = T.texture(c), + C = []; + P(e); + var O = T({ + profile: !1, + blend: { + enable: _, + 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: !_, + mask: !0, + func: "less", + range: [0, 1], + }, + cull: { enable: !0, face: "back" }, + scissor: { + enable: !0, + box: { + x: T.prop("scissorX"), + y: T.prop("scissorY"), + width: T.prop("scissorWidth"), + height: T.prop("scissorHeight"), + }, + }, + viewport: { + x: T.prop("viewportX"), + y: T.prop("viewportY"), + width: T.prop("viewportWidth"), + height: T.prop("viewportHeight"), + }, + dither: !1, + vert: i, + frag: a, + primitive: "lines", + lineWidth: M, + attributes: E, + uniforms: { + resolution: T.prop("resolution"), + viewBoxPos: T.prop("viewBoxPos"), + viewBoxSize: T.prop("viewBoxSize"), + dim0A: T.prop("dim0A"), + dim1A: T.prop("dim1A"), + dim0B: T.prop("dim0B"), + dim1B: T.prop("dim1B"), + dim0C: T.prop("dim0C"), + dim1C: T.prop("dim1C"), + dim0D: T.prop("dim0D"), + dim1D: T.prop("dim1D"), + loA: T.prop("loA"), + hiA: T.prop("hiA"), + loB: T.prop("loB"), + hiB: T.prop("hiB"), + loC: T.prop("loC"), + hiC: T.prop("hiC"), + loD: T.prop("loD"), + hiD: T.prop("hiD"), + palette: L, + contextColor: T.prop("contextColor"), + maskTexture: T.prop("maskTexture"), + drwLayer: T.prop("drwLayer"), + maskHeight: T.prop("maskHeight"), + }, + offset: T.prop("offset"), + count: T.prop("count"), + }); + function P(t) { + (r = t.model), + (n = t.viewModel), + (l = n.dimensions.slice()), + (g = l[0] ? l[0].values.length : 0); + var e = r.lines, + i = w + ? e.color.map(function (t, r) { + return r / e.color.length; + }) + : e.color, + a = (function (t, e, r) { + for ( + var n, i = new Array(t * (o + 4)), a = 0, s = 0; + s < t; + s++ + ) { + for (var l = 0; l < o; l++) + i[a++] = + l < e.length + ? e[l].paddedUnitValues[s] + : 0.5; + (i[a++] = d(s, 2)), + (i[a++] = d(s, 1)), + (i[a++] = d(s, 0)), + (i[a++] = + ((n = r[s]), + Math.max(1e-6, Math.min(0.999999, n)))); + } + return i; + })(g, l, i); + !(function (t, e, r) { + for (var n = 0; n <= o; n += 4) + t[y(n)](v(n / 4, e, r)); + })(E, g, a), + _ || + w || + (L = T.texture( + s.extendFlat( + { data: p(r.unitToColor, 255) }, + c, + ), + )); + } + return { + render: function (t, e, n) { + var i, + a, + o, + s = t.length, + u = 1 / 0, + c = -1 / 0; + for (i = 0; i < s; i++) + t[i].dim0.canvasX < u && + ((u = t[i].dim0.canvasX), (a = i)), + t[i].dim1.canvasX > c && + ((c = t[i].dim1.canvasX), (o = i)); + 0 === s && + f(T, 0, 0, r.canvasWidth, r.canvasHeight); + var p = (function (t) { + var e, + r, + n, + i = [[], []]; + for (n = 0; n < 64; n++) { + var a = + !t && n < l.length + ? l[n].brush.filter.getBounds() + : [-1 / 0, 1 / 0]; + (i[0][n] = a[0]), (i[1][n] = a[1]); + } + var o = new Array(16384); + for (e = 0; e < 16384; e++) o[e] = 255; + if (!t) + for (e = 0; e < l.length; e++) { + var s = e % 8, + u = (e - s) / 8, + c = Math.pow(2, s), + f = l[e].brush.filter.get(); + if (!(f.length < 2)) { + var h = x(f[0])[1]; + for (r = 1; r < f.length; r++) { + var p = x(f[r]); + for (n = h + 1; n < p[0]; n++) + o[8 * n + u] &= ~c; + h = Math.max(h, p[1]); + } + } + } + var d = { + shape: [8, 2048], + format: "alpha", + type: "uint8", + mag: "nearest", + min: "nearest", + data: o, + }; + return ( + b ? b(d) : (b = T.texture(d)), + { + maskTexture: b, + maskHeight: 2048, + loA: i[0].slice(0, 16), + loB: i[0].slice(16, 32), + loC: i[0].slice(32, 48), + loD: i[0].slice(48, 64), + hiA: i[1].slice(0, 16), + hiB: i[1].slice(16, 32), + hiC: i[1].slice(32, 48), + hiD: i[1].slice(48, 64), + } + ); + })(_); + for (i = 0; i < s; i++) { + var d = t[i], + v = d.dim0.crossfilterDimensionIndex, + y = d.dim1.crossfilterDimensionIndex, + k = d.canvasX, + A = d.canvasY, + M = k + d.panelSizeX, + E = d.plotGlPixelRatio; + if ( + e || + !C[v] || + C[v][0] !== k || + C[v][1] !== M + ) { + C[v] = [k, M]; + var L = m( + r, + a, + o, + i, + v, + y, + k, + A, + d.panelSizeX, + d.panelSizeY, + d.dim0.crossfilterDimensionIndex, + _ ? 0 : w ? 2 : 1, + p, + E, + ); + S.clearOnly = n; + var P = e ? r.lines.blockLineCount : g; + h(T, O, S, P, g, L); + } + } + }, + readPixel: function (t, e) { + return ( + T.read({ + x: t, + y: e, + width: 1, + height: 1, + data: u, + }), + u + ); + }, + readPixels: function (t, e, r, n) { + var i = new Uint8Array(4 * r * n); + return ( + T.read({ + x: t, + y: e, + width: r, + height: n, + data: i, + }), + i + ); + }, + destroy: function () { + for (var e in ((t.style["pointer-events"] = "none"), + L.destroy(), + b && b.destroy(), + E)) + E[e].destroy(); + }, + update: P, + }; + }; + }, + 94397: function (t) { + "use strict"; + t.exports = function (t, e, r, n) { + var i, a; + for (n || (n = 1 / 0), i = 0; i < e.length; i++) + (a = e[i]).visible && (n = Math.min(n, a[r].length)); + for ( + n === 1 / 0 && (n = 0), t._length = n, i = 0; + i < e.length; + i++ + ) + (a = e[i]).visible && (a._length = n); + return n; + }; + }, + 17171: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = i.numberFormat, + o = r(36652), + s = r(89298), + l = i.strRotate, + u = i.strTranslate, + c = r(63893), + f = r(91424), + h = r(21081), + p = r(28984), + d = p.keyFun, + v = p.repeat, + g = p.unwrap, + y = r(1602), + m = r(25706), + x = r(57920), + b = r(83398); + function _(t, e, r) { + return i.aggNums(t, null, e, r); + } + function w(t, e) { + return k(_(Math.min, t, e), _(Math.max, t, e)); + } + function T(t) { + var e = t.range; + return e ? k(e[0], e[1]) : w(t.values, t._length); + } + function k(t, e) { + return ( + (!isNaN(t) && isFinite(t)) || (t = 0), + (!isNaN(e) && isFinite(e)) || (e = 0), + t === e && + (0 === t + ? ((t -= 1), (e += 1)) + : ((t *= 0.9), (e *= 1.1))), + [t, e] + ); + } + function A(t, e, r, i, o) { + var s, + l, + u = T(r); + return i + ? n.scale + .ordinal() + .domain( + i.map( + ((s = a(r.tickformat)), + (l = o), + l + ? function (t, e) { + var r = l[e]; + return null == r ? s(t) : r; + } + : s), + ), + ) + .range( + i.map(function (r) { + var n = (r - u[0]) / (u[1] - u[0]); + return t - e + n * (2 * e - t); + }), + ) + : n.scale + .linear() + .domain(u) + .range([t - e, e]); + } + function M(t) { + if (t.tickvals) { + var e = T(t); + return n.scale + .ordinal() + .domain(t.tickvals) + .range( + t.tickvals.map(function (t) { + return (t - e[0]) / (e[1] - e[0]); + }), + ); + } + } + function S(t) { + var e = t.map(function (t) { + return t[0]; + }), + r = t.map(function (t) { + var e = o(t[1]); + return n.rgb( + "rgb(" + e[0] + "," + e[1] + "," + e[2] + ")", + ); + }), + i = "rgb".split("").map(function (t) { + return n.scale + .linear() + .clamp(!0) + .domain(e) + .range( + r.map( + ((i = t), + function (t) { + return t[i]; + }), + ), + ); + var i; + }); + return function (t) { + return i.map(function (e) { + return e(t); + }); + }; + } + function E(t) { + return t.dimensions.some(function (t) { + return t.brush.filterSpecified; + }); + } + function L(t, e, r) { + var a = g(e), + s = a.trace, + l = y.convertTypedArray(a.lineColor), + u = s.line, + c = { + color: o(s.unselected.line.color), + opacity: s.unselected.line.opacity, + }, + f = h.extractOpts(u), + p = f.reversescale ? h.flipScale(a.cscale) : a.cscale, + d = s.domain, + v = s.dimensions, + x = t.width, + b = s.labelangle, + _ = s.labelside, + w = s.labelfont, + k = s.tickfont, + A = s.rangefont, + M = i.extendDeepNoArrays({}, u, { + color: l.map( + n.scale + .linear() + .domain( + T({ + values: l, + range: [f.min, f.max], + _length: s._length, + }), + ), + ), + blockLineCount: m.blockLineCount, + canvasOverdrag: m.overdrag * m.canvasPixelRatio, + }), + E = Math.floor(x * (d.x[1] - d.x[0])), + L = Math.floor(t.height * (d.y[1] - d.y[0])), + C = t.margin || { l: 80, r: 80, t: 100, b: 80 }, + O = E, + P = L; + return { + key: r, + colCount: v.filter(y.isVisible).length, + dimensions: v, + tickDistance: m.tickDistance, + unitToColor: S(p), + lines: M, + deselectedLines: c, + labelAngle: b, + labelSide: _, + labelFont: w, + tickFont: k, + rangeFont: A, + layoutWidth: x, + layoutHeight: t.height, + domain: d, + translateX: d.x[0] * x, + translateY: t.height - d.y[1] * t.height, + pad: C, + canvasWidth: + O * m.canvasPixelRatio + 2 * M.canvasOverdrag, + canvasHeight: P * m.canvasPixelRatio, + width: O, + height: P, + canvasPixelRatio: m.canvasPixelRatio, + }; + } + function C(t, e, r) { + var o = r.width, + s = r.height, + l = r.dimensions, + u = r.canvasPixelRatio, + c = function (t) { + return (o * t) / Math.max(1, r.colCount - 1); + }, + f = m.verticalPadding / s, + h = (function (t, e) { + return n.scale.linear().range([e, t - e]); + })(s, m.verticalPadding), + p = { + key: r.key, + xScale: c, + model: r, + inBrushDrag: !1, + }, + d = {}; + return ( + (p.dimensions = l + .filter(y.isVisible) + .map(function (o, l) { + var v = (function (t, e) { + return n.scale + .linear() + .domain(T(t)) + .range([e, 1 - e]); + })(o, f), + g = d[o.label]; + d[o.label] = (g || 0) + 1; + var b = o.label + (g ? "__" + g : ""), + _ = o.constraintrange, + w = _ && _.length; + w && !Array.isArray(_[0]) && (_ = [_]); + var k = w + ? _.map(function (t) { + return t.map(v); + }) + : [[-1 / 0, 1 / 0]], + S = o.values; + S.length > o._length && + (S = S.slice(0, o._length)); + var L, + C = o.tickvals; + function O(t, e) { + return { val: t, text: L[e] }; + } + function P(t, e) { + return t.val - e.val; + } + if (Array.isArray(C) && C.length) { + (L = o.ticktext), + Array.isArray(L) && L.length + ? L.length > C.length + ? (L = L.slice(0, C.length)) + : C.length > L.length && + (C = C.slice(0, L.length)) + : (L = C.map(a(o.tickformat))); + for (var I = 1; I < C.length; I++) + if (C[I] < C[I - 1]) { + for ( + var D = C.map(O).sort(P), z = 0; + z < C.length; + z++ + ) + (C[z] = D[z].val), (L[z] = D[z].text); + break; + } + } else C = void 0; + return ( + (S = y.convertTypedArray(S)), + { + key: b, + label: o.label, + tickFormat: o.tickformat, + tickvals: C, + ticktext: L, + ordinal: y.isOrdinal(o), + multiselect: o.multiselect, + xIndex: l, + crossfilterDimensionIndex: l, + visibleIndex: o._index, + height: s, + values: S, + paddedUnitValues: S.map(v), + unitTickvals: C && C.map(v), + xScale: c, + x: c(l), + canvasX: c(l) * u, + unitToPaddedPx: h, + domainScale: A(s, m.verticalPadding, o, C, L), + ordinalScale: M(o), + parent: p, + model: r, + brush: x.makeBrush( + t, + w, + k, + function () { + t.linePickActive(!1); + }, + function () { + var e = p; + e.focusLayer && + e.focusLayer.render(e.panels, !0); + var r = E(e); + !t.contextShown() && r + ? (e.contextLayer && + e.contextLayer.render(e.panels, !0), + t.contextShown(!0)) + : t.contextShown() && + !r && + (e.contextLayer && + e.contextLayer.render( + e.panels, + !0, + !0, + ), + t.contextShown(!1)); + }, + function (r) { + if ( + (p.focusLayer.render(p.panels, !0), + p.pickLayer && + p.pickLayer.render(p.panels, !0), + t.linePickActive(!0), + e && e.filterChanged) + ) { + var n = v.invert, + a = r + .map(function (t) { + return t.map(n).sort(i.sorterAsc); + }) + .sort(function (t, e) { + return t[0] - e[0]; + }); + e.filterChanged(p.key, o._index, a); + } + }, + ), + } + ); + })), + p + ); + } + function O(t) { + t.classed(m.cn.axisExtentText, !0) + .attr("text-anchor", "middle") + .style("cursor", "default"); + } + function P(t, e) { + var r = "top" === e ? 1 : -1, + n = (t * Math.PI) / 180; + return { + dir: r, + dx: Math.sin(n), + dy: Math.cos(n), + degrees: t, + }; + } + function I(t, e, r) { + for ( + var n = e.panels || (e.panels = []), + i = t.data(), + a = 0; + a < i.length - 1; + a++ + ) { + var o = n[a] || (n[a] = {}), + s = i[a], + l = i[a + 1]; + (o.dim0 = s), + (o.dim1 = l), + (o.canvasX = s.canvasX), + (o.panelSizeX = l.canvasX - s.canvasX), + (o.panelSizeY = e.model.canvasHeight), + (o.y = 0), + (o.canvasY = 0), + (o.plotGlPixelRatio = r); + } + } + function D(t, e) { + return s.tickText(t._ax, e, !1).text; + } + function z(t, e) { + if (t.ordinal) return ""; + var r = t.domainScale.domain(), + n = r[e ? r.length - 1 : 0]; + return D(t.model.dimensions[t.visibleIndex], n); + } + t.exports = function (t, e, r, a) { + var o = t._context.staticPlot, + h = t._fullLayout, + p = h._toppaper, + _ = h._glcontainer, + T = t._context.plotGlPixelRatio, + A = t._fullLayout.paper_bgcolor; + !(function (t) { + for (var e = 0; e < t.length; e++) + for (var r = 0; r < t[e].length; r++) + for ( + var n = t[e][r].trace, i = n.dimensions, a = 0; + a < i.length; + a++ + ) { + var o = i[a].values, + l = i[a]._ax; + l && + (l.range + ? (l.range = k(l.range[0], l.range[1])) + : (l.range = w(o, n._length)), + l.dtick || + (l.dtick = + 0.01 * + (Math.abs(l.range[1] - l.range[0]) || 1)), + (l.tickformat = i[a].tickformat), + s.calcTicks(l), + l.cleanRange()); + } + })(e); + var M, + S, + R = + ((M = !0), + (S = !1), + { + linePickActive: function (t) { + return arguments.length ? (M = !!t) : M; + }, + contextShown: function (t) { + return arguments.length ? (S = !!t) : S; + }, + }), + F = e + .filter(function (t) { + return g(t).trace.visible; + }) + .map(L.bind(0, r)) + .map(C.bind(0, R, a)); + _.each(function (t, e) { + return i.extendFlat(t, F[e]); + }); + var B = _.selectAll(".gl-canvas").each(function (t) { + (t.viewModel = F[0]), + (t.viewModel.plotGlPixelRatio = T), + (t.viewModel.paperColor = A), + (t.model = t.viewModel + ? t.viewModel.model + : null); + }), + N = null; + B.filter(function (t) { + return t.pick; + }) + .style("pointer-events", o ? "none" : "auto") + .on("mousemove", function (t) { + if ( + R.linePickActive() && + t.lineLayer && + a && + a.hover + ) { + var e = n.event, + r = this.width, + i = this.height, + o = n.mouse(this), + s = o[0], + l = o[1]; + if (s < 0 || l < 0 || s >= r || l >= i) return; + var u = t.lineLayer.readPixel(s, i - 1 - l), + c = 0 !== u[3], + f = c ? u[2] + 256 * (u[1] + 256 * u[0]) : null, + h = { + x: s, + y: l, + clientX: e.clientX, + clientY: e.clientY, + dataIndex: t.model.key, + curveNumber: f, + }; + f !== N && + (c ? a.hover(h) : a.unhover && a.unhover(h), + (N = f)); + } + }), + B.style("opacity", function (t) { + return t.pick ? 0 : 1; + }), + p.style("background", "rgba(255, 255, 255, 0)"); + var j = p.selectAll("." + m.cn.parcoords).data(F, d); + j.exit().remove(), + j + .enter() + .append("g") + .classed(m.cn.parcoords, !0) + .style("shape-rendering", "crispEdges") + .style("pointer-events", "none"), + j.attr("transform", function (t) { + return u(t.model.translateX, t.model.translateY); + }); + var U = j + .selectAll("." + m.cn.parcoordsControlView) + .data(v, d); + U.enter() + .append("g") + .classed(m.cn.parcoordsControlView, !0), + U.attr("transform", function (t) { + return u(t.model.pad.l, t.model.pad.t); + }); + var V = U.selectAll("." + m.cn.yAxis).data(function ( + t, + ) { + return t.dimensions; + }, d); + V.enter().append("g").classed(m.cn.yAxis, !0), + U.each(function (t) { + I(V, t, T); + }), + B.each(function (t) { + if (t.viewModel) { + !t.lineLayer || a + ? (t.lineLayer = b(this, t)) + : t.lineLayer.update(t), + (t.key || 0 === t.key) && + (t.viewModel[t.key] = t.lineLayer); + var e = !t.context || a; + t.lineLayer.render(t.viewModel.panels, e); + } + }), + V.attr("transform", function (t) { + return u(t.xScale(t.xIndex), 0); + }), + V.call( + n.behavior + .drag() + .origin(function (t) { + return t; + }) + .on("drag", function (t) { + var e = t.parent; + R.linePickActive(!1), + (t.x = Math.max( + -m.overdrag, + Math.min( + t.model.width + m.overdrag, + n.event.x, + ), + )), + (t.canvasX = t.x * t.model.canvasPixelRatio), + V.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); + }), + I(V, e, T), + V.filter(function (e) { + return 0 !== Math.abs(t.xIndex - e.xIndex); + }).attr("transform", function (t) { + return u(t.xScale(t.xIndex), 0); + }), + n.select(this).attr("transform", u(t.x, 0)), + V.each(function (r, n, i) { + i === t.parent.key && (e.dimensions[n] = r); + }), + e.contextLayer && + e.contextLayer.render(e.panels, !1, !E(e)), + e.focusLayer.render && + e.focusLayer.render(e.panels); + }) + .on("dragend", function (t) { + var e = t.parent; + (t.x = t.xScale(t.xIndex)), + (t.canvasX = t.x * t.model.canvasPixelRatio), + I(V, e, T), + n + .select(this) + .attr("transform", function (t) { + return u(t.x, 0); + }), + e.contextLayer && + e.contextLayer.render(e.panels, !1, !E(e)), + e.focusLayer && e.focusLayer.render(e.panels), + e.pickLayer && + e.pickLayer.render(e.panels, !0), + R.linePickActive(!0), + a && + a.axesMoved && + a.axesMoved( + e.key, + e.dimensions.map(function (t) { + return t.crossfilterDimensionIndex; + }), + ); + }), + ), + V.exit().remove(); + var H = V.selectAll("." + m.cn.axisOverlays).data(v, d); + H.enter().append("g").classed(m.cn.axisOverlays, !0), + H.selectAll("." + m.cn.axis).remove(); + var q = H.selectAll("." + m.cn.axis).data(v, d); + q.enter().append("g").classed(m.cn.axis, !0), + q.each(function (t) { + var e = t.model.height / t.model.tickDistance, + r = t.domainScale, + i = r.domain(); + n.select(this).call( + n.svg + .axis() + .orient("left") + .tickSize(4) + .outerTickSize(2) + .ticks(e, t.tickFormat) + .tickValues(t.ordinal ? i : null) + .tickFormat(function (e) { + return y.isOrdinal(t) + ? e + : D(t.model.dimensions[t.visibleIndex], e); + }) + .scale(r), + ), + f.font(q.selectAll("text"), t.model.tickFont); + }), + q + .selectAll(".domain, .tick>line") + .attr("fill", "none") + .attr("stroke", "black") + .attr("stroke-opacity", 0.25) + .attr("stroke-width", "1px"), + q + .selectAll("text") + .style("text-shadow", c.makeTextShadow(A)) + .style("cursor", "default"); + var G = H.selectAll("." + m.cn.axisHeading).data(v, d); + G.enter().append("g").classed(m.cn.axisHeading, !0); + var Z = G.selectAll("." + m.cn.axisTitle).data(v, d); + Z.enter() + .append("text") + .classed(m.cn.axisTitle, !0) + .attr("text-anchor", "middle") + .style("cursor", "ew-resize") + .style("pointer-events", o ? "none" : "auto"), + Z.text(function (t) { + return t.label; + }) + .each(function (e) { + var r = n.select(this); + f.font(r, e.model.labelFont), + c.convertToTspans(r, t); + }) + .attr("transform", function (t) { + var e = P(t.model.labelAngle, t.model.labelSide), + r = m.axisTitleOffset; + return ( + (e.dir > 0 + ? "" + : u(0, 2 * r + t.model.height)) + + l(e.degrees) + + u(-r * e.dx, -r * e.dy) + ); + }) + .attr("text-anchor", function (t) { + var e = P(t.model.labelAngle, t.model.labelSide); + return 2 * Math.abs(e.dx) > Math.abs(e.dy) + ? e.dir * e.dx < 0 + ? "start" + : "end" + : "middle"; + }); + var W = H.selectAll("." + m.cn.axisExtent).data(v, d); + W.enter().append("g").classed(m.cn.axisExtent, !0); + var Y = W.selectAll("." + m.cn.axisExtentTop).data( + v, + d, + ); + Y.enter().append("g").classed(m.cn.axisExtentTop, !0), + Y.attr("transform", u(0, -m.axisExtentOffset)); + var X = Y.selectAll("." + m.cn.axisExtentTopText).data( + v, + d, + ); + X.enter() + .append("text") + .classed(m.cn.axisExtentTopText, !0) + .call(O), + X.text(function (t) { + return z(t, !0); + }).each(function (t) { + f.font(n.select(this), t.model.rangeFont); + }); + var J = W.selectAll("." + m.cn.axisExtentBottom).data( + v, + d, + ); + J.enter() + .append("g") + .classed(m.cn.axisExtentBottom, !0), + J.attr("transform", function (t) { + return u(0, t.model.height + m.axisExtentOffset); + }); + var K = J.selectAll( + "." + m.cn.axisExtentBottomText, + ).data(v, d); + K.enter() + .append("text") + .classed(m.cn.axisExtentBottomText, !0) + .attr("dy", "0.75em") + .call(O), + K.text(function (t) { + return z(t, !1); + }).each(function (t) { + f.font(n.select(this), t.model.rangeFont); + }), + x.ensureAxisBrush(H, A, t); + }; + }, + 21341: function (t, e, r) { + "use strict"; + var n = r(17171), + i = r(79749), + a = r(1602).isVisible, + o = {}; + function s(t, e, r) { + var n = e.indexOf(r), + i = t.indexOf(n); + return -1 === i && (i += e.length), i; + } + (t.exports = function (t, e) { + var r = t._fullLayout; + if (i(t, [], o)) { + var l = {}, + u = {}, + c = {}, + f = {}, + h = r._size; + e.forEach(function (e, r) { + var n = e[0].trace; + c[r] = n.index; + var i = (f[r] = n._fullInput.index); + (l[r] = t.data[i].dimensions), + (u[r] = t.data[i].dimensions.slice()); + }), + n( + t, + e, + { + width: h.w, + height: h.h, + margin: { t: h.t, r: h.r, b: h.b, l: h.l }, + }, + { + filterChanged: function (e, n, i) { + var a = u[e][n], + o = i.map(function (t) { + return t.slice(); + }), + s = "dimensions[" + n + "].constraintrange", + l = + r._tracePreGUI[ + t._fullData[c[e]]._fullInput.uid + ]; + if (void 0 === l[s]) { + var h = a.constraintrange; + l[s] = h || null; + } + var p = t._fullData[c[e]].dimensions[n]; + o.length + ? (1 === o.length && (o = o[0]), + (a.constraintrange = o), + (p.constraintrange = o.slice()), + (o = [o])) + : (delete a.constraintrange, + delete p.constraintrange, + (o = null)); + var d = {}; + (d[s] = o), + t.emit("plotly_restyle", [d, [f[e]]]); + }, + hover: function (e) { + t.emit("plotly_hover", e); + }, + unhover: function (e) { + t.emit("plotly_unhover", e); + }, + axesMoved: function (e, r) { + var n = (function (t, e) { + return function (r, n) { + return s(t, e, r) - s(t, e, n); + }; + })(r, u[e].filter(a)); + l[e].sort(n), + u[e] + .filter(function (t) { + return !a(t); + }) + .sort(function (t) { + return u[e].indexOf(t); + }) + .forEach(function (t) { + l[e].splice(l[e].indexOf(t), 1), + l[e].splice(u[e].indexOf(t), 0, t); + }), + t.emit("plotly_restyle", [ + { dimensions: [l[e]] }, + [f[e]], + ]); + }, + }, + ); + } + }).reglPrecompiled = o; + }, + 34e3: function (t, e, r) { + "use strict"; + var n = r(9012), + i = r(27670).Y, + a = r(41940), + o = r(22399), + s = r(5386).fF, + l = r(5386).si, + u = r(1426).extendFlat, + c = r(79952).u, + f = a({ + editType: "plot", + arrayOk: !0, + colorEditType: "plot", + }); + t.exports = { + 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: o.defaultLine, + arrayOk: !0, + editType: "style", + }, + width: { + valType: "number", + min: 0, + dflt: 0, + arrayOk: !0, + editType: "style", + }, + editType: "calc", + }, + pattern: c, + editType: "calc", + }, + text: { valType: "data_array", editType: "plot" }, + 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: u({}, n.hoverinfo, { + flags: ["label", "text", "value", "percent", "name"], + }), + hovertemplate: s( + {}, + { + keys: [ + "label", + "color", + "value", + "percent", + "text", + ], + }, + ), + texttemplate: l( + { editType: "plot" }, + { + keys: [ + "label", + "color", + "value", + "percent", + "text", + ], + }, + ), + textposition: { + valType: "enumerated", + values: ["inside", "outside", "auto", "none"], + dflt: "auto", + arrayOk: !0, + editType: "plot", + }, + textfont: u({}, f, {}), + insidetextorientation: { + valType: "enumerated", + values: [ + "horizontal", + "radial", + "tangential", + "auto", + ], + dflt: "auto", + editType: "plot", + }, + insidetextfont: u({}, f, {}), + outsidetextfont: u({}, f, {}), + automargin: { + valType: "boolean", + dflt: !1, + editType: "plot", + }, + title: { + text: { + valType: "string", + dflt: "", + editType: "plot", + }, + font: u({}, f, {}), + position: { + valType: "enumerated", + values: [ + "top left", + "top center", + "top right", + "middle center", + "bottom left", + "bottom center", + "bottom right", + ], + editType: "plot", + }, + editType: "plot", + }, + domain: i({ 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: "angle", + dflt: 0, + editType: "calc", + }, + pull: { + valType: "number", + min: 0, + max: 1, + dflt: 0, + arrayOk: !0, + editType: "calc", + }, + _deprecated: { + title: { + valType: "string", + dflt: "", + editType: "calc", + }, + titlefont: u({}, f, {}), + titleposition: { + valType: "enumerated", + values: [ + "top left", + "top center", + "top right", + "middle center", + "bottom left", + "bottom center", + "bottom right", + ], + editType: "calc", + }, + }, + }; + }, + 13584: function (t, e, r) { + "use strict"; + var n = r(74875); + (e.name = "pie"), + (e.plot = function (t, r, i, a) { + n.plotBasePlot(e.name, t, r, i, a); + }), + (e.clean = function (t, r, i, a) { + n.cleanBasePlot(e.name, t, r, i, a); + }); + }, + 32354: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(84267), + a = r(7901), + o = {}; + function s(t) { + return function (e, r) { + return ( + !!e && + !!(e = i(e)).isValid() && + ((e = a.addOpacity(e, e.getAlpha())), + t[r] || (t[r] = e), + e) + ); + }; + } + function l(t, e) { + var r, + n = JSON.stringify(t), + a = e[n]; + if (!a) { + for (a = t.slice(), r = 0; r < t.length; r++) + a.push(i(t[r]).lighten(20).toHexString()); + for (r = 0; r < t.length; r++) + a.push(i(t[r]).darken(20).toHexString()); + e[n] = a; + } + return a; + } + t.exports = { + calc: function (t, e) { + var r, + i, + a = [], + o = t._fullLayout, + l = o.hiddenlabels || [], + u = e.labels, + c = e.marker.colors || [], + f = e.values, + h = e._length, + p = e._hasValues && h; + if (e.dlabel) + for (u = new Array(h), r = 0; r < h; r++) + u[r] = String(e.label0 + r * e.dlabel); + var d = {}, + v = s(o["_" + e.type + "colormap"]), + g = 0, + y = !1; + for (r = 0; r < h; r++) { + var m, x, b; + if (p) { + if (((m = f[r]), !n(m))) continue; + m = +m; + } else m = 1; + (void 0 !== (x = u[r]) && "" !== x) || (x = r); + var _ = d[(x = String(x))]; + void 0 === _ + ? ((d[x] = a.length), + (b = -1 !== l.indexOf(x)) || (g += m), + a.push({ + v: m, + label: x, + color: v(c[r], x), + i: r, + pts: [r], + hidden: b, + })) + : ((y = !0), + ((i = a[_]).v += m), + i.pts.push(r), + i.hidden || (g += m), + !1 === i.color && + c[r] && + (i.color = v(c[r], x))); + } + return ( + (a = a.filter(function (t) { + return t.v >= 0; + })), + ("funnelarea" === e.type ? y : e.sort) && + a.sort(function (t, e) { + return e.v - t.v; + }), + a[0] && (a[0].vTotal = g), + a + ); + }, + crossTraceCalc: function (t, e) { + var r = (e || {}).type; + r || (r = "pie"); + var n = t._fullLayout, + i = t.calcdata, + a = n[r + "colorway"], + s = n["_" + r + "colormap"]; + n["extend" + r + "colors"] && (a = l(a, o)); + for (var u = 0, c = 0; c < i.length; c++) { + var f = i[c]; + if (f[0].trace.type === r) + for (var h = 0; h < f.length; h++) { + var p = f[h]; + !1 === p.color && + (s[p.label] + ? (p.color = s[p.label]) + : ((s[p.label] = p.color = a[u % a.length]), + u++)); + } + } + }, + makePullColorFn: s, + generateExtendedColors: l, + }; + }, + 37434: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(34e3), + o = r(27670).c, + s = r(90769).handleText, + l = r(71828).coercePattern; + function u(t, e) { + var r = Array.isArray(t), + a = i.isArrayOrTypedArray(e), + o = Math.min( + r ? t.length : 1 / 0, + a ? e.length : 1 / 0, + ); + if ((isFinite(o) || (o = 0), o && a)) { + for (var s, l = 0; l < o; l++) { + var u = e[l]; + if (n(u) && u > 0) { + s = !0; + break; + } + } + s || (o = 0); + } + return { hasLabels: r, hasValues: a, len: o }; + } + function c(t, e, r, n, i) { + n("marker.line.width") && + n("marker.line.color", i ? void 0 : r.paper_bgcolor); + var a = n("marker.colors"); + l(n, "marker.pattern", a), + t.marker && + !e.marker.pattern.fgcolor && + (e.marker.pattern.fgcolor = t.marker.colors), + e.marker.pattern.bgcolor || + (e.marker.pattern.bgcolor = r.paper_bgcolor); + } + t.exports = { + handleLabelsAndValues: u, + handleMarkerDefaults: c, + supplyDefaults: function (t, e, r, n) { + function l(r, n) { + return i.coerce(t, e, a, r, n); + } + var f = u(l("labels"), l("values")), + h = f.len; + if ( + ((e._hasLabels = f.hasLabels), + (e._hasValues = f.hasValues), + !e._hasLabels && + e._hasValues && + (l("label0"), l("dlabel")), + h) + ) { + (e._length = h), c(t, e, n, l, !0), l("scalegroup"); + var p, + d = l("text"), + v = l("texttemplate"); + if ( + (v || + (p = l( + "textinfo", + Array.isArray(d) ? "text+percent" : "percent", + )), + l("hovertext"), + l("hovertemplate"), + v || (p && "none" !== p)) + ) { + var g = l("textposition"); + s(t, e, n, l, g, { + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !1, + moduleHasCliponaxis: !1, + moduleHasTextangle: !1, + moduleHasInsideanchor: !1, + }), + (Array.isArray(g) || + "auto" === g || + "outside" === g) && + l("automargin"), + ("inside" === g || + "auto" === g || + Array.isArray(g)) && + l("insidetextorientation"); + } + o(e, n, l); + var y = l("hole"); + if (l("title.text")) { + var m = l( + "title.position", + y ? "middle center" : "top center", + ); + y || + "middle center" !== m || + (e.title.position = "top center"), + i.coerceFont(l, "title.font", n.font); + } + l("sort"), l("direction"), l("rotation"), l("pull"); + } else e.visible = !1; + }, + }; + }, + 20007: function (t, e, r) { + "use strict"; + var n = r(23469).appendArrayMultiPointValues; + t.exports = 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, + percent: t.percent, + text: t.text, + bbox: t.bbox, + v: t.v, + }; + return ( + 1 === t.pts.length && + (r.pointNumber = r.i = t.pts[0]), + n(r, e, t.pts), + "funnelarea" === e.type && (delete r.v, delete r.i), + r + ); + }; + }, + 22209: function (t, e, r) { + "use strict"; + var n = r(91424), + i = r(7901); + t.exports = function (t, e, r, a) { + var o = r.marker.pattern; + o && o.shape + ? n.pointStyle(t, r, a, e) + : i.fill(t, e.color); + }; + }, + 53581: function (t, e, r) { + "use strict"; + var n = r(71828); + function i(t) { + return -1 !== t.indexOf("e") + ? t.replace(/[.]?0+e/, "e") + : -1 !== t.indexOf(".") + ? t.replace(/[.]?0+$/, "") + : t; + } + (e.formatPiePercent = function (t, e) { + var r = i((100 * t).toPrecision(3)); + return n.numSeparate(r, e) + "%"; + }), + (e.formatPieValue = function (t, e) { + var r = i(t.toPrecision(10)); + return n.numSeparate(r, e); + }), + (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 || "" === n) return n; + } + }), + (e.castOption = function (t, r) { + return Array.isArray(t) + ? e.getFirstFilled(t, r) + : t || void 0; + }), + (e.getRotationAngle = function (t) { + return (("auto" === t ? 0 : t) * Math.PI) / 180; + }); + }, + 58810: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(34e3), + supplyDefaults: r(37434).supplyDefaults, + supplyLayoutDefaults: r(92097), + layoutAttributes: r(92774), + calc: r(32354).calc, + crossTraceCalc: r(32354).crossTraceCalc, + plot: r(14575).plot, + style: r(68357), + styleOne: r(63463), + moduleType: "trace", + name: "pie", + basePlotModule: r(13584), + categories: ["pie-like", "pie", "showLegend"], + meta: {}, + }; + }, + 92774: function (t) { + "use strict"; + t.exports = { + hiddenlabels: { + valType: "data_array", + editType: "calc", + }, + piecolorway: { valType: "colorlist", editType: "calc" }, + extendpiecolors: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + }; + }, + 92097: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(92774); + t.exports = function (t, e) { + function r(r, a) { + return n.coerce(t, e, i, r, a); + } + r("hiddenlabels"), + r("piecolorway", e.colorway), + r("extendpiecolors"); + }; + }, + 14575: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(74875), + a = r(30211), + o = r(7901), + s = r(91424), + l = r(71828), + u = l.strScale, + c = l.strTranslate, + f = r(63893), + h = r(72597), + p = h.recordMinTextSize, + d = h.clearMinTextSize, + v = r(97313).TEXTPAD, + g = r(53581), + y = r(20007), + m = r(71828).isValidTextValue; + function x(t, e, r) { + var i = r[0], + o = i.cx, + s = i.cy, + u = i.trace, + c = "funnelarea" === u.type; + "_hasHoverLabel" in u || (u._hasHoverLabel = !1), + "_hasHoverEvent" in u || (u._hasHoverEvent = !1), + t.on("mouseover", function (t) { + var r = e._fullLayout, + f = e._fullData[u.index]; + if (!e._dragging && !1 !== r.hovermode) { + var h = f.hoverinfo; + if ( + (Array.isArray(h) && + (h = a.castHoverinfo( + { + hoverinfo: [g.castOption(h, t.pts)], + _module: u._module, + }, + r, + 0, + )), + "all" === h && + (h = "label+text+value+percent+name"), + f.hovertemplate || + ("none" !== h && "skip" !== h && h)) + ) { + var p = t.rInscribed || 0, + d = o + t.pxmid[0] * (1 - p), + v = s + t.pxmid[1] * (1 - p), + m = r.separators, + x = []; + if ( + (h && + -1 !== h.indexOf("label") && + x.push(t.label), + (t.text = g.castOption( + f.hovertext || f.text, + t.pts, + )), + h && -1 !== h.indexOf("text")) + ) { + var b = t.text; + l.isValidTextValue(b) && x.push(b); + } + (t.value = t.v), + (t.valueLabel = g.formatPieValue(t.v, m)), + h && + -1 !== h.indexOf("value") && + x.push(t.valueLabel), + (t.percent = t.v / i.vTotal), + (t.percentLabel = g.formatPiePercent( + t.percent, + m, + )), + h && + -1 !== h.indexOf("percent") && + x.push(t.percentLabel); + var _ = f.hoverlabel, + w = _.font, + T = []; + a.loneHover( + { + trace: u, + x0: d - p * i.r, + x1: d + p * i.r, + y: v, + _x0: c ? o + t.TL[0] : d - p * i.r, + _x1: c ? o + t.TR[0] : d + p * i.r, + _y0: c ? s + t.TL[1] : v - p * i.r, + _y1: c ? s + t.BL[1] : v + p * i.r, + text: x.join("
"), + name: + f.hovertemplate || + -1 !== h.indexOf("name") + ? f.name + : void 0, + idealAlign: + t.pxmid[0] < 0 ? "left" : "right", + color: + g.castOption(_.bgcolor, t.pts) || t.color, + borderColor: g.castOption( + _.bordercolor, + t.pts, + ), + fontFamily: g.castOption(w.family, t.pts), + fontSize: g.castOption(w.size, t.pts), + fontColor: g.castOption(w.color, t.pts), + nameLength: g.castOption( + _.namelength, + t.pts, + ), + textAlign: g.castOption(_.align, t.pts), + hovertemplate: g.castOption( + f.hovertemplate, + t.pts, + ), + hovertemplateLabels: t, + eventData: [y(t, f)], + }, + { + container: r._hoverlayer.node(), + outerContainer: r._paper.node(), + gd: e, + inOut_bbox: T, + }, + ), + (t.bbox = T[0]), + (u._hasHoverLabel = !0); + } + (u._hasHoverEvent = !0), + e.emit("plotly_hover", { + points: [y(t, f)], + event: n.event, + }); + } + }), + t.on("mouseout", function (t) { + var r = e._fullLayout, + i = e._fullData[u.index], + o = n.select(this).datum(); + u._hasHoverEvent && + ((t.originalEvent = n.event), + e.emit("plotly_unhover", { + points: [y(o, i)], + event: n.event, + }), + (u._hasHoverEvent = !1)), + u._hasHoverLabel && + (a.loneUnhover(r._hoverlayer.node()), + (u._hasHoverLabel = !1)); + }), + t.on("click", function (t) { + var r = e._fullLayout, + i = e._fullData[u.index]; + e._dragging || + !1 === r.hovermode || + ((e._hoverdata = [y(t, i)]), a.click(e, n.event)); + }); + } + function b(t, e, r) { + var n = g.castOption(t.insidetextfont.color, e.pts); + !n && + t._input.textfont && + (n = g.castOption(t._input.textfont.color, e.pts)); + var i = + g.castOption(t.insidetextfont.family, e.pts) || + g.castOption(t.textfont.family, e.pts) || + r.family, + a = + g.castOption(t.insidetextfont.size, e.pts) || + g.castOption(t.textfont.size, e.pts) || + r.size; + return { + color: n || o.contrast(e.color), + family: i, + size: a, + }; + } + function _(t, e) { + for (var r, n, i = 0; i < t.length; i++) + if ((n = (r = t[i][0]).trace).title.text) { + var a = n.title.text; + n._meta && (a = l.templateString(a, n._meta)); + var o = s.tester + .append("text") + .attr("data-notex", 1) + .text(a) + .call(s.font, n.title.font) + .call(f.convertToTspans, e), + u = s.bBox(o.node(), !0); + (r.titleBox = { width: u.width, height: u.height }), + o.remove(); + } + } + function w(t, e, r) { + var n = r.r || e.rpx1, + i = e.rInscribed; + if (e.startangle === e.stopangle) + return { + rCenter: 1 - i, + scale: 0, + rotate: 0, + textPosAngle: 0, + }; + var a, + o = e.ring, + s = + 1 === o && + Math.abs(e.startangle - e.stopangle) === + 2 * Math.PI, + l = e.halfangle, + u = e.midangle, + c = r.trace.insidetextorientation, + f = "horizontal" === c, + h = "tangential" === c, + p = "radial" === c, + d = "auto" === c, + v = []; + if (!d) { + var g, + y = function (r, i) { + if ( + (function (t, e) { + var r = t.startangle, + n = t.stopangle; + return (r > e && e > n) || (r < e && e < n); + })(e, r) + ) { + var s = Math.abs(r - e.startangle), + l = Math.abs(r - e.stopangle), + u = s < l ? s : l; + ((a = + "tan" === i + ? k(t, n, o, u, 0) + : T(t, n, o, u, Math.PI / 2)).textPosAngle = + r), + v.push(a); + } + }; + if (f || h) { + for (g = 4; g >= -4; g -= 2) y(Math.PI * g, "tan"); + for (g = 4; g >= -4; g -= 2) + y(Math.PI * (g + 1), "tan"); + } + if (f || p) { + for (g = 4; g >= -4; g -= 2) + y(Math.PI * (g + 1.5), "rad"); + for (g = 4; g >= -4; g -= 2) + y(Math.PI * (g + 0.5), "rad"); + } + } + if (s || d || f) { + var m = Math.sqrt( + t.width * t.width + t.height * t.height, + ); + if ( + (((a = { + scale: (i * n * 2) / m, + rCenter: 1 - i, + rotate: 0, + }).textPosAngle = (e.startangle + e.stopangle) / 2), + a.scale >= 1) + ) + return a; + v.push(a); + } + (d || p) && + (((a = T(t, n, o, l, u)).textPosAngle = + (e.startangle + e.stopangle) / 2), + v.push(a)), + (d || h) && + (((a = k(t, n, o, l, u)).textPosAngle = + (e.startangle + e.stopangle) / 2), + v.push(a)); + for (var x = 0, b = 0, _ = 0; _ < v.length; _++) { + var w = v[_].scale; + if ((b < w && ((b = w), (x = _)), !d && b >= 1)) + break; + } + return v[x]; + } + function T(t, e, r, n, i) { + e = Math.max(0, e - 2 * v); + var a = t.width / t.height, + o = S(a, n, e, r); + return { + scale: (2 * o) / t.height, + rCenter: A(a, o / e), + rotate: M(i), + }; + } + function k(t, e, r, n, i) { + e = Math.max(0, e - 2 * v); + var a = t.height / t.width, + o = S(a, n, e, r); + return { + scale: (2 * o) / t.width, + rCenter: A(a, o / e), + rotate: M(i + Math.PI / 2), + }; + } + function A(t, e) { + return Math.cos(e) - t * e; + } + function M(t) { + return (((180 / Math.PI) * t + 720) % 180) - 90; + } + function S(t, e, r, n) { + var i = t + 1 / (2 * Math.tan(e)); + return ( + r * + Math.min( + 1 / (Math.sqrt(i * i + 0.5) + i), + n / (Math.sqrt(t * t + n / 2) + t), + ) + ); + } + function E(t, e) { + return t.v !== e.vTotal || e.trace.hole + ? Math.min( + 1 / (1 + 1 / Math.sin(t.halfangle)), + t.ring / 2, + ) + : 1; + } + function L(t, e) { + var r = e.pxmid[0], + n = e.pxmid[1], + i = t.width / 2, + a = t.height / 2; + return ( + r < 0 && (i *= -1), + n < 0 && (a *= -1), + { + scale: 1, + rCenter: 1, + rotate: 0, + x: i + (Math.abs(a) * (i > 0 ? 1 : -1)) / 2, + y: a / (1 + (r * r) / (n * n)), + outside: !0, + } + ); + } + function C(t, e) { + var r, + n, + i, + a = t.trace, + o = { x: t.cx, y: t.cy }, + s = { tx: 0, ty: 0 }; + (s.ty += a.title.font.size), + (i = P(a)), + -1 !== a.title.position.indexOf("top") + ? ((o.y -= (1 + i) * t.r), + (s.ty -= t.titleBox.height)) + : -1 !== a.title.position.indexOf("bottom") && + (o.y += (1 + i) * t.r); + var l, + u = + t.r / + (void 0 === (l = t.trace.aspectratio) ? 1 : l), + c = (e.w * (a.domain.x[1] - a.domain.x[0])) / 2; + return ( + -1 !== a.title.position.indexOf("left") + ? ((c += u), + (o.x -= (1 + i) * u), + (s.tx += t.titleBox.width / 2)) + : -1 !== a.title.position.indexOf("center") + ? (c *= 2) + : -1 !== a.title.position.indexOf("right") && + ((c += u), + (o.x += (1 + i) * u), + (s.tx -= t.titleBox.width / 2)), + (r = c / t.titleBox.width), + (n = O(t, e) / t.titleBox.height), + { + x: o.x, + y: o.y, + scale: Math.min(r, n), + tx: s.tx, + ty: s.ty, + } + ); + } + function O(t, e) { + var r = t.trace, + n = e.h * (r.domain.y[1] - r.domain.y[0]); + return Math.min(t.titleBox.height, n / 2); + } + function P(t) { + var e, + r = t.pull; + if (!r) return 0; + if (Array.isArray(r)) + for (r = 0, e = 0; e < t.pull.length; e++) + t.pull[e] > r && (r = t.pull[e]); + return r; + } + function I(t, e) { + for (var r = [], n = 0; n < t.length; n++) { + var i = t[n][0], + a = i.trace, + o = a.domain, + s = e.w * (o.x[1] - o.x[0]), + l = e.h * (o.y[1] - o.y[0]); + a.title.text && + "middle center" !== a.title.position && + (l -= O(i, e)); + var u = s / 2, + c = l / 2; + "funnelarea" !== a.type || + a.scalegroup || + (c /= a.aspectratio), + (i.r = Math.min(u, c) / (1 + P(a))), + (i.cx = + e.l + + (e.w * (a.domain.x[1] + a.domain.x[0])) / 2), + (i.cy = e.t + e.h * (1 - a.domain.y[0]) - l / 2), + a.title.text && + -1 !== a.title.position.indexOf("bottom") && + (i.cy -= O(i, e)), + a.scalegroup && + -1 === r.indexOf(a.scalegroup) && + r.push(a.scalegroup); + } + !(function (t, e) { + for (var r, n, i, a = 0; a < e.length; a++) { + var o = 1 / 0, + s = e[a]; + for (n = 0; n < t.length; n++) + if ((i = (r = t[n][0]).trace).scalegroup === s) { + var l; + if ("pie" === i.type) l = r.r * r.r; + else if ("funnelarea" === i.type) { + var u, c; + i.aspectratio > 1 + ? (c = (u = r.r) / i.aspectratio) + : (u = (c = r.r) * i.aspectratio), + (l = (u *= (1 + i.baseratio) / 2) * c); + } + o = Math.min(o, l / r.vTotal); + } + for (n = 0; n < t.length; n++) + if ((i = (r = t[n][0]).trace).scalegroup === s) { + var f = o * r.vTotal; + "funnelarea" === i.type && + ((f /= (1 + i.baseratio) / 2), + (f /= i.aspectratio)), + (r.r = Math.sqrt(f)); + } + } + })(t, r); + } + function D(t, e) { + return [t * Math.sin(e), -t * Math.cos(e)]; + } + function z(t, e, r) { + var n = t._fullLayout, + i = r.trace, + a = i.texttemplate, + o = i.textinfo; + if (!a && o && "none" !== o) { + var s, + u = o.split("+"), + c = function (t) { + return -1 !== u.indexOf(t); + }, + f = c("label"), + h = c("text"), + p = c("value"), + d = c("percent"), + v = n.separators; + if (((s = f ? [e.label] : []), h)) { + var y = g.getFirstFilled(i.text, e.pts); + m(y) && s.push(y); + } + p && s.push(g.formatPieValue(e.v, v)), + d && s.push(g.formatPiePercent(e.v / r.vTotal, v)), + (e.text = s.join("
")); + } + if (a) { + var x = l.castOption(i, e.i, "texttemplate"); + if (x) { + var b = (function (t) { + return { + label: t.label, + value: t.v, + valueLabel: g.formatPieValue( + t.v, + n.separators, + ), + percent: t.v / r.vTotal, + percentLabel: g.formatPiePercent( + t.v / r.vTotal, + n.separators, + ), + color: t.color, + text: t.text, + customdata: l.castOption( + i, + t.i, + "customdata", + ), + }; + })(e), + _ = g.getFirstFilled(i.text, e.pts); + (m(_) || "" === _) && (b.text = _), + (e.text = l.texttemplateString( + x, + b, + t._fullLayout._d3locale, + b, + i._meta || {}, + )); + } else e.text = ""; + } + } + function R(t, e) { + var r = (t.rotate * Math.PI) / 180, + n = Math.cos(r), + i = Math.sin(r), + a = (e.left + e.right) / 2, + o = (e.top + e.bottom) / 2; + (t.textX = a * n - o * i), + (t.textY = a * i + o * n), + (t.noCenter = !0); + } + t.exports = { + plot: function (t, e) { + var r = t._context.staticPlot, + a = t._fullLayout, + h = a._size; + d("pie", a), _(e, t), I(e, h); + var v = l + .makeTraceGroups(a._pielayer, e, "trace") + .each(function (e) { + var d = n.select(this), + v = e[0], + y = v.trace; + !(function (t) { + var e, + r, + n, + i = t[0], + a = i.r, + o = i.trace, + s = g.getRotationAngle(o.rotation), + l = (2 * Math.PI) / i.vTotal, + u = "px0", + c = "px1"; + if ("counterclockwise" === o.direction) { + for (e = 0; e < t.length && t[e].hidden; e++); + if (e === t.length) return; + (s += l * t[e].v), + (l *= -1), + (u = "px1"), + (c = "px0"); + } + for (n = D(a, s), e = 0; e < t.length; e++) + (r = t[e]).hidden || + ((r[u] = n), + (r.startangle = s), + (s += (l * r.v) / 2), + (r.pxmid = D(a, s)), + (r.midangle = s), + (n = D(a, (s += (l * r.v) / 2))), + (r.stopangle = s), + (r[c] = n), + (r.largeArc = r.v > i.vTotal / 2 ? 1 : 0), + (r.halfangle = + Math.PI * Math.min(r.v / i.vTotal, 0.5)), + (r.ring = 1 - o.hole), + (r.rInscribed = E(r, i))); + })(e), + d.attr("stroke-linejoin", "round"), + d.each(function () { + var m = n + .select(this) + .selectAll("g.slice") + .data(e); + m.enter().append("g").classed("slice", !0), + m.exit().remove(); + var _ = [ + [[], []], + [[], []], + ], + T = !1; + m.each(function (i, o) { + if (i.hidden) + n.select(this) + .selectAll("path,g") + .remove(); + else { + (i.pointNumber = i.i), + (i.curveNumber = y.index), + _[i.pxmid[1] < 0 ? 0 : 1][ + i.pxmid[0] < 0 ? 0 : 1 + ].push(i); + var u = v.cx, + c = v.cy, + h = n.select(this), + d = h + .selectAll("path.surface") + .data([i]); + if ( + (d + .enter() + .append("path") + .classed("surface", !0) + .style({ + "pointer-events": r + ? "none" + : "all", + }), + h.call(x, t, e), + y.pull) + ) { + var m = + +g.castOption(y.pull, i.pts) || 0; + m > 0 && + ((u += m * i.pxmid[0]), + (c += m * i.pxmid[1])); + } + (i.cxFinal = u), (i.cyFinal = c); + var k = y.hole; + if (i.v === v.vTotal) { + var A = + "M" + + (u + i.px0[0]) + + "," + + (c + i.px0[1]) + + O(i.px0, i.pxmid, !0, 1) + + O(i.pxmid, i.px0, !0, 1) + + "Z"; + k + ? d.attr( + "d", + "M" + + (u + k * i.px0[0]) + + "," + + (c + k * i.px0[1]) + + O(i.px0, i.pxmid, !1, k) + + O(i.pxmid, i.px0, !1, k) + + "Z" + + A, + ) + : d.attr("d", A); + } else { + var M = O(i.px0, i.px1, !0, 1); + if (k) { + var S = 1 - k; + d.attr( + "d", + "M" + + (u + k * i.px1[0]) + + "," + + (c + k * i.px1[1]) + + O(i.px1, i.px0, !1, k) + + "l" + + S * i.px0[0] + + "," + + S * i.px0[1] + + M + + "Z", + ); + } else + d.attr( + "d", + "M" + + u + + "," + + c + + "l" + + i.px0[0] + + "," + + i.px0[1] + + M + + "Z", + ); + } + z(t, i, v); + var E = g.castOption( + y.textposition, + i.pts, + ), + C = h + .selectAll("g.slicetext") + .data( + i.text && "none" !== E ? [0] : [], + ); + C.enter() + .append("g") + .classed("slicetext", !0), + C.exit().remove(), + C.each(function () { + var r = l.ensureSingle( + n.select(this), + "text", + "", + function (t) { + t.attr("data-notex", 1); + }, + ), + h = l.ensureUniformFontSize( + t, + "outside" === E + ? (function (t, e, r) { + return { + color: + g.castOption( + t.outsidetextfont + .color, + e.pts, + ) || + g.castOption( + t.textfont.color, + e.pts, + ) || + r.color, + family: + g.castOption( + t.outsidetextfont + .family, + e.pts, + ) || + g.castOption( + t.textfont.family, + e.pts, + ) || + r.family, + size: + g.castOption( + t.outsidetextfont + .size, + e.pts, + ) || + g.castOption( + t.textfont.size, + e.pts, + ) || + r.size, + }; + })(y, i, a.font) + : b(y, i, a.font), + ); + r.text(i.text) + .attr({ + class: "slicetext", + transform: "", + "text-anchor": "middle", + }) + .call(s.font, h) + .call(f.convertToTspans, t); + var d, + m = s.bBox(r.node()); + if ("outside" === E) d = L(m, i); + else if ( + ((d = w(m, i, v)), + "auto" === E && d.scale < 1) + ) { + var x = l.ensureUniformFontSize( + t, + y.outsidetextfont, + ); + r.call(s.font, x), + (d = L( + (m = s.bBox(r.node())), + i, + )); + } + var _ = d.textPosAngle, + k = + void 0 === _ + ? i.pxmid + : D(v.r, _); + if ( + ((d.targetX = + u + + k[0] * d.rCenter + + (d.x || 0)), + (d.targetY = + c + + k[1] * d.rCenter + + (d.y || 0)), + R(d, m), + d.outside) + ) { + var A = d.targetY; + (i.yLabelMin = A - m.height / 2), + (i.yLabelMid = A), + (i.yLabelMax = A + m.height / 2), + (i.labelExtraX = 0), + (i.labelExtraY = 0), + (T = !0); + } + (d.fontSize = h.size), + p(y.type, d, a), + (e[o].transform = d), + l.setTransormAndDisplay(r, d); + }); + } + function O(t, e, r, n) { + var a = n * (e[0] - t[0]), + o = n * (e[1] - t[1]); + return ( + "a" + + n * v.r + + "," + + n * v.r + + " 0 " + + i.largeArc + + (r ? " 1 " : " 0 ") + + a + + "," + + o + ); + } + }); + var k = n + .select(this) + .selectAll("g.titletext") + .data(y.title.text ? [0] : []); + if ( + (k + .enter() + .append("g") + .classed("titletext", !0), + k.exit().remove(), + k.each(function () { + var e, + r = l.ensureSingle( + n.select(this), + "text", + "", + function (t) { + t.attr("data-notex", 1); + }, + ), + i = y.title.text; + y._meta && + (i = l.templateString(i, y._meta)), + r + .text(i) + .attr({ + class: "titletext", + transform: "", + "text-anchor": "middle", + }) + .call(s.font, y.title.font) + .call(f.convertToTspans, t), + (e = + "middle center" === y.title.position + ? (function (t) { + var e = Math.sqrt( + t.titleBox.width * + t.titleBox.width + + t.titleBox.height * + t.titleBox.height, + ); + return { + x: t.cx, + y: t.cy, + scale: + (t.trace.hole * t.r * 2) / + e, + tx: 0, + ty: + -t.titleBox.height / 2 + + t.trace.title.font.size, + }; + })(v) + : C(v, h)), + r.attr( + "transform", + c(e.x, e.y) + + u(Math.min(1, e.scale)) + + c(e.tx, e.ty), + ); + }), + T && + (function (t, e) { + var r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d; + function v(t, e) { + return t.pxmid[1] - e.pxmid[1]; + } + function y(t, e) { + return e.pxmid[1] - t.pxmid[1]; + } + function m(t, r) { + r || (r = {}); + var i, + u, + c, + h, + p = + r.labelExtraY + + (n ? r.yLabelMax : r.yLabelMin), + d = n ? t.yLabelMin : t.yLabelMax, + v = n ? t.yLabelMax : t.yLabelMin, + y = + t.cyFinal + o(t.px0[1], t.px1[1]), + m = p - d; + if ( + (m * l > 0 && (t.labelExtraY = m), + Array.isArray(e.pull)) + ) + for (u = 0; u < f.length; u++) + (c = f[u]) === t || + (g.castOption(e.pull, t.pts) || + 0) >= + (g.castOption( + e.pull, + c.pts, + ) || 0) || + ((t.pxmid[1] - c.pxmid[1]) * l > + 0 + ? (m = + c.cyFinal + + o(c.px0[1], c.px1[1]) - + d - + t.labelExtraY) * + l > + 0 && (t.labelExtraY += m) + : (v + t.labelExtraY - y) * + l > + 0 && + ((i = + 3 * + s * + Math.abs( + u - f.indexOf(t), + )), + (h = + c.cxFinal + + a(c.px0[0], c.px1[0]) + + i - + (t.cxFinal + t.pxmid[0]) - + t.labelExtraX) * + s > + 0 && + (t.labelExtraX += h))); + } + for (n = 0; n < 2; n++) + for ( + i = n ? v : y, + 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], + f = c.concat(u), + p = [], + h = 0; + h < u.length; + h++ + ) + void 0 !== u[h].yLabelMid && + p.push(u[h]); + for ( + d = !1, h = 0; + n && h < c.length; + h++ + ) + if (void 0 !== c[h].yLabelMid) { + d = c[h]; + break; + } + for (h = 0; h < p.length; h++) { + var x = h && p[h - 1]; + d && !h && (x = d), m(p[h], x); + } + } + })(_, y), + (function (t, e) { + t.each(function (t) { + var r = n.select(this); + if (t.labelExtraX || t.labelExtraY) { + var i = r.select("g.slicetext text"); + (t.transform.targetX += + t.labelExtraX), + (t.transform.targetY += + t.labelExtraY), + l.setTransormAndDisplay( + i, + t.transform, + ); + var a = t.cxFinal + t.pxmid[0], + s = + "M" + + a + + "," + + (t.cyFinal + t.pxmid[1]), + u = + ((t.yLabelMax - t.yLabelMin) * + (t.pxmid[0] < 0 ? -1 : 1)) / + 4; + if (t.labelExtraX) { + var c = + (t.labelExtraX * t.pxmid[1]) / + t.pxmid[0], + f = + t.yLabelMid + + t.labelExtraY - + (t.cyFinal + t.pxmid[1]); + Math.abs(c) > Math.abs(f) + ? (s += + "l" + + (f * t.pxmid[0]) / + t.pxmid[1] + + "," + + f + + "H" + + (a + t.labelExtraX + u)) + : (s += + "l" + + t.labelExtraX + + "," + + c + + "v" + + (f - c) + + "h" + + u); + } else + s += + "V" + + (t.yLabelMid + t.labelExtraY) + + "h" + + u; + l.ensureSingle(r, "path", "textline") + .call( + o.stroke, + e.outsidetextfont.color, + ) + .attr({ + "stroke-width": Math.min( + 2, + e.outsidetextfont.size / 8, + ), + d: s, + fill: "none", + }); + } else + r.select("path.textline").remove(); + }); + })(m, y), + T && y.automargin) + ) { + var A = s.bBox(d.node()), + M = y.domain, + S = h.w * (M.x[1] - M.x[0]), + E = h.h * (M.y[1] - M.y[0]), + O = (0.5 * S - v.r) / h.w, + P = (0.5 * E - v.r) / h.h; + i.autoMargin( + t, + "pie." + y.uid + ".automargin", + { + xl: M.x[0] - O, + xr: M.x[1] + O, + yb: M.y[0] - P, + yt: M.y[1] + P, + l: Math.max(v.cx - v.r - A.left, 0), + r: Math.max(A.right - (v.cx + v.r), 0), + b: Math.max(A.bottom - (v.cy + v.r), 0), + t: Math.max(v.cy - v.r - A.top, 0), + pad: 5, + }, + ); + } + }); + }); + setTimeout(function () { + v.selectAll("tspan").each(function () { + var t = n.select(this); + t.attr("dy") && t.attr("dy", t.attr("dy")); + }); + }, 0); + }, + formatSliceLabel: z, + transformInsideText: w, + determineInsideTextFont: b, + positionTitleOutside: C, + prerenderTitles: _, + layoutAreas: I, + attachFxHandlers: x, + computeTransform: R, + }; + }, + 68357: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(63463), + a = r(72597).resizeText; + t.exports = function (t) { + var e = t._fullLayout._pielayer.selectAll(".trace"); + a(t, e, "pie"), + e.each(function (e) { + var r = e[0].trace, + a = n.select(this); + a.style({ opacity: r.opacity }), + a.selectAll("path.surface").each(function (e) { + n.select(this).call(i, e, r, t); + }); + }); + }; + }, + 63463: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(53581).castOption, + a = r(22209); + t.exports = function (t, e, r, o) { + var s = r.marker.line, + l = i(s.color, e.pts) || n.defaultLine, + u = i(s.width, e.pts) || 0; + t.call(a, e, r, o) + .style("stroke-width", u) + .call(n.stroke, l); + }; + }, + 10959: function (t, e, r) { + "use strict"; + var n = r(82196); + t.exports = { + x: n.x, + y: n.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: n.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: 0.1, + max: 2, + dflt: 0.5, + editType: "calc", + }, + sizemax: { + valType: "number", + min: 0.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", + }, + transforms: void 0, + }; + }, + 42743: function (t, e, r) { + "use strict"; + var n = r(9330).gl_pointcloud2d, + i = r(78614), + a = r(71739).findExtremes, + o = r(34603); + function s(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: 0.5, + sizemax: 12, + color: [0, 0, 0, 1], + areaRatio: 1, + borderColor: [0, 0, 0, 1], + }), + (this.pointcloud = n( + t.glplot, + this.pointcloudOptions, + )), + (this.pointcloud._trace = this); + } + var l = s.prototype; + (l.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, + }; + }), + (l.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 = o(t, {})); + }), + (l.updateFast = function (t) { + var e, + r, + n, + o, + s, + l, + u = (this.xData = this.pickXData = t.x), + c = (this.yData = this.pickYData = t.y), + f = (this.pickXYData = t.xy), + h = t.xbounds && t.ybounds, + p = t.indices, + d = this.bounds; + if (f) { + if (((n = f), (e = f.length >>> 1), h)) + (d[0] = t.xbounds[0]), + (d[2] = t.xbounds[1]), + (d[1] = t.ybounds[0]), + (d[3] = t.ybounds[1]); + else + for (l = 0; l < e; l++) + (o = n[2 * l]), + (s = n[2 * l + 1]), + o < d[0] && (d[0] = o), + o > d[2] && (d[2] = o), + s < d[1] && (d[1] = s), + s > d[3] && (d[3] = s); + if (p) r = p; + else + for (r = new Int32Array(e), l = 0; l < e; l++) + r[l] = l; + } else + for ( + e = u.length, + n = new Float32Array(2 * e), + r = new Int32Array(e), + l = 0; + l < e; + l++ + ) + (o = u[l]), + (s = c[l]), + (r[l] = l), + (n[2 * l] = o), + (n[2 * l + 1] = s), + o < d[0] && (d[0] = o), + o > d[2] && (d[2] = o), + s < d[1] && (d[1] = s), + s > d[3] && (d[3] = s); + (this.idToIndex = r), + (this.pointcloudOptions.idToIndex = r), + (this.pointcloudOptions.positions = n); + var v = i(t.marker.color), + g = i(t.marker.border.color), + y = t.opacity * t.marker.opacity; + (v[3] *= y), (this.pointcloudOptions.color = v); + var m = t.marker.blend; + null === m && (m = u.length < 100 || c.length < 100), + (this.pointcloudOptions.blend = m), + (g[3] *= y), + (this.pointcloudOptions.borderColor = g); + var x = t.marker.sizemin, + b = Math.max(t.marker.sizemax, t.marker.sizemin); + (this.pointcloudOptions.sizeMin = x), + (this.pointcloudOptions.sizeMax = b), + (this.pointcloudOptions.areaRatio = + t.marker.border.arearatio), + this.pointcloud.update(this.pointcloudOptions); + var _ = this.scene.xaxis, + w = this.scene.yaxis, + T = b / 2 || 0.5; + (t._extremes[_._id] = a(_, [d[0], d[2]], { + ppad: T, + })), + (t._extremes[w._id] = a(w, [d[1], d[3]], { + ppad: T, + })); + }), + (l.dispose = function () { + this.pointcloud.dispose(); + }), + (t.exports = function (t, e) { + var r = new s(t, e.uid); + return r.update(e), r; + }); + }, + 33876: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(10959); + t.exports = function (t, e, r) { + function a(r, a) { + return n.coerce(t, e, i, r, a); + } + a("x"), + a("y"), + a("xbounds"), + a("ybounds"), + t.xy && t.xy instanceof Float32Array && (e.xy = t.xy), + t.indices && + t.indices instanceof Int32Array && + (e.indices = t.indices), + a("text"), + a("marker.color", r), + a("marker.opacity"), + a("marker.blend"), + a("marker.sizemin"), + a("marker.sizemax"), + a("marker.border.color", r), + a("marker.border.arearatio"), + (e._length = null); + }; + }, + 20593: function (t, e, r) { + "use strict"; + [ + "*pointcloud* trace is deprecated!", + "Please consider switching to the *scattergl* trace type.", + ].join(" "), + (t.exports = { + attributes: r(10959), + supplyDefaults: r(33876), + calc: r(36563), + plot: r(42743), + moduleType: "trace", + name: "pointcloud", + basePlotModule: r(4796), + categories: ["gl", "gl2d", "showLegend"], + meta: {}, + }); + }, + 39953: function (t, e, r) { + "use strict"; + var n = r(41940), + i = r(9012), + a = r(22399), + o = r(77914), + s = r(27670).Y, + l = r(5386).fF, + u = r(50693), + c = r(44467).templatedArray, + f = r(12663).descriptionOnlyNumbers, + h = r(1426).extendFlat, + p = r(30962).overrideAll; + (t.exports = p( + { + hoverinfo: h({}, i.hoverinfo, { + flags: [], + arrayOk: !1, + }), + hoverlabel: o.hoverlabel, + domain: s({ name: "sankey", trace: !0 }), + orientation: { + valType: "enumerated", + values: ["v", "h"], + dflt: "h", + }, + valueformat: { + valType: "string", + dflt: ".3s", + description: f("value"), + }, + valuesuffix: { valType: "string", dflt: "" }, + arrangement: { + valType: "enumerated", + values: [ + "snap", + "perpendicular", + "freeform", + "fixed", + ], + dflt: "snap", + }, + textfont: n({}), + customdata: void 0, + node: { + label: { valType: "data_array", dflt: [] }, + groups: { + valType: "info_array", + impliedEdits: { x: [], y: [] }, + dimensions: 2, + freeLength: !0, + dflt: [], + items: { valType: "number", editType: "calc" }, + }, + x: { valType: "data_array", dflt: [] }, + y: { valType: "data_array", dflt: [] }, + color: { valType: "color", arrayOk: !0 }, + customdata: { + valType: "data_array", + editType: "calc", + }, + line: { + color: { + valType: "color", + dflt: a.defaultLine, + arrayOk: !0, + }, + width: { + valType: "number", + min: 0, + dflt: 0.5, + arrayOk: !0, + }, + }, + pad: { + valType: "number", + arrayOk: !1, + min: 0, + dflt: 20, + }, + thickness: { + valType: "number", + arrayOk: !1, + min: 1, + dflt: 20, + }, + hoverinfo: { + valType: "enumerated", + values: ["all", "none", "skip"], + dflt: "all", + }, + hoverlabel: o.hoverlabel, + hovertemplate: l({}, { keys: ["value", "label"] }), + }, + link: { + arrowlen: { valType: "number", min: 0, dflt: 0 }, + label: { valType: "data_array", dflt: [] }, + color: { valType: "color", arrayOk: !0 }, + customdata: { + valType: "data_array", + editType: "calc", + }, + line: { + color: { + valType: "color", + dflt: a.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: [] }, + hoverinfo: { + valType: "enumerated", + values: ["all", "none", "skip"], + dflt: "all", + }, + hoverlabel: o.hoverlabel, + hovertemplate: l({}, { keys: ["value", "label"] }), + colorscales: c("concentrationscales", { + editType: "calc", + label: { + valType: "string", + editType: "calc", + dflt: "", + }, + cmax: { + valType: "number", + editType: "calc", + dflt: 1, + }, + cmin: { + valType: "number", + editType: "calc", + dflt: 0, + }, + colorscale: h(u().colorscale, { + dflt: [ + [0, "white"], + [1, "black"], + ], + }), + }), + }, + }, + "calc", + "nested", + )).transforms = void 0; + }, + 75536: function (t, e, r) { + "use strict"; + var n = r(30962).overrideAll, + i = r(27659).a0, + a = r(60436), + o = r(528), + s = r(6964), + l = r(28569), + u = r(47322).prepSelect, + c = r(71828), + f = r(73972), + h = "sankey"; + function p(t, e) { + var r = t._fullData[e], + n = t._fullLayout, + i = n.dragmode, + a = "pan" === n.dragmode ? "move" : "crosshair", + o = r._bgRect; + if (o && "pan" !== i && "zoom" !== i) { + s(o, a); + var h = { + _id: "x", + c2p: c.identity, + _offset: r._sankey.translateX, + _length: r._sankey.width, + }, + p = { + _id: "y", + c2p: c.identity, + _offset: r._sankey.translateY, + _length: r._sankey.height, + }, + d = { + gd: t, + element: o.node(), + plotinfo: { + id: e, + xaxis: h, + yaxis: p, + fillRangeItems: c.noop, + }, + subplot: e, + xaxes: [h], + yaxes: [p], + doneFnCompleted: function (r) { + var n, + i = t._fullData[e], + a = i.node.groups.slice(), + o = []; + function s(t) { + for ( + var e = i._sankey.graph.nodes, r = 0; + r < e.length; + r++ + ) + if (e[r].pointNumber === t) return e[r]; + } + for (var l = 0; l < r.length; l++) { + var u = s(r[l].pointNumber); + if (u) + if (u.group) { + for ( + var c = 0; + c < u.childrenNodes.length; + c++ + ) + o.push(u.childrenNodes[c].pointNumber); + a[u.pointNumber - i.node._count] = !1; + } else o.push(u.pointNumber); + } + (n = a.filter(Boolean).concat([o])), + f.call( + "_guiRestyle", + t, + { "node.groups": [n] }, + e, + ); + }, + prepFn: function (t, e, r) { + u(t, e, r, d, i); + }, + }; + l.init(d); + } + } + (e.name = h), + (e.baseLayoutAttrOverrides = n( + { hoverlabel: o.hoverlabel }, + "plot", + "nested", + )), + (e.plot = function (t) { + var r = i(t.calcdata, h)[0]; + a(t, r), e.updateFx(t); + }), + (e.clean = function (t, e, r, n) { + var i = n._has && n._has(h), + a = e._has && e._has(h); + i && + !a && + (n._paperdiv.selectAll(".sankey").remove(), + n._paperdiv.selectAll(".bgsankey").remove()); + }), + (e.updateFx = function (t) { + for (var e = 0; e < t._fullData.length; e++) p(t, e); + }); + }, + 92930: function (t, e, r) { + "use strict"; + var n = r(68664), + i = r(71828), + a = r(28984).wrap, + o = i.isArrayOrTypedArray, + s = i.isIndex, + l = r(21081); + t.exports = function (t, e) { + var r = (function (t) { + var e, + r = t.node, + a = t.link, + u = [], + c = o(a.color), + f = o(a.customdata), + h = {}, + p = {}, + d = a.colorscales.length; + for (e = 0; e < d; e++) { + var v = a.colorscales[e], + g = l.extractScale(v, { cLetter: "c" }), + y = l.makeColorScaleFunc(g); + p[v.label] = y; + } + var m = 0; + for (e = 0; e < a.value.length; e++) + a.source[e] > m && (m = a.source[e]), + a.target[e] > m && (m = a.target[e]); + var x, + b = m + 1; + t.node._count = b; + var _ = t.node.groups, + w = {}; + for (e = 0; e < _.length; e++) { + var T = _[e]; + for (x = 0; x < T.length; x++) { + var k = T[x], + A = b + e; + w.hasOwnProperty(k) + ? i.warn( + "Node " + + k + + " is already part of a group.", + ) + : (w[k] = A); + } + } + var M = { source: [], target: [] }; + for (e = 0; e < a.value.length; e++) { + var S = a.value[e], + E = a.source[e], + L = a.target[e]; + if ( + S > 0 && + s(E, b) && + s(L, b) && + (!w.hasOwnProperty(E) || + !w.hasOwnProperty(L) || + w[E] !== w[L]) + ) { + w.hasOwnProperty(L) && (L = w[L]), + w.hasOwnProperty(E) && (E = w[E]), + (L = +L), + (h[(E = +E)] = h[L] = !0); + var C = ""; + a.label && a.label[e] && (C = a.label[e]); + var O = null; + C && p.hasOwnProperty(C) && (O = p[C]), + u.push({ + pointNumber: e, + label: C, + color: c ? a.color[e] : a.color, + customdata: f + ? a.customdata[e] + : a.customdata, + concentrationscale: O, + source: E, + target: L, + value: +S, + }), + M.source.push(E), + M.target.push(L); + } + } + var P = b + _.length, + I = o(r.color), + D = o(r.customdata), + z = []; + for (e = 0; e < P; e++) + if (h[e]) { + var R = r.label[e]; + z.push({ + group: e > b - 1, + childrenNodes: [], + pointNumber: e, + label: R, + color: I ? r.color[e] : r.color, + customdata: D ? r.customdata[e] : r.customdata, + }); + } + var F = !1; + return ( + (function (t, e, r) { + for ( + var a = i.init2dArray(t, 0), o = 0; + o < Math.min(e.length, r.length); + o++ + ) + if (i.isIndex(e[o], t) && i.isIndex(r[o], t)) { + if (e[o] === r[o]) return !0; + a[e[o]].push(r[o]); + } + return n(a).components.some(function (t) { + return t.length > 1; + }); + })(P, M.source, M.target) && (F = !0), + { + circular: F, + links: u, + nodes: z, + groups: _, + groupLookup: w, + } + ); + })(e); + return a({ + circular: r.circular, + _nodes: r.nodes, + _links: r.links, + _groups: r.groups, + _groupLookup: r.groupLookup, + }); + }; + }, + 85247: function (t) { + "use strict"; + t.exports = { + nodeTextOffsetHorizontal: 4, + nodeTextOffsetVertical: 3, + nodePadAcross: 10, + sankeyIterations: 50, + forceIterations: 5, + forceTicksPerFrame: 10, + duration: 500, + ease: "linear", + cn: { + sankey: "sankey", + sankeyLinks: "sankey-links", + sankeyLink: "sankey-link", + sankeyNodeSet: "sankey-node-set", + sankeyNode: "sankey-node", + nodeRect: "node-rect", + nodeLabel: "node-label", + }, + }; + }, + 26857: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(39953), + a = r(7901), + o = r(84267), + s = r(27670).c, + l = r(38048), + u = r(44467), + c = r(85501); + function f(t, e) { + function r(r, a) { + return n.coerce(t, e, i.link.colorscales, r, a); + } + r("label"), r("cmin"), r("cmax"), r("colorscale"); + } + t.exports = function (t, e, r, h) { + function p(r, a) { + return n.coerce(t, e, i, r, a); + } + var d = n.extendDeep(h.hoverlabel, t.hoverlabel), + v = t.node, + g = u.newContainer(e, "node"); + function y(t, e) { + return n.coerce(v, g, i.node, t, e); + } + y("label"), + y("groups"), + y("x"), + y("y"), + y("pad"), + y("thickness"), + y("line.color"), + y("line.width"), + y("hoverinfo", t.hoverinfo), + l(v, g, y, d), + y("hovertemplate"); + var m = h.colorway; + y( + "color", + g.label.map(function (t, e) { + return a.addOpacity( + (function (t) { + return m[t % m.length]; + })(e), + 0.8, + ); + }), + ), + y("customdata"); + var x = t.link || {}, + b = u.newContainer(e, "link"); + function _(t, e) { + return n.coerce(x, b, i.link, t, e); + } + _("label"), + _("arrowlen"), + _("source"), + _("target"), + _("value"), + _("line.color"), + _("line.width"), + _("hoverinfo", t.hoverinfo), + l(x, b, _, d), + _("hovertemplate"); + var w, + T = + o(h.paper_bgcolor).getLuminance() < 0.333 + ? "rgba(255, 255, 255, 0.6)" + : "rgba(0, 0, 0, 0.2)"; + _("color", n.repeat(T, b.value.length)), + _("customdata"), + c(x, b, { + name: "colorscales", + handleItemDefaults: f, + }), + s(e, h, p), + p("orientation"), + p("valueformat"), + p("valuesuffix"), + g.x.length && g.y.length && (w = "freeform"), + p("arrangement", w), + n.coerceFont(p, "textfont", n.extendFlat({}, h.font)), + (e._length = null); + }; + }, + 29396: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(39953), + supplyDefaults: r(26857), + calc: r(92930), + plot: r(60436), + moduleType: "trace", + name: "sankey", + basePlotModule: r(75536), + selectPoints: r(84564), + categories: ["noOpacity"], + meta: {}, + }; + }, + 60436: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = i.numberFormat, + o = r(3393), + s = r(30211), + l = r(7901), + u = r(85247).cn, + c = i._; + function f(t) { + return "" !== t; + } + function h(t, e) { + return t.filter(function (t) { + return t.key === e.traceId; + }); + } + function p(t, e) { + n.select(t).select("path").style("fill-opacity", e), + n.select(t).select("rect").style("fill-opacity", e); + } + function d(t) { + n.select(t).select("text.name").style("fill", "black"); + } + function v(t) { + return function (e) { + return ( + -1 !== t.node.sourceLinks.indexOf(e.link) || + -1 !== t.node.targetLinks.indexOf(e.link) + ); + }; + } + function g(t) { + return function (e) { + return ( + -1 !== e.node.sourceLinks.indexOf(t.link) || + -1 !== e.node.targetLinks.indexOf(t.link) + ); + }; + } + function y(t, e, r) { + e && + r && + h(r, e) + .selectAll("." + u.sankeyLink) + .filter(v(e)) + .call(x.bind(0, e, r, !1)); + } + function m(t, e, r) { + e && + r && + h(r, e) + .selectAll("." + u.sankeyLink) + .filter(v(e)) + .call(b.bind(0, e, r, !1)); + } + function x(t, e, r, n) { + var i = n.datum().link.label; + n.style("fill-opacity", function (t) { + if (!t.link.concentrationscale) return 0.4; + }), + i && + h(e, t) + .selectAll("." + u.sankeyLink) + .filter(function (t) { + return t.link.label === i; + }) + .style("fill-opacity", function (t) { + if (!t.link.concentrationscale) return 0.4; + }), + r && + h(e, t) + .selectAll("." + u.sankeyNode) + .filter(g(t)) + .call(y); + } + function b(t, e, r, n) { + var i = n.datum().link.label; + n.style("fill-opacity", function (t) { + return t.tinyColorAlpha; + }), + i && + h(e, t) + .selectAll("." + u.sankeyLink) + .filter(function (t) { + return t.link.label === i; + }) + .style("fill-opacity", function (t) { + return t.tinyColorAlpha; + }), + r && + h(e, t) + .selectAll(u.sankeyNode) + .filter(g(t)) + .call(m); + } + function _(t, e) { + var r = t.hoverlabel || {}, + n = i.nestedProperty(r, e).get(); + return !Array.isArray(n) && n; + } + t.exports = function (t, e) { + for ( + var r = t._fullLayout, + i = r._paper, + h = r._size, + v = 0; + v < t._fullData.length; + v++ + ) + if ( + t._fullData[v].visible && + t._fullData[v].type === u.sankey && + !t._fullData[v]._viewInitial + ) { + var g = t._fullData[v].node; + t._fullData[v]._viewInitial = { + node: { + groups: g.groups.slice(), + x: g.x.slice(), + y: g.y.slice(), + }, + }; + } + var w = c(t, "source:") + " ", + T = c(t, "target:") + " ", + k = c(t, "concentration:") + " ", + A = c(t, "incoming flow count:") + " ", + M = c(t, "outgoing flow count:") + " "; + o( + t, + i, + e, + { + width: h.w, + height: h.h, + margin: { t: h.t, r: h.r, b: h.b, l: h.l }, + }, + { + linkEvents: { + hover: function (e, r, i) { + !1 !== t._fullLayout.hovermode && + (n.select(e).call(x.bind(0, r, i, !0)), + "skip" !== r.link.trace.link.hoverinfo && + ((r.link.fullData = r.link.trace), + t.emit("plotly_hover", { + event: n.event, + points: [r.link], + }))); + }, + follow: function (e, i) { + if (!1 !== t._fullLayout.hovermode) { + var o = i.link.trace.link; + if ( + "none" !== o.hoverinfo && + "skip" !== o.hoverinfo + ) { + for ( + var u = [], c = 0, h = 0; + h < i.flow.links.length; + h++ + ) { + var v = i.flow.links[h]; + if ( + "closest" !== t._fullLayout.hovermode || + i.link.pointNumber === v.pointNumber + ) { + i.link.pointNumber === v.pointNumber && + (c = h), + (v.fullData = v.trace), + (o = i.link.trace.link); + var g = m(v), + y = { + valueLabel: + a(i.valueFormat)(v.value) + + i.valueSuffix, + }; + u.push({ + x: g[0], + y: g[1], + name: y.valueLabel, + text: [ + v.label || "", + w + v.source.label, + T + v.target.label, + v.concentrationscale + ? k + + a("%0.2f")( + v.flow.labelConcentration, + ) + : "", + ] + .filter(f) + .join("
"), + color: + _(o, "bgcolor") || + l.addOpacity(v.color, 1), + borderColor: _(o, "bordercolor"), + fontFamily: _(o, "font.family"), + fontSize: _(o, "font.size"), + fontColor: _(o, "font.color"), + nameLength: _(o, "namelength"), + textAlign: _(o, "align"), + idealAlign: + n.event.x < g[0] ? "right" : "left", + hovertemplate: o.hovertemplate, + hovertemplateLabels: y, + eventData: [v], + }); + } + } + s.loneHover(u, { + container: r._hoverlayer.node(), + outerContainer: r._paper.node(), + gd: t, + anchorIndex: c, + }).each(function () { + i.link.concentrationscale || + p(this, 0.65), + d(this); + }); + } + } + function m(t) { + var e, r; + t.circular + ? ((e = + (t.circularPathData.leftInnerExtent + + t.circularPathData.rightInnerExtent) / + 2), + (r = + t.circularPathData.verticalFullExtent)) + : ((e = (t.source.x1 + t.target.x0) / 2), + (r = (t.y0 + t.y1) / 2)); + var n = [e, r]; + return ( + "v" === t.trace.orientation && n.reverse(), + (n[0] += i.parent.translateX), + (n[1] += i.parent.translateY), + n + ); + } + }, + unhover: function (e, i, a) { + !1 !== t._fullLayout.hovermode && + (n.select(e).call(b.bind(0, i, a, !0)), + "skip" !== i.link.trace.link.hoverinfo && + ((i.link.fullData = i.link.trace), + t.emit("plotly_unhover", { + event: n.event, + points: [i.link], + })), + s.loneUnhover(r._hoverlayer.node())); + }, + select: function (e, r) { + var i = r.link; + (i.originalEvent = n.event), + (t._hoverdata = [i]), + s.click(t, { target: !0 }); + }, + }, + nodeEvents: { + hover: function (e, r, i) { + !1 !== t._fullLayout.hovermode && + (n.select(e).call(y, r, i), + "skip" !== r.node.trace.node.hoverinfo && + ((r.node.fullData = r.node.trace), + t.emit("plotly_hover", { + event: n.event, + points: [r.node], + }))); + }, + follow: function (e, i) { + if (!1 !== t._fullLayout.hovermode) { + var o = i.node.trace.node; + if ( + "none" !== o.hoverinfo && + "skip" !== o.hoverinfo + ) { + var l = n + .select(e) + .select("." + u.nodeRect), + c = t._fullLayout._paperdiv + .node() + .getBoundingClientRect(), + h = l.node().getBoundingClientRect(), + v = h.left - 2 - c.left, + g = h.right + 2 - c.left, + y = h.top + h.height / 4 - c.top, + m = { + valueLabel: + a(i.valueFormat)(i.node.value) + + i.valueSuffix, + }; + (i.node.fullData = i.node.trace), + t._fullLayout._calcInverseTransform(t); + var x = t._fullLayout._invScaleX, + b = t._fullLayout._invScaleY, + w = s.loneHover( + { + x0: x * v, + x1: x * g, + y: b * y, + name: + a(i.valueFormat)(i.node.value) + + i.valueSuffix, + text: [ + i.node.label, + A + i.node.targetLinks.length, + M + i.node.sourceLinks.length, + ] + .filter(f) + .join("
"), + color: + _(o, "bgcolor") || i.tinyColorHue, + borderColor: _(o, "bordercolor"), + fontFamily: _(o, "font.family"), + fontSize: _(o, "font.size"), + fontColor: _(o, "font.color"), + nameLength: _(o, "namelength"), + textAlign: _(o, "align"), + idealAlign: "left", + hovertemplate: o.hovertemplate, + hovertemplateLabels: m, + eventData: [i.node], + }, + { + container: r._hoverlayer.node(), + outerContainer: r._paper.node(), + gd: t, + }, + ); + p(w, 0.85), d(w); + } + } + }, + unhover: function (e, i, a) { + !1 !== t._fullLayout.hovermode && + (n.select(e).call(m, i, a), + "skip" !== i.node.trace.node.hoverinfo && + ((i.node.fullData = i.node.trace), + t.emit("plotly_unhover", { + event: n.event, + points: [i.node], + })), + s.loneUnhover(r._hoverlayer.node())); + }, + select: function (e, r, i) { + var a = r.node; + (a.originalEvent = n.event), + (t._hoverdata = [a]), + n.select(e).call(m, r, i), + s.click(t, { target: !0 }); + }, + }, + }, + ); + }; + }, + 3393: function (t, e, r) { + "use strict"; + var n = r(49887), + i = r(81684).k4, + a = r(39898), + o = r(30838), + s = r(86781), + l = r(85247), + u = r(84267), + c = r(7901), + f = r(91424), + h = r(71828), + p = h.strTranslate, + d = h.strRotate, + v = r(28984), + g = v.keyFun, + y = v.repeat, + m = v.unwrap, + x = r(63893), + b = r(73972), + _ = r(18783), + w = _.CAP_SHIFT, + T = _.LINE_SPACING; + function k(t, e, r) { + var n, + i = m(e), + a = i.trace, + c = a.domain, + f = "h" === a.orientation, + p = a.node.pad, + d = a.node.thickness, + v = t.width * (c.x[1] - c.x[0]), + g = t.height * (c.y[1] - c.y[0]), + y = i._nodes, + x = i._links, + b = i.circular; + (n = b + ? s.sankeyCircular().circularLinkGap(0) + : o.sankey()) + .iterations(l.sankeyIterations) + .size(f ? [v, g] : [g, v]) + .nodeWidth(d) + .nodePadding(p) + .nodeId(function (t) { + return t.pointNumber; + }) + .nodes(y) + .links(x); + var _, + w, + T, + k = n(); + for (var A in (n.nodePadding() < p && + h.warn( + "node.pad was reduced to ", + n.nodePadding(), + " to fit within the figure.", + ), + i._groupLookup)) { + var M, + S = parseInt(i._groupLookup[A]); + for (_ = 0; _ < k.nodes.length; _++) + if (k.nodes[_].pointNumber === S) { + M = k.nodes[_]; + break; + } + if (M) { + var E = { + pointNumber: parseInt(A), + x0: M.x0, + x1: M.x1, + y0: M.y0, + y1: M.y1, + partOfGroup: !0, + sourceLinks: [], + targetLinks: [], + }; + k.nodes.unshift(E), M.childrenNodes.unshift(E); + } + } + if ( + ((function () { + for (_ = 0; _ < k.nodes.length; _++) { + var t, + e, + r = k.nodes[_], + n = {}; + for (w = 0; w < r.targetLinks.length; w++) + (t = + (e = r.targetLinks[w]).source.pointNumber + + ":" + + e.target.pointNumber), + n.hasOwnProperty(t) || (n[t] = []), + n[t].push(e); + var i = Object.keys(n); + for (w = 0; w < i.length; w++) { + var a = n[(t = i[w])], + o = 0, + s = {}; + for (T = 0; T < a.length; T++) + s[(e = a[T]).label] || (s[e.label] = 0), + (s[e.label] += e.value), + (o += e.value); + for (T = 0; T < a.length; T++) + ((e = a[T]).flow = { + value: o, + labelConcentration: s[e.label] / o, + concentration: e.value / o, + links: a, + }), + e.concentrationscale && + (e.color = u( + e.concentrationscale( + e.flow.labelConcentration, + ), + )); + } + var l = 0; + for (w = 0; w < r.sourceLinks.length; w++) + l += r.sourceLinks[w].value; + for (w = 0; w < r.sourceLinks.length; w++) + (e = r.sourceLinks[w]).concentrationOut = + e.value / l; + var c = 0; + for (w = 0; w < r.targetLinks.length; w++) + c += r.targetLinks[w].value; + for (w = 0; w < r.targetLinks.length; w++) + (e = r.targetLinks[w]).concenrationIn = + e.value / c; + } + })(), + a.node.x.length && a.node.y.length) + ) { + for ( + _ = 0; + _ < + Math.min( + a.node.x.length, + a.node.y.length, + k.nodes.length, + ); + _++ + ) + if (a.node.x[_] && a.node.y[_]) { + var L = [a.node.x[_] * v, a.node.y[_] * g]; + (k.nodes[_].x0 = L[0] - d / 2), + (k.nodes[_].x1 = L[0] + d / 2); + var C = k.nodes[_].y1 - k.nodes[_].y0; + (k.nodes[_].y0 = L[1] - C / 2), + (k.nodes[_].y1 = L[1] + C / 2); + } + "snap" === a.arrangement && + (function (t) { + var e, + r, + n = t + .map(function (t, e) { + return { x0: t.x0, index: e }; + }) + .sort(function (t, e) { + return t.x0 - e.x0; + }), + i = [], + a = -1, + o = -1 / 0; + for (_ = 0; _ < n.length; _++) { + var s = t[n[_].index]; + s.x0 > o + d && ((a += 1), (e = s.x0)), + (o = s.x0), + i[a] || (i[a] = []), + i[a].push(s), + (r = e - s.x0), + (s.x0 += r), + (s.x1 += r); + } + return i; + })((y = k.nodes)).forEach(function (t) { + var e, + r, + n, + i = 0, + a = t.length; + for ( + t.sort(function (t, e) { + return t.y0 - e.y0; + }), + n = 0; + n < a; + ++n + ) + (e = t[n]).y0 >= i || + ((r = i - e.y0) > 1e-6 && + ((e.y0 += r), (e.y1 += r))), + (i = e.y1 + p); + }), + n.update(k); + } + return { + circular: b, + key: r, + trace: a, + guid: h.randstr(), + horizontal: f, + width: v, + height: g, + nodePad: a.node.pad, + nodeLineColor: a.node.line.color, + nodeLineWidth: a.node.line.width, + linkLineColor: a.link.line.color, + linkLineWidth: a.link.line.width, + linkArrowLength: a.link.arrowlen, + valueFormat: a.valueformat, + valueSuffix: a.valuesuffix, + textFont: a.textfont, + translateX: c.x[0] * t.width + t.margin.l, + translateY: t.height - c.y[1] * t.height + t.margin.t, + dragParallel: f ? g : v, + dragPerpendicular: f ? v : g, + arrangement: a.arrangement, + sankey: n, + graph: k, + forceLayouts: {}, + interactionState: { dragInProgress: !1, hovered: !1 }, + }; + } + function A(t, e, r) { + var n = u(e.color), + i = e.source.label + "|" + e.target.label + "__" + r; + return ( + (e.trace = t.trace), + (e.curveNumber = t.trace.index), + { + circular: t.circular, + key: i, + traceId: t.key, + pointNumber: e.pointNumber, + link: e, + tinyColorHue: c.tinyRGB(n), + tinyColorAlpha: n.getAlpha(), + linkPath: M, + linkLineColor: t.linkLineColor, + linkLineWidth: t.linkLineWidth, + linkArrowLength: t.linkArrowLength, + valueFormat: t.valueFormat, + valueSuffix: t.valueSuffix, + sankey: t.sankey, + parent: t, + interactionState: t.interactionState, + flow: e.flow, + } + ); + } + function M() { + return function (t) { + var e = t.linkArrowLength; + if (t.link.circular) + return (function (t, e) { + var r = t.width / 2, + n = t.circularPathData; + return "top" === t.circularLinkType + ? "M " + + (n.targetX - e) + + " " + + (n.targetY + r) + + " L" + + (n.rightInnerExtent - e) + + " " + + (n.targetY + r) + + "A" + + (n.rightLargeArcRadius + r) + + " " + + (n.rightSmallArcRadius + r) + + " 0 0 1 " + + (n.rightFullExtent - r - e) + + " " + + (n.targetY - n.rightSmallArcRadius) + + "L" + + (n.rightFullExtent - r - e) + + " " + + n.verticalRightInnerExtent + + "A" + + (n.rightLargeArcRadius + r) + + " " + + (n.rightLargeArcRadius + r) + + " 0 0 1 " + + (n.rightInnerExtent - e) + + " " + + (n.verticalFullExtent - r) + + "L" + + n.leftInnerExtent + + " " + + (n.verticalFullExtent - r) + + "A" + + (n.leftLargeArcRadius + r) + + " " + + (n.leftLargeArcRadius + r) + + " 0 0 1 " + + (n.leftFullExtent + r) + + " " + + n.verticalLeftInnerExtent + + "L" + + (n.leftFullExtent + r) + + " " + + (n.sourceY - n.leftSmallArcRadius) + + "A" + + (n.leftLargeArcRadius + r) + + " " + + (n.leftSmallArcRadius + r) + + " 0 0 1 " + + n.leftInnerExtent + + " " + + (n.sourceY + r) + + "L" + + n.sourceX + + " " + + (n.sourceY + r) + + "L" + + n.sourceX + + " " + + (n.sourceY - r) + + "L" + + n.leftInnerExtent + + " " + + (n.sourceY - r) + + "A" + + (n.leftLargeArcRadius - r) + + " " + + (n.leftSmallArcRadius - r) + + " 0 0 0 " + + (n.leftFullExtent - r) + + " " + + (n.sourceY - n.leftSmallArcRadius) + + "L" + + (n.leftFullExtent - r) + + " " + + n.verticalLeftInnerExtent + + "A" + + (n.leftLargeArcRadius - r) + + " " + + (n.leftLargeArcRadius - r) + + " 0 0 0 " + + n.leftInnerExtent + + " " + + (n.verticalFullExtent + r) + + "L" + + (n.rightInnerExtent - e) + + " " + + (n.verticalFullExtent + r) + + "A" + + (n.rightLargeArcRadius - r) + + " " + + (n.rightLargeArcRadius - r) + + " 0 0 0 " + + (n.rightFullExtent + r - e) + + " " + + n.verticalRightInnerExtent + + "L" + + (n.rightFullExtent + r - e) + + " " + + (n.targetY - n.rightSmallArcRadius) + + "A" + + (n.rightLargeArcRadius - r) + + " " + + (n.rightSmallArcRadius - r) + + " 0 0 0 " + + (n.rightInnerExtent - e) + + " " + + (n.targetY - r) + + "L" + + (n.targetX - e) + + " " + + (n.targetY - r) + + (e > 0 + ? "L" + n.targetX + " " + n.targetY + : "") + + "Z" + : "M " + + (n.targetX - e) + + " " + + (n.targetY - r) + + " L" + + (n.rightInnerExtent - e) + + " " + + (n.targetY - r) + + "A" + + (n.rightLargeArcRadius + r) + + " " + + (n.rightSmallArcRadius + r) + + " 0 0 0 " + + (n.rightFullExtent - r - e) + + " " + + (n.targetY + n.rightSmallArcRadius) + + "L" + + (n.rightFullExtent - r - e) + + " " + + n.verticalRightInnerExtent + + "A" + + (n.rightLargeArcRadius + r) + + " " + + (n.rightLargeArcRadius + r) + + " 0 0 0 " + + (n.rightInnerExtent - e) + + " " + + (n.verticalFullExtent + r) + + "L" + + n.leftInnerExtent + + " " + + (n.verticalFullExtent + r) + + "A" + + (n.leftLargeArcRadius + r) + + " " + + (n.leftLargeArcRadius + r) + + " 0 0 0 " + + (n.leftFullExtent + r) + + " " + + n.verticalLeftInnerExtent + + "L" + + (n.leftFullExtent + r) + + " " + + (n.sourceY + n.leftSmallArcRadius) + + "A" + + (n.leftLargeArcRadius + r) + + " " + + (n.leftSmallArcRadius + r) + + " 0 0 0 " + + n.leftInnerExtent + + " " + + (n.sourceY - r) + + "L" + + n.sourceX + + " " + + (n.sourceY - r) + + "L" + + n.sourceX + + " " + + (n.sourceY + r) + + "L" + + n.leftInnerExtent + + " " + + (n.sourceY + r) + + "A" + + (n.leftLargeArcRadius - r) + + " " + + (n.leftSmallArcRadius - r) + + " 0 0 1 " + + (n.leftFullExtent - r) + + " " + + (n.sourceY + n.leftSmallArcRadius) + + "L" + + (n.leftFullExtent - r) + + " " + + n.verticalLeftInnerExtent + + "A" + + (n.leftLargeArcRadius - r) + + " " + + (n.leftLargeArcRadius - r) + + " 0 0 1 " + + n.leftInnerExtent + + " " + + (n.verticalFullExtent - r) + + "L" + + (n.rightInnerExtent - e) + + " " + + (n.verticalFullExtent - r) + + "A" + + (n.rightLargeArcRadius - r) + + " " + + (n.rightLargeArcRadius - r) + + " 0 0 1 " + + (n.rightFullExtent + r - e) + + " " + + n.verticalRightInnerExtent + + "L" + + (n.rightFullExtent + r - e) + + " " + + (n.targetY + n.rightSmallArcRadius) + + "A" + + (n.rightLargeArcRadius - r) + + " " + + (n.rightSmallArcRadius - r) + + " 0 0 1 " + + (n.rightInnerExtent - e) + + " " + + (n.targetY + r) + + "L" + + (n.targetX - e) + + " " + + (n.targetY + r) + + (e > 0 + ? "L" + n.targetX + " " + n.targetY + : "") + + "Z"; + })(t.link, e); + var r = Math.abs( + (t.link.target.x0 - t.link.source.x1) / 2, + ); + e > r && (e = r); + var n = t.link.source.x1, + a = t.link.target.x0 - e, + o = i(n, a), + s = o(0.5), + l = o(0.5), + u = t.link.y0 - t.link.width / 2, + c = t.link.y0 + t.link.width / 2, + f = t.link.y1 - t.link.width / 2, + h = t.link.y1 + t.link.width / 2, + p = "M" + n + "," + u, + d = + "C" + + s + + "," + + u + + " " + + l + + "," + + f + + " " + + a + + "," + + f, + v = + "C" + + l + + "," + + h + + " " + + s + + "," + + c + + " " + + n + + "," + + c, + g = + e > 0 + ? "L" + (a + e) + "," + (f + t.link.width / 2) + : ""; + return p + d + (g += "L" + a + "," + h) + v + "Z"; + }; + } + function S(t, e) { + var r = u(e.color), + n = l.nodePadAcross, + i = t.nodePad / 2; + (e.dx = e.x1 - e.x0), (e.dy = e.y1 - e.y0); + var a = e.dx, + o = Math.max(0.5, e.dy), + s = "node_" + e.pointNumber; + return ( + e.group && (s = h.randstr()), + (e.trace = t.trace), + (e.curveNumber = t.trace.index), + { + index: e.pointNumber, + key: s, + partOfGroup: e.partOfGroup || !1, + group: e.group, + traceId: t.key, + trace: t.trace, + node: e, + nodePad: t.nodePad, + nodeLineColor: t.nodeLineColor, + nodeLineWidth: t.nodeLineWidth, + textFont: t.textFont, + size: t.horizontal ? t.height : t.width, + visibleWidth: Math.ceil(a), + visibleHeight: o, + zoneX: -n, + zoneY: -i, + zoneWidth: a + 2 * n, + zoneHeight: o + 2 * i, + labelY: t.horizontal ? e.dy / 2 + 1 : e.dx / 2 + 1, + left: 1 === e.originalLayer, + sizeAcross: t.width, + forceLayouts: t.forceLayouts, + horizontal: t.horizontal, + darkBackground: r.getBrightness() <= 128, + tinyColorHue: c.tinyRGB(r), + tinyColorAlpha: r.getAlpha(), + valueFormat: t.valueFormat, + valueSuffix: t.valueSuffix, + sankey: t.sankey, + graph: t.graph, + arrangement: t.arrangement, + uniqueNodeLabelPathId: [t.guid, t.key, s].join("_"), + interactionState: t.interactionState, + figure: t, + } + ); + } + function E(t) { + t.attr("transform", function (t) { + return p(t.node.x0.toFixed(3), t.node.y0.toFixed(3)); + }); + } + function L(t) { + t.call(E); + } + function C(t, e) { + t.call(L), e.attr("d", M()); + } + function O(t) { + t.attr("width", function (t) { + return t.node.x1 - t.node.x0; + }).attr("height", function (t) { + return t.visibleHeight; + }); + } + function P(t) { + return t.link.width > 1 || t.linkLineWidth > 0; + } + function I(t) { + return ( + p(t.translateX, t.translateY) + + (t.horizontal + ? "matrix(1 0 0 1 0 0)" + : "matrix(0 1 1 0 0 0)") + ); + } + function D(t, e, r) { + t.on(".basic", null) + .on("mouseover.basic", function (t) { + t.interactionState.dragInProgress || + t.partOfGroup || + (r.hover(this, t, e), + (t.interactionState.hovered = [this, t])); + }) + .on("mousemove.basic", function (t) { + t.interactionState.dragInProgress || + t.partOfGroup || + (r.follow(this, t), + (t.interactionState.hovered = [this, t])); + }) + .on("mouseout.basic", function (t) { + t.interactionState.dragInProgress || + t.partOfGroup || + (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 || + t.partOfGroup || + r.select(this, t, e); + }); + } + function z(t, e, r, i) { + var o = a.behavior + .drag() + .origin(function (t) { + return { + x: t.node.x0 + t.visibleWidth / 2, + y: t.node.y0 + t.visibleHeight / 2, + }; + }) + .on("dragstart", function (a) { + if ( + "fixed" !== a.arrangement && + (h.ensureSingle( + i._fullLayout._infolayer, + "g", + "dragcover", + function (t) { + i._fullLayout._dragCover = t; + }, + ), + h.raiseToTop(this), + (a.interactionState.dragInProgress = a.node), + F(a.node), + a.interactionState.hovered && + (r.nodeEvents.unhover.apply( + 0, + a.interactionState.hovered, + ), + (a.interactionState.hovered = !1)), + "snap" === a.arrangement) + ) { + var o = a.traceId + "|" + a.key; + a.forceLayouts[o] + ? a.forceLayouts[o].alpha(1) + : (function (t, e, r, i) { + !(function (t) { + for (var e = 0; e < t.length; e++) + (t[e].y = (t[e].y0 + t[e].y1) / 2), + (t[e].x = (t[e].x0 + t[e].x1) / 2); + })(r.graph.nodes); + var a = r.graph.nodes + .filter(function (t) { + return t.originalX === r.node.originalX; + }) + .filter(function (t) { + return !t.partOfGroup; + }); + r.forceLayouts[e] = n + .forceSimulation(a) + .alphaDecay(0) + .force( + "collide", + n + .forceCollide() + .radius(function (t) { + return t.dy / 2 + r.nodePad / 2; + }) + .strength(1) + .iterations(l.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) / + l.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 < 0.1 && + n.forceLayouts[e].alpha() > 0 && + n.forceLayouts[e].alpha(0); + }; + })(0, e, a, r), + ) + .stop(); + })(0, o, a), + (function (t, e, r, n, i) { + window.requestAnimationFrame(function a() { + var o; + for (o = 0; o < l.forceTicksPerFrame; o++) + r.forceLayouts[n].tick(); + if ( + ((function (t) { + for (var e = 0; e < t.length; e++) + (t[e].y0 = t[e].y - t[e].dy / 2), + (t[e].y1 = t[e].y0 + t[e].dy), + (t[e].x0 = t[e].x - t[e].dx / 2), + (t[e].x1 = t[e].x0 + t[e].dx); + })(r.graph.nodes), + r.sankey.update(r.graph), + C(t.filter(B(r)), e), + r.forceLayouts[n].alpha() > 0) + ) + window.requestAnimationFrame(a); + else { + var s = r.node.originalX; + (r.node.x0 = s - r.visibleWidth / 2), + (r.node.x1 = s + r.visibleWidth / 2), + R(r, i); + } + }); + })(t, e, a, o, i); + } + }) + .on("drag", function (r) { + if ("fixed" !== r.arrangement) { + var n = a.event.x, + i = a.event.y; + "snap" === r.arrangement + ? ((r.node.x0 = n - r.visibleWidth / 2), + (r.node.x1 = n + r.visibleWidth / 2), + (r.node.y0 = i - r.visibleHeight / 2), + (r.node.y1 = i + r.visibleHeight / 2)) + : ("freeform" === r.arrangement && + ((r.node.x0 = n - r.visibleWidth / 2), + (r.node.x1 = n + r.visibleWidth / 2)), + (i = Math.max( + 0, + Math.min(r.size - r.visibleHeight / 2, i), + )), + (r.node.y0 = i - r.visibleHeight / 2), + (r.node.y1 = i + r.visibleHeight / 2)), + F(r.node), + "snap" !== r.arrangement && + (r.sankey.update(r.graph), + C(t.filter(B(r)), e)); + } + }) + .on("dragend", function (t) { + if ("fixed" !== t.arrangement) { + t.interactionState.dragInProgress = !1; + for ( + var e = 0; + e < t.node.childrenNodes.length; + e++ + ) + (t.node.childrenNodes[e].x = t.node.x), + (t.node.childrenNodes[e].y = t.node.y); + "snap" !== t.arrangement && R(t, i); + } + }); + t.on(".drag", null).call(o); + } + function R(t, e) { + for ( + var r = [], n = [], i = 0; + i < t.graph.nodes.length; + i++ + ) { + var a = + (t.graph.nodes[i].x0 + t.graph.nodes[i].x1) / 2, + o = (t.graph.nodes[i].y0 + t.graph.nodes[i].y1) / 2; + r.push(a / t.figure.width), + n.push(o / t.figure.height); + } + b.call( + "_guiRestyle", + e, + { "node.x": [r], "node.y": [n] }, + t.trace.index, + ).then(function () { + e._fullLayout._dragCover && + e._fullLayout._dragCover.remove(); + }); + } + function F(t) { + (t.lastDraggedX = t.x0 + t.dx / 2), + (t.lastDraggedY = t.y0 + t.dy / 2); + } + function B(t) { + return function (e) { + return e.node.originalX === t.node.originalX; + }; + } + t.exports = function (t, e, r, n, i) { + var o = t._context.staticPlot, + s = !1; + h.ensureSingle( + t._fullLayout._infolayer, + "g", + "first-render", + function () { + s = !0; + }, + ); + var v = t._fullLayout._dragCover, + b = r + .filter(function (t) { + return m(t).trace.visible; + }) + .map(k.bind(null, n)), + _ = e.selectAll("." + l.cn.sankey).data(b, g); + _.exit().remove(), + _.enter() + .append("g") + .classed(l.cn.sankey, !0) + .style("box-sizing", "content-box") + .style("position", "absolute") + .style("left", 0) + .style("shape-rendering", "geometricPrecision") + .style("pointer-events", o ? "none" : "auto") + .attr("transform", I), + _.each(function (e, r) { + t._fullData[r]._sankey = e; + var n = "bgsankey-" + e.trace.uid + "-" + r; + h.ensureSingle(t._fullLayout._draggers, "rect", n), + (t._fullData[r]._bgRect = a.select("." + n)), + t._fullData[r]._bgRect + .style("pointer-events", o ? "none" : "all") + .attr("width", e.width) + .attr("height", e.height) + .attr("x", e.translateX) + .attr("y", e.translateY) + .classed("bgsankey", !0) + .style({ + fill: "transparent", + "stroke-width": 0, + }); + }), + _.transition() + .ease(l.ease) + .duration(l.duration) + .attr("transform", I); + var L = _.selectAll("." + l.cn.sankeyLinks).data(y, g); + L.enter() + .append("g") + .classed(l.cn.sankeyLinks, !0) + .style("fill", "none"); + var C = L.selectAll("." + l.cn.sankeyLink).data( + function (t) { + return t.graph.links + .filter(function (t) { + return t.value; + }) + .map(A.bind(null, t)); + }, + g, + ); + C.enter() + .append("path") + .classed(l.cn.sankeyLink, !0) + .call(D, _, i.linkEvents), + C.style("stroke", function (t) { + return P(t) + ? c.tinyRGB(u(t.linkLineColor)) + : t.tinyColorHue; + }) + .style("stroke-opacity", function (t) { + return P(t) + ? c.opacity(t.linkLineColor) + : t.tinyColorAlpha; + }) + .style("fill", function (t) { + return t.tinyColorHue; + }) + .style("fill-opacity", function (t) { + return t.tinyColorAlpha; + }) + .style("stroke-width", function (t) { + return P(t) ? t.linkLineWidth : 1; + }) + .attr("d", M()), + C.style("opacity", function () { + return t._context.staticPlot || s || v ? 1 : 0; + }) + .transition() + .ease(l.ease) + .duration(l.duration) + .style("opacity", 1), + C.exit() + .transition() + .ease(l.ease) + .duration(l.duration) + .style("opacity", 0) + .remove(); + var R = _.selectAll("." + l.cn.sankeyNodeSet).data( + y, + g, + ); + R.enter().append("g").classed(l.cn.sankeyNodeSet, !0), + R.style("cursor", function (t) { + switch (t.arrangement) { + case "fixed": + return "default"; + case "perpendicular": + return "ns-resize"; + default: + return "move"; + } + }); + var F = R.selectAll("." + l.cn.sankeyNode).data( + function (t) { + var e = t.graph.nodes; + return ( + (function (t) { + var e, + r = []; + for (e = 0; e < t.length; e++) + (t[e].originalX = (t[e].x0 + t[e].x1) / 2), + (t[e].originalY = (t[e].y0 + t[e].y1) / 2), + -1 === r.indexOf(t[e].originalX) && + r.push(t[e].originalX); + 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.map(S.bind(null, t)) + ); + }, + g, + ); + F.enter() + .append("g") + .classed(l.cn.sankeyNode, !0) + .call(E) + .style("opacity", function (e) { + return (!t._context.staticPlot && !s) || + e.partOfGroup + ? 0 + : 1; + }), + F.call(D, _, i.nodeEvents).call(z, C, i, t), + F.transition() + .ease(l.ease) + .duration(l.duration) + .call(E) + .style("opacity", function (t) { + return t.partOfGroup ? 0 : 1; + }), + F.exit() + .transition() + .ease(l.ease) + .duration(l.duration) + .style("opacity", 0) + .remove(); + var B = F.selectAll("." + l.cn.nodeRect).data(y); + B.enter() + .append("rect") + .classed(l.cn.nodeRect, !0) + .call(O), + B.style("stroke-width", function (t) { + return t.nodeLineWidth; + }) + .style("stroke", function (t) { + return c.tinyRGB(u(t.nodeLineColor)); + }) + .style("stroke-opacity", function (t) { + return c.opacity(t.nodeLineColor); + }) + .style("fill", function (t) { + return t.tinyColorHue; + }) + .style("fill-opacity", function (t) { + return t.tinyColorAlpha; + }), + B.transition() + .ease(l.ease) + .duration(l.duration) + .call(O); + var N = F.selectAll("." + l.cn.nodeLabel).data(y); + N.enter() + .append("text") + .classed(l.cn.nodeLabel, !0) + .style("cursor", "default"), + N.attr("data-notex", 1) + .text(function (t) { + return t.node.label; + }) + .each(function (e) { + var r = a.select(this); + f.font(r, e.textFont), x.convertToTspans(r, t); + }) + .style( + "text-shadow", + x.makeTextShadow(t._fullLayout.paper_bgcolor), + ) + .attr("text-anchor", function (t) { + return t.horizontal && t.left ? "end" : "start"; + }) + .attr("transform", function (t) { + var e = a.select(this), + r = x.lineCount(e), + n = t.textFont.size * ((r - 1) * T - w), + i = t.nodeLineWidth / 2 + 3, + o = + ((t.horizontal + ? t.visibleHeight + : t.visibleWidth) - + n) / + 2; + t.horizontal && + (t.left ? (i = -i) : (i += t.visibleWidth)); + var s = t.horizontal ? "" : "scale(-1,1)" + d(90); + return ( + p(t.horizontal ? i : o, t.horizontal ? o : i) + + s + ); + }), + N.transition().ease(l.ease).duration(l.duration); + }; + }, + 84564: function (t) { + "use strict"; + t.exports = function (t, e) { + for ( + var r = [], + n = t.cd[0].trace, + i = n._sankey.graph.nodes, + a = 0; + a < i.length; + a++ + ) { + var o = i[a]; + if (!o.partOfGroup) { + var s = [(o.x0 + o.x1) / 2, (o.y0 + o.y1) / 2]; + "v" === n.orientation && s.reverse(), + e && + e.contains(s, !1, a, t) && + r.push({ pointNumber: o.pointNumber }); + } + } + return r; + }; + }, + 75225: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e) { + for (var r = 0; r < t.length; r++) t[r].i = r; + n.mergeArray(e.text, t, "tx"), + n.mergeArray(e.texttemplate, t, "txt"), + n.mergeArray(e.hovertext, t, "htx"), + n.mergeArray(e.customdata, t, "data"), + n.mergeArray(e.textposition, t, "tp"), + e.textfont && + (n.mergeArrayCastPositive(e.textfont.size, t, "ts"), + n.mergeArray(e.textfont.color, t, "tc"), + n.mergeArray(e.textfont.family, t, "tf")); + var i = e.marker; + if (i) { + n.mergeArrayCastPositive(i.size, t, "ms"), + n.mergeArrayCastPositive(i.opacity, t, "mo"), + n.mergeArray(i.symbol, t, "mx"), + n.mergeArray(i.angle, t, "ma"), + n.mergeArray(i.standoff, t, "mf"), + n.mergeArray(i.color, t, "mc"); + var a = i.line; + i.line && + (n.mergeArray(a.color, t, "mlc"), + n.mergeArrayCastPositive(a.width, t, "mlw")); + var o = i.gradient; + o && + "none" !== o.type && + (n.mergeArray(o.type, t, "mgt"), + n.mergeArray(o.color, t, "mgc")); + } + }; + }, + 82196: function (t, e, r) { + "use strict"; + var n = r(12663).axisHoverFormat, + i = r(5386).si, + a = r(5386).fF, + o = r(50693), + s = r(41940), + l = r(79952).P, + u = r(79952).u, + c = r(91424), + f = r(47581), + h = r(1426).extendFlat; + t.exports = { + x: { + valType: "data_array", + editType: "calc+clearAxisTypes", + anim: !0, + }, + x0: { + valType: "any", + dflt: 0, + editType: "calc+clearAxisTypes", + anim: !0, + }, + dx: { + valType: "number", + dflt: 1, + editType: "calc", + anim: !0, + }, + y: { + valType: "data_array", + editType: "calc+clearAxisTypes", + anim: !0, + }, + y0: { + valType: "any", + dflt: 0, + editType: "calc+clearAxisTypes", + anim: !0, + }, + dy: { + valType: "number", + dflt: 1, + editType: "calc", + anim: !0, + }, + xperiod: { valType: "any", dflt: 0, editType: "calc" }, + yperiod: { valType: "any", dflt: 0, editType: "calc" }, + xperiod0: { valType: "any", editType: "calc" }, + yperiod0: { valType: "any", editType: "calc" }, + xperiodalignment: { + valType: "enumerated", + values: ["start", "middle", "end"], + dflt: "middle", + editType: "calc", + }, + yperiodalignment: { + valType: "enumerated", + values: ["start", "middle", "end"], + dflt: "middle", + editType: "calc", + }, + xhoverformat: n("x"), + yhoverformat: n("y"), + offsetgroup: { + valType: "string", + dflt: "", + editType: "calc", + }, + alignmentgroup: { + valType: "string", + dflt: "", + editType: "calc", + }, + stackgroup: { + valType: "string", + dflt: "", + editType: "calc", + }, + orientation: { + valType: "enumerated", + values: ["v", "h"], + editType: "calc", + }, + groupnorm: { + valType: "enumerated", + values: ["", "fraction", "percent"], + dflt: "", + editType: "calc", + }, + stackgaps: { + valType: "enumerated", + values: ["infer zero", "interpolate"], + dflt: "infer zero", + editType: "calc", + }, + text: { + valType: "string", + dflt: "", + arrayOk: !0, + editType: "calc", + }, + texttemplate: i({}, {}), + 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", + }, + hovertemplate: a({}, { keys: f.eventDataKeys }), + line: { + color: { + valType: "color", + editType: "style", + anim: !0, + }, + width: { + valType: "number", + min: 0, + dflt: 2, + editType: "style", + anim: !0, + }, + 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: h({}, l, { editType: "style" }), + backoff: { + valType: "number", + min: 0, + dflt: "auto", + arrayOk: !0, + editType: "plot", + }, + 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", + ], + editType: "calc", + }, + fillcolor: { + valType: "color", + editType: "style", + anim: !0, + }, + fillpattern: u, + marker: h( + { + symbol: { + valType: "enumerated", + values: c.symbolList, + dflt: "circle", + arrayOk: !0, + editType: "style", + }, + opacity: { + valType: "number", + min: 0, + max: 1, + arrayOk: !0, + editType: "style", + anim: !0, + }, + angle: { + valType: "angle", + dflt: 0, + arrayOk: !0, + editType: "plot", + anim: !1, + }, + angleref: { + valType: "enumerated", + values: ["previous", "up"], + dflt: "up", + editType: "plot", + anim: !1, + }, + standoff: { + valType: "number", + min: 0, + dflt: 0, + arrayOk: !0, + editType: "plot", + anim: !0, + }, + size: { + valType: "number", + min: 0, + dflt: 6, + arrayOk: !0, + editType: "calc", + anim: !0, + }, + 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", + }, + line: h( + { + width: { + valType: "number", + min: 0, + arrayOk: !0, + editType: "style", + anim: !0, + }, + editType: "calc", + }, + o("marker.line", { anim: !0 }), + ), + 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", + }, + o("marker", { anim: !0 }), + ), + 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: s({ + editType: "calc", + colorEditType: "style", + arrayOk: !0, + }), + }; + }, + 47761: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(89298), + o = r(42973), + s = r(50606).BADNUM, + l = r(34098), + u = r(36922), + c = r(75225), + f = r(66279); + function h(t, e, r, n, i, o, s) { + var u = e._length, + c = t._fullLayout, + f = r._id, + h = n._id, + p = c._firstScatter[v(e)] === e.uid, + d = (g(e, c, r, n) || {}).orientation, + y = e.fill; + (r._minDtick = 0), (n._minDtick = 0); + var m = { padded: !0 }, + x = { padded: !0 }; + s && (m.ppad = x.ppad = s); + var b = u < 2 || i[0] !== i[u - 1] || o[0] !== o[u - 1]; + b && + ("tozerox" === y || + ("tonextx" === y && (p || "h" === d))) + ? (m.tozero = !0) + : (e.error_y || {}).visible || + ("tonexty" !== y && + "tozeroy" !== y && + (l.hasMarkers(e) || l.hasText(e))) || + ((m.padded = !1), (m.ppad = 0)), + b && + ("tozeroy" === y || + ("tonexty" === y && (p || "v" === d))) + ? (x.tozero = !0) + : ("tonextx" !== y && "tozerox" !== y) || + (x.padded = !1), + f && (e._extremes[f] = a.findExtremes(r, i, m)), + h && (e._extremes[h] = a.findExtremes(n, o, x)); + } + function p(t, e) { + if (l.hasMarkers(t)) { + var r, + n = t.marker, + o = 1.6 * (t.marker.sizeref || 1); + if ( + ((r = + "area" === t.marker.sizemode + ? function (t) { + return Math.max(Math.sqrt((t || 0) / o), 3); + } + : function (t) { + return Math.max((t || 0) / o, 3); + }), + i.isArrayOrTypedArray(n.size)) + ) { + var s = { type: "linear" }; + a.setConvert(s); + for ( + var u = s.makeCalcdata(t.marker, "size"), + c = new Array(e), + f = 0; + f < e; + f++ + ) + c[f] = r(u[f]); + return c; + } + return r(n.size); + } + } + function d(t, e) { + var r = v(e), + n = t._firstScatter; + n[r] || (n[r] = e.uid); + } + function v(t) { + var e = t.stackgroup; + return t.xaxis + t.yaxis + t.type + (e ? "-" + e : ""); + } + function g(t, e, r, n) { + var i = t.stackgroup; + if (i) { + var a = e._scatterStackOpts[r._id + n._id][i], + o = "v" === a.orientation ? n : r; + return "linear" === o.type || "log" === o.type + ? a + : void 0; + } + } + t.exports = { + calc: function (t, e) { + var r, + l, + v, + y, + m, + x, + b = t._fullLayout, + _ = (e._xA = a.getFromId(t, e.xaxis || "x", "x")), + w = (e._yA = a.getFromId(t, e.yaxis || "y", "y")), + T = _.makeCalcdata(e, "x"), + k = w.makeCalcdata(e, "y"), + A = o(e, _, "x", T), + M = o(e, w, "y", k), + S = A.vals, + E = M.vals, + L = e._length, + C = new Array(L), + O = e.ids, + P = g(e, b, _, w), + I = !1; + d(b, e); + var D, + z = "x", + R = "y"; + P + ? (i.pushUnique(P.traceIndices, e._expandedIndex), + (r = "v" === P.orientation) + ? ((R = "s"), (D = "x")) + : ((z = "s"), (D = "y")), + (m = "interpolate" === P.stackgaps)) + : h(t, e, _, w, S, E, p(e, L)); + var F = !!e.xperiodalignment, + B = !!e.yperiodalignment; + for (l = 0; l < L; l++) { + var N = (C[l] = {}), + j = n(S[l]), + U = n(E[l]); + j && U + ? ((N[z] = S[l]), + (N[R] = E[l]), + F && + ((N.orig_x = T[l]), + (N.xEnd = A.ends[l]), + (N.xStart = A.starts[l])), + B && + ((N.orig_y = k[l]), + (N.yEnd = M.ends[l]), + (N.yStart = M.starts[l]))) + : P && (r ? j : U) + ? ((N[D] = r ? S[l] : E[l]), + (N.gap = !0), + m ? ((N.s = s), (I = !0)) : (N.s = 0)) + : (N[z] = N[R] = s), + O && (N.id = String(O[l])); + } + if ((c(C, e), u(t, e), f(C, e), P)) { + for (l = 0; l < C.length; ) + C[l][D] === s ? C.splice(l, 1) : l++; + if ( + (i.sort(C, function (t, e) { + return t[D] - e[D] || t.i - e.i; + }), + I) + ) { + for (l = 0; l < C.length - 1 && C[l].gap; ) l++; + for ( + (x = C[l].s) || (x = C[l].s = 0), v = 0; + v < l; + v++ + ) + C[v].s = x; + for (y = C.length - 1; y > l && C[y].gap; ) y--; + for (x = C[y].s, v = C.length - 1; v > y; v--) + C[v].s = x; + for (; l < y; ) + if (C[++l].gap) { + for (v = l + 1; C[v].gap; ) v++; + for ( + var V = C[l - 1][D], + H = C[l - 1].s, + q = (C[v].s - H) / (C[v][D] - V); + l < v; + + ) + (C[l].s = H + (C[l][D] - V) * q), l++; + } + } + } + return C; + }, + calcMarkerSize: p, + calcAxisExpansion: h, + setFirstScatter: d, + getStackOpts: g, + }; + }, + 66279: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e) { + n.isArrayOrTypedArray(e.selectedpoints) && + n.tagSelected(t, e); + }; + }, + 36922: function (t, e, r) { + "use strict"; + var n = r(52075).hasColorscale, + i = r(78803), + a = r(34098); + t.exports = function (t, e) { + a.hasLines(e) && + n(e, "line") && + i(t, e, { + vals: e.line.color, + containerStr: "line", + cLetter: "c", + }), + a.hasMarkers(e) && + (n(e, "marker") && + i(t, e, { + vals: e.marker.color, + containerStr: "marker", + cLetter: "c", + }), + n(e, "marker.line") && + i(t, e, { + vals: e.marker.line.color, + containerStr: "marker.line", + cLetter: "c", + })); + }; + }, + 47581: function (t) { + "use strict"; + t.exports = { + PTS_LINESONLY: 20, + minTolerance: 0.2, + toleranceGrowth: 10, + maxScreensAway: 20, + eventDataKeys: [], + }; + }, + 72626: function (t, e, r) { + "use strict"; + var n = r(47761), + i = r(11661).setGroupPositions; + function a(t, e, r, n, i, a, o) { + i[n] = !0; + var s = { i: null, gap: !0, s: 0 }; + if ( + ((s[o] = r), + t.splice(e, 0, s), + e && r === t[e - 1][o]) + ) { + var l = t[e - 1]; + (s.s = l.s), (s.i = l.i), (s.gap = l.gap); + } else + a && + (s.s = (function (t, e, r, n) { + var i = t[e - 1], + a = t[e + 1]; + return a + ? i + ? i.s + + ((a.s - i.s) * (r - i[n])) / (a[n] - i[n]) + : a.s + : i.s; + })(t, e, r, o)); + e || + ((t[0].t = t[1].t), + (t[0].trace = t[1].trace), + delete t[1].t, + delete t[1].trace); + } + t.exports = function (t, e) { + "group" === t._fullLayout.scattermode && + (function (t, e) { + for ( + var r = e.xaxis, + n = e.yaxis, + a = t._fullLayout, + o = t._fullData, + s = t.calcdata, + l = [], + u = [], + c = 0; + c < o.length; + c++ + ) { + var f = o[c]; + !0 === f.visible && + "scatter" === f.type && + f.xaxis === r._id && + f.yaxis === n._id && + ("h" === f.orientation + ? l.push(s[c]) + : "v" === f.orientation && u.push(s[c])); + } + var h = { mode: a.scattermode, gap: a.scattergap }; + i(t, r, n, u, h), i(t, n, r, l, h); + })(t, e); + var r = e.xaxis, + o = e.yaxis, + s = r._id + o._id, + l = t._fullLayout._scatterStackOpts[s]; + if (l) { + var u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + w, + T, + k = t.calcdata; + for (var A in l) { + var M = (m = l[A]).traceIndices; + if (M.length) { + for ( + x = "interpolate" === m.stackgaps, + b = m.groupnorm, + "v" === m.orientation + ? ((_ = "x"), (w = "y")) + : ((_ = "y"), (w = "x")), + T = new Array(M.length), + u = 0; + u < T.length; + u++ + ) + T[u] = !1; + d = k[M[0]]; + var S = new Array(d.length); + for (u = 0; u < d.length; u++) S[u] = d[u][_]; + for (u = 1; u < M.length; u++) { + for ( + p = k[M[u]], c = f = 0; + c < p.length; + c++ + ) { + for ( + v = p[c][_]; + v > S[f] && f < S.length; + f++ + ) + a(p, c, S[f], u, T, x, _), c++; + if (v !== S[f]) { + for (h = 0; h < u; h++) + a(k[M[h]], f, v, h, T, x, _); + S.splice(f, 0, v); + } + f++; + } + for (; f < S.length; f++) + a(p, c, S[f], u, T, x, _), c++; + } + var E = S.length; + for (c = 0; c < d.length; c++) { + for ( + g = d[c][w] = d[c].s, u = 1; + u < M.length; + u++ + ) + ((p = k[M[u]])[0].trace._rawLength = + p[0].trace._length), + (p[0].trace._length = E), + (g += p[c].s), + (p[c][w] = g); + if (b) + for ( + y = ("fraction" === b ? g : g / 100) || 1, + u = 0; + u < M.length; + u++ + ) { + var L = k[M[u]][c]; + (L[w] /= y), (L.sNorm = L.s / y); + } + } + for (u = 0; u < M.length; u++) { + var C = (p = k[M[u]])[0].trace, + O = n.calcMarkerSize(C, C._rawLength), + P = Array.isArray(O); + if ((O && T[u]) || P) { + var I = O; + for (O = new Array(E), c = 0; c < E; c++) + O[c] = p[c].gap ? 0 : P ? I[p[c].i] : I; + } + var D = new Array(E), + z = new Array(E); + for (c = 0; c < E; c++) + (D[c] = p[c].x), (z[c] = p[c].y); + n.calcAxisExpansion(t, C, r, o, D, z, O), + (p[0].t.orientation = m.orientation); + } + } + } + } + }; + }, + 34936: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(26125), + a = r(82196); + t.exports = function (t, e) { + var r, o, s; + function l(t) { + return n.coerce(o._input, o, a, t); + } + if ("group" === e.scattermode) + for (s = 0; s < t.length; s++) + "scatter" === (o = t[s]).type && + ((r = o._input), i(r, o, e, l)); + for (s = 0; s < t.length; s++) { + var u = t[s]; + if ("scatter" === u.type) { + var c = u.fill; + if ( + "none" !== c && + "toself" !== c && + ((u.opacity = void 0), + "tonexty" === c || "tonextx" === c) + ) + for (var f = s - 1; f >= 0; f--) { + var h = t[f]; + if ( + "scatter" === h.type && + h.xaxis === u.xaxis && + h.yaxis === u.yaxis + ) { + h.opacity = void 0; + break; + } + } + } + } + }; + }, + 17438: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(73972), + a = r(82196), + o = r(47581), + s = r(34098), + l = r(67513), + u = r(73927), + c = r(565), + f = r(49508), + h = r(11058), + p = r(94039), + d = r(82410), + v = r(28908), + g = r(71828).coercePattern; + t.exports = function (t, e, r, y) { + function m(r, i) { + return n.coerce(t, e, a, r, i); + } + var x = l(t, e, y, m); + if ((x || (e.visible = !1), e.visible)) { + u(t, e, y, m), m("xhoverformat"), m("yhoverformat"); + var b = c(t, e, y, m); + "group" === y.scattermode && + void 0 === e.orientation && + m("orientation", "v"); + var _ = + !b && x < o.PTS_LINESONLY + ? "lines+markers" + : "lines"; + m("text"), + m("hovertext"), + m("mode", _), + s.hasLines(e) && + (h(t, e, r, y, m, { backoff: !0 }), + p(t, e, m), + m("connectgaps"), + m("line.simplify")), + s.hasMarkers(e) && + f(t, e, r, y, m, { gradient: !0 }), + s.hasText(e) && (m("texttemplate"), d(t, e, y, m)); + var w = []; + (s.hasMarkers(e) || s.hasText(e)) && + (m("cliponaxis"), + m("marker.maxdisplayed"), + w.push("points")), + m("fill", b ? b.fillDflt : "none"), + "none" !== e.fill && + (v(t, e, r, m), + s.hasLines(e) || p(t, e, m), + g(m, "fillpattern", e.fillcolor, !1)); + var T = (e.line || {}).color, + k = (e.marker || {}).color; + ("tonext" !== e.fill && "toself" !== e.fill) || + w.push("fills"), + m("hoveron", w.join("+") || "points"), + "fills" !== e.hoveron && m("hovertemplate"); + var A = i.getComponentMethod( + "errorbars", + "supplyDefaults", + ); + A(t, e, T || k || r, { axis: "y" }), + A(t, e, T || k || r, { axis: "x", inherit: "y" }), + n.coerceSelectionMarkerOpacity(e, m); + } + }; + }, + 28908: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(71828).isArrayOrTypedArray; + t.exports = function (t, e, r, a) { + var o = !1; + if (e.marker) { + var s = e.marker.color, + l = (e.marker.line || {}).color; + s && !i(s) ? (o = s) : l && !i(l) && (o = l); + } + a( + "fillcolor", + n.addOpacity((e.line || {}).color || o || r, 0.5), + ); + }; + }, + 8225: function (t, e, r) { + "use strict"; + var n = r(89298); + t.exports = function (t, e, r) { + var i = {}, + a = { _fullLayout: r }, + o = n.getFromTrace(a, e, "x"), + s = n.getFromTrace(a, e, "y"), + l = t.orig_x; + void 0 === l && (l = t.x); + var u = t.orig_y; + return ( + void 0 === u && (u = t.y), + (i.xLabel = n.tickText(o, o.c2l(l), !0).text), + (i.yLabel = n.tickText(s, s.c2l(u), !0).text), + i + ); + }; + }, + 34603: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(34098); + t.exports = function (t, e) { + var r, a; + if ("lines" === t.mode) + return (r = t.line.color) && n.opacity(r) + ? r + : t.fillcolor; + if ("none" === t.mode) return t.fill ? t.fillcolor : ""; + var o = e.mcc || (t.marker || {}).color, + s = e.mlcc || ((t.marker || {}).line || {}).color; + return (a = + o && n.opacity(o) + ? o + : s && + n.opacity(s) && + (e.mlw || ((t.marker || {}).line || {}).width) + ? s + : "") + ? n.opacity(a) < 0.3 + ? n.addOpacity(a, 0.3) + : a + : (r = (t.line || {}).color) && + n.opacity(r) && + i.hasLines(t) && + t.line.width + ? r + : t.fillcolor; + }; + }, + 26125: function (t, e, r) { + "use strict"; + var n = r(99082).getAxisGroup; + t.exports = function (t, e, r, i) { + var a = e.orientation, + o = e[{ v: "x", h: "y" }[a] + "axis"], + s = n(r, o) + a, + l = r._alignmentOpts || {}, + u = i("alignmentgroup"), + c = l[s]; + c || (c = l[s] = {}); + var f = c[u]; + f + ? f.traces.push(e) + : (f = c[u] = + { + traces: [e], + alignmentIndex: Object.keys(c).length, + offsetGroups: {}, + }); + var h = i("offsetgroup"), + p = f.offsetGroups, + d = p[h]; + h && + (d || + (d = p[h] = { offsetIndex: Object.keys(p).length }), + (e._offsetIndex = d.offsetIndex)); + }; + }, + 33720: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(30211), + a = r(73972), + o = r(34603), + s = r(7901), + l = n.fillText; + t.exports = function (t, e, r, u) { + var c = t.cd, + f = c[0].trace, + h = t.xa, + p = t.ya, + d = h.c2p(e), + v = p.c2p(r), + g = [d, v], + y = f.hoveron || "", + m = -1 !== f.mode.indexOf("markers") ? 3 : 0.5, + x = !!f.xperiodalignment, + b = !!f.yperiodalignment; + if (-1 !== y.indexOf("points")) { + var _ = function (t) { + var e = Math.max(m, t.mrc || 0), + r = h.c2p(t.x) - d, + n = p.c2p(t.y) - v; + return Math.max( + Math.sqrt(r * r + n * n) - e, + 1 - m / e, + ); + }, + w = i.getDistanceFunction( + u, + function (t) { + if (x) { + var e = h.c2p(t.xStart), + r = h.c2p(t.xEnd); + return d >= Math.min(e, r) && + d <= Math.max(e, r) + ? 0 + : 1 / 0; + } + var n = Math.max(3, t.mrc || 0), + i = 1 - 1 / n, + a = Math.abs(h.c2p(t.x) - d); + return a < n ? (i * a) / n : a - n + i; + }, + function (t) { + if (b) { + var e = p.c2p(t.yStart), + r = p.c2p(t.yEnd); + return v >= Math.min(e, r) && + v <= Math.max(e, r) + ? 0 + : 1 / 0; + } + var n = Math.max(3, t.mrc || 0), + i = 1 - 1 / n, + a = Math.abs(p.c2p(t.y) - v); + return a < n ? (i * a) / n : a - n + i; + }, + _, + ); + if ((i.getClosest(c, w, t), !1 !== t.index)) { + var T = c[t.index], + k = h.c2p(T.x, !0), + A = p.c2p(T.y, !0), + M = T.mrc || 1; + t.index = T.i; + var S = c[0].t.orientation, + E = S && (T.sNorm || T.s), + L = + "h" === S + ? E + : void 0 !== T.orig_x + ? T.orig_x + : T.x, + C = + "v" === S + ? E + : void 0 !== T.orig_y + ? T.orig_y + : T.y; + return ( + n.extendFlat(t, { + color: o(f, T), + x0: k - M, + x1: k + M, + xLabelVal: L, + y0: A - M, + y1: A + M, + yLabelVal: C, + spikeDistance: _(T), + hovertemplate: f.hovertemplate, + }), + l(T, f, t), + a.getComponentMethod("errorbars", "hoverInfo")( + T, + f, + t, + ), + [t] + ); + } + } + if (-1 !== y.indexOf("fills") && f._polygons) { + var O, + P, + I, + D, + z, + R, + F, + B, + N, + j = f._polygons, + U = [], + V = !1, + H = 1 / 0, + q = -1 / 0, + G = 1 / 0, + Z = -1 / 0; + for (O = 0; O < j.length; O++) + (I = j[O]).contains(g) && + ((V = !V), + U.push(I), + (G = Math.min(G, I.ymin)), + (Z = Math.max(Z, I.ymax))); + if (V) { + var W = + ((G = Math.max(G, 0)) + + (Z = Math.min(Z, p._length))) / + 2; + for (O = 0; O < U.length; O++) + for (D = U[O].pts, P = 1; P < D.length; P++) + (B = D[P - 1][1]) > W != (N = D[P][1]) >= W && + ((R = D[P - 1][0]), + (F = D[P][0]), + N - B && + ((z = R + ((F - R) * (W - B)) / (N - B)), + (H = Math.min(H, z)), + (q = Math.max(q, z)))); + (H = Math.max(H, 0)), (q = Math.min(q, h._length)); + var Y = s.defaultLine; + return ( + s.opacity(f.fillcolor) + ? (Y = f.fillcolor) + : s.opacity((f.line || {}).color) && + (Y = f.line.color), + n.extendFlat(t, { + distance: t.maxHoverDistance, + x0: H, + x1: q, + y0: W, + y1: W, + color: Y, + hovertemplate: !1, + }), + delete t.index, + f.text && !Array.isArray(f.text) + ? (t.text = String(f.text)) + : (t.text = f.name), + [t] + ); + } + } + }; + }, + 67368: function (t, e, r) { + "use strict"; + var n = r(34098); + t.exports = { + hasLines: n.hasLines, + hasMarkers: n.hasMarkers, + hasText: n.hasText, + isBubble: n.isBubble, + attributes: r(82196), + layoutAttributes: r(21479), + supplyDefaults: r(17438), + crossTraceDefaults: r(34936), + supplyLayoutDefaults: r(79334), + calc: r(47761).calc, + crossTraceCalc: r(72626), + arraysToCalcdata: r(75225), + plot: r(32663), + colorbar: r(4898), + formatLabels: r(8225), + style: r(16296).style, + styleOnSelect: r(16296).styleOnSelect, + hoverPoints: r(33720), + selectPoints: r(98002), + animatable: !0, + moduleType: "trace", + name: "scatter", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "symbols", + "errorBarsOK", + "showLegend", + "scatter-like", + "zoomScale", + ], + meta: {}, + }; + }, + 21479: function (t) { + "use strict"; + t.exports = { + scattermode: { + valType: "enumerated", + values: ["group", "overlay"], + dflt: "overlay", + editType: "calc", + }, + scattergap: { + valType: "number", + min: 0, + max: 1, + editType: "calc", + }, + }; + }, + 79334: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(21479); + t.exports = function (t, e) { + var r, + a = "group" === e.barmode; + "group" === e.scattermode && + ("scattergap", + (r = a ? e.bargap : 0.2), + n.coerce(t, e, i, "scattergap", r)); + }; + }, + 11058: function (t, e, r) { + "use strict"; + var n = r(71828).isArrayOrTypedArray, + i = r(52075).hasColorscale, + a = r(1586); + t.exports = function (t, e, r, o, s, l) { + l || (l = {}); + var u = (t.marker || {}).color; + s("line.color", r), + i(t, "line") + ? a(t, e, o, s, { prefix: "line.", cLetter: "c" }) + : s("line.color", (!n(u) && u) || r), + s("line.width"), + l.noDash || s("line.dash"), + l.backoff && s("line.backoff"); + }; + }, + 34621: function (t, e, r) { + "use strict"; + var n = r(91424), + i = r(50606), + a = i.BADNUM, + o = i.LOG_CLIP, + s = o + 0.5, + l = o - 0.5, + u = r(71828), + c = u.segmentsIntersect, + f = u.constrain, + h = r(47581); + t.exports = function (t, e) { + var r, + i, + o, + p, + d, + v, + g, + y, + m, + x, + b, + _, + w, + T, + k, + A, + M, + S, + E = e.trace || {}, + L = e.xaxis, + C = e.yaxis, + O = "log" === L.type, + P = "log" === C.type, + I = L._length, + D = C._length, + z = e.backoff, + R = E.marker, + F = e.connectGaps, + B = e.baseTolerance, + N = e.shape, + j = "linear" === N, + U = E.fill && "none" !== E.fill, + V = [], + H = h.minTolerance, + q = t.length, + G = new Array(q), + Z = 0; + function W(r) { + var n = t[r]; + if (!n) return !1; + var i = e.linearized ? L.l2p(n.x) : L.c2p(n.x), + o = e.linearized ? C.l2p(n.y) : C.c2p(n.y); + if (i === a) { + if ((O && (i = L.c2p(n.x, !0)), i === a)) return !1; + P && + o === a && + (i *= Math.abs( + (L._m * D * (L._m > 0 ? s : l)) / + (C._m * I * (C._m > 0 ? s : l)), + )), + (i *= 1e3); + } + if (o === a) { + if ((P && (o = C.c2p(n.y, !0)), o === a)) return !1; + o *= 1e3; + } + return [i, o]; + } + function Y(t, e, r, n) { + var i = r - t, + a = n - e, + o = 0.5 - t, + s = 0.5 - e, + l = i * i + a * a, + u = i * o + a * s; + if (u > 0 && u < l) { + var c = o * a - s * i; + if (c * c < l) return !0; + } + } + function X(t, e) { + var r = t[0] / I, + n = t[1] / D, + i = Math.max(0, -r, r - 1, -n, n - 1); + return ( + i && void 0 !== M && Y(r, n, M, S) && (i = 0), + i && e && Y(r, n, e[0] / I, e[1] / D) && (i = 0), + (1 + h.toleranceGrowth * i) * B + ); + } + function J(t, e) { + var r = t[0] - e[0], + n = t[1] - e[1]; + return Math.sqrt(r * r + n * n); + } + var K, + $, + Q, + tt, + et, + rt, + nt, + it = h.maxScreensAway, + at = -I * it, + ot = I * (1 + it), + st = -D * it, + lt = D * (1 + it), + ut = [ + [at, st, ot, st], + [ot, st, ot, lt], + [ot, lt, at, lt], + [at, lt, at, st], + ]; + function ct(t) { + if (t[0] < at || t[0] > ot || t[1] < st || t[1] > lt) + return [f(t[0], at, ot), f(t[1], st, lt)]; + } + function ft(t, e) { + return ( + (t[0] === e[0] && (t[0] === at || t[0] === ot)) || + (t[1] === e[1] && (t[1] === st || t[1] === lt)) || + void 0 + ); + } + function ht(t, e, r) { + return function (n, i) { + var a = ct(n), + o = ct(i), + s = []; + if (a && o && ft(a, o)) return s; + a && s.push(a), o && s.push(o); + var l = + 2 * u.constrain((n[t] + i[t]) / 2, e, r) - + ((a || n)[t] + (o || i)[t]); + return ( + l && + ((a && o + ? l > 0 == a[t] > o[t] + ? a + : o + : a || o)[t] += l), + s + ); + }; + } + function pt(t) { + var e = t[0], + r = t[1], + n = e === G[Z - 1][0], + i = r === G[Z - 1][1]; + if (!n || !i) + if (Z > 1) { + var a = e === G[Z - 2][0], + o = r === G[Z - 2][1]; + n && (e === at || e === ot) && a + ? o + ? Z-- + : (G[Z - 1] = t) + : i && (r === st || r === lt) && o + ? a + ? Z-- + : (G[Z - 1] = t) + : (G[Z++] = t); + } else G[Z++] = t; + } + function dt(t) { + G[Z - 1][0] !== t[0] && + G[Z - 1][1] !== t[1] && + pt([Q, tt]), + pt(t), + (et = null), + (Q = tt = 0); + } + "linear" === N || "spline" === N + ? (nt = function (t, e) { + for (var r = [], n = 0, i = 0; i < 4; i++) { + var a = ut[i], + o = c( + 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 && J(o, t) < J(r[0], t) + ? r.unshift(o) + : r.push(o), + n++); + } + return r; + }) + : "hv" === N || "vh" === N + ? (nt = function (t, e) { + var r = [], + n = ct(t), + i = ct(e); + return ( + (n && i && ft(n, i)) || + (n && r.push(n), i && r.push(i)), + r + ); + }) + : "hvh" === N + ? (nt = ht(0, at, ot)) + : "vhv" === N && (nt = ht(1, st, lt)); + var vt = u.isArrayOrTypedArray(R); + function gt(e) { + if ( + (e && + z && + ((e.i = r), + (e.d = t), + (e.trace = E), + (e.marker = vt ? R[e.i] : R), + (e.backoff = z)), + (M = e[0] / I), + (S = e[1] / D), + (K = e[0] < at ? at : e[0] > ot ? ot : 0), + ($ = e[1] < st ? st : e[1] > lt ? lt : 0), + K || $) + ) { + if (Z) + if (et) { + var n = nt(et, e); + n.length > 1 && (dt(n[0]), (G[Z++] = n[1])); + } else (rt = nt(G[Z - 1], e)[0]), (G[Z++] = rt); + else G[Z++] = [K || e[0], $ || e[1]]; + var i = G[Z - 1]; + K && $ && (i[0] !== K || i[1] !== $) + ? (et && + (Q !== K && tt !== $ + ? pt( + Q && tt + ? ((a = et), + (s = (o = e)[0] - a[0]), + (l = (o[1] - a[1]) / s), + (a[1] * o[0] - o[1] * a[0]) / s > 0 + ? [l > 0 ? at : ot, lt] + : [l > 0 ? ot : at, st]) + : [Q || K, tt || $], + ) + : Q && tt && pt([Q, tt])), + pt([K, $])) + : Q - K && tt - $ && pt([K || Q, $ || tt]), + (et = e), + (Q = K), + (tt = $); + } else et && dt(nt(et, e)[0]), (G[Z++] = e); + var a, o, s, l; + } + for (r = 0; r < q; r++) + if ((i = W(r))) { + for (Z = 0, et = null, gt(i), r++; r < q; r++) { + if (!(p = W(r))) { + if (F) continue; + break; + } + if (j && e.simplify) { + var yt = W(r + 1); + if ( + ((x = J(p, i)), + (U && (0 === Z || Z === q - 1)) || + !(x < X(p, yt) * H)) + ) { + for ( + y = [(p[0] - i[0]) / x, (p[1] - i[1]) / x], + d = i, + b = x, + _ = T = k = 0, + g = !1, + o = p, + r++; + r < t.length; + r++ + ) { + if (((v = yt), (yt = W(r + 1)), !v)) { + if (F) continue; + break; + } + if ( + ((A = + (m = [v[0] - i[0], v[1] - i[1]])[0] * + y[1] - + m[1] * y[0]), + (T = Math.min(T, A)), + (k = Math.max(k, A)) - T > X(v, yt)) + ) + break; + (o = v), + (w = m[0] * y[0] + m[1] * y[1]) > b + ? ((b = w), (p = v), (g = !1)) + : w < _ && ((_ = w), (d = v), (g = !0)); + } + if ( + (g + ? (gt(p), o !== d && gt(d)) + : (d !== i && gt(d), o !== p && gt(p)), + gt(o), + r >= t.length || !v) + ) + break; + gt(v), (i = v); + } + } else gt(p); + } + et && pt([Q || et[0], tt || et[1]]), + V.push(G.slice(0, Z)); + } + var mt = N.slice(N.length - 1); + if (z && "h" !== mt && "v" !== mt) { + for ( + var xt = !1, bt = -1, _t = [], wt = 0; + wt < V.length; + wt++ + ) + for (var Tt = 0; Tt < V[wt].length - 1; Tt++) { + var kt = V[wt][Tt], + At = V[wt][Tt + 1], + Mt = n.applyBackoff(At, kt); + (Mt[0] === At[0] && Mt[1] === At[1]) || (xt = !0), + _t[bt + 1] || (_t[++bt] = [kt, [Mt[0], Mt[1]]]); + } + return xt ? _t : V; + } + return V; + }; + }, + 94039: function (t) { + "use strict"; + t.exports = function (t, e, r) { + "spline" === r("line.shape") && r("line.smoothing"); + }; + }, + 68687: function (t) { + "use strict"; + var e = { tonextx: 1, tonexty: 1, tonext: 1 }; + t.exports = function (t, r, n) { + var i, + a, + o, + s, + l, + u = {}, + c = !1, + f = -1, + h = 0, + p = -1; + for (a = 0; a < n.length; a++) + (o = (i = n[a][0].trace).stackgroup || "") + ? o in u + ? (l = u[o]) + : ((l = u[o] = h), h++) + : i.fill in e && p >= 0 + ? (l = p) + : ((l = p = h), h++), + l < f && (c = !0), + (i._groupIndex = f = l); + var d = n.slice(); + c && + d.sort(function (t, e) { + var r = t[0].trace, + n = e[0].trace; + return ( + r._groupIndex - n._groupIndex || r.index - n.index + ); + }); + var v = {}; + for (a = 0; a < d.length; a++) + (o = (i = d[a][0].trace).stackgroup || ""), + !0 === i.visible + ? ((i._nexttrace = null), + i.fill in e && + ((s = v[o]), + (i._prevtrace = s || null), + s && (s._nexttrace = i)), + (i._ownfill = + i.fill && + ("tozero" === i.fill.substr(0, 6) || + "toself" === i.fill || + ("to" === i.fill.substr(0, 2) && + !i._prevtrace))), + (v[o] = i)) + : (i._prevtrace = + i._nexttrace = + i._ownfill = + null); + return d; + }; + }, + 39984: function (t, e, r) { + "use strict"; + var n = r(92770); + t.exports = function (t, e) { + e || (e = 2); + var r = t.marker, + i = r.sizeref || 1, + a = r.sizemin || 0, + o = + "area" === r.sizemode + ? function (t) { + return Math.sqrt(t / i); + } + : function (t) { + return t / i; + }; + return function (t) { + var r = o(t / e); + return n(r) && r > 0 ? Math.max(r, a) : 0; + }; + }; + }, + 4898: function (t) { + "use strict"; + t.exports = { + container: "marker", + min: "cmin", + max: "cmax", + }; + }, + 49508: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(52075).hasColorscale, + a = r(1586), + o = r(34098); + t.exports = function (t, e, r, s, l, u) { + var c = o.isBubble(t), + f = (t.line || {}).color; + (u = u || {}), + f && (r = f), + l("marker.symbol"), + l("marker.opacity", c ? 0.7 : 1), + l("marker.size"), + u.noAngle || + (l("marker.angle"), + u.noAngleRef || l("marker.angleref"), + u.noStandOff || l("marker.standoff")), + l("marker.color", r), + i(t, "marker") && + a(t, e, s, l, { prefix: "marker.", cLetter: "c" }), + u.noSelect || + (l("selected.marker.color"), + l("unselected.marker.color"), + l("selected.marker.size"), + l("unselected.marker.size")), + u.noLine || + (l( + "marker.line.color", + f && !Array.isArray(f) && e.marker.color !== f + ? f + : c + ? n.background + : n.defaultLine, + ), + i(t, "marker.line") && + a(t, e, s, l, { + prefix: "marker.line.", + cLetter: "c", + }), + l("marker.line.width", c ? 1 : 0)), + c && + (l("marker.sizeref"), + l("marker.sizemin"), + l("marker.sizemode")), + u.gradient && + "none" !== l("marker.gradient.type") && + l("marker.gradient.color"); + }; + }, + 73927: function (t, e, r) { + "use strict"; + var n = r(71828).dateTick0, + i = r(50606).ONEWEEK; + function a(t, e) { + return n(e, t % i == 0 ? 1 : 0); + } + t.exports = function (t, e, r, n, i) { + if ((i || (i = { x: !0, y: !0 }), i.x)) { + var o = n("xperiod"); + o && + (n("xperiod0", a(o, e.xcalendar)), + n("xperiodalignment")); + } + if (i.y) { + var s = n("yperiod"); + s && + (n("yperiod0", a(s, e.ycalendar)), + n("yperiodalignment")); + } + }; + }, + 32663: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(71828), + o = a.ensureSingle, + s = a.identity, + l = r(91424), + u = r(34098), + c = r(34621), + f = r(68687), + h = r(61082).tester; + function p(t, e, r, f, p, d, v) { + var g, + y = t._context.staticPlot; + !(function (t, e, r, i, o) { + var s = r.xaxis, + l = r.yaxis, + c = n.extent(a.simpleMap(s.range, s.r2c)), + f = n.extent(a.simpleMap(l.range, l.r2c)), + h = i[0].trace; + if (u.hasMarkers(h)) { + var p = h.marker.maxdisplayed; + if (0 !== p) { + var d = i.filter(function (t) { + return ( + t.x >= c[0] && + t.x <= c[1] && + t.y >= f[0] && + t.y <= f[1] + ); + }), + v = Math.ceil(d.length / p), + g = 0; + o.forEach(function (t, r) { + var n = t[0].trace; + u.hasMarkers(n) && + n.marker.maxdisplayed > 0 && + r < e && + g++; + }); + var y = Math.round( + (g * v) / 3 + (Math.floor(g / 3) * v) / 7.1, + ); + i.forEach(function (t) { + delete t.vis; + }), + d.forEach(function (t, e) { + 0 === Math.round((e + y) % v) && (t.vis = !0); + }); + } + } + })(0, e, r, f, p); + var m = !!v && v.duration > 0; + function x(t) { + return m ? t.transition() : t; + } + var b = r.xaxis, + _ = r.yaxis, + w = f[0].trace, + T = w.line, + k = n.select(d), + A = o(k, "g", "errorbars"), + M = o(k, "g", "lines"), + S = o(k, "g", "points"), + E = o(k, "g", "text"); + if ( + (i.getComponentMethod("errorbars", "plot")( + t, + A, + r, + v, + ), + !0 === w.visible) + ) { + var L, C; + x(k).style("opacity", w.opacity); + var O = w.fill.charAt(w.fill.length - 1); + "x" !== O && "y" !== O && (O = ""), + (f[0][r.isRangePlot ? "nodeRangePlot3" : "node3"] = + k); + var P, + I, + D = "", + z = [], + R = w._prevtrace; + R && + ((D = R._prevRevpath || ""), + (C = R._nextFill), + (z = R._polygons)); + var F, + B, + N, + j, + U, + V, + H, + q = "", + G = "", + Z = [], + W = a.noop; + if ( + ((L = w._ownFill), + u.hasLines(w) || "none" !== w.fill) + ) { + for ( + C && C.datum(f), + -1 !== + ["hv", "vh", "hvh", "vhv"].indexOf(T.shape) + ? ((F = l.steps(T.shape)), + (B = l.steps( + T.shape.split("").reverse().join(""), + ))) + : (F = B = + "spline" === T.shape + ? function (t) { + var e = t[t.length - 1]; + return t.length > 1 && + t[0][0] === e[0] && + t[0][1] === e[1] + ? l.smoothclosed( + t.slice(1), + T.smoothing, + ) + : l.smoothopen(t, T.smoothing); + } + : function (t) { + return "M" + t.join("L"); + }), + N = function (t) { + return B(t.reverse()); + }, + Z = c(f, { + xaxis: b, + yaxis: _, + trace: w, + connectGaps: w.connectgaps, + baseTolerance: Math.max(T.width || 1, 3) / 4, + shape: T.shape, + backoff: T.backoff, + simplify: T.simplify, + fill: w.fill, + }), + H = w._polygons = new Array(Z.length), + g = 0; + g < Z.length; + g++ + ) + w._polygons[g] = h(Z[g]); + Z.length && + ((j = Z[0][0]), + (V = (U = Z[Z.length - 1])[U.length - 1])), + (W = function (t) { + return function (e) { + if ( + ((P = F(e)), + (I = N(e)), + q + ? O + ? ((q += "L" + P.substr(1)), + (G = I + "L" + G.substr(1))) + : ((q += "Z" + P), (G = I + "Z" + G)) + : ((q = P), (G = I)), + u.hasLines(w)) + ) { + var r = n.select(this); + if ((r.datum(f), t)) + x( + r + .style("opacity", 0) + .attr("d", P) + .call(l.lineGroupStyle), + ).style("opacity", 1); + else { + var i = x(r); + i.attr("d", P), l.singleLineStyle(f, i); + } + } + }; + }); + } + var Y = M.selectAll(".js-line").data(Z); + x(Y.exit()).style("opacity", 0).remove(), + Y.each(W(!1)), + Y.enter() + .append("path") + .classed("js-line", !0) + .style( + "vector-effect", + y ? "none" : "non-scaling-stroke", + ) + .call(l.lineGroupStyle) + .each(W(!0)), + l.setClipUrl(Y, r.layerClipId, t), + Z.length + ? (L + ? (L.datum(f), + j && + V && + (O + ? ("y" === O + ? (j[1] = V[1] = _.c2p(0, !0)) + : "x" === O && + (j[0] = V[0] = b.c2p(0, !0)), + x(L) + .attr( + "d", + "M" + + V + + "L" + + j + + "L" + + q.substr(1), + ) + .call(l.singleFillStyle, t)) + : x(L) + .attr("d", q + "Z") + .call(l.singleFillStyle, t))) + : C && + ("tonext" === w.fill.substr(0, 6) && q && D + ? ("tonext" === w.fill + ? x(C) + .attr("d", q + "Z" + D + "Z") + .call(l.singleFillStyle, t) + : x(C) + .attr( + "d", + q + "L" + D.substr(1) + "Z", + ) + .call(l.singleFillStyle, t), + (w._polygons = w._polygons.concat(z))) + : (J(C), (w._polygons = null))), + (w._prevRevpath = G), + (w._prevPolygons = H)) + : (L ? J(L) : C && J(C), + (w._polygons = + w._prevRevpath = + w._prevPolygons = + null)), + S.datum(f), + E.datum(f), + (function (e, i, a) { + var o, + c = a[0].trace, + f = u.hasMarkers(c), + h = u.hasText(c), + p = et(c), + d = rt, + v = rt; + if (f || h) { + var g = s, + y = c.stackgroup, + w = + y && + "infer zero" === + t._fullLayout._scatterStackOpts[ + b._id + _._id + ][y].stackgaps; + c.marker.maxdisplayed || c._needsCull + ? (g = w ? $ : K) + : y && !w && (g = Q), + f && (d = g), + h && (v = g); + } + var T, + k = (o = e.selectAll("path.point").data(d, p)) + .enter() + .append("path") + .classed("point", !0); + m && + k + .call(l.pointStyle, c, t) + .call(l.translatePoints, b, _) + .style("opacity", 0) + .transition() + .style("opacity", 1), + o.order(), + f && (T = l.makePointStyleFns(c)), + o.each(function (e) { + var i = n.select(this), + a = x(i); + l.translatePoint(e, a, b, _) + ? (l.singlePointStyle(e, a, c, T, t), + r.layerClipId && + l.hideOutsideRangePoint( + e, + a, + b, + _, + c.xcalendar, + c.ycalendar, + ), + c.customdata && + i.classed( + "plotly-customdata", + null !== e.data && void 0 !== e.data, + )) + : a.remove(); + }), + m + ? o + .exit() + .transition() + .style("opacity", 0) + .remove() + : o.exit().remove(), + (o = i.selectAll("g").data(v, p)) + .enter() + .append("g") + .classed("textpoint", !0) + .append("text"), + o.order(), + o.each(function (t) { + var e = n.select(this), + i = x(e.select("text")); + l.translatePoint(t, i, b, _) + ? r.layerClipId && + l.hideOutsideRangePoint( + t, + e, + b, + _, + c.xcalendar, + c.ycalendar, + ) + : e.remove(); + }), + o + .selectAll("text") + .call(l.textPointStyle, c, t) + .each(function (t) { + var e = b.c2p(t.x), + r = _.c2p(t.y); + n.select(this) + .selectAll("tspan.line") + .each(function () { + x(n.select(this)).attr({ x: e, y: r }); + }); + }), + o.exit().remove(); + })(S, E, f); + var X = !1 === w.cliponaxis ? null : r.layerClipId; + l.setClipUrl(S, X, t), l.setClipUrl(E, X, t); + } + function J(t) { + x(t).attr("d", "M0,0Z"); + } + function K(t) { + return t.filter(function (t) { + return !t.gap && t.vis; + }); + } + function $(t) { + return t.filter(function (t) { + return t.vis; + }); + } + function Q(t) { + return t.filter(function (t) { + return !t.gap; + }); + } + function tt(t) { + return t.id; + } + function et(t) { + if (t.ids) return tt; + } + function rt() { + return !1; + } + } + t.exports = function (t, e, r, i, a, u) { + var c, + h, + d = !a, + v = !!a && a.duration > 0, + g = f(t, e, r); + (c = i.selectAll("g.trace").data(g, 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), + c.order(), + (function (t, e, r) { + e.each(function (e) { + var i = o(n.select(this), "g", "fills"); + l.setClipUrl(i, r.layerClipId, t); + var a = e[0].trace, + u = []; + a._ownfill && u.push("_ownFill"), + a._nexttrace && u.push("_nextFill"); + var c = i.selectAll("g").data(u, s); + c.enter().append("g"), + c + .exit() + .each(function (t) { + a[t] = null; + }) + .remove(), + c.order().each(function (t) { + a[t] = o(n.select(this), "path", "js-fill"); + }); + }); + })(t, c, e), + v + ? (u && (h = u()), + n + .transition() + .duration(a.duration) + .ease(a.easing) + .each("end", function () { + h && h(); + }) + .each("interrupt", function () { + h && h(); + }) + .each(function () { + i.selectAll("g.trace").each(function (r, n) { + p(t, n, e, r, g, this, a); + }); + })) + : c.each(function (r, n) { + p(t, n, e, r, g, this, a); + }), + d && c.exit().remove(), + i.selectAll("path:not([d])").remove(); + }; + }, + 98002: function (t, e, r) { + "use strict"; + var n = r(34098); + t.exports = function (t, e) { + var r, + i, + a, + o, + s = t.cd, + l = t.xaxis, + u = t.yaxis, + c = [], + f = s[0].trace; + if (!n.hasMarkers(f) && !n.hasText(f)) return []; + if (!1 === e) + for (r = 0; r < s.length; r++) s[r].selected = 0; + else + for (r = 0; r < s.length; r++) + (i = s[r]), + (a = l.c2p(i.x)), + (o = u.c2p(i.y)), + null !== i.i && e.contains([a, o], !1, r, t) + ? (c.push({ + pointNumber: i.i, + x: l.c2d(i.x), + y: u.c2d(i.y), + }), + (i.selected = 1)) + : (i.selected = 0); + return c; + }; + }, + 565: function (t) { + "use strict"; + var e = ["orientation", "groupnorm", "stackgaps"]; + t.exports = function (t, r, n, i) { + var a = n._scatterStackOpts, + o = i("stackgroup"); + if (o) { + var s = r.xaxis + r.yaxis, + l = a[s]; + l || (l = a[s] = {}); + var u = l[o], + c = !1; + u + ? u.traces.push(r) + : ((u = l[o] = { traceIndices: [], traces: [r] }), + (c = !0)); + for ( + var f = { orientation: r.x && !r.y ? "h" : "v" }, + h = 0; + h < e.length; + h++ + ) { + var p = e[h], + d = p + "Found"; + if (!u[d]) { + var v = void 0 !== t[p], + g = "orientation" === p; + if ( + (v || c) && + ((u[p] = i(p, f[p])), + g && + (u.fillDflt = + "h" === u[p] ? "tonextx" : "tonexty"), + v && + ((u[d] = !0), + !c && (delete u.traces[0][p], g))) + ) + for (var y = 0; y < u.traces.length - 1; y++) { + var m = u.traces[y]; + m._input.fill !== m.fill && + (m.fill = u.fillDflt); + } + } + } + return u; + } + }; + }, + 16296: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(91424), + a = r(73972); + function o(t, e, r) { + i.pointStyle(t.selectAll("path.point"), e, r); + } + function s(t, e, r) { + i.textPointStyle(t.selectAll("text"), e, r); + } + t.exports = { + style: function (t) { + var e = n.select(t).selectAll("g.trace.scatter"); + e.style("opacity", function (t) { + return t[0].trace.opacity; + }), + e.selectAll("g.points").each(function (e) { + o(n.select(this), e.trace || e[0].trace, t); + }), + e.selectAll("g.text").each(function (e) { + s(n.select(this), e.trace || e[0].trace, t); + }), + e + .selectAll("g.trace path.js-line") + .call(i.lineGroupStyle), + e + .selectAll("g.trace path.js-fill") + .call(i.fillGroupStyle, t), + a.getComponentMethod("errorbars", "style")(e); + }, + stylePoints: o, + styleText: s, + styleOnSelect: function (t, e, r) { + var n = e[0].trace; + n.selectedpoints + ? (i.selectedPointStyle( + r.selectAll("path.point"), + n, + ), + i.selectedTextStyle(r.selectAll("text"), n)) + : (o(r, n, t), s(r, n, t)); + }, + }; + }, + 34098: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = { + 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")) || + "splom" === t.type) + ); + }, + hasText: function (t) { + return ( + t.visible && t.mode && -1 !== t.mode.indexOf("text") + ); + }, + isBubble: function (t) { + return ( + n.isPlainObject(t.marker) && + n.isArrayOrTypedArray(t.marker.size) + ); + }, + }; + }, + 82410: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e, r, i, a) { + (a = a || {}), + i("textposition"), + n.coerceFont(i, "textfont", a.font || r.font), + a.noSelect || + (i("selected.textfont.color"), + i("unselected.textfont.color")); + }; + }, + 67513: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(73972); + t.exports = function (t, e, r, a) { + var o, + s = a("x"), + l = a("y"); + if ( + (i.getComponentMethod( + "calendars", + "handleTraceDefaults", + )(t, e, ["x", "y"], r), + s) + ) { + var u = n.minRowLength(s); + l + ? (o = Math.min(u, n.minRowLength(l))) + : ((o = u), a("y0"), a("dy")); + } else { + if (!l) return 0; + (o = n.minRowLength(l)), a("x0"), a("dx"); + } + return (e._length = o), o; + }; + }, + 44542: function (t, e, r) { + "use strict"; + var n = r(82196), + i = r(50693), + a = r(12663).axisHoverFormat, + o = r(5386).fF, + s = r(5386).si, + l = r(9012), + u = r(29659), + c = r(87381), + f = r(1426).extendFlat, + h = r(30962).overrideAll, + p = r(78607), + d = n.line, + v = n.marker, + g = v.line, + y = f( + { + width: d.width, + dash: { + valType: "enumerated", + values: p(u), + dflt: "solid", + }, + }, + i("line"), + ), + m = (t.exports = h( + { + x: n.x, + y: n.y, + z: { valType: "data_array" }, + text: f({}, n.text, {}), + texttemplate: s({}, {}), + hovertext: f({}, n.hovertext, {}), + hovertemplate: o(), + xhoverformat: a("x"), + yhoverformat: a("y"), + zhoverformat: a("z"), + mode: f({}, n.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: n.connectgaps, + line: y, + marker: f( + { + symbol: { + valType: "enumerated", + values: p(c), + dflt: "circle", + arrayOk: !0, + }, + size: f({}, v.size, { dflt: 8 }), + sizeref: v.sizeref, + sizemin: v.sizemin, + sizemode: v.sizemode, + opacity: f({}, v.opacity, { arrayOk: !1 }), + colorbar: v.colorbar, + line: f( + { width: f({}, g.width, { arrayOk: !1 }) }, + i("marker.line"), + ), + }, + i("marker"), + ), + textposition: f({}, n.textposition, { + dflt: "top center", + }), + textfont: { + color: n.textfont.color, + size: n.textfont.size, + family: f({}, n.textfont.family, { arrayOk: !1 }), + }, + opacity: l.opacity, + hoverinfo: f({}, l.hoverinfo), + }, + "calc", + "nested", + )); + m.x.editType = + m.y.editType = + m.z.editType = + "calc+clearAxisTypes"; + }, + 36563: function (t, e, r) { + "use strict"; + var n = r(75225), + i = r(36922); + t.exports = function (t, e) { + var r = [{ x: !1, y: !1, trace: e, t: {} }]; + return n(r, e), i(t, e), r; + }; + }, + 67336: function (t, e, r) { + "use strict"; + var n = r(73972); + function i(t, e, r, i) { + if (!e || !e.visible) return null; + for ( + var a = n.getComponentMethod( + "errorbars", + "makeComputeError", + )(e), + o = new Array(t.length), + s = 0; + s < t.length; + s++ + ) { + var l = a(+t[s], s); + if ("log" === i.type) { + var u = i.c2l(t[s]), + c = t[s] - l[0], + f = t[s] + l[1]; + if ( + ((o[s] = [ + (i.c2l(c, !0) - u) * r, + (i.c2l(f, !0) - u) * r, + ]), + c > 0) + ) { + var h = i.c2l(c); + i._lowerLogErrorBound || + (i._lowerLogErrorBound = h), + (i._lowerErrorBound = Math.min( + i._lowerLogErrorBound, + h, + )); + } + } else o[s] = [-l[0] * r, l[1] * r]; + } + return o; + } + t.exports = function (t, e, r) { + var n = [ + i(t.x, t.error_x, e[0], r.xaxis), + i(t.y, t.error_y, e[1], r.yaxis), + i(t.z, t.error_z, e[2], r.zaxis), + ], + a = (function (t) { + for (var e = 0; e < t.length; e++) + if (t[e]) return t[e].length; + return 0; + })(n); + if (0 === a) return null; + for (var o = new Array(a), s = 0; s < a; s++) { + for ( + var l = [ + [0, 0, 0], + [0, 0, 0], + ], + u = 0; + u < 3; + u++ + ) + if (n[u]) + for (var c = 0; c < 2; c++) l[c][u] = n[u][s][c]; + o[s] = l; + } + return o; + }; + }, + 58925: function (t, e, r) { + "use strict"; + var n = r(9330).gl_line3d, + i = r(9330).gl_scatter3d, + a = r(9330).gl_error3d, + o = r(9330).gl_mesh3d, + s = r(9330).delaunay_triangulate, + l = r(71828), + u = r(78614), + c = r(81697).formatColor, + f = r(39984), + h = r(29659), + p = r(87381), + d = r(89298), + v = r(23469).appendArrayPointValue, + g = r(67336); + function y(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 m = y.prototype; + function x(t) { + return null == t + ? 0 + : t.indexOf("left") > -1 + ? -1 + : t.indexOf("right") > -1 + ? 1 + : 0; + } + function b(t) { + return null == t + ? 0 + : t.indexOf("top") > -1 + ? -1 + : t.indexOf("bottom") > -1 + ? 1 + : 0; + } + function _(t, e) { + return e(4 * t); + } + function w(t) { + return p[t]; + } + function T(t, e, r, n, i) { + var a = null; + if (l.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, l.identity); + return a; + } + function k(t) { + if (l.isArrayOrTypedArray(t)) { + var e = t[0]; + return ( + l.isArrayOrTypedArray(e) && (t = e), + "rgb(" + + t.slice(0, 3).map(function (t) { + return Math.round(255 * t); + }) + + ")" + ); + } + return null; + } + function A(t) { + return l.isArrayOrTypedArray(t) + ? 4 === t.length && "number" == typeof t[0] + ? k(t) + : t.map(k) + : null; + } + (m.handlePick = function (t) { + if ( + t.object && + (t.object === this.linePlot || + t.object === this.delaunayMesh || + t.object === this.textMarkers || + t.object === this.scatterPlot) + ) { + var e = (t.index = t.data.index); + return ( + t.object.highlight && t.object.highlight(null), + this.scatterPlot && + ((t.object = this.scatterPlot), + this.scatterPlot.highlight(t.data)), + (t.textLabel = ""), + this.textLabels && + (Array.isArray(this.textLabels) + ? (this.textLabels[e] || + 0 === this.textLabels[e]) && + (t.textLabel = this.textLabels[e]) + : (t.textLabel = this.textLabels)), + (t.traceCoordinate = [ + this.data.x[e], + this.data.y[e], + this.data.z[e], + ]), + !0 + ); + } + }), + (m.update = function (t) { + var e, + r, + p, + y, + m = this.scene.glplot.gl, + k = h.solid; + this.data = t; + var M = (function (t, e) { + var r, + n, + i, + a, + o, + s, + h = [], + p = t.fullSceneLayout, + y = t.dataScale, + m = p.xaxis, + k = p.yaxis, + A = p.zaxis, + M = e.marker, + S = e.line, + E = e.x || [], + L = e.y || [], + C = e.z || [], + O = E.length, + P = e.xcalendar, + I = e.ycalendar, + D = e.zcalendar; + for (o = 0; o < O; o++) + (r = m.d2l(E[o], 0, P) * y[0]), + (n = k.d2l(L[o], 0, I) * y[1]), + (i = A.d2l(C[o], 0, D) * y[2]), + (h[o] = [r, n, i]); + if (Array.isArray(e.text)) s = e.text; + else if (void 0 !== e.text) + for (s = new Array(O), o = 0; o < O; o++) + s[o] = e.text; + function z(t, e) { + var r = p[t]; + return d.tickText(r, r.d2l(e), !0).text; + } + var R = e.texttemplate; + if (R) { + var F = t.fullLayout._d3locale, + B = Array.isArray(R), + N = B ? Math.min(R.length, O) : O, + j = B + ? function (t) { + return R[t]; + } + : function () { + return R; + }; + for (s = new Array(N), o = 0; o < N; o++) { + var U = { x: E[o], y: L[o], z: C[o] }, + V = { + xLabel: z("xaxis", E[o]), + yLabel: z("yaxis", L[o]), + zLabel: z("zaxis", C[o]), + }, + H = {}; + v(H, e, o); + var q = e._meta || {}; + s[o] = l.texttemplateString( + j(o), + V, + F, + H, + U, + q, + ); + } + } + if ( + ((a = { position: h, mode: e.mode, text: s }), + "line" in e && + ((a.lineColor = c(S, 1, O)), + (a.lineWidth = S.width), + (a.lineDashes = S.dash)), + "marker" in e) + ) { + var G = f(e); + (a.scatterColor = c(M, 1, O)), + (a.scatterSize = T(M.size, O, _, 20, G)), + (a.scatterMarker = T(M.symbol, O, w, "●")), + (a.scatterLineWidth = M.line.width), + (a.scatterLineColor = c(M.line, 1, O)), + (a.scatterAngle = 0); + } + "textposition" in e && + ((a.textOffset = (function (t) { + var e = [0, 0]; + if (Array.isArray(t)) + for (var r = 0; r < t.length; r++) + (e[r] = [0, 0]), + t[r] && + ((e[r][0] = x(t[r])), + (e[r][1] = b(t[r]))); + else (e[0] = x(t)), (e[1] = b(t)); + return e; + })(e.textposition)), + (a.textColor = c(e.textfont, 1, O)), + (a.textSize = T( + e.textfont.size, + O, + l.identity, + 12, + )), + (a.textFont = e.textfont.family), + (a.textAngle = 0)); + var Z = ["x", "y", "z"]; + for ( + a.project = [!1, !1, !1], + a.projectScale = [1, 1, 1], + a.projectOpacity = [1, 1, 1], + o = 0; + o < 3; + ++o + ) { + var W = e.projection[Z[o]]; + (a.project[o] = W.show) && + ((a.projectOpacity[o] = W.opacity), + (a.projectScale[o] = W.scale)); + } + a.errorBounds = g(e, y, p); + var Y = (function (t) { + for ( + var e = [0, 0, 0], + r = [ + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + ], + n = [1, 1, 1], + i = 0; + i < 3; + i++ + ) { + var a = t[i]; + a && + !1 !== a.copy_zstyle && + !1 !== t[2].visible && + (a = t[2]), + a && + a.visible && + ((e[i] = a.width / 2), + (r[i] = u(a.color)), + (n[i] = a.thickness)); + } + return { capSize: e, color: r, lineWidth: n }; + })([e.error_x, e.error_y, e.error_z]); + return ( + (a.errorColor = Y.color), + (a.errorLineWidth = Y.lineWidth), + (a.errorCapSize = Y.capSize), + (a.delaunayAxis = e.surfaceaxis), + (a.delaunayColor = u(e.surfacecolor)), + a + ); + })(this.scene, t); + "mode" in M && (this.mode = M.mode), + "lineDashes" in M && + M.lineDashes in h && + (k = h[M.lineDashes]), + (this.color = A(M.scatterColor) || A(M.lineColor)), + (this.dataPoints = M.position), + (e = { + gl: this.scene.glplot.gl, + position: M.position, + color: M.lineColor, + lineWidth: M.lineWidth || 1, + dashes: k[0], + dashScale: k[1], + opacity: t.opacity, + connectGaps: t.connectgaps, + }), + -1 !== this.mode.indexOf("lines") + ? this.linePlot + ? this.linePlot.update(e) + : ((this.linePlot = n(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 S = t.opacity; + if ( + (t.marker && + void 0 !== t.marker.opacity && + (S *= t.marker.opacity), + (r = { + gl: this.scene.glplot.gl, + position: M.position, + color: M.scatterColor, + size: M.scatterSize, + glyph: M.scatterMarker, + opacity: S, + orthographic: !0, + lineWidth: M.scatterLineWidth, + lineColor: M.scatterLineColor, + project: M.project, + projectScale: M.projectScale, + projectOpacity: M.projectOpacity, + }), + -1 !== this.mode.indexOf("markers") + ? this.scatterPlot + ? this.scatterPlot.update(r) + : ((this.scatterPlot = i(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)), + (y = { + gl: this.scene.glplot.gl, + position: M.position, + glyph: M.text, + color: M.textColor, + size: M.textSize, + angle: M.textAngle, + alignment: M.textOffset, + font: M.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(y) + : ((this.textMarkers = i(y)), + (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)), + (p = { + gl: this.scene.glplot.gl, + position: M.position, + color: M.errorColor, + error: M.errorBounds, + lineWidth: M.errorLineWidth, + capSize: M.errorCapSize, + opacity: t.opacity, + }), + this.errorBars + ? M.errorBounds + ? this.errorBars.update(p) + : (this.scene.glplot.remove(this.errorBars), + this.errorBars.dispose(), + (this.errorBars = null)) + : M.errorBounds && + ((this.errorBars = a(p)), + (this.errorBars._trace = this), + this.scene.glplot.add(this.errorBars)), + M.delaunayAxis >= 0) + ) { + var E = (function (t, e, r) { + var n, + i = (r + 1) % 3, + a = (r + 2) % 3, + o = [], + l = []; + for (n = 0; n < t.length; ++n) { + var u = t[n]; + !isNaN(u[i]) && + isFinite(u[i]) && + !isNaN(u[a]) && + isFinite(u[a]) && + (o.push([u[i], u[a]]), l.push(n)); + } + var c = s(o); + for (n = 0; n < c.length; ++n) + for (var f = c[n], h = 0; h < f.length; ++h) + f[h] = l[f[h]]; + return { positions: t, cells: c, meshColor: e }; + })(M.position, M.delaunayColor, M.delaunayAxis); + (E.opacity = t.opacity), + this.delaunayMesh + ? this.delaunayMesh.update(E) + : ((E.gl = m), + (this.delaunayMesh = o(E)), + (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)); + }), + (m.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()); + }), + (t.exports = function (t, e) { + var r = new y(t, e.uid); + return r.update(e), r; + }); + }, + 21428: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(34098), + o = r(49508), + s = r(11058), + l = r(82410), + u = r(44542); + t.exports = function (t, e, r, c) { + function f(r, n) { + return i.coerce(t, e, u, r, n); + } + var h = (function (t, e, r, i) { + var a = 0, + o = r("x"), + s = r("y"), + l = r("z"); + return ( + n.getComponentMethod( + "calendars", + "handleTraceDefaults", + )(t, e, ["x", "y", "z"], i), + o && + s && + l && + ((a = Math.min(o.length, s.length, l.length)), + (e._length = + e._xlength = + e._ylength = + e._zlength = + a)), + a + ); + })(t, e, f, c); + if (h) { + f("text"), + f("hovertext"), + f("hovertemplate"), + f("xhoverformat"), + f("yhoverformat"), + f("zhoverformat"), + f("mode"), + a.hasLines(e) && + (f("connectgaps"), s(t, e, r, c, f)), + a.hasMarkers(e) && + o(t, e, r, c, f, { noSelect: !0, noAngle: !0 }), + a.hasText(e) && + (f("texttemplate"), + l(t, e, c, f, { noSelect: !0 })); + var p = (e.line || {}).color, + d = (e.marker || {}).color; + f("surfaceaxis") >= 0 && f("surfacecolor", p || d); + for (var v = ["x", "y", "z"], g = 0; g < 3; ++g) { + var y = "projection." + v[g]; + f(y + ".show") && + (f(y + ".opacity"), f(y + ".scale")); + } + var m = n.getComponentMethod( + "errorbars", + "supplyDefaults", + ); + m(t, e, p || d || r, { axis: "z" }), + m(t, e, p || d || r, { axis: "y", inherit: "z" }), + m(t, e, p || d || r, { axis: "x", inherit: "z" }); + } else e.visible = !1; + }; + }, + 13551: function (t, e, r) { + "use strict"; + t.exports = { + plot: r(58925), + attributes: r(44542), + markerSymbols: r(87381), + supplyDefaults: r(21428), + colorbar: [ + { container: "marker", min: "cmin", max: "cmax" }, + { container: "line", min: "cmin", max: "cmax" }, + ], + calc: r(36563), + moduleType: "trace", + name: "scatter3d", + basePlotModule: r(58547), + categories: [ + "gl3d", + "symbols", + "showLegend", + "scatter-like", + ], + meta: {}, + }; + }, + 97001: function (t, e, r) { + "use strict"; + var n = r(82196), + i = r(9012), + a = r(5386).fF, + o = r(5386).si, + s = r(50693), + l = r(1426).extendFlat, + u = n.marker, + c = n.line, + f = u.line; + t.exports = { + carpet: { valType: "string", editType: "calc" }, + a: { valType: "data_array", editType: "calc" }, + b: { valType: "data_array", editType: "calc" }, + mode: l({}, n.mode, { dflt: "markers" }), + text: l({}, n.text, {}), + texttemplate: o( + { editType: "plot" }, + { keys: ["a", "b", "text"] }, + ), + hovertext: l({}, n.hovertext, {}), + line: { + color: c.color, + width: c.width, + dash: c.dash, + backoff: c.backoff, + shape: l({}, c.shape, { + values: ["linear", "spline"], + }), + smoothing: c.smoothing, + editType: "calc", + }, + connectgaps: n.connectgaps, + fill: l({}, n.fill, { + values: ["none", "toself", "tonext"], + dflt: "none", + }), + fillcolor: n.fillcolor, + marker: l( + { + symbol: u.symbol, + opacity: u.opacity, + maxdisplayed: u.maxdisplayed, + angle: u.angle, + angleref: u.angleref, + standoff: u.standoff, + size: u.size, + sizeref: u.sizeref, + sizemin: u.sizemin, + sizemode: u.sizemode, + line: l( + { width: f.width, editType: "calc" }, + s("marker.line"), + ), + gradient: u.gradient, + editType: "calc", + }, + s("marker"), + ), + textfont: n.textfont, + textposition: n.textposition, + selected: n.selected, + unselected: n.unselected, + hoverinfo: l({}, i.hoverinfo, { + flags: ["a", "b", "text", "name"], + }), + hoveron: n.hoveron, + hovertemplate: a(), + }; + }, + 34618: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(36922), + a = r(75225), + o = r(66279), + s = r(47761).calcMarkerSize, + l = r(22882); + t.exports = function (t, e) { + var r = (e._carpetTrace = l(t, e)); + if (r && r.visible && "legendonly" !== r.visible) { + var u; + (e.xaxis = r.xaxis), (e.yaxis = r.yaxis); + var c, + f, + h = e._length, + p = new Array(h), + d = !1; + for (u = 0; u < h; u++) + if (((c = e.a[u]), (f = e.b[u]), n(c) && n(f))) { + var v = r.ab2xy(+c, +f, !0), + g = r.isVisible(+c, +f); + g || (d = !0), + (p[u] = { + x: v[0], + y: v[1], + a: c, + b: f, + vis: g, + }); + } else p[u] = { x: !1, y: !1 }; + return ( + (e._needsCull = d), + (p[0].carpet = r), + (p[0].trace = e), + s(e, h), + i(t, e), + a(p, e), + o(p, e), + p + ); + } + }; + }, + 98965: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(47581), + a = r(34098), + o = r(49508), + s = r(11058), + l = r(94039), + u = r(82410), + c = r(28908), + f = r(97001); + t.exports = function (t, e, r, h) { + function p(r, i) { + return n.coerce(t, e, f, r, i); + } + p("carpet"), (e.xaxis = "x"), (e.yaxis = "y"); + var d = p("a"), + v = p("b"), + g = Math.min(d.length, v.length); + if (g) { + (e._length = g), + p("text"), + p("texttemplate"), + p("hovertext"), + p( + "mode", + g < i.PTS_LINESONLY ? "lines+markers" : "lines", + ), + a.hasLines(e) && + (s(t, e, r, h, p, { backoff: !0 }), + l(t, e, p), + p("connectgaps")), + a.hasMarkers(e) && + o(t, e, r, h, p, { gradient: !0 }), + a.hasText(e) && u(t, e, h, p); + var y = []; + (a.hasMarkers(e) || a.hasText(e)) && + (p("marker.maxdisplayed"), y.push("points")), + p("fill"), + "none" !== e.fill && + (c(t, e, r, p), a.hasLines(e) || l(t, e, p)), + ("tonext" !== e.fill && "toself" !== e.fill) || + y.push("fills"), + "fills" !== p("hoveron", y.join("+") || "points") && + p("hovertemplate"), + n.coerceSelectionMarkerOpacity(e, p); + } else e.visible = !1; + }; + }, + 16165: function (t) { + "use strict"; + t.exports = function (t, e, r, n, i) { + var a = n[i]; + return (t.a = a.a), (t.b = a.b), (t.y = a.y), t; + }; + }, + 48953: function (t) { + "use strict"; + t.exports = function (t, e) { + var r = {}, + n = e._carpet, + i = n.ab2ij([t.a, t.b]), + a = Math.floor(i[0]), + o = i[0] - a, + s = Math.floor(i[1]), + l = i[1] - s, + u = n.evalxy([], a, s, o, l); + return (r.yLabel = u[1].toFixed(3)), r; + }; + }, + 22931: function (t, e, r) { + "use strict"; + var n = r(33720), + i = r(71828).fillText; + t.exports = function (t, e, r, a) { + var o = n(t, e, r, a); + if (o && !1 !== o[0].index) { + var s = o[0]; + if (void 0 === s.index) { + var l = 1 - s.y0 / t.ya._length, + u = t.xa._length, + c = (u * l) / 2, + f = u - c; + return ( + (s.x0 = Math.max(Math.min(s.x0, f), c)), + (s.x1 = Math.max(Math.min(s.x1, f), c)), + o + ); + } + var h = s.cd[s.index]; + (s.a = h.a), + (s.b = h.b), + (s.xLabelVal = void 0), + (s.yLabelVal = void 0); + var p = s.trace, + d = p._carpet, + v = p._module.formatLabels(h, p); + (s.yLabel = v.yLabel), delete s.text; + var g = []; + if (!p.hovertemplate) { + var y = (h.hi || p.hoverinfo).split("+"); + -1 !== y.indexOf("all") && (y = ["a", "b", "text"]), + -1 !== y.indexOf("a") && m(d.aaxis, h.a), + -1 !== y.indexOf("b") && m(d.baxis, h.b), + g.push("y: " + s.yLabel), + -1 !== y.indexOf("text") && i(h, p, g), + (s.extraText = g.join("
")); + } + return o; + } + function m(t, e) { + var r; + (r = + t.labelprefix && t.labelprefix.length > 0 + ? t.labelprefix.replace(/ = $/, "") + : t._hovertitle), + g.push(r + ": " + e.toFixed(3) + t.labelsuffix); + } + }; + }, + 46858: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(97001), + supplyDefaults: r(98965), + colorbar: r(4898), + formatLabels: r(48953), + calc: r(34618), + plot: r(1913), + style: r(16296).style, + styleOnSelect: r(16296).styleOnSelect, + hoverPoints: r(22931), + selectPoints: r(98002), + eventData: r(16165), + moduleType: "trace", + name: "scattercarpet", + basePlotModule: r(93612), + categories: [ + "svg", + "carpet", + "symbols", + "showLegend", + "carpetDependent", + "zoomScale", + ], + meta: {}, + }; + }, + 1913: function (t, e, r) { + "use strict"; + var n = r(32663), + i = r(89298), + a = r(91424); + t.exports = function (t, e, r, o) { + var s, + l, + u, + c = r[0][0].carpet, + f = i.getFromId(t, c.xaxis || "x"), + h = i.getFromId(t, c.yaxis || "y"), + p = { xaxis: f, yaxis: h, plot: e.plot }; + for (s = 0; s < r.length; s++) + ((l = r[s][0].trace)._xA = f), (l._yA = h); + for (n(t, p, r, o), s = 0; s < r.length; s++) + (l = r[s][0].trace), + (u = o.selectAll("g.trace" + l.uid + " .js-line")), + a.setClipUrl(u, r[s][0].carpet._clipPathId, t); + }; + }, + 19316: function (t, e, r) { + "use strict"; + var n = r(5386).fF, + i = r(5386).si, + a = r(82196), + o = r(9012), + s = r(50693), + l = r(79952).P, + u = r(1426).extendFlat, + c = r(30962).overrideAll, + f = a.marker, + h = a.line, + p = f.line; + t.exports = c( + { + lon: { valType: "data_array" }, + lat: { valType: "data_array" }, + locations: { valType: "data_array" }, + locationmode: { + valType: "enumerated", + values: [ + "ISO-3", + "USA-states", + "country names", + "geojson-id", + ], + dflt: "ISO-3", + }, + geojson: { valType: "any", editType: "calc" }, + featureidkey: { + valType: "string", + editType: "calc", + dflt: "id", + }, + mode: u({}, a.mode, { dflt: "markers" }), + text: u({}, a.text, {}), + texttemplate: i( + { editType: "plot" }, + { keys: ["lat", "lon", "location", "text"] }, + ), + hovertext: u({}, a.hovertext, {}), + textfont: a.textfont, + textposition: a.textposition, + line: { color: h.color, width: h.width, dash: l }, + connectgaps: a.connectgaps, + marker: u( + { + symbol: f.symbol, + opacity: f.opacity, + angle: f.angle, + angleref: u({}, f.angleref, { + values: ["previous", "up", "north"], + }), + standoff: f.standoff, + size: f.size, + sizeref: f.sizeref, + sizemin: f.sizemin, + sizemode: f.sizemode, + colorbar: f.colorbar, + line: u({ width: p.width }, s("marker.line")), + gradient: f.gradient, + }, + s("marker"), + ), + fill: { + valType: "enumerated", + values: ["none", "toself"], + dflt: "none", + }, + fillcolor: a.fillcolor, + selected: a.selected, + unselected: a.unselected, + hoverinfo: u({}, o.hoverinfo, { + flags: ["lon", "lat", "location", "text", "name"], + }), + hovertemplate: n(), + }, + "calc", + "nested", + ); + }, + 84622: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(50606).BADNUM, + a = r(36922), + o = r(75225), + s = r(66279), + l = r(71828)._; + function u(t) { + return t && "string" == typeof t; + } + t.exports = function (t, e) { + var r, + c = Array.isArray(e.locations), + f = c ? e.locations.length : e._length, + h = new Array(f); + r = e.geojson + ? function (t) { + return u(t) || n(t); + } + : u; + for (var p = 0; p < f; p++) { + var d = (h[p] = {}); + if (c) { + var v = e.locations[p]; + d.loc = r(v) ? v : null; + } else { + var g = e.lon[p], + y = e.lat[p]; + n(g) && n(y) + ? (d.lonlat = [+g, +y]) + : (d.lonlat = [i, i]); + } + } + return ( + o(h, e), + a(t, e), + s(h, e), + f && + (h[0].t = { + labels: { + lat: l(t, "lat:") + " ", + lon: l(t, "lon:") + " ", + }, + }), + h + ); + }; + }, + 10659: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(34098), + a = r(49508), + o = r(11058), + s = r(82410), + l = r(28908), + u = r(19316); + t.exports = function (t, e, r, c) { + function f(r, i) { + return n.coerce(t, e, u, r, i); + } + var h, + p = f("locations"); + if (p && p.length) { + var d, + v = f("geojson"); + (("string" == typeof v && "" !== v) || + n.isPlainObject(v)) && + (d = "geojson-id"), + "geojson-id" === f("locationmode", d) && + f("featureidkey"), + (h = p.length); + } else { + var g = f("lon") || [], + y = f("lat") || []; + h = Math.min(g.length, y.length); + } + h + ? ((e._length = h), + f("text"), + f("hovertext"), + f("hovertemplate"), + f("mode"), + i.hasLines(e) && + (o(t, e, r, c, f), f("connectgaps")), + i.hasMarkers(e) && + a(t, e, r, c, f, { gradient: !0 }), + i.hasText(e) && (f("texttemplate"), s(t, e, c, f)), + f("fill"), + "none" !== e.fill && l(t, e, r, f), + n.coerceSelectionMarkerOpacity(e, f)) + : (e.visible = !1); + }; + }, + 84084: function (t) { + "use strict"; + t.exports = function (t, e, r, n, i) { + (t.lon = e.lon), + (t.lat = e.lat), + (t.location = e.loc ? e.loc : null); + var a = n[i]; + return ( + a.fIn && + a.fIn.properties && + (t.properties = a.fIn.properties), + t + ); + }; + }, + 82719: function (t, e, r) { + "use strict"; + var n = r(89298); + t.exports = function (t, e, r) { + var i = {}, + a = r[e.geo]._subplot.mockAxis, + o = t.lonlat; + return ( + (i.lonLabel = n.tickText(a, a.c2l(o[0]), !0).text), + (i.latLabel = n.tickText(a, a.c2l(o[1]), !0).text), + i + ); + }; + }, + 14977: function (t, e, r) { + "use strict"; + var n = r(30211), + i = r(50606).BADNUM, + a = r(34603), + o = r(71828).fillText, + s = r(19316); + t.exports = function (t, e, r) { + var l = t.cd, + u = l[0].trace, + c = t.xa, + f = t.ya, + h = t.subplot, + p = h.projection.isLonLatOverEdges, + d = h.project; + if ( + (n.getClosest( + l, + function (t) { + var n = t.lonlat; + if (n[0] === i) return 1 / 0; + if (p(n)) return 1 / 0; + var a = d(n), + o = d([e, r]), + s = Math.abs(a[0] - o[0]), + l = Math.abs(a[1] - o[1]), + u = Math.max(3, t.mrc || 0); + return Math.max( + Math.sqrt(s * s + l * l) - u, + 1 - 3 / u, + ); + }, + t, + ), + !1 !== t.index) + ) { + var v = l[t.index], + g = v.lonlat, + y = [c.c2p(g), f.c2p(g)], + m = v.mrc || 1; + (t.x0 = y[0] - m), + (t.x1 = y[0] + m), + (t.y0 = y[1] - m), + (t.y1 = y[1] + m), + (t.loc = v.loc), + (t.lon = g[0]), + (t.lat = g[1]); + var x = {}; + x[u.geo] = { _subplot: h }; + var b = u._module.formatLabels(v, u, x); + return ( + (t.lonLabel = b.lonLabel), + (t.latLabel = b.latLabel), + (t.color = a(u, v)), + (t.extraText = (function (t, e, r, n) { + if (!t.hovertemplate) { + var i = e.hi || t.hoverinfo, + a = + "all" === i + ? s.hoverinfo.flags + : i.split("+"), + l = + -1 !== a.indexOf("location") && + Array.isArray(t.locations), + u = -1 !== a.indexOf("lon"), + c = -1 !== a.indexOf("lat"), + f = -1 !== a.indexOf("text"), + h = []; + return ( + l + ? h.push(e.loc) + : u && c + ? h.push( + "(" + + p(r.latLabel) + + ", " + + p(r.lonLabel) + + ")", + ) + : u + ? h.push(n.lon + p(r.lonLabel)) + : c && h.push(n.lat + p(r.latLabel)), + f && o(e, t, h), + h.join("
") + ); + } + function p(t) { + return t + "°"; + } + })(u, v, t, l[0].t.labels)), + (t.hovertemplate = u.hovertemplate), + [t] + ); + } + }; + }, + 17988: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(19316), + supplyDefaults: r(10659), + colorbar: r(4898), + formatLabels: r(82719), + calc: r(84622), + calcGeoJSON: r(89171).calcGeoJSON, + plot: r(89171).plot, + style: r(33095), + styleOnSelect: r(16296).styleOnSelect, + hoverPoints: r(14977), + eventData: r(84084), + selectPoints: r(20548), + moduleType: "trace", + name: "scattergeo", + basePlotModule: r(44622), + categories: [ + "geo", + "symbols", + "showLegend", + "scatter-like", + ], + meta: {}, + }; + }, + 89171: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(90973).getTopojsonFeatures, + o = r(18214), + s = r(41327), + l = r(71739).findExtremes, + u = r(50606).BADNUM, + c = r(47761).calcMarkerSize, + f = r(34098), + h = r(33095); + t.exports = { + calcGeoJSON: function (t, e) { + var r, + n, + i = t[0].trace, + o = e[i.geo], + f = o._subplot, + h = i._length; + if (Array.isArray(i.locations)) { + var p = i.locationmode, + d = + "geojson-id" === p + ? s.extractTraceFeature(t) + : a(i, f.topojson); + for (r = 0; r < h; r++) { + n = t[r]; + var v = + "geojson-id" === p + ? n.fOut + : s.locationToFeature(p, n.loc, d); + n.lonlat = v ? v.properties.ct : [u, u]; + } + } + var g, + y, + m = { padded: !0 }; + if ( + "geojson" === o.fitbounds && + "geojson-id" === i.locationmode + ) { + var x = s.computeBbox(s.getTraceGeojson(i)); + (g = [x[0], x[2]]), (y = [x[1], x[3]]); + } else { + for ( + g = new Array(h), y = new Array(h), r = 0; + r < h; + r++ + ) + (n = t[r]), + (g[r] = n.lonlat[0]), + (y[r] = n.lonlat[1]); + m.ppad = c(i, h); + } + (i._extremes.lon = l(o.lonaxis._ax, g, m)), + (i._extremes.lat = l(o.lataxis._ax, y, m)); + }, + plot: function (t, e, r) { + var a = e.layers.frontplot.select(".scatterlayer"), + s = i.makeTraceGroups(a, r, "trace scattergeo"); + function l(t, e) { + t.lonlat[0] === u && n.select(e).remove(); + } + s.selectAll("*").remove(), + s.each(function (e) { + var r = n.select(this), + a = e[0].trace; + if (f.hasLines(a) || "none" !== a.fill) { + var s = o.calcTraceToLineCoords(e), + u = + "none" !== a.fill + ? o.makePolygon(s) + : o.makeLine(s); + r.selectAll("path.js-line") + .data([{ geojson: u, trace: a }]) + .enter() + .append("path") + .classed("js-line", !0) + .style("stroke-miterlimit", 2); + } + f.hasMarkers(a) && + r + .selectAll("path.point") + .data(i.identity) + .enter() + .append("path") + .classed("point", !0) + .each(function (t) { + l(t, this); + }), + f.hasText(a) && + r + .selectAll("g") + .data(i.identity) + .enter() + .append("g") + .append("text") + .each(function (t) { + l(t, this); + }), + h(t, e); + }); + }, + }; + }, + 20548: function (t, e, r) { + "use strict"; + var n = r(34098), + i = r(50606).BADNUM; + t.exports = function (t, e) { + var r, + a, + o, + s, + l, + u = t.cd, + c = t.xaxis, + f = t.yaxis, + h = [], + p = u[0].trace; + if (!n.hasMarkers(p) && !n.hasText(p)) return []; + if (!1 === e) + for (l = 0; l < u.length; l++) u[l].selected = 0; + else + for (l = 0; l < u.length; l++) + (a = (r = u[l]).lonlat)[0] !== i && + ((o = c.c2p(a)), + (s = f.c2p(a)), + e.contains([o, s], null, l, t) + ? (h.push({ + pointNumber: l, + lon: a[0], + lat: a[1], + }), + (r.selected = 1)) + : (r.selected = 0)); + return h; + }; + }, + 33095: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(91424), + a = r(7901), + o = r(16296), + s = o.stylePoints, + l = o.styleText; + t.exports = function (t, e) { + e && + (function (t, e) { + var r = e[0].trace, + o = e[0].node3; + o.style("opacity", e[0].trace.opacity), + s(o, r, t), + l(o, r, t), + o + .selectAll("path.js-line") + .style("fill", "none") + .each(function (t) { + var e = n.select(this), + r = t.trace, + o = r.line || {}; + e + .call(a.stroke, o.color) + .call( + i.dashLine, + o.dash || "", + o.width || 0, + ), + "none" !== r.fill && + e.call(a.fill, r.fillcolor); + }); + })(t, e); + }; + }, + 42341: function (t, e, r) { + "use strict"; + var n = r(9012), + i = r(82196), + a = r(12663).axisHoverFormat, + o = r(50693), + s = r(78607), + l = r(1426).extendFlat, + u = r(30962).overrideAll, + c = r(78232).DASHES, + f = i.line, + h = i.marker, + p = h.line, + d = (t.exports = u( + { + x: i.x, + x0: i.x0, + dx: i.dx, + y: i.y, + y0: i.y0, + dy: i.dy, + xperiod: i.xperiod, + yperiod: i.yperiod, + xperiod0: i.xperiod0, + yperiod0: i.yperiod0, + xperiodalignment: i.xperiodalignment, + yperiodalignment: i.yperiodalignment, + xhoverformat: a("x"), + yhoverformat: a("y"), + text: i.text, + hovertext: i.hovertext, + textposition: i.textposition, + textfont: i.textfont, + mode: { + valType: "flaglist", + flags: ["lines", "markers", "text"], + extras: ["none"], + }, + line: { + color: f.color, + width: f.width, + shape: { + valType: "enumerated", + values: ["linear", "hv", "vh", "hvh", "vhv"], + dflt: "linear", + editType: "plot", + }, + dash: { + valType: "enumerated", + values: s(c), + dflt: "solid", + }, + }, + marker: l({}, o("marker"), { + symbol: h.symbol, + angle: h.angle, + size: h.size, + sizeref: h.sizeref, + sizemin: h.sizemin, + sizemode: h.sizemode, + opacity: h.opacity, + colorbar: h.colorbar, + line: l({}, o("marker.line"), { width: p.width }), + }), + connectgaps: i.connectgaps, + fill: l({}, i.fill, { dflt: "none" }), + fillcolor: i.fillcolor, + selected: { + marker: i.selected.marker, + textfont: i.selected.textfont, + }, + unselected: { + marker: i.unselected.marker, + textfont: i.unselected.textfont, + }, + opacity: n.opacity, + }, + "calc", + "nested", + )); + (d.x.editType = + d.y.editType = + d.x0.editType = + d.y0.editType = + "calc+clearAxisTypes"), + (d.hovertemplate = i.hovertemplate), + (d.texttemplate = i.texttemplate); + }, + 72156: function (t, e, r) { + "use strict"; + var n = r(20794); + t.exports = { + moduleType: "trace", + name: "scattergl", + basePlotModule: r(93612), + categories: [ + "gl", + "regl", + "cartesian", + "symbols", + "errorBarsOK", + "showLegend", + "scatter-like", + ], + attributes: r(42341), + supplyDefaults: r(47148), + crossTraceDefaults: r(34936), + colorbar: r(4898), + formatLabels: r(68101), + calc: r(45032), + hoverPoints: n.hoverPoints, + selectPoints: r(58147), + meta: {}, + }; + }, + 45032: function (t, e, r) { + "use strict"; + var n = r(88294), + i = r(71828), + a = r(41675), + o = r(71739).findExtremes, + s = r(42973), + l = r(47761), + u = l.calcMarkerSize, + c = l.calcAxisExpansion, + f = l.setFirstScatter, + h = r(36922), + p = r(19635), + d = r(38967), + v = r(50606).BADNUM, + g = r(78232).TOO_MANY_POINTS; + function y(t, e, r) { + var n = t._extremes[e._id], + i = o(e, r._bnds, { padded: !0 }); + (n.min = n.min.concat(i.min)), + (n.max = n.max.concat(i.max)); + } + t.exports = function (t, e) { + var r, + o = t._fullLayout, + l = (e._xA = a.getFromId(t, e.xaxis, "x")), + m = (e._yA = a.getFromId(t, e.yaxis, "y")), + x = o._plots[e.xaxis + e.yaxis], + b = e._length, + _ = b >= g, + w = 2 * b, + T = {}, + k = l.makeCalcdata(e, "x"), + A = m.makeCalcdata(e, "y"), + M = s(e, l, "x", k), + S = s(e, m, "y", A), + E = M.vals, + L = S.vals; + (e._x = E), + (e._y = L), + e.xperiodalignment && + ((e._origX = k), + (e._xStarts = M.starts), + (e._xEnds = M.ends)), + e.yperiodalignment && + ((e._origY = A), + (e._yStarts = S.starts), + (e._yEnds = S.ends)); + var C = new Array(w), + O = new Array(b); + for (r = 0; r < b; r++) + (C[2 * r] = E[r] === v ? NaN : E[r]), + (C[2 * r + 1] = L[r] === v ? NaN : L[r]), + (O[r] = r); + if ("log" === l.type) + for (r = 0; r < w; r += 2) C[r] = l.c2l(C[r]); + if ("log" === m.type) + for (r = 1; r < w; r += 2) C[r] = m.c2l(C[r]); + _ && "log" !== l.type && "log" !== m.type + ? (T.tree = n(C)) + : (T.ids = O), + h(t, e); + var P, + I = (function (t, e, r, n, a, o) { + var s = p.style(t, r); + if ( + (s.marker && (s.marker.positions = n), + s.line && + n.length > 1 && + i.extendFlat(s.line, p.linePositions(t, r, n)), + s.errorX || s.errorY) + ) { + var l = p.errorBarPositions(t, r, n, a, o); + s.errorX && i.extendFlat(s.errorX, l.x), + s.errorY && i.extendFlat(s.errorY, l.y); + } + return ( + s.text && + (i.extendFlat( + s.text, + { positions: n }, + p.textPosition(t, r, s.text, s.marker), + ), + i.extendFlat( + s.textSel, + { positions: n }, + p.textPosition(t, r, s.text, s.markerSel), + ), + i.extendFlat( + s.textUnsel, + { positions: n }, + p.textPosition(t, r, s.text, s.markerUnsel), + )), + s + ); + })(t, 0, e, C, E, L), + D = d(t, x); + return ( + f(o, e), + _ + ? I.marker && + (P = + I.marker.sizeAvg || Math.max(I.marker.size, 3)) + : (P = u(e, b)), + c(t, e, l, m, E, L, P), + I.errorX && y(e, l, I.errorX), + I.errorY && y(e, m, I.errorY), + I.fill && !D.fill2d && (D.fill2d = !0), + I.marker && !D.scatter2d && (D.scatter2d = !0), + I.line && !D.line2d && (D.line2d = !0), + (!I.errorX && !I.errorY) || + D.error2d || + (D.error2d = !0), + I.text && !D.glText && (D.glText = !0), + I.marker && (I.marker.snap = b), + D.lineOptions.push(I.line), + D.errorXOptions.push(I.errorX), + D.errorYOptions.push(I.errorY), + D.fillOptions.push(I.fill), + D.markerOptions.push(I.marker), + D.markerSelectedOptions.push(I.markerSel), + D.markerUnselectedOptions.push(I.markerUnsel), + D.textOptions.push(I.text), + D.textSelectedOptions.push(I.textSel), + D.textUnselectedOptions.push(I.textUnsel), + D.selectBatch.push([]), + D.unselectBatch.push([]), + (T._scene = D), + (T.index = D.count), + (T.x = E), + (T.y = L), + (T.positions = C), + D.count++, + [{ x: !1, y: !1, t: T, trace: e }] + ); + }; + }, + 78232: function (t) { + "use strict"; + t.exports = { + TOO_MANY_POINTS: 1e5, + SYMBOL_SDF_SIZE: 200, + SYMBOL_SIZE: 20, + SYMBOL_STROKE: 1, + DOT_RE: /-dot/, + OPEN_RE: /-open/, + DASHES: { + solid: [1], + dot: [1, 1], + dash: [4, 1], + longdash: [8, 1], + dashdot: [4, 1, 1, 1], + longdashdot: [8, 1, 1, 1], + }, + }; + }, + 19635: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(82019), + a = r(25075), + o = r(73972), + s = r(71828), + l = r(91424), + u = r(41675), + c = r(81697).formatColor, + f = r(34098), + h = r(39984), + p = r(68645), + d = r(78232), + v = r(37822).DESELECTDIM, + g = { + start: 1, + left: 1, + end: -1, + right: -1, + middle: 0, + center: 0, + bottom: 1, + top: -1, + }, + y = r(23469).appendArrayPointValue; + function m(t, e) { + var r, + i = t._fullLayout, + a = e._length, + o = e.textfont, + l = e.textposition, + u = Array.isArray(l) ? l : [l], + c = o.color, + f = o.size, + h = o.family, + p = {}, + d = t._context.plotGlPixelRatio, + v = e.texttemplate; + if (v) { + p.text = []; + var g = i._d3locale, + m = Array.isArray(v), + x = m ? Math.min(v.length, a) : a, + b = m + ? function (t) { + return v[t]; + } + : function () { + return v; + }; + for (r = 0; r < x; r++) { + var _ = { i: r }, + w = e._module.formatLabels(_, e, i), + T = {}; + y(T, e, r); + var k = e._meta || {}; + p.text.push( + s.texttemplateString(b(r), w, g, T, _, k), + ); + } + } else + Array.isArray(e.text) && e.text.length < a + ? (p.text = e.text.slice()) + : (p.text = e.text); + if (Array.isArray(p.text)) + for (r = p.text.length; r < a; r++) p.text[r] = ""; + for ( + p.opacity = e.opacity, + p.font = {}, + p.align = [], + p.baseline = [], + r = 0; + r < u.length; + r++ + ) { + var A = u[r].split(/\s+/); + switch (A[1]) { + case "left": + p.align.push("right"); + break; + case "right": + p.align.push("left"); + break; + default: + p.align.push(A[1]); + } + switch (A[0]) { + case "top": + p.baseline.push("bottom"); + break; + case "bottom": + p.baseline.push("top"); + break; + default: + p.baseline.push(A[0]); + } + } + if (Array.isArray(c)) + for (p.color = new Array(a), r = 0; r < a; r++) + p.color[r] = c[r]; + else p.color = c; + if (s.isArrayOrTypedArray(f) || Array.isArray(h)) + for (p.font = new Array(a), r = 0; r < a; r++) { + var M = (p.font[r] = {}); + (M.size = + (s.isTypedArray(f) + ? f[r] + : Array.isArray(f) + ? n(f[r]) + ? f[r] + : 0 + : f) * d), + (M.family = Array.isArray(h) ? h[r] : h); + } + else p.font = { size: f * d, family: h }; + return p; + } + function x(t, e) { + var r, + n, + i = e._length, + o = e.marker, + l = {}, + u = s.isArrayOrTypedArray(o.symbol), + f = s.isArrayOrTypedArray(o.angle), + d = s.isArrayOrTypedArray(o.color), + v = s.isArrayOrTypedArray(o.line.color), + g = s.isArrayOrTypedArray(o.opacity), + y = s.isArrayOrTypedArray(o.size), + m = s.isArrayOrTypedArray(o.line.width); + if ( + (u || (n = p.isOpenSymbol(o.symbol)), + u || d || v || g || f) + ) { + (l.symbols = new Array(i)), + (l.angles = new Array(i)), + (l.colors = new Array(i)), + (l.borderColors = new Array(i)); + var x = o.symbol, + b = o.angle, + _ = c(o, o.opacity, i), + w = c(o.line, o.opacity, i); + if (!Array.isArray(w[0])) { + var T = w; + for (w = Array(i), r = 0; r < i; r++) w[r] = T; + } + if (!Array.isArray(_[0])) { + var k = _; + for (_ = Array(i), r = 0; r < i; r++) _[r] = k; + } + if (!Array.isArray(x)) { + var A = x; + for (x = Array(i), r = 0; r < i; r++) x[r] = A; + } + if (!Array.isArray(b)) { + var M = b; + for (b = Array(i), r = 0; r < i; r++) b[r] = M; + } + for ( + l.symbols = x, + l.angles = b, + l.colors = _, + l.borderColors = w, + r = 0; + r < i; + r++ + ) + u && (n = p.isOpenSymbol(o.symbol[r])), + n && + ((w[r] = _[r].slice()), + (_[r] = _[r].slice()), + (_[r][3] = 0)); + for ( + l.opacity = e.opacity, + l.markers = new Array(i), + r = 0; + r < i; + r++ + ) + l.markers[r] = E( + { mx: l.symbols[r], ma: l.angles[r] }, + e, + ); + } else + n + ? ((l.color = a(o.color, "uint8")), + (l.color[3] = 0), + (l.borderColor = a(o.color, "uint8"))) + : ((l.color = a(o.color, "uint8")), + (l.borderColor = a(o.line.color, "uint8"))), + (l.opacity = e.opacity * o.opacity), + (l.marker = E({ mx: o.symbol, ma: o.angle }, e)); + var S, + L = h(e, 1); + if (y || m) { + var C, + O = (l.sizes = new Array(i)), + P = (l.borderSizes = new Array(i)), + I = 0; + if (y) { + for (r = 0; r < i; r++) + (O[r] = L(o.size[r])), (I += O[r]); + C = I / i; + } else + for (S = L(o.size), r = 0; r < i; r++) O[r] = S; + if (m) for (r = 0; r < i; r++) P[r] = o.line.width[r]; + else + for (S = o.line.width, r = 0; r < i; r++) P[r] = S; + l.sizeAvg = C; + } else + (l.size = L((o && o.size) || 10)), + (l.borderSizes = L(o.line.width)); + return l; + } + function b(t, e, r) { + var n = e.marker, + i = {}; + return r + ? (r.marker && r.marker.symbol + ? (i = x(0, s.extendFlat({}, n, r.marker))) + : r.marker && + (r.marker.size && (i.size = r.marker.size), + r.marker.color && (i.colors = r.marker.color), + void 0 !== r.marker.opacity && + (i.opacity = r.marker.opacity)), + i) + : i; + } + function _(t, e, r) { + var n = {}; + if (!r) return n; + if (r.textfont) { + var i = { + opacity: 1, + text: e.text, + texttemplate: e.texttemplate, + textposition: e.textposition, + textfont: s.extendFlat({}, e.textfont), + }; + r.textfont && s.extendFlat(i.textfont, r.textfont), + (n = m(t, i)); + } + return n; + } + function w(t, e, r) { + var n = { + capSize: 2 * e.width * r, + lineWidth: e.thickness * r, + color: e.color, + }; + return e.copy_ystyle && (n = t.error_y), n; + } + var T = d.SYMBOL_SDF_SIZE, + k = d.SYMBOL_SIZE, + A = d.SYMBOL_STROKE, + M = {}, + S = l.symbolFuncs[0](0.05 * k); + function E(t, e) { + var r, + n, + a = t.mx; + if ("circle" === a) return null; + var o = l.symbolNumber(a), + s = l.symbolFuncs[o % 100], + u = !!l.symbolNoDot[o % 100], + c = !!l.symbolNoFill[o % 100], + f = p.isDotSymbol(a); + if ((t.ma && (a += "_" + t.ma), M[a])) return M[a]; + var h = l.getMarkerAngle(t, e); + return ( + (r = f && !u ? s(1.1 * k, h) + S : s(k, h)), + (n = i(r, { + w: T, + h: T, + viewBox: [-k, -k, k, k], + stroke: c ? A : -A, + })), + (M[a] = n), + n || null + ); + } + t.exports = { + style: function (t, e) { + var r, + n = { + marker: void 0, + markerSel: void 0, + markerUnsel: void 0, + line: void 0, + fill: void 0, + errorX: void 0, + errorY: void 0, + text: void 0, + textSel: void 0, + textUnsel: void 0, + }, + i = t._context.plotGlPixelRatio; + if (!0 !== e.visible) return n; + if ( + (f.hasText(e) && + ((n.text = m(t, e)), + (n.textSel = _(t, e, e.selected)), + (n.textUnsel = _(t, e, e.unselected))), + f.hasMarkers(e) && + ((n.marker = x(0, e)), + (n.markerSel = b(0, e, e.selected)), + (n.markerUnsel = b(0, e, e.unselected)), + !e.unselected && + s.isArrayOrTypedArray(e.marker.opacity))) + ) { + var a = e.marker.opacity; + for ( + n.markerUnsel.opacity = new Array(a.length), + r = 0; + r < a.length; + r++ + ) + n.markerUnsel.opacity[r] = v * a[r]; + } + if (f.hasLines(e)) { + n.line = { + overlay: !0, + thickness: e.line.width * i, + color: e.line.color, + opacity: e.opacity, + }; + var o = (d.DASHES[e.line.dash] || [1]).slice(); + for (r = 0; r < o.length; ++r) + o[r] *= e.line.width * i; + n.line.dashes = o; + } + return ( + e.error_x && + e.error_x.visible && + (n.errorX = w(e, e.error_x, i)), + e.error_y && + e.error_y.visible && + (n.errorY = w(e, e.error_y, i)), + e.fill && + "none" !== e.fill && + (n.fill = { + closed: !0, + fill: e.fillcolor, + thickness: 0, + }), + n + ); + }, + markerStyle: x, + markerSelection: b, + linePositions: function (t, e, r) { + var n, + i, + a = r.length, + o = a / 2; + if (f.hasLines(e) && o) + if ("hv" === e.line.shape) { + for (n = [], i = 0; i < o - 1; i++) + isNaN(r[2 * i]) || isNaN(r[2 * i + 1]) + ? n.push(NaN, NaN, NaN, NaN) + : (n.push(r[2 * i], r[2 * i + 1]), + isNaN(r[2 * i + 2]) || isNaN(r[2 * i + 3]) + ? n.push(NaN, NaN) + : n.push(r[2 * i + 2], r[2 * i + 1])); + n.push(r[a - 2], r[a - 1]); + } else if ("hvh" === e.line.shape) { + for (n = [], i = 0; i < o - 1; i++) + if ( + isNaN(r[2 * i]) || + isNaN(r[2 * i + 1]) || + isNaN(r[2 * i + 2]) || + isNaN(r[2 * i + 3]) + ) + isNaN(r[2 * i]) || isNaN(r[2 * i + 1]) + ? n.push(NaN, NaN) + : n.push(r[2 * i], r[2 * i + 1]), + n.push(NaN, NaN); + else { + var s = (r[2 * i] + r[2 * i + 2]) / 2; + n.push( + r[2 * i], + r[2 * i + 1], + s, + r[2 * i + 1], + s, + r[2 * i + 3], + ); + } + n.push(r[a - 2], r[a - 1]); + } else if ("vhv" === e.line.shape) { + for (n = [], i = 0; i < o - 1; i++) + if ( + isNaN(r[2 * i]) || + isNaN(r[2 * i + 1]) || + isNaN(r[2 * i + 2]) || + isNaN(r[2 * i + 3]) + ) + isNaN(r[2 * i]) || isNaN(r[2 * i + 1]) + ? n.push(NaN, NaN) + : n.push(r[2 * i], r[2 * i + 1]), + n.push(NaN, NaN); + else { + var l = (r[2 * i + 1] + r[2 * i + 3]) / 2; + n.push( + r[2 * i], + r[2 * i + 1], + r[2 * i], + l, + r[2 * i + 2], + l, + ); + } + n.push(r[a - 2], r[a - 1]); + } else if ("vh" === e.line.shape) { + for (n = [], i = 0; i < o - 1; i++) + isNaN(r[2 * i]) || isNaN(r[2 * i + 1]) + ? n.push(NaN, NaN, NaN, NaN) + : (n.push(r[2 * i], r[2 * i + 1]), + isNaN(r[2 * i + 2]) || isNaN(r[2 * i + 3]) + ? n.push(NaN, NaN) + : n.push(r[2 * i], r[2 * i + 3])); + n.push(r[a - 2], r[a - 1]); + } else n = r; + var u = !1; + for (i = 0; i < n.length; i++) + if (isNaN(n[i])) { + u = !0; + break; + } + var c = + u || n.length > d.TOO_MANY_POINTS || f.hasMarkers(e) + ? "rect" + : "round"; + if (u && e.connectgaps) { + var h = n[0], + p = n[1]; + for (i = 0; i < n.length; i += 2) + isNaN(n[i]) || isNaN(n[i + 1]) + ? ((n[i] = h), (n[i + 1] = p)) + : ((h = n[i]), (p = n[i + 1])); + } + return { join: c, positions: n }; + }, + errorBarPositions: function (t, e, r, i, a) { + var s = o.getComponentMethod( + "errorbars", + "makeComputeError", + ), + l = u.getFromId(t, e.xaxis, "x"), + c = u.getFromId(t, e.yaxis, "y"), + f = r.length / 2, + h = {}; + function p(t, i) { + var a = i._id.charAt(0), + o = e["error_" + a]; + if ( + o && + o.visible && + ("linear" === i.type || "log" === i.type) + ) { + for ( + var l = s(o), + u = { x: 0, y: 1 }[a], + c = { x: [0, 1, 2, 3], y: [2, 3, 0, 1] }[a], + p = new Float64Array(4 * f), + d = 1 / 0, + v = -1 / 0, + g = 0, + y = 0; + g < f; + g++, y += 4 + ) { + var m = t[g]; + if (n(m)) { + var x = r[2 * g + u], + b = l(m, g), + _ = b[0], + w = b[1]; + if (n(_) && n(w)) { + var T = m - _, + k = m + w; + (p[y + c[0]] = x - i.c2l(T)), + (p[y + c[1]] = i.c2l(k) - x), + (p[y + c[2]] = 0), + (p[y + c[3]] = 0), + (d = Math.min(d, m - _)), + (v = Math.max(v, m + w)); + } + } + } + h[a] = { positions: r, errors: p, _bnds: [d, v] }; + } + } + return p(i, l), p(a, c), h; + }, + textPosition: function (t, e, r, n) { + var i, + a = e._length, + o = {}; + if (f.hasMarkers(e)) { + var s = r.font, + l = r.align, + u = r.baseline; + for (o.offset = new Array(a), i = 0; i < a; i++) { + var c = n.sizes ? n.sizes[i] : n.size, + h = Array.isArray(s) ? s[i].size : s.size, + p = Array.isArray(l) + ? l.length > 1 + ? l[i] + : l[0] + : l, + d = Array.isArray(u) + ? u.length > 1 + ? u[i] + : u[0] + : u, + v = g[p], + y = g[d], + m = c ? c / 0.8 + 1 : 0, + x = -y * m - 0.5 * y; + o.offset[i] = [(v * m) / h, x / h]; + } + } + return o; + }, + }; + }, + 47148: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(73972), + a = r(68645), + o = r(42341), + s = r(47581), + l = r(34098), + u = r(67513), + c = r(73927), + f = r(49508), + h = r(11058), + p = r(28908), + d = r(82410); + t.exports = function (t, e, r, v) { + function g(r, i) { + return n.coerce(t, e, o, r, i); + } + var y = !!t.marker && a.isOpenSymbol(t.marker.symbol), + m = l.isBubble(t), + x = u(t, e, v, g); + if (x) { + c(t, e, v, g), g("xhoverformat"), g("yhoverformat"); + var b = + x < s.PTS_LINESONLY ? "lines+markers" : "lines"; + g("text"), + g("hovertext"), + g("hovertemplate"), + g("mode", b), + l.hasLines(e) && + (g("connectgaps"), + h(t, e, r, v, g), + g("line.shape")), + l.hasMarkers(e) && + (f(t, e, r, v, g, { + noAngleRef: !0, + noStandOff: !0, + }), + g("marker.line.width", y || m ? 1 : 0)), + l.hasText(e) && (g("texttemplate"), d(t, e, v, g)); + var _ = (e.line || {}).color, + w = (e.marker || {}).color; + g("fill"), "none" !== e.fill && p(t, e, r, g); + var T = i.getComponentMethod( + "errorbars", + "supplyDefaults", + ); + T(t, e, _ || w || r, { axis: "y" }), + T(t, e, _ || w || r, { axis: "x", inherit: "y" }), + n.coerceSelectionMarkerOpacity(e, g); + } else e.visible = !1; + }; + }, + 5345: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(37822).DESELECTDIM; + t.exports = { + styleTextSelection: function (t) { + var e, + r, + o = t[0], + s = o.trace, + l = o.t, + u = l._scene, + c = l.index, + f = u.selectBatch[c], + h = u.unselectBatch[c], + p = u.textOptions[c], + d = u.textSelectedOptions[c] || {}, + v = u.textUnselectedOptions[c] || {}, + g = n.extendFlat({}, p); + if (f.length || h.length) { + var y = d.color, + m = v.color, + x = p.color, + b = Array.isArray(x); + for ( + g.color = new Array(s._length), e = 0; + e < f.length; + e++ + ) + (r = f[e]), (g.color[r] = y || (b ? x[r] : x)); + for (e = 0; e < h.length; e++) { + r = h[e]; + var _ = b ? x[r] : x; + g.color[r] = m || (y ? _ : i.addOpacity(_, a)); + } + } + u.glText[c].update(g); + }, + }; + }, + 68101: function (t, e, r) { + "use strict"; + var n = r(8225); + t.exports = function (t, e, r) { + var i = t.i; + return ( + "x" in t || (t.x = e._x[i]), + "y" in t || (t.y = e._y[i]), + n(t, e, r) + ); + }; + }, + 68645: function (t, e, r) { + "use strict"; + var n = r(78232); + (e.isOpenSymbol = function (t) { + return "string" == typeof t + ? n.OPEN_RE.test(t) + : t % 200 > 100; + }), + (e.isDotSymbol = function (t) { + return "string" == typeof t + ? n.DOT_RE.test(t) + : t > 200; + }); + }, + 20794: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(34603); + function o(t, e, r, o) { + var s = t.xa, + l = t.ya, + u = t.distance, + c = t.dxy, + f = t.index, + h = { pointNumber: f, x: e[f], y: r[f] }; + (h.tx = Array.isArray(o.text) ? o.text[f] : o.text), + (h.htx = Array.isArray(o.hovertext) + ? o.hovertext[f] + : o.hovertext), + (h.data = Array.isArray(o.customdata) + ? o.customdata[f] + : o.customdata), + (h.tp = Array.isArray(o.textposition) + ? o.textposition[f] + : o.textposition); + var p = o.textfont; + p && + ((h.ts = i.isArrayOrTypedArray(p.size) + ? p.size[f] + : p.size), + (h.tc = Array.isArray(p.color) + ? p.color[f] + : p.color), + (h.tf = Array.isArray(p.family) + ? p.family[f] + : p.family)); + var d = o.marker; + d && + ((h.ms = i.isArrayOrTypedArray(d.size) + ? d.size[f] + : d.size), + (h.mo = i.isArrayOrTypedArray(d.opacity) + ? d.opacity[f] + : d.opacity), + (h.mx = i.isArrayOrTypedArray(d.symbol) + ? d.symbol[f] + : d.symbol), + (h.ma = i.isArrayOrTypedArray(d.angle) + ? d.angle[f] + : d.angle), + (h.mc = i.isArrayOrTypedArray(d.color) + ? d.color[f] + : d.color)); + var v = d && d.line; + v && + ((h.mlc = Array.isArray(v.color) + ? v.color[f] + : v.color), + (h.mlw = i.isArrayOrTypedArray(v.width) + ? v.width[f] + : v.width)); + var g = d && d.gradient; + g && + "none" !== g.type && + ((h.mgt = Array.isArray(g.type) ? g.type[f] : g.type), + (h.mgc = Array.isArray(g.color) + ? g.color[f] + : g.color)); + var y = s.c2p(h.x, !0), + m = l.c2p(h.y, !0), + x = h.mrc || 1, + b = o.hoverlabel; + b && + ((h.hbg = Array.isArray(b.bgcolor) + ? b.bgcolor[f] + : b.bgcolor), + (h.hbc = Array.isArray(b.bordercolor) + ? b.bordercolor[f] + : b.bordercolor), + (h.hts = i.isArrayOrTypedArray(b.font.size) + ? b.font.size[f] + : b.font.size), + (h.htc = Array.isArray(b.font.color) + ? b.font.color[f] + : b.font.color), + (h.htf = Array.isArray(b.font.family) + ? b.font.family[f] + : b.font.family), + (h.hnl = i.isArrayOrTypedArray(b.namelength) + ? b.namelength[f] + : b.namelength)); + var _ = o.hoverinfo; + _ && (h.hi = Array.isArray(_) ? _[f] : _); + var w = o.hovertemplate; + w && (h.ht = Array.isArray(w) ? w[f] : w); + var T = {}; + T[t.index] = h; + var k = o._origX, + A = o._origY, + M = i.extendFlat({}, t, { + color: a(o, h), + x0: y - x, + x1: y + x, + xLabelVal: k ? k[f] : h.x, + y0: m - x, + y1: m + x, + yLabelVal: A ? A[f] : h.y, + cd: T, + distance: u, + spikeDistance: c, + hovertemplate: h.ht, + }); + return ( + h.htx + ? (M.text = h.htx) + : h.tx + ? (M.text = h.tx) + : o.text && (M.text = o.text), + i.fillText(h, o, M), + n.getComponentMethod("errorbars", "hoverInfo")( + h, + o, + M, + ), + M + ); + } + t.exports = { + hoverPoints: function (t, e, r, n) { + var i, + a, + s, + l, + u, + c, + f, + h, + p, + d, + v = t.cd, + g = v[0].t, + y = v[0].trace, + m = t.xa, + x = t.ya, + b = g.x, + _ = g.y, + w = m.c2p(e), + T = x.c2p(r), + k = t.distance; + if (g.tree) { + var A = m.p2c(w - k), + M = m.p2c(w + k), + S = x.p2c(T - k), + E = x.p2c(T + k); + i = + "x" === n + ? g.tree.range( + Math.min(A, M), + Math.min(x._rl[0], x._rl[1]), + Math.max(A, M), + Math.max(x._rl[0], x._rl[1]), + ) + : g.tree.range( + Math.min(A, M), + Math.min(S, E), + Math.max(A, M), + Math.max(S, E), + ); + } else i = g.ids; + var L = k; + if ("x" === n) { + var C = !!y.xperiodalignment, + O = !!y.yperiodalignment; + for (c = 0; c < i.length; c++) { + if ( + ((l = b[(a = i[c])]), + (f = Math.abs(m.c2p(l) - w)), + C) + ) { + var P = m.c2p(y._xStarts[a]), + I = m.c2p(y._xEnds[a]); + f = + w >= Math.min(P, I) && w <= Math.max(P, I) + ? 0 + : 1 / 0; + } + if (f < L) { + if ( + ((L = f), (u = _[a]), (h = x.c2p(u) - T), O) + ) { + var D = x.c2p(y._yStarts[a]), + z = x.c2p(y._yEnds[a]); + h = + T >= Math.min(D, z) && T <= Math.max(D, z) + ? 0 + : 1 / 0; + } + (d = Math.sqrt(f * f + h * h)), (s = i[c]); + } + } + } else + for (c = i.length - 1; c > -1; c--) + (l = b[(a = i[c])]), + (u = _[a]), + (f = m.c2p(l) - w), + (h = x.c2p(u) - T), + (p = Math.sqrt(f * f + h * h)) < L && + ((L = d = p), (s = a)); + return ( + (t.index = s), + (t.distance = L), + (t.dxy = d), + void 0 === s ? [t] : [o(t, b, _, y)] + ); + }, + calcHover: o, + }; + }, + 68868: function (t, e, r) { + "use strict"; + var n = r(72156); + (n.plot = r(26787)), (t.exports = n); + }, + 26787: function (t, e, r) { + "use strict"; + var n = r(11870), + i = r(46075), + a = r(3593), + o = r(42505), + s = r(71828), + l = r(64505).selectMode, + u = r(79749), + c = r(34098), + f = r(68687), + h = r(5345).styleTextSelection, + p = {}; + function d(t, e, r, n) { + var i = t._size, + a = t.width * n, + o = t.height * n, + s = i.l * n, + l = i.b * n, + u = i.r * n, + c = i.t * n, + f = i.w * n, + h = i.h * n; + return [ + s + e.domain[0] * f, + l + r.domain[0] * h, + a - u - (1 - e.domain[1]) * f, + o - c - (1 - r.domain[1]) * h, + ]; + } + (t.exports = function (t, e, r) { + if (r.length) { + var v, + g, + y = t._fullLayout, + m = e._scene, + x = e.xaxis, + b = e.yaxis; + if (m) + if ( + u( + t, + [ + "ANGLE_instanced_arrays", + "OES_element_index_uint", + ], + p, + ) + ) { + var _ = m.count, + w = y._glcanvas.data()[0].regl; + if ((f(t, e, r), m.dirty)) { + if ( + (!0 === m.error2d && (m.error2d = a(w)), + !0 === m.line2d && (m.line2d = i(w)), + !0 === m.scatter2d && (m.scatter2d = n(w)), + !0 === m.fill2d && (m.fill2d = i(w)), + !0 === m.glText) + ) + for ( + m.glText = new Array(_), v = 0; + v < _; + v++ + ) + m.glText[v] = new o(w); + if (m.glText) { + if (_ > m.glText.length) { + var T = _ - m.glText.length; + for (v = 0; v < T; v++) + m.glText.push(new o(w)); + } else if (_ < m.glText.length) { + var k = m.glText.length - _; + m.glText.splice(_, k).forEach(function (t) { + t.destroy(); + }); + } + for (v = 0; v < _; v++) + m.glText[v].update(m.textOptions[v]); + } + if ( + (m.line2d && + (m.line2d.update(m.lineOptions), + (m.lineOptions = m.lineOptions.map( + function (t) { + if (t && t.positions) { + for ( + var e = t.positions, r = 0; + r < e.length && + (isNaN(e[r]) || isNaN(e[r + 1])); + + ) + r += 2; + for ( + var n = e.length - 2; + n > r && + (isNaN(e[n]) || isNaN(e[n + 1])); + + ) + n -= 2; + t.positions = e.slice(r, n + 2); + } + return t; + }, + )), + m.line2d.update(m.lineOptions)), + m.error2d) + ) { + var A = (m.errorXOptions || []).concat( + m.errorYOptions || [], + ); + m.error2d.update(A); + } + m.scatter2d && + m.scatter2d.update(m.markerOptions), + (m.fillOrder = s.repeat(null, _)), + m.fill2d && + ((m.fillOptions = m.fillOptions.map( + function (t, e) { + var n = r[e]; + if (t && n && n[0] && n[0].trace) { + var i, + a, + o = n[0], + s = o.trace, + l = o.t, + u = m.lineOptions[e], + c = []; + s._ownfill && c.push(e), + s._nexttrace && c.push(e + 1), + c.length && (m.fillOrder[e] = c); + var f, + h, + p = [], + d = + (u && u.positions) || l.positions; + if ("tozeroy" === s.fill) { + for ( + f = 0; + f < d.length && isNaN(d[f + 1]); + + ) + f += 2; + for ( + h = d.length - 2; + h > f && isNaN(d[h + 1]); + + ) + h -= 2; + 0 !== d[f + 1] && (p = [d[f], 0]), + (p = p.concat(d.slice(f, h + 2))), + 0 !== d[h + 1] && + (p = p.concat([d[h], 0])); + } else if ("tozerox" === s.fill) { + for ( + f = 0; + f < d.length && isNaN(d[f]); + + ) + f += 2; + for ( + h = d.length - 2; + h > f && isNaN(d[h]); + + ) + h -= 2; + 0 !== d[f] && (p = [0, d[f + 1]]), + (p = p.concat(d.slice(f, h + 2))), + 0 !== d[h] && + (p = p.concat([0, d[h + 1]])); + } else if ( + "toself" === s.fill || + "tonext" === s.fill + ) { + for ( + p = [], + i = 0, + t.splitNull = !0, + a = 0; + a < d.length; + a += 2 + ) + (isNaN(d[a]) || + isNaN(d[a + 1])) && + ((p = p.concat( + d.slice(i, a), + )).push(d[i], d[i + 1]), + p.push(null, null), + (i = a + 2)); + (p = p.concat(d.slice(i))), + i && p.push(d[i], d[i + 1]); + } else { + var v = s._nexttrace; + if (v) { + var g = m.lineOptions[e + 1]; + if (g) { + var y = g.positions; + if ("tonexty" === s.fill) { + for ( + p = d.slice(), + e = Math.floor( + y.length / 2, + ); + e--; + + ) { + var x = y[2 * e], + b = y[2 * e + 1]; + isNaN(x) || + isNaN(b) || + p.push(x, b); + } + t.fill = v.fillcolor; + } + } + } + } + if ( + s._prevtrace && + "tonext" === s._prevtrace.fill + ) { + var _ = + m.lineOptions[e - 1].positions, + w = p.length / 2, + T = [(i = w)]; + for (a = 0; a < _.length; a += 2) + (isNaN(_[a]) || + isNaN(_[a + 1])) && + (T.push(a / 2 + w + 1), + (i = a + 2)); + (p = p.concat(_)), (t.hole = T); + } + return ( + (t.fillmode = s.fill), + (t.opacity = s.opacity), + (t.positions = p), + t + ); + } + }, + )), + m.fill2d.update(m.fillOptions)); + } + var M = y.dragmode, + S = l(M), + E = y.clickmode.indexOf("select") > -1; + for (v = 0; v < _; v++) { + var L = r[v][0], + C = L.trace, + O = L.t, + P = O.index, + I = C._length, + D = O.x, + z = O.y; + if (C.selectedpoints || S || E) { + if ((S || (S = !0), C.selectedpoints)) { + var R = (m.selectBatch[P] = + s.selIndices2selPoints(C)), + F = {}; + for (g = 0; g < R.length; g++) F[R[g]] = 1; + var B = []; + for (g = 0; g < I; g++) F[g] || B.push(g); + m.unselectBatch[P] = B; + } + var N = (O.xpx = new Array(I)), + j = (O.ypx = new Array(I)); + for (g = 0; g < I; g++) + (N[g] = x.c2p(D[g])), (j[g] = b.c2p(z[g])); + } else O.xpx = O.ypx = null; + } + if (S) { + if ( + (m.select2d || + (m.select2d = n( + y._glcanvas.data()[1].regl, + )), + m.scatter2d) + ) { + var U = new Array(_); + for (v = 0; v < _; v++) + U[v] = + m.selectBatch[v].length || + m.unselectBatch[v].length + ? m.markerUnselectedOptions[v] + : {}; + m.scatter2d.update(U); + } + m.select2d && + (m.select2d.update(m.markerOptions), + m.select2d.update(m.markerSelectedOptions)), + m.glText && + r.forEach(function (t) { + var e = ((t || [])[0] || {}).trace || {}; + c.hasText(e) && h(t); + }); + } else + m.scatter2d && + m.scatter2d.update(m.markerOptions); + var V = { + viewport: d( + y, + x, + b, + t._context.plotGlPixelRatio, + ), + range: [ + (x._rl || x.range)[0], + (b._rl || b.range)[0], + (x._rl || x.range)[1], + (b._rl || b.range)[1], + ], + }, + H = s.repeat(V, m.count); + m.fill2d && m.fill2d.update(H), + m.line2d && m.line2d.update(H), + m.error2d && m.error2d.update(H.concat(H)), + m.scatter2d && m.scatter2d.update(H), + m.select2d && m.select2d.update(H), + m.glText && + m.glText.forEach(function (t) { + t.update(V); + }); + } else m.init(); + } + }).reglPrecompiled = p; + }, + 38967: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e) { + var r = e._scene, + i = { + count: 0, + dirty: !0, + lineOptions: [], + fillOptions: [], + markerOptions: [], + markerSelectedOptions: [], + markerUnselectedOptions: [], + errorXOptions: [], + errorYOptions: [], + textOptions: [], + textSelectedOptions: [], + textUnselectedOptions: [], + selectBatch: [], + unselectBatch: [], + }, + a = { + fill2d: !1, + scatter2d: !1, + error2d: !1, + line2d: !1, + glText: !1, + select2d: !1, + }; + return ( + e._scene || + (((r = e._scene = {}).init = function () { + n.extendFlat(r, a, i); + }), + r.init(), + (r.update = function (t) { + var e = n.repeat(t, r.count); + if ( + (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.glText) + ) + for (var i = 0; i < r.count; i++) + r.glText[i].update(t); + }), + (r.draw = function () { + for ( + var t = r.count, + e = r.fill2d, + i = r.error2d, + a = r.line2d, + o = r.scatter2d, + s = r.glText, + l = r.select2d, + u = r.selectBatch, + c = r.unselectBatch, + f = 0; + f < t; + f++ + ) { + if ( + (e && + r.fillOrder[f] && + e.draw(r.fillOrder[f]), + a && r.lineOptions[f] && a.draw(f), + i && + (r.errorXOptions[f] && i.draw(f), + r.errorYOptions[f] && i.draw(f + t)), + o && r.markerOptions[f]) + ) + if (c[f].length) { + var h = n.repeat([], r.count); + (h[f] = c[f]), o.draw(h); + } else u[f].length || o.draw(f); + s[f] && r.textOptions[f] && s[f].render(); + } + l && l.draw(u), (r.dirty = !1); + }), + (r.destroy = function () { + r.fill2d && + r.fill2d.destroy && + r.fill2d.destroy(), + r.scatter2d && + r.scatter2d.destroy && + r.scatter2d.destroy(), + r.error2d && + r.error2d.destroy && + r.error2d.destroy(), + r.line2d && + r.line2d.destroy && + r.line2d.destroy(), + r.select2d && + r.select2d.destroy && + r.select2d.destroy(), + r.glText && + r.glText.forEach(function (t) { + t.destroy && t.destroy(); + }), + (r.lineOptions = null), + (r.fillOptions = null), + (r.markerOptions = null), + (r.markerSelectedOptions = null), + (r.markerUnselectedOptions = null), + (r.errorXOptions = null), + (r.errorYOptions = null), + (r.textOptions = null), + (r.textSelectedOptions = null), + (r.textUnselectedOptions = null), + (r.selectBatch = null), + (r.unselectBatch = null), + (e._scene = null); + })), + r.dirty || n.extendFlat(r, i), + r + ); + }; + }, + 58147: function (t, e, r) { + "use strict"; + var n = r(34098), + i = r(5345).styleTextSelection; + t.exports = function (t, e) { + var r = t.cd, + a = t.xaxis, + o = t.yaxis, + s = [], + l = r[0].trace, + u = r[0].t, + c = l._length, + f = u.x, + h = u.y, + p = u._scene, + d = u.index; + if (!p) return s; + var v = n.hasText(l), + g = n.hasMarkers(l), + y = !g && !v; + if (!0 !== l.visible || y) return s; + var m = [], + x = []; + if (!1 !== e && !e.degenerate) + for (var b = 0; b < c; b++) + e.contains([u.xpx[b], u.ypx[b]], !1, b, t) + ? (m.push(b), + s.push({ + pointNumber: b, + x: a.c2d(f[b]), + y: o.c2d(h[b]), + })) + : x.push(b); + if (g) { + var _ = p.scatter2d; + if (m.length || x.length) { + if ( + !p.selectBatch[d].length && + !p.unselectBatch[d].length + ) { + var w = new Array(p.count); + (w[d] = p.markerUnselectedOptions[d]), + _.update.apply(_, w); + } + } else { + var T = new Array(p.count); + (T[d] = p.markerOptions[d]), _.update.apply(_, T); + } + } + return ( + (p.selectBatch[d] = m), + (p.unselectBatch[d] = x), + v && i(r), + s + ); + }; + }, + 99181: function (t, e, r) { + "use strict"; + var n = r(5386).fF, + i = r(5386).si, + a = r(19316), + o = r(82196), + s = r(23585), + l = r(9012), + u = r(50693), + c = r(1426).extendFlat, + f = r(30962).overrideAll, + h = r(23585), + p = a.line, + d = a.marker; + t.exports = f( + { + lon: a.lon, + lat: a.lat, + cluster: { + enabled: { valType: "boolean" }, + maxzoom: c({}, h.layers.maxzoom, {}), + step: { + valType: "number", + arrayOk: !0, + dflt: -1, + min: -1, + }, + size: { + valType: "number", + arrayOk: !0, + dflt: 20, + min: 0, + }, + color: { valType: "color", arrayOk: !0 }, + opacity: c({}, d.opacity, { dflt: 1 }), + }, + mode: c({}, o.mode, { dflt: "markers" }), + text: c({}, o.text, {}), + texttemplate: i( + { editType: "plot" }, + { keys: ["lat", "lon", "text"] }, + ), + hovertext: c({}, o.hovertext, {}), + line: { color: p.color, width: p.width }, + connectgaps: o.connectgaps, + marker: c( + { + symbol: { + valType: "string", + dflt: "circle", + arrayOk: !0, + }, + angle: { + valType: "number", + dflt: "auto", + arrayOk: !0, + }, + allowoverlap: { valType: "boolean", dflt: !1 }, + opacity: d.opacity, + size: d.size, + sizeref: d.sizeref, + sizemin: d.sizemin, + sizemode: d.sizemode, + }, + u("marker"), + ), + fill: a.fill, + fillcolor: o.fillcolor, + textfont: s.layers.symbol.textfont, + textposition: s.layers.symbol.textposition, + below: { valType: "string" }, + selected: { marker: o.selected.marker }, + unselected: { marker: o.unselected.marker }, + hoverinfo: c({}, l.hoverinfo, { + flags: ["lon", "lat", "text", "name"], + }), + hovertemplate: n(), + }, + "calc", + "nested", + ); + }, + 15790: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(71828), + a = r(50606).BADNUM, + o = r(18214), + s = r(21081), + l = r(91424), + u = r(39984), + c = r(34098), + f = r(13056), + h = r(23469).appendArrayPointValue, + p = r(63893).NEWLINES, + d = r(63893).BR_TAG_ALL; + function v(t) { + return { + type: t, + geojson: o.makeBlank(), + layout: { visibility: "none" }, + filter: null, + paint: {}, + }; + } + function g(t, e) { + return i.isArrayOrTypedArray(t) + ? e + ? function (e) { + return n(t[e]) ? +t[e] : 0; + } + : function (e) { + return t[e]; + } + : t + ? function () { + return t; + } + : y; + } + function y() { + return ""; + } + function m(t) { + return t[0] === a; + } + function x(t, e) { + var r; + if ( + i.isArrayOrTypedArray(t) && + i.isArrayOrTypedArray(e) + ) { + r = ["step", ["get", "point_count"], t[0]]; + for (var n = 1; n < t.length; n++) + r.push(e[n - 1], t[n]); + } else r = t; + return r; + } + t.exports = function (t, e) { + var r, + a = e[0].trace, + b = !0 === a.visible && 0 !== a._length, + _ = "none" !== a.fill, + w = c.hasLines(a), + T = c.hasMarkers(a), + k = c.hasText(a), + A = T && "circle" === a.marker.symbol, + M = T && "circle" !== a.marker.symbol, + S = a.cluster && a.cluster.enabled, + E = v("fill"), + L = v("line"), + C = v("circle"), + O = v("symbol"), + P = { fill: E, line: L, circle: C, symbol: O }; + if (!b) return P; + if ( + ((_ || w) && (r = o.calcTraceToLineCoords(e)), + _ && + ((E.geojson = o.makePolygon(r)), + (E.layout.visibility = "visible"), + i.extendFlat(E.paint, { + "fill-color": a.fillcolor, + })), + w && + ((L.geojson = o.makeLine(r)), + (L.layout.visibility = "visible"), + i.extendFlat(L.paint, { + "line-width": a.line.width, + "line-color": a.line.color, + "line-opacity": a.opacity, + })), + A) + ) { + var I = (function (t) { + var e, + r, + a, + o, + c = t[0].trace, + f = c.marker, + h = c.selectedpoints, + p = i.isArrayOrTypedArray(f.color), + d = i.isArrayOrTypedArray(f.size), + v = i.isArrayOrTypedArray(f.opacity); + function g(t) { + return c.opacity * t; + } + p && + (r = s.hasColorscale(c, "marker") + ? s.makeColorScaleFuncFromTrace(f) + : i.identity), + d && (a = u(c)), + v && + (o = function (t) { + return g(n(t) ? +i.constrain(t, 0, 1) : 0); + }); + var y, + x, + b = []; + for (e = 0; e < t.length; e++) { + var _ = t[e], + w = _.lonlat; + if (!m(w)) { + var T = {}; + r && (T.mcc = _.mcc = r(_.mc)), + a && (T.mrc = _.mrc = a(_.ms)), + o && (T.mo = o(_.mo)), + h && (T.selected = _.selected || 0), + b.push({ + type: "Feature", + id: e + 1, + geometry: { type: "Point", coordinates: w }, + properties: T, + }); + } + } + if (h) + for ( + y = l.makeSelectedPointStyleFns(c), e = 0; + e < b.length; + e++ + ) { + var k = b[e].properties; + y.selectedOpacityFn && + (k.mo = g(y.selectedOpacityFn(k))), + y.selectedColorFn && + (k.mcc = y.selectedColorFn(k)), + y.selectedSizeFn && + (k.mrc = y.selectedSizeFn(k)); + } + return { + geojson: { + type: "FeatureCollection", + features: b, + }, + mcc: + p || (y && y.selectedColorFn) + ? { type: "identity", property: "mcc" } + : f.color, + mrc: + d || (y && y.selectedSizeFn) + ? { type: "identity", property: "mrc" } + : ((x = f.size), x / 2), + mo: + v || (y && y.selectedOpacityFn) + ? { type: "identity", property: "mo" } + : g(f.opacity), + }; + })(e); + (C.geojson = I.geojson), + (C.layout.visibility = "visible"), + S && + ((C.filter = ["!", ["has", "point_count"]]), + (P.cluster = { + type: "circle", + filter: ["has", "point_count"], + layout: { visibility: "visible" }, + paint: { + "circle-color": x( + a.cluster.color, + a.cluster.step, + ), + "circle-radius": x( + a.cluster.size, + a.cluster.step, + ), + "circle-opacity": x( + a.cluster.opacity, + a.cluster.step, + ), + }, + }), + (P.clusterCount = { + type: "symbol", + filter: ["has", "point_count"], + paint: {}, + layout: { + "text-field": "{point_count_abbreviated}", + "text-font": [ + "Open Sans Regular", + "Arial Unicode MS Regular", + ], + "text-size": 12, + }, + })), + i.extendFlat(C.paint, { + "circle-color": I.mcc, + "circle-radius": I.mrc, + "circle-opacity": I.mo, + }); + } + if ( + (A && S && (C.filter = ["!", ["has", "point_count"]]), + (M || k) && + ((O.geojson = (function (t, e) { + for ( + var r = e._fullLayout, + n = t[0].trace, + a = n.marker || {}, + o = a.symbol, + s = a.angle, + l = "circle" !== o ? g(o) : y, + u = "auto" !== s ? g(s, !0) : y, + f = c.hasText(n) ? g(n.text) : y, + v = [], + x = 0; + x < t.length; + x++ + ) { + var b = t[x]; + if (!m(b.lonlat)) { + var _, + w = n.texttemplate; + if (w) { + var T = Array.isArray(w) ? w[x] || "" : w, + k = n._module.formatLabels(b, n, r), + A = {}; + h(A, n, b.i); + var M = n._meta || {}; + _ = i.texttemplateString( + T, + k, + r._d3locale, + A, + b, + M, + ); + } else _ = f(x); + _ && (_ = _.replace(p, "").replace(d, "\n")), + v.push({ + type: "Feature", + geometry: { + type: "Point", + coordinates: b.lonlat, + }, + properties: { + symbol: l(x), + angle: u(x), + text: _, + }, + }); + } + } + return { type: "FeatureCollection", features: v }; + })(e, t)), + i.extendFlat(O.layout, { + visibility: "visible", + "icon-image": "{symbol}-15", + "text-field": "{text}", + }), + M && + (i.extendFlat(O.layout, { + "icon-size": a.marker.size / 10, + }), + "angle" in a.marker && + "auto" !== a.marker.angle && + i.extendFlat(O.layout, { + "icon-rotate": { + type: "identity", + property: "angle", + }, + "icon-rotation-alignment": "map", + }), + (O.layout["icon-allow-overlap"] = + a.marker.allowoverlap), + i.extendFlat(O.paint, { + "icon-opacity": a.opacity * a.marker.opacity, + "icon-color": a.marker.color, + })), + k)) + ) { + var D = (a.marker || {}).size, + z = f(a.textposition, D); + i.extendFlat(O.layout, { + "text-size": a.textfont.size, + "text-anchor": z.anchor, + "text-offset": z.offset, + "text-font": a.textfont.family.split(", "), + }), + i.extendFlat(O.paint, { + "text-color": a.textfont.color, + "text-opacity": a.opacity, + }); + } + return P; + }; + }, + 76645: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(34098), + a = r(49508), + o = r(11058), + s = r(82410), + l = r(28908), + u = r(99181), + c = [ + "Metropolis Black Italic", + "Metropolis Black", + "Metropolis Bold Italic", + "Metropolis Bold", + "Metropolis Extra Bold Italic", + "Metropolis Extra Bold", + "Metropolis Extra Light Italic", + "Metropolis Extra Light", + "Metropolis Light Italic", + "Metropolis Light", + "Metropolis Medium Italic", + "Metropolis Medium", + "Metropolis Regular Italic", + "Metropolis Regular", + "Metropolis Semi Bold Italic", + "Metropolis Semi Bold", + "Metropolis Thin Italic", + "Metropolis Thin", + "Open Sans Bold Italic", + "Open Sans Bold", + "Open Sans Extra Bold Italic", + "Open Sans Extra Bold", + "Open Sans Italic", + "Open Sans Light Italic", + "Open Sans Light", + "Open Sans Regular", + "Open Sans Semibold Italic", + "Open Sans Semibold", + "Klokantech Noto Sans Bold", + "Klokantech Noto Sans CJK Bold", + "Klokantech Noto Sans CJK Regular", + "Klokantech Noto Sans Italic", + "Klokantech Noto Sans Regular", + ]; + t.exports = function (t, e, r, f) { + function h(r, i) { + return n.coerce(t, e, u, r, i); + } + function p(r, i) { + return n.coerce2(t, e, u, r, i); + } + var d = (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, h); + if (d) { + if ( + (h("text"), + h("texttemplate"), + h("hovertext"), + h("hovertemplate"), + h("mode"), + h("below"), + i.hasLines(e) && + (o(t, e, r, f, h, { noDash: !0 }), + h("connectgaps")), + i.hasMarkers(e)) + ) { + a(t, e, r, f, h, { noLine: !0, noAngle: !0 }), + h("marker.allowoverlap"), + h("marker.angle"); + var v = e.marker; + "circle" !== v.symbol && + (n.isArrayOrTypedArray(v.size) && + (v.size = v.size[0]), + n.isArrayOrTypedArray(v.color) && + (v.color = v.color[0])); + } + var g = p("cluster.maxzoom"), + y = p("cluster.step"), + m = p( + "cluster.color", + (e.marker && e.marker.color) || r, + ), + x = p("cluster.size"), + b = p("cluster.opacity"); + h( + "cluster.enabled", + !1 !== g || + !1 !== y || + !1 !== m || + !1 !== x || + !1 !== b, + ), + i.hasText(e) && + s(t, e, f, h, { + noSelect: !0, + font: { + family: + -1 !== c.indexOf(f.font.family) + ? f.font.family + : "Open Sans Regular", + size: f.font.size, + color: f.font.color, + }, + }), + h("fill"), + "none" !== e.fill && l(t, e, r, h), + n.coerceSelectionMarkerOpacity(e, h); + } else e.visible = !1; + }; + }, + 53353: function (t) { + "use strict"; + t.exports = function (t, e) { + return (t.lon = e.lon), (t.lat = e.lat), t; + }; + }, + 15636: function (t, e, r) { + "use strict"; + var n = r(89298); + t.exports = function (t, e, r) { + var i = {}, + a = r[e.subplot]._subplot.mockAxis, + o = t.lonlat; + return ( + (i.lonLabel = n.tickText(a, a.c2l(o[0]), !0).text), + (i.latLabel = n.tickText(a, a.c2l(o[1]), !0).text), + i + ); + }; + }, + 28178: function (t, e, r) { + "use strict"; + var n = r(30211), + i = r(71828), + a = r(34603), + o = i.fillText, + s = r(50606).BADNUM, + l = r(77734).traceLayerPrefix; + function u(t, e, r) { + if (!t.hovertemplate) { + var n = (e.hi || t.hoverinfo).split("+"), + i = -1 !== n.indexOf("all"), + a = -1 !== n.indexOf("lon"), + s = -1 !== n.indexOf("lat"), + l = e.lonlat, + u = []; + return ( + i || (a && s) + ? u.push("(" + c(l[1]) + ", " + c(l[0]) + ")") + : a + ? u.push(r.lon + c(l[0])) + : s && u.push(r.lat + c(l[1])), + (i || -1 !== n.indexOf("text")) && o(e, t, u), + u.join("
") + ); + } + function c(t) { + return t + "°"; + } + } + t.exports = { + hoverPoints: function (t, e, r) { + var o = t.cd, + c = o[0].trace, + f = t.xa, + h = t.ya, + p = t.subplot, + d = [], + v = l + c.uid + "-circle", + g = c.cluster && c.cluster.enabled; + if (g) { + var y = p.map.queryRenderedFeatures(null, { + layers: [v], + }); + d = y.map(function (t) { + return t.id; + }); + } + var m = + 360 * + (e >= 0 + ? Math.floor((e + 180) / 360) + : Math.ceil((e - 180) / 360)), + x = e - m; + if ( + (n.getClosest( + o, + function (t) { + var e = t.lonlat; + if (e[0] === s) return 1 / 0; + if (g && -1 === d.indexOf(t.i + 1)) + return 1 / 0; + var n = i.modHalf(e[0], 360), + a = e[1], + o = p.project([n, a]), + l = o.x - f.c2p([x, a]), + u = o.y - h.c2p([n, r]), + c = Math.max(3, t.mrc || 0); + return Math.max( + Math.sqrt(l * l + u * u) - c, + 1 - 3 / c, + ); + }, + t, + ), + !1 !== t.index) + ) { + var b = o[t.index], + _ = b.lonlat, + w = [i.modHalf(_[0], 360) + m, _[1]], + T = f.c2p(w), + k = h.c2p(w), + A = b.mrc || 1; + (t.x0 = T - A), + (t.x1 = T + A), + (t.y0 = k - A), + (t.y1 = k + A); + var M = {}; + M[c.subplot] = { _subplot: p }; + var S = c._module.formatLabels(b, c, M); + return ( + (t.lonLabel = S.lonLabel), + (t.latLabel = S.latLabel), + (t.color = a(c, b)), + (t.extraText = u(c, b, o[0].t.labels)), + (t.hovertemplate = c.hovertemplate), + [t] + ); + } + }, + getExtraText: u, + }; + }, + 20467: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(99181), + supplyDefaults: r(76645), + colorbar: r(4898), + formatLabels: r(15636), + calc: r(84622), + plot: r(86951), + hoverPoints: r(28178).hoverPoints, + eventData: r(53353), + selectPoints: r(86387), + styleOnSelect: function (t, e) { + e && e[0].trace._glTrace.update(e); + }, + moduleType: "trace", + name: "scattermapbox", + basePlotModule: r(50101), + categories: [ + "mapbox", + "gl", + "symbols", + "showLegend", + "scatter-like", + ], + meta: {}, + }; + }, + 86951: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(15790), + a = r(77734).traceLayerPrefix, + o = { + cluster: ["cluster", "clusterCount", "circle"], + nonCluster: ["fill", "line", "circle", "symbol"], + }; + function s(t, e, r, n) { + (this.type = "scattermapbox"), + (this.subplot = t), + (this.uid = e), + (this.clusterEnabled = r), + (this.isHidden = n), + (this.sourceIds = { + fill: "source-" + e + "-fill", + line: "source-" + e + "-line", + circle: "source-" + e + "-circle", + symbol: "source-" + e + "-symbol", + cluster: "source-" + e + "-circle", + clusterCount: "source-" + e + "-circle", + }), + (this.layerIds = { + fill: a + e + "-fill", + line: a + e + "-line", + circle: a + e + "-circle", + symbol: a + e + "-symbol", + cluster: a + e + "-cluster", + clusterCount: a + e + "-cluster-count", + }), + (this.below = null); + } + var l = s.prototype; + (l.addSource = function (t, e, r) { + var i = { type: "geojson", data: e.geojson }; + r && + r.enabled && + n.extendFlat(i, { + cluster: !0, + clusterMaxZoom: r.maxzoom, + }); + var a = this.subplot.map.getSource(this.sourceIds[t]); + a + ? a.setData(e.geojson) + : this.subplot.map.addSource(this.sourceIds[t], i); + }), + (l.setSourceData = function (t, e) { + this.subplot.map + .getSource(this.sourceIds[t]) + .setData(e.geojson); + }), + (l.addLayer = function (t, e, r) { + var n = { + type: e.type, + id: this.layerIds[t], + source: this.sourceIds[t], + layout: e.layout, + paint: e.paint, + }; + e.filter && (n.filter = e.filter); + for ( + var i, + a = this.layerIds[t], + o = this.subplot.getMapLayers(), + s = 0; + s < o.length; + s++ + ) + if (o[s].id === a) { + i = !0; + break; + } + i + ? (this.subplot.setOptions( + a, + "setLayoutProperty", + n.layout, + ), + "visible" === n.layout.visibility && + this.subplot.setOptions( + a, + "setPaintProperty", + n.paint, + )) + : this.subplot.addLayer(n, r); + }), + (l.update = function (t) { + var e = t[0].trace, + r = this.subplot, + n = r.map, + a = i(r.gd, t), + s = r.belowLookup["trace-" + this.uid], + l = !(!e.cluster || !e.cluster.enabled), + u = !!this.clusterEnabled, + c = this; + function f(t) { + u + ? (function (t) { + for ( + var e = o.cluster, r = e.length - 1; + r >= 0; + r-- + ) { + var i = e[r]; + n.removeLayer(c.layerIds[i]); + } + t || n.removeSource(c.sourceIds.circle); + })(t) + : (function (t) { + for ( + var e = o.nonCluster, r = e.length - 1; + r >= 0; + r-- + ) { + var i = e[r]; + n.removeLayer(c.layerIds[i]), + t || n.removeSource(c.sourceIds[i]); + } + })(t); + } + function h(t) { + l + ? (function (t) { + t || + c.addSource("circle", a.circle, e.cluster); + for ( + var r = o.cluster, n = 0; + n < r.length; + n++ + ) { + var i = r[n], + l = a[i]; + c.addLayer(i, l, s); + } + })(t) + : (function (t) { + for ( + var e = o.nonCluster, r = 0; + r < e.length; + r++ + ) { + var n = e[r], + i = a[n]; + t || c.addSource(n, i), c.addLayer(n, i, s); + } + })(t); + } + function p() { + for ( + var t = l ? o.cluster : o.nonCluster, e = 0; + e < t.length; + e++ + ) { + var n = t[e], + i = a[n]; + i && + (r.setOptions( + c.layerIds[n], + "setLayoutProperty", + i.layout, + ), + "visible" === i.layout.visibility && + ("cluster" !== n && c.setSourceData(n, i), + r.setOptions( + c.layerIds[n], + "setPaintProperty", + i.paint, + ))); + } + } + var d = this.isHidden, + v = !0 !== e.visible; + v + ? d || f() + : d + ? v || h() + : u !== l + ? (f(), h()) + : this.below !== s + ? (f(!0), h(!0), p()) + : p(), + (this.clusterEnabled = l), + (this.isHidden = v), + (this.below = s), + (t[0].trace._glTrace = this); + }), + (l.dispose = function () { + for ( + var t = this.subplot.map, + e = this.clusterEnabled + ? o.cluster + : o.nonCluster, + r = e.length - 1; + r >= 0; + r-- + ) { + var n = e[r]; + t.removeLayer(this.layerIds[n]), + t.removeSource(this.sourceIds[n]); + } + }), + (t.exports = function (t, e) { + var r, + n, + a, + l = e[0].trace, + u = l.cluster && l.cluster.enabled, + c = !0 !== l.visible, + f = new s(t, l.uid, u, c), + h = i(t.gd, e), + p = (f.below = t.belowLookup["trace-" + l.uid]); + if (u) + for ( + f.addSource("circle", h.circle, l.cluster), r = 0; + r < o.cluster.length; + r++ + ) + (a = h[(n = o.cluster[r])]), f.addLayer(n, a, p); + else + for (r = 0; r < o.nonCluster.length; r++) + (a = h[(n = o.nonCluster[r])]), + f.addSource(n, a, l.cluster), + f.addLayer(n, a, p); + return (e[0].trace._glTrace = f), f; + }); + }, + 86387: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(34098), + a = r(50606).BADNUM; + t.exports = function (t, e) { + var r, + o = t.cd, + s = t.xaxis, + l = t.yaxis, + u = [], + c = o[0].trace; + if (!i.hasMarkers(c)) return []; + if (!1 === e) + for (r = 0; r < o.length; r++) o[r].selected = 0; + else + for (r = 0; r < o.length; r++) { + var f = o[r], + h = f.lonlat; + if (h[0] !== a) { + var p = [n.modHalf(h[0], 360), h[1]], + d = [s.c2p(p), l.c2p(p)]; + e.contains(d, null, r, t) + ? (u.push({ + pointNumber: r, + lon: h[0], + lat: h[1], + }), + (f.selected = 1)) + : (f.selected = 0); + } + } + return u; + }; + }, + 81245: function (t, e, r) { + "use strict"; + var n = r(5386).fF, + i = r(5386).si, + a = r(1426).extendFlat, + o = r(82196), + s = r(9012), + l = o.line; + t.exports = { + mode: o.mode, + r: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + theta: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + r0: { + valType: "any", + dflt: 0, + editType: "calc+clearAxisTypes", + }, + dr: { valType: "number", dflt: 1, editType: "calc" }, + theta0: { + valType: "any", + dflt: 0, + editType: "calc+clearAxisTypes", + }, + dtheta: { valType: "number", editType: "calc" }, + thetaunit: { + valType: "enumerated", + values: ["radians", "degrees", "gradians"], + dflt: "degrees", + editType: "calc+clearAxisTypes", + }, + text: o.text, + texttemplate: i( + { editType: "plot" }, + { keys: ["r", "theta", "text"] }, + ), + hovertext: o.hovertext, + line: { + color: l.color, + width: l.width, + dash: l.dash, + backoff: l.backoff, + shape: a({}, l.shape, { + values: ["linear", "spline"], + }), + smoothing: l.smoothing, + editType: "calc", + }, + connectgaps: o.connectgaps, + marker: o.marker, + cliponaxis: a({}, o.cliponaxis, { dflt: !1 }), + textposition: o.textposition, + textfont: o.textfont, + fill: a({}, o.fill, { + values: ["none", "toself", "tonext"], + dflt: "none", + }), + fillcolor: o.fillcolor, + hoverinfo: a({}, s.hoverinfo, { + flags: ["r", "theta", "text", "name"], + }), + hoveron: o.hoveron, + hovertemplate: n(), + selected: o.selected, + unselected: o.unselected, + }; + }, + 26442: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(50606).BADNUM, + a = r(89298), + o = r(36922), + s = r(75225), + l = r(66279), + u = r(47761).calcMarkerSize; + t.exports = function (t, e) { + for ( + var r = t._fullLayout, + c = e.subplot, + f = r[c].radialaxis, + h = r[c].angularaxis, + p = f.makeCalcdata(e, "r"), + d = h.makeCalcdata(e, "theta"), + v = e._length, + g = new Array(v), + y = 0; + y < v; + y++ + ) { + var m = p[y], + x = d[y], + b = (g[y] = {}); + n(m) && n(x) ? ((b.r = m), (b.theta = x)) : (b.r = i); + } + var _ = u(e, v); + return ( + (e._extremes.x = a.findExtremes(f, p, { ppad: _ })), + o(t, e), + s(g, e), + l(g, e), + g + ); + }; + }, + 22184: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(34098), + a = r(49508), + o = r(11058), + s = r(94039), + l = r(82410), + u = r(28908), + c = r(47581).PTS_LINESONLY, + f = r(81245); + function h(t, e, r, n) { + var i, + a = n("r"), + o = n("theta"); + if (a) + o + ? (i = Math.min(a.length, o.length)) + : ((i = a.length), n("theta0"), n("dtheta")); + else { + if (!o) return 0; + (i = e.theta.length), n("r0"), n("dr"); + } + return (e._length = i), i; + } + t.exports = { + handleRThetaDefaults: h, + supplyDefaults: function (t, e, r, p) { + function d(r, i) { + return n.coerce(t, e, f, r, i); + } + var v = h(0, e, 0, d); + if (v) { + d("thetaunit"), + d("mode", v < c ? "lines+markers" : "lines"), + d("text"), + d("hovertext"), + "fills" !== e.hoveron && d("hovertemplate"), + i.hasLines(e) && + (o(t, e, r, p, d, { backoff: !0 }), + s(t, e, d), + d("connectgaps")), + i.hasMarkers(e) && + a(t, e, r, p, d, { gradient: !0 }), + i.hasText(e) && + (d("texttemplate"), l(t, e, p, d)); + var g = []; + (i.hasMarkers(e) || i.hasText(e)) && + (d("cliponaxis"), + d("marker.maxdisplayed"), + g.push("points")), + d("fill"), + "none" !== e.fill && + (u(t, e, r, d), i.hasLines(e) || s(t, e, d)), + ("tonext" !== e.fill && "toself" !== e.fill) || + g.push("fills"), + d("hoveron", g.join("+") || "points"), + n.coerceSelectionMarkerOpacity(e, d); + } else e.visible = !1; + }, + }; + }, + 98608: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298); + t.exports = function (t, e, r) { + var a, + o, + s = {}, + l = r[e.subplot]._subplot; + l + ? ((a = l.radialAxis), (o = l.angularAxis)) + : ((a = (l = r[e.subplot]).radialaxis), + (o = l.angularaxis)); + var u = a.c2l(t.r); + s.rLabel = i.tickText(a, u, !0).text; + var c = + "degrees" === o.thetaunit + ? n.rad2deg(t.theta) + : t.theta; + return (s.thetaLabel = i.tickText(o, c, !0).text), s; + }; + }, + 59150: function (t, e, r) { + "use strict"; + var n = r(33720); + function i(t, e, r, n) { + var i = r.radialAxis, + a = r.angularAxis; + (i._hovertitle = "r"), (a._hovertitle = "θ"); + var o = {}; + o[e.subplot] = { _subplot: r }; + var s = e._module.formatLabels(t, e, o); + (n.rLabel = s.rLabel), (n.thetaLabel = s.thetaLabel); + var l = t.hi || e.hoverinfo, + u = []; + function c(t, e) { + u.push(t._hovertitle + ": " + e); + } + if (!e.hovertemplate) { + var f = l.split("+"); + -1 !== f.indexOf("all") && + (f = ["r", "theta", "text"]), + -1 !== f.indexOf("r") && c(i, n.rLabel), + -1 !== f.indexOf("theta") && c(a, n.thetaLabel), + -1 !== f.indexOf("text") && + n.text && + (u.push(n.text), delete n.text), + (n.extraText = u.join("
")); + } + } + t.exports = { + hoverPoints: function (t, e, r, a) { + var o = n(t, e, r, a); + if (o && !1 !== o[0].index) { + var s = o[0]; + if (void 0 === s.index) return o; + var l = t.subplot, + u = s.cd[s.index], + c = s.trace; + if (l.isPtInside(u)) + return ( + (s.xLabelVal = void 0), + (s.yLabelVal = void 0), + i(u, c, l, s), + (s.hovertemplate = c.hovertemplate), + o + ); + } + }, + makeHoverPointText: i, + }; + }, + 91271: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "scatterpolar", + basePlotModule: r(23580), + categories: [ + "polar", + "symbols", + "showLegend", + "scatter-like", + ], + attributes: r(81245), + supplyDefaults: r(22184).supplyDefaults, + colorbar: r(4898), + formatLabels: r(98608), + calc: r(26442), + plot: r(45162), + style: r(16296).style, + styleOnSelect: r(16296).styleOnSelect, + hoverPoints: r(59150).hoverPoints, + selectPoints: r(98002), + meta: {}, + }; + }, + 45162: function (t, e, r) { + "use strict"; + var n = r(32663), + i = r(50606).BADNUM; + t.exports = function (t, e, r) { + for ( + var a = e.layers.frontplot.select("g.scatterlayer"), + o = e.xaxis, + s = e.yaxis, + l = { + xaxis: o, + yaxis: s, + plot: e.framework, + layerClipId: e._hasClipOnAxisFalse + ? e.clipIds.forTraces + : null, + }, + u = e.radialAxis, + c = e.angularAxis, + f = 0; + f < r.length; + f++ + ) + for (var h = r[f], p = 0; p < h.length; p++) { + 0 === p && + ((h[0].trace._xA = o), (h[0].trace._yA = s)); + var d = h[p], + v = d.r; + if (v === i) d.x = d.y = i; + else { + var g = u.c2g(v), + y = c.c2g(d.theta); + (d.x = g * Math.cos(y)), (d.y = g * Math.sin(y)); + } + } + n(t, l, r, a); + }; + }, + 53286: function (t, e, r) { + "use strict"; + var n = r(81245), + i = r(42341), + a = r(5386).si; + t.exports = { + mode: n.mode, + r: n.r, + theta: n.theta, + r0: n.r0, + dr: n.dr, + theta0: n.theta0, + dtheta: n.dtheta, + thetaunit: n.thetaunit, + text: n.text, + texttemplate: a( + { editType: "plot" }, + { keys: ["r", "theta", "text"] }, + ), + hovertext: n.hovertext, + hovertemplate: n.hovertemplate, + line: i.line, + connectgaps: i.connectgaps, + marker: i.marker, + fill: i.fill, + fillcolor: i.fillcolor, + textposition: i.textposition, + textfont: i.textfont, + hoverinfo: n.hoverinfo, + selected: n.selected, + unselected: n.unselected, + }; + }, + 65746: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "scatterpolargl", + basePlotModule: r(23580), + categories: [ + "gl", + "regl", + "polar", + "symbols", + "showLegend", + "scatter-like", + ], + attributes: r(53286), + supplyDefaults: r(75485), + colorbar: r(4898), + formatLabels: r(46255), + calc: r(37499), + hoverPoints: r(29347).hoverPoints, + selectPoints: r(58147), + meta: {}, + }; + }, + 37499: function (t, e, r) { + "use strict"; + var n = r(36922), + i = r(47761).calcMarkerSize, + a = r(19635), + o = r(89298), + s = r(78232).TOO_MANY_POINTS; + t.exports = function (t, e) { + var r = t._fullLayout, + l = e.subplot, + u = r[l].radialaxis, + c = r[l].angularaxis, + f = (e._r = u.makeCalcdata(e, "r")), + h = (e._theta = c.makeCalcdata(e, "theta")), + p = e._length, + d = {}; + p < f.length && (f = f.slice(0, p)), + p < h.length && (h = h.slice(0, p)), + (d.r = f), + (d.theta = h), + n(t, e); + var v, + g = (d.opts = a.style(t, e)); + return ( + p < s + ? (v = i(e, p)) + : g.marker && + (v = + 2 * + (g.marker.sizeAvg || + Math.max(g.marker.size, 3))), + (e._extremes.x = o.findExtremes(u, f, { ppad: v })), + [{ x: !1, y: !1, t: d, trace: e }] + ); + }; + }, + 75485: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(34098), + a = r(22184).handleRThetaDefaults, + o = r(49508), + s = r(11058), + l = r(82410), + u = r(28908), + c = r(47581).PTS_LINESONLY, + f = r(53286); + t.exports = function (t, e, r, h) { + function p(r, i) { + return n.coerce(t, e, f, r, i); + } + var d = a(t, e, h, p); + d + ? (p("thetaunit"), + p("mode", d < c ? "lines+markers" : "lines"), + p("text"), + p("hovertext"), + "fills" !== e.hoveron && p("hovertemplate"), + i.hasLines(e) && + (s(t, e, r, h, p), p("connectgaps")), + i.hasMarkers(e) && + o(t, e, r, h, p, { + noAngleRef: !0, + noStandOff: !0, + }), + i.hasText(e) && (p("texttemplate"), l(t, e, h, p)), + p("fill"), + "none" !== e.fill && u(t, e, r, p), + n.coerceSelectionMarkerOpacity(e, p)) + : (e.visible = !1); + }; + }, + 46255: function (t, e, r) { + "use strict"; + var n = r(98608); + t.exports = function (t, e, r) { + var i = t.i; + return ( + "r" in t || (t.r = e._r[i]), + "theta" in t || (t.theta = e._theta[i]), + n(t, e, r) + ); + }; + }, + 29347: function (t, e, r) { + "use strict"; + var n = r(20794), + i = r(59150).makeHoverPointText; + t.exports = { + hoverPoints: function (t, e, r, a) { + var o = t.cd[0].t, + s = o.r, + l = o.theta, + u = n.hoverPoints(t, e, r, a); + if (u && !1 !== u[0].index) { + var c = u[0]; + if (void 0 === c.index) return u; + var f = t.subplot, + h = c.cd[c.index], + p = c.trace; + if ( + ((h.r = s[c.index]), + (h.theta = l[c.index]), + f.isPtInside(h)) + ) + return ( + (c.xLabelVal = void 0), + (c.yLabelVal = void 0), + i(h, p, f, c), + u + ); + } + }, + }; + }, + 21461: function (t, e, r) { + "use strict"; + var n = r(65746); + (n.plot = r(49741)), (t.exports = n); + }, + 49741: function (t, e, r) { + "use strict"; + var n = r(88294), + i = r(92770), + a = r(26787), + o = r(38967), + s = r(19635), + l = r(71828), + u = r(78232).TOO_MANY_POINTS; + (t.exports = function (t, e, r) { + if (r.length) { + var c = e.radialAxis, + f = e.angularAxis, + h = o(t, e); + return ( + r.forEach(function (r) { + if (r && r[0] && r[0].trace) { + var a, + o = r[0], + p = o.trace, + d = o.t, + v = p._length, + g = d.r, + y = d.theta, + m = d.opts, + x = g.slice(), + b = y.slice(); + for (a = 0; a < g.length; a++) + e.isPtInside({ r: g[a], theta: y[a] }) || + ((x[a] = NaN), (b[a] = NaN)); + var _ = new Array(2 * v), + w = Array(v), + T = Array(v); + for (a = 0; a < v; a++) { + var k, + A, + M = x[a]; + if (i(M)) { + var S = c.c2g(M), + E = f.c2g(b[a], p.thetaunit); + (k = S * Math.cos(E)), + (A = S * Math.sin(E)); + } else k = A = NaN; + (w[a] = _[2 * a] = k), + (T[a] = _[2 * a + 1] = A); + } + (d.tree = n(_)), + m.marker && + v >= u && + (m.marker.cluster = d.tree), + m.marker && + (m.markerSel.positions = + m.markerUnsel.positions = + m.marker.positions = + _), + m.line && + _.length > 1 && + l.extendFlat( + m.line, + s.linePositions(t, p, _), + ), + m.text && + (l.extendFlat( + m.text, + { positions: _ }, + s.textPosition(t, p, m.text, m.marker), + ), + l.extendFlat( + m.textSel, + { positions: _ }, + s.textPosition(t, p, m.text, m.markerSel), + ), + l.extendFlat( + m.textUnsel, + { positions: _ }, + s.textPosition( + t, + p, + m.text, + m.markerUnsel, + ), + )), + m.fill && !h.fill2d && (h.fill2d = !0), + m.marker && + !h.scatter2d && + (h.scatter2d = !0), + m.line && !h.line2d && (h.line2d = !0), + m.text && !h.glText && (h.glText = !0), + h.lineOptions.push(m.line), + h.fillOptions.push(m.fill), + h.markerOptions.push(m.marker), + h.markerSelectedOptions.push(m.markerSel), + h.markerUnselectedOptions.push(m.markerUnsel), + h.textOptions.push(m.text), + h.textSelectedOptions.push(m.textSel), + h.textUnselectedOptions.push(m.textUnsel), + h.selectBatch.push([]), + h.unselectBatch.push([]), + (d.x = w), + (d.y = T), + (d.rawx = w), + (d.rawy = T), + (d.r = g), + (d.theta = y), + (d.positions = _), + (d._scene = h), + (d.index = h.count), + h.count++; + } + }), + a(t, e, r) + ); + } + }), + (t.exports.reglPrecompiled = {}); + }, + 48300: function (t, e, r) { + "use strict"; + var n = r(5386).fF, + i = r(5386).si, + a = r(1426).extendFlat, + o = r(82196), + s = r(9012), + l = o.line; + t.exports = { + mode: o.mode, + real: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + imag: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + text: o.text, + texttemplate: i( + { editType: "plot" }, + { keys: ["real", "imag", "text"] }, + ), + hovertext: o.hovertext, + line: { + color: l.color, + width: l.width, + dash: l.dash, + backoff: l.backoff, + shape: a({}, l.shape, { + values: ["linear", "spline"], + }), + smoothing: l.smoothing, + editType: "calc", + }, + connectgaps: o.connectgaps, + marker: o.marker, + cliponaxis: a({}, o.cliponaxis, { dflt: !1 }), + textposition: o.textposition, + textfont: o.textfont, + fill: a({}, o.fill, { + values: ["none", "toself", "tonext"], + dflt: "none", + }), + fillcolor: o.fillcolor, + hoverinfo: a({}, s.hoverinfo, { + flags: ["real", "imag", "text", "name"], + }), + hoveron: o.hoveron, + hovertemplate: n(), + selected: o.selected, + unselected: o.unselected, + }; + }, + 30621: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(50606).BADNUM, + a = r(36922), + o = r(75225), + s = r(66279), + l = r(47761).calcMarkerSize; + t.exports = function (t, e) { + for ( + var r = t._fullLayout, + u = e.subplot, + c = r[u].realaxis, + f = r[u].imaginaryaxis, + h = c.makeCalcdata(e, "real"), + p = f.makeCalcdata(e, "imag"), + d = e._length, + v = new Array(d), + g = 0; + g < d; + g++ + ) { + var y = h[g], + m = p[g], + x = (v[g] = {}); + n(y) && n(m) + ? ((x.real = y), (x.imag = m)) + : (x.real = i); + } + return l(e, d), a(t, e), o(v, e), s(v, e), v; + }; + }, + 65269: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(34098), + a = r(49508), + o = r(11058), + s = r(94039), + l = r(82410), + u = r(28908), + c = r(47581).PTS_LINESONLY, + f = r(48300); + t.exports = function (t, e, r, h) { + function p(r, i) { + return n.coerce(t, e, f, r, i); + } + var d = (function (t, e, r, n) { + var i, + a = n("real"), + o = n("imag"); + return ( + a && o && (i = Math.min(a.length, o.length)), + (e._length = i), + i + ); + })(0, e, 0, p); + if (d) { + p("mode", d < c ? "lines+markers" : "lines"), + p("text"), + p("hovertext"), + "fills" !== e.hoveron && p("hovertemplate"), + i.hasLines(e) && + (o(t, e, r, h, p, { backoff: !0 }), + s(t, e, p), + p("connectgaps")), + i.hasMarkers(e) && + a(t, e, r, h, p, { gradient: !0 }), + i.hasText(e) && (p("texttemplate"), l(t, e, h, p)); + var v = []; + (i.hasMarkers(e) || i.hasText(e)) && + (p("cliponaxis"), + p("marker.maxdisplayed"), + v.push("points")), + p("fill"), + "none" !== e.fill && + (u(t, e, r, p), i.hasLines(e) || s(t, e, p)), + ("tonext" !== e.fill && "toself" !== e.fill) || + v.push("fills"), + p("hoveron", v.join("+") || "points"), + n.coerceSelectionMarkerOpacity(e, p); + } else e.visible = !1; + }; + }, + 62047: function (t, e, r) { + "use strict"; + var n = r(89298); + t.exports = function (t, e, r) { + var i = {}, + a = r[e.subplot]._subplot; + return ( + (i.realLabel = n.tickText( + a.radialAxis, + t.real, + !0, + ).text), + (i.imagLabel = n.tickText( + a.angularAxis, + t.imag, + !0, + ).text), + i + ); + }; + }, + 11350: function (t, e, r) { + "use strict"; + var n = r(33720); + function i(t, e, r, n) { + var i = r.radialAxis, + a = r.angularAxis; + (i._hovertitle = "real"), (a._hovertitle = "imag"); + var o = {}; + o[e.subplot] = { _subplot: r }; + var s = e._module.formatLabels(t, e, o); + (n.realLabel = s.realLabel), + (n.imagLabel = s.imagLabel); + var l = t.hi || e.hoverinfo, + u = []; + function c(t, e) { + u.push(t._hovertitle + ": " + e); + } + if (!e.hovertemplate) { + var f = l.split("+"); + -1 !== f.indexOf("all") && + (f = ["real", "imag", "text"]), + -1 !== f.indexOf("real") && c(i, n.realLabel), + -1 !== f.indexOf("imag") && c(a, n.imagLabel), + -1 !== f.indexOf("text") && + n.text && + (u.push(n.text), delete n.text), + (n.extraText = u.join("
")); + } + } + t.exports = { + hoverPoints: function (t, e, r, a) { + var o = n(t, e, r, a); + if (o && !1 !== o[0].index) { + var s = o[0]; + if (void 0 === s.index) return o; + var l = t.subplot, + u = s.cd[s.index], + c = s.trace; + if (l.isPtInside(u)) + return ( + (s.xLabelVal = void 0), + (s.yLabelVal = void 0), + i(u, c, l, s), + (s.hovertemplate = c.hovertemplate), + o + ); + } + }, + makeHoverPointText: i, + }; + }, + 85956: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "scattersmith", + basePlotModule: r(7504), + categories: [ + "smith", + "symbols", + "showLegend", + "scatter-like", + ], + attributes: r(48300), + supplyDefaults: r(65269), + colorbar: r(4898), + formatLabels: r(62047), + calc: r(30621), + plot: r(12480), + style: r(16296).style, + styleOnSelect: r(16296).styleOnSelect, + hoverPoints: r(11350).hoverPoints, + selectPoints: r(98002), + meta: {}, + }; + }, + 12480: function (t, e, r) { + "use strict"; + var n = r(32663), + i = r(50606).BADNUM, + a = r(23893).smith; + t.exports = function (t, e, r) { + for ( + var o = e.layers.frontplot.select("g.scatterlayer"), + s = e.xaxis, + l = e.yaxis, + u = { + xaxis: s, + yaxis: l, + plot: e.framework, + layerClipId: e._hasClipOnAxisFalse + ? e.clipIds.forTraces + : null, + }, + c = 0; + c < r.length; + c++ + ) + for (var f = r[c], h = 0; h < f.length; h++) { + 0 === h && + ((f[0].trace._xA = s), (f[0].trace._yA = l)); + var p = f[h], + d = p.real; + if (d === i) p.x = p.y = i; + else { + var v = a([d, p.imag]); + (p.x = v[0]), (p.y = v[1]); + } + } + n(t, u, r, o); + }; + }, + 50413: function (t, e, r) { + "use strict"; + var n = r(5386).fF, + i = r(5386).si, + a = r(82196), + o = r(9012), + s = r(50693), + l = r(79952).P, + u = r(1426).extendFlat, + c = a.marker, + f = a.line, + h = c.line; + t.exports = { + 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: u({}, a.mode, { dflt: "markers" }), + text: u({}, a.text, {}), + texttemplate: i( + { editType: "plot" }, + { keys: ["a", "b", "c", "text"] }, + ), + hovertext: u({}, a.hovertext, {}), + line: { + color: f.color, + width: f.width, + dash: l, + backoff: f.backoff, + shape: u({}, f.shape, { + values: ["linear", "spline"], + }), + smoothing: f.smoothing, + editType: "calc", + }, + connectgaps: a.connectgaps, + cliponaxis: a.cliponaxis, + fill: u({}, a.fill, { + values: ["none", "toself", "tonext"], + dflt: "none", + }), + fillcolor: a.fillcolor, + marker: u( + { + symbol: c.symbol, + opacity: c.opacity, + angle: c.angle, + angleref: c.angleref, + standoff: c.standoff, + maxdisplayed: c.maxdisplayed, + size: c.size, + sizeref: c.sizeref, + sizemin: c.sizemin, + sizemode: c.sizemode, + line: u( + { width: h.width, editType: "calc" }, + s("marker.line"), + ), + gradient: c.gradient, + editType: "calc", + }, + s("marker"), + ), + textfont: a.textfont, + textposition: a.textposition, + selected: a.selected, + unselected: a.unselected, + hoverinfo: u({}, o.hoverinfo, { + flags: ["a", "b", "c", "text", "name"], + }), + hoveron: a.hoveron, + hovertemplate: n(), + }; + }, + 54337: function (t, e, r) { + "use strict"; + var n = r(92770), + i = r(36922), + a = r(75225), + o = r(66279), + s = r(47761).calcMarkerSize, + l = ["a", "b", "c"], + u = { a: ["b", "c"], b: ["a", "c"], c: ["a", "b"] }; + t.exports = function (t, e) { + var r, + c, + f, + h, + p, + d, + v = t._fullLayout[e.subplot].sum, + g = e.sum || v, + y = { a: e.a, b: e.b, c: e.c }; + for (r = 0; r < l.length; r++) + if (!y[(f = l[r])]) { + for ( + p = y[u[f][0]], + d = y[u[f][1]], + h = new Array(p.length), + c = 0; + c < p.length; + c++ + ) + h[c] = g - p[c] - d[c]; + y[f] = h; + } + var m, + x, + b, + _, + w, + T, + k = e._length, + A = new Array(k); + for (r = 0; r < k; r++) + (m = y.a[r]), + (x = y.b[r]), + (b = y.c[r]), + n(m) && n(x) && n(b) + ? (1 != + (_ = v / ((m = +m) + (x = +x) + (b = +b))) && + ((m *= _), (x *= _), (b *= _)), + (T = m), + (w = b - x), + (A[r] = { x: w, y: T, a: m, b: x, c: b })) + : (A[r] = { x: !1, y: !1 }); + return s(e, k), i(t, e), a(A, e), o(A, e), A; + }; + }, + 46008: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(47581), + a = r(34098), + o = r(49508), + s = r(11058), + l = r(94039), + u = r(82410), + c = r(28908), + f = r(50413); + t.exports = function (t, e, r, h) { + function p(r, i) { + return n.coerce(t, e, f, r, i); + } + var d, + v = p("a"), + g = p("b"), + y = p("c"); + if ( + (v + ? ((d = v.length), + g + ? ((d = Math.min(d, g.length)), + y && (d = Math.min(d, y.length))) + : (d = y ? Math.min(d, y.length) : 0)) + : g && y && (d = Math.min(g.length, y.length)), + d) + ) { + (e._length = d), + p("sum"), + p("text"), + p("hovertext"), + "fills" !== e.hoveron && p("hovertemplate"), + p( + "mode", + d < i.PTS_LINESONLY ? "lines+markers" : "lines", + ), + a.hasLines(e) && + (s(t, e, r, h, p, { backoff: !0 }), + l(t, e, p), + p("connectgaps")), + a.hasMarkers(e) && + o(t, e, r, h, p, { gradient: !0 }), + a.hasText(e) && (p("texttemplate"), u(t, e, h, p)); + var m = []; + (a.hasMarkers(e) || a.hasText(e)) && + (p("cliponaxis"), + p("marker.maxdisplayed"), + m.push("points")), + p("fill"), + "none" !== e.fill && + (c(t, e, r, p), a.hasLines(e) || l(t, e, p)), + ("tonext" !== e.fill && "toself" !== e.fill) || + m.push("fills"), + p("hoveron", m.join("+") || "points"), + n.coerceSelectionMarkerOpacity(e, p); + } else e.visible = !1; + }; + }, + 4524: function (t) { + "use strict"; + t.exports = 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; + }; + }, + 93645: function (t, e, r) { + "use strict"; + var n = r(89298); + t.exports = function (t, e, r) { + var i = {}, + a = r[e.subplot]._subplot; + return ( + (i.aLabel = n.tickText(a.aaxis, t.a, !0).text), + (i.bLabel = n.tickText(a.baxis, t.b, !0).text), + (i.cLabel = n.tickText(a.caxis, t.c, !0).text), + i + ); + }; + }, + 47250: function (t, e, r) { + "use strict"; + var n = r(33720); + t.exports = function (t, e, r, i) { + var a = n(t, e, r, i); + if (a && !1 !== a[0].index) { + var o = a[0]; + if (void 0 === o.index) { + var s = 1 - o.y0 / t.ya._length, + l = t.xa._length, + u = (l * s) / 2, + c = l - u; + return ( + (o.x0 = Math.max(Math.min(o.x0, c), u)), + (o.x1 = Math.max(Math.min(o.x1, c), u)), + a + ); + } + var f = o.cd[o.index], + h = o.trace, + p = o.subplot; + (o.a = f.a), + (o.b = f.b), + (o.c = f.c), + (o.xLabelVal = void 0), + (o.yLabelVal = void 0); + var d = {}; + d[h.subplot] = { _subplot: p }; + var v = h._module.formatLabels(f, h, d); + (o.aLabel = v.aLabel), + (o.bLabel = v.bLabel), + (o.cLabel = v.cLabel); + var g = f.hi || h.hoverinfo, + y = []; + if (!h.hovertemplate) { + var m = g.split("+"); + -1 !== m.indexOf("all") && (m = ["a", "b", "c"]), + -1 !== m.indexOf("a") && x(p.aaxis, o.aLabel), + -1 !== m.indexOf("b") && x(p.baxis, o.bLabel), + -1 !== m.indexOf("c") && x(p.caxis, o.cLabel); + } + return ( + (o.extraText = y.join("
")), + (o.hovertemplate = h.hovertemplate), + a + ); + } + function x(t, e) { + y.push(t._hovertitle + ": " + e); + } + }; + }, + 52979: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(50413), + supplyDefaults: r(46008), + colorbar: r(4898), + formatLabels: r(93645), + calc: r(54337), + plot: r(7507), + style: r(16296).style, + styleOnSelect: r(16296).styleOnSelect, + hoverPoints: r(47250), + selectPoints: r(98002), + eventData: r(4524), + moduleType: "trace", + name: "scatterternary", + basePlotModule: r(61639), + categories: [ + "ternary", + "symbols", + "showLegend", + "scatter-like", + ], + meta: {}, + }; + }, + 7507: function (t, e, r) { + "use strict"; + var n = r(32663); + t.exports = function (t, e, r) { + var i = e.plotContainer; + i.select(".scatterlayer").selectAll("*").remove(); + for ( + var a = e.xaxis, + o = e.yaxis, + s = { + xaxis: a, + yaxis: o, + plot: i, + layerClipId: e._hasClipOnAxisFalse + ? e.clipIdRelative + : null, + }, + l = e.layers.frontplot.select("g.scatterlayer"), + u = 0; + u < r.length; + u++ + ) { + var c = r[u]; + c.length && + ((c[0].trace._xA = a), (c[0].trace._yA = o)); + } + n(t, s, r, l); + }; + }, + 46880: function (t, e, r) { + "use strict"; + var n = r(82196), + i = r(50693), + a = r(12663).axisHoverFormat, + o = r(5386).fF, + s = r(42341), + l = r(85555).idRegex, + u = r(44467).templatedArray, + c = r(1426).extendFlat, + f = n.marker, + h = f.line, + p = c(i("marker.line", { editTypeOverride: "calc" }), { + width: c({}, h.width, { editType: "calc" }), + editType: "calc", + }), + d = c(i("marker"), { + symbol: f.symbol, + angle: f.angle, + size: c({}, f.size, { editType: "markerSize" }), + sizeref: f.sizeref, + sizemin: f.sizemin, + sizemode: f.sizemode, + opacity: f.opacity, + colorbar: f.colorbar, + line: p, + editType: "calc", + }); + function v(t) { + return { + valType: "info_array", + freeLength: !0, + editType: "calc", + items: { + valType: "subplotid", + regex: l[t], + editType: "plot", + }, + }; + } + (d.color.editType = + d.cmin.editType = + d.cmax.editType = + "style"), + (t.exports = { + dimensions: u("dimension", { + visible: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + label: { valType: "string", editType: "calc" }, + values: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + axis: { + type: { + valType: "enumerated", + values: ["linear", "log", "date", "category"], + editType: "calc+clearAxisTypes", + }, + matches: { + valType: "boolean", + dflt: !1, + editType: "calc", + }, + editType: "calc+clearAxisTypes", + }, + editType: "calc+clearAxisTypes", + }), + text: c({}, s.text, {}), + hovertext: c({}, s.hovertext, {}), + hovertemplate: o(), + xhoverformat: a("x"), + yhoverformat: a("y"), + marker: d, + xaxes: v("x"), + yaxes: v("y"), + diagonal: { + visible: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + editType: "calc", + }, + showupperhalf: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + showlowerhalf: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + selected: { + marker: s.selected.marker, + editType: "calc", + }, + unselected: { + marker: s.unselected.marker, + editType: "calc", + }, + opacity: s.opacity, + }); + }, + 65017: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(83312); + (t.exports = { + moduleType: "trace", + name: "splom", + categories: [ + "gl", + "regl", + "cartesian", + "symbols", + "showLegend", + "scatter-like", + ], + attributes: r(46880), + supplyDefaults: r(25784), + colorbar: r(4898), + calc: r(87625), + plot: r(79410), + hoverPoints: r(8567).hoverPoints, + selectPoints: r(8689), + editStyle: r(28801), + meta: {}, + }), + n.register(i); + }, + 16947: function (t, e, r) { + "use strict"; + var n = r(46075), + i = r(73972), + a = r(79749), + o = r(27659).a0, + s = r(93612), + l = r(41675).getFromId, + u = r(89298).shouldShowZeroLine, + c = "splom", + f = {}; + function h(t, e, r) { + for ( + var n = r.matrixOptions.data.length, + i = e._visibleDims, + a = (r.viewOpts.ranges = new Array(n)), + o = 0; + o < i.length; + o++ + ) { + var s = i[o], + u = (a[o] = new Array(4)), + c = l(t, e._diag[s][0]); + c && + ((u[0] = c.r2l(c.range[0])), + (u[2] = c.r2l(c.range[1]))); + var f = l(t, e._diag[s][1]); + f && + ((u[1] = f.r2l(f.range[0])), + (u[3] = f.r2l(f.range[1]))); + } + r.selectBatch.length || r.unselectBatch.length + ? r.matrix.update({ ranges: a }, { ranges: a }) + : r.matrix.update({ ranges: a }); + } + function p(t) { + var e = t._fullLayout, + r = e._glcanvas.data()[0].regl, + i = e._splomGrid; + i || (i = e._splomGrid = n(r)), + i.update( + (function (t) { + var e, + r = t._context.plotGlPixelRatio, + n = t._fullLayout, + i = n._size, + a = [0, 0, n.width * r, n.height * r], + o = {}; + function s(t, e, n, i, s, l) { + (n *= r), (i *= r), (s *= r), (l *= r); + var u = e[t + "color"], + c = e[t + "width"], + f = String(u + c); + f in o + ? o[f].data.push(NaN, NaN, n, i, s, l) + : (o[f] = { + data: [n, i, s, l], + join: "rect", + thickness: c * r, + color: u, + viewport: a, + range: a, + overlay: !1, + }); + } + for (e in n._splomSubplots) { + var l, + c, + f = n._plots[e], + h = f.xaxis, + p = f.yaxis, + d = h._gridVals, + v = p._gridVals, + g = h._offset, + y = h._length, + m = p._length, + x = i.b + p.domain[0] * i.h, + b = -p._m, + _ = -b * p.r2l(p.range[0], p.calendar); + if (h.showgrid) + for (e = 0; e < d.length; e++) + (l = g + h.l2p(d[e].x)), + s("grid", h, l, x, l, x + m); + if (p.showgrid) + for (e = 0; e < v.length; e++) + s( + "grid", + p, + g, + (c = x + _ + b * v[e].x), + g + y, + c, + ); + u(t, h, p) && + ((l = g + h.l2p(0)), + s("zeroline", h, l, x, l, x + m)), + u(t, p, h) && + s( + "zeroline", + p, + g, + (c = x + _ + 0), + g + y, + c, + ); + } + var w = []; + for (e in o) w.push(o[e]); + return w; + })(t), + ); + } + t.exports = { + name: c, + attr: s.attr, + attrRegex: s.attrRegex, + layoutAttributes: s.layoutAttributes, + supplyLayoutDefaults: s.supplyLayoutDefaults, + drawFramework: s.drawFramework, + plot: function (t) { + var e = t._fullLayout, + r = i.getModule(c), + n = o(t.calcdata, r)[0]; + a( + t, + [ + "ANGLE_instanced_arrays", + "OES_element_index_uint", + ], + f, + ) && + (e._hasOnlyLargeSploms && p(t), r.plot(t, {}, n)); + }, + drag: function (t) { + var e = t.calcdata, + r = t._fullLayout; + r._hasOnlyLargeSploms && p(t); + for (var n = 0; n < e.length; n++) { + var i = e[n][0].trace, + a = r._splomScenes[i.uid]; + "splom" === i.type && a && a.matrix && h(t, i, a); + } + }, + updateGrid: p, + clean: function (t, e, r, n) { + var i, + a = {}; + if (n._splomScenes) { + for (i = 0; i < t.length; i++) { + var o = t[i]; + "splom" === o.type && (a[o.uid] = 1); + } + for (i = 0; i < r.length; i++) { + var l = r[i]; + if (!a[l.uid]) { + var u = n._splomScenes[l.uid]; + u && u.destroy && u.destroy(), + (n._splomScenes[l.uid] = null), + delete n._splomScenes[l.uid]; + } + } + } + 0 === Object.keys(n._splomScenes || {}).length && + delete n._splomScenes, + n._splomGrid && + !e._hasOnlyLargeSploms && + n._hasOnlyLargeSploms && + (n._splomGrid.destroy(), + (n._splomGrid = null), + delete n._splomGrid), + s.clean(t, e, r, n); + }, + updateFx: s.updateFx, + toSVG: s.toSVG, + reglPrecompiled: f, + }; + }, + 87625: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(41675), + a = r(47761).calcMarkerSize, + o = r(47761).calcAxisExpansion, + s = r(36922), + l = r(19635).markerSelection, + u = r(19635).markerStyle, + c = r(10164), + f = r(50606).BADNUM, + h = r(78232).TOO_MANY_POINTS; + t.exports = function (t, e) { + var r, + p, + d, + v, + g, + y, + m = e.dimensions, + x = e._length, + b = {}, + _ = (b.cdata = []), + w = (b.data = []), + T = (e._visibleDims = []); + function k(t, r) { + for ( + var i = t.makeCalcdata( + { v: r.values, vcalendar: e.calendar }, + "v", + ), + a = 0; + a < i.length; + a++ + ) + i[a] = i[a] === f ? NaN : i[a]; + _.push(i), + w.push( + "log" === t.type ? n.simpleMap(i, t.c2l) : i, + ); + } + for (r = 0; r < m.length; r++) + if ((d = m[r]).visible) { + if ( + ((v = i.getFromId(t, e._diag[r][0])), + (g = i.getFromId(t, e._diag[r][1])), + v && g && v.type !== g.type) + ) { + n.log( + "Skipping splom dimension " + + r + + " with conflicting axis types", + ); + continue; + } + v + ? (k(v, d), + g && + "category" === g.type && + (g._categories = v._categories.slice())) + : k(g, d), + T.push(r); + } + for ( + s(t, e), + n.extendFlat(b, u(t, e)), + y = + _.length * x > h + ? b.sizeAvg || Math.max(b.size, 3) + : a(e, x), + p = 0; + p < T.length; + p++ + ) + (d = m[(r = T[p])]), + (v = i.getFromId(t, e._diag[r][0]) || {}), + (g = i.getFromId(t, e._diag[r][1]) || {}), + o(t, e, v, g, _[p], _[p], y); + var A = c(t, e); + return ( + A.matrix || (A.matrix = !0), + (A.matrixOptions = b), + (A.selectedOptions = l(t, e, e.selected)), + (A.unselectedOptions = l(t, e, e.unselected)), + [{ x: !1, y: !1, t: {}, trace: e }] + ); + }; + }, + 25784: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(85501), + a = r(46880), + o = r(34098), + s = r(49508), + l = r(94397), + u = r(68645).isOpenSymbol; + function c(t, e) { + function r(r, i) { + return n.coerce(t, e, a.dimensions, r, i); + } + r("label"); + var i = r("values"); + i && i.length ? r("visible") : (e.visible = !1), + r("axis.type"), + r("axis.matches"); + } + t.exports = function (t, e, r, f) { + function h(r, i) { + return n.coerce(t, e, a, r, i); + } + var p = i(t, e, { + name: "dimensions", + handleItemDefaults: c, + }), + d = h("diagonal.visible"), + v = h("showupperhalf"), + g = h("showlowerhalf"); + if (l(e, p, "values") && (d || v || g)) { + h("text"), + h("hovertext"), + h("hovertemplate"), + h("xhoverformat"), + h("yhoverformat"), + s(t, e, r, f, h, { + noAngleRef: !0, + noStandOff: !0, + }); + var y = u(e.marker.symbol), + m = o.isBubble(e); + h("marker.line.width", y || m ? 1 : 0), + (function (t, e, r, n) { + var i, + a, + o = e.dimensions, + s = o.length, + l = e.showupperhalf, + u = e.showlowerhalf, + c = e.diagonal.visible, + f = new Array(s), + h = new Array(s); + for (i = 0; i < s; i++) { + var p = i ? i + 1 : ""; + (f[i] = "x" + p), (h[i] = "y" + p); + } + var d = n("xaxes", f), + v = n("yaxes", h), + g = (e._diag = new Array(s)); + (e._xaxes = {}), (e._yaxes = {}); + var y = [], + m = []; + function x(t, n, i, a) { + if (t) { + var o = t.charAt(0), + s = r._splomAxes[o]; + if ( + ((e["_" + o + "axes"][t] = 1), + a.push(t), + !(t in s)) + ) { + var l = (s[t] = {}); + i && + ((l.label = i.label || ""), + i.visible && + i.axis && + (i.axis.type && (l.type = i.axis.type), + i.axis.matches && (l.matches = n))); + } + } + } + var b = !c && !u, + _ = !c && !l; + for (e._axesDim = {}, i = 0; i < s; i++) { + var w = o[i], + T = 0 === i, + k = i === s - 1, + A = (T && b) || (k && _) ? void 0 : d[i], + M = (T && _) || (k && b) ? void 0 : v[i]; + x(A, M, w, y), + x(M, A, w, m), + (g[i] = [A, M]), + (e._axesDim[A] = i), + (e._axesDim[M] = i); + } + for (i = 0; i < y.length; i++) + for (a = 0; a < m.length; a++) { + var S = y[i] + m[a]; + (i > a && l) || (i < a && u) + ? (r._splomSubplots[S] = 1) + : i !== a || + (!c && u && l) || + (r._splomSubplots[S] = 1); + } + (!u || (!c && l && u)) && + ((r._splomGridDflt.xside = "bottom"), + (r._splomGridDflt.yside = "left")); + })(0, e, f, h), + n.coerceSelectionMarkerOpacity(e, h); + } else e.visible = !1; + }; + }, + 28801: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(36922), + a = r(19635).markerStyle; + t.exports = function (t, e) { + var r = e.trace, + o = t._fullLayout._splomScenes[r.uid]; + if (o) { + i(t, r), n.extendFlat(o.matrixOptions, a(t, r)); + var s = n.extendFlat({}, o.matrixOptions, o.viewOpts); + o.matrix.update(s, null); + } + }; + }, + 35948: function (t, e) { + "use strict"; + e.getDimIndex = function (t, e) { + for ( + var r = e._id, + n = { x: 0, y: 1 }[r.charAt(0)], + i = t._visibleDims, + a = 0; + a < i.length; + a++ + ) { + var o = i[a]; + if (t._diag[o][n] === r) return a; + } + return !1; + }; + }, + 8567: function (t, e, r) { + "use strict"; + var n = r(35948), + i = r(20794).calcHover; + t.exports = { + hoverPoints: function (t, e, r) { + var a = t.cd[0].trace, + o = t.scene.matrixOptions.cdata, + s = t.xa, + l = t.ya, + u = s.c2p(e), + c = l.c2p(r), + f = t.distance, + h = n.getDimIndex(a, s), + p = n.getDimIndex(a, l); + if (!1 === h || !1 === p) return [t]; + for ( + var d, v, g = o[h], y = o[p], m = f, x = 0; + x < g.length; + x++ + ) { + var b = g[x], + _ = y[x], + w = s.c2p(b) - u, + T = l.c2p(_) - c, + k = Math.sqrt(w * w + T * T); + k < m && ((m = v = k), (d = x)); + } + return ( + (t.index = d), + (t.distance = m), + (t.dxy = v), + void 0 === d ? [t] : [i(t, g, y, a)] + ); + }, + }; + }, + 6419: function (t, e, r) { + "use strict"; + var n = r(65017); + (n.basePlotModule = r(16947)), (t.exports = n); + }, + 79410: function (t, e, r) { + "use strict"; + var n = r(60487), + i = r(71828), + a = r(41675), + o = r(64505).selectMode; + function s(t, e) { + var r, + s, + l, + u, + c, + f = t._fullLayout, + h = f._size, + p = e.trace, + d = e.t, + v = f._splomScenes[p.uid], + g = v.matrixOptions, + y = g.cdata, + m = f._glcanvas.data()[0].regl, + x = f.dragmode; + if (0 !== y.length) { + (g.lower = p.showupperhalf), + (g.upper = p.showlowerhalf), + (g.diagonal = p.diagonal.visible); + var b = p._visibleDims, + _ = y.length, + w = (v.viewOpts = {}); + for ( + w.ranges = new Array(_), + w.domains = new Array(_), + c = 0; + c < b.length; + c++ + ) { + l = b[c]; + var T = (w.ranges[c] = new Array(4)), + k = (w.domains[c] = new Array(4)); + (r = a.getFromId(t, p._diag[l][0])) && + ((T[0] = r._rl[0]), + (T[2] = r._rl[1]), + (k[0] = r.domain[0]), + (k[2] = r.domain[1])), + (s = a.getFromId(t, p._diag[l][1])) && + ((T[1] = s._rl[0]), + (T[3] = s._rl[1]), + (k[1] = s.domain[0]), + (k[3] = s.domain[1])); + } + var A = t._context.plotGlPixelRatio, + M = h.l * A, + S = h.b * A, + E = h.w * A, + L = h.h * A; + (w.viewport = [M, S, E + M, L + S]), + !0 === v.matrix && (v.matrix = n(m)); + var C = f.clickmode.indexOf("select") > -1, + O = !0; + if (o(x) || p.selectedpoints || C) { + var P = p._length; + if (p.selectedpoints) { + v.selectBatch = p.selectedpoints; + var I = p.selectedpoints, + D = {}; + for (l = 0; l < I.length; l++) D[I[l]] = !0; + var z = []; + for (l = 0; l < P; l++) D[l] || z.push(l); + v.unselectBatch = z; + } + var R = (d.xpx = new Array(_)), + F = (d.ypx = new Array(_)); + for (c = 0; c < b.length; c++) { + if ( + ((l = b[c]), + (r = a.getFromId(t, p._diag[l][0]))) + ) + for (R[c] = new Array(P), u = 0; u < P; u++) + R[c][u] = r.c2p(y[c][u]); + if ((s = a.getFromId(t, p._diag[l][1]))) + for (F[c] = new Array(P), u = 0; u < P; u++) + F[c][u] = s.c2p(y[c][u]); + } + if ( + v.selectBatch.length || + v.unselectBatch.length + ) { + var B = i.extendFlat( + {}, + g, + v.unselectedOptions, + w, + ), + N = i.extendFlat({}, g, v.selectedOptions, w); + v.matrix.update(B, N), (O = !1); + } + } else d.xpx = d.ypx = null; + if (O) { + var j = i.extendFlat({}, g, w); + v.matrix.update(j, null); + } + } + } + t.exports = function (t, e, r) { + if (r.length) + for (var n = 0; n < r.length; n++) s(t, r[n][0]); + }; + }, + 10164: function (t, e, r) { + "use strict"; + var n = r(71828); + t.exports = function (t, e) { + var r = t._fullLayout, + i = e.uid, + a = r._splomScenes; + a || (a = r._splomScenes = {}); + var o = { + dirty: !0, + selectBatch: [], + unselectBatch: [], + }, + s = a[e.uid]; + return ( + s || + (((s = a[i] = + n.extendFlat({}, o, { + matrix: !1, + selectBatch: [], + unselectBatch: [], + })).draw = function () { + s.matrix && + s.matrix.draw && + (s.selectBatch.length || s.unselectBatch.length + ? s.matrix.draw( + s.unselectBatch, + s.selectBatch, + ) + : s.matrix.draw()), + (s.dirty = !1); + }), + (s.destroy = function () { + s.matrix && + s.matrix.destroy && + s.matrix.destroy(), + (s.matrixOptions = null), + (s.selectBatch = null), + (s.unselectBatch = null), + (s = null); + })), + s.dirty || n.extendFlat(s, o), + s + ); + }; + }, + 8689: function (t, e, r) { + "use strict"; + var n = r(71828), + i = n.pushUnique, + a = r(34098), + o = r(35948); + t.exports = function (t, e) { + var r = t.cd, + s = r[0].trace, + l = r[0].t, + u = t.scene, + c = u.matrixOptions.cdata, + f = t.xaxis, + h = t.yaxis, + p = []; + if (!u) return p; + var d = !a.hasMarkers(s) && !a.hasText(s); + if (!0 !== s.visible || d) return p; + var v = o.getDimIndex(s, f), + g = o.getDimIndex(s, h); + if (!1 === v || !1 === g) return p; + var y = l.xpx[v], + m = l.ypx[g], + x = c[v], + b = c[g], + _ = (t.scene.selectBatch || []).slice(), + w = []; + if (!1 !== e && !e.degenerate) + for (var T = 0; T < x.length; T++) + e.contains([y[T], m[T]], null, T, t) + ? (p.push({ pointNumber: T, x: x[T], y: b[T] }), + i(_, T)) + : -1 !== _.indexOf(T) + ? i(_, T) + : w.push(T); + var k = u.matrixOptions; + return ( + _.length || w.length + ? u.selectBatch.length || + u.unselectBatch.length || + u.matrix.update( + u.unselectedOptions, + n.extendFlat( + {}, + k, + u.selectedOptions, + u.viewOpts, + ), + ) + : u.matrix.update(k, null), + (u.selectBatch = _), + (u.unselectBatch = w), + p + ); + }; + }, + 21850: function (t, e, r) { + "use strict"; + var n = r(50693), + i = r(12663).axisHoverFormat, + a = r(5386).fF, + o = r(2418), + s = r(9012), + l = r(1426).extendFlat, + u = { + x: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + y: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + z: { + valType: "data_array", + editType: "calc+clearAxisTypes", + }, + u: { valType: "data_array", editType: "calc" }, + v: { valType: "data_array", editType: "calc" }, + w: { valType: "data_array", editType: "calc" }, + starts: { + x: { valType: "data_array", editType: "calc" }, + y: { valType: "data_array", editType: "calc" }, + z: { valType: "data_array", editType: "calc" }, + editType: "calc", + }, + maxdisplayed: { + valType: "integer", + min: 0, + dflt: 1e3, + editType: "calc", + }, + sizeref: { + valType: "number", + editType: "calc", + min: 0, + dflt: 1, + }, + text: { + valType: "string", + dflt: "", + editType: "calc", + }, + hovertext: { + valType: "string", + dflt: "", + editType: "calc", + }, + hovertemplate: a( + { editType: "calc" }, + { + keys: [ + "tubex", + "tubey", + "tubez", + "tubeu", + "tubev", + "tubew", + "norm", + "divergence", + ], + }, + ), + uhoverformat: i("u", 1), + vhoverformat: i("v", 1), + whoverformat: i("w", 1), + xhoverformat: i("x"), + yhoverformat: i("y"), + zhoverformat: i("z"), + showlegend: l({}, s.showlegend, { dflt: !1 }), + }; + l( + u, + n("", { + colorAttr: "u/v/w norm", + showScaleDflt: !0, + editTypeOverride: "calc", + }), + ), + ["opacity", "lightposition", "lighting"].forEach( + function (t) { + u[t] = o[t]; + }, + ), + (u.hoverinfo = l({}, s.hoverinfo, { + editType: "calc", + flags: [ + "x", + "y", + "z", + "u", + "v", + "w", + "norm", + "divergence", + "text", + "name", + ], + dflt: "x+y+z+norm+text+name", + })), + (u.transforms = void 0), + (t.exports = u); + }, + 88489: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(78803); + function a(t) { + var e, + r, + i, + a, + s, + l, + u, + c, + f, + h, + p, + d, + v = t._x, + g = t._y, + y = t._z, + m = t._len, + x = -1 / 0, + b = 1 / 0, + _ = -1 / 0, + w = 1 / 0, + T = -1 / 0, + k = 1 / 0, + A = ""; + for ( + m && ((u = v[0]), (f = g[0]), (p = y[0])), + m > 1 && + ((c = v[m - 1]), (h = g[m - 1]), (d = y[m - 1])), + e = 0; + e < m; + e++ + ) + (x = Math.max(x, v[e])), + (b = Math.min(b, v[e])), + (_ = Math.max(_, g[e])), + (w = Math.min(w, g[e])), + (T = Math.max(T, y[e])), + (k = Math.min(k, y[e])), + a || v[e] === u || ((a = !0), (A += "x")), + s || g[e] === f || ((s = !0), (A += "y")), + l || y[e] === p || ((l = !0), (A += "z")); + a || (A += "x"), s || (A += "y"), l || (A += "z"); + var M = o(t._x), + S = o(t._y), + E = o(t._z); + A = (A = (A = A.replace( + "x", + (u > c ? "-" : "+") + "x", + )).replace("y", (f > h ? "-" : "+") + "y")).replace( + "z", + (p > d ? "-" : "+") + "z", + ); + var L = function () { + (m = 0), (M = []), (S = []), (E = []); + }; + (!m || m < M.length * S.length * E.length) && L(); + var C = function (t) { + return "x" === t ? v : "y" === t ? g : y; + }, + O = function (t) { + return "x" === t ? M : "y" === t ? S : E; + }, + P = function (t) { + return t[m - 1] < t[0] ? -1 : 1; + }, + I = C(A[1]), + D = C(A[3]), + z = C(A[5]), + R = O(A[1]).length, + F = O(A[3]).length, + B = O(A[5]).length, + N = !1, + j = function (t, e, r) { + return R * (F * t + e) + r; + }, + U = P(C(A[1])), + V = P(C(A[3])), + H = P(C(A[5])); + for (e = 0; e < B - 1; e++) { + for (r = 0; r < F - 1; r++) { + for (i = 0; i < R - 1; i++) { + var q = j(e, r, i), + G = j(e, r, i + 1), + Z = j(e, r + 1, i), + W = j(e + 1, r, i); + if ( + ((I[q] * U < I[G] * U && + D[q] * V < D[Z] * V && + z[q] * H < z[W] * H) || + (N = !0), + N) + ) + break; + } + if (N) break; + } + if (N) break; + } + return ( + N && + (n.warn( + "Encountered arbitrary coordinates! Unable to input data grid.", + ), + L()), + { + xMin: b, + yMin: w, + zMin: k, + xMax: x, + yMax: _, + zMax: T, + Xs: M, + Ys: S, + Zs: E, + len: m, + fill: A, + } + ); + } + function o(t) { + return n.distinctVals(t).vals; + } + function s(t, e) { + if ((void 0 === e && (e = t.length), n.isTypedArray(t))) + return t.subarray(0, e); + for (var r = [], i = 0; i < e; i++) r[i] = +t[i]; + return r; + } + t.exports = { + calc: function (t, e) { + (e._len = Math.min( + e.u.length, + e.v.length, + e.w.length, + e.x.length, + e.y.length, + e.z.length, + )), + (e._u = s(e.u, e._len)), + (e._v = s(e.v, e._len)), + (e._w = s(e.w, e._len)), + (e._x = s(e.x, e._len)), + (e._y = s(e.y, e._len)), + (e._z = s(e.z, e._len)); + var r = a(e); + (e._gridFill = r.fill), + (e._Xs = r.Xs), + (e._Ys = r.Ys), + (e._Zs = r.Zs), + (e._len = r.len); + var n, + o, + l, + u = 0; + e.starts && + ((n = s(e.starts.x || [])), + (o = s(e.starts.y || [])), + (l = s(e.starts.z || [])), + (u = Math.min(n.length, o.length, l.length))), + (e._startsX = n || []), + (e._startsY = o || []), + (e._startsZ = l || []); + var c, + f = 0, + h = 1 / 0; + for (c = 0; c < e._len; c++) { + var p = e._u[c], + d = e._v[c], + v = e._w[c], + g = Math.sqrt(p * p + d * d + v * v); + (f = Math.max(f, g)), (h = Math.min(h, g)); + } + for ( + i(t, e, { + vals: [h, f], + containerStr: "", + cLetter: "c", + }), + c = 0; + c < u; + c++ + ) { + var y = n[c]; + (r.xMax = Math.max(r.xMax, y)), + (r.xMin = Math.min(r.xMin, y)); + var m = o[c]; + (r.yMax = Math.max(r.yMax, m)), + (r.yMin = Math.min(r.yMin, m)); + var x = l[c]; + (r.zMax = Math.max(r.zMax, x)), + (r.zMin = Math.min(r.zMin, x)); + } + (e._slen = u), + (e._normMax = f), + (e._xbnds = [r.xMin, r.xMax]), + (e._ybnds = [r.yMin, r.yMax]), + (e._zbnds = [r.zMin, r.zMax]); + }, + filter: s, + processGrid: a, + }; + }, + 90154: function (t, e, r) { + "use strict"; + var n = r(9330).gl_streamtube3d, + i = n.createTubeMesh, + a = r(71828), + o = r(81697).parseColorScale, + s = r(21081).extractOpts, + l = r(90060), + u = { xaxis: 0, yaxis: 1, zaxis: 2 }; + function c(t, e) { + (this.scene = t), + (this.uid = e), + (this.mesh = null), + (this.data = null); + } + var f = c.prototype; + function h(t) { + var e = t.length; + return e > 2 + ? t.slice(1, e - 1) + : 2 === e + ? [(t[0] + t[1]) / 2] + : t; + } + function p(t) { + var e = t.length; + return 1 === e + ? [0.5, 0.5] + : [t[1] - t[0], t[e - 1] - t[e - 2]]; + } + function d(t, e) { + var r = t.fullSceneLayout, + i = t.dataScale, + c = e._len, + f = {}; + function d(t, e) { + var n = r[e], + o = i[u[e]]; + return a.simpleMap(t, function (t) { + return n.d2l(t) * o; + }); + } + if ( + ((f.vectors = l( + d(e._u, "xaxis"), + d(e._v, "yaxis"), + d(e._w, "zaxis"), + c, + )), + !c) + ) + return { positions: [], cells: [] }; + var v = d(e._Xs, "xaxis"), + g = d(e._Ys, "yaxis"), + y = d(e._Zs, "zaxis"); + if ( + ((f.meshgrid = [v, g, y]), + (f.gridFill = e._gridFill), + e._slen) + ) + f.startingPositions = l( + d(e._startsX, "xaxis"), + d(e._startsY, "yaxis"), + d(e._startsZ, "zaxis"), + ); + else { + for ( + var m = g[0], + x = h(v), + b = h(y), + _ = new Array(x.length * b.length), + w = 0, + T = 0; + T < x.length; + T++ + ) + for (var k = 0; k < b.length; k++) + _[w++] = [x[T], m, b[k]]; + f.startingPositions = _; + } + (f.colormap = o(e)), + (f.tubeSize = e.sizeref), + (f.maxLength = e.maxdisplayed); + var A = d(e._xbnds, "xaxis"), + M = d(e._ybnds, "yaxis"), + S = d(e._zbnds, "zaxis"), + E = p(v), + L = p(g), + C = p(y), + O = [ + [A[0] - E[0], M[0] - L[0], S[0] - C[0]], + [A[1] + E[1], M[1] + L[1], S[1] + C[1]], + ], + P = n(f, O), + I = s(e); + P.vertexIntensityBounds = [ + I.min / e._normMax, + I.max / e._normMax, + ]; + var D = e.lightposition; + return ( + (P.lightPosition = [D.x, D.y, D.z]), + (P.ambient = e.lighting.ambient), + (P.diffuse = e.lighting.diffuse), + (P.specular = e.lighting.specular), + (P.roughness = e.lighting.roughness), + (P.fresnel = e.lighting.fresnel), + (P.opacity = e.opacity), + (e._pad = P.tubeScale * e.sizeref * 2), + P + ); + } + (f.handlePick = function (t) { + var e = this.scene.fullSceneLayout, + r = this.scene.dataScale; + function n(t, n) { + var i = e[n], + a = r[u[n]]; + return i.l2c(t) / a; + } + if (t.object === this.mesh) { + var i = t.data.position, + a = t.data.velocity; + return ( + (t.traceCoordinate = [ + n(i[0], "xaxis"), + n(i[1], "yaxis"), + n(i[2], "zaxis"), + n(a[0], "xaxis"), + n(a[1], "yaxis"), + n(a[2], "zaxis"), + t.data.intensity * this.data._normMax, + t.data.divergence, + ]), + (t.textLabel = + this.data.hovertext || this.data.text), + !0 + ); + } + }), + (f.update = function (t) { + this.data = t; + var e = d(this.scene, t); + this.mesh.update(e); + }), + (f.dispose = function () { + this.scene.glplot.remove(this.mesh), + this.mesh.dispose(); + }), + (t.exports = function (t, e) { + var r = t.glplot.gl, + n = d(t, e), + a = i(r, n), + o = new c(t, e.uid); + return ( + (o.mesh = a), + (o.data = e), + (a._trace = o), + t.glplot.add(a), + o + ); + }); + }, + 22459: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(1586), + a = r(21850); + t.exports = function (t, e, r, o) { + function s(r, i) { + return n.coerce(t, e, a, r, i); + } + var l = s("u"), + u = s("v"), + c = s("w"), + f = s("x"), + h = s("y"), + p = s("z"); + l && + l.length && + u && + u.length && + c && + c.length && + f && + f.length && + h && + h.length && + p && + p.length + ? (s("starts.x"), + s("starts.y"), + s("starts.z"), + s("maxdisplayed"), + s("sizeref"), + s("lighting.ambient"), + s("lighting.diffuse"), + s("lighting.specular"), + s("lighting.roughness"), + s("lighting.fresnel"), + s("lightposition.x"), + s("lightposition.y"), + s("lightposition.z"), + i(t, e, o, s, { prefix: "", cLetter: "c" }), + s("text"), + s("hovertext"), + s("hovertemplate"), + s("uhoverformat"), + s("vhoverformat"), + s("whoverformat"), + s("xhoverformat"), + s("yhoverformat"), + s("zhoverformat"), + (e._length = null)) + : (e.visible = !1); + }; + }, + 61510: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "streamtube", + basePlotModule: r(58547), + categories: ["gl3d", "showLegend"], + attributes: r(21850), + supplyDefaults: r(22459), + colorbar: { min: "cmin", max: "cmax" }, + calc: r(88489).calc, + plot: r(90154), + eventData: function (t, e) { + return ( + (t.tubex = t.x), + (t.tubey = t.y), + (t.tubez = t.z), + (t.tubeu = e.traceCoordinate[3]), + (t.tubev = e.traceCoordinate[4]), + (t.tubew = e.traceCoordinate[5]), + (t.norm = e.traceCoordinate[6]), + (t.divergence = e.traceCoordinate[7]), + delete t.x, + delete t.y, + delete t.z, + t + ); + }, + meta: {}, + }; + }, + 57564: function (t, e, r) { + "use strict"; + var n = r(9012), + i = r(5386).fF, + a = r(5386).si, + o = r(50693), + s = r(27670).Y, + l = r(34e3), + u = r(7055), + c = r(1426).extendFlat, + f = r(79952).u; + t.exports = { + labels: { valType: "data_array", editType: "calc" }, + parents: { valType: "data_array", editType: "calc" }, + values: { valType: "data_array", editType: "calc" }, + branchvalues: { + valType: "enumerated", + values: ["remainder", "total"], + dflt: "remainder", + editType: "calc", + }, + count: { + valType: "flaglist", + flags: ["branches", "leaves"], + dflt: "leaves", + editType: "calc", + }, + level: { valType: "any", editType: "plot", anim: !0 }, + maxdepth: { + valType: "integer", + editType: "plot", + dflt: -1, + }, + marker: c( + { + colors: { valType: "data_array", editType: "calc" }, + line: { + color: c({}, l.marker.line.color, { dflt: null }), + width: c({}, l.marker.line.width, { dflt: 1 }), + editType: "calc", + }, + pattern: f, + editType: "calc", + }, + o("marker", { colorAttr: "colors", anim: !1 }), + ), + leaf: { + opacity: { + valType: "number", + editType: "style", + min: 0, + max: 1, + }, + editType: "plot", + }, + text: l.text, + textinfo: { + valType: "flaglist", + flags: [ + "label", + "text", + "value", + "current path", + "percent root", + "percent entry", + "percent parent", + ], + extras: ["none"], + editType: "plot", + }, + texttemplate: a( + { editType: "plot" }, + { keys: u.eventDataKeys.concat(["label", "value"]) }, + ), + hovertext: l.hovertext, + hoverinfo: c({}, n.hoverinfo, { + flags: [ + "label", + "text", + "value", + "name", + "current path", + "percent root", + "percent entry", + "percent parent", + ], + dflt: "label+text+value+name", + }), + hovertemplate: i({}, { keys: u.eventDataKeys }), + textfont: l.textfont, + insidetextorientation: l.insidetextorientation, + insidetextfont: l.insidetextfont, + outsidetextfont: c({}, l.outsidetextfont, {}), + rotation: { + valType: "angle", + dflt: 0, + editType: "plot", + }, + sort: l.sort, + root: { + color: { + valType: "color", + editType: "calc", + dflt: "rgba(0,0,0,0)", + }, + editType: "calc", + }, + domain: s({ + name: "sunburst", + trace: !0, + editType: "calc", + }), + }; + }, + 66888: function (t, e, r) { + "use strict"; + var n = r(74875); + (e.name = "sunburst"), + (e.plot = function (t, r, i, a) { + n.plotBasePlot(e.name, t, r, i, a); + }), + (e.clean = function (t, r, i, a) { + n.cleanBasePlot(e.name, t, r, i, a); + }); + }, + 52147: function (t, e, r) { + "use strict"; + var n = r(674), + i = r(92770), + a = r(71828), + o = r(21081).makeColorScaleFuncFromTrace, + s = r(32354).makePullColorFn, + l = r(32354).generateExtendedColors, + u = r(21081).calc, + c = r(50606).ALMOST_EQUAL, + f = {}, + h = {}, + p = {}; + function d(t, e, r) { + var n = 0, + i = t.children; + if (i) { + for (var a = i.length, o = 0; o < a; o++) + n += d(i[o], e, r); + r.branches && n++; + } else r.leaves && n++; + return ( + (t.value = t.data.data.value = n), + e._values || (e._values = []), + (e._values[t.data.data.i] = n), + n + ); + } + (e.calc = function (t, e) { + var r, + l, + f, + h, + p, + v, + g = t._fullLayout, + y = e.ids, + m = a.isArrayOrTypedArray(y), + x = e.labels, + b = e.parents, + _ = e.values, + w = a.isArrayOrTypedArray(_), + T = [], + k = {}, + A = {}, + M = function (t) { + return t || "number" == typeof t; + }, + S = function (t) { + return !w || (i(_[t]) && _[t] >= 0); + }; + m + ? ((r = Math.min(y.length, b.length)), + (l = function (t) { + return M(y[t]) && S(t); + }), + (f = function (t) { + return String(y[t]); + })) + : ((r = Math.min(x.length, b.length)), + (l = function (t) { + return M(x[t]) && S(t); + }), + (f = function (t) { + return String(x[t]); + })), + w && (r = Math.min(r, _.length)); + for (var E = 0; E < r; E++) + if (l(E)) { + var L = f(E), + C = M(b[E]) ? String(b[E]) : "", + O = { + i: E, + id: L, + pid: C, + label: M(x[E]) ? String(x[E]) : "", + }; + w && (O.v = +_[E]), + T.push(O), + (p = L), + k[(h = C)] ? k[h].push(p) : (k[h] = [p]), + (A[p] = 1); + } + if (k[""]) { + if (k[""].length > 1) { + for (var P = a.randstr(), I = 0; I < T.length; I++) + "" === T[I].pid && (T[I].pid = P); + T.unshift({ + hasMultipleRoots: !0, + id: P, + pid: "", + label: "", + }); + } + } else { + var D, + z = []; + for (D in k) A[D] || z.push(D); + if (1 !== z.length) + return a.warn( + [ + "Multiple implied roots, cannot build", + e.type, + "hierarchy of", + e.name + ".", + "These roots include:", + z.join(", "), + ].join(" "), + ); + (D = z[0]), + T.unshift({ + hasImpliedRoot: !0, + id: D, + pid: "", + label: D, + }); + } + try { + v = n + .stratify() + .id(function (t) { + return t.id; + }) + .parentId(function (t) { + return t.pid; + })(T); + } catch (t) { + return a.warn( + [ + "Failed to build", + e.type, + "hierarchy of", + e.name + ".", + "Error:", + t.message, + ].join(" "), + ); + } + var R = n.hierarchy(v), + F = !1; + if (w) + switch (e.branchvalues) { + case "remainder": + R.sum(function (t) { + return t.data.v; + }); + break; + case "total": + R.each(function (t) { + var r = t.data.data, + n = r.v; + if (t.children) { + var i = t.children.reduce(function (t, e) { + return t + e.data.data.v; + }, 0); + if ( + ((r.hasImpliedRoot || r.hasMultipleRoots) && + (n = i), + n < i * c) + ) + return ( + (F = !0), + a.warn( + [ + "Total value for node", + t.data.data.id, + "of", + e.name, + "is smaller than the sum of its children.", + "\nparent value =", + n, + "\nchildren sum =", + i, + ].join(" "), + ) + ); + } + t.value = n; + }); + } + else + d(R, e, { + branches: -1 !== e.count.indexOf("branches"), + leaves: -1 !== e.count.indexOf("leaves"), + }); + if (!F) { + var B, N; + e.sort && + R.sort(function (t, e) { + return e.value - t.value; + }); + var j = e.marker.colors || [], + U = !!j.length; + return ( + e._hasColorscale + ? (U || (j = w ? e.values : e._values), + u(t, e, { + vals: j, + containerStr: "marker", + cLetter: "c", + }), + (N = o(e.marker))) + : (B = s(g["_" + e.type + "colormap"])), + R.each(function (t) { + var r = t.data.data; + r.color = e._hasColorscale + ? N(j[r.i]) + : B(j[r.i], r.id); + }), + (T[0].hierarchy = R), + T + ); + } + }), + (e._runCrossTraceCalc = function (t, e) { + var r = e._fullLayout, + n = e.calcdata, + i = r[t + "colorway"], + a = r["_" + t + "colormap"]; + r["extend" + t + "colors"] && + (i = l( + i, + "icicle" === t ? p : "treemap" === t ? h : f, + )); + var o, + s = 0; + function u(t) { + var e = t.data.data, + r = e.id; + !1 === e.color && + (a[r] + ? (e.color = a[r]) + : t.parent + ? t.parent.parent + ? (e.color = t.parent.data.data.color) + : ((a[r] = e.color = i[s % i.length]), s++) + : (e.color = o)); + } + for (var c = 0; c < n.length; c++) { + var d = n[c][0]; + d.trace.type === t && + d.hierarchy && + ((o = d.trace.root.color), d.hierarchy.each(u)); + } + }), + (e.crossTraceCalc = function (t) { + return e._runCrossTraceCalc("sunburst", t); + }); + }, + 7055: function (t) { + "use strict"; + t.exports = { + CLICK_TRANSITION_TIME: 750, + CLICK_TRANSITION_EASING: "linear", + eventDataKeys: [ + "currentPath", + "root", + "entry", + "percentRoot", + "percentEntry", + "percentParent", + ], + }; + }, + 17094: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(57564), + a = r(27670).c, + o = r(90769).handleText, + s = r(37434).handleMarkerDefaults, + l = r(21081), + u = l.hasColorscale, + c = l.handleDefaults; + t.exports = function (t, e, r, l) { + function f(r, a) { + return n.coerce(t, e, i, r, a); + } + var h = f("labels"), + p = f("parents"); + if (h && h.length && p && p.length) { + var d = f("values"); + d && d.length ? f("branchvalues") : f("count"), + f("level"), + f("maxdepth"), + s(t, e, l, f); + var v = (e._hasColorscale = + u(t, "marker", "colors") || + (t.marker || {}).coloraxis); + v && + c(t, e, l, f, { prefix: "marker.", cLetter: "c" }), + f("leaf.opacity", v ? 1 : 0.7); + var g = f("text"); + f("texttemplate"), + e.texttemplate || + f( + "textinfo", + Array.isArray(g) ? "text+label" : "label", + ), + f("hovertext"), + f("hovertemplate"), + o(t, e, l, f, "auto", { + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !1, + moduleHasCliponaxis: !1, + moduleHasTextangle: !1, + moduleHasInsideanchor: !1, + }), + f("insidetextorientation"), + f("sort"), + f("rotation"), + f("root.color"), + a(e, l, f), + (e._length = null); + } else e.visible = !1; + }; + }, + 43467: function (t, e, r) { + "use strict"; + var n = r(91424), + i = r(7901); + t.exports = function (t, e, r, a, o) { + var s = e.data.data, + l = s.i, + u = o || s.color; + if (l >= 0) { + e.i = s.i; + var c = r.marker; + (c.pattern && c.colors && c.pattern.shape) || + ((c.color = u), (e.color = u)), + n.pointStyle(t, r, a, e); + } else i.fill(t, u); + }; + }, + 83523: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(73972), + a = r(23469).appendArrayPointValue, + o = r(30211), + s = r(71828), + l = r(11086), + u = r(2791), + c = r(53581).formatPieValue; + function f(t, e, r) { + for ( + var n = t.data.data, + i = { + curveNumber: e.index, + pointNumber: n.i, + data: e._input, + fullData: e, + }, + o = 0; + o < r.length; + o++ + ) { + var s = r[o]; + s in t && (i[s] = t[s]); + } + return ( + "parentString" in t && + !u.isHierarchyRoot(t) && + (i.parent = t.parentString), + a(i, e, n.i), + i + ); + } + t.exports = function (t, e, r, a, h) { + var p = a[0], + d = p.trace, + v = p.hierarchy, + g = "sunburst" === d.type, + y = "treemap" === d.type || "icicle" === d.type; + "_hasHoverLabel" in d || (d._hasHoverLabel = !1), + "_hasHoverEvent" in d || (d._hasHoverEvent = !1), + t.on("mouseover", function (i) { + var a = r._fullLayout; + if (!r._dragging && !1 !== a.hovermode) { + var l, + m = r._fullData[d.index], + x = i.data.data, + b = x.i, + _ = u.isHierarchyRoot(i), + w = u.getParent(v, i), + T = u.getValue(i), + k = function (t) { + return s.castOption(m, b, t); + }, + A = k("hovertemplate"), + M = o.castHoverinfo(m, a, b), + S = a.separators; + if (A || (M && "none" !== M && "skip" !== M)) { + var E, L; + g && + ((E = p.cx + i.pxmid[0] * (1 - i.rInscribed)), + (L = p.cy + i.pxmid[1] * (1 - i.rInscribed))), + y && ((E = i._hoverX), (L = i._hoverY)); + var C, + O = {}, + P = [], + I = [], + D = function (t) { + return -1 !== P.indexOf(t); + }; + M && + (P = + "all" === M + ? m._module.attributes.hoverinfo.flags + : M.split("+")), + (O.label = x.label), + D("label") && O.label && I.push(O.label), + x.hasOwnProperty("v") && + ((O.value = x.v), + (O.valueLabel = c(O.value, S)), + D("value") && I.push(O.valueLabel)), + (O.currentPath = i.currentPath = + u.getPath(i.data)), + D("current path") && + !_ && + I.push(O.currentPath); + var z = [], + R = function () { + -1 === z.indexOf(C) && + (I.push(C), z.push(C)); + }; + (O.percentParent = i.percentParent = + T / u.getValue(w)), + (O.parent = i.parentString = u.getPtLabel(w)), + D("percent parent") && + ((C = + u.formatPercent(O.percentParent, S) + + " of " + + O.parent), + R()), + (O.percentEntry = i.percentEntry = + T / u.getValue(e)), + (O.entry = i.entry = u.getPtLabel(e)), + !D("percent entry") || + _ || + i.onPathbar || + ((C = + u.formatPercent(O.percentEntry, S) + + " of " + + O.entry), + R()), + (O.percentRoot = i.percentRoot = + T / u.getValue(v)), + (O.root = i.root = u.getPtLabel(v)), + D("percent root") && + !_ && + ((C = + u.formatPercent(O.percentRoot, S) + + " of " + + O.root), + R()), + (O.text = k("hovertext") || k("text")), + D("text") && + ((C = O.text), + s.isValidTextValue(C) && I.push(C)), + (l = [f(i, m, h.eventDataKeys)]); + var F = { + trace: m, + y: L, + _x0: i._x0, + _x1: i._x1, + _y0: i._y0, + _y1: i._y1, + text: I.join("
"), + name: A || D("name") ? m.name : void 0, + color: k("hoverlabel.bgcolor") || x.color, + borderColor: k("hoverlabel.bordercolor"), + fontFamily: k("hoverlabel.font.family"), + fontSize: k("hoverlabel.font.size"), + fontColor: k("hoverlabel.font.color"), + nameLength: k("hoverlabel.namelength"), + textAlign: k("hoverlabel.align"), + hovertemplate: A, + hovertemplateLabels: O, + eventData: l, + }; + g && + ((F.x0 = E - i.rInscribed * i.rpx1), + (F.x1 = E + i.rInscribed * i.rpx1), + (F.idealAlign = + i.pxmid[0] < 0 ? "left" : "right")), + y && + ((F.x = E), + (F.idealAlign = E < 0 ? "left" : "right")); + var B = []; + o.loneHover(F, { + container: a._hoverlayer.node(), + outerContainer: a._paper.node(), + gd: r, + inOut_bbox: B, + }), + (l[0].bbox = B[0]), + (d._hasHoverLabel = !0); + } + if (y) { + var N = t.select("path.surface"); + h.styleOne(N, i, m, r, { hovered: !0 }); + } + (d._hasHoverEvent = !0), + r.emit("plotly_hover", { + points: l || [f(i, m, h.eventDataKeys)], + event: n.event, + }); + } + }), + t.on("mouseout", function (e) { + var i = r._fullLayout, + a = r._fullData[d.index], + s = n.select(this).datum(); + if ( + (d._hasHoverEvent && + ((e.originalEvent = n.event), + r.emit("plotly_unhover", { + points: [f(s, a, h.eventDataKeys)], + event: n.event, + }), + (d._hasHoverEvent = !1)), + d._hasHoverLabel && + (o.loneUnhover(i._hoverlayer.node()), + (d._hasHoverLabel = !1)), + y) + ) { + var l = t.select("path.surface"); + h.styleOne(l, s, a, r, { hovered: !1 }); + } + }), + t.on("click", function (t) { + var e = r._fullLayout, + a = r._fullData[d.index], + s = g && (u.isHierarchyRoot(t) || u.isLeaf(t)), + c = u.getPtId(t), + p = u.isEntry(t) + ? u.findEntryWithChild(v, c) + : u.findEntryWithLevel(v, c), + y = u.getPtId(p), + m = { + points: [f(t, a, h.eventDataKeys)], + event: n.event, + }; + s || (m.nextLevel = y); + var x = l.triggerHandler( + r, + "plotly_" + d.type + "click", + m, + ); + if ( + (!1 !== x && + e.hovermode && + ((r._hoverdata = [f(t, a, h.eventDataKeys)]), + o.click(r, n.event)), + !s && + !1 !== x && + !r._dragging && + !r._transitioning) + ) { + i.call( + "_storeDirectGUIEdit", + a, + e._tracePreGUI[a.uid], + { level: a.level }, + ); + var b = { + data: [{ level: y }], + traces: [d.index], + }, + _ = { + frame: { + redraw: !1, + duration: h.transitionTime, + }, + transition: { + duration: h.transitionTime, + easing: h.transitionEasing, + }, + mode: "immediate", + fromcurrent: !0, + }; + o.loneUnhover(e._hoverlayer.node()), + i.call("animate", r, b, _); + } + }); + }; + }, + 2791: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(6964), + o = r(53581); + function s(t) { + return t.data.data.pid; + } + (e.findEntryWithLevel = function (t, r) { + var n; + return ( + r && + t.eachAfter(function (t) { + if (e.getPtId(t) === r) return (n = t.copy()); + }), + n || t + ); + }), + (e.findEntryWithChild = function (t, r) { + var n; + return ( + t.eachAfter(function (t) { + for ( + var i = t.children || [], a = 0; + a < i.length; + a++ + ) { + var o = i[a]; + if (e.getPtId(o) === r) return (n = t.copy()); + } + }), + n || t + ); + }), + (e.isEntry = function (t) { + return !t.parent; + }), + (e.isLeaf = function (t) { + return !t.children; + }), + (e.getPtId = function (t) { + return t.data.data.id; + }), + (e.getPtLabel = function (t) { + return t.data.data.label; + }), + (e.getValue = function (t) { + return t.value; + }), + (e.isHierarchyRoot = function (t) { + return "" === s(t); + }), + (e.setSliceCursor = function (t, r, n) { + var i = n.isTransitioning; + if (!i) { + var o = t.datum(); + i = + (n.hideOnRoot && e.isHierarchyRoot(o)) || + (n.hideOnLeaves && e.isLeaf(o)); + } + a(t, i ? null : "pointer"); + }), + (e.getInsideTextFontKey = function (t, e, r, i, a) { + var o = (a || {}).onPathbar + ? "pathbar.textfont" + : "insidetextfont", + s = r.data.data.i; + return ( + n.castOption(e, s, o + "." + t) || + n.castOption(e, s, "textfont." + t) || + i.size + ); + }), + (e.getOutsideTextFontKey = function (t, e, r, i) { + var a = r.data.data.i; + return ( + n.castOption(e, a, "outsidetextfont." + t) || + n.castOption(e, a, "textfont." + t) || + i.size + ); + }), + (e.isOutsideText = function (t, r) { + return !t._hasColorscale && e.isHierarchyRoot(r); + }), + (e.determineTextFont = function (t, r, a, o) { + return e.isOutsideText(t, r) + ? (function (t, r, n) { + return { + color: e.getOutsideTextFontKey( + "color", + t, + r, + n, + ), + family: e.getOutsideTextFontKey( + "family", + t, + r, + n, + ), + size: e.getOutsideTextFontKey( + "size", + t, + r, + n, + ), + }; + })(t, r, a) + : (function (t, r, a, o) { + var s = (o || {}).onPathbar, + l = r.data.data, + u = l.i, + c = n.castOption( + t, + u, + (s + ? "pathbar.textfont" + : "insidetextfont") + ".color", + ); + return ( + !c && + t._input.textfont && + (c = n.castOption( + t._input, + u, + "textfont.color", + )), + { + color: c || i.contrast(l.color), + family: e.getInsideTextFontKey( + "family", + t, + r, + a, + o, + ), + size: e.getInsideTextFontKey( + "size", + t, + r, + a, + o, + ), + } + ); + })(t, r, a, o); + }), + (e.hasTransition = function (t) { + return !!(t && t.duration > 0); + }), + (e.getMaxDepth = function (t) { + return t.maxdepth >= 0 ? t.maxdepth : 1 / 0; + }), + (e.isHeader = function (t, r) { + return !(e.isLeaf(t) || t.depth === r._maxDepth - 1); + }), + (e.getParent = function (t, r) { + return e.findEntryWithLevel(t, s(r)); + }), + (e.listPath = function (t, r) { + var n = t.parent; + if (!n) return []; + var i = r ? [n.data[r]] : [n]; + return e.listPath(n, r).concat(i); + }), + (e.getPath = function (t) { + return e.listPath(t, "label").join("/") + "/"; + }), + (e.formatValue = o.formatPieValue), + (e.formatPercent = function (t, e) { + var r = n.formatPercent(t, 0); + return ( + "0%" === r && (r = o.formatPiePercent(t, e)), r + ); + }); + }, + 87619: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "sunburst", + basePlotModule: r(66888), + categories: [], + animatable: !0, + attributes: r(57564), + layoutAttributes: r(2654), + supplyDefaults: r(17094), + supplyLayoutDefaults: r(57034), + calc: r(52147).calc, + crossTraceCalc: r(52147).crossTraceCalc, + plot: r(24714).plot, + style: r(29969).style, + colorbar: r(4898), + meta: {}, + }; + }, + 2654: function (t) { + "use strict"; + t.exports = { + sunburstcolorway: { + valType: "colorlist", + editType: "calc", + }, + extendsunburstcolors: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + }; + }, + 57034: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(2654); + t.exports = function (t, e) { + function r(r, a) { + return n.coerce(t, e, i, r, a); + } + r("sunburstcolorway", e.colorway), + r("extendsunburstcolors"); + }; + }, + 24714: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(674), + a = r(81684).sX, + o = r(91424), + s = r(71828), + l = r(63893), + u = r(72597), + c = u.recordMinTextSize, + f = u.clearMinTextSize, + h = r(14575), + p = r(53581).getRotationAngle, + d = h.computeTransform, + v = h.transformInsideText, + g = r(29969).styleOne, + y = r(16688).resizeText, + m = r(83523), + x = r(7055), + b = r(2791); + function _(t, r, u, f) { + var h = t._context.staticPlot, + y = t._fullLayout, + _ = !y.uniformtext.mode && b.hasTransition(f), + T = n.select(u).selectAll("g.slice"), + k = r[0], + A = k.trace, + M = k.hierarchy, + S = b.findEntryWithLevel(M, A.level), + E = b.getMaxDepth(A), + L = y._size, + C = A.domain, + O = L.w * (C.x[1] - C.x[0]), + P = L.h * (C.y[1] - C.y[0]), + I = 0.5 * Math.min(O, P), + D = (k.cx = L.l + (L.w * (C.x[1] + C.x[0])) / 2), + z = (k.cy = L.t + L.h * (1 - C.y[0]) - P / 2); + if (!S) return T.remove(); + var R = null, + F = {}; + _ && + T.each(function (t) { + (F[b.getPtId(t)] = { + rpx0: t.rpx0, + rpx1: t.rpx1, + x0: t.x0, + x1: t.x1, + transform: t.transform, + }), + !R && b.isEntry(t) && (R = t); + }); + var B = (function (t) { + return i + .partition() + .size([2 * Math.PI, t.height + 1])(t); + })(S).descendants(), + N = S.height + 1, + j = 0, + U = E; + k.hasMultipleRoots && + b.isHierarchyRoot(S) && + ((B = B.slice(1)), (N -= 1), (j = 1), (U += 1)), + (B = B.filter(function (t) { + return t.y1 <= U; + })); + var V = p(A.rotation); + V && + B.forEach(function (t) { + (t.x0 += V), (t.x1 += V); + }); + var H = Math.min(N, E), + q = function (t) { + return ((t - j) / H) * I; + }, + G = function (t, e) { + return [t * Math.cos(e), -t * Math.sin(e)]; + }, + Z = function (t) { + return s.pathAnnulus( + t.rpx0, + t.rpx1, + t.x0, + t.x1, + D, + z, + ); + }, + W = function (t) { + return ( + D + + w(t)[0] * (t.transform.rCenter || 0) + + (t.transform.x || 0) + ); + }, + Y = function (t) { + return ( + z + + w(t)[1] * (t.transform.rCenter || 0) + + (t.transform.y || 0) + ); + }; + (T = T.data(B, b.getPtId)) + .enter() + .append("g") + .classed("slice", !0), + _ + ? T.exit() + .transition() + .each(function () { + var t = n.select(this); + t + .select("path.surface") + .transition() + .attrTween("d", function (t) { + var e = (function (t) { + var e, + r = b.getPtId(t), + n = F[r], + i = F[b.getPtId(S)]; + if (i) { + var o = + (t.x1 > i.x1 ? 2 * Math.PI : 0) + V; + e = + t.rpx1 < i.rpx1 + ? { + x0: t.x0, + x1: t.x1, + rpx0: 0, + rpx1: 0, + } + : { + x0: o, + x1: o, + rpx0: t.rpx0, + rpx1: t.rpx1, + }; + } else { + var s, + l = b.getPtId(t.parent); + T.each(function (t) { + if (b.getPtId(t) === l) + return (s = t); + }); + var u, + c = s.children; + c.forEach(function (t, e) { + if (b.getPtId(t) === r) + return (u = e); + }); + var f = c.length, + h = a(s.x0, s.x1); + e = { + rpx0: I, + rpx1: I, + x0: h(u / f), + x1: h((u + 1) / f), + }; + } + return a(n, e); + })(t); + return function (t) { + return Z(e(t)); + }; + }), + t.select("g.slicetext").attr("opacity", 0); + }) + .remove() + : T.exit().remove(), + T.order(); + var X = null; + if (_ && R) { + var J = b.getPtId(R); + T.each(function (t) { + null === X && b.getPtId(t) === J && (X = t.x1); + }); + } + var K = T; + function $(t) { + var e = t.parent, + r = F[b.getPtId(e)], + n = {}; + if (r) { + var i = e.children, + o = i.indexOf(t), + s = i.length, + l = a(r.x0, r.x1); + (n.x0 = l(o / s)), (n.x1 = l(o / s)); + } else n.x0 = n.x1 = 0; + return n; + } + _ && + (K = K.transition().each("end", function () { + var e = n.select(this); + b.setSliceCursor(e, t, { + hideOnRoot: !0, + hideOnLeaves: !0, + isTransitioning: !1, + }); + })), + K.each(function (i) { + var u = n.select(this), + f = s.ensureSingle( + u, + "path", + "surface", + function (t) { + t.style("pointer-events", h ? "none" : "all"); + }, + ); + (i.rpx0 = q(i.y0)), + (i.rpx1 = q(i.y1)), + (i.xmid = (i.x0 + i.x1) / 2), + (i.pxmid = G(i.rpx1, i.xmid)), + (i.midangle = -(i.xmid - Math.PI / 2)), + (i.startangle = -(i.x0 - Math.PI / 2)), + (i.stopangle = -(i.x1 - Math.PI / 2)), + (i.halfangle = + 0.5 * + Math.min( + s.angleDelta(i.x0, i.x1) || Math.PI, + Math.PI, + )), + (i.ring = 1 - i.rpx0 / i.rpx1), + (i.rInscribed = (function (t) { + return 0 === t.rpx0 && + s.isFullCircle([t.x0, t.x1]) + ? 1 + : Math.max( + 0, + Math.min( + 1 / (1 + 1 / Math.sin(t.halfangle)), + t.ring / 2, + ), + ); + })(i)), + _ + ? f.transition().attrTween("d", function (t) { + var e = (function (t) { + var e, + r = F[b.getPtId(t)], + n = { + x0: t.x0, + x1: t.x1, + rpx0: t.rpx0, + rpx1: t.rpx1, + }; + if (r) e = r; + else if (R) + if (t.parent) + if (X) { + var i = + (t.x1 > X ? 2 * Math.PI : 0) + V; + e = { x0: i, x1: i }; + } else + (e = { rpx0: I, rpx1: I }), + s.extendFlat(e, $(t)); + else e = { rpx0: 0, rpx1: 0 }; + else e = { x0: V, x1: V }; + return a(e, n); + })(t); + return function (t) { + return Z(e(t)); + }; + }) + : f.attr("d", Z), + u + .call(m, S, t, r, { + eventDataKeys: x.eventDataKeys, + transitionTime: x.CLICK_TRANSITION_TIME, + transitionEasing: x.CLICK_TRANSITION_EASING, + }) + .call(b.setSliceCursor, t, { + hideOnRoot: !0, + hideOnLeaves: !0, + isTransitioning: t._transitioning, + }), + f.call(g, i, A, t); + var p = s.ensureSingle(u, "g", "slicetext"), + w = s.ensureSingle(p, "text", "", function (t) { + t.attr("data-notex", 1); + }), + T = s.ensureUniformFontSize( + t, + b.determineTextFont(A, i, y.font), + ); + w.text(e.formatSliceLabel(i, S, A, r, y)) + .classed("slicetext", !0) + .attr("text-anchor", "middle") + .call(o.font, T) + .call(l.convertToTspans, t); + var M = o.bBox(w.node()); + (i.transform = v(M, i, k)), + (i.transform.targetX = W(i)), + (i.transform.targetY = Y(i)); + var E = function (t, e) { + var r = t.transform; + return ( + d(r, e), + (r.fontSize = T.size), + c(A.type, r, y), + s.getTextTransform(r) + ); + }; + _ + ? w + .transition() + .attrTween("transform", function (t) { + var e = (function (t) { + var e, + r = F[b.getPtId(t)], + n = t.transform; + if (r) e = r; + else if ( + ((e = { + rpx1: t.rpx1, + transform: { + textPosAngle: n.textPosAngle, + scale: 0, + rotate: n.rotate, + rCenter: n.rCenter, + x: n.x, + y: n.y, + }, + }), + R) + ) + if (t.parent) + if (X) { + var i = t.x1 > X ? 2 * Math.PI : 0; + e.x0 = e.x1 = i; + } else s.extendFlat(e, $(t)); + else e.x0 = e.x1 = V; + else e.x0 = e.x1 = V; + var o = a( + e.transform.textPosAngle, + t.transform.textPosAngle, + ), + l = a(e.rpx1, t.rpx1), + u = a(e.x0, t.x0), + f = a(e.x1, t.x1), + h = a(e.transform.scale, n.scale), + p = a(e.transform.rotate, n.rotate), + d = + 0 === n.rCenter + ? 3 + : 0 === e.transform.rCenter + ? 1 / 3 + : 1, + v = a(e.transform.rCenter, n.rCenter); + return function (t) { + var e = l(t), + r = u(t), + i = f(t), + a = (function (t) { + return v(Math.pow(t, d)); + })(t), + s = { + pxmid: G(e, (r + i) / 2), + rpx1: e, + transform: { + textPosAngle: o(t), + rCenter: a, + x: n.x, + y: n.y, + }, + }; + return ( + c(A.type, n, y), + { + transform: { + targetX: W(s), + targetY: Y(s), + scale: h(t), + rotate: p(t), + rCenter: a, + }, + } + ); + }; + })(t); + return function (t) { + return E(e(t), M); + }; + }) + : w.attr("transform", E(i, M)); + }); + } + function w(t) { + return ( + (e = t.rpx1), + (r = t.transform.textPosAngle), + [e * Math.sin(r), -e * Math.cos(r)] + ); + var e, r; + } + (e.plot = function (t, e, r, i) { + var a, + o, + s = t._fullLayout, + l = s._sunburstlayer, + u = !r, + c = !s.uniformtext.mode && b.hasTransition(r); + f("sunburst", s), + (a = l + .selectAll("g.trace.sunburst") + .data(e, function (t) { + return t[0].trace.uid; + })) + .enter() + .append("g") + .classed("trace", !0) + .classed("sunburst", !0) + .attr("stroke-linejoin", "round"), + a.order(), + c + ? (i && (o = i()), + n + .transition() + .duration(r.duration) + .ease(r.easing) + .each("end", function () { + o && o(); + }) + .each("interrupt", function () { + o && o(); + }) + .each(function () { + l.selectAll("g.trace").each(function (e) { + _(t, e, this, r); + }); + })) + : (a.each(function (e) { + _(t, e, this, r); + }), + s.uniformtext.mode && + y( + t, + s._sunburstlayer.selectAll(".trace"), + "sunburst", + )), + u && a.exit().remove(); + }), + (e.formatSliceLabel = function (t, e, r, n, i) { + var a = r.texttemplate, + o = r.textinfo; + if (!(a || (o && "none" !== o))) return ""; + var l = i.separators, + u = n[0], + c = t.data.data, + f = u.hierarchy, + h = b.isHierarchyRoot(t), + p = b.getParent(f, t), + d = b.getValue(t); + if (!a) { + var v, + g = o.split("+"), + y = function (t) { + return -1 !== g.indexOf(t); + }, + m = []; + if ( + (y("label") && c.label && m.push(c.label), + c.hasOwnProperty("v") && + y("value") && + m.push(b.formatValue(c.v, l)), + !h) + ) { + y("current path") && m.push(b.getPath(t.data)); + var x = 0; + y("percent parent") && x++, + y("percent entry") && x++, + y("percent root") && x++; + var _ = x > 1; + if (x) { + var w, + T = function (t) { + (v = b.formatPercent(w, l)), + _ && (v += " of " + t), + m.push(v); + }; + y("percent parent") && + !h && + ((w = d / b.getValue(p)), T("parent")), + y("percent entry") && + ((w = d / b.getValue(e)), T("entry")), + y("percent root") && + ((w = d / b.getValue(f)), T("root")); + } + } + return ( + y("text") && + ((v = s.castOption(r, c.i, "text")), + s.isValidTextValue(v) && m.push(v)), + m.join("
") + ); + } + var k = s.castOption(r, c.i, "texttemplate"); + if (!k) return ""; + var A = {}; + c.label && (A.label = c.label), + c.hasOwnProperty("v") && + ((A.value = c.v), + (A.valueLabel = b.formatValue(c.v, l))), + (A.currentPath = b.getPath(t.data)), + h || + ((A.percentParent = d / b.getValue(p)), + (A.percentParentLabel = b.formatPercent( + A.percentParent, + l, + )), + (A.parent = b.getPtLabel(p))), + (A.percentEntry = d / b.getValue(e)), + (A.percentEntryLabel = b.formatPercent( + A.percentEntry, + l, + )), + (A.entry = b.getPtLabel(e)), + (A.percentRoot = d / b.getValue(f)), + (A.percentRootLabel = b.formatPercent( + A.percentRoot, + l, + )), + (A.root = b.getPtLabel(f)), + c.hasOwnProperty("color") && (A.color = c.color); + var M = s.castOption(r, c.i, "text"); + return ( + (s.isValidTextValue(M) || "" === M) && (A.text = M), + (A.customdata = s.castOption(r, c.i, "customdata")), + s.texttemplateString( + k, + A, + i._d3locale, + A, + r._meta || {}, + ) + ); + }); + }, + 29969: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(7901), + a = r(71828), + o = r(72597).resizeText, + s = r(43467); + function l(t, e, r, n) { + var o = e.data.data, + l = !e.children, + u = o.i, + c = + a.castOption(r, u, "marker.line.color") || + i.defaultLine, + f = a.castOption(r, u, "marker.line.width") || 0; + t.call(s, e, r, n) + .style("stroke-width", f) + .call(i.stroke, c) + .style("opacity", l ? r.leaf.opacity : null); + } + t.exports = { + style: function (t) { + var e = + t._fullLayout._sunburstlayer.selectAll(".trace"); + o(t, e, "sunburst"), + e.each(function (e) { + var r = n.select(this), + i = e[0].trace; + r.style("opacity", i.opacity), + r.selectAll("path.surface").each(function (e) { + n.select(this).call(l, e, i, t); + }); + }); + }, + styleOne: l, + }; + }, + 54532: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(50693), + a = r(12663).axisHoverFormat, + o = r(5386).fF, + s = r(9012), + l = r(1426).extendFlat, + u = r(30962).overrideAll; + function c(t) { + return { + show: { valType: "boolean", dflt: !1 }, + start: { + valType: "number", + dflt: null, + editType: "plot", + }, + end: { + valType: "number", + dflt: null, + editType: "plot", + }, + size: { + valType: "number", + dflt: null, + min: 0, + editType: "plot", + }, + project: { + x: { valType: "boolean", dflt: !1 }, + y: { valType: "boolean", dflt: !1 }, + z: { valType: "boolean", dflt: !1 }, + }, + color: { valType: "color", dflt: n.defaultLine }, + usecolormap: { valType: "boolean", dflt: !1 }, + width: { + valType: "number", + min: 1, + max: 16, + dflt: 2, + }, + highlight: { valType: "boolean", dflt: !0 }, + highlightcolor: { + valType: "color", + dflt: n.defaultLine, + }, + highlightwidth: { + valType: "number", + min: 1, + max: 16, + dflt: 2, + }, + }; + } + var f = (t.exports = u( + l( + { + z: { valType: "data_array" }, + x: { valType: "data_array" }, + y: { valType: "data_array" }, + text: { valType: "string", dflt: "", arrayOk: !0 }, + hovertext: { + valType: "string", + dflt: "", + arrayOk: !0, + }, + hovertemplate: o(), + xhoverformat: a("x"), + yhoverformat: a("y"), + zhoverformat: a("z"), + connectgaps: { + valType: "boolean", + dflt: !1, + editType: "calc", + }, + surfacecolor: { valType: "data_array" }, + }, + i("", { + colorAttr: "z or surfacecolor", + showScaleDflt: !0, + autoColorDflt: !1, + editTypeOverride: "calc", + }), + { + contours: { x: c(), y: c(), z: c() }, + 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: 0.8, + }, + diffuse: { + valType: "number", + min: 0, + max: 1, + dflt: 0.8, + }, + specular: { + valType: "number", + min: 0, + max: 2, + dflt: 0.05, + }, + roughness: { + valType: "number", + min: 0, + max: 1, + dflt: 0.5, + }, + fresnel: { + valType: "number", + min: 0, + max: 5, + dflt: 0.2, + }, + }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + opacityscale: { valType: "any", editType: "calc" }, + _deprecated: { + zauto: l({}, i.zauto, {}), + zmin: l({}, i.zmin, {}), + zmax: l({}, i.zmax, {}), + }, + hoverinfo: l({}, s.hoverinfo), + showlegend: l({}, s.showlegend, { dflt: !1 }), + }, + ), + "calc", + "nested", + )); + (f.x.editType = + f.y.editType = + f.z.editType = + "calc+clearAxisTypes"), + (f.transforms = void 0); + }, + 18396: function (t, e, r) { + "use strict"; + var n = r(78803); + t.exports = function (t, e) { + e.surfacecolor + ? n(t, e, { + vals: e.surfacecolor, + containerStr: "", + cLetter: "c", + }) + : n(t, e, { + vals: e.z, + containerStr: "", + cLetter: "c", + }); + }; + }, + 43768: function (t, e, r) { + "use strict"; + var n = r(9330).gl_surface3d, + i = r(9330).ndarray, + a = r(9330).ndarray_linear_interpolate.d2, + o = r(824), + s = r(43907), + l = r(71828).isArrayOrTypedArray, + u = r(81697).parseColorScale, + c = r(78614), + f = r(21081).extractOpts; + function h(t, e, r) { + (this.scene = t), + (this.uid = r), + (this.surface = e), + (this.data = null), + (this.showContour = [!1, !1, !1]), + (this.contourStart = [null, null, null]), + (this.contourEnd = [null, null, null]), + (this.contourSize = [0, 0, 0]), + (this.minValues = [1 / 0, 1 / 0, 1 / 0]), + (this.maxValues = [-1 / 0, -1 / 0, -1 / 0]), + (this.dataScaleX = 1), + (this.dataScaleY = 1), + (this.refineData = !0), + (this.objectOffset = [0, 0, 0]); + } + var p = h.prototype; + (p.getXat = function (t, e, r, n) { + var i = l(this.data.x) + ? l(this.data.x[0]) + ? this.data.x[e][t] + : this.data.x[t] + : t; + return void 0 === r ? i : n.d2l(i, 0, r); + }), + (p.getYat = function (t, e, r, n) { + var i = l(this.data.y) + ? l(this.data.y[0]) + ? this.data.y[e][t] + : this.data.y[e] + : e; + return void 0 === r ? i : n.d2l(i, 0, r); + }), + (p.getZat = function (t, e, r, n) { + var i = this.data.z[e][t]; + return ( + null === i && + this.data.connectgaps && + this.data._interpolatedZ && + (i = this.data._interpolatedZ[e][t]), + void 0 === r ? i : n.d2l(i, 0, r) + ); + }), + (p.handlePick = function (t) { + if (t.object === this.surface) { + var e = (t.data.index[0] - 1) / this.dataScaleX - 1, + r = (t.data.index[1] - 1) / this.dataScaleY - 1, + n = Math.max( + Math.min( + Math.round(e), + this.data.z[0].length - 1, + ), + 0, + ), + i = Math.max( + Math.min(Math.round(r), this.data._ylength - 1), + 0, + ); + (t.index = [n, i]), + (t.traceCoordinate = [ + this.getXat(n, i), + this.getYat(n, i), + this.getZat(n, i), + ]), + (t.dataCoordinate = [ + this.getXat( + n, + i, + this.data.xcalendar, + this.scene.fullSceneLayout.xaxis, + ), + this.getYat( + n, + i, + this.data.ycalendar, + this.scene.fullSceneLayout.yaxis, + ), + this.getZat( + n, + i, + this.data.zcalendar, + this.scene.fullSceneLayout.zaxis, + ), + ]); + for (var a = 0; a < 3; a++) { + null != t.dataCoordinate[a] && + (t.dataCoordinate[a] *= + this.scene.dataScale[a]); + } + var o = this.data.hovertext || this.data.text; + return ( + Array.isArray(o) && o[i] && void 0 !== o[i][n] + ? (t.textLabel = o[i][n]) + : (t.textLabel = o || ""), + (t.data.dataCoordinate = + t.dataCoordinate.slice()), + this.surface.highlight(t.data), + (this.scene.glplot.spikes.position = + t.dataCoordinate), + !0 + ); + } + }); + var d = [ + 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, + 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, + 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, + 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, + 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, + 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, + 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, + 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, + 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, + 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, + 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, + 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, + 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, + 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, + 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, + 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, + 1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, + 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, + 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277, + 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, + 1321, 1327, 1361, 1367, 1373, 1381, 1399, 1409, 1423, + 1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, 1471, + 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, 1531, + 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597, + 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, + 1663, 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, + 1733, 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, + 1801, 1811, 1823, 1831, 1847, 1861, 1867, 1871, 1873, + 1877, 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, + 1951, 1973, 1979, 1987, 1993, 1997, 1999, 2003, 2011, + 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081, 2083, + 2087, 2089, 2099, 2111, 2113, 2129, 2131, 2137, 2141, + 2143, 2153, 2161, 2179, 2203, 2207, 2213, 2221, 2237, + 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287, 2293, + 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, + 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, + 2423, 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, + 2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579, 2591, + 2593, 2609, 2617, 2621, 2633, 2647, 2657, 2659, 2663, + 2671, 2677, 2683, 2687, 2689, 2693, 2699, 2707, 2711, + 2713, 2719, 2729, 2731, 2741, 2749, 2753, 2767, 2777, + 2789, 2791, 2797, 2801, 2803, 2819, 2833, 2837, 2843, + 2851, 2857, 2861, 2879, 2887, 2897, 2903, 2909, 2917, + 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, + ]; + function v(t, e) { + if (t < e) return 0; + for (var r = 0; 0 === Math.floor(t % e); ) + (t /= e), r++; + return r; + } + function g(t) { + for (var e = [], r = 0; r < d.length; r++) { + var n = d[r]; + e.push(v(t, n)); + } + return e; + } + function y(t) { + for (var e = g(t), r = t, n = 0; n < d.length; n++) + if (e[n] > 0) { + r = d[n]; + break; + } + return r; + } + function m(t, e) { + if (!(t < 1 || e < 1)) { + for ( + var r = g(t), n = g(e), i = 1, a = 0; + a < d.length; + a++ + ) + i *= Math.pow(d[a], Math.max(r[a], n[a])); + return i; + } + } + (p.calcXnums = function (t) { + var e, + r = []; + for (e = 1; e < t; e++) { + var n = this.getXat(e - 1, 0), + i = this.getXat(e, 0); + r[e - 1] = + i !== n && null != n && null != i + ? Math.abs(i - n) + : 0; + } + var a = 0; + for (e = 1; e < t; e++) a += r[e - 1]; + for (e = 1; e < t; e++) + 0 === r[e - 1] + ? (r[e - 1] = 1) + : (r[e - 1] = Math.round(a / r[e - 1])); + return r; + }), + (p.calcYnums = function (t) { + var e, + r = []; + for (e = 1; e < t; e++) { + var n = this.getYat(0, e - 1), + i = this.getYat(0, e); + r[e - 1] = + i !== n && null != n && null != i + ? Math.abs(i - n) + : 0; + } + var a = 0; + for (e = 1; e < t; e++) a += r[e - 1]; + for (e = 1; e < t; e++) + 0 === r[e - 1] + ? (r[e - 1] = 1) + : (r[e - 1] = Math.round(a / r[e - 1])); + return r; + }); + var x = [ + 1, 2, 4, 6, 12, 24, 36, 48, 60, 120, 180, 240, 360, + 720, 840, 1260, + ], + b = x[9], + _ = x[13]; + function w(t, e, r) { + var n = r[8] + r[2] * e[0] + r[5] * e[1]; + return ( + (t[0] = (r[6] + r[0] * e[0] + r[3] * e[1]) / n), + (t[1] = (r[7] + r[1] * e[0] + r[4] * e[1]) / n), + t + ); + } + function T(t, e, r) { + return ( + (function (t, e, r, n) { + for ( + var i = [0, 0], + o = t.shape[0], + s = t.shape[1], + l = 0; + l < o; + l++ + ) + for (var u = 0; u < s; u++) + r(i, [l, u], n), t.set(l, u, a(e, i[0], i[1])); + })(t, e, w, r), + t + ); + } + function k(t, e) { + for (var r = !1, n = 0; n < t.length; n++) + if (e === t[n]) { + r = !0; + break; + } + !1 === r && t.push(e); + } + (p.estimateScale = function (t, e) { + for ( + var r = + 1 + + (function (t) { + if (0 !== t.length) { + for (var e = 1, r = 0; r < t.length; r++) + e = m(e, t[r]); + return e; + } + })(0 === e ? this.calcXnums(t) : this.calcYnums(t)); + r < b; + + ) + r *= 2; + for (; r > _; ) r--, (r /= y(r)), ++r < b && (r = _); + var n = Math.round(r / t); + return n > 1 ? n : 1; + }), + (p.refineCoords = function (t) { + for ( + var e = this.dataScaleX, + r = this.dataScaleY, + n = t[0].shape[0], + a = t[0].shape[1], + o = 0 | Math.floor(t[0].shape[0] * e + 1), + s = 0 | Math.floor(t[0].shape[1] * r + 1), + l = 1 + n + 1, + u = 1 + a + 1, + c = i(new Float32Array(l * u), [l, u]), + f = [1 / e, 0, 0, 0, 1 / r, 0, 0, 0, 1], + h = 0; + h < t.length; + ++h + ) { + this.surface.padField(c, t[h]); + var p = i(new Float32Array(o * s), [o, s]); + T(p, c, f), (t[h] = p); + } + }), + (p.setContourLevels = function () { + var t, + e, + r, + n = [[], [], []], + i = [!1, !1, !1], + a = !1; + for (t = 0; t < 3; ++t) + if ( + this.showContour[t] && + ((a = !0), + this.contourSize[t] > 0 && + null !== this.contourStart[t] && + null !== this.contourEnd[t] && + this.contourEnd[t] > this.contourStart[t]) + ) + for ( + i[t] = !0, e = this.contourStart[t]; + e < this.contourEnd[t]; + e += this.contourSize[t] + ) + (r = e * this.scene.dataScale[t]), k(n[t], r); + if (a) { + var o = [[], [], []]; + for (t = 0; t < 3; ++t) + this.showContour[t] && + (o[t] = i[t] + ? n[t] + : this.scene.contourLevels[t]); + this.surface.update({ levels: o }); + } + }), + (p.update = function (t) { + var e, + r, + n, + a, + l = this.scene, + h = l.fullSceneLayout, + p = this.surface, + d = u(t), + v = l.dataScale, + g = t.z[0].length, + y = t._ylength, + m = l.contourLevels; + this.data = t; + var x = []; + for (e = 0; e < 3; e++) + for (x[e] = [], r = 0; r < g; r++) x[e][r] = []; + for (r = 0; r < g; r++) + for (n = 0; n < y; n++) + (x[0][r][n] = this.getXat( + r, + n, + t.xcalendar, + h.xaxis, + )), + (x[1][r][n] = this.getYat( + r, + n, + t.ycalendar, + h.yaxis, + )), + (x[2][r][n] = this.getZat( + r, + n, + t.zcalendar, + h.zaxis, + )); + if (t.connectgaps) + for ( + t._emptypoints = s(x[2]), + o(x[2], t._emptypoints), + t._interpolatedZ = [], + r = 0; + r < g; + r++ + ) + for (t._interpolatedZ[r] = [], n = 0; n < y; n++) + t._interpolatedZ[r][n] = x[2][r][n]; + for (e = 0; e < 3; e++) + for (r = 0; r < g; r++) + for (n = 0; n < y; n++) + null == (a = x[e][r][n]) + ? (x[e][r][n] = NaN) + : (a = x[e][r][n] *= v[e]); + for (e = 0; e < 3; e++) + for (r = 0; r < g; r++) + for (n = 0; n < y; n++) + null != (a = x[e][r][n]) && + (this.minValues[e] > a && + (this.minValues[e] = a), + this.maxValues[e] < a && + (this.maxValues[e] = a)); + for (e = 0; e < 3; e++) + this.objectOffset[e] = + 0.5 * (this.minValues[e] + this.maxValues[e]); + for (e = 0; e < 3; e++) + for (r = 0; r < g; r++) + for (n = 0; n < y; n++) + null != (a = x[e][r][n]) && + (x[e][r][n] -= this.objectOffset[e]); + var b = [ + i(new Float32Array(g * y), [g, y]), + i(new Float32Array(g * y), [g, y]), + i(new Float32Array(g * y), [g, y]), + ]; + for (e = 0; e < 3; e++) + for (r = 0; r < g; r++) + for (n = 0; n < y; n++) + b[e].set(r, n, x[e][r][n]); + x = []; + var w = { + colormap: d, + 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], + opacityscale: t.opacityscale, + opacity: t.opacity, + }, + T = f(t); + if ( + ((w.intensityBounds = [T.min, T.max]), + t.surfacecolor) + ) { + var k = i(new Float32Array(g * y), [g, y]); + for (r = 0; r < g; r++) + for (n = 0; n < y; n++) + k.set(r, n, t.surfacecolor[n][r]); + b.push(k); + } else + (w.intensityBounds[0] *= v[2]), + (w.intensityBounds[1] *= v[2]); + (_ < b[0].shape[0] || _ < b[0].shape[1]) && + (this.refineData = !1), + !0 === this.refineData && + ((this.dataScaleX = this.estimateScale( + b[0].shape[0], + 0, + )), + (this.dataScaleY = this.estimateScale( + b[0].shape[1], + 1, + )), + (1 === this.dataScaleX && + 1 === this.dataScaleY) || + this.refineCoords(b)), + t.surfacecolor && (w.intensity = b.pop()); + var A = [!0, !0, !0], + M = ["x", "y", "z"]; + for (e = 0; e < 3; ++e) { + var S = t.contours[M[e]]; + (A[e] = S.highlight), + (w.showContour[e] = S.show || S.highlight), + w.showContour[e] && + ((w.contourProject[e] = [ + S.project.x, + S.project.y, + S.project.z, + ]), + S.show + ? ((this.showContour[e] = !0), + (w.levels[e] = m[e]), + (p.highlightColor[e] = w.contourColor[e] = + c(S.color)), + S.usecolormap + ? (p.highlightTint[e] = w.contourTint[e] = + 0) + : (p.highlightTint[e] = w.contourTint[e] = + 1), + (w.contourWidth[e] = S.width), + (this.contourStart[e] = S.start), + (this.contourEnd[e] = S.end), + (this.contourSize[e] = S.size)) + : ((this.showContour[e] = !1), + (this.contourStart[e] = null), + (this.contourEnd[e] = null), + (this.contourSize[e] = 0)), + S.highlight && + ((w.dynamicColor[e] = c(S.highlightcolor)), + (w.dynamicWidth[e] = S.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] + ); + })(d) && (w.vertexColor = !0), + (w.objectOffset = this.objectOffset), + (w.coords = b), + p.update(w), + (p.visible = t.visible), + (p.enableDynamic = A), + (p.enableHighlight = A), + (p.snapToData = !0), + "lighting" in t && + ((p.ambientLight = t.lighting.ambient), + (p.diffuseLight = t.lighting.diffuse), + (p.specularLight = t.lighting.specular), + (p.roughness = t.lighting.roughness), + (p.fresnel = t.lighting.fresnel)), + "lightposition" in t && + (p.lightPosition = [ + t.lightposition.x, + t.lightposition.y, + t.lightposition.z, + ]); + }), + (p.dispose = function () { + this.scene.glplot.remove(this.surface), + this.surface.dispose(); + }), + (t.exports = function (t, e) { + var r = t.glplot.gl, + i = n({ gl: r }), + a = new h(t, i, e.uid); + return ( + (i._trace = a), a.update(e), t.glplot.add(i), a + ); + }); + }, + 91831: function (t, e, r) { + "use strict"; + var n = r(73972), + i = r(71828), + a = r(1586), + o = r(54532); + function s(t, e, r, n) { + var i = n("opacityscale"); + "max" === i + ? (e.opacityscale = [ + [0, 0.1], + [1, 1], + ]) + : "min" === i + ? (e.opacityscale = [ + [0, 1], + [1, 0.1], + ]) + : "extremes" === i + ? (e.opacityscale = (function (t, e) { + for (var r = [], n = 0; n < 32; n++) { + var i = n / 31, + a = + 0.1 + + 0.9 * + (1 - + Math.pow(Math.sin(1 * i * Math.PI), 2)); + r.push([i, Math.max(0, Math.min(1, a))]); + } + return r; + })()) + : (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) return !1; + e = +n[0]; + } + return !0; + })(i) || (e.opacityscale = void 0); + } + function l(t, e, r) { + e in t && !(r in t) && (t[r] = t[e]); + } + t.exports = { + supplyDefaults: function (t, e, r, u) { + var c, f; + function h(r, n) { + return i.coerce(t, e, o, r, n); + } + var p = h("x"), + d = h("y"), + v = h("z"); + if ( + !v || + !v.length || + (p && p.length < 1) || + (d && d.length < 1) + ) + e.visible = !1; + else { + (e._xlength = + Array.isArray(p) && i.isArrayOrTypedArray(p[0]) + ? v.length + : v[0].length), + (e._ylength = v.length), + n.getComponentMethod( + "calendars", + "handleTraceDefaults", + )(t, e, ["x", "y", "z"], u), + h("text"), + h("hovertext"), + h("hovertemplate"), + h("xhoverformat"), + h("yhoverformat"), + h("zhoverformat"), + [ + "lighting.ambient", + "lighting.diffuse", + "lighting.specular", + "lighting.roughness", + "lighting.fresnel", + "lightposition.x", + "lightposition.y", + "lightposition.z", + "hidesurface", + "connectgaps", + "opacity", + ].forEach(function (t) { + h(t); + }); + var g = h("surfacecolor"), + y = ["x", "y", "z"]; + for (c = 0; c < 3; ++c) { + var m = "contours." + y[c], + x = h(m + ".show"), + b = h(m + ".highlight"); + if (x || b) + for (f = 0; f < 3; ++f) + h(m + ".project." + y[f]); + x && + (h(m + ".color"), + h(m + ".width"), + h(m + ".usecolormap")), + b && + (h(m + ".highlightcolor"), + h(m + ".highlightwidth")), + h(m + ".start"), + h(m + ".end"), + h(m + ".size"); + } + g || + (l(t, "zmin", "cmin"), + l(t, "zmax", "cmax"), + l(t, "zauto", "cauto")), + a(t, e, u, h, { prefix: "", cLetter: "c" }), + s(0, e, 0, h), + (e._length = null); + } + }, + opacityscaleDefaults: s, + }; + }, + 93601: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(54532), + supplyDefaults: r(91831).supplyDefaults, + colorbar: { min: "cmin", max: "cmax" }, + calc: r(18396), + plot: r(43768), + moduleType: "trace", + name: "surface", + basePlotModule: r(58547), + categories: ["gl3d", "2dMap", "showLegend"], + meta: {}, + }; + }, + 44464: function (t, e, r) { + "use strict"; + var n = r(50215), + i = r(1426).extendFlat, + a = r(30962).overrideAll, + o = r(41940), + s = r(27670).Y, + l = r(12663).descriptionOnlyNumbers; + (t.exports = a( + { + domain: s({ 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: [], + description: l("cell value"), + }, + prefix: { + valType: "string", + arrayOk: !0, + dflt: null, + }, + suffix: { + valType: "string", + arrayOk: !0, + dflt: null, + }, + height: { valType: "number", dflt: 28 }, + align: i({}, n.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: i({}, o({ arrayOk: !0 })), + }, + cells: { + values: { valType: "data_array", dflt: [] }, + format: { + valType: "data_array", + dflt: [], + description: l("cell value"), + }, + prefix: { + valType: "string", + arrayOk: !0, + dflt: null, + }, + suffix: { + valType: "string", + arrayOk: !0, + dflt: null, + }, + height: { valType: "number", dflt: 20 }, + align: i({}, n.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: i({}, o({ arrayOk: !0 })), + }, + }, + "calc", + "from-root", + )).transforms = void 0; + }, + 99469: function (t, e, r) { + "use strict"; + var n = r(27659).a0, + i = r(36736), + a = "table"; + (e.name = a), + (e.plot = function (t) { + var e = n(t.calcdata, a)[0]; + e.length && i(t, e); + }), + (e.clean = function (t, e, r, n) { + var i = n._has && n._has(a), + o = e._has && e._has(a); + i && !o && n._paperdiv.selectAll(".table").remove(); + }); + }, + 76333: function (t, e, r) { + "use strict"; + var n = r(28984).wrap; + t.exports = function () { + return n({}); + }; + }, + 49850: function (t) { + "use strict"; + t.exports = { + cellPad: 8, + columnExtentOffset: 10, + columnTitleOffset: 28, + emptyHeaderHeight: 16, + latexCheck: /^\$.*\$$/, + goldenRatio: 1.618, + lineBreaker: "
", + 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", + }, + }; + }, + 51018: function (t, e, r) { + "use strict"; + var n = r(49850), + i = r(1426).extendFlat, + a = r(92770); + function o(t) { + if (Array.isArray(t)) { + for (var e = 0, r = 0; r < t.length; r++) + e = Math.max(e, o(t[r])); + return e; + } + return t; + } + function s(t, e) { + return t + e; + } + function l(t) { + var e, + r = t.slice(), + n = 1 / 0, + i = 0; + for (e = 0; e < r.length; e++) + Array.isArray(r[e]) || (r[e] = [r[e]]), + (n = Math.min(n, r[e].length)), + (i = Math.max(i, r[e].length)); + if (n !== i) + for (e = 0; e < r.length; e++) { + var a = i - r[e].length; + a && (r[e] = r[e].concat(u(a))); + } + return r; + } + function u(t) { + for (var e = new Array(t), r = 0; r < t; r++) e[r] = ""; + return e; + } + function c(t) { + return t.calcdata.columns.reduce(function (e, r) { + return r.xIndex < t.xIndex ? e + r.columnWidth : e; + }, 0); + } + function f(t, e) { + return Object.keys(t).map(function (r) { + return i({}, t[r], { auxiliaryBlocks: e }); + }); + } + function h(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; + } + t.exports = function (t, e) { + var r = l(e.cells.values), + p = function (t) { + return t.slice(e.header.values.length, t.length); + }, + d = l(e.header.values); + d.length && !d[0].length && ((d[0] = [""]), (d = l(d))); + var v = d.concat( + p(r).map(function () { + return u((d[0] || [""]).length); + }), + ), + g = e.domain, + y = Math.floor( + t._fullLayout._size.w * (g.x[1] - g.x[0]), + ), + m = Math.floor( + t._fullLayout._size.h * (g.y[1] - g.y[0]), + ), + x = e.header.values.length + ? v[0].map(function () { + return e.header.height; + }) + : [n.emptyHeaderHeight], + b = r.length + ? r[0].map(function () { + return e.cells.height; + }) + : [], + _ = x.reduce(s, 0), + w = h(b, m - _ + n.uplift), + T = f(h(x, _), []), + k = f(w, T), + A = {}, + M = e._fullInput.columnorder.concat( + p( + r.map(function (t, e) { + return e; + }), + ), + ), + S = v.map(function (t, r) { + var n = Array.isArray(e.columnwidth) + ? e.columnwidth[ + Math.min(r, e.columnwidth.length - 1) + ] + : e.columnwidth; + return a(n) ? Number(n) : 1; + }), + E = S.reduce(s, 0); + S = S.map(function (t) { + return (t / E) * y; + }); + var L = Math.max( + o(e.header.line.width), + o(e.cells.line.width), + ), + C = { + key: e.uid + t._context.staticPlot, + translateX: g.x[0] * t._fullLayout._size.w, + translateY: t._fullLayout._size.h * (1 - g.y[1]), + size: t._fullLayout._size, + width: y, + maxLineWidth: L, + height: m, + columnOrder: M, + groupHeight: m, + rowBlocks: k, + headerRowBlocks: T, + scrollY: 0, + cells: i({}, e.cells, { values: r }), + headerCells: i({}, e.header, { values: v }), + gdColumns: v.map(function (t) { + return t[0]; + }), + gdColumnsOriginalOrder: v.map(function (t) { + return t[0]; + }), + prevPages: [0, 0], + scrollbarState: { scrollbarScrollInProgress: !1 }, + columns: v.map(function (t, e) { + var r = A[t]; + return ( + (A[t] = (r || 0) + 1), + { + key: t + "__" + A[t], + label: t, + specIndex: e, + xIndex: M[e], + xScale: c, + x: void 0, + calcdata: void 0, + columnWidth: S[e], + } + ); + }), + }; + return ( + C.columns.forEach(function (t) { + (t.calcdata = C), (t.x = c(t)); + }), + C + ); + }; + }, + 56269: function (t, e, r) { + "use strict"; + var n = r(1426).extendFlat; + (e.splitToPanels = function (t) { + var e = [0, 0], + r = n({}, 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: n({}, t.calcdata, { + cells: t.calcdata.headerCells, + }), + }); + return [ + n({}, 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, + }), + n({}, 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, + ]; + }), + (e.splitToCells = function (t) { + var e = (function (t) { + var e = t.rowBlocks[t.page], + r = e ? e.rows[0].rowIndex : 0; + return [r, e ? r + e.rows.length : 0]; + })(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, + }; + }); + }); + }, + 39754: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(44464), + a = r(27670).c; + t.exports = function (t, e, r, o) { + function s(r, a) { + return n.coerce(t, e, i, r, a); + } + a(e, o, s), + s("columnwidth"), + s("header.values"), + s("header.format"), + s("header.align"), + s("header.prefix"), + s("header.suffix"), + s("header.height"), + s("header.line.width"), + s("header.line.color"), + s("header.fill.color"), + n.coerceFont( + s, + "header.font", + n.extendFlat({}, o.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, s), + s("cells.values"), + s("cells.format"), + s("cells.align"), + s("cells.prefix"), + s("cells.suffix"), + s("cells.height"), + s("cells.line.width"), + s("cells.line.color"), + s("cells.fill.color"), + n.coerceFont( + s, + "cells.font", + n.extendFlat({}, o.font), + ), + (e._length = null); + }; + }, + 96595: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(44464), + supplyDefaults: r(39754), + calc: r(76333), + plot: r(36736), + moduleType: "trace", + name: "table", + basePlotModule: r(99469), + categories: ["noOpacity"], + meta: {}, + }; + }, + 36736: function (t, e, r) { + "use strict"; + var n = r(49850), + i = r(39898), + a = r(71828).numberFormat, + o = r(28984), + s = r(91424), + l = r(63893), + u = r(71828).raiseToTop, + c = r(71828).strTranslate, + f = r(71828).cancelTransition, + h = r(51018), + p = r(56269), + d = r(7901); + function v(t) { + return Math.ceil(t.calcdata.maxLineWidth / 2); + } + function g(t, e) { + return ( + "clip" + + t._fullLayout._uid + + "_scrollAreaBottomClip_" + + e.key + ); + } + function y(t, e) { + return ( + "clip" + + t._fullLayout._uid + + "_columnBoundaryClippath_" + + e.calcdata.key + + "_" + + e.specIndex + ); + } + function m(t) { + return [].concat + .apply( + [], + t.map(function (t) { + return t; + }), + ) + .map(function (t) { + return t.__data__; + }); + } + function x(t, e, r) { + var a = t + .selectAll("." + n.cn.scrollbarKit) + .data(o.repeat, o.keyFun); + a + .enter() + .append("g") + .classed(n.cn.scrollbarKit, !0) + .style("shape-rendering", "geometricPrecision"), + a + .each(function (t) { + var e = t.scrollbarState; + (e.totalHeight = (function (t) { + var e = t.rowBlocks; + return ( + z(e, e.length - 1) + + (e.length ? R(e[e.length - 1], 1 / 0) : 1) + ); + })(t)), + (e.scrollableAreaHeight = t.groupHeight - S(t)), + (e.currentlyVisibleHeight = Math.min( + e.totalHeight, + e.scrollableAreaHeight, + )), + (e.ratio = + e.currentlyVisibleHeight / e.totalHeight), + (e.barLength = Math.max( + e.ratio * e.currentlyVisibleHeight, + n.goldenRatio * n.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) { + var e = + t.width + + n.scrollbarWidth / 2 + + n.scrollbarOffset; + return c(e, S(t)); + }); + var s = a + .selectAll("." + n.cn.scrollbar) + .data(o.repeat, o.keyFun); + s.enter().append("g").classed(n.cn.scrollbar, !0); + var l = s + .selectAll("." + n.cn.scrollbarSlider) + .data(o.repeat, o.keyFun); + l.enter().append("g").classed(n.cn.scrollbarSlider, !0), + l.attr("transform", function (t) { + return c(0, t.scrollbarState.topY || 0); + }); + var u = l + .selectAll("." + n.cn.scrollbarGlyph) + .data(o.repeat, o.keyFun); + u + .enter() + .append("line") + .classed(n.cn.scrollbarGlyph, !0) + .attr("stroke", "black") + .attr("stroke-width", n.scrollbarWidth) + .attr("stroke-linecap", "round") + .attr("y1", n.scrollbarWidth / 2), + u + .attr("y2", function (t) { + return ( + t.scrollbarState.barLength - + n.scrollbarWidth / 2 + ); + }) + .attr("stroke-opacity", function (t) { + return t.columnDragInProgress || + !t.scrollbarState.barWiggleRoom || + r + ? 0 + : 0.4; + }), + u.transition().delay(0).duration(0), + u + .transition() + .delay(n.scrollbarHideDelay) + .duration(n.scrollbarHideDuration) + .attr("stroke-opacity", 0); + var f = s + .selectAll("." + n.cn.scrollbarCaptureZone) + .data(o.repeat, o.keyFun); + f + .enter() + .append("line") + .classed(n.cn.scrollbarCaptureZone, !0) + .attr("stroke", "white") + .attr("stroke-opacity", 0.01) + .attr("stroke-width", n.scrollbarCaptureWidth) + .attr("stroke-linecap", "butt") + .attr("y1", 0) + .on("mousedown", function (r) { + var n = i.event.y, + a = this.getBoundingClientRect(), + o = r.scrollbarState, + s = n - a.top, + l = i.scale + .linear() + .domain([0, o.scrollableAreaHeight]) + .range([0, o.totalHeight]) + .clamp(!0); + (o.topY <= s && s <= o.bottomY) || + L(e, t, null, l(s - o.barLength / 2))(r); + }) + .call( + i.behavior + .drag() + .origin(function (t) { + return ( + i.event.stopPropagation(), + (t.scrollbarState.scrollbarScrollInProgress = + !0), + t + ); + }) + .on("drag", L(e, t)) + .on("dragend", function () {}), + ), + f.attr("y2", function (t) { + return t.scrollbarState.scrollableAreaHeight; + }), + e._context.staticPlot && (u.remove(), f.remove()); + } + function b(t, e, r, a) { + var l = (function (t) { + var e = t + .selectAll("." + n.cn.columnCells) + .data(o.repeat, o.keyFun); + return ( + e + .enter() + .append("g") + .classed(n.cn.columnCells, !0), + e.exit().remove(), + e + ); + })(r), + u = (function (t) { + var e = t + .selectAll("." + n.cn.columnCell) + .data(p.splitToCells, function (t) { + return t.keyWithinBlock; + }); + return ( + e + .enter() + .append("g") + .classed(n.cn.columnCell, !0), + e.exit().remove(), + e + ); + })(l); + !(function (t) { + t.each(function (t, e) { + var r = t.calcdata.cells.font, + n = t.column.specIndex, + i = { + size: T(r.size, n, e), + color: T(r.color, n, e), + family: T(r.family, n, e), + }; + (t.rowNumber = t.key), + (t.align = T(t.calcdata.cells.align, n, e)), + (t.cellBorderWidth = T( + t.calcdata.cells.line.width, + n, + e, + )), + (t.font = i); + }); + })(u); + var c = (function (t) { + var e = t + .selectAll("." + n.cn.cellRect) + .data(o.repeat, function (t) { + return t.keyWithinBlock; + }); + return ( + e.enter().append("rect").classed(n.cn.cellRect, !0), + e + ); + })(u); + !(function (t) { + t.attr("width", function (t) { + return t.column.columnWidth; + }) + .attr("stroke-width", function (t) { + return t.cellBorderWidth; + }) + .each(function (t) { + var e = i.select(this); + d.stroke( + e, + T( + t.calcdata.cells.line.color, + t.column.specIndex, + t.rowNumber, + ), + ), + d.fill( + e, + T( + t.calcdata.cells.fill.color, + t.column.specIndex, + t.rowNumber, + ), + ); + }); + })(c); + var f = (function (t) { + var e = t + .selectAll("." + n.cn.cellTextHolder) + .data(o.repeat, function (t) { + return t.keyWithinBlock; + }); + return ( + e + .enter() + .append("g") + .classed(n.cn.cellTextHolder, !0) + .style("shape-rendering", "geometricPrecision"), + e + ); + })(u), + h = (function (t) { + var e = t + .selectAll("." + n.cn.cellText) + .data(o.repeat, function (t) { + return t.keyWithinBlock; + }); + return ( + e + .enter() + .append("text") + .classed(n.cn.cellText, !0) + .style("cursor", function () { + return "auto"; + }) + .on("mousedown", function () { + i.event.stopPropagation(); + }), + e + ); + })(f); + !(function (t) { + t.each(function (t) { + s.font(i.select(this), t.font); + }); + })(h), + _(h, e, a, t), + D(u); + } + function _(t, e, r, o) { + t.text(function (t) { + var e = t.column.specIndex, + r = t.rowNumber, + i = t.value, + o = "string" == typeof i, + s = o && i.match(/
/i), + l = !o || s; + t.mayHaveMarkup = o && i.match(/[<&>]/); + var u, + c = + "string" == typeof (u = i) && + u.match(n.latexCheck); + t.latex = c; + var f, + h, + p = c ? "" : T(t.calcdata.cells.prefix, e, r) || "", + d = c ? "" : T(t.calcdata.cells.suffix, e, r) || "", + v = c + ? null + : T(t.calcdata.cells.format, e, r) || null, + g = p + (v ? a(v)(t.value) : t.value) + d; + if ( + ((t.wrappingNeeded = + !t.wrapped && !l && !c && (f = w(g))), + (t.cellHeightMayIncrease = + s || + c || + t.mayHaveMarkup || + (void 0 === f ? w(g) : f)), + (t.needsConvertToTspans = + t.mayHaveMarkup || t.wrappingNeeded || t.latex), + t.wrappingNeeded) + ) { + var y = ( + " " === n.wrapSplitCharacter + ? g.replace(/ 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) { + var e = z(t.rowBlocks, t.page) - t.scrollY; + return c(0, e); + }), + t && + (C(t, r, e, u, n.prevPages, n, 0), + C(t, r, e, u, n.prevPages, n, 1), + x(r, t)); + } + } + function L(t, e, r, a) { + return function (o) { + var s = o.calcdata ? o.calcdata : o, + l = e.filter(function (t) { + return s.key === t.key; + }), + u = r || s.scrollbarState.dragMultiplier, + c = s.scrollY; + s.scrollY = + void 0 === a ? s.scrollY + u * i.event.dy : a; + var f = l + .selectAll("." + n.cn.yColumn) + .selectAll("." + n.cn.columnBlock) + .filter(A); + return E(t, f, l), s.scrollY === c; + }; + } + function C(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]; + }); + b(t, e, a, r), (i[o] = n[o]); + }))); + } + function O(t, e, r, a) { + return function () { + var o = i.select(e.parentNode); + o.each(function (t) { + var e = t.fragments; + o.selectAll("tspan.line").each(function (t, r) { + e[r].width = this.getComputedTextLength(); + }); + var r, + i, + a = e[e.length - 1].width, + s = e.slice(0, -1), + l = [], + u = 0, + c = t.column.columnWidth - 2 * n.cellPad; + for (t.value = ""; s.length; ) + u + (i = (r = s.shift()).width + a) > c && + ((t.value += + l.join(n.wrapSpacer) + n.lineBreaker), + (l = []), + (u = 0)), + l.push(r.text), + (u += i); + u && (t.value += l.join(n.wrapSpacer)), + (t.wrapped = !0); + }), + o.selectAll("tspan.line").remove(), + _(o.select("." + n.cn.cellText), r, t, a), + i.select(e.parentNode.parentNode).call(D); + }; + } + function P(t, e, r, a, o) { + return function () { + if (!o.settledY) { + var s = i.select(e.parentNode), + l = B(o), + u = o.key - l.firstRowIndex, + f = l.rows[u].rowHeight, + h = o.cellHeightMayIncrease + ? e.parentNode.getBoundingClientRect().height + + 2 * n.cellPad + : f, + p = Math.max(h, f); + p - l.rows[u].rowHeight && + ((l.rows[u].rowHeight = p), + t.selectAll("." + n.cn.columnCell).call(D), + E(null, t.filter(A), 0), + x(r, a, !0)), + s.attr("transform", function () { + var t = this, + e = t.parentNode.getBoundingClientRect(), + r = i + .select(t.parentNode) + .select("." + n.cn.cellRect) + .node() + .getBoundingClientRect(), + a = t.transform.baseVal.consolidate(), + s = + r.top - + e.top + + (a ? a.matrix.f : n.cellPad); + return c( + I( + o, + i + .select(t.parentNode) + .select("." + n.cn.cellTextHolder) + .node() + .getBoundingClientRect().width, + ), + s, + ); + }), + (o.settledY = !0); + } + }; + } + function I(t, e) { + switch (t.align) { + case "left": + default: + return n.cellPad; + case "right": + return t.column.columnWidth - (e || 0) - n.cellPad; + case "center": + return (t.column.columnWidth - (e || 0)) / 2; + } + } + function D(t) { + t.attr("transform", function (t) { + var e = t.rowBlocks[0].auxiliaryBlocks.reduce( + function (t, e) { + return t + R(e, 1 / 0); + }, + 0, + ), + r = R(B(t), t.key); + return c(0, r + e); + }) + .selectAll("." + n.cn.cellRect) + .attr("height", function (t) { + return ((e = B(t)), + (r = t.key), + e.rows[r - e.firstRowIndex]).rowHeight; + var e, r; + }); + } + function z(t, e) { + for (var r = 0, n = e - 1; n >= 0; n--) r += F(t[n]); + return r; + } + function R(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 F(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 B(t) { + return t.rowBlocks[t.page]; + } + t.exports = function (t, e) { + var r = !t._context.staticPlot, + a = t._fullLayout._paper + .selectAll("." + n.cn.table) + .data( + e.map(function (e) { + var r = o.unwrap(e).trace; + return h(t, r); + }), + o.keyFun, + ); + a.exit().remove(), + a + .enter() + .append("g") + .classed(n.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"), + a + .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 c(t.translateX, t.translateY); + }); + var l = a + .selectAll("." + n.cn.tableControlView) + .data(o.repeat, o.keyFun), + d = l + .enter() + .append("g") + .classed(n.cn.tableControlView, !0) + .style("box-sizing", "content-box"); + if (r) { + var _ = + "onwheel" in document ? "wheel" : "mousewheel"; + d.on("mousemove", function (e) { + l.filter(function (t) { + return e === t; + }).call(x, t); + }) + .on(_, function (e) { + if (!e.scrollbarState.wheeling) { + e.scrollbarState.wheeling = !0; + var r = e.scrollY + i.event.deltaY; + L(t, l, null, r)(e) || + (i.event.stopPropagation(), + i.event.preventDefault()), + (e.scrollbarState.wheeling = !1); + } + }) + .call(x, t, !0); + } + l.attr("transform", function (t) { + return c(t.size.l, t.size.t); + }); + var w = l + .selectAll("." + n.cn.scrollBackground) + .data(o.repeat, o.keyFun); + w + .enter() + .append("rect") + .classed(n.cn.scrollBackground, !0) + .attr("fill", "none"), + w + .attr("width", function (t) { + return t.width; + }) + .attr("height", function (t) { + return t.height; + }), + l.each(function (e) { + s.setClipUrl(i.select(this), g(t, e), t); + }); + var T = l.selectAll("." + n.cn.yColumn).data(function ( + t, + ) { + return t.columns; + }, o.keyFun); + T.enter().append("g").classed(n.cn.yColumn, !0), + T.exit().remove(), + T.attr("transform", function (t) { + return c(t.x, 0); + }), + r && + T.call( + i.behavior + .drag() + .origin(function (e) { + return ( + k(i.select(this), e, -n.uplift), + u(this), + (e.calcdata.columnDragInProgress = !0), + x( + l.filter(function (t) { + return e.calcdata.key === t.key; + }), + t, + ), + e + ); + }) + .on("drag", function (t) { + var e = i.select(this), + r = function (e) { + return ( + (t === e ? i.event.x : e.x) + + e.columnWidth / 2 + ); + }; + (t.x = Math.max( + -n.overdrag, + Math.min( + t.calcdata.width + + n.overdrag - + t.columnWidth, + i.event.x, + ), + )), + m(T) + .filter(function (e) { + return ( + e.calcdata.key === t.calcdata.key + ); + }) + .sort(function (t, e) { + return r(t) - r(e); + }) + .forEach(function (e, r) { + (e.xIndex = r), + (e.x = t === e ? e.x : e.xScale(e)); + }), + T.filter(function (e) { + return t !== e; + }) + .transition() + .ease(n.transitionEase) + .duration(n.transitionDuration) + .attr("transform", function (t) { + return c(t.x, 0); + }), + e + .call(f) + .attr("transform", c(t.x, -n.uplift)); + }) + .on("dragend", function (e) { + var r = i.select(this), + n = e.calcdata; + (e.x = e.xScale(e)), + (e.calcdata.columnDragInProgress = !1), + k(r, e, 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, + n, + n.columns.map(function (t) { + return t.xIndex; + }), + ); + }), + ), + T.each(function (e) { + s.setClipUrl(i.select(this), y(t, e), t); + }); + var S = T.selectAll("." + n.cn.columnBlock).data( + p.splitToPanels, + o.keyFun, + ); + S.enter() + .append("g") + .classed(n.cn.columnBlock, !0) + .attr("id", function (t) { + return t.key; + }), + S.style("cursor", function (t) { + return t.dragHandle + ? "ew-resize" + : t.calcdata.scrollbarState.barWiggleRoom + ? "ns-resize" + : "default"; + }); + var C = S.filter(M), + O = S.filter(A); + r && + O.call( + i.behavior + .drag() + .origin(function (t) { + return i.event.stopPropagation(), t; + }) + .on("drag", L(t, l, -1)) + .on("dragend", function () {}), + ), + b(t, l, C, S), + b(t, l, O, S); + var P = l + .selectAll("." + n.cn.scrollAreaClip) + .data(o.repeat, o.keyFun); + P.enter() + .append("clipPath") + .classed(n.cn.scrollAreaClip, !0) + .attr("id", function (e) { + return g(t, e); + }); + var I = P.selectAll("." + n.cn.scrollAreaClipRect).data( + o.repeat, + o.keyFun, + ); + I.enter() + .append("rect") + .classed(n.cn.scrollAreaClipRect, !0) + .attr("x", -n.overdrag) + .attr("y", -n.uplift) + .attr("fill", "none"), + I.attr("width", function (t) { + return t.width + 2 * n.overdrag; + }).attr("height", function (t) { + return t.height + n.uplift; + }), + T.selectAll("." + n.cn.columnBoundary) + .data(o.repeat, o.keyFun) + .enter() + .append("g") + .classed(n.cn.columnBoundary, !0); + var D = T.selectAll( + "." + n.cn.columnBoundaryClippath, + ).data(o.repeat, o.keyFun); + D.enter() + .append("clipPath") + .classed(n.cn.columnBoundaryClippath, !0), + D.attr("id", function (e) { + return y(t, e); + }); + var z = D.selectAll("." + n.cn.columnBoundaryRect).data( + o.repeat, + o.keyFun, + ); + z + .enter() + .append("rect") + .classed(n.cn.columnBoundaryRect, !0) + .attr("fill", "none"), + z + .attr("width", function (t) { + return t.columnWidth + 2 * v(t); + }) + .attr("height", function (t) { + return t.calcdata.height + 2 * v(t) + n.uplift; + }) + .attr("x", function (t) { + return -v(t); + }) + .attr("y", function (t) { + return -v(t); + }), + E(null, O, l); + }; + }, + 45802: function (t, e, r) { + "use strict"; + var n = r(5386).fF, + i = r(5386).si, + a = r(50693), + o = r(27670).Y, + s = r(34e3), + l = r(57564), + u = r(43473), + c = r(1426).extendFlat, + f = r(79952).u; + t.exports = { + labels: l.labels, + parents: l.parents, + values: l.values, + branchvalues: l.branchvalues, + count: l.count, + level: l.level, + maxdepth: l.maxdepth, + tiling: { + packing: { + valType: "enumerated", + values: [ + "squarify", + "binary", + "dice", + "slice", + "slice-dice", + "dice-slice", + ], + dflt: "squarify", + editType: "plot", + }, + squarifyratio: { + valType: "number", + min: 1, + dflt: 1, + editType: "plot", + }, + flip: { + valType: "flaglist", + flags: ["x", "y"], + dflt: "", + editType: "plot", + }, + pad: { + valType: "number", + min: 0, + dflt: 3, + editType: "plot", + }, + editType: "calc", + }, + marker: c( + { + pad: { + t: { + valType: "number", + min: 0, + editType: "plot", + }, + l: { + valType: "number", + min: 0, + editType: "plot", + }, + r: { + valType: "number", + min: 0, + editType: "plot", + }, + b: { + valType: "number", + min: 0, + editType: "plot", + }, + editType: "calc", + }, + colors: l.marker.colors, + pattern: f, + depthfade: { + valType: "enumerated", + values: [!0, !1, "reversed"], + editType: "style", + }, + line: l.marker.line, + cornerradius: { + valType: "number", + min: 0, + dflt: 0, + editType: "plot", + }, + editType: "calc", + }, + a("marker", { colorAttr: "colors", anim: !1 }), + ), + pathbar: { + visible: { + valType: "boolean", + dflt: !0, + editType: "plot", + }, + side: { + valType: "enumerated", + values: ["top", "bottom"], + dflt: "top", + editType: "plot", + }, + edgeshape: { + valType: "enumerated", + values: [">", "<", "|", "/", "\\"], + dflt: ">", + editType: "plot", + }, + thickness: { + valType: "number", + min: 12, + editType: "plot", + }, + textfont: c({}, s.textfont, {}), + editType: "calc", + }, + text: s.text, + textinfo: l.textinfo, + texttemplate: i( + { editType: "plot" }, + { keys: u.eventDataKeys.concat(["label", "value"]) }, + ), + hovertext: s.hovertext, + hoverinfo: l.hoverinfo, + hovertemplate: n({}, { keys: u.eventDataKeys }), + textfont: s.textfont, + insidetextfont: s.insidetextfont, + outsidetextfont: c({}, s.outsidetextfont, {}), + textposition: { + valType: "enumerated", + values: [ + "top left", + "top center", + "top right", + "middle left", + "middle center", + "middle right", + "bottom left", + "bottom center", + "bottom right", + ], + dflt: "top left", + editType: "plot", + }, + sort: s.sort, + root: l.root, + domain: o({ + name: "treemap", + trace: !0, + editType: "calc", + }), + }; + }, + 78018: function (t, e, r) { + "use strict"; + var n = r(74875); + (e.name = "treemap"), + (e.plot = function (t, r, i, a) { + n.plotBasePlot(e.name, t, r, i, a); + }), + (e.clean = function (t, r, i, a) { + n.cleanBasePlot(e.name, t, r, i, a); + }); + }, + 65039: function (t, e, r) { + "use strict"; + var n = r(52147); + (e.y = function (t, e) { + return n.calc(t, e); + }), + (e.T = function (t) { + return n._runCrossTraceCalc("treemap", t); + }); + }, + 43473: function (t) { + "use strict"; + t.exports = { + CLICK_TRANSITION_TIME: 750, + CLICK_TRANSITION_EASING: "poly", + eventDataKeys: [ + "currentPath", + "root", + "entry", + "percentRoot", + "percentEntry", + "percentParent", + ], + gapWithPathbar: 1, + }; + }, + 91174: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(45802), + a = r(7901), + o = r(27670).c, + s = r(90769).handleText, + l = r(97313).TEXTPAD, + u = r(37434).handleMarkerDefaults, + c = r(21081), + f = c.hasColorscale, + h = c.handleDefaults; + t.exports = function (t, e, r, c) { + function p(r, a) { + return n.coerce(t, e, i, r, a); + } + var d = p("labels"), + v = p("parents"); + if (d && d.length && v && v.length) { + var g = p("values"); + g && g.length ? p("branchvalues") : p("count"), + p("level"), + p("maxdepth"), + "squarify" === p("tiling.packing") && + p("tiling.squarifyratio"), + p("tiling.flip"), + p("tiling.pad"); + var y = p("text"); + p("texttemplate"), + e.texttemplate || + p( + "textinfo", + Array.isArray(y) ? "text+label" : "label", + ), + p("hovertext"), + p("hovertemplate"); + var m = p("pathbar.visible"); + s(t, e, c, p, "auto", { + hasPathbar: m, + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !1, + moduleHasCliponaxis: !1, + moduleHasTextangle: !1, + moduleHasInsideanchor: !1, + }), + p("textposition"); + var x = -1 !== e.textposition.indexOf("bottom"); + u(t, e, c, p), + (e._hasColorscale = + f(t, "marker", "colors") || + (t.marker || {}).coloraxis) + ? h(t, e, c, p, { + prefix: "marker.", + cLetter: "c", + }) + : p( + "marker.depthfade", + !(e.marker.colors || []).length, + ); + var b = 2 * e.textfont.size; + p("marker.pad.t", x ? b / 4 : b), + p("marker.pad.l", b / 4), + p("marker.pad.r", b / 4), + p("marker.pad.b", x ? b : b / 4), + p("marker.cornerradius"), + (e._hovered = { + marker: { + line: { + width: 2, + color: a.contrast(c.paper_bgcolor), + }, + }, + }), + m && + (p( + "pathbar.thickness", + e.pathbar.textfont.size + 2 * l, + ), + p("pathbar.side"), + p("pathbar.edgeshape")), + p("sort"), + p("root.color"), + o(e, c, p), + (e._length = null); + } else e.visible = !1; + }; + }, + 80694: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(2791), + a = r(72597).clearMinTextSize, + o = r(16688).resizeText, + s = r(46650); + t.exports = function (t, e, r, l, u) { + var c, + f, + h = u.type, + p = u.drawDescendants, + d = t._fullLayout, + v = d["_" + h + "layer"], + g = !r; + a(h, d), + (c = v + .selectAll("g.trace." + h) + .data(e, function (t) { + return t[0].trace.uid; + })) + .enter() + .append("g") + .classed("trace", !0) + .classed(h, !0), + c.order(), + !d.uniformtext.mode && i.hasTransition(r) + ? (l && (f = l()), + n + .transition() + .duration(r.duration) + .ease(r.easing) + .each("end", function () { + f && f(); + }) + .each("interrupt", function () { + f && f(); + }) + .each(function () { + v.selectAll("g.trace").each(function (e) { + s(t, e, this, r, p); + }); + })) + : (c.each(function (e) { + s(t, e, this, r, p); + }), + d.uniformtext.mode && + o(t, v.selectAll(".trace"), h)), + g && c.exit().remove(); + }; + }, + 66209: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(91424), + o = r(63893), + s = r(37210), + l = r(96362).styleOne, + u = r(43473), + c = r(2791), + f = r(83523), + h = !0; + t.exports = function (t, e, r, p, d) { + var v = d.barDifY, + g = d.width, + y = d.height, + m = d.viewX, + x = d.viewY, + b = d.pathSlice, + _ = d.toMoveInsideSlice, + w = d.strTransform, + T = d.hasTransition, + k = d.handleSlicesExit, + A = d.makeUpdateSliceInterpolator, + M = d.makeUpdateTextInterpolator, + S = {}, + E = t._context.staticPlot, + L = t._fullLayout, + C = e[0], + O = C.trace, + P = C.hierarchy, + I = g / O._entryDepth, + D = c.listPath(r.data, "id"), + z = s(P.copy(), [g, y], { + packing: "dice", + pad: { + inner: 0, + top: 0, + left: 0, + right: 0, + bottom: 0, + }, + }).descendants(); + (z = z.filter(function (t) { + var e = D.indexOf(t.data.id); + return ( + -1 !== e && + ((t.x0 = I * e), + (t.x1 = I * (e + 1)), + (t.y0 = v), + (t.y1 = v + y), + (t.onPathbar = !0), + !0) + ); + })).reverse(), + (p = p.data(z, c.getPtId)) + .enter() + .append("g") + .classed("pathbar", !0), + k(p, h, S, [g, y], b), + p.order(); + var R = p; + T && + (R = R.transition().each("end", function () { + var e = n.select(this); + c.setSliceCursor(e, t, { + hideOnRoot: !1, + hideOnLeaves: !1, + isTransitioning: !1, + }); + })), + R.each(function (s) { + (s._x0 = m(s.x0)), + (s._x1 = m(s.x1)), + (s._y0 = x(s.y0)), + (s._y1 = x(s.y1)), + (s._hoverX = m(s.x1 - Math.min(g, y) / 2)), + (s._hoverY = x(s.y1 - y / 2)); + var p = n.select(this), + d = i.ensureSingle( + p, + "path", + "surface", + function (t) { + t.style("pointer-events", E ? "none" : "all"); + }, + ); + T + ? d.transition().attrTween("d", function (t) { + var e = A(t, h, S, [g, y]); + return function (t) { + return b(e(t)); + }; + }) + : d.attr("d", b), + p + .call(f, r, t, e, { + styleOne: l, + eventDataKeys: u.eventDataKeys, + transitionTime: u.CLICK_TRANSITION_TIME, + transitionEasing: u.CLICK_TRANSITION_EASING, + }) + .call(c.setSliceCursor, t, { + hideOnRoot: !1, + hideOnLeaves: !1, + isTransitioning: t._transitioning, + }), + d.call(l, s, O, t, { hovered: !1 }), + (s._text = + (c.getPtLabel(s) || "") + .split("
") + .join(" ") || ""); + var v = i.ensureSingle(p, "g", "slicetext"), + k = i.ensureSingle(v, "text", "", function (t) { + t.attr("data-notex", 1); + }), + C = i.ensureUniformFontSize( + t, + c.determineTextFont(O, s, L.font, { + onPathbar: !0, + }), + ); + k + .text(s._text || " ") + .classed("slicetext", !0) + .attr("text-anchor", "start") + .call(a.font, C) + .call(o.convertToTspans, t), + (s.textBB = a.bBox(k.node())), + (s.transform = _(s, { + fontSize: C.size, + onPathbar: !0, + })), + (s.transform.fontSize = C.size), + T + ? k + .transition() + .attrTween("transform", function (t) { + var e = M(t, h, S, [g, y]); + return function (t) { + return w(e(t)); + }; + }) + : k.attr("transform", w(s)); + }); + }; + }, + 52583: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(91424), + o = r(63893), + s = r(37210), + l = r(96362).styleOne, + u = r(43473), + c = r(2791), + f = r(83523), + h = r(24714).formatSliceLabel, + p = !1; + t.exports = function (t, e, r, d, v) { + var g = v.width, + y = v.height, + m = v.viewX, + x = v.viewY, + b = v.pathSlice, + _ = v.toMoveInsideSlice, + w = v.strTransform, + T = v.hasTransition, + k = v.handleSlicesExit, + A = v.makeUpdateSliceInterpolator, + M = v.makeUpdateTextInterpolator, + S = v.prevEntry, + E = t._context.staticPlot, + L = t._fullLayout, + C = e[0].trace, + O = -1 !== C.textposition.indexOf("left"), + P = -1 !== C.textposition.indexOf("right"), + I = -1 !== C.textposition.indexOf("bottom"), + D = (!I && !C.marker.pad.t) || (I && !C.marker.pad.b), + z = s(r, [g, y], { + packing: C.tiling.packing, + squarifyratio: C.tiling.squarifyratio, + flipX: C.tiling.flip.indexOf("x") > -1, + flipY: C.tiling.flip.indexOf("y") > -1, + pad: { + inner: C.tiling.pad, + top: C.marker.pad.t, + left: C.marker.pad.l, + right: C.marker.pad.r, + bottom: C.marker.pad.b, + }, + }).descendants(), + R = 1 / 0, + F = -1 / 0; + z.forEach(function (t) { + var e = t.depth; + e >= C._maxDepth + ? ((t.x0 = t.x1 = (t.x0 + t.x1) / 2), + (t.y0 = t.y1 = (t.y0 + t.y1) / 2)) + : ((R = Math.min(R, e)), (F = Math.max(F, e))); + }), + (d = d.data(z, c.getPtId)), + (C._maxVisibleLayers = isFinite(F) ? F - R + 1 : 0), + d.enter().append("g").classed("slice", !0), + k(d, p, {}, [g, y], b), + d.order(); + var B = null; + if (T && S) { + var N = c.getPtId(S); + d.each(function (t) { + null === B && + c.getPtId(t) === N && + (B = { x0: t.x0, x1: t.x1, y0: t.y0, y1: t.y1 }); + }); + } + var j = function () { + return B || { x0: 0, x1: g, y0: 0, y1: y }; + }, + U = d; + return ( + T && + (U = U.transition().each("end", function () { + var e = n.select(this); + c.setSliceCursor(e, t, { + hideOnRoot: !0, + hideOnLeaves: !1, + isTransitioning: !1, + }); + })), + U.each(function (s) { + var d = c.isHeader(s, C); + (s._x0 = m(s.x0)), + (s._x1 = m(s.x1)), + (s._y0 = x(s.y0)), + (s._y1 = x(s.y1)), + (s._hoverX = m(s.x1 - C.marker.pad.r)), + (s._hoverY = x( + I + ? s.y1 - C.marker.pad.b / 2 + : s.y0 + C.marker.pad.t / 2, + )); + var v = n.select(this), + k = i.ensureSingle( + v, + "path", + "surface", + function (t) { + t.style("pointer-events", E ? "none" : "all"); + }, + ); + T + ? k.transition().attrTween("d", function (t) { + var e = A(t, p, j(), [g, y]); + return function (t) { + return b(e(t)); + }; + }) + : k.attr("d", b), + v + .call(f, r, t, e, { + styleOne: l, + eventDataKeys: u.eventDataKeys, + transitionTime: u.CLICK_TRANSITION_TIME, + transitionEasing: u.CLICK_TRANSITION_EASING, + }) + .call(c.setSliceCursor, t, { + isTransitioning: t._transitioning, + }), + k.call(l, s, C, t, { hovered: !1 }), + s.x0 === s.x1 || s.y0 === s.y1 + ? (s._text = "") + : (s._text = d + ? D + ? "" + : c.getPtLabel(s) || "" + : h(s, r, C, e, L) || ""); + var S = i.ensureSingle(v, "g", "slicetext"), + z = i.ensureSingle(S, "text", "", function (t) { + t.attr("data-notex", 1); + }), + R = i.ensureUniformFontSize( + t, + c.determineTextFont(C, s, L.font), + ); + z + .text(s._text || " ") + .classed("slicetext", !0) + .attr( + "text-anchor", + P ? "end" : O || d ? "start" : "middle", + ) + .call(a.font, R) + .call(o.convertToTspans, t), + (s.textBB = a.bBox(z.node())), + (s.transform = _(s, { + fontSize: R.size, + isHeader: d, + })), + (s.transform.fontSize = R.size), + T + ? z + .transition() + .attrTween("transform", function (t) { + var e = M(t, p, j(), [g, y]); + return function (t) { + return w(e(t)); + }; + }) + : z.attr("transform", w(s)); + }), + B + ); + }; + }, + 14102: function (t) { + "use strict"; + t.exports = function t(e, r, n) { + var i; + n.swapXY && + ((i = e.x0), + (e.x0 = e.y0), + (e.y0 = i), + (i = e.x1), + (e.x1 = e.y1), + (e.y1 = i)), + n.flipX && + ((i = e.x0), + (e.x0 = r[0] - e.x1), + (e.x1 = r[0] - i)), + n.flipY && + ((i = e.y0), + (e.y0 = r[1] - e.y1), + (e.y1 = r[1] - i)); + var a = e.children; + if (a) for (var o = 0; o < a.length; o++) t(a[o], r, n); + }; + }, + 70954: function (t, e, r) { + "use strict"; + t.exports = { + moduleType: "trace", + name: "treemap", + basePlotModule: r(78018), + categories: [], + animatable: !0, + attributes: r(45802), + layoutAttributes: r(55479), + supplyDefaults: r(91174), + supplyLayoutDefaults: r(77182), + calc: r(65039).y, + crossTraceCalc: r(65039).T, + plot: r(5893), + style: r(96362).style, + colorbar: r(4898), + meta: {}, + }; + }, + 55479: function (t) { + "use strict"; + t.exports = { + treemapcolorway: { + valType: "colorlist", + editType: "calc", + }, + extendtreemapcolors: { + valType: "boolean", + dflt: !0, + editType: "calc", + }, + }; + }, + 77182: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(55479); + t.exports = function (t, e) { + function r(r, a) { + return n.coerce(t, e, i, r, a); + } + r("treemapcolorway", e.colorway), + r("extendtreemapcolors"); + }; + }, + 37210: function (t, e, r) { + "use strict"; + var n = r(674), + i = r(14102); + t.exports = function (t, e, r) { + var a, + o = r.flipX, + s = r.flipY, + l = "dice-slice" === r.packing, + u = r.pad[s ? "bottom" : "top"], + c = r.pad[o ? "right" : "left"], + f = r.pad[o ? "left" : "right"], + h = r.pad[s ? "top" : "bottom"]; + l && + ((a = c), + (c = u), + (u = a), + (a = f), + (f = h), + (h = a)); + var p = n + .treemap() + .tile( + (function (t, e) { + switch (t) { + case "squarify": + return n.treemapSquarify.ratio(e); + case "binary": + return n.treemapBinary; + case "dice": + return n.treemapDice; + case "slice": + return n.treemapSlice; + default: + return n.treemapSliceDice; + } + })(r.packing, r.squarifyratio), + ) + .paddingInner(r.pad.inner) + .paddingLeft(c) + .paddingRight(f) + .paddingTop(u) + .paddingBottom(h) + .size(l ? [e[1], e[0]] : e)(t); + return ( + (l || o || s) && + i(p, e, { swapXY: l, flipX: o, flipY: s }), + p + ); + }; + }, + 5893: function (t, e, r) { + "use strict"; + var n = r(80694), + i = r(52583); + t.exports = function (t, e, r, a) { + return n(t, e, r, a, { + type: "treemap", + drawDescendants: i, + }); + }; + }, + 46650: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(81684).sX, + a = r(2791), + o = r(71828), + s = r(97313).TEXTPAD, + l = r(17295).toMoveInsideBar, + u = r(72597).recordMinTextSize, + c = r(43473), + f = r(66209); + function h(t) { + return a.isHierarchyRoot(t) ? "" : a.getPtId(t); + } + t.exports = function (t, e, r, p, d) { + var v = t._fullLayout, + g = e[0], + y = g.trace, + m = "icicle" === y.type, + x = g.hierarchy, + b = a.findEntryWithLevel(x, y.level), + _ = n.select(r), + w = _.selectAll("g.pathbar"), + T = _.selectAll("g.slice"); + if (!b) return w.remove(), void T.remove(); + var k = a.isHierarchyRoot(b), + A = !v.uniformtext.mode && a.hasTransition(p), + M = a.getMaxDepth(y), + S = v._size, + E = y.domain, + L = S.w * (E.x[1] - E.x[0]), + C = S.h * (E.y[1] - E.y[0]), + O = L, + P = y.pathbar.thickness, + I = y.marker.line.width + c.gapWithPathbar, + D = y.pathbar.visible + ? y.pathbar.side.indexOf("bottom") > -1 + ? C + I + : -(P + I) + : 0, + z = { x0: O, x1: O, y0: D, y1: D + P }, + R = function (t, e, r) { + var n = y.tiling.pad, + i = function (t) { + return t - n <= e.x0; + }, + a = function (t) { + return t + n >= e.x1; + }, + o = function (t) { + return t - n <= e.y0; + }, + s = function (t) { + return t + n >= e.y1; + }; + return t.x0 === e.x0 && + t.x1 === e.x1 && + t.y0 === e.y0 && + t.y1 === e.y1 + ? { x0: t.x0, x1: t.x1, y0: t.y0, y1: t.y1 } + : { + x0: i(t.x0 - n) + ? 0 + : a(t.x0 - n) + ? r[0] + : t.x0, + x1: i(t.x1 + n) + ? 0 + : a(t.x1 + n) + ? r[0] + : t.x1, + y0: o(t.y0 - n) + ? 0 + : s(t.y0 - n) + ? r[1] + : t.y0, + y1: o(t.y1 + n) + ? 0 + : s(t.y1 + n) + ? r[1] + : t.y1, + }; + }, + F = null, + B = {}, + N = {}, + j = null, + U = function (t, e) { + return e ? B[h(t)] : N[h(t)]; + }; + g.hasMultipleRoots && k && M++, + (y._maxDepth = M), + (y._backgroundColor = v.paper_bgcolor), + (y._entryDepth = b.data.depth), + (y._atRootLevel = k); + var V = -L / 2 + S.l + (S.w * (E.x[1] + E.x[0])) / 2, + H = -C / 2 + S.t + S.h * (1 - (E.y[1] + E.y[0]) / 2), + q = function (t) { + return V + t; + }, + G = function (t) { + return H + t; + }, + Z = G(0), + W = q(0), + Y = function (t) { + return W + t; + }, + X = function (t) { + return Z + t; + }; + function J(t, e) { + return t + "," + e; + } + var K = Y(0), + $ = function (t) { + t.x = Math.max(K, t.x); + }, + Q = y.pathbar.edgeshape, + tt = y[m ? "tiling" : "marker"].pad, + et = function (t) { + return -1 !== y.textposition.indexOf(t); + }, + rt = et("top"), + nt = et("left"), + it = et("right"), + at = et("bottom"), + ot = function (t, e) { + var r = t.x0, + n = t.x1, + i = t.y0, + a = t.y1, + o = t.textBB, + c = + rt || (e.isHeader && !at) + ? "start" + : at + ? "end" + : "middle", + f = et("right"), + h = et("left") || e.onPathbar ? -1 : f ? 1 : 0; + if (e.isHeader) { + if ( + (r += (m ? tt : tt.l) - s) >= + (n -= (m ? tt : tt.r) - s) + ) { + var p = (r + n) / 2; + (r = p), (n = p); + } + var d; + at + ? i < (d = a - (m ? tt : tt.b)) && + d < a && + (i = d) + : i < (d = i + (m ? tt : tt.t)) && + d < a && + (a = d); + } + var g = l(r, n, i, a, o, { + isHorizontal: !1, + constrained: !0, + angle: 0, + anchor: c, + leftToRight: h, + }); + return ( + (g.fontSize = e.fontSize), + (g.targetX = q(g.targetX)), + (g.targetY = G(g.targetY)), + isNaN(g.targetX) || isNaN(g.targetY) + ? {} + : (r !== n && i !== a && u(y.type, g, v), + { + scale: g.scale, + rotate: g.rotate, + textX: g.textX, + textY: g.textY, + anchorX: g.anchorX, + anchorY: g.anchorY, + targetX: g.targetX, + targetY: g.targetY, + }) + ); + }, + st = function (t, e) { + for (var r, n = 0, i = t; !r && n < M; ) + n++, (i = i.parent) ? (r = U(i, e)) : (n = M); + return r || {}; + }, + lt = function (t, e, r, n, a) { + var s, + l = U(t, e); + if (l) s = l; + else if (e) s = z; + else if (F) + if (t.parent) { + var u = j || r; + u && !e + ? (s = R(t, u, n)) + : ((s = {}), o.extendFlat(s, st(t, e))); + } else + (s = o.extendFlat({}, t)), + m && + ("h" === a.orientation + ? a.flipX + ? (s.x0 = t.x1) + : (s.x1 = 0) + : a.flipY + ? (s.y0 = t.y1) + : (s.y1 = 0)); + else s = {}; + return i(s, { + x0: t.x0, + x1: t.x1, + y0: t.y0, + y1: t.y1, + }); + }, + ut = function (t, e, r, n) { + var s = U(t, e), + l = {}, + c = (function (t, e, r, n) { + if (e) return B[h(x)] || z; + var i = N[y.level] || r; + return (function (t) { + return t.data.depth - b.data.depth < M; + })(t) + ? R(t, i, n) + : {}; + })(t, e, r, n); + o.extendFlat(l, { + transform: ot( + { + x0: c.x0, + x1: c.x1, + y0: c.y0, + y1: c.y1, + textBB: t.textBB, + _text: t._text, + }, + { isHeader: a.isHeader(t, y) }, + ), + }), + s + ? (l = s) + : t.parent && o.extendFlat(l, st(t, e)); + var f = t.transform; + return ( + t.x0 !== t.x1 && t.y0 !== t.y1 && u(y.type, f, v), + i(l, { + transform: { + scale: f.scale, + rotate: f.rotate, + textX: f.textX, + textY: f.textY, + anchorX: f.anchorX, + anchorY: f.anchorY, + targetX: f.targetX, + targetY: f.targetY, + }, + }) + ); + }, + ct = function (t, e, r, a, o) { + var s = a[0], + l = a[1]; + A + ? t + .exit() + .transition() + .each(function () { + var t = n.select(this); + t + .select("path.surface") + .transition() + .attrTween("d", function (t) { + var r = (function (t, e, r, n) { + var a, + o = U(t, e); + if (e) a = z; + else { + var s = U(b, e); + a = s ? R(t, s, n) : {}; + } + return i(o, a); + })(t, e, 0, [s, l]); + return function (t) { + return o(r(t)); + }; + }), + t + .select("g.slicetext") + .attr("opacity", 0); + }) + .remove() + : t.exit().remove(); + }, + ft = function (t) { + var e = t.transform; + return ( + t.x0 !== t.x1 && t.y0 !== t.y1 && u(y.type, e, v), + o.getTextTransform({ + textX: e.textX, + textY: e.textY, + anchorX: e.anchorX, + anchorY: e.anchorY, + targetX: e.targetX, + targetY: e.targetY, + scale: e.scale, + rotate: e.rotate, + }) + ); + }; + A && + (w.each(function (t) { + (B[h(t)] = { + x0: t.x0, + x1: t.x1, + y0: t.y0, + y1: t.y1, + }), + t.transform && + (B[h(t)].transform = { + textX: t.transform.textX, + textY: t.transform.textY, + anchorX: t.transform.anchorX, + anchorY: t.transform.anchorY, + targetX: t.transform.targetX, + targetY: t.transform.targetY, + scale: t.transform.scale, + rotate: t.transform.rotate, + }); + }), + T.each(function (t) { + (N[h(t)] = { + x0: t.x0, + x1: t.x1, + y0: t.y0, + y1: t.y1, + }), + t.transform && + (N[h(t)].transform = { + textX: t.transform.textX, + textY: t.transform.textY, + anchorX: t.transform.anchorX, + anchorY: t.transform.anchorY, + targetX: t.transform.targetX, + targetY: t.transform.targetY, + scale: t.transform.scale, + rotate: t.transform.rotate, + }), + !F && a.isEntry(t) && (F = t); + })), + (j = d(t, e, b, T, { + width: L, + height: C, + viewX: q, + viewY: G, + pathSlice: function (t) { + var e = q(t.x0), + r = q(t.x1), + n = G(t.y0), + i = G(t.y1), + a = r - e, + o = i - n; + if (!a || !o) return ""; + var s = y.marker.cornerradius || 0, + l = Math.min(s, a / 2, o / 2); + l && + t.data && + t.data.data && + t.data.data.label && + (rt && (l = Math.min(l, tt.t)), + nt && (l = Math.min(l, tt.l)), + it && (l = Math.min(l, tt.r)), + at && (l = Math.min(l, tt.b))); + var u = function (t, e) { + return l + ? "a" + J(l, l) + " 0 0 1 " + J(t, e) + : ""; + }; + return ( + "M" + + J(e, n + l) + + u(l, -l) + + "L" + + J(r - l, n) + + u(l, l) + + "L" + + J(r, i - l) + + u(-l, l) + + "L" + + J(e + l, i) + + u(-l, -l) + + "Z" + ); + }, + toMoveInsideSlice: ot, + prevEntry: F, + makeUpdateSliceInterpolator: lt, + makeUpdateTextInterpolator: ut, + handleSlicesExit: ct, + hasTransition: A, + strTransform: ft, + })), + y.pathbar.visible + ? f(t, e, b, w, { + barDifY: D, + width: O, + height: P, + viewX: Y, + viewY: X, + pathSlice: function (t) { + var e = Y(Math.max(Math.min(t.x0, t.x0), 0)), + r = Y(Math.min(Math.max(t.x1, t.x1), O)), + n = X(t.y0), + i = X(t.y1), + a = P / 2, + o = {}, + s = {}; + (o.x = e), + (s.x = r), + (o.y = s.y = (n + i) / 2); + var l = { x: e, y: n }, + u = { x: r, y: n }, + c = { x: r, y: i }, + f = { x: e, y: i }; + return ( + ">" === Q + ? ((l.x -= a), + (u.x -= a), + (c.x -= a), + (f.x -= a)) + : "/" === Q + ? ((c.x -= a), + (f.x -= a), + (o.x -= a / 2), + (s.x -= a / 2)) + : "\\" === Q + ? ((l.x -= a), + (u.x -= a), + (o.x -= a / 2), + (s.x -= a / 2)) + : "<" === Q && ((o.x -= a), (s.x -= a)), + $(l), + $(f), + $(o), + $(u), + $(c), + $(s), + "M" + + J(l.x, l.y) + + "L" + + J(u.x, u.y) + + "L" + + J(s.x, s.y) + + "L" + + J(c.x, c.y) + + "L" + + J(f.x, f.y) + + "L" + + J(o.x, o.y) + + "Z" + ); + }, + toMoveInsideSlice: ot, + makeUpdateSliceInterpolator: lt, + makeUpdateTextInterpolator: ut, + handleSlicesExit: ct, + hasTransition: A, + strTransform: ft, + }) + : w.remove(); + }; + }, + 96362: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(7901), + a = r(71828), + o = r(2791), + s = r(72597).resizeText, + l = r(43467); + function u(t, e, r, n, s) { + var u, + c, + f = (s || {}).hovered, + h = e.data.data, + p = h.i, + d = h.color, + v = o.isHierarchyRoot(e), + g = 1; + if (f) + (u = r._hovered.marker.line.color), + (c = r._hovered.marker.line.width); + else if (v && d === r.root.color) + (g = 100), (u = "rgba(0,0,0,0)"), (c = 0); + else if ( + ((u = + a.castOption(r, p, "marker.line.color") || + i.defaultLine), + (c = a.castOption(r, p, "marker.line.width") || 0), + !r._hasColorscale && !e.onPathbar) + ) { + var y = r.marker.depthfade; + if (y) { + var m, + x = i.combine( + i.addOpacity(r._backgroundColor, 0.75), + d, + ); + if (!0 === y) { + var b = o.getMaxDepth(r); + m = isFinite(b) + ? o.isLeaf(e) + ? 0 + : r._maxVisibleLayers - + (e.data.depth - r._entryDepth) + : e.data.height + 1; + } else + (m = e.data.depth - r._entryDepth), + r._atRootLevel || m++; + if (m > 0) + for (var _ = 0; _ < m; _++) { + var w = (0.5 * _) / m; + d = i.combine(i.addOpacity(x, w), d); + } + } + } + t.call(l, e, r, n, d) + .style("stroke-width", c) + .call(i.stroke, u) + .style("opacity", g); + } + t.exports = { + style: function (t) { + var e = + t._fullLayout._treemaplayer.selectAll(".trace"); + s(t, e, "treemap"), + e.each(function (e) { + var r = n.select(this), + i = e[0].trace; + r.style("opacity", i.opacity), + r.selectAll("path.surface").each(function (e) { + n.select(this).call(u, e, i, t, { + hovered: !1, + }); + }); + }); + }, + styleOne: u, + }; + }, + 68875: function (t, e, r) { + "use strict"; + var n = r(53522), + i = r(1426).extendFlat, + a = r(12663).axisHoverFormat; + t.exports = { + y: n.y, + x: n.x, + x0: n.x0, + y0: n.y0, + xhoverformat: a("x"), + yhoverformat: a("y"), + name: i({}, n.name, {}), + orientation: i({}, n.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: n.fillcolor, + points: i({}, n.boxpoints, {}), + jitter: i({}, n.jitter, {}), + pointpos: i({}, n.pointpos, {}), + width: i({}, n.width, {}), + marker: n.marker, + text: n.text, + hovertext: n.hovertext, + hovertemplate: n.hovertemplate, + quartilemethod: n.quartilemethod, + box: { + visible: { + valType: "boolean", + dflt: !1, + editType: "plot", + }, + width: { + valType: "number", + min: 0, + max: 1, + dflt: 0.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: "calc", + }, + offsetgroup: n.offsetgroup, + alignmentgroup: n.alignmentgroup, + selected: n.selected, + unselected: n.unselected, + hoveron: { + valType: "flaglist", + flags: ["violins", "points", "kde"], + dflt: "violins+points+kde", + extras: ["all"], + editType: "style", + }, + }; + }, + 38603: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(48518), + o = r(60168), + s = r(50606).BADNUM; + function l(t, e, r) { + var i = e.max - e.min; + if (!i) return t.bandwidth ? t.bandwidth : 0; + if (t.bandwidth) return Math.max(t.bandwidth, i / 1e4); + var a = r.length, + o = n.stdev(r, a - 1, e.mean); + return Math.max( + (function (t, e, r) { + return ( + 1.059 * Math.min(e, r / 1.349) * Math.pow(t, -0.2) + ); + })(a, o, e.q3 - e.q1), + i / 100, + ); + } + function u(t, e, r, n) { + var a, + o = t.spanmode, + l = t.span || [], + u = [e.min, e.max], + c = [e.min - 2 * n, e.max + 2 * n]; + function f(n) { + var i = l[n], + a = + "multicategory" === r.type + ? r.r2c(i) + : r.d2c(i, 0, t[e.valLetter + "calendar"]); + return a === s ? c[n] : a; + } + var h = { + type: "linear", + range: (a = + "soft" === o ? c : "hard" === o ? u : [f(0), f(1)]), + }; + return i.setConvert(h), h.cleanRange(), a; + } + t.exports = function (t, e) { + var r = a(t, e); + if (r[0].t.empty) return r; + for ( + var s = t._fullLayout, + c = i.getFromId( + t, + e["h" === e.orientation ? "xaxis" : "yaxis"], + ), + f = 1 / 0, + h = -1 / 0, + p = 0, + d = 0, + v = 0; + v < r.length; + v++ + ) { + var g = r[v], + y = g.pts.map(o.extractVal), + m = (g.bandwidth = l(e, g, y)), + x = (g.span = u(e, g, c, m)); + if (g.min === g.max && 0 === m) + (x = g.span = [g.min, g.max]), + (g.density = [{ v: 1, t: x[0] }]), + (g.bandwidth = m), + (p = Math.max(p, 1)); + else { + var b = x[1] - x[0], + _ = Math.ceil(b / (m / 3)), + w = b / _; + if (!isFinite(w) || !isFinite(_)) + return ( + n.error( + "Something went wrong with computing the violin span", + ), + (r[0].t.empty = !0), + r + ); + var T = o.makeKDE(g, e, y); + g.density = new Array(_); + for ( + var k = 0, A = x[0]; + A < x[1] + w / 2; + k++, A += w + ) { + var M = T(A); + (g.density[k] = { v: M, t: A }), + (p = Math.max(p, M)); + } + } + (d = Math.max(d, y.length)), + (f = Math.min(f, x[0])), + (h = Math.max(h, x[1])); + } + var S = i.findExtremes(c, [f, h], { padded: !0 }); + if (((e._extremes[c._id] = S), e.width)) + r[0].t.maxKDE = p; + else { + var E = s._violinScaleGroupStats, + L = e.scalegroup, + C = E[L]; + C + ? ((C.maxKDE = Math.max(C.maxKDE, p)), + (C.maxCount = Math.max(C.maxCount, d))) + : (E[L] = { maxKDE: p, maxCount: d }); + } + return (r[0].t.labels.kde = n._(t, "kde:")), r; + }; + }, + 86403: function (t, e, r) { + "use strict"; + var n = r(37188).setPositionOffset, + i = ["v", "h"]; + t.exports = function (t, e) { + for ( + var r = t.calcdata, a = e.xaxis, o = e.yaxis, s = 0; + s < i.length; + s++ + ) { + for ( + var l = i[s], u = "h" === l ? o : a, c = [], f = 0; + f < r.length; + f++ + ) { + var h = r[f], + p = h[0].t, + d = h[0].trace; + !0 !== d.visible || + "violin" !== d.type || + p.empty || + d.orientation !== l || + d.xaxis !== a._id || + d.yaxis !== o._id || + c.push(f); + } + n("violin", t, c, u); + } + }; + }, + 15899: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(7901), + a = r(36411), + o = r(68875); + t.exports = function (t, e, r, s) { + function l(r, i) { + return n.coerce(t, e, o, r, i); + } + function u(r, i) { + return n.coerce2(t, e, o, r, i); + } + if ( + (a.handleSampleDefaults(t, e, l, s), !1 !== e.visible) + ) { + l("bandwidth"), + l("side"), + l("width") || + (l("scalegroup", e.name), l("scalemode")); + var c, + f = l("span"); + Array.isArray(f) && (c = "manual"), l("spanmode", c); + var h = l("line.color", (t.marker || {}).color || r), + p = l("line.width"), + d = l("fillcolor", i.addOpacity(e.line.color, 0.5)); + a.handlePointsDefaults(t, e, l, { prefix: "" }); + var v = u("box.width"), + g = u("box.fillcolor", d), + y = u("box.line.color", h), + m = u("box.line.width", p); + l("box.visible", Boolean(v || g || y || m)) || + (e.box = { visible: !1 }); + var x = u("meanline.color", h), + b = u("meanline.width", p); + l("meanline.visible", Boolean(x || b)) || + (e.meanline = { visible: !1 }), + l("quartilemethod"); + } + }; + }, + 60168: function (t, e, r) { + "use strict"; + var n = r(71828), + i = function (t) { + return ( + (1 / Math.sqrt(2 * Math.PI)) * + Math.exp(-0.5 * t * t) + ); + }; + (e.makeKDE = function (t, e, r) { + var n = r.length, + a = i, + o = t.bandwidth, + s = 1 / (n * o); + return function (t) { + for (var e = 0, i = 0; i < n; i++) + e += a((t - r[i]) / o); + return s * e; + }; + }), + (e.getPositionOnKdePath = function (t, e, r) { + var i, a; + "h" === e.orientation + ? ((i = "y"), (a = "x")) + : ((i = "x"), (a = "y")); + var o = n.findPointOnPath(t.path, r, a, { + pathLength: t.pathLength, + }), + s = t.posCenterPx, + l = o[i]; + return [l, "both" === e.side ? 2 * s - l : s]; + }), + (e.getKdeValue = function (t, r, n) { + var i = t.pts.map(e.extractVal); + return e.makeKDE(t, r, i)(n) / t.posDensityScale; + }), + (e.extractVal = function (t) { + return t.v; + }); + }, + 57634: function (t, e, r) { + "use strict"; + var n = r(7901), + i = r(71828), + a = r(89298), + o = r(41868), + s = r(60168); + t.exports = function (t, e, r, l, u) { + u || (u = {}); + var c, + f, + h = u.hoverLayer, + p = t.cd, + d = p[0].trace, + v = d.hoveron, + g = -1 !== v.indexOf("violins"), + y = -1 !== v.indexOf("kde"), + m = []; + if (g || y) { + var x = o.hoverOnBoxes(t, e, r, l); + if (y && x.length > 0) { + var b, + _, + w, + T, + k, + A = t.xa, + M = t.ya; + "h" === d.orientation + ? ((k = e), + (b = "y"), + (w = M), + (_ = "x"), + (T = A)) + : ((k = r), + (b = "x"), + (w = A), + (_ = "y"), + (T = M)); + var S = p[t.index]; + if (k >= S.span[0] && k <= S.span[1]) { + var E = i.extendFlat({}, t), + L = T.c2p(k, !0), + C = s.getKdeValue(S, d, k), + O = s.getPositionOnKdePath(S, d, L), + P = w._offset, + I = w._length; + (E[b + "0"] = O[0]), + (E[b + "1"] = O[1]), + (E[_ + "0"] = E[_ + "1"] = L), + (E[_ + "Label"] = + _ + + ": " + + a.hoverLabelText(T, k, d[_ + "hoverformat"]) + + ", " + + p[0].t.labels.kde + + " " + + C.toFixed(3)); + for (var D = 0, z = 0; z < x.length; z++) + if ("med" === x[z].attr) { + D = z; + break; + } + E.spikeDistance = x[D].spikeDistance; + var R = b + "Spike"; + (E[R] = x[D][R]), + (x[D].spikeDistance = void 0), + (x[D][R] = void 0), + (E.hovertemplate = !1), + m.push(E), + ((f = {})[b + "1"] = i.constrain( + P + O[0], + P, + P + I, + )), + (f[b + "2"] = i.constrain(P + O[1], P, P + I)), + (f[_ + "1"] = f[_ + "2"] = T._offset + L); + } + } + g && (m = m.concat(x)); + } + -1 !== v.indexOf("points") && + (c = o.hoverOnPoints(t, e, r)); + var F = h + .selectAll(".violinline-" + d.uid) + .data(f ? [0] : []); + return ( + F.enter() + .append("line") + .classed("violinline-" + d.uid, !0) + .attr("stroke-width", 1.5), + F.exit().remove(), + F.attr(f).call(n.stroke, t.color), + "closest" === l + ? c + ? [c] + : m + : c + ? (m.push(c), m) + : m + ); + }; + }, + 47462: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(68875), + layoutAttributes: r(9228), + supplyDefaults: r(15899), + crossTraceDefaults: r(36411).crossTraceDefaults, + supplyLayoutDefaults: r(33598), + calc: r(38603), + crossTraceCalc: r(86403), + plot: r(28443), + style: r(31847), + styleOnSelect: r(16296).styleOnSelect, + hoverPoints: r(57634), + selectPoints: r(24626), + moduleType: "trace", + name: "violin", + basePlotModule: r(93612), + categories: [ + "cartesian", + "svg", + "symbols", + "oriented", + "box-violin", + "showLegend", + "violinLayout", + "zoomScale", + ], + meta: {}, + }; + }, + 9228: function (t, e, r) { + "use strict"; + var n = r(40094), + i = r(71828).extendFlat; + t.exports = { + violinmode: i({}, n.boxmode, {}), + violingap: i({}, n.boxgap, {}), + violingroupgap: i({}, n.boxgroupgap, {}), + }; + }, + 33598: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(9228), + a = r(4199); + t.exports = function (t, e, r) { + a._supply( + t, + e, + r, + function (r, a) { + return n.coerce(t, e, i, r, a); + }, + "violin", + ); + }; + }, + 28443: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(91424), + o = r(86047), + s = r(34621), + l = r(60168); + t.exports = function (t, e, r, u) { + var c = t._context.staticPlot, + f = t._fullLayout, + h = e.xaxis, + p = e.yaxis; + function d(t, e) { + var r = s(t, { + xaxis: h, + yaxis: p, + trace: e, + connectGaps: !0, + baseTolerance: 0.75, + shape: "spline", + simplify: !0, + linearized: !0, + }); + return a.smoothopen(r[0], 1); + } + i.makeTraceGroups(u, r, "trace violins").each( + function (t) { + var r = n.select(this), + a = t[0], + s = a.t, + u = a.trace; + if (!0 !== u.visible || s.empty) r.remove(); + else { + var v = s.bPos, + g = s.bdPos, + y = e[s.valLetter + "axis"], + m = e[s.posLetter + "axis"], + x = "both" === u.side, + b = x || "positive" === u.side, + _ = x || "negative" === u.side, + w = r.selectAll("path.violin").data(i.identity); + w + .enter() + .append("path") + .style( + "vector-effect", + c ? "none" : "non-scaling-stroke", + ) + .attr("class", "violin"), + w.exit().remove(), + w.each(function (t) { + var e, + r, + i, + a, + o, + l, + c, + h, + p = n.select(this), + w = t.density, + T = w.length, + k = m.c2l(t.pos + v, !0), + A = m.l2p(k); + if (u.width) e = s.maxKDE / g; + else { + var M = + f._violinScaleGroupStats[u.scalegroup]; + e = + "count" === u.scalemode + ? (M.maxKDE / g) * + (M.maxCount / t.pts.length) + : M.maxKDE / g; + } + if (b) { + for (c = new Array(T), o = 0; o < T; o++) + ((h = c[o] = {})[s.posLetter] = + k + w[o].v / e), + (h[s.valLetter] = y.c2l(w[o].t, !0)); + r = d(c, u); + } + if (_) { + for ( + c = new Array(T), l = 0, o = T - 1; + l < T; + l++, o-- + ) + ((h = c[l] = {})[s.posLetter] = + k - w[o].v / e), + (h[s.valLetter] = y.c2l(w[o].t, !0)); + i = d(c, u); + } + if (x) a = r + "L" + i.substr(1) + "Z"; + else { + var S = [A, y.c2p(w[0].t)], + E = [A, y.c2p(w[T - 1].t)]; + "h" === u.orientation && + (S.reverse(), E.reverse()), + (a = b + ? "M" + S + "L" + r.substr(1) + "L" + E + : "M" + + E + + "L" + + i.substr(1) + + "L" + + S); + } + p.attr("d", a), + (t.posCenterPx = A), + (t.posDensityScale = e * g), + (t.path = p.node()), + (t.pathLength = + t.path.getTotalLength() / (x ? 2 : 1)); + }); + var T, + k, + A, + M = u.box, + S = M.width, + E = (M.line || {}).width; + x + ? ((T = g * S), (k = 0)) + : b + ? ((T = [0, (g * S) / 2]), + (k = E * { x: 1, y: -1 }[s.posLetter])) + : ((T = [(g * S) / 2, 0]), + (k = E * { x: -1, y: 1 }[s.posLetter])), + o.plotBoxAndWhiskers(r, { pos: m, val: y }, u, { + bPos: v, + bdPos: T, + bPosPxOffset: k, + }), + o.plotBoxMean(r, { pos: m, val: y }, u, { + bPos: v, + bdPos: T, + bPosPxOffset: k, + }), + !u.box.visible && + u.meanline.visible && + (A = i.identity); + var L = r + .selectAll("path.meanline") + .data(A || []); + L.enter() + .append("path") + .attr("class", "meanline") + .style("fill", "none") + .style( + "vector-effect", + c ? "none" : "non-scaling-stroke", + ), + L.exit().remove(), + L.each(function (t) { + var e = y.c2p(t.mean, !0), + r = l.getPositionOnKdePath(t, u, e); + n.select(this).attr( + "d", + "h" === u.orientation + ? "M" + e + "," + r[0] + "V" + r[1] + : "M" + r[0] + "," + e + "H" + r[1], + ); + }), + o.plotPoints(r, { x: h, y: p }, u, s); + } + }, + ); + }; + }, + 31847: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(7901), + a = r(16296).stylePoints; + t.exports = function (t) { + var e = n.select(t).selectAll("g.trace.violins"); + e.style("opacity", function (t) { + return t[0].trace.opacity; + }), + e.each(function (e) { + var r = e[0].trace, + o = n.select(this), + s = r.box || {}, + l = s.line || {}, + u = r.meanline || {}, + c = u.width; + o + .selectAll("path.violin") + .style("stroke-width", r.line.width + "px") + .call(i.stroke, r.line.color) + .call(i.fill, r.fillcolor), + o + .selectAll("path.box") + .style("stroke-width", l.width + "px") + .call(i.stroke, l.color) + .call(i.fill, s.fillcolor); + var f = { + "stroke-width": c + "px", + "stroke-dasharray": 2 * c + "px," + c + "px", + }; + o + .selectAll("path.mean") + .style(f) + .call(i.stroke, u.color), + o + .selectAll("path.meanline") + .style(f) + .call(i.stroke, u.color), + a(o, r, t); + }); + }; + }, + 16336: function (t, e, r) { + "use strict"; + var n = r(50693), + i = r(16249), + a = r(54532), + o = r(9012), + s = r(1426).extendFlat, + l = r(30962).overrideAll, + u = (t.exports = l( + s( + { + x: i.x, + y: i.y, + z: i.z, + value: i.value, + isomin: i.isomin, + isomax: i.isomax, + surface: i.surface, + spaceframe: { + show: { valType: "boolean", dflt: !1 }, + fill: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + }, + }, + slices: i.slices, + caps: i.caps, + text: i.text, + hovertext: i.hovertext, + xhoverformat: i.xhoverformat, + yhoverformat: i.yhoverformat, + zhoverformat: i.zhoverformat, + valuehoverformat: i.valuehoverformat, + hovertemplate: i.hovertemplate, + }, + n("", { + colorAttr: "`value`", + showScaleDflt: !0, + editTypeOverride: "calc", + }), + { + colorbar: i.colorbar, + opacity: i.opacity, + opacityscale: a.opacityscale, + lightposition: i.lightposition, + lighting: i.lighting, + flatshading: i.flatshading, + contour: i.contour, + hoverinfo: s({}, o.hoverinfo), + showlegend: s({}, o.showlegend, { dflt: !1 }), + }, + ), + "calc", + "nested", + )); + (u.x.editType = + u.y.editType = + u.z.editType = + u.value.editType = + "calc+clearAxisTypes"), + (u.transforms = void 0); + }, + 64809: function (t, e, r) { + "use strict"; + var n = r(9330).gl_mesh3d, + i = r(81697).parseColorScale, + a = r(78614), + o = r(21081).extractOpts, + s = r(90060), + l = r(22674).findNearestOnAxis, + u = r(22674).generateIsoMeshes; + function c(t, e, r) { + (this.scene = t), + (this.uid = r), + (this.mesh = e), + (this.name = ""), + (this.data = null), + (this.showContour = !1); + } + var f = c.prototype; + (f.handlePick = function (t) { + if (t.object === this.mesh) { + var e = t.data.index, + r = this.data._meshX[e], + n = this.data._meshY[e], + i = this.data._meshZ[e], + a = this.data._Ys.length, + o = this.data._Zs.length, + s = l(r, this.data._Xs).id, + u = l(n, this.data._Ys).id, + c = l(i, this.data._Zs).id, + f = (t.index = c + o * u + o * a * s); + t.traceCoordinate = [ + this.data._meshX[f], + this.data._meshY[f], + this.data._meshZ[f], + this.data._value[f], + ]; + var h = this.data.hovertext || this.data.text; + return ( + Array.isArray(h) && void 0 !== h[f] + ? (t.textLabel = h[f]) + : h && (t.textLabel = h), + !0 + ); + } + }), + (f.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 = u(t); + var l = { + positions: s( + n( + r.xaxis, + t._meshX, + e.dataScale[0], + t.xcalendar, + ), + n( + r.yaxis, + t._meshY, + e.dataScale[1], + t.ycalendar, + ), + n( + r.zaxis, + t._meshZ, + e.dataScale[2], + t.zcalendar, + ), + ), + cells: s(t._meshI, t._meshJ, t._meshK), + 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, + opacityscale: t.opacityscale, + contourEnable: t.contour.show, + contourColor: a(t.contour.color).slice(0, 3), + contourWidth: t.contour.width, + useFacetNormals: t.flatshading, + }, + c = o(t); + (l.vertexIntensity = t._meshIntensity), + (l.vertexIntensityBounds = [c.min, c.max]), + (l.colormap = i(t)), + this.mesh.update(l); + }), + (f.dispose = function () { + this.scene.glplot.remove(this.mesh), + this.mesh.dispose(); + }), + (t.exports = function (t, e) { + var r = t.glplot.gl, + i = n({ gl: r }), + a = new c(t, i, e.uid); + return ( + (i._trace = a), a.update(e), t.glplot.add(i), a + ); + }); + }, + 47651: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(16336), + a = r(82738).supplyIsoDefaults, + o = r(91831).opacityscaleDefaults; + t.exports = function (t, e, r, s) { + function l(r, a) { + return n.coerce(t, e, i, r, a); + } + a(t, e, r, s, l), o(t, e, s, l); + }; + }, + 17659: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(16336), + supplyDefaults: r(47651), + calc: r(56959), + colorbar: { min: "cmin", max: "cmax" }, + plot: r(64809), + moduleType: "trace", + name: "volume", + basePlotModule: r(58547), + categories: ["gl3d", "showLegend"], + meta: {}, + }; + }, + 43037: function (t, e, r) { + "use strict"; + var n = r(1486), + i = r(82196).line, + a = r(9012), + o = r(12663).axisHoverFormat, + s = r(5386).fF, + l = r(5386).si, + u = r(48334), + c = r(1426).extendFlat, + f = r(7901); + function h(t) { + return { + marker: { + color: c({}, n.marker.color, { + arrayOk: !1, + editType: "style", + }), + line: { + color: c({}, n.marker.line.color, { + arrayOk: !1, + editType: "style", + }), + width: c({}, n.marker.line.width, { + arrayOk: !1, + editType: "style", + }), + editType: "style", + }, + editType: "style", + }, + editType: "style", + }; + } + t.exports = { + measure: { + valType: "data_array", + dflt: [], + editType: "calc", + }, + base: { + valType: "number", + dflt: null, + arrayOk: !1, + editType: "calc", + }, + x: n.x, + x0: n.x0, + dx: n.dx, + y: n.y, + y0: n.y0, + dy: n.dy, + xperiod: n.xperiod, + yperiod: n.yperiod, + xperiod0: n.xperiod0, + yperiod0: n.yperiod0, + xperiodalignment: n.xperiodalignment, + yperiodalignment: n.yperiodalignment, + xhoverformat: o("x"), + yhoverformat: o("y"), + hovertext: n.hovertext, + hovertemplate: s({}, { keys: u.eventDataKeys }), + hoverinfo: c({}, a.hoverinfo, { + flags: [ + "name", + "x", + "y", + "text", + "initial", + "delta", + "final", + ], + }), + textinfo: { + valType: "flaglist", + flags: ["label", "text", "initial", "delta", "final"], + extras: ["none"], + editType: "plot", + arrayOk: !1, + }, + texttemplate: l( + { editType: "plot" }, + { keys: u.eventDataKeys.concat(["label"]) }, + ), + text: n.text, + textposition: n.textposition, + insidetextanchor: n.insidetextanchor, + textangle: n.textangle, + textfont: n.textfont, + insidetextfont: n.insidetextfont, + outsidetextfont: n.outsidetextfont, + constraintext: n.constraintext, + cliponaxis: n.cliponaxis, + orientation: n.orientation, + offset: n.offset, + width: n.width, + increasing: h(), + decreasing: h(), + totals: h(), + connector: { + line: { + color: c({}, i.color, { dflt: f.defaultLine }), + width: c({}, i.width, { editType: "plot" }), + dash: i.dash, + editType: "plot", + }, + mode: { + valType: "enumerated", + values: ["spanning", "between"], + dflt: "between", + editType: "plot", + }, + visible: { + valType: "boolean", + dflt: !0, + editType: "plot", + }, + editType: "plot", + }, + offsetgroup: n.offsetgroup, + alignmentgroup: n.alignmentgroup, + }; + }, + 52752: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(42973), + a = r(71828).mergeArray, + o = r(66279), + s = r(50606).BADNUM; + function l(t) { + return "a" === t || "absolute" === t; + } + function u(t) { + return "t" === t || "total" === t; + } + t.exports = function (t, e) { + var r, + c, + f, + h, + p, + d, + v = n.getFromId(t, e.xaxis || "x"), + g = n.getFromId(t, e.yaxis || "y"); + "h" === e.orientation + ? ((r = v.makeCalcdata(e, "x")), + (f = g.makeCalcdata(e, "y")), + (h = i(e, g, "y", f)), + (p = !!e.yperiodalignment), + (d = "y")) + : ((r = g.makeCalcdata(e, "y")), + (f = v.makeCalcdata(e, "x")), + (h = i(e, v, "x", f)), + (p = !!e.xperiodalignment), + (d = "x")), + (c = h.vals); + for ( + var y, + m = Math.min(c.length, r.length), + x = new Array(m), + b = 0, + _ = !1, + w = 0; + w < m; + w++ + ) { + var T = r[w] || 0, + k = !1; + (r[w] !== s || u(e.measure[w]) || l(e.measure[w])) && + w + 1 < m && + (r[w + 1] !== s || + u(e.measure[w + 1]) || + l(e.measure[w + 1])) && + (k = !0); + var A = (x[w] = { + i: w, + p: c[w], + s: T, + rawS: T, + cNext: k, + }); + l(e.measure[w]) + ? ((b = A.s), + (A.isSum = !0), + (A.dir = "totals"), + (A.s = b)) + : u(e.measure[w]) + ? ((A.isSum = !0), (A.dir = "totals"), (A.s = b)) + : ((A.isSum = !1), + (A.dir = + A.rawS < 0 ? "decreasing" : "increasing"), + (y = A.s), + (A.s = b + y), + (b += y)), + "totals" === A.dir && (_ = !0), + p && + ((x[w].orig_p = f[w]), + (x[w][d + "End"] = h.ends[w]), + (x[w][d + "Start"] = h.starts[w])), + e.ids && (A.id = String(e.ids[w])), + (A.v = (e.base || 0) + b); + } + return ( + x.length && (x[0].hasTotals = _), + a(e.text, x, "tx"), + a(e.hovertext, x, "htx"), + o(x, e), + x + ); + }; + }, + 48334: function (t) { + "use strict"; + t.exports = { + eventDataKeys: ["initial", "delta", "final"], + }; + }, + 70766: function (t, e, r) { + "use strict"; + var n = r(11661).setGroupPositions; + t.exports = function (t, e) { + var r, + i, + a = t._fullLayout, + o = t._fullData, + s = t.calcdata, + l = e.xaxis, + u = e.yaxis, + c = [], + f = [], + h = []; + for (i = 0; i < o.length; i++) { + var p = o[i]; + !0 === p.visible && + p.xaxis === l._id && + p.yaxis === u._id && + "waterfall" === p.type && + ((r = s[i]), + "h" === p.orientation ? h.push(r) : f.push(r), + c.push(r)); + } + var d = { + mode: a.waterfallmode, + norm: a.waterfallnorm, + gap: a.waterfallgap, + groupgap: a.waterfallgroupgap, + }; + for ( + n(t, l, u, f, d), n(t, u, l, h, d), i = 0; + i < c.length; + i++ + ) { + r = c[i]; + for (var v = 0; v < r.length; v++) { + var g = r[v]; + !1 === g.isSum && + (g.s0 += 0 === v ? 0 : r[v - 1].s), + v + 1 < r.length && + ((r[v].nextP0 = r[v + 1].p0), + (r[v].nextS0 = r[v + 1].s0)); + } + } + }; + }, + 83266: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(26125), + a = r(90769).handleText, + o = r(67513), + s = r(73927), + l = r(43037), + u = r(7901), + c = r(22372), + f = c.INCREASING.COLOR, + h = c.DECREASING.COLOR; + function p(t, e, r) { + t(e + ".marker.color", r), + t(e + ".marker.line.color", u.defaultLine), + t(e + ".marker.line.width"); + } + t.exports = { + supplyDefaults: function (t, e, r, i) { + function u(r, i) { + return n.coerce(t, e, l, r, i); + } + if (o(t, e, i, u)) { + s(t, e, i, u), + u("xhoverformat"), + u("yhoverformat"), + u("measure"), + u("orientation", e.x && !e.y ? "h" : "v"), + u("base"), + u("offset"), + u("width"), + u("text"), + u("hovertext"), + u("hovertemplate"); + var c = u("textposition"); + a(t, e, i, u, c, { + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !0, + moduleHasCliponaxis: !0, + moduleHasTextangle: !0, + moduleHasInsideanchor: !0, + }), + "none" !== e.textposition && + (u("texttemplate"), + e.texttemplate || u("textinfo")), + p(u, "increasing", f), + p(u, "decreasing", h), + p(u, "totals", "#4499FF"), + u("connector.visible") && + (u("connector.mode"), + u("connector.line.width") && + (u("connector.line.color"), + u("connector.line.dash"))); + } else e.visible = !1; + }, + crossTraceDefaults: function (t, e) { + var r, a; + function o(t) { + return n.coerce(a._input, a, l, t); + } + if ("group" === e.waterfallmode) + for (var s = 0; s < t.length; s++) + (r = (a = t[s])._input), i(r, a, e, o); + }, + }; + }, + 58593: function (t) { + "use strict"; + t.exports = function (t, e) { + return ( + (t.x = "xVal" in e ? e.xVal : e.x), + (t.y = "yVal" in e ? e.yVal : e.y), + "initial" in e && (t.initial = e.initial), + "delta" in e && (t.delta = e.delta), + "final" in e && (t.final = e.final), + e.xa && (t.xaxis = e.xa), + e.ya && (t.yaxis = e.ya), + t + ); + }; + }, + 61326: function (t, e, r) { + "use strict"; + var n = r(89298).hoverLabelText, + i = r(7901).opacity, + a = r(95423).hoverOnBars, + o = r(22372), + s = o.INCREASING.SYMBOL, + l = o.DECREASING.SYMBOL; + t.exports = function (t, e, r, o, u) { + var c = a(t, e, r, o, u); + if (c) { + var f = c.cd, + h = f[0].trace, + p = "h" === h.orientation, + d = p ? "x" : "y", + v = p ? t.xa : t.ya, + g = f[c.index], + y = g.isSum ? g.b + g.s : g.rawS; + (c.initial = g.b + g.s - y), + (c.delta = y), + (c.final = c.initial + c.delta); + var m = k(Math.abs(c.delta)); + (c.deltaLabel = y < 0 ? "(" + m + ")" : m), + (c.finalLabel = k(c.final)), + (c.initialLabel = k(c.initial)); + var x = g.hi || h.hoverinfo, + b = []; + if (x && "none" !== x && "skip" !== x) { + var _ = "all" === x, + w = x.split("+"), + T = function (t) { + return _ || -1 !== w.indexOf(t); + }; + g.isSum || + (!T("final") || + T(p ? "x" : "y") || + b.push(c.finalLabel), + T("delta") && + (y < 0 + ? b.push(c.deltaLabel + " " + l) + : b.push(c.deltaLabel + " " + s)), + T("initial") && + b.push("Initial: " + c.initialLabel)); + } + return ( + b.length && (c.extraText = b.join("
")), + (c.color = (function (t, e) { + var r = t[e.dir].marker, + n = r.color, + a = r.line.color, + o = r.line.width; + return i(n) ? n : i(a) && o ? a : void 0; + })(h, g)), + [c] + ); + } + function k(t) { + return n(v, t, h[d + "hoverformat"]); + } + }; + }, + 19990: function (t, e, r) { + "use strict"; + t.exports = { + attributes: r(43037), + layoutAttributes: r(13494), + supplyDefaults: r(83266).supplyDefaults, + crossTraceDefaults: r(83266).crossTraceDefaults, + supplyLayoutDefaults: r(5176), + calc: r(52752), + crossTraceCalc: r(70766), + plot: r(30436), + style: r(55750).style, + hoverPoints: r(61326), + eventData: r(58593), + selectPoints: r(81974), + moduleType: "trace", + name: "waterfall", + basePlotModule: r(93612), + categories: [ + "bar-like", + "cartesian", + "svg", + "oriented", + "showLegend", + "zoomScale", + ], + meta: {}, + }; + }, + 13494: function (t) { + "use strict"; + t.exports = { + waterfallmode: { + valType: "enumerated", + values: ["group", "overlay"], + dflt: "group", + editType: "calc", + }, + waterfallgap: { + valType: "number", + min: 0, + max: 1, + editType: "calc", + }, + waterfallgroupgap: { + valType: "number", + min: 0, + max: 1, + dflt: 0, + editType: "calc", + }, + }; + }, + 5176: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(13494); + t.exports = function (t, e, r) { + var a = !1; + function o(r, a) { + return n.coerce(t, e, i, r, a); + } + for (var s = 0; s < r.length; s++) { + var l = r[s]; + if (l.visible && "waterfall" === l.type) { + a = !0; + break; + } + } + a && + (o("waterfallmode"), + o("waterfallgap", 0.2), + o("waterfallgroupgap")); + }; + }, + 30436: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(71828), + a = r(91424), + o = r(50606).BADNUM, + s = r(17295), + l = r(72597).clearMinTextSize; + t.exports = function (t, e, r, u) { + var c = t._fullLayout; + l("waterfall", c), + s.plot(t, e, r, u, { + mode: c.waterfallmode, + norm: c.waterfallmode, + gap: c.waterfallgap, + groupgap: c.waterfallgroupgap, + }), + (function (t, e, r, s) { + var l = e.xaxis, + u = e.yaxis; + i.makeTraceGroups(s, r, "trace bars").each( + function (r) { + var s = n.select(this), + c = r[0].trace, + f = i.ensureSingle(s, "g", "lines"); + if (c.connector && c.connector.visible) { + var h = "h" === c.orientation, + p = c.connector.mode, + d = f.selectAll("g.line").data(i.identity); + d.enter().append("g").classed("line", !0), + d.exit().remove(); + var v = d.size(); + d.each(function (r, s) { + if (s === v - 1 || r.cNext) { + var c = (function (t, e, r, n) { + var i = [], + a = [], + o = n ? e : r, + s = n ? r : e; + return ( + (i[0] = o.c2p(t.s0, !0)), + (a[0] = s.c2p(t.p0, !0)), + (i[1] = o.c2p(t.s1, !0)), + (a[1] = s.c2p(t.p1, !0)), + (i[2] = o.c2p(t.nextS0, !0)), + (a[2] = s.c2p(t.nextP0, !0)), + n ? [i, a] : [a, i] + ); + })(r, l, u, h), + f = c[0], + d = c[1], + g = ""; + f[0] !== o && + d[0] !== o && + f[1] !== o && + d[1] !== o && + ("spanning" === p && + !r.isSum && + s > 0 && + (g += h + ? "M" + + f[0] + + "," + + d[1] + + "V" + + d[0] + : "M" + + f[1] + + "," + + d[0] + + "H" + + f[0]), + "between" !== p && + (r.isSum || s < v - 1) && + (g += h + ? "M" + + f[1] + + "," + + d[0] + + "V" + + d[1] + : "M" + + f[0] + + "," + + d[1] + + "H" + + f[1]), + f[2] !== o && + d[2] !== o && + (g += h + ? "M" + + f[1] + + "," + + d[1] + + "V" + + d[2] + : "M" + + f[1] + + "," + + d[1] + + "H" + + f[2])), + "" === g && (g = "M0,0Z"), + i + .ensureSingle(n.select(this), "path") + .attr("d", g) + .call(a.setClipUrl, e.layerClipId, t); + } + }); + } else f.remove(); + }, + ); + })(t, e, r, u); + }; + }, + 55750: function (t, e, r) { + "use strict"; + var n = r(39898), + i = r(91424), + a = r(7901), + o = r(37822).DESELECTDIM, + s = r(16688), + l = r(72597).resizeText, + u = s.styleTextPoints; + t.exports = { + style: function (t, e, r) { + var s = + r || + n + .select(t) + .selectAll("g.waterfalllayer") + .selectAll("g.trace"); + l(t, s, "waterfall"), + s.style("opacity", function (t) { + return t[0].trace.opacity; + }), + s.each(function (e) { + var r = n.select(this), + s = e[0].trace; + r.selectAll(".point > path").each(function (t) { + if (!t.isBlank) { + var e = s[t.dir].marker; + n.select(this) + .call(a.fill, e.color) + .call(a.stroke, e.line.color) + .call(i.dashLine, e.line.dash, e.line.width) + .style( + "opacity", + s.selectedpoints && !t.selected ? o : 1, + ); + } + }), + u(r, s, t), + r.selectAll(".lines").each(function () { + var t = s.connector.line; + i.lineGroupStyle( + n.select(this).selectAll("path"), + t.width, + t.color, + t.dash, + ); + }); + }); + }, + }; + }, + 82887: function (t, e, r) { + "use strict"; + var n = r(89298), + i = r(71828), + a = r(86281), + o = r(79344).p, + s = r(50606).BADNUM; + (e.moduleType = "transform"), (e.name = "aggregate"); + var l = (e.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", + "change", + "range", + ], + 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", + }), + u = l.aggregations; + function c(t, e, r, a) { + if (a.enabled) { + for ( + var o = a.target, + l = i.nestedProperty(e, o), + u = l.get(), + c = (function (t, e) { + var r = t.func, + n = e.d2c, + a = e.c2d; + switch (r) { + case "count": + return f; + case "first": + return h; + case "last": + return p; + case "sum": + return function (t, e) { + for ( + var r = 0, i = 0; + i < e.length; + i++ + ) { + var o = n(t[e[i]]); + o !== s && (r += o); + } + return a(r); + }; + case "avg": + return function (t, e) { + for ( + var r = 0, i = 0, o = 0; + o < e.length; + o++ + ) { + var l = n(t[e[o]]); + l !== s && ((r += l), i++); + } + return i ? a(r / i) : s; + }; + case "min": + return function (t, e) { + for ( + var r = 1 / 0, i = 0; + i < e.length; + i++ + ) { + var o = n(t[e[i]]); + o !== s && (r = Math.min(r, o)); + } + return r === 1 / 0 ? s : a(r); + }; + case "max": + return function (t, e) { + for ( + var r = -1 / 0, i = 0; + i < e.length; + i++ + ) { + var o = n(t[e[i]]); + o !== s && (r = Math.max(r, o)); + } + return r === -1 / 0 ? s : a(r); + }; + case "range": + return function (t, e) { + for ( + var r = 1 / 0, i = -1 / 0, o = 0; + o < e.length; + o++ + ) { + var l = n(t[e[o]]); + l !== s && + ((r = Math.min(r, l)), + (i = Math.max(i, l))); + } + return i === -1 / 0 || r === 1 / 0 + ? s + : a(i - r); + }; + case "change": + return function (t, e) { + var r = n(t[e[0]]), + i = n(t[e[e.length - 1]]); + return r === s || i === s ? s : a(i - r); + }; + case "median": + return function (t, e) { + for ( + var r = [], o = 0; + o < e.length; + o++ + ) { + var l = n(t[e[o]]); + l !== s && r.push(l); + } + if (!r.length) return s; + r.sort(i.sorterAsc); + var u = (r.length - 1) / 2; + return a( + (r[Math.floor(u)] + r[Math.ceil(u)]) / + 2, + ); + }; + case "mode": + return function (t, e) { + for ( + var r = {}, i = 0, o = s, l = 0; + l < e.length; + l++ + ) { + var u = n(t[e[l]]); + if (u !== s) { + var c = (r[u] = (r[u] || 0) + 1); + c > i && ((i = c), (o = u)); + } + } + return i ? a(o) : s; + }; + case "rms": + return function (t, e) { + for ( + var r = 0, i = 0, o = 0; + o < e.length; + o++ + ) { + var l = n(t[e[o]]); + l !== s && ((r += l * l), i++); + } + return i ? a(Math.sqrt(r / i)) : s; + }; + case "stddev": + return function (e, r) { + var i, + a = 0, + o = 0, + l = 1, + u = s; + for (i = 0; i < r.length && u === s; i++) + u = n(e[r[i]]); + if (u === s) return s; + for (; i < r.length; i++) { + var c = n(e[r[i]]); + if (c !== s) { + var f = c - u; + (a += f), (o += f * f), l++; + } + } + var h = + "sample" === t.funcmode ? l - 1 : l; + return h + ? Math.sqrt((o - (a * a) / l) / h) + : 0; + }; + } + })(a, n.getDataConversions(t, e, o, u)), + d = new Array(r.length), + v = 0; + v < r.length; + v++ + ) + d[v] = c(u, r[v]); + l.set(d), + "count" === a.func && + i.pushUnique(e._arrayAttrs, o); + } + } + function f(t, e) { + return e.length; + } + function h(t, e) { + return t[e[0]]; + } + function p(t, e) { + return t[e[e.length - 1]]; + } + (e.supplyDefaults = function (t, e) { + var r, + n = {}; + function o(e, r) { + return i.coerce(t, n, l, e, r); + } + if (!o("enabled")) return n; + var s = a.findArrayAttributes(e), + c = {}; + for (r = 0; r < s.length; r++) c[s[r]] = 1; + var f = o("groups"); + if (!Array.isArray(f)) { + if (!c[f]) return (n.enabled = !1), n; + c[f] = 0; + } + var h, + p = t.aggregations || [], + d = (n.aggregations = new Array(p.length)); + function v(t, e) { + return i.coerce(p[r], h, u, t, e); + } + for (r = 0; r < p.length; r++) { + h = { _index: r }; + var g = v("target"), + y = v("func"); + v("enabled") && + g && + (c[g] || ("count" === y && void 0 === c[g])) + ? ("stddev" === y && v("funcmode"), + (c[g] = 0), + (d[r] = h)) + : (d[r] = { enabled: !1, _index: r }); + } + for (r = 0; r < s.length; r++) + c[s[r]] && + d.push({ + target: s[r], + func: u.func.dflt, + enabled: !0, + _index: -1, + }); + return n; + }), + (e.calcTransform = function (t, e, r) { + if (r.enabled) { + var n = r.groups, + a = i.getTargetArray(e, { target: n }); + if (a) { + var s, + l, + u, + f, + h = {}, + p = {}, + d = [], + v = o(e.transforms, r), + g = a.length; + for ( + e._length && (g = Math.min(g, e._length)), + s = 0; + s < g; + s++ + ) + void 0 === (u = h[(l = a[s])]) + ? ((h[l] = d.length), + (f = [s]), + d.push(f), + (p[h[l]] = v(s))) + : (d[u].push(s), + (p[h[l]] = (p[h[l]] || []).concat(v(s)))); + r._indexToPoints = p; + var y = r.aggregations; + for (s = 0; s < y.length; s++) c(t, e, d, y[s]); + "string" == typeof n && + c(t, e, d, { + target: n, + func: "first", + enabled: !0, + }), + (e._length = d.length); + } + } + }); + }, + 14382: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(73972), + a = r(89298), + o = r(79344).p, + s = r(74808), + l = s.COMPARISON_OPS, + u = s.INTERVAL_OPS, + c = s.SET_OPS; + (e.moduleType = "transform"), + (e.name = "filter"), + (e.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(l).concat(u).concat(c), + dflt: "=", + editType: "calc", + }, + value: { valType: "any", dflt: 0, editType: "calc" }, + preservegaps: { + valType: "boolean", + dflt: !1, + editType: "calc", + }, + editType: "calc", + }), + (e.supplyDefaults = function (t) { + var r = {}; + function a(i, a) { + return n.coerce(t, r, e.attributes, i, a); + } + if (a("enabled")) { + var o = a("target"); + if (n.isArrayOrTypedArray(o) && 0 === o.length) + return (r.enabled = !1), r; + a("preservegaps"), a("operation"), a("value"); + var s = i.getComponentMethod( + "calendars", + "handleDefaults", + ); + s(t, r, "valuecalendar", null), + s(t, r, "targetcalendar", null); + } + return r; + }), + (e.calcTransform = function (t, e, r) { + if (r.enabled) { + var i = n.getTargetArray(e, r); + if (i) { + var s = r.target, + f = i.length; + e._length && (f = Math.min(f, e._length)); + var h = r.targetcalendar, + p = e._arrayAttrs, + d = r.preservegaps; + if ("string" == typeof s) { + var v = n + .nestedProperty(e, s + "calendar") + .get(); + v && (h = v); + } + var g, + y, + m = (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, + f = function (r) { + return e(r, 0, t.valuecalendar); + }, + h = function (t) { + return e(t, 0, r); + }; + switch ( + (o(l) + ? (s = f(a ? i[0] : i)) + : o(u) + ? (s = a + ? [f(i[0]), f(i[1])] + : [f(i), f(i)]) + : o(c) && (s = a ? i.map(f) : [f(i)]), + n) + ) { + case "=": + return function (t) { + return h(t) === s; + }; + case "!=": + return function (t) { + return h(t) !== s; + }; + case "<": + return function (t) { + return h(t) < s; + }; + case "<=": + return function (t) { + return h(t) <= s; + }; + case ">": + return function (t) { + return h(t) > s; + }; + case ">=": + return function (t) { + return h(t) >= s; + }; + case "[]": + return function (t) { + var e = h(t); + return e >= s[0] && e <= s[1]; + }; + case "()": + return function (t) { + var e = h(t); + return e > s[0] && e < s[1]; + }; + case "[)": + return function (t) { + var e = h(t); + return e >= s[0] && e < s[1]; + }; + case "(]": + return function (t) { + var e = h(t); + return e > s[0] && e <= s[1]; + }; + case "][": + return function (t) { + var e = h(t); + return e <= s[0] || e >= s[1]; + }; + case ")(": + return function (t) { + var e = h(t); + return e < s[0] || e > s[1]; + }; + case "](": + return function (t) { + var e = h(t); + return e <= s[0] || e > s[1]; + }; + case ")[": + return function (t) { + var e = h(t); + return e < s[0] || e >= s[1]; + }; + case "{}": + return function (t) { + return -1 !== s.indexOf(h(t)); + }; + case "}{": + return function (t) { + return -1 === s.indexOf(h(t)); + }; + } + })(r, a.getDataToCoordFunc(t, e, s, i), h), + x = {}, + b = {}, + _ = 0; + d + ? ((g = function (t) { + (x[t.astr] = n.extendDeep([], t.get())), + t.set(new Array(f)); + }), + (y = function (t, e) { + var r = x[t.astr][e]; + t.get()[e] = r; + })) + : ((g = function (t) { + (x[t.astr] = n.extendDeep([], t.get())), + t.set([]); + }), + (y = function (t, e) { + var r = x[t.astr][e]; + t.get().push(r); + })), + k(g); + for ( + var w = o(e.transforms, r), T = 0; + T < f; + T++ + ) + m(i[T]) ? (k(y, T), (b[_++] = w(T))) : d && _++; + (r._indexToPoints = b), (e._length = _); + } + } + function k(t, r) { + for (var i = 0; i < p.length; i++) + t(n.nestedProperty(e, p[i]), r); + } + }); + }, + 43102: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(86281), + a = r(74875), + o = r(79344).p; + function s(t, e) { + var r, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g = e.transform, + y = e.transformIndex, + m = t.transforms[y].groups, + x = o(t.transforms, g); + if (!n.isArrayOrTypedArray(m) || 0 === m.length) + return [t]; + var b = n.filterUnique(m), + _ = new Array(b.length), + w = m.length, + T = i.findArrayAttributes(t), + k = g.styles || [], + A = {}; + for (r = 0; r < k.length; r++) + A[k[r].target] = k[r].value; + g.styles && + (v = n.keyedContainer( + g, + "styles", + "target", + "value.name", + )); + var M = {}, + S = {}; + for (r = 0; r < b.length; r++) { + (M[(f = b[r])] = r), + (S[f] = 0), + ((h = _[r] = n.extendDeepNoArrays({}, t))._group = + f), + (h.transforms[y]._indexToPoints = {}); + var E = null; + for ( + v && (E = v.get(f)), + h.name = + E || "" === E + ? E + : n.templateString(g.nameformat, { + trace: t.name, + group: f, + }), + p = h.transforms, + h.transforms = [], + s = 0; + s < p.length; + s++ + ) + h.transforms[s] = n.extendDeepNoArrays({}, p[s]); + for (s = 0; s < T.length; s++) + n.nestedProperty(h, T[s]).set([]); + } + for (l = 0; l < T.length; l++) { + for (u = T[l], s = 0, d = []; s < b.length; s++) + d[s] = n.nestedProperty(_[s], u).get(); + for ( + c = n.nestedProperty(t, u).get(), s = 0; + s < w; + s++ + ) + d[M[m[s]]].push(c[s]); + } + for (s = 0; s < w; s++) + ((h = _[M[m[s]]]).transforms[y]._indexToPoints[ + S[m[s]] + ] = x(s)), + S[m[s]]++; + for (r = 0; r < b.length; r++) + (f = b[r]), + (h = _[r]), + a.clearExpandedTraceDefaultColors(h), + (h = n.extendDeepNoArrays(h, A[f] || {})); + return _; + } + (e.moduleType = "transform"), + (e.name = "groupby"), + (e.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", + _compareAsJSON: !0, + }, + editType: "calc", + }, + editType: "calc", + }), + (e.supplyDefaults = function (t, r, i) { + var a, + o = {}; + function s(r, i) { + return n.coerce(t, o, e.attributes, r, i); + } + if (!s("enabled")) return o; + s("groups"), + s( + "nameformat", + i._dataLength > 1 + ? "%{group} (%{trace})" + : "%{group}", + ); + var l = t.styles, + u = (o.styles = []); + if (l) + for (a = 0; a < l.length; a++) { + var c = (u[a] = {}); + n.coerce( + l[a], + u[a], + e.attributes.styles, + "target", + ); + var f = n.coerce( + l[a], + u[a], + e.attributes.styles, + "value", + ); + n.isPlainObject(f) + ? (c.value = n.extendDeep({}, f)) + : f && delete c.value; + } + return o; + }), + (e.transform = function (t, e) { + var r, + n, + i, + a = []; + for (n = 0; n < t.length; n++) + for (r = s(t[n], e), i = 0; i < r.length; i++) + a.push(r[i]); + return a; + }); + }, + 79344: function (t, e) { + "use strict"; + e.p = 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); + var a = n + ? function (t) { + return n[t]; + } + : function (t) { + return [t]; + }; + return a; + }; + }, + 32275: function (t, e, r) { + "use strict"; + var n = r(71828), + i = r(89298), + a = r(79344).p, + o = r(50606).BADNUM; + (e.moduleType = "transform"), + (e.name = "sort"), + (e.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", + }), + (e.supplyDefaults = function (t) { + var r = {}; + function i(i, a) { + return n.coerce(t, r, e.attributes, i, a); + } + return i("enabled") && (i("target"), i("order")), r; + }), + (e.calcTransform = function (t, e, r) { + if (r.enabled) { + var s = n.getTargetArray(e, r); + if (s) { + var l = r.target, + u = s.length; + e._length && (u = Math.min(u, e._length)); + var c, + f, + h = e._arrayAttrs, + p = (function (t, e, r, n) { + var i, + a = new Array(n), + s = new Array(n); + for (i = 0; i < n; i++) a[i] = { v: e[i], i }; + for ( + a.sort( + (function (t, e) { + switch (t.order) { + case "ascending": + return function (t, r) { + var n = e(t.v), + i = e(r.v); + return n === o + ? 1 + : i === o + ? -1 + : n - i; + }; + case "descending": + return function (t, r) { + var n = e(t.v), + i = e(r.v); + return n === o + ? 1 + : i === o + ? -1 + : i - n; + }; + } + })(t, r), + ), + i = 0; + i < n; + i++ + ) + s[i] = a[i].i; + return s; + })(r, s, i.getDataToCoordFunc(t, e, l, s), u), + d = a(e.transforms, r), + v = {}; + for (c = 0; c < h.length; c++) { + var g = n.nestedProperty(e, h[c]), + y = g.get(), + m = new Array(u); + for (f = 0; f < u; f++) m[f] = y[p[f]]; + g.set(m); + } + for (f = 0; f < u; f++) v[f] = d(p[f]); + (r._indexToPoints = v), (e._length = u); + } + } + }); + }, + 11506: function (t, e) { + "use strict"; + e.version = "2.26.0"; + }, + 9330: function (t, e, r) { + var n, + i = r(90386); + self, + (n = function () { + return (function () { + var t = { + 7386: function (t, e, r) { + t.exports = { + alpha_shape: r(2350), + convex_hull: r(5537), + delaunay_triangulate: r(4419), + gl_cone3d: r(1140), + gl_error3d: r(3110), + gl_heatmap2d: r(6386), + gl_line3d: r(6086), + gl_mesh3d: r(8116), + gl_plot2d: r(2117), + gl_plot3d: r(1059), + gl_pointcloud2d: r(8271), + gl_scatter3d: r(2182), + gl_select_box: r(6623), + gl_spikes2d: r(3050), + gl_streamtube3d: r(7307), + gl_surface3d: r(3754), + ndarray: r(5050), + ndarray_linear_interpolate: r(3581), + }; + }, + 2146: function (t, e, r) { + "use strict"; + function n(t, e) { + if (!(t instanceof e)) + throw new TypeError( + "Cannot call a class as a function", + ); + } + function i(t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r]; + (n.enumerable = n.enumerable || !1), + (n.configurable = !0), + "value" in n && (n.writable = !0), + Object.defineProperty(t, n.key, n); + } + } + function a(t, e) { + return ( + (a = Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function (t, e) { + return (t.__proto__ = e), t; + }), + a(t, e) + ); + } + function o(t, e) { + if ( + e && + ("object" === u(e) || + "function" == typeof e) + ) + return e; + if (void 0 !== e) + throw new TypeError( + "Derived constructors may only return object or undefined", + ); + return s(t); + } + function s(t) { + if (void 0 === t) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called", + ); + return t; + } + function l(t) { + return ( + (l = Object.setPrototypeOf + ? Object.getPrototypeOf.bind() + : function (t) { + return ( + t.__proto__ || + Object.getPrototypeOf(t) + ); + }), + l(t) + ); + } + function u(t) { + return ( + (u = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function (t) { + return typeof t; + } + : function (t) { + return t && + "function" == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? "symbol" + : typeof t; + }), + u(t) + ); + } + var c = r(3910), + f = r(3187), + h = + "function" == typeof Symbol && + "function" == typeof Symbol.for + ? Symbol.for( + "nodejs.util.inspect.custom", + ) + : null; + (e.lW = v), (e.h2 = 50); + var p = 2147483647; + function d(t) { + if (t > p) + throw new RangeError( + 'The value "' + + t + + '" is invalid for option "size"', + ); + var e = new Uint8Array(t); + return ( + Object.setPrototypeOf(e, v.prototype), e + ); + } + function v(t, e, r) { + if ("number" == typeof t) { + if ("string" == typeof e) + throw new TypeError( + 'The "string" argument must be of type string. Received type number', + ); + return m(t); + } + return g(t, e, r); + } + function g(t, e, r) { + if ("string" == typeof t) + return (function (t, e) { + if ( + (("string" == typeof e && "" !== e) || + (e = "utf8"), + !v.isEncoding(e)) + ) + throw new TypeError( + "Unknown encoding: " + e, + ); + var r = 0 | w(t, e), + n = d(r), + i = n.write(t, e); + return ( + i !== r && (n = n.slice(0, i)), n + ); + })(t, e); + if (ArrayBuffer.isView(t)) + return (function (t) { + if (rt(t, Uint8Array)) { + var e = new Uint8Array(t); + return b( + e.buffer, + e.byteOffset, + e.byteLength, + ); + } + return x(t); + })(t); + if (null == t) + throw new TypeError( + "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + + u(t), + ); + if ( + rt(t, ArrayBuffer) || + (t && rt(t.buffer, ArrayBuffer)) + ) + return b(t, e, r); + if ( + "undefined" != typeof SharedArrayBuffer && + (rt(t, SharedArrayBuffer) || + (t && rt(t.buffer, SharedArrayBuffer))) + ) + return b(t, e, r); + if ("number" == typeof t) + throw new TypeError( + 'The "value" argument must not be of type number. Received type number', + ); + var n = t.valueOf && t.valueOf(); + if (null != n && n !== t) + return v.from(n, e, r); + var i = (function (t) { + if (v.isBuffer(t)) { + var e = 0 | _(t.length), + r = d(e); + return ( + 0 === r.length || t.copy(r, 0, 0, e), + r + ); + } + return void 0 !== t.length + ? "number" != typeof t.length || + nt(t.length) + ? d(0) + : x(t) + : "Buffer" === t.type && + Array.isArray(t.data) + ? x(t.data) + : void 0; + })(t); + if (i) return i; + if ( + "undefined" != typeof Symbol && + null != Symbol.toPrimitive && + "function" == typeof t[Symbol.toPrimitive] + ) + return v.from( + t[Symbol.toPrimitive]("string"), + e, + r, + ); + throw new TypeError( + "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + + u(t), + ); + } + function y(t) { + if ("number" != typeof t) + throw new TypeError( + '"size" argument must be of type number', + ); + if (t < 0) + throw new RangeError( + 'The value "' + + t + + '" is invalid for option "size"', + ); + } + function m(t) { + return y(t), d(t < 0 ? 0 : 0 | _(t)); + } + function x(t) { + for ( + var e = + t.length < 0 ? 0 : 0 | _(t.length), + r = d(e), + n = 0; + n < e; + n += 1 + ) + r[n] = 255 & t[n]; + return r; + } + function b(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; + return ( + (n = + void 0 === e && void 0 === r + ? new Uint8Array(t) + : void 0 === r + ? new Uint8Array(t, e) + : new Uint8Array(t, e, r)), + Object.setPrototypeOf(n, v.prototype), + n + ); + } + function _(t) { + if (t >= p) + throw new RangeError( + "Attempt to allocate Buffer larger than maximum size: 0x" + + p.toString(16) + + " bytes", + ); + return 0 | t; + } + function w(t, e) { + if (v.isBuffer(t)) return t.length; + if ( + ArrayBuffer.isView(t) || + rt(t, ArrayBuffer) + ) + return t.byteLength; + if ("string" != typeof t) + throw new TypeError( + 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + + u(t), + ); + var r = t.length, + n = + arguments.length > 2 && + !0 === arguments[2]; + if (!n && 0 === r) return 0; + for (var i = !1; ; ) + switch (e) { + case "ascii": + case "latin1": + case "binary": + return r; + case "utf8": + case "utf-8": + return Q(t).length; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return 2 * r; + case "hex": + return r >>> 1; + case "base64": + return tt(t).length; + default: + if (i) return n ? -1 : Q(t).length; + (e = ("" + e).toLowerCase()), + (i = !0); + } + } + function T(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 F(this, e, r); + case "utf8": + case "utf-8": + return I(this, e, r); + case "ascii": + return z(this, e, r); + case "latin1": + case "binary": + return R(this, e, r); + case "base64": + return P(this, e, r); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return B(this, e, r); + default: + if (n) + throw new TypeError( + "Unknown encoding: " + t, + ); + (t = (t + "").toLowerCase()), + (n = !0); + } + } + function k(t, e, r) { + var n = t[e]; + (t[e] = t[r]), (t[r] = n); + } + function A(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), + nt((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 = v.from(e, n)), + v.isBuffer(e)) + ) + return 0 === e.length + ? -1 + : M(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, + ) + : M(t, [e], r, n, i) + ); + throw new TypeError( + "val must be string, number or Buffer", + ); + } + function M(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 f = !0, h = 0; h < l; h++) + if (u(t, a + h) !== u(e, h)) { + f = !1; + break; + } + if (f) return a; + } + return -1; + } + function S(t, e, r, n) { + r = Number(r) || 0; + var i = t.length - r; + n + ? (n = Number(n)) > i && (n = i) + : (n = i); + var a, + o = e.length; + for ( + n > o / 2 && (n = o / 2), a = 0; + a < n; + ++a + ) { + var s = parseInt(e.substr(2 * a, 2), 16); + if (nt(s)) return a; + t[r + a] = s; + } + return a; + } + function E(t, e, r, n) { + return et(Q(e, t.length - r), t, r, n); + } + function L(t, e, r, n) { + return et( + (function (t) { + for ( + var e = [], r = 0; + r < t.length; + ++r + ) + e.push(255 & t.charCodeAt(r)); + return e; + })(e), + t, + r, + n, + ); + } + function C(t, e, r, n) { + return et(tt(e), t, r, n); + } + function O(t, e, r, n) { + return et( + (function (t, e) { + for ( + var r, n, i, a = [], o = 0; + o < t.length && !((e -= 2) < 0); + ++o + ) + (n = (r = t.charCodeAt(o)) >> 8), + (i = r % 256), + a.push(i), + a.push(n); + return a; + })(e, t.length - r), + t, + r, + n, + ); + } + function P(t, e, r) { + return 0 === e && r === t.length + ? c.fromByteArray(t) + : c.fromByteArray(t.slice(e, r)); + } + function I(t, e, r) { + r = Math.min(t.length, r); + for (var n = [], i = e; i < r; ) { + var a = t[i], + o = null, + s = + a > 239 + ? 4 + : a > 223 + ? 3 + : a > 191 + ? 2 + : 1; + if (i + s <= r) { + var l = void 0, + u = void 0, + c = void 0, + f = void 0; + switch (s) { + case 1: + a < 128 && (o = a); + break; + case 2: + 128 == (192 & (l = t[i + 1])) && + (f = ((31 & a) << 6) | (63 & l)) > + 127 && + (o = f); + break; + case 3: + (l = t[i + 1]), + (u = t[i + 2]), + 128 == (192 & l) && + 128 == (192 & u) && + (f = + ((15 & a) << 12) | + ((63 & l) << 6) | + (63 & u)) > 2047 && + (f < 55296 || f > 57343) && + (o = f); + break; + case 4: + (l = t[i + 1]), + (u = t[i + 2]), + (c = t[i + 3]), + 128 == (192 & l) && + 128 == (192 & u) && + 128 == (192 & c) && + (f = + ((15 & a) << 18) | + ((63 & l) << 12) | + ((63 & u) << 6) | + (63 & c)) > 65535 && + f < 1114112 && + (o = f); + } + } + null === o + ? ((o = 65533), (s = 1)) + : o > 65535 && + ((o -= 65536), + n.push(((o >>> 10) & 1023) | 55296), + (o = 56320 | (1023 & o))), + n.push(o), + (i += s); + } + return (function (t) { + var e = t.length; + if (e <= D) + return String.fromCharCode.apply( + String, + t, + ); + for (var r = "", n = 0; n < e; ) + r += String.fromCharCode.apply( + String, + t.slice(n, (n += D)), + ); + return r; + })(n); + } + (v.TYPED_ARRAY_SUPPORT = (function () { + try { + var t = new Uint8Array(1), + e = { + foo: function () { + return 42; + }, + }; + return ( + Object.setPrototypeOf( + e, + Uint8Array.prototype, + ), + Object.setPrototypeOf(t, e), + 42 === t.foo() + ); + } catch (t) { + return !1; + } + })()), + v.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( + v.prototype, + "parent", + { + enumerable: !0, + get: function () { + if (v.isBuffer(this)) + return this.buffer; + }, + }, + ), + Object.defineProperty( + v.prototype, + "offset", + { + enumerable: !0, + get: function () { + if (v.isBuffer(this)) + return this.byteOffset; + }, + }, + ), + (v.poolSize = 8192), + (v.from = function (t, e, r) { + return g(t, e, r); + }), + Object.setPrototypeOf( + v.prototype, + Uint8Array.prototype, + ), + Object.setPrototypeOf(v, Uint8Array), + (v.alloc = function (t, e, r) { + return (function (t, e, r) { + return ( + y(t), + t <= 0 + ? d(t) + : void 0 !== e + ? "string" == typeof r + ? d(t).fill(e, r) + : d(t).fill(e) + : d(t) + ); + })(t, e, r); + }), + (v.allocUnsafe = function (t) { + return m(t); + }), + (v.allocUnsafeSlow = function (t) { + return m(t); + }), + (v.isBuffer = function (t) { + return ( + null != t && + !0 === t._isBuffer && + t !== v.prototype + ); + }), + (v.compare = function (t, e) { + if ( + (rt(t, Uint8Array) && + (t = v.from( + t, + t.offset, + t.byteLength, + )), + rt(e, Uint8Array) && + (e = v.from( + e, + e.offset, + e.byteLength, + )), + !v.isBuffer(t) || !v.isBuffer(e)) + ) + throw new TypeError( + 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array', + ); + 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; + }), + (v.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; + } + }), + (v.concat = function (t, e) { + if (!Array.isArray(t)) + throw new TypeError( + '"list" argument must be an Array of Buffers', + ); + if (0 === t.length) return v.alloc(0); + var r; + if (void 0 === e) + for (e = 0, r = 0; r < t.length; ++r) + e += t[r].length; + var n = v.allocUnsafe(e), + i = 0; + for (r = 0; r < t.length; ++r) { + var a = t[r]; + if (rt(a, Uint8Array)) + i + a.length > n.length + ? (v.isBuffer(a) || (a = v.from(a)), + a.copy(n, i)) + : Uint8Array.prototype.set.call( + n, + a, + i, + ); + else { + if (!v.isBuffer(a)) + throw new TypeError( + '"list" argument must be an Array of Buffers', + ); + a.copy(n, i); + } + i += a.length; + } + return n; + }), + (v.byteLength = w), + (v.prototype._isBuffer = !0), + (v.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) + k(this, e, e + 1); + return this; + }), + (v.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) + k(this, e, e + 3), + k(this, e + 1, e + 2); + return this; + }), + (v.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) + k(this, e, e + 7), + k(this, e + 1, e + 6), + k(this, e + 2, e + 5), + k(this, e + 3, e + 4); + return this; + }), + (v.prototype.toString = function () { + var t = this.length; + return 0 === t + ? "" + : 0 === arguments.length + ? I(this, 0, t) + : T.apply(this, arguments); + }), + (v.prototype.toLocaleString = + v.prototype.toString), + (v.prototype.equals = function (t) { + if (!v.isBuffer(t)) + throw new TypeError( + "Argument must be a Buffer", + ); + return ( + this === t || 0 === v.compare(this, t) + ); + }), + (v.prototype.inspect = function () { + var t = "", + r = e.h2; + return ( + (t = this.toString("hex", 0, r) + .replace(/(.{2})/g, "$1 ") + .trim()), + this.length > r && (t += " ... "), + "" + ); + }), + h && (v.prototype[h] = v.prototype.inspect), + (v.prototype.compare = function ( + t, + e, + r, + n, + i, + ) { + if ( + (rt(t, Uint8Array) && + (t = v.from( + t, + t.offset, + t.byteLength, + )), + !v.isBuffer(t)) + ) + throw new TypeError( + 'The "target" argument must be one of type Buffer or Uint8Array. Received type ' + + u(t), + ); + 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 (this === t) return 0; + for ( + var a = (i >>>= 0) - (n >>>= 0), + o = (r >>>= 0) - (e >>>= 0), + s = Math.min(a, o), + l = this.slice(n, i), + c = t.slice(e, r), + f = 0; + f < s; + ++f + ) + if (l[f] !== c[f]) { + (a = l[f]), (o = c[f]); + break; + } + return a < o ? -1 : o < a ? 1 : 0; + }), + (v.prototype.includes = function (t, e, r) { + return -1 !== this.indexOf(t, e, r); + }), + (v.prototype.indexOf = function (t, e, r) { + return A(this, t, e, r, !0); + }), + (v.prototype.lastIndexOf = function ( + t, + e, + r, + ) { + return A(this, t, e, r, !1); + }), + (v.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 S(this, t, e, r); + case "utf8": + case "utf-8": + return E(this, t, e, r); + case "ascii": + case "latin1": + case "binary": + return L(this, t, e, r); + case "base64": + return C(this, t, e, r); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return O(this, t, e, r); + default: + if (a) + throw new TypeError( + "Unknown encoding: " + n, + ); + (n = ("" + n).toLowerCase()), + (a = !0); + } + }), + (v.prototype.toJSON = function () { + return { + type: "Buffer", + data: Array.prototype.slice.call( + this._arr || this, + 0, + ), + }; + }); + var D = 4096; + function z(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 R(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 F(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 += it[t[a]]; + return i; + } + function B(t, e, r) { + for ( + var n = t.slice(e, r), i = "", a = 0; + a < n.length - 1; + a += 2 + ) + i += String.fromCharCode( + n[a] + 256 * n[a + 1], + ); + return i; + } + function N(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 j(t, e, r, n, i, a) { + if (!v.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 U(t, e, r, n, i) { + X(e, n, i, t, r, 7); + var a = Number(e & BigInt(4294967295)); + (t[r++] = a), + (a >>= 8), + (t[r++] = a), + (a >>= 8), + (t[r++] = a), + (a >>= 8), + (t[r++] = a); + var o = Number( + (e >> BigInt(32)) & BigInt(4294967295), + ); + return ( + (t[r++] = o), + (o >>= 8), + (t[r++] = o), + (o >>= 8), + (t[r++] = o), + (o >>= 8), + (t[r++] = o), + r + ); + } + function V(t, e, r, n, i) { + X(e, n, i, t, r, 7); + var a = Number(e & BigInt(4294967295)); + (t[r + 7] = a), + (a >>= 8), + (t[r + 6] = a), + (a >>= 8), + (t[r + 5] = a), + (a >>= 8), + (t[r + 4] = a); + var o = Number( + (e >> BigInt(32)) & BigInt(4294967295), + ); + return ( + (t[r + 3] = o), + (o >>= 8), + (t[r + 2] = o), + (o >>= 8), + (t[r + 1] = o), + (o >>= 8), + (t[r] = o), + r + 8 + ); + } + function H(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 q(t, e, r, n, i) { + return ( + (e = +e), + (r >>>= 0), + i || H(t, 0, r, 4), + f.write(t, e, r, n, 23, 4), + r + 4 + ); + } + function G(t, e, r, n, i) { + return ( + (e = +e), + (r >>>= 0), + i || H(t, 0, r, 8), + f.write(t, e, r, n, 52, 8), + r + 8 + ); + } + (v.prototype.slice = function (t, e) { + var r = this.length; + (t = ~~t) < 0 + ? (t += r) < 0 && (t = 0) + : t > r && (t = r), + (e = void 0 === e ? r : ~~e) < 0 + ? (e += r) < 0 && (e = 0) + : e > r && (e = r), + e < t && (e = t); + var n = this.subarray(t, e); + return ( + Object.setPrototypeOf(n, v.prototype), n + ); + }), + (v.prototype.readUintLE = + v.prototype.readUIntLE = + function (t, e, r) { + (t >>>= 0), + (e >>>= 0), + r || N(t, e, this.length); + for ( + var n = this[t], i = 1, a = 0; + ++a < e && (i *= 256); + + ) + n += this[t + a] * i; + return n; + }), + (v.prototype.readUintBE = + v.prototype.readUIntBE = + function (t, e, r) { + (t >>>= 0), + (e >>>= 0), + r || N(t, e, this.length); + for ( + var n = this[t + --e], i = 1; + e > 0 && (i *= 256); + + ) + n += this[t + --e] * i; + return n; + }), + (v.prototype.readUint8 = + v.prototype.readUInt8 = + function (t, e) { + return ( + (t >>>= 0), + e || N(t, 1, this.length), + this[t] + ); + }), + (v.prototype.readUint16LE = + v.prototype.readUInt16LE = + function (t, e) { + return ( + (t >>>= 0), + e || N(t, 2, this.length), + this[t] | (this[t + 1] << 8) + ); + }), + (v.prototype.readUint16BE = + v.prototype.readUInt16BE = + function (t, e) { + return ( + (t >>>= 0), + e || N(t, 2, this.length), + (this[t] << 8) | this[t + 1] + ); + }), + (v.prototype.readUint32LE = + v.prototype.readUInt32LE = + function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + (this[t] | + (this[t + 1] << 8) | + (this[t + 2] << 16)) + + 16777216 * this[t + 3] + ); + }), + (v.prototype.readUint32BE = + v.prototype.readUInt32BE = + function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + 16777216 * this[t] + + ((this[t + 1] << 16) | + (this[t + 2] << 8) | + this[t + 3]) + ); + }), + (v.prototype.readBigUInt64LE = at( + function (t) { + J((t >>>= 0), "offset"); + var e = this[t], + r = this[t + 7]; + (void 0 !== e && void 0 !== r) || + K(t, this.length - 8); + var n = + e + + this[++t] * Math.pow(2, 8) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 24), + i = + this[++t] + + this[++t] * Math.pow(2, 8) + + this[++t] * Math.pow(2, 16) + + r * Math.pow(2, 24); + return ( + BigInt(n) + (BigInt(i) << BigInt(32)) + ); + }, + )), + (v.prototype.readBigUInt64BE = at( + function (t) { + J((t >>>= 0), "offset"); + var e = this[t], + r = this[t + 7]; + (void 0 !== e && void 0 !== r) || + K(t, this.length - 8); + var n = + e * Math.pow(2, 24) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 8) + + this[++t], + i = + this[++t] * Math.pow(2, 24) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 8) + + r; + return ( + (BigInt(n) << BigInt(32)) + BigInt(i) + ); + }, + )), + (v.prototype.readIntLE = function ( + t, + e, + r, + ) { + (t >>>= 0), + (e >>>= 0), + r || N(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 + ); + }), + (v.prototype.readIntBE = function ( + t, + e, + r, + ) { + (t >>>= 0), + (e >>>= 0), + r || N(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 + ); + }), + (v.prototype.readInt8 = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 1, this.length), + 128 & this[t] + ? -1 * (255 - this[t] + 1) + : this[t] + ); + }), + (v.prototype.readInt16LE = function (t, e) { + (t >>>= 0), e || N(t, 2, this.length); + var r = this[t] | (this[t + 1] << 8); + return 32768 & r ? 4294901760 | r : r; + }), + (v.prototype.readInt16BE = function (t, e) { + (t >>>= 0), e || N(t, 2, this.length); + var r = this[t + 1] | (this[t] << 8); + return 32768 & r ? 4294901760 | r : r; + }), + (v.prototype.readInt32LE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + this[t] | + (this[t + 1] << 8) | + (this[t + 2] << 16) | + (this[t + 3] << 24) + ); + }), + (v.prototype.readInt32BE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + (this[t] << 24) | + (this[t + 1] << 16) | + (this[t + 2] << 8) | + this[t + 3] + ); + }), + (v.prototype.readBigInt64LE = at( + function (t) { + J((t >>>= 0), "offset"); + var e = this[t], + r = this[t + 7]; + (void 0 !== e && void 0 !== r) || + K(t, this.length - 8); + var n = + this[t + 4] + + this[t + 5] * Math.pow(2, 8) + + this[t + 6] * Math.pow(2, 16) + + (r << 24); + return ( + (BigInt(n) << BigInt(32)) + + BigInt( + e + + this[++t] * Math.pow(2, 8) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 24), + ) + ); + }, + )), + (v.prototype.readBigInt64BE = at( + function (t) { + J((t >>>= 0), "offset"); + var e = this[t], + r = this[t + 7]; + (void 0 !== e && void 0 !== r) || + K(t, this.length - 8); + var n = + (e << 24) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 8) + + this[++t]; + return ( + (BigInt(n) << BigInt(32)) + + BigInt( + this[++t] * Math.pow(2, 24) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 8) + + r, + ) + ); + }, + )), + (v.prototype.readFloatLE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + f.read(this, t, !0, 23, 4) + ); + }), + (v.prototype.readFloatBE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + f.read(this, t, !1, 23, 4) + ); + }), + (v.prototype.readDoubleLE = function ( + t, + e, + ) { + return ( + (t >>>= 0), + e || N(t, 8, this.length), + f.read(this, t, !0, 52, 8) + ); + }), + (v.prototype.readDoubleBE = function ( + t, + e, + ) { + return ( + (t >>>= 0), + e || N(t, 8, this.length), + f.read(this, t, !1, 52, 8) + ); + }), + (v.prototype.writeUintLE = + v.prototype.writeUIntLE = + function (t, e, r, n) { + (t = +t), + (e >>>= 0), + (r >>>= 0), + n || + j( + 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; + }), + (v.prototype.writeUintBE = + v.prototype.writeUIntBE = + function (t, e, r, n) { + (t = +t), + (e >>>= 0), + (r >>>= 0), + n || + j( + 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; + }), + (v.prototype.writeUint8 = + v.prototype.writeUInt8 = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 1, 255, 0), + (this[e] = 255 & t), + e + 1 + ); + }), + (v.prototype.writeUint16LE = + v.prototype.writeUInt16LE = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 2, 65535, 0), + (this[e] = 255 & t), + (this[e + 1] = t >>> 8), + e + 2 + ); + }), + (v.prototype.writeUint16BE = + v.prototype.writeUInt16BE = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 2, 65535, 0), + (this[e] = t >>> 8), + (this[e + 1] = 255 & t), + e + 2 + ); + }), + (v.prototype.writeUint32LE = + v.prototype.writeUInt32LE = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || + j(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 + ); + }), + (v.prototype.writeUint32BE = + v.prototype.writeUInt32BE = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || + j(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 + ); + }), + (v.prototype.writeBigUInt64LE = at( + function (t) { + var e = + arguments.length > 1 && + void 0 !== arguments[1] + ? arguments[1] + : 0; + return U( + this, + t, + e, + BigInt(0), + BigInt("0xffffffffffffffff"), + ); + }, + )), + (v.prototype.writeBigUInt64BE = at( + function (t) { + var e = + arguments.length > 1 && + void 0 !== arguments[1] + ? arguments[1] + : 0; + return V( + this, + t, + e, + BigInt(0), + BigInt("0xffffffffffffffff"), + ); + }, + )), + (v.prototype.writeIntLE = function ( + t, + e, + r, + n, + ) { + if (((t = +t), (e >>>= 0), !n)) { + var i = Math.pow(2, 8 * r - 1); + j(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; + }), + (v.prototype.writeIntBE = function ( + t, + e, + r, + n, + ) { + if (((t = +t), (e >>>= 0), !n)) { + var i = Math.pow(2, 8 * r - 1); + j(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; + }), + (v.prototype.writeInt8 = function ( + t, + e, + r, + ) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 1, 127, -128), + t < 0 && (t = 255 + t + 1), + (this[e] = 255 & t), + e + 1 + ); + }), + (v.prototype.writeInt16LE = function ( + t, + e, + r, + ) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 2, 32767, -32768), + (this[e] = 255 & t), + (this[e + 1] = t >>> 8), + e + 2 + ); + }), + (v.prototype.writeInt16BE = function ( + t, + e, + r, + ) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 2, 32767, -32768), + (this[e] = t >>> 8), + (this[e + 1] = 255 & t), + e + 2 + ); + }), + (v.prototype.writeInt32LE = function ( + t, + e, + r, + ) { + return ( + (t = +t), + (e >>>= 0), + r || + j( + 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 + ); + }), + (v.prototype.writeInt32BE = function ( + t, + e, + r, + ) { + return ( + (t = +t), + (e >>>= 0), + r || + j( + 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 + ); + }), + (v.prototype.writeBigInt64LE = at( + function (t) { + var e = + arguments.length > 1 && + void 0 !== arguments[1] + ? arguments[1] + : 0; + return U( + this, + t, + e, + -BigInt("0x8000000000000000"), + BigInt("0x7fffffffffffffff"), + ); + }, + )), + (v.prototype.writeBigInt64BE = at( + function (t) { + var e = + arguments.length > 1 && + void 0 !== arguments[1] + ? arguments[1] + : 0; + return V( + this, + t, + e, + -BigInt("0x8000000000000000"), + BigInt("0x7fffffffffffffff"), + ); + }, + )), + (v.prototype.writeFloatLE = function ( + t, + e, + r, + ) { + return q(this, t, e, !0, r); + }), + (v.prototype.writeFloatBE = function ( + t, + e, + r, + ) { + return q(this, t, e, !1, r); + }), + (v.prototype.writeDoubleLE = function ( + t, + e, + r, + ) { + return G(this, t, e, !0, r); + }), + (v.prototype.writeDoubleBE = function ( + t, + e, + r, + ) { + return G(this, t, e, !1, r); + }), + (v.prototype.copy = function (t, e, r, n) { + if (!v.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; + return ( + this === t && + "function" == + typeof Uint8Array.prototype.copyWithin + ? this.copyWithin(e, r, n) + : Uint8Array.prototype.set.call( + t, + this.subarray(r, n), + e, + ), + i + ); + }), + (v.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 && + !v.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) + : "boolean" == typeof t && + (t = Number(t)); + 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 = v.isBuffer(t) + ? t + : v.from(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 Z = {}; + function W(t, e, r) { + Z[t] = (function (r) { + !(function (t, e) { + if ( + "function" != typeof e && + null !== e + ) + throw new TypeError( + "Super expression must either be null or a function", + ); + (t.prototype = Object.create( + e && e.prototype, + { + constructor: { + value: t, + writable: !0, + configurable: !0, + }, + }, + )), + Object.defineProperty( + t, + "prototype", + { writable: !1 }, + ), + e && a(t, e); + })(d, r); + var u, + c, + f, + h, + p = + ((f = d), + (h = (function () { + if ( + "undefined" == typeof Reflect || + !Reflect.construct + ) + return !1; + if (Reflect.construct.sham) + return !1; + if ("function" == typeof Proxy) + return !0; + try { + return ( + Boolean.prototype.valueOf.call( + Reflect.construct( + Boolean, + [], + function () {}, + ), + ), + !0 + ); + } catch (t) { + return !1; + } + })()), + function () { + var t, + e = l(f); + if (h) { + var r = l(this).constructor; + t = Reflect.construct( + e, + arguments, + r, + ); + } else t = e.apply(this, arguments); + return o(this, t); + }); + function d() { + var r; + return ( + n(this, d), + (r = p.call(this)), + Object.defineProperty( + s(r), + "message", + { + value: e.apply(s(r), arguments), + writable: !0, + configurable: !0, + }, + ), + (r.name = "" + .concat(r.name, " [") + .concat(t, "]")), + r.stack, + delete r.name, + r + ); + } + return ( + (u = d), + (c = [ + { + key: "code", + get: function () { + return t; + }, + set: function (t) { + Object.defineProperty( + this, + "code", + { + configurable: !0, + enumerable: !0, + value: t, + writable: !0, + }, + ); + }, + }, + { + key: "toString", + value: function () { + return "" + .concat(this.name, " [") + .concat(t, "]: ") + .concat(this.message); + }, + }, + ]) && i(u.prototype, c), + Object.defineProperty(u, "prototype", { + writable: !1, + }), + d + ); + })(r); + } + function Y(t) { + for ( + var e = "", + r = t.length, + n = "-" === t[0] ? 1 : 0; + r >= n + 4; + r -= 3 + ) + e = "_" + .concat(t.slice(r - 3, r)) + .concat(e); + return "".concat(t.slice(0, r)).concat(e); + } + function X(t, e, r, n, i, a) { + if (t > r || t < e) { + var o, + s = "bigint" == typeof e ? "n" : ""; + throw ( + ((o = + a > 3 + ? 0 === e || e === BigInt(0) + ? ">= 0" + .concat(s, " and < 2") + .concat(s, " ** ") + .concat(8 * (a + 1)) + .concat(s) + : ">= -(2" + .concat(s, " ** ") + .concat(8 * (a + 1) - 1) + .concat(s, ") and < 2 ** ") + + "" + .concat(8 * (a + 1) - 1) + .concat(s) + : ">= " + .concat(e) + .concat(s, " and <= ") + .concat(r) + .concat(s)), + new Z.ERR_OUT_OF_RANGE("value", o, t)) + ); + } + !(function (t, e, r) { + J(e, "offset"), + (void 0 !== t[e] && + void 0 !== t[e + r]) || + K(e, t.length - (r + 1)); + })(n, i, a); + } + function J(t, e) { + if ("number" != typeof t) + throw new Z.ERR_INVALID_ARG_TYPE( + e, + "number", + t, + ); + } + function K(t, e, r) { + if (Math.floor(t) !== t) + throw ( + (J(t, r), + new Z.ERR_OUT_OF_RANGE( + r || "offset", + "an integer", + t, + )) + ); + if (e < 0) + throw new Z.ERR_BUFFER_OUT_OF_BOUNDS(); + throw new Z.ERR_OUT_OF_RANGE( + r || "offset", + ">= " + .concat(r ? 1 : 0, " and <= ") + .concat(e), + t, + ); + } + W( + "ERR_BUFFER_OUT_OF_BOUNDS", + function (t) { + return t + ? "".concat( + t, + " is outside of buffer bounds", + ) + : "Attempt to access memory outside buffer bounds"; + }, + RangeError, + ), + W( + "ERR_INVALID_ARG_TYPE", + function (t, e) { + return 'The "' + .concat( + t, + '" argument must be of type number. Received type ', + ) + .concat(u(e)); + }, + TypeError, + ), + W( + "ERR_OUT_OF_RANGE", + function (t, e, r) { + var n = 'The value of "'.concat( + t, + '" is out of range.', + ), + i = r; + return ( + Number.isInteger(r) && + Math.abs(r) > Math.pow(2, 32) + ? (i = Y(String(r))) + : "bigint" == typeof r && + ((i = String(r)), + (r > + Math.pow( + BigInt(2), + BigInt(32), + ) || + r < + -Math.pow( + BigInt(2), + BigInt(32), + )) && + (i = Y(i)), + (i += "n")), + n + + " It must be " + .concat(e, ". Received ") + .concat(i) + ); + }, + RangeError, + ); + var $ = /[^+/0-9A-Za-z-_]/g; + function Q(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 tt(t) { + return c.toByteArray( + (function (t) { + if ( + (t = (t = t.split("=")[0]) + .trim() + .replace($, "")).length < 2 + ) + return ""; + for (; t.length % 4 != 0; ) t += "="; + return t; + })(t), + ); + } + function et(t, e, r, n) { + var i; + for ( + i = 0; + i < n && + !(i + r >= e.length || i >= t.length); + ++i + ) + e[i + r] = t[i]; + return i; + } + function rt(t, e) { + return ( + t instanceof e || + (null != t && + null != t.constructor && + null != t.constructor.name && + t.constructor.name === e.name) + ); + } + function nt(t) { + return t != t; + } + var it = (function () { + for ( + var t = "0123456789abcdef", + e = new Array(256), + r = 0; + r < 16; + ++r + ) + for (var n = 16 * r, i = 0; i < 16; ++i) + e[n + i] = t[r] + t[i]; + return e; + })(); + function at(t) { + return "undefined" == typeof BigInt + ? ot + : t; + } + function ot() { + throw new Error("BigInt not supported"); + } + }, + 2321: function (t) { + "use strict"; + (t.exports = i), + (t.exports.isMobile = i), + (t.exports.default = i); + var e = + /(android|bb\d+|meego).+mobile|armv7l|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[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i, + r = /CrOS/, + n = /android|ipad|playbook|silk/i; + function i(t) { + t || (t = {}); + var i = t.ua; + if ( + (i || + "undefined" == typeof navigator || + (i = navigator.userAgent), + i && + i.headers && + "string" == + typeof i.headers["user-agent"] && + (i = i.headers["user-agent"]), + "string" != typeof i) + ) + return !1; + var a = + (e.test(i) && !r.test(i)) || + (!!t.tablet && n.test(i)); + return ( + !a && + t.tablet && + t.featureDetect && + navigator && + navigator.maxTouchPoints > 1 && + -1 !== i.indexOf("Macintosh") && + -1 !== i.indexOf("Safari") && + (a = !0), + a + ); + } + }, + 3910: function (t, e) { + "use strict"; + (e.byteLength = function (t) { + var e = l(t), + r = e[0], + n = e[1]; + return (3 * (r + n)) / 4 - n; + }), + (e.toByteArray = function (t) { + var e, + r, + a = l(t), + o = a[0], + s = a[1], + u = new i( + (function (t, e, r) { + return (3 * (e + r)) / 4 - r; + })(0, o, s), + ), + c = 0, + f = s > 0 ? o - 4 : o; + for (r = 0; r < f; r += 4) + (e = + (n[t.charCodeAt(r)] << 18) | + (n[t.charCodeAt(r + 1)] << 12) | + (n[t.charCodeAt(r + 2)] << 6) | + n[t.charCodeAt(r + 3)]), + (u[c++] = (e >> 16) & 255), + (u[c++] = (e >> 8) & 255), + (u[c++] = 255 & e); + return ( + 2 === s && + ((e = + (n[t.charCodeAt(r)] << 2) | + (n[t.charCodeAt(r + 1)] >> 4)), + (u[c++] = 255 & e)), + 1 === s && + ((e = + (n[t.charCodeAt(r)] << 10) | + (n[t.charCodeAt(r + 1)] << 4) | + (n[t.charCodeAt(r + 2)] >> 2)), + (u[c++] = (e >> 8) & 255), + (u[c++] = 255 & e)), + u + ); + }), + (e.fromByteArray = function (t) { + for ( + var e, + n = t.length, + i = n % 3, + a = [], + o = 16383, + s = 0, + l = n - i; + s < l; + s += o + ) + a.push(u(t, s, s + o > l ? l : s + o)); + return ( + 1 === i + ? ((e = t[n - 1]), + a.push( + r[e >> 2] + + r[(e << 4) & 63] + + "==", + )) + : 2 === i && + ((e = (t[n - 2] << 8) + t[n - 1]), + a.push( + r[e >> 10] + + r[(e >> 4) & 63] + + r[(e << 2) & 63] + + "=", + )), + a.join("") + ); + }); + for ( + var r = [], + n = [], + i = + "undefined" != typeof Uint8Array + ? Uint8Array + : Array, + a = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", + o = 0, + s = a.length; + o < s; + ++o + ) + (r[o] = a[o]), (n[a.charCodeAt(o)] = o); + function l(t) { + var e = t.length; + if (e % 4 > 0) + throw new Error( + "Invalid string. Length must be a multiple of 4", + ); + var r = t.indexOf("="); + return ( + -1 === r && (r = e), + [r, r === e ? 0 : 4 - (r % 4)] + ); + } + function u(t, e, n) { + for (var i, a, o = [], s = e; s < n; s += 3) + (i = + ((t[s] << 16) & 16711680) + + ((t[s + 1] << 8) & 65280) + + (255 & t[s + 2])), + o.push( + r[((a = i) >> 18) & 63] + + r[(a >> 12) & 63] + + r[(a >> 6) & 63] + + r[63 & a], + ); + return o.join(""); + } + (n["-".charCodeAt(0)] = 62), + (n["_".charCodeAt(0)] = 63); + }, + 3187: function (t, e) { + (e.read = function (t, e, r, n, i) { + var a, + o, + s = 8 * i - n - 1, + l = (1 << s) - 1, + u = l >> 1, + c = -7, + f = r ? i - 1 : 0, + h = r ? -1 : 1, + p = t[e + f]; + for ( + f += h, + a = p & ((1 << -c) - 1), + p >>= -c, + c += s; + c > 0; + a = 256 * a + t[e + f], f += h, c -= 8 + ); + for ( + o = a & ((1 << -c) - 1), a >>= -c, c += n; + c > 0; + o = 256 * o + t[e + f], f += h, 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) + ); + }), + (e.write = function (t, e, r, n, i, a) { + var o, + s, + l, + u = 8 * a - i - 1, + c = (1 << u) - 1, + f = c >> 1, + h = + 23 === i + ? Math.pow(2, -24) - + Math.pow(2, -77) + : 0, + p = n ? 0 : a - 1, + d = n ? 1 : -1, + v = + 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 + f >= 1 + ? h / l + : h * Math.pow(2, 1 - f)) * + l >= + 2 && (o++, (l /= 2)), + o + f >= c + ? ((s = 0), (o = c)) + : o + f >= 1 + ? ((s = + (e * l - 1) * + Math.pow(2, i)), + (o += f)) + : ((s = + e * + Math.pow(2, f - 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 * v; + }); + }, + 1152: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = (t = t || {}).eye || [0, 0, 1], + r = t.center || [0, 0, 0], + s = t.up || [0, 1, 0], + l = t.distanceLimits || [0, 1 / 0], + u = t.mode || "turntable", + c = n(), + f = i(), + h = a(); + return ( + c.setDistanceLimits(l[0], l[1]), + c.lookAt(0, e, r, s), + f.setDistanceLimits(l[0], l[1]), + f.lookAt(0, e, r, s), + h.setDistanceLimits(l[0], l[1]), + h.lookAt(0, e, r, s), + new o( + { turntable: c, orbit: f, matrix: h }, + u, + ) + ); + }; + var n = r(3440), + i = r(7774), + a = r(9298); + function o(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 s = o.prototype; + (s.flush = function (t) { + for ( + var e = this._controllerList, r = 0; + r < e.length; + ++r + ) + e[r].flush(t); + }), + (s.idle = function (t) { + for ( + var e = this._controllerList, r = 0; + r < e.length; + ++r + ) + e[r].idle(t); + }), + (s.lookAt = function (t, e, r, n) { + for ( + var i = this._controllerList, a = 0; + a < i.length; + ++a + ) + i[a].lookAt(t, e, r, n); + }), + (s.rotate = function (t, e, r, n) { + for ( + var i = this._controllerList, a = 0; + a < i.length; + ++a + ) + i[a].rotate(t, e, r, n); + }), + (s.pan = function (t, e, r, n) { + for ( + var i = this._controllerList, a = 0; + a < i.length; + ++a + ) + i[a].pan(t, e, r, n); + }), + (s.translate = function (t, e, r, n) { + for ( + var i = this._controllerList, a = 0; + a < i.length; + ++a + ) + i[a].translate(t, e, r, n); + }), + (s.setMatrix = function (t, e) { + for ( + var r = this._controllerList, n = 0; + n < r.length; + ++n + ) + r[n].setMatrix(t, e); + }), + (s.setDistanceLimits = function (t, e) { + for ( + var r = this._controllerList, n = 0; + n < r.length; + ++n + ) + r[n].setDistanceLimits(t, e); + }), + (s.setDistance = function (t, e) { + for ( + var r = this._controllerList, n = 0; + n < r.length; + ++n + ) + r[n].setDistance(t, e); + }), + (s.recalcMatrix = function (t) { + this._active.recalcMatrix(t); + }), + (s.getDistance = function (t) { + return this._active.getDistance(t); + }), + (s.getDistanceLimits = function (t) { + return this._active.getDistanceLimits(t); + }), + (s.lastT = function () { + return this._active.lastT(); + }), + (s.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); + } + } + }), + (s.getMode = function () { + return this._mode; + }); + }, + 8126: function (t, e, r) { + "use strict"; + var n = + "undefined" == typeof WeakMap + ? r(5346) + : WeakMap, + i = r(5827), + a = r(2944), + o = new n(); + t.exports = function (t) { + var e = o.get(t), + r = + e && + (e._triangleBuffer.handle || + e._triangleBuffer.buffer); + if (!r || !t.isBuffer(r)) { + var n = i( + t, + new Float32Array([ + -1, -1, -1, 4, 4, -1, + ]), + ); + ((e = a(t, [ + { buffer: n, type: t.FLOAT, size: 2 }, + ]))._triangleBuffer = n), + o.set(t, e); + } + e.bind(), + t.drawArrays(t.TRIANGLES, 0, 3), + e.unbind(); + }; + }, + 8008: function (t, e, r) { + var n = r(4930); + t.exports = function (t, e, r) { + (e = "number" == typeof e ? e : 1), + (r = r || ": "); + var i = t.split(/\r?\n/), + a = String(i.length + e - 1).length; + return i + .map(function (t, i) { + var o = i + e, + s = String(o).length; + return n(o, a - s) + r + t; + }) + .join("\n"); + }; + }, + 2153: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.length; + if (0 === e) return []; + if (1 === e) return [0]; + for ( + var r = t[0].length, + n = [t[0]], + a = [0], + o = 1; + o < e; + ++o + ) + if ((n.push(t[o]), i(n, r))) { + if ((a.push(o), a.length === r + 1)) + return a; + } else n.pop(); + return a; + }; + var n = r(417); + function i(t, e) { + for ( + var r = new Array(e + 1), i = 0; + i < t.length; + ++i + ) + r[i] = t[i]; + for (i = 0; i <= t.length; ++i) { + for (var a = t.length; a <= e; ++a) { + for ( + var o = new Array(e), s = 0; + s < e; + ++s + ) + o[s] = Math.pow(a + 1 - i, s); + r[a] = o; + } + if (n.apply(void 0, r)) return !0; + } + return !1; + } + }, + 4653: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + return n(e).filter(function (r) { + for ( + var n = new Array(r.length), a = 0; + a < r.length; + ++a + ) + n[a] = e[r[a]]; + return i(n) * t < 1; + }); + }; + var n = r(4419), + i = r(1778); + }, + 2350: function (t, e, r) { + t.exports = function (t, e) { + return i(n(t, e)); + }; + var n = r(4653), + i = r(8691); + }, + 7896: function (t) { + t.exports = function (t) { + return atob(t); + }; + }, + 957: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + for ( + var r = e.length, + a = new Array(r + 1), + o = 0; + o < r; + ++o + ) { + for ( + var s = new Array(r + 1), l = 0; + l <= r; + ++l + ) + s[l] = t[l][o]; + a[o] = s; + } + for ( + a[r] = new Array(r + 1), o = 0; + o <= r; + ++o + ) + a[r][o] = 1; + var u = new Array(r + 1); + for (o = 0; o < r; ++o) u[o] = e[o]; + u[r] = 1; + var c = n(a, u), + f = i(c[r + 1]); + 0 === f && (f = 1); + var h = new Array(r + 1); + for (o = 0; o <= r; ++o) h[o] = i(c[o]) / f; + return h; + }; + var n = r(6606); + function i(t) { + for (var e = 0, r = 0; r < t.length; ++r) + e += t[r]; + return e; + } + }, + 1539: function (t, e, r) { + "use strict"; + var n = r(8524); + t.exports = function (t, e) { + return n( + t[0].mul(e[1]).add(e[0].mul(t[1])), + t[1].mul(e[1]), + ); + }; + }, + 8846: function (t) { + "use strict"; + t.exports = function (t, e) { + return t[0].mul(e[1]).cmp(e[0].mul(t[1])); + }; + }, + 9189: function (t, e, r) { + "use strict"; + var n = r(8524); + t.exports = function (t, e) { + return n(t[0].mul(e[1]), t[1].mul(e[0])); + }; + }, + 5125: function (t, e, r) { + "use strict"; + var n = r(234), + i = r(3218), + a = r(5514), + o = r(2813), + s = r(8524), + l = r(9189); + t.exports = function t(e, r) { + if (n(e)) + return r + ? l(e, t(r)) + : [e[0].clone(), e[1].clone()]; + var u, + c, + f = 0; + if (i(e)) u = e.clone(); + else if ("string" == typeof e) u = o(e); + else { + if (0 === e) return [a(0), a(1)]; + if (e === Math.floor(e)) u = a(e); + else { + for (; e !== Math.floor(e); ) + (e *= Math.pow(2, 256)), (f -= 256); + u = a(e); + } + } + if (n(r)) u.mul(r[1]), (c = r[0].clone()); + else if (i(r)) c = r.clone(); + else if ("string" == typeof r) c = o(r); + else if (r) + if (r === Math.floor(r)) c = a(r); + else { + for (; r !== Math.floor(r); ) + (r *= Math.pow(2, 256)), (f += 256); + c = a(r); + } + else c = a(1); + return ( + f > 0 + ? (u = u.ushln(f)) + : f < 0 && (c = c.ushln(-f)), + s(u, c) + ); + }; + }, + 234: function (t, e, r) { + "use strict"; + var n = r(3218); + t.exports = function (t) { + return ( + Array.isArray(t) && + 2 === t.length && + n(t[0]) && + n(t[1]) + ); + }; + }, + 4275: function (t, e, r) { + "use strict"; + var n = r(1928); + t.exports = function (t) { + return t.cmp(new n(0)); + }; + }, + 9958: function (t, e, r) { + "use strict"; + var n = r(4275); + t.exports = function (t) { + var e = t.length, + r = t.words, + i = 0; + if (1 === e) i = r[0]; + else if (2 === e) + i = r[0] + 67108864 * r[1]; + else + for (var a = 0; a < e; a++) { + i += r[a] * Math.pow(67108864, a); + } + return n(t) * i; + }; + }, + 1112: function (t, e, r) { + "use strict"; + var n = r(8362), + i = r(2288).countTrailingZeros; + t.exports = function (t) { + var e = i(n.lo(t)); + if (e < 32) return e; + var r = i(n.hi(t)); + return r > 20 ? 52 : r + 32; + }; + }, + 3218: function (t, e, r) { + "use strict"; + r(1928), + (t.exports = function (t) { + return ( + t && + "object" == typeof t && + Boolean(t.words) + ); + }); + }, + 5514: function (t, e, r) { + "use strict"; + var n = r(1928), + i = r(8362); + t.exports = function (t) { + var e = i.exponent(t); + return e < 52 + ? new n(t) + : new n(t * Math.pow(2, 52 - e)).ushln( + e - 52, + ); + }; + }, + 8524: function (t, e, r) { + "use strict"; + var n = r(5514), + i = r(4275); + t.exports = function (t, e) { + var r = i(t), + a = i(e); + if (0 === r) return [n(0), n(1)]; + if (0 === a) return [n(0), n(0)]; + a < 0 && ((t = t.neg()), (e = e.neg())); + var o = t.gcd(e); + return o.cmpn(1) + ? [t.div(o), e.div(o)] + : [t, e]; + }; + }, + 2813: function (t, e, r) { + "use strict"; + var n = r(1928); + t.exports = function (t) { + return new n(t); + }; + }, + 3962: function (t, e, r) { + "use strict"; + var n = r(8524); + t.exports = function (t, e) { + return n(t[0].mul(e[0]), t[1].mul(e[1])); + }; + }, + 4951: function (t, e, r) { + "use strict"; + var n = r(4275); + t.exports = function (t) { + return n(t[0]) * n(t[1]); + }; + }, + 4354: function (t, e, r) { + "use strict"; + var n = r(8524); + t.exports = function (t, e) { + return n( + t[0].mul(e[1]).sub(t[1].mul(e[0])), + t[1].mul(e[1]), + ); + }; + }, + 7999: function (t, e, r) { + "use strict"; + var n = r(9958), + i = r(1112); + t.exports = function (t) { + var e = t[0], + r = t[1]; + if (0 === e.cmpn(0)) return 0; + var a = e.abs().divmod(r.abs()), + o = a.div, + s = n(o), + l = a.mod, + u = e.negative !== r.negative ? -1 : 1; + if (0 === l.cmpn(0)) return u * s; + if (s) { + var c = i(s) + 4, + f = n(l.ushln(c).divRound(r)); + return u * (s + f * Math.pow(2, -c)); + } + var h = r.bitLength() - l.bitLength() + 53; + return ( + (f = n(l.ushln(h).divRound(r))), + h < 1023 + ? u * f * Math.pow(2, -h) + : u * + (f *= Math.pow(2, -1023)) * + Math.pow(2, 1023 - h) + ); + }; + }, + 5070: function (t) { + "use strict"; + function e(t, e, r, n, i) { + for (var a = i + 1; n <= i; ) { + var o = (n + i) >>> 1, + s = t[o]; + (void 0 !== r ? r(s, e) : s - e) >= 0 + ? ((a = o), (i = o - 1)) + : (n = o + 1); + } + return a; + } + function r(t, e, r, n, i) { + for (var a = i + 1; n <= i; ) { + var o = (n + i) >>> 1, + s = t[o]; + (void 0 !== r ? r(s, e) : s - e) > 0 + ? ((a = o), (i = o - 1)) + : (n = o + 1); + } + return a; + } + function n(t, e, r, n, i) { + for (var a = n - 1; n <= i; ) { + var o = (n + i) >>> 1, + s = t[o]; + (void 0 !== r ? r(s, e) : s - e) < 0 + ? ((a = o), (n = o + 1)) + : (i = o - 1); + } + return a; + } + function i(t, e, r, n, i) { + for (var a = n - 1; n <= i; ) { + var o = (n + i) >>> 1, + s = t[o]; + (void 0 !== r ? r(s, e) : s - e) <= 0 + ? ((a = o), (n = o + 1)) + : (i = o - 1); + } + return a; + } + function a(t, e, r, n, i) { + for (; n <= i; ) { + var a = (n + i) >>> 1, + o = t[a], + s = void 0 !== r ? r(o, e) : o - e; + if (0 === s) return a; + s <= 0 ? (n = a + 1) : (i = a - 1); + } + return -1; + } + function o(t, e, r, n, i, a) { + return "function" == typeof r + ? a( + t, + e, + r, + void 0 === n ? 0 : 0 | n, + void 0 === i ? t.length - 1 : 0 | i, + ) + : a( + t, + e, + void 0, + void 0 === r ? 0 : 0 | r, + void 0 === n ? t.length - 1 : 0 | n, + ); + } + t.exports = { + ge: function (t, r, n, i, a) { + return o(t, r, n, i, a, e); + }, + gt: function (t, e, n, i, a) { + return o(t, e, n, i, a, r); + }, + lt: function (t, e, r, i, a) { + return o(t, e, r, i, a, n); + }, + le: function (t, e, r, n, a) { + return o(t, e, r, n, a, i); + }, + eq: function (t, e, r, n, i) { + return o(t, e, r, n, i, a); + }, + }; + }, + 2288: function (t, e) { + "use strict"; + function r(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 + ); + } + (e.INT_BITS = 32), + (e.INT_MAX = 2147483647), + (e.INT_MIN = -1 << 31), + (e.sign = function (t) { + return (t > 0) - (t < 0); + }), + (e.abs = function (t) { + var e = t >> 31; + return (t ^ e) - e; + }), + (e.min = function (t, e) { + return e ^ ((t ^ e) & -(t < e)); + }), + (e.max = function (t, e) { + return t ^ ((t ^ e) & -(t < e)); + }), + (e.isPow2 = function (t) { + return !(t & (t - 1) || !t); + }), + (e.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) + ); + }), + (e.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; + }), + (e.popCount = function (t) { + return ( + (16843009 * + (((t = + (858993459 & + (t -= (t >>> 1) & 1431655765)) + + ((t >>> 2) & 858993459)) + + (t >>> 4)) & + 252645135)) >>> + 24 + ); + }), + (e.countTrailingZeros = r), + (e.nextPow2 = function (t) { + return ( + (t += 0 === t), + --t, + (t |= t >>> 1), + (t |= t >>> 2), + (t |= t >>> 4), + 1 + ((t |= t >>> 8) | (t >>> 16)) + ); + }), + (e.prevPow2 = function (t) { + return ( + (t |= t >>> 1), + (t |= t >>> 2), + (t |= t >>> 4), + (t |= t >>> 8), + (t |= t >>> 16) - (t >>> 1) + ); + }), + (e.parity = function (t) { + return ( + (t ^= t >>> 16), + (t ^= t >>> 8), + (t ^= t >>> 4), + (27030 >>> (t &= 15)) & 1 + ); + }); + var n = 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; + } + })(n), + (e.reverse = function (t) { + return ( + (n[255 & t] << 24) | + (n[(t >>> 8) & 255] << 16) | + (n[(t >>> 16) & 255] << 8) | + n[(t >>> 24) & 255] + ); + }), + (e.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) + ); + }), + (e.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 + ); + }), + (e.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) + ); + }), + (e.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 + ); + }), + (e.nextCombination = function (t) { + var e = t | (t - 1); + return ( + (e + 1) | + (((~e & -~e) - 1) >>> (r(t) + 1)) + ); + }); + }, + 1928: function (t, e, r) { + !(function (t, e) { + "use strict"; + function n(t, e) { + if (!t) + throw new Error( + e || "Assertion failed", + ); + } + function i(t, e) { + t.super_ = e; + var r = function () {}; + (r.prototype = e.prototype), + (t.prototype = new r()), + (t.prototype.constructor = t); + } + function a(t, e, r) { + if (a.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 o; + "object" == typeof t + ? (t.exports = a) + : (e.BN = a), + (a.BN = a), + (a.wordSize = 26); + try { + o = + "undefined" != typeof window && + void 0 !== window.Buffer + ? window.Buffer + : r(6601).Buffer; + } catch (t) {} + function s(t, e) { + var r = t.charCodeAt(e); + return r >= 65 && r <= 70 + ? r - 55 + : r >= 97 && r <= 102 + ? r - 87 + : (r - 48) & 15; + } + function l(t, e, r) { + var n = s(t, r); + return ( + r - 1 >= e && (n |= s(t, r - 1) << 4), n + ); + } + function u(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; + } + (a.isBN = function (t) { + return ( + t instanceof a || + (null !== t && + "object" == typeof t && + t.constructor.wordSize === + a.wordSize && + Array.isArray(t.words)) + ); + }), + (a.max = function (t, e) { + return t.cmp(e) > 0 ? t : e; + }), + (a.min = function (t, e) { + return t.cmp(e) < 0 ? t : e; + }), + (a.prototype._init = function (t, e, r) { + if ("number" == typeof t) + return this._initNumber(t, e, r); + if ("object" == typeof t) + return this._initArray(t, e, r); + "hex" === e && (e = 16), + n(e === (0 | e) && e >= 2 && e <= 36); + var i = 0; + "-" === + (t = t + .toString() + .replace(/\s+/g, ""))[0] && + (i++, (this.negative = 1)), + i < t.length && + (16 === e + ? this._parseHex(t, i, r) + : (this._parseBase(t, e, i), + "le" === r && + this._initArray( + this.toArray(), + e, + r, + ))); + }), + (a.prototype._initNumber = function ( + t, + e, + r, + ) { + 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)) + : (n(t < 9007199254740992), + (this.words = [ + 67108863 & t, + (t / 67108864) & 67108863, + 1, + ]), + (this.length = 3)), + "le" === r && + this._initArray( + this.toArray(), + e, + r, + ); + }), + (a.prototype._initArray = function ( + t, + e, + r, + ) { + if ( + (n("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" === r) + 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" === r) + 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(); + }), + (a.prototype._parseHex = function ( + t, + e, + r, + ) { + (this.length = Math.ceil( + (t.length - e) / 6, + )), + (this.words = new Array(this.length)); + for (var n = 0; n < this.length; n++) + this.words[n] = 0; + var i, + a = 0, + o = 0; + if ("be" === r) + for (n = t.length - 1; n >= e; n -= 2) + (i = l(t, e, n) << a), + (this.words[o] |= 67108863 & i), + a >= 18 + ? ((a -= 18), + (o += 1), + (this.words[o] |= i >>> 26)) + : (a += 8); + else + for ( + n = + (t.length - e) % 2 == 0 + ? e + 1 + : e; + n < t.length; + n += 2 + ) + (i = l(t, e, n) << a), + (this.words[o] |= 67108863 & i), + a >= 18 + ? ((a -= 18), + (o += 1), + (this.words[o] |= i >>> 26)) + : (a += 8); + this.strip(); + }), + (a.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, + s = Math.min(a, a - o) + r, + l = 0, + c = r; + c < s; + c += n + ) + (l = u(t, c, c + n, e)), + this.imuln(i), + this.words[0] + l < 67108864 + ? (this.words[0] += l) + : this._iaddn(l); + if (0 !== o) { + var f = 1; + for ( + l = u(t, c, t.length, e), c = 0; + c < o; + c++ + ) + f *= e; + this.imuln(f), + this.words[0] + l < 67108864 + ? (this.words[0] += l) + : this._iaddn(l); + } + this.strip(); + }), + (a.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); + }), + (a.prototype.clone = function () { + var t = new a(null); + return this.copy(t), t; + }), + (a.prototype._expand = function (t) { + for (; this.length < t; ) + this.words[this.length++] = 0; + return this; + }), + (a.prototype.strip = function () { + for ( + ; + this.length > 1 && + 0 === this.words[this.length - 1]; + + ) + this.length--; + return this._normSign(); + }), + (a.prototype._normSign = function () { + return ( + 1 === this.length && + 0 === this.words[0] && + (this.negative = 0), + this + ); + }), + (a.prototype.inspect = function () { + return ( + (this.red ? "" + ); + }); + var c = [ + "", + "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", + ], + f = [ + 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, + ], + h = [ + 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 p(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, + f = 67108863 & l, + h = Math.min(u, e.length - 1), + p = Math.max(0, u - t.length + 1); + p <= h; + p++ + ) { + var d = (u - p) | 0; + (c += + ((o = + (i = 0 | t.words[d]) * + (a = 0 | e.words[p]) + + f) / + 67108864) | + 0), + (f = 67108863 & o); + } + (r.words[u] = 0 | f), (l = 0 | c); + } + return ( + 0 !== l + ? (r.words[u] = 0 | l) + : r.length--, + r.strip() + ); + } + (a.prototype.toString = function (t, e) { + var r; + if ( + ((e = 0 | e || 1), + 16 === (t = t || 10) || "hex" === t) + ) { + r = ""; + for ( + var i = 0, a = 0, o = 0; + o < this.length; + o++ + ) { + var s = this.words[o], + l = ( + 16777215 & + ((s << i) | a) + ).toString(16); + (r = + 0 != + (a = + (s >>> (24 - i)) & 16777215) || + o !== this.length - 1 + ? c[6 - l.length] + l + r + : l + r), + (i += 2) >= 26 && ((i -= 26), o--); + } + for ( + 0 !== a && (r = a.toString(16) + r); + r.length % e != 0; + + ) + r = "0" + r; + return ( + 0 !== this.negative && (r = "-" + r), + r + ); + } + if (t === (0 | t) && t >= 2 && t <= 36) { + var u = f[t], + p = h[t]; + r = ""; + var d = this.clone(); + for (d.negative = 0; !d.isZero(); ) { + var v = d.modn(p).toString(t); + r = (d = d.idivn(p)).isZero() + ? v + r + : c[u - v.length] + v + r; + } + for ( + this.isZero() && (r = "0" + r); + r.length % e != 0; + + ) + r = "0" + r; + return ( + 0 !== this.negative && (r = "-" + r), + r + ); + } + n(!1, "Base should be between 2 and 36"); + }), + (a.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 && + n( + !1, + "Number can only safely store up to 53 bits", + ), + 0 !== this.negative ? -t : t + ); + }), + (a.prototype.toJSON = function () { + return this.toString(16); + }), + (a.prototype.toBuffer = function (t, e) { + return ( + n(void 0 !== o), + this.toArrayLike(o, t, e) + ); + }), + (a.prototype.toArray = function (t, e) { + return this.toArrayLike(Array, t, e); + }), + (a.prototype.toArrayLike = function ( + t, + e, + r, + ) { + var i = this.byteLength(), + a = r || Math.max(1, i); + n( + i <= a, + "byte array longer than desired length", + ), + n( + 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 + ? (a.prototype._countBits = function ( + t, + ) { + return 32 - Math.clz32(t); + }) + : (a.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 + ); + }), + (a.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 + ); + }), + (a.prototype.bitLength = function () { + var t = this.words[this.length - 1], + e = this._countBits(t); + return 26 * (this.length - 1) + e; + }), + (a.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; + }), + (a.prototype.byteLength = function () { + return Math.ceil(this.bitLength() / 8); + }), + (a.prototype.toTwos = function (t) { + return 0 !== this.negative + ? this.abs().inotn(t).iaddn(1) + : this.clone(); + }), + (a.prototype.fromTwos = function (t) { + return this.testn(t - 1) + ? this.notn(t).iaddn(1).ineg() + : this.clone(); + }), + (a.prototype.isNeg = function () { + return 0 !== this.negative; + }), + (a.prototype.neg = function () { + return this.clone().ineg(); + }), + (a.prototype.ineg = function () { + return ( + this.isZero() || (this.negative ^= 1), + this + ); + }), + (a.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(); + }), + (a.prototype.ior = function (t) { + return ( + n(0 == (this.negative | t.negative)), + this.iuor(t) + ); + }), + (a.prototype.or = function (t) { + return this.length > t.length + ? this.clone().ior(t) + : t.clone().ior(this); + }), + (a.prototype.uor = function (t) { + return this.length > t.length + ? this.clone().iuor(t) + : t.clone().iuor(this); + }), + (a.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() + ); + }), + (a.prototype.iand = function (t) { + return ( + n(0 == (this.negative | t.negative)), + this.iuand(t) + ); + }), + (a.prototype.and = function (t) { + return this.length > t.length + ? this.clone().iand(t) + : t.clone().iand(this); + }), + (a.prototype.uand = function (t) { + return this.length > t.length + ? this.clone().iuand(t) + : t.clone().iuand(this); + }), + (a.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() + ); + }), + (a.prototype.ixor = function (t) { + return ( + n(0 == (this.negative | t.negative)), + this.iuxor(t) + ); + }), + (a.prototype.xor = function (t) { + return this.length > t.length + ? this.clone().ixor(t) + : t.clone().ixor(this); + }), + (a.prototype.uxor = function (t) { + return this.length > t.length + ? this.clone().iuxor(t) + : t.clone().iuxor(this); + }), + (a.prototype.inotn = function (t) { + n("number" == typeof t && t >= 0); + var e = 0 | Math.ceil(t / 26), + r = t % 26; + this._expand(e), r > 0 && e--; + for (var i = 0; i < e; i++) + this.words[i] = + 67108863 & ~this.words[i]; + return ( + r > 0 && + (this.words[i] = + ~this.words[i] & + (67108863 >> (26 - r))), + this.strip() + ); + }), + (a.prototype.notn = function (t) { + return this.clone().inotn(t); + }), + (a.prototype.setn = function (t, e) { + n("number" == typeof t && t >= 0); + var r = (t / 26) | 0, + i = t % 26; + return ( + this._expand(r + 1), + (this.words[r] = e + ? this.words[r] | (1 << i) + : this.words[r] & ~(1 << i)), + this.strip() + ); + }), + (a.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; + }), + (a.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); + }), + (a.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() + ); + }), + (a.prototype.sub = function (t) { + return this.clone().isub(t); + }); + var d = function (t, e, r) { + var n, + i, + a, + o = t.words, + s = e.words, + l = r.words, + u = 0, + c = 0 | o[0], + f = 8191 & c, + h = c >>> 13, + p = 0 | o[1], + d = 8191 & p, + v = p >>> 13, + g = 0 | o[2], + y = 8191 & g, + m = g >>> 13, + x = 0 | o[3], + b = 8191 & x, + _ = x >>> 13, + w = 0 | o[4], + T = 8191 & w, + k = w >>> 13, + A = 0 | o[5], + M = 8191 & A, + S = A >>> 13, + E = 0 | o[6], + L = 8191 & E, + C = E >>> 13, + O = 0 | o[7], + P = 8191 & O, + I = O >>> 13, + D = 0 | o[8], + z = 8191 & D, + R = D >>> 13, + F = 0 | o[9], + B = 8191 & F, + N = F >>> 13, + j = 0 | s[0], + U = 8191 & j, + V = j >>> 13, + H = 0 | s[1], + q = 8191 & H, + G = H >>> 13, + Z = 0 | s[2], + W = 8191 & Z, + Y = Z >>> 13, + X = 0 | s[3], + J = 8191 & X, + K = X >>> 13, + $ = 0 | s[4], + Q = 8191 & $, + tt = $ >>> 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], + ft = 8191 & ct, + ht = ct >>> 13, + pt = 0 | s[9], + dt = 8191 & pt, + vt = pt >>> 13; + (r.negative = t.negative ^ e.negative), + (r.length = 19); + var gt = + (((u + (n = Math.imul(f, U))) | 0) + + ((8191 & + (i = + ((i = Math.imul(f, V)) + + Math.imul(h, U)) | + 0)) << + 13)) | + 0; + (u = + ((((a = Math.imul(h, V)) + (i >>> 13)) | + 0) + + (gt >>> 26)) | + 0), + (gt &= 67108863), + (n = Math.imul(d, U)), + (i = + ((i = Math.imul(d, V)) + + Math.imul(v, U)) | + 0), + (a = Math.imul(v, V)); + var yt = + (((u + + (n = (n + Math.imul(f, q)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, G)) | 0) + + Math.imul(h, q)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(h, G)) | 0) + + (i >>> 13)) | + 0) + + (yt >>> 26)) | + 0), + (yt &= 67108863), + (n = Math.imul(y, U)), + (i = + ((i = Math.imul(y, V)) + + Math.imul(m, U)) | + 0), + (a = Math.imul(m, V)), + (n = (n + Math.imul(d, q)) | 0), + (i = + ((i = (i + Math.imul(d, G)) | 0) + + Math.imul(v, q)) | + 0), + (a = (a + Math.imul(v, G)) | 0); + var mt = + (((u + + (n = (n + Math.imul(f, W)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, Y)) | 0) + + Math.imul(h, W)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(h, Y)) | 0) + + (i >>> 13)) | + 0) + + (mt >>> 26)) | + 0), + (mt &= 67108863), + (n = Math.imul(b, U)), + (i = + ((i = Math.imul(b, V)) + + Math.imul(_, U)) | + 0), + (a = Math.imul(_, V)), + (n = (n + Math.imul(y, q)) | 0), + (i = + ((i = (i + Math.imul(y, G)) | 0) + + Math.imul(m, q)) | + 0), + (a = (a + Math.imul(m, G)) | 0), + (n = (n + Math.imul(d, W)) | 0), + (i = + ((i = (i + Math.imul(d, Y)) | 0) + + Math.imul(v, W)) | + 0), + (a = (a + Math.imul(v, Y)) | 0); + var xt = + (((u + + (n = (n + Math.imul(f, J)) | 0)) | + 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, K)) | 0) + + Math.imul(h, J)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(h, K)) | 0) + + (i >>> 13)) | + 0) + + (xt >>> 26)) | + 0), + (xt &= 67108863), + (n = Math.imul(T, U)), + (i = + ((i = Math.imul(T, V)) + + Math.imul(k, U)) | + 0), + (a = Math.imul(k, V)), + (n = (n + Math.imul(b, q)) | 0), + (i = + ((i = (i + Math.imul(b, G)) | 0) + + Math.imul(_, q)) | + 0), + (a = (a + Math.imul(_, G)) | 0), + (n = (n + Math.imul(y, W)) | 0), + (i = + ((i = (i + Math.imul(y, Y)) | 0) + + Math.imul(m, W)) | + 0), + (a = (a + Math.imul(m, Y)) | 0), + (n = (n + Math.imul(d, J)) | 0), + (i = + ((i = (i + Math.imul(d, K)) | 0) + + Math.imul(v, J)) | + 0), + (a = (a + Math.imul(v, K)) | 0); + var bt = + (((u + + (n = (n + Math.imul(f, Q)) | 0)) | + 0) + + ((8191 & + (i = + ((i = + (i + Math.imul(f, tt)) | 0) + + Math.imul(h, Q)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(h, tt)) | 0) + + (i >>> 13)) | + 0) + + (bt >>> 26)) | + 0), + (bt &= 67108863), + (n = Math.imul(M, U)), + (i = + ((i = Math.imul(M, V)) + + Math.imul(S, U)) | + 0), + (a = Math.imul(S, V)), + (n = (n + Math.imul(T, q)) | 0), + (i = + ((i = (i + Math.imul(T, G)) | 0) + + Math.imul(k, q)) | + 0), + (a = (a + Math.imul(k, G)) | 0), + (n = (n + Math.imul(b, W)) | 0), + (i = + ((i = (i + Math.imul(b, Y)) | 0) + + Math.imul(_, W)) | + 0), + (a = (a + Math.imul(_, Y)) | 0), + (n = (n + Math.imul(y, J)) | 0), + (i = + ((i = (i + Math.imul(y, K)) | 0) + + Math.imul(m, J)) | + 0), + (a = (a + Math.imul(m, K)) | 0), + (n = (n + Math.imul(d, Q)) | 0), + (i = + ((i = (i + Math.imul(d, tt)) | 0) + + Math.imul(v, Q)) | + 0), + (a = (a + Math.imul(v, tt)) | 0); + var _t = + (((u + + (n = (n + Math.imul(f, rt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = + (i + Math.imul(f, nt)) | 0) + + Math.imul(h, rt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(h, nt)) | 0) + + (i >>> 13)) | + 0) + + (_t >>> 26)) | + 0), + (_t &= 67108863), + (n = Math.imul(L, U)), + (i = + ((i = Math.imul(L, V)) + + Math.imul(C, U)) | + 0), + (a = Math.imul(C, V)), + (n = (n + Math.imul(M, q)) | 0), + (i = + ((i = (i + Math.imul(M, G)) | 0) + + Math.imul(S, q)) | + 0), + (a = (a + Math.imul(S, G)) | 0), + (n = (n + Math.imul(T, W)) | 0), + (i = + ((i = (i + Math.imul(T, Y)) | 0) + + Math.imul(k, W)) | + 0), + (a = (a + Math.imul(k, Y)) | 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(y, Q)) | 0), + (i = + ((i = (i + Math.imul(y, tt)) | 0) + + Math.imul(m, Q)) | + 0), + (a = (a + Math.imul(m, tt)) | 0), + (n = (n + Math.imul(d, rt)) | 0), + (i = + ((i = (i + Math.imul(d, nt)) | 0) + + Math.imul(v, rt)) | + 0), + (a = (a + Math.imul(v, nt)) | 0); + var wt = + (((u + + (n = (n + Math.imul(f, at)) | 0)) | + 0) + + ((8191 & + (i = + ((i = + (i + Math.imul(f, ot)) | 0) + + Math.imul(h, at)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(h, ot)) | 0) + + (i >>> 13)) | + 0) + + (wt >>> 26)) | + 0), + (wt &= 67108863), + (n = Math.imul(P, U)), + (i = + ((i = Math.imul(P, V)) + + Math.imul(I, U)) | + 0), + (a = Math.imul(I, V)), + (n = (n + Math.imul(L, q)) | 0), + (i = + ((i = (i + Math.imul(L, G)) | 0) + + Math.imul(C, q)) | + 0), + (a = (a + Math.imul(C, G)) | 0), + (n = (n + Math.imul(M, W)) | 0), + (i = + ((i = (i + Math.imul(M, Y)) | 0) + + Math.imul(S, W)) | + 0), + (a = (a + Math.imul(S, Y)) | 0), + (n = (n + Math.imul(T, J)) | 0), + (i = + ((i = (i + Math.imul(T, K)) | 0) + + Math.imul(k, J)) | + 0), + (a = (a + Math.imul(k, K)) | 0), + (n = (n + Math.imul(b, Q)) | 0), + (i = + ((i = (i + Math.imul(b, tt)) | 0) + + Math.imul(_, Q)) | + 0), + (a = (a + Math.imul(_, tt)) | 0), + (n = (n + Math.imul(y, rt)) | 0), + (i = + ((i = (i + Math.imul(y, nt)) | 0) + + Math.imul(m, rt)) | + 0), + (a = (a + Math.imul(m, nt)) | 0), + (n = (n + Math.imul(d, at)) | 0), + (i = + ((i = (i + Math.imul(d, ot)) | 0) + + Math.imul(v, at)) | + 0), + (a = (a + Math.imul(v, ot)) | 0); + var Tt = + (((u + + (n = (n + Math.imul(f, lt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = + (i + Math.imul(f, ut)) | 0) + + Math.imul(h, lt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(h, ut)) | 0) + + (i >>> 13)) | + 0) + + (Tt >>> 26)) | + 0), + (Tt &= 67108863), + (n = Math.imul(z, U)), + (i = + ((i = Math.imul(z, V)) + + Math.imul(R, U)) | + 0), + (a = Math.imul(R, V)), + (n = (n + Math.imul(P, q)) | 0), + (i = + ((i = (i + Math.imul(P, G)) | 0) + + Math.imul(I, q)) | + 0), + (a = (a + Math.imul(I, G)) | 0), + (n = (n + Math.imul(L, W)) | 0), + (i = + ((i = (i + Math.imul(L, Y)) | 0) + + Math.imul(C, W)) | + 0), + (a = (a + Math.imul(C, Y)) | 0), + (n = (n + Math.imul(M, J)) | 0), + (i = + ((i = (i + Math.imul(M, K)) | 0) + + Math.imul(S, J)) | + 0), + (a = (a + Math.imul(S, K)) | 0), + (n = (n + Math.imul(T, Q)) | 0), + (i = + ((i = (i + Math.imul(T, tt)) | 0) + + Math.imul(k, Q)) | + 0), + (a = (a + Math.imul(k, 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(y, at)) | 0), + (i = + ((i = (i + Math.imul(y, ot)) | 0) + + Math.imul(m, at)) | + 0), + (a = (a + Math.imul(m, ot)) | 0), + (n = (n + Math.imul(d, lt)) | 0), + (i = + ((i = (i + Math.imul(d, ut)) | 0) + + Math.imul(v, lt)) | + 0), + (a = (a + Math.imul(v, ut)) | 0); + var kt = + (((u + + (n = (n + Math.imul(f, ft)) | 0)) | + 0) + + ((8191 & + (i = + ((i = + (i + Math.imul(f, ht)) | 0) + + Math.imul(h, ft)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(h, ht)) | 0) + + (i >>> 13)) | + 0) + + (kt >>> 26)) | + 0), + (kt &= 67108863), + (n = Math.imul(B, U)), + (i = + ((i = Math.imul(B, V)) + + Math.imul(N, U)) | + 0), + (a = Math.imul(N, V)), + (n = (n + Math.imul(z, q)) | 0), + (i = + ((i = (i + Math.imul(z, G)) | 0) + + Math.imul(R, q)) | + 0), + (a = (a + Math.imul(R, G)) | 0), + (n = (n + Math.imul(P, W)) | 0), + (i = + ((i = (i + Math.imul(P, Y)) | 0) + + Math.imul(I, W)) | + 0), + (a = (a + Math.imul(I, Y)) | 0), + (n = (n + Math.imul(L, J)) | 0), + (i = + ((i = (i + Math.imul(L, K)) | 0) + + Math.imul(C, J)) | + 0), + (a = (a + Math.imul(C, K)) | 0), + (n = (n + Math.imul(M, Q)) | 0), + (i = + ((i = (i + Math.imul(M, tt)) | 0) + + Math.imul(S, Q)) | + 0), + (a = (a + Math.imul(S, tt)) | 0), + (n = (n + Math.imul(T, rt)) | 0), + (i = + ((i = (i + Math.imul(T, nt)) | 0) + + Math.imul(k, rt)) | + 0), + (a = (a + Math.imul(k, 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(y, lt)) | 0), + (i = + ((i = (i + Math.imul(y, ut)) | 0) + + Math.imul(m, lt)) | + 0), + (a = (a + Math.imul(m, ut)) | 0), + (n = (n + Math.imul(d, ft)) | 0), + (i = + ((i = (i + Math.imul(d, ht)) | 0) + + Math.imul(v, ft)) | + 0), + (a = (a + Math.imul(v, ht)) | 0); + var At = + (((u + + (n = (n + Math.imul(f, dt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = + (i + Math.imul(f, vt)) | 0) + + Math.imul(h, dt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(h, vt)) | 0) + + (i >>> 13)) | + 0) + + (At >>> 26)) | + 0), + (At &= 67108863), + (n = Math.imul(B, q)), + (i = + ((i = Math.imul(B, G)) + + Math.imul(N, q)) | + 0), + (a = Math.imul(N, G)), + (n = (n + Math.imul(z, W)) | 0), + (i = + ((i = (i + Math.imul(z, Y)) | 0) + + Math.imul(R, W)) | + 0), + (a = (a + Math.imul(R, Y)) | 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(L, Q)) | 0), + (i = + ((i = (i + Math.imul(L, tt)) | 0) + + Math.imul(C, Q)) | + 0), + (a = (a + Math.imul(C, tt)) | 0), + (n = (n + Math.imul(M, rt)) | 0), + (i = + ((i = (i + Math.imul(M, nt)) | 0) + + Math.imul(S, rt)) | + 0), + (a = (a + Math.imul(S, nt)) | 0), + (n = (n + Math.imul(T, at)) | 0), + (i = + ((i = (i + Math.imul(T, ot)) | 0) + + Math.imul(k, at)) | + 0), + (a = (a + Math.imul(k, 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(y, ft)) | 0), + (i = + ((i = (i + Math.imul(y, ht)) | 0) + + Math.imul(m, ft)) | + 0), + (a = (a + Math.imul(m, ht)) | 0); + var Mt = + (((u + + (n = (n + Math.imul(d, dt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = + (i + Math.imul(d, vt)) | 0) + + Math.imul(v, dt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(v, vt)) | 0) + + (i >>> 13)) | + 0) + + (Mt >>> 26)) | + 0), + (Mt &= 67108863), + (n = Math.imul(B, W)), + (i = + ((i = Math.imul(B, Y)) + + Math.imul(N, W)) | + 0), + (a = Math.imul(N, Y)), + (n = (n + Math.imul(z, J)) | 0), + (i = + ((i = (i + Math.imul(z, K)) | 0) + + Math.imul(R, J)) | + 0), + (a = (a + Math.imul(R, K)) | 0), + (n = (n + Math.imul(P, Q)) | 0), + (i = + ((i = (i + Math.imul(P, tt)) | 0) + + Math.imul(I, Q)) | + 0), + (a = (a + Math.imul(I, tt)) | 0), + (n = (n + Math.imul(L, rt)) | 0), + (i = + ((i = (i + Math.imul(L, nt)) | 0) + + Math.imul(C, rt)) | + 0), + (a = (a + Math.imul(C, nt)) | 0), + (n = (n + Math.imul(M, at)) | 0), + (i = + ((i = (i + Math.imul(M, ot)) | 0) + + Math.imul(S, at)) | + 0), + (a = (a + Math.imul(S, ot)) | 0), + (n = (n + Math.imul(T, lt)) | 0), + (i = + ((i = (i + Math.imul(T, ut)) | 0) + + Math.imul(k, lt)) | + 0), + (a = (a + Math.imul(k, ut)) | 0), + (n = (n + Math.imul(b, ft)) | 0), + (i = + ((i = (i + Math.imul(b, ht)) | 0) + + Math.imul(_, ft)) | + 0), + (a = (a + Math.imul(_, ht)) | 0); + var St = + (((u + + (n = (n + Math.imul(y, dt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = + (i + Math.imul(y, vt)) | 0) + + Math.imul(m, dt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(m, vt)) | 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(z, Q)) | 0), + (i = + ((i = (i + Math.imul(z, tt)) | 0) + + Math.imul(R, Q)) | + 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(L, at)) | 0), + (i = + ((i = (i + Math.imul(L, ot)) | 0) + + Math.imul(C, at)) | + 0), + (a = (a + Math.imul(C, ot)) | 0), + (n = (n + Math.imul(M, lt)) | 0), + (i = + ((i = (i + Math.imul(M, ut)) | 0) + + Math.imul(S, lt)) | + 0), + (a = (a + Math.imul(S, ut)) | 0), + (n = (n + Math.imul(T, ft)) | 0), + (i = + ((i = (i + Math.imul(T, ht)) | 0) + + Math.imul(k, ft)) | + 0), + (a = (a + Math.imul(k, ht)) | 0); + var Et = + (((u + + (n = (n + Math.imul(b, dt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = + (i + Math.imul(b, vt)) | 0) + + Math.imul(_, dt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(_, vt)) | 0) + + (i >>> 13)) | + 0) + + (Et >>> 26)) | + 0), + (Et &= 67108863), + (n = Math.imul(B, Q)), + (i = + ((i = Math.imul(B, tt)) + + Math.imul(N, Q)) | + 0), + (a = Math.imul(N, tt)), + (n = (n + Math.imul(z, rt)) | 0), + (i = + ((i = (i + Math.imul(z, 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(L, lt)) | 0), + (i = + ((i = (i + Math.imul(L, ut)) | 0) + + Math.imul(C, lt)) | + 0), + (a = (a + Math.imul(C, ut)) | 0), + (n = (n + Math.imul(M, ft)) | 0), + (i = + ((i = (i + Math.imul(M, ht)) | 0) + + Math.imul(S, ft)) | + 0), + (a = (a + Math.imul(S, ht)) | 0); + var Lt = + (((u + + (n = (n + Math.imul(T, dt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = + (i + Math.imul(T, vt)) | 0) + + Math.imul(k, dt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(k, vt)) | 0) + + (i >>> 13)) | + 0) + + (Lt >>> 26)) | + 0), + (Lt &= 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(z, at)) | 0), + (i = + ((i = (i + Math.imul(z, 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(L, ft)) | 0), + (i = + ((i = (i + Math.imul(L, ht)) | 0) + + Math.imul(C, ft)) | + 0), + (a = (a + Math.imul(C, ht)) | 0); + var Ct = + (((u + + (n = (n + Math.imul(M, dt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = + (i + Math.imul(M, vt)) | 0) + + Math.imul(S, dt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(S, vt)) | 0) + + (i >>> 13)) | + 0) + + (Ct >>> 26)) | + 0), + (Ct &= 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(z, lt)) | 0), + (i = + ((i = (i + Math.imul(z, ut)) | 0) + + Math.imul(R, lt)) | + 0), + (a = (a + Math.imul(R, ut)) | 0), + (n = (n + Math.imul(P, ft)) | 0), + (i = + ((i = (i + Math.imul(P, ht)) | 0) + + Math.imul(I, ft)) | + 0), + (a = (a + Math.imul(I, ht)) | 0); + var Ot = + (((u + + (n = (n + Math.imul(L, dt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = + (i + Math.imul(L, vt)) | 0) + + Math.imul(C, dt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(C, vt)) | 0) + + (i >>> 13)) | + 0) + + (Ot >>> 26)) | + 0), + (Ot &= 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(z, ft)) | 0), + (i = + ((i = (i + Math.imul(z, ht)) | 0) + + Math.imul(R, ft)) | + 0), + (a = (a + Math.imul(R, ht)) | 0); + var Pt = + (((u + + (n = (n + Math.imul(P, dt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = + (i + Math.imul(P, vt)) | 0) + + Math.imul(I, dt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(I, vt)) | 0) + + (i >>> 13)) | + 0) + + (Pt >>> 26)) | + 0), + (Pt &= 67108863), + (n = Math.imul(B, ft)), + (i = + ((i = Math.imul(B, ht)) + + Math.imul(N, ft)) | + 0), + (a = Math.imul(N, ht)); + var It = + (((u + + (n = (n + Math.imul(z, dt)) | 0)) | + 0) + + ((8191 & + (i = + ((i = + (i + Math.imul(z, vt)) | 0) + + Math.imul(R, dt)) | + 0)) << + 13)) | + 0; + (u = + ((((a = (a + Math.imul(R, vt)) | 0) + + (i >>> 13)) | + 0) + + (It >>> 26)) | + 0), + (It &= 67108863); + var Dt = + (((u + (n = Math.imul(B, dt))) | 0) + + ((8191 & + (i = + ((i = Math.imul(B, vt)) + + Math.imul(N, dt)) | + 0)) << + 13)) | + 0; + return ( + (u = + ((((a = Math.imul(N, vt)) + + (i >>> 13)) | + 0) + + (Dt >>> 26)) | + 0), + (Dt &= 67108863), + (l[0] = gt), + (l[1] = yt), + (l[2] = mt), + (l[3] = xt), + (l[4] = bt), + (l[5] = _t), + (l[6] = wt), + (l[7] = Tt), + (l[8] = kt), + (l[9] = At), + (l[10] = Mt), + (l[11] = St), + (l[12] = Et), + (l[13] = Lt), + (l[14] = Ct), + (l[15] = Ot), + (l[16] = Pt), + (l[17] = It), + (l[18] = Dt), + 0 !== u && ((l[19] = u), r.length++), + r + ); + }; + function v(t, e, r) { + return new g().mulp(t, e, r); + } + function g(t, e) { + (this.x = t), (this.y = e); + } + Math.imul || (d = p), + (a.prototype.mulTo = function (t, e) { + var r, + n = this.length + t.length; + return ( + (r = + 10 === this.length && + 10 === t.length + ? d(this, t, e) + : n < 63 + ? p(this, t, e) + : n < 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, + f = + (0 | t.words[c]) * + (0 | e.words[u]), + h = 67108863 & f; + (s = + 67108863 & + (h = (h + s) | 0)), + (i += + (o = + ((o = + (o + + ((f / + 67108864) | + 0)) | + 0) + + (h >>> 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) + : v(this, t, e)), + r + ); + }), + (g.prototype.makeRBT = function (t) { + for ( + var e = new Array(t), + r = a.prototype._countBits(t) - 1, + n = 0; + n < t; + n++ + ) + e[n] = this.revBin(n, r, t); + return e; + }), + (g.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; + }), + (g.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]]); + }), + (g.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 f = l, h = u, p = 0; + p < o; + p++ + ) { + var d = r[c + p], + v = n[c + p], + g = r[c + p + o], + y = n[c + p + o], + m = f * g - h * y; + (y = f * y + h * g), + (g = m), + (r[c + p] = d + g), + (n[c + p] = v + y), + (r[c + p + o] = d - g), + (n[c + p + o] = v - y), + p !== s && + ((m = l * f - u * h), + (h = l * h + u * f), + (f = m)); + } + }), + (g.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); + }), + (g.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); + } + }), + (g.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; + }), + (g.prototype.convert13b = function ( + t, + e, + r, + i, + ) { + for (var a = 0, o = 0; o < e; o++) + (a += 0 | t[o]), + (r[2 * o] = 8191 & a), + (a >>>= 13), + (r[2 * o + 1] = 8191 & a), + (a >>>= 13); + for (o = 2 * e; o < i; ++o) r[o] = 0; + n(0 === a), n(0 == (-8192 & a)); + }), + (g.prototype.stub = function (t) { + for ( + var e = new Array(t), r = 0; + r < t; + r++ + ) + e[r] = 0; + return e; + }), + (g.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), + f = new Array(n), + h = r.words; + (h.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, f, n, i); + for (var p = 0; p < n; p++) { + var d = s[p] * c[p] - l[p] * f[p]; + (l[p] = s[p] * f[p] + l[p] * c[p]), + (s[p] = d); + } + return ( + this.conjugate(s, l, n), + this.transform(s, l, h, a, n, i), + this.conjugate(h, a, n), + this.normalize13b(h, n), + (r.negative = + t.negative ^ e.negative), + (r.length = t.length + e.length), + r.strip() + ); + }), + (a.prototype.mul = function (t) { + var e = new a(null); + return ( + (e.words = new Array( + this.length + t.length, + )), + this.mulTo(t, e) + ); + }), + (a.prototype.mulf = function (t) { + var e = new a(null); + return ( + (e.words = new Array( + this.length + t.length, + )), + v(this, t, e) + ); + }), + (a.prototype.imul = function (t) { + return this.clone().mulTo(t, this); + }), + (a.prototype.imuln = function (t) { + n("number" == typeof t), + n(t < 67108864); + for ( + var e = 0, r = 0; + r < this.length; + r++ + ) { + var i = (0 | this.words[r]) * t, + a = (67108863 & i) + (67108863 & e); + (e >>= 26), + (e += (i / 67108864) | 0), + (e += a >>> 26), + (this.words[r] = 67108863 & a); + } + return ( + 0 !== e && + ((this.words[r] = e), + this.length++), + this + ); + }), + (a.prototype.muln = function (t) { + return this.clone().imuln(t); + }), + (a.prototype.sqr = function () { + return this.mul(this); + }), + (a.prototype.isqr = function () { + return this.imul(this.clone()); + }), + (a.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 a(1); + for ( + var r = this, n = 0; + n < e.length && 0 === e[n]; + n++, r = r.sqr() + ); + if (++n < e.length) + for ( + var i = r.sqr(); + n < e.length; + n++, i = i.sqr() + ) + 0 !== e[n] && (r = r.mul(i)); + return r; + }), + (a.prototype.iushln = function (t) { + n("number" == typeof t && t >= 0); + var e, + r = t % 26, + i = (t - r) / 26, + a = + (67108863 >>> (26 - r)) << (26 - r); + if (0 !== r) { + var o = 0; + for (e = 0; e < this.length; e++) { + var s = this.words[e] & a, + l = + ((0 | this.words[e]) - s) << r; + (this.words[e] = l | o), + (o = s >>> (26 - r)); + } + 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(); + }), + (a.prototype.ishln = function (t) { + return ( + n(0 === this.negative), this.iushln(t) + ); + }), + (a.prototype.iushrn = function (t, e, r) { + var i; + n("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 = r; + 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 f = 0 | this.words[u]; + (this.words[u] = + (c << (26 - a)) | (f >>> a)), + (c = f & s); + } + return ( + l && + 0 !== c && + (l.words[l.length++] = c), + 0 === this.length && + ((this.words[0] = 0), + (this.length = 1)), + this.strip() + ); + }), + (a.prototype.ishrn = function (t, e, r) { + return ( + n(0 === this.negative), + this.iushrn(t, e, r) + ); + }), + (a.prototype.shln = function (t) { + return this.clone().ishln(t); + }), + (a.prototype.ushln = function (t) { + return this.clone().iushln(t); + }), + (a.prototype.shrn = function (t) { + return this.clone().ishrn(t); + }), + (a.prototype.ushrn = function (t) { + return this.clone().iushrn(t); + }), + (a.prototype.testn = function (t) { + n("number" == typeof t && t >= 0); + var e = t % 26, + r = (t - e) / 26, + i = 1 << e; + return !( + this.length <= r || + !(this.words[r] & i) + ); + }), + (a.prototype.imaskn = function (t) { + n("number" == typeof t && t >= 0); + var e = t % 26, + r = (t - e) / 26; + if ( + (n( + 0 === this.negative, + "imaskn works only with positive numbers", + ), + this.length <= r) + ) + return this; + if ( + (0 !== e && r++, + (this.length = Math.min( + r, + this.length, + )), + 0 !== e) + ) { + var i = + 67108863 ^ ((67108863 >>> e) << e); + this.words[this.length - 1] &= i; + } + return this.strip(); + }), + (a.prototype.maskn = function (t) { + return this.clone().imaskn(t); + }), + (a.prototype.iaddn = function (t) { + return ( + n("number" == typeof t), + n(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) + ); + }), + (a.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 + ); + }), + (a.prototype.isubn = function (t) { + if ( + (n("number" == typeof t), + n(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(); + }), + (a.prototype.addn = function (t) { + return this.clone().iaddn(t); + }), + (a.prototype.subn = function (t) { + return this.clone().isubn(t); + }), + (a.prototype.iabs = function () { + return (this.negative = 0), this; + }), + (a.prototype.abs = function () { + return this.clone().iabs(); + }), + (a.prototype._ishlnsubmul = function ( + t, + e, + r, + ) { + var i, + a, + o = t.length + r; + this._expand(o); + var s = 0; + for (i = 0; i < t.length; i++) { + a = (0 | this.words[i + r]) + s; + var l = (0 | t.words[i]) * e; + (s = + ((a -= 67108863 & l) >> 26) - + ((l / 67108864) | 0)), + (this.words[i + r] = 67108863 & a); + } + for (; i < this.length - r; i++) + (s = + (a = (0 | this.words[i + r]) + s) >> + 26), + (this.words[i + r] = 67108863 & a); + if (0 === s) return this.strip(); + for ( + n(-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() + ); + }), + (a.prototype._wordDiv = function (t, e) { + var r = (this.length, t.length), + n = this.clone(), + i = t, + o = 0 | i.words[i.length - 1]; + 0 != (r = 26 - this._countBits(o)) && + ((i = i.ushln(r)), + n.iushln(r), + (o = 0 | i.words[i.length - 1])); + var s, + l = n.length - i.length; + if ("mod" !== e) { + ((s = new a(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(i, 1, l); + 0 === c.negative && + ((n = c), s && (s.words[l] = 1)); + for (var f = l - 1; f >= 0; f--) { + var h = + 67108864 * + (0 | n.words[i.length + f]) + + (0 | n.words[i.length + f - 1]); + for ( + h = Math.min((h / o) | 0, 67108863), + n._ishlnsubmul(i, h, f); + 0 !== n.negative; + + ) + h--, + (n.negative = 0), + n._ishlnsubmul(i, 1, f), + n.isZero() || (n.negative ^= 1); + s && (s.words[f] = h); + } + return ( + s && s.strip(), + n.strip(), + "div" !== e && 0 !== r && n.iushrn(r), + { div: s || null, mod: n } + ); + }), + (a.prototype.divmod = function (t, e, r) { + return ( + n(!t.isZero()), + this.isZero() + ? { div: new a(0), mod: new a(0) } + : 0 !== this.negative && + 0 === t.negative + ? ((s = this.neg().divmod(t, e)), + "mod" !== e && (i = s.div.neg()), + "div" !== e && + ((o = s.mod.neg()), + r && + 0 !== o.negative && + o.iadd(t)), + { div: i, mod: o }) + : 0 === this.negative && + 0 !== t.negative + ? ((s = this.divmod(t.neg(), e)), + "mod" !== e && (i = s.div.neg()), + { div: i, mod: s.mod }) + : 0 != (this.negative & t.negative) + ? ((s = this.neg().divmod( + t.neg(), + e, + )), + "div" !== e && + ((o = s.mod.neg()), + r && + 0 !== o.negative && + o.isub(t)), + { div: s.div, mod: o }) + : t.length > this.length || + this.cmp(t) < 0 + ? { div: new a(0), mod: this } + : 1 === t.length + ? "div" === e + ? { + div: this.divn(t.words[0]), + mod: null, + } + : "mod" === e + ? { + div: null, + mod: new a( + this.modn(t.words[0]), + ), + } + : { + div: this.divn(t.words[0]), + mod: new a( + this.modn(t.words[0]), + ), + } + : this._wordDiv(t, e) + ); + var i, o, s; + }), + (a.prototype.div = function (t) { + return this.divmod(t, "div", !1).div; + }), + (a.prototype.mod = function (t) { + return this.divmod(t, "mod", !1).mod; + }), + (a.prototype.umod = function (t) { + return this.divmod(t, "mod", !0).mod; + }), + (a.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); + }), + (a.prototype.modn = function (t) { + n(t <= 67108863); + for ( + var e = (1 << 26) % t, + r = 0, + i = this.length - 1; + i >= 0; + i-- + ) + r = (e * r + (0 | this.words[i])) % t; + return r; + }), + (a.prototype.idivn = function (t) { + n(t <= 67108863); + for ( + var e = 0, r = this.length - 1; + r >= 0; + r-- + ) { + var i = + (0 | this.words[r]) + 67108864 * e; + (this.words[r] = (i / t) | 0), + (e = i % t); + } + return this.strip(); + }), + (a.prototype.divn = function (t) { + return this.clone().idivn(t); + }), + (a.prototype.egcd = function (t) { + n(0 === t.negative), n(!t.isZero()); + var e = this, + r = t.clone(); + e = + 0 !== e.negative + ? e.umod(t) + : e.clone(); + for ( + var i = new a(1), + o = new a(0), + s = new a(0), + l = new a(1), + u = 0; + e.isEven() && r.isEven(); + + ) + e.iushrn(1), r.iushrn(1), ++u; + for ( + var c = r.clone(), f = e.clone(); + !e.isZero(); + + ) { + for ( + var h = 0, p = 1; + 0 == (e.words[0] & p) && h < 26; + ++h, p <<= 1 + ); + if (h > 0) + for (e.iushrn(h); h-- > 0; ) + (i.isOdd() || o.isOdd()) && + (i.iadd(c), o.isub(f)), + i.iushrn(1), + o.iushrn(1); + for ( + var d = 0, v = 1; + 0 == (r.words[0] & v) && d < 26; + ++d, v <<= 1 + ); + if (d > 0) + for (r.iushrn(d); d-- > 0; ) + (s.isOdd() || l.isOdd()) && + (s.iadd(c), l.isub(f)), + s.iushrn(1), + l.iushrn(1); + e.cmp(r) >= 0 + ? (e.isub(r), i.isub(s), o.isub(l)) + : (r.isub(e), s.isub(i), l.isub(o)); + } + return { a: s, b: l, gcd: r.iushln(u) }; + }), + (a.prototype._invmp = function (t) { + n(0 === t.negative), n(!t.isZero()); + var e = this, + r = t.clone(); + e = + 0 !== e.negative + ? e.umod(t) + : e.clone(); + for ( + var i, + o = new a(1), + s = new a(0), + l = r.clone(); + e.cmpn(1) > 0 && r.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 f = 0, h = 1; + 0 == (r.words[0] & h) && f < 26; + ++f, h <<= 1 + ); + if (f > 0) + for (r.iushrn(f); f-- > 0; ) + s.isOdd() && s.iadd(l), + s.iushrn(1); + e.cmp(r) >= 0 + ? (e.isub(r), o.isub(s)) + : (r.isub(e), s.isub(o)); + } + return ( + (i = 0 === e.cmpn(1) ? o : s).cmpn( + 0, + ) < 0 && i.iadd(t), + i + ); + }), + (a.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); + }), + (a.prototype.invm = function (t) { + return this.egcd(t).a.umod(t); + }), + (a.prototype.isEven = function () { + return 0 == (1 & this.words[0]); + }), + (a.prototype.isOdd = function () { + return 1 == (1 & this.words[0]); + }), + (a.prototype.andln = function (t) { + return this.words[0] & t; + }), + (a.prototype.bincn = function (t) { + n("number" == typeof t); + var e = t % 26, + r = (t - e) / 26, + i = 1 << e; + if (this.length <= r) + return ( + this._expand(r + 1), + (this.words[r] |= i), + this + ); + for ( + var a = i, o = r; + 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 + ); + }), + (a.prototype.isZero = function () { + return ( + 1 === this.length && + 0 === this.words[0] + ); + }), + (a.prototype.cmpn = function (t) { + var e, + r = t < 0; + if (0 !== this.negative && !r) + return -1; + if (0 === this.negative && r) return 1; + if ((this.strip(), this.length > 1)) + e = 1; + else { + r && (t = -t), + n( + 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; + }), + (a.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; + }), + (a.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; + }), + (a.prototype.gtn = function (t) { + return 1 === this.cmpn(t); + }), + (a.prototype.gt = function (t) { + return 1 === this.cmp(t); + }), + (a.prototype.gten = function (t) { + return this.cmpn(t) >= 0; + }), + (a.prototype.gte = function (t) { + return this.cmp(t) >= 0; + }), + (a.prototype.ltn = function (t) { + return -1 === this.cmpn(t); + }), + (a.prototype.lt = function (t) { + return -1 === this.cmp(t); + }), + (a.prototype.lten = function (t) { + return this.cmpn(t) <= 0; + }), + (a.prototype.lte = function (t) { + return this.cmp(t) <= 0; + }), + (a.prototype.eqn = function (t) { + return 0 === this.cmpn(t); + }), + (a.prototype.eq = function (t) { + return 0 === this.cmp(t); + }), + (a.red = function (t) { + return new T(t); + }), + (a.prototype.toRed = function (t) { + return ( + n( + !this.red, + "Already a number in reduction context", + ), + n( + 0 === this.negative, + "red works only with positives", + ), + t.convertTo(this)._forceRed(t) + ); + }), + (a.prototype.fromRed = function () { + return ( + n( + this.red, + "fromRed works only with numbers in reduction context", + ), + this.red.convertFrom(this) + ); + }), + (a.prototype._forceRed = function (t) { + return (this.red = t), this; + }), + (a.prototype.forceRed = function (t) { + return ( + n( + !this.red, + "Already a number in reduction context", + ), + this._forceRed(t) + ); + }), + (a.prototype.redAdd = function (t) { + return ( + n( + this.red, + "redAdd works only with red numbers", + ), + this.red.add(this, t) + ); + }), + (a.prototype.redIAdd = function (t) { + return ( + n( + this.red, + "redIAdd works only with red numbers", + ), + this.red.iadd(this, t) + ); + }), + (a.prototype.redSub = function (t) { + return ( + n( + this.red, + "redSub works only with red numbers", + ), + this.red.sub(this, t) + ); + }), + (a.prototype.redISub = function (t) { + return ( + n( + this.red, + "redISub works only with red numbers", + ), + this.red.isub(this, t) + ); + }), + (a.prototype.redShl = function (t) { + return ( + n( + this.red, + "redShl works only with red numbers", + ), + this.red.shl(this, t) + ); + }), + (a.prototype.redMul = function (t) { + return ( + n( + this.red, + "redMul works only with red numbers", + ), + this.red._verify2(this, t), + this.red.mul(this, t) + ); + }), + (a.prototype.redIMul = function (t) { + return ( + n( + this.red, + "redMul works only with red numbers", + ), + this.red._verify2(this, t), + this.red.imul(this, t) + ); + }), + (a.prototype.redSqr = function () { + return ( + n( + this.red, + "redSqr works only with red numbers", + ), + this.red._verify1(this), + this.red.sqr(this) + ); + }), + (a.prototype.redISqr = function () { + return ( + n( + this.red, + "redISqr works only with red numbers", + ), + this.red._verify1(this), + this.red.isqr(this) + ); + }), + (a.prototype.redSqrt = function () { + return ( + n( + this.red, + "redSqrt works only with red numbers", + ), + this.red._verify1(this), + this.red.sqrt(this) + ); + }), + (a.prototype.redInvm = function () { + return ( + n( + this.red, + "redInvm works only with red numbers", + ), + this.red._verify1(this), + this.red.invm(this) + ); + }), + (a.prototype.redNeg = function () { + return ( + n( + this.red, + "redNeg works only with red numbers", + ), + this.red._verify1(this), + this.red.neg(this) + ); + }), + (a.prototype.redPow = function (t) { + return ( + n( + this.red && !t.red, + "redPow(normalNum)", + ), + this.red._verify1(this), + this.red.pow(this, t) + ); + }); + var y = { + k256: null, + p224: null, + p192: null, + p25519: null, + }; + function m(t, e) { + (this.name = t), + (this.p = new a(e, 16)), + (this.n = this.p.bitLength()), + (this.k = new a(1) + .iushln(this.n) + .isub(this.p)), + (this.tmp = this._tmp()); + } + function x() { + m.call( + this, + "k256", + "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f", + ); + } + function b() { + m.call( + this, + "p224", + "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001", + ); + } + function _() { + m.call( + this, + "p192", + "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff", + ); + } + function w() { + m.call( + this, + "25519", + "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed", + ); + } + function T(t) { + if ("string" == typeof t) { + var e = a._prime(t); + (this.m = e.p), (this.prime = e); + } else + n( + t.gtn(1), + "modulus must be greater than 1", + ), + (this.m = t), + (this.prime = null); + } + function k(t) { + T.call(this, t), + (this.shift = this.m.bitLength()), + this.shift % 26 != 0 && + (this.shift += + 26 - (this.shift % 26)), + (this.r = new a(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)); + } + (m.prototype._tmp = function () { + var t = new a(null); + return ( + (t.words = new Array( + Math.ceil(this.n / 13), + )), + t + ); + }), + (m.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) + : void 0 !== r.strip + ? r.strip() + : r._strip(), + r + ); + }), + (m.prototype.split = function (t, e) { + t.iushrn(this.n, 0, e); + }), + (m.prototype.imulK = function (t) { + return t.imul(this.k); + }), + i(x, m), + (x.prototype.split = function (t, e) { + for ( + var r = 4194303, + n = Math.min(t.length, 9), + i = 0; + i < n; + i++ + ) + e.words[i] = t.words[i]; + if (((e.length = n), t.length <= 9)) + return ( + (t.words[0] = 0), + void (t.length = 1) + ); + var a = t.words[9]; + for ( + e.words[e.length++] = a & r, i = 10; + i < t.length; + i++ + ) { + var o = 0 | t.words[i]; + (t.words[i - 10] = + ((o & r) << 4) | (a >>> 22)), + (a = o); + } + (a >>>= 22), + (t.words[i - 10] = a), + 0 === a && t.length > 10 + ? (t.length -= 10) + : (t.length -= 9); + }), + (x.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 + ); + }), + i(b, m), + i(_, m), + i(w, m), + (w.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 + ); + }), + (a._prime = function (t) { + if (y[t]) return y[t]; + var e; + if ("k256" === t) e = new x(); + else if ("p224" === t) e = new b(); + else if ("p192" === t) e = new _(); + else { + if ("p25519" !== t) + throw new Error( + "Unknown prime " + t, + ); + e = new w(); + } + return (y[t] = e), e; + }), + (T.prototype._verify1 = function (t) { + n( + 0 === t.negative, + "red works only with positives", + ), + n( + t.red, + "red works only with red numbers", + ); + }), + (T.prototype._verify2 = function (t, e) { + n( + 0 == (t.negative | e.negative), + "red works only with positives", + ), + n( + t.red && t.red === e.red, + "red works only with red numbers", + ); + }), + (T.prototype.imod = function (t) { + return this.prime + ? this.prime + .ireduce(t) + ._forceRed(this) + : t.umod(this.m)._forceRed(this); + }), + (T.prototype.neg = function (t) { + return t.isZero() + ? t.clone() + : this.m.sub(t)._forceRed(this); + }), + (T.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) + ); + }), + (T.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 + ); + }), + (T.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) + ); + }), + (T.prototype.isub = function (t, e) { + this._verify2(t, e); + var r = t.isub(e); + return ( + r.cmpn(0) < 0 && r.iadd(this.m), r + ); + }), + (T.prototype.shl = function (t, e) { + return ( + this._verify1(t), + this.imod(t.ushln(e)) + ); + }), + (T.prototype.imul = function (t, e) { + return ( + this._verify2(t, e), + this.imod(t.imul(e)) + ); + }), + (T.prototype.mul = function (t, e) { + return ( + this._verify2(t, e), + this.imod(t.mul(e)) + ); + }), + (T.prototype.isqr = function (t) { + return this.imul(t, t.clone()); + }), + (T.prototype.sqr = function (t) { + return this.mul(t, t); + }), + (T.prototype.sqrt = function (t) { + if (t.isZero()) return t.clone(); + var e = this.m.andln(3); + if ((n(e % 2 == 1), 3 === e)) { + var r = this.m + .add(new a(1)) + .iushrn(2); + return this.pow(t, r); + } + for ( + var i = this.m.subn(1), o = 0; + !i.isZero() && 0 === i.andln(1); + + ) + o++, i.iushrn(1); + n(!i.isZero()); + var s = new a(1).toRed(this), + l = s.redNeg(), + u = this.m.subn(1).iushrn(1), + c = this.m.bitLength(); + for ( + c = new a(2 * c * c).toRed(this); + 0 !== this.pow(c, u).cmp(l); + + ) + c.redIAdd(l); + for ( + var f = this.pow(c, i), + h = this.pow( + t, + i.addn(1).iushrn(1), + ), + p = this.pow(t, i), + d = o; + 0 !== p.cmp(s); + + ) { + for ( + var v = p, g = 0; + 0 !== v.cmp(s); + g++ + ) + v = v.redSqr(); + n(g < d); + var y = this.pow( + f, + new a(1).iushln(d - g - 1), + ); + (h = h.redMul(y)), + (f = y.redSqr()), + (p = p.redMul(f)), + (d = g); + } + return h; + }), + (T.prototype.invm = function (t) { + var e = t._invmp(this.m); + return 0 !== e.negative + ? ((e.negative = 0), + this.imod(e).redNeg()) + : this.imod(e); + }), + (T.prototype.pow = function (t, e) { + if (e.isZero()) + return new a(1).toRed(this); + if (0 === e.cmpn(1)) return t.clone(); + var r = new Array(16); + (r[0] = new a(1).toRed(this)), + (r[1] = t); + for (var n = 2; n < r.length; n++) + r[n] = this.mul(r[n - 1], t); + var i = 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 f = (u >> c) & 1; + i !== r[0] && (i = this.sqr(i)), + 0 !== f || 0 !== o + ? ((o <<= 1), + (o |= f), + (4 == ++s || + (0 === n && 0 === c)) && + ((i = this.mul(i, r[o])), + (s = 0), + (o = 0))) + : (s = 0); + } + l = 26; + } + return i; + }), + (T.prototype.convertTo = function (t) { + var e = t.umod(this.m); + return e === t ? e.clone() : e; + }), + (T.prototype.convertFrom = function (t) { + var e = t.clone(); + return (e.red = null), e; + }), + (a.mont = function (t) { + return new k(t); + }), + i(k, T), + (k.prototype.convertTo = function (t) { + return this.imod(t.ushln(this.shift)); + }), + (k.prototype.convertFrom = function (t) { + var e = this.imod(t.mul(this.rinv)); + return (e.red = null), e; + }), + (k.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) + ); + }), + (k.prototype.mul = function (t, e) { + if (t.isZero() || e.isZero()) + return new a(0)._forceRed(this); + var r = t.mul(e), + n = r + .maskn(this.shift) + .mul(this.minv) + .imaskn(this.shift) + .mul(this.m), + i = r.isub(n).iushrn(this.shift), + o = i; + return ( + i.cmp(this.m) >= 0 + ? (o = i.isub(this.m)) + : i.cmpn(0) < 0 && + (o = i.iadd(this.m)), + o._forceRed(this) + ); + }), + (k.prototype.invm = function (t) { + return this.imod( + t._invmp(this.m).mul(this.r2), + )._forceRed(this); + }); + })((t = r.nmd(t)), this); + }, + 2692: function (t) { + "use strict"; + t.exports = 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)), + f = 0; + for (n = 0; n < u; ++n) + n !== r && (c[f++] = l[n]); + if (1 & r) { + var h = c[1]; + (c[1] = c[0]), (c[0] = h); + } + } + } + return o; + }; + }, + 2569: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r) { + switch (arguments.length) { + case 1: + return f(t); + case 2: + return "function" == typeof e + ? u(t, t, e, !0) + : h(t, e); + case 3: + return u(t, e, r, !1); + default: + throw new Error( + "box-intersect: Invalid arguments", + ); + } + }; + var n, + i = r(5306), + a = r(1390), + o = r(2337); + function s(t, e) { + for (var r = 0; r < t; ++r) + if (!(e[r] <= e[r + t])) return !0; + return !1; + } + function l(t, e, r, n) { + for ( + var i = 0, a = 0, o = 0, l = t.length; + o < l; + ++o + ) { + var u = t[o]; + if (!s(e, u)) { + for (var c = 0; c < 2 * e; ++c) + r[i++] = u[c]; + n[a++] = o; + } + } + return a; + } + function u(t, e, r, n) { + var s = t.length, + u = e.length; + if (!(s <= 0 || u <= 0)) { + var c = t[0].length >>> 1; + if (!(c <= 0)) { + var f, + h = i.mallocDouble(2 * c * s), + p = i.mallocInt32(s); + if ((s = l(t, c, h, p)) > 0) { + if (1 === c && n) + a.init(s), + (f = a.sweepComplete( + c, + r, + 0, + s, + h, + p, + 0, + s, + h, + p, + )); + else { + var d = i.mallocDouble(2 * c * u), + v = i.mallocInt32(u); + (u = l(e, c, d, v)) > 0 && + (a.init(s + u), + (f = + 1 === c + ? a.sweepBipartite( + c, + r, + 0, + s, + h, + p, + 0, + u, + d, + v, + ) + : o( + c, + r, + n, + s, + h, + p, + u, + d, + v, + )), + i.free(d), + i.free(v)); + } + i.free(h), i.free(p); + } + return f; + } + } + } + function c(t, e) { + n.push([t, e]); + } + function f(t) { + return (n = []), u(t, t, c, !0), n; + } + function h(t, e) { + return (n = []), u(t, e, c, !1), n; + } + }, + 7333: function (t, e) { + "use strict"; + function r(t) { + return t + ? function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) { + return i - n > l - s + ? (function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) { + for ( + var f = 2 * t, + h = n, + p = f * n; + h < i; + ++h, p += f + ) { + var d = a[e + p], + v = a[e + p + t], + g = o[h]; + t: for ( + var y = s, m = f * s; + y < l; + ++y, m += f + ) { + var x = u[e + m], + b = u[e + m + t], + _ = c[y]; + if (!(b < d || v < x)) { + for ( + var w = e + 1; + w < t; + ++w + ) { + var T = a[w + p], + k = a[w + t + p], + A = u[w + m], + M = u[w + t + m]; + if (k < A || M < T) + continue t; + } + var S = r(g, _); + if (void 0 !== S) + return S; + } + } + } + })( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) + : (function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) { + for ( + var f = 2 * t, + h = s, + p = f * s; + h < l; + ++h, p += f + ) { + var d = u[e + p], + v = u[e + p + t], + g = c[h]; + t: for ( + var y = n, m = f * n; + y < i; + ++y, m += f + ) { + var x = a[e + m], + b = a[e + m + t], + _ = o[y]; + if (!(v < x || b < d)) { + for ( + var w = e + 1; + w < t; + ++w + ) { + var T = a[w + m], + k = a[w + t + m], + A = u[w + p], + M = u[w + t + p]; + if (k < A || M < T) + continue t; + } + var S = r(_, g); + if (void 0 !== S) + return S; + } + } + } + })( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ); + } + : function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + ) { + return a - i > u - l + ? n + ? (function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) { + for ( + var f = 2 * t, + h = n, + p = f * n; + h < i; + ++h, p += f + ) { + var d = a[e + p], + v = a[e + p + t], + g = o[h]; + t: for ( + var y = s, m = f * s; + y < l; + ++y, m += f + ) { + var x = u[e + m], + b = c[y]; + if (!(x <= d || v < x)) { + for ( + var _ = e + 1; + _ < t; + ++_ + ) { + var w = a[_ + p], + T = a[_ + t + p], + k = u[_ + m], + A = u[_ + t + m]; + if (T < k || A < w) + continue t; + } + var M = r(b, g); + if (void 0 !== M) + return M; + } + } + } + })( + t, + e, + r, + i, + a, + o, + s, + l, + u, + c, + f, + ) + : (function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) { + for ( + var f = 2 * t, + h = n, + p = f * n; + h < i; + ++h, p += f + ) { + var d = a[e + p], + v = a[e + p + t], + g = o[h]; + t: for ( + var y = s, m = f * s; + y < l; + ++y, m += f + ) { + var x = u[e + m], + b = c[y]; + if (!(x < d || v < x)) { + for ( + var _ = e + 1; + _ < t; + ++_ + ) { + var w = a[_ + p], + T = a[_ + t + p], + k = u[_ + m], + A = u[_ + t + m]; + if (T < k || A < w) + continue t; + } + var M = r(g, b); + if (void 0 !== M) + return M; + } + } + } + })( + t, + e, + r, + i, + a, + o, + s, + l, + u, + c, + f, + ) + : n + ? (function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) { + for ( + var f = 2 * t, + h = s, + p = f * s; + h < l; + ++h, p += f + ) { + var d = u[e + p], + v = c[h]; + t: for ( + var g = n, y = f * n; + g < i; + ++g, y += f + ) { + var m = a[e + y], + x = a[e + y + t], + b = o[g]; + if (!(d <= m || x < d)) { + for ( + var _ = e + 1; + _ < t; + ++_ + ) { + var w = a[_ + y], + T = a[_ + t + y], + k = u[_ + p], + A = u[_ + t + p]; + if (T < k || A < w) + continue t; + } + var M = r(v, b); + if (void 0 !== M) + return M; + } + } + } + })( + t, + e, + r, + i, + a, + o, + s, + l, + u, + c, + f, + ) + : (function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) { + for ( + var f = 2 * t, + h = s, + p = f * s; + h < l; + ++h, p += f + ) { + var d = u[e + p], + v = c[h]; + t: for ( + var g = n, y = f * n; + g < i; + ++g, y += f + ) { + var m = a[e + y], + x = a[e + y + t], + b = o[g]; + if (!(d < m || x < d)) { + for ( + var _ = e + 1; + _ < t; + ++_ + ) { + var w = a[_ + y], + T = a[_ + t + y], + k = u[_ + p], + A = u[_ + t + p]; + if (T < k || A < w) + continue t; + } + var M = r(b, v); + if (void 0 !== M) + return M; + } + } + } + })( + t, + e, + r, + i, + a, + o, + s, + l, + u, + c, + f, + ); + }; + } + (e.partial = r(!1)), (e.full = r(!0)); + }, + 2337: function (t, e, r) { + "use strict"; + t.exports = function ( + t, + e, + r, + a, + c, + w, + T, + k, + A, + ) { + !(function (t, e) { + var r = (8 * i.log2(e + 1) * (t + 1)) | 0, + a = i.nextPow2(6 * r); + y.length < a && + (n.free(y), (y = n.mallocInt32(a))); + var o = i.nextPow2(2 * r); + m.length < o && + (n.free(m), (m = n.mallocDouble(o))); + })(t, a + T); + var M, + S = 0, + E = 2 * t; + for ( + x( + S++, + 0, + 0, + a, + 0, + T, + r ? 16 : 0, + -1 / 0, + 1 / 0, + ), + r || + x( + S++, + 0, + 0, + T, + 0, + a, + 1, + -1 / 0, + 1 / 0, + ); + S > 0; + + ) { + var L = 6 * (S -= 1), + C = y[L], + O = y[L + 1], + P = y[L + 2], + I = y[L + 3], + D = y[L + 4], + z = y[L + 5], + R = 2 * S, + F = m[R], + B = m[R + 1], + N = 1 & z, + j = !!(16 & z), + U = c, + V = w, + H = k, + q = A; + if ( + (N && + ((U = k), (V = A), (H = c), (q = w)), + !( + (2 & z && + ((P = p(t, C, O, P, U, V, B)), + O >= P)) || + (4 & z && + (O = d(t, C, O, P, U, V, F)) >= P) + )) + ) { + var G = P - O, + Z = D - I; + if (j) { + if (t * G * (G + Z) < 4194304) { + if ( + void 0 !== + (M = l.scanComplete( + t, + C, + e, + O, + P, + U, + V, + I, + D, + H, + q, + )) + ) + return M; + continue; + } + } else { + if (t * Math.min(G, Z) < 128) { + if ( + void 0 !== + (M = o( + t, + C, + e, + N, + O, + P, + U, + V, + I, + D, + H, + q, + )) + ) + return M; + continue; + } + if (t * G * Z < 4194304) { + if ( + void 0 !== + (M = l.scanBipartite( + t, + C, + e, + N, + O, + P, + U, + V, + I, + D, + H, + q, + )) + ) + return M; + continue; + } + } + var W = f(t, C, O, P, U, V, F, B); + if (O < W) + if (t * (W - O) < 128) { + if ( + void 0 !== + (M = s( + t, + C + 1, + e, + O, + W, + U, + V, + I, + D, + H, + q, + )) + ) + return M; + } else if (C === t - 2) { + if ( + void 0 !== + (M = N + ? l.sweepBipartite( + t, + e, + I, + D, + H, + q, + O, + W, + U, + V, + ) + : l.sweepBipartite( + t, + e, + O, + W, + U, + V, + I, + D, + H, + q, + )) + ) + return M; + } else + x( + S++, + C + 1, + O, + W, + I, + D, + N, + -1 / 0, + 1 / 0, + ), + x( + S++, + C + 1, + I, + D, + O, + W, + 1 ^ N, + -1 / 0, + 1 / 0, + ); + if (W < P) { + var Y = u(t, C, I, D, H, q), + X = H[E * Y + C], + J = h(t, C, Y, D, H, q, X); + if ( + (J < D && + x( + S++, + C, + W, + P, + J, + D, + (4 | N) + (j ? 16 : 0), + X, + B, + ), + I < Y && + x( + S++, + C, + W, + P, + I, + Y, + (2 | N) + (j ? 16 : 0), + F, + X, + ), + Y + 1 === J) + ) { + if ( + void 0 !== + (M = j + ? _( + t, + C, + e, + W, + P, + U, + V, + Y, + H, + q[Y], + ) + : b( + t, + C, + e, + N, + W, + P, + U, + V, + Y, + H, + q[Y], + )) + ) + return M; + } else if (Y < J) { + var K; + if (j) { + if ( + W < (K = v(t, C, W, P, U, V, X)) + ) { + var $ = h(t, C, W, K, U, V, X); + if (C === t - 2) { + if ( + W < $ && + void 0 !== + (M = l.sweepComplete( + t, + e, + W, + $, + U, + V, + Y, + J, + H, + q, + )) + ) + return M; + if ( + $ < K && + void 0 !== + (M = l.sweepBipartite( + t, + e, + $, + K, + U, + V, + Y, + J, + H, + q, + )) + ) + return M; + } else + W < $ && + x( + S++, + C + 1, + W, + $, + Y, + J, + 16, + -1 / 0, + 1 / 0, + ), + $ < K && + (x( + S++, + C + 1, + $, + K, + Y, + J, + 0, + -1 / 0, + 1 / 0, + ), + x( + S++, + C + 1, + Y, + J, + $, + K, + 1, + -1 / 0, + 1 / 0, + )); + } + } else + W < + (K = N + ? g(t, C, W, P, U, V, X) + : v(t, C, W, P, U, V, X)) && + (C === t - 2 + ? (M = N + ? l.sweepBipartite( + t, + e, + Y, + J, + H, + q, + W, + K, + U, + V, + ) + : l.sweepBipartite( + t, + e, + W, + K, + U, + V, + Y, + J, + H, + q, + )) + : (x( + S++, + C + 1, + W, + K, + Y, + J, + N, + -1 / 0, + 1 / 0, + ), + x( + S++, + C + 1, + Y, + J, + W, + K, + 1 ^ N, + -1 / 0, + 1 / 0, + ))); + } + } + } + } + }; + var n = r(5306), + i = r(2288), + a = r(7333), + o = a.partial, + s = a.full, + l = r(1390), + u = r(2464), + c = r(122), + f = c("!(lo>=p0)&&!(p1>=hi)"), + h = c("lo===p0"), + p = c("lo>> 1, + f = 2 * t, + h = c, + p = o[f * c + e]; + l < u; + + ) { + if (u - l < 8) { + i(t, e, l, u, o, s), (p = o[f * c + e]); + break; + } + var d = u - l, + v = (Math.random() * d + l) | 0, + g = o[f * v + e], + y = (Math.random() * d + l) | 0, + m = o[f * y + e], + x = (Math.random() * d + l) | 0, + b = o[f * x + e]; + g <= m + ? b >= m + ? ((h = y), (p = m)) + : g >= b + ? ((h = v), (p = g)) + : ((h = x), (p = b)) + : m >= b + ? ((h = y), (p = m)) + : b >= g + ? ((h = v), (p = g)) + : ((h = x), (p = b)); + for ( + var _ = f * (u - 1), w = f * h, T = 0; + T < f; + ++T, ++_, ++w + ) { + var k = o[_]; + (o[_] = o[w]), (o[w] = k); + } + var A = s[u - 1]; + for ( + s[u - 1] = s[h], + s[h] = A, + _ = f * (u - 1), + w = + f * + (h = n(t, e, l, u - 1, o, s, p)), + T = 0; + T < f; + ++T, ++_, ++w + ) + (k = o[_]), (o[_] = o[w]), (o[w] = k); + if ( + ((A = s[u - 1]), + (s[u - 1] = s[h]), + (s[h] = A), + c < h) + ) { + for ( + u = h - 1; + l < u && o[f * (u - 1) + e] === p; + + ) + u -= 1; + u += 1; + } else { + if (!(h < c)) break; + for ( + l = h + 1; + l < u && o[f * l + e] === p; + + ) + l += 1; + } + } + return n(t, e, r, c, o, s, o[f * c + e]); + }; + var n = r(122)("lo r && i[f + e] > u; + --c, f -= o + ) { + for ( + var h = f, p = f + o, d = 0; + d < o; + ++d, ++h, ++p + ) { + var v = i[h]; + (i[h] = i[p]), (i[p] = v); + } + var g = a[c]; + (a[c] = a[c - 1]), (a[c - 1] = g); + } + } + }, + 122: function (t) { + "use strict"; + t.exports = function (t) { + return e[t]; + }; + var e = { + "lo===p0": function (t, e, r, n, i, a, o) { + for ( + var s = 2 * t, + l = s * r, + u = l, + c = r, + f = e, + h = r; + n > h; + ++h, l += s + ) + if (i[l + f] === o) + if (c === h) (c += 1), (u += s); + else { + for (var p = 0; s > p; ++p) { + var d = i[l + p]; + (i[l + p] = i[u]), (i[u++] = d); + } + var v = a[h]; + (a[h] = a[c]), (a[c++] = v); + } + return c; + }, + "lo h; + ++h, l += s + ) + if (i[l + f] < o) + if (c === h) (c += 1), (u += s); + else { + for (var p = 0; s > p; ++p) { + var d = i[l + p]; + (i[l + p] = i[u]), (i[u++] = d); + } + var v = a[h]; + (a[h] = a[c]), (a[c++] = v); + } + return c; + }, + "lo<=p0": function (t, e, r, n, i, a, o) { + for ( + var s = 2 * t, + l = s * r, + u = l, + c = r, + f = t + e, + h = r; + n > h; + ++h, l += s + ) + if (i[l + f] <= o) + if (c === h) (c += 1), (u += s); + else { + for (var p = 0; s > p; ++p) { + var d = i[l + p]; + (i[l + p] = i[u]), (i[u++] = d); + } + var v = a[h]; + (a[h] = a[c]), (a[c++] = v); + } + return c; + }, + "hi<=p0": function (t, e, r, n, i, a, o) { + for ( + var s = 2 * t, + l = s * r, + u = l, + c = r, + f = t + e, + h = r; + n > h; + ++h, l += s + ) + if (i[l + f] <= o) + if (c === h) (c += 1), (u += s); + else { + for (var p = 0; s > p; ++p) { + var d = i[l + p]; + (i[l + p] = i[u]), (i[u++] = d); + } + var v = a[h]; + (a[h] = a[c]), (a[c++] = v); + } + return c; + }, + "lo p; + ++p, l += s + ) { + var d = i[l + f], + v = i[l + h]; + if (d < o && o <= v) + if (c === p) (c += 1), (u += s); + else { + for (var g = 0; s > g; ++g) { + var y = i[l + g]; + (i[l + g] = i[u]), (i[u++] = y); + } + var m = a[p]; + (a[p] = a[c]), (a[c++] = m); + } + } + return c; + }, + "lo<=p0&&p0<=hi": function ( + t, + e, + r, + n, + i, + a, + o, + ) { + for ( + var s = 2 * t, + l = s * r, + u = l, + c = r, + f = e, + h = t + e, + p = r; + n > p; + ++p, l += s + ) { + var d = i[l + f], + v = i[l + h]; + if (d <= o && o <= v) + if (c === p) (c += 1), (u += s); + else { + for (var g = 0; s > g; ++g) { + var y = i[l + g]; + (i[l + g] = i[u]), (i[u++] = y); + } + var m = a[p]; + (a[p] = a[c]), (a[c++] = m); + } + } + return c; + }, + "!(lo>=p0)&&!(p1>=hi)": function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + for ( + var l = 2 * t, + u = l * r, + c = u, + f = r, + h = e, + p = t + e, + d = r; + n > d; + ++d, u += l + ) { + var v = i[u + h], + g = i[u + p]; + if (!(v >= o || s >= g)) + if (f === d) (f += 1), (c += l); + else { + for (var y = 0; l > y; ++y) { + var m = i[u + y]; + (i[u + y] = i[c]), (i[c++] = m); + } + var x = a[d]; + (a[d] = a[f]), (a[f++] = x); + } + } + return f; + }, + }; + }, + 309: function (t) { + "use strict"; + function e(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 r(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 n(t, e, r) { + (e *= 2), + (r[(t *= 2)] = r[e]), + (r[t + 1] = r[e + 1]); + } + function i(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 a(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 o(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 s(t, e, r, n) { + var i = n[(t *= 2)]; + return i < e || (i === e && n[t + 1] < r); + } + function l(t, u, c) { + var f = ((u - t + 1) / 6) | 0, + h = t + f, + p = u - f, + d = (t + u) >> 1, + v = d - f, + g = d + f, + y = h, + m = v, + x = d, + b = g, + _ = p, + w = t + 1, + T = u - 1, + k = 0; + o(y, m, c) && ((k = y), (y = m), (m = k)), + o(b, _, c) && ((k = b), (b = _), (_ = k)), + o(y, x, c) && ((k = y), (y = x), (x = k)), + o(m, x, c) && ((k = m), (m = x), (x = k)), + o(y, b, c) && ((k = y), (y = b), (b = k)), + o(x, b, c) && ((k = x), (x = b), (b = k)), + o(m, _, c) && ((k = m), (m = _), (_ = k)), + o(m, x, c) && ((k = m), (m = x), (x = k)), + o(b, _, c) && ((k = b), (b = _), (_ = k)); + for ( + var A = c[2 * m], + M = c[2 * m + 1], + S = c[2 * b], + E = c[2 * b + 1], + L = 2 * y, + C = 2 * x, + O = 2 * _, + P = 2 * h, + I = 2 * d, + D = 2 * p, + z = 0; + z < 2; + ++z + ) { + var R = c[L + z], + F = c[C + z], + B = c[O + z]; + (c[P + z] = R), + (c[I + z] = F), + (c[D + z] = B); + } + n(v, t, c), n(g, u, c); + for (var N = w; N <= T; ++N) + if (s(N, A, M, c)) + N !== w && r(N, w, c), ++w; + else if (!s(N, S, E, c)) + for (;;) { + if (s(T, S, E, c)) { + s(T, A, M, c) + ? (i(N, w, T, c), ++w, --T) + : (r(N, T, c), --T); + break; + } + if (--T < N) break; + } + a(t, w - 1, A, M, c), + a(u, T + 1, S, E, c), + w - 2 - t <= 32 + ? e(t, w - 2, c) + : l(t, w - 2, c), + u - (T + 2) <= 32 + ? e(T + 2, u, c) + : l(T + 2, u, c), + T - w <= 32 ? e(w, T, c) : l(w, T, c); + } + t.exports = function (t, r) { + r <= 128 ? e(0, r - 1, t) : l(0, r - 1, t); + }; + }, + 1390: function (t, e, r) { + "use strict"; + t.exports = { + init: function (t) { + var e = i.nextPow2(t); + l.length < e && + (n.free(l), (l = n.mallocInt32(e))), + u.length < e && + (n.free(u), (u = n.mallocInt32(e))), + c.length < e && + (n.free(c), (c = n.mallocInt32(e))), + f.length < e && + (n.free(f), (f = n.mallocInt32(e))), + h.length < e && + (n.free(h), (h = n.mallocInt32(e))), + p.length < e && + (n.free(p), (p = n.mallocInt32(e))); + var r = 8 * e; + d.length < r && + (n.free(d), (d = n.mallocDouble(r))); + }, + sweepBipartite: function ( + t, + e, + r, + n, + i, + s, + h, + p, + y, + m, + ) { + for ( + var x = 0, + b = 2 * t, + _ = t - 1, + w = b - 1, + T = r; + T < n; + ++T + ) { + var k = s[T], + A = b * T; + (d[x++] = i[A + _]), + (d[x++] = -(k + 1)), + (d[x++] = i[A + w]), + (d[x++] = k); + } + for (T = h; T < p; ++T) { + k = m[T] + o; + var M = b * T; + (d[x++] = y[M + _]), + (d[x++] = -k), + (d[x++] = y[M + w]), + (d[x++] = k); + } + var S = x >>> 1; + a(d, S); + var E = 0, + L = 0; + for (T = 0; T < S; ++T) { + var C = 0 | d[2 * T + 1]; + if (C >= o) + v(c, f, L--, (C = (C - o) | 0)); + else if (C >= 0) v(l, u, E--, C); + else if (C <= -268435456) { + C = (-C - o) | 0; + for (var O = 0; O < E; ++O) + if (void 0 !== (P = e(l[O], C))) + return P; + g(c, f, L++, C); + } else { + for ( + C = (-C - 1) | 0, O = 0; + O < L; + ++O + ) { + var P; + if (void 0 !== (P = e(C, c[O]))) + return P; + } + g(l, u, E++, C); + } + } + }, + sweepComplete: function ( + t, + e, + r, + n, + i, + o, + s, + y, + m, + x, + ) { + for ( + var b = 0, + _ = 2 * t, + w = t - 1, + T = _ - 1, + k = r; + k < n; + ++k + ) { + var A = (o[k] + 1) << 1, + M = _ * k; + (d[b++] = i[M + w]), + (d[b++] = -A), + (d[b++] = i[M + T]), + (d[b++] = A); + } + for (k = s; k < y; ++k) { + A = (x[k] + 1) << 1; + var S = _ * k; + (d[b++] = m[S + w]), + (d[b++] = 1 | -A), + (d[b++] = m[S + T]), + (d[b++] = 1 | A); + } + var E = b >>> 1; + a(d, E); + var L = 0, + C = 0, + O = 0; + for (k = 0; k < E; ++k) { + var P = 0 | d[2 * k + 1], + I = 1 & P; + if ( + (k < E - 1 && + P >> 1 == d[2 * k + 3] >> 1 && + ((I = 2), (k += 1)), + P < 0) + ) { + for ( + var D = -(P >> 1) - 1, z = 0; + z < O; + ++z + ) + if (void 0 !== (R = e(h[z], D))) + return R; + if (0 !== I) + for (z = 0; z < L; ++z) + if (void 0 !== (R = e(l[z], D))) + return R; + if (1 !== I) + for (z = 0; z < C; ++z) { + var R; + if (void 0 !== (R = e(c[z], D))) + return R; + } + 0 === I + ? g(l, u, L++, D) + : 1 === I + ? g(c, f, C++, D) + : 2 === I && g(h, p, O++, D); + } else + (D = (P >> 1) - 1), + 0 === I + ? v(l, u, L--, D) + : 1 === I + ? v(c, f, C--, D) + : 2 === I && v(h, p, O--, D); + } + }, + scanBipartite: function ( + t, + e, + r, + n, + i, + s, + c, + f, + h, + p, + y, + m, + ) { + var x = 0, + b = 2 * t, + _ = e, + w = e + t, + T = 1, + k = 1; + n ? (k = o) : (T = o); + for (var A = i; A < s; ++A) { + var M = A + T, + S = b * A; + (d[x++] = c[S + _]), + (d[x++] = -M), + (d[x++] = c[S + w]), + (d[x++] = M); + } + for (A = h; A < p; ++A) { + M = A + k; + var E = b * A; + (d[x++] = y[E + _]), (d[x++] = -M); + } + var L = x >>> 1; + a(d, L); + var C = 0; + for (A = 0; A < L; ++A) { + var O = 0 | d[2 * A + 1]; + if (O < 0) { + var P = !1; + if ( + ((M = -O) >= o + ? ((P = !n), (M -= o)) + : ((P = !!n), (M -= 1)), + P) + ) + g(l, u, C++, M); + else { + var I = m[M], + D = b * M, + z = y[D + e + 1], + R = y[D + e + 1 + t]; + t: for (var F = 0; F < C; ++F) { + var B = l[F], + N = b * B; + if ( + !( + R < c[N + e + 1] || + c[N + e + 1 + t] < z + ) + ) { + for (var j = e + 2; j < t; ++j) + if ( + y[D + j + t] < c[N + j] || + c[N + j + t] < y[D + j] + ) + continue t; + var U, + V = f[B]; + if ( + void 0 !== + (U = n ? r(I, V) : r(V, I)) + ) + return U; + } + } + } + } else v(l, u, C--, O - T); + } + }, + scanComplete: function ( + t, + e, + r, + n, + i, + s, + u, + c, + f, + h, + p, + ) { + for ( + var v = 0, + g = 2 * t, + y = e, + m = e + t, + x = n; + x < i; + ++x + ) { + var b = x + o, + _ = g * x; + (d[v++] = s[_ + y]), + (d[v++] = -b), + (d[v++] = s[_ + m]), + (d[v++] = b); + } + for (x = c; x < f; ++x) { + b = x + 1; + var w = g * x; + (d[v++] = h[w + y]), (d[v++] = -b); + } + var T = v >>> 1; + a(d, T); + var k = 0; + for (x = 0; x < T; ++x) { + var A = 0 | d[2 * x + 1]; + if (A < 0) + if ((b = -A) >= o) l[k++] = b - o; + else { + var M = p[(b -= 1)], + S = g * b, + E = h[S + e + 1], + L = h[S + e + 1 + t]; + t: for (var C = 0; C < k; ++C) { + var O = l[C], + P = u[O]; + if (P === M) break; + var I = g * O; + if ( + !( + L < s[I + e + 1] || + s[I + e + 1 + t] < E + ) + ) { + for (var D = e + 2; D < t; ++D) + if ( + h[S + D + t] < s[I + D] || + s[I + D + t] < h[S + D] + ) + continue t; + var z = r(P, M); + if (void 0 !== z) return z; + } + } + } + else { + for ( + b = A - o, C = k - 1; + C >= 0; + --C + ) + if (l[C] === b) { + for (D = C + 1; D < k; ++D) + l[D - 1] = l[D]; + break; + } + --k; + } + } + }, + }; + var n = r(5306), + i = r(2288), + a = r(309), + o = 1 << 28, + s = 1024, + l = n.mallocInt32(s), + u = n.mallocInt32(s), + c = n.mallocInt32(s), + f = n.mallocInt32(s), + h = n.mallocInt32(s), + p = n.mallocInt32(s), + d = n.mallocDouble(8192); + function v(t, e, r, n) { + var i = e[n], + a = t[r - 1]; + (t[i] = a), (e[a] = i); + } + function g(t, e, r, n) { + (t[r] = n), (e[n] = r); + } + }, + 7761: function (t, e, r) { + "use strict"; + var n = r(9971), + i = r(743), + a = r(2161), + o = r(7098); + function s(t) { + return [ + Math.min(t[0], t[1]), + Math.max(t[0], t[1]), + ]; + } + function l(t, e) { + return t[0] - e[0] || t[1] - e[1]; + } + function u(t, e, r) { + return e in t ? t[e] : r; + } + t.exports = function (t, e, r) { + Array.isArray(e) + ? ((r = r || {}), (e = e || [])) + : ((r = e || {}), (e = [])); + var c = !!u(r, "delaunay", !0), + f = !!u(r, "interior", !0), + h = !!u(r, "exterior", !0), + p = !!u(r, "infinity", !1); + if ((!f && !h) || 0 === t.length) return []; + var d = n(t, e); + if (c || f !== h || p) { + for ( + var v = i( + t.length, + (function (t) { + return t.map(s).sort(l); + })(e), + ), + g = 0; + g < d.length; + ++g + ) { + var y = d[g]; + v.addTriangle(y[0], y[1], y[2]); + } + return ( + c && a(t, v), + h + ? f + ? p + ? o(v, 0, p) + : v.cells() + : o(v, 1, p) + : o(v, -1) + ); + } + return d; + }; + }, + 2161: function (t, e, r) { + "use strict"; + var n = r(2227)[4]; + function i(t, e, r, i, a, o) { + var s = e.opposite(i, a); + if (!(s < 0)) { + if (a < i) { + var l = i; + (i = a), + (a = l), + (l = o), + (o = s), + (s = l); + } + e.isConstraint(i, a) || + (n(t[i], t[a], t[o], t[s]) < 0 && + r.push(i, a)); + } + } + r(5070), + (t.exports = function (t, e) { + for ( + var r = [], + a = t.length, + o = e.stars, + s = 0; + s < a; + ++s + ) + for ( + var l = o[s], u = 1; + u < l.length; + u += 2 + ) + if ( + !( + (p = l[u]) < s || + e.isConstraint(s, p) + ) + ) { + for ( + var c = l[u - 1], f = -1, h = 1; + h < l.length; + h += 2 + ) + if (l[h - 1] === p) { + f = l[h]; + break; + } + f < 0 || + (n(t[s], t[p], t[c], t[f]) < 0 && + r.push(s, p)); + } + for (; r.length > 0; ) { + for ( + var p = r.pop(), + d = + ((c = -1), + (f = -1), + (l = o[(s = r.pop())]), + 1); + d < l.length; + d += 2 + ) { + var v = l[d - 1], + g = l[d]; + v === p + ? (f = g) + : g === p && (c = v); + } + c < 0 || + f < 0 || + n(t[s], t[p], t[c], t[f]) >= 0 || + (e.flip(s, p), + i(t, e, r, c, s, f), + i(t, e, r, s, f, c), + i(t, e, r, f, p, c), + i(t, e, r, p, c, f)); + } + }); + }, + 7098: function (t, e, r) { + "use strict"; + var n, + i = r(5070); + function a(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 o(t, e) { + return ( + t[0] - e[0] || t[1] - e[1] || t[2] - e[2] + ); + } + (t.exports = function (t, e, r) { + var n = (function (t, e) { + for ( + var r = t.cells(), n = r.length, i = 0; + i < n; + ++i + ) { + var s = (y = r[i])[0], + l = y[1], + u = y[2]; + l < u + ? l < s && + ((y[0] = l), (y[1] = u), (y[2] = s)) + : u < s && + ((y[0] = u), + (y[1] = s), + (y[2] = l)); + } + r.sort(o); + var c = new Array(n); + for (i = 0; i < c.length; ++i) c[i] = 0; + var f = [], + h = [], + p = new Array(3 * n), + d = new Array(3 * n), + v = null; + e && (v = []); + var g = new a(r, p, d, c, f, h, v); + for (i = 0; i < n; ++i) + for (var y = r[i], m = 0; m < 3; ++m) { + (s = y[m]), (l = y[(m + 1) % 3]); + var x = (p[3 * i + m] = g.locate( + l, + s, + t.opposite(l, s), + )), + b = (d[3 * i + m] = t.isConstraint( + s, + l, + )); + x < 0 && + (b + ? h.push(i) + : (f.push(i), (c[i] = 1)), + e && v.push([l, s, -1])); + } + return g; + })(t, r); + if (0 === e) + return r + ? n.cells.concat(n.boundary) + : n.cells; + for ( + var i = 1, + s = n.active, + l = n.next, + u = n.flags, + c = n.cells, + f = n.constraint, + h = n.neighbor; + s.length > 0 || l.length > 0; + + ) { + for (; s.length > 0; ) { + var p = s.pop(); + if (u[p] !== -i) { + (u[p] = i), c[p]; + for (var d = 0; d < 3; ++d) { + var v = h[3 * p + d]; + v >= 0 && + 0 === u[v] && + (f[3 * p + d] + ? l.push(v) + : (s.push(v), (u[v] = i))); + } + } + } + var g = l; + (l = s), + (s = g), + (l.length = 0), + (i = -i); + } + var y = (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; + })(c, u, e); + return r ? y.concat(n.boundary) : y; + }), + (a.prototype.locate = + ((n = [0, 0, 0]), + function (t, e, r) { + var a = t, + s = e, + l = r; + return ( + e < r + ? e < t && + ((a = e), (s = r), (l = t)) + : r < t && + ((a = r), (s = t), (l = e)), + a < 0 + ? -1 + : ((n[0] = a), + (n[1] = s), + (n[2] = l), + i.eq(this.cells, n, o)) + ); + })); + }, + 9971: function (t, e, r) { + "use strict"; + var n = r(5070), + i = r(417)[3]; + function a(t, e, r, n, i) { + (this.a = t), + (this.b = e), + (this.idx = r), + (this.lowerIds = n), + (this.upperIds = i); + } + function o(t, e, r, n) { + (this.a = t), + (this.b = e), + (this.type = r), + (this.idx = n); + } + function s(t, e) { + var r = + t.a[0] - e.a[0] || + t.a[1] - e.a[1] || + t.type - e.type; + return ( + r || + (0 !== t.type && (r = i(t.a, t.b, e.b)) + ? r + : t.idx - e.idx) + ); + } + function l(t, e) { + return i(t.a, t.b, e); + } + function u(t, e, r, a, o) { + for ( + var s = n.lt(e, a, l), + u = n.gt(e, a, l), + c = s; + c < u; + ++c + ) { + for ( + var f = e[c], + h = f.lowerIds, + p = h.length; + p > 1 && + i(r[h[p - 2]], r[h[p - 1]], a) > 0; + + ) + t.push([h[p - 1], h[p - 2], o]), + (p -= 1); + (h.length = p), h.push(o); + var d = f.upperIds; + for ( + p = d.length; + p > 1 && + i(r[d[p - 2]], r[d[p - 1]], a) < 0; + + ) + t.push([d[p - 2], d[p - 1], o]), + (p -= 1); + (d.length = p), d.push(o); + } + } + function c(t, e) { + var r; + return (r = + t.a[0] < e.a[0] + ? i(t.a, t.b, e.a) + : i(e.b, e.a, t.a)) + ? r + : (r = + e.b[0] < t.b[0] + ? i(t.a, t.b, e.b) + : i(e.b, e.a, t.b)) || + t.idx - e.idx; + } + function f(t, e, r) { + var i = n.le(t, r, c), + o = t[i], + s = o.upperIds, + l = s[s.length - 1]; + (o.upperIds = [l]), + t.splice( + i + 1, + 0, + new a(r.a, r.b, r.idx, [l], s), + ); + } + function h(t, e, r) { + var i = r.a; + (r.a = r.b), (r.b = i); + var a = n.eq(t, r, c), + o = t[a]; + (t[a - 1].upperIds = o.upperIds), + t.splice(a, 1); + } + t.exports = function (t, e) { + for ( + var r = t.length, + n = e.length, + i = [], + l = 0; + l < r; + ++l + ) + i.push(new o(t[l], null, 0, l)); + for (l = 0; l < n; ++l) { + var c = e[l], + p = t[c[0]], + d = t[c[1]]; + p[0] < d[0] + ? i.push( + new o(p, d, 2, l), + new o(d, p, 1, l), + ) + : p[0] > d[0] && + i.push( + new o(d, p, 2, l), + new o(p, d, 1, l), + ); + } + i.sort(s); + for ( + var v = + i[0].a[0] - + (1 + Math.abs(i[0].a[0])) * + Math.pow(2, -52), + g = [ + new a( + [v, 1], + [v, 0], + -1, + [], + [], + [], + [], + ), + ], + y = [], + m = ((l = 0), i.length); + l < m; + ++l + ) { + var x = i[l], + b = x.type; + 0 === b + ? u(y, g, t, x.a, x.idx) + : 2 === b + ? f(g, 0, x) + : h(g, 0, x); + } + return y; + }; + }, + 743: function (t, e, r) { + "use strict"; + var n = r(5070); + function i(t, e) { + (this.stars = t), (this.edges = e); + } + t.exports = function (t, e) { + for ( + var r = new Array(t), n = 0; + n < t; + ++n + ) + r[n] = []; + return new i(r, e); + }; + var a = i.prototype; + function o(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) + ); + } + (a.isConstraint = (function () { + var t = [0, 0]; + function e(t, e) { + return t[0] - e[0] || t[1] - e[1]; + } + return function (r, i) { + return ( + (t[0] = Math.min(r, i)), + (t[1] = Math.max(r, i)), + n.eq(this.edges, t, e) >= 0 + ); + }; + })()), + (a.removeTriangle = function (t, e, r) { + var n = this.stars; + o(n[t], e, r), + o(n[e], r, t), + o(n[r], t, e); + }), + (a.addTriangle = function (t, e, r) { + var n = this.stars; + n[t].push(e, r), + n[e].push(r, t), + n[r].push(t, e); + }), + (a.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; + }), + (a.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); + }), + (a.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; + }), + (a.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; + }); + }, + 9887: function (t) { + "use strict"; + t.exports = 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; + }; + }, + 9243: function (t, e, r) { + "use strict"; + var n = r(3094), + i = r(6606); + function a(t, e) { + for ( + var r = 0, n = t.length, i = 0; + i < n; + ++i + ) + r += t[i] * e[i]; + return r; + } + function o(t) { + var e = t.length; + if (0 === e) return []; + t[0].length; + var r = n([t.length + 1, t.length + 1], 1), + o = n([t.length + 1], 1); + r[e][e] = 0; + for (var s = 0; s < e; ++s) { + for (var l = 0; l <= s; ++l) + r[l][s] = r[s][l] = 2 * a(t[s], t[l]); + o[s] = a(t[s], t[s]); + } + var u = i(r, o), + c = 0, + f = u[e + 1]; + for (s = 0; s < f.length; ++s) c += f[s]; + var h = new Array(e); + for (s = 0; s < e; ++s) { + f = u[s]; + var p = 0; + for (l = 0; l < f.length; ++l) p += f[l]; + h[s] = p / c; + } + return h; + } + function s(t) { + if (0 === t.length) return []; + for ( + var e = t[0].length, + r = n([e]), + i = o(t), + a = 0; + a < t.length; + ++a + ) + for (var s = 0; s < e; ++s) + r[s] += t[a][s] * i[a]; + return r; + } + (s.barycenetric = o), (t.exports = s); + }, + 1778: function (t, e, r) { + t.exports = function (t) { + for ( + var e = n(t), r = 0, i = 0; + i < t.length; + ++i + ) + for ( + var a = t[i], o = 0; + o < e.length; + ++o + ) + r += Math.pow(a[o] - e[o], 2); + return Math.sqrt(r / t.length); + }; + var n = r(9243); + }, + 197: function (t, e, r) { + "use strict"; + t.exports = 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; + } + for ( + var s = (function (t, e, r) { + var n = d(t, [], p(t)); + return y(e, n, r), !!n; + })(t, e, !!r); + m(t, e, !!r); + + ) + s = !0; + if (r && s) + for ( + n.length = 0, r.length = 0, a = 0; + a < e.length; + ++a + ) + (o = e[a]), + n.push([o[0], o[1]]), + r.push(o[2]); + return s; + }; + var n = r(1731), + i = r(2569), + a = r(4434), + o = r(5125), + s = r(8846), + l = r(7999), + u = r(2826), + c = r(8551), + f = r(5528); + function h(t) { + var e = l(t); + return [c(e, -1 / 0), c(e, 1 / 0)]; + } + function p(t) { + for ( + var e = new Array(t.length), r = 0; + r < t.length; + ++r + ) { + var n = t[r]; + e[r] = [ + c(n[0], -1 / 0), + c(n[1], -1 / 0), + c(n[0], 1 / 0), + c(n[1], 1 / 0), + ]; + } + return e; + } + function d(t, e, r) { + for ( + var a = e.length, + o = new n(a), + s = [], + l = 0; + l < e.length; + ++l + ) { + var u = e[l], + f = h(u[0]), + p = h(u[1]); + s.push([ + c(f[0], -1 / 0), + c(p[0], -1 / 0), + c(f[1], 1 / 0), + c(p[1], 1 / 0), + ]); + } + i(s, function (t, e) { + o.link(t, e); + }); + var d = !0, + v = new Array(a); + for (l = 0; l < a; ++l) + (y = o.find(l)) !== l && + ((d = !1), + (t[y] = [ + Math.min(t[l][0], t[y][0]), + Math.min(t[l][1], t[y][1]), + ])); + if (d) return null; + var g = 0; + for (l = 0; l < a; ++l) { + var y; + (y = o.find(l)) === l + ? ((v[l] = g), (t[g++] = t[l])) + : (v[l] = -1); + } + for (t.length = g, l = 0; l < a; ++l) + v[l] < 0 && (v[l] = v[o.find(l)]); + return v; + } + function v(t, e) { + return t[0] - e[0] || t[1] - e[1]; + } + function g(t, e) { + return ( + t[0] - e[0] || + t[1] - e[1] || + (t[2] < e[2] ? -1 : t[2] > e[2] ? 1 : 0) + ); + } + function y(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(g) : t.sort(v); + 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 m(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] = [ + c(Math.min(a[0], o[0]), -1 / 0), + c(Math.min(a[1], o[1]), -1 / 0), + c(Math.max(a[0], o[0]), 1 / 0), + c(Math.max(a[1], o[1]), 1 / 0), + ]; + } + return r; + })(t, e), + h = (function (t, e, r) { + var n = []; + return ( + i(r, function (r, i) { + var o = e[r], + s = e[i]; + if ( + o[0] !== s[0] && + o[0] !== s[1] && + o[1] !== s[0] && + o[1] !== s[1] + ) { + var l = t[o[0]], + u = t[o[1]], + c = t[s[0]], + f = t[s[1]]; + a(l, u, c, f) && n.push([r, i]); + } + }), + n + ); + })(t, e, n), + v = (function (t, e, r, n) { + var o = []; + return ( + i(r, n, function (r, n) { + var i = e[r]; + if (i[0] !== n && i[1] !== n) { + var s = t[n], + l = t[i[0]], + u = t[i[1]]; + a(l, u, s, s) && o.push([r, n]); + } + }), + o + ); + })(t, e, n, p(t)), + g = (function (t, e, r, n, i) { + var a, + c, + h = t.map(function (t) { + return [o(t[0]), o(t[1])]; + }); + for (a = 0; a < r.length; ++a) { + var p = r[a]; + c = p[0]; + var d = p[1], + v = e[c], + g = e[d], + y = f( + u(t[v[0]]), + u(t[v[1]]), + u(t[g[0]]), + u(t[g[1]]), + ); + if (y) { + var m = t.length; + t.push([l(y[0]), l(y[1])]), + h.push(y), + n.push([c, m], [d, m]); + } + } + for ( + n.sort(function (t, e) { + if (t[0] !== e[0]) + return t[0] - e[0]; + var r = h[t[1]], + n = h[e[1]]; + return ( + s(r[0], n[0]) || s(r[1], n[1]) + ); + }), + a = n.length - 1; + a >= 0; + --a + ) { + var x = e[(c = (S = n[a])[0])], + b = x[0], + _ = x[1], + w = t[b], + T = t[_]; + if ( + (w[0] - T[0] || w[1] - T[1]) < 0 + ) { + var k = b; + (b = _), (_ = k); + } + x[0] = b; + var A, + M = (x[1] = S[1]); + for ( + i && (A = x[2]); + a > 0 && n[a - 1][0] === c; + + ) { + var S, + E = (S = n[--a])[1]; + i + ? e.push([M, E, A]) + : e.push([M, E]), + (M = E); + } + i + ? e.push([M, _, A]) + : e.push([M, _]); + } + return h; + })(t, e, h, v, r), + m = d(t, g); + return ( + y(e, m, r), + !!m || h.length > 0 || v.length > 0 + ); + } + }, + 5528: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r, n) { + var a = s(e, t), + f = s(n, r), + h = c(a, f); + if (0 === o(h)) return null; + var p = c(f, s(t, r)), + d = i(p, h), + v = u(a, d); + return l(t, v); + }; + var n = r(3962), + i = r(9189), + a = r(4354), + o = r(4951), + s = r(6695), + l = r(7584), + u = r(4469); + function c(t, e) { + return a(n(t[0], e[1]), n(t[1], e[0])); + } + }, + 5692: function (t) { + t.exports = { + jet: [ + { index: 0, rgb: [0, 0, 131] }, + { index: 0.125, rgb: [0, 60, 170] }, + { index: 0.375, rgb: [5, 255, 255] }, + { index: 0.625, rgb: [255, 255, 0] }, + { index: 0.875, rgb: [250, 0, 0] }, + { index: 1, rgb: [128, 0, 0] }, + ], + hsv: [ + { index: 0, rgb: [255, 0, 0] }, + { index: 0.169, rgb: [253, 255, 2] }, + { index: 0.173, rgb: [247, 255, 2] }, + { index: 0.337, rgb: [0, 252, 4] }, + { index: 0.341, rgb: [0, 252, 10] }, + { index: 0.506, rgb: [1, 249, 255] }, + { index: 0.671, rgb: [2, 0, 253] }, + { index: 0.675, rgb: [8, 0, 253] }, + { index: 0.839, rgb: [255, 0, 251] }, + { index: 0.843, rgb: [255, 0, 245] }, + { index: 1, rgb: [255, 0, 6] }, + ], + hot: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.3, rgb: [230, 0, 0] }, + { index: 0.6, rgb: [255, 210, 0] }, + { index: 1, rgb: [255, 255, 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: 0.376, rgb: [84, 84, 116] }, + { index: 0.753, rgb: [169, 200, 200] }, + { index: 1, rgb: [255, 255, 255] }, + ], + copper: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.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: 0.125, rgb: [37, 52, 148] }, + { index: 0.25, rgb: [34, 94, 168] }, + { index: 0.375, rgb: [29, 145, 192] }, + { index: 0.5, rgb: [65, 182, 196] }, + { index: 0.625, rgb: [127, 205, 187] }, + { index: 0.75, rgb: [199, 233, 180] }, + { index: 0.875, rgb: [237, 248, 217] }, + { index: 1, rgb: [255, 255, 217] }, + ], + greens: [ + { index: 0, rgb: [0, 68, 27] }, + { index: 0.125, rgb: [0, 109, 44] }, + { index: 0.25, rgb: [35, 139, 69] }, + { index: 0.375, rgb: [65, 171, 93] }, + { index: 0.5, rgb: [116, 196, 118] }, + { index: 0.625, rgb: [161, 217, 155] }, + { index: 0.75, rgb: [199, 233, 192] }, + { index: 0.875, rgb: [229, 245, 224] }, + { index: 1, rgb: [247, 252, 245] }, + ], + yiorrd: [ + { index: 0, rgb: [128, 0, 38] }, + { index: 0.125, rgb: [189, 0, 38] }, + { index: 0.25, rgb: [227, 26, 28] }, + { index: 0.375, rgb: [252, 78, 42] }, + { index: 0.5, rgb: [253, 141, 60] }, + { index: 0.625, rgb: [254, 178, 76] }, + { index: 0.75, rgb: [254, 217, 118] }, + { index: 0.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: 0.35, rgb: [106, 137, 247] }, + { index: 0.5, rgb: [190, 190, 190] }, + { index: 0.6, rgb: [220, 170, 132] }, + { index: 0.7, rgb: [230, 145, 90] }, + { index: 1, rgb: [178, 10, 28] }, + ], + picnic: [ + { index: 0, rgb: [0, 0, 255] }, + { index: 0.1, rgb: [51, 153, 255] }, + { index: 0.2, rgb: [102, 204, 255] }, + { index: 0.3, rgb: [153, 204, 255] }, + { index: 0.4, rgb: [204, 204, 255] }, + { index: 0.5, rgb: [255, 255, 255] }, + { index: 0.6, rgb: [255, 204, 255] }, + { index: 0.7, rgb: [255, 153, 255] }, + { index: 0.8, rgb: [255, 102, 204] }, + { index: 0.9, rgb: [255, 102, 102] }, + { index: 1, rgb: [255, 0, 0] }, + ], + rainbow: [ + { index: 0, rgb: [150, 0, 90] }, + { index: 0.125, rgb: [0, 0, 200] }, + { index: 0.25, rgb: [0, 25, 255] }, + { index: 0.375, rgb: [0, 152, 255] }, + { index: 0.5, rgb: [44, 255, 150] }, + { index: 0.625, rgb: [151, 255, 0] }, + { index: 0.75, rgb: [255, 234, 0] }, + { index: 0.875, rgb: [255, 111, 0] }, + { index: 1, rgb: [255, 0, 0] }, + ], + portland: [ + { index: 0, rgb: [12, 51, 131] }, + { index: 0.25, rgb: [10, 136, 186] }, + { index: 0.5, rgb: [242, 211, 56] }, + { index: 0.75, rgb: [242, 143, 56] }, + { index: 1, rgb: [217, 30, 30] }, + ], + blackbody: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.2, rgb: [230, 0, 0] }, + { index: 0.4, rgb: [230, 210, 0] }, + { index: 0.7, rgb: [255, 255, 255] }, + { index: 1, rgb: [160, 200, 255] }, + ], + earth: [ + { index: 0, rgb: [0, 0, 130] }, + { index: 0.1, rgb: [0, 180, 180] }, + { index: 0.2, rgb: [40, 210, 40] }, + { index: 0.4, rgb: [230, 230, 50] }, + { index: 0.6, rgb: [120, 70, 20] }, + { index: 1, rgb: [255, 255, 255] }, + ], + electric: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.15, rgb: [30, 0, 100] }, + { index: 0.4, rgb: [120, 0, 100] }, + { index: 0.6, rgb: [160, 90, 0] }, + { index: 0.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: 0.13, rgb: [71, 44, 122] }, + { index: 0.25, rgb: [59, 81, 139] }, + { index: 0.38, rgb: [44, 113, 142] }, + { index: 0.5, rgb: [33, 144, 141] }, + { index: 0.63, rgb: [39, 173, 129] }, + { index: 0.75, rgb: [92, 200, 99] }, + { index: 0.88, rgb: [170, 220, 50] }, + { index: 1, rgb: [253, 231, 37] }, + ], + inferno: [ + { index: 0, rgb: [0, 0, 4] }, + { index: 0.13, rgb: [31, 12, 72] }, + { index: 0.25, rgb: [85, 15, 109] }, + { index: 0.38, rgb: [136, 34, 106] }, + { index: 0.5, rgb: [186, 54, 85] }, + { index: 0.63, rgb: [227, 89, 51] }, + { index: 0.75, rgb: [249, 140, 10] }, + { index: 0.88, rgb: [249, 201, 50] }, + { index: 1, rgb: [252, 255, 164] }, + ], + magma: [ + { index: 0, rgb: [0, 0, 4] }, + { index: 0.13, rgb: [28, 16, 68] }, + { index: 0.25, rgb: [79, 18, 123] }, + { index: 0.38, rgb: [129, 37, 129] }, + { index: 0.5, rgb: [181, 54, 122] }, + { index: 0.63, rgb: [229, 80, 100] }, + { index: 0.75, rgb: [251, 135, 97] }, + { index: 0.88, rgb: [254, 194, 135] }, + { index: 1, rgb: [252, 253, 191] }, + ], + plasma: [ + { index: 0, rgb: [13, 8, 135] }, + { index: 0.13, rgb: [75, 3, 161] }, + { index: 0.25, rgb: [125, 3, 168] }, + { index: 0.38, rgb: [168, 34, 150] }, + { index: 0.5, rgb: [203, 70, 121] }, + { index: 0.63, rgb: [229, 107, 93] }, + { index: 0.75, rgb: [248, 148, 65] }, + { index: 0.88, rgb: [253, 195, 40] }, + { index: 1, rgb: [240, 249, 33] }, + ], + warm: [ + { index: 0, rgb: [125, 0, 179] }, + { index: 0.13, rgb: [172, 0, 187] }, + { index: 0.25, rgb: [219, 0, 170] }, + { index: 0.38, rgb: [255, 0, 130] }, + { index: 0.5, rgb: [255, 63, 74] }, + { index: 0.63, rgb: [255, 123, 0] }, + { index: 0.75, rgb: [234, 176, 0] }, + { index: 0.88, rgb: [190, 228, 0] }, + { index: 1, rgb: [147, 255, 0] }, + ], + cool: [ + { index: 0, rgb: [125, 0, 179] }, + { index: 0.13, rgb: [116, 0, 218] }, + { index: 0.25, rgb: [98, 74, 237] }, + { index: 0.38, rgb: [68, 146, 231] }, + { index: 0.5, rgb: [0, 204, 197] }, + { index: 0.63, rgb: [0, 247, 146] }, + { index: 0.75, rgb: [0, 255, 88] }, + { index: 0.88, rgb: [40, 255, 8] }, + { index: 1, rgb: [147, 255, 0] }, + ], + "rainbow-soft": [ + { index: 0, rgb: [125, 0, 179] }, + { index: 0.1, rgb: [199, 0, 180] }, + { index: 0.2, rgb: [255, 0, 121] }, + { index: 0.3, rgb: [255, 108, 0] }, + { index: 0.4, rgb: [222, 194, 0] }, + { index: 0.5, rgb: [150, 255, 0] }, + { index: 0.6, rgb: [0, 255, 55] }, + { index: 0.7, rgb: [0, 246, 150] }, + { index: 0.8, rgb: [50, 167, 222] }, + { index: 0.9, rgb: [103, 51, 235] }, + { index: 1, rgb: [124, 0, 186] }, + ], + bathymetry: [ + { index: 0, rgb: [40, 26, 44] }, + { index: 0.13, rgb: [59, 49, 90] }, + { index: 0.25, rgb: [64, 76, 139] }, + { index: 0.38, rgb: [63, 110, 151] }, + { index: 0.5, rgb: [72, 142, 158] }, + { index: 0.63, rgb: [85, 174, 163] }, + { index: 0.75, rgb: [120, 206, 163] }, + { index: 0.88, rgb: [187, 230, 172] }, + { index: 1, rgb: [253, 254, 204] }, + ], + cdom: [ + { index: 0, rgb: [47, 15, 62] }, + { index: 0.13, rgb: [87, 23, 86] }, + { index: 0.25, rgb: [130, 28, 99] }, + { index: 0.38, rgb: [171, 41, 96] }, + { index: 0.5, rgb: [206, 67, 86] }, + { index: 0.63, rgb: [230, 106, 84] }, + { index: 0.75, rgb: [242, 149, 103] }, + { index: 0.88, rgb: [249, 193, 135] }, + { index: 1, rgb: [254, 237, 176] }, + ], + chlorophyll: [ + { index: 0, rgb: [18, 36, 20] }, + { index: 0.13, rgb: [25, 63, 41] }, + { index: 0.25, rgb: [24, 91, 59] }, + { index: 0.38, rgb: [13, 119, 72] }, + { index: 0.5, rgb: [18, 148, 80] }, + { index: 0.63, rgb: [80, 173, 89] }, + { index: 0.75, rgb: [132, 196, 122] }, + { index: 0.88, rgb: [175, 221, 162] }, + { index: 1, rgb: [215, 249, 208] }, + ], + density: [ + { index: 0, rgb: [54, 14, 36] }, + { index: 0.13, rgb: [89, 23, 80] }, + { index: 0.25, rgb: [110, 45, 132] }, + { index: 0.38, rgb: [120, 77, 178] }, + { index: 0.5, rgb: [120, 113, 213] }, + { index: 0.63, rgb: [115, 151, 228] }, + { index: 0.75, rgb: [134, 185, 227] }, + { index: 0.88, rgb: [177, 214, 227] }, + { index: 1, rgb: [230, 241, 241] }, + ], + "freesurface-blue": [ + { index: 0, rgb: [30, 4, 110] }, + { index: 0.13, rgb: [47, 14, 176] }, + { index: 0.25, rgb: [41, 45, 236] }, + { index: 0.38, rgb: [25, 99, 212] }, + { index: 0.5, rgb: [68, 131, 200] }, + { index: 0.63, rgb: [114, 156, 197] }, + { index: 0.75, rgb: [157, 181, 203] }, + { index: 0.88, rgb: [200, 208, 216] }, + { index: 1, rgb: [241, 237, 236] }, + ], + "freesurface-red": [ + { index: 0, rgb: [60, 9, 18] }, + { index: 0.13, rgb: [100, 17, 27] }, + { index: 0.25, rgb: [142, 20, 29] }, + { index: 0.38, rgb: [177, 43, 27] }, + { index: 0.5, rgb: [192, 87, 63] }, + { index: 0.63, rgb: [205, 125, 105] }, + { index: 0.75, rgb: [216, 162, 148] }, + { index: 0.88, rgb: [227, 199, 193] }, + { index: 1, rgb: [241, 237, 236] }, + ], + oxygen: [ + { index: 0, rgb: [64, 5, 5] }, + { index: 0.13, rgb: [106, 6, 15] }, + { index: 0.25, rgb: [144, 26, 7] }, + { index: 0.38, rgb: [168, 64, 3] }, + { index: 0.5, rgb: [188, 100, 4] }, + { index: 0.63, rgb: [206, 136, 11] }, + { index: 0.75, rgb: [220, 174, 25] }, + { index: 0.88, rgb: [231, 215, 44] }, + { index: 1, rgb: [248, 254, 105] }, + ], + par: [ + { index: 0, rgb: [51, 20, 24] }, + { index: 0.13, rgb: [90, 32, 35] }, + { index: 0.25, rgb: [129, 44, 34] }, + { index: 0.38, rgb: [159, 68, 25] }, + { index: 0.5, rgb: [182, 99, 19] }, + { index: 0.63, rgb: [199, 134, 22] }, + { index: 0.75, rgb: [212, 171, 35] }, + { index: 0.88, rgb: [221, 210, 54] }, + { index: 1, rgb: [225, 253, 75] }, + ], + phase: [ + { index: 0, rgb: [145, 105, 18] }, + { index: 0.13, rgb: [184, 71, 38] }, + { index: 0.25, rgb: [186, 58, 115] }, + { index: 0.38, rgb: [160, 71, 185] }, + { index: 0.5, rgb: [110, 97, 218] }, + { index: 0.63, rgb: [50, 123, 164] }, + { index: 0.75, rgb: [31, 131, 110] }, + { index: 0.88, rgb: [77, 129, 34] }, + { index: 1, rgb: [145, 105, 18] }, + ], + salinity: [ + { index: 0, rgb: [42, 24, 108] }, + { index: 0.13, rgb: [33, 50, 162] }, + { index: 0.25, rgb: [15, 90, 145] }, + { index: 0.38, rgb: [40, 118, 137] }, + { index: 0.5, rgb: [59, 146, 135] }, + { index: 0.63, rgb: [79, 175, 126] }, + { index: 0.75, rgb: [120, 203, 104] }, + { index: 0.88, rgb: [193, 221, 100] }, + { index: 1, rgb: [253, 239, 154] }, + ], + temperature: [ + { index: 0, rgb: [4, 35, 51] }, + { index: 0.13, rgb: [23, 51, 122] }, + { index: 0.25, rgb: [85, 59, 157] }, + { index: 0.38, rgb: [129, 79, 143] }, + { index: 0.5, rgb: [175, 95, 130] }, + { index: 0.63, rgb: [222, 112, 101] }, + { index: 0.75, rgb: [249, 146, 66] }, + { index: 0.88, rgb: [249, 196, 65] }, + { index: 1, rgb: [232, 250, 91] }, + ], + turbidity: [ + { index: 0, rgb: [34, 31, 27] }, + { index: 0.13, rgb: [65, 50, 41] }, + { index: 0.25, rgb: [98, 69, 52] }, + { index: 0.38, rgb: [131, 89, 57] }, + { index: 0.5, rgb: [161, 112, 59] }, + { index: 0.63, rgb: [185, 140, 66] }, + { index: 0.75, rgb: [202, 174, 88] }, + { index: 0.88, rgb: [216, 209, 126] }, + { index: 1, rgb: [233, 246, 171] }, + ], + "velocity-blue": [ + { index: 0, rgb: [17, 32, 64] }, + { index: 0.13, rgb: [35, 52, 116] }, + { index: 0.25, rgb: [29, 81, 156] }, + { index: 0.38, rgb: [31, 113, 162] }, + { index: 0.5, rgb: [50, 144, 169] }, + { index: 0.63, rgb: [87, 173, 176] }, + { index: 0.75, rgb: [149, 196, 189] }, + { index: 0.88, rgb: [203, 221, 211] }, + { index: 1, rgb: [254, 251, 230] }, + ], + "velocity-green": [ + { index: 0, rgb: [23, 35, 19] }, + { index: 0.13, rgb: [24, 64, 38] }, + { index: 0.25, rgb: [11, 95, 45] }, + { index: 0.38, rgb: [39, 123, 35] }, + { index: 0.5, rgb: [95, 146, 12] }, + { index: 0.63, rgb: [152, 165, 18] }, + { index: 0.75, rgb: [201, 186, 69] }, + { index: 0.88, rgb: [233, 216, 137] }, + { index: 1, rgb: [255, 253, 205] }, + ], + cubehelix: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.07, rgb: [22, 5, 59] }, + { index: 0.13, rgb: [60, 4, 105] }, + { index: 0.2, rgb: [109, 1, 135] }, + { index: 0.27, rgb: [161, 0, 147] }, + { index: 0.33, rgb: [210, 2, 142] }, + { index: 0.4, rgb: [251, 11, 123] }, + { index: 0.47, rgb: [255, 29, 97] }, + { index: 0.53, rgb: [255, 54, 69] }, + { index: 0.6, rgb: [255, 85, 46] }, + { index: 0.67, rgb: [255, 120, 34] }, + { index: 0.73, rgb: [255, 157, 37] }, + { index: 0.8, rgb: [241, 191, 57] }, + { index: 0.87, rgb: [224, 220, 93] }, + { index: 0.93, rgb: [218, 241, 142] }, + { index: 1, rgb: [227, 253, 198] }, + ], + }; + }, + 9156: function (t, e, r) { + "use strict"; + var n = r(5692), + i = r(3578); + function a(t) { + return [ + t[0] / 255, + t[1] / 255, + t[2] / 255, + t[3], + ]; + } + function o(t) { + for (var e, r = "#", n = 0; n < 3; ++n) + r += ( + "00" + (e = (e = t[n]).toString(16)) + ).substr(e.length); + return r; + } + function s(t) { + return "rgba(" + t.join(",") + ")"; + } + t.exports = function (t) { + var e, r, l, u, c, f, h, p, d, v; + if ( + (t || (t = {}), + (p = (t.nshades || 72) - 1), + (h = t.format || "hex"), + (f = t.colormap) || (f = "jet"), + "string" == typeof f) + ) { + if (((f = f.toLowerCase()), !n[f])) + throw Error( + f + " not a supported colorscale", + ); + c = n[f]; + } else { + if (!Array.isArray(f)) + throw Error( + "unsupported colormap option", + f, + ); + c = f.slice(); + } + if (c.length > p + 1) + throw new Error( + f + + " map requires nshades to be at least size " + + c.length, + ); + (d = Array.isArray(t.alpha) + ? 2 !== t.alpha.length + ? [1, 1] + : t.alpha.slice() + : "number" == typeof t.alpha + ? [t.alpha, t.alpha] + : [1, 1]), + (e = c.map(function (t) { + return Math.round(t.index * p); + })), + (d[0] = Math.min(Math.max(d[0], 0), 1)), + (d[1] = Math.min(Math.max(d[1], 0), 1)); + var g = c.map(function (t, e) { + var r = c[e].index, + n = c[e].rgb.slice(); + return ( + (4 === n.length && + n[3] >= 0 && + n[3] <= 1) || + (n[3] = d[0] + (d[1] - d[0]) * r), + n + ); + }), + y = []; + for (v = 0; v < e.length - 1; ++v) { + (u = e[v + 1] - e[v]), + (r = g[v]), + (l = g[v + 1]); + for (var m = 0; m < u; m++) { + var x = m / u; + y.push([ + Math.round(i(r[0], l[0], x)), + Math.round(i(r[1], l[1], x)), + Math.round(i(r[2], l[2], x)), + i(r[3], l[3], x), + ]); + } + } + return ( + y.push(c[c.length - 1].rgb.concat(d[1])), + "hex" === h + ? (y = y.map(o)) + : "rgbaString" === h + ? (y = y.map(s)) + : "float" === h && (y = y.map(a)), + y + ); + }; + }, + 9398: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r, a) { + var o = n(e, r, a); + if (0 === o) { + var s = i(n(t, e, r)), + u = i(n(t, e, a)); + if (s === u) { + if (0 === s) { + var c = l(t, e, r); + return c === l(t, e, a) + ? 0 + : c + ? 1 + : -1; + } + return 0; + } + return 0 === u + ? s > 0 || l(t, e, a) + ? -1 + : 1 + : 0 === s + ? u > 0 || l(t, e, r) + ? 1 + : -1 + : i(u - s); + } + var f = n(t, e, r); + return f > 0 + ? o > 0 && n(t, e, a) > 0 + ? 1 + : -1 + : f < 0 + ? o > 0 || n(t, e, a) > 0 + ? 1 + : -1 + : n(t, e, a) > 0 || l(t, e, r) + ? 1 + : -1; + }; + var n = r(417), + i = r(7538), + a = r(87), + o = r(2019), + s = r(9662); + function l(t, e, r) { + var n = a(t[0], -e[0]), + i = a(t[1], -e[1]), + l = a(r[0], -e[0]), + u = a(r[1], -e[1]), + c = s(o(n, l), o(i, u)); + return c[c.length - 1] >= 0; + } + }, + 7538: function (t) { + "use strict"; + t.exports = function (t) { + return t < 0 ? -1 : t > 0 ? 1 : 0; + }; + }, + 9209: function (t) { + t.exports = function (t, n) { + var i = t.length, + a = t.length - n.length; + if (a) return a; + switch (i) { + case 0: + return 0; + case 1: + return t[0] - n[0]; + case 2: + return ( + t[0] + t[1] - n[0] - n[1] || + e(t[0], t[1]) - e(n[0], n[1]) + ); + case 3: + var o = t[0] + t[1], + s = n[0] + n[1]; + if ((a = o + t[2] - (s + n[2]))) + return a; + var l = e(t[0], t[1]), + u = e(n[0], n[1]); + return ( + e(l, t[2]) - e(u, n[2]) || + e(l + t[2], o) - e(u + n[2], s) + ); + case 4: + var c = t[0], + f = t[1], + h = t[2], + p = t[3], + d = n[0], + v = n[1], + g = n[2], + y = n[3]; + return ( + c + f + h + p - (d + v + g + y) || + e(c, f, h, p) - e(d, v, g, y, d) || + e( + c + f, + c + h, + c + p, + f + h, + f + p, + h + p, + ) - + e( + d + v, + d + g, + d + y, + v + g, + v + y, + g + y, + ) || + e( + c + f + h, + c + f + p, + c + h + p, + f + h + p, + ) - + e( + d + v + g, + d + v + y, + d + g + y, + v + g + y, + ) + ); + default: + for ( + var m = t.slice().sort(r), + x = n.slice().sort(r), + b = 0; + b < i; + ++b + ) + if ((a = m[b] - x[b])) return a; + return 0; + } + }; + var e = Math.min; + function r(t, e) { + return t - e; + } + }, + 1284: function (t, e, r) { + "use strict"; + var n = r(9209), + i = r(9887); + t.exports = function (t, e) { + return n(t, e) || i(t) - i(e); + }; + }, + 5537: function (t, e, r) { + "use strict"; + var n = r(8950), + i = r(8722), + a = r(3332); + t.exports = function (t) { + var e = t.length; + if (0 === e) return []; + if (1 === e) return [[0]]; + var r = t[0].length; + return 0 === r + ? [] + : 1 === r + ? n(t) + : 2 === r + ? i(t) + : a(t, r); + }; + }, + 8950: function (t) { + "use strict"; + t.exports = 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]]; + }; + }, + 8722: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = n(t), + r = e.length; + if (r <= 2) return []; + for ( + var i = new Array(r), a = e[r - 1], o = 0; + o < r; + ++o + ) { + var s = e[o]; + (i[o] = [a, s]), (a = s); + } + return i; + }; + var n = r(3266); + }, + 3332: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + try { + return n(t, !0); + } catch (o) { + var r = i(t); + if (r.length <= e) return []; + var a = (function (t, e) { + for ( + var r = t.length, + n = new Array(r), + i = 0; + i < e.length; + ++i + ) + n[i] = t[e[i]]; + var a = e.length; + for (i = 0; i < r; ++i) + e.indexOf(i) < 0 && (n[a++] = t[i]); + return n; + })(t, r); + 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; + })(n(a, !0), r); + } + }; + var n = r(2183), + i = r(2153); + }, + 9680: function (t) { + "use strict"; + (t.exports = 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, + f = s * (3 - 2 * i), + h = 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] + + f * r[p] + + h * n[p]; + return a; + } + return u * t + c * e + f * r + h * n; + }), + (t.exports.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; + }); + }, + 4419: function (t, e, r) { + "use strict"; + var n = r(2183), + i = r(1215); + function a(t, e) { + (this.point = t), (this.index = e); + } + function o(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; + } + t.exports = function (t, e) { + var r = t.length; + if (0 === r) return []; + var s = t[0].length; + if (s < 1) return []; + if (1 === s) + 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]]; + } + return ( + r && + i.push( + [-1, i[0][1]], + [i[t - 1][1], -1], + ), + i + ); + })(r, t, e); + for ( + var l = new Array(r), u = 1, c = 0; + c < r; + ++c + ) { + for ( + var f = t[c], + h = new Array(s + 1), + p = 0, + d = 0; + d < s; + ++d + ) { + var v = f[d]; + (h[d] = v), (p += v * v); + } + (h[s] = p), + (l[c] = new a(h, c)), + (u = Math.max(p, u)); + } + i(l, o), (r = l.length); + var g = new Array(r + s + 1), + y = new Array(r + s + 1), + m = (s + 1) * (s + 1) * u, + x = new Array(s + 1); + for (c = 0; c <= s; ++c) x[c] = 0; + for ( + x[s] = m, + g[0] = x.slice(), + y[0] = -1, + c = 0; + c <= s; + ++c + ) + ((h = x.slice())[c] = 1), + (g[c + 1] = h), + (y[c + 1] = -1); + for (c = 0; c < r; ++c) { + var b = l[c]; + (g[c + s + 1] = b.point), + (y[c + s + 1] = b.index); + } + var _ = n(g, !1); + if ( + ((_ = e + ? _.filter(function (t) { + for ( + var e = 0, r = 0; + r <= s; + ++r + ) { + var n = y[t[r]]; + if (n < 0 && ++e >= 2) return !1; + t[r] = n; + } + return !0; + }) + : _.filter(function (t) { + for (var e = 0; e <= s; ++e) { + var r = y[t[e]]; + if (r < 0) return !1; + t[e] = r; + } + return !0; + })), + 1 & s) + ) + for (c = 0; c < _.length; ++c) + (h = (b = _[c])[0]), + (b[0] = b[1]), + (b[1] = h); + return _; + }; + }, + 8362: function (t) { + var e = !1; + if ("undefined" != typeof Float64Array) { + var r = new Float64Array(1), + n = new Uint32Array(r.buffer); + (r[0] = 1), + (e = !0), + 1072693248 === n[1] + ? ((t.exports = function (t) { + return (r[0] = t), [n[0], n[1]]; + }), + (t.exports.pack = function (t, e) { + return (n[0] = t), (n[1] = e), r[0]; + }), + (t.exports.lo = function (t) { + return (r[0] = t), n[0]; + }), + (t.exports.hi = function (t) { + return (r[0] = t), n[1]; + })) + : 1072693248 === n[0] + ? ((t.exports = function (t) { + return (r[0] = t), [n[1], n[0]]; + }), + (t.exports.pack = function (t, e) { + return (n[1] = t), (n[0] = e), r[0]; + }), + (t.exports.lo = function (t) { + return (r[0] = t), n[1]; + }), + (t.exports.hi = function (t) { + return (r[0] = t), n[0]; + })) + : (e = !1); + } + if (!e) { + var i = new Buffer(8); + (t.exports = function (t) { + return ( + i.writeDoubleLE(t, 0, !0), + [ + i.readUInt32LE(0, !0), + i.readUInt32LE(4, !0), + ] + ); + }), + (t.exports.pack = function (t, e) { + return ( + i.writeUInt32LE(t, 0, !0), + i.writeUInt32LE(e, 4, !0), + i.readDoubleLE(0, !0) + ); + }), + (t.exports.lo = function (t) { + return ( + i.writeDoubleLE(t, 0, !0), + i.readUInt32LE(0, !0) + ); + }), + (t.exports.hi = function (t) { + return ( + i.writeDoubleLE(t, 0, !0), + i.readUInt32LE(4, !0) + ); + }); + } + (t.exports.sign = function (e) { + return t.exports.hi(e) >>> 31; + }), + (t.exports.exponent = function (e) { + return ( + ((t.exports.hi(e) << 1) >>> 21) - 1023 + ); + }), + (t.exports.fraction = function (e) { + var r = t.exports.lo(e), + n = t.exports.hi(e), + i = 1048575 & n; + return ( + 2146435072 & n && (i += 1 << 20), [r, i] + ); + }), + (t.exports.denormalized = function (e) { + return !(2146435072 & t.exports.hi(e)); + }); + }, + 3094: function (t) { + "use strict"; + function e(t, r, n) { + var i = 0 | t[n]; + if (i <= 0) return []; + var a, + o = new Array(i); + if (n === t.length - 1) + for (a = 0; a < i; ++a) o[a] = r; + else + for (a = 0; a < i; ++a) + o[a] = e(t, r, n + 1); + return o; + } + t.exports = function (t, r) { + switch ( + (void 0 === r && (r = 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, r); + break; + case "object": + if ("number" == typeof t.length) + return e(t, r, 0); + } + return []; + }; + }, + 8348: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + var r = t.length; + if ("number" != typeof e) { + e = 0; + for (var i = 0; i < r; ++i) { + var a = t[i]; + e = Math.max(e, a[0], a[1]); + } + e = 1 + (0 | e); + } + e |= 0; + var o = new Array(e); + for (i = 0; i < e; ++i) o[i] = []; + for (i = 0; i < r; ++i) + o[(a = t[i])[0]].push(a[1]), + o[a[1]].push(a[0]); + for (var s = 0; s < e; ++s) + n(o[s], function (t, e) { + return t - e; + }); + return o; + }; + var n = r(1215); + }, + 5795: function (t) { + "use strict"; + t.exports = 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], + ], + ]; + }; + }, + 8444: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r) { + switch (arguments.length) { + case 0: + return new o([0], [0], 0); + case 1: + return "number" == typeof t + ? new o((n = l(t)), n, 0) + : new o(t, l(t.length), 0); + case 2: + if ("number" == typeof e) { + var n = l(t.length); + return new o(t, n, +e); + } + r = 0; + case 3: + if (t.length !== e.length) + throw new Error( + "state and velocity lengths must match", + ); + return new o(t, e, r); + } + }; + var n = r(9680), + i = r(5070); + function a(t, e, r) { + return Math.min(e, Math.max(t, r)); + } + function o(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 s = o.prototype; + function l(t) { + for ( + var e = new Array(t), r = 0; + r < t; + ++r + ) + e[r] = 0; + return e; + } + (s.flush = function (t) { + var e = i.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, + )); + }), + (s.curve = function (t) { + var e = this._time, + r = e.length, + o = i.le(e, t), + s = this._scratch[0], + l = this._state, + u = this._velocity, + c = this.dimension, + f = this.bounds; + if (o < 0) + for ( + var h = c - 1, p = 0; + p < c; + ++p, --h + ) + s[p] = l[h]; + else if (o >= r - 1) { + h = l.length - 1; + var d = t - e[r - 1]; + for (p = 0; p < c; ++p, --h) + s[p] = l[h] + d * u[h]; + } else { + h = c * (o + 1) - 1; + var v = e[o], + g = e[o + 1] - v || 1, + y = this._scratch[1], + m = this._scratch[2], + x = this._scratch[3], + b = this._scratch[4], + _ = !0; + for (p = 0; p < c; ++p, --h) + (y[p] = l[h]), + (x[p] = u[h] * g), + (m[p] = l[h + c]), + (b[p] = u[h + c] * g), + (_ = + _ && + y[p] === m[p] && + x[p] === b[p] && + 0 === x[p]); + if (_) + for (p = 0; p < c; ++p) s[p] = y[p]; + else n(y, x, m, b, (t - v) / g, s); + } + var w = f[0], + T = f[1]; + for (p = 0; p < c; ++p) + s[p] = a(w[p], T[p], s[p]); + return s; + }), + (s.dcurve = function (t) { + var e = this._time, + r = e.length, + a = i.le(e, t), + o = this._scratch[0], + s = this._state, + l = this._velocity, + u = this.dimension; + if (a >= r - 1) + for ( + var c = s.length - 1, + f = (e[r - 1], 0); + f < u; + ++f, --c + ) + o[f] = l[c]; + else { + c = u * (a + 1) - 1; + var h = e[a], + p = e[a + 1] - h || 1, + d = this._scratch[1], + v = this._scratch[2], + g = this._scratch[3], + y = this._scratch[4], + m = !0; + for (f = 0; f < u; ++f, --c) + (d[f] = s[c]), + (g[f] = l[c] * p), + (v[f] = s[c + u]), + (y[f] = l[c + u] * p), + (m = + m && + d[f] === v[f] && + g[f] === y[f] && + 0 === g[f]); + if (m) for (f = 0; f < u; ++f) o[f] = 0; + else + for ( + n.derivative( + d, + g, + v, + y, + (t - h) / p, + o, + ), + f = 0; + f < u; + ++f + ) + o[f] /= p; + } + return o; + }), + (s.lastT = function () { + var t = this._time; + return t[t.length - 1]; + }), + (s.stable = function () { + for ( + var t = this._velocity, + e = t.length, + r = this.dimension - 1; + r >= 0; + --r + ) + if (t[--e]) return !1; + return !0; + }), + (s.jump = function (t) { + var e = this.lastT(), + r = this.dimension; + if ( + !(t < e || arguments.length !== r + 1) + ) { + var n = this._state, + i = this._velocity, + o = n.length - this.dimension, + s = this.bounds, + l = s[0], + u = s[1]; + this._time.push(e, t); + for (var c = 0; c < 2; ++c) + for (var f = 0; f < r; ++f) + n.push(n[o++]), i.push(0); + for ( + this._time.push(t), f = r; + f > 0; + --f + ) + n.push( + a(l[f - 1], u[f - 1], arguments[f]), + ), + i.push(0); + } + }), + (s.push = function (t) { + var e = this.lastT(), + r = this.dimension; + if ( + !(t < e || arguments.length !== r + 1) + ) { + var n = this._state, + i = this._velocity, + o = n.length - this.dimension, + s = t - e, + l = this.bounds, + u = l[0], + c = l[1], + f = s > 1e-6 ? 1 / s : 0; + this._time.push(t); + for (var h = r; h > 0; --h) { + var p = a( + u[h - 1], + c[h - 1], + arguments[h], + ); + n.push(p), i.push((p - n[o++]) * f); + } + } + }), + (s.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, + o = i[0], + s = i[1]; + this._time.push(t); + for (var l = e; l > 0; --l) + r.push( + a(o[l - 1], s[l - 1], arguments[l]), + ), + n.push(0); + } + }), + (s.move = function (t) { + var e = this.lastT(), + r = this.dimension; + if ( + !(t <= e || arguments.length !== r + 1) + ) { + var n = this._state, + i = this._velocity, + o = n.length - this.dimension, + s = this.bounds, + l = s[0], + u = s[1], + c = t - e, + f = c > 1e-6 ? 1 / c : 0; + this._time.push(t); + for (var h = r; h > 0; --h) { + var p = arguments[h]; + n.push( + a(l[h - 1], u[h - 1], n[o++] + p), + ), + i.push(p * f); + } + } + }), + (s.idle = function (t) { + var e = this.lastT(); + if (!(t < e)) { + var r = this.dimension, + n = this._state, + i = this._velocity, + o = n.length - r, + s = this.bounds, + l = s[0], + u = s[1], + c = t - e; + this._time.push(t); + for (var f = r - 1; f >= 0; --f) + n.push( + a(l[f], u[f], n[o] + c * i[o]), + ), + i.push(0), + (o += 1); + } + }); + }, + 7080: function (t) { + "use strict"; + function e(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 r(t) { + return new e( + t._color, + t.key, + t.value, + t.left, + t.right, + t._count, + ); + } + function n(t, r) { + return new e( + t, + r.key, + r.value, + r.left, + r.right, + r._count, + ); + } + function i(t) { + t._count = + 1 + + (t.left ? t.left._count : 0) + + (t.right ? t.right._count : 0); + } + function a(t, e) { + (this._compare = t), (this.root = e); + } + t.exports = function (t) { + return new a(t || p, null); + }; + var o = a.prototype; + function s(t, e) { + var r; + return e.left && (r = s(t, e.left)) + ? r + : (r = t(e.key, e.value)) || + (e.right ? s(t, e.right) : void 0); + } + function l(t, e, r, n) { + if (e(t, n.key) <= 0) { + var i; + if (n.left && (i = l(t, e, r, n.left))) + return i; + if ((i = r(n.key, n.value))) return i; + } + if (n.right) return l(t, e, r, n.right); + } + function u(t, e, r, n, i) { + var a, + o = r(t, i.key), + s = r(e, i.key); + if (o <= 0) { + if (i.left && (a = u(t, e, r, n, i.left))) + return a; + if (s > 0 && (a = n(i.key, i.value))) + return a; + } + if (s > 0 && i.right) + return u(t, e, r, n, i.right); + } + function c(t, e) { + (this.tree = t), (this._stack = e); + } + Object.defineProperty(o, "keys", { + get: function () { + var t = []; + return ( + this.forEach(function (e, r) { + t.push(e); + }), + t + ); + }, + }), + Object.defineProperty(o, "values", { + get: function () { + var t = []; + return ( + this.forEach(function (e, r) { + t.push(r); + }), + t + ); + }, + }), + Object.defineProperty(o, "length", { + get: function () { + return this.root ? this.root._count : 0; + }, + }), + (o.insert = function (t, r) { + for ( + var o = this._compare, + s = this.root, + l = [], + u = []; + s; + + ) { + var c = o(t, s.key); + l.push(s), + u.push(c), + (s = c <= 0 ? s.left : s.right); + } + l.push(new e(0, t, r, null, null, 1)); + for (var f = l.length - 2; f >= 0; --f) + (s = l[f]), + u[f] <= 0 + ? (l[f] = new e( + s._color, + s.key, + s.value, + l[f + 1], + s.right, + s._count + 1, + )) + : (l[f] = new e( + s._color, + s.key, + s.value, + s.left, + l[f + 1], + s._count + 1, + )); + for (f = l.length - 1; f > 1; --f) { + var h = l[f - 1]; + if ( + ((s = l[f]), + 1 === h._color || 1 === s._color) + ) + break; + var p = l[f - 2]; + if (p.left === h) + if (h.left === s) { + if ( + !(d = p.right) || + 0 !== d._color + ) { + (p._color = 0), + (p.left = h.right), + (h._color = 1), + (h.right = p), + (l[f - 2] = h), + (l[f - 1] = s), + i(p), + i(h), + f >= 3 && + ((v = l[f - 3]).left === p + ? (v.left = h) + : (v.right = h)); + break; + } + (h._color = 1), + (p.right = n(1, d)), + (p._color = 0), + (f -= 1); + } else { + if ( + !(d = p.right) || + 0 !== d._color + ) { + (h.right = s.left), + (p._color = 0), + (p.left = s.right), + (s._color = 1), + (s.left = h), + (s.right = p), + (l[f - 2] = s), + (l[f - 1] = h), + i(p), + i(h), + i(s), + f >= 3 && + ((v = l[f - 3]).left === p + ? (v.left = s) + : (v.right = s)); + break; + } + (h._color = 1), + (p.right = n(1, d)), + (p._color = 0), + (f -= 1); + } + else if (h.right === s) { + if (!(d = p.left) || 0 !== d._color) { + (p._color = 0), + (p.right = h.left), + (h._color = 1), + (h.left = p), + (l[f - 2] = h), + (l[f - 1] = s), + i(p), + i(h), + f >= 3 && + ((v = l[f - 3]).right === p + ? (v.right = h) + : (v.left = h)); + break; + } + (h._color = 1), + (p.left = n(1, d)), + (p._color = 0), + (f -= 1); + } else { + var d; + if (!(d = p.left) || 0 !== d._color) { + var v; + (h.left = s.right), + (p._color = 0), + (p.right = s.left), + (s._color = 1), + (s.right = h), + (s.left = p), + (l[f - 2] = s), + (l[f - 1] = h), + i(p), + i(h), + i(s), + f >= 3 && + ((v = l[f - 3]).right === p + ? (v.right = s) + : (v.left = s)); + break; + } + (h._color = 1), + (p.left = n(1, d)), + (p._color = 0), + (f -= 1); + } + } + return (l[0]._color = 1), new a(o, l[0]); + }), + (o.forEach = function (t, e, r) { + if (this.root) + switch (arguments.length) { + case 1: + return s(t, this.root); + case 2: + return l( + e, + this._compare, + t, + this.root, + ); + case 3: + if (this._compare(e, r) >= 0) + return; + return u( + e, + r, + this._compare, + t, + this.root, + ); + } + }), + Object.defineProperty(o, "begin", { + get: function () { + for (var t = [], e = this.root; e; ) + t.push(e), (e = e.left); + return new c(this, t); + }, + }), + Object.defineProperty(o, "end", { + get: function () { + for (var t = [], e = this.root; e; ) + t.push(e), (e = e.right); + return new c(this, t); + }, + }), + (o.at = function (t) { + if (t < 0) return new c(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 c(this, r); + if (((t -= 1), !e.right)) break; + if (t >= e.right._count) break; + e = e.right; + } + return new c(this, []); + }), + (o.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 c(this, n); + }), + (o.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 c(this, n); + }), + (o.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 c(this, n); + }), + (o.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 c(this, n); + }), + (o.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 c(this, n); + r = i <= 0 ? r.left : r.right; + } + return new c(this, []); + }), + (o.remove = function (t) { + var e = this.find(t); + return e ? e.remove() : this; + }), + (o.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 f = c.prototype; + function h(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 p(t, e) { + return t < e ? -1 : t > e ? 1 : 0; + } + Object.defineProperty(f, "valid", { + get: function () { + return this._stack.length > 0; + }, + }), + Object.defineProperty(f, "node", { + get: function () { + return this._stack.length > 0 + ? this._stack[this._stack.length - 1] + : null; + }, + enumerable: !0, + }), + (f.clone = function () { + return new c( + this.tree, + this._stack.slice(), + ); + }), + (f.remove = function () { + var t = this._stack; + if (0 === t.length) return this.tree; + var o = new Array(t.length), + s = t[t.length - 1]; + o[o.length - 1] = new e( + s._color, + s.key, + s.value, + s.left, + s.right, + s._count, + ); + for (var l = t.length - 2; l >= 0; --l) + (s = t[l]).left === t[l + 1] + ? (o[l] = new e( + s._color, + s.key, + s.value, + o[l + 1], + s.right, + s._count, + )) + : (o[l] = new e( + s._color, + s.key, + s.value, + s.left, + o[l + 1], + s._count, + )); + if ( + (s = o[o.length - 1]).left && + s.right + ) { + var u = o.length; + for (s = s.left; s.right; ) + o.push(s), (s = s.right); + var c = o[u - 1]; + for ( + o.push( + new e( + s._color, + c.key, + c.value, + s.left, + s.right, + s._count, + ), + ), + o[u - 1].key = s.key, + o[u - 1].value = s.value, + l = o.length - 2; + l >= u; + --l + ) + (s = o[l]), + (o[l] = new e( + s._color, + s.key, + s.value, + s.left, + o[l + 1], + s._count, + )); + o[u - 1].left = o[u]; + } + if (0 === (s = o[o.length - 1])._color) { + var f = o[o.length - 2]; + for ( + f.left === s + ? (f.left = null) + : f.right === s && (f.right = null), + o.pop(), + l = 0; + l < o.length; + ++l + ) + o[l]._count--; + return new a(this.tree._compare, o[0]); + } + if (s.left || s.right) { + for ( + s.left + ? h(s, s.left) + : s.right && h(s, s.right), + s._color = 1, + l = 0; + l < o.length - 1; + ++l + ) + o[l]._count--; + return new a(this.tree._compare, o[0]); + } + if (1 === o.length) + return new a(this.tree._compare, null); + for (l = 0; l < o.length; ++l) + o[l]._count--; + var p = o[o.length - 2]; + return ( + (function (t) { + for ( + var e, a, o, s, l = t.length - 1; + l >= 0; + --l + ) { + if (((e = t[l]), 0 === l)) + return void (e._color = 1); + if ((a = t[l - 1]).left === e) { + if ( + (o = a.right).right && + 0 === o.right._color + ) + return ( + (s = (o = a.right = + r(o)).right = + r(o.right)), + (a.right = o.left), + (o.left = a), + (o.right = s), + (o._color = a._color), + (e._color = 1), + (a._color = 1), + (s._color = 1), + i(a), + i(o), + l > 1 && + ((u = t[l - 2]).left === a + ? (u.left = o) + : (u.right = o)), + void (t[l - 1] = o) + ); + if (o.left && 0 === o.left._color) + return ( + (s = (o = a.right = + r(o)).left = + r(o.left)), + (a.right = s.left), + (o.left = s.right), + (s.left = a), + (s.right = o), + (s._color = a._color), + (a._color = 1), + (o._color = 1), + (e._color = 1), + i(a), + i(o), + i(s), + l > 1 && + ((u = t[l - 2]).left === a + ? (u.left = s) + : (u.right = s)), + void (t[l - 1] = s) + ); + if (1 === o._color) { + if (0 === a._color) + return ( + (a._color = 1), + void (a.right = n(0, o)) + ); + a.right = n(0, o); + continue; + } + (o = r(o)), + (a.right = o.left), + (o.left = a), + (o._color = a._color), + (a._color = 0), + i(a), + i(o), + l > 1 && + ((u = t[l - 2]).left === a + ? (u.left = o) + : (u.right = o)), + (t[l - 1] = o), + (t[l] = a), + l + 1 < t.length + ? (t[l + 1] = e) + : t.push(e), + (l += 2); + } else { + if ( + (o = a.left).left && + 0 === o.left._color + ) + return ( + (s = (o = a.left = + r(o)).left = + r(o.left)), + (a.left = o.right), + (o.right = a), + (o.left = s), + (o._color = a._color), + (e._color = 1), + (a._color = 1), + (s._color = 1), + i(a), + i(o), + l > 1 && + ((u = t[l - 2]).right === a + ? (u.right = o) + : (u.left = o)), + void (t[l - 1] = o) + ); + if ( + o.right && + 0 === o.right._color + ) + return ( + (s = (o = a.left = + r(o)).right = + r(o.right)), + (a.left = s.right), + (o.right = s.left), + (s.right = a), + (s.left = o), + (s._color = a._color), + (a._color = 1), + (o._color = 1), + (e._color = 1), + i(a), + i(o), + i(s), + l > 1 && + ((u = t[l - 2]).right === a + ? (u.right = s) + : (u.left = s)), + void (t[l - 1] = s) + ); + if (1 === o._color) { + if (0 === a._color) + return ( + (a._color = 1), + void (a.left = n(0, o)) + ); + a.left = n(0, o); + continue; + } + var u; + (o = r(o)), + (a.left = o.right), + (o.right = a), + (o._color = a._color), + (a._color = 0), + i(a), + i(o), + l > 1 && + ((u = t[l - 2]).right === a + ? (u.right = o) + : (u.left = o)), + (t[l - 1] = o), + (t[l] = a), + l + 1 < t.length + ? (t[l + 1] = e) + : t.push(e), + (l += 2); + } + } + })(o), + p.left === s + ? (p.left = null) + : (p.right = null), + new a(this.tree._compare, o[0]) + ); + }), + Object.defineProperty(f, "key", { + get: function () { + if (this._stack.length > 0) + return this._stack[ + this._stack.length - 1 + ].key; + }, + enumerable: !0, + }), + Object.defineProperty(f, "value", { + get: function () { + if (this._stack.length > 0) + return this._stack[ + this._stack.length - 1 + ].value; + }, + enumerable: !0, + }), + Object.defineProperty(f, "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, + }), + (f.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(f, "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; + }, + }), + (f.update = function (t) { + var r = this._stack; + if (0 === r.length) + throw new Error( + "Can't update empty node!", + ); + var n = new Array(r.length), + i = r[r.length - 1]; + n[n.length - 1] = new e( + i._color, + i.key, + t, + i.left, + i.right, + i._count, + ); + for (var o = r.length - 2; o >= 0; --o) + (i = r[o]).left === r[o + 1] + ? (n[o] = new e( + i._color, + i.key, + i.value, + n[o + 1], + i.right, + i._count, + )) + : (n[o] = new e( + i._color, + i.key, + i.value, + i.left, + n[o + 1], + i._count, + )); + return new a(this.tree._compare, n[0]); + }), + (f.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(f, "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; + }, + }); + }, + 7453: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + var r = new c(t); + return r.update(e), r; + }; + var n = r(9557), + i = r(1681), + a = r(1011), + o = r(2864), + s = r(8468), + l = new Float32Array([ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 1, + ]); + function u(t, e) { + return ( + (t[0] = e[0]), + (t[1] = e[1]), + (t[2] = e[2]), + t + ); + } + function c(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.tickAlign = [ + "auto", + "auto", + "auto", + ]), + (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.labelAlign = [ + "auto", + "auto", + "auto", + ]), + (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 = [ + [0.8, 0.8, 0.8, 0.5], + [0.8, 0.8, 0.8, 0.5], + [0.8, 0.8, 0.8, 0.5], + ]), + (this._firstInit = !0), + (this._text = null), + (this._lines = null), + (this._background = a(t)); + } + var f = c.prototype; + function h() { + (this.primalOffset = [0, 0, 0]), + (this.primalMinor = [0, 0, 0]), + (this.mirrorOffset = [0, 0, 0]), + (this.mirrorMinor = [0, 0, 0]); + } + f.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, + a = e.bind(this, !1, Number), + o = e.bind(this, !1, Boolean), + l = e.bind(this, !1, String), + u = 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]; + }), + c = !1, + f = !1; + if ("bounds" in t) + for (var h = t.bounds, p = 0; p < 2; ++p) + for (var d = 0; d < 3; ++d) + h[p][d] !== this.bounds[p][d] && + (f = !0), + (this.bounds[p][d] = h[p][d]); + if ("ticks" in t) + for ( + r = t.ticks, + c = !0, + this.autoTicks = !1, + p = 0; + p < 3; + ++p + ) + this.tickSpacing[p] = 0; + else + a("tickSpacing") && + ((this.autoTicks = !0), (f = !0)); + if ( + (this._firstInit && + ("ticks" in t || + "tickSpacing" in t || + (this.autoTicks = !0), + (f = !0), + (c = !0), + (this._firstInit = !1)), + f && + this.autoTicks && + ((r = s.create( + this.bounds, + this.tickSpacing, + )), + (c = !0)), + c) + ) { + for (p = 0; p < 3; ++p) + r[p].sort(function (t, e) { + return t.x - e.x; + }); + s.equal(r, this.ticks) + ? (c = !1) + : (this.ticks = r); + } + o("tickEnable"), + l("tickFont") && (c = !0), + a("tickSize"), + a("tickAngle"), + a("tickPad"), + u("tickColor"); + var v = l("labels"); + l("labelFont") && (v = !0), + o("labelEnable"), + a("labelSize"), + a("labelPad"), + u("labelColor"), + o("lineEnable"), + o("lineMirror"), + a("lineWidth"), + u("lineColor"), + o("lineTickEnable"), + o("lineTickMirror"), + a("lineTickLength"), + a("lineTickWidth"), + u("lineTickColor"), + o("gridEnable"), + a("gridWidth"), + u("gridColor"), + o("zeroEnable"), + u("zeroLineColor"), + a("zeroLineWidth"), + o("backgroundEnable"), + u("backgroundColor"), + this._text + ? this._text && + (v || c) && + this._text.update( + this.bounds, + this.labels, + this.labelFont, + this.ticks, + this.tickFont, + ) + : (this._text = n( + this.gl, + this.bounds, + this.labels, + this.labelFont, + this.ticks, + this.tickFont, + )), + this._lines && + c && + (this._lines.dispose(), + (this._lines = null)), + this._lines || + (this._lines = i( + this.gl, + this.bounds, + this.ticks, + )); + }; + var p = [new h(), new h(), new h()]; + function d(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 f = a, + h = s, + p = o, + d = l; + u & (1 << c) && + ((f = s), (h = a), (p = l), (d = o)), + (f[c] = r[0][c]), + (h[c] = r[1][c]), + i[c] > 0 + ? ((p[c] = -1), (d[c] = 0)) + : ((p[c] = 0), (d[c] = 1)); + } + } + var v = [0, 0, 0], + g = { + model: l, + view: l, + projection: l, + _ortho: !1, + }; + (f.isOpaque = function () { + return !0; + }), + (f.isTransparent = function () { + return !1; + }), + (f.drawTransparent = function (t) {}); + var y = [0, 0, 0], + m = [0, 0, 0], + x = [0, 0, 0]; + (f.draw = function (t) { + t = t || g; + for ( + var e = this.gl, + r = t.model || l, + n = t.view || l, + i = t.projection || l, + a = this.bounds, + s = t._ortho || !1, + c = o(r, n, i, a, s), + f = c.cubeEdges, + h = c.axis, + b = n[12], + _ = n[13], + w = n[14], + T = n[15], + k = + ((s ? 2 : 1) * + this.pixelRatio * + (i[3] * b + + i[7] * _ + + i[11] * w + + i[15] * T)) / + e.drawingBufferHeight, + A = 0; + A < 3; + ++A + ) + (this.lastCubeProps.cubeEdges[A] = f[A]), + (this.lastCubeProps.axis[A] = h[A]); + var M = p; + for (A = 0; A < 3; ++A) + d(p[A], A, this.bounds, f, h); + e = this.gl; + var S, + E, + L, + C = v; + for (A = 0; A < 3; ++A) + this.backgroundEnable[A] + ? (C[A] = h[A]) + : (C[A] = 0); + for ( + this._background.draw( + r, + n, + i, + a, + C, + this.backgroundColor, + ), + this._lines.bind(r, n, i, this), + A = 0; + A < 3; + ++A + ) { + var O = [0, 0, 0]; + h[A] > 0 + ? (O[A] = a[1][A]) + : (O[A] = a[0][A]); + for (var P = 0; P < 2; ++P) { + var I = (A + 1 + P) % 3, + D = (A + 1 + (1 ^ P)) % 3; + this.gridEnable[I] && + this._lines.drawGrid( + I, + D, + this.bounds, + O, + this.gridColor[I], + this.gridWidth[I] * this.pixelRatio, + ); + } + for (P = 0; P < 2; ++P) + (I = (A + 1 + P) % 3), + (D = (A + 1 + (1 ^ P)) % 3), + this.zeroEnable[D] && + Math.min(a[0][D], a[1][D]) <= 0 && + Math.max(a[0][D], a[1][D]) >= 0 && + this._lines.drawZero( + I, + D, + this.bounds, + O, + this.zeroLineColor[D], + this.zeroLineWidth[D] * + this.pixelRatio, + ); + } + for (A = 0; A < 3; ++A) { + this.lineEnable[A] && + this._lines.drawAxisLine( + A, + this.bounds, + M[A].primalOffset, + this.lineColor[A], + this.lineWidth[A] * this.pixelRatio, + ), + this.lineMirror[A] && + this._lines.drawAxisLine( + A, + this.bounds, + M[A].mirrorOffset, + this.lineColor[A], + this.lineWidth[A] * this.pixelRatio, + ); + var z = u(y, M[A].primalMinor), + R = u(m, M[A].mirrorMinor), + F = this.lineTickLength; + for (P = 0; P < 3; ++P) { + var B = k / r[5 * P]; + (z[P] *= F[P] * B), (R[P] *= F[P] * B); + } + this.lineTickEnable[A] && + this._lines.drawAxisTicks( + A, + M[A].primalOffset, + z, + this.lineTickColor[A], + this.lineTickWidth[A] * + this.pixelRatio, + ), + this.lineTickMirror[A] && + this._lines.drawAxisTicks( + A, + M[A].mirrorOffset, + R, + this.lineTickColor[A], + this.lineTickWidth[A] * + this.pixelRatio, + ); + } + function N(t) { + (L = [0, 0, 0])[t] = 1; + } + function j(t, e, r) { + var n = (t + 1) % 3, + i = (t + 2) % 3, + a = e[n], + o = e[i], + s = r[n], + l = r[i]; + (a > 0 && l > 0) || + (a > 0 && l < 0) || + (a < 0 && l > 0) || + (a < 0 && l < 0) + ? N(n) + : ((o > 0 && s > 0) || + (o > 0 && s < 0) || + (o < 0 && s > 0) || + (o < 0 && s < 0)) && + N(i); + } + for ( + this._lines.unbind(), + this._text.bind( + r, + n, + i, + this.pixelRatio, + ), + A = 0; + A < 3; + ++A + ) { + var U = M[A].primalMinor, + V = M[A].mirrorMinor, + H = u(x, M[A].primalOffset); + for (P = 0; P < 3; ++P) + this.lineTickEnable[A] && + (H[P] += + (k * + U[P] * + Math.max( + this.lineTickLength[P], + 0, + )) / + r[5 * P]); + var q = [0, 0, 0]; + if (((q[A] = 1), this.tickEnable[A])) { + for ( + -3600 === this.tickAngle[A] + ? ((this.tickAngle[A] = 0), + (this.tickAlign[A] = "auto")) + : (this.tickAlign[A] = -1), + E = 1, + "auto" === + (S = [this.tickAlign[A], 0.5, E])[0] + ? (S[0] = 0) + : (S[0] = parseInt("" + S[0])), + L = [0, 0, 0], + j(A, U, V), + P = 0; + P < 3; + ++P + ) + H[P] += + (k * U[P] * this.tickPad[P]) / + r[5 * P]; + this._text.drawTicks( + A, + this.tickSize[A], + this.tickAngle[A], + H, + this.tickColor[A], + q, + L, + S, + ); + } + if (this.labelEnable[A]) { + for ( + E = 0, + L = [0, 0, 0], + this.labels[A].length > 4 && + (N(A), (E = 1)), + "auto" === + (S = [ + this.labelAlign[A], + 0.5, + E, + ])[0] + ? (S[0] = 0) + : (S[0] = parseInt("" + S[0])), + P = 0; + P < 3; + ++P + ) + H[P] += + (k * U[P] * this.labelPad[P]) / + r[5 * P]; + (H[A] += 0.5 * (a[0][A] + a[1][A])), + this._text.drawLabel( + A, + this.labelSize[A], + this.labelAngle[A], + H, + this.labelColor[A], + [0, 0, 0], + L, + S, + ); + } + } + this._text.unbind(); + }), + (f.dispose = function () { + this._text.dispose(), + this._lines.dispose(), + this._background.dispose(), + (this._lines = null), + (this._text = null), + (this._background = null), + (this.gl = null); + }); + }, + 1011: function (t, e, r) { + "use strict"; + t.exports = function (t) { + for ( + var e = [], r = [], s = 0, l = 0; + l < 3; + ++l + ) + for ( + var u = (l + 1) % 3, + c = (l + 2) % 3, + f = [0, 0, 0], + h = [0, 0, 0], + p = -1; + p <= 1; + p += 2 + ) { + r.push( + s, + s + 2, + s + 1, + s + 1, + s + 2, + s + 3, + ), + (f[l] = p), + (h[l] = p); + for (var d = -1; d <= 1; d += 2) { + f[u] = d; + for (var v = -1; v <= 1; v += 2) + (f[c] = v), + e.push( + f[0], + f[1], + f[2], + h[0], + h[1], + h[2], + ), + (s += 1); + } + var g = u; + (u = c), (c = g); + } + var y = n(t, new Float32Array(e)), + m = n( + t, + new Uint16Array(r), + t.ELEMENT_ARRAY_BUFFER, + ), + x = i( + t, + [ + { + buffer: y, + type: t.FLOAT, + size: 3, + offset: 0, + stride: 24, + }, + { + buffer: y, + type: t.FLOAT, + size: 3, + offset: 12, + stride: 24, + }, + ], + m, + ), + b = a(t); + return ( + (b.attributes.position.location = 0), + (b.attributes.normal.location = 1), + new o(t, y, x, b) + ); + }; + var n = r(5827), + i = r(2944), + a = r(1943).bg; + function o(t, e, r, n) { + (this.gl = t), + (this.buffer = e), + (this.vao = r), + (this.shader = n); + } + var s = o.prototype; + (s.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); + } + }), + (s.dispose = function () { + this.vao.dispose(), + this.buffer.dispose(), + this.shader.dispose(); + }); + }, + 2864: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r, a, p) { + i(s, e, t), i(s, r, s); + for (var m = 0, x = 0; x < 2; ++x) { + c[2] = a[x][2]; + for (var b = 0; b < 2; ++b) { + c[1] = a[b][1]; + for (var _ = 0; _ < 2; ++_) + (c[0] = a[_][0]), + h(l[m], c, s), + (m += 1); + } + } + var w = -1; + for (x = 0; x < 8; ++x) { + for (var T = l[x][3], k = 0; k < 3; ++k) + u[x][k] = l[x][k] / T; + p && (u[x][2] *= -1), + T < 0 && + (w < 0 || u[x][2] < u[w][2]) && + (w = x); + } + if (w < 0) { + w = 0; + for (var A = 0; A < 3; ++A) { + for ( + var M = (A + 2) % 3, + S = (A + 1) % 3, + E = -1, + L = -1, + C = 0; + C < 2; + ++C + ) { + var O = + (I = C << A) + + (C << M) + + ((1 - C) << S), + P = I + ((1 - C) << M) + (C << S); + o(u[I], u[O], u[P], f) < 0 || + (C ? (E = 1) : (L = 1)); + } + if (E < 0 || L < 0) + L > E && (w |= 1 << A); + else { + for (C = 0; C < 2; ++C) { + (O = + (I = C << A) + + (C << M) + + ((1 - C) << S)), + (P = + I + ((1 - C) << M) + (C << S)); + var I, + D = d([ + l[I], + l[O], + l[P], + l[I + (1 << M) + (1 << S)], + ]); + C ? (E = D) : (L = D); + } + L > E && (w |= 1 << A); + } + } + } + var z = 7 ^ w, + R = -1; + for (x = 0; x < 8; ++x) + x !== w && + x !== z && + (R < 0 || u[R][1] > u[x][1]) && + (R = x); + var F = -1; + for (x = 0; x < 3; ++x) + (N = R ^ (1 << x)) !== w && + N !== z && + (F < 0 && (F = N), + (S = u[N])[0] < u[F][0] && (F = N)); + var B = -1; + for (x = 0; x < 3; ++x) { + var N; + (N = R ^ (1 << x)) !== w && + N !== z && + N !== F && + (B < 0 && (B = N), + (S = u[N])[0] > u[B][0] && (B = N)); + } + var j = v; + (j[0] = j[1] = j[2] = 0), + (j[n.log2(F ^ R)] = R & F), + (j[n.log2(R ^ B)] = R & B); + var U = 7 ^ B; + U === w || U === z + ? ((U = 7 ^ F), + (j[n.log2(B ^ U)] = U & B)) + : (j[n.log2(F ^ U)] = U & F); + var V = g, + H = w; + for (A = 0; A < 3; ++A) + V[A] = H & (1 << A) ? -1 : 1; + return y; + }; + var n = r(2288), + i = r(104), + a = r(4670), + o = r(417), + s = new Array(16), + l = new Array(8), + u = new Array(8), + c = new Array(3), + f = [0, 0, 0]; + function h(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) + (l[t] = [1, 1, 1, 1]), (u[t] = [1, 1, 1]); + })(); + var p = [ + [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 d(t) { + for (var e = 0; e < p.length; ++e) + if ((t = a.positive(t, p[e])).length < 3) + return 0; + var r = t[0], + n = r[0] / r[3], + i = r[1] / r[3], + o = 0; + for (e = 1; e + 1 < t.length; ++e) { + var s = t[e], + l = t[e + 1], + u = s[0] / s[3] - n, + c = s[1] / s[3] - i, + f = l[0] / l[3] - n, + h = l[1] / l[3] - i; + o += Math.abs(u * h - c * f); + } + return o; + } + var v = [1, 1, 1], + g = [0, 0, 0], + y = { cubeEdges: v, axis: g }; + }, + 1681: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r) { + var o = [], + s = [0, 0, 0], + l = [0, 0, 0], + u = [0, 0, 0], + c = [0, 0, 0]; + o.push( + 0, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + -1, + 0, + 0, + -1, + 0, + 1, + 1, + 0, + 1, + -1, + ); + for (var f = 0; f < 3; ++f) { + for ( + var h = (o.length / 3) | 0, d = 0; + d < r[f].length; + ++d + ) { + var v = +r[f][d].x; + o.push( + v, + 0, + 1, + v, + 1, + 1, + v, + 0, + -1, + v, + 0, + -1, + v, + 1, + 1, + v, + 1, + -1, + ); + } + var g = (o.length / 3) | 0; + (s[f] = h), + (l[f] = g - h), + (h = (o.length / 3) | 0); + for (var y = 0; y < r[f].length; ++y) + (v = +r[f][y].x), + o.push( + v, + 0, + 1, + v, + 1, + 1, + v, + 0, + -1, + v, + 0, + -1, + v, + 1, + 1, + v, + 1, + -1, + ); + (g = (o.length / 3) | 0), + (u[f] = h), + (c[f] = g - h); + } + var m = n(t, new Float32Array(o)), + x = i(t, [ + { + buffer: m, + type: t.FLOAT, + size: 3, + stride: 0, + offset: 0, + }, + ]), + b = a(t); + return ( + (b.attributes.position.location = 0), + new p(t, m, x, b, l, s, c, u) + ); + }; + var n = r(5827), + i = r(2944), + a = r(1943).j, + o = [0, 0, 0], + s = [0, 0, 0], + l = [0, 0, 0], + u = [0, 0, 0], + c = [1, 1]; + function f(t) { + return (t[0] = t[1] = t[2] = 0), t; + } + function h(t, e) { + return ( + (t[0] = e[0]), + (t[1] = e[1]), + (t[2] = e[2]), + t + ); + } + function p(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 d = p.prototype; + (d.bind = function (t, e, r) { + this.shader.bind(), + (this.shader.uniforms.model = t), + (this.shader.uniforms.view = e), + (this.shader.uniforms.projection = r), + (c[0] = this.gl.drawingBufferWidth), + (c[1] = this.gl.drawingBufferHeight), + (this.shader.uniforms.screenShape = c), + this.vao.bind(); + }), + (d.unbind = function () { + this.vao.unbind(); + }), + (d.drawAxisLine = function (t, e, r, n, i) { + var a = f(s); + (this.shader.uniforms.majorAxis = s), + (a[t] = e[1][t] - e[0][t]), + (this.shader.uniforms.minorAxis = a); + var o, + c = h(u, r); + (c[t] += e[0][t]), + (this.shader.uniforms.offset = c), + (this.shader.uniforms.lineWidth = i), + (this.shader.uniforms.color = n), + ((o = f(l))[(t + 2) % 3] = 1), + (this.shader.uniforms.screenAxis = o), + this.vao.draw(this.gl.TRIANGLES, 6), + ((o = f(l))[(t + 1) % 3] = 1), + (this.shader.uniforms.screenAxis = o), + this.vao.draw(this.gl.TRIANGLES, 6); + }), + (d.drawAxisTicks = function ( + t, + e, + r, + n, + i, + ) { + if (this.tickCount[t]) { + var a = f(o); + (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 s = f(l); + (s[t] = 1), + (this.shader.uniforms.screenAxis = s), + this.vao.draw( + this.gl.TRIANGLES, + this.tickCount[t], + this.tickOffset[t], + ); + } + }), + (d.drawGrid = function (t, e, r, n, i, a) { + if (this.gridCount[t]) { + var c = f(s); + (c[e] = r[1][e] - r[0][e]), + (this.shader.uniforms.minorAxis = c); + var p = h(u, n); + (p[e] += r[0][e]), + (this.shader.uniforms.offset = p); + var d = f(o); + (d[t] = 1), + (this.shader.uniforms.majorAxis = d); + var v = f(l); + (v[t] = 1), + (this.shader.uniforms.screenAxis = v), + (this.shader.uniforms.lineWidth = a), + (this.shader.uniforms.color = i), + this.vao.draw( + this.gl.TRIANGLES, + this.gridCount[t], + this.gridOffset[t], + ); + } + }), + (d.drawZero = function (t, e, r, n, i, a) { + var o = f(s); + (this.shader.uniforms.majorAxis = o), + (o[t] = r[1][t] - r[0][t]), + (this.shader.uniforms.minorAxis = o); + var c = h(u, n); + (c[t] += r[0][t]), + (this.shader.uniforms.offset = c); + var p = f(l); + (p[e] = 1), + (this.shader.uniforms.screenAxis = p), + (this.shader.uniforms.lineWidth = a), + (this.shader.uniforms.color = i), + this.vao.draw(this.gl.TRIANGLES, 6); + }), + (d.dispose = function () { + this.vao.dispose(), + this.vertBuffer.dispose(), + this.shader.dispose(); + }); + }, + 1943: function (t, e, r) { + "use strict"; + var n = r(6832), + i = r(5158), + a = n([ + "precision highp float;\n#define GLSLIFY 1\n\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", + ]), + o = n([ + "precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}", + ]); + e.j = function (t) { + return i(t, a, o, null, [ + { name: "position", type: "vec3" }, + ]); + }; + var s = n([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, axis, alignDir, alignOpt;\nuniform float scale, angle, pixelScale;\nuniform vec2 resolution;\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\nfloat computeViewAngle(vec3 a, vec3 b) {\n vec3 A = project(a);\n vec3 B = project(b);\n\n return atan(\n (B.y - A.y) * resolution.y,\n (B.x - A.x) * resolution.x\n );\n}\n\nconst float PI = 3.141592;\nconst float TWO_PI = 2.0 * PI;\nconst float HALF_PI = 0.5 * PI;\nconst float ONE_AND_HALF_PI = 1.5 * PI;\n\nint option = int(floor(alignOpt.x + 0.001));\nfloat hv_ratio = alignOpt.y;\nbool enableAlign = (alignOpt.z != 0.0);\n\nfloat mod_angle(float a) {\n return mod(a, PI);\n}\n\nfloat positive_angle(float a) {\n return mod_angle((a < 0.0) ?\n a + TWO_PI :\n a\n );\n}\n\nfloat look_upwards(float a) {\n float b = positive_angle(a);\n return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}", + ]), + l = n([ + "precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}", + ]); + e.f = function (t) { + return i(t, s, l, null, [ + { name: "position", type: "vec3" }, + ]); + }; + var u = n([ + "precision highp float;\n#define GLSLIFY 1\n\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\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 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\n colorChannel = abs(realNormal);\n}", + ]), + c = n([ + "precision highp 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}", + ]); + e.bg = function (t) { + return i(t, u, c, null, [ + { name: "position", type: "vec3" }, + { name: "normal", type: "vec3" }, + ]); + }; + }, + 9557: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r, i, o, l) { + var u = n(t), + f = a(t, [{ buffer: u, size: 3 }]), + h = s(t); + h.attributes.position.location = 0; + var p = new c(t, h, u, f); + return p.update(e, r, i, o, l), p; + }; + var n = r(5827), + a = r(2944), + o = r(875), + s = r(1943).f, + l = window || i.global || {}, + u = l.__TEXT_CACHE || {}; + function c(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); + } + l.__TEXT_CACHE = {}; + var f = c.prototype, + h = [0, 0]; + (f.bind = function (t, e, r, n) { + this.vao.bind(), this.shader.bind(); + var i = this.shader.uniforms; + (i.model = t), + (i.view = e), + (i.projection = r), + (i.pixelScale = n), + (h[0] = this.gl.drawingBufferWidth), + (h[1] = this.gl.drawingBufferHeight), + (this.shader.uniforms.resolution = h); + }), + (f.unbind = function () { + this.vao.unbind(); + }), + (f.update = function (t, e, r, n, i) { + var a = []; + function s(t, e, r, n, i, s) { + var l = u[r]; + l || (l = u[r] = {}); + var c = l[e]; + c || + (c = l[e] = + (function (t, e) { + try { + return o(t, e); + } catch (e) { + return ( + console.warn( + 'error vectorizing text:"' + + t + + '" error:', + e, + ), + { cells: [], positions: [] } + ); + } + })(e, { + triangles: !0, + font: r, + textAlign: "center", + textBaseline: "middle", + lineSpacing: i, + styletags: s, + })); + for ( + var f = (n || 12) / 12, + h = c.positions, + p = c.cells, + d = 0, + v = p.length; + d < v; + ++d + ) + for ( + var g = p[d], y = 2; + y >= 0; + --y + ) { + var m = h[g[y]]; + a.push(f * m[0], -f * m[1], t); + } + } + for ( + var l = [0, 0, 0], + c = [0, 0, 0], + f = [0, 0, 0], + h = [0, 0, 0], + p = { + breaklines: !0, + bolds: !0, + italics: !0, + subscripts: !0, + superscripts: !0, + }, + d = 0; + d < 3; + ++d + ) { + (f[d] = (a.length / 3) | 0), + s( + 0.5 * (t[0][d] + t[1][d]), + e[d], + r[d], + 12, + 1.25, + p, + ), + (h[d] = ((a.length / 3) | 0) - f[d]), + (l[d] = (a.length / 3) | 0); + for (var v = 0; v < n[d].length; ++v) + n[d][v].text && + s( + n[d][v].x, + n[d][v].text, + n[d][v].font || i, + n[d][v].fontSize || 12, + 1.25, + p, + ); + c[d] = ((a.length / 3) | 0) - l[d]; + } + this.buffer.update(a), + (this.tickOffset = l), + (this.tickCount = c), + (this.labelOffset = f), + (this.labelCount = h); + }), + (f.drawTicks = function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + this.tickCount[t] && + ((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.shader.uniforms.alignDir = o), + (this.shader.uniforms.alignOpt = s), + this.vao.draw( + this.gl.TRIANGLES, + this.tickCount[t], + this.tickOffset[t], + )); + }), + (f.drawLabel = function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + this.labelCount[t] && + ((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.shader.uniforms.alignDir = o), + (this.shader.uniforms.alignOpt = s), + this.vao.draw( + this.gl.TRIANGLES, + this.labelCount[t], + this.labelOffset[t], + )); + }), + (f.dispose = function () { + this.shader.dispose(), + this.vao.dispose(), + this.buffer.dispose(); + }); + }, + 8468: function (t, e) { + "use strict"; + function r(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 f = "" + u; f.length < i; ) + f = "0" + f; + return c + "." + f; + } + return c; + } + (e.create = function (t, e) { + for (var n = [], i = 0; i < 3; ++i) { + for ( + var a = [], o = (t[0][i], t[1][i], 0); + o * e[i] <= t[1][i]; + ++o + ) + a.push({ + x: o * e[i], + text: r(e[i], o), + }); + for (o = -1; o * e[i] >= t[0][i]; --o) + a.push({ + x: o * e[i], + text: r(e[i], o), + }); + n.push(a); + } + return n; + }), + (e.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; + }); + }, + 2771: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r, l, f) { + var h = e.model || u, + p = e.view || u, + y = e.projection || u, + m = e._ortho || !1, + x = t.bounds, + b = (f = f || a(h, p, y, x, m)).axis; + o(c, p, h), o(c, y, c); + for (var _ = v, w = 0; w < 3; ++w) + (_[w].lo = 1 / 0), + (_[w].hi = -1 / 0), + (_[w].pixelsPerDataUnit = 1 / 0); + var T = n(s(c, c)); + s(c, c); + for (var k = 0; k < 3; ++k) { + var A = (k + 1) % 3, + M = (k + 2) % 3, + S = g; + t: for (w = 0; w < 2; ++w) { + var E = []; + if (b[k] < 0 != !!w) { + S[k] = x[w][k]; + for (var L = 0; L < 2; ++L) { + S[A] = x[L ^ w][A]; + for (var C = 0; C < 2; ++C) + (S[M] = x[C ^ L ^ w][M]), + E.push(S.slice()); + } + var O = m ? 5 : 4; + for (L = O; L === O; ++L) { + if (0 === E.length) continue t; + E = i.positive(E, T[L]); + } + for (L = 0; L < E.length; ++L) { + M = E[L]; + var P = d(g, c, M, r, l); + for (C = 0; C < 3; ++C) + (_[C].lo = Math.min( + _[C].lo, + M[C], + )), + (_[C].hi = Math.max( + _[C].hi, + M[C], + )), + C !== k && + (_[C].pixelsPerDataUnit = + Math.min( + _[C].pixelsPerDataUnit, + Math.abs(P[C]), + )); + } + } + } + } + return _; + }; + var n = r(5795), + i = r(4670), + a = r(2864), + o = r(104), + s = r(2142), + l = r(6342), + u = new Float32Array([ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 1, + ]), + c = new Float32Array(16); + function f(t, e, r) { + (this.lo = t), + (this.hi = e), + (this.pixelsPerDataUnit = r); + } + var h = [0, 0, 0, 1], + p = [0, 0, 0, 1]; + function d(t, e, r, n, i) { + for (var a = 0; a < 3; ++a) { + for (var o = h, s = p, u = 0; u < 3; ++u) + s[u] = o[u] = r[u]; + (s[3] = o[3] = 1), + (s[a] += 1), + l(s, s, e), + s[3] < 0 && (t[a] = 1 / 0), + (o[a] -= 1), + l(o, o, e), + o[3] < 0 && (t[a] = 1 / 0); + var c = (o[0] / o[3] - s[0] / s[3]) * n, + f = (o[1] / o[3] - s[1] / s[3]) * i; + t[a] = 0.25 * Math.sqrt(c * c + f * f); + } + return t; + } + var v = [ + new f(1 / 0, -1 / 0, 1 / 0), + new f(1 / 0, -1 / 0, 1 / 0), + new f(1 / 0, -1 / 0, 1 / 0), + ], + g = [0, 0, 0]; + }, + 5827: function (t, e, r) { + "use strict"; + var n = r(5306), + i = r(7498), + a = r(5050), + o = [ + "uint8", + "uint8_clamped", + "uint16", + "uint32", + "int8", + "int16", + "int32", + "float32", + ]; + function s(t, e, r, n, i) { + (this.gl = t), + (this.type = e), + (this.handle = r), + (this.length = n), + (this.usage = i); + } + var l = s.prototype; + function u(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 c(t, e) { + for ( + var r = n.malloc(t.length, e), + i = t.length, + a = 0; + a < i; + ++a + ) + r[a] = t[a]; + return r; + } + (l.bind = function () { + this.gl.bindBuffer(this.type, this.handle); + }), + (l.unbind = function () { + this.gl.bindBuffer(this.type, null); + }), + (l.dispose = function () { + this.gl.deleteBuffer(this.handle); + }), + (l.update = function (t, e) { + if ( + ("number" != typeof e && (e = -1), + this.bind(), + "object" == typeof t && + void 0 !== t.shape) + ) { + var r = t.dtype; + if ( + (o.indexOf(r) < 0 && (r = "float32"), + this.type === + this.gl.ELEMENT_ARRAY_BUFFER && + (r = + gl.getExtension( + "OES_element_index_uint", + ) && "uint16" !== r + ? "uint32" + : "uint16"), + 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 = u( + this.gl, + this.type, + this.length, + this.usage, + t.data, + e, + )) + : (this.length = u( + this.gl, + this.type, + this.length, + this.usage, + t.data.subarray( + t.offset, + t.shape[0], + ), + e, + )); + else { + var s = n.malloc(t.size, r), + l = a(s, t.shape); + i.assign(l, t), + (this.length = u( + this.gl, + this.type, + this.length, + this.usage, + e < 0 ? s : s.subarray(0, t.size), + e, + )), + n.free(s); + } + } else if (Array.isArray(t)) { + var f; + (f = + this.type === + this.gl.ELEMENT_ARRAY_BUFFER + ? c(t, "uint16") + : c(t, "float32")), + (this.length = u( + this.gl, + this.type, + this.length, + this.usage, + e < 0 ? f : f.subarray(0, t.length), + e, + )), + n.free(f); + } else if ( + "object" == typeof t && + "number" == typeof t.length + ) + this.length = u( + 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); + } + }), + (t.exports = 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 = t.createBuffer(), + a = new s(t, r, i, 0, n); + return a.update(e), a; + }); + }, + 1140: function (t, e, r) { + "use strict"; + var n = r(2858); + t.exports = function (t, e) { + var r = t.positions, + i = t.vectors, + a = { + positions: [], + vertexIntensity: [], + vertexIntensityBounds: + t.vertexIntensityBounds, + vectors: [], + cells: [], + coneOffset: t.coneOffset, + colormap: t.colormap, + }; + if (0 === t.positions.length) + return ( + e && + ((e[0] = [0, 0, 0]), + (e[1] = [0, 0, 0])), + a + ); + for ( + var o = 0, + s = 1 / 0, + l = -1 / 0, + u = 1 / 0, + c = -1 / 0, + f = 1 / 0, + h = -1 / 0, + p = null, + d = null, + v = [], + g = 1 / 0, + y = !1, + m = 0; + m < r.length; + m++ + ) { + var x = r[m]; + (s = Math.min(x[0], s)), + (l = Math.max(x[0], l)), + (u = Math.min(x[1], u)), + (c = Math.max(x[1], c)), + (f = Math.min(x[2], f)), + (h = Math.max(x[2], h)); + var b = i[m]; + if ( + (n.length(b) > o && (o = n.length(b)), + m) + ) { + var _ = + (2 * n.distance(p, x)) / + (n.length(d) + n.length(b)); + _ + ? ((g = Math.min(g, _)), (y = !1)) + : (y = !0); + } + y || ((p = x), (d = b)), v.push(b); + } + var w = [s, u, f], + T = [l, c, h]; + e && ((e[0] = w), (e[1] = T)), + 0 === o && (o = 1); + var k = 1 / o; + isFinite(g) || (g = 1), (a.vectorScale = g); + var A = t.coneSize || 0.5; + t.absoluteConeSize && + (A = t.absoluteConeSize * k), + (a.coneScale = A), + (m = 0); + for (var M = 0; m < r.length; m++) + for ( + var S = (x = r[m])[0], + E = x[1], + L = x[2], + C = v[m], + O = n.length(C) * k, + P = 0; + P < 8; + P++ + ) { + a.positions.push([S, E, L, M++]), + a.positions.push([S, E, L, M++]), + a.positions.push([S, E, L, M++]), + a.positions.push([S, E, L, M++]), + a.positions.push([S, E, L, M++]), + a.positions.push([S, E, L, M++]), + a.vectors.push(C), + a.vectors.push(C), + a.vectors.push(C), + a.vectors.push(C), + a.vectors.push(C), + a.vectors.push(C), + a.vertexIntensity.push(O, O, O), + a.vertexIntensity.push(O, O, O); + var I = a.positions.length; + a.cells.push( + [I - 6, I - 5, I - 4], + [I - 3, I - 2, I - 1], + ); + } + return a; + }; + var i = r(7234); + (t.exports.createMesh = r(5028)), + (t.exports.createConeMesh = function ( + e, + r, + ) { + return t.exports.createMesh(e, r, { + shaders: i, + traceType: "cone", + }); + }); + }, + 5028: function (t, e, r) { + "use strict"; + var n = r(5158), + i = r(5827), + a = r(2944), + o = r(8931), + s = r(104), + l = r(7437), + u = r(5050), + c = r(9156), + f = [ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 1, + ]; + function h(t, e, r, n, i, a, o, s, l, u, c) { + (this.gl = t), + (this.pixelRatio = 1), + (this.cells = []), + (this.positions = []), + (this.intensity = []), + (this.texture = e), + (this.dirty = !0), + (this.triShader = r), + (this.pickShader = n), + (this.trianglePositions = i), + (this.triangleVectors = a), + (this.triangleColors = s), + (this.triangleUVs = l), + (this.triangleIds = o), + (this.triangleVAO = u), + (this.triangleCount = 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 = 0.8), + (this.diffuseLight = 0.8), + (this.specularLight = 2), + (this.roughness = 0.5), + (this.fresnel = 1.5), + (this.opacity = 1), + (this.traceType = c), + (this.tubeScale = 1), + (this.coneScale = 2), + (this.vectorScale = 1), + (this.coneOffset = 0.25), + (this._model = f), + (this._view = f), + (this._projection = f), + (this._resolution = [1, 1]); + } + var p = h.prototype; + function d(t, e) { + var r = n( + t, + e.meshShader.vertex, + e.meshShader.fragment, + null, + e.meshShader.attributes, + ); + return ( + (r.attributes.position.location = 0), + (r.attributes.color.location = 2), + (r.attributes.uv.location = 3), + (r.attributes.vector.location = 4), + r + ); + } + function v(t, e) { + var r = n( + t, + e.pickShader.vertex, + e.pickShader.fragment, + null, + e.pickShader.attributes, + ); + return ( + (r.attributes.position.location = 0), + (r.attributes.id.location = 1), + (r.attributes.vector.location = 4), + r + ); + } + (p.isOpaque = function () { + return this.opacity >= 1; + }), + (p.isTransparent = function () { + return this.opacity < 1; + }), + (p.pickSlots = 1), + (p.setPickBase = function (t) { + this.pickId = t; + }), + (p.update = function (t) { + t = t || {}; + var e = this.gl; + (this.dirty = !0), + "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), + void 0 !== t.tubeScale && + (this.tubeScale = t.tubeScale), + void 0 !== t.vectorScale && + (this.vectorScale = t.vectorScale), + void 0 !== t.coneScale && + (this.coneScale = t.coneScale), + void 0 !== t.coneOffset && + (this.coneOffset = t.coneOffset), + 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 = c({ + 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 u( + r, + [256, 256, 4], + [4, 0, 1], + ); + })(t.colormap), + ), + this.texture.generateMipmap()); + var r = t.cells, + n = t.positions, + i = t.vectors; + if (n && r && i) { + var a = [], + o = [], + s = [], + l = [], + f = []; + (this.cells = r), + (this.positions = n), + (this.vectors = i); + var h = t.meshColor || [1, 1, 1, 1], + p = t.vertexIntensity, + d = 1 / 0, + v = -1 / 0; + if (p) + if (t.vertexIntensityBounds) + (d = +t.vertexIntensityBounds[0]), + (v = +t.vertexIntensityBounds[1]); + else + for (var g = 0; g < p.length; ++g) { + var y = p[g]; + (d = Math.min(d, y)), + (v = Math.max(v, y)); + } + else + for (g = 0; g < n.length; ++g) + (y = n[g][2]), + (d = Math.min(d, y)), + (v = Math.max(v, y)); + for ( + this.intensity = + p || + (function (t) { + for ( + var e = t.length, + r = new Array(e), + n = 0; + n < e; + ++n + ) + r[n] = t[n][2]; + return r; + })(n), + this.bounds = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ], + g = 0; + g < n.length; + ++g + ) + for (var m = n[g], x = 0; x < 3; ++x) + !isNaN(m[x]) && + isFinite(m[x]) && + ((this.bounds[0][x] = Math.min( + this.bounds[0][x], + m[x], + )), + (this.bounds[1][x] = Math.max( + this.bounds[1][x], + m[x], + ))); + var b = 0; + t: for (g = 0; g < r.length; ++g) { + var _ = r[g]; + if (3 === _.length) { + for (x = 0; x < 3; ++x) { + m = n[(T = _[x])]; + for (var w = 0; w < 3; ++w) + if ( + isNaN(m[w]) || + !isFinite(m[w]) + ) + continue t; + } + for (x = 0; x < 3; ++x) { + var T; + (m = n[(T = _[2 - x])]), + a.push(m[0], m[1], m[2], m[3]); + var k = i[T]; + o.push( + k[0], + k[1], + k[2], + k[3] || 0, + ); + var A, + M = h; + 3 === M.length + ? s.push(M[0], M[1], M[2], 1) + : s.push( + M[0], + M[1], + M[2], + M[3], + ), + (A = p + ? [(p[T] - d) / (v - d), 0] + : [(m[2] - d) / (v - d), 0]), + l.push(A[0], A[1]), + f.push(g); + } + b += 1; + } + } + (this.triangleCount = b), + this.trianglePositions.update(a), + this.triangleVectors.update(o), + this.triangleColors.update(s), + this.triangleUVs.update(l), + this.triangleIds.update( + new Uint32Array(f), + ); + } + }), + (p.drawTransparent = p.draw = + function (t) { + t = t || {}; + for ( + var e = this.gl, + r = t.model || f, + n = t.view || f, + i = t.projection || f, + 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 u = { + model: r, + view: n, + projection: i, + inverseModel: f.slice(), + 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, + tubeScale: this.tubeScale, + vectorScale: this.vectorScale, + coneScale: this.coneScale, + coneOffset: this.coneOffset, + texture: 0, + }; + (u.inverseModel = l( + u.inverseModel, + u.model, + )), + e.disable(e.CULL_FACE), + this.texture.bind(0); + var c = new Array(16); + for ( + s(c, u.view, u.model), + s(c, u.projection, c), + l(c, c), + o = 0; + o < 3; + ++o + ) + u.eyePosition[o] = c[12 + o] / c[15]; + var h = c[15]; + for (o = 0; o < 3; ++o) + h += + this.lightPosition[o] * + c[4 * o + 3]; + for (o = 0; o < 3; ++o) { + for ( + var p = c[12 + o], d = 0; + d < 3; + ++d + ) + p += + c[4 * d + o] * + this.lightPosition[d]; + u.lightPosition[o] = p / h; + } + if (this.triangleCount > 0) { + var v = this.triShader; + v.bind(), + (v.uniforms = u), + this.triangleVAO.bind(), + e.drawArrays( + e.TRIANGLES, + 0, + 3 * this.triangleCount, + ), + this.triangleVAO.unbind(); + } + }), + (p.drawPick = function (t) { + t = t || {}; + for ( + var e = this.gl, + r = t.model || f, + n = t.view || f, + i = t.projection || f, + a = [ + [-1e6, -1e6, -1e6], + [1e6, 1e6, 1e6], + ], + o = 0; + o < 3; + ++o + ) + (a[0][o] = Math.max( + a[0][o], + this.clipBounds[0][o], + )), + (a[1][o] = Math.min( + a[1][o], + this.clipBounds[1][o], + )); + (this._model = [].slice.call(r)), + (this._view = [].slice.call(n)), + (this._projection = [].slice.call(i)), + (this._resolution = [ + e.drawingBufferWidth, + e.drawingBufferHeight, + ]); + var s = { + model: r, + view: n, + projection: i, + clipBounds: a, + tubeScale: this.tubeScale, + vectorScale: this.vectorScale, + coneScale: this.coneScale, + coneOffset: this.coneOffset, + pickId: this.pickId / 255, + }, + l = this.pickShader; + l.bind(), + (l.uniforms = s), + this.triangleCount > 0 && + (this.triangleVAO.bind(), + e.drawArrays( + e.TRIANGLES, + 0, + 3 * this.triangleCount, + ), + this.triangleVAO.unbind()); + }), + (p.pick = function (t) { + if (!t) return null; + if (t.id !== this.pickId) return null; + var e = + t.value[0] + + 256 * t.value[1] + + 65536 * t.value[2], + r = this.cells[e], + n = this.positions[r[1]].slice(0, 3), + i = { + position: n, + dataCoordinate: n, + index: Math.floor(r[1] / 48), + }; + return ( + "cone" === this.traceType + ? (i.index = Math.floor(r[1] / 48)) + : "streamtube" === this.traceType && + ((i.intensity = + this.intensity[r[1]]), + (i.velocity = this.vectors[ + r[1] + ].slice(0, 3)), + (i.divergence = + this.vectors[r[1]][3]), + (i.index = e)), + i + ); + }), + (p.dispose = function () { + this.texture.dispose(), + this.triShader.dispose(), + this.pickShader.dispose(), + this.triangleVAO.dispose(), + this.trianglePositions.dispose(), + this.triangleVectors.dispose(), + this.triangleColors.dispose(), + this.triangleUVs.dispose(), + this.triangleIds.dispose(); + }), + (t.exports = function (t, e, r) { + var n = r.shaders; + 1 === arguments.length && + (t = (e = t).gl); + var s = d(t, n), + l = v(t, n), + c = o( + t, + u( + new Uint8Array([ + 255, 255, 255, 255, + ]), + [1, 1, 4], + ), + ); + c.generateMipmap(), + (c.minFilter = t.LINEAR_MIPMAP_LINEAR), + (c.magFilter = t.LINEAR); + var f = i(t), + p = i(t), + g = i(t), + y = i(t), + m = i(t), + x = a(t, [ + { buffer: f, type: t.FLOAT, size: 4 }, + { + buffer: m, + type: t.UNSIGNED_BYTE, + size: 4, + normalized: !0, + }, + { buffer: g, type: t.FLOAT, size: 4 }, + { buffer: y, type: t.FLOAT, size: 2 }, + { buffer: p, type: t.FLOAT, size: 4 }, + ]), + b = new h( + t, + c, + s, + l, + f, + p, + m, + g, + y, + x, + r.traceType || "cone", + ); + return b.update(e), b; + }); + }, + 7234: function (t, e, r) { + var n = r(6832), + i = n([ + "precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n", + ]), + a = n([ + "#extension GL_OES_standard_derivatives : enable\n\nprecision highp 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\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\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 = min(1.0, max(0.0, 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}\n", + ]), + o = n([ + "precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * view * conePosition;\n f_id = id;\n f_position = position.xyz;\n}\n", + ]), + s = n([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}", + ]); + (e.meshShader = { + vertex: i, + fragment: a, + attributes: [ + { name: "position", type: "vec4" }, + { name: "color", type: "vec4" }, + { name: "uv", type: "vec2" }, + { name: "vector", type: "vec3" }, + ], + }), + (e.pickShader = { + vertex: o, + fragment: s, + attributes: [ + { name: "position", type: "vec4" }, + { name: "id", type: "vec4" }, + { name: "vector", type: "vec3" }, + ], + }); + }, + 1950: function (t) { + t.exports = { + 0: "NONE", + 1: "ONE", + 2: "LINE_LOOP", + 3: "LINE_STRIP", + 4: "TRIANGLES", + 5: "TRIANGLE_STRIP", + 6: "TRIANGLE_FAN", + 256: "DEPTH_BUFFER_BIT", + 512: "NEVER", + 513: "LESS", + 514: "EQUAL", + 515: "LEQUAL", + 516: "GREATER", + 517: "NOTEQUAL", + 518: "GEQUAL", + 519: "ALWAYS", + 768: "SRC_COLOR", + 769: "ONE_MINUS_SRC_COLOR", + 770: "SRC_ALPHA", + 771: "ONE_MINUS_SRC_ALPHA", + 772: "DST_ALPHA", + 773: "ONE_MINUS_DST_ALPHA", + 774: "DST_COLOR", + 775: "ONE_MINUS_DST_COLOR", + 776: "SRC_ALPHA_SATURATE", + 1024: "STENCIL_BUFFER_BIT", + 1028: "FRONT", + 1029: "BACK", + 1032: "FRONT_AND_BACK", + 1280: "INVALID_ENUM", + 1281: "INVALID_VALUE", + 1282: "INVALID_OPERATION", + 1285: "OUT_OF_MEMORY", + 1286: "INVALID_FRAMEBUFFER_OPERATION", + 2304: "CW", + 2305: "CCW", + 2849: "LINE_WIDTH", + 2884: "CULL_FACE", + 2885: "CULL_FACE_MODE", + 2886: "FRONT_FACE", + 2928: "DEPTH_RANGE", + 2929: "DEPTH_TEST", + 2930: "DEPTH_WRITEMASK", + 2931: "DEPTH_CLEAR_VALUE", + 2932: "DEPTH_FUNC", + 2960: "STENCIL_TEST", + 2961: "STENCIL_CLEAR_VALUE", + 2962: "STENCIL_FUNC", + 2963: "STENCIL_VALUE_MASK", + 2964: "STENCIL_FAIL", + 2965: "STENCIL_PASS_DEPTH_FAIL", + 2966: "STENCIL_PASS_DEPTH_PASS", + 2967: "STENCIL_REF", + 2968: "STENCIL_WRITEMASK", + 2978: "VIEWPORT", + 3024: "DITHER", + 3042: "BLEND", + 3088: "SCISSOR_BOX", + 3089: "SCISSOR_TEST", + 3106: "COLOR_CLEAR_VALUE", + 3107: "COLOR_WRITEMASK", + 3317: "UNPACK_ALIGNMENT", + 3333: "PACK_ALIGNMENT", + 3379: "MAX_TEXTURE_SIZE", + 3386: "MAX_VIEWPORT_DIMS", + 3408: "SUBPIXEL_BITS", + 3410: "RED_BITS", + 3411: "GREEN_BITS", + 3412: "BLUE_BITS", + 3413: "ALPHA_BITS", + 3414: "DEPTH_BITS", + 3415: "STENCIL_BITS", + 3553: "TEXTURE_2D", + 4352: "DONT_CARE", + 4353: "FASTEST", + 4354: "NICEST", + 5120: "BYTE", + 5121: "UNSIGNED_BYTE", + 5122: "SHORT", + 5123: "UNSIGNED_SHORT", + 5124: "INT", + 5125: "UNSIGNED_INT", + 5126: "FLOAT", + 5386: "INVERT", + 5890: "TEXTURE", + 6401: "STENCIL_INDEX", + 6402: "DEPTH_COMPONENT", + 6406: "ALPHA", + 6407: "RGB", + 6408: "RGBA", + 6409: "LUMINANCE", + 6410: "LUMINANCE_ALPHA", + 7680: "KEEP", + 7681: "REPLACE", + 7682: "INCR", + 7683: "DECR", + 7936: "VENDOR", + 7937: "RENDERER", + 7938: "VERSION", + 9728: "NEAREST", + 9729: "LINEAR", + 9984: "NEAREST_MIPMAP_NEAREST", + 9985: "LINEAR_MIPMAP_NEAREST", + 9986: "NEAREST_MIPMAP_LINEAR", + 9987: "LINEAR_MIPMAP_LINEAR", + 10240: "TEXTURE_MAG_FILTER", + 10241: "TEXTURE_MIN_FILTER", + 10242: "TEXTURE_WRAP_S", + 10243: "TEXTURE_WRAP_T", + 10497: "REPEAT", + 10752: "POLYGON_OFFSET_UNITS", + 16384: "COLOR_BUFFER_BIT", + 32769: "CONSTANT_COLOR", + 32770: "ONE_MINUS_CONSTANT_COLOR", + 32771: "CONSTANT_ALPHA", + 32772: "ONE_MINUS_CONSTANT_ALPHA", + 32773: "BLEND_COLOR", + 32774: "FUNC_ADD", + 32777: "BLEND_EQUATION_RGB", + 32778: "FUNC_SUBTRACT", + 32779: "FUNC_REVERSE_SUBTRACT", + 32819: "UNSIGNED_SHORT_4_4_4_4", + 32820: "UNSIGNED_SHORT_5_5_5_1", + 32823: "POLYGON_OFFSET_FILL", + 32824: "POLYGON_OFFSET_FACTOR", + 32854: "RGBA4", + 32855: "RGB5_A1", + 32873: "TEXTURE_BINDING_2D", + 32926: "SAMPLE_ALPHA_TO_COVERAGE", + 32928: "SAMPLE_COVERAGE", + 32936: "SAMPLE_BUFFERS", + 32937: "SAMPLES", + 32938: "SAMPLE_COVERAGE_VALUE", + 32939: "SAMPLE_COVERAGE_INVERT", + 32968: "BLEND_DST_RGB", + 32969: "BLEND_SRC_RGB", + 32970: "BLEND_DST_ALPHA", + 32971: "BLEND_SRC_ALPHA", + 33071: "CLAMP_TO_EDGE", + 33170: "GENERATE_MIPMAP_HINT", + 33189: "DEPTH_COMPONENT16", + 33306: "DEPTH_STENCIL_ATTACHMENT", + 33635: "UNSIGNED_SHORT_5_6_5", + 33648: "MIRRORED_REPEAT", + 33901: "ALIASED_POINT_SIZE_RANGE", + 33902: "ALIASED_LINE_WIDTH_RANGE", + 33984: "TEXTURE0", + 33985: "TEXTURE1", + 33986: "TEXTURE2", + 33987: "TEXTURE3", + 33988: "TEXTURE4", + 33989: "TEXTURE5", + 33990: "TEXTURE6", + 33991: "TEXTURE7", + 33992: "TEXTURE8", + 33993: "TEXTURE9", + 33994: "TEXTURE10", + 33995: "TEXTURE11", + 33996: "TEXTURE12", + 33997: "TEXTURE13", + 33998: "TEXTURE14", + 33999: "TEXTURE15", + 34e3: "TEXTURE16", + 34001: "TEXTURE17", + 34002: "TEXTURE18", + 34003: "TEXTURE19", + 34004: "TEXTURE20", + 34005: "TEXTURE21", + 34006: "TEXTURE22", + 34007: "TEXTURE23", + 34008: "TEXTURE24", + 34009: "TEXTURE25", + 34010: "TEXTURE26", + 34011: "TEXTURE27", + 34012: "TEXTURE28", + 34013: "TEXTURE29", + 34014: "TEXTURE30", + 34015: "TEXTURE31", + 34016: "ACTIVE_TEXTURE", + 34024: "MAX_RENDERBUFFER_SIZE", + 34041: "DEPTH_STENCIL", + 34055: "INCR_WRAP", + 34056: "DECR_WRAP", + 34067: "TEXTURE_CUBE_MAP", + 34068: "TEXTURE_BINDING_CUBE_MAP", + 34069: "TEXTURE_CUBE_MAP_POSITIVE_X", + 34070: "TEXTURE_CUBE_MAP_NEGATIVE_X", + 34071: "TEXTURE_CUBE_MAP_POSITIVE_Y", + 34072: "TEXTURE_CUBE_MAP_NEGATIVE_Y", + 34073: "TEXTURE_CUBE_MAP_POSITIVE_Z", + 34074: "TEXTURE_CUBE_MAP_NEGATIVE_Z", + 34076: "MAX_CUBE_MAP_TEXTURE_SIZE", + 34338: "VERTEX_ATTRIB_ARRAY_ENABLED", + 34339: "VERTEX_ATTRIB_ARRAY_SIZE", + 34340: "VERTEX_ATTRIB_ARRAY_STRIDE", + 34341: "VERTEX_ATTRIB_ARRAY_TYPE", + 34342: "CURRENT_VERTEX_ATTRIB", + 34373: "VERTEX_ATTRIB_ARRAY_POINTER", + 34466: "NUM_COMPRESSED_TEXTURE_FORMATS", + 34467: "COMPRESSED_TEXTURE_FORMATS", + 34660: "BUFFER_SIZE", + 34661: "BUFFER_USAGE", + 34816: "STENCIL_BACK_FUNC", + 34817: "STENCIL_BACK_FAIL", + 34818: "STENCIL_BACK_PASS_DEPTH_FAIL", + 34819: "STENCIL_BACK_PASS_DEPTH_PASS", + 34877: "BLEND_EQUATION_ALPHA", + 34921: "MAX_VERTEX_ATTRIBS", + 34922: "VERTEX_ATTRIB_ARRAY_NORMALIZED", + 34930: "MAX_TEXTURE_IMAGE_UNITS", + 34962: "ARRAY_BUFFER", + 34963: "ELEMENT_ARRAY_BUFFER", + 34964: "ARRAY_BUFFER_BINDING", + 34965: "ELEMENT_ARRAY_BUFFER_BINDING", + 34975: "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", + 35040: "STREAM_DRAW", + 35044: "STATIC_DRAW", + 35048: "DYNAMIC_DRAW", + 35632: "FRAGMENT_SHADER", + 35633: "VERTEX_SHADER", + 35660: "MAX_VERTEX_TEXTURE_IMAGE_UNITS", + 35661: "MAX_COMBINED_TEXTURE_IMAGE_UNITS", + 35663: "SHADER_TYPE", + 35664: "FLOAT_VEC2", + 35665: "FLOAT_VEC3", + 35666: "FLOAT_VEC4", + 35667: "INT_VEC2", + 35668: "INT_VEC3", + 35669: "INT_VEC4", + 35670: "BOOL", + 35671: "BOOL_VEC2", + 35672: "BOOL_VEC3", + 35673: "BOOL_VEC4", + 35674: "FLOAT_MAT2", + 35675: "FLOAT_MAT3", + 35676: "FLOAT_MAT4", + 35678: "SAMPLER_2D", + 35680: "SAMPLER_CUBE", + 35712: "DELETE_STATUS", + 35713: "COMPILE_STATUS", + 35714: "LINK_STATUS", + 35715: "VALIDATE_STATUS", + 35716: "INFO_LOG_LENGTH", + 35717: "ATTACHED_SHADERS", + 35718: "ACTIVE_UNIFORMS", + 35719: "ACTIVE_UNIFORM_MAX_LENGTH", + 35720: "SHADER_SOURCE_LENGTH", + 35721: "ACTIVE_ATTRIBUTES", + 35722: "ACTIVE_ATTRIBUTE_MAX_LENGTH", + 35724: "SHADING_LANGUAGE_VERSION", + 35725: "CURRENT_PROGRAM", + 36003: "STENCIL_BACK_REF", + 36004: "STENCIL_BACK_VALUE_MASK", + 36005: "STENCIL_BACK_WRITEMASK", + 36006: "FRAMEBUFFER_BINDING", + 36007: "RENDERBUFFER_BINDING", + 36048: "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", + 36049: "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", + 36050: + "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", + 36051: + "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", + 36053: "FRAMEBUFFER_COMPLETE", + 36054: "FRAMEBUFFER_INCOMPLETE_ATTACHMENT", + 36055: + "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", + 36057: "FRAMEBUFFER_INCOMPLETE_DIMENSIONS", + 36061: "FRAMEBUFFER_UNSUPPORTED", + 36064: "COLOR_ATTACHMENT0", + 36096: "DEPTH_ATTACHMENT", + 36128: "STENCIL_ATTACHMENT", + 36160: "FRAMEBUFFER", + 36161: "RENDERBUFFER", + 36162: "RENDERBUFFER_WIDTH", + 36163: "RENDERBUFFER_HEIGHT", + 36164: "RENDERBUFFER_INTERNAL_FORMAT", + 36168: "STENCIL_INDEX8", + 36176: "RENDERBUFFER_RED_SIZE", + 36177: "RENDERBUFFER_GREEN_SIZE", + 36178: "RENDERBUFFER_BLUE_SIZE", + 36179: "RENDERBUFFER_ALPHA_SIZE", + 36180: "RENDERBUFFER_DEPTH_SIZE", + 36181: "RENDERBUFFER_STENCIL_SIZE", + 36194: "RGB565", + 36336: "LOW_FLOAT", + 36337: "MEDIUM_FLOAT", + 36338: "HIGH_FLOAT", + 36339: "LOW_INT", + 36340: "MEDIUM_INT", + 36341: "HIGH_INT", + 36346: "SHADER_COMPILER", + 36347: "MAX_VERTEX_UNIFORM_VECTORS", + 36348: "MAX_VARYING_VECTORS", + 36349: "MAX_FRAGMENT_UNIFORM_VECTORS", + 37440: "UNPACK_FLIP_Y_WEBGL", + 37441: "UNPACK_PREMULTIPLY_ALPHA_WEBGL", + 37442: "CONTEXT_LOST_WEBGL", + 37443: "UNPACK_COLORSPACE_CONVERSION_WEBGL", + 37444: "BROWSER_DEFAULT_WEBGL", + }; + }, + 6603: function (t, e, r) { + var n = r(1950); + t.exports = function (t) { + return n[t]; + }; + }, + 3110: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.gl, + r = n(e), + o = i(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, + }, + ]), + l = a(e); + (l.attributes.position.location = 0), + (l.attributes.color.location = 1), + (l.attributes.offset.location = 2); + var u = new s(e, r, o, l); + return u.update(t), u; + }; + var n = r(5827), + i = r(2944), + a = r(7667), + o = [ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 1, + ]; + function s(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), + (this.hasAlpha = !1); + } + var l = s.prototype; + function u(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])); + } + (l.isOpaque = function () { + return !this.hasAlpha; + }), + (l.isTransparent = function () { + return this.hasAlpha; + }), + (l.drawTransparent = l.draw = + function (t) { + var e = this.gl, + r = this.shader.uniforms; + this.shader.bind(); + var n = (r.view = t.view || o), + i = (r.projection = + t.projection || o); + (r.model = t.model || o), + (r.clipBounds = this.clipBounds), + (r.opacity = this.opacity); + var a = n[12], + s = n[13], + l = n[14], + u = n[15], + c = + ((t._ortho ? 2 : 1) * + this.pixelRatio * + (i[3] * a + + i[7] * s + + i[11] * l + + i[15] * u)) / + e.drawingBufferHeight; + this.vao.bind(); + for (var f = 0; f < 3; ++f) + e.lineWidth( + this.lineWidth[f] * this.pixelRatio, + ), + (r.capSize = this.capSize[f] * c), + this.lineCount[f] && + e.drawArrays( + e.LINES, + this.lineOffset[f], + this.lineCount[f], + ); + this.vao.unbind(); + }); + var c = (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 f(t, e, r, n) { + for ( + var i = c[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; + } + (l.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, + ])), + (this.hasAlpha = !1), + "opacity" in t && + ((this.opacity = +t.opacity), + this.opacity < 1 && + (this.hasAlpha = !0)); + 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 c = r[l], h = 0; h < 3; ++h) + if (isNaN(c[h]) || !isFinite(c[h])) + continue t; + var p, + d = n[l], + v = e[s]; + Array.isArray(v[0]) && (v = e[l]), + 3 === v.length + ? (v = [v[0], v[1], v[2], 1]) + : 4 === v.length && + ((v = [v[0], v[1], v[2], v[3]]), + !this.hasAlpha && + v[3] < 1 && + (this.hasAlpha = !0)), + isNaN(d[0][s]) || + isNaN(d[1][s]) || + (d[0][s] < 0 && + (((p = c.slice())[s] += + d[0][s]), + i.push( + c[0], + c[1], + c[2], + v[0], + v[1], + v[2], + v[3], + 0, + 0, + 0, + p[0], + p[1], + p[2], + v[0], + v[1], + v[2], + v[3], + 0, + 0, + 0, + ), + u(this.bounds, p), + (o += 2 + f(i, p, v, s))), + d[1][s] > 0 && + (((p = c.slice())[s] += + d[1][s]), + i.push( + c[0], + c[1], + c[2], + v[0], + v[1], + v[2], + v[3], + 0, + 0, + 0, + p[0], + p[1], + p[2], + v[0], + v[1], + v[2], + v[3], + 0, + 0, + 0, + ), + u(this.bounds, p), + (o += 2 + f(i, p, v, s)))); + } + this.lineCount[s] = + o - this.lineOffset[s]; + } + this.buffer.update(i); + } + }), + (l.dispose = function () { + this.shader.dispose(), + this.buffer.dispose(), + this.vao.dispose(); + }); + }, + 7667: function (t, e, r) { + "use strict"; + var n = r(6832), + i = r(5158), + a = n([ + "precision highp 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}", + ]), + o = n([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}", + ]); + t.exports = function (t) { + return i(t, a, o, null, [ + { name: "position", type: "vec3" }, + { name: "color", type: "vec4" }, + { name: "offset", type: "vec3" }, + ]); + }; + }, + 4234: function (t, e, r) { + "use strict"; + var n = r(8931); + t.exports = function (t, e, r, n) { + i || + ((i = t.FRAMEBUFFER_UNSUPPORTED), + (a = t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT), + (o = t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS), + (s = + t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT)); + var u = + t.getExtension("WEBGL_draw_buffers"); + if ( + (!l && + u && + (function (t, e) { + var r = t.getParameter( + e.MAX_COLOR_ATTACHMENTS_WEBGL, + ); + l = 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 (a = n; a < r; ++a) + i[a] = t.NONE; + l[n] = i; + } + })(t, u), + Array.isArray(e) && + ((n = r), + (r = 0 | e[1]), + (e = 0 | e[0])), + "number" != typeof e) + ) + throw new Error( + "gl-fbo: Missing shape parameter", + ); + var c = t.getParameter( + t.MAX_RENDERBUFFER_SIZE, + ); + if (e < 0 || e > c || r < 0 || r > c) + throw new Error( + "gl-fbo: Parameters are too large for FBO", + ); + var f = 1; + if ("color" in (n = n || {})) { + if ((f = Math.max(0 | n.color, 0)) < 0) + throw new Error( + "gl-fbo: Must specify a nonnegative number of colors", + ); + if (f > 1) { + if (!u) + throw new Error( + "gl-fbo: Multiple draw buffer extension not supported", + ); + if ( + f > + t.getParameter( + u.MAX_COLOR_ATTACHMENTS_WEBGL, + ) + ) + throw new Error( + "gl-fbo: Context does not support " + + f + + " draw buffers", + ); + } + } + var h = t.UNSIGNED_BYTE, + p = t.getExtension("OES_texture_float"); + if (n.float && f > 0) { + if (!p) + throw new Error( + "gl-fbo: Context does not support floating point textures", + ); + h = t.FLOAT; + } else + n.preferFloat && + f > 0 && + p && + (h = t.FLOAT); + var v = !0; + "depth" in n && (v = !!n.depth); + var g = !1; + return ( + "stencil" in n && (g = !!n.stencil), + new d(t, e, r, h, f, v, g, u) + ); + }; + var i, + a, + o, + s, + l = null; + function u(t) { + return [ + t.getParameter(t.FRAMEBUFFER_BINDING), + t.getParameter(t.RENDERBUFFER_BINDING), + t.getParameter(t.TEXTURE_BINDING_2D), + ]; + } + function c(t, e) { + t.bindFramebuffer(t.FRAMEBUFFER, e[0]), + t.bindRenderbuffer(t.RENDERBUFFER, e[1]), + t.bindTexture(t.TEXTURE_2D, e[2]); + } + function f(t) { + switch (t) { + case i: + throw new Error( + "gl-fbo: Framebuffer unsupported", + ); + case a: + throw new Error( + "gl-fbo: Framebuffer incomplete attachment", + ); + case o: + throw new Error( + "gl-fbo: Framebuffer incomplete dimensions", + ); + case s: + throw new Error( + "gl-fbo: Framebuffer incomplete missing attachment", + ); + default: + throw new Error( + "gl-fbo: Framebuffer failed for unspecified reason", + ); + } + } + function h(t, e, r, i, a, o) { + if (!i) return null; + var s = n(t, e, r, a, i); + return ( + (s.magFilter = t.NEAREST), + (s.minFilter = t.NEAREST), + (s.mipSamples = 1), + s.bind(), + t.framebufferTexture2D( + t.FRAMEBUFFER, + o, + t.TEXTURE_2D, + s.handle, + 0, + ), + s + ); + } + function p(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 d(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 d = 0; d < i; ++d) + this.color[d] = null; + (this._color_rb = null), + (this.depth = null), + (this._depth_rb = null), + (this._colorType = n), + (this._useDepth = a), + (this._useStencil = o); + var v = this, + g = [0 | e, 0 | r]; + Object.defineProperties(g, { + 0: { + get: function () { + return v._shape[0]; + }, + set: function (t) { + return (v.width = t); + }, + }, + 1: { + get: function () { + return v._shape[1]; + }, + set: function (t) { + return (v.height = t); + }, + }, + }), + (this._shapeVector = g), + (function (t) { + var e = u(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, + d = t._useStencil, + v = t._useDepth, + g = t._colorType; + r.bindFramebuffer(r.FRAMEBUFFER, n); + for (var y = 0; y < o; ++y) + t.color[y] = h( + r, + i, + a, + g, + r.RGBA, + r.COLOR_ATTACHMENT0 + y, + ); + 0 === o + ? ((t._color_rb = p( + r, + i, + a, + r.RGBA4, + r.COLOR_ATTACHMENT0, + )), + s && s.drawBuffersWEBGL(l[0])) + : o > 1 && s.drawBuffersWEBGL(l[o]); + var m = r.getExtension( + "WEBGL_depth_texture", + ); + m + ? d + ? (t.depth = h( + r, + i, + a, + m.UNSIGNED_INT_24_8_WEBGL, + r.DEPTH_STENCIL, + r.DEPTH_STENCIL_ATTACHMENT, + )) + : v && + (t.depth = h( + r, + i, + a, + r.UNSIGNED_SHORT, + r.DEPTH_COMPONENT, + r.DEPTH_ATTACHMENT, + )) + : v && d + ? (t._depth_rb = p( + r, + i, + a, + r.DEPTH_STENCIL, + r.DEPTH_STENCIL_ATTACHMENT, + )) + : v + ? (t._depth_rb = p( + r, + i, + a, + r.DEPTH_COMPONENT16, + r.DEPTH_ATTACHMENT, + )) + : d && + (t._depth_rb = p( + r, + i, + a, + r.STENCIL_INDEX, + r.STENCIL_ATTACHMENT, + )); + var x = r.checkFramebufferStatus( + r.FRAMEBUFFER, + ); + if (x !== 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)), + y = 0; + y < t.color.length; + ++y + ) + t.color[y].dispose(), + (t.color[y] = null); + t._color_rb && + (r.deleteRenderbuffer(t._color_rb), + (t._color_rb = null)), + c(r, e), + f(x); + } + c(r, e); + })(this); + } + var v = d.prototype; + function g(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 = u(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(), c(n, a), f(s)), + c(n, a); + } + } + Object.defineProperties(v, { + 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 g(this, e, r), [e, r]; + }, + enumerable: !1, + }, + width: { + get: function () { + return this._destroyed + ? 0 + : this._shape[0]; + }, + set: function (t) { + return ( + g(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), + g(this, this._shape[0], t), + t + ); + }, + enumerable: !1, + }, + }), + (v.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], + ); + } + }), + (v.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)); + } + }); + }, + 3530: function (t, e, r) { + var n = r(8974).sprintf, + i = r(6603), + a = r(9365), + o = r(8008); + t.exports = function (t, e, r) { + "use strict"; + var s = + a(e) || + "of unknown name (see npm glsl-shader-name)", + l = "unknown type"; + void 0 !== r && + (l = + r === i.FRAGMENT_SHADER + ? "fragment" + : "vertex"); + for ( + var u = n( + "Error compiling %s shader %s:\n", + l, + s, + ), + c = n("%s%s", u, t), + f = t.split("\n"), + h = {}, + p = 0; + p < f.length; + p++ + ) { + var d = f[p]; + if ("" !== d && "\0" !== d) { + var v = parseInt(d.split(":")[2]); + if (isNaN(v)) + throw new Error( + n("Could not parse error: %s", d), + ); + h[v] = d; + } + } + var g = o(e).split("\n"); + for (p = 0; p < g.length; p++) + if (h[p + 3] || h[p + 2] || h[p + 1]) { + if (((u += g[p] + "\n"), h[p + 1])) { + var y = h[p + 1]; + (y = y + .substr( + y.split(":", 3).join(":").length + + 1, + ) + .trim()), + (u += n("^^^ %s\n\n", y)); + } + } + return { long: u.trim(), short: c.trim() }; + }; + }, + 6386: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + var r = t.gl, + n = new u( + t, + o(r, l.vertex, l.fragment), + o(r, l.pickVertex, l.pickFragment), + s(r), + s(r), + s(r), + s(r), + ); + return n.update(e), t.addObject(n), n; + }; + var n = r(5070), + i = r(9560), + a = r(5306), + o = r(5158), + s = r(5827), + l = r(1292); + function u(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 c, + f = u.prototype, + h = [0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1]; + (f.draw = + ((c = [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]; + (c[0] = (2 * o) / l), + (c[4] = (2 * s) / u), + (c[6] = (2 * (r[0] - a[0])) / l - 1), + (c[7] = (2 * (r[1] - a[1])) / u - 1), + e.bind(); + var f = e.uniforms; + (f.viewTransform = c), + (f.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); + } + })), + (f.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], + f = l[2] - l[0], + h = l[3] - l[1]; + (t[0] = (2 * u) / f), + (t[4] = (2 * c) / h), + (t[6] = + (2 * (a[0] - l[0])) / f - 1), + (t[7] = + (2 * (a[1] - l[1])) / h - 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 v = i.attributes; + return ( + this.positionBuffer.bind(), + v.position.pointer(), + this.weightBuffer.bind(), + v.weight.pointer( + s.UNSIGNED_BYTE, + !1, + ), + this.idBuffer.bind(), + v.pickId.pointer( + s.UNSIGNED_BYTE, + !1, + ), + s.drawArrays(s.TRIANGLES, 0, o), + r + this.shape[0] * this.shape[1] + ); + } + }; + })()), + (f.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], + ], + }; + }), + (f.update = function (t) { + var e = (t = t || {}).shape || [0, 0], + r = t.x || i(e[0]), + o = t.y || i(e[1]), + s = + t.z || new Float32Array(e[0] * e[1]), + l = !1 !== t.zsmooth; + (this.xData = r), (this.yData = o); + var u, + c, + f, + p, + d = t.colorLevels || [0], + v = t.colorValues || [0, 0, 0, 1], + g = d.length, + y = this.bounds; + l + ? ((u = y[0] = r[0]), + (c = y[1] = o[0]), + (f = y[2] = r[r.length - 1]), + (p = y[3] = o[o.length - 1])) + : ((u = y[0] = + r[0] + (r[1] - r[0]) / 2), + (c = y[1] = o[0] + (o[1] - o[0]) / 2), + (f = y[2] = + r[r.length - 1] + + (r[r.length - 1] - + r[r.length - 2]) / + 2), + (p = y[3] = + o[o.length - 1] + + (o[o.length - 1] - + o[o.length - 2]) / + 2)); + var m = 1 / (f - u), + x = 1 / (p - c), + b = e[0], + _ = e[1]; + this.shape = [b, _]; + var w = + (l ? (b - 1) * (_ - 1) : b * _) * + (h.length >>> 1); + this.numVertices = w; + for ( + var T = a.mallocUint8(4 * w), + k = a.mallocFloat32(2 * w), + A = a.mallocUint8(2 * w), + M = a.mallocUint32(w), + S = 0, + E = l ? b - 1 : b, + L = l ? _ - 1 : _, + C = 0; + C < L; + ++C + ) { + var O, P; + l + ? ((O = x * (o[C] - c)), + (P = x * (o[C + 1] - c))) + : ((O = + C < _ - 1 + ? x * + (o[C] - + (o[C + 1] - o[C]) / 2 - + c) + : x * + (o[C] - + (o[C] - o[C - 1]) / 2 - + c)), + (P = + C < _ - 1 + ? x * + (o[C] + + (o[C + 1] - o[C]) / 2 - + c) + : x * + (o[C] + + (o[C] - o[C - 1]) / 2 - + c))); + for (var I = 0; I < E; ++I) { + var D, z; + l + ? ((D = m * (r[I] - u)), + (z = m * (r[I + 1] - u))) + : ((D = + I < b - 1 + ? m * + (r[I] - + (r[I + 1] - r[I]) / 2 - + u) + : m * + (r[I] - + (r[I] - r[I - 1]) / 2 - + u)), + (z = + I < b - 1 + ? m * + (r[I] + + (r[I + 1] - r[I]) / 2 - + u) + : m * + (r[I] + + (r[I] - r[I - 1]) / 2 - + u))); + for ( + var R = 0; + R < h.length; + R += 2 + ) { + var F, + B, + N, + j, + U = h[R], + V = h[R + 1], + H = + s[ + l + ? (C + V) * b + (I + U) + : C * b + I + ], + q = n.le(d, H); + if (q < 0) + (F = v[0]), + (B = v[1]), + (N = v[2]), + (j = v[3]); + else if (q === g - 1) + (F = v[4 * g - 4]), + (B = v[4 * g - 3]), + (N = v[4 * g - 2]), + (j = v[4 * g - 1]); + else { + var G = + (H - d[q]) / + (d[q + 1] - d[q]), + Z = 1 - G, + W = 4 * q, + Y = 4 * (q + 1); + (F = Z * v[W] + G * v[Y]), + (B = + Z * v[W + 1] + G * v[Y + 1]), + (N = + Z * v[W + 2] + G * v[Y + 2]), + (j = + Z * v[W + 3] + G * v[Y + 3]); + } + (T[4 * S] = 255 * F), + (T[4 * S + 1] = 255 * B), + (T[4 * S + 2] = 255 * N), + (T[4 * S + 3] = 255 * j), + (k[2 * S] = 0.5 * D + 0.5 * z), + (k[2 * S + 1] = + 0.5 * O + 0.5 * P), + (A[2 * S] = U), + (A[2 * S + 1] = V), + (M[S] = C * b + I), + (S += 1); + } + } + } + this.positionBuffer.update(k), + this.weightBuffer.update(A), + this.colorBuffer.update(T), + this.idBuffer.update(M), + a.free(k), + a.free(T), + a.free(A), + a.free(M); + }), + (f.dispose = function () { + this.shader.dispose(), + this.pickShader.dispose(), + this.positionBuffer.dispose(), + this.weightBuffer.dispose(), + this.colorBuffer.dispose(), + this.idBuffer.dispose(), + this.plot.removeObject(this); + }); + }, + 1292: function (t, e, r) { + "use strict"; + var n = r(6832); + t.exports = { + fragment: n([ + "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: n([ + "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: n([ + "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: n([ + "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", + ]), + }; + }, + 248: function (t, e, r) { + var n = r(6832), + i = r(5158), + a = n([ + "precision highp 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\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n vec4 startPoint = project(position);\n vec4 endPoint = project(nextPosition);\n\n vec2 A = startPoint.xy / startPoint.w;\n vec2 B = endPoint.xy / endPoint.w;\n\n float clipAngle = atan(\n (B.y - A.y) * screenShape.y,\n (B.x - A.x) * screenShape.x\n );\n\n vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(\n sin(clipAngle),\n -cos(clipAngle)\n ) / screenShape;\n\n gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw);\n\n worldPosition = position;\n pixelArcLength = arcLength;\n fragColor = color;\n}\n", + ]), + o = n([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\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", + ]), + s = n([ + "precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n 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 vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n 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 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\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}", + ]), + l = [ + { name: "position", type: "vec3" }, + { name: "nextPosition", type: "vec3" }, + { name: "arcLength", type: "float" }, + { name: "lineWidth", type: "float" }, + { name: "color", type: "vec4" }, + ]; + (e.createShader = function (t) { + return i(t, a, o, null, l); + }), + (e.createPickShader = function (t) { + return i(t, a, s, null, l); + }); + }, + 6086: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.gl || (t.scene && t.scene.gl), + r = f(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 o = h(e); + (o.attributes.position.location = 0), + (o.attributes.nextPosition.location = 1), + (o.attributes.arcLength.location = 2), + (o.attributes.lineWidth.location = 3), + (o.attributes.color.location = 4); + for ( + var s = n(e), + l = i(e, [ + { + buffer: s, + size: 3, + offset: 0, + stride: 48, + }, + { + buffer: s, + size: 3, + offset: 12, + stride: 48, + }, + { + buffer: s, + size: 1, + offset: 24, + stride: 48, + }, + { + buffer: s, + size: 1, + offset: 28, + stride: 48, + }, + { + buffer: s, + size: 4, + offset: 32, + stride: 48, + }, + ]), + c = u(new Array(1024), [256, 1, 4]), + p = 0; + p < 1024; + ++p + ) + c.data[p] = 255; + var d = a(e, c); + d.wrap = e.REPEAT; + var v = new y(e, r, o, s, l, d); + return v.update(t), v; + }; + var n = r(5827), + i = r(2944), + a = r(8931), + o = new Uint8Array(4), + s = new Float32Array(o.buffer), + l = r(5070), + u = r(5050), + c = r(248), + f = c.createShader, + h = c.createPickShader, + p = [ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 1, + ]; + function d(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 v(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 g(t, e, r, n) { + (this.arcLength = t), + (this.position = e), + (this.index = r), + (this.dataCoordinate = n); + } + function y(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.hasAlpha = !1), + (this.dirty = !0), + (this.pixelRatio = 1); + } + var m = y.prototype; + (m.isTransparent = function () { + return this.hasAlpha; + }), + (m.isOpaque = function () { + return !this.hasAlpha; + }), + (m.pickSlots = 1), + (m.setPickBase = function (t) { + this.pickId = t; + }), + (m.drawTransparent = m.draw = + function (t) { + if (this.vertexCount) { + var e = this.gl, + r = this.shader, + n = this.vao; + r.bind(), + (r.uniforms = { + model: t.model || p, + view: t.view || p, + projection: t.projection || p, + clipBounds: v(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(); + } + }), + (m.drawPick = function (t) { + if (this.vertexCount) { + var e = this.gl, + r = this.pickShader, + n = this.vao; + r.bind(), + (r.uniforms = { + model: t.model || p, + view: t.view || p, + projection: t.projection || p, + pickId: this.pickId, + clipBounds: v(this.clipBounds), + screenShape: [ + e.drawingBufferWidth, + e.drawingBufferHeight, + ], + pixelRatio: this.pixelRatio, + }), + n.bind(), + n.draw( + e.TRIANGLE_STRIP, + this.vertexCount, + ), + n.unbind(); + } + }), + (m.update = function (t) { + var e, r; + this.dirty = !0; + var n = !!t.connectGaps; + "dashScale" in t && + (this.dashScale = t.dashScale), + (this.hasAlpha = !1), + "opacity" in t && + ((this.opacity = +t.opacity), + this.opacity < 1 && + (this.hasAlpha = !0)); + var i = [], + a = [], + o = [], + s = 0, + c = 0, + f = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ], + h = t.position || t.positions; + if (h) { + var p = t.color || + t.colors || [0, 0, 0, 1], + v = t.lineWidth || 1, + g = !1; + t: for (e = 1; e < h.length; ++e) { + var y, + m, + x, + b = h[e - 1], + _ = h[e]; + for ( + a.push(s), o.push(b.slice()), r = 0; + r < 3; + ++r + ) { + if ( + isNaN(b[r]) || + isNaN(_[r]) || + !isFinite(b[r]) || + !isFinite(_[r]) + ) { + if (!n && i.length > 0) { + for (var w = 0; w < 24; ++w) + i.push(i[i.length - 12]); + (c += 2), (g = !0); + } + continue t; + } + (f[0][r] = Math.min( + f[0][r], + b[r], + _[r], + )), + (f[1][r] = Math.max( + f[1][r], + b[r], + _[r], + )); + } + Array.isArray(p[0]) + ? ((y = + p.length > e - 1 + ? p[e - 1] + : p.length > 0 + ? p[p.length - 1] + : [0, 0, 0, 1]), + (m = + p.length > e + ? p[e] + : p.length > 0 + ? p[p.length - 1] + : [0, 0, 0, 1])) + : (y = m = p), + 3 === y.length && + (y = [y[0], y[1], y[2], 1]), + 3 === m.length && + (m = [m[0], m[1], m[2], 1]), + !this.hasAlpha && + y[3] < 1 && + (this.hasAlpha = !0), + (x = Array.isArray(v) + ? v.length > e - 1 + ? v[e - 1] + : v.length > 0 + ? v[v.length - 1] + : [0, 0, 0, 1] + : v); + var T = s; + if (((s += d(b, _)), g)) { + for (r = 0; r < 2; ++r) + i.push( + b[0], + b[1], + b[2], + _[0], + _[1], + _[2], + T, + x, + y[0], + y[1], + y[2], + y[3], + ); + (c += 2), (g = !1); + } + i.push( + b[0], + b[1], + b[2], + _[0], + _[1], + _[2], + T, + x, + y[0], + y[1], + y[2], + y[3], + b[0], + b[1], + b[2], + _[0], + _[1], + _[2], + T, + -x, + y[0], + y[1], + y[2], + y[3], + _[0], + _[1], + _[2], + b[0], + b[1], + b[2], + s, + -x, + m[0], + m[1], + m[2], + m[3], + _[0], + _[1], + _[2], + b[0], + b[1], + b[2], + s, + x, + m[0], + m[1], + m[2], + m[3], + ), + (c += 4); + } + } + if ( + (this.buffer.update(i), + a.push(s), + o.push(h[h.length - 1].slice()), + (this.bounds = f), + (this.vertexCount = c), + (this.points = o), + (this.arcLength = a), + "dashes" in t) + ) { + var k = t.dashes.slice(); + for ( + k.unshift(0), e = 1; + e < k.length; + ++e + ) + k[e] = k[e - 1] + k[e]; + var A = u(new Array(1024), [256, 1, 4]); + for (e = 0; e < 256; ++e) { + for (r = 0; r < 4; ++r) + A.set(e, 0, r, 0); + 1 & + l.le(k, (k[k.length - 1] * e) / 255) + ? A.set(e, 0, 0, 0) + : A.set(e, 0, 0, 255); + } + this.texture.setPixels(A); + } + }), + (m.dispose = function () { + this.shader.dispose(), + this.vao.dispose(), + this.buffer.dispose(); + }), + (m.pick = function (t) { + if (!t) return null; + if (t.id !== this.pickId) return null; + var e = (function (t, e, r, n) { + return ( + (o[0] = 0), + (o[1] = r), + (o[2] = e), + (o[3] = t), + s[0] + ); + })(t.value[0], t.value[1], t.value[2]), + r = l.le(this.arcLength, e); + if (r < 0) return null; + if (r === this.arcLength.length - 1) + return new g( + 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]), + u = 1 - a, + c = [0, 0, 0], + f = 0; + f < 3; + ++f + ) + c[f] = u * n[f] + a * i[f]; + var h = Math.min( + a < 0.5 ? r : r + 1, + this.points.length - 1, + ); + return new g(e, c, h, this.points[h]); + }); + }, + 7332: function (t) { + t.exports = 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 + ); + }; + }, + 9823: function (t) { + t.exports = 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 + ); + }; + }, + 7787: function (t) { + t.exports = 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], + f = t[10], + h = t[11], + p = t[12], + d = t[13], + v = t[14], + g = t[15]; + return ( + (e * o - r * a) * (f * g - h * v) - + (e * s - n * a) * (c * g - h * d) + + (e * l - i * a) * (c * v - f * d) + + (r * s - n * o) * (u * g - h * p) - + (r * l - i * o) * (u * v - f * p) + + (n * l - i * s) * (u * d - c * p) + ); + }; + }, + 5950: function (t) { + t.exports = 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, + f = n * s, + h = i * o, + p = i * s, + d = i * l, + v = a * o, + g = a * s, + y = a * l; + return ( + (t[0] = 1 - f - d), + (t[1] = c + y), + (t[2] = h - g), + (t[3] = 0), + (t[4] = c - y), + (t[5] = 1 - u - d), + (t[6] = p + v), + (t[7] = 0), + (t[8] = h + g), + (t[9] = p - v), + (t[10] = 1 - u - f), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + 7280: function (t) { + t.exports = 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, + f = n * l, + h = n * u, + p = i * l, + d = i * u, + v = a * u, + g = o * s, + y = o * l, + m = o * u; + return ( + (t[0] = 1 - (p + v)), + (t[1] = f + m), + (t[2] = h - y), + (t[3] = 0), + (t[4] = f - m), + (t[5] = 1 - (c + v)), + (t[6] = d + g), + (t[7] = 0), + (t[8] = h + y), + (t[9] = d - g), + (t[10] = 1 - (c + p)), + (t[11] = 0), + (t[12] = r[0]), + (t[13] = r[1]), + (t[14] = r[2]), + (t[15] = 1), + t + ); + }; + }, + 9947: function (t) { + t.exports = 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 + ); + }; + }, + 7437: function (t) { + t.exports = 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], + f = e[9], + h = e[10], + p = e[11], + d = e[12], + v = e[13], + g = e[14], + y = e[15], + m = r * s - n * o, + x = r * l - i * o, + b = r * u - a * o, + _ = n * l - i * s, + w = n * u - a * s, + T = i * u - a * l, + k = c * v - f * d, + A = c * g - h * d, + M = c * y - p * d, + S = f * g - h * v, + E = f * y - p * v, + L = h * y - p * g, + C = + m * L - + x * E + + b * S + + _ * M - + w * A + + T * k; + return C + ? ((C = 1 / C), + (t[0] = (s * L - l * E + u * S) * C), + (t[1] = (i * E - n * L - a * S) * C), + (t[2] = (v * T - g * w + y * _) * C), + (t[3] = (h * w - f * T - p * _) * C), + (t[4] = (l * M - o * L - u * A) * C), + (t[5] = (r * L - i * M + a * A) * C), + (t[6] = (g * b - d * T - y * x) * C), + (t[7] = (c * T - h * b + p * x) * C), + (t[8] = (o * E - s * M + u * k) * C), + (t[9] = (n * M - r * E - a * k) * C), + (t[10] = (d * w - v * b + y * m) * C), + (t[11] = (f * b - c * w - p * m) * C), + (t[12] = (s * A - o * S - l * k) * C), + (t[13] = (r * S - n * A + i * k) * C), + (t[14] = (v * x - d * _ - g * m) * C), + (t[15] = (c * _ - f * x + h * m) * C), + t) + : null; + }; + }, + 3012: function (t, e, r) { + var n = r(9947); + t.exports = function (t, e, r, i) { + var a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v = e[0], + g = e[1], + y = e[2], + m = i[0], + x = i[1], + b = i[2], + _ = r[0], + w = r[1], + T = r[2]; + return Math.abs(v - _) < 1e-6 && + Math.abs(g - w) < 1e-6 && + Math.abs(y - T) < 1e-6 + ? n(t) + : ((f = v - _), + (h = g - w), + (p = y - T), + (a = + x * + (p *= d = + 1 / + Math.sqrt( + f * f + h * h + p * p, + )) - + b * (h *= d)), + (o = b * (f *= d) - m * p), + (s = m * h - x * f), + (d = Math.sqrt(a * a + o * o + s * s)) + ? ((a *= d = 1 / d), + (o *= d), + (s *= d)) + : ((a = 0), (o = 0), (s = 0)), + (l = h * s - p * o), + (u = p * a - f * s), + (c = f * o - h * a), + (d = Math.sqrt(l * l + u * u + c * c)) + ? ((l *= d = 1 / d), + (u *= d), + (c *= d)) + : ((l = 0), (u = 0), (c = 0)), + (t[0] = a), + (t[1] = l), + (t[2] = f), + (t[3] = 0), + (t[4] = o), + (t[5] = u), + (t[6] = h), + (t[7] = 0), + (t[8] = s), + (t[9] = c), + (t[10] = p), + (t[11] = 0), + (t[12] = -(a * v + o * g + s * y)), + (t[13] = -(l * v + u * g + c * y)), + (t[14] = -(f * v + h * g + p * y)), + (t[15] = 1), + t); + }; + }, + 104: function (t) { + t.exports = 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], + f = e[8], + h = e[9], + p = e[10], + d = e[11], + v = e[12], + g = e[13], + y = e[14], + m = e[15], + x = r[0], + b = r[1], + _ = r[2], + w = r[3]; + return ( + (t[0] = x * n + b * s + _ * f + w * v), + (t[1] = x * i + b * l + _ * h + w * g), + (t[2] = x * a + b * u + _ * p + w * y), + (t[3] = x * o + b * c + _ * d + w * m), + (x = r[4]), + (b = r[5]), + (_ = r[6]), + (w = r[7]), + (t[4] = x * n + b * s + _ * f + w * v), + (t[5] = x * i + b * l + _ * h + w * g), + (t[6] = x * a + b * u + _ * p + w * y), + (t[7] = x * o + b * c + _ * d + w * m), + (x = r[8]), + (b = r[9]), + (_ = r[10]), + (w = r[11]), + (t[8] = x * n + b * s + _ * f + w * v), + (t[9] = x * i + b * l + _ * h + w * g), + (t[10] = x * a + b * u + _ * p + w * y), + (t[11] = x * o + b * c + _ * d + w * m), + (x = r[12]), + (b = r[13]), + (_ = r[14]), + (w = r[15]), + (t[12] = x * n + b * s + _ * f + w * v), + (t[13] = x * i + b * l + _ * h + w * g), + (t[14] = x * a + b * u + _ * p + w * y), + (t[15] = x * o + b * c + _ * d + w * m), + t + ); + }; + }, + 5268: function (t) { + t.exports = 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 + ); + }; + }, + 1120: function (t) { + t.exports = 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 + ); + }; + }, + 4422: function (t) { + t.exports = function (t, e, r, n) { + var i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + w, + T, + k, + A, + M, + S, + E = n[0], + L = n[1], + C = n[2], + O = Math.sqrt(E * E + L * L + C * C); + return Math.abs(O) < 1e-6 + ? null + : ((E *= O = 1 / O), + (L *= O), + (C *= O), + (i = Math.sin(r)), + (o = 1 - (a = Math.cos(r))), + (s = e[0]), + (l = e[1]), + (u = e[2]), + (c = e[3]), + (f = e[4]), + (h = e[5]), + (p = e[6]), + (d = e[7]), + (v = e[8]), + (g = e[9]), + (y = e[10]), + (m = e[11]), + (x = E * E * o + a), + (b = L * E * o + C * i), + (_ = C * E * o - L * i), + (w = E * L * o - C * i), + (T = L * L * o + a), + (k = C * L * o + E * i), + (A = E * C * o + L * i), + (M = L * C * o - E * i), + (S = C * C * o + a), + (t[0] = s * x + f * b + v * _), + (t[1] = l * x + h * b + g * _), + (t[2] = u * x + p * b + y * _), + (t[3] = c * x + d * b + m * _), + (t[4] = s * w + f * T + v * k), + (t[5] = l * w + h * T + g * k), + (t[6] = u * w + p * T + y * k), + (t[7] = c * w + d * T + m * k), + (t[8] = s * A + f * M + v * S), + (t[9] = l * A + h * M + g * S), + (t[10] = u * A + p * M + y * S), + (t[11] = c * A + d * M + m * S), + e !== t && + ((t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15])), + t); + }; + }, + 6109: function (t) { + t.exports = 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], + f = e[10], + h = 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 + f * n), + (t[7] = l * i + h * n), + (t[8] = u * i - a * n), + (t[9] = c * i - o * n), + (t[10] = f * i - s * n), + (t[11] = h * i - l * n), + t + ); + }; + }, + 7115: function (t) { + t.exports = 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], + f = e[10], + h = e[11]; + return ( + e !== t && + ((t[4] = e[4]), + (t[5] = e[5]), + (t[6] = e[6]), + (t[7] = e[7]), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15])), + (t[0] = a * i - u * n), + (t[1] = o * i - c * n), + (t[2] = s * i - f * n), + (t[3] = l * i - h * n), + (t[8] = a * n + u * i), + (t[9] = o * n + c * i), + (t[10] = s * n + f * i), + (t[11] = l * n + h * i), + t + ); + }; + }, + 5240: function (t) { + t.exports = 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], + f = e[6], + h = 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 + f * n), + (t[3] = l * i + h * n), + (t[4] = u * i - a * n), + (t[5] = c * i - o * n), + (t[6] = f * i - s * n), + (t[7] = h * i - l * n), + t + ); + }; + }, + 3668: function (t) { + t.exports = 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 + ); + }; + }, + 998: function (t) { + t.exports = function (t, e, r) { + var n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v = r[0], + g = r[1], + y = r[2]; + return ( + e === t + ? ((t[12] = + e[0] * v + + e[4] * g + + e[8] * y + + e[12]), + (t[13] = + e[1] * v + + e[5] * g + + e[9] * y + + e[13]), + (t[14] = + e[2] * v + + e[6] * g + + e[10] * y + + e[14]), + (t[15] = + e[3] * v + + e[7] * g + + e[11] * y + + 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]), + (f = e[8]), + (h = 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] = f), + (t[9] = h), + (t[10] = p), + (t[11] = d), + (t[12] = + n * v + s * g + f * y + e[12]), + (t[13] = + i * v + l * g + h * y + e[13]), + (t[14] = + a * v + u * g + p * y + e[14]), + (t[15] = + o * v + c * g + d * y + e[15])), + t + ); + }; + }, + 2142: function (t) { + t.exports = 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; + }; + }, + 4340: function (t, e, r) { + "use strict"; + var n = r(957), + i = r(7309); + function a(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 o(t, e, r, n, i) { + for ( + var o = a( + n, + a(r, a(e, [t[0], t[1], t[2], 1])), + ), + s = 0; + s < 3; + ++s + ) + o[s] /= o[3]; + return [ + 0.5 * i[0] * (1 + o[0]), + 0.5 * i[1] * (1 - o[1]), + ]; + } + function s(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.exports = function (t, e, r, a, l, u) { + if (1 === t.length) + return [0, t[0].slice()]; + for ( + var c = new Array(t.length), f = 0; + f < t.length; + ++f + ) + c[f] = o(t[f], r, a, l, u); + var h = 0, + p = 1 / 0; + for (f = 0; f < c.length; ++f) { + for (var d = 0, v = 0; v < 2; ++v) + d += Math.pow(c[f][v] - e[v], 2); + d < p && ((p = d), (h = f)); + } + var g = (function (t, e) { + if (2 === t.length) { + for ( + var r = 0, a = 0, o = 0; + o < 2; + ++o + ) + (r += Math.pow(e[o] - t[0][o], 2)), + (a += Math.pow( + e[o] - t[1][o], + 2, + )); + return (r = Math.sqrt(r)) + + (a = Math.sqrt(a)) < + 1e-6 + ? [1, 0] + : [a / (r + a), r / (a + r)]; + } + if (3 === t.length) { + var s = [0, 0]; + return ( + i(t[0], t[1], t[2], e, s), n(t, s) + ); + } + return []; + })(c, e), + y = 0; + for (f = 0; f < 3; ++f) { + if (g[f] < -0.001 || g[f] > 1.0001) + return null; + y += g[f]; + } + return Math.abs(y - 1) > 0.001 + ? null + : [h, s(t, g), g]; + }; + }, + 2056: function (t, e, r) { + var n = r(6832), + i = n([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\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\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n", + ]), + a = n([ + "#extension GL_OES_standard_derivatives : enable\n\nprecision highp 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\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\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 (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\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 = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * 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 * f_color.a;\n}\n", + ]), + o = n([ + "precision highp 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}", + ]), + s = n([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}", + ]), + l = n([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,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}", + ]), + u = n([ + "precision highp 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}", + ]), + c = n([ + "precision highp 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}", + ]), + f = n([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}", + ]), + h = n([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 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}", + ]), + p = n([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}", + ]), + d = n([ + "precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n", + ]); + (e.meshShader = { + vertex: i, + fragment: a, + attributes: [ + { name: "position", type: "vec3" }, + { name: "normal", type: "vec3" }, + { name: "color", type: "vec4" }, + { name: "uv", type: "vec2" }, + ], + }), + (e.wireShader = { + vertex: o, + fragment: s, + attributes: [ + { name: "position", type: "vec3" }, + { name: "color", type: "vec4" }, + { name: "uv", type: "vec2" }, + ], + }), + (e.pointShader = { + vertex: l, + fragment: u, + attributes: [ + { name: "position", type: "vec3" }, + { name: "color", type: "vec4" }, + { name: "uv", type: "vec2" }, + { name: "pointSize", type: "float" }, + ], + }), + (e.pickShader = { + vertex: c, + fragment: f, + attributes: [ + { name: "position", type: "vec3" }, + { name: "id", type: "vec4" }, + ], + }), + (e.pointPickShader = { + vertex: h, + fragment: f, + attributes: [ + { name: "position", type: "vec3" }, + { name: "pointSize", type: "float" }, + { name: "id", type: "vec4" }, + ], + }), + (e.contourShader = { + vertex: p, + fragment: d, + attributes: [ + { name: "position", type: "vec3" }, + ], + }); + }, + 8116: function (t, e, r) { + "use strict"; + var n = r(5158), + i = r(5827), + a = r(2944), + o = r(8931), + s = r(115), + l = r(104), + u = r(7437), + c = r(5050), + f = r(9156), + h = r(7212), + p = r(5306), + d = r(2056), + v = r(4340), + g = d.meshShader, + y = d.wireShader, + m = d.pointShader, + x = d.pickShader, + b = d.pointPickShader, + _ = d.contourShader, + w = [ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 1, + ]; + function T( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + T, + k, + A, + M, + S, + ) { + (this.gl = t), + (this.pixelRatio = 1), + (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 = h), + (this.triangleUVs = f), + (this.triangleIds = u), + (this.triangleVAO = p), + (this.triangleCount = 0), + (this.lineWidth = 1), + (this.edgePositions = d), + (this.edgeColors = g), + (this.edgeUVs = y), + (this.edgeIds = v), + (this.edgeVAO = m), + (this.edgeCount = 0), + (this.pointPositions = x), + (this.pointColors = _), + (this.pointUVs = T), + (this.pointSizes = k), + (this.pointIds = b), + (this.pointVAO = A), + (this.pointCount = 0), + (this.contourLineWidth = 1), + (this.contourPositions = M), + (this.contourVAO = S), + (this.contourCount = 0), + (this.contourColor = [0, 0, 0]), + (this.contourEnable = !0), + (this.pickVertex = !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 = 0.8), + (this.diffuseLight = 0.8), + (this.specularLight = 2), + (this.roughness = 0.5), + (this.fresnel = 1.5), + (this.opacity = 1), + (this.hasAlpha = !1), + (this.opacityscale = !1), + (this._model = w), + (this._view = w), + (this._projection = w), + (this._resolution = [1, 1]); + } + var k = T.prototype; + function A(t, e) { + if (!e) return 1; + if (!e.length) return 1; + for (var r = 0; r < e.length; ++r) { + if (e.length < 2) return 1; + if (e[r][0] === t) return e[r][1]; + if (e[r][0] > t && r > 0) { + var n = + (e[r][0] - t) / + (e[r][0] - e[r - 1][0]); + return ( + e[r][1] * (1 - n) + n * e[r - 1][1] + ); + } + } + return 1; + } + function M(t) { + var e = n(t, g.vertex, g.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.color.location = 2), + (e.attributes.uv.location = 3), + (e.attributes.normal.location = 4), + e + ); + } + function S(t) { + var e = n(t, y.vertex, y.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.color.location = 2), + (e.attributes.uv.location = 3), + e + ); + } + function E(t) { + var e = n(t, m.vertex, m.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.color.location = 2), + (e.attributes.uv.location = 3), + (e.attributes.pointSize.location = 4), + e + ); + } + function L(t) { + var e = n(t, x.vertex, x.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.id.location = 1), + e + ); + } + function C(t) { + var e = n(t, b.vertex, b.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.id.location = 1), + (e.attributes.pointSize.location = 4), + e + ); + } + function O(t) { + var e = n(t, _.vertex, _.fragment); + return ( + (e.attributes.position.location = 0), e + ); + } + (k.isOpaque = function () { + return !this.hasAlpha; + }), + (k.isTransparent = function () { + return this.hasAlpha; + }), + (k.pickSlots = 1), + (k.setPickBase = function (t) { + this.pickId = t; + }), + (k.highlight = function (t) { + if (t && this.contourEnable) { + for ( + var e = h( + this.cells, + this.intensity, + t.intensity, + ), + r = e.cells, + n = e.vertexIds, + i = e.vertexWeights, + a = r.length, + o = p.mallocFloat32(6 * a), + s = 0, + l = 0; + l < a; + ++l + ) + for ( + var u = r[l], c = 0; + c < 2; + ++c + ) { + var f = u[0]; + 2 === u.length && (f = u[c]); + for ( + var d = n[f][0], + v = n[f][1], + g = i[f], + y = 1 - g, + m = this.positions[d], + x = this.positions[v], + b = 0; + b < 3; + ++b + ) + o[s++] = g * m[b] + y * x[b]; + } + (this.contourCount = (s / 3) | 0), + this.contourPositions.update( + o.subarray(0, s), + ), + p.free(o); + } else this.contourCount = 0; + }), + (k.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), + (this.hasAlpha = !1), + "opacity" in t && + ((this.opacity = t.opacity), + this.opacity < 1 && + (this.hasAlpha = !0)), + "opacityscale" in t && + ((this.opacityscale = t.opacityscale), + (this.hasAlpha = !0)), + "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 = o(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, e) { + for ( + var r = f({ + colormap: t, + nshades: 256, + format: "rgba", + }), + n = new Uint8Array(1024), + i = 0; + i < 256; + ++i + ) { + for ( + var a = r[i], o = 0; + o < 3; + ++o + ) + n[4 * i + o] = a[o]; + n[4 * i + 3] = e + ? 255 * A(i / 255, e) + : 255 * a[3]; + } + return c( + n, + [256, 256, 4], + [4, 0, 1], + ); + })(t.colormap, this.opacityscale), + ), + this.texture.generateMipmap()); + var r = t.cells, + n = t.positions; + if (n && r) { + var i = [], + a = [], + l = [], + u = [], + h = [], + p = [], + d = [], + v = [], + g = [], + y = [], + m = [], + x = [], + b = [], + _ = []; + (this.cells = r), (this.positions = n); + var w = t.vertexNormals, + T = t.cellNormals, + k = + void 0 === t.vertexNormalsEpsilon + ? 1e-6 + : t.vertexNormalsEpsilon, + M = + void 0 === t.faceNormalsEpsilon + ? 1e-6 + : t.faceNormalsEpsilon; + t.useFacetNormals && + !T && + (T = s.faceNormals(r, n, M)), + T || + w || + (w = s.vertexNormals(r, n, k)); + var S = t.vertexColors, + E = t.cellColors, + L = t.meshColor || [1, 1, 1, 1], + C = t.vertexUVs, + O = t.vertexIntensity, + P = t.cellUVs, + I = t.cellIntensity, + D = 1 / 0, + z = -1 / 0; + if (!C && !P) + if (O) + if (t.vertexIntensityBounds) + (D = +t.vertexIntensityBounds[0]), + (z = + +t.vertexIntensityBounds[1]); + else + for ( + var R = 0; + R < O.length; + ++R + ) { + var F = O[R]; + (D = Math.min(D, F)), + (z = Math.max(z, F)); + } + else if (I) + if (t.cellIntensityBounds) + (D = +t.cellIntensityBounds[0]), + (z = +t.cellIntensityBounds[1]); + else + for (R = 0; R < I.length; ++R) + (F = I[R]), + (D = Math.min(D, F)), + (z = Math.max(z, F)); + else + for (R = 0; R < n.length; ++R) + (F = n[R][2]), + (D = Math.min(D, F)), + (z = Math.max(z, F)); + (this.intensity = + O || + I || + (function (t) { + for ( + var e = t.length, + r = new Array(e), + n = 0; + n < e; + ++n + ) + r[n] = t[n][2]; + return r; + })(n)), + (this.pickVertex = !(I || E)); + var B = t.pointSizes, + N = t.pointSize || 1; + for ( + this.bounds = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ], + R = 0; + R < n.length; + ++R + ) + for (var j = n[R], U = 0; U < 3; ++U) + !isNaN(j[U]) && + isFinite(j[U]) && + ((this.bounds[0][U] = Math.min( + this.bounds[0][U], + j[U], + )), + (this.bounds[1][U] = Math.max( + this.bounds[1][U], + j[U], + ))); + var V = 0, + H = 0, + q = 0; + t: for (R = 0; R < r.length; ++R) { + var G = r[R]; + switch (G.length) { + case 1: + for ( + j = n[(W = G[0])], U = 0; + U < 3; + ++U + ) + if ( + isNaN(j[U]) || + !isFinite(j[U]) + ) + continue t; + y.push(j[0], j[1], j[2]), + (Y = S ? S[W] : E ? E[R] : L), + this.opacityscale && O + ? a.push( + Y[0], + Y[1], + Y[2], + this.opacity * + A( + (O[W] - D) / (z - D), + this.opacityscale, + ), + ) + : 3 === Y.length + ? m.push( + Y[0], + Y[1], + Y[2], + this.opacity, + ) + : (m.push( + Y[0], + Y[1], + Y[2], + Y[3] * this.opacity, + ), + Y[3] < 1 && + (this.hasAlpha = !0)), + (X = C + ? C[W] + : O + ? [(O[W] - D) / (z - D), 0] + : P + ? P[R] + : I + ? [(I[R] - D) / (z - D), 0] + : [(j[2] - D) / (z - D), 0]), + x.push(X[0], X[1]), + B ? b.push(B[W]) : b.push(N), + _.push(R), + (q += 1); + break; + case 2: + for (U = 0; U < 2; ++U) { + j = n[(W = G[U])]; + for (var Z = 0; Z < 3; ++Z) + if ( + isNaN(j[Z]) || + !isFinite(j[Z]) + ) + continue t; + } + for (U = 0; U < 2; ++U) + (j = n[(W = G[U])]), + p.push(j[0], j[1], j[2]), + (Y = S ? S[W] : E ? E[R] : L), + this.opacityscale && O + ? a.push( + Y[0], + Y[1], + Y[2], + this.opacity * + A( + (O[W] - D) / + (z - D), + this.opacityscale, + ), + ) + : 3 === Y.length + ? d.push( + Y[0], + Y[1], + Y[2], + this.opacity, + ) + : (d.push( + Y[0], + Y[1], + Y[2], + Y[3] * this.opacity, + ), + Y[3] < 1 && + (this.hasAlpha = !0)), + (X = C + ? C[W] + : O + ? [(O[W] - D) / (z - D), 0] + : P + ? P[R] + : I + ? [(I[R] - D) / (z - D), 0] + : [ + (j[2] - D) / (z - D), + 0, + ]), + v.push(X[0], X[1]), + g.push(R); + H += 1; + break; + case 3: + for (U = 0; U < 3; ++U) + for ( + j = n[(W = G[U])], Z = 0; + Z < 3; + ++Z + ) + if ( + isNaN(j[Z]) || + !isFinite(j[Z]) + ) + continue t; + for (U = 0; U < 3; ++U) { + var W, Y, X, J; + (j = n[(W = G[2 - U])]), + i.push(j[0], j[1], j[2]), + (Y = S ? S[W] : E ? E[R] : L) + ? this.opacityscale && O + ? a.push( + Y[0], + Y[1], + Y[2], + this.opacity * + A( + (O[W] - D) / + (z - D), + this.opacityscale, + ), + ) + : 3 === Y.length + ? a.push( + Y[0], + Y[1], + Y[2], + this.opacity, + ) + : (a.push( + Y[0], + Y[1], + Y[2], + Y[3] * this.opacity, + ), + Y[3] < 1 && + (this.hasAlpha = !0)) + : a.push(0.5, 0.5, 0.5, 1), + (X = C + ? C[W] + : O + ? [(O[W] - D) / (z - D), 0] + : P + ? P[R] + : I + ? [(I[R] - D) / (z - D), 0] + : [ + (j[2] - D) / (z - D), + 0, + ]), + u.push(X[0], X[1]), + (J = w ? w[W] : T[R]), + l.push(J[0], J[1], J[2]), + h.push(R); + } + V += 1; + } + } + (this.pointCount = q), + (this.edgeCount = H), + (this.triangleCount = V), + this.pointPositions.update(y), + this.pointColors.update(m), + this.pointUVs.update(x), + this.pointSizes.update(b), + this.pointIds.update( + new Uint32Array(_), + ), + this.edgePositions.update(p), + this.edgeColors.update(d), + this.edgeUVs.update(v), + this.edgeIds.update( + new Uint32Array(g), + ), + this.trianglePositions.update(i), + this.triangleColors.update(a), + this.triangleUVs.update(u), + this.triangleNormals.update(l), + this.triangleIds.update( + new Uint32Array(h), + ); + } + }), + (k.drawTransparent = k.draw = + function (t) { + t = t || {}; + for ( + var e = this.gl, + r = t.model || w, + n = t.view || w, + i = t.projection || w, + 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, + inverseModel: w.slice(), + 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], + contourColor: this.contourColor, + texture: 0, + }; + (s.inverseModel = u( + s.inverseModel, + s.model, + )), + e.disable(e.CULL_FACE), + this.texture.bind(0); + var c = new Array(16); + for ( + l(c, s.view, s.model), + l(c, s.projection, c), + u(c, c), + o = 0; + o < 3; + ++o + ) + s.eyePosition[o] = c[12 + o] / c[15]; + var f, + h = c[15]; + for (o = 0; o < 3; ++o) + h += + this.lightPosition[o] * + c[4 * o + 3]; + for (o = 0; o < 3; ++o) { + for ( + var p = c[12 + o], d = 0; + d < 3; + ++d + ) + p += + c[4 * d + o] * + this.lightPosition[d]; + s.lightPosition[o] = p / h; + } + this.triangleCount > 0 && + ((f = this.triShader).bind(), + (f.uniforms = s), + this.triangleVAO.bind(), + e.drawArrays( + e.TRIANGLES, + 0, + 3 * this.triangleCount, + ), + this.triangleVAO.unbind()), + this.edgeCount > 0 && + this.lineWidth > 0 && + ((f = this.lineShader).bind(), + (f.uniforms = s), + this.edgeVAO.bind(), + e.lineWidth( + this.lineWidth * this.pixelRatio, + ), + e.drawArrays( + e.LINES, + 0, + 2 * this.edgeCount, + ), + this.edgeVAO.unbind()), + this.pointCount > 0 && + ((f = this.pointShader).bind(), + (f.uniforms = s), + this.pointVAO.bind(), + e.drawArrays( + e.POINTS, + 0, + this.pointCount, + ), + this.pointVAO.unbind()), + this.contourEnable && + this.contourCount > 0 && + this.contourLineWidth > 0 && + ((f = this.contourShader).bind(), + (f.uniforms = s), + this.contourVAO.bind(), + e.drawArrays( + e.LINES, + 0, + this.contourCount, + ), + this.contourVAO.unbind()); + }), + (k.drawPick = function (t) { + t = t || {}; + for ( + var e = this.gl, + r = t.model || w, + n = t.view || w, + i = t.projection || w, + 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 * this.pixelRatio, + ), + 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()); + }), + (k.pick = function (t) { + if (!t) return null; + if (t.id !== this.pickId) return null; + for ( + var e = + t.value[0] + + 256 * t.value[1] + + 65536 * t.value[2], + r = this.cells[e], + n = this.positions, + i = new Array(r.length), + a = 0; + a < r.length; + ++a + ) + i[a] = n[r[a]]; + var o = t.coord[0], + s = t.coord[1]; + if (!this.pickVertex) { + var l = this.positions[r[0]], + u = this.positions[r[1]], + c = this.positions[r[2]], + f = [ + (l[0] + u[0] + c[0]) / 3, + (l[1] + u[1] + c[1]) / 3, + (l[2] + u[2] + c[2]) / 3, + ]; + return { + _cellCenter: !0, + position: [o, s], + index: e, + cell: r, + cellId: e, + intensity: this.intensity[e], + dataCoordinate: f, + }; + } + var h = v( + i, + [ + o * this.pixelRatio, + this._resolution[1] - + s * this.pixelRatio, + ], + this._model, + this._view, + this._projection, + this._resolution, + ); + if (!h) return null; + var p = h[2], + d = 0; + for (a = 0; a < r.length; ++a) + d += p[a] * this.intensity[r[a]]; + return { + position: h[1], + index: r[h[0]], + cell: r, + cellId: e, + intensity: d, + dataCoordinate: this.positions[r[h[0]]], + }; + }), + (k.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(); + }), + (t.exports = function (t, e) { + 1 === arguments.length && + (t = (e = t).gl); + var r = + t.getExtension( + "OES_standard_derivatives", + ) || + t.getExtension( + "MOZ_OES_standard_derivatives", + ) || + t.getExtension( + "WEBKIT_OES_standard_derivatives", + ); + if (!r) + throw new Error( + "derivatives not supported", + ); + var n = M(t), + s = S(t), + l = E(t), + u = L(t), + f = C(t), + h = O(t), + p = o( + t, + c( + new Uint8Array([ + 255, 255, 255, 255, + ]), + [1, 1, 4], + ), + ); + p.generateMipmap(), + (p.minFilter = t.LINEAR_MIPMAP_LINEAR), + (p.magFilter = t.LINEAR); + var d = i(t), + v = i(t), + g = i(t), + y = i(t), + m = i(t), + x = a(t, [ + { buffer: d, type: t.FLOAT, size: 3 }, + { + buffer: m, + type: t.UNSIGNED_BYTE, + size: 4, + normalized: !0, + }, + { buffer: v, type: t.FLOAT, size: 4 }, + { buffer: g, type: t.FLOAT, size: 2 }, + { buffer: y, type: t.FLOAT, size: 3 }, + ]), + b = i(t), + _ = i(t), + w = i(t), + k = i(t), + A = a(t, [ + { buffer: b, type: t.FLOAT, size: 3 }, + { + buffer: k, + type: t.UNSIGNED_BYTE, + size: 4, + normalized: !0, + }, + { buffer: _, type: t.FLOAT, size: 4 }, + { buffer: w, type: t.FLOAT, size: 2 }, + ]), + P = i(t), + I = i(t), + D = i(t), + z = i(t), + R = i(t), + F = a(t, [ + { buffer: P, type: t.FLOAT, size: 3 }, + { + buffer: R, + type: t.UNSIGNED_BYTE, + size: 4, + normalized: !0, + }, + { buffer: I, type: t.FLOAT, size: 4 }, + { buffer: D, type: t.FLOAT, size: 2 }, + { buffer: z, type: t.FLOAT, size: 1 }, + ]), + B = i(t), + N = a(t, [ + { buffer: B, type: t.FLOAT, size: 3 }, + ]), + j = new T( + t, + p, + n, + s, + l, + u, + f, + h, + d, + m, + v, + g, + y, + x, + b, + k, + _, + w, + A, + P, + R, + I, + D, + z, + F, + B, + N, + ); + return j.update(e), j; + }); + }, + 4554: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.gl; + return new o( + t, + n(e, [0, 0, 0, 1, 1, 0, 1, 1]), + i(e, a.boxVert, a.lineFrag), + ); + }; + var n = r(5827), + i = r(5158), + a = r(2709); + function o(t, e, r) { + (this.plot = t), + (this.vbo = e), + (this.shader = r); + } + var s, + l, + u = o.prototype; + (u.bind = function () { + var t = this.shader; + this.vbo.bind(), + this.shader.bind(), + t.attributes.coord.pointer(), + (t.uniforms.screenBox = + this.plot.screenBox); + }), + (u.drawBox = + ((s = [0, 0]), + (l = [0, 0]), + function (t, e, r, n, i) { + var a = this.plot, + o = this.shader, + u = a.gl; + (s[0] = t), + (s[1] = e), + (l[0] = r), + (l[1] = n), + (o.uniforms.lo = s), + (o.uniforms.hi = l), + (o.uniforms.color = i), + u.drawArrays(u.TRIANGLE_STRIP, 0, 4); + })), + (u.dispose = function () { + this.vbo.dispose(), this.shader.dispose(); + }); + }, + 3016: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.gl; + return new s( + t, + n(e), + i(e, o.gridVert, o.gridFrag), + i(e, o.tickVert, o.gridFrag), + ); + }; + var n = r(5827), + i = r(5158), + a = r(5070), + o = r(2709); + function s(t, e, r, n) { + (this.plot = t), + (this.vbo = e), + (this.shader = r), + (this.tickShader = n), + (this.ticks = [[], []]); + } + function l(t, e) { + return t - e; + } + var u, + c, + f, + h, + p, + d = s.prototype; + (d.draw = + ((u = [0, 0]), + (c = [0, 0]), + (f = [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, + h = t.gridLineColor, + p = t.gridLineEnable, + d = t.pixelRatio, + v = 0; + v < 2; + ++v + ) { + var g = a[v], + y = a[v + 2] - g, + m = 0.5 * (o[v + 2] + o[v]), + x = o[v + 2] - o[v]; + (c[v] = (2 * y) / x), + (u[v] = (2 * (g - m)) / x); + } + r.bind(), + e.bind(), + r.attributes.dataCoord.pointer(), + (r.uniforms.dataShift = u), + (r.uniforms.dataScale = c); + var b = 0; + for (v = 0; v < 2; ++v) { + (f[0] = f[1] = 0), + (f[v] = 1), + (r.uniforms.dataAxis = f), + (r.uniforms.lineWidth = + (l[v] / (s[v + 2] - s[v])) * d), + (r.uniforms.color = h[v]); + var _ = 6 * n[v].length; + p[v] && + _ && + i.drawArrays(i.TRIANGLES, b, _), + (b += _); + } + })), + (d.drawTickMarks = (function () { + var t = [0, 0], + e = [0, 0], + r = [1, 0], + n = [0, 1], + i = [0, 0], + o = [0, 0]; + return function () { + for ( + var s = this.plot, + u = this.vbo, + c = this.tickShader, + f = this.ticks, + h = s.gl, + p = s._tickBounds, + d = s.dataBox, + v = s.viewBox, + g = s.pixelRatio, + y = s.screenBox, + m = y[2] - y[0], + x = y[3] - y[1], + b = v[2] - v[0], + _ = v[3] - v[1], + w = 0; + w < 2; + ++w + ) { + var T = p[w], + k = p[w + 2] - T, + A = 0.5 * (d[w + 2] + d[w]), + M = d[w + 2] - d[w]; + (e[w] = (2 * k) / M), + (t[w] = (2 * (T - A)) / M); + } + (e[0] *= b / m), + (t[0] *= b / m), + (e[1] *= _ / x), + (t[1] *= _ / x), + c.bind(), + u.bind(), + c.attributes.dataCoord.pointer(); + var S = c.uniforms; + (S.dataShift = t), (S.dataScale = e); + var E = s.tickMarkLength, + L = s.tickMarkWidth, + C = s.tickMarkColor, + O = 6 * f[0].length, + P = Math.min( + a.ge( + f[0], + (d[0] - p[0]) / (p[2] - p[0]), + l, + ), + f[0].length, + ), + I = Math.min( + a.gt( + f[0], + (d[2] - p[0]) / (p[2] - p[0]), + l, + ), + f[0].length, + ), + D = 0 + 6 * P, + z = 6 * Math.max(0, I - P), + R = Math.min( + a.ge( + f[1], + (d[1] - p[1]) / (p[3] - p[1]), + l, + ), + f[1].length, + ), + F = Math.min( + a.gt( + f[1], + (d[3] - p[1]) / (p[3] - p[1]), + l, + ), + f[1].length, + ), + B = O + 6 * R, + N = 6 * Math.max(0, F - R); + (i[0] = (2 * (v[0] - E[1])) / m - 1), + (i[1] = (v[3] + v[1]) / x - 1), + (o[0] = (E[1] * g) / m), + (o[1] = (L[1] * g) / x), + N && + ((S.color = C[1]), + (S.tickScale = o), + (S.dataAxis = n), + (S.screenOffset = i), + h.drawArrays(h.TRIANGLES, B, N)), + (i[0] = (v[2] + v[0]) / m - 1), + (i[1] = (2 * (v[1] - E[0])) / x - 1), + (o[0] = (L[0] * g) / m), + (o[1] = (E[0] * g) / x), + z && + ((S.color = C[0]), + (S.tickScale = o), + (S.dataAxis = r), + (S.screenOffset = i), + h.drawArrays(h.TRIANGLES, D, z)), + (i[0] = (2 * (v[2] + E[3])) / m - 1), + (i[1] = (v[3] + v[1]) / x - 1), + (o[0] = (E[3] * g) / m), + (o[1] = (L[3] * g) / x), + N && + ((S.color = C[3]), + (S.tickScale = o), + (S.dataAxis = n), + (S.screenOffset = i), + h.drawArrays(h.TRIANGLES, B, N)), + (i[0] = (v[2] + v[0]) / m - 1), + (i[1] = (2 * (v[3] + E[2])) / x - 1), + (o[0] = (L[2] * g) / m), + (o[1] = (E[2] * g) / x), + z && + ((S.color = C[2]), + (S.tickScale = o), + (S.dataAxis = r), + (S.screenOffset = i), + h.drawArrays(h.TRIANGLES, D, z)); + }; + })()), + (d.update = + ((h = [1, 1, -1, -1, 1, -1]), + (p = [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], + f = 0; + f < l.length; + ++f + ) { + var d = (l[f].x - u) / (c - u); + s.push(d); + for (var v = 0; v < 6; ++v) + (n[i++] = d), + (n[i++] = h[v]), + (n[i++] = p[v]); + } + (this.ticks = a), this.vbo.update(n); + })), + (d.dispose = function () { + this.vbo.dispose(), + this.shader.dispose(), + this.tickShader.dispose(); + }); + }, + 1154: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.gl; + return new o( + t, + n(e, [-1, -1, -1, 1, 1, -1, 1, 1]), + i(e, a.lineVert, a.lineFrag), + ); + }; + var n = r(5827), + i = r(5158), + a = r(2709); + function o(t, e, r) { + (this.plot = t), + (this.vbo = e), + (this.shader = r); + } + var s, + l, + u = o.prototype; + (u.bind = function () { + var t = this.shader; + this.vbo.bind(), + this.shader.bind(), + t.attributes.coord.pointer(), + (t.uniforms.screenBox = + this.plot.screenBox); + }), + (u.drawLine = + ((s = [0, 0]), + (l = [0, 0]), + function (t, e, r, n, i, a) { + var o = this.plot, + u = this.shader, + c = o.gl; + (s[0] = t), + (s[1] = e), + (l[0] = r), + (l[1] = n), + (u.uniforms.start = s), + (u.uniforms.end = l), + (u.uniforms.width = i * o.pixelRatio), + (u.uniforms.color = a), + c.drawArrays(c.TRIANGLE_STRIP, 0, 4); + })), + (u.dispose = function () { + this.vbo.dispose(), this.shader.dispose(); + }); + }, + 2709: function (t, e, r) { + "use strict"; + var n = r(6832), + i = n([ + "precision lowp float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n gl_FragColor = vec4(color.xyz * color.w, color.w);\n}\n", + ]); + t.exports = { + lineVert: n([ + "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: i, + textVert: n([ + "#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: i, + gridVert: n([ + "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: i, + boxVert: n([ + "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: n([ + "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", + ]), + }; + }, + 5613: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.gl; + return new l( + t, + n(e), + i(e, s.textVert, s.textFrag), + ); + }; + var n = r(5827), + i = r(5158), + a = r(6946), + o = r(5070), + s = r(2709); + function l(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 u, + c, + f, + h, + p, + d, + v = l.prototype; + (v.drawTicks = + ((u = [0, 0]), + (c = [0, 0]), + (f = [0, 0]), + function (t) { + var e = this.plot, + r = this.shader, + n = this.tickX[t], + i = this.tickOffset[t], + a = e.gl, + s = e.viewBox, + l = e.dataBox, + h = e.screenBox, + p = e.pixelRatio, + d = e.tickEnable, + v = e.tickPad, + g = e.tickColor, + y = e.tickAngle, + m = e.labelEnable, + x = e.labelPad, + b = e.labelColor, + _ = e.labelAngle, + w = this.labelOffset[t], + T = this.labelCount[t], + k = o.lt(n, l[t]), + A = o.le(n, l[t + 2]); + (u[0] = u[1] = 0), + (u[t] = 1), + (c[t] = + (s[2 + t] + s[t]) / + (h[2 + t] - h[t]) - + 1); + var M = 2 / h[2 + (1 ^ t)] - h[1 ^ t]; + (c[1 ^ t] = M * s[1 ^ t] - 1), + d[t] && + ((c[1 ^ t] -= M * p * v[t]), + k < A && + i[A] > i[k] && + ((r.uniforms.dataAxis = u), + (r.uniforms.screenOffset = c), + (r.uniforms.color = g[t]), + (r.uniforms.angle = y[t]), + a.drawArrays( + a.TRIANGLES, + i[k], + i[A] - i[k], + ))), + m[t] && + T && + ((c[1 ^ t] -= M * p * x[t]), + (r.uniforms.dataAxis = f), + (r.uniforms.screenOffset = c), + (r.uniforms.color = b[t]), + (r.uniforms.angle = _[t]), + a.drawArrays(a.TRIANGLES, w, T)), + (c[1 ^ t] = M * s[2 + (1 ^ t)] - 1), + d[t + 2] && + ((c[1 ^ t] += M * p * v[t + 2]), + k < A && + i[A] > i[k] && + ((r.uniforms.dataAxis = u), + (r.uniforms.screenOffset = c), + (r.uniforms.color = g[t + 2]), + (r.uniforms.angle = y[t + 2]), + a.drawArrays( + a.TRIANGLES, + i[k], + i[A] - i[k], + ))), + m[t + 2] && + T && + ((c[1 ^ t] += M * p * x[t + 2]), + (r.uniforms.dataAxis = f), + (r.uniforms.screenOffset = c), + (r.uniforms.color = b[t + 2]), + (r.uniforms.angle = _[t + 2]), + a.drawArrays(a.TRIANGLES, w, T)); + })), + (v.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, + ); + } + }; + })()), + (v.bind = + ((h = [0, 0]), + (p = [0, 0]), + (d = [0, 0]), + function () { + var t = this.plot, + e = this.shader, + r = t._tickBounds, + n = t.dataBox, + i = t.screenBox, + a = t.viewBox; + e.bind(); + for (var o = 0; o < 2; ++o) { + var s = r[o], + l = r[o + 2] - s, + u = 0.5 * (n[o + 2] + n[o]), + c = n[o + 2] - n[o], + f = a[o], + v = a[o + 2] - f, + g = i[o], + y = i[o + 2] - g; + (p[o] = (((2 * l) / c) * v) / y), + (h[o] = + (((2 * (s - u)) / c) * v) / y); + } + (d[1] = + (2 * t.pixelRatio) / (i[3] - i[1])), + (d[0] = + (d[1] * (i[3] - i[1])) / + (i[2] - i[0])), + (e.uniforms.dataScale = p), + (e.uniforms.dataShift = h), + (e.uniforms.textScale = d), + this.vbo.bind(), + e.attributes.textCoordinate.pointer(); + })), + (v.update = function (t) { + var e, + r, + n, + i, + o, + s = [], + l = t.ticks, + u = t.bounds; + for (o = 0; o < 2; ++o) { + var c = [Math.floor(s.length / 3)], + f = [-1 / 0], + h = l[o]; + for (e = 0; e < h.length; ++e) { + var p = h[e], + d = p.x, + v = p.text, + g = p.font || "sans-serif"; + i = p.fontSize || 12; + for ( + var y = 1 / (u[o + 2] - u[o]), + m = u[o], + x = v.split("\n"), + b = 0; + b < x.length; + b++ + ) + for ( + n = a(g, x[b]).data, r = 0; + r < n.length; + r += 2 + ) + s.push( + n[r] * i, + -n[r + 1] * i - b * i * 1.2, + (d - m) * y, + ); + c.push(Math.floor(s.length / 3)), + f.push(d); + } + (this.tickOffset[o] = c), + (this.tickX[o] = f); + } + for (o = 0; o < 2; ++o) { + for ( + this.labelOffset[o] = Math.floor( + s.length / 3, + ), + n = a(t.labelFont[o], t.labels[o], { + textAlign: "center", + }).data, + i = t.labelSize[o], + e = 0; + e < n.length; + e += 2 + ) + s.push(n[e] * i, -n[e + 1] * i, 0); + this.labelCount[o] = + Math.floor(s.length / 3) - + this.labelOffset[o]; + } + for ( + this.titleOffset = Math.floor( + s.length / 3, + ), + n = a(t.titleFont, t.title).data, + i = t.titleSize, + e = 0; + e < n.length; + e += 2 + ) + s.push(n[e] * i, -n[e + 1] * i, 0); + (this.titleCount = + Math.floor(s.length / 3) - + this.titleOffset), + this.vbo.update(s); + }), + (v.dispose = function () { + this.vbo.dispose(), this.shader.dispose(); + }); + }, + 2117: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.gl, + r = new l( + e, + n(e, [ + e.drawingBufferWidth, + e.drawingBufferHeight, + ]), + ); + return ( + (r.grid = i(r)), + (r.text = a(r)), + (r.line = o(r)), + (r.box = s(r)), + r.update(t), + r + ); + }; + var n = r(2611), + i = r(3016), + a = r(5613), + o = r(1154), + s = r(4554); + function l(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 u = l.prototype; + function c(t) { + for ( + var e = t.slice(), r = 0; + r < e.length; + ++r + ) + e[r] = e[r].slice(); + return e; + } + function f(t, e) { + return t.x - e.x; + } + (u.setDirty = function () { + this.dirty = this.pickDirty = !0; + }), + (u.setOverlayDirty = function () { + this.dirty = !0; + }), + (u.nextDepthValue = function () { + return this._depthCounter++ / 65536; + }), + (u.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 f = this.zeroLineEnable, + h = this.zeroLineColor, + p = this.zeroLineWidth; + if (f[0] || f[1]) { + o.bind(); + for (var d = 0; d < 2; ++d) + if ( + f[d] && + n[d] <= 0 && + n[d + 2] >= 0 + ) { + var v = + e[d] - + (n[d] * (e[d + 2] - e[d])) / + (n[d + 2] - n[d]); + 0 === d + ? o.drawLine( + v, + e[1], + v, + e[3], + p[d], + h[d], + ) + : o.drawLine( + e[0], + v, + e[2], + v, + p[d], + h[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 g = this.borderLineEnable, + y = this.borderLineWidth, + m = this.borderLineColor; + for ( + g[1] && + o.drawLine( + r[0], + r[1] - 0.5 * y[1] * i, + r[0], + r[3] + 0.5 * y[3] * i, + y[1], + m[1], + ), + g[0] && + o.drawLine( + r[0] - 0.5 * y[0] * i, + r[1], + r[2] + 0.5 * y[2] * i, + r[1], + y[0], + m[0], + ), + g[3] && + o.drawLine( + r[2], + r[1] - 0.5 * y[1] * i, + r[2], + r[3] + 0.5 * y[3] * i, + y[3], + m[3], + ), + g[2] && + o.drawLine( + r[0] - 0.5 * y[0] * i, + r[3], + r[2] + 0.5 * y[2] * i, + r[3], + y[2], + m[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); + } + }), + (u.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(); + } + }), + (u.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 f = u[c].pick(a, o, l); + if (f) return f; + } + return null; + } + }), + (u.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(); + }), + (u.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()); + }), + (u.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(); + }), + (u.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 || [ + (0.125 * + (this.screenBox[2] - + this.screenBox[0])) / + r, + (0.125 * + (this.screenBox[3] - + this.screenBox[1])) / + r, + (0.875 * + (this.screenBox[2] - + this.screenBox[0])) / + r, + (0.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 = c( + t.gridLineColor || [ + [0.5, 0.5, 0.5, 1], + [0.5, 0.5, 0.5, 1], + ], + )), + (this.zeroLineEnable = ( + t.zeroLineEnable || [!0, !0] + ).slice()), + (this.zeroLineWidth = ( + t.zeroLineWidth || [4, 4] + ).slice()), + (this.zeroLineColor = c( + 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 = c( + t.tickMarkColor || [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ], + )), + (this.titleCenter = ( + t.titleCenter || [ + (0.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 = c( + 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 = c( + 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 = c( + 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(f), + (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(); + }), + (u.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(); + for ( + this.objects.length = 0, + t = this.overlays.length - 1; + t >= 0; + --t + ) + this.overlays[t].dispose(); + (this.overlays.length = 0), + (this.gl = null); + }), + (u.addObject = function (t) { + this.objects.indexOf(t) < 0 && + (this.objects.push(t), this.setDirty()); + }), + (u.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; + } + }), + (u.addOverlay = function (t) { + this.overlays.indexOf(t) < 0 && + (this.overlays.push(t), + this.setOverlayDirty()); + }), + (u.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; + } + }); + }, + 4296: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + t = t || document.body; + var r = [0.01, 1 / 0]; + "distanceLimits" in (e = 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 u = i({ + center: e.center || [0, 0, 0], + up: e.up || [0, 1, 0], + eye: e.eye || [0, 0, 10], + mode: e.mode || "orbit", + distanceLimits: r, + }), + c = [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ], + f = 0, + h = t.clientWidth, + p = t.clientHeight, + d = { + keyBindingMode: "rotate", + enableWheel: !0, + view: u, + element: t, + delay: e.delay || 16, + rotateSpeed: e.rotateSpeed || 1, + zoomSpeed: e.zoomSpeed || 1, + translateSpeed: e.translateSpeed || 1, + flipX: !!e.flipX, + flipY: !!e.flipY, + modes: u.modes, + _ortho: + e._ortho || + (e.projection && + "orthographic" === + e.projection.type) || + !1, + tick: function () { + var e = n(), + r = this.delay, + i = e - 2 * r; + u.idle(e - r), + u.recalcMatrix(i), + u.flush(e - (100 + 2 * r)); + for ( + var a = !0, + o = u.computedMatrix, + s = 0; + s < 16; + ++s + ) + (a = a && c[s] === o[s]), + (c[s] = o[s]); + var l = + t.clientWidth === h && + t.clientHeight === p; + return ( + (h = t.clientWidth), + (p = t.clientHeight), + a + ? !l + : ((f = Math.exp( + u.computedRadius[0], + )), + !0) + ); + }, + lookAt: function (t, e, r) { + u.lookAt(u.lastT(), t, e, r); + }, + rotate: function (t, e, r) { + u.rotate(u.lastT(), t, e, r); + }, + pan: function (t, e, r) { + u.pan(u.lastT(), t, e, r); + }, + translate: function (t, e, r) { + u.translate(u.lastT(), t, e, r); + }, + }; + return ( + Object.defineProperties(d, { + matrix: { + get: function () { + return u.computedMatrix; + }, + set: function (t) { + return ( + u.setMatrix(u.lastT(), t), + u.computedMatrix + ); + }, + enumerable: !0, + }, + mode: { + get: function () { + return u.getMode(); + }, + set: function (t) { + var e = u.computedUp.slice(), + r = u.computedEye.slice(), + i = u.computedCenter.slice(); + if ( + (u.setMode(t), "turntable" === t) + ) { + var a = n(); + u._active.lookAt(a, r, i, e), + u._active.lookAt( + a + 500, + r, + i, + [0, 0, 1], + ), + u._active.flush(a); + } + return u.getMode(); + }, + enumerable: !0, + }, + center: { + get: function () { + return u.computedCenter; + }, + set: function (t) { + return ( + u.lookAt(u.lastT(), null, t), + u.computedCenter + ); + }, + enumerable: !0, + }, + eye: { + get: function () { + return u.computedEye; + }, + set: function (t) { + return ( + u.lookAt(u.lastT(), t), + u.computedEye + ); + }, + enumerable: !0, + }, + up: { + get: function () { + return u.computedUp; + }, + set: function (t) { + return ( + u.lookAt( + u.lastT(), + null, + null, + t, + ), + u.computedUp + ); + }, + enumerable: !0, + }, + distance: { + get: function () { + return f; + }, + set: function (t) { + return ( + u.setDistance(u.lastT(), t), t + ); + }, + enumerable: !0, + }, + distanceLimits: { + get: function () { + return u.getDistanceLimits(r); + }, + set: function (t) { + return u.setDistanceLimits(t), t; + }, + enumerable: !0, + }, + }), + t.addEventListener( + "contextmenu", + function (t) { + return t.preventDefault(), !1; + }, + ), + (d._lastX = -1), + (d._lastY = -1), + (d._lastMods = { + shift: !1, + control: !1, + alt: !1, + meta: !1, + }), + (d.enableMouseListeners = function () { + function e(e, r, i, a) { + var o = d.keyBindingMode; + if (!1 !== o) { + var s = "rotate" === o, + l = "pan" === o, + c = "zoom" === o, + h = !!a.control, + p = !!a.alt, + v = !!a.shift, + g = !!(1 & e), + y = !!(2 & e), + m = !!(4 & e), + x = 1 / t.clientHeight, + b = x * (r - d._lastX), + _ = x * (i - d._lastY), + w = d.flipX ? 1 : -1, + T = d.flipY ? 1 : -1, + k = Math.PI * d.rotateSpeed, + A = n(); + if ( + -1 !== d._lastX && + -1 !== d._lastY && + (((s && g && !h && !p && !v) || + (g && !h && !p && v)) && + u.rotate( + A, + w * k * b, + -T * k * _, + 0, + ), + ((l && g && !h && !p && !v) || + y || + (g && h && !p && !v)) && + u.pan( + A, + -d.translateSpeed * b * f, + d.translateSpeed * _ * f, + 0, + ), + (c && g && !h && !p && !v) || + m || + (g && !h && p && !v)) + ) { + var M = + ((-d.zoomSpeed * _) / + window.innerHeight) * + (A - u.lastT()) * + 100; + u.pan( + A, + 0, + 0, + f * (Math.exp(M) - 1), + ); + } + return ( + (d._lastX = r), + (d._lastY = i), + (d._lastMods = a), + !0 + ); + } + } + (d.mouseListener = a(t, e)), + t.addEventListener( + "touchstart", + function (r) { + var n = s(r.changedTouches[0], t); + e(0, n[0], n[1], d._lastMods), + e(1, n[0], n[1], d._lastMods); + }, + !!l && { passive: !0 }, + ), + t.addEventListener( + "touchmove", + function (r) { + var n = s(r.changedTouches[0], t); + e(1, n[0], n[1], d._lastMods), + r.preventDefault(); + }, + !!l && { passive: !1 }, + ), + t.addEventListener( + "touchend", + function (t) { + e( + 0, + d._lastX, + d._lastY, + d._lastMods, + ); + }, + !!l && { passive: !0 }, + ), + (d.wheelListener = o( + t, + function (t, e) { + if ( + !1 !== d.keyBindingMode && + d.enableWheel + ) { + var r = d.flipX ? 1 : -1, + i = d.flipY ? 1 : -1, + a = n(); + if (Math.abs(t) > Math.abs(e)) + u.rotate( + a, + 0, + 0, + (-t * + r * + Math.PI * + d.rotateSpeed) / + window.innerWidth, + ); + else if (!d._ortho) { + var o = + (((-d.zoomSpeed * i * e) / + window.innerHeight) * + (a - u.lastT())) / + 20; + u.pan( + a, + 0, + 0, + f * (Math.exp(o) - 1), + ); + } + } + }, + !0, + )); + }), + d.enableMouseListeners(), + d + ); + }; + var n = r(8161), + i = r(1152), + a = r(6145), + o = r(6475), + s = r(2565), + l = r(5233); + }, + 8245: function (t, e, r) { + var n = r(6832), + i = r(5158), + a = n([ + "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}", + ]), + o = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}", + ]); + t.exports = function (t) { + return i(t, a, o, null, [ + { name: "position", type: "vec2" }, + ]); + }; + }, + 1059: function (t, e, r) { + "use strict"; + var n = r(4296), + i = r(7453), + a = r(2771), + o = r(6496), + s = r(2611), + l = r(4234), + u = r(8126), + c = r(6145), + f = r(1120), + h = r(5268), + p = r(8245), + d = r(2321)({ + tablet: !0, + featureDetect: !0, + }); + function v() { + (this.mouse = [-1, -1]), + (this.screen = null), + (this.distance = 1 / 0), + (this.index = null), + (this.dataCoordinate = null), + (this.dataPosition = null), + (this.object = null), + (this.data = null); + } + function g(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; + } + return e > 0 + ? ((r = Math.round(Math.pow(10, e))), + Math.ceil(t / r) * r) + : Math.ceil(t); + } + function y(t) { + return "boolean" != typeof t || t; + } + t.exports = { + createScene: function (t) { + (t = t || {}).camera = t.camera || {}; + var e = t.canvas; + e || + ((e = document.createElement("canvas")), + t.container + ? t.container.appendChild(e) + : document.body.appendChild(e)); + var r = t.gl; + if ( + (r || + (t.glOptions && + (d = + !!t.glOptions + .preserveDrawingBuffer), + (r = (function (t, e) { + var r = null; + try { + (r = t.getContext("webgl", e)) || + (r = t.getContext( + "experimental-webgl", + e, + )); + } catch (t) { + return null; + } + return r; + })( + e, + t.glOptions || { + premultipliedAlpha: !0, + antialias: !0, + preserveDrawingBuffer: d, + }, + ))), + !r) + ) + throw new Error("webgl not supported"); + var m = t.bounds || [ + [-10, -10, -10], + [10, 10, 10], + ], + x = new v(), + b = l( + r, + r.drawingBufferWidth, + r.drawingBufferHeight, + { preferFloat: !d }, + ), + _ = p(r), + w = + (t.cameraObject && + !0 === t.cameraObject._ortho) || + (t.camera.projection && + "orthographic" === + t.camera.projection.type) || + !1, + T = { + eye: t.camera.eye || [2, 0, 0], + center: t.camera.center || [0, 0, 0], + up: t.camera.up || [0, 1, 0], + zoomMin: t.camera.zoomMax || 0.1, + zoomMax: t.camera.zoomMin || 100, + mode: t.camera.mode || "turntable", + _ortho: w, + }, + k = t.axes || {}, + A = i(r, k); + A.enable = !k.disable; + var M = t.spikes || {}, + S = o(r, M), + E = [], + L = [], + C = [], + O = [], + P = !0, + I = !0, + D = { + view: null, + projection: new Array(16), + model: new Array(16), + _ortho: !1, + }, + z = + ((I = !0), + [ + r.drawingBufferWidth, + r.drawingBufferHeight, + ]), + R = t.cameraObject || n(e, T), + F = { + gl: r, + contextLost: !1, + pixelRatio: t.pixelRatio || 1, + canvas: e, + selection: x, + camera: R, + axes: A, + axesPixels: null, + spikes: S, + bounds: m, + objects: E, + shape: z, + aspect: t.aspectRatio || [1, 1, 1], + pickRadius: t.pickRadius || 10, + zNear: t.zNear || 0.01, + zFar: t.zFar || 1e3, + fovy: t.fovy || Math.PI / 4, + clearColor: t.clearColor || [ + 0, 0, 0, 0, + ], + autoResize: y(t.autoResize), + autoBounds: y(t.autoBounds), + autoScale: !!t.autoScale, + autoCenter: y(t.autoCenter), + clipToBounds: y(t.clipToBounds), + snapToData: !!t.snapToData, + onselect: t.onselect || null, + onrender: t.onrender || null, + onclick: t.onclick || null, + cameraParams: D, + oncontextloss: null, + mouseListener: null, + _stopped: !1, + getAspectratio: function () { + return { + x: this.aspect[0], + y: this.aspect[1], + z: this.aspect[2], + }; + }, + setAspectratio: function (t) { + (this.aspect[0] = t.x), + (this.aspect[1] = t.y), + (this.aspect[2] = t.z), + (I = !0); + }, + setBounds: function (t, e) { + (this.bounds[0][t] = e.min), + (this.bounds[1][t] = e.max); + }, + setClearColor: function (t) { + this.clearColor = t; + }, + clearRGBA: function () { + this.gl.clearColor( + this.clearColor[0], + this.clearColor[1], + this.clearColor[2], + this.clearColor[3], + ), + this.gl.clear( + this.gl.COLOR_BUFFER_BIT | + this.gl.DEPTH_BUFFER_BIT, + ); + }, + }, + B = [ + (r.drawingBufferWidth / + F.pixelRatio) | + 0, + (r.drawingBufferHeight / + F.pixelRatio) | + 0, + ]; + function N() { + if (!F._stopped && F.autoResize) { + var t = e.parentNode, + r = 1, + n = 1; + t && t !== document.body + ? ((r = t.clientWidth), + (n = t.clientHeight)) + : ((r = window.innerWidth), + (n = window.innerHeight)); + var i = + 0 | Math.ceil(r * F.pixelRatio), + a = 0 | Math.ceil(n * F.pixelRatio); + if (i !== e.width || a !== e.height) { + (e.width = i), (e.height = a); + var o = e.style; + (o.position = + o.position || "absolute"), + (o.left = "0px"), + (o.top = "0px"), + (o.width = r + "px"), + (o.height = n + "px"), + (P = !0); + } + } + } + function j() { + for ( + var t = E.length, e = O.length, n = 0; + n < e; + ++n + ) + C[n] = 0; + t: for (n = 0; n < t; ++n) { + var i = E[n], + a = i.pickSlots; + if (a) { + for (var o = 0; o < e; ++o) + if (C[o] + a < 255) { + (L[n] = o), + i.setPickBase(C[o] + 1), + (C[o] += a); + continue t; + } + var l = s(r, z); + (L[n] = e), + O.push(l), + C.push(a), + i.setPickBase(1), + (e += 1); + } else L[n] = -1; + } + for (; e > 0 && 0 === C[e - 1]; ) + C.pop(), O.pop().dispose(); + } + function U() { + if (F.contextLost) return !0; + r.isContextLost() && + ((F.contextLost = !0), + (F.mouseListener.enabled = !1), + (F.selection.object = null), + F.oncontextloss && F.oncontextloss()); + } + F.autoResize && N(), + window.addEventListener("resize", N), + (F.update = function (t) { + F._stopped || + ((t = t || {}), (P = !0), (I = !0)); + }), + (F.add = function (t) { + F._stopped || + ((t.axes = A), + E.push(t), + L.push(-1), + (P = !0), + (I = !0), + j()); + }), + (F.remove = function (t) { + if (!F._stopped) { + var e = E.indexOf(t); + e < 0 || + (E.splice(e, 1), + L.pop(), + (P = !0), + (I = !0), + j()); + } + }), + (F.dispose = function () { + if ( + !F._stopped && + ((F._stopped = !0), + window.removeEventListener( + "resize", + N, + ), + e.removeEventListener( + "webglcontextlost", + U, + ), + (F.mouseListener.enabled = !1), + !F.contextLost) + ) { + A.dispose(), S.dispose(); + for (var t = 0; t < E.length; ++t) + E[t].dispose(); + for ( + b.dispose(), t = 0; + t < O.length; + ++t + ) + O[t].dispose(); + _.dispose(), + (r = null), + (A = null), + (S = null), + (E = []); + } + }), + (F._mouseRotating = !1), + (F._prevButtons = 0), + (F.enableMouseListeners = function () { + F.mouseListener = c( + e, + function (t, e, r) { + if (!F._stopped) { + var n = O.length, + i = E.length, + a = x.object; + (x.distance = 1 / 0), + (x.mouse[0] = e), + (x.mouse[1] = r), + (x.object = null), + (x.screen = null), + (x.dataCoordinate = + x.dataPosition = + null); + var o = !1; + if (t && F._prevButtons) + F._mouseRotating = !0; + else { + F._mouseRotating && (I = !0), + (F._mouseRotating = !1); + for (var s = 0; s < n; ++s) { + var l = O[s].query( + e, + B[1] - r - 1, + F.pickRadius, + ); + if (l) { + if ( + l.distance > x.distance + ) + continue; + for ( + var u = 0; + u < i; + ++u + ) { + var c = E[u]; + if (L[u] === s) { + var f = c.pick(l); + f && + ((x.buttons = t), + (x.screen = + l.coord), + (x.distance = + l.distance), + (x.object = c), + (x.index = + f.distance), + (x.dataPosition = + f.position), + (x.dataCoordinate = + f.dataCoordinate), + (x.data = f), + (o = !0)); + } + } + } + } + } + a && + a !== x.object && + (a.highlight && + a.highlight(null), + (P = !0)), + x.object && + (x.object.highlight && + x.object.highlight( + x.data, + ), + (P = !0)), + (o = o || x.object !== a) && + F.onselect && + F.onselect(x), + 1 & t && + !(1 & F._prevButtons) && + F.onclick && + F.onclick(x), + (F._prevButtons = t); + } + }, + ); + }), + e.addEventListener( + "webglcontextlost", + U, + ); + var V = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ], + H = [V[0].slice(), V[1].slice()]; + function q() { + if (!U()) { + N(); + var t = F.camera.tick(); + (D.view = F.camera.matrix), + (P = P || t), + (I = I || t), + (A.pixelRatio = F.pixelRatio), + (S.pixelRatio = F.pixelRatio); + var e = E.length, + n = V[0], + i = V[1]; + (n[0] = n[1] = n[2] = 1 / 0), + (i[0] = i[1] = i[2] = -1 / 0); + for (var o = 0; o < e; ++o) { + ((C = E[o]).pixelRatio = + F.pixelRatio), + (C.axes = F.axes), + (P = P || !!C.dirty), + (I = I || !!C.dirty); + var s = C.bounds; + if (s) + for ( + var l = s[0], c = s[1], p = 0; + p < 3; + ++p + ) + (n[p] = Math.min(n[p], l[p])), + (i[p] = Math.max(i[p], c[p])); + } + var d = F.bounds; + if (F.autoBounds) + for (p = 0; p < 3; ++p) { + if (i[p] < n[p]) + (n[p] = -1), (i[p] = 1); + else { + n[p] === i[p] && + ((n[p] -= 1), (i[p] += 1)); + var v = 0.05 * (i[p] - n[p]); + (n[p] = n[p] - v), + (i[p] = i[p] + v); + } + (d[0][p] = n[p]), + (d[1][p] = i[p]); + } + var y = !1; + for (p = 0; p < 3; ++p) + (y = + y || + H[0][p] !== d[0][p] || + H[1][p] !== d[1][p]), + (H[0][p] = d[0][p]), + (H[1][p] = d[1][p]); + if (((I = I || y), (P = P || y))) { + if (y) { + var m = [0, 0, 0]; + for (o = 0; o < 3; ++o) + m[o] = g( + (d[1][o] - d[0][o]) / 10, + ); + A.autoTicks + ? A.update({ + bounds: d, + tickSpacing: m, + }) + : A.update({ bounds: d }); + } + var T = r.drawingBufferWidth, + k = r.drawingBufferHeight; + for ( + z[0] = T, + z[1] = k, + B[0] = + 0 | + Math.max(T / F.pixelRatio, 1), + B[1] = + 0 | + Math.max(k / F.pixelRatio, 1), + (function (t, e) { + var r = t.bounds, + n = t.cameraParams, + i = n.projection, + a = n.model, + o = t.gl.drawingBufferWidth, + s = + t.gl.drawingBufferHeight, + l = t.zNear, + u = t.zFar, + c = t.fovy, + p = o / s; + e + ? (h(i, -p, p, -1, 1, l, u), + (n._ortho = !0)) + : (f(i, c, p, l, u), + (n._ortho = !1)); + for (var d = 0; d < 16; ++d) + a[d] = 0; + a[15] = 1; + var v = 0; + for (d = 0; d < 3; ++d) + v = Math.max( + v, + r[1][d] - r[0][d], + ); + for (d = 0; d < 3; ++d) + t.autoScale + ? (a[5 * d] = + t.aspect[d] / + (r[1][d] - r[0][d])) + : (a[5 * d] = 1 / v), + t.autoCenter && + (a[12 + d] = + 0.5 * + -a[5 * d] * + (r[0][d] + r[1][d])); + })(F, w), + o = 0; + o < e; + ++o + ) + ((C = E[o]).axesBounds = d), + F.clipToBounds && + (C.clipBounds = d); + x.object && + (F.snapToData + ? (S.position = + x.dataCoordinate) + : (S.position = x.dataPosition), + (S.bounds = d)), + I && + ((I = !1), + (function () { + if (!U()) { + r.colorMask(!0, !0, !0, !0), + r.depthMask(!0), + r.disable(r.BLEND), + r.enable(r.DEPTH_TEST), + r.depthFunc(r.LEQUAL); + for ( + var t = E.length, + e = O.length, + n = 0; + n < e; + ++n + ) { + var i = O[n]; + (i.shape = B), i.begin(); + for ( + var a = 0; + a < t; + ++a + ) + if (L[a] === n) { + var o = E[a]; + o.drawPick && + ((o.pixelRatio = 1), + o.drawPick(D)); + } + i.end(); + } + } + })()), + (F.axesPixels = a( + F.axes, + D, + T, + k, + )), + F.onrender && F.onrender(), + r.bindFramebuffer( + r.FRAMEBUFFER, + null, + ), + r.viewport(0, 0, T, k), + F.clearRGBA(), + r.depthMask(!0), + r.colorMask(!0, !0, !0, !0), + r.enable(r.DEPTH_TEST), + r.depthFunc(r.LEQUAL), + r.disable(r.BLEND), + r.disable(r.CULL_FACE); + var M = !1; + for ( + A.enable && + ((M = M || A.isTransparent()), + A.draw(D)), + S.axes = A, + x.object && S.draw(D), + r.disable(r.CULL_FACE), + o = 0; + o < e; + ++o + ) + ((C = E[o]).axes = A), + (C.pixelRatio = F.pixelRatio), + C.isOpaque && + C.isOpaque() && + C.draw(D), + C.isTransparent && + C.isTransparent() && + (M = !0); + if (M) { + for ( + b.shape = z, + b.bind(), + r.clear(r.DEPTH_BUFFER_BIT), + r.colorMask(!1, !1, !1, !1), + r.depthMask(!0), + r.depthFunc(r.LESS), + A.enable && + A.isTransparent() && + A.drawTransparent(D), + o = 0; + o < e; + ++o + ) + (C = E[o]).isOpaque && + C.isOpaque() && + C.draw(D); + for ( + r.enable(r.BLEND), + r.blendEquation(r.FUNC_ADD), + r.blendFunc( + r.ONE, + r.ONE_MINUS_SRC_ALPHA, + ), + r.colorMask(!0, !0, !0, !0), + r.depthMask(!1), + r.clearColor(0, 0, 0, 0), + r.clear(r.COLOR_BUFFER_BIT), + A.isTransparent() && + A.drawTransparent(D), + o = 0; + o < e; + ++o + ) { + var C; + (C = E[o]).isTransparent && + C.isTransparent() && + C.drawTransparent(D); + } + r.bindFramebuffer( + r.FRAMEBUFFER, + null, + ), + r.blendFunc( + r.ONE, + r.ONE_MINUS_SRC_ALPHA, + ), + r.disable(r.DEPTH_TEST), + _.bind(), + b.color[0].bind(0), + (_.uniforms.accumBuffer = 0), + u(r), + r.disable(r.BLEND); + } + for (P = !1, o = 0; o < e; ++o) + E[o].dirty = !1; + } + } + } + return ( + F.enableMouseListeners(), + (function t() { + F._stopped || + F.contextLost || + (q(), requestAnimationFrame(t)); + })(), + (F.redraw = function () { + F._stopped || ((P = !0), q()); + }), + F + ); + }, + createCamera: n, + }; + }, + 8023: function (t, e, r) { + var n = r(6832); + (e.pointVertex = n([ + "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}", + ])), + (e.pointFragment = n([ + "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", + ])), + (e.pickVertex = n([ + "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", + ])), + (e.pickFragment = n([ + "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", + ])); + }, + 8271: function (t, e, r) { + "use strict"; + var n = r(5158), + i = r(5827), + a = r(5306), + o = r(8023); + function s(t, e, r, n, i) { + (this.plot = t), + (this.offsetBuffer = e), + (this.pickBuffer = r), + (this.shader = n), + (this.pickShader = i), + (this.sizeMin = 0.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); + } + t.exports = function (t, e) { + var r = t.gl, + a = new s( + t, + i(r), + i(r), + n(r, o.pointVertex, o.pointFragment), + n(r, o.pickVertex, o.pickFragment), + ); + return a.update(e), t.addObject(a), a; + }; + var l, + u, + c = s.prototype; + (c.dispose = function () { + this.shader.dispose(), + this.pickShader.dispose(), + this.offsetBuffer.dispose(), + this.pickBuffer.dispose(), + this.plot.removeObject(this); + }), + (c.update = function (t) { + var e; + function r(e, r) { + return e in t ? t[e] : r; + } + (t = t || {}), + (this.sizeMin = r("sizeMin", 0.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, + o = + t.idToIndex instanceof Int32Array && + t.idToIndex.length >= n, + s = t.positions, + l = i ? s : a.mallocFloat32(s.length), + u = o ? t.idToIndex : a.mallocInt32(n); + if ((i || l.set(s), !o)) + for (l.set(s), e = 0; e < n; e++) + u[e] = e; + (this.points = s), + this.offsetBuffer.update(l), + this.pickBuffer.update(u), + i || a.free(l), + o || a.free(u), + (this.pointCount = n), + (this.pickOffset = 0); + }), + (c.unifiedDraw = + ((l = [1, 0, 0, 0, 1, 0, 0, 0, 1]), + (u = [0, 0, 0, 0]), + function (t) { + var e = void 0 !== t, + r = e ? this.pickShader : this.shader, + n = this.plot.gl, + i = this.plot.dataBox; + if (0 === this.pointCount) return t; + var a = i[2] - i[0], + o = i[3] - i[1], + s = (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, i), + c = + this.plot.pickPixelRatio * + Math.max( + Math.min( + this.sizeMinCap, + this.sizeMin, + ), + Math.min( + this.sizeMax, + this.sizeMax / + Math.pow(s, 0.33333), + ), + ); + (l[0] = 2 / a), + (l[4] = 2 / o), + (l[6] = (-2 * i[0]) / a - 1), + (l[7] = (-2 * i[1]) / o - 1), + this.offsetBuffer.bind(), + r.bind(), + r.attributes.position.pointer(), + (r.uniforms.matrix = l), + (r.uniforms.color = this.color), + (r.uniforms.borderColor = + this.borderColor), + (r.uniforms.pointCloud = c < 5), + (r.uniforms.pointSize = c), + (r.uniforms.centerFraction = Math.min( + 1, + Math.max( + 0, + Math.sqrt(1 - this.areaRatio), + ), + )), + e && + ((u[0] = 255 & t), + (u[1] = (t >> 8) & 255), + (u[2] = (t >> 16) & 255), + (u[3] = (t >> 24) & 255), + this.pickBuffer.bind(), + r.attributes.pickId.pointer( + n.UNSIGNED_BYTE, + ), + (r.uniforms.pickOffset = u), + (this.pickOffset = t)); + var f = n.getParameter(n.BLEND), + h = n.getParameter(n.DITHER); + return ( + f && + !this.blend && + n.disable(n.BLEND), + h && n.disable(n.DITHER), + n.drawArrays( + n.POINTS, + 0, + this.pointCount, + ), + f && !this.blend && n.enable(n.BLEND), + h && n.enable(n.DITHER), + t + this.pointCount + ); + })), + (c.draw = c.unifiedDraw), + (c.drawPick = c.unifiedDraw), + (c.pick = function (t, e, r) { + var n = this.pickOffset, + i = this.pointCount; + if (r < n || r >= n + i) return null; + var a = r - n, + o = this.points; + return { + object: this, + pointId: a, + dataCoord: [o[2 * a], o[2 * a + 1]], + }; + }); + }, + 6093: function (t) { + t.exports = function (t, e, r, n) { + var i, + a, + o, + s, + l, + u = e[0], + c = e[1], + f = e[2], + h = e[3], + p = r[0], + d = r[1], + v = r[2], + g = r[3]; + return ( + (a = u * p + c * d + f * v + h * g) < 0 && + ((a = -a), + (p = -p), + (d = -d), + (v = -v), + (g = -g)), + 1 - a > 1e-6 + ? ((i = Math.acos(a)), + (o = Math.sin(i)), + (s = Math.sin((1 - n) * i) / o), + (l = Math.sin(n * i) / o)) + : ((s = 1 - n), (l = n)), + (t[0] = s * u + l * p), + (t[1] = s * c + l * d), + (t[2] = s * f + l * v), + (t[3] = s * h + l * g), + t + ); + }; + }, + 8240: function (t) { + "use strict"; + t.exports = function (t) { + return t || 0 === t ? t.toString() : ""; + }; + }, + 4123: function (t, e, r) { + "use strict"; + var n = r(875); + t.exports = function (t, e, r) { + var a = i[e]; + if ((a || (a = i[e] = {}), t in a)) + return a[t]; + var o = { + textAlign: "center", + textBaseline: "middle", + lineHeight: 1, + font: e, + lineSpacing: 1.25, + styletags: { + breaklines: !0, + bolds: !0, + italics: !0, + subscripts: !0, + superscripts: !0, + }, + triangles: !0, + }, + s = n(t, o); + o.triangles = !1; + var l, + u, + c = n(t, o); + if (r && 1 !== r) { + for (l = 0; l < s.positions.length; ++l) + for ( + u = 0; + u < s.positions[l].length; + ++u + ) + s.positions[l][u] /= r; + for (l = 0; l < c.positions.length; ++l) + for ( + u = 0; + u < c.positions[l].length; + ++u + ) + c.positions[l][u] /= r; + } + var f = [ + [1 / 0, 1 / 0], + [-1 / 0, -1 / 0], + ], + h = c.positions.length; + for (l = 0; l < h; ++l) { + var p = c.positions[l]; + for (u = 0; u < 2; ++u) + (f[0][u] = Math.min(f[0][u], p[u])), + (f[1][u] = Math.max(f[1][u], p[u])); + } + return (a[t] = [s, c, f]); + }; + var i = {}; + }, + 9282: function (t, e, r) { + var n = r(5158), + i = r(6832), + a = i([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}", + ]), + o = i([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}", + ]), + s = i([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * view * model * vec4(position, 1);\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n", + ]), + l = i([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n", + ]), + u = i([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}", + ]), + c = [ + { name: "position", type: "vec3" }, + { name: "color", type: "vec4" }, + { name: "glyph", type: "vec2" }, + { name: "id", type: "vec4" }, + ], + f = { + vertex: a, + fragment: l, + attributes: c, + }, + h = { + vertex: o, + fragment: l, + attributes: c, + }, + p = { + vertex: s, + fragment: l, + attributes: c, + }, + d = { + vertex: a, + fragment: u, + attributes: c, + }, + v = { + vertex: o, + fragment: u, + attributes: c, + }, + g = { + vertex: s, + fragment: u, + attributes: c, + }; + function y(t, e) { + var r = n(t, e), + i = r.attributes; + return ( + (i.position.location = 0), + (i.color.location = 1), + (i.glyph.location = 2), + (i.id.location = 3), + r + ); + } + (e.createPerspective = function (t) { + return y(t, f); + }), + (e.createOrtho = function (t) { + return y(t, h); + }), + (e.createProject = function (t) { + return y(t, p); + }), + (e.createPickPerspective = function (t) { + return y(t, d); + }), + (e.createPickOrtho = function (t) { + return y(t, v); + }), + (e.createPickProject = function (t) { + return y(t, g); + }); + }, + 2182: function (t, e, r) { + "use strict"; + var n = r(3596), + i = r(5827), + a = r(2944), + o = r(5306), + s = r(104), + l = r(9282), + u = r(4123), + c = r(8240), + f = [ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 1, + ]; + function h(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 p(t, e, r, n) { + return h(n, n), h(n, n), h(n, n); + } + function d(t, e) { + (this.index = t), + (this.dataCoordinate = this.position = e); + } + function v(t) { + return !0 === t || t > 1 ? 1 : t; + } + function g( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + ) { + (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.hasAlpha = !1), + (this.lineWidth = 0), + (this.projectScale = [ + 2 / 3, + 2 / 3, + 2 / 3, + ]), + (this.projectOpacity = [1, 1, 1]), + (this.projectHasAlpha = !1), + (this.pickId = 0), + (this.pickPerspectiveShader = u), + (this.pickOrthoShader = c), + (this.pickProjectShader = f), + (this.points = []), + (this._selectResult = new d( + 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); + } + t.exports = function (t) { + var e = t.gl, + r = l.createPerspective(e), + n = l.createOrtho(e), + o = l.createProject(e), + s = l.createPickPerspective(e), + u = l.createPickOrtho(e), + c = l.createPickProject(e), + f = i(e), + h = i(e), + p = i(e), + d = i(e), + v = new g( + e, + r, + n, + o, + f, + h, + p, + d, + a(e, [ + { buffer: f, size: 3, type: e.FLOAT }, + { buffer: h, size: 4, type: e.FLOAT }, + { buffer: p, size: 2, type: e.FLOAT }, + { + buffer: d, + size: 4, + type: e.UNSIGNED_BYTE, + normalized: !0, + }, + ]), + s, + u, + c, + ); + return v.update(t), v; + }; + var y = g.prototype; + (y.pickSlots = 1), + (y.setPickBase = function (t) { + this.pickId = t; + }), + (y.isTransparent = function () { + if (this.hasAlpha) return !0; + for (var t = 0; t < 3; ++t) + if ( + this.axesProject[t] && + this.projectHasAlpha + ) + return !0; + return !1; + }), + (y.isOpaque = function () { + if (!this.hasAlpha) return !0; + for (var t = 0; t < 3; ++t) + if ( + this.axesProject[t] && + !this.projectHasAlpha + ) + return !0; + return !1; + }); + var m = [0, 0], + x = [0, 0, 0], + b = [0, 0, 0], + _ = [0, 0, 0, 1], + w = [0, 0, 0, 1], + T = f.slice(), + k = [0, 0, 0], + A = [ + [0, 0, 0], + [0, 0, 0], + ]; + function M(t) { + return (t[0] = t[1] = t[2] = 0), t; + } + function S(t, e) { + return ( + (t[0] = e[0]), + (t[1] = e[1]), + (t[2] = e[2]), + (t[3] = 1), + t + ); + } + function E(t, e, r, n) { + return ( + (t[0] = e[0]), + (t[1] = e[1]), + (t[2] = e[2]), + (t[r] = n), + t + ); + } + var L = [ + [-1e8, -1e8, -1e8], + [1e8, 1e8, 1e8], + ]; + function C(t, e, r, n, i, a, o) { + var l = r.gl; + if ( + ((a === r.projectHasAlpha || o) && + (function (t, e, r, n) { + var i, + a = e.axesProject, + o = e.gl, + l = t.uniforms, + u = r.model || f, + c = r.view || f, + h = r.projection || f, + d = e.axesBounds, + v = (function (t) { + for (var e = A, 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); + (i = + e.axes && e.axes.lastCubeProps + ? e.axes.lastCubeProps.axis + : [1, 1, 1]), + (m[0] = 2 / o.drawingBufferWidth), + (m[1] = 2 / o.drawingBufferHeight), + t.bind(), + (l.view = c), + (l.projection = h), + (l.screenSize = m), + (l.highlightId = e.highlightId), + (l.highlightScale = + e.highlightScale), + (l.clipBounds = v), + (l.pickGroup = e.pickId / 255), + (l.pixelRatio = n); + for (var g = 0; g < 3; ++g) + if (a[g]) { + (l.scale = e.projectScale[g]), + (l.opacity = + e.projectOpacity[g]); + for ( + var y = T, L = 0; + L < 16; + ++L + ) + y[L] = 0; + for (L = 0; L < 4; ++L) + y[5 * L] = 1; + (y[5 * g] = 0), + i[g] < 0 + ? (y[12 + g] = d[0][g]) + : (y[12 + g] = d[1][g]), + s(y, u, y), + (l.model = y); + var C = (g + 1) % 3, + O = (g + 2) % 3, + P = M(x), + I = M(b); + (P[C] = 1), (I[O] = 1); + var D = p(0, 0, 0, S(_, P)), + z = p(0, 0, 0, S(w, I)); + if ( + Math.abs(D[1]) > Math.abs(z[1]) + ) { + var R = D; + (D = z), + (z = R), + (R = P), + (P = I), + (I = R); + var F = C; + (C = O), (O = F); + } + D[0] < 0 && (P[C] = -1), + z[1] > 0 && (I[O] = -1); + var B = 0, + N = 0; + for (L = 0; L < 4; ++L) + (B += Math.pow( + u[4 * C + L], + 2, + )), + (N += Math.pow( + u[4 * O + L], + 2, + )); + (P[C] /= Math.sqrt(B)), + (I[O] /= Math.sqrt(N)), + (l.axes[0] = P), + (l.axes[1] = I), + (l.fragClipBounds[0] = E( + k, + v[0], + g, + -1e8, + )), + (l.fragClipBounds[1] = E( + k, + v[1], + g, + 1e8, + )), + e.vao.bind(), + e.vao.draw( + o.TRIANGLES, + e.vertexCount, + ), + e.lineWidth > 0 && + (o.lineWidth(e.lineWidth * n), + e.vao.draw( + o.LINES, + e.lineVertexCount, + e.vertexCount, + )), + e.vao.unbind(); + } + })(e, r, n, i), + a === r.hasAlpha || o) + ) { + t.bind(); + var u = t.uniforms; + (u.model = n.model || f), + (u.view = n.view || f), + (u.projection = n.projection || f), + (m[0] = 2 / l.drawingBufferWidth), + (m[1] = 2 / l.drawingBufferHeight), + (u.screenSize = m), + (u.highlightId = r.highlightId), + (u.highlightScale = r.highlightScale), + (u.fragClipBounds = L), + (u.clipBounds = r.axes.bounds), + (u.opacity = r.opacity), + (u.pickGroup = r.pickId / 255), + (u.pixelRatio = i), + r.vao.bind(), + r.vao.draw(l.TRIANGLES, r.vertexCount), + r.lineWidth > 0 && + (l.lineWidth(r.lineWidth * i), + r.vao.draw( + l.LINES, + r.lineVertexCount, + r.vertexCount, + )), + r.vao.unbind(); + } + } + function O(t, e, r, i) { + var a; + (a = Array.isArray(t) + ? e < t.length + ? t[e] + : void 0 + : t), + (a = c(a)); + var o = !0; + n(a) && ((a = "▼"), (o = !1)); + var s = u(a, r, i); + return { + mesh: s[0], + lines: s[1], + bounds: s[2], + visible: o, + }; + } + (y.draw = function (t) { + C( + this.useOrtho + ? this.orthoShader + : this.shader, + this.projectShader, + this, + t, + this.pixelRatio, + !1, + !1, + ); + }), + (y.drawTransparent = function (t) { + C( + this.useOrtho + ? this.orthoShader + : this.shader, + this.projectShader, + this, + t, + this.pixelRatio, + !0, + !1, + ); + }), + (y.drawPick = function (t) { + C( + this.useOrtho + ? this.pickOrthoShader + : this.pickPerspectiveShader, + this.pickProjectShader, + this, + t, + 1, + !0, + !0, + ); + }), + (y.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; + }), + (y.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]; + }), + (y.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 ( + ((this.projectHasAlpha = !1), + "projectOpacity" in t) + ) { + Array.isArray(t.projectOpacity) + ? (this.projectOpacity = + t.projectOpacity.slice()) + : ((r = +t.projectOpacity), + (this.projectOpacity = [r, r, r])); + for (var n = 0; n < 3; ++n) + (this.projectOpacity[n] = v( + this.projectOpacity[n], + )), + this.projectOpacity[n] < 1 && + (this.projectHasAlpha = !0); + } + (this.hasAlpha = !1), + "opacity" in t && + ((this.opacity = v(t.opacity)), + this.opacity < 1 && + (this.hasAlpha = !0)), + (this.dirty = !0); + var i, + a, + s = t.position, + l = t.font || "normal", + u = t.alignment || [0, 0]; + if (2 === u.length) + (i = u[0]), (a = u[1]); + else + for ( + i = [], a = [], n = 0; + n < u.length; + ++n + ) + (i[n] = u[n][0]), (a[n] = u[n][1]); + var c = [1 / 0, 1 / 0, 1 / 0], + f = [-1 / 0, -1 / 0, -1 / 0], + h = t.glyph, + p = t.color, + d = t.size, + g = t.angle, + y = t.lineColor, + m = -1, + x = 0, + b = 0, + _ = 0; + if (s.length) { + _ = s.length; + t: for (n = 0; n < _; ++n) { + for (var w = s[n], T = 0; T < 3; ++T) + if (isNaN(w[T]) || !isFinite(w[T])) + continue t; + var k = (N = O( + h, + n, + l, + this.pixelRatio, + )).mesh, + A = N.lines, + M = N.bounds; + (x += 3 * k.cells.length), + (b += 2 * A.edges.length); + } + } + var S = x + b, + E = o.mallocFloat(3 * S), + L = o.mallocFloat(4 * S), + C = o.mallocFloat(2 * S), + P = o.mallocUint32(S); + if (S > 0) { + var I = 0, + D = x, + z = [0, 0, 0, 1], + R = [0, 0, 0, 1], + F = + Array.isArray(p) && + Array.isArray(p[0]), + B = + Array.isArray(y) && + Array.isArray(y[0]); + t: for (n = 0; n < _; ++n) { + for ( + m += 1, w = s[n], T = 0; + T < 3; + ++T + ) { + if (isNaN(w[T]) || !isFinite(w[T])) + continue t; + (f[T] = Math.max(f[T], w[T])), + (c[T] = Math.min(c[T], w[T])); + } + (k = (N = O(h, n, l, this.pixelRatio)) + .mesh), + (A = N.lines), + (M = N.bounds); + var N, + j = N.visible; + if (j) + if (Array.isArray(p)) { + if ( + 3 === + (U = F + ? n < p.length + ? p[n] + : [0, 0, 0, 0] + : p).length + ) { + for (T = 0; T < 3; ++T) + z[T] = U[T]; + z[3] = 1; + } else if (4 === U.length) { + for (T = 0; T < 4; ++T) + z[T] = U[T]; + !this.hasAlpha && + U[3] < 1 && + (this.hasAlpha = !0); + } + } else + (z[0] = z[1] = z[2] = 0), + (z[3] = 1); + else z = [1, 1, 1, 0]; + if (j) + if (Array.isArray(y)) { + var U; + if ( + 3 === + (U = B + ? n < y.length + ? y[n] + : [0, 0, 0, 0] + : y).length + ) { + for (T = 0; T < 3; ++T) + R[T] = U[T]; + R[T] = 1; + } else if (4 === U.length) { + for (T = 0; T < 4; ++T) + R[T] = U[T]; + !this.hasAlpha && + U[3] < 1 && + (this.hasAlpha = !0); + } + } else + (R[0] = R[1] = R[2] = 0), + (R[3] = 1); + else R = [1, 1, 1, 0]; + var V = 0.5; + j + ? Array.isArray(d) + ? (V = n < d.length ? +d[n] : 12) + : d + ? (V = +d) + : this.useOrtho && (V = 12) + : (V = 0); + var H = 0; + Array.isArray(g) + ? (H = n < g.length ? +g[n] : 0) + : g && (H = +g); + var q = Math.cos(H), + G = Math.sin(H); + for (w = s[n], T = 0; T < 3; ++T) + (f[T] = Math.max(f[T], w[T])), + (c[T] = Math.min(c[T], w[T])); + var Z = i, + W = a; + (Z = 0), + Array.isArray(i) + ? (Z = n < i.length ? i[n] : 0) + : i && (Z = i), + (W = 0), + Array.isArray(a) + ? (W = n < a.length ? a[n] : 0) + : a && (W = a); + var Y = [ + (Z *= + Z > 0 + ? 1 - M[0][0] + : Z < 0 + ? 1 + M[1][0] + : 1), + (W *= + W > 0 + ? 1 - M[0][1] + : W < 0 + ? 1 + M[1][1] + : 1), + ], + X = k.cells || [], + J = k.positions || []; + for (T = 0; T < X.length; ++T) + for ( + var K = X[T], $ = 0; + $ < 3; + ++$ + ) { + for (var Q = 0; Q < 3; ++Q) + E[3 * I + Q] = w[Q]; + for (Q = 0; Q < 4; ++Q) + L[4 * I + Q] = z[Q]; + P[I] = m; + var tt = J[K[$]]; + (C[2 * I] = + V * + (q * tt[0] - G * tt[1] + Y[0])), + (C[2 * I + 1] = + V * + (G * tt[0] + + q * tt[1] + + Y[1])), + (I += 1); + } + for ( + X = A.edges, J = A.positions, T = 0; + T < X.length; + ++T + ) + for (K = X[T], $ = 0; $ < 2; ++$) { + for (Q = 0; Q < 3; ++Q) + E[3 * D + Q] = w[Q]; + for (Q = 0; Q < 4; ++Q) + L[4 * D + Q] = R[Q]; + (P[D] = m), + (tt = J[K[$]]), + (C[2 * D] = + V * + (q * tt[0] - + G * tt[1] + + Y[0])), + (C[2 * D + 1] = + V * + (G * tt[0] + + q * tt[1] + + Y[1])), + (D += 1); + } + } + } + (this.bounds = [c, f]), + (this.points = s), + (this.pointCount = s.length), + (this.vertexCount = x), + (this.lineVertexCount = b), + this.pointBuffer.update(E), + this.colorBuffer.update(L), + this.glyphBuffer.update(C), + this.idBuffer.update(P), + o.free(E), + o.free(L), + o.free(C), + o.free(P); + }), + (y.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(); + }); + }, + 1884: function (t, e, r) { + "use strict"; + var n = r(6832); + (e.boxVertex = n([ + "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", + ])), + (e.boxFragment = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color;\n\nvoid main() {\n gl_FragColor = color;\n}\n", + ])); + }, + 6623: function (t, e, r) { + "use strict"; + var n = r(5158), + i = r(5827), + a = r(1884); + function o(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, 0.25]), + (this.outerFill = !0), + (this.outerColor = [0, 0, 0, 0.5]), + (this.borderWidth = 10); + } + t.exports = function (t, e) { + var r = t.gl, + s = new o( + t, + i(r, [0, 0, 0, 1, 1, 0, 1, 1]), + n(r, a.boxVertex, a.boxFragment), + ); + return s.update(e), t.addOverlay(s), s; + }; + var s = o.prototype; + (s.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, + f = + ((e[0] - l[0]) * (u[2] - u[0])) / + (l[2] - l[0]) + + u[0], + h = + ((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 ( + ((f = Math.max(f, u[0])), + (h = Math.max(h, u[1])), + (p = Math.min(p, u[2])), + (d = Math.min(d, u[3])), + !(p < f || d < h)) + ) { + o.bind(); + var v = s[2] - s[0], + g = s[3] - s[1]; + if ( + (this.outerFill && + (o.drawBox(0, 0, v, h, i), + o.drawBox(0, h, f, d, i), + o.drawBox(0, d, v, g, i), + o.drawBox(p, h, v, d, i)), + this.innerFill && + o.drawBox(f, h, p, d, n), + r > 0) + ) { + var y = r * c; + o.drawBox( + f - y, + h - y, + p + y, + h + y, + a, + ), + o.drawBox( + f - y, + d - y, + p + y, + d + y, + a, + ), + o.drawBox( + f - y, + h - y, + f + y, + d + y, + a, + ), + o.drawBox( + p - y, + h - y, + p + y, + d + y, + a, + ); + } + } + } + }), + (s.update = function (t) { + (t = t || {}), + (this.innerFill = !!t.innerFill), + (this.outerFill = !!t.outerFill), + (this.innerColor = ( + t.innerColor || [0, 0, 0, 0.5] + ).slice()), + (this.outerColor = ( + t.outerColor || [0, 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()); + }), + (s.dispose = function () { + this.boxBuffer.dispose(), + this.boxShader.dispose(), + this.plot.removeOverlay(this); + }); + }, + 2611: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + var r = e[0], + a = e[1]; + return new l( + t, + n(t, r, a, {}), + i.mallocUint8(r * a * 4), + ); + }; + var n = r(4234), + i = r(5306), + a = r(5050), + o = r(2288).nextPow2; + function s(t, e, r, n, i) { + (this.coord = [t, e]), + (this.id = r), + (this.value = n), + (this.distance = i); + } + function l(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 u = l.prototype; + Object.defineProperty(u, "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) { + i.free(this.buffer); + for ( + var n = (this.buffer = + i.mallocUint8(o(r * e * 4))), + a = 0; + a < r * e * 4; + ++a + ) + n[a] = 255; + } + return t; + } + }, + }), + (u.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, + )); + }), + (u.end = function () { + var t = this.gl; + t && + (t.bindFramebuffer(t.FRAMEBUFFER, null), + this._readTimeout || + clearTimeout(this._readTimeout), + (this._readTimeout = setTimeout( + this._readCallback, + 1, + ))); + }), + (u.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]), + o = + 0 | + Math.min(Math.max(t + r, 0), n[0]), + l = + 0 | + Math.min(Math.max(e - r, 0), n[1]), + u = + 0 | + Math.min(Math.max(e + r, 0), n[1]); + if (o <= i || u <= l) return null; + var c = [o - i, u - l], + f = a( + this.buffer, + [c[0], c[1], 4], + [4, 4 * n[0], 1], + 4 * (i + n[0] * l), + ), + h = (function (t, e, r) { + for ( + var n = 1e8, + i = -1, + a = -1, + o = t.shape[0], + s = t.shape[1], + l = 0; + l < o; + l++ + ) + for (var u = 0; u < s; u++) { + var c = t.get(l, u, 0), + f = t.get(l, u, 1), + h = t.get(l, u, 2), + p = t.get(l, u, 3); + if ( + c < 255 || + f < 255 || + h < 255 || + p < 255 + ) { + var d = e - l, + v = r - u, + g = d * d + v * v; + g < n && + ((n = g), (i = l), (a = u)); + } + } + return [i, a, n]; + })(f.hi(c[0], c[1], 1), r, r), + p = h[0], + d = h[1]; + return p < 0 || + Math.pow(this.radius, 2) < h[2] + ? null + : new s( + (p + i) | 0, + (d + l) | 0, + f.get(p, d, 0), + [ + f.get(p, d, 1), + f.get(p, d, 2), + f.get(p, d, 3), + ], + Math.sqrt(h[2]), + ); + }), + (u.dispose = function () { + this.gl && + (this.fbo.dispose(), + i.free(this.buffer), + (this.gl = null), + this._readTimeout && + clearTimeout(this._readTimeout)); + }); + }, + 5158: function (t, e, r) { + "use strict"; + var n = r(9016), + i = r(4280), + a = r(3984), + o = r(1628), + s = r(2631), + l = r(9068); + function u(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); + } + var c = u.prototype; + function f(t, e) { + return t.name < e.name ? -1 : 1; + } + (c.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); + }), + (c.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); + }), + (c.update = function (t, e, r, u) { + if (!e || 1 === arguments.length) { + var c = t; + (t = c.vertex), + (e = c.fragment), + (r = c.uniforms), + (u = c.attributes); + } + var h = this, + p = h.gl, + d = h._vref; + (h._vref = o.shader( + p, + p.VERTEX_SHADER, + t, + )), + d && d.dispose(), + (h.vertShader = h._vref.shader); + var v = this._fref; + if ( + ((h._fref = o.shader( + p, + p.FRAGMENT_SHADER, + e, + )), + v && v.dispose(), + (h.fragShader = h._fref.shader), + !r || !u) + ) { + var g = p.createProgram(); + if ( + (p.attachShader(g, h.fragShader), + p.attachShader(g, h.vertShader), + p.linkProgram(g), + !p.getProgramParameter( + g, + p.LINK_STATUS, + )) + ) { + var y = p.getProgramInfoLog(g); + throw new l( + y, + "Error linking program:" + y, + ); + } + (r = r || s.uniforms(p, g)), + (u = u || s.attributes(p, g)), + p.deleteProgram(g); + } + (u = u.slice()).sort(f); + var m, + x = [], + b = [], + _ = []; + for (m = 0; m < u.length; ++m) { + var w = u[m]; + if (w.type.indexOf("mat") >= 0) { + for ( + var T = + 0 | + w.type.charAt( + w.type.length - 1, + ), + k = new Array(T), + A = 0; + A < T; + ++A + ) + (k[A] = _.length), + b.push(w.name + "[" + A + "]"), + "number" == typeof w.location + ? _.push(w.location + A) + : Array.isArray(w.location) && + w.location.length === T && + "number" == + typeof w.location[A] + ? _.push(0 | w.location[A]) + : _.push(-1); + x.push({ + name: w.name, + type: w.type, + locations: k, + }); + } else + x.push({ + name: w.name, + type: w.type, + locations: [_.length], + }), + b.push(w.name), + "number" == typeof w.location + ? _.push(0 | w.location) + : _.push(-1); + } + var M = 0; + for (m = 0; m < _.length; ++m) + if (_[m] < 0) { + for (; _.indexOf(M) >= 0; ) M += 1; + _[m] = M; + } + var S = new Array(r.length); + function E() { + h.program = o.program( + p, + h._vref, + h._fref, + b, + _, + ); + for (var t = 0; t < r.length; ++t) + S[t] = p.getUniformLocation( + h.program, + r[t].name, + ); + } + E(), + (h._relink = E), + (h.types = { + uniforms: a(r), + attributes: a(u), + }), + (h.attributes = i(p, h, x, _)), + Object.defineProperty( + h, + "uniforms", + n(p, h, r, S), + ); + }), + (t.exports = function (t, e, r, n, i) { + var a = new u(t); + return a.update(e, r, n, i), a; + }); + }, + 9068: function (t) { + function e(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); + } + (e.prototype = new Error()), + (e.prototype.name = "GLError"), + (e.prototype.constructor = e), + (t.exports = e); + }, + 4280: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r, i) { + for ( + var a = {}, o = 0, u = r.length; + o < u; + ++o + ) { + var c = r[o], + f = c.name, + h = c.type, + p = c.locations; + switch (h) { + case "bool": + case "int": + case "float": + s(t, e, p[0], i, 1, a, f); + break; + default: + if (h.indexOf("vec") >= 0) { + if ( + (d = + h.charCodeAt(h.length - 1) - + 48) < 2 || + d > 4 + ) + throw new n( + "", + "Invalid data type for attribute " + + f + + ": " + + h, + ); + s(t, e, p[0], i, d, a, f); + } else { + if (!(h.indexOf("mat") >= 0)) + throw new n( + "", + "Unknown data type for attribute " + + f + + ": " + + h, + ); + var d; + if ( + (d = + h.charCodeAt(h.length - 1) - + 48) < 2 || + d > 4 + ) + throw new n( + "", + "Invalid data type for attribute " + + f + + ": " + + h, + ); + l(t, e, p, i, d, a, f); + } + } + } + return a; + }; + var n = r(9068); + function i(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 a = i.prototype; + (a.pointer = function (t, e, r, n) { + var i = this, + a = i._gl, + o = i._locations[i._index]; + a.vertexAttribPointer( + o, + i._dimension, + t || a.FLOAT, + !!e, + r || 0, + n || 0, + ), + a.enableVertexAttribArray(o); + }), + (a.set = function (t, e, r, n) { + return this._constFunc( + this._locations[this._index], + t, + e, + r, + n, + ); + }), + Object.defineProperty(a, "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 o = [ + function (t, e, r) { + return void 0 === r.length + ? t.vertexAttrib1f(e, r) + : t.vertexAttrib1fv(e, r); + }, + function (t, e, r, n) { + return void 0 === r.length + ? t.vertexAttrib2f(e, r, n) + : t.vertexAttrib2fv(e, r); + }, + function (t, e, r, n, i) { + return void 0 === r.length + ? t.vertexAttrib3f(e, r, n, i) + : t.vertexAttrib3fv(e, r); + }, + function (t, e, r, n, i, a) { + return void 0 === r.length + ? t.vertexAttrib4f(e, r, n, i, a) + : t.vertexAttrib4fv(e, r); + }, + ]; + function s(t, e, r, n, a, s, l) { + var u = o[a], + c = new i(t, e, r, n, a, u); + Object.defineProperty(s, l, { + set: function (e) { + return ( + t.disableVertexAttribArray(n[r]), + u(t, n[r], e), + e + ); + }, + get: function () { + return c; + }, + enumerable: !0, + }); + } + function l(t, e, r, n, i, a, o) { + for ( + var l = new Array(i), + u = new Array(i), + c = 0; + c < i; + ++c + ) + s(t, e, r[c], n, i, l, c), (u[c] = l[c]); + Object.defineProperty(l, "location", { + set: function (t) { + if (Array.isArray(t)) + for (var e = 0; e < i; ++e) + u[e].location = t[e]; + else + for (e = 0; e < i; ++e) + u[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, + }), + (l.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 f = 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) + f[s] = e[i * a + s]; + h.call(t, o, f); + } + } + return e; + }, + get: function () { + return l; + }, + enumerable: !0, + }); + } + }, + 9016: function (t, e, r) { + "use strict"; + var n = r(3984), + i = r(9068); + function a(t) { + return function () { + return t; + }; + } + function o(t, e) { + for ( + var r = new Array(t), n = 0; + n < t; + ++n + ) + r[n] = e; + return r; + } + t.exports = function (t, e, r, s) { + function l(e) { + return function (n) { + for ( + var a = u("", e), o = 0; + o < a.length; + ++o + ) { + var l = a[o], + c = l[0], + f = l[1]; + if (s[f]) { + var h = n; + if ( + "string" == typeof c && + (0 === c.indexOf(".") || + 0 === c.indexOf("[")) + ) { + var p = c; + if ( + (0 === c.indexOf(".") && + (p = c.slice(1)), + p.indexOf("]") === p.length - 1) + ) { + var d = p.indexOf("["), + v = p.slice(0, d), + g = p.slice( + d + 1, + p.length - 1, + ); + h = v ? n[v][g] : n[g]; + } else h = n[p]; + } + var y, + m = r[f].type; + switch (m) { + case "bool": + case "int": + case "sampler2D": + case "samplerCube": + t.uniform1i(s[f], h); + break; + case "float": + t.uniform1f(s[f], h); + break; + default: + var x = m.indexOf("vec"); + if ( + !( + 0 <= x && + x <= 1 && + m.length === 4 + x + ) + ) { + if ( + 0 === m.indexOf("mat") && + 4 === m.length + ) { + if ( + (y = + m.charCodeAt( + m.length - 1, + ) - 48) < 2 || + y > 4 + ) + throw new i( + "", + "Invalid uniform dimension type for matrix " + + name + + ": " + + m, + ); + t[ + "uniformMatrix" + y + "fv" + ](s[f], !1, h); + break; + } + throw new i( + "", + "Unknown uniform data type for " + + name + + ": " + + m, + ); + } + if ( + (y = + m.charCodeAt(m.length - 1) - + 48) < 2 || + y > 4 + ) + throw new i( + "", + "Invalid data type", + ); + switch (m.charAt(0)) { + case "b": + case "i": + t["uniform" + y + "iv"]( + s[f], + h, + ); + break; + case "v": + t["uniform" + y + "fv"]( + s[f], + h, + ); + break; + default: + throw new i( + "", + "Unrecognized data type for vector " + + name + + ": " + + m, + ); + } + } + } + } + }; + } + function u(t, e) { + if ("object" != typeof e) return [[t, e]]; + var r = []; + for (var n in e) { + var i = e[n], + a = t; + parseInt(n) + "" === n + ? (a += "[" + n + "]") + : (a += "." + n), + "object" == typeof i + ? r.push.apply(r, u(a, i)) + : r.push([a, i]); + } + return r; + } + function c(t, e, n) { + if ("object" == typeof n) { + var u = f(n); + Object.defineProperty(t, e, { + get: a(u), + set: l(n), + enumerable: !0, + configurable: !1, + }); + } else + s[n] + ? Object.defineProperty(t, e, { + get: + ((c = n), + function (t, e, r) { + return t.getUniform( + e.program, + r[c], + ); + }), + set: l(n), + enumerable: !0, + configurable: !1, + }) + : (t[e] = (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 + ) { + if ( + (r = + t.charCodeAt( + t.length - 1, + ) - 48) < 2 || + r > 4 + ) + throw new i( + "", + "Invalid data type", + ); + return "b" === t.charAt(0) + ? o(r, !1) + : o(r, 0); + } + if ( + 0 === t.indexOf("mat") && + 4 === t.length + ) { + var r; + if ( + (r = + t.charCodeAt( + t.length - 1, + ) - 48) < 2 || + r > 4 + ) + throw new i( + "", + "Invalid uniform dimension type for matrix " + + name + + ": " + + t, + ); + return o(r * r, 0); + } + throw new i( + "", + "Unknown uniform data type for " + + name + + ": " + + t, + ); + } + })(r[n].type)); + var c; + } + function f(t) { + var e; + if (Array.isArray(t)) { + e = new Array(t.length); + for (var r = 0; r < t.length; ++r) + c(e, r, t[r]); + } else + for (var n in ((e = {}), t)) + c(e, n, t[n]); + return e; + } + var h = n(r, !0); + return { + get: a(f(h)), + set: l(h), + enumerable: !0, + configurable: !0, + }; + }; + }, + 3984: function (t) { + "use strict"; + t.exports = function (t, e) { + for (var r = {}, n = 0; n < t.length; ++n) + for ( + var i = t[n].name.split("."), + a = r, + o = 0; + o < i.length; + ++o + ) { + var s = i[o].split("["); + if (s.length > 1) { + s[0] in a || (a[s[0]] = []), + (a = a[s[0]]); + for (var l = 1; l < s.length; ++l) { + var u = parseInt(s[l]); + l < s.length - 1 || o < i.length - 1 + ? (u in a || + (l < s.length - 1 + ? (a[u] = []) + : (a[u] = {})), + (a = a[u])) + : (a[u] = e ? n : t[n].type); + } + } else + o < i.length - 1 + ? (s[0] in a || (a[s[0]] = {}), + (a = a[s[0]])) + : (a[s[0]] = e ? n : t[n].type); + } + return r; + }; + }, + 2631: function (t, e) { + "use strict"; + (e.uniforms = function (t, e) { + for ( + var r = t.getProgramParameter( + e, + t.ACTIVE_UNIFORMS, + ), + n = [], + a = 0; + a < r; + ++a + ) { + var o = t.getActiveUniform(e, a); + if (o) { + var s = i(t, o.type); + if (o.size > 1) + for (var l = 0; l < o.size; ++l) + n.push({ + name: o.name.replace( + "[0]", + "[" + l + "]", + ), + type: s, + }); + else n.push({ name: o.name, type: s }); + } + } + return n; + }), + (e.attributes = function (t, e) { + for ( + var r = t.getProgramParameter( + e, + t.ACTIVE_ATTRIBUTES, + ), + n = [], + a = 0; + a < r; + ++a + ) { + var o = t.getActiveAttrib(e, a); + o && + n.push({ + name: o.name, + type: i(t, o.type), + }); + } + return n; + }); + var r = { + 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", + }, + n = null; + function i(t, e) { + if (!n) { + var i = Object.keys(r); + n = {}; + for (var a = 0; a < i.length; ++a) { + var o = i[a]; + n[t[o]] = r[o]; + } + } + return n[e]; + } + }, + 1628: function (t, e, r) { + "use strict"; + (e.shader = function (t, e, r) { + return c(t).getShaderReference(e, r); + }), + (e.program = function (t, e, r, n, i) { + return c(t).getProgram(e, r, n, i); + }); + var n = r(9068), + i = r(3530), + a = new ( + "undefined" == typeof WeakMap + ? r(4037) + : WeakMap + )(), + o = 0; + function s(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 l(t) { + (this.gl = t), + (this.shaders = [{}, {}]), + (this.programs = {}); + } + s.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 u = l.prototype; + function c(t) { + var e = a.get(t); + return ( + e || ((e = new l(t)), a.set(t, e)), e + ); + } + (u.getShaderReference = function (t, e) { + var r = this.gl, + a = + this.shaders[ + (t === r.FRAGMENT_SHADER) | 0 + ], + l = a[e]; + if (l && r.isShader(l.shader)) l.count += 1; + else { + var u = (function (t, e, r) { + var a = t.createShader(e); + if ( + (t.shaderSource(a, r), + t.compileShader(a), + !t.getShaderParameter( + a, + t.COMPILE_STATUS, + )) + ) { + var o = t.getShaderInfoLog(a); + try { + var s = i(o, r, e); + } catch (t) { + throw ( + (console.warn( + "Failed to format compiler error: " + + t, + ), + new n( + o, + "Error compiling shader:\n" + o, + )) + ); + } + throw new n(o, s.short, s.long); + } + return a; + })(r, t, e); + l = a[e] = new s( + o++, + e, + t, + u, + [], + 1, + this, + ); + } + return l; + }), + (u.getProgram = function (t, e, r, i) { + var a = [ + t.id, + e.id, + r.join(":"), + i.join(":"), + ].join("@"), + o = this.programs[a]; + return ( + (o && this.gl.isProgram(o)) || + ((this.programs[a] = o = + (function (t, e, r, i, a) { + var o = t.createProgram(); + t.attachShader(o, e), + t.attachShader(o, r); + for (var s = 0; s < i.length; ++s) + t.bindAttribLocation( + o, + a[s], + i[s], + ); + if ( + (t.linkProgram(o), + !t.getProgramParameter( + o, + t.LINK_STATUS, + )) + ) { + var l = t.getProgramInfoLog(o); + throw new n( + l, + "Error linking program: " + l, + ); + } + return o; + })( + this.gl, + t.shader, + e.shader, + r, + i, + )), + t.programs.push(a), + e.programs.push(a)), + o + ); + }); + }, + 3050: function (t) { + "use strict"; + function e(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]); + } + t.exports = function (t, r) { + var n = new e(t); + return n.update(r), t.addOverlay(n), n; + }; + var r = e.prototype; + (r.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(); + }), + (r.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], + ); + } + }), + (r.dispose = function () { + this.plot.removeOverlay(this); + }); + }, + 3540: function (t, e, r) { + "use strict"; + var n = r(6832), + i = r(5158), + a = n([ + "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", + ]), + o = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}", + ]); + t.exports = function (t) { + return i(t, a, o, null, [ + { name: "position", type: "vec3" }, + { name: "color", type: "vec3" }, + { name: "weight", type: "float" }, + ]); + }; + }, + 6496: function (t, e, r) { + "use strict"; + var n = r(5827), + i = r(2944), + a = r(3540); + t.exports = function (t, e) { + var r = []; + function o(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); + } + o(0, 0, 0, 0, 0, 1), + o(0, 0, 0, 1, 0, 1), + o(0, 0, 0, 2, 0, 1), + o(1, 0, 0, 1, -1, 1), + o(1, 0, 0, 2, -1, 1), + o(0, 1, 0, 0, -1, 1), + o(0, 1, 0, 2, -1, 1), + o(0, 0, 1, 0, -1, 1), + o(0, 0, 1, 1, -1, 1); + var l = n(t, r), + u = i(t, [ + { + type: t.FLOAT, + buffer: l, + size: 3, + offset: 0, + stride: 28, + }, + { + type: t.FLOAT, + buffer: l, + size: 3, + offset: 12, + stride: 28, + }, + { + type: t.FLOAT, + buffer: l, + size: 1, + offset: 24, + stride: 28, + }, + ]), + c = a(t); + (c.attributes.position.location = 0), + (c.attributes.color.location = 1), + (c.attributes.weight.location = 2); + var f = new s(t, l, u, c); + return f.update(e), f; + }; + var o = [ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 1, + ]; + function s(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 l = s.prototype, + u = [0, 0, 0], + c = [0, 0, 0], + f = [0, 0]; + (l.isTransparent = function () { + return !1; + }), + (l.drawTransparent = function (t) {}), + (l.draw = function (t) { + var e = this.gl, + r = this.vao, + n = this.shader; + r.bind(), n.bind(); + var i, + a = t.model || o, + s = t.view || o, + l = t.projection || o; + this.axes && + (i = this.axes.lastCubeProps.axis); + for (var h = u, p = c, d = 0; d < 3; ++d) + i && i[d] < 0 + ? ((h[d] = this.bounds[0][d]), + (p[d] = this.bounds[1][d])) + : ((h[d] = this.bounds[1][d]), + (p[d] = this.bounds[0][d])); + for ( + f[0] = e.drawingBufferWidth, + f[1] = e.drawingBufferHeight, + n.uniforms.model = a, + n.uniforms.view = s, + n.uniforms.projection = l, + n.uniforms.coordinates = [ + this.position, + h, + p, + ], + n.uniforms.colors = this.colors, + n.uniforms.screenShape = f, + d = 0; + d < 3; + ++d + ) + (n.uniforms.lineWidth = + this.lineWidth[d] * this.pixelRatio), + this.enabled[d] && + (r.draw(e.TRIANGLES, 6, 6 * d), + this.drawSides[d] && + r.draw( + e.TRIANGLES, + 12, + 18 + 12 * d, + )); + r.unbind(); + }), + (l.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)); + }), + (l.dispose = function () { + this.vao.dispose(), + this.buffer.dispose(), + this.shader.dispose(); + }); + }, + 9578: function (t, e, r) { + var n = r(6832), + i = n([ + "precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n", + ]), + a = n([ + "#extension GL_OES_standard_derivatives : enable\n\nprecision highp 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\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\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 = min(1.0, max(0.0, 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}\n", + ]), + o = n([ + "precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * view * tubePosition;\n f_id = id;\n f_position = position.xyz;\n}\n", + ]), + s = n([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}", + ]); + (e.meshShader = { + vertex: i, + fragment: a, + attributes: [ + { name: "position", type: "vec4" }, + { name: "color", type: "vec4" }, + { name: "uv", type: "vec2" }, + { name: "vector", type: "vec4" }, + ], + }), + (e.pickShader = { + vertex: o, + fragment: s, + attributes: [ + { name: "position", type: "vec4" }, + { name: "id", type: "vec4" }, + { name: "vector", type: "vec4" }, + ], + }); + }, + 7307: function (t, e, r) { + "use strict"; + var n = r(2858), + i = r(4020), + a = [ + "xyz", + "xzy", + "yxz", + "yzx", + "zxy", + "zyx", + ], + o = function (t, e) { + var r, + n = t.length; + for (r = 0; r < n; r++) { + var i = t[r]; + if (i === e) return r; + if (i > e) return r - 1; + } + return r; + }, + s = function (t, e, r) { + return t < e ? e : t > r ? r : t; + }, + l = function (t) { + var e = 1 / 0; + t.sort(function (t, e) { + return t - e; + }); + for ( + var r = t.length, n = 1; + n < r; + n++ + ) { + var i = Math.abs(t[n] - t[n - 1]); + i < e && (e = i); + } + return e; + }; + t.exports = function (t, e) { + var r = t.startingPositions, + u = t.maxLength || 1e3, + c = t.tubeSize || 1, + f = t.absoluteTubeSize, + h = t.gridFill || "+x+y+z", + p = {}; + -1 !== h.indexOf("-x") && + (p.reversedX = !0), + -1 !== h.indexOf("-y") && + (p.reversedY = !0), + -1 !== h.indexOf("-z") && + (p.reversedZ = !0), + (p.filled = a.indexOf( + h.replace(/-/g, "").replace(/\+/g, ""), + )); + var d = + t.getVelocity || + function (e) { + return (function (t, e, r) { + var i = e.vectors, + a = e.meshgrid, + l = t[0], + u = t[1], + c = t[2], + f = a[0].length, + h = a[1].length, + p = a[2].length, + d = o(a[0], l), + v = o(a[1], u), + g = o(a[2], c), + y = d + 1, + m = v + 1, + x = g + 1; + if ( + ((d = s(d, 0, f - 1)), + (y = s(y, 0, f - 1)), + (v = s(v, 0, h - 1)), + (m = s(m, 0, h - 1)), + (g = s(g, 0, p - 1)), + (x = s(x, 0, p - 1)), + d < 0 || + v < 0 || + g < 0 || + y > f - 1 || + m > h - 1 || + x > p - 1) + ) + return n.create(); + var b, + _, + w, + T, + k, + A, + M = a[0][d], + S = a[0][y], + E = a[1][v], + L = a[1][m], + C = a[2][g], + O = (l - M) / (S - M), + P = (u - E) / (L - E), + I = (c - C) / (a[2][x] - C); + switch ( + (isFinite(O) || (O = 0.5), + isFinite(P) || (P = 0.5), + isFinite(I) || (I = 0.5), + r.reversedX && + ((d = f - 1 - d), + (y = f - 1 - y)), + r.reversedY && + ((v = h - 1 - v), + (m = h - 1 - m)), + r.reversedZ && + ((g = p - 1 - g), + (x = p - 1 - x)), + r.filled) + ) { + case 5: + (k = g), + (A = x), + (w = v * p), + (T = m * p), + (b = d * p * h), + (_ = y * p * h); + break; + case 4: + (k = g), + (A = x), + (b = d * p), + (_ = y * p), + (w = v * p * f), + (T = m * p * f); + break; + case 3: + (w = v), + (T = m), + (k = g * h), + (A = x * h), + (b = d * h * p), + (_ = y * h * p); + break; + case 2: + (w = v), + (T = m), + (b = d * h), + (_ = y * h), + (k = g * h * f), + (A = x * h * f); + break; + case 1: + (b = d), + (_ = y), + (k = g * f), + (A = x * f), + (w = v * f * p), + (T = m * f * p); + break; + default: + (b = d), + (_ = y), + (w = v * f), + (T = m * f), + (k = g * f * h), + (A = x * f * h); + } + var D = i[b + w + k], + z = i[b + w + A], + R = i[b + T + k], + F = i[b + T + A], + B = i[_ + w + k], + N = i[_ + w + A], + j = i[_ + T + k], + U = i[_ + T + A], + V = n.create(), + H = n.create(), + q = n.create(), + G = n.create(); + n.lerp(V, D, B, O), + n.lerp(H, z, N, O), + n.lerp(q, R, j, O), + n.lerp(G, F, U, O); + var Z = n.create(), + W = n.create(); + n.lerp(Z, V, q, P), + n.lerp(W, H, G, P); + var Y = n.create(); + return n.lerp(Y, Z, W, I), Y; + })(e, t, p); + }, + v = + t.getDivergence || + function (t, e) { + var r = n.create(), + i = 1e-4; + n.add(r, t, [i, 0, 0]); + var a = d(r); + n.subtract(a, a, e), + n.scale(a, a, 1 / i), + n.add(r, t, [0, i, 0]); + var o = d(r); + n.subtract(o, o, e), + n.scale(o, o, 1 / i), + n.add(r, t, [0, 0, i]); + var s = d(r); + return ( + n.subtract(s, s, e), + n.scale(s, s, 1 / i), + n.add(r, a, o), + n.add(r, r, s), + r + ); + }, + g = [], + y = e[0][0], + m = e[0][1], + x = e[0][2], + b = e[1][0], + _ = e[1][1], + w = e[1][2], + T = function (t) { + var e = t[0], + r = t[1], + n = t[2]; + return !( + e < y || + e > b || + r < m || + r > _ || + n < x || + n > w + ); + }, + k = (10 * n.distance(e[0], e[1])) / u, + A = k * k, + M = 1, + S = 0, + E = r.length; + E > 1 && + (M = (function (t) { + for ( + var e = [], + r = [], + n = [], + i = {}, + a = {}, + o = {}, + s = t.length, + u = 0; + u < s; + u++ + ) { + var c = t[u], + f = c[0], + h = c[1], + p = c[2]; + i[f] || (e.push(f), (i[f] = !0)), + a[h] || (r.push(h), (a[h] = !0)), + o[p] || (n.push(p), (o[p] = !0)); + } + var d = l(e), + v = l(r), + g = l(n), + y = Math.min(d, v, g); + return isFinite(y) ? y : 1; + })(r)); + for (var L = 0; L < E; L++) { + var C = n.create(); + n.copy(C, r[L]); + var O = [C], + P = [], + I = d(C), + D = C; + P.push(I); + var z = [], + R = v(C, I), + F = n.length(R); + isFinite(F) && F > S && (S = F), + z.push(F), + g.push({ + points: O, + velocities: P, + divergences: z, + }); + for ( + var B = 0; + B < 100 * u && O.length < u && T(C); + + ) { + B++; + var N = n.clone(I), + j = n.squaredLength(N); + if (0 === j) break; + j > A && + n.scale(N, N, k / Math.sqrt(j)), + n.add(N, N, C), + (I = d(N)), + n.squaredDistance(D, N) - A > + -1e-4 * A && + (O.push(N), + (D = N), + P.push(I), + (R = v(N, I)), + (F = n.length(R)), + isFinite(F) && F > S && (S = F), + z.push(F)), + (C = N); + } + } + var U = (function (t, e, r, a) { + for (var o = 0, s = 0; s < t.length; s++) + for ( + var l = t[s].velocities, u = 0; + u < l.length; + u++ + ) + o = Math.max(o, n.length(l[u])); + var c = t.map(function (t) { + return (function (t, e, r, a) { + for ( + var o = t.points, + s = t.velocities, + l = t.divergences, + u = [], + c = [], + f = [], + h = [], + p = [], + d = [], + v = 0, + g = 0, + y = i.create(), + m = i.create(), + x = 0; + x < o.length; + x++ + ) { + var b = o[x], + _ = s[x], + w = l[x]; + 0 === e && (w = 0.05 * r), + (g = n.length(_) / a), + (y = i.create()), + n.copy(y, _), + (y[3] = w); + for (var T = 0; T < 8; T++) + p[T] = [b[0], b[1], b[2], T]; + if (h.length > 0) + for (T = 0; T < 8; T++) { + var k = (T + 1) % 8; + u.push( + h[T], + p[T], + p[k], + p[k], + h[k], + h[T], + ), + f.push(m, y, y, y, m, m), + d.push(v, g, g, g, v, v); + var A = u.length; + c.push( + [A - 6, A - 5, A - 4], + [A - 3, A - 2, A - 1], + ); + } + var M = h; + (h = p), (p = M); + var S = m; + (m = y), (y = S); + var E = v; + (v = g), (g = E); + } + return { + positions: u, + cells: c, + vectors: f, + vertexIntensity: d, + }; + })(t, r, a, o); + }), + f = [], + h = [], + p = [], + d = []; + for (s = 0; s < c.length; s++) { + var v = c[s], + g = f.length; + for ( + f = f.concat(v.positions), + p = p.concat(v.vectors), + d = d.concat(v.vertexIntensity), + u = 0; + u < v.cells.length; + u++ + ) { + var y = v.cells[u], + m = []; + h.push(m); + for (var x = 0; x < y.length; x++) + m.push(y[x] + g); + } + } + return { + positions: f, + cells: h, + vectors: p, + vertexIntensity: d, + colormap: e, + }; + })(g, t.colormap, S, M); + return ( + f + ? (U.tubeScale = f) + : (0 === S && (S = 1), + (U.tubeScale = (0.5 * c * M) / S)), + U + ); + }; + var u = r(9578), + c = r(1140).createMesh; + t.exports.createTubeMesh = function (t, e) { + return c(t, e, { + shaders: u, + traceType: "streamtube", + }); + }; + }, + 9054: function (t, e, r) { + var n = r(5158), + i = r(6832), + a = i([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\nuniform vec3 objectOffset;\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 vec3 localCoordinate = vec3(uv.zw, f.x);\n worldCoordinate = objectOffset + localCoordinate;\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", + ]), + o = i([ + "precision highp 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\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\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 (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\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 — in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n 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", + ]), + s = i([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\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 worldCoordinate = objectOffset + dataCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n\n vec4 clipPosition = projection * view * worldPosition;\n clipPosition.z += zOffset;\n\n gl_Position = clipPosition;\n value = f + objectOffset.z;\n kill = -1.0;\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", + ]), + l = i([ + "precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\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 (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) 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", + ]); + (e.createShader = function (t) { + var e = n(t, a, o, 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 + ); + }), + (e.createPickShader = function (t) { + var e = n(t, a, l, 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 + ); + }), + (e.createContourShader = function (t) { + var e = n(t, s, o, null, [ + { name: "uv", type: "vec4" }, + { name: "f", type: "float" }, + ]); + return ( + (e.attributes.uv.location = 0), + (e.attributes.f.location = 1), + e + ); + }), + (e.createPickContourShader = function (t) { + var e = n(t, s, l, null, [ + { name: "uv", type: "vec4" }, + { name: "f", type: "float" }, + ]); + return ( + (e.attributes.uv.location = 0), + (e.attributes.f.location = 1), + e + ); + }); + }, + 3754: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.gl, + r = m(e), + n = b(e), + s = x(e), + l = _(e), + u = i(e), + c = a(e, [ + { + buffer: u, + size: 4, + stride: 40, + offset: 0, + }, + { + buffer: u, + size: 3, + stride: 40, + offset: 16, + }, + { + buffer: u, + size: 3, + stride: 40, + offset: 28, + }, + ]), + f = i(e), + h = a(e, [ + { + buffer: f, + size: 4, + stride: 20, + offset: 0, + }, + { + buffer: f, + size: 1, + stride: 20, + offset: 16, + }, + ]), + p = i(e), + d = a(e, [ + { buffer: p, size: 2, type: e.FLOAT }, + ]), + v = o(e, 1, 256, e.RGBA, e.UNSIGNED_BYTE); + (v.minFilter = e.LINEAR), + (v.magFilter = e.LINEAR); + var g = new M( + e, + [0, 0], + [ + [0, 0, 0], + [0, 0, 0], + ], + r, + n, + u, + c, + v, + s, + l, + f, + h, + p, + d, + [0, 0, 0], + ), + y = { levels: [[], [], []] }; + for (var w in t) y[w] = t[w]; + return ( + (y.colormap = y.colormap || "jet"), + g.update(y), + g + ); + }; + var n = r(2288), + i = r(5827), + a = r(2944), + o = r(8931), + s = r(5306), + l = r(9156), + u = r(7498), + c = r(7382), + f = r(5050), + h = r(4162), + p = r(104), + d = r(7437), + v = r(5070), + g = r(9144), + y = r(9054), + m = y.createShader, + x = y.createContourShader, + b = y.createPickShader, + _ = y.createPickContourShader, + w = [ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 1, + ], + T = [ + [0, 0], + [0, 1], + [1, 0], + [1, 1], + [1, 0], + [0, 1], + ], + k = [ + [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 A(t, e, r, n, i) { + (this.position = t), + (this.index = e), + (this.uv = r), + (this.level = n), + (this.dataCoordinate = i); + } + function M( + t, + e, + r, + n, + i, + a, + o, + l, + u, + c, + h, + p, + d, + v, + g, + ) { + (this.gl = t), + (this.shape = e), + (this.bounds = r), + (this.objectOffset = g), + (this.intensityBounds = []), + (this._shader = n), + (this._pickShader = i), + (this._coordinateBuffer = a), + (this._vao = o), + (this._colorMap = l), + (this._contourShader = u), + (this._contourPickShader = c), + (this._contourBuffer = h), + (this._contourVAO = p), + (this._contourOffsets = [[], [], []]), + (this._contourCounts = [[], [], []]), + (this._vertexCount = 0), + (this._pickResult = new A( + [0, 0, 0], + [0, 0], + [0, 0], + [0, 0, 0], + [0, 0, 0], + )), + (this._dynamicBuffer = d), + (this._dynamicVAO = v), + (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 = [ + [0.5, 0.5, 0.5, 1], + [0.5, 0.5, 0.5, 1], + [0.5, 0.5, 0.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 = [ + f(s.mallocFloat(1024), [0, 0]), + f(s.mallocFloat(1024), [0, 0]), + f(s.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.pixelRatio = 1), + (this.opacity = 1), + (this.lightPosition = [10, 1e4, 0]), + (this.ambientLight = 0.8), + (this.diffuseLight = 0.8), + (this.specularLight = 2), + (this.roughness = 0.5), + (this.fresnel = 1.5), + (this.vertexColor = 0), + (this.dirty = !0); + } + !(function () { + for (var t = 0; t < 3; ++t) { + var e = k[t], + r = (t + 2) % 3; + (e[((t + 1) % 3) + 0] = 1), + (e[r + 3] = 1), + (e[t + 6] = 1); + } + })(); + var S = M.prototype; + (S.genColormap = function (t, e) { + var r = !1, + n = c([ + l({ + colormap: t, + nshades: 256, + format: "rgba", + }).map(function (t, n) { + var i = e + ? (function (t, e) { + if (!e) return 1; + if (!e.length) return 1; + for ( + var r = 0; + r < e.length; + ++r + ) { + if (e.length < 2) return 1; + if (e[r][0] === t) + return e[r][1]; + if (e[r][0] > t && r > 0) { + var n = + (e[r][0] - t) / + (e[r][0] - e[r - 1][0]); + return ( + e[r][1] * (1 - n) + + n * e[r - 1][1] + ); + } + } + return 1; + })(n / 255, e) + : t[3]; + return ( + i < 1 && (r = !0), + [t[0], t[1], t[2], 255 * i] + ); + }), + ]); + return ( + u.divseq(n, 255), + (this.hasAlphaScale = r), + n + ); + }), + (S.isTransparent = function () { + return ( + this.opacity < 1 || this.hasAlphaScale + ); + }), + (S.isOpaque = function () { + return !this.isTransparent(); + }), + (S.pickSlots = 1), + (S.setPickBase = function (t) { + this.pickId = t; + }); + var E = [0, 0, 0], + L = { + showSurface: !1, + showContour: !1, + projections: [ + w.slice(), + w.slice(), + w.slice(), + ], + clipBounds: [ + [ + [0, 0, 0], + [0, 0, 0], + ], + [ + [0, 0, 0], + [0, 0, 0], + ], + [ + [0, 0, 0], + [0, 0, 0], + ], + ], + }; + function C(t, e) { + var r, + n, + i, + a = + (e.axes && e.axes.lastCubeProps.axis) || + E, + 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 = L.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]), + p(l, t.model, l); + var u = L.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 ( + (L.showSurface = o), + (L.showContour = s), + L + ); + } + var O = { + model: w, + view: w, + projection: w, + inverseModel: w.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, + objectOffset: [0, 0, 0], + kambient: 1, + kdiffuse: 1, + kspecular: 1, + lightPosition: [1e3, 1e3, 1e3], + eyePosition: [0, 0, 0], + roughness: 1, + fresnel: 1, + opacity: 1, + vertexColor: 0, + }, + P = w.slice(), + I = [1, 0, 0, 0, 1, 0, 0, 0, 1]; + function D(t, e) { + t = t || {}; + var r = this.gl; + r.disable(r.CULL_FACE), + this._colorMap.bind(0); + var n = O; + (n.model = t.model || w), + (n.view = t.view || w), + (n.projection = t.projection || w), + (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.objectOffset = this.objectOffset), + (n.contourColor = this.contourColor[0]), + (n.inverseModel = d( + 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 = I), + (n.vertexColor = this.vertexColor); + var s = P; + for ( + p(s, n.view, n.model), + p(s, n.projection, s), + d(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 = C(n, this); + if (c.showSurface) { + 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) { + var f = this._contourShader; + (n.kambient = 1), + (n.kdiffuse = 0), + (n.kspecular = 0), + (n.opacity = 1), + f.bind(), + (f.uniforms = n); + var h = this._contourVAO; + for (h.bind(), i = 0; i < 3; ++i) + for ( + f.uniforms.permutation = k[i], + r.lineWidth( + this.contourWidth[i] * + this.pixelRatio, + ), + o = 0; + o < this.contourLevels[i].length; + ++o + ) + o === this.highlightLevel[i] + ? ((f.uniforms.contourColor = + this.highlightColor[i]), + (f.uniforms.contourTint = + this.highlightTint[i])) + : (0 !== o && + o - 1 !== + this.highlightLevel[i]) || + ((f.uniforms.contourColor = + this.contourColor[i]), + (f.uniforms.contourTint = + this.contourTint[i])), + this._contourCounts[i][o] && + ((f.uniforms.height = + this.contourLevels[i][o]), + h.draw( + r.LINES, + this._contourCounts[i][o], + this._contourOffsets[i][o], + )); + for (i = 0; i < 3; ++i) + for ( + f.uniforms.model = c.projections[i], + f.uniforms.clipBounds = + c.clipBounds[i], + o = 0; + o < 3; + ++o + ) + if (this.contourProject[i][o]) { + (f.uniforms.permutation = k[o]), + r.lineWidth( + this.contourWidth[o] * + this.pixelRatio, + ); + for ( + var v = 0; + v < this.contourLevels[o].length; + ++v + ) + v === this.highlightLevel[o] + ? ((f.uniforms.contourColor = + this.highlightColor[o]), + (f.uniforms.contourTint = + this.highlightTint[o])) + : (0 !== v && + v - 1 !== + this.highlightLevel[o]) || + ((f.uniforms.contourColor = + this.contourColor[o]), + (f.uniforms.contourTint = + this.contourTint[o])), + this._contourCounts[o][v] && + ((f.uniforms.height = + this.contourLevels[o][v]), + h.draw( + r.LINES, + this._contourCounts[o][v], + this._contourOffsets[o][v], + )); + } + for ( + h.unbind(), + (h = this._dynamicVAO).bind(), + i = 0; + i < 3; + ++i + ) + if (0 !== this._dynamicCounts[i]) + for ( + f.uniforms.model = n.model, + f.uniforms.clipBounds = + n.clipBounds, + f.uniforms.permutation = k[i], + r.lineWidth( + this.dynamicWidth[i] * + this.pixelRatio, + ), + f.uniforms.contourColor = + this.dynamicColor[i], + f.uniforms.contourTint = + this.dynamicTint[i], + f.uniforms.height = + this.dynamicLevel[i], + h.draw( + r.LINES, + this._dynamicCounts[i], + this._dynamicOffsets[i], + ), + o = 0; + o < 3; + ++o + ) + this.contourProject[o][i] && + ((f.uniforms.model = + c.projections[o]), + (f.uniforms.clipBounds = + c.clipBounds[o]), + h.draw( + r.LINES, + this._dynamicCounts[i], + this._dynamicOffsets[i], + )); + h.unbind(); + } + } + (S.draw = function (t) { + return D.call(this, t, !1); + }), + (S.drawTransparent = function (t) { + return D.call(this, t, !0); + }); + var z = { + model: w, + view: w, + projection: w, + inverseModel: w, + clipBounds: [ + [0, 0, 0], + [0, 0, 0], + ], + height: 0, + shape: [0, 0], + pickId: 0, + lowerBound: [0, 0, 0], + upperBound: [0, 0, 0], + zOffset: 0, + objectOffset: [0, 0, 0], + permutation: [1, 0, 0, 0, 1, 0, 0, 0, 1], + lightPosition: [0, 0, 0], + eyePosition: [0, 0, 0], + }; + function R(t, e) { + return Array.isArray(t) + ? [e(t[0]), e(t[1]), e(t[2])] + : [e(t), e(t), e(t)]; + } + function F(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 B(t) { + if (Array.isArray(t)) { + if (Array.isArray(t)) + return [F(t[0]), F(t[1]), F(t[2])]; + var e = F(t); + return [e.slice(), e.slice(), e.slice()]; + } + } + (S.drawPick = function (t) { + t = t || {}; + var e = this.gl; + e.disable(e.CULL_FACE); + var r = z; + (r.model = t.model || w), + (r.view = t.view || w), + (r.projection = t.projection || w), + (r.shape = this._field[2].shape), + (r.pickId = this.pickId / 255), + (r.lowerBound = this.bounds[0]), + (r.upperBound = this.bounds[1]), + (r.objectOffset = this.objectOffset), + (r.permutation = I); + 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 = C(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] * + this.pixelRatio, + ), + s.uniforms.permutation = k[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 = k[a]), + e.lineWidth( + this.contourWidth[a] * + this.pixelRatio, + ); + 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(); + } + }), + (S.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 f = c ? a : 1 - a, h = 0; + h < 2; + ++h + ) + for ( + var p = i + c, + d = s + h, + g = f * (h ? l : 1 - l), + y = 0; + y < 3; + ++y + ) + u[y] += + this._field[y].get(p, d) * g; + for ( + var m = this._pickResult.level, x = 0; + x < 3; + ++x + ) + if ( + ((m[x] = v.le( + this.contourLevels[x], + u[x], + )), + m[x] < 0) + ) + this.contourLevels[x].length > 0 && + (m[x] = 0); + else if ( + m[x] < + this.contourLevels[x].length - 1 + ) { + var b = this.contourLevels[x][m[x]], + _ = this.contourLevels[x][m[x] + 1]; + Math.abs(b - u[x]) > + Math.abs(_ - u[x]) && (m[x] += 1); + } + for ( + r.index[0] = a < 0.5 ? i : i + 1, + r.index[1] = l < 0.5 ? s : s + 1, + r.uv[0] = n / e[0], + r.uv[1] = o / e[1], + y = 0; + y < 3; + ++y + ) + r.dataCoordinate[y] = this._field[ + y + ].get(r.index[0], r.index[1]); + return r; + }), + (S.padField = function (t, e) { + var r = e.shape.slice(), + n = t.shape.slice(); + u.assign(t.lo(1, 1).hi(r[0], r[1]), e), + u.assign( + t.lo(1).hi(r[0], 1), + e.hi(r[0], 1), + ), + u.assign( + t.lo(1, n[1] - 1).hi(r[0], 1), + e.lo(0, r[1] - 1).hi(r[0], 1), + ), + u.assign( + t.lo(0, 1).hi(1, r[1]), + e.hi(1), + ), + u.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), + ); + }), + (S.update = function (t) { + (t = t || {}), + (this.objectOffset = + t.objectOffset || this.objectOffset), + (this.dirty = !0), + "contourWidth" in t && + (this.contourWidth = R( + t.contourWidth, + Number, + )), + "showContour" in t && + (this.showContour = R( + t.showContour, + Boolean, + )), + "showSurface" in t && + (this.showSurface = !!t.showSurface), + "contourTint" in t && + (this.contourTint = R( + t.contourTint, + Boolean, + )), + "contourColor" in t && + (this.contourColor = B( + t.contourColor, + )), + "contourProject" in t && + (this.contourProject = R( + t.contourProject, + function (t) { + return R(t, Boolean); + }, + )), + "surfaceProject" in t && + (this.surfaceProject = + t.surfaceProject), + "dynamicColor" in t && + (this.dynamicColor = B( + t.dynamicColor, + )), + "dynamicTint" in t && + (this.dynamicTint = R( + t.dynamicTint, + Number, + )), + "dynamicWidth" in t && + (this.dynamicWidth = R( + t.dynamicWidth, + Number, + )), + "opacity" in t && + (this.opacity = t.opacity), + "opacityscale" in t && + (this.opacityscale = t.opacityscale), + "colorBounds" in t && + (this.colorBounds = t.colorBounds), + "vertexColor" in t && + (this.vertexColor = t.vertexColor + ? 1 + : 0), + "colormap" in t && + this._colorMap.setPixels( + this.genColormap( + t.colormap, + this.opacityscale, + ), + ); + 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 i = + (e.shape[0] + 2) * (e.shape[1] + 2); + i > this._field[2].data.length && + (s.freeFloat(this._field[2].data), + (this._field[2].data = s.mallocFloat( + n.nextPow2(i), + ))), + (this._field[2] = f( + this._field[2].data, + [e.shape[0] + 2, e.shape[1] + 2], + )), + this.padField(this._field[2], e), + (this.shape = e.shape.slice()); + for ( + var a = this.shape, o = 0; + o < 2; + ++o + ) + this._field[2].size > + this._field[o].data.length && + (s.freeFloat(this._field[o].data), + (this._field[o].data = + s.mallocFloat( + this._field[2].size, + ))), + (this._field[o] = f( + this._field[o].data, + [a[0] + 2, a[1] + 2], + )); + if (t.coords) { + var l = t.coords; + if ( + !Array.isArray(l) || + 3 !== l.length + ) + throw new Error( + "gl-surface: invalid coordinates for x/y", + ); + for (o = 0; o < 2; ++o) { + var u = l[o]; + for (y = 0; y < 2; ++y) + if (u.shape[y] !== a[y]) + throw new Error( + "gl-surface: coords have incorrect shape", + ); + this.padField(this._field[o], u); + } + } else if (t.ticks) { + var c = t.ticks; + if ( + !Array.isArray(c) || + 2 !== c.length + ) + throw new Error( + "gl-surface: invalid ticks", + ); + for (o = 0; o < 2; ++o) { + var p = c[o]; + if ( + ((Array.isArray(p) || p.length) && + (p = f(p)), + p.shape[0] !== a[o]) + ) + throw new Error( + "gl-surface: invalid tick length", + ); + var d = f(p.data, a); + (d.stride[o] = p.stride[0]), + (d.stride[1 ^ o] = 0), + this.padField(this._field[o], d); + } + } else { + for (o = 0; o < 2; ++o) { + var v = [0, 0]; + (v[o] = 1), + (this._field[o] = f( + this._field[o].data, + [a[0] + 2, a[1] + 2], + v, + 0, + )); + } + this._field[0].set(0, 0, 0); + for (var y = 0; y < a[0]; ++y) + this._field[0].set(y + 1, 0, y); + for ( + this._field[0].set( + a[0] + 1, + 0, + a[0] - 1, + ), + this._field[1].set(0, 0, 0), + y = 0; + y < a[1]; + ++y + ) + this._field[1].set(0, y + 1, y); + this._field[1].set( + 0, + a[1] + 1, + a[1] - 1, + ); + } + var m = this._field, + x = f( + s.mallocFloat(3 * m[2].size * 2), + [3, a[0] + 2, a[1] + 2, 2], + ); + for (o = 0; o < 3; ++o) + g(x.pick(o), m[o], "mirror"); + var b = f( + s.mallocFloat(3 * m[2].size), + [a[0] + 2, a[1] + 2, 3], + ); + for (o = 0; o < a[0] + 2; ++o) + for (y = 0; y < a[1] + 2; ++y) { + var _ = x.get(0, o, y, 0), + w = x.get(0, o, y, 1), + k = x.get(1, o, y, 0), + A = x.get(1, o, y, 1), + M = x.get(2, o, y, 0), + S = x.get(2, o, y, 1), + E = k * S - A * M, + L = M * w - S * _, + C = _ * A - w * k, + O = Math.sqrt( + E * E + L * L + C * C, + ); + O < 1e-8 + ? (O = Math.max( + Math.abs(E), + Math.abs(L), + Math.abs(C), + )) < 1e-8 + ? ((C = 1), + (L = E = 0), + (O = 1)) + : (O = 1 / O) + : (O = 1 / Math.sqrt(O)), + b.set(o, y, 0, E * O), + b.set(o, y, 1, L * O), + b.set(o, y, 2, C * O); + } + s.free(x.data); + var P = [1 / 0, 1 / 0, 1 / 0], + I = [-1 / 0, -1 / 0, -1 / 0], + D = 1 / 0, + z = -1 / 0, + F = (a[0] - 1) * (a[1] - 1) * 6, + N = s.mallocFloat(n.nextPow2(10 * F)), + j = 0, + U = 0; + for (o = 0; o < a[0] - 1; ++o) + t: for (y = 0; y < a[1] - 1; ++y) { + for (var V = 0; V < 2; ++V) + for (var H = 0; H < 2; ++H) + for (var q = 0; q < 3; ++q) { + var G = this._field[q].get( + 1 + o + V, + 1 + y + H, + ); + if (isNaN(G) || !isFinite(G)) + continue t; + } + for (q = 0; q < 6; ++q) { + var Z = o + T[q][0], + W = y + T[q][1], + Y = this._field[0].get( + Z + 1, + W + 1, + ), + X = this._field[1].get( + Z + 1, + W + 1, + ); + (G = this._field[2].get( + Z + 1, + W + 1, + )), + (E = b.get(Z + 1, W + 1, 0)), + (L = b.get(Z + 1, W + 1, 1)), + (C = b.get(Z + 1, W + 1, 2)), + t.intensity && + (J = t.intensity.get(Z, W)); + var J = t.intensity + ? t.intensity.get(Z, W) + : G + this.objectOffset[2]; + (N[j++] = Z), + (N[j++] = W), + (N[j++] = Y), + (N[j++] = X), + (N[j++] = G), + (N[j++] = 0), + (N[j++] = J), + (N[j++] = E), + (N[j++] = L), + (N[j++] = C), + (P[0] = Math.min( + P[0], + Y + this.objectOffset[0], + )), + (P[1] = Math.min( + P[1], + X + this.objectOffset[1], + )), + (P[2] = Math.min( + P[2], + G + this.objectOffset[2], + )), + (D = Math.min(D, J)), + (I[0] = Math.max( + I[0], + Y + this.objectOffset[0], + )), + (I[1] = Math.max( + I[1], + X + this.objectOffset[1], + )), + (I[2] = Math.max( + I[2], + G + this.objectOffset[2], + )), + (z = Math.max(z, J)), + (U += 1); + } + } + for ( + t.intensityBounds && + ((D = +t.intensityBounds[0]), + (z = +t.intensityBounds[1])), + o = 6; + o < j; + o += 10 + ) + N[o] = (N[o] - D) / (z - D); + (this._vertexCount = U), + this._coordinateBuffer.update( + N.subarray(0, j), + ), + s.freeFloat(N), + s.free(b.data), + (this.bounds = [P, I]), + (this.intensity = + t.intensity || this._field[2]), + (this.intensityBounds[0] === D && + this.intensityBounds[1] === z) || + (r = !0), + (this.intensityBounds = [D, z]); + } + if ("levels" in t) { + var K = t.levels; + for ( + K = Array.isArray(K[0]) + ? K.slice() + : [[], [], K], + o = 0; + o < 3; + ++o + ) + (K[o] = K[o].slice()), + K[o].sort(function (t, e) { + return t - e; + }); + for (o = 0; o < 3; ++o) + for (y = 0; y < K[o].length; ++y) + K[o][y] -= this.objectOffset[o]; + t: for (o = 0; o < 3; ++o) { + if ( + K[o].length !== + this.contourLevels[o].length + ) { + r = !0; + break; + } + for (y = 0; y < K[o].length; ++y) + if ( + K[o][y] !== + this.contourLevels[o][y] + ) { + r = !0; + break t; + } + } + this.contourLevels = K; + } + if (r) { + (m = this._field), (a = this.shape); + for (var $ = [], Q = 0; Q < 3; ++Q) { + var tt = this.contourLevels[Q], + et = [], + rt = [], + nt = [0, 0, 0]; + for (o = 0; o < tt.length; ++o) { + var it = h(this._field[Q], tt[o]); + et.push(($.length / 5) | 0), + (U = 0); + t: for ( + y = 0; + y < it.cells.length; + ++y + ) { + var at = it.cells[y]; + for (q = 0; q < 2; ++q) { + var ot = it.positions[at[q]], + st = ot[0], + lt = 0 | Math.floor(st), + ut = st - lt, + ct = ot[1], + ft = 0 | Math.floor(ct), + ht = ct - ft, + pt = !1; + e: for ( + var dt = 0; + dt < 3; + ++dt + ) { + nt[dt] = 0; + var vt = (Q + dt + 1) % 3; + for (V = 0; V < 2; ++V) { + var gt = V ? ut : 1 - ut; + for ( + Z = + 0 | + Math.min( + Math.max(lt + V, 0), + a[0], + ), + H = 0; + H < 2; + ++H + ) { + var yt = H ? ht : 1 - ht; + if ( + ((W = + 0 | + Math.min( + Math.max(ft + H, 0), + a[1], + )), + (G = + dt < 2 + ? this._field[ + vt + ].get(Z, W) + : (this.intensity.get( + Z, + W, + ) - + this + .intensityBounds[0]) / + (this + .intensityBounds[1] - + this + .intensityBounds[0])), + !isFinite(G) || + isNaN(G)) + ) { + pt = !0; + break e; + } + var mt = gt * yt; + nt[dt] += mt * G; + } + } + } + if (pt) { + if (q > 0) { + for ( + var xt = 0; + xt < 5; + ++xt + ) + $.pop(); + U -= 1; + } + continue t; + } + $.push( + nt[0], + nt[1], + ot[0], + ot[1], + nt[2], + ), + (U += 1); + } + } + rt.push(U); + } + (this._contourOffsets[Q] = et), + (this._contourCounts[Q] = rt); + } + var bt = s.mallocFloat($.length); + for (o = 0; o < $.length; ++o) + bt[o] = $[o]; + this._contourBuffer.update(bt), + s.freeFloat(bt); + } + }), + (S.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) + s.freeFloat(this._field[t].data); + }), + (S.highlight = function (t) { + var e, r; + if (!t) + return ( + (this._dynamicCounts = [0, 0, 0]), + (this.dyanamicLevel = [ + NaN, + NaN, + NaN, + ]), + void (this.highlightLevel = [ + -1, -1, -1, + ]) + ); + for (e = 0; e < 3; ++e) + this.enableHighlight[e] + ? (this.highlightLevel[e] = + t.level[e]) + : (this.highlightLevel[e] = -1); + for ( + r = this.snapToData + ? t.dataCoordinate + : t.position, + e = 0; + e < 3; + ++e + ) + r[e] -= this.objectOffset[e]; + if ( + (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 = s.mallocFloat(12 * i[0] * i[1]), + o = 0; + o < 3; + ++o + ) + if (this.enableDynamic[o]) { + this.dynamicLevel[o] = r[o]; + var l = (o + 1) % 3, + u = (o + 2) % 3, + c = this._field[o], + f = this._field[l], + p = this._field[u], + d = h(c, r[o]), + v = d.cells, + g = d.positions; + for ( + this._dynamicOffsets[o] = n, + e = 0; + e < v.length; + ++e + ) + for ( + var y = v[e], m = 0; + m < 2; + ++m + ) { + var x = g[y[m]], + b = +x[0], + _ = 0 | b, + w = 0 | Math.min(_ + 1, i[0]), + T = b - _, + k = 1 - T, + A = +x[1], + M = 0 | A, + S = 0 | Math.min(M + 1, i[1]), + E = A - M, + L = 1 - E, + C = k * L, + O = k * E, + P = T * L, + I = T * E, + D = + C * f.get(_, M) + + O * f.get(_, S) + + P * f.get(w, M) + + I * f.get(w, S), + z = + C * p.get(_, M) + + O * p.get(_, S) + + P * p.get(w, M) + + I * p.get(w, S); + if (isNaN(D) || isNaN(z)) { + m && (n -= 1); + break; + } + (a[2 * n + 0] = D), + (a[2 * n + 1] = z), + (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), + ), + s.freeFloat(a); + } + }); + }, + 8931: function (t, e, r) { + "use strict"; + var n = r(5050), + i = r(7498), + a = r(5306); + t.exports = function (t) { + if (arguments.length <= 1) + throw new Error( + "gl-texture2d: Missing arguments for texture2d constructor", + ); + if ( + (o || u(t), + "number" == typeof arguments[1]) + ) + return y( + t, + arguments[1], + arguments[2], + arguments[3] || t.RGBA, + arguments[4] || t.UNSIGNED_BYTE, + ); + if (Array.isArray(arguments[1])) + return y( + 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 = c(e) ? e : e.raw; + if (r) + return m( + 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 x(t, e); + } + throw new Error( + "gl-texture2d: Invalid arguments for texture2d constructor", + ); + }; + var o = null, + s = null, + l = null; + function u(t) { + (o = [ + t.LINEAR, + t.NEAREST_MIPMAP_LINEAR, + t.LINEAR_MIPMAP_NEAREST, + t.LINEAR_MIPMAP_NEAREST, + ]), + (s = [ + t.NEAREST, + t.LINEAR, + t.NEAREST_MIPMAP_NEAREST, + t.NEAREST_MIPMAP_LINEAR, + t.LINEAR_MIPMAP_NEAREST, + t.LINEAR_MIPMAP_LINEAR, + ]), + (l = [ + t.REPEAT, + t.CLAMP_TO_EDGE, + t.MIRRORED_REPEAT, + ]); + } + function c(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 f = function (t, e) { + i.muls(t, e, 255); + }; + function h(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 p(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 d = p.prototype; + function v(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 g(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 y(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 = g(t); + return ( + t.texImage2D( + t.TEXTURE_2D, + 0, + n, + e, + r, + 0, + n, + i, + null, + ), + new p(t, o, e, r, n, i) + ); + } + function m(t, e, r, n, i, a) { + var o = g(t); + return ( + t.texImage2D(t.TEXTURE_2D, 0, i, i, a, e), + new p(t, o, r, n, i, a) + ); + } + function x(t, e) { + var r = e.dtype, + o = e.shape.slice(), + s = t.getParameter(t.MAX_TEXTURE_SIZE); + if ( + o[0] < 0 || + o[0] > s || + o[1] < 0 || + o[1] > s + ) + throw new Error( + "gl-texture2d: Invalid texture size", + ); + var l = v(o, e.stride.slice()), + u = 0; + "float32" === r + ? (u = t.FLOAT) + : "float64" === r + ? ((u = t.FLOAT), + (l = !1), + (r = "float32")) + : "uint8" === r + ? (u = t.UNSIGNED_BYTE) + : ((u = t.UNSIGNED_BYTE), + (l = !1), + (r = "uint8")); + var c, + h, + d = 0; + if (2 === o.length) + (d = t.LUMINANCE), + (o = [o[0], o[1], 1]), + (e = n( + e.data, + o, + [e.stride[0], e.stride[1], 1], + e.offset, + )); + else { + if (3 !== o.length) + throw new Error( + "gl-texture2d: Invalid shape for texture", + ); + if (1 === o[2]) d = t.ALPHA; + else if (2 === o[2]) + d = t.LUMINANCE_ALPHA; + else if (3 === o[2]) d = t.RGB; + else { + if (4 !== o[2]) + throw new Error( + "gl-texture2d: Invalid shape for pixel coords", + ); + d = t.RGBA; + } + } + u !== t.FLOAT || + t.getExtension("OES_texture_float") || + ((u = t.UNSIGNED_BYTE), (l = !1)); + var y = e.size; + if (l) + c = + 0 === e.offset && e.data.length === y + ? e.data + : e.data.subarray( + e.offset, + e.offset + y, + ); + else { + var m = [o[2], o[2] * o[0], 1]; + h = a.malloc(y, r); + var x = n(h, o, m, 0); + ("float32" !== r && "float64" !== r) || + u !== t.UNSIGNED_BYTE + ? i.assign(x, e) + : f(x, e), + (c = h.subarray(0, y)); + } + var b = g(t); + return ( + t.texImage2D( + t.TEXTURE_2D, + 0, + d, + o[0], + o[1], + 0, + d, + u, + c, + ), + l || a.free(h), + new p(t, b, o[0], o[1], d, u) + ); + } + Object.defineProperties(d, { + minFilter: { + get: function () { + return this._minFilter; + }, + set: function (t) { + this.bind(); + var e = this.gl; + if ( + (this.type === e.FLOAT && + o.indexOf(t) >= 0 && + (e.getExtension( + "OES_texture_float_linear", + ) || + (t = e.NEAREST)), + s.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 && + o.indexOf(t) >= 0 && + (e.getExtension( + "OES_texture_float_linear", + ) || + (t = e.NEAREST)), + s.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(), l.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(), l.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 (l.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 ( + h(this, 0 | t[0], 0 | t[1]), + [0 | t[0], 0 | t[1]] + ); + }, + }, + width: { + get: function () { + return this._shape[0]; + }, + set: function (t) { + return ( + h(this, (t |= 0), this._shape[1]), t + ); + }, + }, + height: { + get: function () { + return this._shape[1]; + }, + set: function (t) { + return ( + (t |= 0), + h(this, this._shape[0], t), + t + ); + }, + }, + }), + (d.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 + ); + }), + (d.dispose = function () { + this.gl.deleteTexture(this.handle); + }), + (d.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); + }), + (d.setPixels = function (t, e, r, o) { + var s = this.gl; + this.bind(), + Array.isArray(e) + ? ((o = r), + (r = 0 | e[1]), + (e = 0 | e[0])) + : ((e = e || 0), (r = r || 0)), + (o = o || 0); + var l = c(t) ? t : t.raw; + if (l) + this._mipLevels.indexOf(o) < 0 + ? (s.texImage2D( + s.TEXTURE_2D, + 0, + this.format, + this.format, + this.type, + l, + ), + this._mipLevels.push(o)) + : s.texSubImage2D( + s.TEXTURE_2D, + o, + e, + r, + this.format, + this.type, + l, + ); + 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] >>> o || + r + t.shape[0] > + this._shape[0] >>> o || + e < 0 || + r < 0 + ) + throw new Error( + "gl-texture2d: Texture dimensions are out of bounds", + ); + !(function (t, e, r, o, s, l, u, c) { + var h = c.dtype, + p = c.shape.slice(); + if (p.length < 2 || p.length > 3) + throw new Error( + "gl-texture2d: Invalid ndarray, must be 2d or 3d", + ); + var d = 0, + g = 0, + y = v(p, c.stride.slice()); + if ( + ("float32" === h + ? (d = t.FLOAT) + : "float64" === h + ? ((d = t.FLOAT), + (y = !1), + (h = "float32")) + : "uint8" === h + ? (d = t.UNSIGNED_BYTE) + : ((d = t.UNSIGNED_BYTE), + (y = !1), + (h = "uint8")), + 2 === p.length) + ) + (g = t.LUMINANCE), + (p = [p[0], p[1], 1]), + (c = n( + c.data, + p, + [c.stride[0], c.stride[1], 1], + c.offset, + )); + else { + if (3 !== p.length) + throw new Error( + "gl-texture2d: Invalid shape for texture", + ); + if (1 === p[2]) g = t.ALPHA; + else if (2 === p[2]) + g = t.LUMINANCE_ALPHA; + else if (3 === p[2]) g = t.RGB; + else { + if (4 !== p[2]) + throw new Error( + "gl-texture2d: Invalid shape for pixel coords", + ); + g = t.RGBA; + } + p[2]; + } + if ( + ((g !== t.LUMINANCE && + g !== t.ALPHA) || + (s !== t.LUMINANCE && + s !== t.ALPHA) || + (g = s), + g !== s) + ) + throw new Error( + "gl-texture2d: Incompatible texture format for setPixels", + ); + var m = c.size, + x = u.indexOf(o) < 0; + if ((x && u.push(o), d === l && y)) + 0 === c.offset && + c.data.length === m + ? x + ? t.texImage2D( + t.TEXTURE_2D, + o, + s, + p[0], + p[1], + 0, + s, + l, + c.data, + ) + : t.texSubImage2D( + t.TEXTURE_2D, + o, + e, + r, + p[0], + p[1], + s, + l, + c.data, + ) + : x + ? t.texImage2D( + t.TEXTURE_2D, + o, + s, + p[0], + p[1], + 0, + s, + l, + c.data.subarray( + c.offset, + c.offset + m, + ), + ) + : t.texSubImage2D( + t.TEXTURE_2D, + o, + e, + r, + p[0], + p[1], + s, + l, + c.data.subarray( + c.offset, + c.offset + m, + ), + ); + else { + var b; + b = + l === t.FLOAT + ? a.mallocFloat32(m) + : a.mallocUint8(m); + var _ = n(b, p, [ + p[2], + p[2] * p[0], + 1, + ]); + d === t.FLOAT && + l === t.UNSIGNED_BYTE + ? f(_, c) + : i.assign(_, c), + x + ? t.texImage2D( + t.TEXTURE_2D, + o, + s, + p[0], + p[1], + 0, + s, + l, + b.subarray(0, m), + ) + : t.texSubImage2D( + t.TEXTURE_2D, + o, + e, + r, + p[0], + p[1], + s, + l, + b.subarray(0, m), + ), + l === t.FLOAT + ? a.freeFloat32(b) + : a.freeUint8(b); + } + })( + s, + e, + r, + o, + this.format, + this.type, + this._mipLevels, + t, + ); + } + }); + }, + 3056: function (t) { + "use strict"; + t.exports = 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, + f = a.offset || 0; + o.bind(), + t.enableVertexAttribArray(i), + t.vertexAttribPointer( + i, + s, + l, + u, + c, + f, + ); + } 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); + }; + }, + 7220: function (t, e, r) { + "use strict"; + var n = r(3056); + function i(t) { + (this.gl = t), + (this._elements = null), + (this._attributes = null), + (this._elementsType = t.UNSIGNED_SHORT); + } + (i.prototype.bind = function () { + n( + this.gl, + this._elements, + this._attributes, + ); + }), + (i.prototype.update = function (t, e, r) { + (this._elements = e), + (this._attributes = t), + (this._elementsType = + r || this.gl.UNSIGNED_SHORT); + }), + (i.prototype.dispose = function () {}), + (i.prototype.unbind = function () {}), + (i.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); + }), + (t.exports = function (t) { + return new i(t); + }); + }, + 3778: function (t, e, r) { + "use strict"; + var n = r(3056); + function i(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 a(t, e, r) { + (this.gl = t), + (this._ext = e), + (this.handle = r), + (this._attribs = []), + (this._useElements = !1), + (this._elementsType = t.UNSIGNED_SHORT); + } + (i.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, + ); + } + }), + (a.prototype.bind = function () { + this._ext.bindVertexArrayOES(this.handle); + for ( + var t = 0; + t < this._attribs.length; + ++t + ) + this._attribs[t].bind(this.gl); + }), + (a.prototype.unbind = function () { + this._ext.bindVertexArrayOES(null); + }), + (a.prototype.dispose = function () { + this._ext.deleteVertexArrayOES( + this.handle, + ); + }), + (a.prototype.update = function (t, e, r) { + if ( + (this.bind(), + n(this.gl, e, t), + this.unbind(), + (this._attribs.length = 0), + t) + ) + for (var a = 0; a < t.length; ++a) { + var o = t[a]; + "number" == typeof o + ? this._attribs.push(new i(a, 1, o)) + : Array.isArray(o) && + this._attribs.push( + new i( + a, + o.length, + o[0], + o[1], + o[2], + o[3], + ), + ); + } + (this._useElements = !!e), + (this._elementsType = + r || this.gl.UNSIGNED_SHORT); + }), + (a.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); + }), + (t.exports = function (t, e) { + return new a( + t, + e, + e.createVertexArrayOES(), + ); + }); + }, + 2944: function (t, e, r) { + "use strict"; + var n = r(3778), + i = r(7220); + function a(t) { + (this.bindVertexArrayOES = + t.bindVertexArray.bind(t)), + (this.createVertexArrayOES = + t.createVertexArray.bind(t)), + (this.deleteVertexArrayOES = + t.deleteVertexArray.bind(t)); + } + t.exports = function (t, e, r, o) { + var s, + l = t.createVertexArray + ? new a(t) + : t.getExtension( + "OES_vertex_array_object", + ); + return ( + (s = l ? n(t, l) : i(t)).update(e, r, o), + s + ); + }; + }, + 2598: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] + r[0]), + (t[1] = e[1] + r[1]), + (t[2] = e[2] + r[2]), + t + ); + }; + }, + 5879: function (t, e, r) { + t.exports = function (t, e) { + var r = n(t[0], t[1], t[2]), + o = n(e[0], e[1], e[2]); + i(r, r), i(o, o); + var s = a(r, o); + return s > 1 ? 0 : Math.acos(s); + }; + var n = r(5415), + i = r(899), + a = r(9305); + }, + 8827: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = Math.ceil(e[0])), + (t[1] = Math.ceil(e[1])), + (t[2] = Math.ceil(e[2])), + t + ); + }; + }, + 7622: function (t) { + t.exports = function (t) { + var e = new Float32Array(3); + return ( + (e[0] = t[0]), + (e[1] = t[1]), + (e[2] = t[2]), + e + ); + }; + }, + 8782: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = e[0]), + (t[1] = e[1]), + (t[2] = e[2]), + t + ); + }; + }, + 8501: function (t) { + t.exports = function () { + var t = new Float32Array(3); + return ( + (t[0] = 0), (t[1] = 0), (t[2] = 0), t + ); + }; + }, + 903: function (t) { + t.exports = 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 + ); + }; + }, + 5981: function (t, e, r) { + t.exports = r(8288); + }, + 8288: function (t) { + t.exports = function (t, e) { + var r = e[0] - t[0], + n = e[1] - t[1], + i = e[2] - t[2]; + return Math.sqrt(r * r + n * n + i * i); + }; + }, + 8629: function (t, e, r) { + t.exports = r(7979); + }, + 7979: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] / r[0]), + (t[1] = e[1] / r[1]), + (t[2] = e[2] / r[2]), + t + ); + }; + }, + 9305: function (t) { + t.exports = function (t, e) { + return ( + t[0] * e[0] + t[1] * e[1] + t[2] * e[2] + ); + }; + }, + 154: function (t) { + t.exports = 1e-6; + }, + 4932: function (t, e, r) { + t.exports = function (t, e) { + var r = t[0], + i = t[1], + a = t[2], + o = e[0], + s = e[1], + l = e[2]; + return ( + Math.abs(r - o) <= + n * + Math.max( + 1, + Math.abs(r), + Math.abs(o), + ) && + Math.abs(i - s) <= + n * + Math.max( + 1, + Math.abs(i), + Math.abs(s), + ) && + Math.abs(a - l) <= + n * + Math.max(1, Math.abs(a), Math.abs(l)) + ); + }; + var n = r(154); + }, + 5777: function (t) { + t.exports = function (t, e) { + return ( + t[0] === e[0] && + t[1] === e[1] && + t[2] === e[2] + ); + }; + }, + 3306: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = Math.floor(e[0])), + (t[1] = Math.floor(e[1])), + (t[2] = Math.floor(e[2])), + t + ); + }; + }, + 7447: function (t, e, r) { + t.exports = function (t, e, r, i, a, o) { + var s, l; + for ( + e || (e = 3), + r || (r = 0), + l = i + ? Math.min(i * e + r, t.length) + : t.length, + s = r; + s < l; + s += e + ) + (n[0] = t[s]), + (n[1] = t[s + 1]), + (n[2] = t[s + 2]), + a(n, n, o), + (t[s] = n[0]), + (t[s + 1] = n[1]), + (t[s + 2] = n[2]); + return t; + }; + var n = r(8501)(); + }, + 5415: function (t) { + t.exports = function (t, e, r) { + var n = new Float32Array(3); + return ( + (n[0] = t), (n[1] = e), (n[2] = r), n + ); + }; + }, + 2858: function (t, e, r) { + t.exports = { + EPSILON: r(154), + create: r(8501), + clone: r(7622), + angle: r(5879), + fromValues: r(5415), + copy: r(8782), + set: r(831), + equals: r(4932), + exactEquals: r(5777), + add: r(2598), + subtract: r(911), + sub: r(8921), + multiply: r(105), + mul: r(5733), + divide: r(7979), + div: r(8629), + min: r(3605), + max: r(1716), + floor: r(3306), + ceil: r(8827), + round: r(1624), + scale: r(5685), + scaleAndAdd: r(6722), + distance: r(8288), + dist: r(5981), + squaredDistance: r(6403), + sqrDist: r(5294), + length: r(4693), + len: r(1468), + squaredLength: r(4337), + sqrLen: r(3303), + negate: r(435), + inverse: r(2073), + normalize: r(899), + dot: r(9305), + cross: r(903), + lerp: r(1868), + random: r(6660), + transformMat4: r(3255), + transformMat3: r(9908), + transformQuat: r(6568), + rotateX: r(392), + rotateY: r(3222), + rotateZ: r(3388), + forEach: r(7447), + }; + }, + 2073: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = 1 / e[0]), + (t[1] = 1 / e[1]), + (t[2] = 1 / e[2]), + t + ); + }; + }, + 1468: function (t, e, r) { + t.exports = r(4693); + }, + 4693: function (t) { + t.exports = function (t) { + var e = t[0], + r = t[1], + n = t[2]; + return Math.sqrt(e * e + r * r + n * n); + }; + }, + 1868: function (t) { + t.exports = 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 + ); + }; + }, + 1716: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = Math.max(e[0], r[0])), + (t[1] = Math.max(e[1], r[1])), + (t[2] = Math.max(e[2], r[2])), + t + ); + }; + }, + 3605: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = Math.min(e[0], r[0])), + (t[1] = Math.min(e[1], r[1])), + (t[2] = Math.min(e[2], r[2])), + t + ); + }; + }, + 5733: function (t, e, r) { + t.exports = r(105); + }, + 105: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] * r[0]), + (t[1] = e[1] * r[1]), + (t[2] = e[2] * r[2]), + t + ); + }; + }, + 435: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = -e[0]), + (t[1] = -e[1]), + (t[2] = -e[2]), + t + ); + }; + }, + 899: function (t) { + t.exports = function (t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = r * r + n * n + i * i; + return ( + a > 0 && + ((a = 1 / Math.sqrt(a)), + (t[0] = e[0] * a), + (t[1] = e[1] * a), + (t[2] = e[2] * a)), + t + ); + }; + }, + 6660: function (t) { + t.exports = function (t, e) { + e = e || 1; + var r = 2 * Math.random() * Math.PI, + n = 2 * Math.random() - 1, + i = Math.sqrt(1 - n * n) * e; + return ( + (t[0] = Math.cos(r) * i), + (t[1] = Math.sin(r) * i), + (t[2] = n * e), + t + ); + }; + }, + 392: function (t) { + t.exports = function (t, e, r, n) { + var i = r[1], + a = r[2], + o = e[1] - i, + s = e[2] - a, + l = Math.sin(n), + u = Math.cos(n); + return ( + (t[0] = e[0]), + (t[1] = i + o * u - s * l), + (t[2] = a + o * l + s * u), + t + ); + }; + }, + 3222: function (t) { + t.exports = function (t, e, r, n) { + var i = r[0], + a = r[2], + o = e[0] - i, + s = e[2] - a, + l = Math.sin(n), + u = Math.cos(n); + return ( + (t[0] = i + s * l + o * u), + (t[1] = e[1]), + (t[2] = a + s * u - o * l), + t + ); + }; + }, + 3388: function (t) { + t.exports = function (t, e, r, n) { + var i = r[0], + a = r[1], + o = e[0] - i, + s = e[1] - a, + l = Math.sin(n), + u = Math.cos(n); + return ( + (t[0] = i + o * u - s * l), + (t[1] = a + o * l + s * u), + (t[2] = e[2]), + t + ); + }; + }, + 1624: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = Math.round(e[0])), + (t[1] = Math.round(e[1])), + (t[2] = Math.round(e[2])), + t + ); + }; + }, + 5685: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] * r), + (t[1] = e[1] * r), + (t[2] = e[2] * r), + t + ); + }; + }, + 6722: function (t) { + t.exports = function (t, e, r, n) { + return ( + (t[0] = e[0] + r[0] * n), + (t[1] = e[1] + r[1] * n), + (t[2] = e[2] + r[2] * n), + t + ); + }; + }, + 831: function (t) { + t.exports = function (t, e, r, n) { + return ( + (t[0] = e), (t[1] = r), (t[2] = n), t + ); + }; + }, + 5294: function (t, e, r) { + t.exports = r(6403); + }, + 3303: function (t, e, r) { + t.exports = r(4337); + }, + 6403: function (t) { + t.exports = function (t, e) { + var r = e[0] - t[0], + n = e[1] - t[1], + i = e[2] - t[2]; + return r * r + n * n + i * i; + }; + }, + 4337: function (t) { + t.exports = function (t) { + var e = t[0], + r = t[1], + n = t[2]; + return e * e + r * r + n * n; + }; + }, + 8921: function (t, e, r) { + t.exports = r(911); + }, + 911: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] - r[0]), + (t[1] = e[1] - r[1]), + (t[2] = e[2] - r[2]), + t + ); + }; + }, + 9908: function (t) { + t.exports = 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 + ); + }; + }, + 3255: function (t) { + t.exports = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = + r[3] * n + r[7] * i + r[11] * a + r[15]; + return ( + (o = o || 1), + (t[0] = + (r[0] * n + + r[4] * i + + r[8] * a + + r[12]) / + o), + (t[1] = + (r[1] * n + + r[5] * i + + r[9] * a + + r[13]) / + o), + (t[2] = + (r[2] * n + + r[6] * i + + r[10] * a + + r[14]) / + o), + t + ); + }; + }, + 6568: function (t) { + t.exports = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = r[0], + s = r[1], + l = r[2], + u = r[3], + c = u * n + s * a - l * i, + f = u * i + l * n - o * a, + h = u * a + o * i - s * n, + p = -o * n - s * i - l * a; + return ( + (t[0] = c * u + p * -o + f * -l - h * -s), + (t[1] = f * u + p * -s + h * -o - c * -l), + (t[2] = h * u + p * -l + c * -s - f * -o), + t + ); + }; + }, + 3433: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] + r[0]), + (t[1] = e[1] + r[1]), + (t[2] = e[2] + r[2]), + (t[3] = e[3] + r[3]), + t + ); + }; + }, + 1413: function (t) { + t.exports = function (t) { + var e = new Float32Array(4); + return ( + (e[0] = t[0]), + (e[1] = t[1]), + (e[2] = t[2]), + (e[3] = t[3]), + e + ); + }; + }, + 3470: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = e[0]), + (t[1] = e[1]), + (t[2] = e[2]), + (t[3] = e[3]), + t + ); + }; + }, + 5313: function (t) { + t.exports = function () { + var t = new Float32Array(4); + return ( + (t[0] = 0), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + t + ); + }; + }, + 5446: function (t) { + t.exports = function (t, e) { + var r = e[0] - t[0], + n = e[1] - t[1], + i = e[2] - t[2], + a = e[3] - t[3]; + return Math.sqrt( + r * r + n * n + i * i + a * a, + ); + }; + }, + 205: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] / r[0]), + (t[1] = e[1] / r[1]), + (t[2] = e[2] / r[2]), + (t[3] = e[3] / r[3]), + t + ); + }; + }, + 4242: function (t) { + t.exports = function (t, e) { + return ( + t[0] * e[0] + + t[1] * e[1] + + t[2] * e[2] + + t[3] * e[3] + ); + }; + }, + 5680: function (t) { + t.exports = function (t, e, r, n) { + var i = new Float32Array(4); + return ( + (i[0] = t), + (i[1] = e), + (i[2] = r), + (i[3] = n), + i + ); + }; + }, + 4020: function (t, e, r) { + t.exports = { + create: r(5313), + clone: r(1413), + fromValues: r(5680), + copy: r(3470), + set: r(6453), + add: r(3433), + subtract: r(2705), + multiply: r(746), + divide: r(205), + min: r(2170), + max: r(3030), + scale: r(5510), + scaleAndAdd: r(4224), + distance: r(5446), + squaredDistance: r(1542), + length: r(8177), + squaredLength: r(9037), + negate: r(6459), + inverse: r(8057), + normalize: r(381), + dot: r(4242), + lerp: r(8746), + random: r(3770), + transformMat4: r(6342), + transformQuat: r(5022), + }; + }, + 8057: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = 1 / e[0]), + (t[1] = 1 / e[1]), + (t[2] = 1 / e[2]), + (t[3] = 1 / e[3]), + t + ); + }; + }, + 8177: function (t) { + t.exports = function (t) { + var e = t[0], + r = t[1], + n = t[2], + i = t[3]; + return Math.sqrt( + e * e + r * r + n * n + i * i, + ); + }; + }, + 8746: function (t) { + t.exports = function (t, e, r, n) { + var i = e[0], + a = e[1], + o = e[2], + s = e[3]; + return ( + (t[0] = i + n * (r[0] - i)), + (t[1] = a + n * (r[1] - a)), + (t[2] = o + n * (r[2] - o)), + (t[3] = s + n * (r[3] - s)), + t + ); + }; + }, + 3030: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = Math.max(e[0], r[0])), + (t[1] = Math.max(e[1], r[1])), + (t[2] = Math.max(e[2], r[2])), + (t[3] = Math.max(e[3], r[3])), + t + ); + }; + }, + 2170: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = Math.min(e[0], r[0])), + (t[1] = Math.min(e[1], r[1])), + (t[2] = Math.min(e[2], r[2])), + (t[3] = Math.min(e[3], r[3])), + t + ); + }; + }, + 746: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] * r[0]), + (t[1] = e[1] * r[1]), + (t[2] = e[2] * r[2]), + (t[3] = e[3] * r[3]), + t + ); + }; + }, + 6459: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = -e[0]), + (t[1] = -e[1]), + (t[2] = -e[2]), + (t[3] = -e[3]), + t + ); + }; + }, + 381: function (t) { + t.exports = function (t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = e[3], + o = r * r + n * n + i * i + a * a; + return ( + o > 0 && + ((o = 1 / Math.sqrt(o)), + (t[0] = r * o), + (t[1] = n * o), + (t[2] = i * o), + (t[3] = a * o)), + t + ); + }; + }, + 3770: function (t, e, r) { + var n = r(381), + i = r(5510); + t.exports = function (t, e) { + return ( + (e = e || 1), + (t[0] = Math.random()), + (t[1] = Math.random()), + (t[2] = Math.random()), + (t[3] = Math.random()), + n(t, t), + i(t, t, e), + t + ); + }; + }, + 5510: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] * r), + (t[1] = e[1] * r), + (t[2] = e[2] * r), + (t[3] = e[3] * r), + t + ); + }; + }, + 4224: function (t) { + t.exports = function (t, e, r, n) { + return ( + (t[0] = e[0] + r[0] * n), + (t[1] = e[1] + r[1] * n), + (t[2] = e[2] + r[2] * n), + (t[3] = e[3] + r[3] * n), + t + ); + }; + }, + 6453: function (t) { + t.exports = function (t, e, r, n, i) { + return ( + (t[0] = e), + (t[1] = r), + (t[2] = n), + (t[3] = i), + t + ); + }; + }, + 1542: function (t) { + t.exports = function (t, e) { + var r = e[0] - t[0], + n = e[1] - t[1], + i = e[2] - t[2], + a = e[3] - t[3]; + return r * r + n * n + i * i + a * a; + }; + }, + 9037: function (t) { + t.exports = function (t) { + var e = t[0], + r = t[1], + n = t[2], + i = t[3]; + return e * e + r * r + n * n + i * i; + }; + }, + 2705: function (t) { + t.exports = function (t, e, r) { + return ( + (t[0] = e[0] - r[0]), + (t[1] = e[1] - r[1]), + (t[2] = e[2] - r[2]), + (t[3] = e[3] - r[3]), + t + ); + }; + }, + 6342: function (t) { + t.exports = 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 + ); + }; + }, + 5022: function (t) { + t.exports = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = r[0], + s = r[1], + l = r[2], + u = r[3], + c = u * n + s * a - l * i, + f = u * i + l * n - o * a, + h = u * a + o * i - s * n, + p = -o * n - s * i - l * a; + return ( + (t[0] = c * u + p * -o + f * -l - h * -s), + (t[1] = f * u + p * -s + h * -o - c * -l), + (t[2] = h * u + p * -l + c * -s - f * -o), + (t[3] = e[3]), + t + ); + }; + }, + 9365: function (t, e, r) { + var n = r(8096), + i = r(7896); + t.exports = function (t) { + for ( + var e = Array.isArray(t) ? t : n(t), + r = 0; + r < e.length; + r++ + ) { + var a = e[r]; + if ("preprocessor" === a.type) { + var o = a.data.match( + /\#define\s+SHADER_NAME(_B64)?\s+(.+)$/, + ); + if (o && o[2]) { + var s = o[1], + l = o[2]; + return (s ? i(l) : l).trim(); + } + } + } + }; + }, + 3193: function (t, e, r) { + t.exports = function (t) { + var e, + r, + f, + h = 0, + p = 0, + d = l, + v = [], + g = [], + y = 1, + m = 0, + x = 0, + b = !1, + _ = !1, + w = "", + T = a, + k = n; + "300 es" === (t = t || {}).version && + ((T = s), (k = o)); + var A = {}, + M = {}; + for (h = 0; h < T.length; h++) A[T[h]] = !0; + for (h = 0; h < k.length; h++) M[k[h]] = !0; + return function (t) { + return ( + (g = []), + null !== t + ? (function (t) { + var r; + for ( + h = 0, + t.toString && + (t = t.toString()), + w += t.replace(/\r\n/g, "\n"), + f = w.length; + (e = w[h]), h < f; + + ) { + switch (((r = h), d)) { + case 0: + h = O(); + break; + case 1: + case 2: + h = C(); + break; + case 3: + h = P(); + break; + case 4: + h = z(); + break; + case 11: + h = D(); + break; + case 5: + h = R(); + break; + case u: + h = F(); + break; + case 9: + h = L(); + break; + case l: + h = E(); + } + r !== h && + ("\n" === w[r] + ? ((m = 0), ++y) + : ++m); + } + return ( + (p += h), (w = w.slice(h)), g + ); + })(t) + : (v.length && S(v.join("")), + (d = 10), + S("(eof)"), + g) + ); + }; + function S(t) { + t.length && + g.push({ + type: c[d], + data: t, + position: x, + line: y, + column: m, + }); + } + function E() { + return ( + (v = v.length ? [] : v), + "/" === r && "*" === e + ? ((x = p + h - 1), + (d = 0), + (r = e), + h + 1) + : "/" === r && "/" === e + ? ((x = p + h - 1), + (d = 1), + (r = e), + h + 1) + : "#" === e + ? ((d = 2), (x = p + h), h) + : /\s/.test(e) + ? ((d = 9), (x = p + h), h) + : ((b = /\d/.test(e)), + (_ = /[^\w_]/.test(e)), + (x = p + h), + (d = b ? 4 : _ ? 3 : u), + h) + ); + } + function L() { + return /[^\s]/g.test(e) + ? (S(v.join("")), (d = l), h) + : (v.push(e), (r = e), h + 1); + } + function C() { + return ("\r" !== e && "\n" !== e) || + "\\" === r + ? (v.push(e), (r = e), h + 1) + : (S(v.join("")), (d = l), h); + } + function O() { + return "/" === e && "*" === r + ? (v.push(e), + S(v.join("")), + (d = l), + h + 1) + : (v.push(e), (r = e), h + 1); + } + function P() { + if ("." === r && /\d/.test(e)) + return (d = 5), h; + if ("/" === r && "*" === e) + return (d = 0), h; + if ("/" === r && "/" === e) + return (d = 1), h; + if ("." === e && v.length) { + for (; I(v); ); + return (d = 5), h; + } + if (";" === e || ")" === e || "(" === e) { + if (v.length) for (; I(v); ); + return S(e), (d = l), h + 1; + } + var t = 2 === v.length && "=" !== e; + if (/[\w_\d\s]/.test(e) || t) { + for (; I(v); ); + return (d = l), h; + } + return v.push(e), (r = e), h + 1; + } + function I(t) { + for (var e, r, n = 0; ; ) { + if ( + ((e = i.indexOf( + t.slice(0, t.length + n).join(""), + )), + (r = i[e]), + -1 === e) + ) { + if (n-- + t.length > 0) continue; + r = t.slice(0, 1).join(""); + } + return ( + S(r), + (x += r.length), + (v = v.slice(r.length)).length + ); + } + } + function D() { + return /[^a-fA-F0-9]/.test(e) + ? (S(v.join("")), (d = l), h) + : (v.push(e), (r = e), h + 1); + } + function z() { + return "." === e || /[eE]/.test(e) + ? (v.push(e), (d = 5), (r = e), h + 1) + : "x" === e && + 1 === v.length && + "0" === v[0] + ? ((d = 11), v.push(e), (r = e), h + 1) + : /[^\d]/.test(e) + ? (S(v.join("")), (d = l), h) + : (v.push(e), (r = e), h + 1); + } + function R() { + return ( + "f" === e && + (v.push(e), (r = e), (h += 1)), + /[eE]/.test(e) + ? (v.push(e), (r = e), h + 1) + : (("-" !== e && "+" !== e) || + !/[eE]/.test(r)) && + /[^\d]/.test(e) + ? (S(v.join("")), (d = l), h) + : (v.push(e), (r = e), h + 1) + ); + } + function F() { + if (/[^\d\w_]/.test(e)) { + var t = v.join(""); + return ( + (d = M[t] ? 8 : A[t] ? 7 : 6), + S(v.join("")), + (d = l), + h + ); + } + return v.push(e), (r = e), h + 1; + } + }; + var n = r(399), + i = r(9746), + a = r(9525), + o = r(9458), + s = r(3585), + l = 999, + u = 9999, + c = [ + "block-comment", + "line-comment", + "preprocessor", + "operator", + "integer", + "float", + "ident", + "builtin", + "keyword", + "whitespace", + "eof", + "integer", + ]; + }, + 3585: function (t, e, r) { + var n = r(9525); + (n = n.slice().filter(function (t) { + return !/^(gl\_|texture)/.test(t); + })), + (t.exports = n.concat([ + "gl_VertexID", + "gl_InstanceID", + "gl_Position", + "gl_PointSize", + "gl_FragCoord", + "gl_FrontFacing", + "gl_FragDepth", + "gl_PointCoord", + "gl_MaxVertexAttribs", + "gl_MaxVertexUniformVectors", + "gl_MaxVertexOutputVectors", + "gl_MaxFragmentInputVectors", + "gl_MaxVertexTextureImageUnits", + "gl_MaxCombinedTextureImageUnits", + "gl_MaxTextureImageUnits", + "gl_MaxFragmentUniformVectors", + "gl_MaxDrawBuffers", + "gl_MinProgramTexelOffset", + "gl_MaxProgramTexelOffset", + "gl_DepthRangeParameters", + "gl_DepthRange", + "trunc", + "round", + "roundEven", + "isnan", + "isinf", + "floatBitsToInt", + "floatBitsToUint", + "intBitsToFloat", + "uintBitsToFloat", + "packSnorm2x16", + "unpackSnorm2x16", + "packUnorm2x16", + "unpackUnorm2x16", + "packHalf2x16", + "unpackHalf2x16", + "outerProduct", + "transpose", + "determinant", + "inverse", + "texture", + "textureSize", + "textureProj", + "textureLod", + "textureOffset", + "texelFetch", + "texelFetchOffset", + "textureProjOffset", + "textureLodOffset", + "textureProjLod", + "textureProjLodOffset", + "textureGrad", + "textureGradOffset", + "textureProjGrad", + "textureProjGradOffset", + ])); + }, + 9525: function (t) { + t.exports = [ + "abs", + "acos", + "all", + "any", + "asin", + "atan", + "ceil", + "clamp", + "cos", + "cross", + "dFdx", + "dFdy", + "degrees", + "distance", + "dot", + "equal", + "exp", + "exp2", + "faceforward", + "floor", + "fract", + "gl_BackColor", + "gl_BackLightModelProduct", + "gl_BackLightProduct", + "gl_BackMaterial", + "gl_BackSecondaryColor", + "gl_ClipPlane", + "gl_ClipVertex", + "gl_Color", + "gl_DepthRange", + "gl_DepthRangeParameters", + "gl_EyePlaneQ", + "gl_EyePlaneR", + "gl_EyePlaneS", + "gl_EyePlaneT", + "gl_Fog", + "gl_FogCoord", + "gl_FogFragCoord", + "gl_FogParameters", + "gl_FragColor", + "gl_FragCoord", + "gl_FragData", + "gl_FragDepth", + "gl_FragDepthEXT", + "gl_FrontColor", + "gl_FrontFacing", + "gl_FrontLightModelProduct", + "gl_FrontLightProduct", + "gl_FrontMaterial", + "gl_FrontSecondaryColor", + "gl_LightModel", + "gl_LightModelParameters", + "gl_LightModelProducts", + "gl_LightProducts", + "gl_LightSource", + "gl_LightSourceParameters", + "gl_MaterialParameters", + "gl_MaxClipPlanes", + "gl_MaxCombinedTextureImageUnits", + "gl_MaxDrawBuffers", + "gl_MaxFragmentUniformComponents", + "gl_MaxLights", + "gl_MaxTextureCoords", + "gl_MaxTextureImageUnits", + "gl_MaxTextureUnits", + "gl_MaxVaryingFloats", + "gl_MaxVertexAttribs", + "gl_MaxVertexTextureImageUnits", + "gl_MaxVertexUniformComponents", + "gl_ModelViewMatrix", + "gl_ModelViewMatrixInverse", + "gl_ModelViewMatrixInverseTranspose", + "gl_ModelViewMatrixTranspose", + "gl_ModelViewProjectionMatrix", + "gl_ModelViewProjectionMatrixInverse", + "gl_ModelViewProjectionMatrixInverseTranspose", + "gl_ModelViewProjectionMatrixTranspose", + "gl_MultiTexCoord0", + "gl_MultiTexCoord1", + "gl_MultiTexCoord2", + "gl_MultiTexCoord3", + "gl_MultiTexCoord4", + "gl_MultiTexCoord5", + "gl_MultiTexCoord6", + "gl_MultiTexCoord7", + "gl_Normal", + "gl_NormalMatrix", + "gl_NormalScale", + "gl_ObjectPlaneQ", + "gl_ObjectPlaneR", + "gl_ObjectPlaneS", + "gl_ObjectPlaneT", + "gl_Point", + "gl_PointCoord", + "gl_PointParameters", + "gl_PointSize", + "gl_Position", + "gl_ProjectionMatrix", + "gl_ProjectionMatrixInverse", + "gl_ProjectionMatrixInverseTranspose", + "gl_ProjectionMatrixTranspose", + "gl_SecondaryColor", + "gl_TexCoord", + "gl_TextureEnvColor", + "gl_TextureMatrix", + "gl_TextureMatrixInverse", + "gl_TextureMatrixInverseTranspose", + "gl_TextureMatrixTranspose", + "gl_Vertex", + "greaterThan", + "greaterThanEqual", + "inversesqrt", + "length", + "lessThan", + "lessThanEqual", + "log", + "log2", + "matrixCompMult", + "max", + "min", + "mix", + "mod", + "normalize", + "not", + "notEqual", + "pow", + "radians", + "reflect", + "refract", + "sign", + "sin", + "smoothstep", + "sqrt", + "step", + "tan", + "texture2D", + "texture2DLod", + "texture2DProj", + "texture2DProjLod", + "textureCube", + "textureCubeLod", + "texture2DLodEXT", + "texture2DProjLodEXT", + "textureCubeLodEXT", + "texture2DGradEXT", + "texture2DProjGradEXT", + "textureCubeGradEXT", + ]; + }, + 9458: function (t, e, r) { + var n = r(399); + t.exports = n + .slice() + .concat([ + "layout", + "centroid", + "smooth", + "case", + "mat2x2", + "mat2x3", + "mat2x4", + "mat3x2", + "mat3x3", + "mat3x4", + "mat4x2", + "mat4x3", + "mat4x4", + "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", + ]); + }, + 399: function (t) { + t.exports = [ + "precision", + "highp", + "mediump", + "lowp", + "attribute", + "const", + "uniform", + "varying", + "break", + "continue", + "do", + "for", + "while", + "if", + "else", + "in", + "out", + "inout", + "float", + "int", + "uint", + "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", + ]; + }, + 9746: function (t) { + t.exports = [ + "<<=", + ">>=", + "++", + "--", + "<<", + ">>", + "<=", + ">=", + "==", + "!=", + "&&", + "||", + "+=", + "-=", + "*=", + "/=", + "%=", + "&=", + "^^", + "^=", + "|=", + "(", + ")", + "[", + "]", + ".", + "!", + "~", + "*", + "/", + "%", + "+", + "-", + "<", + ">", + "&", + "^", + "|", + "?", + ":", + "=", + ",", + ";", + "{", + "}", + ]; + }, + 8096: function (t, e, r) { + var n = r(3193); + t.exports = function (t, e) { + var r = n(e), + i = []; + return (i = i.concat(r(t))).concat(r(null)); + }; + }, + 6832: function (t) { + t.exports = 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(""); + }; + }, + 5233: function (t, e, r) { + "use strict"; + var n = r(4846); + t.exports = + n && + (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; + })(); + }, + 2183: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + var r = t.length; + if (0 === r) + throw new Error( + "Must have at least d+1 points", + ); + var i = t[0].length; + if (r <= i) + throw new Error( + "Must input at least d+1 points", + ); + var o = t.slice(0, i + 1), + s = n.apply(void 0, o); + if (0 === s) + throw new Error( + "Input not in general position", + ); + for ( + var l = new Array(i + 1), c = 0; + c <= i; + ++c + ) + l[c] = c; + s < 0 && ((l[0] = 1), (l[1] = 0)); + var f = new a(l, new Array(i + 1), !1), + h = f.adjacent, + p = new Array(i + 2); + for (c = 0; c <= i; ++c) { + for ( + var d = l.slice(), v = 0; + v <= i; + ++v + ) + v === c && (d[v] = -1); + var g = d[0]; + (d[0] = d[1]), (d[1] = g); + var y = new a(d, new Array(i + 1), !0); + (h[c] = y), (p[c] = y); + } + for (p[i + 1] = f, c = 0; c <= i; ++c) { + d = h[c].vertices; + var m = h[c].adjacent; + for (v = 0; v <= i; ++v) { + var x = d[v]; + if (x < 0) m[v] = f; + else + for (var b = 0; b <= i; ++b) + h[b].vertices.indexOf(x) < 0 && + (m[v] = h[b]); + } + } + var _ = new u(i, o, p), + w = !!e; + for (c = i + 1; c < r; ++c) + _.insert(t[c], w); + return _.boundary(); + }; + var n = r(417), + i = r(8211).H; + function a(t, e, r) { + (this.vertices = t), + (this.adjacent = e), + (this.boundary = r), + (this.lastVisited = -1); + } + function o(t, e, r) { + (this.vertices = t), + (this.cell = e), + (this.index = r); + } + function s(t, e) { + return i(t.vertices, e.vertices); + } + a.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 l = []; + function u(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 i = 0; i <= t; ++i) + this.tuple[i] = this.vertices[i]; + var a, + o = l[t]; + o || + (o = l[t] = + ((a = n[t + 1]) || (a = n), + (function (t) { + return function () { + var e = this.tuple; + return t.apply(this, e); + }; + })(a))), + (this.orient = o); + } + var c = u.prototype; + (c.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; ) + for ( + var s = (t = o.pop()).adjacent, l = 0; + l <= r; + ++l + ) { + var u = s[l]; + if ( + u.boundary && + !(u.lastVisited <= -n) + ) { + for ( + var c = u.vertices, f = 0; + f <= r; + ++f + ) { + var h = c[f]; + i[f] = h < 0 ? e : a[h]; + } + var p = this.orient(); + if (p > 0) return u; + (u.lastVisited = -n), + 0 === p && o.push(u); + } + } + return null; + }), + (c.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]]; + for ( + s.lastVisited = r, c = 0; + c <= n; + ++c + ) { + var f = u[c]; + if (!(f.lastVisited >= r)) { + var h = a[c]; + a[c] = t; + var p = this.orient(); + if (((a[c] = h), p < 0)) { + s = f; + continue t; + } + f.boundary + ? (f.lastVisited = -r) + : (f.lastVisited = r); + } + } + return; + } + return s; + }), + (c.addPeaks = function (t, e) { + var r = this.vertices.length - 1, + n = this.dimension, + i = this.vertices, + l = this.tuple, + u = this.interior, + c = this.simplices, + f = [e]; + (e.lastVisited = r), + (e.vertices[e.vertices.indexOf(-1)] = + r), + (e.boundary = !1), + u.push(e); + for (var h = []; f.length > 0; ) { + var p = (e = f.pop()).vertices, + d = e.adjacent, + v = p.indexOf(r); + if (!(v < 0)) + for (var g = 0; g <= n; ++g) + if (g !== v) { + var y = d[g]; + if ( + y.boundary && + !(y.lastVisited >= r) + ) { + var m = y.vertices; + if (y.lastVisited !== -r) { + for ( + var x = 0, b = 0; + b <= n; + ++b + ) + m[b] < 0 + ? ((x = b), (l[b] = t)) + : (l[b] = i[m[b]]); + if (this.orient() > 0) { + (m[x] = r), + (y.boundary = !1), + u.push(y), + f.push(y), + (y.lastVisited = r); + continue; + } + y.lastVisited = -r; + } + var _ = y.adjacent, + w = p.slice(), + T = d.slice(), + k = new a(w, T, !0); + c.push(k); + var A = _.indexOf(e); + if (!(A < 0)) + for ( + _[A] = k, + T[v] = y, + w[g] = -1, + T[g] = e, + d[g] = k, + k.flip(), + b = 0; + b <= n; + ++b + ) { + var M = w[b]; + if (!(M < 0 || M === r)) { + for ( + var S = new Array( + n - 1, + ), + E = 0, + L = 0; + L <= n; + ++L + ) { + var C = w[L]; + C < 0 || + L === b || + (S[E++] = C); + } + h.push(new o(S, k, b)); + } + } + } + } + } + for ( + h.sort(s), g = 0; + g + 1 < h.length; + g += 2 + ) { + var O = h[g], + P = h[g + 1], + I = O.index, + D = P.index; + I < 0 || + D < 0 || + ((O.cell.adjacent[O.index] = P.cell), + (P.cell.adjacent[P.index] = O.cell)); + } + }), + (c.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)); + } + }), + (c.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 f = o[0]; + (o[0] = o[1]), (o[1] = f); + } + e.push(o); + } + } + return e; + }); + }, + 9014: function (t, e, r) { + "use strict"; + var n = r(5070); + function i(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); + } + t.exports = function (t) { + return t && 0 !== t.length + ? new y(g(t)) + : new y(null); + }; + var a = i.prototype; + function o(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 s(t, e) { + var r = g(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 l(t, e) { + var r = t.intervals([]); + r.push(e), s(t, r); + } + function u(t, e) { + var r = t.intervals([]), + n = r.indexOf(e); + return n < 0 + ? 0 + : (r.splice(n, 1), s(t, r), 1); + } + function c(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 f(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 h(t, e) { + for (var r = 0; r < t.length; ++r) { + var n = e(t[r]); + if (n) return n; + } + } + function p(t, e) { + return t - e; + } + function d(t, e) { + return t[0] - e[0] || t[1] - e[1]; + } + function v(t, e) { + return t[1] - e[1] || t[0] - e[0]; + } + function g(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(p); + var n = e[e.length >> 1], + a = [], + o = [], + s = []; + for (r = 0; r < t.length; ++r) { + var l = t[r]; + l[1] < n + ? a.push(l) + : n < l[0] + ? o.push(l) + : s.push(l); + } + var u = s, + c = s.slice(); + return ( + u.sort(d), + c.sort(v), + new i(n, g(a), g(o), u, c) + ); + } + function y(t) { + this.root = t; + } + (a.intervals = function (t) { + return ( + t.push.apply(t, this.leftPoints), + this.left && this.left.intervals(t), + this.right && this.right.intervals(t), + t + ); + }), + (a.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) + ? l(this, t) + : this.left.insert(t) + : (this.left = g([t])); + else if (t[0] > this.mid) + this.right + ? 4 * (this.right.count + 1) > + 3 * (e + 1) + ? l(this, t) + : this.right.insert(t) + : (this.right = g([t])); + else { + var r = n.ge(this.leftPoints, t, d), + i = n.ge(this.rightPoints, t, v); + this.leftPoints.splice(r, 0, t), + this.rightPoints.splice(i, 0, t); + } + }), + (a.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) + ? u(this, t) + : 2 === (s = this.left.remove(t)) + ? ((this.left = null), + (this.count -= 1), + 1) + : (1 === s && (this.count -= 1), s) + : 0; + if (t[0] > this.mid) + return this.right + ? 4 * + (this.left + ? this.left.count + : 0) > + 3 * (e - 1) + ? u(this, t) + : 2 === (s = this.right.remove(t)) + ? ((this.right = null), + (this.count -= 1), + 1) + : (1 === s && (this.count -= 1), s) + : 0; + if (1 === this.count) + return this.leftPoints[0] === t ? 2 : 0; + if ( + 1 === this.leftPoints.length && + this.leftPoints[0] === t + ) { + if (this.left && this.right) { + for ( + var r = this, i = this.left; + i.right; + + ) + (r = i), (i = i.right); + if (r === this) i.right = this.right; + else { + var a = this.left, + s = this.right; + (r.count -= i.count), + (r.right = i.left), + (i.left = a), + (i.right = s); + } + o(this, i), + (this.count = + (this.left + ? this.left.count + : 0) + + (this.right + ? this.right.count + : 0) + + this.leftPoints.length); + } else + this.left + ? o(this, this.left) + : o(this, this.right); + return 1; + } + for ( + a = n.ge(this.leftPoints, t, d); + a < this.leftPoints.length && + this.leftPoints[a][0] === t[0]; + ++a + ) + if (this.leftPoints[a] === t) + for ( + this.count -= 1, + this.leftPoints.splice(a, 1), + s = n.ge(this.rightPoints, t, v); + s < this.rightPoints.length && + this.rightPoints[s][1] === t[1]; + ++s + ) + if (this.rightPoints[s] === t) + return ( + this.rightPoints.splice(s, 1), 1 + ); + return 0; + }), + (a.queryPoint = function (t, e) { + return t < this.mid + ? this.left && + (r = this.left.queryPoint(t, e)) + ? r + : c(this.leftPoints, t, e) + : t > this.mid + ? this.right && + (r = this.right.queryPoint(t, e)) + ? r + : f(this.rightPoints, t, e) + : h(this.leftPoints, e); + var r; + }), + (a.queryInterval = function (t, e, r) { + var n; + return (t < this.mid && + this.left && + (n = this.left.queryInterval( + t, + e, + r, + ))) || + (e > this.mid && + this.right && + (n = this.right.queryInterval( + t, + e, + r, + ))) + ? n + : e < this.mid + ? c(this.leftPoints, e, r) + : t > this.mid + ? f(this.rightPoints, t, r) + : h(this.leftPoints, r); + }); + var m = y.prototype; + (m.insert = function (t) { + this.root + ? this.root.insert(t) + : (this.root = new i( + t[0], + null, + null, + [t], + [t], + )); + }), + (m.remove = function (t) { + if (this.root) { + var e = this.root.remove(t); + return ( + 2 === e && (this.root = null), 0 !== e + ); + } + return !1; + }), + (m.queryPoint = function (t, e) { + if (this.root) + return this.root.queryPoint(t, e); + }), + (m.queryInterval = function (t, e, r) { + if (t <= e && this.root) + return this.root.queryInterval(t, e, r); + }), + Object.defineProperty(m, "count", { + get: function () { + return this.root ? this.root.count : 0; + }, + }), + Object.defineProperty(m, "intervals", { + get: function () { + return this.root + ? this.root.intervals([]) + : []; + }, + }); + }, + 9560: function (t) { + "use strict"; + t.exports = function (t) { + for ( + var e = new Array(t), r = 0; + r < t; + ++r + ) + e[r] = r; + return e; + }; + }, + 4846: function (t) { + t.exports = !0; + }, + 4780: function (t) { + function e(t) { + return ( + !!t.constructor && + "function" == + typeof t.constructor.isBuffer && + t.constructor.isBuffer(t) + ); + } + t.exports = function (t) { + return ( + null != t && + (e(t) || + (function (t) { + return ( + "function" == + typeof t.readFloatLE && + "function" == typeof t.slice && + e(t.slice(0, 0)) + ); + })(t) || + !!t._isBuffer) + ); + }; + }, + 3596: function (t) { + "use strict"; + t.exports = 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; + }; + }, + 3578: function (t) { + t.exports = function (t, e, r) { + return t * (1 - r) + e * r; + }; + }, + 7191: function (t, e, r) { + var n = r(4690), + i = r(9823), + a = r(7332), + o = r(7787), + s = r(7437), + l = r(2142), + u = { + length: r(4693), + normalize: r(899), + dot: r(9305), + cross: r(903), + }, + c = i(), + f = i(), + h = [0, 0, 0, 0], + p = [ + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + ], + d = [0, 0, 0]; + function v(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); + } + t.exports = function (t, e, r, i, g, y) { + if ( + (e || (e = [0, 0, 0]), + r || (r = [0, 0, 0]), + i || (i = [0, 0, 0]), + g || (g = [0, 0, 0, 1]), + y || (y = [0, 0, 0, 1]), + !n(c, t)) + ) + return !1; + if ( + (a(f, c), + (f[3] = 0), + (f[7] = 0), + (f[11] = 0), + (f[15] = 1), + Math.abs(o(f) < 1e-8)) + ) + return !1; + var m, + x, + b, + _, + w, + T, + k, + A = c[3], + M = c[7], + S = c[11], + E = c[12], + L = c[13], + C = c[14], + O = c[15]; + if (0 !== A || 0 !== M || 0 !== S) { + if ( + ((h[0] = A), + (h[1] = M), + (h[2] = S), + (h[3] = O), + !s(f, f)) + ) + return !1; + l(f, f), + (m = g), + (b = f), + (_ = (x = h)[0]), + (w = x[1]), + (T = x[2]), + (k = x[3]), + (m[0] = + b[0] * _ + + b[4] * w + + b[8] * T + + b[12] * k), + (m[1] = + b[1] * _ + + b[5] * w + + b[9] * T + + b[13] * k), + (m[2] = + b[2] * _ + + b[6] * w + + b[10] * T + + b[14] * k), + (m[3] = + b[3] * _ + + b[7] * w + + b[11] * T + + b[15] * k); + } else (g[0] = g[1] = g[2] = 0), (g[3] = 1); + if ( + ((e[0] = E), + (e[1] = L), + (e[2] = C), + (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]); + })(p, c), + (r[0] = u.length(p[0])), + u.normalize(p[0], p[0]), + (i[0] = u.dot(p[0], p[1])), + v(p[1], p[1], p[0], 1, -i[0]), + (r[1] = u.length(p[1])), + u.normalize(p[1], p[1]), + (i[0] /= r[1]), + (i[1] = u.dot(p[0], p[2])), + v(p[2], p[2], p[0], 1, -i[1]), + (i[2] = u.dot(p[1], p[2])), + v(p[2], p[2], p[1], 1, -i[2]), + (r[2] = u.length(p[2])), + u.normalize(p[2], p[2]), + (i[1] /= r[2]), + (i[2] /= r[2]), + u.cross(d, p[1], p[2]), + u.dot(p[0], d) < 0) + ) + for (var P = 0; P < 3; P++) + (r[P] *= -1), + (p[P][0] *= -1), + (p[P][1] *= -1), + (p[P][2] *= -1); + return ( + (y[0] = + 0.5 * + Math.sqrt( + Math.max( + 1 + p[0][0] - p[1][1] - p[2][2], + 0, + ), + )), + (y[1] = + 0.5 * + Math.sqrt( + Math.max( + 1 - p[0][0] + p[1][1] - p[2][2], + 0, + ), + )), + (y[2] = + 0.5 * + Math.sqrt( + Math.max( + 1 - p[0][0] - p[1][1] + p[2][2], + 0, + ), + )), + (y[3] = + 0.5 * + Math.sqrt( + Math.max( + 1 + p[0][0] + p[1][1] + p[2][2], + 0, + ), + )), + p[2][1] > p[1][2] && (y[0] = -y[0]), + p[0][2] > p[2][0] && (y[1] = -y[1]), + p[1][0] > p[0][1] && (y[2] = -y[2]), + !0 + ); + }; + }, + 4690: function (t) { + t.exports = function (t, e) { + var r = e[15]; + if (0 === r) return !1; + for (var n = 1 / r, i = 0; i < 16; i++) + t[i] = e[i] * n; + return !0; + }; + }, + 7649: function (t, e, r) { + var n = r(1868), + i = r(1102), + a = r(7191), + o = r(7787), + s = r(1116), + l = f(), + u = f(), + c = f(); + function f() { + return { + translate: h(), + scale: h(1), + skew: h(), + perspective: [0, 0, 0, 1], + quaternion: [0, 0, 0, 1], + }; + } + function h(t) { + return [t || 0, t || 0, t || 0]; + } + t.exports = function (t, e, r, f) { + if (0 === o(e) || 0 === o(r)) return !1; + var h = a( + e, + l.translate, + l.scale, + l.skew, + l.perspective, + l.quaternion, + ), + p = a( + r, + u.translate, + u.scale, + u.skew, + u.perspective, + u.quaternion, + ); + return !( + !h || + !p || + (n( + c.translate, + l.translate, + u.translate, + f, + ), + n(c.skew, l.skew, u.skew, f), + n(c.scale, l.scale, u.scale, f), + n( + c.perspective, + l.perspective, + u.perspective, + f, + ), + s( + c.quaternion, + l.quaternion, + u.quaternion, + f, + ), + i( + t, + c.translate, + c.scale, + c.skew, + c.perspective, + c.quaternion, + ), + 0) + ); + }; + }, + 1102: function (t, e, r) { + var n = { + identity: r(9947), + translate: r(998), + multiply: r(104), + create: r(9823), + scale: r(3668), + fromRotationTranslation: r(7280), + }, + i = (n.create(), n.create()); + t.exports = function (t, e, r, a, o, s) { + return ( + n.identity(t), + n.fromRotationTranslation(t, s, e), + (t[3] = o[0]), + (t[7] = o[1]), + (t[11] = o[2]), + (t[15] = o[3]), + n.identity(i), + 0 !== a[2] && + ((i[9] = a[2]), n.multiply(t, t, i)), + 0 !== a[1] && + ((i[9] = 0), + (i[8] = a[1]), + n.multiply(t, t, i)), + 0 !== a[0] && + ((i[8] = 0), + (i[4] = a[0]), + n.multiply(t, t, i)), + n.scale(t, t, r), + t + ); + }; + }, + 9298: function (t, e, r) { + "use strict"; + var n = r(5070), + i = r(7649), + a = r(7437), + o = r(6109), + s = r(7115), + l = r(5240), + u = r(3012), + c = r(998), + f = (r(3668), r(899)), + h = [0, 0, 0]; + function p(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]); + } + t.exports = function (t) { + return new p( + (t = t || {}).matrix || [ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 1, + ], + ); + }; + var d = p.prototype; + (d.recalcMatrix = function (t) { + var e = this._time, + r = n.le(e, t), + o = this.computedMatrix; + if (!(r < 0)) { + var s = this._components; + if (r === e.length - 1) + for (var l = 16 * r, u = 0; u < 16; ++u) + o[u] = s[l++]; + else { + var c = e[r + 1] - e[r], + h = ((l = 16 * r), this.prevMatrix), + p = !0; + for (u = 0; u < 16; ++u) h[u] = s[l++]; + var d = this.nextMatrix; + for (u = 0; u < 16; ++u) + (d[u] = s[l++]), + (p = p && h[u] === d[u]); + if (c < 1e-6 || p) + for (u = 0; u < 16; ++u) o[u] = h[u]; + else i(o, h, d, (t - e[r]) / c); + } + var v = this.computedUp; + (v[0] = o[1]), + (v[1] = o[5]), + (v[2] = o[9]), + f(v, v); + var g = this.computedInverse; + a(g, o); + var y = this.computedEye, + m = g[15]; + (y[0] = g[12] / m), + (y[1] = g[13] / m), + (y[2] = g[14] / m); + var x = this.computedCenter, + b = Math.exp(this.computedRadius[0]); + for (u = 0; u < 3; ++u) + x[u] = y[u] - o[2 + 4 * u] * b; + } + }), + (d.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); + } + }), + (d.flush = function (t) { + var e = n.gt(this._time, t) - 2; + e < 0 || + (this._time.splice(0, e), + this._components.splice(0, 16 * e)); + }), + (d.lastT = function () { + return this._time[this._time.length - 1]; + }), + (d.lookAt = function (t, e, r, n) { + this.recalcMatrix(t), + (e = e || this.computedEye), + (r = r || h), + (n = n || this.computedUp), + this.setMatrix( + t, + u(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); + }), + (d.rotate = function (t, e, r, n) { + this.recalcMatrix(t); + var i = this.computedInverse; + e && s(i, i, e), + r && o(i, i, r), + n && l(i, i, n), + this.setMatrix( + t, + a(this.computedMatrix, i), + ); + }); + var v = [0, 0, 0]; + (d.pan = function (t, e, r, n) { + (v[0] = -(e || 0)), + (v[1] = -(r || 0)), + (v[2] = -(n || 0)), + this.recalcMatrix(t); + var i = this.computedInverse; + c(i, i, v), this.setMatrix(t, a(i, i)); + }), + (d.translate = function (t, e, r, n) { + (v[0] = e || 0), + (v[1] = r || 0), + (v[2] = n || 0), + this.recalcMatrix(t); + var i = this.computedMatrix; + c(i, i, v), this.setMatrix(t, i); + }), + (d.setMatrix = function (t, e) { + if (!(t < this.lastT())) { + this._time.push(t); + for (var r = 0; r < 16; ++r) + this._components.push(e[r]); + } + }), + (d.setDistance = function (t, e) { + this.computedRadius[0] = e; + }), + (d.setDistanceLimits = function (t, e) { + var r = this._limits; + (r[0] = t), (r[1] = e); + }), + (d.getDistanceLimits = function (t) { + var e = this._limits; + return t + ? ((t[0] = e[0]), (t[1] = e[1]), t) + : e; + }); + }, + 3266: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = t.length; + if (e < 3) { + for ( + var r = new Array(e), i = 0; + i < e; + ++i + ) + r[i] = i; + return 2 === e && + t[0][0] === t[1][0] && + t[0][1] === t[1][1] + ? [0] + : r; + } + var a = new Array(e); + for (i = 0; i < e; ++i) a[i] = i; + a.sort(function (e, r) { + return ( + t[e][0] - t[r][0] || t[e][1] - t[r][1] + ); + }); + var o = [a[0], a[1]], + s = [a[0], a[1]]; + for (i = 2; i < e; ++i) { + for ( + var l = a[i], u = t[l], c = o.length; + c > 1 && + n(t[o[c - 2]], t[o[c - 1]], u) <= 0; + + ) + (c -= 1), o.pop(); + for ( + o.push(l), c = s.length; + c > 1 && + n(t[s[c - 2]], t[s[c - 1]], u) >= 0; + + ) + (c -= 1), s.pop(); + s.push(l); + } + r = new Array(s.length + o.length - 2); + for ( + var f = 0, h = ((i = 0), o.length); + i < h; + ++i + ) + r[f++] = o[i]; + for (var p = s.length - 2; p > 0; --p) + r[f++] = s[p]; + return r; + }; + var n = r(417)[3]; + }, + 6145: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + e || ((e = t), (t = window)); + var r = 0, + i = 0, + a = 0, + o = { + shift: !1, + alt: !1, + control: !1, + meta: !1, + }, + s = !1; + function l(t) { + var e = !1; + return ( + "altKey" in t && + ((e = e || t.altKey !== o.alt), + (o.alt = !!t.altKey)), + "shiftKey" in t && + ((e = e || t.shiftKey !== o.shift), + (o.shift = !!t.shiftKey)), + "ctrlKey" in t && + ((e = e || t.ctrlKey !== o.control), + (o.control = !!t.ctrlKey)), + "metaKey" in t && + ((e = e || t.metaKey !== o.meta), + (o.meta = !!t.metaKey)), + e + ); + } + function u(t, s) { + var u = n.x(s), + c = n.y(s); + "buttons" in s && (t = 0 | s.buttons), + (t !== r || + u !== i || + c !== a || + l(s)) && + ((r = 0 | t), + (i = u || 0), + (a = c || 0), + e && e(r, i, a, o)); + } + function c(t) { + u(0, t); + } + function f() { + (r || + i || + a || + o.shift || + o.alt || + o.meta || + o.control) && + ((i = a = 0), + (r = 0), + (o.shift = + o.alt = + o.control = + o.meta = + !1), + e && e(0, 0, 0, o)); + } + function h(t) { + l(t) && e && e(r, i, a, o); + } + function p(t) { + 0 === n.buttons(t) ? u(0, t) : u(r, t); + } + function d(t) { + u(r | n.buttons(t), t); + } + function v(t) { + u(r & ~n.buttons(t), t); + } + function g() { + s || + ((s = !0), + t.addEventListener("mousemove", p), + t.addEventListener("mousedown", d), + t.addEventListener("mouseup", v), + t.addEventListener("mouseleave", c), + t.addEventListener("mouseenter", c), + t.addEventListener("mouseout", c), + t.addEventListener("mouseover", c), + t.addEventListener("blur", f), + t.addEventListener("keyup", h), + t.addEventListener("keydown", h), + t.addEventListener("keypress", h), + t !== window && + (window.addEventListener("blur", f), + window.addEventListener("keyup", h), + window.addEventListener("keydown", h), + window.addEventListener( + "keypress", + h, + ))); + } + g(); + var y = { element: t }; + return ( + Object.defineProperties(y, { + enabled: { + get: function () { + return s; + }, + set: function (e) { + e + ? g() + : s && + ((s = !1), + t.removeEventListener( + "mousemove", + p, + ), + t.removeEventListener( + "mousedown", + d, + ), + t.removeEventListener( + "mouseup", + v, + ), + t.removeEventListener( + "mouseleave", + c, + ), + t.removeEventListener( + "mouseenter", + c, + ), + t.removeEventListener( + "mouseout", + c, + ), + t.removeEventListener( + "mouseover", + c, + ), + t.removeEventListener( + "blur", + f, + ), + t.removeEventListener( + "keyup", + h, + ), + t.removeEventListener( + "keydown", + h, + ), + t.removeEventListener( + "keypress", + h, + ), + t !== window && + (window.removeEventListener( + "blur", + f, + ), + 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 i; + }, + enumerable: !0, + }, + y: { + get: function () { + return a; + }, + enumerable: !0, + }, + mods: { + get: function () { + return o; + }, + enumerable: !0, + }, + }), + y + ); + }; + var n = r(4110); + }, + 2565: function (t) { + var e = { left: 0, top: 0 }; + t.exports = function (t, r, n) { + (r = r || t.currentTarget || t.srcElement), + Array.isArray(n) || (n = [0, 0]); + var i, + a = t.clientX || 0, + o = t.clientY || 0, + s = + (i = r) === window || + i === document || + i === document.body + ? e + : i.getBoundingClientRect(); + return ( + (n[0] = a - s.left), (n[1] = o - s.top), n + ); + }; + }, + 4110: function (t, e) { + "use strict"; + function r(t) { + return t.target || t.srcElement || window; + } + (e.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; + }), + (e.element = r), + (e.x = function (t) { + if ("object" == typeof t) { + if ("offsetX" in t) return t.offsetX; + var e = r(t).getBoundingClientRect(); + return t.clientX - e.left; + } + return 0; + }), + (e.y = function (t) { + if ("object" == typeof t) { + if ("offsetY" in t) return t.offsetY; + var e = r(t).getBoundingClientRect(); + return t.clientY - e.top; + } + return 0; + }); + }, + 6475: function (t, e, r) { + "use strict"; + var n = r(14); + t.exports = function (t, e, r) { + "function" == typeof t && + ((r = !!e), (e = t), (t = window)); + var i = n("ex", t), + a = function (t) { + r && t.preventDefault(); + var n = t.deltaX || 0, + a = t.deltaY || 0, + o = t.deltaZ || 0, + s = 1; + switch (t.deltaMode) { + case 1: + s = i; + break; + case 2: + s = window.innerHeight; + } + if ( + ((a *= s), + (o *= s), + (n *= s) || a || o) + ) + return e(n, a, o, t); + }; + return t.addEventListener("wheel", a), a; + }; + }, + 9284: function (t, e, r) { + "use strict"; + var n = r(5306); + t.exports = 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 a = t.arrayArguments || 1; + a < 1 && + e( + "Must have at least one array argument", + ), + (t.scalarArguments || 0) < 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 o = t.getters || [], + s = new Array(a), + l = 0; + l < a; + ++l + ) + o.indexOf(l) >= 0 + ? (s[l] = !0) + : (s[l] = !1); + return (function (t, e, r, a, o, s) { + var l = [s, o].join(","); + return (0, i[l])( + t, + e, + r, + n.mallocUint32, + n.freeUint32, + ); + })(t.vertex, t.cell, t.phase, 0, r, s); + }; + var i = { + "false,0,1": function (t, e, r, n, i) { + return function (a, o, s, l) { + var u, + c = 0 | a.shape[0], + f = 0 | a.shape[1], + h = a.data, + p = 0 | a.offset, + d = 0 | a.stride[0], + v = 0 | a.stride[1], + g = p, + y = 0 | -d, + m = 0, + x = 0 | -v, + b = 0, + _ = (-d - v) | 0, + w = 0, + T = 0 | d, + k = (v - d * c) | 0, + A = 0, + M = 0, + S = 0, + E = (2 * c) | 0, + L = n(E), + C = n(E), + O = 0, + P = 0, + I = -1, + D = -1, + z = 0, + R = 0 | -c, + F = 0 | c, + B = 0, + N = (-c - 1) | 0, + j = (c - 1) | 0, + U = 0, + V = 0, + H = 0; + for (A = 0; A < c; ++A) + (L[O++] = r(h[g], o, s, l)), (g += T); + if (((g += k), f > 0)) { + if ( + ((M = 1), + (L[O++] = r(h[g], o, s, l)), + (g += T), + c > 0) + ) + for ( + A = 1, + u = h[g], + P = L[O] = r(u, o, s, l), + z = L[O + I], + B = L[O + R], + U = L[O + N], + (P === z && + P === B && + P === U) || + ((m = h[g + y]), + (b = h[g + x]), + (w = h[g + _]), + t( + A, + M, + u, + m, + b, + w, + P, + z, + B, + U, + o, + s, + l, + ), + (V = C[O] = S++)), + O += 1, + g += T, + A = 2; + A < c; + ++A + ) + (u = h[g]), + (P = L[O] = r(u, o, s, l)), + (z = L[O + I]), + (B = L[O + R]), + (U = L[O + N]), + (P === z && + P === B && + P === U) || + ((m = h[g + y]), + (b = h[g + x]), + (w = h[g + _]), + t( + A, + M, + u, + m, + b, + w, + P, + z, + B, + U, + o, + s, + l, + ), + (V = C[O] = S++), + U !== z && + e( + C[O + I], + V, + w, + m, + U, + z, + o, + s, + l, + )), + (O += 1), + (g += T); + for ( + g += k, + O = 0, + H = I, + I = D, + D = H, + H = R, + R = F, + F = H, + H = N, + N = j, + j = H, + M = 2; + M < f; + ++M + ) { + if ( + ((L[O++] = r(h[g], o, s, l)), + (g += T), + c > 0) + ) + for ( + A = 1, + u = h[g], + P = L[O] = r(u, o, s, l), + z = L[O + I], + B = L[O + R], + U = L[O + N], + (P === z && + P === B && + P === U) || + ((m = h[g + y]), + (b = h[g + x]), + (w = h[g + _]), + t( + A, + M, + u, + m, + b, + w, + P, + z, + B, + U, + o, + s, + l, + ), + (V = C[O] = S++), + U !== B && + e( + C[O + R], + V, + b, + w, + B, + U, + o, + s, + l, + )), + O += 1, + g += T, + A = 2; + A < c; + ++A + ) + (u = h[g]), + (P = L[O] = r(u, o, s, l)), + (z = L[O + I]), + (B = L[O + R]), + (U = L[O + N]), + (P === z && + P === B && + P === U) || + ((m = h[g + y]), + (b = h[g + x]), + (w = h[g + _]), + t( + A, + M, + u, + m, + b, + w, + P, + z, + B, + U, + o, + s, + l, + ), + (V = C[O] = S++), + U !== B && + e( + C[O + R], + V, + b, + w, + B, + U, + o, + s, + l, + ), + U !== z && + e( + C[O + I], + V, + w, + m, + U, + z, + o, + s, + l, + )), + (O += 1), + (g += T); + 1 & M && (O = 0), + (H = I), + (I = D), + (D = H), + (H = R), + (R = F), + (F = H), + (H = N), + (N = j), + (j = H), + (g += k); + } + } + i(C), i(L); + }; + }, + "false,1,0": function (t, e, r, n, i) { + return function (a, o, s, l) { + var u, + c = 0 | a.shape[0], + f = 0 | a.shape[1], + h = a.data, + p = 0 | a.offset, + d = 0 | a.stride[0], + v = 0 | a.stride[1], + g = p, + y = 0 | -d, + m = 0, + x = 0 | -v, + b = 0, + _ = (-d - v) | 0, + w = 0, + T = 0 | v, + k = (d - v * f) | 0, + A = 0, + M = 0, + S = 0, + E = (2 * f) | 0, + L = n(E), + C = n(E), + O = 0, + P = 0, + I = -1, + D = -1, + z = 0, + R = 0 | -f, + F = 0 | f, + B = 0, + N = (-f - 1) | 0, + j = (f - 1) | 0, + U = 0, + V = 0, + H = 0; + for (M = 0; M < f; ++M) + (L[O++] = r(h[g], o, s, l)), (g += T); + if (((g += k), c > 0)) { + if ( + ((A = 1), + (L[O++] = r(h[g], o, s, l)), + (g += T), + f > 0) + ) + for ( + M = 1, + u = h[g], + P = L[O] = r(u, o, s, l), + B = L[O + R], + z = L[O + I], + U = L[O + N], + (P === B && + P === z && + P === U) || + ((m = h[g + y]), + (b = h[g + x]), + (w = h[g + _]), + t( + A, + M, + u, + m, + b, + w, + P, + B, + z, + U, + o, + s, + l, + ), + (V = C[O] = S++)), + O += 1, + g += T, + M = 2; + M < f; + ++M + ) + (u = h[g]), + (P = L[O] = r(u, o, s, l)), + (B = L[O + R]), + (z = L[O + I]), + (U = L[O + N]), + (P === B && + P === z && + P === U) || + ((m = h[g + y]), + (b = h[g + x]), + (w = h[g + _]), + t( + A, + M, + u, + m, + b, + w, + P, + B, + z, + U, + o, + s, + l, + ), + (V = C[O] = S++), + U !== z && + e( + C[O + I], + V, + b, + w, + z, + U, + o, + s, + l, + )), + (O += 1), + (g += T); + for ( + g += k, + O = 0, + H = R, + R = F, + F = H, + H = I, + I = D, + D = H, + H = N, + N = j, + j = H, + A = 2; + A < c; + ++A + ) { + if ( + ((L[O++] = r(h[g], o, s, l)), + (g += T), + f > 0) + ) + for ( + M = 1, + u = h[g], + P = L[O] = r(u, o, s, l), + B = L[O + R], + z = L[O + I], + U = L[O + N], + (P === B && + P === z && + P === U) || + ((m = h[g + y]), + (b = h[g + x]), + (w = h[g + _]), + t( + A, + M, + u, + m, + b, + w, + P, + B, + z, + U, + o, + s, + l, + ), + (V = C[O] = S++), + U !== B && + e( + C[O + R], + V, + w, + m, + U, + B, + o, + s, + l, + )), + O += 1, + g += T, + M = 2; + M < f; + ++M + ) + (u = h[g]), + (P = L[O] = r(u, o, s, l)), + (B = L[O + R]), + (z = L[O + I]), + (U = L[O + N]), + (P === B && + P === z && + P === U) || + ((m = h[g + y]), + (b = h[g + x]), + (w = h[g + _]), + t( + A, + M, + u, + m, + b, + w, + P, + B, + z, + U, + o, + s, + l, + ), + (V = C[O] = S++), + U !== z && + e( + C[O + I], + V, + b, + w, + z, + U, + o, + s, + l, + ), + U !== B && + e( + C[O + R], + V, + w, + m, + U, + B, + o, + s, + l, + )), + (O += 1), + (g += T); + 1 & A && (O = 0), + (H = R), + (R = F), + (F = H), + (H = I), + (I = D), + (D = H), + (H = N), + (N = j), + (j = H), + (g += k); + } + } + i(C), i(L); + }; + }, + }; + }, + 9144: function (t, e, r) { + "use strict"; + var n = r(3094), + i = { + zero: function (t, e, r, n) { + var i = t[0]; + n |= 0; + var a = 0, + o = r[0]; + for (a = 0; a < i; ++a) + (e[n] = 0), (n += o); + }, + fdTemplate1: function ( + t, + e, + r, + n, + i, + a, + o, + ) { + var s = t[0], + l = r[0], + u = -1 * l, + c = l; + (n |= 0), (o |= 0); + var f = 0, + h = l, + p = a[0]; + for (f = 0; f < s; ++f) + (i[o] = 0.5 * (e[n + u] - e[n + c])), + (n += h), + (o += p); + }, + fdTemplate2: function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + ) { + var c = t[0], + f = t[1], + h = r[0], + p = r[1], + d = a[0], + v = a[1], + g = l[0], + y = l[1], + m = -1 * h, + x = h, + b = -1 * p, + _ = p; + (n |= 0), (o |= 0), (u |= 0); + var w = 0, + T = 0, + k = p, + A = h - f * p, + M = v, + S = d - f * v, + E = y, + L = g - f * y; + for (T = 0; T < c; ++T) { + for (w = 0; w < f; ++w) + (i[o] = + 0.5 * (e[n + m] - e[n + x])), + (s[u] = + 0.5 * (e[n + b] - e[n + _])), + (n += k), + (o += M), + (u += E); + (n += A), (o += S), (u += L); + } + }, + }, + a = { + cdiff: function (t) { + var e = {}; + return function (r, n, i) { + var a = r.dtype, + o = r.order, + s = n.dtype, + l = n.order, + u = i.dtype, + c = i.order, + f = [ + a, + o.join(), + s, + l.join(), + u, + c.join(), + ].join(), + h = e[f]; + return ( + h || + (e[f] = h = + t([a, o, s, l, u, c])), + h( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n.data, + n.stride, + 0 | n.offset, + i.data, + i.stride, + 0 | i.offset, + ) + ); + }; + }, + zero: function (t) { + var e = {}; + return function (r) { + var n = r.dtype, + i = r.order, + a = [n, i.join()].join(), + o = e[a]; + return ( + o || (e[a] = o = t([n, i])), + o( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + ) + ); + }; + }, + fdTemplate1: function (t) { + var e = {}; + return function (r, n) { + var i = r.dtype, + a = r.order, + o = n.dtype, + s = n.order, + l = [ + i, + a.join(), + o, + s.join(), + ].join(), + u = e[l]; + return ( + u || (e[l] = u = t([i, a, o, s])), + u( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n.data, + n.stride, + 0 | n.offset, + ) + ); + }; + }, + fdTemplate2: function (t) { + var e = {}; + return function (r, n, i) { + var a = r.dtype, + o = r.order, + s = n.dtype, + l = n.order, + u = i.dtype, + c = i.order, + f = [ + a, + o.join(), + s, + l.join(), + u, + c.join(), + ].join(), + h = e[f]; + return ( + h || + (e[f] = h = + t([a, o, s, l, u, c])), + h( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n.data, + n.stride, + 0 | n.offset, + i.data, + i.stride, + 0 | i.offset, + ) + ); + }; + }, + }; + function o(t) { + return (0, a[t.funcName])( + s.bind(void 0, t), + ); + } + function s(t) { + return i[t.funcName]; + } + function l(t) { + return o({ funcName: t.funcName }); + } + var u = {}, + c = {}, + f = l({ funcName: "cdiff" }), + h = l({ funcName: "zero" }); + function p(t) { + return t in u + ? u[t] + : (u[t] = l({ + funcName: "fdTemplate" + t, + })); + } + function d(t, e, r, n) { + return function (t, i) { + var a = i.shape.slice(); + return ( + a[0] > 2 && + a[1] > 2 && + n( + i + .pick(-1, -1) + .lo(1, 1) + .hi(a[0] - 2, a[1] - 2), + t + .pick(-1, -1, 0) + .lo(1, 1) + .hi(a[0] - 2, a[1] - 2), + t + .pick(-1, -1, 1) + .lo(1, 1) + .hi(a[0] - 2, a[1] - 2), + ), + a[1] > 2 && + (r( + i + .pick(0, -1) + .lo(1) + .hi(a[1] - 2), + t + .pick(0, -1, 1) + .lo(1) + .hi(a[1] - 2), + ), + e( + t + .pick(0, -1, 0) + .lo(1) + .hi(a[1] - 2), + )), + a[1] > 2 && + (r( + i + .pick(a[0] - 1, -1) + .lo(1) + .hi(a[1] - 2), + t + .pick(a[0] - 1, -1, 1) + .lo(1) + .hi(a[1] - 2), + ), + e( + t + .pick(a[0] - 1, -1, 0) + .lo(1) + .hi(a[1] - 2), + )), + a[0] > 2 && + (r( + i + .pick(-1, 0) + .lo(1) + .hi(a[0] - 2), + t + .pick(-1, 0, 0) + .lo(1) + .hi(a[0] - 2), + ), + e( + t + .pick(-1, 0, 1) + .lo(1) + .hi(a[0] - 2), + )), + a[0] > 2 && + (r( + i + .pick(-1, a[1] - 1) + .lo(1) + .hi(a[0] - 2), + t + .pick(-1, a[1] - 1, 0) + .lo(1) + .hi(a[0] - 2), + ), + e( + t + .pick(-1, a[1] - 1, 1) + .lo(1) + .hi(a[0] - 2), + )), + t.set(0, 0, 0, 0), + t.set(0, 0, 1, 0), + t.set(a[0] - 1, 0, 0, 0), + t.set(a[0] - 1, 0, 1, 0), + t.set(0, a[1] - 1, 0, 0), + t.set(0, a[1] - 1, 1, 0), + t.set(a[0] - 1, a[1] - 1, 0, 0), + t.set(a[0] - 1, a[1] - 1, 1, 0), + t + ); + }; + } + t.exports = function (t, e, r) { + return ( + Array.isArray(r) || + (r = n( + e.dimension, + "string" == typeof r ? r : "clamp", + )), + 0 === e.size + ? t + : 0 === e.dimension + ? (t.set(0), t) + : (function (t) { + var e = t.join(); + if ((a = c[e])) return a; + for ( + var r = t.length, + n = [f, h], + i = 1; + i <= r; + ++i + ) + n.push(p(i)); + var a = d.apply(void 0, n); + return (c[e] = a), a; + })(r)(t, e) + ); + }; + }, + 3581: function (t) { + "use strict"; + function e(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 r(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], + f = a && u ? t.get(n, s) : 0, + h = a && c ? t.get(n, s + 1) : 0; + return ( + (1 - l) * + ((1 - i) * f + + i * (o && u ? t.get(n + 1, s) : 0)) + + l * + ((1 - i) * h + + i * + (o && c ? t.get(n + 1, s + 1) : 0)) + ); + } + function n(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], + f = 0 <= l + 1 && l + 1 < t.shape[1], + h = Math.floor(n), + p = n - h, + d = 0 <= h && h < t.shape[2], + v = 0 <= h + 1 && h + 1 < t.shape[2], + g = o && c && d ? t.get(i, l, h) : 0, + y = o && f && d ? t.get(i, l + 1, h) : 0, + m = s && c && d ? t.get(i + 1, l, h) : 0, + x = + s && f && d + ? t.get(i + 1, l + 1, h) + : 0, + b = o && c && v ? t.get(i, l, h + 1) : 0, + _ = + o && f && v + ? t.get(i, l + 1, h + 1) + : 0; + return ( + (1 - p) * + ((1 - u) * ((1 - a) * g + a * m) + + u * ((1 - a) * y + a * x)) + + p * + ((1 - u) * + ((1 - a) * b + + a * + (s && c && v + ? t.get(i + 1, l, h + 1) + : 0)) + + u * + ((1 - a) * _ + + a * + (s && f && v + ? t.get(i + 1, l + 1, h + 1) + : 0))) + ); + } + function i(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, + f = 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]); + } + f += u * t.data[c]; + } + return f; + } + (t.exports = function (t, a, o, s) { + switch (t.shape.length) { + case 0: + return 0; + case 1: + return e(t, a); + case 2: + return r(t, a, o); + case 3: + return n(t, a, o, s); + default: + return i.apply(void 0, arguments); + } + }), + (t.exports.d1 = e), + (t.exports.d2 = r), + (t.exports.d3 = n); + }, + 7498: function (t, e) { + "use strict"; + var r = { + "float64,2,1,0": function () { + return function (t, e, r, n, i) { + var a = t[0], + o = t[1], + s = t[2], + l = r[0], + u = r[1], + c = r[2]; + n |= 0; + var f = 0, + h = 0, + p = 0, + d = c, + v = u - s * c, + g = l - o * u; + for (p = 0; p < a; ++p) { + for (h = 0; h < o; ++h) { + for (f = 0; f < s; ++f) + (e[n] /= i), (n += d); + n += v; + } + n += g; + } + }; + }, + "uint8,2,0,1,float64,2,1,0": function () { + return function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + for ( + var l = t[0], + u = t[1], + c = t[2], + f = r[0], + h = r[1], + p = r[2], + d = a[0], + v = a[1], + g = a[2], + y = (n |= 0), + m = (o |= 0), + x = 0 | t[0]; + x > 0; + + ) { + x < 64 + ? ((l = x), (x = 0)) + : ((l = 64), (x -= 64)); + for (var b = 0 | t[1]; b > 0; ) { + b < 64 + ? ((u = b), (b = 0)) + : ((u = 64), (b -= 64)), + (n = y + x * f + b * h), + (o = m + x * d + b * v); + var _ = 0, + w = 0, + T = 0, + k = p, + A = f - c * p, + M = h - l * f, + S = g, + E = d - c * g, + L = v - l * d; + for (T = 0; T < u; ++T) { + for (w = 0; w < l; ++w) { + for (_ = 0; _ < c; ++_) + (e[n] = i[o] * s), + (n += k), + (o += S); + (n += A), (o += E); + } + (n += M), (o += L); + } + } + } + }; + }, + "float32,1,0,float32,1,0": function () { + return function (t, e, r, n, i, a, o) { + var s = t[0], + l = t[1], + u = r[0], + c = r[1], + f = a[0], + h = a[1]; + (n |= 0), (o |= 0); + var p = 0, + d = 0, + v = c, + g = u - l * c, + y = h, + m = f - l * h; + for (d = 0; d < s; ++d) { + for (p = 0; p < l; ++p) + (e[n] = i[o]), (n += v), (o += y); + (n += g), (o += m); + } + }; + }, + "float32,1,0,float32,0,1": function () { + return function (t, e, r, n, i, a, o) { + for ( + var s = t[0], + l = t[1], + u = r[0], + c = r[1], + f = a[0], + h = a[1], + p = (n |= 0), + d = (o |= 0), + v = 0 | t[1]; + v > 0; + + ) { + v < 64 + ? ((l = v), (v = 0)) + : ((l = 64), (v -= 64)); + for (var g = 0 | t[0]; g > 0; ) { + g < 64 + ? ((s = g), (g = 0)) + : ((s = 64), (g -= 64)), + (n = p + v * c + g * u), + (o = d + v * h + g * f); + var y = 0, + m = 0, + x = c, + b = u - l * c, + _ = h, + w = f - l * h; + for (m = 0; m < s; ++m) { + for (y = 0; y < l; ++y) + (e[n] = i[o]), + (n += x), + (o += _); + (n += b), (o += w); + } + } + } + }; + }, + "uint8,2,0,1,uint8,1,2,0": function () { + return function (t, e, r, n, i, a, o) { + for ( + var s = t[0], + l = t[1], + u = t[2], + c = r[0], + f = r[1], + h = r[2], + p = a[0], + d = a[1], + v = a[2], + g = (n |= 0), + y = (o |= 0), + m = 0 | t[2]; + m > 0; + + ) { + m < 64 + ? ((u = m), (m = 0)) + : ((u = 64), (m -= 64)); + for (var x = 0 | t[0]; x > 0; ) { + x < 64 + ? ((s = x), (x = 0)) + : ((s = 64), (x -= 64)); + for (var b = 0 | t[1]; b > 0; ) { + b < 64 + ? ((l = b), (b = 0)) + : ((l = 64), (b -= 64)), + (n = + g + m * h + x * c + b * f), + (o = + y + m * v + x * p + b * d); + var _ = 0, + w = 0, + T = 0, + k = h, + A = c - u * h, + M = f - s * c, + S = v, + E = p - u * v, + L = d - s * p; + for (T = 0; T < l; ++T) { + for (w = 0; w < s; ++w) { + for (_ = 0; _ < u; ++_) + (e[n] = i[o]), + (n += k), + (o += S); + (n += A), (o += E); + } + (n += M), (o += L); + } + } + } + } + }; + }, + "uint8,2,0,1,array,2,0,1": function () { + return function (t, e, r, n, i, a, o) { + var s = t[0], + l = t[1], + u = t[2], + c = r[0], + f = r[1], + h = r[2], + p = a[0], + d = a[1], + v = a[2]; + (n |= 0), (o |= 0); + var g = 0, + y = 0, + m = 0, + x = h, + b = c - u * h, + _ = f - s * c, + w = v, + T = p - u * v, + k = d - s * p; + for (m = 0; m < l; ++m) { + for (y = 0; y < s; ++y) { + for (g = 0; g < u; ++g) + (e[n] = i[o]), + (n += x), + (o += w); + (n += b), (o += T); + } + (n += _), (o += k); + } + }; + }, + }, + n = function (t, e) { + var n = e.join(","); + return (0, r[n])(); + }, + i = { + mul: function (t) { + var e = {}; + return function (r, n, i) { + var a = r.dtype, + o = r.order, + s = n.dtype, + l = n.order, + u = i.dtype, + c = i.order, + f = [ + a, + o.join(), + s, + l.join(), + u, + c.join(), + ].join(), + h = e[f]; + return ( + h || + (e[f] = h = + t([a, o, s, l, u, c])), + h( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n.data, + n.stride, + 0 | n.offset, + i.data, + i.stride, + 0 | i.offset, + ) + ); + }; + }, + muls: function (t) { + var e = {}; + return function (r, n, i) { + var a = r.dtype, + o = r.order, + s = n.dtype, + l = n.order, + u = [ + a, + o.join(), + s, + l.join(), + ].join(), + c = e[u]; + return ( + c || (e[u] = c = t([a, o, s, l])), + c( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n.data, + n.stride, + 0 | n.offset, + i, + ) + ); + }; + }, + mulseq: function (t) { + var e = {}; + return function (r, n) { + var i = r.dtype, + a = r.order, + o = [i, a.join()].join(), + s = e[o]; + return ( + s || (e[o] = s = t([i, a])), + s( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n, + ) + ); + }; + }, + div: function (t) { + var e = {}; + return function (r, n, i) { + var a = r.dtype, + o = r.order, + s = n.dtype, + l = n.order, + u = i.dtype, + c = i.order, + f = [ + a, + o.join(), + s, + l.join(), + u, + c.join(), + ].join(), + h = e[f]; + return ( + h || + (e[f] = h = + t([a, o, s, l, u, c])), + h( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n.data, + n.stride, + 0 | n.offset, + i.data, + i.stride, + 0 | i.offset, + ) + ); + }; + }, + divs: function (t) { + var e = {}; + return function (r, n, i) { + var a = r.dtype, + o = r.order, + s = n.dtype, + l = n.order, + u = [ + a, + o.join(), + s, + l.join(), + ].join(), + c = e[u]; + return ( + c || (e[u] = c = t([a, o, s, l])), + c( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n.data, + n.stride, + 0 | n.offset, + i, + ) + ); + }; + }, + divseq: function (t) { + var e = {}; + return function (r, n) { + var i = r.dtype, + a = r.order, + o = [i, a.join()].join(), + s = e[o]; + return ( + s || (e[o] = s = t([i, a])), + s( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n, + ) + ); + }; + }, + assign: function (t) { + var e = {}; + return function (r, n) { + var i = r.dtype, + a = r.order, + o = n.dtype, + s = n.order, + l = [ + i, + a.join(), + o, + s.join(), + ].join(), + u = e[l]; + return ( + u || (e[l] = u = t([i, a, o, s])), + u( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n.data, + n.stride, + 0 | n.offset, + ) + ); + }; + }, + }; + function a(t) { + return ( + (e = { funcName: t.funcName }), + (0, i[e.funcName])(n.bind(void 0, e)) + ); + var e; + } + var o = { mul: "*", div: "/" }; + !(function () { + for (var t in o) + (e[t] = a({ funcName: t })), + (e[t + "s"] = a({ funcName: t + "s" })), + (e[t + "seq"] = a({ + funcName: t + "seq", + })); + })(), + (e.assign = a({ funcName: "assign" })); + }, + 7382: function (t, e, r) { + "use strict"; + var n = r(5050), + i = r(9262); + t.exports = function (t, e) { + for ( + var r = [], a = t, o = 1; + Array.isArray(a); + + ) + r.push(a.length), + (o *= a.length), + (a = a[0]); + return 0 === r.length + ? n() + : (e || (e = n(new Float64Array(o), r)), + i(e, t), + e); + }; + }, + 9262: function (t) { + "use strict"; + t.exports = (function (t) { + var e = {}; + return function (r, n) { + var i = r.dtype, + a = r.order, + o = [i, a.join()].join(), + s = e[o]; + return ( + s || (e[o] = s = t([i, a])), + s( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n, + ) + ); + }; + })( + function () { + return function (t, e, r, n, i) { + var a = t[0], + o = t[1], + s = t[2], + l = r[0], + u = r[1], + c = r[2], + f = [0, 0, 0]; + n |= 0; + var h = 0, + p = 0, + d = 0, + v = c, + g = u - s * c, + y = l - o * u; + for (d = 0; d < a; ++d) { + for (p = 0; p < o; ++p) { + for (h = 0; h < s; ++h) { + var m, + x = i; + for (m = 0; m < f.length - 1; ++m) + x = x[f[m]]; + (e[n] = x[f[f.length - 1]]), + (n += v), + ++f[2]; + } + (n += g), (f[2] -= s), ++f[1]; + } + (n += y), (f[1] -= o), ++f[0]; + } + }; + }.bind(void 0, { funcName: "convert" }), + ); + }, + 8139: function (t, e, r) { + "use strict"; + var n = r(5306); + function i(t) { + return "uint32" === t + ? [n.mallocUint32, n.freeUint32] + : null; + } + var a = { + "uint32,1,0": function (t, e) { + return function ( + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + ) { + var p, + d, + v, + g, + y, + m, + x, + b, + _ = r * o + a, + w = t(u); + for (p = r + 1; p <= n; ++p) { + for ( + d = p, + v = _ += o, + y = 0, + m = _, + g = 0; + g < u; + ++g + ) + (w[y++] = i[m]), (m += c); + t: for (; d-- > r; ) { + (y = 0), (m = v - o); + e: for (g = 0; g < u; ++g) { + if ((x = i[m]) < (b = w[y])) + break t; + if (x > b) break e; + (m += f), (y += h); + } + for ( + y = v, m = v - o, g = 0; + g < u; + ++g + ) + (i[y] = i[m]), + (y += c), + (m += c); + v -= o; + } + for ( + y = v, m = 0, g = 0; + g < u; + ++g + ) + (i[y] = w[m++]), (y += c); + } + e(w); + }; + }, + }, + o = { + "uint32,1,0": function (t, e, r) { + return function n( + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + ) { + var v, + g, + y, + m, + x, + b, + _, + w, + T, + k, + A, + M, + S, + E, + L, + C, + O, + P, + I, + D, + z, + R, + F, + B, + N, + j = ((a - i + 1) / 6) | 0, + U = i + j, + V = a - j, + H = (i + a) >> 1, + q = H - j, + G = H + j, + Z = U, + W = q, + Y = H, + X = G, + J = V, + K = i + 1, + $ = a - 1, + Q = !0, + tt = 0, + et = 0, + rt = 0, + nt = f, + it = e(nt), + at = e(nt); + (A = l * Z), (M = l * W), (N = s); + t: for (k = 0; k < f; ++k) { + if ( + ((w = M + N), + (rt = o[(_ = A + N)] - o[w]) > 0) + ) { + (g = Z), (Z = W), (W = g); + break t; + } + if (rt < 0) break t; + N += p; + } + (A = l * X), (M = l * J), (N = s); + t: for (k = 0; k < f; ++k) { + if ( + ((w = M + N), + (rt = o[(_ = A + N)] - o[w]) > 0) + ) { + (g = X), (X = J), (J = g); + break t; + } + if (rt < 0) break t; + N += p; + } + (A = l * Z), (M = l * Y), (N = s); + t: for (k = 0; k < f; ++k) { + if ( + ((w = M + N), + (rt = o[(_ = A + N)] - o[w]) > 0) + ) { + (g = Z), (Z = Y), (Y = g); + break t; + } + if (rt < 0) break t; + N += p; + } + (A = l * W), (M = l * Y), (N = s); + t: for (k = 0; k < f; ++k) { + if ( + ((w = M + N), + (rt = o[(_ = A + N)] - o[w]) > 0) + ) { + (g = W), (W = Y), (Y = g); + break t; + } + if (rt < 0) break t; + N += p; + } + (A = l * Z), (M = l * X), (N = s); + t: for (k = 0; k < f; ++k) { + if ( + ((w = M + N), + (rt = o[(_ = A + N)] - o[w]) > 0) + ) { + (g = Z), (Z = X), (X = g); + break t; + } + if (rt < 0) break t; + N += p; + } + (A = l * Y), (M = l * X), (N = s); + t: for (k = 0; k < f; ++k) { + if ( + ((w = M + N), + (rt = o[(_ = A + N)] - o[w]) > 0) + ) { + (g = Y), (Y = X), (X = g); + break t; + } + if (rt < 0) break t; + N += p; + } + (A = l * W), (M = l * J), (N = s); + t: for (k = 0; k < f; ++k) { + if ( + ((w = M + N), + (rt = o[(_ = A + N)] - o[w]) > 0) + ) { + (g = W), (W = J), (J = g); + break t; + } + if (rt < 0) break t; + N += p; + } + (A = l * W), (M = l * Y), (N = s); + t: for (k = 0; k < f; ++k) { + if ( + ((w = M + N), + (rt = o[(_ = A + N)] - o[w]) > 0) + ) { + (g = W), (W = Y), (Y = g); + break t; + } + if (rt < 0) break t; + N += p; + } + (A = l * X), (M = l * J), (N = s); + t: for (k = 0; k < f; ++k) { + if ( + ((w = M + N), + (rt = o[(_ = A + N)] - o[w]) > 0) + ) { + (g = X), (X = J), (J = g); + break t; + } + if (rt < 0) break t; + N += p; + } + for ( + A = l * Z, + M = l * W, + S = l * Y, + E = l * X, + L = l * J, + C = l * U, + O = l * H, + P = l * V, + B = 0, + N = s, + k = 0; + k < f; + ++k + ) + (_ = A + N), + (w = M + N), + (T = S + N), + (I = E + N), + (D = L + N), + (z = C + N), + (R = O + N), + (F = P + N), + (it[B] = o[w]), + (at[B] = o[I]), + (Q = Q && it[B] === at[B]), + (y = o[_]), + (m = o[T]), + (x = o[D]), + (o[z] = y), + (o[R] = m), + (o[F] = x), + ++B, + (N += h); + for ( + A = l * q, M = l * i, N = s, k = 0; + k < f; + ++k + ) + (w = M + N), + (o[(_ = A + N)] = o[w]), + (N += h); + for ( + A = l * G, M = l * a, N = s, k = 0; + k < f; + ++k + ) + (w = M + N), + (o[(_ = A + N)] = o[w]), + (N += h); + if (Q) + for (b = K; b <= $; ++b) { + for ( + _ = s + b * l, B = 0, k = 0; + k < f && + 0 == (rt = o[_] - it[B]); + ++k + ) + (B += d), (_ += p); + if (0 !== rt) + if (rt < 0) { + if (b !== K) + for ( + A = l * b, + M = l * K, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (v = o[(_ = A + N)]), + (o[_] = o[w]), + (o[w] = v), + (N += h); + ++K; + } else + for (;;) { + for ( + _ = s + $ * l, + B = 0, + k = 0; + k < f && + 0 == (rt = o[_] - it[B]); + ++k + ) + (B += d), (_ += p); + if (!(rt > 0)) { + if (rt < 0) { + for ( + A = l * b, + M = l * K, + S = l * $, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (T = S + N), + (v = + o[(_ = A + N)]), + (o[_] = o[w]), + (o[w] = o[T]), + (o[T] = v), + (N += h); + ++K, --$; + break; + } + for ( + A = l * b, + M = l * $, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (v = o[(_ = A + N)]), + (o[_] = o[w]), + (o[w] = v), + (N += h); + --$; + break; + } + $--; + } + } + else + for (b = K; b <= $; ++b) { + for ( + _ = s + b * l, B = 0, k = 0; + k < f && + 0 == (tt = o[_] - it[B]); + ++k + ) + (B += d), (_ += p); + if (tt < 0) { + if (b !== K) + for ( + A = l * b, + M = l * K, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (v = o[(_ = A + N)]), + (o[_] = o[w]), + (o[w] = v), + (N += h); + ++K; + } else { + for ( + _ = s + b * l, B = 0, k = 0; + k < f && + 0 == (et = o[_] - at[B]); + ++k + ) + (B += d), (_ += p); + if (et > 0) + for (;;) { + for ( + _ = s + $ * l, + B = 0, + k = 0; + k < f && + 0 == (rt = o[_] - at[B]); + ++k + ) + (B += d), (_ += p); + if (!(rt > 0)) { + for ( + _ = s + $ * l, + B = 0, + k = 0; + k < f && + 0 == + (rt = o[_] - it[B]); + ++k + ) + (B += d), (_ += p); + if (rt < 0) { + for ( + A = l * b, + M = l * K, + S = l * $, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (T = S + N), + (v = + o[(_ = A + N)]), + (o[_] = o[w]), + (o[w] = o[T]), + (o[T] = v), + (N += h); + ++K, --$; + } else { + for ( + A = l * b, + M = l * $, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (v = + o[(_ = A + N)]), + (o[_] = o[w]), + (o[w] = v), + (N += h); + --$; + } + break; + } + if (--$ < b) break; + } + } + } + for ( + A = l * i, + M = l * (K - 1), + B = 0, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (o[(_ = A + N)] = o[w]), + (o[w] = it[B]), + ++B, + (N += h); + for ( + A = l * a, + M = l * ($ + 1), + B = 0, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (o[(_ = A + N)] = o[w]), + (o[w] = at[B]), + ++B, + (N += h); + if ( + (K - 2 - i <= 32 + ? t( + i, + K - 2, + o, + s, + l, + u, + c, + f, + h, + p, + d, + ) + : n( + i, + K - 2, + o, + s, + l, + u, + c, + f, + h, + p, + d, + ), + a - ($ + 2) <= 32 + ? t( + $ + 2, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + ) + : n( + $ + 2, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + ), + Q) + ) + return r(it), void r(at); + if (K < U && $ > V) { + t: for (;;) { + for ( + _ = s + K * l, + B = 0, + N = s, + k = 0; + k < f; + ++k + ) { + if (o[_] !== it[B]) break t; + ++B, (_ += h); + } + ++K; + } + t: for (;;) { + for ( + _ = s + $ * l, + B = 0, + N = s, + k = 0; + k < f; + ++k + ) { + if (o[_] !== at[B]) break t; + ++B, (_ += h); + } + --$; + } + for (b = K; b <= $; ++b) { + for ( + _ = s + b * l, B = 0, k = 0; + k < f && + 0 == (tt = o[_] - it[B]); + ++k + ) + (B += d), (_ += p); + if (0 === tt) { + if (b !== K) + for ( + A = l * b, + M = l * K, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (v = o[(_ = A + N)]), + (o[_] = o[w]), + (o[w] = v), + (N += h); + ++K; + } else { + for ( + _ = s + b * l, B = 0, k = 0; + k < f && + 0 == (et = o[_] - at[B]); + ++k + ) + (B += d), (_ += p); + if (0 === et) + for (;;) { + for ( + _ = s + $ * l, + B = 0, + k = 0; + k < f && + 0 == (rt = o[_] - at[B]); + ++k + ) + (B += d), (_ += p); + if (0 !== rt) { + for ( + _ = s + $ * l, + B = 0, + k = 0; + k < f && + 0 == + (rt = o[_] - it[B]); + ++k + ) + (B += d), (_ += p); + if (rt < 0) { + for ( + A = l * b, + M = l * K, + S = l * $, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (T = S + N), + (v = + o[(_ = A + N)]), + (o[_] = o[w]), + (o[w] = o[T]), + (o[T] = v), + (N += h); + ++K, --$; + } else { + for ( + A = l * b, + M = l * $, + N = s, + k = 0; + k < f; + ++k + ) + (w = M + N), + (v = + o[(_ = A + N)]), + (o[_] = o[w]), + (o[w] = v), + (N += h); + --$; + } + break; + } + if (--$ < b) break; + } + } + } + } + r(it), + r(at), + $ - K <= 32 + ? t( + K, + $, + o, + s, + l, + u, + c, + f, + h, + p, + d, + ) + : n( + K, + $, + o, + s, + l, + u, + c, + f, + h, + p, + d, + ); + }; + }, + }, + s = { + "uint32,1,0": function (t, e) { + return function (r) { + var n = r.data, + i = 0 | r.offset, + a = r.shape, + o = r.stride, + s = 0 | o[0], + l = 0 | a[0], + u = 0 | o[1], + c = 0 | a[1], + f = u, + h = u; + l <= 32 + ? t( + 0, + l - 1, + n, + i, + s, + u, + l, + c, + f, + h, + 1, + ) + : e( + 0, + l - 1, + n, + i, + s, + u, + l, + c, + f, + h, + 1, + ); + }; + }, + }; + t.exports = function (t, e) { + var r = [e, t].join(","), + n = s[r], + l = (function (t, e) { + var r = i(e), + n = [e, t].join(","), + o = a[n]; + return r ? o(r[0], r[1]) : o(); + })(t, e), + u = (function (t, e, r) { + var n = i(e), + a = [e, t].join(","), + s = o[a]; + return t.length > 1 && n + ? s(r, n[0], n[1]) + : s(r); + })(t, e, l); + return n(l, u); + }; + }, + 8729: function (t, e, r) { + "use strict"; + var n = r(8139), + i = {}; + t.exports = function (t) { + var e = t.order, + r = t.dtype, + a = [e, r].join(":"), + o = i[a]; + return o || (i[a] = o = n(e, r)), o(t), t; + }; + }, + 5050: function (t, e, r) { + var n = r(4780), + i = "undefined" != typeof Float64Array; + function a(t, e) { + return t[0] - e[0]; + } + function o() { + 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(a); + var n = new Array(r.length); + for (t = 0; t < n.length; ++t) + n[t] = r[t][1]; + return n; + } + var s = { + T: function (t) { + function e(t) { + this.data = t; + } + var r = e.prototype; + return ( + (r.dtype = t), + (r.index = function () { + return -1; + }), + (r.size = 0), + (r.dimension = -1), + (r.shape = r.stride = r.order = []), + (r.lo = + r.hi = + r.transpose = + r.step = + function () { + return new e(this.data); + }), + (r.get = r.set = function () {}), + (r.pick = function () { + return null; + }), + function (t) { + return new e(t); + } + ); + }, + 0: function (t, e) { + function r(t, e) { + (this.data = t), (this.offset = e); + } + var n = r.prototype; + return ( + (n.dtype = t), + (n.index = function () { + return this.offset; + }), + (n.dimension = 0), + (n.size = 1), + (n.shape = n.stride = n.order = []), + (n.lo = + n.hi = + n.transpose = + n.step = + function () { + return new r( + this.data, + this.offset, + ); + }), + (n.pick = function () { + return e(this.data); + }), + (n.valueOf = n.get = + function () { + return "generic" === t + ? this.data.get(this.offset) + : this.data[this.offset]; + }), + (n.set = function (e) { + return "generic" === t + ? this.data.set(this.offset, e) + : (this.data[this.offset] = e); + }), + function (t, e, n, i) { + return new r(t, i); + } + ); + }, + 1: function (t, e, r) { + function n(t, e, r, n) { + (this.data = t), + (this.shape = [e]), + (this.stride = [r]), + (this.offset = 0 | n); + } + var i = n.prototype; + return ( + (i.dtype = t), + (i.dimension = 1), + Object.defineProperty(i, "size", { + get: function () { + return this.shape[0]; + }, + }), + (i.order = [0]), + (i.set = function (e, r) { + return "generic" === t + ? this.data.set( + this.offset + + this.stride[0] * e, + r, + ) + : (this.data[ + this.offset + this.stride[0] * e + ] = r); + }), + (i.get = function (e) { + return "generic" === t + ? this.data.get( + this.offset + + this.stride[0] * e, + ) + : this.data[ + this.offset + this.stride[0] * e + ]; + }), + (i.index = function (t) { + return ( + this.offset + this.stride[0] * t + ); + }), + (i.hi = function (t) { + return new n( + this.data, + "number" != typeof t || t < 0 + ? this.shape[0] + : 0 | t, + this.stride[0], + this.offset, + ); + }), + (i.lo = function (t) { + var e = this.offset, + r = 0, + i = this.shape[0], + a = this.stride[0]; + return ( + "number" == typeof t && + t >= 0 && + ((e += a * (r = 0 | t)), + (i -= r)), + new n(this.data, i, a, e) + ); + }), + (i.step = function (t) { + var e = this.shape[0], + r = this.stride[0], + i = this.offset, + a = 0, + o = Math.ceil; + return ( + "number" == typeof t && + ((a = 0 | t) < 0 + ? ((i += r * (e - 1)), + (e = o(-e / a))) + : (e = o(e / a)), + (r *= a)), + new n(this.data, e, r, i) + ); + }), + (i.transpose = function (t) { + t = void 0 === t ? 0 : 0 | t; + var e = this.shape, + r = this.stride; + return new n( + this.data, + e[t], + r[t], + this.offset, + ); + }), + (i.pick = function (t) { + var r = [], + n = [], + i = this.offset; + return ( + "number" == typeof t && t >= 0 + ? (i = + (i + this.stride[0] * t) | 0) + : (r.push(this.shape[0]), + n.push(this.stride[0])), + (0, e[r.length + 1])( + this.data, + r, + n, + i, + ) + ); + }), + function (t, e, r, i) { + return new n(t, e[0], r[0], i); + } + ); + }, + 2: function (t, e, r) { + function n(t, e, r, n, i, a) { + (this.data = t), + (this.shape = [e, r]), + (this.stride = [n, i]), + (this.offset = 0 | a); + } + var i = n.prototype; + return ( + (i.dtype = t), + (i.dimension = 2), + Object.defineProperty(i, "size", { + get: function () { + return ( + this.shape[0] * this.shape[1] + ); + }, + }), + Object.defineProperty(i, "order", { + get: function () { + return Math.abs(this.stride[0]) > + Math.abs(this.stride[1]) + ? [1, 0] + : [0, 1]; + }, + }), + (i.set = function (e, r, n) { + return "generic" === t + ? this.data.set( + this.offset + + this.stride[0] * e + + this.stride[1] * r, + n, + ) + : (this.data[ + this.offset + + this.stride[0] * e + + this.stride[1] * r + ] = n); + }), + (i.get = function (e, r) { + return "generic" === t + ? this.data.get( + this.offset + + this.stride[0] * e + + this.stride[1] * r, + ) + : this.data[ + this.offset + + this.stride[0] * e + + this.stride[1] * r + ]; + }), + (i.index = function (t, e) { + return ( + this.offset + + this.stride[0] * t + + this.stride[1] * e + ); + }), + (i.hi = function (t, e) { + return new n( + this.data, + "number" != typeof t || t < 0 + ? this.shape[0] + : 0 | t, + "number" != typeof e || e < 0 + ? this.shape[1] + : 0 | e, + this.stride[0], + this.stride[1], + this.offset, + ); + }), + (i.lo = function (t, e) { + var r = this.offset, + i = 0, + a = this.shape[0], + o = this.shape[1], + s = this.stride[0], + l = this.stride[1]; + return ( + "number" == typeof t && + t >= 0 && + ((r += s * (i = 0 | t)), + (a -= i)), + "number" == typeof e && + e >= 0 && + ((r += l * (i = 0 | e)), + (o -= i)), + new n(this.data, a, o, s, l, r) + ); + }), + (i.step = function (t, e) { + var r = this.shape[0], + i = this.shape[1], + a = this.stride[0], + o = this.stride[1], + s = this.offset, + l = 0, + u = Math.ceil; + return ( + "number" == typeof t && + ((l = 0 | t) < 0 + ? ((s += a * (r - 1)), + (r = u(-r / l))) + : (r = u(r / l)), + (a *= l)), + "number" == typeof e && + ((l = 0 | e) < 0 + ? ((s += o * (i - 1)), + (i = u(-i / l))) + : (i = u(i / l)), + (o *= l)), + new n(this.data, r, i, a, o, s) + ); + }), + (i.transpose = function (t, e) { + (t = void 0 === t ? 0 : 0 | t), + (e = void 0 === e ? 1 : 0 | e); + var r = this.shape, + i = this.stride; + return new n( + this.data, + r[t], + r[e], + i[t], + i[e], + this.offset, + ); + }), + (i.pick = function (t, r) { + var n = [], + i = [], + a = this.offset; + return ( + "number" == typeof t && t >= 0 + ? (a = + (a + this.stride[0] * t) | 0) + : (n.push(this.shape[0]), + i.push(this.stride[0])), + "number" == typeof r && r >= 0 + ? (a = + (a + this.stride[1] * r) | 0) + : (n.push(this.shape[1]), + i.push(this.stride[1])), + (0, e[n.length + 1])( + this.data, + n, + i, + a, + ) + ); + }), + function (t, e, r, i) { + return new n( + t, + e[0], + e[1], + r[0], + r[1], + i, + ); + } + ); + }, + 3: function (t, e, r) { + function n(t, e, r, n, i, a, o, s) { + (this.data = t), + (this.shape = [e, r, n]), + (this.stride = [i, a, o]), + (this.offset = 0 | s); + } + var i = n.prototype; + return ( + (i.dtype = t), + (i.dimension = 3), + Object.defineProperty(i, "size", { + get: function () { + return ( + this.shape[0] * + this.shape[1] * + this.shape[2] + ); + }, + }), + Object.defineProperty(i, "order", { + get: function () { + var t = Math.abs(this.stride[0]), + e = Math.abs(this.stride[1]), + r = Math.abs(this.stride[2]); + return t > e + ? e > r + ? [2, 1, 0] + : t > r + ? [1, 2, 0] + : [1, 0, 2] + : t > r + ? [2, 0, 1] + : r > e + ? [0, 1, 2] + : [0, 2, 1]; + }, + }), + (i.set = function (e, r, n, i) { + return "generic" === t + ? this.data.set( + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n, + i, + ) + : (this.data[ + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + ] = i); + }), + (i.get = function (e, r, n) { + return "generic" === t + ? this.data.get( + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n, + ) + : this.data[ + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + ]; + }), + (i.index = function (t, e, r) { + return ( + this.offset + + this.stride[0] * t + + this.stride[1] * e + + this.stride[2] * r + ); + }), + (i.hi = function (t, e, r) { + return new n( + this.data, + "number" != typeof t || t < 0 + ? this.shape[0] + : 0 | t, + "number" != typeof e || e < 0 + ? this.shape[1] + : 0 | e, + "number" != typeof r || r < 0 + ? this.shape[2] + : 0 | r, + this.stride[0], + this.stride[1], + this.stride[2], + this.offset, + ); + }), + (i.lo = function (t, e, r) { + var i = this.offset, + a = 0, + o = this.shape[0], + s = this.shape[1], + l = this.shape[2], + u = this.stride[0], + c = this.stride[1], + f = this.stride[2]; + return ( + "number" == typeof t && + t >= 0 && + ((i += u * (a = 0 | t)), + (o -= a)), + "number" == typeof e && + e >= 0 && + ((i += c * (a = 0 | e)), + (s -= a)), + "number" == typeof r && + r >= 0 && + ((i += f * (a = 0 | r)), + (l -= a)), + new n( + this.data, + o, + s, + l, + u, + c, + f, + i, + ) + ); + }), + (i.step = function (t, e, r) { + var i = this.shape[0], + a = this.shape[1], + o = this.shape[2], + s = this.stride[0], + l = this.stride[1], + u = this.stride[2], + c = this.offset, + f = 0, + h = Math.ceil; + return ( + "number" == typeof t && + ((f = 0 | t) < 0 + ? ((c += s * (i - 1)), + (i = h(-i / f))) + : (i = h(i / f)), + (s *= f)), + "number" == typeof e && + ((f = 0 | e) < 0 + ? ((c += l * (a - 1)), + (a = h(-a / f))) + : (a = h(a / f)), + (l *= f)), + "number" == typeof r && + ((f = 0 | r) < 0 + ? ((c += u * (o - 1)), + (o = h(-o / f))) + : (o = h(o / f)), + (u *= f)), + new n( + this.data, + i, + a, + o, + s, + l, + u, + c, + ) + ); + }), + (i.transpose = function (t, e, r) { + (t = void 0 === t ? 0 : 0 | t), + (e = void 0 === e ? 1 : 0 | e), + (r = void 0 === r ? 2 : 0 | r); + var i = this.shape, + a = this.stride; + return new n( + this.data, + i[t], + i[e], + i[r], + a[t], + a[e], + a[r], + this.offset, + ); + }), + (i.pick = function (t, r, n) { + var i = [], + a = [], + o = this.offset; + return ( + "number" == typeof t && t >= 0 + ? (o = + (o + this.stride[0] * t) | 0) + : (i.push(this.shape[0]), + a.push(this.stride[0])), + "number" == typeof r && r >= 0 + ? (o = + (o + this.stride[1] * r) | 0) + : (i.push(this.shape[1]), + a.push(this.stride[1])), + "number" == typeof n && n >= 0 + ? (o = + (o + this.stride[2] * n) | 0) + : (i.push(this.shape[2]), + a.push(this.stride[2])), + (0, e[i.length + 1])( + this.data, + i, + a, + o, + ) + ); + }), + function (t, e, r, i) { + return new n( + t, + e[0], + e[1], + e[2], + r[0], + r[1], + r[2], + i, + ); + } + ); + }, + 4: function (t, e, r) { + function n(t, e, r, n, i, a, o, s, l, u) { + (this.data = t), + (this.shape = [e, r, n, i]), + (this.stride = [a, o, s, l]), + (this.offset = 0 | u); + } + var i = n.prototype; + return ( + (i.dtype = t), + (i.dimension = 4), + Object.defineProperty(i, "size", { + get: function () { + return ( + this.shape[0] * + this.shape[1] * + this.shape[2] * + this.shape[3] + ); + }, + }), + Object.defineProperty(i, "order", { + get: r, + }), + (i.set = function (e, r, n, i, a) { + return "generic" === t + ? this.data.set( + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + + this.stride[3] * i, + a, + ) + : (this.data[ + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + + this.stride[3] * i + ] = a); + }), + (i.get = function (e, r, n, i) { + return "generic" === t + ? this.data.get( + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + + this.stride[3] * i, + ) + : this.data[ + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + + this.stride[3] * i + ]; + }), + (i.index = function (t, e, r, n) { + return ( + this.offset + + this.stride[0] * t + + this.stride[1] * e + + this.stride[2] * r + + this.stride[3] * n + ); + }), + (i.hi = function (t, e, r, i) { + return new n( + this.data, + "number" != typeof t || t < 0 + ? this.shape[0] + : 0 | t, + "number" != typeof e || e < 0 + ? this.shape[1] + : 0 | e, + "number" != typeof r || r < 0 + ? this.shape[2] + : 0 | r, + "number" != typeof i || i < 0 + ? this.shape[3] + : 0 | i, + this.stride[0], + this.stride[1], + this.stride[2], + this.stride[3], + this.offset, + ); + }), + (i.lo = function (t, e, r, i) { + var a = this.offset, + o = 0, + s = this.shape[0], + l = this.shape[1], + u = this.shape[2], + c = this.shape[3], + f = this.stride[0], + h = this.stride[1], + p = this.stride[2], + d = this.stride[3]; + return ( + "number" == typeof t && + t >= 0 && + ((a += f * (o = 0 | t)), + (s -= o)), + "number" == typeof e && + e >= 0 && + ((a += h * (o = 0 | e)), + (l -= o)), + "number" == typeof r && + r >= 0 && + ((a += p * (o = 0 | r)), + (u -= o)), + "number" == typeof i && + i >= 0 && + ((a += d * (o = 0 | i)), + (c -= o)), + new n( + this.data, + s, + l, + u, + c, + f, + h, + p, + d, + a, + ) + ); + }), + (i.step = function (t, e, r, i) { + var a = this.shape[0], + o = this.shape[1], + s = this.shape[2], + l = this.shape[3], + u = this.stride[0], + c = this.stride[1], + f = this.stride[2], + h = this.stride[3], + p = this.offset, + d = 0, + v = Math.ceil; + return ( + "number" == typeof t && + ((d = 0 | t) < 0 + ? ((p += u * (a - 1)), + (a = v(-a / d))) + : (a = v(a / d)), + (u *= d)), + "number" == typeof e && + ((d = 0 | e) < 0 + ? ((p += c * (o - 1)), + (o = v(-o / d))) + : (o = v(o / d)), + (c *= d)), + "number" == typeof r && + ((d = 0 | r) < 0 + ? ((p += f * (s - 1)), + (s = v(-s / d))) + : (s = v(s / d)), + (f *= d)), + "number" == typeof i && + ((d = 0 | i) < 0 + ? ((p += h * (l - 1)), + (l = v(-l / d))) + : (l = v(l / d)), + (h *= d)), + new n( + this.data, + a, + o, + s, + l, + u, + c, + f, + h, + p, + ) + ); + }), + (i.transpose = function (t, e, r, i) { + (t = void 0 === t ? 0 : 0 | t), + (e = void 0 === e ? 1 : 0 | e), + (r = void 0 === r ? 2 : 0 | r), + (i = void 0 === i ? 3 : 0 | i); + var a = this.shape, + o = this.stride; + return new n( + this.data, + a[t], + a[e], + a[r], + a[i], + o[t], + o[e], + o[r], + o[i], + this.offset, + ); + }), + (i.pick = function (t, r, n, i) { + var a = [], + o = [], + s = this.offset; + return ( + "number" == typeof t && t >= 0 + ? (s = + (s + this.stride[0] * t) | 0) + : (a.push(this.shape[0]), + o.push(this.stride[0])), + "number" == typeof r && r >= 0 + ? (s = + (s + this.stride[1] * r) | 0) + : (a.push(this.shape[1]), + o.push(this.stride[1])), + "number" == typeof n && n >= 0 + ? (s = + (s + this.stride[2] * n) | 0) + : (a.push(this.shape[2]), + o.push(this.stride[2])), + "number" == typeof i && i >= 0 + ? (s = + (s + this.stride[3] * i) | 0) + : (a.push(this.shape[3]), + o.push(this.stride[3])), + (0, e[a.length + 1])( + this.data, + a, + o, + s, + ) + ); + }), + function (t, e, r, i) { + return new n( + t, + e[0], + e[1], + e[2], + e[3], + r[0], + r[1], + r[2], + r[3], + i, + ); + } + ); + }, + 5: function (t, e, r) { + function n( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + ) { + (this.data = t), + (this.shape = [e, r, n, i, a]), + (this.stride = [o, s, l, u, c]), + (this.offset = 0 | f); + } + var i = n.prototype; + return ( + (i.dtype = t), + (i.dimension = 5), + Object.defineProperty(i, "size", { + get: function () { + return ( + this.shape[0] * + this.shape[1] * + this.shape[2] * + this.shape[3] * + this.shape[4] + ); + }, + }), + Object.defineProperty(i, "order", { + get: r, + }), + (i.set = function (e, r, n, i, a, o) { + return "generic" === t + ? this.data.set( + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + + this.stride[3] * i + + this.stride[4] * a, + o, + ) + : (this.data[ + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + + this.stride[3] * i + + this.stride[4] * a + ] = o); + }), + (i.get = function (e, r, n, i, a) { + return "generic" === t + ? this.data.get( + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + + this.stride[3] * i + + this.stride[4] * a, + ) + : this.data[ + this.offset + + this.stride[0] * e + + this.stride[1] * r + + this.stride[2] * n + + this.stride[3] * i + + this.stride[4] * a + ]; + }), + (i.index = function (t, e, r, n, i) { + return ( + this.offset + + this.stride[0] * t + + this.stride[1] * e + + this.stride[2] * r + + this.stride[3] * n + + this.stride[4] * i + ); + }), + (i.hi = function (t, e, r, i, a) { + return new n( + this.data, + "number" != typeof t || t < 0 + ? this.shape[0] + : 0 | t, + "number" != typeof e || e < 0 + ? this.shape[1] + : 0 | e, + "number" != typeof r || r < 0 + ? this.shape[2] + : 0 | r, + "number" != typeof i || i < 0 + ? this.shape[3] + : 0 | i, + "number" != typeof a || a < 0 + ? this.shape[4] + : 0 | a, + this.stride[0], + this.stride[1], + this.stride[2], + this.stride[3], + this.stride[4], + this.offset, + ); + }), + (i.lo = function (t, e, r, i, a) { + var o = this.offset, + s = 0, + l = this.shape[0], + u = this.shape[1], + c = this.shape[2], + f = this.shape[3], + h = this.shape[4], + p = this.stride[0], + d = this.stride[1], + v = this.stride[2], + g = this.stride[3], + y = this.stride[4]; + return ( + "number" == typeof t && + t >= 0 && + ((o += p * (s = 0 | t)), + (l -= s)), + "number" == typeof e && + e >= 0 && + ((o += d * (s = 0 | e)), + (u -= s)), + "number" == typeof r && + r >= 0 && + ((o += v * (s = 0 | r)), + (c -= s)), + "number" == typeof i && + i >= 0 && + ((o += g * (s = 0 | i)), + (f -= s)), + "number" == typeof a && + a >= 0 && + ((o += y * (s = 0 | a)), + (h -= s)), + new n( + this.data, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + o, + ) + ); + }), + (i.step = function (t, e, r, i, a) { + var o = this.shape[0], + s = this.shape[1], + l = this.shape[2], + u = this.shape[3], + c = this.shape[4], + f = this.stride[0], + h = this.stride[1], + p = this.stride[2], + d = this.stride[3], + v = this.stride[4], + g = this.offset, + y = 0, + m = Math.ceil; + return ( + "number" == typeof t && + ((y = 0 | t) < 0 + ? ((g += f * (o - 1)), + (o = m(-o / y))) + : (o = m(o / y)), + (f *= y)), + "number" == typeof e && + ((y = 0 | e) < 0 + ? ((g += h * (s - 1)), + (s = m(-s / y))) + : (s = m(s / y)), + (h *= y)), + "number" == typeof r && + ((y = 0 | r) < 0 + ? ((g += p * (l - 1)), + (l = m(-l / y))) + : (l = m(l / y)), + (p *= y)), + "number" == typeof i && + ((y = 0 | i) < 0 + ? ((g += d * (u - 1)), + (u = m(-u / y))) + : (u = m(u / y)), + (d *= y)), + "number" == typeof a && + ((y = 0 | a) < 0 + ? ((g += v * (c - 1)), + (c = m(-c / y))) + : (c = m(c / y)), + (v *= y)), + new n( + this.data, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + ) + ); + }), + (i.transpose = function ( + t, + e, + r, + i, + a, + ) { + (t = void 0 === t ? 0 : 0 | t), + (e = void 0 === e ? 1 : 0 | e), + (r = void 0 === r ? 2 : 0 | r), + (i = void 0 === i ? 3 : 0 | i), + (a = void 0 === a ? 4 : 0 | a); + var o = this.shape, + s = this.stride; + return new n( + this.data, + o[t], + o[e], + o[r], + o[i], + o[a], + s[t], + s[e], + s[r], + s[i], + s[a], + this.offset, + ); + }), + (i.pick = function (t, r, n, i, a) { + var o = [], + s = [], + l = this.offset; + return ( + "number" == typeof t && t >= 0 + ? (l = + (l + this.stride[0] * t) | 0) + : (o.push(this.shape[0]), + s.push(this.stride[0])), + "number" == typeof r && r >= 0 + ? (l = + (l + this.stride[1] * r) | 0) + : (o.push(this.shape[1]), + s.push(this.stride[1])), + "number" == typeof n && n >= 0 + ? (l = + (l + this.stride[2] * n) | 0) + : (o.push(this.shape[2]), + s.push(this.stride[2])), + "number" == typeof i && i >= 0 + ? (l = + (l + this.stride[3] * i) | 0) + : (o.push(this.shape[3]), + s.push(this.stride[3])), + "number" == typeof a && a >= 0 + ? (l = + (l + this.stride[4] * a) | 0) + : (o.push(this.shape[4]), + s.push(this.stride[4])), + (0, e[o.length + 1])( + this.data, + o, + s, + l, + ) + ); + }), + function (t, e, r, i) { + return new n( + t, + e[0], + e[1], + e[2], + e[3], + e[4], + r[0], + r[1], + r[2], + r[3], + r[4], + i, + ); + } + ); + }, + }; + function l(t, e) { + var r = -1 === e ? "T" : String(e), + n = s[r]; + return -1 === e + ? n(t) + : 0 === e + ? n(t, u[t][0]) + : n(t, u[t], o); + } + var u = { + generic: [], + buffer: [], + array: [], + float32: [], + float64: [], + int8: [], + int16: [], + int32: [], + uint8_clamped: [], + uint8: [], + uint16: [], + uint32: [], + bigint64: [], + biguint64: [], + }; + t.exports = function (t, e, r, a) { + if (void 0 === t) + return (0, u.array[0])([]); + "number" == typeof t && (t = [t]), + void 0 === e && (e = [t.length]); + var o = e.length; + if (void 0 === r) { + r = new Array(o); + for (var s = o - 1, c = 1; s >= 0; --s) + (r[s] = c), (c *= e[s]); + } + if (void 0 === a) + for (a = 0, s = 0; s < o; ++s) + r[s] < 0 && (a -= (e[s] - 1) * r[s]); + for ( + var f = (function (t) { + if (n(t)) return "buffer"; + if (i) + 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 Uint8ClampedArray]": + return "uint8_clamped"; + case "[object Uint8Array]": + return "uint8"; + case "[object Uint16Array]": + return "uint16"; + case "[object Uint32Array]": + return "uint32"; + case "[object BigInt64Array]": + return "bigint64"; + case "[object BigUint64Array]": + return "biguint64"; + } + return Array.isArray(t) + ? "array" + : "generic"; + })(t), + h = u[f]; + h.length <= o + 1; + + ) + h.push(l(f, h.length - 1)); + return (0, h[o + 1])(t, e, r, a); + }; + }, + 8551: function (t, e, r) { + "use strict"; + var n = r(8362), + i = Math.pow(2, -1074), + a = -1 >>> 0; + t.exports = function (t, e) { + if (isNaN(t) || isNaN(e)) return NaN; + if (t === e) return t; + if (0 === t) return e < 0 ? -i : i; + var r = n.hi(t), + o = n.lo(t); + return ( + e > t == t > 0 + ? o === a + ? ((r += 1), (o = 0)) + : (o += 1) + : 0 === o + ? ((o = a), (r -= 1)) + : (o -= 1), + n.pack(o, r) + ); + }; + }, + 115: function (t, e) { + (e.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], + f = 0; + f < s.length; + ++f + ) { + (l = u), + (u = c), + (c = s[(f + 1) % s.length]); + for ( + var h = e[l], + p = e[u], + d = e[c], + v = new Array(3), + g = 0, + y = new Array(3), + m = 0, + x = 0; + x < 3; + ++x + ) + (v[x] = h[x] - p[x]), + (g += v[x] * v[x]), + (y[x] = d[x] - p[x]), + (m += y[x] * y[x]); + if (g * m > a) { + var b = i[u], + _ = 1 / Math.sqrt(g * m); + for (x = 0; x < 3; ++x) { + var w = (x + 1) % 3, + T = (x + 2) % 3; + b[x] += + _ * (y[w] * v[T] - y[T] * v[w]); + } + } + } + for (o = 0; o < n; ++o) { + b = i[o]; + var k = 0; + for (x = 0; x < 3; ++x) k += b[x] * b[x]; + if (k > a) + for ( + _ = 1 / Math.sqrt(k), x = 0; + x < 3; + ++x + ) + b[x] *= _; + else for (x = 0; x < 3; ++x) b[x] = 0; + } + return i; + }), + (e.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), + f = new Array(3); + for (u = 0; u < 3; ++u) + (c[u] = l[1][u] - l[0][u]), + (f[u] = l[2][u] - l[0][u]); + var h = new Array(3), + p = 0; + for (u = 0; u < 3; ++u) { + var d = (u + 1) % 3, + v = (u + 2) % 3; + (h[u] = c[d] * f[v] - c[v] * f[d]), + (p += h[u] * h[u]); + } + for ( + p = p > a ? 1 / Math.sqrt(p) : 0, + u = 0; + u < 3; + ++u + ) + h[u] *= p; + i[o] = h; + } + return i; + }); + }, + 567: function (t) { + "use strict"; + t.exports = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + ) { + var c = e + a + u; + if (f > 0) { + var f = Math.sqrt(c + 1); + (t[0] = (0.5 * (o - l)) / f), + (t[1] = (0.5 * (s - n)) / f), + (t[2] = (0.5 * (r - a)) / f), + (t[3] = 0.5 * f); + } else { + var h = Math.max(e, a, u); + (f = Math.sqrt(2 * h - c + 1)), + e >= h + ? ((t[0] = 0.5 * f), + (t[1] = (0.5 * (i + r)) / f), + (t[2] = (0.5 * (s + n)) / f), + (t[3] = (0.5 * (o - l)) / f)) + : a >= h + ? ((t[0] = (0.5 * (r + i)) / f), + (t[1] = 0.5 * f), + (t[2] = (0.5 * (l + o)) / f), + (t[3] = (0.5 * (s - n)) / f)) + : ((t[0] = (0.5 * (n + s)) / f), + (t[1] = (0.5 * (o + l)) / f), + (t[2] = 0.5 * f), + (t[3] = (0.5 * (r - i)) / f)); + } + return t; + }; + }, + 7774: function (t, e, r) { + "use strict"; + t.exports = 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)), + c((r = [].slice.call(r, 0, 4)), r); + var i = new f(r, e, Math.log(n)); + return ( + i.setDistanceLimits(t.zoomMin, t.zoomMax), + ("eye" in t || "up" in t) && + i.lookAt(0, t.eye, t.center, t.up), + i + ); + }; + var n = r(8444), + i = r(3012), + a = r(5950), + o = r(7437), + s = r(567); + function l(t, e, r) { + return Math.sqrt( + Math.pow(t, 2) + + Math.pow(e, 2) + + Math.pow(r, 2), + ); + } + function u(t, e, r, n) { + return Math.sqrt( + Math.pow(t, 2) + + Math.pow(e, 2) + + Math.pow(r, 2) + + Math.pow(n, 2), + ); + } + function c(t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = e[3], + o = u(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 f(t, e, r) { + (this.radius = n([r])), + (this.center = n(e)), + (this.rotation = n(t)), + (this.computedRadius = + this.radius.curve(0)), + (this.computedCenter = + this.center.curve(0)), + (this.computedRotation = + this.rotation.curve(0)), + (this.computedUp = [0.1, 0, 0]), + (this.computedEye = [0.1, 0, 0]), + (this.computedMatrix = [ + 0.1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ]), + this.recalcMatrix(0); + } + var h = f.prototype; + (h.lastT = function () { + return Math.max( + this.radius.lastT(), + this.center.lastT(), + this.rotation.lastT(), + ); + }), + (h.recalcMatrix = function (t) { + this.radius.curve(t), + this.center.curve(t), + this.rotation.curve(t); + var e = this.computedRotation; + c(e, e); + var r = this.computedMatrix; + a(r, e); + var n = this.computedCenter, + i = this.computedEye, + o = this.computedUp, + s = Math.exp(this.computedRadius[0]); + (i[0] = n[0] + s * r[2]), + (i[1] = n[1] + s * r[6]), + (i[2] = n[2] + s * r[10]), + (o[0] = r[1]), + (o[1] = r[5]), + (o[2] = r[9]); + for (var l = 0; l < 3; ++l) { + for (var u = 0, f = 0; f < 3; ++f) + u += r[l + 4 * f] * i[f]; + r[12 + l] = -u; + } + }), + (h.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; + }), + (h.idle = function (t) { + this.center.idle(t), + this.radius.idle(t), + this.rotation.idle(t); + }), + (h.flush = function (t) { + this.center.flush(t), + this.radius.flush(t), + this.rotation.flush(t); + }), + (h.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], + u = l(a, o, s); + (a /= u), (o /= u), (s /= u); + var c = i[0], + f = i[4], + h = i[8], + p = c * a + f * o + h * s, + d = l( + (c -= a * p), + (f -= o * p), + (h -= s * p), + ); + (c /= d), (f /= d), (h /= d); + var v = i[2], + g = i[6], + y = i[10], + m = v * a + g * o + y * s, + x = v * c + g * f + y * h, + b = l( + (v -= m * a + x * c), + (g -= m * o + x * f), + (y -= m * s + x * h), + ); + (v /= b), (g /= b), (y /= b); + var _ = c * e + a * r, + w = f * e + o * r, + T = h * e + s * r; + this.center.move(t, _, w, T); + var k = Math.exp(this.computedRadius[0]); + (k = Math.max(1e-4, k + n)), + this.radius.set(t, Math.log(k)); + }), + (h.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], + c = i[1], + f = i[5], + h = i[9], + p = i[2], + d = i[6], + v = i[10], + g = e * a + r * c, + y = e * o + r * f, + m = e * s + r * h, + x = -(d * m - v * y), + b = -(v * g - p * m), + _ = -(p * y - d * g), + w = Math.sqrt( + Math.max( + 0, + 1 - + Math.pow(x, 2) - + Math.pow(b, 2) - + Math.pow(_, 2), + ), + ), + T = u(x, b, _, w); + T > 1e-6 + ? ((x /= T), + (b /= T), + (_ /= T), + (w /= T)) + : ((x = b = _ = 0), (w = 1)); + var k = this.computedRotation, + A = k[0], + M = k[1], + S = k[2], + E = k[3], + L = A * w + E * x + M * _ - S * b, + C = M * w + E * b + S * x - A * _, + O = S * w + E * _ + A * b - M * x, + P = E * w - A * x - M * b - S * _; + if (n) { + (x = p), (b = d), (_ = v); + var I = Math.sin(n) / l(x, b, _); + (x *= I), + (b *= I), + (_ *= I), + (P = + P * (w = Math.cos(e)) - + (L = + L * w + P * x + C * _ - O * b) * + x - + (C = + C * w + P * b + O * x - L * _) * + b - + (O = + O * w + P * _ + L * b - C * x) * + _); + } + var D = u(L, C, O, P); + D > 1e-6 + ? ((L /= D), + (C /= D), + (O /= D), + (P /= D)) + : ((L = C = O = 0), (P = 1)), + this.rotation.set(t, L, C, O, P); + }), + (h.lookAt = function (t, e, r, n) { + this.recalcMatrix(t), + (r = r || this.computedCenter), + (e = e || this.computedEye), + (n = n || this.computedUp); + var a = this.computedMatrix; + i(a, e, r, n); + var o = this.computedRotation; + s( + o, + a[0], + a[1], + a[2], + a[4], + a[5], + a[6], + a[8], + a[9], + a[10], + ), + c(o, o), + this.rotation.set( + t, + o[0], + o[1], + o[2], + o[3], + ); + for (var l = 0, u = 0; u < 3; ++u) + l += Math.pow(r[u] - e[u], 2); + this.radius.set( + t, + 0.5 * Math.log(Math.max(l, 1e-6)), + ), + this.center.set(t, r[0], r[1], r[2]); + }), + (h.translate = function (t, e, r, n) { + this.center.move( + t, + e || 0, + r || 0, + n || 0, + ); + }), + (h.setMatrix = function (t, e) { + var r = this.computedRotation; + s( + r, + e[0], + e[1], + e[2], + e[4], + e[5], + e[6], + e[8], + e[9], + e[10], + ), + c(r, r), + this.rotation.set( + t, + r[0], + r[1], + r[2], + r[3], + ); + var n = this.computedMatrix; + o(n, e); + var i = n[15]; + if (Math.abs(i) > 1e-6) { + var a = n[12] / i, + l = n[13] / i, + u = n[14] / i; + this.recalcMatrix(t); + var f = Math.exp( + this.computedRadius[0], + ); + this.center.set( + t, + a - n[2] * f, + l - n[6] * f, + u - n[10] * f, + ), + this.radius.idle(t); + } else + this.center.idle(t), + this.radius.idle(t); + }), + (h.setDistance = function (t, e) { + e > 0 && this.radius.set(t, Math.log(e)); + }), + (h.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); + }), + (h.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]), + ]; + }), + (h.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], + } + ); + }), + (h.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, + ); + }); + }, + 4930: function (t, e, r) { + "use strict"; + var n = r(6184); + t.exports = function (t, e, r) { + return ( + n((r = void 0 !== r ? r + "" : " "), e) + + t + ); + }; + }, + 4405: function (t) { + t.exports = function (t, e) { + e || (e = [0, ""]), (t = String(t)); + var r = parseFloat(t, 10); + return ( + (e[0] = r), + (e[1] = + t.match(/[\d.\-\+]*\s*(.*)/)[1] || ""), + e + ); + }; + }, + 4166: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + for ( + var r = 0 | e.length, + i = t.length, + a = [new Array(r), new Array(r)], + o = 0; + o < r; + ++o + ) + (a[0][o] = []), (a[1][o] = []); + for (o = 0; o < i; ++o) { + var s = t[o]; + a[0][s[0]].push(s), a[1][s[1]].push(s); + } + var l = []; + for (o = 0; o < r; ++o) + a[0][o].length + a[1][o].length === 0 && + l.push([o]); + function u(t, e) { + var r = a[e][t[e]]; + r.splice(r.indexOf(t), 1); + } + function c(t, r, i) { + for (var o, s, l, c = 0; c < 2; ++c) + if (a[c][r].length > 0) { + (o = a[c][r][0]), (l = c); + break; + } + s = o[1 ^ l]; + for (var f = 0; f < 2; ++f) + for ( + var h = a[f][r], p = 0; + p < h.length; + ++p + ) { + var d = h[p], + v = d[1 ^ f]; + n(e[t], e[r], e[s], e[v]) > 0 && + ((o = d), (s = v), (l = f)); + } + return i || (o && u(o, l)), s; + } + function f(t, r) { + var i = a[r][t][0], + o = [t]; + u(i, r); + for (var s = i[1 ^ r]; ; ) { + for (; s !== t; ) + o.push(s), + (s = c(o[o.length - 2], s, !1)); + if ( + a[0][t].length + a[1][t].length === + 0 + ) + break; + var l = o[o.length - 1], + f = t, + h = o[1], + p = c(l, f, !0); + if (n(e[l], e[f], e[h], e[p]) < 0) + break; + o.push(t), (s = c(l, f)); + } + return o; + } + function h(t, e) { + return e[1] === e[e.length - 1]; + } + for (o = 0; o < r; ++o) + for (var p = 0; p < 2; ++p) { + for (var d = []; a[p][o].length > 0; ) { + a[0][o].length; + var v = f(o, p); + h(0, v) + ? d.push.apply(d, v) + : (d.length > 0 && l.push(d), + (d = v)); + } + d.length > 0 && l.push(d); + } + return l; + }; + var n = r(9398); + }, + 3959: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + for ( + var r = n(t, e.length), + i = new Array(e.length), + a = new Array(e.length), + o = [], + s = 0; + s < e.length; + ++s + ) { + var l = r[s].length; + (a[s] = l), + (i[s] = !0), + l <= 1 && o.push(s); + } + for (; o.length > 0; ) { + var u = o.pop(); + i[u] = !1; + var c = r[u]; + for (s = 0; s < c.length; ++s) { + var f = c[s]; + 0 == --a[f] && o.push(f); + } + } + var h = new Array(e.length), + p = []; + for (s = 0; s < e.length; ++s) + i[s] + ? ((u = p.length), + (h[s] = u), + p.push(e[s])) + : (h[s] = -1); + var d = []; + for (s = 0; s < t.length; ++s) { + var v = t[s]; + i[v[0]] && + i[v[1]] && + d.push([h[v[0]], h[v[1]]]); + } + return [d, p]; + }; + var n = r(8348); + }, + 8040: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + var r = u(t, e); + t = r[0]; + for ( + var f = (e = r[1]).length, + h = (t.length, n(t, e.length)), + p = 0; + p < f; + ++p + ) + if (h[p].length % 2 == 1) + throw new Error( + "planar-graph-to-polyline: graph must be manifold", + ); + var d = i(t, e), + v = (d = d.filter(function (t) { + for ( + var r = t.length, n = [0], i = 0; + i < r; + ++i + ) { + var a = e[t[i]], + l = e[t[(i + 1) % r]], + u = o(-a[0], a[1]), + c = o(-a[0], l[1]), + f = o(l[0], a[1]), + h = o(l[0], l[1]); + n = s(n, s(s(u, c), s(f, h))); + } + return n[n.length - 1] > 0; + })).length, + g = new Array(v), + y = new Array(v); + for (p = 0; p < v; ++p) { + g[p] = p; + var m = new Array(v), + x = d[p].map(function (t) { + return e[t]; + }), + b = a([x]), + _ = 0; + t: for (var w = 0; w < v; ++w) + if (((m[w] = 0), p !== w)) { + for ( + var T = (H = d[w]).length, k = 0; + k < T; + ++k + ) { + var A = b(e[H[k]]); + if (0 !== A) { + A < 0 && ((m[w] = 1), (_ += 1)); + continue t; + } + } + (m[w] = 1), (_ += 1); + } + y[p] = [_, p, m]; + } + for ( + y.sort(function (t, e) { + return e[0] - t[0]; + }), + p = 0; + p < v; + ++p + ) { + var M = (m = y[p])[1], + S = m[2]; + for (w = 0; w < v; ++w) + S[w] && (g[w] = M); + } + var E = (function (t) { + for ( + var e = new Array(t), r = 0; + r < t; + ++r + ) + e[r] = []; + return e; + })(v); + for (p = 0; p < v; ++p) + E[p].push(g[p]), E[g[p]].push(p); + var L = {}, + C = c(f, !1); + for (p = 0; p < v; ++p) + for ( + T = (H = d[p]).length, w = 0; + w < T; + ++w + ) { + var O = H[w], + P = H[(w + 1) % T], + I = + Math.min(O, P) + + ":" + + Math.max(O, P); + if (I in L) { + var D = L[I]; + E[D].push(p), + E[p].push(D), + (C[O] = C[P] = !0); + } else L[I] = p; + } + function z(t) { + for (var e = t.length, r = 0; r < e; ++r) + if (!C[t[r]]) return !1; + return !0; + } + var R = [], + F = c(v, -1); + for (p = 0; p < v; ++p) + g[p] !== p || z(d[p]) + ? (F[p] = -1) + : (R.push(p), (F[p] = 0)); + for (r = []; R.length > 0; ) { + var B = R.pop(), + N = E[B]; + l(N, function (t, e) { + return t - e; + }); + var j, + U = N.length, + V = F[B]; + if (0 === V) { + var H = d[B]; + j = [H]; + } + for (p = 0; p < U; ++p) { + var q = N[p]; + F[q] >= 0 || + ((F[q] = 1 ^ V), + R.push(q), + 0 === V && + (z((H = d[q])) || + (H.reverse(), j.push(H)))); + } + 0 === V && r.push(j); + } + return r; + }; + var n = r(8348), + i = r(4166), + a = r(211), + o = r(9660), + s = r(9662), + l = r(1215), + u = r(3959); + function c(t, e) { + for ( + var r = new Array(t), n = 0; + n < t; + ++n + ) + r[n] = e; + return r; + } + }, + 211: function (t, e, r) { + t.exports = function (t) { + for ( + var e = t.length, r = [], a = [], s = 0; + s < e; + ++s + ) + for ( + var c = t[s], + f = c.length, + h = f - 1, + p = 0; + p < f; + h = p++ + ) { + var d = c[h], + v = c[p]; + d[0] === v[0] + ? a.push([d, v]) + : r.push([d, v]); + } + if (0 === r.length) + return 0 === a.length + ? u + : ((g = l(a)), + function (t) { + return g(t[0], t[1]) ? 0 : 1; + }); + var g, + y = i(r), + m = (function (t, e) { + return function (r) { + var i = o.le(e, r[0]); + if (i < 0) return 1; + var a = t[i]; + if (!a) { + if (!(i > 0 && e[i] === r[0])) + return 1; + a = t[i - 1]; + } + for (var s = 1; a; ) { + var l = a.key, + u = n(r, l[0], l[1]); + if (l[0][0] < l[1][0]) + if (u < 0) a = a.left; + else { + if (!(u > 0)) return 0; + (s = -1), (a = a.right); + } + else if (u > 0) a = a.left; + else { + if (!(u < 0)) return 0; + (s = 1), (a = a.right); + } + } + return s; + }; + })(y.slabs, y.coordinates); + return 0 === a.length + ? m + : (function (t, e) { + return function (r) { + return t(r[0], r[1]) ? 0 : e(r); + }; + })(l(a), m); + }; + var n = r(417)[3], + i = r(4385), + a = r(9014), + o = r(5070); + function s() { + return !0; + } + function l(t) { + for (var e = {}, r = 0; r < t.length; ++r) { + var n = t[r], + i = n[0][0], + o = n[0][1], + l = n[1][1], + u = [Math.min(o, l), Math.max(o, l)]; + i in e ? e[i].push(u) : (e[i] = [u]); + } + var c = {}, + f = Object.keys(e); + for (r = 0; r < f.length; ++r) { + var h = e[f[r]]; + c[f[r]] = a(h); + } + return (function (t) { + return function (e, r) { + var n = t[e]; + return !!n && !!n.queryPoint(r, s); + }; + })(c); + } + function u(t) { + return 1; + } + }, + 7309: function (t) { + "use strict"; + var e = new Float64Array(4), + r = new Float64Array(4), + n = new Float64Array(4); + t.exports = function (t, i, a, o, s) { + e.length < o.length && + ((e = new Float64Array(o.length)), + (r = new Float64Array(o.length)), + (n = new Float64Array(o.length))); + for (var l = 0; l < o.length; ++l) + (e[l] = t[l] - o[l]), + (r[l] = i[l] - t[l]), + (n[l] = a[l] - t[l]); + var u = 0, + c = 0, + f = 0, + h = 0, + p = 0, + d = 0; + for (l = 0; l < o.length; ++l) { + var v = r[l], + g = n[l], + y = e[l]; + (u += v * v), + (c += v * g), + (f += g * g), + (h += y * v), + (p += y * g), + (d += y * y); + } + var m, + x, + b, + _, + w, + T = Math.abs(u * f - c * c), + k = c * p - f * h, + A = c * h - u * p; + if (k + A <= T) + if (k < 0) + A < 0 && h < 0 + ? ((A = 0), + -h >= u + ? ((k = 1), (m = u + 2 * h + d)) + : (m = h * (k = -h / u) + d)) + : ((k = 0), + p >= 0 + ? ((A = 0), (m = d)) + : -p >= f + ? ((A = 1), (m = f + 2 * p + d)) + : (m = p * (A = -p / f) + d)); + else if (A < 0) + (A = 0), + h >= 0 + ? ((k = 0), (m = d)) + : -h >= u + ? ((k = 1), (m = u + 2 * h + d)) + : (m = h * (k = -h / u) + d); + else { + var M = 1 / T; + m = + (k *= M) * + (u * k + c * (A *= M) + 2 * h) + + A * (c * k + f * A + 2 * p) + + d; + } + else + k < 0 + ? (b = f + p) > (x = c + h) + ? (_ = b - x) >= (w = u - 2 * c + f) + ? ((k = 1), + (A = 0), + (m = u + 2 * h + d)) + : (m = + (k = _ / w) * + (u * k + + c * (A = 1 - k) + + 2 * h) + + A * (c * k + f * A + 2 * p) + + d) + : ((k = 0), + b <= 0 + ? ((A = 1), (m = f + 2 * p + d)) + : p >= 0 + ? ((A = 0), (m = d)) + : (m = p * (A = -p / f) + d)) + : A < 0 + ? (b = u + h) > (x = c + p) + ? (_ = b - x) >= (w = u - 2 * c + f) + ? ((A = 1), + (k = 0), + (m = f + 2 * p + d)) + : (m = + (k = 1 - (A = _ / w)) * + (u * k + c * A + 2 * h) + + A * (c * k + f * A + 2 * p) + + d) + : ((A = 0), + b <= 0 + ? ((k = 1), (m = u + 2 * h + d)) + : h >= 0 + ? ((k = 0), (m = d)) + : (m = h * (k = -h / u) + d)) + : (_ = f + p - c - h) <= 0 + ? ((k = 0), + (A = 1), + (m = f + 2 * p + d)) + : _ >= (w = u - 2 * c + f) + ? ((k = 1), + (A = 0), + (m = u + 2 * h + d)) + : (m = + (k = _ / w) * + (u * k + + c * (A = 1 - k) + + 2 * h) + + A * (c * k + f * A + 2 * p) + + d); + var S = 1 - k - A; + for (l = 0; l < o.length; ++l) + s[l] = S * t[l] + k * i[l] + A * a[l]; + return m < 0 ? 0 : m; + }; + }, + 1116: function (t, e, r) { + t.exports = r(6093); + }, + 7584: function (t, e, r) { + "use strict"; + var n = r(1539); + t.exports = function (t, e) { + for ( + var r = t.length, i = new Array(r), a = 0; + a < r; + ++a + ) + i[a] = n(t[a], e[a]); + return i; + }; + }, + 2826: function (t, e, r) { + "use strict"; + t.exports = function (t) { + for ( + var e = new Array(t.length), r = 0; + r < t.length; + ++r + ) + e[r] = n(t[r]); + return e; + }; + var n = r(5125); + }, + 4469: function (t, e, r) { + "use strict"; + var n = r(5125), + i = r(3962); + t.exports = function (t, e) { + for ( + var r = n(e), + a = t.length, + o = new Array(a), + s = 0; + s < a; + ++s + ) + o[s] = i(t[s], r); + return o; + }; + }, + 6695: function (t, e, r) { + "use strict"; + var n = r(4354); + t.exports = function (t, e) { + for ( + var r = t.length, i = new Array(r), a = 0; + a < r; + ++a + ) + i[a] = n(t[a], e[a]); + return i; + }; + }, + 7037: function (t, e, r) { + "use strict"; + var n = r(9209), + i = r(1284), + a = r(9887); + t.exports = function (t) { + t.sort(i); + for ( + var e = t.length, r = 0, o = 0; + o < e; + ++o + ) { + var s = t[o], + l = a(s); + if (0 !== l) { + if (r > 0) { + var u = t[r - 1]; + if (0 === n(s, u) && a(u) !== l) { + r -= 1; + continue; + } + } + t[r++] = s; + } + } + return (t.length = r), t; + }; + }, + 6184: function (t) { + "use strict"; + var e, + r = ""; + t.exports = function (t, n) { + if ("string" != typeof t) + throw new TypeError("expected a string"); + if (1 === n) return t; + if (2 === n) return t + t; + var i = t.length * n; + if (e !== t || void 0 === e) + (e = t), (r = ""); + else if (r.length >= i) + return r.substr(0, i); + for (; i > r.length && n > 1; ) + 1 & n && (r += t), (n >>= 1), (t += t); + return (r = (r += t).substr(0, i)); + }; + }, + 8161: function (t, e, r) { + t.exports = + r.g.performance && r.g.performance.now + ? function () { + return performance.now(); + } + : Date.now || + function () { + return +new Date(); + }; + }, + 402: function (t) { + "use strict"; + t.exports = 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]; + (l = o - ((r = a + o) - a)) && + ((t[--n] = r), (r = l)); + } + var s = 0; + for (i = n; i < e; ++i) { + var l; + (l = + (o = r) - ((r = (a = t[i]) + o) - a)) && + (t[s++] = l); + } + return (t[s++] = r), (t.length = s), t; + }; + }, + 8167: function (t, e, r) { + "use strict"; + var n = r(9660), + i = r(9662), + a = r(8289), + o = r(402); + function s(t, e, r, n) { + return function (e) { + return n( + t( + r(e[0][0], e[1][1]), + r(-e[0][1], e[1][0]), + ), + ); + }; + } + function l(t, e, r, n) { + return function (i) { + return n( + t( + e( + t( + r(i[1][1], i[2][2]), + r(-i[1][2], i[2][1]), + ), + i[0][0], + ), + t( + e( + t( + r(i[1][0], i[2][2]), + r(-i[1][2], i[2][0]), + ), + -i[0][1], + ), + e( + t( + r(i[1][0], i[2][1]), + r(-i[1][1], i[2][0]), + ), + i[0][2], + ), + ), + ), + ); + }; + } + function u(t, e, r, n) { + return function (i) { + return n( + t( + t( + e( + t( + e( + t( + r(i[2][2], i[3][3]), + r(-i[2][3], i[3][2]), + ), + i[1][1], + ), + t( + e( + t( + r(i[2][1], i[3][3]), + r(-i[2][3], i[3][1]), + ), + -i[1][2], + ), + e( + t( + r(i[2][1], i[3][2]), + r(-i[2][2], i[3][1]), + ), + i[1][3], + ), + ), + ), + i[0][0], + ), + e( + t( + e( + t( + r(i[2][2], i[3][3]), + r(-i[2][3], i[3][2]), + ), + i[1][0], + ), + t( + e( + t( + r(i[2][0], i[3][3]), + r(-i[2][3], i[3][0]), + ), + -i[1][2], + ), + e( + t( + r(i[2][0], i[3][2]), + r(-i[2][2], i[3][0]), + ), + i[1][3], + ), + ), + ), + -i[0][1], + ), + ), + t( + e( + t( + e( + t( + r(i[2][1], i[3][3]), + r(-i[2][3], i[3][1]), + ), + i[1][0], + ), + t( + e( + t( + r(i[2][0], i[3][3]), + r(-i[2][3], i[3][0]), + ), + -i[1][1], + ), + e( + t( + r(i[2][0], i[3][1]), + r(-i[2][1], i[3][0]), + ), + i[1][3], + ), + ), + ), + i[0][2], + ), + e( + t( + e( + t( + r(i[2][1], i[3][2]), + r(-i[2][2], i[3][1]), + ), + i[1][0], + ), + t( + e( + t( + r(i[2][0], i[3][2]), + r(-i[2][2], i[3][0]), + ), + -i[1][1], + ), + e( + t( + r(i[2][0], i[3][1]), + r(-i[2][1], i[3][0]), + ), + i[1][2], + ), + ), + ), + -i[0][3], + ), + ), + ), + ); + }; + } + function c(t, e, r, n) { + return function (i) { + return n( + t( + t( + e( + t( + t( + e( + t( + e( + t( + r(i[3][3], i[4][4]), + r(-i[3][4], i[4][3]), + ), + i[2][2], + ), + t( + e( + t( + r(i[3][2], i[4][4]), + r( + -i[3][4], + i[4][2], + ), + ), + -i[2][3], + ), + e( + t( + r(i[3][2], i[4][3]), + r( + -i[3][3], + i[4][2], + ), + ), + i[2][4], + ), + ), + ), + i[1][1], + ), + e( + t( + e( + t( + r(i[3][3], i[4][4]), + r(-i[3][4], i[4][3]), + ), + i[2][1], + ), + t( + e( + t( + r(i[3][1], i[4][4]), + r( + -i[3][4], + i[4][1], + ), + ), + -i[2][3], + ), + e( + t( + r(i[3][1], i[4][3]), + r( + -i[3][3], + i[4][1], + ), + ), + i[2][4], + ), + ), + ), + -i[1][2], + ), + ), + t( + e( + t( + e( + t( + r(i[3][2], i[4][4]), + r(-i[3][4], i[4][2]), + ), + i[2][1], + ), + t( + e( + t( + r(i[3][1], i[4][4]), + r( + -i[3][4], + i[4][1], + ), + ), + -i[2][2], + ), + e( + t( + r(i[3][1], i[4][2]), + r( + -i[3][2], + i[4][1], + ), + ), + i[2][4], + ), + ), + ), + i[1][3], + ), + e( + t( + e( + t( + r(i[3][2], i[4][3]), + r(-i[3][3], i[4][2]), + ), + i[2][1], + ), + t( + e( + t( + r(i[3][1], i[4][3]), + r( + -i[3][3], + i[4][1], + ), + ), + -i[2][2], + ), + e( + t( + r(i[3][1], i[4][2]), + r( + -i[3][2], + i[4][1], + ), + ), + i[2][3], + ), + ), + ), + -i[1][4], + ), + ), + ), + i[0][0], + ), + e( + t( + t( + e( + t( + e( + t( + r(i[3][3], i[4][4]), + r(-i[3][4], i[4][3]), + ), + i[2][2], + ), + t( + e( + t( + r(i[3][2], i[4][4]), + r( + -i[3][4], + i[4][2], + ), + ), + -i[2][3], + ), + e( + t( + r(i[3][2], i[4][3]), + r( + -i[3][3], + i[4][2], + ), + ), + i[2][4], + ), + ), + ), + i[1][0], + ), + e( + t( + e( + t( + r(i[3][3], i[4][4]), + r(-i[3][4], i[4][3]), + ), + i[2][0], + ), + t( + e( + t( + r(i[3][0], i[4][4]), + r( + -i[3][4], + i[4][0], + ), + ), + -i[2][3], + ), + e( + t( + r(i[3][0], i[4][3]), + r( + -i[3][3], + i[4][0], + ), + ), + i[2][4], + ), + ), + ), + -i[1][2], + ), + ), + t( + e( + t( + e( + t( + r(i[3][2], i[4][4]), + r(-i[3][4], i[4][2]), + ), + i[2][0], + ), + t( + e( + t( + r(i[3][0], i[4][4]), + r( + -i[3][4], + i[4][0], + ), + ), + -i[2][2], + ), + e( + t( + r(i[3][0], i[4][2]), + r( + -i[3][2], + i[4][0], + ), + ), + i[2][4], + ), + ), + ), + i[1][3], + ), + e( + t( + e( + t( + r(i[3][2], i[4][3]), + r(-i[3][3], i[4][2]), + ), + i[2][0], + ), + t( + e( + t( + r(i[3][0], i[4][3]), + r( + -i[3][3], + i[4][0], + ), + ), + -i[2][2], + ), + e( + t( + r(i[3][0], i[4][2]), + r( + -i[3][2], + i[4][0], + ), + ), + i[2][3], + ), + ), + ), + -i[1][4], + ), + ), + ), + -i[0][1], + ), + ), + t( + e( + t( + t( + e( + t( + e( + t( + r(i[3][3], i[4][4]), + r(-i[3][4], i[4][3]), + ), + i[2][1], + ), + t( + e( + t( + r(i[3][1], i[4][4]), + r( + -i[3][4], + i[4][1], + ), + ), + -i[2][3], + ), + e( + t( + r(i[3][1], i[4][3]), + r( + -i[3][3], + i[4][1], + ), + ), + i[2][4], + ), + ), + ), + i[1][0], + ), + e( + t( + e( + t( + r(i[3][3], i[4][4]), + r(-i[3][4], i[4][3]), + ), + i[2][0], + ), + t( + e( + t( + r(i[3][0], i[4][4]), + r( + -i[3][4], + i[4][0], + ), + ), + -i[2][3], + ), + e( + t( + r(i[3][0], i[4][3]), + r( + -i[3][3], + i[4][0], + ), + ), + i[2][4], + ), + ), + ), + -i[1][1], + ), + ), + t( + e( + t( + e( + t( + r(i[3][1], i[4][4]), + r(-i[3][4], i[4][1]), + ), + i[2][0], + ), + t( + e( + t( + r(i[3][0], i[4][4]), + r( + -i[3][4], + i[4][0], + ), + ), + -i[2][1], + ), + e( + t( + r(i[3][0], i[4][1]), + r( + -i[3][1], + i[4][0], + ), + ), + i[2][4], + ), + ), + ), + i[1][3], + ), + e( + t( + e( + t( + r(i[3][1], i[4][3]), + r(-i[3][3], i[4][1]), + ), + i[2][0], + ), + t( + e( + t( + r(i[3][0], i[4][3]), + r( + -i[3][3], + i[4][0], + ), + ), + -i[2][1], + ), + e( + t( + r(i[3][0], i[4][1]), + r( + -i[3][1], + i[4][0], + ), + ), + i[2][3], + ), + ), + ), + -i[1][4], + ), + ), + ), + i[0][2], + ), + t( + e( + t( + t( + e( + t( + e( + t( + r(i[3][2], i[4][4]), + r( + -i[3][4], + i[4][2], + ), + ), + i[2][1], + ), + t( + e( + t( + r( + i[3][1], + i[4][4], + ), + r( + -i[3][4], + i[4][1], + ), + ), + -i[2][2], + ), + e( + t( + r( + i[3][1], + i[4][2], + ), + r( + -i[3][2], + i[4][1], + ), + ), + i[2][4], + ), + ), + ), + i[1][0], + ), + e( + t( + e( + t( + r(i[3][2], i[4][4]), + r( + -i[3][4], + i[4][2], + ), + ), + i[2][0], + ), + t( + e( + t( + r( + i[3][0], + i[4][4], + ), + r( + -i[3][4], + i[4][0], + ), + ), + -i[2][2], + ), + e( + t( + r( + i[3][0], + i[4][2], + ), + r( + -i[3][2], + i[4][0], + ), + ), + i[2][4], + ), + ), + ), + -i[1][1], + ), + ), + t( + e( + t( + e( + t( + r(i[3][1], i[4][4]), + r( + -i[3][4], + i[4][1], + ), + ), + i[2][0], + ), + t( + e( + t( + r( + i[3][0], + i[4][4], + ), + r( + -i[3][4], + i[4][0], + ), + ), + -i[2][1], + ), + e( + t( + r( + i[3][0], + i[4][1], + ), + r( + -i[3][1], + i[4][0], + ), + ), + i[2][4], + ), + ), + ), + i[1][2], + ), + e( + t( + e( + t( + r(i[3][1], i[4][2]), + r( + -i[3][2], + i[4][1], + ), + ), + i[2][0], + ), + t( + e( + t( + r( + i[3][0], + i[4][2], + ), + r( + -i[3][2], + i[4][0], + ), + ), + -i[2][1], + ), + e( + t( + r( + i[3][0], + i[4][1], + ), + r( + -i[3][1], + i[4][0], + ), + ), + i[2][2], + ), + ), + ), + -i[1][4], + ), + ), + ), + -i[0][3], + ), + e( + t( + t( + e( + t( + e( + t( + r(i[3][2], i[4][3]), + r( + -i[3][3], + i[4][2], + ), + ), + i[2][1], + ), + t( + e( + t( + r( + i[3][1], + i[4][3], + ), + r( + -i[3][3], + i[4][1], + ), + ), + -i[2][2], + ), + e( + t( + r( + i[3][1], + i[4][2], + ), + r( + -i[3][2], + i[4][1], + ), + ), + i[2][3], + ), + ), + ), + i[1][0], + ), + e( + t( + e( + t( + r(i[3][2], i[4][3]), + r( + -i[3][3], + i[4][2], + ), + ), + i[2][0], + ), + t( + e( + t( + r( + i[3][0], + i[4][3], + ), + r( + -i[3][3], + i[4][0], + ), + ), + -i[2][2], + ), + e( + t( + r( + i[3][0], + i[4][2], + ), + r( + -i[3][2], + i[4][0], + ), + ), + i[2][3], + ), + ), + ), + -i[1][1], + ), + ), + t( + e( + t( + e( + t( + r(i[3][1], i[4][3]), + r( + -i[3][3], + i[4][1], + ), + ), + i[2][0], + ), + t( + e( + t( + r( + i[3][0], + i[4][3], + ), + r( + -i[3][3], + i[4][0], + ), + ), + -i[2][1], + ), + e( + t( + r( + i[3][0], + i[4][1], + ), + r( + -i[3][1], + i[4][0], + ), + ), + i[2][3], + ), + ), + ), + i[1][2], + ), + e( + t( + e( + t( + r(i[3][1], i[4][2]), + r( + -i[3][2], + i[4][1], + ), + ), + i[2][0], + ), + t( + e( + t( + r( + i[3][0], + i[4][2], + ), + r( + -i[3][2], + i[4][0], + ), + ), + -i[2][1], + ), + e( + t( + r( + i[3][0], + i[4][1], + ), + r( + -i[3][1], + i[4][0], + ), + ), + i[2][2], + ), + ), + ), + -i[1][3], + ), + ), + ), + i[0][4], + ), + ), + ), + ), + ); + }; + } + function f(t) { + return ( + 2 === t + ? s + : 3 === t + ? l + : 4 === t + ? u + : 5 === t + ? c + : void 0 + )(i, a, n, o); + } + var h = [ + function () { + return [0]; + }, + function (t) { + return [t[0][0]]; + }, + ]; + function p(t, e, r, n, i, a, o, s) { + return function (l) { + switch (l.length) { + case 0: + return t(l); + case 1: + return e(l); + case 2: + return r(l); + case 3: + return n(l); + case 4: + return i(l); + case 5: + return a(l); + } + var u = o[l.length]; + return ( + u || (u = o[l.length] = s(l.length)), + u(l) + ); + }; + } + !(function () { + for (; h.length < 6; ) h.push(f(h.length)); + t.exports = p.apply( + void 0, + h.concat([h, f]), + ); + for (var e = 0; e < h.length; ++e) + t.exports[e] = h[e]; + })(); + }, + 9130: function (t, e, r) { + "use strict"; + var n = r(9660), + i = r(9662); + t.exports = function (t, e) { + for ( + var r = n(t[0], e[0]), a = 1; + a < t.length; + ++a + ) + r = i(r, n(t[a], e[a])); + return r; + }; + }, + 2227: function (t, e, r) { + "use strict"; + var n = r(9660), + i = r(9662), + a = r(4078), + o = r(8289); + function s(t) { + return ( + 3 === t + ? l + : 4 === t + ? u + : 5 === t + ? c + : f + )(i, a, n, o); + } + function l(t, e, r, n) { + return function (i, a, o) { + var s = r(i[0], i[0]), + l = n(s, a[0]), + u = n(s, o[0]), + c = r(a[0], a[0]), + f = n(c, i[0]), + h = n(c, o[0]), + p = r(o[0], o[0]), + d = n(p, i[0]), + v = n(p, a[0]), + g = t(e(v, h), e(f, l)), + y = e(d, u), + m = e(g, y); + return m[m.length - 1]; + }; + } + function u(t, e, r, n) { + return function (i, a, o, s) { + var l = t(r(i[0], i[0]), r(i[1], i[1])), + u = n(l, a[0]), + c = n(l, o[0]), + f = n(l, s[0]), + h = t(r(a[0], a[0]), r(a[1], a[1])), + p = n(h, i[0]), + d = n(h, o[0]), + v = n(h, s[0]), + g = t(r(o[0], o[0]), r(o[1], o[1])), + y = n(g, i[0]), + m = n(g, a[0]), + x = n(g, s[0]), + b = t(r(s[0], s[0]), r(s[1], s[1])), + _ = n(b, i[0]), + w = n(b, a[0]), + T = n(b, o[0]), + k = t( + t( + n(e(T, x), a[1]), + t( + n(e(w, v), -o[1]), + n(e(m, d), s[1]), + ), + ), + t( + n(e(w, v), i[1]), + t( + n(e(_, f), -a[1]), + n(e(p, u), s[1]), + ), + ), + ), + A = t( + t( + n(e(T, x), i[1]), + t( + n(e(_, f), -o[1]), + n(e(y, c), s[1]), + ), + ), + t( + n(e(m, d), i[1]), + t( + n(e(y, c), -a[1]), + n(e(p, u), o[1]), + ), + ), + ), + M = e(k, A); + return M[M.length - 1]; + }; + } + function c(t, e, r, n) { + return function (i, a, o, s, l) { + var u = t( + r(i[0], i[0]), + t(r(i[1], i[1]), r(i[2], i[2])), + ), + c = n(u, a[0]), + f = n(u, o[0]), + h = n(u, s[0]), + p = n(u, l[0]), + d = t( + r(a[0], a[0]), + t(r(a[1], a[1]), r(a[2], a[2])), + ), + v = n(d, i[0]), + g = n(d, o[0]), + y = n(d, s[0]), + m = n(d, l[0]), + x = t( + r(o[0], o[0]), + t(r(o[1], o[1]), r(o[2], o[2])), + ), + b = n(x, i[0]), + _ = n(x, a[0]), + w = n(x, s[0]), + T = n(x, l[0]), + k = t( + r(s[0], s[0]), + t(r(s[1], s[1]), r(s[2], s[2])), + ), + A = n(k, i[0]), + M = n(k, a[0]), + S = n(k, o[0]), + E = n(k, l[0]), + L = t( + r(l[0], l[0]), + t(r(l[1], l[1]), r(l[2], l[2])), + ), + C = n(L, i[0]), + O = n(L, a[0]), + P = n(L, o[0]), + I = n(L, s[0]), + D = t( + t( + t( + n( + t( + n(e(I, E), o[1]), + t( + n(e(P, T), -s[1]), + n(e(S, w), l[1]), + ), + ), + a[2], + ), + t( + n( + t( + n(e(I, E), a[1]), + t( + n(e(O, m), -s[1]), + n(e(M, y), l[1]), + ), + ), + -o[2], + ), + n( + t( + n(e(P, T), a[1]), + t( + n(e(O, m), -o[1]), + n(e(_, g), l[1]), + ), + ), + s[2], + ), + ), + ), + t( + n( + t( + n(e(S, w), a[1]), + t( + n(e(M, y), -o[1]), + n(e(_, g), s[1]), + ), + ), + -l[2], + ), + t( + n( + t( + n(e(I, E), a[1]), + t( + n(e(O, m), -s[1]), + n(e(M, y), l[1]), + ), + ), + i[2], + ), + n( + t( + n(e(I, E), i[1]), + t( + n(e(C, p), -s[1]), + n(e(A, h), l[1]), + ), + ), + -a[2], + ), + ), + ), + ), + t( + t( + n( + t( + n(e(O, m), i[1]), + t( + n(e(C, p), -a[1]), + n(e(v, c), l[1]), + ), + ), + s[2], + ), + t( + n( + t( + n(e(M, y), i[1]), + t( + n(e(A, h), -a[1]), + n(e(v, c), s[1]), + ), + ), + -l[2], + ), + n( + t( + n(e(S, w), a[1]), + t( + n(e(M, y), -o[1]), + n(e(_, g), s[1]), + ), + ), + i[2], + ), + ), + ), + t( + n( + t( + n(e(S, w), i[1]), + t( + n(e(A, h), -o[1]), + n(e(b, f), s[1]), + ), + ), + -a[2], + ), + t( + n( + t( + n(e(M, y), i[1]), + t( + n(e(A, h), -a[1]), + n(e(v, c), s[1]), + ), + ), + o[2], + ), + n( + t( + n(e(_, g), i[1]), + t( + n(e(b, f), -a[1]), + n(e(v, c), o[1]), + ), + ), + -s[2], + ), + ), + ), + ), + ), + z = t( + t( + t( + n( + t( + n(e(I, E), o[1]), + t( + n(e(P, T), -s[1]), + n(e(S, w), l[1]), + ), + ), + i[2], + ), + n( + t( + n(e(I, E), i[1]), + t( + n(e(C, p), -s[1]), + n(e(A, h), l[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(P, T), i[1]), + t( + n(e(C, p), -o[1]), + n(e(b, f), l[1]), + ), + ), + s[2], + ), + n( + t( + n(e(S, w), i[1]), + t( + n(e(A, h), -o[1]), + n(e(b, f), s[1]), + ), + ), + -l[2], + ), + ), + ), + t( + t( + n( + t( + n(e(P, T), a[1]), + t( + n(e(O, m), -o[1]), + n(e(_, g), l[1]), + ), + ), + i[2], + ), + n( + t( + n(e(P, T), i[1]), + t( + n(e(C, p), -o[1]), + n(e(b, f), l[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(O, m), i[1]), + t( + n(e(C, p), -a[1]), + n(e(v, c), l[1]), + ), + ), + o[2], + ), + n( + t( + n(e(_, g), i[1]), + t( + n(e(b, f), -a[1]), + n(e(v, c), o[1]), + ), + ), + -l[2], + ), + ), + ), + ), + R = e(D, z); + return R[R.length - 1]; + }; + } + function f(t, e, r, n) { + return function (i, a, o, s, l, u) { + var c = t( + t(r(i[0], i[0]), r(i[1], i[1])), + t(r(i[2], i[2]), r(i[3], i[3])), + ), + f = n(c, a[0]), + h = n(c, o[0]), + p = n(c, s[0]), + d = n(c, l[0]), + v = n(c, u[0]), + g = t( + t(r(a[0], a[0]), r(a[1], a[1])), + t(r(a[2], a[2]), r(a[3], a[3])), + ), + y = n(g, i[0]), + m = n(g, o[0]), + x = n(g, s[0]), + b = n(g, l[0]), + _ = n(g, u[0]), + w = t( + t(r(o[0], o[0]), r(o[1], o[1])), + t(r(o[2], o[2]), r(o[3], o[3])), + ), + T = n(w, i[0]), + k = n(w, a[0]), + A = n(w, s[0]), + M = n(w, l[0]), + S = n(w, u[0]), + E = t( + t(r(s[0], s[0]), r(s[1], s[1])), + t(r(s[2], s[2]), r(s[3], s[3])), + ), + L = n(E, i[0]), + C = n(E, a[0]), + O = n(E, o[0]), + P = n(E, l[0]), + I = n(E, u[0]), + D = t( + t(r(l[0], l[0]), r(l[1], l[1])), + t(r(l[2], l[2]), r(l[3], l[3])), + ), + z = n(D, i[0]), + R = n(D, a[0]), + F = n(D, o[0]), + B = n(D, s[0]), + N = n(D, u[0]), + j = t( + t(r(u[0], u[0]), r(u[1], u[1])), + t(r(u[2], u[2]), r(u[3], u[3])), + ), + U = n(j, i[0]), + V = n(j, a[0]), + H = n(j, o[0]), + q = n(j, s[0]), + G = n(j, l[0]), + Z = t( + t( + t( + n( + t( + t( + n( + t( + n(e(G, N), s[1]), + t( + n(e(q, I), -l[1]), + n(e(B, P), u[1]), + ), + ), + o[2], + ), + n( + t( + n(e(G, N), o[1]), + t( + n(e(H, S), -l[1]), + n(e(F, M), u[1]), + ), + ), + -s[2], + ), + ), + t( + n( + t( + n(e(q, I), o[1]), + t( + n(e(H, S), -s[1]), + n(e(O, A), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(B, P), o[1]), + t( + n(e(F, M), -s[1]), + n(e(O, A), l[1]), + ), + ), + -u[2], + ), + ), + ), + a[3], + ), + t( + n( + t( + t( + n( + t( + n(e(G, N), s[1]), + t( + n(e(q, I), -l[1]), + n(e(B, P), u[1]), + ), + ), + a[2], + ), + n( + t( + n(e(G, N), a[1]), + t( + n(e(V, _), -l[1]), + n(e(R, b), u[1]), + ), + ), + -s[2], + ), + ), + t( + n( + t( + n(e(q, I), a[1]), + t( + n(e(V, _), -s[1]), + n(e(C, x), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(B, P), a[1]), + t( + n(e(R, b), -s[1]), + n(e(C, x), l[1]), + ), + ), + -u[2], + ), + ), + ), + -o[3], + ), + n( + t( + t( + n( + t( + n(e(G, N), o[1]), + t( + n(e(H, S), -l[1]), + n(e(F, M), u[1]), + ), + ), + a[2], + ), + n( + t( + n(e(G, N), a[1]), + t( + n(e(V, _), -l[1]), + n(e(R, b), u[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(H, S), a[1]), + t( + n(e(V, _), -o[1]), + n(e(k, m), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(F, M), a[1]), + t( + n(e(R, b), -o[1]), + n(e(k, m), l[1]), + ), + ), + -u[2], + ), + ), + ), + s[3], + ), + ), + ), + t( + t( + n( + t( + t( + n( + t( + n(e(q, I), o[1]), + t( + n(e(H, S), -s[1]), + n(e(O, A), u[1]), + ), + ), + a[2], + ), + n( + t( + n(e(q, I), a[1]), + t( + n(e(V, _), -s[1]), + n(e(C, x), u[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(H, S), a[1]), + t( + n(e(V, _), -o[1]), + n(e(k, m), u[1]), + ), + ), + s[2], + ), + n( + t( + n(e(O, A), a[1]), + t( + n(e(C, x), -o[1]), + n(e(k, m), s[1]), + ), + ), + -u[2], + ), + ), + ), + -l[3], + ), + n( + t( + t( + n( + t( + n(e(B, P), o[1]), + t( + n(e(F, M), -s[1]), + n(e(O, A), l[1]), + ), + ), + a[2], + ), + n( + t( + n(e(B, P), a[1]), + t( + n(e(R, b), -s[1]), + n(e(C, x), l[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(F, M), a[1]), + t( + n(e(R, b), -o[1]), + n(e(k, m), l[1]), + ), + ), + s[2], + ), + n( + t( + n(e(O, A), a[1]), + t( + n(e(C, x), -o[1]), + n(e(k, m), s[1]), + ), + ), + -l[2], + ), + ), + ), + u[3], + ), + ), + t( + n( + t( + t( + n( + t( + n(e(G, N), s[1]), + t( + n(e(q, I), -l[1]), + n(e(B, P), u[1]), + ), + ), + a[2], + ), + n( + t( + n(e(G, N), a[1]), + t( + n(e(V, _), -l[1]), + n(e(R, b), u[1]), + ), + ), + -s[2], + ), + ), + t( + n( + t( + n(e(q, I), a[1]), + t( + n(e(V, _), -s[1]), + n(e(C, x), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(B, P), a[1]), + t( + n(e(R, b), -s[1]), + n(e(C, x), l[1]), + ), + ), + -u[2], + ), + ), + ), + i[3], + ), + n( + t( + t( + n( + t( + n(e(G, N), s[1]), + t( + n(e(q, I), -l[1]), + n(e(B, P), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(G, N), i[1]), + t( + n(e(U, v), -l[1]), + n(e(z, d), u[1]), + ), + ), + -s[2], + ), + ), + t( + n( + t( + n(e(q, I), i[1]), + t( + n(e(U, v), -s[1]), + n(e(L, p), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(B, P), i[1]), + t( + n(e(z, d), -s[1]), + n(e(L, p), l[1]), + ), + ), + -u[2], + ), + ), + ), + -a[3], + ), + ), + ), + ), + t( + t( + t( + n( + t( + t( + n( + t( + n(e(G, N), a[1]), + t( + n(e(V, _), -l[1]), + n(e(R, b), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(G, N), i[1]), + t( + n(e(U, v), -l[1]), + n(e(z, d), u[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(V, _), i[1]), + t( + n(e(U, v), -a[1]), + n(e(y, f), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(R, b), i[1]), + t( + n(e(z, d), -a[1]), + n(e(y, f), l[1]), + ), + ), + -u[2], + ), + ), + ), + s[3], + ), + n( + t( + t( + n( + t( + n(e(q, I), a[1]), + t( + n(e(V, _), -s[1]), + n(e(C, x), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(q, I), i[1]), + t( + n(e(U, v), -s[1]), + n(e(L, p), u[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(V, _), i[1]), + t( + n(e(U, v), -a[1]), + n(e(y, f), u[1]), + ), + ), + s[2], + ), + n( + t( + n(e(C, x), i[1]), + t( + n(e(L, p), -a[1]), + n(e(y, f), s[1]), + ), + ), + -u[2], + ), + ), + ), + -l[3], + ), + ), + t( + n( + t( + t( + n( + t( + n(e(B, P), a[1]), + t( + n(e(R, b), -s[1]), + n(e(C, x), l[1]), + ), + ), + i[2], + ), + n( + t( + n(e(B, P), i[1]), + t( + n(e(z, d), -s[1]), + n(e(L, p), l[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(R, b), i[1]), + t( + n(e(z, d), -a[1]), + n(e(y, f), l[1]), + ), + ), + s[2], + ), + n( + t( + n(e(C, x), i[1]), + t( + n(e(L, p), -a[1]), + n(e(y, f), s[1]), + ), + ), + -l[2], + ), + ), + ), + u[3], + ), + n( + t( + t( + n( + t( + n(e(q, I), o[1]), + t( + n(e(H, S), -s[1]), + n(e(O, A), u[1]), + ), + ), + a[2], + ), + n( + t( + n(e(q, I), a[1]), + t( + n(e(V, _), -s[1]), + n(e(C, x), u[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(H, S), a[1]), + t( + n(e(V, _), -o[1]), + n(e(k, m), u[1]), + ), + ), + s[2], + ), + n( + t( + n(e(O, A), a[1]), + t( + n(e(C, x), -o[1]), + n(e(k, m), s[1]), + ), + ), + -u[2], + ), + ), + ), + i[3], + ), + ), + ), + t( + t( + n( + t( + t( + n( + t( + n(e(q, I), o[1]), + t( + n(e(H, S), -s[1]), + n(e(O, A), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(q, I), i[1]), + t( + n(e(U, v), -s[1]), + n(e(L, p), u[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(H, S), i[1]), + t( + n(e(U, v), -o[1]), + n(e(T, h), u[1]), + ), + ), + s[2], + ), + n( + t( + n(e(O, A), i[1]), + t( + n(e(L, p), -o[1]), + n(e(T, h), s[1]), + ), + ), + -u[2], + ), + ), + ), + -a[3], + ), + n( + t( + t( + n( + t( + n(e(q, I), a[1]), + t( + n(e(V, _), -s[1]), + n(e(C, x), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(q, I), i[1]), + t( + n(e(U, v), -s[1]), + n(e(L, p), u[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(V, _), i[1]), + t( + n(e(U, v), -a[1]), + n(e(y, f), u[1]), + ), + ), + s[2], + ), + n( + t( + n(e(C, x), i[1]), + t( + n(e(L, p), -a[1]), + n(e(y, f), s[1]), + ), + ), + -u[2], + ), + ), + ), + o[3], + ), + ), + t( + n( + t( + t( + n( + t( + n(e(H, S), a[1]), + t( + n(e(V, _), -o[1]), + n(e(k, m), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(H, S), i[1]), + t( + n(e(U, v), -o[1]), + n(e(T, h), u[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(V, _), i[1]), + t( + n(e(U, v), -a[1]), + n(e(y, f), u[1]), + ), + ), + o[2], + ), + n( + t( + n(e(k, m), i[1]), + t( + n(e(T, h), -a[1]), + n(e(y, f), o[1]), + ), + ), + -u[2], + ), + ), + ), + -s[3], + ), + n( + t( + t( + n( + t( + n(e(O, A), a[1]), + t( + n(e(C, x), -o[1]), + n(e(k, m), s[1]), + ), + ), + i[2], + ), + n( + t( + n(e(O, A), i[1]), + t( + n(e(L, p), -o[1]), + n(e(T, h), s[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(C, x), i[1]), + t( + n(e(L, p), -a[1]), + n(e(y, f), s[1]), + ), + ), + o[2], + ), + n( + t( + n(e(k, m), i[1]), + t( + n(e(T, h), -a[1]), + n(e(y, f), o[1]), + ), + ), + -s[2], + ), + ), + ), + u[3], + ), + ), + ), + ), + ), + W = t( + t( + t( + n( + t( + t( + n( + t( + n(e(G, N), s[1]), + t( + n(e(q, I), -l[1]), + n(e(B, P), u[1]), + ), + ), + o[2], + ), + n( + t( + n(e(G, N), o[1]), + t( + n(e(H, S), -l[1]), + n(e(F, M), u[1]), + ), + ), + -s[2], + ), + ), + t( + n( + t( + n(e(q, I), o[1]), + t( + n(e(H, S), -s[1]), + n(e(O, A), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(B, P), o[1]), + t( + n(e(F, M), -s[1]), + n(e(O, A), l[1]), + ), + ), + -u[2], + ), + ), + ), + i[3], + ), + t( + n( + t( + t( + n( + t( + n(e(G, N), s[1]), + t( + n(e(q, I), -l[1]), + n(e(B, P), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(G, N), i[1]), + t( + n(e(U, v), -l[1]), + n(e(z, d), u[1]), + ), + ), + -s[2], + ), + ), + t( + n( + t( + n(e(q, I), i[1]), + t( + n(e(U, v), -s[1]), + n(e(L, p), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(B, P), i[1]), + t( + n(e(z, d), -s[1]), + n(e(L, p), l[1]), + ), + ), + -u[2], + ), + ), + ), + -o[3], + ), + n( + t( + t( + n( + t( + n(e(G, N), o[1]), + t( + n(e(H, S), -l[1]), + n(e(F, M), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(G, N), i[1]), + t( + n(e(U, v), -l[1]), + n(e(z, d), u[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(H, S), i[1]), + t( + n(e(U, v), -o[1]), + n(e(T, h), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(F, M), i[1]), + t( + n(e(z, d), -o[1]), + n(e(T, h), l[1]), + ), + ), + -u[2], + ), + ), + ), + s[3], + ), + ), + ), + t( + t( + n( + t( + t( + n( + t( + n(e(q, I), o[1]), + t( + n(e(H, S), -s[1]), + n(e(O, A), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(q, I), i[1]), + t( + n(e(U, v), -s[1]), + n(e(L, p), u[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(H, S), i[1]), + t( + n(e(U, v), -o[1]), + n(e(T, h), u[1]), + ), + ), + s[2], + ), + n( + t( + n(e(O, A), i[1]), + t( + n(e(L, p), -o[1]), + n(e(T, h), s[1]), + ), + ), + -u[2], + ), + ), + ), + -l[3], + ), + n( + t( + t( + n( + t( + n(e(B, P), o[1]), + t( + n(e(F, M), -s[1]), + n(e(O, A), l[1]), + ), + ), + i[2], + ), + n( + t( + n(e(B, P), i[1]), + t( + n(e(z, d), -s[1]), + n(e(L, p), l[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(F, M), i[1]), + t( + n(e(z, d), -o[1]), + n(e(T, h), l[1]), + ), + ), + s[2], + ), + n( + t( + n(e(O, A), i[1]), + t( + n(e(L, p), -o[1]), + n(e(T, h), s[1]), + ), + ), + -l[2], + ), + ), + ), + u[3], + ), + ), + t( + n( + t( + t( + n( + t( + n(e(G, N), o[1]), + t( + n(e(H, S), -l[1]), + n(e(F, M), u[1]), + ), + ), + a[2], + ), + n( + t( + n(e(G, N), a[1]), + t( + n(e(V, _), -l[1]), + n(e(R, b), u[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(H, S), a[1]), + t( + n(e(V, _), -o[1]), + n(e(k, m), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(F, M), a[1]), + t( + n(e(R, b), -o[1]), + n(e(k, m), l[1]), + ), + ), + -u[2], + ), + ), + ), + i[3], + ), + n( + t( + t( + n( + t( + n(e(G, N), o[1]), + t( + n(e(H, S), -l[1]), + n(e(F, M), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(G, N), i[1]), + t( + n(e(U, v), -l[1]), + n(e(z, d), u[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(H, S), i[1]), + t( + n(e(U, v), -o[1]), + n(e(T, h), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(F, M), i[1]), + t( + n(e(z, d), -o[1]), + n(e(T, h), l[1]), + ), + ), + -u[2], + ), + ), + ), + -a[3], + ), + ), + ), + ), + t( + t( + t( + n( + t( + t( + n( + t( + n(e(G, N), a[1]), + t( + n(e(V, _), -l[1]), + n(e(R, b), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(G, N), i[1]), + t( + n(e(U, v), -l[1]), + n(e(z, d), u[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(V, _), i[1]), + t( + n(e(U, v), -a[1]), + n(e(y, f), u[1]), + ), + ), + l[2], + ), + n( + t( + n(e(R, b), i[1]), + t( + n(e(z, d), -a[1]), + n(e(y, f), l[1]), + ), + ), + -u[2], + ), + ), + ), + o[3], + ), + n( + t( + t( + n( + t( + n(e(H, S), a[1]), + t( + n(e(V, _), -o[1]), + n(e(k, m), u[1]), + ), + ), + i[2], + ), + n( + t( + n(e(H, S), i[1]), + t( + n(e(U, v), -o[1]), + n(e(T, h), u[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(V, _), i[1]), + t( + n(e(U, v), -a[1]), + n(e(y, f), u[1]), + ), + ), + o[2], + ), + n( + t( + n(e(k, m), i[1]), + t( + n(e(T, h), -a[1]), + n(e(y, f), o[1]), + ), + ), + -u[2], + ), + ), + ), + -l[3], + ), + ), + t( + n( + t( + t( + n( + t( + n(e(F, M), a[1]), + t( + n(e(R, b), -o[1]), + n(e(k, m), l[1]), + ), + ), + i[2], + ), + n( + t( + n(e(F, M), i[1]), + t( + n(e(z, d), -o[1]), + n(e(T, h), l[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(R, b), i[1]), + t( + n(e(z, d), -a[1]), + n(e(y, f), l[1]), + ), + ), + o[2], + ), + n( + t( + n(e(k, m), i[1]), + t( + n(e(T, h), -a[1]), + n(e(y, f), o[1]), + ), + ), + -l[2], + ), + ), + ), + u[3], + ), + n( + t( + t( + n( + t( + n(e(B, P), o[1]), + t( + n(e(F, M), -s[1]), + n(e(O, A), l[1]), + ), + ), + a[2], + ), + n( + t( + n(e(B, P), a[1]), + t( + n(e(R, b), -s[1]), + n(e(C, x), l[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(F, M), a[1]), + t( + n(e(R, b), -o[1]), + n(e(k, m), l[1]), + ), + ), + s[2], + ), + n( + t( + n(e(O, A), a[1]), + t( + n(e(C, x), -o[1]), + n(e(k, m), s[1]), + ), + ), + -l[2], + ), + ), + ), + i[3], + ), + ), + ), + t( + t( + n( + t( + t( + n( + t( + n(e(B, P), o[1]), + t( + n(e(F, M), -s[1]), + n(e(O, A), l[1]), + ), + ), + i[2], + ), + n( + t( + n(e(B, P), i[1]), + t( + n(e(z, d), -s[1]), + n(e(L, p), l[1]), + ), + ), + -o[2], + ), + ), + t( + n( + t( + n(e(F, M), i[1]), + t( + n(e(z, d), -o[1]), + n(e(T, h), l[1]), + ), + ), + s[2], + ), + n( + t( + n(e(O, A), i[1]), + t( + n(e(L, p), -o[1]), + n(e(T, h), s[1]), + ), + ), + -l[2], + ), + ), + ), + -a[3], + ), + n( + t( + t( + n( + t( + n(e(B, P), a[1]), + t( + n(e(R, b), -s[1]), + n(e(C, x), l[1]), + ), + ), + i[2], + ), + n( + t( + n(e(B, P), i[1]), + t( + n(e(z, d), -s[1]), + n(e(L, p), l[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(R, b), i[1]), + t( + n(e(z, d), -a[1]), + n(e(y, f), l[1]), + ), + ), + s[2], + ), + n( + t( + n(e(C, x), i[1]), + t( + n(e(L, p), -a[1]), + n(e(y, f), s[1]), + ), + ), + -l[2], + ), + ), + ), + o[3], + ), + ), + t( + n( + t( + t( + n( + t( + n(e(F, M), a[1]), + t( + n(e(R, b), -o[1]), + n(e(k, m), l[1]), + ), + ), + i[2], + ), + n( + t( + n(e(F, M), i[1]), + t( + n(e(z, d), -o[1]), + n(e(T, h), l[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(R, b), i[1]), + t( + n(e(z, d), -a[1]), + n(e(y, f), l[1]), + ), + ), + o[2], + ), + n( + t( + n(e(k, m), i[1]), + t( + n(e(T, h), -a[1]), + n(e(y, f), o[1]), + ), + ), + -l[2], + ), + ), + ), + -s[3], + ), + n( + t( + t( + n( + t( + n(e(O, A), a[1]), + t( + n(e(C, x), -o[1]), + n(e(k, m), s[1]), + ), + ), + i[2], + ), + n( + t( + n(e(O, A), i[1]), + t( + n(e(L, p), -o[1]), + n(e(T, h), s[1]), + ), + ), + -a[2], + ), + ), + t( + n( + t( + n(e(C, x), i[1]), + t( + n(e(L, p), -a[1]), + n(e(y, f), s[1]), + ), + ), + o[2], + ), + n( + t( + n(e(k, m), i[1]), + t( + n(e(T, h), -a[1]), + n(e(y, f), o[1]), + ), + ), + -s[2], + ), + ), + ), + l[3], + ), + ), + ), + ), + ), + Y = e(Z, W); + return Y[Y.length - 1]; + }; + } + var h = [ + function () { + return 0; + }, + function () { + return 0; + }, + function () { + return 0; + }, + ]; + function p(t) { + var e = h[t.length]; + return ( + e || (e = h[t.length] = s(t.length)), + e.apply(void 0, t) + ); + } + function d(t, e, r, n, i, a, o, s) { + return function (e, r, l, u, c, f) { + switch (arguments.length) { + case 0: + case 1: + return 0; + case 2: + return n(e, r); + case 3: + return i(e, r, l); + case 4: + return a(e, r, l, u); + case 5: + return o(e, r, l, u, c); + case 6: + return s(e, r, l, u, c, f); + } + for ( + var h = new Array(arguments.length), + p = 0; + p < arguments.length; + ++p + ) + h[p] = arguments[p]; + return t(h); + }; + } + !(function () { + for (; h.length <= 6; ) h.push(s(h.length)); + t.exports = d.apply(void 0, [p].concat(h)); + for (var e = 0; e <= 6; ++e) + t.exports[e] = h[e]; + })(); + }, + 6606: function (t, e, r) { + "use strict"; + var n = r(8167); + function i(t) { + return ( + 2 === t + ? a + : 3 === t + ? o + : 4 === t + ? s + : 5 === t + ? l + : u + )(t < 6 ? n[t] : n); + } + function a(t) { + return function (e, r) { + return [ + t([ + [+r[0], +e[0][1]], + [+r[1], +e[1][1]], + ]), + t([ + [+e[0][0], +r[0]], + [+e[1][0], +r[1]], + ]), + t(e), + ]; + }; + } + function o(t) { + return function (e, r) { + return [ + t([ + [+r[0], +e[0][1], +e[0][2]], + [+r[1], +e[1][1], +e[1][2]], + [+r[2], +e[2][1], +e[2][2]], + ]), + t([ + [+e[0][0], +r[0], +e[0][2]], + [+e[1][0], +r[1], +e[1][2]], + [+e[2][0], +r[2], +e[2][2]], + ]), + t([ + [+e[0][0], +e[0][1], +r[0]], + [+e[1][0], +e[1][1], +r[1]], + [+e[2][0], +e[2][1], +r[2]], + ]), + t(e), + ]; + }; + } + function s(t) { + return function (e, r) { + return [ + t([ + [+r[0], +e[0][1], +e[0][2], +e[0][3]], + [+r[1], +e[1][1], +e[1][2], +e[1][3]], + [+r[2], +e[2][1], +e[2][2], +e[2][3]], + [+r[3], +e[3][1], +e[3][2], +e[3][3]], + ]), + t([ + [+e[0][0], +r[0], +e[0][2], +e[0][3]], + [+e[1][0], +r[1], +e[1][2], +e[1][3]], + [+e[2][0], +r[2], +e[2][2], +e[2][3]], + [+e[3][0], +r[3], +e[3][2], +e[3][3]], + ]), + t([ + [+e[0][0], +e[0][1], +r[0], +e[0][3]], + [+e[1][0], +e[1][1], +r[1], +e[1][3]], + [+e[2][0], +e[2][1], +r[2], +e[2][3]], + [+e[3][0], +e[3][1], +r[3], +e[3][3]], + ]), + t([ + [+e[0][0], +e[0][1], +e[0][2], +r[0]], + [+e[1][0], +e[1][1], +e[1][2], +r[1]], + [+e[2][0], +e[2][1], +e[2][2], +r[2]], + [+e[3][0], +e[3][1], +e[3][2], +r[3]], + ]), + t(e), + ]; + }; + } + function l(t) { + return function (e, r) { + return [ + t([ + [ + +r[0], + +e[0][1], + +e[0][2], + +e[0][3], + +e[0][4], + ], + [ + +r[1], + +e[1][1], + +e[1][2], + +e[1][3], + +e[1][4], + ], + [ + +r[2], + +e[2][1], + +e[2][2], + +e[2][3], + +e[2][4], + ], + [ + +r[3], + +e[3][1], + +e[3][2], + +e[3][3], + +e[3][4], + ], + [ + +r[4], + +e[4][1], + +e[4][2], + +e[4][3], + +e[4][4], + ], + ]), + t([ + [ + +e[0][0], + +r[0], + +e[0][2], + +e[0][3], + +e[0][4], + ], + [ + +e[1][0], + +r[1], + +e[1][2], + +e[1][3], + +e[1][4], + ], + [ + +e[2][0], + +r[2], + +e[2][2], + +e[2][3], + +e[2][4], + ], + [ + +e[3][0], + +r[3], + +e[3][2], + +e[3][3], + +e[3][4], + ], + [ + +e[4][0], + +r[4], + +e[4][2], + +e[4][3], + +e[4][4], + ], + ]), + t([ + [ + +e[0][0], + +e[0][1], + +r[0], + +e[0][3], + +e[0][4], + ], + [ + +e[1][0], + +e[1][1], + +r[1], + +e[1][3], + +e[1][4], + ], + [ + +e[2][0], + +e[2][1], + +r[2], + +e[2][3], + +e[2][4], + ], + [ + +e[3][0], + +e[3][1], + +r[3], + +e[3][3], + +e[3][4], + ], + [ + +e[4][0], + +e[4][1], + +r[4], + +e[4][3], + +e[4][4], + ], + ]), + t([ + [ + +e[0][0], + +e[0][1], + +e[0][2], + +r[0], + +e[0][4], + ], + [ + +e[1][0], + +e[1][1], + +e[1][2], + +r[1], + +e[1][4], + ], + [ + +e[2][0], + +e[2][1], + +e[2][2], + +r[2], + +e[2][4], + ], + [ + +e[3][0], + +e[3][1], + +e[3][2], + +r[3], + +e[3][4], + ], + [ + +e[4][0], + +e[4][1], + +e[4][2], + +r[4], + +e[4][4], + ], + ]), + t([ + [ + +e[0][0], + +e[0][1], + +e[0][2], + +e[0][3], + +r[0], + ], + [ + +e[1][0], + +e[1][1], + +e[1][2], + +e[1][3], + +r[1], + ], + [ + +e[2][0], + +e[2][1], + +e[2][2], + +e[2][3], + +r[2], + ], + [ + +e[3][0], + +e[3][1], + +e[3][2], + +e[3][3], + +r[3], + ], + [ + +e[4][0], + +e[4][1], + +e[4][2], + +e[4][3], + +r[4], + ], + ]), + t(e), + ]; + }; + } + function u(t) { + return function (e, r) { + return [ + t([ + [ + +r[0], + +e[0][1], + +e[0][2], + +e[0][3], + +e[0][4], + +e[0][5], + ], + [ + +r[1], + +e[1][1], + +e[1][2], + +e[1][3], + +e[1][4], + +e[1][5], + ], + [ + +r[2], + +e[2][1], + +e[2][2], + +e[2][3], + +e[2][4], + +e[2][5], + ], + [ + +r[3], + +e[3][1], + +e[3][2], + +e[3][3], + +e[3][4], + +e[3][5], + ], + [ + +r[4], + +e[4][1], + +e[4][2], + +e[4][3], + +e[4][4], + +e[4][5], + ], + [ + +r[5], + +e[5][1], + +e[5][2], + +e[5][3], + +e[5][4], + +e[5][5], + ], + ]), + t([ + [ + +e[0][0], + +r[0], + +e[0][2], + +e[0][3], + +e[0][4], + +e[0][5], + ], + [ + +e[1][0], + +r[1], + +e[1][2], + +e[1][3], + +e[1][4], + +e[1][5], + ], + [ + +e[2][0], + +r[2], + +e[2][2], + +e[2][3], + +e[2][4], + +e[2][5], + ], + [ + +e[3][0], + +r[3], + +e[3][2], + +e[3][3], + +e[3][4], + +e[3][5], + ], + [ + +e[4][0], + +r[4], + +e[4][2], + +e[4][3], + +e[4][4], + +e[4][5], + ], + [ + +e[5][0], + +r[5], + +e[5][2], + +e[5][3], + +e[5][4], + +e[5][5], + ], + ]), + t([ + [ + +e[0][0], + +e[0][1], + +r[0], + +e[0][3], + +e[0][4], + +e[0][5], + ], + [ + +e[1][0], + +e[1][1], + +r[1], + +e[1][3], + +e[1][4], + +e[1][5], + ], + [ + +e[2][0], + +e[2][1], + +r[2], + +e[2][3], + +e[2][4], + +e[2][5], + ], + [ + +e[3][0], + +e[3][1], + +r[3], + +e[3][3], + +e[3][4], + +e[3][5], + ], + [ + +e[4][0], + +e[4][1], + +r[4], + +e[4][3], + +e[4][4], + +e[4][5], + ], + [ + +e[5][0], + +e[5][1], + +r[5], + +e[5][3], + +e[5][4], + +e[5][5], + ], + ]), + t([ + [ + +e[0][0], + +e[0][1], + +e[0][2], + +r[0], + +e[0][4], + +e[0][5], + ], + [ + +e[1][0], + +e[1][1], + +e[1][2], + +r[1], + +e[1][4], + +e[1][5], + ], + [ + +e[2][0], + +e[2][1], + +e[2][2], + +r[2], + +e[2][4], + +e[2][5], + ], + [ + +e[3][0], + +e[3][1], + +e[3][2], + +r[3], + +e[3][4], + +e[3][5], + ], + [ + +e[4][0], + +e[4][1], + +e[4][2], + +r[4], + +e[4][4], + +e[4][5], + ], + [ + +e[5][0], + +e[5][1], + +e[5][2], + +r[5], + +e[5][4], + +e[5][5], + ], + ]), + t([ + [ + +e[0][0], + +e[0][1], + +e[0][2], + +e[0][3], + +r[0], + +e[0][5], + ], + [ + +e[1][0], + +e[1][1], + +e[1][2], + +e[1][3], + +r[1], + +e[1][5], + ], + [ + +e[2][0], + +e[2][1], + +e[2][2], + +e[2][3], + +r[2], + +e[2][5], + ], + [ + +e[3][0], + +e[3][1], + +e[3][2], + +e[3][3], + +r[3], + +e[3][5], + ], + [ + +e[4][0], + +e[4][1], + +e[4][2], + +e[4][3], + +r[4], + +e[4][5], + ], + [ + +e[5][0], + +e[5][1], + +e[5][2], + +e[5][3], + +r[5], + +e[5][5], + ], + ]), + t([ + [ + +e[0][0], + +e[0][1], + +e[0][2], + +e[0][3], + +e[0][4], + +r[0], + ], + [ + +e[1][0], + +e[1][1], + +e[1][2], + +e[1][3], + +e[1][4], + +r[1], + ], + [ + +e[2][0], + +e[2][1], + +e[2][2], + +e[2][3], + +e[2][4], + +r[2], + ], + [ + +e[3][0], + +e[3][1], + +e[3][2], + +e[3][3], + +e[3][4], + +r[3], + ], + [ + +e[4][0], + +e[4][1], + +e[4][2], + +e[4][3], + +e[4][4], + +r[4], + ], + [ + +e[5][0], + +e[5][1], + +e[5][2], + +e[5][3], + +e[5][4], + +r[5], + ], + ]), + t(e), + ]; + }; + } + var c = [ + function () { + return [[0]]; + }, + function (t, e) { + return [[e[0]], [t[0][0]]]; + }, + ]; + function f(t, e, r, n, i, a, o, s) { + return function (l, u) { + switch (l.length) { + case 0: + return t(l, u); + case 1: + return e(l, u); + case 2: + return r(l, u); + case 3: + return n(l, u); + case 4: + return i(l, u); + case 5: + return a(l, u); + } + var c = o[l.length]; + return ( + c || (c = o[l.length] = s(l.length)), + c(l, u) + ); + }; + } + !(function () { + for (; c.length < 6; ) c.push(i(c.length)); + t.exports = f.apply( + void 0, + c.concat([c, i]), + ); + for (var e = 0; e < 6; ++e) + t.exports[e] = c[e]; + })(); + }, + 417: function (t, e, r) { + "use strict"; + var n = r(9660), + i = r(9662), + a = r(8289), + o = r(4078); + function s(t, e, r, n) { + return function (r, i, a) { + var o = t( + t(e(i[1], a[0]), e(-a[1], i[0])), + t(e(r[1], i[0]), e(-i[1], r[0])), + ), + s = t(e(r[1], a[0]), e(-a[1], r[0])), + l = n(o, s); + return l[l.length - 1]; + }; + } + function l(t, e, r, n) { + return function (i, a, o, s) { + var l = t( + t( + r( + t(e(o[1], s[0]), e(-s[1], o[0])), + a[2], + ), + t( + r( + t( + e(a[1], s[0]), + e(-s[1], a[0]), + ), + -o[2], + ), + r( + t( + e(a[1], o[0]), + e(-o[1], a[0]), + ), + s[2], + ), + ), + ), + t( + r( + t(e(a[1], s[0]), e(-s[1], a[0])), + i[2], + ), + t( + r( + t( + e(i[1], s[0]), + e(-s[1], i[0]), + ), + -a[2], + ), + r( + t( + e(i[1], a[0]), + e(-a[1], i[0]), + ), + s[2], + ), + ), + ), + ), + u = t( + t( + r( + t(e(o[1], s[0]), e(-s[1], o[0])), + i[2], + ), + t( + r( + t( + e(i[1], s[0]), + e(-s[1], i[0]), + ), + -o[2], + ), + r( + t( + e(i[1], o[0]), + e(-o[1], i[0]), + ), + s[2], + ), + ), + ), + t( + r( + t(e(a[1], o[0]), e(-o[1], a[0])), + i[2], + ), + t( + r( + t( + e(i[1], o[0]), + e(-o[1], i[0]), + ), + -a[2], + ), + r( + t( + e(i[1], a[0]), + e(-a[1], i[0]), + ), + o[2], + ), + ), + ), + ), + c = n(l, u); + return c[c.length - 1]; + }; + } + function u(t, e, r, n) { + return function (i, a, o, s, l) { + var u = t( + t( + t( + r( + t( + r( + t( + e(s[1], l[0]), + e(-l[1], s[0]), + ), + o[2], + ), + t( + r( + t( + e(o[1], l[0]), + e(-l[1], o[0]), + ), + -s[2], + ), + r( + t( + e(o[1], s[0]), + e(-s[1], o[0]), + ), + l[2], + ), + ), + ), + a[3], + ), + t( + r( + t( + r( + t( + e(s[1], l[0]), + e(-l[1], s[0]), + ), + a[2], + ), + t( + r( + t( + e(a[1], l[0]), + e(-l[1], a[0]), + ), + -s[2], + ), + r( + t( + e(a[1], s[0]), + e(-s[1], a[0]), + ), + l[2], + ), + ), + ), + -o[3], + ), + r( + t( + r( + t( + e(o[1], l[0]), + e(-l[1], o[0]), + ), + a[2], + ), + t( + r( + t( + e(a[1], l[0]), + e(-l[1], a[0]), + ), + -o[2], + ), + r( + t( + e(a[1], o[0]), + e(-o[1], a[0]), + ), + l[2], + ), + ), + ), + s[3], + ), + ), + ), + t( + r( + t( + r( + t( + e(o[1], s[0]), + e(-s[1], o[0]), + ), + a[2], + ), + t( + r( + t( + e(a[1], s[0]), + e(-s[1], a[0]), + ), + -o[2], + ), + r( + t( + e(a[1], o[0]), + e(-o[1], a[0]), + ), + s[2], + ), + ), + ), + -l[3], + ), + t( + r( + t( + r( + t( + e(s[1], l[0]), + e(-l[1], s[0]), + ), + a[2], + ), + t( + r( + t( + e(a[1], l[0]), + e(-l[1], a[0]), + ), + -s[2], + ), + r( + t( + e(a[1], s[0]), + e(-s[1], a[0]), + ), + l[2], + ), + ), + ), + i[3], + ), + r( + t( + r( + t( + e(s[1], l[0]), + e(-l[1], s[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], l[0]), + e(-l[1], i[0]), + ), + -s[2], + ), + r( + t( + e(i[1], s[0]), + e(-s[1], i[0]), + ), + l[2], + ), + ), + ), + -a[3], + ), + ), + ), + ), + t( + t( + r( + t( + r( + t( + e(a[1], l[0]), + e(-l[1], a[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], l[0]), + e(-l[1], i[0]), + ), + -a[2], + ), + r( + t( + e(i[1], a[0]), + e(-a[1], i[0]), + ), + l[2], + ), + ), + ), + s[3], + ), + t( + r( + t( + r( + t( + e(a[1], s[0]), + e(-s[1], a[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], s[0]), + e(-s[1], i[0]), + ), + -a[2], + ), + r( + t( + e(i[1], a[0]), + e(-a[1], i[0]), + ), + s[2], + ), + ), + ), + -l[3], + ), + r( + t( + r( + t( + e(o[1], s[0]), + e(-s[1], o[0]), + ), + a[2], + ), + t( + r( + t( + e(a[1], s[0]), + e(-s[1], a[0]), + ), + -o[2], + ), + r( + t( + e(a[1], o[0]), + e(-o[1], a[0]), + ), + s[2], + ), + ), + ), + i[3], + ), + ), + ), + t( + r( + t( + r( + t( + e(o[1], s[0]), + e(-s[1], o[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], s[0]), + e(-s[1], i[0]), + ), + -o[2], + ), + r( + t( + e(i[1], o[0]), + e(-o[1], i[0]), + ), + s[2], + ), + ), + ), + -a[3], + ), + t( + r( + t( + r( + t( + e(a[1], s[0]), + e(-s[1], a[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], s[0]), + e(-s[1], i[0]), + ), + -a[2], + ), + r( + t( + e(i[1], a[0]), + e(-a[1], i[0]), + ), + s[2], + ), + ), + ), + o[3], + ), + r( + t( + r( + t( + e(a[1], o[0]), + e(-o[1], a[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], o[0]), + e(-o[1], i[0]), + ), + -a[2], + ), + r( + t( + e(i[1], a[0]), + e(-a[1], i[0]), + ), + o[2], + ), + ), + ), + -s[3], + ), + ), + ), + ), + ), + c = t( + t( + t( + r( + t( + r( + t( + e(s[1], l[0]), + e(-l[1], s[0]), + ), + o[2], + ), + t( + r( + t( + e(o[1], l[0]), + e(-l[1], o[0]), + ), + -s[2], + ), + r( + t( + e(o[1], s[0]), + e(-s[1], o[0]), + ), + l[2], + ), + ), + ), + i[3], + ), + r( + t( + r( + t( + e(s[1], l[0]), + e(-l[1], s[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], l[0]), + e(-l[1], i[0]), + ), + -s[2], + ), + r( + t( + e(i[1], s[0]), + e(-s[1], i[0]), + ), + l[2], + ), + ), + ), + -o[3], + ), + ), + t( + r( + t( + r( + t( + e(o[1], l[0]), + e(-l[1], o[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], l[0]), + e(-l[1], i[0]), + ), + -o[2], + ), + r( + t( + e(i[1], o[0]), + e(-o[1], i[0]), + ), + l[2], + ), + ), + ), + s[3], + ), + r( + t( + r( + t( + e(o[1], s[0]), + e(-s[1], o[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], s[0]), + e(-s[1], i[0]), + ), + -o[2], + ), + r( + t( + e(i[1], o[0]), + e(-o[1], i[0]), + ), + s[2], + ), + ), + ), + -l[3], + ), + ), + ), + t( + t( + r( + t( + r( + t( + e(o[1], l[0]), + e(-l[1], o[0]), + ), + a[2], + ), + t( + r( + t( + e(a[1], l[0]), + e(-l[1], a[0]), + ), + -o[2], + ), + r( + t( + e(a[1], o[0]), + e(-o[1], a[0]), + ), + l[2], + ), + ), + ), + i[3], + ), + r( + t( + r( + t( + e(o[1], l[0]), + e(-l[1], o[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], l[0]), + e(-l[1], i[0]), + ), + -o[2], + ), + r( + t( + e(i[1], o[0]), + e(-o[1], i[0]), + ), + l[2], + ), + ), + ), + -a[3], + ), + ), + t( + r( + t( + r( + t( + e(a[1], l[0]), + e(-l[1], a[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], l[0]), + e(-l[1], i[0]), + ), + -a[2], + ), + r( + t( + e(i[1], a[0]), + e(-a[1], i[0]), + ), + l[2], + ), + ), + ), + o[3], + ), + r( + t( + r( + t( + e(a[1], o[0]), + e(-o[1], a[0]), + ), + i[2], + ), + t( + r( + t( + e(i[1], o[0]), + e(-o[1], i[0]), + ), + -a[2], + ), + r( + t( + e(i[1], a[0]), + e(-a[1], i[0]), + ), + o[2], + ), + ), + ), + -l[3], + ), + ), + ), + ), + f = n(u, c); + return f[f.length - 1]; + }; + } + function c(t) { + return (3 === t ? s : 4 === t ? l : u)( + i, + n, + a, + o, + ); + } + var f = c(3), + h = c(4), + p = [ + 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 = 33306690738754716e-32 * n; + return o >= s || o <= -s + ? o + : f(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], + f = e[2] - n[2], + p = r[2] - n[2], + d = a * u, + v = o * l, + g = o * s, + y = i * u, + m = i * l, + x = a * s, + b = + c * (d - v) + + f * (g - y) + + p * (m - x), + _ = + 7771561172376103e-31 * + ((Math.abs(d) + Math.abs(v)) * + Math.abs(c) + + (Math.abs(g) + Math.abs(y)) * + Math.abs(f) + + (Math.abs(m) + Math.abs(x)) * + Math.abs(p)); + return b > _ || -b > _ + ? b + : h(t, e, r, n); + }, + ]; + function d(t) { + var e = p[t.length]; + return ( + e || (e = p[t.length] = c(t.length)), + e.apply(void 0, t) + ); + } + function v(t, e, r, n, i, a, o) { + return function (e, r, s, l, u) { + switch (arguments.length) { + case 0: + case 1: + return 0; + case 2: + return n(e, r); + case 3: + return i(e, r, s); + case 4: + return a(e, r, s, l); + case 5: + return o(e, r, s, l, u); + } + for ( + var c = new Array(arguments.length), + f = 0; + f < arguments.length; + ++f + ) + c[f] = arguments[f]; + return t(c); + }; + } + !(function () { + for (; p.length <= 5; ) p.push(c(p.length)); + t.exports = v.apply(void 0, [d].concat(p)); + for (var e = 0; e <= 5; ++e) + t.exports[e] = p[e]; + })(); + }, + 2019: function (t, e, r) { + "use strict"; + var n = r(9662), + i = r(8289); + t.exports = function (t, e) { + if (1 === t.length) return i(e, t[0]); + if (1 === e.length) return i(t, e[0]); + if (0 === t.length || 0 === e.length) + return [0]; + var r = [0]; + if (t.length < e.length) + for (var a = 0; a < t.length; ++a) + r = n(r, i(e, t[a])); + else + for (a = 0; a < e.length; ++a) + r = n(r, i(t, e[a])); + return r; + }; + }, + 8289: function (t, e, r) { + "use strict"; + var n = r(9660), + i = r(87); + t.exports = function (t, e) { + var r = t.length; + if (1 === r) { + var a = n(t[0], e); + return a[0] ? a : [a[1]]; + } + var o = new Array(2 * r), + s = [0.1, 0.1], + l = [0.1, 0.1], + u = 0; + n(t[0], e, s), s[0] && (o[u++] = s[0]); + for (var c = 1; c < r; ++c) { + n(t[c], e, l); + var f = s[1]; + i(f, l[0], s), s[0] && (o[u++] = s[0]); + var h = l[1], + p = s[1], + d = h + p, + v = p - (d - h); + (s[1] = d), v && (o[u++] = v); + } + return ( + s[1] && (o[u++] = s[1]), + 0 === u && (o[u++] = 0), + (o.length = u), + o + ); + }; + }, + 4434: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r, i) { + var a = n(t, r, i), + o = n(e, r, i); + if ((a > 0 && o > 0) || (a < 0 && o < 0)) + return !1; + var s = n(r, t, e), + l = n(i, t, e); + return ( + !((s > 0 && l > 0) || (s < 0 && l < 0)) && + (0 !== a || + 0 !== o || + 0 !== s || + 0 !== l || + (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], + f = Math.min(u, c); + if (Math.max(u, c) < s || l < f) + return !1; + } + return !0; + })(t, e, r, i)) + ); + }; + var n = r(417)[3]; + }, + 4078: function (t) { + "use strict"; + t.exports = 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); + return i ? [i, r] : [r]; + })(t[0], -e[0]); + var i, + a, + o = new Array(r + n), + s = 0, + l = 0, + u = 0, + c = Math.abs, + f = t[l], + h = c(f), + p = -e[u], + d = c(p); + h < d + ? ((a = f), + (l += 1) < r && (h = c((f = t[l])))) + : ((a = p), + (u += 1) < n && (d = c((p = -e[u])))), + (l < r && h < d) || u >= n + ? ((i = f), + (l += 1) < r && (h = c((f = t[l])))) + : ((i = p), + (u += 1) < n && (d = c((p = -e[u])))); + for ( + var v, + g, + y = i + a, + m = y - i, + x = a - m, + b = x, + _ = y; + l < r && u < n; + + ) + h < d + ? ((i = f), + (l += 1) < r && (h = c((f = t[l])))) + : ((i = p), + (u += 1) < n && (d = c((p = -e[u])))), + (x = (a = b) - (m = (y = i + a) - i)) && + (o[s++] = x), + (b = + _ - + ((v = _ + y) - (g = v - _)) + + (y - g)), + (_ = v); + for (; l < r; ) + (x = + (a = b) - + (m = (y = (i = f) + a) - i)) && + (o[s++] = x), + (b = + _ - + ((v = _ + y) - (g = v - _)) + + (y - g)), + (_ = v), + (l += 1) < r && (f = t[l]); + for (; u < n; ) + (x = + (a = b) - + (m = (y = (i = p) + a) - i)) && + (o[s++] = x), + (b = + _ - + ((v = _ + y) - (g = v - _)) + + (y - g)), + (_ = v), + (u += 1) < n && (p = -e[u]); + return ( + b && (o[s++] = b), + _ && (o[s++] = _), + s || (o[s++] = 0), + (o.length = s), + o + ); + }; + }, + 9662: function (t) { + "use strict"; + t.exports = 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); + return i ? [i, r] : [r]; + })(t[0], e[0]); + var i, + a, + o = new Array(r + n), + s = 0, + l = 0, + u = 0, + c = Math.abs, + f = t[l], + h = c(f), + p = e[u], + d = c(p); + h < d + ? ((a = f), + (l += 1) < r && (h = c((f = t[l])))) + : ((a = p), + (u += 1) < n && (d = c((p = e[u])))), + (l < r && h < d) || u >= n + ? ((i = f), + (l += 1) < r && (h = c((f = t[l])))) + : ((i = p), + (u += 1) < n && (d = c((p = e[u])))); + for ( + var v, + g, + y = i + a, + m = y - i, + x = a - m, + b = x, + _ = y; + l < r && u < n; + + ) + h < d + ? ((i = f), + (l += 1) < r && (h = c((f = t[l])))) + : ((i = p), + (u += 1) < n && (d = c((p = e[u])))), + (x = (a = b) - (m = (y = i + a) - i)) && + (o[s++] = x), + (b = + _ - + ((v = _ + y) - (g = v - _)) + + (y - g)), + (_ = v); + for (; l < r; ) + (x = + (a = b) - + (m = (y = (i = f) + a) - i)) && + (o[s++] = x), + (b = + _ - + ((v = _ + y) - (g = v - _)) + + (y - g)), + (_ = v), + (l += 1) < r && (f = t[l]); + for (; u < n; ) + (x = + (a = b) - + (m = (y = (i = p) + a) - i)) && + (o[s++] = x), + (b = + _ - + ((v = _ + y) - (g = v - _)) + + (y - g)), + (_ = v), + (u += 1) < n && (p = e[u]); + return ( + b && (o[s++] = b), + _ && (o[s++] = _), + s || (o[s++] = 0), + (o.length = s), + o + ); + }; + }, + 8691: function (t, e, r) { + "use strict"; + t.exports = function (t) { + return i(n(t)); + }; + var n = r(2692), + i = r(7037); + }, + 7212: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r, s) { + if ( + ((r = r || 0), + void 0 === s && + (s = (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)), + 0 === t.length || s < 1) + ) + return { + cells: [], + vertexIds: [], + vertexWeights: [], + }; + var l = (function (t, e) { + for ( + var r = t.length, + n = i.mallocUint8(r), + a = 0; + a < r; + ++a + ) + n[a] = (t[a] < e) | 0; + return n; + })(e, +r), + u = (function (t, e) { + for ( + var r = t.length, + o = (((e * (e + 1)) / 2) * r) | 0, + s = i.mallocUint32(2 * o), + l = 0, + u = 0; + u < r; + ++u + ) + for ( + var c = t[u], + f = ((e = c.length), 0); + f < e; + ++f + ) + for (var h = 0; h < f; ++h) { + var p = c[h], + d = c[f]; + (s[l++] = 0 | Math.min(p, d)), + (s[l++] = 0 | Math.max(p, d)); + } + a(n(s, [(l / 2) | 0, 2])); + var v = 2; + for (u = 2; u < l; u += 2) + (s[u - 2] === s[u] && + s[u - 1] === s[u + 1]) || + ((s[v++] = s[u]), + (s[v++] = s[u + 1])); + return n(s, [(v / 2) | 0, 2]); + })(t, s), + c = (function (t, e, r, a) { + for ( + var o = t.data, + s = t.shape[0], + l = i.mallocDouble(s), + u = 0, + c = 0; + c < s; + ++c + ) { + var f = o[2 * c], + h = o[2 * c + 1]; + if (r[f] !== r[h]) { + var p = e[f], + d = e[h]; + (o[2 * u] = f), + (o[2 * u + 1] = h), + (l[u++] = (d - a) / (d - p)); + } + } + return (t.shape[0] = u), n(l, [u]); + })(u, e, l, +r), + f = (function (t, e) { + var r = i.mallocInt32(2 * e), + n = t.shape[0], + a = t.data; + r[0] = 0; + for (var o = 0, s = 0; s < n; ++s) { + var l = a[2 * s]; + if (l !== o) { + for (r[2 * o + 1] = s; ++o < l; ) + (r[2 * o] = s), + (r[2 * o + 1] = s); + r[2 * o] = s; + } + } + for (r[2 * o + 1] = n; ++o < e; ) + r[2 * o] = r[2 * o + 1] = n; + return r; + })(u, 0 | e.length), + h = o(s)(t, u.data, f, l), + p = (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; + })(u), + d = [].slice.call(c.data, 0, c.shape[0]); + return ( + i.free(l), + i.free(u.data), + i.free(c.data), + i.free(f), + { + cells: h, + vertexIds: p, + vertexWeights: d, + } + ); + }; + var n = r(5050), + i = r(5306), + a = r(8729), + o = r(1168); + }, + 1168: function (t) { + "use strict"; + t.exports = function (t) { + return e[t](); + }; + var e = [ + function () { + return function (t, e, r, n) { + for ( + var i = t.length, a = 0; + a < i; + ++a + ) + t[a].length; + return []; + }; + }, + function () { + function t(t, e, r, n) { + for ( + var i = 0 | Math.min(r, n), + a = 0 | Math.max(r, n), + o = t[2 * i], + s = t[2 * i + 1]; + o < s; + + ) { + var l = (o + s) >> 1, + u = e[2 * l + 1]; + if (u === a) return l; + a < u ? (s = l) : (o = l + 1); + } + return o; + } + return function (e, r, n, i) { + for ( + var a = e.length, o = [], s = 0; + s < a; + ++s + ) { + var l = e[s]; + if (2 === l.length) { + var u = + (i[l[0]] << 0) + (i[l[1]] << 1); + if (0 === u || 3 === u) continue; + switch (u) { + case 0: + case 3: + break; + case 1: + o.push([t(n, r, l[0], l[1])]); + break; + case 2: + o.push([t(n, r, l[1], l[0])]); + } + } + } + return o; + }; + }, + function () { + function t(t, e, r, n) { + for ( + var i = 0 | Math.min(r, n), + a = 0 | Math.max(r, n), + o = t[2 * i], + s = t[2 * i + 1]; + o < s; + + ) { + var l = (o + s) >> 1, + u = e[2 * l + 1]; + if (u === a) return l; + a < u ? (s = l) : (o = l + 1); + } + return o; + } + return function (e, r, n, i) { + for ( + var a = e.length, o = [], s = 0; + s < a; + ++s + ) { + var l = e[s], + u = l.length; + if (3 === u) { + if ( + 0 == + (c = + (i[l[0]] << 0) + + (i[l[1]] << 1) + + (i[l[2]] << 2)) || + 7 === c + ) + continue; + switch (c) { + case 0: + case 7: + break; + case 1: + o.push([ + t(n, r, l[0], l[2]), + t(n, r, l[0], l[1]), + ]); + break; + case 2: + o.push([ + t(n, r, l[1], l[0]), + t(n, r, l[1], l[2]), + ]); + break; + case 3: + o.push([ + t(n, r, l[0], l[2]), + t(n, r, l[1], l[2]), + ]); + break; + case 4: + o.push([ + t(n, r, l[2], l[1]), + t(n, r, l[2], l[0]), + ]); + break; + case 5: + o.push([ + t(n, r, l[2], l[1]), + t(n, r, l[0], l[1]), + ]); + break; + case 6: + o.push([ + t(n, r, l[1], l[0]), + t(n, r, l[2], l[0]), + ]); + } + } else if (2 === u) { + var c; + if ( + 0 == + (c = + (i[l[0]] << 0) + + (i[l[1]] << 1)) || + 3 === c + ) + continue; + switch (c) { + case 0: + case 3: + break; + case 1: + o.push([t(n, r, l[0], l[1])]); + break; + case 2: + o.push([t(n, r, l[1], l[0])]); + } + } + } + return o; + }; + }, + function () { + function t(t, e, r, n) { + for ( + var i = 0 | Math.min(r, n), + a = 0 | Math.max(r, n), + o = t[2 * i], + s = t[2 * i + 1]; + o < s; + + ) { + var l = (o + s) >> 1, + u = e[2 * l + 1]; + if (u === a) return l; + a < u ? (s = l) : (o = l + 1); + } + return o; + } + return function (e, r, n, i) { + for ( + var a = e.length, o = [], s = 0; + s < a; + ++s + ) { + var l = e[s], + u = l.length; + if (4 === u) { + if ( + 0 == + (c = + (i[l[0]] << 0) + + (i[l[1]] << 1) + + (i[l[2]] << 2) + + (i[l[3]] << 3)) || + 15 === c + ) + continue; + switch (c) { + case 0: + case 15: + break; + case 1: + o.push([ + t(n, r, l[0], l[1]), + t(n, r, l[0], l[2]), + t(n, r, l[0], l[3]), + ]); + break; + case 2: + o.push([ + t(n, r, l[1], l[2]), + t(n, r, l[1], l[0]), + t(n, r, l[1], l[3]), + ]); + break; + case 3: + o.push( + [ + t(n, r, l[1], l[2]), + t(n, r, l[0], l[2]), + t(n, r, l[0], l[3]), + ], + [ + t(n, r, l[1], l[3]), + t(n, r, l[1], l[2]), + t(n, r, l[0], l[3]), + ], + ); + break; + case 4: + o.push([ + t(n, r, l[2], l[0]), + t(n, r, l[2], l[1]), + t(n, r, l[2], l[3]), + ]); + break; + case 5: + o.push( + [ + t(n, r, l[0], l[1]), + t(n, r, l[2], l[1]), + t(n, r, l[0], l[3]), + ], + [ + t(n, r, l[2], l[1]), + t(n, r, l[2], l[3]), + t(n, r, l[0], l[3]), + ], + ); + break; + case 6: + o.push( + [ + t(n, r, l[2], l[0]), + t(n, r, l[1], l[0]), + t(n, r, l[1], l[3]), + ], + [ + t(n, r, l[2], l[3]), + t(n, r, l[2], l[0]), + t(n, r, l[1], l[3]), + ], + ); + break; + case 7: + o.push([ + t(n, r, l[0], l[3]), + t(n, r, l[1], l[3]), + t(n, r, l[2], l[3]), + ]); + break; + case 8: + o.push([ + t(n, r, l[3], l[1]), + t(n, r, l[3], l[0]), + t(n, r, l[3], l[2]), + ]); + break; + case 9: + o.push( + [ + t(n, r, l[3], l[1]), + t(n, r, l[0], l[1]), + t(n, r, l[0], l[2]), + ], + [ + t(n, r, l[3], l[2]), + t(n, r, l[3], l[1]), + t(n, r, l[0], l[2]), + ], + ); + break; + case 10: + o.push( + [ + t(n, r, l[1], l[0]), + t(n, r, l[3], l[0]), + t(n, r, l[1], l[2]), + ], + [ + t(n, r, l[3], l[0]), + t(n, r, l[3], l[2]), + t(n, r, l[1], l[2]), + ], + ); + break; + case 11: + o.push([ + t(n, r, l[1], l[2]), + t(n, r, l[0], l[2]), + t(n, r, l[3], l[2]), + ]); + break; + case 12: + o.push( + [ + t(n, r, l[3], l[0]), + t(n, r, l[2], l[0]), + t(n, r, l[2], l[1]), + ], + [ + t(n, r, l[3], l[1]), + t(n, r, l[3], l[0]), + t(n, r, l[2], l[1]), + ], + ); + break; + case 13: + o.push([ + t(n, r, l[0], l[1]), + t(n, r, l[2], l[1]), + t(n, r, l[3], l[1]), + ]); + break; + case 14: + o.push([ + t(n, r, l[2], l[0]), + t(n, r, l[1], l[0]), + t(n, r, l[3], l[0]), + ]); + } + } else if (3 === u) { + if ( + 0 == + (c = + (i[l[0]] << 0) + + (i[l[1]] << 1) + + (i[l[2]] << 2)) || + 7 === c + ) + continue; + switch (c) { + case 0: + case 7: + break; + case 1: + o.push([ + t(n, r, l[0], l[2]), + t(n, r, l[0], l[1]), + ]); + break; + case 2: + o.push([ + t(n, r, l[1], l[0]), + t(n, r, l[1], l[2]), + ]); + break; + case 3: + o.push([ + t(n, r, l[0], l[2]), + t(n, r, l[1], l[2]), + ]); + break; + case 4: + o.push([ + t(n, r, l[2], l[1]), + t(n, r, l[2], l[0]), + ]); + break; + case 5: + o.push([ + t(n, r, l[2], l[1]), + t(n, r, l[0], l[1]), + ]); + break; + case 6: + o.push([ + t(n, r, l[1], l[0]), + t(n, r, l[2], l[0]), + ]); + } + } else if (2 === u) { + var c; + if ( + 0 == + (c = + (i[l[0]] << 0) + + (i[l[1]] << 1)) || + 3 === c + ) + continue; + switch (c) { + case 0: + case 3: + break; + case 1: + o.push([t(n, r, l[0], l[1])]); + break; + case 2: + o.push([t(n, r, l[1], l[0])]); + } + } + } + return o; + }; + }, + ]; + }, + 8211: function (t, e, r) { + "use strict"; + r(2288), + r(1731), + (e.H = function (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 f = e.slice(0); + f.sort(); + for (var h = 0; h < r; ++h) + if ((n = c[h] - f[h])) return n; + return 0; + } + }); + }, + 9392: function (t, e) { + "use strict"; + function r(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 + ); + } + (e.INT_BITS = 32), + (e.INT_MAX = 2147483647), + (e.INT_MIN = -1 << 31), + (e.sign = function (t) { + return (t > 0) - (t < 0); + }), + (e.abs = function (t) { + var e = t >> 31; + return (t ^ e) - e; + }), + (e.min = function (t, e) { + return e ^ ((t ^ e) & -(t < e)); + }), + (e.max = function (t, e) { + return t ^ ((t ^ e) & -(t < e)); + }), + (e.isPow2 = function (t) { + return !(t & (t - 1) || !t); + }), + (e.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) + ); + }), + (e.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; + }), + (e.popCount = function (t) { + return ( + (16843009 * + (((t = + (858993459 & + (t -= (t >>> 1) & 1431655765)) + + ((t >>> 2) & 858993459)) + + (t >>> 4)) & + 252645135)) >>> + 24 + ); + }), + (e.countTrailingZeros = r), + (e.nextPow2 = function (t) { + return ( + (t += 0 === t), + --t, + (t |= t >>> 1), + (t |= t >>> 2), + (t |= t >>> 4), + 1 + ((t |= t >>> 8) | (t >>> 16)) + ); + }), + (e.prevPow2 = function (t) { + return ( + (t |= t >>> 1), + (t |= t >>> 2), + (t |= t >>> 4), + (t |= t >>> 8), + (t |= t >>> 16) - (t >>> 1) + ); + }), + (e.parity = function (t) { + return ( + (t ^= t >>> 16), + (t ^= t >>> 8), + (t ^= t >>> 4), + (27030 >>> (t &= 15)) & 1 + ); + }); + var n = 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; + } + })(n), + (e.reverse = function (t) { + return ( + (n[255 & t] << 24) | + (n[(t >>> 8) & 255] << 16) | + (n[(t >>> 16) & 255] << 8) | + n[(t >>> 24) & 255] + ); + }), + (e.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) + ); + }), + (e.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 + ); + }), + (e.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) + ); + }), + (e.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 + ); + }), + (e.nextCombination = function (t) { + var e = t | (t - 1); + return ( + (e + 1) | + (((~e & -~e) - 1) >>> (r(t) + 1)) + ); + }); + }, + 6656: function (t, e, r) { + "use strict"; + var n = r(9392), + i = r(9521); + function a(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 f = e.slice(0); + f.sort(); + for (var h = 0; h < r; ++h) + if ((n = c[h] - f[h])) return n; + return 0; + } + } + function o(t, e) { + return a(t[0], e[0]); + } + function s(t, e) { + if (e) { + for ( + var r = t.length, + n = new Array(r), + i = 0; + i < r; + ++i + ) + n[i] = [t[i], e[i]]; + for (n.sort(o), i = 0; i < r; ++i) + (t[i] = n[i][0]), (e[i] = n[i][1]); + return t; + } + return t.sort(a), t; + } + function l(t) { + if (0 === t.length) return []; + for ( + var e = 1, r = t.length, n = 1; + n < r; + ++n + ) { + var i = t[n]; + if (a(i, t[n - 1])) { + if (n === e) { + e++; + continue; + } + t[e++] = i; + } + } + return (t.length = e), t; + } + function u(t, e) { + for ( + var r = 0, n = t.length - 1, i = -1; + r <= n; + + ) { + var o = (r + n) >> 1, + s = a(t[o], e); + s <= 0 + ? (0 === s && (i = o), (r = o + 1)) + : s > 0 && (n = o - 1); + } + return i; + } + function c(t, e) { + for ( + var r = new Array(t.length), + i = 0, + o = r.length; + i < o; + ++i + ) + r[i] = []; + for ( + var s = [], l = ((i = 0), e.length); + i < l; + ++i + ) + for ( + var c = e[i], + f = c.length, + h = 1, + p = 1 << f; + h < p; + ++h + ) { + s.length = n.popCount(h); + for (var d = 0, v = 0; v < f; ++v) + h & (1 << v) && (s[d++] = c[v]); + var g = u(t, s); + if (!(g < 0)) + for ( + ; + r[g++].push(i), + !( + g >= t.length || + 0 !== a(t[g], s) + ); + + ); + } + return r; + } + function f(t, e) { + if (e < 0) return []; + for ( + var r = [], i = (1 << (e + 1)) - 1, a = 0; + a < t.length; + ++a + ) + for ( + var o = t[a], l = i; + l < 1 << o.length; + l = n.nextCombination(l) + ) { + for ( + var u = new Array(e + 1), + c = 0, + f = 0; + f < o.length; + ++f + ) + l & (1 << f) && (u[c++] = o[f]); + r.push(u); + } + return s(r); + } + (e.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; + }), + (e.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; + }), + (e.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; + }), + (e.compareCells = a), + (e.normalize = s), + (e.unique = l), + (e.findCell = u), + (e.incidence = c), + (e.dual = function (t, e) { + if (!e) return c(l(f(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; + }), + (e.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, + l = 1 << a; + o < l; + ++o + ) { + for (var u = [], c = 0; c < a; ++c) + (o >>> c) & 1 && u.push(i[c]); + e.push(u); + } + return s(e); + }), + (e.skeleton = f), + (e.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 l = new Array(i.length - 1), + u = 0, + c = 0; + u < o; + ++u + ) + u !== a && (l[c++] = i[u]); + e.push(l); + } + return s(e); + }), + (e.connectedComponents = function (t, e) { + return e + ? (function (t, e) { + for ( + var r = new i(e), n = 0; + n < t.length; + ++n + ) + for ( + var a = t[n], o = 0; + o < a.length; + ++o + ) + for ( + var s = o + 1; + s < a.length; + ++s + ) + r.link(a[o], a[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(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, e) + : (function (t) { + for ( + var e = l(s(f(t, 0))), + r = new i(e.length), + n = 0; + n < t.length; + ++n + ) + for ( + var a = t[n], o = 0; + o < a.length; + ++o + ) + for ( + var c = u(e, [a[o]]), + h = o + 1; + h < a.length; + ++h + ) + r.link(c, u(e, [a[h]])); + var p = [], + d = r.ranks; + for (n = 0; n < d.length; ++n) + d[n] = -1; + for (n = 0; n < t.length; ++n) { + var v = r.find(u(e, [t[n][0]])); + d[v] < 0 + ? ((d[v] = p.length), + p.push([t[n].slice(0)])) + : p[d[v]].push(t[n].slice(0)); + } + return p; + })(t); + }); + }, + 9521: function (t) { + "use strict"; + function e(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); + } + (t.exports = e), + (e.prototype.length = function () { + return this.roots.length; + }), + (e.prototype.makeSet = function () { + var t = this.roots.length; + return ( + this.roots.push(t), + this.ranks.push(0), + t + ); + }), + (e.prototype.find = function (t) { + for (var e = this.roots; e[t] !== t; ) { + var r = e[t]; + (e[t] = e[r]), (t = r); + } + return t; + }), + (e.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]); + } + }); + }, + 8243: function (t, e, r) { + "use strict"; + t.exports = function (t, e, r) { + for ( + var a = e.length, + o = t.length, + s = new Array(a), + l = new Array(a), + u = new Array(a), + c = new Array(a), + f = 0; + f < a; + ++f + ) + (s[f] = l[f] = -1), + (u[f] = 1 / 0), + (c[f] = !1); + for (f = 0; f < o; ++f) { + var h = t[f]; + if (2 !== h.length) + throw new Error( + "Input must be a graph", + ); + var p = h[1], + d = h[0]; + -1 !== l[d] ? (l[d] = -2) : (l[d] = p), + -1 !== s[p] ? (s[p] = -2) : (s[p] = d); + } + function v(t) { + if (c[t]) return 1 / 0; + var r, + i, + a, + o = s[t], + u = l[t]; + return o < 0 || u < 0 + ? 1 / 0 + : ((r = e[t]), + (i = e[o]), + (a = e[u]), + Math.abs(n(r, i, a)) / + Math.sqrt( + Math.pow(i[0] - a[0], 2) + + Math.pow(i[1] - a[1], 2), + )); + } + function g(t, e) { + var r = k[t], + n = k[e]; + (k[t] = n), + (k[e] = r), + (A[r] = e), + (A[n] = t); + } + function y(t) { + return u[k[t]]; + } + function m(t) { + return 1 & t + ? (t - 1) >> 1 + : (t >> 1) - 1; + } + function x(t) { + for (var e = y(t); ; ) { + var r = e, + n = 2 * t + 1, + i = 2 * (t + 1), + a = t; + if (n < M) { + var o = y(n); + o < r && ((a = n), (r = o)); + } + if ( + (i < M && y(i) < r && (a = i), + a === t) + ) + return t; + g(t, a), (t = a); + } + } + function b(t) { + for (var e = y(t); t > 0; ) { + var r = m(t); + if (!(r >= 0 && e < y(r))) return t; + g(t, r), (t = r); + } + } + function _() { + if (M > 0) { + var t = k[0]; + return g(0, M - 1), (M -= 1), x(0), t; + } + return -1; + } + function w(t, e) { + var r = k[t]; + return u[r] === e + ? t + : ((u[r] = -1 / 0), + b(t), + _(), + (u[r] = e), + b((M += 1) - 1)); + } + function T(t) { + if (!c[t]) { + c[t] = !0; + var e = s[t], + r = l[t]; + s[r] >= 0 && (s[r] = e), + l[e] >= 0 && (l[e] = r), + A[e] >= 0 && w(A[e], v(e)), + A[r] >= 0 && w(A[r], v(r)); + } + } + var k = [], + A = new Array(a); + for (f = 0; f < a; ++f) + (u[f] = v(f)) < 1 / 0 + ? ((A[f] = k.length), k.push(f)) + : (A[f] = -1); + var M = k.length; + for (f = M >> 1; f >= 0; --f) x(f); + for (;;) { + var S = _(); + if (S < 0 || u[S] > r) break; + T(S); + } + var E = []; + for (f = 0; f < a; ++f) + c[f] || + ((A[f] = E.length), + E.push(e[f].slice())); + function L(t, e) { + if (t[e] < 0) return e; + var r = e, + n = e; + do { + var i = t[n]; + if (!c[n] || i < 0 || i === n) break; + if ( + ((i = t[(n = i)]), + !c[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; + } + E.length; + var C = []; + return ( + t.forEach(function (t) { + var e = L(s, t[0]), + r = L(l, t[1]); + if (e >= 0 && r >= 0 && e !== r) { + var n = A[e], + i = A[r]; + n !== i && C.push([n, i]); + } + }), + i.unique(i.normalize(C)), + { positions: E, edges: C } + ); + }; + var n = r(417), + i = r(6656); + }, + 6638: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + var r, a, o, s; + if (e[0][0] < e[1][0]) + (r = e[0]), (a = e[1]); + else { + if (!(e[0][0] > e[1][0])) return i(e, t); + (r = e[1]), (a = e[0]); + } + if (t[0][0] < t[1][0]) + (o = t[0]), (s = t[1]); + else { + if (!(t[0][0] > t[1][0])) return -i(t, e); + (o = t[1]), (s = t[0]); + } + var l = n(r, a, s), + u = n(r, a, o); + if (l < 0) { + if (u <= 0) return l; + } else if (l > 0) { + if (u >= 0) return l; + } else if (u) return u; + if ( + ((l = n(s, o, a)), + (u = n(s, o, r)), + l < 0) + ) { + if (u <= 0) return l; + } else if (l > 0) { + if (u >= 0) return l; + } else if (u) return u; + return a[0] - s[0]; + }; + var n = r(417); + function i(t, e) { + var r, i, a, o; + if (e[0][0] < e[1][0]) + (r = e[0]), (i = e[1]); + else { + if (!(e[0][0] > e[1][0])) { + var s = Math.min(t[0][1], t[1][1]), + l = Math.max(t[0][1], t[1][1]), + u = Math.min(e[0][1], e[1][1]), + c = Math.max(e[0][1], e[1][1]); + return l < u + ? l - u + : s > c + ? s - c + : l - c; + } + (r = e[1]), (i = e[0]); + } + t[0][1] < t[1][1] + ? ((a = t[0]), (o = t[1])) + : ((a = t[1]), (o = t[0])); + var f = n(i, r, a); + return f || (f = n(i, r, o)) || o - i; + } + }, + 4385: function (t, e, r) { + "use strict"; + t.exports = function (t) { + for ( + var e = t.length, + r = 2 * e, + n = new Array(r), + a = 0; + a < e; + ++a + ) { + var l = t[a], + u = l[0][0] < l[1][0]; + (n[2 * a] = new f(l[0][0], l, u, a)), + (n[2 * a + 1] = new f( + l[1][0], + l, + !u, + a, + )); + } + 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], + ) + ); + }); + var h = i(o), + p = [], + d = [], + v = []; + for (a = 0; a < r; ) { + for (var g = n[a].x, y = []; a < r; ) { + var m = n[a]; + if (m.x !== g) break; + (a += 1), + m.segment[0][0] === m.x && + m.segment[1][0] === m.x + ? m.create && + (m.segment[0][1] < m.segment[1][1] + ? (y.push( + new c( + m.segment[0][1], + m.index, + !0, + !0, + ), + ), + y.push( + new c( + m.segment[1][1], + m.index, + !1, + !1, + ), + )) + : (y.push( + new c( + m.segment[1][1], + m.index, + !0, + !1, + ), + ), + y.push( + new c( + m.segment[0][1], + m.index, + !1, + !0, + ), + ))) + : (h = m.create + ? h.insert(m.segment, m.index) + : h.remove(m.segment)); + } + p.push(h.root), d.push(g), v.push(y); + } + return new s(p, d, v); + }; + var n = r(5070), + i = r(7080), + a = r(417), + o = r(6638); + function s(t, e, r) { + (this.slabs = t), + (this.coordinates = e), + (this.horizontal = r); + } + function l(t, e) { + return t.y - e; + } + function u(t, e) { + for (var r = null; t; ) { + var n, + i, + o = t.key; + o[0][0] < o[1][0] + ? ((n = o[0]), (i = o[1])) + : ((n = o[1]), (i = o[0])); + var s = a(n, i, e); + if (s < 0) t = t.left; + else if (s > 0) + if (e[0] !== o[1][0]) + (r = t), (t = t.right); + else { + if ((l = u(t.right, e))) return l; + t = t.left; + } + else { + if (e[0] !== o[1][0]) return t; + var l; + if ((l = u(t.right, e))) return l; + t = t.left; + } + } + return r; + } + function c(t, e, r, n) { + (this.y = t), + (this.index = e), + (this.start = r), + (this.closed = n); + } + function f(t, e, r, n) { + (this.x = t), + (this.segment = e), + (this.create = r), + (this.index = n); + } + s.prototype.castUp = function (t) { + var e = n.le(this.coordinates, t[0]); + if (e < 0) return -1; + this.slabs[e]; + var r = u(this.slabs[e], t), + i = -1; + if ( + (r && (i = r.value), + this.coordinates[e] === t[0]) + ) { + var s = null; + if ((r && (s = r.key), e > 0)) { + var c = u(this.slabs[e - 1], t); + c && + (s + ? o(c.key, s) > 0 && + ((s = c.key), (i = c.value)) + : ((i = c.value), (s = c.key))); + } + var f = this.horizontal[e]; + if (f.length > 0) { + var h = n.ge(f, t[1], l); + if (h < f.length) { + var p = f[h]; + if (t[1] === p.y) { + if (p.closed) return p.index; + for ( + ; + h < f.length - 1 && + f[h + 1].y === t[1]; + + ) + if ((p = f[(h += 1)]).closed) + return p.index; + if (p.y === t[1] && !p.start) { + if ((h += 1) >= f.length) + return i; + p = f[h]; + } + } + if (p.start) + if (s) { + var d = a(s[0], s[1], [ + t[0], + p.y, + ]); + s[0][0] > s[1][0] && (d = -d), + d > 0 && (i = p.index); + } else i = p.index; + else p.y !== t[1] && (i = p.index); + } + } + } + return i; + }; + }, + 4670: function (t, e, r) { + "use strict"; + var n = r(9130), + i = r(9662); + function a(t, e) { + var r = i(n(t, e), [e[e.length - 1]]); + return r[r.length - 1]; + } + function o(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; + } + (t.exports = function (t, e) { + for ( + var r = [], + n = [], + i = a(t[t.length - 1], e), + s = t[t.length - 1], + l = t[0], + u = 0; + u < t.length; + ++u, s = l + ) { + var c = a((l = t[u]), e); + if ( + (i < 0 && c > 0) || + (i > 0 && c < 0) + ) { + var f = o(s, c, l, i); + r.push(f), n.push(f.slice()); + } + c < 0 + ? n.push(l.slice()) + : c > 0 + ? r.push(l.slice()) + : (r.push(l.slice()), + n.push(l.slice())), + (i = c); + } + return { positive: r, negative: n }; + }), + (t.exports.positive = function (t, e) { + for ( + var r = [], + n = a(t[t.length - 1], e), + i = t[t.length - 1], + s = t[0], + l = 0; + l < t.length; + ++l, i = s + ) { + var u = a((s = t[l]), e); + ((n < 0 && u > 0) || + (n > 0 && u < 0)) && + r.push(o(i, u, s, n)), + u >= 0 && r.push(s.slice()), + (n = u); + } + return r; + }), + (t.exports.negative = function (t, e) { + for ( + var r = [], + n = a(t[t.length - 1], e), + i = t[t.length - 1], + s = t[0], + l = 0; + l < t.length; + ++l, i = s + ) { + var u = a((s = t[l]), e); + ((n < 0 && u > 0) || + (n > 0 && u < 0)) && + r.push(o(i, u, s, n)), + u <= 0 && r.push(s.slice()), + (n = u); + } + return r; + }); + }, + 8974: function (t, e, r) { + var n; + !(function () { + "use strict"; + var i = { + 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 a(t) { + return s(u(t), arguments); + } + function o(t, e) { + return a.apply(null, [t].concat(e || [])); + } + function s(t, e) { + var r, + n, + o, + s, + l, + u, + c, + f, + h, + p = 1, + d = t.length, + v = ""; + for (n = 0; n < d; n++) + if ("string" == typeof t[n]) v += t[n]; + else if ("object" == typeof t[n]) { + if ((s = t[n]).keys) + for ( + r = e[p], o = 0; + o < s.keys.length; + o++ + ) { + if (null == r) + throw new Error( + a( + '[sprintf] Cannot access property "%s" of undefined value "%s"', + s.keys[o], + s.keys[o - 1], + ), + ); + r = r[s.keys[o]]; + } + else + r = s.param_no + ? e[s.param_no] + : e[p++]; + if ( + (i.not_type.test(s.type) && + i.not_primitive.test(s.type) && + r instanceof Function && + (r = r()), + i.numeric_arg.test(s.type) && + "number" != typeof r && + isNaN(r)) + ) + throw new TypeError( + a( + "[sprintf] expecting number but found %T", + r, + ), + ); + switch ( + (i.number.test(s.type) && + (f = r >= 0), + s.type) + ) { + case "b": + r = parseInt(r, 10).toString(2); + break; + case "c": + r = String.fromCharCode( + parseInt(r, 10), + ); + break; + case "d": + case "i": + r = parseInt(r, 10); + break; + case "j": + r = JSON.stringify( + r, + null, + s.width ? parseInt(s.width) : 0, + ); + break; + case "e": + r = s.precision + ? parseFloat(r).toExponential( + s.precision, + ) + : parseFloat(r).toExponential(); + break; + case "f": + r = s.precision + ? parseFloat(r).toFixed( + s.precision, + ) + : parseFloat(r); + break; + case "g": + r = s.precision + ? String( + Number( + r.toPrecision( + s.precision, + ), + ), + ) + : parseFloat(r); + break; + case "o": + r = ( + parseInt(r, 10) >>> 0 + ).toString(8); + break; + case "s": + (r = String(r)), + (r = s.precision + ? r.substring(0, s.precision) + : r); + break; + case "t": + (r = String(!!r)), + (r = s.precision + ? r.substring(0, s.precision) + : r); + break; + case "T": + (r = Object.prototype.toString + .call(r) + .slice(8, -1) + .toLowerCase()), + (r = s.precision + ? r.substring(0, s.precision) + : r); + break; + case "u": + r = parseInt(r, 10) >>> 0; + break; + case "v": + (r = r.valueOf()), + (r = s.precision + ? r.substring(0, s.precision) + : r); + break; + case "x": + r = ( + parseInt(r, 10) >>> 0 + ).toString(16); + break; + case "X": + r = (parseInt(r, 10) >>> 0) + .toString(16) + .toUpperCase(); + } + i.json.test(s.type) + ? (v += r) + : (!i.number.test(s.type) || + (f && !s.sign) + ? (h = "") + : ((h = f ? "+" : "-"), + (r = r + .toString() + .replace(i.sign, ""))), + (u = s.pad_char + ? "0" === s.pad_char + ? "0" + : s.pad_char.charAt(1) + : " "), + (c = s.width - (h + r).length), + (l = + s.width && c > 0 + ? u.repeat(c) + : ""), + (v += s.align + ? h + r + l + : "0" === u + ? h + l + r + : l + h + r)); + } + return v; + } + var l = Object.create(null); + function u(t) { + if (l[t]) return l[t]; + for (var e, r = t, n = [], a = 0; r; ) { + if (null !== (e = i.text.exec(r))) + n.push(e[0]); + else if ( + null !== (e = i.modulo.exec(r)) + ) + n.push("%"); + else { + if ( + null === (e = i.placeholder.exec(r)) + ) + throw new SyntaxError( + "[sprintf] unexpected placeholder", + ); + if (e[2]) { + a |= 1; + var o = [], + s = e[2], + u = []; + if (null === (u = i.key.exec(s))) + throw new SyntaxError( + "[sprintf] failed to parse named argument key", + ); + for ( + o.push(u[1]); + "" !== + (s = s.substring(u[0].length)); + + ) + if ( + null !== + (u = i.key_access.exec(s)) + ) + o.push(u[1]); + else { + if ( + null === + (u = i.index_access.exec(s)) + ) + throw new SyntaxError( + "[sprintf] failed to parse named argument key", + ); + o.push(u[1]); + } + e[2] = o; + } else a |= 2; + if (3 === a) + throw new Error( + "[sprintf] mixing positional and named placeholders is not (yet) supported", + ); + n.push({ + placeholder: e[0], + param_no: e[1], + keys: e[2], + sign: e[3], + pad_char: e[4], + align: e[5], + width: e[6], + precision: e[7], + type: e[8], + }); + } + r = r.substring(e[0].length); + } + return (l[t] = n); + } + (e.sprintf = a), + (e.vsprintf = o), + "undefined" != typeof window && + ((window.sprintf = a), + (window.vsprintf = o), + void 0 === + (n = function () { + return { sprintf: a, vsprintf: o }; + }.call(e, r, e, t)) || + (t.exports = n)); + })(); + }, + 4162: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + if (t.dimension <= 0) + return { positions: [], cells: [] }; + if (1 === t.dimension) + return (function (t, e) { + for ( + var r = i(t, e), + n = r.length, + a = new Array(n), + o = new Array(n), + s = 0; + s < n; + ++s + ) + (a[s] = [r[s]]), (o[s] = [s]); + return { positions: a, cells: o }; + })(t, e); + var r = t.order.join() + "-" + t.dtype, + s = o[r]; + return ( + (e = +e || 0), + s || + (s = o[r] = + (function (t, e) { + var r = t.length + "d", + i = a[r]; + if (i) return i(n, t, e); + })(t.order, t.dtype)), + s(t, e) + ); + }; + var n = r(9284), + i = r(9584), + a = { + "2d": function (t, e, r) { + var n = t({ + order: e, + scalarArguments: 3, + getters: + "generic" === r ? [0] : void 0, + phase: function (t, e, r, n) { + return (t > n) | 0; + }, + vertex: function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + ) { + var p = + ((o << 0) + + (s << 1) + + (l << 2) + + (u << 3)) | + 0; + if (0 !== p && 15 !== p) + switch (p) { + case 0: + case 15: + c.push([t - 0.5, e - 0.5]); + break; + case 1: + c.push([ + t - + 0.25 - + (0.25 * (n + r - 2 * h)) / + (r - n), + e - + 0.25 - + (0.25 * (i + r - 2 * h)) / + (r - i), + ]); + break; + case 2: + c.push([ + t - + 0.75 - + (0.25 * + (-n - r + 2 * h)) / + (n - r), + e - + 0.25 - + (0.25 * (a + n - 2 * h)) / + (n - a), + ]); + break; + case 3: + c.push([ + t - 0.5, + e - + 0.5 - + (0.5 * + (i + + r + + a + + n - + 4 * h)) / + (r - i + n - a), + ]); + break; + case 4: + c.push([ + t - + 0.25 - + (0.25 * (a + i - 2 * h)) / + (i - a), + e - + 0.75 - + (0.25 * + (-i - r + 2 * h)) / + (i - r), + ]); + break; + case 5: + c.push([ + t - + 0.5 - + (0.5 * + (n + + r + + a + + i - + 4 * h)) / + (r - n + i - a), + e - 0.5, + ]); + break; + case 6: + c.push([ + t - + 0.5 - + (0.25 * + (-n - r + a + i)) / + (n - r + i - a), + e - + 0.5 - + (0.25 * + (-i - r + a + n)) / + (i - r + n - a), + ]); + break; + case 7: + c.push([ + t - + 0.75 - + (0.25 * (a + i - 2 * h)) / + (i - a), + e - + 0.75 - + (0.25 * (a + n - 2 * h)) / + (n - a), + ]); + break; + case 8: + c.push([ + t - + 0.75 - + (0.25 * + (-a - i + 2 * h)) / + (a - i), + e - + 0.75 - + (0.25 * + (-a - n + 2 * h)) / + (a - n), + ]); + break; + case 9: + c.push([ + t - + 0.5 - + (0.25 * + (n + r + -a - i)) / + (r - n + a - i), + e - + 0.5 - + (0.25 * + (i + r + -a - n)) / + (r - i + a - n), + ]); + break; + case 10: + c.push([ + t - + 0.5 - + (0.5 * + (-n - + r - + a - + i + + 4 * h)) / + (n - r + a - i), + e - 0.5, + ]); + break; + case 11: + c.push([ + t - + 0.25 - + (0.25 * + (-a - i + 2 * h)) / + (a - i), + e - + 0.75 - + (0.25 * (i + r - 2 * h)) / + (r - i), + ]); + break; + case 12: + c.push([ + t - 0.5, + e - + 0.5 - + (0.5 * + (-i - + r - + a - + n + + 4 * h)) / + (i - r + a - n), + ]); + break; + case 13: + c.push([ + t - + 0.75 - + (0.25 * (n + r - 2 * h)) / + (r - n), + e - + 0.25 - + (0.25 * + (-a - n + 2 * h)) / + (a - n), + ]); + break; + case 14: + c.push([ + t - + 0.25 - + (0.25 * + (-n - r + 2 * h)) / + (n - r), + e - + 0.25 - + (0.25 * + (-i - r + 2 * h)) / + (i - r), + ]); + } + }, + cell: function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + ) { + i ? s.push([t, e]) : s.push([e, t]); + }, + }); + return function (t, e) { + var r = [], + i = []; + return ( + n(t, r, i, e), + { positions: r, cells: i } + ); + }; + }, + }, + o = {}; + }, + 6946: function (t, e, r) { + "use strict"; + t.exports = function t(e, r, i) { + i = i || {}; + var a = o[e]; + a || + (a = o[e] = + { + " ": { + data: new Float32Array(0), + shape: 0.2, + }, + }); + var s = a[r]; + if (!s) + if (r.length <= 1 || !/\d/.test(r)) + s = a[r] = (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 }; + })( + n(r, { + triangles: !0, + font: e, + textAlign: i.textAlign || "left", + textBaseline: "alphabetic", + styletags: { + breaklines: !0, + bolds: !0, + italics: !0, + subscripts: !0, + superscripts: !0, + }, + }), + ); + else { + for ( + var l = r.split(/(\d|\s)/), + u = new Array(l.length), + c = 0, + f = 0, + h = 0; + h < l.length; + ++h + ) + (u[h] = t(e, l[h])), + (c += u[h].data.length), + (f += u[h].shape), + h > 0 && (f += 0.02); + var p = new Float32Array(c), + d = 0, + v = -0.5 * f; + for (h = 0; h < u.length; ++h) { + for ( + var g = u[h].data, y = 0; + y < g.length; + y += 2 + ) + (p[d++] = g[y] + v), + (p[d++] = g[y + 1]); + v += u[h].shape + 0.02; + } + s = a[r] = { data: p, shape: f }; + } + return s; + }; + var n = r(875), + a = window || i.global || {}, + o = a.__TEXT_CACHE || {}; + a.__TEXT_CACHE = {}; + }, + 14: function (t, e, r) { + "use strict"; + var n = r(4405); + function i(t, e) { + var r = n( + getComputedStyle(t).getPropertyValue(e), + ); + return r[0] * a(r[1], t); + } + function a(t, e) { + switch ( + ((e = e || document.body), + (t = (t || "px").trim().toLowerCase()), + (e !== window && e !== document) || + (e = document.body), + t) + ) { + case "%": + return e.clientHeight / 100; + case "ch": + case "ex": + return (function (t, e) { + var r = document.createElement("div"); + (r.style["font-size"] = "128" + t), + e.appendChild(r); + var n = i(r, "font-size") / 128; + return e.removeChild(r), n; + })(t, e); + case "em": + return i(e, "font-size"); + case "rem": + return i(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 96; + case "cm": + return 96 / 2.54; + case "mm": + return 96 / 25.4; + case "pt": + return 96 / 72; + case "pc": + return 16; + } + return 1; + } + t.exports = a; + }, + 3440: function (t, e, r) { + "use strict"; + t.exports = function (t) { + var e = (t = t || {}).center || [0, 0, 0], + r = t.up || [0, 1, 0], + n = t.right || f(r), + i = t.radius || 1, + a = t.theta || 0, + c = t.phi || 0; + if ( + ((e = [].slice.call(e, 0, 3)), + (r = [].slice.call(r, 0, 3)), + s(r, r), + (n = [].slice.call(n, 0, 3)), + s(n, n), + "eye" in t) + ) { + var p = t.eye, + d = [ + p[0] - e[0], + p[1] - e[1], + p[2] - e[2], + ]; + o(n, d, r), + u(n[0], n[1], n[2]) < 1e-6 + ? (n = f(r)) + : s(n, n), + (i = u(d[0], d[1], d[2])); + var v = l(r, d) / i, + g = l(n, d) / i; + (c = Math.acos(v)), (a = Math.acos(g)); + } + return ( + (i = Math.log(i)), + new h( + t.zoomMin, + t.zoomMax, + e, + r, + n, + i, + a, + c, + ) + ); + }; + var n = r(8444), + i = r(7437), + a = r(4422), + o = r(903), + s = r(899), + l = r(9305); + function u(t, e, r) { + return Math.sqrt( + Math.pow(t, 2) + + Math.pow(e, 2) + + Math.pow(r, 2), + ); + } + function c(t) { + return Math.min(1, Math.max(-1, t)); + } + function f(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, l = 0; l < 3; ++l) + (a += t[l] * t[l]), (o += i[l] * t[l]); + for (l = 0; l < 3; ++l) + i[l] -= (o / a) * t[l]; + return s(i, i), i; + } + function h(t, e, r, i, a, o, s, l) { + (this.center = n(r)), + (this.up = n(i)), + (this.right = n(a)), + (this.radius = n([o])), + (this.angle = n([s, l])), + (this.angle.bounds = [ + [-1 / 0, -Math.PI / 2], + [1 / 0, Math.PI / 2], + ]), + this.setDistanceLimits(t, e), + (this.computedCenter = + this.center.curve(0)), + (this.computedUp = this.up.curve(0)), + (this.computedRight = + this.right.curve(0)), + (this.computedRadius = + this.radius.curve(0)), + (this.computedAngle = + this.angle.curve(0)), + (this.computedToward = [0, 0, 0]), + (this.computedEye = [0, 0, 0]), + (this.computedMatrix = new Array(16)); + for (var u = 0; u < 16; ++u) + this.computedMatrix[u] = 0.5; + this.recalcMatrix(0); + } + var p = h.prototype; + (p.setDistanceLimits = function (t, e) { + (t = t > 0 ? Math.log(t) : -1 / 0), + (e = e > 0 ? Math.log(e) : 1 / 0), + (e = Math.max(e, t)), + (this.radius.bounds[0][0] = t), + (this.radius.bounds[1][0] = e); + }), + (p.getDistanceLimits = function (t) { + var e = this.radius.bounds[0]; + return t + ? ((t[0] = Math.exp(e[0][0])), + (t[1] = Math.exp(e[1][0])), + t) + : [ + Math.exp(e[0][0]), + Math.exp(e[1][0]), + ]; + }), + (p.recalcMatrix = function (t) { + this.center.curve(t), + this.up.curve(t), + this.right.curve(t), + this.radius.curve(t), + this.angle.curve(t); + for ( + var e = this.computedUp, + r = this.computedRight, + n = 0, + i = 0, + a = 0; + a < 3; + ++a + ) + (i += e[a] * r[a]), (n += e[a] * e[a]); + var l = Math.sqrt(n), + c = 0; + for (a = 0; a < 3; ++a) + (r[a] -= (e[a] * i) / n), + (c += r[a] * r[a]), + (e[a] /= l); + var f = Math.sqrt(c); + for (a = 0; a < 3; ++a) r[a] /= f; + var h = this.computedToward; + o(h, e, r), s(h, h); + var p = Math.exp(this.computedRadius[0]), + d = this.computedAngle[0], + v = this.computedAngle[1], + g = Math.cos(d), + y = Math.sin(d), + m = Math.cos(v), + x = Math.sin(v), + b = this.computedCenter, + _ = g * m, + w = y * m, + T = x, + k = -g * x, + A = -y * x, + M = m, + S = this.computedEye, + E = this.computedMatrix; + for (a = 0; a < 3; ++a) { + var L = _ * r[a] + w * h[a] + T * e[a]; + (E[4 * a + 1] = + k * r[a] + A * h[a] + M * e[a]), + (E[4 * a + 2] = L), + (E[4 * a + 3] = 0); + } + var C = E[1], + O = E[5], + P = E[9], + I = E[2], + D = E[6], + z = E[10], + R = O * z - P * D, + F = P * I - C * z, + B = C * D - O * I, + N = u(R, F, B); + for ( + R /= N, + F /= N, + B /= N, + E[0] = R, + E[4] = F, + E[8] = B, + a = 0; + a < 3; + ++a + ) + S[a] = b[a] + E[2 + 4 * a] * p; + for (a = 0; a < 3; ++a) { + c = 0; + for (var j = 0; j < 3; ++j) + c += E[a + 4 * j] * S[j]; + E[12 + a] = -c; + } + E[15] = 1; + }), + (p.getMatrix = function (t, e) { + this.recalcMatrix(t); + var r = this.computedMatrix; + if (e) { + for (var n = 0; n < 16; ++n) + e[n] = r[n]; + return e; + } + return r; + }); + var d = [0, 0, 0]; + (p.rotate = function (t, e, r, n) { + if ((this.angle.move(t, e, r), n)) { + this.recalcMatrix(t); + var i = this.computedMatrix; + (d[0] = i[2]), + (d[1] = i[6]), + (d[2] = i[10]); + for ( + var o = this.computedUp, + s = this.computedRight, + l = this.computedToward, + u = 0; + u < 3; + ++u + ) + (i[4 * u] = o[u]), + (i[4 * u + 1] = s[u]), + (i[4 * u + 2] = l[u]); + for (a(i, i, n, d), u = 0; u < 3; ++u) + (o[u] = i[4 * u]), + (s[u] = i[4 * u + 1]); + this.up.set(t, o[0], o[1], o[2]), + this.right.set(t, s[0], s[1], s[2]); + } + }), + (p.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 = u(a, o, s); + (a /= l), (o /= l), (s /= l); + var c = i[0], + f = i[4], + h = i[8], + p = c * a + f * o + h * s, + d = u( + (c -= a * p), + (f -= o * p), + (h -= s * p), + ), + v = (c /= d) * e + a * r, + g = (f /= d) * e + o * r, + y = (h /= d) * e + s * r; + this.center.move(t, v, g, y); + var m = Math.exp(this.computedRadius[0]); + (m = Math.max(1e-4, m + n)), + this.radius.set(t, Math.log(m)); + }), + (p.translate = function (t, e, r, n) { + this.center.move( + t, + e || 0, + r || 0, + n || 0, + ); + }), + (p.setMatrix = function (t, e, r, n) { + var a = 1; + "number" == typeof r && (a = 0 | r), + (a < 0 || a > 3) && (a = 1); + var o = (a + 2) % 3; + e || + (this.recalcMatrix(t), + (e = this.computedMatrix)); + var s = e[a], + l = e[a + 4], + f = e[a + 8]; + if (n) { + var h = Math.abs(s), + p = Math.abs(l), + d = Math.abs(f), + v = Math.max(h, p, d); + h === v + ? ((s = s < 0 ? -1 : 1), (l = f = 0)) + : d === v + ? ((f = f < 0 ? -1 : 1), (s = l = 0)) + : ((l = l < 0 ? -1 : 1), (s = f = 0)); + } else { + var g = u(s, l, f); + (s /= g), (l /= g), (f /= g); + } + var y, + m, + x = e[o], + b = e[o + 4], + _ = e[o + 8], + w = x * s + b * l + _ * f, + T = u( + (x -= s * w), + (b -= l * w), + (_ -= f * w), + ), + k = l * (_ /= T) - f * (b /= T), + A = f * (x /= T) - s * _, + M = s * b - l * x, + S = u(k, A, M); + if ( + ((k /= S), + (A /= S), + (M /= S), + this.center.jump(t, q, G, Z), + this.radius.idle(t), + this.up.jump(t, s, l, f), + this.right.jump(t, x, b, _), + 2 === a) + ) { + var E = e[1], + L = e[5], + C = e[9], + O = E * x + L * b + C * _, + P = E * k + L * A + C * M; + (y = + R < 0 ? -Math.PI / 2 : Math.PI / 2), + (m = Math.atan2(P, O)); + } else { + var I = e[2], + D = e[6], + z = e[10], + R = I * s + D * l + z * f, + F = I * x + D * b + z * _, + B = I * k + D * A + z * M; + (y = Math.asin(c(R))), + (m = Math.atan2(B, F)); + } + this.angle.jump(t, m, y), + this.recalcMatrix(t); + var N = e[2], + j = e[6], + U = e[10], + V = this.computedMatrix; + i(V, e); + var H = V[15], + q = V[12] / H, + G = V[13] / H, + Z = V[14] / H, + W = Math.exp(this.computedRadius[0]); + this.center.jump( + t, + q - N * W, + G - j * W, + Z - U * W, + ); + }), + (p.lastT = function () { + return Math.max( + this.center.lastT(), + this.up.lastT(), + this.right.lastT(), + this.radius.lastT(), + this.angle.lastT(), + ); + }), + (p.idle = function (t) { + this.center.idle(t), + this.up.idle(t), + this.right.idle(t), + this.radius.idle(t), + this.angle.idle(t); + }), + (p.flush = function (t) { + this.center.flush(t), + this.up.flush(t), + this.right.flush(t), + this.radius.flush(t), + this.angle.flush(t); + }), + (p.setDistance = function (t, e) { + e > 0 && this.radius.set(t, Math.log(e)); + }), + (p.lookAt = function (t, e, r, 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 = u(i, a, o); + if (!(s < 1e-6)) { + (i /= s), (a /= s), (o /= s); + var l = e[0] - r[0], + f = e[1] - r[1], + h = e[2] - r[2], + p = u(l, f, h); + if (!(p < 1e-6)) { + (l /= p), (f /= p), (h /= p); + var d = this.computedRight, + v = d[0], + g = d[1], + y = d[2], + m = i * v + a * g + o * y, + x = u( + (v -= m * i), + (g -= m * a), + (y -= m * o), + ); + if ( + !( + x < 0.01 && + (x = u( + (v = a * h - o * f), + (g = o * l - i * h), + (y = i * f - a * l), + )) < 1e-6 + ) + ) { + (v /= x), + (g /= x), + (y /= x), + this.up.set(t, i, a, o), + this.right.set(t, v, g, y), + this.center.set( + t, + r[0], + r[1], + r[2], + ), + this.radius.set(t, Math.log(p)); + var b = a * y - o * g, + _ = o * v - i * y, + w = i * g - a * v, + T = u(b, _, w), + k = i * l + a * f + o * h, + A = v * l + g * f + y * h, + M = + (b /= T) * l + + (_ /= T) * f + + (w /= T) * h, + S = Math.asin(c(k)), + E = Math.atan2(M, A), + L = this.angle._state, + C = L[L.length - 1], + O = L[L.length - 2]; + C %= 2 * Math.PI; + var P = Math.abs( + C + 2 * Math.PI - E, + ), + I = Math.abs(C - E), + D = Math.abs(C - 2 * Math.PI - E); + P < I && (C += 2 * Math.PI), + D < I && (C -= 2 * Math.PI), + this.angle.jump( + this.angle.lastT(), + C, + O, + ), + this.angle.set(t, E, S); + } + } + } + }); + }, + 9660: function (t) { + "use strict"; + t.exports = function (t, r, n) { + var i = t * r, + a = e * t, + o = a - (a - t), + s = t - o, + l = e * r, + u = l - (l - r), + c = r - u, + f = s * c - (i - o * u - s * u - o * c); + return n + ? ((n[0] = f), (n[1] = i), n) + : [f, i]; + }; + var e = +(Math.pow(2, 27) + 1); + }, + 87: function (t) { + "use strict"; + t.exports = function (t, e, r) { + var n = t + e, + i = n - t, + a = e - i, + o = t - (n - i); + return r + ? ((r[0] = o + a), (r[1] = n), r) + : [o + a, n]; + }; + }, + 5306: function (t, e, r) { + "use strict"; + var n = r(2288), + i = r(3094), + a = r(2146).lW; + r.g.__TYPEDARRAY_POOL || + (r.g.__TYPEDARRAY_POOL = { + UINT8: i([32, 0]), + UINT16: i([32, 0]), + UINT32: i([32, 0]), + BIGUINT64: i([32, 0]), + INT8: i([32, 0]), + INT16: i([32, 0]), + INT32: i([32, 0]), + BIGINT64: i([32, 0]), + FLOAT: i([32, 0]), + DOUBLE: i([32, 0]), + DATA: i([32, 0]), + UINT8C: i([32, 0]), + BUFFER: i([32, 0]), + }); + var o = + "undefined" != typeof Uint8ClampedArray, + s = "undefined" != typeof BigUint64Array, + l = "undefined" != typeof BigInt64Array, + u = r.g.__TYPEDARRAY_POOL; + u.UINT8C || (u.UINT8C = i([32, 0])), + u.BIGUINT64 || (u.BIGUINT64 = i([32, 0])), + u.BIGINT64 || (u.BIGINT64 = i([32, 0])), + u.BUFFER || (u.BUFFER = i([32, 0])); + var c = u.DATA, + f = u.BUFFER; + function h(t) { + if (t) { + var e = t.length || t.byteLength, + r = n.log2(e); + c[r].push(t); + } + } + function p(t) { + t = n.nextPow2(t); + var e = n.log2(t), + r = c[e]; + return r.length > 0 + ? r.pop() + : new ArrayBuffer(t); + } + function d(t) { + return new Uint8Array(p(t), 0, t); + } + function v(t) { + return new Uint16Array(p(2 * t), 0, t); + } + function g(t) { + return new Uint32Array(p(4 * t), 0, t); + } + function y(t) { + return new Int8Array(p(t), 0, t); + } + function m(t) { + return new Int16Array(p(2 * t), 0, t); + } + function x(t) { + return new Int32Array(p(4 * t), 0, t); + } + function b(t) { + return new Float32Array(p(4 * t), 0, t); + } + function _(t) { + return new Float64Array(p(8 * t), 0, t); + } + function w(t) { + return o + ? new Uint8ClampedArray(p(t), 0, t) + : d(t); + } + function T(t) { + return s + ? new BigUint64Array(p(8 * t), 0, t) + : null; + } + function k(t) { + return l + ? new BigInt64Array(p(8 * t), 0, t) + : null; + } + function A(t) { + return new DataView(p(t), 0, t); + } + function M(t) { + t = n.nextPow2(t); + var e = n.log2(t), + r = f[e]; + return r.length > 0 ? r.pop() : new a(t); + } + (e.free = function (t) { + if (a.isBuffer(t)) + f[n.log2(t.length)].push(t); + else { + if ( + ("[object ArrayBuffer]" !== + Object.prototype.toString.call(t) && + (t = t.buffer), + !t) + ) + return; + var e = t.length || t.byteLength, + r = 0 | n.log2(e); + c[r].push(t); + } + }), + (e.freeUint8 = + e.freeUint16 = + e.freeUint32 = + e.freeBigUint64 = + e.freeInt8 = + e.freeInt16 = + e.freeInt32 = + e.freeBigInt64 = + e.freeFloat32 = + e.freeFloat = + e.freeFloat64 = + e.freeDouble = + e.freeUint8Clamped = + e.freeDataView = + function (t) { + h(t.buffer); + }), + (e.freeArrayBuffer = h), + (e.freeBuffer = function (t) { + f[n.log2(t.length)].push(t); + }), + (e.malloc = function (t, e) { + if (void 0 === e || "arraybuffer" === e) + return p(t); + switch (e) { + case "uint8": + return d(t); + case "uint16": + return v(t); + case "uint32": + return g(t); + case "int8": + return y(t); + case "int16": + return m(t); + case "int32": + return x(t); + case "float": + case "float32": + return b(t); + case "double": + case "float64": + return _(t); + case "uint8_clamped": + return w(t); + case "bigint64": + return k(t); + case "biguint64": + return T(t); + case "buffer": + return M(t); + case "data": + case "dataview": + return A(t); + default: + return null; + } + return null; + }), + (e.mallocArrayBuffer = p), + (e.mallocUint8 = d), + (e.mallocUint16 = v), + (e.mallocUint32 = g), + (e.mallocInt8 = y), + (e.mallocInt16 = m), + (e.mallocInt32 = x), + (e.mallocFloat32 = e.mallocFloat = b), + (e.mallocFloat64 = e.mallocDouble = _), + (e.mallocUint8Clamped = w), + (e.mallocBigUint64 = T), + (e.mallocBigInt64 = k), + (e.mallocDataView = A), + (e.mallocBuffer = M), + (e.clearCache = function () { + for (var t = 0; t < 32; ++t) + (u.UINT8[t].length = 0), + (u.UINT16[t].length = 0), + (u.UINT32[t].length = 0), + (u.INT8[t].length = 0), + (u.INT16[t].length = 0), + (u.INT32[t].length = 0), + (u.FLOAT[t].length = 0), + (u.DOUBLE[t].length = 0), + (u.BIGUINT64[t].length = 0), + (u.BIGINT64[t].length = 0), + (u.UINT8C[t].length = 0), + (c[t].length = 0), + (f[t].length = 0); + }); + }, + 1731: function (t) { + "use strict"; + function e(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); + } + t.exports = e; + var r = e.prototype; + Object.defineProperty(r, "length", { + get: function () { + return this.roots.length; + }, + }), + (r.makeSet = function () { + var t = this.roots.length; + return ( + this.roots.push(t), + this.ranks.push(0), + t + ); + }), + (r.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; + }), + (r.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]); + } + }); + }, + 1215: function (t) { + "use strict"; + t.exports = 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)); + }; + }, + 875: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + return ( + ("object" == typeof e && null !== e) || + (e = {}), + n(t, e.canvas || i, e.context || a, e) + ); + }; + var n = r(712), + i = null, + a = null; + "undefined" != typeof document && + (((i = + document.createElement( + "canvas", + )).width = 8192), + (i.height = 1024), + (a = i.getContext("2d"))); + }, + 712: function (t, e, r) { + (t.exports = function (t, e, r, n) { + var a = 64, + o = 1.25, + s = { + breaklines: !1, + bolds: !1, + italics: !1, + subscripts: !1, + superscripts: !1, + }; + return ( + n && + (n.size && n.size > 0 && (a = n.size), + n.lineSpacing && + n.lineSpacing > 0 && + (o = n.lineSpacing), + n.styletags && + n.styletags.breaklines && + (s.breaklines = + !!n.styletags.breaklines), + n.styletags && + n.styletags.bolds && + (s.bolds = !!n.styletags.bolds), + n.styletags && + n.styletags.italics && + (s.italics = !!n.styletags.italics), + n.styletags && + n.styletags.subscripts && + (s.subscripts = + !!n.styletags.subscripts), + n.styletags && + n.styletags.superscripts && + (s.superscripts = + !!n.styletags.superscripts)), + (r.font = [ + n.fontStyle, + n.fontVariant, + n.fontWeight, + a + "px", + n.font, + ] + .filter(function (t) { + return t; + }) + .join(" ")), + (r.textAlign = "start"), + (r.textBaseline = "alphabetic"), + (r.direction = "ltr"), + d( + (function (t, e, r, n, a, o) { + (r = r.replace(/\n/g, "")), + (r = + !0 === o.breaklines + ? r.replace(/\/g, "\n") + : r.replace(/\/g, " ")); + var s = "", + l = []; + for (v = 0; v < r.length; ++v) + l[v] = s; + !0 === o.bolds && + (l = f("b", u, r, l)), + !0 === o.italics && + (l = f("i", c, r, l)), + !0 === o.superscripts && + (l = f("sup", "+1", r, l)), + !0 === o.subscripts && + (l = f("sub", "-1", r, l)); + var h = [], + p = ""; + for (v = 0; v < r.length; ++v) + null !== l[v] && + ((p += r[v]), h.push(l[v])); + var d, + v, + g, + y, + m, + x = p.split("\n"), + b = x.length, + _ = Math.round(a * n), + w = n, + T = 2 * n, + k = 0, + A = b * _ + T; + t.height < A && (t.height = A), + (e.fillStyle = "#000"), + e.fillRect(0, 0, t.width, t.height), + (e.fillStyle = "#fff"); + var M = 0, + S = ""; + function E() { + if ("" !== S) { + var t = e.measureText(S).width; + e.fillText(S, w + g, T + y), + (g += t); + } + } + function L() { + return Math.round(m) + "px "; + } + function C(t, r) { + var n = "" + e.font; + if (!0 === o.subscripts) { + var i = t.indexOf("-"), + a = r.indexOf("-"), + s = + i > -1 + ? parseInt(t[1 + i]) + : 0, + l = + a > -1 + ? parseInt(r[1 + a]) + : 0; + s !== l && + ((n = n.replace(L(), "?px ")), + (m *= Math.pow(0.75, l - s)), + (n = n.replace("?px ", L()))), + (y += 0.25 * _ * (l - s)); + } + if (!0 === o.superscripts) { + var f = t.indexOf("+"), + h = r.indexOf("+"), + p = + f > -1 + ? parseInt(t[1 + f]) + : 0, + d = + h > -1 + ? parseInt(r[1 + h]) + : 0; + p !== d && + ((n = n.replace(L(), "?px ")), + (m *= Math.pow(0.75, d - p)), + (n = n.replace("?px ", L()))), + (y -= 0.25 * _ * (d - p)); + } + if (!0 === o.bolds) { + var v = t.indexOf(u) > -1, + g = r.indexOf(u) > -1; + !v && + g && + (n = x + ? n.replace( + "italic ", + "italic bold ", + ) + : "bold " + n), + v && + !g && + (n = n.replace("bold ", "")); + } + if (!0 === o.italics) { + var x = t.indexOf(c) > -1, + b = r.indexOf(c) > -1; + !x && b && (n = "italic " + n), + x && + !b && + (n = n.replace( + "italic ", + "", + )); + } + e.font = n; + } + for (d = 0; d < b; ++d) { + var O = x[d] + "\n"; + for ( + g = 0, + y = d * _, + m = n, + S = "", + v = 0; + v < O.length; + ++v + ) { + var P = + v + M < h.length + ? h[v + M] + : h[h.length - 1]; + s === P + ? (S += O[v]) + : (E(), + (S = O[v]), + void 0 !== P && + (C(s, P), (s = P))); + } + E(), (M += O.length); + var I = 0 | Math.round(g + 2 * w); + k < I && (k = I); + } + var D = k, + z = T + _ * b; + return i( + e.getImageData(0, 0, D, z).data, + [z, D, 4], + ) + .pick(-1, -1, 0) + .transpose(1, 0); + })(e, r, t, a, o, s), + n, + a, + ) + ); + }), + (t.exports.processPixels = d); + var n = r(4162), + i = r(5050), + a = r(8243), + o = r(197), + s = r(7761), + l = r(8040), + u = "b|", + c = "i|"; + function f(t, e, r, n) { + for ( + var i = "<" + t + ">", + a = "", + o = i.length, + s = a.length, + l = "+" === e[0] || "-" === e[0], + u = 0, + c = -s; + u > -1 && + -1 !== (u = r.indexOf(i, u)) && + -1 !== (c = r.indexOf(a, u + o)) && + !(c <= u); + + ) { + for (var f = u; f < c + s; ++f) + if (f < u + o || f >= c) + (n[f] = null), + (r = + r.substr(0, f) + + " " + + r.substr(f + 1)); + else if (null !== n[f]) { + var h = n[f].indexOf(e[0]); + -1 === h + ? (n[f] += e) + : l && + (n[f] = + n[f].substr(0, h + 1) + + (1 + parseInt(n[f][h + 1])) + + n[f].substr(h + 2)); + } + var p = u + o, + d = r.substr(p, c - p).indexOf(i); + u = -1 !== d ? d : c + s; + } + return n; + } + function h(t, e) { + var r = n(t, 128); + return e + ? a(r.cells, r.positions, 0.25) + : { + edges: r.cells, + positions: r.positions, + }; + } + function p(t, e, r, n) { + var i = h(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 f = 0; + switch (n) { + case "center": + f = -0.5 * (a[0] + o[0]); + break; + case "right": + case "end": + f = -o[0]; + break; + case "left": + case "start": + f = -a[0]; + break; + default: + throw new Error( + "vectorize-text: Unrecognized textAlign: '" + + n + + "'", + ); + } + var h = 0; + switch (i) { + case "hanging": + case "top": + h = -a[1]; + break; + case "middle": + h = -0.5 * (a[1] + o[1]); + break; + case "alphabetic": + case "ideographic": + h = -3 * r; + break; + case "bottom": + h = -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] + f), + p * (t[1] + h), + ]; + }) + ); + })(i.positions, e, r), + u = i.edges, + c = "ccw" === e.orientation; + if ( + (o(a, u), + e.polygons || e.polygon || e.polyline) + ) { + for ( + var f = l(u, a), + p = new Array(f.length), + d = 0; + d < f.length; + ++d + ) { + for ( + var v = f[d], + g = new Array(v.length), + y = 0; + y < v.length; + ++y + ) { + for ( + var m = v[y], + x = new Array(m.length), + b = 0; + b < m.length; + ++b + ) + x[b] = a[m[b]].slice(); + c && x.reverse(), (g[y] = x); + } + p[d] = g; + } + return p; + } + return e.triangles || + e.triangulate || + e.triangle + ? { + cells: s(a, u, { + delaunay: !1, + exterior: !1, + interior: !0, + }), + positions: a, + } + : { edges: u, positions: a }; + } + function d(t, e, r) { + try { + return p(t, e, r, !0); + } catch (t) {} + try { + return p(t, e, r, !1); + } catch (t) {} + return e.polygons || e.polyline || e.polygon + ? [] + : e.triangles || + e.triangulate || + e.triangle + ? { cells: [], positions: [] } + : { edges: [], positions: [] }; + } + }, + 5346: function (t) { + !(function () { + "use strict"; + if ( + "undefined" == typeof ses || + !ses.ok || + ses.ok() + ) { + "undefined" != typeof ses && + (ses.weakMapPermitHostObjects = g); + var e = !1; + if ("function" == typeof WeakMap) { + var r = WeakMap; + if ( + "undefined" != typeof navigator && + /Firefox/.test(navigator.userAgent) + ); + else { + var n = new r(), + i = Object.freeze({}); + if ((n.set(i, 1), 1 === n.get(i))) + return void (t.exports = WeakMap); + e = !0; + } + } + Object.prototype.hasOwnProperty; + var a = Object.getOwnPropertyNames, + o = Object.defineProperty, + s = Object.isExtensible, + l = "weakmap:", + u = + "weakmap:ident:" + + Math.random() + + "___"; + if ( + "undefined" != typeof crypto && + "function" == + typeof crypto.getRandomValues && + "function" == typeof ArrayBuffer && + "function" == typeof Uint8Array + ) { + var c = new ArrayBuffer(25), + f = new Uint8Array(c); + crypto.getRandomValues(f), + (u = + "weakmap:rand:" + + Array.prototype.map + .call(f, function (t) { + return (t % 36).toString(36); + }) + .join("") + + "___"); + } + if ( + (o(Object, "getOwnPropertyNames", { + value: function (t) { + return a(t).filter(y); + }, + }), + "getPropertyNames" in Object) + ) { + var h = Object.getPropertyNames; + o(Object, "getPropertyNames", { + value: function (t) { + return h(t).filter(y); + }, + }); + } + !(function () { + var t = Object.freeze; + o(Object, "freeze", { + value: function (e) { + return m(e), t(e); + }, + }); + var e = Object.seal; + o(Object, "seal", { + value: function (t) { + return m(t), e(t); + }, + }); + var r = Object.preventExtensions; + o(Object, "preventExtensions", { + value: function (t) { + return m(t), r(t); + }, + }); + })(); + var p = !1, + d = 0, + v = function () { + this instanceof v || b(); + var t = [], + e = [], + r = d++; + return Object.create(v.prototype, { + get___: { + value: x(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: x(function (e) { + var n = m(e); + return n + ? r in n + : t.indexOf(e) >= 0; + }), + }, + set___: { + value: x(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: x(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) + ); + }), + }, + }); + }; + (v.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 r + ? (function () { + function n() { + this instanceof v || b(); + var t, + n = new r(), + i = void 0, + a = !1; + return ( + (t = e + ? function (t, e) { + return ( + n.set(t, e), + n.has(t) || + (i || (i = new v()), + i.set(t, e)), + this + ); + } + : function (t, e) { + if (a) + try { + n.set(t, e); + } catch (r) { + i || (i = new v()), + i.set___(t, e); + } + else n.set(t, e); + return this; + }), + Object.create(v.prototype, { + get___: { + value: x(function (t, e) { + return i + ? n.has(t) + ? n.get(t) + : i.get___(t, e) + : n.get(t, e); + }), + }, + has___: { + value: x(function (t) { + return ( + n.has(t) || + (!!i && i.has___(t)) + ); + }), + }, + set___: { value: x(t) }, + delete___: { + value: x(function (t) { + var e = !!n.delete(t); + return ( + (i && + i.delete___(t)) || + e + ); + }), + }, + permitHostObjects___: { + value: x(function (t) { + if (t !== g) + throw new Error( + "bogus call to permitHostObjects___", + ); + a = !0; + }), + }, + }) + ); + } + e && + "undefined" != typeof Proxy && + (Proxy = void 0), + (n.prototype = v.prototype), + (t.exports = n), + Object.defineProperty( + WeakMap.prototype, + "constructor", + { + value: WeakMap, + enumerable: !1, + configurable: !0, + writable: !0, + }, + ); + })() + : ("undefined" != typeof Proxy && + (Proxy = void 0), + (t.exports = v)); + } + function g(t) { + t.permitHostObjects___ && + t.permitHostObjects___(g); + } + function y(t) { + return !( + t.substr(0, l.length) == l && + "___" === t.substr(t.length - 3) + ); + } + function m(t) { + if (t !== Object(t)) + throw new TypeError( + "Not an object: " + t, + ); + var e = t[u]; + if (e && e.key === t) return e; + if (s(t)) { + e = { key: t }; + try { + return ( + o(t, u, { + value: e, + writable: !1, + enumerable: !1, + configurable: !1, + }), + e + ); + } catch (t) { + return; + } + } + } + function x(t) { + return ( + (t.prototype = null), Object.freeze(t) + ); + } + function b() { + p || + "undefined" == typeof console || + ((p = !0), + console.warn( + "WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.", + )); + } + })(); + }, + 9222: function (t, e, r) { + var n = r(7178); + t.exports = 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 + : n(e, t); + }; + }; + }, + 7178: function (t) { + t.exports = 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 + ); + }; + }, + 4037: function (t, e, r) { + var n = r(9222); + t.exports = function () { + var t = n(); + 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; + }, + }; + }; + }, + 6183: function (t) { + "use strict"; + t.exports = (function (t) { + var e = {}; + return function (r, n, i) { + var a = r.dtype, + o = r.order, + s = [a, o.join()].join(), + l = e[s]; + return ( + l || (e[s] = l = t([a, o])), + l( + r.shape.slice(0), + r.data, + r.stride, + 0 | r.offset, + n, + i, + ) + ); + }; + })( + function () { + return function (t, e, r, n, i, a) { + var o = t[0], + s = r[0], + l = [0], + u = s; + n |= 0; + var c = 0, + f = s; + for (c = 0; c < o; ++c) { + var h = e[n] - a, + p = e[n + u] - a; + h >= 0 != p >= 0 && + i.push( + l[0] + + 0.5 + + (0.5 * (h + p)) / (h - p), + ), + (n += f), + ++l[0]; + } + }; + }.bind(void 0, { + funcName: "zeroCrossings", + }), + ); + }, + 9584: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + var r = []; + return ( + (e = +e || 0), + n(t.hi(t.shape[0] - 1), r, e), + r + ); + }; + var n = r(6183); + }, + 6601: function () {}, + }, + e = {}; + function r(n) { + var i = e[n]; + if (void 0 !== i) return i.exports; + var a = (e[n] = { + id: n, + loaded: !1, + exports: {}, + }); + return ( + t[n].call(a.exports, a, a.exports, r), + (a.loaded = !0), + a.exports + ); + } + return ( + (r.g = (function () { + if ("object" == typeof globalThis) + return globalThis; + try { + return this || new Function("return this")(); + } catch (t) { + if ("object" == typeof window) return window; + } + })()), + (r.nmd = function (t) { + return ( + (t.paths = []), + t.children || (t.children = []), + t + ); + }), + r(7386) + ); + })(); + }), + (t.exports = n()); + }, + 12856: function (t, e, r) { + "use strict"; + function n(t, e) { + if (!(t instanceof e)) + throw new TypeError( + "Cannot call a class as a function", + ); + } + function i(t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r]; + (n.enumerable = n.enumerable || !1), + (n.configurable = !0), + "value" in n && (n.writable = !0), + Object.defineProperty( + t, + (void 0, + (i = (function (t, e) { + if ("object" !== u(t) || null === t) return t; + var r = t[Symbol.toPrimitive]; + if (void 0 !== r) { + var n = r.call(t, e); + if ("object" !== u(n)) return n; + throw new TypeError( + "@@toPrimitive must return a primitive value.", + ); + } + return String(t); + })(n.key, "string")), + "symbol" === u(i) ? i : String(i)), + n, + ); + } + var i; + } + function a(t, e) { + return ( + (a = Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function (t, e) { + return (t.__proto__ = e), t; + }), + a(t, e) + ); + } + function o(t, e) { + if (e && ("object" === u(e) || "function" == typeof e)) + return e; + if (void 0 !== e) + throw new TypeError( + "Derived constructors may only return object or undefined", + ); + return s(t); + } + function s(t) { + if (void 0 === t) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called", + ); + return t; + } + function l(t) { + return ( + (l = Object.setPrototypeOf + ? Object.getPrototypeOf.bind() + : function (t) { + return t.__proto__ || Object.getPrototypeOf(t); + }), + l(t) + ); + } + function u(t) { + return ( + (u = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function (t) { + return typeof t; + } + : function (t) { + return t && + "function" == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? "symbol" + : typeof t; + }), + u(t) + ); + } + var c = r(95341), + f = r(95280), + h = + "function" == typeof Symbol && + "function" == typeof Symbol.for + ? Symbol.for("nodejs.util.inspect.custom") + : null; + (e.Buffer = v), + (e.SlowBuffer = function (t) { + return +t != t && (t = 0), v.alloc(+t); + }), + (e.INSPECT_MAX_BYTES = 50); + var p = 2147483647; + function d(t) { + if (t > p) + throw new RangeError( + 'The value "' + + t + + '" is invalid for option "size"', + ); + var e = new Uint8Array(t); + return Object.setPrototypeOf(e, v.prototype), e; + } + function v(t, e, r) { + if ("number" == typeof t) { + if ("string" == typeof e) + throw new TypeError( + 'The "string" argument must be of type string. Received type number', + ); + return m(t); + } + return g(t, e, r); + } + function g(t, e, r) { + if ("string" == typeof t) + return (function (t, e) { + if ( + (("string" == typeof e && "" !== e) || + (e = "utf8"), + !v.isEncoding(e)) + ) + throw new TypeError("Unknown encoding: " + e); + var r = 0 | w(t, e), + n = d(r), + i = n.write(t, e); + return i !== r && (n = n.slice(0, i)), n; + })(t, e); + if (ArrayBuffer.isView(t)) + return (function (t) { + if (rt(t, Uint8Array)) { + var e = new Uint8Array(t); + return b(e.buffer, e.byteOffset, e.byteLength); + } + return x(t); + })(t); + if (null == t) + throw new TypeError( + "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + + u(t), + ); + if ( + rt(t, ArrayBuffer) || + (t && rt(t.buffer, ArrayBuffer)) + ) + return b(t, e, r); + if ( + "undefined" != typeof SharedArrayBuffer && + (rt(t, SharedArrayBuffer) || + (t && rt(t.buffer, SharedArrayBuffer))) + ) + return b(t, e, r); + if ("number" == typeof t) + throw new TypeError( + 'The "value" argument must not be of type number. Received type number', + ); + var n = t.valueOf && t.valueOf(); + if (null != n && n !== t) return v.from(n, e, r); + var i = (function (t) { + if (v.isBuffer(t)) { + var e = 0 | _(t.length), + r = d(e); + return 0 === r.length || t.copy(r, 0, 0, e), r; + } + return void 0 !== t.length + ? "number" != typeof t.length || nt(t.length) + ? d(0) + : x(t) + : "Buffer" === t.type && Array.isArray(t.data) + ? x(t.data) + : void 0; + })(t); + if (i) return i; + if ( + "undefined" != typeof Symbol && + null != Symbol.toPrimitive && + "function" == typeof t[Symbol.toPrimitive] + ) + return v.from(t[Symbol.toPrimitive]("string"), e, r); + throw new TypeError( + "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + + u(t), + ); + } + function y(t) { + if ("number" != typeof t) + throw new TypeError( + '"size" argument must be of type number', + ); + if (t < 0) + throw new RangeError( + 'The value "' + + t + + '" is invalid for option "size"', + ); + } + function m(t) { + return y(t), d(t < 0 ? 0 : 0 | _(t)); + } + function x(t) { + for ( + var e = t.length < 0 ? 0 : 0 | _(t.length), + r = d(e), + n = 0; + n < e; + n += 1 + ) + r[n] = 255 & t[n]; + return r; + } + function b(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; + return ( + (n = + void 0 === e && void 0 === r + ? new Uint8Array(t) + : void 0 === r + ? new Uint8Array(t, e) + : new Uint8Array(t, e, r)), + Object.setPrototypeOf(n, v.prototype), + n + ); + } + function _(t) { + if (t >= p) + throw new RangeError( + "Attempt to allocate Buffer larger than maximum size: 0x" + + p.toString(16) + + " bytes", + ); + return 0 | t; + } + function w(t, e) { + if (v.isBuffer(t)) return t.length; + if (ArrayBuffer.isView(t) || rt(t, ArrayBuffer)) + return t.byteLength; + if ("string" != typeof t) + throw new TypeError( + 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + + u(t), + ); + var r = t.length, + n = arguments.length > 2 && !0 === arguments[2]; + if (!n && 0 === r) return 0; + for (var i = !1; ; ) + switch (e) { + case "ascii": + case "latin1": + case "binary": + return r; + case "utf8": + case "utf-8": + return Q(t).length; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return 2 * r; + case "hex": + return r >>> 1; + case "base64": + return tt(t).length; + default: + if (i) return n ? -1 : Q(t).length; + (e = ("" + e).toLowerCase()), (i = !0); + } + } + function T(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 F(this, e, r); + case "utf8": + case "utf-8": + return I(this, e, r); + case "ascii": + return z(this, e, r); + case "latin1": + case "binary": + return R(this, e, r); + case "base64": + return P(this, e, r); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return B(this, e, r); + default: + if (n) + throw new TypeError("Unknown encoding: " + t); + (t = (t + "").toLowerCase()), (n = !0); + } + } + function k(t, e, r) { + var n = t[e]; + (t[e] = t[r]), (t[r] = n); + } + function A(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), + nt((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 = v.from(e, n)), + v.isBuffer(e)) + ) + return 0 === e.length ? -1 : M(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) + : M(t, [e], r, n, i) + ); + throw new TypeError( + "val must be string, number or Buffer", + ); + } + function M(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 f = !0, h = 0; h < l; h++) + if (u(t, a + h) !== u(e, h)) { + f = !1; + break; + } + if (f) return a; + } + return -1; + } + function S(t, e, r, n) { + r = Number(r) || 0; + var i = t.length - r; + n ? (n = Number(n)) > i && (n = i) : (n = i); + var a, + o = e.length; + for (n > o / 2 && (n = o / 2), a = 0; a < n; ++a) { + var s = parseInt(e.substr(2 * a, 2), 16); + if (nt(s)) return a; + t[r + a] = s; + } + return a; + } + function E(t, e, r, n) { + return et(Q(e, t.length - r), t, r, n); + } + function L(t, e, r, n) { + return et( + (function (t) { + for (var e = [], r = 0; r < t.length; ++r) + e.push(255 & t.charCodeAt(r)); + return e; + })(e), + t, + r, + n, + ); + } + function C(t, e, r, n) { + return et(tt(e), t, r, n); + } + function O(t, e, r, n) { + return et( + (function (t, e) { + for ( + var r, n, i, a = [], o = 0; + o < t.length && !((e -= 2) < 0); + ++o + ) + (n = (r = t.charCodeAt(o)) >> 8), + (i = r % 256), + a.push(i), + a.push(n); + return a; + })(e, t.length - r), + t, + r, + n, + ); + } + function P(t, e, r) { + return 0 === e && r === t.length + ? c.fromByteArray(t) + : c.fromByteArray(t.slice(e, r)); + } + function I(t, e, r) { + r = Math.min(t.length, r); + for (var n = [], i = e; i < r; ) { + var a = t[i], + o = null, + s = a > 239 ? 4 : a > 223 ? 3 : a > 191 ? 2 : 1; + if (i + s <= r) { + var l = void 0, + u = void 0, + c = void 0, + f = void 0; + switch (s) { + case 1: + a < 128 && (o = a); + break; + case 2: + 128 == (192 & (l = t[i + 1])) && + (f = ((31 & a) << 6) | (63 & l)) > 127 && + (o = f); + break; + case 3: + (l = t[i + 1]), + (u = t[i + 2]), + 128 == (192 & l) && + 128 == (192 & u) && + (f = + ((15 & a) << 12) | + ((63 & l) << 6) | + (63 & u)) > 2047 && + (f < 55296 || f > 57343) && + (o = f); + break; + case 4: + (l = t[i + 1]), + (u = t[i + 2]), + (c = t[i + 3]), + 128 == (192 & l) && + 128 == (192 & u) && + 128 == (192 & c) && + (f = + ((15 & a) << 18) | + ((63 & l) << 12) | + ((63 & u) << 6) | + (63 & c)) > 65535 && + f < 1114112 && + (o = f); + } + } + null === o + ? ((o = 65533), (s = 1)) + : o > 65535 && + ((o -= 65536), + n.push(((o >>> 10) & 1023) | 55296), + (o = 56320 | (1023 & o))), + n.push(o), + (i += s); + } + return (function (t) { + var e = t.length; + if (e <= D) + return String.fromCharCode.apply(String, t); + for (var r = "", n = 0; n < e; ) + r += String.fromCharCode.apply( + String, + t.slice(n, (n += D)), + ); + return r; + })(n); + } + (e.kMaxLength = p), + (v.TYPED_ARRAY_SUPPORT = (function () { + try { + var t = new Uint8Array(1), + e = { + foo: function () { + return 42; + }, + }; + return ( + Object.setPrototypeOf(e, Uint8Array.prototype), + Object.setPrototypeOf(t, e), + 42 === t.foo() + ); + } catch (t) { + return !1; + } + })()), + v.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(v.prototype, "parent", { + enumerable: !0, + get: function () { + if (v.isBuffer(this)) return this.buffer; + }, + }), + Object.defineProperty(v.prototype, "offset", { + enumerable: !0, + get: function () { + if (v.isBuffer(this)) return this.byteOffset; + }, + }), + (v.poolSize = 8192), + (v.from = function (t, e, r) { + return g(t, e, r); + }), + Object.setPrototypeOf( + v.prototype, + Uint8Array.prototype, + ), + Object.setPrototypeOf(v, Uint8Array), + (v.alloc = function (t, e, r) { + return (function (t, e, r) { + return ( + y(t), + t <= 0 + ? d(t) + : void 0 !== e + ? "string" == typeof r + ? d(t).fill(e, r) + : d(t).fill(e) + : d(t) + ); + })(t, e, r); + }), + (v.allocUnsafe = function (t) { + return m(t); + }), + (v.allocUnsafeSlow = function (t) { + return m(t); + }), + (v.isBuffer = function (t) { + return ( + null != t && !0 === t._isBuffer && t !== v.prototype + ); + }), + (v.compare = function (t, e) { + if ( + (rt(t, Uint8Array) && + (t = v.from(t, t.offset, t.byteLength)), + rt(e, Uint8Array) && + (e = v.from(e, e.offset, e.byteLength)), + !v.isBuffer(t) || !v.isBuffer(e)) + ) + throw new TypeError( + 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array', + ); + 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; + }), + (v.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; + } + }), + (v.concat = function (t, e) { + if (!Array.isArray(t)) + throw new TypeError( + '"list" argument must be an Array of Buffers', + ); + if (0 === t.length) return v.alloc(0); + var r; + if (void 0 === e) + for (e = 0, r = 0; r < t.length; ++r) + e += t[r].length; + var n = v.allocUnsafe(e), + i = 0; + for (r = 0; r < t.length; ++r) { + var a = t[r]; + if (rt(a, Uint8Array)) + i + a.length > n.length + ? (v.isBuffer(a) || (a = v.from(a)), + a.copy(n, i)) + : Uint8Array.prototype.set.call(n, a, i); + else { + if (!v.isBuffer(a)) + throw new TypeError( + '"list" argument must be an Array of Buffers', + ); + a.copy(n, i); + } + i += a.length; + } + return n; + }), + (v.byteLength = w), + (v.prototype._isBuffer = !0), + (v.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) k(this, e, e + 1); + return this; + }), + (v.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) + k(this, e, e + 3), k(this, e + 1, e + 2); + return this; + }), + (v.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) + k(this, e, e + 7), + k(this, e + 1, e + 6), + k(this, e + 2, e + 5), + k(this, e + 3, e + 4); + return this; + }), + (v.prototype.toString = function () { + var t = this.length; + return 0 === t + ? "" + : 0 === arguments.length + ? I(this, 0, t) + : T.apply(this, arguments); + }), + (v.prototype.toLocaleString = v.prototype.toString), + (v.prototype.equals = function (t) { + if (!v.isBuffer(t)) + throw new TypeError("Argument must be a Buffer"); + return this === t || 0 === v.compare(this, t); + }), + (v.prototype.inspect = function () { + var t = "", + r = e.INSPECT_MAX_BYTES; + return ( + (t = this.toString("hex", 0, r) + .replace(/(.{2})/g, "$1 ") + .trim()), + this.length > r && (t += " ... "), + "" + ); + }), + h && (v.prototype[h] = v.prototype.inspect), + (v.prototype.compare = function (t, e, r, n, i) { + if ( + (rt(t, Uint8Array) && + (t = v.from(t, t.offset, t.byteLength)), + !v.isBuffer(t)) + ) + throw new TypeError( + 'The "target" argument must be one of type Buffer or Uint8Array. Received type ' + + u(t), + ); + 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 (this === t) return 0; + for ( + var a = (i >>>= 0) - (n >>>= 0), + o = (r >>>= 0) - (e >>>= 0), + s = Math.min(a, o), + l = this.slice(n, i), + c = t.slice(e, r), + f = 0; + f < s; + ++f + ) + if (l[f] !== c[f]) { + (a = l[f]), (o = c[f]); + break; + } + return a < o ? -1 : o < a ? 1 : 0; + }), + (v.prototype.includes = function (t, e, r) { + return -1 !== this.indexOf(t, e, r); + }), + (v.prototype.indexOf = function (t, e, r) { + return A(this, t, e, r, !0); + }), + (v.prototype.lastIndexOf = function (t, e, r) { + return A(this, t, e, r, !1); + }), + (v.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 S(this, t, e, r); + case "utf8": + case "utf-8": + return E(this, t, e, r); + case "ascii": + case "latin1": + case "binary": + return L(this, t, e, r); + case "base64": + return C(this, t, e, r); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return O(this, t, e, r); + default: + if (a) + throw new TypeError("Unknown encoding: " + n); + (n = ("" + n).toLowerCase()), (a = !0); + } + }), + (v.prototype.toJSON = function () { + return { + type: "Buffer", + data: Array.prototype.slice.call( + this._arr || this, + 0, + ), + }; + }); + var D = 4096; + function z(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 R(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 F(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 += it[t[a]]; + return i; + } + function B(t, e, r) { + for ( + var n = t.slice(e, r), i = "", a = 0; + a < n.length - 1; + a += 2 + ) + i += String.fromCharCode(n[a] + 256 * n[a + 1]); + return i; + } + function N(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 j(t, e, r, n, i, a) { + if (!v.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 U(t, e, r, n, i) { + X(e, n, i, t, r, 7); + var a = Number(e & BigInt(4294967295)); + (t[r++] = a), + (a >>= 8), + (t[r++] = a), + (a >>= 8), + (t[r++] = a), + (a >>= 8), + (t[r++] = a); + var o = Number((e >> BigInt(32)) & BigInt(4294967295)); + return ( + (t[r++] = o), + (o >>= 8), + (t[r++] = o), + (o >>= 8), + (t[r++] = o), + (o >>= 8), + (t[r++] = o), + r + ); + } + function V(t, e, r, n, i) { + X(e, n, i, t, r, 7); + var a = Number(e & BigInt(4294967295)); + (t[r + 7] = a), + (a >>= 8), + (t[r + 6] = a), + (a >>= 8), + (t[r + 5] = a), + (a >>= 8), + (t[r + 4] = a); + var o = Number((e >> BigInt(32)) & BigInt(4294967295)); + return ( + (t[r + 3] = o), + (o >>= 8), + (t[r + 2] = o), + (o >>= 8), + (t[r + 1] = o), + (o >>= 8), + (t[r] = o), + r + 8 + ); + } + function H(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 q(t, e, r, n, i) { + return ( + (e = +e), + (r >>>= 0), + i || H(t, 0, r, 4), + f.write(t, e, r, n, 23, 4), + r + 4 + ); + } + function G(t, e, r, n, i) { + return ( + (e = +e), + (r >>>= 0), + i || H(t, 0, r, 8), + f.write(t, e, r, n, 52, 8), + r + 8 + ); + } + (v.prototype.slice = function (t, e) { + var r = this.length; + (t = ~~t) < 0 + ? (t += r) < 0 && (t = 0) + : t > r && (t = r), + (e = void 0 === e ? r : ~~e) < 0 + ? (e += r) < 0 && (e = 0) + : e > r && (e = r), + e < t && (e = t); + var n = this.subarray(t, e); + return Object.setPrototypeOf(n, v.prototype), n; + }), + (v.prototype.readUintLE = v.prototype.readUIntLE = + function (t, e, r) { + (t >>>= 0), (e >>>= 0), r || N(t, e, this.length); + for ( + var n = this[t], i = 1, a = 0; + ++a < e && (i *= 256); + + ) + n += this[t + a] * i; + return n; + }), + (v.prototype.readUintBE = v.prototype.readUIntBE = + function (t, e, r) { + (t >>>= 0), (e >>>= 0), r || N(t, e, this.length); + for ( + var n = this[t + --e], i = 1; + e > 0 && (i *= 256); + + ) + n += this[t + --e] * i; + return n; + }), + (v.prototype.readUint8 = v.prototype.readUInt8 = + function (t, e) { + return ( + (t >>>= 0), e || N(t, 1, this.length), this[t] + ); + }), + (v.prototype.readUint16LE = v.prototype.readUInt16LE = + function (t, e) { + return ( + (t >>>= 0), + e || N(t, 2, this.length), + this[t] | (this[t + 1] << 8) + ); + }), + (v.prototype.readUint16BE = v.prototype.readUInt16BE = + function (t, e) { + return ( + (t >>>= 0), + e || N(t, 2, this.length), + (this[t] << 8) | this[t + 1] + ); + }), + (v.prototype.readUint32LE = v.prototype.readUInt32LE = + function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + (this[t] | + (this[t + 1] << 8) | + (this[t + 2] << 16)) + + 16777216 * this[t + 3] + ); + }), + (v.prototype.readUint32BE = v.prototype.readUInt32BE = + function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + 16777216 * this[t] + + ((this[t + 1] << 16) | + (this[t + 2] << 8) | + this[t + 3]) + ); + }), + (v.prototype.readBigUInt64LE = at(function (t) { + J((t >>>= 0), "offset"); + var e = this[t], + r = this[t + 7]; + (void 0 !== e && void 0 !== r) || + K(t, this.length - 8); + var n = + e + + this[++t] * Math.pow(2, 8) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 24), + i = + this[++t] + + this[++t] * Math.pow(2, 8) + + this[++t] * Math.pow(2, 16) + + r * Math.pow(2, 24); + return BigInt(n) + (BigInt(i) << BigInt(32)); + })), + (v.prototype.readBigUInt64BE = at(function (t) { + J((t >>>= 0), "offset"); + var e = this[t], + r = this[t + 7]; + (void 0 !== e && void 0 !== r) || + K(t, this.length - 8); + var n = + e * Math.pow(2, 24) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 8) + + this[++t], + i = + this[++t] * Math.pow(2, 24) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 8) + + r; + return (BigInt(n) << BigInt(32)) + BigInt(i); + })), + (v.prototype.readIntLE = function (t, e, r) { + (t >>>= 0), (e >>>= 0), r || N(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 + ); + }), + (v.prototype.readIntBE = function (t, e, r) { + (t >>>= 0), (e >>>= 0), r || N(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 + ); + }), + (v.prototype.readInt8 = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 1, this.length), + 128 & this[t] ? -1 * (255 - this[t] + 1) : this[t] + ); + }), + (v.prototype.readInt16LE = function (t, e) { + (t >>>= 0), e || N(t, 2, this.length); + var r = this[t] | (this[t + 1] << 8); + return 32768 & r ? 4294901760 | r : r; + }), + (v.prototype.readInt16BE = function (t, e) { + (t >>>= 0), e || N(t, 2, this.length); + var r = this[t + 1] | (this[t] << 8); + return 32768 & r ? 4294901760 | r : r; + }), + (v.prototype.readInt32LE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + this[t] | + (this[t + 1] << 8) | + (this[t + 2] << 16) | + (this[t + 3] << 24) + ); + }), + (v.prototype.readInt32BE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + (this[t] << 24) | + (this[t + 1] << 16) | + (this[t + 2] << 8) | + this[t + 3] + ); + }), + (v.prototype.readBigInt64LE = at(function (t) { + J((t >>>= 0), "offset"); + var e = this[t], + r = this[t + 7]; + (void 0 !== e && void 0 !== r) || + K(t, this.length - 8); + var n = + this[t + 4] + + this[t + 5] * Math.pow(2, 8) + + this[t + 6] * Math.pow(2, 16) + + (r << 24); + return ( + (BigInt(n) << BigInt(32)) + + BigInt( + e + + this[++t] * Math.pow(2, 8) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 24), + ) + ); + })), + (v.prototype.readBigInt64BE = at(function (t) { + J((t >>>= 0), "offset"); + var e = this[t], + r = this[t + 7]; + (void 0 !== e && void 0 !== r) || + K(t, this.length - 8); + var n = + (e << 24) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 8) + + this[++t]; + return ( + (BigInt(n) << BigInt(32)) + + BigInt( + this[++t] * Math.pow(2, 24) + + this[++t] * Math.pow(2, 16) + + this[++t] * Math.pow(2, 8) + + r, + ) + ); + })), + (v.prototype.readFloatLE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + f.read(this, t, !0, 23, 4) + ); + }), + (v.prototype.readFloatBE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 4, this.length), + f.read(this, t, !1, 23, 4) + ); + }), + (v.prototype.readDoubleLE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 8, this.length), + f.read(this, t, !0, 52, 8) + ); + }), + (v.prototype.readDoubleBE = function (t, e) { + return ( + (t >>>= 0), + e || N(t, 8, this.length), + f.read(this, t, !1, 52, 8) + ); + }), + (v.prototype.writeUintLE = v.prototype.writeUIntLE = + function (t, e, r, n) { + (t = +t), + (e >>>= 0), + (r >>>= 0), + n || j(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; + }), + (v.prototype.writeUintBE = v.prototype.writeUIntBE = + function (t, e, r, n) { + (t = +t), + (e >>>= 0), + (r >>>= 0), + n || j(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; + }), + (v.prototype.writeUint8 = v.prototype.writeUInt8 = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 1, 255, 0), + (this[e] = 255 & t), + e + 1 + ); + }), + (v.prototype.writeUint16LE = v.prototype.writeUInt16LE = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 2, 65535, 0), + (this[e] = 255 & t), + (this[e + 1] = t >>> 8), + e + 2 + ); + }), + (v.prototype.writeUint16BE = v.prototype.writeUInt16BE = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 2, 65535, 0), + (this[e] = t >>> 8), + (this[e + 1] = 255 & t), + e + 2 + ); + }), + (v.prototype.writeUint32LE = v.prototype.writeUInt32LE = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(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 + ); + }), + (v.prototype.writeUint32BE = v.prototype.writeUInt32BE = + function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(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 + ); + }), + (v.prototype.writeBigUInt64LE = at(function (t) { + var e = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : 0; + return U( + this, + t, + e, + BigInt(0), + BigInt("0xffffffffffffffff"), + ); + })), + (v.prototype.writeBigUInt64BE = at(function (t) { + var e = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : 0; + return V( + this, + t, + e, + BigInt(0), + BigInt("0xffffffffffffffff"), + ); + })), + (v.prototype.writeIntLE = function (t, e, r, n) { + if (((t = +t), (e >>>= 0), !n)) { + var i = Math.pow(2, 8 * r - 1); + j(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; + }), + (v.prototype.writeIntBE = function (t, e, r, n) { + if (((t = +t), (e >>>= 0), !n)) { + var i = Math.pow(2, 8 * r - 1); + j(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; + }), + (v.prototype.writeInt8 = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 1, 127, -128), + t < 0 && (t = 255 + t + 1), + (this[e] = 255 & t), + e + 1 + ); + }), + (v.prototype.writeInt16LE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 2, 32767, -32768), + (this[e] = 255 & t), + (this[e + 1] = t >>> 8), + e + 2 + ); + }), + (v.prototype.writeInt16BE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(this, t, e, 2, 32767, -32768), + (this[e] = t >>> 8), + (this[e + 1] = 255 & t), + e + 2 + ); + }), + (v.prototype.writeInt32LE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(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 + ); + }), + (v.prototype.writeInt32BE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || j(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 + ); + }), + (v.prototype.writeBigInt64LE = at(function (t) { + var e = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : 0; + return U( + this, + t, + e, + -BigInt("0x8000000000000000"), + BigInt("0x7fffffffffffffff"), + ); + })), + (v.prototype.writeBigInt64BE = at(function (t) { + var e = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : 0; + return V( + this, + t, + e, + -BigInt("0x8000000000000000"), + BigInt("0x7fffffffffffffff"), + ); + })), + (v.prototype.writeFloatLE = function (t, e, r) { + return q(this, t, e, !0, r); + }), + (v.prototype.writeFloatBE = function (t, e, r) { + return q(this, t, e, !1, r); + }), + (v.prototype.writeDoubleLE = function (t, e, r) { + return G(this, t, e, !0, r); + }), + (v.prototype.writeDoubleBE = function (t, e, r) { + return G(this, t, e, !1, r); + }), + (v.prototype.copy = function (t, e, r, n) { + if (!v.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; + return ( + this === t && + "function" == typeof Uint8Array.prototype.copyWithin + ? this.copyWithin(e, r, n) + : Uint8Array.prototype.set.call( + t, + this.subarray(r, n), + e, + ), + i + ); + }), + (v.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 && !v.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) + : "boolean" == typeof t && (t = Number(t)); + 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 = v.isBuffer(t) ? t : v.from(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 Z = {}; + function W(t, e, r) { + Z[t] = (function (r) { + !(function (t, e) { + if ("function" != typeof e && null !== e) + throw new TypeError( + "Super expression must either be null or a function", + ); + (t.prototype = Object.create(e && e.prototype, { + constructor: { + value: t, + writable: !0, + configurable: !0, + }, + })), + Object.defineProperty(t, "prototype", { + writable: !1, + }), + e && a(t, e); + })(d, r); + var u, + c, + f, + h, + p = + ((f = d), + (h = (function () { + if ( + "undefined" == typeof Reflect || + !Reflect.construct + ) + return !1; + if (Reflect.construct.sham) return !1; + if ("function" == typeof Proxy) return !0; + try { + return ( + Boolean.prototype.valueOf.call( + Reflect.construct( + Boolean, + [], + function () {}, + ), + ), + !0 + ); + } catch (t) { + return !1; + } + })()), + function () { + var t, + e = l(f); + if (h) { + var r = l(this).constructor; + t = Reflect.construct(e, arguments, r); + } else t = e.apply(this, arguments); + return o(this, t); + }); + function d() { + var r; + return ( + n(this, d), + (r = p.call(this)), + Object.defineProperty(s(r), "message", { + value: e.apply(s(r), arguments), + writable: !0, + configurable: !0, + }), + (r.name = "".concat(r.name, " [").concat(t, "]")), + r.stack, + delete r.name, + r + ); + } + return ( + (u = d), + (c = [ + { + key: "code", + get: function () { + return t; + }, + set: function (t) { + Object.defineProperty(this, "code", { + configurable: !0, + enumerable: !0, + value: t, + writable: !0, + }); + }, + }, + { + key: "toString", + value: function () { + return "" + .concat(this.name, " [") + .concat(t, "]: ") + .concat(this.message); + }, + }, + ]) && i(u.prototype, c), + Object.defineProperty(u, "prototype", { + writable: !1, + }), + d + ); + })(r); + } + function Y(t) { + for ( + var e = "", r = t.length, n = "-" === t[0] ? 1 : 0; + r >= n + 4; + r -= 3 + ) + e = "_".concat(t.slice(r - 3, r)).concat(e); + return "".concat(t.slice(0, r)).concat(e); + } + function X(t, e, r, n, i, a) { + if (t > r || t < e) { + var o, + s = "bigint" == typeof e ? "n" : ""; + throw ( + ((o = + a > 3 + ? 0 === e || e === BigInt(0) + ? ">= 0" + .concat(s, " and < 2") + .concat(s, " ** ") + .concat(8 * (a + 1)) + .concat(s) + : ">= -(2" + .concat(s, " ** ") + .concat(8 * (a + 1) - 1) + .concat(s, ") and < 2 ** ") + + "".concat(8 * (a + 1) - 1).concat(s) + : ">= " + .concat(e) + .concat(s, " and <= ") + .concat(r) + .concat(s)), + new Z.ERR_OUT_OF_RANGE("value", o, t)) + ); + } + !(function (t, e, r) { + J(e, "offset"), + (void 0 !== t[e] && void 0 !== t[e + r]) || + K(e, t.length - (r + 1)); + })(n, i, a); + } + function J(t, e) { + if ("number" != typeof t) + throw new Z.ERR_INVALID_ARG_TYPE(e, "number", t); + } + function K(t, e, r) { + if (Math.floor(t) !== t) + throw ( + (J(t, r), + new Z.ERR_OUT_OF_RANGE( + r || "offset", + "an integer", + t, + )) + ); + if (e < 0) throw new Z.ERR_BUFFER_OUT_OF_BOUNDS(); + throw new Z.ERR_OUT_OF_RANGE( + r || "offset", + ">= ".concat(r ? 1 : 0, " and <= ").concat(e), + t, + ); + } + W( + "ERR_BUFFER_OUT_OF_BOUNDS", + function (t) { + return t + ? "".concat(t, " is outside of buffer bounds") + : "Attempt to access memory outside buffer bounds"; + }, + RangeError, + ), + W( + "ERR_INVALID_ARG_TYPE", + function (t, e) { + return 'The "' + .concat( + t, + '" argument must be of type number. Received type ', + ) + .concat(u(e)); + }, + TypeError, + ), + W( + "ERR_OUT_OF_RANGE", + function (t, e, r) { + var n = 'The value of "'.concat( + t, + '" is out of range.', + ), + i = r; + return ( + Number.isInteger(r) && + Math.abs(r) > Math.pow(2, 32) + ? (i = Y(String(r))) + : "bigint" == typeof r && + ((i = String(r)), + (r > Math.pow(BigInt(2), BigInt(32)) || + r < -Math.pow(BigInt(2), BigInt(32))) && + (i = Y(i)), + (i += "n")), + n + + " It must be " + .concat(e, ". Received ") + .concat(i) + ); + }, + RangeError, + ); + var $ = /[^+/0-9A-Za-z-_]/g; + function Q(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 tt(t) { + return c.toByteArray( + (function (t) { + if ( + (t = (t = t.split("=")[0]).trim().replace($, "")) + .length < 2 + ) + return ""; + for (; t.length % 4 != 0; ) t += "="; + return t; + })(t), + ); + } + function et(t, e, r, n) { + var i; + for ( + i = 0; + i < n && !(i + r >= e.length || i >= t.length); + ++i + ) + e[i + r] = t[i]; + return i; + } + function rt(t, e) { + return ( + t instanceof e || + (null != t && + null != t.constructor && + null != t.constructor.name && + t.constructor.name === e.name) + ); + } + function nt(t) { + return t != t; + } + var it = (function () { + for ( + var t = "0123456789abcdef", e = new Array(256), r = 0; + r < 16; + ++r + ) + for (var n = 16 * r, i = 0; i < 16; ++i) + e[n + i] = t[r] + t[i]; + return e; + })(); + function at(t) { + return "undefined" == typeof BigInt ? ot : t; + } + function ot() { + throw new Error("BigInt not supported"); + } + }, + 35791: function (t) { + "use strict"; + (t.exports = i), + (t.exports.isMobile = i), + (t.exports.default = i); + var e = + /(android|bb\d+|meego).+mobile|armv7l|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[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i, + r = /CrOS/, + n = /android|ipad|playbook|silk/i; + function i(t) { + t || (t = {}); + var i = t.ua; + if ( + (i || + "undefined" == typeof navigator || + (i = navigator.userAgent), + i && + i.headers && + "string" == typeof i.headers["user-agent"] && + (i = i.headers["user-agent"]), + "string" != typeof i) + ) + return !1; + var a = + (e.test(i) && !r.test(i)) || + (!!t.tablet && n.test(i)); + return ( + !a && + t.tablet && + t.featureDetect && + navigator && + navigator.maxTouchPoints > 1 && + -1 !== i.indexOf("Macintosh") && + -1 !== i.indexOf("Safari") && + (a = !0), + a + ); + } + }, + 86781: function (t, e, r) { + "use strict"; + r.r(e), + r.d(e, { + sankeyCenter: function () { + return h; + }, + sankeyCircular: function () { + return L; + }, + sankeyJustify: function () { + return f; + }, + sankeyLeft: function () { + return u; + }, + sankeyRight: function () { + return c; + }, + }); + var n = r(33064), + i = r(15140), + a = r(45879), + o = r(2502), + s = r.n(o); + function l(t) { + return t.target.depth; + } + function u(t) { + return t.depth; + } + function c(t, e) { + return e - 1 - t.height; + } + function f(t, e) { + return t.sourceLinks.length ? t.depth : e - 1; + } + function h(t) { + return t.targetLinks.length + ? t.depth + : t.sourceLinks.length + ? (0, n.VV)(t.sourceLinks, l) - 1 + : 0; + } + function p(t) { + return function () { + return t; + }; + } + var d = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function (t) { + return typeof t; + } + : function (t) { + return t && + "function" == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? "symbol" + : typeof t; + }; + function v(t, e) { + return y(t.source, e.source) || t.index - e.index; + } + function g(t, e) { + return y(t.target, e.target) || t.index - e.index; + } + function y(t, e) { + return t.partOfCycle === e.partOfCycle + ? t.y0 - e.y0 + : "top" === t.circularLinkType || + "bottom" === e.circularLinkType + ? -1 + : 1; + } + function m(t) { + return t.value; + } + function x(t) { + return (t.y0 + t.y1) / 2; + } + function b(t) { + return x(t.source); + } + function _(t) { + return x(t.target); + } + function w(t) { + return t.index; + } + function T(t) { + return t.nodes; + } + function k(t) { + return t.links; + } + function A(t, e) { + var r = t.get(e); + if (!r) throw new Error("missing: " + e); + return r; + } + function M(t, e) { + return e(t); + } + var S = 25, + E = 10; + function L() { + var t, + e, + r = 0, + a = 0, + o = 1, + s = 1, + l = 24, + u = w, + c = f, + h = T, + M = k, + L = 32, + P = 2, + D = null; + function z() { + var t = { + nodes: h.apply(null, arguments), + links: M.apply(null, arguments), + }; + F(t), + C(t, 0, D), + B(t), + N(t), + O(t, u), + j(t, L, u), + U(t); + for (var e = 4, r = 0; r < e; r++) + Y(t, s, u), + X(t, 0, u), + Z(t, a, s, u), + Y(t, s, u), + X(t, 0, u); + return Q(t, a, s), R(t, P, s, u), t; + } + function F(t) { + t.nodes.forEach(function (t, e) { + (t.index = e), + (t.sourceLinks = []), + (t.targetLinks = []); + }); + var e = (0, i.UI)(t.nodes, u); + return ( + t.links.forEach(function (t, r) { + t.index = r; + var n = t.source, + i = t.target; + "object" !== + (void 0 === n ? "undefined" : d(n)) && + (n = t.source = A(e, n)), + "object" !== + (void 0 === i ? "undefined" : d(i)) && + (i = t.target = A(e, i)), + n.sourceLinks.push(t), + i.targetLinks.push(t); + }), + t + ); + } + function B(t) { + t.nodes.forEach(function (t) { + (t.partOfCycle = !1), + (t.value = Math.max( + (0, n.Sm)(t.sourceLinks, m), + (0, n.Sm)(t.targetLinks, m), + )), + t.sourceLinks.forEach(function (e) { + e.circular && + ((t.partOfCycle = !0), + (t.circularLinkType = e.circularLinkType)); + }), + t.targetLinks.forEach(function (e) { + e.circular && + ((t.partOfCycle = !0), + (t.circularLinkType = e.circularLinkType)); + }); + }); + } + function N(t) { + var e, r, n; + for ( + e = t.nodes, r = [], n = 0; + e.length; + ++n, e = r, r = [] + ) + e.forEach(function (t) { + (t.depth = n), + t.sourceLinks.forEach(function (t) { + r.indexOf(t.target) < 0 && + !t.circular && + r.push(t.target); + }); + }); + for ( + e = t.nodes, r = [], n = 0; + e.length; + ++n, e = r, r = [] + ) + e.forEach(function (t) { + (t.height = n), + t.targetLinks.forEach(function (t) { + r.indexOf(t.source) < 0 && + !t.circular && + r.push(t.source); + }); + }); + t.nodes.forEach(function (t) { + t.column = Math.floor(c.call(null, t, n)); + }); + } + function j(u, c, f) { + var h = (0, i.b1)() + .key(function (t) { + return t.column; + }) + .sortKeys(n.j2) + .entries(u.nodes) + .map(function (t) { + return t.values; + }); + !(function (i) { + if (e) { + var c = 1 / 0; + h.forEach(function (t) { + var r = (s * e) / (t.length + 1); + c = r < c ? r : c; + }), + (t = c); + } + var f = (0, n.VV)(h, function (e) { + return ( + (s - a - (e.length - 1) * t) / (0, n.Sm)(e, m) + ); + }); + (f *= 0.3), + u.links.forEach(function (t) { + t.width = t.value * f; + }); + var p = (function (t) { + var e = 0, + r = 0, + i = 0, + a = 0, + o = (0, n.Fp)(t.nodes, function (t) { + return t.column; + }); + return ( + t.links.forEach(function (t) { + t.circular && + ("top" == t.circularLinkType + ? (e += t.width) + : (r += t.width), + 0 == t.target.column && (a += t.width), + t.source.column == o && (i += t.width)); + }), + { + top: (e = e > 0 ? e + S + E : e), + bottom: (r = r > 0 ? r + S + E : r), + left: (a = a > 0 ? a + S + E : a), + right: (i = i > 0 ? i + S + E : i), + } + ); + })(u), + d = (function (t, e) { + var i = (0, n.Fp)(t.nodes, function (t) { + return t.column; + }), + u = o - r, + c = s - a, + f = u / (u + e.right + e.left), + h = c / (c + e.top + e.bottom); + return ( + (r = r * f + e.left), + (o = 0 == e.right ? o : o * f), + (a = a * h + e.top), + (s *= h), + t.nodes.forEach(function (t) { + (t.x0 = r + t.column * ((o - r - l) / i)), + (t.x1 = t.x0 + l); + }), + h + ); + })(u, p); + (f *= d), + u.links.forEach(function (t) { + t.width = t.value * f; + }), + h.forEach(function (t) { + var e = t.length; + t.forEach(function (t, r) { + (t.depth == h.length - 1 && 1 == e) || + (0 == t.depth && 1 == e) + ? ((t.y0 = s / 2 - t.value * f), + (t.y1 = t.y0 + t.value * f)) + : t.partOfCycle + ? 0 == I(t, i) + ? ((t.y0 = s / 2 + r), + (t.y1 = t.y0 + t.value * f)) + : "top" == t.circularLinkType + ? ((t.y0 = a + r), + (t.y1 = t.y0 + t.value * f)) + : ((t.y0 = s - t.value * f - r), + (t.y1 = t.y0 + t.value * f)) + : 0 == p.top || 0 == p.bottom + ? ((t.y0 = ((s - a) / e) * r), + (t.y1 = t.y0 + t.value * f)) + : ((t.y0 = (s - a) / 2 - e / 2 + r), + (t.y1 = t.y0 + t.value * f)); + }); + }); + })(f), + g(); + for (var p = 1, d = c; d > 0; --d) + v((p *= 0.99), f), g(); + function v(t, e) { + var r = h.length; + h.forEach(function (i) { + var a = i.length, + o = i[0].depth; + i.forEach(function (i) { + var l; + if ( + i.sourceLinks.length || + i.targetLinks.length + ) + if (i.partOfCycle && I(i, e) > 0); + else if (0 == o && 1 == a) + (l = i.y1 - i.y0), + (i.y0 = s / 2 - l / 2), + (i.y1 = s / 2 + l / 2); + else if (o == r - 1 && 1 == a) + (l = i.y1 - i.y0), + (i.y0 = s / 2 - l / 2), + (i.y1 = s / 2 + l / 2); + else { + var u = (0, n.J6)(i.sourceLinks, _), + c = (0, n.J6)(i.targetLinks, b), + f = + ((u && c ? (u + c) / 2 : u || c) - + x(i)) * + t; + (i.y0 += f), (i.y1 += f); + } + }); + }); + } + function g() { + h.forEach(function (e) { + var r, + n, + i, + o = a, + l = e.length; + for (e.sort(y), i = 0; i < l; ++i) + (n = o - (r = e[i]).y0) > 0 && + ((r.y0 += n), (r.y1 += n)), + (o = r.y1 + t); + if ((n = o - t - s) > 0) + for ( + o = r.y0 -= n, r.y1 -= n, i = l - 2; + i >= 0; + --i + ) + (n = (r = e[i]).y1 + t - o) > 0 && + ((r.y0 -= n), (r.y1 -= n)), + (o = r.y0); + }); + } + } + function U(t) { + t.nodes.forEach(function (t) { + t.sourceLinks.sort(g), t.targetLinks.sort(v); + }), + t.nodes.forEach(function (t) { + var e = t.y0, + r = e, + n = t.y1, + i = n; + t.sourceLinks.forEach(function (t) { + t.circular + ? ((t.y0 = n - t.width / 2), (n -= t.width)) + : ((t.y0 = e + t.width / 2), (e += t.width)); + }), + t.targetLinks.forEach(function (t) { + t.circular + ? ((t.y1 = i - t.width / 2), (i -= t.width)) + : ((t.y1 = r + t.width / 2), + (r += t.width)); + }); + }); + } + return ( + (z.nodeId = function (t) { + return arguments.length + ? ((u = "function" == typeof t ? t : p(t)), z) + : u; + }), + (z.nodeAlign = function (t) { + return arguments.length + ? ((c = "function" == typeof t ? t : p(t)), z) + : c; + }), + (z.nodeWidth = function (t) { + return arguments.length ? ((l = +t), z) : l; + }), + (z.nodePadding = function (e) { + return arguments.length ? ((t = +e), z) : t; + }), + (z.nodes = function (t) { + return arguments.length + ? ((h = "function" == typeof t ? t : p(t)), z) + : h; + }), + (z.links = function (t) { + return arguments.length + ? ((M = "function" == typeof t ? t : p(t)), z) + : M; + }), + (z.size = function (t) { + return arguments.length + ? ((r = a = 0), (o = +t[0]), (s = +t[1]), z) + : [o - r, s - a]; + }), + (z.extent = function (t) { + return arguments.length + ? ((r = +t[0][0]), + (o = +t[1][0]), + (a = +t[0][1]), + (s = +t[1][1]), + z) + : [ + [r, a], + [o, s], + ]; + }), + (z.iterations = function (t) { + return arguments.length ? ((L = +t), z) : L; + }), + (z.circularLinkGap = function (t) { + return arguments.length ? ((P = +t), z) : P; + }), + (z.nodePaddingRatio = function (t) { + return arguments.length ? ((e = +t), z) : e; + }), + (z.sortNodes = function (t) { + return arguments.length ? ((D = t), z) : D; + }), + (z.update = function (t) { + return ( + O(t, u), + U(t), + t.links.forEach(function (t) { + t.circular && + ((t.circularLinkType = + t.y0 + t.y1 < s ? "top" : "bottom"), + (t.source.circularLinkType = + t.circularLinkType), + (t.target.circularLinkType = + t.circularLinkType)); + }), + Y(t, s, u, !1), + X(t, 0, u), + R(t, P, s, u), + t + ); + }), + z + ); + } + function C(t, e, r) { + var n = 0; + if (null === r) { + for (var i = [], a = 0; a < t.links.length; a++) { + var o = t.links[a], + l = o.source.index, + u = o.target.index; + i[l] || (i[l] = []), + i[u] || (i[u] = []), + -1 === i[l].indexOf(u) && i[l].push(u); + } + var c = s()(i); + c.sort(function (t, e) { + return t.length - e.length; + }); + var f = {}; + for (a = 0; a < c.length; a++) { + var h = c[a].slice(-2); + f[h[0]] || (f[h[0]] = {}), (f[h[0]][h[1]] = !0); + } + t.links.forEach(function (t) { + var e = t.target.index, + r = t.source.index; + e === r || (f[r] && f[r][e]) + ? ((t.circular = !0), + (t.circularLinkID = n), + (n += 1)) + : (t.circular = !1); + }); + } else + t.links.forEach(function (t) { + t.source[r] < t.target[r] + ? (t.circular = !1) + : ((t.circular = !0), + (t.circularLinkID = n), + (n += 1)); + }); + } + function O(t, e) { + var r = 0, + n = 0; + t.links.forEach(function (i) { + i.circular && + (i.source.circularLinkType || + i.target.circularLinkType + ? (i.circularLinkType = i.source.circularLinkType + ? i.source.circularLinkType + : i.target.circularLinkType) + : (i.circularLinkType = r < n ? "top" : "bottom"), + "top" == i.circularLinkType ? (r += 1) : (n += 1), + t.nodes.forEach(function (t) { + (M(t, e) != M(i.source, e) && + M(t, e) != M(i.target, e)) || + (t.circularLinkType = i.circularLinkType); + })); + }), + t.links.forEach(function (t) { + t.circular && + (t.source.circularLinkType == + t.target.circularLinkType && + (t.circularLinkType = + t.source.circularLinkType), + $(t, e) && + (t.circularLinkType = + t.source.circularLinkType)); + }); + } + function P(t) { + var e = Math.abs(t.y1 - t.y0), + r = Math.abs(t.target.x0 - t.source.x1); + return Math.atan(r / e); + } + function I(t, e) { + var r = 0; + t.sourceLinks.forEach(function (t) { + r = t.circular && !$(t, e) ? r + 1 : r; + }); + var n = 0; + return ( + t.targetLinks.forEach(function (t) { + n = t.circular && !$(t, e) ? n + 1 : n; + }), + r + n + ); + } + function D(t) { + var e = t.source.sourceLinks, + r = 0; + e.forEach(function (t) { + r = t.circular ? r + 1 : r; + }); + var n = t.target.targetLinks, + i = 0; + return ( + n.forEach(function (t) { + i = t.circular ? i + 1 : i; + }), + !(r > 1 || i > 1) + ); + } + function z(t, e, r) { + return ( + t.sort(F), + t.forEach(function (n, i) { + var a, + o, + s = 0; + if ($(n, r) && D(n)) + n.circularPathData.verticalBuffer = + s + n.width / 2; + else { + for (var l = 0; l < i; l++) + if ( + ((a = t[i]), + (o = t[l]), + !( + a.source.column < o.target.column || + a.target.column > o.source.column + )) + ) { + var u = + t[l].circularPathData.verticalBuffer + + t[l].width / 2 + + e; + s = u > s ? u : s; + } + n.circularPathData.verticalBuffer = + s + n.width / 2; + } + }), + t + ); + } + function R(t, e, r, i) { + var o = (0, n.VV)(t.links, function (t) { + return t.source.y0; + }); + t.links.forEach(function (t) { + t.circular && (t.circularPathData = {}); + }), + z( + t.links.filter(function (t) { + return "top" == t.circularLinkType; + }), + e, + i, + ), + z( + t.links.filter(function (t) { + return "bottom" == t.circularLinkType; + }), + e, + i, + ), + t.links.forEach(function (n) { + if (n.circular) { + if ( + ((n.circularPathData.arcRadius = n.width + E), + (n.circularPathData.leftNodeBuffer = 5), + (n.circularPathData.rightNodeBuffer = 5), + (n.circularPathData.sourceWidth = + n.source.x1 - n.source.x0), + (n.circularPathData.sourceX = + n.source.x0 + n.circularPathData.sourceWidth), + (n.circularPathData.targetX = n.target.x0), + (n.circularPathData.sourceY = n.y0), + (n.circularPathData.targetY = n.y1), + $(n, i) && D(n)) + ) + (n.circularPathData.leftSmallArcRadius = + E + n.width / 2), + (n.circularPathData.leftLargeArcRadius = + E + n.width / 2), + (n.circularPathData.rightSmallArcRadius = + E + n.width / 2), + (n.circularPathData.rightLargeArcRadius = + E + n.width / 2), + "bottom" == n.circularLinkType + ? ((n.circularPathData.verticalFullExtent = + n.source.y1 + + S + + n.circularPathData.verticalBuffer), + (n.circularPathData.verticalLeftInnerExtent = + n.circularPathData.verticalFullExtent - + n.circularPathData.leftLargeArcRadius), + (n.circularPathData.verticalRightInnerExtent = + n.circularPathData.verticalFullExtent - + n.circularPathData.rightLargeArcRadius)) + : ((n.circularPathData.verticalFullExtent = + n.source.y0 - + S - + n.circularPathData.verticalBuffer), + (n.circularPathData.verticalLeftInnerExtent = + n.circularPathData.verticalFullExtent + + n.circularPathData.leftLargeArcRadius), + (n.circularPathData.verticalRightInnerExtent = + n.circularPathData.verticalFullExtent + + n.circularPathData + .rightLargeArcRadius)); + else { + var s = n.source.column, + l = n.circularLinkType, + u = t.links.filter(function (t) { + return ( + t.source.column == s && + t.circularLinkType == l + ); + }); + "bottom" == n.circularLinkType + ? u.sort(N) + : u.sort(B); + var c = 0; + u.forEach(function (t, r) { + t.circularLinkID == n.circularLinkID && + ((n.circularPathData.leftSmallArcRadius = + E + n.width / 2 + c), + (n.circularPathData.leftLargeArcRadius = + E + n.width / 2 + r * e + c)), + (c += t.width); + }), + (s = n.target.column), + (u = t.links.filter(function (t) { + return ( + t.target.column == s && + t.circularLinkType == l + ); + })), + "bottom" == n.circularLinkType + ? u.sort(U) + : u.sort(j), + (c = 0), + u.forEach(function (t, r) { + t.circularLinkID == n.circularLinkID && + ((n.circularPathData.rightSmallArcRadius = + E + n.width / 2 + c), + (n.circularPathData.rightLargeArcRadius = + E + n.width / 2 + r * e + c)), + (c += t.width); + }), + "bottom" == n.circularLinkType + ? ((n.circularPathData.verticalFullExtent = + Math.max(r, n.source.y1, n.target.y1) + + S + + n.circularPathData.verticalBuffer), + (n.circularPathData.verticalLeftInnerExtent = + n.circularPathData.verticalFullExtent - + n.circularPathData.leftLargeArcRadius), + (n.circularPathData.verticalRightInnerExtent = + n.circularPathData.verticalFullExtent - + n.circularPathData.rightLargeArcRadius)) + : ((n.circularPathData.verticalFullExtent = + o - + S - + n.circularPathData.verticalBuffer), + (n.circularPathData.verticalLeftInnerExtent = + n.circularPathData.verticalFullExtent + + n.circularPathData.leftLargeArcRadius), + (n.circularPathData.verticalRightInnerExtent = + n.circularPathData.verticalFullExtent + + n.circularPathData + .rightLargeArcRadius)); + } + (n.circularPathData.leftInnerExtent = + n.circularPathData.sourceX + + n.circularPathData.leftNodeBuffer), + (n.circularPathData.rightInnerExtent = + n.circularPathData.targetX - + n.circularPathData.rightNodeBuffer), + (n.circularPathData.leftFullExtent = + n.circularPathData.sourceX + + n.circularPathData.leftLargeArcRadius + + n.circularPathData.leftNodeBuffer), + (n.circularPathData.rightFullExtent = + n.circularPathData.targetX - + n.circularPathData.rightLargeArcRadius - + n.circularPathData.rightNodeBuffer); + } + if (n.circular) + n.path = (function (t) { + return "top" == t.circularLinkType + ? "M" + + t.circularPathData.sourceX + + " " + + t.circularPathData.sourceY + + " L" + + t.circularPathData.leftInnerExtent + + " " + + t.circularPathData.sourceY + + " A" + + t.circularPathData.leftLargeArcRadius + + " " + + t.circularPathData.leftSmallArcRadius + + " 0 0 0 " + + t.circularPathData.leftFullExtent + + " " + + (t.circularPathData.sourceY - + t.circularPathData.leftSmallArcRadius) + + " L" + + t.circularPathData.leftFullExtent + + " " + + t.circularPathData + .verticalLeftInnerExtent + + " A" + + t.circularPathData.leftLargeArcRadius + + " " + + t.circularPathData.leftLargeArcRadius + + " 0 0 0 " + + t.circularPathData.leftInnerExtent + + " " + + t.circularPathData.verticalFullExtent + + " L" + + t.circularPathData.rightInnerExtent + + " " + + t.circularPathData.verticalFullExtent + + " A" + + t.circularPathData.rightLargeArcRadius + + " " + + t.circularPathData.rightLargeArcRadius + + " 0 0 0 " + + t.circularPathData.rightFullExtent + + " " + + t.circularPathData + .verticalRightInnerExtent + + " L" + + t.circularPathData.rightFullExtent + + " " + + (t.circularPathData.targetY - + t.circularPathData + .rightSmallArcRadius) + + " A" + + t.circularPathData.rightLargeArcRadius + + " " + + t.circularPathData.rightSmallArcRadius + + " 0 0 0 " + + t.circularPathData.rightInnerExtent + + " " + + t.circularPathData.targetY + + " L" + + t.circularPathData.targetX + + " " + + t.circularPathData.targetY + : "M" + + t.circularPathData.sourceX + + " " + + t.circularPathData.sourceY + + " L" + + t.circularPathData.leftInnerExtent + + " " + + t.circularPathData.sourceY + + " A" + + t.circularPathData.leftLargeArcRadius + + " " + + t.circularPathData.leftSmallArcRadius + + " 0 0 1 " + + t.circularPathData.leftFullExtent + + " " + + (t.circularPathData.sourceY + + t.circularPathData.leftSmallArcRadius) + + " L" + + t.circularPathData.leftFullExtent + + " " + + t.circularPathData + .verticalLeftInnerExtent + + " A" + + t.circularPathData.leftLargeArcRadius + + " " + + t.circularPathData.leftLargeArcRadius + + " 0 0 1 " + + t.circularPathData.leftInnerExtent + + " " + + t.circularPathData.verticalFullExtent + + " L" + + t.circularPathData.rightInnerExtent + + " " + + t.circularPathData.verticalFullExtent + + " A" + + t.circularPathData.rightLargeArcRadius + + " " + + t.circularPathData.rightLargeArcRadius + + " 0 0 1 " + + t.circularPathData.rightFullExtent + + " " + + t.circularPathData + .verticalRightInnerExtent + + " L" + + t.circularPathData.rightFullExtent + + " " + + (t.circularPathData.targetY + + t.circularPathData + .rightSmallArcRadius) + + " A" + + t.circularPathData.rightLargeArcRadius + + " " + + t.circularPathData.rightSmallArcRadius + + " 0 0 1 " + + t.circularPathData.rightInnerExtent + + " " + + t.circularPathData.targetY + + " L" + + t.circularPathData.targetX + + " " + + t.circularPathData.targetY; + })(n); + else { + var f = (0, a.h5)() + .source(function (t) { + return [ + t.source.x0 + (t.source.x1 - t.source.x0), + t.y0, + ]; + }) + .target(function (t) { + return [t.target.x0, t.y1]; + }); + n.path = f(n); + } + }); + } + function F(t, e) { + return V(t) == V(e) + ? "bottom" == t.circularLinkType + ? N(t, e) + : B(t, e) + : V(e) - V(t); + } + function B(t, e) { + return t.y0 - e.y0; + } + function N(t, e) { + return e.y0 - t.y0; + } + function j(t, e) { + return t.y1 - e.y1; + } + function U(t, e) { + return e.y1 - t.y1; + } + function V(t) { + return t.target.column - t.source.column; + } + function H(t) { + return t.target.x0 - t.source.x1; + } + function q(t, e) { + var r = P(t), + n = H(e) / Math.tan(r); + return "up" == K(t) ? t.y1 + n : t.y1 - n; + } + function G(t, e) { + var r = P(t), + n = H(e) / Math.tan(r); + return "up" == K(t) ? t.y1 - n : t.y1 + n; + } + function Z(t, e, r, n) { + t.links.forEach(function (i) { + if ( + !i.circular && + i.target.column - i.source.column > 1 + ) { + var a = i.source.column + 1, + o = i.target.column - 1, + s = 1, + l = o - a + 1; + for (s = 1; a <= o; a++, s++) + t.nodes.forEach(function (o) { + if (o.column == a) { + var u, + c = s / (l + 1), + f = Math.pow(1 - c, 3), + h = 3 * c * Math.pow(1 - c, 2), + p = 3 * Math.pow(c, 2) * (1 - c), + d = Math.pow(c, 3), + v = + f * i.y0 + h * i.y0 + p * i.y1 + d * i.y1, + g = v - i.width / 2, + y = v + i.width / 2; + g > o.y0 && g < o.y1 + ? ((u = o.y1 - g + 10), + (u = + "bottom" == o.circularLinkType + ? u + : -u), + (o = W(o, u, e, r)), + t.nodes.forEach(function (t) { + var i, a; + M(t, n) != M(o, n) && + t.column == o.column && + ((a = t), + ((i = o).y0 > a.y0 && i.y0 < a.y1) || + (i.y1 > a.y0 && i.y1 < a.y1) || + (i.y0 < a.y0 && i.y1 > a.y1)) && + W(t, u, e, r); + })) + : ((y > o.y0 && y < o.y1) || + (g < o.y0 && y > o.y1)) && + ((u = y - o.y0 + 10), + (o = W(o, u, e, r)), + t.nodes.forEach(function (t) { + M(t, n) != M(o, n) && + t.column == o.column && + t.y0 < o.y1 && + t.y1 > o.y1 && + W(t, u, e, r); + })); + } + }); + } + }); + } + function W(t, e, r, n) { + return ( + t.y0 + e >= r && + t.y1 + e <= n && + ((t.y0 = t.y0 + e), + (t.y1 = t.y1 + e), + t.targetLinks.forEach(function (t) { + t.y1 = t.y1 + e; + }), + t.sourceLinks.forEach(function (t) { + t.y0 = t.y0 + e; + })), + t + ); + } + function Y(t, e, r, n) { + t.nodes.forEach(function (i) { + n && + i.y + (i.y1 - i.y0) > e && + (i.y = i.y - (i.y + (i.y1 - i.y0) - e)); + var a = t.links.filter(function (t) { + return M(t.source, r) == M(i, r); + }), + o = a.length; + o > 1 && + a.sort(function (t, e) { + if (!t.circular && !e.circular) { + if (t.target.column == e.target.column) + return t.y1 - e.y1; + if (!J(t, e)) return t.y1 - e.y1; + if (t.target.column > e.target.column) { + var r = G(e, t); + return t.y1 - r; + } + if (e.target.column > t.target.column) + return G(t, e) - e.y1; + } + return t.circular && !e.circular + ? "top" == t.circularLinkType + ? -1 + : 1 + : e.circular && !t.circular + ? "top" == e.circularLinkType + ? 1 + : -1 + : t.circular && e.circular + ? t.circularLinkType === e.circularLinkType && + "top" == t.circularLinkType + ? t.target.column === e.target.column + ? t.target.y1 - e.target.y1 + : e.target.column - t.target.column + : t.circularLinkType === e.circularLinkType && + "bottom" == t.circularLinkType + ? t.target.column === e.target.column + ? e.target.y1 - t.target.y1 + : t.target.column - e.target.column + : "top" == t.circularLinkType + ? -1 + : 1 + : void 0; + }); + var s = i.y0; + a.forEach(function (t) { + (t.y0 = s + t.width / 2), (s += t.width); + }), + a.forEach(function (t, e) { + if ("bottom" == t.circularLinkType) { + for (var r = e + 1, n = 0; r < o; r++) + n += a[r].width; + t.y0 = i.y1 - n - t.width / 2; + } + }); + }); + } + function X(t, e, r) { + t.nodes.forEach(function (e) { + var n = t.links.filter(function (t) { + return M(t.target, r) == M(e, r); + }), + i = n.length; + i > 1 && + n.sort(function (t, e) { + if (!t.circular && !e.circular) { + if (t.source.column == e.source.column) + return t.y0 - e.y0; + if (!J(t, e)) return t.y0 - e.y0; + if (e.source.column < t.source.column) { + var r = q(e, t); + return t.y0 - r; + } + if (t.source.column < e.source.column) + return q(t, e) - e.y0; + } + return t.circular && !e.circular + ? "top" == t.circularLinkType + ? -1 + : 1 + : e.circular && !t.circular + ? "top" == e.circularLinkType + ? 1 + : -1 + : t.circular && e.circular + ? t.circularLinkType === e.circularLinkType && + "top" == t.circularLinkType + ? t.source.column === e.source.column + ? t.source.y1 - e.source.y1 + : t.source.column - e.source.column + : t.circularLinkType === e.circularLinkType && + "bottom" == t.circularLinkType + ? t.source.column === e.source.column + ? t.source.y1 - e.source.y1 + : e.source.column - t.source.column + : "top" == t.circularLinkType + ? -1 + : 1 + : void 0; + }); + var a = e.y0; + n.forEach(function (t) { + (t.y1 = a + t.width / 2), (a += t.width); + }), + n.forEach(function (t, r) { + if ("bottom" == t.circularLinkType) { + for (var a = r + 1, o = 0; a < i; a++) + o += n[a].width; + t.y1 = e.y1 - o - t.width / 2; + } + }); + }); + } + function J(t, e) { + return K(t) == K(e); + } + function K(t) { + return t.y0 - t.y1 > 0 ? "up" : "down"; + } + function $(t, e) { + return M(t.source, e) == M(t.target, e); + } + function Q(t, e, r) { + var i = t.nodes, + a = t.links, + o = !1, + s = !1; + if ( + (a.forEach(function (t) { + "top" == t.circularLinkType + ? (o = !0) + : "bottom" == t.circularLinkType && (s = !0); + }), + 0 == o || 0 == s) + ) { + var l = (0, n.VV)(i, function (t) { + return t.y0; + }), + u = + (r - e) / + ((0, n.Fp)(i, function (t) { + return t.y1; + }) - + l); + i.forEach(function (t) { + var e = (t.y1 - t.y0) * u; + (t.y0 = (t.y0 - l) * u), (t.y1 = t.y0 + e); + }), + a.forEach(function (t) { + (t.y0 = (t.y0 - l) * u), + (t.y1 = (t.y1 - l) * u), + (t.width = t.width * u); + }); + } + } + }, + 30838: function (t, e, r) { + "use strict"; + r.r(e), + r.d(e, { + sankey: function () { + return w; + }, + sankeyCenter: function () { + return u; + }, + sankeyJustify: function () { + return l; + }, + sankeyLeft: function () { + return o; + }, + sankeyLinkHorizontal: function () { + return M; + }, + sankeyRight: function () { + return s; + }, + }); + var n = r(33064), + i = r(15140); + function a(t) { + return t.target.depth; + } + function o(t) { + return t.depth; + } + function s(t, e) { + return e - 1 - t.height; + } + function l(t, e) { + return t.sourceLinks.length ? t.depth : e - 1; + } + function u(t) { + return t.targetLinks.length + ? t.depth + : t.sourceLinks.length + ? (0, n.VV)(t.sourceLinks, a) - 1 + : 0; + } + function c(t) { + return function () { + return t; + }; + } + function f(t, e) { + return p(t.source, e.source) || t.index - e.index; + } + function h(t, e) { + return p(t.target, e.target) || t.index - e.index; + } + function p(t, e) { + return t.y0 - e.y0; + } + function d(t) { + return t.value; + } + function v(t) { + return (t.y0 + t.y1) / 2; + } + function g(t) { + return v(t.source) * t.value; + } + function y(t) { + return v(t.target) * t.value; + } + function m(t) { + return t.index; + } + function x(t) { + return t.nodes; + } + function b(t) { + return t.links; + } + function _(t, e) { + var r = t.get(e); + if (!r) throw new Error("missing: " + e); + return r; + } + function w() { + var t = 0, + e = 0, + r = 1, + a = 1, + o = 24, + s = 8, + u = m, + w = l, + T = x, + k = b, + A = 32; + function M() { + var t = { + nodes: T.apply(null, arguments), + links: k.apply(null, arguments), + }; + return S(t), E(t), L(t), C(t), O(t), t; + } + function S(t) { + t.nodes.forEach(function (t, e) { + (t.index = e), + (t.sourceLinks = []), + (t.targetLinks = []); + }); + var e = (0, i.UI)(t.nodes, u); + t.links.forEach(function (t, r) { + t.index = r; + var n = t.source, + i = t.target; + "object" != typeof n && (n = t.source = _(e, n)), + "object" != typeof i && (i = t.target = _(e, i)), + n.sourceLinks.push(t), + i.targetLinks.push(t); + }); + } + function E(t) { + t.nodes.forEach(function (t) { + t.value = Math.max( + (0, n.Sm)(t.sourceLinks, d), + (0, n.Sm)(t.targetLinks, d), + ); + }); + } + function L(e) { + var n, i, a; + for ( + n = e.nodes, i = [], a = 0; + n.length; + ++a, n = i, i = [] + ) + n.forEach(function (t) { + (t.depth = a), + t.sourceLinks.forEach(function (t) { + i.indexOf(t.target) < 0 && i.push(t.target); + }); + }); + for ( + n = e.nodes, i = [], a = 0; + n.length; + ++a, n = i, i = [] + ) + n.forEach(function (t) { + (t.height = a), + t.targetLinks.forEach(function (t) { + i.indexOf(t.source) < 0 && i.push(t.source); + }); + }); + var s = (r - t - o) / (a - 1); + e.nodes.forEach(function (e) { + e.x1 = + (e.x0 = + t + + Math.max( + 0, + Math.min( + a - 1, + Math.floor(w.call(null, e, a)), + ), + ) * + s) + o; + }); + } + function C(t) { + var r = (0, i.b1)() + .key(function (t) { + return t.x0; + }) + .sortKeys(n.j2) + .entries(t.nodes) + .map(function (t) { + return t.values; + }); + !(function () { + var i = (0, n.Fp)(r, function (t) { + return t.length; + }), + o = (0.6666666666666666 * (a - e)) / (i - 1); + s > o && (s = o); + var l = (0, n.VV)(r, function (t) { + return ( + (a - e - (t.length - 1) * s) / (0, n.Sm)(t, d) + ); + }); + r.forEach(function (t) { + t.forEach(function (t, e) { + t.y1 = (t.y0 = e) + t.value * l; + }); + }), + t.links.forEach(function (t) { + t.width = t.value * l; + }); + })(), + f(); + for (var o = 1, l = A; l > 0; --l) + c((o *= 0.99)), f(), u(o), f(); + function u(t) { + r.forEach(function (e) { + e.forEach(function (e) { + if (e.targetLinks.length) { + var r = + ((0, n.Sm)(e.targetLinks, g) / + (0, n.Sm)(e.targetLinks, d) - + v(e)) * + t; + (e.y0 += r), (e.y1 += r); + } + }); + }); + } + function c(t) { + r.slice() + .reverse() + .forEach(function (e) { + e.forEach(function (e) { + if (e.sourceLinks.length) { + var r = + ((0, n.Sm)(e.sourceLinks, y) / + (0, n.Sm)(e.sourceLinks, d) - + v(e)) * + t; + (e.y0 += r), (e.y1 += r); + } + }); + }); + } + function f() { + r.forEach(function (t) { + var r, + n, + i, + o = e, + l = t.length; + for (t.sort(p), i = 0; i < l; ++i) + (n = o - (r = t[i]).y0) > 0 && + ((r.y0 += n), (r.y1 += n)), + (o = r.y1 + s); + if ((n = o - s - a) > 0) + for ( + o = r.y0 -= n, r.y1 -= n, i = l - 2; + i >= 0; + --i + ) + (n = (r = t[i]).y1 + s - o) > 0 && + ((r.y0 -= n), (r.y1 -= n)), + (o = r.y0); + }); + } + } + function O(t) { + t.nodes.forEach(function (t) { + t.sourceLinks.sort(h), t.targetLinks.sort(f); + }), + t.nodes.forEach(function (t) { + var e = t.y0, + r = e; + t.sourceLinks.forEach(function (t) { + (t.y0 = e + t.width / 2), (e += t.width); + }), + t.targetLinks.forEach(function (t) { + (t.y1 = r + t.width / 2), (r += t.width); + }); + }); + } + return ( + (M.update = function (t) { + return O(t), t; + }), + (M.nodeId = function (t) { + return arguments.length + ? ((u = "function" == typeof t ? t : c(t)), M) + : u; + }), + (M.nodeAlign = function (t) { + return arguments.length + ? ((w = "function" == typeof t ? t : c(t)), M) + : w; + }), + (M.nodeWidth = function (t) { + return arguments.length ? ((o = +t), M) : o; + }), + (M.nodePadding = function (t) { + return arguments.length ? ((s = +t), M) : s; + }), + (M.nodes = function (t) { + return arguments.length + ? ((T = "function" == typeof t ? t : c(t)), M) + : T; + }), + (M.links = function (t) { + return arguments.length + ? ((k = "function" == typeof t ? t : c(t)), M) + : k; + }), + (M.size = function (n) { + return arguments.length + ? ((t = e = 0), (r = +n[0]), (a = +n[1]), M) + : [r - t, a - e]; + }), + (M.extent = function (n) { + return arguments.length + ? ((t = +n[0][0]), + (r = +n[1][0]), + (e = +n[0][1]), + (a = +n[1][1]), + M) + : [ + [t, e], + [r, a], + ]; + }), + (M.iterations = function (t) { + return arguments.length ? ((A = +t), M) : A; + }), + M + ); + } + var T = r(45879); + function k(t) { + return [t.source.x1, t.y0]; + } + function A(t) { + return [t.target.x0, t.y1]; + } + function M() { + return (0, T.h5)().source(k).target(A); + } + }, + 39898: function (t, e, r) { + var n, i; + (function () { + var a = { version: "3.8.0" }, + o = [].slice, + s = function (t) { + return o.call(t); + }, + l = self.document; + function u(t) { + return ( + t && + (t.ownerDocument || t.document || t).documentElement + ); + } + function c(t) { + return ( + t && + ((t.ownerDocument && t.ownerDocument.defaultView) || + (t.document && t) || + t.defaultView) + ); + } + if (l) + try { + s(l.documentElement.childNodes)[0].nodeType; + } catch (t) { + s = 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(); + }), + l) + ) + try { + l.createElement("DIV").style.setProperty( + "opacity", + 0, + "", + ); + } catch (t) { + var f = this.Element.prototype, + h = f.setAttribute, + p = f.setAttributeNS, + d = this.CSSStyleDeclaration.prototype, + v = d.setProperty; + (f.setAttribute = function (t, e) { + h.call(this, t, e + ""); + }), + (f.setAttributeNS = function (t, e, r) { + p.call(this, t, e, r + ""); + }), + (d.setProperty = function (t, e, r) { + v.call(this, t, e + "", r); + }); + } + function g(t, e) { + return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; + } + function y(t) { + return null === t ? NaN : +t; + } + function m(t) { + return !isNaN(t); + } + function x(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; + }, + }; + } + (a.ascending = g), + (a.descending = function (t, e) { + return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; + }), + (a.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; + }), + (a.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; + }), + (a.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]; + }), + (a.sum = function (t, e) { + var r, + n = 0, + i = t.length, + a = -1; + if (1 === arguments.length) + for (; ++a < i; ) m((r = +t[a])) && (n += r); + else + for (; ++a < i; ) + m((r = +e.call(t, t[a], a))) && (n += r); + return n; + }), + (a.mean = function (t, e) { + var r, + n = 0, + i = t.length, + a = -1, + o = i; + if (1 === arguments.length) + for (; ++a < i; ) + m((r = y(t[a]))) ? (n += r) : --o; + else + for (; ++a < i; ) + m((r = y(e.call(t, t[a], a)))) ? (n += r) : --o; + if (o) return n / o; + }), + (a.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; + }), + (a.median = function (t, e) { + var r, + n = [], + i = t.length, + o = -1; + if (1 === arguments.length) + for (; ++o < i; ) m((r = y(t[o]))) && n.push(r); + else + for (; ++o < i; ) + m((r = y(e.call(t, t[o], o)))) && n.push(r); + if (n.length) return a.quantile(n.sort(g), 0.5); + }), + (a.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; ) + m((r = y(t[s]))) && + (o += (n = r - a) * (r - (a += n / ++l))); + else + for (; ++s < i; ) + m((r = y(e.call(t, t[s], s)))) && + (o += (n = r - a) * (r - (a += n / ++l))); + if (l > 1) return o / (l - 1); + }), + (a.deviation = function () { + var t = a.variance.apply(this, arguments); + return t ? Math.sqrt(t) : t; + }); + var b = x(g); + function _(t) { + return t.length; + } + (a.bisectLeft = b.left), + (a.bisect = a.bisectRight = b.right), + (a.bisector = function (t) { + return x( + 1 === t.length + ? function (e, r) { + return g(t(e), r); + } + : t, + ); + }), + (a.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; + }), + (a.permute = function (t, e) { + for (var r = e.length, n = new Array(r); r--; ) + n[r] = t[e[r]]; + return n; + }), + (a.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; + }), + (a.transpose = function (t) { + if (!(i = t.length)) return []; + for ( + var e = -1, r = a.min(t, _), n = new Array(r); + ++e < r; + + ) + for ( + var i, o = -1, s = (n[e] = new Array(i)); + ++o < i; + + ) + s[o] = t[o][e]; + return n; + }), + (a.zip = function () { + return a.transpose(arguments); + }), + (a.keys = function (t) { + var e = []; + for (var r in t) e.push(r); + return e; + }), + (a.values = function (t) { + var e = []; + for (var r in t) e.push(t[r]); + return e; + }), + (a.entries = function (t) { + var e = []; + for (var r in t) e.push({ key: r, value: t[r] }); + return e; + }), + (a.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 w = Math.abs; + function T(t) { + for (var e = 1; (t * e) % 1; ) e *= 10; + return e; + } + function k(t, e) { + for (var r in e) + Object.defineProperty(t.prototype, r, { + value: e[r], + enumerable: !1, + }); + } + function A() { + this._ = Object.create(null); + } + function M(t) { + return "__proto__" == (t += "") || "\0" === t[0] + ? "\0" + t + : t; + } + function S(t) { + return "\0" === (t += "")[0] ? t.slice(1) : t; + } + function E(t) { + return M(t) in this._; + } + function L(t) { + return (t = M(t)) in this._ && delete this._[t]; + } + function C() { + var t = []; + for (var e in this._) t.push(S(e)); + return t; + } + function O() { + var t = 0; + for (var e in this._) ++t; + return t; + } + function P() { + for (var t in this._) return !1; + return !0; + } + function I() { + this._ = Object.create(null); + } + function D(t) { + return t; + } + function z(t, e, r) { + return function () { + var n = r.apply(e, arguments); + return n === e ? t : n; + }; + } + function R(t, e) { + if (e in t) return e; + e = e.charAt(0).toUpperCase() + e.slice(1); + for (var r = 0, n = F.length; r < n; ++r) { + var i = F[r] + e; + if (i in t) return i; + } + } + (a.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 = T(w(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; + }), + (a.map = function (t, e) { + var r = new A(); + if (t instanceof A) + 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; + }), + k(A, { + has: E, + get: function (t) { + return this._[M(t)]; + }, + set: function (t, e) { + return (this._[M(t)] = e); + }, + remove: L, + keys: C, + 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: S(e), value: this._[e] }); + return t; + }, + size: O, + empty: P, + forEach: function (t) { + for (var e in this._) + t.call(this, S(e), this._[e]); + }, + }), + (a.nest = function () { + var t, + e, + r = {}, + n = [], + i = []; + function o(i, a, s) { + if (s >= n.length) + return e ? e.call(r, a) : t ? a.sort(t) : a; + for ( + var l, + u, + c, + f, + h = -1, + p = a.length, + d = n[s++], + v = new A(); + ++h < p; + + ) + (f = v.get((l = d((u = a[h]))))) + ? f.push(u) + : v.set(l, [u]); + return ( + i + ? ((u = i()), + (c = function (t, e) { + u.set(t, o(i, e, s)); + })) + : ((u = {}), + (c = function (t, e) { + u[t] = o(i, e, s); + })), + v.forEach(c), + u + ); + } + function s(t, e) { + if (e >= n.length) return t; + var r = [], + a = i[e++]; + return ( + t.forEach(function (t, n) { + r.push({ key: t, values: s(n, e) }); + }), + a + ? r.sort(function (t, e) { + return a(t.key, e.key); + }) + : r + ); + } + return ( + (r.map = function (t, e) { + return o(e, t, 0); + }), + (r.entries = function (t) { + return s(o(a.map, t, 0), 0); + }), + (r.key = function (t) { + return n.push(t), r; + }), + (r.sortKeys = function (t) { + return (i[n.length - 1] = t), r; + }), + (r.sortValues = function (e) { + return (t = e), r; + }), + (r.rollup = function (t) { + return (e = t), r; + }), + r + ); + }), + (a.set = function (t) { + var e = new I(); + if (t) + for (var r = 0, n = t.length; r < n; ++r) + e.add(t[r]); + return e; + }), + k(I, { + has: E, + add: function (t) { + return (this._[M((t += ""))] = !0), t; + }, + remove: L, + values: C, + size: O, + empty: P, + forEach: function (t) { + for (var e in this._) t.call(this, S(e)); + }, + }), + (a.behavior = {}), + (a.rebind = function (t, e) { + for (var r, n = 1, i = arguments.length; ++n < i; ) + t[(r = arguments[n])] = z(t, e, e[r]); + return t; + }); + var F = ["webkit", "ms", "moz", "Moz", "o", "O"]; + function B() {} + function N() {} + function j(t) { + var e = [], + r = new A(); + 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 U() { + a.event.preventDefault(); + } + function V() { + for (var t, e = a.event; (t = e.sourceEvent); ) e = t; + return e; + } + function H(t) { + for ( + var e = new N(), r = 0, n = arguments.length; + ++r < n; + + ) + e[arguments[r]] = j(e); + return ( + (e.of = function (r, n) { + return function (i) { + try { + var o = (i.sourceEvent = a.event); + (i.target = t), + (a.event = i), + e[i.type].apply(r, n); + } finally { + a.event = o; + } + }; + }), + e + ); + } + (a.dispatch = function () { + for ( + var t = new N(), e = -1, r = arguments.length; + ++e < r; + + ) + t[arguments[e]] = j(t); + return t; + }), + (N.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; + } + }), + (a.event = null), + (a.requote = function (t) { + return t.replace(q, "\\$&"); + }); + var q = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g, + G = {}.__proto__ + ? function (t, e) { + t.__proto__ = e; + } + : function (t, e) { + for (var r in e) t[r] = e[r]; + }; + function Z(t) { + return G(t, J), t; + } + var W = function (t, e) { + return e.querySelector(t); + }, + Y = function (t, e) { + return e.querySelectorAll(t); + }, + X = function (t, e) { + var r = t.matches || t[R(t, "matchesSelector")]; + return ( + (X = function (t, e) { + return r.call(t, e); + }), + X(t, e) + ); + }; + "function" == typeof Sizzle && + ((W = function (t, e) { + return Sizzle(t, e)[0] || null; + }), + (Y = Sizzle), + (X = Sizzle.matchesSelector)), + (a.selection = function () { + return a.select(l.documentElement); + }); + var J = (a.selection.prototype = []); + function K(t) { + return "function" == typeof t + ? t + : function () { + return W(t, this); + }; + } + function $(t) { + return "function" == typeof t + ? t + : function () { + return Y(t, this); + }; + } + (J.select = function (t) { + var e, + r, + n, + i, + a = []; + t = K(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 Z(a); + }), + (J.selectAll = function (t) { + var e, + r, + n = []; + t = $(t); + for (var i = -1, a = this.length; ++i < a; ) + for ( + var o = this[i], l = -1, u = o.length; + ++l < u; + + ) + (r = o[l]) && + (n.push((e = s(t.call(r, r.__data__, l, i)))), + (e.parentNode = r)); + return Z(n); + }); + var Q = "http://www.w3.org/1999/xhtml", + tt = { + svg: "http://www.w3.org/2000/svg", + xhtml: Q, + xlink: "http://www.w3.org/1999/xlink", + xml: "http://www.w3.org/XML/1998/namespace", + xmlns: "http://www.w3.org/2000/xmlns/", + }; + function et(t, e) { + return ( + (t = a.ns.qualify(t)), + null == e + ? t.local + ? function () { + this.removeAttributeNS(t.space, t.local); + } + : function () { + this.removeAttribute(t); + } + : "function" == typeof e + ? t.local + ? function () { + var r = e.apply(this, arguments); + null == r + ? this.removeAttributeNS(t.space, t.local) + : this.setAttributeNS( + t.space, + t.local, + r, + ); + } + : function () { + var r = e.apply(this, arguments); + null == r + ? this.removeAttribute(t) + : this.setAttribute(t, r); + } + : t.local + ? function () { + this.setAttributeNS(t.space, t.local, e); + } + : function () { + this.setAttribute(t, e); + } + ); + } + function rt(t) { + return t.trim().replace(/\s+/g, " "); + } + function nt(t) { + return new RegExp( + "(?:^|\\s+)" + a.requote(t) + "(?:\\s+|$)", + "g", + ); + } + function it(t) { + return (t + "").trim().split(/^|\s+/); + } + function at(t, e) { + var r = (t = it(t).map(ot)).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 ot(t) { + var e = nt(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", rt(i + " " + t))) + : r.setAttribute("class", rt(i.replace(e, " "))); + }; + } + function st(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 lt(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 ut(t) { + return "function" == typeof t + ? t + : (t = a.ns.qualify(t)).local + ? function () { + return this.ownerDocument.createElementNS( + t.space, + t.local, + ); + } + : function () { + var e = this.ownerDocument, + r = this.namespaceURI; + return r === Q && + e.documentElement.namespaceURI === Q + ? e.createElement(t) + : e.createElementNS(r, t); + }; + } + function ct() { + var t = this.parentNode; + t && t.removeChild(this); + } + function ft(t) { + return { __data__: t }; + } + function ht(t) { + return function () { + return X(this, t); + }; + } + function pt(t) { + return ( + arguments.length || (t = g), + function (e, r) { + return e && r + ? t(e.__data__, r.__data__) + : !e - !r; + } + ); + } + function dt(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 vt(t) { + return G(t, gt), t; + } + (a.ns = { + prefix: tt, + qualify: function (t) { + var e = t.indexOf(":"), + r = t; + return ( + e >= 0 && + "xmlns" !== (r = t.slice(0, e)) && + (t = t.slice(e + 1)), + tt.hasOwnProperty(r) + ? { space: tt[r], local: t } + : t + ); + }, + }), + (J.attr = function (t, e) { + if (arguments.length < 2) { + if ("string" == typeof t) { + var r = this.node(); + return (t = a.ns.qualify(t)).local + ? r.getAttributeNS(t.space, t.local) + : r.getAttribute(t); + } + for (e in t) this.each(et(e, t[e])); + return this; + } + return this.each(et(t, e)); + }), + (J.classed = function (t, e) { + if (arguments.length < 2) { + if ("string" == typeof t) { + var r = this.node(), + n = (t = it(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 (!nt(t[i]).test(e)) return !1; + return !0; + } + for (e in t) this.each(at(e, t[e])); + return this; + } + return this.each(at(t, e)); + }), + (J.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(st(r, t[r], e)); + return this; + } + if (n < 2) { + var i = this.node(); + return c(i) + .getComputedStyle(i, null) + .getPropertyValue(t); + } + r = ""; + } + return this.each(st(t, e, r)); + }), + (J.property = function (t, e) { + if (arguments.length < 2) { + if ("string" == typeof t) return this.node()[t]; + for (e in t) this.each(lt(e, t[e])); + return this; + } + return this.each(lt(t, e)); + }), + (J.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; + }), + (J.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; + }), + (J.append = function (t) { + return ( + (t = ut(t)), + this.select(function () { + return this.appendChild( + t.apply(this, arguments), + ); + }) + ); + }), + (J.insert = function (t, e) { + return ( + (t = ut(t)), + (e = K(e)), + this.select(function () { + return this.insertBefore( + t.apply(this, arguments), + e.apply(this, arguments) || null, + ); + }) + ); + }), + (J.remove = function () { + return this.each(ct); + }), + (J.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, + f = Math.min(o, c), + h = new Array(c), + p = new Array(c), + d = new Array(o); + if (e) { + var v, + g = new A(), + y = new Array(o); + for (n = -1; ++n < o; ) + (i = t[n]) && + (g.has((v = e.call(i, i.__data__, n))) + ? (d[n] = i) + : g.set(v, i), + (y[n] = v)); + for (n = -1; ++n < c; ) + (i = g.get((v = e.call(r, (a = r[n]), n)))) + ? !0 !== i && ((h[n] = i), (i.__data__ = a)) + : (p[n] = ft(a)), + g.set(v, !0); + for (n = -1; ++n < o; ) + n in y && !0 !== g.get(y[n]) && (d[n] = t[n]); + } else { + for (n = -1; ++n < f; ) + (i = t[n]), + (a = r[n]), + i + ? ((i.__data__ = a), (h[n] = i)) + : (p[n] = ft(a)); + for (; n < c; ++n) p[n] = ft(r[n]); + for (; n < o; ++n) d[n] = t[n]; + } + (p.update = h), + (p.parentNode = + h.parentNode = + d.parentNode = + t.parentNode), + s.push(p), + l.push(h), + u.push(d); + } + var s = vt([]), + l = Z([]), + u = Z([]); + 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 + ); + }), + (J.datum = function (t) { + return arguments.length + ? this.property("__data__", t) + : this.property("__data__"); + }), + (J.filter = function (t) { + var e, + r, + n, + i = []; + "function" != typeof t && (t = ht(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 Z(i); + }), + (J.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; + }), + (J.sort = function (t) { + t = pt.apply(this, arguments); + for (var e = -1, r = this.length; ++e < r; ) + this[e].sort(t); + return this.order(); + }), + (J.each = function (t) { + return dt(this, function (e, r, n) { + t.call(e, e.__data__, r, n); + }); + }), + (J.call = function (t) { + var e = s(arguments); + return t.apply((e[0] = this), e), this; + }), + (J.empty = function () { + return !this.node(); + }), + (J.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; + }), + (J.size = function () { + var t = 0; + return ( + dt(this, function () { + ++t; + }), + t + ); + }); + var gt = []; + function yt(t) { + var e, r; + return function (n, i, a) { + var o, + s = t[a].update, + l = s.length; + for ( + a != r && ((r = a), (e = 0)), + i >= e && (e = i + 1); + !(o = s[e]) && ++e < l; + + ); + return o; + }; + } + function mt(t, e, r) { + var n = "__on" + t, + i = t.indexOf("."), + o = bt; + i > 0 && (t = t.slice(0, i)); + var l = xt.get(t); + function u() { + var e = this[n]; + e && + (this.removeEventListener(t, e, e.$), + delete this[n]); + } + return ( + l && ((t = l), (o = _t)), + i + ? e + ? function () { + var i = o(e, s(arguments)); + u.call(this), + this.addEventListener( + t, + (this[n] = i), + (i.$ = r), + ), + (i._ = e); + } + : u + : e + ? B + : function () { + var e, + r = new RegExp( + "^__on([^.]+)" + a.requote(t) + "$", + ); + for (var n in this) + if ((e = n.match(r))) { + var i = this[n]; + this.removeEventListener(e[1], i, i.$), + delete this[n]; + } + } + ); + } + (a.selection.enter = vt), + (a.selection.enter.prototype = gt), + (gt.append = J.append), + (gt.empty = J.empty), + (gt.node = J.node), + (gt.call = J.call), + (gt.size = J.size), + (gt.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 Z(o); + }), + (gt.insert = function (t, e) { + return ( + arguments.length < 2 && (e = yt(this)), + J.insert.call(this, t, e) + ); + }), + (a.select = function (t) { + var e; + return ( + "string" == typeof t + ? ((e = [W(t, l)]).parentNode = + l.documentElement) + : ((e = [t]).parentNode = u(t)), + Z([e]) + ); + }), + (a.selectAll = function (t) { + var e; + return ( + "string" == typeof t + ? ((e = s(Y(t, l))).parentNode = + l.documentElement) + : ((e = s(t)).parentNode = null), + Z([e]) + ); + }), + (J.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(mt(r, t[r], e)); + return this; + } + if (n < 2) + return (n = this.node()["__on" + t]) && n._; + r = !1; + } + return this.each(mt(t, e, r)); + }); + var xt = a.map({ + mouseenter: "mouseover", + mouseleave: "mouseout", + }); + function bt(t, e) { + return function (r) { + var n = a.event; + (a.event = r), (e[0] = this.__data__); + try { + t.apply(this, e); + } finally { + a.event = n; + } + }; + } + function _t(t, e) { + var r = bt(t, e); + return function (t) { + var e = this, + n = t.relatedTarget; + (n && + (n === e || 8 & n.compareDocumentPosition(e))) || + r.call(e, t); + }; + } + l && + xt.forEach(function (t) { + "on" + t in l && xt.remove(t); + }); + var wt, + Tt = 0; + function kt(t) { + var e = ".dragsuppress-" + ++Tt, + r = "click" + e, + n = a + .select(c(t)) + .on("touchmove" + e, U) + .on("dragstart" + e, U) + .on("selectstart" + e, U); + if ( + (null == wt && + (wt = + !("onselectstart" in t) && + R(t.style, "userSelect")), + wt) + ) { + var i = u(t).style, + o = i[wt]; + i[wt] = "none"; + } + return function (t) { + if ((n.on(e, null), wt && (i[wt] = o), t)) { + var a = function () { + n.on(r, null); + }; + n.on( + r, + function () { + U(), a(); + }, + !0, + ), + setTimeout(a, 0); + } + }; + } + a.mouse = function (t) { + return Mt(t, V()); + }; + var At = + this.navigator && + /WebKit/.test(this.navigator.userAgent) + ? -1 + : 0; + function Mt(t, e) { + e.changedTouches && (e = e.changedTouches[0]); + var r = t.ownerSVGElement || t; + if (r.createSVGPoint) { + var n = r.createSVGPoint(); + if (At < 0) { + var i = c(t); + if (i.scrollX || i.scrollY) { + var o = (r = a + .select("body") + .append("svg") + .style( + { + position: "absolute", + top: 0, + left: 0, + margin: 0, + padding: 0, + border: "none", + }, + "important", + ))[0][0].getScreenCTM(); + (At = !(o.f || o.e)), r.remove(); + } + } + return ( + At + ? ((n.x = e.pageX), (n.y = e.pageY)) + : ((n.x = e.clientX), (n.y = e.clientY)), + [ + (n = n.matrixTransform( + t.getScreenCTM().inverse(), + )).x, + n.y, + ] + ); + } + var s = t.getBoundingClientRect(); + return [ + e.clientX - s.left - t.clientLeft, + e.clientY - s.top - t.clientTop, + ]; + } + function St() { + return a.event.changedTouches[0].identifier; + } + (a.touch = function (t, e, r) { + if ( + (arguments.length < 3 && + ((r = e), (e = V().changedTouches)), + e) + ) + for (var n, i = 0, a = e.length; i < a; ++i) + if ((n = e[i]).identifier === r) return Mt(t, n); + }), + (a.behavior.drag = function () { + var t = H(i, "drag", "dragstart", "dragend"), + e = null, + r = o(B, a.mouse, c, "mousemove", "mouseup"), + n = o(St, a.touch, D, "touchmove", "touchend"); + function i() { + this.on("mousedown.drag", r).on( + "touchstart.drag", + n, + ); + } + function o(r, n, i, o, s) { + return function () { + var l, + u = this, + c = + a.event.target.correspondingElement || + a.event.target, + f = u.parentNode, + h = t.of(u, arguments), + p = 0, + d = r(), + v = ".drag" + (null == d ? "" : "-" + d), + g = a + .select(i(c)) + .on(o + v, x) + .on(s + v, b), + y = kt(c), + m = n(f, d); + function x() { + var t, + e, + r = n(f, d); + r && + ((t = r[0] - m[0]), + (e = r[1] - m[1]), + (p |= t | e), + (m = r), + h({ + type: "drag", + x: r[0] + l[0], + y: r[1] + l[1], + dx: t, + dy: e, + })); + } + function b() { + n(f, d) && + (g.on(o + v, null).on(s + v, null), + y(p), + h({ type: "dragend" })); + } + (l = e + ? [ + (l = e.apply(u, arguments)).x - m[0], + l.y - m[1], + ] + : [0, 0]), + h({ type: "dragstart" }); + }; + } + return ( + (i.origin = function (t) { + return arguments.length ? ((e = t), i) : e; + }), + a.rebind(i, t, "on") + ); + }), + (a.touches = function (t, e) { + return ( + arguments.length < 2 && (e = V().touches), + e + ? s(e).map(function (e) { + var r = Mt(t, e); + return (r.identifier = e.identifier), r; + }) + : [] + ); + }); + var Et = 1e-6, + Lt = Math.PI, + Ct = 2 * Lt, + Ot = Ct - Et, + Pt = Lt / 2, + It = Lt / 180, + Dt = 180 / Lt; + function zt(t) { + return t > 1 ? Pt : t < -1 ? -Pt : Math.asin(t); + } + function Rt(t) { + return ((t = Math.exp(t)) + 1 / t) / 2; + } + var Ft = Math.SQRT2; + (a.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, + f = l - a, + h = c * c + f * f; + if (h < 1e-12) + (n = Math.log(u / o) / Ft), + (r = function (t) { + return [ + i + t * c, + a + t * f, + o * Math.exp(Ft * t * n), + ]; + }); + else { + var p = Math.sqrt(h), + d = (u * u - o * o + 4 * h) / (2 * o * 2 * p), + v = (u * u - o * o - 4 * h) / (2 * u * 2 * p), + g = Math.log(Math.sqrt(d * d + 1) - d), + y = Math.log(Math.sqrt(v * v + 1) - v); + (n = (y - g) / Ft), + (r = function (t) { + var e, + r = t * n, + s = Rt(g), + l = + (o / (2 * p)) * + (s * + ((e = Ft * r + g), + ((e = Math.exp(2 * e)) - 1) / (e + 1)) - + (function (t) { + return ((t = Math.exp(t)) - 1 / t) / 2; + })(g)); + return [ + i + l * c, + a + l * f, + (o * s) / Rt(Ft * r + g), + ]; + }); + } + return (r.duration = 1e3 * n), r; + }), + (a.behavior.zoom = function () { + var t, + e, + r, + n, + i, + o, + s, + u, + f, + h = { x: 0, y: 0, k: 1 }, + p = [960, 500], + d = jt, + v = 250, + g = 0, + y = "mousedown.zoom", + m = "mousemove.zoom", + x = "mouseup.zoom", + b = "touchstart.zoom", + _ = H(w, "zoomstart", "zoom", "zoomend"); + function w(t) { + t.on(y, O) + .on(Nt + ".zoom", I) + .on("dblclick.zoom", D) + .on(b, P); + } + function T(t) { + return [(t[0] - h.x) / h.k, (t[1] - h.y) / h.k]; + } + function k(t) { + h.k = Math.max(d[0], Math.min(d[1], t)); + } + function A(t, e) { + (e = (function (t) { + return [t[0] * h.k + h.x, t[1] * h.k + h.y]; + })(e)), + (h.x += t[0] - e[0]), + (h.y += t[1] - e[1]); + } + function M(t, r, n, i) { + (t.__chart__ = { x: h.x, y: h.y, k: h.k }), + k(Math.pow(2, i)), + A((e = r), n), + (t = a.select(t)), + v > 0 && (t = t.transition().duration(v)), + t.call(w.event); + } + function S() { + s && + s.domain( + o + .range() + .map(function (t) { + return (t - h.x) / h.k; + }) + .map(o.invert), + ), + f && + f.domain( + u + .range() + .map(function (t) { + return (t - h.y) / h.k; + }) + .map(u.invert), + ); + } + function E(t) { + g++ || t({ type: "zoomstart" }); + } + function L(t) { + S(), + t({ + type: "zoom", + scale: h.k, + translate: [h.x, h.y], + }); + } + function C(t) { + --g || (t({ type: "zoomend" }), (e = null)); + } + function O() { + var t = this, + e = _.of(t, arguments), + r = 0, + n = a.select(c(t)).on(m, s).on(x, l), + i = T(a.mouse(t)), + o = kt(t); + function s() { + (r = 1), A(a.mouse(t), i), L(e); + } + function l() { + n.on(m, null).on(x, null), o(r), C(e); + } + $i.call(t), E(e); + } + function P() { + var t, + e = this, + r = _.of(e, arguments), + n = {}, + o = 0, + s = + ".zoom-" + + a.event.changedTouches[0].identifier, + l = "touchmove" + s, + u = "touchend" + s, + c = [], + f = a.select(e), + p = kt(e); + function d() { + var r = a.touches(e); + return ( + (t = h.k), + r.forEach(function (t) { + t.identifier in n && + (n[t.identifier] = T(t)); + }), + r + ); + } + function v() { + var t = a.event.target; + a.select(t).on(l, g).on(u, m), c.push(t); + for ( + var r = a.event.changedTouches, + s = 0, + f = r.length; + s < f; + ++s + ) + n[r[s].identifier] = null; + var p = d(), + v = Date.now(); + if (1 === p.length) { + if (v - i < 500) { + var y = p[0]; + M( + e, + y, + n[y.identifier], + Math.floor(Math.log(h.k) / Math.LN2) + 1, + ), + U(); + } + i = v; + } else if (p.length > 1) { + y = p[0]; + var x = p[1], + b = y[0] - x[0], + _ = y[1] - x[1]; + o = b * b + _ * _; + } + } + function g() { + var s, + l, + u, + c, + f = a.touches(e); + $i.call(e); + for ( + var h = 0, p = f.length; + h < p; + ++h, c = null + ) + if (((u = f[h]), (c = n[u.identifier]))) { + if (l) break; + (s = u), (l = c); + } + if (c) { + var d = + (d = u[0] - s[0]) * d + + (d = u[1] - s[1]) * d, + v = o && Math.sqrt(d / o); + (s = [(s[0] + u[0]) / 2, (s[1] + u[1]) / 2]), + (l = [ + (l[0] + c[0]) / 2, + (l[1] + c[1]) / 2, + ]), + k(v * t); + } + (i = null), A(s, l), L(r); + } + function m() { + if (a.event.touches.length) { + for ( + var t = a.event.changedTouches, + e = 0, + i = t.length; + e < i; + ++e + ) + delete n[t[e].identifier]; + for (var o in n) return void d(); + } + a.selectAll(c).on(s, null), + f.on(y, O).on(b, P), + p(), + C(r); + } + v(), E(r), f.on(y, null).on(b, v); + } + function I() { + var i = _.of(this, arguments); + n + ? clearTimeout(n) + : ($i.call(this), + (t = T((e = r || a.mouse(this)))), + E(i)), + (n = setTimeout(function () { + (n = null), C(i); + }, 50)), + U(), + k(Math.pow(2, 0.002 * Bt()) * h.k), + A(e, t), + L(i); + } + function D() { + var t = a.mouse(this), + e = Math.log(h.k) / Math.LN2; + M( + this, + t, + T(t), + a.event.shiftKey + ? Math.ceil(e) - 1 + : Math.floor(e) + 1, + ); + } + return ( + Nt || + (Nt = + "onwheel" in l + ? ((Bt = function () { + return ( + -a.event.deltaY * + (a.event.deltaMode ? 120 : 1) + ); + }), + "wheel") + : "onmousewheel" in l + ? ((Bt = function () { + return a.event.wheelDelta; + }), + "mousewheel") + : ((Bt = function () { + return -a.event.detail; + }), + "MozMousePixelScroll")), + (w.event = function (t) { + t.each(function () { + var t = _.of(this, arguments), + r = h; + ea + ? a + .select(this) + .transition() + .each("start.zoom", function () { + (h = this.__chart__ || { + x: 0, + y: 0, + k: 1, + }), + E(t); + }) + .tween("zoom:zoom", function () { + var n = p[0], + i = p[1], + o = e ? e[0] : n / 2, + s = e ? e[1] : i / 2, + l = a.interpolateZoom( + [ + (o - h.x) / h.k, + (s - h.y) / h.k, + n / h.k, + ], + [ + (o - r.x) / r.k, + (s - r.y) / r.k, + n / r.k, + ], + ); + return function (e) { + var r = l(e), + i = n / r[2]; + (this.__chart__ = h = + { + x: o - r[0] * i, + y: s - r[1] * i, + k: i, + }), + L(t); + }; + }) + .each("interrupt.zoom", function () { + C(t); + }) + .each("end.zoom", function () { + C(t); + }) + : ((this.__chart__ = h), E(t), L(t), C(t)); + }); + }), + (w.translate = function (t) { + return arguments.length + ? ((h = { x: +t[0], y: +t[1], k: h.k }), + S(), + w) + : [h.x, h.y]; + }), + (w.scale = function (t) { + return arguments.length + ? ((h = { x: h.x, y: h.y, k: null }), + k(+t), + S(), + w) + : h.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 + ? ((r = t && [+t[0], +t[1]]), w) + : r; + }), + (w.size = function (t) { + return arguments.length + ? ((p = t && [+t[0], +t[1]]), w) + : p; + }), + (w.duration = function (t) { + return arguments.length ? ((v = +t), w) : v; + }), + (w.x = function (t) { + return arguments.length + ? ((s = t), + (o = t.copy()), + (h = { x: 0, y: 0, k: 1 }), + w) + : s; + }), + (w.y = function (t) { + return arguments.length + ? ((f = t), + (u = t.copy()), + (h = { x: 0, y: 0, k: 1 }), + w) + : f; + }), + a.rebind(w, _, "on") + ); + }); + var Bt, + Nt, + jt = [0, 1 / 0]; + function Ut() {} + function Vt(t, e, r) { + return this instanceof Vt + ? ((this.h = +t), (this.s = +e), void (this.l = +r)) + : arguments.length < 2 + ? t instanceof Vt + ? new Vt(t.h, t.s, t.l) + : ue("" + t, ce, Vt) + : new Vt(t, e, r); + } + (a.color = Ut), + (Ut.prototype.toString = function () { + return this.rgb() + ""; + }), + (a.hsl = Vt); + var Ht = (Vt.prototype = new Ut()); + function qt(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) || e < 0 ? 0 : e > 1 ? 1 : e), + (n = + 2 * (r = r < 0 ? 0 : r > 1 ? 1 : r) - + (i = r <= 0.5 ? r * (1 + e) : r + e - r * e)), + new ie(a(t + 120), a(t), a(t - 120)) + ); + } + function Gt(t, e, r) { + return this instanceof Gt + ? ((this.h = +t), (this.c = +e), void (this.l = +r)) + : arguments.length < 2 + ? t instanceof Gt + ? new Gt(t.h, t.c, t.l) + : te( + t instanceof Yt + ? t.l + : (t = fe((t = a.rgb(t)).r, t.g, t.b)).l, + t.a, + t.b, + ) + : new Gt(t, e, r); + } + (Ht.brighter = function (t) { + return ( + (t = Math.pow(0.7, arguments.length ? t : 1)), + new Vt(this.h, this.s, this.l / t) + ); + }), + (Ht.darker = function (t) { + return ( + (t = Math.pow(0.7, arguments.length ? t : 1)), + new Vt(this.h, this.s, t * this.l) + ); + }), + (Ht.rgb = function () { + return qt(this.h, this.s, this.l); + }), + (a.hcl = Gt); + var Zt = (Gt.prototype = new Ut()); + function Wt(t, e, r) { + return ( + isNaN(t) && (t = 0), + isNaN(e) && (e = 0), + new Yt(r, Math.cos((t *= It)) * e, Math.sin(t) * e) + ); + } + function Yt(t, e, r) { + return this instanceof Yt + ? ((this.l = +t), (this.a = +e), void (this.b = +r)) + : arguments.length < 2 + ? t instanceof Yt + ? new Yt(t.l, t.a, t.b) + : t instanceof Gt + ? Wt(t.h, t.c, t.l) + : fe((t = ie(t)).r, t.g, t.b) + : new Yt(t, e, r); + } + (Zt.brighter = function (t) { + return new Gt( + this.h, + this.c, + Math.min( + 100, + this.l + Xt * (arguments.length ? t : 1), + ), + ); + }), + (Zt.darker = function (t) { + return new Gt( + this.h, + this.c, + Math.max( + 0, + this.l - Xt * (arguments.length ? t : 1), + ), + ); + }), + (Zt.rgb = function () { + return Wt(this.h, this.c, this.l).rgb(); + }), + (a.lab = Yt); + var Xt = 18, + Jt = 0.95047, + Kt = 1.08883, + $t = (Yt.prototype = new Ut()); + function Qt(t, e, r) { + var n = (t + 16) / 116, + i = n + e / 500, + a = n - r / 200; + return new ie( + ne( + 3.2404542 * (i = ee(i) * Jt) - + 1.5371385 * (n = 1 * ee(n)) - + 0.4985314 * (a = ee(a) * Kt), + ), + ne(-0.969266 * i + 1.8760108 * n + 0.041556 * a), + ne(0.0556434 * i - 0.2040259 * n + 1.0572252 * a), + ); + } + function te(t, e, r) { + return t > 0 + ? new Gt( + Math.atan2(r, e) * Dt, + Math.sqrt(e * e + r * r), + t, + ) + : new Gt(NaN, NaN, t); + } + function ee(t) { + return t > 0.206893034 + ? t * t * t + : (t - 4 / 29) / 7.787037; + } + function re(t) { + return t > 0.008856 + ? Math.pow(t, 1 / 3) + : 7.787037 * t + 4 / 29; + } + function ne(t) { + return Math.round( + 255 * + (t <= 0.00304 + ? 12.92 * t + : 1.055 * Math.pow(t, 1 / 2.4) - 0.055), + ); + } + function ie(t, e, r) { + return this instanceof ie + ? ((this.r = ~~t), + (this.g = ~~e), + void (this.b = ~~r)) + : arguments.length < 2 + ? t instanceof ie + ? new ie(t.r, t.g, t.b) + : ue("" + t, ie, qt) + : new ie(t, e, r); + } + function ae(t) { + return new ie(t >> 16, (t >> 8) & 255, 255 & t); + } + function oe(t) { + return ae(t) + ""; + } + ($t.brighter = function (t) { + return new Yt( + Math.min( + 100, + this.l + Xt * (arguments.length ? t : 1), + ), + this.a, + this.b, + ); + }), + ($t.darker = function (t) { + return new Yt( + Math.max( + 0, + this.l - Xt * (arguments.length ? t : 1), + ), + this.a, + this.b, + ); + }), + ($t.rgb = function () { + return Qt(this.l, this.a, this.b); + }), + (a.rgb = ie); + var se = (ie.prototype = new Ut()); + function le(t) { + return t < 16 + ? "0" + Math.max(0, t).toString(16) + : Math.min(255, t).toString(16); + } + function ue(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(pe(i[0]), pe(i[1]), pe(i[2])); + } + return (a = de.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 ce(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 < 0.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 Vt(n, i, l) + ); + } + function fe(t, e, r) { + var n = re( + (0.4124564 * (t = he(t)) + + 0.3575761 * (e = he(e)) + + 0.1804375 * (r = he(r))) / + Jt, + ), + i = re( + (0.2126729 * t + 0.7151522 * e + 0.072175 * r) / + 1, + ); + return Yt( + 116 * i - 16, + 500 * (n - i), + 200 * + (i - + re( + (0.0193339 * t + + 0.119192 * e + + 0.9503041 * r) / + Kt, + )), + ); + } + function he(t) { + return (t /= 255) <= 0.04045 + ? t / 12.92 + : Math.pow((t + 0.055) / 1.055, 2.4); + } + function pe(t) { + var e = parseFloat(t); + return "%" === t.charAt(t.length - 1) + ? Math.round(2.55 * e) + : e; + } + (se.brighter = function (t) { + t = Math.pow(0.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 ie( + Math.min(255, e / t), + Math.min(255, r / t), + Math.min(255, n / t), + )) + : new ie(i, i, i); + }), + (se.darker = function (t) { + return new ie( + (t = Math.pow(0.7, arguments.length ? t : 1)) * + this.r, + t * this.g, + t * this.b, + ); + }), + (se.hsl = function () { + return ce(this.r, this.g, this.b); + }), + (se.toString = function () { + return "#" + le(this.r) + le(this.g) + le(this.b); + }); + var de = a.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 ge(t) { + return function (e, r, n) { + return ( + 2 === arguments.length && + "function" == typeof r && + ((n = r), (r = null)), + ye(e, r, t, n) + ); + }; + } + function ye(t, e, r, n) { + var i = {}, + o = a.dispatch( + "beforesend", + "progress", + "load", + "error", + ), + l = {}, + u = new XMLHttpRequest(), + c = null; + function f() { + 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 = r.call(i, u); + } catch (t) { + return void o.error.call(i, t); + } + o.load.call(i, t); + } else o.error.call(i, u); + } + return ( + self.XDomainRequest && + !("withCredentials" in u) && + /^(http(s)?:)?\/\//.test(t) && + (u = new XDomainRequest()), + "onload" in u + ? (u.onload = u.onerror = f) + : (u.onreadystatechange = function () { + u.readyState > 3 && f(); + }), + (u.onprogress = function (t) { + var e = a.event; + a.event = t; + try { + o.progress.call(i, u); + } finally { + a.event = e; + } + }), + (i.header = function (t, e) { + return ( + (t = (t + "").toLowerCase()), + arguments.length < 2 + ? l[t] + : (null == e ? delete l[t] : (l[t] = e + ""), + i) + ); + }), + (i.mimeType = function (t) { + return arguments.length + ? ((e = null == t ? null : t + ""), i) + : e; + }), + (i.responseType = function (t) { + return arguments.length ? ((c = t), i) : c; + }), + (i.response = function (t) { + return (r = t), i; + }), + ["get", "post"].forEach(function (t) { + i[t] = function () { + return i.send.apply( + i, + [t].concat(s(arguments)), + ); + }; + }), + (i.send = function (r, n, a) { + if ( + (2 === arguments.length && + "function" == typeof n && + ((a = n), (n = null)), + u.open(r, t, !0), + null == e || + "accept" in l || + (l.accept = e + ",*/*"), + u.setRequestHeader) + ) + for (var s in l) u.setRequestHeader(s, l[s]); + return ( + null != e && + u.overrideMimeType && + u.overrideMimeType(e), + null != c && (u.responseType = c), + null != a && + i.on("error", a).on("load", function (t) { + a(null, t); + }), + o.beforesend.call(i, u), + u.send(null == n ? null : n), + i + ); + }), + (i.abort = function () { + return u.abort(), i; + }), + a.rebind(i, o, "on"), + null == n + ? i + : i.get( + (function (t) { + return 1 === t.length + ? function (e, r) { + t(null == e ? r : null); + } + : t; + })(n), + ) + ); + } + de.forEach(function (t, e) { + de.set(t, ae(e)); + }), + (a.functor = ve), + (a.xhr = ge(D)), + (a.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 = function (e) { + for ( + var r = {}, n = t.length, i = 0; + i < n; + ++i + ) + r[t[i]] = e[i]; + return r; + }; + 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 f() { + 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 = f()) !== o; ) { + for (var h = []; r !== a && r !== o; ) + h.push(r), (r = f()); + (e && null == (h = e(h, c++))) || s.push(h); + } + return s; + }), + (i.format = function (e) { + if (Array.isArray(e[0])) return i.formatRows(e); + var r = new I(), + 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 + ); + }), + (a.csv = a.dsv(",", "text/csv")), + (a.tsv = a.dsv("\t", "text/tab-separated-values")); + var me, + xe, + be, + _e, + we = + this[R(this, "requestAnimationFrame")] || + function (t) { + setTimeout(t, 17); + }; + function Te(t, e, r) { + var n = arguments.length; + n < 2 && (e = 0), n < 3 && (r = Date.now()); + var i = r + e, + a = { c: t, t: i, n: null }; + return ( + xe ? (xe.n = a) : (me = a), + (xe = a), + be || ((_e = clearTimeout(_e)), (be = 1), we(ke)), + a + ); + } + function ke() { + var t = Ae(), + e = Me() - t; + e > 24 + ? (isFinite(e) && + (clearTimeout(_e), (_e = setTimeout(ke, e))), + (be = 0)) + : ((be = 1), we(ke)); + } + function Ae() { + for (var t = Date.now(), e = me; e; ) + t >= e.t && e.c(t - e.t) && (e.c = null), (e = e.n); + return t; + } + function Me() { + for (var t, e = me, r = 1 / 0; e; ) + e.c + ? (e.t < r && (r = e.t), (e = (t = e).n)) + : (e = t ? (t.n = e.n) : (me = e.n)); + return (xe = t), r; + } + function Se(t) { + return t[0]; + } + function Ee(t) { + return t[1]; + } + function Le(t) { + for ( + var e, r, n, i = t.length, a = [0, 1], o = 2, s = 2; + s < i; + s++ + ) { + for ( + ; + o > 1 && + ((e = t[a[o - 2]]), + (r = t[a[o - 1]]), + (n = t[s]), + (r[0] - e[0]) * (n[1] - e[1]) - + (r[1] - e[1]) * (n[0] - e[0]) <= + 0); + + ) + --o; + a[o++] = s; + } + return a.slice(0, o); + } + function Ce(t, e) { + return t[0] - e[0] || t[1] - e[1]; + } + (a.timer = function () { + Te.apply(this, arguments); + }), + (a.timer.flush = function () { + Ae(), Me(); + }), + (a.round = function (t, e) { + return e + ? Math.round(t * (e = Math.pow(10, e))) / e + : Math.round(t); + }), + (a.geom = {}), + (a.geom.hull = function (t) { + var e = Se, + r = Ee; + 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(Ce), n = 0; n < o; n++) + l.push([s[n][0], -s[n][1]]); + var u = Le(s), + c = Le(l), + f = c[0] === u[0], + h = 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 = +f; n < c.length - h; ++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 + ); + }), + (a.geom.polygon = function (t) { + return G(t, Oe), t; + }); + var Oe = (a.geom.polygon.prototype = []); + function Pe(t, e, r) { + return ( + (r[0] - e[0]) * (t[1] - e[1]) < + (r[1] - e[1]) * (t[0] - e[0]) + ); + } + function Ie(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, + f = n[1] - u, + h = (s * (l - u) - f * (i - a)) / (f * o - s * c); + return [i + h * o, l + h * c]; + } + function De(t) { + var e = t[0], + r = t[t.length - 1]; + return !(e[0] - r[0] || e[1] - r[1]); + } + (Oe.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 0.5 * i; + }), + (Oe.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]; + }), + (Oe.clip = function (t) { + for ( + var e, + r, + n, + i, + a, + o, + s = De(t), + l = -1, + u = this.length - De(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; + + ) + Pe((o = e[r]), c, i) + ? (Pe(a, c, i) || t.push(Ie(a, o, c, i)), + t.push(o)) + : Pe(a, c, i) && t.push(Ie(a, o, c, i)), + (a = o); + s && t.push(t[0]), (c = i); + } + return t; + }); + var ze, + Re, + Fe, + Be, + Ne, + je = [], + Ue = []; + function Ve() { + or(this), + (this.edge = this.site = this.circle = null); + } + function He(t) { + var e = je.pop() || new Ve(); + return (e.site = t), e; + } + function qe(t) { + Qe(t), Fe.remove(t), je.push(t), or(t); + } + function Ge(t) { + var e = t.circle, + r = e.x, + n = e.cy, + i = { x: r, y: n }, + a = t.P, + o = t.N, + s = [t]; + qe(t); + for ( + var l = a; + l.circle && + w(r - l.circle.x) < Et && + w(n - l.circle.cy) < Et; + + ) + (a = l.P), s.unshift(l), qe(l), (l = a); + s.unshift(l), Qe(l); + for ( + var u = o; + u.circle && + w(r - u.circle.x) < Et && + w(n - u.circle.cy) < Et; + + ) + (o = u.N), s.push(u), qe(u), (u = o); + s.push(u), Qe(u); + var c, + f = s.length; + for (c = 1; c < f; ++c) + (u = s[c]), + (l = s[c - 1]), + nr(u.edge, l.site, u.site, i); + (l = s[0]), + ((u = s[f - 1]).edge = rr(l.site, u.site, null, i)), + $e(l), + $e(u); + } + function Ze(t) { + for (var e, r, n, i, a = t.x, o = t.y, s = Fe._; s; ) + if ((n = We(s, o) - a) > Et) s = s.L; + else { + if (!((i = a - Ye(s, o)) > Et)) { + n > -Et + ? ((e = s.P), (r = s)) + : i > -Et + ? ((e = s), (r = s.N)) + : (e = r = s); + break; + } + if (!s.R) { + e = s; + break; + } + s = s.R; + } + var l = He(t); + if ((Fe.insert(e, l), e || r)) { + if (e === r) + return ( + Qe(e), + (r = He(e.site)), + Fe.insert(l, r), + (l.edge = r.edge = rr(e.site, l.site)), + $e(e), + void $e(r) + ); + if (r) { + Qe(e), Qe(r); + var u = e.site, + c = u.x, + f = u.y, + h = t.x - c, + p = t.y - f, + d = r.site, + v = d.x - c, + g = d.y - f, + y = 2 * (h * g - p * v), + m = h * h + p * p, + x = v * v + g * g, + b = { + x: (g * m - p * x) / y + c, + y: (h * x - v * m) / y + f, + }; + nr(r.edge, u, d, b), + (l.edge = rr(u, t, null, b)), + (r.edge = rr(t, d, null, b)), + $e(e), + $e(r); + } else l.edge = rr(e.site, l.site); + } + } + function We(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, + f = 1 / a - 1 / u, + h = c / u; + return f + ? (-h + + Math.sqrt( + h * h - + 2 * + f * + ((c * c) / (-2 * u) - + l + + u / 2 + + i - + a / 2), + )) / + f + + n + : (n + s) / 2; + } + function Ye(t, e) { + var r = t.N; + if (r) return We(r, e); + var n = t.site; + return n.y === e ? n.x : 1 / 0; + } + function Xe(t) { + (this.site = t), (this.edges = []); + } + function Je(t, e) { + return e.angle - t.angle; + } + function Ke() { + or(this), + (this.x = + this.y = + this.arc = + this.site = + this.cy = + null); + } + function $e(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, + f = 2 * (l * (g = a.y - s) - u * c); + if (!(f >= -1e-12)) { + var h = l * l + u * u, + p = c * c + g * g, + d = (g * h - u * p) / f, + v = (l * p - c * h) / f, + g = v + s, + y = Ue.pop() || new Ke(); + (y.arc = t), + (y.site = i), + (y.x = d + o), + (y.y = g + Math.sqrt(d * d + v * v)), + (y.cy = g), + (t.circle = y); + for (var m = null, x = Ne._; x; ) + if ( + y.y < x.y || + (y.y === x.y && y.x <= x.x) + ) { + if (!x.L) { + m = x.P; + break; + } + x = x.L; + } else { + if (!x.R) { + m = x; + break; + } + x = x.R; + } + Ne.insert(m, y), m || (Be = y); + } + } + } + } + function Qe(t) { + var e = t.circle; + e && + (e.P || (Be = e.N), + Ne.remove(e), + Ue.push(e), + or(e), + (t.circle = null)); + } + function tr(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, + f = t.r, + h = c.x, + p = c.y, + d = f.x, + v = f.y, + g = (h + d) / 2, + y = (p + v) / 2; + if (v === p) { + if (g < o || g >= s) return; + if (h > d) { + if (a) { + if (a.y >= u) return; + } else a = { x: g, y: l }; + r = { x: g, y: u }; + } else { + if (a) { + if (a.y < l) return; + } else a = { x: g, y: u }; + r = { x: g, y: l }; + } + } else if ( + ((i = y - (n = (h - d) / (v - p)) * g), + n < -1 || n > 1) + ) + if (h > 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 < v) { + 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 er(t, e) { + (this.l = t), (this.r = e), (this.a = this.b = null); + } + function rr(t, e, r, n) { + var i = new er(t, e); + return ( + ze.push(i), + r && nr(i, t, e, r), + n && nr(i, e, t, n), + Re[t.i].edges.push(new ir(i, t, e)), + Re[e.i].edges.push(new ir(i, e, t)), + i + ); + } + function nr(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 ir(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 ar() { + this._ = null; + } + function or(t) { + t.U = t.C = t.L = t.R = t.P = t.N = null; + } + function sr(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 lr(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 ur(t) { + for (; t.L; ) t = t.L; + return t; + } + function cr(t, e) { + var r, + n, + i, + a = t.sort(fr).pop(); + for ( + ze = [], + Re = new Array(t.length), + Fe = new ar(), + Ne = new ar(); + ; + + ) + if ( + ((i = Be), + a && + (!i || a.y < i.y || (a.y === i.y && a.x < i.x))) + ) + (a.x === r && a.y === n) || + ((Re[a.i] = new Xe(a)), + Ze(a), + (r = a.x), + (n = a.y)), + (a = t.pop()); + else { + if (!i) break; + Ge(i.arc); + } + e && + ((function (t) { + for ( + var e, + r, + n, + i, + a, + o = ze, + s = + ((r = t[0][0]), + (n = t[0][1]), + (i = t[1][0]), + (a = t[1][1]), + function (t) { + var e, + o = t.a, + s = t.b, + l = o.x, + u = o.y, + c = 0, + f = 1, + h = s.x - l, + p = s.y - u; + if (((e = r - l), h || !(e > 0))) { + if (((e /= h), h < 0)) { + if (e < c) return; + e < f && (f = e); + } else if (h > 0) { + if (e > f) return; + e > c && (c = e); + } + if (((e = i - l), h || !(e < 0))) { + if (((e /= h), h < 0)) { + if (e > f) return; + e > c && (c = e); + } else if (h > 0) { + if (e < c) return; + e < f && (f = e); + } + if (((e = n - u), p || !(e > 0))) { + if (((e /= p), p < 0)) { + if (e < c) return; + e < f && (f = e); + } else if (p > 0) { + if (e > f) return; + e > c && (c = e); + } + if (((e = a - u), p || !(e < 0))) { + if (((e /= p), p < 0)) { + if (e > f) return; + e > c && (c = e); + } else if (p > 0) { + if (e < c) return; + e < f && (f = e); + } + return ( + c > 0 && + (t.a = { + x: l + c * h, + y: u + c * p, + }), + f < 1 && + (t.b = { + x: l + f * h, + y: u + f * p, + }), + t + ); + } + } + } + } + }), + l = o.length; + l--; + + ) + (!tr((e = o[l]), t) || + !s(e) || + (w(e.a.x - e.b.x) < Et && + w(e.a.y - e.b.y) < Et)) && + ((e.a = e.b = null), o.splice(l, 1)); + })(e), + (function (t) { + for ( + var e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f = t[0][0], + h = t[1][0], + p = t[0][1], + d = t[1][1], + v = Re, + g = v.length; + g--; + + ) + if ((a = v[g]) && 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), + (w(n - e) > Et || w(i - r) > Et) && + (s.splice( + o, + 0, + new ir( + ((y = a.site), + (m = c), + (x = + w(n - f) < Et && d - i > Et + ? { + x: f, + y: w(e - f) < Et ? r : d, + } + : w(i - d) < Et && h - n > Et + ? { + x: w(r - d) < Et ? e : h, + y: d, + } + : w(n - h) < Et && i - p > Et + ? { + x: h, + y: w(e - h) < Et ? r : p, + } + : w(i - p) < Et && n - f > Et + ? { + x: w(r - p) < Et ? e : f, + y: p, + } + : null), + (b = void 0), + ((b = new er(y, null)).a = m), + (b.b = x), + ze.push(b), + b), + a.site, + null, + ), + ), + ++l); + var y, m, x, b; + })(e)); + var o = { cells: Re, edges: ze }; + return (Fe = Ne = ze = Re = null), o; + } + function fr(t, e) { + return e.y - t.y || e.x - t.x; + } + (Xe.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(Je), e.length; + }), + (ir.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; + }, + }), + (ar.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 = ur(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 && + (sr(this, r), (r = (t = r).U)), + (r.C = !1), + (n.C = !0), + lr(this, n)) + : (i = n.L) && i.C + ? ((r.C = i.C = !1), (n.C = !0), (t = n)) + : (t === r.L && + (lr(this, r), (r = (t = r).U)), + (r.C = !1), + (n.C = !0), + sr(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 ? ur(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), + sr(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), + lr(this, e), + (e = i.R)), + (e.C = i.C), + (i.C = e.R.C = !1), + sr(this, i), + (t = this._); + break; + } + } else if ( + ((e = i.L).C && + ((e.C = !1), + (i.C = !0), + lr(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), + sr(this, e), + (e = i.L)), + (e.C = i.C), + (i.C = e.L.C = !1), + lr(this, i), + (t = this._); + break; + } + (e.C = !0), (t = i), (i = i.U); + } while (!t.C); + t && (t.C = !1); + } + }, + }), + (a.geom.voronoi = function (t) { + var e = Se, + r = Ee, + n = e, + i = r, + a = hr; + 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 ( + cr(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) / Et) * Et, + y: Math.round(i(t, e) / Et) * Et, + i: e, + }; + }); + } + return ( + (o.links = function (t) { + return cr(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 ( + cr(s(t)).cells.forEach(function (r, n) { + for ( + var i, + a, + o, + s, + l = r.site, + u = r.edges.sort(Je), + c = -1, + f = u.length, + h = u[f - 1].edge, + p = h.l === l ? h.r : h.l; + ++c < f; + + ) + (i = p), + (p = + (h = u[c].edge).l === l ? h.r : h.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 ? hr : t), o) + : a === hr + ? null + : a; + }), + (o.size = function (t) { + return arguments.length + ? o.clipExtent(t && [[0, 0], t]) + : a === hr + ? null + : a && a[1]; + }), + o + ); + }); + var hr = [ + [-1e6, -1e6], + [1e6, 1e6], + ]; + function pr(t) { + return t.x; + } + function dr(t) { + return t.y; + } + function vr(t, e, r, n, i, a) { + if (!t(e, r, n, i, a)) { + var o = 0.5 * (r + i), + s = 0.5 * (n + a), + l = e.nodes; + l[0] && vr(t, l[0], r, n, o, s), + l[1] && vr(t, l[1], o, n, i, s), + l[2] && vr(t, l[2], r, s, o, a), + l[3] && vr(t, l[3], o, s, i, a); + } + } + function gr(t, e, r, n, i, a, o) { + var s, + l = 1 / 0; + return ( + (function t(u, c, f, h, p) { + if (!(c > a || f > o || h < n || p < i)) { + if ((d = u.point)) { + var d, + v = e - u.x, + g = r - u.y, + y = v * v + g * g; + if (y < l) { + var m = Math.sqrt((l = y)); + (n = e - m), + (i = r - m), + (a = e + m), + (o = r + m), + (s = d); + } + } + for ( + var x = u.nodes, + b = 0.5 * (c + h), + _ = 0.5 * (f + p), + w = ((r >= _) << 1) | (e >= b), + T = w + 4; + w < T; + ++w + ) + if ((u = x[3 & w])) + switch (3 & w) { + case 0: + t(u, c, f, b, _); + break; + case 1: + t(u, b, f, h, _); + break; + case 2: + t(u, c, _, b, p); + break; + case 3: + t(u, b, _, h, p); + } + } + })(t, n, i, a, o), + s + ); + } + function yr(t, e) { + (t = a.rgb(t)), (e = a.rgb(e)); + var r = t.r, + n = t.g, + i = t.b, + o = e.r - r, + s = e.g - n, + l = e.b - i; + return function (t) { + return ( + "#" + + le(Math.round(r + o * t)) + + le(Math.round(n + s * t)) + + le(Math.round(i + l * t)) + ); + }; + } + function mr(t, e) { + var r, + n = {}, + i = {}; + for (r in t) + r in e ? (n[r] = Tr(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 xr(t, e) { + return ( + (t = +t), + (e = +e), + function (r) { + return t * (1 - r) + e * r; + } + ); + } + function br(t, e) { + var r, + n, + i, + a = (_r.lastIndex = wr.lastIndex = 0), + o = -1, + s = [], + l = []; + for ( + t += "", e += ""; + (r = _r.exec(t)) && (n = wr.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: xr(r, n) })), + (a = wr.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(""); + }) + ); + } + (a.geom.delaunay = function (t) { + return a.geom.voronoi().triangles(t); + }), + (a.geom.quadtree = function (t, e, r, n, i) { + var a, + o = Se, + s = Ee; + if ((a = arguments.length)) + return ( + (o = pr), + (s = dr), + 3 === a && ((i = r), (n = e), (r = e = 0)), + l(t) + ); + function l(t) { + var l, + u, + c, + f, + h, + p, + d, + v, + g, + y = ve(o), + m = ve(s); + if (null != e) (p = e), (d = r), (v = n), (g = i); + else if ( + ((v = g = -(p = d = 1 / 0)), + (u = []), + (c = []), + (h = t.length), + a) + ) + for (f = 0; f < h; ++f) + (l = t[f]).x < p && (p = l.x), + l.y < d && (d = l.y), + l.x > v && (v = l.x), + l.y > g && (g = l.y), + u.push(l.x), + c.push(l.y); + else + for (f = 0; f < h; ++f) { + var x = +y((l = t[f]), f), + b = +m(l, f); + x < p && (p = x), + b < d && (d = b), + x > v && (v = x), + b > g && (g = b), + u.push(x), + c.push(b); + } + var _ = v - p, + T = g - d; + function k(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 (w(l - r) + w(u - n) < 0.01) + A(t, e, r, n, i, a, o, s); + else { + var c = t.point; + (t.x = t.y = t.point = null), + A(t, c, l, u, i, a, o, s), + A(t, e, r, n, i, a, o, s); + } + else (t.x = r), (t.y = n), (t.point = e); + } else A(t, e, r, n, i, a, o, s); + } + function A(t, e, r, n, i, a, o, s) { + var l = 0.5 * (i + o), + u = 0.5 * (a + s), + c = r >= l, + f = n >= u, + h = (f << 1) | c; + (t.leaf = !1), + c ? (i = l) : (o = l), + f ? (a = u) : (s = u), + k( + (t = + t.nodes[h] || + (t.nodes[h] = { + leaf: !0, + nodes: [], + point: null, + x: null, + y: null, + })), + e, + r, + n, + i, + a, + o, + s, + ); + } + _ > T ? (g = d + _) : (v = p + T); + var M = { + leaf: !0, + nodes: [], + point: null, + x: null, + y: null, + add: function (t) { + k(M, t, +y(t, ++f), +m(t, f), p, d, v, g); + }, + visit: function (t) { + vr(t, M, p, d, v, g); + }, + find: function (t) { + return gr(M, t[0], t[1], p, d, v, g); + }, + }; + if (((f = -1), null == e)) { + for (; ++f < h; ) + k(M, t[f], u[f], c[f], p, d, v, g); + --f; + } else t.forEach(M.add); + return (u = c = t = l = null), M; + } + 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 + ); + }), + (a.interpolateRgb = yr), + (a.interpolateObject = mr), + (a.interpolateNumber = xr), + (a.interpolateString = br); + var _r = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, + wr = new RegExp(_r.source, "g"); + function Tr(t, e) { + for ( + var r, n = a.interpolators.length; + --n >= 0 && !(r = a.interpolators[n](t, e)); + + ); + return r; + } + function kr(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(Tr(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; + }; + } + (a.interpolate = Tr), + (a.interpolators = [ + function (t, e) { + var r = typeof e; + return ( + "string" === r + ? de.has(e.toLowerCase()) || + /^(#|rgb\(|hsl\()/i.test(e) + ? yr + : br + : e instanceof Ut + ? yr + : Array.isArray(e) + ? kr + : "object" === r && isNaN(e) + ? mr + : xr + )(t, e); + }, + ]), + (a.interpolateArray = kr); + var Ar = function () { + return D; + }, + Mr = a.map({ + linear: Ar, + poly: function (t) { + return function (e) { + return Math.pow(e, t); + }; + }, + quad: function () { + return Or; + }, + cubic: function () { + return Pr; + }, + sin: function () { + return Dr; + }, + exp: function () { + return zr; + }, + circle: function () { + return Rr; + }, + elastic: function (t, e) { + var r; + return ( + arguments.length < 2 && (e = 0.45), + arguments.length + ? (r = (e / Ct) * Math.asin(1 / t)) + : ((t = 1), (r = e / 4)), + function (n) { + return ( + 1 + + t * + Math.pow(2, -10 * n) * + Math.sin(((n - r) * Ct) / e) + ); + } + ); + }, + back: function (t) { + return ( + t || (t = 1.70158), + function (e) { + return e * e * ((t + 1) * e - t); + } + ); + }, + bounce: function () { + return Fr; + }, + }), + Sr = a.map({ + in: D, + out: Lr, + "in-out": Cr, + "out-in": function (t) { + return Cr(Lr(t)); + }, + }); + function Er(t) { + return function (e) { + return e <= 0 ? 0 : e >= 1 ? 1 : t(e); + }; + } + function Lr(t) { + return function (e) { + return 1 - t(1 - e); + }; + } + function Cr(t) { + return function (e) { + return ( + 0.5 * (e < 0.5 ? t(2 * e) : 2 - t(2 - 2 * e)) + ); + }; + } + function Or(t) { + return t * t; + } + function Pr(t) { + return t * t * t; + } + function Ir(t) { + if (t <= 0) return 0; + if (t >= 1) return 1; + var e = t * t, + r = e * t; + return 4 * (t < 0.5 ? r : 3 * (t - e) + r - 0.75); + } + function Dr(t) { + return 1 - Math.cos(t * Pt); + } + function zr(t) { + return Math.pow(2, 10 * (t - 1)); + } + function Rr(t) { + return 1 - Math.sqrt(1 - t * t); + } + function Fr(t) { + return t < 1 / 2.75 + ? 7.5625 * t * t + : t < 2 / 2.75 + ? 7.5625 * (t -= 1.5 / 2.75) * t + 0.75 + : t < 2.5 / 2.75 + ? 7.5625 * (t -= 2.25 / 2.75) * t + 0.9375 + : 7.5625 * (t -= 2.625 / 2.75) * t + 0.984375; + } + function Br(t, e) { + return ( + (e -= t), + function (r) { + return Math.round(t + e * r); + } + ); + } + function Nr(t) { + var e, + r, + n, + i = [t.a, t.b], + a = [t.c, t.d], + o = Ur(i), + s = jr(i, a), + l = + Ur( + (((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])) * Dt), + (this.translate = [t.e, t.f]), + (this.scale = [o, l]), + (this.skew = l ? Math.atan2(s, l) * Dt : 0); + } + function jr(t, e) { + return t[0] * e[0] + t[1] * e[1]; + } + function Ur(t) { + var e = Math.sqrt(jr(t, t)); + return e && ((t[0] /= e), (t[1] /= e)), e; + } + (a.ease = function (t) { + var e = t.indexOf("-"), + r = e >= 0 ? t.slice(0, e) : t, + n = e >= 0 ? t.slice(e + 1) : "in"; + return ( + (r = Mr.get(r) || Ar), + Er( + (n = Sr.get(n) || D)( + r.apply(null, o.call(arguments, 1)), + ), + ) + ); + }), + (a.interpolateHcl = function (t, e) { + (t = a.hcl(t)), (e = a.hcl(e)); + var r = t.h, + n = t.c, + i = t.l, + o = e.h - r, + s = e.c - n, + l = e.l - i; + return ( + isNaN(s) && ((s = 0), (n = isNaN(n) ? e.c : n)), + isNaN(o) + ? ((o = 0), (r = isNaN(r) ? e.h : r)) + : o > 180 + ? (o -= 360) + : o < -180 && (o += 360), + function (t) { + return Wt(r + o * t, n + s * t, i + l * t) + ""; + } + ); + }), + (a.interpolateHsl = function (t, e) { + (t = a.hsl(t)), (e = a.hsl(e)); + var r = t.h, + n = t.s, + i = t.l, + o = e.h - r, + s = e.s - n, + l = e.l - i; + return ( + isNaN(s) && ((s = 0), (n = isNaN(n) ? e.s : n)), + isNaN(o) + ? ((o = 0), (r = isNaN(r) ? e.h : r)) + : o > 180 + ? (o -= 360) + : o < -180 && (o += 360), + function (t) { + return qt(r + o * t, n + s * t, i + l * t) + ""; + } + ); + }), + (a.interpolateLab = function (t, e) { + (t = a.lab(t)), (e = a.lab(e)); + var r = t.l, + n = t.a, + i = t.b, + o = e.l - r, + s = e.a - n, + l = e.b - i; + return function (t) { + return Qt(r + o * t, n + s * t, i + l * t) + ""; + }; + }), + (a.interpolateRound = Br), + (a.transform = function (t) { + var e = l.createElementNS(a.ns.prefix.svg, "g"); + return (a.transform = function (t) { + if (null != t) { + e.setAttribute("transform", t); + var r = e.transform.baseVal.consolidate(); + } + return new Nr(r ? r.matrix : Vr); + })(t); + }), + (Nr.prototype.toString = function () { + return ( + "translate(" + + this.translate + + ")rotate(" + + this.rotate + + ")skewX(" + + this.skew + + ")scale(" + + this.scale + + ")" + ); + }); + var Vr = { a: 1, b: 0, c: 0, d: 1, e: 0, f: 0 }; + function Hr(t) { + return t.length ? t.pop() + "," : ""; + } + function qr(t, e) { + var r = [], + n = []; + return ( + (t = a.transform(t)), + (e = a.transform(e)), + (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: xr(t[0], e[0]) }, + { i: i - 2, x: xr(t[1], e[1]) }, + ); + } else + (e[0] || e[1]) && + r.push("translate(" + e + ")"); + })(t.translate, e.translate, r, n), + (function (t, e, r, n) { + t !== e + ? (t - e > 180 + ? (e += 360) + : e - t > 180 && (t += 360), + n.push({ + i: r.push(Hr(r) + "rotate(", null, ")") - 2, + x: xr(t, e), + })) + : e && r.push(Hr(r) + "rotate(" + e + ")"); + })(t.rotate, e.rotate, r, n), + (function (t, e, r, n) { + t !== e + ? n.push({ + i: r.push(Hr(r) + "skewX(", null, ")") - 2, + x: xr(t, e), + }) + : e && r.push(Hr(r) + "skewX(" + e + ")"); + })(t.skew, e.skew, r, n), + (function (t, e, r, n) { + if (t[0] !== e[0] || t[1] !== e[1]) { + var i = r.push( + Hr(r) + "scale(", + null, + ",", + null, + ")", + ); + n.push( + { i: i - 4, x: xr(t[0], e[0]) }, + { i: i - 2, x: xr(t[1], e[1]) }, + ); + } else + (1 === e[0] && 1 === e[1]) || + r.push(Hr(r) + "scale(" + e + ")"); + })(t.scale, e.scale, r, n), + (t = e = null), + function (t) { + for (var e, i = -1, a = n.length; ++i < a; ) + r[(e = n[i]).i] = e.x(t); + return r.join(""); + } + ); + } + function Gr(t, e) { + return ( + (e = (e -= t = +t) || 1 / e), + function (r) { + return (r - t) / e; + } + ); + } + function Zr(t, e) { + return ( + (e = (e -= t = +t) || 1 / e), + function (r) { + return Math.max(0, Math.min(1, (r - t) / e)); + } + ); + } + function Wr(t) { + for ( + var e = t.source, + r = t.target, + n = (function (t, e) { + if (t === e) return t; + for ( + var r = Yr(t), + n = Yr(e), + i = r.pop(), + a = n.pop(), + o = null; + 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 Yr(t) { + for (var e = [], r = t.parent; null != r; ) + e.push(t), (t = r), (r = r.parent); + return e.push(t), e; + } + function Xr(t) { + t.fixed |= 2; + } + function Jr(t) { + t.fixed &= -7; + } + function Kr(t) { + (t.fixed |= 4), (t.px = t.x), (t.py = t.y); + } + function $r(t) { + t.fixed &= -5; + } + function Qr(t, e, r) { + var n = 0, + i = 0; + if (((t.charge = 0), !t.leaf)) + for ( + var a, o = t.nodes, s = o.length, l = -1; + ++l < s; + + ) + null != (a = o[l]) && + (Qr(a, e, r), + (t.charge += a.charge), + (n += a.charge * a.cx), + (i += a.charge * a.cy)); + if (t.point) { + t.leaf || + ((t.point.x += Math.random() - 0.5), + (t.point.y += Math.random() - 0.5)); + var u = e * r[t.point.index]; + (t.charge += t.pointCharge = u), + (n += u * t.point.x), + (i += u * t.point.y); + } + (t.cx = n / t.charge), (t.cy = i / t.charge); + } + (a.interpolateTransform = qr), + (a.layout = {}), + (a.layout.bundle = function () { + return function (t) { + for (var e = [], r = -1, n = t.length; ++r < n; ) + e.push(Wr(t[r])); + return e; + }; + }), + (a.layout.chord = function () { + var t, + e, + r, + n, + i, + o, + s, + l = {}, + u = 0; + function c() { + var l, + c, + h, + p, + d, + v = {}, + g = [], + y = a.range(n), + m = []; + for (t = [], e = [], l = 0, p = -1; ++p < n; ) { + for (c = 0, d = -1; ++d < n; ) c += r[p][d]; + g.push(c), m.push(a.range(n)), (l += c); + } + for ( + i && + y.sort(function (t, e) { + return i(g[t], g[e]); + }), + o && + m.forEach(function (t, e) { + t.sort(function (t, n) { + return o(r[e][t], r[e][n]); + }); + }), + l = (Ct - u * n) / l, + c = 0, + p = -1; + ++p < n; + + ) { + for (h = c, d = -1; ++d < n; ) { + var x = y[p], + b = m[x][d], + _ = r[x][b], + w = c, + T = (c += _ * l); + v[x + "-" + b] = { + index: x, + subindex: b, + startAngle: w, + endAngle: T, + value: _, + }; + } + (e[x] = { + index: x, + startAngle: h, + endAngle: c, + value: g[x], + }), + (c += u); + } + for (p = -1; ++p < n; ) + for (d = p - 1; ++d < n; ) { + var k = v[p + "-" + d], + A = v[d + "-" + p]; + (k.value || A.value) && + t.push( + k.value < A.value + ? { source: A, target: k } + : { source: k, target: A }, + ); + } + s && f(); + } + function f() { + t.sort(function (t, e) { + return s( + (t.source.value + t.target.value) / 2, + (e.source.value + e.target.value) / 2, + ); + }); + } + return ( + (l.matrix = function (i) { + return arguments.length + ? ((n = (r = i) && r.length), + (t = e = null), + l) + : r; + }), + (l.padding = function (r) { + return arguments.length + ? ((u = r), (t = e = null), l) + : u; + }), + (l.sortGroups = function (r) { + return arguments.length + ? ((i = r), (t = e = null), l) + : i; + }), + (l.sortSubgroups = function (e) { + return arguments.length + ? ((o = e), (t = null), l) + : o; + }), + (l.sortChords = function (e) { + return arguments.length + ? ((s = e), t && f(), l) + : s; + }), + (l.chords = function () { + return t || c(), t; + }), + (l.groups = function () { + return e || c(), e; + }), + l + ); + }), + (a.layout.force = function () { + var t, + e, + r, + n, + i, + o, + s = {}, + l = a.dispatch("start", "tick", "end"), + u = [1, 1], + c = 0.9, + f = tn, + h = en, + p = -30, + d = rn, + v = 0.1, + g = 0.64, + y = [], + m = []; + 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) / g < l) { + if (l < d) { + var u = e.charge / l; + (t.px -= a * u), (t.py -= o * u); + } + return !0; + } + e.point && + l && + l < d && + ((u = e.pointCharge / l), + (t.px -= a * u), + (t.py -= o * u)); + } + return !e.charge; + }; + } + function b(t) { + (t.px = a.event.x), + (t.py = a.event.y), + s.resume(); + } + return ( + (s.tick = function () { + if ((r *= 0.99) < 0.005) + return ( + (t = null), + l.end({ type: "end", alpha: (r = 0) }), + !0 + ); + var e, + s, + f, + h, + d, + g, + b, + _, + w, + T = y.length, + k = m.length; + for (s = 0; s < k; ++s) + (h = (f = m[s]).source), + (g = + (_ = (d = f.target).x - h.x) * _ + + (w = d.y - h.y) * w) && + ((_ *= g = + (r * + i[s] * + ((g = Math.sqrt(g)) - n[s])) / + g), + (w *= g), + (d.x -= + _ * + (b = + h.weight + d.weight + ? h.weight / (h.weight + d.weight) + : 0.5)), + (d.y -= w * b), + (h.x += _ * (b = 1 - b)), + (h.y += w * b)); + if ( + (b = r * v) && + ((_ = u[0] / 2), (w = u[1] / 2), (s = -1), b) + ) + for (; ++s < T; ) + ((f = y[s]).x += (_ - f.x) * b), + (f.y += (w - f.y) * b); + if (p) + for ( + Qr((e = a.geom.quadtree(y)), r, o), s = -1; + ++s < T; + + ) + (f = y[s]).fixed || e.visit(x(f)); + for (s = -1; ++s < T; ) + (f = y[s]).fixed + ? ((f.x = f.px), (f.y = f.py)) + : ((f.x -= (f.px - (f.px = f.x)) * c), + (f.y -= (f.py - (f.py = f.y)) * c)); + l.tick({ type: "tick", alpha: r }); + }), + (s.nodes = function (t) { + return arguments.length ? ((y = t), s) : y; + }), + (s.links = function (t) { + return arguments.length ? ((m = t), s) : m; + }), + (s.size = function (t) { + return arguments.length ? ((u = t), s) : u; + }), + (s.linkDistance = function (t) { + return arguments.length + ? ((f = "function" == typeof t ? t : +t), s) + : f; + }), + (s.distance = s.linkDistance), + (s.linkStrength = function (t) { + return arguments.length + ? ((h = "function" == typeof t ? t : +t), s) + : h; + }), + (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 ? ((v = +t), s) : v; + }), + (s.theta = function (t) { + return arguments.length + ? ((g = t * t), s) + : Math.sqrt(g); + }), + (s.alpha = function (e) { + return arguments.length + ? ((e = +e), + r + ? e > 0 + ? (r = e) + : ((t.c = null), + (t.t = NaN), + (t = null), + l.end({ + type: "end", + alpha: (r = 0), + })) + : e > 0 && + (l.start({ + type: "start", + alpha: (r = e), + }), + (t = Te(s.tick))), + s) + : r; + }), + (s.start = function () { + var t, + e, + r, + a = y.length, + l = m.length, + c = u[0], + d = u[1]; + for (t = 0; t < a; ++t) + ((r = y[t]).index = t), (r.weight = 0); + for (t = 0; t < l; ++t) + "number" == typeof (r = m[t]).source && + (r.source = y[r.source]), + "number" == typeof r.target && + (r.target = y[r.target]), + ++r.source.weight, + ++r.target.weight; + for (t = 0; t < a; ++t) + (r = y[t]), + isNaN(r.x) && (r.x = v("x", c)), + isNaN(r.y) && (r.y = v("y", d)), + isNaN(r.px) && (r.px = r.x), + isNaN(r.py) && (r.py = r.y); + if (((n = []), "function" == typeof f)) + for (t = 0; t < l; ++t) + n[t] = +f.call(this, m[t], t); + else for (t = 0; t < l; ++t) n[t] = f; + if (((i = []), "function" == typeof h)) + for (t = 0; t < l; ++t) + i[t] = +h.call(this, m[t], t); + else for (t = 0; t < l; ++t) i[t] = h; + if (((o = []), "function" == typeof p)) + for (t = 0; t < a; ++t) + o[t] = +p.call(this, y[t], t); + else for (t = 0; t < a; ++t) o[t] = p; + function v(r, n) { + if (!e) { + for (e = new Array(a), u = 0; u < a; ++u) + e[u] = []; + for (u = 0; u < l; ++u) { + var i = m[u]; + e[i.source.index].push(i.target), + e[i.target.index].push(i.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() * n; + } + return s.resume(); + }), + (s.resume = function () { + return s.alpha(0.1); + }), + (s.stop = function () { + return s.alpha(0); + }), + (s.drag = function () { + if ( + (e || + (e = a.behavior + .drag() + .origin(D) + .on("dragstart.force", Xr) + .on("drag.force", b) + .on("dragend.force", Jr)), + !arguments.length) + ) + return e; + this.on("mouseover.force", Kr) + .on("mouseout.force", $r) + .call(e); + }), + a.rebind(s, l, "on") + ); + }); + var tn = 20, + en = 1, + rn = 1 / 0; + function nn(t, e) { + return ( + a.rebind(t, e, "sort", "children", "value"), + (t.nodes = t), + (t.links = cn), + t + ); + } + function an(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 on(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 sn(t) { + return t.children; + } + function ln(t) { + return t.value; + } + function un(t, e) { + return e.value - t.value; + } + function cn(t) { + return a.merge( + t.map(function (t) { + return (t.children || []).map(function (e) { + return { source: t, target: e }; + }); + }), + ); + } + (a.layout.hierarchy = function () { + var t = un, + e = sn, + r = ln; + 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 ( + on(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 && + (an(t, function (t) { + t.children && (t.value = 0); + }), + on(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 + ); + }), + (a.layout.partition = function () { + var t = a.layout.hierarchy(), + e = [1, 1]; + function r(t, e, n, i) { + var a = t.children; + if ( + ((t.x = e), + (t.y = t.depth * i), + (t.dx = n), + (t.dy = i), + a && (o = a.length)) + ) { + var o, + s, + l, + u = -1; + for (n = t.value ? n / t.value : 0; ++u < o; ) + r((s = a[u]), e, (l = s.value * n), i), + (e += l); + } + } + function n(t) { + var e = t.children, + r = 0; + if (e && (i = e.length)) + for (var i, a = -1; ++a < i; ) + r = Math.max(r, n(e[a])); + return 1 + r; + } + function i(i, a) { + var o = t.call(this, i, a); + return r(o[0], 0, e[0], e[1] / n(o[0])), o; + } + return ( + (i.size = function (t) { + return arguments.length ? ((e = t), i) : e; + }), + nn(i, t) + ); + }), + (a.layout.pie = function () { + var t = Number, + e = fn, + r = 0, + n = Ct, + i = 0; + function o(s) { + var l, + u = s.length, + c = s.map(function (e, r) { + return +t.call(o, e, r); + }), + f = +("function" == typeof r + ? r.apply(this, arguments) + : r), + h = + ("function" == typeof n + ? n.apply(this, arguments) + : n) - f, + p = Math.min( + Math.abs(h) / u, + +("function" == typeof i + ? i.apply(this, arguments) + : i), + ), + d = p * (h < 0 ? -1 : 1), + v = a.sum(c), + g = v ? (h - u * d) / v : 0, + y = a.range(u), + m = []; + return ( + null != e && + y.sort( + e === fn + ? function (t, e) { + return c[e] - c[t]; + } + : function (t, r) { + return e(s[t], s[r]); + }, + ), + y.forEach(function (t) { + m[t] = { + data: s[t], + value: (l = c[t]), + startAngle: f, + endAngle: (f += l * g + d), + padAngle: p, + }; + }), + m + ); + } + return ( + (o.value = function (e) { + return arguments.length ? ((t = e), o) : t; + }), + (o.sort = function (t) { + return arguments.length ? ((e = t), o) : e; + }), + (o.startAngle = function (t) { + return arguments.length ? ((r = t), o) : r; + }), + (o.endAngle = function (t) { + return arguments.length ? ((n = t), o) : n; + }), + (o.padAngle = function (t) { + return arguments.length ? ((i = t), o) : i; + }), + o + ); + }); + var fn = {}; + function hn(t) { + return t.x; + } + function pn(t) { + return t.y; + } + function dn(t, e, r) { + (t.y0 = e), (t.y = r); + } + a.layout.stack = function () { + var t = D, + e = yn, + r = mn, + n = dn, + i = hn, + o = pn; + function s(l, u) { + if (!(p = l.length)) return l; + var c = l.map(function (e, r) { + return t.call(s, e, r); + }), + f = c.map(function (t) { + return t.map(function (t, e) { + return [i.call(s, t, e), o.call(s, t, e)]; + }); + }), + h = e.call(s, f, u); + (c = a.permute(c, h)), (f = a.permute(f, h)); + var p, + d, + v, + g, + y = r.call(s, f, u), + m = c[0].length; + for (v = 0; v < m; ++v) + for ( + n.call(s, c[0][v], (g = y[v]), f[0][v][1]), + d = 1; + d < p; + ++d + ) + n.call( + s, + c[d][v], + (g += f[d - 1][v][1]), + f[d][v][1], + ); + return l; + } + return ( + (s.values = function (e) { + return arguments.length ? ((t = e), s) : t; + }), + (s.order = function (t) { + return arguments.length + ? ((e = + "function" == typeof t + ? t + : vn.get(t) || yn), + s) + : e; + }), + (s.offset = function (t) { + return arguments.length + ? ((r = + "function" == typeof t + ? t + : gn.get(t) || mn), + s) + : r; + }), + (s.x = function (t) { + return arguments.length ? ((i = t), s) : i; + }), + (s.y = function (t) { + return arguments.length ? ((o = t), s) : o; + }), + (s.out = function (t) { + return arguments.length ? ((n = t), s) : n; + }), + s + ); + }; + var vn = a.map({ + "inside-out": function (t) { + var e, + r, + n = t.length, + i = t.map(xn), + o = t.map(bn), + s = a.range(n).sort(function (t, e) { + return i[t] - i[e]; + }), + l = 0, + u = 0, + c = [], + f = []; + for (e = 0; e < n; ++e) + (r = s[e]), + l < u + ? ((l += o[r]), c.push(r)) + : ((u += o[r]), f.push(r)); + return f.reverse().concat(c); + }, + reverse: function (t) { + return a.range(t.length).reverse(); + }, + default: yn, + }), + gn = a.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, + f = t[0], + h = f.length, + p = []; + for (p[0] = l = u = 0, r = 1; r < h; ++r) { + for (e = 0, i = 0; e < c; ++e) i += t[e][r][1]; + for ( + e = 0, a = 0, s = f[r][0] - f[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 < h; ++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: mn, + }); + function yn(t) { + return a.range(t.length); + } + function mn(t) { + for (var e = -1, r = t[0].length, n = []; ++e < r; ) + n[e] = 0; + return n; + } + function xn(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 bn(t) { + return t.reduce(_n, 0); + } + function _n(t, e) { + return t + e[1]; + } + function wn(t, e) { + return Tn( + t, + Math.ceil(Math.log(e.length) / Math.LN2 + 1), + ); + } + function Tn(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 kn(t) { + return [a.min(t), a.max(t)]; + } + function An(t, e) { + return t.value - e.value; + } + function Mn(t, e) { + var r = t._pack_next; + (t._pack_next = e), + (e._pack_prev = t), + (e._pack_next = r), + (r._pack_prev = e); + } + function Sn(t, e) { + (t._pack_next = e), (e._pack_prev = t); + } + function En(t, e) { + var r = e.x - t.x, + n = e.y - t.y, + i = t.r + e.r; + return 0.999 * i * i > r * r + n * n; + } + function Ln(t) { + if ((e = t.children) && (l = e.length)) { + var e, + r, + n, + i, + a, + o, + s, + l, + u = 1 / 0, + c = -1 / 0, + f = 1 / 0, + h = -1 / 0; + if ( + (e.forEach(Cn), + ((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 ( + In(r, n, (i = e[2])), + x(i), + Mn(r, i), + r._pack_prev = i, + Mn(i, n), + n = r._pack_next, + a = 3; + a < l; + a++ + ) { + In(r, n, (i = e[a])); + var p = 0, + d = 1, + v = 1; + for ( + o = n._pack_next; + o !== n; + o = o._pack_next, d++ + ) + if (En(o, i)) { + p = 1; + break; + } + if (1 == p) + for ( + s = r._pack_prev; + s !== o._pack_prev && !En(s, i); + s = s._pack_prev, v++ + ); + p + ? (d < v || (d == v && n.r < r.r) + ? Sn(r, (n = o)) + : Sn((r = s), n), + a--) + : (Mn(r, i), (n = i), x(i)); + } + var g = (u + c) / 2, + y = (f + h) / 2, + m = 0; + for (a = 0; a < l; a++) + ((i = e[a]).x -= g), + (i.y -= y), + (m = Math.max( + m, + i.r + Math.sqrt(i.x * i.x + i.y * i.y), + )); + (t.r = m), e.forEach(On); + } + function x(t) { + (u = Math.min(t.x - t.r, u)), + (c = Math.max(t.x + t.r, c)), + (f = Math.min(t.y - t.r, f)), + (h = Math.max(t.y + t.r, h)); + } + } + function Cn(t) { + t._pack_next = t._pack_prev = t; + } + function On(t) { + delete t._pack_next, delete t._pack_prev; + } + function Pn(t, e, r, n) { + var i = t.children; + if ( + ((t.x = e += n * t.x), + (t.y = r += n * t.y), + (t.r *= n), + i) + ) + for (var a = -1, o = i.length; ++a < o; ) + Pn(i[a], e, r, n); + } + function In(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 = 0.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 Dn(t, e) { + return t.parent == e.parent ? 1 : 2; + } + function zn(t) { + var e = t.children; + return e.length ? e[0] : t.t; + } + function Rn(t) { + var e, + r = t.children; + return (e = r.length) ? r[e - 1] : t.t; + } + function Fn(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 Bn(t, e, r) { + return t.a.parent === e.parent ? t.a : r; + } + function Nn(t) { + var e = t.children; + return e && e.length ? Nn(e[0]) : t; + } + function jn(t) { + var e, + r = t.children; + return r && (e = r.length) ? jn(r[e - 1]) : t; + } + function Un(t) { + return { x: t.x, y: t.y, dx: t.dx, dy: t.dy }; + } + function Vn(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 Hn(t) { + var e = t[0], + r = t[t.length - 1]; + return e < r ? [e, r] : [r, e]; + } + function qn(t) { + return t.rangeExtent + ? t.rangeExtent() + : Hn(t.range()); + } + function Gn(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 Zn(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 Wn(t) { + return t + ? { + floor: function (e) { + return Math.floor(e / t) * t; + }, + ceil: function (e) { + return Math.ceil(e / t) * t; + }, + } + : Yn; + } + (a.layout.histogram = function () { + var t = !0, + e = Number, + r = kn, + n = wn; + function i(i, o) { + for ( + var s, + l, + u = [], + c = i.map(e, this), + f = r.call(this, c, o), + h = n.call(this, f, c, o), + p = ((o = -1), c.length), + d = h.length - 1, + v = t ? 1 : 1 / p; + ++o < d; + + ) + ((s = u[o] = []).dx = h[o + 1] - (s.x = h[o])), + (s.y = 0); + if (d > 0) + for (o = -1; ++o < p; ) + (l = c[o]) >= f[0] && + l <= f[1] && + (((s = u[a.bisect(h, l, 1, d) - 1]).y += v), + s.push(i[o])); + return u; + } + return ( + (i.value = function (t) { + return arguments.length ? ((e = t), i) : e; + }), + (i.range = function (t) { + return arguments.length ? ((r = ve(t)), i) : r; + }), + (i.bins = function (t) { + return arguments.length + ? ((n = + "number" == typeof t + ? function (e) { + return Tn(e, t); + } + : ve(t)), + i) + : n; + }), + (i.frequency = function (e) { + return arguments.length ? ((t = !!e), i) : t; + }), + i + ); + }), + (a.layout.pack = function () { + var t, + e = a.layout.hierarchy().sort(An), + r = 0, + n = [1, 1]; + function i(i, a) { + var o = e.call(this, i, a), + s = o[0], + l = n[0], + u = n[1], + c = + null == t + ? Math.sqrt + : "function" == typeof t + ? t + : function () { + return t; + }; + if ( + ((s.x = s.y = 0), + on(s, function (t) { + t.r = +c(t.value); + }), + on(s, Ln), + r) + ) { + var f = + (r * + (t + ? 1 + : Math.max( + (2 * s.r) / l, + (2 * s.r) / u, + ))) / + 2; + on(s, function (t) { + t.r += f; + }), + on(s, Ln), + on(s, function (t) { + t.r -= f; + }); + } + return ( + Pn( + s, + l / 2, + u / 2, + t + ? 1 + : 1 / + Math.max((2 * s.r) / l, (2 * s.r) / u), + ), + o + ); + } + return ( + (i.size = function (t) { + return arguments.length ? ((n = t), i) : n; + }), + (i.radius = function (e) { + return arguments.length + ? ((t = + null == e || "function" == typeof e + ? e + : +e), + i) + : t; + }), + (i.padding = function (t) { + return arguments.length ? ((r = +t), i) : r; + }), + nn(i, e) + ); + }), + (a.layout.tree = function () { + var t = a.layout.hierarchy().sort(null).value(null), + e = Dn, + r = [1, 1], + n = null; + function i(i, a) { + var u = t.call(this, i, a), + c = u[0], + f = (function (t) { + for ( + var e, + r = { A: null, children: [t] }, + n = [r]; + null != (e = n.pop()); + + ) + for ( + var i, + a = e.children, + o = 0, + s = a.length; + o < s; + ++o + ) + n.push( + ((a[o] = i = + { + _: a[o], + parent: e, + children: + ((i = a[o].children) && + i.slice()) || + [], + A: null, + a: null, + z: 0, + m: 0, + c: 0, + s: 0, + t: null, + i: o, + }).a = i), + ); + return r.children[0]; + })(c); + if ((on(f, o), (f.parent.m = -f.z), an(f, s), n)) + an(c, l); + else { + var h = c, + p = c, + d = c; + an(c, function (t) { + t.x < h.x && (h = t), + t.x > p.x && (p = t), + t.depth > d.depth && (d = t); + }); + var v = e(h, p) / 2 - h.x, + g = r[0] / (p.x + e(p, h) / 2 + v), + y = r[1] / (d.depth || 1); + an(c, function (t) { + (t.x = (t.x + v) * g), (t.y = t.depth * y); + }); + } + return u; + } + function o(t) { + var r = t.children, + n = t.parent.children, + i = t.i ? n[t.i - 1] : null; + if (r.length) { + !(function (t) { + for ( + var e, + r = 0, + n = 0, + i = t.children, + a = i.length; + --a >= 0; + + ) + ((e = i[a]).z += r), + (e.m += r), + (r += e.s + (n += e.c)); + })(t); + var a = (r[0].z + r[r.length - 1].z) / 2; + i + ? ((t.z = i.z + e(t._, i._)), (t.m = t.z - a)) + : (t.z = a); + } else i && (t.z = i.z + e(t._, i._)); + t.parent.A = (function (t, r, n) { + if (r) { + for ( + var i, + a = t, + o = t, + s = r, + l = a.parent.children[0], + u = a.m, + c = o.m, + f = s.m, + h = l.m; + (s = Rn(s)), (a = zn(a)), s && a; + + ) + (l = zn(l)), + ((o = Rn(o)).a = t), + (i = s.z + f - a.z - u + e(s._, a._)) > + 0 && + (Fn(Bn(s, t, n), t, i), + (u += i), + (c += i)), + (f += s.m), + (u += a.m), + (h += l.m), + (c += o.m); + s && !Rn(o) && ((o.t = s), (o.m += f - c)), + a && + !zn(l) && + ((l.t = a), (l.m += u - h), (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 *= r[0]), (t.y = t.depth * r[1]); + } + return ( + (i.separation = function (t) { + return arguments.length ? ((e = t), i) : e; + }), + (i.size = function (t) { + return arguments.length + ? ((n = null == (r = t) ? l : null), i) + : n + ? null + : r; + }), + (i.nodeSize = function (t) { + return arguments.length + ? ((n = null == (r = t) ? null : l), i) + : n + ? r + : null; + }), + nn(i, t) + ); + }), + (a.layout.cluster = function () { + var t = a.layout.hierarchy().sort(null).value(null), + e = Dn, + r = [1, 1], + n = !1; + function i(i, o) { + var s, + l = t.call(this, i, o), + u = l[0], + c = 0; + on(u, function (t) { + var r = t.children; + r && r.length + ? ((t.x = (function (t) { + return ( + t.reduce(function (t, e) { + return t + e.x; + }, 0) / t.length + ); + })(r)), + (t.y = (function (t) { + return ( + 1 + + a.max(t, function (t) { + return t.y; + }) + ); + })(r))) + : ((t.x = s ? (c += e(t, s)) : 0), + (t.y = 0), + (s = t)); + }); + var f = Nn(u), + h = jn(u), + p = f.x - e(f, h) / 2, + d = h.x + e(h, f) / 2; + return ( + on( + u, + n + ? function (t) { + (t.x = (t.x - u.x) * r[0]), + (t.y = (u.y - t.y) * r[1]); + } + : function (t) { + (t.x = ((t.x - p) / (d - p)) * r[0]), + (t.y = + (1 - (u.y ? t.y / u.y : 1)) * r[1]); + }, + ), + l + ); + } + return ( + (i.separation = function (t) { + return arguments.length ? ((e = t), i) : e; + }), + (i.size = function (t) { + return arguments.length + ? ((n = null == (r = t)), i) + : n + ? null + : r; + }), + (i.nodeSize = function (t) { + return arguments.length + ? ((n = null != (r = t)), i) + : n + ? r + : null; + }), + nn(i, t) + ); + }), + (a.layout.treemap = function () { + var t, + e = a.layout.hierarchy(), + r = Math.round, + n = [1, 1], + i = null, + o = Un, + s = !1, + l = "squarify", + u = 0.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 f(t) { + var e = t.children; + if (e && e.length) { + var r, + n, + i, + a = o(t), + s = [], + u = e.slice(), + h = 1 / 0, + v = + "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, v)) <= h + ? (u.pop(), (h = n)) + : ((s.area -= s.pop().area), + d(s, v, a, !1), + (v = Math.min(a.dx, a.dy)), + (s.length = s.area = 0), + (h = 1 / 0)); + s.length && + (d(s, v, a, !0), (s.length = s.area = 0)), + e.forEach(f); + } + } + function h(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(h); + } + } + 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, n, i) { + var a, + o = -1, + s = t.length, + l = n.x, + u = n.y, + c = e ? r(t.area / e) : 0; + if (e == n.dx) { + for ((i || c > n.dy) && (c = n.dy); ++o < s; ) + ((a = t[o]).x = l), + (a.y = u), + (a.dy = c), + (l += a.dx = + Math.min( + n.x + n.dx - l, + c ? r(a.area / c) : 0, + )); + (a.z = !0), + (a.dx += n.x + n.dx - l), + (n.y += c), + (n.dy -= c); + } else { + for ((i || c > n.dx) && (c = n.dx); ++o < s; ) + ((a = t[o]).x = l), + (a.y = u), + (a.dx = c), + (u += a.dy = + Math.min( + n.y + n.dy - u, + c ? r(a.area / c) : 0, + )); + (a.z = !1), + (a.dy += n.y + n.dy - u), + (n.x += c), + (n.dx -= c); + } + } + function v(r) { + var i = t || e(r), + a = i[0]; + return ( + (a.x = a.y = 0), + a.value + ? ((a.dx = n[0]), (a.dy = n[1])) + : (a.dx = a.dy = 0), + t && e.revalue(a), + c([a], (a.dx * a.dy) / a.value), + (t ? h : f)(a), + s && (t = i), + i + ); + } + return ( + (v.size = function (t) { + return arguments.length ? ((n = t), v) : n; + }), + (v.padding = function (t) { + if (!arguments.length) return i; + function e(e) { + var r = t.call(v, e, e.depth); + return null == r + ? Un(e) + : Vn( + e, + "number" == typeof r ? [r, r, r, r] : r, + ); + } + function r(e) { + return Vn(e, t); + } + var n; + return ( + (o = + null == (i = t) + ? Un + : "function" == (n = typeof t) + ? e + : "number" === n + ? ((t = [t, t, t, t]), r) + : r), + v + ); + }), + (v.round = function (t) { + return arguments.length + ? ((r = t ? Math.round : Number), v) + : r != Number; + }), + (v.sticky = function (e) { + return arguments.length + ? ((s = e), (t = null), v) + : s; + }), + (v.ratio = function (t) { + return arguments.length ? ((u = t), v) : u; + }), + (v.mode = function (t) { + return arguments.length ? ((l = t + ""), v) : l; + }), + nn(v, e) + ); + }), + (a.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 t = a.random.normal.apply(a, arguments); + return function () { + return Math.exp(t()); + }; + }, + bates: function (t) { + var e = a.random.irwinHall(t); + return function () { + return e() / t; + }; + }, + irwinHall: function (t) { + return function () { + for (var e = 0, r = 0; r < t; r++) + e += Math.random(); + return e; + }; + }, + }), + (a.scale = {}); + var Yn = { floor: D, ceil: D }; + function Xn(t, e, r, n) { + var i = [], + o = [], + s = 0, + l = Math.min(t.length, e.length) - 1; + for ( + t[l] < t[0] && + ((t = t.slice().reverse()), + (e = e.slice().reverse())); + ++s <= l; + + ) + i.push(r(t[s - 1], t[s])), + o.push(n(e[s - 1], e[s])); + return function (e) { + var r = a.bisect(t, e, 1, l) - 1; + return o[r](i[r](e)); + }; + } + function Jn(t, e, r, n) { + var i, a; + function o() { + var o = Math.min(t.length, e.length) > 2 ? Xn : Gn, + l = n ? Zr : Gr; + return (i = o(t, e, l, r)), (a = o(e, t, l, Tr)), s; + } + function s(t) { + return i(t); + } + return ( + (s.invert = function (t) { + return a(t); + }), + (s.domain = function (e) { + return arguments.length + ? ((t = e.map(Number)), o()) + : t; + }), + (s.range = function (t) { + return arguments.length ? ((e = t), o()) : e; + }), + (s.rangeRound = function (t) { + return s.range(t).interpolate(Br); + }), + (s.clamp = function (t) { + return arguments.length ? ((n = t), o()) : n; + }), + (s.interpolate = function (t) { + return arguments.length ? ((r = t), o()) : r; + }), + (s.ticks = function (e) { + return ti(t, e); + }), + (s.tickFormat = function (e, r) { + return d3_scale_linearTickFormat(t, e, r); + }), + (s.nice = function (e) { + return $n(t, e), o(); + }), + (s.copy = function () { + return Jn(t, e, r, n); + }), + o() + ); + } + function Kn(t, e) { + return a.rebind( + t, + e, + "range", + "rangeRound", + "interpolate", + "clamp", + ); + } + function $n(t, e) { + return ( + Zn(t, Wn(Qn(t, e)[2])), Zn(t, Wn(Qn(t, e)[2])), t + ); + } + function Qn(t, e) { + null == e && (e = 10); + var r = Hn(t), + n = r[1] - r[0], + i = Math.pow( + 10, + Math.floor(Math.log(n / e) / Math.LN10), + ), + a = (e / n) * i; + return ( + a <= 0.15 + ? (i *= 10) + : a <= 0.35 + ? (i *= 5) + : a <= 0.75 && (i *= 2), + (r[0] = Math.ceil(r[0] / i) * i), + (r[1] = Math.floor(r[1] / i) * i + 0.5 * i), + (r[2] = i), + r + ); + } + function ti(t, e) { + return a.range.apply(a, Qn(t, e)); + } + function ei(t, e, r, n) { + function i(t) { + return ( + (r + ? Math.log(t < 0 ? 0 : t) + : -Math.log(t > 0 ? 0 : -t)) / Math.log(e) + ); + } + function a(t) { + return r ? Math.pow(e, t) : -Math.pow(e, -t); + } + function o(e) { + return t(i(e)); + } + return ( + (o.invert = function (e) { + return a(t.invert(e)); + }), + (o.domain = function (e) { + return arguments.length + ? ((r = e[0] >= 0), + t.domain((n = e.map(Number)).map(i)), + o) + : n; + }), + (o.base = function (r) { + return arguments.length + ? ((e = +r), t.domain(n.map(i)), o) + : e; + }), + (o.nice = function () { + var e = Zn(n.map(i), r ? Math : ri); + return t.domain(e), (n = e.map(a)), o; + }), + (o.ticks = function () { + var t = Hn(n), + o = [], + s = t[0], + l = t[1], + u = Math.floor(i(s)), + c = Math.ceil(i(l)), + f = e % 1 ? 2 : e; + if (isFinite(c - u)) { + if (r) { + for (; u < c; u++) + for (var h = 1; h < f; h++) + o.push(a(u) * h); + o.push(a(u)); + } else + for (o.push(a(u)); u++ < c; ) + for (h = f - 1; h > 0; h--) + o.push(a(u) * h); + for (u = 0; o[u] < s; u++); + for (c = o.length; o[c - 1] > l; c--); + o = o.slice(u, c); + } + return o; + }), + (o.copy = function () { + return ei(t.copy(), e, r, n); + }), + Kn(o, t) + ); + } + (a.scale.linear = function () { + return Jn([0, 1], [0, 1], Tr, !1); + }), + (a.scale.log = function () { + return ei( + a.scale.linear().domain([0, 1]), + 10, + !0, + [1, 10], + ); + }); + var ri = { + floor: function (t) { + return -Math.ceil(-t); + }, + ceil: function (t) { + return -Math.floor(-t); + }, + }; + function ni(t, e, r) { + var n = ii(e), + i = ii(1 / e); + function a(e) { + return t(n(e)); + } + return ( + (a.invert = function (e) { + return i(t.invert(e)); + }), + (a.domain = function (e) { + return arguments.length + ? (t.domain((r = e.map(Number)).map(n)), a) + : r; + }), + (a.ticks = function (t) { + return ti(r, t); + }), + (a.tickFormat = function (t, e) { + return d3_scale_linearTickFormat(r, t, e); + }), + (a.nice = function (t) { + return a.domain($n(r, t)); + }), + (a.exponent = function (o) { + return arguments.length + ? ((n = ii((e = o))), + (i = ii(1 / e)), + t.domain(r.map(n)), + a) + : e; + }), + (a.copy = function () { + return ni(t.copy(), e, r); + }), + Kn(a, t) + ); + } + function ii(t) { + return function (e) { + return e < 0 ? -Math.pow(-e, t) : Math.pow(e, t); + }; + } + function ai(t, e) { + var r, n, i; + function o(i) { + return n[ + ((r.get(i) || + ("range" === e.t ? r.set(i, t.push(i)) : NaN)) - + 1) % + n.length + ]; + } + function s(e, r) { + return a.range(t.length).map(function (t) { + return e + r * t; + }); + } + return ( + (o.domain = function (n) { + if (!arguments.length) return t; + (t = []), (r = new A()); + for (var i, a = -1, s = n.length; ++a < s; ) + r.has((i = n[a])) || r.set(i, t.push(i)); + return o[e.t].apply(o, e.a); + }), + (o.range = function (t) { + return arguments.length + ? ((n = t), + (i = 0), + (e = { t: "range", a: arguments }), + o) + : n; + }), + (o.rangePoints = function (r, a) { + arguments.length < 2 && (a = 0); + var l = r[0], + u = r[1], + c = + t.length < 2 + ? ((l = (l + u) / 2), 0) + : (u - l) / (t.length - 1 + a); + return ( + (n = s(l + (c * a) / 2, c)), + (i = 0), + (e = { t: "rangePoints", a: arguments }), + o + ); + }), + (o.rangeRoundPoints = function (r, a) { + arguments.length < 2 && (a = 0); + var l = r[0], + u = r[1], + c = + t.length < 2 + ? ((l = u = Math.round((l + u) / 2)), 0) + : ((u - l) / (t.length - 1 + a)) | 0; + return ( + (n = s( + l + + Math.round( + (c * a) / 2 + + (u - l - (t.length - 1 + a) * c) / 2, + ), + c, + )), + (i = 0), + (e = { t: "rangeRoundPoints", a: arguments }), + o + ); + }), + (o.rangeBands = function (r, a, l) { + arguments.length < 2 && (a = 0), + arguments.length < 3 && (l = a); + var u = r[1] < r[0], + c = r[u - 0], + f = r[1 - u], + h = (f - c) / (t.length - a + 2 * l); + return ( + (n = s(c + h * l, h)), + u && n.reverse(), + (i = h * (1 - a)), + (e = { t: "rangeBands", a: arguments }), + o + ); + }), + (o.rangeRoundBands = function (r, a, l) { + arguments.length < 2 && (a = 0), + arguments.length < 3 && (l = a); + var u = r[1] < r[0], + c = r[u - 0], + f = r[1 - u], + h = Math.floor( + (f - c) / (t.length - a + 2 * l), + ); + return ( + (n = s( + c + + Math.round( + (f - c - (t.length - a) * h) / 2, + ), + h, + )), + u && n.reverse(), + (i = Math.round(h * (1 - a))), + (e = { t: "rangeRoundBands", a: arguments }), + o + ); + }), + (o.rangeBand = function () { + return i; + }), + (o.rangeExtent = function () { + return Hn(e.a[0]); + }), + (o.copy = function () { + return ai(t, e); + }), + o.domain(t) + ); + } + (a.scale.pow = function () { + return ni(a.scale.linear(), 1, [0, 1]); + }), + (a.scale.sqrt = function () { + return a.scale.pow().exponent(0.5); + }), + (a.scale.ordinal = function () { + return ai([], { t: "range", a: [[]] }); + }), + (a.scale.category10 = function () { + return a.scale.ordinal().range(oi); + }), + (a.scale.category20 = function () { + return a.scale.ordinal().range(si); + }), + (a.scale.category20b = function () { + return a.scale.ordinal().range(li); + }), + (a.scale.category20c = function () { + return a.scale.ordinal().range(ui); + }); + var oi = [ + 2062260, 16744206, 2924588, 14034728, 9725885, + 9197131, 14907330, 8355711, 12369186, 1556175, + ].map(oe), + si = [ + 2062260, 11454440, 16744206, 16759672, 2924588, + 10018698, 14034728, 16750742, 9725885, 12955861, + 9197131, 12885140, 14907330, 16234194, 8355711, + 13092807, 12369186, 14408589, 1556175, 10410725, + ].map(oe), + li = [ + 3750777, 5395619, 7040719, 10264286, 6519097, + 9216594, 11915115, 13556636, 9202993, 12426809, + 15186514, 15190932, 8666169, 11356490, 14049643, + 15177372, 8077683, 10834324, 13528509, 14589654, + ].map(oe), + ui = [ + 3244733, 7057110, 10406625, 13032431, 15095053, + 16616764, 16625259, 16634018, 3253076, 7652470, + 10607003, 13101504, 7695281, 10394312, 12369372, + 14342891, 6513507, 9868950, 12434877, 14277081, + ].map(oe); + function ci(t, e) { + var r; + function n() { + var n = 0, + o = e.length; + for (r = []; ++n < o; ) + r[n - 1] = a.quantile(t, n / o); + return i; + } + function i(t) { + if (!isNaN((t = +t))) return e[a.bisect(r, t)]; + } + return ( + (i.domain = function (e) { + return arguments.length + ? ((t = e.map(y).filter(m).sort(g)), n()) + : t; + }), + (i.range = function (t) { + return arguments.length ? ((e = t), n()) : e; + }), + (i.quantiles = function () { + return r; + }), + (i.invertExtent = function (n) { + return (n = e.indexOf(n)) < 0 + ? [NaN, NaN] + : [ + n > 0 ? r[n - 1] : t[0], + n < r.length ? r[n] : t[t.length - 1], + ]; + }), + (i.copy = function () { + return ci(t, e); + }), + n() + ); + } + function fi(t, e, r) { + var n, i; + function a(e) { + return r[ + Math.max(0, Math.min(i, Math.floor(n * (e - t)))) + ]; + } + function o() { + return ( + (n = r.length / (e - t)), (i = r.length - 1), a + ); + } + return ( + (a.domain = function (r) { + return arguments.length + ? ((t = +r[0]), (e = +r[r.length - 1]), o()) + : [t, e]; + }), + (a.range = function (t) { + return arguments.length ? ((r = t), o()) : r; + }), + (a.invertExtent = function (e) { + return [ + (e = (e = r.indexOf(e)) < 0 ? NaN : e / n + t), + e + 1 / n, + ]; + }), + (a.copy = function () { + return fi(t, e, r); + }), + o() + ); + } + function hi(t, e) { + function r(r) { + if (r <= r) return e[a.bisect(t, r)]; + } + return ( + (r.domain = function (e) { + return arguments.length ? ((t = e), r) : t; + }), + (r.range = function (t) { + return arguments.length ? ((e = t), r) : e; + }), + (r.invertExtent = function (r) { + return (r = e.indexOf(r)), [t[r - 1], t[r]]; + }), + (r.copy = function () { + return hi(t, e); + }), + r + ); + } + function pi(t) { + function e(t) { + return +t; + } + return ( + (e.invert = e), + (e.domain = e.range = + function (r) { + return arguments.length + ? ((t = r.map(e)), e) + : t; + }), + (e.ticks = function (e) { + return ti(t, e); + }), + (e.tickFormat = function (e, r) { + return d3_scale_linearTickFormat(t, e, r); + }), + (e.copy = function () { + return pi(t); + }), + e + ); + } + function di() { + return 0; + } + (a.scale.quantile = function () { + return ci([], []); + }), + (a.scale.quantize = function () { + return fi(0, 1, [0, 1]); + }), + (a.scale.threshold = function () { + return hi([0.5], [0, 1]); + }), + (a.scale.identity = function () { + return pi([0, 1]); + }), + (a.svg = {}), + (a.svg.arc = function () { + var t = gi, + e = yi, + r = di, + n = vi, + i = mi, + a = xi, + o = bi; + function s() { + var s = Math.max(0, +t.apply(this, arguments)), + u = Math.max(0, +e.apply(this, arguments)), + c = i.apply(this, arguments) - Pt, + f = a.apply(this, arguments) - Pt, + h = Math.abs(f - c), + p = c > f ? 0 : 1; + if ( + (u < s && ((d = u), (u = s), (s = d)), h >= Ot) + ) + return l(u, p) + (s ? l(s, 1 - p) : "") + "Z"; + var d, + v, + g, + y, + m, + x, + b, + _, + w, + T, + k, + A, + M = 0, + S = 0, + E = []; + if ( + ((y = (+o.apply(this, arguments) || 0) / 2) && + ((g = + n === vi + ? Math.sqrt(s * s + u * u) + : +n.apply(this, arguments)), + p || (S *= -1), + u && (S = zt((g / u) * Math.sin(y))), + s && (M = zt((g / s) * Math.sin(y)))), + u) + ) { + (m = u * Math.cos(c + S)), + (x = u * Math.sin(c + S)), + (b = u * Math.cos(f - S)), + (_ = u * Math.sin(f - S)); + var L = Math.abs(f - c - 2 * S) <= Lt ? 0 : 1; + if (S && (_i(m, x, b, _) === p) ^ L) { + var C = (c + f) / 2; + (m = u * Math.cos(C)), + (x = u * Math.sin(C)), + (b = _ = null); + } + } else m = x = 0; + if (s) { + (w = s * Math.cos(f - M)), + (T = s * Math.sin(f - M)), + (k = s * Math.cos(c + M)), + (A = s * Math.sin(c + M)); + var O = Math.abs(c - f + 2 * M) <= Lt ? 0 : 1; + if (M && (_i(w, T, k, A) === 1 - p) ^ O) { + var P = (c + f) / 2; + (w = s * Math.cos(P)), + (T = s * Math.sin(P)), + (k = A = null); + } + } else w = T = 0; + if ( + h > Et && + (d = Math.min( + Math.abs(u - s) / 2, + +r.apply(this, arguments), + )) > 0.001 + ) { + v = (s < u) ^ p ? 0 : 1; + var I = d, + D = d; + if (h < Lt) { + var z = + null == k + ? [w, T] + : null == b + ? [m, x] + : Ie([m, x], [k, A], [b, _], [w, T]), + R = m - z[0], + F = x - z[1], + B = b - z[0], + N = _ - z[1], + j = + 1 / + Math.sin( + Math.acos( + (R * B + F * N) / + (Math.sqrt(R * R + F * F) * + Math.sqrt(B * B + N * N)), + ) / 2, + ), + U = Math.sqrt(z[0] * z[0] + z[1] * z[1]); + (D = Math.min(d, (s - U) / (j - 1))), + (I = Math.min(d, (u - U) / (j + 1))); + } + if (null != b) { + var V = wi( + null == k ? [w, T] : [k, A], + [m, x], + u, + I, + p, + ), + H = wi([b, _], [w, T], u, I, p); + d === I + ? E.push( + "M", + V[0], + "A", + I, + ",", + I, + " 0 0,", + v, + " ", + V[1], + "A", + u, + ",", + u, + " 0 ", + (1 - p) ^ + _i( + V[1][0], + V[1][1], + H[1][0], + H[1][1], + ), + ",", + p, + " ", + H[1], + "A", + I, + ",", + I, + " 0 0,", + v, + " ", + H[0], + ) + : E.push( + "M", + V[0], + "A", + I, + ",", + I, + " 0 1,", + v, + " ", + H[0], + ); + } else E.push("M", m, ",", x); + if (null != k) { + var q = wi([m, x], [k, A], s, -D, p), + G = wi( + [w, T], + null == b ? [m, x] : [b, _], + s, + -D, + p, + ); + d === D + ? E.push( + "L", + G[0], + "A", + D, + ",", + D, + " 0 0,", + v, + " ", + G[1], + "A", + s, + ",", + s, + " 0 ", + p ^ + _i( + G[1][0], + G[1][1], + q[1][0], + q[1][1], + ), + ",", + 1 - p, + " ", + q[1], + "A", + D, + ",", + D, + " 0 0,", + v, + " ", + q[0], + ) + : E.push( + "L", + G[0], + "A", + D, + ",", + D, + " 0 0,", + v, + " ", + q[0], + ); + } else E.push("L", w, ",", T); + } else + E.push("M", m, ",", x), + null != b && + E.push( + "A", + u, + ",", + u, + " 0 ", + L, + ",", + p, + " ", + b, + ",", + _, + ), + E.push("L", w, ",", T), + null != k && + E.push( + "A", + s, + ",", + s, + " 0 ", + O, + ",", + 1 - p, + " ", + k, + ",", + A, + ); + 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 == vi ? vi : 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 - + Pt; + return [Math.cos(n) * r, Math.sin(n) * r]; + }), + s + ); + }); + var vi = "auto"; + function gi(t) { + return t.innerRadius; + } + function yi(t) { + return t.outerRadius; + } + function mi(t) { + return t.startAngle; + } + function xi(t) { + return t.endAngle; + } + function bi(t) { + return t && t.padAngle; + } + function _i(t, e, r, n) { + return (t - r) * e - (e - n) * t > 0 ? 0 : 1; + } + function wi(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, + f = t[1] + u, + h = e[0] + l, + p = e[1] + u, + d = (c + h) / 2, + v = (f + p) / 2, + g = h - c, + y = p - f, + m = g * g + y * y, + x = r - n, + b = c * p - h * f, + _ = + (y < 0 ? -1 : 1) * + Math.sqrt(Math.max(0, x * x * m - b * b)), + w = (b * y - g * _) / m, + T = (-b * g - y * _) / m, + k = (b * y + g * _) / m, + A = (-b * g + y * _) / m, + M = w - d, + S = T - v, + E = k - d, + L = A - v; + return ( + M * M + S * S > E * E + L * L && ((w = k), (T = A)), + [ + [w - l, T - u], + [(w * r) / x, (T * r) / x], + ] + ); + } + function Ti() { + return !0; + } + function ki(t) { + var e = Se, + r = Ee, + n = Ti, + i = Mi, + a = i.key, + o = 0.7; + function s(a) { + var s, + l = [], + u = [], + c = -1, + f = a.length, + h = ve(e), + p = ve(r); + function d() { + l.push("M", i(t(u), o)); + } + for (; ++c < f; ) + n.call(this, (s = a[c]), c) + ? u.push([ + +h.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 = Ai.get(t) || Mi).key), + s) + : a; + }), + (s.tension = function (t) { + return arguments.length ? ((o = t), s) : o; + }), + s + ); + } + a.svg.line = function () { + return ki(D); + }; + var Ai = a.map({ + linear: Mi, + "linear-closed": Si, + step: function (t) { + for ( + var e = 0, + r = t.length, + n = t[0], + i = [n[0], ",", n[1]]; + ++e < r; + + ) + i.push( + "H", + (n[0] + (n = t[e])[0]) / 2, + "V", + n[1], + ); + return r > 1 && i.push("H", n[0]), i.join(""); + }, + "step-before": Ei, + "step-after": Li, + basis: Pi, + "basis-open": function (t) { + if (t.length < 4) return Mi(t); + for ( + var e, + r = [], + n = -1, + i = t.length, + a = [0], + o = [0]; + ++n < 3; + + ) + (e = t[n]), a.push(e[0]), o.push(e[1]); + for ( + r.push(Ii(Ri, a) + "," + Ii(Ri, o)), --n; + ++n < i; + + ) + (e = t[n]), + a.shift(), + a.push(e[0]), + o.shift(), + o.push(e[1]), + Fi(r, a, o); + return r.join(""); + }, + "basis-closed": function (t) { + for ( + var e, + r, + n = -1, + i = t.length, + a = i + 4, + o = [], + s = []; + ++n < 4; + + ) + (r = t[n % i]), o.push(r[0]), s.push(r[1]); + for ( + e = [Ii(Ri, o), ",", Ii(Ri, s)], --n; + ++n < a; + + ) + (r = t[n % i]), + o.shift(), + o.push(r[0]), + s.shift(), + s.push(r[1]), + Fi(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; + + ) + (i = u / r), + ((n = t[u])[0] = + e * n[0] + (1 - e) * (a + i * s)), + (n[1] = e * n[1] + (1 - e) * (o + i * l)); + return Pi(t); + }, + cardinal: function (t, e) { + return t.length < 3 + ? Mi(t) + : t[0] + Ci(t, Oi(t, e)); + }, + "cardinal-open": function (t, e) { + return t.length < 4 + ? Mi(t) + : t[1] + Ci(t.slice(1, -1), Oi(t, e)); + }, + "cardinal-closed": function (t, e) { + return t.length < 3 + ? Si(t) + : t[0] + + Ci( + (t.push(t[0]), t), + Oi([t[t.length - 2]].concat(t, [t[1]]), e), + ); + }, + monotone: function (t) { + return t.length < 3 + ? Mi(t) + : t[0] + + Ci( + t, + (function (t) { + for ( + var e, + r, + n, + i, + a = [], + o = (function (t) { + for ( + var e = 0, + r = t.length - 1, + n = [], + i = t[0], + a = t[1], + o = (n[0] = Bi(i, a)); + ++e < r; + + ) + n[e] = + (o + + (o = Bi( + (i = a), + (a = t[e + 1]), + ))) / + 2; + return (n[e] = o), n; + })(t), + s = -1, + l = t.length - 1; + ++s < l; + + ) + (e = Bi(t[s], t[s + 1])), + w(e) < Et + ? (o[s] = o[s + 1] = 0) + : (i = + (r = o[s] / e) * r + + (n = o[s + 1] / e) * n) > 9 && + ((i = (3 * e) / Math.sqrt(i)), + (o[s] = i * r), + (o[s + 1] = i * n)); + for (s = -1; ++s <= l; ) + (i = + (t[Math.min(l, s + 1)][0] - + t[Math.max(0, s - 1)][0]) / + (6 * (1 + o[s] * o[s]))), + a.push([i || 0, o[s] * i || 0]); + return a; + })(t), + ); + }, + }); + function Mi(t) { + return t.length > 1 ? t.join("L") : t + "Z"; + } + function Si(t) { + return t.join("L") + "Z"; + } + function Ei(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 Li(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 Ci(t, e) { + if ( + e.length < 1 || + (t.length != e.length && t.length != e.length + 2) + ) + return Mi(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 Oi(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 Pi(t) { + if (t.length < 3) return Mi(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", Ii(Ri, o), ",", Ii(Ri, s)]; + for (t.push(t[r - 1]); ++e <= r; ) + (n = t[e]), + o.shift(), + o.push(n[0]), + s.shift(), + s.push(n[1]), + Fi(l, o, s); + return t.pop(), l.push("L", n), l.join(""); + } + function Ii(t, e) { + return ( + t[0] * e[0] + + t[1] * e[1] + + t[2] * e[2] + + t[3] * e[3] + ); + } + Ai.forEach(function (t, e) { + (e.key = t), (e.closed = /-closed$/.test(t)); + }); + var Di = [0, 2 / 3, 1 / 3, 0], + zi = [0, 1 / 3, 2 / 3, 0], + Ri = [0, 1 / 6, 2 / 3, 1 / 6]; + function Fi(t, e, r) { + t.push( + "C", + Ii(Di, e), + ",", + Ii(Di, r), + ",", + Ii(zi, e), + ",", + Ii(zi, r), + ",", + Ii(Ri, e), + ",", + Ii(Ri, r), + ); + } + function Bi(t, e) { + return (e[1] - t[1]) / (e[0] - t[0]); + } + function Ni(t) { + for (var e, r, n, i = -1, a = t.length; ++i < a; ) + (r = (e = t[i])[0]), + (n = e[1] - Pt), + (e[0] = r * Math.cos(n)), + (e[1] = r * Math.sin(n)); + return t; + } + function ji(t) { + var e = Se, + r = Se, + n = 0, + i = Ee, + a = Ti, + o = Mi, + s = o.key, + l = o, + u = "L", + c = 0.7; + function f(s) { + var f, + h, + p, + d = [], + v = [], + g = [], + y = -1, + m = s.length, + x = ve(e), + b = ve(n), + _ = + e === r + ? function () { + return h; + } + : ve(r), + w = + n === i + ? function () { + return p; + } + : ve(i); + function T() { + d.push( + "M", + o(t(g), c), + u, + l(t(v.reverse()), c), + "Z", + ); + } + for (; ++y < m; ) + a.call(this, (f = s[y]), y) + ? (v.push([ + (h = +x.call(this, f, y)), + (p = +b.call(this, f, y)), + ]), + g.push([ + +_.call(this, f, y), + +w.call(this, f, y), + ])) + : v.length && (T(), (v = []), (g = [])); + return ( + v.length && T(), d.length ? d.join("") : null + ); + } + return ( + (f.x = function (t) { + return arguments.length ? ((e = r = t), f) : r; + }), + (f.x0 = function (t) { + return arguments.length ? ((e = t), f) : e; + }), + (f.x1 = function (t) { + return arguments.length ? ((r = t), f) : r; + }), + (f.y = function (t) { + return arguments.length ? ((n = i = t), f) : i; + }), + (f.y0 = function (t) { + return arguments.length ? ((n = t), f) : n; + }), + (f.y1 = function (t) { + return arguments.length ? ((i = t), f) : i; + }), + (f.defined = function (t) { + return arguments.length ? ((a = t), f) : a; + }), + (f.interpolate = function (t) { + return arguments.length + ? ((s = + "function" == typeof t + ? (o = t) + : (o = Ai.get(t) || Mi).key), + (l = o.reverse || o), + (u = o.closed ? "M" : "L"), + f) + : s; + }), + (f.tension = function (t) { + return arguments.length ? ((c = t), f) : c; + }), + f + ); + } + function Ui(t) { + return t.source; + } + function Vi(t) { + return t.target; + } + function Hi(t) { + return t.radius; + } + function qi(t) { + return [t.x, t.y]; + } + function Gi(t) { + return function () { + var e = t.apply(this, arguments), + r = e[0], + n = e[1] - Pt; + return [r * Math.cos(n), r * Math.sin(n)]; + }; + } + function Zi() { + return 64; + } + function Wi() { + return "circle"; + } + function Yi(t) { + var e = Math.sqrt(t / Lt); + return ( + "M0," + + e + + "A" + + e + + "," + + e + + " 0 1,1 0," + + -e + + "A" + + e + + "," + + e + + " 0 1,1 0," + + e + + "Z" + ); + } + (a.svg.line.radial = function () { + var t = ki(Ni); + return ( + (t.radius = t.x), + delete t.x, + (t.angle = t.y), + delete t.y, + t + ); + }), + (Ei.reverse = Li), + (Li.reverse = Ei), + (a.svg.area = function () { + return ji(D); + }), + (a.svg.area.radial = function () { + var t = ji(Ni); + 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 + ); + }), + (a.svg.chord = function () { + var t = Ui, + e = Vi, + r = Hi, + n = mi, + i = xi; + 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) - Pt, + c = i.call(t, s, o) - Pt; + 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 > Lt) + + ",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 + ); + }), + (a.svg.diagonal = function () { + var t = Ui, + e = Vi, + r = qi; + 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 + ); + }), + (a.svg.diagonal.radial = function () { + var t = a.svg.diagonal(), + e = qi, + r = t.projection; + return ( + (t.projection = function (t) { + return arguments.length ? r(Gi((e = t))) : e; + }), + t + ); + }), + (a.svg.symbol = function () { + var t = Wi, + e = Zi; + function r(r, n) { + return (Xi.get(t.call(this, r, n)) || Yi)( + 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 Xi = a.map({ + circle: Yi, + 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 * Ki)), + r = e * Ki; + 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 / Ji), + r = (e * Ji) / 2; + return ( + "M0," + + r + + "L" + + e + + "," + + -r + + " " + + -e + + "," + + -r + + "Z" + ); + }, + "triangle-up": function (t) { + var e = Math.sqrt(t / Ji), + r = (e * Ji) / 2; + return ( + "M0," + + -r + + "L" + + e + + "," + + r + + " " + + -e + + "," + + r + + "Z" + ); + }, + }); + a.svg.symbolTypes = Xi.keys(); + var Ji = Math.sqrt(3), + Ki = Math.tan(30 * It); + (J.transition = function (t) { + for ( + var e, + r, + n = ea || ++ia, + i = sa(t), + a = [], + o = ra || { + time: Date.now(), + ease: Ir, + delay: 0, + duration: 250, + }, + s = -1, + l = this.length; + ++s < l; + + ) { + a.push((e = [])); + for ( + var u = this[s], c = -1, f = u.length; + ++c < f; + + ) + (r = u[c]) && la(r, c, i, n, o), e.push(r); + } + return ta(a, i, n); + }), + (J.interrupt = function (t) { + return this.each(null == t ? $i : Qi(sa(t))); + }); + var $i = Qi(sa()); + function Qi(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 += 0.5), + n.event && + n.event.interrupt.call( + this, + this.__data__, + n.index, + )); + }; + } + function ta(t, e, r) { + return G(t, na), (t.namespace = e), (t.id = r), t; + } + var ea, + ra, + na = [], + ia = 0; + function aa(t, e, r, n) { + var i = t.id, + a = t.namespace; + return dt( + 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 oa(t) { + return ( + null == t && (t = ""), + function () { + this.textContent = t; + } + ); + } + function sa(t) { + return null == t + ? "__transition__" + : "__transition_" + t + "__"; + } + function la(t, e, r, n, i) { + var a, + o, + s, + l, + u, + c = t[r] || (t[r] = { active: 0, count: 0 }), + f = c[n]; + function h(r) { + var i = c.active, + h = c[i]; + for (var d in (h && + ((h.timer.c = null), + (h.timer.t = NaN), + --c.count, + delete c[i], + h.event && + h.event.interrupt.call(t, t.__data__, h.index)), + c)) + if (+d < n) { + var v = c[d]; + (v.timer.c = null), + (v.timer.t = NaN), + --c.count, + delete c[d]; + } + (o.c = p), + Te( + function () { + return ( + o.c && + p(r || 1) && + ((o.c = null), (o.t = NaN)), + 1 + ); + }, + 0, + a, + ), + (c.active = n), + f.event && f.event.start.call(t, t.__data__, e), + (u = []), + f.tween.forEach(function (r, n) { + (n = n.call(t, t.__data__, e)) && u.push(n); + }), + (l = f.ease), + (s = f.duration); + } + function p(i) { + for (var a = i / s, o = l(a), h = u.length; h > 0; ) + u[--h].call(t, o); + if (a >= 1) + return ( + f.event && f.event.end.call(t, t.__data__, e), + --c.count ? delete c[n] : delete t[r], + 1 + ); + } + f || + ((a = i.time), + (o = Te( + function (t) { + var e = f.delay; + if (((o.t = e + a), e <= t)) return h(t - e); + o.c = h; + }, + 0, + a, + )), + (f = c[n] = + { + tween: new A(), + time: a, + timer: o, + delay: i.delay, + duration: i.duration, + ease: i.ease, + index: e, + }), + (i = null), + ++c.count); + } + (na.call = J.call), + (na.empty = J.empty), + (na.node = J.node), + (na.size = J.size), + (a.transition = function (t, e) { + return t && t.transition + ? ea + ? t.transition(e) + : t + : a.selection().transition(t); + }), + (a.transition.prototype = na), + (na.select = function (t) { + var e, + r, + n, + i = this.id, + a = this.namespace, + o = []; + t = K(t); + for (var s = -1, l = this.length; ++s < l; ) { + o.push((e = [])); + for ( + var u = this[s], c = -1, f = u.length; + ++c < f; + + ) + (n = u[c]) && (r = t.call(n, n.__data__, c, s)) + ? ("__data__" in n && + (r.__data__ = n.__data__), + la(r, c, a, i, n[a][i]), + e.push(r)) + : e.push(null); + } + return ta(o, a, i); + }), + (na.selectAll = function (t) { + var e, + r, + n, + i, + a, + o = this.id, + s = this.namespace, + l = []; + t = $(t); + for (var u = -1, c = this.length; ++u < c; ) + for ( + var f = this[u], h = -1, p = f.length; + ++h < p; + + ) + if ((n = f[h])) { + (a = n[s][o]), + (r = t.call(n, n.__data__, h, u)), + l.push((e = [])); + for (var d = -1, v = r.length; ++d < v; ) + (i = r[d]) && la(i, d, s, o, a), e.push(i); + } + return ta(l, s, o); + }), + (na.filter = function (t) { + var e, + r, + n = []; + "function" != typeof t && (t = ht(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 ta(n, this.namespace, this.id); + }), + (na.tween = function (t, e) { + var r = this.id, + n = this.namespace; + return arguments.length < 2 + ? this.node()[n][r].tween.get(t) + : dt( + this, + null == e + ? function (e) { + e[n][r].tween.remove(t); + } + : function (i) { + i[n][r].tween.set(t, e); + }, + ); + }), + (na.attr = function (t, e) { + if (arguments.length < 2) { + for (e in t) this.attr(e, t[e]); + return this; + } + var r = "transform" == t ? qr : Tr, + n = a.ns.qualify(t); + function i() { + this.removeAttribute(n); + } + function o() { + this.removeAttributeNS(n.space, n.local); + } + function s(t) { + return null == t + ? i + : ((t += ""), + function () { + var e, + i = this.getAttribute(n); + return ( + i !== t && + ((e = r(i, t)), + function (t) { + this.setAttribute(n, e(t)); + }) + ); + }); + } + function l(t) { + return null == t + ? o + : ((t += ""), + function () { + var e, + i = this.getAttributeNS(n.space, n.local); + return ( + i !== t && + ((e = r(i, t)), + function (t) { + this.setAttributeNS( + n.space, + n.local, + e(t), + ); + }) + ); + }); + } + return aa(this, "attr." + t, e, n.local ? l : s); + }), + (na.attrTween = function (t, e) { + var r = a.ns.qualify(t); + return this.tween( + "attr." + t, + r.local + ? function (t, n) { + var i = e.call( + this, + t, + n, + this.getAttributeNS(r.space, r.local), + ); + return ( + i && + function (t) { + this.setAttributeNS( + r.space, + r.local, + i(t), + ); + } + ); + } + : function (t, n) { + var i = e.call( + this, + t, + n, + this.getAttribute(r), + ); + return ( + i && + function (t) { + this.setAttribute(r, i(t)); + } + ); + }, + ); + }), + (na.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); + } + function a(e) { + return null == e + ? i + : ((e += ""), + function () { + var n, + i = c(this) + .getComputedStyle(this, null) + .getPropertyValue(t); + return ( + i !== e && + ((n = Tr(i, e)), + function (e) { + this.style.setProperty(t, n(e), r); + }) + ); + }); + } + return aa(this, "style." + t, e, a); + }), + (na.styleTween = function (t, e, r) { + function n(n, i) { + var a = e.call( + this, + n, + i, + c(this) + .getComputedStyle(this, null) + .getPropertyValue(t), + ); + return ( + a && + function (e) { + this.style.setProperty(t, a(e), r); + } + ); + } + return ( + arguments.length < 3 && (r = ""), + this.tween("style." + t, n) + ); + }), + (na.text = function (t) { + return aa(this, "text", t, oa); + }), + (na.remove = function () { + var t = this.namespace; + return this.each("end.transition", function () { + var e; + this[t].count < 2 && + (e = this.parentNode) && + e.removeChild(this); + }); + }), + (na.ease = function (t) { + var e = this.id, + r = this.namespace; + return arguments.length < 1 + ? this.node()[r][e].ease + : ("function" != typeof t && + (t = a.ease.apply(a, arguments)), + dt(this, function (n) { + n[r][e].ease = t; + })); + }), + (na.delay = function (t) { + var e = this.id, + r = this.namespace; + return arguments.length < 1 + ? this.node()[r][e].delay + : dt( + 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; + }), + ); + }), + (na.duration = function (t) { + var e = this.id, + r = this.namespace; + return arguments.length < 1 + ? this.node()[r][e].duration + : dt( + 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; + }), + ); + }), + (na.each = function (t, e) { + var r = this.id, + n = this.namespace; + if (arguments.length < 2) { + var i = ra, + o = ea; + try { + (ea = r), + dt(this, function (e, i, a) { + (ra = e[n][r]), t.call(e, e.__data__, i, a); + }); + } finally { + (ra = i), (ea = o); + } + } else + dt(this, function (i) { + var o = i[n][r]; + ( + o.event || + (o.event = a.dispatch( + "start", + "end", + "interrupt", + )) + ).on(t, e); + }); + return this; + }), + (na.transition = function () { + for ( + var t, + e, + r, + n = this.id, + i = ++ia, + a = this.namespace, + o = [], + s = 0, + l = this.length; + s < l; + s++ + ) { + o.push((t = [])); + for ( + var u, c = 0, f = (u = this[s]).length; + c < f; + c++ + ) + (e = u[c]) && + la(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 ta(o, a, i); + }), + (a.svg.axis = function () { + var t, + e = a.scale.linear(), + r = ua, + n = 6, + i = 6, + o = 3, + l = [10], + u = null; + function c(s) { + s.each(function () { + var s, + c = a.select(this), + f = this.__chart__ || e, + h = (this.__chart__ = e.copy()), + p = + null == u + ? h.ticks + ? h.ticks.apply(h, l) + : h.domain() + : u, + d = + null == t + ? h.tickFormat + ? h.tickFormat.apply(h, l) + : D + : t, + v = c.selectAll(".tick").data(p, h), + g = v + .enter() + .insert("g", ".domain") + .attr("class", "tick") + .style("opacity", Et), + y = a + .transition(v.exit()) + .style("opacity", Et) + .remove(), + m = a + .transition(v.order()) + .style("opacity", 1), + x = Math.max(n, 0) + o, + b = qn(h), + _ = c.selectAll(".domain").data([0]), + w = + (_.enter() + .append("path") + .attr("class", "domain"), + a.transition(_)); + g.append("line"), g.append("text"); + var T, + k, + A, + M, + S = g.select("line"), + E = m.select("line"), + L = v.select("text").text(d), + C = g.select("text"), + O = m.select("text"), + P = "top" === r || "left" === r ? -1 : 1; + if ( + ("bottom" === r || "top" === r + ? ((s = fa), + (T = "x"), + (A = "y"), + (k = "x2"), + (M = "y2"), + L.attr( + "dy", + P < 0 ? "0em" : ".71em", + ).style("text-anchor", "middle"), + w.attr( + "d", + "M" + + b[0] + + "," + + P * i + + "V0H" + + b[1] + + "V" + + P * i, + )) + : ((s = ha), + (T = "y"), + (A = "x"), + (k = "y2"), + (M = "x2"), + L.attr("dy", ".32em").style( + "text-anchor", + P < 0 ? "end" : "start", + ), + w.attr( + "d", + "M" + + P * i + + "," + + b[0] + + "H0V" + + b[1] + + "H" + + P * i, + )), + S.attr(M, P * n), + C.attr(A, P * x), + E.attr(k, 0).attr(M, P * n), + O.attr(T, 0).attr(A, P * x), + h.rangeBand) + ) { + var I = h, + z = I.rangeBand() / 2; + f = h = function (t) { + return I(t) + z; + }; + } else f.rangeBand ? (f = h) : y.call(s, h, f); + g.call(s, f, h), m.call(s, h, h); + }); + } + return ( + (c.scale = function (t) { + return arguments.length ? ((e = t), c) : e; + }), + (c.orient = function (t) { + return arguments.length + ? ((r = t in ca ? t + "" : ua), c) + : r; + }), + (c.ticks = function () { + return arguments.length + ? ((l = s(arguments)), c) + : l; + }), + (c.tickValues = function (t) { + return arguments.length ? ((u = t), c) : u; + }), + (c.tickFormat = function (e) { + return arguments.length ? ((t = e), c) : t; + }), + (c.tickSize = function (t) { + var e = arguments.length; + return e + ? ((n = +t), (i = +arguments[e - 1]), c) + : n; + }), + (c.innerTickSize = function (t) { + return arguments.length ? ((n = +t), c) : n; + }), + (c.outerTickSize = function (t) { + return arguments.length ? ((i = +t), c) : i; + }), + (c.tickPadding = function (t) { + return arguments.length ? ((o = +t), c) : o; + }), + (c.tickSubdivide = function () { + return arguments.length && c; + }), + c + ); + }); + var ua = "bottom", + ca = { top: 1, right: 1, bottom: 1, left: 1 }; + function fa(t, e, r) { + t.attr("transform", function (t) { + var n = e(t); + return ( + "translate(" + (isFinite(n) ? n : r(t)) + ",0)" + ); + }); + } + function ha(t, e, r) { + t.attr("transform", function (t) { + var n = e(t); + return ( + "translate(0," + (isFinite(n) ? n : r(t)) + ")" + ); + }); + } + a.svg.brush = function () { + var t, + e, + r = H(h, "brushstart", "brush", "brushend"), + n = null, + i = null, + o = [0, 0], + s = [0, 0], + l = !0, + u = !0, + f = da[0]; + function h(t) { + t.each(function () { + var t = a + .select(this) + .style("pointer-events", "all") + .style( + "-webkit-tap-highlight-color", + "rgba(0,0,0,0)", + ) + .on("mousedown.brush", g) + .on("touchstart.brush", g), + e = t.selectAll(".background").data([0]); + e + .enter() + .append("rect") + .attr("class", "background") + .style("visibility", "hidden") + .style("cursor", "crosshair"), + t + .selectAll(".extent") + .data([0]) + .enter() + .append("rect") + .attr("class", "extent") + .style("cursor", "move"); + var r = t.selectAll(".resize").data(f, D); + r.exit().remove(), + r + .enter() + .append("g") + .attr("class", function (t) { + return "resize " + t; + }) + .style("cursor", function (t) { + return pa[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"), + r.style("display", h.empty() ? "none" : null); + var o, + s = a.transition(t), + l = a.transition(e); + n && + ((o = qn(n)), + l.attr("x", o[0]).attr("width", o[1] - o[0]), + d(s)), + i && + ((o = qn(i)), + l.attr("y", o[0]).attr("height", o[1] - o[0]), + v(s)), + p(s); + }); + } + function p(t) { + t.selectAll(".resize").attr( + "transform", + function (t) { + return ( + "translate(" + + o[+/e$/.test(t)] + + "," + + s[+/^s/.test(t)] + + ")" + ); + }, + ); + } + function d(t) { + t.select(".extent").attr("x", o[0]), + t + .selectAll(".extent,.n>rect,.s>rect") + .attr("width", o[1] - o[0]); + } + function v(t) { + t.select(".extent").attr("y", s[0]), + t + .selectAll(".extent,.e>rect,.w>rect") + .attr("height", s[1] - s[0]); + } + function g() { + var f, + g, + y = this, + m = a.select(a.event.target), + x = r.of(y, arguments), + b = a.select(y), + _ = m.datum(), + w = !/^(n|s)$/.test(_) && n, + T = !/^(e|w)$/.test(_) && i, + k = m.classed("extent"), + A = kt(y), + M = a.mouse(y), + S = a + .select(c(y)) + .on("keydown.brush", C) + .on("keyup.brush", O); + if ( + (a.event.changedTouches + ? S.on("touchmove.brush", P).on( + "touchend.brush", + D, + ) + : S.on("mousemove.brush", P).on( + "mouseup.brush", + D, + ), + b.interrupt().selectAll("*").interrupt(), + k) + ) + (M[0] = o[0] - M[0]), (M[1] = s[0] - M[1]); + else if (_) { + var E = +/w$/.test(_), + L = +/^n/.test(_); + (g = [o[1 - E] - M[0], s[1 - L] - M[1]]), + (M[0] = o[E]), + (M[1] = s[L]); + } else a.event.altKey && (f = M.slice()); + function C() { + 32 == a.event.keyCode && + (k || + ((f = null), + (M[0] -= o[1]), + (M[1] -= s[1]), + (k = 2)), + U()); + } + function O() { + 32 == a.event.keyCode && + 2 == k && + ((M[0] += o[1]), (M[1] += s[1]), (k = 0), U()); + } + function P() { + var t = a.mouse(y), + e = !1; + g && ((t[0] += g[0]), (t[1] += g[1])), + k || + (a.event.altKey + ? (f || + (f = [ + (o[0] + o[1]) / 2, + (s[0] + s[1]) / 2, + ]), + (M[0] = o[+(t[0] < f[0])]), + (M[1] = s[+(t[1] < f[1])])) + : (f = null)), + w && I(t, n, 0) && (d(b), (e = !0)), + T && I(t, i, 1) && (v(b), (e = !0)), + e && + (p(b), + x({ + type: "brush", + mode: k ? "move" : "resize", + })); + } + function I(r, n, i) { + var a, + c, + h = qn(n), + p = h[0], + d = h[1], + v = M[i], + g = i ? s : o, + y = g[1] - g[0]; + if ( + (k && ((p -= v), (d -= y + v)), + (a = (i ? u : l) + ? Math.max(p, Math.min(d, r[i])) + : r[i]), + k + ? (c = (a += v) + y) + : (f && + (v = Math.max( + p, + Math.min(d, 2 * f[i] - a), + )), + v < a ? ((c = a), (a = v)) : (c = v)), + g[0] != a || g[1] != c) + ) + return ( + i ? (e = null) : (t = null), + (g[0] = a), + (g[1] = c), + !0 + ); + } + function D() { + P(), + b + .style("pointer-events", "all") + .selectAll(".resize") + .style("display", h.empty() ? "none" : null), + a.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), + A(), + x({ type: "brushend" }); + } + b + .style("pointer-events", "none") + .selectAll(".resize") + .style("display", null), + a + .select("body") + .style("cursor", m.style("cursor")), + x({ type: "brushstart" }), + P(); + } + return ( + (h.event = function (n) { + n.each(function () { + var n = r.of(this, arguments), + i = { x: o, y: s, i: t, j: e }, + l = this.__chart__ || i; + (this.__chart__ = i), + ea + ? a + .select(this) + .transition() + .each("start.brush", function () { + (t = l.i), + (e = l.j), + (o = l.x), + (s = l.y), + n({ type: "brushstart" }); + }) + .tween("brush:brush", function () { + var r = kr(o, i.x), + a = kr(s, i.y); + return ( + (t = e = null), + function (t) { + (o = i.x = r(t)), + (s = i.y = a(t)), + n({ + type: "brush", + mode: "resize", + }); + } + ); + }) + .each("end.brush", function () { + (t = i.i), + (e = i.j), + n({ + type: "brush", + mode: "resize", + }), + n({ type: "brushend" }); + }) + : (n({ type: "brushstart" }), + n({ type: "brush", mode: "resize" }), + n({ type: "brushend" })); + }); + }), + (h.x = function (t) { + return arguments.length + ? ((f = da[(!(n = t) << 1) | !i]), h) + : n; + }), + (h.y = function (t) { + return arguments.length + ? ((f = da[(!n << 1) | !(i = t)]), h) + : i; + }), + (h.clamp = function (t) { + return arguments.length + ? (n && i + ? ((l = !!t[0]), (u = !!t[1])) + : n + ? (l = !!t) + : i && (u = !!t), + h) + : n && i + ? [l, u] + : n + ? l + : i + ? u + : null; + }), + (h.extent = function (r) { + var a, l, u, c, f; + return arguments.length + ? (n && + ((a = r[0]), + (l = r[1]), + i && ((a = a[0]), (l = l[0])), + (t = [a, l]), + n.invert && ((a = n(a)), (l = n(l))), + l < a && ((f = a), (a = l), (l = f)), + (a == o[0] && l == o[1]) || (o = [a, l])), + i && + ((u = r[0]), + (c = r[1]), + n && ((u = u[1]), (c = c[1])), + (e = [u, c]), + i.invert && ((u = i(u)), (c = i(c))), + c < u && ((f = u), (u = c), (c = f)), + (u == s[0] && c == s[1]) || (s = [u, c])), + h) + : (n && + (t + ? ((a = t[0]), (l = t[1])) + : ((a = o[0]), + (l = o[1]), + n.invert && + ((a = n.invert(a)), + (l = n.invert(l))), + l < a && ((f = a), (a = l), (l = f)))), + i && + (e + ? ((u = e[0]), (c = e[1])) + : ((u = s[0]), + (c = s[1]), + i.invert && + ((u = i.invert(u)), + (c = i.invert(c))), + c < u && ((f = u), (u = c), (c = f)))), + n && i + ? [ + [a, u], + [l, c], + ] + : n + ? [a, l] + : i && [u, c]); + }), + (h.clear = function () { + return ( + h.empty() || + ((o = [0, 0]), (s = [0, 0]), (t = e = null)), + h + ); + }), + (h.empty = function () { + return ( + (!!n && o[0] == o[1]) || (!!i && s[0] == s[1]) + ); + }), + a.rebind(h, r, "on") + ); + }; + var pa = { + n: "ns-resize", + e: "ew-resize", + s: "ns-resize", + w: "ew-resize", + nw: "nwse-resize", + ne: "nesw-resize", + se: "nwse-resize", + sw: "nesw-resize", + }, + da = [ + ["n", "e", "s", "w", "nw", "ne", "se", "sw"], + ["e", "w"], + ["n", "s"], + [], + ]; + function va(t) { + return JSON.parse(t.responseText); + } + function ga(t) { + var e = l.createRange(); + return ( + e.selectNode(l.body), + e.createContextualFragment(t.responseText) + ); + } + (a.text = ge(function (t) { + return t.responseText; + })), + (a.json = function (t, e) { + return ye(t, "application/json", va, e); + }), + (a.html = function (t, e) { + return ye(t, "text/html", ga, e); + }), + (a.xml = ge(function (t) { + return t.responseXML; + })), + void 0 === + (i = + "function" == typeof (n = a) + ? n.call(e, r, e, t) + : n) || (t.exports = i); + }).apply(self); + }, + 88294: function (t, e, r) { + "use strict"; + t.exports = r(62849); + }, + 62849: function (t, e, r) { + "use strict"; + var n = r(91358), + i = r(53435), + a = r(18863), + o = r(21527), + s = r(71299), + l = r(46775), + u = r(30120), + c = r(64941), + f = r(90660), + h = r(27084); + function p(t, e) { + for ( + var r = e[0], + n = e[1], + a = 1 / (e[2] - r), + o = 1 / (e[3] - n), + s = new Array(t.length), + l = 0, + u = t.length / 2; + l < u; + l++ + ) + (s[2 * l] = i((t[2 * l] - r) * a, 0, 1)), + (s[2 * l + 1] = i((t[2 * l + 1] - n) * o, 0, 1)); + return s; + } + t.exports = function (t, e) { + e || (e = {}), + (t = u(t, "float64")), + (e = s(e, { + bounds: "range bounds dataBox databox", + maxDepth: + "depth maxDepth maxdepth level maxLevel maxlevel levels", + dtype: + "type dtype format out dst output destination", + })); + var r = l(e.maxDepth, 255), + i = l(e.bounds, o(t, 2)); + i[0] === i[2] && i[2]++, i[1] === i[3] && i[3]++; + var d, + v = p(t, i), + g = t.length >>> 1; + e.dtype || (e.dtype = "array"), + "string" == typeof e.dtype + ? (d = new (f(e.dtype))(g)) + : e.dtype && + ((d = e.dtype), + Array.isArray(d) && (d.length = g)); + for (var y = 0; y < g; ++y) d[y] = y; + var m = [], + x = [], + b = [], + _ = []; + !(function t(e, n, i, a, o, s) { + if (!a.length) return null; + var l = m[o] || (m[o] = []), + u = b[o] || (b[o] = []), + c = x[o] || (x[o] = []), + f = l.length; + if (++o > r || s > 1073741824) { + for (var h = 0; h < a.length; h++) + l.push(a[h]), + u.push(s), + c.push(null, null, null, null); + return f; + } + if ((l.push(a[0]), u.push(s), a.length <= 1)) + return c.push(null, null, null, null), f; + for ( + var p = 0.5 * i, + d = e + p, + g = n + p, + y = [], + _ = [], + w = [], + T = [], + k = 1, + A = a.length; + k < A; + k++ + ) { + var M = a[k], + S = v[2 * M], + E = v[2 * M + 1]; + S < d + ? E < g + ? y.push(M) + : _.push(M) + : E < g + ? w.push(M) + : T.push(M); + } + return ( + (s <<= 2), + c.push( + t(e, n, p, y, o, s), + t(e, g, p, _, o, s + 1), + t(d, n, p, w, o, s + 2), + t(d, g, p, T, o, s + 3), + ), + f + ); + })(0, 0, 1, d, 0, 1); + for (var w = 0, T = 0; T < m.length; T++) { + var k = m[T]; + if (d.set) d.set(k, w); + else + for (var A = 0, M = k.length; A < M; A++) + d[A + w] = k[A]; + var S = w + m[T].length; + (_[T] = [w, S]), (w = S); + } + return ( + (d.range = function () { + for (var e, r = [], n = arguments.length; n--; ) + r[n] = arguments[n]; + if (c(r[r.length - 1])) { + var o = r.pop(); + r.length || + (null == o.x && + null == o.l && + null == o.left) || + ((r = [o]), (e = {})), + (e = s(o, { + level: "level maxLevel", + d: "d diam diameter r radius px pxSize pixel pixelSize maxD size minSize", + lod: "lod details ranges offsets", + })); + } else e = {}; + r.length || (r = i); + var u, + f = a.apply(void 0, r), + d = [ + Math.min(f.x, f.x + f.width), + Math.min(f.y, f.y + f.height), + Math.max(f.x, f.x + f.width), + Math.max(f.y, f.y + f.height), + ], + v = d[0], + g = d[1], + y = d[2], + b = d[3], + _ = p([v, g, y, b], i), + w = _[0], + T = _[1], + k = _[2], + A = _[3], + M = l(e.level, m.length); + if ( + (null != e.d && + ("number" == typeof e.d + ? (u = [e.d, e.d]) + : e.d.length && (u = e.d), + (M = Math.min( + Math.max( + Math.ceil( + -h(Math.abs(u[0]) / (i[2] - i[0])), + ), + Math.ceil( + -h(Math.abs(u[1]) / (i[3] - i[1])), + ), + ), + M, + ))), + (M = Math.min(M, m.length)), + e.lod) + ) + return E(w, T, k, A, M); + var S = []; + function L(e, r, n, i, a, o) { + if ( + null !== a && + null !== o && + !( + w > e + n || + T > r + n || + k < e || + A < r || + i >= M || + a === o + ) + ) { + var s = m[i]; + void 0 === o && (o = s.length); + for (var l = a; l < o; l++) { + var u = s[l], + c = t[2 * u], + f = t[2 * u + 1]; + c >= v && + c <= y && + f >= g && + f <= b && + S.push(u); + } + var h = x[i], + p = h[4 * a + 0], + d = h[4 * a + 1], + _ = h[4 * a + 2], + E = h[4 * a + 3], + O = C(h, a + 1), + P = 0.5 * n, + I = i + 1; + L(e, r, P, I, p, d || _ || E || O), + L(e, r + P, P, I, d, _ || E || O), + L(e + P, r, P, I, _, E || O), + L(e + P, r + P, P, I, E, O); + } + } + function C(t, e) { + for (var r = null, n = 0; null === r; ) + if (((r = t[4 * e + n]), ++n > t.length)) + return null; + return r; + } + return L(0, 0, 1, 0, 0, 1), S; + }), + d + ); + function E(t, e, r, i, a) { + for (var o = [], s = 0; s < a; s++) { + var l = b[s], + u = _[s][0], + c = L(t, e, s), + f = L(r, i, s), + h = n.ge(l, c), + p = n.gt(l, f, h, l.length - 1); + o[s] = [h + u, p + u]; + } + return o; + } + function L(t, e, r) { + for ( + var n = 1, i = 0.5, a = 0.5, o = 0.5, s = 0; + s < r; + s++ + ) + (n <<= 2), + (n += t < i ? (e < a ? 0 : 1) : e < a ? 2 : 3), + (o *= 0.5), + (i += t < i ? -o : o), + (a += e < a ? -o : o); + return n; + } + }; + }, + 30774: function (t, e, r) { + "use strict"; + Object.defineProperty(e, "__esModule", { value: !0 }); + var n = r(60302), + i = 6378137; + function a(t) { + var e = 0; + if (t && t.length > 0) { + e += Math.abs(o(t[0])); + for (var r = 1; r < t.length; r++) + e -= Math.abs(o(t[r])); + } + return e; + } + function o(t) { + var e, + r, + n, + a, + o, + l, + u = 0, + c = t.length; + if (c > 2) { + for (l = 0; l < c; l++) + l === c - 2 + ? ((n = c - 2), (a = c - 1), (o = 0)) + : l === c - 1 + ? ((n = c - 1), (a = 0), (o = 1)) + : ((n = l), (a = l + 1), (o = l + 2)), + (e = t[n]), + (r = t[a]), + (u += (s(t[o][0]) - s(e[0])) * Math.sin(s(r[1]))); + u = (u * i * i) / 2; + } + return u; + } + function s(t) { + return (t * Math.PI) / 180; + } + e.default = function (t) { + return n.geomReduce( + t, + function (t, e) { + return ( + t + + (function (t) { + var e, + r = 0; + switch (t.type) { + case "Polygon": + return a(t.coordinates); + case "MultiPolygon": + for (e = 0; e < t.coordinates.length; e++) + r += a(t.coordinates[e]); + return r; + case "Point": + case "MultiPoint": + case "LineString": + case "MultiLineString": + return 0; + } + return 0; + })(e) + ); + }, + 0, + ); + }; + }, + 23132: function (t, e) { + "use strict"; + function r(t, e, r) { + void 0 === r && (r = {}); + var n = { type: "Feature" }; + return ( + (0 === r.id || r.id) && (n.id = r.id), + r.bbox && (n.bbox = r.bbox), + (n.properties = e || {}), + (n.geometry = t), + n + ); + } + function n(t, e, n) { + if ((void 0 === n && (n = {}), !t)) + throw new Error("coordinates is required"); + if (!Array.isArray(t)) + throw new Error("coordinates must be an Array"); + if (t.length < 2) + throw new Error( + "coordinates must be at least 2 numbers long", + ); + if (!p(t[0]) || !p(t[1])) + throw new Error("coordinates must contain numbers"); + return r({ type: "Point", coordinates: t }, e, n); + } + function i(t, e, n) { + void 0 === n && (n = {}); + for (var i = 0, a = t; i < a.length; i++) { + var o = a[i]; + if (o.length < 4) + throw new Error( + "Each LinearRing of a Polygon must have 4 or more Positions.", + ); + for (var s = 0; s < o[o.length - 1].length; s++) + if (o[o.length - 1][s] !== o[0][s]) + throw new Error( + "First and last Position are not equivalent.", + ); + } + return r({ type: "Polygon", coordinates: t }, e, n); + } + function a(t, e, n) { + if ((void 0 === n && (n = {}), t.length < 2)) + throw new Error( + "coordinates must be an array of two or more positions", + ); + return r({ type: "LineString", coordinates: t }, e, n); + } + function o(t, e) { + void 0 === e && (e = {}); + var r = { type: "FeatureCollection" }; + return ( + e.id && (r.id = e.id), + e.bbox && (r.bbox = e.bbox), + (r.features = t), + r + ); + } + function s(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "MultiLineString", coordinates: t }, e, n) + ); + } + function l(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "MultiPoint", coordinates: t }, e, n) + ); + } + function u(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "MultiPolygon", coordinates: t }, e, n) + ); + } + function c(t, r) { + void 0 === r && (r = "kilometers"); + var n = e.factors[r]; + if (!n) throw new Error(r + " units is invalid"); + return t * n; + } + function f(t, r) { + void 0 === r && (r = "kilometers"); + var n = e.factors[r]; + if (!n) throw new Error(r + " units is invalid"); + return t / n; + } + function h(t) { + return ((t % (2 * Math.PI)) * 180) / Math.PI; + } + function p(t) { + return !isNaN(t) && null !== t && !Array.isArray(t); + } + Object.defineProperty(e, "__esModule", { value: !0 }), + (e.earthRadius = 6371008.8), + (e.factors = { + centimeters: 100 * e.earthRadius, + centimetres: 100 * e.earthRadius, + degrees: e.earthRadius / 111325, + feet: 3.28084 * e.earthRadius, + inches: 39.37 * e.earthRadius, + kilometers: e.earthRadius / 1e3, + kilometres: e.earthRadius / 1e3, + meters: e.earthRadius, + metres: e.earthRadius, + miles: e.earthRadius / 1609.344, + millimeters: 1e3 * e.earthRadius, + millimetres: 1e3 * e.earthRadius, + nauticalmiles: e.earthRadius / 1852, + radians: 1, + yards: 1.0936 * e.earthRadius, + }), + (e.unitsFactors = { + centimeters: 100, + centimetres: 100, + degrees: 1 / 111325, + feet: 3.28084, + inches: 39.37, + kilometers: 0.001, + kilometres: 0.001, + meters: 1, + metres: 1, + miles: 1 / 1609.344, + millimeters: 1e3, + millimetres: 1e3, + nauticalmiles: 1 / 1852, + radians: 1 / e.earthRadius, + yards: 1.0936133, + }), + (e.areaFactors = { + acres: 247105e-9, + centimeters: 1e4, + centimetres: 1e4, + feet: 10.763910417, + hectares: 1e-4, + inches: 1550.003100006, + kilometers: 1e-6, + kilometres: 1e-6, + meters: 1, + metres: 1, + miles: 386e-9, + millimeters: 1e6, + millimetres: 1e6, + yards: 1.195990046, + }), + (e.feature = r), + (e.geometry = function (t, e, r) { + switch ((void 0 === r && (r = {}), t)) { + case "Point": + return n(e).geometry; + case "LineString": + return a(e).geometry; + case "Polygon": + return i(e).geometry; + case "MultiPoint": + return l(e).geometry; + case "MultiLineString": + return s(e).geometry; + case "MultiPolygon": + return u(e).geometry; + default: + throw new Error(t + " is invalid"); + } + }), + (e.point = n), + (e.points = function (t, e, r) { + return ( + void 0 === r && (r = {}), + o( + t.map(function (t) { + return n(t, e); + }), + r, + ) + ); + }), + (e.polygon = i), + (e.polygons = function (t, e, r) { + return ( + void 0 === r && (r = {}), + o( + t.map(function (t) { + return i(t, e); + }), + r, + ) + ); + }), + (e.lineString = a), + (e.lineStrings = function (t, e, r) { + return ( + void 0 === r && (r = {}), + o( + t.map(function (t) { + return a(t, e); + }), + r, + ) + ); + }), + (e.featureCollection = o), + (e.multiLineString = s), + (e.multiPoint = l), + (e.multiPolygon = u), + (e.geometryCollection = function (t, e, n) { + return ( + void 0 === n && (n = {}), + r( + { type: "GeometryCollection", geometries: t }, + e, + n, + ) + ); + }), + (e.round = function (t, e) { + if ((void 0 === e && (e = 0), e && !(e >= 0))) + throw new Error( + "precision must be a positive number", + ); + var r = Math.pow(10, e || 0); + return Math.round(t * r) / r; + }), + (e.radiansToLength = c), + (e.lengthToRadians = f), + (e.lengthToDegrees = function (t, e) { + return h(f(t, e)); + }), + (e.bearingToAzimuth = function (t) { + var e = t % 360; + return e < 0 && (e += 360), e; + }), + (e.radiansToDegrees = h), + (e.degreesToRadians = function (t) { + return ((t % 360) * Math.PI) / 180; + }), + (e.convertLength = function (t, e, r) { + if ( + (void 0 === e && (e = "kilometers"), + void 0 === r && (r = "kilometers"), + !(t >= 0)) + ) + throw new Error("length must be a positive number"); + return c(f(t, e), r); + }), + (e.convertArea = function (t, r, n) { + if ( + (void 0 === r && (r = "meters"), + void 0 === n && (n = "kilometers"), + !(t >= 0)) + ) + throw new Error("area must be a positive number"); + var i = e.areaFactors[r]; + if (!i) throw new Error("invalid original units"); + var a = e.areaFactors[n]; + if (!a) throw new Error("invalid final units"); + return (t / i) * a; + }), + (e.isNumber = p), + (e.isObject = function (t) { + return !!t && t.constructor === Object; + }), + (e.validateBBox = function (t) { + if (!t) throw new Error("bbox is required"); + if (!Array.isArray(t)) + throw new Error("bbox must be an Array"); + if (4 !== t.length && 6 !== t.length) + throw new Error( + "bbox must be an Array of 4 or 6 numbers", + ); + t.forEach(function (t) { + if (!p(t)) + throw new Error("bbox must only contain numbers"); + }); + }), + (e.validateId = function (t) { + if (!t) throw new Error("id is required"); + if (-1 === ["string", "number"].indexOf(typeof t)) + throw new Error("id must be a number or a string"); + }); + }, + 60302: function (t, e, r) { + "use strict"; + Object.defineProperty(e, "__esModule", { value: !0 }); + var n = r(23132); + function i(t, e, r) { + if (null !== t) + for ( + var n, + a, + o, + s, + l, + u, + c, + f, + h = 0, + p = 0, + d = t.type, + v = "FeatureCollection" === d, + g = "Feature" === d, + y = v ? t.features.length : 1, + m = 0; + m < y; + m++ + ) { + l = (f = + !!(c = v + ? t.features[m].geometry + : g + ? t.geometry + : t) && "GeometryCollection" === c.type) + ? c.geometries.length + : 1; + for (var x = 0; x < l; x++) { + var b = 0, + _ = 0; + if (null !== (s = f ? c.geometries[x] : c)) { + u = s.coordinates; + var w = s.type; + switch ( + ((h = + !r || + ("Polygon" !== w && "MultiPolygon" !== w) + ? 0 + : 1), + w) + ) { + case null: + break; + case "Point": + if (!1 === e(u, p, m, b, _)) return !1; + p++, b++; + break; + case "LineString": + case "MultiPoint": + for (n = 0; n < u.length; n++) { + if (!1 === e(u[n], p, m, b, _)) return !1; + p++, "MultiPoint" === w && b++; + } + "LineString" === w && b++; + break; + case "Polygon": + case "MultiLineString": + for (n = 0; n < u.length; n++) { + for (a = 0; a < u[n].length - h; a++) { + if (!1 === e(u[n][a], p, m, b, _)) + return !1; + p++; + } + "MultiLineString" === w && b++, + "Polygon" === w && _++; + } + "Polygon" === w && b++; + break; + case "MultiPolygon": + for (n = 0; n < u.length; n++) { + for (_ = 0, a = 0; a < u[n].length; a++) { + for ( + o = 0; + o < u[n][a].length - h; + o++ + ) { + if (!1 === e(u[n][a][o], p, m, b, _)) + return !1; + p++; + } + _++; + } + b++; + } + break; + case "GeometryCollection": + for (n = 0; n < s.geometries.length; n++) + if (!1 === i(s.geometries[n], e, r)) + return !1; + break; + default: + throw new Error("Unknown Geometry Type"); + } + } + } + } + } + function a(t, e) { + var r; + switch (t.type) { + case "FeatureCollection": + for ( + r = 0; + r < t.features.length && + !1 !== e(t.features[r].properties, r); + r++ + ); + break; + case "Feature": + e(t.properties, 0); + } + } + function o(t, e) { + if ("Feature" === t.type) e(t, 0); + else if ("FeatureCollection" === t.type) + for ( + var r = 0; + r < t.features.length && !1 !== e(t.features[r], r); + r++ + ); + } + function s(t, e) { + var r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h = 0, + p = "FeatureCollection" === t.type, + d = "Feature" === t.type, + v = p ? t.features.length : 1; + for (r = 0; r < v; r++) { + for ( + s = p ? t.features[r].geometry : d ? t.geometry : t, + u = p + ? t.features[r].properties + : d + ? t.properties + : {}, + c = p ? t.features[r].bbox : d ? t.bbox : void 0, + f = p ? t.features[r].id : d ? t.id : void 0, + o = (l = !!s && "GeometryCollection" === s.type) + ? s.geometries.length + : 1, + i = 0; + i < o; + i++ + ) + if (null !== (a = l ? s.geometries[i] : s)) + switch (a.type) { + case "Point": + case "LineString": + case "MultiPoint": + case "Polygon": + case "MultiLineString": + case "MultiPolygon": + if (!1 === e(a, h, u, c, f)) return !1; + break; + case "GeometryCollection": + for (n = 0; n < a.geometries.length; n++) + if (!1 === e(a.geometries[n], h, u, c, f)) + return !1; + break; + default: + throw new Error("Unknown Geometry Type"); + } + else if (!1 === e(null, h, u, c, f)) return !1; + h++; + } + } + function l(t, e) { + s(t, function (t, r, i, a, o) { + var s, + l = null === t ? null : t.type; + switch (l) { + case null: + case "Point": + case "LineString": + case "Polygon": + return ( + !1 !== + e( + n.feature(t, i, { bbox: a, id: o }), + r, + 0, + ) && void 0 + ); + } + switch (l) { + case "MultiPoint": + s = "Point"; + break; + case "MultiLineString": + s = "LineString"; + break; + case "MultiPolygon": + s = "Polygon"; + } + for (var u = 0; u < t.coordinates.length; u++) { + var c = { type: s, coordinates: t.coordinates[u] }; + if (!1 === e(n.feature(c, i), r, u)) return !1; + } + }); + } + function u(t, e) { + l(t, function (t, r, a) { + var o = 0; + if (t.geometry) { + var s = t.geometry.type; + if ("Point" !== s && "MultiPoint" !== s) { + var l, + u = 0, + c = 0, + f = 0; + return ( + !1 !== + i(t, function (i, s, h, p, d) { + if (void 0 === l || r > u || p > c || d > f) + return ( + (l = i), + (u = r), + (c = p), + (f = d), + void (o = 0) + ); + var v = n.lineString([l, i], t.properties); + if (!1 === e(v, r, a, d, o)) return !1; + o++, (l = i); + }) && void 0 + ); + } + } + }); + } + function c(t, e) { + if (!t) throw new Error("geojson is required"); + l(t, function (t, r, i) { + if (null !== t.geometry) { + var a = t.geometry.type, + o = t.geometry.coordinates; + switch (a) { + case "LineString": + if (!1 === e(t, r, i, 0, 0)) return !1; + break; + case "Polygon": + for (var s = 0; s < o.length; s++) + if ( + !1 === + e(n.lineString(o[s], t.properties), r, i, s) + ) + return !1; + } + } + }); + } + (e.coordEach = i), + (e.coordReduce = function (t, e, r, n) { + var a = r; + return ( + i( + t, + function (t, n, i, o, s) { + a = + 0 === n && void 0 === r + ? t + : e(a, t, n, i, o, s); + }, + n, + ), + a + ); + }), + (e.propEach = a), + (e.propReduce = function (t, e, r) { + var n = r; + return ( + a(t, function (t, i) { + n = 0 === i && void 0 === r ? t : e(n, t, i); + }), + n + ); + }), + (e.featureEach = o), + (e.featureReduce = function (t, e, r) { + var n = r; + return ( + o(t, function (t, i) { + n = 0 === i && void 0 === r ? t : e(n, t, i); + }), + n + ); + }), + (e.coordAll = function (t) { + var e = []; + return ( + i(t, function (t) { + e.push(t); + }), + e + ); + }), + (e.geomEach = s), + (e.geomReduce = function (t, e, r) { + var n = r; + return ( + s(t, function (t, i, a, o, s) { + n = + 0 === i && void 0 === r + ? t + : e(n, t, i, a, o, s); + }), + n + ); + }), + (e.flattenEach = l), + (e.flattenReduce = function (t, e, r) { + var n = r; + return ( + l(t, function (t, i, a) { + n = + 0 === i && 0 === a && void 0 === r + ? t + : e(n, t, i, a); + }), + n + ); + }), + (e.segmentEach = u), + (e.segmentReduce = function (t, e, r) { + var n = r, + i = !1; + return ( + u(t, function (t, a, o, s, l) { + (n = + !1 === i && void 0 === r + ? t + : e(n, t, a, o, s, l)), + (i = !0); + }), + n + ); + }), + (e.lineEach = c), + (e.lineReduce = function (t, e, r) { + var n = r; + return ( + c(t, function (t, i, a, o) { + n = + 0 === i && void 0 === r ? t : e(n, t, i, a, o); + }), + n + ); + }), + (e.findSegment = function (t, e) { + if (((e = e || {}), !n.isObject(e))) + throw new Error("options is invalid"); + var r, + i = e.featureIndex || 0, + a = e.multiFeatureIndex || 0, + o = e.geometryIndex || 0, + s = e.segmentIndex || 0, + l = e.properties; + switch (t.type) { + case "FeatureCollection": + i < 0 && (i = t.features.length + i), + (l = l || t.features[i].properties), + (r = t.features[i].geometry); + break; + case "Feature": + (l = l || t.properties), (r = t.geometry); + break; + case "Point": + case "MultiPoint": + return null; + case "LineString": + case "Polygon": + case "MultiLineString": + case "MultiPolygon": + r = t; + break; + default: + throw new Error("geojson is invalid"); + } + if (null === r) return null; + var u = r.coordinates; + switch (r.type) { + case "Point": + case "MultiPoint": + return null; + case "LineString": + return ( + s < 0 && (s = u.length + s - 1), + n.lineString([u[s], u[s + 1]], l, e) + ); + case "Polygon": + return ( + o < 0 && (o = u.length + o), + s < 0 && (s = u[o].length + s - 1), + n.lineString([u[o][s], u[o][s + 1]], l, e) + ); + case "MultiLineString": + return ( + a < 0 && (a = u.length + a), + s < 0 && (s = u[a].length + s - 1), + n.lineString([u[a][s], u[a][s + 1]], l, e) + ); + case "MultiPolygon": + return ( + a < 0 && (a = u.length + a), + o < 0 && (o = u[a].length + o), + s < 0 && (s = u[a][o].length - s - 1), + n.lineString([u[a][o][s], u[a][o][s + 1]], l, e) + ); + } + throw new Error("geojson is invalid"); + }), + (e.findPoint = function (t, e) { + if (((e = e || {}), !n.isObject(e))) + throw new Error("options is invalid"); + var r, + i = e.featureIndex || 0, + a = e.multiFeatureIndex || 0, + o = e.geometryIndex || 0, + s = e.coordIndex || 0, + l = e.properties; + switch (t.type) { + case "FeatureCollection": + i < 0 && (i = t.features.length + i), + (l = l || t.features[i].properties), + (r = t.features[i].geometry); + break; + case "Feature": + (l = l || t.properties), (r = t.geometry); + break; + case "Point": + case "MultiPoint": + return null; + case "LineString": + case "Polygon": + case "MultiLineString": + case "MultiPolygon": + r = t; + break; + default: + throw new Error("geojson is invalid"); + } + if (null === r) return null; + var u = r.coordinates; + switch (r.type) { + case "Point": + return n.point(u, l, e); + case "MultiPoint": + return ( + a < 0 && (a = u.length + a), n.point(u[a], l, e) + ); + case "LineString": + return ( + s < 0 && (s = u.length + s), n.point(u[s], l, e) + ); + case "Polygon": + return ( + o < 0 && (o = u.length + o), + s < 0 && (s = u[o].length + s), + n.point(u[o][s], l, e) + ); + case "MultiLineString": + return ( + a < 0 && (a = u.length + a), + s < 0 && (s = u[a].length + s), + n.point(u[a][s], l, e) + ); + case "MultiPolygon": + return ( + a < 0 && (a = u.length + a), + o < 0 && (o = u[a].length + o), + s < 0 && (s = u[a][o].length - s), + n.point(u[a][o][s], l, e) + ); + } + throw new Error("geojson is invalid"); + }); + }, + 85268: function (t, e, r) { + "use strict"; + Object.defineProperty(e, "__esModule", { value: !0 }); + var n = r(27138); + function i(t) { + var e = [1 / 0, 1 / 0, -1 / 0, -1 / 0]; + return ( + n.coordEach(t, function (t) { + e[0] > t[0] && (e[0] = t[0]), + e[1] > t[1] && (e[1] = t[1]), + e[2] < t[0] && (e[2] = t[0]), + e[3] < t[1] && (e[3] = t[1]); + }), + e + ); + } + (i.default = i), (e.default = i); + }, + 94228: function (t, e) { + "use strict"; + function r(t, e, r) { + void 0 === r && (r = {}); + var n = { type: "Feature" }; + return ( + (0 === r.id || r.id) && (n.id = r.id), + r.bbox && (n.bbox = r.bbox), + (n.properties = e || {}), + (n.geometry = t), + n + ); + } + function n(t, e, n) { + if ((void 0 === n && (n = {}), !t)) + throw new Error("coordinates is required"); + if (!Array.isArray(t)) + throw new Error("coordinates must be an Array"); + if (t.length < 2) + throw new Error( + "coordinates must be at least 2 numbers long", + ); + if (!p(t[0]) || !p(t[1])) + throw new Error("coordinates must contain numbers"); + return r({ type: "Point", coordinates: t }, e, n); + } + function i(t, e, n) { + void 0 === n && (n = {}); + for (var i = 0, a = t; i < a.length; i++) { + var o = a[i]; + if (o.length < 4) + throw new Error( + "Each LinearRing of a Polygon must have 4 or more Positions.", + ); + for (var s = 0; s < o[o.length - 1].length; s++) + if (o[o.length - 1][s] !== o[0][s]) + throw new Error( + "First and last Position are not equivalent.", + ); + } + return r({ type: "Polygon", coordinates: t }, e, n); + } + function a(t, e, n) { + if ((void 0 === n && (n = {}), t.length < 2)) + throw new Error( + "coordinates must be an array of two or more positions", + ); + return r({ type: "LineString", coordinates: t }, e, n); + } + function o(t, e) { + void 0 === e && (e = {}); + var r = { type: "FeatureCollection" }; + return ( + e.id && (r.id = e.id), + e.bbox && (r.bbox = e.bbox), + (r.features = t), + r + ); + } + function s(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "MultiLineString", coordinates: t }, e, n) + ); + } + function l(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "MultiPoint", coordinates: t }, e, n) + ); + } + function u(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "MultiPolygon", coordinates: t }, e, n) + ); + } + function c(t, r) { + void 0 === r && (r = "kilometers"); + var n = e.factors[r]; + if (!n) throw new Error(r + " units is invalid"); + return t * n; + } + function f(t, r) { + void 0 === r && (r = "kilometers"); + var n = e.factors[r]; + if (!n) throw new Error(r + " units is invalid"); + return t / n; + } + function h(t) { + return ((t % (2 * Math.PI)) * 180) / Math.PI; + } + function p(t) { + return !isNaN(t) && null !== t && !Array.isArray(t); + } + Object.defineProperty(e, "__esModule", { value: !0 }), + (e.earthRadius = 6371008.8), + (e.factors = { + centimeters: 100 * e.earthRadius, + centimetres: 100 * e.earthRadius, + degrees: e.earthRadius / 111325, + feet: 3.28084 * e.earthRadius, + inches: 39.37 * e.earthRadius, + kilometers: e.earthRadius / 1e3, + kilometres: e.earthRadius / 1e3, + meters: e.earthRadius, + metres: e.earthRadius, + miles: e.earthRadius / 1609.344, + millimeters: 1e3 * e.earthRadius, + millimetres: 1e3 * e.earthRadius, + nauticalmiles: e.earthRadius / 1852, + radians: 1, + yards: 1.0936 * e.earthRadius, + }), + (e.unitsFactors = { + centimeters: 100, + centimetres: 100, + degrees: 1 / 111325, + feet: 3.28084, + inches: 39.37, + kilometers: 0.001, + kilometres: 0.001, + meters: 1, + metres: 1, + miles: 1 / 1609.344, + millimeters: 1e3, + millimetres: 1e3, + nauticalmiles: 1 / 1852, + radians: 1 / e.earthRadius, + yards: 1.0936133, + }), + (e.areaFactors = { + acres: 247105e-9, + centimeters: 1e4, + centimetres: 1e4, + feet: 10.763910417, + hectares: 1e-4, + inches: 1550.003100006, + kilometers: 1e-6, + kilometres: 1e-6, + meters: 1, + metres: 1, + miles: 386e-9, + millimeters: 1e6, + millimetres: 1e6, + yards: 1.195990046, + }), + (e.feature = r), + (e.geometry = function (t, e, r) { + switch ((void 0 === r && (r = {}), t)) { + case "Point": + return n(e).geometry; + case "LineString": + return a(e).geometry; + case "Polygon": + return i(e).geometry; + case "MultiPoint": + return l(e).geometry; + case "MultiLineString": + return s(e).geometry; + case "MultiPolygon": + return u(e).geometry; + default: + throw new Error(t + " is invalid"); + } + }), + (e.point = n), + (e.points = function (t, e, r) { + return ( + void 0 === r && (r = {}), + o( + t.map(function (t) { + return n(t, e); + }), + r, + ) + ); + }), + (e.polygon = i), + (e.polygons = function (t, e, r) { + return ( + void 0 === r && (r = {}), + o( + t.map(function (t) { + return i(t, e); + }), + r, + ) + ); + }), + (e.lineString = a), + (e.lineStrings = function (t, e, r) { + return ( + void 0 === r && (r = {}), + o( + t.map(function (t) { + return a(t, e); + }), + r, + ) + ); + }), + (e.featureCollection = o), + (e.multiLineString = s), + (e.multiPoint = l), + (e.multiPolygon = u), + (e.geometryCollection = function (t, e, n) { + return ( + void 0 === n && (n = {}), + r( + { type: "GeometryCollection", geometries: t }, + e, + n, + ) + ); + }), + (e.round = function (t, e) { + if ((void 0 === e && (e = 0), e && !(e >= 0))) + throw new Error( + "precision must be a positive number", + ); + var r = Math.pow(10, e || 0); + return Math.round(t * r) / r; + }), + (e.radiansToLength = c), + (e.lengthToRadians = f), + (e.lengthToDegrees = function (t, e) { + return h(f(t, e)); + }), + (e.bearingToAzimuth = function (t) { + var e = t % 360; + return e < 0 && (e += 360), e; + }), + (e.radiansToDegrees = h), + (e.degreesToRadians = function (t) { + return ((t % 360) * Math.PI) / 180; + }), + (e.convertLength = function (t, e, r) { + if ( + (void 0 === e && (e = "kilometers"), + void 0 === r && (r = "kilometers"), + !(t >= 0)) + ) + throw new Error("length must be a positive number"); + return c(f(t, e), r); + }), + (e.convertArea = function (t, r, n) { + if ( + (void 0 === r && (r = "meters"), + void 0 === n && (n = "kilometers"), + !(t >= 0)) + ) + throw new Error("area must be a positive number"); + var i = e.areaFactors[r]; + if (!i) throw new Error("invalid original units"); + var a = e.areaFactors[n]; + if (!a) throw new Error("invalid final units"); + return (t / i) * a; + }), + (e.isNumber = p), + (e.isObject = function (t) { + return !!t && t.constructor === Object; + }), + (e.validateBBox = function (t) { + if (!t) throw new Error("bbox is required"); + if (!Array.isArray(t)) + throw new Error("bbox must be an Array"); + if (4 !== t.length && 6 !== t.length) + throw new Error( + "bbox must be an Array of 4 or 6 numbers", + ); + t.forEach(function (t) { + if (!p(t)) + throw new Error("bbox must only contain numbers"); + }); + }), + (e.validateId = function (t) { + if (!t) throw new Error("id is required"); + if (-1 === ["string", "number"].indexOf(typeof t)) + throw new Error("id must be a number or a string"); + }); + }, + 27138: function (t, e, r) { + "use strict"; + Object.defineProperty(e, "__esModule", { value: !0 }); + var n = r(94228); + function i(t, e, r) { + if (null !== t) + for ( + var n, + a, + o, + s, + l, + u, + c, + f, + h = 0, + p = 0, + d = t.type, + v = "FeatureCollection" === d, + g = "Feature" === d, + y = v ? t.features.length : 1, + m = 0; + m < y; + m++ + ) { + l = (f = + !!(c = v + ? t.features[m].geometry + : g + ? t.geometry + : t) && "GeometryCollection" === c.type) + ? c.geometries.length + : 1; + for (var x = 0; x < l; x++) { + var b = 0, + _ = 0; + if (null !== (s = f ? c.geometries[x] : c)) { + u = s.coordinates; + var w = s.type; + switch ( + ((h = + !r || + ("Polygon" !== w && "MultiPolygon" !== w) + ? 0 + : 1), + w) + ) { + case null: + break; + case "Point": + if (!1 === e(u, p, m, b, _)) return !1; + p++, b++; + break; + case "LineString": + case "MultiPoint": + for (n = 0; n < u.length; n++) { + if (!1 === e(u[n], p, m, b, _)) return !1; + p++, "MultiPoint" === w && b++; + } + "LineString" === w && b++; + break; + case "Polygon": + case "MultiLineString": + for (n = 0; n < u.length; n++) { + for (a = 0; a < u[n].length - h; a++) { + if (!1 === e(u[n][a], p, m, b, _)) + return !1; + p++; + } + "MultiLineString" === w && b++, + "Polygon" === w && _++; + } + "Polygon" === w && b++; + break; + case "MultiPolygon": + for (n = 0; n < u.length; n++) { + for (_ = 0, a = 0; a < u[n].length; a++) { + for ( + o = 0; + o < u[n][a].length - h; + o++ + ) { + if (!1 === e(u[n][a][o], p, m, b, _)) + return !1; + p++; + } + _++; + } + b++; + } + break; + case "GeometryCollection": + for (n = 0; n < s.geometries.length; n++) + if (!1 === i(s.geometries[n], e, r)) + return !1; + break; + default: + throw new Error("Unknown Geometry Type"); + } + } + } + } + } + function a(t, e) { + var r; + switch (t.type) { + case "FeatureCollection": + for ( + r = 0; + r < t.features.length && + !1 !== e(t.features[r].properties, r); + r++ + ); + break; + case "Feature": + e(t.properties, 0); + } + } + function o(t, e) { + if ("Feature" === t.type) e(t, 0); + else if ("FeatureCollection" === t.type) + for ( + var r = 0; + r < t.features.length && !1 !== e(t.features[r], r); + r++ + ); + } + function s(t, e) { + var r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h = 0, + p = "FeatureCollection" === t.type, + d = "Feature" === t.type, + v = p ? t.features.length : 1; + for (r = 0; r < v; r++) { + for ( + s = p ? t.features[r].geometry : d ? t.geometry : t, + u = p + ? t.features[r].properties + : d + ? t.properties + : {}, + c = p ? t.features[r].bbox : d ? t.bbox : void 0, + f = p ? t.features[r].id : d ? t.id : void 0, + o = (l = !!s && "GeometryCollection" === s.type) + ? s.geometries.length + : 1, + i = 0; + i < o; + i++ + ) + if (null !== (a = l ? s.geometries[i] : s)) + switch (a.type) { + case "Point": + case "LineString": + case "MultiPoint": + case "Polygon": + case "MultiLineString": + case "MultiPolygon": + if (!1 === e(a, h, u, c, f)) return !1; + break; + case "GeometryCollection": + for (n = 0; n < a.geometries.length; n++) + if (!1 === e(a.geometries[n], h, u, c, f)) + return !1; + break; + default: + throw new Error("Unknown Geometry Type"); + } + else if (!1 === e(null, h, u, c, f)) return !1; + h++; + } + } + function l(t, e) { + s(t, function (t, r, i, a, o) { + var s, + l = null === t ? null : t.type; + switch (l) { + case null: + case "Point": + case "LineString": + case "Polygon": + return ( + !1 !== + e( + n.feature(t, i, { bbox: a, id: o }), + r, + 0, + ) && void 0 + ); + } + switch (l) { + case "MultiPoint": + s = "Point"; + break; + case "MultiLineString": + s = "LineString"; + break; + case "MultiPolygon": + s = "Polygon"; + } + for (var u = 0; u < t.coordinates.length; u++) { + var c = { type: s, coordinates: t.coordinates[u] }; + if (!1 === e(n.feature(c, i), r, u)) return !1; + } + }); + } + function u(t, e) { + l(t, function (t, r, a) { + var o = 0; + if (t.geometry) { + var s = t.geometry.type; + if ("Point" !== s && "MultiPoint" !== s) { + var l, + u = 0, + c = 0, + f = 0; + return ( + !1 !== + i(t, function (i, s, h, p, d) { + if (void 0 === l || r > u || p > c || d > f) + return ( + (l = i), + (u = r), + (c = p), + (f = d), + void (o = 0) + ); + var v = n.lineString([l, i], t.properties); + if (!1 === e(v, r, a, d, o)) return !1; + o++, (l = i); + }) && void 0 + ); + } + } + }); + } + function c(t, e) { + if (!t) throw new Error("geojson is required"); + l(t, function (t, r, i) { + if (null !== t.geometry) { + var a = t.geometry.type, + o = t.geometry.coordinates; + switch (a) { + case "LineString": + if (!1 === e(t, r, i, 0, 0)) return !1; + break; + case "Polygon": + for (var s = 0; s < o.length; s++) + if ( + !1 === + e(n.lineString(o[s], t.properties), r, i, s) + ) + return !1; + } + } + }); + } + (e.coordEach = i), + (e.coordReduce = function (t, e, r, n) { + var a = r; + return ( + i( + t, + function (t, n, i, o, s) { + a = + 0 === n && void 0 === r + ? t + : e(a, t, n, i, o, s); + }, + n, + ), + a + ); + }), + (e.propEach = a), + (e.propReduce = function (t, e, r) { + var n = r; + return ( + a(t, function (t, i) { + n = 0 === i && void 0 === r ? t : e(n, t, i); + }), + n + ); + }), + (e.featureEach = o), + (e.featureReduce = function (t, e, r) { + var n = r; + return ( + o(t, function (t, i) { + n = 0 === i && void 0 === r ? t : e(n, t, i); + }), + n + ); + }), + (e.coordAll = function (t) { + var e = []; + return ( + i(t, function (t) { + e.push(t); + }), + e + ); + }), + (e.geomEach = s), + (e.geomReduce = function (t, e, r) { + var n = r; + return ( + s(t, function (t, i, a, o, s) { + n = + 0 === i && void 0 === r + ? t + : e(n, t, i, a, o, s); + }), + n + ); + }), + (e.flattenEach = l), + (e.flattenReduce = function (t, e, r) { + var n = r; + return ( + l(t, function (t, i, a) { + n = + 0 === i && 0 === a && void 0 === r + ? t + : e(n, t, i, a); + }), + n + ); + }), + (e.segmentEach = u), + (e.segmentReduce = function (t, e, r) { + var n = r, + i = !1; + return ( + u(t, function (t, a, o, s, l) { + (n = + !1 === i && void 0 === r + ? t + : e(n, t, a, o, s, l)), + (i = !0); + }), + n + ); + }), + (e.lineEach = c), + (e.lineReduce = function (t, e, r) { + var n = r; + return ( + c(t, function (t, i, a, o) { + n = + 0 === i && void 0 === r ? t : e(n, t, i, a, o); + }), + n + ); + }), + (e.findSegment = function (t, e) { + if (((e = e || {}), !n.isObject(e))) + throw new Error("options is invalid"); + var r, + i = e.featureIndex || 0, + a = e.multiFeatureIndex || 0, + o = e.geometryIndex || 0, + s = e.segmentIndex || 0, + l = e.properties; + switch (t.type) { + case "FeatureCollection": + i < 0 && (i = t.features.length + i), + (l = l || t.features[i].properties), + (r = t.features[i].geometry); + break; + case "Feature": + (l = l || t.properties), (r = t.geometry); + break; + case "Point": + case "MultiPoint": + return null; + case "LineString": + case "Polygon": + case "MultiLineString": + case "MultiPolygon": + r = t; + break; + default: + throw new Error("geojson is invalid"); + } + if (null === r) return null; + var u = r.coordinates; + switch (r.type) { + case "Point": + case "MultiPoint": + return null; + case "LineString": + return ( + s < 0 && (s = u.length + s - 1), + n.lineString([u[s], u[s + 1]], l, e) + ); + case "Polygon": + return ( + o < 0 && (o = u.length + o), + s < 0 && (s = u[o].length + s - 1), + n.lineString([u[o][s], u[o][s + 1]], l, e) + ); + case "MultiLineString": + return ( + a < 0 && (a = u.length + a), + s < 0 && (s = u[a].length + s - 1), + n.lineString([u[a][s], u[a][s + 1]], l, e) + ); + case "MultiPolygon": + return ( + a < 0 && (a = u.length + a), + o < 0 && (o = u[a].length + o), + s < 0 && (s = u[a][o].length - s - 1), + n.lineString([u[a][o][s], u[a][o][s + 1]], l, e) + ); + } + throw new Error("geojson is invalid"); + }), + (e.findPoint = function (t, e) { + if (((e = e || {}), !n.isObject(e))) + throw new Error("options is invalid"); + var r, + i = e.featureIndex || 0, + a = e.multiFeatureIndex || 0, + o = e.geometryIndex || 0, + s = e.coordIndex || 0, + l = e.properties; + switch (t.type) { + case "FeatureCollection": + i < 0 && (i = t.features.length + i), + (l = l || t.features[i].properties), + (r = t.features[i].geometry); + break; + case "Feature": + (l = l || t.properties), (r = t.geometry); + break; + case "Point": + case "MultiPoint": + return null; + case "LineString": + case "Polygon": + case "MultiLineString": + case "MultiPolygon": + r = t; + break; + default: + throw new Error("geojson is invalid"); + } + if (null === r) return null; + var u = r.coordinates; + switch (r.type) { + case "Point": + return n.point(u, l, e); + case "MultiPoint": + return ( + a < 0 && (a = u.length + a), n.point(u[a], l, e) + ); + case "LineString": + return ( + s < 0 && (s = u.length + s), n.point(u[s], l, e) + ); + case "Polygon": + return ( + o < 0 && (o = u.length + o), + s < 0 && (s = u[o].length + s), + n.point(u[o][s], l, e) + ); + case "MultiLineString": + return ( + a < 0 && (a = u.length + a), + s < 0 && (s = u[a].length + s), + n.point(u[a][s], l, e) + ); + case "MultiPolygon": + return ( + a < 0 && (a = u.length + a), + o < 0 && (o = u[a].length + o), + s < 0 && (s = u[a][o].length - s), + n.point(u[a][o][s], l, e) + ); + } + throw new Error("geojson is invalid"); + }); + }, + 29261: function (t, e, r) { + "use strict"; + Object.defineProperty(e, "__esModule", { value: !0 }); + var n = r(88553), + i = r(64182); + e.default = function (t, e) { + void 0 === e && (e = {}); + var r = 0, + a = 0, + o = 0; + return ( + n.coordEach(t, function (t) { + (r += t[0]), (a += t[1]), o++; + }), + i.point([r / o, a / o], e.properties) + ); + }; + }, + 64182: function (t, e) { + "use strict"; + function r(t, e, r) { + void 0 === r && (r = {}); + var n = { type: "Feature" }; + return ( + (0 === r.id || r.id) && (n.id = r.id), + r.bbox && (n.bbox = r.bbox), + (n.properties = e || {}), + (n.geometry = t), + n + ); + } + function n(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "Point", coordinates: t }, e, n) + ); + } + function i(t, e, n) { + void 0 === n && (n = {}); + for (var i = 0, a = t; i < a.length; i++) { + var o = a[i]; + if (o.length < 4) + throw new Error( + "Each LinearRing of a Polygon must have 4 or more Positions.", + ); + for (var s = 0; s < o[o.length - 1].length; s++) + if (o[o.length - 1][s] !== o[0][s]) + throw new Error( + "First and last Position are not equivalent.", + ); + } + return r({ type: "Polygon", coordinates: t }, e, n); + } + function a(t, e, n) { + if ((void 0 === n && (n = {}), t.length < 2)) + throw new Error( + "coordinates must be an array of two or more positions", + ); + return r({ type: "LineString", coordinates: t }, e, n); + } + function o(t, e) { + void 0 === e && (e = {}); + var r = { type: "FeatureCollection" }; + return ( + e.id && (r.id = e.id), + e.bbox && (r.bbox = e.bbox), + (r.features = t), + r + ); + } + function s(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "MultiLineString", coordinates: t }, e, n) + ); + } + function l(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "MultiPoint", coordinates: t }, e, n) + ); + } + function u(t, e, n) { + return ( + void 0 === n && (n = {}), + r({ type: "MultiPolygon", coordinates: t }, e, n) + ); + } + function c(t, r) { + void 0 === r && (r = "kilometers"); + var n = e.factors[r]; + if (!n) throw new Error(r + " units is invalid"); + return t * n; + } + function f(t, r) { + void 0 === r && (r = "kilometers"); + var n = e.factors[r]; + if (!n) throw new Error(r + " units is invalid"); + return t / n; + } + function h(t) { + return ((t % (2 * Math.PI)) * 180) / Math.PI; + } + function p(t) { + return ( + !isNaN(t) && + null !== t && + !Array.isArray(t) && + !/^\s*$/.test(t) + ); + } + Object.defineProperty(e, "__esModule", { value: !0 }), + (e.earthRadius = 6371008.8), + (e.factors = { + centimeters: 100 * e.earthRadius, + centimetres: 100 * e.earthRadius, + degrees: e.earthRadius / 111325, + feet: 3.28084 * e.earthRadius, + inches: 39.37 * e.earthRadius, + kilometers: e.earthRadius / 1e3, + kilometres: e.earthRadius / 1e3, + meters: e.earthRadius, + metres: e.earthRadius, + miles: e.earthRadius / 1609.344, + millimeters: 1e3 * e.earthRadius, + millimetres: 1e3 * e.earthRadius, + nauticalmiles: e.earthRadius / 1852, + radians: 1, + yards: e.earthRadius / 1.0936, + }), + (e.unitsFactors = { + centimeters: 100, + centimetres: 100, + degrees: 1 / 111325, + feet: 3.28084, + inches: 39.37, + kilometers: 0.001, + kilometres: 0.001, + meters: 1, + metres: 1, + miles: 1 / 1609.344, + millimeters: 1e3, + millimetres: 1e3, + nauticalmiles: 1 / 1852, + radians: 1 / e.earthRadius, + yards: 1 / 1.0936, + }), + (e.areaFactors = { + acres: 247105e-9, + centimeters: 1e4, + centimetres: 1e4, + feet: 10.763910417, + inches: 1550.003100006, + kilometers: 1e-6, + kilometres: 1e-6, + meters: 1, + metres: 1, + miles: 386e-9, + millimeters: 1e6, + millimetres: 1e6, + yards: 1.195990046, + }), + (e.feature = r), + (e.geometry = function (t, e, r) { + switch ((void 0 === r && (r = {}), t)) { + case "Point": + return n(e).geometry; + case "LineString": + return a(e).geometry; + case "Polygon": + return i(e).geometry; + case "MultiPoint": + return l(e).geometry; + case "MultiLineString": + return s(e).geometry; + case "MultiPolygon": + return u(e).geometry; + default: + throw new Error(t + " is invalid"); + } + }), + (e.point = n), + (e.points = function (t, e, r) { + return ( + void 0 === r && (r = {}), + o( + t.map(function (t) { + return n(t, e); + }), + r, + ) + ); + }), + (e.polygon = i), + (e.polygons = function (t, e, r) { + return ( + void 0 === r && (r = {}), + o( + t.map(function (t) { + return i(t, e); + }), + r, + ) + ); + }), + (e.lineString = a), + (e.lineStrings = function (t, e, r) { + return ( + void 0 === r && (r = {}), + o( + t.map(function (t) { + return a(t, e); + }), + r, + ) + ); + }), + (e.featureCollection = o), + (e.multiLineString = s), + (e.multiPoint = l), + (e.multiPolygon = u), + (e.geometryCollection = function (t, e, n) { + return ( + void 0 === n && (n = {}), + r( + { type: "GeometryCollection", geometries: t }, + e, + n, + ) + ); + }), + (e.round = function (t, e) { + if ((void 0 === e && (e = 0), e && !(e >= 0))) + throw new Error( + "precision must be a positive number", + ); + var r = Math.pow(10, e || 0); + return Math.round(t * r) / r; + }), + (e.radiansToLength = c), + (e.lengthToRadians = f), + (e.lengthToDegrees = function (t, e) { + return h(f(t, e)); + }), + (e.bearingToAzimuth = function (t) { + var e = t % 360; + return e < 0 && (e += 360), e; + }), + (e.radiansToDegrees = h), + (e.degreesToRadians = function (t) { + return ((t % 360) * Math.PI) / 180; + }), + (e.convertLength = function (t, e, r) { + if ( + (void 0 === e && (e = "kilometers"), + void 0 === r && (r = "kilometers"), + !(t >= 0)) + ) + throw new Error("length must be a positive number"); + return c(f(t, e), r); + }), + (e.convertArea = function (t, r, n) { + if ( + (void 0 === r && (r = "meters"), + void 0 === n && (n = "kilometers"), + !(t >= 0)) + ) + throw new Error("area must be a positive number"); + var i = e.areaFactors[r]; + if (!i) throw new Error("invalid original units"); + var a = e.areaFactors[n]; + if (!a) throw new Error("invalid final units"); + return (t / i) * a; + }), + (e.isNumber = p), + (e.isObject = function (t) { + return !!t && t.constructor === Object; + }), + (e.validateBBox = function (t) { + if (!t) throw new Error("bbox is required"); + if (!Array.isArray(t)) + throw new Error("bbox must be an Array"); + if (4 !== t.length && 6 !== t.length) + throw new Error( + "bbox must be an Array of 4 or 6 numbers", + ); + t.forEach(function (t) { + if (!p(t)) + throw new Error("bbox must only contain numbers"); + }); + }), + (e.validateId = function (t) { + if (!t) throw new Error("id is required"); + if (-1 === ["string", "number"].indexOf(typeof t)) + throw new Error("id must be a number or a string"); + }), + (e.radians2degrees = function () { + throw new Error( + "method has been renamed to `radiansToDegrees`", + ); + }), + (e.degrees2radians = function () { + throw new Error( + "method has been renamed to `degreesToRadians`", + ); + }), + (e.distanceToDegrees = function () { + throw new Error( + "method has been renamed to `lengthToDegrees`", + ); + }), + (e.distanceToRadians = function () { + throw new Error( + "method has been renamed to `lengthToRadians`", + ); + }), + (e.radiansToDistance = function () { + throw new Error( + "method has been renamed to `radiansToLength`", + ); + }), + (e.bearingToAngle = function () { + throw new Error( + "method has been renamed to `bearingToAzimuth`", + ); + }), + (e.convertDistance = function () { + throw new Error( + "method has been renamed to `convertLength`", + ); + }); + }, + 88553: function (t, e, r) { + "use strict"; + Object.defineProperty(e, "__esModule", { value: !0 }); + var n = r(64182); + function i(t, e, r) { + if (null !== t) + for ( + var n, + a, + o, + s, + l, + u, + c, + f, + h = 0, + p = 0, + d = t.type, + v = "FeatureCollection" === d, + g = "Feature" === d, + y = v ? t.features.length : 1, + m = 0; + m < y; + m++ + ) { + l = (f = + !!(c = v + ? t.features[m].geometry + : g + ? t.geometry + : t) && "GeometryCollection" === c.type) + ? c.geometries.length + : 1; + for (var x = 0; x < l; x++) { + var b = 0, + _ = 0; + if (null !== (s = f ? c.geometries[x] : c)) { + u = s.coordinates; + var w = s.type; + switch ( + ((h = + !r || + ("Polygon" !== w && "MultiPolygon" !== w) + ? 0 + : 1), + w) + ) { + case null: + break; + case "Point": + if (!1 === e(u, p, m, b, _)) return !1; + p++, b++; + break; + case "LineString": + case "MultiPoint": + for (n = 0; n < u.length; n++) { + if (!1 === e(u[n], p, m, b, _)) return !1; + p++, "MultiPoint" === w && b++; + } + "LineString" === w && b++; + break; + case "Polygon": + case "MultiLineString": + for (n = 0; n < u.length; n++) { + for (a = 0; a < u[n].length - h; a++) { + if (!1 === e(u[n][a], p, m, b, _)) + return !1; + p++; + } + "MultiLineString" === w && b++, + "Polygon" === w && _++; + } + "Polygon" === w && b++; + break; + case "MultiPolygon": + for (n = 0; n < u.length; n++) { + for (_ = 0, a = 0; a < u[n].length; a++) { + for ( + o = 0; + o < u[n][a].length - h; + o++ + ) { + if (!1 === e(u[n][a][o], p, m, b, _)) + return !1; + p++; + } + _++; + } + b++; + } + break; + case "GeometryCollection": + for (n = 0; n < s.geometries.length; n++) + if (!1 === i(s.geometries[n], e, r)) + return !1; + break; + default: + throw new Error("Unknown Geometry Type"); + } + } + } + } + } + function a(t, e) { + var r; + switch (t.type) { + case "FeatureCollection": + for ( + r = 0; + r < t.features.length && + !1 !== e(t.features[r].properties, r); + r++ + ); + break; + case "Feature": + e(t.properties, 0); + } + } + function o(t, e) { + if ("Feature" === t.type) e(t, 0); + else if ("FeatureCollection" === t.type) + for ( + var r = 0; + r < t.features.length && !1 !== e(t.features[r], r); + r++ + ); + } + function s(t, e) { + var r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h = 0, + p = "FeatureCollection" === t.type, + d = "Feature" === t.type, + v = p ? t.features.length : 1; + for (r = 0; r < v; r++) { + for ( + s = p ? t.features[r].geometry : d ? t.geometry : t, + u = p + ? t.features[r].properties + : d + ? t.properties + : {}, + c = p ? t.features[r].bbox : d ? t.bbox : void 0, + f = p ? t.features[r].id : d ? t.id : void 0, + o = (l = !!s && "GeometryCollection" === s.type) + ? s.geometries.length + : 1, + i = 0; + i < o; + i++ + ) + if (null !== (a = l ? s.geometries[i] : s)) + switch (a.type) { + case "Point": + case "LineString": + case "MultiPoint": + case "Polygon": + case "MultiLineString": + case "MultiPolygon": + if (!1 === e(a, h, u, c, f)) return !1; + break; + case "GeometryCollection": + for (n = 0; n < a.geometries.length; n++) + if (!1 === e(a.geometries[n], h, u, c, f)) + return !1; + break; + default: + throw new Error("Unknown Geometry Type"); + } + else if (!1 === e(null, h, u, c, f)) return !1; + h++; + } + } + function l(t, e) { + s(t, function (t, r, i, a, o) { + var s, + l = null === t ? null : t.type; + switch (l) { + case null: + case "Point": + case "LineString": + case "Polygon": + return ( + !1 !== + e( + n.feature(t, i, { bbox: a, id: o }), + r, + 0, + ) && void 0 + ); + } + switch (l) { + case "MultiPoint": + s = "Point"; + break; + case "MultiLineString": + s = "LineString"; + break; + case "MultiPolygon": + s = "Polygon"; + } + for (var u = 0; u < t.coordinates.length; u++) { + var c = { type: s, coordinates: t.coordinates[u] }; + if (!1 === e(n.feature(c, i), r, u)) return !1; + } + }); + } + function u(t, e) { + l(t, function (t, r, a) { + var o = 0; + if (t.geometry) { + var s = t.geometry.type; + if ("Point" !== s && "MultiPoint" !== s) { + var l, + u = 0, + c = 0, + f = 0; + return ( + !1 !== + i(t, function (i, s, h, p, d) { + if (void 0 === l || r > u || p > c || d > f) + return ( + (l = i), + (u = r), + (c = p), + (f = d), + void (o = 0) + ); + var v = n.lineString([l, i], t.properties); + if (!1 === e(v, r, a, d, o)) return !1; + o++, (l = i); + }) && void 0 + ); + } + } + }); + } + function c(t, e) { + if (!t) throw new Error("geojson is required"); + l(t, function (t, r, i) { + if (null !== t.geometry) { + var a = t.geometry.type, + o = t.geometry.coordinates; + switch (a) { + case "LineString": + if (!1 === e(t, r, i, 0, 0)) return !1; + break; + case "Polygon": + for (var s = 0; s < o.length; s++) + if ( + !1 === + e(n.lineString(o[s], t.properties), r, i, s) + ) + return !1; + } + } + }); + } + (e.coordEach = i), + (e.coordReduce = function (t, e, r, n) { + var a = r; + return ( + i( + t, + function (t, n, i, o, s) { + a = + 0 === n && void 0 === r + ? t + : e(a, t, n, i, o, s); + }, + n, + ), + a + ); + }), + (e.propEach = a), + (e.propReduce = function (t, e, r) { + var n = r; + return ( + a(t, function (t, i) { + n = 0 === i && void 0 === r ? t : e(n, t, i); + }), + n + ); + }), + (e.featureEach = o), + (e.featureReduce = function (t, e, r) { + var n = r; + return ( + o(t, function (t, i) { + n = 0 === i && void 0 === r ? t : e(n, t, i); + }), + n + ); + }), + (e.coordAll = function (t) { + var e = []; + return ( + i(t, function (t) { + e.push(t); + }), + e + ); + }), + (e.geomEach = s), + (e.geomReduce = function (t, e, r) { + var n = r; + return ( + s(t, function (t, i, a, o, s) { + n = + 0 === i && void 0 === r + ? t + : e(n, t, i, a, o, s); + }), + n + ); + }), + (e.flattenEach = l), + (e.flattenReduce = function (t, e, r) { + var n = r; + return ( + l(t, function (t, i, a) { + n = + 0 === i && 0 === a && void 0 === r + ? t + : e(n, t, i, a); + }), + n + ); + }), + (e.segmentEach = u), + (e.segmentReduce = function (t, e, r) { + var n = r, + i = !1; + return ( + u(t, function (t, a, o, s, l) { + (n = + !1 === i && void 0 === r + ? t + : e(n, t, a, o, s, l)), + (i = !0); + }), + n + ); + }), + (e.lineEach = c), + (e.lineReduce = function (t, e, r) { + var n = r; + return ( + c(t, function (t, i, a, o) { + n = + 0 === i && void 0 === r ? t : e(n, t, i, a, o); + }), + n + ); + }), + (e.findSegment = function (t, e) { + if (((e = e || {}), !n.isObject(e))) + throw new Error("options is invalid"); + var r, + i = e.featureIndex || 0, + a = e.multiFeatureIndex || 0, + o = e.geometryIndex || 0, + s = e.segmentIndex || 0, + l = e.properties; + switch (t.type) { + case "FeatureCollection": + i < 0 && (i = t.features.length + i), + (l = l || t.features[i].properties), + (r = t.features[i].geometry); + break; + case "Feature": + (l = l || t.properties), (r = t.geometry); + break; + case "Point": + case "MultiPoint": + return null; + case "LineString": + case "Polygon": + case "MultiLineString": + case "MultiPolygon": + r = t; + break; + default: + throw new Error("geojson is invalid"); + } + if (null === r) return null; + var u = r.coordinates; + switch (r.type) { + case "Point": + case "MultiPoint": + return null; + case "LineString": + return ( + s < 0 && (s = u.length + s - 1), + n.lineString([u[s], u[s + 1]], l, e) + ); + case "Polygon": + return ( + o < 0 && (o = u.length + o), + s < 0 && (s = u[o].length + s - 1), + n.lineString([u[o][s], u[o][s + 1]], l, e) + ); + case "MultiLineString": + return ( + a < 0 && (a = u.length + a), + s < 0 && (s = u[a].length + s - 1), + n.lineString([u[a][s], u[a][s + 1]], l, e) + ); + case "MultiPolygon": + return ( + a < 0 && (a = u.length + a), + o < 0 && (o = u[a].length + o), + s < 0 && (s = u[a][o].length - s - 1), + n.lineString([u[a][o][s], u[a][o][s + 1]], l, e) + ); + } + throw new Error("geojson is invalid"); + }), + (e.findPoint = function (t, e) { + if (((e = e || {}), !n.isObject(e))) + throw new Error("options is invalid"); + var r, + i = e.featureIndex || 0, + a = e.multiFeatureIndex || 0, + o = e.geometryIndex || 0, + s = e.coordIndex || 0, + l = e.properties; + switch (t.type) { + case "FeatureCollection": + i < 0 && (i = t.features.length + i), + (l = l || t.features[i].properties), + (r = t.features[i].geometry); + break; + case "Feature": + (l = l || t.properties), (r = t.geometry); + break; + case "Point": + case "MultiPoint": + return null; + case "LineString": + case "Polygon": + case "MultiLineString": + case "MultiPolygon": + r = t; + break; + default: + throw new Error("geojson is invalid"); + } + if (null === r) return null; + var u = r.coordinates; + switch (r.type) { + case "Point": + return n.point(u, l, e); + case "MultiPoint": + return ( + a < 0 && (a = u.length + a), n.point(u[a], l, e) + ); + case "LineString": + return ( + s < 0 && (s = u.length + s), n.point(u[s], l, e) + ); + case "Polygon": + return ( + o < 0 && (o = u.length + o), + s < 0 && (s = u[o].length + s), + n.point(u[o][s], l, e) + ); + case "MultiLineString": + return ( + a < 0 && (a = u.length + a), + s < 0 && (s = u[a].length + s), + n.point(u[a][s], l, e) + ); + case "MultiPolygon": + return ( + a < 0 && (a = u.length + a), + o < 0 && (o = u[a].length + o), + s < 0 && (s = u[a][o].length - s), + n.point(u[a][o][s], l, e) + ); + } + throw new Error("geojson is invalid"); + }); + }, + 65185: function (t) { + t.exports = 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; + }); + }; + }, + 21527: function (t) { + "use strict"; + t.exports = 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; + }; + }, + 6851: function (t) { + "use strict"; + t.exports = function (t, e, r) { + if ("function" == typeof Array.prototype.findIndex) + return t.findIndex(e, r); + if ("function" != typeof e) + throw new TypeError("predicate must be a function"); + var n = Object(t), + i = n.length; + if (0 === i) return -1; + for (var a = 0; a < i; a++) + if (e.call(r, n[a], a, n)) return a; + return -1; + }; + }, + 54: function (t, e, r) { + "use strict"; + var n = r(21527); + t.exports = function (t, e, r) { + if (!t || null == t.length) + throw Error("Argument should be an array"); + null == e && (e = 1), null == r && (r = n(t, e)); + for (var i = 0; i < e; i++) { + var a = r[e + i], + o = r[i], + s = i, + l = t.length; + if (a === 1 / 0 && o === -1 / 0) + for (s = i; s < l; s += e) + t[s] = t[s] === a ? 1 : t[s] === o ? 0 : 0.5; + else if (a === 1 / 0) + for (s = i; s < l; s += e) + t[s] = t[s] === a ? 1 : 0; + else if (o === -1 / 0) + for (s = i; s < l; s += e) + t[s] = t[s] === o ? 0 : 1; + else { + var u = a - o; + for (s = i; s < l; s += e) + isNaN(t[s]) || + (t[s] = 0 === u ? 0.5 : (t[s] - o) / u); + } + } + return t; + }; + }, + 57471: function (t) { + t.exports = 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; + }; + }, + 32791: function (t, e, r) { + "use strict"; + var n = r(90386); + function i(t) { + return ( + (i = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function (t) { + return typeof t; + } + : function (t) { + return t && + "function" == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? "symbol" + : typeof t; + }), + i(t) + ); + } + var a, + o, + s = r(79616).codes, + l = s.ERR_AMBIGUOUS_ARGUMENT, + u = s.ERR_INVALID_ARG_TYPE, + c = s.ERR_INVALID_ARG_VALUE, + f = s.ERR_INVALID_RETURN_VALUE, + h = s.ERR_MISSING_ARGS, + p = r(73894), + d = r(43827).inspect, + v = r(43827).types, + g = v.isPromise, + y = v.isRegExp, + m = Object.assign ? Object.assign : r(73523).assign, + x = Object.is ? Object.is : r(64003); + function b() { + var t = r(74061); + (a = t.isDeepEqual), (o = t.isDeepStrictEqual); + } + new Map(); + var _ = !1, + w = (t.exports = M), + T = {}; + function k(t) { + if (t.message instanceof Error) throw t.message; + throw new p(t); + } + function A(t, e, r, n) { + if (!r) { + var i = !1; + if (0 === e) + (i = !0), + (n = "No value argument passed to `assert.ok()`"); + else if (n instanceof Error) throw n; + var a = new p({ + actual: r, + expected: !0, + message: n, + operator: "==", + stackStartFn: t, + }); + throw ((a.generatedMessage = i), a); + } + } + function M() { + for ( + var t = arguments.length, e = new Array(t), r = 0; + r < t; + r++ + ) + e[r] = arguments[r]; + A.apply(void 0, [M, e.length].concat(e)); + } + (w.fail = function t(e, r, i, a, o) { + var s, + l = arguments.length; + if (0 === l) s = "Failed"; + else if (1 === l) (i = e), (e = void 0); + else { + if (!1 === _) { + _ = !0; + var u = n.emitWarning + ? n.emitWarning + : console.warn.bind(console); + u( + "assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.", + "DeprecationWarning", + "DEP0094", + ); + } + 2 === l && (a = "!="); + } + if (i instanceof Error) throw i; + var c = { + actual: e, + expected: r, + operator: void 0 === a ? "fail" : a, + stackStartFn: o || t, + }; + void 0 !== i && (c.message = i); + var f = new p(c); + throw ( + (s && ((f.message = s), (f.generatedMessage = !0)), f) + ); + }), + (w.AssertionError = p), + (w.ok = M), + (w.equal = function t(e, r, n) { + if (arguments.length < 2) + throw new h("actual", "expected"); + e != r && + k({ + actual: e, + expected: r, + message: n, + operator: "==", + stackStartFn: t, + }); + }), + (w.notEqual = function t(e, r, n) { + if (arguments.length < 2) + throw new h("actual", "expected"); + e == r && + k({ + actual: e, + expected: r, + message: n, + operator: "!=", + stackStartFn: t, + }); + }), + (w.deepEqual = function t(e, r, n) { + if (arguments.length < 2) + throw new h("actual", "expected"); + void 0 === a && b(), + a(e, r) || + k({ + actual: e, + expected: r, + message: n, + operator: "deepEqual", + stackStartFn: t, + }); + }), + (w.notDeepEqual = function t(e, r, n) { + if (arguments.length < 2) + throw new h("actual", "expected"); + void 0 === a && b(), + a(e, r) && + k({ + actual: e, + expected: r, + message: n, + operator: "notDeepEqual", + stackStartFn: t, + }); + }), + (w.deepStrictEqual = function t(e, r, n) { + if (arguments.length < 2) + throw new h("actual", "expected"); + void 0 === a && b(), + o(e, r) || + k({ + actual: e, + expected: r, + message: n, + operator: "deepStrictEqual", + stackStartFn: t, + }); + }), + (w.notDeepStrictEqual = function t(e, r, n) { + if (arguments.length < 2) + throw new h("actual", "expected"); + void 0 === a && b(), + o(e, r) && + k({ + actual: e, + expected: r, + message: n, + operator: "notDeepStrictEqual", + stackStartFn: t, + }); + }), + (w.strictEqual = function t(e, r, n) { + if (arguments.length < 2) + throw new h("actual", "expected"); + x(e, r) || + k({ + actual: e, + expected: r, + message: n, + operator: "strictEqual", + stackStartFn: t, + }); + }), + (w.notStrictEqual = function t(e, r, n) { + if (arguments.length < 2) + throw new h("actual", "expected"); + x(e, r) && + k({ + actual: e, + expected: r, + message: n, + operator: "notStrictEqual", + stackStartFn: t, + }); + }); + var S = function t(e, r, n) { + var i = this; + !(function (t, e) { + if (!(t instanceof e)) + throw new TypeError( + "Cannot call a class as a function", + ); + })(this, t), + r.forEach(function (t) { + t in e && + (void 0 !== n && + "string" == typeof n[t] && + y(e[t]) && + e[t].test(n[t]) + ? (i[t] = n[t]) + : (i[t] = e[t])); + }); + }; + function E(t, e, r, n, i, a) { + if (!(r in t) || !o(t[r], e[r])) { + if (!n) { + var s = new S(t, i), + l = new S(e, i, t), + u = new p({ + actual: s, + expected: l, + operator: "deepStrictEqual", + stackStartFn: a, + }); + throw ( + ((u.actual = t), + (u.expected = e), + (u.operator = a.name), + u) + ); + } + k({ + actual: t, + expected: e, + message: n, + operator: a.name, + stackStartFn: a, + }); + } + } + function L(t, e, r, n) { + if ("function" != typeof e) { + if (y(e)) return e.test(t); + if (2 === arguments.length) + throw new u("expected", ["Function", "RegExp"], e); + if ("object" !== i(t) || null === t) { + var o = new p({ + actual: t, + expected: e, + message: r, + operator: "deepStrictEqual", + stackStartFn: n, + }); + throw ((o.operator = n.name), o); + } + var s = Object.keys(e); + if (e instanceof Error) s.push("name", "message"); + else if (0 === s.length) + throw new c( + "error", + e, + "may not be an empty object", + ); + return ( + void 0 === a && b(), + s.forEach(function (i) { + ("string" == typeof t[i] && + y(e[i]) && + e[i].test(t[i])) || + E(t, e, i, r, s, n); + }), + !0 + ); + } + return ( + (void 0 !== e.prototype && t instanceof e) || + (!Error.isPrototypeOf(e) && !0 === e.call({}, t)) + ); + } + function C(t) { + if ("function" != typeof t) + throw new u("fn", "Function", t); + try { + t(); + } catch (t) { + return t; + } + return T; + } + function O(t) { + return ( + g(t) || + (null !== t && + "object" === i(t) && + "function" == typeof t.then && + "function" == typeof t.catch) + ); + } + function P(t) { + return Promise.resolve().then(function () { + var e; + if ("function" == typeof t) { + if (!O((e = t()))) + throw new f( + "instance of Promise", + "promiseFn", + e, + ); + } else { + if (!O(t)) + throw new u( + "promiseFn", + ["Function", "Promise"], + t, + ); + e = t; + } + return Promise.resolve() + .then(function () { + return e; + }) + .then(function () { + return T; + }) + .catch(function (t) { + return t; + }); + }); + } + function I(t, e, r, n) { + if ("string" == typeof r) { + if (4 === arguments.length) + throw new u( + "error", + ["Object", "Error", "Function", "RegExp"], + r, + ); + if ("object" === i(e) && null !== e) { + if (e.message === r) + throw new l( + "error/message", + 'The error message "'.concat( + e.message, + '" is identical to the message.', + ), + ); + } else if (e === r) + throw new l( + "error/message", + 'The error "'.concat( + e, + '" is identical to the message.', + ), + ); + (n = r), (r = void 0); + } else if ( + null != r && + "object" !== i(r) && + "function" != typeof r + ) + throw new u( + "error", + ["Object", "Error", "Function", "RegExp"], + r, + ); + if (e === T) { + var a = ""; + r && r.name && (a += " (".concat(r.name, ")")), + (a += n ? ": ".concat(n) : "."); + var o = + "rejects" === t.name ? "rejection" : "exception"; + k({ + actual: void 0, + expected: r, + operator: t.name, + message: "Missing expected ".concat(o).concat(a), + stackStartFn: t, + }); + } + if (r && !L(e, r, n, t)) throw e; + } + function D(t, e, r, n) { + if (e !== T) { + if ( + ("string" == typeof r && ((n = r), (r = void 0)), + !r || L(e, r)) + ) { + var i = n ? ": ".concat(n) : ".", + a = + "doesNotReject" === t.name + ? "rejection" + : "exception"; + k({ + actual: e, + expected: r, + operator: t.name, + message: + "Got unwanted ".concat(a).concat(i, "\n") + + 'Actual message: "'.concat(e && e.message, '"'), + stackStartFn: t, + }); + } + throw e; + } + } + function z() { + for ( + var t = arguments.length, e = new Array(t), r = 0; + r < t; + r++ + ) + e[r] = arguments[r]; + A.apply(void 0, [z, e.length].concat(e)); + } + (w.throws = function t(e) { + for ( + var r = arguments.length, + n = new Array(r > 1 ? r - 1 : 0), + i = 1; + i < r; + i++ + ) + n[i - 1] = arguments[i]; + I.apply(void 0, [t, C(e)].concat(n)); + }), + (w.rejects = function t(e) { + for ( + var r = arguments.length, + n = new Array(r > 1 ? r - 1 : 0), + i = 1; + i < r; + i++ + ) + n[i - 1] = arguments[i]; + return P(e).then(function (e) { + return I.apply(void 0, [t, e].concat(n)); + }); + }), + (w.doesNotThrow = function t(e) { + for ( + var r = arguments.length, + n = new Array(r > 1 ? r - 1 : 0), + i = 1; + i < r; + i++ + ) + n[i - 1] = arguments[i]; + D.apply(void 0, [t, C(e)].concat(n)); + }), + (w.doesNotReject = function t(e) { + for ( + var r = arguments.length, + n = new Array(r > 1 ? r - 1 : 0), + i = 1; + i < r; + i++ + ) + n[i - 1] = arguments[i]; + return P(e).then(function (e) { + return D.apply(void 0, [t, e].concat(n)); + }); + }), + (w.ifError = function t(e) { + if (null != e) { + var r = "ifError got unwanted exception: "; + "object" === i(e) && "string" == typeof e.message + ? 0 === e.message.length && e.constructor + ? (r += e.constructor.name) + : (r += e.message) + : (r += d(e)); + var n = new p({ + actual: e, + expected: null, + operator: "ifError", + message: r, + stackStartFn: t, + }), + a = e.stack; + if ("string" == typeof a) { + var o = a.split("\n"); + o.shift(); + for ( + var s = n.stack.split("\n"), l = 0; + l < o.length; + l++ + ) { + var u = s.indexOf(o[l]); + if (-1 !== u) { + s = s.slice(0, u); + break; + } + } + n.stack = "" + .concat(s.join("\n"), "\n") + .concat(o.join("\n")); + } + throw n; + } + }), + (w.strict = m(z, w, { + equal: w.strictEqual, + deepEqual: w.deepStrictEqual, + notEqual: w.notStrictEqual, + notDeepEqual: w.notDeepStrictEqual, + })), + (w.strict.strict = w.strict); + }, + 73894: function (t, e, r) { + "use strict"; + var n = r(90386); + function i(t, e, r) { + return ( + e in t + ? Object.defineProperty(t, e, { + value: r, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (t[e] = r), + t + ); + } + function a(t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r]; + (n.enumerable = n.enumerable || !1), + (n.configurable = !0), + "value" in n && (n.writable = !0), + Object.defineProperty(t, n.key, n); + } + } + function o(t, e) { + return !e || + ("object" !== p(e) && "function" != typeof e) + ? s(t) + : e; + } + function s(t) { + if (void 0 === t) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called", + ); + return t; + } + function l(t) { + var e = "function" == typeof Map ? new Map() : void 0; + return ( + (l = function (t) { + if ( + null === t || + ((r = t), + -1 === + Function.toString + .call(r) + .indexOf("[native code]")) + ) + return t; + var r; + if ("function" != typeof t) + throw new TypeError( + "Super expression must either be null or a function", + ); + if (void 0 !== e) { + if (e.has(t)) return e.get(t); + e.set(t, n); + } + function n() { + return c(t, arguments, h(this).constructor); + } + return ( + (n.prototype = Object.create(t.prototype, { + constructor: { + value: n, + enumerable: !1, + writable: !0, + configurable: !0, + }, + })), + f(n, t) + ); + }), + l(t) + ); + } + function u() { + if ("undefined" == typeof Reflect || !Reflect.construct) + return !1; + if (Reflect.construct.sham) return !1; + if ("function" == typeof Proxy) return !0; + try { + return ( + Date.prototype.toString.call( + Reflect.construct(Date, [], function () {}), + ), + !0 + ); + } catch (t) { + return !1; + } + } + function c(t, e, r) { + return ( + (c = u() + ? Reflect.construct + : function (t, e, r) { + var n = [null]; + n.push.apply(n, e); + var i = new (Function.bind.apply(t, n))(); + return r && f(i, r.prototype), i; + }), + c.apply(null, arguments) + ); + } + function f(t, e) { + return ( + (f = + Object.setPrototypeOf || + function (t, e) { + return (t.__proto__ = e), t; + }), + f(t, e) + ); + } + function h(t) { + return ( + (h = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (t) { + return t.__proto__ || Object.getPrototypeOf(t); + }), + h(t) + ); + } + function p(t) { + return ( + (p = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function (t) { + return typeof t; + } + : function (t) { + return t && + "function" == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? "symbol" + : typeof t; + }), + p(t) + ); + } + var d = r(43827).inspect, + v = r(79616).codes.ERR_INVALID_ARG_TYPE; + function g(t, e, r) { + return ( + (void 0 === r || r > t.length) && (r = t.length), + t.substring(r - e.length, r) === e + ); + } + var y = "", + m = "", + x = "", + b = "", + _ = { + deepStrictEqual: + "Expected values to be strictly deep-equal:", + strictEqual: "Expected values to be strictly equal:", + strictEqualObject: + 'Expected "actual" to be reference-equal to "expected":', + deepEqual: + "Expected values to be loosely deep-equal:", + equal: "Expected values to be loosely equal:", + notDeepStrictEqual: + 'Expected "actual" not to be strictly deep-equal to:', + notStrictEqual: + 'Expected "actual" to be strictly unequal to:', + notStrictEqualObject: + 'Expected "actual" not to be reference-equal to "expected":', + notDeepEqual: + 'Expected "actual" not to be loosely deep-equal to:', + notEqual: + 'Expected "actual" to be loosely unequal to:', + notIdentical: + "Values identical but not reference-equal:", + }; + function w(t) { + var e = Object.keys(t), + r = Object.create(Object.getPrototypeOf(t)); + return ( + e.forEach(function (e) { + r[e] = t[e]; + }), + Object.defineProperty(r, "message", { + value: t.message, + }), + r + ); + } + function T(t) { + return d(t, { + compact: !1, + customInspect: !1, + depth: 1e3, + maxArrayLength: 1 / 0, + showHidden: !1, + breakLength: 1 / 0, + showProxy: !1, + sorted: !0, + getters: !0, + }); + } + var k = (function (t) { + function e(t) { + var r; + if ( + ((function (t, e) { + if (!(t instanceof e)) + throw new TypeError( + "Cannot call a class as a function", + ); + })(this, e), + "object" !== p(t) || null === t) + ) + throw new v("options", "Object", t); + var i = t.message, + a = t.operator, + l = t.stackStartFn, + u = t.actual, + c = t.expected, + f = Error.stackTraceLimit; + if (((Error.stackTraceLimit = 0), null != i)) + r = o(this, h(e).call(this, String(i))); + else if ( + (n.stderr && + n.stderr.isTTY && + (n.stderr && + n.stderr.getColorDepth && + 1 !== n.stderr.getColorDepth() + ? ((y = ""), + (m = ""), + (b = ""), + (x = "")) + : ((y = ""), (m = ""), (b = ""), (x = ""))), + "object" === p(u) && + null !== u && + "object" === p(c) && + null !== c && + "stack" in u && + u instanceof Error && + "stack" in c && + c instanceof Error && + ((u = w(u)), (c = w(c))), + "deepStrictEqual" === a || "strictEqual" === a) + ) + r = o( + this, + h(e).call( + this, + (function (t, e, r) { + var i = "", + a = "", + o = 0, + s = "", + l = !1, + u = T(t), + c = u.split("\n"), + f = T(e).split("\n"), + h = 0, + d = ""; + if ( + ("strictEqual" === r && + "object" === p(t) && + "object" === p(e) && + null !== t && + null !== e && + (r = "strictEqualObject"), + 1 === c.length && + 1 === f.length && + c[0] !== f[0]) + ) { + var v = c[0].length + f[0].length; + if (v <= 10) { + if ( + !( + ("object" === p(t) && null !== t) || + ("object" === p(e) && null !== e) || + (0 === t && 0 === e) + ) + ) + return ( + "".concat(_[r], "\n\n") + + "" + .concat(c[0], " !== ") + .concat(f[0], "\n") + ); + } else if ( + "strictEqualObject" !== r && + v < + (n.stderr && n.stderr.isTTY + ? n.stderr.columns + : 80) + ) { + for (; c[0][h] === f[0][h]; ) h++; + h > 2 && + ((d = "\n ".concat( + (function (t, e) { + if ( + ((e = Math.floor(e)), + 0 == t.length || 0 == e) + ) + return ""; + var r = t.length * e; + for ( + e = Math.floor( + Math.log(e) / Math.log(2), + ); + e; + + ) + (t += t), e--; + return ( + t + t.substring(0, r - t.length) + ); + })(" ", h), + "^", + )), + (h = 0)); + } + } + for ( + var w = c[c.length - 1], + k = f[f.length - 1]; + w === k && + (h++ < 2 + ? (s = "\n ".concat(w).concat(s)) + : (i = w), + c.pop(), + f.pop(), + 0 !== c.length && 0 !== f.length); + + ) + (w = c[c.length - 1]), + (k = f[f.length - 1]); + var A = Math.max(c.length, f.length); + if (0 === A) { + var M = u.split("\n"); + if (M.length > 30) + for ( + M[26] = "".concat(y, "...").concat(b); + M.length > 27; + + ) + M.pop(); + return "" + .concat(_.notIdentical, "\n\n") + .concat(M.join("\n"), "\n"); + } + h > 3 && + ((s = "\n" + .concat(y, "...") + .concat(b) + .concat(s)), + (l = !0)), + "" !== i && + ((s = "\n ".concat(i).concat(s)), + (i = "")); + var S = 0, + E = + _[r] + + "\n" + .concat(m, "+ actual") + .concat(b, " ") + .concat(x, "- expected") + .concat(b), + L = " " + .concat(y, "...") + .concat(b, " Lines skipped"); + for (h = 0; h < A; h++) { + var C = h - o; + if (c.length < h + 1) + C > 1 && + h > 2 && + (C > 4 + ? ((a += "\n" + .concat(y, "...") + .concat(b)), + (l = !0)) + : C > 3 && + ((a += "\n ".concat(f[h - 2])), + S++), + (a += "\n ".concat(f[h - 1])), + S++), + (o = h), + (i += "\n" + .concat(x, "-") + .concat(b, " ") + .concat(f[h])), + S++; + else if (f.length < h + 1) + C > 1 && + h > 2 && + (C > 4 + ? ((a += "\n" + .concat(y, "...") + .concat(b)), + (l = !0)) + : C > 3 && + ((a += "\n ".concat(c[h - 2])), + S++), + (a += "\n ".concat(c[h - 1])), + S++), + (o = h), + (a += "\n" + .concat(m, "+") + .concat(b, " ") + .concat(c[h])), + S++; + else { + var O = f[h], + P = c[h], + I = + P !== O && + (!g(P, ",") || P.slice(0, -1) !== O); + I && + g(O, ",") && + O.slice(0, -1) === P && + ((I = !1), (P += ",")), + I + ? (C > 1 && + h > 2 && + (C > 4 + ? ((a += "\n" + .concat(y, "...") + .concat(b)), + (l = !0)) + : C > 3 && + ((a += "\n ".concat( + c[h - 2], + )), + S++), + (a += "\n ".concat(c[h - 1])), + S++), + (o = h), + (a += "\n" + .concat(m, "+") + .concat(b, " ") + .concat(P)), + (i += "\n" + .concat(x, "-") + .concat(b, " ") + .concat(O)), + (S += 2)) + : ((a += i), + (i = ""), + (1 !== C && 0 !== h) || + ((a += "\n ".concat(P)), S++)); + } + if (S > 20 && h < A - 2) + return ( + "" + .concat(E) + .concat(L, "\n") + .concat(a, "\n") + .concat(y, "...") + .concat(b) + .concat(i, "\n") + + "".concat(y, "...").concat(b) + ); + } + return "" + .concat(E) + .concat(l ? L : "", "\n") + .concat(a) + .concat(i) + .concat(s) + .concat(d); + })(u, c, a), + ), + ); + else if ( + "notDeepStrictEqual" === a || + "notStrictEqual" === a + ) { + var d = _[a], + k = T(u).split("\n"); + if ( + ("notStrictEqual" === a && + "object" === p(u) && + null !== u && + (d = _.notStrictEqualObject), + k.length > 30) + ) + for ( + k[26] = "".concat(y, "...").concat(b); + k.length > 27; + + ) + k.pop(); + r = + 1 === k.length + ? o( + this, + h(e).call( + this, + "".concat(d, " ").concat(k[0]), + ), + ) + : o( + this, + h(e).call( + this, + "" + .concat(d, "\n\n") + .concat(k.join("\n"), "\n"), + ), + ); + } else { + var A = T(u), + M = "", + S = _[a]; + "notDeepEqual" === a || "notEqual" === a + ? (A = "".concat(_[a], "\n\n").concat(A)).length > + 1024 && + (A = "".concat(A.slice(0, 1021), "...")) + : ((M = "".concat(T(c))), + A.length > 512 && + (A = "".concat(A.slice(0, 509), "...")), + M.length > 512 && + (M = "".concat(M.slice(0, 509), "...")), + "deepEqual" === a || "equal" === a + ? (A = "" + .concat(S, "\n\n") + .concat(A, "\n\nshould equal\n\n")) + : (M = " ".concat(a, " ").concat(M))), + (r = o( + this, + h(e).call(this, "".concat(A).concat(M)), + )); + } + return ( + (Error.stackTraceLimit = f), + (r.generatedMessage = !i), + Object.defineProperty(s(r), "name", { + value: "AssertionError [ERR_ASSERTION]", + enumerable: !1, + writable: !0, + configurable: !0, + }), + (r.code = "ERR_ASSERTION"), + (r.actual = u), + (r.expected = c), + (r.operator = a), + Error.captureStackTrace && + Error.captureStackTrace(s(r), l), + r.stack, + (r.name = "AssertionError"), + o(r) + ); + } + var r, l; + return ( + (function (t, e) { + if ("function" != typeof e && null !== e) + throw new TypeError( + "Super expression must either be null or a function", + ); + (t.prototype = Object.create(e && e.prototype, { + constructor: { + value: t, + writable: !0, + configurable: !0, + }, + })), + e && f(t, e); + })(e, t), + (r = e), + (l = [ + { + key: "toString", + value: function () { + return "" + .concat(this.name, " [") + .concat(this.code, "]: ") + .concat(this.message); + }, + }, + { + key: d.custom, + value: function (t, e) { + return d( + this, + (function (t) { + for (var e = 1; e < arguments.length; e++) { + var r = + null != arguments[e] + ? arguments[e] + : {}, + n = Object.keys(r); + "function" == + typeof Object.getOwnPropertySymbols && + (n = n.concat( + Object.getOwnPropertySymbols( + r, + ).filter(function (t) { + return Object.getOwnPropertyDescriptor( + r, + t, + ).enumerable; + }), + )), + n.forEach(function (e) { + i(t, e, r[e]); + }); + } + return t; + })({}, e, { customInspect: !1, depth: 0 }), + ); + }, + }, + ]), + l && a(r.prototype, l), + e + ); + })(l(Error)); + t.exports = k; + }, + 79616: function (t, e, r) { + "use strict"; + function n(t) { + return ( + (n = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function (t) { + return typeof t; + } + : function (t) { + return t && + "function" == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? "symbol" + : typeof t; + }), + n(t) + ); + } + function i(t) { + return ( + (i = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (t) { + return t.__proto__ || Object.getPrototypeOf(t); + }), + i(t) + ); + } + function a(t, e) { + return ( + (a = + Object.setPrototypeOf || + function (t, e) { + return (t.__proto__ = e), t; + }), + a(t, e) + ); + } + var o, + s, + l = {}; + function u(t, e, r) { + r || (r = Error); + var o = (function (r) { + function o(r, a, s) { + var l; + return ( + (function (t, e) { + if (!(t instanceof e)) + throw new TypeError( + "Cannot call a class as a function", + ); + })(this, o), + (l = (function (t, e) { + return !e || + ("object" !== n(e) && "function" != typeof e) + ? (function (t) { + if (void 0 === t) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called", + ); + return t; + })(t) + : e; + })( + this, + i(o).call( + this, + (function (t, r, n) { + return "string" == typeof e + ? e + : e(t, r, n); + })(r, a, s), + ), + )), + (l.code = t), + l + ); + } + return ( + (function (t, e) { + if ("function" != typeof e && null !== e) + throw new TypeError( + "Super expression must either be null or a function", + ); + (t.prototype = Object.create(e && e.prototype, { + constructor: { + value: t, + writable: !0, + configurable: !0, + }, + })), + e && a(t, e); + })(o, r), + o + ); + })(r); + l[t] = o; + } + function c(t, e) { + if (Array.isArray(t)) { + var r = t.length; + return ( + (t = t.map(function (t) { + return String(t); + })), + r > 2 + ? "one of " + .concat(e, " ") + .concat( + t.slice(0, r - 1).join(", "), + ", or ", + ) + t[r - 1] + : 2 === r + ? "one of " + .concat(e, " ") + .concat(t[0], " or ") + .concat(t[1]) + : "of ".concat(e, " ").concat(t[0]) + ); + } + return "of ".concat(e, " ").concat(String(t)); + } + u( + "ERR_AMBIGUOUS_ARGUMENT", + 'The "%s" argument is ambiguous. %s', + TypeError, + ), + u( + "ERR_INVALID_ARG_TYPE", + function (t, e, i) { + var a, s, l, u, f; + if ( + (void 0 === o && (o = r(32791)), + o( + "string" == typeof t, + "'name' must be a string", + ), + "string" == typeof e && + ((s = "not "), e.substr(0, s.length) === s) + ? ((a = "must not be"), + (e = e.replace(/^not /, ""))) + : (a = "must be"), + (function (t, e, r) { + return ( + (void 0 === r || r > t.length) && + (r = t.length), + t.substring(r - e.length, r) === e + ); + })(t, " argument")) + ) + l = "The " + .concat(t, " ") + .concat(a, " ") + .concat(c(e, "type")); + else { + var h = + ("number" != typeof f && (f = 0), + f + ".".length > (u = t).length || + -1 === u.indexOf(".", f) + ? "argument" + : "property"); + l = 'The "' + .concat(t, '" ') + .concat(h, " ") + .concat(a, " ") + .concat(c(e, "type")); + } + return l + ". Received type ".concat(n(i)); + }, + TypeError, + ), + u( + "ERR_INVALID_ARG_VALUE", + function (t, e) { + var n = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : "is invalid"; + void 0 === s && (s = r(43827)); + var i = s.inspect(e); + return ( + i.length > 128 && + (i = "".concat(i.slice(0, 128), "...")), + "The argument '" + .concat(t, "' ") + .concat(n, ". Received ") + .concat(i) + ); + }, + TypeError, + RangeError, + ), + u( + "ERR_INVALID_RETURN_VALUE", + function (t, e, r) { + var i; + return ( + (i = + r && r.constructor && r.constructor.name + ? "instance of ".concat(r.constructor.name) + : "type ".concat(n(r))), + "Expected " + .concat(t, ' to be returned from the "') + .concat(e, '"') + + " function but got ".concat(i, ".") + ); + }, + TypeError, + ), + u( + "ERR_MISSING_ARGS", + function () { + for ( + var t = arguments.length, e = new Array(t), n = 0; + n < t; + n++ + ) + e[n] = arguments[n]; + void 0 === o && (o = r(32791)), + o( + e.length > 0, + "At least one arg needs to be specified", + ); + var i = "The ", + a = e.length; + switch ( + ((e = e.map(function (t) { + return '"'.concat(t, '"'); + })), + a) + ) { + case 1: + i += "".concat(e[0], " argument"); + break; + case 2: + i += "" + .concat(e[0], " and ") + .concat(e[1], " arguments"); + break; + default: + (i += e.slice(0, a - 1).join(", ")), + (i += ", and ".concat( + e[a - 1], + " arguments", + )); + } + return "".concat(i, " must be specified"); + }, + TypeError, + ), + (t.exports.codes = l); + }, + 74061: function (t, e, r) { + "use strict"; + function n(t, e) { + return ( + (function (t) { + if (Array.isArray(t)) return t; + })(t) || + (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 || null == s.return || s.return(); + } finally { + if (i) throw a; + } + } + return r; + })(t, e) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance", + ); + })() + ); + } + function i(t) { + return ( + (i = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function (t) { + return typeof t; + } + : function (t) { + return t && + "function" == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? "symbol" + : typeof t; + }), + i(t) + ); + } + var a = void 0 !== /a/g.flags, + o = function (t) { + var e = []; + return ( + t.forEach(function (t) { + return e.push(t); + }), + e + ); + }, + s = function (t) { + var e = []; + return ( + t.forEach(function (t, r) { + return e.push([r, t]); + }), + e + ); + }, + l = Object.is ? Object.is : r(64003), + u = Object.getOwnPropertySymbols + ? Object.getOwnPropertySymbols + : function () { + return []; + }, + c = Number.isNaN ? Number.isNaN : r(15567); + function f(t) { + return t.call.bind(t); + } + var h = f(Object.prototype.hasOwnProperty), + p = f(Object.prototype.propertyIsEnumerable), + d = f(Object.prototype.toString), + v = r(43827).types, + g = v.isAnyArrayBuffer, + y = v.isArrayBufferView, + m = v.isDate, + x = v.isMap, + b = v.isRegExp, + _ = v.isSet, + w = v.isNativeError, + T = v.isBoxedPrimitive, + k = v.isNumberObject, + A = v.isStringObject, + M = v.isBooleanObject, + S = v.isBigIntObject, + E = v.isSymbolObject, + L = v.isFloat32Array, + C = v.isFloat64Array; + function O(t) { + if (0 === t.length || t.length > 10) return !0; + for (var e = 0; e < t.length; e++) { + var r = t.charCodeAt(e); + if (r < 48 || r > 57) return !0; + } + return 10 === t.length && t >= Math.pow(2, 32); + } + function P(t) { + return Object.keys(t) + .filter(O) + .concat( + u(t).filter( + Object.prototype.propertyIsEnumerable.bind(t), + ), + ); + } + function I(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 D(t, e, r, n) { + if (t === e) return 0 !== t || !r || l(t, e); + if (r) { + if ("object" !== i(t)) + return "number" == typeof t && c(t) && c(e); + if ("object" !== i(e) || null === t || null === e) + return !1; + if ( + Object.getPrototypeOf(t) !== + Object.getPrototypeOf(e) + ) + return !1; + } else { + if (null === t || "object" !== i(t)) + return (null === e || "object" !== i(e)) && t == e; + if (null === e || "object" !== i(e)) return !1; + } + var o, + s, + u, + f, + h = d(t); + if (h !== d(e)) return !1; + if (Array.isArray(t)) { + if (t.length !== e.length) return !1; + var p = P(t), + v = P(e); + return p.length === v.length && R(t, e, r, n, 1, p); + } + if ( + "[object Object]" === h && + ((!x(t) && x(e)) || (!_(t) && _(e))) + ) + return !1; + if (m(t)) { + if ( + !m(e) || + Date.prototype.getTime.call(t) !== + Date.prototype.getTime.call(e) + ) + return !1; + } else if (b(t)) { + if ( + !b(e) || + ((u = t), + (f = e), + !(a + ? u.source === f.source && u.flags === f.flags + : RegExp.prototype.toString.call(u) === + RegExp.prototype.toString.call(f))) + ) + return !1; + } else if (w(t) || t instanceof Error) { + if (t.message !== e.message || t.name !== e.name) + return !1; + } else { + if (y(t)) { + if (r || (!L(t) && !C(t))) { + if ( + !(function (t, e) { + return ( + t.byteLength === e.byteLength && + 0 === + I( + new Uint8Array( + t.buffer, + t.byteOffset, + t.byteLength, + ), + new Uint8Array( + e.buffer, + e.byteOffset, + e.byteLength, + ), + ) + ); + })(t, e) + ) + return !1; + } else if ( + !(function (t, e) { + if (t.byteLength !== e.byteLength) return !1; + for (var r = 0; r < t.byteLength; r++) + if (t[r] !== e[r]) return !1; + return !0; + })(t, e) + ) + return !1; + var O = P(t), + D = P(e); + return O.length === D.length && R(t, e, r, n, 0, O); + } + if (_(t)) + return ( + !(!_(e) || t.size !== e.size) && R(t, e, r, n, 2) + ); + if (x(t)) + return ( + !(!x(e) || t.size !== e.size) && R(t, e, r, n, 3) + ); + if (g(t)) { + if ( + ((s = e), + (o = t).byteLength !== s.byteLength || + 0 !== I(new Uint8Array(o), new Uint8Array(s))) + ) + return !1; + } else if ( + T(t) && + !(function (t, e) { + return k(t) + ? k(e) && + l( + Number.prototype.valueOf.call(t), + Number.prototype.valueOf.call(e), + ) + : A(t) + ? A(e) && + String.prototype.valueOf.call(t) === + String.prototype.valueOf.call(e) + : M(t) + ? M(e) && + Boolean.prototype.valueOf.call(t) === + Boolean.prototype.valueOf.call(e) + : S(t) + ? S(e) && + BigInt.prototype.valueOf.call(t) === + BigInt.prototype.valueOf.call(e) + : E(e) && + Symbol.prototype.valueOf.call(t) === + Symbol.prototype.valueOf.call(e); + })(t, e) + ) + return !1; + } + return R(t, e, r, n, 0); + } + function z(t, e) { + return e.filter(function (e) { + return p(t, e); + }); + } + function R(t, e, r, n, i, a) { + if (5 === arguments.length) { + a = Object.keys(t); + var o = Object.keys(e); + if (a.length !== o.length) return !1; + } + for (var s = 0; s < a.length; s++) + if (!h(e, a[s])) return !1; + if (r && 5 === arguments.length) { + var l = u(t); + if (0 !== l.length) { + var c = 0; + for (s = 0; s < l.length; s++) { + var f = l[s]; + if (p(t, f)) { + if (!p(e, f)) return !1; + a.push(f), c++; + } else if (p(e, f)) return !1; + } + var d = u(e); + if (l.length !== d.length && z(e, d).length !== c) + return !1; + } else { + var v = u(e); + if (0 !== v.length && 0 !== z(e, v).length) + return !1; + } + } + if ( + 0 === a.length && + (0 === i || + (1 === i && 0 === t.length) || + 0 === t.size) + ) + return !0; + if (void 0 === n) + n = { val1: new Map(), val2: new Map(), position: 0 }; + else { + var g = n.val1.get(t); + if (void 0 !== g) { + var y = n.val2.get(e); + if (void 0 !== y) return g === y; + } + n.position++; + } + n.val1.set(t, n.position), n.val2.set(e, n.position); + var m = V(t, e, r, a, n, i); + return n.val1.delete(t), n.val2.delete(e), m; + } + function F(t, e, r, n) { + for (var i = o(t), a = 0; a < i.length; a++) { + var s = i[a]; + if (D(e, s, r, n)) return t.delete(s), !0; + } + return !1; + } + function B(t) { + switch (i(t)) { + case "undefined": + return null; + case "object": + return; + case "symbol": + return !1; + case "string": + t = +t; + case "number": + if (c(t)) return !1; + } + return !0; + } + function N(t, e, r) { + var n = B(r); + return null != n ? n : e.has(n) && !t.has(n); + } + function j(t, e, r, n, i) { + var a = B(r); + if (null != a) return a; + var o = e.get(a); + return ( + !((void 0 === o && !e.has(a)) || !D(n, o, !1, i)) && + !t.has(a) && + D(n, o, !1, i) + ); + } + function U(t, e, r, n, i, a) { + for (var s = o(t), l = 0; l < s.length; l++) { + var u = s[l]; + if (D(r, u, i, a) && D(n, e.get(u), i, a)) + return t.delete(u), !0; + } + return !1; + } + function V(t, e, r, a, l, u) { + var c = 0; + if (2 === u) { + if ( + !(function (t, e, r, n) { + for ( + var a = null, s = o(t), l = 0; + l < s.length; + l++ + ) { + var u = s[l]; + if ("object" === i(u) && null !== u) + null === a && (a = new Set()), a.add(u); + else if (!e.has(u)) { + if (r) return !1; + if (!N(t, e, u)) return !1; + null === a && (a = new Set()), a.add(u); + } + } + if (null !== a) { + for (var c = o(e), f = 0; f < c.length; f++) { + var h = c[f]; + if ("object" === i(h) && null !== h) { + if (!F(a, h, r, n)) return !1; + } else if (!r && !t.has(h) && !F(a, h, r, n)) + return !1; + } + return 0 === a.size; + } + return !0; + })(t, e, r, l) + ) + return !1; + } else if (3 === u) { + if ( + !(function (t, e, r, a) { + for ( + var o = null, l = s(t), u = 0; + u < l.length; + u++ + ) { + var c = n(l[u], 2), + f = c[0], + h = c[1]; + if ("object" === i(f) && null !== f) + null === o && (o = new Set()), o.add(f); + else { + var p = e.get(f); + if ( + (void 0 === p && !e.has(f)) || + !D(h, p, r, a) + ) { + if (r) return !1; + if (!j(t, e, f, h, a)) return !1; + null === o && (o = new Set()), o.add(f); + } + } + } + if (null !== o) { + for (var d = s(e), v = 0; v < d.length; v++) { + var g = n(d[v], 2), + y = ((f = g[0]), g[1]); + if ("object" === i(f) && null !== f) { + if (!U(o, t, f, y, r, a)) return !1; + } else if ( + !( + r || + (t.has(f) && D(t.get(f), y, !1, a)) || + U(o, t, f, y, !1, a) + ) + ) + return !1; + } + return 0 === o.size; + } + return !0; + })(t, e, r, l) + ) + return !1; + } else if (1 === u) + for (; c < t.length; c++) { + if (!h(t, c)) { + if (h(e, c)) return !1; + for (var f = Object.keys(t); c < f.length; c++) { + var p = f[c]; + if (!h(e, p) || !D(t[p], e[p], r, l)) return !1; + } + return f.length === Object.keys(e).length; + } + if (!h(e, c) || !D(t[c], e[c], r, l)) return !1; + } + for (c = 0; c < a.length; c++) { + var d = a[c]; + if (!D(t[d], e[d], r, l)) return !1; + } + return !0; + } + t.exports = { + isDeepEqual: function (t, e) { + return D(t, e, !1); + }, + isDeepStrictEqual: function (t, e) { + return D(t, e, !0); + }, + }; + }, + 95341: function (t, e) { + "use strict"; + (e.byteLength = function (t) { + var e = l(t), + r = e[0], + n = e[1]; + return (3 * (r + n)) / 4 - n; + }), + (e.toByteArray = function (t) { + var e, + r, + a = l(t), + o = a[0], + s = a[1], + u = new i( + (function (t, e, r) { + return (3 * (e + r)) / 4 - r; + })(0, o, s), + ), + c = 0, + f = s > 0 ? o - 4 : o; + for (r = 0; r < f; r += 4) + (e = + (n[t.charCodeAt(r)] << 18) | + (n[t.charCodeAt(r + 1)] << 12) | + (n[t.charCodeAt(r + 2)] << 6) | + n[t.charCodeAt(r + 3)]), + (u[c++] = (e >> 16) & 255), + (u[c++] = (e >> 8) & 255), + (u[c++] = 255 & e); + return ( + 2 === s && + ((e = + (n[t.charCodeAt(r)] << 2) | + (n[t.charCodeAt(r + 1)] >> 4)), + (u[c++] = 255 & e)), + 1 === s && + ((e = + (n[t.charCodeAt(r)] << 10) | + (n[t.charCodeAt(r + 1)] << 4) | + (n[t.charCodeAt(r + 2)] >> 2)), + (u[c++] = (e >> 8) & 255), + (u[c++] = 255 & e)), + u + ); + }), + (e.fromByteArray = function (t) { + for ( + var e, + n = t.length, + i = n % 3, + a = [], + o = 16383, + s = 0, + l = n - i; + s < l; + s += o + ) + a.push(u(t, s, s + o > l ? l : s + o)); + return ( + 1 === i + ? ((e = t[n - 1]), + a.push(r[e >> 2] + r[(e << 4) & 63] + "==")) + : 2 === i && + ((e = (t[n - 2] << 8) + t[n - 1]), + a.push( + r[e >> 10] + + r[(e >> 4) & 63] + + r[(e << 2) & 63] + + "=", + )), + a.join("") + ); + }); + for ( + var r = [], + n = [], + i = + "undefined" != typeof Uint8Array + ? Uint8Array + : Array, + a = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", + o = 0, + s = a.length; + o < s; + ++o + ) + (r[o] = a[o]), (n[a.charCodeAt(o)] = o); + function l(t) { + var e = t.length; + if (e % 4 > 0) + throw new Error( + "Invalid string. Length must be a multiple of 4", + ); + var r = t.indexOf("="); + return ( + -1 === r && (r = e), [r, r === e ? 0 : 4 - (r % 4)] + ); + } + function u(t, e, n) { + for (var i, a, o = [], s = e; s < n; s += 3) + (i = + ((t[s] << 16) & 16711680) + + ((t[s + 1] << 8) & 65280) + + (255 & t[s + 2])), + o.push( + r[((a = i) >> 18) & 63] + + r[(a >> 12) & 63] + + r[(a >> 6) & 63] + + r[63 & a], + ); + return o.join(""); + } + (n["-".charCodeAt(0)] = 62), (n["_".charCodeAt(0)] = 63); + }, + 91358: function (t) { + "use strict"; + function e(t, e, r, n, i) { + for (var a = i + 1; n <= i; ) { + var o = (n + i) >>> 1, + s = t[o]; + (void 0 !== r ? r(s, e) : s - e) >= 0 + ? ((a = o), (i = o - 1)) + : (n = o + 1); + } + return a; + } + function r(t, e, r, n, i) { + for (var a = i + 1; n <= i; ) { + var o = (n + i) >>> 1, + s = t[o]; + (void 0 !== r ? r(s, e) : s - e) > 0 + ? ((a = o), (i = o - 1)) + : (n = o + 1); + } + return a; + } + function n(t, e, r, n, i) { + for (var a = n - 1; n <= i; ) { + var o = (n + i) >>> 1, + s = t[o]; + (void 0 !== r ? r(s, e) : s - e) < 0 + ? ((a = o), (n = o + 1)) + : (i = o - 1); + } + return a; + } + function i(t, e, r, n, i) { + for (var a = n - 1; n <= i; ) { + var o = (n + i) >>> 1, + s = t[o]; + (void 0 !== r ? r(s, e) : s - e) <= 0 + ? ((a = o), (n = o + 1)) + : (i = o - 1); + } + return a; + } + function a(t, e, r, n, i) { + for (; n <= i; ) { + var a = (n + i) >>> 1, + o = t[a], + s = void 0 !== r ? r(o, e) : o - e; + if (0 === s) return a; + s <= 0 ? (n = a + 1) : (i = a - 1); + } + return -1; + } + function o(t, e, r, n, i, a) { + return "function" == typeof r + ? a( + t, + e, + r, + void 0 === n ? 0 : 0 | n, + void 0 === i ? t.length - 1 : 0 | i, + ) + : a( + t, + e, + void 0, + void 0 === r ? 0 : 0 | r, + void 0 === n ? t.length - 1 : 0 | n, + ); + } + t.exports = { + ge: function (t, r, n, i, a) { + return o(t, r, n, i, a, e); + }, + gt: function (t, e, n, i, a) { + return o(t, e, n, i, a, r); + }, + lt: function (t, e, r, i, a) { + return o(t, e, r, i, a, n); + }, + le: function (t, e, r, n, a) { + return o(t, e, r, n, a, i); + }, + eq: function (t, e, r, n, i) { + return o(t, e, r, n, i, a); + }, + }; + }, + 13547: function (t, e) { + "use strict"; + function r(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 + ); + } + (e.INT_BITS = 32), + (e.INT_MAX = 2147483647), + (e.INT_MIN = -1 << 31), + (e.sign = function (t) { + return (t > 0) - (t < 0); + }), + (e.abs = function (t) { + var e = t >> 31; + return (t ^ e) - e; + }), + (e.min = function (t, e) { + return e ^ ((t ^ e) & -(t < e)); + }), + (e.max = function (t, e) { + return t ^ ((t ^ e) & -(t < e)); + }), + (e.isPow2 = function (t) { + return !(t & (t - 1) || !t); + }), + (e.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) + ); + }), + (e.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; + }), + (e.popCount = function (t) { + return ( + (16843009 * + (((t = + (858993459 & (t -= (t >>> 1) & 1431655765)) + + ((t >>> 2) & 858993459)) + + (t >>> 4)) & + 252645135)) >>> + 24 + ); + }), + (e.countTrailingZeros = r), + (e.nextPow2 = function (t) { + return ( + (t += 0 === t), + --t, + (t |= t >>> 1), + (t |= t >>> 2), + (t |= t >>> 4), + 1 + ((t |= t >>> 8) | (t >>> 16)) + ); + }), + (e.prevPow2 = function (t) { + return ( + (t |= t >>> 1), + (t |= t >>> 2), + (t |= t >>> 4), + (t |= t >>> 8), + (t |= t >>> 16) - (t >>> 1) + ); + }), + (e.parity = function (t) { + return ( + (t ^= t >>> 16), + (t ^= t >>> 8), + (t ^= t >>> 4), + (27030 >>> (t &= 15)) & 1 + ); + }); + var n = 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; + } + })(n), + (e.reverse = function (t) { + return ( + (n[255 & t] << 24) | + (n[(t >>> 8) & 255] << 16) | + (n[(t >>> 16) & 255] << 8) | + n[(t >>> 24) & 255] + ); + }), + (e.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) + ); + }), + (e.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 + ); + }), + (e.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) + ); + }), + (e.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 + ); + }), + (e.nextCombination = function (t) { + var e = t | (t - 1); + return (e + 1) | (((~e & -~e) - 1) >>> (r(t) + 1)); + }); + }, + 44781: function (t, e, r) { + "use strict"; + var n = r(53435); + t.exports = function (t, e) { + e || (e = {}); + var r, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g = null == e.cutoff ? 0.25 : e.cutoff, + y = null == e.radius ? 8 : e.radius, + m = 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), + (o = e.height), + (l = t), + (c = e.stride + ? e.stride + : Math.floor(t.length / r / o)); + } else + window.HTMLCanvasElement && + t instanceof window.HTMLCanvasElement + ? ((f = (h = t).getContext("2d")), + (r = h.width), + (o = h.height), + (l = (p = f.getImageData(0, 0, r, o)).data), + (c = 4)) + : window.CanvasRenderingContext2D && + t instanceof window.CanvasRenderingContext2D + ? ((f = t), + (r = (h = t.canvas).width), + (o = h.height), + (l = (p = f.getImageData(0, 0, r, o)).data), + (c = 4)) + : window.ImageData && + t instanceof window.ImageData && + ((p = t), + (r = t.width), + (o = t.height), + (l = p.data), + (c = 4)); + if ( + ((s = Math.max(r, o)), + (window.Uint8ClampedArray && + l instanceof window.Uint8ClampedArray) || + (window.Uint8Array && + l instanceof window.Uint8Array)) + ) + for ( + u = l, l = Array(r * o), d = 0, v = u.length; + d < v; + d++ + ) + l[d] = u[d * c + m] / 255; + else if (1 !== c) + throw Error( + "Raw data can have only 1 value per pixel", + ); + var x = Array(r * o), + b = Array(r * o), + _ = Array(s), + w = Array(s), + T = Array(s + 1), + k = Array(s); + for (d = 0, v = r * o; d < v; d++) { + var A = l[d]; + (x[d] = + 1 === A + ? 0 + : 0 === A + ? i + : Math.pow(Math.max(0, 0.5 - A), 2)), + (b[d] = + 1 === A + ? i + : 0 === A + ? 0 + : Math.pow(Math.max(0, A - 0.5), 2)); + } + a(x, r, o, _, w, k, T), a(b, r, o, _, w, k, T); + var M = window.Float32Array + ? new Float32Array(r * o) + : new Array(r * o); + for (d = 0, v = r * o; d < v; d++) + M[d] = n(1 - ((x[d] - b[d]) / y + g), 0, 1); + return M; + }; + var i = 1e20; + function a(t, e, r, n, i, a, s) { + for (var l = 0; l < e; l++) { + for (var u = 0; u < r; u++) n[u] = t[u * e + l]; + for (o(n, i, a, 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 (o(n, i, a, s, e), l = 0; l < e; l++) + t[u * e + l] = Math.sqrt(i[l]); + } + } + function o(t, e, r, n, a) { + (r[0] = 0), (n[0] = -i), (n[1] = +i); + for (var o = 1, s = 0; o < a; o++) { + for ( + var l = + (t[o] + o * o - (t[r[s]] + r[s] * r[s])) / + (2 * o - 2 * r[s]); + l <= n[s]; + + ) + s--, + (l = + (t[o] + o * o - (t[r[s]] + r[s] * r[s])) / + (2 * o - 2 * r[s])); + (r[++s] = o), (n[s] = l), (n[s + 1] = +i); + } + for (o = 0, s = 0; o < a; o++) { + for (; n[s + 1] < o; ) s++; + e[o] = (o - r[s]) * (o - r[s]) + t[r[s]]; + } + } + }, + 6614: function (t, e, r) { + "use strict"; + var n = r(68318), + i = r(68222), + a = i(n("String.prototype.indexOf")); + t.exports = function (t, e) { + var r = n(t, !!e); + return "function" == typeof r && + a(t, ".prototype.") > -1 + ? i(r) + : r; + }; + }, + 68222: function (t, e, r) { + "use strict"; + var n = r(77575), + i = r(68318), + a = i("%Function.prototype.apply%"), + o = i("%Function.prototype.call%"), + s = i("%Reflect.apply%", !0) || n.call(o, a), + l = i("%Object.getOwnPropertyDescriptor%", !0), + u = i("%Object.defineProperty%", !0), + c = i("%Math.max%"); + if (u) + try { + u({}, "a", { value: 1 }); + } catch (t) { + u = null; + } + t.exports = function (t) { + var e = s(n, o, arguments); + if (l && u) { + var r = l(e, "length"); + r.configurable && + u(e, "length", { + value: + 1 + c(0, t.length - (arguments.length - 1)), + }); + } + return e; + }; + var f = function () { + return s(n, a, arguments); + }; + u + ? u(t.exports, "apply", { value: f }) + : (t.exports.apply = f); + }, + 53435: function (t) { + t.exports = function (t, e, r) { + return e < r + ? t < e + ? e + : t > r + ? r + : t + : t < r + ? r + : t > e + ? e + : t; + }; + }, + 6475: function (t, e, r) { + "use strict"; + var n = r(53435); + function i(t, e) { + null == e && (e = !0); + var r = t[0], + i = t[1], + a = t[2], + o = t[3]; + return ( + null == o && (o = e ? 1 : 255), + e && ((r *= 255), (i *= 255), (a *= 255), (o *= 255)), + 16777216 * (r = 255 & n(r, 0, 255)) + + ((i = 255 & n(i, 0, 255)) << 16) + + ((a = 255 & n(a, 0, 255)) << 8) + + (255 & n(o, 0, 255)) + ); + } + (t.exports = i), + (t.exports.to = i), + (t.exports.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]; + }); + }, + 76857: function (t) { + "use strict"; + t.exports = { + aliceblue: [240, 248, 255], + antiquewhite: [250, 235, 215], + aqua: [0, 255, 255], + aquamarine: [127, 255, 212], + azure: [240, 255, 255], + beige: [245, 245, 220], + bisque: [255, 228, 196], + black: [0, 0, 0], + blanchedalmond: [255, 235, 205], + blue: [0, 0, 255], + blueviolet: [138, 43, 226], + brown: [165, 42, 42], + burlywood: [222, 184, 135], + cadetblue: [95, 158, 160], + chartreuse: [127, 255, 0], + chocolate: [210, 105, 30], + coral: [255, 127, 80], + cornflowerblue: [100, 149, 237], + cornsilk: [255, 248, 220], + crimson: [220, 20, 60], + cyan: [0, 255, 255], + darkblue: [0, 0, 139], + darkcyan: [0, 139, 139], + darkgoldenrod: [184, 134, 11], + darkgray: [169, 169, 169], + darkgreen: [0, 100, 0], + darkgrey: [169, 169, 169], + darkkhaki: [189, 183, 107], + darkmagenta: [139, 0, 139], + darkolivegreen: [85, 107, 47], + darkorange: [255, 140, 0], + darkorchid: [153, 50, 204], + darkred: [139, 0, 0], + darksalmon: [233, 150, 122], + darkseagreen: [143, 188, 143], + darkslateblue: [72, 61, 139], + darkslategray: [47, 79, 79], + darkslategrey: [47, 79, 79], + darkturquoise: [0, 206, 209], + darkviolet: [148, 0, 211], + deeppink: [255, 20, 147], + deepskyblue: [0, 191, 255], + dimgray: [105, 105, 105], + dimgrey: [105, 105, 105], + dodgerblue: [30, 144, 255], + firebrick: [178, 34, 34], + floralwhite: [255, 250, 240], + forestgreen: [34, 139, 34], + fuchsia: [255, 0, 255], + gainsboro: [220, 220, 220], + ghostwhite: [248, 248, 255], + gold: [255, 215, 0], + goldenrod: [218, 165, 32], + gray: [128, 128, 128], + green: [0, 128, 0], + greenyellow: [173, 255, 47], + grey: [128, 128, 128], + honeydew: [240, 255, 240], + hotpink: [255, 105, 180], + indianred: [205, 92, 92], + indigo: [75, 0, 130], + ivory: [255, 255, 240], + khaki: [240, 230, 140], + lavender: [230, 230, 250], + lavenderblush: [255, 240, 245], + lawngreen: [124, 252, 0], + lemonchiffon: [255, 250, 205], + lightblue: [173, 216, 230], + lightcoral: [240, 128, 128], + lightcyan: [224, 255, 255], + lightgoldenrodyellow: [250, 250, 210], + lightgray: [211, 211, 211], + lightgreen: [144, 238, 144], + lightgrey: [211, 211, 211], + lightpink: [255, 182, 193], + lightsalmon: [255, 160, 122], + lightseagreen: [32, 178, 170], + lightskyblue: [135, 206, 250], + lightslategray: [119, 136, 153], + lightslategrey: [119, 136, 153], + lightsteelblue: [176, 196, 222], + lightyellow: [255, 255, 224], + lime: [0, 255, 0], + limegreen: [50, 205, 50], + linen: [250, 240, 230], + magenta: [255, 0, 255], + maroon: [128, 0, 0], + mediumaquamarine: [102, 205, 170], + mediumblue: [0, 0, 205], + mediumorchid: [186, 85, 211], + mediumpurple: [147, 112, 219], + mediumseagreen: [60, 179, 113], + mediumslateblue: [123, 104, 238], + mediumspringgreen: [0, 250, 154], + mediumturquoise: [72, 209, 204], + mediumvioletred: [199, 21, 133], + midnightblue: [25, 25, 112], + mintcream: [245, 255, 250], + mistyrose: [255, 228, 225], + moccasin: [255, 228, 181], + navajowhite: [255, 222, 173], + navy: [0, 0, 128], + oldlace: [253, 245, 230], + olive: [128, 128, 0], + olivedrab: [107, 142, 35], + orange: [255, 165, 0], + orangered: [255, 69, 0], + orchid: [218, 112, 214], + palegoldenrod: [238, 232, 170], + palegreen: [152, 251, 152], + paleturquoise: [175, 238, 238], + palevioletred: [219, 112, 147], + papayawhip: [255, 239, 213], + peachpuff: [255, 218, 185], + peru: [205, 133, 63], + pink: [255, 192, 203], + plum: [221, 160, 221], + powderblue: [176, 224, 230], + purple: [128, 0, 128], + rebeccapurple: [102, 51, 153], + red: [255, 0, 0], + rosybrown: [188, 143, 143], + royalblue: [65, 105, 225], + saddlebrown: [139, 69, 19], + salmon: [250, 128, 114], + sandybrown: [244, 164, 96], + seagreen: [46, 139, 87], + seashell: [255, 245, 238], + sienna: [160, 82, 45], + silver: [192, 192, 192], + skyblue: [135, 206, 235], + slateblue: [106, 90, 205], + slategray: [112, 128, 144], + slategrey: [112, 128, 144], + snow: [255, 250, 250], + springgreen: [0, 255, 127], + steelblue: [70, 130, 180], + tan: [210, 180, 140], + teal: [0, 128, 128], + thistle: [216, 191, 216], + tomato: [255, 99, 71], + turquoise: [64, 224, 208], + violet: [238, 130, 238], + wheat: [245, 222, 179], + white: [255, 255, 255], + whitesmoke: [245, 245, 245], + yellow: [255, 255, 0], + yellowgreen: [154, 205, 50], + }; + }, + 25075: function (t, e, r) { + "use strict"; + var n = r(36652), + i = r(53435), + a = r(90660); + t.exports = function (t, e) { + ("float" !== e && e) || (e = "array"), + "uint" === e && (e = "uint8"), + "uint_clamped" === e && (e = "uint8_clamped"); + var r = new (a(e))(4), + o = "uint8" !== e && "uint8_clamped" !== e; + return ( + (t.length && "string" != typeof t) || + (((t = n(t))[0] /= 255), + (t[1] /= 255), + (t[2] /= 255)), + (function (t) { + return ( + t instanceof Uint8Array || + t instanceof Uint8ClampedArray || + !!( + Array.isArray(t) && + (t[0] > 1 || 0 === t[0]) && + (t[1] > 1 || 0 === t[1]) && + (t[2] > 1 || 0 === t[2]) && + (!t[3] || t[3] > 1) + ) + ); + })(t) + ? ((r[0] = t[0]), + (r[1] = t[1]), + (r[2] = t[2]), + (r[3] = null != t[3] ? t[3] : 255), + o && + ((r[0] /= 255), + (r[1] /= 255), + (r[2] /= 255), + (r[3] /= 255)), + r) + : (o + ? ((r[0] = t[0]), + (r[1] = t[1]), + (r[2] = t[2]), + (r[3] = null != t[3] ? t[3] : 1)) + : ((r[0] = i(Math.floor(255 * t[0]), 0, 255)), + (r[1] = i(Math.floor(255 * t[1]), 0, 255)), + (r[2] = i(Math.floor(255 * t[2]), 0, 255)), + (r[3] = + null == t[3] + ? 255 + : i(Math.floor(255 * t[3]), 0, 255))), + r) + ); + }; + }, + 90736: function (t, e, r) { + "use strict"; + var n = r(76857), + i = r(10973), + a = r(46775); + t.exports = function (t) { + var e, + s, + l = [], + u = 1; + if ("string" == typeof t) + if (n[t]) (l = n[t].slice()), (s = "rgb"); + else if ("transparent" === t) + (u = 0), (s = "rgb"), (l = [0, 0, 0]); + else if (/^#[A-Fa-f0-9]+$/.test(t)) { + var c = (p = t.slice(1)).length; + (u = 1), + c <= 4 + ? ((l = [ + parseInt(p[0] + p[0], 16), + parseInt(p[1] + p[1], 16), + parseInt(p[2] + p[2], 16), + ]), + 4 === c && + (u = parseInt(p[3] + p[3], 16) / 255)) + : ((l = [ + parseInt(p[0] + p[1], 16), + parseInt(p[2] + p[3], 16), + parseInt(p[4] + p[5], 16), + ]), + 8 === c && + (u = parseInt(p[6] + p[7], 16) / 255)), + l[0] || (l[0] = 0), + l[1] || (l[1] = 0), + l[2] || (l[2] = 0), + (s = "rgb"); + } else if ( + (e = + /^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec( + t, + )) + ) { + var f = e[1], + h = "rgb" === f, + p = f.replace(/a$/, ""); + (s = p), + (c = "cmyk" === p ? 4 : "gray" === p ? 1 : 3), + (l = e[2] + .trim() + .split(/\s*,\s*/) + .map(function (t, e) { + if (/%$/.test(t)) + return e === c + ? parseFloat(t) / 100 + : "rgb" === p + ? (255 * parseFloat(t)) / 100 + : parseFloat(t); + if ("h" === p[e]) { + if (/deg$/.test(t)) return parseFloat(t); + if (void 0 !== o[t]) return o[t]; + } + return parseFloat(t); + })), + f === p && l.push(1), + (u = h || void 0 === l[c] ? 1 : l[c]), + (l = l.slice(0, c)); + } else + t.length > 10 && + /[0-9](?:\s|\/)/.test(t) && + ((l = t.match(/([0-9]+)/g).map(function (t) { + return parseFloat(t); + })), + (s = t + .match(/([a-z])/gi) + .join("") + .toLowerCase())); + else if (isNaN(t)) + if (i(t)) { + var d = a(t.r, t.red, t.R, null); + null !== d + ? ((s = "rgb"), + (l = [ + d, + a(t.g, t.green, t.G), + a(t.b, t.blue, t.B), + ])) + : ((s = "hsl"), + (l = [ + a(t.h, t.hue, t.H), + a(t.s, t.saturation, t.S), + a(t.l, t.lightness, t.L, t.b, t.brightness), + ])), + (u = a(t.a, t.alpha, t.opacity, 1)), + null != t.opacity && (u /= 100); + } else + (Array.isArray(t) || + (r.g.ArrayBuffer && + ArrayBuffer.isView && + ArrayBuffer.isView(t))) && + ((l = [t[0], t[1], t[2]]), + (s = "rgb"), + (u = 4 === t.length ? t[3] : 1)); + else + (s = "rgb"), + (l = [t >>> 16, (65280 & t) >>> 8, 255 & t]); + return { space: s, values: l, alpha: u }; + }; + var o = { + red: 0, + orange: 60, + yellow: 120, + green: 180, + blue: 240, + purple: 300, + }; + }, + 36652: function (t, e, r) { + "use strict"; + var n = r(90736), + i = r(80009), + a = r(53435); + t.exports = function (t) { + var e, + r = n(t); + return r.space + ? (((e = Array(3))[0] = a(r.values[0], 0, 255)), + (e[1] = a(r.values[1], 0, 255)), + (e[2] = a(r.values[2], 0, 255)), + "h" === r.space[0] && (e = i.rgb(e)), + e.push(a(r.alpha, 0, 1)), + e) + : []; + }; + }, + 80009: function (t, e, r) { + "use strict"; + var n = r(6866); + (t.exports = { + name: "hsl", + min: [0, 0, 0], + max: [360, 100, 100], + channel: ["hue", "saturation", "lightness"], + alias: ["HSL"], + rgb: function (t) { + var e, + r, + n, + i, + a, + o = t[0] / 360, + s = t[1] / 100, + l = t[2] / 100; + if (0 === s) return [(a = 255 * l), a, a]; + (e = + 2 * l - + (r = l < 0.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; + }, + }), + (n.hsl = function (t) { + var e, + r, + n = t[0] / 255, + i = t[1] / 255, + a = t[2] / 255, + o = Math.min(n, i, a), + s = Math.max(n, i, a), + l = s - o; + return ( + s === o + ? (e = 0) + : n === s + ? (e = (i - a) / l) + : i === s + ? (e = 2 + (a - n) / l) + : a === s && (e = 4 + (n - i) / l), + (e = Math.min(60 * e, 360)) < 0 && (e += 360), + (r = (o + s) / 2), + [ + e, + 100 * + (s === o + ? 0 + : r <= 0.5 + ? l / (s + o) + : l / (2 - s - o)), + 100 * r, + ] + ); + }); + }, + 6866: function (t) { + "use strict"; + t.exports = { + name: "rgb", + min: [0, 0, 0], + max: [255, 255, 255], + channel: ["red", "green", "blue"], + alias: ["RGB"], + }; + }, + 24138: function (t) { + t.exports = { + AFG: "afghan", + ALA: "\\b\\wland", + ALB: "albania", + DZA: "algeria", + ASM: "^(?=.*americ).*samoa", + AND: "andorra", + AGO: "angola", + AIA: "anguill?a", + ATA: "antarctica", + ATG: "antigua", + ARG: "argentin", + ARM: "armenia", + ABW: "^(?!.*bonaire).*\\baruba", + AUS: "australia", + AUT: "^(?!.*hungary).*austria|\\baustri.*\\bemp", + AZE: "azerbaijan", + BHS: "bahamas", + BHR: "bahrain", + BGD: "bangladesh|^(?=.*east).*paki?stan", + BRB: "barbados", + BLR: "belarus|byelo", + BEL: "^(?!.*luxem).*belgium", + BLZ: "belize|^(?=.*british).*honduras", + BEN: "benin|dahome", + BMU: "bermuda", + BTN: "bhutan", + BOL: "bolivia", + BES: "^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands", + BIH: "herzegovina|bosnia", + BWA: "botswana|bechuana", + BVT: "bouvet", + BRA: "brazil", + IOT: "british.?indian.?ocean", + BRN: "brunei", + BGR: "bulgaria", + BFA: "burkina|\\bfaso|upper.?volta", + BDI: "burundi", + CPV: "verde", + KHM: "cambodia|kampuchea|khmer", + CMR: "cameroon", + CAN: "canada", + CYM: "cayman", + CAF: "\\bcentral.african.republic", + TCD: "\\bchad", + CHL: "\\bchile", + CHN: "^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china", + CXR: "christmas", + CCK: "\\bcocos|keeling", + COL: "colombia", + COM: "comoro", + COG: "^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo", + COK: "\\bcook", + CRI: "costa.?rica", + CIV: "ivoire|ivory", + HRV: "croatia", + CUB: "\\bcuba", + CUW: "^(?!.*bonaire).*\\bcura(c|ç)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|é)union", + ROU: "r(o|u|ou)mania", + RUS: "\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics", + RWA: "rwanda", + BLM: "barth(e|é)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|ã)o.?tom(e|é)", + 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", + }; + }, + 72791: function (t, e, r) { + "use strict"; + t.exports = { parse: r(41004), stringify: r(53313) }; + }, + 63625: function (t, e, r) { + "use strict"; + var n = r(40402); + t.exports = { + isSize: function (t) { + return ( + /^[\d\.]/.test(t) || + -1 !== t.indexOf("/") || + -1 !== n.indexOf(t) + ); + }, + }; + }, + 41004: function (t, e, r) { + "use strict"; + var n = r(90448), + i = r(38732), + a = r(41901), + o = r(15659), + s = r(96209), + l = r(83794), + u = r(99011), + c = r(63625).isSize; + t.exports = h; + var f = (h.cache = {}); + function h(t) { + if ("string" != typeof t) + throw new Error("Font argument must be a string."); + if (f[t]) return f[t]; + if ("" === t) + throw new Error("Cannot parse an empty string."); + if (-1 !== a.indexOf(t)) return (f[t] = { system: t }); + for ( + var e, + r = { + style: "normal", + variant: "normal", + weight: "normal", + stretch: "normal", + lineHeight: "normal", + size: "1rem", + family: ["serif"], + }, + h = u(t, /\s+/); + (e = h.shift()); + + ) { + if (-1 !== i.indexOf(e)) + return ( + ["style", "variant", "weight", "stretch"].forEach( + function (t) { + r[t] = e; + }, + ), + (f[t] = r) + ); + if (-1 === s.indexOf(e)) + if ("normal" !== e && "small-caps" !== e) + if (-1 === l.indexOf(e)) { + if (-1 === o.indexOf(e)) { + if (c(e)) { + var d = u(e, "/"); + if ( + ((r.size = d[0]), + null != d[1] + ? (r.lineHeight = p(d[1])) + : "/" === h[0] && + (h.shift(), + (r.lineHeight = p(h.shift()))), + !h.length) + ) + throw new Error( + "Missing required font-family.", + ); + return ( + (r.family = u(h.join(" "), /\s*,\s*/).map( + n, + )), + (f[t] = r) + ); + } + throw new Error( + "Unknown or unsupported font token: " + e, + ); + } + r.weight = e; + } else r.stretch = e; + else r.variant = e; + else r.style = e; + } + throw new Error("Missing required font-size."); + } + function p(t) { + var e = parseFloat(t); + return e.toString() === t ? e : t; + } + }, + 53313: function (t, e, r) { + "use strict"; + var n = r(71299), + i = r(63625).isSize, + a = d(r(38732)), + o = d(r(41901)), + s = d(r(15659)), + l = d(r(96209)), + u = d(r(83794)), + c = { normal: 1, "small-caps": 1 }, + f = { + serif: 1, + "sans-serif": 1, + monospace: 1, + cursive: 1, + fantasy: 1, + "system-ui": 1, + }, + h = "serif"; + function p(t, e) { + if (t && !e[t] && !a[t]) + throw Error("Unknown keyword `" + t + "`"); + return t; + } + function d(t) { + for (var e = {}, r = 0; r < t.length; r++) e[t[r]] = 1; + return e; + } + t.exports = function (t) { + if ( + (t = n(t, { + style: + "style fontstyle fontStyle font-style slope distinction", + variant: + "variant font-variant fontVariant fontvariant var capitalization", + weight: + "weight w font-weight fontWeight fontweight", + stretch: + "stretch font-stretch fontStretch fontstretch width", + size: "size s font-size fontSize fontsize height em emSize", + lineHeight: + "lh line-height lineHeight lineheight leading", + family: + "font family fontFamily font-family fontfamily type typeface face", + system: "system reserved default global", + })).system + ) + return t.system && p(t.system, o), t.system; + if ( + (p(t.style, l), + p(t.variant, c), + p(t.weight, s), + p(t.stretch, u), + null == t.size && (t.size = "1rem"), + "number" == typeof t.size && (t.size += "px"), + !i) + ) + throw Error("Bad size value `" + t.size + "`"); + t.family || (t.family = h), + Array.isArray(t.family) && + (t.family.length || (t.family = [h]), + (t.family = t.family + .map(function (t) { + return f[t] ? t : '"' + t + '"'; + }) + .join(", "))); + var e = []; + return ( + e.push(t.style), + t.variant !== t.style && e.push(t.variant), + t.weight !== t.variant && + t.weight !== t.style && + e.push(t.weight), + t.stretch !== t.weight && + t.stretch !== t.variant && + t.stretch !== t.style && + e.push(t.stretch), + e.push( + t.size + + (null == t.lineHeight || + "normal" === t.lineHeight || + t.lineHeight + "" == "1" + ? "" + : "/" + t.lineHeight), + ), + e.push(t.family), + e.filter(Boolean).join(" ") + ); + }; + }, + 55174: function (t, e, r) { + "use strict"; + var n, + i = r(24582), + a = r(10424), + o = r(82527), + s = r(19012), + l = r(21780), + u = r(16906), + c = Function.prototype.bind, + f = Object.defineProperty, + h = Object.prototype.hasOwnProperty; + (n = function (t, e, r) { + var n, + i = a(e) && o(e.value); + return ( + delete (n = s(e)).writable, + delete n.value, + (n.get = function () { + return !r.overwriteDefinition && h.call(this, t) + ? i + : ((e.value = c.call( + i, + r.resolveContext + ? r.resolveContext(this) + : this, + )), + f(this, t, e), + this[t]); + }), + n + ); + }), + (t.exports = function (t) { + var e = l(arguments[1]); + return ( + i(e.resolveContext) && o(e.resolveContext), + u(t, function (t, r) { + return n(r, t, e); + }) + ); + }); + }, + 62072: function (t, e, r) { + "use strict"; + var n = r(24582), + i = r(84985), + a = r(95879), + o = r(21780), + s = r(66741), + l = (t.exports = function (t, e) { + var r, i, l, u, c; + return ( + arguments.length < 2 || "string" != typeof t + ? ((u = e), (e = t), (t = null)) + : (u = arguments[2]), + n(t) + ? ((r = s.call(t, "c")), + (i = s.call(t, "e")), + (l = s.call(t, "w"))) + : ((r = l = !0), (i = !1)), + (c = { + value: e, + configurable: r, + enumerable: i, + writable: l, + }), + u ? a(o(u), c) : c + ); + }); + l.gs = function (t, e, r) { + var l, u, c, f; + return ( + "string" != typeof t + ? ((c = r), (r = e), (e = t), (t = null)) + : (c = arguments[3]), + n(e) + ? i(e) + ? n(r) + ? i(r) || ((c = r), (r = void 0)) + : (r = void 0) + : ((c = e), (e = r = void 0)) + : (e = void 0), + n(t) + ? ((l = s.call(t, "c")), (u = s.call(t, "e"))) + : ((l = !0), (u = !1)), + (f = { + get: e, + set: r, + configurable: l, + enumerable: u, + }), + c ? a(o(c), f) : f + ); + }; + }, + 33064: function (t, e, r) { + "use strict"; + function n(t, e) { + return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; + } + r.d(e, { + j2: function () { + return n; + }, + Fp: function () { + return s; + }, + J6: function () { + return u; + }, + TS: function () { + return c; + }, + VV: function () { + return f; + }, + w6: function () { + return h; + }, + Sm: function () { + return p; + }, + }), + 1 === (i = n).length && + ((a = i), + (i = function (t, e) { + return n(a(t), e); + })); + var i, + a, + o = Array.prototype; + function s(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; + } + function l(t) { + return null === t ? NaN : +t; + } + function u(t, e) { + var r, + n = t.length, + i = n, + a = -1, + o = 0; + if (null == e) + for (; ++a < n; ) + isNaN((r = l(t[a]))) ? --i : (o += r); + else + for (; ++a < n; ) + isNaN((r = l(e(t[a], a, t)))) ? --i : (o += r); + if (i) return o / i; + } + function c(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; + } + function f(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; + } + function h(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; + } + function p(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; + } + o.slice, + o.map, + Math.sqrt(50), + Math.sqrt(10), + Math.sqrt(2); + }, + 15140: function (t, e, r) { + "use strict"; + r.d(e, { + UI: function () { + return o; + }, + b1: function () { + return s; + }, + }); + var n = "$"; + function i() {} + function a(t, e) { + var r = new i(); + if (t instanceof i) + t.each(function (t, e) { + r.set(e, t); + }); + else if (Array.isArray(t)) { + var n, + a = -1, + o = t.length; + if (null == e) for (; ++a < o; ) r.set(a, t[a]); + else for (; ++a < o; ) r.set(e((n = t[a]), a, t), n); + } else if (t) for (var s in t) r.set(s, t[s]); + return r; + } + i.prototype = a.prototype = { + constructor: i, + has: function (t) { + return n + t in this; + }, + get: function (t) { + return this[n + t]; + }, + set: function (t, e) { + return (this[n + t] = e), this; + }, + remove: function (t) { + var e = n + t; + return e in this && delete this[e]; + }, + clear: function () { + for (var t in this) t[0] === n && delete this[t]; + }, + keys: function () { + var t = []; + for (var e in this) e[0] === n && t.push(e.slice(1)); + return t; + }, + values: function () { + var t = []; + for (var e in this) e[0] === n && t.push(this[e]); + return t; + }, + entries: function () { + var t = []; + for (var e in this) + e[0] === n && + t.push({ key: e.slice(1), value: this[e] }); + return t; + }, + size: function () { + var t = 0; + for (var e in this) e[0] === n && ++t; + return t; + }, + empty: function () { + for (var t in this) if (t[0] === n) return !1; + return !0; + }, + each: function (t) { + for (var e in this) + e[0] === n && t(this[e], e.slice(1), this); + }, + }; + var o = a; + function s() { + var t, + e, + r, + n = [], + i = []; + function a(r, i, s, l) { + if (i >= n.length) + return null != t && r.sort(t), null != e ? e(r) : r; + for ( + var u, + c, + f, + h = -1, + p = r.length, + d = n[i++], + v = o(), + g = s(); + ++h < p; + + ) + (f = v.get((u = d((c = r[h])) + ""))) + ? f.push(c) + : v.set(u, [c]); + return ( + v.each(function (t, e) { + l(g, e, a(t, i, s, l)); + }), + g + ); + } + function s(t, r) { + if (++r > n.length) return t; + var a, + o = i[r - 1]; + return ( + null != e && r >= n.length + ? (a = t.entries()) + : ((a = []), + t.each(function (t, e) { + a.push({ key: e, values: s(t, r) }); + })), + null != o + ? a.sort(function (t, e) { + return o(t.key, e.key); + }) + : a + ); + } + return (r = { + object: function (t) { + return a(t, 0, l, u); + }, + map: function (t) { + return a(t, 0, c, f); + }, + entries: function (t) { + return s(a(t, 0, c, f), 0); + }, + key: function (t) { + return n.push(t), r; + }, + sortKeys: function (t) { + return (i[n.length - 1] = t), r; + }, + sortValues: function (e) { + return (t = e), r; + }, + rollup: function (t) { + return (e = t), r; + }, + }); + } + function l() { + return {}; + } + function u(t, e, r) { + t[e] = r; + } + function c() { + return o(); + } + function f(t, e, r) { + t.set(e, r); + } + function h() {} + var p = o.prototype; + h.prototype = function (t, e) { + var r = new h(); + if (t instanceof h) + 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; + }.prototype = { + constructor: h, + has: p.has, + add: function (t) { + return (this[n + (t += "")] = t), this; + }, + remove: p.remove, + clear: p.clear, + values: p.keys, + size: p.size, + empty: p.empty, + each: p.each, + }; + }, + 49887: function (t, e, r) { + "use strict"; + function n(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 + ); + } + function i(t) { + return function () { + return t; + }; + } + function a() { + return 1e-6 * (Math.random() - 0.5); + } + function o(t, e, r, n) { + if (isNaN(e) || isNaN(r)) return t; + var i, + a, + o, + s, + l, + u, + c, + f, + h, + p = t._root, + d = { data: n }, + v = t._x0, + g = t._y0, + y = t._x1, + m = t._y1; + if (!p) return (t._root = d), t; + for (; p.length; ) + if ( + ((u = e >= (a = (v + y) / 2)) ? (v = a) : (y = a), + (c = r >= (o = (g + m) / 2)) ? (g = o) : (m = o), + (i = p), + !(p = p[(f = (c << 1) | u)])) + ) + return (i[f] = 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[f] = d) : (t._root = d), t + ); + do { + (i = i + ? (i[f] = new Array(4)) + : (t._root = new Array(4))), + (u = e >= (a = (v + y) / 2)) ? (v = a) : (y = a), + (c = r >= (o = (g + m) / 2)) ? (g = o) : (m = o); + } while ( + (f = (c << 1) | u) == (h = ((l >= o) << 1) | (s >= a)) + ); + return (i[h] = p), (i[f] = d), t; + } + function s(t, e, r, n, i) { + (this.node = t), + (this.x0 = e), + (this.y0 = r), + (this.x1 = n), + (this.y1 = i); + } + function l(t) { + return t[0]; + } + function u(t) { + return t[1]; + } + function c(t, e, r) { + var n = new f( + null == e ? l : e, + null == r ? u : r, + NaN, + NaN, + NaN, + NaN, + ); + return null == t ? n : n.addAll(t); + } + function f(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 h(t) { + for (var e = { data: t.data }, r = e; (t = t.next); ) + r = r.next = { data: t.data }; + return e; + } + r.r(e), + r.d(e, { + forceCenter: function () { + return n; + }, + forceCollide: function () { + return g; + }, + forceLink: function () { + return b; + }, + forceManyBody: function () { + return X; + }, + forceRadial: function () { + return J; + }, + forceSimulation: function () { + return Y; + }, + forceX: function () { + return K; + }, + forceY: function () { + return $; + }, + }); + var p = (c.prototype = f.prototype); + function d(t) { + return t.x + t.vx; + } + function v(t) { + return t.y + t.vy; + } + function g(t) { + var e, + r, + n = 1, + o = 1; + function s() { + for ( + var t, i, s, u, f, h, p, g = e.length, y = 0; + y < o; + ++y + ) + for ( + i = c(e, d, v).visitAfter(l), t = 0; + t < g; + ++t + ) + (s = e[t]), + (h = r[s.index]), + (p = h * h), + (u = s.x + s.vx), + (f = s.y + s.vy), + i.visit(m); + function m(t, e, r, i, o) { + var l = t.data, + c = t.r, + d = h + c; + if (!l) + return ( + e > u + d || i < u - d || r > f + d || o < f - d + ); + if (l.index > s.index) { + var v = u - l.x - l.vx, + g = f - l.y - l.vy, + y = v * v + g * g; + y < d * d && + (0 === v && (y += (v = a()) * v), + 0 === g && (y += (g = a()) * g), + (y = ((d - (y = Math.sqrt(y))) / y) * n), + (s.vx += (v *= y) * (d = (c *= c) / (p + c))), + (s.vy += (g *= y) * d), + (l.vx -= v * (d = 1 - d)), + (l.vy -= g * d)); + } + } + } + function l(t) { + if (t.data) return (t.r = r[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 u() { + if (e) { + var n, + i, + a = e.length; + for (r = new Array(a), n = 0; n < a; ++n) + (i = e[n]), (r[i.index] = +t(i, n, e)); + } + } + return ( + "function" != typeof t && (t = i(null == t ? 1 : +t)), + (s.initialize = function (t) { + (e = t), u(); + }), + (s.iterations = function (t) { + return arguments.length ? ((o = +t), s) : o; + }), + (s.strength = function (t) { + return arguments.length ? ((n = +t), s) : n; + }), + (s.radius = function (e) { + return arguments.length + ? ((t = "function" == typeof e ? e : i(+e)), + u(), + s) + : t; + }), + s + ); + } + (p.copy = function () { + var t, + e, + r = new f( + 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 = h(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] = h(e))); + return r; + }), + (p.add = function (t) { + var e = +this._x.call(null, t), + r = +this._y.call(null, t); + return o(this.cover(e, r), e, r, t); + }), + (p.addAll = function (t) { + var e, + r, + n, + i, + a = t.length, + s = new Array(a), + l = new Array(a), + u = 1 / 0, + c = 1 / 0, + f = -1 / 0, + h = -1 / 0; + for (r = 0; r < a; ++r) + isNaN((n = +this._x.call(null, (e = t[r])))) || + isNaN((i = +this._y.call(null, e))) || + ((s[r] = n), + (l[r] = i), + n < u && (u = n), + n > f && (f = n), + i < c && (c = i), + i > h && (h = i)); + if (u > f || c > h) return this; + for (this.cover(u, c).cover(f, h), r = 0; r < a; ++r) + o(this, s[r], l[r], t[r]); + return this; + }), + (p.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 { + for ( + var o, s, l = i - r, u = this._root; + r > t || t >= i || n > e || e >= a; + + ) + switch ( + ((s = ((e < n) << 1) | (t < r)), + ((o = new Array(4))[s] = u), + (u = o), + (l *= 2), + s) + ) { + case 0: + (i = r + l), (a = n + l); + break; + case 1: + (r = i - l), (a = n + l); + break; + case 2: + (i = r + l), (n = a - l); + break; + case 3: + (r = i - l), (n = a - l); + } + this._root && this._root.length && (this._root = u); + } + return ( + (this._x0 = r), + (this._y0 = n), + (this._x1 = i), + (this._y1 = a), + this + ); + }), + (p.data = function () { + var t = []; + return ( + this.visit(function (e) { + if (!e.length) + do { + t.push(e.data); + } while ((e = e.next)); + }), + t + ); + }), + (p.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], + ]; + }), + (p.find = function (t, e, r) { + var n, + i, + a, + o, + l, + u, + c, + f = this._x0, + h = this._y0, + p = this._x1, + d = this._y1, + v = [], + g = this._root; + for ( + g && v.push(new s(g, f, h, p, d)), + null == r + ? (r = 1 / 0) + : ((f = t - r), + (h = e - r), + (p = t + r), + (d = e + r), + (r *= r)); + (u = v.pop()); + + ) + if ( + !( + !(g = u.node) || + (i = u.x0) > p || + (a = u.y0) > d || + (o = u.x1) < f || + (l = u.y1) < h + ) + ) + if (g.length) { + var y = (i + o) / 2, + m = (a + l) / 2; + v.push( + new s(g[3], y, m, o, l), + new s(g[2], i, m, y, l), + new s(g[1], y, a, o, m), + new s(g[0], i, a, y, m), + ), + (c = ((e >= m) << 1) | (t >= y)) && + ((u = v[v.length - 1]), + (v[v.length - 1] = v[v.length - 1 - c]), + (v[v.length - 1 - c] = u)); + } else { + var x = t - +this._x.call(null, g.data), + b = e - +this._y.call(null, g.data), + _ = x * x + b * b; + if (_ < r) { + var w = Math.sqrt((r = _)); + (f = t - w), + (h = e - w), + (p = t + w), + (d = e + w), + (n = g.data); + } + } + return n; + }), + (p.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, + f, + h, + p = this._root, + d = this._x0, + v = this._y0, + g = this._x1, + y = this._y1; + if (!p) return this; + if (p.length) + for (;;) { + if ( + ((u = a >= (s = (d + g) / 2)) + ? (d = s) + : (g = s), + (c = o >= (l = (v + y) / 2)) + ? (v = l) + : (y = l), + (e = p), + !(p = p[(f = (c << 1) | u)])) + ) + return this; + if (!p.length) break; + (e[(f + 1) & 3] || + e[(f + 2) & 3] || + e[(f + 3) & 3]) && + ((r = e), (h = f)); + } + 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[f] = i) : delete e[f], + (p = e[0] || e[1] || e[2] || e[3]) && + p === (e[3] || e[2] || e[1] || e[0]) && + !p.length && + (r ? (r[h] = p) : (this._root = p)), + this) + : ((this._root = i), this) + ); + }), + (p.removeAll = function (t) { + for (var e = 0, r = t.length; e < r; ++e) + this.remove(t[e]); + return this; + }), + (p.root = function () { + return this._root; + }), + (p.size = function () { + var t = 0; + return ( + this.visit(function (e) { + if (!e.length) + do { + ++t; + } while ((e = e.next)); + }), + t + ); + }), + (p.visit = function (t) { + var e, + r, + n, + i, + a, + o, + l = [], + u = this._root; + for ( + u && + l.push( + new s(u, this._x0, this._y0, this._x1, this._y1), + ); + (e = l.pop()); + + ) + if ( + !t( + (u = e.node), + (n = e.x0), + (i = e.y0), + (a = e.x1), + (o = e.y1), + ) && + u.length + ) { + var c = (n + a) / 2, + f = (i + o) / 2; + (r = u[3]) && l.push(new s(r, c, f, a, o)), + (r = u[2]) && l.push(new s(r, n, f, c, o)), + (r = u[1]) && l.push(new s(r, c, i, a, f)), + (r = u[0]) && l.push(new s(r, n, i, c, f)); + } + return this; + }), + (p.visitAfter = function (t) { + var e, + r = [], + n = []; + for ( + this._root && + r.push( + new s( + this._root, + this._x0, + this._y0, + this._x1, + this._y1, + ), + ); + (e = r.pop()); + + ) { + var i = e.node; + if (i.length) { + var a, + o = e.x0, + l = e.y0, + u = e.x1, + c = e.y1, + f = (o + u) / 2, + h = (l + c) / 2; + (a = i[0]) && r.push(new s(a, o, l, f, h)), + (a = i[1]) && r.push(new s(a, f, l, u, h)), + (a = i[2]) && r.push(new s(a, o, h, f, c)), + (a = i[3]) && r.push(new s(a, f, h, u, c)); + } + n.push(e); + } + for (; (e = n.pop()); ) + t(e.node, e.x0, e.y0, e.x1, e.y1); + return this; + }), + (p.x = function (t) { + return arguments.length + ? ((this._x = t), this) + : this._x; + }), + (p.y = function (t) { + return arguments.length + ? ((this._y = t), this) + : this._y; + }); + var y = r(15140); + function m(t) { + return t.index; + } + function x(t, e) { + var r = t.get(e); + if (!r) throw new Error("missing: " + e); + return r; + } + function b(t) { + var e, + r, + n, + o, + s, + l = m, + u = function (t) { + return ( + 1 / Math.min(o[t.source.index], o[t.target.index]) + ); + }, + c = i(30), + f = 1; + function h(n) { + for (var i = 0, o = t.length; i < f; ++i) + for (var l, u, c, h, p, d, v, g = 0; g < o; ++g) + (u = (l = t[g]).source), + (h = + (c = l.target).x + c.vx - u.x - u.vx || a()), + (p = c.y + c.vy - u.y - u.vy || a()), + (h *= d = + (((d = Math.sqrt(h * h + p * p)) - r[g]) / + d) * + n * + e[g]), + (p *= d), + (c.vx -= h * (v = s[g])), + (c.vy -= p * v), + (u.vx += h * (v = 1 - v)), + (u.vy += p * v); + } + function p() { + if (n) { + var i, + a, + u = n.length, + c = t.length, + f = (0, y.UI)(n, l); + for (i = 0, o = new Array(u); i < c; ++i) + ((a = t[i]).index = i), + "object" != typeof a.source && + (a.source = x(f, a.source)), + "object" != typeof a.target && + (a.target = x(f, a.target)), + (o[a.source.index] = + (o[a.source.index] || 0) + 1), + (o[a.target.index] = + (o[a.target.index] || 0) + 1); + for (i = 0, s = new Array(c); i < c; ++i) + (a = t[i]), + (s[i] = + o[a.source.index] / + (o[a.source.index] + o[a.target.index])); + (e = new Array(c)), d(), (r = new Array(c)), v(); + } + } + function d() { + if (n) + for (var r = 0, i = t.length; r < i; ++r) + e[r] = +u(t[r], r, t); + } + function v() { + if (n) + for (var e = 0, i = t.length; e < i; ++e) + r[e] = +c(t[e], e, t); + } + return ( + null == t && (t = []), + (h.initialize = function (t) { + (n = t), p(); + }), + (h.links = function (e) { + return arguments.length ? ((t = e), p(), h) : t; + }), + (h.id = function (t) { + return arguments.length ? ((l = t), h) : l; + }), + (h.iterations = function (t) { + return arguments.length ? ((f = +t), h) : f; + }), + (h.strength = function (t) { + return arguments.length + ? ((u = "function" == typeof t ? t : i(+t)), + d(), + h) + : u; + }), + (h.distance = function (t) { + return arguments.length + ? ((c = "function" == typeof t ? t : i(+t)), + v(), + h) + : c; + }), + h + ); + } + var _ = { value: function () {} }; + function w() { + for ( + var t, e = 0, r = arguments.length, n = {}; + e < r; + ++e + ) { + if ( + !(t = arguments[e] + "") || + t in n || + /[\s.]/.test(t) + ) + throw new Error("illegal type: " + t); + n[t] = []; + } + return new T(n); + } + function T(t) { + this._ = t; + } + function k(t, e) { + return t + .trim() + .split(/^|\s+/) + .map(function (t) { + var r = "", + n = t.indexOf("."); + if ( + (n >= 0 && + ((r = t.slice(n + 1)), (t = t.slice(0, n))), + t && !e.hasOwnProperty(t)) + ) + throw new Error("unknown type: " + t); + return { type: t, name: r }; + }); + } + function A(t, e) { + for (var r, n = 0, i = t.length; n < i; ++n) + if ((r = t[n]).name === e) return r.value; + } + function M(t, e, r) { + for (var n = 0, i = t.length; n < i; ++n) + if (t[n].name === e) { + (t[n] = _), + (t = t.slice(0, n).concat(t.slice(n + 1))); + break; + } + return null != r && t.push({ name: e, value: r }), t; + } + T.prototype = w.prototype = { + constructor: T, + on: function (t, e) { + var r, + n = this._, + i = k(t + "", n), + a = -1, + o = i.length; + if (!(arguments.length < 2)) { + if (null != e && "function" != typeof e) + throw new Error("invalid callback: " + e); + for (; ++a < o; ) + if ((r = (t = i[a]).type)) + n[r] = M(n[r], t.name, e); + else if (null == e) + for (r in n) n[r] = M(n[r], t.name, null); + return this; + } + for (; ++a < o; ) + if ((r = (t = i[a]).type) && (r = A(n[r], t.name))) + return r; + }, + copy: function () { + var t = {}, + e = this._; + for (var r in e) t[r] = e[r].slice(); + return new T(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); + }, + }; + var S, + E, + L = w, + C = 0, + O = 0, + P = 0, + I = 0, + D = 0, + z = 0, + R = + "object" == typeof performance && performance.now + ? performance + : Date, + F = + "object" == typeof window && + window.requestAnimationFrame + ? window.requestAnimationFrame.bind(window) + : function (t) { + setTimeout(t, 17); + }; + function B() { + return D || (F(N), (D = R.now() + z)); + } + function N() { + D = 0; + } + function j() { + this._call = this._time = this._next = null; + } + function U(t, e, r) { + var n = new j(); + return n.restart(t, e, r), n; + } + function V() { + (D = (I = R.now()) + z), (C = O = 0); + try { + !(function () { + B(), ++C; + for (var t, e = S; e; ) + (t = D - e._time) >= 0 && e._call.call(null, t), + (e = e._next); + --C; + })(); + } finally { + (C = 0), + (function () { + for (var t, e, r = S, n = 1 / 0; r; ) + r._call + ? (n > r._time && (n = r._time), + (t = r), + (r = r._next)) + : ((e = r._next), + (r._next = null), + (r = t ? (t._next = e) : (S = e))); + (E = t), q(n); + })(), + (D = 0); + } + } + function H() { + var t = R.now(), + e = t - I; + e > 1e3 && ((z -= e), (I = t)); + } + function q(t) { + C || + (O && (O = clearTimeout(O)), + t - D > 24 + ? (t < 1 / 0 && + (O = setTimeout(V, t - R.now() - z)), + P && (P = clearInterval(P))) + : (P || ((I = R.now()), (P = setInterval(H, 1e3))), + (C = 1), + F(V))); + } + function G(t) { + return t.x; + } + function Z(t) { + return t.y; + } + j.prototype = U.prototype = { + constructor: j, + restart: function (t, e, r) { + if ("function" != typeof t) + throw new TypeError("callback is not a function"); + (r = (null == r ? B() : +r) + (null == e ? 0 : +e)), + this._next || + E === this || + (E ? (E._next = this) : (S = this), (E = this)), + (this._call = t), + (this._time = r), + q(); + }, + stop: function () { + this._call && + ((this._call = null), (this._time = 1 / 0), q()); + }, + }; + var W = Math.PI * (3 - Math.sqrt(5)); + function Y(t) { + var e, + r = 1, + n = 0.001, + i = 1 - Math.pow(n, 1 / 300), + a = 0, + o = 0.6, + s = (0, y.UI)(), + l = U(c), + u = L("tick", "end"); + function c() { + f(), + u.call("tick", e), + r < n && (l.stop(), u.call("end", e)); + } + function f(n) { + var l, + u, + c = t.length; + void 0 === n && (n = 1); + for (var f = 0; f < n; ++f) + for ( + r += (a - r) * i, + s.each(function (t) { + t(r); + }), + l = 0; + l < c; + ++l + ) + null == (u = t[l]).fx + ? (u.x += u.vx *= o) + : ((u.x = u.fx), (u.vx = 0)), + null == u.fy + ? (u.y += u.vy *= o) + : ((u.y = u.fy), (u.vy = 0)); + return e; + } + function h() { + for (var e, r = 0, n = t.length; r < n; ++r) { + if ( + (((e = t[r]).index = r), + null != e.fx && (e.x = e.fx), + null != e.fy && (e.y = e.fy), + isNaN(e.x) || isNaN(e.y)) + ) { + var i = 10 * Math.sqrt(r), + a = r * W; + (e.x = i * Math.cos(a)), (e.y = i * Math.sin(a)); + } + (isNaN(e.vx) || isNaN(e.vy)) && (e.vx = e.vy = 0); + } + } + function p(e) { + return e.initialize && e.initialize(t), e; + } + return ( + null == t && (t = []), + h(), + (e = { + tick: f, + restart: function () { + return l.restart(c), e; + }, + stop: function () { + return l.stop(), e; + }, + nodes: function (r) { + return arguments.length + ? ((t = r), h(), s.each(p), e) + : t; + }, + alpha: function (t) { + return arguments.length ? ((r = +t), e) : r; + }, + alphaMin: function (t) { + return arguments.length ? ((n = +t), e) : n; + }, + alphaDecay: function (t) { + return arguments.length ? ((i = +t), e) : +i; + }, + alphaTarget: function (t) { + return arguments.length ? ((a = +t), e) : a; + }, + velocityDecay: function (t) { + return arguments.length + ? ((o = 1 - t), e) + : 1 - o; + }, + force: function (t, r) { + return arguments.length > 1 + ? (null == r ? s.remove(t) : s.set(t, p(r)), e) + : s.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 + ? (u.on(t, r), e) + : u.on(t); + }, + }) + ); + } + function X() { + var t, + e, + r, + n, + o = i(-30), + s = 1, + l = 1 / 0, + u = 0.81; + function f(n) { + var i, + a = t.length, + o = c(t, G, Z).visitAfter(p); + for (r = n, i = 0; i < a; ++i) (e = t[i]), o.visit(d); + } + function h() { + if (t) { + var e, + r, + i = t.length; + for (n = new Array(i), e = 0; e < i; ++e) + (r = t[e]), (n[r.index] = +o(r, e, t)); + } + } + function p(t) { + var e, + r, + i, + a, + o, + s = 0, + l = 0; + if (t.length) { + for (i = a = o = 0; o < 4; ++o) + (e = t[o]) && + (r = Math.abs(e.value)) && + ((s += e.value), + (l += r), + (i += r * e.x), + (a += r * e.y)); + (t.x = i / l), (t.y = a / l); + } else { + ((e = t).x = e.data.x), (e.y = e.data.y); + do { + s += n[e.data.index]; + } while ((e = e.next)); + } + t.value = s; + } + function d(t, i, o, c) { + if (!t.value) return !0; + var f = t.x - e.x, + h = t.y - e.y, + p = c - i, + d = f * f + h * h; + if ((p * p) / u < d) + return ( + d < l && + (0 === f && (d += (f = a()) * f), + 0 === h && (d += (h = a()) * h), + d < s && (d = Math.sqrt(s * d)), + (e.vx += (f * t.value * r) / d), + (e.vy += (h * t.value * r) / d)), + !0 + ); + if (!(t.length || d >= l)) { + (t.data !== e || t.next) && + (0 === f && (d += (f = a()) * f), + 0 === h && (d += (h = a()) * h), + d < s && (d = Math.sqrt(s * d))); + do { + t.data !== e && + ((p = (n[t.data.index] * r) / d), + (e.vx += f * p), + (e.vy += h * p)); + } while ((t = t.next)); + } + } + return ( + (f.initialize = function (e) { + (t = e), h(); + }), + (f.strength = function (t) { + return arguments.length + ? ((o = "function" == typeof t ? t : i(+t)), + h(), + f) + : o; + }), + (f.distanceMin = function (t) { + return arguments.length + ? ((s = t * t), f) + : Math.sqrt(s); + }), + (f.distanceMax = function (t) { + return arguments.length + ? ((l = t * t), f) + : Math.sqrt(l); + }), + (f.theta = function (t) { + return arguments.length + ? ((u = t * t), f) + : Math.sqrt(u); + }), + f + ); + } + function J(t, e, r) { + var n, + a, + o, + s = i(0.1); + function l(t) { + for (var i = 0, s = n.length; i < s; ++i) { + var l = n[i], + u = l.x - e || 1e-6, + c = l.y - r || 1e-6, + f = Math.sqrt(u * u + c * c), + h = ((o[i] - f) * a[i] * t) / f; + (l.vx += u * h), (l.vy += c * h); + } + } + function u() { + if (n) { + var e, + r = n.length; + for ( + a = new Array(r), o = new Array(r), e = 0; + e < r; + ++e + ) + (o[e] = +t(n[e], e, n)), + (a[e] = isNaN(o[e]) ? 0 : +s(n[e], e, n)); + } + } + return ( + "function" != typeof t && (t = i(+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 : i(+t)), + u(), + l) + : s; + }), + (l.radius = function (e) { + return arguments.length + ? ((t = "function" == typeof e ? e : i(+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 + ); + } + function K(t) { + var e, + r, + n, + a = i(0.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 i, + o = e.length; + for ( + r = new Array(o), n = new Array(o), i = 0; + i < o; + ++i + ) + r[i] = isNaN((n[i] = +t(e[i], i, e))) + ? 0 + : +a(e[i], i, e); + } + } + return ( + "function" != typeof t && (t = i(null == t ? 0 : +t)), + (o.initialize = function (t) { + (e = t), s(); + }), + (o.strength = function (t) { + return arguments.length + ? ((a = "function" == typeof t ? t : i(+t)), + s(), + o) + : a; + }), + (o.x = function (e) { + return arguments.length + ? ((t = "function" == typeof e ? e : i(+e)), + s(), + o) + : t; + }), + o + ); + } + function $(t) { + var e, + r, + n, + a = i(0.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 i, + o = e.length; + for ( + r = new Array(o), n = new Array(o), i = 0; + i < o; + ++i + ) + r[i] = isNaN((n[i] = +t(e[i], i, e))) + ? 0 + : +a(e[i], i, e); + } + } + return ( + "function" != typeof t && (t = i(null == t ? 0 : +t)), + (o.initialize = function (t) { + (e = t), s(); + }), + (o.strength = function (t) { + return arguments.length + ? ((a = "function" == typeof t ? t : i(+t)), + s(), + o) + : a; + }), + (o.y = function (e) { + return arguments.length + ? ((t = "function" == typeof e ? e : i(+e)), + s(), + o) + : t; + }), + o + ); + } + }, + 60721: function (t, e, r) { + "use strict"; + function n(t, e) { + if ( + (r = (t = e + ? t.toExponential(e - 1) + : t.toExponential()).indexOf("e")) < 0 + ) + return null; + var r, + n = t.slice(0, r); + return [ + n.length > 1 ? n[0] + n.slice(2) : n, + +t.slice(r + 1), + ]; + } + r.d(e, { + WU: function () { + return h; + }, + FF: function () { + return v; + }, + }); + var i, + a = + /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i; + function o(t) { + if (!(e = a.exec(t))) + throw new Error("invalid format: " + t); + var e; + return new s({ + fill: e[1], + align: e[2], + sign: e[3], + symbol: e[4], + zero: e[5], + width: e[6], + comma: e[7], + precision: e[8] && e[8].slice(1), + trim: e[9], + type: e[10], + }); + } + function s(t) { + (this.fill = void 0 === t.fill ? " " : t.fill + ""), + (this.align = + void 0 === t.align ? ">" : t.align + ""), + (this.sign = void 0 === t.sign ? "-" : t.sign + ""), + (this.symbol = + void 0 === t.symbol ? "" : t.symbol + ""), + (this.zero = !!t.zero), + (this.width = void 0 === t.width ? void 0 : +t.width), + (this.comma = !!t.comma), + (this.precision = + void 0 === t.precision ? void 0 : +t.precision), + (this.trim = !!t.trim), + (this.type = void 0 === t.type ? "" : t.type + ""); + } + function l(t, e) { + var r = n(t, e); + if (!r) return t + ""; + var i = r[0], + a = r[1]; + return a < 0 + ? "0." + new Array(-a).join("0") + i + : i.length > a + 1 + ? i.slice(0, a + 1) + "." + i.slice(a + 1) + : i + new Array(a - i.length + 2).join("0"); + } + (o.prototype = s.prototype), + (s.prototype.toString = function () { + return ( + this.fill + + this.align + + this.sign + + this.symbol + + (this.zero ? "0" : "") + + (void 0 === this.width + ? "" + : Math.max(1, 0 | this.width)) + + (this.comma ? "," : "") + + (void 0 === this.precision + ? "" + : "." + Math.max(0, 0 | this.precision)) + + (this.trim ? "~" : "") + + this.type + ); + }); + var u = { + "%": function (t, e) { + return (100 * t).toFixed(e); + }, + b: function (t) { + return Math.round(t).toString(2); + }, + c: function (t) { + return t + ""; + }, + d: function (t) { + return Math.abs((t = Math.round(t))) >= 1e21 + ? t.toLocaleString("en").replace(/,/g, "") + : t.toString(10); + }, + e: function (t, e) { + return t.toExponential(e); + }, + f: function (t, e) { + return t.toFixed(e); + }, + g: function (t, e) { + return t.toPrecision(e); + }, + o: function (t) { + return Math.round(t).toString(8); + }, + p: function (t, e) { + return l(100 * t, e); + }, + r: l, + s: function (t, e) { + var r = n(t, e); + if (!r) return t + ""; + var a = r[0], + o = r[1], + s = + o - + (i = + 3 * + Math.max(-8, Math.min(8, Math.floor(o / 3)))) + + 1, + l = a.length; + return s === l + ? a + : s > l + ? a + new Array(s - l + 1).join("0") + : s > 0 + ? a.slice(0, s) + "." + a.slice(s) + : "0." + + new Array(1 - s).join("0") + + n(t, Math.max(0, e + s - 1))[0]; + }, + X: function (t) { + return Math.round(t).toString(16).toUpperCase(); + }, + x: function (t) { + return Math.round(t).toString(16); + }, + }; + function c(t) { + return t; + } + var f, + h, + p = Array.prototype.map, + d = [ + "y", + "z", + "a", + "f", + "p", + "n", + "µ", + "m", + "", + "k", + "M", + "G", + "T", + "P", + "E", + "Z", + "Y", + ]; + function v(t) { + var e, + r, + a = + void 0 === t.grouping || void 0 === t.thousands + ? c + : ((e = p.call(t.grouping, Number)), + (r = t.thousands + ""), + function (t, n) { + for ( + var i = t.length, + a = [], + o = 0, + s = e[0], + l = 0; + i > 0 && + s > 0 && + (l + s + 1 > n && (s = Math.max(1, n - l)), + a.push(t.substring((i -= s), i + s)), + !((l += s + 1) > n)); + + ) + s = e[(o = (o + 1) % e.length)]; + return a.reverse().join(r); + }), + s = void 0 === t.currency ? "" : t.currency[0] + "", + l = void 0 === t.currency ? "" : t.currency[1] + "", + f = void 0 === t.decimal ? "." : t.decimal + "", + h = + void 0 === t.numerals + ? c + : (function (t) { + return function (e) { + return e.replace(/[0-9]/g, function (e) { + return t[+e]; + }); + }; + })(p.call(t.numerals, String)), + v = void 0 === t.percent ? "%" : t.percent + "", + g = void 0 === t.minus ? "-" : t.minus + "", + y = void 0 === t.nan ? "NaN" : t.nan + ""; + function m(t) { + var e = (t = o(t)).fill, + r = t.align, + n = t.sign, + c = t.symbol, + p = t.zero, + m = t.width, + x = t.comma, + b = t.precision, + _ = t.trim, + w = t.type; + "n" === w + ? ((x = !0), (w = "g")) + : u[w] || + (void 0 === b && (b = 12), (_ = !0), (w = "g")), + (p || ("0" === e && "=" === r)) && + ((p = !0), (e = "0"), (r = "=")); + var T = + "$" === c + ? s + : "#" === c && /[boxX]/.test(w) + ? "0" + w.toLowerCase() + : "", + k = "$" === c ? l : /[%p]/.test(w) ? v : "", + A = u[w], + M = /[defgprs%]/.test(w); + function S(t) { + var o, + s, + l, + u = T, + c = k; + if ("c" === w) (c = A(t) + c), (t = ""); + else { + var v = (t = +t) < 0 || 1 / t < 0; + if ( + ((t = isNaN(t) ? y : A(Math.abs(t), b)), + _ && + (t = (function (t) { + t: for ( + var e, r = t.length, n = 1, i = -1; + n < r; + ++n + ) + switch (t[n]) { + case ".": + i = e = n; + break; + case "0": + 0 === i && (i = n), (e = n); + break; + default: + if (!+t[n]) break t; + i > 0 && (i = 0); + } + return i > 0 + ? t.slice(0, i) + t.slice(e + 1) + : t; + })(t)), + v && 0 == +t && "+" !== n && (v = !1), + (u = + (v + ? "(" === n + ? n + : g + : "-" === n || "(" === n + ? "" + : n) + u), + (c = + ("s" === w ? d[8 + i / 3] : "") + + c + + (v && "(" === n ? ")" : "")), + M) + ) + for (o = -1, s = t.length; ++o < s; ) + if (48 > (l = t.charCodeAt(o)) || l > 57) { + (c = + (46 === l + ? f + t.slice(o + 1) + : t.slice(o)) + c), + (t = t.slice(0, o)); + break; + } + } + x && !p && (t = a(t, 1 / 0)); + var S = u.length + t.length + c.length, + E = S < m ? new Array(m - S + 1).join(e) : ""; + switch ( + (x && + p && + ((t = a( + E + t, + E.length ? m - c.length : 1 / 0, + )), + (E = "")), + r) + ) { + case "<": + t = u + t + c + E; + break; + case "=": + t = u + E + t + c; + break; + case "^": + t = + E.slice(0, (S = E.length >> 1)) + + u + + t + + c + + E.slice(S); + break; + default: + t = E + u + t + c; + } + return h(t); + } + return ( + (b = + void 0 === b + ? 6 + : /[gprs]/.test(w) + ? Math.max(1, Math.min(21, b)) + : Math.max(0, Math.min(20, b))), + (S.toString = function () { + return t + ""; + }), + S + ); + } + return { + format: m, + formatPrefix: function (t, e) { + var r, + i = m((((t = o(t)).type = "f"), t)), + a = + 3 * + Math.max( + -8, + Math.min( + 8, + Math.floor( + ((r = e), + ((r = n(Math.abs(r))) ? r[1] : NaN) / 3), + ), + ), + ), + s = Math.pow(10, -a), + l = d[8 + a / 3]; + return function (t) { + return i(s * t) + l; + }; + }, + }; + } + (f = v({ + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["$", ""], + minus: "-", + })), + (h = f.format), + f.formatPrefix; + }, + 65704: function (t, e, r) { + "use strict"; + r.r(e), + r.d(e, { + geoAiry: function () { + return z; + }, + geoAiryRaw: function () { + return D; + }, + geoAitoff: function () { + return F; + }, + geoAitoffRaw: function () { + return R; + }, + geoArmadillo: function () { + return N; + }, + geoArmadilloRaw: function () { + return B; + }, + geoAugust: function () { + return U; + }, + geoAugustRaw: function () { + return j; + }, + geoBaker: function () { + return G; + }, + geoBakerRaw: function () { + return q; + }, + geoBerghaus: function () { + return Y; + }, + geoBerghausRaw: function () { + return W; + }, + geoBertin1953: function () { + return rt; + }, + geoBertin1953Raw: function () { + return et; + }, + geoBoggs: function () { + return ct; + }, + geoBoggsRaw: function () { + return ut; + }, + geoBonne: function () { + return vt; + }, + geoBonneRaw: function () { + return dt; + }, + geoBottomley: function () { + return yt; + }, + geoBottomleyRaw: function () { + return gt; + }, + geoBromley: function () { + return xt; + }, + geoBromleyRaw: function () { + return mt; + }, + geoChamberlin: function () { + return Et; + }, + geoChamberlinAfrica: function () { + return St; + }, + geoChamberlinRaw: function () { + return At; + }, + geoCollignon: function () { + return Ct; + }, + geoCollignonRaw: function () { + return Lt; + }, + geoCraig: function () { + return Pt; + }, + geoCraigRaw: function () { + return Ot; + }, + geoCraster: function () { + return zt; + }, + geoCrasterRaw: function () { + return Dt; + }, + geoCylindricalEqualArea: function () { + return Ft; + }, + geoCylindricalEqualAreaRaw: function () { + return Rt; + }, + geoCylindricalStereographic: function () { + return Nt; + }, + geoCylindricalStereographicRaw: function () { + return Bt; + }, + geoEckert1: function () { + return Ut; + }, + geoEckert1Raw: function () { + return jt; + }, + geoEckert2: function () { + return Ht; + }, + geoEckert2Raw: function () { + return Vt; + }, + geoEckert3: function () { + return Gt; + }, + geoEckert3Raw: function () { + return qt; + }, + geoEckert4: function () { + return Wt; + }, + geoEckert4Raw: function () { + return Zt; + }, + geoEckert5: function () { + return Xt; + }, + geoEckert5Raw: function () { + return Yt; + }, + geoEckert6: function () { + return Kt; + }, + geoEckert6Raw: function () { + return Jt; + }, + geoEisenlohr: function () { + return te; + }, + geoEisenlohrRaw: function () { + return Qt; + }, + geoFahey: function () { + return ne; + }, + geoFaheyRaw: function () { + return re; + }, + geoFoucaut: function () { + return ae; + }, + geoFoucautRaw: function () { + return ie; + }, + geoFoucautSinusoidal: function () { + return se; + }, + geoFoucautSinusoidalRaw: function () { + return oe; + }, + geoGilbert: function () { + return he; + }, + geoGingery: function () { + return ge; + }, + geoGingeryRaw: function () { + return pe; + }, + geoGinzburg4: function () { + return xe; + }, + geoGinzburg4Raw: function () { + return me; + }, + geoGinzburg5: function () { + return _e; + }, + geoGinzburg5Raw: function () { + return be; + }, + geoGinzburg6: function () { + return Te; + }, + geoGinzburg6Raw: function () { + return we; + }, + geoGinzburg8: function () { + return Ae; + }, + geoGinzburg8Raw: function () { + return ke; + }, + geoGinzburg9: function () { + return Se; + }, + geoGinzburg9Raw: function () { + return Me; + }, + geoGringorten: function () { + return Ce; + }, + geoGringortenQuincuncial: function () { + return ei; + }, + geoGringortenRaw: function () { + return Le; + }, + geoGuyou: function () { + return De; + }, + geoGuyouRaw: function () { + return Ie; + }, + geoHammer: function () { + return $; + }, + geoHammerRaw: function () { + return J; + }, + geoHammerRetroazimuthal: function () { + return Be; + }, + geoHammerRetroazimuthalRaw: function () { + return Re; + }, + geoHealpix: function () { + return We; + }, + geoHealpixRaw: function () { + return He; + }, + geoHill: function () { + return Xe; + }, + geoHillRaw: function () { + return Ye; + }, + geoHomolosine: function () { + return er; + }, + geoHomolosineRaw: function () { + return tr; + }, + geoHufnagel: function () { + return nr; + }, + geoHufnagelRaw: function () { + return rr; + }, + geoHyperelliptical: function () { + return sr; + }, + geoHyperellipticalRaw: function () { + return or; + }, + geoInterrupt: function () { + return fr; + }, + geoInterruptedBoggs: function () { + return pr; + }, + geoInterruptedHomolosine: function () { + return vr; + }, + geoInterruptedMollweide: function () { + return yr; + }, + geoInterruptedMollweideHemispheres: function () { + return xr; + }, + geoInterruptedQuarticAuthalic: function () { + return hn; + }, + geoInterruptedSinuMollweide: function () { + return _r; + }, + geoInterruptedSinusoidal: function () { + return Tr; + }, + geoKavrayskiy7: function () { + return Ar; + }, + geoKavrayskiy7Raw: function () { + return kr; + }, + geoLagrange: function () { + return Sr; + }, + geoLagrangeRaw: function () { + return Mr; + }, + geoLarrivee: function () { + return Cr; + }, + geoLarriveeRaw: function () { + return Lr; + }, + geoLaskowski: function () { + return Pr; + }, + geoLaskowskiRaw: function () { + return Or; + }, + geoLittrow: function () { + return Dr; + }, + geoLittrowRaw: function () { + return Ir; + }, + geoLoximuthal: function () { + return Rr; + }, + geoLoximuthalRaw: function () { + return zr; + }, + geoMiller: function () { + return Br; + }, + geoMillerRaw: function () { + return Fr; + }, + geoModifiedStereographic: function () { + return Jr; + }, + geoModifiedStereographicAlaska: function () { + return Gr; + }, + geoModifiedStereographicGs48: function () { + return Zr; + }, + geoModifiedStereographicGs50: function () { + return Wr; + }, + geoModifiedStereographicLee: function () { + return Xr; + }, + geoModifiedStereographicMiller: function () { + return Yr; + }, + geoModifiedStereographicRaw: function () { + return Nr; + }, + geoMollweide: function () { + return ot; + }, + geoMollweideRaw: function () { + return at; + }, + geoMtFlatPolarParabolic: function () { + return tn; + }, + geoMtFlatPolarParabolicRaw: function () { + return Qr; + }, + geoMtFlatPolarQuartic: function () { + return rn; + }, + geoMtFlatPolarQuarticRaw: function () { + return en; + }, + geoMtFlatPolarSinusoidal: function () { + return an; + }, + geoMtFlatPolarSinusoidalRaw: function () { + return nn; + }, + geoNaturalEarth: function () { + return on.Z; + }, + geoNaturalEarth2: function () { + return ln; + }, + geoNaturalEarth2Raw: function () { + return sn; + }, + geoNaturalEarthRaw: function () { + return on.K; + }, + geoNellHammer: function () { + return cn; + }, + geoNellHammerRaw: function () { + return un; + }, + geoNicolosi: function () { + return dn; + }, + geoNicolosiRaw: function () { + return pn; + }, + geoPatterson: function () { + return _n; + }, + geoPattersonRaw: function () { + return bn; + }, + geoPeirceQuincuncial: function () { + return ri; + }, + geoPierceQuincuncial: function () { + return ri; + }, + geoPolyconic: function () { + return Tn; + }, + geoPolyconicRaw: function () { + return wn; + }, + geoPolyhedral: function () { + return Ln; + }, + geoPolyhedralButterfly: function () { + return Rn; + }, + geoPolyhedralCollignon: function () { + return Nn; + }, + geoPolyhedralWaterman: function () { + return jn; + }, + geoProject: function () { + return Gn; + }, + geoQuantize: function () { + return ni; + }, + geoQuincuncial: function () { + return ti; + }, + geoRectangularPolyconic: function () { + return ai; + }, + geoRectangularPolyconicRaw: function () { + return ii; + }, + geoRobinson: function () { + return li; + }, + geoRobinsonRaw: function () { + return si; + }, + geoSatellite: function () { + return ci; + }, + geoSatelliteRaw: function () { + return ui; + }, + geoSinuMollweide: function () { + return Qe; + }, + geoSinuMollweideRaw: function () { + return $e; + }, + geoSinusoidal: function () { + return pt; + }, + geoSinusoidalRaw: function () { + return ht; + }, + geoStitch: function () { + return Ti; + }, + geoTimes: function () { + return Ai; + }, + geoTimesRaw: function () { + return ki; + }, + geoTwoPointAzimuthal: function () { + return Li; + }, + geoTwoPointAzimuthalRaw: function () { + return Si; + }, + geoTwoPointAzimuthalUsa: function () { + return Ei; + }, + geoTwoPointEquidistant: function () { + return Pi; + }, + geoTwoPointEquidistantRaw: function () { + return Ci; + }, + geoTwoPointEquidistantUsa: function () { + return Oi; + }, + geoVanDerGrinten: function () { + return Di; + }, + geoVanDerGrinten2: function () { + return Ri; + }, + geoVanDerGrinten2Raw: function () { + return zi; + }, + geoVanDerGrinten3: function () { + return Bi; + }, + geoVanDerGrinten3Raw: function () { + return Fi; + }, + geoVanDerGrinten4: function () { + return ji; + }, + geoVanDerGrinten4Raw: function () { + return Ni; + }, + geoVanDerGrintenRaw: function () { + return Ii; + }, + geoWagner: function () { + return Vi; + }, + geoWagner4: function () { + return Wi; + }, + geoWagner4Raw: function () { + return Zi; + }, + geoWagner6: function () { + return Xi; + }, + geoWagner6Raw: function () { + return Yi; + }, + geoWagner7: function () { + return Hi; + }, + geoWagnerRaw: function () { + return Ui; + }, + geoWiechel: function () { + return Ki; + }, + geoWiechelRaw: function () { + return Ji; + }, + geoWinkel3: function () { + return Qi; + }, + geoWinkel3Raw: function () { + return $i; + }, + }); + var n = r(15002), + i = Math.abs, + a = Math.atan, + o = Math.atan2, + s = (Math.ceil, Math.cos), + l = Math.exp, + u = Math.floor, + c = Math.log, + f = Math.max, + h = Math.min, + p = Math.pow, + d = Math.round, + v = + Math.sign || + function (t) { + return t > 0 ? 1 : t < 0 ? -1 : 0; + }, + g = Math.sin, + y = Math.tan, + m = 1e-6, + x = 1e-12, + b = Math.PI, + _ = b / 2, + w = b / 4, + T = Math.SQRT1_2, + k = O(2), + A = O(b), + M = 2 * b, + S = 180 / b, + E = b / 180; + function L(t) { + return t > 1 ? _ : t < -1 ? -_ : Math.asin(t); + } + function C(t) { + return t > 1 ? 0 : t < -1 ? b : Math.acos(t); + } + function O(t) { + return t > 0 ? Math.sqrt(t) : 0; + } + function P(t) { + return (l(t) - l(-t)) / 2; + } + function I(t) { + return (l(t) + l(-t)) / 2; + } + function D(t) { + var e = y(t / 2), + r = (2 * c(s(t / 2))) / (e * e); + function n(t, e) { + var n = s(t), + i = s(e), + a = g(e), + o = i * n, + l = -( + (1 - o ? c((1 + o) / 2) / (1 - o) : -0.5) + + r / (1 + o) + ); + return [l * i * g(t), l * a]; + } + return ( + (n.invert = function (e, n) { + var a, + l = O(e * e + n * n), + u = -t / 2, + f = 50; + if (!l) return [0, 0]; + do { + var h = u / 2, + p = s(h), + d = g(h), + v = d / p, + y = -c(i(p)); + u -= a = + (((2 / v) * y - r * v - l) / + (-y / (d * d) + 1 - r / (2 * p * p))) * + (p < 0 ? 0.7 : 1); + } while (i(a) > m && --f > 0); + var x = g(u); + return [o(e * x, l * s(u)), L((n * x) / l)]; + }), + n + ); + } + function z() { + var t = _, + e = (0, n.r)(D), + r = e(t); + return ( + (r.radius = function (r) { + return arguments.length ? e((t = r * E)) : t * S; + }), + r.scale(179.976).clipAngle(147) + ); + } + function R(t, e) { + var r = s(e), + n = (function (t) { + return t ? t / Math.sin(t) : 1; + })(C(r * s((t /= 2)))); + return [2 * r * g(t) * n, g(e) * n]; + } + function F() { + return (0, n.Z)(R).scale(152.63); + } + function B(t) { + var e = g(t), + r = s(t), + n = t >= 0 ? 1 : -1, + a = y(n * t), + l = (1 + e - r) / 2; + function u(t, i) { + var u = s(i), + c = s((t /= 2)); + return [ + (1 + u) * g(t), + (n * i > -o(c, a) - 0.001 ? 0 : 10 * -n) + + l + + g(i) * r - + (1 + u) * e * c, + ]; + } + return ( + (u.invert = function (t, u) { + var c = 0, + f = 0, + h = 50; + do { + var p = s(c), + d = g(c), + v = s(f), + y = g(f), + x = 1 + v, + b = x * d - t, + _ = l + y * r - x * e * p - u, + w = (x * p) / 2, + T = -d * y, + k = (e * x * d) / 2, + A = r * v + e * p * y, + M = T * k - A * w, + S = (_ * T - b * A) / M / 2, + E = (b * k - _ * w) / M; + i(E) > 2 && (E /= 2), (c -= S), (f -= E); + } while ((i(S) > m || i(E) > m) && --h > 0); + return n * f > -o(s(c), a) - 0.001 + ? [2 * c, f] + : null; + }), + u + ); + } + function N() { + var t = 20 * E, + e = t >= 0 ? 1 : -1, + r = y(e * t), + i = (0, n.r)(B), + a = i(t), + l = a.stream; + return ( + (a.parallel = function (n) { + return arguments.length + ? ((r = y((e = (t = n * E) >= 0 ? 1 : -1) * t)), + i(t)) + : t * S; + }), + (a.stream = function (n) { + var i = a.rotate(), + u = l(n), + c = (a.rotate([0, 0]), l(n)), + f = a.precision(); + return ( + a.rotate(i), + (u.sphere = function () { + c.polygonStart(), c.lineStart(); + for (var n = -180 * e; e * n < 180; n += 90 * e) + c.point(n, 90 * e); + if (t) + for (; e * (n -= 3 * e * f) >= -180; ) + c.point(n, e * -o(s((n * E) / 2), r) * S); + c.lineEnd(), c.polygonEnd(); + }), + u + ); + }), + a.scale(218.695).center([0, 28.0974]) + ); + } + function j(t, e) { + var r = y(e / 2), + n = O(1 - r * r), + i = 1 + n * s((t /= 2)), + a = (g(t) * n) / i, + o = r / i, + l = a * a, + u = o * o; + return [ + (4 / 3) * a * (3 + l - 3 * u), + (4 / 3) * o * (3 + 3 * l - u), + ]; + } + function U() { + return (0, n.Z)(j).scale(66.1603); + } + (R.invert = function (t, e) { + if (!(t * t + 4 * e * e > b * b + m)) { + var r = t, + n = e, + a = 25; + do { + var o, + l = g(r), + u = g(r / 2), + c = s(r / 2), + f = g(n), + h = s(n), + p = g(2 * n), + d = f * f, + v = h * h, + y = u * u, + x = 1 - v * c * c, + _ = x ? C(h * c) * O((o = 1 / x)) : (o = 0), + w = 2 * _ * h * u - t, + T = _ * f - e, + k = o * (v * y + _ * h * c * d), + A = o * (0.5 * l * p - 2 * _ * f * u), + M = 0.25 * o * (p * u - _ * f * v * l), + S = o * (d * c + _ * y * h), + E = A * M - S * k; + if (!E) break; + var L = (T * A - w * S) / E, + P = (w * M - T * k) / E; + (r -= L), (n -= P); + } while ((i(L) > m || i(P) > m) && --a > 0); + return [r, n]; + } + }), + (j.invert = function (t, e) { + if (((e *= 3 / 8), !(t *= 3 / 8) && i(e) > 1)) + return null; + var r = 1 + t * t + e * e, + n = O((r - O(r * r - 4 * e * e)) / 2), + a = L(n) / 3, + l = n + ? (function (t) { + return c(t + O(t * t - 1)); + })(i(e / n)) / 3 + : (function (t) { + return c(t + O(t * t + 1)); + })(i(t)) / 3, + u = s(a), + f = I(l), + h = f * f - u * u; + return [ + 2 * v(t) * o(P(l) * u, 0.25 - h), + 2 * v(e) * o(f * g(a), 0.25 + h), + ]; + }); + var V = O(8), + H = c(1 + k); + function q(t, e) { + var r = i(e); + return r < w + ? [t, c(y(w + e / 2))] + : [ + t * s(r) * (2 * k - 1 / g(r)), + v(e) * (2 * k * (r - w) - c(y(r / 2))), + ]; + } + function G() { + return (0, n.Z)(q).scale(112.314); + } + q.invert = function (t, e) { + if ((n = i(e)) < H) return [t, 2 * a(l(e)) - _]; + var r, + n, + o = w, + u = 25; + do { + var f = s(o / 2), + h = y(o / 2); + o -= r = + (V * (o - w) - c(h) - n) / (V - (f * f) / (2 * h)); + } while (i(r) > x && --u > 0); + return [t / (s(o) * (V - 1 / g(o))), v(e) * o]; + }; + var Z = r(17889); + function W(t) { + var e = (2 * b) / t; + function r(t, r) { + var n = (0, Z.N)(t, r); + if (i(t) > _) { + var a = o(n[1], n[0]), + l = O(n[0] * n[0] + n[1] * n[1]), + u = e * d((a - _) / e) + _, + c = o(g((a -= u)), 2 - s(a)); + (a = u + L((b / l) * g(c)) - c), + (n[0] = l * s(a)), + (n[1] = l * g(a)); + } + return n; + } + return ( + (r.invert = function (t, r) { + var n = O(t * t + r * r); + if (n > _) { + var i = o(r, t), + l = e * d((i - _) / e) + _, + u = i > l ? -1 : 1, + c = n * s(l - i), + f = + 1 / + y( + u * C((c - b) / O(b * (b - 2 * c) + n * n)), + ); + (i = l + 2 * a((f + u * O(f * f - 3)) / 3)), + (t = n * s(i)), + (r = n * g(i)); + } + return Z.N.invert(t, r); + }), + r + ); + } + function Y() { + var t = 5, + e = (0, n.r)(W), + r = e(t), + i = r.stream, + a = 0.01, + l = -s(a * E), + u = g(a * E); + return ( + (r.lobes = function (r) { + return arguments.length ? e((t = +r)) : t; + }), + (r.stream = function (e) { + var n = r.rotate(), + c = i(e), + f = (r.rotate([0, 0]), i(e)); + return ( + r.rotate(n), + (c.sphere = function () { + f.polygonStart(), f.lineStart(); + for ( + var e = 0, + r = 360 / t, + n = (2 * b) / t, + i = 90 - 180 / t, + c = _; + e < t; + ++e, i -= r, c -= n + ) + f.point(o(u * s(c), l) * S, L(u * g(c)) * S), + i < -90 + ? (f.point(-90, -180 - i - a), + f.point(-90, -180 - i + a)) + : (f.point(90, i + a), + f.point(90, i - a)); + f.lineEnd(), f.polygonEnd(); + }), + c + ); + }), + r + .scale(87.8076) + .center([0, 17.1875]) + .clipAngle(179.999) + ); + } + var X = r(12956); + function J(t, e) { + if ((arguments.length < 2 && (e = t), 1 === e)) + return X.l; + if (e === 1 / 0) return K; + function r(r, n) { + var i = (0, X.l)(r / e, n); + return (i[0] *= t), i; + } + return ( + (r.invert = function (r, n) { + var i = X.l.invert(r / t, n); + return (i[0] *= e), i; + }), + r + ); + } + function K(t, e) { + return [(t * s(e)) / s((e /= 2)), 2 * g(e)]; + } + function $() { + var t = 2, + e = (0, n.r)(J), + r = e(t); + return ( + (r.coefficient = function (r) { + return arguments.length ? e((t = +r)) : t; + }), + r.scale(169.529) + ); + } + function Q(t, e, r) { + var n, + a, + o, + s = 100; + (r = void 0 === r ? 0 : +r), (e = +e); + do { + (a = t(r)) === (o = t(r + m)) && (o = a + m), + (r -= n = (-1e-6 * (a - e)) / (a - o)); + } while (s-- > 0 && i(n) > m); + return s < 0 ? NaN : r; + } + function tt(t, e, r) { + return ( + void 0 === e && (e = 40), + void 0 === r && (r = x), + function (n, a, o, s) { + var l, u, c; + (o = void 0 === o ? 0 : +o), + (s = void 0 === s ? 0 : +s); + for (var f = 0; f < e; f++) { + var h = t(o, s), + p = h[0] - n, + d = h[1] - a; + if (i(p) < r && i(d) < r) break; + var v = p * p + d * d; + if (v > l) (o -= u /= 2), (s -= c /= 2); + else { + l = v; + var g = (o > 0 ? -1 : 1) * r, + y = (s > 0 ? -1 : 1) * r, + m = t(o + g, s), + x = t(o, s + y), + b = (m[0] - h[0]) / g, + _ = (m[1] - h[1]) / g, + w = (x[0] - h[0]) / y, + T = (x[1] - h[1]) / y, + k = T * b - _ * w, + A = (i(k) < 0.5 ? 0.5 : 1) / k; + if ( + ((o += u = (d * w - p * T) * A), + (s += c = (p * _ - d * b) * A), + i(u) < r && i(c) < r) + ) + break; + } + } + return [o, s]; + } + ); + } + function et() { + var t = J(1.68, 2); + function e(e, r) { + if (e + r < -1.4) { + var n = ((e - r + 1.6) * (e + r + 1.4)) / 8; + (e += n), (r -= 0.8 * n * g(r + b / 2)); + } + var i = t(e, r), + a = (1 - s(e * r)) / 12; + return ( + i[1] < 0 && (i[0] *= 1 + a), + i[1] > 0 && (i[1] *= 1 + (a / 1.5) * i[0] * i[0]), + i + ); + } + return (e.invert = tt(e)), e; + } + function rt() { + return (0, n.Z)(et()) + .rotate([-16.5, -42]) + .scale(176.57) + .center([7.93, 0.09]); + } + function nt(t, e) { + var r, + n = t * g(e), + a = 30; + do { + e -= r = (e + g(e) - n) / (1 + s(e)); + } while (i(r) > m && --a > 0); + return e / 2; + } + function it(t, e, r) { + function n(n, i) { + return [t * n * s((i = nt(r, i))), e * g(i)]; + } + return ( + (n.invert = function (n, i) { + return ( + (i = L(i / e)), + [n / (t * s(i)), L((2 * i + g(2 * i)) / r)] + ); + }), + n + ); + } + K.invert = function (t, e) { + var r = 2 * L(e / 2); + return [(t * s(r / 2)) / s(r), r]; + }; + var at = it(k / _, k, b); + function ot() { + return (0, n.Z)(at).scale(169.529); + } + var st = 2.00276, + lt = 1.11072; + function ut(t, e) { + var r = nt(b, e); + return [ + (st * t) / (1 / s(e) + lt / s(r)), + (e + k * g(r)) / st, + ]; + } + function ct() { + return (0, n.Z)(ut).scale(160.857); + } + function ft(t) { + var e = 0, + r = (0, n.r)(t), + i = r(e); + return ( + (i.parallel = function (t) { + return arguments.length ? r((e = t * E)) : e * S; + }), + i + ); + } + function ht(t, e) { + return [t * s(e), e]; + } + function pt() { + return (0, n.Z)(ht).scale(152.63); + } + function dt(t) { + if (!t) return ht; + var e = 1 / y(t); + function r(r, n) { + var i = e + t - n, + a = i ? (r * s(n)) / i : i; + return [i * g(a), e - i * s(a)]; + } + return ( + (r.invert = function (r, n) { + var i = O(r * r + (n = e - n) * n), + a = e + t - i; + return [(i / s(a)) * o(r, n), a]; + }), + r + ); + } + function vt() { + return ft(dt) + .scale(123.082) + .center([0, 26.1441]) + .parallel(45); + } + function gt(t) { + function e(e, r) { + var n = _ - r, + i = n ? (e * t * g(n)) / n : n; + return [(n * g(i)) / t, _ - n * s(i)]; + } + return ( + (e.invert = function (e, r) { + var n = e * t, + i = _ - r, + a = O(n * n + i * i), + s = o(n, i); + return [((a ? a / g(a) : 1) * s) / t, _ - a]; + }), + e + ); + } + function yt() { + var t = 0.5, + e = (0, n.r)(gt), + r = e(t); + return ( + (r.fraction = function (r) { + return arguments.length ? e((t = +r)) : t; + }), + r.scale(158.837) + ); + } + (ut.invert = function (t, e) { + var r, + n, + a = st * e, + o = e < 0 ? -w : w, + l = 25; + do { + (n = a - k * g(o)), + (o -= r = + (g(2 * o) + 2 * o - b * g(n)) / + (2 * s(2 * o) + 2 + b * s(n) * k * s(o))); + } while (i(r) > m && --l > 0); + return ( + (n = a - k * g(o)), + [(t * (1 / s(n) + lt / s(o))) / st, n] + ); + }), + (ht.invert = function (t, e) { + return [t / s(e), e]; + }); + var mt = it(1, 4 / b, b); + function xt() { + return (0, n.Z)(mt).scale(152.63); + } + var bt = r(66624), + _t = r(49386); + function wt(t, e, r, n, a, l) { + var u, + c = s(l); + if (i(t) > 1 || i(l) > 1) u = C(r * a + e * n * c); + else { + var f = g(t / 2), + h = g(l / 2); + u = 2 * L(O(f * f + e * n * h * h)); + } + return i(u) > m + ? [u, o(n * g(l), e * a - r * n * c)] + : [0, 0]; + } + function Tt(t, e, r) { + return C((t * t + e * e - r * r) / (2 * t * e)); + } + function kt(t) { + return t - 2 * b * u((t + b) / (2 * b)); + } + function At(t, e, r) { + for ( + var n, + i = [ + [t[0], t[1], g(t[1]), s(t[1])], + [e[0], e[1], g(e[1]), s(e[1])], + [r[0], r[1], g(r[1]), s(r[1])], + ], + a = i[2], + o = 0; + o < 3; + ++o, a = n + ) + (n = i[o]), + (a.v = wt( + n[1] - a[1], + a[3], + a[2], + n[3], + n[2], + n[0] - a[0], + )), + (a.point = [0, 0]); + var l = Tt(i[0].v[0], i[2].v[0], i[1].v[0]), + u = Tt(i[0].v[0], i[1].v[0], i[2].v[0]), + c = b - l; + (i[2].point[1] = 0), + (i[0].point[0] = -(i[1].point[0] = i[0].v[0] / 2)); + var f = [ + (i[2].point[0] = i[0].point[0] + i[2].v[0] * s(l)), + 2 * + (i[0].point[1] = i[1].point[1] = i[2].v[0] * g(l)), + ]; + return function (t, e) { + var r, + n = g(e), + a = s(e), + o = new Array(3); + for (r = 0; r < 3; ++r) { + var l = i[r]; + if ( + ((o[r] = wt( + e - l[1], + l[3], + l[2], + a, + n, + t - l[0], + )), + !o[r][0]) + ) + return l.point; + o[r][1] = kt(o[r][1] - l.v[1]); + } + var h = f.slice(); + for (r = 0; r < 3; ++r) { + var p = 2 == r ? 0 : r + 1, + d = Tt(i[r].v[0], o[r][0], o[p][0]); + o[r][1] < 0 && (d = -d), + r + ? 1 == r + ? ((d = u - d), + (h[0] -= o[r][0] * s(d)), + (h[1] -= o[r][0] * g(d))) + : ((d = c - d), + (h[0] += o[r][0] * s(d)), + (h[1] += o[r][0] * g(d))) + : ((h[0] += o[r][0] * s(d)), + (h[1] -= o[r][0] * g(d))); + } + return (h[0] /= 3), (h[1] /= 3), h; + }; + } + function Mt(t) { + return (t[0] *= E), (t[1] *= E), t; + } + function St() { + return Et([0, 22], [45, 22], [22.5, -22]) + .scale(380) + .center([22.5, 2]); + } + function Et(t, e, r) { + var i = (0, bt.Z)({ + type: "MultiPoint", + coordinates: [t, e, r], + }), + a = [-i[0], -i[1]], + o = (0, _t.Z)(a), + s = At(Mt(o(t)), Mt(o(e)), Mt(o(r))); + s.invert = tt(s); + var l = (0, n.Z)(s).rotate(a), + u = l.center; + return ( + delete l.rotate, + (l.center = function (t) { + return arguments.length ? u(o(t)) : o.invert(u()); + }), + l.clipAngle(90) + ); + } + function Lt(t, e) { + var r = O(1 - g(e)); + return [(2 / A) * t * r, A * (1 - r)]; + } + function Ct() { + return (0, n.Z)(Lt).scale(95.6464).center([0, 30]); + } + function Ot(t) { + var e = y(t); + function r(t, r) { + return [ + t, + (t ? t / g(t) : 1) * (g(r) * s(t) - e * s(r)), + ]; + } + return ( + (r.invert = e + ? function (t, r) { + t && (r *= g(t) / t); + var n = s(t); + return [ + t, + 2 * o(O(n * n + e * e - r * r) - n, e - r), + ]; + } + : function (t, e) { + return [t, L(t ? (e * y(t)) / t : e)]; + }), + r + ); + } + function Pt() { + return ft(Ot).scale(249.828).clipAngle(90); + } + Lt.invert = function (t, e) { + var r = (r = e / A - 1) * r; + return [r > 0 ? (t * O(b / r)) / 2 : 0, L(1 - r)]; + }; + var It = O(3); + function Dt(t, e) { + return [ + (It * t * (2 * s((2 * e) / 3) - 1)) / A, + It * A * g(e / 3), + ]; + } + function zt() { + return (0, n.Z)(Dt).scale(156.19); + } + function Rt(t) { + var e = s(t); + function r(t, r) { + return [t * e, g(r) / e]; + } + return ( + (r.invert = function (t, r) { + return [t / e, L(r * e)]; + }), + r + ); + } + function Ft() { + return ft(Rt).parallel(38.58).scale(195.044); + } + function Bt(t) { + var e = s(t); + function r(t, r) { + return [t * e, (1 + e) * y(r / 2)]; + } + return ( + (r.invert = function (t, r) { + return [t / e, 2 * a(r / (1 + e))]; + }), + r + ); + } + function Nt() { + return ft(Bt).scale(124.75); + } + function jt(t, e) { + var r = O(8 / (3 * b)); + return [r * t * (1 - i(e) / b), r * e]; + } + function Ut() { + return (0, n.Z)(jt).scale(165.664); + } + function Vt(t, e) { + var r = O(4 - 3 * g(i(e))); + return [ + (2 / O(6 * b)) * t * r, + v(e) * O((2 * b) / 3) * (2 - r), + ]; + } + function Ht() { + return (0, n.Z)(Vt).scale(165.664); + } + function qt(t, e) { + var r = O(b * (4 + b)); + return [ + (2 / r) * t * (1 + O(1 - (4 * e * e) / (b * b))), + (4 / r) * e, + ]; + } + function Gt() { + return (0, n.Z)(qt).scale(180.739); + } + function Zt(t, e) { + var r = (2 + _) * g(e); + e /= 2; + for (var n = 0, a = 1 / 0; n < 10 && i(a) > m; n++) { + var o = s(e); + e -= a = (e + g(e) * (o + 2) - r) / (2 * o * (1 + o)); + } + return [ + (2 / O(b * (4 + b))) * t * (1 + s(e)), + 2 * O(b / (4 + b)) * g(e), + ]; + } + function Wt() { + return (0, n.Z)(Zt).scale(180.739); + } + function Yt(t, e) { + return [ + (t * (1 + s(e))) / O(2 + b), + (2 * e) / O(2 + b), + ]; + } + function Xt() { + return (0, n.Z)(Yt).scale(173.044); + } + function Jt(t, e) { + for ( + var r = (1 + _) * g(e), n = 0, a = 1 / 0; + n < 10 && i(a) > m; + n++ + ) + e -= a = (e + g(e) - r) / (1 + s(e)); + return ( + (r = O(2 + b)), [(t * (1 + s(e))) / r, (2 * e) / r] + ); + } + function Kt() { + return (0, n.Z)(Jt).scale(173.044); + } + (Dt.invert = function (t, e) { + var r = 3 * L(e / (It * A)); + return [(A * t) / (It * (2 * s((2 * r) / 3) - 1)), r]; + }), + (jt.invert = function (t, e) { + var r = O(8 / (3 * b)), + n = e / r; + return [t / (r * (1 - i(n) / b)), n]; + }), + (Vt.invert = function (t, e) { + var r = 2 - i(e) / O((2 * b) / 3); + return [ + (t * O(6 * b)) / (2 * r), + v(e) * L((4 - r * r) / 3), + ]; + }), + (qt.invert = function (t, e) { + var r = O(b * (4 + b)) / 2; + return [ + (t * r) / (1 + O(1 - (e * e * (4 + b)) / (4 * b))), + (e * r) / 2, + ]; + }), + (Zt.invert = function (t, e) { + var r = (e * O((4 + b) / b)) / 2, + n = L(r), + i = s(n); + return [ + t / ((2 / O(b * (4 + b))) * (1 + i)), + L((n + r * (i + 2)) / (2 + _)), + ]; + }), + (Yt.invert = function (t, e) { + var r = O(2 + b), + n = (e * r) / 2; + return [(r * t) / (1 + s(n)), n]; + }), + (Jt.invert = function (t, e) { + var r = 1 + _, + n = O(r / 2); + return [ + (2 * t * n) / (1 + s((e *= n))), + L((e + g(e)) / r), + ]; + }); + var $t = 3 + 2 * k; + function Qt(t, e) { + var r = g((t /= 2)), + n = s(t), + i = O(s(e)), + o = s((e /= 2)), + l = g(e) / (o + k * n * i), + u = O(2 / (1 + l * l)), + f = O((k * o + (n + r) * i) / (k * o + (n - r) * i)); + return [ + $t * (u * (f - 1 / f) - 2 * c(f)), + $t * (u * l * (f + 1 / f) - 2 * a(l)), + ]; + } + function te() { + return (0, n.Z)(Qt).scale(62.5271); + } + Qt.invert = function (t, e) { + if (!(r = j.invert(t / 1.2, 1.065 * e))) return null; + var r, + n = r[0], + o = r[1], + l = 20; + (t /= $t), (e /= $t); + do { + var u = n / 2, + p = o / 2, + d = g(u), + v = s(u), + y = g(p), + x = s(p), + b = s(o), + w = O(b), + A = y / (x + k * v * w), + M = A * A, + S = O(2 / (1 + M)), + E = (k * x + (v + d) * w) / (k * x + (v - d) * w), + L = O(E), + C = L - 1 / L, + P = L + 1 / L, + I = S * C - 2 * c(L) - t, + D = S * A * P - 2 * a(A) - e, + z = y && (T * w * d * M) / y, + R = + (k * v * x + w) / + (2 * (x + k * v * w) * (x + k * v * w) * w), + F = -0.5 * A * S * S * S, + B = F * z, + N = F * R, + U = (U = 2 * x + k * w * (v - d)) * U * L, + V = (k * v * x * w + b) / U, + H = (-k * d * y) / (w * U), + q = C * B - (2 * V) / L + S * (V + V / E), + G = C * N - (2 * H) / L + S * (H + H / E), + Z = + A * P * B - + (2 * z) / (1 + M) + + S * P * z + + S * A * (V - V / E), + W = + A * P * N - + (2 * R) / (1 + M) + + S * P * R + + S * A * (H - H / E), + Y = G * Z - W * q; + if (!Y) break; + var X = (D * G - I * W) / Y, + J = (I * Z - D * q) / Y; + (n -= X), (o = f(-_, h(_, o - J))); + } while ((i(X) > m || i(J) > m) && --l > 0); + return i(i(o) - _) < m ? [0, o] : l && [n, o]; + }; + var ee = s(35 * E); + function re(t, e) { + var r = y(e / 2); + return [t * ee * O(1 - r * r), (1 + ee) * r]; + } + function ne() { + return (0, n.Z)(re).scale(137.152); + } + function ie(t, e) { + var r = e / 2, + n = s(r); + return [((2 * t) / A) * s(e) * n * n, A * y(r)]; + } + function ae() { + return (0, n.Z)(ie).scale(135.264); + } + function oe(t) { + var e = 1 - t, + r = i(b, 0)[0] - i(-b, 0)[0], + n = O((2 * (i(0, _)[1] - i(0, -_)[1])) / r); + function i(r, n) { + var i = s(n), + a = g(n); + return [(i / (e + t * i)) * r, e * n + t * a]; + } + function a(t, e) { + var r = i(t, e); + return [r[0] * n, r[1] / n]; + } + function o(t) { + return a(0, t)[1]; + } + return ( + (a.invert = function (r, i) { + var a = Q(o, i); + return [(r / n) * (t + e / s(a)), a]; + }), + a + ); + } + function se() { + var t = 0.5, + e = (0, n.r)(oe), + r = e(t); + return ( + (r.alpha = function (r) { + return arguments.length ? e((t = +r)) : t; + }), + r.scale(168.725) + ); + } + (re.invert = function (t, e) { + var r = e / (1 + ee); + return [t && t / (ee * O(1 - r * r)), 2 * a(r)]; + }), + (ie.invert = function (t, e) { + var r = a(e / A), + n = s(r), + i = 2 * r; + return [(t * A) / 2 / (s(i) * n * n), i]; + }); + var le = r(57962), + ue = r(97492); + function ce(t) { + return [t[0] / 2, L(y((t[1] / 2) * E)) * S]; + } + function fe(t) { + return [2 * t[0], 2 * a(g(t[1] * E)) * S]; + } + function he(t) { + null == t && (t = le.Z); + var e = t(), + r = (0, ue.Z)() + .scale(S) + .precision(0) + .clipAngle(null) + .translate([0, 0]); + function n(t) { + return e(ce(t)); + } + function i(t) { + n[t] = function () { + return arguments.length + ? (e[t].apply(e, arguments), n) + : e[t](); + }; + } + return ( + e.invert && + (n.invert = function (t) { + return fe(e.invert(t)); + }), + (n.stream = function (t) { + var n = e.stream(t), + i = r.stream({ + point: function (t, e) { + n.point(t / 2, L(y((-e / 2) * E)) * S); + }, + lineStart: function () { + n.lineStart(); + }, + lineEnd: function () { + n.lineEnd(); + }, + polygonStart: function () { + n.polygonStart(); + }, + polygonEnd: function () { + n.polygonEnd(); + }, + }); + return (i.sphere = n.sphere), i; + }), + (n.rotate = function (t) { + return arguments.length + ? (r.rotate(t), n) + : r.rotate(); + }), + (n.center = function (t) { + return arguments.length + ? (e.center(ce(t)), n) + : fe(e.center()); + }), + i("angle"), + i("clipAngle"), + i("clipExtent"), + i("fitExtent"), + i("fitHeight"), + i("fitSize"), + i("fitWidth"), + i("scale"), + i("translate"), + i("precision"), + n.scale(249.5) + ); + } + function pe(t, e) { + var r = (2 * b) / e, + n = t * t; + function a(e, a) { + var l = (0, Z.N)(e, a), + u = l[0], + c = l[1], + f = u * u + c * c; + if (f > n) { + var h = O(f), + p = o(c, u), + v = r * d(p / r), + y = p - v, + x = t * s(y), + w = (t * g(y) - y * g(x)) / (_ - x), + T = de(y, w), + k = (b - t) / ve(T, x, b); + u = h; + var A, + M = 50; + do { + u -= A = (t + ve(T, x, u) * k - h) / (T(u) * k); + } while (i(A) > m && --M > 0); + (c = y * g(u)), u < _ && (c -= w * (u - _)); + var S = g(v), + E = s(v); + (l[0] = u * E - c * S), (l[1] = u * S + c * E); + } + return l; + } + return ( + (a.invert = function (e, a) { + var l = e * e + a * a; + if (l > n) { + var u = O(l), + c = o(a, e), + f = r * d(c / r), + h = c - f; + (e = u * s(h)), (a = u * g(h)); + for ( + var p = e - _, + v = g(e), + y = a / v, + m = e < _ ? 1 / 0 : 0, + w = 10; + ; + + ) { + var T = t * g(y), + k = t * s(y), + A = g(k), + M = _ - k, + S = (T - y * A) / M, + E = de(y, S); + if (i(m) < x || !--w) break; + y -= m = + (y * v - S * p - a) / + (v - + (2 * + p * + (M * (k + y * T * s(k) - A) - + T * (T - y * A))) / + (M * M)); + } + (e = + (u = + t + (ve(E, k, e) * (b - t)) / ve(E, k, b)) * + s((c = f + y))), + (a = u * g(c)); + } + return Z.N.invert(e, a); + }), + a + ); + } + function de(t, e) { + return function (r) { + var n = t * s(r); + return r < _ && (n -= e), O(1 + n * n); + }; + } + function ve(t, e, r) { + for ( + var n = (r - e) / 50, i = t(e) + t(r), a = 1, o = e; + a < 50; + ++a + ) + i += 2 * t((o += n)); + return 0.5 * i * n; + } + function ge() { + var t = 6, + e = 30 * E, + r = s(e), + i = g(e), + a = (0, n.r)(pe), + l = a(e, t), + u = l.stream, + c = -s(0.01 * E), + f = g(0.01 * E); + return ( + (l.radius = function (n) { + return arguments.length + ? ((r = s((e = n * E))), (i = g(e)), a(e, t)) + : e * S; + }), + (l.lobes = function (r) { + return arguments.length ? a(e, (t = +r)) : t; + }), + (l.stream = function (e) { + var n = l.rotate(), + a = u(e), + h = (l.rotate([0, 0]), u(e)); + return ( + l.rotate(n), + (a.sphere = function () { + h.polygonStart(), h.lineStart(); + for ( + var e = 0, n = (2 * b) / t, a = 0; + e < t; + ++e, a -= n + ) + h.point(o(f * s(a), c) * S, L(f * g(a)) * S), + h.point( + o(i * s(a - n / 2), r) * S, + L(i * g(a - n / 2)) * S, + ); + h.lineEnd(), h.polygonEnd(); + }), + a + ); + }), + l.rotate([90, -40]).scale(91.7095).clipAngle(179.999) + ); + } + function ye(t, e, r, n, a, o, l, u) { + function c(i, c) { + if (!c) return [(t * i) / b, 0]; + var f = c * c, + h = t + f * (e + f * (r + f * n)), + p = c * (a - 1 + f * (o - u + f * l)), + d = (h * h + p * p) / (2 * p), + v = (i * L(h / d)) / b; + return [d * g(v), c * (1 + f * u) + d * (1 - s(v))]; + } + return ( + arguments.length < 8 && (u = 0), + (c.invert = function (c, f) { + var h, + p, + d = (b * c) / t, + v = f, + y = 50; + do { + var x = v * v, + _ = t + x * (e + x * (r + x * n)), + w = v * (a - 1 + x * (o - u + x * l)), + T = _ * _ + w * w, + k = 2 * w, + A = T / k, + M = A * A, + S = L(_ / A) / b, + E = d * S, + C = _ * _, + P = (2 * e + x * (4 * r + 6 * x * n)) * v, + I = a + x * (3 * o + 5 * x * l), + D = + (2 * (_ * P + w * (I - 1)) * k - + T * (2 * (I - 1))) / + (k * k), + z = s(E), + R = g(E), + F = A * z, + B = A * R, + N = + ((d / b) * + (1 / O(1 - C / M)) * + (P * A - _ * D)) / + M, + j = B - c, + U = v * (1 + x * u) + A - F - f, + V = D * R + F * N, + H = F * S, + q = 1 + D - (D * z - B * N), + G = B * S, + Z = V * G - q * H; + if (!Z) break; + (d -= h = (U * V - j * q) / Z), + (v -= p = (j * G - U * H) / Z); + } while ((i(h) > m || i(p) > m) && --y > 0); + return [d, v]; + }), + c + ); + } + var me = ye( + 2.8284, + -1.6988, + 0.75432, + -0.18071, + 1.76003, + -0.38914, + 0.042555, + ); + function xe() { + return (0, n.Z)(me).scale(149.995); + } + var be = ye( + 2.583819, + -0.835827, + 0.170354, + -0.038094, + 1.543313, + -0.411435, + 0.082742, + ); + function _e() { + return (0, n.Z)(be).scale(153.93); + } + var we = ye( + (5 / 6) * b, + -0.62636, + -0.0344, + 0, + 1.3493, + -0.05524, + 0, + 0.045, + ); + function Te() { + return (0, n.Z)(we).scale(130.945); + } + function ke(t, e) { + var r = t * t, + n = e * e; + return [ + t * (1 - 0.162388 * n) * (0.87 - 952426e-9 * r * r), + e * (1 + n / 12), + ]; + } + function Ae() { + return (0, n.Z)(ke).scale(131.747); + } + ke.invert = function (t, e) { + var r, + n = t, + a = e, + o = 50; + do { + var s = a * a; + a -= r = (a * (1 + s / 12) - e) / (1 + s / 4); + } while (i(r) > m && --o > 0); + (o = 50), (t /= 1 - 0.162388 * s); + do { + var l = (l = n * n) * l; + n -= r = + (n * (0.87 - 952426e-9 * l) - t) / + (0.87 - 0.00476213 * l); + } while (i(r) > m && --o > 0); + return [n, a]; + }; + var Me = ye( + 2.6516, + -0.76534, + 0.19123, + -0.047094, + 1.36289, + -0.13965, + 0.031762, + ); + function Se() { + return (0, n.Z)(Me).scale(131.087); + } + function Ee(t) { + var e = t(_, 0)[0] - t(-_, 0)[0]; + function r(r, n) { + var i = r > 0 ? -0.5 : 0.5, + a = t(r + i * b, n); + return (a[0] -= i * e), a; + } + return ( + t.invert && + (r.invert = function (r, n) { + var i = r > 0 ? -0.5 : 0.5, + a = t.invert(r + i * e, n), + o = a[0] - i * b; + return ( + o < -b ? (o += 2 * b) : o > b && (o -= 2 * b), + (a[0] = o), + a + ); + }), + r + ); + } + function Le(t, e) { + var r = v(t), + n = v(e), + a = s(e), + l = s(t) * a, + u = g(t) * a, + c = g(n * e); + (t = i(o(u, c))), (e = L(l)), i(t - _) > m && (t %= _); + var f = (function (t, e) { + if (e === _) return [0, 0]; + var r, + n, + a = g(e), + o = a * a, + l = o * o, + u = 1 + l, + c = 1 + 3 * l, + f = 1 - l, + h = L(1 / O(u)), + p = f + o * u * h, + d = (1 - a) / p, + v = O(d), + y = d * u, + x = O(y), + w = v * f; + if (0 === t) return [0, -(w + o * x)]; + var T, + k = s(e), + A = 1 / k, + M = 2 * a * k, + S = + (-p * k - (-3 * o + h * c) * M * (1 - a)) / + (p * p), + E = -A * M, + C = -A * (o * u * S + d * c * M), + P = -2 * A * (f * ((0.5 * S) / v) - 2 * o * v * M), + I = (4 * t) / b; + if (t > 0.222 * b || (e < b / 4 && t > 0.175 * b)) { + if ( + ((r = (w + o * O(y * (1 + l) - w * w)) / (1 + l)), + t > b / 4) + ) + return [r, r]; + var D = r, + z = 0.5 * r; + (r = 0.5 * (z + D)), (n = 50); + do { + var R = + r * (P + E * O(y - r * r)) + C * L(r / x) - I; + if (!R) break; + R < 0 ? (z = r) : (D = r), (r = 0.5 * (z + D)); + } while (i(D - z) > m && --n > 0); + } else { + (r = m), (n = 25); + do { + var F = r * r, + B = O(y - F), + N = P + E * B, + j = r * N + C * L(r / x) - I; + r -= T = B ? j / (N + (C - E * F) / B) : 0; + } while (i(T) > m && --n > 0); + } + return [r, -w - o * O(y - r * r)]; + })(t > b / 4 ? _ - t : t, e); + return ( + t > b / 4 && + ((c = f[0]), (f[0] = -f[1]), (f[1] = -c)), + (f[0] *= r), + (f[1] *= -n), + f + ); + } + function Ce() { + return (0, n.Z)(Ee(Le)).scale(239.75); + } + function Oe(t, e) { + var r, n, o, u, c, f; + if (e < m) + return [ + (u = g(t)) - + (r = (e * (t - u * (n = s(t)))) / 4) * n, + n + r * u, + 1 - (e * u * u) / 2, + t - r, + ]; + if (e >= 0.999999) + return ( + (r = (1 - e) / 4), + (o = 1 / (n = I(t))), + [ + (u = ((f = l(2 * (f = t))) - 1) / (f + 1)) + + (r * ((c = n * P(t)) - t)) / (n * n), + o - r * u * o * (c - t), + o + r * u * o * (c + t), + 2 * a(l(t)) - _ + (r * (c - t)) / n, + ] + ); + var h = [1, 0, 0, 0, 0, 0, 0, 0, 0], + p = [O(e), 0, 0, 0, 0, 0, 0, 0, 0], + d = 0; + for (n = O(1 - e), c = 1; i(p[d] / h[d]) > m && d < 8; ) + (r = h[d++]), + (p[d] = (r - n) / 2), + (h[d] = (r + n) / 2), + (n = O(r * n)), + (c *= 2); + o = c * h[d] * t; + do { + o = (L((u = (p[d] * g((n = o))) / h[d])) + o) / 2; + } while (--d); + return [g(o), (u = s(o)), u / s(o - n), o]; + } + function Pe(t, e) { + if (!e) return t; + if (1 === e) return c(y(t / 2 + w)); + for ( + var r = 1, n = O(1 - e), o = O(e), s = 0; + i(o) > m; + s++ + ) { + if (t % b) { + var l = a((n * y(t)) / r); + l < 0 && (l += b), (t += l + ~~(t / b) * b); + } else t += t; + (o = (r + n) / 2), + (n = O(r * n)), + (o = ((r = o) - n) / 2); + } + return t / (p(2, s) * r); + } + function Ie(t, e) { + var r = (k - 1) / (k + 1), + n = O(1 - r * r), + u = Pe(_, n * n), + f = c(y(b / 4 + i(e) / 2)), + h = l(-1 * f) / O(r), + p = (function (t, e) { + var r = t * t, + n = e + 1, + i = 1 - r - e * e; + return [ + 0.5 * ((t >= 0 ? _ : -_) - o(i, 2 * t)), + -0.25 * c(i * i + 4 * r) + 0.5 * c(n * n + r), + ]; + })(h * s(-1 * t), h * g(-1 * t)), + d = (function (t, e, r) { + var n = i(t), + o = P(i(e)); + if (n) { + var s = 1 / g(n), + l = 1 / (y(n) * y(n)), + u = -(l + r * (o * o * s * s) - 1 + r), + c = (-u + O(u * u - (r - 1) * l * 4)) / 2; + return [ + Pe(a(1 / O(c)), r) * v(t), + Pe(a(O((c / l - 1) / r)), 1 - r) * v(e), + ]; + } + return [0, Pe(a(o), 1 - r) * v(e)]; + })(p[0], p[1], n * n); + return [-d[1], (e >= 0 ? 1 : -1) * (0.5 * u - d[0])]; + } + function De() { + return (0, n.Z)(Ee(Ie)).scale(151.496); + } + (Le.invert = function (t, e) { + i(t) > 1 && (t = 2 * v(t) - t), + i(e) > 1 && (e = 2 * v(e) - e); + var r = v(t), + n = v(e), + a = -r * t, + l = -n * e, + u = l / a < 1, + c = (function (t, e) { + for (var r = 0, n = 1, a = 0.5, o = 50; ; ) { + var l = a * a, + u = O(a), + c = L(1 / O(1 + l)), + f = 1 - l + a * (1 + l) * c, + h = (1 - u) / f, + p = O(h), + d = h * (1 + l), + v = p * (1 - l), + g = O(d - t * t), + y = e + v + a * g; + if (i(n - r) < x || 0 == --o || 0 === y) break; + y > 0 ? (r = a) : (n = a), (a = 0.5 * (r + n)); + } + if (!o) return null; + var m = L(u), + _ = s(m), + w = 1 / _, + T = 2 * u * _, + k = + (-f * _ - + (-3 * a + c * (1 + 3 * l)) * T * (1 - u)) / + (f * f); + return [ + (b / 4) * + (t * + (-2 * + w * + (((0.5 * k) / p) * (1 - l) - + 2 * a * p * T) + + -w * T * g) + + -w * + (a * (1 + l) * k + h * (1 + 3 * l) * T) * + L(t / O(d))), + m, + ]; + })(u ? l : a, u ? a : l), + f = c[0], + h = c[1], + p = s(h); + return ( + u && (f = -_ - f), + [r * (o(g(f) * p, -g(h)) + b), n * L(s(f) * p)] + ); + }), + (Ie.invert = function (t, e) { + var r, + n, + i, + s, + u, + f, + h = (k - 1) / (k + 1), + p = O(1 - h * h), + d = + ((n = -t), + (i = p * p), + (r = 0.5 * Pe(_, p * p) - e) + ? ((s = Oe(r, i)), + n + ? ((f = + (u = Oe(n, 1 - i))[1] * u[1] + + i * s[0] * s[0] * u[0] * u[0]), + [ + [ + (s[0] * u[2]) / f, + (s[1] * s[2] * u[0] * u[1]) / f, + ], + [ + (s[1] * u[1]) / f, + (-s[0] * s[2] * u[0] * u[2]) / f, + ], + [ + (s[2] * u[1] * u[2]) / f, + (-i * s[0] * s[1] * u[0]) / f, + ], + ]) + : [ + [s[0], 0], + [s[1], 0], + [s[2], 0], + ]) + : [ + [0, (u = Oe(n, 1 - i))[0] / u[1]], + [1 / u[1], 0], + [u[2] / u[1], 0], + ]), + v = (function (t, e) { + var r = e[0] * e[0] + e[1] * e[1]; + return [ + (t[0] * e[0] + t[1] * e[1]) / r, + (t[1] * e[0] - t[0] * e[1]) / r, + ]; + })(d[0], d[1]); + return [ + o(v[1], v[0]) / -1, + 2 * + a( + l(-0.5 * c(h * v[0] * v[0] + h * v[1] * v[1])), + ) - + _, + ]; + }); + var ze = r(7613); + function Re(t) { + var e = g(t), + r = s(t), + n = Fe(t); + function a(t, a) { + var o = n(t, a); + (t = o[0]), (a = o[1]); + var l = g(a), + u = s(a), + c = s(t), + f = C(e * l + r * u * c), + h = g(f), + p = i(h) > m ? f / h : 1; + return [ + p * r * g(t), + (i(t) > _ ? p : -p) * (e * u - r * l * c), + ]; + } + return ( + (n.invert = Fe(-t)), + (a.invert = function (t, r) { + var i = O(t * t + r * r), + a = -g(i), + l = s(i), + u = i * l, + c = -r * a, + f = i * e, + h = O(u * u + c * c - f * f), + p = o(u * f + c * h, c * f - u * h), + d = + (i > _ ? -1 : 1) * + o(t * a, i * s(p) * l + r * g(p) * a); + return n.invert(d, p); + }), + a + ); + } + function Fe(t) { + var e = g(t), + r = s(t); + return function (t, n) { + var i = s(n), + a = s(t) * i, + l = g(t) * i, + u = g(n); + return [o(l, a * r - u * e), L(u * r + a * e)]; + }; + } + function Be() { + var t = 0, + e = (0, n.r)(Re), + r = e(t), + i = r.rotate, + a = r.stream, + o = (0, ze.Z)(); + return ( + (r.parallel = function (n) { + if (!arguments.length) return t * S; + var i = r.rotate(); + return e((t = n * E)).rotate(i); + }), + (r.rotate = function (e) { + return arguments.length + ? (i.call(r, [e[0], e[1] - t * S]), + o.center([-e[0], -e[1]]), + r) + : (((e = i.call(r))[1] += t * S), e); + }), + (r.stream = function (t) { + return ( + ((t = a(t)).sphere = function () { + t.polygonStart(); + var e, + r = o.radius(89.99)().coordinates[0], + n = r.length - 1, + i = -1; + for (t.lineStart(); ++i < n; ) + t.point((e = r[i])[0], e[1]); + for ( + t.lineEnd(), + n = + (r = o.radius(90.01)().coordinates[0]) + .length - 1, + t.lineStart(); + --i >= 0; + + ) + t.point((e = r[i])[0], e[1]); + t.lineEnd(), t.polygonEnd(); + }), + t + ); + }), + r.scale(79.4187).parallel(45).clipAngle(179.999) + ); + } + var Ne = r(33064), + je = r(72736), + Ue = L(1 - 1 / 3) * S, + Ve = Rt(0); + function He(t) { + var e = Ue * E, + r = Lt(b, e)[0] - Lt(-b, e)[0], + n = Ve(0, e)[1], + a = Lt(0, e)[1], + o = A - a, + s = M / t, + l = 4 / M, + c = n + (o * o * 4) / M; + function p(p, d) { + var v, + g = i(d); + if (g > e) { + var y = h(t - 1, f(0, u((p + b) / s))); + ((v = Lt((p += (b * (t - 1)) / t - y * s), g))[0] = + (v[0] * M) / r - + (M * (t - 1)) / (2 * t) + + (y * M) / t), + (v[1] = n + (4 * (v[1] - a) * o) / M), + d < 0 && (v[1] = -v[1]); + } else v = Ve(p, d); + return (v[0] *= l), (v[1] /= c), v; + } + return ( + (p.invert = function (e, p) { + e /= l; + var d = i((p *= c)); + if (d > n) { + var v = h(t - 1, f(0, u((e + b) / s))); + e = ((e + (b * (t - 1)) / t - v * s) * r) / M; + var g = Lt.invert( + e, + (0.25 * (d - n) * M) / o + a, + ); + return ( + (g[0] -= (b * (t - 1)) / t - v * s), + p < 0 && (g[1] = -g[1]), + g + ); + } + return Ve.invert(e, p); + }), + p + ); + } + function qe(t, e) { + return [t, 1 & e ? 89.999999 : Ue]; + } + function Ge(t, e) { + return [t, 1 & e ? -89.999999 : -Ue]; + } + function Ze(t) { + return [0.999999 * t[0], t[1]]; + } + function We() { + var t = 4, + e = (0, n.r)(He), + r = e(t), + i = r.stream; + return ( + (r.lobes = function (r) { + return arguments.length ? e((t = +r)) : t; + }), + (r.stream = function (e) { + var n = r.rotate(), + a = i(e), + o = (r.rotate([0, 0]), i(e)); + return ( + r.rotate(n), + (a.sphere = function () { + var e, r; + (0, je.Z)( + ((e = 180 / t), + (r = [].concat( + (0, Ne.w6)(-180, 180 + e / 2, e).map(qe), + (0, Ne.w6)(180, -180 - e / 2, -e).map(Ge), + )), + { + type: "Polygon", + coordinates: [180 === e ? r.map(Ze) : r], + }), + o, + ); + }), + a + ); + }), + r.scale(239.75) + ); + } + function Ye(t) { + var e, + r = 1 + t, + n = L(g(1 / r)), + a = 2 * O(b / (e = b + 4 * n * r)), + l = 0.5 * a * (r + O(t * (2 + t))), + u = t * t, + c = r * r; + function f(f, h) { + var p, + d, + v = 1 - g(h); + if (v && v < 2) { + var y, + m = _ - h, + w = 25; + do { + var T = g(m), + k = s(m), + A = n + o(T, r - k), + M = 1 + c - 2 * r * k; + m -= y = + (m - u * n - r * T + M * A - 0.5 * v * e) / + (2 * r * T * A); + } while (i(y) > x && --w > 0); + (p = a * O(M)), (d = (f * A) / b); + } else (p = a * (t + v)), (d = (f * n) / b); + return [p * g(d), l - p * s(d)]; + } + return ( + (f.invert = function (t, i) { + var s = t * t + (i -= l) * i, + f = (1 + c - s / (a * a)) / (2 * r), + h = C(f), + p = g(h), + d = n + o(p, r - f); + return [ + (L(t / O(s)) * b) / d, + L( + 1 - + (2 * + (h - + u * n - + r * p + + (1 + c - 2 * r * f) * d)) / + e, + ), + ]; + }), + f + ); + } + function Xe() { + var t = 1, + e = (0, n.r)(Ye), + r = e(t); + return ( + (r.ratio = function (r) { + return arguments.length ? e((t = +r)) : t; + }), + r.scale(167.774).center([0, 18.67]) + ); + } + var Je = 0.7109889596207567, + Ke = 0.0528035274542; + function $e(t, e) { + return e > -Je + ? (((t = at(t, e))[1] += Ke), t) + : ht(t, e); + } + function Qe() { + return (0, n.Z)($e) + .rotate([-20, -55]) + .scale(164.263) + .center([0, -5.4036]); + } + function tr(t, e) { + return i(e) > Je + ? (((t = at(t, e))[1] -= e > 0 ? Ke : -Ke), t) + : ht(t, e); + } + function er() { + return (0, n.Z)(tr).scale(152.63); + } + function rr(t, e, r, n) { + var i = O( + (4 * b) / + (2 * r + + (1 + t - e / 2) * g(2 * r) + + ((t + e) / 2) * g(4 * r) + + (e / 2) * g(6 * r)), + ), + a = O( + n * + g(r) * + O( + (1 + t * s(2 * r) + e * s(4 * r)) / (1 + t + e), + ), + ), + o = r * u(1); + function l(r) { + return O(1 + t * s(2 * r) + e * s(4 * r)); + } + function u(n) { + var i = n * r; + return ( + (2 * i + + (1 + t - e / 2) * g(2 * i) + + ((t + e) / 2) * g(4 * i) + + (e / 2) * g(6 * i)) / + r + ); + } + function c(t) { + return l(t) * g(t); + } + var f = function (t, e) { + var n = r * Q(u, (o * g(e)) / r, e / b); + isNaN(n) && (n = r * v(e)); + var c = i * l(n); + return [((c * a * t) / b) * s(n), (c / a) * g(n)]; + }; + return ( + (f.invert = function (t, e) { + var n = Q(c, (e * a) / i); + return [ + (t * b) / (s(n) * i * a * l(n)), + L((r * u(n / r)) / o), + ]; + }), + 0 === r && + ((i = O(n / b)), + ((f = function (t, e) { + return [t * i, g(e) / i]; + }).invert = function (t, e) { + return [t / i, L(e * i)]; + })), + f + ); + } + function nr() { + var t = 1, + e = 0, + r = 45 * E, + i = 2, + a = (0, n.r)(rr), + o = a(t, e, r, i); + return ( + (o.a = function (n) { + return arguments.length ? a((t = +n), e, r, i) : t; + }), + (o.b = function (n) { + return arguments.length ? a(t, (e = +n), r, i) : e; + }), + (o.psiMax = function (n) { + return arguments.length + ? a(t, e, (r = +n * E), i) + : r * S; + }), + (o.ratio = function (n) { + return arguments.length ? a(t, e, r, (i = +n)) : i; + }), + o.scale(180.739) + ); + } + function ir(t, e, r, n, i, a, o, s, l, u, c) { + if (c.nanEncountered) return NaN; + var f, h, p, d, v, g, y, m, x, b; + if ( + ((h = t(e + 0.25 * (f = r - e))), + (p = t(r - 0.25 * f)), + isNaN(h)) + ) + c.nanEncountered = !0; + else { + if (!isNaN(p)) + return ( + (b = + ((g = + (d = (f * (n + 4 * h + i)) / 12) + + (v = (f * (i + 4 * p + a)) / 12)) - + o) / + 15), + u > l + ? (c.maxDepthCount++, g + b) + : Math.abs(b) < s + ? g + b + : ((m = ir( + t, + e, + (y = e + 0.5 * f), + n, + h, + i, + d, + 0.5 * s, + l, + u + 1, + c, + )), + isNaN(m) + ? ((c.nanEncountered = !0), NaN) + : ((x = ir( + t, + y, + r, + i, + p, + a, + v, + 0.5 * s, + l, + u + 1, + c, + )), + isNaN(x) + ? ((c.nanEncountered = !0), NaN) + : m + x)) + ); + c.nanEncountered = !0; + } + } + function ar(t, e, r, n, i) { + void 0 === n && (n = 1e-8), void 0 === i && (i = 20); + var a = t(e), + o = t(0.5 * (e + r)), + s = t(r); + return ir( + t, + e, + r, + a, + o, + s, + ((a + 4 * o + s) * (r - e)) / 6, + n, + i, + 1, + { maxDepthCount: 0, nanEncountered: !1 }, + ); + } + function or(t, e, r) { + function n(r) { + return t + (1 - t) * p(1 - p(r, e), 1 / e); + } + function a(t) { + return ar(n, 0, t, 1e-4); + } + for ( + var o = 1 / a(1), + s = 1e3, + l = (1 + 1e-8) * o, + u = [], + c = 0; + c <= s; + c++ + ) + u.push(a(c / s) * l); + function f(t) { + var e = 0, + r = s, + n = 500; + do { + u[n] > t ? (r = n) : (e = n), (n = (e + r) >> 1); + } while (n > e); + var i = u[n + 1] - u[n]; + return i && (i = (t - u[n + 1]) / i), (n + 1 + i) / s; + } + var h = (((2 * f(1)) / b) * o) / r, + d = function (t, e) { + var r = f(i(g(e))), + a = n(r) * t; + return (r /= h), [a, e >= 0 ? r : -r]; + }; + return ( + (d.invert = function (t, e) { + var r; + return ( + i((e *= h)) < 1 && (r = v(e) * L(a(i(e)) * o)), + [t / n(i(e)), r] + ); + }), + d + ); + } + function sr() { + var t = 0, + e = 2.5, + r = 1.183136, + i = (0, n.r)(or), + a = i(t, e, r); + return ( + (a.alpha = function (n) { + return arguments.length ? i((t = +n), e, r) : t; + }), + (a.k = function (n) { + return arguments.length ? i(t, (e = +n), r) : e; + }), + (a.gamma = function (n) { + return arguments.length ? i(t, e, (r = +n)) : r; + }), + a.scale(152.63) + ); + } + function lr(t, e) { + return i(t[0] - e[0]) < m && i(t[1] - e[1]) < m; + } + function ur(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 cr(t) { + var e, + r, + n, + i, + a, + o, + s, + l = [], + u = t[0].length; + for (s = 0; s < u; ++s) + (r = (e = t[0][s])[0][0]), + (n = e[0][1]), + (i = e[1][1]), + (a = e[2][0]), + (o = e[2][1]), + l.push( + ur( + [ + [r + m, n + m], + [r + m, i - m], + [a - m, i - m], + [a - m, o + m], + ], + 30, + ), + ); + for (s = t[1].length - 1; s >= 0; --s) + (r = (e = t[1][s])[0][0]), + (n = e[0][1]), + (i = e[1][1]), + (a = e[2][0]), + (o = e[2][1]), + l.push( + ur( + [ + [a - m, o - m], + [a - m, i + m], + [r + m, i + m], + [r + m, n - m], + ], + 30, + ), + ); + return { + type: "Polygon", + coordinates: [(0, Ne.TS)(l)], + }; + } + function fr(t, e, r) { + var i, a; + function o(r, n) { + for ( + var i = n < 0 ? -1 : 1, + a = e[+(n < 0)], + o = 0, + s = a.length - 1; + o < s && r > a[o][2][0]; + ++o + ); + var l = t(r - a[o][1][0], n); + return ( + (l[0] += t( + a[o][1][0], + i * n > i * a[o][0][1] ? a[o][0][1] : n, + )[0]), + l + ); + } + r + ? (o.invert = r(o)) + : t.invert && + (o.invert = function (r, n) { + for ( + var i = a[+(n < 0)], + s = e[+(n < 0)], + l = 0, + u = i.length; + l < u; + ++l + ) { + var c = i[l]; + if ( + c[0][0] <= r && + r < c[1][0] && + c[0][1] <= n && + n < c[1][1] + ) { + var f = t.invert(r - t(s[l][1][0], 0)[0], n); + return ( + (f[0] += s[l][1][0]), + lr(o(f[0], f[1]), [r, n]) ? f : null + ); + } + } + }); + var s = (0, n.Z)(o), + l = s.stream; + return ( + (s.stream = function (t) { + var e = s.rotate(), + r = l(t), + n = (s.rotate([0, 0]), l(t)); + return ( + s.rotate(e), + (r.sphere = function () { + (0, je.Z)(i, n); + }), + r + ); + }), + (s.lobes = function (r) { + return arguments.length + ? ((i = cr(r)), + (e = r.map(function (t) { + return t.map(function (t) { + return [ + [t[0][0] * E, t[0][1] * E], + [t[1][0] * E, t[1][1] * E], + [t[2][0] * E, t[2][1] * E], + ]; + }); + })), + (a = e.map(function (e) { + return e.map(function (e) { + var r, + n = t(e[0][0], e[0][1])[0], + i = t(e[2][0], e[2][1])[0], + a = t(e[1][0], e[0][1])[1], + o = t(e[1][0], e[1][1])[1]; + return ( + a > o && ((r = a), (a = o), (o = r)), + [ + [n, a], + [i, o], + ] + ); + }); + })), + s) + : e.map(function (t) { + return t.map(function (t) { + return [ + [t[0][0] * S, t[0][1] * S], + [t[1][0] * S, t[1][1] * S], + [t[2][0] * S, t[2][1] * S], + ]; + }); + }); + }), + null != e && s.lobes(e), + s + ); + } + ($e.invert = function (t, e) { + return e > -Je ? at.invert(t, e - Ke) : ht.invert(t, e); + }), + (tr.invert = function (t, e) { + return i(e) > Je + ? at.invert(t, e + (e > 0 ? Ke : -Ke)) + : ht.invert(t, e); + }); + var hr = [ + [ + [ + [-180, 0], + [-100, 90], + [-40, 0], + ], + [ + [-40, 0], + [30, 90], + [180, 0], + ], + ], + [ + [ + [-180, 0], + [-160, -90], + [-100, 0], + ], + [ + [-100, 0], + [-60, -90], + [-20, 0], + ], + [ + [-20, 0], + [20, -90], + [80, 0], + ], + [ + [80, 0], + [140, -90], + [180, 0], + ], + ], + ]; + function pr() { + return fr(ut, hr).scale(160.857); + } + var dr = [ + [ + [ + [-180, 0], + [-100, 90], + [-40, 0], + ], + [ + [-40, 0], + [30, 90], + [180, 0], + ], + ], + [ + [ + [-180, 0], + [-160, -90], + [-100, 0], + ], + [ + [-100, 0], + [-60, -90], + [-20, 0], + ], + [ + [-20, 0], + [20, -90], + [80, 0], + ], + [ + [80, 0], + [140, -90], + [180, 0], + ], + ], + ]; + function vr() { + return fr(tr, dr).scale(152.63); + } + var gr = [ + [ + [ + [-180, 0], + [-100, 90], + [-40, 0], + ], + [ + [-40, 0], + [30, 90], + [180, 0], + ], + ], + [ + [ + [-180, 0], + [-160, -90], + [-100, 0], + ], + [ + [-100, 0], + [-60, -90], + [-20, 0], + ], + [ + [-20, 0], + [20, -90], + [80, 0], + ], + [ + [80, 0], + [140, -90], + [180, 0], + ], + ], + ]; + function yr() { + return fr(at, gr).scale(169.529); + } + var mr = [ + [ + [ + [-180, 0], + [-90, 90], + [0, 0], + ], + [ + [0, 0], + [90, 90], + [180, 0], + ], + ], + [ + [ + [-180, 0], + [-90, -90], + [0, 0], + ], + [ + [0, 0], + [90, -90], + [180, 0], + ], + ], + ]; + function xr() { + return fr(at, mr).scale(169.529).rotate([20, 0]); + } + var br = [ + [ + [ + [-180, 35], + [-30, 90], + [0, 35], + ], + [ + [0, 35], + [30, 90], + [180, 35], + ], + ], + [ + [ + [-180, -10], + [-102, -90], + [-65, -10], + ], + [ + [-65, -10], + [5, -90], + [77, -10], + ], + [ + [77, -10], + [103, -90], + [180, -10], + ], + ], + ]; + function _r() { + return fr($e, br, tt) + .rotate([-20, -55]) + .scale(164.263) + .center([0, -5.4036]); + } + var wr = [ + [ + [ + [-180, 0], + [-110, 90], + [-40, 0], + ], + [ + [-40, 0], + [0, 90], + [40, 0], + ], + [ + [40, 0], + [110, 90], + [180, 0], + ], + ], + [ + [ + [-180, 0], + [-110, -90], + [-40, 0], + ], + [ + [-40, 0], + [0, -90], + [40, 0], + ], + [ + [40, 0], + [110, -90], + [180, 0], + ], + ], + ]; + function Tr() { + return fr(ht, wr).scale(152.63).rotate([-20, 0]); + } + function kr(t, e) { + return [(3 / M) * t * O((b * b) / 3 - e * e), e]; + } + function Ar() { + return (0, n.Z)(kr).scale(158.837); + } + function Mr(t) { + function e(e, r) { + if (i(i(r) - _) < m) return [0, r < 0 ? -2 : 2]; + var n = g(r), + a = p((1 + n) / (1 - n), t / 2), + o = 0.5 * (a + 1 / a) + s((e *= t)); + return [(2 * g(e)) / o, (a - 1 / a) / o]; + } + return ( + (e.invert = function (e, r) { + var n = i(r); + if (i(n - 2) < m) return e ? null : [0, v(r) * _]; + if (n > 2) return null; + var a = (e /= 2) * e, + s = (r /= 2) * r, + l = (2 * r) / (1 + a + s); + return ( + (l = p((1 + l) / (1 - l), 1 / t)), + [o(2 * e, 1 - a - s) / t, L((l - 1) / (l + 1))] + ); + }), + e + ); + } + function Sr() { + var t = 0.5, + e = (0, n.r)(Mr), + r = e(t); + return ( + (r.spacing = function (r) { + return arguments.length ? e((t = +r)) : t; + }), + r.scale(124.75) + ); + } + kr.invert = function (t, e) { + return [((M / 3) * t) / O((b * b) / 3 - e * e), e]; + }; + var Er = b / k; + function Lr(t, e) { + return [ + (t * (1 + O(s(e)))) / 2, + e / (s(e / 2) * s(t / 6)), + ]; + } + function Cr() { + return (0, n.Z)(Lr).scale(97.2672); + } + function Or(t, e) { + var r = t * t, + n = e * e; + return [ + t * + (0.975534 + + n * (-0.0143059 * r - 0.119161 + -0.0547009 * n)), + e * + (1.00384 + + r * (0.0802894 + -0.02855 * n + 199025e-9 * r) + + n * (0.0998909 + -0.0491032 * n)), + ]; + } + function Pr() { + return (0, n.Z)(Or).scale(139.98); + } + function Ir(t, e) { + return [g(t) / s(e), y(e) * s(t)]; + } + function Dr() { + return (0, n.Z)(Ir).scale(144.049).clipAngle(89.999); + } + function zr(t) { + var e = s(t), + r = y(w + t / 2); + function n(n, a) { + var o = a - t, + s = + i(o) < m + ? n * e + : i((s = w + a / 2)) < m || i(i(s) - _) < m + ? 0 + : (n * o) / c(y(s) / r); + return [s, o]; + } + return ( + (n.invert = function (n, a) { + var o, + s = a + t; + return [ + i(a) < m + ? n / e + : i((o = w + s / 2)) < m || i(i(o) - _) < m + ? 0 + : (n * c(y(o) / r)) / a, + s, + ]; + }), + n + ); + } + function Rr() { + return ft(zr).parallel(40).scale(158.837); + } + function Fr(t, e) { + return [t, 1.25 * c(y(w + 0.4 * e))]; + } + function Br() { + return (0, n.Z)(Fr).scale(108.318); + } + function Nr(t) { + var e = t.length - 1; + function r(r, n) { + for ( + var i, + a = s(n), + o = 2 / (1 + a * s(r)), + l = o * a * g(r), + u = o * g(n), + c = e, + f = t[c], + h = f[0], + p = f[1]; + --c >= 0; + + ) + (h = (f = t[c])[0] + l * (i = h) - u * p), + (p = f[1] + l * p + u * i); + return [ + (h = l * (i = h) - u * p), + (p = l * p + u * i), + ]; + } + return ( + (r.invert = function (r, n) { + var l = 20, + u = r, + c = n; + do { + for ( + var f, + h = e, + p = t[h], + d = p[0], + v = p[1], + y = 0, + m = 0; + --h >= 0; + + ) + (y = d + u * (f = y) - c * m), + (m = v + u * m + c * f), + (d = (p = t[h])[0] + u * (f = d) - c * v), + (v = p[1] + u * v + c * f); + var x, + b, + _ = + (y = d + u * (f = y) - c * m) * y + + (m = v + u * m + c * f) * m; + (u -= x = + ((d = u * (f = d) - c * v - r) * y + + (v = u * v + c * f - n) * m) / + _), + (c -= b = (v * y - d * m) / _); + } while (i(x) + i(b) > 1e-12 && --l > 0); + if (l) { + var w = O(u * u + c * c), + T = 2 * a(0.5 * w), + k = g(T); + return [ + o(u * k, w * s(T)), + w ? L((c * k) / w) : 0, + ]; + } + }), + r + ); + } + (Lr.invert = function (t, e) { + var r = i(t), + n = i(e), + a = m, + o = _; + n < Er ? (o *= n / Er) : (a += 6 * C(Er / n)); + for (var l = 0; l < 25; l++) { + var u = g(o), + c = O(s(o)), + f = g(o / 2), + h = s(o / 2), + p = g(a / 6), + d = s(a / 6), + v = 0.5 * a * (1 + c) - r, + y = o / (h * d) - n, + x = c ? (-0.25 * a * u) / c : 0, + b = 0.5 * (1 + c), + w = (1 + (0.5 * o * f) / h) / (h * d), + T = ((o / h) * (p / 6)) / (d * d), + k = x * T - w * b, + A = (v * T - y * b) / k, + M = (y * x - v * w) / k; + if (((o -= A), (a -= M), i(A) < m && i(M) < m)) break; + } + return [t < 0 ? -a : a, e < 0 ? -o : o]; + }), + (Or.invert = function (t, e) { + var r = v(t) * b, + n = e / 2, + a = 50; + do { + var o = r * r, + s = n * n, + l = r * n, + u = + r * + (0.975534 + + s * + (-0.0143059 * o - + 0.119161 + + -0.0547009 * s)) - + t, + c = + n * + (1.00384 + + o * + (0.0802894 + + -0.02855 * s + + 199025e-9 * o) + + s * (0.0998909 + -0.0491032 * s)) - + e, + f = + 0.975534 - + s * + (0.119161 + + 3 * o * 0.0143059 + + 0.0547009 * s), + h = + -l * (0.238322 + 0.2188036 * s + 0.0286118 * o), + p = l * (0.1605788 + 7961e-7 * o + -0.0571 * s), + d = + 1.00384 + + o * (0.0802894 + 199025e-9 * o) + + s * + (3 * (0.0998909 - 0.02855 * o) - + 0.245516 * s), + g = h * p - d * f, + y = (c * h - u * d) / g, + x = (u * p - c * f) / g; + (r -= y), (n -= x); + } while ((i(y) > m || i(x) > m) && --a > 0); + return a && [r, n]; + }), + (Ir.invert = function (t, e) { + var r = t * t, + n = e * e + 1, + i = r + n, + a = t + ? T * O((i - O(i * i - 4 * r)) / r) + : 1 / O(n); + return [L(t * a), v(e) * C(a)]; + }), + (Fr.invert = function (t, e) { + return [t, 2.5 * a(l(0.8 * e)) - 0.625 * b]; + }); + var jr = [ + [0.9972523, 0], + [0.0052513, -0.0041175], + [0.0074606, 0.0048125], + [-0.0153783, -0.1968253], + [0.0636871, -0.1408027], + [0.3660976, -0.2937382], + ], + Ur = [ + [0.98879, 0], + [0, 0], + [-0.050909, 0], + [0, 0], + [0.075528, 0], + ], + Vr = [ + [0.984299, 0], + [0.0211642, 0.0037608], + [-0.1036018, -0.0575102], + [-0.0329095, -0.0320119], + [0.0499471, 0.1223335], + [0.026046, 0.0899805], + [7388e-7, -0.1435792], + [0.0075848, -0.1334108], + [-0.0216473, 0.0776645], + [-0.0225161, 0.0853673], + ], + Hr = [ + [0.9245, 0], + [0, 0], + [0.01943, 0], + ], + qr = [ + [0.721316, 0], + [0, 0], + [-0.00881625, -0.00617325], + ]; + function Gr() { + return Jr(jr, [152, -64]) + .scale(1400) + .center([-160.908, 62.4864]) + .clipAngle(30) + .angle(7.8); + } + function Zr() { + return Jr(Ur, [95, -38]) + .scale(1e3) + .clipAngle(55) + .center([-96.5563, 38.8675]); + } + function Wr() { + return Jr(Vr, [120, -45]) + .scale(359.513) + .clipAngle(55) + .center([-117.474, 53.0628]); + } + function Yr() { + return Jr(Hr, [-20, -18]) + .scale(209.091) + .center([20, 16.7214]) + .clipAngle(82); + } + function Xr() { + return Jr(qr, [165, 10]) + .scale(250) + .clipAngle(130) + .center([-165, -10]); + } + function Jr(t, e) { + var r = (0, n.Z)(Nr(t)).rotate(e).clipAngle(90), + i = (0, _t.Z)(e), + a = r.center; + return ( + delete r.rotate, + (r.center = function (t) { + return arguments.length ? a(i(t)) : i.invert(a()); + }), + r + ); + } + var Kr = O(6), + $r = O(7); + function Qr(t, e) { + var r = L((7 * g(e)) / (3 * Kr)); + return [ + (Kr * t * (2 * s((2 * r) / 3) - 1)) / $r, + (9 * g(r / 3)) / $r, + ]; + } + function tn() { + return (0, n.Z)(Qr).scale(164.859); + } + function en(t, e) { + for ( + var r, n = (1 + T) * g(e), a = e, o = 0; + o < 25 && + ((a -= r = + (g(a / 2) + g(a) - n) / (0.5 * s(a / 2) + s(a))), + !(i(r) < m)); + o++ + ); + return [ + (t * (1 + (2 * s(a)) / s(a / 2))) / (3 * k), + (2 * O(3) * g(a / 2)) / O(2 + k), + ]; + } + function rn() { + return (0, n.Z)(en).scale(188.209); + } + function nn(t, e) { + for ( + var r, + n = O(6 / (4 + b)), + a = (1 + b / 4) * g(e), + o = e / 2, + l = 0; + l < 25 && + ((o -= r = (o / 2 + g(o) - a) / (0.5 + s(o))), + !(i(r) < m)); + l++ + ); + return [(n * (0.5 + s(o)) * t) / 1.5, n * o]; + } + function an() { + return (0, n.Z)(nn).scale(166.518); + } + (Qr.invert = function (t, e) { + var r = 3 * L((e * $r) / 9); + return [ + (t * $r) / (Kr * (2 * s((2 * r) / 3) - 1)), + L((3 * g(r) * Kr) / 7), + ]; + }), + (en.invert = function (t, e) { + var r = (e * O(2 + k)) / (2 * O(3)), + n = 2 * L(r); + return [ + (3 * k * t) / (1 + (2 * s(n)) / s(n / 2)), + L((r + g(n)) / (1 + T)), + ]; + }), + (nn.invert = function (t, e) { + var r = O(6 / (4 + b)), + n = e / r; + return ( + i(i(n) - _) < m && (n = n < 0 ? -_ : _), + [ + (1.5 * t) / (r * (0.5 + s(n))), + L((n / 2 + g(n)) / (1 + b / 4)), + ] + ); + }); + var on = r(26867); + function sn(t, e) { + var r = e * e, + n = r * r, + i = r * n; + return [ + t * + (0.84719 - + 0.13063 * r + + i * + i * + (0.05494 * r - + 0.04515 - + 0.02326 * n + + 0.00331 * i)), + e * + (1.01183 + + n * n * (0.01926 * r - 0.02625 - 0.00396 * n)), + ]; + } + function ln() { + return (0, n.Z)(sn).scale(175.295); + } + function un(t, e) { + return [(t * (1 + s(e))) / 2, 2 * (e - y(e / 2))]; + } + function cn() { + return (0, n.Z)(un).scale(152.63); + } + (sn.invert = function (t, e) { + var r, + n, + a, + o, + s = e, + l = 25; + do { + s -= r = + (s * + (1.01183 + + (a = (n = s * s) * n) * + a * + (0.01926 * n - 0.02625 - 0.00396 * a)) - + e) / + (1.01183 + + a * a * (0.21186 * n - 0.23625 + -0.05148 * a)); + } while (i(r) > x && --l > 0); + return [ + t / + (0.84719 - + 0.13063 * (n = s * s) + + (o = n * (a = n * n)) * + o * + (0.05494 * n - + 0.04515 - + 0.02326 * a + + 0.00331 * o)), + s, + ]; + }), + (un.invert = function (t, e) { + for ( + var r = e / 2, n = 0, a = 1 / 0; + n < 10 && i(a) > m; + ++n + ) { + var o = s(e / 2); + e -= a = (e - y(e / 2) - r) / (1 - 0.5 / (o * o)); + } + return [(2 * t) / (1 + s(e)), e]; + }); + var fn = [ + [ + [ + [-180, 0], + [-90, 90], + [0, 0], + ], + [ + [0, 0], + [90, 90], + [180, 0], + ], + ], + [ + [ + [-180, 0], + [-90, -90], + [0, 0], + ], + [ + [0, 0], + [90, -90], + [180, 0], + ], + ], + ]; + function hn() { + return fr(J(1 / 0), fn) + .rotate([20, 0]) + .scale(152.63); + } + function pn(t, e) { + var r = g(e), + n = s(e), + a = v(t); + if (0 === t || i(e) === _) return [0, e]; + if (0 === e) return [t, 0]; + if (i(t) === _) return [t * n, _ * r]; + var o = b / (2 * t) - (2 * t) / b, + l = (2 * e) / b, + u = (1 - l * l) / (r - l), + c = o * o, + f = u * u, + h = 1 + c / f, + p = 1 + f / c, + d = ((o * r) / u - o / 2) / h, + y = ((f * r) / c + u / 2) / p, + m = y * y - ((f * r * r) / c + u * r - 1) / p; + return [ + _ * (d + O(d * d + (n * n) / h) * a), + _ * (y + O(m < 0 ? 0 : m) * v(-e * o) * a), + ]; + } + function dn() { + return (0, n.Z)(pn).scale(127.267); + } + pn.invert = function (t, e) { + var r = (t /= _) * t, + n = r + (e /= _) * e, + i = b * b; + return [ + t + ? ((n - 1 + O((1 - n) * (1 - n) + 4 * r)) / + (2 * t)) * + _ + : 0, + Q(function (t) { + return ( + n * (b * g(t) - 2 * t) * b + + 4 * t * t * (e - g(t)) + + 2 * b * t - + i * e + ); + }, 0), + ]; + }; + var vn = 1.0148, + gn = 0.23185, + yn = -0.14499, + mn = 0.02406, + xn = 1.790857183; + function bn(t, e) { + var r = e * e; + return [t, e * (vn + r * r * (gn + r * (yn + mn * r)))]; + } + function _n() { + return (0, n.Z)(bn).scale(139.319); + } + function wn(t, e) { + if (i(e) < m) return [t, 0]; + var r = y(e), + n = t * g(e); + return [g(n) / r, e + (1 - s(n)) / r]; + } + function Tn() { + return (0, n.Z)(wn).scale(103.74); + } + (bn.invert = function (t, e) { + e > xn + ? (e = xn) + : e < -1.790857183 && (e = -1.790857183); + var r, + n = e; + do { + var a = n * n; + n -= r = + (n * (vn + a * a * (gn + a * (yn + mn * a))) - e) / + (1.0148 + + a * + a * + (1.1592500000000001 + + a * (0.21654 * a - 1.01493))); + } while (i(r) > m); + return [t, n]; + }), + (wn.invert = function (t, e) { + if (i(e) < m) return [t, 0]; + var r, + n = t * t + e * e, + a = 0.5 * e, + o = 10; + do { + var l = y(a), + u = 1 / s(a), + c = n - 2 * e * a + a * a; + a -= r = + (l * c + 2 * (a - e)) / + (2 + c * u * u + 2 * (a - e) * l); + } while (i(r) > m && --o > 0); + return ( + (l = y(a)), + [ + (i(e) < i(a + 1 / l) + ? L(t * l) + : v(e) * v(t) * (C(i(t * l)) + _)) / g(a), + a, + ] + ); + }); + var kn = r(77338), + An = r(83074); + function Mn(t, e) { + return [ + t[0] * e[0] + t[1] * e[3], + t[0] * e[1] + t[1] * e[4], + t[0] * e[2] + t[1] * e[5] + t[2], + t[3] * e[0] + t[4] * e[3], + t[3] * e[1] + t[4] * e[4], + t[3] * e[2] + t[4] * e[5] + t[5], + ]; + } + function Sn(t, e) { + return [t[0] - e[0], t[1] - e[1]]; + } + function En(t) { + return O(t[0] * t[0] + t[1] * t[1]); + } + function Ln(t, e, r) { + function i(t, r) { + var n, + i = e(t, r), + a = i.project([t * S, r * S]); + return (n = i.transform) + ? [ + n[0] * a[0] + n[1] * a[1] + n[2], + -(n[3] * a[0] + n[4] * a[1] + n[5]), + ] + : ((a[1] = -a[1]), a); + } + function a(t, r) { + var n = t.project.invert, + i = t.transform, + o = r; + if ( + (i && + ((i = (function (t) { + var e = 1 / (t[0] * t[4] - t[1] * t[3]); + return [ + e * t[4], + -e * t[1], + e * (t[1] * t[5] - t[2] * t[4]), + -e * t[3], + e * t[0], + e * (t[2] * t[3] - t[0] * t[5]), + ]; + })(i)), + (o = [ + i[0] * o[0] + i[1] * o[1] + i[2], + i[3] * o[0] + i[4] * o[1] + i[5], + ])), + n && + t === + (function (t) { + return e(t[0] * E, t[1] * E); + })((s = n(o)))) + ) + return s; + for ( + var s, l = t.children, u = 0, c = l && l.length; + u < c; + ++u + ) + if ((s = a(l[u], r))) return s; + } + !(function t(e, r) { + if ( + ((e.edges = (function (t) { + for ( + var e = t.length, r = [], n = t[e - 1], i = 0; + i < e; + ++i + ) + r.push([n, (n = t[i])]); + return r; + })(e.face)), + r.face) + ) { + var n = (e.shared = (function (t, e) { + for ( + var r, n, i = t.length, a = null, o = 0; + o < i; + ++o + ) { + r = t[o]; + for (var s = e.length; --s >= 0; ) + if ( + ((n = e[s]), + r[0] === n[0] && r[1] === n[1]) + ) { + if (a) return [a, r]; + a = r; + } + } + })(e.face, r.face)), + i = + ((c = n.map(r.project)), + (f = n.map(e.project)), + (h = Sn(c[1], c[0])), + (p = Sn(f[1], f[0])), + (d = (function (t, e) { + return o( + t[0] * e[1] - t[1] * e[0], + t[0] * e[0] + t[1] * e[1], + ); + })(h, p)), + (v = En(h) / En(p)), + Mn( + [1, 0, c[0][0], 0, 1, c[0][1]], + Mn( + [v, 0, 0, 0, v, 0], + Mn( + [s(d), g(d), 0, -g(d), s(d), 0], + [1, 0, -f[0][0], 0, 1, -f[0][1]], + ), + ), + )); + e.transform = r.transform ? Mn(r.transform, i) : i; + for ( + var a = r.edges, l = 0, u = a.length; + l < u; + ++l + ) + On(n[0], a[l][1]) && + On(n[1], a[l][0]) && + (a[l] = e), + On(n[0], a[l][0]) && + On(n[1], a[l][1]) && + (a[l] = e); + for (l = 0, u = (a = e.edges).length; l < u; ++l) + On(n[0], a[l][0]) && + On(n[1], a[l][1]) && + (a[l] = r), + On(n[0], a[l][1]) && + On(n[1], a[l][0]) && + (a[l] = r); + } else e.transform = r.transform; + var c, f, h, p, d, v; + return ( + e.children && + e.children.forEach(function (r) { + t(r, e); + }), + e + ); + })(t, { transform: null }), + Pn(t) && + (i.invert = function (e, r) { + var n = a(t, [e, -r]); + return n && ((n[0] *= E), (n[1] *= E), n); + }); + var l = (0, n.Z)(i), + u = l.stream; + return ( + (l.stream = function (e) { + var r = l.rotate(), + n = u(e), + i = (l.rotate([0, 0]), u(e)); + return ( + l.rotate(r), + (n.sphere = function () { + i.polygonStart(), + i.lineStart(), + Cn(i, t), + i.lineEnd(), + i.polygonEnd(); + }), + n + ); + }), + l.angle(null == r ? -30 : r * S) + ); + } + function Cn(t, e, r) { + var n, + a, + o = e.edges, + s = o.length, + l = { type: "MultiPoint", coordinates: e.face }, + u = e.face.filter(function (t) { + return 90 !== i(t[1]); + }), + c = (0, kn.Z)({ type: "MultiPoint", coordinates: u }), + f = !1, + h = -1, + p = c[1][0] - c[0][0], + d = + 180 === p || 360 === p + ? [ + (c[0][0] + c[1][0]) / 2, + (c[0][1] + c[1][1]) / 2, + ] + : (0, bt.Z)(l); + if (r) for (; ++h < s && o[h] !== r; ); + ++h; + for (var v = 0; v < s; ++v) + (a = o[(v + h) % s]), + Array.isArray(a) + ? (f || + (t.point( + (n = (0, An.Z)(a[0], d)(m))[0], + n[1], + ), + (f = !0)), + t.point((n = (0, An.Z)(a[1], d)(m))[0], n[1])) + : ((f = !1), a !== r && Cn(t, a, e)); + } + function On(t, e) { + return t && e && t[0] === e[0] && t[1] === e[1]; + } + function Pn(t) { + return ( + t.project.invert || + (t.children && t.children.some(Pn)) + ); + } + var In = r(98936), + Dn = [ + [0, 90], + [-90, 0], + [0, 0], + [90, 0], + [180, 0], + [0, -90], + ], + zn = [ + [0, 2, 1], + [0, 3, 2], + [5, 1, 2], + [5, 2, 3], + [0, 1, 4], + [0, 4, 3], + [5, 4, 1], + [5, 3, 4], + ].map(function (t) { + return t.map(function (t) { + return Dn[t]; + }); + }); + function Rn(t) { + t = + t || + function (t) { + var e = (0, bt.Z)({ + type: "MultiPoint", + coordinates: t, + }); + return (0, In.Z)() + .scale(1) + .translate([0, 0]) + .rotate([-e[0], -e[1]]); + }; + var e = zn.map(function (e) { + return { face: e, project: t(e) }; + }); + return ( + [-1, 0, 0, 1, 0, 1, 4, 5].forEach(function (t, r) { + var n = e[t]; + n && (n.children || (n.children = [])).push(e[r]); + }), + Ln(e[0], function (t, r) { + return e[ + t < -b / 2 + ? r < 0 + ? 6 + : 4 + : t < 0 + ? r < 0 + ? 2 + : 0 + : t < b / 2 + ? r < 0 + ? 3 + : 1 + : r < 0 + ? 7 + : 5 + ]; + }) + .angle(-30) + .scale(101.858) + .center([0, 45]) + ); + } + var Fn = 2 / O(3); + function Bn(t, e) { + var r = Lt(t, e); + return [r[0] * Fn, r[1]]; + } + function Nn(t) { + t = + t || + function (t) { + var e = (0, bt.Z)({ + type: "MultiPoint", + coordinates: t, + }); + return (0, n.Z)(Bn) + .translate([0, 0]) + .scale(1) + .rotate( + e[1] > 0 ? [-e[0], 0] : [180 - e[0], 180], + ); + }; + var e = zn.map(function (e) { + return { face: e, project: t(e) }; + }); + return ( + [-1, 0, 0, 1, 0, 1, 4, 5].forEach(function (t, r) { + var n = e[t]; + n && (n.children || (n.children = [])).push(e[r]); + }), + Ln(e[0], function (t, r) { + return e[ + t < -b / 2 + ? r < 0 + ? 6 + : 4 + : t < 0 + ? r < 0 + ? 2 + : 0 + : t < b / 2 + ? r < 0 + ? 3 + : 1 + : r < 0 + ? 7 + : 5 + ]; + }) + .angle(-30) + .scale(121.906) + .center([0, 48.5904]) + ); + } + function jn(t) { + t = + t || + function (t) { + var e = + 6 === t.length + ? (0, bt.Z)({ + type: "MultiPoint", + coordinates: t, + }) + : t[0]; + return (0, In.Z)() + .scale(1) + .translate([0, 0]) + .rotate([-e[0], -e[1]]); + }; + var e = zn.map(function (t) { + for ( + var e, + r = t.map(Hn), + n = r.length, + i = r[n - 1], + a = [], + o = 0; + o < n; + ++o + ) + (e = r[o]), + a.push( + Vn([ + 0.9486832980505138 * i[0] + + 0.31622776601683794 * e[0], + 0.9486832980505138 * i[1] + + 0.31622776601683794 * e[1], + 0.9486832980505138 * i[2] + + 0.31622776601683794 * e[2], + ]), + Vn([ + 0.9486832980505138 * e[0] + + 0.31622776601683794 * i[0], + 0.9486832980505138 * e[1] + + 0.31622776601683794 * i[1], + 0.9486832980505138 * e[2] + + 0.31622776601683794 * i[2], + ]), + ), + (i = e); + return a; + }), + r = [], + n = [-1, 0, 0, 1, 0, 1, 4, 5]; + e.forEach(function (t, i) { + for ( + var a, + o, + s = zn[i], + l = s.length, + u = (r[i] = []), + c = 0; + c < l; + ++c + ) + e.push([ + s[c], + t[(2 * c + 2) % (2 * l)], + t[(2 * c + 1) % (2 * l)], + ]), + n.push(i), + u.push( + ((a = Hn(t[(2 * c + 2) % (2 * l)])), + (o = Hn(t[(2 * c + 1) % (2 * l)])), + [ + a[1] * o[2] - a[2] * o[1], + a[2] * o[0] - a[0] * o[2], + a[0] * o[1] - a[1] * o[0], + ]), + ); + }); + var i = e.map(function (e) { + return { project: t(e), face: e }; + }); + return ( + n.forEach(function (t, e) { + var r = i[t]; + r && (r.children || (r.children = [])).push(i[e]); + }), + Ln(i[0], function (t, e) { + var n = s(e), + a = [n * s(t), n * g(t), g(e)], + o = + t < -b / 2 + ? e < 0 + ? 6 + : 4 + : t < 0 + ? e < 0 + ? 2 + : 0 + : t < b / 2 + ? e < 0 + ? 3 + : 1 + : e < 0 + ? 7 + : 5, + l = r[o]; + return i[ + Un(l[0], a) < 0 + ? 8 + 3 * o + : Un(l[1], a) < 0 + ? 8 + 3 * o + 1 + : Un(l[2], a) < 0 + ? 8 + 3 * o + 2 + : o + ]; + }) + .angle(-30) + .scale(110.625) + .center([0, 45]) + ); + } + function Un(t, e) { + for (var r = 0, n = t.length, i = 0; r < n; ++r) + i += t[r] * e[r]; + return i; + } + function Vn(t) { + return [o(t[1], t[0]) * S, L(f(-1, h(1, t[2]))) * S]; + } + function Hn(t) { + var e = t[0] * E, + r = t[1] * E, + n = s(r); + return [n * s(e), n * g(e), g(r)]; + } + function qn() {} + function Gn(t, e) { + var r, + n = e.stream; + if (!n) throw new Error("invalid projection"); + switch (t && t.type) { + case "Feature": + r = Wn; + break; + case "FeatureCollection": + r = Zn; + break; + default: + r = Yn; + } + return r(t, n); + } + function Zn(t, e) { + return { + type: "FeatureCollection", + features: t.features.map(function (t) { + return Wn(t, e); + }), + }; + } + function Wn(t, e) { + return { + type: "Feature", + id: t.id, + properties: t.properties, + geometry: Yn(t.geometry, e), + }; + } + function Yn(t, e) { + if (!t) return null; + if ("GeometryCollection" === t.type) + return (function (t, e) { + return { + type: "GeometryCollection", + geometries: t.geometries.map(function (t) { + return Yn(t, e); + }), + }; + })(t, e); + var r; + switch (t.type) { + case "Point": + case "MultiPoint": + r = Kn; + break; + case "LineString": + case "MultiLineString": + r = $n; + break; + case "Polygon": + case "MultiPolygon": + case "Sphere": + r = Qn; + break; + default: + return null; + } + return (0, je.Z)(t, e(r)), r.result(); + } + Bn.invert = function (t, e) { + return Lt.invert(t / Fn, e); + }; + var Xn = [], + Jn = [], + Kn = { + point: function (t, e) { + Xn.push([t, e]); + }, + result: function () { + var t = Xn.length + ? Xn.length < 2 + ? { type: "Point", coordinates: Xn[0] } + : { type: "MultiPoint", coordinates: Xn } + : null; + return (Xn = []), t; + }, + }, + $n = { + lineStart: qn, + point: function (t, e) { + Xn.push([t, e]); + }, + lineEnd: function () { + Xn.length && (Jn.push(Xn), (Xn = [])); + }, + result: function () { + var t = Jn.length + ? Jn.length < 2 + ? { type: "LineString", coordinates: Jn[0] } + : { type: "MultiLineString", coordinates: Jn } + : null; + return (Jn = []), t; + }, + }, + Qn = { + polygonStart: qn, + lineStart: qn, + point: function (t, e) { + Xn.push([t, e]); + }, + lineEnd: function () { + var t = Xn.length; + if (t) { + do { + Xn.push(Xn[0].slice()); + } while (++t < 4); + Jn.push(Xn), (Xn = []); + } + }, + polygonEnd: qn, + result: function () { + if (!Jn.length) return null; + var t = [], + e = []; + return ( + Jn.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], + f = t[s], + h = f[0], + p = f[1]; + (c > n) ^ (p > n) && + r < + ((h - u) * (n - c)) / (p - c) + u && + (i = !i); + } + return i; + })(t[0], r) + ) + return t.push(e), !0; + }) || t.push([e]); + }), + (Jn = []), + t.length + ? t.length > 1 + ? { type: "MultiPolygon", coordinates: t } + : { type: "Polygon", coordinates: t[0] } + : null + ); + }, + }; + function ti(t) { + var e = t(_, 0)[0] - t(-_, 0)[0]; + function r(r, n) { + var a = i(r) < _, + o = t(a ? r : r > 0 ? r - b : r + b, n), + s = (o[0] - o[1]) * T, + l = (o[0] + o[1]) * T; + if (a) return [s, l]; + var u = e * T, + c = (s > 0) ^ (l > 0) ? -1 : 1; + return [c * s - v(l) * u, c * l - v(s) * u]; + } + return ( + t.invert && + (r.invert = function (r, n) { + var a = (r + n) * T, + o = (n - r) * T, + s = i(a) < 0.5 * e && i(o) < 0.5 * e; + if (!s) { + var l = e * T, + u = (a > 0) ^ (o > 0) ? -1 : 1, + c = -u * r + (o > 0 ? 1 : -1) * l, + f = -u * n + (a > 0 ? 1 : -1) * l; + (a = (-c - f) * T), (o = (c - f) * T); + } + var h = t.invert(a, o); + return s || (h[0] += a > 0 ? b : -b), h; + }), + (0, n.Z)(r).rotate([-90, -90, 45]).clipAngle(179.999) + ); + } + function ei() { + return ti(Le).scale(176.423); + } + function ri() { + return ti(Ie).scale(111.48); + } + function ni(t, e) { + if (!(0 <= (e = +e) && e <= 20)) + throw new Error("invalid digits"); + function r(t) { + var r = t.length, + n = 2, + i = new Array(r); + for ( + i[0] = +t[0].toFixed(e), i[1] = +t[1].toFixed(e); + n < r; + + ) + (i[n] = t[n]), ++n; + return i; + } + function n(t) { + return t.map(r); + } + function i(t) { + for ( + var e = r(t[0]), n = [e], i = 1; + i < t.length; + i++ + ) { + var a = r(t[i]); + (a.length > 2 || a[0] != e[0] || a[1] != e[1]) && + (n.push(a), (e = a)); + } + return ( + 1 === n.length && + t.length > 1 && + n.push(r(t[t.length - 1])), + n + ); + } + function a(t) { + return t.map(i); + } + function o(t) { + if (null == t) return t; + var e; + switch (t.type) { + case "GeometryCollection": + e = { + type: "GeometryCollection", + geometries: t.geometries.map(o), + }; + break; + case "Point": + e = { + type: "Point", + coordinates: r(t.coordinates), + }; + break; + case "MultiPoint": + e = { + type: t.type, + coordinates: n(t.coordinates), + }; + break; + case "LineString": + e = { + type: t.type, + coordinates: i(t.coordinates), + }; + break; + case "MultiLineString": + case "Polygon": + e = { + type: t.type, + coordinates: a(t.coordinates), + }; + break; + case "MultiPolygon": + e = { + type: "MultiPolygon", + coordinates: t.coordinates.map(a), + }; + break; + default: + return t; + } + return null != t.bbox && (e.bbox = t.bbox), e; + } + function s(t) { + var e = { + type: "Feature", + properties: t.properties, + geometry: o(t.geometry), + }; + return ( + null != t.id && (e.id = t.id), + null != t.bbox && (e.bbox = t.bbox), + e + ); + } + if (null != t) + switch (t.type) { + case "Feature": + return s(t); + case "FeatureCollection": + var l = { + type: "FeatureCollection", + features: t.features.map(s), + }; + return null != t.bbox && (l.bbox = t.bbox), l; + default: + return o(t); + } + return t; + } + function ii(t) { + var e = g(t); + function r(r, n) { + var i = e ? y((r * e) / 2) / e : r / 2; + if (!n) return [2 * i, -t]; + var o = 2 * a(i * g(n)), + l = 1 / y(n); + return [g(o) * l, n + (1 - s(o)) * l - t]; + } + return ( + (r.invert = function (r, n) { + if (i((n += t)) < m) + return [e ? (2 * a((e * r) / 2)) / e : r, 0]; + var o, + l = r * r + n * n, + u = 0, + c = 10; + do { + var f = y(u), + h = 1 / s(u), + p = l - 2 * n * u + u * u; + u -= o = + (f * p + 2 * (u - n)) / + (2 + p * h * h + 2 * (u - n) * f); + } while (i(o) > m && --c > 0); + var d = r * (f = y(u)), + v = + y( + i(n) < i(u + 1 / f) + ? 0.5 * L(d) + : 0.5 * C(d) + b / 4, + ) / g(u); + return [e ? (2 * a(e * v)) / e : 2 * v, u]; + }), + r + ); + } + function ai() { + return ft(ii).scale(131.215); + } + var oi = [ + [0.9986, -0.062], + [1, 0], + [0.9986, 0.062], + [0.9954, 0.124], + [0.99, 0.186], + [0.9822, 0.248], + [0.973, 0.31], + [0.96, 0.372], + [0.9427, 0.434], + [0.9216, 0.4958], + [0.8962, 0.5571], + [0.8679, 0.6176], + [0.835, 0.6769], + [0.7986, 0.7346], + [0.7597, 0.7903], + [0.7186, 0.8435], + [0.6732, 0.8936], + [0.6213, 0.9394], + [0.5722, 0.9761], + [0.5322, 1], + ]; + function si(t, e) { + var r, + n = h(18, (36 * i(e)) / b), + a = u(n), + o = n - a, + s = (r = oi[a])[0], + l = r[1], + c = (r = oi[++a])[0], + f = r[1], + p = (r = oi[h(19, ++a)])[0], + d = r[1]; + return [ + t * + (c + + (o * (p - s)) / 2 + + (o * o * (p - 2 * c + s)) / 2), + (e > 0 ? _ : -_) * + (f + + (o * (d - l)) / 2 + + (o * o * (d - 2 * f + l)) / 2), + ]; + } + function li() { + return (0, n.Z)(si).scale(152.63); + } + function ui(t, e) { + var r = (function (t) { + function e(e, r) { + var n = s(r), + i = (t - 1) / (t - n * s(e)); + return [i * n * g(e), i * g(r)]; + } + return ( + (e.invert = function (e, r) { + var n = e * e + r * r, + i = O(n), + a = + (t - O(1 - (n * (t + 1)) / (t - 1))) / + ((t - 1) / i + i / (t - 1)); + return [ + o(e * a, i * O(1 - a * a)), + i ? L((r * a) / i) : 0, + ]; + }), + e + ); + })(t); + if (!e) return r; + var n = s(e), + i = g(e); + function a(e, a) { + var o = r(e, a), + s = o[1], + l = (s * i) / (t - 1) + n; + return [(o[0] * n) / l, s / l]; + } + return ( + (a.invert = function (e, a) { + var o = (t - 1) / (t - 1 - a * i); + return r.invert(o * e, o * a * n); + }), + a + ); + } + function ci() { + var t = 2, + e = 0, + r = (0, n.r)(ui), + i = r(t, e); + return ( + (i.distance = function (n) { + return arguments.length ? r((t = +n), e) : t; + }), + (i.tilt = function (n) { + return arguments.length ? r(t, (e = n * E)) : e * S; + }), + i.scale(432.147).clipAngle(C(1 / t) * S - 1e-6) + ); + } + oi.forEach(function (t) { + t[1] *= 1.0144; + }), + (si.invert = function (t, e) { + var r = e / _, + n = 90 * r, + a = h(18, i(n / 5)), + o = f(0, u(a)); + do { + var s = oi[o][1], + l = oi[o + 1][1], + c = oi[h(19, o + 2)][1], + p = c - s, + d = c - 2 * l + s, + v = (2 * (i(r) - l)) / p, + g = d / p, + y = v * (1 - g * v * (1 - 2 * g * v)); + if (y >= 0 || 1 === o) { + n = (e >= 0 ? 5 : -5) * (y + a); + var m, + b = 50; + do { + (y = (a = h(18, i(n) / 5)) - (o = u(a))), + (s = oi[o][1]), + (l = oi[o + 1][1]), + (c = oi[h(19, o + 2)][1]), + (n -= + (m = + (e >= 0 ? _ : -_) * + (l + + (y * (c - s)) / 2 + + (y * y * (c - 2 * l + s)) / 2) - + e) * S); + } while (i(m) > x && --b > 0); + break; + } + } while (--o >= 0); + var w = oi[o][0], + T = oi[o + 1][0], + k = oi[h(19, o + 2)][0]; + return [ + t / + (T + + (y * (k - w)) / 2 + + (y * y * (k - 2 * T + w)) / 2), + n * E, + ]; + }); + var fi = -179.9999, + hi = 179.9999, + pi = -89.9999, + di = 89.9999; + function vi(t) { + return t.length > 0; + } + function gi(t) { + return -90 === t || 90 === t + ? [0, t] + : [-180, ((e = t), Math.floor(1e4 * e) / 1e4)]; + var e; + } + function yi(t) { + var e = t[0], + r = t[1], + n = !1; + return ( + e <= fi + ? ((e = -180), (n = !0)) + : e >= hi && ((e = 180), (n = !0)), + r <= pi + ? ((r = -90), (n = !0)) + : r >= di && ((r = 90), (n = !0)), + n ? [e, r] : t + ); + } + function mi(t) { + return t.map(yi); + } + function xi(t, e, r) { + for (var n = 0, i = t.length; n < i; ++n) { + var a = t[n].slice(); + r.push({ index: -1, polygon: e, ring: a }); + for (var o = 0, s = a.length; o < s; ++o) { + var l = a[o], + u = l[0], + c = l[1]; + if (u <= fi || u >= hi || c <= pi || c >= di) { + a[o] = yi(l); + for (var f = o + 1; f < s; ++f) { + var h = a[f], + p = h[0], + d = h[1]; + if (p > fi && p < hi && d > pi && d < di) break; + } + if (f === o + 1) continue; + if (o) { + var v = { + index: -1, + polygon: e, + ring: a.slice(0, o + 1), + }; + (v.ring[v.ring.length - 1] = gi(c)), + (r[r.length - 1] = v); + } else r.pop(); + if (f >= s) break; + r.push({ + index: -1, + polygon: e, + ring: (a = a.slice(f - 1)), + }), + (a[0] = gi(a[0][1])), + (o = -1), + (s = a.length); + } + } + } + } + function bi(t) { + var e, + r, + n, + i, + a, + o, + s = t.length, + l = {}, + u = {}; + for (e = 0; e < s; ++e) + (n = (r = t[e]).ring[0]), + (a = r.ring[r.ring.length - 1]), + n[0] !== a[0] || n[1] !== a[1] + ? ((r.index = e), (l[n] = u[a] = r)) + : (r.polygon.push(r.ring), (t[e] = null)); + for (e = 0; e < s; ++e) + if ((r = t[e])) { + if ( + ((n = r.ring[0]), + (a = r.ring[r.ring.length - 1]), + (i = u[n]), + (o = l[a]), + delete l[n], + delete u[a], + n[0] === a[0] && n[1] === a[1]) + ) { + r.polygon.push(r.ring); + continue; + } + i + ? (delete u[n], + delete l[i.ring[0]], + i.ring.pop(), + (t[i.index] = null), + (r = { + index: -1, + polygon: i.polygon, + ring: i.ring.concat(r.ring), + }), + i === o + ? r.polygon.push(r.ring) + : ((r.index = s++), + t.push( + (l[r.ring[0]] = u[ + r.ring[r.ring.length - 1] + ] = + r), + ))) + : o + ? (delete l[a], + delete u[o.ring[o.ring.length - 1]], + r.ring.pop(), + (r = { + index: s++, + polygon: o.polygon, + ring: r.ring.concat(o.ring), + }), + (t[o.index] = null), + t.push( + (l[r.ring[0]] = u[r.ring[r.ring.length - 1]] = + r), + )) + : (r.ring.push(r.ring[0]), + r.polygon.push(r.ring)); + } + } + function _i(t) { + var e = { type: "Feature", geometry: wi(t.geometry) }; + return ( + null != t.id && (e.id = t.id), + null != t.bbox && (e.bbox = t.bbox), + null != t.properties && (e.properties = t.properties), + e + ); + } + function wi(t) { + if (null == t) return t; + var e, r, n, i; + switch (t.type) { + case "GeometryCollection": + e = { + type: "GeometryCollection", + geometries: t.geometries.map(wi), + }; + break; + case "Point": + e = { + type: "Point", + coordinates: yi(t.coordinates), + }; + break; + case "MultiPoint": + case "LineString": + e = { + type: t.type, + coordinates: mi(t.coordinates), + }; + break; + case "MultiLineString": + e = { + type: "MultiLineString", + coordinates: t.coordinates.map(mi), + }; + break; + case "Polygon": + var a = []; + xi(t.coordinates, a, (r = [])), + bi(r), + (e = { type: "Polygon", coordinates: a }); + break; + case "MultiPolygon": + (r = []), (n = -1), (i = t.coordinates.length); + for (var o = new Array(i); ++n < i; ) + xi(t.coordinates[n], (o[n] = []), r); + bi(r), + (e = { + type: "MultiPolygon", + coordinates: o.filter(vi), + }); + break; + default: + return t; + } + return null != t.bbox && (e.bbox = t.bbox), e; + } + function Ti(t) { + if (null == t) return t; + switch (t.type) { + case "Feature": + return _i(t); + case "FeatureCollection": + var e = { + type: "FeatureCollection", + features: t.features.map(_i), + }; + return null != t.bbox && (e.bbox = t.bbox), e; + default: + return wi(t); + } + } + function ki(t, e) { + var r = y(e / 2), + n = g(w * r); + return [t * (0.74482 - 0.34588 * n * n), 1.70711 * r]; + } + function Ai() { + return (0, n.Z)(ki).scale(146.153); + } + function Mi(t, e, r) { + var i = (0, An.Z)(e, r), + a = i(0.5), + o = (0, _t.Z)([-a[0], -a[1]])(e), + s = i.distance / 2, + l = -L(g(o[1] * E) / g(s)), + u = [-a[0], -a[1], -(o[0] > 0 ? b - l : l) * S], + c = (0, n.Z)(t(s)).rotate(u), + f = (0, _t.Z)(u), + h = c.center; + return ( + delete c.rotate, + (c.center = function (t) { + return arguments.length ? h(f(t)) : f.invert(h()); + }), + c.clipAngle(90) + ); + } + function Si(t) { + var e = s(t); + function r(t, r) { + var n = (0, In.M)(t, r); + return (n[0] *= e), n; + } + return ( + (r.invert = function (t, r) { + return In.M.invert(t / e, r); + }), + r + ); + } + function Ei() { + return Li([-158, 21.5], [-77, 39]) + .clipAngle(60) + .scale(400); + } + function Li(t, e) { + return Mi(Si, t, e); + } + function Ci(t) { + if (!(t *= 2)) return Z.N; + var e = -t / 2, + r = -e, + n = t * t, + i = y(r), + a = 0.5 / g(r); + function l(i, a) { + var o = C(s(a) * s(i - e)), + l = C(s(a) * s(i - r)); + return [ + ((o *= o) - (l *= l)) / (2 * t), + ((a < 0 ? -1 : 1) * + O(4 * n * l - (n - o + l) * (n - o + l))) / + (2 * t), + ]; + } + return ( + (l.invert = function (t, n) { + var l, + u, + c = n * n, + f = s(O(c + (l = t + e) * l)), + h = s(O(c + (l = t + r) * l)); + return [ + o((u = f - h), (l = (f + h) * i)), + (n < 0 ? -1 : 1) * C(O(l * l + u * u) * a), + ]; + }), + l + ); + } + function Oi() { + return Pi([-158, 21.5], [-77, 39]) + .clipAngle(130) + .scale(122.571); + } + function Pi(t, e) { + return Mi(Ci, t, e); + } + function Ii(t, e) { + if (i(e) < m) return [t, 0]; + var r = i(e / _), + n = L(r); + if (i(t) < m || i(i(e) - _) < m) + return [0, v(e) * b * y(n / 2)]; + var a = s(n), + o = i(b / t - t / b) / 2, + l = o * o, + u = a / (r + a - 1), + c = u * (2 / r - 1), + f = c * c, + h = f + l, + p = u - f, + d = l + u; + return [ + (v(t) * + b * + (o * p + O(l * p * p - h * (u * u - f)))) / + h, + (v(e) * b * (c * d - o * O((l + 1) * h - d * d))) / h, + ]; + } + function Di() { + return (0, n.Z)(Ii).scale(79.4183); + } + function zi(t, e) { + if (i(e) < m) return [t, 0]; + var r = i(e / _), + n = L(r); + if (i(t) < m || i(i(e) - _) < m) + return [0, v(e) * b * y(n / 2)]; + var a = s(n), + o = i(b / t - t / b) / 2, + l = o * o, + u = (a * (O(1 + l) - o * a)) / (1 + l * r * r); + return [ + v(t) * b * u, + v(e) * b * O(1 - u * (2 * o + u)), + ]; + } + function Ri() { + return (0, n.Z)(zi).scale(79.4183); + } + function Fi(t, e) { + if (i(e) < m) return [t, 0]; + var r = e / _, + n = L(r); + if (i(t) < m || i(i(e) - _) < m) + return [0, b * y(n / 2)]; + var a = (b / t - t / b) / 2, + o = r / (1 + s(n)); + return [b * (v(t) * O(a * a + 1 - o * o) - a), b * o]; + } + function Bi() { + return (0, n.Z)(Fi).scale(79.4183); + } + function Ni(t, e) { + if (!e) return [t, 0]; + var r = i(e); + if (!t || r === _) return [0, e]; + var n = r / _, + a = n * n, + o = (8 * n - a * (a + 2) - 5) / (2 * a * (n - 1)), + s = o * o, + l = n * o, + u = a + s + 2 * l, + c = n + 3 * o, + f = t / _, + h = f + 1 / f, + p = v(i(t) - _) * O(h * h - 4), + d = p * p, + g = + (p * (u + s - 1) + + 2 * + O( + u * (a + s * d - 1) + + (1 - a) * + (a * (c * c + 4 * s) + + 12 * l * s + + 4 * s * s), + )) / + (4 * u + d); + return [ + v(t) * _ * g, + v(e) * _ * O(1 + p * i(g) - g * g), + ]; + } + function ji() { + return (0, n.Z)(Ni).scale(127.16); + } + function Ui(t, e, r, n) { + var i = b / 3; + (t = f(t, m)), + (e = f(e, m)), + (t = h(t, _)), + (e = h(e, b - m)), + (r = f(r, 0)), + (r = h(r, 99.999999)); + var a = (n = f(n, m)) / 100, + l = C((r / 100 + 1) * s(i)) / i, + u = g(t) / g(l * _), + c = e / b, + p = O((a * g(t / 2)) / g(e / 2)); + return (function (t, e, r, n, i) { + function a(a, o) { + var l = r * g(n * o), + u = O(1 - l * l), + c = O(2 / (1 + u * s((a *= i)))); + return [t * u * c * g(a), e * l * c]; + } + return ( + (a.invert = function (a, s) { + var l = a / t, + u = s / e, + c = O(l * l + u * u), + f = 2 * L(c / 2); + return [ + o(a * y(f), t * c) / i, + c && L((s * g(f)) / (e * r * c)) / n, + ]; + }), + a + ); + })(p / O(c * u * l), 1 / (p * O(c * u * l)), u, l, c); + } + function Vi() { + var t = 65 * E, + e = 60 * E, + r = 20, + i = 200, + a = (0, n.r)(Ui), + o = a(t, e, r, i); + return ( + (o.poleline = function (n) { + return arguments.length + ? a((t = +n * E), e, r, i) + : t * S; + }), + (o.parallels = function (n) { + return arguments.length + ? a(t, (e = +n * E), r, i) + : e * S; + }), + (o.inflation = function (n) { + return arguments.length ? a(t, e, (r = +n), i) : r; + }), + (o.ratio = function (n) { + return arguments.length ? a(t, e, r, (i = +n)) : i; + }), + o.scale(163.775) + ); + } + function Hi() { + return Vi() + .poleline(65) + .parallels(60) + .inflation(0) + .ratio(200) + .scale(172.633); + } + (ki.invert = function (t, e) { + var r = e / 1.70711, + n = g(w * r); + return [t / (0.74482 - 0.34588 * n * n), 2 * a(r)]; + }), + (Ii.invert = function (t, e) { + if (i(e) < m) return [t, 0]; + if (i(t) < m) return [0, _ * g(2 * a(e / b))]; + var r = (t /= b) * t, + n = (e /= b) * e, + o = r + n, + l = o * o, + u = -i(e) * (1 + o), + c = u - 2 * n + r, + f = -2 * u + 1 + 2 * n + l, + h = + n / f + + ((2 * c * c * c) / (f * f * f) - + (9 * u * c) / (f * f)) / + 27, + p = (u - (c * c) / (3 * f)) / f, + d = 2 * O(-p / 3), + y = C((3 * h) / (p * d)) / 3; + return [ + (b * (o - 1 + O(1 + 2 * (r - n) + l))) / (2 * t), + v(e) * b * (-d * s(y + b / 3) - c / (3 * f)), + ]; + }), + (zi.invert = function (t, e) { + if (!t) return [0, _ * g(2 * a(e / b))]; + var r = i(t / b), + n = (1 - r * r - (e /= b) * e) / (2 * r), + s = O(n * n + 1); + return [ + v(t) * b * (s - n), + v(e) * + _ * + g( + 2 * + o( + O((1 - 2 * n * r) * (n + s) - r), + O(s + n + r), + ), + ), + ]; + }), + (Fi.invert = function (t, e) { + if (!e) return [t, 0]; + var r = e / b, + n = (b * b * (1 - r * r) - t * t) / (2 * b * t); + return [ + t ? b * (v(t) * O(n * n + 1) - n) : 0, + _ * g(2 * a(r)), + ]; + }), + (Ni.invert = function (t, e) { + var r; + if (!t || !e) return [t, e]; + e /= b; + var n = (v(t) * t) / _, + a = (n * n - 1 + 4 * e * e) / i(n), + o = a * a, + s = 2 * e, + l = 50; + do { + var u = s * s, + c = (8 * s - u * (u + 2) - 5) / (2 * u * (s - 1)), + f = (3 * s - u * s - 10) / (2 * u * s), + h = c * c, + p = s * c, + d = s + c, + g = d * d, + y = s + 3 * c, + x = + -2 * + d * + (4 * p * h + + (1 - 4 * u + 3 * u * u) * (1 + f) + + h * + (14 * u - 6 - o + (8 * u - 8 - 2 * o) * f) + + p * (12 * u - 8 + (10 * u - 10 - o) * f)), + w = O( + g * (u + h * o - 1) + + (1 - u) * + (u * (y * y + 4 * h) + + h * (12 * p + 4 * h)), + ); + s -= r = + (a * (g + h - 1) + 2 * w - n * (4 * g + o)) / + (a * (2 * c * f + 2 * d * (1 + f)) + + x / w - + (8 * d * (a * (-1 + h + g) + 2 * w) * (1 + f)) / + (o + 4 * g)); + } while (r > m && --l > 0); + return [(v(t) * (O(a * a + 4) + a) * b) / 4, _ * s]; + }); + var qi = 4 * b + 3 * O(3), + Gi = 2 * O((2 * b * O(3)) / qi), + Zi = it((Gi * O(3)) / b, Gi, qi / 6); + function Wi() { + return (0, n.Z)(Zi).scale(176.84); + } + function Yi(t, e) { + return [t * O(1 - (3 * e * e) / (b * b)), e]; + } + function Xi() { + return (0, n.Z)(Yi).scale(152.63); + } + function Ji(t, e) { + var r = s(e), + n = s(t) * r, + i = 1 - n, + a = s((t = o(g(t) * r, -g(e)))), + l = g(t); + return [l * (r = O(1 - n * n)) - a * i, -a * r - l * i]; + } + function Ki() { + return (0, n.Z)(Ji) + .rotate([0, -90, 45]) + .scale(124.75) + .clipAngle(179.999); + } + function $i(t, e) { + var r = R(t, e); + return [(r[0] + t / _) / 2, (r[1] + e) / 2]; + } + function Qi() { + return (0, n.Z)($i).scale(158.837); + } + (Yi.invert = function (t, e) { + return [t / O(1 - (3 * e * e) / (b * b)), e]; + }), + (Ji.invert = function (t, e) { + var r = (t * t + e * e) / -2, + n = O(-r * (2 + r)), + i = e * r + t * n, + a = t * r - e * n, + s = O(a * a + i * i); + return [ + o(n * i, s * (1 + r)), + s ? -L((n * a) / s) : 0, + ]; + }), + ($i.invert = function (t, e) { + var r = t, + n = e, + a = 25; + do { + var o, + l = s(n), + u = g(n), + c = g(2 * n), + f = u * u, + h = l * l, + p = g(r), + d = s(r / 2), + v = g(r / 2), + y = v * v, + x = 1 - h * d * d, + b = x ? C(l * d) * O((o = 1 / x)) : (o = 0), + w = 0.5 * (2 * b * l * v + r / _) - t, + T = 0.5 * (b * u + n) - e, + k = 0.5 * o * (h * y + b * l * d * f) + 0.5 / _, + A = o * ((p * c) / 4 - b * u * v), + M = 0.125 * o * (c * v - b * u * h * p), + S = 0.5 * o * (f * d + b * y * l) + 0.5, + E = A * M - S * k, + L = (T * A - w * S) / E, + P = (w * M - T * k) / E; + (r -= L), (n -= P); + } while ((i(L) > m || i(P) > m) && --a > 0); + return [r, n]; + }); + }, + 33940: function (t, e, r) { + "use strict"; + function n() { + return new i(); + } + function i() { + this.reset(); + } + r.d(e, { + Z: function () { + return n; + }, + }), + (i.prototype = { + constructor: i, + reset: function () { + this.s = this.t = 0; + }, + add: function (t) { + o(a, t, this.t), + o(this, a.s, this.s), + this.s ? (this.t += a.t) : (this.s = a.t); + }, + valueOf: function () { + return this.s; + }, + }); + var a = new i(); + function o(t, e, r) { + var n = (t.s = e + r), + i = n - e, + a = n - i; + t.t = e - a + (r - i); + } + }, + 97860: function (t, e, r) { + "use strict"; + r.d(e, { + L9: function () { + return h; + }, + ZP: function () { + return x; + }, + gL: function () { + return d; + }, + }); + var n, + i, + a, + o, + s, + l = r(33940), + u = r(39695), + c = r(73182), + f = r(72736), + h = (0, l.Z)(), + p = (0, l.Z)(), + d = { + point: c.Z, + lineStart: c.Z, + lineEnd: c.Z, + polygonStart: function () { + h.reset(), (d.lineStart = v), (d.lineEnd = g); + }, + polygonEnd: function () { + var t = +h; + p.add(t < 0 ? u.BZ + t : t), + (this.lineStart = + this.lineEnd = + this.point = + c.Z); + }, + sphere: function () { + p.add(u.BZ); + }, + }; + function v() { + d.point = y; + } + function g() { + m(n, i); + } + function y(t, e) { + (d.point = m), + (n = t), + (i = e), + (t *= u.uR), + (e *= u.uR), + (a = t), + (o = (0, u.mC)((e = e / 2 + u.pu))), + (s = (0, u.O$)(e)); + } + function m(t, e) { + (t *= u.uR), (e = (e *= u.uR) / 2 + u.pu); + var r = t - a, + n = r >= 0 ? 1 : -1, + i = n * r, + l = (0, u.mC)(e), + c = (0, u.O$)(e), + f = s * c, + p = o * l + f * (0, u.mC)(i), + d = f * n * (0, u.O$)(i); + h.add((0, u.fv)(d, p)), (a = t), (o = l), (s = c); + } + function x(t) { + return p.reset(), (0, f.Z)(t, d), 2 * p; + } + }, + 77338: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return C; + }, + }); + var n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p = r(33940), + d = r(97860), + v = r(7620), + g = r(39695), + y = r(72736), + m = (0, p.Z)(), + x = { + point: b, + lineStart: w, + lineEnd: T, + polygonStart: function () { + (x.point = k), + (x.lineStart = A), + (x.lineEnd = M), + m.reset(), + d.gL.polygonStart(); + }, + polygonEnd: function () { + d.gL.polygonEnd(), + (x.point = b), + (x.lineStart = w), + (x.lineEnd = T), + d.L9 < 0 + ? ((n = -(a = 180)), (i = -(o = 90))) + : m > g.Ho + ? (o = 90) + : m < -g.Ho && (i = -90), + (h[0] = n), + (h[1] = a); + }, + sphere: function () { + (n = -(a = 180)), (i = -(o = 90)); + }, + }; + function b(t, e) { + f.push((h = [(n = t), (a = t)])), + e < i && (i = e), + e > o && (o = e); + } + function _(t, e) { + var r = (0, v.Og)([t * g.uR, e * g.uR]); + if (c) { + var l = (0, v.T5)(c, r), + u = [l[1], -l[0], 0], + p = (0, v.T5)(u, l); + (0, v.iJ)(p), (p = (0, v.Y1)(p)); + var d, + y = t - s, + m = y > 0 ? 1 : -1, + x = p[0] * g.RW * m, + b = (0, g.Wn)(y) > 180; + b ^ (m * s < x && x < m * t) + ? (d = p[1] * g.RW) > o && (o = d) + : b ^ + (m * s < (x = ((x + 360) % 360) - 180) && + x < m * t) + ? (d = -p[1] * g.RW) < i && (i = d) + : (e < i && (i = e), e > o && (o = e)), + b + ? t < s + ? S(n, t) > S(n, a) && (a = t) + : S(t, a) > S(n, a) && (n = t) + : a >= n + ? (t < n && (n = t), t > a && (a = t)) + : t > s + ? S(n, t) > S(n, a) && (a = t) + : S(t, a) > S(n, a) && (n = t); + } else f.push((h = [(n = t), (a = t)])); + e < i && (i = e), e > o && (o = e), (c = r), (s = t); + } + function w() { + x.point = _; + } + function T() { + (h[0] = n), (h[1] = a), (x.point = b), (c = null); + } + function k(t, e) { + if (c) { + var r = t - s; + m.add( + (0, g.Wn)(r) > 180 ? r + (r > 0 ? 360 : -360) : r, + ); + } else (l = t), (u = e); + d.gL.point(t, e), _(t, e); + } + function A() { + d.gL.lineStart(); + } + function M() { + k(l, u), + d.gL.lineEnd(), + (0, g.Wn)(m) > g.Ho && (n = -(a = 180)), + (h[0] = n), + (h[1] = a), + (c = null); + } + function S(t, e) { + return (e -= t) < 0 ? e + 360 : e; + } + function E(t, e) { + return t[0] - e[0]; + } + function L(t, e) { + return t[0] <= t[1] + ? t[0] <= e && e <= t[1] + : e < t[0] || t[1] < e; + } + function C(t) { + var e, r, s, l, u, c, p; + if ( + ((o = a = -(n = i = 1 / 0)), + (f = []), + (0, y.Z)(t, x), + (r = f.length)) + ) { + for (f.sort(E), e = 1, u = [(s = f[0])]; e < r; ++e) + L(s, (l = f[e])[0]) || L(s, l[1]) + ? (S(s[0], l[1]) > S(s[0], s[1]) && (s[1] = l[1]), + S(l[0], s[1]) > S(s[0], s[1]) && (s[0] = l[0])) + : u.push((s = l)); + for ( + c = -1 / 0, e = 0, s = u[(r = u.length - 1)]; + e <= r; + s = l, ++e + ) + (l = u[e]), + (p = S(s[1], l[0])) > c && + ((c = p), (n = l[0]), (a = s[1])); + } + return ( + (f = h = null), + n === 1 / 0 || i === 1 / 0 + ? [ + [NaN, NaN], + [NaN, NaN], + ] + : [ + [n, i], + [a, o], + ] + ); + } + }, + 7620: function (t, e, r) { + "use strict"; + r.d(e, { + Og: function () { + return a; + }, + T: function () { + return u; + }, + T5: function () { + return s; + }, + Y1: function () { + return i; + }, + iJ: function () { + return c; + }, + j9: function () { + return o; + }, + s0: function () { + return l; + }, + }); + var n = r(39695); + function i(t) { + return [(0, n.fv)(t[1], t[0]), (0, n.ZR)(t[2])]; + } + function a(t) { + var e = t[0], + r = t[1], + i = (0, n.mC)(r); + return [ + i * (0, n.mC)(e), + i * (0, n.O$)(e), + (0, n.O$)(r), + ]; + } + function o(t, e) { + return t[0] * e[0] + t[1] * e[1] + t[2] * e[2]; + } + function s(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 l(t, e) { + (t[0] += e[0]), (t[1] += e[1]), (t[2] += e[2]); + } + function u(t, e) { + return [t[0] * e, t[1] * e, t[2] * e]; + } + function c(t) { + var e = (0, n._b)( + t[0] * t[0] + t[1] * t[1] + t[2] * t[2], + ); + (t[0] /= e), (t[1] /= e), (t[2] /= e); + } + }, + 66624: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return I; + }, + }); + var n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x = r(39695), + b = r(73182), + _ = r(72736), + w = { + sphere: b.Z, + point: T, + lineStart: A, + lineEnd: E, + polygonStart: function () { + (w.lineStart = L), (w.lineEnd = C); + }, + polygonEnd: function () { + (w.lineStart = A), (w.lineEnd = E); + }, + }; + function T(t, e) { + (t *= x.uR), (e *= x.uR); + var r = (0, x.mC)(e); + k(r * (0, x.mC)(t), r * (0, x.O$)(t), (0, x.O$)(e)); + } + function k(t, e, r) { + ++n, + (a += (t - a) / n), + (o += (e - o) / n), + (s += (r - s) / n); + } + function A() { + w.point = M; + } + function M(t, e) { + (t *= x.uR), (e *= x.uR); + var r = (0, x.mC)(e); + (g = r * (0, x.mC)(t)), + (y = r * (0, x.O$)(t)), + (m = (0, x.O$)(e)), + (w.point = S), + k(g, y, m); + } + function S(t, e) { + (t *= x.uR), (e *= x.uR); + var r = (0, x.mC)(e), + n = r * (0, x.mC)(t), + a = r * (0, x.O$)(t), + o = (0, x.O$)(e), + s = (0, x.fv)( + (0, x._b)( + (s = y * o - m * a) * s + + (s = m * n - g * o) * s + + (s = g * a - y * n) * s, + ), + g * n + y * a + m * o, + ); + (i += s), + (l += s * (g + (g = n))), + (u += s * (y + (y = a))), + (c += s * (m + (m = o))), + k(g, y, m); + } + function E() { + w.point = T; + } + function L() { + w.point = O; + } + function C() { + P(d, v), (w.point = T); + } + function O(t, e) { + (d = t), + (v = e), + (t *= x.uR), + (e *= x.uR), + (w.point = P); + var r = (0, x.mC)(e); + (g = r * (0, x.mC)(t)), + (y = r * (0, x.O$)(t)), + (m = (0, x.O$)(e)), + k(g, y, m); + } + function P(t, e) { + (t *= x.uR), (e *= x.uR); + var r = (0, x.mC)(e), + n = r * (0, x.mC)(t), + a = r * (0, x.O$)(t), + o = (0, x.O$)(e), + s = y * o - m * a, + d = m * n - g * o, + v = g * a - y * n, + b = (0, x._b)(s * s + d * d + v * v), + _ = (0, x.ZR)(b), + w = b && -_ / b; + (f += w * s), + (h += w * d), + (p += w * v), + (i += _), + (l += _ * (g + (g = n))), + (u += _ * (y + (y = a))), + (c += _ * (m + (m = o))), + k(g, y, m); + } + function I(t) { + (n = i = a = o = s = l = u = c = f = h = p = 0), + (0, _.Z)(t, w); + var e = f, + r = h, + d = p, + v = e * e + r * r + d * d; + return v < x.aW && + ((e = l), + (r = u), + (d = c), + i < x.Ho && ((e = a), (r = o), (d = s)), + (v = e * e + r * r + d * d) < x.aW) + ? [NaN, NaN] + : [ + (0, x.fv)(r, e) * x.RW, + (0, x.ZR)(d / (0, x._b)(v)) * x.RW, + ]; + } + }, + 7613: function (t, e, r) { + "use strict"; + r.d(e, { + m: function () { + return s; + }, + Z: function () { + return u; + }, + }); + var n = r(7620); + function i(t) { + return function () { + return t; + }; + } + var a = r(39695), + o = r(49386); + function s(t, e, r, i, o, s) { + if (r) { + var u = (0, a.mC)(e), + c = (0, a.O$)(e), + f = i * r; + null == o + ? ((o = e + i * a.BZ), (s = e - f / 2)) + : ((o = l(u, o)), + (s = l(u, s)), + (i > 0 ? o < s : o > s) && (o += i * a.BZ)); + for (var h, p = o; i > 0 ? p > s : p < s; p -= f) + (h = (0, n.Y1)([ + u, + -c * (0, a.mC)(p), + -c * (0, a.O$)(p), + ])), + t.point(h[0], h[1]); + } + } + function l(t, e) { + ((e = (0, n.Og)(e))[0] -= t), (0, n.iJ)(e); + var r = (0, a.Kh)(-e[1]); + return ((-e[2] < 0 ? -r : r) + a.BZ - a.Ho) % a.BZ; + } + function u() { + var t, + e, + r = i([0, 0]), + n = i(90), + l = i(6), + u = { + point: function (r, n) { + t.push((r = e(r, n))), + (r[0] *= a.RW), + (r[1] *= a.RW); + }, + }; + function c() { + var i = r.apply(this, arguments), + c = n.apply(this, arguments) * a.uR, + f = l.apply(this, arguments) * a.uR; + return ( + (t = []), + (e = (0, o.I)( + -i[0] * a.uR, + -i[1] * a.uR, + 0, + ).invert), + s(u, c, f, 1), + (i = { type: "Polygon", coordinates: [t] }), + (t = e = null), + i + ); + } + return ( + (c.center = function (t) { + return arguments.length + ? ((r = + "function" == typeof t + ? t + : i([+t[0], +t[1]])), + c) + : r; + }), + (c.radius = function (t) { + return arguments.length + ? ((n = "function" == typeof t ? t : i(+t)), c) + : n; + }), + (c.precision = function (t) { + return arguments.length + ? ((l = "function" == typeof t ? t : i(+t)), c) + : l; + }), + c + ); + } + }, + 87070: function (t, e, r) { + "use strict"; + var n = r(97023), + i = r(39695); + e.Z = (0, n.Z)( + function () { + return !0; + }, + function (t) { + var e, + r = NaN, + n = NaN, + a = NaN; + return { + lineStart: function () { + t.lineStart(), (e = 1); + }, + point: function (o, s) { + var l = o > 0 ? i.pi : -i.pi, + u = (0, i.Wn)(o - r); + (0, i.Wn)(u - i.pi) < i.Ho + ? (t.point( + r, + (n = (n + s) / 2 > 0 ? i.ou : -i.ou), + ), + t.point(a, n), + t.lineEnd(), + t.lineStart(), + t.point(l, n), + t.point(o, n), + (e = 0)) + : a !== l && + u >= i.pi && + ((0, i.Wn)(r - a) < i.Ho && (r -= a * i.Ho), + (0, i.Wn)(o - l) < i.Ho && (o -= l * i.Ho), + (n = (function (t, e, r, n) { + var a, + o, + s = (0, i.O$)(t - r); + return (0, i.Wn)(s) > i.Ho + ? (0, i.z4)( + ((0, i.O$)(e) * + (o = (0, i.mC)(n)) * + (0, i.O$)(r) - + (0, i.O$)(n) * + (a = (0, i.mC)(e)) * + (0, i.O$)(t)) / + (a * o * s), + ) + : (e + n) / 2; + })(r, n, o, s)), + t.point(a, n), + t.lineEnd(), + t.lineStart(), + t.point(l, n), + (e = 0)), + t.point((r = o), (n = s)), + (a = l); + }, + lineEnd: function () { + t.lineEnd(), (r = n = NaN); + }, + clean: function () { + return 2 - e; + }, + }; + }, + function (t, e, r, n) { + var a; + if (null == t) + (a = r * i.ou), + n.point(-i.pi, a), + n.point(0, a), + n.point(i.pi, a), + n.point(i.pi, 0), + n.point(i.pi, -a), + n.point(0, -a), + n.point(-i.pi, -a), + n.point(-i.pi, 0), + n.point(-i.pi, a); + else if ((0, i.Wn)(t[0] - e[0]) > i.Ho) { + var o = t[0] < e[0] ? i.pi : -i.pi; + (a = (r * o) / 2), + n.point(-o, a), + n.point(0, a), + n.point(o, a); + } else n.point(e[0], e[1]); + }, + [-i.pi, -i.ou], + ); + }, + 85272: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return i; + }, + }); + var n = r(73182); + function i() { + var t, + e = []; + return { + point: function (e, r, n) { + t.push([e, r, n]); + }, + lineStart: function () { + e.push((t = [])); + }, + lineEnd: n.Z, + rejoin: function () { + e.length > 1 && e.push(e.pop().concat(e.shift())); + }, + result: function () { + var r = e; + return (e = []), (t = null), r; + }, + }; + } + }, + 1457: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return l; + }, + }); + var n = r(7620), + i = r(7613), + a = r(39695), + o = r(67108), + s = r(97023); + function l(t) { + var e = (0, a.mC)(t), + r = 6 * a.uR, + l = e > 0, + u = (0, a.Wn)(e) > a.Ho; + function c(t, r) { + return (0, a.mC)(t) * (0, a.mC)(r) > e; + } + function f(t, r, i) { + var o = (0, n.Og)(t), + s = (0, n.Og)(r), + l = [1, 0, 0], + u = (0, n.T5)(o, s), + c = (0, n.j9)(u, u), + f = u[0], + h = c - f * f; + if (!h) return !i && t; + var p = (e * c) / h, + d = (-e * f) / h, + v = (0, n.T5)(l, u), + g = (0, n.T)(l, p), + y = (0, n.T)(u, d); + (0, n.s0)(g, y); + var m = v, + x = (0, n.j9)(g, m), + b = (0, n.j9)(m, m), + _ = x * x - b * ((0, n.j9)(g, g) - 1); + if (!(_ < 0)) { + var w = (0, a._b)(_), + T = (0, n.T)(m, (-x - w) / b); + if (((0, n.s0)(T, g), (T = (0, n.Y1)(T)), !i)) + return T; + var k, + A = t[0], + M = r[0], + S = t[1], + E = r[1]; + M < A && ((k = A), (A = M), (M = k)); + var L = M - A, + C = (0, a.Wn)(L - a.pi) < a.Ho; + if ( + (!C && E < S && ((k = S), (S = E), (E = k)), + C || L < a.Ho + ? C + ? (S + E > 0) ^ + (T[1] < + ((0, a.Wn)(T[0] - A) < a.Ho ? S : E)) + : S <= T[1] && T[1] <= E + : (L > a.pi) ^ (A <= T[0] && T[0] <= M)) + ) { + var O = (0, n.T)(m, (-x + w) / b); + return (0, n.s0)(O, g), [T, (0, n.Y1)(O)]; + } + } + } + function h(e, r) { + var n = l ? t : a.pi - t, + i = 0; + return ( + e < -n ? (i |= 1) : e > n && (i |= 2), + r < -n ? (i |= 4) : r > n && (i |= 8), + i + ); + } + return (0, s.Z)( + c, + function (t) { + var e, r, n, i, s; + return { + lineStart: function () { + (i = n = !1), (s = 1); + }, + point: function (p, d) { + var v, + g = [p, d], + y = c(p, d), + m = l + ? y + ? 0 + : h(p, d) + : y + ? h(p + (p < 0 ? a.pi : -a.pi), d) + : 0; + if ( + (!e && (i = n = y) && t.lineStart(), + y !== n && + (!(v = f(e, g)) || + (0, o.Z)(e, v) || + (0, o.Z)(g, v)) && + (g[2] = 1), + y !== n) + ) + (s = 0), + y + ? (t.lineStart(), + (v = f(g, e)), + t.point(v[0], v[1])) + : ((v = f(e, g)), + t.point(v[0], v[1], 2), + t.lineEnd()), + (e = v); + else if (u && e && l ^ y) { + var x; + m & r || + !(x = f(g, e, !0)) || + ((s = 0), + l + ? (t.lineStart(), + t.point(x[0][0], x[0][1]), + t.point(x[1][0], x[1][1]), + t.lineEnd()) + : (t.point(x[1][0], x[1][1]), + t.lineEnd(), + t.lineStart(), + t.point(x[0][0], x[0][1], 3))); + } + !y || + (e && (0, o.Z)(e, g)) || + t.point(g[0], g[1]), + (e = g), + (n = y), + (r = m); + }, + lineEnd: function () { + n && t.lineEnd(), (e = null); + }, + clean: function () { + return s | ((i && n) << 1); + }, + }; + }, + function (e, n, a, o) { + (0, i.m)(o, t, r, a, e, n); + }, + l ? [0, -t] : [-a.pi, t - a.pi], + ); + } + }, + 97023: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return l; + }, + }); + var n = r(85272), + i = r(46225), + a = r(39695), + o = r(23071), + s = r(33064); + function l(t, e, r, a) { + return function (l) { + var f, + h, + p, + d = e(l), + v = (0, n.Z)(), + g = e(v), + y = !1, + m = { + point: x, + lineStart: _, + lineEnd: w, + polygonStart: function () { + (m.point = T), + (m.lineStart = k), + (m.lineEnd = A), + (h = []), + (f = []); + }, + polygonEnd: function () { + (m.point = x), + (m.lineStart = _), + (m.lineEnd = w), + (h = (0, s.TS)(h)); + var t = (0, o.Z)(f, a); + h.length + ? (y || (l.polygonStart(), (y = !0)), + (0, i.Z)(h, c, t, r, l)) + : t && + (y || (l.polygonStart(), (y = !0)), + l.lineStart(), + r(null, null, 1, l), + l.lineEnd()), + y && (l.polygonEnd(), (y = !1)), + (h = f = null); + }, + sphere: function () { + l.polygonStart(), + l.lineStart(), + r(null, null, 1, l), + l.lineEnd(), + l.polygonEnd(); + }, + }; + function x(e, r) { + t(e, r) && l.point(e, r); + } + function b(t, e) { + d.point(t, e); + } + function _() { + (m.point = b), d.lineStart(); + } + function w() { + (m.point = x), d.lineEnd(); + } + function T(t, e) { + p.push([t, e]), g.point(t, e); + } + function k() { + g.lineStart(), (p = []); + } + function A() { + T(p[0][0], p[0][1]), g.lineEnd(); + var t, + e, + r, + n, + i = g.clean(), + a = v.result(), + o = a.length; + if ((p.pop(), f.push(p), (p = null), o)) + if (1 & i) { + if ((e = (r = a[0]).length - 1) > 0) { + for ( + y || (l.polygonStart(), (y = !0)), + l.lineStart(), + t = 0; + t < e; + ++t + ) + l.point((n = r[t])[0], n[1]); + l.lineEnd(); + } + } else + o > 1 && + 2 & i && + a.push(a.pop().concat(a.shift())), + h.push(a.filter(u)); + } + return m; + }; + } + function u(t) { + return t.length > 1; + } + function c(t, e) { + return ( + ((t = t.x)[0] < 0 + ? t[1] - a.ou - a.Ho + : a.ou - t[1]) - + ((e = e.x)[0] < 0 ? e[1] - a.ou - a.Ho : a.ou - e[1]) + ); + } + }, + 87605: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return u; + }, + }); + var n = r(39695), + i = r(85272), + a = r(46225), + o = r(33064), + s = 1e9, + l = -s; + function u(t, e, r, u) { + function c(n, i) { + return t <= n && n <= r && e <= i && i <= u; + } + function f(n, i, a, o) { + var s = 0, + l = 0; + if ( + null == n || + (s = h(n, a)) !== (l = h(i, a)) || + (d(n, i) < 0) ^ (a > 0) + ) + do { + o.point( + 0 === s || 3 === s ? t : r, + s > 1 ? u : e, + ); + } while ((s = (s + a + 4) % 4) !== l); + else o.point(i[0], i[1]); + } + function h(i, a) { + return (0, n.Wn)(i[0] - t) < n.Ho + ? a > 0 + ? 0 + : 3 + : (0, n.Wn)(i[0] - r) < n.Ho + ? a > 0 + ? 2 + : 1 + : (0, n.Wn)(i[1] - e) < n.Ho + ? a > 0 + ? 1 + : 0 + : a > 0 + ? 3 + : 2; + } + function p(t, e) { + return d(t.x, e.x); + } + function d(t, e) { + var r = h(t, 1), + n = h(e, 1); + return r !== n + ? r - n + : 0 === r + ? e[1] - t[1] + : 1 === r + ? t[0] - e[0] + : 2 === r + ? t[1] - e[1] + : e[0] - t[0]; + } + return function (n) { + var h, + d, + v, + g, + y, + m, + x, + b, + _, + w, + T, + k = n, + A = (0, i.Z)(), + M = { + point: S, + lineStart: function () { + (M.point = E), + d && d.push((v = [])), + (w = !0), + (_ = !1), + (x = b = NaN); + }, + lineEnd: function () { + h && + (E(g, y), + m && _ && A.rejoin(), + h.push(A.result())), + (M.point = S), + _ && k.lineEnd(); + }, + polygonStart: function () { + (k = A), (h = []), (d = []), (T = !0); + }, + polygonEnd: function () { + var e = (function () { + for ( + var e = 0, r = 0, n = d.length; + r < n; + ++r + ) + for ( + var i, + a, + o = d[r], + s = 1, + l = o.length, + c = o[0], + f = c[0], + h = c[1]; + s < l; + ++s + ) + (i = f), + (a = h), + (f = (c = o[s])[0]), + (h = c[1]), + a <= u + ? h > u && + (f - i) * (u - a) > + (h - a) * (t - i) && + ++e + : h <= u && + (f - i) * (u - a) < + (h - a) * (t - i) && + --e; + return e; + })(), + r = T && e, + i = (h = (0, o.TS)(h)).length; + (r || i) && + (n.polygonStart(), + r && + (n.lineStart(), + f(null, null, 1, n), + n.lineEnd()), + i && (0, a.Z)(h, p, e, f, n), + n.polygonEnd()), + (k = n), + (h = d = v = null); + }, + }; + function S(t, e) { + c(t, e) && k.point(t, e); + } + function E(n, i) { + var a = c(n, i); + if ((d && v.push([n, i]), w)) + (g = n), + (y = i), + (m = a), + (w = !1), + a && (k.lineStart(), k.point(n, i)); + else if (a && _) k.point(n, i); + else { + var o = [ + (x = Math.max(l, Math.min(s, x))), + (b = Math.max(l, Math.min(s, b))), + ], + f = [ + (n = Math.max(l, Math.min(s, n))), + (i = Math.max(l, Math.min(s, i))), + ]; + !(function (t, e, r, n, i, a) { + var o, + s = t[0], + l = t[1], + u = 0, + c = 1, + f = e[0] - s, + h = e[1] - l; + if (((o = r - s), f || !(o > 0))) { + if (((o /= f), f < 0)) { + if (o < u) return; + o < c && (c = o); + } else if (f > 0) { + if (o > c) return; + o > u && (u = o); + } + if (((o = i - s), f || !(o < 0))) { + if (((o /= f), f < 0)) { + if (o > c) return; + o > u && (u = o); + } else if (f > 0) { + if (o < u) return; + o < c && (c = o); + } + if (((o = n - l), h || !(o > 0))) { + if (((o /= h), h < 0)) { + if (o < u) return; + o < c && (c = o); + } else if (h > 0) { + if (o > c) return; + o > u && (u = o); + } + if (((o = a - l), h || !(o < 0))) { + if (((o /= h), h < 0)) { + if (o > c) return; + o > u && (u = o); + } else if (h > 0) { + if (o < u) return; + o < c && (c = o); + } + return ( + u > 0 && + ((t[0] = s + u * f), + (t[1] = l + u * h)), + c < 1 && + ((e[0] = s + c * f), + (e[1] = l + c * h)), + !0 + ); + } + } + } + } + })(o, f, t, e, r, u) + ? a && (k.lineStart(), k.point(n, i), (T = !1)) + : (_ || (k.lineStart(), k.point(o[0], o[1])), + k.point(f[0], f[1]), + a || k.lineEnd(), + (T = !1)); + } + (x = n), (b = i), (_ = a); + } + return M; + }; + } + }, + 46225: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return o; + }, + }); + var n = r(67108), + i = r(39695); + function a(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 o(t, e, r, o, l) { + var u, + c, + f = [], + h = []; + if ( + (t.forEach(function (t) { + if (!((e = t.length - 1) <= 0)) { + var e, + r, + o = t[0], + s = t[e]; + if ((0, n.Z)(o, s)) { + if (!o[2] && !s[2]) { + for (l.lineStart(), u = 0; u < e; ++u) + l.point((o = t[u])[0], o[1]); + return void l.lineEnd(); + } + s[0] += 2 * i.Ho; + } + f.push((r = new a(o, t, null, !0))), + h.push((r.o = new a(o, null, r, !1))), + f.push((r = new a(s, t, null, !1))), + h.push((r.o = new a(s, null, r, !0))); + } + }), + f.length) + ) { + for ( + h.sort(e), s(f), s(h), u = 0, c = h.length; + u < c; + ++u + ) + h[u].e = r = !r; + for (var p, d, v = f[0]; ; ) { + for (var g = v, y = !0; g.v; ) + if ((g = g.n) === v) return; + (p = g.z), l.lineStart(); + do { + if (((g.v = g.o.v = !0), g.e)) { + if (y) + for (u = 0, c = p.length; u < c; ++u) + l.point((d = p[u])[0], d[1]); + else o(g.x, g.n.x, 1, l); + g = g.n; + } else { + if (y) + for (p = g.p.z, u = p.length - 1; u >= 0; --u) + l.point((d = p[u])[0], d[1]); + else o(g.x, g.p.x, -1, l); + g = g.p; + } + (p = (g = g.o).z), (y = !y); + } while (!g.v); + l.lineEnd(); + } + } + } + function s(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); + } + } + }, + 96059: function (t, e, r) { + "use strict"; + function n(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 + ); + } + r.d(e, { + Z: function () { + return n; + }, + }); + }, + 8593: function (t, e, r) { + "use strict"; + function n(t) { + return t; + } + r.d(e, { + Z: function () { + return n; + }, + }); + }, + 27362: function (t, e, r) { + "use strict"; + r.r(e), + r.d(e, { + geoAlbers: function () { + return Gt; + }, + geoAlbersUsa: function () { + return Wt; + }, + geoArea: function () { + return n.ZP; + }, + geoAzimuthalEqualArea: function () { + return Yt.Z; + }, + geoAzimuthalEqualAreaRaw: function () { + return Yt.l; + }, + geoAzimuthalEquidistant: function () { + return Xt.Z; + }, + geoAzimuthalEquidistantRaw: function () { + return Xt.N; + }, + geoBounds: function () { + return i.Z; + }, + geoCentroid: function () { + return a.Z; + }, + geoCircle: function () { + return o.Z; + }, + geoClipAntimeridian: function () { + return s.Z; + }, + geoClipCircle: function () { + return l.Z; + }, + geoClipExtent: function () { + return c; + }, + geoClipRectangle: function () { + return u.Z; + }, + geoConicConformal: function () { + return re; + }, + geoConicConformalRaw: function () { + return ee; + }, + geoConicEqualArea: function () { + return qt; + }, + geoConicEqualAreaRaw: function () { + return Ht; + }, + geoConicEquidistant: function () { + return ae; + }, + geoConicEquidistantRaw: function () { + return ie; + }, + geoContains: function () { + return R; + }, + geoDistance: function () { + return S; + }, + geoEqualEarth: function () { + return he; + }, + geoEqualEarthRaw: function () { + return fe; + }, + geoEquirectangular: function () { + return ne.Z; + }, + geoEquirectangularRaw: function () { + return ne.k; + }, + geoGnomonic: function () { + return pe.Z; + }, + geoGnomonicRaw: function () { + return pe.M; + }, + geoGraticule: function () { + return j; + }, + geoGraticule10: function () { + return U; + }, + geoIdentity: function () { + return ve; + }, + geoInterpolate: function () { + return Z.Z; + }, + geoLength: function () { + return k; + }, + geoMercator: function () { + return $t; + }, + geoMercatorRaw: function () { + return Kt; + }, + geoNaturalEarth1: function () { + return ge.Z; + }, + geoNaturalEarth1Raw: function () { + return ge.K; + }, + geoOrthographic: function () { + return ye.Z; + }, + geoOrthographicRaw: function () { + return ye.I; + }, + geoPath: function () { + return jt; + }, + geoProjection: function () { + return Ut.Z; + }, + geoProjectionMutator: function () { + return Ut.r; + }, + geoRotation: function () { + return Jt.Z; + }, + geoStereographic: function () { + return be; + }, + geoStereographicRaw: function () { + return xe; + }, + geoStream: function () { + return m.Z; + }, + geoTransform: function () { + return de.Z; + }, + geoTransverseMercator: function () { + return we; + }, + geoTransverseMercatorRaw: function () { + return _e; + }, + }); + var n = r(97860), + i = r(77338), + a = r(66624), + o = r(7613), + s = r(87070), + l = r(1457), + u = r(87605); + function c() { + var t, + e, + r, + n = 0, + i = 0, + a = 960, + o = 500; + return (r = { + stream: function (r) { + return t && e === r + ? t + : (t = (0, u.Z)(n, i, a, o)((e = r))); + }, + extent: function (s) { + return arguments.length + ? ((n = +s[0][0]), + (i = +s[0][1]), + (a = +s[1][0]), + (o = +s[1][1]), + (t = e = null), + r) + : [ + [n, i], + [a, o], + ]; + }, + }); + } + var f, + h, + p, + d = r(23071), + v = r(33940), + g = r(39695), + y = r(73182), + m = r(72736), + x = (0, v.Z)(), + b = { + sphere: y.Z, + point: y.Z, + lineStart: function () { + (b.point = w), (b.lineEnd = _); + }, + lineEnd: y.Z, + polygonStart: y.Z, + polygonEnd: y.Z, + }; + function _() { + b.point = b.lineEnd = y.Z; + } + function w(t, e) { + (t *= g.uR), + (e *= g.uR), + (f = t), + (h = (0, g.O$)(e)), + (p = (0, g.mC)(e)), + (b.point = T); + } + function T(t, e) { + (t *= g.uR), (e *= g.uR); + var r = (0, g.O$)(e), + n = (0, g.mC)(e), + i = (0, g.Wn)(t - f), + a = (0, g.mC)(i), + o = n * (0, g.O$)(i), + s = p * r - h * n * a, + l = h * r + p * n * a; + x.add((0, g.fv)((0, g._b)(o * o + s * s), l)), + (f = t), + (h = r), + (p = n); + } + function k(t) { + return x.reset(), (0, m.Z)(t, b), +x; + } + var A = [null, null], + M = { type: "LineString", coordinates: A }; + function S(t, e) { + return (A[0] = t), (A[1] = e), k(M); + } + var E = { + Feature: function (t, e) { + return C(t.geometry, e); + }, + FeatureCollection: function (t, e) { + for ( + var r = t.features, n = -1, i = r.length; + ++n < i; + + ) + if (C(r[n].geometry, e)) return !0; + return !1; + }, + }, + L = { + Sphere: function () { + return !0; + }, + Point: function (t, e) { + return O(t.coordinates, e); + }, + MultiPoint: function (t, e) { + for ( + var r = t.coordinates, n = -1, i = r.length; + ++n < i; + + ) + if (O(r[n], e)) return !0; + return !1; + }, + LineString: function (t, e) { + return P(t.coordinates, e); + }, + MultiLineString: function (t, e) { + for ( + var r = t.coordinates, n = -1, i = r.length; + ++n < i; + + ) + if (P(r[n], e)) return !0; + return !1; + }, + Polygon: function (t, e) { + return I(t.coordinates, e); + }, + MultiPolygon: function (t, e) { + for ( + var r = t.coordinates, n = -1, i = r.length; + ++n < i; + + ) + if (I(r[n], e)) return !0; + return !1; + }, + GeometryCollection: function (t, e) { + for ( + var r = t.geometries, n = -1, i = r.length; + ++n < i; + + ) + if (C(r[n], e)) return !0; + return !1; + }, + }; + function C(t, e) { + return ( + !(!t || !L.hasOwnProperty(t.type)) && L[t.type](t, e) + ); + } + function O(t, e) { + return 0 === S(t, e); + } + function P(t, e) { + for (var r, n, i, a = 0, o = t.length; a < o; a++) { + if (0 === (n = S(t[a], e))) return !0; + if ( + a > 0 && + (i = S(t[a], t[a - 1])) > 0 && + r <= i && + n <= i && + (r + n - i) * (1 - Math.pow((r - n) / i, 2)) < + g.aW * i + ) + return !0; + r = n; + } + return !1; + } + function I(t, e) { + return !!(0, d.Z)(t.map(D), z(e)); + } + function D(t) { + return (t = t.map(z)).pop(), t; + } + function z(t) { + return [t[0] * g.uR, t[1] * g.uR]; + } + function R(t, e) { + return (t && E.hasOwnProperty(t.type) ? E[t.type] : C)( + t, + e, + ); + } + var F = r(33064); + function B(t, e, r) { + var n = (0, F.w6)(t, e - g.Ho, r).concat(e); + return function (t) { + return n.map(function (e) { + return [t, e]; + }); + }; + } + function N(t, e, r) { + var n = (0, F.w6)(t, e - g.Ho, r).concat(e); + return function (t) { + return n.map(function (e) { + return [e, t]; + }); + }; + } + function j() { + var t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h = 10, + p = h, + d = 90, + v = 360, + y = 2.5; + function m() { + return { type: "MultiLineString", coordinates: x() }; + } + function x() { + return (0, F.w6)((0, g.mD)(n / d) * d, r, d) + .map(c) + .concat( + (0, F.w6)((0, g.mD)(s / v) * v, o, v).map(f), + ) + .concat( + (0, F.w6)((0, g.mD)(e / h) * h, t, h) + .filter(function (t) { + return (0, g.Wn)(t % d) > g.Ho; + }) + .map(l), + ) + .concat( + (0, F.w6)((0, g.mD)(a / p) * p, i, p) + .filter(function (t) { + return (0, g.Wn)(t % v) > g.Ho; + }) + .map(u), + ); + } + return ( + (m.lines = function () { + return x().map(function (t) { + return { type: "LineString", coordinates: t }; + }); + }), + (m.outline = function () { + return { + type: "Polygon", + coordinates: [ + c(n).concat( + f(o).slice(1), + c(r).reverse().slice(1), + f(s).reverse().slice(1), + ), + ], + }; + }), + (m.extent = function (t) { + return arguments.length + ? m.extentMajor(t).extentMinor(t) + : m.extentMinor(); + }), + (m.extentMajor = function (t) { + return arguments.length + ? ((n = +t[0][0]), + (r = +t[1][0]), + (s = +t[0][1]), + (o = +t[1][1]), + n > r && ((t = n), (n = r), (r = t)), + s > o && ((t = s), (s = o), (o = t)), + m.precision(y)) + : [ + [n, s], + [r, o], + ]; + }), + (m.extentMinor = function (r) { + return arguments.length + ? ((e = +r[0][0]), + (t = +r[1][0]), + (a = +r[0][1]), + (i = +r[1][1]), + e > t && ((r = e), (e = t), (t = r)), + a > i && ((r = a), (a = i), (i = r)), + m.precision(y)) + : [ + [e, a], + [t, i], + ]; + }), + (m.step = function (t) { + return arguments.length + ? m.stepMajor(t).stepMinor(t) + : m.stepMinor(); + }), + (m.stepMajor = function (t) { + return arguments.length + ? ((d = +t[0]), (v = +t[1]), m) + : [d, v]; + }), + (m.stepMinor = function (t) { + return arguments.length + ? ((h = +t[0]), (p = +t[1]), m) + : [h, p]; + }), + (m.precision = function (h) { + return arguments.length + ? ((y = +h), + (l = B(a, i, 90)), + (u = N(e, t, y)), + (c = B(s, o, 90)), + (f = N(n, r, y)), + m) + : y; + }), + m + .extentMajor([ + [-180, -90 + g.Ho], + [180, 90 - g.Ho], + ]) + .extentMinor([ + [-180, -80 - g.Ho], + [180, 80 + g.Ho], + ]) + ); + } + function U() { + return j()(); + } + var V, + H, + q, + G, + Z = r(83074), + W = r(8593), + Y = (0, v.Z)(), + X = (0, v.Z)(), + J = { + point: y.Z, + lineStart: y.Z, + lineEnd: y.Z, + polygonStart: function () { + (J.lineStart = K), (J.lineEnd = tt); + }, + polygonEnd: function () { + (J.lineStart = J.lineEnd = J.point = y.Z), + Y.add((0, g.Wn)(X)), + X.reset(); + }, + result: function () { + var t = Y / 2; + return Y.reset(), t; + }, + }; + function K() { + J.point = $; + } + function $(t, e) { + (J.point = Q), (V = q = t), (H = G = e); + } + function Q(t, e) { + X.add(G * t - q * e), (q = t), (G = e); + } + function tt() { + Q(V, H); + } + var et, + rt, + nt, + it, + at = J, + ot = r(3559), + st = 0, + lt = 0, + ut = 0, + ct = 0, + ft = 0, + ht = 0, + pt = 0, + dt = 0, + vt = 0, + gt = { + point: yt, + lineStart: mt, + lineEnd: _t, + polygonStart: function () { + (gt.lineStart = wt), (gt.lineEnd = Tt); + }, + polygonEnd: function () { + (gt.point = yt), + (gt.lineStart = mt), + (gt.lineEnd = _t); + }, + result: function () { + var t = vt + ? [pt / vt, dt / vt] + : ht + ? [ct / ht, ft / ht] + : ut + ? [st / ut, lt / ut] + : [NaN, NaN]; + return ( + (st = lt = ut = ct = ft = ht = pt = dt = vt = 0), + t + ); + }, + }; + function yt(t, e) { + (st += t), (lt += e), ++ut; + } + function mt() { + gt.point = xt; + } + function xt(t, e) { + (gt.point = bt), yt((nt = t), (it = e)); + } + function bt(t, e) { + var r = t - nt, + n = e - it, + i = (0, g._b)(r * r + n * n); + (ct += (i * (nt + t)) / 2), + (ft += (i * (it + e)) / 2), + (ht += i), + yt((nt = t), (it = e)); + } + function _t() { + gt.point = yt; + } + function wt() { + gt.point = kt; + } + function Tt() { + At(et, rt); + } + function kt(t, e) { + (gt.point = At), yt((et = nt = t), (rt = it = e)); + } + function At(t, e) { + var r = t - nt, + n = e - it, + i = (0, g._b)(r * r + n * n); + (ct += (i * (nt + t)) / 2), + (ft += (i * (it + e)) / 2), + (ht += i), + (pt += (i = it * t - nt * e) * (nt + t)), + (dt += i * (it + e)), + (vt += 3 * i), + yt((nt = t), (it = e)); + } + var Mt = gt; + function St(t) { + this._context = t; + } + St.prototype = { + _radius: 4.5, + pointRadius: function (t) { + return (this._radius = t), this; + }, + polygonStart: function () { + this._line = 0; + }, + polygonEnd: function () { + this._line = NaN; + }, + lineStart: function () { + this._point = 0; + }, + lineEnd: function () { + 0 === this._line && this._context.closePath(), + (this._point = NaN); + }, + point: function (t, e) { + switch (this._point) { + case 0: + this._context.moveTo(t, e), (this._point = 1); + break; + case 1: + this._context.lineTo(t, e); + break; + default: + this._context.moveTo(t + this._radius, e), + this._context.arc(t, e, this._radius, 0, g.BZ); + } + }, + result: y.Z, + }; + var Et, + Lt, + Ct, + Ot, + Pt, + It = (0, v.Z)(), + Dt = { + point: y.Z, + lineStart: function () { + Dt.point = zt; + }, + lineEnd: function () { + Et && Rt(Lt, Ct), (Dt.point = y.Z); + }, + polygonStart: function () { + Et = !0; + }, + polygonEnd: function () { + Et = null; + }, + result: function () { + var t = +It; + return It.reset(), t; + }, + }; + function zt(t, e) { + (Dt.point = Rt), (Lt = Ot = t), (Ct = Pt = e); + } + function Rt(t, e) { + (Ot -= t), + (Pt -= e), + It.add((0, g._b)(Ot * Ot + Pt * Pt)), + (Ot = t), + (Pt = e); + } + var Ft = Dt; + function Bt() { + this._string = []; + } + function Nt(t) { + return ( + "m0," + + t + + "a" + + t + + "," + + t + + " 0 1,1 0," + + -2 * t + + "a" + + t + + "," + + t + + " 0 1,1 0," + + 2 * t + + "z" + ); + } + function jt(t, e) { + var r, + n, + i = 4.5; + function a(t) { + return ( + t && + ("function" == typeof i && + n.pointRadius(+i.apply(this, arguments)), + (0, m.Z)(t, r(n))), + n.result() + ); + } + return ( + (a.area = function (t) { + return (0, m.Z)(t, r(at)), at.result(); + }), + (a.measure = function (t) { + return (0, m.Z)(t, r(Ft)), Ft.result(); + }), + (a.bounds = function (t) { + return (0, m.Z)(t, r(ot.Z)), ot.Z.result(); + }), + (a.centroid = function (t) { + return (0, m.Z)(t, r(Mt)), Mt.result(); + }), + (a.projection = function (e) { + return arguments.length + ? ((r = + null == e + ? ((t = null), W.Z) + : (t = e).stream), + a) + : t; + }), + (a.context = function (t) { + return arguments.length + ? ((n = + null == t + ? ((e = null), new Bt()) + : new St((e = t))), + "function" != typeof i && n.pointRadius(i), + a) + : e; + }), + (a.pointRadius = function (t) { + return arguments.length + ? ((i = + "function" == typeof t + ? t + : (n.pointRadius(+t), +t)), + a) + : i; + }), + a.projection(t).context(e) + ); + } + Bt.prototype = { + _radius: 4.5, + _circle: Nt(4.5), + pointRadius: function (t) { + return ( + (t = +t) !== this._radius && + ((this._radius = t), (this._circle = null)), + this + ); + }, + polygonStart: function () { + this._line = 0; + }, + polygonEnd: function () { + this._line = NaN; + }, + lineStart: function () { + this._point = 0; + }, + lineEnd: function () { + 0 === this._line && this._string.push("Z"), + (this._point = NaN); + }, + point: function (t, e) { + switch (this._point) { + case 0: + this._string.push("M", t, ",", e), + (this._point = 1); + break; + case 1: + this._string.push("L", t, ",", e); + break; + default: + null == this._circle && + (this._circle = Nt(this._radius)), + this._string.push("M", t, ",", e, this._circle); + } + }, + result: function () { + if (this._string.length) { + var t = this._string.join(""); + return (this._string = []), t; + } + return null; + }, + }; + var Ut = r(15002); + function Vt(t) { + var e = 0, + r = g.pi / 3, + n = (0, Ut.r)(t), + i = n(e, r); + return ( + (i.parallels = function (t) { + return arguments.length + ? n((e = t[0] * g.uR), (r = t[1] * g.uR)) + : [e * g.RW, r * g.RW]; + }), + i + ); + } + function Ht(t, e) { + var r = (0, g.O$)(t), + n = (r + (0, g.O$)(e)) / 2; + if ((0, g.Wn)(n) < g.Ho) + return (function (t) { + var e = (0, g.mC)(t); + function r(t, r) { + return [t * e, (0, g.O$)(r) / e]; + } + return ( + (r.invert = function (t, r) { + return [t / e, (0, g.ZR)(r * e)]; + }), + r + ); + })(t); + var i = 1 + r * (2 * n - r), + a = (0, g._b)(i) / n; + function o(t, e) { + var r = (0, g._b)(i - 2 * n * (0, g.O$)(e)) / n; + return [ + r * (0, g.O$)((t *= n)), + a - r * (0, g.mC)(t), + ]; + } + return ( + (o.invert = function (t, e) { + var r = a - e, + o = (0, g.fv)(t, (0, g.Wn)(r)) * (0, g.Xx)(r); + return ( + r * n < 0 && + (o -= g.pi * (0, g.Xx)(t) * (0, g.Xx)(r)), + [ + o / n, + (0, g.ZR)( + (i - (t * t + r * r) * n * n) / (2 * n), + ), + ] + ); + }), + o + ); + } + function qt() { + return Vt(Ht).scale(155.424).center([0, 33.6442]); + } + function Gt() { + return qt() + .parallels([29.5, 45.5]) + .scale(1070) + .translate([480, 250]) + .rotate([96, 0]) + .center([-0.6, 38.7]); + } + var Zt = r(47589); + function Wt() { + var t, + e, + r, + n, + i, + a, + o = Gt(), + s = qt() + .rotate([154, 0]) + .center([-2, 58.5]) + .parallels([55, 65]), + l = qt() + .rotate([157, 0]) + .center([-3, 19.9]) + .parallels([8, 18]), + u = { + point: function (t, e) { + a = [t, e]; + }, + }; + function c(t) { + var e = t[0], + o = t[1]; + return ( + (a = null), + r.point(e, o), + a || (n.point(e, o), a) || (i.point(e, o), a) + ); + } + function f() { + return (t = e = null), c; + } + return ( + (c.invert = function (t) { + var e = o.scale(), + r = o.translate(), + n = (t[0] - r[0]) / e, + i = (t[1] - r[1]) / e; + return ( + i >= 0.12 && + i < 0.234 && + n >= -0.425 && + n < -0.214 + ? s + : i >= 0.166 && + i < 0.234 && + n >= -0.214 && + n < -0.115 + ? l + : o + ).invert(t); + }), + (c.stream = function (r) { + return t && e === r + ? t + : ((n = [ + o.stream((e = r)), + s.stream(r), + l.stream(r), + ]), + (i = n.length), + (t = { + point: function (t, e) { + for (var r = -1; ++r < i; ) + n[r].point(t, e); + }, + sphere: function () { + for (var t = -1; ++t < i; ) n[t].sphere(); + }, + lineStart: function () { + for (var t = -1; ++t < i; ) + n[t].lineStart(); + }, + lineEnd: function () { + for (var t = -1; ++t < i; ) n[t].lineEnd(); + }, + polygonStart: function () { + for (var t = -1; ++t < i; ) + n[t].polygonStart(); + }, + polygonEnd: function () { + for (var t = -1; ++t < i; ) + n[t].polygonEnd(); + }, + })); + var n, i; + }), + (c.precision = function (t) { + return arguments.length + ? (o.precision(t), + s.precision(t), + l.precision(t), + f()) + : o.precision(); + }), + (c.scale = function (t) { + return arguments.length + ? (o.scale(t), + s.scale(0.35 * t), + l.scale(t), + c.translate(o.translate())) + : o.scale(); + }), + (c.translate = function (t) { + if (!arguments.length) return o.translate(); + var e = o.scale(), + a = +t[0], + c = +t[1]; + return ( + (r = o + .translate(t) + .clipExtent([ + [a - 0.455 * e, c - 0.238 * e], + [a + 0.455 * e, c + 0.238 * e], + ]) + .stream(u)), + (n = s + .translate([a - 0.307 * e, c + 0.201 * e]) + .clipExtent([ + [a - 0.425 * e + g.Ho, c + 0.12 * e + g.Ho], + [a - 0.214 * e - g.Ho, c + 0.234 * e - g.Ho], + ]) + .stream(u)), + (i = l + .translate([a - 0.205 * e, c + 0.212 * e]) + .clipExtent([ + [a - 0.214 * e + g.Ho, c + 0.166 * e + g.Ho], + [a - 0.115 * e - g.Ho, c + 0.234 * e - g.Ho], + ]) + .stream(u)), + f() + ); + }), + (c.fitExtent = function (t, e) { + return (0, Zt.qg)(c, t, e); + }), + (c.fitSize = function (t, e) { + return (0, Zt.mF)(c, t, e); + }), + (c.fitWidth = function (t, e) { + return (0, Zt.V6)(c, t, e); + }), + (c.fitHeight = function (t, e) { + return (0, Zt.rf)(c, t, e); + }), + c.scale(1070) + ); + } + var Yt = r(12956), + Xt = r(17889), + Jt = r(49386); + function Kt(t, e) { + return [t, (0, g.cM)((0, g.OR)((g.ou + e) / 2))]; + } + function $t() { + return Qt(Kt).scale(961 / g.BZ); + } + function Qt(t) { + var e, + r, + n, + i = (0, Ut.Z)(t), + a = i.center, + o = i.scale, + s = i.translate, + l = i.clipExtent, + u = null; + function c() { + var a = g.pi * o(), + s = i((0, Jt.Z)(i.rotate()).invert([0, 0])); + return l( + null == u + ? [ + [s[0] - a, s[1] - a], + [s[0] + a, s[1] + a], + ] + : t === Kt + ? [ + [Math.max(s[0] - a, u), e], + [Math.min(s[0] + a, r), n], + ] + : [ + [u, Math.max(s[1] - a, e)], + [r, Math.min(s[1] + a, n)], + ], + ); + } + return ( + (i.scale = function (t) { + return arguments.length ? (o(t), c()) : o(); + }), + (i.translate = function (t) { + return arguments.length ? (s(t), c()) : s(); + }), + (i.center = function (t) { + return arguments.length ? (a(t), c()) : a(); + }), + (i.clipExtent = function (t) { + return arguments.length + ? (null == t + ? (u = e = r = n = null) + : ((u = +t[0][0]), + (e = +t[0][1]), + (r = +t[1][0]), + (n = +t[1][1])), + c()) + : null == u + ? null + : [ + [u, e], + [r, n], + ]; + }), + c() + ); + } + function te(t) { + return (0, g.OR)((g.ou + t) / 2); + } + function ee(t, e) { + var r = (0, g.mC)(t), + n = + t === e + ? (0, g.O$)(t) + : (0, g.cM)(r / (0, g.mC)(e)) / + (0, g.cM)(te(e) / te(t)), + i = (r * (0, g.sQ)(te(t), n)) / n; + if (!n) return Kt; + function a(t, e) { + i > 0 + ? e < -g.ou + g.Ho && (e = -g.ou + g.Ho) + : e > g.ou - g.Ho && (e = g.ou - g.Ho); + var r = i / (0, g.sQ)(te(e), n); + return [ + r * (0, g.O$)(n * t), + i - r * (0, g.mC)(n * t), + ]; + } + return ( + (a.invert = function (t, e) { + var r = i - e, + a = (0, g.Xx)(n) * (0, g._b)(t * t + r * r), + o = (0, g.fv)(t, (0, g.Wn)(r)) * (0, g.Xx)(r); + return ( + r * n < 0 && + (o -= g.pi * (0, g.Xx)(t) * (0, g.Xx)(r)), + [ + o / n, + 2 * (0, g.z4)((0, g.sQ)(i / a, 1 / n)) - g.ou, + ] + ); + }), + a + ); + } + function re() { + return Vt(ee).scale(109.5).parallels([30, 30]); + } + Kt.invert = function (t, e) { + return [t, 2 * (0, g.z4)((0, g.Qq)(e)) - g.ou]; + }; + var ne = r(97492); + function ie(t, e) { + var r = (0, g.mC)(t), + n = + t === e + ? (0, g.O$)(t) + : (r - (0, g.mC)(e)) / (e - t), + i = r / n + t; + if ((0, g.Wn)(n) < g.Ho) return ne.k; + function a(t, e) { + var r = i - e, + a = n * t; + return [r * (0, g.O$)(a), i - r * (0, g.mC)(a)]; + } + return ( + (a.invert = function (t, e) { + var r = i - e, + a = (0, g.fv)(t, (0, g.Wn)(r)) * (0, g.Xx)(r); + return ( + r * n < 0 && + (a -= g.pi * (0, g.Xx)(t) * (0, g.Xx)(r)), + [ + a / n, + i - (0, g.Xx)(n) * (0, g._b)(t * t + r * r), + ] + ); + }), + a + ); + } + function ae() { + return Vt(ie).scale(131.154).center([0, 13.9389]); + } + var oe = 1.340264, + se = -0.081106, + le = 893e-6, + ue = 0.003796, + ce = (0, g._b)(3) / 2; + function fe(t, e) { + var r = (0, g.ZR)(ce * (0, g.O$)(e)), + n = r * r, + i = n * n * n; + return [ + (t * (0, g.mC)(r)) / + (ce * + (oe + 3 * se * n + i * (7 * le + 9 * ue * n))), + r * (oe + se * n + i * (le + ue * n)), + ]; + } + function he() { + return (0, Ut.Z)(fe).scale(177.158); + } + fe.invert = function (t, e) { + for ( + var r, n = e, i = n * n, a = i * i * i, o = 0; + o < 12 && + ((a = + (i = + (n -= r = + (n * (oe + se * i + a * (le + ue * i)) - e) / + (oe + 3 * se * i + a * (7 * le + 9 * ue * i))) * + n) * + i * + i), + !((0, g.Wn)(r) < g.aW)); + ++o + ); + return [ + (ce * + t * + (oe + 3 * se * i + a * (7 * le + 9 * ue * i))) / + (0, g.mC)(n), + (0, g.ZR)((0, g.O$)(n) / ce), + ]; + }; + var pe = r(98936), + de = r(64684); + function ve() { + var t, + e, + r, + n, + i, + a, + o, + s = 1, + l = 0, + c = 0, + f = 1, + h = 1, + p = 0, + d = null, + v = 1, + y = 1, + m = (0, de.l)({ + point: function (t, e) { + var r = _([t, e]); + this.stream.point(r[0], r[1]); + }, + }), + x = W.Z; + function b() { + return (v = s * f), (y = s * h), (a = o = null), _; + } + function _(r) { + var n = r[0] * v, + i = r[1] * y; + if (p) { + var a = i * t - n * e; + (n = n * t + i * e), (i = a); + } + return [n + l, i + c]; + } + return ( + (_.invert = function (r) { + var n = r[0] - l, + i = r[1] - c; + if (p) { + var a = i * t + n * e; + (n = n * t - i * e), (i = a); + } + return [n / v, i / y]; + }), + (_.stream = function (t) { + return a && o === t ? a : (a = m(x((o = t)))); + }), + (_.postclip = function (t) { + return arguments.length + ? ((x = t), (d = r = n = i = null), b()) + : x; + }), + (_.clipExtent = function (t) { + return arguments.length + ? ((x = + null == t + ? ((d = r = n = i = null), W.Z) + : (0, u.Z)( + (d = +t[0][0]), + (r = +t[0][1]), + (n = +t[1][0]), + (i = +t[1][1]), + )), + b()) + : null == d + ? null + : [ + [d, r], + [n, i], + ]; + }), + (_.scale = function (t) { + return arguments.length ? ((s = +t), b()) : s; + }), + (_.translate = function (t) { + return arguments.length + ? ((l = +t[0]), (c = +t[1]), b()) + : [l, c]; + }), + (_.angle = function (r) { + return arguments.length + ? ((p = (r % 360) * g.uR), + (e = (0, g.O$)(p)), + (t = (0, g.mC)(p)), + b()) + : p * g.RW; + }), + (_.reflectX = function (t) { + return arguments.length + ? ((f = t ? -1 : 1), b()) + : f < 0; + }), + (_.reflectY = function (t) { + return arguments.length + ? ((h = t ? -1 : 1), b()) + : h < 0; + }), + (_.fitExtent = function (t, e) { + return (0, Zt.qg)(_, t, e); + }), + (_.fitSize = function (t, e) { + return (0, Zt.mF)(_, t, e); + }), + (_.fitWidth = function (t, e) { + return (0, Zt.V6)(_, t, e); + }), + (_.fitHeight = function (t, e) { + return (0, Zt.rf)(_, t, e); + }), + _ + ); + } + var ge = r(26867), + ye = r(57962), + me = r(25382); + function xe(t, e) { + var r = (0, g.mC)(e), + n = 1 + (0, g.mC)(t) * r; + return [(r * (0, g.O$)(t)) / n, (0, g.O$)(e) / n]; + } + function be() { + return (0, Ut.Z)(xe).scale(250).clipAngle(142); + } + function _e(t, e) { + return [(0, g.cM)((0, g.OR)((g.ou + e) / 2)), -t]; + } + function we() { + var t = Qt(_e), + e = t.center, + r = t.rotate; + return ( + (t.center = function (t) { + return arguments.length + ? e([-t[1], t[0]]) + : [(t = e())[1], -t[0]]; + }), + (t.rotate = function (t) { + return arguments.length + ? r([t[0], t[1], t.length > 2 ? t[2] + 90 : 90]) + : [(t = r())[0], t[1], t[2] - 90]; + }), + r([0, 0, 90]).scale(159.155) + ); + } + (xe.invert = (0, me.O)(function (t) { + return 2 * (0, g.z4)(t); + })), + (_e.invert = function (t, e) { + return [-e, 2 * (0, g.z4)((0, g.Qq)(t)) - g.ou]; + }); + }, + 83074: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return i; + }, + }); + var n = r(39695); + function i(t, e) { + var r = t[0] * n.uR, + i = t[1] * n.uR, + a = e[0] * n.uR, + o = e[1] * n.uR, + s = (0, n.mC)(i), + l = (0, n.O$)(i), + u = (0, n.mC)(o), + c = (0, n.O$)(o), + f = s * (0, n.mC)(r), + h = s * (0, n.O$)(r), + p = u * (0, n.mC)(a), + d = u * (0, n.O$)(a), + v = + 2 * + (0, n.ZR)( + (0, n._b)( + (0, n.Jy)(o - i) + s * u * (0, n.Jy)(a - r), + ), + ), + g = (0, n.O$)(v), + y = v + ? function (t) { + var e = (0, n.O$)((t *= v)) / g, + r = (0, n.O$)(v - t) / g, + i = r * f + e * p, + a = r * h + e * d, + o = r * l + e * c; + return [ + (0, n.fv)(a, i) * n.RW, + (0, n.fv)(o, (0, n._b)(i * i + a * a)) * n.RW, + ]; + } + : function () { + return [r * n.RW, i * n.RW]; + }; + return (y.distance = v), y; + } + }, + 39695: function (t, e, r) { + "use strict"; + r.d(e, { + BZ: function () { + return l; + }, + Ho: function () { + return n; + }, + Jy: function () { + return A; + }, + Kh: function () { + return T; + }, + O$: function () { + return x; + }, + OR: function () { + return w; + }, + Qq: function () { + return g; + }, + RW: function () { + return u; + }, + Wn: function () { + return f; + }, + Xx: function () { + return b; + }, + ZR: function () { + return k; + }, + _b: function () { + return _; + }, + aW: function () { + return i; + }, + cM: function () { + return y; + }, + fv: function () { + return p; + }, + mC: function () { + return d; + }, + mD: function () { + return v; + }, + ou: function () { + return o; + }, + pi: function () { + return a; + }, + pu: function () { + return s; + }, + sQ: function () { + return m; + }, + uR: function () { + return c; + }, + z4: function () { + return h; + }, + }); + var n = 1e-6, + i = 1e-12, + a = Math.PI, + o = a / 2, + s = a / 4, + l = 2 * a, + u = 180 / a, + c = a / 180, + f = Math.abs, + h = Math.atan, + p = Math.atan2, + d = Math.cos, + v = Math.ceil, + g = Math.exp, + y = (Math.floor, Math.log), + m = Math.pow, + x = Math.sin, + b = + Math.sign || + function (t) { + return t > 0 ? 1 : t < 0 ? -1 : 0; + }, + _ = Math.sqrt, + w = Math.tan; + function T(t) { + return t > 1 ? 0 : t < -1 ? a : Math.acos(t); + } + function k(t) { + return t > 1 ? o : t < -1 ? -o : Math.asin(t); + } + function A(t) { + return (t = x(t / 2)) * t; + } + }, + 73182: function (t, e, r) { + "use strict"; + function n() {} + r.d(e, { + Z: function () { + return n; + }, + }); + }, + 3559: function (t, e, r) { + "use strict"; + var n = r(73182), + i = 1 / 0, + a = i, + o = -i, + s = o, + l = { + point: function (t, e) { + t < i && (i = t), + t > o && (o = t), + e < a && (a = e), + e > s && (s = e); + }, + lineStart: n.Z, + lineEnd: n.Z, + polygonStart: n.Z, + polygonEnd: n.Z, + result: function () { + var t = [ + [i, a], + [o, s], + ]; + return (o = s = -(a = i = 1 / 0)), t; + }, + }; + e.Z = l; + }, + 67108: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return i; + }, + }); + var n = r(39695); + function i(t, e) { + return ( + (0, n.Wn)(t[0] - e[0]) < n.Ho && + (0, n.Wn)(t[1] - e[1]) < n.Ho + ); + } + }, + 23071: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return l; + }, + }); + var n = r(33940), + i = r(7620), + a = r(39695), + o = (0, n.Z)(); + function s(t) { + return (0, a.Wn)(t[0]) <= a.pi + ? t[0] + : (0, a.Xx)(t[0]) * + ((((0, a.Wn)(t[0]) + a.pi) % a.BZ) - a.pi); + } + function l(t, e) { + var r = s(e), + n = e[1], + l = (0, a.O$)(n), + u = [(0, a.O$)(r), -(0, a.mC)(r), 0], + c = 0, + f = 0; + o.reset(), + 1 === l + ? (n = a.ou + a.Ho) + : -1 === l && (n = -a.ou - a.Ho); + for (var h = 0, p = t.length; h < p; ++h) + if ((v = (d = t[h]).length)) + for ( + var d, + v, + g = d[v - 1], + y = s(g), + m = g[1] / 2 + a.pu, + x = (0, a.O$)(m), + b = (0, a.mC)(m), + _ = 0; + _ < v; + ++_, y = T, x = A, b = M, g = w + ) { + var w = d[_], + T = s(w), + k = w[1] / 2 + a.pu, + A = (0, a.O$)(k), + M = (0, a.mC)(k), + S = T - y, + E = S >= 0 ? 1 : -1, + L = E * S, + C = L > a.pi, + O = x * A; + if ( + (o.add( + (0, a.fv)( + O * E * (0, a.O$)(L), + b * M + O * (0, a.mC)(L), + ), + ), + (c += C ? S + E * a.BZ : S), + C ^ (y >= r) ^ (T >= r)) + ) { + var P = (0, i.T5)((0, i.Og)(g), (0, i.Og)(w)); + (0, i.iJ)(P); + var I = (0, i.T5)(u, P); + (0, i.iJ)(I); + var D = + (C ^ (S >= 0) ? -1 : 1) * (0, a.ZR)(I[2]); + (n > D || (n === D && (P[0] || P[1]))) && + (f += C ^ (S >= 0) ? 1 : -1); + } + } + return (c < -a.Ho || (c < a.Ho && o < -a.Ho)) ^ (1 & f); + } + }, + 25382: function (t, e, r) { + "use strict"; + r.d(e, { + O: function () { + return a; + }, + W: function () { + return i; + }, + }); + var n = r(39695); + function i(t) { + return function (e, r) { + var i = (0, n.mC)(e), + a = (0, n.mC)(r), + o = t(i * a); + return [o * a * (0, n.O$)(e), o * (0, n.O$)(r)]; + }; + } + function a(t) { + return function (e, r) { + var i = (0, n._b)(e * e + r * r), + a = t(i), + o = (0, n.O$)(a), + s = (0, n.mC)(a); + return [ + (0, n.fv)(e * o, i * s), + (0, n.ZR)(i && (r * o) / i), + ]; + }; + } + }, + 12956: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return s; + }, + l: function () { + return o; + }, + }); + var n = r(39695), + i = r(25382), + a = r(15002), + o = (0, i.W)(function (t) { + return (0, n._b)(2 / (1 + t)); + }); + function s() { + return (0, a.Z)(o).scale(124.75).clipAngle(179.999); + } + o.invert = (0, i.O)(function (t) { + return 2 * (0, n.ZR)(t / 2); + }); + }, + 17889: function (t, e, r) { + "use strict"; + r.d(e, { + N: function () { + return o; + }, + Z: function () { + return s; + }, + }); + var n = r(39695), + i = r(25382), + a = r(15002), + o = (0, i.W)(function (t) { + return (t = (0, n.Kh)(t)) && t / (0, n.O$)(t); + }); + function s() { + return (0, a.Z)(o).scale(79.4188).clipAngle(179.999); + } + o.invert = (0, i.O)(function (t) { + return t; + }); + }, + 97492: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return a; + }, + k: function () { + return i; + }, + }); + var n = r(15002); + function i(t, e) { + return [t, e]; + } + function a() { + return (0, n.Z)(i).scale(152.63); + } + i.invert = i; + }, + 47589: function (t, e, r) { + "use strict"; + r.d(e, { + V6: function () { + return l; + }, + mF: function () { + return s; + }, + qg: function () { + return o; + }, + rf: function () { + return u; + }, + }); + var n = r(72736), + i = r(3559); + function a(t, e, r) { + var a = t.clipExtent && t.clipExtent(); + return ( + t.scale(150).translate([0, 0]), + null != a && t.clipExtent(null), + (0, n.Z)(r, t.stream(i.Z)), + e(i.Z.result()), + null != a && t.clipExtent(a), + t + ); + } + function o(t, e, r) { + return a( + t, + function (r) { + var n = e[1][0] - e[0][0], + i = e[1][1] - e[0][1], + a = Math.min( + n / (r[1][0] - r[0][0]), + i / (r[1][1] - r[0][1]), + ), + o = +e[0][0] + (n - a * (r[1][0] + r[0][0])) / 2, + s = +e[0][1] + (i - a * (r[1][1] + r[0][1])) / 2; + t.scale(150 * a).translate([o, s]); + }, + r, + ); + } + function s(t, e, r) { + return o(t, [[0, 0], e], r); + } + function l(t, e, r) { + return a( + t, + function (r) { + var n = +e, + i = n / (r[1][0] - r[0][0]), + a = (n - i * (r[1][0] + r[0][0])) / 2, + o = -i * r[0][1]; + t.scale(150 * i).translate([a, o]); + }, + r, + ); + } + function u(t, e, r) { + return a( + t, + function (r) { + var n = +e, + i = n / (r[1][1] - r[0][1]), + a = -i * r[0][0], + o = (n - i * (r[1][1] + r[0][1])) / 2; + t.scale(150 * i).translate([a, o]); + }, + r, + ); + } + }, + 98936: function (t, e, r) { + "use strict"; + r.d(e, { + M: function () { + return o; + }, + Z: function () { + return s; + }, + }); + var n = r(39695), + i = r(25382), + a = r(15002); + function o(t, e) { + var r = (0, n.mC)(e), + i = (0, n.mC)(t) * r; + return [(r * (0, n.O$)(t)) / i, (0, n.O$)(e) / i]; + } + function s() { + return (0, a.Z)(o).scale(144.049).clipAngle(60); + } + o.invert = (0, i.O)(n.z4); + }, + 15002: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return m; + }, + r: function () { + return x; + }, + }); + var n = r(87070), + i = r(1457), + a = r(87605), + o = r(96059), + s = r(8593), + l = r(39695), + u = r(49386), + c = r(64684), + f = r(47589), + h = r(7620), + p = (0, l.mC)(30 * l.uR); + function d(t, e) { + return +e + ? (function (t, e) { + function r( + n, + i, + a, + o, + s, + u, + c, + f, + h, + d, + v, + g, + y, + m, + ) { + var x = c - n, + b = f - i, + _ = x * x + b * b; + if (_ > 4 * e && y--) { + var w = o + d, + T = s + v, + k = u + g, + A = (0, l._b)(w * w + T * T + k * k), + M = (0, l.ZR)((k /= A)), + S = + (0, l.Wn)((0, l.Wn)(k) - 1) < l.Ho || + (0, l.Wn)(a - h) < l.Ho + ? (a + h) / 2 + : (0, l.fv)(T, w), + E = t(S, M), + L = E[0], + C = E[1], + O = L - n, + P = C - i, + I = b * O - x * P; + ((I * I) / _ > e || + (0, l.Wn)((x * O + b * P) / _ - 0.5) > + 0.3 || + o * d + s * v + u * g < p) && + (r( + n, + i, + a, + o, + s, + u, + L, + C, + S, + (w /= A), + (T /= A), + k, + y, + m, + ), + m.point(L, C), + r( + L, + C, + S, + w, + T, + k, + c, + f, + h, + d, + v, + g, + y, + m, + )); + } + } + return function (e) { + var n, + i, + a, + o, + s, + l, + u, + c, + f, + p, + d, + v, + g = { + point: y, + lineStart: m, + lineEnd: b, + polygonStart: function () { + e.polygonStart(), (g.lineStart = _); + }, + polygonEnd: function () { + e.polygonEnd(), (g.lineStart = m); + }, + }; + function y(r, n) { + (r = t(r, n)), e.point(r[0], r[1]); + } + function m() { + (c = NaN), (g.point = x), e.lineStart(); + } + function x(n, i) { + var a = (0, h.Og)([n, i]), + o = t(n, i); + r( + c, + f, + u, + p, + d, + v, + (c = o[0]), + (f = o[1]), + (u = n), + (p = a[0]), + (d = a[1]), + (v = a[2]), + 16, + e, + ), + e.point(c, f); + } + function b() { + (g.point = y), e.lineEnd(); + } + function _() { + m(), (g.point = w), (g.lineEnd = T); + } + function w(t, e) { + x((n = t), e), + (i = c), + (a = f), + (o = p), + (s = d), + (l = v), + (g.point = x); + } + function T() { + r(c, f, u, p, d, v, i, a, n, o, s, l, 16, e), + (g.lineEnd = b), + b(); + } + return g; + }; + })(t, e) + : (function (t) { + return (0, c.l)({ + point: function (e, r) { + (e = t(e, r)), this.stream.point(e[0], e[1]); + }, + }); + })(t); + } + var v = (0, c.l)({ + point: function (t, e) { + this.stream.point(t * l.uR, e * l.uR); + }, + }); + function g(t, e, r, n, i) { + function a(a, o) { + return [e + t * (a *= n), r - t * (o *= i)]; + } + return ( + (a.invert = function (a, o) { + return [((a - e) / t) * n, ((r - o) / t) * i]; + }), + a + ); + } + function y(t, e, r, n, i, a) { + var o = (0, l.mC)(a), + s = (0, l.O$)(a), + u = o * t, + c = s * t, + f = o / t, + h = s / t, + p = (s * r - o * e) / t, + d = (s * e + o * r) / t; + function v(t, a) { + return [ + u * (t *= n) - c * (a *= i) + e, + r - c * t - u * a, + ]; + } + return ( + (v.invert = function (t, e) { + return [ + n * (f * t - h * e + p), + i * (d - h * t - f * e), + ]; + }), + v + ); + } + function m(t) { + return x(function () { + return t; + })(); + } + function x(t) { + var e, + r, + h, + p, + m, + x, + b, + _, + w, + T, + k = 150, + A = 480, + M = 250, + S = 0, + E = 0, + L = 0, + C = 0, + O = 0, + P = 0, + I = 1, + D = 1, + z = null, + R = n.Z, + F = null, + B = s.Z, + N = 0.5; + function j(t) { + return _(t[0] * l.uR, t[1] * l.uR); + } + function U(t) { + return ( + (t = _.invert(t[0], t[1])) && [ + t[0] * l.RW, + t[1] * l.RW, + ] + ); + } + function V() { + var t = y(k, 0, 0, I, D, P).apply(null, e(S, E)), + n = (P ? y : g)(k, A - t[0], M - t[1], I, D, P); + return ( + (r = (0, u.I)(L, C, O)), + (b = (0, o.Z)(e, n)), + (_ = (0, o.Z)(r, b)), + (x = d(b, N)), + H() + ); + } + function H() { + return (w = T = null), j; + } + return ( + (j.stream = function (t) { + return w && T === t + ? w + : (w = v( + (function (t) { + return (0, c.l)({ + point: function (e, r) { + var n = t(e, r); + return this.stream.point(n[0], n[1]); + }, + }); + })(r)(R(x(B((T = t))))), + )); + }), + (j.preclip = function (t) { + return arguments.length + ? ((R = t), (z = void 0), H()) + : R; + }), + (j.postclip = function (t) { + return arguments.length + ? ((B = t), (F = h = p = m = null), H()) + : B; + }), + (j.clipAngle = function (t) { + return arguments.length + ? ((R = +t + ? (0, i.Z)((z = t * l.uR)) + : ((z = null), n.Z)), + H()) + : z * l.RW; + }), + (j.clipExtent = function (t) { + return arguments.length + ? ((B = + null == t + ? ((F = h = p = m = null), s.Z) + : (0, a.Z)( + (F = +t[0][0]), + (h = +t[0][1]), + (p = +t[1][0]), + (m = +t[1][1]), + )), + H()) + : null == F + ? null + : [ + [F, h], + [p, m], + ]; + }), + (j.scale = function (t) { + return arguments.length ? ((k = +t), V()) : k; + }), + (j.translate = function (t) { + return arguments.length + ? ((A = +t[0]), (M = +t[1]), V()) + : [A, M]; + }), + (j.center = function (t) { + return arguments.length + ? ((S = (t[0] % 360) * l.uR), + (E = (t[1] % 360) * l.uR), + V()) + : [S * l.RW, E * l.RW]; + }), + (j.rotate = function (t) { + return arguments.length + ? ((L = (t[0] % 360) * l.uR), + (C = (t[1] % 360) * l.uR), + (O = t.length > 2 ? (t[2] % 360) * l.uR : 0), + V()) + : [L * l.RW, C * l.RW, O * l.RW]; + }), + (j.angle = function (t) { + return arguments.length + ? ((P = (t % 360) * l.uR), V()) + : P * l.RW; + }), + (j.reflectX = function (t) { + return arguments.length + ? ((I = t ? -1 : 1), V()) + : I < 0; + }), + (j.reflectY = function (t) { + return arguments.length + ? ((D = t ? -1 : 1), V()) + : D < 0; + }), + (j.precision = function (t) { + return arguments.length + ? ((x = d(b, (N = t * t))), H()) + : (0, l._b)(N); + }), + (j.fitExtent = function (t, e) { + return (0, f.qg)(j, t, e); + }), + (j.fitSize = function (t, e) { + return (0, f.mF)(j, t, e); + }), + (j.fitWidth = function (t, e) { + return (0, f.V6)(j, t, e); + }), + (j.fitHeight = function (t, e) { + return (0, f.rf)(j, t, e); + }), + function () { + return ( + (e = t.apply(this, arguments)), + (j.invert = e.invert && U), + V() + ); + } + ); + } + }, + 26867: function (t, e, r) { + "use strict"; + r.d(e, { + K: function () { + return a; + }, + Z: function () { + return o; + }, + }); + var n = r(15002), + i = r(39695); + function a(t, e) { + var r = e * e, + n = r * r; + return [ + t * + (0.8707 - + 0.131979 * r + + n * + (n * (0.003971 * r - 0.001529 * n) - 0.013791)), + e * + (1.007226 + + r * + (0.015085 + + n * + (0.028874 * r - 0.044475 - 0.005916 * n))), + ]; + } + function o() { + return (0, n.Z)(a).scale(175.295); + } + a.invert = function (t, e) { + var r, + n = e, + a = 25; + do { + var o = n * n, + s = o * o; + n -= r = + (n * + (1.007226 + + o * + (0.015085 + + s * + (0.028874 * o - + 0.044475 - + 0.005916 * s))) - + e) / + (1.007226 + + o * + (0.045255 + + s * + (0.259866 * o - + 0.311325 - + 0.005916 * 11 * s))); + } while ((0, i.Wn)(r) > i.Ho && --a > 0); + return [ + t / + (0.8707 + + (o = n * n) * + (o * + (o * o * o * (0.003971 - 0.001529 * o) - + 0.013791) - + 0.131979)), + n, + ]; + }; + }, + 57962: function (t, e, r) { + "use strict"; + r.d(e, { + I: function () { + return o; + }, + Z: function () { + return s; + }, + }); + var n = r(39695), + i = r(25382), + a = r(15002); + function o(t, e) { + return [(0, n.mC)(e) * (0, n.O$)(t), (0, n.O$)(e)]; + } + function s() { + return (0, a.Z)(o) + .scale(249.5) + .clipAngle(90 + n.Ho); + } + o.invert = (0, i.O)(n.ZR); + }, + 49386: function (t, e, r) { + "use strict"; + r.d(e, { + I: function () { + return o; + }, + Z: function () { + return c; + }, + }); + var n = r(96059), + i = r(39695); + function a(t, e) { + return [ + (0, i.Wn)(t) > i.pi + ? t + Math.round(-t / i.BZ) * i.BZ + : t, + e, + ]; + } + function o(t, e, r) { + return (t %= i.BZ) + ? e || r + ? (0, n.Z)(l(t), u(e, r)) + : l(t) + : e || r + ? u(e, r) + : a; + } + function s(t) { + return function (e, r) { + return [ + (e += t) > i.pi + ? e - i.BZ + : e < -i.pi + ? e + i.BZ + : e, + r, + ]; + }; + } + function l(t) { + var e = s(t); + return (e.invert = s(-t)), e; + } + function u(t, e) { + var r = (0, i.mC)(t), + n = (0, i.O$)(t), + a = (0, i.mC)(e), + o = (0, i.O$)(e); + function s(t, e) { + var s = (0, i.mC)(e), + l = (0, i.mC)(t) * s, + u = (0, i.O$)(t) * s, + c = (0, i.O$)(e), + f = c * r + l * n; + return [ + (0, i.fv)(u * a - f * o, l * r - c * n), + (0, i.ZR)(f * a + u * o), + ]; + } + return ( + (s.invert = function (t, e) { + var s = (0, i.mC)(e), + l = (0, i.mC)(t) * s, + u = (0, i.O$)(t) * s, + c = (0, i.O$)(e), + f = c * a - u * o; + return [ + (0, i.fv)(u * a + c * o, l * r + f * n), + (0, i.ZR)(f * r - l * n), + ]; + }), + s + ); + } + function c(t) { + function e(e) { + return ( + ((e = t(e[0] * i.uR, e[1] * i.uR))[0] *= i.RW), + (e[1] *= i.RW), + e + ); + } + return ( + (t = o( + t[0] * i.uR, + t[1] * i.uR, + t.length > 2 ? t[2] * i.uR : 0, + )), + (e.invert = function (e) { + return ( + ((e = t.invert(e[0] * i.uR, e[1] * i.uR))[0] *= + i.RW), + (e[1] *= i.RW), + e + ); + }), + e + ); + } + a.invert = a; + }, + 72736: function (t, e, r) { + "use strict"; + function n(t, e) { + t && a.hasOwnProperty(t.type) && a[t.type](t, e); + } + r.d(e, { + Z: function () { + return l; + }, + }); + var i = { + Feature: function (t, e) { + n(t.geometry, e); + }, + FeatureCollection: function (t, e) { + for ( + var r = t.features, i = -1, a = r.length; + ++i < a; + + ) + n(r[i].geometry, e); + }, + }, + a = { + 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) { + o(t.coordinates, e, 0); + }, + MultiLineString: function (t, e) { + for ( + var r = t.coordinates, n = -1, i = r.length; + ++n < i; + + ) + o(r[n], e, 0); + }, + Polygon: function (t, e) { + s(t.coordinates, e); + }, + MultiPolygon: function (t, e) { + for ( + var r = t.coordinates, n = -1, i = r.length; + ++n < i; + + ) + s(r[n], e); + }, + GeometryCollection: function (t, e) { + for ( + var r = t.geometries, i = -1, a = r.length; + ++i < a; + + ) + n(r[i], e); + }, + }; + function o(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 s(t, e) { + var r = -1, + n = t.length; + for (e.polygonStart(); ++r < n; ) o(t[r], e, 1); + e.polygonEnd(); + } + function l(t, e) { + t && i.hasOwnProperty(t.type) + ? i[t.type](t, e) + : n(t, e); + } + }, + 64684: function (t, e, r) { + "use strict"; + function n(t) { + return { stream: i(t) }; + } + function i(t) { + return function (e) { + var r = new a(); + for (var n in t) r[n] = t[n]; + return (r.stream = e), r; + }; + } + function a() {} + r.d(e, { + Z: function () { + return n; + }, + l: function () { + return i; + }, + }), + (a.prototype = { + constructor: a, + 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(); + }, + }); + }, + 674: function (t, e, r) { + "use strict"; + function n(t, e) { + return t.parent === e.parent ? 1 : 2; + } + function i(t, e) { + return t + e.x; + } + function a(t, e) { + return Math.max(t, e.y); + } + function o() { + var t = n, + e = 1, + r = 1, + o = !1; + function s(n) { + var s, + l = 0; + n.eachAfter(function (e) { + var r = e.children; + r + ? ((e.x = (function (t) { + return t.reduce(i, 0) / t.length; + })(r)), + (e.y = (function (t) { + return 1 + t.reduce(a, 0); + })(r))) + : ((e.x = s ? (l += t(e, s)) : 0), + (e.y = 0), + (s = e)); + }); + var u = (function (t) { + for (var e; (e = t.children); ) t = e[0]; + return t; + })(n), + c = (function (t) { + for (var e; (e = t.children); ) + t = e[e.length - 1]; + return t; + })(n), + f = u.x - t(u, c) / 2, + h = c.x + t(c, u) / 2; + return n.eachAfter( + o + ? function (t) { + (t.x = (t.x - n.x) * e), + (t.y = (n.y - t.y) * r); + } + : function (t) { + (t.x = ((t.x - f) / (h - f)) * e), + (t.y = (1 - (n.y ? t.y / n.y : 1)) * r); + }, + ); + } + return ( + (s.separation = function (e) { + return arguments.length ? ((t = e), s) : t; + }), + (s.size = function (t) { + return arguments.length + ? ((o = !1), (e = +t[0]), (r = +t[1]), s) + : o + ? null + : [e, r]; + }), + (s.nodeSize = function (t) { + return arguments.length + ? ((o = !0), (e = +t[0]), (r = +t[1]), s) + : o + ? [e, r] + : null; + }), + s + ); + } + function s(t) { + var e = 0, + r = t.children, + n = r && r.length; + if (n) for (; --n >= 0; ) e += r[n].value; + else e = 1; + t.value = e; + } + function l(t, e) { + var r, + n, + i, + a, + o, + s = new h(t), + l = +t.value && (s.value = t.value), + c = [s]; + for (null == e && (e = u); (r = c.pop()); ) + if ( + (l && (r.value = +r.data.value), + (i = e(r.data)) && (o = i.length)) + ) + for ( + r.children = new Array(o), a = o - 1; + a >= 0; + --a + ) + c.push((n = r.children[a] = new h(i[a]))), + (n.parent = r), + (n.depth = r.depth + 1); + return s.eachBefore(f); + } + function u(t) { + return t.children; + } + function c(t) { + t.data = t.data.data; + } + function f(t) { + var e = 0; + do { + t.height = e; + } while ((t = t.parent) && t.height < ++e); + } + function h(t) { + (this.data = t), + (this.depth = this.height = 0), + (this.parent = null); + } + r.r(e), + r.d(e, { + cluster: function () { + return o; + }, + hierarchy: function () { + return l; + }, + pack: function () { + return I; + }, + packEnclose: function () { + return d; + }, + packSiblings: function () { + return S; + }, + partition: function () { + return N; + }, + stratify: function () { + return q; + }, + tree: function () { + return K; + }, + treemap: function () { + return rt; + }, + treemapBinary: function () { + return nt; + }, + treemapDice: function () { + return B; + }, + treemapResquarify: function () { + return at; + }, + treemapSlice: function () { + return $; + }, + treemapSliceDice: function () { + return it; + }, + treemapSquarify: function () { + return et; + }, + }), + (h.prototype = l.prototype = + { + constructor: h, + count: function () { + return this.eachAfter(s); + }, + each: function (t) { + var e, + r, + n, + i, + a = this, + o = [a]; + do { + for (e = o.reverse(), o = []; (a = e.pop()); ) + if ((t(a), (r = a.children))) + for (n = 0, i = r.length; n < i; ++n) + o.push(r[n]); + } while (o.length); + return this; + }, + eachAfter: function (t) { + for ( + var e, r, n, i = this, a = [i], o = []; + (i = a.pop()); + + ) + if ((o.push(i), (e = i.children))) + for (r = 0, n = e.length; r < n; ++r) + a.push(e[r]); + for (; (i = o.pop()); ) t(i); + return this; + }, + eachBefore: function (t) { + for (var e, r, n = this, i = [n]; (n = i.pop()); ) + if ((t(n), (e = n.children))) + for (r = e.length - 1; r >= 0; --r) + i.push(e[r]); + return this; + }, + sum: function (t) { + return this.eachAfter(function (e) { + for ( + var r = +t(e.data) || 0, + n = e.children, + i = n && n.length; + --i >= 0; + + ) + r += n[i].value; + e.value = r; + }); + }, + sort: function (t) { + return this.eachBefore(function (e) { + e.children && e.children.sort(t); + }); + }, + path: function (t) { + for ( + var e = this, + r = (function (t, e) { + if (t === e) return t; + var r = t.ancestors(), + n = e.ancestors(), + i = null; + for (t = r.pop(), e = n.pop(); t === e; ) + (i = t), (t = r.pop()), (e = n.pop()); + return i; + })(e, t), + n = [e]; + e !== r; + + ) + (e = e.parent), n.push(e); + for (var i = n.length; t !== r; ) + n.splice(i, 0, t), (t = t.parent); + return n; + }, + ancestors: function () { + for (var t = this, e = [t]; (t = t.parent); ) + e.push(t); + return e; + }, + descendants: function () { + var t = []; + return ( + this.each(function (e) { + t.push(e); + }), + t + ); + }, + leaves: function () { + var t = []; + return ( + this.eachBefore(function (e) { + e.children || t.push(e); + }), + t + ); + }, + links: function () { + var t = this, + e = []; + return ( + t.each(function (r) { + r !== t && + e.push({ source: r.parent, target: r }); + }), + e + ); + }, + copy: function () { + return l(this).eachBefore(c); + }, + }); + var p = Array.prototype.slice; + function d(t) { + for ( + var e, + r, + n = 0, + i = (t = (function (t) { + for (var e, r, n = t.length; n; ) + (r = (Math.random() * n--) | 0), + (e = t[n]), + (t[n] = t[r]), + (t[r] = e); + return t; + })(p.call(t))).length, + a = []; + n < i; + + ) + (e = t[n]), + r && y(r, e) + ? ++n + : ((r = x((a = v(a, e)))), (n = 0)); + return r; + } + function v(t, e) { + var r, n; + if (m(e, t)) return [e]; + for (r = 0; r < t.length; ++r) + if (g(e, t[r]) && m(b(t[r], e), t)) return [t[r], e]; + for (r = 0; r < t.length - 1; ++r) + for (n = r + 1; n < t.length; ++n) + if ( + g(b(t[r], t[n]), e) && + g(b(t[r], e), t[n]) && + g(b(t[n], e), t[r]) && + m(_(t[r], t[n], e), t) + ) + return [t[r], t[n], e]; + throw new Error(); + } + function g(t, e) { + var r = t.r - e.r, + n = e.x - t.x, + i = e.y - t.y; + return r < 0 || r * r < n * n + i * i; + } + function y(t, e) { + var r = t.r - e.r + 1e-6, + n = e.x - t.x, + i = e.y - t.y; + return r > 0 && r * r > n * n + i * i; + } + function m(t, e) { + for (var r = 0; r < e.length; ++r) + if (!y(t, e[r])) return !1; + return !0; + } + function x(t) { + switch (t.length) { + case 1: + return { x: (e = t[0]).x, y: e.y, r: e.r }; + case 2: + return b(t[0], t[1]); + case 3: + return _(t[0], t[1], t[2]); + } + var e; + } + function b(t, e) { + var r = t.x, + n = t.y, + i = t.r, + a = e.x, + o = e.y, + s = e.r, + l = a - r, + u = o - n, + c = s - i, + f = Math.sqrt(l * l + u * u); + return { + x: (r + a + (l / f) * c) / 2, + y: (n + o + (u / f) * c) / 2, + r: (f + i + s) / 2, + }; + } + function _(t, e, r) { + var n = t.x, + i = t.y, + a = t.r, + o = e.x, + s = e.y, + l = e.r, + u = r.x, + c = r.y, + f = r.r, + h = n - o, + p = n - u, + d = i - s, + v = i - c, + g = l - a, + y = f - a, + m = n * n + i * i - a * a, + x = m - o * o - s * s + l * l, + b = m - u * u - c * c + f * f, + _ = p * d - h * v, + w = (d * b - v * x) / (2 * _) - n, + T = (v * g - d * y) / _, + k = (p * x - h * b) / (2 * _) - i, + A = (h * y - p * g) / _, + M = T * T + A * A - 1, + S = 2 * (a + w * T + k * A), + E = w * w + k * k - a * a, + L = -(M + ? (S + Math.sqrt(S * S - 4 * M * E)) / (2 * M) + : E / S); + return { x: n + w + T * L, y: i + k + A * L, r: L }; + } + function w(t, e, r) { + var n, + i, + a, + o, + s = t.x - e.x, + l = t.y - e.y, + u = s * s + l * l; + u + ? ((i = e.r + r.r), + (i *= i), + (o = t.r + r.r), + i > (o *= o) + ? ((n = (u + o - i) / (2 * u)), + (a = Math.sqrt(Math.max(0, o / u - n * n))), + (r.x = t.x - n * s - a * l), + (r.y = t.y - n * l + a * s)) + : ((n = (u + i - o) / (2 * u)), + (a = Math.sqrt(Math.max(0, i / u - n * n))), + (r.x = e.x + n * s - a * l), + (r.y = e.y + n * l + a * s))) + : ((r.x = e.x + r.r), (r.y = e.y)); + } + function T(t, e) { + var r = t.r + e.r - 1e-6, + n = e.x - t.x, + i = e.y - t.y; + return r > 0 && r * r > n * n + i * i; + } + function k(t) { + var e = t._, + r = t.next._, + n = e.r + r.r, + i = (e.x * r.r + r.x * e.r) / n, + a = (e.y * r.r + r.y * e.r) / n; + return i * i + a * a; + } + function A(t) { + (this._ = t), + (this.next = null), + (this.previous = null); + } + function M(t) { + if (!(i = t.length)) return 0; + var e, r, n, i, a, o, s, l, u, c, f; + if ((((e = t[0]).x = 0), (e.y = 0), !(i > 1))) + return e.r; + if ( + ((r = t[1]), + (e.x = -r.r), + (r.x = e.r), + (r.y = 0), + !(i > 2)) + ) + return e.r + r.r; + w(r, e, (n = t[2])), + (e = new A(e)), + (r = new A(r)), + (n = new A(n)), + (e.next = n.previous = r), + (r.next = e.previous = n), + (n.next = r.previous = e); + t: for (s = 3; s < i; ++s) { + w(e._, r._, (n = t[s])), + (n = new A(n)), + (l = r.next), + (u = e.previous), + (c = r._.r), + (f = e._.r); + do { + if (c <= f) { + if (T(l._, n._)) { + (r = l), (e.next = r), (r.previous = e), --s; + continue t; + } + (c += l._.r), (l = l.next); + } else { + if (T(u._, n._)) { + ((e = u).next = r), (r.previous = e), --s; + continue t; + } + (f += u._.r), (u = u.previous); + } + } while (l !== u.next); + for ( + n.previous = e, + n.next = r, + e.next = r.previous = r = n, + a = k(e); + (n = n.next) !== r; + + ) + (o = k(n)) < a && ((e = n), (a = o)); + r = e.next; + } + for (e = [r._], n = r; (n = n.next) !== r; ) + e.push(n._); + for (n = d(e), s = 0; s < i; ++s) + ((e = t[s]).x -= n.x), (e.y -= n.y); + return n.r; + } + function S(t) { + return M(t), t; + } + function E(t) { + return null == t ? null : L(t); + } + function L(t) { + if ("function" != typeof t) throw new Error(); + return t; + } + function C() { + return 0; + } + function O(t) { + return function () { + return t; + }; + } + function P(t) { + return Math.sqrt(t.value); + } + function I() { + var t = null, + e = 1, + r = 1, + n = C; + function i(i) { + return ( + (i.x = e / 2), + (i.y = r / 2), + t + ? i + .eachBefore(D(t)) + .eachAfter(z(n, 0.5)) + .eachBefore(R(1)) + : i + .eachBefore(D(P)) + .eachAfter(z(C, 1)) + .eachAfter(z(n, i.r / Math.min(e, r))) + .eachBefore(R(Math.min(e, r) / (2 * i.r))), + i + ); + } + return ( + (i.radius = function (e) { + return arguments.length ? ((t = E(e)), i) : t; + }), + (i.size = function (t) { + return arguments.length + ? ((e = +t[0]), (r = +t[1]), i) + : [e, r]; + }), + (i.padding = function (t) { + return arguments.length + ? ((n = "function" == typeof t ? t : O(+t)), i) + : n; + }), + i + ); + } + function D(t) { + return function (e) { + e.children || (e.r = Math.max(0, +t(e) || 0)); + }; + } + function z(t, e) { + return function (r) { + if ((n = r.children)) { + var n, + i, + a, + o = n.length, + s = t(r) * e || 0; + if (s) for (i = 0; i < o; ++i) n[i].r += s; + if (((a = M(n)), s)) + for (i = 0; i < o; ++i) n[i].r -= s; + r.r = a + s; + } + }; + } + function R(t) { + return function (e) { + var r = e.parent; + (e.r *= t), + r && ((e.x = r.x + t * e.x), (e.y = r.y + t * e.y)); + }; + } + function F(t) { + (t.x0 = Math.round(t.x0)), + (t.y0 = Math.round(t.y0)), + (t.x1 = Math.round(t.x1)), + (t.y1 = Math.round(t.y1)); + } + function B(t, e, r, n, i) { + for ( + var a, + o = t.children, + s = -1, + l = o.length, + u = t.value && (n - e) / t.value; + ++s < l; + + ) + ((a = o[s]).y0 = r), + (a.y1 = i), + (a.x0 = e), + (a.x1 = e += a.value * u); + } + function N() { + var t = 1, + e = 1, + r = 0, + n = !1; + function i(i) { + var a = i.height + 1; + return ( + (i.x0 = i.y0 = r), + (i.x1 = t), + (i.y1 = e / a), + i.eachBefore( + (function (t, e) { + return function (n) { + n.children && + B( + n, + n.x0, + (t * (n.depth + 1)) / e, + n.x1, + (t * (n.depth + 2)) / e, + ); + var i = n.x0, + a = n.y0, + o = n.x1 - r, + s = n.y1 - r; + o < i && (i = o = (i + o) / 2), + s < a && (a = s = (a + s) / 2), + (n.x0 = i), + (n.y0 = a), + (n.x1 = o), + (n.y1 = s); + }; + })(e, a), + ), + n && i.eachBefore(F), + i + ); + } + return ( + (i.round = function (t) { + return arguments.length ? ((n = !!t), i) : n; + }), + (i.size = function (r) { + return arguments.length + ? ((t = +r[0]), (e = +r[1]), i) + : [t, e]; + }), + (i.padding = function (t) { + return arguments.length ? ((r = +t), i) : r; + }), + i + ); + } + var j = { depth: -1 }, + U = {}; + function V(t) { + return t.id; + } + function H(t) { + return t.parentId; + } + function q() { + var t = V, + e = H; + function r(r) { + var n, + i, + a, + o, + s, + l, + u, + c = r.length, + p = new Array(c), + d = {}; + for (i = 0; i < c; ++i) + (n = r[i]), + (s = p[i] = new h(n)), + null != (l = t(n, i, r)) && + (l += "") && + (d[(u = "$" + (s.id = l))] = u in d ? U : s); + for (i = 0; i < c; ++i) + if ( + ((s = p[i]), + null != (l = e(r[i], i, r)) && (l += "")) + ) { + if (!(o = d["$" + l])) + throw new Error("missing: " + l); + if (o === U) throw new Error("ambiguous: " + l); + o.children + ? o.children.push(s) + : (o.children = [s]), + (s.parent = o); + } else { + if (a) throw new Error("multiple roots"); + a = s; + } + if (!a) throw new Error("no root"); + if ( + ((a.parent = j), + a + .eachBefore(function (t) { + (t.depth = t.parent.depth + 1), --c; + }) + .eachBefore(f), + (a.parent = null), + c > 0) + ) + throw new Error("cycle"); + return a; + } + return ( + (r.id = function (e) { + return arguments.length ? ((t = L(e)), r) : t; + }), + (r.parentId = function (t) { + return arguments.length ? ((e = L(t)), r) : e; + }), + r + ); + } + function G(t, e) { + return t.parent === e.parent ? 1 : 2; + } + function Z(t) { + var e = t.children; + return e ? e[0] : t.t; + } + function W(t) { + var e = t.children; + return e ? e[e.length - 1] : t.t; + } + function Y(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 X(t, e, r) { + return t.a.parent === e.parent ? t.a : r; + } + function J(t, e) { + (this._ = t), + (this.parent = null), + (this.children = null), + (this.A = null), + (this.a = this), + (this.z = 0), + (this.m = 0), + (this.c = 0), + (this.s = 0), + (this.t = null), + (this.i = e); + } + function K() { + var t = G, + e = 1, + r = 1, + n = null; + function i(i) { + var l = (function (t) { + for ( + var e, r, n, i, a, o = new J(t, 0), s = [o]; + (e = s.pop()); + + ) + if ((n = e._.children)) + for ( + e.children = new Array((a = n.length)), + i = a - 1; + i >= 0; + --i + ) + s.push((r = e.children[i] = new J(n[i], i))), + (r.parent = e); + return ( + ((o.parent = new J(null, 0)).children = [o]), o + ); + })(i); + if ( + (l.eachAfter(a), + (l.parent.m = -l.z), + l.eachBefore(o), + n) + ) + i.eachBefore(s); + else { + var u = i, + c = i, + f = i; + i.eachBefore(function (t) { + t.x < u.x && (u = t), + t.x > c.x && (c = t), + t.depth > f.depth && (f = t); + }); + var h = u === c ? 1 : t(u, c) / 2, + p = h - u.x, + d = e / (c.x + h + p), + v = r / (f.depth || 1); + i.eachBefore(function (t) { + (t.x = (t.x + p) * d), (t.y = t.depth * v); + }); + } + return i; + } + function a(e) { + var r = e.children, + n = e.parent.children, + i = e.i ? n[e.i - 1] : null; + if (r) { + !(function (t) { + for ( + var e, + r = 0, + n = 0, + i = t.children, + a = i.length; + --a >= 0; + + ) + ((e = i[a]).z += r), + (e.m += r), + (r += e.s + (n += e.c)); + })(e); + var a = (r[0].z + r[r.length - 1].z) / 2; + i + ? ((e.z = i.z + t(e._, i._)), (e.m = e.z - a)) + : (e.z = a); + } else i && (e.z = i.z + t(e._, i._)); + e.parent.A = (function (e, r, n) { + if (r) { + for ( + var i, + a = e, + o = e, + s = r, + l = a.parent.children[0], + u = a.m, + c = o.m, + f = s.m, + h = l.m; + (s = W(s)), (a = Z(a)), s && a; + + ) + (l = Z(l)), + ((o = W(o)).a = e), + (i = s.z + f - a.z - u + t(s._, a._)) > 0 && + (Y(X(s, e, n), e, i), (u += i), (c += i)), + (f += s.m), + (u += a.m), + (h += l.m), + (c += o.m); + s && !W(o) && ((o.t = s), (o.m += f - c)), + a && + !Z(l) && + ((l.t = a), (l.m += u - h), (n = e)); + } + return n; + })(e, i, e.parent.A || n[0]); + } + function o(t) { + (t._.x = t.z + t.parent.m), (t.m += t.parent.m); + } + function s(t) { + (t.x *= e), (t.y = t.depth * r); + } + return ( + (i.separation = function (e) { + return arguments.length ? ((t = e), i) : t; + }), + (i.size = function (t) { + return arguments.length + ? ((n = !1), (e = +t[0]), (r = +t[1]), i) + : n + ? null + : [e, r]; + }), + (i.nodeSize = function (t) { + return arguments.length + ? ((n = !0), (e = +t[0]), (r = +t[1]), i) + : n + ? [e, r] + : null; + }), + i + ); + } + function $(t, e, r, n, i) { + for ( + var a, + o = t.children, + s = -1, + l = o.length, + u = t.value && (i - r) / t.value; + ++s < l; + + ) + ((a = o[s]).x0 = e), + (a.x1 = n), + (a.y0 = r), + (a.y1 = r += a.value * u); + } + J.prototype = Object.create(h.prototype); + var Q = (1 + Math.sqrt(5)) / 2; + function tt(t, e, r, n, i, a) { + for ( + var o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y = [], + m = e.children, + x = 0, + b = 0, + _ = m.length, + w = e.value; + x < _; + + ) { + (l = i - r), (u = a - n); + do { + c = m[b++].value; + } while (!c && b < _); + for ( + f = h = c, + g = + c * c * (v = Math.max(u / l, l / u) / (w * t)), + d = Math.max(h / g, g / f); + b < _; + ++b + ) { + if ( + ((c += s = m[b].value), + s < f && (f = s), + s > h && (h = s), + (g = c * c * v), + (p = Math.max(h / g, g / f)) > d) + ) { + c -= s; + break; + } + d = p; + } + y.push( + (o = { + value: c, + dice: l < u, + children: m.slice(x, b), + }), + ), + o.dice + ? B(o, r, n, i, w ? (n += (u * c) / w) : a) + : $(o, r, n, w ? (r += (l * c) / w) : i, a), + (w -= c), + (x = b); + } + return y; + } + var et = (function t(e) { + function r(t, r, n, i, a) { + tt(e, t, r, n, i, a); + } + return ( + (r.ratio = function (e) { + return t((e = +e) > 1 ? e : 1); + }), + r + ); + })(Q); + function rt() { + var t = et, + e = !1, + r = 1, + n = 1, + i = [0], + a = C, + o = C, + s = C, + l = C, + u = C; + function c(t) { + return ( + (t.x0 = t.y0 = 0), + (t.x1 = r), + (t.y1 = n), + t.eachBefore(f), + (i = [0]), + e && t.eachBefore(F), + t + ); + } + function f(e) { + var r = i[e.depth], + n = e.x0 + r, + c = e.y0 + r, + f = e.x1 - r, + h = e.y1 - r; + f < n && (n = f = (n + f) / 2), + h < c && (c = h = (c + h) / 2), + (e.x0 = n), + (e.y0 = c), + (e.x1 = f), + (e.y1 = h), + e.children && + ((r = i[e.depth + 1] = a(e) / 2), + (n += u(e) - r), + (c += o(e) - r), + (f -= s(e) - r) < n && (n = f = (n + f) / 2), + (h -= l(e) - r) < c && (c = h = (c + h) / 2), + t(e, n, c, f, h)); + } + return ( + (c.round = function (t) { + return arguments.length ? ((e = !!t), c) : e; + }), + (c.size = function (t) { + return arguments.length + ? ((r = +t[0]), (n = +t[1]), c) + : [r, n]; + }), + (c.tile = function (e) { + return arguments.length ? ((t = L(e)), c) : t; + }), + (c.padding = function (t) { + return arguments.length + ? c.paddingInner(t).paddingOuter(t) + : c.paddingInner(); + }), + (c.paddingInner = function (t) { + return arguments.length + ? ((a = "function" == typeof t ? t : O(+t)), c) + : a; + }), + (c.paddingOuter = function (t) { + return arguments.length + ? c + .paddingTop(t) + .paddingRight(t) + .paddingBottom(t) + .paddingLeft(t) + : c.paddingTop(); + }), + (c.paddingTop = function (t) { + return arguments.length + ? ((o = "function" == typeof t ? t : O(+t)), c) + : o; + }), + (c.paddingRight = function (t) { + return arguments.length + ? ((s = "function" == typeof t ? t : O(+t)), c) + : s; + }), + (c.paddingBottom = function (t) { + return arguments.length + ? ((l = "function" == typeof t ? t : O(+t)), c) + : l; + }), + (c.paddingLeft = function (t) { + return arguments.length + ? ((u = "function" == typeof t ? t : O(+t)), c) + : u; + }), + c + ); + } + function nt(t, e, r, n, i) { + var a, + o, + s = t.children, + l = s.length, + u = new Array(l + 1); + for (u[0] = o = a = 0; a < l; ++a) + u[a + 1] = o += s[a].value; + !(function t(e, r, n, i, a, o, l) { + if (e >= r - 1) { + var c = s[e]; + return ( + (c.x0 = i), + (c.y0 = a), + (c.x1 = o), + void (c.y1 = l) + ); + } + for ( + var f = u[e], h = n / 2 + f, p = e + 1, d = r - 1; + p < d; + + ) { + var v = (p + d) >>> 1; + u[v] < h ? (p = v + 1) : (d = v); + } + h - u[p - 1] < u[p] - h && e + 1 < p && --p; + var g = u[p] - f, + y = n - g; + if (o - i > l - a) { + var m = (i * y + o * g) / n; + t(e, p, g, i, a, m, l), t(p, r, y, m, a, o, l); + } else { + var x = (a * y + l * g) / n; + t(e, p, g, i, a, o, x), t(p, r, y, i, x, o, l); + } + })(0, l, t.value, e, r, n, i); + } + function it(t, e, r, n, i) { + (1 & t.depth ? $ : B)(t, e, r, n, i); + } + var at = (function t(e) { + function r(t, r, n, i, a) { + if ((o = t._squarify) && o.ratio === e) + for ( + var o, + s, + l, + u, + c, + f = -1, + h = o.length, + p = t.value; + ++f < h; + + ) { + for ( + l = (s = o[f]).children, + u = s.value = 0, + c = l.length; + u < c; + ++u + ) + s.value += l[u].value; + s.dice + ? B(s, r, n, i, (n += ((a - n) * s.value) / p)) + : $(s, r, n, (r += ((i - r) * s.value) / p), a), + (p -= s.value); + } + else + (t._squarify = o = tt(e, t, r, n, i, a)), + (o.ratio = e); + } + return ( + (r.ratio = function (e) { + return t((e = +e) > 1 ? e : 1); + }), + r + ); + })(Q); + }, + 45879: function (t, e, r) { + "use strict"; + r.d(e, { + h5: function () { + return y; + }, + }); + var n = Math.PI, + i = 2 * n, + a = 1e-6, + o = i - a; + function s() { + (this._x0 = this._y0 = this._x1 = this._y1 = null), + (this._ = ""); + } + function l() { + return new s(); + } + s.prototype = l.prototype = { + constructor: s, + moveTo: function (t, e) { + this._ += + "M" + + (this._x0 = this._x1 = +t) + + "," + + (this._y0 = this._y1 = +e); + }, + closePath: function () { + null !== this._x1 && + ((this._x1 = this._x0), + (this._y1 = this._y0), + (this._ += "Z")); + }, + lineTo: function (t, e) { + this._ += + "L" + (this._x1 = +t) + "," + (this._y1 = +e); + }, + quadraticCurveTo: function (t, e, r, n) { + this._ += + "Q" + + +t + + "," + + +e + + "," + + (this._x1 = +r) + + "," + + (this._y1 = +n); + }, + bezierCurveTo: function (t, e, r, n, i, a) { + this._ += + "C" + + +t + + "," + + +e + + "," + + +r + + "," + + +n + + "," + + (this._x1 = +i) + + "," + + (this._y1 = +a); + }, + arcTo: function (t, e, r, i, o) { + (t = +t), (e = +e), (r = +r), (i = +i), (o = +o); + var s = this._x1, + l = this._y1, + u = r - t, + c = i - e, + f = s - t, + h = l - e, + p = f * f + h * h; + if (o < 0) throw new Error("negative radius: " + o); + if (null === this._x1) + this._ += + "M" + (this._x1 = t) + "," + (this._y1 = e); + else if (p > a) + if (Math.abs(h * u - c * f) > a && o) { + var d = r - s, + v = i - l, + g = u * u + c * c, + y = d * d + v * v, + m = Math.sqrt(g), + x = Math.sqrt(p), + b = + o * + Math.tan( + (n - Math.acos((g + p - y) / (2 * m * x))) / + 2, + ), + _ = b / x, + w = b / m; + Math.abs(_ - 1) > a && + (this._ += + "L" + (t + _ * f) + "," + (e + _ * h)), + (this._ += + "A" + + o + + "," + + o + + ",0,0," + + +(h * d > f * v) + + "," + + (this._x1 = t + w * u) + + "," + + (this._y1 = e + w * c)); + } else + this._ += + "L" + (this._x1 = t) + "," + (this._y1 = e); + }, + arc: function (t, e, r, s, l, u) { + (t = +t), (e = +e), (u = !!u); + var c = (r = +r) * Math.cos(s), + f = r * Math.sin(s), + h = t + c, + p = e + f, + d = 1 ^ u, + v = u ? s - l : l - s; + if (r < 0) throw new Error("negative radius: " + r); + null === this._x1 + ? (this._ += "M" + h + "," + p) + : (Math.abs(this._x1 - h) > a || + Math.abs(this._y1 - p) > a) && + (this._ += "L" + h + "," + p), + r && + (v < 0 && (v = (v % i) + i), + v > o + ? (this._ += + "A" + + r + + "," + + r + + ",0,1," + + d + + "," + + (t - c) + + "," + + (e - f) + + "A" + + r + + "," + + r + + ",0,1," + + d + + "," + + (this._x1 = h) + + "," + + (this._y1 = p)) + : v > a && + (this._ += + "A" + + r + + "," + + r + + ",0," + + +(v >= n) + + "," + + d + + "," + + (this._x1 = t + r * Math.cos(l)) + + "," + + (this._y1 = e + r * Math.sin(l)))); + }, + rect: function (t, e, r, n) { + this._ += + "M" + + (this._x0 = this._x1 = +t) + + "," + + (this._y0 = this._y1 = +e) + + "h" + + +r + + "v" + + +n + + "h" + + -r + + "Z"; + }, + toString: function () { + return this._; + }, + }; + var u = l, + c = Array.prototype.slice; + function f(t) { + return function () { + return t; + }; + } + function h(t) { + return t[0]; + } + function p(t) { + return t[1]; + } + function d(t) { + return t.source; + } + function v(t) { + return t.target; + } + function g(t, e, r, n, i) { + t.moveTo(e, r), + t.bezierCurveTo((e = (e + n) / 2), r, e, i, n, i); + } + function y() { + return (function (t) { + var e = d, + r = v, + n = h, + i = p, + a = null; + function o() { + var o, + s = c.call(arguments), + l = e.apply(this, s), + f = r.apply(this, s); + if ( + (a || (a = o = u()), + t( + a, + +n.apply(this, ((s[0] = l), s)), + +i.apply(this, s), + +n.apply(this, ((s[0] = f), s)), + +i.apply(this, s), + ), + o) + ) + return (a = null), o + "" || null; + } + return ( + (o.source = function (t) { + return arguments.length ? ((e = t), o) : e; + }), + (o.target = function (t) { + return arguments.length ? ((r = t), o) : r; + }), + (o.x = function (t) { + return arguments.length + ? ((n = "function" == typeof t ? t : f(+t)), o) + : n; + }), + (o.y = function (t) { + return arguments.length + ? ((i = "function" == typeof t ? t : f(+t)), o) + : i; + }), + (o.context = function (t) { + return arguments.length + ? ((a = null == t ? null : t), o) + : a; + }), + o + ); + })(g); + } + }, + 84096: function (t, e, r) { + "use strict"; + r.d(e, { + i$: function () { + return d; + }, + Dq: function () { + return h; + }, + g0: function () { + return v; + }, + }); + var n = r(58176), + i = r(48480), + a = r(59879), + o = r(82301), + s = r(34823), + l = r(79791); + function u(t) { + if (0 <= t.y && t.y < 100) { + var e = new Date(-1, t.m, t.d, t.H, t.M, t.S, t.L); + return e.setFullYear(t.y), e; + } + return new Date(t.y, t.m, t.d, t.H, t.M, t.S, t.L); + } + function c(t) { + if (0 <= t.y && t.y < 100) { + var e = new Date( + Date.UTC(-1, t.m, t.d, t.H, t.M, t.S, t.L), + ); + return e.setUTCFullYear(t.y), e; + } + return new Date( + Date.UTC(t.y, t.m, t.d, t.H, t.M, t.S, t.L), + ); + } + function f(t, e, r) { + return { y: t, m: e, d: r, H: 0, M: 0, S: 0, L: 0 }; + } + function h(t) { + var e = t.dateTime, + r = t.date, + s = t.time, + l = t.periods, + h = t.days, + p = t.shortDays, + d = t.months, + v = t.shortMonths, + y = w(l), + m = T(l), + x = w(h), + b = T(h), + _ = w(p), + St = T(p), + Et = w(d), + Lt = T(d), + Ct = w(v), + Ot = T(v), + Pt = { + a: function (t) { + return p[t.getDay()]; + }, + A: function (t) { + return h[t.getDay()]; + }, + b: function (t) { + return v[t.getMonth()]; + }, + B: function (t) { + return d[t.getMonth()]; + }, + c: null, + d: q, + e: q, + f: X, + H: G, + I: Z, + j: W, + L: Y, + m: J, + M: K, + p: function (t) { + return l[+(t.getHours() >= 12)]; + }, + q: function (t) { + return 1 + ~~(t.getMonth() / 3); + }, + Q: At, + s: Mt, + S: $, + u: Q, + U: tt, + V: et, + w: rt, + W: nt, + x: null, + X: null, + y: it, + Y: at, + Z: ot, + "%": kt, + }, + It = { + a: function (t) { + return p[t.getUTCDay()]; + }, + A: function (t) { + return h[t.getUTCDay()]; + }, + b: function (t) { + return v[t.getUTCMonth()]; + }, + B: function (t) { + return d[t.getUTCMonth()]; + }, + c: null, + d: st, + e: st, + f: ht, + H: lt, + I: ut, + j: ct, + L: ft, + m: pt, + M: dt, + p: function (t) { + return l[+(t.getUTCHours() >= 12)]; + }, + q: function (t) { + return 1 + ~~(t.getUTCMonth() / 3); + }, + Q: At, + s: Mt, + S: vt, + u: gt, + U: yt, + V: mt, + w: xt, + W: bt, + x: null, + X: null, + y: _t, + Y: wt, + Z: Tt, + "%": kt, + }, + Dt = { + a: function (t, e, r) { + var n = _.exec(e.slice(r)); + return n + ? ((t.w = St[n[0].toLowerCase()]), + r + n[0].length) + : -1; + }, + A: function (t, e, r) { + var n = x.exec(e.slice(r)); + return n + ? ((t.w = b[n[0].toLowerCase()]), + r + n[0].length) + : -1; + }, + b: function (t, e, r) { + var n = Ct.exec(e.slice(r)); + return n + ? ((t.m = Ot[n[0].toLowerCase()]), + r + n[0].length) + : -1; + }, + B: function (t, e, r) { + var n = Et.exec(e.slice(r)); + return n + ? ((t.m = Lt[n[0].toLowerCase()]), + r + n[0].length) + : -1; + }, + c: function (t, r, n) { + return Ft(t, e, r, n); + }, + d: D, + e: D, + f: j, + H: R, + I: R, + j: z, + L: N, + m: I, + M: F, + p: function (t, e, r) { + var n = y.exec(e.slice(r)); + return n + ? ((t.p = m[n[0].toLowerCase()]), + r + n[0].length) + : -1; + }, + q: P, + Q: V, + s: H, + S: B, + u: A, + U: M, + V: S, + w: k, + W: E, + x: function (t, e, n) { + return Ft(t, r, e, n); + }, + X: function (t, e, r) { + return Ft(t, s, e, r); + }, + y: C, + Y: L, + Z: O, + "%": U, + }; + function zt(t, e) { + return function (r) { + var n, + i, + a, + o = [], + s = -1, + l = 0, + u = t.length; + for ( + r instanceof Date || (r = new Date(+r)); + ++s < u; + + ) + 37 === t.charCodeAt(s) && + (o.push(t.slice(l, s)), + null != (i = g[(n = t.charAt(++s))]) + ? (n = t.charAt(++s)) + : (i = "e" === n ? " " : "0"), + (a = e[n]) && (n = a(r, i)), + o.push(n), + (l = s + 1)); + return o.push(t.slice(l, s)), o.join(""); + }; + } + function Rt(t, e) { + return function (r) { + var s, + l, + h = f(1900, void 0, 1); + if (Ft(h, t, (r += ""), 0) != r.length) return null; + if ("Q" in h) return new Date(h.Q); + if ("s" in h) + return new Date(1e3 * h.s + ("L" in h ? h.L : 0)); + if ( + (e && !("Z" in h) && (h.Z = 0), + "p" in h && (h.H = (h.H % 12) + 12 * h.p), + void 0 === h.m && (h.m = "q" in h ? h.q : 0), + "V" in h) + ) { + if (h.V < 1 || h.V > 53) return null; + "w" in h || (h.w = 1), + "Z" in h + ? ((l = (s = c(f(h.y, 0, 1))).getUTCDay()), + (s = + l > 4 || 0 === l + ? n.l6.ceil(s) + : (0, n.l6)(s)), + (s = i.Z.offset(s, 7 * (h.V - 1))), + (h.y = s.getUTCFullYear()), + (h.m = s.getUTCMonth()), + (h.d = s.getUTCDate() + ((h.w + 6) % 7))) + : ((l = (s = u(f(h.y, 0, 1))).getDay()), + (s = + l > 4 || 0 === l + ? a.wA.ceil(s) + : (0, a.wA)(s)), + (s = o.Z.offset(s, 7 * (h.V - 1))), + (h.y = s.getFullYear()), + (h.m = s.getMonth()), + (h.d = s.getDate() + ((h.w + 6) % 7))); + } else + ("W" in h || "U" in h) && + ("w" in h || + (h.w = "u" in h ? h.u % 7 : "W" in h ? 1 : 0), + (l = + "Z" in h + ? c(f(h.y, 0, 1)).getUTCDay() + : u(f(h.y, 0, 1)).getDay()), + (h.m = 0), + (h.d = + "W" in h + ? ((h.w + 6) % 7) + 7 * h.W - ((l + 5) % 7) + : h.w + 7 * h.U - ((l + 6) % 7))); + return "Z" in h + ? ((h.H += (h.Z / 100) | 0), + (h.M += h.Z % 100), + c(h)) + : u(h); + }; + } + function Ft(t, e, r, n) { + for ( + var i, a, o = 0, s = e.length, l = r.length; + o < s; + + ) { + if (n >= l) return -1; + if (37 === (i = e.charCodeAt(o++))) { + if ( + ((i = e.charAt(o++)), + !(a = Dt[i in g ? e.charAt(o++) : i]) || + (n = a(t, r, n)) < 0) + ) + return -1; + } else if (i != r.charCodeAt(n++)) return -1; + } + return n; + } + return ( + (Pt.x = zt(r, Pt)), + (Pt.X = zt(s, Pt)), + (Pt.c = zt(e, Pt)), + (It.x = zt(r, It)), + (It.X = zt(s, It)), + (It.c = zt(e, It)), + { + format: function (t) { + var e = zt((t += ""), Pt); + return ( + (e.toString = function () { + return t; + }), + e + ); + }, + parse: function (t) { + var e = Rt((t += ""), !1); + return ( + (e.toString = function () { + return t; + }), + e + ); + }, + utcFormat: function (t) { + var e = zt((t += ""), It); + return ( + (e.toString = function () { + return t; + }), + e + ); + }, + utcParse: function (t) { + var e = Rt((t += ""), !0); + return ( + (e.toString = function () { + return t; + }), + e + ); + }, + } + ); + } + var p, + d, + v, + g = { "-": "", _: " ", 0: "0" }, + y = /^\s*\d+/, + m = /^%/, + x = /[\\^$*+?|[\]().{}]/g; + function b(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 _(t) { + return t.replace(x, "\\$&"); + } + function w(t) { + return new RegExp( + "^(?:" + t.map(_).join("|") + ")", + "i", + ); + } + function T(t) { + for (var e = {}, r = -1, n = t.length; ++r < n; ) + e[t[r].toLowerCase()] = r; + return e; + } + function k(t, e, r) { + var n = y.exec(e.slice(r, r + 1)); + return n ? ((t.w = +n[0]), r + n[0].length) : -1; + } + function A(t, e, r) { + var n = y.exec(e.slice(r, r + 1)); + return n ? ((t.u = +n[0]), r + n[0].length) : -1; + } + function M(t, e, r) { + var n = y.exec(e.slice(r, r + 2)); + return n ? ((t.U = +n[0]), r + n[0].length) : -1; + } + function S(t, e, r) { + var n = y.exec(e.slice(r, r + 2)); + return n ? ((t.V = +n[0]), r + n[0].length) : -1; + } + function E(t, e, r) { + var n = y.exec(e.slice(r, r + 2)); + return n ? ((t.W = +n[0]), r + n[0].length) : -1; + } + function L(t, e, r) { + var n = y.exec(e.slice(r, r + 4)); + return n ? ((t.y = +n[0]), r + n[0].length) : -1; + } + function C(t, e, r) { + var n = y.exec(e.slice(r, r + 2)); + return n + ? ((t.y = +n[0] + (+n[0] > 68 ? 1900 : 2e3)), + r + n[0].length) + : -1; + } + function O(t, e, r) { + var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec( + e.slice(r, r + 6), + ); + return n + ? ((t.Z = n[1] ? 0 : -(n[2] + (n[3] || "00"))), + r + n[0].length) + : -1; + } + function P(t, e, r) { + var n = y.exec(e.slice(r, r + 1)); + return n ? ((t.q = 3 * n[0] - 3), r + n[0].length) : -1; + } + function I(t, e, r) { + var n = y.exec(e.slice(r, r + 2)); + return n ? ((t.m = n[0] - 1), r + n[0].length) : -1; + } + function D(t, e, r) { + var n = y.exec(e.slice(r, r + 2)); + return n ? ((t.d = +n[0]), r + n[0].length) : -1; + } + function z(t, e, r) { + var n = y.exec(e.slice(r, r + 3)); + return n + ? ((t.m = 0), (t.d = +n[0]), r + n[0].length) + : -1; + } + function R(t, e, r) { + var n = y.exec(e.slice(r, r + 2)); + return n ? ((t.H = +n[0]), r + n[0].length) : -1; + } + function F(t, e, r) { + var n = y.exec(e.slice(r, r + 2)); + return n ? ((t.M = +n[0]), r + n[0].length) : -1; + } + function B(t, e, r) { + var n = y.exec(e.slice(r, r + 2)); + return n ? ((t.S = +n[0]), r + n[0].length) : -1; + } + function N(t, e, r) { + var n = y.exec(e.slice(r, r + 3)); + return n ? ((t.L = +n[0]), r + n[0].length) : -1; + } + function j(t, e, r) { + var n = y.exec(e.slice(r, r + 6)); + return n + ? ((t.L = Math.floor(n[0] / 1e3)), r + n[0].length) + : -1; + } + function U(t, e, r) { + var n = m.exec(e.slice(r, r + 1)); + return n ? r + n[0].length : -1; + } + function V(t, e, r) { + var n = y.exec(e.slice(r)); + return n ? ((t.Q = +n[0]), r + n[0].length) : -1; + } + function H(t, e, r) { + var n = y.exec(e.slice(r)); + return n ? ((t.s = +n[0]), r + n[0].length) : -1; + } + function q(t, e) { + return b(t.getDate(), e, 2); + } + function G(t, e) { + return b(t.getHours(), e, 2); + } + function Z(t, e) { + return b(t.getHours() % 12 || 12, e, 2); + } + function W(t, e) { + return b(1 + o.Z.count((0, s.Z)(t), t), e, 3); + } + function Y(t, e) { + return b(t.getMilliseconds(), e, 3); + } + function X(t, e) { + return Y(t, e) + "000"; + } + function J(t, e) { + return b(t.getMonth() + 1, e, 2); + } + function K(t, e) { + return b(t.getMinutes(), e, 2); + } + function $(t, e) { + return b(t.getSeconds(), e, 2); + } + function Q(t) { + var e = t.getDay(); + return 0 === e ? 7 : e; + } + function tt(t, e) { + return b(a.OM.count((0, s.Z)(t) - 1, t), e, 2); + } + function et(t, e) { + var r = t.getDay(); + return ( + (t = r >= 4 || 0 === r ? (0, a.bL)(t) : a.bL.ceil(t)), + b( + a.bL.count((0, s.Z)(t), t) + + (4 === (0, s.Z)(t).getDay()), + e, + 2, + ) + ); + } + function rt(t) { + return t.getDay(); + } + function nt(t, e) { + return b(a.wA.count((0, s.Z)(t) - 1, t), e, 2); + } + function it(t, e) { + return b(t.getFullYear() % 100, e, 2); + } + function at(t, e) { + return b(t.getFullYear() % 1e4, e, 4); + } + function ot(t) { + var e = t.getTimezoneOffset(); + return ( + (e > 0 ? "-" : ((e *= -1), "+")) + + b((e / 60) | 0, "0", 2) + + b(e % 60, "0", 2) + ); + } + function st(t, e) { + return b(t.getUTCDate(), e, 2); + } + function lt(t, e) { + return b(t.getUTCHours(), e, 2); + } + function ut(t, e) { + return b(t.getUTCHours() % 12 || 12, e, 2); + } + function ct(t, e) { + return b(1 + i.Z.count((0, l.Z)(t), t), e, 3); + } + function ft(t, e) { + return b(t.getUTCMilliseconds(), e, 3); + } + function ht(t, e) { + return ft(t, e) + "000"; + } + function pt(t, e) { + return b(t.getUTCMonth() + 1, e, 2); + } + function dt(t, e) { + return b(t.getUTCMinutes(), e, 2); + } + function vt(t, e) { + return b(t.getUTCSeconds(), e, 2); + } + function gt(t) { + var e = t.getUTCDay(); + return 0 === e ? 7 : e; + } + function yt(t, e) { + return b(n.Ox.count((0, l.Z)(t) - 1, t), e, 2); + } + function mt(t, e) { + var r = t.getUTCDay(); + return ( + (t = r >= 4 || 0 === r ? (0, n.hB)(t) : n.hB.ceil(t)), + b( + n.hB.count((0, l.Z)(t), t) + + (4 === (0, l.Z)(t).getUTCDay()), + e, + 2, + ) + ); + } + function xt(t) { + return t.getUTCDay(); + } + function bt(t, e) { + return b(n.l6.count((0, l.Z)(t) - 1, t), e, 2); + } + function _t(t, e) { + return b(t.getUTCFullYear() % 100, e, 2); + } + function wt(t, e) { + return b(t.getUTCFullYear() % 1e4, e, 4); + } + function Tt() { + return "+0000"; + } + function kt() { + return "%"; + } + function At(t) { + return +t; + } + function Mt(t) { + return Math.floor(+t / 1e3); + } + (p = h({ + dateTime: "%x, %X", + date: "%-m/%-d/%Y", + time: "%-I:%M:%S %p", + 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", + ], + })), + (d = p.format), + p.parse, + (v = p.utcFormat), + p.utcParse; + }, + 82301: function (t, e, r) { + "use strict"; + r.d(e, { + a: function () { + return o; + }, + }); + var n = r(30052), + i = r(54263), + a = (0, n.Z)( + function (t) { + t.setHours(0, 0, 0, 0); + }, + function (t, e) { + t.setDate(t.getDate() + e); + }, + function (t, e) { + return ( + (e - + t - + (e.getTimezoneOffset() - + t.getTimezoneOffset()) * + i.yB) / + i.UD + ); + }, + function (t) { + return t.getDate() - 1; + }, + ); + e.Z = a; + var o = a.range; + }, + 54263: function (t, e, r) { + "use strict"; + r.d(e, { + UD: function () { + return o; + }, + Y2: function () { + return a; + }, + Ym: function () { + return n; + }, + iM: function () { + return s; + }, + yB: function () { + return i; + }, + }); + var n = 1e3, + i = 6e4, + a = 36e5, + o = 864e5, + s = 6048e5; + }, + 81041: function (t, e, r) { + "use strict"; + r.r(e), + r.d(e, { + timeDay: function () { + return y.Z; + }, + timeDays: function () { + return y.a; + }, + timeFriday: function () { + return m.mC; + }, + timeFridays: function () { + return m.b$; + }, + timeHour: function () { + return v; + }, + timeHours: function () { + return g; + }, + timeInterval: function () { + return n.Z; + }, + timeMillisecond: function () { + return a; + }, + timeMilliseconds: function () { + return o; + }, + timeMinute: function () { + return h; + }, + timeMinutes: function () { + return p; + }, + timeMonday: function () { + return m.wA; + }, + timeMondays: function () { + return m.bJ; + }, + timeMonth: function () { + return b; + }, + timeMonths: function () { + return _; + }, + timeSaturday: function () { + return m.EY; + }, + timeSaturdays: function () { + return m.Ff; + }, + timeSecond: function () { + return u; + }, + timeSeconds: function () { + return c; + }, + timeSunday: function () { + return m.OM; + }, + timeSundays: function () { + return m.vm; + }, + timeThursday: function () { + return m.bL; + }, + timeThursdays: function () { + return m.$t; + }, + timeTuesday: function () { + return m.sy; + }, + timeTuesdays: function () { + return m.aU; + }, + timeWednesday: function () { + return m.zg; + }, + timeWednesdays: function () { + return m.Ld; + }, + timeWeek: function () { + return m.OM; + }, + timeWeeks: function () { + return m.vm; + }, + timeYear: function () { + return w.Z; + }, + timeYears: function () { + return w.g; + }, + utcDay: function () { + return L.Z; + }, + utcDays: function () { + return L.y; + }, + utcFriday: function () { + return C.QQ; + }, + utcFridays: function () { + return C.fz; + }, + utcHour: function () { + return S; + }, + utcHours: function () { + return E; + }, + utcMillisecond: function () { + return a; + }, + utcMilliseconds: function () { + return o; + }, + utcMinute: function () { + return k; + }, + utcMinutes: function () { + return A; + }, + utcMonday: function () { + return C.l6; + }, + utcMondays: function () { + return C.$3; + }, + utcMonth: function () { + return P; + }, + utcMonths: function () { + return I; + }, + utcSaturday: function () { + return C.g4; + }, + utcSaturdays: function () { + return C.Q_; + }, + utcSecond: function () { + return u; + }, + utcSeconds: function () { + return c; + }, + utcSunday: function () { + return C.Ox; + }, + utcSundays: function () { + return C.SU; + }, + utcThursday: function () { + return C.hB; + }, + utcThursdays: function () { + return C.xj; + }, + utcTuesday: function () { + return C.J1; + }, + utcTuesdays: function () { + return C.DK; + }, + utcWednesday: function () { + return C.b3; + }, + utcWednesdays: function () { + return C.uy; + }, + utcWeek: function () { + return C.Ox; + }, + utcWeeks: function () { + return C.SU; + }, + utcYear: function () { + return D.Z; + }, + utcYears: function () { + return D.D; + }, + }); + var n = r(30052), + i = (0, n.Z)( + function () {}, + function (t, e) { + t.setTime(+t + e); + }, + function (t, e) { + return e - t; + }, + ); + i.every = function (t) { + return ( + (t = Math.floor(t)), + isFinite(t) && t > 0 + ? t > 1 + ? (0, n.Z)( + function (e) { + e.setTime(Math.floor(e / t) * t); + }, + function (e, r) { + e.setTime(+e + r * t); + }, + function (e, r) { + return (r - e) / t; + }, + ) + : i + : null + ); + }; + var a = i, + o = i.range, + s = r(54263), + l = (0, n.Z)( + function (t) { + t.setTime(t - t.getMilliseconds()); + }, + function (t, e) { + t.setTime(+t + e * s.Ym); + }, + function (t, e) { + return (e - t) / s.Ym; + }, + function (t) { + return t.getUTCSeconds(); + }, + ), + u = l, + c = l.range, + f = (0, n.Z)( + function (t) { + t.setTime( + t - t.getMilliseconds() - t.getSeconds() * s.Ym, + ); + }, + function (t, e) { + t.setTime(+t + e * s.yB); + }, + function (t, e) { + return (e - t) / s.yB; + }, + function (t) { + return t.getMinutes(); + }, + ), + h = f, + p = f.range, + d = (0, n.Z)( + function (t) { + t.setTime( + t - + t.getMilliseconds() - + t.getSeconds() * s.Ym - + t.getMinutes() * s.yB, + ); + }, + function (t, e) { + t.setTime(+t + e * s.Y2); + }, + function (t, e) { + return (e - t) / s.Y2; + }, + function (t) { + return t.getHours(); + }, + ), + v = d, + g = d.range, + y = r(82301), + m = r(59879), + x = (0, n.Z)( + function (t) { + t.setDate(1), t.setHours(0, 0, 0, 0); + }, + function (t, e) { + t.setMonth(t.getMonth() + e); + }, + function (t, e) { + return ( + e.getMonth() - + t.getMonth() + + 12 * (e.getFullYear() - t.getFullYear()) + ); + }, + function (t) { + return t.getMonth(); + }, + ), + b = x, + _ = x.range, + w = r(34823), + T = (0, n.Z)( + function (t) { + t.setUTCSeconds(0, 0); + }, + function (t, e) { + t.setTime(+t + e * s.yB); + }, + function (t, e) { + return (e - t) / s.yB; + }, + function (t) { + return t.getUTCMinutes(); + }, + ), + k = T, + A = T.range, + M = (0, n.Z)( + function (t) { + t.setUTCMinutes(0, 0, 0); + }, + function (t, e) { + t.setTime(+t + e * s.Y2); + }, + function (t, e) { + return (e - t) / s.Y2; + }, + function (t) { + return t.getUTCHours(); + }, + ), + S = M, + E = M.range, + L = r(48480), + C = r(58176), + O = (0, n.Z)( + function (t) { + t.setUTCDate(1), t.setUTCHours(0, 0, 0, 0); + }, + function (t, e) { + t.setUTCMonth(t.getUTCMonth() + e); + }, + function (t, e) { + return ( + e.getUTCMonth() - + t.getUTCMonth() + + 12 * (e.getUTCFullYear() - t.getUTCFullYear()) + ); + }, + function (t) { + return t.getUTCMonth(); + }, + ), + P = O, + I = O.range, + D = r(79791); + }, + 30052: function (t, e, r) { + "use strict"; + r.d(e, { + Z: function () { + return a; + }, + }); + var n = new Date(), + i = new Date(); + function a(t, e, r, o) { + function s(e) { + return ( + t( + (e = + 0 === arguments.length + ? new Date() + : new Date(+e)), + ), + e + ); + } + return ( + (s.floor = function (e) { + return t((e = new Date(+e))), e; + }), + (s.ceil = function (r) { + return t((r = new Date(r - 1))), e(r, 1), t(r), r; + }), + (s.round = function (t) { + var e = s(t), + r = s.ceil(t); + return t - e < r - t ? e : r; + }), + (s.offset = function (t, r) { + return ( + e( + (t = new Date(+t)), + null == r ? 1 : Math.floor(r), + ), + t + ); + }), + (s.range = function (r, n, i) { + var a, + o = []; + if ( + ((r = s.ceil(r)), + (i = null == i ? 1 : Math.floor(i)), + !(r < n && i > 0)) + ) + return o; + do { + o.push((a = new Date(+r))), e(r, i), t(r); + } while (a < r && r < n); + return o; + }), + (s.filter = function (r) { + return a( + function (e) { + if (e >= e) + for (; t(e), !r(e); ) e.setTime(e - 1); + }, + function (t, n) { + if (t >= t) + if (n < 0) + for (; ++n <= 0; ) + for (; e(t, -1), !r(t); ); + else + for (; --n >= 0; ) for (; e(t, 1), !r(t); ); + }, + ); + }), + r && + ((s.count = function (e, a) { + return ( + n.setTime(+e), + i.setTime(+a), + t(n), + t(i), + Math.floor(r(n, i)) + ); + }), + (s.every = function (t) { + return ( + (t = Math.floor(t)), + isFinite(t) && t > 0 + ? t > 1 + ? s.filter( + o + ? function (e) { + return o(e) % t == 0; + } + : function (e) { + return s.count(0, e) % t == 0; + }, + ) + : s + : null + ); + })), + s + ); + } + }, + 48480: function (t, e, r) { + "use strict"; + r.d(e, { + y: function () { + return o; + }, + }); + var n = r(30052), + i = r(54263), + a = (0, n.Z)( + function (t) { + t.setUTCHours(0, 0, 0, 0); + }, + function (t, e) { + t.setUTCDate(t.getUTCDate() + e); + }, + function (t, e) { + return (e - t) / i.UD; + }, + function (t) { + return t.getUTCDate() - 1; + }, + ); + e.Z = a; + var o = a.range; + }, + 58176: function (t, e, r) { + "use strict"; + r.d(e, { + $3: function () { + return d; + }, + DK: function () { + return v; + }, + J1: function () { + return l; + }, + Ox: function () { + return o; + }, + QQ: function () { + return f; + }, + Q_: function () { + return x; + }, + SU: function () { + return p; + }, + b3: function () { + return u; + }, + fz: function () { + return m; + }, + g4: function () { + return h; + }, + hB: function () { + return c; + }, + l6: function () { + return s; + }, + uy: function () { + return g; + }, + xj: function () { + return y; + }, + }); + var n = r(30052), + i = r(54263); + function a(t) { + return (0, n.Z)( + function (e) { + e.setUTCDate( + e.getUTCDate() - ((e.getUTCDay() + 7 - t) % 7), + ), + e.setUTCHours(0, 0, 0, 0); + }, + function (t, e) { + t.setUTCDate(t.getUTCDate() + 7 * e); + }, + function (t, e) { + return (e - t) / i.iM; + }, + ); + } + var o = a(0), + s = a(1), + l = a(2), + u = a(3), + c = a(4), + f = a(5), + h = a(6), + p = o.range, + d = s.range, + v = l.range, + g = u.range, + y = c.range, + m = f.range, + x = h.range; + }, + 79791: function (t, e, r) { + "use strict"; + r.d(e, { + D: function () { + return a; + }, + }); + var n = r(30052), + i = (0, n.Z)( + function (t) { + t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0); + }, + function (t, e) { + t.setUTCFullYear(t.getUTCFullYear() + e); + }, + function (t, e) { + return e.getUTCFullYear() - t.getUTCFullYear(); + }, + function (t) { + return t.getUTCFullYear(); + }, + ); + (i.every = function (t) { + return isFinite((t = Math.floor(t))) && t > 0 + ? (0, n.Z)( + function (e) { + e.setUTCFullYear( + Math.floor(e.getUTCFullYear() / t) * t, + ), + e.setUTCMonth(0, 1), + e.setUTCHours(0, 0, 0, 0); + }, + function (e, r) { + e.setUTCFullYear(e.getUTCFullYear() + r * t); + }, + ) + : null; + }), + (e.Z = i); + var a = i.range; + }, + 59879: function (t, e, r) { + "use strict"; + r.d(e, { + $t: function () { + return y; + }, + EY: function () { + return h; + }, + Ff: function () { + return x; + }, + Ld: function () { + return g; + }, + OM: function () { + return o; + }, + aU: function () { + return v; + }, + b$: function () { + return m; + }, + bJ: function () { + return d; + }, + bL: function () { + return c; + }, + mC: function () { + return f; + }, + sy: function () { + return l; + }, + vm: function () { + return p; + }, + wA: function () { + return s; + }, + zg: function () { + return u; + }, + }); + var n = r(30052), + i = r(54263); + function a(t) { + return (0, n.Z)( + function (e) { + e.setDate(e.getDate() - ((e.getDay() + 7 - t) % 7)), + e.setHours(0, 0, 0, 0); + }, + function (t, e) { + t.setDate(t.getDate() + 7 * e); + }, + function (t, e) { + return ( + (e - + t - + (e.getTimezoneOffset() - + t.getTimezoneOffset()) * + i.yB) / + i.iM + ); + }, + ); + } + var o = a(0), + s = a(1), + l = a(2), + u = a(3), + c = a(4), + f = a(5), + h = a(6), + p = o.range, + d = s.range, + v = l.range, + g = u.range, + y = c.range, + m = f.range, + x = h.range; + }, + 34823: function (t, e, r) { + "use strict"; + r.d(e, { + g: function () { + return a; + }, + }); + var n = r(30052), + i = (0, n.Z)( + function (t) { + t.setMonth(0, 1), t.setHours(0, 0, 0, 0); + }, + function (t, e) { + t.setFullYear(t.getFullYear() + e); + }, + function (t, e) { + return e.getFullYear() - t.getFullYear(); + }, + function (t) { + return t.getFullYear(); + }, + ); + (i.every = function (t) { + return isFinite((t = Math.floor(t))) && t > 0 + ? (0, n.Z)( + function (e) { + e.setFullYear( + Math.floor(e.getFullYear() / t) * t, + ), + e.setMonth(0, 1), + e.setHours(0, 0, 0, 0); + }, + function (e, r) { + e.setFullYear(e.getFullYear() + r * t); + }, + ) + : null; + }), + (e.Z = i); + var a = i.range; + }, + 17045: function (t, e, r) { + "use strict"; + var n = r(8709), + i = + "function" == typeof Symbol && + "symbol" == typeof Symbol("foo"), + a = Object.prototype.toString, + o = Array.prototype.concat, + s = Object.defineProperty, + l = r(55622)(), + u = s && l, + c = function (t, e, r, n) { + if (e in t) + if (!0 === n) { + if (t[e] === r) return; + } else if ( + "function" != typeof (i = n) || + "[object Function]" !== a.call(i) || + !n() + ) + return; + var i; + u + ? s(t, e, { + configurable: !0, + enumerable: !1, + value: r, + writable: !0, + }) + : (t[e] = r); + }, + f = function (t, e) { + var r = arguments.length > 2 ? arguments[2] : {}, + a = n(e); + i && (a = o.call(a, Object.getOwnPropertySymbols(e))); + for (var s = 0; s < a.length; s += 1) + c(t, a[s], e[a[s]], r[a[s]]); + }; + (f.supportsDescriptors = !!u), (t.exports = f); + }, + 46775: function (t) { + t.exports = function () { + for (var t = 0; t < arguments.length; t++) + if (void 0 !== arguments[t]) return arguments[t]; + }; + }, + 53545: function (t) { + "use strict"; + t.exports = n; + var e = (n.canvas = + document.createElement("canvas")).getContext("2d"), + r = i([32, 126]); + function n(t, n) { + Array.isArray(t) && (t = t.join(", ")); + var a, + o = {}, + s = 16, + l = 0.05; + n && + (2 === n.length && "number" == typeof n[0] + ? (a = i(n)) + : Array.isArray(n) + ? (a = n) + : (n.o ? (a = i(n.o)) : n.pairs && (a = n.pairs), + n.fontSize && (s = n.fontSize), + null != n.threshold && (l = n.threshold))), + a || (a = r), + (e.font = s + "px " + t); + for (var u = 0; u < a.length; u++) { + var c = a[u], + f = + e.measureText(c[0]).width + + e.measureText(c[1]).width, + h = e.measureText(c).width; + if (Math.abs(f - h) > s * l) { + var p = (h - f) / s; + o[c] = 1e3 * p; + } + } + return o; + } + function i(t) { + for (var e = [], r = t[0]; r <= t[1]; r++) + for ( + var n = String.fromCharCode(r), i = t[0]; + i < t[1]; + i++ + ) { + var a = n + String.fromCharCode(i); + e.push(a); + } + return e; + } + (n.createPairs = i), (n.ascii = r); + }, + 31457: function (t, e, r) { + var n = r(65185), + i = r(18625), + a = { M: "moveTo", C: "bezierCurveTo" }; + t.exports = function (t, e) { + t.beginPath(), + i(n(e)).forEach(function (e) { + var r = e[0], + n = e.slice(1); + t[a[r]].apply(t, n); + }), + t.closePath(); + }; + }, + 90660: function (t) { + t.exports = 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; + } + }; + }, + 12129: function (t) { + "use strict"; + function e(t, r, n) { + var i = 0 | t[n]; + if (i <= 0) return []; + var a, + o = new Array(i); + if (n === t.length - 1) + for (a = 0; a < i; ++a) o[a] = r; + else for (a = 0; a < i; ++a) o[a] = e(t, r, n + 1); + return o; + } + t.exports = function (t, r) { + switch ((void 0 === r && (r = 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, r); + break; + case "object": + if ("number" == typeof t.length) return e(t, r, 0); + } + return []; + }; + }, + 11474: function (t) { + "use strict"; + function e(t, e, a) { + a = a || 2; + var o, + s, + l, + f, + h, + d, + v, + g = e && e.length, + y = g ? e[0] * a : t.length, + m = r(t, 0, y, a, !0), + x = []; + if (!m || m.next === m.prev) return x; + if ( + (g && + (m = (function (t, e, i, a) { + var o, + s, + l, + f = []; + for (o = 0, s = e.length; o < s; o++) + (l = r( + t, + e[o] * a, + o < s - 1 ? e[o + 1] * a : t.length, + a, + !1, + )) === l.next && (l.steiner = !0), + f.push(p(l)); + for (f.sort(u), o = 0; o < f.length; o++) + c(f[o], i), (i = n(i, i.next)); + return i; + })(t, e, m, a)), + t.length > 80 * a) + ) { + (o = l = t[0]), (s = f = t[1]); + for (var b = a; b < y; b += a) + (h = t[b]) < o && (o = h), + (d = t[b + 1]) < s && (s = d), + h > l && (l = h), + d > f && (f = d); + v = 0 !== (v = Math.max(l - o, f - s)) ? 1 / v : 0; + } + return i(m, x, a, o, s, v), x; + } + function r(t, e, r, n, i) { + var a, o; + if (i === M(t, e, r, n) > 0) + for (a = e; a < r; a += n) + o = T(a, t[a], t[a + 1], o); + else + for (a = r - n; a >= e; a -= n) + o = T(a, t[a], t[a + 1], o); + return o && y(o, o.next) && (k(o), (o = o.next)), o; + } + function n(t, e) { + if (!t) return t; + e || (e = t); + var r, + n = t; + do { + if ( + ((r = !1), + n.steiner || + (!y(n, n.next) && 0 !== g(n.prev, n, n.next))) + ) + n = n.next; + else { + if ((k(n), (n = e = n.prev) === n.next)) break; + r = !0; + } + } while (r || n !== e); + return e; + } + function i(t, e, r, u, c, f, p) { + if (t) { + !p && + f && + (function (t, e, r, n) { + var i = t; + do { + null === i.z && (i.z = h(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, u, c, f); + for (var d, v, g = t; t.prev !== t.next; ) + if ( + ((d = t.prev), + (v = t.next), + f ? o(t, u, c, f) : a(t)) + ) + e.push(d.i / r), + e.push(t.i / r), + e.push(v.i / r), + k(t), + (t = v.next), + (g = v.next); + else if ((t = v) === g) { + p + ? 1 === p + ? i((t = s(n(t), e, r)), e, r, u, c, f, 2) + : 2 === p && l(t, e, r, u, c, f) + : i(n(t), e, r, u, c, f, 1); + break; + } + } + } + function a(t) { + var e = t.prev, + r = t, + n = t.next; + if (g(e, r, n) >= 0) return !1; + for (var i = t.next.next; i !== t.prev; ) { + if ( + d(e.x, e.y, r.x, r.y, n.x, n.y, i.x, i.y) && + g(i.prev, i, i.next) >= 0 + ) + return !1; + i = i.next; + } + return !0; + } + function o(t, e, r, n) { + var i = t.prev, + a = t, + o = t.next; + if (g(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, + f = h(s, l, e, r, n), + p = h(u, c, e, r, n), + v = t.prevZ, + y = t.nextZ; + v && v.z >= f && y && y.z <= p; + + ) { + if ( + v !== t.prev && + v !== t.next && + d(i.x, i.y, a.x, a.y, o.x, o.y, v.x, v.y) && + g(v.prev, v, v.next) >= 0 + ) + return !1; + if ( + ((v = v.prevZ), + y !== t.prev && + y !== t.next && + d(i.x, i.y, a.x, a.y, o.x, o.y, y.x, y.y) && + g(y.prev, y, y.next) >= 0) + ) + return !1; + y = y.nextZ; + } + for (; v && v.z >= f; ) { + if ( + v !== t.prev && + v !== t.next && + d(i.x, i.y, a.x, a.y, o.x, o.y, v.x, v.y) && + g(v.prev, v, v.next) >= 0 + ) + return !1; + v = v.prevZ; + } + for (; y && y.z <= p; ) { + if ( + y !== t.prev && + y !== t.next && + d(i.x, i.y, a.x, a.y, o.x, o.y, y.x, y.y) && + g(y.prev, y, y.next) >= 0 + ) + return !1; + y = y.nextZ; + } + return !0; + } + function s(t, e, r) { + var i = t; + do { + var a = i.prev, + o = i.next.next; + !y(a, o) && + m(a, i, i.next, o) && + _(a, o) && + _(o, a) && + (e.push(a.i / r), + e.push(i.i / r), + e.push(o.i / r), + k(i), + k(i.next), + (i = t = o)), + (i = i.next); + } while (i !== t); + return n(i); + } + function l(t, e, r, a, o, s) { + var l = t; + do { + for (var u = l.next.next; u !== l.prev; ) { + if (l.i !== u.i && v(l, u)) { + var c = w(l, u); + return ( + (l = n(l, l.next)), + (c = n(c, c.next)), + i(l, e, r, a, o, s), + void i(c, e, r, a, o, s) + ); + } + u = u.next; + } + l = l.next; + } while (l !== t); + } + function u(t, e) { + return t.x - e.x; + } + function c(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; + var l, + u = r, + c = r.x, + h = r.y, + p = 1 / 0; + n = r; + do { + i >= n.x && + n.x >= c && + i !== n.x && + d( + 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)), + _(n, t) && + (l < p || + (l === p && + (n.x > r.x || + (n.x === r.x && f(r, n))))) && + ((r = n), (p = l))), + (n = n.next); + } while (n !== u); + return r; + })(t, e)), + e) + ) { + var r = w(e, t); + n(e, e.next), n(r, r.next); + } + } + function f(t, e) { + return ( + g(t.prev, t, e.prev) < 0 && g(e.next, t, t.next) < 0 + ); + } + function h(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 p(t) { + var e = t, + r = t; + do { + (e.x < r.x || (e.x === r.x && e.y < r.y)) && (r = e), + (e = e.next); + } while (e !== t); + return r; + } + function d(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 && + m(r, r.next, t, e) + ) + return !0; + r = r.next; + } while (r !== t); + return !1; + })(t, e) && + ((_(t, e) && + _(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) && + (g(t.prev, t, e.prev) || g(t, e.prev, e))) || + (y(t, e) && + g(t.prev, t, t.next) > 0 && + g(e.prev, e, e.next) > 0)) + ); + } + function g(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 m(t, e, r, n) { + var i = b(g(t, e, r)), + a = b(g(t, e, n)), + o = b(g(r, n, t)), + s = b(g(r, n, e)); + return ( + (i !== a && o !== s) || + !(0 !== i || !x(t, r, e)) || + !(0 !== a || !x(t, n, e)) || + !(0 !== o || !x(r, t, n)) || + !(0 !== s || !x(r, e, n)) + ); + } + function x(t, e, r) { + return ( + e.x <= Math.max(t.x, r.x) && + e.x >= Math.min(t.x, r.x) && + e.y <= Math.max(t.y, r.y) && + e.y >= Math.min(t.y, r.y) + ); + } + function b(t) { + return t > 0 ? 1 : t < 0 ? -1 : 0; + } + function _(t, e) { + return g(t.prev, t, t.next) < 0 + ? g(t, e, t.next) >= 0 && g(t, t.prev, e) >= 0 + : g(t, e, t.prev) < 0 || g(t, t.next, e) < 0; + } + function w(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 T(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 k(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 M(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; + } + (t.exports = e), + (t.exports.default = e), + (e.deviation = function (t, e, r, n) { + var i = e && e.length, + a = i ? e[0] * r : t.length, + o = Math.abs(M(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(M(t, u, c, r)); + } + var f = 0; + for (s = 0; s < n.length; s += 3) { + var h = n[s] * r, + p = n[s + 1] * r, + d = n[s + 2] * r; + f += Math.abs( + (t[h] - t[d]) * (t[p + 1] - t[h + 1]) - + (t[h] - t[p]) * (t[d + 1] - t[h + 1]), + ); + } + return 0 === o && 0 === f ? 0 : Math.abs((f - o) / o); + }), + (e.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; + }); + }, + 2502: function (t, e, r) { + var n = r(68664); + t.exports = function (t, e) { + var r, + i = [], + a = [], + o = [], + s = {}, + l = []; + function u(t) { + (o[t] = !1), + s.hasOwnProperty(t) && + Object.keys(s[t]).forEach(function (e) { + delete s[t][e], o[e] && u(e); + }); + } + function c(t) { + var e, + n, + i = !1; + for ( + a.push(t), o[t] = !0, e = 0; + e < l[t].length; + e++ + ) + (n = l[t][e]) === r + ? (f(r, a), (i = !0)) + : o[n] || (i = c(n)); + if (i) u(t); + else + for (e = 0; e < l[t].length; e++) { + n = l[t][e]; + var h = s[n]; + h || ((h = {}), (s[n] = h)), (h[n] = !0); + } + return a.pop(), i; + } + function f(t, r) { + var n = [].concat(r).concat(t); + e ? e(c) : i.push(n); + } + function h(e) { + !(function (e) { + for (var r = 0; r < t.length; r++) + r < e && (t[r] = []), + (t[r] = t[r].filter(function (t) { + return t >= e; + })); + })(e); + for ( + var r, + i = n(t).components.filter(function (t) { + return t.length > 1; + }), + a = 1 / 0, + o = 0; + o < i.length; + o++ + ) + for (var s = 0; s < i[o].length; s++) + i[o][s] < a && ((a = i[o][s]), (r = o)); + var l = i[r]; + if (!l) return !1; + var u = t.map(function (t, e) { + return -1 === l.indexOf(e) + ? [] + : t.filter(function (t) { + return -1 !== l.indexOf(t); + }); + }); + return { leastVertex: a, adjList: u }; + } + r = 0; + for (var p = t.length; r < p; ) { + var d = h(r); + if (((r = d.leastVertex), (l = d.adjList))) { + for (var v = 0; v < l.length; v++) + for (var g = 0; g < l[v].length; g++) { + var y = l[v][g]; + (o[+y] = !1), (s[y] = {}); + } + c(r), (r += 1); + } else r = p; + } + return e ? void 0 : i; + }; + }, + 16134: function (t, e, r) { + "use strict"; + var n = r(36672); + t.exports = function () { + return (n(this).length = 0), this; + }; + }, + 4892: function (t, e, r) { + "use strict"; + t.exports = r(64404)() ? Array.from : r(49441); + }, + 64404: function (t) { + "use strict"; + t.exports = function () { + var t, + e, + r = Array.from; + return ( + "function" == typeof r && + ((e = r((t = ["raz", "dwa"]))), + Boolean(e && e !== t && "dwa" === e[1])) + ); + }; + }, + 49441: function (t, e, r) { + "use strict"; + var n = r(8260).iterator, + i = r(73051), + a = r(33717), + o = r(35976), + s = r(78513), + l = r(36672), + u = r(95296), + c = r(87963), + f = Array.isArray, + h = Function.prototype.call, + p = { + configurable: !0, + enumerable: !0, + writable: !0, + value: null, + }, + d = Object.defineProperty; + t.exports = function (t) { + var e, + r, + v, + g, + y, + m, + x, + b, + _, + w, + T = arguments[1], + k = arguments[2]; + if ( + ((t = Object(l(t))), + u(T) && s(T), + this && this !== Array && a(this)) + ) + e = this; + else { + if (!T) { + if (i(t)) + return 1 !== (y = t.length) + ? Array.apply(null, t) + : (((g = new Array(1))[0] = t[0]), g); + if (f(t)) { + for ( + g = new Array((y = t.length)), r = 0; + r < y; + ++r + ) + g[r] = t[r]; + return g; + } + } + g = []; + } + if (!f(t)) + if (void 0 !== (_ = t[n])) { + for ( + x = s(_).call(t), + e && (g = new e()), + b = x.next(), + r = 0; + !b.done; + + ) + (w = T ? h.call(T, k, b.value, r) : b.value), + e ? ((p.value = w), d(g, r, p)) : (g[r] = w), + (b = x.next()), + ++r; + y = r; + } else if (c(t)) { + for ( + y = t.length, e && (g = new e()), r = 0, v = 0; + r < y; + ++r + ) + (w = t[r]), + r + 1 < y && + (m = w.charCodeAt(0)) >= 55296 && + m <= 56319 && + (w += t[++r]), + (w = T ? h.call(T, k, w, v) : w), + e ? ((p.value = w), d(g, v, p)) : (g[v] = w), + ++v; + y = v; + } + if (void 0 === y) + for ( + y = o(t.length), e && (g = new e(y)), r = 0; + r < y; + ++r + ) + (w = T ? h.call(T, k, t[r], r) : t[r]), + e ? ((p.value = w), d(g, r, p)) : (g[r] = w); + return e && ((p.value = null), (g.length = y)), g; + }; + }, + 73051: function (t) { + "use strict"; + var e = Object.prototype.toString, + r = e.call( + (function () { + return arguments; + })(), + ); + t.exports = function (t) { + return e.call(t) === r; + }; + }, + 33717: function (t) { + "use strict"; + var e = Object.prototype.toString, + r = RegExp.prototype.test.bind( + /^[object [A-Za-z0-9]*Function]$/, + ); + t.exports = function (t) { + return "function" == typeof t && r(e.call(t)); + }; + }, + 52345: function (t) { + "use strict"; + t.exports = function () {}; + }, + 9953: function (t, e, r) { + "use strict"; + t.exports = r(90436)() ? Math.sign : r(6069); + }, + 90436: function (t) { + "use strict"; + t.exports = function () { + var t = Math.sign; + return ( + "function" == typeof t && 1 === t(10) && -1 === t(-20) + ); + }; + }, + 6069: function (t) { + "use strict"; + t.exports = function (t) { + return ( + (t = Number(t)), + isNaN(t) || 0 === t ? t : t > 0 ? 1 : -1 + ); + }; + }, + 56247: function (t, e, r) { + "use strict"; + var n = r(9953), + i = Math.abs, + a = Math.floor; + t.exports = function (t) { + return isNaN(t) + ? 0 + : 0 !== (t = Number(t)) && isFinite(t) + ? n(t) * a(i(t)) + : t; + }; + }, + 35976: function (t, e, r) { + "use strict"; + var n = r(56247), + i = Math.max; + t.exports = function (t) { + return i(0, n(t)); + }; + }, + 67260: function (t, e, r) { + "use strict"; + var n = r(78513), + i = r(36672), + a = Function.prototype.bind, + o = Function.prototype.call, + s = Object.keys, + l = Object.prototype.propertyIsEnumerable; + t.exports = function (t, e) { + return function (r, u) { + var c, + f = arguments[2], + h = arguments[3]; + return ( + (r = Object(i(r))), + n(u), + (c = s(r)), + h && + c.sort( + "function" == typeof h ? a.call(h, r) : void 0, + ), + "function" != typeof t && (t = c[t]), + o.call(t, c, function (t, n) { + return l.call(r, t) + ? o.call(u, f, r[t], t, r, n) + : e; + }) + ); + }; + }; + }, + 95879: function (t, e, r) { + "use strict"; + t.exports = r(73583)() ? Object.assign : r(34205); + }, + 73583: function (t) { + "use strict"; + t.exports = function () { + var t, + e = Object.assign; + return ( + "function" == typeof e && + (e( + (t = { foo: "raz" }), + { bar: "dwa" }, + { trzy: "trzy" }, + ), + t.foo + t.bar + t.trzy === "razdwatrzy") + ); + }; + }, + 34205: function (t, e, r) { + "use strict"; + var n = r(68700), + i = r(36672), + a = Math.max; + t.exports = function (t, e) { + var r, + o, + s, + l = a(arguments.length, 2); + for ( + t = Object(i(t)), + s = function (n) { + try { + t[n] = e[n]; + } catch (t) { + r || (r = t); + } + }, + o = 1; + o < l; + ++o + ) + n((e = arguments[o])).forEach(s); + if (void 0 !== r) throw r; + return t; + }; + }, + 19012: function (t, e, r) { + "use strict"; + var n = r(4892), + i = r(95879), + a = r(36672); + t.exports = function (t) { + var e = Object(a(t)), + r = arguments[1], + o = Object(arguments[2]); + if (e !== t && !r) return e; + var s = {}; + return ( + r + ? n(r, function (e) { + (o.ensure || e in t) && (s[e] = t[e]); + }) + : i(s, t), + s + ); + }; + }, + 52818: function (t, e, r) { + "use strict"; + var n, + i, + a, + o, + s = Object.create; + r(33247)() || (n = r(51882)), + (t.exports = n + ? 1 !== n.level + ? s + : ((i = {}), + (a = {}), + (o = { + configurable: !1, + enumerable: !1, + writable: !0, + value: void 0, + }), + Object.getOwnPropertyNames( + Object.prototype, + ).forEach(function (t) { + a[t] = + "__proto__" !== t + ? o + : { + configurable: !0, + enumerable: !1, + writable: !0, + value: void 0, + }; + }), + Object.defineProperties(i, a), + Object.defineProperty(n, "nullPolyfill", { + configurable: !1, + enumerable: !1, + writable: !1, + value: i, + }), + function (t, e) { + return s(null === t ? i : t, e); + }) + : s); + }, + 96437: function (t, e, r) { + "use strict"; + t.exports = r(67260)("forEach"); + }, + 99611: function (t, e, r) { + "use strict"; + var n = r(95296), + i = { function: !0, object: !0 }; + t.exports = function (t) { + return (n(t) && i[typeof t]) || !1; + }; + }, + 95296: function (t, e, r) { + "use strict"; + var n = r(52345)(); + t.exports = function (t) { + return t !== n && null !== t; + }; + }, + 68700: function (t, e, r) { + "use strict"; + t.exports = r(13895)() ? Object.keys : r(25217); + }, + 13895: function (t) { + "use strict"; + t.exports = function () { + try { + return Object.keys("primitive"), !0; + } catch (t) { + return !1; + } + }; + }, + 25217: function (t, e, r) { + "use strict"; + var n = r(95296), + i = Object.keys; + t.exports = function (t) { + return i(n(t) ? Object(t) : t); + }; + }, + 16906: function (t, e, r) { + "use strict"; + var n = r(78513), + i = r(96437), + a = Function.prototype.call; + t.exports = function (t, e) { + var r = {}, + o = arguments[2]; + return ( + n(e), + i(t, function (t, n, i, s) { + r[n] = a.call(e, o, t, n, i, s); + }), + r + ); + }; + }, + 21780: function (t, e, r) { + "use strict"; + var n = r(95296), + i = Array.prototype.forEach, + a = Object.create, + o = function (t, e) { + var r; + for (r in t) e[r] = t[r]; + }; + t.exports = function (t) { + var e = a(null); + return ( + i.call(arguments, function (t) { + n(t) && o(Object(t), e); + }), + e + ); + }; + }, + 1496: function (t, e, r) { + "use strict"; + t.exports = r(33247)() ? Object.setPrototypeOf : r(51882); + }, + 33247: function (t) { + "use strict"; + var e = Object.create, + r = Object.getPrototypeOf, + n = {}; + t.exports = function () { + var t = Object.setPrototypeOf, + i = arguments[0] || e; + return "function" == typeof t && r(t(i(null), n)) === n; + }; + }, + 51882: function (t, e, r) { + "use strict"; + var n, + i, + a, + o, + s = r(99611), + l = r(36672), + u = Object.prototype.isPrototypeOf, + c = Object.defineProperty, + f = { + configurable: !0, + enumerable: !1, + writable: !0, + value: void 0, + }; + (n = function (t, e) { + if ((l(t), null === e || s(e))) return t; + throw new TypeError( + "Prototype must be null or an object", + ); + }), + (t.exports = + ((i = (function () { + var t, + e = Object.create(null), + r = {}, + n = Object.getOwnPropertyDescriptor( + Object.prototype, + "__proto__", + ); + if (n) { + try { + (t = n.set).call(e, r); + } catch (t) {} + if (Object.getPrototypeOf(e) === r) + return { set: t, level: 2 }; + } + return ( + (e.__proto__ = r), + Object.getPrototypeOf(e) === r + ? { level: 2 } + : (((e = {}).__proto__ = r), + Object.getPrototypeOf(e) === r && { + level: 1, + }) + ); + })()), + i + ? (2 === i.level + ? i.set + ? ((o = i.set), + (a = function (t, e) { + return o.call(n(t, e), e), t; + })) + : (a = function (t, e) { + return (n(t, e).__proto__ = e), t; + }) + : (a = function t(e, r) { + var i; + return ( + n(e, r), + (i = u.call(t.nullPolyfill, e)) && + delete t.nullPolyfill.__proto__, + null === r && (r = t.nullPolyfill), + (e.__proto__ = r), + i && c(t.nullPolyfill, "__proto__", f), + e + ); + }), + Object.defineProperty(a, "level", { + configurable: !1, + enumerable: !1, + writable: !1, + value: i.level, + })) + : null)), + r(52818); + }, + 78513: function (t) { + "use strict"; + t.exports = function (t) { + if ("function" != typeof t) + throw new TypeError(t + " is not a function"); + return t; + }; + }, + 98976: function (t, e, r) { + "use strict"; + var n = r(99611); + t.exports = function (t) { + if (!n(t)) throw new TypeError(t + " is not an Object"); + return t; + }; + }, + 36672: function (t, e, r) { + "use strict"; + var n = r(95296); + t.exports = function (t) { + if (!n(t)) + throw new TypeError("Cannot use null or undefined"); + return t; + }; + }, + 66741: function (t, e, r) { + "use strict"; + t.exports = r(17557)() + ? String.prototype.contains + : r(60381); + }, + 17557: function (t) { + "use strict"; + var e = "razdwatrzy"; + t.exports = function () { + return ( + "function" == typeof e.contains && + !0 === e.contains("dwa") && + !1 === e.contains("foo") + ); + }; + }, + 60381: function (t) { + "use strict"; + var e = String.prototype.indexOf; + t.exports = function (t) { + return e.call(this, t, arguments[1]) > -1; + }; + }, + 87963: function (t) { + "use strict"; + var e = Object.prototype.toString, + r = e.call(""); + t.exports = function (t) { + return ( + "string" == typeof t || + (t && + "object" == typeof t && + (t instanceof String || e.call(t) === r)) || + !1 + ); + }; + }, + 43043: function (t) { + "use strict"; + var e = Object.create(null), + r = Math.random; + t.exports = function () { + var t; + do { + t = r().toString(36).slice(2); + } while (e[t]); + return t; + }; + }, + 32411: function (t, e, r) { + "use strict"; + var n, + i = r(1496), + a = r(66741), + o = r(62072), + s = r(8260), + l = r(95426), + u = Object.defineProperty; + (n = t.exports = + function (t, e) { + if (!(this instanceof n)) + throw new TypeError("Constructor requires 'new'"); + l.call(this, t), + (e = e + ? a.call(e, "key+value") + ? "key+value" + : a.call(e, "key") + ? "key" + : "value" + : "value"), + u(this, "__kind__", o("", e)); + }), + i && i(n, l), + delete n.prototype.constructor, + (n.prototype = Object.create(l.prototype, { + _resolve: o(function (t) { + return "value" === this.__kind__ + ? this.__list__[t] + : "key+value" === this.__kind__ + ? [t, this.__list__[t]] + : t; + }), + })), + u(n.prototype, s.toStringTag, o("c", "Array Iterator")); + }, + 27515: function (t, e, r) { + "use strict"; + var n = r(73051), + i = r(78513), + a = r(87963), + o = r(66661), + s = Array.isArray, + l = Function.prototype.call, + u = Array.prototype.some; + t.exports = function (t, e) { + var r, + c, + f, + h, + p, + d, + v, + g, + y = arguments[2]; + if ( + (s(t) || n(t) + ? (r = "array") + : a(t) + ? (r = "string") + : (t = o(t)), + i(e), + (f = function () { + h = !0; + }), + "array" !== r) + ) + if ("string" !== r) + for (c = t.next(); !c.done; ) { + if ((l.call(e, y, c.value, f), h)) return; + c = t.next(); + } + else + for ( + d = t.length, p = 0; + p < d && + ((v = t[p]), + p + 1 < d && + (g = v.charCodeAt(0)) >= 55296 && + g <= 56319 && + (v += t[++p]), + l.call(e, y, v, f), + !h); + ++p + ); + else + u.call(t, function (t) { + return l.call(e, y, t, f), h; + }); + }; + }, + 66661: function (t, e, r) { + "use strict"; + var n = r(73051), + i = r(87963), + a = r(32411), + o = r(259), + s = r(58095), + l = r(8260).iterator; + t.exports = function (t) { + return "function" == typeof s(t)[l] + ? t[l]() + : n(t) + ? new a(t) + : i(t) + ? new o(t) + : new a(t); + }; + }, + 95426: function (t, e, r) { + "use strict"; + var n, + i = r(16134), + a = r(95879), + o = r(78513), + s = r(36672), + l = r(62072), + u = r(55174), + c = r(8260), + f = Object.defineProperty, + h = Object.defineProperties; + (t.exports = n = + function (t, e) { + if (!(this instanceof n)) + throw new TypeError("Constructor requires 'new'"); + h(this, { + __list__: l("w", s(t)), + __context__: l("w", e), + __nextIndex__: l("w", 0), + }), + e && + (o(e.on), + e.on("_add", this._onAdd), + e.on("_delete", this._onDelete), + e.on("_clear", this._onClear)); + }), + delete n.prototype.constructor, + h( + n.prototype, + a( + { + _next: l(function () { + var t; + if (this.__list__) + return this.__redo__ && + void 0 !== (t = this.__redo__.shift()) + ? t + : this.__nextIndex__ < this.__list__.length + ? this.__nextIndex__++ + : void this._unBind(); + }), + next: l(function () { + return this._createResult(this._next()); + }), + _createResult: l(function (t) { + return void 0 === t + ? { done: !0, value: void 0 } + : { done: !1, value: this._resolve(t) }; + }), + _resolve: l(function (t) { + return this.__list__[t]; + }), + _unBind: l(function () { + (this.__list__ = null), + delete this.__redo__, + this.__context__ && + (this.__context__.off("_add", this._onAdd), + this.__context__.off( + "_delete", + this._onDelete, + ), + this.__context__.off( + "_clear", + this._onClear, + ), + (this.__context__ = null)); + }), + toString: l(function () { + return ( + "[object " + + (this[c.toStringTag] || "Object") + + "]" + ); + }), + }, + u({ + _onAdd: l(function (t) { + t >= this.__nextIndex__ || + (++this.__nextIndex__, + this.__redo__ + ? (this.__redo__.forEach(function (e, r) { + e >= t && (this.__redo__[r] = ++e); + }, this), + this.__redo__.push(t)) + : f(this, "__redo__", l("c", [t]))); + }), + _onDelete: l(function (t) { + var e; + t >= this.__nextIndex__ || + (--this.__nextIndex__, + this.__redo__ && + (-1 !== (e = this.__redo__.indexOf(t)) && + this.__redo__.splice(e, 1), + this.__redo__.forEach(function (e, r) { + e > t && (this.__redo__[r] = --e); + }, this))); + }), + _onClear: l(function () { + this.__redo__ && i.call(this.__redo__), + (this.__nextIndex__ = 0); + }), + }), + ), + ), + f( + n.prototype, + c.iterator, + l(function () { + return this; + }), + ); + }, + 35940: function (t, e, r) { + "use strict"; + var n = r(73051), + i = r(95296), + a = r(87963), + o = r(8260).iterator, + s = Array.isArray; + t.exports = function (t) { + return !( + !i(t) || + (!s(t) && !a(t) && !n(t) && "function" != typeof t[o]) + ); + }; + }, + 259: function (t, e, r) { + "use strict"; + var n, + i = r(1496), + a = r(62072), + o = r(8260), + s = r(95426), + l = Object.defineProperty; + (n = t.exports = + function (t) { + if (!(this instanceof n)) + throw new TypeError("Constructor requires 'new'"); + (t = String(t)), + s.call(this, t), + l(this, "__length__", a("", t.length)); + }), + i && i(n, s), + delete n.prototype.constructor, + (n.prototype = Object.create(s.prototype, { + _next: a(function () { + if (this.__list__) + return this.__nextIndex__ < this.__length__ + ? this.__nextIndex__++ + : void this._unBind(); + }), + _resolve: a(function (t) { + var e, + r = this.__list__[t]; + return this.__nextIndex__ === this.__length__ + ? r + : (e = r.charCodeAt(0)) >= 55296 && e <= 56319 + ? r + this.__list__[this.__nextIndex__++] + : r; + }), + })), + l( + n.prototype, + o.toStringTag, + a("c", "String Iterator"), + ); + }, + 58095: function (t, e, r) { + "use strict"; + var n = r(35940); + t.exports = function (t) { + if (!n(t)) throw new TypeError(t + " is not iterable"); + return t; + }; + }, + 73523: function (t) { + "use strict"; + function e(t, e) { + if (null == t) + throw new TypeError( + "Cannot convert first argument to object", + ); + for ( + var r = Object(t), n = 1; + n < arguments.length; + n++ + ) { + var i = arguments[n]; + if (null != i) + for ( + var a = Object.keys(Object(i)), + o = 0, + s = a.length; + o < s; + o++ + ) { + var l = a[o], + u = Object.getOwnPropertyDescriptor(i, l); + void 0 !== u && u.enumerable && (r[l] = i[l]); + } + } + return r; + } + t.exports = { + assign: e, + polyfill: function () { + Object.assign || + Object.defineProperty(Object, "assign", { + enumerable: !1, + configurable: !0, + writable: !0, + value: e, + }); + }, + }; + }, + 8260: function (t, e, r) { + "use strict"; + t.exports = r(69711)() ? r(94908).Symbol : r(18415); + }, + 69711: function (t, e, r) { + "use strict"; + var n = r(94908), + i = { object: !0, symbol: !0 }; + t.exports = function () { + var t, + e = n.Symbol; + if ("function" != typeof e) return !1; + t = e("test symbol"); + try { + String(t); + } catch (t) { + return !1; + } + return ( + !!i[typeof e.iterator] && + !!i[typeof e.toPrimitive] && + !!i[typeof e.toStringTag] + ); + }; + }, + 82276: function (t) { + "use strict"; + t.exports = function (t) { + return ( + !!t && + ("symbol" == typeof t || + (!!t.constructor && + "Symbol" === t.constructor.name && + "Symbol" === t[t.constructor.toStringTag])) + ); + }; + }, + 29366: function (t, e, r) { + "use strict"; + var n = r(62072), + i = Object.create, + a = Object.defineProperty, + o = Object.prototype, + s = i(null); + t.exports = function (t) { + for (var e, r, i = 0; s[t + (i || "")]; ) ++i; + return ( + (s[(t += i || "")] = !0), + a( + o, + (e = "@@" + t), + n.gs(null, function (t) { + r || ((r = !0), a(this, e, n(t)), (r = !1)); + }), + ), + e + ); + }; + }, + 92842: function (t, e, r) { + "use strict"; + var n = r(62072), + i = r(94908).Symbol; + t.exports = function (t) { + return Object.defineProperties(t, { + hasInstance: n( + "", + (i && i.hasInstance) || t("hasInstance"), + ), + isConcatSpreadable: n( + "", + (i && i.isConcatSpreadable) || + t("isConcatSpreadable"), + ), + iterator: n("", (i && i.iterator) || t("iterator")), + match: n("", (i && i.match) || t("match")), + replace: n("", (i && i.replace) || t("replace")), + search: n("", (i && i.search) || t("search")), + species: n("", (i && i.species) || t("species")), + split: n("", (i && i.split) || t("split")), + toPrimitive: n( + "", + (i && i.toPrimitive) || t("toPrimitive"), + ), + toStringTag: n( + "", + (i && i.toStringTag) || t("toStringTag"), + ), + unscopables: n( + "", + (i && i.unscopables) || t("unscopables"), + ), + }); + }; + }, + 13304: function (t, e, r) { + "use strict"; + var n = r(62072), + i = r(53308), + a = Object.create(null); + t.exports = function (t) { + return Object.defineProperties(t, { + for: n(function (e) { + return a[e] ? a[e] : (a[e] = t(String(e))); + }), + keyFor: n(function (t) { + var e; + for (e in (i(t), a)) if (a[e] === t) return e; + }), + }); + }; + }, + 18415: function (t, e, r) { + "use strict"; + var n, + i, + a, + o = r(62072), + s = r(53308), + l = r(94908).Symbol, + u = r(29366), + c = r(92842), + f = r(13304), + h = Object.create, + p = Object.defineProperties, + d = Object.defineProperty; + if ("function" == typeof l) + try { + String(l()), (a = !0); + } catch (t) {} + else l = null; + (i = function (t) { + if (this instanceof i) + throw new TypeError("Symbol is not a constructor"); + return n(t); + }), + (t.exports = n = + function t(e) { + var r; + if (this instanceof t) + throw new TypeError( + "Symbol is not a constructor", + ); + return a + ? l(e) + : ((r = h(i.prototype)), + (e = void 0 === e ? "" : String(e)), + p(r, { + __description__: o("", e), + __name__: o("", u(e)), + })); + }), + c(n), + f(n), + p(i.prototype, { + constructor: o(n), + toString: o("", function () { + return this.__name__; + }), + }), + p(n.prototype, { + toString: o(function () { + return "Symbol (" + s(this).__description__ + ")"; + }), + valueOf: o(function () { + return s(this); + }), + }), + d( + n.prototype, + n.toPrimitive, + o("", function () { + var t = s(this); + return "symbol" == typeof t ? t : t.toString(); + }), + ), + d(n.prototype, n.toStringTag, o("c", "Symbol")), + d( + i.prototype, + n.toStringTag, + o("c", n.prototype[n.toStringTag]), + ), + d( + i.prototype, + n.toPrimitive, + o("c", n.prototype[n.toPrimitive]), + ); + }, + 53308: function (t, e, r) { + "use strict"; + var n = r(82276); + t.exports = function (t) { + if (!n(t)) throw new TypeError(t + " is not a symbol"); + return t; + }; + }, + 83522: function (t, e, r) { + "use strict"; + t.exports = r(96402)() ? WeakMap : r(329); + }, + 96402: function (t) { + "use strict"; + t.exports = function () { + var t, e; + if ("function" != typeof WeakMap) return !1; + try { + t = new WeakMap([ + [(e = {}), "one"], + [{}, "two"], + [{}, "three"], + ]); + } catch (t) { + return !1; + } + return ( + "[object WeakMap]" === String(t) && + "function" == typeof t.set && + t.set({}, 1) === t && + "function" == typeof t.delete && + "function" == typeof t.has && + "one" === t.get(e) + ); + }; + }, + 96416: function (t) { + "use strict"; + t.exports = + "function" == typeof WeakMap && + "[object WeakMap]" === + Object.prototype.toString.call(new WeakMap()); + }, + 329: function (t, e, r) { + "use strict"; + var n, + i = r(95296), + a = r(1496), + o = r(98976), + s = r(36672), + l = r(43043), + u = r(62072), + c = r(66661), + f = r(27515), + h = r(8260).toStringTag, + p = r(96416), + d = Array.isArray, + v = Object.defineProperty, + g = Object.prototype.hasOwnProperty, + y = Object.getPrototypeOf; + (t.exports = n = + function () { + var t, + e = arguments[0]; + if (!(this instanceof n)) + throw new TypeError("Constructor requires 'new'"); + return ( + (t = + p && a && WeakMap !== n + ? a(new WeakMap(), y(this)) + : this), + i(e) && (d(e) || (e = c(e))), + v(t, "__weakMapData__", u("c", "$weakMap$" + l())), + e + ? (f(e, function (e) { + s(e), t.set(e[0], e[1]); + }), + t) + : t + ); + }), + p && + (a && a(n, WeakMap), + (n.prototype = Object.create(WeakMap.prototype, { + constructor: u(n), + }))), + Object.defineProperties(n.prototype, { + delete: u(function (t) { + return ( + !!g.call(o(t), this.__weakMapData__) && + (delete t[this.__weakMapData__], !0) + ); + }), + get: u(function (t) { + if (g.call(o(t), this.__weakMapData__)) + return t[this.__weakMapData__]; + }), + has: u(function (t) { + return g.call(o(t), this.__weakMapData__); + }), + set: u(function (t, e) { + return ( + v(o(t), this.__weakMapData__, u("c", e)), this + ); + }), + toString: u(function () { + return "[object WeakMap]"; + }), + }), + v(n.prototype, h, u("c", "WeakMap")); + }, + 15398: function (t) { + "use strict"; + var e, + r = "object" == typeof Reflect ? Reflect : null, + n = + r && "function" == typeof r.apply + ? r.apply + : function (t, e, r) { + return Function.prototype.apply.call(t, e, r); + }; + e = + r && "function" == typeof r.ownKeys + ? r.ownKeys + : Object.getOwnPropertySymbols + ? function (t) { + return Object.getOwnPropertyNames(t).concat( + Object.getOwnPropertySymbols(t), + ); + } + : function (t) { + return Object.getOwnPropertyNames(t); + }; + var i = + Number.isNaN || + function (t) { + return t != t; + }; + function a() { + a.init.call(this); + } + (t.exports = a), + (t.exports.once = function (t, e) { + return new Promise(function (r, n) { + function i(r) { + t.removeListener(e, a), n(r); + } + function a() { + "function" == typeof t.removeListener && + t.removeListener("error", i), + r([].slice.call(arguments)); + } + v(t, e, a, { once: !0 }), + "error" !== e && + (function (t, e, r) { + "function" == typeof t.on && + v(t, "error", e, { once: !0 }); + })(t, i); + }); + }), + (a.EventEmitter = a), + (a.prototype._events = void 0), + (a.prototype._eventsCount = 0), + (a.prototype._maxListeners = void 0); + var o = 10; + function s(t) { + if ("function" != typeof t) + throw new TypeError( + 'The "listener" argument must be of type Function. Received type ' + + typeof t, + ); + } + function l(t) { + return void 0 === t._maxListeners + ? a.defaultMaxListeners + : t._maxListeners; + } + function u(t, e, r, n) { + var i, a, o, u; + if ( + (s(r), + void 0 === (a = t._events) + ? ((a = t._events = Object.create(null)), + (t._eventsCount = 0)) + : (void 0 !== a.newListener && + (t.emit( + "newListener", + e, + r.listener ? r.listener : r, + ), + (a = t._events)), + (o = a[e])), + void 0 === o) + ) + (o = a[e] = r), ++t._eventsCount; + else if ( + ("function" == typeof o + ? (o = a[e] = n ? [r, o] : [o, r]) + : n + ? o.unshift(r) + : o.push(r), + (i = l(t)) > 0 && o.length > i && !o.warned) + ) { + o.warned = !0; + var c = new Error( + "Possible EventEmitter memory leak detected. " + + o.length + + " " + + String(e) + + " listeners added. Use emitter.setMaxListeners() to increase limit", + ); + (c.name = "MaxListenersExceededWarning"), + (c.emitter = t), + (c.type = e), + (c.count = o.length), + (u = c), + console && console.warn && console.warn(u); + } + return t; + } + function c() { + if (!this.fired) + return ( + this.target.removeListener(this.type, this.wrapFn), + (this.fired = !0), + 0 === arguments.length + ? this.listener.call(this.target) + : this.listener.apply(this.target, arguments) + ); + } + function f(t, e, r) { + var n = { + fired: !1, + wrapFn: void 0, + target: t, + type: e, + listener: r, + }, + i = c.bind(n); + return (i.listener = r), (n.wrapFn = i), i; + } + function h(t, e, r) { + var n = t._events; + if (void 0 === n) return []; + var i = n[e]; + return void 0 === i + ? [] + : "function" == typeof i + ? r + ? [i.listener || i] + : [i] + : r + ? (function (t) { + for ( + var e = new Array(t.length), r = 0; + r < e.length; + ++r + ) + e[r] = t[r].listener || t[r]; + return e; + })(i) + : d(i, i.length); + } + function p(t) { + var e = this._events; + if (void 0 !== e) { + var r = e[t]; + if ("function" == typeof r) return 1; + if (void 0 !== r) return r.length; + } + return 0; + } + function d(t, e) { + for (var r = new Array(e), n = 0; n < e; ++n) + r[n] = t[n]; + return r; + } + function v(t, e, r, n) { + if ("function" == typeof t.on) + n.once ? t.once(e, r) : t.on(e, r); + else { + if ("function" != typeof t.addEventListener) + throw new TypeError( + 'The "emitter" argument must be of type EventEmitter. Received type ' + + typeof t, + ); + t.addEventListener(e, function i(a) { + n.once && t.removeEventListener(e, i), r(a); + }); + } + } + Object.defineProperty(a, "defaultMaxListeners", { + enumerable: !0, + get: function () { + return o; + }, + set: function (t) { + if ("number" != typeof t || t < 0 || i(t)) + throw new RangeError( + 'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + + t + + ".", + ); + o = t; + }, + }), + (a.init = function () { + (void 0 !== this._events && + this._events !== + Object.getPrototypeOf(this)._events) || + ((this._events = Object.create(null)), + (this._eventsCount = 0)), + (this._maxListeners = this._maxListeners || void 0); + }), + (a.prototype.setMaxListeners = function (t) { + if ("number" != typeof t || t < 0 || i(t)) + throw new RangeError( + 'The value of "n" is out of range. It must be a non-negative number. Received ' + + t + + ".", + ); + return (this._maxListeners = t), this; + }), + (a.prototype.getMaxListeners = function () { + return l(this); + }), + (a.prototype.emit = function (t) { + for (var e = [], r = 1; r < arguments.length; r++) + e.push(arguments[r]); + var i = "error" === t, + a = this._events; + if (void 0 !== a) i = i && void 0 === a.error; + else if (!i) return !1; + if (i) { + var o; + if ( + (e.length > 0 && (o = e[0]), o instanceof Error) + ) + throw o; + var s = new Error( + "Unhandled error." + + (o ? " (" + o.message + ")" : ""), + ); + throw ((s.context = o), s); + } + var l = a[t]; + if (void 0 === l) return !1; + if ("function" == typeof l) n(l, this, e); + else { + var u = l.length, + c = d(l, u); + for (r = 0; r < u; ++r) n(c[r], this, e); + } + return !0; + }), + (a.prototype.addListener = function (t, e) { + return u(this, t, e, !1); + }), + (a.prototype.on = a.prototype.addListener), + (a.prototype.prependListener = function (t, e) { + return u(this, t, e, !0); + }), + (a.prototype.once = function (t, e) { + return s(e), this.on(t, f(this, t, e)), this; + }), + (a.prototype.prependOnceListener = function (t, e) { + return ( + s(e), this.prependListener(t, f(this, t, e)), this + ); + }), + (a.prototype.removeListener = function (t, e) { + var r, n, i, a, o; + if ((s(e), void 0 === (n = this._events))) + return this; + if (void 0 === (r = n[t])) return this; + if (r === e || r.listener === e) + 0 == --this._eventsCount + ? (this._events = Object.create(null)) + : (delete n[t], + n.removeListener && + this.emit( + "removeListener", + t, + r.listener || e, + )); + else if ("function" != typeof r) { + for (i = -1, a = r.length - 1; a >= 0; a--) + if (r[a] === e || r[a].listener === e) { + (o = r[a].listener), (i = a); + break; + } + if (i < 0) return this; + 0 === i + ? r.shift() + : (function (t, e) { + for (; e + 1 < t.length; e++) t[e] = t[e + 1]; + t.pop(); + })(r, i), + 1 === r.length && (n[t] = r[0]), + void 0 !== n.removeListener && + this.emit("removeListener", t, o || e); + } + return this; + }), + (a.prototype.off = a.prototype.removeListener), + (a.prototype.removeAllListeners = function (t) { + var e, r, n; + if (void 0 === (r = this._events)) return this; + if (void 0 === r.removeListener) + return ( + 0 === arguments.length + ? ((this._events = Object.create(null)), + (this._eventsCount = 0)) + : void 0 !== r[t] && + (0 == --this._eventsCount + ? (this._events = Object.create(null)) + : delete r[t]), + this + ); + if (0 === arguments.length) { + var i, + a = Object.keys(r); + for (n = 0; n < a.length; ++n) + "removeListener" !== (i = a[n]) && + this.removeAllListeners(i); + return ( + this.removeAllListeners("removeListener"), + (this._events = Object.create(null)), + (this._eventsCount = 0), + this + ); + } + if ("function" == typeof (e = r[t])) + this.removeListener(t, e); + else if (void 0 !== e) + for (n = e.length - 1; n >= 0; n--) + this.removeListener(t, e[n]); + return this; + }), + (a.prototype.listeners = function (t) { + return h(this, t, !0); + }), + (a.prototype.rawListeners = function (t) { + return h(this, t, !1); + }), + (a.listenerCount = function (t, e) { + return "function" == typeof t.listenerCount + ? t.listenerCount(e) + : p.call(t, e); + }), + (a.prototype.listenerCount = p), + (a.prototype.eventNames = function () { + return this._eventsCount > 0 ? e(this._events) : []; + }); + }, + 60774: function (t) { + var e = function () { + if ("object" == typeof self && self) return self; + if ("object" == typeof window && window) return window; + throw new Error("Unable to resolve global `this`"); + }; + t.exports = (function () { + if (this) return this; + try { + Object.defineProperty( + Object.prototype, + "__global__", + { + get: function () { + return this; + }, + configurable: !0, + }, + ); + } catch (t) { + return e(); + } + try { + return __global__ || e(); + } finally { + delete Object.prototype.__global__; + } + })(); + }, + 94908: function (t, e, r) { + "use strict"; + t.exports = r(51152)() ? globalThis : r(60774); + }, + 51152: function (t) { + "use strict"; + t.exports = function () { + return ( + "object" == typeof globalThis && + !!globalThis && + globalThis.Array === Array + ); + }; + }, + 92770: function (t, e, r) { + "use strict"; + var n = r(18546); + t.exports = function (t) { + var e = typeof t; + if ("string" === e) { + var r = t; + if (0 == (t = +t) && n(r)) return !1; + } else if ("number" !== e) return !1; + return t - t < 1; + }; + }, + 30120: function (t, e, r) { + var n = r(90660); + t.exports = function (t, e, r) { + if (!t) + throw new TypeError( + "must specify data as first parameter", + ); + if ( + ((r = 0 | +(r || 0)), + Array.isArray(t) && + t[0] && + "number" == typeof t[0][0]) + ) { + var i, + a, + o, + s, + l = t[0].length, + u = t.length * l; + (e && "string" != typeof e) || + (e = new (n(e || "float32"))(u + r)); + var c = e.length - r; + if (u !== c) + throw new Error( + "source length " + + u + + " (" + + l + + "x" + + t.length + + ") does not match destination length " + + c, + ); + for (i = 0, o = r; i < t.length; i++) + for (a = 0; a < l; a++) + e[o++] = null === t[i][a] ? NaN : t[i][a]; + } else if (e && "string" != typeof e) e.set(t, r); + else { + var f = n(e || "float32"); + if (Array.isArray(t) || "array" === e) + for ( + i = 0, + o = r, + s = (e = new f(t.length + r)).length; + o < s; + o++, i++ + ) + e[o] = null === t[i] ? NaN : t[i]; + else + 0 === r + ? (e = new f(t)) + : (e = new f(t.length + r)).set(t, r); + } + return e; + }; + }, + 68016: function (t, e, r) { + "use strict"; + var n = r(53313), + i = [32, 126]; + t.exports = function (t) { + var e = (t = t || {}).shape + ? t.shape + : t.canvas + ? [t.canvas.width, t.canvas.height] + : [512, 512], + r = t.canvas || document.createElement("canvas"), + a = t.font, + o = + "number" == typeof t.step + ? [t.step, t.step] + : t.step || [32, 32], + s = t.chars || i; + if ( + (a && "string" != typeof a && (a = n(a)), + Array.isArray(s)) + ) { + if ( + 2 === s.length && + "number" == typeof s[0] && + "number" == typeof s[1] + ) { + for (var l = [], u = s[0], c = 0; u <= s[1]; u++) + l[c++] = String.fromCharCode(u); + s = l; + } + } else s = String(s).split(""); + (e = e.slice()), (r.width = e[0]), (r.height = e[1]); + var f = r.getContext("2d"); + (f.fillStyle = "#000"), + f.fillRect(0, 0, r.width, r.height), + (f.font = a), + (f.textAlign = "center"), + (f.textBaseline = "middle"), + (f.fillStyle = "#fff"); + var h = o[0] / 2, + p = o[1] / 2; + for (u = 0; u < s.length; u++) + f.fillText(s[u], h, p), + (h += o[0]) > e[0] - o[0] / 2 && + ((h = o[0] / 2), (p += o[1])); + return r; + }; + }, + 32879: function (t) { + "use strict"; + function e(t, a) { + a || (a = {}), + ("string" == typeof t || Array.isArray(t)) && + (a.family = t); + var o = Array.isArray(a.family) + ? a.family.join(", ") + : a.family; + if (!o) throw Error("`family` must be defined"); + var s = a.size || a.fontSize || a.em || 48, + l = a.weight || a.fontWeight || "", + u = + ((t = + [a.style || a.fontStyle || "", l, s].join(" ") + + "px " + + o), + a.origin || "top"); + if (e.cache[o] && s <= e.cache[o].em) + return r(e.cache[o], u); + var c = a.canvas || e.canvas, + f = c.getContext("2d"), + h = { + upper: void 0 !== a.upper ? a.upper : "H", + lower: void 0 !== a.lower ? a.lower : "x", + descent: void 0 !== a.descent ? a.descent : "p", + ascent: void 0 !== a.ascent ? a.ascent : "h", + tittle: void 0 !== a.tittle ? a.tittle : "i", + overshoot: + void 0 !== a.overshoot ? a.overshoot : "O", + }, + p = Math.ceil(1.5 * s); + (c.height = p), (c.width = 0.5 * p), (f.font = t); + var d = "H", + v = { top: 0 }; + f.clearRect(0, 0, p, p), + (f.textBaseline = "top"), + (f.fillStyle = "black"), + f.fillText(d, 0, 0); + var g = n(f.getImageData(0, 0, p, p)); + f.clearRect(0, 0, p, p), + (f.textBaseline = "bottom"), + f.fillText(d, 0, p); + var y = n(f.getImageData(0, 0, p, p)); + (v.lineHeight = v.bottom = p - y + g), + f.clearRect(0, 0, p, p), + (f.textBaseline = "alphabetic"), + f.fillText(d, 0, p); + var m = p - n(f.getImageData(0, 0, p, p)) - 1 + g; + (v.baseline = v.alphabetic = m), + f.clearRect(0, 0, p, p), + (f.textBaseline = "middle"), + f.fillText(d, 0, 0.5 * p); + var x = n(f.getImageData(0, 0, p, p)); + (v.median = v.middle = p - x - 1 + g - 0.5 * p), + f.clearRect(0, 0, p, p), + (f.textBaseline = "hanging"), + f.fillText(d, 0, 0.5 * p); + var b = n(f.getImageData(0, 0, p, p)); + (v.hanging = p - b - 1 + g - 0.5 * p), + f.clearRect(0, 0, p, p), + (f.textBaseline = "ideographic"), + f.fillText(d, 0, p); + var _ = n(f.getImageData(0, 0, p, p)); + if ( + ((v.ideographic = p - _ - 1 + g), + h.upper && + (f.clearRect(0, 0, p, p), + (f.textBaseline = "top"), + f.fillText(h.upper, 0, 0), + (v.upper = n(f.getImageData(0, 0, p, p))), + (v.capHeight = v.baseline - v.upper)), + h.lower && + (f.clearRect(0, 0, p, p), + (f.textBaseline = "top"), + f.fillText(h.lower, 0, 0), + (v.lower = n(f.getImageData(0, 0, p, p))), + (v.xHeight = v.baseline - v.lower)), + h.tittle && + (f.clearRect(0, 0, p, p), + (f.textBaseline = "top"), + f.fillText(h.tittle, 0, 0), + (v.tittle = n(f.getImageData(0, 0, p, p)))), + h.ascent && + (f.clearRect(0, 0, p, p), + (f.textBaseline = "top"), + f.fillText(h.ascent, 0, 0), + (v.ascent = n(f.getImageData(0, 0, p, p)))), + h.descent && + (f.clearRect(0, 0, p, p), + (f.textBaseline = "top"), + f.fillText(h.descent, 0, 0), + (v.descent = i(f.getImageData(0, 0, p, p)))), + h.overshoot) + ) { + f.clearRect(0, 0, p, p), + (f.textBaseline = "top"), + f.fillText(h.overshoot, 0, 0); + var w = i(f.getImageData(0, 0, p, p)); + v.overshoot = w - m; + } + for (var T in v) v[T] /= s; + return (v.em = s), (e.cache[o] = v), r(v, u); + } + function r(t, e) { + var r = {}; + for (var n in ("string" == typeof e && (e = t[e]), t)) + "em" !== n && (r[n] = t[n] - e); + return r; + } + function n(t) { + for ( + var e = t.height, r = t.data, n = 3; + n < r.length; + n += 4 + ) + if (0 !== r[n]) + return Math.floor((0.25 * (n - 3)) / e); + } + function i(t) { + for ( + var e = t.height, r = t.data, n = r.length - 1; + n > 0; + n -= 4 + ) + if (0 !== r[n]) + return Math.floor((0.25 * (n - 3)) / e); + } + (t.exports = e), + (e.canvas = document.createElement("canvas")), + (e.cache = {}); + }, + 31353: function (t, e, r) { + "use strict"; + var n = r(85395), + i = Object.prototype.toString, + a = Object.prototype.hasOwnProperty, + o = function (t, e, r) { + for (var n = 0, i = t.length; n < i; n++) + a.call(t, n) && + (null == r + ? e(t[n], n, t) + : e.call(r, t[n], n, t)); + }, + s = function (t, e, r) { + for (var n = 0, i = t.length; n < i; n++) + null == r + ? e(t.charAt(n), n, t) + : e.call(r, t.charAt(n), n, t); + }, + l = function (t, e, r) { + for (var n in t) + a.call(t, n) && + (null == r + ? e(t[n], n, t) + : e.call(r, t[n], n, t)); + }; + t.exports = function (t, e, r) { + if (!n(e)) + throw new TypeError("iterator must be a function"); + var a; + arguments.length >= 3 && (a = r), + "[object Array]" === i.call(t) + ? o(t, e, a) + : "string" == typeof t + ? s(t, e, a) + : l(t, e, a); + }; + }, + 73047: function (t) { + "use strict"; + var e = "Function.prototype.bind called on incompatible ", + r = Array.prototype.slice, + n = Object.prototype.toString, + i = "[object Function]"; + t.exports = function (t) { + var a = this; + if ("function" != typeof a || n.call(a) !== i) + throw new TypeError(e + a); + for ( + var o, + s = r.call(arguments, 1), + l = function () { + if (this instanceof o) { + var e = a.apply( + this, + s.concat(r.call(arguments)), + ); + return Object(e) === e ? e : this; + } + return a.apply(t, s.concat(r.call(arguments))); + }, + u = Math.max(0, a.length - s.length), + c = [], + f = 0; + f < u; + f++ + ) + c.push("$" + f); + if ( + ((o = Function( + "binder", + "return function (" + + c.join(",") + + "){ return binder.apply(this,arguments); }", + )(l)), + a.prototype) + ) { + var h = function () {}; + (h.prototype = a.prototype), + (o.prototype = new h()), + (h.prototype = null); + } + return o; + }; + }, + 77575: function (t, e, r) { + "use strict"; + var n = r(73047); + t.exports = Function.prototype.bind || n; + }, + 86249: function (t) { + t.exports = 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; + }; + }, + 68318: function (t, e, r) { + "use strict"; + var n, + i = SyntaxError, + a = Function, + o = TypeError, + s = function (t) { + try { + return a( + '"use strict"; return (' + t + ").constructor;", + )(); + } catch (t) {} + }, + l = Object.getOwnPropertyDescriptor; + if (l) + try { + l({}, ""); + } catch (t) { + l = null; + } + var u = function () { + throw new o(); + }, + c = l + ? (function () { + try { + return u; + } catch (t) { + try { + return l(arguments, "callee").get; + } catch (t) { + return u; + } + } + })() + : u, + f = r(57877)(), + h = + Object.getPrototypeOf || + function (t) { + return t.__proto__; + }, + p = {}, + d = + "undefined" == typeof Uint8Array ? n : h(Uint8Array), + v = { + "%AggregateError%": + "undefined" == typeof AggregateError + ? n + : AggregateError, + "%Array%": Array, + "%ArrayBuffer%": + "undefined" == typeof ArrayBuffer ? n : ArrayBuffer, + "%ArrayIteratorPrototype%": f + ? h([][Symbol.iterator]()) + : n, + "%AsyncFromSyncIteratorPrototype%": n, + "%AsyncFunction%": p, + "%AsyncGenerator%": p, + "%AsyncGeneratorFunction%": p, + "%AsyncIteratorPrototype%": p, + "%Atomics%": + "undefined" == typeof Atomics ? n : Atomics, + "%BigInt%": "undefined" == typeof BigInt ? n : BigInt, + "%BigInt64Array%": + "undefined" == typeof BigInt64Array + ? n + : BigInt64Array, + "%BigUint64Array%": + "undefined" == typeof BigUint64Array + ? n + : BigUint64Array, + "%Boolean%": Boolean, + "%DataView%": + "undefined" == typeof DataView ? n : DataView, + "%Date%": Date, + "%decodeURI%": decodeURI, + "%decodeURIComponent%": decodeURIComponent, + "%encodeURI%": encodeURI, + "%encodeURIComponent%": encodeURIComponent, + "%Error%": Error, + "%eval%": eval, + "%EvalError%": EvalError, + "%Float32Array%": + "undefined" == typeof Float32Array + ? n + : Float32Array, + "%Float64Array%": + "undefined" == typeof Float64Array + ? n + : Float64Array, + "%FinalizationRegistry%": + "undefined" == typeof FinalizationRegistry + ? n + : FinalizationRegistry, + "%Function%": a, + "%GeneratorFunction%": p, + "%Int8Array%": + "undefined" == typeof Int8Array ? n : Int8Array, + "%Int16Array%": + "undefined" == typeof Int16Array ? n : Int16Array, + "%Int32Array%": + "undefined" == typeof Int32Array ? n : Int32Array, + "%isFinite%": isFinite, + "%isNaN%": isNaN, + "%IteratorPrototype%": f + ? h(h([][Symbol.iterator]())) + : n, + "%JSON%": "object" == typeof JSON ? JSON : n, + "%Map%": "undefined" == typeof Map ? n : Map, + "%MapIteratorPrototype%": + "undefined" != typeof Map && f + ? h(new Map()[Symbol.iterator]()) + : n, + "%Math%": Math, + "%Number%": Number, + "%Object%": Object, + "%parseFloat%": parseFloat, + "%parseInt%": parseInt, + "%Promise%": + "undefined" == typeof Promise ? n : Promise, + "%Proxy%": "undefined" == typeof Proxy ? n : Proxy, + "%RangeError%": RangeError, + "%ReferenceError%": ReferenceError, + "%Reflect%": + "undefined" == typeof Reflect ? n : Reflect, + "%RegExp%": RegExp, + "%Set%": "undefined" == typeof Set ? n : Set, + "%SetIteratorPrototype%": + "undefined" != typeof Set && f + ? h(new Set()[Symbol.iterator]()) + : n, + "%SharedArrayBuffer%": + "undefined" == typeof SharedArrayBuffer + ? n + : SharedArrayBuffer, + "%String%": String, + "%StringIteratorPrototype%": f + ? h(""[Symbol.iterator]()) + : n, + "%Symbol%": f ? Symbol : n, + "%SyntaxError%": i, + "%ThrowTypeError%": c, + "%TypedArray%": d, + "%TypeError%": o, + "%Uint8Array%": + "undefined" == typeof Uint8Array ? n : Uint8Array, + "%Uint8ClampedArray%": + "undefined" == typeof Uint8ClampedArray + ? n + : Uint8ClampedArray, + "%Uint16Array%": + "undefined" == typeof Uint16Array ? n : Uint16Array, + "%Uint32Array%": + "undefined" == typeof Uint32Array ? n : Uint32Array, + "%URIError%": URIError, + "%WeakMap%": + "undefined" == typeof WeakMap ? n : WeakMap, + "%WeakRef%": + "undefined" == typeof WeakRef ? n : WeakRef, + "%WeakSet%": + "undefined" == typeof WeakSet ? n : WeakSet, + }; + try { + null.error; + } catch (t) { + var g = h(h(t)); + v["%Error.prototype%"] = g; + } + var y = function t(e) { + var r; + if ("%AsyncFunction%" === e) + r = s("async function () {}"); + else if ("%GeneratorFunction%" === e) + r = s("function* () {}"); + else if ("%AsyncGeneratorFunction%" === e) + r = s("async function* () {}"); + else if ("%AsyncGenerator%" === e) { + var n = t("%AsyncGeneratorFunction%"); + n && (r = n.prototype); + } else if ("%AsyncIteratorPrototype%" === e) { + var i = t("%AsyncGenerator%"); + i && (r = h(i.prototype)); + } + return (v[e] = r), r; + }, + m = { + "%ArrayBufferPrototype%": [ + "ArrayBuffer", + "prototype", + ], + "%ArrayPrototype%": ["Array", "prototype"], + "%ArrayProto_entries%": [ + "Array", + "prototype", + "entries", + ], + "%ArrayProto_forEach%": [ + "Array", + "prototype", + "forEach", + ], + "%ArrayProto_keys%": ["Array", "prototype", "keys"], + "%ArrayProto_values%": [ + "Array", + "prototype", + "values", + ], + "%AsyncFunctionPrototype%": [ + "AsyncFunction", + "prototype", + ], + "%AsyncGenerator%": [ + "AsyncGeneratorFunction", + "prototype", + ], + "%AsyncGeneratorPrototype%": [ + "AsyncGeneratorFunction", + "prototype", + "prototype", + ], + "%BooleanPrototype%": ["Boolean", "prototype"], + "%DataViewPrototype%": ["DataView", "prototype"], + "%DatePrototype%": ["Date", "prototype"], + "%ErrorPrototype%": ["Error", "prototype"], + "%EvalErrorPrototype%": ["EvalError", "prototype"], + "%Float32ArrayPrototype%": [ + "Float32Array", + "prototype", + ], + "%Float64ArrayPrototype%": [ + "Float64Array", + "prototype", + ], + "%FunctionPrototype%": ["Function", "prototype"], + "%Generator%": ["GeneratorFunction", "prototype"], + "%GeneratorPrototype%": [ + "GeneratorFunction", + "prototype", + "prototype", + ], + "%Int8ArrayPrototype%": ["Int8Array", "prototype"], + "%Int16ArrayPrototype%": ["Int16Array", "prototype"], + "%Int32ArrayPrototype%": ["Int32Array", "prototype"], + "%JSONParse%": ["JSON", "parse"], + "%JSONStringify%": ["JSON", "stringify"], + "%MapPrototype%": ["Map", "prototype"], + "%NumberPrototype%": ["Number", "prototype"], + "%ObjectPrototype%": ["Object", "prototype"], + "%ObjProto_toString%": [ + "Object", + "prototype", + "toString", + ], + "%ObjProto_valueOf%": [ + "Object", + "prototype", + "valueOf", + ], + "%PromisePrototype%": ["Promise", "prototype"], + "%PromiseProto_then%": [ + "Promise", + "prototype", + "then", + ], + "%Promise_all%": ["Promise", "all"], + "%Promise_reject%": ["Promise", "reject"], + "%Promise_resolve%": ["Promise", "resolve"], + "%RangeErrorPrototype%": ["RangeError", "prototype"], + "%ReferenceErrorPrototype%": [ + "ReferenceError", + "prototype", + ], + "%RegExpPrototype%": ["RegExp", "prototype"], + "%SetPrototype%": ["Set", "prototype"], + "%SharedArrayBufferPrototype%": [ + "SharedArrayBuffer", + "prototype", + ], + "%StringPrototype%": ["String", "prototype"], + "%SymbolPrototype%": ["Symbol", "prototype"], + "%SyntaxErrorPrototype%": [ + "SyntaxError", + "prototype", + ], + "%TypedArrayPrototype%": ["TypedArray", "prototype"], + "%TypeErrorPrototype%": ["TypeError", "prototype"], + "%Uint8ArrayPrototype%": ["Uint8Array", "prototype"], + "%Uint8ClampedArrayPrototype%": [ + "Uint8ClampedArray", + "prototype", + ], + "%Uint16ArrayPrototype%": [ + "Uint16Array", + "prototype", + ], + "%Uint32ArrayPrototype%": [ + "Uint32Array", + "prototype", + ], + "%URIErrorPrototype%": ["URIError", "prototype"], + "%WeakMapPrototype%": ["WeakMap", "prototype"], + "%WeakSetPrototype%": ["WeakSet", "prototype"], + }, + x = r(77575), + b = r(35065), + _ = x.call(Function.call, Array.prototype.concat), + w = x.call(Function.apply, Array.prototype.splice), + T = x.call(Function.call, String.prototype.replace), + k = x.call(Function.call, String.prototype.slice), + A = x.call(Function.call, RegExp.prototype.exec), + M = + /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g, + S = /\\(\\)?/g, + E = function (t) { + var e = k(t, 0, 1), + r = k(t, -1); + if ("%" === e && "%" !== r) + throw new i( + "invalid intrinsic syntax, expected closing `%`", + ); + if ("%" === r && "%" !== e) + throw new i( + "invalid intrinsic syntax, expected opening `%`", + ); + var n = []; + return ( + T(t, M, function (t, e, r, i) { + n[n.length] = r ? T(i, S, "$1") : e || t; + }), + n + ); + }, + L = function (t, e) { + var r, + n = t; + if ( + (b(m, n) && (n = "%" + (r = m[n])[0] + "%"), + b(v, n)) + ) { + var a = v[n]; + if ((a === p && (a = y(n)), void 0 === a && !e)) + throw new o( + "intrinsic " + + t + + " exists, but is not available. Please file an issue!", + ); + return { alias: r, name: n, value: a }; + } + throw new i("intrinsic " + t + " does not exist!"); + }; + t.exports = function (t, e) { + if ("string" != typeof t || 0 === t.length) + throw new o( + "intrinsic name must be a non-empty string", + ); + if (arguments.length > 1 && "boolean" != typeof e) + throw new o( + '"allowMissing" argument must be a boolean', + ); + if (null === A(/^%?[^%]*%?$/, t)) + throw new i( + "`%` may not be present anywhere but at the beginning and end of the intrinsic name", + ); + var r = E(t), + n = r.length > 0 ? r[0] : "", + a = L("%" + n + "%", e), + s = a.name, + u = a.value, + c = !1, + f = a.alias; + f && ((n = f[0]), w(r, _([0, 1], f))); + for (var h = 1, p = !0; h < r.length; h += 1) { + var d = r[h], + g = k(d, 0, 1), + y = k(d, -1); + if ( + ('"' === g || + "'" === g || + "`" === g || + '"' === y || + "'" === y || + "`" === y) && + g !== y + ) + throw new i( + "property names with quotes must have matching quotes", + ); + if ( + (("constructor" !== d && p) || (c = !0), + b(v, (s = "%" + (n += "." + d) + "%"))) + ) + u = v[s]; + else if (null != u) { + if (!(d in u)) { + if (!e) + throw new o( + "base intrinsic for " + + t + + " exists, but the property is not available.", + ); + return; + } + if (l && h + 1 >= r.length) { + var m = l(u, d); + u = + (p = !!m) && + "get" in m && + !("originalValue" in m.get) + ? m.get + : u[d]; + } else (p = b(u, d)), (u = u[d]); + p && !c && (v[s] = u); + } + } + return u; + }; + }, + 85400: function (t) { + t.exports = 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], + f = e[9], + h = e[10], + p = e[11], + d = e[12], + v = e[13], + g = e[14], + y = e[15]; + return ( + (t[0] = + s * (h * y - p * g) - + f * (l * y - u * g) + + v * (l * p - u * h)), + (t[1] = -( + n * (h * y - p * g) - + f * (i * y - a * g) + + v * (i * p - a * h) + )), + (t[2] = + n * (l * y - u * g) - + s * (i * y - a * g) + + v * (i * u - a * l)), + (t[3] = -( + n * (l * p - u * h) - + s * (i * p - a * h) + + f * (i * u - a * l) + )), + (t[4] = -( + o * (h * y - p * g) - + c * (l * y - u * g) + + d * (l * p - u * h) + )), + (t[5] = + r * (h * y - p * g) - + c * (i * y - a * g) + + d * (i * p - a * h)), + (t[6] = -( + r * (l * y - u * g) - + o * (i * y - a * g) + + d * (i * u - a * l) + )), + (t[7] = + r * (l * p - u * h) - + o * (i * p - a * h) + + c * (i * u - a * l)), + (t[8] = + o * (f * y - p * v) - + c * (s * y - u * v) + + d * (s * p - u * f)), + (t[9] = -( + r * (f * y - p * v) - + c * (n * y - a * v) + + d * (n * p - a * f) + )), + (t[10] = + r * (s * y - u * v) - + o * (n * y - a * v) + + d * (n * u - a * s)), + (t[11] = -( + r * (s * p - u * f) - + o * (n * p - a * f) + + c * (n * u - a * s) + )), + (t[12] = -( + o * (f * g - h * v) - + c * (s * g - l * v) + + d * (s * h - l * f) + )), + (t[13] = + r * (f * g - h * v) - + c * (n * g - i * v) + + d * (n * h - i * f)), + (t[14] = -( + r * (s * g - l * v) - + o * (n * g - i * v) + + d * (n * l - i * s) + )), + (t[15] = + r * (s * h - l * f) - + o * (n * h - i * f) + + c * (n * l - i * s)), + t + ); + }; + }, + 42331: function (t) { + t.exports = 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 + ); + }; + }, + 31042: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = e[0]), + (t[1] = e[1]), + (t[2] = e[2]), + (t[3] = e[3]), + (t[4] = e[4]), + (t[5] = e[5]), + (t[6] = e[6]), + (t[7] = e[7]), + (t[8] = e[8]), + (t[9] = e[9]), + (t[10] = e[10]), + (t[11] = e[11]), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15]), + t + ); + }; + }, + 11902: function (t) { + t.exports = 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 + ); + }; + }, + 89887: function (t) { + t.exports = 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], + f = t[10], + h = t[11], + p = t[12], + d = t[13], + v = t[14], + g = t[15]; + return ( + (e * o - r * a) * (f * g - h * v) - + (e * s - n * a) * (c * g - h * d) + + (e * l - i * a) * (c * v - f * d) + + (r * s - n * o) * (u * g - h * p) - + (r * l - i * o) * (u * v - f * p) + + (n * l - i * s) * (u * d - c * p) + ); + }; + }, + 27812: function (t) { + t.exports = 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, + f = n * s, + h = i * o, + p = i * s, + d = i * l, + v = a * o, + g = a * s, + y = a * l; + return ( + (t[0] = 1 - f - d), + (t[1] = c + y), + (t[2] = h - g), + (t[3] = 0), + (t[4] = c - y), + (t[5] = 1 - u - d), + (t[6] = p + v), + (t[7] = 0), + (t[8] = h + g), + (t[9] = p - v), + (t[10] = 1 - u - f), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + 34045: function (t) { + t.exports = function (t, e, r) { + var n, + i, + a, + o = r[0], + s = r[1], + l = r[2], + u = Math.sqrt(o * o + s * s + l * l); + return Math.abs(u) < 1e-6 + ? null + : ((o *= u = 1 / u), + (s *= u), + (l *= u), + (n = Math.sin(e)), + (a = 1 - (i = Math.cos(e))), + (t[0] = o * o * a + i), + (t[1] = s * o * a + l * n), + (t[2] = l * o * a - s * n), + (t[3] = 0), + (t[4] = o * s * a - l * n), + (t[5] = s * s * a + i), + (t[6] = l * s * a + o * n), + (t[7] = 0), + (t[8] = o * l * a + s * n), + (t[9] = s * l * a - o * n), + (t[10] = l * l * a + i), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t); + }; + }, + 45973: function (t) { + t.exports = 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, + f = n * l, + h = n * u, + p = i * l, + d = i * u, + v = a * u, + g = o * s, + y = o * l, + m = o * u; + return ( + (t[0] = 1 - (p + v)), + (t[1] = f + m), + (t[2] = h - y), + (t[3] = 0), + (t[4] = f - m), + (t[5] = 1 - (c + v)), + (t[6] = d + g), + (t[7] = 0), + (t[8] = h + y), + (t[9] = d - g), + (t[10] = 1 - (c + p)), + (t[11] = 0), + (t[12] = r[0]), + (t[13] = r[1]), + (t[14] = r[2]), + (t[15] = 1), + t + ); + }; + }, + 81472: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = e[0]), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = e[1]), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = e[2]), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + 14669: function (t) { + t.exports = function (t, e) { + return ( + (t[0] = 1), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = 1), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = 1), + (t[11] = 0), + (t[12] = e[0]), + (t[13] = e[1]), + (t[14] = e[2]), + (t[15] = 1), + t + ); + }; + }, + 75262: function (t) { + t.exports = function (t, e) { + var r = Math.sin(e), + n = Math.cos(e); + return ( + (t[0] = 1), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = n), + (t[6] = r), + (t[7] = 0), + (t[8] = 0), + (t[9] = -r), + (t[10] = n), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + 331: function (t) { + t.exports = function (t, e) { + var r = Math.sin(e), + n = Math.cos(e); + return ( + (t[0] = n), + (t[1] = 0), + (t[2] = -r), + (t[3] = 0), + (t[4] = 0), + (t[5] = 1), + (t[6] = 0), + (t[7] = 0), + (t[8] = r), + (t[9] = 0), + (t[10] = n), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + 11049: function (t) { + t.exports = function (t, e) { + var r = Math.sin(e), + n = Math.cos(e); + return ( + (t[0] = n), + (t[1] = r), + (t[2] = 0), + (t[3] = 0), + (t[4] = -r), + (t[5] = n), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = 1), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + 75195: function (t) { + t.exports = function (t, e, r, n, i, a, o) { + var s = 1 / (r - e), + l = 1 / (i - n), + u = 1 / (a - o); + return ( + (t[0] = 2 * a * s), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = 2 * a * l), + (t[6] = 0), + (t[7] = 0), + (t[8] = (r + e) * s), + (t[9] = (i + n) * l), + (t[10] = (o + a) * u), + (t[11] = -1), + (t[12] = 0), + (t[13] = 0), + (t[14] = o * a * 2 * u), + (t[15] = 0), + t + ); + }; + }, + 71551: function (t) { + t.exports = 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 + ); + }; + }, + 79576: function (t, e, r) { + t.exports = { + create: r(11902), + clone: r(42331), + copy: r(31042), + identity: r(71551), + transpose: r(88654), + invert: r(95874), + adjoint: r(85400), + determinant: r(89887), + multiply: r(91362), + translate: r(31283), + scale: r(10789), + rotate: r(65074), + rotateX: r(35545), + rotateY: r(94918), + rotateZ: r(15692), + fromRotation: r(34045), + fromRotationTranslation: r(45973), + fromScaling: r(81472), + fromTranslation: r(14669), + fromXRotation: r(75262), + fromYRotation: r(331), + fromZRotation: r(11049), + fromQuat: r(27812), + frustum: r(75195), + perspective: r(7864), + perspectiveFromFieldOfView: r(35279), + ortho: r(60378), + lookAt: r(65551), + str: r(6726), + }; + }, + 95874: function (t) { + t.exports = 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], + f = e[9], + h = e[10], + p = e[11], + d = e[12], + v = e[13], + g = e[14], + y = e[15], + m = r * s - n * o, + x = r * l - i * o, + b = r * u - a * o, + _ = n * l - i * s, + w = n * u - a * s, + T = i * u - a * l, + k = c * v - f * d, + A = c * g - h * d, + M = c * y - p * d, + S = f * g - h * v, + E = f * y - p * v, + L = h * y - p * g, + C = m * L - x * E + b * S + _ * M - w * A + T * k; + return C + ? ((C = 1 / C), + (t[0] = (s * L - l * E + u * S) * C), + (t[1] = (i * E - n * L - a * S) * C), + (t[2] = (v * T - g * w + y * _) * C), + (t[3] = (h * w - f * T - p * _) * C), + (t[4] = (l * M - o * L - u * A) * C), + (t[5] = (r * L - i * M + a * A) * C), + (t[6] = (g * b - d * T - y * x) * C), + (t[7] = (c * T - h * b + p * x) * C), + (t[8] = (o * E - s * M + u * k) * C), + (t[9] = (n * M - r * E - a * k) * C), + (t[10] = (d * w - v * b + y * m) * C), + (t[11] = (f * b - c * w - p * m) * C), + (t[12] = (s * A - o * S - l * k) * C), + (t[13] = (r * S - n * A + i * k) * C), + (t[14] = (v * x - d * _ - g * m) * C), + (t[15] = (c * _ - f * x + h * m) * C), + t) + : null; + }; + }, + 65551: function (t, e, r) { + var n = r(71551); + t.exports = function (t, e, r, i) { + var a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v = e[0], + g = e[1], + y = e[2], + m = i[0], + x = i[1], + b = i[2], + _ = r[0], + w = r[1], + T = r[2]; + return Math.abs(v - _) < 1e-6 && + Math.abs(g - w) < 1e-6 && + Math.abs(y - T) < 1e-6 + ? n(t) + : ((f = v - _), + (h = g - w), + (p = y - T), + (a = + x * + (p *= d = + 1 / Math.sqrt(f * f + h * h + p * p)) - + b * (h *= d)), + (o = b * (f *= d) - m * p), + (s = m * h - x * f), + (d = Math.sqrt(a * a + o * o + s * s)) + ? ((a *= d = 1 / d), (o *= d), (s *= d)) + : ((a = 0), (o = 0), (s = 0)), + (l = h * s - p * o), + (u = p * a - f * s), + (c = f * o - h * a), + (d = Math.sqrt(l * l + u * u + c * c)) + ? ((l *= d = 1 / d), (u *= d), (c *= d)) + : ((l = 0), (u = 0), (c = 0)), + (t[0] = a), + (t[1] = l), + (t[2] = f), + (t[3] = 0), + (t[4] = o), + (t[5] = u), + (t[6] = h), + (t[7] = 0), + (t[8] = s), + (t[9] = c), + (t[10] = p), + (t[11] = 0), + (t[12] = -(a * v + o * g + s * y)), + (t[13] = -(l * v + u * g + c * y)), + (t[14] = -(f * v + h * g + p * y)), + (t[15] = 1), + t); + }; + }, + 91362: function (t) { + t.exports = 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], + f = e[8], + h = e[9], + p = e[10], + d = e[11], + v = e[12], + g = e[13], + y = e[14], + m = e[15], + x = r[0], + b = r[1], + _ = r[2], + w = r[3]; + return ( + (t[0] = x * n + b * s + _ * f + w * v), + (t[1] = x * i + b * l + _ * h + w * g), + (t[2] = x * a + b * u + _ * p + w * y), + (t[3] = x * o + b * c + _ * d + w * m), + (x = r[4]), + (b = r[5]), + (_ = r[6]), + (w = r[7]), + (t[4] = x * n + b * s + _ * f + w * v), + (t[5] = x * i + b * l + _ * h + w * g), + (t[6] = x * a + b * u + _ * p + w * y), + (t[7] = x * o + b * c + _ * d + w * m), + (x = r[8]), + (b = r[9]), + (_ = r[10]), + (w = r[11]), + (t[8] = x * n + b * s + _ * f + w * v), + (t[9] = x * i + b * l + _ * h + w * g), + (t[10] = x * a + b * u + _ * p + w * y), + (t[11] = x * o + b * c + _ * d + w * m), + (x = r[12]), + (b = r[13]), + (_ = r[14]), + (w = r[15]), + (t[12] = x * n + b * s + _ * f + w * v), + (t[13] = x * i + b * l + _ * h + w * g), + (t[14] = x * a + b * u + _ * p + w * y), + (t[15] = x * o + b * c + _ * d + w * m), + t + ); + }; + }, + 60378: function (t) { + t.exports = 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 + ); + }; + }, + 7864: function (t) { + t.exports = 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 + ); + }; + }, + 35279: function (t) { + t.exports = function (t, e, r, n) { + var i = Math.tan((e.upDegrees * Math.PI) / 180), + a = Math.tan((e.downDegrees * Math.PI) / 180), + o = Math.tan((e.leftDegrees * Math.PI) / 180), + s = Math.tan((e.rightDegrees * Math.PI) / 180), + l = 2 / (o + s), + u = 2 / (i + a); + return ( + (t[0] = l), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = u), + (t[6] = 0), + (t[7] = 0), + (t[8] = -(o - s) * l * 0.5), + (t[9] = (i - a) * u * 0.5), + (t[10] = n / (r - n)), + (t[11] = -1), + (t[12] = 0), + (t[13] = 0), + (t[14] = (n * r) / (r - n)), + (t[15] = 0), + t + ); + }; + }, + 65074: function (t) { + t.exports = function (t, e, r, n) { + var i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + w, + T, + k, + A, + M, + S, + E = n[0], + L = n[1], + C = n[2], + O = Math.sqrt(E * E + L * L + C * C); + return Math.abs(O) < 1e-6 + ? null + : ((E *= O = 1 / O), + (L *= O), + (C *= O), + (i = Math.sin(r)), + (o = 1 - (a = Math.cos(r))), + (s = e[0]), + (l = e[1]), + (u = e[2]), + (c = e[3]), + (f = e[4]), + (h = e[5]), + (p = e[6]), + (d = e[7]), + (v = e[8]), + (g = e[9]), + (y = e[10]), + (m = e[11]), + (x = E * E * o + a), + (b = L * E * o + C * i), + (_ = C * E * o - L * i), + (w = E * L * o - C * i), + (T = L * L * o + a), + (k = C * L * o + E * i), + (A = E * C * o + L * i), + (M = L * C * o - E * i), + (S = C * C * o + a), + (t[0] = s * x + f * b + v * _), + (t[1] = l * x + h * b + g * _), + (t[2] = u * x + p * b + y * _), + (t[3] = c * x + d * b + m * _), + (t[4] = s * w + f * T + v * k), + (t[5] = l * w + h * T + g * k), + (t[6] = u * w + p * T + y * k), + (t[7] = c * w + d * T + m * k), + (t[8] = s * A + f * M + v * S), + (t[9] = l * A + h * M + g * S), + (t[10] = u * A + p * M + y * S), + (t[11] = c * A + d * M + m * S), + e !== t && + ((t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15])), + t); + }; + }, + 35545: function (t) { + t.exports = 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], + f = e[10], + h = 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 + f * n), + (t[7] = l * i + h * n), + (t[8] = u * i - a * n), + (t[9] = c * i - o * n), + (t[10] = f * i - s * n), + (t[11] = h * i - l * n), + t + ); + }; + }, + 94918: function (t) { + t.exports = 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], + f = e[10], + h = e[11]; + return ( + e !== t && + ((t[4] = e[4]), + (t[5] = e[5]), + (t[6] = e[6]), + (t[7] = e[7]), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15])), + (t[0] = a * i - u * n), + (t[1] = o * i - c * n), + (t[2] = s * i - f * n), + (t[3] = l * i - h * n), + (t[8] = a * n + u * i), + (t[9] = o * n + c * i), + (t[10] = s * n + f * i), + (t[11] = l * n + h * i), + t + ); + }; + }, + 15692: function (t) { + t.exports = 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], + f = e[6], + h = 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 + f * n), + (t[3] = l * i + h * n), + (t[4] = u * i - a * n), + (t[5] = c * i - o * n), + (t[6] = f * i - s * n), + (t[7] = h * i - l * n), + t + ); + }; + }, + 10789: function (t) { + t.exports = 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 + ); + }; + }, + 6726: function (t) { + t.exports = function (t) { + return ( + "mat4(" + + t[0] + + ", " + + t[1] + + ", " + + t[2] + + ", " + + t[3] + + ", " + + t[4] + + ", " + + t[5] + + ", " + + t[6] + + ", " + + t[7] + + ", " + + t[8] + + ", " + + t[9] + + ", " + + t[10] + + ", " + + t[11] + + ", " + + t[12] + + ", " + + t[13] + + ", " + + t[14] + + ", " + + t[15] + + ")" + ); + }; + }, + 31283: function (t) { + t.exports = function (t, e, r) { + var n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v = r[0], + g = r[1], + y = r[2]; + return ( + e === t + ? ((t[12] = e[0] * v + e[4] * g + e[8] * y + e[12]), + (t[13] = e[1] * v + e[5] * g + e[9] * y + e[13]), + (t[14] = e[2] * v + e[6] * g + e[10] * y + e[14]), + (t[15] = e[3] * v + e[7] * g + e[11] * y + 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]), + (f = e[8]), + (h = 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] = f), + (t[9] = h), + (t[10] = p), + (t[11] = d), + (t[12] = n * v + s * g + f * y + e[12]), + (t[13] = i * v + l * g + h * y + e[13]), + (t[14] = a * v + u * g + p * y + e[14]), + (t[15] = o * v + c * g + d * y + e[15])), + t + ); + }; + }, + 88654: function (t) { + t.exports = 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; + }; + }, + 42505: function (t, e, r) { + "use strict"; + var n = r(72791), + i = r(71299), + a = r(98580), + o = r(12018), + s = r(83522), + l = r(25075), + u = r(68016), + c = r(58404), + f = r(18863), + h = r(10973), + p = r(25677), + d = r(75686), + v = r(53545), + g = r(56131), + y = r(32879), + m = r(30120), + x = r(13547).nextPow2, + b = new s(), + _ = !1; + if (document.body) { + var w = document.body.appendChild( + document.createElement("div"), + ); + (w.style.font = + "italic small-caps bold condensed 16px/2 cursive"), + getComputedStyle(w).fontStretch && (_ = !0), + document.body.removeChild(w); + } + var T = function (t) { + !(function (t) { + return ( + "function" == typeof t && + t._gl && + t.prop && + t.texture && + t.buffer + ); + })(t) + ? (this.gl = o(t)) + : ((t = { regl: t }), (this.gl = t.regl._gl)), + (this.shader = b.get(this.gl)), + this.shader + ? (this.regl = this.shader.regl) + : (this.regl = t.regl || a({ gl: this.gl })), + (this.charBuffer = this.regl.buffer({ + type: "uint8", + usage: "stream", + })), + (this.sizeBuffer = this.regl.buffer({ + type: "float", + usage: "stream", + })), + this.shader || + ((this.shader = this.createShader()), + b.set(this.gl, this.shader)), + (this.batch = []), + (this.fontSize = []), + (this.font = []), + (this.fontAtlas = []), + (this.draw = this.shader.draw.bind(this)), + (this.render = function () { + this.regl._refresh(), this.draw(this.batch); + }), + (this.canvas = this.gl.canvas), + this.update(h(t) ? t : {}); + }; + (T.prototype.createShader = function () { + var t = this.regl, + e = t({ + blend: { + enable: !0, + color: [0, 0, 0, 1], + func: { + srcRGB: "src alpha", + dstRGB: "one minus src alpha", + srcAlpha: "one minus dst alpha", + dstAlpha: "one", + }, + }, + stencil: { enable: !1 }, + depth: { enable: !1 }, + count: t.prop("count"), + offset: t.prop("offset"), + attributes: { + charOffset: { + offset: 4, + stride: 8, + buffer: t.this("sizeBuffer"), + }, + width: { + offset: 0, + stride: 8, + buffer: t.this("sizeBuffer"), + }, + char: t.this("charBuffer"), + position: t.this("position"), + }, + uniforms: { + atlasSize: function (t, e) { + return [e.atlas.width, e.atlas.height]; + }, + atlasDim: function (t, e) { + return [e.atlas.cols, e.atlas.rows]; + }, + atlas: function (t, e) { + return e.atlas.texture; + }, + charStep: function (t, e) { + return e.atlas.step; + }, + em: function (t, e) { + return e.atlas.em; + }, + color: t.prop("color"), + opacity: t.prop("opacity"), + viewport: t.this("viewportArray"), + scale: t.this("scale"), + align: t.prop("align"), + baseline: t.prop("baseline"), + translate: t.this("translate"), + positionOffset: t.prop("positionOffset"), + }, + primitive: "points", + viewport: t.this("viewport"), + vert: "\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ vec2(positionOffset.x, -positionOffset.y)))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}", + frag: "\n\t\t\tprecision highp float;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform sampler2D atlas;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}", + }); + return { regl: t, draw: e, atlas: {} }; + }), + (T.prototype.update = function (t) { + var e = this; + if ("string" == typeof t) t = { text: t }; + else if (!t) return; + null != + (t = i( + t, + { + position: + "position positions coord coords coordinates", + font: "font fontFace fontface typeface cssFont css-font family fontFamily", + fontSize: "fontSize fontsize size font-size", + text: "text texts chars characters value values symbols", + align: "align alignment textAlign textbaseline", + baseline: "baseline textBaseline textbaseline", + direction: "dir direction textDirection", + color: + "color colour fill fill-color fillColor textColor textcolor", + kerning: "kerning kern", + range: "range dataBox", + viewport: + "vp viewport viewBox viewbox viewPort", + opacity: + "opacity alpha transparency visible visibility opaque", + offset: + "offset positionOffset padding shift indent indentation", + }, + !0, + )).opacity && + (Array.isArray(t.opacity) + ? (this.opacity = t.opacity.map(function (t) { + return parseFloat(t); + })) + : (this.opacity = parseFloat(t.opacity))), + null != t.viewport && + ((this.viewport = f(t.viewport)), + (this.viewportArray = [ + this.viewport.x, + this.viewport.y, + this.viewport.width, + this.viewport.height, + ])), + null == this.viewport && + ((this.viewport = { + x: 0, + y: 0, + width: this.gl.drawingBufferWidth, + height: this.gl.drawingBufferHeight, + }), + (this.viewportArray = [ + this.viewport.x, + this.viewport.y, + this.viewport.width, + this.viewport.height, + ])), + null != t.kerning && (this.kerning = t.kerning), + null != t.offset && + ("number" == typeof t.offset && + (t.offset = [t.offset, 0]), + (this.positionOffset = m(t.offset))), + t.direction && (this.direction = t.direction), + t.range && + ((this.range = t.range), + (this.scale = [ + 1 / (t.range[2] - t.range[0]), + 1 / (t.range[3] - t.range[1]), + ]), + (this.translate = [-t.range[0], -t.range[1]])), + t.scale && (this.scale = t.scale), + t.translate && (this.translate = t.translate), + this.scale || + (this.scale = [ + 1 / this.viewport.width, + 1 / this.viewport.height, + ]), + this.translate || (this.translate = [0, 0]), + this.font.length || + t.font || + (t.font = T.baseFontSize + "px sans-serif"); + var r, + a = !1, + o = !1; + if ( + (t.font && + (Array.isArray(t.font) + ? t.font + : [t.font] + ).forEach(function (t, r) { + if ("string" == typeof t) + try { + t = n.parse(t); + } catch (e) { + t = n.parse(T.baseFontSize + "px " + t); + } + else t = n.parse(n.stringify(t)); + var i = n.stringify({ + size: T.baseFontSize, + family: t.family, + stretch: _ ? t.stretch : void 0, + variant: t.variant, + weight: t.weight, + style: t.style, + }), + s = p(t.size), + l = Math.round(s[0] * d(s[1])); + if ( + (l !== e.fontSize[r] && + ((o = !0), (e.fontSize[r] = l)), + !( + (e.font[r] && i == e.font[r].baseString) || + ((a = !0), + (e.font[r] = T.fonts[i]), + e.font[r]) + )) + ) { + var u = t.family.join(", "), + c = [t.style]; + t.style != t.variant && c.push(t.variant), + t.variant != t.weight && c.push(t.weight), + _ && + t.weight != t.stretch && + c.push(t.stretch), + (e.font[r] = { + baseString: i, + family: u, + weight: t.weight, + stretch: t.stretch, + style: t.style, + variant: t.variant, + width: {}, + kerning: {}, + metrics: y(u, { + origin: "top", + fontSize: T.baseFontSize, + fontStyle: c.join(" "), + }), + }), + (T.fonts[i] = e.font[r]); + } + }), + (a || o) && + this.font.forEach(function (r, i) { + var a = n.stringify({ + size: e.fontSize[i], + family: r.family, + stretch: _ ? r.stretch : void 0, + variant: r.variant, + weight: r.weight, + style: r.style, + }); + if ( + ((e.fontAtlas[i] = e.shader.atlas[a]), + !e.fontAtlas[i]) + ) { + var o = r.metrics; + e.shader.atlas[a] = e.fontAtlas[i] = { + fontString: a, + step: + 2 * + Math.ceil(e.fontSize[i] * o.bottom * 0.5), + em: e.fontSize[i], + cols: 0, + rows: 0, + height: 0, + width: 0, + chars: [], + ids: {}, + texture: e.regl.texture(), + }; + } + null == t.text && (t.text = e.text); + }), + "string" == typeof t.text && + t.position && + t.position.length > 2) + ) { + for ( + var s = Array(0.5 * t.position.length), h = 0; + h < s.length; + h++ + ) + s[h] = t.text; + t.text = s; + } + if (null != t.text || a) { + if ( + ((this.textOffsets = [0]), Array.isArray(t.text)) + ) { + (this.count = t.text[0].length), + (this.counts = [this.count]); + for (var b = 1; b < t.text.length; b++) + (this.textOffsets[b] = + this.textOffsets[b - 1] + + t.text[b - 1].length), + (this.count += t.text[b].length), + this.counts.push(t.text[b].length); + this.text = t.text.join(""); + } else + (this.text = t.text), + (this.count = this.text.length), + (this.counts = [this.count]); + (r = []), + this.font.forEach(function (t, n) { + T.atlasContext.font = t.baseString; + for ( + var i = e.fontAtlas[n], a = 0; + a < e.text.length; + a++ + ) { + var o = e.text.charAt(a); + if ( + (null == i.ids[o] && + ((i.ids[o] = i.chars.length), + i.chars.push(o), + r.push(o)), + null == t.width[o] && + ((t.width[o] = + T.atlasContext.measureText(o).width / + T.baseFontSize), + e.kerning)) + ) { + var s = []; + for (var l in t.width) s.push(l + o, o + l); + g(t.kerning, v(t.family, { pairs: s })); + } + } + }); + } + if (t.position) + if (t.position.length > 2) { + for ( + var w = !t.position[0].length, + k = c.mallocFloat(2 * this.count), + A = 0, + M = 0; + A < this.counts.length; + A++ + ) { + var S = this.counts[A]; + if (w) + for (var E = 0; E < S; E++) + (k[M++] = t.position[2 * A]), + (k[M++] = t.position[2 * A + 1]); + else + for (var L = 0; L < S; L++) + (k[M++] = t.position[A][0]), + (k[M++] = t.position[A][1]); + } + this.position.call + ? this.position({ type: "float", data: k }) + : (this.position = this.regl.buffer({ + type: "float", + data: k, + })), + c.freeFloat(k); + } else + this.position.destroy && this.position.destroy(), + (this.position = { constant: t.position }); + if (t.text || a) { + var C = c.mallocUint8(this.count), + O = c.mallocFloat(2 * this.count); + this.textWidth = []; + for ( + var P = 0, I = 0; + P < this.counts.length; + P++ + ) { + for ( + var D = this.counts[P], + z = this.font[P] || this.font[0], + R = this.fontAtlas[P] || this.fontAtlas[0], + F = 0; + F < D; + F++ + ) { + var B = this.text.charAt(I), + N = this.text.charAt(I - 1); + if ( + ((C[I] = R.ids[B]), + (O[2 * I] = z.width[B]), + F) + ) { + var j = O[2 * I - 2], + U = O[2 * I], + V = O[2 * I - 1] + 0.5 * j + 0.5 * U; + if (this.kerning) { + var H = z.kerning[N + B]; + H && (V += 0.001 * H); + } + O[2 * I + 1] = V; + } else O[2 * I + 1] = 0.5 * O[2 * I]; + I++; + } + this.textWidth.push( + O.length + ? 0.5 * O[2 * I - 2] + O[2 * I - 1] + : 0, + ); + } + t.align || (t.align = this.align), + this.charBuffer({ + data: C, + type: "uint8", + usage: "stream", + }), + this.sizeBuffer({ + data: O, + type: "float", + usage: "stream", + }), + c.freeUint8(C), + c.freeFloat(O), + r.length && + this.font.forEach(function (t, r) { + var n = e.fontAtlas[r], + i = n.step, + a = Math.floor(T.maxAtlasSize / i), + o = Math.min(a, n.chars.length), + s = Math.ceil(n.chars.length / o), + l = x(o * i), + c = x(s * i); + (n.width = l), + (n.height = c), + (n.rows = s), + (n.cols = o), + n.em && + n.texture({ + data: u({ + canvas: T.atlasCanvas, + font: n.fontString, + chars: n.chars, + shape: [l, c], + step: [i, i], + }), + }); + }); + } + if ( + (t.align && + ((this.align = t.align), + (this.alignOffset = this.textWidth.map( + function (t, r) { + var n = Array.isArray(e.align) + ? e.align.length > 1 + ? e.align[r] + : e.align[0] + : e.align; + if ("number" == typeof n) return n; + switch (n) { + case "right": + case "end": + return -t; + case "center": + case "centre": + case "middle": + return 0.5 * -t; + } + return 0; + }, + ))), + null == this.baseline && + null == t.baseline && + (t.baseline = 0), + null != t.baseline && + ((this.baseline = t.baseline), + Array.isArray(this.baseline) || + (this.baseline = [this.baseline]), + (this.baselineOffset = this.baseline.map( + function (t, r) { + var n = (e.font[r] || e.font[0]).metrics, + i = 0; + return ( + (i += 0.5 * n.bottom), + -1 * + (i += + "number" == typeof t + ? t - n.baseline + : -n[t]) + ); + }, + ))), + null != t.color) + ) + if ( + (t.color || (t.color = "transparent"), + "string" != typeof t.color && isNaN(t.color)) + ) { + var q; + if ( + "number" == typeof t.color[0] && + t.color.length > this.counts.length + ) { + var G = t.color.length; + q = c.mallocUint8(G); + for ( + var Z = ( + t.color.subarray || t.color.slice + ).bind(t.color), + W = 0; + W < G; + W += 4 + ) + q.set(l(Z(W, W + 4), "uint8"), W); + } else { + var Y = t.color.length; + q = c.mallocUint8(4 * Y); + for (var X = 0; X < Y; X++) + q.set(l(t.color[X] || 0, "uint8"), 4 * X); + } + this.color = q; + } else this.color = l(t.color, "uint8"); + if ( + t.position || + t.text || + t.color || + t.baseline || + t.align || + t.font || + t.offset || + t.opacity + ) + if ( + this.color.length > 4 || + this.baselineOffset.length > 1 || + (this.align && this.align.length > 1) || + this.fontAtlas.length > 1 || + this.positionOffset.length > 2 + ) { + var J = Math.max( + 0.5 * this.position.length || 0, + 0.25 * this.color.length || 0, + this.baselineOffset.length || 0, + this.alignOffset.length || 0, + this.font.length || 0, + this.opacity.length || 0, + 0.5 * this.positionOffset.length || 0, + ); + this.batch = Array(J); + for (var K = 0; K < this.batch.length; K++) + this.batch[K] = { + count: + this.counts.length > 1 + ? this.counts[K] + : this.counts[0], + offset: + this.textOffsets.length > 1 + ? this.textOffsets[K] + : this.textOffsets[0], + color: this.color + ? this.color.length <= 4 + ? this.color + : this.color.subarray(4 * K, 4 * K + 4) + : [0, 0, 0, 255], + opacity: Array.isArray(this.opacity) + ? this.opacity[K] + : this.opacity, + baseline: + null != this.baselineOffset[K] + ? this.baselineOffset[K] + : this.baselineOffset[0], + align: this.align + ? null != this.alignOffset[K] + ? this.alignOffset[K] + : this.alignOffset[0] + : 0, + atlas: this.fontAtlas[K] || this.fontAtlas[0], + positionOffset: + this.positionOffset.length > 2 + ? this.positionOffset.subarray( + 2 * K, + 2 * K + 2, + ) + : this.positionOffset, + }; + } else + this.count + ? (this.batch = [ + { + count: this.count, + offset: 0, + color: this.color || [0, 0, 0, 255], + opacity: Array.isArray(this.opacity) + ? this.opacity[0] + : this.opacity, + baseline: this.baselineOffset[0], + align: this.alignOffset + ? this.alignOffset[0] + : 0, + atlas: this.fontAtlas[0], + positionOffset: this.positionOffset, + }, + ]) + : (this.batch = []); + }), + (T.prototype.destroy = function () {}), + (T.prototype.kerning = !0), + (T.prototype.position = { + constant: new Float32Array(2), + }), + (T.prototype.translate = null), + (T.prototype.scale = null), + (T.prototype.font = null), + (T.prototype.text = ""), + (T.prototype.positionOffset = [0, 0]), + (T.prototype.opacity = 1), + (T.prototype.color = new Uint8Array([0, 0, 0, 255])), + (T.prototype.alignOffset = [0, 0]), + (T.maxAtlasSize = 1024), + (T.atlasCanvas = document.createElement("canvas")), + (T.atlasContext = T.atlasCanvas.getContext("2d", { + alpha: !1, + })), + (T.baseFontSize = 64), + (T.fonts = {}), + (t.exports = T); + }, + 12018: function (t, e, r) { + "use strict"; + var n = r(71299); + function i(t) { + if (t.container) + if (t.container == document.body) + document.body.style.width || + (t.canvas.width = + t.width || t.pixelRatio * r.g.innerWidth), + document.body.style.height || + (t.canvas.height = + t.height || t.pixelRatio * r.g.innerHeight); + else { + var e = t.container.getBoundingClientRect(); + (t.canvas.width = t.width || e.right - e.left), + (t.canvas.height = t.height || e.bottom - e.top); + } + } + function a(t) { + return ( + "function" == typeof t.getContext && + "width" in t && + "height" in t + ); + } + function o() { + var t = document.createElement("canvas"); + return ( + (t.style.position = "absolute"), + (t.style.top = 0), + (t.style.left = 0), + t + ); + } + t.exports = function (t) { + var e; + if ( + (t + ? "string" == typeof t && (t = { container: t }) + : (t = {}), + (t = + a(t) || + ("string" == typeof (e = t).nodeName && + "function" == typeof e.appendChild && + "function" == typeof e.getBoundingClientRect) + ? { container: t } + : (function (t) { + return ( + "function" == typeof t.drawArrays || + "function" == typeof t.drawElements + ); + })(t) + ? { gl: t } + : n( + t, + { + container: + "container target element el canvas holder parent parentNode wrapper use ref root node", + gl: "gl context webgl glContext", + attrs: "attributes attrs contextAttributes", + pixelRatio: + "pixelRatio pxRatio px ratio pxratio pixelratio", + width: "w width", + height: "h height", + }, + !0, + )).pixelRatio || + (t.pixelRatio = r.g.pixelRatio || 1), + t.gl) + ) + return t.gl; + if ( + (t.canvas && (t.container = t.canvas.parentNode), + t.container) + ) { + if ("string" == typeof t.container) { + var s = document.querySelector(t.container); + if (!s) + throw Error( + "Element " + t.container + " is not found", + ); + t.container = s; + } + a(t.container) + ? ((t.canvas = t.container), + (t.container = t.canvas.parentNode)) + : t.canvas || + ((t.canvas = o()), + t.container.appendChild(t.canvas), + i(t)); + } else if (!t.canvas) { + if ("undefined" == typeof document) + throw Error( + "Not DOM environment. Use headless-gl.", + ); + (t.container = + document.body || document.documentElement), + (t.canvas = o()), + t.container.appendChild(t.canvas), + i(t); + } + return ( + t.gl || + [ + "webgl", + "experimental-webgl", + "webgl-experimental", + ].some(function (e) { + try { + t.gl = t.canvas.getContext(e, t.attrs); + } catch (t) {} + return t.gl; + }), + t.gl + ); + }; + }, + 56068: function (t) { + t.exports = 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(""); + }; + }, + 40383: function (t, e, r) { + "use strict"; + var n = r(68318)("%Object.getOwnPropertyDescriptor%", !0); + if (n) + try { + n([], "length"); + } catch (t) { + n = null; + } + t.exports = n; + }, + 57035: function (t, e, r) { + "use strict"; + var n, + i = r(54404); + (n = + "function" == typeof r.g.matchMedia + ? !r.g.matchMedia("(hover: none)").matches + : i), + (t.exports = n); + }, + 38520: function (t, e, r) { + "use strict"; + var n = r(54404); + t.exports = + n && + (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; + })(); + }, + 55622: function (t, e, r) { + "use strict"; + var n = r(68318)("%Object.defineProperty%", !0), + i = function () { + if (n) + try { + return n({}, "a", { value: 1 }), !0; + } catch (t) { + return !1; + } + return !1; + }; + (i.hasArrayLengthDefineBug = function () { + if (!i()) return null; + try { + return 1 !== n([], "length", { value: 1 }).length; + } catch (t) { + return !0; + } + }), + (t.exports = i); + }, + 57877: function (t, e, r) { + "use strict"; + var n = "undefined" != typeof Symbol && Symbol, + i = r(35638); + t.exports = function () { + return ( + "function" == typeof n && + "function" == typeof Symbol && + "symbol" == typeof n("foo") && + "symbol" == typeof Symbol("bar") && + i() + ); + }; + }, + 35638: function (t) { + "use strict"; + t.exports = function () { + if ( + "function" != typeof Symbol || + "function" != typeof Object.getOwnPropertySymbols + ) + return !1; + if ("symbol" == typeof Symbol.iterator) return !0; + var t = {}, + e = Symbol("test"), + r = Object(e); + if ("string" == typeof e) return !1; + if ( + "[object Symbol]" !== + Object.prototype.toString.call(e) + ) + return !1; + if ( + "[object Symbol]" !== + Object.prototype.toString.call(r) + ) + return !1; + for (e in ((t[e] = 42), t)) return !1; + if ( + "function" == typeof Object.keys && + 0 !== Object.keys(t).length + ) + return !1; + if ( + "function" == typeof Object.getOwnPropertyNames && + 0 !== Object.getOwnPropertyNames(t).length + ) + return !1; + var n = Object.getOwnPropertySymbols(t); + if (1 !== n.length || n[0] !== e) return !1; + if (!Object.prototype.propertyIsEnumerable.call(t, e)) + return !1; + if ( + "function" == typeof Object.getOwnPropertyDescriptor + ) { + var i = Object.getOwnPropertyDescriptor(t, e); + if (42 !== i.value || !0 !== i.enumerable) return !1; + } + return !0; + }; + }, + 84543: function (t, e, r) { + "use strict"; + var n = r(35638); + t.exports = function () { + return n() && !!Symbol.toStringTag; + }; + }, + 35065: function (t, e, r) { + "use strict"; + var n = r(77575); + t.exports = n.call( + Function.call, + Object.prototype.hasOwnProperty, + ); + }, + 95280: function (t, e) { + (e.read = function (t, e, r, n, i) { + var a, + o, + s = 8 * i - n - 1, + l = (1 << s) - 1, + u = l >> 1, + c = -7, + f = r ? i - 1 : 0, + h = r ? -1 : 1, + p = t[e + f]; + for ( + f += h, a = p & ((1 << -c) - 1), p >>= -c, c += s; + c > 0; + a = 256 * a + t[e + f], f += h, c -= 8 + ); + for ( + o = a & ((1 << -c) - 1), a >>= -c, c += n; + c > 0; + o = 256 * o + t[e + f], f += h, 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); + }), + (e.write = function (t, e, r, n, i, a) { + var o, + s, + l, + u = 8 * a - i - 1, + c = (1 << u) - 1, + f = c >> 1, + h = + 23 === i + ? Math.pow(2, -24) - Math.pow(2, -77) + : 0, + p = n ? 0 : a - 1, + d = n ? 1 : -1, + v = 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 + f >= 1 + ? h / l + : h * Math.pow(2, 1 - f)) * + l >= + 2 && (o++, (l /= 2)), + o + f >= c + ? ((s = 0), (o = c)) + : o + f >= 1 + ? ((s = (e * l - 1) * Math.pow(2, i)), + (o += f)) + : ((s = + e * + Math.pow(2, f - 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 * v; + }); + }, + 42018: function (t) { + "function" == typeof Object.create + ? (t.exports = function (t, e) { + e && + ((t.super_ = e), + (t.prototype = Object.create(e.prototype, { + constructor: { + value: t, + enumerable: !1, + writable: !0, + configurable: !0, + }, + }))); + }) + : (t.exports = function (t, e) { + if (e) { + t.super_ = e; + var r = function () {}; + (r.prototype = e.prototype), + (t.prototype = new r()), + (t.prototype.constructor = t); + } + }); + }, + 47216: function (t, e, r) { + "use strict"; + var n = r(84543)(), + i = r(6614)("Object.prototype.toString"), + a = function (t) { + return ( + !( + n && + t && + "object" == typeof t && + Symbol.toStringTag in t + ) && "[object Arguments]" === i(t) + ); + }, + o = function (t) { + return ( + !!a(t) || + (null !== t && + "object" == typeof t && + "number" == typeof t.length && + t.length >= 0 && + "[object Array]" !== i(t) && + "[object Function]" === i(t.callee)) + ); + }, + s = (function () { + return a(arguments); + })(); + (a.isLegacyArguments = o), (t.exports = s ? a : o); + }, + 54404: function (t) { + t.exports = !0; + }, + 85395: function (t) { + "use strict"; + var e, + r, + n = Function.prototype.toString, + i = + "object" == typeof Reflect && + null !== Reflect && + Reflect.apply; + if ( + "function" == typeof i && + "function" == typeof Object.defineProperty + ) + try { + (e = Object.defineProperty({}, "length", { + get: function () { + throw r; + }, + })), + (r = {}), + i( + function () { + throw 42; + }, + null, + e, + ); + } catch (t) { + t !== r && (i = null); + } + else i = null; + var a = /^\s*class\b/, + o = function (t) { + try { + var e = n.call(t); + return a.test(e); + } catch (t) { + return !1; + } + }, + s = function (t) { + try { + return !o(t) && (n.call(t), !0); + } catch (t) { + return !1; + } + }, + l = Object.prototype.toString, + u = "function" == typeof Symbol && !!Symbol.toStringTag, + c = !(0 in [,]), + f = function () { + return !1; + }; + if ("object" == typeof document) { + var h = document.all; + l.call(h) === l.call(document.all) && + (f = function (t) { + if ( + (c || !t) && + (void 0 === t || "object" == typeof t) + ) + try { + var e = l.call(t); + return ( + ("[object HTMLAllCollection]" === e || + "[object HTML document.all class]" === e || + "[object HTMLCollection]" === e || + "[object Object]" === e) && + null == t("") + ); + } catch (t) {} + return !1; + }); + } + t.exports = i + ? function (t) { + if (f(t)) return !0; + if (!t) return !1; + if ("function" != typeof t && "object" != typeof t) + return !1; + try { + i(t, null, e); + } catch (t) { + if (t !== r) return !1; + } + return !o(t) && s(t); + } + : function (t) { + if (f(t)) return !0; + if (!t) return !1; + if ("function" != typeof t && "object" != typeof t) + return !1; + if (u) return s(t); + if (o(t)) return !1; + var e = l.call(t); + return ( + !( + "[object Function]" !== e && + "[object GeneratorFunction]" !== e && + !/^\[object HTML/.test(e) + ) && s(t) + ); + }; + }, + 65481: function (t, e, r) { + "use strict"; + var n, + i = Object.prototype.toString, + a = Function.prototype.toString, + o = /^\s*(?:function)?\*/, + s = r(84543)(), + l = Object.getPrototypeOf; + t.exports = function (t) { + if ("function" != typeof t) return !1; + if (o.test(a.call(t))) return !0; + if (!s) + return "[object GeneratorFunction]" === i.call(t); + if (!l) return !1; + if (void 0 === n) { + var e = (function () { + if (!s) return !1; + try { + return Function("return function*() {}")(); + } catch (t) {} + })(); + n = !!e && l(e); + } + return l(t) === n; + }; + }, + 62683: function (t) { + "use strict"; + t.exports = + "undefined" != typeof navigator && + (/MSIE/.test(navigator.userAgent) || + /Trident\//.test(navigator.appVersion)); + }, + 64274: function (t) { + "use strict"; + t.exports = function (t) { + return t != t; + }; + }, + 15567: function (t, e, r) { + "use strict"; + var n = r(68222), + i = r(17045), + a = r(64274), + o = r(14922), + s = r(22442), + l = n(o(), Number); + i(l, { getPolyfill: o, implementation: a, shim: s }), + (t.exports = l); + }, + 14922: function (t, e, r) { + "use strict"; + var n = r(64274); + t.exports = function () { + return Number.isNaN && + Number.isNaN(NaN) && + !Number.isNaN("a") + ? Number.isNaN + : n; + }; + }, + 22442: function (t, e, r) { + "use strict"; + var n = r(17045), + i = r(14922); + t.exports = function () { + var t = i(); + return ( + n( + Number, + { isNaN: t }, + { + isNaN: function () { + return Number.isNaN !== t; + }, + }, + ), + t + ); + }; + }, + 64941: function (t) { + "use strict"; + t.exports = function (t) { + var e = typeof t; + return ( + null !== t && ("object" === e || "function" === e) + ); + }; + }, + 10973: function (t) { + "use strict"; + var e = Object.prototype.toString; + t.exports = function (t) { + var r; + return ( + "[object Object]" === e.call(t) && + (null === (r = Object.getPrototypeOf(t)) || + r === Object.getPrototypeOf({})) + ); + }; + }, + 18546: function (t) { + "use strict"; + t.exports = 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; + }; + }, + 89546: function (t) { + "use strict"; + t.exports = function (t) { + return ( + "string" == typeof t && + ((t = t.trim()), + !!( + /^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t) && + /[\dz]$/i.test(t) && + t.length > 4 + )) + ); + }; + }, + 9187: function (t, e, r) { + "use strict"; + var n = r(31353), + i = r(72077), + a = r(6614), + o = a("Object.prototype.toString"), + s = r(84543)(), + l = r(40383), + u = "undefined" == typeof globalThis ? r.g : globalThis, + c = i(), + f = + a("Array.prototype.indexOf", !0) || + function (t, e) { + for (var r = 0; r < t.length; r += 1) + if (t[r] === e) return r; + return -1; + }, + h = a("String.prototype.slice"), + p = {}, + d = Object.getPrototypeOf; + s && + l && + d && + n(c, function (t) { + var e = new u[t](); + if (Symbol.toStringTag in e) { + var r = d(e), + n = l(r, Symbol.toStringTag); + if (!n) { + var i = d(r); + n = l(i, Symbol.toStringTag); + } + p[t] = n.get; + } + }), + (t.exports = function (t) { + if (!t || "object" != typeof t) return !1; + if (!s || !(Symbol.toStringTag in t)) { + var e = h(o(t), 8, -1); + return f(c, e) > -1; + } + return ( + !!l && + (function (t) { + var e = !1; + return ( + n(p, function (r, n) { + if (!e) + try { + e = r.call(t) === n; + } catch (t) {} + }), + e + ); + })(t) + ); + }); + }, + 44517: function (t) { + t.exports = (function () { + "use strict"; + var t, e, r; + function n(n, i) { + if (t) + if (e) { + var a = + "var sharedChunk = {}; (" + + t + + ")(sharedChunk); (" + + e + + ")(sharedChunk);", + o = {}; + t(o), + ((r = i(o)).workerUrl = + window.URL.createObjectURL( + new Blob([a], { type: "text/javascript" }), + )); + } else e = i; + else t = i; + } + return ( + n(0, function (t) { + function e(t, e) { + return ( + t((e = { exports: {} }), e.exports), e.exports + ); + } + var r = "1.10.1", + n = i; + function i(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); + } + (i.prototype.sampleCurveX = function (t) { + return ( + ((this.ax * t + this.bx) * t + this.cx) * t + ); + }), + (i.prototype.sampleCurveY = function (t) { + return ( + ((this.ay * t + this.by) * t + this.cy) * t + ); + }), + (i.prototype.sampleCurveDerivativeX = function ( + t, + ) { + return ( + (3 * this.ax * t + 2 * this.bx) * t + this.cx + ); + }), + (i.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 ((i = t) < (r = 0)) return r; + if (i > (n = 1)) return n; + for (; r < n; ) { + if ( + ((a = this.sampleCurveX(i)), + Math.abs(a - t) < e) + ) + return i; + t > a ? (r = i) : (n = i), + (i = 0.5 * (n - r) + r); + } + return i; + }), + (i.prototype.solve = function (t, e) { + return this.sampleCurveY( + this.solveCurveX(t, e), + ); + }); + var a = o; + function o(t, e) { + (this.x = t), (this.y = e); + } + function s(t, e, r, i) { + var a = new n(t, e, r, i); + return function (t) { + return a.solve(t); + }; + } + (o.prototype = { + clone: function () { + return new o(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 + ); + }, + }), + (o.convert = function (t) { + return t instanceof o + ? t + : Array.isArray(t) + ? new o(t[0], t[1]) + : t; + }); + var l = s(0.25, 0.1, 0.25, 1); + function u(t, e, r) { + return Math.min(r, Math.max(e, t)); + } + function c(t, e, r) { + var n = r - e, + i = ((((t - e) % n) + n) % n) + e; + return i === e ? r : i; + } + function f(t) { + for ( + var e = [], r = arguments.length - 1; + r-- > 0; + + ) + e[r] = arguments[r + 1]; + for (var n = 0, i = e; n < i.length; n += 1) { + var a = i[n]; + for (var o in a) t[o] = a[o]; + } + return t; + } + var h = 1; + function p() { + return h++; + } + function d() { + return (function t(e) { + return e + ? ( + e ^ + ((16 * Math.random()) >> (e / 4)) + ).toString(16) + : ( + [1e7] + + -[1e3] + + -4e3 + + -8e3 + + -1e11 + ).replace(/[018]/g, t); + })(); + } + function v(t) { + return ( + !!t && + /^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test( + t, + ) + ); + } + function g(t, e) { + t.forEach(function (t) { + e[t] && (e[t] = e[t].bind(e)); + }); + } + function y(t, e) { + return -1 !== t.indexOf(e, t.length - e.length); + } + function m(t, e, r) { + var n = {}; + for (var i in t) + n[i] = e.call(r || this, t[i], i, t); + return n; + } + function x(t, e, r) { + var n = {}; + for (var i in t) + e.call(r || this, t[i], i, t) && (n[i] = t[i]); + return n; + } + function b(t) { + return Array.isArray(t) + ? t.map(b) + : "object" == typeof t && t + ? m(t, b) + : t; + } + var _ = {}; + function w(t) { + _[t] || + ("undefined" != typeof console && + console.warn(t), + (_[t] = !0)); + } + function T(t, e, r) { + return ( + (r.y - t.y) * (e.x - t.x) > + (e.y - t.y) * (r.x - t.x) + ); + } + function k(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; + } + function A() { + return ( + "undefined" != typeof WorkerGlobalScope && + "undefined" != typeof self && + self instanceof WorkerGlobalScope + ); + } + function M(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; + } + var S = null; + function E(t) { + if (null == S) { + var e = t.navigator + ? t.navigator.userAgent + : null; + S = + !!t.safari || + !( + !e || + !( + /\b(iPad|iPhone|iPod)\b/.test(e) || + (e.match("Safari") && !e.match("Chrome")) + ) + ); + } + return S; + } + function L(t) { + try { + var e = self[t]; + return ( + e.setItem("_mapbox_test_", 1), + e.removeItem("_mapbox_test_"), + !0 + ); + } catch (t) { + return !1; + } + } + var C, + O, + P, + I, + D = + self.performance && self.performance.now + ? self.performance.now.bind(self.performance) + : Date.now.bind(Date), + z = + self.requestAnimationFrame || + self.mozRequestAnimationFrame || + self.webkitRequestAnimationFrame || + self.msRequestAnimationFrame, + R = + self.cancelAnimationFrame || + self.mozCancelAnimationFrame || + self.webkitCancelAnimationFrame || + self.msCancelAnimationFrame, + F = { + now: D, + frame: function (t) { + var e = z(t); + return { + cancel: function () { + return R(e); + }, + }; + }, + getImageData: function (t, e) { + void 0 === e && (e = 0); + var r = self.document.createElement("canvas"), + n = r.getContext("2d"); + if (!n) + throw new Error( + "failed to create canvas 2d context", + ); + return ( + (r.width = t.width), + (r.height = t.height), + n.drawImage(t, 0, 0, t.width, t.height), + n.getImageData( + -e, + -e, + t.width + 2 * e, + t.height + 2 * e, + ) + ); + }, + resolveURL: function (t) { + return ( + C || (C = self.document.createElement("a")), + (C.href = t), + C.href + ); + }, + hardwareConcurrency: + self.navigator.hardwareConcurrency || 4, + get devicePixelRatio() { + return self.devicePixelRatio; + }, + get prefersReducedMotion() { + return ( + !!self.matchMedia && + (null == O && + (O = self.matchMedia( + "(prefers-reduced-motion: reduce)", + )), + O.matches) + ); + }, + }, + B = { + API_URL: "https://api.mapbox.com", + get EVENTS_URL() { + return this.API_URL + ? 0 === + this.API_URL.indexOf( + "https://api.mapbox.cn", + ) + ? "https://events.mapbox.cn/events/v2" + : 0 === + this.API_URL.indexOf( + "https://api.mapbox.com", + ) + ? "https://events.mapbox.com/events/v2" + : null + : null; + }, + FEEDBACK_URL: + "https://apps.mapbox.com/feedback", + REQUIRE_ACCESS_TOKEN: !0, + ACCESS_TOKEN: null, + MAX_PARALLEL_IMAGE_REQUESTS: 16, + }, + N = { + supported: !1, + testSupport: function (t) { + !j && I && (U ? V(t) : (P = t)); + }, + }, + j = !1, + U = !1; + function V(t) { + var e = t.createTexture(); + t.bindTexture(t.TEXTURE_2D, e); + try { + if ( + (t.texImage2D( + t.TEXTURE_2D, + 0, + t.RGBA, + t.RGBA, + t.UNSIGNED_BYTE, + I, + ), + t.isContextLost()) + ) + return; + N.supported = !0; + } catch (t) {} + t.deleteTexture(e), (j = !0); + } + self.document && + (((I = + self.document.createElement("img")).onload = + function () { + P && V(P), (P = null), (U = !0); + }), + (I.onerror = function () { + (j = !0), (P = null); + }), + (I.src = + "data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=")); + var H = "01"; + var q = function (t, e) { + (this._transformRequestFn = t), + (this._customAccessToken = e), + this._createSkuToken(); + }; + function G(t) { + return 0 === t.indexOf("mapbox:"); + } + (q.prototype._createSkuToken = function () { + var t = (function () { + for (var t = "", e = 0; e < 10; e++) + t += + "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[ + Math.floor(62 * Math.random()) + ]; + return { + token: ["1", H, t].join(""), + tokenExpiresAt: Date.now() + 432e5, + }; + })(); + (this._skuToken = t.token), + (this._skuTokenExpiresAt = t.tokenExpiresAt); + }), + (q.prototype._isSkuTokenExpired = function () { + return Date.now() > this._skuTokenExpiresAt; + }), + (q.prototype.transformRequest = function (t, e) { + return ( + (this._transformRequestFn && + this._transformRequestFn(t, e)) || { + url: t, + } + ); + }), + (q.prototype.normalizeStyleURL = function (t, e) { + if (!G(t)) return t; + var r = X(t); + return ( + (r.path = "/styles/v1" + r.path), + this._makeAPIURL( + r, + this._customAccessToken || e, + ) + ); + }), + (q.prototype.normalizeGlyphsURL = function ( + t, + e, + ) { + if (!G(t)) return t; + var r = X(t); + return ( + (r.path = "/fonts/v1" + r.path), + this._makeAPIURL( + r, + this._customAccessToken || e, + ) + ); + }), + (q.prototype.normalizeSourceURL = function ( + t, + e, + ) { + if (!G(t)) return t; + var r = X(t); + return ( + (r.path = "/v4/" + r.authority + ".json"), + r.params.push("secure"), + this._makeAPIURL( + r, + this._customAccessToken || e, + ) + ); + }), + (q.prototype.normalizeSpriteURL = function ( + t, + e, + r, + n, + ) { + var i = X(t); + return G(t) + ? ((i.path = + "/styles/v1" + + i.path + + "/sprite" + + e + + r), + this._makeAPIURL( + i, + this._customAccessToken || n, + )) + : ((i.path += "" + e + r), J(i)); + }), + (q.prototype.normalizeTileURL = function (t, e) { + if ( + (this._isSkuTokenExpired() && + this._createSkuToken(), + t && !G(t)) + ) + return t; + var r = X(t), + n = + F.devicePixelRatio >= 2 || 512 === e + ? "@2x" + : "", + i = N.supported ? ".webp" : "$1"; + (r.path = r.path.replace( + /(\.(png|jpg)\d*)(?=$)/, + "" + n + i, + )), + (r.path = r.path.replace(/^.+\/v4\//, "/")), + (r.path = "/v4" + r.path); + var a = + this._customAccessToken || + (function (t) { + for ( + var e = 0, r = t; + e < r.length; + e += 1 + ) { + var n = r[e].match(/^access_token=(.*)$/); + if (n) return n[1]; + } + return null; + })(r.params) || + B.ACCESS_TOKEN; + return ( + B.REQUIRE_ACCESS_TOKEN && + a && + this._skuToken && + r.params.push("sku=" + this._skuToken), + this._makeAPIURL(r, a) + ); + }), + (q.prototype.canonicalizeTileURL = function ( + t, + e, + ) { + var r = X(t); + if ( + !r.path.match(/(^\/v4\/)/) || + !r.path.match(/\.[\w]+$/) + ) + return t; + var n = "mapbox://tiles/"; + n += r.path.replace("/v4/", ""); + var i = r.params; + return ( + e && + (i = i.filter(function (t) { + return !t.match(/^access_token=/); + })), + i.length && (n += "?" + i.join("&")), + n + ); + }), + (q.prototype.canonicalizeTileset = function ( + t, + e, + ) { + for ( + var r = !!e && G(e), + n = [], + i = 0, + a = t.tiles || []; + i < a.length; + i += 1 + ) { + var o = a[i]; + W(o) + ? n.push(this.canonicalizeTileURL(o, r)) + : n.push(o); + } + return n; + }), + (q.prototype._makeAPIURL = function (t, e) { + var r = + "See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes", + n = X(B.API_URL); + if ( + ((t.protocol = n.protocol), + (t.authority = n.authority), + "/" !== n.path && + (t.path = "" + n.path + t.path), + !B.REQUIRE_ACCESS_TOKEN) + ) + return J(t); + if (!(e = e || B.ACCESS_TOKEN)) + throw new Error( + "An API access token is required to use Mapbox GL. " + + r, + ); + if ("s" === e[0]) + throw new Error( + "Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). " + + r, + ); + return ( + (t.params = t.params.filter(function (t) { + return -1 === t.indexOf("access_token"); + })), + t.params.push("access_token=" + e), + J(t) + ); + }); + var Z = + /^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i; + function W(t) { + return Z.test(t); + } + var Y = /^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/; + function X(t) { + var e = t.match(Y); + 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 J(t) { + var e = t.params.length + ? "?" + t.params.join("&") + : ""; + return ( + t.protocol + "://" + t.authority + t.path + e + ); + } + var K = "mapbox.eventData"; + function $(t) { + if (!t) return null; + var e, + r = t.split("."); + if (!r || 3 !== r.length) return null; + try { + return JSON.parse( + ((e = r[1]), + decodeURIComponent( + self + .atob(e) + .split("") + .map(function (t) { + return ( + "%" + + ( + "00" + t.charCodeAt(0).toString(16) + ).slice(-2) + ); + }) + .join(""), + )), + ); + } catch (t) { + return null; + } + } + var Q = function (t) { + (this.type = t), + (this.anonId = null), + (this.eventData = {}), + (this.queue = []), + (this.pendingRequest = null); + }; + (Q.prototype.getStorageKey = function (t) { + var e, + r, + n = $(B.ACCESS_TOKEN); + return ( + (e = + n && n.u + ? ((r = n.u), + self.btoa( + encodeURIComponent(r).replace( + /%([0-9A-F]{2})/g, + function (t, e) { + return String.fromCharCode( + Number("0x" + e), + ); + }, + ), + )) + : B.ACCESS_TOKEN || ""), + t ? K + "." + t + ":" + e : K + ":" + e + ); + }), + (Q.prototype.fetchEventData = function () { + var t = L("localStorage"), + e = this.getStorageKey(), + r = this.getStorageKey("uuid"); + if (t) + try { + var n = self.localStorage.getItem(e); + n && (this.eventData = JSON.parse(n)); + var i = self.localStorage.getItem(r); + i && (this.anonId = i); + } catch (t) { + w("Unable to read from LocalStorage"); + } + }), + (Q.prototype.saveEventData = function () { + var t = L("localStorage"), + e = this.getStorageKey(), + r = this.getStorageKey("uuid"); + if (t) + try { + self.localStorage.setItem(r, this.anonId), + Object.keys(this.eventData).length >= 1 && + self.localStorage.setItem( + e, + JSON.stringify(this.eventData), + ); + } catch (t) { + w("Unable to write to LocalStorage"); + } + }), + (Q.prototype.processRequests = function (t) {}), + (Q.prototype.postEvent = function (t, e, n, i) { + var a = this; + if (B.EVENTS_URL) { + var o = X(B.EVENTS_URL); + o.params.push( + "access_token=" + + (i || B.ACCESS_TOKEN || ""), + ); + var s = { + event: this.type, + created: new Date(t).toISOString(), + sdkIdentifier: "mapbox-gl-js", + sdkVersion: r, + skuId: H, + userId: this.anonId, + }, + l = e ? f(s, e) : s, + u = { + url: J(o), + headers: { "Content-Type": "text/plain" }, + body: JSON.stringify([l]), + }; + this.pendingRequest = kt(u, function (t) { + (a.pendingRequest = null), + n(t), + a.saveEventData(), + a.processRequests(i); + }); + } + }), + (Q.prototype.queueRequest = function (t, e) { + this.queue.push(t), this.processRequests(e); + }); + var tt, + et, + rt = (function (t) { + function e() { + t.call(this, "map.load"), + (this.success = {}), + (this.skuToken = ""); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + (e.prototype.postMapLoadEvent = function ( + t, + e, + r, + n, + ) { + (this.skuToken = r), + ((B.EVENTS_URL && n) || + (B.ACCESS_TOKEN && + Array.isArray(t) && + t.some(function (t) { + return G(t) || W(t); + }))) && + this.queueRequest( + { id: e, timestamp: Date.now() }, + n, + ); + }), + (e.prototype.processRequests = function (t) { + var e = this; + if ( + !this.pendingRequest && + 0 !== this.queue.length + ) { + var r = this.queue.shift(), + n = r.id, + i = r.timestamp; + (n && this.success[n]) || + (this.anonId || this.fetchEventData(), + v(this.anonId) || (this.anonId = d()), + this.postEvent( + i, + { skuToken: this.skuToken }, + function (t) { + t || (n && (e.success[n] = !0)); + }, + t, + )); + } + }), + e + ); + })(Q), + nt = (function (t) { + function e(e) { + t.call(this, "appUserTurnstile"), + (this._customAccessToken = e); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + (e.prototype.postTurnstileEvent = function ( + t, + e, + ) { + B.EVENTS_URL && + B.ACCESS_TOKEN && + Array.isArray(t) && + t.some(function (t) { + return G(t) || W(t); + }) && + this.queueRequest(Date.now(), e); + }), + (e.prototype.processRequests = function (t) { + var e = this; + if ( + !this.pendingRequest && + 0 !== this.queue.length + ) { + (this.anonId && + this.eventData.lastSuccess && + this.eventData.tokenU) || + this.fetchEventData(); + var r = $(B.ACCESS_TOKEN), + n = r ? r.u : B.ACCESS_TOKEN, + i = n !== this.eventData.tokenU; + v(this.anonId) || + ((this.anonId = d()), (i = !0)); + var a = this.queue.shift(); + if (this.eventData.lastSuccess) { + var o = new Date( + this.eventData.lastSuccess, + ), + s = new Date(a), + l = + (a - this.eventData.lastSuccess) / + 864e5; + i = + i || + l >= 1 || + l < -1 || + o.getDate() !== s.getDate(); + } else i = !0; + if (!i) return this.processRequests(); + this.postEvent( + a, + { "enabled.telemetry": !1 }, + function (t) { + t || + ((e.eventData.lastSuccess = a), + (e.eventData.tokenU = n)); + }, + t, + ); + } + }), + e + ); + })(Q), + it = new nt(), + at = it.postTurnstileEvent.bind(it), + ot = new rt(), + st = ot.postMapLoadEvent.bind(ot), + lt = "mapbox-tiles", + ut = 500, + ct = 50; + function ft() { + self.caches && !tt && (tt = self.caches.open(lt)); + } + function ht(t, e, r) { + if ((ft(), tt)) { + var n = { + status: e.status, + statusText: e.statusText, + headers: new self.Headers(), + }; + e.headers.forEach(function (t, e) { + return n.headers.set(e, t); + }); + var i = M(e.headers.get("Cache-Control") || ""); + i["no-store"] || + (i["max-age"] && + n.headers.set( + "Expires", + new Date( + r + 1e3 * i["max-age"], + ).toUTCString(), + ), + new Date(n.headers.get("Expires")).getTime() - + r < + 42e4 || + (function (t, e) { + if (void 0 === et) + try { + new Response(new ReadableStream()), + (et = !0); + } catch (t) { + et = !1; + } + et ? e(t.body) : t.blob().then(e); + })(e, function (e) { + var r = new self.Response(e, n); + ft(), + tt && + tt + .then(function (e) { + return e.put(pt(t.url), r); + }) + .catch(function (t) { + return w(t.message); + }); + })); + } + } + function pt(t) { + var e = t.indexOf("?"); + return e < 0 ? t : t.slice(0, e); + } + function dt(t, e) { + if ((ft(), !tt)) return e(null); + var r = pt(t.url); + tt.then(function (t) { + t.match(r) + .then(function (n) { + var i = (function (t) { + if (!t) return !1; + var e = new Date( + t.headers.get("Expires") || 0, + ), + r = M( + t.headers.get("Cache-Control") || "", + ); + return e > Date.now() && !r["no-cache"]; + })(n); + t.delete(r), + i && t.put(r, n.clone()), + e(null, n, i); + }) + .catch(e); + }).catch(e); + } + var vt, + gt = 1 / 0; + function yt() { + return ( + null == vt && + (vt = + self.OffscreenCanvas && + new self.OffscreenCanvas(1, 1).getContext( + "2d", + ) && + "function" == + typeof self.createImageBitmap), + vt + ); + } + var mt = { + Unknown: "Unknown", + Style: "Style", + Source: "Source", + Tile: "Tile", + Glyphs: "Glyphs", + SpriteImage: "SpriteImage", + SpriteJSON: "SpriteJSON", + Image: "Image", + }; + "function" == typeof Object.freeze && + Object.freeze(mt); + var xt = (function (t) { + function e(e, r, n) { + 401 === r && + W(n) && + (e += + ": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"), + t.call(this, e), + (this.status = r), + (this.url = n), + (this.name = this.constructor.name), + (this.message = e); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + (e.prototype.toString = function () { + return ( + this.name + + ": " + + this.message + + " (" + + this.status + + "): " + + this.url + ); + }), + e + ); + })(Error), + bt = A() + ? function () { + return self.worker && self.worker.referrer; + } + : function () { + return ( + "blob:" === self.location.protocol + ? self.parent + : self + ).location.href; + }; + function _t(t, e) { + var r, + n = new self.AbortController(), + i = new self.Request(t.url, { + method: t.method || "GET", + body: t.body, + credentials: t.credentials, + headers: t.headers, + referrer: bt(), + signal: n.signal, + }), + a = !1, + o = !1, + s = (r = i.url).indexOf("sku=") > 0 && W(r); + "json" === t.type && + i.headers.set("Accept", "application/json"); + var l = function (r, n, a) { + if (!o) { + if ( + (r && + "SecurityError" !== r.message && + w(r), + n && a) + ) + return u(n); + var l = Date.now(); + self + .fetch(i) + .then(function (r) { + if (r.ok) { + var n = s ? r.clone() : null; + return u(r, n, l); + } + return e( + new xt(r.statusText, r.status, t.url), + ); + }) + .catch(function (t) { + 20 !== t.code && + e(new Error(t.message)); + }); + } + }, + u = function (r, n, s) { + ("arrayBuffer" === t.type + ? r.arrayBuffer() + : "json" === t.type + ? r.json() + : r.text() + ) + .then(function (t) { + o || + (n && s && ht(i, n, s), + (a = !0), + e( + null, + t, + r.headers.get("Cache-Control"), + r.headers.get("Expires"), + )); + }) + .catch(function (t) { + o || e(new Error(t.message)); + }); + }; + return ( + s ? dt(i, l) : l(null, null), + { + cancel: function () { + (o = !0), a || n.abort(); + }, + } + ); + } + var wt = function (t, e) { + if ( + ((r = t.url), + !( + /^file:/.test(r) || + (/^file:/.test(bt()) && !/^\w+:/.test(r)) + )) + ) { + if ( + self.fetch && + self.Request && + self.AbortController && + self.Request.prototype.hasOwnProperty( + "signal", + ) + ) + return _t(t, e); + if (A() && self.worker && self.worker.actor) { + return self.worker.actor.send( + "getResource", + t, + e, + void 0, + !0, + ); + } + } + var r; + return (function (t, e) { + var r = new self.XMLHttpRequest(); + for (var n in (r.open( + t.method || "GET", + t.url, + !0, + ), + "arrayBuffer" === t.type && + (r.responseType = "arraybuffer"), + t.headers)) + r.setRequestHeader(n, t.headers[n]); + return ( + "json" === t.type && + ((r.responseType = "text"), + r.setRequestHeader( + "Accept", + "application/json", + )), + (r.withCredentials = + "include" === t.credentials), + (r.onerror = function () { + e(new Error(r.statusText)); + }), + (r.onload = function () { + if ( + ((r.status >= 200 && r.status < 300) || + 0 === r.status) && + null !== r.response + ) { + var n = r.response; + if ("json" === t.type) + try { + n = JSON.parse(r.response); + } catch (t) { + return e(t); + } + e( + null, + n, + r.getResponseHeader("Cache-Control"), + r.getResponseHeader("Expires"), + ); + } else + e( + new xt(r.statusText, r.status, t.url), + ); + }), + r.send(t.body), + { + cancel: function () { + return r.abort(); + }, + } + ); + })(t, e); + }, + Tt = function (t, e) { + return wt(f(t, { type: "arrayBuffer" }), e); + }, + kt = function (t, e) { + return wt(f(t, { method: "POST" }), e); + }; + var At, Mt; + (At = []), (Mt = 0); + var St = function (t, e) { + if ( + (N.supported && + (t.headers || (t.headers = {}), + (t.headers.accept = "image/webp,*/*")), + Mt >= B.MAX_PARALLEL_IMAGE_REQUESTS) + ) { + var r = { + requestParameters: t, + callback: e, + cancelled: !1, + cancel: function () { + this.cancelled = !0; + }, + }; + return At.push(r), r; + } + Mt++; + var n = !1, + i = function () { + if (!n) + for ( + n = !0, Mt--; + At.length && + Mt < B.MAX_PARALLEL_IMAGE_REQUESTS; + + ) { + var t = At.shift(), + e = t.requestParameters, + r = t.callback; + t.cancelled || + (t.cancel = St(e, r).cancel); + } + }, + a = Tt(t, function (t, r, n, a) { + i(), + t + ? e(t) + : r && + (yt() + ? (function (t, e) { + var r = new self.Blob( + [new Uint8Array(t)], + { type: "image/png" }, + ); + self + .createImageBitmap(r) + .then(function (t) { + e(null, t); + }) + .catch(function (t) { + e( + new Error( + "Could not load image because of " + + t.message + + ". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.", + ), + ); + }); + })(r, e) + : (function (t, e, r, n) { + var i = new self.Image(), + a = self.URL; + (i.onload = function () { + e(null, i), + a.revokeObjectURL(i.src); + }), + (i.onerror = function () { + return e( + new Error( + "Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.", + ), + ); + }); + var o = new self.Blob( + [new Uint8Array(t)], + { type: "image/png" }, + ); + (i.cacheControl = r), + (i.expires = n), + (i.src = t.byteLength + ? a.createObjectURL(o) + : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII="); + })(r, e, n, a)); + }); + return { + cancel: function () { + a.cancel(), i(); + }, + }; + }; + function Et(t, e, r) { + (r[t] && -1 !== r[t].indexOf(e)) || + ((r[t] = r[t] || []), r[t].push(e)); + } + function Lt(t, e, r) { + if (r && r[t]) { + var n = r[t].indexOf(e); + -1 !== n && r[t].splice(n, 1); + } + } + var Ct = function (t, e) { + void 0 === e && (e = {}), + f(this, e), + (this.type = t); + }, + Ot = (function (t) { + function e(e, r) { + void 0 === r && (r = {}), + t.call(this, "error", f({ error: e }, r)); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + e + ); + })(Ct), + Pt = function () {}; + (Pt.prototype.on = function (t, e) { + return ( + (this._listeners = this._listeners || {}), + Et(t, e, this._listeners), + this + ); + }), + (Pt.prototype.off = function (t, e) { + return ( + Lt(t, e, this._listeners), + Lt(t, e, this._oneTimeListeners), + this + ); + }), + (Pt.prototype.once = function (t, e) { + return ( + (this._oneTimeListeners = + this._oneTimeListeners || {}), + Et(t, e, this._oneTimeListeners), + this + ); + }), + (Pt.prototype.fire = function (t, e) { + "string" == typeof t && + (t = new Ct(t, e || {})); + var r = t.type; + if (this.listens(r)) { + t.target = this; + for ( + var n = 0, + i = + this._listeners && this._listeners[r] + ? this._listeners[r].slice() + : []; + n < i.length; + n += 1 + ) + i[n].call(this, t); + for ( + var a = 0, + o = + this._oneTimeListeners && + this._oneTimeListeners[r] + ? this._oneTimeListeners[r].slice() + : []; + a < o.length; + a += 1 + ) { + var s = o[a]; + Lt(r, s, this._oneTimeListeners), + s.call(this, t); + } + var l = this._eventedParent; + l && + (f( + t, + "function" == + typeof this._eventedParentData + ? this._eventedParentData() + : this._eventedParentData, + ), + l.fire(t)); + } else + t instanceof Ot && console.error(t.error); + return this; + }), + (Pt.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)) + ); + }), + (Pt.prototype.setEventedParent = function (t, e) { + return ( + (this._eventedParent = t), + (this._eventedParentData = e), + this + ); + }); + var It = { + $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_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.051129, 180, 85.051129], + }, + scheme: { + type: "enum", + values: { xyz: {}, tms: {} }, + default: "xyz", + }, + minzoom: { type: "number", default: 0 }, + maxzoom: { type: "number", default: 22 }, + attribution: { type: "string" }, + promoteId: { type: "promoteId" }, + "*": { 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.051129, 180, 85.051129], + }, + 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.051129, 180, 85.051129], + }, + minzoom: { type: "number", default: 0 }, + maxzoom: { type: "number", default: 22 }, + tileSize: { + type: "number", + default: 512, + units: "pixels", + }, + attribution: { type: "string" }, + encoding: { + type: "enum", + values: { terrarium: {}, mapbox: {} }, + default: "mapbox", + }, + "*": { type: "*" }, + }, + source_geojson: { + type: { + required: !0, + type: "enum", + values: { geojson: {} }, + }, + data: { type: "*" }, + maxzoom: { type: "number", default: 18 }, + attribution: { type: "string" }, + buffer: { + type: "number", + default: 128, + maximum: 512, + minimum: 0, + }, + tolerance: { type: "number", default: 0.375 }, + cluster: { type: "boolean", default: !1 }, + clusterRadius: { + type: "number", + default: 50, + minimum: 0, + }, + clusterMaxZoom: { type: "number" }, + clusterProperties: { type: "*" }, + lineMetrics: { type: "boolean", default: !1 }, + generateId: { type: "boolean", default: !1 }, + promoteId: { type: "promoteId" }, + }, + source_video: { + type: { + required: !0, + type: "enum", + values: { video: {} }, + }, + urls: { + required: !0, + type: "array", + value: "string", + }, + coordinates: { + required: !0, + type: "array", + length: 4, + value: { + type: "array", + length: 2, + value: "number", + }, + }, + }, + source_image: { + type: { + required: !0, + type: "enum", + values: { image: {} }, + }, + url: { required: !0, type: "string" }, + coordinates: { + required: !0, + type: "array", + length: 4, + value: { + type: "array", + length: 2, + value: "number", + }, + }, + }, + layer: { + id: { type: "string", required: !0 }, + type: { + type: "enum", + values: { + fill: {}, + line: {}, + symbol: {}, + circle: {}, + 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", + "property-type": "constant", + }, + }, + layout_fill: { + "fill-sort-key": { + type: "number", + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + "property-type": "constant", + }, + }, + layout_circle: { + "circle-sort-key": { + type: "number", + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + "property-type": "constant", + }, + }, + layout_heatmap: { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + "property-type": "constant", + }, + }, + "layout_fill-extrusion": { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + "property-type": "constant", + }, + }, + layout_line: { + "line-cap": { + type: "enum", + values: { butt: {}, round: {}, square: {} }, + default: "butt", + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "line-join": { + type: "enum", + values: { bevel: {}, round: {}, miter: {} }, + default: "miter", + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "line-miter-limit": { + type: "number", + default: 2, + requires: [{ "line-join": "miter" }], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "line-round-limit": { + type: "number", + default: 1.05, + requires: [{ "line-join": "round" }], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "line-sort-key": { + type: "number", + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + "property-type": "constant", + }, + }, + layout_symbol: { + "symbol-placement": { + type: "enum", + values: { + point: {}, + line: {}, + "line-center": {}, + }, + default: "point", + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "symbol-spacing": { + type: "number", + default: 250, + minimum: 1, + units: "pixels", + requires: [{ "symbol-placement": "line" }], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "symbol-avoid-edges": { + type: "boolean", + default: !1, + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "symbol-sort-key": { + type: "number", + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "symbol-z-order": { + type: "enum", + values: { + auto: {}, + "viewport-y": {}, + source: {}, + }, + default: "auto", + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-allow-overlap": { + type: "boolean", + default: !1, + requires: ["icon-image"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-ignore-placement": { + type: "boolean", + default: !1, + requires: ["icon-image"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-optional": { + type: "boolean", + default: !1, + requires: ["icon-image", "text-field"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-rotation-alignment": { + type: "enum", + values: { map: {}, viewport: {}, auto: {} }, + default: "auto", + requires: ["icon-image"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-size": { + type: "number", + default: 1, + minimum: 0, + units: "factor of the original icon size", + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "icon-text-fit": { + type: "enum", + values: { + none: {}, + width: {}, + height: {}, + both: {}, + }, + default: "none", + requires: ["icon-image", "text-field"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-text-fit-padding": { + type: "array", + value: "number", + length: 4, + default: [0, 0, 0, 0], + units: "pixels", + requires: [ + "icon-image", + "text-field", + { + "icon-text-fit": [ + "both", + "width", + "height", + ], + }, + ], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-image": { + type: "resolvedImage", + tokens: !0, + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "icon-rotate": { + type: "number", + default: 0, + period: 360, + units: "degrees", + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "icon-padding": { + type: "number", + default: 2, + minimum: 0, + units: "pixels", + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-keep-upright": { + type: "boolean", + default: !1, + requires: [ + "icon-image", + { "icon-rotation-alignment": "map" }, + { + "symbol-placement": [ + "line", + "line-center", + ], + }, + ], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-offset": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "icon-anchor": { + type: "enum", + values: { + center: {}, + left: {}, + right: {}, + top: {}, + bottom: {}, + "top-left": {}, + "top-right": {}, + "bottom-left": {}, + "bottom-right": {}, + }, + default: "center", + requires: ["icon-image"], + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "icon-pitch-alignment": { + type: "enum", + values: { map: {}, viewport: {}, auto: {} }, + default: "auto", + requires: ["icon-image"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-pitch-alignment": { + type: "enum", + values: { map: {}, viewport: {}, auto: {} }, + default: "auto", + requires: ["text-field"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-rotation-alignment": { + type: "enum", + values: { map: {}, viewport: {}, auto: {} }, + default: "auto", + requires: ["text-field"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-field": { + type: "formatted", + default: "", + tokens: !0, + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-font": { + type: "array", + value: "string", + default: [ + "Open Sans Regular", + "Arial Unicode MS Regular", + ], + requires: ["text-field"], + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-size": { + type: "number", + default: 16, + minimum: 0, + units: "pixels", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-max-width": { + type: "number", + default: 10, + minimum: 0, + units: "ems", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-line-height": { + type: "number", + default: 1.2, + units: "ems", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-letter-spacing": { + type: "number", + default: 0, + units: "ems", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-justify": { + type: "enum", + values: { + auto: {}, + left: {}, + center: {}, + right: {}, + }, + default: "center", + requires: ["text-field"], + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-radial-offset": { + type: "number", + units: "ems", + default: 0, + requires: ["text-field"], + "property-type": "data-driven", + expression: { + interpolated: !0, + parameters: ["zoom", "feature"], + }, + }, + "text-variable-anchor": { + type: "array", + value: "enum", + values: { + center: {}, + left: {}, + right: {}, + top: {}, + bottom: {}, + "top-left": {}, + "top-right": {}, + "bottom-left": {}, + "bottom-right": {}, + }, + requires: [ + "text-field", + { "symbol-placement": ["point"] }, + ], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-anchor": { + type: "enum", + values: { + center: {}, + left: {}, + right: {}, + top: {}, + bottom: {}, + "top-left": {}, + "top-right": {}, + "bottom-left": {}, + "bottom-right": {}, + }, + default: "center", + requires: [ + "text-field", + { "!": "text-variable-anchor" }, + ], + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-max-angle": { + type: "number", + default: 45, + units: "degrees", + requires: [ + "text-field", + { + "symbol-placement": [ + "line", + "line-center", + ], + }, + ], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-writing-mode": { + type: "array", + value: "enum", + values: { horizontal: {}, vertical: {} }, + requires: [ + "text-field", + { "symbol-placement": ["point"] }, + ], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-rotate": { + type: "number", + default: 0, + period: 360, + units: "degrees", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-padding": { + type: "number", + default: 2, + minimum: 0, + units: "pixels", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-keep-upright": { + type: "boolean", + default: !0, + requires: [ + "text-field", + { "text-rotation-alignment": "map" }, + { + "symbol-placement": [ + "line", + "line-center", + ], + }, + ], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-transform": { + type: "enum", + values: { + none: {}, + uppercase: {}, + lowercase: {}, + }, + default: "none", + requires: ["text-field"], + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-offset": { + type: "array", + value: "number", + units: "ems", + length: 2, + default: [0, 0], + requires: [ + "text-field", + { "!": "text-radial-offset" }, + ], + expression: { + interpolated: !0, + parameters: ["zoom", "feature"], + }, + "property-type": "data-driven", + }, + "text-allow-overlap": { + type: "boolean", + default: !1, + requires: ["text-field"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-ignore-placement": { + type: "boolean", + default: !1, + requires: ["text-field"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-optional": { + type: "boolean", + default: !1, + requires: ["text-field", "icon-image"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + "property-type": "constant", + }, + }, + layout_raster: { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + "property-type": "constant", + }, + }, + layout_hillshade: { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + "property-type": "constant", + }, + }, + filter: { type: "array", value: "*" }, + filter_operator: { + type: "enum", + values: { + "==": {}, + "!=": {}, + ">": {}, + ">=": {}, + "<": {}, + "<=": {}, + in: {}, + "!in": {}, + all: {}, + any: {}, + none: {}, + has: {}, + "!has": {}, + within: {}, + }, + }, + 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: 24, + 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" }, + in: { group: "Lookup" }, + "index-of": { group: "Lookup" }, + slice: { group: "Lookup" }, + case: { group: "Decision" }, + match: { group: "Decision" }, + coalesce: { group: "Decision" }, + step: { group: "Ramps, scales, curves" }, + interpolate: { + group: "Ramps, scales, curves", + }, + "interpolate-hcl": { + group: "Ramps, scales, curves", + }, + "interpolate-lab": { + 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" }, + collator: { group: "Types" }, + format: { group: "Types" }, + image: { group: "Types" }, + "number-format": { 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" }, + "feature-state": { group: "Feature data" }, + "geometry-type": { group: "Feature data" }, + id: { group: "Feature data" }, + zoom: { group: "Zoom" }, + "heatmap-density": { group: "Heatmap" }, + "line-progress": { group: "Feature data" }, + accumulated: { group: "Feature data" }, + "+": { 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" }, + round: { group: "Math" }, + abs: { group: "Math" }, + ceil: { group: "Math" }, + floor: { group: "Math" }, + distance: { group: "Math" }, + "==": { group: "Decision" }, + "!=": { group: "Decision" }, + ">": { group: "Decision" }, + "<": { group: "Decision" }, + ">=": { group: "Decision" }, + "<=": { group: "Decision" }, + all: { group: "Decision" }, + any: { group: "Decision" }, + "!": { group: "Decision" }, + within: { group: "Decision" }, + "is-supported-script": { group: "String" }, + upcase: { group: "String" }, + downcase: { group: "String" }, + concat: { group: "String" }, + "resolved-locale": { group: "String" }, + }, + }, + light: { + anchor: { + type: "enum", + default: "viewport", + values: { map: {}, viewport: {} }, + "property-type": "data-constant", + transition: !1, + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + }, + position: { + type: "array", + default: [1.15, 210, 30], + length: 3, + value: "number", + "property-type": "data-constant", + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + }, + color: { + type: "color", + "property-type": "data-constant", + default: "#ffffff", + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + transition: !0, + }, + intensity: { + type: "number", + "property-type": "data-constant", + default: 0.5, + minimum: 0, + maximum: 1, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + 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", + default: !0, + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "fill-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "fill-color": { + type: "color", + default: "#000000", + transition: !0, + requires: [{ "!": "fill-pattern" }], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "fill-outline-color": { + type: "color", + transition: !0, + requires: [ + { "!": "fill-pattern" }, + { "fill-antialias": !0 }, + ], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "fill-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "fill-translate-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + requires: ["fill-translate"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "fill-pattern": { + type: "resolvedImage", + transition: !0, + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "cross-faded-data-driven", + }, + }, + "paint_fill-extrusion": { + "fill-extrusion-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "fill-extrusion-color": { + type: "color", + default: "#000000", + transition: !0, + requires: [ + { "!": "fill-extrusion-pattern" }, + ], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "fill-extrusion-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "fill-extrusion-translate-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + requires: ["fill-extrusion-translate"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "fill-extrusion-pattern": { + type: "resolvedImage", + transition: !0, + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "cross-faded-data-driven", + }, + "fill-extrusion-height": { + type: "number", + default: 0, + minimum: 0, + units: "meters", + transition: !0, + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "fill-extrusion-base": { + type: "number", + default: 0, + minimum: 0, + units: "meters", + transition: !0, + requires: ["fill-extrusion-height"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "fill-extrusion-vertical-gradient": { + type: "boolean", + default: !0, + transition: !1, + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + }, + paint_line: { + "line-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "line-color": { + type: "color", + default: "#000000", + transition: !0, + requires: [{ "!": "line-pattern" }], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "line-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "line-translate-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + requires: ["line-translate"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "line-width": { + type: "number", + default: 1, + minimum: 0, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "line-gap-width": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "line-offset": { + type: "number", + default: 0, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "line-blur": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "line-dasharray": { + type: "array", + value: "number", + minimum: 0, + transition: !0, + units: "line widths", + requires: [{ "!": "line-pattern" }], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "cross-faded", + }, + "line-pattern": { + type: "resolvedImage", + transition: !0, + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + "property-type": "cross-faded-data-driven", + }, + "line-gradient": { + type: "color", + transition: !1, + requires: [ + { "!": "line-dasharray" }, + { "!": "line-pattern" }, + { + source: "geojson", + has: { lineMetrics: !0 }, + }, + ], + expression: { + interpolated: !0, + parameters: ["line-progress"], + }, + "property-type": "color-ramp", + }, + }, + paint_circle: { + "circle-radius": { + type: "number", + default: 5, + minimum: 0, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "circle-color": { + type: "color", + default: "#000000", + transition: !0, + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "circle-blur": { + type: "number", + default: 0, + transition: !0, + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "circle-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "circle-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "circle-translate-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + requires: ["circle-translate"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "circle-pitch-scale": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "circle-pitch-alignment": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "viewport", + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "circle-stroke-width": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "circle-stroke-color": { + type: "color", + default: "#000000", + transition: !0, + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "circle-stroke-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + }, + paint_heatmap: { + "heatmap-radius": { + type: "number", + default: 30, + minimum: 1, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "heatmap-weight": { + type: "number", + default: 1, + minimum: 0, + transition: !1, + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "heatmap-intensity": { + type: "number", + default: 1, + minimum: 0, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "heatmap-color": { + type: "color", + default: [ + "interpolate", + ["linear"], + ["heatmap-density"], + 0, + "rgba(0, 0, 255, 0)", + 0.1, + "royalblue", + 0.3, + "cyan", + 0.5, + "lime", + 0.7, + "yellow", + 1, + "red", + ], + transition: !1, + expression: { + interpolated: !0, + parameters: ["heatmap-density"], + }, + "property-type": "color-ramp", + }, + "heatmap-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + }, + paint_symbol: { + "icon-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "icon-color": { + type: "color", + default: "#000000", + transition: !0, + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "icon-halo-color": { + type: "color", + default: "rgba(0, 0, 0, 0)", + transition: !0, + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "icon-halo-width": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "icon-halo-blur": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "icon-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + transition: !0, + units: "pixels", + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "icon-translate-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + requires: ["icon-image", "icon-translate"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "text-color": { + type: "color", + default: "#000000", + transition: !0, + overridable: !0, + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "text-halo-color": { + type: "color", + default: "rgba(0, 0, 0, 0)", + transition: !0, + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "text-halo-width": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "text-halo-blur": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: [ + "zoom", + "feature", + "feature-state", + ], + }, + "property-type": "data-driven", + }, + "text-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + transition: !0, + units: "pixels", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "text-translate-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + requires: ["text-field", "text-translate"], + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + }, + paint_raster: { + "raster-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "raster-hue-rotate": { + type: "number", + default: 0, + period: 360, + transition: !0, + units: "degrees", + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "raster-brightness-min": { + type: "number", + default: 0, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "raster-brightness-max": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "raster-saturation": { + type: "number", + default: 0, + minimum: -1, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "raster-contrast": { + type: "number", + default: 0, + minimum: -1, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "raster-resampling": { + type: "enum", + values: { linear: {}, nearest: {} }, + default: "linear", + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "raster-fade-duration": { + type: "number", + default: 300, + minimum: 0, + transition: !1, + units: "milliseconds", + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + }, + paint_hillshade: { + "hillshade-illumination-direction": { + type: "number", + default: 335, + minimum: 0, + maximum: 359, + transition: !1, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "hillshade-illumination-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "viewport", + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "hillshade-exaggeration": { + type: "number", + default: 0.5, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "hillshade-shadow-color": { + type: "color", + default: "#000000", + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "hillshade-highlight-color": { + type: "color", + default: "#FFFFFF", + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "hillshade-accent-color": { + type: "color", + default: "#000000", + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + }, + paint_background: { + "background-color": { + type: "color", + default: "#000000", + transition: !0, + requires: [{ "!": "background-pattern" }], + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + "background-pattern": { + type: "resolvedImage", + transition: !0, + expression: { + interpolated: !1, + parameters: ["zoom"], + }, + "property-type": "cross-faded", + }, + "background-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom"], + }, + "property-type": "data-constant", + }, + }, + transition: { + duration: { + type: "number", + default: 300, + minimum: 0, + units: "milliseconds", + }, + delay: { + type: "number", + default: 0, + minimum: 0, + units: "milliseconds", + }, + }, + "property-type": { + "data-driven": { type: "property-type" }, + "cross-faded": { type: "property-type" }, + "cross-faded-data-driven": { + type: "property-type", + }, + "color-ramp": { type: "property-type" }, + "data-constant": { type: "property-type" }, + constant: { type: "property-type" }, + }, + promoteId: { "*": { type: "string" } }, + }, + Dt = function (t, e, r, n) { + (this.message = (t ? t + ": " : "") + r), + n && (this.identifier = n), + null != e && + e.__line__ && + (this.line = e.__line__); + }; + function zt(t) { + var e = t.key, + r = t.value; + return r + ? [ + new Dt( + e, + r, + "constants have been deprecated as of v8", + ), + ] + : []; + } + function Rt(t) { + for ( + var e = [], r = arguments.length - 1; + r-- > 0; + + ) + e[r] = arguments[r + 1]; + for (var n = 0, i = e; n < i.length; n += 1) { + var a = i[n]; + for (var o in a) t[o] = a[o]; + } + return t; + } + function Ft(t) { + return t instanceof Number || + t instanceof String || + t instanceof Boolean + ? t.valueOf() + : t; + } + function Bt(t) { + if (Array.isArray(t)) return t.map(Bt); + if ( + t instanceof Object && + !( + t instanceof Number || + t instanceof String || + t instanceof Boolean + ) + ) { + var e = {}; + for (var r in t) e[r] = Bt(t[r]); + return e; + } + return Ft(t); + } + var Nt = (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), + jt = 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; + } + }; + (jt.prototype.concat = function (t) { + return new jt(this, t); + }), + (jt.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."); + }), + (jt.prototype.has = function (t) { + return ( + !!this.bindings[t] || + (!!this.parent && this.parent.has(t)) + ); + }); + var Ut = { kind: "null" }, + Vt = { kind: "number" }, + Ht = { kind: "string" }, + qt = { kind: "boolean" }, + Gt = { kind: "color" }, + Zt = { kind: "object" }, + Wt = { kind: "value" }, + Yt = { kind: "collator" }, + Xt = { kind: "formatted" }, + Jt = { kind: "resolvedImage" }; + function Kt(t, e) { + return { kind: "array", itemType: t, N: e }; + } + function $t(t) { + if ("array" === t.kind) { + var e = $t(t.itemType); + return "number" == typeof t.N + ? "array<" + e + ", " + t.N + ">" + : "value" === t.itemType.kind + ? "array" + : "array<" + e + ">"; + } + return t.kind; + } + var Qt = [Ut, Vt, Ht, qt, Gt, Xt, Zt, Kt(Wt), Jt]; + function te(t, e) { + if ("error" === e.kind) return null; + if ("array" === t.kind) { + if ( + "array" === e.kind && + ((0 === e.N && "value" === e.itemType.kind) || + !te(t.itemType, e.itemType)) && + ("number" != typeof t.N || t.N === e.N) + ) + return null; + } else { + if (t.kind === e.kind) return null; + if ("value" === t.kind) + for (var r = 0, n = Qt; r < n.length; r += 1) + if (!te(n[r], e)) return null; + } + return ( + "Expected " + + $t(t) + + " but found " + + $t(e) + + " instead." + ); + } + function ee(t, e) { + return e.some(function (e) { + return e.kind === t.kind; + }); + } + function re(t, e) { + return e.some(function (e) { + return "null" === e + ? null === t + : "array" === e + ? Array.isArray(t) + : "object" === e + ? t && + !Array.isArray(t) && + "object" == typeof t + : e === typeof t; + }); + } + var ne = e(function (t, e) { + var r = { + 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], + }; + function n(t) { + return (t = Math.round(t)) < 0 + ? 0 + : t > 255 + ? 255 + : t; + } + function i(t) { + return t < 0 ? 0 : t > 1 ? 1 : t; + } + function a(t) { + return "%" === t[t.length - 1] + ? n((parseFloat(t) / 100) * 255) + : n(parseInt(t)); + } + function o(t) { + return "%" === t[t.length - 1] + ? i(parseFloat(t) / 100) + : i(parseFloat(t)); + } + function s(t, e, r) { + return ( + r < 0 ? (r += 1) : r > 1 && (r -= 1), + 6 * r < 1 + ? t + (e - t) * r * 6 + : 2 * r < 1 + ? e + : 3 * r < 2 + ? t + (e - t) * (2 / 3 - r) * 6 + : t + ); + } + try { + e.parseCSSColor = function (t) { + var e, + i = t.replace(/ /g, "").toLowerCase(); + if (i in r) return r[i].slice(); + if ("#" === i[0]) + return 4 === i.length + ? (e = parseInt(i.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 === i.length && + (e = parseInt(i.substr(1), 16)) >= + 0 && + e <= 16777215 + ? [ + (16711680 & e) >> 16, + (65280 & e) >> 8, + 255 & e, + 1, + ] + : null; + var l = i.indexOf("("), + u = i.indexOf(")"); + if (-1 !== l && u + 1 === i.length) { + var c = i.substr(0, l), + f = i + .substr(l + 1, u - (l + 1)) + .split(","), + h = 1; + switch (c) { + case "rgba": + if (4 !== f.length) return null; + h = o(f.pop()); + case "rgb": + return 3 !== f.length + ? null + : [a(f[0]), a(f[1]), a(f[2]), h]; + case "hsla": + if (4 !== f.length) return null; + h = o(f.pop()); + case "hsl": + if (3 !== f.length) return null; + var p = + (((parseFloat(f[0]) % 360) + + 360) % + 360) / + 360, + d = o(f[1]), + v = o(f[2]), + g = + v <= 0.5 + ? v * (d + 1) + : v + d - v * d, + y = 2 * v - g; + return [ + n(255 * s(y, g, p + 1 / 3)), + n(255 * s(y, g, p)), + n(255 * s(y, g, p - 1 / 3)), + h, + ]; + default: + return null; + } + } + return null; + }; + } catch (t) {} + }), + ie = ne.parseCSSColor, + ae = function (t, e, r, n) { + void 0 === n && (n = 1), + (this.r = t), + (this.g = e), + (this.b = r), + (this.a = n); + }; + (ae.parse = function (t) { + if (t) { + if (t instanceof ae) return t; + if ("string" == typeof t) { + var e = ie(t); + if (e) + return new ae( + (e[0] / 255) * e[3], + (e[1] / 255) * e[3], + (e[2] / 255) * e[3], + e[3], + ); + } + } + }), + (ae.prototype.toString = function () { + var t = this.toArray(), + e = t[0], + r = t[1], + n = t[2], + i = t[3]; + return ( + "rgba(" + + Math.round(e) + + "," + + Math.round(r) + + "," + + Math.round(n) + + "," + + i + + ")" + ); + }), + (ae.prototype.toArray = function () { + var t = this, + e = t.r, + r = t.g, + n = t.b, + i = t.a; + return 0 === i + ? [0, 0, 0, 0] + : [ + (255 * e) / i, + (255 * r) / i, + (255 * n) / i, + i, + ]; + }), + (ae.black = new ae(0, 0, 0, 1)), + (ae.white = new ae(1, 1, 1, 1)), + (ae.transparent = new ae(0, 0, 0, 0)), + (ae.red = new ae(1, 0, 0, 1)); + var oe = function (t, e, r) { + (this.sensitivity = t + ? e + ? "variant" + : "case" + : e + ? "accent" + : "base"), + (this.locale = r), + (this.collator = new Intl.Collator( + this.locale ? this.locale : [], + { + sensitivity: this.sensitivity, + usage: "search", + }, + )); + }; + (oe.prototype.compare = function (t, e) { + return this.collator.compare(t, e); + }), + (oe.prototype.resolvedLocale = function () { + return new Intl.Collator( + this.locale ? this.locale : [], + ).resolvedOptions().locale; + }); + var se = function (t, e, r, n, i) { + (this.text = t), + (this.image = e), + (this.scale = r), + (this.fontStack = n), + (this.textColor = i); + }, + le = function (t) { + this.sections = t; + }; + (le.fromString = function (t) { + return new le([ + new se(t, null, null, null, null), + ]); + }), + (le.prototype.isEmpty = function () { + return ( + 0 === this.sections.length || + !this.sections.some(function (t) { + return ( + 0 !== t.text.length || + (t.image && 0 !== t.image.name.length) + ); + }) + ); + }), + (le.factory = function (t) { + return t instanceof le ? t : le.fromString(t); + }), + (le.prototype.toString = function () { + return 0 === this.sections.length + ? "" + : this.sections + .map(function (t) { + return t.text; + }) + .join(""); + }), + (le.prototype.serialize = function () { + for ( + var t = ["format"], e = 0, r = this.sections; + e < r.length; + e += 1 + ) { + var n = r[e]; + if (n.image) t.push(["image", n.image.name]); + else { + t.push(n.text); + var i = {}; + n.fontStack && + (i["text-font"] = [ + "literal", + n.fontStack.split(","), + ]), + n.scale && (i["font-scale"] = n.scale), + n.textColor && + (i["text-color"] = ["rgba"].concat( + n.textColor.toArray(), + )), + t.push(i); + } + } + return t; + }); + var ue = function (t) { + (this.name = t.name), + (this.available = t.available); + }; + function ce(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."; + } + function fe(t) { + if (null === t) return !0; + if ("string" == typeof t) return !0; + if ("boolean" == typeof t) return !0; + if ("number" == typeof t) return !0; + if (t instanceof ae) return !0; + if (t instanceof oe) return !0; + if (t instanceof le) return !0; + if (t instanceof ue) return !0; + if (Array.isArray(t)) { + for (var e = 0, r = t; e < r.length; e += 1) + if (!fe(r[e])) return !1; + return !0; + } + if ("object" == typeof t) { + for (var n in t) if (!fe(t[n])) return !1; + return !0; + } + return !1; + } + function he(t) { + if (null === t) return Ut; + if ("string" == typeof t) return Ht; + if ("boolean" == typeof t) return qt; + if ("number" == typeof t) return Vt; + if (t instanceof ae) return Gt; + if (t instanceof oe) return Yt; + if (t instanceof le) return Xt; + if (t instanceof ue) return Jt; + if (Array.isArray(t)) { + for ( + var e, r = t.length, n = 0, i = t; + n < i.length; + n += 1 + ) { + var a = he(i[n]); + if (e) { + if (e === a) continue; + e = Wt; + break; + } + e = a; + } + return Kt(e || Wt, r); + } + return Zt; + } + function pe(t) { + var e = typeof t; + return null === t + ? "" + : "string" === e || + "number" === e || + "boolean" === e + ? String(t) + : t instanceof ae || + t instanceof le || + t instanceof ue + ? t.toString() + : JSON.stringify(t); + } + (ue.prototype.toString = function () { + return this.name; + }), + (ue.fromString = function (t) { + return t + ? new ue({ name: t, available: !1 }) + : null; + }), + (ue.prototype.serialize = function () { + return ["image", this.name]; + }); + var de = function (t, e) { + (this.type = t), (this.value = e); + }; + (de.parse = function (t, e) { + if (2 !== t.length) + return e.error( + "'literal' expression requires exactly one argument, but found " + + (t.length - 1) + + " instead.", + ); + if (!fe(t[1])) return e.error("invalid value"); + var r = t[1], + n = he(r), + i = e.expectedType; + return ( + "array" !== n.kind || + 0 !== n.N || + !i || + "array" !== i.kind || + ("number" == typeof i.N && 0 !== i.N) || + (n = i), + new de(n, r) + ); + }), + (de.prototype.evaluate = function () { + return this.value; + }), + (de.prototype.eachChild = function () {}), + (de.prototype.outputDefined = function () { + return !0; + }), + (de.prototype.serialize = function () { + return "array" === this.type.kind || + "object" === this.type.kind + ? ["literal", this.value] + : this.value instanceof ae + ? ["rgba"].concat(this.value.toArray()) + : this.value instanceof le + ? this.value.serialize() + : this.value; + }); + var ve = function (t) { + (this.name = "ExpressionEvaluationError"), + (this.message = t); + }; + ve.prototype.toJSON = function () { + return this.message; + }; + var ge = { + string: Ht, + number: Vt, + boolean: qt, + object: Zt, + }, + ye = function (t, e) { + (this.type = t), (this.args = e); + }; + (ye.parse = function (t, e) { + if (t.length < 2) + return e.error( + "Expected at least one argument.", + ); + var r, + n = 1, + i = t[0]; + if ("array" === i) { + var a, o; + if (t.length > 2) { + var s = t[1]; + if ( + "string" != typeof s || + !(s in ge) || + "object" === s + ) + return e.error( + 'The item type argument of "array" must be one of string, number, boolean', + 1, + ); + (a = ge[s]), n++; + } else a = Wt; + if (t.length > 3) { + if ( + null !== t[2] && + ("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, + ); + (o = t[2]), n++; + } + r = Kt(a, o); + } else r = ge[i]; + for (var l = []; n < t.length; n++) { + var u = e.parse(t[n], n, Wt); + if (!u) return null; + l.push(u); + } + return new ye(r, l); + }), + (ye.prototype.evaluate = function (t) { + for (var e = 0; e < this.args.length; e++) { + var r = this.args[e].evaluate(t); + if (!te(this.type, he(r))) return r; + if (e === this.args.length - 1) + throw new ve( + "Expected value to be of type " + + $t(this.type) + + ", but found " + + $t(he(r)) + + " instead.", + ); + } + return null; + }), + (ye.prototype.eachChild = function (t) { + this.args.forEach(t); + }), + (ye.prototype.outputDefined = function () { + return this.args.every(function (t) { + return t.outputDefined(); + }); + }), + (ye.prototype.serialize = function () { + var t = this.type, + e = [t.kind]; + if ("array" === t.kind) { + var r = t.itemType; + if ( + "string" === r.kind || + "number" === r.kind || + "boolean" === r.kind + ) { + e.push(r.kind); + var n = t.N; + ("number" == typeof n || + this.args.length > 1) && + e.push(n); + } + } + return e.concat( + this.args.map(function (t) { + return t.serialize(); + }), + ); + }); + var me = function (t) { + (this.type = Xt), (this.sections = t); + }; + (me.parse = function (t, e) { + if (t.length < 2) + return e.error( + "Expected at least one argument.", + ); + var r = t[1]; + if (!Array.isArray(r) && "object" == typeof r) + return e.error( + "First argument must be an image or text section.", + ); + for ( + var n = [], i = !1, a = 1; + a <= t.length - 1; + ++a + ) { + var o = t[a]; + if ( + i && + "object" == typeof o && + !Array.isArray(o) + ) { + i = !1; + var s = null; + if ( + o["font-scale"] && + !(s = e.parse(o["font-scale"], 1, Vt)) + ) + return null; + var l = null; + if ( + o["text-font"] && + !(l = e.parse(o["text-font"], 1, Kt(Ht))) + ) + return null; + var u = null; + if ( + o["text-color"] && + !(u = e.parse(o["text-color"], 1, Gt)) + ) + return null; + var c = n[n.length - 1]; + (c.scale = s), + (c.font = l), + (c.textColor = u); + } else { + var f = e.parse(t[a], 1, Wt); + if (!f) return null; + var h = f.type.kind; + if ( + "string" !== h && + "value" !== h && + "null" !== h && + "resolvedImage" !== h + ) + return e.error( + "Formatted text type must be 'string', 'value', 'image' or 'null'.", + ); + (i = !0), + n.push({ + content: f, + scale: null, + font: null, + textColor: null, + }); + } + } + return new me(n); + }), + (me.prototype.evaluate = function (t) { + return new le( + this.sections.map(function (e) { + var r = e.content.evaluate(t); + return he(r) === Jt + ? new se("", r, null, null, null) + : new se( + pe(r), + null, + e.scale ? e.scale.evaluate(t) : null, + e.font + ? e.font.evaluate(t).join(",") + : null, + e.textColor + ? e.textColor.evaluate(t) + : null, + ); + }), + ); + }), + (me.prototype.eachChild = function (t) { + for ( + var e = 0, r = this.sections; + e < r.length; + e += 1 + ) { + var n = r[e]; + t(n.content), + n.scale && t(n.scale), + n.font && t(n.font), + n.textColor && t(n.textColor); + } + }), + (me.prototype.outputDefined = function () { + return !1; + }), + (me.prototype.serialize = function () { + for ( + var t = ["format"], e = 0, r = this.sections; + e < r.length; + e += 1 + ) { + var n = r[e]; + t.push(n.content.serialize()); + var i = {}; + n.scale && + (i["font-scale"] = n.scale.serialize()), + n.font && + (i["text-font"] = n.font.serialize()), + n.textColor && + (i["text-color"] = + n.textColor.serialize()), + t.push(i); + } + return t; + }); + var xe = function (t) { + (this.type = Jt), (this.input = t); + }; + (xe.parse = function (t, e) { + if (2 !== t.length) + return e.error("Expected two arguments."); + var r = e.parse(t[1], 1, Ht); + return r + ? new xe(r) + : e.error("No image name provided."); + }), + (xe.prototype.evaluate = function (t) { + var e = this.input.evaluate(t), + r = ue.fromString(e); + return ( + r && + t.availableImages && + (r.available = + t.availableImages.indexOf(e) > -1), + r + ); + }), + (xe.prototype.eachChild = function (t) { + t(this.input); + }), + (xe.prototype.outputDefined = function () { + return !1; + }), + (xe.prototype.serialize = function () { + return ["image", this.input.serialize()]; + }); + var be = { + "to-boolean": qt, + "to-color": Gt, + "to-number": Vt, + "to-string": Ht, + }, + _e = function (t, e) { + (this.type = t), (this.args = e); + }; + (_e.parse = function (t, e) { + if (t.length < 2) + return e.error( + "Expected at least one argument.", + ); + var r = t[0]; + if ( + ("to-boolean" === r || "to-string" === r) && + 2 !== t.length + ) + return e.error("Expected one argument."); + for ( + var n = be[r], i = [], a = 1; + a < t.length; + a++ + ) { + var o = e.parse(t[a], a, Wt); + if (!o) return null; + i.push(o); + } + return new _e(n, i); + }), + (_e.prototype.evaluate = function (t) { + if ("boolean" === this.type.kind) + return Boolean(this.args[0].evaluate(t)); + if ("color" === this.type.kind) { + for ( + var e, r, n = 0, i = this.args; + n < i.length; + n += 1 + ) { + if ( + ((r = null), + (e = i[n].evaluate(t)) instanceof ae) + ) + return e; + if ("string" == typeof e) { + 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." + : ce(e[0], e[1], e[2], e[3])) + ) + return new ae( + e[0] / 255, + e[1] / 255, + e[2] / 255, + e[3], + ); + } + throw new ve( + r || + "Could not parse color from value '" + + ("string" == typeof e + ? e + : String(JSON.stringify(e))) + + "'", + ); + } + if ("number" === this.type.kind) { + for ( + var o = null, s = 0, l = this.args; + s < l.length; + s += 1 + ) { + if (null === (o = l[s].evaluate(t))) + return 0; + var u = Number(o); + if (!isNaN(u)) return u; + } + throw new ve( + "Could not convert " + + JSON.stringify(o) + + " to number.", + ); + } + return "formatted" === this.type.kind + ? le.fromString(pe(this.args[0].evaluate(t))) + : "resolvedImage" === this.type.kind + ? ue.fromString(pe(this.args[0].evaluate(t))) + : pe(this.args[0].evaluate(t)); + }), + (_e.prototype.eachChild = function (t) { + this.args.forEach(t); + }), + (_e.prototype.outputDefined = function () { + return this.args.every(function (t) { + return t.outputDefined(); + }); + }), + (_e.prototype.serialize = function () { + if ("formatted" === this.type.kind) + return new me([ + { + content: this.args[0], + scale: null, + font: null, + textColor: null, + }, + ]).serialize(); + if ("resolvedImage" === this.type.kind) + return new xe(this.args[0]).serialize(); + var t = ["to-" + this.type.kind]; + return ( + this.eachChild(function (e) { + t.push(e.serialize()); + }), + t + ); + }); + var we = [ + "Unknown", + "Point", + "LineString", + "Polygon", + ], + Te = function () { + (this.globals = null), + (this.feature = null), + (this.featureState = null), + (this.formattedSection = null), + (this._parseColorCache = {}), + (this.availableImages = null), + (this.canonical = null); + }; + (Te.prototype.id = function () { + return this.feature && "id" in this.feature + ? this.feature.id + : null; + }), + (Te.prototype.geometryType = function () { + return this.feature + ? "number" == typeof this.feature.type + ? we[this.feature.type] + : this.feature.type + : null; + }), + (Te.prototype.geometry = function () { + return this.feature && + "geometry" in this.feature + ? this.feature.geometry + : null; + }), + (Te.prototype.canonicalID = function () { + return this.canonical; + }), + (Te.prototype.properties = function () { + return ( + (this.feature && this.feature.properties) || + {} + ); + }), + (Te.prototype.parseColor = function (t) { + var e = this._parseColorCache[t]; + return ( + e || + (e = this._parseColorCache[t] = + ae.parse(t)), + e + ); + }); + var ke = function (t, e, r, n) { + (this.name = t), + (this.type = e), + (this._evaluate = r), + (this.args = n); + }; + (ke.prototype.evaluate = function (t) { + return this._evaluate(t, this.args); + }), + (ke.prototype.eachChild = function (t) { + this.args.forEach(t); + }), + (ke.prototype.outputDefined = function () { + return !1; + }), + (ke.prototype.serialize = function () { + return [this.name].concat( + this.args.map(function (t) { + return t.serialize(); + }), + ); + }), + (ke.parse = function (t, e) { + var r, + n = t[0], + i = ke.definitions[n]; + if (!i) + return e.error( + 'Unknown expression "' + + n + + '". If you wanted a literal array, use ["literal", [...]].', + 0, + ); + for ( + var a = Array.isArray(i) ? i[0] : i.type, + o = Array.isArray(i) + ? [[i[1], i[2]]] + : i.overloads, + s = o.filter(function (e) { + var r = e[0]; + return ( + !Array.isArray(r) || + r.length === t.length - 1 + ); + }), + l = null, + u = 0, + c = s; + u < c.length; + u += 1 + ) { + var f = c[u], + h = f[0], + p = f[1]; + l = new We(e.registry, e.path, null, e.scope); + for ( + var d = [], v = !1, g = 1; + g < t.length; + g++ + ) { + var y = t[g], + m = Array.isArray(h) ? h[g - 1] : h.type, + x = l.parse(y, 1 + d.length, m); + if (!x) { + v = !0; + break; + } + d.push(x); + } + if (!v) + if ( + Array.isArray(h) && + h.length !== d.length + ) + l.error( + "Expected " + + h.length + + " arguments, but found " + + d.length + + " instead.", + ); + else { + for (var b = 0; b < d.length; b++) { + var _ = Array.isArray(h) + ? h[b] + : h.type, + w = d[b]; + l.concat(b + 1).checkSubtype(_, w.type); + } + if (0 === l.errors.length) + return new ke(n, a, p, d); + } + } + if (1 === s.length) + (r = e.errors).push.apply(r, l.errors); + else { + for ( + var T = (s.length ? s : o) + .map(function (t) { + return ( + (e = t[0]), + Array.isArray(e) + ? "(" + e.map($t).join(", ") + ")" + : "(" + $t(e.type) + "...)" + ); + var e; + }) + .join(" | "), + k = [], + A = 1; + A < t.length; + A++ + ) { + var M = e.parse(t[A], 1 + k.length); + if (!M) return null; + k.push($t(M.type)); + } + e.error( + "Expected arguments of type " + + T + + ", but found (" + + k.join(", ") + + ") instead.", + ); + } + return null; + }), + (ke.register = function (t, e) { + for (var r in ((ke.definitions = e), e)) + t[r] = ke; + }); + var Ae = function (t, e, r) { + (this.type = Yt), + (this.locale = r), + (this.caseSensitive = t), + (this.diacriticSensitive = e); + }; + (Ae.parse = function (t, e) { + if (2 !== t.length) + return e.error("Expected one argument."); + var r = t[1]; + if ("object" != typeof r || Array.isArray(r)) + return e.error( + "Collator options argument must be an object.", + ); + var n = e.parse( + void 0 !== r["case-sensitive"] && + r["case-sensitive"], + 1, + qt, + ); + if (!n) return null; + var i = e.parse( + void 0 !== r["diacritic-sensitive"] && + r["diacritic-sensitive"], + 1, + qt, + ); + if (!i) return null; + var a = null; + return r.locale && !(a = e.parse(r.locale, 1, Ht)) + ? null + : new Ae(n, i, a); + }), + (Ae.prototype.evaluate = function (t) { + return new oe( + this.caseSensitive.evaluate(t), + this.diacriticSensitive.evaluate(t), + this.locale ? this.locale.evaluate(t) : null, + ); + }), + (Ae.prototype.eachChild = function (t) { + t(this.caseSensitive), + t(this.diacriticSensitive), + this.locale && t(this.locale); + }), + (Ae.prototype.outputDefined = function () { + return !1; + }), + (Ae.prototype.serialize = function () { + var t = {}; + return ( + (t["case-sensitive"] = + this.caseSensitive.serialize()), + (t["diacritic-sensitive"] = + this.diacriticSensitive.serialize()), + this.locale && + (t.locale = this.locale.serialize()), + ["collator", t] + ); + }); + var Me = 8192; + function Se(t, e) { + (t[0] = Math.min(t[0], e[0])), + (t[1] = Math.min(t[1], e[1])), + (t[2] = Math.max(t[2], e[0])), + (t[3] = Math.max(t[3], e[1])); + } + function Ee(t, e) { + return !( + t[0] <= e[0] || + t[2] >= e[2] || + t[1] <= e[1] || + t[3] >= e[3] + ); + } + function Le(t, e) { + var r, + n = (180 + t[0]) / 360, + i = + ((r = t[1]), + (180 - + (180 / Math.PI) * + Math.log( + Math.tan( + Math.PI / 4 + (r * Math.PI) / 360, + ), + )) / + 360), + a = Math.pow(2, e.z); + return [ + Math.round(n * a * Me), + Math.round(i * a * Me), + ]; + } + function Ce(t, e, r) { + return ( + e[1] > t[1] != r[1] > t[1] && + t[0] < + ((r[0] - e[0]) * (t[1] - e[1])) / + (r[1] - e[1]) + + e[0] + ); + } + function Oe(t, e) { + for (var r = !1, n = 0, i = e.length; n < i; n++) + for ( + var a = e[n], o = 0, s = a.length; + o < s - 1; + o++ + ) { + if ( + ((l = t), + (u = a[o]), + (c = a[o + 1]), + (f = void 0), + (h = void 0), + (p = void 0), + (d = void 0), + (f = l[0] - u[0]), + (h = l[1] - u[1]), + (p = l[0] - c[0]), + (d = l[1] - c[1]), + f * d - p * h == 0 && + f * p <= 0 && + h * d <= 0) + ) + return !1; + Ce(t, a[o], a[o + 1]) && (r = !r); + } + var l, u, c, f, h, p, d; + return r; + } + function Pe(t, e) { + for (var r = 0; r < e.length; r++) + if (Oe(t, e[r])) return !0; + return !1; + } + function Ie(t, e, r, n) { + var i = t[0] - r[0], + a = t[1] - r[1], + o = e[0] - r[0], + s = e[1] - r[1], + l = n[0] - r[0], + u = n[1] - r[1], + c = i * u - l * a, + f = o * u - l * s; + return (c > 0 && f < 0) || (c < 0 && f > 0); + } + function De(t, e, r) { + for (var n = 0, i = r; n < i.length; n += 1) + for (var a = i[n], o = 0; o < a.length - 1; ++o) + if ( + ((s = t), + (l = e), + (u = a[o]), + (c = a[o + 1]), + (f = void 0), + (h = void 0), + (p = void 0), + (p = [l[0] - s[0], l[1] - s[1]]), + 0 != + ((f = [c[0] - u[0], c[1] - u[1]]), + (h = p), + f[0] * h[1] - f[1] * h[0]) && + Ie(s, l, u, c) && + Ie(u, c, s, l)) + ) + return !0; + var s, l, u, c, f, h, p; + return !1; + } + function ze(t, e) { + for (var r = 0; r < t.length; ++r) + if (!Oe(t[r], e)) return !1; + for (var n = 0; n < t.length - 1; ++n) + if (De(t[n], t[n + 1], e)) return !1; + return !0; + } + function Re(t, e) { + for (var r = 0; r < e.length; r++) + if (ze(t, e[r])) return !0; + return !1; + } + function Fe(t, e, r) { + for (var n = [], i = 0; i < t.length; i++) { + for (var a = [], o = 0; o < t[i].length; o++) { + var s = Le(t[i][o], r); + Se(e, s), a.push(s); + } + n.push(a); + } + return n; + } + function Be(t, e, r) { + for (var n = [], i = 0; i < t.length; i++) { + var a = Fe(t[i], e, r); + n.push(a); + } + return n; + } + function Ne(t, e, r, n) { + if (t[0] < r[0] || t[0] > r[2]) { + var i = 0.5 * n, + a = + t[0] - r[0] > i + ? -n + : r[0] - t[0] > i + ? n + : 0; + 0 === a && + (a = + t[0] - r[2] > i + ? -n + : r[2] - t[0] > i + ? n + : 0), + (t[0] += a); + } + Se(e, t); + } + function je(t, e, r, n) { + for ( + var i = Math.pow(2, n.z) * Me, + a = [n.x * Me, n.y * Me], + o = [], + s = 0, + l = t; + s < l.length; + s += 1 + ) + for ( + var u = 0, c = l[s]; + u < c.length; + u += 1 + ) { + var f = c[u], + h = [f.x + a[0], f.y + a[1]]; + Ne(h, e, r, i), o.push(h); + } + return o; + } + function Ue(t, e, r, n) { + for ( + var i = Math.pow(2, n.z) * Me, + a = [n.x * Me, n.y * Me], + o = [], + s = 0, + l = t; + s < l.length; + s += 1 + ) { + for ( + var u = [], c = 0, f = l[s]; + c < f.length; + c += 1 + ) { + var h = f[c], + p = [h.x + a[0], h.y + a[1]]; + Se(e, p), u.push(p); + } + o.push(u); + } + if (e[2] - e[0] <= i / 2) { + ((m = e)[0] = m[1] = 1 / 0), + (m[2] = m[3] = -1 / 0); + for (var d = 0, v = o; d < v.length; d += 1) + for ( + var g = 0, y = v[d]; + g < y.length; + g += 1 + ) + Ne(y[g], e, r, i); + } + var m; + return o; + } + var Ve = function (t, e) { + (this.type = qt), + (this.geojson = t), + (this.geometries = e); + }; + function He(t) { + if (t instanceof ke) { + if ("get" === t.name && 1 === t.args.length) + return !1; + if ("feature-state" === t.name) return !1; + if ("has" === t.name && 1 === t.args.length) + return !1; + if ( + "properties" === t.name || + "geometry-type" === t.name || + "id" === t.name + ) + return !1; + if (/^filter-/.test(t.name)) return !1; + } + if (t instanceof Ve) return !1; + var e = !0; + return ( + t.eachChild(function (t) { + e && !He(t) && (e = !1); + }), + e + ); + } + function qe(t) { + if (t instanceof ke && "feature-state" === t.name) + return !1; + var e = !0; + return ( + t.eachChild(function (t) { + e && !qe(t) && (e = !1); + }), + e + ); + } + function Ge(t, e) { + if (t instanceof ke && e.indexOf(t.name) >= 0) + return !1; + var r = !0; + return ( + t.eachChild(function (t) { + r && !Ge(t, e) && (r = !1); + }), + r + ); + } + (Ve.parse = function (t, e) { + if (2 !== t.length) + return e.error( + "'within' expression requires exactly one argument, but found " + + (t.length - 1) + + " instead.", + ); + if (fe(t[1])) { + var r = t[1]; + if ("FeatureCollection" === r.type) + for (var n = 0; n < r.features.length; ++n) { + var i = r.features[n].geometry.type; + if ("Polygon" === i || "MultiPolygon" === i) + return new Ve(r, r.features[n].geometry); + } + else if ("Feature" === r.type) { + var a = r.geometry.type; + if ("Polygon" === a || "MultiPolygon" === a) + return new Ve(r, r.geometry); + } else if ( + "Polygon" === r.type || + "MultiPolygon" === r.type + ) + return new Ve(r, r); + } + return e.error( + "'within' expression requires valid geojson object that contains polygon geometry type.", + ); + }), + (Ve.prototype.evaluate = function (t) { + if ( + null != t.geometry() && + null != t.canonicalID() + ) { + if ("Point" === t.geometryType()) + return (function (t, e) { + var r = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + n = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + i = t.canonicalID(); + if ("Polygon" === e.type) { + var a = Fe(e.coordinates, n, i), + o = je(t.geometry(), r, n, i); + if (!Ee(r, n)) return !1; + for ( + var s = 0, l = o; + s < l.length; + s += 1 + ) + if (!Oe(l[s], a)) return !1; + } + if ("MultiPolygon" === e.type) { + var u = Be(e.coordinates, n, i), + c = je(t.geometry(), r, n, i); + if (!Ee(r, n)) return !1; + for ( + var f = 0, h = c; + f < h.length; + f += 1 + ) + if (!Pe(h[f], u)) return !1; + } + return !0; + })(t, this.geometries); + if ("LineString" === t.geometryType()) + return (function (t, e) { + var r = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + n = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + i = t.canonicalID(); + if ("Polygon" === e.type) { + var a = Fe(e.coordinates, n, i), + o = Ue(t.geometry(), r, n, i); + if (!Ee(r, n)) return !1; + for ( + var s = 0, l = o; + s < l.length; + s += 1 + ) + if (!ze(l[s], a)) return !1; + } + if ("MultiPolygon" === e.type) { + var u = Be(e.coordinates, n, i), + c = Ue(t.geometry(), r, n, i); + if (!Ee(r, n)) return !1; + for ( + var f = 0, h = c; + f < h.length; + f += 1 + ) + if (!Re(h[f], u)) return !1; + } + return !0; + })(t, this.geometries); + } + return !1; + }), + (Ve.prototype.eachChild = function () {}), + (Ve.prototype.outputDefined = function () { + return !0; + }), + (Ve.prototype.serialize = function () { + return ["within", this.geojson]; + }); + var Ze = function (t, e) { + (this.type = e.type), + (this.name = t), + (this.boundExpression = e); + }; + (Ze.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 Ze(r, e.scope.get(r)) + : e.error( + 'Unknown variable "' + + r + + '". Make sure "' + + r + + '" has been bound in an enclosing "let" expression before using it.', + 1, + ); + }), + (Ze.prototype.evaluate = function (t) { + return this.boundExpression.evaluate(t); + }), + (Ze.prototype.eachChild = function () {}), + (Ze.prototype.outputDefined = function () { + return !1; + }), + (Ze.prototype.serialize = function () { + return ["var", this.name]; + }); + var We = function (t, e, r, n, i) { + void 0 === e && (e = []), + void 0 === n && (n = new jt()), + void 0 === i && (i = []), + (this.registry = t), + (this.path = e), + (this.key = e + .map(function (t) { + return "[" + t + "]"; + }) + .join("")), + (this.scope = n), + (this.errors = i), + (this.expectedType = r); + }; + function Ye(t) { + if (t instanceof Ze) return Ye(t.boundExpression); + if (t instanceof ke && "error" === t.name) + return !1; + if (t instanceof Ae) return !1; + if (t instanceof Ve) return !1; + var e = t instanceof _e || t instanceof ye, + r = !0; + return ( + t.eachChild(function (t) { + r = e ? r && Ye(t) : r && t instanceof de; + }), + !!r && + He(t) && + Ge(t, [ + "zoom", + "heatmap-density", + "line-progress", + "accumulated", + "is-supported-script", + ]) + ); + } + function Xe(t, e) { + for ( + var r, n, i = t.length - 1, a = 0, o = i, s = 0; + a <= o; + + ) + if ( + ((r = t[(s = Math.floor((a + o) / 2))]), + (n = t[s + 1]), + r <= e) + ) { + if (s === i || e < n) return s; + a = s + 1; + } else { + if (!(r > e)) + throw new ve("Input is not a number."); + o = s - 1; + } + return 0; + } + (We.prototype.parse = function (t, e, r, n, i) { + return ( + void 0 === i && (i = {}), + e + ? this.concat(e, r, n)._parse(t, i) + : this._parse(t, i) + ); + }), + (We.prototype._parse = function (t, e) { + function r(t, e, r) { + return "assert" === r + ? new ye(e, [t]) + : "coerce" === r + ? new _e(e, [t]) + : t; + } + if ( + ((null !== t && + "string" != typeof t && + "boolean" != typeof t && + "number" != typeof t) || + (t = ["literal", t]), + Array.isArray(t)) + ) { + if (0 === t.length) + return this.error( + 'Expected an array with at least one element. If you wanted a literal array, use ["literal", []].', + ); + var n = t[0]; + if ("string" != typeof n) + return ( + this.error( + "Expression name must be a string, but found " + + typeof n + + ' instead. If you wanted a literal array, use ["literal", [...]].', + 0, + ), + null + ); + var i = this.registry[n]; + if (i) { + var a = i.parse(t, this); + if (!a) return null; + if (this.expectedType) { + var o = this.expectedType, + s = a.type; + if ( + ("string" !== o.kind && + "number" !== o.kind && + "boolean" !== o.kind && + "object" !== o.kind && + "array" !== o.kind) || + "value" !== s.kind + ) + if ( + ("color" !== o.kind && + "formatted" !== o.kind && + "resolvedImage" !== o.kind) || + ("value" !== s.kind && + "string" !== s.kind) + ) { + if (this.checkSubtype(o, s)) + return null; + } else + a = r( + a, + o, + e.typeAnnotation || "coerce", + ); + else + a = r( + a, + o, + e.typeAnnotation || "assert", + ); + } + if ( + !(a instanceof de) && + "resolvedImage" !== a.type.kind && + Ye(a) + ) { + var l = new Te(); + try { + a = new de(a.type, a.evaluate(l)); + } catch (t) { + return this.error(t.message), null; + } + } + return a; + } + return this.error( + 'Unknown expression "' + + n + + '". If you wanted a literal array, use ["literal", [...]].', + 0, + ); + } + return void 0 === t + ? this.error( + "'undefined' value invalid. Use null instead.", + ) + : "object" == typeof t + ? this.error( + 'Bare objects invalid. Use ["literal", {...}] instead.', + ) + : this.error( + "Expected an array, but found " + + typeof t + + " instead.", + ); + }), + (We.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 We( + this.registry, + n, + e || null, + i, + this.errors, + ); + }), + (We.prototype.error = function (t) { + for ( + var e = [], r = arguments.length - 1; + r-- > 0; + + ) + e[r] = arguments[r + 1]; + var n = + "" + + this.key + + e + .map(function (t) { + return "[" + t + "]"; + }) + .join(""); + this.errors.push(new Nt(n, t)); + }), + (We.prototype.checkSubtype = function (t, e) { + var r = te(t, e); + return r && this.error(r), r; + }); + var Je = 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); + } + }; + function Ke(t, e, r) { + return t * (1 - r) + e * r; + } + (Je.parse = function (t, e) { + 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.", + ); + var r = e.parse(t[1], 1, Vt); + if (!r) return null; + var n = [], + i = null; + e.expectedType && + "value" !== e.expectedType.kind && + (i = e.expectedType); + for (var a = 1; a < t.length; a += 2) { + var o = 1 === a ? -1 / 0 : t[a], + s = t[a + 1], + l = a, + u = a + 1; + if ("number" != typeof o) + return e.error( + 'Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.', + l, + ); + if (n.length && n[n.length - 1][0] >= o) + return e.error( + 'Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.', + l, + ); + var c = e.parse(s, u, i); + if (!c) return null; + (i = i || c.type), n.push([o, c]); + } + return new Je(i, r, n); + }), + (Je.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; + return n >= e[i - 1] + ? r[i - 1].evaluate(t) + : r[Xe(e, n)].evaluate(t); + }), + (Je.prototype.eachChild = function (t) { + t(this.input); + for ( + var e = 0, r = this.outputs; + e < r.length; + e += 1 + ) + t(r[e]); + }), + (Je.prototype.outputDefined = function () { + return this.outputs.every(function (t) { + return t.outputDefined(); + }); + }), + (Je.prototype.serialize = function () { + for ( + var t = ["step", this.input.serialize()], + e = 0; + e < this.labels.length; + e++ + ) + e > 0 && t.push(this.labels[e]), + t.push(this.outputs[e].serialize()); + return t; + }); + var $e = Object.freeze({ + __proto__: null, + number: Ke, + color: function (t, e, r) { + return new ae( + Ke(t.r, e.r, r), + Ke(t.g, e.g, r), + Ke(t.b, e.b, r), + Ke(t.a, e.a, r), + ); + }, + array: function (t, e, r) { + return t.map(function (t, n) { + return Ke(t, e[n], r); + }); + }, + }), + Qe = 0.95047, + tr = 1.08883, + er = 4 / 29, + rr = 6 / 29, + nr = 3 * rr * rr, + ir = Math.PI / 180, + ar = 180 / Math.PI; + function or(t) { + return t > 0.008856451679035631 + ? Math.pow(t, 1 / 3) + : t / nr + er; + } + function sr(t) { + return t > rr ? t * t * t : nr * (t - er); + } + function lr(t) { + return ( + 255 * + (t <= 0.0031308 + ? 12.92 * t + : 1.055 * Math.pow(t, 1 / 2.4) - 0.055) + ); + } + function ur(t) { + return (t /= 255) <= 0.04045 + ? t / 12.92 + : Math.pow((t + 0.055) / 1.055, 2.4); + } + function cr(t) { + var e = ur(t.r), + r = ur(t.g), + n = ur(t.b), + i = or( + (0.4124564 * e + + 0.3575761 * r + + 0.1804375 * n) / + Qe, + ), + a = or( + (0.2126729 * e + + 0.7151522 * r + + 0.072175 * n) / + 1, + ); + return { + l: 116 * a - 16, + a: 500 * (i - a), + b: + 200 * + (a - + or( + (0.0193339 * e + + 0.119192 * r + + 0.9503041 * n) / + tr, + )), + alpha: t.a, + }; + } + function fr(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 = 1 * sr(e)), + (r = Qe * sr(r)), + (n = tr * sr(n)), + new ae( + lr( + 3.2404542 * r - + 1.5371385 * e - + 0.4985314 * n, + ), + lr( + -0.969266 * r + + 1.8760108 * e + + 0.041556 * n, + ), + lr( + 0.0556434 * r - + 0.2040259 * e + + 1.0572252 * n, + ), + t.alpha, + ) + ); + } + function hr(t, e, r) { + var n = e - t; + return ( + t + + r * + (n > 180 || n < -180 + ? n - 360 * Math.round(n / 360) + : n) + ); + } + var pr = { + forward: cr, + reverse: fr, + interpolate: function (t, e, r) { + return { + l: Ke(t.l, e.l, r), + a: Ke(t.a, e.a, r), + b: Ke(t.b, e.b, r), + alpha: Ke(t.alpha, e.alpha, r), + }; + }, + }, + dr = { + forward: function (t) { + var e = cr(t), + r = e.l, + n = e.a, + i = e.b, + a = Math.atan2(i, n) * ar; + 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 * ir, + r = t.c; + return fr({ + l: t.l, + a: Math.cos(e) * r, + b: Math.sin(e) * r, + alpha: t.alpha, + }); + }, + interpolate: function (t, e, r) { + return { + h: hr(t.h, e.h, r), + c: Ke(t.c, e.c, r), + l: Ke(t.l, e.l, r), + alpha: Ke(t.alpha, e.alpha, r), + }; + }, + }, + vr = Object.freeze({ + __proto__: null, + lab: pr, + hcl: dr, + }), + gr = function (t, e, r, n, i) { + (this.type = t), + (this.operator = e), + (this.interpolation = r), + (this.input = n), + (this.labels = []), + (this.outputs = []); + for (var a = 0, o = i; a < o.length; a += 1) { + var s = o[a], + l = s[0], + u = s[1]; + this.labels.push(l), this.outputs.push(u); + } + }; + function yr(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); + } + (gr.interpolationFactor = function (t, e, r, i) { + var a = 0; + if ("exponential" === t.name) + a = yr(e, t.base, r, i); + else if ("linear" === t.name) a = yr(e, 1, r, i); + else if ("cubic-bezier" === t.name) { + var o = t.controlPoints; + a = new n(o[0], o[1], o[2], o[3]).solve( + yr(e, 1, r, i), + ); + } + return a; + }), + (gr.parse = function (t, e) { + var r = t[0], + n = t[1], + i = t[2], + a = t.slice(3); + if (!Array.isArray(n) || 0 === n.length) + return e.error( + "Expected an interpolation type expression.", + 1, + ); + if ("linear" === n[0]) n = { name: "linear" }; + else if ("exponential" === n[0]) { + var o = n[1]; + if ("number" != typeof o) + return e.error( + "Exponential interpolation requires a numeric base.", + 1, + 1, + ); + n = { name: "exponential", base: o }; + } else { + if ("cubic-bezier" !== n[0]) + return e.error( + "Unknown interpolation type " + + String(n[0]), + 1, + 0, + ); + var s = n.slice(1); + if ( + 4 !== s.length || + s.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, + ); + n = { + name: "cubic-bezier", + controlPoints: s, + }; + } + 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 (!(i = e.parse(i, 2, Vt))) return null; + var l = [], + u = null; + "interpolate-hcl" === r || + "interpolate-lab" === r + ? (u = Gt) + : e.expectedType && + "value" !== e.expectedType.kind && + (u = e.expectedType); + for (var c = 0; c < a.length; c += 2) { + var f = a[c], + h = a[c + 1], + p = c + 3, + d = c + 4; + if ("number" != typeof f) + return e.error( + 'Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.', + p, + ); + if (l.length && l[l.length - 1][0] >= f) + return e.error( + 'Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.', + p, + ); + var v = e.parse(h, d, u); + if (!v) return null; + (u = u || v.type), l.push([f, v]); + } + return "number" === u.kind || + "color" === u.kind || + ("array" === u.kind && + "number" === u.itemType.kind && + "number" == typeof u.N) + ? new gr(u, r, n, i, l) + : e.error( + "Type " + + $t(u) + + " is not interpolatable.", + ); + }), + (gr.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 a = Xe(e, n), + o = e[a], + s = e[a + 1], + l = gr.interpolationFactor( + this.interpolation, + n, + o, + s, + ), + u = r[a].evaluate(t), + c = r[a + 1].evaluate(t); + return "interpolate" === this.operator + ? $e[this.type.kind.toLowerCase()](u, c, l) + : "interpolate-hcl" === this.operator + ? dr.reverse( + dr.interpolate( + dr.forward(u), + dr.forward(c), + l, + ), + ) + : pr.reverse( + pr.interpolate( + pr.forward(u), + pr.forward(c), + l, + ), + ); + }), + (gr.prototype.eachChild = function (t) { + t(this.input); + for ( + var e = 0, r = this.outputs; + e < r.length; + e += 1 + ) + t(r[e]); + }), + (gr.prototype.outputDefined = function () { + return this.outputs.every(function (t) { + return t.outputDefined(); + }); + }), + (gr.prototype.serialize = function () { + var t; + t = + "linear" === this.interpolation.name + ? ["linear"] + : "exponential" === this.interpolation.name + ? 1 === this.interpolation.base + ? ["linear"] + : ["exponential", this.interpolation.base] + : ["cubic-bezier"].concat( + this.interpolation.controlPoints, + ); + for ( + var e = [ + this.operator, + t, + this.input.serialize(), + ], + r = 0; + r < this.labels.length; + r++ + ) + e.push( + this.labels[r], + this.outputs[r].serialize(), + ); + return e; + }); + var mr = function (t, e) { + (this.type = t), (this.args = e); + }; + (mr.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 i = [], a = 0, o = t.slice(1); + a < o.length; + a += 1 + ) { + var s = o[a], + l = e.parse(s, 1 + i.length, r, void 0, { + typeAnnotation: "omit", + }); + if (!l) return null; + (r = r || l.type), i.push(l); + } + var u = + n && + i.some(function (t) { + return te(n, t.type); + }); + return new mr(u ? Wt : r, i); + }), + (mr.prototype.evaluate = function (t) { + for ( + var e, r = null, n = 0, i = 0, a = this.args; + i < a.length && + (n++, + (r = a[i].evaluate(t)) && + r instanceof ue && + !r.available && + (e || (e = r.name), + (r = null), + n === this.args.length && (r = e)), + null === r); + i += 1 + ); + return r; + }), + (mr.prototype.eachChild = function (t) { + this.args.forEach(t); + }), + (mr.prototype.outputDefined = function () { + return this.args.every(function (t) { + return t.outputDefined(); + }); + }), + (mr.prototype.serialize = function () { + var t = ["coalesce"]; + return ( + this.eachChild(function (e) { + t.push(e.serialize()); + }), + t + ); + }); + var xr = function (t, e) { + (this.type = e.type), + (this.bindings = [].concat(t)), + (this.result = e); + }; + (xr.prototype.evaluate = function (t) { + return this.result.evaluate(t); + }), + (xr.prototype.eachChild = function (t) { + for ( + var e = 0, r = this.bindings; + e < r.length; + e += 1 + ) + t(r[e][1]); + t(this.result); + }), + (xr.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 = [], n = 1; + n < t.length - 1; + n += 2 + ) { + var i = t[n]; + if ("string" != typeof i) + return e.error( + "Expected string, but found " + + typeof i + + " instead.", + n, + ); + if (/[^a-zA-Z0-9_]/.test(i)) + return e.error( + "Variable names must contain only alphanumeric characters or '_'.", + n, + ); + var a = e.parse(t[n + 1], n + 1); + if (!a) return null; + r.push([i, a]); + } + var o = e.parse( + t[t.length - 1], + t.length - 1, + e.expectedType, + r, + ); + return o ? new xr(r, o) : null; + }), + (xr.prototype.outputDefined = function () { + return this.result.outputDefined(); + }), + (xr.prototype.serialize = function () { + for ( + var t = ["let"], e = 0, r = this.bindings; + e < r.length; + e += 1 + ) { + var n = r[e], + i = n[0], + a = n[1]; + t.push(i, a.serialize()); + } + return t.push(this.result.serialize()), t; + }); + var br = function (t, e, r) { + (this.type = t), + (this.index = e), + (this.input = r); + }; + (br.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, Vt), + n = e.parse(t[2], 2, Kt(e.expectedType || Wt)); + if (!r || !n) return null; + var i = n.type; + return new br(i.itemType, r, n); + }), + (br.prototype.evaluate = function (t) { + var e = this.index.evaluate(t), + r = this.input.evaluate(t); + if (e < 0) + throw new ve( + "Array index out of bounds: " + e + " < 0.", + ); + if (e >= r.length) + throw new ve( + "Array index out of bounds: " + + e + + " > " + + (r.length - 1) + + ".", + ); + if (e !== Math.floor(e)) + throw new ve( + "Array index must be an integer, but found " + + e + + " instead.", + ); + return r[e]; + }), + (br.prototype.eachChild = function (t) { + t(this.index), t(this.input); + }), + (br.prototype.outputDefined = function () { + return !1; + }), + (br.prototype.serialize = function () { + return [ + "at", + this.index.serialize(), + this.input.serialize(), + ]; + }); + var _r = function (t, e) { + (this.type = qt), + (this.needle = t), + (this.haystack = e); + }; + (_r.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, Wt), + n = e.parse(t[2], 2, Wt); + return r && n + ? ee(r.type, [qt, Ht, Vt, Ut, Wt]) + ? new _r(r, n) + : e.error( + "Expected first argument to be of type boolean, string, number or null, but found " + + $t(r.type) + + " instead", + ) + : null; + }), + (_r.prototype.evaluate = function (t) { + var e = this.needle.evaluate(t), + r = this.haystack.evaluate(t); + if (!r) return !1; + if ( + !re(e, [ + "boolean", + "string", + "number", + "null", + ]) + ) + throw new ve( + "Expected first argument to be of type boolean, string, number or null, but found " + + $t(he(e)) + + " instead.", + ); + if (!re(r, ["string", "array"])) + throw new ve( + "Expected second argument to be of type array or string, but found " + + $t(he(r)) + + " instead.", + ); + return r.indexOf(e) >= 0; + }), + (_r.prototype.eachChild = function (t) { + t(this.needle), t(this.haystack); + }), + (_r.prototype.outputDefined = function () { + return !0; + }), + (_r.prototype.serialize = function () { + return [ + "in", + this.needle.serialize(), + this.haystack.serialize(), + ]; + }); + var wr = function (t, e, r) { + (this.type = Vt), + (this.needle = t), + (this.haystack = e), + (this.fromIndex = r); + }; + (wr.parse = function (t, e) { + if (t.length <= 2 || t.length >= 5) + return e.error( + "Expected 3 or 4 arguments, but found " + + (t.length - 1) + + " instead.", + ); + var r = e.parse(t[1], 1, Wt), + n = e.parse(t[2], 2, Wt); + if (!r || !n) return null; + if (!ee(r.type, [qt, Ht, Vt, Ut, Wt])) + return e.error( + "Expected first argument to be of type boolean, string, number or null, but found " + + $t(r.type) + + " instead", + ); + if (4 === t.length) { + var i = e.parse(t[3], 3, Vt); + return i ? new wr(r, n, i) : null; + } + return new wr(r, n); + }), + (wr.prototype.evaluate = function (t) { + var e = this.needle.evaluate(t), + r = this.haystack.evaluate(t); + if ( + !re(e, [ + "boolean", + "string", + "number", + "null", + ]) + ) + throw new ve( + "Expected first argument to be of type boolean, string, number or null, but found " + + $t(he(e)) + + " instead.", + ); + if (!re(r, ["string", "array"])) + throw new ve( + "Expected second argument to be of type array or string, but found " + + $t(he(r)) + + " instead.", + ); + if (this.fromIndex) { + var n = this.fromIndex.evaluate(t); + return r.indexOf(e, n); + } + return r.indexOf(e); + }), + (wr.prototype.eachChild = function (t) { + t(this.needle), + t(this.haystack), + this.fromIndex && t(this.fromIndex); + }), + (wr.prototype.outputDefined = function () { + return !1; + }), + (wr.prototype.serialize = function () { + if ( + null != this.fromIndex && + void 0 !== this.fromIndex + ) { + var t = this.fromIndex.serialize(); + return [ + "index-of", + this.needle.serialize(), + this.haystack.serialize(), + t, + ]; + } + return [ + "index-of", + this.needle.serialize(), + this.haystack.serialize(), + ]; + }); + var Tr = 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); + }; + (Tr.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, n; + e.expectedType && + "value" !== e.expectedType.kind && + (n = e.expectedType); + for ( + var i = {}, a = [], o = 2; + o < t.length - 1; + o += 2 + ) { + var s = t[o], + l = t[o + 1]; + Array.isArray(s) || (s = [s]); + var u = e.concat(o); + if (0 === s.length) + return u.error( + "Expected at least one branch label.", + ); + for (var c = 0, f = s; c < f.length; c += 1) { + var h = f[c]; + if ( + "number" != typeof h && + "string" != typeof h + ) + return u.error( + "Branch labels must be numbers or strings.", + ); + if ( + "number" == typeof h && + Math.abs(h) > Number.MAX_SAFE_INTEGER + ) + return u.error( + "Branch labels must be integers no larger than " + + Number.MAX_SAFE_INTEGER + + ".", + ); + if ( + "number" == typeof h && + Math.floor(h) !== h + ) + return u.error( + "Numeric branch labels must be integer values.", + ); + if (r) { + if (u.checkSubtype(r, he(h))) return null; + } else r = he(h); + if (void 0 !== i[String(h)]) + return u.error( + "Branch labels must be unique.", + ); + i[String(h)] = a.length; + } + var p = e.parse(l, o, n); + if (!p) return null; + (n = n || p.type), a.push(p); + } + var d = e.parse(t[1], 1, Wt); + if (!d) return null; + var v = e.parse(t[t.length - 1], t.length - 1, n); + return v + ? "value" !== d.type.kind && + e.concat(1).checkSubtype(r, d.type) + ? null + : new Tr(r, n, d, i, a, v) + : null; + }), + (Tr.prototype.evaluate = function (t) { + var e = this.input.evaluate(t); + return ( + (he(e) === this.inputType && + this.outputs[this.cases[e]]) || + this.otherwise + ).evaluate(t); + }), + (Tr.prototype.eachChild = function (t) { + t(this.input), + this.outputs.forEach(t), + t(this.otherwise); + }), + (Tr.prototype.outputDefined = function () { + return ( + this.outputs.every(function (t) { + return t.outputDefined(); + }) && this.otherwise.outputDefined() + ); + }), + (Tr.prototype.serialize = function () { + for ( + var t = this, + e = ["match", this.input.serialize()], + r = [], + n = {}, + i = 0, + a = Object.keys(this.cases).sort(); + i < a.length; + i += 1 + ) { + var o = a[i]; + void 0 === (f = n[this.cases[o]]) + ? ((n[this.cases[o]] = r.length), + r.push([this.cases[o], [o]])) + : r[f][1].push(o); + } + for ( + var s = function (e) { + return "number" === t.inputType.kind + ? Number(e) + : e; + }, + l = 0, + u = r; + l < u.length; + l += 1 + ) { + var c = u[l], + f = c[0], + h = c[1]; + 1 === h.length + ? e.push(s(h[0])) + : e.push(h.map(s)), + e.push( + this.outputs[outputIndex$1].serialize(), + ); + } + return e.push(this.otherwise.serialize()), e; + }); + var kr = function (t, e, r) { + (this.type = t), + (this.branches = e), + (this.otherwise = r); + }; + (kr.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 n = [], i = 1; + i < t.length - 1; + i += 2 + ) { + var a = e.parse(t[i], i, qt); + if (!a) return null; + var o = e.parse(t[i + 1], i + 1, r); + if (!o) return null; + n.push([a, o]), (r = r || o.type); + } + var s = e.parse(t[t.length - 1], t.length - 1, r); + return s ? new kr(r, n, s) : null; + }), + (kr.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); + }), + (kr.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); + }), + (kr.prototype.outputDefined = function () { + return ( + this.branches.every(function (t) { + return t[0], t[1].outputDefined(); + }) && this.otherwise.outputDefined() + ); + }), + (kr.prototype.serialize = function () { + var t = ["case"]; + return ( + this.eachChild(function (e) { + t.push(e.serialize()); + }), + t + ); + }); + var Ar = function (t, e, r, n) { + (this.type = t), + (this.input = e), + (this.beginIndex = r), + (this.endIndex = n); + }; + function Mr(t, e) { + return "==" === t || "!=" === t + ? "boolean" === e.kind || + "string" === e.kind || + "number" === e.kind || + "null" === e.kind || + "value" === e.kind + : "string" === e.kind || + "number" === e.kind || + "value" === e.kind; + } + function Sr(t, e, r, n) { + return 0 === n.compare(e, r); + } + function Er(t, e, r) { + var n = "==" !== t && "!=" !== t; + return (function () { + function i(t, e, r) { + (this.type = qt), + (this.lhs = t), + (this.rhs = e), + (this.collator = r), + (this.hasUntypedArgument = + "value" === t.type.kind || + "value" === e.type.kind); + } + return ( + (i.parse = function (t, e) { + if (3 !== t.length && 4 !== t.length) + return e.error( + "Expected two or three arguments.", + ); + var r = t[0], + a = e.parse(t[1], 1, Wt); + if (!a) return null; + if (!Mr(r, a.type)) + return e + .concat(1) + .error( + '"' + + r + + "\" comparisons are not supported for type '" + + $t(a.type) + + "'.", + ); + var o = e.parse(t[2], 2, Wt); + if (!o) return null; + if (!Mr(r, o.type)) + return e + .concat(2) + .error( + '"' + + r + + "\" comparisons are not supported for type '" + + $t(o.type) + + "'.", + ); + if ( + a.type.kind !== o.type.kind && + "value" !== a.type.kind && + "value" !== o.type.kind + ) + return e.error( + "Cannot compare types '" + + $t(a.type) + + "' and '" + + $t(o.type) + + "'.", + ); + n && + ("value" === a.type.kind && + "value" !== o.type.kind + ? (a = new ye(o.type, [a])) + : "value" !== a.type.kind && + "value" === o.type.kind && + (o = new ye(a.type, [o]))); + var s = null; + if (4 === t.length) { + if ( + "string" !== a.type.kind && + "string" !== o.type.kind && + "value" !== a.type.kind && + "value" !== o.type.kind + ) + return e.error( + "Cannot use collator to compare non-string types.", + ); + if (!(s = e.parse(t[3], 3, Yt))) + return null; + } + return new i(a, o, s); + }), + (i.prototype.evaluate = function (i) { + var a = this.lhs.evaluate(i), + o = this.rhs.evaluate(i); + if (n && this.hasUntypedArgument) { + var s = he(a), + l = he(o); + if ( + s.kind !== l.kind || + ("string" !== s.kind && + "number" !== s.kind) + ) + throw new ve( + 'Expected arguments for "' + + t + + '" to be (string, string) or (number, number), but found (' + + s.kind + + ", " + + l.kind + + ") instead.", + ); + } + if ( + this.collator && + !n && + this.hasUntypedArgument + ) { + var u = he(a), + c = he(o); + if ( + "string" !== u.kind || + "string" !== c.kind + ) + return e(i, a, o); + } + return this.collator + ? r(i, a, o, this.collator.evaluate(i)) + : e(i, a, o); + }), + (i.prototype.eachChild = function (t) { + t(this.lhs), + t(this.rhs), + this.collator && t(this.collator); + }), + (i.prototype.outputDefined = function () { + return !0; + }), + (i.prototype.serialize = function () { + var e = [t]; + return ( + this.eachChild(function (t) { + e.push(t.serialize()); + }), + e + ); + }), + i + ); + })(); + } + (Ar.parse = function (t, e) { + if (t.length <= 2 || t.length >= 5) + return e.error( + "Expected 3 or 4 arguments, but found " + + (t.length - 1) + + " instead.", + ); + var r = e.parse(t[1], 1, Wt), + n = e.parse(t[2], 2, Vt); + if (!r || !n) return null; + if (!ee(r.type, [Kt(Wt), Ht, Wt])) + return e.error( + "Expected first argument to be of type array or string, but found " + + $t(r.type) + + " instead", + ); + if (4 === t.length) { + var i = e.parse(t[3], 3, Vt); + return i ? new Ar(r.type, r, n, i) : null; + } + return new Ar(r.type, r, n); + }), + (Ar.prototype.evaluate = function (t) { + var e = this.input.evaluate(t), + r = this.beginIndex.evaluate(t); + if (!re(e, ["string", "array"])) + throw new ve( + "Expected first argument to be of type array or string, but found " + + $t(he(e)) + + " instead.", + ); + if (this.endIndex) { + var n = this.endIndex.evaluate(t); + return e.slice(r, n); + } + return e.slice(r); + }), + (Ar.prototype.eachChild = function (t) { + t(this.input), + t(this.beginIndex), + this.endIndex && t(this.endIndex); + }), + (Ar.prototype.outputDefined = function () { + return !1; + }), + (Ar.prototype.serialize = function () { + if ( + null != this.endIndex && + void 0 !== this.endIndex + ) { + var t = this.endIndex.serialize(); + return [ + "slice", + this.input.serialize(), + this.beginIndex.serialize(), + t, + ]; + } + return [ + "slice", + this.input.serialize(), + this.beginIndex.serialize(), + ]; + }); + var Lr = Er( + "==", + function (t, e, r) { + return e === r; + }, + Sr, + ), + Cr = Er( + "!=", + function (t, e, r) { + return e !== r; + }, + function (t, e, r, n) { + return !Sr(0, e, r, n); + }, + ), + Or = Er( + "<", + function (t, e, r) { + return e < r; + }, + function (t, e, r, n) { + return n.compare(e, r) < 0; + }, + ), + Pr = Er( + ">", + function (t, e, r) { + return e > r; + }, + function (t, e, r, n) { + return n.compare(e, r) > 0; + }, + ), + Ir = Er( + "<=", + function (t, e, r) { + return e <= r; + }, + function (t, e, r, n) { + return n.compare(e, r) <= 0; + }, + ), + Dr = Er( + ">=", + function (t, e, r) { + return e >= r; + }, + function (t, e, r, n) { + return n.compare(e, r) >= 0; + }, + ), + zr = function (t, e, r, n, i) { + (this.type = Ht), + (this.number = t), + (this.locale = e), + (this.currency = r), + (this.minFractionDigits = n), + (this.maxFractionDigits = i); + }; + (zr.parse = function (t, e) { + if (3 !== t.length) + return e.error("Expected two arguments."); + var r = e.parse(t[1], 1, Vt); + if (!r) return null; + var n = t[2]; + if ("object" != typeof n || Array.isArray(n)) + return e.error( + "NumberFormat options argument must be an object.", + ); + var i = null; + if (n.locale && !(i = e.parse(n.locale, 1, Ht))) + return null; + var a = null; + if ( + n.currency && + !(a = e.parse(n.currency, 1, Ht)) + ) + return null; + var o = null; + if ( + n["min-fraction-digits"] && + !(o = e.parse(n["min-fraction-digits"], 1, Vt)) + ) + return null; + var s = null; + return n["max-fraction-digits"] && + !(s = e.parse(n["max-fraction-digits"], 1, Vt)) + ? null + : new zr(r, i, a, o, s); + }), + (zr.prototype.evaluate = function (t) { + return new Intl.NumberFormat( + this.locale ? this.locale.evaluate(t) : [], + { + style: this.currency + ? "currency" + : "decimal", + currency: this.currency + ? this.currency.evaluate(t) + : void 0, + minimumFractionDigits: this + .minFractionDigits + ? this.minFractionDigits.evaluate(t) + : void 0, + maximumFractionDigits: this + .maxFractionDigits + ? this.maxFractionDigits.evaluate(t) + : void 0, + }, + ).format(this.number.evaluate(t)); + }), + (zr.prototype.eachChild = function (t) { + t(this.number), + this.locale && t(this.locale), + this.currency && t(this.currency), + this.minFractionDigits && + t(this.minFractionDigits), + this.maxFractionDigits && + t(this.maxFractionDigits); + }), + (zr.prototype.outputDefined = function () { + return !1; + }), + (zr.prototype.serialize = function () { + var t = {}; + return ( + this.locale && + (t.locale = this.locale.serialize()), + this.currency && + (t.currency = this.currency.serialize()), + this.minFractionDigits && + (t["min-fraction-digits"] = + this.minFractionDigits.serialize()), + this.maxFractionDigits && + (t["max-fraction-digits"] = + this.maxFractionDigits.serialize()), + ["number-format", this.number.serialize(), t] + ); + }); + var Rr = function (t) { + (this.type = Vt), (this.input = t); + }; + (Rr.parse = function (t, e) { + if (2 !== t.length) + return e.error( + "Expected 1 argument, but found " + + (t.length - 1) + + " instead.", + ); + var r = e.parse(t[1], 1); + return r + ? "array" !== r.type.kind && + "string" !== r.type.kind && + "value" !== r.type.kind + ? e.error( + "Expected argument of type string or array, but found " + + $t(r.type) + + " instead.", + ) + : new Rr(r) + : null; + }), + (Rr.prototype.evaluate = function (t) { + var e = this.input.evaluate(t); + if ("string" == typeof e) return e.length; + if (Array.isArray(e)) return e.length; + throw new ve( + "Expected value to be of type string or array, but found " + + $t(he(e)) + + " instead.", + ); + }), + (Rr.prototype.eachChild = function (t) { + t(this.input); + }), + (Rr.prototype.outputDefined = function () { + return !1; + }), + (Rr.prototype.serialize = function () { + var t = ["length"]; + return ( + this.eachChild(function (e) { + t.push(e.serialize()); + }), + t + ); + }); + var Fr = { + "==": Lr, + "!=": Cr, + ">": Pr, + "<": Or, + ">=": Dr, + "<=": Ir, + array: ye, + at: br, + boolean: ye, + case: kr, + coalesce: mr, + collator: Ae, + format: me, + image: xe, + in: _r, + "index-of": wr, + interpolate: gr, + "interpolate-hcl": gr, + "interpolate-lab": gr, + length: Rr, + let: xr, + literal: de, + match: Tr, + number: ye, + "number-format": zr, + object: ye, + slice: Ar, + step: Je, + string: ye, + "to-boolean": _e, + "to-color": _e, + "to-number": _e, + "to-string": _e, + var: Ze, + within: Ve, + }; + function Br(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 = ce(r, n, i, o); + if (s) throw new ve(s); + return new ae( + (r / 255) * o, + (n / 255) * o, + (i / 255) * o, + o, + ); + } + function Nr(t, e) { + return t in e; + } + function jr(t, e) { + var r = e[t]; + return void 0 === r ? null : r; + } + function Ur(t) { + return { type: t }; + } + function Vr(t) { + return { result: "success", value: t }; + } + function Hr(t) { + return { result: "error", value: t }; + } + function qr(t) { + return ( + "data-driven" === t["property-type"] || + "cross-faded-data-driven" === t["property-type"] + ); + } + function Gr(t) { + return ( + !!t.expression && + t.expression.parameters.indexOf("zoom") > -1 + ); + } + function Zr(t) { + return ( + !!t.expression && t.expression.interpolated + ); + } + function Wr(t) { + return t instanceof Number + ? "number" + : t instanceof String + ? "string" + : t instanceof Boolean + ? "boolean" + : Array.isArray(t) + ? "array" + : null === t + ? "null" + : typeof t; + } + function Yr(t) { + return ( + "object" == typeof t && + null !== t && + !Array.isArray(t) + ); + } + function Xr(t) { + return t; + } + function Jr(t, e) { + var r, + n, + i, + a = "color" === e.type, + o = t.stops && "object" == typeof t.stops[0][0], + s = o || void 0 !== t.property, + l = o || !s, + u = + t.type || + (Zr(e) ? "exponential" : "interval"); + if ( + (a && + ((t = Rt({}, t)).stops && + (t.stops = t.stops.map(function (t) { + return [t[0], ae.parse(t[1])]; + })), + t.default + ? (t.default = ae.parse(t.default)) + : (t.default = ae.parse(e.default))), + t.colorSpace && + "rgb" !== t.colorSpace && + !vr[t.colorSpace]) + ) + throw new Error( + "Unknown color space: " + t.colorSpace, + ); + if ("exponential" === u) r = tn; + else if ("interval" === u) r = Qr; + else if ("categorical" === u) { + (r = $r), (n = Object.create(null)); + for ( + var c = 0, f = t.stops; + c < f.length; + c += 1 + ) { + var h = f[c]; + n[h[0]] = h[1]; + } + i = typeof t.stops[0][0]; + } else { + if ("identity" !== u) + throw new Error( + 'Unknown function type "' + u + '"', + ); + r = en; + } + if (o) { + for ( + var p = {}, d = [], v = 0; + v < t.stops.length; + v++ + ) { + var g = t.stops[v], + y = g[0].zoom; + void 0 === p[y] && + ((p[y] = { + zoom: y, + type: t.type, + property: t.property, + default: t.default, + stops: [], + }), + d.push(y)), + p[y].stops.push([g[0].value, g[1]]); + } + for ( + var m = [], x = 0, b = d; + x < b.length; + x += 1 + ) { + var _ = b[x]; + m.push([p[_].zoom, Jr(p[_], e)]); + } + var w = { name: "linear" }; + return { + kind: "composite", + interpolationType: w, + interpolationFactor: + gr.interpolationFactor.bind(void 0, w), + zoomStops: m.map(function (t) { + return t[0]; + }), + evaluate: function (r, n) { + var i = r.zoom; + return tn( + { stops: m, base: t.base }, + e, + i, + ).evaluate(i, n); + }, + }; + } + if (l) { + var T = + "exponential" === u + ? { + name: "exponential", + base: void 0 !== t.base ? t.base : 1, + } + : null; + return { + kind: "camera", + interpolationType: T, + interpolationFactor: + gr.interpolationFactor.bind(void 0, T), + zoomStops: t.stops.map(function (t) { + return t[0]; + }), + evaluate: function (a) { + var o = a.zoom; + return r(t, e, o, n, i); + }, + }; + } + return { + kind: "source", + evaluate: function (a, o) { + var s = + o && o.properties + ? o.properties[t.property] + : void 0; + return void 0 === s + ? Kr(t.default, e.default) + : r(t, e, s, n, i); + }, + }; + } + function Kr(t, e, r) { + return void 0 !== t + ? t + : void 0 !== e + ? e + : void 0 !== r + ? r + : void 0; + } + function $r(t, e, r, n, i) { + return Kr( + typeof r === i ? n[r] : void 0, + t.default, + e.default, + ); + } + function Qr(t, e, r) { + if ("number" !== Wr(r)) + return Kr(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 i = Xe( + t.stops.map(function (t) { + return t[0]; + }), + r, + ); + return t.stops[i][1]; + } + function tn(t, e, r) { + var n = void 0 !== t.base ? t.base : 1; + if ("number" !== Wr(r)) + return Kr(t.default, e.default); + var i = t.stops.length; + if (1 === i) return t.stops[0][1]; + if (r <= t.stops[0][0]) return t.stops[0][1]; + if (r >= t.stops[i - 1][0]) + return t.stops[i - 1][1]; + var a = Xe( + t.stops.map(function (t) { + return t[0]; + }), + r, + ), + o = (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, n, t.stops[a][0], t.stops[a + 1][0]), + s = t.stops[a][1], + l = t.stops[a + 1][1], + u = $e[e.type] || Xr; + if (t.colorSpace && "rgb" !== t.colorSpace) { + var c = vr[t.colorSpace]; + u = function (t, e) { + return c.reverse( + c.interpolate( + c.forward(t), + c.forward(e), + o, + ), + ); + }; + } + return "function" == typeof s.evaluate + ? { + evaluate: function () { + for ( + var t = [], e = arguments.length; + e--; + + ) + t[e] = arguments[e]; + var r = s.evaluate.apply(void 0, t), + n = l.evaluate.apply(void 0, t); + if (void 0 !== r && void 0 !== n) + return u(r, n, o); + }, + } + : u(s, l, o); + } + function en(t, e, r) { + return ( + "color" === e.type + ? (r = ae.parse(r)) + : "formatted" === e.type + ? (r = le.fromString(r.toString())) + : "resolvedImage" === e.type + ? (r = ue.fromString(r.toString())) + : Wr(r) === e.type || + ("enum" === e.type && e.values[r]) || + (r = void 0), + Kr(r, t.default, e.default) + ); + } + ke.register(Fr, { + error: [ + { kind: "error" }, + [Ht], + function (t, e) { + var r = e[0]; + throw new ve(r.evaluate(t)); + }, + ], + typeof: [ + Ht, + [Wt], + function (t, e) { + return $t(he(e[0].evaluate(t))); + }, + ], + "to-rgba": [ + Kt(Vt, 4), + [Gt], + function (t, e) { + return e[0].evaluate(t).toArray(); + }, + ], + rgb: [Gt, [Vt, Vt, Vt], Br], + rgba: [Gt, [Vt, Vt, Vt, Vt], Br], + has: { + type: qt, + overloads: [ + [ + [Ht], + function (t, e) { + return Nr( + e[0].evaluate(t), + t.properties(), + ); + }, + ], + [ + [Ht, Zt], + function (t, e) { + var r = e[0], + n = e[1]; + return Nr(r.evaluate(t), n.evaluate(t)); + }, + ], + ], + }, + get: { + type: Wt, + overloads: [ + [ + [Ht], + function (t, e) { + return jr( + e[0].evaluate(t), + t.properties(), + ); + }, + ], + [ + [Ht, Zt], + function (t, e) { + var r = e[0], + n = e[1]; + return jr(r.evaluate(t), n.evaluate(t)); + }, + ], + ], + }, + "feature-state": [ + Wt, + [Ht], + function (t, e) { + return jr( + e[0].evaluate(t), + t.featureState || {}, + ); + }, + ], + properties: [ + Zt, + [], + function (t) { + return t.properties(); + }, + ], + "geometry-type": [ + Ht, + [], + function (t) { + return t.geometryType(); + }, + ], + id: [ + Wt, + [], + function (t) { + return t.id(); + }, + ], + zoom: [ + Vt, + [], + function (t) { + return t.globals.zoom; + }, + ], + "heatmap-density": [ + Vt, + [], + function (t) { + return t.globals.heatmapDensity || 0; + }, + ], + "line-progress": [ + Vt, + [], + function (t) { + return t.globals.lineProgress || 0; + }, + ], + accumulated: [ + Wt, + [], + function (t) { + return void 0 === t.globals.accumulated + ? null + : t.globals.accumulated; + }, + ], + "+": [ + Vt, + Ur(Vt), + function (t, e) { + for ( + var r = 0, n = 0, i = e; + n < i.length; + n += 1 + ) + r += i[n].evaluate(t); + return r; + }, + ], + "*": [ + Vt, + Ur(Vt), + function (t, e) { + for ( + var r = 1, n = 0, i = e; + n < i.length; + n += 1 + ) + r *= i[n].evaluate(t); + return r; + }, + ], + "-": { + type: Vt, + overloads: [ + [ + [Vt, Vt], + function (t, e) { + var r = e[0], + n = e[1]; + return r.evaluate(t) - n.evaluate(t); + }, + ], + [ + [Vt], + function (t, e) { + return -e[0].evaluate(t); + }, + ], + ], + }, + "/": [ + Vt, + [Vt, Vt], + function (t, e) { + var r = e[0], + n = e[1]; + return r.evaluate(t) / n.evaluate(t); + }, + ], + "%": [ + Vt, + [Vt, Vt], + function (t, e) { + var r = e[0], + n = e[1]; + return r.evaluate(t) % n.evaluate(t); + }, + ], + ln2: [ + Vt, + [], + function () { + return Math.LN2; + }, + ], + pi: [ + Vt, + [], + function () { + return Math.PI; + }, + ], + e: [ + Vt, + [], + function () { + return Math.E; + }, + ], + "^": [ + Vt, + [Vt, Vt], + function (t, e) { + var r = e[0], + n = e[1]; + return Math.pow(r.evaluate(t), n.evaluate(t)); + }, + ], + sqrt: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.sqrt(r.evaluate(t)); + }, + ], + log10: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.log(r.evaluate(t)) / Math.LN10; + }, + ], + ln: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.log(r.evaluate(t)); + }, + ], + log2: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.log(r.evaluate(t)) / Math.LN2; + }, + ], + sin: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.sin(r.evaluate(t)); + }, + ], + cos: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.cos(r.evaluate(t)); + }, + ], + tan: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.tan(r.evaluate(t)); + }, + ], + asin: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.asin(r.evaluate(t)); + }, + ], + acos: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.acos(r.evaluate(t)); + }, + ], + atan: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.atan(r.evaluate(t)); + }, + ], + min: [ + Vt, + Ur(Vt), + function (t, e) { + return Math.min.apply( + Math, + e.map(function (e) { + return e.evaluate(t); + }), + ); + }, + ], + max: [ + Vt, + Ur(Vt), + function (t, e) { + return Math.max.apply( + Math, + e.map(function (e) { + return e.evaluate(t); + }), + ); + }, + ], + abs: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.abs(r.evaluate(t)); + }, + ], + round: [ + Vt, + [Vt], + function (t, e) { + var r = e[0].evaluate(t); + return r < 0 + ? -Math.round(-r) + : Math.round(r); + }, + ], + floor: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.floor(r.evaluate(t)); + }, + ], + ceil: [ + Vt, + [Vt], + function (t, e) { + var r = e[0]; + return Math.ceil(r.evaluate(t)); + }, + ], + "filter-==": [ + qt, + [Ht, Wt], + function (t, e) { + var r = e[0], + n = e[1]; + return t.properties()[r.value] === n.value; + }, + ], + "filter-id-==": [ + qt, + [Wt], + function (t, e) { + var r = e[0]; + return t.id() === r.value; + }, + ], + "filter-type-==": [ + qt, + [Ht], + function (t, e) { + var r = e[0]; + return t.geometryType() === r.value; + }, + ], + "filter-<": [ + qt, + [Ht, Wt], + 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-<": [ + qt, + [Wt], + function (t, e) { + var r = e[0], + n = t.id(), + i = r.value; + return typeof n == typeof i && n < i; + }, + ], + "filter->": [ + qt, + [Ht, Wt], + 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->": [ + qt, + [Wt], + function (t, e) { + var r = e[0], + n = t.id(), + i = r.value; + return typeof n == typeof i && n > i; + }, + ], + "filter-<=": [ + qt, + [Ht, Wt], + 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-<=": [ + qt, + [Wt], + function (t, e) { + var r = e[0], + n = t.id(), + i = r.value; + return typeof n == typeof i && n <= i; + }, + ], + "filter->=": [ + qt, + [Ht, Wt], + 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->=": [ + qt, + [Wt], + function (t, e) { + var r = e[0], + n = t.id(), + i = r.value; + return typeof n == typeof i && n >= i; + }, + ], + "filter-has": [ + qt, + [Wt], + function (t, e) { + return e[0].value in t.properties(); + }, + ], + "filter-has-id": [ + qt, + [], + function (t) { + return null !== t.id() && void 0 !== t.id(); + }, + ], + "filter-type-in": [ + qt, + [Kt(Ht)], + function (t, e) { + return ( + e[0].value.indexOf(t.geometryType()) >= 0 + ); + }, + ], + "filter-id-in": [ + qt, + [Kt(Wt)], + function (t, e) { + return e[0].value.indexOf(t.id()) >= 0; + }, + ], + "filter-in-small": [ + qt, + [Ht, Kt(Wt)], + function (t, e) { + var r = e[0]; + return ( + e[1].value.indexOf( + t.properties()[r.value], + ) >= 0 + ); + }, + ], + "filter-in-large": [ + qt, + [Ht, Kt(Wt)], + 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, + ); + }, + ], + all: { + type: qt, + overloads: [ + [ + [qt, qt], + function (t, e) { + var r = e[0], + n = e[1]; + return r.evaluate(t) && n.evaluate(t); + }, + ], + [ + Ur(qt), + 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: qt, + overloads: [ + [ + [qt, qt], + function (t, e) { + var r = e[0], + n = e[1]; + return r.evaluate(t) || n.evaluate(t); + }, + ], + [ + Ur(qt), + function (t, e) { + for ( + var r = 0, n = e; + r < n.length; + r += 1 + ) + if (n[r].evaluate(t)) return !0; + return !1; + }, + ], + ], + }, + "!": [ + qt, + [qt], + function (t, e) { + return !e[0].evaluate(t); + }, + ], + "is-supported-script": [ + qt, + [Ht], + function (t, e) { + var r = e[0], + n = + t.globals && t.globals.isSupportedScript; + return !n || n(r.evaluate(t)); + }, + ], + upcase: [ + Ht, + [Ht], + function (t, e) { + return e[0].evaluate(t).toUpperCase(); + }, + ], + downcase: [ + Ht, + [Ht], + function (t, e) { + return e[0].evaluate(t).toLowerCase(); + }, + ], + concat: [ + Ht, + Ur(Wt), + function (t, e) { + return e + .map(function (e) { + return pe(e.evaluate(t)); + }) + .join(""); + }, + ], + "resolved-locale": [ + Ht, + [Yt], + function (t, e) { + return e[0].evaluate(t).resolvedLocale(); + }, + ], + }); + var rn = function (t, e) { + (this.expression = t), + (this._warningHistory = {}), + (this._evaluator = new Te()), + (this._defaultValue = e + ? (function (t) { + return "color" === t.type && Yr(t.default) + ? new ae(0, 0, 0, 0) + : "color" === t.type + ? ae.parse(t.default) || null + : void 0 === t.default + ? null + : t.default; + })(e) + : null), + (this._enumValues = + e && "enum" === e.type ? e.values : null); + }; + function nn(t) { + return ( + Array.isArray(t) && + t.length > 0 && + "string" == typeof t[0] && + t[0] in Fr + ); + } + function an(t, e) { + var r = new We( + Fr, + [], + e + ? (function (t) { + var e = { + color: Gt, + string: Ht, + number: Vt, + enum: Ht, + boolean: qt, + formatted: Xt, + resolvedImage: Jt, + }; + return "array" === t.type + ? Kt(e[t.value] || Wt, t.length) + : e[t.type]; + })(e) + : void 0, + ), + n = r.parse( + t, + void 0, + void 0, + void 0, + e && "string" === e.type + ? { typeAnnotation: "coerce" } + : void 0, + ); + return n ? Vr(new rn(n, e)) : Hr(r.errors); + } + (rn.prototype.evaluateWithoutErrorHandling = + function (t, e, r, n, i, a) { + return ( + (this._evaluator.globals = t), + (this._evaluator.feature = e), + (this._evaluator.featureState = r), + (this._evaluator.canonical = n), + (this._evaluator.availableImages = i || null), + (this._evaluator.formattedSection = a), + this.expression.evaluate(this._evaluator) + ); + }), + (rn.prototype.evaluate = function ( + t, + e, + r, + n, + i, + a, + ) { + (this._evaluator.globals = t), + (this._evaluator.feature = e || null), + (this._evaluator.featureState = r || null), + (this._evaluator.canonical = n), + (this._evaluator.availableImages = i || null), + (this._evaluator.formattedSection = + a || null); + try { + var o = this.expression.evaluate( + this._evaluator, + ); + if ( + null == o || + ("number" == typeof o && o != o) + ) + return this._defaultValue; + if ( + this._enumValues && + !(o in this._enumValues) + ) + throw new ve( + "Expected value to be one of " + + Object.keys(this._enumValues) + .map(function (t) { + return JSON.stringify(t); + }) + .join(", ") + + ", but found " + + JSON.stringify(o) + + " instead.", + ); + return o; + } catch (t) { + return ( + this._warningHistory[t.message] || + ((this._warningHistory[t.message] = !0), + "undefined" != typeof console && + console.warn(t.message)), + this._defaultValue + ); + } + }); + var on = function (t, e) { + (this.kind = t), + (this._styleExpression = e), + (this.isStateDependent = + "constant" !== t && !qe(e.expression)); + }; + (on.prototype.evaluateWithoutErrorHandling = + function (t, e, r, n, i, a) { + return this._styleExpression.evaluateWithoutErrorHandling( + t, + e, + r, + n, + i, + a, + ); + }), + (on.prototype.evaluate = function ( + t, + e, + r, + n, + i, + a, + ) { + return this._styleExpression.evaluate( + t, + e, + r, + n, + i, + a, + ); + }); + var sn = function (t, e, r, n) { + (this.kind = t), + (this.zoomStops = r), + (this._styleExpression = e), + (this.isStateDependent = + "camera" !== t && !qe(e.expression)), + (this.interpolationType = n); + }; + function ln(t, e) { + if ("error" === (t = an(t, e)).result) return t; + var r = t.value.expression, + n = He(r); + if (!n && !qr(e)) + return Hr([ + new Nt("", "data expressions not supported"), + ]); + var i = Ge(r, ["zoom"]); + if (!i && !Gr(e)) + return Hr([ + new Nt("", "zoom expressions not supported"), + ]); + var a = cn(r); + if (!a && !i) + return Hr([ + new Nt( + "", + '"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.', + ), + ]); + if (a instanceof Nt) return Hr([a]); + if (a instanceof gr && !Zr(e)) + return Hr([ + new Nt( + "", + '"interpolate" expressions cannot be used with this property', + ), + ]); + if (!a) + return Vr( + new on(n ? "constant" : "source", t.value), + ); + var o = + a instanceof gr ? a.interpolation : void 0; + return Vr( + new sn( + n ? "camera" : "composite", + t.value, + a.labels, + o, + ), + ); + } + (sn.prototype.evaluateWithoutErrorHandling = + function (t, e, r, n, i, a) { + return this._styleExpression.evaluateWithoutErrorHandling( + t, + e, + r, + n, + i, + a, + ); + }), + (sn.prototype.evaluate = function ( + t, + e, + r, + n, + i, + a, + ) { + return this._styleExpression.evaluate( + t, + e, + r, + n, + i, + a, + ); + }), + (sn.prototype.interpolationFactor = function ( + t, + e, + r, + ) { + return this.interpolationType + ? gr.interpolationFactor( + this.interpolationType, + t, + e, + r, + ) + : 0; + }); + var un = function (t, e) { + (this._parameters = t), + (this._specification = e), + Rt( + this, + Jr(this._parameters, this._specification), + ); + }; + function cn(t) { + var e = null; + if (t instanceof xr) e = cn(t.result); + else if (t instanceof mr) + for ( + var r = 0, n = t.args; + r < n.length; + r += 1 + ) { + var i = n[r]; + if ((e = cn(i))) break; + } + else + (t instanceof Je || t instanceof gr) && + t.input instanceof ke && + "zoom" === t.input.name && + (e = t); + return ( + e instanceof Nt || + t.eachChild(function (t) { + var r = cn(t); + r instanceof Nt + ? (e = r) + : !e && r + ? (e = new Nt( + "", + '"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.', + )) + : e && + r && + e !== r && + (e = new Nt( + "", + 'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.', + )); + }), + e + ); + } + function fn(t) { + var e = t.key, + r = t.value, + n = t.valueSpec || {}, + i = t.objectElementValidators || {}, + a = t.style, + o = t.styleSpec, + s = [], + l = Wr(r); + if ("object" !== l) + return [ + new Dt( + e, + r, + "object expected, " + l + " found", + ), + ]; + for (var u in r) { + var c = u.split(".")[0], + f = n[c] || n["*"], + h = void 0; + if (i[c]) h = i[c]; + else if (n[c]) h = Bn; + else if (i["*"]) h = i["*"]; + else { + if (!n["*"]) { + s.push( + new Dt( + e, + r[u], + 'unknown property "' + u + '"', + ), + ); + continue; + } + h = Bn; + } + s = s.concat( + h( + { + key: (e ? e + "." : e) + u, + value: r[u], + valueSpec: f, + style: a, + styleSpec: o, + object: r, + objectKey: u, + }, + r, + ), + ); + } + for (var p in n) + i[p] || + (n[p].required && + void 0 === n[p].default && + void 0 === r[p] && + s.push( + new Dt( + e, + r, + 'missing required property "' + p + '"', + ), + )); + return s; + } + function hn(t) { + var e = t.value, + r = t.valueSpec, + n = t.style, + i = t.styleSpec, + a = t.key, + o = t.arrayElementValidator || Bn; + if ("array" !== Wr(e)) + return [ + new Dt( + a, + e, + "array expected, " + Wr(e) + " found", + ), + ]; + if (r.length && e.length !== r.length) + return [ + new Dt( + a, + e, + "array length " + + r.length + + " expected, length " + + e.length + + " found", + ), + ]; + if (r["min-length"] && e.length < r["min-length"]) + return [ + new Dt( + a, + e, + "array length at least " + + r["min-length"] + + " expected, length " + + e.length + + " found", + ), + ]; + var s = { type: r.value, values: r.values }; + i.$version < 7 && (s.function = r.function), + "object" === Wr(r.value) && (s = r.value); + for (var l = [], u = 0; u < e.length; u++) + l = l.concat( + o({ + array: e, + arrayIndex: u, + value: e[u], + valueSpec: s, + style: n, + styleSpec: i, + key: a + "[" + u + "]", + }), + ); + return l; + } + function pn(t) { + var e = t.key, + r = t.value, + n = t.valueSpec, + i = Wr(r); + return ( + "number" === i && r != r && (i = "NaN"), + "number" !== i + ? [ + new Dt( + e, + r, + "number expected, " + i + " found", + ), + ] + : "minimum" in n && r < n.minimum + ? [ + new Dt( + e, + r, + r + + " is less than the minimum value " + + n.minimum, + ), + ] + : "maximum" in n && r > n.maximum + ? [ + new Dt( + e, + r, + r + + " is greater than the maximum value " + + n.maximum, + ), + ] + : [] + ); + } + function dn(t) { + var e, + r, + n, + i = t.valueSpec, + a = Ft(t.value.type), + o = {}, + s = + "categorical" !== a && + void 0 === t.value.property, + l = !s, + u = + "array" === Wr(t.value.stops) && + "array" === Wr(t.value.stops[0]) && + "object" === Wr(t.value.stops[0][0]), + c = fn({ + key: t.key, + value: t.value, + valueSpec: t.styleSpec.function, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { + stops: function (t) { + if ("identity" === a) + return [ + new Dt( + t.key, + t.value, + 'identity function may not have a "stops" property', + ), + ]; + var e = [], + r = t.value; + return ( + (e = e.concat( + hn({ + key: t.key, + value: r, + valueSpec: t.valueSpec, + style: t.style, + styleSpec: t.styleSpec, + arrayElementValidator: f, + }), + )), + "array" === Wr(r) && + 0 === r.length && + e.push( + new Dt( + t.key, + r, + "array must have at least one stop", + ), + ), + e + ); + }, + default: function (t) { + return Bn({ + key: t.key, + value: t.value, + valueSpec: i, + style: t.style, + styleSpec: t.styleSpec, + }); + }, + }, + }); + return ( + "identity" === a && + s && + c.push( + new Dt( + t.key, + t.value, + 'missing required property "property"', + ), + ), + "identity" === a || + t.value.stops || + c.push( + new Dt( + t.key, + t.value, + 'missing required property "stops"', + ), + ), + "exponential" === a && + t.valueSpec.expression && + !Zr(t.valueSpec) && + c.push( + new Dt( + t.key, + t.value, + "exponential functions not supported", + ), + ), + t.styleSpec.$version >= 8 && + (l && !qr(t.valueSpec) + ? c.push( + new Dt( + t.key, + t.value, + "property functions not supported", + ), + ) + : s && + !Gr(t.valueSpec) && + c.push( + new Dt( + t.key, + t.value, + "zoom functions not supported", + ), + )), + ("categorical" !== a && !u) || + void 0 !== t.value.property || + c.push( + new Dt( + t.key, + t.value, + '"property" property is required', + ), + ), + c + ); + function f(t) { + var e = [], + a = t.value, + s = t.key; + if ("array" !== Wr(a)) + return [ + new Dt( + s, + a, + "array expected, " + Wr(a) + " found", + ), + ]; + if (2 !== a.length) + return [ + new Dt( + s, + a, + "array length 2 expected, length " + + a.length + + " found", + ), + ]; + if (u) { + if ("object" !== Wr(a[0])) + return [ + new Dt( + s, + a, + "object expected, " + + Wr(a[0]) + + " found", + ), + ]; + if (void 0 === a[0].zoom) + return [ + new Dt( + s, + a, + "object stop key must have zoom", + ), + ]; + if (void 0 === a[0].value) + return [ + new Dt( + s, + a, + "object stop key must have value", + ), + ]; + if (n && n > Ft(a[0].zoom)) + return [ + new Dt( + s, + a[0].zoom, + "stop zoom values must appear in ascending order", + ), + ]; + Ft(a[0].zoom) !== n && + ((n = Ft(a[0].zoom)), + (r = void 0), + (o = {})), + (e = e.concat( + fn({ + key: s + "[0]", + value: a[0], + valueSpec: { zoom: {} }, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { + zoom: pn, + value: h, + }, + }), + )); + } else + e = e.concat( + h( + { + key: s + "[0]", + value: a[0], + valueSpec: {}, + style: t.style, + styleSpec: t.styleSpec, + }, + a, + ), + ); + return nn(Bt(a[1])) + ? e.concat([ + new Dt( + s + "[1]", + a[1], + "expressions are not allowed in function stops.", + ), + ]) + : e.concat( + Bn({ + key: s + "[1]", + value: a[1], + valueSpec: i, + style: t.style, + styleSpec: t.styleSpec, + }), + ); + } + function h(t, n) { + var s = Wr(t.value), + l = Ft(t.value), + u = null !== t.value ? t.value : n; + if (e) { + if (s !== e) + return [ + new Dt( + t.key, + u, + s + + " stop domain type must match previous stop domain type " + + e, + ), + ]; + } else e = s; + if ( + "number" !== s && + "string" !== s && + "boolean" !== s + ) + return [ + new Dt( + t.key, + u, + "stop domain value must be a number, string, or boolean", + ), + ]; + if ("number" !== s && "categorical" !== a) { + var c = "number expected, " + s + " found"; + return ( + qr(i) && + void 0 === a && + (c += + '\nIf you intended to use a categorical function, specify `"type": "categorical"`.'), + [new Dt(t.key, u, c)] + ); + } + return "categorical" !== a || + "number" !== s || + (isFinite(l) && Math.floor(l) === l) + ? "categorical" !== a && + "number" === s && + void 0 !== r && + l < r + ? [ + new Dt( + t.key, + u, + "stop domain values must appear in ascending order", + ), + ] + : ((r = l), + "categorical" === a && l in o + ? [ + new Dt( + t.key, + u, + "stop domain values must be unique", + ), + ] + : ((o[l] = !0), [])) + : [ + new Dt( + t.key, + u, + "integer expected, found " + l, + ), + ]; + } + } + function vn(t) { + var e = ( + "property" === t.expressionContext ? ln : an + )(Bt(t.value), t.valueSpec); + if ("error" === e.result) + return e.value.map(function (e) { + return new Dt( + "" + t.key + e.key, + t.value, + e.message, + ); + }); + var r = + e.value.expression || + e.value._styleExpression.expression; + if ( + "property" === t.expressionContext && + "text-font" === t.propertyKey && + !r.outputDefined() + ) + return [ + new Dt( + t.key, + t.value, + 'Invalid data expression for "' + + t.propertyKey + + '". Output values must be contained as literals within the expression.', + ), + ]; + if ( + "property" === t.expressionContext && + "layout" === t.propertyType && + !qe(r) + ) + return [ + new Dt( + t.key, + t.value, + '"feature-state" data expressions are not supported with layout properties.', + ), + ]; + if ("filter" === t.expressionContext && !qe(r)) + return [ + new Dt( + t.key, + t.value, + '"feature-state" data expressions are not supported with filters.', + ), + ]; + if ( + t.expressionContext && + 0 === t.expressionContext.indexOf("cluster") + ) { + if (!Ge(r, ["zoom", "feature-state"])) + return [ + new Dt( + t.key, + t.value, + '"zoom" and "feature-state" expressions are not supported with cluster properties.', + ), + ]; + if ( + "cluster-initial" === t.expressionContext && + !He(r) + ) + return [ + new Dt( + t.key, + t.value, + "Feature data expressions are not supported with initial expression part of cluster properties.", + ), + ]; + } + return []; + } + function gn(t) { + var e = t.key, + r = t.value, + n = t.valueSpec, + i = []; + return ( + Array.isArray(n.values) + ? -1 === n.values.indexOf(Ft(r)) && + i.push( + new Dt( + e, + r, + "expected one of [" + + n.values.join(", ") + + "], " + + JSON.stringify(r) + + " found", + ), + ) + : -1 === + Object.keys(n.values).indexOf(Ft(r)) && + i.push( + new Dt( + e, + r, + "expected one of [" + + Object.keys(n.values).join(", ") + + "], " + + JSON.stringify(r) + + " found", + ), + ), + i + ); + } + function yn(t) { + if (!0 === t || !1 === t) return !0; + 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": + return ( + t.length >= 3 && + ("string" != typeof t[1] || + Array.isArray(t[2])) + ); + 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 n = r[e]; + if (!yn(n) && "boolean" != typeof n) + return !1; + } + return !0; + default: + return !0; + } + } + (un.deserialize = function (t) { + return new un(t._parameters, t._specification); + }), + (un.serialize = function (t) { + return { + _parameters: t._parameters, + _specification: t._specification, + }; + }); + var mn = { + type: "boolean", + default: !1, + transition: !1, + "property-type": "data-driven", + expression: { + interpolated: !1, + parameters: ["zoom", "feature"], + }, + }; + function xn(t) { + if (null == t) + return { + filter: function () { + return !0; + }, + needGeometry: !1, + }; + yn(t) || (t = wn(t)); + var e = an(t, mn); + if ("error" === e.result) + throw new Error( + e.value + .map(function (t) { + return t.key + ": " + t.message; + }) + .join(", "), + ); + return { + filter: function (t, r, n) { + return e.value.evaluate(t, r, {}, n); + }, + needGeometry: _n(t), + }; + } + function bn(t, e) { + return t < e ? -1 : t > e ? 1 : 0; + } + function _n(t) { + if (!Array.isArray(t)) return !1; + if ("within" === t[0]) return !0; + for (var e = 1; e < t.length; e++) + if (_n(t[e])) return !0; + return !1; + } + function wn(t) { + if (!t) return !0; + var e, + r = t[0]; + return t.length <= 1 + ? "any" !== r + : "==" === r + ? Tn(t[1], t[2], "==") + : "!=" === r + ? Mn(Tn(t[1], t[2], "==")) + : "<" === r || + ">" === r || + "<=" === r || + ">=" === r + ? Tn(t[1], t[2], r) + : "any" === r + ? ((e = t.slice(1)), ["any"].concat(e.map(wn))) + : "all" === r + ? ["all"].concat(t.slice(1).map(wn)) + : "none" === r + ? ["all"].concat(t.slice(1).map(wn).map(Mn)) + : "in" === r + ? kn(t[1], t.slice(2)) + : "!in" === r + ? Mn(kn(t[1], t.slice(2))) + : "has" === r + ? An(t[1]) + : "!has" === r + ? Mn(An(t[1])) + : "within" !== r || t; + } + function Tn(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 kn(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(bn)], + ] + : ["filter-in-small", t, ["literal", e]]; + } + } + function An(t) { + switch (t) { + case "$type": + return !0; + case "$id": + return ["filter-has-id"]; + default: + return ["filter-has", t]; + } + } + function Mn(t) { + return ["!", t]; + } + function Sn(t) { + return yn(Bt(t.value)) + ? vn( + Rt({}, t, { + expressionContext: "filter", + valueSpec: { value: "boolean" }, + }), + ) + : En(t); + } + function En(t) { + var e = t.value, + r = t.key; + if ("array" !== Wr(e)) + return [ + new Dt( + r, + e, + "array expected, " + Wr(e) + " found", + ), + ]; + var n, + i = t.styleSpec, + a = []; + if (e.length < 1) + return [ + new Dt( + r, + e, + "filter array must have at least 1 element", + ), + ]; + switch ( + ((a = a.concat( + gn({ + key: r + "[0]", + value: e[0], + valueSpec: i.filter_operator, + style: t.style, + styleSpec: t.styleSpec, + }), + )), + Ft(e[0])) + ) { + case "<": + case "<=": + case ">": + case ">=": + e.length >= 2 && + "$type" === Ft(e[1]) && + a.push( + new Dt( + r, + e, + '"$type" cannot be use with operator "' + + e[0] + + '"', + ), + ); + case "==": + case "!=": + 3 !== e.length && + a.push( + new Dt( + r, + e, + 'filter array for operator "' + + e[0] + + '" must have 3 elements', + ), + ); + case "in": + case "!in": + e.length >= 2 && + "string" !== (n = Wr(e[1])) && + a.push( + new Dt( + r + "[1]", + e[1], + "string expected, " + n + " found", + ), + ); + for (var o = 2; o < e.length; o++) + (n = Wr(e[o])), + "$type" === Ft(e[1]) + ? (a = a.concat( + gn({ + key: r + "[" + o + "]", + value: e[o], + valueSpec: i.geometry_type, + style: t.style, + styleSpec: t.styleSpec, + }), + )) + : "string" !== n && + "number" !== n && + "boolean" !== n && + a.push( + new Dt( + r + "[" + o + "]", + e[o], + "string, number, or boolean expected, " + + n + + " found", + ), + ); + break; + case "any": + case "all": + case "none": + for (var s = 1; s < e.length; s++) + a = a.concat( + En({ + key: r + "[" + s + "]", + value: e[s], + style: t.style, + styleSpec: t.styleSpec, + }), + ); + break; + case "has": + case "!has": + (n = Wr(e[1])), + 2 !== e.length + ? a.push( + new Dt( + r, + e, + 'filter array for "' + + e[0] + + '" operator must have 2 elements', + ), + ) + : "string" !== n && + a.push( + new Dt( + r + "[1]", + e[1], + "string expected, " + n + " found", + ), + ); + break; + case "within": + (n = Wr(e[1])), + 2 !== e.length + ? a.push( + new Dt( + r, + e, + 'filter array for "' + + e[0] + + '" operator must have 2 elements', + ), + ) + : "object" !== n && + a.push( + new Dt( + r + "[1]", + e[1], + "object expected, " + n + " found", + ), + ); + } + return a; + } + function Ln(t, e) { + var r = t.key, + n = t.style, + i = t.styleSpec, + a = t.value, + o = t.objectKey, + s = i[e + "_" + t.layerType]; + if (!s) return []; + var l = o.match(/^(.*)-transition$/); + if ( + "paint" === e && + l && + s[l[1]] && + s[l[1]].transition + ) + return Bn({ + key: r, + value: a, + valueSpec: i.transition, + style: n, + styleSpec: i, + }); + var u, + c = t.valueSpec || s[o]; + if (!c) + return [ + new Dt(r, a, 'unknown property "' + o + '"'), + ]; + if ( + "string" === Wr(a) && + qr(c) && + !c.tokens && + (u = /^{([^}]+)}$/.exec(a)) + ) + return [ + new Dt( + r, + a, + '"' + + o + + '" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": ' + + JSON.stringify(u[1]) + + " }`.", + ), + ]; + var f = []; + return ( + "symbol" === t.layerType && + ("text-field" === o && + n && + !n.glyphs && + f.push( + new Dt( + r, + a, + 'use of "text-field" requires a style "glyphs" property', + ), + ), + "text-font" === o && + Yr(Bt(a)) && + "identity" === Ft(a.type) && + f.push( + new Dt( + r, + a, + '"text-font" does not support identity functions', + ), + )), + f.concat( + Bn({ + key: t.key, + value: a, + valueSpec: c, + style: n, + styleSpec: i, + expressionContext: "property", + propertyType: e, + propertyKey: o, + }), + ) + ); + } + function Cn(t) { + return Ln(t, "paint"); + } + function On(t) { + return Ln(t, "layout"); + } + function Pn(t) { + var e = [], + r = t.value, + n = t.key, + i = t.style, + a = t.styleSpec; + r.type || + r.ref || + e.push( + new Dt( + n, + r, + 'either "type" or "ref" is required', + ), + ); + var o, + s = Ft(r.type), + l = Ft(r.ref); + if (r.id) + for ( + var u = Ft(r.id), c = 0; + c < t.arrayIndex; + c++ + ) { + var f = i.layers[c]; + Ft(f.id) === u && + e.push( + new Dt( + n, + r.id, + 'duplicate layer id "' + + r.id + + '", previously used at line ' + + f.id.__line__, + ), + ); + } + if ("ref" in r) + [ + "type", + "source", + "source-layer", + "filter", + "layout", + ].forEach(function (t) { + t in r && + e.push( + new Dt( + n, + r[t], + '"' + + t + + '" is prohibited for ref layers', + ), + ); + }), + i.layers.forEach(function (t) { + Ft(t.id) === l && (o = t); + }), + o + ? o.ref + ? e.push( + new Dt( + n, + r.ref, + "ref cannot reference another ref layer", + ), + ) + : (s = Ft(o.type)) + : e.push( + new Dt( + n, + r.ref, + 'ref layer "' + l + '" not found', + ), + ); + else if ("background" !== s) + if (r.source) { + var h = i.sources && i.sources[r.source], + p = h && Ft(h.type); + h + ? "vector" === p && "raster" === s + ? e.push( + new Dt( + n, + r.source, + 'layer "' + + r.id + + '" requires a raster source', + ), + ) + : "raster" === p && "raster" !== s + ? e.push( + new Dt( + n, + r.source, + 'layer "' + + r.id + + '" requires a vector source', + ), + ) + : "vector" !== p || r["source-layer"] + ? "raster-dem" === p && "hillshade" !== s + ? e.push( + new Dt( + n, + r.source, + "raster-dem source can only be used with layer type 'hillshade'.", + ), + ) + : "line" !== s || + !r.paint || + !r.paint["line-gradient"] || + ("geojson" === p && h.lineMetrics) || + e.push( + new Dt( + n, + r, + 'layer "' + + r.id + + '" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.', + ), + ) + : e.push( + new Dt( + n, + r, + 'layer "' + + r.id + + '" must specify a "source-layer"', + ), + ) + : e.push( + new Dt( + n, + r.source, + 'source "' + r.source + '" not found', + ), + ); + } else + e.push( + new Dt( + n, + r, + 'missing required property "source"', + ), + ); + return ( + (e = e.concat( + fn({ + key: n, + value: r, + valueSpec: a.layer, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { + "*": function () { + return []; + }, + type: function () { + return Bn({ + key: n + ".type", + value: r.type, + valueSpec: a.layer.type, + style: t.style, + styleSpec: t.styleSpec, + object: r, + objectKey: "type", + }); + }, + filter: Sn, + layout: function (t) { + return fn({ + layer: r, + key: t.key, + value: t.value, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { + "*": function (t) { + return On( + Rt({ layerType: s }, t), + ); + }, + }, + }); + }, + paint: function (t) { + return fn({ + layer: r, + key: t.key, + value: t.value, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { + "*": function (t) { + return Cn( + Rt({ layerType: s }, t), + ); + }, + }, + }); + }, + }, + }), + )), + e + ); + } + function In(t) { + var e = t.value, + r = t.key, + n = Wr(e); + return "string" !== n + ? [ + new Dt( + r, + e, + "string expected, " + n + " found", + ), + ] + : []; + } + var Dn = { + promoteId: function (t) { + var e = t.key, + r = t.value; + if ("string" === Wr(r)) + return In({ key: e, value: r }); + var n = []; + for (var i in r) + n.push.apply( + n, + In({ key: e + "." + i, value: r[i] }), + ); + return n; + }, + }; + function zn(t) { + var e = t.value, + r = t.key, + n = t.styleSpec, + i = t.style; + if (!e.type) + return [new Dt(r, e, '"type" is required')]; + var a, + o = Ft(e.type); + switch (o) { + case "vector": + case "raster": + case "raster-dem": + return fn({ + key: r, + value: e, + valueSpec: + n["source_" + o.replace("-", "_")], + style: t.style, + styleSpec: n, + objectElementValidators: Dn, + }); + case "geojson": + if ( + ((a = fn({ + key: r, + value: e, + valueSpec: n.source_geojson, + style: i, + styleSpec: n, + objectElementValidators: Dn, + })), + e.cluster) + ) + for (var s in e.clusterProperties) { + var l = e.clusterProperties[s], + u = l[0], + c = l[1], + f = + "string" == typeof u + ? [u, ["accumulated"], ["get", s]] + : u; + a.push.apply( + a, + vn({ + key: r + "." + s + ".map", + value: c, + expressionContext: "cluster-map", + }), + ), + a.push.apply( + a, + vn({ + key: r + "." + s + ".reduce", + value: f, + expressionContext: "cluster-reduce", + }), + ); + } + return a; + case "video": + return fn({ + key: r, + value: e, + valueSpec: n.source_video, + style: i, + styleSpec: n, + }); + case "image": + return fn({ + key: r, + value: e, + valueSpec: n.source_image, + style: i, + styleSpec: n, + }); + case "canvas": + return [ + new Dt( + r, + null, + "Please use runtime APIs to add canvas sources, rather than including them in stylesheets.", + "source.canvas", + ), + ]; + default: + return gn({ + key: r + ".type", + value: e.type, + valueSpec: { + values: [ + "vector", + "raster", + "raster-dem", + "geojson", + "video", + "image", + ], + }, + style: i, + styleSpec: n, + }); + } + } + function Rn(t) { + var e = t.value, + r = t.styleSpec, + n = r.light, + i = t.style, + a = [], + o = Wr(e); + if (void 0 === e) return a; + if ("object" !== o) + return a.concat([ + new Dt( + "light", + e, + "object expected, " + o + " found", + ), + ]); + for (var s in e) { + var l = s.match(/^(.*)-transition$/); + a = + l && n[l[1]] && n[l[1]].transition + ? a.concat( + Bn({ + key: s, + value: e[s], + valueSpec: r.transition, + style: i, + styleSpec: r, + }), + ) + : n[s] + ? a.concat( + Bn({ + key: s, + value: e[s], + valueSpec: n[s], + style: i, + styleSpec: r, + }), + ) + : a.concat([ + new Dt( + s, + e[s], + 'unknown property "' + s + '"', + ), + ]); + } + return a; + } + var Fn = { + "*": function () { + return []; + }, + array: hn, + boolean: function (t) { + var e = t.value, + r = t.key, + n = Wr(e); + return "boolean" !== n + ? [ + new Dt( + r, + e, + "boolean expected, " + n + " found", + ), + ] + : []; + }, + number: pn, + color: function (t) { + var e = t.key, + r = t.value, + n = Wr(r); + return "string" !== n + ? [ + new Dt( + e, + r, + "color expected, " + n + " found", + ), + ] + : null === ie(r) + ? [ + new Dt( + e, + r, + 'color expected, "' + r + '" found', + ), + ] + : []; + }, + constants: zt, + enum: gn, + filter: Sn, + function: dn, + layer: Pn, + object: fn, + source: zn, + light: Rn, + string: In, + formatted: function (t) { + return 0 === In(t).length ? [] : vn(t); + }, + resolvedImage: function (t) { + return 0 === In(t).length ? [] : vn(t); + }, + }; + function Bn(t) { + var e = t.value, + r = t.valueSpec, + n = t.styleSpec; + return r.expression && Yr(Ft(e)) + ? dn(t) + : r.expression && nn(Bt(e)) + ? vn(t) + : r.type && Fn[r.type] + ? Fn[r.type](t) + : fn( + Rt({}, t, { + valueSpec: r.type ? n[r.type] : r, + }), + ); + } + function Nn(t) { + var e = t.value, + r = t.key, + n = In(t); + return ( + n.length || + (-1 === e.indexOf("{fontstack}") && + n.push( + new Dt( + r, + e, + '"glyphs" url must include a "{fontstack}" token', + ), + ), + -1 === e.indexOf("{range}") && + n.push( + new Dt( + r, + e, + '"glyphs" url must include a "{range}" token', + ), + )), + n + ); + } + function jn(t, e) { + void 0 === e && (e = It); + var r = []; + return ( + (r = r.concat( + Bn({ + key: "", + value: t, + valueSpec: e.$root, + styleSpec: e, + style: t, + objectElementValidators: { + glyphs: Nn, + "*": function () { + return []; + }, + }, + }), + )), + t.constants && + (r = r.concat( + zt({ + key: "constants", + value: t.constants, + style: t, + styleSpec: e, + }), + )), + Un(r) + ); + } + function Un(t) { + return [].concat(t).sort(function (t, e) { + return t.line - e.line; + }); + } + function Vn(t) { + return function () { + for (var e = [], r = arguments.length; r--; ) + e[r] = arguments[r]; + return Un(t.apply(this, e)); + }; + } + (jn.source = Vn(zn)), + (jn.light = Vn(Rn)), + (jn.layer = Vn(Pn)), + (jn.filter = Vn(Sn)), + (jn.paintProperty = Vn(Cn)), + (jn.layoutProperty = Vn(On)); + var Hn = jn, + qn = Hn.light, + Gn = Hn.paintProperty, + Zn = Hn.layoutProperty; + function Wn(t, e) { + var r = !1; + if (e && e.length) + for (var n = 0, i = e; n < i.length; n += 1) { + var a = i[n]; + t.fire(new Ot(new Error(a.message))), + (r = !0); + } + return r; + } + var Yn = Xn; + function Xn(t, e, r) { + var n = (this.cells = []); + if (t instanceof ArrayBuffer) { + this.arrayBuffer = t; + var i = new Int32Array(this.arrayBuffer); + (t = i[0]), + (e = i[1]), + (r = i[2]), + (this.d = e + 2 * r); + for (var a = 0; a < this.d * this.d; a++) { + var o = i[3 + a], + s = i[3 + a + 1]; + n.push(o === s ? null : i.subarray(o, s)); + } + var l = i[3 + n.length], + u = i[3 + n.length + 1]; + (this.keys = i.subarray(l, u)), + (this.bboxes = i.subarray(u)), + (this.insert = this._insertReadonly); + } else { + this.d = e + 2 * r; + for (var c = 0; c < this.d * this.d; c++) + 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); + } + (Xn.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); + }), + (Xn.prototype._insertReadonly = function () { + throw "Cannot insert into a GridIndex created from an ArrayBuffer."; + }), + (Xn.prototype._insertCell = function ( + t, + e, + r, + n, + i, + a, + ) { + this.cells[i].push(a); + }), + (Xn.prototype.query = function (t, e, r, n, i) { + var a = this.min, + o = this.max; + if (t <= a && e <= a && o <= r && o <= n && !i) + return Array.prototype.slice.call(this.keys); + var s = []; + return ( + this._forEachCell( + t, + e, + r, + n, + this._queryCell, + s, + {}, + i, + ), + s + ); + }), + (Xn.prototype._queryCell = function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + var l = this.cells[i]; + if (null !== l) + for ( + var u = this.keys, c = this.bboxes, f = 0; + f < l.length; + f++ + ) { + var h = l[f]; + if (void 0 === o[h]) { + var p = 4 * h; + ( + s + ? s( + c[p + 0], + c[p + 1], + c[p + 2], + c[p + 3], + ) + : t <= c[p + 2] && + e <= c[p + 3] && + r >= c[p + 0] && + n >= c[p + 1] + ) + ? ((o[h] = !0), a.push(u[h])) + : (o[h] = !1); + } + } + }), + (Xn.prototype._forEachCell = function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + for ( + var l = this._convertToCellCoord(t), + u = this._convertToCellCoord(e), + c = this._convertToCellCoord(r), + f = this._convertToCellCoord(n), + h = l; + h <= c; + h++ + ) + for (var p = u; p <= f; p++) { + var d = this.d * p + h; + if ( + (!s || + s( + this._convertFromCellCoord(h), + this._convertFromCellCoord(p), + this._convertFromCellCoord(h + 1), + this._convertFromCellCoord(p + 1), + )) && + i.call(this, t, e, r, n, d, a, o, s) + ) + return; + } + }), + (Xn.prototype._convertFromCellCoord = function ( + t, + ) { + return (t - this.padding) / this.scale; + }), + (Xn.prototype._convertToCellCoord = function (t) { + return Math.max( + 0, + Math.min( + this.d - 1, + Math.floor(t * this.scale) + this.padding, + ), + ); + }), + (Xn.prototype.toArrayBuffer = function () { + if (this.arrayBuffer) return this.arrayBuffer; + for ( + var t = this.cells, + e = 3 + this.cells.length + 1 + 1, + r = 0, + n = 0; + n < this.cells.length; + n++ + ) + r += this.cells[n].length; + var i = new Int32Array( + e + r + this.keys.length + this.bboxes.length, + ); + (i[0] = this.extent), + (i[1] = this.n), + (i[2] = this.padding); + for (var a = e, o = 0; o < t.length; o++) { + var s = t[o]; + (i[3 + o] = a), i.set(s, a), (a += s.length); + } + return ( + (i[3 + t.length] = a), + i.set(this.keys, a), + (a += this.keys.length), + (i[3 + t.length + 1] = a), + i.set(this.bboxes, a), + (a += this.bboxes.length), + i.buffer + ); + }); + var Jn = self.ImageData, + Kn = self.ImageBitmap, + $n = {}; + function Qn(t, e, r) { + void 0 === r && (r = {}), + Object.defineProperty(e, "_classRegistryKey", { + value: t, + writeable: !1, + }), + ($n[t] = { + klass: e, + omit: r.omit || [], + shallow: r.shallow || [], + }); + } + for (var ti in (Qn("Object", Object), + (Yn.serialize = function (t, e) { + var r = t.toArrayBuffer(); + return e && e.push(r), { buffer: r }; + }), + (Yn.deserialize = function (t) { + return new Yn(t.buffer); + }), + Qn("Grid", Yn), + Qn("Color", ae), + Qn("Error", Error), + Qn("ResolvedImage", ue), + Qn("StylePropertyFunction", un), + Qn("StyleExpression", rn, { omit: ["_evaluator"] }), + Qn("ZoomDependentExpression", sn), + Qn("ZoomConstantExpression", on), + Qn("CompoundExpression", ke, { + omit: ["_evaluate"], + }), + Fr)) + Fr[ti]._classRegistryKey || + Qn("Expression_" + ti, Fr[ti]); + function ei(t) { + return ( + t && + "undefined" != typeof ArrayBuffer && + (t instanceof ArrayBuffer || + (t.constructor && + "ArrayBuffer" === t.constructor.name)) + ); + } + function ri(t) { + return Kn && t instanceof Kn; + } + function ni(t, e) { + if ( + null == t || + "boolean" == typeof t || + "number" == typeof t || + "string" == typeof t || + t instanceof Boolean || + t instanceof Number || + t instanceof String || + t instanceof Date || + t instanceof RegExp + ) + return t; + if (ei(t) || ri(t)) return e && e.push(t), t; + if (ArrayBuffer.isView(t)) { + var r = t; + return e && e.push(r.buffer), r; + } + if (t instanceof Jn) + return e && e.push(t.data.buffer), t; + if (Array.isArray(t)) { + for ( + var n = [], i = 0, a = t; + i < a.length; + i += 1 + ) { + var o = a[i]; + n.push(ni(o, e)); + } + return n; + } + if ("object" == typeof t) { + var s = t.constructor, + l = s._classRegistryKey; + if (!l) + throw new Error( + "can't serialize object of unregistered class", + ); + var u = s.serialize ? s.serialize(t, e) : {}; + if (!s.serialize) { + for (var c in t) + if ( + t.hasOwnProperty(c) && + !($n[l].omit.indexOf(c) >= 0) + ) { + var f = t[c]; + u[c] = + $n[l].shallow.indexOf(c) >= 0 + ? f + : ni(f, e); + } + t instanceof Error && (u.message = t.message); + } + if (u.$name) + throw new Error( + "$name property is reserved for worker serialization logic.", + ); + return "Object" !== l && (u.$name = l), u; + } + throw new Error( + "can't serialize object of type " + typeof t, + ); + } + function ii(t) { + if ( + null == t || + "boolean" == typeof t || + "number" == typeof t || + "string" == typeof t || + t instanceof Boolean || + t instanceof Number || + t instanceof String || + t instanceof Date || + t instanceof RegExp || + ei(t) || + ri(t) || + ArrayBuffer.isView(t) || + t instanceof Jn + ) + return t; + if (Array.isArray(t)) return t.map(ii); + if ("object" == typeof t) { + var e = t.$name || "Object", + r = $n[e].klass; + if (!r) + throw new Error( + "can't deserialize unregistered class " + e, + ); + if (r.deserialize) return r.deserialize(t); + for ( + var n = Object.create(r.prototype), + i = 0, + a = Object.keys(t); + i < a.length; + i += 1 + ) { + var o = a[i]; + if ("$name" !== o) { + var s = t[o]; + n[o] = + $n[e].shallow.indexOf(o) >= 0 ? s : ii(s); + } + } + return n; + } + throw new Error( + "can't deserialize object of type " + typeof t, + ); + } + var ai = function () { + this.first = !0; + }; + ai.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)); + }; + var oi = { + "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; + }, + Khmer: function (t) { + return t >= 6016 && t <= 6143; + }, + "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; + }, + }; + function si(t) { + for (var e = 0, r = t; e < r.length; e += 1) + if (li(r[e].charCodeAt(0))) return !0; + return !1; + } + function li(t) { + return !( + 746 !== t && + 747 !== t && + (t < 4352 || + !( + oi["Bopomofo Extended"](t) || + oi.Bopomofo(t) || + (oi["CJK Compatibility Forms"](t) && + !(t >= 65097 && t <= 65103)) || + oi["CJK Compatibility Ideographs"](t) || + oi["CJK Compatibility"](t) || + oi["CJK Radicals Supplement"](t) || + oi["CJK Strokes"](t) || + !( + !oi["CJK Symbols and Punctuation"](t) || + (t >= 12296 && t <= 12305) || + (t >= 12308 && t <= 12319) || + 12336 === t + ) || + oi["CJK Unified Ideographs Extension A"]( + t, + ) || + oi["CJK Unified Ideographs"](t) || + oi["Enclosed CJK Letters and Months"](t) || + oi["Hangul Compatibility Jamo"](t) || + oi["Hangul Jamo Extended-A"](t) || + oi["Hangul Jamo Extended-B"](t) || + oi["Hangul Jamo"](t) || + oi["Hangul Syllables"](t) || + oi.Hiragana(t) || + oi["Ideographic Description Characters"]( + t, + ) || + oi.Kanbun(t) || + oi["Kangxi Radicals"](t) || + oi["Katakana Phonetic Extensions"](t) || + (oi.Katakana(t) && 12540 !== t) || + !( + !oi["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) + ) || + !( + !oi["Small Form Variants"](t) || + (t >= 65112 && t <= 65118) || + (t >= 65123 && t <= 65126) + ) || + oi["Unified Canadian Aboriginal Syllabics"]( + t, + ) || + oi[ + "Unified Canadian Aboriginal Syllabics Extended" + ](t) || + oi["Vertical Forms"](t) || + oi["Yijing Hexagram Symbols"](t) || + oi["Yi Syllables"](t) || + oi["Yi Radicals"](t) + )) + ); + } + function ui(t) { + return !( + li(t) || + (function (t) { + return !!( + (oi["Latin-1 Supplement"](t) && + (167 === t || + 169 === t || + 174 === t || + 177 === t || + 188 === t || + 189 === t || + 190 === t || + 215 === t || + 247 === t)) || + (oi["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)) || + oi["Letterlike Symbols"](t) || + oi["Number Forms"](t) || + (oi["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))) || + (oi["Control Pictures"](t) && 9251 !== t) || + oi["Optical Character Recognition"](t) || + oi["Enclosed Alphanumerics"](t) || + oi["Geometric Shapes"](t) || + (oi["Miscellaneous Symbols"](t) && + !(t >= 9754 && t <= 9759)) || + (oi["Miscellaneous Symbols and Arrows"]( + t, + ) && + ((t >= 11026 && t <= 11055) || + (t >= 11088 && t <= 11097) || + (t >= 11192 && t <= 11243))) || + oi["CJK Symbols and Punctuation"](t) || + oi.Katakana(t) || + oi["Private Use Area"](t) || + oi["CJK Compatibility Forms"](t) || + oi["Small Form Variants"](t) || + oi["Halfwidth and Fullwidth Forms"](t) || + 8734 === t || + 8756 === t || + 8757 === t || + (t >= 9984 && t <= 10087) || + (t >= 10102 && t <= 10131) || + 65532 === t || + 65533 === t + ); + })(t) + ); + } + function ci(t) { + return ( + oi.Arabic(t) || + oi["Arabic Supplement"](t) || + oi["Arabic Extended-A"](t) || + oi["Arabic Presentation Forms-A"](t) || + oi["Arabic Presentation Forms-B"](t) + ); + } + function fi(t) { + return ( + (t >= 1424 && t <= 2303) || + oi["Arabic Presentation Forms-A"](t) || + oi["Arabic Presentation Forms-B"](t) + ); + } + function hi(t, e) { + return !( + (!e && fi(t)) || + (t >= 2304 && t <= 3583) || + (t >= 3840 && t <= 4255) || + oi.Khmer(t) + ); + } + function pi(t) { + for (var e = 0, r = t; e < r.length; e += 1) + if (fi(r[e].charCodeAt(0))) return !0; + return !1; + } + var di = "deferred", + vi = "loading", + gi = "loaded", + yi = "error", + mi = null, + xi = "unavailable", + bi = null, + _i = function (t) { + t && + "string" == typeof t && + t.indexOf("NetworkError") > -1 && + (xi = yi), + mi && mi(t); + }; + function wi() { + Ti.fire( + new Ct("pluginStateChange", { + pluginStatus: xi, + pluginURL: bi, + }), + ); + } + var Ti = new Pt(), + ki = function () { + return xi; + }, + Ai = function () { + if (xi !== di || !bi) + throw new Error( + "rtl-text-plugin cannot be downloaded unless a pluginURL is specified", + ); + (xi = vi), + wi(), + bi && + Tt({ url: bi }, function (t) { + t ? _i(t) : ((xi = gi), wi()); + }); + }, + Mi = { + applyArabicShaping: null, + processBidirectionalText: null, + processStyledBidirectionalText: null, + isLoaded: function () { + return ( + xi === gi || null != Mi.applyArabicShaping + ); + }, + isLoading: function () { + return xi === vi; + }, + setState: function (t) { + (xi = t.pluginStatus), (bi = t.pluginURL); + }, + isParsed: function () { + return ( + null != Mi.applyArabicShaping && + null != Mi.processBidirectionalText && + null != Mi.processStyledBidirectionalText + ); + }, + getPluginURL: function () { + return bi; + }, + }, + Si = 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 ai()), + (this.transition = {})); + }; + (Si.prototype.isSupportedScript = function (t) { + return (function (t, e) { + for (var r = 0, n = t; r < n.length; r += 1) + if (!hi(n[r].charCodeAt(0), e)) return !1; + return !0; + })(t, Mi.isLoaded()); + }), + (Si.prototype.crossFadingFactor = function () { + return 0 === this.fadeDuration + ? 1 + : Math.min( + (this.now - + this.zoomHistory.lastIntegerZoomTime) / + this.fadeDuration, + 1, + ); + }), + (Si.prototype.getCrossfadeParameters = + function () { + var t = this.zoom, + e = t - Math.floor(t), + r = this.crossFadingFactor(); + return t > this.zoomHistory.lastIntegerZoom + ? { + fromScale: 2, + toScale: 1, + t: e + (1 - e) * r, + } + : { + fromScale: 0.5, + toScale: 1, + t: 1 - (1 - r) * e, + }; + }); + var Ei = function (t, e) { + (this.property = t), + (this.value = e), + (this.expression = (function (t, e) { + if (Yr(t)) return new un(t, e); + if (nn(t)) { + var r = ln(t, e); + if ("error" === r.result) + throw new Error( + r.value + .map(function (t) { + return t.key + ": " + t.message; + }) + .join(", "), + ); + return r.value; + } + var n = t; + return ( + "string" == typeof t && + "color" === e.type && + (n = ae.parse(t)), + { + kind: "constant", + evaluate: function () { + return n; + }, + } + ); + })( + void 0 === e ? t.specification.default : e, + t.specification, + )); + }; + (Ei.prototype.isDataDriven = function () { + return ( + "source" === this.expression.kind || + "composite" === this.expression.kind + ); + }), + (Ei.prototype.possiblyEvaluate = function ( + t, + e, + r, + ) { + return this.property.possiblyEvaluate( + this, + t, + e, + r, + ); + }); + var Li = function (t) { + (this.property = t), + (this.value = new Ei(t, void 0)); + }; + (Li.prototype.transitioned = function (t, e) { + return new Oi( + this.property, + this.value, + e, + f({}, t.transition, this.transition), + t.now, + ); + }), + (Li.prototype.untransitioned = function () { + return new Oi( + this.property, + this.value, + null, + {}, + 0, + ); + }); + var Ci = function (t) { + (this._properties = t), + (this._values = Object.create( + t.defaultTransitionablePropertyValues, + )); + }; + (Ci.prototype.getValue = function (t) { + return b(this._values[t].value.value); + }), + (Ci.prototype.setValue = function (t, e) { + this._values.hasOwnProperty(t) || + (this._values[t] = new Li( + this._values[t].property, + )), + (this._values[t].value = new Ei( + this._values[t].property, + null === e ? void 0 : b(e), + )); + }), + (Ci.prototype.getTransition = function (t) { + return b(this._values[t].transition); + }), + (Ci.prototype.setTransition = function (t, e) { + this._values.hasOwnProperty(t) || + (this._values[t] = new Li( + this._values[t].property, + )), + (this._values[t].transition = b(e) || void 0); + }), + (Ci.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); + var a = this.getTransition(n); + void 0 !== a && (t[n + "-transition"] = a); + } + return t; + }), + (Ci.prototype.transitioned = function (t, e) { + for ( + var r = new Pi(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; + }), + (Ci.prototype.untransitioned = function () { + for ( + var t = new Pi(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 Oi = 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); + }; + Oi.prototype.possiblyEvaluate = function (t, e, r) { + var n = t.now || 0, + i = this.value.possiblyEvaluate(t, e, r), + a = this.prior; + if (a) { + if (n > this.end) return (this.prior = null), i; + if (this.value.isDataDriven()) + return (this.prior = null), i; + if (n < this.begin) + return a.possiblyEvaluate(t, e, r); + var o = + (n - this.begin) / (this.end - this.begin); + return this.property.interpolate( + a.possiblyEvaluate(t, e, r), + i, + (function (t) { + if (t <= 0) return 0; + if (t >= 1) return 1; + var e = t * t, + r = e * t; + return ( + 4 * (t < 0.5 ? r : 3 * (t - e) + r - 0.75) + ); + })(o), + ); + } + return i; + }; + var Pi = function (t) { + (this._properties = t), + (this._values = Object.create( + t.defaultTransitioningPropertyValues, + )); + }; + (Pi.prototype.possiblyEvaluate = function ( + t, + e, + r, + ) { + for ( + var n = new zi(this._properties), + i = 0, + a = Object.keys(this._values); + i < a.length; + i += 1 + ) { + var o = a[i]; + n._values[o] = this._values[o].possiblyEvaluate( + t, + e, + r, + ); + } + return n; + }), + (Pi.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 Ii = function (t) { + (this._properties = t), + (this._values = Object.create( + t.defaultPropertyValues, + )); + }; + (Ii.prototype.getValue = function (t) { + return b(this._values[t].value); + }), + (Ii.prototype.setValue = function (t, e) { + this._values[t] = new Ei( + this._values[t].property, + null === e ? void 0 : b(e), + ); + }), + (Ii.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; + }), + (Ii.prototype.possiblyEvaluate = function ( + t, + e, + r, + ) { + for ( + var n = new zi(this._properties), + i = 0, + a = Object.keys(this._values); + i < a.length; + i += 1 + ) { + var o = a[i]; + n._values[o] = this._values[ + o + ].possiblyEvaluate(t, e, r); + } + return n; + }); + var Di = function (t, e, r) { + (this.property = t), + (this.value = e), + (this.parameters = r); + }; + (Di.prototype.isConstant = function () { + return "constant" === this.value.kind; + }), + (Di.prototype.constantOr = function (t) { + return "constant" === this.value.kind + ? this.value.value + : t; + }), + (Di.prototype.evaluate = function (t, e, r, n) { + return this.property.evaluate( + this.value, + this.parameters, + t, + e, + r, + n, + ); + }); + var zi = function (t) { + (this._properties = t), + (this._values = Object.create( + t.defaultPossiblyEvaluatedValues, + )); + }; + zi.prototype.get = function (t) { + return this._values[t]; + }; + var Ri = function (t) { + this.specification = t; + }; + (Ri.prototype.possiblyEvaluate = function (t, e) { + return t.expression.evaluate(e); + }), + (Ri.prototype.interpolate = function (t, e, r) { + var n = $e[this.specification.type]; + return n ? n(t, e, r) : t; + }); + var Fi = function (t, e) { + (this.specification = t), (this.overrides = e); + }; + (Fi.prototype.possiblyEvaluate = function ( + t, + e, + r, + n, + ) { + return "constant" === t.expression.kind || + "camera" === t.expression.kind + ? new Di( + this, + { + kind: "constant", + value: t.expression.evaluate( + e, + null, + {}, + r, + n, + ), + }, + e, + ) + : new Di(this, t.expression, e); + }), + (Fi.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 + ) + return new Di( + this, + { kind: "constant", value: void 0 }, + t.parameters, + ); + var n = $e[this.specification.type]; + return n + ? new Di( + this, + { + kind: "constant", + value: n( + t.value.value, + e.value.value, + r, + ), + }, + t.parameters, + ) + : t; + }), + (Fi.prototype.evaluate = function ( + t, + e, + r, + n, + i, + a, + ) { + return "constant" === t.kind + ? t.value + : t.evaluate(e, r, n, i, a); + }); + var Bi = (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 ( + t, + e, + r, + n, + ) { + if (void 0 === t.value) + return new Di( + this, + { kind: "constant", value: void 0 }, + e, + ); + if ("constant" === t.expression.kind) { + var i = t.expression.evaluate( + e, + null, + {}, + r, + n, + ), + a = + "resolvedImage" === + t.property.specification.type && + "string" != typeof i + ? i.name + : i, + o = this._calculate(a, a, a, e); + return new Di( + this, + { kind: "constant", value: o }, + e, + ); + } + if ("camera" === t.expression.kind) { + var s = this._calculate( + t.expression.evaluate({ + zoom: e.zoom - 1, + }), + t.expression.evaluate({ zoom: e.zoom }), + t.expression.evaluate({ + zoom: e.zoom + 1, + }), + e, + ); + return new Di( + this, + { kind: "constant", value: s }, + e, + ); + } + return new Di(this, t.expression, e); + }), + (e.prototype.evaluate = function ( + t, + e, + r, + n, + i, + a, + ) { + if ("source" === t.kind) { + var o = t.evaluate(e, r, n, i, a); + return this._calculate(o, o, o, e); + } + return "composite" === t.kind + ? this._calculate( + t.evaluate( + { zoom: Math.floor(e.zoom) - 1 }, + r, + n, + ), + t.evaluate( + { zoom: Math.floor(e.zoom) }, + r, + n, + ), + t.evaluate( + { zoom: Math.floor(e.zoom) + 1 }, + r, + n, + ), + e, + ) + : t.value; + }), + (e.prototype._calculate = function ( + t, + e, + r, + n, + ) { + return n.zoom > + n.zoomHistory.lastIntegerZoom + ? { from: t, to: e } + : { from: r, to: e }; + }), + (e.prototype.interpolate = function (t) { + return t; + }), + e + ); + })(Fi), + Ni = function (t) { + this.specification = t; + }; + (Ni.prototype.possiblyEvaluate = function ( + t, + e, + r, + n, + ) { + if (void 0 !== t.value) { + if ("constant" === t.expression.kind) { + var i = t.expression.evaluate( + e, + null, + {}, + r, + n, + ); + return this._calculate(i, i, i, e); + } + return this._calculate( + t.expression.evaluate( + new Si(Math.floor(e.zoom - 1), e), + ), + t.expression.evaluate( + new Si(Math.floor(e.zoom), e), + ), + t.expression.evaluate( + new Si(Math.floor(e.zoom + 1), e), + ), + e, + ); + } + }), + (Ni.prototype._calculate = function (t, e, r, n) { + return n.zoom > n.zoomHistory.lastIntegerZoom + ? { from: t, to: e } + : { from: r, to: e }; + }), + (Ni.prototype.interpolate = function (t) { + return t; + }); + var ji = function (t) { + this.specification = t; + }; + (ji.prototype.possiblyEvaluate = function ( + t, + e, + r, + n, + ) { + return !!t.expression.evaluate(e, null, {}, r, n); + }), + (ji.prototype.interpolate = function () { + return !1; + }); + var Ui = function (t) { + for (var e in ((this.properties = t), + (this.defaultPropertyValues = {}), + (this.defaultTransitionablePropertyValues = {}), + (this.defaultTransitioningPropertyValues = {}), + (this.defaultPossiblyEvaluatedValues = {}), + (this.overridableProperties = []), + t)) { + var r = t[e]; + r.specification.overridable && + this.overridableProperties.push(e); + var n = (this.defaultPropertyValues[e] = new Ei( + r, + void 0, + )), + i = (this.defaultTransitionablePropertyValues[ + e + ] = new Li(r)); + (this.defaultTransitioningPropertyValues[e] = + i.untransitioned()), + (this.defaultPossiblyEvaluatedValues[e] = + n.possiblyEvaluate({})); + } + }; + Qn("DataDrivenProperty", Fi), + Qn("DataConstantProperty", Ri), + Qn("CrossFadedDataDrivenProperty", Bi), + Qn("CrossFadedProperty", Ni), + Qn("ColorRampProperty", ji); + var Vi = "-transition", + Hi = (function (t) { + function e(e, r) { + if ( + (t.call(this), + (this.id = e.id), + (this.type = e.type), + (this._featureFilter = { + filter: function () { + return !0; + }, + needGeometry: !1, + }), + "custom" !== e.type && + ((this.metadata = e.metadata), + (this.minzoom = e.minzoom), + (this.maxzoom = e.maxzoom), + "background" !== e.type && + ((this.source = e.source), + (this.sourceLayer = e["source-layer"]), + (this.filter = e.filter)), + r.layout && + (this._unevaluatedLayout = new Ii( + r.layout, + )), + r.paint)) + ) { + for (var n in ((this._transitionablePaint = + new Ci(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()), + (this.paint = new zi(r.paint)); + } + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + (e.prototype.getCrossfadeParameters = + function () { + return this._crossfadeParameters; + }), + (e.prototype.getLayoutProperty = function ( + t, + ) { + return "visibility" === t + ? this.visibility + : this._unevaluatedLayout.getValue(t); + }), + (e.prototype.setLayoutProperty = function ( + t, + e, + r, + ) { + if ((void 0 === r && (r = {}), null != e)) { + var n = + "layers." + this.id + ".layout." + t; + if (this._validate(Zn, n, t, e, r)) + return; + } + "visibility" !== t + ? this._unevaluatedLayout.setValue(t, e) + : (this.visibility = e); + }), + (e.prototype.getPaintProperty = function (t) { + return y(t, Vi) + ? this._transitionablePaint.getTransition( + t.slice(0, -Vi.length), + ) + : this._transitionablePaint.getValue(t); + }), + (e.prototype.setPaintProperty = function ( + t, + e, + r, + ) { + if ((void 0 === r && (r = {}), null != e)) { + var n = + "layers." + this.id + ".paint." + t; + if (this._validate(Gn, n, t, e, r)) + return !1; + } + if (y(t, Vi)) + return ( + this._transitionablePaint.setTransition( + t.slice(0, -Vi.length), + e || void 0, + ), + !1 + ); + var i = + this._transitionablePaint._values[t], + a = + "cross-faded-data-driven" === + i.property.specification[ + "property-type" + ], + o = i.value.isDataDriven(), + s = i.value; + this._transitionablePaint.setValue(t, e), + this._handleSpecialPaintPropertyUpdate(t); + var l = + this._transitionablePaint._values[t] + .value; + return ( + l.isDataDriven() || + o || + a || + this._handleOverridablePaintPropertyUpdate( + t, + s, + l, + ) + ); + }), + (e.prototype._handleSpecialPaintPropertyUpdate = + function (t) {}), + (e.prototype._handleOverridablePaintPropertyUpdate = + function (t, e, r) { + return !1; + }), + (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, e) { + t.getCrossfadeParameters && + (this._crossfadeParameters = + t.getCrossfadeParameters()), + this._unevaluatedLayout && + (this.layout = + this._unevaluatedLayout.possiblyEvaluate( + t, + void 0, + e, + )), + (this.paint = + this._transitioningPaint.possiblyEvaluate( + t, + void 0, + e, + )); + }), + (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 ( + this.visibility && + ((t.layout = t.layout || {}), + (t.layout.visibility = + this.visibility)), + x(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, + i, + ) { + return ( + void 0 === i && (i = {}), + (!i || !1 !== i.validate) && + Wn( + this, + t.call(Hn, { + key: e, + layerType: this.type, + objectKey: r, + value: n, + styleSpec: It, + style: { glyphs: !0, sprite: !0 }, + }), + ) + ); + }), + (e.prototype.is3D = function () { + return !1; + }), + (e.prototype.isTileClipped = function () { + return !1; + }), + (e.prototype.hasOffscreenPass = function () { + return !1; + }), + (e.prototype.resize = function () {}), + (e.prototype.isStateDependent = function () { + for (var t in this.paint._values) { + var e = this.paint.get(t); + if ( + e instanceof Di && + qr(e.property.specification) && + ("source" === e.value.kind || + "composite" === e.value.kind) && + e.value.isStateDependent + ) + return !0; + } + return !1; + }), + e + ); + })(Pt), + qi = { + Int8: Int8Array, + Uint8: Uint8Array, + Int16: Int16Array, + Uint16: Uint16Array, + Int32: Int32Array, + Uint32: Uint32Array, + Float32: Float32Array, + }, + Gi = 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); + }, + Zi = function () { + (this.isTransferred = !1), + (this.capacity = -1), + this.resize(0); + }; + function Wi(t, e) { + void 0 === e && (e = 1); + var r = 0, + n = 0; + return { + members: t.map(function (t) { + var i, + a = ((i = t.type), qi[i].BYTES_PER_ELEMENT), + o = (r = Yi(r, Math.max(e, a))), + s = t.components || 1; + return ( + (n = Math.max(n, a)), + (r += a * s), + { + name: t.name, + type: t.type, + components: s, + offset: o, + } + ); + }), + size: Yi(r, Math.max(n, e)), + alignment: e, + }; + } + function Yi(t, e) { + return Math.ceil(t / e) * e; + } + (Zi.serialize = function (t, e) { + return ( + t._trim(), + e && + ((t.isTransferred = !0), + e.push(t.arrayBuffer)), + { length: t.length, arrayBuffer: t.arrayBuffer } + ); + }), + (Zi.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 + ); + }), + (Zi.prototype._trim = function () { + this.length !== this.capacity && + ((this.capacity = this.length), + (this.arrayBuffer = this.arrayBuffer.slice( + 0, + this.length * this.bytesPerElement, + )), + this._refreshViews()); + }), + (Zi.prototype.clear = function () { + this.length = 0; + }), + (Zi.prototype.resize = function (t) { + this.reserve(t), (this.length = t); + }), + (Zi.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); + } + }), + (Zi.prototype._refreshViews = function () { + throw new Error( + "_refreshViews() must be implemented by each concrete StructArray layout", + ); + }); + var Xi = (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; + return ( + this.resize(r + 1), this.emplace(r, t, e) + ); + }), + (e.prototype.emplace = function (t, e, r) { + var n = 2 * t; + return ( + (this.int16[n + 0] = e), + (this.int16[n + 1] = r), + t + ); + }), + e + ); + })(Zi); + (Xi.prototype.bytesPerElement = 4), + Qn("StructArrayLayout2i4", Xi); + var Ji = (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; + return ( + this.resize(i + 1), + this.emplace(i, t, e, r, n) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + ) { + var a = 4 * t; + return ( + (this.int16[a + 0] = e), + (this.int16[a + 1] = r), + (this.int16[a + 2] = n), + (this.int16[a + 3] = i), + t + ); + }), + e + ); + })(Zi); + (Ji.prototype.bytesPerElement = 8), + Qn("StructArrayLayout4i8", Ji); + var Ki = (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; + return ( + this.resize(o + 1), + this.emplace(o, t, e, r, n, i, a) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + ) { + var s = 6 * t; + return ( + (this.int16[s + 0] = e), + (this.int16[s + 1] = r), + (this.int16[s + 2] = n), + (this.int16[s + 3] = i), + (this.int16[s + 4] = a), + (this.int16[s + 5] = o), + t + ); + }), + e + ); + })(Zi); + (Ki.prototype.bytesPerElement = 12), + Qn("StructArrayLayout2i4i12", Ki); + var $i = (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; + return ( + this.resize(o + 1), + this.emplace(o, t, e, r, n, i, a) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + ) { + var s = 4 * t, + l = 8 * t; + return ( + (this.int16[s + 0] = e), + (this.int16[s + 1] = r), + (this.uint8[l + 4] = n), + (this.uint8[l + 5] = i), + (this.uint8[l + 6] = a), + (this.uint8[l + 7] = o), + t + ); + }), + e + ); + })(Zi); + ($i.prototype.bytesPerElement = 8), + Qn("StructArrayLayout2i4ub8", $i); + var Qi = (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, + n, + i, + a, + o, + s, + l, + u, + ) { + var c = this.length; + return ( + this.resize(c + 1), + this.emplace( + c, + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + ) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) { + var f = 9 * t, + h = 18 * t; + return ( + (this.uint16[f + 0] = e), + (this.uint16[f + 1] = r), + (this.uint16[f + 2] = n), + (this.uint16[f + 3] = i), + (this.uint16[f + 4] = a), + (this.uint16[f + 5] = o), + (this.uint16[f + 6] = s), + (this.uint16[f + 7] = l), + (this.uint8[h + 16] = u), + (this.uint8[h + 17] = c), + t + ); + }), + e + ); + })(Zi); + (Qi.prototype.bytesPerElement = 18), + Qn("StructArrayLayout8ui2ub18", Qi); + var ta = (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, + l, + u, + c, + f, + ) { + var h = this.length; + return ( + this.resize(h + 1), + this.emplace( + h, + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + ) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + ) { + var p = 12 * t; + return ( + (this.int16[p + 0] = e), + (this.int16[p + 1] = r), + (this.int16[p + 2] = n), + (this.int16[p + 3] = i), + (this.uint16[p + 4] = a), + (this.uint16[p + 5] = o), + (this.uint16[p + 6] = s), + (this.uint16[p + 7] = l), + (this.int16[p + 8] = u), + (this.int16[p + 9] = c), + (this.int16[p + 10] = f), + (this.int16[p + 11] = h), + t + ); + }), + e + ); + })(Zi); + (ta.prototype.bytesPerElement = 24), + Qn("StructArrayLayout4i4ui4i24", ta); + var ea = (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; + return ( + this.resize(n + 1), this.emplace(n, t, e, r) + ); + }), + (e.prototype.emplace = function (t, e, r, n) { + var i = 3 * t; + return ( + (this.float32[i + 0] = e), + (this.float32[i + 1] = r), + (this.float32[i + 2] = n), + t + ); + }), + e + ); + })(Zi); + (ea.prototype.bytesPerElement = 12), + Qn("StructArrayLayout3f12", ea); + var ra = (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; + return this.resize(e + 1), this.emplace(e, t); + }), + (e.prototype.emplace = function (t, e) { + var r = 1 * t; + return (this.uint32[r + 0] = e), t; + }), + e + ); + })(Zi); + (ra.prototype.bytesPerElement = 4), + Qn("StructArrayLayout1ul4", ra); + var na = (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, + ) { + var u = this.length; + return ( + this.resize(u + 1), + this.emplace(u, t, e, r, n, i, a, o, s, l) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + ) { + var c = 10 * t, + f = 5 * t; + return ( + (this.int16[c + 0] = e), + (this.int16[c + 1] = r), + (this.int16[c + 2] = n), + (this.int16[c + 3] = i), + (this.int16[c + 4] = a), + (this.int16[c + 5] = o), + (this.uint32[f + 3] = s), + (this.uint16[c + 8] = l), + (this.uint16[c + 9] = u), + t + ); + }), + e + ); + })(Zi); + (na.prototype.bytesPerElement = 20), + Qn("StructArrayLayout6i1ul2ui20", na); + var ia = (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; + return ( + this.resize(o + 1), + this.emplace(o, t, e, r, n, i, a) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + ) { + var s = 6 * t; + return ( + (this.int16[s + 0] = e), + (this.int16[s + 1] = r), + (this.int16[s + 2] = n), + (this.int16[s + 3] = i), + (this.int16[s + 4] = a), + (this.int16[s + 5] = o), + t + ); + }), + e + ); + })(Zi); + (ia.prototype.bytesPerElement = 12), + Qn("StructArrayLayout2i2i2i12", ia); + var aa = (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, + )), + (this.int16 = new Int16Array( + this.arrayBuffer, + )); + }), + (e.prototype.emplaceBack = function ( + t, + e, + r, + n, + i, + ) { + var a = this.length; + return ( + this.resize(a + 1), + this.emplace(a, t, e, r, n, i) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + ) { + var o = 4 * t, + s = 8 * t; + return ( + (this.float32[o + 0] = e), + (this.float32[o + 1] = r), + (this.float32[o + 2] = n), + (this.int16[s + 6] = i), + (this.int16[s + 7] = a), + t + ); + }), + e + ); + })(Zi); + (aa.prototype.bytesPerElement = 16), + Qn("StructArrayLayout2f1f2i16", aa); + var oa = (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; + return ( + this.resize(i + 1), + this.emplace(i, t, e, r, n) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + ) { + var a = 12 * t, + o = 3 * t; + return ( + (this.uint8[a + 0] = e), + (this.uint8[a + 1] = r), + (this.float32[o + 1] = n), + (this.float32[o + 2] = i), + t + ); + }), + e + ); + })(Zi); + (oa.prototype.bytesPerElement = 12), + Qn("StructArrayLayout2ub2f12", oa); + var sa = (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; + return ( + this.resize(n + 1), this.emplace(n, t, e, r) + ); + }), + (e.prototype.emplace = function (t, e, r, n) { + var i = 3 * t; + return ( + (this.uint16[i + 0] = e), + (this.uint16[i + 1] = r), + (this.uint16[i + 2] = n), + t + ); + }), + e + ); + })(Zi); + (sa.prototype.bytesPerElement = 6), + Qn("StructArrayLayout3ui6", sa); + var la = (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, + f, + h, + p, + d, + v, + g, + ) { + var y = this.length; + return ( + this.resize(y + 1), + this.emplace( + y, + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + ) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + ) { + var m = 24 * t, + x = 12 * t, + b = 48 * t; + return ( + (this.int16[m + 0] = e), + (this.int16[m + 1] = r), + (this.uint16[m + 2] = n), + (this.uint16[m + 3] = i), + (this.uint32[x + 2] = a), + (this.uint32[x + 3] = o), + (this.uint32[x + 4] = s), + (this.uint16[m + 10] = l), + (this.uint16[m + 11] = u), + (this.uint16[m + 12] = c), + (this.float32[x + 7] = f), + (this.float32[x + 8] = h), + (this.uint8[b + 36] = p), + (this.uint8[b + 37] = d), + (this.uint8[b + 38] = v), + (this.uint32[x + 10] = g), + (this.int16[m + 22] = y), + t + ); + }), + e + ); + })(Zi); + (la.prototype.bytesPerElement = 48), + Qn( + "StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48", + la, + ); + var ua = (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, + f, + h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + w, + T, + k, + A, + M, + S, + ) { + var E = this.length; + return ( + this.resize(E + 1), + this.emplace( + E, + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + w, + T, + k, + A, + M, + S, + ) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + w, + T, + k, + A, + M, + S, + E, + ) { + var L = 34 * t, + C = 17 * t; + return ( + (this.int16[L + 0] = e), + (this.int16[L + 1] = r), + (this.int16[L + 2] = n), + (this.int16[L + 3] = i), + (this.int16[L + 4] = a), + (this.int16[L + 5] = o), + (this.int16[L + 6] = s), + (this.int16[L + 7] = l), + (this.uint16[L + 8] = u), + (this.uint16[L + 9] = c), + (this.uint16[L + 10] = f), + (this.uint16[L + 11] = h), + (this.uint16[L + 12] = p), + (this.uint16[L + 13] = d), + (this.uint16[L + 14] = v), + (this.uint16[L + 15] = g), + (this.uint16[L + 16] = y), + (this.uint16[L + 17] = m), + (this.uint16[L + 18] = x), + (this.uint16[L + 19] = b), + (this.uint16[L + 20] = _), + (this.uint16[L + 21] = w), + (this.uint16[L + 22] = T), + (this.uint32[C + 12] = k), + (this.float32[C + 13] = A), + (this.float32[C + 14] = M), + (this.float32[C + 15] = S), + (this.float32[C + 16] = E), + t + ); + }), + e + ); + })(Zi); + (ua.prototype.bytesPerElement = 68), + Qn("StructArrayLayout8i15ui1ul4f68", ua); + var ca = (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; + return this.resize(e + 1), this.emplace(e, t); + }), + (e.prototype.emplace = function (t, e) { + var r = 1 * t; + return (this.float32[r + 0] = e), t; + }), + e + ); + })(Zi); + (ca.prototype.bytesPerElement = 4), + Qn("StructArrayLayout1f4", ca); + var fa = (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; + return ( + this.resize(n + 1), this.emplace(n, t, e, r) + ); + }), + (e.prototype.emplace = function (t, e, r, n) { + var i = 3 * t; + return ( + (this.int16[i + 0] = e), + (this.int16[i + 1] = r), + (this.int16[i + 2] = n), + t + ); + }), + e + ); + })(Zi); + (fa.prototype.bytesPerElement = 6), + Qn("StructArrayLayout3i6", fa); + var ha = (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; + return ( + this.resize(n + 1), this.emplace(n, t, e, r) + ); + }), + (e.prototype.emplace = function (t, e, r, n) { + var i = 2 * t, + a = 4 * t; + return ( + (this.uint32[i + 0] = e), + (this.uint16[a + 2] = r), + (this.uint16[a + 3] = n), + t + ); + }), + e + ); + })(Zi); + (ha.prototype.bytesPerElement = 8), + Qn("StructArrayLayout1ul2ui8", ha); + var pa = (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; + return ( + this.resize(r + 1), this.emplace(r, t, e) + ); + }), + (e.prototype.emplace = function (t, e, r) { + var n = 2 * t; + return ( + (this.uint16[n + 0] = e), + (this.uint16[n + 1] = r), + t + ); + }), + e + ); + })(Zi); + (pa.prototype.bytesPerElement = 4), + Qn("StructArrayLayout2ui4", pa); + var da = (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) { + var e = this.length; + return this.resize(e + 1), this.emplace(e, t); + }), + (e.prototype.emplace = function (t, e) { + var r = 1 * t; + return (this.uint16[r + 0] = e), t; + }), + e + ); + })(Zi); + (da.prototype.bytesPerElement = 2), + Qn("StructArrayLayout1ui2", da); + var va = (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; + return ( + this.resize(r + 1), this.emplace(r, t, e) + ); + }), + (e.prototype.emplace = function (t, e, r) { + var n = 2 * t; + return ( + (this.float32[n + 0] = e), + (this.float32[n + 1] = r), + t + ); + }), + e + ); + })(Zi); + (va.prototype.bytesPerElement = 8), + Qn("StructArrayLayout2f8", va); + var ga = (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; + return ( + this.resize(i + 1), + this.emplace(i, t, e, r, n) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + ) { + var a = 4 * t; + return ( + (this.float32[a + 0] = e), + (this.float32[a + 1] = r), + (this.float32[a + 2] = n), + (this.float32[a + 3] = i), + t + ); + }), + e + ); + })(Zi); + (ga.prototype.bytesPerElement = 16), + Qn("StructArrayLayout4f16", ga); + var ya = (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: { configurable: !0 }, + anchorPointY: { configurable: !0 }, + x1: { configurable: !0 }, + y1: { configurable: !0 }, + x2: { configurable: !0 }, + y2: { configurable: !0 }, + featureIndex: { configurable: !0 }, + sourceLayerIndex: { configurable: !0 }, + bucketIndex: { configurable: !0 }, + anchorPoint: { configurable: !0 }, + }; + return ( + (r.anchorPointX.get = function () { + return this._structArray.int16[ + this._pos2 + 0 + ]; + }), + (r.anchorPointY.get = function () { + return this._structArray.int16[ + this._pos2 + 1 + ]; + }), + (r.x1.get = function () { + return this._structArray.int16[ + this._pos2 + 2 + ]; + }), + (r.y1.get = function () { + return this._structArray.int16[ + this._pos2 + 3 + ]; + }), + (r.x2.get = function () { + return this._structArray.int16[ + this._pos2 + 4 + ]; + }), + (r.y2.get = function () { + return this._structArray.int16[ + this._pos2 + 5 + ]; + }), + (r.featureIndex.get = function () { + return this._structArray.uint32[ + this._pos4 + 3 + ]; + }), + (r.sourceLayerIndex.get = function () { + return this._structArray.uint16[ + this._pos2 + 8 + ]; + }), + (r.bucketIndex.get = function () { + return this._structArray.uint16[ + this._pos2 + 9 + ]; + }), + (r.anchorPoint.get = function () { + return new a( + this.anchorPointX, + this.anchorPointY, + ); + }), + Object.defineProperties(e.prototype, r), + e + ); + })(Gi); + ya.prototype.size = 20; + var ma = (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 ya(this, t); + }), + e + ); + })(na); + Qn("CollisionBoxArray", ma); + var xa = (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: { configurable: !0 }, + anchorY: { configurable: !0 }, + glyphStartIndex: { configurable: !0 }, + numGlyphs: { configurable: !0 }, + vertexStartIndex: { configurable: !0 }, + lineStartIndex: { configurable: !0 }, + lineLength: { configurable: !0 }, + segment: { configurable: !0 }, + lowerSize: { configurable: !0 }, + upperSize: { configurable: !0 }, + lineOffsetX: { configurable: !0 }, + lineOffsetY: { configurable: !0 }, + writingMode: { configurable: !0 }, + placedOrientation: { configurable: !0 }, + hidden: { configurable: !0 }, + crossTileID: { configurable: !0 }, + associatedIconIndex: { configurable: !0 }, + }; + return ( + (r.anchorX.get = function () { + return this._structArray.int16[ + this._pos2 + 0 + ]; + }), + (r.anchorY.get = function () { + return this._structArray.int16[ + this._pos2 + 1 + ]; + }), + (r.glyphStartIndex.get = function () { + return this._structArray.uint16[ + this._pos2 + 2 + ]; + }), + (r.numGlyphs.get = function () { + return this._structArray.uint16[ + this._pos2 + 3 + ]; + }), + (r.vertexStartIndex.get = function () { + return this._structArray.uint32[ + this._pos4 + 2 + ]; + }), + (r.lineStartIndex.get = function () { + return this._structArray.uint32[ + this._pos4 + 3 + ]; + }), + (r.lineLength.get = function () { + return this._structArray.uint32[ + this._pos4 + 4 + ]; + }), + (r.segment.get = function () { + return this._structArray.uint16[ + this._pos2 + 10 + ]; + }), + (r.lowerSize.get = function () { + return this._structArray.uint16[ + this._pos2 + 11 + ]; + }), + (r.upperSize.get = function () { + return this._structArray.uint16[ + this._pos2 + 12 + ]; + }), + (r.lineOffsetX.get = function () { + return this._structArray.float32[ + this._pos4 + 7 + ]; + }), + (r.lineOffsetY.get = function () { + return this._structArray.float32[ + this._pos4 + 8 + ]; + }), + (r.writingMode.get = function () { + return this._structArray.uint8[ + this._pos1 + 36 + ]; + }), + (r.placedOrientation.get = function () { + return this._structArray.uint8[ + this._pos1 + 37 + ]; + }), + (r.placedOrientation.set = function (t) { + this._structArray.uint8[this._pos1 + 37] = t; + }), + (r.hidden.get = function () { + return this._structArray.uint8[ + this._pos1 + 38 + ]; + }), + (r.hidden.set = function (t) { + this._structArray.uint8[this._pos1 + 38] = t; + }), + (r.crossTileID.get = function () { + return this._structArray.uint32[ + this._pos4 + 10 + ]; + }), + (r.crossTileID.set = function (t) { + this._structArray.uint32[this._pos4 + 10] = t; + }), + (r.associatedIconIndex.get = function () { + return this._structArray.int16[ + this._pos2 + 22 + ]; + }), + Object.defineProperties(e.prototype, r), + e + ); + })(Gi); + xa.prototype.size = 48; + var ba = (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 xa(this, t); + }), + e + ); + })(la); + Qn("PlacedSymbolArray", ba); + var _a = (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: { configurable: !0 }, + anchorY: { configurable: !0 }, + rightJustifiedTextSymbolIndex: { + configurable: !0, + }, + centerJustifiedTextSymbolIndex: { + configurable: !0, + }, + leftJustifiedTextSymbolIndex: { + configurable: !0, + }, + verticalPlacedTextSymbolIndex: { + configurable: !0, + }, + placedIconSymbolIndex: { configurable: !0 }, + verticalPlacedIconSymbolIndex: { + configurable: !0, + }, + key: { configurable: !0 }, + textBoxStartIndex: { configurable: !0 }, + textBoxEndIndex: { configurable: !0 }, + verticalTextBoxStartIndex: { configurable: !0 }, + verticalTextBoxEndIndex: { configurable: !0 }, + iconBoxStartIndex: { configurable: !0 }, + iconBoxEndIndex: { configurable: !0 }, + verticalIconBoxStartIndex: { configurable: !0 }, + verticalIconBoxEndIndex: { configurable: !0 }, + featureIndex: { configurable: !0 }, + numHorizontalGlyphVertices: { + configurable: !0, + }, + numVerticalGlyphVertices: { configurable: !0 }, + numIconVertices: { configurable: !0 }, + numVerticalIconVertices: { configurable: !0 }, + useRuntimeCollisionCircles: { + configurable: !0, + }, + crossTileID: { configurable: !0 }, + textBoxScale: { configurable: !0 }, + textOffset0: { configurable: !0 }, + textOffset1: { configurable: !0 }, + collisionCircleDiameter: { configurable: !0 }, + }; + return ( + (r.anchorX.get = function () { + return this._structArray.int16[ + this._pos2 + 0 + ]; + }), + (r.anchorY.get = function () { + return this._structArray.int16[ + this._pos2 + 1 + ]; + }), + (r.rightJustifiedTextSymbolIndex.get = + function () { + return this._structArray.int16[ + this._pos2 + 2 + ]; + }), + (r.centerJustifiedTextSymbolIndex.get = + function () { + return this._structArray.int16[ + this._pos2 + 3 + ]; + }), + (r.leftJustifiedTextSymbolIndex.get = + function () { + return this._structArray.int16[ + this._pos2 + 4 + ]; + }), + (r.verticalPlacedTextSymbolIndex.get = + function () { + return this._structArray.int16[ + this._pos2 + 5 + ]; + }), + (r.placedIconSymbolIndex.get = function () { + return this._structArray.int16[ + this._pos2 + 6 + ]; + }), + (r.verticalPlacedIconSymbolIndex.get = + function () { + return this._structArray.int16[ + this._pos2 + 7 + ]; + }), + (r.key.get = function () { + return this._structArray.uint16[ + this._pos2 + 8 + ]; + }), + (r.textBoxStartIndex.get = function () { + return this._structArray.uint16[ + this._pos2 + 9 + ]; + }), + (r.textBoxEndIndex.get = function () { + return this._structArray.uint16[ + this._pos2 + 10 + ]; + }), + (r.verticalTextBoxStartIndex.get = function () { + return this._structArray.uint16[ + this._pos2 + 11 + ]; + }), + (r.verticalTextBoxEndIndex.get = function () { + return this._structArray.uint16[ + this._pos2 + 12 + ]; + }), + (r.iconBoxStartIndex.get = function () { + return this._structArray.uint16[ + this._pos2 + 13 + ]; + }), + (r.iconBoxEndIndex.get = function () { + return this._structArray.uint16[ + this._pos2 + 14 + ]; + }), + (r.verticalIconBoxStartIndex.get = function () { + return this._structArray.uint16[ + this._pos2 + 15 + ]; + }), + (r.verticalIconBoxEndIndex.get = function () { + return this._structArray.uint16[ + this._pos2 + 16 + ]; + }), + (r.featureIndex.get = function () { + return this._structArray.uint16[ + this._pos2 + 17 + ]; + }), + (r.numHorizontalGlyphVertices.get = + function () { + return this._structArray.uint16[ + this._pos2 + 18 + ]; + }), + (r.numVerticalGlyphVertices.get = function () { + return this._structArray.uint16[ + this._pos2 + 19 + ]; + }), + (r.numIconVertices.get = function () { + return this._structArray.uint16[ + this._pos2 + 20 + ]; + }), + (r.numVerticalIconVertices.get = function () { + return this._structArray.uint16[ + this._pos2 + 21 + ]; + }), + (r.useRuntimeCollisionCircles.get = + function () { + return this._structArray.uint16[ + this._pos2 + 22 + ]; + }), + (r.crossTileID.get = function () { + return this._structArray.uint32[ + this._pos4 + 12 + ]; + }), + (r.crossTileID.set = function (t) { + this._structArray.uint32[this._pos4 + 12] = t; + }), + (r.textBoxScale.get = function () { + return this._structArray.float32[ + this._pos4 + 13 + ]; + }), + (r.textOffset0.get = function () { + return this._structArray.float32[ + this._pos4 + 14 + ]; + }), + (r.textOffset1.get = function () { + return this._structArray.float32[ + this._pos4 + 15 + ]; + }), + (r.collisionCircleDiameter.get = function () { + return this._structArray.float32[ + this._pos4 + 16 + ]; + }), + Object.defineProperties(e.prototype, r), + e + ); + })(Gi); + _a.prototype.size = 68; + var wa = (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 _a(this, t); + }), + e + ); + })(ua); + Qn("SymbolInstanceArray", wa); + var Ta = (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 + ); + })(ca); + Qn("GlyphOffsetArray", Ta); + var ka = (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 + ); + })(fa); + Qn("SymbolLineVertexArray", ka); + var Aa = (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: { configurable: !0 }, + sourceLayerIndex: { configurable: !0 }, + bucketIndex: { configurable: !0 }, + }; + return ( + (r.featureIndex.get = function () { + return this._structArray.uint32[ + this._pos4 + 0 + ]; + }), + (r.sourceLayerIndex.get = function () { + return this._structArray.uint16[ + this._pos2 + 2 + ]; + }), + (r.bucketIndex.get = function () { + return this._structArray.uint16[ + this._pos2 + 3 + ]; + }), + Object.defineProperties(e.prototype, r), + e + ); + })(Gi); + Aa.prototype.size = 8; + var Ma = (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 Aa(this, t); + }), + e + ); + })(ha); + Qn("FeatureIndexArray", Ma); + var Sa = Wi( + [ + { + name: "a_pos", + components: 2, + type: "Int16", + }, + ], + 4, + ).members, + Ea = function (t) { + void 0 === t && (t = []), (this.segments = t); + }; + function La(t, e) { + return ( + 256 * (t = u(Math.floor(t), 0, 255)) + + u(Math.floor(e), 0, 255) + ); + } + (Ea.prototype.prepareSegment = function ( + t, + e, + r, + n, + ) { + var i = this.segments[this.segments.length - 1]; + return ( + t > Ea.MAX_VERTEX_ARRAY_LENGTH && + w( + "Max vertices per segment is " + + Ea.MAX_VERTEX_ARRAY_LENGTH + + ": bucket requested " + + t, + ), + (!i || + i.vertexLength + t > + Ea.MAX_VERTEX_ARRAY_LENGTH || + i.sortKey !== n) && + ((i = { + vertexOffset: e.length, + primitiveOffset: r.length, + vertexLength: 0, + primitiveLength: 0, + }), + void 0 !== n && (i.sortKey = n), + this.segments.push(i)), + i + ); + }), + (Ea.prototype.get = function () { + return this.segments; + }), + (Ea.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(); + } + }), + (Ea.simpleSegment = function (t, e, r, n) { + return new Ea([ + { + vertexOffset: t, + primitiveOffset: e, + vertexLength: r, + primitiveLength: n, + vaos: {}, + sortKey: 0, + }, + ]); + }), + (Ea.MAX_VERTEX_ARRAY_LENGTH = + Math.pow(2, 16) - 1), + Qn("SegmentVector", Ea); + var Ca = Wi([ + { + name: "a_pattern_from", + components: 4, + type: "Uint16", + }, + { + name: "a_pattern_to", + components: 4, + type: "Uint16", + }, + { + name: "a_pixel_ratio_from", + components: 1, + type: "Uint8", + }, + { + name: "a_pixel_ratio_to", + components: 1, + type: "Uint8", + }, + ]), + Oa = e(function (t) { + t.exports = function (t, e) { + var r, n, i, a, o, s, l, u; + for ( + r = 3 & t.length, + n = t.length - r, + i = e, + o = 3432918353, + s = 461845907, + u = 0; + u < n; + + ) + (l = + (255 & t.charCodeAt(u)) | + ((255 & t.charCodeAt(++u)) << 8) | + ((255 & t.charCodeAt(++u)) << 16) | + ((255 & t.charCodeAt(++u)) << 24)), + ++u, + (i = + 27492 + + (65535 & + (a = + (5 * + (65535 & + (i = + ((i ^= l = + ((65535 & + (l = + ((l = + ((65535 & l) * o + + ((((l >>> 16) * o) & + 65535) << + 16)) & + 4294967295) << + 15) | + (l >>> 17))) * + s + + ((((l >>> 16) * s) & + 65535) << + 16)) & + 4294967295) << + 13) | + (i >>> 19))) + + (((5 * (i >>> 16)) & 65535) << + 16)) & + 4294967295)) + + (((58964 + (a >>> 16)) & 65535) << 16)); + switch (((l = 0), r)) { + case 3: + l ^= (255 & t.charCodeAt(u + 2)) << 16; + case 2: + l ^= (255 & t.charCodeAt(u + 1)) << 8; + case 1: + i ^= l = + ((65535 & + (l = + ((l = + ((65535 & + (l ^= 255 & t.charCodeAt(u))) * + o + + ((((l >>> 16) * o) & 65535) << + 16)) & + 4294967295) << + 15) | + (l >>> 17))) * + s + + ((((l >>> 16) * s) & 65535) << 16)) & + 4294967295; + } + return ( + (i ^= t.length), + (i = + (2246822507 * (65535 & (i ^= i >>> 16)) + + (((2246822507 * (i >>> 16)) & 65535) << + 16)) & + 4294967295), + (i = + (3266489909 * (65535 & (i ^= i >>> 13)) + + (((3266489909 * (i >>> 16)) & 65535) << + 16)) & + 4294967295), + (i ^= i >>> 16) >>> 0 + ); + }; + }), + Pa = e(function (t) { + t.exports = function (t, e) { + for ( + var r, n = t.length, i = e ^ n, a = 0; + n >= 4; + + ) + (r = + 1540483477 * + (65535 & + (r = + (255 & t.charCodeAt(a)) | + ((255 & t.charCodeAt(++a)) << 8) | + ((255 & t.charCodeAt(++a)) << 16) | + ((255 & t.charCodeAt(++a)) << + 24))) + + (((1540483477 * (r >>> 16)) & 65535) << + 16)), + (i = + (1540483477 * (65535 & i) + + (((1540483477 * (i >>> 16)) & + 65535) << + 16)) ^ + (r = + 1540483477 * + (65535 & (r ^= r >>> 24)) + + (((1540483477 * (r >>> 16)) & + 65535) << + 16))), + (n -= 4), + ++a; + switch (n) { + case 3: + i ^= (255 & t.charCodeAt(a + 2)) << 16; + case 2: + i ^= (255 & t.charCodeAt(a + 1)) << 8; + case 1: + i = + 1540483477 * + (65535 & + (i ^= 255 & t.charCodeAt(a))) + + (((1540483477 * (i >>> 16)) & 65535) << + 16); + } + return ( + (i = + 1540483477 * (65535 & (i ^= i >>> 13)) + + (((1540483477 * (i >>> 16)) & 65535) << + 16)), + (i ^= i >>> 15) >>> 0 + ); + }; + }), + Ia = Oa, + Da = Oa, + za = Pa; + (Ia.murmur3 = Da), (Ia.murmur2 = za); + var Ra = function () { + (this.ids = []), + (this.positions = []), + (this.indexed = !1); + }; + (Ra.prototype.add = function (t, e, r, n) { + this.ids.push(Ba(t)), + this.positions.push(e, r, n); + }), + (Ra.prototype.getPositions = function (t) { + for ( + var e = Ba(t), r = 0, n = this.ids.length - 1; + r < n; + + ) { + var i = (r + n) >> 1; + this.ids[i] >= e ? (n = i) : (r = i + 1); + } + for (var a = []; this.ids[r] === e; ) { + var o = this.positions[3 * r], + s = this.positions[3 * r + 1], + l = this.positions[3 * r + 2]; + a.push({ index: o, start: s, end: l }), r++; + } + return a; + }), + (Ra.serialize = function (t, e) { + var r = new Float64Array(t.ids), + n = new Uint32Array(t.positions); + return ( + Na(r, n, 0, r.length - 1), + e && e.push(r.buffer, n.buffer), + { ids: r, positions: n } + ); + }), + (Ra.deserialize = function (t) { + var e = new Ra(); + return ( + (e.ids = t.ids), + (e.positions = t.positions), + (e.indexed = !0), + e + ); + }); + var Fa = Math.pow(2, 53) - 1; + function Ba(t) { + var e = +t; + return !isNaN(e) && e <= Fa ? e : Ia(String(t)); + } + function Na(t, e, r, n) { + for (; r < n; ) { + for ( + var i = t[(r + n) >> 1], a = r - 1, o = n + 1; + ; + + ) { + do { + a++; + } while (t[a] < i); + do { + o--; + } while (t[o] > i); + if (a >= o) break; + ja(t, a, o), + ja(e, 3 * a, 3 * o), + ja(e, 3 * a + 1, 3 * o + 1), + ja(e, 3 * a + 2, 3 * o + 2); + } + o - r < n - o + ? (Na(t, e, r, o), (r = o + 1)) + : (Na(t, e, o + 1, n), (n = o)); + } + } + function ja(t, e, r) { + var n = t[e]; + (t[e] = t[r]), (t[r] = n); + } + Qn("FeaturePositionMap", Ra); + var Ua = function (t, e) { + (this.gl = t.gl), (this.location = e); + }, + Va = (function (t) { + function e(e, r) { + t.call(this, e, r), (this.current = 0); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + (e.prototype.set = function (t) { + this.current !== t && + ((this.current = t), + this.gl.uniform1i(this.location, t)); + }), + e + ); + })(Ua), + Ha = (function (t) { + function e(e, r) { + t.call(this, e, r), (this.current = 0); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + (e.prototype.set = function (t) { + this.current !== t && + ((this.current = t), + this.gl.uniform1f(this.location, t)); + }), + e + ); + })(Ua), + qa = (function (t) { + function e(e, r) { + t.call(this, e, r), (this.current = [0, 0]); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + (e.prototype.set = function (t) { + (t[0] === this.current[0] && + t[1] === this.current[1]) || + ((this.current = t), + this.gl.uniform2f( + this.location, + t[0], + t[1], + )); + }), + e + ); + })(Ua), + Ga = (function (t) { + function e(e, r) { + t.call(this, e, r), + (this.current = [0, 0, 0]); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + (e.prototype.set = function (t) { + (t[0] === this.current[0] && + t[1] === this.current[1] && + t[2] === this.current[2]) || + ((this.current = t), + this.gl.uniform3f( + this.location, + t[0], + t[1], + t[2], + )); + }), + e + ); + })(Ua), + Za = (function (t) { + function e(e, r) { + t.call(this, e, r), + (this.current = [0, 0, 0, 0]); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + (e.prototype.set = function (t) { + (t[0] === this.current[0] && + t[1] === this.current[1] && + t[2] === this.current[2] && + t[3] === this.current[3]) || + ((this.current = t), + this.gl.uniform4f( + this.location, + t[0], + t[1], + t[2], + t[3], + )); + }), + e + ); + })(Ua), + Wa = (function (t) { + function e(e, r) { + t.call(this, e, r), + (this.current = ae.transparent); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + (e.prototype.set = function (t) { + (t.r === this.current.r && + t.g === this.current.g && + t.b === this.current.b && + t.a === this.current.a) || + ((this.current = t), + this.gl.uniform4f( + this.location, + t.r, + t.g, + t.b, + t.a, + )); + }), + e + ); + })(Ua), + Ya = new Float32Array(16), + Xa = (function (t) { + function e(e, r) { + t.call(this, e, r), (this.current = Ya); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + (e.prototype.set = function (t) { + if ( + t[12] !== this.current[12] || + t[0] !== this.current[0] + ) + return ( + (this.current = t), + void this.gl.uniformMatrix4fv( + this.location, + !1, + t, + ) + ); + for (var e = 1; e < 16; e++) + if (t[e] !== this.current[e]) { + (this.current = t), + this.gl.uniformMatrix4fv( + this.location, + !1, + t, + ); + break; + } + }), + e + ); + })(Ua); + function Ja(t) { + return [ + La(255 * t.r, 255 * t.g), + La(255 * t.b, 255 * t.a), + ]; + } + var Ka = function (t, e, r) { + (this.value = t), + (this.uniformNames = e.map(function (t) { + return "u_" + t; + })), + (this.type = r); + }; + (Ka.prototype.setUniform = function (t, e, r) { + t.set(r.constantOr(this.value)); + }), + (Ka.prototype.getBinding = function (t, e, r) { + return "color" === this.type + ? new Wa(t, e) + : new Ha(t, e); + }); + var $a = function (t, e) { + (this.uniformNames = e.map(function (t) { + return "u_" + t; + })), + (this.patternFrom = null), + (this.patternTo = null), + (this.pixelRatioFrom = 1), + (this.pixelRatioTo = 1); + }; + ($a.prototype.setConstantPatternPositions = + function (t, e) { + (this.pixelRatioFrom = e.pixelRatio), + (this.pixelRatioTo = t.pixelRatio), + (this.patternFrom = e.tlbr), + (this.patternTo = t.tlbr); + }), + ($a.prototype.setUniform = function (t, e, r, n) { + var i = + "u_pattern_to" === n + ? this.patternTo + : "u_pattern_from" === n + ? this.patternFrom + : "u_pixel_ratio_to" === n + ? this.pixelRatioTo + : "u_pixel_ratio_from" === n + ? this.pixelRatioFrom + : null; + i && t.set(i); + }), + ($a.prototype.getBinding = function (t, e, r) { + return "u_pattern" === r.substr(0, 9) + ? new Za(t, e) + : new Ha(t, e); + }); + var Qa = function (t, e, r, n) { + (this.expression = t), + (this.type = r), + (this.maxValue = 0), + (this.paintVertexAttributes = e.map( + function (t) { + return { + name: "a_" + t, + type: "Float32", + components: "color" === r ? 2 : 1, + offset: 0, + }; + }, + )), + (this.paintVertexArray = new n()); + }; + (Qa.prototype.populatePaintArray = function ( + t, + e, + r, + n, + i, + ) { + var a = this.paintVertexArray.length, + o = this.expression.evaluate( + new Si(0), + e, + {}, + n, + [], + i, + ); + this.paintVertexArray.resize(t), + this._setPaintValue(a, t, o); + }), + (Qa.prototype.updatePaintArray = function ( + t, + e, + r, + n, + ) { + var i = this.expression.evaluate( + { zoom: 0 }, + r, + n, + ); + this._setPaintValue(t, e, i); + }), + (Qa.prototype._setPaintValue = function ( + t, + e, + r, + ) { + if ("color" === this.type) + for (var n = Ja(r), i = t; i < e; i++) + this.paintVertexArray.emplace( + i, + n[0], + n[1], + ); + else { + for (var a = t; a < e; a++) + this.paintVertexArray.emplace(a, r); + this.maxValue = Math.max( + this.maxValue, + Math.abs(r), + ); + } + }), + (Qa.prototype.upload = function (t) { + this.paintVertexArray && + this.paintVertexArray.arrayBuffer && + (this.paintVertexBuffer && + this.paintVertexBuffer.buffer + ? this.paintVertexBuffer.updateData( + this.paintVertexArray, + ) + : (this.paintVertexBuffer = + t.createVertexBuffer( + this.paintVertexArray, + this.paintVertexAttributes, + this.expression.isStateDependent, + ))); + }), + (Qa.prototype.destroy = function () { + this.paintVertexBuffer && + this.paintVertexBuffer.destroy(); + }); + var to = function (t, e, r, n, i, a) { + (this.expression = t), + (this.uniformNames = e.map(function (t) { + return "u_" + t + "_t"; + })), + (this.type = r), + (this.useIntegerZoom = n), + (this.zoom = i), + (this.maxValue = 0), + (this.paintVertexAttributes = e.map( + function (t) { + return { + name: "a_" + t, + type: "Float32", + components: "color" === r ? 4 : 2, + offset: 0, + }; + }, + )), + (this.paintVertexArray = new a()); + }; + (to.prototype.populatePaintArray = function ( + t, + e, + r, + n, + i, + ) { + var a = this.expression.evaluate( + new Si(this.zoom), + e, + {}, + n, + [], + i, + ), + o = this.expression.evaluate( + new Si(this.zoom + 1), + e, + {}, + n, + [], + i, + ), + s = this.paintVertexArray.length; + this.paintVertexArray.resize(t), + this._setPaintValue(s, t, a, o); + }), + (to.prototype.updatePaintArray = function ( + t, + e, + r, + n, + ) { + var i = this.expression.evaluate( + { zoom: this.zoom }, + r, + n, + ), + a = this.expression.evaluate( + { zoom: this.zoom + 1 }, + r, + n, + ); + this._setPaintValue(t, e, i, a); + }), + (to.prototype._setPaintValue = function ( + t, + e, + r, + n, + ) { + if ("color" === this.type) + for ( + var i = Ja(r), a = Ja(n), o = t; + o < e; + o++ + ) + this.paintVertexArray.emplace( + o, + i[0], + i[1], + a[0], + a[1], + ); + else { + for (var s = t; s < e; s++) + this.paintVertexArray.emplace(s, r, n); + this.maxValue = Math.max( + this.maxValue, + Math.abs(r), + Math.abs(n), + ); + } + }), + (to.prototype.upload = function (t) { + this.paintVertexArray && + this.paintVertexArray.arrayBuffer && + (this.paintVertexBuffer && + this.paintVertexBuffer.buffer + ? this.paintVertexBuffer.updateData( + this.paintVertexArray, + ) + : (this.paintVertexBuffer = + t.createVertexBuffer( + this.paintVertexArray, + this.paintVertexAttributes, + this.expression.isStateDependent, + ))); + }), + (to.prototype.destroy = function () { + this.paintVertexBuffer && + this.paintVertexBuffer.destroy(); + }), + (to.prototype.setUniform = function (t, e) { + var r = this.useIntegerZoom + ? Math.floor(e.zoom) + : e.zoom, + n = u( + this.expression.interpolationFactor( + r, + this.zoom, + this.zoom + 1, + ), + 0, + 1, + ); + t.set(n); + }), + (to.prototype.getBinding = function (t, e, r) { + return new Ha(t, e); + }); + var eo = function (t, e, r, n, i, a) { + (this.expression = t), + (this.type = e), + (this.useIntegerZoom = r), + (this.zoom = n), + (this.layerId = a), + (this.zoomInPaintVertexArray = new i()), + (this.zoomOutPaintVertexArray = new i()); + }; + (eo.prototype.populatePaintArray = function ( + t, + e, + r, + ) { + var n = this.zoomInPaintVertexArray.length; + this.zoomInPaintVertexArray.resize(t), + this.zoomOutPaintVertexArray.resize(t), + this._setPaintValues( + n, + t, + e.patterns && e.patterns[this.layerId], + r, + ); + }), + (eo.prototype.updatePaintArray = function ( + t, + e, + r, + n, + i, + ) { + this._setPaintValues( + t, + e, + r.patterns && r.patterns[this.layerId], + i, + ); + }), + (eo.prototype._setPaintValues = function ( + t, + e, + r, + n, + ) { + if (n && r) { + var i = r.min, + a = r.mid, + o = r.max, + s = n[i], + l = n[a], + u = n[o]; + if (s && l && u) + for (var c = t; c < e; c++) + this.zoomInPaintVertexArray.emplace( + c, + l.tl[0], + l.tl[1], + l.br[0], + l.br[1], + s.tl[0], + s.tl[1], + s.br[0], + s.br[1], + l.pixelRatio, + s.pixelRatio, + ), + this.zoomOutPaintVertexArray.emplace( + c, + l.tl[0], + l.tl[1], + l.br[0], + l.br[1], + u.tl[0], + u.tl[1], + u.br[0], + u.br[1], + l.pixelRatio, + u.pixelRatio, + ); + } + }), + (eo.prototype.upload = function (t) { + this.zoomInPaintVertexArray && + this.zoomInPaintVertexArray.arrayBuffer && + this.zoomOutPaintVertexArray && + this.zoomOutPaintVertexArray.arrayBuffer && + ((this.zoomInPaintVertexBuffer = + t.createVertexBuffer( + this.zoomInPaintVertexArray, + Ca.members, + this.expression.isStateDependent, + )), + (this.zoomOutPaintVertexBuffer = + t.createVertexBuffer( + this.zoomOutPaintVertexArray, + Ca.members, + this.expression.isStateDependent, + ))); + }), + (eo.prototype.destroy = function () { + this.zoomOutPaintVertexBuffer && + this.zoomOutPaintVertexBuffer.destroy(), + this.zoomInPaintVertexBuffer && + this.zoomInPaintVertexBuffer.destroy(); + }); + var ro = function (t, e, r, n) { + (this.binders = {}), + (this.layoutAttributes = n), + (this._buffers = []); + var i = []; + for (var a in t.paint._values) + if (r(a)) { + var o = t.paint.get(a); + if ( + o instanceof Di && + qr(o.property.specification) + ) { + var s = io(a, t.type), + l = o.value, + u = o.property.specification.type, + c = o.property.useIntegerZoom, + f = + o.property.specification[ + "property-type" + ], + h = + "cross-faded" === f || + "cross-faded-data-driven" === f; + if ("constant" === l.kind) + (this.binders[a] = h + ? new $a(l.value, s) + : new Ka(l.value, s, u)), + i.push("/u_" + a); + else if ("source" === l.kind || h) { + var p = ao(a, u, "source"); + (this.binders[a] = h + ? new eo(l, u, c, e, p, t.id) + : new Qa(l, s, u, p)), + i.push("/a_" + a); + } else { + var d = ao(a, u, "composite"); + (this.binders[a] = new to( + l, + s, + u, + c, + e, + d, + )), + i.push("/z_" + a); + } + } + } + this.cacheKey = i.sort().join(""); + }; + (ro.prototype.getMaxValue = function (t) { + var e = this.binders[t]; + return e instanceof Qa || e instanceof to + ? e.maxValue + : 0; + }), + (ro.prototype.populatePaintArrays = function ( + t, + e, + r, + n, + i, + ) { + for (var a in this.binders) { + var o = this.binders[a]; + (o instanceof Qa || + o instanceof to || + o instanceof eo) && + o.populatePaintArray(t, e, r, n, i); + } + }), + (ro.prototype.setConstantPatternPositions = + function (t, e) { + for (var r in this.binders) { + var n = this.binders[r]; + n instanceof $a && + n.setConstantPatternPositions(t, e); + } + }), + (ro.prototype.updatePaintArrays = function ( + t, + e, + r, + n, + i, + ) { + var a = !1; + for (var o in t) + for ( + var s = 0, l = e.getPositions(o); + s < l.length; + s += 1 + ) { + var u = l[s], + c = r.feature(u.index); + for (var f in this.binders) { + var h = this.binders[f]; + if ( + (h instanceof Qa || + h instanceof to || + h instanceof eo) && + !0 === h.expression.isStateDependent + ) { + var p = n.paint.get(f); + (h.expression = p.value), + h.updatePaintArray( + u.start, + u.end, + c, + t[o], + i, + ), + (a = !0); + } + } + } + return a; + }), + (ro.prototype.defines = function () { + var t = []; + for (var e in this.binders) { + var r = this.binders[e]; + (r instanceof Ka || r instanceof $a) && + t.push.apply( + t, + r.uniformNames.map(function (t) { + return "#define HAS_UNIFORM_" + t; + }), + ); + } + return t; + }), + (ro.prototype.getPaintVertexBuffers = + function () { + return this._buffers; + }), + (ro.prototype.getUniforms = function (t, e) { + var r = []; + for (var n in this.binders) { + var i = this.binders[n]; + if ( + i instanceof Ka || + i instanceof $a || + i instanceof to + ) + for ( + var a = 0, o = i.uniformNames; + a < o.length; + a += 1 + ) { + var s = o[a]; + if (e[s]) { + var l = i.getBinding(t, e[s], s); + r.push({ + name: s, + property: n, + binding: l, + }); + } + } + } + return r; + }), + (ro.prototype.setUniforms = function ( + t, + e, + r, + n, + ) { + for (var i = 0, a = e; i < a.length; i += 1) { + var o = a[i], + s = o.name, + l = o.property, + u = o.binding; + this.binders[l].setUniform(u, n, r.get(l), s); + } + }), + (ro.prototype.updatePaintBuffers = function (t) { + for (var e in ((this._buffers = []), + this.binders)) { + var r = this.binders[e]; + if (t && r instanceof eo) { + var n = + 2 === t.fromScale + ? r.zoomInPaintVertexBuffer + : r.zoomOutPaintVertexBuffer; + n && this._buffers.push(n); + } else + (r instanceof Qa || r instanceof to) && + r.paintVertexBuffer && + this._buffers.push(r.paintVertexBuffer); + } + }), + (ro.prototype.upload = function (t) { + for (var e in this.binders) { + var r = this.binders[e]; + (r instanceof Qa || + r instanceof to || + r instanceof eo) && + r.upload(t); + } + this.updatePaintBuffers(); + }), + (ro.prototype.destroy = function () { + for (var t in this.binders) { + var e = this.binders[t]; + (e instanceof Qa || + e instanceof to || + e instanceof eo) && + e.destroy(); + } + }); + var no = 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] = new ro( + o, + r, + n, + t, + ); + } + (this.needsUpload = !1), + (this._featureMap = new Ra()), + (this._bufferOffset = 0); + }; + function io(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"], + "line-pattern": [ + "pattern_to", + "pattern_from", + "pixel_ratio_to", + "pixel_ratio_from", + ], + "fill-pattern": [ + "pattern_to", + "pattern_from", + "pixel_ratio_to", + "pixel_ratio_from", + ], + "fill-extrusion-pattern": [ + "pattern_to", + "pattern_from", + "pixel_ratio_to", + "pixel_ratio_from", + ], + }[t] || [ + t.replace(e + "-", "").replace(/-/g, "_"), + ] + ); + } + function ao(t, e, r) { + var n = { + color: { source: va, composite: ga }, + number: { source: ca, composite: va }, + }, + i = (function (t) { + return { + "line-pattern": { + source: Qi, + composite: Qi, + }, + "fill-pattern": { + source: Qi, + composite: Qi, + }, + "fill-extrusion-pattern": { + source: Qi, + composite: Qi, + }, + }[t]; + })(t); + return (i && i[r]) || n[e][r]; + } + (no.prototype.populatePaintArrays = function ( + t, + e, + r, + n, + i, + a, + ) { + for (var o in this.programConfigurations) + this.programConfigurations[ + o + ].populatePaintArrays(t, e, n, i, a); + void 0 !== e.id && + this._featureMap.add( + e.id, + r, + this._bufferOffset, + t, + ), + (this._bufferOffset = t), + (this.needsUpload = !0); + }), + (no.prototype.updatePaintArrays = function ( + t, + e, + r, + n, + ) { + for (var i = 0, a = r; i < a.length; i += 1) { + var o = a[i]; + this.needsUpload = + this.programConfigurations[ + o.id + ].updatePaintArrays( + t, + this._featureMap, + e, + o, + n, + ) || this.needsUpload; + } + }), + (no.prototype.get = function (t) { + return this.programConfigurations[t]; + }), + (no.prototype.upload = function (t) { + if (this.needsUpload) { + for (var e in this.programConfigurations) + this.programConfigurations[e].upload(t); + this.needsUpload = !1; + } + }), + (no.prototype.destroy = function () { + for (var t in this.programConfigurations) + this.programConfigurations[t].destroy(); + }), + Qn("ConstantBinder", Ka), + Qn("CrossFadedConstantBinder", $a), + Qn("SourceExpressionBinder", Qa), + Qn("CrossFadedCompositeBinder", eo), + Qn("CompositeExpressionBinder", to), + Qn("ProgramConfiguration", ro, { + omit: ["_buffers"], + }), + Qn("ProgramConfigurationSet", no); + var oo = 8192; + var so, + lo = + ((so = 15), + { + min: -1 * Math.pow(2, so - 1), + max: Math.pow(2, so - 1) - 1, + }); + function uo(t) { + for ( + var e = oo / t.extent, + r = t.loadGeometry(), + n = 0; + n < r.length; + n++ + ) + for (var i = r[n], a = 0; a < i.length; a++) { + var o = i[a]; + (o.x = Math.round(o.x * e)), + (o.y = Math.round(o.y * e)), + (o.x < lo.min || + o.x > lo.max || + o.y < lo.min || + o.y > lo.max) && + (w( + "Geometry exceeds allowed extent, reduce your vector tile buffer size", + ), + (o.x = u(o.x, lo.min, lo.max)), + (o.y = u(o.y, lo.min, lo.max))); + } + return r; + } + function co(t, e, r, n, i) { + t.emplaceBack( + 2 * e + (n + 1) / 2, + 2 * r + (i + 1) / 2, + ); + } + var fo = 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.hasPattern = !1), + (this.layoutVertexArray = new Xi()), + (this.indexArray = new sa()), + (this.segments = new Ea()), + (this.programConfigurations = new no( + Sa, + t.layers, + t.zoom, + )), + (this.stateDependentLayerIds = this.layers + .filter(function (t) { + return t.isStateDependent(); + }) + .map(function (t) { + return t.id; + })); + }; + function ho(t, e) { + for (var r = 0; r < t.length; r++) + if (wo(e, t[r])) return !0; + for (var n = 0; n < e.length; n++) + if (wo(t, e[n])) return !0; + return !!yo(t, e); + } + function po(t, e, r) { + return !!wo(t, e) || !!xo(e, t, r); + } + function vo(t, e) { + if (1 === t.length) return _o(e, t[0]); + for (var r = 0; r < e.length; r++) + for (var n = e[r], i = 0; i < n.length; i++) + if (wo(t, n[i])) return !0; + for (var a = 0; a < t.length; a++) + if (_o(e, t[a])) return !0; + for (var o = 0; o < e.length; o++) + if (yo(t, e[o])) return !0; + return !1; + } + function go(t, e, r) { + if (t.length > 1) { + if (yo(t, e)) return !0; + for (var n = 0; n < e.length; n++) + if (xo(e[n], t, r)) return !0; + } + for (var i = 0; i < t.length; i++) + if (xo(t[i], e, r)) return !0; + return !1; + } + function yo(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], a = 0; + a < e.length - 1; + a++ + ) + if (mo(n, i, e[a], e[a + 1])) return !0; + return !1; + } + function mo(t, e, r, n) { + return ( + T(t, r, n) !== T(e, r, n) && + T(t, e, r) !== T(t, e, n) + ); + } + function xo(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 (bo(t, e[i - 1], e[i]) < n) return !0; + return !1; + } + function bo(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 _o(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 wo(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; + } + function To(t, e, r) { + var n = r[0], + i = r[2]; + if ( + (t.x < n.x && e.x < n.x) || + (t.x > i.x && e.x > i.x) || + (t.y < n.y && e.y < n.y) || + (t.y > i.y && e.y > i.y) + ) + return !1; + var a = T(t, e, r[0]); + return ( + a !== T(t, e, r[1]) || + a !== T(t, e, r[2]) || + a !== T(t, e, r[3]) + ); + } + function ko(t, e, r) { + var n = e.paint.get(t).value; + return "constant" === n.kind + ? n.value + : r.programConfigurations + .get(e.id) + .getMaxValue(t); + } + function Ao(t) { + return Math.sqrt(t[0] * t[0] + t[1] * t[1]); + } + function Mo(t, e, r, n, i) { + if (!e[0] && !e[1]) return t; + var o = a.convert(e)._mult(i); + "viewport" === r && o._rotate(-n); + for (var s = [], l = 0; l < t.length; l++) { + var u = t[l]; + s.push(u.sub(o)); + } + return s; + } + (fo.prototype.populate = function (t, e, r) { + var n = this.layers[0], + i = [], + a = null; + "circle" === n.type && + (a = n.layout.get("circle-sort-key")); + for (var o = 0, s = t; o < s.length; o += 1) { + var l = s[o], + u = l.feature, + c = l.id, + f = l.index, + h = l.sourceLayerIndex, + p = + this.layers[0]._featureFilter.needGeometry, + d = { + type: u.type, + id: c, + properties: u.properties, + geometry: p ? uo(u) : [], + }; + if ( + this.layers[0]._featureFilter.filter( + new Si(this.zoom), + d, + r, + ) + ) { + p || (d.geometry = uo(u)); + var v = a ? a.evaluate(d, {}, r) : void 0, + g = { + id: c, + properties: u.properties, + type: u.type, + sourceLayerIndex: h, + index: f, + geometry: d.geometry, + patterns: {}, + sortKey: v, + }; + i.push(g); + } + } + a && + i.sort(function (t, e) { + return t.sortKey - e.sortKey; + }); + for (var y = 0, m = i; y < m.length; y += 1) { + var x = m[y], + b = x, + _ = b.geometry, + w = b.index, + T = b.sourceLayerIndex, + k = t[w].feature; + this.addFeature(x, _, w, r), + e.featureIndex.insert(k, _, w, T, this.index); + } + }), + (fo.prototype.update = function (t, e, r) { + this.stateDependentLayers.length && + this.programConfigurations.updatePaintArrays( + t, + e, + this.stateDependentLayers, + r, + ); + }), + (fo.prototype.isEmpty = function () { + return 0 === this.layoutVertexArray.length; + }), + (fo.prototype.uploadPending = function () { + return ( + !this.uploaded || + this.programConfigurations.needsUpload + ); + }), + (fo.prototype.upload = function (t) { + this.uploaded || + ((this.layoutVertexBuffer = + t.createVertexBuffer( + this.layoutVertexArray, + Sa, + )), + (this.indexBuffer = t.createIndexBuffer( + this.indexArray, + ))), + this.programConfigurations.upload(t), + (this.uploaded = !0); + }), + (fo.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy()); + }), + (fo.prototype.addFeature = function (t, e, r, n) { + for (var 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, + c = l.y; + if ( + !(u < 0 || u >= oo || c < 0 || c >= oo) + ) { + var f = this.segments.prepareSegment( + 4, + this.layoutVertexArray, + this.indexArray, + t.sortKey, + ), + h = f.vertexLength; + co(this.layoutVertexArray, u, c, -1, -1), + co(this.layoutVertexArray, u, c, 1, -1), + co(this.layoutVertexArray, u, c, 1, 1), + co(this.layoutVertexArray, u, c, -1, 1), + this.indexArray.emplaceBack( + h, + h + 1, + h + 2, + ), + this.indexArray.emplaceBack( + h, + h + 3, + h + 2, + ), + (f.vertexLength += 4), + (f.primitiveLength += 2); + } + } + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + t, + r, + {}, + n, + ); + }), + Qn("CircleBucket", fo, { omit: ["layers"] }); + var So = new Ui({ + "circle-sort-key": new Fi( + It.layout_circle["circle-sort-key"], + ), + }), + Eo = { + paint: new Ui({ + "circle-radius": new Fi( + It.paint_circle["circle-radius"], + ), + "circle-color": new Fi( + It.paint_circle["circle-color"], + ), + "circle-blur": new Fi( + It.paint_circle["circle-blur"], + ), + "circle-opacity": new Fi( + It.paint_circle["circle-opacity"], + ), + "circle-translate": new Ri( + It.paint_circle["circle-translate"], + ), + "circle-translate-anchor": new Ri( + It.paint_circle["circle-translate-anchor"], + ), + "circle-pitch-scale": new Ri( + It.paint_circle["circle-pitch-scale"], + ), + "circle-pitch-alignment": new Ri( + It.paint_circle["circle-pitch-alignment"], + ), + "circle-stroke-width": new Fi( + It.paint_circle["circle-stroke-width"], + ), + "circle-stroke-color": new Fi( + It.paint_circle["circle-stroke-color"], + ), + "circle-stroke-opacity": new Fi( + It.paint_circle["circle-stroke-opacity"], + ), + }), + layout: So, + }, + Lo = + "undefined" != typeof Float32Array + ? Float32Array + : Array; + function Co(t) { + return ( + (t[0] = 1), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = 1), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = 1), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + } + function Oo(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], + f = e[8], + h = e[9], + p = e[10], + d = e[11], + v = e[12], + g = e[13], + y = e[14], + m = e[15], + x = r[0], + b = r[1], + _ = r[2], + w = r[3]; + return ( + (t[0] = x * n + b * s + _ * f + w * v), + (t[1] = x * i + b * l + _ * h + w * g), + (t[2] = x * a + b * u + _ * p + w * y), + (t[3] = x * o + b * c + _ * d + w * m), + (x = r[4]), + (b = r[5]), + (_ = r[6]), + (w = r[7]), + (t[4] = x * n + b * s + _ * f + w * v), + (t[5] = x * i + b * l + _ * h + w * g), + (t[6] = x * a + b * u + _ * p + w * y), + (t[7] = x * o + b * c + _ * d + w * m), + (x = r[8]), + (b = r[9]), + (_ = r[10]), + (w = r[11]), + (t[8] = x * n + b * s + _ * f + w * v), + (t[9] = x * i + b * l + _ * h + w * g), + (t[10] = x * a + b * u + _ * p + w * y), + (t[11] = x * o + b * c + _ * d + w * m), + (x = r[12]), + (b = r[13]), + (_ = r[14]), + (w = r[15]), + (t[12] = x * n + b * s + _ * f + w * v), + (t[13] = x * i + b * l + _ * h + w * g), + (t[14] = x * a + b * u + _ * p + w * y), + (t[15] = x * o + b * c + _ * d + w * m), + t + ); + } + Math.hypot || + (Math.hypot = function () { + for ( + var t = arguments, + e = 0, + r = arguments.length; + r--; + + ) + e += t[r] * t[r]; + return Math.sqrt(e); + }); + var Po = Oo; + var Io, + Do = function (t, e, r) { + return ( + (t[0] = e[0] - r[0]), + (t[1] = e[1] - r[1]), + (t[2] = e[2] - r[2]), + t + ); + }; + function zo(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 + ); + } + (Io = new Lo(3)), + Lo != Float32Array && + ((Io[0] = 0), (Io[1] = 0), (Io[2] = 0)), + (function () { + var t = new Lo(4); + Lo != Float32Array && + ((t[0] = 0), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0)); + })(); + var Ro = function (t) { + var e = t[0], + r = t[1]; + return e * e + r * r; + }, + Fo = + ((function () { + var t = new Lo(2); + Lo != Float32Array && + ((t[0] = 0), (t[1] = 0)); + })(), + (function (t) { + function e(e) { + t.call(this, e, Eo); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + (e.prototype.createBucket = function (t) { + return new fo(t); + }), + (e.prototype.queryRadius = function (t) { + var e = t; + return ( + ko("circle-radius", this, e) + + ko("circle-stroke-width", this, e) + + Ao(this.paint.get("circle-translate")) + ); + }), + (e.prototype.queryIntersectsFeature = + function (t, e, r, n, i, a, o, s) { + for ( + var l = Mo( + t, + this.paint.get( + "circle-translate", + ), + this.paint.get( + "circle-translate-anchor", + ), + a.angle, + o, + ), + u = + this.paint + .get("circle-radius") + .evaluate(e, r) + + this.paint + .get("circle-stroke-width") + .evaluate(e, r), + c = + "map" === + this.paint.get( + "circle-pitch-alignment", + ), + f = c + ? l + : (function (t, e) { + return t.map(function (t) { + return Bo(t, e); + }); + })(l, s), + h = c ? u * o : u, + p = 0, + d = n; + p < d.length; + p += 1 + ) + for ( + var v = 0, g = d[p]; + v < g.length; + v += 1 + ) { + var y = g[v], + m = c ? y : Bo(y, s), + x = h, + b = zo([], [y.x, y.y, 0, 1], s); + if ( + ("viewport" === + this.paint.get( + "circle-pitch-scale", + ) && + "map" === + this.paint.get( + "circle-pitch-alignment", + ) + ? (x *= + b[3] / + a.cameraToCenterDistance) + : "map" === + this.paint.get( + "circle-pitch-scale", + ) && + "viewport" === + this.paint.get( + "circle-pitch-alignment", + ) && + (x *= + a.cameraToCenterDistance / + b[3]), + po(f, m, x)) + ) + return !0; + } + return !1; + }), + e + ); + })(Hi)); + function Bo(t, e) { + var r = zo([], [t.x, t.y, 0, 1], e); + return new a(r[0] / r[3], r[1] / r[3]); + } + var No = (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 + ); + })(fo); + function jo(t, e, r, n) { + var i = e.width, + a = e.height; + if (n) { + if (n instanceof Uint8ClampedArray) + n = new Uint8Array(n.buffer); + else 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 Uo(t, e, r) { + var n = e.width, + i = e.height; + if (n !== t.width || i !== t.height) { + var a = jo({}, { width: n, height: i }, r); + Vo( + t, + a, + { x: 0, y: 0 }, + { x: 0, y: 0 }, + { + width: Math.min(t.width, n), + height: Math.min(t.height, i), + }, + r, + ), + (t.width = n), + (t.height = i), + (t.data = a.data); + } + } + function Vo(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, + f = 0; + f < i.width * a; + f++ + ) + s[c + f] = o[u + f]; + return e; + } + Qn("HeatmapBucket", No, { omit: ["layers"] }); + var Ho = function (t, e) { + jo(this, t, 1, e); + }; + (Ho.prototype.resize = function (t) { + Uo(this, t, 1); + }), + (Ho.prototype.clone = function () { + return new Ho( + { width: this.width, height: this.height }, + new Uint8Array(this.data), + ); + }), + (Ho.copy = function (t, e, r, n, i) { + Vo(t, e, r, n, i, 1); + }); + var qo = function (t, e) { + jo(this, t, 4, e); + }; + (qo.prototype.resize = function (t) { + Uo(this, t, 4); + }), + (qo.prototype.replace = function (t, e) { + e + ? this.data.set(t) + : t instanceof Uint8ClampedArray + ? (this.data = new Uint8Array(t.buffer)) + : (this.data = t); + }), + (qo.prototype.clone = function () { + return new qo( + { width: this.width, height: this.height }, + new Uint8Array(this.data), + ); + }), + (qo.copy = function (t, e, r, n, i) { + Vo(t, e, r, n, i, 4); + }), + Qn("AlphaImage", Ho), + Qn("RGBAImage", qo); + var Go = { + paint: new Ui({ + "heatmap-radius": new Fi( + It.paint_heatmap["heatmap-radius"], + ), + "heatmap-weight": new Fi( + It.paint_heatmap["heatmap-weight"], + ), + "heatmap-intensity": new Ri( + It.paint_heatmap["heatmap-intensity"], + ), + "heatmap-color": new ji( + It.paint_heatmap["heatmap-color"], + ), + "heatmap-opacity": new Ri( + It.paint_heatmap["heatmap-opacity"], + ), + }), + }; + function Zo(t, e) { + for ( + var r = new Uint8Array(1024), + n = {}, + i = 0, + a = 0; + i < 256; + i++, a += 4 + ) { + n[e] = i / 255; + var o = t.evaluate(n); + (r[a + 0] = Math.floor((255 * o.r) / o.a)), + (r[a + 1] = Math.floor((255 * o.g) / o.a)), + (r[a + 2] = Math.floor((255 * o.b) / o.a)), + (r[a + 3] = Math.floor(255 * o.a)); + } + return new qo({ width: 256, height: 1 }, r); + } + var Wo = (function (t) { + function e(e) { + t.call(this, e, Go), 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 No(t); + }), + (e.prototype._handleSpecialPaintPropertyUpdate = + function (t) { + "heatmap-color" === t && + this._updateColorRamp(); + }), + (e.prototype._updateColorRamp = function () { + var t = + this._transitionablePaint._values[ + "heatmap-color" + ].value.expression; + (this.colorRamp = Zo(t, "heatmapDensity")), + (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 + ); + })(Hi), + Yo = { + paint: new Ui({ + "hillshade-illumination-direction": new Ri( + It.paint_hillshade[ + "hillshade-illumination-direction" + ], + ), + "hillshade-illumination-anchor": new Ri( + It.paint_hillshade[ + "hillshade-illumination-anchor" + ], + ), + "hillshade-exaggeration": new Ri( + It.paint_hillshade[ + "hillshade-exaggeration" + ], + ), + "hillshade-shadow-color": new Ri( + It.paint_hillshade[ + "hillshade-shadow-color" + ], + ), + "hillshade-highlight-color": new Ri( + It.paint_hillshade[ + "hillshade-highlight-color" + ], + ), + "hillshade-accent-color": new Ri( + It.paint_hillshade[ + "hillshade-accent-color" + ], + ), + }), + }, + Xo = (function (t) { + function e(e) { + t.call(this, e, Yo); + } + 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 + ); + })(Hi), + Jo = Wi( + [ + { + name: "a_pos", + components: 2, + type: "Int16", + }, + ], + 4, + ).members, + Ko = Qo, + $o = Qo; + function Qo(t, e, r) { + r = r || 2; + var n, + i, + a, + o, + s, + l, + u, + c = e && e.length, + f = c ? e[0] * r : t.length, + h = ts(t, 0, f, r, !0), + p = []; + if (!h || h.next === h.prev) return p; + if ( + (c && + (h = (function (t, e, r, n) { + var i, + a, + o, + s = []; + for (i = 0, a = e.length; i < a; i++) + (o = ts( + t, + e[i] * n, + i < a - 1 ? e[i + 1] * n : t.length, + n, + !1, + )) === o.next && (o.steiner = !0), + s.push(fs(o)); + for (s.sort(ss), i = 0; i < s.length; i++) + ls(s[i], r), (r = es(r, r.next)); + return r; + })(t, e, h, r)), + t.length > 80 * r) + ) { + (n = a = t[0]), (i = o = t[1]); + for (var d = r; d < f; d += r) + (s = t[d]) < n && (n = s), + (l = t[d + 1]) < i && (i = l), + s > a && (a = s), + l > o && (o = l); + u = + 0 !== (u = Math.max(a - n, o - i)) + ? 1 / u + : 0; + } + return rs(h, p, r, n, i, u), p; + } + function ts(t, e, r, n, i) { + var a, o; + if (i === ks(t, e, r, n) > 0) + for (a = e; a < r; a += n) + o = _s(a, t[a], t[a + 1], o); + else + for (a = r - n; a >= e; a -= n) + o = _s(a, t[a], t[a + 1], o); + return ( + o && vs(o, o.next) && (ws(o), (o = o.next)), o + ); + } + function es(t, e) { + if (!t) return t; + e || (e = t); + var r, + n = t; + do { + if ( + ((r = !1), + n.steiner || + (!vs(n, n.next) && + 0 !== ds(n.prev, n, n.next))) + ) + n = n.next; + else { + if ((ws(n), (n = e = n.prev) === n.next)) + break; + r = !0; + } + } while (r || n !== e); + return e; + } + function rs(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 = cs(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 ? is(t, n, i, a) : ns(t)) + ) + e.push(s.i / r), + e.push(t.i / r), + e.push(l.i / r), + ws(t), + (t = l.next), + (u = l.next); + else if ((t = l) === u) { + o + ? 1 === o + ? rs( + (t = as(es(t), e, r)), + e, + r, + n, + i, + a, + 2, + ) + : 2 === o && os(t, e, r, n, i, a) + : rs(es(t), e, r, n, i, a, 1); + break; + } + } + } + function ns(t) { + var e = t.prev, + r = t, + n = t.next; + if (ds(e, r, n) >= 0) return !1; + for (var i = t.next.next; i !== t.prev; ) { + if ( + hs(e.x, e.y, r.x, r.y, n.x, n.y, i.x, i.y) && + ds(i.prev, i, i.next) >= 0 + ) + return !1; + i = i.next; + } + return !0; + } + function is(t, e, r, n) { + var i = t.prev, + a = t, + o = t.next; + if (ds(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, + f = cs(s, l, e, r, n), + h = cs(u, c, e, r, n), + p = t.prevZ, + d = t.nextZ; + p && p.z >= f && d && d.z <= h; + + ) { + if ( + p !== t.prev && + p !== t.next && + hs(i.x, i.y, a.x, a.y, o.x, o.y, p.x, p.y) && + ds(p.prev, p, p.next) >= 0 + ) + return !1; + if ( + ((p = p.prevZ), + d !== t.prev && + d !== t.next && + hs( + i.x, + i.y, + a.x, + a.y, + o.x, + o.y, + d.x, + d.y, + ) && + ds(d.prev, d, d.next) >= 0) + ) + return !1; + d = d.nextZ; + } + for (; p && p.z >= f; ) { + if ( + p !== t.prev && + p !== t.next && + hs(i.x, i.y, a.x, a.y, o.x, o.y, p.x, p.y) && + ds(p.prev, p, p.next) >= 0 + ) + return !1; + p = p.prevZ; + } + for (; d && d.z <= h; ) { + if ( + d !== t.prev && + d !== t.next && + hs(i.x, i.y, a.x, a.y, o.x, o.y, d.x, d.y) && + ds(d.prev, d, d.next) >= 0 + ) + return !1; + d = d.nextZ; + } + return !0; + } + function as(t, e, r) { + var n = t; + do { + var i = n.prev, + a = n.next.next; + !vs(i, a) && + gs(i, n, n.next, a) && + xs(i, a) && + xs(a, i) && + (e.push(i.i / r), + e.push(n.i / r), + e.push(a.i / r), + ws(n), + ws(n.next), + (n = t = a)), + (n = n.next); + } while (n !== t); + return es(n); + } + function os(t, e, r, n, i, a) { + var o = t; + do { + for (var s = o.next.next; s !== o.prev; ) { + if (o.i !== s.i && ps(o, s)) { + var l = bs(o, s); + return ( + (o = es(o, o.next)), + (l = es(l, l.next)), + rs(o, e, r, n, i, a), + void rs(l, e, r, n, i, a) + ); + } + s = s.next; + } + o = o.next; + } while (o !== t); + } + function ss(t, e) { + return t.x - e.x; + } + function ls(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; + var l, + u = r, + c = r.x, + f = r.y, + h = 1 / 0; + n = r; + do { + i >= n.x && + n.x >= c && + i !== n.x && + hs( + a < f ? i : o, + a, + c, + f, + a < f ? o : i, + a, + n.x, + n.y, + ) && + ((l = Math.abs(a - n.y) / (i - n.x)), + xs(n, t) && + (l < h || + (l === h && + (n.x > r.x || + (n.x === r.x && us(r, n))))) && + ((r = n), (h = l))), + (n = n.next); + } while (n !== u); + return r; + })(t, e)) + ) { + var r = bs(e, t); + es(e, e.next), es(r, r.next); + } + } + function us(t, e) { + return ( + ds(t.prev, t, e.prev) < 0 && + ds(e.next, t, t.next) < 0 + ); + } + function cs(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 fs(t) { + var e = t, + r = t; + do { + (e.x < r.x || (e.x === r.x && e.y < r.y)) && + (r = e), + (e = e.next); + } while (e !== t); + return r; + } + function hs(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 ps(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 && + gs(r, r.next, t, e) + ) + return !0; + r = r.next; + } while (r !== t); + return !1; + })(t, e) && + ((xs(t, e) && + xs(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) && + (ds(t.prev, t, e.prev) || + ds(t, e.prev, e))) || + (vs(t, e) && + ds(t.prev, t, t.next) > 0 && + ds(e.prev, e, e.next) > 0)) + ); + } + function ds(t, e, r) { + return ( + (e.y - t.y) * (r.x - e.x) - + (e.x - t.x) * (r.y - e.y) + ); + } + function vs(t, e) { + return t.x === e.x && t.y === e.y; + } + function gs(t, e, r, n) { + var i = ms(ds(t, e, r)), + a = ms(ds(t, e, n)), + o = ms(ds(r, n, t)), + s = ms(ds(r, n, e)); + return ( + (i !== a && o !== s) || + !(0 !== i || !ys(t, r, e)) || + !(0 !== a || !ys(t, n, e)) || + !(0 !== o || !ys(r, t, n)) || + !(0 !== s || !ys(r, e, n)) + ); + } + function ys(t, e, r) { + return ( + e.x <= Math.max(t.x, r.x) && + e.x >= Math.min(t.x, r.x) && + e.y <= Math.max(t.y, r.y) && + e.y >= Math.min(t.y, r.y) + ); + } + function ms(t) { + return t > 0 ? 1 : t < 0 ? -1 : 0; + } + function xs(t, e) { + return ds(t.prev, t, t.next) < 0 + ? ds(t, e, t.next) >= 0 && ds(t, t.prev, e) >= 0 + : ds(t, e, t.prev) < 0 || ds(t, t.next, e) < 0; + } + function bs(t, e) { + var r = new Ts(t.i, t.x, t.y), + n = new Ts(e.i, e.x, e.y), + i = t.next, + a = e.prev; + return ( + (t.next = e), + (e.prev = t), + (r.next = i), + (i.prev = r), + (n.next = r), + (r.prev = n), + (a.next = n), + (n.prev = a), + n + ); + } + function _s(t, e, r, n) { + var i = new Ts(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 ws(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 Ts(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 ks(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; + } + function As(t, e, r, n, i) { + Ms(t, e, r || 0, n || t.length - 1, i || Es); + } + function Ms(t, e, r, n, i) { + for (; n > r; ) { + if (n - r > 600) { + var a = n - r + 1, + o = e - r + 1, + s = Math.log(a), + l = 0.5 * Math.exp((2 * s) / 3), + u = + 0.5 * + Math.sqrt((s * l * (a - l)) / a) * + (o - a / 2 < 0 ? -1 : 1); + Ms( + t, + e, + Math.max( + r, + Math.floor(e - (o * l) / a + u), + ), + Math.min( + n, + Math.floor(e + ((a - o) * l) / a + u), + ), + i, + ); + } + var c = t[e], + f = r, + h = n; + for ( + Ss(t, r, e), i(t[n], c) > 0 && Ss(t, r, n); + f < h; + + ) { + for (Ss(t, f, h), f++, h--; i(t[f], c) < 0; ) + f++; + for (; i(t[h], c) > 0; ) h--; + } + 0 === i(t[r], c) ? Ss(t, r, h) : Ss(t, ++h, n), + h <= e && (r = h + 1), + e <= h && (n = h - 1); + } + } + function Ss(t, e, r) { + var n = t[e]; + (t[e] = t[r]), (t[r] = n); + } + function Es(t, e) { + return t < e ? -1 : t > e ? 1 : 0; + } + function Ls(t, e) { + var r = t.length; + if (r <= 1) return [t]; + for (var n, i, a = [], o = 0; o < r; o++) { + var s = k(t[o]); + 0 !== s && + ((t[o].area = Math.abs(s)), + void 0 === i && (i = s < 0), + i === s < 0 + ? (n && a.push(n), (n = [t[o]])) + : n.push(t[o])); + } + if ((n && a.push(n), e > 1)) + for (var l = 0; l < a.length; l++) + a[l].length <= e || + (As(a[l], e, 1, a[l].length - 1, Cs), + (a[l] = a[l].slice(0, e))); + return a; + } + function Cs(t, e) { + return e.area - t.area; + } + function Os(t, e, r) { + for ( + var n = r.patternDependencies, + i = !1, + a = 0, + o = e; + a < o.length; + a += 1 + ) { + var s = o[a].paint.get(t + "-pattern"); + s.isConstant() || (i = !0); + var l = s.constantOr(null); + l && + ((i = !0), (n[l.to] = !0), (n[l.from] = !0)); + } + return i; + } + function Ps(t, e, r, n, i) { + for ( + var a = i.patternDependencies, o = 0, s = e; + o < s.length; + o += 1 + ) { + var l = s[o], + u = l.paint.get(t + "-pattern").value; + if ("constant" !== u.kind) { + var c = u.evaluate( + { zoom: n - 1 }, + r, + {}, + i.availableImages, + ), + f = u.evaluate( + { zoom: n }, + r, + {}, + i.availableImages, + ), + h = u.evaluate( + { zoom: n + 1 }, + r, + {}, + i.availableImages, + ); + (c = c && c.name ? c.name : c), + (f = f && f.name ? f.name : f), + (h = h && h.name ? h.name : h), + (a[c] = !0), + (a[f] = !0), + (a[h] = !0), + (r.patterns[l.id] = { + min: c, + mid: f, + max: h, + }); + } + } + return r; + } + (Qo.deviation = function (t, e, r, n) { + var i = e && e.length, + a = i ? e[0] * r : t.length, + o = Math.abs(ks(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(ks(t, u, c, r)); + } + var f = 0; + for (s = 0; s < n.length; s += 3) { + var h = n[s] * r, + p = n[s + 1] * r, + d = n[s + 2] * r; + f += Math.abs( + (t[h] - t[d]) * (t[p + 1] - t[h + 1]) - + (t[h] - t[p]) * (t[d + 1] - t[h + 1]), + ); + } + return 0 === o && 0 === f + ? 0 + : Math.abs((f - o) / o); + }), + (Qo.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; + }), + (Ko.default = $o); + var Is = 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.hasPattern = !1), + (this.patternFeatures = []), + (this.layoutVertexArray = new Xi()), + (this.indexArray = new sa()), + (this.indexArray2 = new pa()), + (this.programConfigurations = new no( + Jo, + t.layers, + t.zoom, + )), + (this.segments = new Ea()), + (this.segments2 = new Ea()), + (this.stateDependentLayerIds = this.layers + .filter(function (t) { + return t.isStateDependent(); + }) + .map(function (t) { + return t.id; + })); + }; + (Is.prototype.populate = function (t, e, r) { + this.hasPattern = Os("fill", this.layers, e); + for ( + var n = + this.layers[0].layout.get("fill-sort-key"), + i = [], + a = 0, + o = t; + a < o.length; + a += 1 + ) { + var s = o[a], + l = s.feature, + u = s.id, + c = s.index, + f = s.sourceLayerIndex, + h = + this.layers[0]._featureFilter.needGeometry, + p = { + type: l.type, + id: u, + properties: l.properties, + geometry: h ? uo(l) : [], + }; + if ( + this.layers[0]._featureFilter.filter( + new Si(this.zoom), + p, + r, + ) + ) { + h || (p.geometry = uo(l)); + var d = n + ? n.evaluate(p, {}, r, e.availableImages) + : void 0, + v = { + id: u, + properties: l.properties, + type: l.type, + sourceLayerIndex: f, + index: c, + geometry: p.geometry, + patterns: {}, + sortKey: d, + }; + i.push(v); + } + } + n && + i.sort(function (t, e) { + return t.sortKey - e.sortKey; + }); + for (var g = 0, y = i; g < y.length; g += 1) { + var m = y[g], + x = m, + b = x.geometry, + _ = x.index, + w = x.sourceLayerIndex; + if (this.hasPattern) { + var T = Ps( + "fill", + this.layers, + m, + this.zoom, + e, + ); + this.patternFeatures.push(T); + } else this.addFeature(m, b, _, r, {}); + var k = t[_].feature; + e.featureIndex.insert(k, b, _, w, this.index); + } + }), + (Is.prototype.update = function (t, e, r) { + this.stateDependentLayers.length && + this.programConfigurations.updatePaintArrays( + t, + e, + this.stateDependentLayers, + r, + ); + }), + (Is.prototype.addFeatures = function (t, e, r) { + for ( + var n = 0, i = this.patternFeatures; + n < i.length; + n += 1 + ) { + var a = i[n]; + this.addFeature(a, a.geometry, a.index, e, r); + } + }), + (Is.prototype.isEmpty = function () { + return 0 === this.layoutVertexArray.length; + }), + (Is.prototype.uploadPending = function () { + return ( + !this.uploaded || + this.programConfigurations.needsUpload + ); + }), + (Is.prototype.upload = function (t) { + this.uploaded || + ((this.layoutVertexBuffer = + t.createVertexBuffer( + this.layoutVertexArray, + Jo, + )), + (this.indexBuffer = t.createIndexBuffer( + this.indexArray, + )), + (this.indexBuffer2 = t.createIndexBuffer( + this.indexArray2, + ))), + this.programConfigurations.upload(t), + (this.uploaded = !0); + }), + (Is.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.indexBuffer2.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy(), + this.segments2.destroy()); + }), + (Is.prototype.addFeature = function ( + t, + e, + r, + n, + i, + ) { + for ( + var a = 0, o = Ls(e, 500); + a < o.length; + a += 1 + ) { + for ( + var s = o[a], l = 0, u = 0, c = s; + u < c.length; + u += 1 + ) + l += c[u].length; + for ( + var f = this.segments.prepareSegment( + l, + this.layoutVertexArray, + this.indexArray, + ), + h = f.vertexLength, + p = [], + d = [], + v = 0, + g = s; + v < g.length; + v += 1 + ) { + var y = g[v]; + if (0 !== y.length) { + y !== s[0] && d.push(p.length / 2); + var m = this.segments2.prepareSegment( + y.length, + this.layoutVertexArray, + this.indexArray2, + ), + x = m.vertexLength; + this.layoutVertexArray.emplaceBack( + y[0].x, + y[0].y, + ), + this.indexArray2.emplaceBack( + x + y.length - 1, + x, + ), + p.push(y[0].x), + p.push(y[0].y); + for (var b = 1; b < y.length; b++) + this.layoutVertexArray.emplaceBack( + y[b].x, + y[b].y, + ), + this.indexArray2.emplaceBack( + x + b - 1, + x + b, + ), + p.push(y[b].x), + p.push(y[b].y); + (m.vertexLength += y.length), + (m.primitiveLength += y.length); + } + } + for ( + var _ = Ko(p, d), w = 0; + w < _.length; + w += 3 + ) + this.indexArray.emplaceBack( + h + _[w], + h + _[w + 1], + h + _[w + 2], + ); + (f.vertexLength += l), + (f.primitiveLength += _.length / 3); + } + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + t, + r, + i, + n, + ); + }), + Qn("FillBucket", Is, { + omit: ["layers", "patternFeatures"], + }); + var Ds = new Ui({ + "fill-sort-key": new Fi( + It.layout_fill["fill-sort-key"], + ), + }), + zs = { + paint: new Ui({ + "fill-antialias": new Ri( + It.paint_fill["fill-antialias"], + ), + "fill-opacity": new Fi( + It.paint_fill["fill-opacity"], + ), + "fill-color": new Fi( + It.paint_fill["fill-color"], + ), + "fill-outline-color": new Fi( + It.paint_fill["fill-outline-color"], + ), + "fill-translate": new Ri( + It.paint_fill["fill-translate"], + ), + "fill-translate-anchor": new Ri( + It.paint_fill["fill-translate-anchor"], + ), + "fill-pattern": new Bi( + It.paint_fill["fill-pattern"], + ), + }), + layout: Ds, + }, + Rs = (function (t) { + function e(e) { + t.call(this, e, zs); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + (e.prototype.recalculate = function (e, r) { + t.prototype.recalculate.call(this, e, r); + var n = + this.paint._values["fill-outline-color"]; + "constant" === n.value.kind && + void 0 === n.value.value && + (this.paint._values[ + "fill-outline-color" + ] = this.paint._values["fill-color"]); + }), + (e.prototype.createBucket = function (t) { + return new Is(t); + }), + (e.prototype.queryRadius = function () { + return Ao(this.paint.get("fill-translate")); + }), + (e.prototype.queryIntersectsFeature = + function (t, e, r, n, i, a, o) { + return vo( + Mo( + t, + this.paint.get("fill-translate"), + this.paint.get( + "fill-translate-anchor", + ), + a.angle, + o, + ), + n, + ); + }), + (e.prototype.isTileClipped = function () { + return !0; + }), + e + ); + })(Hi), + Fs = Wi( + [ + { + name: "a_pos", + components: 2, + type: "Int16", + }, + { + name: "a_normal_ed", + components: 4, + type: "Int16", + }, + ], + 4, + ).members, + Bs = Ns; + function Ns(t, e, r, n, i) { + (this.properties = {}), + (this.extent = r), + (this.type = 0), + (this._pbf = t), + (this._geometry = -1), + (this._keys = n), + (this._values = i), + t.readFields(js, this, e); + } + function js(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 Us(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; + } + (Ns.types = [ + "Unknown", + "Point", + "LineString", + "Polygon", + ]), + (Ns.prototype.loadGeometry = function () { + var t = this._pbf; + t.pos = this._geometry; + for ( + var e, + r = t.readVarint() + t.pos, + n = 1, + i = 0, + o = 0, + s = 0, + l = []; + t.pos < r; + + ) { + if (i <= 0) { + var u = t.readVarint(); + (n = 7 & u), (i = u >> 3); + } + if ((i--, 1 === n || 2 === n)) + (o += t.readSVarint()), + (s += t.readSVarint()), + 1 === n && (e && l.push(e), (e = [])), + e.push(new a(o, s)); + else { + if (7 !== n) + throw new Error("unknown command " + n); + e && e.push(e[0].clone()); + } + } + return e && l.push(e), l; + }), + (Ns.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 <= 0) { + var c = t.readVarint(); + (r = 7 & c), (n = c >> 3); + } + if ((n--, 1 === r || 2 === r)) + (i += t.readSVarint()) < o && (o = i), + i > s && (s = i), + (a += t.readSVarint()) < l && (l = a), + a > u && (u = a); + else if (7 !== r) + throw new Error("unknown command " + r); + } + return [o, l, s, u]; + }), + (Ns.prototype.toGeoJSON = function (t, e, r) { + var n, + i, + a = this.extent * Math.pow(2, r), + o = this.extent * t, + s = this.extent * e, + l = this.loadGeometry(), + u = Ns.types[this.type]; + function c(t) { + for (var e = 0; e < t.length; e++) { + var r = t[e], + n = 180 - (360 * (r.y + s)) / a; + t[e] = [ + (360 * (r.x + o)) / a - 180, + (360 / Math.PI) * + Math.atan( + Math.exp((n * Math.PI) / 180), + ) - + 90, + ]; + } + } + switch (this.type) { + case 1: + var f = []; + for (n = 0; n < l.length; n++) + f[n] = l[n][0]; + c((l = f)); + break; + case 2: + for (n = 0; n < l.length; n++) c(l[n]); + break; + case 3: + for ( + l = (function (t) { + var e = t.length; + if (e <= 1) return [t]; + for ( + var r, n, i = [], a = 0; + a < e; + a++ + ) { + var o = Us(t[a]); + 0 !== o && + (void 0 === n && (n = o < 0), + n === o < 0 + ? (r && i.push(r), (r = [t[a]])) + : r.push(t[a])); + } + return r && i.push(r), i; + })(l), + n = 0; + n < l.length; + n++ + ) + for (i = 0; i < l[n].length; i++) + c(l[n][i]); + } + 1 === l.length ? (l = l[0]) : (u = "Multi" + u); + var h = { + type: "Feature", + geometry: { type: u, coordinates: l }, + properties: this.properties, + }; + return "id" in this && (h.id = this.id), h; + }); + var Vs = Hs; + function Hs(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(qs, this, e), + (this.length = this._features.length); + } + function qs(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), + ); + } + function Gs(t, e, r) { + if (3 === t) { + var n = new Vs(r, r.readVarint() + r.pos); + n.length && (e[n.name] = n); + } + } + Hs.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 Bs( + this._pbf, + e, + this.extent, + this._keys, + this._values, + ); + }; + var Zs = { + VectorTile: function (t, e) { + this.layers = t.readFields(Gs, {}, e); + }, + VectorTileFeature: Bs, + VectorTileLayer: Vs, + }, + Ws = Zs.VectorTileFeature.types, + Ys = Math.pow(2, 13); + function Xs(t, e, r, n, i, a, o, s) { + t.emplaceBack( + e, + r, + 2 * Math.floor(n * Ys) + o, + i * Ys * 2, + a * Ys * 2, + Math.round(s), + ); + } + var Js = 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.hasPattern = !1), + (this.layoutVertexArray = new Ki()), + (this.indexArray = new sa()), + (this.programConfigurations = new no( + Fs, + t.layers, + t.zoom, + )), + (this.segments = new Ea()), + (this.stateDependentLayerIds = this.layers + .filter(function (t) { + return t.isStateDependent(); + }) + .map(function (t) { + return t.id; + })); + }; + function Ks(t, e) { + return ( + (t.x === e.x && (t.x < 0 || t.x > oo)) || + (t.y === e.y && (t.y < 0 || t.y > oo)) + ); + } + (Js.prototype.populate = function (t, e, r) { + (this.features = []), + (this.hasPattern = Os( + "fill-extrusion", + this.layers, + e, + )); + for (var n = 0, i = t; n < i.length; n += 1) { + var a = i[n], + o = a.feature, + s = a.id, + l = a.index, + u = a.sourceLayerIndex, + c = + this.layers[0]._featureFilter.needGeometry, + f = { + type: o.type, + id: s, + properties: o.properties, + geometry: c ? uo(o) : [], + }; + if ( + this.layers[0]._featureFilter.filter( + new Si(this.zoom), + f, + r, + ) + ) { + var h = { + id: s, + sourceLayerIndex: u, + index: l, + geometry: c ? f.geometry : uo(o), + properties: o.properties, + type: o.type, + patterns: {}, + }; + void 0 !== o.id && (h.id = o.id), + this.hasPattern + ? this.features.push( + Ps( + "fill-extrusion", + this.layers, + h, + this.zoom, + e, + ), + ) + : this.addFeature( + h, + h.geometry, + l, + r, + {}, + ), + e.featureIndex.insert( + o, + h.geometry, + l, + u, + this.index, + !0, + ); + } + } + }), + (Js.prototype.addFeatures = function (t, e, r) { + for ( + var n = 0, i = this.features; + n < i.length; + n += 1 + ) { + var a = i[n], + o = a.geometry; + this.addFeature(a, o, a.index, e, r); + } + }), + (Js.prototype.update = function (t, e, r) { + this.stateDependentLayers.length && + this.programConfigurations.updatePaintArrays( + t, + e, + this.stateDependentLayers, + r, + ); + }), + (Js.prototype.isEmpty = function () { + return 0 === this.layoutVertexArray.length; + }), + (Js.prototype.uploadPending = function () { + return ( + !this.uploaded || + this.programConfigurations.needsUpload + ); + }), + (Js.prototype.upload = function (t) { + this.uploaded || + ((this.layoutVertexBuffer = + t.createVertexBuffer( + this.layoutVertexArray, + Fs, + )), + (this.indexBuffer = t.createIndexBuffer( + this.indexArray, + ))), + this.programConfigurations.upload(t), + (this.uploaded = !0); + }), + (Js.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy()); + }), + (Js.prototype.addFeature = function ( + t, + e, + r, + n, + i, + ) { + for ( + var a = 0, o = Ls(e, 500); + a < o.length; + a += 1 + ) { + for ( + var s = o[a], l = 0, u = 0, c = s; + u < c.length; + u += 1 + ) + l += c[u].length; + for ( + var f = this.segments.prepareSegment( + 4, + this.layoutVertexArray, + this.indexArray, + ), + h = 0, + p = s; + h < p.length; + h += 1 + ) { + var d = p[h]; + if ( + 0 !== d.length && + !( + (P = d).every(function (t) { + return t.x < 0; + }) || + P.every(function (t) { + return t.x > oo; + }) || + P.every(function (t) { + return t.y < 0; + }) || + P.every(function (t) { + return t.y > oo; + }) + ) + ) + for ( + var v = 0, g = 0; + g < d.length; + g++ + ) { + var y = d[g]; + if (g >= 1) { + var m = d[g - 1]; + if (!Ks(y, m)) { + f.vertexLength + 4 > + Ea.MAX_VERTEX_ARRAY_LENGTH && + (f = this.segments.prepareSegment( + 4, + this.layoutVertexArray, + this.indexArray, + )); + var x = y.sub(m)._perp()._unit(), + b = m.dist(y); + v + b > 32768 && (v = 0), + Xs( + this.layoutVertexArray, + y.x, + y.y, + x.x, + x.y, + 0, + 0, + v, + ), + Xs( + this.layoutVertexArray, + y.x, + y.y, + x.x, + x.y, + 0, + 1, + v, + ), + (v += b), + Xs( + this.layoutVertexArray, + m.x, + m.y, + x.x, + x.y, + 0, + 0, + v, + ), + Xs( + this.layoutVertexArray, + m.x, + m.y, + x.x, + x.y, + 0, + 1, + v, + ); + var _ = f.vertexLength; + this.indexArray.emplaceBack( + _, + _ + 2, + _ + 1, + ), + this.indexArray.emplaceBack( + _ + 1, + _ + 2, + _ + 3, + ), + (f.vertexLength += 4), + (f.primitiveLength += 2); + } + } + } + } + if ( + (f.vertexLength + l > + Ea.MAX_VERTEX_ARRAY_LENGTH && + (f = this.segments.prepareSegment( + l, + this.layoutVertexArray, + this.indexArray, + )), + "Polygon" === Ws[t.type]) + ) { + for ( + var w = [], + T = [], + k = f.vertexLength, + A = 0, + M = s; + A < M.length; + A += 1 + ) { + var S = M[A]; + if (0 !== S.length) { + S !== s[0] && T.push(w.length / 2); + for (var E = 0; E < S.length; E++) { + var L = S[E]; + Xs( + this.layoutVertexArray, + L.x, + L.y, + 0, + 0, + 1, + 1, + 0, + ), + w.push(L.x), + w.push(L.y); + } + } + } + for ( + var C = Ko(w, T), O = 0; + O < C.length; + O += 3 + ) + this.indexArray.emplaceBack( + k + C[O], + k + C[O + 2], + k + C[O + 1], + ); + (f.primitiveLength += C.length / 3), + (f.vertexLength += l); + } + } + var P; + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + t, + r, + i, + n, + ); + }), + Qn("FillExtrusionBucket", Js, { + omit: ["layers", "features"], + }); + var $s = { + paint: new Ui({ + "fill-extrusion-opacity": new Ri( + It["paint_fill-extrusion"][ + "fill-extrusion-opacity" + ], + ), + "fill-extrusion-color": new Fi( + It["paint_fill-extrusion"][ + "fill-extrusion-color" + ], + ), + "fill-extrusion-translate": new Ri( + It["paint_fill-extrusion"][ + "fill-extrusion-translate" + ], + ), + "fill-extrusion-translate-anchor": new Ri( + It["paint_fill-extrusion"][ + "fill-extrusion-translate-anchor" + ], + ), + "fill-extrusion-pattern": new Bi( + It["paint_fill-extrusion"][ + "fill-extrusion-pattern" + ], + ), + "fill-extrusion-height": new Fi( + It["paint_fill-extrusion"][ + "fill-extrusion-height" + ], + ), + "fill-extrusion-base": new Fi( + It["paint_fill-extrusion"][ + "fill-extrusion-base" + ], + ), + "fill-extrusion-vertical-gradient": new Ri( + It["paint_fill-extrusion"][ + "fill-extrusion-vertical-gradient" + ], + ), + }), + }, + Qs = (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.createBucket = function (t) { + return new Js(t); + }), + (e.prototype.queryRadius = function () { + return Ao( + this.paint.get( + "fill-extrusion-translate", + ), + ); + }), + (e.prototype.is3D = function () { + return !0; + }), + (e.prototype.queryIntersectsFeature = + function (t, e, r, n, i, o, s, l) { + var u = Mo( + t, + this.paint.get( + "fill-extrusion-translate", + ), + this.paint.get( + "fill-extrusion-translate-anchor", + ), + o.angle, + s, + ), + c = this.paint + .get("fill-extrusion-height") + .evaluate(e, r), + f = this.paint + .get("fill-extrusion-base") + .evaluate(e, r), + h = (function (t, e, r, n) { + for ( + var i = [], o = 0, s = t; + o < s.length; + o += 1 + ) { + var l = s[o], + u = [l.x, l.y, n, 1]; + zo(u, u, e), + i.push( + new a(u[0] / u[3], u[1] / u[3]), + ); + } + return i; + })(u, l, 0, 0), + p = (function (t, e, r, n) { + for ( + var i = [], + o = [], + s = n[8] * e, + l = n[9] * e, + u = n[10] * e, + c = n[11] * e, + f = n[8] * r, + h = n[9] * r, + p = n[10] * r, + d = n[11] * r, + v = 0, + g = t; + v < g.length; + v += 1 + ) { + for ( + var y = [], + m = [], + x = 0, + b = g[v]; + x < b.length; + x += 1 + ) { + var _ = b[x], + w = _.x, + T = _.y, + k = n[0] * w + n[4] * T + n[12], + A = n[1] * w + n[5] * T + n[13], + M = n[2] * w + n[6] * T + n[14], + S = n[3] * w + n[7] * T + n[15], + E = M + u, + L = S + c, + C = k + f, + O = A + h, + P = M + p, + I = S + d, + D = new a( + (k + s) / L, + (A + l) / L, + ); + (D.z = E / L), y.push(D); + var z = new a(C / I, O / I); + (z.z = P / I), m.push(z); + } + i.push(y), o.push(m); + } + return [i, o]; + })(n, f, c, l); + return (function (t, e, r) { + var n = 1 / 0; + vo(r, e) && (n = el(r, e[0])); + for (var i = 0; i < e.length; i++) + for ( + var a = e[i], o = t[i], s = 0; + s < a.length - 1; + s++ + ) { + var l = a[s], + u = a[s + 1], + c = o[s], + f = [l, u, o[s + 1], c, l]; + ho(r, f) && + (n = Math.min(n, el(r, f))); + } + return n !== 1 / 0 && n; + })(p[0], p[1], h); + }), + e + ); + })(Hi); + function tl(t, e) { + return t.x * e.x + t.y * e.y; + } + function el(t, e) { + if (1 === t.length) { + for ( + var r, n = 0, i = e[n++]; + !r || i.equals(r); + + ) + if (!(r = e[n++])) return 1 / 0; + for (; n < e.length; n++) { + var a = e[n], + o = t[0], + s = r.sub(i), + l = a.sub(i), + u = o.sub(i), + c = tl(s, s), + f = tl(s, l), + h = tl(l, l), + p = tl(u, s), + d = tl(u, l), + v = c * h - f * f, + g = (h * p - f * d) / v, + y = (c * d - f * p) / v, + m = 1 - g - y, + x = i.z * m + r.z * g + a.z * y; + if (isFinite(x)) return x; + } + return 1 / 0; + } + for ( + var b = 1 / 0, _ = 0, w = e; + _ < w.length; + _ += 1 + ) { + var T = w[_]; + b = Math.min(b, T.z); + } + return b; + } + var rl = Wi( + [ + { + name: "a_pos_normal", + components: 2, + type: "Int16", + }, + { + name: "a_data", + components: 4, + type: "Uint8", + }, + ], + 4, + ).members, + nl = Zs.VectorTileFeature.types, + il = Math.cos((Math.PI / 180) * 37.5), + al = Math.pow(2, 14) / 0.5, + ol = 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.hasPattern = !1), + (this.patternFeatures = []), + (this.layoutVertexArray = new $i()), + (this.indexArray = new sa()), + (this.programConfigurations = new no( + rl, + t.layers, + t.zoom, + )), + (this.segments = new Ea()), + (this.stateDependentLayerIds = this.layers + .filter(function (t) { + return t.isStateDependent(); + }) + .map(function (t) { + return t.id; + })); + }; + (ol.prototype.populate = function (t, e, r) { + this.hasPattern = Os("line", this.layers, e); + for ( + var n = + this.layers[0].layout.get("line-sort-key"), + i = [], + a = 0, + o = t; + a < o.length; + a += 1 + ) { + var s = o[a], + l = s.feature, + u = s.id, + c = s.index, + f = s.sourceLayerIndex, + h = + this.layers[0]._featureFilter.needGeometry, + p = { + type: l.type, + id: u, + properties: l.properties, + geometry: h ? uo(l) : [], + }; + if ( + this.layers[0]._featureFilter.filter( + new Si(this.zoom), + p, + r, + ) + ) { + h || (p.geometry = uo(l)); + var d = n ? n.evaluate(p, {}, r) : void 0, + v = { + id: u, + properties: l.properties, + type: l.type, + sourceLayerIndex: f, + index: c, + geometry: p.geometry, + patterns: {}, + sortKey: d, + }; + i.push(v); + } + } + n && + i.sort(function (t, e) { + return t.sortKey - e.sortKey; + }); + for (var g = 0, y = i; g < y.length; g += 1) { + var m = y[g], + x = m, + b = x.geometry, + _ = x.index, + w = x.sourceLayerIndex; + if (this.hasPattern) { + var T = Ps( + "line", + this.layers, + m, + this.zoom, + e, + ); + this.patternFeatures.push(T); + } else this.addFeature(m, b, _, r, {}); + var k = t[_].feature; + e.featureIndex.insert(k, b, _, w, this.index); + } + }), + (ol.prototype.update = function (t, e, r) { + this.stateDependentLayers.length && + this.programConfigurations.updatePaintArrays( + t, + e, + this.stateDependentLayers, + r, + ); + }), + (ol.prototype.addFeatures = function (t, e, r) { + for ( + var n = 0, i = this.patternFeatures; + n < i.length; + n += 1 + ) { + var a = i[n]; + this.addFeature(a, a.geometry, a.index, e, r); + } + }), + (ol.prototype.isEmpty = function () { + return 0 === this.layoutVertexArray.length; + }), + (ol.prototype.uploadPending = function () { + return ( + !this.uploaded || + this.programConfigurations.needsUpload + ); + }), + (ol.prototype.upload = function (t) { + this.uploaded || + ((this.layoutVertexBuffer = + t.createVertexBuffer( + this.layoutVertexArray, + rl, + )), + (this.indexBuffer = t.createIndexBuffer( + this.indexArray, + ))), + this.programConfigurations.upload(t), + (this.uploaded = !0); + }), + (ol.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy()); + }), + (ol.prototype.addFeature = function ( + t, + e, + r, + n, + i, + ) { + for ( + var a = this.layers[0].layout, + o = a.get("line-join").evaluate(t, {}), + s = a.get("line-cap"), + l = a.get("line-miter-limit"), + u = a.get("line-round-limit"), + c = 0, + f = e; + c < f.length; + c += 1 + ) { + var h = f[c]; + this.addLine(h, t, o, s, l, u); + } + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + t, + r, + i, + n, + ); + }), + (ol.prototype.addLine = function ( + t, + e, + r, + n, + i, + a, + ) { + if ( + ((this.distance = 0), + (this.scaledDistance = 0), + (this.totalDistance = 0), + e.properties && + e.properties.hasOwnProperty( + "mapbox_clip_start", + ) && + e.properties.hasOwnProperty( + "mapbox_clip_end", + )) + ) { + (this.clipStart = + +e.properties.mapbox_clip_start), + (this.clipEnd = + +e.properties.mapbox_clip_end); + for (var o = 0; o < t.length - 1; o++) + this.totalDistance += t[o].dist(t[o + 1]); + this.updateScaledDistance(); + } + for ( + var s = "Polygon" === nl[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 c, + f = + this.overscaling <= 16 + ? 122880 / (512 * this.overscaling) + : 0, + h = this.segments.prepareSegment( + 10 * l, + this.layoutVertexArray, + this.indexArray, + ), + p = void 0, + d = void 0, + v = void 0, + g = void 0; + (this.e1 = this.e2 = -1), + s && + ((c = t[l - 2]), + (g = t[u].sub(c)._unit()._perp())); + for (var y = u; y < l; y++) + if ( + !(d = + y === l - 1 + ? s + ? t[u + 1] + : void 0 + : t[y + 1]) || + !t[y].equals(d) + ) { + g && (v = g), + c && (p = c), + (c = t[y]), + (g = d ? d.sub(c)._unit()._perp() : v); + var m = (v = v || g).add(g); + (0 === m.x && 0 === m.y) || m._unit(); + var x = v.x * g.x + v.y * g.y, + b = m.x * g.x + m.y * g.y, + _ = 0 !== b ? 1 / b : 1 / 0, + w = 2 * Math.sqrt(2 - 2 * b), + T = b < il && p && d, + k = v.x * g.y - v.y * g.x > 0; + if (T && y > u) { + var A = c.dist(p); + if (A > 2 * f) { + var M = c.sub( + c + .sub(p) + ._mult(f / A) + ._round(), + ); + this.updateDistance(p, M), + this.addCurrentVertex( + M, + v, + 0, + 0, + h, + ), + (p = M); + } + } + var S = p && d, + E = S ? r : s ? "butt" : n; + if ( + (S && + "round" === E && + (_ < a + ? (E = "miter") + : _ <= 2 && (E = "fakeround")), + "miter" === E && _ > i && (E = "bevel"), + "bevel" === E && + (_ > 2 && (E = "flipbevel"), + _ < i && (E = "miter")), + p && this.updateDistance(p, c), + "miter" === E) + ) + m._mult(_), + this.addCurrentVertex(c, m, 0, 0, h); + else if ("flipbevel" === E) { + if (_ > 100) m = g.mult(-1); + else { + var L = + (_ * v.add(g).mag()) / + v.sub(g).mag(); + m._perp()._mult(L * (k ? -1 : 1)); + } + this.addCurrentVertex(c, m, 0, 0, h), + this.addCurrentVertex( + c, + m.mult(-1), + 0, + 0, + h, + ); + } else if ( + "bevel" === E || + "fakeround" === E + ) { + var C = -Math.sqrt(_ * _ - 1), + O = k ? C : 0, + P = k ? 0 : C; + if ( + (p && + this.addCurrentVertex( + c, + v, + O, + P, + h, + ), + "fakeround" === E) + ) + for ( + var I = Math.round( + (180 * w) / Math.PI / 20, + ), + D = 1; + D < I; + D++ + ) { + var z = D / I; + if (0.5 !== z) { + var R = z - 0.5; + z += + z * + R * + (z - 1) * + ((1.0904 + + x * + (x * + (3.55645 - 1.43519 * x) - + 3.2452)) * + R * + R + + (0.848013 + + x * + (0.215638 * x - + 1.06021))); + } + var F = g + .sub(v) + ._mult(z) + ._add(v) + ._unit() + ._mult(k ? -1 : 1); + this.addHalfVertex( + c, + F.x, + F.y, + !1, + k, + 0, + h, + ); + } + d && + this.addCurrentVertex( + c, + g, + -O, + -P, + h, + ); + } else if ("butt" === E) + this.addCurrentVertex(c, m, 0, 0, h); + else if ("square" === E) { + var B = p ? 1 : -1; + this.addCurrentVertex(c, m, B, B, h); + } else + "round" === E && + (p && + (this.addCurrentVertex( + c, + v, + 0, + 0, + h, + ), + this.addCurrentVertex( + c, + v, + 1, + 1, + h, + !0, + )), + d && + (this.addCurrentVertex( + c, + g, + -1, + -1, + h, + !0, + ), + this.addCurrentVertex( + c, + g, + 0, + 0, + h, + ))); + if (T && y < l - 1) { + var N = c.dist(d); + if (N > 2 * f) { + var j = c.add( + d + .sub(c) + ._mult(f / N) + ._round(), + ); + this.updateDistance(c, j), + this.addCurrentVertex( + j, + g, + 0, + 0, + h, + ), + (c = j); + } + } + } + } + }), + (ol.prototype.addCurrentVertex = function ( + t, + e, + r, + n, + i, + a, + ) { + void 0 === a && (a = !1); + var o = e.x + e.y * r, + s = e.y - e.x * r, + l = -e.x + e.y * n, + u = -e.y - e.x * n; + this.addHalfVertex(t, o, s, a, !1, r, i), + this.addHalfVertex(t, l, u, a, !0, -n, i), + this.distance > al / 2 && + 0 === this.totalDistance && + ((this.distance = 0), + this.addCurrentVertex(t, e, r, n, i, a)); + }), + (ol.prototype.addHalfVertex = function ( + t, + e, + r, + n, + i, + a, + o, + ) { + var s = t.x, + l = t.y, + u = 0.5 * this.scaledDistance; + this.layoutVertexArray.emplaceBack( + (s << 1) + (n ? 1 : 0), + (l << 1) + (i ? 1 : 0), + Math.round(63 * e) + 128, + Math.round(63 * r) + 128, + (1 + (0 === a ? 0 : a < 0 ? -1 : 1)) | + ((63 & u) << 2), + u >> 6, + ); + var c = o.vertexLength++; + this.e1 >= 0 && + this.e2 >= 0 && + (this.indexArray.emplaceBack( + this.e1, + this.e2, + c, + ), + o.primitiveLength++), + i ? (this.e2 = c) : (this.e1 = c); + }), + (ol.prototype.updateScaledDistance = function () { + this.scaledDistance = + this.totalDistance > 0 + ? (this.clipStart + + ((this.clipEnd - this.clipStart) * + this.distance) / + this.totalDistance) * + (al - 1) + : this.distance; + }), + (ol.prototype.updateDistance = function (t, e) { + (this.distance += t.dist(e)), + this.updateScaledDistance(); + }), + Qn("LineBucket", ol, { + omit: ["layers", "patternFeatures"], + }); + var sl = new Ui({ + "line-cap": new Ri(It.layout_line["line-cap"]), + "line-join": new Fi( + It.layout_line["line-join"], + ), + "line-miter-limit": new Ri( + It.layout_line["line-miter-limit"], + ), + "line-round-limit": new Ri( + It.layout_line["line-round-limit"], + ), + "line-sort-key": new Fi( + It.layout_line["line-sort-key"], + ), + }), + ll = { + paint: new Ui({ + "line-opacity": new Fi( + It.paint_line["line-opacity"], + ), + "line-color": new Fi( + It.paint_line["line-color"], + ), + "line-translate": new Ri( + It.paint_line["line-translate"], + ), + "line-translate-anchor": new Ri( + It.paint_line["line-translate-anchor"], + ), + "line-width": new Fi( + It.paint_line["line-width"], + ), + "line-gap-width": new Fi( + It.paint_line["line-gap-width"], + ), + "line-offset": new Fi( + It.paint_line["line-offset"], + ), + "line-blur": new Fi( + It.paint_line["line-blur"], + ), + "line-dasharray": new Ni( + It.paint_line["line-dasharray"], + ), + "line-pattern": new Bi( + It.paint_line["line-pattern"], + ), + "line-gradient": new ji( + It.paint_line["line-gradient"], + ), + }), + layout: sl, + }, + ul = (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 Si(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, + i, + ) { + return ( + (r = f({}, r, { + zoom: Math.floor(r.zoom), + })), + t.prototype.evaluate.call( + this, + e, + r, + n, + i, + ) + ); + }), + e + ); + })(Fi), + cl = new ul( + ll.paint.properties["line-width"].specification, + ); + cl.useIntegerZoom = !0; + var fl = (function (t) { + function e(e) { + t.call(this, e, ll); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._handleSpecialPaintPropertyUpdate = + function (t) { + "line-gradient" === t && + this._updateGradient(); + }), + (e.prototype._updateGradient = function () { + var t = + this._transitionablePaint._values[ + "line-gradient" + ].value.expression; + (this.gradient = Zo(t, "lineProgress")), + (this.gradientTexture = null); + }), + (e.prototype.recalculate = function (e, r) { + t.prototype.recalculate.call(this, e, r), + (this.paint._values["line-floorwidth"] = + cl.possiblyEvaluate( + this._transitioningPaint._values[ + "line-width" + ].value, + e, + )); + }), + (e.prototype.createBucket = function (t) { + return new ol(t); + }), + (e.prototype.queryRadius = function (t) { + var e = t, + r = hl( + ko("line-width", this, e), + ko("line-gap-width", this, e), + ), + n = ko("line-offset", this, e); + return ( + r / 2 + + Math.abs(n) + + Ao(this.paint.get("line-translate")) + ); + }), + (e.prototype.queryIntersectsFeature = function ( + t, + e, + r, + n, + i, + o, + s, + ) { + var l = Mo( + t, + this.paint.get("line-translate"), + this.paint.get("line-translate-anchor"), + o.angle, + s, + ), + u = + (s / 2) * + hl( + this.paint + .get("line-width") + .evaluate(e, r), + this.paint + .get("line-gap-width") + .evaluate(e, r), + ), + c = this.paint + .get("line-offset") + .evaluate(e, r); + return ( + c && + (n = (function (t, e) { + for ( + var r = [], n = new a(0, 0), i = 0; + i < t.length; + i++ + ) { + for ( + var o = t[i], s = [], l = 0; + l < o.length; + l++ + ) { + var u = o[l - 1], + c = o[l], + f = o[l + 1], + h = + 0 === l + ? n + : c.sub(u)._unit()._perp(), + p = + l === o.length - 1 + ? n + : f.sub(c)._unit()._perp(), + d = h._add(p)._unit(), + v = d.x * p.x + d.y * p.y; + d._mult(1 / v), + s.push(d._mult(e)._add(c)); + } + r.push(s); + } + return r; + })(n, c * s)), + (function (t, e, r) { + for (var n = 0; n < e.length; n++) { + var i = e[n]; + if (t.length >= 3) + for (var a = 0; a < i.length; a++) + if (wo(t, i[a])) return !0; + if (go(t, i, r)) return !0; + } + return !1; + })(l, n, u) + ); + }), + (e.prototype.isTileClipped = function () { + return !0; + }), + e + ); + })(Hi); + function hl(t, e) { + return e > 0 ? e + 2 * t : t; + } + var pl = Wi( + [ + { + name: "a_pos_offset", + components: 4, + type: "Int16", + }, + { + name: "a_data", + components: 4, + type: "Uint16", + }, + { + name: "a_pixeloffset", + components: 4, + type: "Int16", + }, + ], + 4, + ), + dl = Wi( + [ + { + name: "a_projected_pos", + components: 3, + type: "Float32", + }, + ], + 4, + ), + vl = + (Wi( + [ + { + name: "a_fade_opacity", + components: 1, + type: "Uint32", + }, + ], + 4, + ), + Wi([ + { + name: "a_placed", + components: 2, + type: "Uint8", + }, + { + name: "a_shift", + components: 2, + type: "Float32", + }, + ])), + gl = + (Wi([ + { 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" }, + ]), + Wi( + [ + { + name: "a_pos", + components: 2, + type: "Int16", + }, + { + name: "a_anchor_pos", + components: 2, + type: "Int16", + }, + { + name: "a_extrude", + components: 2, + type: "Int16", + }, + ], + 4, + )), + yl = Wi( + [ + { + name: "a_pos", + components: 2, + type: "Float32", + }, + { + name: "a_radius", + components: 1, + type: "Float32", + }, + { + name: "a_flags", + components: 2, + type: "Int16", + }, + ], + 4, + ); + function ml(t, e, r) { + return ( + t.sections.forEach(function (t) { + t.text = (function (t, e, r) { + var n = e.layout + .get("text-transform") + .evaluate(r, {}); + return ( + "uppercase" === n + ? (t = t.toLocaleUpperCase()) + : "lowercase" === n && + (t = t.toLocaleLowerCase()), + Mi.applyArabicShaping && + (t = Mi.applyArabicShaping(t)), + t + ); + })(t.text, e, r); + }), + t + ); + } + Wi([ + { + name: "triangle", + components: 3, + type: "Uint16", + }, + ]), + Wi([ + { 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: "placedOrientation" }, + { type: "Uint8", name: "hidden" }, + { type: "Uint32", name: "crossTileID" }, + { type: "Int16", name: "associatedIconIndex" }, + ]), + Wi([ + { type: "Int16", name: "anchorX" }, + { type: "Int16", name: "anchorY" }, + { + type: "Int16", + name: "rightJustifiedTextSymbolIndex", + }, + { + type: "Int16", + name: "centerJustifiedTextSymbolIndex", + }, + { + type: "Int16", + name: "leftJustifiedTextSymbolIndex", + }, + { + type: "Int16", + name: "verticalPlacedTextSymbolIndex", + }, + { + type: "Int16", + name: "placedIconSymbolIndex", + }, + { + type: "Int16", + name: "verticalPlacedIconSymbolIndex", + }, + { type: "Uint16", name: "key" }, + { type: "Uint16", name: "textBoxStartIndex" }, + { type: "Uint16", name: "textBoxEndIndex" }, + { + type: "Uint16", + name: "verticalTextBoxStartIndex", + }, + { + type: "Uint16", + name: "verticalTextBoxEndIndex", + }, + { type: "Uint16", name: "iconBoxStartIndex" }, + { type: "Uint16", name: "iconBoxEndIndex" }, + { + type: "Uint16", + name: "verticalIconBoxStartIndex", + }, + { + type: "Uint16", + name: "verticalIconBoxEndIndex", + }, + { type: "Uint16", name: "featureIndex" }, + { + type: "Uint16", + name: "numHorizontalGlyphVertices", + }, + { + type: "Uint16", + name: "numVerticalGlyphVertices", + }, + { type: "Uint16", name: "numIconVertices" }, + { + type: "Uint16", + name: "numVerticalIconVertices", + }, + { + type: "Uint16", + name: "useRuntimeCollisionCircles", + }, + { type: "Uint32", name: "crossTileID" }, + { type: "Float32", name: "textBoxScale" }, + { + type: "Float32", + components: 2, + name: "textOffset", + }, + { + type: "Float32", + name: "collisionCircleDiameter", + }, + ]), + Wi([{ type: "Float32", name: "offsetX" }]), + Wi([ + { type: "Int16", name: "x" }, + { type: "Int16", name: "y" }, + { + type: "Int16", + name: "tileUnitDistanceFromAnchor", + }, + ]); + var xl = { + "!": "︕", + "#": "#", + $: "$", + "%": "%", + "&": "&", + "(": "︵", + ")": "︶", + "*": "*", + "+": "+", + ",": "︐", + "-": "︲", + ".": "・", + "/": "/", + ":": "︓", + ";": "︔", + "<": "︿", + "=": "=", + ">": "﹀", + "?": "︖", + "@": "@", + "[": "﹇", + "\\": "\", + "]": "﹈", + "^": "^", + _: "︳", + "`": "`", + "{": "︷", + "|": "―", + "}": "︸", + "~": "~", + "¢": "¢", + "£": "£", + "¥": "¥", + "¦": "¦", + "¬": "¬", + "¯": " ̄", + "–": "︲", + "—": "︱", + "‘": "﹃", + "’": "﹄", + "“": "﹁", + "”": "﹂", + "…": "︙", + "‧": "・", + "₩": "₩", + "、": "︑", + "。": "︒", + "〈": "︿", + "〉": "﹀", + "《": "︽", + "》": "︾", + "「": "﹁", + "」": "﹂", + "『": "﹃", + "』": "﹄", + "【": "︻", + "】": "︼", + "〔": "︹", + "〕": "︺", + "〖": "︗", + "〗": "︘", + "!": "︕", + "(": "︵", + ")": "︶", + ",": "︐", + "-": "︲", + ".": "・", + ":": "︓", + ";": "︔", + "<": "︿", + ">": "﹀", + "?": "︖", + "[": "﹇", + "]": "﹈", + "_": "︳", + "{": "︷", + "|": "―", + "}": "︸", + "⦅": "︵", + "⦆": "︶", + "。": "︒", + "「": "﹁", + "」": "﹂", + }; + var bl = 24, + _l = function (t, e, r, n, i) { + var a, + o, + s = 8 * i - n - 1, + l = (1 << s) - 1, + u = l >> 1, + c = -7, + f = r ? i - 1 : 0, + h = r ? -1 : 1, + p = t[e + f]; + for ( + f += h, + a = p & ((1 << -c) - 1), + p >>= -c, + c += s; + c > 0; + a = 256 * a + t[e + f], f += h, c -= 8 + ); + for ( + o = a & ((1 << -c) - 1), a >>= -c, c += n; + c > 0; + o = 256 * o + t[e + f], f += h, 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); + }, + wl = function (t, e, r, n, i, a) { + var o, + s, + l, + u = 8 * a - i - 1, + c = (1 << u) - 1, + f = c >> 1, + h = + 23 === i + ? Math.pow(2, -24) - Math.pow(2, -77) + : 0, + p = n ? 0 : a - 1, + d = n ? 1 : -1, + v = 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 + f >= 1 + ? h / l + : h * Math.pow(2, 1 - f)) * + l >= + 2 && (o++, (l /= 2)), + o + f >= c + ? ((s = 0), (o = c)) + : o + f >= 1 + ? ((s = (e * l - 1) * Math.pow(2, i)), + (o += f)) + : ((s = + e * + Math.pow(2, f - 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 * v; + }, + Tl = kl; + function kl(t) { + (this.buf = + ArrayBuffer.isView && ArrayBuffer.isView(t) + ? t + : new Uint8Array(t || 0)), + (this.pos = 0), + (this.type = 0), + (this.length = this.buf.length); + } + (kl.Varint = 0), + (kl.Fixed64 = 1), + (kl.Bytes = 2), + (kl.Fixed32 = 5); + var Al = 4294967296, + Ml = 1 / Al, + Sl = + "undefined" == typeof TextDecoder + ? null + : new TextDecoder("utf8"); + function El(t) { + return t.type === kl.Bytes + ? t.readVarint() + t.pos + : t.pos + 1; + } + function Ll(t, e, r) { + return r + ? 4294967296 * e + (t >>> 0) + : 4294967296 * (e >>> 0) + (t >>> 0); + } + function Cl(t, e, r) { + var n = + e <= 16383 + ? 1 + : e <= 2097151 + ? 2 + : e <= 268435455 + ? 3 + : Math.floor(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 Ol(t, e) { + for (var r = 0; r < t.length; r++) + e.writeVarint(t[r]); + } + function Pl(t, e) { + for (var r = 0; r < t.length; r++) + e.writeSVarint(t[r]); + } + function Il(t, e) { + for (var r = 0; r < t.length; r++) + e.writeFloat(t[r]); + } + function Dl(t, e) { + for (var r = 0; r < t.length; r++) + e.writeDouble(t[r]); + } + function zl(t, e) { + for (var r = 0; r < t.length; r++) + e.writeBoolean(t[r]); + } + function Rl(t, e) { + for (var r = 0; r < t.length; r++) + e.writeFixed32(t[r]); + } + function Fl(t, e) { + for (var r = 0; r < t.length; r++) + e.writeSFixed32(t[r]); + } + function Bl(t, e) { + for (var r = 0; r < t.length; r++) + e.writeFixed64(t[r]); + } + function Nl(t, e) { + for (var r = 0; r < t.length; r++) + e.writeSFixed64(t[r]); + } + function jl(t, e) { + return ( + (t[e] | (t[e + 1] << 8) | (t[e + 2] << 16)) + + 16777216 * t[e + 3] + ); + } + function Ul(t, e, r) { + (t[r] = e), + (t[r + 1] = e >>> 8), + (t[r + 2] = e >>> 16), + (t[r + 3] = e >>> 24); + } + function Vl(t, e) { + return ( + (t[e] | (t[e + 1] << 8) | (t[e + 2] << 16)) + + (t[e + 3] << 24) + ); + } + kl.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 = jl(this.buf, this.pos); + return (this.pos += 4), t; + }, + readSFixed32: function () { + var t = Vl(this.buf, this.pos); + return (this.pos += 4), t; + }, + readFixed64: function () { + var t = + jl(this.buf, this.pos) + + jl(this.buf, this.pos + 4) * Al; + return (this.pos += 8), t; + }, + readSFixed64: function () { + var t = + jl(this.buf, this.pos) + + Vl(this.buf, this.pos + 4) * Al; + return (this.pos += 8), t; + }, + readFloat: function () { + var t = _l(this.buf, this.pos, !0, 23, 4); + return (this.pos += 4), t; + }, + readDouble: function () { + var t = _l(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, + a = r.buf; + if ( + ((n = + (112 & + (i = a[r.pos++])) >> + 4), + i < 128) + ) + return Ll(t, n, e); + if ( + ((n |= + (127 & + (i = a[r.pos++])) << + 3), + i < 128) + ) + return Ll(t, n, e); + if ( + ((n |= + (127 & + (i = a[r.pos++])) << + 10), + i < 128) + ) + return Ll(t, n, e); + if ( + ((n |= + (127 & + (i = a[r.pos++])) << + 17), + i < 128) + ) + return Ll(t, n, e); + if ( + ((n |= + (127 & + (i = a[r.pos++])) << + 24), + i < 128) + ) + return Ll(t, n, e); + if ( + ((n |= + (1 & + (i = a[r.pos++])) << + 31), + i < 128) + ) + return Ll(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 = this.pos; + return ( + (this.pos = t), + t - e >= 12 && Sl + ? (function (t, e, r) { + return Sl.decode(t.subarray(e, r)); + })(this.buf, e, t) + : (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, e, t) + ); + }, + readBytes: function () { + var t = this.readVarint() + this.pos, + e = this.buf.subarray(this.pos, t); + return (this.pos = t), e; + }, + readPackedVarint: function (t, e) { + if (this.type !== kl.Bytes) + return t.push(this.readVarint(e)); + var r = El(this); + for (t = t || []; this.pos < r; ) + t.push(this.readVarint(e)); + return t; + }, + readPackedSVarint: function (t) { + if (this.type !== kl.Bytes) + return t.push(this.readSVarint()); + var e = El(this); + for (t = t || []; this.pos < e; ) + t.push(this.readSVarint()); + return t; + }, + readPackedBoolean: function (t) { + if (this.type !== kl.Bytes) + return t.push(this.readBoolean()); + var e = El(this); + for (t = t || []; this.pos < e; ) + t.push(this.readBoolean()); + return t; + }, + readPackedFloat: function (t) { + if (this.type !== kl.Bytes) + return t.push(this.readFloat()); + var e = El(this); + for (t = t || []; this.pos < e; ) + t.push(this.readFloat()); + return t; + }, + readPackedDouble: function (t) { + if (this.type !== kl.Bytes) + return t.push(this.readDouble()); + var e = El(this); + for (t = t || []; this.pos < e; ) + t.push(this.readDouble()); + return t; + }, + readPackedFixed32: function (t) { + if (this.type !== kl.Bytes) + return t.push(this.readFixed32()); + var e = El(this); + for (t = t || []; this.pos < e; ) + t.push(this.readFixed32()); + return t; + }, + readPackedSFixed32: function (t) { + if (this.type !== kl.Bytes) + return t.push(this.readSFixed32()); + var e = El(this); + for (t = t || []; this.pos < e; ) + t.push(this.readSFixed32()); + return t; + }, + readPackedFixed64: function (t) { + if (this.type !== kl.Bytes) + return t.push(this.readFixed64()); + var e = El(this); + for (t = t || []; this.pos < e; ) + t.push(this.readFixed64()); + return t; + }, + readPackedSFixed64: function (t) { + if (this.type !== kl.Bytes) + return t.push(this.readSFixed64()); + var e = El(this); + for (t = t || []; this.pos < e; ) + t.push(this.readSFixed64()); + return t; + }, + skip: function (t) { + var e = 7 & t; + if (e === kl.Varint) + for (; this.buf[this.pos++] > 127; ); + else if (e === kl.Bytes) + this.pos = this.readVarint() + this.pos; + else if (e === kl.Fixed32) this.pos += 4; + else { + if (e !== kl.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), + Ul(this.buf, t, this.pos), + (this.pos += 4); + }, + writeSFixed32: function (t) { + this.realloc(4), + Ul(this.buf, t, this.pos), + (this.pos += 4); + }, + writeFixed64: function (t) { + this.realloc(8), + Ul(this.buf, -1 & t, this.pos), + Ul( + this.buf, + Math.floor(t * Ml), + this.pos + 4, + ), + (this.pos += 8); + }, + writeSFixed64: function (t) { + this.realloc(8), + Ul(this.buf, -1 & t, this.pos), + Ul( + this.buf, + Math.floor(t * Ml), + 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 && Cl(e, r, this), + (this.pos = e - 1), + this.writeVarint(r), + (this.pos += r); + }, + writeFloat: function (t) { + this.realloc(4), + wl(this.buf, t, this.pos, !0, 23, 4), + (this.pos += 4); + }, + writeDouble: function (t) { + this.realloc(8), + wl(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 && Cl(r, n, this), + (this.pos = r - 1), + this.writeVarint(n), + (this.pos += n); + }, + writeMessage: function (t, e, r) { + this.writeTag(t, kl.Bytes), + this.writeRawMessage(e, r); + }, + writePackedVarint: function (t, e) { + e.length && this.writeMessage(t, Ol, e); + }, + writePackedSVarint: function (t, e) { + e.length && this.writeMessage(t, Pl, e); + }, + writePackedBoolean: function (t, e) { + e.length && this.writeMessage(t, zl, e); + }, + writePackedFloat: function (t, e) { + e.length && this.writeMessage(t, Il, e); + }, + writePackedDouble: function (t, e) { + e.length && this.writeMessage(t, Dl, e); + }, + writePackedFixed32: function (t, e) { + e.length && this.writeMessage(t, Rl, e); + }, + writePackedSFixed32: function (t, e) { + e.length && this.writeMessage(t, Fl, e); + }, + writePackedFixed64: function (t, e) { + e.length && this.writeMessage(t, Bl, e); + }, + writePackedSFixed64: function (t, e) { + e.length && this.writeMessage(t, Nl, e); + }, + writeBytesField: function (t, e) { + this.writeTag(t, kl.Bytes), this.writeBytes(e); + }, + writeFixed32Field: function (t, e) { + this.writeTag(t, kl.Fixed32), + this.writeFixed32(e); + }, + writeSFixed32Field: function (t, e) { + this.writeTag(t, kl.Fixed32), + this.writeSFixed32(e); + }, + writeFixed64Field: function (t, e) { + this.writeTag(t, kl.Fixed64), + this.writeFixed64(e); + }, + writeSFixed64Field: function (t, e) { + this.writeTag(t, kl.Fixed64), + this.writeSFixed64(e); + }, + writeVarintField: function (t, e) { + this.writeTag(t, kl.Varint), + this.writeVarint(e); + }, + writeSVarintField: function (t, e) { + this.writeTag(t, kl.Varint), + this.writeSVarint(e); + }, + writeStringField: function (t, e) { + this.writeTag(t, kl.Bytes), this.writeString(e); + }, + writeFloatField: function (t, e) { + this.writeTag(t, kl.Fixed32), + this.writeFloat(e); + }, + writeDoubleField: function (t, e) { + this.writeTag(t, kl.Fixed64), + this.writeDouble(e); + }, + writeBooleanField: function (t, e) { + this.writeVarintField(t, Boolean(e)); + }, + }; + function Hl(t, e, r) { + 1 === t && r.readMessage(ql, e); + } + function ql(t, e, r) { + if (3 === t) { + var n = r.readMessage(Gl, {}), + i = n.id, + a = n.bitmap, + o = n.width, + s = n.height, + l = n.left, + u = n.top, + c = n.advance; + e.push({ + id: i, + bitmap: new Ho( + { width: o + 6, height: s + 6 }, + a, + ), + metrics: { + width: o, + height: s, + left: l, + top: u, + advance: c, + }, + }); + } + } + function Gl(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()); + } + function Zl(t) { + for ( + var e = 0, r = 0, n = 0, i = t; + n < i.length; + n += 1 + ) { + var a = i[n]; + (e += a.w * a.h), (r = Math.max(r, a.w)); + } + t.sort(function (t, e) { + return e.h - t.h; + }); + for ( + var o = [ + { + x: 0, + y: 0, + w: Math.max( + Math.ceil(Math.sqrt(e / 0.95)), + r, + ), + h: 1 / 0, + }, + ], + s = 0, + l = 0, + u = 0, + c = t; + u < c.length; + u += 1 + ) + for ( + var f = c[u], h = o.length - 1; + h >= 0; + h-- + ) { + var p = o[h]; + if (!(f.w > p.w || f.h > p.h)) { + if ( + ((f.x = p.x), + (f.y = p.y), + (l = Math.max(l, f.y + f.h)), + (s = Math.max(s, f.x + f.w)), + f.w === p.w && f.h === p.h) + ) { + var d = o.pop(); + h < o.length && (o[h] = d); + } else + f.h === p.h + ? ((p.x += f.w), (p.w -= f.w)) + : f.w === p.w + ? ((p.y += f.h), (p.h -= f.h)) + : (o.push({ + x: p.x + f.w, + y: p.y, + w: p.w - f.w, + h: f.h, + }), + (p.y += f.h), + (p.h -= f.h)); + break; + } + } + return { w: s, h: l, fill: e / (s * l) || 0 }; + } + var Wl = function (t, e) { + var r = e.pixelRatio, + n = e.version, + i = e.stretchX, + a = e.stretchY, + o = e.content; + (this.paddedRect = t), + (this.pixelRatio = r), + (this.stretchX = i), + (this.stretchY = a), + (this.content = o), + (this.version = n); + }, + Yl = { + tl: { configurable: !0 }, + br: { configurable: !0 }, + tlbr: { configurable: !0 }, + displaySize: { configurable: !0 }, + }; + (Yl.tl.get = function () { + return [ + this.paddedRect.x + 1, + this.paddedRect.y + 1, + ]; + }), + (Yl.br.get = function () { + return [ + this.paddedRect.x + this.paddedRect.w - 1, + this.paddedRect.y + this.paddedRect.h - 1, + ]; + }), + (Yl.tlbr.get = function () { + return this.tl.concat(this.br); + }), + (Yl.displaySize.get = function () { + return [ + (this.paddedRect.w - 2) / this.pixelRatio, + (this.paddedRect.h - 2) / this.pixelRatio, + ]; + }), + Object.defineProperties(Wl.prototype, Yl); + var Xl = function (t, e) { + var r = {}, + n = {}; + this.haveRenderCallbacks = []; + var i = []; + this.addImages(t, r, i), this.addImages(e, n, i); + var a = Zl(i), + o = a.w, + s = a.h, + l = new qo({ width: o || 1, height: s || 1 }); + for (var u in t) { + var c = t[u], + f = r[u].paddedRect; + qo.copy( + c.data, + l, + { x: 0, y: 0 }, + { x: f.x + 1, y: f.y + 1 }, + c.data, + ); + } + for (var h in e) { + var p = e[h], + d = n[h].paddedRect, + v = d.x + 1, + g = d.y + 1, + y = p.data.width, + m = p.data.height; + qo.copy( + p.data, + l, + { x: 0, y: 0 }, + { x: v, y: g }, + p.data, + ), + qo.copy( + p.data, + l, + { x: 0, y: m - 1 }, + { x: v, y: g - 1 }, + { width: y, height: 1 }, + ), + qo.copy( + p.data, + l, + { x: 0, y: 0 }, + { x: v, y: g + m }, + { width: y, height: 1 }, + ), + qo.copy( + p.data, + l, + { x: y - 1, y: 0 }, + { x: v - 1, y: g }, + { width: 1, height: m }, + ), + qo.copy( + p.data, + l, + { x: 0, y: 0 }, + { x: v + y, y: g }, + { width: 1, height: m }, + ); + } + (this.image = l), + (this.iconPositions = r), + (this.patternPositions = n); + }; + (Xl.prototype.addImages = function (t, e, r) { + for (var n in t) { + var i = t[n], + a = { + x: 0, + y: 0, + w: i.data.width + 2, + h: i.data.height + 2, + }; + r.push(a), + (e[n] = new Wl(a, i)), + i.hasRenderCallback && + this.haveRenderCallbacks.push(n); + } + }), + (Xl.prototype.patchUpdatedImages = function ( + t, + e, + ) { + for (var r in (t.dispatchRenderCallbacks( + this.haveRenderCallbacks, + ), + t.updatedImages)) + this.patchUpdatedImage( + this.iconPositions[r], + t.getImage(r), + e, + ), + this.patchUpdatedImage( + this.patternPositions[r], + t.getImage(r), + e, + ); + }), + (Xl.prototype.patchUpdatedImage = function ( + t, + e, + r, + ) { + if (t && e && t.version !== e.version) { + t.version = e.version; + var n = t.tl, + i = n[0], + a = n[1]; + r.update(e.data, void 0, { x: i, y: a }); + } + }), + Qn("ImagePosition", Wl), + Qn("ImageAtlas", Xl); + var Jl = { + horizontal: 1, + vertical: 2, + horizontalOnly: 3, + }, + Kl = -17; + var $l = function () { + (this.scale = 1), + (this.fontStack = ""), + (this.imageName = null); + }; + ($l.forText = function (t, e) { + var r = new $l(); + return (r.scale = t || 1), (r.fontStack = e), r; + }), + ($l.forImage = function (t) { + var e = new $l(); + return (e.imageName = t), e; + }); + var Ql = function () { + (this.text = ""), + (this.sectionIndex = []), + (this.sections = []), + (this.imageSectionID = null); + }; + function tu( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + ) { + var g, + y = Ql.fromFeature(t, i); + f === Jl.vertical && y.verticalizePunctuation(); + var m = Mi.processBidirectionalText, + x = Mi.processStyledBidirectionalText; + if (m && 1 === y.sections.length) { + g = []; + for ( + var b = 0, + _ = m( + y.toString(), + lu(y, u, a, e, n, p, d), + ); + b < _.length; + b += 1 + ) { + var w = _[b], + T = new Ql(); + (T.text = w), (T.sections = y.sections); + for (var k = 0; k < w.length; k++) + T.sectionIndex.push(0); + g.push(T); + } + } else if (x) { + g = []; + for ( + var A = 0, + M = x( + y.text, + y.sectionIndex, + lu(y, u, a, e, n, p, d), + ); + A < M.length; + A += 1 + ) { + var S = M[A], + E = new Ql(); + (E.text = S[0]), + (E.sectionIndex = S[1]), + (E.sections = y.sections), + g.push(E); + } + } else + g = (function (t, e) { + for ( + var r = [], n = t.text, i = 0, a = 0, o = e; + a < o.length; + a += 1 + ) { + var s = o[a]; + r.push(t.substring(i, s)), (i = s); + } + return ( + i < n.length && + r.push(t.substring(i, n.length)), + r + ); + })(y, lu(y, u, a, e, n, p, d)); + var L = [], + C = { + positionedLines: L, + text: y.toString(), + top: c[1], + bottom: c[1], + left: c[0], + right: c[0], + writingMode: f, + iconsInText: !1, + verticalizable: !1, + }; + return ( + (function (t, e, r, n, i, a, o, s, l, u, c, f) { + for ( + var h = 0, + p = Kl, + d = 0, + v = 0, + g = + "right" === s + ? 1 + : "left" === s + ? 0 + : 0.5, + y = 0, + m = 0, + x = i; + m < x.length; + m += 1 + ) { + var b = x[m]; + b.trim(); + var _ = b.getMaxScale(), + w = (_ - 1) * bl, + T = { + positionedGlyphs: [], + lineOffset: 0, + }; + t.positionedLines[y] = T; + var k = T.positionedGlyphs, + A = 0; + if (b.length()) { + for (var M = 0; M < b.length(); M++) { + var S = b.getSection(M), + E = b.getSectionIndex(M), + L = b.getCharCode(M), + C = 0, + O = null, + P = null, + I = null, + D = bl, + z = !( + l === Jl.horizontal || + (!c && !li(L)) || + (c && (eu[L] || ci(L))) + ); + if (S.imageName) { + var R = n[S.imageName]; + if (!R) continue; + (I = S.imageName), + (t.iconsInText = + t.iconsInText || !0), + (P = R.paddedRect); + var F = R.displaySize; + (S.scale = (S.scale * bl) / f), + (O = { + width: F[0], + height: F[1], + left: 1, + top: -3, + advance: z ? F[1] : F[0], + }), + (C = w + (bl - F[1] * S.scale)), + (D = O.advance); + var B = z + ? F[0] * S.scale - bl * _ + : F[1] * S.scale - bl * _; + B > 0 && B > A && (A = B); + } else { + var N = r[S.fontStack], + j = N && N[L]; + if (j && j.rect) + (P = j.rect), (O = j.metrics); + else { + var U = e[S.fontStack], + V = U && U[L]; + if (!V) continue; + O = V.metrics; + } + C = (_ - S.scale) * bl; + } + z + ? ((t.verticalizable = !0), + k.push({ + glyph: L, + imageName: I, + x: h, + y: p + C, + vertical: z, + scale: S.scale, + fontStack: S.fontStack, + sectionIndex: E, + metrics: O, + rect: P, + }), + (h += D * S.scale + u)) + : (k.push({ + glyph: L, + imageName: I, + x: h, + y: p + C, + vertical: z, + scale: S.scale, + fontStack: S.fontStack, + sectionIndex: E, + metrics: O, + rect: P, + }), + (h += O.advance * S.scale + u)); + } + if (0 !== k.length) { + var H = h - u; + (d = Math.max(H, d)), + cu(k, 0, k.length - 1, g, A); + } + h = 0; + var q = a * _ + A; + (T.lineOffset = Math.max(A, w)), + (p += q), + (v = Math.max(q, v)), + ++y; + } else (p += a), ++y; + } + var G = p - Kl, + Z = uu(o), + W = Z.horizontalAlign, + Y = Z.verticalAlign; + (function (t, e, r, n, i, a, o, s, l) { + var u = (e - r) * i, + c = 0; + c = + a !== o + ? -s * n - Kl + : (-n * l + 0.5) * o; + for (var f = 0, h = t; f < h.length; f += 1) + for ( + var p = 0, d = h[f].positionedGlyphs; + p < d.length; + p += 1 + ) { + var v = d[p]; + (v.x += u), (v.y += c); + } + })( + t.positionedLines, + g, + W, + Y, + d, + v, + a, + G, + i.length, + ), + (t.top += -Y * G), + (t.bottom = t.top + G), + (t.left += -W * d), + (t.right = t.left + d); + })(C, e, r, n, g, o, s, l, f, u, h, v), + !(function (t) { + for (var e = 0, r = t; e < r.length; e += 1) + if (0 !== r[e].positionedGlyphs.length) + return !1; + return !0; + })(L) && C + ); + } + (Ql.fromFeature = function (t, e) { + for ( + var r = new Ql(), n = 0; + n < t.sections.length; + n++ + ) { + var i = t.sections[n]; + i.image + ? r.addImageSection(i) + : r.addTextSection(i, e); + } + return r; + }), + (Ql.prototype.length = function () { + return this.text.length; + }), + (Ql.prototype.getSection = function (t) { + return this.sections[this.sectionIndex[t]]; + }), + (Ql.prototype.getSectionIndex = function (t) { + return this.sectionIndex[t]; + }), + (Ql.prototype.getCharCode = function (t) { + return this.text.charCodeAt(t); + }), + (Ql.prototype.verticalizePunctuation = + function () { + this.text = (function (t) { + for (var e = "", r = 0; r < t.length; r++) { + var n = t.charCodeAt(r + 1) || null, + i = t.charCodeAt(r - 1) || null; + (n && ui(n) && !xl[t[r + 1]]) || + (i && ui(i) && !xl[t[r - 1]]) || + !xl[t[r]] + ? (e += t[r]) + : (e += xl[t[r]]); + } + return e; + })(this.text); + }), + (Ql.prototype.trim = function () { + for ( + var t = 0, e = 0; + e < this.text.length && + eu[this.text.charCodeAt(e)]; + e++ + ) + t++; + for ( + var r = this.text.length, + n = this.text.length - 1; + n >= 0 && + n >= t && + eu[this.text.charCodeAt(n)]; + n-- + ) + r--; + (this.text = this.text.substring(t, r)), + (this.sectionIndex = this.sectionIndex.slice( + t, + r, + )); + }), + (Ql.prototype.substring = function (t, e) { + var r = new Ql(); + return ( + (r.text = this.text.substring(t, e)), + (r.sectionIndex = this.sectionIndex.slice( + t, + e, + )), + (r.sections = this.sections), + r + ); + }), + (Ql.prototype.toString = function () { + return this.text; + }), + (Ql.prototype.getMaxScale = function () { + var t = this; + return this.sectionIndex.reduce(function ( + e, + r, + ) { + return Math.max(e, t.sections[r].scale); + }, 0); + }), + (Ql.prototype.addTextSection = function (t, e) { + (this.text += t.text), + this.sections.push( + $l.forText(t.scale, t.fontStack || e), + ); + for ( + var r = this.sections.length - 1, n = 0; + n < t.text.length; + ++n + ) + this.sectionIndex.push(r); + }), + (Ql.prototype.addImageSection = function (t) { + var e = t.image ? t.image.name : ""; + if (0 !== e.length) { + var r = this.getNextImageSectionCharCode(); + r + ? ((this.text += String.fromCharCode(r)), + this.sections.push($l.forImage(e)), + this.sectionIndex.push( + this.sections.length - 1, + )) + : w( + "Reached maximum number of images 6401", + ); + } else + w( + "Can't add FormattedSection with an empty image.", + ); + }), + (Ql.prototype.getNextImageSectionCharCode = + function () { + return this.imageSectionID + ? this.imageSectionID >= 63743 + ? null + : ++this.imageSectionID + : ((this.imageSectionID = 57344), + this.imageSectionID); + }); + var eu = { + 9: !0, + 10: !0, + 11: !0, + 12: !0, + 13: !0, + 32: !0, + }, + ru = {}; + function nu(t, e, r, n, i, a) { + if (e.imageName) { + var o = n[e.imageName]; + return o + ? (o.displaySize[0] * e.scale * bl) / a + i + : 0; + } + var s = r[e.fontStack], + l = s && s[t]; + return l ? l.metrics.advance * e.scale + i : 0; + } + function iu(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 au(t, e, r) { + var n = 0; + return ( + 10 === t && (n -= 1e4), + r && (n += 150), + (40 !== t && 65288 !== t) || (n += 50), + (41 !== e && 65289 !== e) || (n += 50), + n + ); + } + function ou(t, e, r, n, i, a) { + for ( + var o = null, s = iu(e, r, i, a), l = 0, u = n; + l < u.length; + l += 1 + ) { + var c = u[l], + f = iu(e - c.x, r, i, a) + c.badness; + f <= s && ((o = c), (s = f)); + } + return { + index: t, + x: e, + priorBreak: o, + badness: s, + }; + } + function su(t) { + return t ? su(t.priorBreak).concat(t.index) : []; + } + function lu(t, e, r, n, i, a, o) { + if ("point" !== a) return []; + if (!t) return []; + for ( + var s = [], + l = (function (t, e, r, n, i, a) { + for ( + var o = 0, s = 0; + s < t.length(); + s++ + ) { + var l = t.getSection(s); + o += nu(t.getCharCode(s), l, n, i, e, a); + } + return o / Math.max(1, Math.ceil(o / r)); + })(t, e, r, n, i, o), + u = t.text.indexOf("​") >= 0, + c = 0, + f = 0; + f < t.length(); + f++ + ) { + var h = t.getSection(f), + p = t.getCharCode(f); + if ( + (eu[p] || (c += nu(p, h, n, i, e, o)), + f < t.length() - 1) + ) { + var d = !( + (v = p) < 11904 || + !( + oi["Bopomofo Extended"](v) || + oi.Bopomofo(v) || + oi["CJK Compatibility Forms"](v) || + oi["CJK Compatibility Ideographs"](v) || + oi["CJK Compatibility"](v) || + oi["CJK Radicals Supplement"](v) || + oi["CJK Strokes"](v) || + oi["CJK Symbols and Punctuation"](v) || + oi["CJK Unified Ideographs Extension A"]( + v, + ) || + oi["CJK Unified Ideographs"](v) || + oi["Enclosed CJK Letters and Months"]( + v, + ) || + oi["Halfwidth and Fullwidth Forms"](v) || + oi.Hiragana(v) || + oi["Ideographic Description Characters"]( + v, + ) || + oi["Kangxi Radicals"](v) || + oi["Katakana Phonetic Extensions"](v) || + oi.Katakana(v) || + oi["Vertical Forms"](v) || + oi["Yi Radicals"](v) || + oi["Yi Syllables"](v) + ) + ); + (ru[p] || d || h.imageName) && + s.push( + ou( + f + 1, + c, + l, + s, + au(p, t.getCharCode(f + 1), d && u), + !1, + ), + ); + } + } + var v; + return su(ou(t.length(), c, l, s, 0, !0)); + } + function uu(t) { + var e = 0.5, + r = 0.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 cu(t, e, r, n, i) { + if (n || i) + for ( + var a = t[r], + o = a.metrics.advance * a.scale, + s = (t[r].x + o) * n, + l = e; + l <= r; + l++ + ) + (t[l].x -= s), (t[l].y += i); + } + function fu(t, e, r, n, i, a) { + var o, + s = t.image; + if (s.content) { + var l = s.content, + u = s.pixelRatio || 1; + o = [ + l[0] / u, + l[1] / u, + s.displaySize[0] - l[2] / u, + s.displaySize[1] - l[3] / u, + ]; + } + var c, + f, + h, + p, + d = e.left * a, + v = e.right * a; + "width" === r || "both" === r + ? ((p = i[0] + d - n[3]), (f = i[0] + v + n[1])) + : (f = + (p = + i[0] + (d + v - s.displaySize[0]) / 2) + + s.displaySize[0]); + var g = e.top * a, + y = e.bottom * a; + return ( + "height" === r || "both" === r + ? ((c = i[1] + g - n[0]), + (h = i[1] + y + n[2])) + : (h = + (c = + i[1] + (g + y - s.displaySize[1]) / 2) + + s.displaySize[1]), + { + image: s, + top: c, + right: f, + bottom: h, + left: p, + collisionPadding: o, + } + ); + } + (ru[10] = !0), + (ru[32] = !0), + (ru[38] = !0), + (ru[40] = !0), + (ru[41] = !0), + (ru[43] = !0), + (ru[45] = !0), + (ru[47] = !0), + (ru[173] = !0), + (ru[183] = !0), + (ru[8203] = !0), + (ru[8208] = !0), + (ru[8211] = !0), + (ru[8231] = !0); + var hu = (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 + ); + })(a); + Qn("Anchor", hu); + var pu = 128; + function du(t, e) { + var r = e.expression; + if ("constant" === r.kind) + return { + kind: "constant", + layoutSize: r.evaluate(new Si(t + 1)), + }; + if ("source" === r.kind) + return { kind: "source" }; + for ( + var n = r.zoomStops, + i = r.interpolationType, + a = 0; + a < n.length && n[a] <= t; + + ) + a++; + for ( + var o = (a = Math.max(0, a - 1)); + o < n.length && n[o] < t + 1; + + ) + o++; + o = Math.min(n.length - 1, o); + var s = n[a], + l = n[o]; + return "composite" === r.kind + ? { + kind: "composite", + minZoom: s, + maxZoom: l, + interpolationType: i, + } + : { + kind: "camera", + minZoom: s, + maxZoom: l, + minSize: r.evaluate(new Si(s)), + maxSize: r.evaluate(new Si(l)), + interpolationType: i, + }; + } + function vu(t, e, r) { + var n = e.uSize, + i = e.uSizeT, + a = r.lowerSize, + o = r.upperSize; + return "source" === t.kind + ? a / pu + : "composite" === t.kind + ? Ke(a / pu, o / pu, i) + : n; + } + function gu(t, e) { + var r = 0, + n = 0; + if ("constant" === t.kind) n = t.layoutSize; + else if ("source" !== t.kind) { + var i = t.interpolationType, + a = t.minZoom, + o = t.maxZoom, + s = i + ? u( + gr.interpolationFactor(i, e, a, o), + 0, + 1, + ) + : 0; + "camera" === t.kind + ? (n = Ke(t.minSize, t.maxSize, s)) + : (r = s); + } + return { uSizeT: r, uSize: n }; + } + var yu = Object.freeze({ + __proto__: null, + getSizeData: du, + evaluateSizeForFeature: vu, + evaluateSizeForZoom: gu, + SIZE_PACK_FACTOR: pu, + }); + function mu(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], + f = t[o], + h = t[o + 1]; + if (!h) return !1; + var p = c.angleTo(f) - f.angleTo(h); + 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 += f.dist(h)); + } + return !0; + } + function xu(t) { + for (var e = 0, r = 0; r < t.length - 1; r++) + e += t[r].dist(t[r + 1]); + return e; + } + function bu(t, e, r) { + return t ? 0.6 * e * r : 0; + } + function _u(t, e) { + return Math.max( + t ? t.right - t.left : 0, + e ? e.right - e.left : 0, + ); + } + function wu(t, e, r, n, i, a) { + for ( + var o = bu(r, i, a), + s = _u(r, n) * a, + l = 0, + u = xu(t) / 2, + c = 0; + c < t.length - 1; + c++ + ) { + var f = t[c], + h = t[c + 1], + p = f.dist(h); + if (l + p > u) { + var d = (u - l) / p, + v = Ke(f.x, h.x, d), + g = Ke(f.y, h.y, d), + y = new hu(v, g, h.angleTo(f), c); + return ( + y._round(), + !o || mu(t, y, s, o, e) ? y : void 0 + ); + } + l += p; + } + } + function Tu(t, e, r, n, i, a, o, s, l) { + var u = bu(n, a, o), + c = _u(n, i), + f = c * o, + h = + 0 === t[0].x || + t[0].x === l || + 0 === t[0].y || + t[0].y === l; + return ( + e - f < e / 4 && (e = f + e / 4), + ku( + t, + h + ? ((e / 2) * s) % e + : ((c / 2 + 2 * a) * o * s) % e, + e, + u, + r, + f, + h, + !1, + l, + ) + ); + } + function ku(t, e, r, n, i, a, o, s, l) { + for ( + var u = a / 2, + c = xu(t), + f = 0, + h = e - r, + p = [], + d = 0; + d < t.length - 1; + d++ + ) { + for ( + var v = t[d], + g = t[d + 1], + y = v.dist(g), + m = g.angleTo(v); + h + r < f + y; + + ) { + var x = ((h += r) - f) / y, + b = Ke(v.x, g.x, x), + _ = Ke(v.y, g.y, x); + if ( + b >= 0 && + b < l && + _ >= 0 && + _ < l && + h - u >= 0 && + h + u <= c + ) { + var w = new hu(b, _, m, d); + w._round(), + (n && !mu(t, w, a, n, i)) || p.push(w); + } + } + f += y; + } + return ( + s || + p.length || + o || + (p = ku(t, f / 2, r, n, i, a, o, !0, l)), + p + ); + } + function Au(t, e, r, n, i) { + 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 f = l[c], + h = l[c + 1]; + (f.x < e && h.x < e) || + (f.x < e + ? (f = new a( + e, + f.y + + (h.y - f.y) * + ((e - f.x) / (h.x - f.x)), + )._round()) + : h.x < e && + (h = new a( + e, + f.y + + (h.y - f.y) * + ((e - f.x) / (h.x - f.x)), + )._round()), + (f.y < r && h.y < r) || + (f.y < r + ? (f = new a( + f.x + + (h.x - f.x) * + ((r - f.y) / (h.y - f.y)), + r, + )._round()) + : h.y < r && + (h = new a( + f.x + + (h.x - f.x) * + ((r - f.y) / (h.y - f.y)), + r, + )._round()), + (f.x >= n && h.x >= n) || + (f.x >= n + ? (f = new a( + n, + f.y + + (h.y - f.y) * + ((n - f.x) / (h.x - f.x)), + )._round()) + : h.x >= n && + (h = new a( + n, + f.y + + (h.y - f.y) * + ((n - f.x) / (h.x - f.x)), + )._round()), + (f.y >= i && h.y >= i) || + (f.y >= i + ? (f = new a( + f.x + + (h.x - f.x) * + ((i - f.y) / (h.y - f.y)), + i, + )._round()) + : h.y >= i && + (h = new a( + f.x + + (h.x - f.x) * + ((i - f.y) / (h.y - f.y)), + i, + )._round()), + (u && f.equals(u[u.length - 1])) || + ((u = [f]), o.push(u)), + u.push(h))))); + } + return o; + } + function Mu(t, e, r, n) { + var i = [], + o = t.image, + s = o.pixelRatio, + l = o.paddedRect.w - 2, + u = o.paddedRect.h - 2, + c = t.right - t.left, + f = t.bottom - t.top, + h = o.stretchX || [[0, l]], + p = o.stretchY || [[0, u]], + d = function (t, e) { + return t + e[1] - e[0]; + }, + v = h.reduce(d, 0), + g = p.reduce(d, 0), + y = l - v, + m = u - g, + x = 0, + b = v, + _ = 0, + w = g, + T = 0, + k = y, + A = 0, + M = m; + if (o.content && n) { + var S = o.content; + (x = Su(h, 0, S[0])), + (_ = Su(p, 0, S[1])), + (b = Su(h, S[0], S[2])), + (w = Su(p, S[1], S[3])), + (T = S[0] - x), + (A = S[1] - _), + (k = S[2] - S[0] - b), + (M = S[3] - S[1] - w); + } + var E = function (n, i, l, u) { + var h = Lu(n.stretch - x, b, c, t.left), + p = Cu(n.fixed - T, k, n.stretch, v), + d = Lu(i.stretch - _, w, f, t.top), + y = Cu(i.fixed - A, M, i.stretch, g), + m = Lu(l.stretch - x, b, c, t.left), + S = Cu(l.fixed - T, k, l.stretch, v), + E = Lu(u.stretch - _, w, f, t.top), + L = Cu(u.fixed - A, M, u.stretch, g), + C = new a(h, d), + O = new a(m, d), + P = new a(m, E), + I = new a(h, E), + D = new a(p / s, y / s), + z = new a(S / s, L / s), + R = (e * Math.PI) / 180; + if (R) { + var F = Math.sin(R), + B = Math.cos(R), + N = [B, -F, F, B]; + C._matMult(N), + O._matMult(N), + I._matMult(N), + P._matMult(N); + } + var j = n.stretch + n.fixed, + U = l.stretch + l.fixed, + V = i.stretch + i.fixed, + H = u.stretch + u.fixed; + return { + tl: C, + tr: O, + bl: I, + br: P, + tex: { + x: o.paddedRect.x + 1 + j, + y: o.paddedRect.y + 1 + V, + w: U - j, + h: H - V, + }, + writingMode: void 0, + glyphOffset: [0, 0], + sectionIndex: 0, + pixelOffsetTL: D, + pixelOffsetBR: z, + minFontScaleX: k / s / c, + minFontScaleY: M / s / f, + isSDF: r, + }; + }; + if (n && (o.stretchX || o.stretchY)) + for ( + var L = Eu(h, y, v), C = Eu(p, m, g), O = 0; + O < L.length - 1; + O++ + ) + for ( + var P = L[O], I = L[O + 1], D = 0; + D < C.length - 1; + D++ + ) { + var z = C[D], + R = C[D + 1]; + i.push(E(P, z, I, R)); + } + else + i.push( + E( + { fixed: 0, stretch: -1 }, + { fixed: 0, stretch: -1 }, + { fixed: 0, stretch: l + 1 }, + { fixed: 0, stretch: u + 1 }, + ), + ); + return i; + } + function Su(t, e, r) { + for ( + var n = 0, i = 0, a = t; + i < a.length; + i += 1 + ) { + var o = a[i]; + n += + Math.max(e, Math.min(r, o[1])) - + Math.max(e, Math.min(r, o[0])); + } + return n; + } + function Eu(t, e, r) { + for ( + var n = [{ fixed: -1, stretch: 0 }], + i = 0, + a = t; + i < a.length; + i += 1 + ) { + var o = a[i], + s = o[0], + l = o[1], + u = n[n.length - 1]; + n.push({ + fixed: s - u.stretch, + stretch: u.stretch, + }), + n.push({ + fixed: s - u.stretch, + stretch: u.stretch + (l - s), + }); + } + return n.push({ fixed: e + 1, stretch: r }), n; + } + function Lu(t, e, r, n) { + return (t / e) * r + n; + } + function Cu(t, e, r, n) { + return t - (e * r) / n; + } + var Ou = function (t, e, r, n, i, o, s, l, u, c) { + if (((this.boxStartIndex = t.length), u)) { + var f = o.top, + h = o.bottom, + p = o.collisionPadding; + p && ((f -= p[1]), (h += p[3])); + var d = h - f; + d > 0 && + ((d = Math.max(10, d)), + (this.circleDiameter = d)); + } else { + var v = o.top * s - l, + g = o.bottom * s + l, + y = o.left * s - l, + m = o.right * s + l, + x = o.collisionPadding; + if ( + (x && + ((y -= x[0] * s), + (v -= x[1] * s), + (m += x[2] * s), + (g += x[3] * s)), + c) + ) { + var b = new a(y, v), + _ = new a(m, v), + w = new a(y, g), + T = new a(m, g), + k = (c * Math.PI) / 180; + b._rotate(k), + _._rotate(k), + w._rotate(k), + T._rotate(k), + (y = Math.min(b.x, _.x, w.x, T.x)), + (m = Math.max(b.x, _.x, w.x, T.x)), + (v = Math.min(b.y, _.y, w.y, T.y)), + (g = Math.max(b.y, _.y, w.y, T.y)); + } + t.emplaceBack(e.x, e.y, y, v, m, g, r, n, i); + } + this.boxEndIndex = t.length; + }, + Pu = function (t, e) { + if ( + (void 0 === t && (t = []), + void 0 === e && (e = Iu), + (this.data = t), + (this.length = this.data.length), + (this.compare = e), + this.length > 0) + ) + for ( + var r = (this.length >> 1) - 1; + r >= 0; + r-- + ) + this._down(r); + }; + function Iu(t, e) { + return t < e ? -1 : t > e ? 1 : 0; + } + function Du(t, e, r) { + void 0 === e && (e = 1), void 0 === r && (r = !1); + for ( + var n = 1 / 0, + i = 1 / 0, + o = -1 / 0, + s = -1 / 0, + l = t[0], + u = 0; + u < l.length; + u++ + ) { + var c = l[u]; + (!u || c.x < n) && (n = c.x), + (!u || c.y < i) && (i = c.y), + (!u || c.x > o) && (o = c.x), + (!u || c.y > s) && (s = c.y); + } + var f = o - n, + h = s - i, + p = Math.min(f, h), + d = p / 2, + v = new Pu([], zu); + if (0 === p) return new a(n, i); + for (var g = n; g < o; g += p) + for (var y = i; y < s; y += p) + v.push(new Ru(g + d, y + d, d, t)); + for ( + var m = (function (t) { + for ( + var e = 0, + r = 0, + n = 0, + i = t[0], + a = 0, + o = i.length, + s = o - 1; + a < o; + s = a++ + ) { + var l = i[a], + u = i[s], + c = l.x * u.y - u.x * l.y; + (r += (l.x + u.x) * c), + (n += (l.y + u.y) * c), + (e += 3 * c); + } + return new Ru(r / e, n / e, 0, t); + })(t), + x = v.length; + v.length; + + ) { + var b = v.pop(); + (b.d > m.d || !m.d) && + ((m = b), + r && + console.log( + "found best %d after %d probes", + Math.round(1e4 * b.d) / 1e4, + x, + )), + b.max - m.d <= e || + ((d = b.h / 2), + v.push(new Ru(b.p.x - d, b.p.y - d, d, t)), + v.push(new Ru(b.p.x + d, b.p.y - d, d, t)), + v.push(new Ru(b.p.x - d, b.p.y + d, d, t)), + v.push(new Ru(b.p.x + d, b.p.y + d, d, t)), + (x += 4)); + } + return ( + r && + (console.log("num probes: " + x), + console.log("best distance: " + m.d)), + m.p + ); + } + function zu(t, e) { + return e.max - t.max; + } + function Ru(t, e, r, n) { + (this.p = new a(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, + s = a.length, + l = s - 1; + o < s; + l = o++ + ) { + var u = a[o], + c = a[l]; + u.y > t.y != c.y > t.y && + t.x < + ((c.x - u.x) * (t.y - u.y)) / + (c.y - u.y) + + u.x && + (r = !r), + (n = Math.min(n, bo(t, u, c))); + } + return (r ? 1 : -1) * Math.sqrt(n); + })(this.p, n)), + (this.max = this.d + this.h * Math.SQRT2); + } + (Pu.prototype.push = function (t) { + this.data.push(t), + this.length++, + this._up(this.length - 1); + }), + (Pu.prototype.pop = function () { + if (0 !== this.length) { + var t = this.data[0], + e = this.data.pop(); + return ( + this.length--, + this.length > 0 && + ((this.data[0] = e), this._down(0)), + t + ); + } + }), + (Pu.prototype.peek = function () { + return this.data[0]; + }), + (Pu.prototype._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; + }), + (Pu.prototype._down = function (t) { + for ( + var e = this.data, + r = this.compare, + n = this.length >> 1, + i = e[t]; + t < n; + + ) { + var a = 1 + (t << 1), + o = e[a], + s = a + 1; + if ( + (s < this.length && + r(e[s], o) < 0 && + ((a = s), (o = e[s])), + r(o, i) >= 0) + ) + break; + (e[t] = o), (t = a); + } + e[t] = i; + }); + var Fu = Number.POSITIVE_INFINITY; + function Bu(t, e) { + return e[1] !== Fu + ? (function (t, e, r) { + var n = 0, + i = 0; + switch ( + ((e = Math.abs(e)), (r = Math.abs(r)), t) + ) { + case "top-right": + case "top-left": + case "top": + i = r - 7; + break; + case "bottom-right": + case "bottom-left": + case "bottom": + i = 7 - r; + } + switch (t) { + case "top-right": + case "bottom-right": + case "right": + n = -e; + break; + case "top-left": + case "bottom-left": + case "left": + n = e; + } + return [n, i]; + })(t, e[0], e[1]) + : (function (t, e) { + var r = 0, + n = 0; + e < 0 && (e = 0); + var i = e / Math.sqrt(2); + switch (t) { + case "top-right": + case "top-left": + n = i - 7; + break; + case "bottom-right": + case "bottom-left": + n = 7 - i; + break; + case "bottom": + n = 7 - e; + break; + case "top": + n = e - 7; + } + switch (t) { + case "top-right": + case "bottom-right": + r = -i; + break; + case "top-left": + case "bottom-left": + r = i; + break; + case "left": + r = e; + break; + case "right": + r = -e; + } + return [r, n]; + })(t, e[0]); + } + function Nu(t) { + switch (t) { + case "right": + case "top-right": + case "bottom-right": + return "right"; + case "left": + case "top-left": + case "bottom-left": + return "left"; + } + return "center"; + } + var ju = 32640; + function Uu( + t, + e, + r, + n, + i, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + ) { + var g = (function (t, e, r, n, i, o, s, l) { + for ( + var u = + (n.layout + .get("text-rotate") + .evaluate(o, {}) * + Math.PI) / + 180, + c = [], + f = 0, + h = e.positionedLines; + f < h.length; + f += 1 + ) + for ( + var p = h[f], + d = 0, + v = p.positionedGlyphs; + d < v.length; + d += 1 + ) { + var g = v[d]; + if (g.rect) { + var y = g.rect || {}, + m = 4, + x = !0, + b = 1, + _ = 0, + w = (i || l) && g.vertical, + T = (g.metrics.advance * g.scale) / 2; + if (l && e.verticalizable) { + var k = (g.scale - 1) * bl, + A = + (bl - g.metrics.width * g.scale) / + 2; + _ = + p.lineOffset / 2 - + (g.imageName ? -A : k); + } + if (g.imageName) { + var M = s[g.imageName]; + (x = M.sdf), + (m = 1 / (b = M.pixelRatio)); + } + var S = i ? [g.x + T, g.y] : [0, 0], + E = i + ? [0, 0] + : [g.x + T + r[0], g.y + r[1] - _], + L = [0, 0]; + w && ((L = E), (E = [0, 0])); + var C = + (g.metrics.left - m) * g.scale - + T + + E[0], + O = + (-g.metrics.top - m) * g.scale + + E[1], + P = C + (y.w * g.scale) / b, + I = O + (y.h * g.scale) / b, + D = new a(C, O), + z = new a(P, O), + R = new a(C, I), + F = new a(P, I); + if (w) { + var B = new a(-T, T - Kl), + N = -Math.PI / 2, + j = 12 - T, + U = g.imageName ? j : 0, + V = new a(22 - j, -U), + H = + new (Function.prototype.bind.apply( + a, + [null].concat(L), + ))(); + D._rotateAround(N, B)._add(V)._add(H), + z + ._rotateAround(N, B) + ._add(V) + ._add(H), + R._rotateAround(N, B) + ._add(V) + ._add(H), + F._rotateAround(N, B) + ._add(V) + ._add(H); + } + if (u) { + var q = Math.sin(u), + G = Math.cos(u), + Z = [G, -q, q, G]; + D._matMult(Z), + z._matMult(Z), + R._matMult(Z), + F._matMult(Z); + } + var W = new a(0, 0), + Y = new a(0, 0); + c.push({ + tl: D, + tr: z, + bl: R, + br: F, + tex: y, + writingMode: e.writingMode, + glyphOffset: S, + sectionIndex: g.sectionIndex, + isSDF: x, + pixelOffsetTL: W, + pixelOffsetBR: Y, + minFontScaleX: 0, + minFontScaleY: 0, + }); + } + } + return c; + })( + 0, + r, + l, + i, + o, + s, + n, + t.allowVerticalPlacement, + ), + y = t.textSizeData, + m = null; + "source" === y.kind + ? (m = [ + pu * + i.layout.get("text-size").evaluate(s, {}), + ])[0] > ju && + w( + t.layerIds[0] + + ': Value for "text-size" is >= ' + + '255. Reduce your "text-size".', + ) + : "composite" === y.kind && + ((m = [ + pu * + d.compositeTextSizes[0].evaluate( + s, + {}, + v, + ), + pu * + d.compositeTextSizes[1].evaluate( + s, + {}, + v, + ), + ])[0] > ju || + m[1] > ju) && + w( + t.layerIds[0] + + ': Value for "text-size" is >= ' + + '255. Reduce your "text-size".', + ), + t.addSymbols( + t.text, + g, + m, + l, + o, + s, + c, + e, + u.lineStartIndex, + u.lineLength, + p, + v, + ); + for (var x = 0, b = f; x < b.length; x += 1) + h[b[x]] = t.text.placedSymbolArray.length - 1; + return 4 * g.length; + } + function Vu(t) { + for (var e in t) return t[e]; + return null; + } + function Hu(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 qu = Zs.VectorTileFeature.types, + Gu = [ + { + name: "a_fade_opacity", + components: 1, + type: "Uint8", + offset: 0, + }, + ]; + function Zu(t, e, r, n, i, a, o, s, l, u, c, f, h) { + var p = s ? Math.min(ju, Math.round(s[0])) : 0, + d = s ? Math.min(ju, Math.round(s[1])) : 0; + t.emplaceBack( + e, + r, + Math.round(32 * n), + Math.round(32 * i), + a, + o, + (p << 1) + (l ? 1 : 0), + d, + 16 * u, + 16 * c, + 256 * f, + 256 * h, + ); + } + function Wu(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); + } + function Yu(t) { + for ( + var e = 0, r = t.sections; + e < r.length; + e += 1 + ) + if (pi(r[e].text)) return !0; + return !1; + } + var Xu = function (t) { + (this.layoutVertexArray = new ta()), + (this.indexArray = new sa()), + (this.programConfigurations = t), + (this.segments = new Ea()), + (this.dynamicLayoutVertexArray = new ea()), + (this.opacityVertexArray = new ra()), + (this.placedSymbolArray = new ba()); + }; + (Xu.prototype.isEmpty = function () { + return ( + 0 === this.layoutVertexArray.length && + 0 === this.indexArray.length && + 0 === this.dynamicLayoutVertexArray.length && + 0 === this.opacityVertexArray.length + ); + }), + (Xu.prototype.upload = function (t, e, r, n) { + this.isEmpty() || + (r && + ((this.layoutVertexBuffer = + t.createVertexBuffer( + this.layoutVertexArray, + pl.members, + )), + (this.indexBuffer = t.createIndexBuffer( + this.indexArray, + e, + )), + (this.dynamicLayoutVertexBuffer = + t.createVertexBuffer( + this.dynamicLayoutVertexArray, + dl.members, + !0, + )), + (this.opacityVertexBuffer = + t.createVertexBuffer( + this.opacityVertexArray, + Gu, + !0, + )), + (this.opacityVertexBuffer.itemSize = 1)), + (r || n) && + this.programConfigurations.upload(t)); + }), + (Xu.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy(), + this.dynamicLayoutVertexBuffer.destroy(), + this.opacityVertexBuffer.destroy()); + }), + Qn("SymbolBuffers", Xu); + var Ju = function (t, e, r) { + (this.layoutVertexArray = new t()), + (this.layoutAttributes = e), + (this.indexArray = new r()), + (this.segments = new Ea()), + (this.collisionVertexArray = new oa()); + }; + (Ju.prototype.upload = function (t) { + (this.layoutVertexBuffer = t.createVertexBuffer( + this.layoutVertexArray, + this.layoutAttributes, + )), + (this.indexBuffer = t.createIndexBuffer( + this.indexArray, + )), + (this.collisionVertexBuffer = + t.createVertexBuffer( + this.collisionVertexArray, + vl.members, + !0, + )); + }), + (Ju.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.segments.destroy(), + this.collisionVertexBuffer.destroy()); + }), + Qn("CollisionBuffers", Ju); + var Ku = 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), + (this.sourceLayerIndex = t.sourceLayerIndex), + (this.hasPattern = !1), + (this.hasRTLText = !1), + (this.sortKeyRanges = []), + (this.collisionCircleArray = []), + (this.placementInvProjMatrix = Co([])), + (this.placementViewportMatrix = Co([])); + var e = this.layers[0]._unevaluatedLayout._values; + (this.textSizeData = du( + this.zoom, + e["text-size"], + )), + (this.iconSizeData = du( + this.zoom, + e["icon-size"], + )); + var r = this.layers[0].layout, + n = r.get("symbol-sort-key"), + i = r.get("symbol-z-order"); + this.sortFeaturesByKey = + "viewport-y" !== i && + void 0 !== n.constantOr(1); + var a = + "viewport-y" === i || + ("auto" === i && !this.sortFeaturesByKey); + (this.sortFeaturesByY = + a && + (r.get("text-allow-overlap") || + r.get("icon-allow-overlap") || + r.get("text-ignore-placement") || + r.get("icon-ignore-placement"))), + "point" === r.get("symbol-placement") && + (this.writingModes = r + .get("text-writing-mode") + .map(function (t) { + return Jl[t]; + })), + (this.stateDependentLayerIds = this.layers + .filter(function (t) { + return t.isStateDependent(); + }) + .map(function (t) { + return t.id; + })), + (this.sourceID = t.sourceID); + }; + (Ku.prototype.createArrays = function () { + (this.text = new Xu( + new no( + pl.members, + this.layers, + this.zoom, + function (t) { + return /^text/.test(t); + }, + ), + )), + (this.icon = new Xu( + new no( + pl.members, + this.layers, + this.zoom, + function (t) { + return /^icon/.test(t); + }, + ), + )), + (this.glyphOffsetArray = new Ta()), + (this.lineVertexArray = new ka()), + (this.symbolInstances = new wa()); + }), + (Ku.prototype.calculateGlyphDependencies = + function (t, e, r, n, i) { + for (var a = 0; a < t.length; a++) + if ( + ((e[t.charCodeAt(a)] = !0), (r || n) && i) + ) { + var o = xl[t.charAt(a)]; + o && (e[o.charCodeAt(0)] = !0); + } + }), + (Ku.prototype.populate = function (t, e, r) { + var n = this.layers[0], + i = n.layout, + a = i.get("text-font"), + o = i.get("text-field"), + s = i.get("icon-image"), + l = + ("constant" !== o.value.kind || + (o.value.value instanceof le && + !o.value.value.isEmpty()) || + o.value.value.toString().length > 0) && + ("constant" !== a.value.kind || + a.value.value.length > 0), + u = + "constant" !== s.value.kind || + !!s.value.value || + Object.keys(s.parameters).length > 0, + c = i.get("symbol-sort-key"); + if (((this.features = []), l || u)) { + for ( + var f = e.iconDependencies, + h = e.glyphDependencies, + p = e.availableImages, + d = new Si(this.zoom), + v = 0, + g = t; + v < g.length; + v += 1 + ) { + var y = g[v], + m = y.feature, + x = y.id, + b = y.index, + _ = y.sourceLayerIndex, + w = n._featureFilter.needGeometry, + T = { + type: m.type, + id: x, + properties: m.properties, + geometry: w ? uo(m) : [], + }; + if (n._featureFilter.filter(d, T, r)) { + w || (T.geometry = uo(m)); + var k = void 0; + if (l) { + var A = n.getValueAndResolveTokens( + "text-field", + T, + r, + p, + ), + M = le.factory(A); + Yu(M) && (this.hasRTLText = !0), + (!this.hasRTLText || + "unavailable" === ki() || + (this.hasRTLText && + Mi.isParsed())) && + (k = ml(M, n, T)); + } + var S = void 0; + if (u) { + var E = n.getValueAndResolveTokens( + "icon-image", + T, + r, + p, + ); + S = + E instanceof ue + ? E + : ue.fromString(E); + } + if (k || S) { + var L = this.sortFeaturesByKey + ? c.evaluate(T, {}, r) + : void 0, + C = { + id: x, + text: k, + icon: S, + index: b, + sourceLayerIndex: _, + geometry: uo(m), + properties: m.properties, + type: qu[m.type], + sortKey: L, + }; + if ( + (this.features.push(C), + S && (f[S.name] = !0), + k) + ) { + var O = a + .evaluate(T, {}, r) + .join(","), + P = + "map" === + i.get( + "text-rotation-alignment", + ) && + "point" !== + i.get("symbol-placement"); + this.allowVerticalPlacement = + this.writingModes && + this.writingModes.indexOf( + Jl.vertical, + ) >= 0; + for ( + var I = 0, D = k.sections; + I < D.length; + I += 1 + ) { + var z = D[I]; + if (z.image) f[z.image.name] = !0; + else { + var R = si(k.toString()), + F = z.fontStack || O, + B = (h[F] = h[F] || {}); + this.calculateGlyphDependencies( + z.text, + B, + P, + this.allowVerticalPlacement, + R, + ); + } + } + } + } + } + } + "line" === i.get("symbol-placement") && + (this.features = (function (t) { + var e = {}, + r = {}, + n = [], + i = 0; + function a(e) { + n.push(t[e]), i++; + } + function o(t, e, i) { + var a = r[t]; + return ( + delete r[t], + (r[e] = a), + n[a].geometry[0].pop(), + (n[a].geometry[0] = n[ + a + ].geometry[0].concat(i[0])), + a + ); + } + function s(t, r, i) { + var a = e[r]; + return ( + delete e[r], + (e[t] = a), + n[a].geometry[0].shift(), + (n[a].geometry[0] = i[0].concat( + n[a].geometry[0], + )), + a + ); + } + function l(t, e, r) { + var n = r + ? e[0][e[0].length - 1] + : e[0][0]; + return t + ":" + n.x + ":" + n.y; + } + for (var u = 0; u < t.length; u++) { + var c = t[u], + f = c.geometry, + h = c.text ? c.text.toString() : null; + if (h) { + var p = l(h, f), + d = l(h, f, !0); + if ( + p in r && + d in e && + r[p] !== e[d] + ) { + var v = s(p, d, f), + g = o(p, d, n[v].geometry); + delete e[p], + delete r[d], + (r[l(h, n[g].geometry, !0)] = g), + (n[v].geometry = null); + } else + p in r + ? o(p, d, f) + : d in e + ? s(p, d, f) + : (a(u), + (e[p] = i - 1), + (r[d] = i - 1)); + } else a(u); + } + return n.filter(function (t) { + return t.geometry; + }); + })(this.features)), + this.sortFeaturesByKey && + this.features.sort(function (t, e) { + return t.sortKey - e.sortKey; + }); + } + }), + (Ku.prototype.update = function (t, e, r) { + this.stateDependentLayers.length && + (this.text.programConfigurations.updatePaintArrays( + t, + e, + this.layers, + r, + ), + this.icon.programConfigurations.updatePaintArrays( + t, + e, + this.layers, + r, + )); + }), + (Ku.prototype.isEmpty = function () { + return ( + 0 === this.symbolInstances.length && + !this.hasRTLText + ); + }), + (Ku.prototype.uploadPending = function () { + return ( + !this.uploaded || + this.text.programConfigurations.needsUpload || + this.icon.programConfigurations.needsUpload + ); + }), + (Ku.prototype.upload = function (t) { + !this.uploaded && + this.hasDebugData() && + (this.textCollisionBox.upload(t), + this.iconCollisionBox.upload(t)), + this.text.upload( + t, + this.sortFeaturesByY, + !this.uploaded, + this.text.programConfigurations.needsUpload, + ), + this.icon.upload( + t, + this.sortFeaturesByY, + !this.uploaded, + this.icon.programConfigurations.needsUpload, + ), + (this.uploaded = !0); + }), + (Ku.prototype.destroyDebugData = function () { + this.textCollisionBox.destroy(), + this.iconCollisionBox.destroy(); + }), + (Ku.prototype.destroy = function () { + this.text.destroy(), + this.icon.destroy(), + this.hasDebugData() && + this.destroyDebugData(); + }), + (Ku.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, + }; + }), + (Ku.prototype.addSymbols = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + ) { + for ( + var h = t.indexArray, + p = t.layoutVertexArray, + d = t.segments.prepareSegment( + 4 * e.length, + p, + h, + a.sortKey, + ), + v = this.glyphOffsetArray.length, + g = d.vertexLength, + y = + this.allowVerticalPlacement && + o === Jl.vertical + ? Math.PI / 2 + : 0, + m = a.text && a.text.sections, + x = 0; + x < e.length; + x++ + ) { + var b = e[x], + _ = b.tl, + w = b.tr, + T = b.bl, + k = b.br, + A = b.tex, + M = b.pixelOffsetTL, + S = b.pixelOffsetBR, + E = b.minFontScaleX, + L = b.minFontScaleY, + C = b.glyphOffset, + O = b.isSDF, + P = b.sectionIndex, + I = d.vertexLength, + D = C[1]; + Zu( + p, + s.x, + s.y, + _.x, + D + _.y, + A.x, + A.y, + r, + O, + M.x, + M.y, + E, + L, + ), + Zu( + p, + s.x, + s.y, + w.x, + D + w.y, + A.x + A.w, + A.y, + r, + O, + S.x, + M.y, + E, + L, + ), + Zu( + p, + s.x, + s.y, + T.x, + D + T.y, + A.x, + A.y + A.h, + r, + O, + M.x, + S.y, + E, + L, + ), + Zu( + p, + s.x, + s.y, + k.x, + D + k.y, + A.x + A.w, + A.y + A.h, + r, + O, + S.x, + S.y, + E, + L, + ), + Wu(t.dynamicLayoutVertexArray, s, y), + h.emplaceBack(I, I + 1, I + 2), + h.emplaceBack(I + 1, I + 2, I + 3), + (d.vertexLength += 4), + (d.primitiveLength += 2), + this.glyphOffsetArray.emplaceBack(C[0]), + (x !== e.length - 1 && + P === e[x + 1].sectionIndex) || + t.programConfigurations.populatePaintArrays( + p.length, + a, + a.index, + {}, + f, + m && m[P], + ); + } + t.placedSymbolArray.emplaceBack( + s.x, + s.y, + v, + this.glyphOffsetArray.length - v, + g, + l, + u, + s.segment, + r ? r[0] : 0, + r ? r[1] : 0, + n[0], + n[1], + o, + 0, + !1, + 0, + c, + ); + }), + (Ku.prototype._addCollisionDebugVertex = + function (t, e, r, n, i, a) { + return ( + e.emplaceBack(0, 0), + t.emplaceBack( + r.x, + r.y, + n, + i, + Math.round(a.x), + Math.round(a.y), + ) + ); + }), + (Ku.prototype.addCollisionDebugVertices = + function (t, e, r, n, i, o, s) { + var l = i.segments.prepareSegment( + 4, + i.layoutVertexArray, + i.indexArray, + ), + u = l.vertexLength, + c = i.layoutVertexArray, + f = i.collisionVertexArray, + h = s.anchorX, + p = s.anchorY; + this._addCollisionDebugVertex( + c, + f, + o, + h, + p, + new a(t, e), + ), + this._addCollisionDebugVertex( + c, + f, + o, + h, + p, + new a(r, e), + ), + this._addCollisionDebugVertex( + c, + f, + o, + h, + p, + new a(r, n), + ), + this._addCollisionDebugVertex( + c, + f, + o, + h, + p, + new a(t, n), + ), + (l.vertexLength += 4); + var d = i.indexArray; + d.emplaceBack(u, u + 1), + d.emplaceBack(u + 1, u + 2), + d.emplaceBack(u + 2, u + 3), + d.emplaceBack(u + 3, u), + (l.primitiveLength += 4); + }), + (Ku.prototype.addDebugCollisionBoxes = function ( + t, + e, + r, + n, + ) { + for (var i = t; i < e; i++) { + var a = this.collisionBoxArray.get(i), + o = a.x1, + s = a.y1, + l = a.x2, + u = a.y2; + this.addCollisionDebugVertices( + o, + s, + l, + u, + n + ? this.textCollisionBox + : this.iconCollisionBox, + a.anchorPoint, + r, + ); + } + }), + (Ku.prototype.generateCollisionDebugBuffers = + function () { + this.hasDebugData() && + this.destroyDebugData(), + (this.textCollisionBox = new Ju( + ia, + gl.members, + pa, + )), + (this.iconCollisionBox = new Ju( + ia, + gl.members, + pa, + )); + for ( + var t = 0; + t < this.symbolInstances.length; + t++ + ) { + var e = this.symbolInstances.get(t); + this.addDebugCollisionBoxes( + e.textBoxStartIndex, + e.textBoxEndIndex, + e, + !0, + ), + this.addDebugCollisionBoxes( + e.verticalTextBoxStartIndex, + e.verticalTextBoxEndIndex, + e, + !0, + ), + this.addDebugCollisionBoxes( + e.iconBoxStartIndex, + e.iconBoxEndIndex, + e, + !1, + ), + this.addDebugCollisionBoxes( + e.verticalIconBoxStartIndex, + e.verticalIconBoxEndIndex, + e, + !1, + ); + } + }), + (Ku.prototype._deserializeCollisionBoxesForSymbol = + function (t, e, r, n, i, a, o, s, l) { + for (var u = {}, c = e; c < r; c++) { + var f = t.get(c); + (u.textBox = { + x1: f.x1, + y1: f.y1, + x2: f.x2, + y2: f.y2, + anchorPointX: f.anchorPointX, + anchorPointY: f.anchorPointY, + }), + (u.textFeatureIndex = f.featureIndex); + break; + } + for (var h = n; h < i; h++) { + var p = t.get(h); + (u.verticalTextBox = { + x1: p.x1, + y1: p.y1, + x2: p.x2, + y2: p.y2, + anchorPointX: p.anchorPointX, + anchorPointY: p.anchorPointY, + }), + (u.verticalTextFeatureIndex = + p.featureIndex); + break; + } + for (var d = a; d < o; d++) { + var v = t.get(d); + (u.iconBox = { + x1: v.x1, + y1: v.y1, + x2: v.x2, + y2: v.y2, + anchorPointX: v.anchorPointX, + anchorPointY: v.anchorPointY, + }), + (u.iconFeatureIndex = v.featureIndex); + break; + } + for (var g = s; g < l; g++) { + var y = t.get(g); + (u.verticalIconBox = { + x1: y.x1, + y1: y.y1, + x2: y.x2, + y2: y.y2, + anchorPointX: y.anchorPointX, + anchorPointY: y.anchorPointY, + }), + (u.verticalIconFeatureIndex = + y.featureIndex); + break; + } + return u; + }), + (Ku.prototype.deserializeCollisionBoxes = + function (t) { + this.collisionArrays = []; + for ( + var e = 0; + e < this.symbolInstances.length; + e++ + ) { + var r = this.symbolInstances.get(e); + this.collisionArrays.push( + this._deserializeCollisionBoxesForSymbol( + t, + r.textBoxStartIndex, + r.textBoxEndIndex, + r.verticalTextBoxStartIndex, + r.verticalTextBoxEndIndex, + r.iconBoxStartIndex, + r.iconBoxEndIndex, + r.verticalIconBoxStartIndex, + r.verticalIconBoxEndIndex, + ), + ); + } + }), + (Ku.prototype.hasTextData = function () { + return this.text.segments.get().length > 0; + }), + (Ku.prototype.hasIconData = function () { + return this.icon.segments.get().length > 0; + }), + (Ku.prototype.hasDebugData = function () { + return ( + this.textCollisionBox && this.iconCollisionBox + ); + }), + (Ku.prototype.hasTextCollisionBoxData = + function () { + return ( + this.hasDebugData() && + this.textCollisionBox.segments.get() + .length > 0 + ); + }), + (Ku.prototype.hasIconCollisionBoxData = + function () { + return ( + this.hasDebugData() && + this.iconCollisionBox.segments.get() + .length > 0 + ); + }), + (Ku.prototype.addIndicesForPlacedSymbol = + function (t, e) { + for ( + var r = t.placedSymbolArray.get(e), + n = r.vertexStartIndex + 4 * r.numGlyphs, + i = r.vertexStartIndex; + i < n; + i += 4 + ) + t.indexArray.emplaceBack(i, i + 1, i + 2), + t.indexArray.emplaceBack( + i + 1, + i + 2, + i + 3, + ); + }), + (Ku.prototype.getSortedSymbolIndexes = function ( + t, + ) { + if ( + this.sortedAngle === t && + void 0 !== this.symbolInstanceIndexes + ) + return this.symbolInstanceIndexes; + for ( + var e = Math.sin(t), + r = Math.cos(t), + n = [], + i = [], + a = [], + o = 0; + o < this.symbolInstances.length; + ++o + ) { + a.push(o); + var s = this.symbolInstances.get(o); + n.push( + 0 | + Math.round(e * s.anchorX + r * s.anchorY), + ), + i.push(s.featureIndex); + } + return ( + a.sort(function (t, e) { + return n[t] - n[e] || i[e] - i[t]; + }), + a + ); + }), + (Ku.prototype.addToSortKeyRanges = function ( + t, + e, + ) { + var r = + this.sortKeyRanges[ + this.sortKeyRanges.length - 1 + ]; + r && r.sortKey === e + ? (r.symbolInstanceEnd = t + 1) + : this.sortKeyRanges.push({ + sortKey: e, + symbolInstanceStart: t, + symbolInstanceEnd: t + 1, + }); + }), + (Ku.prototype.sortFeatures = function (t) { + var e = this; + if ( + this.sortFeaturesByY && + this.sortedAngle !== t && + !( + this.text.segments.get().length > 1 || + this.icon.segments.get().length > 1 + ) + ) { + (this.symbolInstanceIndexes = + this.getSortedSymbolIndexes(t)), + (this.sortedAngle = t), + this.text.indexArray.clear(), + this.icon.indexArray.clear(), + (this.featureSortOrder = []); + for ( + var r = 0, n = this.symbolInstanceIndexes; + r < n.length; + r += 1 + ) { + var i = n[r], + a = this.symbolInstances.get(i); + this.featureSortOrder.push(a.featureIndex), + [ + a.rightJustifiedTextSymbolIndex, + a.centerJustifiedTextSymbolIndex, + a.leftJustifiedTextSymbolIndex, + ].forEach(function (t, r, n) { + t >= 0 && + n.indexOf(t) === r && + e.addIndicesForPlacedSymbol( + e.text, + t, + ); + }), + a.verticalPlacedTextSymbolIndex >= 0 && + this.addIndicesForPlacedSymbol( + this.text, + a.verticalPlacedTextSymbolIndex, + ), + a.placedIconSymbolIndex >= 0 && + this.addIndicesForPlacedSymbol( + this.icon, + a.placedIconSymbolIndex, + ), + a.verticalPlacedIconSymbolIndex >= 0 && + this.addIndicesForPlacedSymbol( + this.icon, + a.verticalPlacedIconSymbolIndex, + ); + } + this.text.indexBuffer && + this.text.indexBuffer.updateData( + this.text.indexArray, + ), + this.icon.indexBuffer && + this.icon.indexBuffer.updateData( + this.icon.indexArray, + ); + } + }), + Qn("SymbolBucket", Ku, { + omit: [ + "layers", + "collisionBoxArray", + "features", + "compareText", + ], + }), + (Ku.MAX_GLYPHS = 65535), + (Ku.addDynamicAttributes = Wu); + var $u = new Ui({ + "symbol-placement": new Ri( + It.layout_symbol["symbol-placement"], + ), + "symbol-spacing": new Ri( + It.layout_symbol["symbol-spacing"], + ), + "symbol-avoid-edges": new Ri( + It.layout_symbol["symbol-avoid-edges"], + ), + "symbol-sort-key": new Fi( + It.layout_symbol["symbol-sort-key"], + ), + "symbol-z-order": new Ri( + It.layout_symbol["symbol-z-order"], + ), + "icon-allow-overlap": new Ri( + It.layout_symbol["icon-allow-overlap"], + ), + "icon-ignore-placement": new Ri( + It.layout_symbol["icon-ignore-placement"], + ), + "icon-optional": new Ri( + It.layout_symbol["icon-optional"], + ), + "icon-rotation-alignment": new Ri( + It.layout_symbol["icon-rotation-alignment"], + ), + "icon-size": new Fi( + It.layout_symbol["icon-size"], + ), + "icon-text-fit": new Ri( + It.layout_symbol["icon-text-fit"], + ), + "icon-text-fit-padding": new Ri( + It.layout_symbol["icon-text-fit-padding"], + ), + "icon-image": new Fi( + It.layout_symbol["icon-image"], + ), + "icon-rotate": new Fi( + It.layout_symbol["icon-rotate"], + ), + "icon-padding": new Ri( + It.layout_symbol["icon-padding"], + ), + "icon-keep-upright": new Ri( + It.layout_symbol["icon-keep-upright"], + ), + "icon-offset": new Fi( + It.layout_symbol["icon-offset"], + ), + "icon-anchor": new Fi( + It.layout_symbol["icon-anchor"], + ), + "icon-pitch-alignment": new Ri( + It.layout_symbol["icon-pitch-alignment"], + ), + "text-pitch-alignment": new Ri( + It.layout_symbol["text-pitch-alignment"], + ), + "text-rotation-alignment": new Ri( + It.layout_symbol["text-rotation-alignment"], + ), + "text-field": new Fi( + It.layout_symbol["text-field"], + ), + "text-font": new Fi( + It.layout_symbol["text-font"], + ), + "text-size": new Fi( + It.layout_symbol["text-size"], + ), + "text-max-width": new Fi( + It.layout_symbol["text-max-width"], + ), + "text-line-height": new Ri( + It.layout_symbol["text-line-height"], + ), + "text-letter-spacing": new Fi( + It.layout_symbol["text-letter-spacing"], + ), + "text-justify": new Fi( + It.layout_symbol["text-justify"], + ), + "text-radial-offset": new Fi( + It.layout_symbol["text-radial-offset"], + ), + "text-variable-anchor": new Ri( + It.layout_symbol["text-variable-anchor"], + ), + "text-anchor": new Fi( + It.layout_symbol["text-anchor"], + ), + "text-max-angle": new Ri( + It.layout_symbol["text-max-angle"], + ), + "text-writing-mode": new Ri( + It.layout_symbol["text-writing-mode"], + ), + "text-rotate": new Fi( + It.layout_symbol["text-rotate"], + ), + "text-padding": new Ri( + It.layout_symbol["text-padding"], + ), + "text-keep-upright": new Ri( + It.layout_symbol["text-keep-upright"], + ), + "text-transform": new Fi( + It.layout_symbol["text-transform"], + ), + "text-offset": new Fi( + It.layout_symbol["text-offset"], + ), + "text-allow-overlap": new Ri( + It.layout_symbol["text-allow-overlap"], + ), + "text-ignore-placement": new Ri( + It.layout_symbol["text-ignore-placement"], + ), + "text-optional": new Ri( + It.layout_symbol["text-optional"], + ), + }), + Qu = { + paint: new Ui({ + "icon-opacity": new Fi( + It.paint_symbol["icon-opacity"], + ), + "icon-color": new Fi( + It.paint_symbol["icon-color"], + ), + "icon-halo-color": new Fi( + It.paint_symbol["icon-halo-color"], + ), + "icon-halo-width": new Fi( + It.paint_symbol["icon-halo-width"], + ), + "icon-halo-blur": new Fi( + It.paint_symbol["icon-halo-blur"], + ), + "icon-translate": new Ri( + It.paint_symbol["icon-translate"], + ), + "icon-translate-anchor": new Ri( + It.paint_symbol["icon-translate-anchor"], + ), + "text-opacity": new Fi( + It.paint_symbol["text-opacity"], + ), + "text-color": new Fi( + It.paint_symbol["text-color"], + { + runtimeType: Gt, + getOverride: function (t) { + return t.textColor; + }, + hasOverride: function (t) { + return !!t.textColor; + }, + }, + ), + "text-halo-color": new Fi( + It.paint_symbol["text-halo-color"], + ), + "text-halo-width": new Fi( + It.paint_symbol["text-halo-width"], + ), + "text-halo-blur": new Fi( + It.paint_symbol["text-halo-blur"], + ), + "text-translate": new Ri( + It.paint_symbol["text-translate"], + ), + "text-translate-anchor": new Ri( + It.paint_symbol["text-translate-anchor"], + ), + }), + layout: $u, + }, + tc = function (t) { + (this.type = t.property.overrides + ? t.property.overrides.runtimeType + : Ut), + (this.defaultValue = t); + }; + (tc.prototype.evaluate = function (t) { + if (t.formattedSection) { + var e = this.defaultValue.property.overrides; + if (e && e.hasOverride(t.formattedSection)) + return e.getOverride(t.formattedSection); + } + return t.feature && t.featureState + ? this.defaultValue.evaluate( + t.feature, + t.featureState, + ) + : this.defaultValue.property.specification + .default; + }), + (tc.prototype.eachChild = function (t) { + this.defaultValue.isConstant() || + t( + this.defaultValue.value._styleExpression + .expression, + ); + }), + (tc.prototype.outputDefined = function () { + return !1; + }), + (tc.prototype.serialize = function () { + return null; + }), + Qn("FormatSectionOverride", tc, { + omit: ["defaultValue"], + }); + var ec = (function (t) { + function e(e) { + t.call(this, e, Qu); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + (e.prototype.recalculate = function (e, r) { + if ( + (t.prototype.recalculate.call(this, e, r), + "auto" === + this.layout.get( + "icon-rotation-alignment", + ) && + ("point" !== + 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", + ) && + ("point" !== + 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", + )), + "point" === + this.layout.get("symbol-placement")) + ) { + var n = + this.layout.get("text-writing-mode"); + if (n) { + for ( + var i = [], a = 0, o = n; + a < o.length; + a += 1 + ) { + var s = o[a]; + i.indexOf(s) < 0 && i.push(s); + } + this.layout._values[ + "text-writing-mode" + ] = i; + } else + this.layout._values[ + "text-writing-mode" + ] = ["horizontal"]; + } + this._setPaintOverrides(); + }), + (e.prototype.getValueAndResolveTokens = + function (t, e, r, n) { + var i = this.layout + .get(t) + .evaluate(e, {}, r, n), + a = this._unevaluatedLayout._values[t]; + return a.isDataDriven() || + nn(a.value) || + !i + ? i + : (function (t, e) { + return e.replace( + /{([^{}]+)}/g, + function (e, r) { + return r in t + ? String(t[r]) + : ""; + }, + ); + })(e.properties, i); + }), + (e.prototype.createBucket = function (t) { + return new Ku(t); + }), + (e.prototype.queryRadius = function () { + return 0; + }), + (e.prototype.queryIntersectsFeature = + function () { + return !1; + }), + (e.prototype._setPaintOverrides = + function () { + for ( + var t = 0, + r = Qu.paint.overridableProperties; + t < r.length; + t += 1 + ) { + var n = r[t]; + if ( + e.hasPaintOverride(this.layout, n) + ) { + var i, + a = this.paint.get(n), + o = new tc(a), + s = new rn( + o, + a.property.specification, + ); + (i = + "constant" === a.value.kind || + "source" === a.value.kind + ? new on("source", s) + : new sn( + "composite", + s, + a.value.zoomStops, + a.value._interpolationType, + )), + (this.paint._values[n] = new Di( + a.property, + i, + a.parameters, + )); + } + } + }), + (e.prototype._handleOverridablePaintPropertyUpdate = + function (t, r, n) { + return ( + !( + !this.layout || + r.isDataDriven() || + n.isDataDriven() + ) && e.hasPaintOverride(this.layout, t) + ); + }), + (e.hasPaintOverride = function (t, e) { + var r = t.get("text-field"), + n = Qu.paint.properties[e], + i = !1, + a = function (t) { + for ( + var e = 0, r = t; + e < r.length; + e += 1 + ) { + var a = r[e]; + if ( + n.overrides && + n.overrides.hasOverride(a) + ) + return void (i = !0); + } + }; + if ( + "constant" === r.value.kind && + r.value.value instanceof le + ) + a(r.value.value.sections); + else if ("source" === r.value.kind) { + var o = function (t) { + if (!i) + if ( + t instanceof de && + he(t.value) === Xt + ) { + var e = t.value; + a(e.sections); + } else + t instanceof me + ? a(t.sections) + : t.eachChild(o); + }, + s = r.value; + s._styleExpression && + o(s._styleExpression.expression); + } + return i; + }), + e + ); + })(Hi), + rc = { + paint: new Ui({ + "background-color": new Ri( + It.paint_background["background-color"], + ), + "background-pattern": new Ni( + It.paint_background["background-pattern"], + ), + "background-opacity": new Ri( + It.paint_background["background-opacity"], + ), + }), + }, + nc = (function (t) { + function e(e) { + t.call(this, e, rc); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + e + ); + })(Hi), + ic = { + paint: new Ui({ + "raster-opacity": new Ri( + It.paint_raster["raster-opacity"], + ), + "raster-hue-rotate": new Ri( + It.paint_raster["raster-hue-rotate"], + ), + "raster-brightness-min": new Ri( + It.paint_raster["raster-brightness-min"], + ), + "raster-brightness-max": new Ri( + It.paint_raster["raster-brightness-max"], + ), + "raster-saturation": new Ri( + It.paint_raster["raster-saturation"], + ), + "raster-contrast": new Ri( + It.paint_raster["raster-contrast"], + ), + "raster-resampling": new Ri( + It.paint_raster["raster-resampling"], + ), + "raster-fade-duration": new Ri( + It.paint_raster["raster-fade-duration"], + ), + }), + }, + ac = (function (t) { + function e(e) { + t.call(this, e, ic); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + e + ); + })(Hi); + var oc = (function (t) { + function e(e) { + t.call(this, e, {}), + (this.implementation = e); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + (e.prototype.is3D = function () { + return ( + "3d" === this.implementation.renderingMode + ); + }), + (e.prototype.hasOffscreenPass = function () { + return ( + void 0 !== this.implementation.prerender + ); + }), + (e.prototype.recalculate = function () {}), + (e.prototype.updateTransitions = + function () {}), + (e.prototype.hasTransition = function () {}), + (e.prototype.serialize = function () {}), + (e.prototype.onAdd = function (t) { + this.implementation.onAdd && + this.implementation.onAdd( + t, + t.painter.context.gl, + ); + }), + (e.prototype.onRemove = function (t) { + this.implementation.onRemove && + this.implementation.onRemove( + t, + t.painter.context.gl, + ); + }), + e + ); + })(Hi), + sc = { + circle: Fo, + heatmap: Wo, + hillshade: Xo, + fill: Rs, + "fill-extrusion": Qs, + line: fl, + symbol: ec, + background: nc, + raster: ac, + }; + var lc = self.HTMLImageElement, + uc = self.HTMLCanvasElement, + cc = self.HTMLVideoElement, + fc = self.ImageData, + hc = self.ImageBitmap, + pc = function (t, e, r, n) { + (this.context = t), + (this.format = r), + (this.texture = t.gl.createTexture()), + this.update(e, n); + }; + (pc.prototype.update = function (t, e, r) { + var n = t.width, + i = t.height, + a = !( + (this.size && + this.size[0] === n && + this.size[1] === i) || + r + ), + o = this.context, + s = o.gl; + if ( + ((this.useMipmap = Boolean(e && e.useMipmap)), + s.bindTexture(s.TEXTURE_2D, this.texture), + o.pixelStoreUnpackFlipY.set(!1), + o.pixelStoreUnpack.set(1), + o.pixelStoreUnpackPremultiplyAlpha.set( + this.format === s.RGBA && + (!e || !1 !== e.premultiply), + ), + a) + ) + (this.size = [n, i]), + t instanceof lc || + t instanceof uc || + t instanceof cc || + t instanceof fc || + (hc && t instanceof hc) + ? s.texImage2D( + s.TEXTURE_2D, + 0, + this.format, + this.format, + s.UNSIGNED_BYTE, + t, + ) + : s.texImage2D( + s.TEXTURE_2D, + 0, + this.format, + n, + i, + 0, + this.format, + s.UNSIGNED_BYTE, + t.data, + ); + else { + var l = r || { x: 0, y: 0 }, + u = l.x, + c = l.y; + t instanceof lc || + t instanceof uc || + t instanceof cc || + t instanceof fc || + (hc && t instanceof hc) + ? s.texSubImage2D( + s.TEXTURE_2D, + 0, + u, + c, + s.RGBA, + s.UNSIGNED_BYTE, + t, + ) + : s.texSubImage2D( + s.TEXTURE_2D, + 0, + u, + c, + n, + i, + s.RGBA, + s.UNSIGNED_BYTE, + t.data, + ); + } + this.useMipmap && + this.isSizePowerOfTwo() && + s.generateMipmap(s.TEXTURE_2D); + }), + (pc.prototype.bind = function (t, e, r) { + var n = this.context.gl; + n.bindTexture(n.TEXTURE_2D, this.texture), + r !== n.LINEAR_MIPMAP_NEAREST || + this.isSizePowerOfTwo() || + (r = n.LINEAR), + 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)); + }), + (pc.prototype.isSizePowerOfTwo = function () { + return ( + this.size[0] === this.size[1] && + (Math.log(this.size[0]) / Math.LN2) % 1 == 0 + ); + }), + (pc.prototype.destroy = function () { + this.context.gl.deleteTexture(this.texture), + (this.texture = null); + }); + var dc = function (t) { + var e = this; + (this._callback = t), + (this._triggered = !1), + "undefined" != typeof MessageChannel && + ((this._channel = new MessageChannel()), + (this._channel.port2.onmessage = function () { + (e._triggered = !1), e._callback(); + })); + }; + (dc.prototype.trigger = function () { + var t = this; + this._triggered || + ((this._triggered = !0), + this._channel + ? this._channel.port1.postMessage(!0) + : setTimeout(function () { + (t._triggered = !1), t._callback(); + }, 0)); + }), + (dc.prototype.remove = function () { + delete this._channel, + (this._callback = function () {}); + }); + var vc = function (t, e, r) { + (this.target = t), + (this.parent = e), + (this.mapId = r), + (this.callbacks = {}), + (this.tasks = {}), + (this.taskQueue = []), + (this.cancelCallbacks = {}), + g(["receive", "process"], this), + (this.invoker = new dc(this.process)), + this.target.addEventListener( + "message", + this.receive, + !1, + ), + (this.globalScope = A() ? t : self); + }; + function gc(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, + ]; + } + (vc.prototype.send = function (t, e, r, n, i) { + var a = this; + void 0 === i && (i = !1); + var o = Math.round(1e18 * Math.random()) + .toString(36) + .substring(0, 10); + r && (this.callbacks[o] = r); + var s = E(this.globalScope) ? void 0 : []; + return ( + this.target.postMessage( + { + id: o, + type: t, + hasCallback: !!r, + targetMapId: n, + mustQueue: i, + sourceMapId: this.mapId, + data: ni(e, s), + }, + s, + ), + { + cancel: function () { + r && delete a.callbacks[o], + a.target.postMessage({ + id: o, + type: "", + targetMapId: n, + sourceMapId: a.mapId, + }); + }, + } + ); + }), + (vc.prototype.receive = function (t) { + var e = t.data, + r = e.id; + if ( + r && + (!e.targetMapId || + this.mapId === e.targetMapId) + ) + if ("" === e.type) { + delete this.tasks[r]; + var n = this.cancelCallbacks[r]; + delete this.cancelCallbacks[r], n && n(); + } else + A() || e.mustQueue + ? ((this.tasks[r] = e), + this.taskQueue.push(r), + this.invoker.trigger()) + : this.processTask(r, e); + }), + (vc.prototype.process = function () { + if (this.taskQueue.length) { + var t = this.taskQueue.shift(), + e = this.tasks[t]; + delete this.tasks[t], + this.taskQueue.length && + this.invoker.trigger(), + e && this.processTask(t, e); + } + }), + (vc.prototype.processTask = function (t, e) { + var r = this; + if ("" === e.type) { + var n = this.callbacks[t]; + delete this.callbacks[t], + n && + (e.error + ? n(ii(e.error)) + : n(null, ii(e.data))); + } else { + var i = !1, + a = E(this.globalScope) ? void 0 : [], + o = e.hasCallback + ? function (e, n) { + (i = !0), + delete r.cancelCallbacks[t], + r.target.postMessage( + { + id: t, + type: "", + sourceMapId: r.mapId, + error: e ? ni(e) : null, + data: ni(n, a), + }, + a, + ); + } + : function (t) { + i = !0; + }, + s = null, + l = ii(e.data); + if (this.parent[e.type]) + s = this.parent[e.type]( + e.sourceMapId, + l, + o, + ); + else if (this.parent.getWorkerSource) { + var u = e.type.split("."); + s = this.parent + .getWorkerSource( + e.sourceMapId, + u[0], + l.source, + ) + [u[1]](l, o); + } else + o( + new Error( + "Could not find function " + e.type, + ), + ); + !i && + s && + s.cancel && + (this.cancelCallbacks[t] = s.cancel); + } + }), + (vc.prototype.remove = function () { + this.invoker.remove(), + this.target.removeEventListener( + "message", + this.receive, + !1, + ); + }); + var yc = 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])); + }; + (yc.prototype.setNorthEast = function (t) { + return ( + (this._ne = + t instanceof xc + ? new xc(t.lng, t.lat) + : xc.convert(t)), + this + ); + }), + (yc.prototype.setSouthWest = function (t) { + return ( + (this._sw = + t instanceof xc + ? new xc(t.lng, t.lat) + : xc.convert(t)), + this + ); + }), + (yc.prototype.extend = function (t) { + var e, + r, + n = this._sw, + i = this._ne; + if (t instanceof xc) (e = t), (r = t); + else { + if (!(t instanceof yc)) { + if (Array.isArray(t)) { + if ( + 4 === t.length || + t.every(Array.isArray) + ) { + var a = t; + return this.extend(yc.convert(a)); + } + var o = t; + return this.extend(xc.convert(o)); + } + return this; + } + if (((e = t._sw), (r = t._ne), !e || !r)) + return this; + } + return ( + n || i + ? ((n.lng = Math.min(e.lng, n.lng)), + (n.lat = Math.min(e.lat, n.lat)), + (i.lng = Math.max(r.lng, i.lng)), + (i.lat = Math.max(r.lat, i.lat))) + : ((this._sw = new xc(e.lng, e.lat)), + (this._ne = new xc(r.lng, r.lat))), + this + ); + }), + (yc.prototype.getCenter = function () { + return new xc( + (this._sw.lng + this._ne.lng) / 2, + (this._sw.lat + this._ne.lat) / 2, + ); + }), + (yc.prototype.getSouthWest = function () { + return this._sw; + }), + (yc.prototype.getNorthEast = function () { + return this._ne; + }), + (yc.prototype.getNorthWest = function () { + return new xc(this.getWest(), this.getNorth()); + }), + (yc.prototype.getSouthEast = function () { + return new xc(this.getEast(), this.getSouth()); + }), + (yc.prototype.getWest = function () { + return this._sw.lng; + }), + (yc.prototype.getSouth = function () { + return this._sw.lat; + }), + (yc.prototype.getEast = function () { + return this._ne.lng; + }), + (yc.prototype.getNorth = function () { + return this._ne.lat; + }), + (yc.prototype.toArray = function () { + return [this._sw.toArray(), this._ne.toArray()]; + }), + (yc.prototype.toString = function () { + return ( + "LngLatBounds(" + + this._sw.toString() + + ", " + + this._ne.toString() + + ")" + ); + }), + (yc.prototype.isEmpty = function () { + return !(this._sw && this._ne); + }), + (yc.prototype.contains = function (t) { + var e = xc.convert(t), + r = e.lng, + n = e.lat, + i = this._sw.lat <= n && n <= this._ne.lat, + a = this._sw.lng <= r && r <= this._ne.lng; + return ( + this._sw.lng > this._ne.lng && + (a = + this._sw.lng >= r && r >= this._ne.lng), + i && a + ); + }), + (yc.convert = function (t) { + return !t || t instanceof yc ? t : new yc(t); + }); + var mc = 6371008.8, + xc = 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", + ); + }; + (xc.prototype.wrap = function () { + return new xc(c(this.lng, -180, 180), this.lat); + }), + (xc.prototype.toArray = function () { + return [this.lng, this.lat]; + }), + (xc.prototype.toString = function () { + return ( + "LngLat(" + this.lng + ", " + this.lat + ")" + ); + }), + (xc.prototype.distanceTo = function (t) { + var e = Math.PI / 180, + r = this.lat * e, + n = t.lat * e, + i = + Math.sin(r) * Math.sin(n) + + Math.cos(r) * + Math.cos(n) * + Math.cos((t.lng - this.lng) * e); + return mc * Math.acos(Math.min(i, 1)); + }), + (xc.prototype.toBounds = function (t) { + void 0 === t && (t = 0); + var e = (360 * t) / 40075017, + r = e / Math.cos((Math.PI / 180) * this.lat); + return new yc( + new xc(this.lng - r, this.lat - e), + new xc(this.lng + r, this.lat + e), + ); + }), + (xc.convert = function (t) { + if (t instanceof xc) return t; + if ( + Array.isArray(t) && + (2 === t.length || 3 === t.length) + ) + return new xc(Number(t[0]), Number(t[1])); + if ( + !Array.isArray(t) && + "object" == typeof t && + null !== t + ) + return new xc( + Number("lng" in t ? t.lng : t.lon), + Number(t.lat), + ); + throw new Error( + "`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]", + ); + }); + var bc = 2 * Math.PI * mc; + function _c(t) { + return bc * Math.cos((t * Math.PI) / 180); + } + function wc(t) { + return (180 + t) / 360; + } + function Tc(t) { + return ( + (180 - + (180 / Math.PI) * + Math.log( + Math.tan( + Math.PI / 4 + (t * Math.PI) / 360, + ), + )) / + 360 + ); + } + function kc(t, e) { + return t / _c(e); + } + function Ac(t) { + var e = 180 - 360 * t; + return ( + (360 / Math.PI) * + Math.atan(Math.exp((e * Math.PI) / 180)) - + 90 + ); + } + var Mc = function (t, e, r) { + void 0 === r && (r = 0), + (this.x = +t), + (this.y = +e), + (this.z = +r); + }; + (Mc.fromLngLat = function (t, e) { + void 0 === e && (e = 0); + var r = xc.convert(t); + return new Mc(wc(r.lng), Tc(r.lat), kc(e, r.lat)); + }), + (Mc.prototype.toLngLat = function () { + return new xc(360 * this.x - 180, Ac(this.y)); + }), + (Mc.prototype.toAltitude = function () { + return ( + (t = this.z), (e = this.y), t * _c(Ac(e)) + ); + var t, e; + }), + (Mc.prototype.meterInMercatorCoordinateUnits = + function () { + return ( + (1 / bc) * + ((t = Ac(this.y)), + 1 / Math.cos((t * Math.PI) / 180)) + ); + var t; + }); + var Sc = function (t, e, r) { + (this.z = t), + (this.x = e), + (this.y = r), + (this.key = Cc(0, t, t, e, r)); + }; + (Sc.prototype.equals = function (t) { + return ( + this.z === t.z && + this.x === t.x && + this.y === t.y + ); + }), + (Sc.prototype.url = function (t, e) { + var r, + n, + i, + a, + o, + s = + ((r = this.x), + (n = this.y), + (i = this.z), + (a = gc( + 256 * r, + 256 * (n = Math.pow(2, i) - n - 1), + i, + )), + (o = gc(256 * (r + 1), 256 * (n + 1), i)), + a[0] + + "," + + a[1] + + "," + + o[0] + + "," + + o[1]), + l = (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}", l) + .replace("{bbox-epsg-3857}", s); + }), + (Sc.prototype.getTilePoint = function (t) { + var e = Math.pow(2, this.z); + return new a( + (t.x * e - this.x) * oo, + (t.y * e - this.y) * oo, + ); + }), + (Sc.prototype.toString = function () { + return this.z + "/" + this.x + "/" + this.y; + }); + var Ec = function (t, e) { + (this.wrap = t), + (this.canonical = e), + (this.key = Cc(t, e.z, e.z, e.x, e.y)); + }, + Lc = function (t, e, r, n, i) { + (this.overscaledZ = t), + (this.wrap = e), + (this.canonical = new Sc(r, +n, +i)), + (this.key = Cc(e, t, r, n, i)); + }; + function Cc(t, e, r, n, i) { + (t *= 2) < 0 && (t = -1 * t - 1); + var a = 1 << r; + return ( + (a * a * t + a * i + n).toString(36) + + r.toString(36) + + e.toString(36) + ); + } + (Lc.prototype.equals = function (t) { + return ( + this.overscaledZ === t.overscaledZ && + this.wrap === t.wrap && + this.canonical.equals(t.canonical) + ); + }), + (Lc.prototype.scaledTo = function (t) { + var e = this.canonical.z - t; + return t > this.canonical.z + ? new Lc( + t, + this.wrap, + this.canonical.z, + this.canonical.x, + this.canonical.y, + ) + : new Lc( + t, + this.wrap, + t, + this.canonical.x >> e, + this.canonical.y >> e, + ); + }), + (Lc.prototype.calculateScaledKey = function ( + t, + e, + ) { + var r = this.canonical.z - t; + return t > this.canonical.z + ? Cc( + this.wrap * +e, + t, + this.canonical.z, + this.canonical.x, + this.canonical.y, + ) + : Cc( + this.wrap * +e, + t, + t, + this.canonical.x >> r, + this.canonical.y >> r, + ); + }), + (Lc.prototype.isChildOf = function (t) { + if (t.wrap !== this.wrap) return !1; + 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) + ); + }), + (Lc.prototype.children = function (t) { + if (this.overscaledZ >= t) + return [ + new Lc( + 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 Lc(e, this.wrap, e, r, n), + new Lc(e, this.wrap, e, r + 1, n), + new Lc(e, this.wrap, e, r, n + 1), + new Lc(e, this.wrap, e, r + 1, n + 1), + ]; + }), + (Lc.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))))) + ); + }), + (Lc.prototype.wrapped = function () { + return new Lc( + this.overscaledZ, + 0, + this.canonical.z, + this.canonical.x, + this.canonical.y, + ); + }), + (Lc.prototype.unwrapTo = function (t) { + return new Lc( + this.overscaledZ, + t, + this.canonical.z, + this.canonical.x, + this.canonical.y, + ); + }), + (Lc.prototype.overscaleFactor = function () { + return Math.pow( + 2, + this.overscaledZ - this.canonical.z, + ); + }), + (Lc.prototype.toUnwrapped = function () { + return new Ec(this.wrap, this.canonical); + }), + (Lc.prototype.toString = function () { + return ( + this.overscaledZ + + "/" + + this.canonical.x + + "/" + + this.canonical.y + ); + }), + (Lc.prototype.getTilePoint = function (t) { + return this.canonical.getTilePoint( + new Mc(t.x - this.wrap, t.y), + ); + }), + Qn("CanonicalTileID", Sc), + Qn("OverscaledTileID", Lc, { + omit: ["posMatrix"], + }); + var Oc = function (t, e, r) { + if (((this.uid = t), e.height !== e.width)) + throw new RangeError( + "DEM tiles must be square", + ); + if (r && "mapbox" !== r && "terrarium" !== r) + return w( + '"' + + r + + '" is not a valid encoding type. Valid types include "mapbox" and "terrarium".', + ); + this.stride = e.height; + var n = (this.dim = e.height - 2); + (this.data = new Uint32Array(e.data.buffer)), + (this.encoding = r || "mapbox"); + for (var i = 0; i < n; i++) + (this.data[this._idx(-1, i)] = + this.data[this._idx(0, i)]), + (this.data[this._idx(n, i)] = + this.data[this._idx(n - 1, i)]), + (this.data[this._idx(i, -1)] = + this.data[this._idx(i, 0)]), + (this.data[this._idx(i, n)] = + this.data[this._idx(i, n - 1)]); + (this.data[this._idx(-1, -1)] = + this.data[this._idx(0, 0)]), + (this.data[this._idx(n, -1)] = + this.data[this._idx(n - 1, 0)]), + (this.data[this._idx(-1, n)] = + this.data[this._idx(0, n - 1)]), + (this.data[this._idx(n, n)] = + this.data[this._idx(n - 1, n - 1)]); + }; + (Oc.prototype.get = function (t, e) { + var r = new Uint8Array(this.data.buffer), + n = 4 * this._idx(t, e); + return ( + "terrarium" === this.encoding + ? this._unpackTerrarium + : this._unpackMapbox + )(r[n], r[n + 1], r[n + 2]); + }), + (Oc.prototype.getUnpackVector = function () { + return "terrarium" === this.encoding + ? [256, 1, 1 / 256, 32768] + : [6553.6, 25.6, 0.1, 1e4]; + }), + (Oc.prototype._idx = function (t, e) { + if ( + t < -1 || + t >= this.dim + 1 || + e < -1 || + e >= this.dim + 1 + ) + throw new RangeError( + "out of range source coordinates for DEM data", + ); + return (e + 1) * this.stride + (t + 1); + }), + (Oc.prototype._unpackMapbox = function (t, e, r) { + return (256 * t * 256 + 256 * e + r) / 10 - 1e4; + }), + (Oc.prototype._unpackTerrarium = function ( + t, + e, + r, + ) { + return 256 * t + e + r / 256 - 32768; + }), + (Oc.prototype.getPixels = function () { + return new qo( + { width: this.stride, height: this.stride }, + new Uint8Array(this.data.buffer), + ); + }), + (Oc.prototype.backfillBorder = function ( + t, + e, + r, + ) { + if (this.dim !== t.dim) + throw new Error("dem dimension mismatch"); + var n = e * this.dim, + i = e * this.dim + this.dim, + a = r * this.dim, + o = r * this.dim + this.dim; + switch (e) { + case -1: + n = i - 1; + break; + case 1: + i = n + 1; + } + switch (r) { + case -1: + a = o - 1; + break; + case 1: + o = a + 1; + } + for ( + var s = -e * this.dim, + l = -r * this.dim, + u = a; + u < o; + u++ + ) + for (var c = n; c < i; c++) + this.data[this._idx(c, u)] = + t.data[this._idx(c + s, u + l)]; + }), + Qn("DEMData", Oc); + var Pc = 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); + } + }; + (Pc.prototype.encode = function (t) { + return this._stringToNumber[t]; + }), + (Pc.prototype.decode = function (t) { + return this._numberToString[t]; + }); + var Ic = function (t, e, r, n, i) { + (this.type = "Feature"), + (this._vectorTileFeature = t), + (t._z = e), + (t._x = r), + (t._y = n), + (this.properties = t.properties), + (this.id = i); + }, + Dc = { geometry: { configurable: !0 } }; + (Dc.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 + ); + }), + (Dc.geometry.set = function (t) { + this._geometry = t; + }), + (Ic.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(Ic.prototype, Dc); + var zc = function () { + (this.state = {}), + (this.stateChanges = {}), + (this.deletedStates = {}); + }; + (zc.prototype.updateState = function (t, e, r) { + var n = String(e); + if ( + ((this.stateChanges[t] = + this.stateChanges[t] || {}), + (this.stateChanges[t][n] = + this.stateChanges[t][n] || {}), + f(this.stateChanges[t][n], r), + null === this.deletedStates[t]) + ) + for (var i in ((this.deletedStates[t] = {}), + this.state[t])) + i !== n && (this.deletedStates[t][i] = null); + else if ( + this.deletedStates[t] && + null === this.deletedStates[t][n] + ) + for (var a in ((this.deletedStates[t][n] = {}), + this.state[t][n])) + r[a] || (this.deletedStates[t][n][a] = null); + else + for (var o in r) + this.deletedStates[t] && + this.deletedStates[t][n] && + null === this.deletedStates[t][n][o] && + delete this.deletedStates[t][n][o]; + }), + (zc.prototype.removeFeatureState = function ( + t, + e, + r, + ) { + if (null !== this.deletedStates[t]) { + var n = String(e); + if ( + ((this.deletedStates[t] = + this.deletedStates[t] || {}), + r && void 0 !== e) + ) + null !== this.deletedStates[t][n] && + ((this.deletedStates[t][n] = + this.deletedStates[t][n] || {}), + (this.deletedStates[t][n][r] = null)); + else if (void 0 !== e) + if ( + this.stateChanges[t] && + this.stateChanges[t][n] + ) + for (r in ((this.deletedStates[t][n] = + {}), + this.stateChanges[t][n])) + this.deletedStates[t][n][r] = null; + else this.deletedStates[t][n] = null; + else this.deletedStates[t] = null; + } + }), + (zc.prototype.getState = function (t, e) { + var r = String(e), + n = this.state[t] || {}, + i = this.stateChanges[t] || {}, + a = f({}, n[r], i[r]); + if (null === this.deletedStates[t]) return {}; + if (this.deletedStates[t]) { + var o = this.deletedStates[t][e]; + if (null === o) return {}; + for (var s in o) delete a[s]; + } + return a; + }), + (zc.prototype.initializeTileState = function ( + t, + e, + ) { + t.setFeatureState(this.state, e); + }), + (zc.prototype.coalesceChanges = function (t, e) { + var r = {}; + for (var n in this.stateChanges) { + this.state[n] = this.state[n] || {}; + var i = {}; + for (var a in this.stateChanges[n]) + this.state[n][a] || (this.state[n][a] = {}), + f( + this.state[n][a], + this.stateChanges[n][a], + ), + (i[a] = this.state[n][a]); + r[n] = i; + } + for (var o in this.deletedStates) { + this.state[o] = this.state[o] || {}; + var s = {}; + if (null === this.deletedStates[o]) + for (var l in this.state[o]) + (s[l] = {}), (this.state[o][l] = {}); + else + for (var u in this.deletedStates[o]) { + if (null === this.deletedStates[o][u]) + this.state[o][u] = {}; + else + for ( + var c = 0, + h = Object.keys( + this.deletedStates[o][u], + ); + c < h.length; + c += 1 + ) { + var p = h[c]; + delete this.state[o][u][p]; + } + s[u] = this.state[o][u]; + } + (r[o] = r[o] || {}), f(r[o], s); + } + if ( + ((this.stateChanges = {}), + (this.deletedStates = {}), + 0 !== Object.keys(r).length) + ) + for (var d in t) t[d].setFeatureState(r, e); + }); + var Rc = function (t, e) { + (this.tileID = t), + (this.x = t.canonical.x), + (this.y = t.canonical.y), + (this.z = t.canonical.z), + (this.grid = new Yn(oo, 16, 0)), + (this.grid3D = new Yn(oo, 16, 0)), + (this.featureIndexArray = new Ma()), + (this.promoteId = e); + }; + function Fc(t, e, r, n, i) { + return m(t, function (t, a) { + var o = e instanceof zi ? e.get(a) : null; + return o && o.evaluate + ? o.evaluate(r, n, i) + : o; + }); + } + function Bc(t) { + for ( + var e = 1 / 0, + r = 1 / 0, + n = -1 / 0, + i = -1 / 0, + a = 0, + o = t; + a < o.length; + a += 1 + ) { + var s = o[a]; + (e = Math.min(e, s.x)), + (r = Math.min(r, s.y)), + (n = Math.max(n, s.x)), + (i = Math.max(i, s.y)); + } + return { minX: e, minY: r, maxX: n, maxY: i }; + } + function Nc(t, e) { + return e - t; + } + (Rc.prototype.insert = function (t, e, r, n, i, a) { + var o = this.featureIndexArray.length; + this.featureIndexArray.emplaceBack(r, n, i); + for ( + var s = a ? this.grid3D : this.grid, l = 0; + l < e.length; + l++ + ) { + for ( + var u = e[l], + c = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + f = 0; + f < u.length; + f++ + ) { + var h = u[f]; + (c[0] = Math.min(c[0], h.x)), + (c[1] = Math.min(c[1], h.y)), + (c[2] = Math.max(c[2], h.x)), + (c[3] = Math.max(c[3], h.y)); + } + c[0] < oo && + c[1] < oo && + c[2] >= 0 && + c[3] >= 0 && + s.insert(o, c[0], c[1], c[2], c[3]); + } + }), + (Rc.prototype.loadVTLayers = function () { + return ( + this.vtLayers || + ((this.vtLayers = new Zs.VectorTile( + new Tl(this.rawTileData), + ).layers), + (this.sourceLayerCoder = new Pc( + this.vtLayers + ? Object.keys(this.vtLayers).sort() + : ["_geojsonTileLayer"], + ))), + this.vtLayers + ); + }), + (Rc.prototype.query = function (t, e, r, n) { + var i = this; + this.loadVTLayers(); + for ( + var o = t.params || {}, + s = oo / t.tileSize / t.scale, + l = xn(o.filter), + u = t.queryGeometry, + c = t.queryPadding * s, + f = Bc(u), + h = this.grid.query( + f.minX - c, + f.minY - c, + f.maxX + c, + f.maxY + c, + ), + p = Bc(t.cameraQueryGeometry), + d = 0, + v = this.grid3D.query( + p.minX - c, + p.minY - c, + p.maxX + c, + p.maxY + c, + function (e, r, n, i) { + return (function (t, e, r, n, i) { + for ( + var o = 0, s = t; + o < s.length; + o += 1 + ) { + var l = s[o]; + if ( + e <= l.x && + r <= l.y && + n >= l.x && + i >= l.y + ) + return !0; + } + var u = [ + new a(e, r), + new a(e, i), + new a(n, i), + new a(n, r), + ]; + if (t.length > 2) + for ( + var c = 0, f = u; + c < f.length; + c += 1 + ) + if (wo(t, f[c])) return !0; + for (var h = 0; h < t.length - 1; h++) + if (To(t[h], t[h + 1], u)) + return !0; + return !1; + })( + t.cameraQueryGeometry, + e - c, + r - c, + n + c, + i + c, + ); + }, + ); + d < v.length; + d += 1 + ) { + var g = v[d]; + h.push(g); + } + h.sort(Nc); + for ( + var y, + m = {}, + x = function (a) { + var c = h[a]; + if (c !== y) { + y = c; + var f = i.featureIndexArray.get(c), + p = null; + i.loadMatchingFeature( + m, + f.bucketIndex, + f.sourceLayerIndex, + f.featureIndex, + l, + o.layers, + o.availableImages, + e, + r, + n, + function (e, r, n) { + return ( + p || (p = uo(e)), + r.queryIntersectsFeature( + u, + e, + n, + p, + i.z, + t.transform, + s, + t.pixelPosMatrix, + ) + ); + }, + ); + } + }, + b = 0; + b < h.length; + b++ + ) + x(b); + return m; + }), + (Rc.prototype.loadMatchingFeature = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) { + var f = this.bucketLayerIDs[e]; + if ( + !a || + (function (t, e) { + for (var r = 0; r < t.length; r++) + if (e.indexOf(t[r]) >= 0) return !0; + return !1; + })(a, f) + ) { + var h = this.sourceLayerCoder.decode(r), + p = this.vtLayers[h].feature(n); + if ( + i.filter(new Si(this.tileID.overscaledZ), p) + ) + for ( + var d = this.getId(p, h), v = 0; + v < f.length; + v++ + ) { + var g = f[v]; + if (!(a && a.indexOf(g) < 0)) { + var y = s[g]; + if (y) { + var m = {}; + void 0 !== d && + u && + (m = u.getState( + y.sourceLayer || + "_geojsonTileLayer", + d, + )); + var x = l[g]; + (x.paint = Fc( + x.paint, + y.paint, + p, + m, + o, + )), + (x.layout = Fc( + x.layout, + y.layout, + p, + m, + o, + )); + var b = !c || c(p, y, m); + if (b) { + var _ = new Ic( + p, + this.z, + this.x, + this.y, + d, + ); + _.layer = x; + var w = t[g]; + void 0 === w && (w = t[g] = []), + w.push({ + featureIndex: n, + feature: _, + intersectionZ: b, + }); + } + } + } + } + } + }), + (Rc.prototype.lookupSymbolFeatures = function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + var l = {}; + this.loadVTLayers(); + for ( + var u = xn(i), c = 0, f = t; + c < f.length; + c += 1 + ) { + var h = f[c]; + this.loadMatchingFeature( + l, + r, + n, + h, + u, + a, + o, + s, + e, + ); + } + return l; + }), + (Rc.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; + }), + (Rc.prototype.getId = function (t, e) { + var r = t.id; + if (this.promoteId) { + var n = + "string" == typeof this.promoteId + ? this.promoteId + : this.promoteId[e]; + "boolean" == typeof (r = t.properties[n]) && + (r = Number(r)); + } + return r; + }), + Qn("FeatureIndex", Rc, { + omit: ["rawTileData", "sourceLayerCoder"], + }); + var jc = function (t, e) { + (this.tileID = t), + (this.uid = p()), + (this.uses = 0), + (this.tileSize = e), + (this.buckets = {}), + (this.expirationTime = null), + (this.queryPadding = 0), + (this.hasSymbolBuckets = !1), + (this.hasRTLText = !1), + (this.dependencies = {}), + (this.expiredRequestCount = 0), + (this.state = "loading"); + }; + (jc.prototype.registerFadeDuration = function (t) { + var e = t + this.timeAdded; + e < F.now() || + (this.fadeEndTime && e < this.fadeEndTime) || + (this.fadeEndTime = e); + }), + (jc.prototype.wasRequested = function () { + return ( + "errored" === this.state || + "loaded" === this.state || + "reloading" === this.state + ); + }), + (jc.prototype.loadVectorData = function ( + t, + e, + r, + ) { + if ( + (this.hasData() && this.unloadVectorData(), + (this.state = "loaded"), + t) + ) { + for (var n in (t.featureIndex && + ((this.latestFeatureIndex = t.featureIndex), + t.rawTileData + ? ((this.latestRawTileData = + t.rawTileData), + (this.latestFeatureIndex.rawTileData = + t.rawTileData)) + : this.latestRawTileData && + (this.latestFeatureIndex.rawTileData = + this.latestRawTileData)), + (this.collisionBoxArray = + t.collisionBoxArray), + (this.buckets = (function (t, e) { + var r = {}; + if (!e) return r; + for ( + var n = function () { + var t = a[i], + n = t.layerIds + .map(function (t) { + return e.getLayer(t); + }) + .filter(Boolean); + if (0 !== n.length) { + (t.layers = n), + t.stateDependentLayerIds && + (t.stateDependentLayers = + t.stateDependentLayerIds.map( + function (t) { + return n.filter( + function (e) { + return e.id === t; + }, + )[0]; + }, + )); + for ( + var o = 0, s = n; + o < s.length; + o += 1 + ) { + var l = s[o]; + r[l.id] = t; + } + } + }, + i = 0, + a = t; + i < a.length; + i += 1 + ) + n(); + return r; + })(t.buckets, e.style)), + (this.hasSymbolBuckets = !1), + this.buckets)) { + var i = this.buckets[n]; + if (i instanceof Ku) { + if (((this.hasSymbolBuckets = !0), !r)) + break; + i.justReloaded = !0; + } + } + if ( + ((this.hasRTLText = !1), + this.hasSymbolBuckets) + ) + for (var a in this.buckets) { + var o = this.buckets[a]; + if (o instanceof Ku && o.hasRTLText) { + (this.hasRTLText = !0), + Mi.isLoading() || + Mi.isLoaded() || + "deferred" !== ki() || + Ai(); + break; + } + } + for (var s in ((this.queryPadding = 0), + this.buckets)) { + var l = this.buckets[s]; + this.queryPadding = Math.max( + this.queryPadding, + e.style.getLayer(s).queryRadius(l), + ); + } + t.imageAtlas && + (this.imageAtlas = t.imageAtlas), + t.glyphAtlasImage && + (this.glyphAtlasImage = + t.glyphAtlasImage); + } else this.collisionBoxArray = new ma(); + }), + (jc.prototype.unloadVectorData = function () { + for (var t in this.buckets) + this.buckets[t].destroy(); + (this.buckets = {}), + this.imageAtlasTexture && + this.imageAtlasTexture.destroy(), + this.imageAtlas && (this.imageAtlas = null), + this.glyphAtlasTexture && + this.glyphAtlasTexture.destroy(), + (this.latestFeatureIndex = null), + (this.state = "unloaded"); + }), + (jc.prototype.getBucket = function (t) { + return this.buckets[t.id]; + }), + (jc.prototype.upload = function (t) { + for (var e in this.buckets) { + var r = this.buckets[e]; + r.uploadPending() && r.upload(t); + } + var n = t.gl; + this.imageAtlas && + !this.imageAtlas.uploaded && + ((this.imageAtlasTexture = new pc( + t, + this.imageAtlas.image, + n.RGBA, + )), + (this.imageAtlas.uploaded = !0)), + this.glyphAtlasImage && + ((this.glyphAtlasTexture = new pc( + t, + this.glyphAtlasImage, + n.ALPHA, + )), + (this.glyphAtlasImage = null)); + }), + (jc.prototype.prepare = function (t) { + this.imageAtlas && + this.imageAtlas.patchUpdatedImages( + t, + this.imageAtlasTexture, + ); + }), + (jc.prototype.queryRenderedFeatures = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + ) { + return this.latestFeatureIndex && + this.latestFeatureIndex.rawTileData + ? this.latestFeatureIndex.query( + { + queryGeometry: n, + cameraQueryGeometry: i, + scale: a, + tileSize: this.tileSize, + pixelPosMatrix: u, + transform: s, + params: o, + queryPadding: this.queryPadding * l, + }, + t, + e, + r, + ) + : {}; + }), + (jc.prototype.querySourceFeatures = function ( + t, + e, + ) { + var r = this.latestFeatureIndex; + if (r && r.rawTileData) { + var n = r.loadVTLayers(), + i = e ? e.sourceLayer : "", + a = n._geojsonTileLayer || n[i]; + if (a) + for ( + var o = xn(e && e.filter), + s = this.tileID.canonical, + l = s.z, + u = s.x, + c = s.y, + f = { z: l, x: u, y: c }, + h = 0; + h < a.length; + h++ + ) { + var p = a.feature(h); + if ( + o.filter( + new Si(this.tileID.overscaledZ), + p, + ) + ) { + var d = r.getId(p, i), + v = new Ic(p, l, u, c, d); + (v.tile = f), t.push(v); + } + } + } + }), + (jc.prototype.hasData = function () { + return ( + "loaded" === this.state || + "reloading" === this.state || + "expired" === this.state + ); + }), + (jc.prototype.patternsLoaded = function () { + return ( + this.imageAtlas && + !!Object.keys( + this.imageAtlas.patternPositions, + ).length + ); + }), + (jc.prototype.setExpiryData = function (t) { + var e = this.expirationTime; + if (t.cacheControl) { + var r = M(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 n = Date.now(), + i = !1; + if (this.expirationTime > n) i = !1; + else if (e) + if (this.expirationTime < e) i = !0; + else { + var a = this.expirationTime - e; + a + ? (this.expirationTime = + n + Math.max(a, 3e4)) + : (i = !0); + } + else i = !0; + i + ? (this.expiredRequestCount++, + (this.state = "expired")) + : (this.expiredRequestCount = 0); + } + }), + (jc.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, + ); + }), + (jc.prototype.setFeatureState = function (t, e) { + if ( + this.latestFeatureIndex && + this.latestFeatureIndex.rawTileData && + 0 !== Object.keys(t).length + ) { + var r = + this.latestFeatureIndex.loadVTLayers(); + for (var n in this.buckets) + if (e.style.hasLayer(n)) { + var i = this.buckets[n], + a = + i.layers[0].sourceLayer || + "_geojsonTileLayer", + o = r[a], + s = t[a]; + if ( + o && + s && + 0 !== Object.keys(s).length + ) { + i.update( + s, + o, + (this.imageAtlas && + this.imageAtlas.patternPositions) || + {}, + ); + var l = + e && e.style && e.style.getLayer(n); + l && + (this.queryPadding = Math.max( + this.queryPadding, + l.queryRadius(i), + )); + } + } + } + }), + (jc.prototype.holdingForFade = function () { + return void 0 !== this.symbolFadeHoldUntil; + }), + (jc.prototype.symbolFadeFinished = function () { + return ( + !this.symbolFadeHoldUntil || + this.symbolFadeHoldUntil < F.now() + ); + }), + (jc.prototype.clearFadeHold = function () { + this.symbolFadeHoldUntil = void 0; + }), + (jc.prototype.setHoldDuration = function (t) { + this.symbolFadeHoldUntil = F.now() + t; + }), + (jc.prototype.setDependencies = function (t, e) { + for ( + var r = {}, n = 0, i = e; + n < i.length; + n += 1 + ) + r[i[n]] = !0; + this.dependencies[t] = r; + }), + (jc.prototype.hasDependency = function (t, e) { + for (var r = 0, n = t; r < n.length; r += 1) { + var i = n[r], + a = this.dependencies[i]; + if (a) + for (var o = 0, s = e; o < s.length; o += 1) + if (a[s[o]]) return !0; + } + return !1; + }); + var Uc = self.performance, + Vc = function (t) { + (this._marks = { + start: [t.url, "start"].join("#"), + end: [t.url, "end"].join("#"), + measure: t.url.toString(), + }), + Uc.mark(this._marks.start); + }; + (Vc.prototype.finish = function () { + Uc.mark(this._marks.end); + var t = Uc.getEntriesByName(this._marks.measure); + return ( + 0 === t.length && + (Uc.measure( + this._marks.measure, + this._marks.start, + this._marks.end, + ), + (t = Uc.getEntriesByName( + this._marks.measure, + )), + Uc.clearMarks(this._marks.start), + Uc.clearMarks(this._marks.end), + Uc.clearMeasures(this._marks.measure)), + t + ); + }), + (t.Actor = vc), + (t.AlphaImage = Ho), + (t.CanonicalTileID = Sc), + (t.CollisionBoxArray = ma), + (t.Color = ae), + (t.DEMData = Oc), + (t.DataConstantProperty = Ri), + (t.DictionaryCoder = Pc), + (t.EXTENT = oo), + (t.ErrorEvent = Ot), + (t.EvaluationParameters = Si), + (t.Event = Ct), + (t.Evented = Pt), + (t.FeatureIndex = Rc), + (t.FillBucket = Is), + (t.FillExtrusionBucket = Js), + (t.ImageAtlas = Xl), + (t.ImagePosition = Wl), + (t.LineBucket = ol), + (t.LngLat = xc), + (t.LngLatBounds = yc), + (t.MercatorCoordinate = Mc), + (t.ONE_EM = bl), + (t.OverscaledTileID = Lc), + (t.Point = a), + (t.Point$1 = a), + (t.Properties = Ui), + (t.Protobuf = Tl), + (t.RGBAImage = qo), + (t.RequestManager = q), + (t.RequestPerformance = Vc), + (t.ResourceType = mt), + (t.SegmentVector = Ea), + (t.SourceFeatureState = zc), + (t.StructArrayLayout1ui2 = da), + (t.StructArrayLayout2f1f2i16 = aa), + (t.StructArrayLayout2i4 = Xi), + (t.StructArrayLayout3ui6 = sa), + (t.StructArrayLayout4i8 = Ji), + (t.SymbolBucket = Ku), + (t.Texture = pc), + (t.Tile = jc), + (t.Transitionable = Ci), + (t.Uniform1f = Ha), + (t.Uniform1i = Va), + (t.Uniform2f = qa), + (t.Uniform3f = Ga), + (t.Uniform4f = Za), + (t.UniformColor = Wa), + (t.UniformMatrix4f = Xa), + (t.UnwrappedTileID = Ec), + (t.ValidationError = Dt), + (t.WritingMode = Jl), + (t.ZoomHistory = ai), + (t.add = function (t, e, r) { + return ( + (t[0] = e[0] + r[0]), + (t[1] = e[1] + r[1]), + (t[2] = e[2] + r[2]), + t + ); + }), + (t.addDynamicAttributes = Wu), + (t.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); + }); + }); + }), + (t.bezier = s), + (t.bindAll = g), + (t.browser = F), + (t.cacheEntryPossiblyAdded = function (t) { + ++gt > ct && + (t + .getActor() + .send("enforceCacheSizeLimit", ut), + (gt = 0)); + }), + (t.clamp = u), + (t.clearTileCache = function (t) { + var e = self.caches.delete(lt); + t && + e.catch(t).then(function () { + return t(); + }); + }), + (t.clipLine = Au), + (t.clone = function (t) { + var e = new Lo(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 + ); + }), + (t.clone$1 = b), + (t.clone$2 = function (t) { + var e = new Lo(3); + return ( + (e[0] = t[0]), (e[1] = t[1]), (e[2] = t[2]), e + ); + }), + (t.collisionCircleLayout = yl), + (t.config = B), + (t.create = function () { + var t = new Lo(16); + return ( + Lo != Float32Array && + ((t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0)), + (t[0] = 1), + (t[5] = 1), + (t[10] = 1), + (t[15] = 1), + t + ); + }), + (t.create$1 = function () { + var t = new Lo(9); + return ( + Lo != Float32Array && + ((t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[5] = 0), + (t[6] = 0), + (t[7] = 0)), + (t[0] = 1), + (t[4] = 1), + (t[8] = 1), + t + ); + }), + (t.create$2 = function () { + var t = new Lo(4); + return ( + Lo != Float32Array && + ((t[1] = 0), (t[2] = 0)), + (t[0] = 1), + (t[3] = 1), + t + ); + }), + (t.createCommonjsModule = e), + (t.createExpression = an), + (t.createLayout = Wi), + (t.createStyleLayer = function (t) { + return "custom" === t.type + ? new oc(t) + : new sc[t.type](t); + }), + (t.cross = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = r[0], + s = r[1], + l = r[2]; + return ( + (t[0] = i * l - a * s), + (t[1] = a * o - n * l), + (t[2] = n * s - i * o), + t + ); + }), + (t.deepEqual = function t(e, r) { + if (Array.isArray(e)) { + if ( + !Array.isArray(r) || + e.length !== r.length + ) + return !1; + for (var n = 0; n < e.length; n++) + if (!t(e[n], r[n])) return !1; + return !0; + } + if ( + "object" == typeof e && + null !== e && + null !== r + ) { + if ("object" != typeof r) return !1; + if ( + Object.keys(e).length !== + Object.keys(r).length + ) + return !1; + for (var i in e) + if (!t(e[i], r[i])) return !1; + return !0; + } + return e === r; + }), + (t.dot = function (t, e) { + return t[0] * e[0] + t[1] * e[1] + t[2] * e[2]; + }), + (t.dot$1 = function (t, e) { + return ( + t[0] * e[0] + + t[1] * e[1] + + t[2] * e[2] + + t[3] * e[3] + ); + }), + (t.ease = l), + (t.emitValidationErrors = Wn), + (t.endsWith = y), + (t.enforceCacheSizeLimit = function (t) { + ft(), + tt && + tt.then(function (e) { + e.keys().then(function (r) { + for (var n = 0; n < r.length - t; n++) + e.delete(r[n]); + }); + }); + }), + (t.evaluateSizeForFeature = vu), + (t.evaluateSizeForZoom = gu), + (t.evaluateVariableOffset = Bu), + (t.evented = Ti), + (t.extend = f), + (t.featureFilter = xn), + (t.filterObject = x), + (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 + ); + }), + (t.getAnchorAlignment = uu), + (t.getAnchorJustification = Nu), + (t.getArrayBuffer = Tt), + (t.getImage = St), + (t.getJSON = function (t, e) { + return wt(f(t, { type: "json" }), e); + }), + (t.getRTLTextPluginStatus = ki), + (t.getReferrer = bt), + (t.getVideo = function (t, e) { + var r, + n, + i = self.document.createElement("video"); + (i.muted = !0), + (i.onloadstart = function () { + e(null, i); + }); + for (var a = 0; a < t.length; a++) { + var o = self.document.createElement("source"); + (r = t[a]), + (n = void 0), + ((n = + self.document.createElement("a")).href = + r), + (n.protocol === + self.document.location.protocol && + n.host === self.document.location.host) || + (i.crossOrigin = "Anonymous"), + (o.src = t[a]), + i.appendChild(o); + } + return { cancel: function () {} }; + }), + (t.identity = Co), + (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], + f = e[9], + h = e[10], + p = e[11], + d = e[12], + v = e[13], + g = e[14], + y = e[15], + m = r * s - n * o, + x = r * l - i * o, + b = r * u - a * o, + _ = n * l - i * s, + w = n * u - a * s, + T = i * u - a * l, + k = c * v - f * d, + A = c * g - h * d, + M = c * y - p * d, + S = f * g - h * v, + E = f * y - p * v, + L = h * y - p * g, + C = + m * L - + x * E + + b * S + + _ * M - + w * A + + T * k; + return C + ? ((C = 1 / C), + (t[0] = (s * L - l * E + u * S) * C), + (t[1] = (i * E - n * L - a * S) * C), + (t[2] = (v * T - g * w + y * _) * C), + (t[3] = (h * w - f * T - p * _) * C), + (t[4] = (l * M - o * L - u * A) * C), + (t[5] = (r * L - i * M + a * A) * C), + (t[6] = (g * b - d * T - y * x) * C), + (t[7] = (c * T - h * b + p * x) * C), + (t[8] = (o * E - s * M + u * k) * C), + (t[9] = (n * M - r * E - a * k) * C), + (t[10] = (d * w - v * b + y * m) * C), + (t[11] = (f * b - c * w - p * m) * C), + (t[12] = (s * A - o * S - l * k) * C), + (t[13] = (r * S - n * A + i * k) * C), + (t[14] = (v * x - d * _ - g * m) * C), + (t[15] = (c * _ - f * x + h * m) * C), + t) + : null; + }), + (t.isChar = oi), + (t.isMapboxURL = G), + (t.keysDifference = function (t, e) { + var r = []; + for (var n in t) n in e || r.push(n); + return r; + }), + (t.makeRequest = wt), + (t.mapObject = m), + (t.mercatorXfromLng = wc), + (t.mercatorYfromLat = Tc), + (t.mercatorZfromAltitude = kc), + (t.mul = Po), + (t.multiply = Oo), + (t.mvt = Zs), + (t.normalize = function (t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = r * r + n * n + i * i; + return ( + a > 0 && (a = 1 / Math.sqrt(a)), + (t[0] = e[0] * a), + (t[1] = e[1] * a), + (t[2] = e[2] * a), + t + ); + }), + (t.number = Ke), + (t.offscreenCanvasSupported = yt), + (t.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 + ); + }), + (t.parseGlyphPBF = function (t) { + return new Tl(t).readFields(Hl, []); + }), + (t.pbf = Tl), + (t.performSymbolLayout = function ( + t, + e, + r, + n, + i, + a, + o, + ) { + t.createArrays(); + var s = 512 * t.overscaling; + (t.tilePixelRatio = oo / s), + (t.compareText = {}), + (t.iconsNeedLinear = !1); + var l = t.layers[0].layout, + u = t.layers[0]._unevaluatedLayout._values, + c = {}; + if ("composite" === t.textSizeData.kind) { + var f = t.textSizeData, + h = f.minZoom, + p = f.maxZoom; + c.compositeTextSizes = [ + u["text-size"].possiblyEvaluate( + new Si(h), + o, + ), + u["text-size"].possiblyEvaluate( + new Si(p), + o, + ), + ]; + } + if ("composite" === t.iconSizeData.kind) { + var d = t.iconSizeData, + v = d.minZoom, + g = d.maxZoom; + c.compositeIconSizes = [ + u["icon-size"].possiblyEvaluate( + new Si(v), + o, + ), + u["icon-size"].possiblyEvaluate( + new Si(g), + o, + ), + ]; + } + (c.layoutTextSize = u[ + "text-size" + ].possiblyEvaluate(new Si(t.zoom + 1), o)), + (c.layoutIconSize = u[ + "icon-size" + ].possiblyEvaluate(new Si(t.zoom + 1), o)), + (c.textMaxSize = u[ + "text-size" + ].possiblyEvaluate(new Si(18))); + for ( + var y = l.get("text-line-height") * bl, + m = + "map" === + l.get("text-rotation-alignment") && + "point" !== l.get("symbol-placement"), + x = l.get("text-keep-upright"), + b = l.get("text-size"), + _ = function () { + var a = k[T], + s = l + .get("text-font") + .evaluate(a, {}, o) + .join(","), + u = b.evaluate(a, {}, o), + f = c.layoutTextSize.evaluate(a, {}, o), + h = c.layoutIconSize.evaluate(a, {}, o), + p = { + horizontal: {}, + vertical: void 0, + }, + d = a.text, + v = [0, 0]; + if (d) { + var g = d.toString(), + _ = + l + .get("text-letter-spacing") + .evaluate(a, {}, o) * bl, + A = (function (t) { + for ( + var e = 0, r = t; + e < r.length; + e += 1 + ) + if ( + ((n = r[e].charCodeAt(0)), + oi.Arabic(n) || + oi["Arabic Supplement"](n) || + oi["Arabic Extended-A"](n) || + oi[ + "Arabic Presentation Forms-A" + ](n) || + oi[ + "Arabic Presentation Forms-B" + ](n)) + ) + return !1; + var n; + return !0; + })(g) + ? _ + : 0, + M = l + .get("text-anchor") + .evaluate(a, {}, o), + S = l.get("text-variable-anchor"); + if (!S) { + var E = l + .get("text-radial-offset") + .evaluate(a, {}, o); + v = E + ? Bu(M, [E * bl, Fu]) + : l + .get("text-offset") + .evaluate(a, {}, o) + .map(function (t) { + return t * bl; + }); + } + var L = m + ? "center" + : l + .get("text-justify") + .evaluate(a, {}, o), + C = l.get("symbol-placement"), + O = + "point" === C + ? l + .get("text-max-width") + .evaluate(a, {}, o) * bl + : 0, + P = function () { + t.allowVerticalPlacement && + si(g) && + (p.vertical = tu( + d, + e, + r, + i, + s, + O, + y, + M, + "left", + A, + v, + Jl.vertical, + !0, + C, + f, + u, + )); + }; + if (!m && S) { + for ( + var I = + "auto" === L + ? S.map(function (t) { + return Nu(t); + }) + : [L], + D = !1, + z = 0; + z < I.length; + z++ + ) { + var R = I[z]; + if (!p.horizontal[R]) + if (D) + p.horizontal[R] = + p.horizontal[0]; + else { + var F = tu( + d, + e, + r, + i, + s, + O, + y, + "center", + R, + A, + v, + Jl.horizontal, + !1, + C, + f, + u, + ); + F && + ((p.horizontal[R] = F), + (D = + 1 === + F.positionedLines.length)); + } + } + P(); + } else { + "auto" === L && (L = Nu(M)); + var B = tu( + d, + e, + r, + i, + s, + O, + y, + M, + L, + A, + v, + Jl.horizontal, + !1, + C, + f, + u, + ); + B && (p.horizontal[L] = B), + P(), + si(g) && + m && + x && + (p.vertical = tu( + d, + e, + r, + i, + s, + O, + y, + M, + L, + A, + v, + Jl.vertical, + !1, + C, + f, + u, + )); + } + } + var N = void 0, + j = !1; + if (a.icon && a.icon.name) { + var U = n[a.icon.name]; + U && + ((N = (function (t, e, r) { + var n = uu(r), + i = n.horizontalAlign, + a = n.verticalAlign, + o = e[0], + s = e[1], + l = o - t.displaySize[0] * i, + u = l + t.displaySize[0], + c = s - t.displaySize[1] * a; + return { + image: t, + top: c, + bottom: c + t.displaySize[1], + left: l, + right: u, + }; + })( + i[a.icon.name], + l + .get("icon-offset") + .evaluate(a, {}, o), + l + .get("icon-anchor") + .evaluate(a, {}, o), + )), + (j = U.sdf), + void 0 === t.sdfIcons + ? (t.sdfIcons = U.sdf) + : t.sdfIcons !== U.sdf && + w( + "Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer", + ), + (U.pixelRatio !== t.pixelRatio || + 0 !== + l + .get("icon-rotate") + .constantOr(1)) && + (t.iconsNeedLinear = !0)); + } + var V = Vu(p.horizontal) || p.vertical; + (t.iconsInText = !!V && V.iconsInText), + (V || N) && + (function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + ) { + var f = a.textMaxSize.evaluate( + e, + {}, + ); + void 0 === f && (f = o); + var h, + p = t.layers[0].layout, + d = p + .get("icon-offset") + .evaluate(e, {}, c), + v = Vu(r.horizontal), + g = 24, + y = o / g, + m = t.tilePixelRatio * y, + x = (t.tilePixelRatio * f) / g, + b = t.tilePixelRatio * s, + _ = + t.tilePixelRatio * + p.get("symbol-spacing"), + T = + p.get("text-padding") * + t.tilePixelRatio, + k = + p.get("icon-padding") * + t.tilePixelRatio, + A = + (p.get("text-max-angle") / + 180) * + Math.PI, + M = + "map" === + p.get( + "text-rotation-alignment", + ) && + "point" !== + p.get("symbol-placement"), + S = + "map" === + p.get( + "icon-rotation-alignment", + ) && + "point" !== + p.get("symbol-placement"), + E = p.get("symbol-placement"), + L = _ / 2, + C = p.get("icon-text-fit"); + n && + "none" !== C && + (t.allowVerticalPlacement && + r.vertical && + (h = fu( + n, + r.vertical, + C, + p.get( + "icon-text-fit-padding", + ), + d, + y, + )), + v && + (n = fu( + n, + v, + C, + p.get( + "icon-text-fit-padding", + ), + d, + y, + ))); + var O = function (s, f) { + f.x < 0 || + f.x >= oo || + f.y < 0 || + f.y >= oo || + (function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + y, + m, + x, + b, + _, + T, + k, + A, + ) { + var M, + S, + E, + L, + C, + O = t.addToLineVertexArray( + e, + r, + ), + P = 0, + I = 0, + D = 0, + z = 0, + R = -1, + F = -1, + B = {}, + N = Ia(""), + j = 0, + U = 0; + if ( + (void 0 === + s._unevaluatedLayout.getValue( + "text-radial-offset", + ) + ? ((j = (M = s.layout + .get("text-offset") + .evaluate(b, {}, k) + .map(function (t) { + return t * bl; + }))[0]), + (U = M[1])) + : ((j = + s.layout + .get( + "text-radial-offset", + ) + .evaluate( + b, + {}, + k, + ) * bl), + (U = Fu)), + t.allowVerticalPlacement && + n.vertical) + ) { + var V = + s.layout + .get("text-rotate") + .evaluate(b, {}, k) + + 90, + H = n.vertical; + (L = new Ou( + l, + e, + u, + c, + f, + H, + h, + p, + d, + V, + )), + o && + (C = new Ou( + l, + e, + u, + c, + f, + o, + g, + y, + d, + V, + )); + } + if (i) { + var q = s.layout + .get("icon-rotate") + .evaluate(b, {}), + G = + "none" !== + s.layout.get( + "icon-text-fit", + ), + Z = Mu(i, q, T, G), + W = o + ? Mu(o, q, T, G) + : void 0; + (E = new Ou( + l, + e, + u, + c, + f, + i, + g, + y, + !1, + q, + )), + (P = 4 * Z.length); + var Y = t.iconSizeData, + X = null; + "source" === Y.kind + ? (X = [ + pu * + s.layout + .get("icon-size") + .evaluate(b, {}), + ])[0] > ju && + w( + t.layerIds[0] + + ': Value for "icon-size" is >= ' + + '255. Reduce your "icon-size".', + ) + : "composite" === + Y.kind && + ((X = [ + pu * + _.compositeIconSizes[0].evaluate( + b, + {}, + k, + ), + pu * + _.compositeIconSizes[1].evaluate( + b, + {}, + k, + ), + ])[0] > ju || + X[1] > ju) && + w( + t.layerIds[0] + + ': Value for "icon-size" is >= ' + + '255. Reduce your "icon-size".', + ), + t.addSymbols( + t.icon, + Z, + X, + x, + m, + b, + !1, + e, + O.lineStartIndex, + O.lineLength, + -1, + k, + ), + (R = + t.icon.placedSymbolArray + .length - 1), + W && + ((I = 4 * W.length), + t.addSymbols( + t.icon, + W, + X, + x, + m, + b, + Jl.vertical, + e, + O.lineStartIndex, + O.lineLength, + -1, + k, + ), + (F = + t.icon + .placedSymbolArray + .length - 1)); + } + for (var J in n.horizontal) { + var K = n.horizontal[J]; + if (!S) { + N = Ia(K.text); + var $ = s.layout + .get("text-rotate") + .evaluate(b, {}, k); + S = new Ou( + l, + e, + u, + c, + f, + K, + h, + p, + d, + $, + ); + } + var Q = + 1 === + K.positionedLines.length; + if ( + ((D += Uu( + t, + e, + K, + a, + s, + d, + b, + v, + O, + n.vertical + ? Jl.horizontal + : Jl.horizontalOnly, + Q + ? Object.keys( + n.horizontal, + ) + : [J], + B, + R, + _, + k, + )), + Q) + ) + break; + } + n.vertical && + (z += Uu( + t, + e, + n.vertical, + a, + s, + d, + b, + v, + O, + Jl.vertical, + ["vertical"], + B, + F, + _, + k, + )); + var tt = S + ? S.boxStartIndex + : t.collisionBoxArray + .length, + et = S + ? S.boxEndIndex + : t.collisionBoxArray + .length, + rt = L + ? L.boxStartIndex + : t.collisionBoxArray + .length, + nt = L + ? L.boxEndIndex + : t.collisionBoxArray + .length, + it = E + ? E.boxStartIndex + : t.collisionBoxArray + .length, + at = E + ? E.boxEndIndex + : t.collisionBoxArray + .length, + ot = C + ? C.boxStartIndex + : t.collisionBoxArray + .length, + st = C + ? C.boxEndIndex + : t.collisionBoxArray + .length, + lt = -1, + ut = function (t, e) { + return t && + t.circleDiameter + ? Math.max( + t.circleDiameter, + e, + ) + : e; + }; + (lt = ut(S, lt)), + (lt = ut(L, lt)), + (lt = ut(E, lt)); + var ct = + (lt = ut(C, lt)) > -1 + ? 1 + : 0; + ct && (lt *= A / bl), + t.glyphOffsetArray.length >= + Ku.MAX_GLYPHS && + w( + "Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907", + ), + void 0 !== b.sortKey && + t.addToSortKeyRanges( + t.symbolInstances + .length, + b.sortKey, + ), + t.symbolInstances.emplaceBack( + e.x, + e.y, + B.right >= 0 + ? B.right + : -1, + B.center >= 0 + ? B.center + : -1, + B.left >= 0 ? B.left : -1, + B.vertical || -1, + R, + F, + N, + tt, + et, + rt, + nt, + it, + at, + ot, + st, + u, + D, + z, + P, + I, + ct, + 0, + h, + j, + U, + lt, + ); + })( + t, + f, + s, + r, + n, + i, + h, + t.layers[0], + t.collisionBoxArray, + e.index, + e.sourceLayerIndex, + t.index, + m, + T, + M, + l, + b, + k, + S, + d, + e, + a, + u, + c, + o, + ); + }; + if ("line" === E) + for ( + var P = 0, + I = Au( + e.geometry, + 0, + 0, + oo, + oo, + ); + P < I.length; + P += 1 + ) + for ( + var D = I[P], + z = 0, + R = Tu( + D, + _, + A, + r.vertical || v, + n, + g, + x, + t.overscaling, + oo, + ); + z < R.length; + z += 1 + ) { + var F = R[z]; + (v && Hu(t, v.text, L, F)) || + O(D, F); + } + else if ("line-center" === E) + for ( + var B = 0, N = e.geometry; + B < N.length; + B += 1 + ) { + var j = N[B]; + if (j.length > 1) { + var U = wu( + j, + A, + r.vertical || v, + n, + g, + x, + ); + U && O(j, U); + } + } + else if ("Polygon" === e.type) + for ( + var V = 0, + H = Ls(e.geometry, 0); + V < H.length; + V += 1 + ) { + var q = H[V], + G = Du(q, 16); + O(q[0], new hu(G.x, G.y, 0)); + } + else if ("LineString" === e.type) + for ( + var Z = 0, W = e.geometry; + Z < W.length; + Z += 1 + ) { + var Y = W[Z]; + O(Y, new hu(Y[0].x, Y[0].y, 0)); + } + else if ("Point" === e.type) + for ( + var X = 0, J = e.geometry; + X < J.length; + X += 1 + ) + for ( + var K = 0, $ = J[X]; + K < $.length; + K += 1 + ) { + var Q = $[K]; + O([Q], new hu(Q.x, Q.y, 0)); + } + })(t, a, p, N, n, c, f, h, v, j, o); + }, + T = 0, + k = t.features; + T < k.length; + T += 1 + ) + _(); + a && t.generateCollisionDebugBuffers(); + }), + (t.perspective = function (t, e, r, n, i) { + var a, + o = 1 / Math.tan(e / 2); + return ( + (t[0] = o / r), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = o), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[11] = -1), + (t[12] = 0), + (t[13] = 0), + (t[15] = 0), + null != i && i !== 1 / 0 + ? ((a = 1 / (n - i)), + (t[10] = (i + n) * a), + (t[14] = 2 * i * n * a)) + : ((t[10] = -1), (t[14] = -2 * n)), + t + ); + }), + (t.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; + }), + (t.plugin = Mi), + (t.polygonIntersectsPolygon = ho), + (t.postMapLoadEvent = st), + (t.postTurnstileEvent = at), + (t.potpack = Zl), + (t.refProperties = [ + "type", + "source", + "source-layer", + "minzoom", + "maxzoom", + "filter", + "layout", + ]), + (t.register = Qn), + (t.registerForPluginStateChange = function (t) { + return ( + t({ pluginStatus: xi, pluginURL: bi }), + Ti.on("pluginStateChange", t), + t + ); + }), + (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 + ); + }), + (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], + f = e[10], + h = 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 + f * n), + (t[7] = l * i + h * n), + (t[8] = u * i - a * n), + (t[9] = c * i - o * n), + (t[10] = f * i - s * n), + (t[11] = h * i - l * n), + t + ); + }), + (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], + f = e[6], + h = 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 + f * n), + (t[3] = l * i + h * n), + (t[4] = u * i - a * n), + (t[5] = c * i - o * n), + (t[6] = f * i - s * n), + (t[7] = h * i - l * n), + t + ); + }), + (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 + ); + }), + (t.scale$1 = function (t, e, r) { + return ( + (t[0] = e[0] * r), + (t[1] = e[1] * r), + (t[2] = e[2] * r), + (t[3] = e[3] * r), + t + ); + }), + (t.scale$2 = function (t, e, r) { + return ( + (t[0] = e[0] * r), + (t[1] = e[1] * r), + (t[2] = e[2] * r), + t + ); + }), + (t.setCacheLimits = function (t, e) { + (ut = t), (ct = e); + }), + (t.setRTLTextPlugin = function (t, e, r) { + if ( + (void 0 === r && (r = !1), + xi === di || xi === vi || xi === gi) + ) + throw new Error( + "setRTLTextPlugin cannot be called multiple times.", + ); + (bi = F.resolveURL(t)), + (xi = di), + (mi = e), + wi(), + r || Ai(); + }), + (t.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), + } + ); + }), + (t.sqrLen = Ro), + (t.styleSpec = It), + (t.sub = Do), + (t.symbolSize = yu), + (t.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 + ); + }), + (t.transformMat4 = zo), + (t.translate = function (t, e, r) { + var n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v = r[0], + g = r[1], + y = r[2]; + return ( + e === t + ? ((t[12] = + e[0] * v + e[4] * g + e[8] * y + e[12]), + (t[13] = + e[1] * v + e[5] * g + e[9] * y + e[13]), + (t[14] = + e[2] * v + + e[6] * g + + e[10] * y + + e[14]), + (t[15] = + e[3] * v + + e[7] * g + + e[11] * y + + 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]), + (f = e[8]), + (h = 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] = f), + (t[9] = h), + (t[10] = p), + (t[11] = d), + (t[12] = n * v + s * g + f * y + e[12]), + (t[13] = i * v + l * g + h * y + e[13]), + (t[14] = a * v + u * g + p * y + e[14]), + (t[15] = o * v + c * g + d * y + e[15])), + t + ); + }), + (t.triggerPluginCompletionEvent = _i), + (t.uniqueId = p), + (t.validateCustomStyleLayer = function (t) { + var e = [], + r = t.id; + return ( + void 0 === r && + e.push({ + message: + "layers." + + r + + ': missing required property "id"', + }), + void 0 === t.render && + e.push({ + message: + "layers." + + r + + ': missing required method "render"', + }), + t.renderingMode && + "2d" !== t.renderingMode && + "3d" !== t.renderingMode && + e.push({ + message: + "layers." + + r + + ': property "renderingMode" must be either "2d" or "3d"', + }), + e + ); + }), + (t.validateLight = qn), + (t.validateStyle = Hn), + (t.values = function (t) { + var e = []; + for (var r in t) e.push(t[r]); + return e; + }), + (t.vectorTile = Zs), + (t.version = r), + (t.warnOnce = w), + (t.webpSupported = N), + (t.window = self), + (t.wrap = c); + }), + n(0, function (t) { + function e(t) { + var r = typeof t; + if ( + "number" === r || + "boolean" === r || + "string" === r || + null == t + ) + return JSON.stringify(t); + if (Array.isArray(t)) { + for ( + var n = "[", i = 0, a = t; + i < a.length; + i += 1 + ) + n += e(a[i]) + ","; + return n + "]"; + } + for ( + var o = Object.keys(t).sort(), s = "{", l = 0; + l < o.length; + l++ + ) + s += + JSON.stringify(o[l]) + ":" + e(t[o[l]]) + ","; + return s + "}"; + } + function r(r) { + for ( + var n = "", i = 0, a = t.refProperties; + i < a.length; + i += 1 + ) + n += "/" + e(r[a[i]]); + return n; + } + var n = function (t) { + (this.keyCache = {}), t && this.replace(t); + }; + (n.prototype.replace = function (t) { + (this._layerConfigs = {}), + (this._layers = {}), + this.update(t, []); + }), + (n.prototype.update = function (e, n) { + for ( + var i = this, a = 0, o = e; + a < o.length; + a += 1 + ) { + var s = o[a]; + this._layerConfigs[s.id] = s; + var l = (this._layers[s.id] = + t.createStyleLayer(s)); + (l._featureFilter = t.featureFilter( + l.filter, + )), + this.keyCache[s.id] && + delete this.keyCache[s.id]; + } + for (var u = 0, c = n; u < c.length; u += 1) { + var f = c[u]; + delete this.keyCache[f], + delete this._layerConfigs[f], + delete this._layers[f]; + } + this.familiesBySource = {}; + for ( + var h = 0, + p = (function (t, e) { + for ( + var n = {}, i = 0; + i < t.length; + i++ + ) { + var a = (e && e[t[i].id]) || r(t[i]); + e && (e[t[i].id] = a); + var o = n[a]; + o || (o = n[a] = []), o.push(t[i]); + } + var s = []; + for (var l in n) s.push(n[l]); + return s; + })( + t.values(this._layerConfigs), + this.keyCache, + ); + h < p.length; + h += 1 + ) { + var d = p[h].map(function (t) { + return i._layers[t.id]; + }), + v = d[0]; + if ("none" !== v.visibility) { + var g = v.source || "", + y = this.familiesBySource[g]; + y || (y = this.familiesBySource[g] = {}); + var m = + v.sourceLayer || "_geojsonTileLayer", + x = y[m]; + x || (x = y[m] = []), x.push(d); + } + } + }); + var i = function (e) { + var r = {}, + n = []; + for (var i in e) { + var a = e[i], + o = (r[i] = {}); + for (var s in a) { + var l = a[+s]; + if ( + l && + 0 !== l.bitmap.width && + 0 !== l.bitmap.height + ) { + var u = { + x: 0, + y: 0, + w: l.bitmap.width + 2, + h: l.bitmap.height + 2, + }; + n.push(u), + (o[s] = { rect: u, metrics: l.metrics }); + } + } + } + var c = t.potpack(n), + f = c.w, + h = c.h, + p = new t.AlphaImage({ + width: f || 1, + height: h || 1, + }); + for (var d in e) { + var v = e[d]; + for (var g in v) { + var y = v[+g]; + if ( + y && + 0 !== y.bitmap.width && + 0 !== y.bitmap.height + ) { + var m = r[d][g].rect; + t.AlphaImage.copy( + y.bitmap, + p, + { x: 0, y: 0 }, + { x: m.x + 1, y: m.y + 1 }, + y.bitmap, + ); + } + } + } + (this.image = p), (this.positions = r); + }; + t.register("GlyphAtlas", i); + var a = function (e) { + (this.tileID = new t.OverscaledTileID( + e.tileID.overscaledZ, + e.tileID.wrap, + e.tileID.canonical.z, + e.tileID.canonical.x, + e.tileID.canonical.y, + )), + (this.uid = e.uid), + (this.zoom = e.zoom), + (this.pixelRatio = e.pixelRatio), + (this.tileSize = e.tileSize), + (this.source = e.source), + (this.overscaling = + this.tileID.overscaleFactor()), + (this.showCollisionBoxes = + e.showCollisionBoxes), + (this.collectResourceTiming = + !!e.collectResourceTiming), + (this.returnDependencies = + !!e.returnDependencies), + (this.promoteId = e.promoteId); + }; + function o(e, r, n) { + for ( + var i = new t.EvaluationParameters(r), + a = 0, + o = e; + a < o.length; + a += 1 + ) + o[a].recalculate(i, n); + } + function s(e, r) { + var n = t.getArrayBuffer( + e.request, + function (e, n, i, a) { + e + ? r(e) + : n && + r(null, { + vectorTile: new t.vectorTile.VectorTile( + new t.pbf(n), + ), + rawData: n, + cacheControl: i, + expires: a, + }); + }, + ); + return function () { + n.cancel(), r(); + }; + } + a.prototype.parse = function (e, r, n, a, s) { + var l = this; + (this.status = "parsing"), + (this.data = e), + (this.collisionBoxArray = + new t.CollisionBoxArray()); + var u = new t.DictionaryCoder( + Object.keys(e.layers).sort(), + ), + c = new t.FeatureIndex( + this.tileID, + this.promoteId, + ); + c.bucketLayerIDs = []; + var f, + h, + p, + d, + v = {}, + g = { + featureIndex: c, + iconDependencies: {}, + patternDependencies: {}, + glyphDependencies: {}, + availableImages: n, + }, + y = r.familiesBySource[this.source]; + for (var m in y) { + var x = e.layers[m]; + if (x) { + 1 === x.version && + t.warnOnce( + 'Vector tile source "' + + this.source + + '" layer "' + + m + + '" does not use vector tile spec v2 and therefore may have some rendering errors.', + ); + for ( + var b = u.encode(m), _ = [], w = 0; + w < x.length; + w++ + ) { + var T = x.feature(w), + k = c.getId(T, m); + _.push({ + feature: T, + id: k, + index: w, + sourceLayerIndex: b, + }); + } + for ( + var A = 0, M = y[m]; + A < M.length; + A += 1 + ) { + var S = M[A], + E = S[0]; + (E.minzoom && + this.zoom < Math.floor(E.minzoom)) || + (E.maxzoom && this.zoom >= E.maxzoom) || + ("none" !== E.visibility && + (o(S, this.zoom, n), + (v[E.id] = E.createBucket({ + index: c.bucketLayerIDs.length, + layers: S, + zoom: this.zoom, + pixelRatio: this.pixelRatio, + overscaling: this.overscaling, + collisionBoxArray: + this.collisionBoxArray, + sourceLayerIndex: b, + sourceID: this.source, + })).populate( + _, + g, + this.tileID.canonical, + ), + c.bucketLayerIDs.push( + S.map(function (t) { + return t.id; + }), + ))); + } + } + } + var L = t.mapObject( + g.glyphDependencies, + function (t) { + return Object.keys(t).map(Number); + }, + ); + Object.keys(L).length + ? a.send( + "getGlyphs", + { uid: this.uid, stacks: L }, + function (t, e) { + f || ((f = t), (h = e), P.call(l)); + }, + ) + : (h = {}); + var C = Object.keys(g.iconDependencies); + C.length + ? a.send( + "getImages", + { + icons: C, + source: this.source, + tileID: this.tileID, + type: "icons", + }, + function (t, e) { + f || ((f = t), (p = e), P.call(l)); + }, + ) + : (p = {}); + var O = Object.keys(g.patternDependencies); + function P() { + if (f) return s(f); + if (h && p && d) { + var e = new i(h), + r = new t.ImageAtlas(p, d); + for (var a in v) { + var l = v[a]; + l instanceof t.SymbolBucket + ? (o(l.layers, this.zoom, n), + t.performSymbolLayout( + l, + h, + e.positions, + p, + r.iconPositions, + this.showCollisionBoxes, + this.tileID.canonical, + )) + : l.hasPattern && + (l instanceof t.LineBucket || + l instanceof t.FillBucket || + l instanceof t.FillExtrusionBucket) && + (o(l.layers, this.zoom, n), + l.addFeatures( + g, + this.tileID.canonical, + r.patternPositions, + )); + } + (this.status = "done"), + s(null, { + buckets: t.values(v).filter(function (t) { + return !t.isEmpty(); + }), + featureIndex: c, + collisionBoxArray: this.collisionBoxArray, + glyphAtlasImage: e.image, + imageAtlas: r, + glyphMap: this.returnDependencies + ? h + : null, + iconMap: this.returnDependencies + ? p + : null, + glyphPositions: this.returnDependencies + ? e.positions + : null, + }); + } + } + O.length + ? a.send( + "getImages", + { + icons: O, + source: this.source, + tileID: this.tileID, + type: "patterns", + }, + function (t, e) { + f || ((f = t), (d = e), P.call(l)); + }, + ) + : (d = {}), + P.call(this); + }; + var l = function (t, e, r, n) { + (this.actor = t), + (this.layerIndex = e), + (this.availableImages = r), + (this.loadVectorData = n || s), + (this.loading = {}), + (this.loaded = {}); + }; + (l.prototype.loadTile = function (e, r) { + var n = this, + i = e.uid; + this.loading || (this.loading = {}); + var o = + !!( + e && + e.request && + e.request.collectResourceTiming + ) && new t.RequestPerformance(e.request), + s = (this.loading[i] = new a(e)); + s.abort = this.loadVectorData(e, function (e, a) { + if ((delete n.loading[i], e || !a)) + return ( + (s.status = "done"), (n.loaded[i] = s), r(e) + ); + var l = a.rawData, + u = {}; + a.expires && (u.expires = a.expires), + a.cacheControl && + (u.cacheControl = a.cacheControl); + var c = {}; + if (o) { + var f = o.finish(); + f && + (c.resourceTiming = JSON.parse( + JSON.stringify(f), + )); + } + (s.vectorTile = a.vectorTile), + s.parse( + a.vectorTile, + n.layerIndex, + n.availableImages, + n.actor, + function (e, n) { + if (e || !n) return r(e); + r( + null, + t.extend( + { rawTileData: l.slice(0) }, + n, + u, + c, + ), + ); + }, + ), + (n.loaded = n.loaded || {}), + (n.loaded[i] = s); + }); + }), + (l.prototype.reloadTile = function (t, e) { + var r = this, + n = this.loaded, + i = t.uid, + a = this; + if (n && n[i]) { + var o = n[i]; + o.showCollisionBoxes = t.showCollisionBoxes; + var s = function (t, n) { + var i = o.reloadCallback; + i && + (delete o.reloadCallback, + o.parse( + o.vectorTile, + a.layerIndex, + r.availableImages, + a.actor, + i, + )), + e(t, n); + }; + "parsing" === o.status + ? (o.reloadCallback = s) + : "done" === o.status && + (o.vectorTile + ? o.parse( + o.vectorTile, + this.layerIndex, + this.availableImages, + this.actor, + s, + ) + : s()); + } + }), + (l.prototype.abortTile = function (t, e) { + var r = this.loading, + n = t.uid; + r && + r[n] && + r[n].abort && + (r[n].abort(), delete r[n]), + e(); + }), + (l.prototype.removeTile = function (t, e) { + var r = this.loaded, + n = t.uid; + r && r[n] && delete r[n], e(); + }); + var u = t.window.ImageBitmap, + c = function () { + this.loaded = {}; + }; + (c.prototype.loadTile = function (e, r) { + var n = e.uid, + i = e.encoding, + a = e.rawImageData, + o = + u && a instanceof u + ? this.getImageData(a) + : a, + s = new t.DEMData(n, o, i); + (this.loaded = this.loaded || {}), + (this.loaded[n] = s), + r(null, s); + }), + (c.prototype.getImageData = function (e) { + (this.offscreenCanvas && + this.offscreenCanvasContext) || + ((this.offscreenCanvas = new OffscreenCanvas( + e.width, + e.height, + )), + (this.offscreenCanvasContext = + this.offscreenCanvas.getContext("2d"))), + (this.offscreenCanvas.width = e.width), + (this.offscreenCanvas.height = e.height), + this.offscreenCanvasContext.drawImage( + e, + 0, + 0, + e.width, + e.height, + ); + var r = + this.offscreenCanvasContext.getImageData( + -1, + -1, + e.width + 2, + e.height + 2, + ); + return ( + this.offscreenCanvasContext.clearRect( + 0, + 0, + this.offscreenCanvas.width, + this.offscreenCanvas.height, + ), + new t.RGBAImage( + { width: r.width, height: r.height }, + r.data, + ) + ); + }), + (c.prototype.removeTile = function (t) { + var e = this.loaded, + r = t.uid; + e && e[r] && delete e[r]; + }); + var f = function t(e, r) { + var n, + i = e && e.type; + if ("FeatureCollection" === i) + for (n = 0; n < e.features.length; n++) + t(e.features[n], r); + else if ("GeometryCollection" === i) + for (n = 0; n < e.geometries.length; n++) + t(e.geometries[n], r); + else if ("Feature" === i) t(e.geometry, r); + else if ("Polygon" === i) h(e.coordinates, r); + else if ("MultiPolygon" === i) + for (n = 0; n < e.coordinates.length; n++) + h(e.coordinates[n], r); + return e; + }; + function h(t, e) { + if (0 !== t.length) { + p(t[0], e); + for (var r = 1; r < t.length; r++) p(t[r], !e); + } + } + function p(t, e) { + for ( + var r = 0, n = 0, i = t.length, a = i - 1; + n < i; + a = n++ + ) + r += (t[n][0] - t[a][0]) * (t[a][1] + t[n][1]); + r >= 0 != !!e && t.reverse(); + } + var d = + t.vectorTile.VectorTileFeature.prototype + .toGeoJSON, + v = function (e) { + (this._feature = e), + (this.extent = t.EXTENT), + (this.type = e.type), + (this.properties = e.tags), + "id" in e && + !isNaN(e.id) && + (this.id = parseInt(e.id, 10)); + }; + (v.prototype.loadGeometry = function () { + if (1 === this._feature.type) { + for ( + var e = [], r = 0, n = this._feature.geometry; + r < n.length; + r += 1 + ) { + var i = n[r]; + e.push([new t.Point$1(i[0], i[1])]); + } + return e; + } + 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 f = c[u]; + l.push(new t.Point$1(f[0], f[1])); + } + a.push(l); + } + return a; + }), + (v.prototype.toGeoJSON = function (t, e, r) { + return d.call(this, t, e, r); + }); + var g = function (e) { + (this.layers = { _geojsonTileLayer: this }), + (this.name = "_geojsonTileLayer"), + (this.extent = t.EXTENT), + (this.length = e.length), + (this._features = e); + }; + g.prototype.feature = function (t) { + return new v(this._features[t]); + }; + var y = t.vectorTile.VectorTileFeature, + m = x; + function x(t, e) { + (this.options = e || {}), + (this.features = t), + (this.length = t.length); + } + function b(t, e) { + (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 = e || 4096); + } + (x.prototype.feature = function (t) { + return new b( + this.features[t], + this.options.extent, + ); + }), + (b.prototype.loadGeometry = function () { + var e = this.rawGeometry; + this.geometry = []; + for (var r = 0; r < e.length; r++) { + for ( + var n = e[r], i = [], a = 0; + a < n.length; + a++ + ) + i.push(new t.Point$1(n[a][0], n[a][1])); + this.geometry.push(i); + } + return this.geometry; + }), + (b.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]; + }), + (b.prototype.toGeoJSON = y.prototype.toGeoJSON); + var _ = A, + w = A, + T = function (t, e) { + e = e || {}; + var r = {}; + for (var n in t) + (r[n] = new m(t[n].features, e)), + (r[n].name = n), + (r[n].version = e.version), + (r[n].extent = e.extent); + return A({ layers: r }); + }, + k = m; + function A(e) { + var r = new t.pbf(); + return ( + (function (t, e) { + for (var r in t.layers) + e.writeMessage(3, M, t.layers[r]); + })(e, r), + r.finish() + ); + } + function M(t, e) { + var r; + e.writeVarintField(15, t.version || 1), + e.writeStringField(1, t.name || ""), + e.writeVarintField(5, t.extent || 4096); + var n = { + keys: [], + values: [], + keycache: {}, + valuecache: {}, + }; + for (r = 0; r < t.length; r++) + (n.feature = t.feature(r)), + e.writeMessage(2, S, n); + var i = n.keys; + for (r = 0; r < i.length; r++) + e.writeStringField(3, i[r]); + var a = n.values; + for (r = 0; r < a.length; r++) + e.writeMessage(4, P, a[r]); + } + function S(t, e) { + var r = t.feature; + void 0 !== r.id && e.writeVarintField(1, r.id), + e.writeMessage(2, E, t), + e.writeVarintField(3, r.type), + e.writeMessage(4, O, r); + } + function E(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 f = c + ":" + u, + h = o[f]; + void 0 === h && + (i.push(u), (h = i.length - 1), (o[f] = h)), + e.writeVarint(h); + } + } + function L(t, e) { + return (e << 3) + (7 & t); + } + function C(t) { + return (t << 1) ^ (t >> 31); + } + function O(t, e) { + for ( + var r = t.loadGeometry(), + n = t.type, + i = 0, + a = 0, + o = r.length, + s = 0; + s < o; + s++ + ) { + var l = r[s], + u = 1; + 1 === n && (u = l.length), + e.writeVarint(L(1, u)); + for ( + var c = 3 === n ? l.length - 1 : l.length, + f = 0; + f < c; + f++ + ) { + 1 === f && + 1 !== n && + e.writeVarint(L(2, c - 1)); + var h = l[f].x - i, + p = l[f].y - a; + e.writeVarint(C(h)), + e.writeVarint(C(p)), + (i += h), + (a += p); + } + 3 === n && e.writeVarint(L(7, 1)); + } + } + function P(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)); + } + function I(t, e, r, n, i, a) { + if (!(i - n <= r)) { + var o = (n + i) >> 1; + D(t, e, o, n, i, a % 2), + I(t, e, r, n, o - 1, a + 1), + I(t, e, r, o + 1, i, a + 1); + } + } + function D(t, e, r, n, i, a) { + for (; i > n; ) { + if (i - n > 600) { + var o = i - n + 1, + s = r - n + 1, + l = Math.log(o), + u = 0.5 * Math.exp((2 * l) / 3), + c = + 0.5 * + Math.sqrt((l * u * (o - u)) / o) * + (s - o / 2 < 0 ? -1 : 1); + D( + t, + e, + r, + Math.max( + n, + Math.floor(r - (s * u) / o + c), + ), + Math.min( + i, + Math.floor(r + ((o - s) * u) / o + c), + ), + a, + ); + } + var f = e[2 * r + a], + h = n, + p = i; + for ( + z(t, e, n, r), + e[2 * i + a] > f && z(t, e, n, i); + h < p; + + ) { + for ( + z(t, e, h, p), h++, p--; + e[2 * h + a] < f; + + ) + h++; + for (; e[2 * p + a] > f; ) p--; + } + e[2 * n + a] === f + ? z(t, e, n, p) + : z(t, e, ++p, i), + p <= r && (n = p + 1), + r <= p && (i = p - 1); + } + } + function z(t, e, r, n) { + R(t, r, n), + R(e, 2 * r, 2 * n), + R(e, 2 * r + 1, 2 * n + 1); + } + function R(t, e, r) { + var n = t[e]; + (t[e] = t[r]), (t[r] = n); + } + function F(t, e, r, n) { + var i = t - r, + a = e - n; + return i * i + a * a; + } + (_.fromVectorTileJs = w), + (_.fromGeojsonVt = T), + (_.GeoJSONWrapper = k); + var B = function (t) { + return t[0]; + }, + N = function (t) { + return t[1]; + }, + j = function (t, e, r, n, i) { + void 0 === e && (e = B), + void 0 === r && (r = N), + void 0 === n && (n = 64), + void 0 === i && (i = Float64Array), + (this.nodeSize = n), + (this.points = t); + for ( + var a = + t.length < 65536 + ? Uint16Array + : Uint32Array, + o = (this.ids = new a(t.length)), + s = (this.coords = new i(2 * t.length)), + l = 0; + l < t.length; + l++ + ) + (o[l] = l), + (s[2 * l] = e(t[l])), + (s[2 * l + 1] = r(t[l])); + I(o, s, n, 0, o.length - 1, 0); + }; + (j.prototype.range = function (t, e, r, n) { + return (function (t, e, r, n, i, a, o) { + for ( + var s, l, u = [0, t.length - 1, 0], c = []; + u.length; + + ) { + var f = u.pop(), + h = u.pop(), + p = u.pop(); + if (h - p <= o) + for (var d = p; d <= h; d++) + (s = e[2 * d]), + (l = e[2 * d + 1]), + s >= r && + s <= i && + l >= n && + l <= a && + c.push(t[d]); + else { + var v = Math.floor((p + h) / 2); + (s = e[2 * v]), + (l = e[2 * v + 1]), + s >= r && + s <= i && + l >= n && + l <= a && + c.push(t[v]); + var g = (f + 1) % 2; + (0 === f ? r <= s : n <= l) && + (u.push(p), u.push(v - 1), u.push(g)), + (0 === f ? i >= s : a >= l) && + (u.push(v + 1), u.push(h), u.push(g)); + } + } + return c; + })( + this.ids, + this.coords, + t, + e, + r, + n, + this.nodeSize, + ); + }), + (j.prototype.within = function (t, e, r) { + return (function (t, e, r, n, i, a) { + for ( + var o = [0, t.length - 1, 0], + s = [], + l = i * i; + o.length; + + ) { + var u = o.pop(), + c = o.pop(), + f = o.pop(); + if (c - f <= a) + for (var h = f; h <= c; h++) + F(e[2 * h], e[2 * h + 1], r, n) <= l && + s.push(t[h]); + else { + var p = Math.floor((f + c) / 2), + d = e[2 * p], + v = e[2 * p + 1]; + F(d, v, r, n) <= l && s.push(t[p]); + var g = (u + 1) % 2; + (0 === u ? r - i <= d : n - i <= v) && + (o.push(f), o.push(p - 1), o.push(g)), + (0 === u ? r + i >= d : n + i >= v) && + (o.push(p + 1), o.push(c), o.push(g)); + } + } + return s; + })( + this.ids, + this.coords, + t, + e, + r, + this.nodeSize, + ); + }); + var U = { + minZoom: 0, + maxZoom: 16, + radius: 40, + extent: 512, + nodeSize: 64, + log: !1, + generateId: !1, + reduce: null, + map: function (t) { + return t; + }, + }, + V = function (t) { + (this.options = X(Object.create(U), t)), + (this.trees = new Array( + this.options.maxZoom + 1, + )); + }; + function H(t, e, r, n, i) { + return { + x: t, + y: e, + zoom: 1 / 0, + id: r, + parentId: -1, + numPoints: n, + properties: i, + }; + } + function q(t, e) { + var r = t.geometry.coordinates, + n = r[0], + i = r[1]; + return { + x: W(n), + y: Y(i), + zoom: 1 / 0, + index: e, + parentId: -1, + }; + } + function G(t) { + return { + type: "Feature", + id: t.id, + properties: Z(t), + geometry: { + type: "Point", + coordinates: [ + ((n = t.x), 360 * (n - 0.5)), + ((e = t.y), + (r = ((180 - 360 * e) * Math.PI) / 180), + (360 * Math.atan(Math.exp(r))) / Math.PI - + 90), + ], + }, + }; + var e, r, n; + } + function Z(t) { + var e = t.numPoints, + r = + e >= 1e4 + ? Math.round(e / 1e3) + "k" + : e >= 1e3 + ? Math.round(e / 100) / 10 + "k" + : e; + return X(X({}, t.properties), { + cluster: !0, + cluster_id: t.id, + point_count: e, + point_count_abbreviated: r, + }); + } + function W(t) { + return t / 360 + 0.5; + } + function Y(t) { + var e = Math.sin((t * Math.PI) / 180), + r = + 0.5 - + (0.25 * Math.log((1 + e) / (1 - e))) / + Math.PI; + return r < 0 ? 0 : r > 1 ? 1 : r; + } + function X(t, e) { + for (var r in e) t[r] = e[r]; + return t; + } + function J(t) { + return t.x; + } + function K(t) { + return t.y; + } + function $(t, e, r, n) { + for ( + var i, + a = n, + o = (r - e) >> 1, + s = r - e, + l = t[e], + u = t[e + 1], + c = t[r], + f = t[r + 1], + h = e + 3; + h < r; + h += 3 + ) { + var p = Q(t[h], t[h + 1], l, u, c, f); + if (p > a) (i = h), (a = p); + else if (p === a) { + var d = Math.abs(h - o); + d < s && ((i = h), (s = d)); + } + } + a > n && + (i - e > 3 && $(t, e, i, n), + (t[i + 2] = a), + r - i > 3 && $(t, i, r, n)); + } + function Q(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; + } + function tt(t, e, r, n) { + var i = { + id: void 0 === t ? null : t, + type: e, + geometry: r, + tags: n, + 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 + ) + et(t, e); + else if ( + "Polygon" === r || + "MultiLineString" === r + ) + for (var n = 0; n < e.length; n++) + et(t, e[n]); + else if ("MultiPolygon" === r) + for (n = 0; n < e.length; n++) + for (var i = 0; i < e[n].length; i++) + et(t, e[n][i]); + })(i), + i + ); + } + function et(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])); + } + function rt(t, e, r, n) { + if (e.geometry) { + var i = e.geometry.coordinates, + a = e.geometry.type, + o = Math.pow( + r.tolerance / ((1 << r.maxZoom) * r.extent), + 2, + ), + s = [], + l = e.id; + if ( + (r.promoteId + ? (l = e.properties[r.promoteId]) + : r.generateId && (l = n || 0), + "Point" === a) + ) + nt(i, s); + else if ("MultiPoint" === a) + for (var u = 0; u < i.length; u++) + nt(i[u], s); + else if ("LineString" === a) it(i, s, o, !1); + else if ("MultiLineString" === a) { + if (r.lineMetrics) { + for (u = 0; u < i.length; u++) + (s = []), + it(i[u], s, o, !1), + t.push( + tt(l, "LineString", s, e.properties), + ); + return; + } + at(i, s, o, !1); + } else if ("Polygon" === a) at(i, s, o, !0); + else { + if ("MultiPolygon" !== a) { + if ("GeometryCollection" === a) { + for ( + u = 0; + u < e.geometry.geometries.length; + u++ + ) + rt( + t, + { + id: l, + geometry: e.geometry.geometries[u], + properties: e.properties, + }, + r, + n, + ); + return; + } + throw new Error( + "Input data is not a valid GeoJSON object.", + ); + } + for (u = 0; u < i.length; u++) { + var c = []; + at(i[u], c, o, !0), s.push(c); + } + } + t.push(tt(l, a, s, e.properties)); + } + } + function nt(t, e) { + e.push(ot(t[0])), e.push(st(t[1])), e.push(0); + } + function it(t, e, r, n) { + for (var i, a, o = 0, s = 0; s < t.length; s++) { + var l = ot(t[s][0]), + u = st(t[s][1]); + e.push(l), + e.push(u), + e.push(0), + s > 0 && + (o += n + ? (i * u - l * a) / 2 + : Math.sqrt( + Math.pow(l - i, 2) + + Math.pow(u - a, 2), + )), + (i = l), + (a = u); + } + var c = e.length - 3; + (e[2] = 1), + $(e, 0, c, r), + (e[c + 2] = 1), + (e.size = Math.abs(o)), + (e.start = 0), + (e.end = e.size); + } + function at(t, e, r, n) { + for (var i = 0; i < t.length; i++) { + var a = []; + it(t[i], a, r, n), e.push(a); + } + } + function ot(t) { + return t / 360 + 0.5; + } + function st(t) { + var e = Math.sin((t * Math.PI) / 180), + r = + 0.5 - + (0.25 * Math.log((1 + e) / (1 - e))) / + Math.PI; + return r < 0 ? 0 : r > 1 ? 1 : r; + } + function lt(t, e, r, n, i, a, o, s) { + if (((n /= e), a >= (r /= e) && o < n)) return t; + if (o < r || a >= n) return null; + for (var l = [], u = 0; u < t.length; u++) { + var c = t[u], + f = c.geometry, + h = c.type, + p = 0 === i ? c.minX : c.minY, + d = 0 === i ? c.maxX : c.maxY; + if (p >= r && d < n) l.push(c); + else if (!(d < r || p >= n)) { + var v = []; + if ("Point" === h || "MultiPoint" === h) + ut(f, v, r, n, i); + else if ("LineString" === h) + ct(f, v, r, n, i, !1, s.lineMetrics); + else if ("MultiLineString" === h) + ht(f, v, r, n, i, !1); + else if ("Polygon" === h) + ht(f, v, r, n, i, !0); + else if ("MultiPolygon" === h) + for (var g = 0; g < f.length; g++) { + var y = []; + ht(f[g], y, r, n, i, !0), + y.length && v.push(y); + } + if (v.length) { + if (s.lineMetrics && "LineString" === h) { + for (g = 0; g < v.length; g++) + l.push(tt(c.id, h, v[g], c.tags)); + continue; + } + ("LineString" !== h && + "MultiLineString" !== h) || + (1 === v.length + ? ((h = "LineString"), (v = v[0])) + : (h = "MultiLineString")), + ("Point" !== h && "MultiPoint" !== h) || + (h = + 3 === v.length + ? "Point" + : "MultiPoint"), + l.push(tt(c.id, h, v, c.tags)); + } + } + } + return l.length ? l : null; + } + function ut(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 ct(t, e, r, n, i, a, o) { + for ( + var s, + l, + u = ft(t), + c = 0 === i ? dt : vt, + f = t.start, + h = 0; + h < t.length - 3; + h += 3 + ) { + var p = t[h], + d = t[h + 1], + v = t[h + 2], + g = t[h + 3], + y = t[h + 4], + m = 0 === i ? p : d, + x = 0 === i ? g : y, + b = !1; + o && + (s = Math.sqrt( + Math.pow(p - g, 2) + Math.pow(d - y, 2), + )), + m < r + ? x > r && + ((l = c(u, p, d, g, y, r)), + o && (u.start = f + s * l)) + : m > n + ? x < n && + ((l = c(u, p, d, g, y, n)), + o && (u.start = f + s * l)) + : pt(u, p, d, v), + x < r && + m >= r && + ((l = c(u, p, d, g, y, r)), (b = !0)), + x > n && + m <= n && + ((l = c(u, p, d, g, y, n)), (b = !0)), + !a && + b && + (o && (u.end = f + s * l), + e.push(u), + (u = ft(t))), + o && (f += s); + } + var _ = t.length - 3; + (p = t[_]), + (d = t[_ + 1]), + (v = t[_ + 2]), + (m = 0 === i ? p : d) >= r && + m <= n && + pt(u, p, d, v), + (_ = u.length - 3), + a && + _ >= 3 && + (u[_] !== u[0] || u[_ + 1] !== u[1]) && + pt(u, u[0], u[1], u[2]), + u.length && e.push(u); + } + function ft(t) { + var e = []; + return ( + (e.size = t.size), + (e.start = t.start), + (e.end = t.end), + e + ); + } + function ht(t, e, r, n, i, a) { + for (var o = 0; o < t.length; o++) + ct(t[o], e, r, n, i, a, !1); + } + function pt(t, e, r, n) { + t.push(e), t.push(r), t.push(n); + } + function dt(t, e, r, n, i, a) { + var o = (a - e) / (n - e); + return ( + t.push(a), t.push(r + (i - r) * o), t.push(1), o + ); + } + function vt(t, e, r, n, i, a) { + var o = (a - r) / (i - r); + return ( + t.push(e + (n - e) * o), t.push(a), t.push(1), o + ); + } + function gt(t, e) { + for (var r = [], n = 0; n < t.length; n++) { + var i, + a = t[n], + o = a.type; + if ( + "Point" === o || + "MultiPoint" === o || + "LineString" === o + ) + i = yt(a.geometry, e); + else if ( + "MultiLineString" === o || + "Polygon" === o + ) { + i = []; + for (var s = 0; s < a.geometry.length; s++) + i.push(yt(a.geometry[s], e)); + } else if ("MultiPolygon" === o) + for ( + i = [], s = 0; + s < a.geometry.length; + s++ + ) { + for ( + var l = [], u = 0; + u < a.geometry[s].length; + u++ + ) + l.push(yt(a.geometry[s][u], e)); + i.push(l); + } + r.push(tt(a.id, o, i, a.tags)); + } + return r; + } + function yt(t, e) { + var r = []; + (r.size = t.size), + void 0 !== t.start && + ((r.start = t.start), (r.end = t.end)); + for (var n = 0; n < t.length; n += 3) + r.push(t[n] + e, t[n + 1], t[n + 2]); + return r; + } + function mt(t, e) { + if (t.transformed) return t; + var r, + n, + i, + a = 1 << t.z, + o = t.x, + s = t.y; + for (r = 0; r < t.features.length; r++) { + var l = t.features[r], + u = l.geometry, + c = l.type; + if (((l.geometry = []), 1 === c)) + for (n = 0; n < u.length; n += 2) + l.geometry.push( + xt(u[n], u[n + 1], e, a, o, s), + ); + else + for (n = 0; n < u.length; n++) { + var f = []; + for (i = 0; i < u[n].length; i += 2) + f.push( + xt(u[n][i], u[n][i + 1], e, a, o, s), + ); + l.geometry.push(f); + } + } + return (t.transformed = !0), t; + } + function xt(t, e, r, n, i, a) { + return [ + Math.round(r * (t * n - i)), + Math.round(r * (e * n - a)), + ]; + } + function bt(t, e, r, n, i) { + for ( + var a = + e === i.maxZoom + ? 0 + : i.tolerance / ((1 << e) * i.extent), + o = { + features: [], + numPoints: 0, + numSimplified: 0, + numFeatures: 0, + source: null, + x: r, + y: n, + z: e, + transformed: !1, + minX: 2, + minY: 1, + maxX: -1, + maxY: 0, + }, + s = 0; + s < t.length; + s++ + ) { + o.numFeatures++, _t(o, t[s], a, i); + var l = t[s].minX, + u = t[s].minY, + c = t[s].maxX, + f = t[s].maxY; + l < o.minX && (o.minX = l), + u < o.minY && (o.minY = u), + c > o.maxX && (o.maxX = c), + f > o.maxY && (o.maxY = f); + } + return o; + } + function _t(t, e, r, n) { + var i = e.geometry, + a = e.type, + o = []; + if ("Point" === a || "MultiPoint" === a) + for (var s = 0; s < i.length; s += 3) + o.push(i[s]), + o.push(i[s + 1]), + t.numPoints++, + t.numSimplified++; + else if ("LineString" === a) + wt(o, i, t, r, !1, !1); + else if ( + "MultiLineString" === a || + "Polygon" === a + ) + for (s = 0; s < i.length; s++) + wt(o, i[s], t, r, "Polygon" === a, 0 === s); + else if ("MultiPolygon" === a) + for (var l = 0; l < i.length; l++) { + var u = i[l]; + for (s = 0; s < u.length; s++) + wt(o, u[s], t, r, !0, 0 === s); + } + if (o.length) { + var c = e.tags || null; + if ("LineString" === a && n.lineMetrics) { + for (var f in ((c = {}), e.tags)) + c[f] = e.tags[f]; + (c.mapbox_clip_start = i.start / i.size), + (c.mapbox_clip_end = i.end / i.size); + } + var h = { + geometry: o, + type: + "Polygon" === a || "MultiPolygon" === a + ? 3 + : "LineString" === a || + "MultiLineString" === a + ? 2 + : 1, + tags: c, + }; + null !== e.id && (h.id = e.id), + t.features.push(h); + } + } + function wt(t, e, r, n, i, a) { + var o = n * n; + if (n > 0 && e.size < (i ? o : n)) + r.numPoints += e.length / 3; + else { + for (var s = [], l = 0; l < e.length; l += 3) + (0 === n || e[l + 2] > o) && + (r.numSimplified++, + s.push(e[l]), + s.push(e[l + 1])), + r.numPoints++; + i && + (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); + } + })(s, a), + t.push(s); + } + } + function Tt(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", + ); + if (e.promoteId && e.generateId) + throw new Error( + "promoteId and generateId cannot be used together.", + ); + var n = (function (t, e) { + var r = []; + if ("FeatureCollection" === t.type) + for (var n = 0; n < t.features.length; n++) + rt(r, t.features[n], e, n); + else + "Feature" === t.type + ? rt(r, t, e) + : rt(r, { geometry: t }, e); + return r; + })(t, e); + (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)), + (n = (function (t, e) { + var r = e.buffer / e.extent, + n = t, + i = lt(t, 1, -1 - r, r, 0, -1, 2, e), + a = lt(t, 1, 1 - r, 2 + r, 0, -1, 2, e); + return ( + (i || a) && + ((n = + lt(t, 1, -r, 1 + r, 0, -1, 2, e) || []), + i && (n = gt(i, 1).concat(n)), + a && (n = n.concat(gt(a, -1)))), + n + ); + })(n, e)).length && this.splitTile(n, 0, 0, 0), + r && + (n.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 kt(t, e, r) { + return 32 * ((1 << t) * r + e) + t; + } + function At(t, e) { + var r = t.tileID.canonical; + if (!this._geoJSONIndex) return e(null, null); + var n = this._geoJSONIndex.getTile(r.z, r.x, r.y); + if (!n) return e(null, null); + var i = new g(n.features), + a = _(i); + (0 === a.byteOffset && + a.byteLength === a.buffer.byteLength) || + (a = new Uint8Array(a)), + e(null, { vectorTile: i, rawData: a.buffer }); + } + (V.prototype.load = function (t) { + var e = this.options, + r = e.log, + n = e.minZoom, + i = e.maxZoom, + a = e.nodeSize; + r && console.time("total time"); + var o = "prepare " + t.length + " points"; + r && console.time(o), (this.points = t); + for (var s = [], l = 0; l < t.length; l++) + t[l].geometry && s.push(q(t[l], l)); + (this.trees[i + 1] = new j( + s, + J, + K, + a, + Float32Array, + )), + r && console.timeEnd(o); + for (var u = i; u >= n; u--) { + var c = +Date.now(); + (s = this._cluster(s, u)), + (this.trees[u] = new j( + s, + J, + K, + a, + Float32Array, + )), + r && + console.log( + "z%d: %d clusters in %dms", + u, + s.length, + +Date.now() - c, + ); + } + return r && console.timeEnd("total time"), this; + }), + (V.prototype.getClusters = function (t, e) { + var r = + ((((t[0] + 180) % 360) + 360) % 360) - 180, + n = Math.max(-90, Math.min(90, t[1])), + i = + 180 === t[2] + ? 180 + : ((((t[2] + 180) % 360) + 360) % 360) - + 180, + a = Math.max(-90, Math.min(90, t[3])); + if (t[2] - t[0] >= 360) (r = -180), (i = 180); + else if (r > i) { + var o = this.getClusters([r, n, 180, a], e), + s = this.getClusters([-180, n, i, a], e); + return o.concat(s); + } + for ( + var l = this.trees[this._limitZoom(e)], + u = [], + c = 0, + f = l.range(W(r), Y(a), W(i), Y(n)); + c < f.length; + c += 1 + ) { + var h = f[c], + p = l.points[h]; + u.push( + p.numPoints ? G(p) : this.points[p.index], + ); + } + return u; + }), + (V.prototype.getChildren = function (t) { + var e = this._getOriginId(t), + r = this._getOriginZoom(t), + n = "No cluster with the specified id.", + i = this.trees[r]; + if (!i) throw new Error(n); + var a = i.points[e]; + if (!a) throw new Error(n); + for ( + var o = + this.options.radius / + (this.options.extent * + Math.pow(2, r - 1)), + s = [], + l = 0, + u = i.within(a.x, a.y, o); + l < u.length; + l += 1 + ) { + var c = u[l], + f = i.points[c]; + f.parentId === t && + s.push( + f.numPoints ? G(f) : this.points[f.index], + ); + } + if (0 === s.length) throw new Error(n); + return s; + }), + (V.prototype.getLeaves = function (t, e, r) { + (e = e || 10), (r = r || 0); + var n = []; + return this._appendLeaves(n, t, e, r, 0), n; + }), + (V.prototype.getTile = function (t, e, r) { + var n = this.trees[this._limitZoom(t)], + i = Math.pow(2, t), + a = this.options, + o = a.extent, + s = a.radius / o, + l = (r - s) / i, + u = (r + 1 + s) / i, + c = { features: [] }; + return ( + this._addTileFeatures( + n.range((e - s) / i, l, (e + 1 + s) / i, u), + n.points, + e, + r, + i, + c, + ), + 0 === e && + this._addTileFeatures( + n.range(1 - s / i, l, 1, u), + n.points, + i, + r, + i, + c, + ), + e === i - 1 && + this._addTileFeatures( + n.range(0, l, s / i, u), + n.points, + -1, + r, + i, + c, + ), + c.features.length ? c : null + ); + }), + (V.prototype.getClusterExpansionZoom = function ( + t, + ) { + for ( + var e = this._getOriginZoom(t) - 1; + e <= this.options.maxZoom; + + ) { + var r = this.getChildren(t); + if ((e++, 1 !== r.length)) break; + t = r[0].properties.cluster_id; + } + return e; + }), + (V.prototype._appendLeaves = function ( + t, + e, + r, + n, + i, + ) { + for ( + var a = 0, o = this.getChildren(e); + a < o.length; + a += 1 + ) { + var s = o[a], + l = s.properties; + if ( + (l && l.cluster + ? i + l.point_count <= n + ? (i += l.point_count) + : (i = this._appendLeaves( + t, + l.cluster_id, + r, + n, + i, + )) + : i < n + ? i++ + : t.push(s), + t.length === r) + ) + break; + } + return i; + }), + (V.prototype._addTileFeatures = function ( + t, + e, + r, + n, + i, + a, + ) { + for (var o = 0, s = t; o < s.length; o += 1) { + var l = e[s[o]], + u = l.numPoints, + c = { + type: 1, + geometry: [ + [ + Math.round( + this.options.extent * (l.x * i - r), + ), + Math.round( + this.options.extent * (l.y * i - n), + ), + ], + ], + tags: u + ? Z(l) + : this.points[l.index].properties, + }, + f = void 0; + u + ? (f = l.id) + : this.options.generateId + ? (f = l.index) + : this.points[l.index].id && + (f = this.points[l.index].id), + void 0 !== f && (c.id = f), + a.features.push(c); + } + }), + (V.prototype._limitZoom = function (t) { + return Math.max( + this.options.minZoom, + Math.min(t, this.options.maxZoom + 1), + ); + }), + (V.prototype._cluster = function (t, e) { + for ( + var r = [], + n = this.options, + i = n.radius, + a = n.extent, + o = n.reduce, + s = i / (a * Math.pow(2, e)), + l = 0; + l < t.length; + l++ + ) { + var u = t[l]; + if (!(u.zoom <= e)) { + u.zoom = e; + for ( + var c = this.trees[e + 1], + f = c.within(u.x, u.y, s), + h = u.numPoints || 1, + p = u.x * h, + d = u.y * h, + v = + o && h > 1 ? this._map(u, !0) : null, + g = + (l << 5) + + (e + 1) + + this.points.length, + y = 0, + m = f; + y < m.length; + y += 1 + ) { + var x = m[y], + b = c.points[x]; + if (!(b.zoom <= e)) { + b.zoom = e; + var _ = b.numPoints || 1; + (p += b.x * _), + (d += b.y * _), + (h += _), + (b.parentId = g), + o && + (v || (v = this._map(u, !0)), + o(v, this._map(b))); + } + } + 1 === h + ? r.push(u) + : ((u.parentId = g), + r.push(H(p / h, d / h, g, h, v))); + } + } + return r; + }), + (V.prototype._getOriginId = function (t) { + return (t - this.points.length) >> 5; + }), + (V.prototype._getOriginZoom = function (t) { + return (t - this.points.length) % 32; + }), + (V.prototype._map = function (t, e) { + if (t.numPoints) + return e ? X({}, t.properties) : t.properties; + var r = this.points[t.index].properties, + n = this.options.map(r); + return e && n === r ? X({}, n) : n; + }), + (Tt.prototype.options = { + maxZoom: 14, + indexMaxZoom: 5, + indexMaxPoints: 1e5, + tolerance: 3, + extent: 4096, + buffer: 64, + lineMetrics: !1, + promoteId: null, + generateId: !1, + debug: 0, + }), + (Tt.prototype.splitTile = function ( + t, + e, + r, + n, + i, + a, + o, + ) { + for ( + var s = [t, e, r, n], + l = this.options, + u = l.debug; + s.length; + + ) { + (n = s.pop()), + (r = s.pop()), + (e = s.pop()), + (t = s.pop()); + var c = 1 << e, + f = kt(e, r, n), + h = this.tiles[f]; + if ( + !h && + (u > 1 && console.time("creation"), + (h = this.tiles[f] = bt(t, e, r, n, l)), + this.tileCoords.push({ z: e, x: r, y: n }), + u) + ) { + u > 1 && + (console.log( + "tile z%d-%d-%d (features: %d, points: %d, simplified: %d)", + e, + r, + n, + h.numFeatures, + h.numPoints, + h.numSimplified, + ), + console.timeEnd("creation")); + var p = "z" + e; + (this.stats[p] = (this.stats[p] || 0) + 1), + this.total++; + } + if (((h.source = t), i)) { + if (e === l.maxZoom || e === i) continue; + var d = 1 << (i - e); + if ( + r !== Math.floor(a / d) || + n !== Math.floor(o / d) + ) + continue; + } else if ( + e === l.indexMaxZoom || + h.numPoints <= l.indexMaxPoints + ) + continue; + if (((h.source = null), 0 !== t.length)) { + u > 1 && console.time("clipping"); + var v, + g, + y, + m, + x, + b, + _ = (0.5 * l.buffer) / l.extent, + w = 0.5 - _, + T = 0.5 + _, + k = 1 + _; + (v = g = y = m = null), + (x = lt( + t, + c, + r - _, + r + T, + 0, + h.minX, + h.maxX, + l, + )), + (b = lt( + t, + c, + r + w, + r + k, + 0, + h.minX, + h.maxX, + l, + )), + (t = null), + x && + ((v = lt( + x, + c, + n - _, + n + T, + 1, + h.minY, + h.maxY, + l, + )), + (g = lt( + x, + c, + n + w, + n + k, + 1, + h.minY, + h.maxY, + l, + )), + (x = null)), + b && + ((y = lt( + b, + c, + n - _, + n + T, + 1, + h.minY, + h.maxY, + l, + )), + (m = lt( + b, + c, + n + w, + n + k, + 1, + h.minY, + h.maxY, + l, + )), + (b = null)), + u > 1 && console.timeEnd("clipping"), + s.push(v || [], e + 1, 2 * r, 2 * n), + s.push(g || [], e + 1, 2 * r, 2 * n + 1), + s.push(y || [], e + 1, 2 * r + 1, 2 * n), + s.push( + m || [], + e + 1, + 2 * r + 1, + 2 * n + 1, + ); + } + } + }), + (Tt.prototype.getTile = function (t, e, r) { + var n = this.options, + i = n.extent, + a = n.debug; + if (t < 0 || t > 24) return null; + var o = 1 << t, + s = kt(t, (e = ((e % o) + o) % o), r); + if (this.tiles[s]) return mt(this.tiles[s], i); + a > 1 && + console.log( + "drilling down to z%d-%d-%d", + t, + e, + r, + ); + for (var l, u = t, c = e, f = r; !l && u > 0; ) + u--, + (c = Math.floor(c / 2)), + (f = Math.floor(f / 2)), + (l = this.tiles[kt(u, c, f)]); + return l && l.source + ? (a > 1 && + console.log( + "found parent tile z%d-%d-%d", + u, + c, + f, + ), + a > 1 && console.time("drilling down"), + this.splitTile(l.source, u, c, f, t, e, r), + a > 1 && console.timeEnd("drilling down"), + this.tiles[s] ? mt(this.tiles[s], i) : null) + : null; + }); + var Mt = (function (e) { + function r(t, r, n, i) { + e.call(this, t, r, n, At), + i && (this.loadGeoJSON = i); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create(e && e.prototype)), + (r.prototype.constructor = r), + (r.prototype.loadData = function (t, e) { + this._pendingCallback && + this._pendingCallback(null, { + abandoned: !0, + }), + (this._pendingCallback = e), + (this._pendingLoadDataParams = t), + this._state && "Idle" !== this._state + ? (this._state = "NeedsLoadData") + : ((this._state = "Coalescing"), + this._loadData()); + }), + (r.prototype._loadData = function () { + var e = this; + if ( + this._pendingCallback && + this._pendingLoadDataParams + ) { + var r = this._pendingCallback, + n = this._pendingLoadDataParams; + delete this._pendingCallback, + delete this._pendingLoadDataParams; + var i = + !!( + n && + n.request && + n.request.collectResourceTiming + ) && new t.RequestPerformance(n.request); + this.loadGeoJSON(n, function (a, o) { + if (a || !o) return r(a); + if ("object" != typeof o) + return r( + new Error( + "Input data given to '" + + n.source + + "' is not a valid GeoJSON object.", + ), + ); + f(o, !0); + try { + e._geoJSONIndex = n.cluster + ? new V( + (function (e) { + var r = e.superclusterOptions, + n = e.clusterProperties; + if (!n || !r) return r; + for ( + var i = {}, + a = {}, + o = { + accumulated: null, + zoom: 0, + }, + s = { properties: null }, + l = Object.keys(n), + u = 0, + c = l; + u < c.length; + u += 1 + ) { + var f = c[u], + h = n[f], + p = h[0], + d = h[1], + v = t.createExpression(d), + g = t.createExpression( + "string" == typeof p + ? [ + p, + ["accumulated"], + ["get", f], + ] + : p, + ); + (i[f] = v.value), + (a[f] = g.value); + } + return ( + (r.map = function (t) { + s.properties = t; + for ( + var e = {}, r = 0, n = l; + r < n.length; + r += 1 + ) { + var a = n[r]; + e[a] = i[a].evaluate( + o, + s, + ); + } + return e; + }), + (r.reduce = function (t, e) { + s.properties = e; + for ( + var r = 0, n = l; + r < n.length; + r += 1 + ) { + var i = n[r]; + (o.accumulated = t[i]), + (t[i] = a[i].evaluate( + o, + s, + )); + } + }), + r + ); + })(n), + ).load(o.features) + : (function (t, e) { + return new Tt(t, e); + })(o, n.geojsonVtOptions); + } catch (a) { + return r(a); + } + e.loaded = {}; + var s = {}; + if (i) { + var l = i.finish(); + l && + ((s.resourceTiming = {}), + (s.resourceTiming[n.source] = + JSON.parse(JSON.stringify(l)))); + } + r(null, s); + }); + } + }), + (r.prototype.coalesce = function () { + "Coalescing" === this._state + ? (this._state = "Idle") + : "NeedsLoadData" === this._state && + ((this._state = "Coalescing"), + this._loadData()); + }), + (r.prototype.reloadTile = function (t, r) { + var n = this.loaded, + i = t.uid; + return n && n[i] + ? e.prototype.reloadTile.call(this, t, r) + : this.loadTile(t, r); + }), + (r.prototype.loadGeoJSON = function (e, r) { + if (e.request) t.getJSON(e.request, r); + else { + if ("string" != typeof e.data) + return r( + new Error( + "Input data given to '" + + e.source + + "' is not a valid GeoJSON object.", + ), + ); + try { + return r(null, JSON.parse(e.data)); + } catch (t) { + return r( + new Error( + "Input data given to '" + + e.source + + "' is not a valid GeoJSON object.", + ), + ); + } + } + }), + (r.prototype.removeSource = function (t, e) { + this._pendingCallback && + this._pendingCallback(null, { + abandoned: !0, + }), + e(); + }), + (r.prototype.getClusterExpansionZoom = + function (t, e) { + try { + e( + null, + this._geoJSONIndex.getClusterExpansionZoom( + t.clusterId, + ), + ); + } catch (t) { + e(t); + } + }), + (r.prototype.getClusterChildren = function ( + t, + e, + ) { + try { + e( + null, + this._geoJSONIndex.getChildren( + t.clusterId, + ), + ); + } catch (t) { + e(t); + } + }), + (r.prototype.getClusterLeaves = function ( + t, + e, + ) { + try { + e( + null, + this._geoJSONIndex.getLeaves( + t.clusterId, + t.limit, + t.offset, + ), + ); + } catch (t) { + e(t); + } + }), + r + ); + })(l); + var St = function (e) { + var r = this; + (this.self = e), + (this.actor = new t.Actor(e, this)), + (this.layerIndexes = {}), + (this.availableImages = {}), + (this.workerSourceTypes = { + vector: l, + geojson: Mt, + }), + (this.workerSources = {}), + (this.demWorkerSources = {}), + (this.self.registerWorkerSource = function ( + t, + e, + ) { + if (r.workerSourceTypes[t]) + throw new Error( + 'Worker source with name "' + + t + + '" already registered.', + ); + r.workerSourceTypes[t] = e; + }), + (this.self.registerRTLTextPlugin = function ( + e, + ) { + if (t.plugin.isParsed()) + throw new Error( + "RTL text plugin already registered.", + ); + (t.plugin.applyArabicShaping = + e.applyArabicShaping), + (t.plugin.processBidirectionalText = + e.processBidirectionalText), + (t.plugin.processStyledBidirectionalText = + e.processStyledBidirectionalText); + }); + }; + return ( + (St.prototype.setReferrer = function (t, e) { + this.referrer = e; + }), + (St.prototype.setImages = function (t, e, r) { + for (var n in ((this.availableImages[t] = e), + this.workerSources[t])) { + var i = this.workerSources[t][n]; + for (var a in i) i[a].availableImages = e; + } + r(); + }), + (St.prototype.setLayers = function (t, e, r) { + this.getLayerIndex(t).replace(e), r(); + }), + (St.prototype.updateLayers = function (t, e, r) { + this.getLayerIndex(t).update( + e.layers, + e.removedIds, + ), + r(); + }), + (St.prototype.loadTile = function (t, e, r) { + this.getWorkerSource( + t, + e.type, + e.source, + ).loadTile(e, r); + }), + (St.prototype.loadDEMTile = function (t, e, r) { + this.getDEMWorkerSource(t, e.source).loadTile( + e, + r, + ); + }), + (St.prototype.reloadTile = function (t, e, r) { + this.getWorkerSource( + t, + e.type, + e.source, + ).reloadTile(e, r); + }), + (St.prototype.abortTile = function (t, e, r) { + this.getWorkerSource( + t, + e.type, + e.source, + ).abortTile(e, r); + }), + (St.prototype.removeTile = function (t, e, r) { + this.getWorkerSource( + t, + e.type, + e.source, + ).removeTile(e, r); + }), + (St.prototype.removeDEMTile = function (t, e) { + this.getDEMWorkerSource(t, e.source).removeTile( + e, + ); + }), + (St.prototype.removeSource = function (t, e, r) { + if ( + this.workerSources[t] && + this.workerSources[t][e.type] && + this.workerSources[t][e.type][e.source] + ) { + var n = + this.workerSources[t][e.type][e.source]; + delete this.workerSources[t][e.type][ + e.source + ], + void 0 !== n.removeSource + ? n.removeSource(e, r) + : r(); + } + }), + (St.prototype.loadWorkerSource = function ( + t, + e, + r, + ) { + try { + this.self.importScripts(e.url), r(); + } catch (t) { + r(t.toString()); + } + }), + (St.prototype.syncRTLPluginState = function ( + e, + r, + n, + ) { + try { + t.plugin.setState(r); + var i = t.plugin.getPluginURL(); + if ( + t.plugin.isLoaded() && + !t.plugin.isParsed() && + null != i + ) { + this.self.importScripts(i); + var a = t.plugin.isParsed(); + n( + a + ? void 0 + : new Error( + "RTL Text Plugin failed to import scripts from " + + i, + ), + a, + ); + } + } catch (t) { + n(t.toString()); + } + }), + (St.prototype.getAvailableImages = function (t) { + var e = this.availableImages[t]; + return e || (e = []), e; + }), + (St.prototype.getLayerIndex = function (t) { + var e = this.layerIndexes[t]; + return ( + e || (e = this.layerIndexes[t] = new n()), e + ); + }), + (St.prototype.getWorkerSource = function ( + t, + e, + r, + ) { + var n = this; + if ( + (this.workerSources[t] || + (this.workerSources[t] = {}), + this.workerSources[t][e] || + (this.workerSources[t][e] = {}), + !this.workerSources[t][e][r]) + ) { + var i = { + send: function (e, r, i) { + n.actor.send(e, r, i, t); + }, + }; + this.workerSources[t][e][r] = + new this.workerSourceTypes[e]( + i, + this.getLayerIndex(t), + this.getAvailableImages(t), + ); + } + return this.workerSources[t][e][r]; + }), + (St.prototype.getDEMWorkerSource = function ( + t, + e, + ) { + return ( + this.demWorkerSources[t] || + (this.demWorkerSources[t] = {}), + this.demWorkerSources[t][e] || + (this.demWorkerSources[t][e] = new c()), + this.demWorkerSources[t][e] + ); + }), + (St.prototype.enforceCacheSizeLimit = function ( + e, + r, + ) { + t.enforceCacheSizeLimit(r); + }), + "undefined" != typeof WorkerGlobalScope && + void 0 !== t.window && + t.window instanceof WorkerGlobalScope && + (t.window.worker = new St(t.window)), + St + ); + }), + n(0, function (t) { + var e = t.createCommonjsModule(function (t) { + function e(t) { + return !r(t); + } + function r(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 && + "URL" 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 + ? ArrayBuffer.isView + ? (function () { + var t = + document.createElement( + "canvas", + ); + t.width = t.height = 1; + var e = + t.getContext("2d"); + if (!e) return !1; + var r = e.getImageData( + 0, + 0, + 1, + 1, + ); + return ( + r && r.width === t.width + ); + })() + ? ((r = + t && + t.failIfMajorPerformanceCaveat), + void 0 === n[r] && + (n[r] = (function (t) { + var r = (function ( + t, + ) { + var r = + document.createElement( + "canvas", + ), + n = Object.create( + e.webGLContextAttributes, + ); + return ( + (n.failIfMajorPerformanceCaveat = + t), + r.probablySupportsContext + ? r.probablySupportsContext( + "webgl", + n, + ) || + r.probablySupportsContext( + "experimental-webgl", + n, + ) + : r.supportsContext + ? r.supportsContext( + "webgl", + n, + ) || + r.supportsContext( + "experimental-webgl", + n, + ) + : r.getContext( + "webgl", + n, + ) || + r.getContext( + "experimental-webgl", + n, + ) + ); + })(t); + if (!r) return !1; + var n = + r.createShader( + r.VERTEX_SHADER, + ); + return ( + !( + !n || + r.isContextLost() + ) && + (r.shaderSource( + n, + "void main() {}", + ), + r.compileShader(n), + !0 === + r.getShaderParameter( + n, + r.COMPILE_STATUS, + )) + ); + })(r)), + n[r] + ? void 0 + : "insufficient WebGL support") + : "insufficient Canvas/getImageData support" + : "insufficient ArrayBuffer support" + : "insufficient Uint8ClampedArray support" + : "insufficient worker support" + : "insufficient JSON support" + : "insufficient Object support" + : "insufficient Function support" + : "insufficent Array support" + : "not a browser"; + var r; + } + t.exports + ? (t.exports = e) + : window && + ((window.mapboxgl = window.mapboxgl || {}), + (window.mapboxgl.supported = e), + (window.mapboxgl.notSupportedReason = r)); + var n = {}; + e.webGLContextAttributes = { + antialias: !1, + alpha: !0, + stencil: !0, + depth: !0, + }; + }), + r = { + create: function (e, r, n) { + var i = t.window.document.createElement(e); + return ( + void 0 !== r && (i.className = r), + n && n.appendChild(i), + i + ); + }, + createNS: function (e, r) { + return t.window.document.createElementNS( + e, + r, + ); + }, + }, + n = t.window.document.documentElement.style; + function i(t) { + if (!n) return t[0]; + for (var e = 0; e < t.length; e++) + if (t[e] in n) return t[e]; + return t[0]; + } + var a, + o = i([ + "userSelect", + "MozUserSelect", + "WebkitUserSelect", + "msUserSelect", + ]); + (r.disableDrag = function () { + n && o && ((a = n[o]), (n[o] = "none")); + }), + (r.enableDrag = function () { + n && o && (n[o] = a); + }); + var s = i(["transform", "WebkitTransform"]); + r.setTransform = function (t, e) { + t.style[s] = e; + }; + var l = !1; + try { + var u = Object.defineProperty({}, "passive", { + get: function () { + l = !0; + }, + }); + t.window.addEventListener("test", u, u), + t.window.removeEventListener("test", u, u); + } catch (t) { + l = !1; + } + (r.addEventListener = function (t, e, r, n) { + void 0 === n && (n = {}), + "passive" in n && l + ? t.addEventListener(e, r, n) + : t.addEventListener(e, r, n.capture); + }), + (r.removeEventListener = function (t, e, r, n) { + void 0 === n && (n = {}), + "passive" in n && l + ? t.removeEventListener(e, r, n) + : t.removeEventListener(e, r, n.capture); + }); + var c = function (e) { + e.preventDefault(), + e.stopPropagation(), + t.window.removeEventListener("click", c, !0); + }; + function f(t) { + var e = t.userImage; + return ( + !!(e && e.render && e.render()) && + (t.data.replace(new Uint8Array(e.data.buffer)), + !0) + ); + } + (r.suppressClick = function () { + t.window.addEventListener("click", c, !0), + t.window.setTimeout(function () { + t.window.removeEventListener("click", c, !0); + }, 0); + }), + (r.mousePos = function (e, r) { + var n = e.getBoundingClientRect(); + return new t.Point( + r.clientX - n.left - e.clientLeft, + r.clientY - n.top - e.clientTop, + ); + }), + (r.touchPos = function (e, r) { + for ( + var n = e.getBoundingClientRect(), + i = [], + a = 0; + a < r.length; + a++ + ) + i.push( + new t.Point( + r[a].clientX - n.left - e.clientLeft, + r[a].clientY - n.top - e.clientTop, + ), + ); + return i; + }), + (r.mouseButton = function (e) { + return void 0 !== t.window.InstallTrigger && + 2 === e.button && + e.ctrlKey && + t.window.navigator.platform + .toUpperCase() + .indexOf("MAC") >= 0 + ? 0 + : e.button; + }), + (r.remove = function (t) { + t.parentNode && t.parentNode.removeChild(t); + }); + var h = (function (e) { + function r() { + e.call(this), + (this.images = {}), + (this.updatedImages = {}), + (this.callbackDispatchedThisFrame = {}), + (this.loaded = !1), + (this.requestors = []), + (this.patterns = {}), + (this.atlasImage = new t.RGBAImage({ + width: 1, + height: 1, + })), + (this.dirty = !0); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create(e && e.prototype)), + (r.prototype.constructor = r), + (r.prototype.isLoaded = function () { + return this.loaded; + }), + (r.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 = []; + } + }), + (r.prototype.getImage = function (t) { + return this.images[t]; + }), + (r.prototype.addImage = function (t, e) { + this._validate(t, e) && (this.images[t] = e); + }), + (r.prototype._validate = function (e, r) { + var n = !0; + return ( + this._validateStretch( + r.stretchX, + r.data && r.data.width, + ) || + (this.fire( + new t.ErrorEvent( + new Error( + 'Image "' + + e + + '" has invalid "stretchX" value', + ), + ), + ), + (n = !1)), + this._validateStretch( + r.stretchY, + r.data && r.data.height, + ) || + (this.fire( + new t.ErrorEvent( + new Error( + 'Image "' + + e + + '" has invalid "stretchY" value', + ), + ), + ), + (n = !1)), + this._validateContent(r.content, r) || + (this.fire( + new t.ErrorEvent( + new Error( + 'Image "' + + e + + '" has invalid "content" value', + ), + ), + ), + (n = !1)), + n + ); + }), + (r.prototype._validateStretch = function ( + t, + e, + ) { + if (!t) return !0; + for ( + var r = 0, n = 0, i = t; + n < i.length; + n += 1 + ) { + var a = i[n]; + if (a[0] < r || a[1] < a[0] || e < a[1]) + return !1; + r = a[1]; + } + return !0; + }), + (r.prototype._validateContent = function ( + t, + e, + ) { + return !( + t && + (4 !== t.length || + t[0] < 0 || + e.data.width < t[0] || + t[1] < 0 || + e.data.height < t[1] || + t[2] < 0 || + e.data.width < t[2] || + t[3] < 0 || + e.data.height < t[3] || + t[2] < t[0] || + t[3] < t[1]) + ); + }), + (r.prototype.updateImage = function (t, e) { + var r = this.images[t]; + (e.version = r.version + 1), + (this.images[t] = e), + (this.updatedImages[t] = !0); + }), + (r.prototype.removeImage = function (t) { + var e = this.images[t]; + delete this.images[t], + delete this.patterns[t], + e.userImage && + e.userImage.onRemove && + e.userImage.onRemove(); + }), + (r.prototype.listImages = function () { + return Object.keys(this.images); + }), + (r.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, + }); + }), + (r.prototype._notify = function (e, r) { + for ( + var n = {}, i = 0, a = e; + i < a.length; + i += 1 + ) { + var o = a[i]; + this.images[o] || + this.fire( + new t.Event("styleimagemissing", { + id: o, + }), + ); + var s = this.images[o]; + s + ? (n[o] = { + data: s.data.clone(), + pixelRatio: s.pixelRatio, + sdf: s.sdf, + version: s.version, + stretchX: s.stretchX, + stretchY: s.stretchY, + content: s.content, + hasRenderCallback: Boolean( + s.userImage && s.userImage.render, + ), + }) + : t.warnOnce( + 'Image "' + + o + + '" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.', + ); + } + r(null, n); + }), + (r.prototype.getPixelSize = function () { + var t = this.atlasImage; + return { width: t.width, height: t.height }; + }), + (r.prototype.getPattern = function (e) { + var r = this.patterns[e], + n = this.getImage(e); + if (!n) return null; + if (r && r.position.version === n.version) + return r.position; + if (r) r.position.version = n.version; + else { + var i = { + w: n.data.width + 2, + h: n.data.height + 2, + x: 0, + y: 0, + }, + a = new t.ImagePosition(i, n); + this.patterns[e] = { bin: i, position: a }; + } + return ( + this._updatePatternAtlas(), + this.patterns[e].position + ); + }), + (r.prototype.bind = function (e) { + var r = e.gl; + this.atlasTexture + ? this.dirty && + (this.atlasTexture.update( + this.atlasImage, + ), + (this.dirty = !1)) + : (this.atlasTexture = new t.Texture( + e, + this.atlasImage, + r.RGBA, + )), + this.atlasTexture.bind( + r.LINEAR, + r.CLAMP_TO_EDGE, + ); + }), + (r.prototype._updatePatternAtlas = function () { + var e = []; + for (var r in this.patterns) + e.push(this.patterns[r].bin); + var n = t.potpack(e), + i = n.w, + a = n.h, + o = this.atlasImage; + for (var s in (o.resize({ + width: i || 1, + height: a || 1, + }), + this.patterns)) { + var l = this.patterns[s].bin, + u = l.x + 1, + c = l.y + 1, + f = this.images[s].data, + h = f.width, + p = f.height; + t.RGBAImage.copy( + f, + o, + { x: 0, y: 0 }, + { x: u, y: c }, + { width: h, height: p }, + ), + t.RGBAImage.copy( + f, + o, + { x: 0, y: p - 1 }, + { x: u, y: c - 1 }, + { width: h, height: 1 }, + ), + t.RGBAImage.copy( + f, + o, + { x: 0, y: 0 }, + { x: u, y: c + p }, + { width: h, height: 1 }, + ), + t.RGBAImage.copy( + f, + o, + { x: h - 1, y: 0 }, + { x: u - 1, y: c }, + { width: 1, height: p }, + ), + t.RGBAImage.copy( + f, + o, + { x: 0, y: 0 }, + { x: u + h, y: c }, + { width: 1, height: p }, + ); + } + this.dirty = !0; + }), + (r.prototype.beginFrame = function () { + this.callbackDispatchedThisFrame = {}; + }), + (r.prototype.dispatchRenderCallbacks = + function (t) { + for ( + var e = 0, r = t; + e < r.length; + e += 1 + ) { + var n = r[e]; + if ( + !this.callbackDispatchedThisFrame[n] + ) { + this.callbackDispatchedThisFrame[n] = + !0; + var i = this.images[n]; + f(i) && this.updateImage(n, i); + } + } + }), + r + ); + })(t.Evented); + var p = g, + d = g, + v = 1e20; + function g(t, e, r, n, i, a) { + (this.fontSize = t || 24), + (this.buffer = void 0 === e ? 3 : e), + (this.cutoff = n || 0.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 y(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 (m(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 (m(n, i, a, o, e), s = 0; s < e; s++) + t[l * e + s] = Math.sqrt(i[s]); + } + } + function m(t, e, r, n, i) { + (r[0] = 0), (n[0] = -v), (n[1] = +v); + 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] = +v); + } + 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]]; + } + } + (g.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 i = e.data[4 * n + 3] / 255; + (this.gridOuter[n] = + 1 === i + ? 0 + : 0 === i + ? v + : Math.pow(Math.max(0, 0.5 - i), 2)), + (this.gridInner[n] = + 1 === i + ? v + : 0 === i + ? 0 + : Math.pow(Math.max(0, i - 0.5), 2)); + } + for ( + y( + this.gridOuter, + this.size, + this.size, + this.f, + this.d, + this.v, + this.z, + ), + y( + this.gridInner, + this.size, + this.size, + this.f, + this.d, + this.v, + this.z, + ), + n = 0; + n < this.size * this.size; + n++ + ) { + var a = this.gridOuter[n] - this.gridInner[n]; + r[n] = Math.max( + 0, + Math.min( + 255, + Math.round( + 255 - + 255 * (a / this.radius + this.cutoff), + ), + ), + ); + } + return r; + }), + (p.default = d); + var x = function (t, e) { + (this.requestManager = t), + (this.localIdeographFontFamily = e), + (this.entries = {}); + }; + (x.prototype.setURL = function (t) { + this.url = t; + }), + (x.prototype.getGlyphs = function (e, r) { + var n = this, + i = []; + for (var a in e) + for ( + var o = 0, s = e[a]; + o < s.length; + o += 1 + ) { + var l = s[o]; + i.push({ stack: a, id: l }); + } + t.asyncAll( + i, + function (t, e) { + var r = t.stack, + i = t.id, + a = n.entries[r]; + a || + (a = n.entries[r] = + { + glyphs: {}, + requests: {}, + ranges: {}, + }); + var o = a.glyphs[i]; + if (void 0 === o) { + if ((o = n._tinySDF(a, r, i))) + return ( + (a.glyphs[i] = o), + void e(null, { + stack: r, + id: i, + glyph: o, + }) + ); + var s = Math.floor(i / 256); + if (256 * s > 65535) + e( + new Error( + "glyphs > 65535 not supported", + ), + ); + else if (a.ranges[s]) + e(null, { stack: r, id: i, glyph: o }); + else { + var l = a.requests[s]; + l || + ((l = a.requests[s] = []), + x.loadGlyphRange( + r, + s, + n.url, + n.requestManager, + function (t, e) { + if (e) { + for (var r in e) + n._doesCharSupportLocalGlyph( + +r, + ) || (a.glyphs[+r] = e[+r]); + a.ranges[s] = !0; + } + for ( + var i = 0, o = l; + i < o.length; + i += 1 + ) + (0, o[i])(t, e); + delete a.requests[s]; + }, + )), + l.push(function (t, n) { + t + ? e(t) + : n && + e(null, { + stack: r, + id: i, + glyph: n[i] || null, + }); + }); + } + } else + e(null, { stack: r, id: i, glyph: o }); + }, + function (t, e) { + if (t) r(t); + else if (e) { + for ( + var n = {}, i = 0, a = e; + 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, + }; + } + r(null, n); + } + }, + ); + }), + (x.prototype._doesCharSupportLocalGlyph = + function (e) { + return ( + !!this.localIdeographFontFamily && + (t.isChar["CJK Unified Ideographs"](e) || + t.isChar["Hangul Syllables"](e) || + t.isChar.Hiragana(e) || + t.isChar.Katakana(e)) + ); + }), + (x.prototype._tinySDF = function (e, r, n) { + var i = this.localIdeographFontFamily; + if (i && this._doesCharSupportLocalGlyph(n)) { + var a = e.tinySDF; + if (!a) { + var o = "400"; + /bold/i.test(r) + ? (o = "900") + : /medium/i.test(r) + ? (o = "500") + : /light/i.test(r) && (o = "200"), + (a = e.tinySDF = + new x.TinySDF(24, 3, 8, 0.25, i, o)); + } + return { + id: n, + bitmap: new t.AlphaImage( + { width: 30, height: 30 }, + a.draw(String.fromCharCode(n)), + ), + metrics: { + width: 24, + height: 24, + left: 0, + top: -8, + advance: 24, + }, + }; + } + }), + (x.loadGlyphRange = function (e, r, n, i, a) { + var o = 256 * r, + s = o + 255, + l = i.transformRequest( + i + .normalizeGlyphsURL(n) + .replace("{fontstack}", e) + .replace("{range}", o + "-" + s), + t.ResourceType.Glyphs, + ); + t.getArrayBuffer(l, function (e, r) { + if (e) a(e); + else if (r) { + for ( + var n = {}, i = 0, o = t.parseGlyphPBF(r); + i < o.length; + i += 1 + ) { + var s = o[i]; + n[s.id] = s; + } + a(null, n); + } + }); + }), + (x.TinySDF = p); + var b = function () { + this.specification = t.styleSpec.light.position; + }; + (b.prototype.possiblyEvaluate = function (e, r) { + return t.sphericalToCartesian( + e.expression.evaluate(r), + ); + }), + (b.prototype.interpolate = function (e, r, n) { + return { + x: t.number(e.x, r.x, n), + y: t.number(e.y, r.y, n), + z: t.number(e.z, r.z, n), + }; + }); + var _ = new t.Properties({ + anchor: new t.DataConstantProperty( + t.styleSpec.light.anchor, + ), + position: new b(), + color: new t.DataConstantProperty( + t.styleSpec.light.color, + ), + intensity: new t.DataConstantProperty( + t.styleSpec.light.intensity, + ), + }), + w = "-transition", + T = (function (e) { + function r(r) { + e.call(this), + (this._transitionable = + new t.Transitionable(_)), + this.setLight(r), + (this._transitioning = + this._transitionable.untransitioned()); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create( + e && e.prototype, + )), + (r.prototype.constructor = r), + (r.prototype.getLight = function () { + return this._transitionable.serialize(); + }), + (r.prototype.setLight = function (e, r) { + if ( + (void 0 === r && (r = {}), + !this._validate(t.validateLight, e, r)) + ) + for (var n in e) { + var i = e[n]; + t.endsWith(n, w) + ? this._transitionable.setTransition( + n.slice(0, -w.length), + i, + ) + : this._transitionable.setValue(n, i); + } + }), + (r.prototype.updateTransitions = function ( + t, + ) { + this._transitioning = + this._transitionable.transitioned( + t, + this._transitioning, + ); + }), + (r.prototype.hasTransition = function () { + return this._transitioning.hasTransition(); + }), + (r.prototype.recalculate = function (t) { + this.properties = + this._transitioning.possiblyEvaluate(t); + }), + (r.prototype._validate = function (e, r, n) { + return ( + (!n || !1 !== n.validate) && + t.emitValidationErrors( + this, + e.call( + t.validateStyle, + t.extend({ + value: r, + style: { glyphs: !0, sprite: !0 }, + styleSpec: t.styleSpec, + }), + ), + ) + ); + }), + r + ); + })(t.Evented), + k = function (t, e) { + (this.width = t), + (this.height = e), + (this.nextRow = 0), + (this.data = new Uint8Array( + this.width * this.height, + )), + (this.dashEntry = {}); + }; + (k.prototype.getDash = function (t, e) { + var r = t.join(",") + String(e); + return ( + this.dashEntry[r] || + (this.dashEntry[r] = this.addDash(t, e)), + this.dashEntry[r] + ); + }), + (k.prototype.getDashRanges = function (t, e, r) { + var n = [], + i = + t.length % 2 == 1 + ? -t[t.length - 1] * r + : 0, + a = t[0] * r, + o = !0; + n.push({ + left: i, + right: a, + isDash: o, + zeroLength: 0 === t[0], + }); + for (var s = t[0], l = 1; l < t.length; l++) { + o = !o; + var u = t[l]; + (i = s * r), + (a = (s += u) * r), + n.push({ + left: i, + right: a, + isDash: o, + zeroLength: 0 === u, + }); + } + return n; + }), + (k.prototype.addRoundDash = function (t, e, r) { + for (var n = e / 2, i = -r; i <= r; i++) + for ( + var a = this.nextRow + r + i, + o = this.width * a, + s = 0, + l = t[s], + u = 0; + u < this.width; + u++ + ) { + u / l.right > 1 && (l = t[++s]); + var c = Math.abs(u - l.left), + f = Math.abs(u - l.right), + h = Math.min(c, f), + p = void 0, + d = (i / r) * (n + 1); + if (l.isDash) { + var v = n - Math.abs(d); + p = Math.sqrt(h * h + v * v); + } else p = n - Math.sqrt(h * h + d * d); + this.data[o + u] = Math.max( + 0, + Math.min(255, p + 128), + ); + } + }), + (k.prototype.addRegularDash = function (t) { + for (var e = t.length - 1; e >= 0; --e) { + var r = t[e], + n = t[e + 1]; + r.zeroLength + ? t.splice(e, 1) + : n && + n.isDash === r.isDash && + ((n.left = r.left), t.splice(e, 1)); + } + var i = t[0], + a = t[t.length - 1]; + i.isDash === a.isDash && + ((i.left = a.left - this.width), + (a.right = i.right + this.width)); + for ( + var o = this.width * this.nextRow, + s = 0, + l = t[s], + u = 0; + u < this.width; + u++ + ) { + u / l.right > 1 && (l = t[++s]); + var c = Math.abs(u - l.left), + f = Math.abs(u - l.right), + h = Math.min(c, f), + p = l.isDash ? h : -h; + this.data[o + u] = Math.max( + 0, + Math.min(255, p + 128), + ); + } + }), + (k.prototype.addDash = function (e, r) { + var n = r ? 7 : 0, + i = 2 * n + 1; + if (this.nextRow + i > this.height) + return ( + t.warnOnce("LineAtlas out of space"), null + ); + for (var a = 0, o = 0; o < e.length; o++) + a += e[o]; + if (0 !== a) { + var s = this.width / a, + l = this.getDashRanges(e, this.width, s); + r + ? this.addRoundDash(l, s, n) + : this.addRegularDash(l); + } + var u = { + y: (this.nextRow + n + 0.5) / this.height, + height: (2 * n) / this.height, + width: a, + }; + return ( + (this.nextRow += i), (this.dirty = !0), u + ); + }), + (k.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.ALPHA, + 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.ALPHA, + this.width, + this.height, + 0, + e.ALPHA, + e.UNSIGNED_BYTE, + this.data, + )); + }); + var A = function e(r, n) { + (this.workerPool = r), + (this.actors = []), + (this.currentActor = 0), + (this.id = t.uniqueId()); + for ( + var i = this.workerPool.acquire(this.id), a = 0; + a < i.length; + a++ + ) { + var o = i[a], + s = new e.Actor(o, n, this.id); + (s.name = "Worker " + a), this.actors.push(s); + } + }; + function M(e, r, n) { + var i = function (i, a) { + if (i) return n(i); + if (a) { + var o = t.pick(t.extend(a, e), [ + "tiles", + "minzoom", + "maxzoom", + "attribution", + "mapbox_logo", + "bounds", + "scheme", + "tileSize", + "encoding", + ]); + a.vector_layers && + ((o.vectorLayers = a.vector_layers), + (o.vectorLayerIds = o.vectorLayers.map( + function (t) { + return t.id; + }, + ))), + (o.tiles = r.canonicalizeTileset(o, e.url)), + n(null, o); + } + }; + return e.url + ? t.getJSON( + r.transformRequest( + r.normalizeSourceURL(e.url), + t.ResourceType.Source, + ), + i, + ) + : t.browser.frame(function () { + return i(null, e); + }); + } + (A.prototype.broadcast = function (e, r, n) { + (n = n || function () {}), + t.asyncAll( + this.actors, + function (t, n) { + t.send(e, r, n); + }, + n, + ); + }), + (A.prototype.getActor = function () { + return ( + (this.currentActor = + (this.currentActor + 1) % + this.actors.length), + this.actors[this.currentActor] + ); + }), + (A.prototype.remove = function () { + this.actors.forEach(function (t) { + t.remove(); + }), + (this.actors = []), + this.workerPool.release(this.id); + }), + (A.Actor = t.Actor); + var S = function (e, r, n) { + (this.bounds = t.LngLatBounds.convert( + this.validateBounds(e), + )), + (this.minzoom = r || 0), + (this.maxzoom = n || 24); + }; + (S.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]; + }), + (S.prototype.contains = function (e) { + var r = Math.pow(2, e.z), + n = Math.floor( + t.mercatorXfromLng(this.bounds.getWest()) * + r, + ), + i = Math.floor( + t.mercatorYfromLat(this.bounds.getNorth()) * + r, + ), + a = Math.ceil( + t.mercatorXfromLng(this.bounds.getEast()) * + r, + ), + o = Math.ceil( + t.mercatorYfromLat(this.bounds.getSouth()) * + r, + ); + return ( + e.x >= n && e.x < a && e.y >= i && e.y < o + ); + }); + var E = (function (e) { + function r(r, n, i, a) { + if ( + (e.call(this), + (this.id = r), + (this.dispatcher = i), + (this.type = "vector"), + (this.minzoom = 0), + (this.maxzoom = 22), + (this.scheme = "xyz"), + (this.tileSize = 512), + (this.reparseOverscaled = !0), + (this.isTileClipped = !0), + (this._loaded = !1), + t.extend( + this, + t.pick(n, [ + "url", + "scheme", + "tileSize", + "promoteId", + ]), + ), + (this._options = t.extend( + { type: "vector" }, + n, + )), + (this._collectResourceTiming = + n.collectResourceTiming), + 512 !== this.tileSize) + ) + throw new Error( + "vector tile sources must have a tileSize of 512", + ); + this.setEventedParent(a); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create( + e && e.prototype, + )), + (r.prototype.constructor = r), + (r.prototype.load = function () { + var e = this; + (this._loaded = !1), + this.fire( + new t.Event("dataloading", { + dataType: "source", + }), + ), + (this._tileJSONRequest = M( + this._options, + this.map._requestManager, + function (r, n) { + (e._tileJSONRequest = null), + (e._loaded = !0), + r + ? e.fire(new t.ErrorEvent(r)) + : n && + (t.extend(e, n), + n.bounds && + (e.tileBounds = new S( + n.bounds, + e.minzoom, + e.maxzoom, + )), + t.postTurnstileEvent( + n.tiles, + e.map._requestManager + ._customAccessToken, + ), + t.postMapLoadEvent( + n.tiles, + e.map._getMapId(), + e.map._requestManager + ._skuToken, + e.map._requestManager + ._customAccessToken, + ), + e.fire( + new t.Event("data", { + dataType: "source", + sourceDataType: "metadata", + }), + ), + e.fire( + new t.Event("data", { + dataType: "source", + sourceDataType: "content", + }), + )); + }, + )); + }), + (r.prototype.loaded = function () { + return this._loaded; + }), + (r.prototype.hasTile = function (t) { + return ( + !this.tileBounds || + this.tileBounds.contains(t.canonical) + ); + }), + (r.prototype.onAdd = function (t) { + (this.map = t), this.load(); + }), + (r.prototype.onRemove = function () { + this._tileJSONRequest && + (this._tileJSONRequest.cancel(), + (this._tileJSONRequest = null)); + }), + (r.prototype.serialize = function () { + return t.extend({}, this._options); + }), + (r.prototype.loadTile = function (e, r) { + var n = + this.map._requestManager.normalizeTileURL( + e.tileID.canonical.url( + this.tiles, + this.scheme, + ), + ), + i = { + request: + this.map._requestManager.transformRequest( + n, + t.ResourceType.Tile, + ), + uid: e.uid, + tileID: e.tileID, + zoom: e.tileID.overscaledZ, + tileSize: + this.tileSize * + e.tileID.overscaleFactor(), + type: this.type, + source: this.id, + pixelRatio: t.browser.devicePixelRatio, + showCollisionBoxes: + this.map.showCollisionBoxes, + promoteId: this.promoteId, + }; + function a(n, i) { + return ( + delete e.request, + e.aborted + ? r(null) + : n && 404 !== n.status + ? r(n) + : (i && + i.resourceTiming && + (e.resourceTiming = + i.resourceTiming), + this.map._refreshExpiredTiles && + i && + e.setExpiryData(i), + e.loadVectorData( + i, + this.map.painter, + ), + t.cacheEntryPossiblyAdded( + this.dispatcher, + ), + r(null), + void ( + e.reloadCallback && + (this.loadTile( + e, + e.reloadCallback, + ), + (e.reloadCallback = null)) + )) + ); + } + (i.request.collectResourceTiming = + this._collectResourceTiming), + e.actor && "expired" !== e.state + ? "loading" === e.state + ? (e.reloadCallback = r) + : (e.request = e.actor.send( + "reloadTile", + i, + a.bind(this), + )) + : ((e.actor = + this.dispatcher.getActor()), + (e.request = e.actor.send( + "loadTile", + i, + a.bind(this), + ))); + }), + (r.prototype.abortTile = function (t) { + t.request && + (t.request.cancel(), delete t.request), + t.actor && + t.actor.send( + "abortTile", + { + uid: t.uid, + type: this.type, + source: this.id, + }, + void 0, + ); + }), + (r.prototype.unloadTile = function (t) { + t.unloadVectorData(), + t.actor && + t.actor.send( + "removeTile", + { + uid: t.uid, + type: this.type, + source: this.id, + }, + void 0, + ); + }), + (r.prototype.hasTransition = function () { + return !1; + }), + r + ); + })(t.Evented), + L = (function (e) { + function r(r, n, i, a) { + e.call(this), + (this.id = r), + (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 = t.extend( + { type: "raster" }, + n, + )), + t.extend( + this, + t.pick(n, ["url", "scheme", "tileSize"]), + ); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create( + e && e.prototype, + )), + (r.prototype.constructor = r), + (r.prototype.load = function () { + var e = this; + (this._loaded = !1), + this.fire( + new t.Event("dataloading", { + dataType: "source", + }), + ), + (this._tileJSONRequest = M( + this._options, + this.map._requestManager, + function (r, n) { + (e._tileJSONRequest = null), + (e._loaded = !0), + r + ? e.fire(new t.ErrorEvent(r)) + : n && + (t.extend(e, n), + n.bounds && + (e.tileBounds = new S( + n.bounds, + e.minzoom, + e.maxzoom, + )), + t.postTurnstileEvent(n.tiles), + t.postMapLoadEvent( + n.tiles, + e.map._getMapId(), + e.map._requestManager + ._skuToken, + ), + e.fire( + new t.Event("data", { + dataType: "source", + sourceDataType: "metadata", + }), + ), + e.fire( + new t.Event("data", { + dataType: "source", + sourceDataType: "content", + }), + )); + }, + )); + }), + (r.prototype.loaded = function () { + return this._loaded; + }), + (r.prototype.onAdd = function (t) { + (this.map = t), this.load(); + }), + (r.prototype.onRemove = function () { + this._tileJSONRequest && + (this._tileJSONRequest.cancel(), + (this._tileJSONRequest = null)); + }), + (r.prototype.serialize = function () { + return t.extend({}, this._options); + }), + (r.prototype.hasTile = function (t) { + return ( + !this.tileBounds || + this.tileBounds.contains(t.canonical) + ); + }), + (r.prototype.loadTile = function (e, r) { + var n = this, + i = + this.map._requestManager.normalizeTileURL( + e.tileID.canonical.url( + this.tiles, + this.scheme, + ), + this.tileSize, + ); + e.request = t.getImage( + this.map._requestManager.transformRequest( + i, + t.ResourceType.Tile, + ), + function (i, a) { + if ((delete e.request, e.aborted)) + (e.state = "unloaded"), r(null); + else if (i) (e.state = "errored"), r(i); + else if (a) { + n.map._refreshExpiredTiles && + e.setExpiryData(a), + delete a.cacheControl, + delete a.expires; + var o = n.map.painter.context, + s = o.gl; + (e.texture = + n.map.painter.getTileTexture( + a.width, + )), + e.texture + ? e.texture.update(a, { + useMipmap: !0, + }) + : ((e.texture = new t.Texture( + o, + a, + s.RGBA, + { useMipmap: !0 }, + )), + e.texture.bind( + s.LINEAR, + s.CLAMP_TO_EDGE, + s.LINEAR_MIPMAP_NEAREST, + ), + o.extTextureFilterAnisotropic && + s.texParameterf( + s.TEXTURE_2D, + o + .extTextureFilterAnisotropic + .TEXTURE_MAX_ANISOTROPY_EXT, + o.extTextureFilterAnisotropicMax, + )), + (e.state = "loaded"), + t.cacheEntryPossiblyAdded( + n.dispatcher, + ), + r(null); + } + }, + ); + }), + (r.prototype.abortTile = function (t, e) { + t.request && + (t.request.cancel(), delete t.request), + e(); + }), + (r.prototype.unloadTile = function (t, e) { + t.texture && + this.map.painter.saveTileTexture( + t.texture, + ), + e(); + }), + (r.prototype.hasTransition = function () { + return !1; + }), + r + ); + })(t.Evented), + C = (function (e) { + function r(r, n, i, a) { + e.call(this, r, n, i, a), + (this.type = "raster-dem"), + (this.maxzoom = 22), + (this._options = t.extend( + { type: "raster-dem" }, + n, + )), + (this.encoding = n.encoding || "mapbox"); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create( + e && e.prototype, + )), + (r.prototype.constructor = r), + (r.prototype.serialize = function () { + return { + type: "raster-dem", + url: this.url, + tileSize: this.tileSize, + tiles: this.tiles, + bounds: this.bounds, + encoding: this.encoding, + }; + }), + (r.prototype.loadTile = function (e, r) { + var n = + this.map._requestManager.normalizeTileURL( + e.tileID.canonical.url( + this.tiles, + this.scheme, + ), + this.tileSize, + ); + function i(t, n) { + t && ((e.state = "errored"), r(t)), + n && + ((e.dem = n), + (e.needsHillshadePrepare = !0), + (e.state = "loaded"), + r(null)); + } + (e.request = t.getImage( + this.map._requestManager.transformRequest( + n, + t.ResourceType.Tile, + ), + function (n, a) { + if ((delete e.request, e.aborted)) + (e.state = "unloaded"), r(null); + else if (n) (e.state = "errored"), r(n); + else if (a) { + this.map._refreshExpiredTiles && + e.setExpiryData(a), + delete a.cacheControl, + delete a.expires; + var o = + t.window.ImageBitmap && + a instanceof + t.window.ImageBitmap && + t.offscreenCanvasSupported() + ? a + : t.browser.getImageData(a, 1), + s = { + uid: e.uid, + coord: e.tileID, + source: this.id, + rawImageData: o, + encoding: this.encoding, + }; + (e.actor && "expired" !== e.state) || + ((e.actor = + this.dispatcher.getActor()), + e.actor.send( + "loadDEMTile", + s, + i.bind(this), + )); + } + }.bind(this), + )), + (e.neighboringTiles = + this._getNeighboringTiles(e.tileID)); + }), + (r.prototype._getNeighboringTiles = function ( + e, + ) { + var r = e.canonical, + n = Math.pow(2, r.z), + i = (r.x - 1 + n) % n, + a = 0 === r.x ? e.wrap - 1 : e.wrap, + o = (r.x + 1 + n) % n, + s = r.x + 1 === n ? e.wrap + 1 : e.wrap, + l = {}; + return ( + (l[ + new t.OverscaledTileID( + e.overscaledZ, + a, + r.z, + i, + r.y, + ).key + ] = { backfilled: !1 }), + (l[ + new t.OverscaledTileID( + e.overscaledZ, + s, + r.z, + o, + r.y, + ).key + ] = { backfilled: !1 }), + r.y > 0 && + ((l[ + new t.OverscaledTileID( + e.overscaledZ, + a, + r.z, + i, + r.y - 1, + ).key + ] = { backfilled: !1 }), + (l[ + new t.OverscaledTileID( + e.overscaledZ, + e.wrap, + r.z, + r.x, + r.y - 1, + ).key + ] = { backfilled: !1 }), + (l[ + new t.OverscaledTileID( + e.overscaledZ, + s, + r.z, + o, + r.y - 1, + ).key + ] = { backfilled: !1 })), + r.y + 1 < n && + ((l[ + new t.OverscaledTileID( + e.overscaledZ, + a, + r.z, + i, + r.y + 1, + ).key + ] = { backfilled: !1 }), + (l[ + new t.OverscaledTileID( + e.overscaledZ, + e.wrap, + r.z, + r.x, + r.y + 1, + ).key + ] = { backfilled: !1 }), + (l[ + new t.OverscaledTileID( + e.overscaledZ, + s, + r.z, + o, + r.y + 1, + ).key + ] = { backfilled: !1 })), + l + ); + }), + (r.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"), + t.actor && + t.actor.send("removeDEMTile", { + uid: t.uid, + source: this.id, + }); + }), + r + ); + })(L), + O = (function (e) { + function r(r, n, i, a) { + e.call(this), + (this.id = r), + (this.type = "geojson"), + (this.minzoom = 0), + (this.maxzoom = 18), + (this.tileSize = 512), + (this.isTileClipped = !0), + (this.reparseOverscaled = !0), + (this._removed = !1), + (this._loaded = !1), + (this.actor = i.getActor()), + this.setEventedParent(a), + (this._data = n.data), + (this._options = t.extend({}, n)), + (this._collectResourceTiming = + n.collectResourceTiming), + (this._resourceTiming = []), + void 0 !== n.maxzoom && + (this.maxzoom = n.maxzoom), + n.type && (this.type = n.type), + n.attribution && + (this.attribution = n.attribution), + (this.promoteId = n.promoteId); + var o = t.EXTENT / this.tileSize; + this.workerOptions = t.extend( + { + source: this.id, + cluster: n.cluster || !1, + geojsonVtOptions: { + buffer: + (void 0 !== n.buffer + ? n.buffer + : 128) * o, + tolerance: + (void 0 !== n.tolerance + ? n.tolerance + : 0.375) * o, + extent: t.EXTENT, + maxZoom: this.maxzoom, + lineMetrics: n.lineMetrics || !1, + generateId: n.generateId || !1, + }, + superclusterOptions: { + maxZoom: + void 0 !== n.clusterMaxZoom + ? Math.min( + n.clusterMaxZoom, + this.maxzoom - 1, + ) + : this.maxzoom - 1, + extent: t.EXTENT, + radius: (n.clusterRadius || 50) * o, + log: !1, + generateId: n.generateId || !1, + }, + clusterProperties: n.clusterProperties, + }, + n.workerOptions, + ); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create( + e && e.prototype, + )), + (r.prototype.constructor = r), + (r.prototype.load = function () { + var e = this; + this.fire( + new t.Event("dataloading", { + dataType: "source", + }), + ), + this._updateWorkerData(function (r) { + if (r) e.fire(new t.ErrorEvent(r)); + else { + var n = { + dataType: "source", + sourceDataType: "metadata", + }; + e._collectResourceTiming && + e._resourceTiming && + e._resourceTiming.length > 0 && + ((n.resourceTiming = + e._resourceTiming), + (e._resourceTiming = [])), + e.fire(new t.Event("data", n)); + } + }); + }), + (r.prototype.onAdd = function (t) { + (this.map = t), this.load(); + }), + (r.prototype.setData = function (e) { + var r = this; + return ( + (this._data = e), + this.fire( + new t.Event("dataloading", { + dataType: "source", + }), + ), + this._updateWorkerData(function (e) { + if (e) r.fire(new t.ErrorEvent(e)); + else { + var n = { + dataType: "source", + sourceDataType: "content", + }; + r._collectResourceTiming && + r._resourceTiming && + r._resourceTiming.length > 0 && + ((n.resourceTiming = + r._resourceTiming), + (r._resourceTiming = [])), + r.fire(new t.Event("data", n)); + } + }), + this + ); + }), + (r.prototype.getClusterExpansionZoom = + function (t, e) { + return ( + this.actor.send( + "geojson.getClusterExpansionZoom", + { clusterId: t, source: this.id }, + e, + ), + this + ); + }), + (r.prototype.getClusterChildren = function ( + t, + e, + ) { + return ( + this.actor.send( + "geojson.getClusterChildren", + { clusterId: t, source: this.id }, + e, + ), + this + ); + }), + (r.prototype.getClusterLeaves = function ( + t, + e, + r, + n, + ) { + return ( + this.actor.send( + "geojson.getClusterLeaves", + { + source: this.id, + clusterId: t, + limit: e, + offset: r, + }, + n, + ), + this + ); + }), + (r.prototype._updateWorkerData = function ( + e, + ) { + var r = this; + this._loaded = !1; + var n = t.extend({}, this.workerOptions), + i = this._data; + "string" == typeof i + ? ((n.request = + this.map._requestManager.transformRequest( + t.browser.resolveURL(i), + t.ResourceType.Source, + )), + (n.request.collectResourceTiming = + this._collectResourceTiming)) + : (n.data = JSON.stringify(i)), + this.actor.send( + this.type + ".loadData", + n, + function (t, i) { + r._removed || + (i && i.abandoned) || + ((r._loaded = !0), + i && + i.resourceTiming && + i.resourceTiming[r.id] && + (r._resourceTiming = + i.resourceTiming[r.id].slice( + 0, + )), + r.actor.send( + r.type + ".coalesce", + { source: n.source }, + null, + ), + e(t)); + }, + ); + }), + (r.prototype.loaded = function () { + return this._loaded; + }), + (r.prototype.loadTile = function (e, r) { + var n = this, + i = e.actor ? "reloadTile" : "loadTile"; + e.actor = this.actor; + var a = { + type: this.type, + uid: e.uid, + tileID: e.tileID, + zoom: e.tileID.overscaledZ, + maxZoom: this.maxzoom, + tileSize: this.tileSize, + source: this.id, + pixelRatio: t.browser.devicePixelRatio, + showCollisionBoxes: + this.map.showCollisionBoxes, + promoteId: this.promoteId, + }; + e.request = this.actor.send( + i, + a, + function (t, a) { + return ( + delete e.request, + e.unloadVectorData(), + e.aborted + ? r(null) + : t + ? r(t) + : (e.loadVectorData( + a, + n.map.painter, + "reloadTile" === i, + ), + r(null)) + ); + }, + ); + }), + (r.prototype.abortTile = function (t) { + t.request && + (t.request.cancel(), delete t.request), + (t.aborted = !0); + }), + (r.prototype.unloadTile = function (t) { + t.unloadVectorData(), + this.actor.send("removeTile", { + uid: t.uid, + type: this.type, + source: this.id, + }); + }), + (r.prototype.onRemove = function () { + (this._removed = !0), + this.actor.send("removeSource", { + type: this.type, + source: this.id, + }); + }), + (r.prototype.serialize = function () { + return t.extend({}, this._options, { + type: this.type, + data: this._data, + }); + }), + (r.prototype.hasTransition = function () { + return !1; + }), + r + ); + })(t.Evented), + P = t.createLayout([ + { name: "a_pos", type: "Int16", components: 2 }, + { + name: "a_texture_pos", + type: "Int16", + components: 2, + }, + ]), + I = (function (e) { + function r(t, r, n, i) { + e.call(this), + (this.id = t), + (this.dispatcher = n), + (this.coordinates = r.coordinates), + (this.type = "image"), + (this.minzoom = 0), + (this.maxzoom = 22), + (this.tileSize = 512), + (this.tiles = {}), + (this._loaded = !1), + this.setEventedParent(i), + (this.options = r); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create( + e && e.prototype, + )), + (r.prototype.constructor = r), + (r.prototype.load = function (e, r) { + var n = this; + (this._loaded = !1), + this.fire( + new t.Event("dataloading", { + dataType: "source", + }), + ), + (this.url = this.options.url), + t.getImage( + this.map._requestManager.transformRequest( + this.url, + t.ResourceType.Image, + ), + function (i, a) { + (n._loaded = !0), + i + ? n.fire(new t.ErrorEvent(i)) + : a && + ((n.image = a), + e && (n.coordinates = e), + r && r(), + n._finishLoading()); + }, + ); + }), + (r.prototype.loaded = function () { + return this._loaded; + }), + (r.prototype.updateImage = function (t) { + var e = this; + return this.image && t.url + ? ((this.options.url = t.url), + this.load(t.coordinates, function () { + e.texture = null; + }), + this) + : this; + }), + (r.prototype._finishLoading = function () { + this.map && + (this.setCoordinates(this.coordinates), + this.fire( + new t.Event("data", { + dataType: "source", + sourceDataType: "metadata", + }), + )); + }), + (r.prototype.onAdd = function (t) { + (this.map = t), this.load(); + }), + (r.prototype.setCoordinates = function (e) { + var r = this; + this.coordinates = e; + var n = e.map( + t.MercatorCoordinate.fromLngLat, + ); + (this.tileID = (function (e) { + for ( + var r = 1 / 0, + n = 1 / 0, + i = -1 / 0, + a = -1 / 0, + o = 0, + s = e; + o < s.length; + o += 1 + ) { + var l = s[o]; + (r = Math.min(r, l.x)), + (n = Math.min(n, l.y)), + (i = Math.max(i, l.x)), + (a = Math.max(a, l.y)); + } + var u = i - r, + c = a - n, + f = Math.max(u, c), + h = Math.max( + 0, + Math.floor(-Math.log(f) / Math.LN2), + ), + p = Math.pow(2, h); + return new t.CanonicalTileID( + h, + Math.floor(((r + i) / 2) * p), + Math.floor(((n + a) / 2) * p), + ); + })(n)), + (this.minzoom = this.maxzoom = + this.tileID.z); + var i = n.map(function (t) { + return r.tileID.getTilePoint(t)._round(); + }); + return ( + (this._boundsArray = + new t.StructArrayLayout4i8()), + this._boundsArray.emplaceBack( + i[0].x, + i[0].y, + 0, + 0, + ), + this._boundsArray.emplaceBack( + i[1].x, + i[1].y, + t.EXTENT, + 0, + ), + this._boundsArray.emplaceBack( + i[3].x, + i[3].y, + 0, + t.EXTENT, + ), + this._boundsArray.emplaceBack( + i[2].x, + i[2].y, + t.EXTENT, + t.EXTENT, + ), + this.boundsBuffer && + (this.boundsBuffer.destroy(), + delete this.boundsBuffer), + this.fire( + new t.Event("data", { + dataType: "source", + sourceDataType: "content", + }), + ), + this + ); + }), + (r.prototype.prepare = function () { + 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, + P.members, + )), + this.boundsSegments || + (this.boundsSegments = + t.SegmentVector.simpleSegment( + 0, + 0, + 4, + 2, + )), + this.texture || + ((this.texture = new t.Texture( + e, + this.image, + r.RGBA, + )), + this.texture.bind( + r.LINEAR, + r.CLAMP_TO_EDGE, + )), + this.tiles)) { + var i = this.tiles[n]; + "loaded" !== i.state && + ((i.state = "loaded"), + (i.texture = this.texture)); + } + } + }), + (r.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)); + }), + (r.prototype.serialize = function () { + return { + type: "image", + url: this.options.url, + coordinates: this.coordinates, + }; + }), + (r.prototype.hasTransition = function () { + return !1; + }), + r + ); + })(t.Evented); + var D = (function (e) { + function r(t, r, n, i) { + e.call(this, t, r, n, i), + (this.roundZoom = !0), + (this.type = "video"), + (this.options = r); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create( + e && e.prototype, + )), + (r.prototype.constructor = r), + (r.prototype.load = function () { + var e = this; + this._loaded = !1; + var r = this.options; + this.urls = []; + for ( + var n = 0, i = r.urls; + n < i.length; + n += 1 + ) { + var a = i[n]; + this.urls.push( + this.map._requestManager.transformRequest( + a, + t.ResourceType.Source, + ).url, + ); + } + t.getVideo(this.urls, function (r, n) { + (e._loaded = !0), + r + ? e.fire(new t.ErrorEvent(r)) + : n && + ((e.video = n), + (e.video.loop = !0), + e.video.addEventListener( + "playing", + function () { + e.map.triggerRepaint(); + }, + ), + e.map && e.video.play(), + e._finishLoading()); + }); + }), + (r.prototype.pause = function () { + this.video && this.video.pause(); + }), + (r.prototype.play = function () { + this.video && this.video.play(); + }), + (r.prototype.seek = function (e) { + if (this.video) { + var r = this.video.seekable; + e < r.start(0) || e > r.end(0) + ? this.fire( + new t.ErrorEvent( + new t.ValidationError( + "sources." + this.id, + null, + "Playback for this video can be set only between the " + + r.start(0) + + " and " + + r.end(0) + + "-second mark.", + ), + ), + ) + : (this.video.currentTime = e); + } + }), + (r.prototype.getVideo = function () { + return this.video; + }), + (r.prototype.onAdd = function (t) { + this.map || + ((this.map = t), + this.load(), + this.video && + (this.video.play(), + this.setCoordinates(this.coordinates))); + }), + (r.prototype.prepare = function () { + 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, + P.members, + )), + this.boundsSegments || + (this.boundsSegments = + t.SegmentVector.simpleSegment( + 0, + 0, + 4, + 2, + )), + 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 t.Texture( + e, + this.video, + r.RGBA, + )), + this.texture.bind( + r.LINEAR, + r.CLAMP_TO_EDGE, + )), + this.tiles)) { + var i = this.tiles[n]; + "loaded" !== i.state && + ((i.state = "loaded"), + (i.texture = this.texture)); + } + } + }), + (r.prototype.serialize = function () { + return { + type: "video", + urls: this.urls, + coordinates: this.coordinates, + }; + }), + (r.prototype.hasTransition = function () { + return this.video && !this.video.paused; + }), + r + ); + })(I), + z = (function (e) { + function r(r, n, i, a) { + e.call(this, r, n, i, a), + n.coordinates + ? (Array.isArray(n.coordinates) && + 4 === n.coordinates.length && + !n.coordinates.some(function (t) { + return ( + !Array.isArray(t) || + 2 !== t.length || + t.some(function (t) { + return "number" != typeof t; + }) + ); + })) || + this.fire( + new t.ErrorEvent( + new t.ValidationError( + "sources." + r, + null, + '"coordinates" property must be an array of 4 longitude/latitude array pairs', + ), + ), + ) + : this.fire( + new t.ErrorEvent( + new t.ValidationError( + "sources." + r, + null, + 'missing required property "coordinates"', + ), + ), + ), + n.animate && + "boolean" != typeof n.animate && + this.fire( + new t.ErrorEvent( + new t.ValidationError( + "sources." + r, + null, + 'optional "animate" property must be a boolean value', + ), + ), + ), + n.canvas + ? "string" == typeof n.canvas || + n.canvas instanceof + t.window.HTMLCanvasElement || + this.fire( + new t.ErrorEvent( + new t.ValidationError( + "sources." + r, + null, + '"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance', + ), + ), + ) + : this.fire( + new t.ErrorEvent( + new t.ValidationError( + "sources." + r, + null, + 'missing required property "canvas"', + ), + ), + ), + (this.options = n), + (this.animate = + void 0 === n.animate || n.animate); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create( + e && e.prototype, + )), + (r.prototype.constructor = r), + (r.prototype.load = function () { + (this._loaded = !0), + this.canvas || + (this.canvas = + this.options.canvas instanceof + t.window.HTMLCanvasElement + ? this.options.canvas + : t.window.document.getElementById( + this.options.canvas, + )), + (this.width = this.canvas.width), + (this.height = this.canvas.height), + this._hasInvalidDimensions() + ? this.fire( + new t.ErrorEvent( + new Error( + "Canvas dimensions cannot be less than or equal to zero.", + ), + ), + ) + : ((this.play = function () { + (this._playing = !0), + this.map.triggerRepaint(); + }), + (this.pause = function () { + this._playing && + (this.prepare(), + (this._playing = !1)); + }), + this._finishLoading()); + }), + (r.prototype.getCanvas = function () { + return this.canvas; + }), + (r.prototype.onAdd = function (t) { + (this.map = t), + this.load(), + this.canvas && + this.animate && + this.play(); + }), + (r.prototype.onRemove = function () { + this.pause(); + }), + (r.prototype.prepare = function () { + var 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, + P.members, + )), + this.boundsSegments || + (this.boundsSegments = + t.SegmentVector.simpleSegment( + 0, + 0, + 4, + 2, + )), + this.texture + ? (e || this._playing) && + this.texture.update(this.canvas, { + premultiply: !0, + }) + : (this.texture = new t.Texture( + r, + this.canvas, + n.RGBA, + { premultiply: !0 }, + )), + this.tiles)) { + var a = this.tiles[i]; + "loaded" !== a.state && + ((a.state = "loaded"), + (a.texture = this.texture)); + } + } + }), + (r.prototype.serialize = function () { + return { + type: "canvas", + coordinates: this.coordinates, + }; + }), + (r.prototype.hasTransition = function () { + return this._playing; + }), + (r.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; + }), + r + ); + })(I), + R = { + vector: E, + raster: L, + "raster-dem": C, + geojson: O, + video: D, + image: I, + canvas: z, + }; + function F(e, r) { + var n = t.identity([]); + return ( + t.translate(n, n, [1, 1, 0]), + t.scale(n, n, [ + 0.5 * e.width, + 0.5 * e.height, + 1, + ]), + t.multiply( + n, + n, + e.calculatePosMatrix(r.toUnwrapped()), + ) + ); + } + function B(t, e, r, n, i, a) { + var o = (function (t, e, r) { + if (t) + for ( + var n = 0, i = t; + n < i.length; + n += 1 + ) { + var a = e[i[n]]; + if ( + a && + a.source === r && + "fill-extrusion" === a.type + ) + return !0; + } + else + for (var o in e) { + var s = e[o]; + if ( + s.source === r && + "fill-extrusion" === s.type + ) + return !0; + } + return !1; + })(i && i.layers, e, t.id), + s = a.maxPitchScaleFactor(), + l = t.tilesIn(n, s, o); + l.sort(N); + for ( + var u = [], c = 0, f = l; + c < f.length; + c += 1 + ) { + var h = f[c]; + u.push({ + wrappedTileID: h.tileID.wrapped().key, + queryResults: h.tile.queryRenderedFeatures( + e, + r, + t._state, + h.queryGeometry, + h.cameraQueryGeometry, + h.scale, + i, + a, + s, + F(t.transform, h.tileID), + ), + }); + } + var p = (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], + f = (l[u] = l[u] || {}), + h = (e[u] = e[u] || []), + p = 0, + d = c; + p < d.length; + p += 1 + ) { + var v = d[p]; + f[v.featureIndex] || + ((f[v.featureIndex] = !0), h.push(v)); + } + } + return e; + })(u); + for (var d in p) + p[d].forEach(function (e) { + var r = e.feature, + n = t.getFeatureState( + r.layer["source-layer"], + r.id, + ); + (r.source = r.layer.source), + r.layer["source-layer"] && + (r.sourceLayer = r.layer["source-layer"]), + (r.state = n); + }); + return p; + } + 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 + ); + } + var j = function (t, e) { + (this.max = t), (this.onRemove = e), this.reset(); + }; + (j.prototype.reset = function () { + for (var t in this.data) + for ( + var e = 0, r = this.data[t]; + e < r.length; + e += 1 + ) { + var n = r[e]; + n.timeout && clearTimeout(n.timeout), + this.onRemove(n.value); + } + return (this.data = {}), (this.order = []), this; + }), + (j.prototype.add = function (t, e, r) { + var n = this, + i = t.wrapped().key; + void 0 === this.data[i] && (this.data[i] = []); + var a = { value: e, timeout: void 0 }; + if ( + (void 0 !== r && + (a.timeout = setTimeout(function () { + n.remove(t, a); + }, r)), + this.data[i].push(a), + this.order.push(i), + this.order.length > this.max) + ) { + var o = this._getAndRemoveByKey( + this.order[0], + ); + o && this.onRemove(o); + } + return this; + }), + (j.prototype.has = function (t) { + return t.wrapped().key in this.data; + }), + (j.prototype.getAndRemove = function (t) { + return this.has(t) + ? this._getAndRemoveByKey(t.wrapped().key) + : null; + }), + (j.prototype._getAndRemoveByKey = function (t) { + var e = this.data[t].shift(); + return ( + e.timeout && clearTimeout(e.timeout), + 0 === this.data[t].length && + delete this.data[t], + this.order.splice(this.order.indexOf(t), 1), + e.value + ); + }), + (j.prototype.getByKey = function (t) { + var e = this.data[t]; + return e ? e[0].value : null; + }), + (j.prototype.get = function (t) { + return this.has(t) + ? this.data[t.wrapped().key][0].value + : null; + }), + (j.prototype.remove = function (t, e) { + if (!this.has(t)) return this; + var r = t.wrapped().key, + n = + void 0 === e ? 0 : this.data[r].indexOf(e), + i = this.data[r][n]; + return ( + this.data[r].splice(n, 1), + i.timeout && clearTimeout(i.timeout), + 0 === this.data[r].length && + delete this.data[r], + this.onRemove(i.value), + this.order.splice(this.order.indexOf(r), 1), + this + ); + }), + (j.prototype.setMaxSize = function (t) { + for ( + this.max = t; + this.order.length > this.max; + + ) { + var e = this._getAndRemoveByKey( + this.order[0], + ); + e && this.onRemove(e); + } + return this; + }), + (j.prototype.filter = function (t) { + var e = []; + for (var r in this.data) + for ( + var n = 0, i = this.data[r]; + n < i.length; + n += 1 + ) { + var a = i[n]; + t(a.value) || e.push(a); + } + for (var o = 0, s = e; o < s.length; o += 1) { + var l = s[o]; + this.remove(l.value.tileID, l); + } + }); + var U = function (t, e, r) { + this.context = t; + var n = t.gl; + (this.buffer = n.createBuffer()), + (this.dynamicDraw = Boolean(r)), + this.context.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; + }; + (U.prototype.bind = function () { + this.context.bindElementBuffer.set(this.buffer); + }), + (U.prototype.updateData = function (t) { + var e = this.context.gl; + this.context.unbindVAO(), + this.bind(), + e.bufferSubData( + e.ELEMENT_ARRAY_BUFFER, + 0, + t.arrayBuffer, + ); + }), + (U.prototype.destroy = function () { + var t = this.context.gl; + this.buffer && + (t.deleteBuffer(this.buffer), + delete this.buffer); + }); + var V = { + Int8: "BYTE", + Uint8: "UNSIGNED_BYTE", + Int16: "SHORT", + Uint16: "UNSIGNED_SHORT", + Int32: "INT", + Uint32: "UNSIGNED_INT", + Float32: "FLOAT", + }, + H = 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; + }; + (H.prototype.bind = function () { + this.context.bindVertexBuffer.set(this.buffer); + }), + (H.prototype.updateData = function (t) { + var e = this.context.gl; + this.bind(), + e.bufferSubData( + e.ARRAY_BUFFER, + 0, + t.arrayBuffer, + ); + }), + (H.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); + } + }), + (H.prototype.setVertexAttribPointers = function ( + t, + e, + r, + ) { + for ( + var n = 0; + n < this.attributes.length; + n++ + ) { + var i = this.attributes[n], + a = e.attributes[i.name]; + void 0 !== a && + t.vertexAttribPointer( + a, + i.components, + t[V[i.type]], + !1, + this.itemSize, + i.offset + this.itemSize * (r || 0), + ); + } + }), + (H.prototype.destroy = function () { + var t = this.context.gl; + this.buffer && + (t.deleteBuffer(this.buffer), + delete this.buffer); + }); + var q = function (t) { + (this.gl = t.gl), + (this.default = this.getDefault()), + (this.current = this.default), + (this.dirty = !1); + }; + (q.prototype.get = function () { + return this.current; + }), + (q.prototype.set = function (t) {}), + (q.prototype.getDefault = function () { + return this.default; + }), + (q.prototype.setDefault = function () { + this.set(this.default); + }); + var G = (function (e) { + function r() { + e.apply(this, arguments); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create( + e && e.prototype, + )), + (r.prototype.constructor = r), + (r.prototype.getDefault = function () { + return t.Color.transparent; + }), + (r.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.dirty) && + (this.gl.clearColor(t.r, t.g, t.b, t.a), + (this.current = t), + (this.dirty = !1)); + }), + r + ); + })(q), + Z = (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.getDefault = function () { + return 1; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.clearDepth(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + 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.getDefault = function () { + return 0; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.clearStencil(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + 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.getDefault = function () { + return [!0, !0, !0, !0]; + }), + (e.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.dirty) && + (this.gl.colorMask( + t[0], + t[1], + t[2], + t[3], + ), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + 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.getDefault = function () { + return !0; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.depthMask(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + J = (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.getDefault = function () { + return 255; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.stencilMask(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + K = (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.getDefault = function () { + return { + func: this.gl.ALWAYS, + ref: 0, + mask: 255, + }; + }), + (e.prototype.set = function (t) { + var e = this.current; + (t.func !== e.func || + t.ref !== e.ref || + t.mask !== e.mask || + this.dirty) && + (this.gl.stencilFunc( + t.func, + t.ref, + t.mask, + ), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + $ = (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.getDefault = function () { + var t = this.gl; + return [t.KEEP, t.KEEP, t.KEEP]; + }), + (e.prototype.set = function (t) { + var e = this.current; + (t[0] !== e[0] || + t[1] !== e[1] || + t[2] !== e[2] || + this.dirty) && + (this.gl.stencilOp(t[0], t[1], t[2]), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + Q = (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.getDefault = function () { + return !1; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + t + ? e.enable(e.STENCIL_TEST) + : e.disable(e.STENCIL_TEST), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + tt = (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.getDefault = function () { + return [0, 1]; + }), + (e.prototype.set = function (t) { + var e = this.current; + (t[0] !== e[0] || + t[1] !== e[1] || + this.dirty) && + (this.gl.depthRange(t[0], t[1]), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + et = (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.getDefault = function () { + return !1; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + t + ? e.enable(e.DEPTH_TEST) + : e.disable(e.DEPTH_TEST), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + rt = (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.getDefault = function () { + return this.gl.LESS; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.depthFunc(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + nt = (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.getDefault = function () { + return !1; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + t + ? e.enable(e.BLEND) + : e.disable(e.BLEND), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + it = (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.getDefault = function () { + var t = this.gl; + return [t.ONE, t.ZERO]; + }), + (e.prototype.set = function (t) { + var e = this.current; + (t[0] !== e[0] || + t[1] !== e[1] || + this.dirty) && + (this.gl.blendFunc(t[0], t[1]), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + at = (function (e) { + function r() { + e.apply(this, arguments); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create( + e && e.prototype, + )), + (r.prototype.constructor = r), + (r.prototype.getDefault = function () { + return t.Color.transparent; + }), + (r.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.dirty) && + (this.gl.blendColor(t.r, t.g, t.b, t.a), + (this.current = t), + (this.dirty = !1)); + }), + r + ); + })(q), + ot = (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.getDefault = function () { + return this.gl.FUNC_ADD; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.blendEquation(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + st = (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.getDefault = function () { + return !1; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + t + ? e.enable(e.CULL_FACE) + : e.disable(e.CULL_FACE), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + lt = (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.getDefault = function () { + return this.gl.BACK; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.cullFace(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + ut = (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.getDefault = function () { + return this.gl.CCW; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.frontFace(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + ct = (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.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.useProgram(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + ft = (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.getDefault = function () { + return this.gl.TEXTURE0; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.activeTexture(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + ht = (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.getDefault = function () { + var t = this.gl; + return [ + 0, + 0, + t.drawingBufferWidth, + t.drawingBufferHeight, + ]; + }), + (e.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.dirty) && + (this.gl.viewport(t[0], t[1], t[2], t[3]), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + pt = (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.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.bindFramebuffer(e.FRAMEBUFFER, t), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + dt = (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.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.bindRenderbuffer(e.RENDERBUFFER, t), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + vt = (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.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.bindTexture(e.TEXTURE_2D, t), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + gt = (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.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.bindBuffer(e.ARRAY_BUFFER, t), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + yt = (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.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + var e = this.gl; + e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, t), + (this.current = t), + (this.dirty = !1); + }), + e + ); + })(q), + mt = (function (t) { + function e(e) { + t.call(this, e), + (this.vao = e.extVertexArrayObject); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + (e.prototype.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + this.vao && + (t !== this.current || this.dirty) && + (this.vao.bindVertexArrayOES(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + xt = (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.getDefault = function () { + return 4; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.pixelStorei(e.UNPACK_ALIGNMENT, t), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + bt = (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.getDefault = function () { + return !1; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.pixelStorei( + e.UNPACK_PREMULTIPLY_ALPHA_WEBGL, + t, + ), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + _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.getDefault = function () { + return !1; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL, t), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + wt = (function (t) { + function e(e, r) { + t.call(this, e), + (this.context = e), + (this.parent = r); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e), + (e.prototype.getDefault = function () { + return null; + }), + e + ); + })(q), + Tt = (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.setDirty = function () { + this.dirty = !0; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + this.context.bindFramebuffer.set( + this.parent, + ); + var e = this.gl; + e.framebufferTexture2D( + e.FRAMEBUFFER, + e.COLOR_ATTACHMENT0, + e.TEXTURE_2D, + t, + 0, + ), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(wt), + kt = (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 (t !== this.current || this.dirty) { + this.context.bindFramebuffer.set( + this.parent, + ); + var e = this.gl; + e.framebufferRenderbuffer( + e.FRAMEBUFFER, + e.DEPTH_ATTACHMENT, + e.RENDERBUFFER, + t, + ), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(wt), + At = function (t, e, r, n) { + (this.context = t), + (this.width = e), + (this.height = r); + var i = t.gl, + a = (this.framebuffer = + i.createFramebuffer()); + (this.colorAttachment = new Tt(t, a)), + n && (this.depthAttachment = new kt(t, a)); + }; + At.prototype.destroy = function () { + var t = this.context.gl, + e = this.colorAttachment.get(); + if ( + (e && t.deleteTexture(e), this.depthAttachment) + ) { + var r = this.depthAttachment.get(); + r && t.deleteRenderbuffer(r); + } + t.deleteFramebuffer(this.framebuffer); + }; + var Mt = function (t, e, r) { + (this.func = t), + (this.mask = e), + (this.range = r); + }; + (Mt.ReadOnly = !1), + (Mt.ReadWrite = !0), + (Mt.disabled = new Mt(519, Mt.ReadOnly, [0, 1])); + var St = 7680, + Et = 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); + }; + Et.disabled = new Et( + { func: 519, mask: 0 }, + 0, + 0, + St, + St, + St, + ); + var Lt = function (t, e, r) { + (this.blendFunction = t), + (this.blendColor = e), + (this.mask = r); + }; + (Lt.disabled = new Lt( + (Lt.Replace = [1, 0]), + t.Color.transparent, + [!1, !1, !1, !1], + )), + (Lt.unblended = new Lt( + Lt.Replace, + t.Color.transparent, + [!0, !0, !0, !0], + )), + (Lt.alphaBlended = new Lt( + [1, 771], + t.Color.transparent, + [!0, !0, !0, !0], + )); + var Ct = function (t, e, r) { + (this.enable = t), + (this.mode = e), + (this.frontFace = r); + }; + (Ct.disabled = new Ct(!1, 1029, 2305)), + (Ct.backCCW = new Ct(!0, 1029, 2305)); + var Ot = function (t) { + (this.gl = t), + (this.extVertexArrayObject = + this.gl.getExtension( + "OES_vertex_array_object", + )), + (this.clearColor = new G(this)), + (this.clearDepth = new Z(this)), + (this.clearStencil = new W(this)), + (this.colorMask = new Y(this)), + (this.depthMask = new X(this)), + (this.stencilMask = new J(this)), + (this.stencilFunc = new K(this)), + (this.stencilOp = new $(this)), + (this.stencilTest = new Q(this)), + (this.depthRange = new tt(this)), + (this.depthTest = new et(this)), + (this.depthFunc = new rt(this)), + (this.blend = new nt(this)), + (this.blendFunc = new it(this)), + (this.blendColor = new at(this)), + (this.blendEquation = new ot(this)), + (this.cullFace = new st(this)), + (this.cullFaceSide = new lt(this)), + (this.frontFace = new ut(this)), + (this.program = new ct(this)), + (this.activeTexture = new ft(this)), + (this.viewport = new ht(this)), + (this.bindFramebuffer = new pt(this)), + (this.bindRenderbuffer = new dt(this)), + (this.bindTexture = new vt(this)), + (this.bindVertexBuffer = new gt(this)), + (this.bindElementBuffer = new yt(this)), + (this.bindVertexArrayOES = + this.extVertexArrayObject && new mt(this)), + (this.pixelStoreUnpack = new xt(this)), + (this.pixelStoreUnpackPremultiplyAlpha = new bt( + this, + )), + (this.pixelStoreUnpackFlipY = new _t(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", + ), + (this.extRenderToTextureHalfFloat = + t.getExtension( + "EXT_color_buffer_half_float", + ))), + (this.extTimerQuery = t.getExtension( + "EXT_disjoint_timer_query", + )); + }; + (Ot.prototype.setDefault = function () { + this.unbindVAO(), + this.clearColor.setDefault(), + this.clearDepth.setDefault(), + this.clearStencil.setDefault(), + this.colorMask.setDefault(), + this.depthMask.setDefault(), + this.stencilMask.setDefault(), + this.stencilFunc.setDefault(), + this.stencilOp.setDefault(), + this.stencilTest.setDefault(), + this.depthRange.setDefault(), + this.depthTest.setDefault(), + this.depthFunc.setDefault(), + this.blend.setDefault(), + this.blendFunc.setDefault(), + this.blendColor.setDefault(), + this.blendEquation.setDefault(), + this.cullFace.setDefault(), + this.cullFaceSide.setDefault(), + this.frontFace.setDefault(), + this.program.setDefault(), + this.activeTexture.setDefault(), + this.bindFramebuffer.setDefault(), + this.pixelStoreUnpack.setDefault(), + this.pixelStoreUnpackPremultiplyAlpha.setDefault(), + this.pixelStoreUnpackFlipY.setDefault(); + }), + (Ot.prototype.setDirty = function () { + (this.clearColor.dirty = !0), + (this.clearDepth.dirty = !0), + (this.clearStencil.dirty = !0), + (this.colorMask.dirty = !0), + (this.depthMask.dirty = !0), + (this.stencilMask.dirty = !0), + (this.stencilFunc.dirty = !0), + (this.stencilOp.dirty = !0), + (this.stencilTest.dirty = !0), + (this.depthRange.dirty = !0), + (this.depthTest.dirty = !0), + (this.depthFunc.dirty = !0), + (this.blend.dirty = !0), + (this.blendFunc.dirty = !0), + (this.blendColor.dirty = !0), + (this.blendEquation.dirty = !0), + (this.cullFace.dirty = !0), + (this.cullFaceSide.dirty = !0), + (this.frontFace.dirty = !0), + (this.program.dirty = !0), + (this.activeTexture.dirty = !0), + (this.viewport.dirty = !0), + (this.bindFramebuffer.dirty = !0), + (this.bindRenderbuffer.dirty = !0), + (this.bindTexture.dirty = !0), + (this.bindVertexBuffer.dirty = !0), + (this.bindElementBuffer.dirty = !0), + this.extVertexArrayObject && + (this.bindVertexArrayOES.dirty = !0), + (this.pixelStoreUnpack.dirty = !0), + (this.pixelStoreUnpackPremultiplyAlpha.dirty = + !0), + (this.pixelStoreUnpackFlipY.dirty = !0); + }), + (Ot.prototype.createIndexBuffer = function ( + t, + e, + ) { + return new U(this, t, e); + }), + (Ot.prototype.createVertexBuffer = function ( + t, + e, + r, + ) { + return new H(this, t, e, r); + }), + (Ot.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 + ); + }), + (Ot.prototype.createFramebuffer = function ( + t, + e, + r, + ) { + return new At(this, t, e, r); + }), + (Ot.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.depthRange.set([0, 1]), + this.clearDepth.set(r), + this.depthMask.set(!0)), + n.clear(i); + }), + (Ot.prototype.setCullFace = function (t) { + !1 === t.enable + ? this.cullFace.set(!1) + : (this.cullFace.set(!0), + this.cullFaceSide.set(t.mode), + this.frontFace.set(t.frontFace)); + }), + (Ot.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); + }), + (Ot.prototype.setStencilMode = function (t) { + t.test.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); + }), + (Ot.prototype.setColorMode = function (e) { + t.deepEqual(e.blendFunction, Lt.Replace) + ? this.blend.set(!1) + : (this.blend.set(!0), + this.blendFunc.set(e.blendFunction), + this.blendColor.set(e.blendColor)), + this.colorMask.set(e.mask); + }), + (Ot.prototype.unbindVAO = function () { + this.extVertexArrayObject && + this.bindVertexArrayOES.set(null); + }); + var Pt = (function (e) { + function r(r, n, i) { + var a = this; + e.call(this), + (this.id = r), + (this.dispatcher = i), + this.on("data", function (t) { + "source" === t.dataType && + "metadata" === t.sourceDataType && + (a._sourceLoaded = !0), + a._sourceLoaded && + !a._paused && + "source" === t.dataType && + "content" === t.sourceDataType && + (a.reload(), + a.transform && a.update(a.transform)); + }), + this.on("error", function () { + a._sourceErrored = !0; + }), + (this._source = (function (e, r, n, i) { + var a = new R[r.type](e, r, n, i); + if (a.id !== e) + throw new Error( + "Expected Source id to be " + + e + + " instead of " + + a.id, + ); + return ( + t.bindAll( + [ + "load", + "abort", + "unload", + "serialize", + "prepare", + ], + a, + ), + a + ); + })(r, n, i, this)), + (this._tiles = {}), + (this._cache = new j( + 0, + this._unloadTile.bind(this), + )), + (this._timers = {}), + (this._cacheTimers = {}), + (this._maxTileCacheSize = null), + (this._loadedParentTiles = {}), + (this._coveredTiles = {}), + (this._state = new t.SourceFeatureState()); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create(e && e.prototype)), + (r.prototype.constructor = r), + (r.prototype.onAdd = function (t) { + (this.map = t), + (this._maxTileCacheSize = t + ? t._maxTileCacheSize + : null), + this._source && + this._source.onAdd && + this._source.onAdd(t); + }), + (r.prototype.onRemove = function (t) { + this._source && + this._source.onRemove && + this._source.onRemove(t); + }), + (r.prototype.loaded = function () { + if (this._sourceErrored) return !0; + if (!this._sourceLoaded) return !1; + if (!this._source.loaded()) return !1; + for (var t in this._tiles) { + var e = this._tiles[t]; + if ( + "loaded" !== e.state && + "errored" !== e.state + ) + return !1; + } + return !0; + }), + (r.prototype.getSource = function () { + return this._source; + }), + (r.prototype.pause = function () { + this._paused = !0; + }), + (r.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); + } + }), + (r.prototype._loadTile = function (t, e) { + return this._source.loadTile(t, e); + }), + (r.prototype._unloadTile = function (t) { + if (this._source.unloadTile) + return this._source.unloadTile( + t, + function () {}, + ); + }), + (r.prototype._abortTile = function (t) { + if (this._source.abortTile) + return this._source.abortTile( + t, + function () {}, + ); + }), + (r.prototype.serialize = function () { + return this._source.serialize(); + }), + (r.prototype.prepare = function (t) { + for (var e in (this._source.prepare && + this._source.prepare(), + this._state.coalesceChanges( + this._tiles, + this.map ? this.map.painter : null, + ), + this._tiles)) { + var r = this._tiles[e]; + r.upload(t), + r.prepare(this.map.style.imageManager); + } + }), + (r.prototype.getIds = function () { + return t + .values(this._tiles) + .map(function (t) { + return t.tileID; + }) + .sort(It) + .map(function (t) { + return t.key; + }); + }), + (r.prototype.getRenderableIds = function (e) { + var r = this, + n = []; + for (var i in this._tiles) + this._isIdRenderable(i, e) && + n.push(this._tiles[i]); + return e + ? n + .sort(function (e, n) { + var i = e.tileID, + a = n.tileID, + o = new t.Point( + i.canonical.x, + i.canonical.y, + )._rotate(r.transform.angle), + s = new t.Point( + a.canonical.x, + a.canonical.y, + )._rotate(r.transform.angle); + return ( + i.overscaledZ - a.overscaledZ || + s.y - o.y || + s.x - o.x + ); + }) + .map(function (t) { + return t.tileID.key; + }) + : n + .map(function (t) { + return t.tileID; + }) + .sort(It) + .map(function (t) { + return t.key; + }); + }), + (r.prototype.hasRenderableParent = function ( + t, + ) { + var e = this.findLoadedParent(t, 0); + return ( + !!e && this._isIdRenderable(e.tileID.key) + ); + }), + (r.prototype._isIdRenderable = function (t, e) { + return ( + this._tiles[t] && + this._tiles[t].hasData() && + !this._coveredTiles[t] && + (e || !this._tiles[t].holdingForFade()) + ); + }), + (r.prototype.reload = function () { + if (this._paused) + this._shouldReloadOnResume = !0; + else + for (var t in (this._cache.reset(), + this._tiles)) + "errored" !== this._tiles[t].state && + this._reloadTile(t, "reloading"); + }), + (r.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), + )); + }), + (r.prototype._tileLoaded = function ( + e, + r, + n, + i, + ) { + if (i) + return ( + (e.state = "errored"), + void (404 !== i.status + ? this._source.fire( + new t.ErrorEvent(i, { tile: e }), + ) + : this.update(this.transform)) + ); + (e.timeAdded = t.browser.now()), + "expired" === n && + (e.refreshedUponExpiration = !0), + this._setTileReloadTimer(r, e), + "raster-dem" === this.getSource().type && + e.dem && + this._backfillDEM(e), + this._state.initializeTileState( + e, + this.map ? this.map.painter : null, + ), + this._source.fire( + new t.Event("data", { + dataType: "source", + tile: e, + coord: e.tileID, + }), + ); + }), + (r.prototype._backfillDEM = function (t) { + for ( + var e = this.getRenderableIds(), r = 0; + r < e.length; + r++ + ) { + var n = e[r]; + if ( + t.neighboringTiles && + t.neighboringTiles[n] + ) { + var i = this.getTileByID(n); + a(t, i), a(i, t); + } + } + function a(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))); + } + }), + (r.prototype.getTile = function (t) { + return this.getTileByID(t.key); + }), + (r.prototype.getTileByID = function (t) { + return this._tiles[t]; + }), + (r.prototype._retainLoadedChildren = function ( + t, + e, + r, + n, + ) { + for (var i in this._tiles) { + var a = this._tiles[i]; + if ( + !( + n[i] || + !a.hasData() || + a.tileID.overscaledZ <= e || + a.tileID.overscaledZ > r + ) + ) { + for ( + var o = a.tileID; + a && a.tileID.overscaledZ > e + 1; + + ) { + var s = a.tileID.scaledTo( + a.tileID.overscaledZ - 1, + ); + (a = this._tiles[s.key]) && + a.hasData() && + (o = s); + } + for (var l = o; l.overscaledZ > e; ) + if ( + t[ + (l = l.scaledTo(l.overscaledZ - 1)) + .key + ] + ) { + n[o.key] = o; + break; + } + } + } + }), + (r.prototype.findLoadedParent = function ( + t, + e, + ) { + if (t.key in this._loadedParentTiles) { + var r = this._loadedParentTiles[t.key]; + return r && r.tileID.overscaledZ >= e + ? r + : null; + } + for (var n = t.overscaledZ - 1; n >= e; n--) { + var i = t.scaledTo(n), + a = this._getLoadedTile(i); + if (a) return a; + } + }), + (r.prototype._getLoadedTile = function (t) { + var e = this._tiles[t.key]; + return e && e.hasData() + ? e + : this._cache.getByKey(t.wrapped().key); + }), + (r.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); + }), + (r.prototype.handleWrapJump = function (t) { + var e = + (t - + (void 0 === this._prevLng + ? t + : this._prevLng)) / + 360, + r = Math.round(e); + if (((this._prevLng = t), r)) { + var n = {}; + for (var i in this._tiles) { + var a = this._tiles[i]; + (a.tileID = a.tileID.unwrapTo( + a.tileID.wrap + r, + )), + (n[a.tileID.key] = a); + } + for (var o in ((this._tiles = n), + this._timers)) + clearTimeout(this._timers[o]), + delete this._timers[o]; + for (var s in this._tiles) { + var l = this._tiles[s]; + this._setTileReloadTimer(s, l); + } + } + }), + (r.prototype.update = function (e) { + var n = this; + if ( + ((this.transform = e), + this._sourceLoaded && !this._paused) + ) { + var i; + this.updateCacheSize(e), + this.handleWrapJump( + this.transform.center.lng, + ), + (this._coveredTiles = {}), + this.used + ? this._source.tileID + ? (i = e + .getVisibleUnwrappedCoordinates( + this._source.tileID, + ) + .map(function (e) { + return new t.OverscaledTileID( + e.canonical.z, + e.wrap, + e.canonical.z, + e.canonical.x, + e.canonical.y, + ); + })) + : ((i = e.coveringTiles({ + tileSize: this._source.tileSize, + minzoom: this._source.minzoom, + maxzoom: this._source.maxzoom, + roundZoom: this._source.roundZoom, + reparseOverscaled: + this._source.reparseOverscaled, + })), + this._source.hasTile && + (i = i.filter(function (t) { + return n._source.hasTile(t); + }))) + : (i = []); + var a = e.coveringZoomLevel(this._source), + o = Math.max( + a - r.maxOverzooming, + this._source.minzoom, + ), + s = Math.max( + a + r.maxUnderzooming, + this._source.minzoom, + ), + l = this._updateRetainedTiles(i, a); + if (Dt(this._source.type)) { + for ( + var u = {}, + c = {}, + f = 0, + h = Object.keys(l); + f < h.length; + f += 1 + ) { + var p = h[f], + d = l[p], + v = this._tiles[p]; + if ( + v && + !( + v.fadeEndTime && + v.fadeEndTime <= t.browser.now() + ) + ) { + var g = this.findLoadedParent(d, o); + g && + (this._addTile(g.tileID), + (u[g.tileID.key] = g.tileID)), + (c[p] = d); + } + } + for (var y in (this._retainLoadedChildren( + c, + a, + s, + l, + ), + u)) + l[y] || + ((this._coveredTiles[y] = !0), + (l[y] = u[y])); + } + for (var m in l) + this._tiles[m].clearFadeHold(); + for ( + var x = 0, + b = t.keysDifference(this._tiles, l); + x < b.length; + x += 1 + ) { + var _ = b[x], + w = this._tiles[_]; + w.hasSymbolBuckets && !w.holdingForFade() + ? w.setHoldDuration( + this.map._fadeDuration, + ) + : (w.hasSymbolBuckets && + !w.symbolFadeFinished()) || + this._removeTile(_); + } + this._updateLoadedParentTileCache(); + } + }), + (r.prototype.releaseSymbolFadeTiles = + function () { + for (var t in this._tiles) + this._tiles[t].holdingForFade() && + this._removeTile(t); + }), + (r.prototype._updateRetainedTiles = function ( + t, + e, + ) { + for ( + var n = {}, + i = {}, + a = Math.max( + e - r.maxOverzooming, + this._source.minzoom, + ), + o = Math.max( + e + r.maxUnderzooming, + this._source.minzoom, + ), + s = {}, + l = 0, + u = t; + l < u.length; + l += 1 + ) { + var c = u[l], + f = this._addTile(c); + (n[c.key] = c), + f.hasData() || + (e < this._source.maxzoom && + (s[c.key] = c)); + } + this._retainLoadedChildren(s, e, o, n); + for (var h = 0, p = t; h < p.length; h += 1) { + var d = p[h], + v = this._tiles[d.key]; + if (!v.hasData()) { + if (e + 1 > this._source.maxzoom) { + var g = d.children( + this._source.maxzoom, + )[0], + y = this.getTile(g); + if (y && y.hasData()) { + n[g.key] = g; + continue; + } + } else { + var m = d.children( + this._source.maxzoom, + ); + if ( + n[m[0].key] && + n[m[1].key] && + n[m[2].key] && + n[m[3].key] + ) + continue; + } + for ( + var x = v.wasRequested(), + b = d.overscaledZ - 1; + b >= a; + --b + ) { + var _ = d.scaledTo(b); + if (i[_.key]) break; + if ( + ((i[_.key] = !0), + !(v = this.getTile(_)) && + x && + (v = this._addTile(_)), + v && + ((n[_.key] = _), + (x = v.wasRequested()), + v.hasData())) + ) + break; + } + } + } + return n; + }), + (r.prototype._updateLoadedParentTileCache = + function () { + for (var t in ((this._loadedParentTiles = + {}), + this._tiles)) { + for ( + var e = [], + r = void 0, + n = this._tiles[t].tileID; + n.overscaledZ > 0; + + ) { + if (n.key in this._loadedParentTiles) { + r = this._loadedParentTiles[n.key]; + break; + } + e.push(n.key); + var i = n.scaledTo(n.overscaledZ - 1); + if ((r = this._getLoadedTile(i))) break; + n = i; + } + for ( + var a = 0, o = e; + a < o.length; + a += 1 + ) { + var s = o[a]; + this._loadedParentTiles[s] = r; + } + } + }), + (r.prototype._addTile = function (e) { + var r = this._tiles[e.key]; + if (r) return r; + (r = this._cache.getAndRemove(e)) && + (this._setTileReloadTimer(e.key, r), + (r.tileID = e), + this._state.initializeTileState( + r, + this.map ? this.map.painter : null, + ), + this._cacheTimers[e.key] && + (clearTimeout(this._cacheTimers[e.key]), + delete this._cacheTimers[e.key], + this._setTileReloadTimer(e.key, r))); + var n = Boolean(r); + return ( + n || + ((r = new t.Tile( + e, + this._source.tileSize * + e.overscaleFactor(), + )), + this._loadTile( + r, + this._tileLoaded.bind( + this, + r, + e.key, + r.state, + ), + )), + r + ? (r.uses++, + (this._tiles[e.key] = r), + n || + this._source.fire( + new t.Event("dataloading", { + tile: r, + coord: r.tileID, + dataType: "source", + }), + ), + r) + : null + ); + }), + (r.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)); + }), + (r.prototype._removeTile = function (t) { + var e = this._tiles[t]; + e && + (e.uses--, + delete this._tiles[t], + this._timers[t] && + (clearTimeout(this._timers[t]), + delete this._timers[t]), + e.uses > 0 || + (e.hasData() && "reloading" !== e.state + ? this._cache.add( + e.tileID, + e, + e.getExpiryTimeout(), + ) + : ((e.aborted = !0), + this._abortTile(e), + this._unloadTile(e)))); + }), + (r.prototype.clearTiles = function () { + for (var t in ((this._shouldReloadOnResume = + !1), + (this._paused = !1), + this._tiles)) + this._removeTile(t); + this._cache.reset(); + }), + (r.prototype.tilesIn = function (e, r, n) { + var i = this, + a = [], + o = this.transform; + if (!o) return a; + for ( + var s = n ? o.getCameraQueryGeometry(e) : e, + l = e.map(function (t) { + return o.pointCoordinate(t); + }), + u = s.map(function (t) { + return o.pointCoordinate(t); + }), + c = this.getIds(), + f = 1 / 0, + h = 1 / 0, + p = -1 / 0, + d = -1 / 0, + v = 0, + g = u; + v < g.length; + v += 1 + ) { + var y = g[v]; + (f = Math.min(f, y.x)), + (h = Math.min(h, y.y)), + (p = Math.max(p, y.x)), + (d = Math.max(d, y.y)); + } + for ( + var m = function (e) { + var n = i._tiles[c[e]]; + if (!n.holdingForFade()) { + var s = n.tileID, + v = Math.pow( + 2, + o.zoom - n.tileID.overscaledZ, + ), + g = + (r * n.queryPadding * t.EXTENT) / + n.tileSize / + v, + y = [ + s.getTilePoint( + new t.MercatorCoordinate(f, h), + ), + s.getTilePoint( + new t.MercatorCoordinate(p, d), + ), + ]; + if ( + y[0].x - g < t.EXTENT && + y[0].y - g < t.EXTENT && + y[1].x + g >= 0 && + y[1].y + g >= 0 + ) { + var m = l.map(function (t) { + return s.getTilePoint(t); + }), + x = u.map(function (t) { + return s.getTilePoint(t); + }); + a.push({ + tile: n, + tileID: s, + queryGeometry: m, + cameraQueryGeometry: x, + scale: v, + }); + } + } + }, + x = 0; + x < c.length; + x++ + ) + m(x); + return a; + }), + (r.prototype.getVisibleCoordinates = function ( + t, + ) { + for ( + var e = this, + r = this.getRenderableIds(t).map( + function (t) { + return e._tiles[t].tileID; + }, + ), + n = 0, + i = r; + n < i.length; + n += 1 + ) { + var a = i[n]; + a.posMatrix = + this.transform.calculatePosMatrix( + a.toUnwrapped(), + ); + } + return r; + }), + (r.prototype.hasTransition = function () { + if (this._source.hasTransition()) return !0; + if (Dt(this._source.type)) + for (var e in this._tiles) { + var r = this._tiles[e]; + if ( + void 0 !== r.fadeEndTime && + r.fadeEndTime >= t.browser.now() + ) + return !0; + } + return !1; + }), + (r.prototype.setFeatureState = function ( + t, + e, + r, + ) { + (t = t || "_geojsonTileLayer"), + this._state.updateState(t, e, r); + }), + (r.prototype.removeFeatureState = function ( + t, + e, + r, + ) { + (t = t || "_geojsonTileLayer"), + this._state.removeFeatureState(t, e, r); + }), + (r.prototype.getFeatureState = function (t, e) { + return ( + (t = t || "_geojsonTileLayer"), + this._state.getState(t, e) + ); + }), + (r.prototype.setDependencies = function ( + t, + e, + r, + ) { + var n = this._tiles[t]; + n && n.setDependencies(e, r); + }), + (r.prototype.reloadTilesForDependencies = + function (t, e) { + for (var r in this._tiles) + this._tiles[r].hasDependency(t, e) && + this._reloadTile(r, "reloading"); + this._cache.filter(function (r) { + return !r.hasDependency(t, e); + }); + }), + r + ); + })(t.Evented); + function It(t, e) { + var r = Math.abs(2 * t.wrap) - +(t.wrap < 0), + n = Math.abs(2 * e.wrap) - +(e.wrap < 0); + return ( + t.overscaledZ - e.overscaledZ || + n - r || + e.canonical.y - t.canonical.y || + e.canonical.x - t.canonical.x + ); + } + function Dt(t) { + return ( + "raster" === t || "image" === t || "video" === t + ); + } + function zt() { + return new t.window.Worker(ta.workerUrl); + } + (Pt.maxOverzooming = 10), (Pt.maxUnderzooming = 3); + var Rt = "mapboxgl_preloaded_worker_pool", + Ft = function () { + this.active = {}; + }; + (Ft.prototype.acquire = function (t) { + if (!this.workers) + for ( + this.workers = []; + this.workers.length < Ft.workerCount; + + ) + this.workers.push(new zt()); + return ( + (this.active[t] = !0), this.workers.slice() + ); + }), + (Ft.prototype.release = function (t) { + delete this.active[t], + 0 === this.numActive() && + (this.workers.forEach(function (t) { + t.terminate(); + }), + (this.workers = null)); + }), + (Ft.prototype.isPreloaded = function () { + return !!this.active[Rt]; + }), + (Ft.prototype.numActive = function () { + return Object.keys(this.active).length; + }); + var Bt, + Nt = Math.floor( + t.browser.hardwareConcurrency / 2, + ); + function jt() { + return Bt || (Bt = new Ft()), Bt; + } + function Ut(e, r) { + var n = {}; + for (var i in e) "ref" !== i && (n[i] = e[i]); + return ( + t.refProperties.forEach(function (t) { + t in r && (n[t] = r[t]); + }), + n + ); + } + function Vt(t) { + t = t.slice(); + for ( + var e = Object.create(null), r = 0; + r < t.length; + r++ + ) + e[t[r].id] = t[r]; + for (var n = 0; n < t.length; n++) + "ref" in t[n] && (t[n] = Ut(t[n], e[t[n].ref])); + return t; + } + Ft.workerCount = Math.max(Math.min(Nt, 6), 1); + var Ht = { + 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", + }; + function qt(t, e, r) { + r.push({ + command: Ht.addSource, + args: [t, e[t]], + }); + } + function Gt(t, e, r) { + e.push({ command: Ht.removeSource, args: [t] }), + (r[t] = !0); + } + function Zt(t, e, r, n) { + Gt(t, r, n), qt(t, e, r); + } + function Wt(e, r, n) { + var i; + for (i in e[n]) + if ( + e[n].hasOwnProperty(i) && + "data" !== i && + !t.deepEqual(e[n][i], r[n][i]) + ) + return !1; + for (i in r[n]) + if ( + r[n].hasOwnProperty(i) && + "data" !== i && + !t.deepEqual(e[n][i], r[n][i]) + ) + return !1; + return !0; + } + function Yt(e, r, n, i, a, o) { + var s; + for (s in ((r = r || {}), (e = e || {}))) + e.hasOwnProperty(s) && + (t.deepEqual(e[s], r[s]) || + n.push({ + command: o, + args: [i, s, r[s], a], + })); + for (s in r) + r.hasOwnProperty(s) && + !e.hasOwnProperty(s) && + (t.deepEqual(e[s], r[s]) || + n.push({ + command: o, + args: [i, s, r[s], a], + })); + } + function Xt(t) { + return t.id; + } + function Jt(t, e) { + return (t[e.id] = e), t; + } + function Kt(e, r) { + if (!e) + return [{ command: Ht.setStyle, args: [r] }]; + var n = []; + try { + if (!t.deepEqual(e.version, r.version)) + return [{ command: Ht.setStyle, args: [r] }]; + t.deepEqual(e.center, r.center) || + n.push({ + command: Ht.setCenter, + args: [r.center], + }), + t.deepEqual(e.zoom, r.zoom) || + n.push({ + command: Ht.setZoom, + args: [r.zoom], + }), + t.deepEqual(e.bearing, r.bearing) || + n.push({ + command: Ht.setBearing, + args: [r.bearing], + }), + t.deepEqual(e.pitch, r.pitch) || + n.push({ + command: Ht.setPitch, + args: [r.pitch], + }), + t.deepEqual(e.sprite, r.sprite) || + n.push({ + command: Ht.setSprite, + args: [r.sprite], + }), + t.deepEqual(e.glyphs, r.glyphs) || + n.push({ + command: Ht.setGlyphs, + args: [r.glyphs], + }), + t.deepEqual(e.transition, r.transition) || + n.push({ + command: Ht.setTransition, + args: [r.transition], + }), + t.deepEqual(e.light, r.light) || + n.push({ + command: Ht.setLight, + args: [r.light], + }); + var i = {}, + a = []; + !(function (e, r, n, i) { + var a; + for (a in ((r = r || {}), (e = e || {}))) + e.hasOwnProperty(a) && + (r.hasOwnProperty(a) || Gt(a, n, i)); + for (a in r) + r.hasOwnProperty(a) && + (e.hasOwnProperty(a) + ? t.deepEqual(e[a], r[a]) || + ("geojson" === e[a].type && + "geojson" === r[a].type && + Wt(e, r, a) + ? n.push({ + command: + Ht.setGeoJSONSourceData, + args: [a, r[a].data], + }) + : Zt(a, r, n, i)) + : qt(a, r, n)); + })(e.sources, r.sources, a, i); + var o = []; + e.layers && + e.layers.forEach(function (t) { + i[t.source] + ? n.push({ + command: Ht.removeLayer, + args: [t.id], + }) + : o.push(t); + }), + (n = n.concat(a)), + (function (e, r, n) { + r = r || []; + var i, + a, + o, + s, + l, + u, + c, + f = (e = e || []).map(Xt), + h = r.map(Xt), + p = e.reduce(Jt, {}), + d = r.reduce(Jt, {}), + v = f.slice(), + g = Object.create(null); + for (i = 0, a = 0; i < f.length; i++) + (o = f[i]), + d.hasOwnProperty(o) + ? a++ + : (n.push({ + command: Ht.removeLayer, + args: [o], + }), + v.splice(v.indexOf(o, a), 1)); + for (i = 0, a = 0; i < h.length; i++) + (o = h[h.length - 1 - i]), + v[v.length - 1 - i] !== o && + (p.hasOwnProperty(o) + ? (n.push({ + command: Ht.removeLayer, + args: [o], + }), + v.splice( + v.lastIndexOf(o, v.length - a), + 1, + )) + : a++, + (u = v[v.length - i]), + n.push({ + command: Ht.addLayer, + args: [d[o], u], + }), + v.splice(v.length - i, 0, o), + (g[o] = !0)); + for (i = 0; i < h.length; i++) + if ( + ((s = p[(o = h[i])]), + (l = d[o]), + !g[o] && !t.deepEqual(s, l)) + ) + if ( + t.deepEqual(s.source, l.source) && + t.deepEqual( + s["source-layer"], + l["source-layer"], + ) && + t.deepEqual(s.type, l.type) + ) { + for (c in (Yt( + s.layout, + l.layout, + n, + o, + null, + Ht.setLayoutProperty, + ), + Yt( + s.paint, + l.paint, + n, + o, + null, + Ht.setPaintProperty, + ), + t.deepEqual(s.filter, l.filter) || + n.push({ + command: Ht.setFilter, + args: [o, l.filter], + }), + (t.deepEqual(s.minzoom, l.minzoom) && + t.deepEqual( + s.maxzoom, + l.maxzoom, + )) || + n.push({ + command: Ht.setLayerZoomRange, + args: [o, l.minzoom, l.maxzoom], + }), + s)) + s.hasOwnProperty(c) && + "layout" !== c && + "paint" !== c && + "filter" !== c && + "metadata" !== c && + "minzoom" !== c && + "maxzoom" !== c && + (0 === c.indexOf("paint.") + ? Yt( + s[c], + l[c], + n, + o, + c.slice(6), + Ht.setPaintProperty, + ) + : t.deepEqual(s[c], l[c]) || + n.push({ + command: + Ht.setLayerProperty, + args: [o, c, l[c]], + })); + for (c in l) + l.hasOwnProperty(c) && + !s.hasOwnProperty(c) && + "layout" !== c && + "paint" !== c && + "filter" !== c && + "metadata" !== c && + "minzoom" !== c && + "maxzoom" !== c && + (0 === c.indexOf("paint.") + ? Yt( + s[c], + l[c], + n, + o, + c.slice(6), + Ht.setPaintProperty, + ) + : t.deepEqual(s[c], l[c]) || + n.push({ + command: + Ht.setLayerProperty, + args: [o, c, l[c]], + })); + } else + n.push({ + command: Ht.removeLayer, + args: [o], + }), + (u = v[v.lastIndexOf(o) + 1]), + n.push({ + command: Ht.addLayer, + args: [l, u], + }); + })(o, r.layers, n); + } catch (t) { + console.warn( + "Unable to compute style diff:", + t, + ), + (n = [{ command: Ht.setStyle, args: [r] }]); + } + return n; + } + var $t = function (t, e) { + this.reset(t, e); + }; + ($t.prototype.reset = function (t, e) { + (this.points = t || []), (this._distances = [0]); + for (var r = 1; r < this.points.length; r++) + this._distances[r] = + this._distances[r - 1] + + this.points[r].dist(this.points[r - 1]); + (this.length = + this._distances[this._distances.length - 1]), + (this.padding = Math.min( + e || 0, + 0.5 * this.length, + )), + (this.paddedLength = + this.length - 2 * this.padding); + }), + ($t.prototype.lerp = function (e) { + if (1 === this.points.length) + return this.points[0]; + e = t.clamp(e, 0, 1); + for ( + var r = 1, + n = this._distances[r], + i = e * this.paddedLength + this.padding; + n < i && r < this._distances.length; + + ) + n = this._distances[++r]; + var a = r - 1, + o = this._distances[a], + s = n - o, + l = s > 0 ? (i - o) / s : 0; + return this.points[a] + .mult(1 - l) + .add(this.points[r].mult(l)); + }); + var Qt = 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); + }; + function te(e, r, n, i, a) { + var o = t.create(); + return ( + r + ? (t.scale(o, o, [1 / a, 1 / a, 1]), + n || t.rotateZ(o, o, i.angle)) + : t.multiply(o, i.labelPlaneMatrix, e), + o + ); + } + function ee(e, r, n, i, a) { + if (r) { + var o = t.clone(e); + return ( + t.scale(o, o, [a, a, 1]), + n || t.rotateZ(o, o, -i.angle), + o + ); + } + return i.glCoordMatrix; + } + function re(e, r) { + var n = [e.x, e.y, 0, 1]; + pe(n, n, r); + var i = n[3]; + return { + point: new t.Point(n[0] / i, n[1] / i), + signedDistanceFromCamera: i, + }; + } + function ne(t, e) { + return 0.5 + (t / e) * 0.5; + } + function ie(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 ae(e, r, n, i, a, o, s, l) { + var u = i ? e.textSizeData : e.iconSizeData, + c = t.evaluateSizeForZoom(u, n.transform.zoom), + f = [ + (256 / n.width) * 2 + 1, + (256 / n.height) * 2 + 1, + ], + h = i + ? e.text.dynamicLayoutVertexArray + : e.icon.dynamicLayoutVertexArray; + h.clear(); + for ( + var p = e.lineVertexArray, + d = i + ? e.text.placedSymbolArray + : e.icon.placedSymbolArray, + v = n.transform.width / n.transform.height, + g = !1, + y = 0; + y < d.length; + y++ + ) { + var m = d.get(y); + if ( + m.hidden || + (m.writingMode === t.WritingMode.vertical && + !g) + ) + he(m.numGlyphs, h); + else { + g = !1; + var x = [m.anchorX, m.anchorY, 0, 1]; + if ((t.transformMat4(x, x, r), ie(x, f))) { + var b = x[3], + _ = ne( + n.transform.cameraToCenterDistance, + b, + ), + w = t.evaluateSizeForFeature(u, c, m), + T = s ? w / _ : w * _, + k = new t.Point(m.anchorX, m.anchorY), + A = re(k, a).point, + M = {}, + S = le( + m, + T, + !1, + l, + r, + a, + o, + e.glyphOffsetArray, + p, + h, + A, + k, + M, + v, + ); + (g = S.useVertical), + (S.notEnoughRoom || + g || + (S.needsFlipping && + le( + m, + T, + !0, + l, + r, + a, + o, + e.glyphOffsetArray, + p, + h, + A, + k, + M, + v, + ).notEnoughRoom)) && + he(m.numGlyphs, h); + } else he(m.numGlyphs, h); + } + } + i + ? e.text.dynamicLayoutVertexBuffer.updateData(h) + : e.icon.dynamicLayoutVertexBuffer.updateData( + h, + ); + } + function oe(t, e, r, n, i, a, o, s, l, u, c) { + var f = s.glyphStartIndex + s.numGlyphs, + h = s.lineStartIndex, + p = s.lineStartIndex + s.lineLength, + d = e.getoffsetX(s.glyphStartIndex), + v = e.getoffsetX(f - 1), + g = ce( + t * d, + r, + n, + i, + a, + o, + s.segment, + h, + p, + l, + u, + c, + ); + if (!g) return null; + var y = ce( + t * v, + r, + n, + i, + a, + o, + s.segment, + h, + p, + l, + u, + c, + ); + return y ? { first: g, last: y } : null; + } + function se(e, r, n, i) { + return e === t.WritingMode.horizontal && + Math.abs(n.y - r.y) > Math.abs(n.x - r.x) * i + ? { useVertical: !0 } + : ( + e === t.WritingMode.vertical + ? r.y < n.y + : r.x > n.x + ) + ? { needsFlipping: !0 } + : null; + } + function le( + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + ) { + var v, + g = r / 24, + y = e.lineOffsetX * g, + m = e.lineOffsetY * g; + if (e.numGlyphs > 1) { + var x = e.glyphStartIndex + e.numGlyphs, + b = e.lineStartIndex, + _ = e.lineStartIndex + e.lineLength, + w = oe(g, l, y, m, n, f, h, e, u, o, p); + if (!w) return { notEnoughRoom: !0 }; + var T = re(w.first.point, s).point, + k = re(w.last.point, s).point; + if (i && !n) { + var A = se(e.writingMode, T, k, d); + if (A) return A; + } + v = [w.first]; + for ( + var M = e.glyphStartIndex + 1; + M < x - 1; + M++ + ) + v.push( + ce( + g * l.getoffsetX(M), + y, + m, + n, + f, + h, + e.segment, + b, + _, + u, + o, + p, + ), + ); + v.push(w.last); + } else { + if (i && !n) { + var S = re(h, a).point, + E = e.lineStartIndex + e.segment + 1, + L = new t.Point(u.getx(E), u.gety(E)), + C = re(L, a), + O = + C.signedDistanceFromCamera > 0 + ? C.point + : ue(h, L, S, 1, a), + P = se(e.writingMode, S, O, d); + if (P) return P; + } + var I = ce( + g * l.getoffsetX(e.glyphStartIndex), + y, + m, + n, + f, + h, + e.segment, + e.lineStartIndex, + e.lineStartIndex + e.lineLength, + u, + o, + p, + ); + if (!I) return { notEnoughRoom: !0 }; + v = [I]; + } + for (var D = 0, z = v; D < z.length; D += 1) { + var R = z[D]; + t.addDynamicAttributes(c, R.point, R.angle); + } + return {}; + } + function ue(t, e, r, n, i) { + var a = re(t.add(t.sub(e)._unit()), i).point, + o = r.sub(a); + return r.add(o._mult(n / o.mag())); + } + function ce(e, r, n, i, a, o, s, l, u, c, f, h) { + var p = i ? e - r : e + r, + d = p > 0 ? 1 : -1, + v = 0; + i && ((d *= -1), (v = Math.PI)), + d < 0 && (v += Math.PI); + for ( + var g = d > 0 ? l + s : l + s + 1, + y = a, + m = a, + x = 0, + b = 0, + _ = Math.abs(p), + w = []; + x + b <= _; + + ) { + if ((g += d) < l || g >= u) return null; + if ( + ((m = y), w.push(y), void 0 === (y = h[g])) + ) { + var T = new t.Point(c.getx(g), c.gety(g)), + k = re(T, f); + if (k.signedDistanceFromCamera > 0) + y = h[g] = k.point; + else { + var A = g - d; + y = ue( + 0 === x + ? o + : new t.Point(c.getx(A), c.gety(A)), + T, + m, + _ - x + 1, + f, + ); + } + } + (x += b), (b = m.dist(y)); + } + var M = (_ - x) / b, + S = y.sub(m), + E = S.mult(M)._add(m); + E._add( + S._unit() + ._perp() + ._mult(n * d), + ); + var L = v + Math.atan2(y.y - m.y, y.x - m.x); + return w.push(E), { point: E, angle: L, path: w }; + } + (Qt.prototype.keysLength = function () { + return ( + this.boxKeys.length + this.circleKeys.length + ); + }), + (Qt.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); + }), + (Qt.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); + }), + (Qt.prototype._insertBoxCell = function ( + t, + e, + r, + n, + i, + a, + ) { + this.boxCells[i].push(a); + }), + (Qt.prototype._insertCircleCell = function ( + t, + e, + r, + n, + i, + a, + ) { + this.circleCells[i].push(a); + }), + (Qt.prototype._query = function ( + t, + e, + r, + n, + i, + a, + ) { + if ( + r < 0 || + t > this.width || + n < 0 || + e > this.height + ) + return !i && []; + var o = []; + if ( + t <= 0 && + e <= 0 && + this.width <= r && + this.height <= n + ) { + if (i) return !0; + for (var s = 0; s < this.boxKeys.length; s++) + o.push({ + key: this.boxKeys[s], + x1: this.bboxes[4 * s], + y1: this.bboxes[4 * s + 1], + x2: this.bboxes[4 * s + 2], + y2: this.bboxes[4 * s + 3], + }); + for ( + var l = 0; + l < this.circleKeys.length; + l++ + ) { + var u = this.circles[3 * l], + c = this.circles[3 * l + 1], + f = this.circles[3 * l + 2]; + o.push({ + key: this.circleKeys[l], + x1: u - f, + y1: c - f, + x2: u + f, + y2: c + f, + }); + } + return a ? o.filter(a) : o; + } + var h = { + hitTest: i, + seenUids: { box: {}, circle: {} }, + }; + return ( + this._forEachCell( + t, + e, + r, + n, + this._queryCell, + o, + h, + a, + ), + i ? o.length > 0 : o + ); + }), + (Qt.prototype._queryCircle = function ( + t, + e, + r, + n, + i, + ) { + var a = t - r, + o = t + r, + s = e - r, + l = e + r; + if ( + o < 0 || + a > this.width || + l < 0 || + s > this.height + ) + return !n && []; + var u = [], + c = { + hitTest: n, + circle: { x: t, y: e, radius: r }, + seenUids: { box: {}, circle: {} }, + }; + return ( + this._forEachCell( + a, + s, + o, + l, + this._queryCellCircle, + u, + c, + i, + ), + n ? u.length > 0 : u + ); + }), + (Qt.prototype.query = function (t, e, r, n, i) { + return this._query(t, e, r, n, !1, i); + }), + (Qt.prototype.hitTest = function (t, e, r, n, i) { + return this._query(t, e, r, n, !0, i); + }), + (Qt.prototype.hitTestCircle = function ( + t, + e, + r, + n, + ) { + return this._queryCircle(t, e, r, !0, n); + }), + (Qt.prototype._queryCell = function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + var l = o.seenUids, + u = this.boxCells[i]; + if (null !== u) + for ( + var c = this.bboxes, f = 0, h = u; + f < h.length; + f += 1 + ) { + var p = h[f]; + 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] && + (!s || s(this.boxKeys[p])) + ) { + if (o.hitTest) return a.push(!0), !0; + a.push({ + key: this.boxKeys[p], + x1: c[d], + y1: c[d + 1], + x2: c[d + 2], + y2: c[d + 3], + }); + } + } + } + var v = this.circleCells[i]; + if (null !== v) + for ( + var g = this.circles, y = 0, m = v; + y < m.length; + y += 1 + ) { + var x = m[y]; + if (!l.circle[x]) { + l.circle[x] = !0; + var b = 3 * x; + if ( + this._circleAndRectCollide( + g[b], + g[b + 1], + g[b + 2], + t, + e, + r, + n, + ) && + (!s || s(this.circleKeys[x])) + ) { + if (o.hitTest) return a.push(!0), !0; + var _ = g[b], + w = g[b + 1], + T = g[b + 2]; + a.push({ + key: this.circleKeys[x], + x1: _ - T, + y1: w - T, + x2: _ + T, + y2: w + T, + }); + } + } + } + }), + (Qt.prototype._queryCellCircle = function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + var l = o.circle, + u = o.seenUids, + c = this.boxCells[i]; + if (null !== c) + for ( + var f = this.bboxes, h = 0, p = c; + h < p.length; + h += 1 + ) { + var d = p[h]; + if (!u.box[d]) { + u.box[d] = !0; + var v = 4 * d; + if ( + this._circleAndRectCollide( + l.x, + l.y, + l.radius, + f[v + 0], + f[v + 1], + f[v + 2], + f[v + 3], + ) && + (!s || s(this.boxKeys[d])) + ) + return a.push(!0), !0; + } + } + var g = this.circleCells[i]; + if (null !== g) + for ( + var y = this.circles, m = 0, x = g; + m < x.length; + m += 1 + ) { + var b = x[m]; + if (!u.circle[b]) { + u.circle[b] = !0; + var _ = 3 * b; + if ( + this._circlesCollide( + y[_], + y[_ + 1], + y[_ + 2], + l.x, + l.y, + l.radius, + ) && + (!s || s(this.circleKeys[b])) + ) + return a.push(!0), !0; + } + } + }), + (Qt.prototype._forEachCell = function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + for ( + var l = this._convertToXCellCoord(t), + u = this._convertToYCellCoord(e), + c = this._convertToXCellCoord(r), + f = this._convertToYCellCoord(n), + h = l; + h <= c; + h++ + ) + for (var p = u; p <= f; p++) { + var d = this.xCellCount * p + h; + if (i.call(this, t, e, r, n, d, a, o, s)) + return; + } + }), + (Qt.prototype._convertToXCellCoord = function ( + t, + ) { + return Math.max( + 0, + Math.min( + this.xCellCount - 1, + Math.floor(t * this.xScale), + ), + ); + }), + (Qt.prototype._convertToYCellCoord = function ( + t, + ) { + return Math.max( + 0, + Math.min( + this.yCellCount - 1, + Math.floor(t * this.yScale), + ), + ); + }), + (Qt.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; + }), + (Qt.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 f = l - s, + h = c - u; + return f * f + h * h <= r * r; + }); + var fe = new Float32Array([ + -1 / 0, + -1 / 0, + 0, + -1 / 0, + -1 / 0, + 0, + -1 / 0, + -1 / 0, + 0, + -1 / 0, + -1 / 0, + 0, + ]); + function he(t, e) { + for (var r = 0; r < t; r++) { + var n = e.length; + e.resize(n + 4), e.float32.set(fe, 3 * n); + } + } + function pe(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 de = 100, + ve = function (t, e, r) { + void 0 === e && + (e = new Qt( + t.width + 200, + t.height + 200, + 25, + )), + void 0 === r && + (r = new Qt( + 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 + de), + (this.screenBottomBoundary = t.height + de), + (this.gridRightBoundary = t.width + 200), + (this.gridBottomBoundary = t.height + 200); + }; + function ge(e, r, n) { + return ( + r * + (t.EXTENT / + (e.tileSize * + Math.pow(2, n - e.tileID.overscaledZ))) + ); + } + (ve.prototype.placeCollisionBox = function ( + t, + e, + r, + n, + i, + ) { + var a = this.projectAndGetPerspectiveRatio( + n, + t.anchorPointX, + t.anchorPointY, + ), + o = r * a.perspectiveRatio, + s = t.x1 * o + a.point.x, + l = t.y1 * o + a.point.y, + u = t.x2 * o + a.point.x, + c = t.y2 * o + a.point.y; + return !this.isInsideGrid(s, l, u, c) || + (!e && this.grid.hitTest(s, l, u, c, i)) + ? { box: [], offscreen: !1 } + : { + box: [s, l, u, c], + offscreen: this.isOffscreen(s, l, u, c), + }; + }), + (ve.prototype.placeCollisionCircles = function ( + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + ) { + var d = [], + v = new t.Point(r.anchorX, r.anchorY), + g = re(v, o), + y = ne( + this.transform.cameraToCenterDistance, + g.signedDistanceFromCamera, + ), + m = (c ? a / y : a * y) / t.ONE_EM, + x = re(v, s).point, + b = oe( + m, + i, + r.lineOffsetX * m, + r.lineOffsetY * m, + !1, + x, + v, + r, + n, + s, + {}, + ), + _ = !1, + w = !1, + T = !0; + if (b) { + for ( + var k = 0.5 * h * y + p, + A = new t.Point(-100, -100), + M = new t.Point( + this.screenRightBoundary, + this.screenBottomBoundary, + ), + S = new $t(), + E = b.first, + L = b.last, + C = [], + O = E.path.length - 1; + O >= 1; + O-- + ) + C.push(E.path[O]); + for (var P = 1; P < L.path.length; P++) + C.push(L.path[P]); + var I = 2.5 * k; + if (l) { + var D = C.map(function (t) { + return re(t, l); + }); + C = D.some(function (t) { + return t.signedDistanceFromCamera <= 0; + }) + ? [] + : D.map(function (t) { + return t.point; + }); + } + var z = []; + if (C.length > 0) { + for ( + var R = C[0].clone(), + F = C[0].clone(), + B = 1; + B < C.length; + B++ + ) + (R.x = Math.min(R.x, C[B].x)), + (R.y = Math.min(R.y, C[B].y)), + (F.x = Math.max(F.x, C[B].x)), + (F.y = Math.max(F.y, C[B].y)); + z = + R.x >= A.x && + F.x <= M.x && + R.y >= A.y && + F.y <= M.y + ? [C] + : F.x < A.x || + R.x > M.x || + F.y < A.y || + R.y > M.y + ? [] + : t.clipLine([C], A.x, A.y, M.x, M.y); + } + for (var N = 0, j = z; N < j.length; N += 1) { + var U = j[N]; + S.reset(U, 0.25 * k); + var V; + V = + S.length <= 0.5 * k + ? 1 + : Math.ceil(S.paddedLength / I) + 1; + for (var H = 0; H < V; H++) { + var q = H / Math.max(V - 1, 1), + G = S.lerp(q), + Z = G.x + de, + W = G.y + de; + d.push(Z, W, k, 0); + var Y = Z - k, + X = W - k, + J = Z + k, + K = W + k; + if ( + ((T = + T && this.isOffscreen(Y, X, J, K)), + (w = + w || this.isInsideGrid(Y, X, J, K)), + !e && + this.grid.hitTestCircle(Z, W, k, f) && + ((_ = !0), !u)) + ) + return { + circles: [], + offscreen: !1, + collisionDetected: _, + }; + } + } + } + return { + circles: (!u && _) || !w ? [] : d, + offscreen: T, + collisionDetected: _, + }; + }), + (ve.prototype.queryRenderedSymbols = function ( + e, + ) { + if ( + 0 === e.length || + (0 === this.grid.keysLength() && + 0 === this.ignoredGrid.keysLength()) + ) + return {}; + for ( + var r = [], + n = 1 / 0, + i = 1 / 0, + a = -1 / 0, + o = -1 / 0, + s = 0, + l = e; + s < l.length; + s += 1 + ) { + var u = l[s], + c = new t.Point(u.x + de, u.y + de); + (n = Math.min(n, c.x)), + (i = Math.min(i, c.y)), + (a = Math.max(a, c.x)), + (o = Math.max(o, c.y)), + r.push(c); + } + for ( + var f = {}, + h = {}, + p = 0, + d = this.grid + .query(n, i, a, o) + .concat( + this.ignoredGrid.query(n, i, a, o), + ); + p < d.length; + p += 1 + ) { + var v = d[p], + g = v.key; + if ( + (void 0 === f[g.bucketInstanceId] && + (f[g.bucketInstanceId] = {}), + !f[g.bucketInstanceId][g.featureIndex]) + ) { + var y = [ + new t.Point(v.x1, v.y1), + new t.Point(v.x2, v.y1), + new t.Point(v.x2, v.y2), + new t.Point(v.x1, v.y2), + ]; + t.polygonIntersectsPolygon(r, y) && + ((f[g.bucketInstanceId][g.featureIndex] = + !0), + void 0 === h[g.bucketInstanceId] && + (h[g.bucketInstanceId] = []), + h[g.bucketInstanceId].push( + g.featureIndex, + )); + } + } + return h; + }), + (ve.prototype.insertCollisionBox = function ( + t, + e, + r, + n, + i, + ) { + var a = { + bucketInstanceId: r, + featureIndex: n, + collisionGroupID: i, + }; + (e ? this.ignoredGrid : this.grid).insert( + a, + t[0], + t[1], + t[2], + t[3], + ); + }), + (ve.prototype.insertCollisionCircles = function ( + t, + e, + r, + n, + i, + ) { + for ( + var a = e ? this.ignoredGrid : this.grid, + o = { + bucketInstanceId: r, + featureIndex: n, + collisionGroupID: i, + }, + s = 0; + s < t.length; + s += 4 + ) + a.insertCircle(o, t[s], t[s + 1], t[s + 2]); + }), + (ve.prototype.projectAndGetPerspectiveRatio = + function (e, r, n) { + var i = [r, n, 0, 1]; + return ( + pe(i, i, e), + { + point: new t.Point( + ((i[0] / i[3] + 1) / 2) * + this.transform.width + + de, + ((-i[1] / i[3] + 1) / 2) * + this.transform.height + + de, + ), + perspectiveRatio: + 0.5 + + (this.transform.cameraToCenterDistance / + i[3]) * + 0.5, + } + ); + }), + (ve.prototype.isOffscreen = function ( + t, + e, + r, + n, + ) { + return ( + r < de || + t >= this.screenRightBoundary || + n < de || + e > this.screenBottomBoundary + ); + }), + (ve.prototype.isInsideGrid = function ( + t, + e, + r, + n, + ) { + return ( + r >= 0 && + t < this.gridRightBoundary && + n >= 0 && + e < this.gridBottomBoundary + ); + }), + (ve.prototype.getViewportMatrix = function () { + var e = t.identity([]); + return t.translate(e, e, [-100, -100, 0]), e; + }); + var ye = 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); + }; + ye.prototype.isHidden = function () { + return 0 === this.opacity && !this.placed; + }; + var me = function (t, e, r, n, i) { + (this.text = new ye(t ? t.text : null, e, r, i)), + (this.icon = new ye( + t ? t.icon : null, + e, + n, + i, + )); + }; + me.prototype.isHidden = function () { + return ( + this.text.isHidden() && this.icon.isHidden() + ); + }; + var xe = function (t, e, r) { + (this.text = t), + (this.icon = e), + (this.skipFade = r); + }, + be = function () { + (this.invProjMatrix = t.create()), + (this.viewportMatrix = t.create()), + (this.circles = []); + }, + _e = function (t, e, r, n, i) { + (this.bucketInstanceId = t), + (this.featureIndex = e), + (this.sourceLayerIndex = r), + (this.bucketIndex = n), + (this.tileID = i); + }, + we = function (t) { + (this.crossSourceCollisions = t), + (this.maxGroupID = 0), + (this.collisionGroups = {}); + }; + function Te(e, r, n, i, a) { + var o = t.getAnchorAlignment(e), + s = -(o.horizontalAlign - 0.5) * r, + l = -(o.verticalAlign - 0.5) * n, + u = t.evaluateVariableOffset(e, i); + return new t.Point(s + u[0] * a, l + u[1] * a); + } + function ke(e, r, n, i, a, o) { + var s = e.x1, + l = e.x2, + u = e.y1, + c = e.y2, + f = e.anchorPointX, + h = e.anchorPointY, + p = new t.Point(r, n); + return ( + i && p._rotate(a ? o : -o), + { + x1: s + p.x, + y1: u + p.y, + x2: l + p.x, + y2: c + p.y, + anchorPointX: f, + anchorPointY: h, + } + ); + } + we.prototype.get = function (t) { + if (this.crossSourceCollisions) + return { ID: 0, predicate: null }; + if (!this.collisionGroups[t]) { + var e = ++this.maxGroupID; + this.collisionGroups[t] = { + ID: e, + predicate: function (t) { + return t.collisionGroupID === e; + }, + }; + } + return this.collisionGroups[t]; + }; + var Ae = function (t, e, r, n) { + (this.transform = t.clone()), + (this.collisionIndex = new ve(this.transform)), + (this.placements = {}), + (this.opacities = {}), + (this.variableOffsets = {}), + (this.stale = !1), + (this.commitTime = 0), + (this.fadeDuration = e), + (this.retainedQueryData = {}), + (this.collisionGroups = new we(r)), + (this.collisionCircleArrays = {}), + (this.prevPlacement = n), + n && (n.prevPlacement = void 0), + (this.placedOrientations = {}); + }; + function Me(t, e, r, n, i) { + t.emplaceBack( + e ? 1 : 0, + r ? 1 : 0, + n || 0, + i || 0, + ), + t.emplaceBack( + e ? 1 : 0, + r ? 1 : 0, + n || 0, + i || 0, + ), + t.emplaceBack( + e ? 1 : 0, + r ? 1 : 0, + n || 0, + i || 0, + ), + t.emplaceBack( + e ? 1 : 0, + r ? 1 : 0, + n || 0, + i || 0, + ); + } + (Ae.prototype.getBucketParts = function ( + e, + r, + n, + i, + ) { + var a = n.getBucket(r), + o = n.latestFeatureIndex; + if (a && o && r.id === a.layerIds[0]) { + var s = n.collisionBoxArray, + l = a.layers[0].layout, + u = Math.pow( + 2, + this.transform.zoom - n.tileID.overscaledZ, + ), + c = n.tileSize / t.EXTENT, + f = this.transform.calculatePosMatrix( + n.tileID.toUnwrapped(), + ), + h = "map" === l.get("text-pitch-alignment"), + p = + "map" === l.get("text-rotation-alignment"), + d = ge(n, 1, this.transform.zoom), + v = te(f, h, p, this.transform, d), + g = null; + if (h) { + var y = ee(f, h, p, this.transform, d); + g = t.multiply( + [], + this.transform.labelPlaneMatrix, + y, + ); + } + this.retainedQueryData[a.bucketInstanceId] = + new _e( + a.bucketInstanceId, + o, + a.sourceLayerIndex, + a.index, + n.tileID, + ); + var m = { + bucket: a, + layout: l, + posMatrix: f, + textLabelPlaneMatrix: v, + labelToScreenMatrix: g, + scale: u, + textPixelRatio: c, + holdingForFade: n.holdingForFade(), + collisionBoxArray: s, + partiallyEvaluatedTextSize: + t.evaluateSizeForZoom( + a.textSizeData, + this.transform.zoom, + ), + collisionGroup: this.collisionGroups.get( + a.sourceID, + ), + }; + if (i) + for ( + var x = 0, b = a.sortKeyRanges; + x < b.length; + x += 1 + ) { + var _ = b[x], + w = _.sortKey, + T = _.symbolInstanceStart, + k = _.symbolInstanceEnd; + e.push({ + sortKey: w, + symbolInstanceStart: T, + symbolInstanceEnd: k, + parameters: m, + }); + } + else + e.push({ + symbolInstanceStart: 0, + symbolInstanceEnd: a.symbolInstances.length, + parameters: m, + }); + } + }), + (Ae.prototype.attemptAnchorPlacement = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + ) { + var v, + g = [f.textOffset0, f.textOffset1], + y = Te(t, r, n, g, i), + m = this.collisionIndex.placeCollisionBox( + ke(e, y.x, y.y, a, o, this.transform.angle), + c, + s, + l, + u.predicate, + ); + if ( + !d || + 0 !== + this.collisionIndex.placeCollisionBox( + ke( + d, + y.x, + y.y, + a, + o, + this.transform.angle, + ), + c, + s, + l, + u.predicate, + ).box.length + ) + return m.box.length > 0 + ? (this.prevPlacement && + this.prevPlacement.variableOffsets[ + f.crossTileID + ] && + this.prevPlacement.placements[ + f.crossTileID + ] && + this.prevPlacement.placements[ + f.crossTileID + ].text && + (v = + this.prevPlacement.variableOffsets[ + f.crossTileID + ].anchor), + (this.variableOffsets[f.crossTileID] = { + textOffset: g, + width: r, + height: n, + anchor: t, + textBoxScale: i, + prevAnchor: v, + }), + this.markUsedJustification(h, t, f, p), + h.allowVerticalPlacement && + (this.markUsedOrientation(h, p, f), + (this.placedOrientations[ + f.crossTileID + ] = p)), + { shift: y, placedGlyphBoxes: m }) + : void 0; + }), + (Ae.prototype.placeLayerBucketPart = function ( + e, + r, + n, + ) { + var i = this, + a = e.parameters, + o = a.bucket, + s = a.layout, + l = a.posMatrix, + u = a.textLabelPlaneMatrix, + c = a.labelToScreenMatrix, + f = a.textPixelRatio, + h = a.holdingForFade, + p = a.collisionBoxArray, + d = a.partiallyEvaluatedTextSize, + v = a.collisionGroup, + g = s.get("text-optional"), + y = s.get("icon-optional"), + m = s.get("text-allow-overlap"), + x = s.get("icon-allow-overlap"), + b = + "map" === s.get("text-rotation-alignment"), + _ = "map" === s.get("text-pitch-alignment"), + w = "none" !== s.get("icon-text-fit"), + T = "viewport-y" === s.get("symbol-z-order"), + k = m && (x || !o.hasIconData() || y), + A = x && (m || !o.hasTextData() || g); + !o.collisionArrays && + p && + o.deserializeCollisionBoxes(p); + var M = function (e, a) { + if (!r[e.crossTileID]) + if (h) + i.placements[e.crossTileID] = new xe( + !1, + !1, + !1, + ); + else { + var p, + T = !1, + M = !1, + S = !0, + E = null, + L = { box: null, offscreen: null }, + C = { box: null, offscreen: null }, + O = null, + P = null, + I = 0, + D = 0, + z = 0; + a.textFeatureIndex + ? (I = a.textFeatureIndex) + : e.useRuntimeCollisionCircles && + (I = e.featureIndex), + a.verticalTextFeatureIndex && + (D = a.verticalTextFeatureIndex); + var R = a.textBox; + if (R) { + var F = function (r) { + var n = t.WritingMode.horizontal; + if ( + o.allowVerticalPlacement && + !r && + i.prevPlacement + ) { + var a = + i.prevPlacement + .placedOrientations[ + e.crossTileID + ]; + a && + ((i.placedOrientations[ + e.crossTileID + ] = a), + (n = a), + i.markUsedOrientation(o, n, e)); + } + return n; + }, + B = function (r, n) { + if ( + o.allowVerticalPlacement && + e.numVerticalGlyphVertices > 0 && + a.verticalTextBox + ) + for ( + var i = 0, s = o.writingModes; + i < s.length && + (s[i] === t.WritingMode.vertical + ? ((L = n()), (C = L)) + : (L = r()), + !(L && L.box && L.box.length)); + i += 1 + ); + else L = r(); + }; + if (s.get("text-variable-anchor")) { + var N = s.get("text-variable-anchor"); + if ( + i.prevPlacement && + i.prevPlacement.variableOffsets[ + e.crossTileID + ] + ) { + var j = + i.prevPlacement.variableOffsets[ + e.crossTileID + ]; + N.indexOf(j.anchor) > 0 && + (N = N.filter(function (t) { + return t !== j.anchor; + })).unshift(j.anchor); + } + var U = function (t, r, n) { + for ( + var a = t.x2 - t.x1, + s = t.y2 - t.y1, + u = e.textBoxScale, + c = w && !x ? r : null, + h = { box: [], offscreen: !1 }, + p = m ? 2 * N.length : N.length, + d = 0; + d < p; + ++d + ) { + var g = N[d % N.length], + y = d >= N.length, + k = i.attemptAnchorPlacement( + g, + t, + a, + s, + u, + b, + _, + f, + l, + v, + y, + e, + o, + n, + c, + ); + if ( + k && + (h = k.placedGlyphBoxes) && + h.box && + h.box.length + ) { + (T = !0), (E = k.shift); + break; + } + } + return h; + }; + B( + function () { + return U( + R, + a.iconBox, + t.WritingMode.horizontal, + ); + }, + function () { + var r = a.verticalTextBox, + n = L && L.box && L.box.length; + return o.allowVerticalPlacement && + !n && + e.numVerticalGlyphVertices > + 0 && + r + ? U( + r, + a.verticalIconBox, + t.WritingMode.vertical, + ) + : { + box: null, + offscreen: null, + }; + }, + ), + L && + ((T = L.box), (S = L.offscreen)); + var V = F(L && L.box); + if (!T && i.prevPlacement) { + var H = + i.prevPlacement.variableOffsets[ + e.crossTileID + ]; + H && + ((i.variableOffsets[ + e.crossTileID + ] = H), + i.markUsedJustification( + o, + H.anchor, + e, + V, + )); + } + } else { + var q = function (t, r) { + var n = + i.collisionIndex.placeCollisionBox( + t, + m, + f, + l, + v.predicate, + ); + return ( + n && + n.box && + n.box.length && + (i.markUsedOrientation(o, r, e), + (i.placedOrientations[ + e.crossTileID + ] = r)), + n + ); + }; + B( + function () { + return q( + R, + t.WritingMode.horizontal, + ); + }, + function () { + var r = a.verticalTextBox; + return o.allowVerticalPlacement && + e.numVerticalGlyphVertices > + 0 && + r + ? q(r, t.WritingMode.vertical) + : { + box: null, + offscreen: null, + }; + }, + ), + F(L && L.box && L.box.length); + } + } + if ( + ((T = + (p = L) && p.box && p.box.length > 0), + (S = p && p.offscreen), + e.useRuntimeCollisionCircles) + ) { + var G = o.text.placedSymbolArray.get( + e.centerJustifiedTextSymbolIndex, + ), + Z = t.evaluateSizeForFeature( + o.textSizeData, + d, + G, + ), + W = s.get("text-padding"), + Y = e.collisionCircleDiameter; + (O = + i.collisionIndex.placeCollisionCircles( + m, + G, + o.lineVertexArray, + o.glyphOffsetArray, + Z, + l, + u, + c, + n, + _, + v.predicate, + Y, + W, + )), + (T = + m || + (O.circles.length > 0 && + !O.collisionDetected)), + (S = S && O.offscreen); + } + if ( + (a.iconFeatureIndex && + (z = a.iconFeatureIndex), + a.iconBox) + ) { + var X = function (t) { + var e = + w && E + ? ke( + t, + E.x, + E.y, + b, + _, + i.transform.angle, + ) + : t; + return i.collisionIndex.placeCollisionBox( + e, + x, + f, + l, + v.predicate, + ); + }; + (M = + C && + C.box && + C.box.length && + a.verticalIconBox + ? (P = X(a.verticalIconBox)).box + .length > 0 + : (P = X(a.iconBox)).box.length > + 0), + (S = S && P.offscreen); + } + var J = + g || + (0 === e.numHorizontalGlyphVertices && + 0 === e.numVerticalGlyphVertices), + K = y || 0 === e.numIconVertices; + if ( + (J || K + ? K + ? J || (M = M && T) + : (T = M && T) + : (M = T = M && T), + T && + p && + p.box && + (C && C.box && D + ? i.collisionIndex.insertCollisionBox( + p.box, + s.get("text-ignore-placement"), + o.bucketInstanceId, + D, + v.ID, + ) + : i.collisionIndex.insertCollisionBox( + p.box, + s.get("text-ignore-placement"), + o.bucketInstanceId, + I, + v.ID, + )), + M && + P && + i.collisionIndex.insertCollisionBox( + P.box, + s.get("icon-ignore-placement"), + o.bucketInstanceId, + z, + v.ID, + ), + O && + (T && + i.collisionIndex.insertCollisionCircles( + O.circles, + s.get("text-ignore-placement"), + o.bucketInstanceId, + I, + v.ID, + ), + n)) + ) { + var $ = o.bucketInstanceId, + Q = i.collisionCircleArrays[$]; + void 0 === Q && + (Q = i.collisionCircleArrays[$] = + new be()); + for ( + var tt = 0; + tt < O.circles.length; + tt += 4 + ) + Q.circles.push(O.circles[tt + 0]), + Q.circles.push(O.circles[tt + 1]), + Q.circles.push(O.circles[tt + 2]), + Q.circles.push( + O.collisionDetected ? 1 : 0, + ); + } + (i.placements[e.crossTileID] = new xe( + T || k, + M || A, + S || o.justReloaded, + )), + (r[e.crossTileID] = !0); + } + }; + if (T) + for ( + var S = o.getSortedSymbolIndexes( + this.transform.angle, + ), + E = S.length - 1; + E >= 0; + --E + ) { + var L = S[E]; + M( + o.symbolInstances.get(L), + o.collisionArrays[L], + ); + } + else + for ( + var C = e.symbolInstanceStart; + C < e.symbolInstanceEnd; + C++ + ) + M( + o.symbolInstances.get(C), + o.collisionArrays[C], + ); + if ( + n && + o.bucketInstanceId in + this.collisionCircleArrays + ) { + var O = + this.collisionCircleArrays[ + o.bucketInstanceId + ]; + t.invert(O.invProjMatrix, l), + (O.viewportMatrix = + this.collisionIndex.getViewportMatrix()); + } + o.justReloaded = !1; + }), + (Ae.prototype.markUsedJustification = function ( + e, + r, + n, + i, + ) { + var a, + o = { + left: n.leftJustifiedTextSymbolIndex, + center: n.centerJustifiedTextSymbolIndex, + right: n.rightJustifiedTextSymbolIndex, + }; + a = + i === t.WritingMode.vertical + ? n.verticalPlacedTextSymbolIndex + : o[t.getAnchorJustification(r)]; + for ( + var s = 0, + l = [ + n.leftJustifiedTextSymbolIndex, + n.centerJustifiedTextSymbolIndex, + n.rightJustifiedTextSymbolIndex, + n.verticalPlacedTextSymbolIndex, + ]; + s < l.length; + s += 1 + ) { + var u = l[s]; + u >= 0 && + (e.text.placedSymbolArray.get( + u, + ).crossTileID = + a >= 0 && u !== a ? 0 : n.crossTileID); + } + }), + (Ae.prototype.markUsedOrientation = function ( + e, + r, + n, + ) { + for ( + var i = + r === t.WritingMode.horizontal || + r === t.WritingMode.horizontalOnly + ? r + : 0, + a = r === t.WritingMode.vertical ? r : 0, + o = 0, + s = [ + n.leftJustifiedTextSymbolIndex, + n.centerJustifiedTextSymbolIndex, + n.rightJustifiedTextSymbolIndex, + ]; + o < s.length; + o += 1 + ) { + var l = s[o]; + e.text.placedSymbolArray.get( + l, + ).placedOrientation = i; + } + n.verticalPlacedTextSymbolIndex && + (e.text.placedSymbolArray.get( + n.verticalPlacedTextSymbolIndex, + ).placedOrientation = a); + }), + (Ae.prototype.commit = function (t) { + (this.commitTime = t), + (this.zoomAtLastRecencyCheck = + this.transform.zoom); + var e = this.prevPlacement, + r = !1; + this.prevZoomAdjustment = e + ? e.zoomAdjustment(this.transform.zoom) + : 0; + var n = e ? e.symbolFadeChange(t) : 1, + i = e ? e.opacities : {}, + a = e ? e.variableOffsets : {}, + o = e ? e.placedOrientations : {}; + for (var s in this.placements) { + var l = this.placements[s], + u = i[s]; + u + ? ((this.opacities[s] = new me( + u, + n, + l.text, + l.icon, + )), + (r = + r || + l.text !== u.text.placed || + l.icon !== u.icon.placed)) + : ((this.opacities[s] = new me( + null, + n, + l.text, + l.icon, + l.skipFade, + )), + (r = r || l.text || l.icon)); + } + for (var c in i) { + var f = i[c]; + if (!this.opacities[c]) { + var h = new me(f, n, !1, !1); + h.isHidden() || + ((this.opacities[c] = h), + (r = + r || f.text.placed || f.icon.placed)); + } + } + for (var p in a) + this.variableOffsets[p] || + !this.opacities[p] || + this.opacities[p].isHidden() || + (this.variableOffsets[p] = a[p]); + for (var d in o) + this.placedOrientations[d] || + !this.opacities[d] || + this.opacities[d].isHidden() || + (this.placedOrientations[d] = o[d]); + r + ? (this.lastPlacementChangeTime = t) + : "number" != + typeof this.lastPlacementChangeTime && + (this.lastPlacementChangeTime = e + ? e.lastPlacementChangeTime + : t); + }), + (Ae.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 && + a.latestFeatureIndex && + t.id === o.layerIds[0] && + this.updateBucketOpacities( + o, + r, + a.collisionBoxArray, + ); + } + }), + (Ae.prototype.updateBucketOpacities = function ( + e, + r, + n, + ) { + var i = this; + e.hasTextData() && + e.text.opacityVertexArray.clear(), + e.hasIconData() && + e.icon.opacityVertexArray.clear(), + e.hasIconCollisionBoxData() && + e.iconCollisionBox.collisionVertexArray.clear(), + e.hasTextCollisionBoxData() && + e.textCollisionBox.collisionVertexArray.clear(); + var a = e.layers[0].layout, + o = new me(null, 0, !1, !1, !0), + s = a.get("text-allow-overlap"), + l = a.get("icon-allow-overlap"), + u = a.get("text-variable-anchor"), + c = + "map" === a.get("text-rotation-alignment"), + f = "map" === a.get("text-pitch-alignment"), + h = "none" !== a.get("icon-text-fit"), + p = new me( + null, + 0, + s && + (l || + !e.hasIconData() || + a.get("icon-optional")), + l && + (s || + !e.hasTextData() || + a.get("text-optional")), + !0, + ); + !e.collisionArrays && + n && + (e.hasIconCollisionBoxData() || + e.hasTextCollisionBoxData()) && + e.deserializeCollisionBoxes(n); + for ( + var d = function (t, e, r) { + for (var n = 0; n < e / 4; n++) + t.opacityVertexArray.emplaceBack(r); + }, + v = function (n) { + var a = e.symbolInstances.get(n), + s = a.numHorizontalGlyphVertices, + l = a.numVerticalGlyphVertices, + v = a.crossTileID, + g = r[v], + y = i.opacities[v]; + g + ? (y = o) + : y || ((y = p), (i.opacities[v] = y)), + (r[v] = !0); + var m = s > 0 || l > 0, + x = a.numIconVertices > 0, + b = i.placedOrientations[a.crossTileID], + _ = b === t.WritingMode.vertical, + w = + b === t.WritingMode.horizontal || + b === t.WritingMode.horizontalOnly; + if (m) { + var T = De(y.text), + k = _ ? ze : T; + d(e.text, s, k); + var A = w ? ze : T; + d(e.text, l, A); + var M = y.text.isHidden(); + [ + a.rightJustifiedTextSymbolIndex, + a.centerJustifiedTextSymbolIndex, + a.leftJustifiedTextSymbolIndex, + ].forEach(function (t) { + t >= 0 && + (e.text.placedSymbolArray.get( + t, + ).hidden = M || _ ? 1 : 0); + }), + a.verticalPlacedTextSymbolIndex >= + 0 && + (e.text.placedSymbolArray.get( + a.verticalPlacedTextSymbolIndex, + ).hidden = M || w ? 1 : 0); + var S = + i.variableOffsets[a.crossTileID]; + S && + i.markUsedJustification( + e, + S.anchor, + a, + b, + ); + var E = + i.placedOrientations[a.crossTileID]; + E && + (i.markUsedJustification( + e, + "left", + a, + E, + ), + i.markUsedOrientation(e, E, a)); + } + if (x) { + var L = De(y.icon), + C = !( + h && + a.verticalPlacedIconSymbolIndex && + _ + ); + if (a.placedIconSymbolIndex >= 0) { + var O = C ? L : ze; + d(e.icon, a.numIconVertices, O), + (e.icon.placedSymbolArray.get( + a.placedIconSymbolIndex, + ).hidden = y.icon.isHidden()); + } + if ( + a.verticalPlacedIconSymbolIndex >= 0 + ) { + var P = C ? ze : L; + d( + e.icon, + a.numVerticalIconVertices, + P, + ), + (e.icon.placedSymbolArray.get( + a.verticalPlacedIconSymbolIndex, + ).hidden = y.icon.isHidden()); + } + } + if ( + e.hasIconCollisionBoxData() || + e.hasTextCollisionBoxData() + ) { + var I = e.collisionArrays[n]; + if (I) { + var D = new t.Point(0, 0); + if (I.textBox || I.verticalTextBox) { + var z = !0; + if (u) { + var R = i.variableOffsets[v]; + R + ? ((D = Te( + R.anchor, + R.width, + R.height, + R.textOffset, + R.textBoxScale, + )), + c && + D._rotate( + f + ? i.transform.angle + : -i.transform.angle, + )) + : (z = !1); + } + I.textBox && + Me( + e.textCollisionBox + .collisionVertexArray, + y.text.placed, + !z || _, + D.x, + D.y, + ), + I.verticalTextBox && + Me( + e.textCollisionBox + .collisionVertexArray, + y.text.placed, + !z || w, + D.x, + D.y, + ); + } + var F = Boolean( + !w && I.verticalIconBox, + ); + I.iconBox && + Me( + e.iconCollisionBox + .collisionVertexArray, + y.icon.placed, + F, + h ? D.x : 0, + h ? D.y : 0, + ), + I.verticalIconBox && + Me( + e.iconCollisionBox + .collisionVertexArray, + y.icon.placed, + !F, + h ? D.x : 0, + h ? D.y : 0, + ); + } + } + }, + g = 0; + g < e.symbolInstances.length; + g++ + ) + v(g); + if ( + (e.sortFeatures(this.transform.angle), + this.retainedQueryData[e.bucketInstanceId] && + (this.retainedQueryData[ + e.bucketInstanceId + ].featureSortOrder = e.featureSortOrder), + e.hasTextData() && + e.text.opacityVertexBuffer && + e.text.opacityVertexBuffer.updateData( + e.text.opacityVertexArray, + ), + e.hasIconData() && + e.icon.opacityVertexBuffer && + e.icon.opacityVertexBuffer.updateData( + e.icon.opacityVertexArray, + ), + e.hasIconCollisionBoxData() && + e.iconCollisionBox.collisionVertexBuffer && + e.iconCollisionBox.collisionVertexBuffer.updateData( + e.iconCollisionBox.collisionVertexArray, + ), + e.hasTextCollisionBoxData() && + e.textCollisionBox.collisionVertexBuffer && + e.textCollisionBox.collisionVertexBuffer.updateData( + e.textCollisionBox.collisionVertexArray, + ), + e.bucketInstanceId in + this.collisionCircleArrays) + ) { + var y = + this.collisionCircleArrays[ + e.bucketInstanceId + ]; + (e.placementInvProjMatrix = y.invProjMatrix), + (e.placementViewportMatrix = + y.viewportMatrix), + (e.collisionCircleArray = y.circles), + delete this.collisionCircleArrays[ + e.bucketInstanceId + ]; + } + }), + (Ae.prototype.symbolFadeChange = function (t) { + return 0 === this.fadeDuration + ? 1 + : (t - this.commitTime) / this.fadeDuration + + this.prevZoomAdjustment; + }), + (Ae.prototype.zoomAdjustment = function (t) { + return Math.max( + 0, + (this.transform.zoom - t) / 1.5, + ); + }), + (Ae.prototype.hasTransitions = function (t) { + return ( + this.stale || + t - this.lastPlacementChangeTime < + this.fadeDuration + ); + }), + (Ae.prototype.stillRecent = function (t, e) { + var r = + this.zoomAtLastRecencyCheck === e + ? 1 - this.zoomAdjustment(e) + : 1; + return ( + (this.zoomAtLastRecencyCheck = e), + this.commitTime + this.fadeDuration * r > t + ); + }), + (Ae.prototype.setStale = function () { + this.stale = !0; + }); + var Se = Math.pow(2, 25), + Ee = Math.pow(2, 24), + Le = Math.pow(2, 17), + Ce = Math.pow(2, 16), + Oe = Math.pow(2, 9), + Pe = Math.pow(2, 8), + Ie = Math.pow(2, 1); + function De(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 * Se + + e * Ee + + r * Le + + e * Ce + + r * Oe + + e * Pe + + r * Ie + + e + ); + } + var ze = 0, + Re = function (t) { + (this._sortAcrossTiles = + "viewport-y" !== + t.layout.get("symbol-z-order") && + void 0 !== + t.layout + .get("symbol-sort-key") + .constantOr(1)), + (this._currentTileIndex = 0), + (this._currentPartIndex = 0), + (this._seenCrossTileIDs = {}), + (this._bucketParts = []); + }; + Re.prototype.continuePlacement = function ( + t, + e, + r, + n, + i, + ) { + for ( + var a = this._bucketParts; + this._currentTileIndex < t.length; + + ) { + var o = t[this._currentTileIndex]; + if ( + (e.getBucketParts( + a, + n, + o, + this._sortAcrossTiles, + ), + this._currentTileIndex++, + i()) + ) + return !0; + } + for ( + this._sortAcrossTiles && + ((this._sortAcrossTiles = !1), + a.sort(function (t, e) { + return t.sortKey - e.sortKey; + })); + this._currentPartIndex < a.length; + + ) { + var s = a[this._currentPartIndex]; + if ( + (e.placeLayerBucketPart( + s, + this._seenCrossTileIDs, + r, + ), + this._currentPartIndex++, + i()) + ) + return !0; + } + return !1; + }; + var Fe = function (t, e, r, n, i, a, o) { + (this.placement = new Ae(t, i, a, o)), + (this._currentPlacementIndex = e.length - 1), + (this._forceFullPlacement = r), + (this._showCollisionBoxes = n), + (this._done = !1); + }; + (Fe.prototype.isDone = function () { + return this._done; + }), + (Fe.prototype.continuePlacement = function ( + e, + r, + n, + ) { + for ( + var i = this, + a = t.browser.now(), + o = function () { + var e = t.browser.now() - a; + return !i._forceFullPlacement && e > 2; + }; + this._currentPlacementIndex >= 0; + + ) { + var s = r[e[this._currentPlacementIndex]], + l = + this.placement.collisionIndex.transform + .zoom; + if ( + "symbol" === s.type && + (!s.minzoom || s.minzoom <= l) && + (!s.maxzoom || s.maxzoom > l) + ) { + if ( + (this._inProgressLayer || + (this._inProgressLayer = new Re(s)), + this._inProgressLayer.continuePlacement( + n[s.source], + this.placement, + this._showCollisionBoxes, + s, + o, + )) + ) + return; + delete this._inProgressLayer; + } + this._currentPlacementIndex--; + } + this._done = !0; + }), + (Fe.prototype.commit = function (t) { + return this.placement.commit(t), this.placement; + }); + var Be = 512 / t.EXTENT / 2, + Ne = function (t, e, r) { + (this.tileID = t), + (this.indexedSymbolInstances = {}), + (this.bucketInstanceId = r); + for (var n = 0; n < e.length; n++) { + var i = e.get(n), + a = i.key; + this.indexedSymbolInstances[a] || + (this.indexedSymbolInstances[a] = []), + this.indexedSymbolInstances[a].push({ + crossTileID: i.crossTileID, + coord: this.getScaledCoordinates(i, t), + }); + } + }; + (Ne.prototype.getScaledCoordinates = function ( + e, + r, + ) { + var n = r.canonical.z - this.tileID.canonical.z, + i = Be / Math.pow(2, n); + return { + x: Math.floor( + (r.canonical.x * t.EXTENT + e.anchorX) * i, + ), + y: Math.floor( + (r.canonical.y * t.EXTENT + e.anchorY) * i, + ), + }; + }), + (Ne.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; + i < t.length; + i++ + ) { + var a = t.get(i); + if (!a.crossTileID) { + var o = this.indexedSymbolInstances[a.key]; + if (o) + for ( + var s = this.getScaledCoordinates(a, e), + l = 0, + u = o; + l < u.length; + l += 1 + ) { + var c = u[l]; + if ( + Math.abs(c.coord.x - s.x) <= n && + Math.abs(c.coord.y - s.y) <= n && + !r[c.crossTileID] + ) { + (r[c.crossTileID] = !0), + (a.crossTileID = c.crossTileID); + break; + } + } + } + } + }); + var je = function () { + this.maxCrossTileID = 0; + }; + je.prototype.generate = function () { + return ++this.maxCrossTileID; + }; + var Ue = function () { + (this.indexes = {}), + (this.usedCrossTileIDs = {}), + (this.lng = 0); + }; + (Ue.prototype.handleWrapJump = function (t) { + var e = Math.round((t - this.lng) / 360); + if (0 !== e) + for (var r in this.indexes) { + var n = this.indexes[r], + i = {}; + for (var a in n) { + var o = n[a]; + (o.tileID = o.tileID.unwrapTo( + o.tileID.wrap + e, + )), + (i[o.tileID.key] = o); + } + this.indexes[r] = i; + } + this.lng = t; + }), + (Ue.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; + n < e.symbolInstances.length; + n++ + ) + e.symbolInstances.get(n).crossTileID = 0; + this.usedCrossTileIDs[t.overscaledZ] || + (this.usedCrossTileIDs[t.overscaledZ] = {}); + var i = this.usedCrossTileIDs[t.overscaledZ]; + for (var a in this.indexes) { + var o = this.indexes[a]; + if (Number(a) > t.overscaledZ) + for (var s in o) { + var l = o[s]; + l.tileID.isChildOf(t) && + l.findMatches(e.symbolInstances, t, i); + } + else { + var u = o[t.scaledTo(Number(a)).key]; + u && u.findMatches(e.symbolInstances, t, i); + } + } + for ( + var c = 0; + c < e.symbolInstances.length; + c++ + ) { + var f = e.symbolInstances.get(c); + f.crossTileID || + ((f.crossTileID = r.generate()), + (i[f.crossTileID] = !0)); + } + return ( + void 0 === this.indexes[t.overscaledZ] && + (this.indexes[t.overscaledZ] = {}), + (this.indexes[t.overscaledZ][t.key] = new Ne( + t, + e.symbolInstances, + e.bucketInstanceId, + )), + !0 + ); + }), + (Ue.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 + ]; + } + }), + (Ue.prototype.removeStaleBuckets = function (t) { + var e = !1; + for (var r in this.indexes) { + var n = this.indexes[r]; + for (var i in n) + t[n[i].bucketInstanceId] || + (this.removeBucketCrossTileIDs(r, n[i]), + delete n[i], + (e = !0)); + } + return e; + }); + var Ve = function () { + (this.layerIndexes = {}), + (this.crossTileIDs = new je()), + (this.maxBucketInstanceId = 0), + (this.bucketsInCurrentPlacement = {}); + }; + (Ve.prototype.addLayer = function (t, e, r) { + var n = this.layerIndexes[t.id]; + void 0 === n && + (n = this.layerIndexes[t.id] = new Ue()); + var i = !1, + a = {}; + n.handleWrapJump(r); + for (var o = 0, s = e; o < s.length; o += 1) { + var l = s[o], + u = l.getBucket(t); + u && + t.id === u.layerIds[0] && + (u.bucketInstanceId || + (u.bucketInstanceId = ++this + .maxBucketInstanceId), + n.addBucket(l.tileID, u, this.crossTileIDs) && + (i = !0), + (a[u.bucketInstanceId] = !0)); + } + return n.removeStaleBuckets(a) && (i = !0), i; + }), + (Ve.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]; + }); + var He = function (e, r) { + return t.emitValidationErrors( + e, + r && + r.filter(function (t) { + return "source.canvas" !== t.identifier; + }), + ); + }, + qe = t.pick(Ht, [ + "addLayer", + "removeLayer", + "setPaintProperty", + "setLayoutProperty", + "setFilter", + "addSource", + "removeSource", + "setLayerZoomRange", + "setLight", + "setTransition", + "setGeoJSONSourceData", + ]), + Ge = t.pick(Ht, [ + "setCenter", + "setZoom", + "setBearing", + "setPitch", + ]), + Ze = (function () { + var e = {}, + r = t.styleSpec.$version; + for (var n in t.styleSpec.$root) { + var i = t.styleSpec.$root[n]; + if (i.required) { + var a; + null != + (a = + "version" === n + ? r + : "array" === i.type + ? [] + : {}) && (e[n] = a); + } + } + return e; + })(), + We = (function (e) { + function r(n, i) { + var a = this; + void 0 === i && (i = {}), + e.call(this), + (this.map = n), + (this.dispatcher = new A(jt(), this)), + (this.imageManager = new h()), + this.imageManager.setEventedParent(this), + (this.glyphManager = new x( + n._requestManager, + i.localIdeographFontFamily, + )), + (this.lineAtlas = new k(256, 512)), + (this.crossTileSymbolIndex = new Ve()), + (this._layers = {}), + (this._serializedLayers = {}), + (this._order = []), + (this.sourceCaches = {}), + (this.zoomHistory = new t.ZoomHistory()), + (this._loaded = !1), + (this._availableImages = []), + this._resetUpdates(), + this.dispatcher.broadcast( + "setReferrer", + t.getReferrer(), + ); + var o = this; + (this._rtlTextPluginCallback = + r.registerForPluginStateChange( + function (e) { + var r = { + pluginStatus: e.pluginStatus, + pluginURL: e.pluginURL, + }; + o.dispatcher.broadcast( + "syncRTLPluginState", + r, + function (e, r) { + if ( + (t.triggerPluginCompletionEvent( + e, + ), + r && + r.every(function (t) { + return t; + })) + ) + for (var n in o.sourceCaches) + o.sourceCaches[n].reload(); + }, + ); + }, + )), + this.on("data", function (t) { + if ( + "source" === t.dataType && + "metadata" === t.sourceDataType + ) { + var e = a.sourceCaches[t.sourceId]; + if (e) { + var r = e.getSource(); + if (r && r.vectorLayerIds) + for (var n in a._layers) { + var i = a._layers[n]; + i.source === r.id && + a._validateLayer(i); + } + } + } + }); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create( + e && e.prototype, + )), + (r.prototype.constructor = r), + (r.prototype.loadURL = function (e, r) { + var n = this; + void 0 === r && (r = {}), + this.fire( + new t.Event("dataloading", { + dataType: "style", + }), + ); + var i = + "boolean" == typeof r.validate + ? r.validate + : !t.isMapboxURL(e); + e = + this.map._requestManager.normalizeStyleURL( + e, + r.accessToken, + ); + var a = + this.map._requestManager.transformRequest( + e, + t.ResourceType.Style, + ); + this._request = t.getJSON( + a, + function (e, r) { + (n._request = null), + e + ? n.fire(new t.ErrorEvent(e)) + : r && n._load(r, i); + }, + ); + }), + (r.prototype.loadJSON = function (e, r) { + var n = this; + void 0 === r && (r = {}), + this.fire( + new t.Event("dataloading", { + dataType: "style", + }), + ), + (this._request = t.browser.frame( + function () { + (n._request = null), + n._load(e, !1 !== r.validate); + }, + )); + }), + (r.prototype.loadEmpty = function () { + this.fire( + new t.Event("dataloading", { + dataType: "style", + }), + ), + this._load(Ze, !1); + }), + (r.prototype._load = function (e, r) { + if (!r || !He(this, t.validateStyle(e))) { + for (var n in ((this._loaded = !0), + (this.stylesheet = e), + e.sources)) + this.addSource(n, e.sources[n], { + validate: !1, + }); + e.sprite + ? this._loadSprite(e.sprite) + : this.imageManager.setLoaded(!0), + this.glyphManager.setURL(e.glyphs); + var i = Vt(this.stylesheet.layers); + (this._order = i.map(function (t) { + return t.id; + })), + (this._layers = {}), + (this._serializedLayers = {}); + for ( + var a = 0, o = i; + a < o.length; + a += 1 + ) { + var s = o[a]; + (s = + t.createStyleLayer( + s, + )).setEventedParent(this, { + layer: { id: s.id }, + }), + (this._layers[s.id] = s), + (this._serializedLayers[s.id] = + s.serialize()); + } + this.dispatcher.broadcast( + "setLayers", + this._serializeLayers(this._order), + ), + (this.light = new T( + this.stylesheet.light, + )), + this.fire( + new t.Event("data", { + dataType: "style", + }), + ), + this.fire(new t.Event("style.load")); + } + }), + (r.prototype._loadSprite = function (e) { + var r = this; + this._spriteRequest = (function (e, r, n) { + var i, + a, + o, + s = + t.browser.devicePixelRatio > 1 + ? "@2x" + : "", + l = t.getJSON( + r.transformRequest( + r.normalizeSpriteURL(e, s, ".json"), + t.ResourceType.SpriteJSON, + ), + function (t, e) { + (l = null), + o || ((o = t), (i = e), c()); + }, + ), + u = t.getImage( + r.transformRequest( + r.normalizeSpriteURL(e, s, ".png"), + t.ResourceType.SpriteImage, + ), + function (t, e) { + (u = null), + o || ((o = t), (a = e), c()); + }, + ); + function c() { + if (o) n(o); + else if (i && a) { + var e = t.browser.getImageData(a), + r = {}; + for (var s in i) { + var l = i[s], + u = l.width, + c = l.height, + f = l.x, + h = l.y, + p = l.sdf, + d = l.pixelRatio, + v = l.stretchX, + g = l.stretchY, + y = l.content, + m = new t.RGBAImage({ + width: u, + height: c, + }); + t.RGBAImage.copy( + e, + m, + { x: f, y: h }, + { x: 0, y: 0 }, + { width: u, height: c }, + ), + (r[s] = { + data: m, + pixelRatio: d, + sdf: p, + stretchX: v, + stretchY: g, + content: y, + }); + } + n(null, r); + } + } + return { + cancel: function () { + l && (l.cancel(), (l = null)), + u && (u.cancel(), (u = null)); + }, + }; + })( + e, + this.map._requestManager, + function (e, n) { + if (((r._spriteRequest = null), e)) + r.fire(new t.ErrorEvent(e)); + else if (n) + for (var i in n) + r.imageManager.addImage(i, n[i]); + r.imageManager.setLoaded(!0), + (r._availableImages = + r.imageManager.listImages()), + r.dispatcher.broadcast( + "setImages", + r._availableImages, + ), + r.fire( + new t.Event("data", { + dataType: "style", + }), + ); + }, + ); + }), + (r.prototype._validateLayer = function (e) { + var r = this.sourceCaches[e.source]; + if (r) { + var n = e.sourceLayer; + if (n) { + var i = r.getSource(); + ("geojson" === i.type || + (i.vectorLayerIds && + -1 === + i.vectorLayerIds.indexOf(n))) && + this.fire( + new t.ErrorEvent( + new Error( + 'Source layer "' + + n + + '" does not exist on source "' + + i.id + + '" as specified by style layer "' + + e.id + + '"', + ), + ), + ); + } + } + }), + (r.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(); + }), + (r.prototype._serializeLayers = function (t) { + for ( + var e = [], r = 0, n = t; + r < n.length; + r += 1 + ) { + var i = n[r], + a = this._layers[i]; + "custom" !== a.type && + e.push(a.serialize()); + } + return e; + }), + (r.prototype.hasTransitions = function () { + if ( + this.light && + this.light.hasTransition() + ) + return !0; + for (var t in this.sourceCaches) + if (this.sourceCaches[t].hasTransition()) + return !0; + for (var e in this._layers) + if (this._layers[e].hasTransition()) + return !0; + return !1; + }), + (r.prototype._checkLoaded = function () { + if (!this._loaded) + throw new Error( + "Style is not done loading", + ); + }), + (r.prototype.update = function (e) { + if (this._loaded) { + var r = this._changed; + if (this._changed) { + var n = Object.keys( + this._updatedLayers, + ), + i = Object.keys(this._removedLayers); + for (var a in ((n.length || i.length) && + this._updateWorkerLayers(n, i), + this._updatedSources)) { + var o = this._updatedSources[a]; + "reload" === o + ? this._reloadSource(a) + : "clear" === o && + this._clearSource(a); + } + for (var s in (this._updateTilesForChangedImages(), + this._updatedPaintProps)) + this._layers[s].updateTransitions(e); + this.light.updateTransitions(e), + this._resetUpdates(); + } + for (var l in this.sourceCaches) + this.sourceCaches[l].used = !1; + for ( + var u = 0, c = this._order; + u < c.length; + u += 1 + ) { + var f = c[u], + h = this._layers[f]; + h.recalculate(e, this._availableImages), + !h.isHidden(e.zoom) && + h.source && + (this.sourceCaches[h.source].used = + !0); + } + this.light.recalculate(e), + (this.z = e.zoom), + r && + this.fire( + new t.Event("data", { + dataType: "style", + }), + ); + } + }), + (r.prototype._updateTilesForChangedImages = + function () { + var t = Object.keys(this._changedImages); + if (t.length) { + for (var e in this.sourceCaches) + this.sourceCaches[ + e + ].reloadTilesForDependencies( + ["icons", "patterns"], + t, + ); + this._changedImages = {}; + } + }), + (r.prototype._updateWorkerLayers = function ( + t, + e, + ) { + this.dispatcher.broadcast("updateLayers", { + layers: this._serializeLayers(t), + removedIds: e, + }); + }), + (r.prototype._resetUpdates = function () { + (this._changed = !1), + (this._updatedLayers = {}), + (this._removedLayers = {}), + (this._updatedSources = {}), + (this._updatedPaintProps = {}), + (this._changedImages = {}); + }), + (r.prototype.setState = function (e) { + var r = this; + if ( + (this._checkLoaded(), + He(this, t.validateStyle(e))) + ) + return !1; + (e = t.clone$1(e)).layers = Vt(e.layers); + var n = Kt(this.serialize(), e).filter( + function (t) { + return !(t.command in Ge); + }, + ); + if (0 === n.length) return !1; + var i = n.filter(function (t) { + return !(t.command in qe); + }); + if (i.length > 0) + throw new Error( + "Unimplemented: " + + i + .map(function (t) { + return t.command; + }) + .join(", ") + + ".", + ); + return ( + n.forEach(function (t) { + "setTransition" !== t.command && + r[t.command].apply(r, t.args); + }), + (this.stylesheet = e), + !0 + ); + }), + (r.prototype.addImage = function (e, r) { + if (this.getImage(e)) + return this.fire( + new t.ErrorEvent( + new Error( + "An image with this name already exists.", + ), + ), + ); + this.imageManager.addImage(e, r), + (this._availableImages = + this.imageManager.listImages()), + (this._changedImages[e] = !0), + (this._changed = !0), + this.fire( + new t.Event("data", { + dataType: "style", + }), + ); + }), + (r.prototype.updateImage = function (t, e) { + this.imageManager.updateImage(t, e); + }), + (r.prototype.getImage = function (t) { + return this.imageManager.getImage(t); + }), + (r.prototype.removeImage = function (e) { + if (!this.getImage(e)) + return this.fire( + new t.ErrorEvent( + new Error( + "No image with this name exists.", + ), + ), + ); + this.imageManager.removeImage(e), + (this._availableImages = + this.imageManager.listImages()), + (this._changedImages[e] = !0), + (this._changed = !0), + this.fire( + new t.Event("data", { + dataType: "style", + }), + ); + }), + (r.prototype.listImages = function () { + return ( + this._checkLoaded(), + this.imageManager.listImages() + ); + }), + (r.prototype.addSource = function (e, r, n) { + var i = this; + if ( + (void 0 === n && (n = {}), + this._checkLoaded(), + void 0 !== this.sourceCaches[e]) + ) + throw new Error( + "There is already a source with this ID", + ); + if (!r.type) + throw new Error( + "The type property must be defined, but the only the following properties were given: " + + Object.keys(r).join(", ") + + ".", + ); + if ( + !( + [ + "vector", + "raster", + "geojson", + "video", + "image", + ].indexOf(r.type) >= 0 && + this._validate( + t.validateStyle.source, + "sources." + e, + r, + null, + n, + ) + ) + ) { + this.map && + this.map._collectResourceTiming && + (r.collectResourceTiming = !0); + var a = (this.sourceCaches[e] = new Pt( + e, + r, + this.dispatcher, + )); + (a.style = this), + a.setEventedParent(this, function () { + return { + isSourceLoaded: i.loaded(), + source: a.serialize(), + sourceId: e, + }; + }), + a.onAdd(this.map), + (this._changed = !0); + } + }), + (r.prototype.removeSource = function (e) { + if ( + (this._checkLoaded(), + void 0 === this.sourceCaches[e]) + ) + throw new Error( + "There is no source with this ID", + ); + for (var r in this._layers) + if (this._layers[r].source === e) + return this.fire( + new t.ErrorEvent( + new Error( + 'Source "' + + e + + '" cannot be removed while layer "' + + r + + '" is using it.', + ), + ), + ); + var n = this.sourceCaches[e]; + delete this.sourceCaches[e], + delete this._updatedSources[e], + n.fire( + new t.Event("data", { + sourceDataType: "metadata", + dataType: "source", + sourceId: e, + }), + ), + n.setEventedParent(null), + n.clearTiles(), + n.onRemove && n.onRemove(this.map), + (this._changed = !0); + }), + (r.prototype.setGeoJSONSourceData = function ( + t, + e, + ) { + this._checkLoaded(), + this.sourceCaches[t] + .getSource() + .setData(e), + (this._changed = !0); + }), + (r.prototype.getSource = function (t) { + return ( + this.sourceCaches[t] && + this.sourceCaches[t].getSource() + ); + }), + (r.prototype.addLayer = function (e, r, n) { + void 0 === n && (n = {}), + this._checkLoaded(); + var i = e.id; + if (this.getLayer(i)) + this.fire( + new t.ErrorEvent( + new Error( + 'Layer with id "' + + i + + '" already exists on this map', + ), + ), + ); + else { + var a; + if ("custom" === e.type) { + if ( + He( + this, + t.validateCustomStyleLayer(e), + ) + ) + return; + a = t.createStyleLayer(e); + } else { + if ( + ("object" == typeof e.source && + (this.addSource(i, e.source), + (e = t.clone$1(e)), + (e = t.extend(e, { source: i }))), + this._validate( + t.validateStyle.layer, + "layers." + i, + e, + { arrayIndex: -1 }, + n, + )) + ) + return; + (a = t.createStyleLayer(e)), + this._validateLayer(a), + a.setEventedParent(this, { + layer: { id: i }, + }), + (this._serializedLayers[a.id] = + a.serialize()); + } + var o = r + ? this._order.indexOf(r) + : this._order.length; + if (r && -1 === o) + this.fire( + new t.ErrorEvent( + new Error( + 'Layer with id "' + + r + + '" does not exist on this map.', + ), + ), + ); + else { + if ( + (this._order.splice(o, 0, i), + (this._layerOrderChanged = !0), + (this._layers[i] = a), + this._removedLayers[i] && + a.source && + "custom" !== a.type) + ) { + var s = this._removedLayers[i]; + delete this._removedLayers[i], + s.type !== a.type + ? (this._updatedSources[ + a.source + ] = "clear") + : ((this._updatedSources[ + a.source + ] = "reload"), + this.sourceCaches[ + a.source + ].pause()); + } + this._updateLayer(a), + a.onAdd && a.onAdd(this.map); + } + } + }), + (r.prototype.moveLayer = function (e, r) { + if ( + (this._checkLoaded(), + (this._changed = !0), + this._layers[e]) + ) { + if (e !== r) { + var n = this._order.indexOf(e); + this._order.splice(n, 1); + var i = r + ? this._order.indexOf(r) + : this._order.length; + r && -1 === i + ? this.fire( + new t.ErrorEvent( + new Error( + 'Layer with id "' + + r + + '" does not exist on this map.', + ), + ), + ) + : (this._order.splice(i, 0, e), + (this._layerOrderChanged = !0)); + } + } else + this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style and cannot be moved.", + ), + ), + ); + }), + (r.prototype.removeLayer = function (e) { + this._checkLoaded(); + var r = this._layers[e]; + if (r) { + r.setEventedParent(null); + var n = this._order.indexOf(e); + this._order.splice(n, 1), + (this._layerOrderChanged = !0), + (this._changed = !0), + (this._removedLayers[e] = r), + delete this._layers[e], + delete this._serializedLayers[e], + delete this._updatedLayers[e], + delete this._updatedPaintProps[e], + r.onRemove && r.onRemove(this.map); + } else + this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style and cannot be removed.", + ), + ), + ); + }), + (r.prototype.getLayer = function (t) { + return this._layers[t]; + }), + (r.prototype.hasLayer = function (t) { + return t in this._layers; + }), + (r.prototype.setLayerZoomRange = function ( + e, + r, + n, + ) { + this._checkLoaded(); + var i = this.getLayer(e); + i + ? (i.minzoom === r && i.maxzoom === n) || + (null != r && (i.minzoom = r), + null != n && (i.maxzoom = n), + this._updateLayer(i)) + : this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style and cannot have zoom extent.", + ), + ), + ); + }), + (r.prototype.setFilter = function (e, r, n) { + void 0 === n && (n = {}), + this._checkLoaded(); + var i = this.getLayer(e); + if (i) { + if (!t.deepEqual(i.filter, r)) + return null == r + ? ((i.filter = void 0), + void this._updateLayer(i)) + : void ( + this._validate( + t.validateStyle.filter, + "layers." + i.id + ".filter", + r, + null, + n, + ) || + ((i.filter = t.clone$1(r)), + this._updateLayer(i)) + ); + } else + this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style and cannot be filtered.", + ), + ), + ); + }), + (r.prototype.getFilter = function (e) { + return t.clone$1(this.getLayer(e).filter); + }), + (r.prototype.setLayoutProperty = function ( + e, + r, + n, + i, + ) { + void 0 === i && (i = {}), + this._checkLoaded(); + var a = this.getLayer(e); + a + ? t.deepEqual( + a.getLayoutProperty(r), + n, + ) || + (a.setLayoutProperty(r, n, i), + this._updateLayer(a)) + : this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style and cannot be styled.", + ), + ), + ); + }), + (r.prototype.getLayoutProperty = function ( + e, + r, + ) { + var n = this.getLayer(e); + if (n) return n.getLayoutProperty(r); + this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style.", + ), + ), + ); + }), + (r.prototype.setPaintProperty = function ( + e, + r, + n, + i, + ) { + void 0 === i && (i = {}), + this._checkLoaded(); + var a = this.getLayer(e); + a + ? t.deepEqual(a.getPaintProperty(r), n) || + (a.setPaintProperty(r, n, i) && + this._updateLayer(a), + (this._changed = !0), + (this._updatedPaintProps[e] = !0)) + : this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style and cannot be styled.", + ), + ), + ); + }), + (r.prototype.getPaintProperty = function ( + t, + e, + ) { + return this.getLayer(t).getPaintProperty(e); + }), + (r.prototype.setFeatureState = function ( + e, + r, + ) { + this._checkLoaded(); + var n = e.source, + i = e.sourceLayer, + a = this.sourceCaches[n]; + if (void 0 !== a) { + var o = a.getSource().type; + "geojson" === o && i + ? this.fire( + new t.ErrorEvent( + new Error( + "GeoJSON sources cannot have a sourceLayer parameter.", + ), + ), + ) + : "vector" !== o || i + ? (void 0 === e.id && + this.fire( + new t.ErrorEvent( + new Error( + "The feature id parameter must be provided.", + ), + ), + ), + a.setFeatureState(i, e.id, r)) + : this.fire( + new t.ErrorEvent( + new Error( + "The sourceLayer parameter must be provided for vector source types.", + ), + ), + ); + } else + this.fire( + new t.ErrorEvent( + new Error( + "The source '" + + n + + "' does not exist in the map's style.", + ), + ), + ); + }), + (r.prototype.removeFeatureState = function ( + e, + r, + ) { + this._checkLoaded(); + var n = e.source, + i = this.sourceCaches[n]; + if (void 0 !== i) { + var a = i.getSource().type, + o = + "vector" === a + ? e.sourceLayer + : void 0; + "vector" !== a || o + ? r && + "string" != typeof e.id && + "number" != typeof e.id + ? this.fire( + new t.ErrorEvent( + new Error( + "A feature id is requred to remove its specific state property.", + ), + ), + ) + : i.removeFeatureState(o, e.id, r) + : this.fire( + new t.ErrorEvent( + new Error( + "The sourceLayer parameter must be provided for vector source types.", + ), + ), + ); + } else + this.fire( + new t.ErrorEvent( + new Error( + "The source '" + + n + + "' does not exist in the map's style.", + ), + ), + ); + }), + (r.prototype.getFeatureState = function (e) { + this._checkLoaded(); + var r = e.source, + n = e.sourceLayer, + i = this.sourceCaches[r]; + if (void 0 !== i) { + if ("vector" !== i.getSource().type || n) + return ( + void 0 === e.id && + this.fire( + new t.ErrorEvent( + new Error( + "The feature id parameter must be provided.", + ), + ), + ), + i.getFeatureState(n, e.id) + ); + this.fire( + new t.ErrorEvent( + new Error( + "The sourceLayer parameter must be provided for vector source types.", + ), + ), + ); + } else + this.fire( + new t.ErrorEvent( + new Error( + "The source '" + + r + + "' does not exist in the map's style.", + ), + ), + ); + }), + (r.prototype.getTransition = function () { + return t.extend( + { duration: 300, delay: 0 }, + this.stylesheet && + this.stylesheet.transition, + ); + }), + (r.prototype.serialize = function () { + return t.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: t.mapObject( + this.sourceCaches, + function (t) { + return t.serialize(); + }, + ), + layers: this._serializeLayers( + this._order, + ), + }, + function (t) { + return void 0 !== t; + }, + ); + }), + (r.prototype._updateLayer = function (t) { + (this._updatedLayers[t.id] = !0), + t.source && + !this._updatedSources[t.source] && + "raster" !== + this.sourceCaches[ + t.source + ].getSource().type && + ((this._updatedSources[t.source] = + "reload"), + this.sourceCaches[t.source].pause()), + (this._changed = !0); + }), + (r.prototype._flattenAndSortRenderedFeatures = + function (t) { + for ( + var e = this, + r = function (t) { + return ( + "fill-extrusion" === + e._layers[t].type + ); + }, + n = {}, + i = [], + a = this._order.length - 1; + a >= 0; + a-- + ) { + var o = this._order[a]; + if (r(o)) { + n[o] = a; + for ( + var s = 0, l = t; + s < l.length; + s += 1 + ) { + var u = l[s][o]; + if (u) + for ( + var c = 0, f = u; + c < f.length; + c += 1 + ) { + var h = f[c]; + i.push(h); + } + } + } + } + i.sort(function (t, e) { + return ( + e.intersectionZ - t.intersectionZ + ); + }); + for ( + var p = [], d = this._order.length - 1; + d >= 0; + d-- + ) { + var v = this._order[d]; + if (r(v)) + for ( + var g = i.length - 1; + g >= 0; + g-- + ) { + var y = i[g].feature; + if (n[y.layer.id] < d) break; + p.push(y), i.pop(); + } + else + for ( + var m = 0, x = t; + m < x.length; + m += 1 + ) { + var b = x[m][v]; + if (b) + for ( + var _ = 0, w = b; + _ < w.length; + _ += 1 + ) { + var T = w[_]; + p.push(T.feature); + } + } + } + return p; + }), + (r.prototype.queryRenderedFeatures = + function (e, r, n) { + r && + r.filter && + this._validate( + t.validateStyle.filter, + "queryRenderedFeatures.filter", + r.filter, + null, + r, + ); + var i = {}; + if (r && r.layers) { + if (!Array.isArray(r.layers)) + return ( + this.fire( + new t.ErrorEvent( + new Error( + "parameters.layers must be an Array.", + ), + ), + ), + [] + ); + for ( + var a = 0, o = r.layers; + a < o.length; + a += 1 + ) { + var s = o[a], + l = this._layers[s]; + if (!l) + return ( + this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + s + + "' does not exist in the map's style and cannot be queried for features.", + ), + ), + ), + [] + ); + i[l.source] = !0; + } + } + var u = []; + for (var c in ((r.availableImages = + this._availableImages), + this.sourceCaches)) + (r.layers && !i[c]) || + u.push( + B( + this.sourceCaches[c], + this._layers, + this._serializedLayers, + e, + r, + n, + ), + ); + return ( + this.placement && + u.push( + (function (t, e, r, n, i, a, o) { + for ( + var s = {}, + l = a.queryRenderedSymbols(n), + u = [], + c = 0, + f = + Object.keys(l).map(Number); + c < f.length; + c += 1 + ) { + var h = f[c]; + u.push(o[h]); + } + u.sort(N); + for ( + var p = function () { + var r = v[d], + n = + r.featureIndex.lookupSymbolFeatures( + l[r.bucketInstanceId], + e, + r.bucketIndex, + r.sourceLayerIndex, + i.filter, + i.layers, + i.availableImages, + t, + ); + for (var a in n) { + var o = (s[a] = + s[a] || []), + u = n[a]; + u.sort(function (t, e) { + var n = + r.featureSortOrder; + if (n) { + var i = n.indexOf( + t.featureIndex, + ); + return ( + n.indexOf( + e.featureIndex, + ) - i + ); + } + return ( + e.featureIndex - + t.featureIndex + ); + }); + for ( + var c = 0, f = u; + c < f.length; + c += 1 + ) { + var h = f[c]; + o.push(h); + } + } + }, + d = 0, + v = u; + d < v.length; + d += 1 + ) + p(); + var g = function (e) { + s[e].forEach(function (n) { + var i = n.feature, + a = t[e], + o = r[ + a.source + ].getFeatureState( + i.layer["source-layer"], + i.id, + ); + (i.source = i.layer.source), + i.layer["source-layer"] && + (i.sourceLayer = + i.layer[ + "source-layer" + ]), + (i.state = o); + }); + }; + for (var y in s) g(y); + return s; + })( + this._layers, + this._serializedLayers, + this.sourceCaches, + e, + r, + this.placement.collisionIndex, + this.placement.retainedQueryData, + ), + ), + this._flattenAndSortRenderedFeatures(u) + ); + }), + (r.prototype.querySourceFeatures = function ( + e, + r, + ) { + r && + r.filter && + this._validate( + t.validateStyle.filter, + "querySourceFeatures.filter", + r.filter, + null, + r, + ); + var n = this.sourceCaches[e]; + return n + ? (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; + })(n, r) + : []; + }), + (r.prototype.addSourceType = function ( + t, + e, + n, + ) { + return r.getSourceType(t) + ? n( + new Error( + 'A source type called "' + + t + + '" already exists.', + ), + ) + : (r.setSourceType(t, e), + e.workerSourceURL + ? void this.dispatcher.broadcast( + "loadWorkerSource", + { + name: t, + url: e.workerSourceURL, + }, + n, + ) + : n(null, null)); + }), + (r.prototype.getLight = function () { + return this.light.getLight(); + }), + (r.prototype.setLight = function (e, r) { + void 0 === r && (r = {}), + this._checkLoaded(); + var n = this.light.getLight(), + i = !1; + for (var a in e) + if (!t.deepEqual(e[a], n[a])) { + i = !0; + break; + } + if (i) { + var o = { + now: t.browser.now(), + transition: t.extend( + { duration: 300, delay: 0 }, + this.stylesheet.transition, + ), + }; + this.light.setLight(e, r), + this.light.updateTransitions(o); + } + }), + (r.prototype._validate = function ( + e, + r, + n, + i, + a, + ) { + return ( + void 0 === a && (a = {}), + (!a || !1 !== a.validate) && + He( + this, + e.call( + t.validateStyle, + t.extend( + { + key: r, + style: this.serialize(), + value: n, + styleSpec: t.styleSpec, + }, + i, + ), + ), + ) + ); + }), + (r.prototype._remove = function () { + for (var e in (this._request && + (this._request.cancel(), + (this._request = null)), + this._spriteRequest && + (this._spriteRequest.cancel(), + (this._spriteRequest = null)), + t.evented.off( + "pluginStateChange", + this._rtlTextPluginCallback, + ), + this._layers)) + this._layers[e].setEventedParent(null); + for (var r in this.sourceCaches) + this.sourceCaches[r].clearTiles(), + this.sourceCaches[r].setEventedParent( + null, + ); + this.imageManager.setEventedParent(null), + this.setEventedParent(null), + this.dispatcher.remove(); + }), + (r.prototype._clearSource = function (t) { + this.sourceCaches[t].clearTiles(); + }), + (r.prototype._reloadSource = function (t) { + this.sourceCaches[t].resume(), + this.sourceCaches[t].reload(); + }), + (r.prototype._updateSources = function (t) { + for (var e in this.sourceCaches) + this.sourceCaches[e].update(t); + }), + (r.prototype._generateCollisionBoxes = + function () { + for (var t in this.sourceCaches) + this._reloadSource(t); + }), + (r.prototype._updatePlacement = function ( + e, + r, + n, + i, + a, + ) { + void 0 === a && (a = !1); + for ( + var o = !1, + s = !1, + l = {}, + u = 0, + c = this._order; + u < c.length; + u += 1 + ) { + var f = c[u], + h = this._layers[f]; + if ("symbol" === h.type) { + if (!l[h.source]) { + var p = this.sourceCaches[h.source]; + l[h.source] = p + .getRenderableIds(!0) + .map(function (t) { + return p.getTileByID(t); + }) + .sort(function (t, e) { + return ( + e.tileID.overscaledZ - + t.tileID.overscaledZ || + (t.tileID.isLessThan(e.tileID) + ? -1 + : 1) + ); + }); + } + var d = + this.crossTileSymbolIndex.addLayer( + h, + l[h.source], + e.center.lng, + ); + o = o || d; + } + } + if ( + (this.crossTileSymbolIndex.pruneUnusedLayers( + this._order, + ), + ((a = + a || + this._layerOrderChanged || + 0 === n) || + !this.pauseablePlacement || + (this.pauseablePlacement.isDone() && + !this.placement.stillRecent( + t.browser.now(), + e.zoom, + ))) && + ((this.pauseablePlacement = new Fe( + e, + this._order, + a, + r, + n, + i, + this.placement, + )), + (this._layerOrderChanged = !1)), + this.pauseablePlacement.isDone() + ? this.placement.setStale() + : (this.pauseablePlacement.continuePlacement( + this._order, + this._layers, + l, + ), + this.pauseablePlacement.isDone() && + ((this.placement = + this.pauseablePlacement.commit( + t.browser.now(), + )), + (s = !0)), + o && + this.pauseablePlacement.placement.setStale()), + s || o) + ) + for ( + var v = 0, g = this._order; + v < g.length; + v += 1 + ) { + var y = g[v], + m = this._layers[y]; + "symbol" === m.type && + this.placement.updateLayerOpacities( + m, + l[m.source], + ); + } + return ( + !this.pauseablePlacement.isDone() || + this.placement.hasTransitions( + t.browser.now(), + ) + ); + }), + (r.prototype._releaseSymbolFadeTiles = + function () { + for (var t in this.sourceCaches) + this.sourceCaches[ + t + ].releaseSymbolFadeTiles(); + }), + (r.prototype.getImages = function (t, e, r) { + this.imageManager.getImages(e.icons, r), + this._updateTilesForChangedImages(); + var n = this.sourceCaches[e.source]; + n && + n.setDependencies( + e.tileID.key, + e.type, + e.icons, + ); + }), + (r.prototype.getGlyphs = function (t, e, r) { + this.glyphManager.getGlyphs(e.stacks, r); + }), + (r.prototype.getResource = function ( + e, + r, + n, + ) { + return t.makeRequest(r, n); + }), + r + ); + })(t.Evented); + (We.getSourceType = function (t) { + return R[t]; + }), + (We.setSourceType = function (t, e) { + R[t] = e; + }), + (We.registerForPluginStateChange = + t.registerForPluginStateChange); + var Ye = t.createLayout([ + { name: "a_pos", type: "Int16", components: 2 }, + ]), + Xe = _r( + "#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif", + "#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}", + ), + Je = _r( + "uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}", + ), + Ke = _r( + "uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);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);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);}", + ), + $e = _r( + "varying vec3 v_data;\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\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\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\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\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\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}", + ), + Qe = _r( + "void main() {gl_FragColor=vec4(1.0);}", + "attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}", + ), + tr = _r( + "uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}", + ), + er = _r( + "uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}", + ), + rr = _r( + "varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}", + "attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}", + ), + nr = _r( + "varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}", + "attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}", + ), + ir = _r( + "uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}", + "attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}", + ), + ar = _r( + "#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}", + ), + or = _r( + "varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}", + ), + sr = _r( + "uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}", + ), + lr = _r( + "uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}", + ), + ur = _r( + "varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}", + ), + cr = _r( + "uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}", + ), + fr = _r( + "#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform float u_maxzoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*exaggeration+19.2562-u_zoom);gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}", + ), + hr = _r( + "uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}", + ), + pr = _r( + "uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\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\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\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}", + ), + dr = _r( + "uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "\n#define MAX_LINE_DISTANCE 32767.0\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\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\nvoid main() {\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\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}", + ), + vr = _r( + "uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\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#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\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#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}", + ), + gr = _r( + "uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\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\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\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\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\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\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}", + ), + yr = _r( + "uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}", + ), + mr = _r( + "uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}", + ), + xr = _r( + "#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\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\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\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\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\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\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}", + ), + br = _r( + "#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\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\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\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}", + "const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\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\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\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}", + ); + function _r(t, e) { + var r = + /#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g, + n = {}; + return { + fragmentSource: (t = t.replace( + r, + function (t, e, r, i, a) { + return ( + (n[a] = !0), + "define" === e + ? "\n#ifndef HAS_UNIFORM_u_" + + a + + "\nvarying " + + r + + " " + + i + + " " + + a + + ";\n#else\nuniform " + + r + + " " + + i + + " u_" + + a + + ";\n#endif\n" + : "\n#ifdef HAS_UNIFORM_u_" + + a + + "\n " + + r + + " " + + i + + " " + + a + + " = u_" + + a + + ";\n#endif\n" + ); + }, + )), + vertexSource: (e = e.replace( + r, + function (t, e, r, i, a) { + var o = "float" === i ? "vec2" : "vec4", + s = a.match(/color/) ? "color" : o; + return n[a] + ? "define" === e + ? "\n#ifndef HAS_UNIFORM_u_" + + a + + "\nuniform lowp float u_" + + a + + "_t;\nattribute " + + r + + " " + + o + + " a_" + + a + + ";\nvarying " + + r + + " " + + i + + " " + + a + + ";\n#else\nuniform " + + r + + " " + + i + + " u_" + + a + + ";\n#endif\n" + : "vec4" === s + ? "\n#ifndef HAS_UNIFORM_u_" + + a + + "\n " + + a + + " = a_" + + a + + ";\n#else\n " + + r + + " " + + i + + " " + + a + + " = u_" + + a + + ";\n#endif\n" + : "\n#ifndef HAS_UNIFORM_u_" + + a + + "\n " + + a + + " = unpack_mix_" + + s + + "(a_" + + a + + ", u_" + + a + + "_t);\n#else\n " + + r + + " " + + i + + " " + + a + + " = u_" + + a + + ";\n#endif\n" + : "define" === e + ? "\n#ifndef HAS_UNIFORM_u_" + + a + + "\nuniform lowp float u_" + + a + + "_t;\nattribute " + + r + + " " + + o + + " a_" + + a + + ";\n#else\nuniform " + + r + + " " + + i + + " u_" + + a + + ";\n#endif\n" + : "vec4" === s + ? "\n#ifndef HAS_UNIFORM_u_" + + a + + "\n " + + r + + " " + + i + + " " + + a + + " = a_" + + a + + ";\n#else\n " + + r + + " " + + i + + " " + + a + + " = u_" + + a + + ";\n#endif\n" + : "\n#ifndef HAS_UNIFORM_u_" + + a + + "\n " + + r + + " " + + i + + " " + + a + + " = unpack_mix_" + + s + + "(a_" + + a + + ", u_" + + a + + "_t);\n#else\n " + + r + + " " + + i + + " " + + a + + " = u_" + + a + + ";\n#endif\n"; + }, + )), + }; + } + var wr = Object.freeze({ + __proto__: null, + prelude: Xe, + background: Je, + backgroundPattern: Ke, + circle: $e, + clippingMask: Qe, + heatmap: tr, + heatmapTexture: er, + collisionBox: rr, + collisionCircle: nr, + debug: ir, + fill: ar, + fillOutline: or, + fillOutlinePattern: sr, + fillPattern: lr, + fillExtrusion: ur, + fillExtrusionPattern: cr, + hillshadePrepare: fr, + hillshade: hr, + line: pr, + lineGradient: dr, + linePattern: vr, + lineSDF: gr, + raster: yr, + symbolIcon: mr, + symbolSDF: xr, + symbolTextAndIcon: br, + }), + Tr = function () { + (this.boundProgram = null), + (this.boundLayoutVertexBuffer = null), + (this.boundPaintVertexBuffers = []), + (this.boundIndexBuffer = null), + (this.boundVertexOffset = null), + (this.boundDynamicVertexBuffer = null), + (this.vao = null); + }; + (Tr.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()); + }), + (Tr.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 f = l; f < s; f++) + c.disableVertexAttribArray(f); + } + e.enableAttributes(c, t); + for (var h = 0, p = r; h < p.length; h += 1) + p[h].enableAttributes(c, t); + a && a.enableAttributes(c, t), + o && o.enableAttributes(c, t), + e.bind(), + e.setVertexAttribPointers(c, t, i); + for (var d = 0, v = r; d < v.length; d += 1) { + var g = v[d]; + g.bind(), g.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); + }), + (Tr.prototype.destroy = function () { + this.vao && + (this.context.extVertexArrayObject.deleteVertexArrayOES( + this.vao, + ), + (this.vao = null)); + }); + var kr = function (t, e, r, n, i) { + var a = t.gl; + this.program = a.createProgram(); + var o = r ? r.defines() : []; + i && o.push("#define OVERDRAW_INSPECTOR;"); + var s = o + .concat(Xe.fragmentSource, e.fragmentSource) + .join("\n"), + l = o + .concat(Xe.vertexSource, e.vertexSource) + .join("\n"), + u = a.createShader(a.FRAGMENT_SHADER); + if (a.isContextLost()) this.failedToCreate = !0; + else { + a.shaderSource(u, s), + a.compileShader(u), + a.attachShader(this.program, u); + var c = a.createShader(a.VERTEX_SHADER); + if (a.isContextLost()) this.failedToCreate = !0; + else { + a.shaderSource(c, l), + a.compileShader(c), + a.attachShader(this.program, c); + for ( + var f = r ? r.layoutAttributes : [], h = 0; + h < f.length; + h++ + ) + a.bindAttribLocation( + this.program, + h, + f[h].name, + ); + a.linkProgram(this.program), + a.deleteShader(c), + a.deleteShader(u), + (this.numAttributes = a.getProgramParameter( + this.program, + a.ACTIVE_ATTRIBUTES, + )), + (this.attributes = {}); + for ( + var p = {}, d = 0; + d < this.numAttributes; + d++ + ) { + var v = a.getActiveAttrib(this.program, d); + v && + (this.attributes[v.name] = + a.getAttribLocation( + this.program, + v.name, + )); + } + for ( + var g = a.getProgramParameter( + this.program, + a.ACTIVE_UNIFORMS, + ), + y = 0; + y < g; + y++ + ) { + var m = a.getActiveUniform(this.program, y); + m && + (p[m.name] = a.getUniformLocation( + this.program, + m.name, + )); + } + (this.fixedUniforms = n(t, p)), + (this.binderUniforms = r + ? r.getUniforms(t, p) + : []); + } + } + }; + function Ar(t, e, r) { + var n = 1 / ge(r, 1, e.transform.tileZoom), + i = Math.pow(2, r.tileID.overscaledZ), + a = + (r.tileSize * + Math.pow(2, e.transform.tileZoom)) / + i, + o = + a * + (r.tileID.canonical.x + r.tileID.wrap * i), + s = a * r.tileID.canonical.y; + return { + u_image: 0, + u_texsize: r.imageAtlasTexture.size, + u_scale: [n, t.fromScale, t.toScale], + u_fade: t.t, + u_pixel_coord_upper: [o >> 16, s >> 16], + u_pixel_coord_lower: [65535 & o, 65535 & s], + }; + } + kr.prototype.draw = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d, + v, + ) { + var g, + y = t.gl; + if (!this.failedToCreate) { + for (var m in (t.program.set(this.program), + t.setDepthMode(r), + t.setStencilMode(n), + t.setColorMode(i), + t.setCullFace(a), + this.fixedUniforms)) + this.fixedUniforms[m].set(o[m]); + p && + p.setUniforms(t, this.binderUniforms, f, { + zoom: h, + }); + for ( + var x = ((g = {}), + (g[y.LINES] = 2), + (g[y.TRIANGLES] = 3), + (g[y.LINE_STRIP] = 1), + g)[e], + b = 0, + _ = c.get(); + b < _.length; + b += 1 + ) { + var w = _[b], + T = w.vaos || (w.vaos = {}); + (T[s] || (T[s] = new Tr())).bind( + t, + this, + l, + p ? p.getPaintVertexBuffers() : [], + u, + w.vertexOffset, + d, + v, + ), + y.drawElements( + e, + w.primitiveLength * x, + y.UNSIGNED_SHORT, + w.primitiveOffset * x * 2, + ); + } + } + }; + var Mr = function (e, r, n, i) { + var a = r.style.light, + o = a.properties.get("position"), + s = [o.x, o.y, o.z], + l = t.create$1(); + "viewport" === a.properties.get("anchor") && + t.fromRotation(l, -r.transform.angle), + t.transformMat3(s, s, l); + var u = a.properties.get("color"); + return { + u_matrix: e, + u_lightpos: s, + u_lightintensity: + a.properties.get("intensity"), + u_lightcolor: [u.r, u.g, u.b], + u_vertical_gradient: +n, + u_opacity: i, + }; + }, + Sr = function (e, r, n, i, a, o, s) { + return t.extend(Mr(e, r, n, i), Ar(o, r, s), { + u_height_factor: + -Math.pow(2, a.overscaledZ) / + s.tileSize / + 8, + }); + }, + Er = function (t) { + return { u_matrix: t }; + }, + Lr = function (e, r, n, i) { + return t.extend(Er(e), Ar(n, r, i)); + }, + Cr = function (t, e) { + return { u_matrix: t, u_world: e }; + }, + Or = function (e, r, n, i, a) { + return t.extend(Lr(e, r, n, i), { u_world: a }); + }, + Pr = function (e, r, n, i) { + var a, + o, + s = e.transform; + if ( + "map" === + i.paint.get("circle-pitch-alignment") + ) { + var l = ge(n, 1, s.zoom); + (a = !0), (o = [l, l]); + } else (a = !1), (o = s.pixelsToGLUnits); + return { + u_camera_to_center_distance: + s.cameraToCenterDistance, + u_scale_with_map: +( + "map" === i.paint.get("circle-pitch-scale") + ), + u_matrix: e.translatePosMatrix( + r.posMatrix, + n, + i.paint.get("circle-translate"), + i.paint.get("circle-translate-anchor"), + ), + u_pitch_with_map: +a, + u_device_pixel_ratio: + t.browser.devicePixelRatio, + u_extrude_scale: o, + }; + }, + Ir = function (t, e, r) { + var n = ge(r, 1, e.zoom), + i = Math.pow( + 2, + e.zoom - r.tileID.overscaledZ, + ), + a = r.tileID.overscaleFactor(); + return { + u_matrix: t, + u_camera_to_center_distance: + e.cameraToCenterDistance, + u_pixels_to_tile_units: n, + u_extrude_scale: [ + e.pixelsToGLUnits[0] / (n * i), + e.pixelsToGLUnits[1] / (n * i), + ], + u_overscale_factor: a, + }; + }, + Dr = function (t, e, r) { + return { + u_matrix: t, + u_inv_matrix: e, + u_camera_to_center_distance: + r.cameraToCenterDistance, + u_viewport_size: [r.width, r.height], + }; + }, + zr = function (t, e, r) { + return ( + void 0 === r && (r = 1), + { + u_matrix: t, + u_color: e, + u_overlay: 0, + u_overlay_scale: r, + } + ); + }, + Rr = function (t) { + return { u_matrix: t }; + }, + Fr = function (t, e, r, n) { + return { + u_matrix: t, + u_extrude_scale: ge(e, 1, r), + u_intensity: n, + }; + }; + var Br = function (e, r, n) { + var i = e.transform; + return { + u_matrix: Hr(e, r, n), + u_ratio: 1 / ge(r, 1, i.zoom), + u_device_pixel_ratio: + t.browser.devicePixelRatio, + u_units_to_pixels: [ + 1 / i.pixelsToGLUnits[0], + 1 / i.pixelsToGLUnits[1], + ], + }; + }, + Nr = function (e, r, n) { + return t.extend(Br(e, r, n), { u_image: 0 }); + }, + jr = function (e, r, n, i) { + var a = e.transform, + o = Vr(r, a); + return { + u_matrix: Hr(e, r, n), + u_texsize: r.imageAtlasTexture.size, + u_ratio: 1 / ge(r, 1, a.zoom), + u_device_pixel_ratio: + t.browser.devicePixelRatio, + u_image: 0, + u_scale: [o, i.fromScale, i.toScale], + u_fade: i.t, + u_units_to_pixels: [ + 1 / a.pixelsToGLUnits[0], + 1 / a.pixelsToGLUnits[1], + ], + }; + }, + Ur = function (e, r, n, i, a) { + var o = e.transform, + s = e.lineAtlas, + l = Vr(r, o), + u = "round" === n.layout.get("line-cap"), + c = s.getDash(i.from, u), + f = s.getDash(i.to, u), + h = c.width * a.fromScale, + p = f.width * a.toScale; + return t.extend(Br(e, r, n), { + u_patternscale_a: [l / h, -c.height / 2], + u_patternscale_b: [l / p, -f.height / 2], + u_sdfgamma: + s.width / + (256 * + Math.min(h, p) * + t.browser.devicePixelRatio) / + 2, + u_image: 0, + u_tex_y_a: c.y, + u_tex_y_b: f.y, + u_mix: a.t, + }); + }; + function Vr(t, e) { + return 1 / ge(t, 1, e.tileZoom); + } + function Hr(t, e, r) { + return t.translatePosMatrix( + e.tileID.posMatrix, + e, + r.paint.get("line-translate"), + r.paint.get("line-translate-anchor"), + ); + } + var qr = function (t, e, r, n, i) { + return { + u_matrix: t, + u_tl_parent: e, + u_scale_parent: r, + u_buffer_scale: 1, + u_fade_t: n.mix, + u_opacity: + n.opacity * i.paint.get("raster-opacity"), + u_image0: 0, + u_image1: 1, + u_brightness_low: i.paint.get( + "raster-brightness-min", + ), + u_brightness_high: i.paint.get( + "raster-brightness-max", + ), + u_saturation_factor: + ((o = i.paint.get("raster-saturation")), + o > 0 ? 1 - 1 / (1.001 - o) : -o), + u_contrast_factor: + ((a = i.paint.get("raster-contrast")), + a > 0 ? 1 / (1 - a) : 1 + a), + u_spin_weights: Gr( + i.paint.get("raster-hue-rotate"), + ), + }; + var a, o; + }; + function Gr(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, + ]; + } + var Zr, + Wr = function (t, e, r, n, i, a, o, s, l, u) { + var c = i.transform; + return { + u_is_size_zoom_constant: +( + "constant" === t || "source" === t + ), + u_is_size_feature_constant: +( + "constant" === t || "camera" === t + ), + u_size_t: e ? e.uSizeT : 0, + u_size: e ? e.uSize : 0, + u_camera_to_center_distance: + c.cameraToCenterDistance, + u_pitch: (c.pitch / 360) * 2 * Math.PI, + u_rotate_symbol: +r, + u_aspect_ratio: c.width / c.height, + u_fade_change: i.options.fadeDuration + ? i.symbolFadeChange + : 1, + u_matrix: a, + u_label_plane_matrix: o, + u_coord_matrix: s, + u_is_text: +l, + u_pitch_with_map: +n, + u_texsize: u, + u_texture: 0, + }; + }, + Yr = function (e, r, n, i, a, o, s, l, u, c, f) { + var h = a.transform; + return t.extend( + Wr(e, r, n, i, a, o, s, l, u, c), + { + u_gamma_scale: i + ? Math.cos(h._pitch) * + h.cameraToCenterDistance + : 1, + u_device_pixel_ratio: + t.browser.devicePixelRatio, + u_is_halo: +f, + }, + ); + }, + Xr = function (e, r, n, i, a, o, s, l, u, c) { + return t.extend( + Yr(e, r, n, i, a, o, s, l, !0, u, !0), + { u_texsize_icon: c, u_texture_icon: 1 }, + ); + }, + Jr = function (t, e, r) { + return { + u_matrix: t, + u_opacity: e, + u_color: r, + }; + }, + Kr = function (e, r, n, i, a, o) { + return t.extend( + (function (t, e, r, n) { + var i = r.imageManager.getPattern( + t.from.toString(), + ), + a = r.imageManager.getPattern( + t.to.toString(), + ), + o = r.imageManager.getPixelSize(), + s = o.width, + l = o.height, + u = Math.pow(2, n.tileID.overscaledZ), + c = + (n.tileSize * + Math.pow(2, r.transform.tileZoom)) / + u, + f = + c * + (n.tileID.canonical.x + + n.tileID.wrap * u), + h = c * n.tileID.canonical.y; + return { + u_image: 0, + u_pattern_tl_a: i.tl, + u_pattern_br_a: i.br, + u_pattern_tl_b: a.tl, + u_pattern_br_b: a.br, + u_texsize: [s, l], + u_mix: e.t, + u_pattern_size_a: i.displaySize, + u_pattern_size_b: a.displaySize, + u_scale_a: e.fromScale, + u_scale_b: e.toScale, + u_tile_units_to_pixels: + 1 / ge(n, 1, r.transform.tileZoom), + u_pixel_coord_upper: [f >> 16, h >> 16], + u_pixel_coord_lower: [ + 65535 & f, + 65535 & h, + ], + }; + })(i, o, n, a), + { u_matrix: e, u_opacity: r }, + ); + }, + $r = { + fillExtrusion: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_lightpos: new t.Uniform3f( + e, + r.u_lightpos, + ), + u_lightintensity: new t.Uniform1f( + e, + r.u_lightintensity, + ), + u_lightcolor: new t.Uniform3f( + e, + r.u_lightcolor, + ), + u_vertical_gradient: new t.Uniform1f( + e, + r.u_vertical_gradient, + ), + u_opacity: new t.Uniform1f(e, r.u_opacity), + }; + }, + fillExtrusionPattern: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_lightpos: new t.Uniform3f( + e, + r.u_lightpos, + ), + u_lightintensity: new t.Uniform1f( + e, + r.u_lightintensity, + ), + u_lightcolor: new t.Uniform3f( + e, + r.u_lightcolor, + ), + u_vertical_gradient: new t.Uniform1f( + e, + r.u_vertical_gradient, + ), + u_height_factor: new t.Uniform1f( + e, + r.u_height_factor, + ), + u_image: new t.Uniform1i(e, r.u_image), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_pixel_coord_upper: new t.Uniform2f( + e, + r.u_pixel_coord_upper, + ), + u_pixel_coord_lower: new t.Uniform2f( + e, + r.u_pixel_coord_lower, + ), + u_scale: new t.Uniform3f(e, r.u_scale), + u_fade: new t.Uniform1f(e, r.u_fade), + u_opacity: new t.Uniform1f(e, r.u_opacity), + }; + }, + fill: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + }; + }, + fillPattern: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_image: new t.Uniform1i(e, r.u_image), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_pixel_coord_upper: new t.Uniform2f( + e, + r.u_pixel_coord_upper, + ), + u_pixel_coord_lower: new t.Uniform2f( + e, + r.u_pixel_coord_lower, + ), + u_scale: new t.Uniform3f(e, r.u_scale), + u_fade: new t.Uniform1f(e, r.u_fade), + }; + }, + fillOutline: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_world: new t.Uniform2f(e, r.u_world), + }; + }, + fillOutlinePattern: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_world: new t.Uniform2f(e, r.u_world), + u_image: new t.Uniform1i(e, r.u_image), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_pixel_coord_upper: new t.Uniform2f( + e, + r.u_pixel_coord_upper, + ), + u_pixel_coord_lower: new t.Uniform2f( + e, + r.u_pixel_coord_lower, + ), + u_scale: new t.Uniform3f(e, r.u_scale), + u_fade: new t.Uniform1f(e, r.u_fade), + }; + }, + circle: function (e, r) { + return { + u_camera_to_center_distance: + new t.Uniform1f( + e, + r.u_camera_to_center_distance, + ), + u_scale_with_map: new t.Uniform1i( + e, + r.u_scale_with_map, + ), + u_pitch_with_map: new t.Uniform1i( + e, + r.u_pitch_with_map, + ), + u_extrude_scale: new t.Uniform2f( + e, + r.u_extrude_scale, + ), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio, + ), + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + }; + }, + collisionBox: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_camera_to_center_distance: + new t.Uniform1f( + e, + r.u_camera_to_center_distance, + ), + u_pixels_to_tile_units: new t.Uniform1f( + e, + r.u_pixels_to_tile_units, + ), + u_extrude_scale: new t.Uniform2f( + e, + r.u_extrude_scale, + ), + u_overscale_factor: new t.Uniform1f( + e, + r.u_overscale_factor, + ), + }; + }, + collisionCircle: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_inv_matrix: new t.UniformMatrix4f( + e, + r.u_inv_matrix, + ), + u_camera_to_center_distance: + new t.Uniform1f( + e, + r.u_camera_to_center_distance, + ), + u_viewport_size: new t.Uniform2f( + e, + r.u_viewport_size, + ), + }; + }, + debug: function (e, r) { + return { + u_color: new t.UniformColor(e, r.u_color), + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_overlay: new t.Uniform1i(e, r.u_overlay), + u_overlay_scale: new t.Uniform1f( + e, + r.u_overlay_scale, + ), + }; + }, + clippingMask: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + }; + }, + heatmap: function (e, r) { + return { + u_extrude_scale: new t.Uniform1f( + e, + r.u_extrude_scale, + ), + u_intensity: new t.Uniform1f( + e, + r.u_intensity, + ), + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + }; + }, + heatmapTexture: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_world: new t.Uniform2f(e, r.u_world), + u_image: new t.Uniform1i(e, r.u_image), + u_color_ramp: new t.Uniform1i( + e, + r.u_color_ramp, + ), + u_opacity: new t.Uniform1f(e, r.u_opacity), + }; + }, + hillshade: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_image: new t.Uniform1i(e, r.u_image), + u_latrange: new t.Uniform2f( + e, + r.u_latrange, + ), + u_light: new t.Uniform2f(e, r.u_light), + u_shadow: new t.UniformColor(e, r.u_shadow), + u_highlight: new t.UniformColor( + e, + r.u_highlight, + ), + u_accent: new t.UniformColor(e, r.u_accent), + }; + }, + hillshadePrepare: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_image: new t.Uniform1i(e, r.u_image), + u_dimension: new t.Uniform2f( + e, + r.u_dimension, + ), + u_zoom: new t.Uniform1f(e, r.u_zoom), + u_maxzoom: new t.Uniform1f(e, r.u_maxzoom), + u_unpack: new t.Uniform4f(e, r.u_unpack), + }; + }, + line: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_ratio: new t.Uniform1f(e, r.u_ratio), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio, + ), + u_units_to_pixels: new t.Uniform2f( + e, + r.u_units_to_pixels, + ), + }; + }, + lineGradient: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_ratio: new t.Uniform1f(e, r.u_ratio), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio, + ), + u_units_to_pixels: new t.Uniform2f( + e, + r.u_units_to_pixels, + ), + u_image: new t.Uniform1i(e, r.u_image), + }; + }, + linePattern: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_ratio: new t.Uniform1f(e, r.u_ratio), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio, + ), + u_image: new t.Uniform1i(e, r.u_image), + u_units_to_pixels: new t.Uniform2f( + e, + r.u_units_to_pixels, + ), + u_scale: new t.Uniform3f(e, r.u_scale), + u_fade: new t.Uniform1f(e, r.u_fade), + }; + }, + lineSDF: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_ratio: new t.Uniform1f(e, r.u_ratio), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio, + ), + u_units_to_pixels: new t.Uniform2f( + e, + r.u_units_to_pixels, + ), + u_patternscale_a: new t.Uniform2f( + e, + r.u_patternscale_a, + ), + u_patternscale_b: new t.Uniform2f( + e, + r.u_patternscale_b, + ), + u_sdfgamma: new t.Uniform1f( + e, + r.u_sdfgamma, + ), + u_image: new t.Uniform1i(e, r.u_image), + u_tex_y_a: new t.Uniform1f(e, r.u_tex_y_a), + u_tex_y_b: new t.Uniform1f(e, r.u_tex_y_b), + u_mix: new t.Uniform1f(e, r.u_mix), + }; + }, + raster: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_tl_parent: new t.Uniform2f( + e, + r.u_tl_parent, + ), + u_scale_parent: new t.Uniform1f( + e, + r.u_scale_parent, + ), + u_buffer_scale: new t.Uniform1f( + e, + r.u_buffer_scale, + ), + u_fade_t: new t.Uniform1f(e, r.u_fade_t), + u_opacity: new t.Uniform1f(e, r.u_opacity), + u_image0: new t.Uniform1i(e, r.u_image0), + u_image1: new t.Uniform1i(e, r.u_image1), + u_brightness_low: new t.Uniform1f( + e, + r.u_brightness_low, + ), + u_brightness_high: new t.Uniform1f( + e, + r.u_brightness_high, + ), + u_saturation_factor: new t.Uniform1f( + e, + r.u_saturation_factor, + ), + u_contrast_factor: new t.Uniform1f( + e, + r.u_contrast_factor, + ), + u_spin_weights: new t.Uniform3f( + e, + r.u_spin_weights, + ), + }; + }, + symbolIcon: function (e, r) { + return { + u_is_size_zoom_constant: new t.Uniform1i( + e, + r.u_is_size_zoom_constant, + ), + u_is_size_feature_constant: new t.Uniform1i( + e, + r.u_is_size_feature_constant, + ), + u_size_t: new t.Uniform1f(e, r.u_size_t), + u_size: new t.Uniform1f(e, r.u_size), + u_camera_to_center_distance: + new t.Uniform1f( + e, + r.u_camera_to_center_distance, + ), + u_pitch: new t.Uniform1f(e, r.u_pitch), + u_rotate_symbol: new t.Uniform1i( + e, + r.u_rotate_symbol, + ), + u_aspect_ratio: new t.Uniform1f( + e, + r.u_aspect_ratio, + ), + u_fade_change: new t.Uniform1f( + e, + r.u_fade_change, + ), + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_label_plane_matrix: new t.UniformMatrix4f( + e, + r.u_label_plane_matrix, + ), + u_coord_matrix: new t.UniformMatrix4f( + e, + r.u_coord_matrix, + ), + u_is_text: new t.Uniform1i(e, r.u_is_text), + u_pitch_with_map: new t.Uniform1i( + e, + r.u_pitch_with_map, + ), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_texture: new t.Uniform1i(e, r.u_texture), + }; + }, + symbolSDF: function (e, r) { + return { + u_is_size_zoom_constant: new t.Uniform1i( + e, + r.u_is_size_zoom_constant, + ), + u_is_size_feature_constant: new t.Uniform1i( + e, + r.u_is_size_feature_constant, + ), + u_size_t: new t.Uniform1f(e, r.u_size_t), + u_size: new t.Uniform1f(e, r.u_size), + u_camera_to_center_distance: + new t.Uniform1f( + e, + r.u_camera_to_center_distance, + ), + u_pitch: new t.Uniform1f(e, r.u_pitch), + u_rotate_symbol: new t.Uniform1i( + e, + r.u_rotate_symbol, + ), + u_aspect_ratio: new t.Uniform1f( + e, + r.u_aspect_ratio, + ), + u_fade_change: new t.Uniform1f( + e, + r.u_fade_change, + ), + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_label_plane_matrix: new t.UniformMatrix4f( + e, + r.u_label_plane_matrix, + ), + u_coord_matrix: new t.UniformMatrix4f( + e, + r.u_coord_matrix, + ), + u_is_text: new t.Uniform1i(e, r.u_is_text), + u_pitch_with_map: new t.Uniform1i( + e, + r.u_pitch_with_map, + ), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_texture: new t.Uniform1i(e, r.u_texture), + u_gamma_scale: new t.Uniform1f( + e, + r.u_gamma_scale, + ), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio, + ), + u_is_halo: new t.Uniform1i(e, r.u_is_halo), + }; + }, + symbolTextAndIcon: function (e, r) { + return { + u_is_size_zoom_constant: new t.Uniform1i( + e, + r.u_is_size_zoom_constant, + ), + u_is_size_feature_constant: new t.Uniform1i( + e, + r.u_is_size_feature_constant, + ), + u_size_t: new t.Uniform1f(e, r.u_size_t), + u_size: new t.Uniform1f(e, r.u_size), + u_camera_to_center_distance: + new t.Uniform1f( + e, + r.u_camera_to_center_distance, + ), + u_pitch: new t.Uniform1f(e, r.u_pitch), + u_rotate_symbol: new t.Uniform1i( + e, + r.u_rotate_symbol, + ), + u_aspect_ratio: new t.Uniform1f( + e, + r.u_aspect_ratio, + ), + u_fade_change: new t.Uniform1f( + e, + r.u_fade_change, + ), + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_label_plane_matrix: new t.UniformMatrix4f( + e, + r.u_label_plane_matrix, + ), + u_coord_matrix: new t.UniformMatrix4f( + e, + r.u_coord_matrix, + ), + u_is_text: new t.Uniform1i(e, r.u_is_text), + u_pitch_with_map: new t.Uniform1i( + e, + r.u_pitch_with_map, + ), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_texsize_icon: new t.Uniform2f( + e, + r.u_texsize_icon, + ), + u_texture: new t.Uniform1i(e, r.u_texture), + u_texture_icon: new t.Uniform1i( + e, + r.u_texture_icon, + ), + u_gamma_scale: new t.Uniform1f( + e, + r.u_gamma_scale, + ), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio, + ), + u_is_halo: new t.Uniform1i(e, r.u_is_halo), + }; + }, + background: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_opacity: new t.Uniform1f(e, r.u_opacity), + u_color: new t.UniformColor(e, r.u_color), + }; + }, + backgroundPattern: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f( + e, + r.u_matrix, + ), + u_opacity: new t.Uniform1f(e, r.u_opacity), + u_image: new t.Uniform1i(e, r.u_image), + u_pattern_tl_a: new t.Uniform2f( + e, + r.u_pattern_tl_a, + ), + u_pattern_br_a: new t.Uniform2f( + e, + r.u_pattern_br_a, + ), + u_pattern_tl_b: new t.Uniform2f( + e, + r.u_pattern_tl_b, + ), + u_pattern_br_b: new t.Uniform2f( + e, + r.u_pattern_br_b, + ), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_mix: new t.Uniform1f(e, r.u_mix), + u_pattern_size_a: new t.Uniform2f( + e, + r.u_pattern_size_a, + ), + u_pattern_size_b: new t.Uniform2f( + e, + r.u_pattern_size_b, + ), + u_scale_a: new t.Uniform1f(e, r.u_scale_a), + u_scale_b: new t.Uniform1f(e, r.u_scale_b), + u_pixel_coord_upper: new t.Uniform2f( + e, + r.u_pixel_coord_upper, + ), + u_pixel_coord_lower: new t.Uniform2f( + e, + r.u_pixel_coord_lower, + ), + u_tile_units_to_pixels: new t.Uniform1f( + e, + r.u_tile_units_to_pixels, + ), + }; + }, + }; + function Qr(e, r, n, i, a, o, s) { + for ( + var l = e.context, + u = l.gl, + c = e.useProgram("collisionBox"), + f = [], + h = 0, + p = 0, + d = 0; + d < i.length; + d++ + ) { + var v = i[d], + g = r.getTile(v), + y = g.getBucket(n); + if (y) { + var m = v.posMatrix; + (0 === a[0] && 0 === a[1]) || + (m = e.translatePosMatrix( + v.posMatrix, + g, + a, + o, + )); + var x = s + ? y.textCollisionBox + : y.iconCollisionBox, + b = y.collisionCircleArray; + if (b.length > 0) { + var _ = t.create(), + w = m; + t.mul( + _, + y.placementInvProjMatrix, + e.transform.glCoordMatrix, + ), + t.mul(_, _, y.placementViewportMatrix), + f.push({ + circleArray: b, + circleOffset: p, + transform: w, + invTransform: _, + }), + (p = h += b.length / 4); + } + x && + c.draw( + l, + u.LINES, + Mt.disabled, + Et.disabled, + e.colorModeForRenderPass(), + Ct.disabled, + Ir(m, e.transform, g), + n.id, + x.layoutVertexBuffer, + x.indexBuffer, + x.segments, + null, + e.transform.zoom, + null, + null, + x.collisionVertexBuffer, + ); + } + } + if (s && f.length) { + var T = e.useProgram("collisionCircle"), + k = new t.StructArrayLayout2f1f2i16(); + k.resize(4 * h), k._trim(); + for ( + var A = 0, M = 0, S = f; + M < S.length; + M += 1 + ) + for ( + var E = S[M], L = 0; + L < E.circleArray.length / 4; + L++ + ) { + var C = 4 * L, + O = E.circleArray[C + 0], + P = E.circleArray[C + 1], + I = E.circleArray[C + 2], + D = E.circleArray[C + 3]; + k.emplace(A++, O, P, I, D, 0), + k.emplace(A++, O, P, I, D, 1), + k.emplace(A++, O, P, I, D, 2), + k.emplace(A++, O, P, I, D, 3); + } + (!Zr || Zr.length < 2 * h) && + (Zr = (function (e) { + var r = 2 * e, + n = new t.StructArrayLayout3ui6(); + n.resize(r), n._trim(); + for (var i = 0; i < r; i++) { + var a = 6 * i; + (n.uint16[a + 0] = 4 * i + 0), + (n.uint16[a + 1] = 4 * i + 1), + (n.uint16[a + 2] = 4 * i + 2), + (n.uint16[a + 3] = 4 * i + 2), + (n.uint16[a + 4] = 4 * i + 3), + (n.uint16[a + 5] = 4 * i + 0); + } + return n; + })(h)); + for ( + var z = l.createIndexBuffer(Zr, !0), + R = l.createVertexBuffer( + k, + t.collisionCircleLayout.members, + !0, + ), + F = 0, + B = f; + F < B.length; + F += 1 + ) { + var N = B[F], + j = Dr( + N.transform, + N.invTransform, + e.transform, + ); + T.draw( + l, + u.TRIANGLES, + Mt.disabled, + Et.disabled, + e.colorModeForRenderPass(), + Ct.disabled, + j, + n.id, + R, + z, + t.SegmentVector.simpleSegment( + 0, + 2 * N.circleOffset, + N.circleArray.length, + N.circleArray.length / 2, + ), + null, + e.transform.zoom, + null, + null, + null, + ); + } + R.destroy(), z.destroy(); + } + } + var tn = t.identity(new Float32Array(16)); + function en(e, r, n, i, a, o) { + var s = t.getAnchorAlignment(e), + l = -(s.horizontalAlign - 0.5) * r, + u = -(s.verticalAlign - 0.5) * n, + c = t.evaluateVariableOffset(e, i); + return new t.Point( + (l / a + c[0]) * o, + (u / a + c[1]) * o, + ); + } + function rn(e, r, n, i, a, o, s, l, u, c, f) { + var h = e.text.placedSymbolArray, + p = e.text.dynamicLayoutVertexArray, + d = e.icon.dynamicLayoutVertexArray, + v = {}; + p.clear(); + for (var g = 0; g < h.length; g++) { + var y = h.get(g), + m = + e.allowVerticalPlacement && + !y.placedOrientation, + x = + y.hidden || !y.crossTileID || m + ? null + : i[y.crossTileID]; + if (x) { + var b = new t.Point(y.anchorX, y.anchorY), + _ = re(b, n ? l : s), + w = ne( + o.cameraToCenterDistance, + _.signedDistanceFromCamera, + ), + T = + (a.evaluateSizeForFeature( + e.textSizeData, + c, + y, + ) * + w) / + t.ONE_EM; + n && (T *= e.tilePixelRatio / u); + for ( + var k = x.width, + A = x.height, + M = en( + x.anchor, + k, + A, + x.textOffset, + x.textBoxScale, + T, + ), + S = n + ? re(b.add(M), s).point + : _.point.add( + r ? M.rotate(-o.angle) : M, + ), + E = + e.allowVerticalPlacement && + y.placedOrientation === + t.WritingMode.vertical + ? Math.PI / 2 + : 0, + L = 0; + L < y.numGlyphs; + L++ + ) + t.addDynamicAttributes(p, S, E); + f && + y.associatedIconIndex >= 0 && + (v[y.associatedIconIndex] = { + shiftedAnchor: S, + angle: E, + }); + } else he(y.numGlyphs, p); + } + if (f) { + d.clear(); + for ( + var C = e.icon.placedSymbolArray, O = 0; + O < C.length; + O++ + ) { + var P = C.get(O); + if (P.hidden) he(P.numGlyphs, d); + else { + var I = v[O]; + if (I) + for (var D = 0; D < P.numGlyphs; D++) + t.addDynamicAttributes( + d, + I.shiftedAnchor, + I.angle, + ); + else he(P.numGlyphs, d); + } + } + e.icon.dynamicLayoutVertexBuffer.updateData(d); + } + e.text.dynamicLayoutVertexBuffer.updateData(p); + } + function nn(t, e, r) { + return r.iconsInText && e + ? "symbolTextAndIcon" + : t + ? "symbolSDF" + : "symbolIcon"; + } + function an(e, r, n, i, a, o, s, l, u, c, f, h) { + for ( + var p = e.context, + d = p.gl, + v = e.transform, + g = "map" === l, + y = "map" === u, + m = + g && + "point" !== + n.layout.get("symbol-placement"), + x = g && !y && !m, + b = + void 0 !== + n.layout + .get("symbol-sort-key") + .constantOr(1), + _ = e.depthModeForSublayer(0, Mt.ReadOnly), + w = n.layout.get("text-variable-anchor"), + T = [], + k = 0, + A = i; + k < A.length; + k += 1 + ) { + var M = A[k], + S = r.getTile(M), + E = S.getBucket(n); + if (E) { + var L = a ? E.text : E.icon; + if (L && L.segments.get().length) { + var C = L.programConfigurations.get(n.id), + O = a || E.sdfIcons, + P = a ? E.textSizeData : E.iconSizeData, + I = y || 0 !== v.pitch, + D = e.useProgram(nn(O, a, E), C), + z = t.evaluateSizeForZoom(P, v.zoom), + R = void 0, + F = [0, 0], + B = void 0, + N = void 0, + j = null, + U = void 0; + if (a) { + if ( + ((B = S.glyphAtlasTexture), + (N = d.LINEAR), + (R = S.glyphAtlasTexture.size), + E.iconsInText) + ) { + (F = S.imageAtlasTexture.size), + (j = S.imageAtlasTexture); + var V = + "composite" === P.kind || + "camera" === P.kind; + U = + I || + e.options.rotating || + e.options.zooming || + V + ? d.LINEAR + : d.NEAREST; + } + } else { + var H = + 1 !== + n.layout + .get("icon-size") + .constantOr(0) || E.iconsNeedLinear; + (B = S.imageAtlasTexture), + (N = + O || + e.options.rotating || + e.options.zooming || + H || + I + ? d.LINEAR + : d.NEAREST), + (R = S.imageAtlasTexture.size); + } + var q = ge(S, 1, e.transform.zoom), + G = te(M.posMatrix, y, g, e.transform, q), + Z = ee(M.posMatrix, y, g, e.transform, q), + W = w && E.hasTextData(), + Y = + "none" !== + n.layout.get("icon-text-fit") && + W && + E.hasIconData(); + m && ae(E, M.posMatrix, e, a, G, Z, y, c); + var X = e.translatePosMatrix( + M.posMatrix, + S, + o, + s, + ), + J = m || (a && w) || Y ? tn : G, + K = e.translatePosMatrix(Z, S, o, s, !0), + $ = + O && + 0 !== + n.paint + .get( + a + ? "text-halo-width" + : "icon-halo-width", + ) + .constantOr(1), + Q = { + program: D, + buffers: L, + uniformValues: O + ? E.iconsInText + ? Xr( + P.kind, + z, + x, + y, + e, + X, + J, + K, + R, + F, + ) + : Yr( + P.kind, + z, + x, + y, + e, + X, + J, + K, + a, + R, + !0, + ) + : Wr( + P.kind, + z, + x, + y, + e, + X, + J, + K, + a, + R, + ), + atlasTexture: B, + atlasTextureIcon: j, + atlasInterpolation: N, + atlasInterpolationIcon: U, + isSDF: O, + hasHalo: $, + }; + if (b) + for ( + var tt = 0, et = L.segments.get(); + tt < et.length; + tt += 1 + ) { + var rt = et[tt]; + T.push({ + segments: new t.SegmentVector([rt]), + sortKey: rt.sortKey, + state: Q, + }); + } + else + T.push({ + segments: L.segments, + sortKey: 0, + state: Q, + }); + } + } + } + b && + T.sort(function (t, e) { + return t.sortKey - e.sortKey; + }); + for ( + var nt = 0, it = T; + nt < it.length; + nt += 1 + ) { + var at = it[nt], + ot = at.state; + if ( + (p.activeTexture.set(d.TEXTURE0), + ot.atlasTexture.bind( + ot.atlasInterpolation, + d.CLAMP_TO_EDGE, + ), + ot.atlasTextureIcon && + (p.activeTexture.set(d.TEXTURE1), + ot.atlasTextureIcon && + ot.atlasTextureIcon.bind( + ot.atlasInterpolationIcon, + d.CLAMP_TO_EDGE, + )), + ot.isSDF) + ) { + var st = ot.uniformValues; + ot.hasHalo && + ((st.u_is_halo = 1), + on( + ot.buffers, + at.segments, + n, + e, + ot.program, + _, + f, + h, + st, + )), + (st.u_is_halo = 0); + } + on( + ot.buffers, + at.segments, + n, + e, + ot.program, + _, + f, + h, + ot.uniformValues, + ); + } + } + function on(t, e, r, n, i, a, o, s, l) { + var u = n.context, + c = u.gl; + i.draw( + u, + c.TRIANGLES, + a, + o, + s, + Ct.disabled, + l, + r.id, + t.layoutVertexBuffer, + t.indexBuffer, + e, + r.paint, + n.transform.zoom, + t.programConfigurations.get(r.id), + t.dynamicLayoutVertexBuffer, + t.opacityVertexBuffer, + ); + } + function sn(t, e, r, n, i, a, o) { + var s, + l, + u, + c, + f, + h = t.context.gl, + p = r.paint.get("fill-pattern"), + d = p && p.constantOr(1), + v = r.getCrossfadeParameters(); + o + ? ((l = + d && + !r.getPaintProperty("fill-outline-color") + ? "fillOutlinePattern" + : "fillOutline"), + (s = h.LINES)) + : ((l = d ? "fillPattern" : "fill"), + (s = h.TRIANGLES)); + for (var g = 0, y = n; g < y.length; g += 1) { + var m = y[g], + x = e.getTile(m); + if (!d || x.patternsLoaded()) { + var b = x.getBucket(r); + if (b) { + var _ = b.programConfigurations.get(r.id), + w = t.useProgram(l, _); + d && + (t.context.activeTexture.set(h.TEXTURE0), + x.imageAtlasTexture.bind( + h.LINEAR, + h.CLAMP_TO_EDGE, + ), + _.updatePaintBuffers(v)); + var T = p.constantOr(null); + if (T && x.imageAtlas) { + var k = x.imageAtlas, + A = k.patternPositions[T.to.toString()], + M = + k.patternPositions[T.from.toString()]; + A && + M && + _.setConstantPatternPositions(A, M); + } + var S = t.translatePosMatrix( + m.posMatrix, + x, + r.paint.get("fill-translate"), + r.paint.get("fill-translate-anchor"), + ); + if (o) { + (c = b.indexBuffer2), (f = b.segments2); + var E = [ + h.drawingBufferWidth, + h.drawingBufferHeight, + ]; + u = + "fillOutlinePattern" === l && d + ? Or(S, t, v, x, E) + : Cr(S, E); + } else + (c = b.indexBuffer), + (f = b.segments), + (u = d ? Lr(S, t, v, x) : Er(S)); + w.draw( + t.context, + s, + i, + t.stencilModeForClipping(m), + a, + Ct.disabled, + u, + r.id, + b.layoutVertexBuffer, + c, + f, + r.paint, + t.transform.zoom, + _, + ); + } + } + } + } + function ln(t, e, r, n, i, a, o) { + for ( + var s = t.context, + l = s.gl, + u = r.paint.get("fill-extrusion-pattern"), + c = u.constantOr(1), + f = r.getCrossfadeParameters(), + h = r.paint.get("fill-extrusion-opacity"), + p = 0, + d = n; + p < d.length; + p += 1 + ) { + var v = d[p], + g = e.getTile(v), + y = g.getBucket(r); + if (y) { + var m = y.programConfigurations.get(r.id), + x = t.useProgram( + c + ? "fillExtrusionPattern" + : "fillExtrusion", + m, + ); + c && + (t.context.activeTexture.set(l.TEXTURE0), + g.imageAtlasTexture.bind( + l.LINEAR, + l.CLAMP_TO_EDGE, + ), + m.updatePaintBuffers(f)); + var b = u.constantOr(null); + if (b && g.imageAtlas) { + var _ = g.imageAtlas, + w = _.patternPositions[b.to.toString()], + T = _.patternPositions[b.from.toString()]; + w && + T && + m.setConstantPatternPositions(w, T); + } + var k = t.translatePosMatrix( + v.posMatrix, + g, + r.paint.get("fill-extrusion-translate"), + r.paint.get( + "fill-extrusion-translate-anchor", + ), + ), + A = r.paint.get( + "fill-extrusion-vertical-gradient", + ), + M = c + ? Sr(k, t, A, h, v, f, g) + : Mr(k, t, A, h); + x.draw( + s, + s.gl.TRIANGLES, + i, + a, + o, + Ct.backCCW, + M, + r.id, + y.layoutVertexBuffer, + y.indexBuffer, + y.segments, + r.paint, + t.transform.zoom, + m, + ); + } + } + } + function un(e, r, n, i, a, o) { + var s = e.context, + l = s.gl, + u = r.fbo; + if (u) { + var c = e.useProgram("hillshade"); + s.activeTexture.set(l.TEXTURE0), + l.bindTexture( + l.TEXTURE_2D, + u.colorAttachment.get(), + ); + var f = (function (e, r, n) { + var i = n.paint.get("hillshade-shadow-color"), + a = n.paint.get( + "hillshade-highlight-color", + ), + o = n.paint.get("hillshade-accent-color"), + s = + n.paint.get( + "hillshade-illumination-direction", + ) * + (Math.PI / 180); + "viewport" === + n.paint.get( + "hillshade-illumination-anchor", + ) && (s -= e.transform.angle); + var l, + u, + c, + f = !e.options.moving; + return { + u_matrix: e.transform.calculatePosMatrix( + r.tileID.toUnwrapped(), + f, + ), + u_image: 0, + u_latrange: + ((l = r.tileID), + (u = Math.pow(2, l.canonical.z)), + (c = l.canonical.y), + [ + new t.MercatorCoordinate( + 0, + c / u, + ).toLngLat().lat, + new t.MercatorCoordinate( + 0, + (c + 1) / u, + ).toLngLat().lat, + ]), + u_light: [ + n.paint.get("hillshade-exaggeration"), + s, + ], + u_shadow: i, + u_highlight: a, + u_accent: o, + }; + })(e, r, n); + c.draw( + s, + l.TRIANGLES, + i, + a, + o, + Ct.disabled, + f, + n.id, + e.rasterBoundsBuffer, + e.quadTriangleIndexBuffer, + e.rasterBoundsSegments, + ); + } + } + function cn(e, r, n, i, a, o, s) { + var l = e.context, + u = l.gl, + c = r.dem; + if (c && c.data) { + var f = c.dim, + h = c.stride, + p = c.getPixels(); + if ( + (l.activeTexture.set(u.TEXTURE1), + l.pixelStoreUnpackPremultiplyAlpha.set(!1), + (r.demTexture = + r.demTexture || e.getTileTexture(h)), + r.demTexture) + ) { + var d = r.demTexture; + d.update(p, { premultiply: !1 }), + d.bind(u.NEAREST, u.CLAMP_TO_EDGE); + } else + (r.demTexture = new t.Texture(l, p, u.RGBA, { + premultiply: !1, + })), + r.demTexture.bind( + u.NEAREST, + u.CLAMP_TO_EDGE, + ); + l.activeTexture.set(u.TEXTURE0); + var v = r.fbo; + if (!v) { + var g = new t.Texture( + l, + { width: f, height: f, data: null }, + u.RGBA, + ); + g.bind(u.LINEAR, u.CLAMP_TO_EDGE), + (v = r.fbo = + l.createFramebuffer( + f, + f, + !0, + )).colorAttachment.set(g.texture); + } + l.bindFramebuffer.set(v.framebuffer), + l.viewport.set([0, 0, f, f]), + e.useProgram("hillshadePrepare").draw( + l, + u.TRIANGLES, + a, + o, + s, + Ct.disabled, + (function (e, r, n) { + var i = r.stride, + a = t.create(); + return ( + t.ortho( + a, + 0, + t.EXTENT, + -t.EXTENT, + 0, + 0, + 1, + ), + t.translate(a, a, [0, -t.EXTENT, 0]), + { + u_matrix: a, + u_image: 1, + u_dimension: [i, i], + u_zoom: e.overscaledZ, + u_maxzoom: n, + u_unpack: r.getUnpackVector(), + } + ); + })(r.tileID, c, i), + n.id, + e.rasterBoundsBuffer, + e.quadTriangleIndexBuffer, + e.rasterBoundsSegments, + ), + (r.needsHillshadePrepare = !1); + } + } + function fn(e, r, n, i, a) { + var o = i.paint.get("raster-fade-duration"); + if (o > 0) { + var s = t.browser.now(), + l = (s - e.timeAdded) / o, + u = r ? (s - r.timeAdded) / o : -1, + c = n.getSource(), + f = a.coveringZoomLevel({ + tileSize: c.tileSize, + roundZoom: c.roundZoom, + }), + h = + !r || + Math.abs(r.tileID.overscaledZ - f) > + Math.abs(e.tileID.overscaledZ - f), + p = + h && e.refreshedUponExpiration + ? 1 + : t.clamp(h ? l : 1 - u, 0, 1); + return ( + e.refreshedUponExpiration && + l >= 1 && + (e.refreshedUponExpiration = !1), + r + ? { opacity: 1, mix: 1 - p } + : { opacity: p, mix: 0 } + ); + } + return { opacity: 1, mix: 0 }; + } + var hn = new t.Color(1, 0, 0, 1), + pn = new t.Color(0, 1, 0, 1), + dn = new t.Color(0, 0, 1, 1), + vn = new t.Color(1, 0, 1, 1), + gn = new t.Color(0, 1, 1, 1); + function yn(t) { + var e = t.transform.padding; + mn(t, t.transform.height - (e.top || 0), 3, hn), + mn(t, e.bottom || 0, 3, pn), + xn(t, e.left || 0, 3, dn), + xn( + t, + t.transform.width - (e.right || 0), + 3, + vn, + ); + var r = t.transform.centerPoint; + !(function (t, e, r, n) { + var i = 20, + a = 2; + bn(t, e - a / 2, r - i / 2, a, i, n), + bn(t, e - i / 2, r - a / 2, i, a, n); + })(t, r.x, t.transform.height - r.y, gn); + } + function mn(t, e, r, n) { + bn(t, 0, e + r / 2, t.transform.width, r, n); + } + function xn(t, e, r, n) { + bn(t, e - r / 2, 0, r, t.transform.height, n); + } + function bn(e, r, n, i, a, o) { + var s = e.context, + l = s.gl; + l.enable(l.SCISSOR_TEST), + l.scissor( + r * t.browser.devicePixelRatio, + n * t.browser.devicePixelRatio, + i * t.browser.devicePixelRatio, + a * t.browser.devicePixelRatio, + ), + s.clear({ color: o }), + l.disable(l.SCISSOR_TEST); + } + function _n(e, r, n) { + var i = e.context, + a = i.gl, + o = n.posMatrix, + s = e.useProgram("debug"), + l = Mt.disabled, + u = Et.disabled, + c = e.colorModeForRenderPass(), + f = "$debug"; + i.activeTexture.set(a.TEXTURE0), + e.emptyTexture.bind(a.LINEAR, a.CLAMP_TO_EDGE), + s.draw( + i, + a.LINE_STRIP, + l, + u, + c, + Ct.disabled, + zr(o, t.Color.red), + f, + e.debugBuffer, + e.tileBorderIndexBuffer, + e.debugSegments, + ); + var h = r.getTileByID(n.key).latestRawTileData, + p = (h && h.byteLength) || 0, + d = Math.floor(p / 1024), + v = r.getTile(n).tileSize, + g = + (512 / Math.min(v, 512)) * + (n.overscaledZ / e.transform.zoom) * + 0.5, + y = n.canonical.toString(); + n.overscaledZ !== n.canonical.z && + (y += " => " + n.overscaledZ), + (function (t, e) { + t.initDebugOverlayCanvas(); + var r = t.debugOverlayCanvas, + n = t.context.gl, + i = t.debugOverlayCanvas.getContext("2d"); + i.clearRect(0, 0, r.width, r.height), + (i.shadowColor = "white"), + (i.shadowBlur = 2), + (i.lineWidth = 1.5), + (i.strokeStyle = "white"), + (i.textBaseline = "top"), + (i.font = + "bold 36px Open Sans, sans-serif"), + i.fillText(e, 5, 5), + i.strokeText(e, 5, 5), + t.debugOverlayTexture.update(r), + t.debugOverlayTexture.bind( + n.LINEAR, + n.CLAMP_TO_EDGE, + ); + })(e, y + " " + d + "kb"), + s.draw( + i, + a.TRIANGLES, + l, + u, + Lt.alphaBlended, + Ct.disabled, + zr(o, t.Color.transparent, g), + f, + e.debugBuffer, + e.quadTriangleIndexBuffer, + e.debugSegments, + ); + } + var wn = { + symbol: function (e, r, n, i, a) { + if ("translucent" === e.renderPass) { + var o = Et.disabled, + s = e.colorModeForRenderPass(); + n.layout.get("text-variable-anchor") && + (function (e, r, n, i, a, o, s) { + for ( + var l = r.transform, + u = "map" === a, + c = "map" === o, + f = 0, + h = e; + f < h.length; + f += 1 + ) { + var p = h[f], + d = i.getTile(p), + v = d.getBucket(n); + if ( + v && + v.text && + v.text.segments.get().length + ) { + var g = v.textSizeData, + y = t.evaluateSizeForZoom( + g, + l.zoom, + ), + m = ge(d, 1, r.transform.zoom), + x = te( + p.posMatrix, + c, + u, + r.transform, + m, + ), + b = + "none" !== + n.layout.get( + "icon-text-fit", + ) && v.hasIconData(); + if (y) { + var _ = Math.pow( + 2, + l.zoom - d.tileID.overscaledZ, + ); + rn( + v, + u, + c, + s, + t.symbolSize, + l, + x, + p.posMatrix, + _, + y, + b, + ); + } + } + } + })( + i, + e, + n, + r, + n.layout.get("text-rotation-alignment"), + n.layout.get("text-pitch-alignment"), + a, + ), + 0 !== + n.paint + .get("icon-opacity") + .constantOr(1) && + an( + e, + r, + n, + i, + !1, + n.paint.get("icon-translate"), + n.paint.get("icon-translate-anchor"), + n.layout.get( + "icon-rotation-alignment", + ), + n.layout.get("icon-pitch-alignment"), + n.layout.get("icon-keep-upright"), + o, + s, + ), + 0 !== + n.paint + .get("text-opacity") + .constantOr(1) && + an( + e, + r, + n, + i, + !0, + n.paint.get("text-translate"), + n.paint.get("text-translate-anchor"), + n.layout.get( + "text-rotation-alignment", + ), + n.layout.get("text-pitch-alignment"), + n.layout.get("text-keep-upright"), + o, + s, + ), + r.map.showCollisionBoxes && + (Qr( + e, + r, + n, + i, + n.paint.get("text-translate"), + n.paint.get("text-translate-anchor"), + !0, + ), + Qr( + e, + r, + n, + i, + n.paint.get("icon-translate"), + n.paint.get("icon-translate-anchor"), + !1, + )); + } + }, + circle: function (e, r, n, i) { + if ("translucent" === e.renderPass) { + var a = n.paint.get("circle-opacity"), + o = n.paint.get("circle-stroke-width"), + s = n.paint.get("circle-stroke-opacity"), + l = + void 0 !== + n.layout + .get("circle-sort-key") + .constantOr(1); + if ( + 0 !== a.constantOr(1) || + (0 !== o.constantOr(1) && + 0 !== s.constantOr(1)) + ) { + for ( + var u = e.context, + c = u.gl, + f = e.depthModeForSublayer( + 0, + Mt.ReadOnly, + ), + h = Et.disabled, + p = e.colorModeForRenderPass(), + d = [], + v = 0; + v < i.length; + v++ + ) { + var g = i[v], + y = r.getTile(g), + m = y.getBucket(n); + if (m) { + var x = m.programConfigurations.get( + n.id, + ), + b = { + programConfiguration: x, + program: e.useProgram( + "circle", + x, + ), + layoutVertexBuffer: + m.layoutVertexBuffer, + indexBuffer: m.indexBuffer, + uniformValues: Pr(e, g, y, n), + }; + if (l) + for ( + var _ = 0, w = m.segments.get(); + _ < w.length; + _ += 1 + ) { + var T = w[_]; + d.push({ + segments: new t.SegmentVector([ + T, + ]), + sortKey: T.sortKey, + state: b, + }); + } + else + d.push({ + segments: m.segments, + sortKey: 0, + state: b, + }); + } + } + l && + d.sort(function (t, e) { + return t.sortKey - e.sortKey; + }); + for ( + var k = 0, A = d; + k < A.length; + k += 1 + ) { + var M = A[k], + S = M.state, + E = S.programConfiguration, + L = S.program, + C = S.layoutVertexBuffer, + O = S.indexBuffer, + P = S.uniformValues, + I = M.segments; + L.draw( + u, + c.TRIANGLES, + f, + h, + p, + Ct.disabled, + P, + n.id, + C, + O, + I, + n.paint, + e.transform.zoom, + E, + ); + } + } + } + }, + heatmap: function (e, r, n, i) { + if (0 !== n.paint.get("heatmap-opacity")) + if ("offscreen" === e.renderPass) { + var a = e.context, + o = a.gl, + s = Et.disabled, + l = new Lt( + [o.ONE, o.ONE], + t.Color.transparent, + [!0, !0, !0, !0], + ); + (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, + !1, + )), + (function (t, e, r, n) { + var i = t.gl, + a = + t.extRenderToTextureHalfFloat + ? t.extTextureHalfFloat + .HALF_FLOAT_OES + : i.UNSIGNED_BYTE; + i.texImage2D( + i.TEXTURE_2D, + 0, + i.RGBA, + e.width / 4, + e.height / 4, + 0, + i.RGBA, + a, + null, + ), + n.colorAttachment.set(r); + })(t, e, a, i); + } + })(a, e, n), + a.clear({ color: t.Color.transparent }); + for (var u = 0; u < i.length; u++) { + var c = i[u]; + if (!r.hasRenderableParent(c)) { + var f = r.getTile(c), + h = f.getBucket(n); + if (h) { + var p = h.programConfigurations.get( + n.id, + ), + d = e.useProgram("heatmap", p), + v = e.transform.zoom; + d.draw( + a, + o.TRIANGLES, + Mt.disabled, + s, + l, + Ct.disabled, + Fr( + c.posMatrix, + f, + v, + n.paint.get( + "heatmap-intensity", + ), + ), + n.id, + h.layoutVertexBuffer, + h.indexBuffer, + h.segments, + n.paint, + e.transform.zoom, + p, + ); + } + } + } + a.viewport.set([0, 0, e.width, e.height]); + } else + "translucent" === e.renderPass && + (e.context.setColorMode( + e.colorModeForRenderPass(), + ), + (function (e, r) { + var n = e.context, + i = n.gl, + a = r.heatmapFbo; + if (a) { + n.activeTexture.set(i.TEXTURE0), + i.bindTexture( + i.TEXTURE_2D, + a.colorAttachment.get(), + ), + n.activeTexture.set(i.TEXTURE1); + var o = r.colorRampTexture; + o || + (o = r.colorRampTexture = + new t.Texture( + n, + r.colorRamp, + i.RGBA, + )), + o.bind(i.LINEAR, i.CLAMP_TO_EDGE), + e + .useProgram("heatmapTexture") + .draw( + n, + i.TRIANGLES, + Mt.disabled, + Et.disabled, + e.colorModeForRenderPass(), + Ct.disabled, + (function (e, r, n, i) { + var a = t.create(); + t.ortho( + a, + 0, + e.width, + e.height, + 0, + 0, + 1, + ); + var o = e.context.gl; + return { + u_matrix: a, + u_world: [ + o.drawingBufferWidth, + o.drawingBufferHeight, + ], + u_image: n, + u_color_ramp: i, + u_opacity: + r.paint.get( + "heatmap-opacity", + ), + }; + })(e, r, 0, 1), + r.id, + e.viewportBuffer, + e.quadTriangleIndexBuffer, + e.viewportSegments, + r.paint, + e.transform.zoom, + ); + } + })(e, n)); + }, + line: function (e, r, n, i) { + if ("translucent" === e.renderPass) { + var a = n.paint.get("line-opacity"), + o = n.paint.get("line-width"); + if ( + 0 !== a.constantOr(1) && + 0 !== o.constantOr(1) + ) { + var s = e.depthModeForSublayer( + 0, + Mt.ReadOnly, + ), + l = e.colorModeForRenderPass(), + u = n.paint.get("line-dasharray"), + c = n.paint.get("line-pattern"), + f = c.constantOr(1), + h = n.paint.get("line-gradient"), + p = n.getCrossfadeParameters(), + d = f + ? "linePattern" + : u + ? "lineSDF" + : h + ? "lineGradient" + : "line", + v = e.context, + g = v.gl, + y = !0; + if (h) { + v.activeTexture.set(g.TEXTURE0); + var m = n.gradientTexture; + if (!n.gradient) return; + m || + (m = n.gradientTexture = + new t.Texture( + v, + n.gradient, + g.RGBA, + )), + m.bind(g.LINEAR, g.CLAMP_TO_EDGE); + } + for ( + var x = 0, b = i; + x < b.length; + x += 1 + ) { + var _ = b[x], + w = r.getTile(_); + if (!f || w.patternsLoaded()) { + var T = w.getBucket(n); + if (T) { + var k = T.programConfigurations.get( + n.id, + ), + A = e.context.program.get(), + M = e.useProgram(d, k), + S = y || M.program !== A, + E = c.constantOr(null); + if (E && w.imageAtlas) { + var L = w.imageAtlas, + C = + L.patternPositions[ + E.to.toString() + ], + O = + L.patternPositions[ + E.from.toString() + ]; + C && + O && + k.setConstantPatternPositions( + C, + O, + ); + } + var P = f + ? jr(e, w, n, p) + : u + ? Ur(e, w, n, u, p) + : h + ? Nr(e, w, n) + : Br(e, w, n); + f + ? (v.activeTexture.set( + g.TEXTURE0, + ), + w.imageAtlasTexture.bind( + g.LINEAR, + g.CLAMP_TO_EDGE, + ), + k.updatePaintBuffers(p)) + : u && + (S || e.lineAtlas.dirty) && + (v.activeTexture.set( + g.TEXTURE0, + ), + e.lineAtlas.bind(v)), + M.draw( + v, + g.TRIANGLES, + s, + e.stencilModeForClipping(_), + l, + Ct.disabled, + P, + n.id, + T.layoutVertexBuffer, + T.indexBuffer, + T.segments, + n.paint, + e.transform.zoom, + k, + ), + (y = !1); + } + } + } + } + } + }, + fill: function (e, r, n, i) { + var a = n.paint.get("fill-color"), + o = n.paint.get("fill-opacity"); + if (0 !== o.constantOr(1)) { + var s = e.colorModeForRenderPass(), + l = n.paint.get("fill-pattern"), + u = + e.opaquePassEnabledForLayer() && + !l.constantOr(1) && + 1 === + a.constantOr(t.Color.transparent).a && + 1 === o.constantOr(0) + ? "opaque" + : "translucent"; + if (e.renderPass === u) { + var c = e.depthModeForSublayer( + 1, + "opaque" === e.renderPass + ? Mt.ReadWrite + : Mt.ReadOnly, + ); + sn(e, r, n, i, c, s, !1); + } + if ( + "translucent" === e.renderPass && + n.paint.get("fill-antialias") + ) { + var f = e.depthModeForSublayer( + n.getPaintProperty("fill-outline-color") + ? 2 + : 0, + Mt.ReadOnly, + ); + sn(e, r, n, i, f, s, !0); + } + } + }, + "fill-extrusion": function (t, e, r, n) { + var i = r.paint.get("fill-extrusion-opacity"); + if ( + 0 !== i && + "translucent" === t.renderPass + ) { + var a = new Mt( + t.context.gl.LEQUAL, + Mt.ReadWrite, + t.depthRangeFor3D, + ); + if ( + 1 !== i || + r.paint + .get("fill-extrusion-pattern") + .constantOr(1) + ) + ln( + t, + e, + r, + n, + a, + Et.disabled, + Lt.disabled, + ), + ln( + t, + e, + r, + n, + a, + t.stencilModeFor3D(), + t.colorModeForRenderPass(), + ); + else { + var o = t.colorModeForRenderPass(); + ln(t, e, r, n, a, Et.disabled, o); + } + } + }, + hillshade: function (t, e, r, n) { + if ( + "offscreen" === t.renderPass || + "translucent" === t.renderPass + ) { + for ( + var i = t.context, + a = e.getSource().maxzoom, + o = t.depthModeForSublayer( + 0, + Mt.ReadOnly, + ), + s = t.colorModeForRenderPass(), + l = + "translucent" === t.renderPass + ? t.stencilConfigForOverlap(n) + : [{}, n], + u = l[0], + c = 0, + f = l[1]; + c < f.length; + c += 1 + ) { + var h = f[c], + p = e.getTile(h); + p.needsHillshadePrepare && + "offscreen" === t.renderPass + ? cn(t, p, r, a, o, Et.disabled, s) + : "translucent" === t.renderPass && + un(t, p, r, o, u[h.overscaledZ], s); + } + i.viewport.set([0, 0, t.width, t.height]); + } + }, + raster: function (t, e, r, n) { + if ( + "translucent" === t.renderPass && + 0 !== r.paint.get("raster-opacity") && + n.length + ) + for ( + var i = t.context, + a = i.gl, + o = e.getSource(), + s = t.useProgram("raster"), + l = t.colorModeForRenderPass(), + u = + o instanceof I + ? [{}, n] + : t.stencilConfigForOverlap(n), + c = u[0], + f = u[1], + h = f[f.length - 1].overscaledZ, + p = !t.options.moving, + d = 0, + v = f; + d < v.length; + d += 1 + ) { + var g = v[d], + y = t.depthModeForSublayer( + g.overscaledZ - h, + 1 === r.paint.get("raster-opacity") + ? Mt.ReadWrite + : Mt.ReadOnly, + a.LESS, + ), + m = e.getTile(g), + x = t.transform.calculatePosMatrix( + g.toUnwrapped(), + p, + ); + m.registerFadeDuration( + r.paint.get("raster-fade-duration"), + ); + var b = e.findLoadedParent(g, 0), + _ = fn(m, b, e, r, t.transform), + w = void 0, + T = void 0, + k = + "nearest" === + r.paint.get("raster-resampling") + ? a.NEAREST + : a.LINEAR; + i.activeTexture.set(a.TEXTURE0), + m.texture.bind( + k, + a.CLAMP_TO_EDGE, + a.LINEAR_MIPMAP_NEAREST, + ), + i.activeTexture.set(a.TEXTURE1), + b + ? (b.texture.bind( + k, + a.CLAMP_TO_EDGE, + a.LINEAR_MIPMAP_NEAREST, + ), + (w = Math.pow( + 2, + b.tileID.overscaledZ - + m.tileID.overscaledZ, + )), + (T = [ + (m.tileID.canonical.x * w) % 1, + (m.tileID.canonical.y * w) % 1, + ])) + : m.texture.bind( + k, + a.CLAMP_TO_EDGE, + a.LINEAR_MIPMAP_NEAREST, + ); + var A = qr(x, T || [0, 0], w || 1, _, r); + o instanceof I + ? s.draw( + i, + a.TRIANGLES, + y, + Et.disabled, + l, + Ct.disabled, + A, + r.id, + o.boundsBuffer, + t.quadTriangleIndexBuffer, + o.boundsSegments, + ) + : s.draw( + i, + a.TRIANGLES, + y, + c[g.overscaledZ], + l, + Ct.disabled, + A, + r.id, + t.rasterBoundsBuffer, + t.quadTriangleIndexBuffer, + t.rasterBoundsSegments, + ); + } + }, + background: function (t, e, r) { + var n = r.paint.get("background-color"), + i = r.paint.get("background-opacity"); + if (0 !== i) { + var a = t.context, + o = a.gl, + s = t.transform, + l = s.tileSize, + u = r.paint.get("background-pattern"); + if (!t.isPatternMissing(u)) { + var c = + !u && + 1 === n.a && + 1 === i && + t.opaquePassEnabledForLayer() + ? "opaque" + : "translucent"; + if (t.renderPass === c) { + var f = Et.disabled, + h = t.depthModeForSublayer( + 0, + "opaque" === c + ? Mt.ReadWrite + : Mt.ReadOnly, + ), + p = t.colorModeForRenderPass(), + d = t.useProgram( + u + ? "backgroundPattern" + : "background", + ), + v = s.coveringTiles({ tileSize: l }); + u && + (a.activeTexture.set(o.TEXTURE0), + t.imageManager.bind(t.context)); + for ( + var g = r.getCrossfadeParameters(), + y = 0, + m = v; + y < m.length; + y += 1 + ) { + var x = m[y], + b = t.transform.calculatePosMatrix( + x.toUnwrapped(), + ), + _ = u + ? Kr( + b, + i, + t, + u, + { tileID: x, tileSize: l }, + g, + ) + : Jr(b, i, n); + d.draw( + a, + o.TRIANGLES, + h, + f, + p, + Ct.disabled, + _, + r.id, + t.tileExtentBuffer, + t.quadTriangleIndexBuffer, + t.tileExtentSegments, + ); + } + } + } + } + }, + debug: function (t, e, r) { + for (var n = 0; n < r.length; n++) + _n(t, e, r[n]); + }, + custom: function (t, e, r) { + var n = t.context, + i = r.implementation; + if ("offscreen" === t.renderPass) { + var a = i.prerender; + a && + (t.setCustomLayerDefaults(), + n.setColorMode( + t.colorModeForRenderPass(), + ), + a.call( + i, + n.gl, + t.transform.customLayerMatrix(), + ), + n.setDirty(), + t.setBaseState()); + } else if ("translucent" === t.renderPass) { + t.setCustomLayerDefaults(), + n.setColorMode( + t.colorModeForRenderPass(), + ), + n.setStencilMode(Et.disabled); + var o = + "3d" === i.renderingMode + ? new Mt( + t.context.gl.LEQUAL, + Mt.ReadWrite, + t.depthRangeFor3D, + ) + : t.depthModeForSublayer( + 0, + Mt.ReadOnly, + ); + n.setDepthMode(o), + i.render( + n.gl, + t.transform.customLayerMatrix(), + ), + n.setDirty(), + t.setBaseState(), + n.bindFramebuffer.set(null); + } + }, + }, + Tn = function (t, e) { + (this.context = new Ot(t)), + (this.transform = e), + (this._tileTextures = {}), + this.setup(), + (this.numSublayers = + Pt.maxUnderzooming + Pt.maxOverzooming + 1), + (this.depthEpsilon = 1 / Math.pow(2, 16)), + (this.crossTileSymbolIndex = new Ve()), + (this.gpuTimers = {}); + }; + (Tn.prototype.resize = function (e, r) { + if ( + ((this.width = e * t.browser.devicePixelRatio), + (this.height = r * t.browser.devicePixelRatio), + this.context.viewport.set([ + 0, + 0, + this.width, + this.height, + ]), + this.style) + ) + for ( + var n = 0, i = this.style._order; + n < i.length; + n += 1 + ) { + var a = i[n]; + this.style._layers[a].resize(); + } + }), + (Tn.prototype.setup = function () { + var e = this.context, + r = new t.StructArrayLayout2i4(); + r.emplaceBack(0, 0), + r.emplaceBack(t.EXTENT, 0), + r.emplaceBack(0, t.EXTENT), + r.emplaceBack(t.EXTENT, t.EXTENT), + (this.tileExtentBuffer = e.createVertexBuffer( + r, + Ye.members, + )), + (this.tileExtentSegments = + t.SegmentVector.simpleSegment(0, 0, 4, 2)); + var n = new t.StructArrayLayout2i4(); + n.emplaceBack(0, 0), + n.emplaceBack(t.EXTENT, 0), + n.emplaceBack(0, t.EXTENT), + n.emplaceBack(t.EXTENT, t.EXTENT), + (this.debugBuffer = e.createVertexBuffer( + n, + Ye.members, + )), + (this.debugSegments = + t.SegmentVector.simpleSegment(0, 0, 4, 5)); + var i = new t.StructArrayLayout4i8(); + i.emplaceBack(0, 0, 0, 0), + i.emplaceBack(t.EXTENT, 0, t.EXTENT, 0), + i.emplaceBack(0, t.EXTENT, 0, t.EXTENT), + i.emplaceBack( + t.EXTENT, + t.EXTENT, + t.EXTENT, + t.EXTENT, + ), + (this.rasterBoundsBuffer = + e.createVertexBuffer(i, P.members)), + (this.rasterBoundsSegments = + t.SegmentVector.simpleSegment(0, 0, 4, 2)); + var a = new t.StructArrayLayout2i4(); + a.emplaceBack(0, 0), + a.emplaceBack(1, 0), + a.emplaceBack(0, 1), + a.emplaceBack(1, 1), + (this.viewportBuffer = e.createVertexBuffer( + a, + Ye.members, + )), + (this.viewportSegments = + t.SegmentVector.simpleSegment(0, 0, 4, 2)); + var o = new t.StructArrayLayout1ui2(); + o.emplaceBack(0), + o.emplaceBack(1), + o.emplaceBack(3), + o.emplaceBack(2), + o.emplaceBack(0), + (this.tileBorderIndexBuffer = + e.createIndexBuffer(o)); + var s = new t.StructArrayLayout3ui6(); + s.emplaceBack(0, 1, 2), + s.emplaceBack(2, 1, 3), + (this.quadTriangleIndexBuffer = + e.createIndexBuffer(s)), + (this.emptyTexture = new t.Texture( + e, + { + width: 1, + height: 1, + data: new Uint8Array([0, 0, 0, 0]), + }, + e.gl.RGBA, + )); + var l = this.context.gl; + this.stencilClearMode = new Et( + { func: l.ALWAYS, mask: 0 }, + 0, + 255, + l.ZERO, + l.ZERO, + l.ZERO, + ); + }), + (Tn.prototype.clearStencil = function () { + var e = this.context, + r = e.gl; + (this.nextStencilID = 1), + (this.currentStencilSource = void 0); + var n = t.create(); + t.ortho(n, 0, this.width, this.height, 0, 0, 1), + t.scale(n, n, [ + r.drawingBufferWidth, + r.drawingBufferHeight, + 0, + ]), + this.useProgram("clippingMask").draw( + e, + r.TRIANGLES, + Mt.disabled, + this.stencilClearMode, + Lt.disabled, + Ct.disabled, + Rr(n), + "$clipping", + this.viewportBuffer, + this.quadTriangleIndexBuffer, + this.viewportSegments, + ); + }), + (Tn.prototype._renderTileClippingMasks = + function (t, e) { + if ( + this.currentStencilSource !== t.source && + t.isTileClipped() && + e && + e.length + ) { + this.currentStencilSource = t.source; + var r = this.context, + n = r.gl; + this.nextStencilID + e.length > 256 && + this.clearStencil(), + r.setColorMode(Lt.disabled), + r.setDepthMode(Mt.disabled); + var i = this.useProgram("clippingMask"); + this._tileClippingMaskIDs = {}; + for ( + var a = 0, o = e; + a < o.length; + a += 1 + ) { + var s = o[a], + l = (this._tileClippingMaskIDs[s.key] = + this.nextStencilID++); + i.draw( + r, + n.TRIANGLES, + Mt.disabled, + new Et( + { func: n.ALWAYS, mask: 0 }, + l, + 255, + n.KEEP, + n.KEEP, + n.REPLACE, + ), + Lt.disabled, + Ct.disabled, + Rr(s.posMatrix), + "$clipping", + this.tileExtentBuffer, + this.quadTriangleIndexBuffer, + this.tileExtentSegments, + ); + } + } + }), + (Tn.prototype.stencilModeFor3D = function () { + (this.currentStencilSource = void 0), + this.nextStencilID + 1 > 256 && + this.clearStencil(); + var t = this.nextStencilID++, + e = this.context.gl; + return new Et( + { func: e.NOTEQUAL, mask: 255 }, + t, + 255, + e.KEEP, + e.KEEP, + e.REPLACE, + ); + }), + (Tn.prototype.stencilModeForClipping = function ( + t, + ) { + var e = this.context.gl; + return new Et( + { func: e.EQUAL, mask: 255 }, + this._tileClippingMaskIDs[t.key], + 0, + e.KEEP, + e.KEEP, + e.REPLACE, + ); + }), + (Tn.prototype.stencilConfigForOverlap = function ( + t, + ) { + var e, + r = this.context.gl, + n = t.sort(function (t, e) { + return e.overscaledZ - t.overscaledZ; + }), + i = n[n.length - 1].overscaledZ, + a = n[0].overscaledZ - i + 1; + if (a > 1) { + (this.currentStencilSource = void 0), + this.nextStencilID + a > 256 && + this.clearStencil(); + for (var o = {}, s = 0; s < a; s++) + o[s + i] = new Et( + { func: r.GEQUAL, mask: 255 }, + s + this.nextStencilID, + 255, + r.KEEP, + r.KEEP, + r.REPLACE, + ); + return (this.nextStencilID += a), [o, n]; + } + return [((e = {}), (e[i] = Et.disabled), e), n]; + }), + (Tn.prototype.colorModeForRenderPass = + function () { + var e = this.context.gl; + if (this._showOverdrawInspector) { + var r = 1 / 8; + return new Lt( + [e.CONSTANT_COLOR, e.ONE], + new t.Color(r, r, r, 0), + [!0, !0, !0, !0], + ); + } + return "opaque" === this.renderPass + ? Lt.unblended + : Lt.alphaBlended; + }), + (Tn.prototype.depthModeForSublayer = function ( + t, + e, + r, + ) { + if (!this.opaquePassEnabledForLayer()) + return Mt.disabled; + var n = + 1 - + ((1 + this.currentLayer) * this.numSublayers + + t) * + this.depthEpsilon; + return new Mt(r || this.context.gl.LEQUAL, e, [ + n, + n, + ]); + }), + (Tn.prototype.opaquePassEnabledForLayer = + function () { + return ( + this.currentLayer < this.opaquePassCutoff + ); + }), + (Tn.prototype.render = function (e, r) { + var n = this; + (this.style = e), + (this.options = r), + (this.lineAtlas = e.lineAtlas), + (this.imageManager = e.imageManager), + (this.glyphManager = e.glyphManager), + (this.symbolFadeChange = + e.placement.symbolFadeChange( + t.browser.now(), + )), + this.imageManager.beginFrame(); + var i = this.style._order, + a = this.style.sourceCaches; + for (var o in a) { + var s = a[o]; + s.used && s.prepare(this.context); + } + var l, + u, + c = {}, + f = {}, + h = {}; + for (var p in a) { + var d = a[p]; + (c[p] = d.getVisibleCoordinates()), + (f[p] = c[p].slice().reverse()), + (h[p] = d + .getVisibleCoordinates(!0) + .reverse()); + } + this.opaquePassCutoff = 1 / 0; + for (var v = 0; v < i.length; v++) { + var g = i[v]; + if (this.style._layers[g].is3D()) { + this.opaquePassCutoff = v; + break; + } + } + this.renderPass = "offscreen"; + for (var y = 0, m = i; y < m.length; y += 1) { + var x = m[y], + b = this.style._layers[x]; + if ( + b.hasOffscreenPass() && + !b.isHidden(this.transform.zoom) + ) { + var _ = f[b.source]; + ("custom" === b.type || _.length) && + this.renderLayer(this, a[b.source], b, _); + } + } + for ( + this.context.bindFramebuffer.set(null), + this.context.clear({ + color: r.showOverdrawInspector + ? t.Color.black + : t.Color.transparent, + depth: 1, + }), + this.clearStencil(), + this._showOverdrawInspector = + r.showOverdrawInspector, + this.depthRangeFor3D = [ + 0, + 1 - + (e._order.length + 2) * + this.numSublayers * + this.depthEpsilon, + ], + this.renderPass = "opaque", + this.currentLayer = i.length - 1; + this.currentLayer >= 0; + this.currentLayer-- + ) { + var w = + this.style._layers[i[this.currentLayer]], + T = a[w.source], + k = c[w.source]; + this._renderTileClippingMasks(w, k), + this.renderLayer(this, T, w, k); + } + for ( + this.renderPass = "translucent", + this.currentLayer = 0; + this.currentLayer < i.length; + this.currentLayer++ + ) { + var A = + this.style._layers[i[this.currentLayer]], + M = a[A.source], + S = ("symbol" === A.type ? h : f)[A.source]; + this._renderTileClippingMasks(A, c[A.source]), + this.renderLayer(this, M, A, S); + } + this.options.showTileBoundaries && + (t + .values(this.style._layers) + .forEach(function (t) { + t.source && + !t.isHidden(n.transform.zoom) && + (t.source !== (u && u.id) && + (u = n.style.sourceCaches[t.source]), + (!l || + l.getSource().maxzoom < + u.getSource().maxzoom) && + (l = u)); + }), + l && + wn.debug( + this, + l, + l.getVisibleCoordinates(), + )), + this.options.showPadding && yn(this), + this.context.setDefault(); + }), + (Tn.prototype.renderLayer = function ( + t, + e, + r, + n, + ) { + r.isHidden(this.transform.zoom) || + (("background" === r.type || + "custom" === r.type || + n.length) && + ((this.id = r.id), + this.gpuTimingStart(r), + wn[r.type]( + t, + e, + r, + n, + this.style.placement.variableOffsets, + ), + this.gpuTimingEnd())); + }), + (Tn.prototype.gpuTimingStart = function (t) { + if (this.options.gpuTiming) { + var e = this.context.extTimerQuery, + r = this.gpuTimers[t.id]; + r || + (r = this.gpuTimers[t.id] = + { + calls: 0, + cpuTime: 0, + query: e.createQueryEXT(), + }), + r.calls++, + e.beginQueryEXT( + e.TIME_ELAPSED_EXT, + r.query, + ); + } + }), + (Tn.prototype.gpuTimingEnd = function () { + if (this.options.gpuTiming) { + var t = this.context.extTimerQuery; + t.endQueryEXT(t.TIME_ELAPSED_EXT); + } + }), + (Tn.prototype.collectGpuTimers = function () { + var t = this.gpuTimers; + return (this.gpuTimers = {}), t; + }), + (Tn.prototype.queryGpuTimers = function (t) { + var e = {}; + for (var r in t) { + var n = t[r], + i = this.context.extTimerQuery, + a = + i.getQueryObjectEXT( + n.query, + i.QUERY_RESULT_EXT, + ) / 1e6; + i.deleteQueryEXT(n.query), (e[r] = a); + } + return e; + }), + (Tn.prototype.translatePosMatrix = function ( + e, + r, + n, + i, + a, + ) { + if (!n[0] && !n[1]) return e; + var o = a + ? "map" === i + ? this.transform.angle + : 0 + : "viewport" === i + ? -this.transform.angle + : 0; + if (o) { + var s = Math.sin(o), + l = Math.cos(o); + n = [ + n[0] * l - n[1] * s, + n[0] * s + n[1] * l, + ]; + } + var u = [ + a ? n[0] : ge(r, n[0], this.transform.zoom), + a ? n[1] : ge(r, n[1], this.transform.zoom), + 0, + ], + c = new Float32Array(16); + return t.translate(c, e, u), c; + }), + (Tn.prototype.saveTileTexture = function (t) { + var e = this._tileTextures[t.size[0]]; + e + ? e.push(t) + : (this._tileTextures[t.size[0]] = [t]); + }), + (Tn.prototype.getTileTexture = function (t) { + var e = this._tileTextures[t]; + return e && e.length > 0 ? e.pop() : null; + }), + (Tn.prototype.isPatternMissing = function (t) { + if (!t) return !1; + if (!t.from || !t.to) return !0; + var e = this.imageManager.getPattern( + t.from.toString(), + ), + r = this.imageManager.getPattern( + t.to.toString(), + ); + return !e || !r; + }), + (Tn.prototype.useProgram = function (t, e) { + this.cache = this.cache || {}; + var r = + "" + + t + + (e ? e.cacheKey : "") + + (this._showOverdrawInspector + ? "/overdraw" + : ""); + return ( + this.cache[r] || + (this.cache[r] = new kr( + this.context, + wr[t], + e, + $r[t], + this._showOverdrawInspector, + )), + this.cache[r] + ); + }), + (Tn.prototype.setCustomLayerDefaults = + function () { + this.context.unbindVAO(), + this.context.cullFace.setDefault(), + this.context.activeTexture.setDefault(), + this.context.pixelStoreUnpack.setDefault(), + this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(), + this.context.pixelStoreUnpackFlipY.setDefault(); + }), + (Tn.prototype.setBaseState = function () { + var t = this.context.gl; + this.context.cullFace.set(!1), + this.context.viewport.set([ + 0, + 0, + this.width, + this.height, + ]), + this.context.blendEquation.set(t.FUNC_ADD); + }), + (Tn.prototype.initDebugOverlayCanvas = + function () { + if (null == this.debugOverlayCanvas) { + (this.debugOverlayCanvas = + t.window.document.createElement( + "canvas", + )), + (this.debugOverlayCanvas.width = 512), + (this.debugOverlayCanvas.height = 512); + var e = this.context.gl; + this.debugOverlayTexture = new t.Texture( + this.context, + this.debugOverlayCanvas, + e.RGBA, + ); + } + }), + (Tn.prototype.destroy = function () { + this.emptyTexture.destroy(), + this.debugOverlayTexture && + this.debugOverlayTexture.destroy(); + }); + var kn = function (t, e) { + (this.points = t), (this.planes = e); + }; + kn.fromInvProjectionMatrix = function (e, r, n) { + var i = Math.pow(2, n), + a = [ + [-1, 1, -1, 1], + [1, 1, -1, 1], + [1, -1, -1, 1], + [-1, -1, -1, 1], + [-1, 1, 1, 1], + [1, 1, 1, 1], + [1, -1, 1, 1], + [-1, -1, 1, 1], + ] + .map(function (r) { + return t.transformMat4([], r, e); + }) + .map(function (e) { + return t.scale$1([], e, (1 / e[3] / r) * i); + }), + o = [ + [0, 1, 2], + [6, 5, 4], + [0, 3, 7], + [2, 1, 5], + [3, 2, 6], + [0, 4, 5], + ].map(function (e) { + var r = t.sub([], a[e[0]], a[e[1]]), + n = t.sub([], a[e[2]], a[e[1]]), + i = t.normalize([], t.cross([], r, n)), + o = -t.dot(i, a[e[1]]); + return i.concat(o); + }); + return new kn(a, o); + }; + var An = function (e, r) { + (this.min = e), + (this.max = r), + (this.center = t.scale$2( + [], + t.add([], this.min, this.max), + 0.5, + )); + }; + (An.prototype.quadrant = function (e) { + for ( + var r = [e % 2 == 0, e < 2], + n = t.clone$2(this.min), + i = t.clone$2(this.max), + a = 0; + a < r.length; + a++ + ) + (n[a] = r[a] ? this.min[a] : this.center[a]), + (i[a] = r[a] ? this.center[a] : this.max[a]); + return (i[2] = this.max[2]), new An(n, i); + }), + (An.prototype.distanceX = function (t) { + return ( + Math.max( + Math.min(this.max[0], t[0]), + this.min[0], + ) - t[0] + ); + }), + (An.prototype.distanceY = function (t) { + return ( + Math.max( + Math.min(this.max[1], t[1]), + this.min[1], + ) - t[1] + ); + }), + (An.prototype.intersects = function (e) { + for ( + var r = [ + [this.min[0], this.min[1], 0, 1], + [this.max[0], this.min[1], 0, 1], + [this.max[0], this.max[1], 0, 1], + [this.min[0], this.max[1], 0, 1], + ], + n = !0, + i = 0; + i < e.planes.length; + i++ + ) { + for ( + var a = e.planes[i], o = 0, s = 0; + s < r.length; + s++ + ) + o += t.dot$1(a, r[s]) >= 0; + if (0 === o) return 0; + o !== r.length && (n = !1); + } + if (n) return 2; + for (var l = 0; l < 3; l++) { + for ( + var u = Number.MAX_VALUE, + c = -Number.MAX_VALUE, + f = 0; + f < e.points.length; + f++ + ) { + var h = e.points[f][l] - this.min[l]; + (u = Math.min(u, h)), (c = Math.max(c, h)); + } + if (c < 0 || u > this.max[l] - this.min[l]) + return 0; + } + return 1; + }); + var Mn = function (t, e, r, n) { + if ( + (void 0 === t && (t = 0), + void 0 === e && (e = 0), + void 0 === r && (r = 0), + void 0 === n && (n = 0), + isNaN(t) || + t < 0 || + isNaN(e) || + e < 0 || + isNaN(r) || + r < 0 || + isNaN(n) || + n < 0) + ) + throw new Error( + "Invalid value for edge-insets, top, bottom, left and right must all be numbers", + ); + (this.top = t), + (this.bottom = e), + (this.left = r), + (this.right = n); + }; + (Mn.prototype.interpolate = function (e, r, n) { + return ( + null != r.top && + null != e.top && + (this.top = t.number(e.top, r.top, n)), + null != r.bottom && + null != e.bottom && + (this.bottom = t.number( + e.bottom, + r.bottom, + n, + )), + null != r.left && + null != e.left && + (this.left = t.number(e.left, r.left, n)), + null != r.right && + null != e.right && + (this.right = t.number(e.right, r.right, n)), + this + ); + }), + (Mn.prototype.getCenter = function (e, r) { + var n = t.clamp( + (this.left + e - this.right) / 2, + 0, + e, + ), + i = t.clamp( + (this.top + r - this.bottom) / 2, + 0, + r, + ); + return new t.Point(n, i); + }), + (Mn.prototype.equals = function (t) { + return ( + this.top === t.top && + this.bottom === t.bottom && + this.left === t.left && + this.right === t.right + ); + }), + (Mn.prototype.clone = function () { + return new Mn( + this.top, + this.bottom, + this.left, + this.right, + ); + }), + (Mn.prototype.toJSON = function () { + return { + top: this.top, + bottom: this.bottom, + left: this.left, + right: this.right, + }; + }); + var Sn = function (e, r, n, i, a) { + (this.tileSize = 512), + (this.maxValidLatitude = 85.051129), + (this._renderWorldCopies = void 0 === a || a), + (this._minZoom = e || 0), + (this._maxZoom = r || 22), + (this._minPitch = null == n ? 0 : n), + (this._maxPitch = null == i ? 60 : i), + this.setMaxBounds(), + (this.width = 0), + (this.height = 0), + (this._center = new t.LngLat(0, 0)), + (this.zoom = 0), + (this.angle = 0), + (this._fov = 0.6435011087932844), + (this._pitch = 0), + (this._unmodified = !0), + (this._edgeInsets = new Mn()), + (this._posMatrixCache = {}), + (this._alignedPosMatrixCache = {}); + }, + En = { + minZoom: { configurable: !0 }, + maxZoom: { configurable: !0 }, + minPitch: { configurable: !0 }, + maxPitch: { configurable: !0 }, + renderWorldCopies: { configurable: !0 }, + worldSize: { configurable: !0 }, + centerOffset: { configurable: !0 }, + size: { configurable: !0 }, + bearing: { configurable: !0 }, + pitch: { configurable: !0 }, + fov: { configurable: !0 }, + zoom: { configurable: !0 }, + center: { configurable: !0 }, + padding: { configurable: !0 }, + centerPoint: { configurable: !0 }, + unmodified: { configurable: !0 }, + point: { configurable: !0 }, + }; + (Sn.prototype.clone = function () { + var t = new Sn( + this._minZoom, + this._maxZoom, + this._minPitch, + this.maxPitch, + 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._edgeInsets = this._edgeInsets.clone()), + t._calcMatrices(), + t + ); + }), + (En.minZoom.get = function () { + return this._minZoom; + }), + (En.minZoom.set = function (t) { + this._minZoom !== t && + ((this._minZoom = t), + (this.zoom = Math.max(this.zoom, t))); + }), + (En.maxZoom.get = function () { + return this._maxZoom; + }), + (En.maxZoom.set = function (t) { + this._maxZoom !== t && + ((this._maxZoom = t), + (this.zoom = Math.min(this.zoom, t))); + }), + (En.minPitch.get = function () { + return this._minPitch; + }), + (En.minPitch.set = function (t) { + this._minPitch !== t && + ((this._minPitch = t), + (this.pitch = Math.max(this.pitch, t))); + }), + (En.maxPitch.get = function () { + return this._maxPitch; + }), + (En.maxPitch.set = function (t) { + this._maxPitch !== t && + ((this._maxPitch = t), + (this.pitch = Math.min(this.pitch, t))); + }), + (En.renderWorldCopies.get = function () { + return this._renderWorldCopies; + }), + (En.renderWorldCopies.set = function (t) { + void 0 === t + ? (t = !0) + : null === t && (t = !1), + (this._renderWorldCopies = t); + }), + (En.worldSize.get = function () { + return this.tileSize * this.scale; + }), + (En.centerOffset.get = function () { + return this.centerPoint._sub(this.size._div(2)); + }), + (En.size.get = function () { + return new t.Point(this.width, this.height); + }), + (En.bearing.get = function () { + return (-this.angle / Math.PI) * 180; + }), + (En.bearing.set = function (e) { + var r = (-t.wrap(e, -180, 180) * Math.PI) / 180; + this.angle !== r && + ((this._unmodified = !1), + (this.angle = r), + this._calcMatrices(), + (this.rotationMatrix = t.create$2()), + t.rotate( + this.rotationMatrix, + this.rotationMatrix, + this.angle, + )); + }), + (En.pitch.get = function () { + return (this._pitch / Math.PI) * 180; + }), + (En.pitch.set = function (e) { + var r = + (t.clamp(e, this.minPitch, this.maxPitch) / + 180) * + Math.PI; + this._pitch !== r && + ((this._unmodified = !1), + (this._pitch = r), + this._calcMatrices()); + }), + (En.fov.get = function () { + return (this._fov / Math.PI) * 180; + }), + (En.fov.set = function (t) { + (t = Math.max(0.01, Math.min(60, t))), + this._fov !== t && + ((this._unmodified = !1), + (this._fov = (t / 180) * Math.PI), + this._calcMatrices()); + }), + (En.zoom.get = function () { + return this._zoom; + }), + (En.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()); + }), + (En.center.get = function () { + return this._center; + }), + (En.center.set = function (t) { + (t.lat === this._center.lat && + t.lng === this._center.lng) || + ((this._unmodified = !1), + (this._center = t), + this._constrain(), + this._calcMatrices()); + }), + (En.padding.get = function () { + return this._edgeInsets.toJSON(); + }), + (En.padding.set = function (t) { + this._edgeInsets.equals(t) || + ((this._unmodified = !1), + this._edgeInsets.interpolate( + this._edgeInsets, + t, + 1, + ), + this._calcMatrices()); + }), + (En.centerPoint.get = function () { + return this._edgeInsets.getCenter( + this.width, + this.height, + ); + }), + (Sn.prototype.isPaddingEqual = function (t) { + return this._edgeInsets.equals(t); + }), + (Sn.prototype.interpolatePadding = function ( + t, + e, + r, + ) { + (this._unmodified = !1), + this._edgeInsets.interpolate(t, e, r), + this._constrain(), + this._calcMatrices(); + }), + (Sn.prototype.coveringZoomLevel = function (t) { + var e = (t.roundZoom ? Math.round : Math.floor)( + this.zoom + + this.scaleZoom(this.tileSize / t.tileSize), + ); + return Math.max(0, e); + }), + (Sn.prototype.getVisibleUnwrappedCoordinates = + function (e) { + var r = [new t.UnwrappedTileID(0, e)]; + if (this._renderWorldCopies) + for ( + var n = this.pointCoordinate( + new t.Point(0, 0), + ), + i = this.pointCoordinate( + new t.Point(this.width, 0), + ), + a = this.pointCoordinate( + new t.Point(this.width, this.height), + ), + o = this.pointCoordinate( + new t.Point(0, this.height), + ), + s = Math.floor( + Math.min(n.x, i.x, a.x, o.x), + ), + l = Math.floor( + Math.max(n.x, i.x, a.x, o.x), + ), + u = s - 1; + u <= l + 1; + u++ + ) + 0 !== u && + r.push(new t.UnwrappedTileID(u, e)); + return r; + }), + (Sn.prototype.coveringTiles = function (e) { + var r = this.coveringZoomLevel(e), + n = r; + if (void 0 !== e.minzoom && r < e.minzoom) + return []; + void 0 !== e.maxzoom && + r > e.maxzoom && + (r = e.maxzoom); + var i = t.MercatorCoordinate.fromLngLat( + this.center, + ), + a = Math.pow(2, r), + o = [a * i.x, a * i.y, 0], + s = kn.fromInvProjectionMatrix( + this.invProjMatrix, + this.worldSize, + r, + ), + l = e.minzoom || 0; + this.pitch <= 60 && + this._edgeInsets.top < 0.1 && + (l = r); + var u = function (t) { + return { + aabb: new An( + [t * a, 0, 0], + [(t + 1) * a, a, 0], + ), + zoom: 0, + x: 0, + y: 0, + wrap: t, + fullyVisible: !1, + }; + }, + c = [], + f = [], + h = r, + p = e.reparseOverscaled ? n : r; + if (this._renderWorldCopies) + for (var d = 1; d <= 3; d++) + c.push(u(-d)), c.push(u(d)); + for (c.push(u(0)); c.length > 0; ) { + var v = c.pop(), + g = v.x, + y = v.y, + m = v.fullyVisible; + if (!m) { + var x = v.aabb.intersects(s); + if (0 === x) continue; + m = 2 === x; + } + var b = v.aabb.distanceX(o), + _ = v.aabb.distanceY(o), + w = Math.max(Math.abs(b), Math.abs(_)), + T = 3 + (1 << (h - v.zoom)) - 2; + if (v.zoom === h || (w > T && v.zoom >= l)) + f.push({ + tileID: new t.OverscaledTileID( + v.zoom === h ? p : v.zoom, + v.wrap, + v.zoom, + g, + y, + ), + distanceSq: t.sqrLen([ + o[0] - 0.5 - g, + o[1] - 0.5 - y, + ]), + }); + else + for (var k = 0; k < 4; k++) { + var A = (g << 1) + (k % 2), + M = (y << 1) + (k >> 1); + c.push({ + aabb: v.aabb.quadrant(k), + zoom: v.zoom + 1, + x: A, + y: M, + wrap: v.wrap, + fullyVisible: m, + }); + } + } + return f + .sort(function (t, e) { + return t.distanceSq - e.distanceSq; + }) + .map(function (t) { + return t.tileID; + }); + }), + (Sn.prototype.resize = function (t, e) { + (this.width = t), + (this.height = e), + (this.pixelsToGLUnits = [2 / t, -2 / e]), + this._constrain(), + this._calcMatrices(); + }), + (En.unmodified.get = function () { + return this._unmodified; + }), + (Sn.prototype.zoomScale = function (t) { + return Math.pow(2, t); + }), + (Sn.prototype.scaleZoom = function (t) { + return Math.log(t) / Math.LN2; + }), + (Sn.prototype.project = function (e) { + var r = t.clamp( + e.lat, + -this.maxValidLatitude, + this.maxValidLatitude, + ); + return new t.Point( + t.mercatorXfromLng(e.lng) * this.worldSize, + t.mercatorYfromLat(r) * this.worldSize, + ); + }), + (Sn.prototype.unproject = function (e) { + return new t.MercatorCoordinate( + e.x / this.worldSize, + e.y / this.worldSize, + ).toLngLat(); + }), + (En.point.get = function () { + return this.project(this.center); + }), + (Sn.prototype.setLocationAtPoint = function ( + e, + r, + ) { + var n = this.pointCoordinate(r), + i = this.pointCoordinate(this.centerPoint), + a = this.locationCoordinate(e), + o = new t.MercatorCoordinate( + a.x - (n.x - i.x), + a.y - (n.y - i.y), + ); + (this.center = this.coordinateLocation(o)), + this._renderWorldCopies && + (this.center = this.center.wrap()); + }), + (Sn.prototype.locationPoint = function (t) { + return this.coordinatePoint( + this.locationCoordinate(t), + ); + }), + (Sn.prototype.pointLocation = function (t) { + return this.coordinateLocation( + this.pointCoordinate(t), + ); + }), + (Sn.prototype.locationCoordinate = function (e) { + return t.MercatorCoordinate.fromLngLat(e); + }), + (Sn.prototype.coordinateLocation = function (t) { + return t.toLngLat(); + }), + (Sn.prototype.pointCoordinate = function (e) { + var r = [e.x, e.y, 0, 1], + n = [e.x, e.y, 1, 1]; + t.transformMat4(r, r, this.pixelMatrixInverse), + t.transformMat4( + n, + n, + this.pixelMatrixInverse, + ); + var i = r[3], + a = n[3], + o = r[0] / i, + s = n[0] / a, + l = r[1] / i, + u = n[1] / a, + c = r[2] / i, + f = n[2] / a, + h = c === f ? 0 : (0 - c) / (f - c); + return new t.MercatorCoordinate( + t.number(o, s, h) / this.worldSize, + t.number(l, u, h) / this.worldSize, + ); + }), + (Sn.prototype.coordinatePoint = function (e) { + var r = [ + e.x * this.worldSize, + e.y * this.worldSize, + 0, + 1, + ]; + return ( + t.transformMat4(r, r, this.pixelMatrix), + new t.Point(r[0] / r[3], r[1] / r[3]) + ); + }), + (Sn.prototype.getBounds = function () { + return new t.LngLatBounds() + .extend(this.pointLocation(new t.Point(0, 0))) + .extend( + this.pointLocation( + new t.Point(this.width, 0), + ), + ) + .extend( + this.pointLocation( + new t.Point(this.width, this.height), + ), + ) + .extend( + this.pointLocation( + new t.Point(0, this.height), + ), + ); + }), + (Sn.prototype.getMaxBounds = function () { + return this.latRange && + 2 === this.latRange.length && + this.lngRange && + 2 === this.lngRange.length + ? new t.LngLatBounds( + [this.lngRange[0], this.latRange[0]], + [this.lngRange[1], this.latRange[1]], + ) + : null; + }), + (Sn.prototype.setMaxBounds = function (t) { + t + ? ((this.lngRange = [ + t.getWest(), + t.getEast(), + ]), + (this.latRange = [ + t.getSouth(), + t.getNorth(), + ]), + this._constrain()) + : ((this.lngRange = null), + (this.latRange = [ + -this.maxValidLatitude, + this.maxValidLatitude, + ])); + }), + (Sn.prototype.calculatePosMatrix = function ( + e, + r, + ) { + void 0 === r && (r = !1); + var n = e.key, + i = r + ? this._alignedPosMatrixCache + : this._posMatrixCache; + if (i[n]) return i[n]; + var a = e.canonical, + o = this.worldSize / this.zoomScale(a.z), + s = a.x + Math.pow(2, a.z) * e.wrap, + l = t.identity(new Float64Array(16)); + return ( + t.translate(l, l, [s * o, a.y * o, 0]), + t.scale(l, l, [ + o / t.EXTENT, + o / t.EXTENT, + 1, + ]), + t.multiply( + l, + r + ? this.alignedProjMatrix + : this.projMatrix, + l, + ), + (i[n] = new Float32Array(l)), + i[n] + ); + }), + (Sn.prototype.customLayerMatrix = function () { + return this.mercatorMatrix.slice(); + }), + (Sn.prototype._constrain = function () { + if ( + this.center && + this.width && + this.height && + !this._constraining + ) { + this._constraining = !0; + var e, + r, + n, + i, + a = -90, + o = 90, + s = -180, + l = 180, + u = this.size, + c = this._unmodified; + if (this.latRange) { + var f = this.latRange; + (a = + t.mercatorYfromLat(f[1]) * + this.worldSize), + (e = + (o = + t.mercatorYfromLat(f[0]) * + this.worldSize) - + a < + u.y + ? u.y / (o - a) + : 0); + } + if (this.lngRange) { + var h = this.lngRange; + (s = + t.mercatorXfromLng(h[0]) * + this.worldSize), + (r = + (l = + t.mercatorXfromLng(h[1]) * + this.worldSize) - + s < + u.x + ? u.x / (l - s) + : 0); + } + var p = this.point, + d = Math.max(r || 0, e || 0); + if (d) + return ( + (this.center = this.unproject( + new t.Point( + r ? (l + s) / 2 : p.x, + e ? (o + a) / 2 : p.y, + ), + )), + (this.zoom += this.scaleZoom(d)), + (this._unmodified = c), + void (this._constraining = !1) + ); + if (this.latRange) { + var v = p.y, + g = u.y / 2; + v - g < a && (i = a + g), + v + g > o && (i = o - g); + } + if (this.lngRange) { + var y = p.x, + m = u.x / 2; + y - m < s && (n = s + m), + y + m > l && (n = l - m); + } + (void 0 === n && void 0 === i) || + (this.center = this.unproject( + new t.Point( + void 0 !== n ? n : p.x, + void 0 !== i ? i : p.y, + ), + )), + (this._unmodified = c), + (this._constraining = !1); + } + }), + (Sn.prototype._calcMatrices = function () { + if (this.height) { + var e = this._fov / 2, + r = this.centerOffset; + this.cameraToCenterDistance = + (0.5 / Math.tan(e)) * this.height; + var n = Math.PI / 2 + this._pitch, + i = this._fov * (0.5 + r.y / this.height), + a = + (Math.sin(i) * + this.cameraToCenterDistance) / + Math.sin( + t.clamp( + Math.PI - n - i, + 0.01, + Math.PI - 0.01, + ), + ), + o = this.point, + s = o.x, + l = o.y, + u = + 1.01 * + (Math.cos(Math.PI / 2 - this._pitch) * a + + this.cameraToCenterDistance), + c = this.height / 50, + f = new Float64Array(16); + t.perspective( + f, + this._fov, + this.width / this.height, + c, + u, + ), + (f[8] = (2 * -r.x) / this.width), + (f[9] = (2 * r.y) / this.height), + t.scale(f, f, [1, -1, 1]), + t.translate(f, f, [ + 0, + 0, + -this.cameraToCenterDistance, + ]), + t.rotateX(f, f, this._pitch), + t.rotateZ(f, f, this.angle), + t.translate(f, f, [-s, -l, 0]), + (this.mercatorMatrix = t.scale([], f, [ + this.worldSize, + this.worldSize, + this.worldSize, + ])), + t.scale(f, f, [ + 1, + 1, + t.mercatorZfromAltitude( + 1, + this.center.lat, + ) * this.worldSize, + 1, + ]), + (this.projMatrix = f), + (this.invProjMatrix = t.invert( + [], + this.projMatrix, + )); + var h = (this.width % 2) / 2, + p = (this.height % 2) / 2, + d = Math.cos(this.angle), + v = Math.sin(this.angle), + g = s - Math.round(s) + d * h + v * p, + y = l - Math.round(l) + d * p + v * h, + m = new Float64Array(f); + if ( + (t.translate(m, m, [ + g > 0.5 ? g - 1 : g, + y > 0.5 ? y - 1 : y, + 0, + ]), + (this.alignedProjMatrix = m), + (f = t.create()), + t.scale(f, f, [ + this.width / 2, + -this.height / 2, + 1, + ]), + t.translate(f, f, [1, -1, 0]), + (this.labelPlaneMatrix = f), + (f = t.create()), + t.scale(f, f, [1, -1, 1]), + t.translate(f, f, [-1, -1, 0]), + t.scale(f, f, [ + 2 / this.width, + 2 / this.height, + 1, + ]), + (this.glCoordMatrix = f), + (this.pixelMatrix = t.multiply( + new Float64Array(16), + this.labelPlaneMatrix, + this.projMatrix, + )), + !(f = t.invert( + new Float64Array(16), + this.pixelMatrix, + ))) + ) + throw new Error("failed to invert matrix"); + (this.pixelMatrixInverse = f), + (this._posMatrixCache = {}), + (this._alignedPosMatrixCache = {}); + } + }), + (Sn.prototype.maxPitchScaleFactor = function () { + if (!this.pixelMatrixInverse) return 1; + var e = this.pointCoordinate(new t.Point(0, 0)), + r = [ + e.x * this.worldSize, + e.y * this.worldSize, + 0, + 1, + ]; + return ( + t.transformMat4(r, r, this.pixelMatrix)[3] / + this.cameraToCenterDistance + ); + }), + (Sn.prototype.getCameraPoint = function () { + var e = this._pitch, + r = + Math.tan(e) * + (this.cameraToCenterDistance || 1); + return this.centerPoint.add(new t.Point(0, r)); + }), + (Sn.prototype.getCameraQueryGeometry = function ( + e, + ) { + var r = this.getCameraPoint(); + if (1 === e.length) return [e[0], r]; + for ( + var n = r.x, + i = r.y, + a = r.x, + o = r.y, + s = 0, + l = e; + s < l.length; + s += 1 + ) { + var u = l[s]; + (n = Math.min(n, u.x)), + (i = Math.min(i, u.y)), + (a = Math.max(a, u.x)), + (o = Math.max(o, u.y)); + } + return [ + new t.Point(n, i), + new t.Point(a, i), + new t.Point(a, o), + new t.Point(n, o), + new t.Point(n, i), + ]; + }), + Object.defineProperties(Sn.prototype, En); + var Ln = function (e) { + var r, n, i, a, o; + (this._hashName = e && encodeURIComponent(e)), + t.bindAll( + [ + "_getCurrentHash", + "_onHashChange", + "_updateHash", + ], + this, + ), + (this._updateHash = + ((r = this._updateHashUnthrottled.bind(this)), + (n = 300), + (i = !1), + (a = null), + (o = function () { + (a = null), + i && + (r(), (a = setTimeout(o, n)), (i = !1)); + }), + function () { + return (i = !0), a || o(), a; + })); + }; + (Ln.prototype.addTo = function (e) { + return ( + (this._map = e), + t.window.addEventListener( + "hashchange", + this._onHashChange, + !1, + ), + this._map.on("moveend", this._updateHash), + this + ); + }), + (Ln.prototype.remove = function () { + return ( + t.window.removeEventListener( + "hashchange", + this._onHashChange, + !1, + ), + this._map.off("moveend", this._updateHash), + clearTimeout(this._updateHash()), + delete this._map, + this + ); + }), + (Ln.prototype.getHashString = function (e) { + var r = this._map.getCenter(), + n = + Math.round(100 * this._map.getZoom()) / 100, + i = Math.ceil( + (n * Math.LN2 + Math.log(512 / 360 / 0.5)) / + Math.LN10, + ), + a = Math.pow(10, i), + o = Math.round(r.lng * a) / a, + s = Math.round(r.lat * a) / a, + l = this._map.getBearing(), + u = this._map.getPitch(), + c = ""; + if ( + ((c += e + ? "/" + o + "/" + s + "/" + n + : n + "/" + s + "/" + o), + (l || u) && + (c += "/" + Math.round(10 * l) / 10), + u && (c += "/" + Math.round(u)), + this._hashName) + ) { + var f = this._hashName, + h = !1, + p = t.window.location.hash + .slice(1) + .split("&") + .map(function (t) { + var e = t.split("=")[0]; + return e === f + ? ((h = !0), e + "=" + c) + : t; + }) + .filter(function (t) { + return t; + }); + return ( + h || p.push(f + "=" + c), "#" + p.join("&") + ); + } + return "#" + c; + }), + (Ln.prototype._getCurrentHash = function () { + var e, + r = this, + n = t.window.location.hash.replace("#", ""); + return this._hashName + ? (n + .split("&") + .map(function (t) { + return t.split("="); + }) + .forEach(function (t) { + t[0] === r._hashName && (e = t); + }), + ((e && e[1]) || "").split("/")) + : n.split("/"); + }), + (Ln.prototype._onHashChange = function () { + var t = this._getCurrentHash(); + if ( + t.length >= 3 && + !t.some(function (t) { + return isNaN(t); + }) + ) { + var e = + this._map.dragRotate.isEnabled() && + this._map.touchZoomRotate.isEnabled() + ? +(t[3] || 0) + : this._map.getBearing(); + return ( + this._map.jumpTo({ + center: [+t[2], +t[1]], + zoom: +t[0], + bearing: e, + pitch: +(t[4] || 0), + }), + !0 + ); + } + return !1; + }), + (Ln.prototype._updateHashUnthrottled = + function () { + var e = this.getHashString(); + try { + t.window.history.replaceState( + t.window.history.state, + "", + e, + ); + } catch (t) {} + }); + var Cn = { + linearity: 0.3, + easing: t.bezier(0, 0, 0.3, 1), + }, + On = t.extend( + { deceleration: 2500, maxSpeed: 1400 }, + Cn, + ), + Pn = t.extend( + { deceleration: 20, maxSpeed: 1400 }, + Cn, + ), + In = t.extend( + { deceleration: 1e3, maxSpeed: 360 }, + Cn, + ), + Dn = t.extend( + { deceleration: 1e3, maxSpeed: 90 }, + Cn, + ), + zn = function (t) { + (this._map = t), this.clear(); + }; + function Rn(t, e) { + (!t.duration || t.duration < e.duration) && + ((t.duration = e.duration), + (t.easing = e.easing)); + } + function Fn(e, r, n) { + var i = n.maxSpeed, + a = n.linearity, + o = n.deceleration, + s = t.clamp((e * a) / (r / 1e3), -i, i), + l = Math.abs(s) / (o * a); + return { + easing: n.easing, + duration: 1e3 * l, + amount: s * (l / 2), + }; + } + (zn.prototype.clear = function () { + this._inertiaBuffer = []; + }), + (zn.prototype.record = function (e) { + this._drainInertiaBuffer(), + this._inertiaBuffer.push({ + time: t.browser.now(), + settings: e, + }); + }), + (zn.prototype._drainInertiaBuffer = function () { + for ( + var e = this._inertiaBuffer, + r = t.browser.now(); + e.length > 0 && r - e[0].time > 160; + + ) + e.shift(); + }), + (zn.prototype._onMoveEnd = function (e) { + if ( + (this._drainInertiaBuffer(), + !(this._inertiaBuffer.length < 2)) + ) { + for ( + var r = { + zoom: 0, + bearing: 0, + pitch: 0, + pan: new t.Point(0, 0), + pinchAround: void 0, + around: void 0, + }, + n = 0, + i = this._inertiaBuffer; + n < i.length; + n += 1 + ) { + var a = i[n].settings; + (r.zoom += a.zoomDelta || 0), + (r.bearing += a.bearingDelta || 0), + (r.pitch += a.pitchDelta || 0), + a.panDelta && r.pan._add(a.panDelta), + a.around && (r.around = a.around), + a.pinchAround && + (r.pinchAround = a.pinchAround); + } + var o = + this._inertiaBuffer[ + this._inertiaBuffer.length - 1 + ].time - this._inertiaBuffer[0].time, + s = {}; + if (r.pan.mag()) { + var l = Fn( + r.pan.mag(), + o, + t.extend({}, On, e || {}), + ); + (s.offset = r.pan.mult( + l.amount / r.pan.mag(), + )), + (s.center = this._map.transform.center), + Rn(s, l); + } + if (r.zoom) { + var u = Fn(r.zoom, o, Pn); + (s.zoom = + this._map.transform.zoom + u.amount), + Rn(s, u); + } + if (r.bearing) { + var c = Fn(r.bearing, o, In); + (s.bearing = + this._map.transform.bearing + + t.clamp(c.amount, -179, 179)), + Rn(s, c); + } + if (r.pitch) { + var f = Fn(r.pitch, o, Dn); + (s.pitch = + this._map.transform.pitch + f.amount), + Rn(s, f); + } + if (s.zoom || s.bearing) { + var h = + void 0 === r.pinchAround + ? r.around + : r.pinchAround; + s.around = h + ? this._map.unproject(h) + : this._map.getCenter(); + } + return ( + this.clear(), + t.extend(s, { noMoveStart: !0 }) + ); + } + }); + var Bn = (function (e) { + function n(n, i, a, o) { + void 0 === o && (o = {}); + var s = r.mousePos(i.getCanvasContainer(), a), + l = i.unproject(s); + e.call( + this, + n, + t.extend( + { point: s, lngLat: l, originalEvent: a }, + o, + ), + ), + (this._defaultPrevented = !1), + (this.target = i); + } + e && (n.__proto__ = e), + (n.prototype = Object.create( + e && e.prototype, + )), + (n.prototype.constructor = n); + var i = { + defaultPrevented: { configurable: !0 }, + }; + return ( + (n.prototype.preventDefault = function () { + this._defaultPrevented = !0; + }), + (i.defaultPrevented.get = function () { + return this._defaultPrevented; + }), + Object.defineProperties(n.prototype, i), + n + ); + })(t.Event), + Nn = (function (e) { + function n(n, i, a) { + var o = + "touchend" === n + ? a.changedTouches + : a.touches, + s = r.touchPos(i.getCanvasContainer(), o), + l = s.map(function (t) { + return i.unproject(t); + }), + u = s.reduce( + function (t, e, r, n) { + return t.add(e.div(n.length)); + }, + new t.Point(0, 0), + ), + c = i.unproject(u); + e.call(this, n, { + points: s, + point: u, + lngLats: l, + lngLat: c, + originalEvent: a, + }), + (this._defaultPrevented = !1); + } + e && (n.__proto__ = e), + (n.prototype = Object.create( + e && e.prototype, + )), + (n.prototype.constructor = n); + var i = { + defaultPrevented: { configurable: !0 }, + }; + return ( + (n.prototype.preventDefault = function () { + this._defaultPrevented = !0; + }), + (i.defaultPrevented.get = function () { + return this._defaultPrevented; + }), + Object.defineProperties(n.prototype, i), + n + ); + })(t.Event), + jn = (function (t) { + function e(e, r, n) { + t.call(this, e, { originalEvent: n }), + (this._defaultPrevented = !1); + } + t && (e.__proto__ = t), + (e.prototype = Object.create( + t && t.prototype, + )), + (e.prototype.constructor = e); + var r = { + defaultPrevented: { configurable: !0 }, + }; + return ( + (e.prototype.preventDefault = function () { + this._defaultPrevented = !0; + }), + (r.defaultPrevented.get = function () { + return this._defaultPrevented; + }), + Object.defineProperties(e.prototype, r), + e + ); + })(t.Event), + Un = function (t, e) { + (this._map = t), + (this._clickTolerance = e.clickTolerance); + }; + (Un.prototype.reset = function () { + delete this._mousedownPos; + }), + (Un.prototype.wheel = function (t) { + return this._firePreventable( + new jn(t.type, this._map, t), + ); + }), + (Un.prototype.mousedown = function (t, e) { + return ( + (this._mousedownPos = e), + this._firePreventable( + new Bn(t.type, this._map, t), + ) + ); + }), + (Un.prototype.mouseup = function (t) { + this._map.fire(new Bn(t.type, this._map, t)); + }), + (Un.prototype.click = function (t, e) { + (this._mousedownPos && + this._mousedownPos.dist(e) >= + this._clickTolerance) || + this._map.fire(new Bn(t.type, this._map, t)); + }), + (Un.prototype.dblclick = function (t) { + return this._firePreventable( + new Bn(t.type, this._map, t), + ); + }), + (Un.prototype.mouseover = function (t) { + this._map.fire(new Bn(t.type, this._map, t)); + }), + (Un.prototype.mouseout = function (t) { + this._map.fire(new Bn(t.type, this._map, t)); + }), + (Un.prototype.touchstart = function (t) { + return this._firePreventable( + new Nn(t.type, this._map, t), + ); + }), + (Un.prototype.touchmove = function (t) { + this._map.fire(new Nn(t.type, this._map, t)); + }), + (Un.prototype.touchend = function (t) { + this._map.fire(new Nn(t.type, this._map, t)); + }), + (Un.prototype.touchcancel = function (t) { + this._map.fire(new Nn(t.type, this._map, t)); + }), + (Un.prototype._firePreventable = function (t) { + if ((this._map.fire(t), t.defaultPrevented)) + return {}; + }), + (Un.prototype.isEnabled = function () { + return !0; + }), + (Un.prototype.isActive = function () { + return !1; + }), + (Un.prototype.enable = function () {}), + (Un.prototype.disable = function () {}); + var Vn = function (t) { + this._map = t; + }; + (Vn.prototype.reset = function () { + (this._delayContextMenu = !1), + delete this._contextMenuEvent; + }), + (Vn.prototype.mousemove = function (t) { + this._map.fire(new Bn(t.type, this._map, t)); + }), + (Vn.prototype.mousedown = function () { + this._delayContextMenu = !0; + }), + (Vn.prototype.mouseup = function () { + (this._delayContextMenu = !1), + this._contextMenuEvent && + (this._map.fire( + new Bn( + "contextmenu", + this._map, + this._contextMenuEvent, + ), + ), + delete this._contextMenuEvent); + }), + (Vn.prototype.contextmenu = function (t) { + this._delayContextMenu + ? (this._contextMenuEvent = t) + : this._map.fire( + new Bn(t.type, this._map, t), + ), + this._map.listens("contextmenu") && + t.preventDefault(); + }), + (Vn.prototype.isEnabled = function () { + return !0; + }), + (Vn.prototype.isActive = function () { + return !1; + }), + (Vn.prototype.enable = function () {}), + (Vn.prototype.disable = function () {}); + var Hn = function (t, e) { + (this._map = t), + (this._el = t.getCanvasContainer()), + (this._container = t.getContainer()), + (this._clickTolerance = e.clickTolerance || 1); + }; + function qn(t, e) { + for (var r = {}, n = 0; n < t.length; n++) + r[t[n].identifier] = e[n]; + return r; + } + (Hn.prototype.isEnabled = function () { + return !!this._enabled; + }), + (Hn.prototype.isActive = function () { + return !!this._active; + }), + (Hn.prototype.enable = function () { + this.isEnabled() || (this._enabled = !0); + }), + (Hn.prototype.disable = function () { + this.isEnabled() && (this._enabled = !1); + }), + (Hn.prototype.mousedown = function (t, e) { + this.isEnabled() && + t.shiftKey && + 0 === t.button && + (r.disableDrag(), + (this._startPos = this._lastPos = e), + (this._active = !0)); + }), + (Hn.prototype.mousemoveWindow = function (t, e) { + if (this._active) { + var n = e; + if ( + !( + this._lastPos.equals(n) || + (!this._box && + n.dist(this._startPos) < + this._clickTolerance) + ) + ) { + var i = this._startPos; + (this._lastPos = n), + this._box || + ((this._box = r.create( + "div", + "mapboxgl-boxzoom", + this._container, + )), + this._container.classList.add( + "mapboxgl-crosshair", + ), + this._fireEvent("boxzoomstart", t)); + var a = Math.min(i.x, n.x), + o = Math.max(i.x, n.x), + s = Math.min(i.y, n.y), + l = Math.max(i.y, n.y); + r.setTransform( + this._box, + "translate(" + a + "px," + s + "px)", + ), + (this._box.style.width = o - a + "px"), + (this._box.style.height = l - s + "px"); + } + } + }), + (Hn.prototype.mouseupWindow = function (e, n) { + var i = this; + if (this._active && 0 === e.button) { + var a = this._startPos, + o = n; + if ( + (this.reset(), + r.suppressClick(), + a.x !== o.x || a.y !== o.y) + ) + return ( + this._map.fire( + new t.Event("boxzoomend", { + originalEvent: e, + }), + ), + { + cameraAnimation: function (t) { + return t.fitScreenCoordinates( + a, + o, + i._map.getBearing(), + { linear: !0 }, + ); + }, + } + ); + this._fireEvent("boxzoomcancel", e); + } + }), + (Hn.prototype.keydown = function (t) { + this._active && + 27 === t.keyCode && + (this.reset(), + this._fireEvent("boxzoomcancel", t)); + }), + (Hn.prototype.reset = function () { + (this._active = !1), + this._container.classList.remove( + "mapboxgl-crosshair", + ), + this._box && + (r.remove(this._box), (this._box = null)), + r.enableDrag(), + delete this._startPos, + delete this._lastPos; + }), + (Hn.prototype._fireEvent = function (e, r) { + return this._map.fire( + new t.Event(e, { originalEvent: r }), + ); + }); + var Gn = function (t) { + this.reset(), (this.numTouches = t.numTouches); + }; + (Gn.prototype.reset = function () { + delete this.centroid, + delete this.startTime, + delete this.touches, + (this.aborted = !1); + }), + (Gn.prototype.touchstart = function (e, r, n) { + (this.centroid || n.length > this.numTouches) && + (this.aborted = !0), + this.aborted || + (void 0 === this.startTime && + (this.startTime = e.timeStamp), + n.length === this.numTouches && + ((this.centroid = (function (e) { + for ( + var r = new t.Point(0, 0), + n = 0, + i = e; + n < i.length; + n += 1 + ) { + var a = i[n]; + r._add(a); + } + return r.div(e.length); + })(r)), + (this.touches = qn(n, r)))); + }), + (Gn.prototype.touchmove = function (t, e, r) { + if (!this.aborted && this.centroid) { + var n = qn(r, e); + for (var i in this.touches) { + var a = this.touches[i], + o = n[i]; + (!o || o.dist(a) > 30) && + (this.aborted = !0); + } + } + }), + (Gn.prototype.touchend = function (t, e, r) { + if ( + ((!this.centroid || + t.timeStamp - this.startTime > 500) && + (this.aborted = !0), + 0 === r.length) + ) { + var n = !this.aborted && this.centroid; + if ((this.reset(), n)) return n; + } + }); + var Zn = function (t) { + (this.singleTap = new Gn(t)), + (this.numTaps = t.numTaps), + this.reset(); + }; + (Zn.prototype.reset = function () { + (this.lastTime = 1 / 0), + delete this.lastTap, + (this.count = 0), + this.singleTap.reset(); + }), + (Zn.prototype.touchstart = function (t, e, r) { + this.singleTap.touchstart(t, e, r); + }), + (Zn.prototype.touchmove = function (t, e, r) { + this.singleTap.touchmove(t, e, r); + }), + (Zn.prototype.touchend = function (t, e, r) { + var n = this.singleTap.touchend(t, e, r); + if (n) { + var i = t.timeStamp - this.lastTime < 500, + a = + !this.lastTap || + this.lastTap.dist(n) < 30; + if ( + ((i && a) || this.reset(), + this.count++, + (this.lastTime = t.timeStamp), + (this.lastTap = n), + this.count === this.numTaps) + ) + return this.reset(), n; + } + }); + var Wn = function () { + (this._zoomIn = new Zn({ + numTouches: 1, + numTaps: 2, + })), + (this._zoomOut = new Zn({ + numTouches: 2, + numTaps: 1, + })), + this.reset(); + }; + (Wn.prototype.reset = function () { + (this._active = !1), + this._zoomIn.reset(), + this._zoomOut.reset(); + }), + (Wn.prototype.touchstart = function (t, e, r) { + this._zoomIn.touchstart(t, e, r), + this._zoomOut.touchstart(t, e, r); + }), + (Wn.prototype.touchmove = function (t, e, r) { + this._zoomIn.touchmove(t, e, r), + this._zoomOut.touchmove(t, e, r); + }), + (Wn.prototype.touchend = function (t, e, r) { + var n = this, + i = this._zoomIn.touchend(t, e, r), + a = this._zoomOut.touchend(t, e, r); + return i + ? ((this._active = !0), + t.preventDefault(), + setTimeout(function () { + return n.reset(); + }, 0), + { + cameraAnimation: function (e) { + return e.easeTo( + { + duration: 300, + zoom: e.getZoom() + 1, + around: e.unproject(i), + }, + { originalEvent: t }, + ); + }, + }) + : a + ? ((this._active = !0), + t.preventDefault(), + setTimeout(function () { + return n.reset(); + }, 0), + { + cameraAnimation: function (e) { + return e.easeTo( + { + duration: 300, + zoom: e.getZoom() - 1, + around: e.unproject(a), + }, + { originalEvent: t }, + ); + }, + }) + : void 0; + }), + (Wn.prototype.touchcancel = function () { + this.reset(); + }), + (Wn.prototype.enable = function () { + this._enabled = !0; + }), + (Wn.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + (Wn.prototype.isEnabled = function () { + return this._enabled; + }), + (Wn.prototype.isActive = function () { + return this._active; + }); + var Yn = function (t) { + this.reset(), + (this._clickTolerance = t.clickTolerance || 1); + }; + (Yn.prototype.reset = function () { + (this._active = !1), + (this._moved = !1), + delete this._lastPoint, + delete this._eventButton; + }), + (Yn.prototype._correctButton = function (t, e) { + return !1; + }), + (Yn.prototype._move = function (t, e) { + return {}; + }), + (Yn.prototype.mousedown = function (t, e) { + if (!this._lastPoint) { + var n = r.mouseButton(t); + this._correctButton(t, n) && + ((this._lastPoint = e), + (this._eventButton = n)); + } + }), + (Yn.prototype.mousemoveWindow = function (t, e) { + var r = this._lastPoint; + if ( + r && + (t.preventDefault(), + this._moved || + !(e.dist(r) < this._clickTolerance)) + ) + return ( + (this._moved = !0), + (this._lastPoint = e), + this._move(r, e) + ); + }), + (Yn.prototype.mouseupWindow = function (t) { + r.mouseButton(t) === this._eventButton && + (this._moved && r.suppressClick(), + this.reset()); + }), + (Yn.prototype.enable = function () { + this._enabled = !0; + }), + (Yn.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + (Yn.prototype.isEnabled = function () { + return this._enabled; + }), + (Yn.prototype.isActive = function () { + return this._active; + }); + var Xn = (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.mousedown = function (e, r) { + t.prototype.mousedown.call(this, e, r), + this._lastPoint && (this._active = !0); + }), + (e.prototype._correctButton = function ( + t, + e, + ) { + return 0 === e && !t.ctrlKey; + }), + (e.prototype._move = function (t, e) { + return { around: e, panDelta: e.sub(t) }; + }), + e + ); + })(Yn), + Jn = (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._correctButton = function ( + t, + e, + ) { + return (0 === e && t.ctrlKey) || 2 === e; + }), + (e.prototype._move = function (t, e) { + var r = 0.8 * (e.x - t.x); + if (r) + return ( + (this._active = !0), { bearingDelta: r } + ); + }), + (e.prototype.contextmenu = function (t) { + t.preventDefault(); + }), + e + ); + })(Yn), + Kn = (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._correctButton = function ( + t, + e, + ) { + return (0 === e && t.ctrlKey) || 2 === e; + }), + (e.prototype._move = function (t, e) { + var r = -0.5 * (e.y - t.y); + if (r) + return ( + (this._active = !0), { pitchDelta: r } + ); + }), + (e.prototype.contextmenu = function (t) { + t.preventDefault(); + }), + e + ); + })(Yn), + $n = function (t) { + (this._minTouches = 1), + (this._clickTolerance = + t.clickTolerance || 1), + this.reset(); + }; + ($n.prototype.reset = function () { + (this._active = !1), + (this._touches = {}), + (this._sum = new t.Point(0, 0)); + }), + ($n.prototype.touchstart = function (t, e, r) { + return this._calculateTransform(t, e, r); + }), + ($n.prototype.touchmove = function (t, e, r) { + if (this._active) + return ( + t.preventDefault(), + this._calculateTransform(t, e, r) + ); + }), + ($n.prototype.touchend = function (t, e, r) { + this._calculateTransform(t, e, r), + this._active && + r.length < this._minTouches && + this.reset(); + }), + ($n.prototype.touchcancel = function () { + this.reset(); + }), + ($n.prototype._calculateTransform = function ( + e, + r, + n, + ) { + n.length > 0 && (this._active = !0); + var i = qn(n, r), + a = new t.Point(0, 0), + o = new t.Point(0, 0), + s = 0; + for (var l in i) { + var u = i[l], + c = this._touches[l]; + c && + (a._add(u), + o._add(u.sub(c)), + s++, + (i[l] = u)); + } + if ( + ((this._touches = i), + !(s < this._minTouches) && o.mag()) + ) { + var f = o.div(s); + if ( + (this._sum._add(f), + !(this._sum.mag() < this._clickTolerance)) + ) + return { around: a.div(s), panDelta: f }; + } + }), + ($n.prototype.enable = function () { + this._enabled = !0; + }), + ($n.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + ($n.prototype.isEnabled = function () { + return this._enabled; + }), + ($n.prototype.isActive = function () { + return this._active; + }); + var Qn = function () { + this.reset(); + }; + function ti(t, e, r) { + for (var n = 0; n < t.length; n++) + if (t[n].identifier === r) return e[n]; + } + (Qn.prototype.reset = function () { + (this._active = !1), delete this._firstTwoTouches; + }), + (Qn.prototype._start = function (t) {}), + (Qn.prototype._move = function (t, e, r) { + return {}; + }), + (Qn.prototype.touchstart = function (t, e, r) { + this._firstTwoTouches || + r.length < 2 || + ((this._firstTwoTouches = [ + r[0].identifier, + r[1].identifier, + ]), + this._start([e[0], e[1]])); + }), + (Qn.prototype.touchmove = function (t, e, r) { + if (this._firstTwoTouches) { + t.preventDefault(); + var n = this._firstTwoTouches, + i = n[0], + a = n[1], + o = ti(r, e, i), + s = ti(r, e, a); + if (o && s) { + var l = this._aroundCenter + ? null + : o.add(s).div(2); + return this._move([o, s], l, t); + } + } + }), + (Qn.prototype.touchend = function (t, e, n) { + if (this._firstTwoTouches) { + var i = this._firstTwoTouches, + a = i[0], + o = i[1], + s = ti(n, e, a), + l = ti(n, e, o); + (s && l) || + (this._active && r.suppressClick(), + this.reset()); + } + }), + (Qn.prototype.touchcancel = function () { + this.reset(); + }), + (Qn.prototype.enable = function (t) { + (this._enabled = !0), + (this._aroundCenter = + !!t && "center" === t.around); + }), + (Qn.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + (Qn.prototype.isEnabled = function () { + return this._enabled; + }), + (Qn.prototype.isActive = function () { + return this._active; + }); + function ei(t, e) { + return Math.log(t / e) / Math.LN2; + } + var ri = (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.reset = function () { + t.prototype.reset.call(this), + delete this._distance, + delete this._startDistance; + }), + (e.prototype._start = function (t) { + this._startDistance = this._distance = + t[0].dist(t[1]); + }), + (e.prototype._move = function (t, e) { + var r = this._distance; + if ( + ((this._distance = t[0].dist(t[1])), + this._active || + !( + Math.abs( + ei( + this._distance, + this._startDistance, + ), + ) < 0.1 + )) + ) + return ( + (this._active = !0), + { + zoomDelta: ei(this._distance, r), + pinchAround: e, + } + ); + }), + e + ); + })(Qn); + function ni(t, e) { + return (180 * t.angleWith(e)) / Math.PI; + } + var ii = (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.reset = function () { + t.prototype.reset.call(this), + delete this._minDiameter, + delete this._startVector, + delete this._vector; + }), + (e.prototype._start = function (t) { + (this._startVector = this._vector = + t[0].sub(t[1])), + (this._minDiameter = t[0].dist(t[1])); + }), + (e.prototype._move = function (t, e) { + var r = this._vector; + if ( + ((this._vector = t[0].sub(t[1])), + this._active || + !this._isBelowThreshold(this._vector)) + ) + return ( + (this._active = !0), + { + bearingDelta: ni(this._vector, r), + pinchAround: e, + } + ); + }), + (e.prototype._isBelowThreshold = function (t) { + this._minDiameter = Math.min( + this._minDiameter, + t.mag(), + ); + var e = + (25 / (Math.PI * this._minDiameter)) * + 360, + r = ni(t, this._startVector); + return Math.abs(r) < e; + }), + e + ); + })(Qn); + function ai(t) { + return Math.abs(t.y) > Math.abs(t.x); + } + var oi = (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.reset = function () { + t.prototype.reset.call(this), + (this._valid = void 0), + delete this._firstMove, + delete this._lastPoints; + }), + (e.prototype._start = function (t) { + (this._lastPoints = t), + ai(t[0].sub(t[1])) && (this._valid = !1); + }), + (e.prototype._move = function (t, e, r) { + var n = t[0].sub(this._lastPoints[0]), + i = t[1].sub(this._lastPoints[1]); + if ( + ((this._valid = + this.gestureBeginsVertically( + n, + i, + r.timeStamp, + )), + this._valid) + ) + return ( + (this._lastPoints = t), + (this._active = !0), + { pitchDelta: ((n.y + i.y) / 2) * -0.5 } + ); + }), + (e.prototype.gestureBeginsVertically = + function (t, e, r) { + if (void 0 !== this._valid) + return this._valid; + var n = t.mag() >= 2, + i = e.mag() >= 2; + if (n || i) { + if (!n || !i) + return ( + void 0 === this._firstMove && + (this._firstMove = r), + r - this._firstMove < 100 && void 0 + ); + var a = t.y > 0 == e.y > 0; + return ai(t) && ai(e) && a; + } + }), + e + ); + })(Qn), + si = { + panStep: 100, + bearingStep: 15, + pitchStep: 10, + }, + li = function () { + var t = si; + (this._panStep = t.panStep), + (this._bearingStep = t.bearingStep), + (this._pitchStep = t.pitchStep); + }; + function ui(t) { + return t * (2 - t); + } + (li.prototype.reset = function () { + this._active = !1; + }), + (li.prototype.keydown = function (t) { + var e = this; + if (!(t.altKey || t.ctrlKey || t.metaKey)) { + var r = 0, + n = 0, + i = 0, + a = 0, + o = 0; + switch (t.keyCode) { + case 61: + case 107: + case 171: + case 187: + r = 1; + break; + case 189: + case 109: + case 173: + r = -1; + break; + case 37: + t.shiftKey + ? (n = -1) + : (t.preventDefault(), (a = -1)); + break; + case 39: + t.shiftKey + ? (n = 1) + : (t.preventDefault(), (a = 1)); + break; + case 38: + t.shiftKey + ? (i = 1) + : (t.preventDefault(), (o = -1)); + break; + case 40: + t.shiftKey + ? (i = -1) + : (t.preventDefault(), (o = 1)); + break; + default: + return; + } + return { + cameraAnimation: function (s) { + var l = s.getZoom(); + s.easeTo( + { + duration: 300, + easeId: "keyboardHandler", + easing: ui, + zoom: r + ? Math.round(l) + + r * (t.shiftKey ? 2 : 1) + : l, + bearing: + s.getBearing() + n * e._bearingStep, + pitch: + s.getPitch() + i * e._pitchStep, + offset: [ + -a * e._panStep, + -o * e._panStep, + ], + center: s.getCenter(), + }, + { originalEvent: t }, + ); + }, + }; + } + }), + (li.prototype.enable = function () { + this._enabled = !0; + }), + (li.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + (li.prototype.isEnabled = function () { + return this._enabled; + }), + (li.prototype.isActive = function () { + return this._active; + }); + var ci = 4.000244140625, + fi = function (e, r) { + (this._map = e), + (this._el = e.getCanvasContainer()), + (this._handler = r), + (this._delta = 0), + (this._defaultZoomRate = 0.01), + (this._wheelZoomRate = 0.0022222222222222222), + t.bindAll( + [ + "_onWheel", + "_onTimeout", + "_onScrollFrame", + "_onScrollFinished", + ], + this, + ); + }; + (fi.prototype.setZoomRate = function (t) { + this._defaultZoomRate = t; + }), + (fi.prototype.setWheelZoomRate = function (t) { + this._wheelZoomRate = t; + }), + (fi.prototype.isEnabled = function () { + return !!this._enabled; + }), + (fi.prototype.isActive = function () { + return ( + !!this._active || + void 0 !== this._finishTimeout + ); + }), + (fi.prototype.isZooming = function () { + return !!this._zooming; + }), + (fi.prototype.enable = function (t) { + this.isEnabled() || + ((this._enabled = !0), + (this._aroundCenter = + t && "center" === t.around)); + }), + (fi.prototype.disable = function () { + this.isEnabled() && (this._enabled = !1); + }), + (fi.prototype.wheel = function (e) { + if (this.isEnabled()) { + var r = + e.deltaMode === + t.window.WheelEvent.DOM_DELTA_LINE + ? 40 * e.deltaY + : e.deltaY, + n = t.browser.now(), + i = n - (this._lastWheelEventTime || 0); + (this._lastWheelEventTime = n), + 0 !== r && r % ci == 0 + ? (this._type = "wheel") + : 0 !== r && Math.abs(r) < 4 + ? (this._type = "trackpad") + : i > 400 + ? ((this._type = null), + (this._lastValue = r), + (this._timeout = setTimeout( + this._onTimeout, + 40, + e, + ))) + : this._type || + ((this._type = + Math.abs(i * r) < 200 + ? "trackpad" + : "wheel"), + this._timeout && + (clearTimeout(this._timeout), + (this._timeout = null), + (r += this._lastValue))), + e.shiftKey && r && (r /= 4), + this._type && + ((this._lastWheelEvent = e), + (this._delta -= r), + this._active || this._start(e)), + e.preventDefault(); + } + }), + (fi.prototype._onTimeout = function (t) { + (this._type = "wheel"), + (this._delta -= this._lastValue), + this._active || this._start(t); + }), + (fi.prototype._start = function (e) { + if (this._delta) { + this._frameId && (this._frameId = null), + (this._active = !0), + this.isZooming() || (this._zooming = !0), + this._finishTimeout && + (clearTimeout(this._finishTimeout), + delete this._finishTimeout); + var n = r.mousePos(this._el, e); + (this._around = t.LngLat.convert( + this._aroundCenter + ? this._map.getCenter() + : this._map.unproject(n), + )), + (this._aroundPoint = + this._map.transform.locationPoint( + this._around, + )), + this._frameId || + ((this._frameId = !0), + this._handler._triggerRenderFrame()); + } + }), + (fi.prototype.renderFrame = function () { + return this._onScrollFrame(); + }), + (fi.prototype._onScrollFrame = function () { + var e = this; + if ( + this._frameId && + ((this._frameId = null), this.isActive()) + ) { + var r = this._map.transform; + if (0 !== this._delta) { + var n = + "wheel" === this._type && + Math.abs(this._delta) > ci + ? this._wheelZoomRate + : this._defaultZoomRate, + i = + 2 / + (1 + + Math.exp(-Math.abs(this._delta * n))); + this._delta < 0 && 0 !== i && (i = 1 / i); + var a = + "number" == typeof this._targetZoom + ? r.zoomScale(this._targetZoom) + : r.scale; + (this._targetZoom = Math.min( + r.maxZoom, + Math.max(r.minZoom, r.scaleZoom(a * i)), + )), + "wheel" === this._type && + ((this._startZoom = r.zoom), + (this._easing = + this._smoothOutEasing(200))), + (this._delta = 0); + } + var o, + s = + "number" == typeof this._targetZoom + ? this._targetZoom + : r.zoom, + l = this._startZoom, + u = this._easing, + c = !1; + if ("wheel" === this._type && l && u) { + var f = Math.min( + (t.browser.now() - + this._lastWheelEventTime) / + 200, + 1, + ), + h = u(f); + (o = t.number(l, s, h)), + f < 1 + ? this._frameId || (this._frameId = !0) + : (c = !0); + } else (o = s), (c = !0); + return ( + (this._active = !0), + c && + ((this._active = !1), + (this._finishTimeout = setTimeout( + function () { + (e._zooming = !1), + e._handler._triggerRenderFrame(), + delete e._targetZoom, + delete e._finishTimeout; + }, + 200, + ))), + { + noInertia: !0, + needsRenderFrame: !c, + zoomDelta: o - r.zoom, + around: this._aroundPoint, + originalEvent: this._lastWheelEvent, + } + ); + } + }), + (fi.prototype._smoothOutEasing = function (e) { + var r = t.ease; + if (this._prevEase) { + var n = this._prevEase, + i = + (t.browser.now() - n.start) / n.duration, + a = n.easing(i + 0.01) - n.easing(i), + o = (0.27 / Math.sqrt(a * a + 1e-4)) * 0.01, + s = Math.sqrt(0.0729 - o * o); + r = t.bezier(o, s, 0.25, 1); + } + return ( + (this._prevEase = { + start: t.browser.now(), + duration: e, + easing: r, + }), + r + ); + }), + (fi.prototype.reset = function () { + this._active = !1; + }); + var hi = function (t, e) { + (this._clickZoom = t), (this._tapZoom = e); + }; + (hi.prototype.enable = function () { + this._clickZoom.enable(), this._tapZoom.enable(); + }), + (hi.prototype.disable = function () { + this._clickZoom.disable(), + this._tapZoom.disable(); + }), + (hi.prototype.isEnabled = function () { + return ( + this._clickZoom.isEnabled() && + this._tapZoom.isEnabled() + ); + }), + (hi.prototype.isActive = function () { + return ( + this._clickZoom.isActive() || + this._tapZoom.isActive() + ); + }); + var pi = function () { + this.reset(); + }; + (pi.prototype.reset = function () { + this._active = !1; + }), + (pi.prototype.dblclick = function (t, e) { + return ( + t.preventDefault(), + { + cameraAnimation: function (r) { + r.easeTo( + { + duration: 300, + zoom: + r.getZoom() + (t.shiftKey ? -1 : 1), + around: r.unproject(e), + }, + { originalEvent: t }, + ); + }, + } + ); + }), + (pi.prototype.enable = function () { + this._enabled = !0; + }), + (pi.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + (pi.prototype.isEnabled = function () { + return this._enabled; + }), + (pi.prototype.isActive = function () { + return this._active; + }); + var di = function () { + (this._tap = new Zn({ + numTouches: 1, + numTaps: 1, + })), + this.reset(); + }; + (di.prototype.reset = function () { + (this._active = !1), + delete this._swipePoint, + delete this._swipeTouch, + delete this._tapTime, + this._tap.reset(); + }), + (di.prototype.touchstart = function (t, e, r) { + this._swipePoint || + (this._tapTime && + t.timeStamp - this._tapTime > 500 && + this.reset(), + this._tapTime + ? r.length > 0 && + ((this._swipePoint = e[0]), + (this._swipeTouch = r[0].identifier)) + : this._tap.touchstart(t, e, r)); + }), + (di.prototype.touchmove = function (t, e, r) { + if (this._tapTime) { + if (this._swipePoint) { + if (r[0].identifier !== this._swipeTouch) + return; + var n = e[0], + i = n.y - this._swipePoint.y; + return ( + (this._swipePoint = n), + t.preventDefault(), + (this._active = !0), + { zoomDelta: i / 128 } + ); + } + } else this._tap.touchmove(t, e, r); + }), + (di.prototype.touchend = function (t, e, r) { + this._tapTime + ? this._swipePoint && + 0 === r.length && + this.reset() + : this._tap.touchend(t, e, r) && + (this._tapTime = t.timeStamp); + }), + (di.prototype.touchcancel = function () { + this.reset(); + }), + (di.prototype.enable = function () { + this._enabled = !0; + }), + (di.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + (di.prototype.isEnabled = function () { + return this._enabled; + }), + (di.prototype.isActive = function () { + return this._active; + }); + var vi = function (t, e, r) { + (this._el = t), + (this._mousePan = e), + (this._touchPan = r); + }; + (vi.prototype.enable = function (t) { + (this._inertiaOptions = t || {}), + this._mousePan.enable(), + this._touchPan.enable(), + this._el.classList.add( + "mapboxgl-touch-drag-pan", + ); + }), + (vi.prototype.disable = function () { + this._mousePan.disable(), + this._touchPan.disable(), + this._el.classList.remove( + "mapboxgl-touch-drag-pan", + ); + }), + (vi.prototype.isEnabled = function () { + return ( + this._mousePan.isEnabled() && + this._touchPan.isEnabled() + ); + }), + (vi.prototype.isActive = function () { + return ( + this._mousePan.isActive() || + this._touchPan.isActive() + ); + }); + var gi = function (t, e, r) { + (this._pitchWithRotate = t.pitchWithRotate), + (this._mouseRotate = e), + (this._mousePitch = r); + }; + (gi.prototype.enable = function () { + this._mouseRotate.enable(), + this._pitchWithRotate && + this._mousePitch.enable(); + }), + (gi.prototype.disable = function () { + this._mouseRotate.disable(), + this._mousePitch.disable(); + }), + (gi.prototype.isEnabled = function () { + return ( + this._mouseRotate.isEnabled() && + (!this._pitchWithRotate || + this._mousePitch.isEnabled()) + ); + }), + (gi.prototype.isActive = function () { + return ( + this._mouseRotate.isActive() || + this._mousePitch.isActive() + ); + }); + var yi = function (t, e, r, n) { + (this._el = t), + (this._touchZoom = e), + (this._touchRotate = r), + (this._tapDragZoom = n), + (this._rotationDisabled = !1), + (this._enabled = !0); + }; + (yi.prototype.enable = function (t) { + this._touchZoom.enable(t), + this._rotationDisabled || + this._touchRotate.enable(t), + this._tapDragZoom.enable(), + this._el.classList.add( + "mapboxgl-touch-zoom-rotate", + ); + }), + (yi.prototype.disable = function () { + this._touchZoom.disable(), + this._touchRotate.disable(), + this._tapDragZoom.disable(), + this._el.classList.remove( + "mapboxgl-touch-zoom-rotate", + ); + }), + (yi.prototype.isEnabled = function () { + return ( + this._touchZoom.isEnabled() && + (this._rotationDisabled || + this._touchRotate.isEnabled()) && + this._tapDragZoom.isEnabled() + ); + }), + (yi.prototype.isActive = function () { + return ( + this._touchZoom.isActive() || + this._touchRotate.isActive() || + this._tapDragZoom.isActive() + ); + }), + (yi.prototype.disableRotation = function () { + (this._rotationDisabled = !0), + this._touchRotate.disable(); + }), + (yi.prototype.enableRotation = function () { + (this._rotationDisabled = !1), + this._touchZoom.isEnabled() && + this._touchRotate.enable(); + }); + var mi = function (t) { + return t.zoom || t.drag || t.pitch || t.rotate; + }, + xi = (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 + ); + })(t.Event); + function bi(t) { + return ( + (t.panDelta && t.panDelta.mag()) || + t.zoomDelta || + t.bearingDelta || + t.pitchDelta + ); + } + var _i = function (e, n) { + (this._map = e), + (this._el = this._map.getCanvasContainer()), + (this._handlers = []), + (this._handlersById = {}), + (this._changes = []), + (this._inertia = new zn(e)), + (this._bearingSnap = n.bearingSnap), + (this._previousActiveHandlers = {}), + (this._eventsInProgress = {}), + this._addDefaultHandlers(n), + t.bindAll( + ["handleEvent", "handleWindowEvent"], + this, + ); + var i = this._el; + this._listeners = [ + [i, "touchstart", { passive: !1 }], + [i, "touchmove", { passive: !1 }], + [i, "touchend", void 0], + [i, "touchcancel", void 0], + [i, "mousedown", void 0], + [i, "mousemove", void 0], + [i, "mouseup", void 0], + [ + t.window.document, + "mousemove", + { capture: !0 }, + ], + [t.window.document, "mouseup", void 0], + [i, "mouseover", void 0], + [i, "mouseout", void 0], + [i, "dblclick", void 0], + [i, "click", void 0], + [i, "keydown", { capture: !1 }], + [i, "keyup", void 0], + [i, "wheel", { passive: !1 }], + [i, "contextmenu", void 0], + [t.window, "blur", void 0], + ]; + for ( + var a = 0, o = this._listeners; + a < o.length; + a += 1 + ) { + var s = o[a], + l = s[0], + u = s[1], + c = s[2]; + r.addEventListener( + l, + u, + l === t.window.document + ? this.handleWindowEvent + : this.handleEvent, + c, + ); + } + }; + (_i.prototype.destroy = function () { + for ( + var e = 0, n = this._listeners; + e < n.length; + e += 1 + ) { + var i = n[e], + a = i[0], + o = i[1], + s = i[2]; + r.removeEventListener( + a, + o, + a === t.window.document + ? this.handleWindowEvent + : this.handleEvent, + s, + ); + } + }), + (_i.prototype._addDefaultHandlers = function (t) { + var e = this._map, + r = e.getCanvasContainer(); + this._add("mapEvent", new Un(e, t)); + var n = (e.boxZoom = new Hn(e, t)); + this._add("boxZoom", n); + var i = new Wn(), + a = new pi(); + (e.doubleClickZoom = new hi(a, i)), + this._add("tapZoom", i), + this._add("clickZoom", a); + var o = new di(); + this._add("tapDragZoom", o); + var s = (e.touchPitch = new oi()); + this._add("touchPitch", s); + var l = new Jn(t), + u = new Kn(t); + (e.dragRotate = new gi(t, l, u)), + this._add("mouseRotate", l, ["mousePitch"]), + this._add("mousePitch", u, ["mouseRotate"]); + var c = new Xn(t), + f = new $n(t); + (e.dragPan = new vi(r, c, f)), + this._add("mousePan", c), + this._add("touchPan", f, [ + "touchZoom", + "touchRotate", + ]); + var h = new ii(), + p = new ri(); + (e.touchZoomRotate = new yi(r, p, h, o)), + this._add("touchRotate", h, [ + "touchPan", + "touchZoom", + ]), + this._add("touchZoom", p, [ + "touchPan", + "touchRotate", + ]); + var d = (e.scrollZoom = new fi(e, this)); + this._add("scrollZoom", d, ["mousePan"]); + var v = (e.keyboard = new li()); + this._add("keyboard", v), + this._add("blockableMapEvent", new Vn(e)); + for ( + var g = 0, + y = [ + "boxZoom", + "doubleClickZoom", + "tapDragZoom", + "touchPitch", + "dragRotate", + "dragPan", + "touchZoomRotate", + "scrollZoom", + "keyboard", + ]; + g < y.length; + g += 1 + ) { + var m = y[g]; + t.interactive && t[m] && e[m].enable(t[m]); + } + }), + (_i.prototype._add = function (t, e, r) { + this._handlers.push({ + handlerName: t, + handler: e, + allowed: r, + }), + (this._handlersById[t] = e); + }), + (_i.prototype.stop = function () { + if (!this._updatingCamera) { + for ( + var t = 0, e = this._handlers; + t < e.length; + t += 1 + ) + e[t].handler.reset(); + this._inertia.clear(), + this._fireEvents({}, {}), + (this._changes = []); + } + }), + (_i.prototype.isActive = function () { + for ( + var t = 0, e = this._handlers; + t < e.length; + t += 1 + ) + if (e[t].handler.isActive()) return !0; + return !1; + }), + (_i.prototype.isZooming = function () { + return ( + !!this._eventsInProgress.zoom || + this._map.scrollZoom.isZooming() + ); + }), + (_i.prototype.isRotating = function () { + return !!this._eventsInProgress.rotate; + }), + (_i.prototype.isMoving = function () { + return ( + Boolean(mi(this._eventsInProgress)) || + this.isZooming() + ); + }), + (_i.prototype._blockedByActive = function ( + t, + e, + r, + ) { + for (var n in t) + if (n !== r && (!e || e.indexOf(n) < 0)) + return !0; + return !1; + }), + (_i.prototype.handleWindowEvent = function (t) { + this.handleEvent(t, t.type + "Window"); + }), + (_i.prototype._getMapTouches = function (t) { + for ( + var e = [], r = 0, n = t; + r < n.length; + r += 1 + ) { + var i = n[r], + a = i.target; + this._el.contains(a) && e.push(i); + } + return e; + }), + (_i.prototype.handleEvent = function (t, e) { + if ("blur" !== t.type) { + this._updatingCamera = !0; + for ( + var n = + "renderFrame" === t.type ? void 0 : t, + i = { needsRenderFrame: !1 }, + a = {}, + o = {}, + s = t.touches + ? this._getMapTouches(t.touches) + : void 0, + l = s + ? r.touchPos(this._el, s) + : r.mousePos(this._el, t), + u = 0, + c = this._handlers; + u < c.length; + u += 1 + ) { + var f = c[u], + h = f.handlerName, + p = f.handler, + d = f.allowed; + if (p.isEnabled()) { + var v = void 0; + this._blockedByActive(o, d, h) + ? p.reset() + : p[e || t.type] && + ((v = p[e || t.type](t, l, s)), + this.mergeHandlerResult( + i, + a, + v, + h, + n, + ), + v && + v.needsRenderFrame && + this._triggerRenderFrame()), + (v || p.isActive()) && (o[h] = p); + } + } + var g = {}; + for (var y in this._previousActiveHandlers) + o[y] || (g[y] = n); + (this._previousActiveHandlers = o), + (Object.keys(g).length || bi(i)) && + (this._changes.push([i, a, g]), + this._triggerRenderFrame()), + (Object.keys(o).length || bi(i)) && + this._map._stop(!0), + (this._updatingCamera = !1); + var m = i.cameraAnimation; + m && + (this._inertia.clear(), + this._fireEvents({}, {}), + (this._changes = []), + m(this._map)); + } else this.stop(); + }), + (_i.prototype.mergeHandlerResult = function ( + e, + r, + n, + i, + a, + ) { + if (n) { + t.extend(e, n); + var o = { + handlerName: i, + originalEvent: n.originalEvent || a, + }; + void 0 !== n.zoomDelta && (r.zoom = o), + void 0 !== n.panDelta && (r.drag = o), + void 0 !== n.pitchDelta && (r.pitch = o), + void 0 !== n.bearingDelta && (r.rotate = o); + } + }), + (_i.prototype._applyChanges = function () { + for ( + var e = {}, + r = {}, + n = {}, + i = 0, + a = this._changes; + i < a.length; + i += 1 + ) { + var o = a[i], + s = o[0], + l = o[1], + u = o[2]; + s.panDelta && + (e.panDelta = ( + e.panDelta || new t.Point(0, 0) + )._add(s.panDelta)), + s.zoomDelta && + (e.zoomDelta = + (e.zoomDelta || 0) + s.zoomDelta), + s.bearingDelta && + (e.bearingDelta = + (e.bearingDelta || 0) + s.bearingDelta), + s.pitchDelta && + (e.pitchDelta = + (e.pitchDelta || 0) + s.pitchDelta), + void 0 !== s.around && + (e.around = s.around), + void 0 !== s.pinchAround && + (e.pinchAround = s.pinchAround), + s.noInertia && (e.noInertia = s.noInertia), + t.extend(r, l), + t.extend(n, u); + } + this._updateMapTransform(e, r, n), + (this._changes = []); + }), + (_i.prototype._updateMapTransform = function ( + t, + e, + r, + ) { + var n = this._map, + i = n.transform; + if (!bi(t)) return this._fireEvents(e, r); + var a = t.panDelta, + o = t.zoomDelta, + s = t.bearingDelta, + l = t.pitchDelta, + u = t.around, + c = t.pinchAround; + void 0 !== c && (u = c), + n._stop(!0), + (u = u || n.transform.centerPoint); + var f = i.pointLocation(a ? u.sub(a) : u); + s && (i.bearing += s), + l && (i.pitch += l), + o && (i.zoom += o), + i.setLocationAtPoint(f, u), + this._map._update(), + t.noInertia || this._inertia.record(t), + this._fireEvents(e, r); + }), + (_i.prototype._fireEvents = function (e, r) { + var n = this, + i = mi(this._eventsInProgress), + a = mi(e), + o = {}; + for (var s in e) { + var l = e[s].originalEvent; + this._eventsInProgress[s] || + (o[s + "start"] = l), + (this._eventsInProgress[s] = e[s]); + } + for (var u in (!i && + a && + this._fireEvent("movestart", a.originalEvent), + o)) + this._fireEvent(u, o[u]); + for (var c in (e.rotate && + (this._bearingChanged = !0), + a && this._fireEvent("move", a.originalEvent), + e)) { + var f = e[c].originalEvent; + this._fireEvent(c, f); + } + var h, + p = {}; + for (var d in this._eventsInProgress) { + var v = this._eventsInProgress[d], + g = v.handlerName, + y = v.originalEvent; + this._handlersById[g].isActive() || + (delete this._eventsInProgress[d], + (h = r[g] || y), + (p[d + "end"] = h)); + } + for (var m in p) this._fireEvent(m, p[m]); + var x = mi(this._eventsInProgress); + if ((i || a) && !x) { + this._updatingCamera = !0; + var b = this._inertia._onMoveEnd( + this._map.dragPan._inertiaOptions, + ), + _ = function (t) { + return ( + 0 !== t && + -n._bearingSnap < t && + t < n._bearingSnap + ); + }; + b + ? (_(b.bearing || this._map.getBearing()) && + (b.bearing = 0), + this._map.easeTo(b, { originalEvent: h })) + : (this._map.fire( + new t.Event("moveend", { + originalEvent: h, + }), + ), + _(this._map.getBearing()) && + this._map.resetNorth()), + (this._bearingChanged = !1), + (this._updatingCamera = !1); + } + }), + (_i.prototype._fireEvent = function (e, r) { + this._map.fire( + new t.Event(e, r ? { originalEvent: r } : {}), + ); + }), + (_i.prototype._triggerRenderFrame = function () { + var t = this; + void 0 === this._frameId && + (this._frameId = + this._map._requestRenderFrame(function (e) { + delete t._frameId, + t.handleEvent( + new xi("renderFrame", { + timeStamp: e, + }), + ), + t._applyChanges(); + })); + }); + var wi = (function (e) { + function r(r, n) { + e.call(this), + (this._moving = !1), + (this._zooming = !1), + (this.transform = r), + (this._bearingSnap = n.bearingSnap), + t.bindAll(["_renderFrameCallback"], this); + } + return ( + e && (r.__proto__ = e), + (r.prototype = Object.create( + e && e.prototype, + )), + (r.prototype.constructor = r), + (r.prototype.getCenter = function () { + return new t.LngLat( + this.transform.center.lng, + this.transform.center.lat, + ); + }), + (r.prototype.setCenter = function (t, e) { + return this.jumpTo({ center: t }, e); + }), + (r.prototype.panBy = function (e, r, n) { + return ( + (e = t.Point.convert(e).mult(-1)), + this.panTo( + this.transform.center, + t.extend({ offset: e }, r), + n, + ) + ); + }), + (r.prototype.panTo = function (e, r, n) { + return this.easeTo( + t.extend({ center: e }, r), + n, + ); + }), + (r.prototype.getZoom = function () { + return this.transform.zoom; + }), + (r.prototype.setZoom = function (t, e) { + return this.jumpTo({ zoom: t }, e), this; + }), + (r.prototype.zoomTo = function (e, r, n) { + return this.easeTo( + t.extend({ zoom: e }, r), + n, + ); + }), + (r.prototype.zoomIn = function (t, e) { + return ( + this.zoomTo(this.getZoom() + 1, t, e), + this + ); + }), + (r.prototype.zoomOut = function (t, e) { + return ( + this.zoomTo(this.getZoom() - 1, t, e), + this + ); + }), + (r.prototype.getBearing = function () { + return this.transform.bearing; + }), + (r.prototype.setBearing = function (t, e) { + return this.jumpTo({ bearing: t }, e), this; + }), + (r.prototype.getPadding = function () { + return this.transform.padding; + }), + (r.prototype.setPadding = function (t, e) { + return this.jumpTo({ padding: t }, e), this; + }), + (r.prototype.rotateTo = function (e, r, n) { + return this.easeTo( + t.extend({ bearing: e }, r), + n, + ); + }), + (r.prototype.resetNorth = function (e, r) { + return ( + this.rotateTo( + 0, + t.extend({ duration: 1e3 }, e), + r, + ), + this + ); + }), + (r.prototype.resetNorthPitch = function ( + e, + r, + ) { + return ( + this.easeTo( + t.extend( + { + bearing: 0, + pitch: 0, + duration: 1e3, + }, + e, + ), + r, + ), + this + ); + }), + (r.prototype.snapToNorth = function (t, e) { + return Math.abs(this.getBearing()) < + this._bearingSnap + ? this.resetNorth(t, e) + : this; + }), + (r.prototype.getPitch = function () { + return this.transform.pitch; + }), + (r.prototype.setPitch = function (t, e) { + return this.jumpTo({ pitch: t }, e), this; + }), + (r.prototype.cameraForBounds = function ( + e, + r, + ) { + return ( + (e = t.LngLatBounds.convert(e)), + this._cameraForBoxAndBearing( + e.getNorthWest(), + e.getSouthEast(), + 0, + r, + ) + ); + }), + (r.prototype._cameraForBoxAndBearing = + function (e, r, n, i) { + var a = { + top: 0, + bottom: 0, + right: 0, + left: 0, + }; + if ( + "number" == + typeof (i = t.extend( + { + padding: a, + offset: [0, 0], + maxZoom: this.transform.maxZoom, + }, + i, + )).padding + ) { + var o = i.padding; + i.padding = { + top: o, + bottom: o, + right: o, + left: o, + }; + } + i.padding = t.extend(a, i.padding); + var s = this.transform, + l = s.padding, + u = s.project(t.LngLat.convert(e)), + c = s.project(t.LngLat.convert(r)), + f = u.rotate((-n * Math.PI) / 180), + h = c.rotate((-n * Math.PI) / 180), + p = new t.Point( + Math.max(f.x, h.x), + Math.max(f.y, h.y), + ), + d = new t.Point( + Math.min(f.x, h.x), + Math.min(f.y, h.y), + ), + v = p.sub(d), + g = + (s.width - + (l.left + + l.right + + i.padding.left + + i.padding.right)) / + v.x, + y = + (s.height - + (l.top + + l.bottom + + i.padding.top + + i.padding.bottom)) / + v.y; + if (!(y < 0 || g < 0)) { + var m = Math.min( + s.scaleZoom( + s.scale * Math.min(g, y), + ), + i.maxZoom, + ), + x = t.Point.convert(i.offset), + b = + (i.padding.left - i.padding.right) / + 2, + _ = + (i.padding.top - i.padding.bottom) / + 2, + w = new t.Point( + x.x + b, + x.y + _, + ).mult(s.scale / s.zoomScale(m)); + return { + center: s.unproject( + u.add(c).div(2).sub(w), + ), + zoom: m, + bearing: n, + }; + } + t.warnOnce( + "Map cannot fit within canvas with the given bounds, padding, and/or offset.", + ); + }), + (r.prototype.fitBounds = function (t, e, r) { + return this._fitInternal( + this.cameraForBounds(t, e), + e, + r, + ); + }), + (r.prototype.fitScreenCoordinates = function ( + e, + r, + n, + i, + a, + ) { + return this._fitInternal( + this._cameraForBoxAndBearing( + this.transform.pointLocation( + t.Point.convert(e), + ), + this.transform.pointLocation( + t.Point.convert(r), + ), + n, + i, + ), + i, + a, + ); + }), + (r.prototype._fitInternal = function ( + e, + r, + n, + ) { + return e + ? (delete (r = t.extend(e, r)).padding, + r.linear + ? this.easeTo(r, n) + : this.flyTo(r, n)) + : this; + }), + (r.prototype.jumpTo = function (e, r) { + this.stop(); + var n = this.transform, + i = !1, + a = !1, + o = !1; + return ( + "zoom" in e && + n.zoom !== +e.zoom && + ((i = !0), (n.zoom = +e.zoom)), + void 0 !== e.center && + (n.center = t.LngLat.convert(e.center)), + "bearing" in e && + n.bearing !== +e.bearing && + ((a = !0), (n.bearing = +e.bearing)), + "pitch" in e && + n.pitch !== +e.pitch && + ((o = !0), (n.pitch = +e.pitch)), + null == e.padding || + n.isPaddingEqual(e.padding) || + (n.padding = e.padding), + this.fire( + new t.Event("movestart", r), + ).fire(new t.Event("move", r)), + i && + this.fire(new t.Event("zoomstart", r)) + .fire(new t.Event("zoom", r)) + .fire(new t.Event("zoomend", r)), + a && + this.fire(new t.Event("rotatestart", r)) + .fire(new t.Event("rotate", r)) + .fire(new t.Event("rotateend", r)), + o && + this.fire(new t.Event("pitchstart", r)) + .fire(new t.Event("pitch", r)) + .fire(new t.Event("pitchend", r)), + this.fire(new t.Event("moveend", r)) + ); + }), + (r.prototype.easeTo = function (e, r) { + var n = this; + this._stop(!1, e.easeId), + (!1 === + (e = t.extend( + { + offset: [0, 0], + duration: 500, + easing: t.ease, + }, + e, + )).animate || + (!e.essential && + t.browser.prefersReducedMotion)) && + (e.duration = 0); + var i = this.transform, + a = this.getZoom(), + o = this.getBearing(), + s = this.getPitch(), + l = this.getPadding(), + u = "zoom" in e ? +e.zoom : a, + c = + "bearing" in e + ? this._normalizeBearing(e.bearing, o) + : o, + f = "pitch" in e ? +e.pitch : s, + h = + "padding" in e ? e.padding : i.padding, + p = t.Point.convert(e.offset), + d = i.centerPoint.add(p), + v = i.pointLocation(d), + g = t.LngLat.convert(e.center || v); + this._normalizeCenter(g); + var y, + m, + x = i.project(v), + b = i.project(g).sub(x), + _ = i.zoomScale(u - a); + e.around && + ((y = t.LngLat.convert(e.around)), + (m = i.locationPoint(y))); + var w = { + moving: this._moving, + zooming: this._zooming, + rotating: this._rotating, + pitching: this._pitching, + }; + return ( + (this._zooming = + this._zooming || u !== a), + (this._rotating = + this._rotating || o !== c), + (this._pitching = + this._pitching || f !== s), + (this._padding = !i.isPaddingEqual(h)), + (this._easeId = e.easeId), + this._prepareEase(r, e.noMoveStart, w), + clearTimeout(this._easeEndTimeoutID), + this._ease( + function (e) { + if ( + (n._zooming && + (i.zoom = t.number(a, u, e)), + n._rotating && + (i.bearing = t.number(o, c, e)), + n._pitching && + (i.pitch = t.number(s, f, e)), + n._padding && + (i.interpolatePadding(l, h, e), + (d = i.centerPoint.add(p))), + y) + ) + i.setLocationAtPoint(y, m); + else { + var v = i.zoomScale(i.zoom - a), + g = + u > a + ? Math.min(2, _) + : Math.max(0.5, _), + w = Math.pow(g, 1 - e), + T = i.unproject( + x.add(b.mult(e * w)).mult(v), + ); + i.setLocationAtPoint( + i.renderWorldCopies + ? T.wrap() + : T, + d, + ); + } + n._fireMoveEvents(r); + }, + function (t) { + n._afterEase(r, t); + }, + e, + ), + this + ); + }), + (r.prototype._prepareEase = function ( + e, + r, + n, + ) { + void 0 === n && (n = {}), + (this._moving = !0), + r || + n.moving || + this.fire(new t.Event("movestart", e)), + this._zooming && + !n.zooming && + this.fire(new t.Event("zoomstart", e)), + this._rotating && + !n.rotating && + this.fire( + new t.Event("rotatestart", e), + ), + this._pitching && + !n.pitching && + this.fire(new t.Event("pitchstart", e)); + }), + (r.prototype._fireMoveEvents = function (e) { + this.fire(new t.Event("move", e)), + this._zooming && + this.fire(new t.Event("zoom", e)), + this._rotating && + this.fire(new t.Event("rotate", e)), + this._pitching && + this.fire(new t.Event("pitch", e)); + }), + (r.prototype._afterEase = function (e, r) { + if ( + !this._easeId || + !r || + this._easeId !== r + ) { + delete this._easeId; + var n = this._zooming, + i = this._rotating, + a = this._pitching; + (this._moving = !1), + (this._zooming = !1), + (this._rotating = !1), + (this._pitching = !1), + (this._padding = !1), + n && + this.fire(new t.Event("zoomend", e)), + i && + this.fire( + new t.Event("rotateend", e), + ), + a && + this.fire(new t.Event("pitchend", e)), + this.fire(new t.Event("moveend", e)); + } + }), + (r.prototype.flyTo = function (e, r) { + var n = this; + if ( + !e.essential && + t.browser.prefersReducedMotion + ) { + var i = t.pick(e, [ + "center", + "zoom", + "bearing", + "pitch", + "around", + ]); + return this.jumpTo(i, r); + } + this.stop(), + (e = t.extend( + { + offset: [0, 0], + speed: 1.2, + curve: 1.42, + easing: t.ease, + }, + e, + )); + var a = this.transform, + o = this.getZoom(), + s = this.getBearing(), + l = this.getPitch(), + u = this.getPadding(), + c = + "zoom" in e + ? t.clamp( + +e.zoom, + a.minZoom, + a.maxZoom, + ) + : o, + f = + "bearing" in e + ? this._normalizeBearing(e.bearing, s) + : s, + h = "pitch" in e ? +e.pitch : l, + p = + "padding" in e ? e.padding : a.padding, + d = a.zoomScale(c - o), + v = t.Point.convert(e.offset), + g = a.centerPoint.add(v), + y = a.pointLocation(g), + m = t.LngLat.convert(e.center || y); + this._normalizeCenter(m); + var x = a.project(y), + b = a.project(m).sub(x), + _ = e.curve, + w = Math.max(a.width, a.height), + T = w / d, + k = b.mag(); + if ("minZoom" in e) { + var A = t.clamp( + Math.min(e.minZoom, o, c), + a.minZoom, + a.maxZoom, + ), + M = w / a.zoomScale(A - o); + _ = Math.sqrt((M / k) * 2); + } + var S = _ * _; + function E(t) { + var e = + (T * T - + w * w + + (t ? -1 : 1) * S * S * k * k) / + (2 * (t ? T : w) * S * k); + return Math.log(Math.sqrt(e * e + 1) - e); + } + function L(t) { + return (Math.exp(t) - Math.exp(-t)) / 2; + } + function C(t) { + return (Math.exp(t) + Math.exp(-t)) / 2; + } + var O = E(0), + P = function (t) { + return C(O) / C(O + _ * t); + }, + I = function (t) { + return ( + (w * + ((C(O) * + (L((e = O + _ * t)) / C(e)) - + L(O)) / + S)) / + k + ); + var e; + }, + D = (E(1) - O) / _; + if (Math.abs(k) < 1e-6 || !isFinite(D)) { + if (Math.abs(w - T) < 1e-6) + return this.easeTo(e, r); + var z = T < w ? -1 : 1; + (D = Math.abs(Math.log(T / w)) / _), + (I = function () { + return 0; + }), + (P = function (t) { + return Math.exp(z * _ * t); + }); + } + if ("duration" in e) + e.duration = +e.duration; + else { + var R = + "screenSpeed" in e + ? +e.screenSpeed / _ + : +e.speed; + e.duration = (1e3 * D) / R; + } + return ( + e.maxDuration && + e.duration > e.maxDuration && + (e.duration = 0), + (this._zooming = !0), + (this._rotating = s !== f), + (this._pitching = h !== l), + (this._padding = !a.isPaddingEqual(p)), + this._prepareEase(r, !1), + this._ease( + function (e) { + var i = e * D, + d = 1 / P(i); + (a.zoom = + 1 === e ? c : o + a.scaleZoom(d)), + n._rotating && + (a.bearing = t.number(s, f, e)), + n._pitching && + (a.pitch = t.number(l, h, e)), + n._padding && + (a.interpolatePadding(u, p, e), + (g = a.centerPoint.add(v))); + var y = + 1 === e + ? m + : a.unproject( + x.add(b.mult(I(i))).mult(d), + ); + a.setLocationAtPoint( + a.renderWorldCopies ? y.wrap() : y, + g, + ), + n._fireMoveEvents(r); + }, + function () { + return n._afterEase(r); + }, + e, + ), + this + ); + }), + (r.prototype.isEasing = function () { + return !!this._easeFrameId; + }), + (r.prototype.stop = function () { + return this._stop(); + }), + (r.prototype._stop = function (t, e) { + if ( + (this._easeFrameId && + (this._cancelRenderFrame( + this._easeFrameId, + ), + delete this._easeFrameId, + delete this._onEaseFrame), + this._onEaseEnd) + ) { + var r = this._onEaseEnd; + delete this._onEaseEnd, r.call(this, e); + } + if (!t) { + var n = this.handlers; + n && n.stop(); + } + return this; + }), + (r.prototype._ease = function (e, r, n) { + !1 === n.animate || 0 === n.duration + ? (e(1), r()) + : ((this._easeStart = t.browser.now()), + (this._easeOptions = n), + (this._onEaseFrame = e), + (this._onEaseEnd = r), + (this._easeFrameId = + this._requestRenderFrame( + this._renderFrameCallback, + ))); + }), + (r.prototype._renderFrameCallback = + function () { + var e = Math.min( + (t.browser.now() - this._easeStart) / + this._easeOptions.duration, + 1, + ); + this._onEaseFrame( + this._easeOptions.easing(e), + ), + e < 1 + ? (this._easeFrameId = + this._requestRenderFrame( + this._renderFrameCallback, + )) + : this.stop(); + }), + (r.prototype._normalizeBearing = function ( + e, + r, + ) { + e = t.wrap(e, -180, 180); + var n = Math.abs(e - r); + return ( + Math.abs(e - 360 - r) < n && (e -= 360), + Math.abs(e + 360 - r) < n && (e += 360), + e + ); + }), + (r.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; + } + }), + r + ); + })(t.Evented), + Ti = function (e) { + void 0 === e && (e = {}), + (this.options = e), + t.bindAll( + [ + "_updateEditLink", + "_updateData", + "_updateCompact", + ], + this, + ); + }; + (Ti.prototype.getDefaultPosition = function () { + return "bottom-right"; + }), + (Ti.prototype.onAdd = function (t) { + var e = this.options && this.options.compact; + return ( + (this._map = t), + (this._container = r.create( + "div", + "mapboxgl-ctrl mapboxgl-ctrl-attrib", + )), + (this._innerContainer = r.create( + "div", + "mapboxgl-ctrl-attrib-inner", + this._container, + )), + e && + this._container.classList.add( + "mapboxgl-compact", + ), + this._updateAttributions(), + this._updateEditLink(), + this._map.on("styledata", this._updateData), + 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 + ); + }), + (Ti.prototype.onRemove = function () { + r.remove(this._container), + this._map.off("styledata", this._updateData), + this._map.off("sourcedata", this._updateData), + this._map.off( + "moveend", + this._updateEditLink, + ), + this._map.off("resize", this._updateCompact), + (this._map = void 0), + (this._attribHTML = void 0); + }), + (Ti.prototype._updateEditLink = function () { + var e = this._editLink; + e || + (e = this._editLink = + this._container.querySelector( + ".mapbox-improve-map", + )); + var r = [ + { key: "owner", value: this.styleOwner }, + { key: "id", value: this.styleId }, + { + key: "access_token", + value: + this._map._requestManager + ._customAccessToken || + t.config.ACCESS_TOKEN, + }, + ]; + if (e) { + var n = r.reduce(function (t, e, n) { + return ( + e.value && + (t += + e.key + + "=" + + e.value + + (n < r.length - 1 ? "&" : "")), + t + ); + }, "?"); + (e.href = + t.config.FEEDBACK_URL + + "/" + + n + + (this._map._hash + ? this._map._hash.getHashString(!0) + : "")), + (e.rel = "noopener nofollow"); + } + }), + (Ti.prototype._updateData = function (t) { + !t || + ("metadata" !== t.sourceDataType && + "style" !== t.dataType) || + (this._updateAttributions(), + this._updateEditLink()); + }), + (Ti.prototype._updateAttributions = function () { + if (this._map.style) { + var t = []; + if ( + (this.options.customAttribution && + (Array.isArray( + this.options.customAttribution, + ) + ? (t = t.concat( + this.options.customAttribution.map( + function (t) { + return "string" != typeof t + ? "" + : t; + }, + ), + )) + : "string" == + typeof this.options + .customAttribution && + t.push( + this.options.customAttribution, + )), + 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]; + if (i.used) { + var a = i.getSource(); + a.attribution && + t.indexOf(a.attribution) < 0 && + t.push(a.attribution); + } + } + t.sort(function (t, e) { + return t.length - e.length; + }); + var o = (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; + })).join(" | "); + o !== this._attribHTML && + ((this._attribHTML = o), + t.length + ? ((this._innerContainer.innerHTML = o), + this._container.classList.remove( + "mapboxgl-attrib-empty", + )) + : this._container.classList.add( + "mapboxgl-attrib-empty", + ), + (this._editLink = null)); + } + }), + (Ti.prototype._updateCompact = function () { + this._map.getCanvasContainer().offsetWidth <= + 640 + ? this._container.classList.add( + "mapboxgl-compact", + ) + : this._container.classList.remove( + "mapboxgl-compact", + ); + }); + var ki = function () { + t.bindAll(["_updateLogo"], this), + t.bindAll(["_updateCompact"], this); + }; + (ki.prototype.onAdd = function (t) { + (this._map = t), + (this._container = r.create( + "div", + "mapboxgl-ctrl", + )); + var e = r.create("a", "mapboxgl-ctrl-logo"); + return ( + (e.target = "_blank"), + (e.rel = "noopener nofollow"), + (e.href = "https://www.mapbox.com/"), + e.setAttribute( + "aria-label", + this._map._getUIString("LogoControl.Title"), + ), + e.setAttribute("rel", "noopener nofollow"), + this._container.appendChild(e), + (this._container.style.display = "none"), + this._map.on("sourcedata", this._updateLogo), + this._updateLogo(), + this._map.on("resize", this._updateCompact), + this._updateCompact(), + this._container + ); + }), + (ki.prototype.onRemove = function () { + r.remove(this._container), + this._map.off("sourcedata", this._updateLogo), + this._map.off("resize", this._updateCompact); + }), + (ki.prototype.getDefaultPosition = function () { + return "bottom-left"; + }), + (ki.prototype._updateLogo = function (t) { + (t && "metadata" !== t.sourceDataType) || + (this._container.style.display = + this._logoRequired() ? "block" : "none"); + }), + (ki.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; + } + }), + (ki.prototype._updateCompact = function () { + var t = this._container.children; + if (t.length) { + var e = t[0]; + this._map.getCanvasContainer().offsetWidth < + 250 + ? e.classList.add("mapboxgl-compact") + : e.classList.remove("mapboxgl-compact"); + } + }); + var Ai = function () { + (this._queue = []), + (this._id = 0), + (this._cleared = !1), + (this._currentlyRunning = !1); + }; + (Ai.prototype.add = function (t) { + var e = ++this._id; + return ( + this._queue.push({ + callback: t, + id: e, + cancelled: !1, + }), + e + ); + }), + (Ai.prototype.remove = function (t) { + for ( + var e = this._currentlyRunning, + r = 0, + n = e ? this._queue.concat(e) : this._queue; + r < n.length; + r += 1 + ) { + var i = n[r]; + if (i.id === t) + return void (i.cancelled = !0); + } + }), + (Ai.prototype.run = function (t) { + void 0 === t && (t = 0); + var e = (this._currentlyRunning = this._queue); + this._queue = []; + for (var r = 0, n = e; r < n.length; r += 1) { + var i = n[r]; + if ( + !i.cancelled && + (i.callback(t), this._cleared) + ) + break; + } + (this._cleared = !1), + (this._currentlyRunning = !1); + }), + (Ai.prototype.clear = function () { + this._currentlyRunning && (this._cleared = !0), + (this._queue = []); + }); + var Mi = { + "FullscreenControl.Enter": "Enter fullscreen", + "FullscreenControl.Exit": "Exit fullscreen", + "GeolocateControl.FindMyLocation": + "Find my location", + "GeolocateControl.LocationNotAvailable": + "Location not available", + "LogoControl.Title": "Mapbox logo", + "NavigationControl.ResetBearing": + "Reset bearing to north", + "NavigationControl.ZoomIn": "Zoom in", + "NavigationControl.ZoomOut": "Zoom out", + "ScaleControl.Feet": "ft", + "ScaleControl.Meters": "m", + "ScaleControl.Kilometers": "km", + "ScaleControl.Miles": "mi", + "ScaleControl.NauticalMiles": "nm", + }, + Si = t.window.HTMLImageElement, + Ei = t.window.HTMLElement, + Li = t.window.ImageBitmap, + Ci = 60, + Oi = { + center: [0, 0], + zoom: 0, + bearing: 0, + pitch: 0, + minZoom: -2, + maxZoom: 22, + minPitch: 0, + maxPitch: Ci, + interactive: !0, + scrollZoom: !0, + boxZoom: !0, + dragRotate: !0, + dragPan: !0, + keyboard: !0, + doubleClickZoom: !0, + touchZoomRotate: !0, + touchPitch: !0, + bearingSnap: 7, + clickTolerance: 3, + pitchWithRotate: !0, + hash: !1, + attributionControl: !0, + failIfMajorPerformanceCaveat: !1, + preserveDrawingBuffer: !1, + trackResize: !0, + renderWorldCopies: !0, + refreshExpiredTiles: !0, + maxTileCacheSize: null, + localIdeographFontFamily: "sans-serif", + transformRequest: null, + accessToken: null, + fadeDuration: 300, + crossSourceCollisions: !0, + }, + Pi = (function (n) { + function i(e) { + var r = this; + if ( + null != (e = t.extend({}, Oi, e)).minZoom && + null != e.maxZoom && + e.minZoom > e.maxZoom + ) + throw new Error( + "maxZoom must be greater than or equal to minZoom", + ); + if ( + null != e.minPitch && + null != e.maxPitch && + e.minPitch > e.maxPitch + ) + throw new Error( + "maxPitch must be greater than or equal to minPitch", + ); + if (null != e.minPitch && e.minPitch < 0) + throw new Error( + "minPitch must be greater than or equal to 0", + ); + if (null != e.maxPitch && e.maxPitch > Ci) + throw new Error( + "maxPitch must be less than or equal to 60", + ); + var i = new Sn( + e.minZoom, + e.maxZoom, + e.minPitch, + e.maxPitch, + e.renderWorldCopies, + ); + if ( + (n.call(this, i, e), + (this._interactive = e.interactive), + (this._maxTileCacheSize = + e.maxTileCacheSize), + (this._failIfMajorPerformanceCaveat = + e.failIfMajorPerformanceCaveat), + (this._preserveDrawingBuffer = + e.preserveDrawingBuffer), + (this._antialias = e.antialias), + (this._trackResize = e.trackResize), + (this._bearingSnap = e.bearingSnap), + (this._refreshExpiredTiles = + e.refreshExpiredTiles), + (this._fadeDuration = e.fadeDuration), + (this._crossSourceCollisions = + e.crossSourceCollisions), + (this._crossFadingFactor = 1), + (this._collectResourceTiming = + e.collectResourceTiming), + (this._renderTaskQueue = new Ai()), + (this._controls = []), + (this._mapId = t.uniqueId()), + (this._locale = t.extend({}, Mi, e.locale)), + (this._requestManager = + new t.RequestManager( + e.transformRequest, + e.accessToken, + )), + "string" == typeof e.container) + ) { + if ( + ((this._container = + t.window.document.getElementById( + e.container, + )), + !this._container) + ) + throw new Error( + "Container '" + + e.container + + "' not found.", + ); + } else { + if (!(e.container instanceof Ei)) + throw new Error( + "Invalid type: 'container' must be a String or HTMLElement.", + ); + this._container = e.container; + } + if ( + (e.maxBounds && + this.setMaxBounds(e.maxBounds), + t.bindAll( + [ + "_onWindowOnline", + "_onWindowResize", + "_contextLost", + "_contextRestored", + ], + this, + ), + this._setupContainer(), + this._setupPainter(), + void 0 === this.painter) + ) + throw new Error( + "Failed to initialize WebGL.", + ); + this.on("move", function () { + return r._update(!1); + }), + this.on("moveend", function () { + return r._update(!1); + }), + this.on("zoom", function () { + return r._update(!0); + }), + void 0 !== t.window && + (t.window.addEventListener( + "online", + this._onWindowOnline, + !1, + ), + t.window.addEventListener( + "resize", + this._onWindowResize, + !1, + )), + (this.handlers = new _i(this, e)); + var a = + ("string" == typeof e.hash && e.hash) || + void 0; + (this._hash = + e.hash && new Ln(a).addTo(this)), + (this._hash && + this._hash._onHashChange()) || + (this.jumpTo({ + center: e.center, + zoom: e.zoom, + bearing: e.bearing, + pitch: e.pitch, + }), + e.bounds && + (this.resize(), + this.fitBounds( + e.bounds, + t.extend({}, e.fitBoundsOptions, { + duration: 0, + }), + ))), + this.resize(), + (this._localIdeographFontFamily = + e.localIdeographFontFamily), + e.style && + this.setStyle(e.style, { + localIdeographFontFamily: + e.localIdeographFontFamily, + }), + e.attributionControl && + this.addControl( + new Ti({ + customAttribution: + e.customAttribution, + }), + ), + this.addControl(new ki(), e.logoPosition), + this.on("style.load", function () { + r.transform.unmodified && + r.jumpTo(r.style.stylesheet); + }), + this.on("data", function (e) { + r._update("style" === e.dataType), + r.fire( + new t.Event(e.dataType + "data", e), + ); + }), + this.on("dataloading", function (e) { + r.fire( + new t.Event( + e.dataType + "dataloading", + e, + ), + ); + }); + } + n && (i.__proto__ = n), + (i.prototype = Object.create( + n && n.prototype, + )), + (i.prototype.constructor = i); + var a = { + showTileBoundaries: { configurable: !0 }, + showPadding: { configurable: !0 }, + showCollisionBoxes: { configurable: !0 }, + showOverdrawInspector: { configurable: !0 }, + repaint: { configurable: !0 }, + vertices: { configurable: !0 }, + version: { configurable: !0 }, + }; + return ( + (i.prototype._getMapId = function () { + return this._mapId; + }), + (i.prototype.addControl = function (e, r) { + if ( + (void 0 === r && + e.getDefaultPosition && + (r = e.getDefaultPosition()), + void 0 === r && (r = "top-right"), + !e || !e.onAdd) + ) + return this.fire( + new t.ErrorEvent( + new Error( + "Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.", + ), + ), + ); + var n = e.onAdd(this); + this._controls.push(e); + var i = this._controlPositions[r]; + return ( + -1 !== r.indexOf("bottom") + ? i.insertBefore(n, i.firstChild) + : i.appendChild(n), + this + ); + }), + (i.prototype.removeControl = function (e) { + if (!e || !e.onRemove) + return this.fire( + new t.ErrorEvent( + new Error( + "Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.", + ), + ), + ); + var r = this._controls.indexOf(e); + return ( + r > -1 && this._controls.splice(r, 1), + e.onRemove(this), + this + ); + }), + (i.prototype.resize = function (e) { + var r = this._containerDimensions(), + n = r[0], + i = r[1]; + this._resizeCanvas(n, i), + this.transform.resize(n, i), + this.painter.resize(n, i); + var a = !this._moving; + return ( + a && + (this.stop(), + this.fire( + new t.Event("movestart", e), + ).fire(new t.Event("move", e))), + this.fire(new t.Event("resize", e)), + a && this.fire(new t.Event("moveend", e)), + this + ); + }), + (i.prototype.getBounds = function () { + return this.transform.getBounds(); + }), + (i.prototype.getMaxBounds = function () { + return this.transform.getMaxBounds(); + }), + (i.prototype.setMaxBounds = function (e) { + return ( + this.transform.setMaxBounds( + t.LngLatBounds.convert(e), + ), + this._update() + ); + }), + (i.prototype.setMinZoom = function (t) { + if ( + (t = null == t ? -2 : t) >= -2 && + 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 -2 and the current maxZoom, inclusive", + ); + }), + (i.prototype.getMinZoom = function () { + return this.transform.minZoom; + }), + (i.prototype.setMaxZoom = function (t) { + if ( + (t = null == 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", + ); + }), + (i.prototype.getMaxZoom = function () { + return this.transform.maxZoom; + }), + (i.prototype.setMinPitch = function (t) { + if ((t = null == t ? 0 : t) < 0) + throw new Error( + "minPitch must be greater than or equal to 0", + ); + if (t >= 0 && t <= this.transform.maxPitch) + return ( + (this.transform.minPitch = t), + this._update(), + this.getPitch() < t && this.setPitch(t), + this + ); + throw new Error( + "minPitch must be between 0 and the current maxPitch, inclusive", + ); + }), + (i.prototype.getMinPitch = function () { + return this.transform.minPitch; + }), + (i.prototype.setMaxPitch = function (t) { + if ((t = null == t ? Ci : t) > Ci) + throw new Error( + "maxPitch must be less than or equal to 60", + ); + if (t >= this.transform.minPitch) + return ( + (this.transform.maxPitch = t), + this._update(), + this.getPitch() > t && this.setPitch(t), + this + ); + throw new Error( + "maxPitch must be greater than the current minPitch", + ); + }), + (i.prototype.getMaxPitch = function () { + return this.transform.maxPitch; + }), + (i.prototype.getRenderWorldCopies = + function () { + return this.transform.renderWorldCopies; + }), + (i.prototype.setRenderWorldCopies = function ( + t, + ) { + return ( + (this.transform.renderWorldCopies = t), + this._update() + ); + }), + (i.prototype.project = function (e) { + return this.transform.locationPoint( + t.LngLat.convert(e), + ); + }), + (i.prototype.unproject = function (e) { + return this.transform.pointLocation( + t.Point.convert(e), + ); + }), + (i.prototype.isMoving = function () { + return ( + this._moving || this.handlers.isMoving() + ); + }), + (i.prototype.isZooming = function () { + return ( + this._zooming || this.handlers.isZooming() + ); + }), + (i.prototype.isRotating = function () { + return ( + this._rotating || + this.handlers.isRotating() + ); + }), + (i.prototype._createDelegatedListener = + function (t, e, r) { + var n, + i = this; + if ( + "mouseenter" === t || + "mouseover" === t + ) { + var a = !1; + return { + layer: e, + listener: r, + delegates: { + mousemove: function (n) { + var o = i.getLayer(e) + ? i.queryRenderedFeatures( + n.point, + { layers: [e] }, + ) + : []; + o.length + ? a || + ((a = !0), + r.call( + i, + new Bn( + t, + i, + n.originalEvent, + { features: o }, + ), + )) + : (a = !1); + }, + mouseout: function () { + a = !1; + }, + }, + }; + } + if ( + "mouseleave" === t || + "mouseout" === t + ) { + var o = !1; + return { + layer: e, + listener: r, + delegates: { + mousemove: function (n) { + (i.getLayer(e) + ? i.queryRenderedFeatures( + n.point, + { layers: [e] }, + ) + : [] + ).length + ? (o = !0) + : o && + ((o = !1), + r.call( + i, + new Bn( + t, + i, + n.originalEvent, + ), + )); + }, + mouseout: function (e) { + o && + ((o = !1), + r.call( + i, + new Bn(t, i, e.originalEvent), + )); + }, + }, + }; + } + return { + layer: e, + listener: r, + delegates: + ((n = {}), + (n[t] = function (t) { + var n = i.getLayer(e) + ? i.queryRenderedFeatures( + t.point, + { layers: [e] }, + ) + : []; + n.length && + ((t.features = n), + r.call(i, t), + delete t.features); + }), + n), + }; + }), + (i.prototype.on = function (t, e, r) { + if (void 0 === r) + return n.prototype.on.call(this, t, e); + var i = this._createDelegatedListener( + t, + e, + r, + ); + for (var a in ((this._delegatedListeners = + this._delegatedListeners || {}), + (this._delegatedListeners[t] = + this._delegatedListeners[t] || []), + this._delegatedListeners[t].push(i), + i.delegates)) + this.on(a, i.delegates[a]); + return this; + }), + (i.prototype.once = function (t, e, r) { + if (void 0 === r) + return n.prototype.once.call(this, t, e); + var i = this._createDelegatedListener( + t, + e, + r, + ); + for (var a in i.delegates) + this.once(a, i.delegates[a]); + return this; + }), + (i.prototype.off = function (t, e, r) { + var i = this; + if (void 0 === r) + return n.prototype.off.call(this, t, e); + return ( + this._delegatedListeners && + this._delegatedListeners[t] && + (function (n) { + for ( + var a = n[t], o = 0; + o < a.length; + o++ + ) { + var s = a[o]; + if ( + s.layer === e && + s.listener === r + ) { + for (var l in s.delegates) + i.off(l, s.delegates[l]); + return a.splice(o, 1), i; + } + } + })(this._delegatedListeners), + this + ); + }), + (i.prototype.queryRenderedFeatures = + function (e, r) { + if (!this.style) return []; + var n; + if ( + (void 0 !== r || + void 0 === e || + e instanceof t.Point || + Array.isArray(e) || + ((r = e), (e = void 0)), + (r = r || {}), + (e = e || [ + [0, 0], + [ + this.transform.width, + this.transform.height, + ], + ]) instanceof t.Point || + "number" == typeof e[0]) + ) + n = [t.Point.convert(e)]; + else { + var i = t.Point.convert(e[0]), + a = t.Point.convert(e[1]); + n = [ + i, + new t.Point(a.x, i.y), + a, + new t.Point(i.x, a.y), + i, + ]; + } + return this.style.queryRenderedFeatures( + n, + r, + this.transform, + ); + }), + (i.prototype.querySourceFeatures = function ( + t, + e, + ) { + return this.style.querySourceFeatures(t, e); + }), + (i.prototype.setStyle = function (e, r) { + return !1 !== + (r = t.extend( + {}, + { + localIdeographFontFamily: + this._localIdeographFontFamily, + }, + r, + )).diff && + r.localIdeographFontFamily === + this._localIdeographFontFamily && + this.style && + e + ? (this._diffStyle(e, r), this) + : ((this._localIdeographFontFamily = + r.localIdeographFontFamily), + this._updateStyle(e, r)); + }), + (i.prototype._getUIString = function (t) { + var e = this._locale[t]; + if (null == e) + throw new Error( + "Missing UI string '" + t + "'", + ); + return e; + }), + (i.prototype._updateStyle = function (t, e) { + return ( + this.style && + (this.style.setEventedParent(null), + this.style._remove()), + t + ? ((this.style = new We(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) + ); + }), + (i.prototype._lazyInitEmptyStyle = + function () { + this.style || + ((this.style = new We(this, {})), + this.style.setEventedParent(this, { + style: this.style, + }), + this.style.loadEmpty()); + }), + (i.prototype._diffStyle = function (e, r) { + var n = this; + if ("string" == typeof e) { + var i = + this._requestManager.normalizeStyleURL( + e, + ), + a = + this._requestManager.transformRequest( + i, + t.ResourceType.Style, + ); + t.getJSON(a, function (e, i) { + e + ? n.fire(new t.ErrorEvent(e)) + : i && n._updateDiff(i, r); + }); + } else + "object" == typeof e && + this._updateDiff(e, r); + }), + (i.prototype._updateDiff = function (e, r) { + try { + this.style.setState(e) && + this._update(!0); + } catch (n) { + t.warnOnce( + "Unable to perform style diff: " + + (n.message || n.error || n) + + ". Rebuilding the style from scratch.", + ), + this._updateStyle(e, r); + } + }), + (i.prototype.getStyle = function () { + if (this.style) + return this.style.serialize(); + }), + (i.prototype.isStyleLoaded = function () { + return this.style + ? this.style.loaded() + : t.warnOnce( + "There is no style added to the map.", + ); + }), + (i.prototype.addSource = function (t, e) { + return ( + this._lazyInitEmptyStyle(), + this.style.addSource(t, e), + this._update(!0) + ); + }), + (i.prototype.isSourceLoaded = function (e) { + var r = + this.style && this.style.sourceCaches[e]; + if (void 0 !== r) return r.loaded(); + this.fire( + new t.ErrorEvent( + new Error( + "There is no source with ID '" + + e + + "'", + ), + ), + ); + }), + (i.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; + }), + (i.prototype.addSourceType = function ( + t, + e, + r, + ) { + return ( + this._lazyInitEmptyStyle(), + this.style.addSourceType(t, e, r) + ); + }), + (i.prototype.removeSource = function (t) { + return ( + this.style.removeSource(t), + this._update(!0) + ); + }), + (i.prototype.getSource = function (t) { + return this.style.getSource(t); + }), + (i.prototype.addImage = function (e, r, n) { + void 0 === n && (n = {}); + var i = n.pixelRatio; + void 0 === i && (i = 1); + var a = n.sdf; + void 0 === a && (a = !1); + var o = n.stretchX, + s = n.stretchY, + l = n.content; + this._lazyInitEmptyStyle(); + if ( + r instanceof Si || + (Li && r instanceof Li) + ) { + var u = t.browser.getImageData(r), + c = u.width, + f = u.height, + h = u.data; + this.style.addImage(e, { + data: new t.RGBAImage( + { width: c, height: f }, + h, + ), + pixelRatio: i, + stretchX: o, + stretchY: s, + content: l, + sdf: a, + version: 0, + }); + } else { + if ( + void 0 === r.width || + void 0 === r.height + ) + return this.fire( + new t.ErrorEvent( + new Error( + "Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`", + ), + ), + ); + var p = r.width, + d = r.height, + v = r.data, + g = r; + this.style.addImage(e, { + data: new t.RGBAImage( + { width: p, height: d }, + new Uint8Array(v), + ), + pixelRatio: i, + stretchX: o, + stretchY: s, + content: l, + sdf: a, + version: 0, + userImage: g, + }), + g.onAdd && g.onAdd(this, e); + } + }), + (i.prototype.updateImage = function (e, r) { + var n = this.style.getImage(e); + if (!n) + return this.fire( + new t.ErrorEvent( + new Error( + "The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.", + ), + ), + ); + var i = + r instanceof Si || + (Li && r instanceof Li) + ? t.browser.getImageData(r) + : r, + a = i.width, + o = i.height, + s = i.data; + if (void 0 === a || void 0 === o) + return this.fire( + new t.ErrorEvent( + new Error( + "Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`", + ), + ), + ); + if ( + a !== n.data.width || + o !== n.data.height + ) + return this.fire( + new t.ErrorEvent( + new Error( + "The width and height of the updated image must be that same as the previous version of the image", + ), + ), + ); + var l = !( + r instanceof Si || + (Li && r instanceof Li) + ); + n.data.replace(s, l), + this.style.updateImage(e, n); + }), + (i.prototype.hasImage = function (e) { + return e + ? !!this.style.getImage(e) + : (this.fire( + new t.ErrorEvent( + new Error( + "Missing required image id", + ), + ), + ), + !1); + }), + (i.prototype.removeImage = function (t) { + this.style.removeImage(t); + }), + (i.prototype.loadImage = function (e, r) { + t.getImage( + this._requestManager.transformRequest( + e, + t.ResourceType.Image, + ), + r, + ); + }), + (i.prototype.listImages = function () { + return this.style.listImages(); + }), + (i.prototype.addLayer = function (t, e) { + return ( + this._lazyInitEmptyStyle(), + this.style.addLayer(t, e), + this._update(!0) + ); + }), + (i.prototype.moveLayer = function (t, e) { + return ( + this.style.moveLayer(t, e), + this._update(!0) + ); + }), + (i.prototype.removeLayer = function (t) { + return ( + this.style.removeLayer(t), + this._update(!0) + ); + }), + (i.prototype.getLayer = function (t) { + return this.style.getLayer(t); + }), + (i.prototype.setLayerZoomRange = function ( + t, + e, + r, + ) { + return ( + this.style.setLayerZoomRange(t, e, r), + this._update(!0) + ); + }), + (i.prototype.setFilter = function (t, e, r) { + return ( + void 0 === r && (r = {}), + this.style.setFilter(t, e, r), + this._update(!0) + ); + }), + (i.prototype.getFilter = function (t) { + return this.style.getFilter(t); + }), + (i.prototype.setPaintProperty = function ( + t, + e, + r, + n, + ) { + return ( + void 0 === n && (n = {}), + this.style.setPaintProperty(t, e, r, n), + this._update(!0) + ); + }), + (i.prototype.getPaintProperty = function ( + t, + e, + ) { + return this.style.getPaintProperty(t, e); + }), + (i.prototype.setLayoutProperty = function ( + t, + e, + r, + n, + ) { + return ( + void 0 === n && (n = {}), + this.style.setLayoutProperty(t, e, r, n), + this._update(!0) + ); + }), + (i.prototype.getLayoutProperty = function ( + t, + e, + ) { + return this.style.getLayoutProperty(t, e); + }), + (i.prototype.setLight = function (t, e) { + return ( + void 0 === e && (e = {}), + this._lazyInitEmptyStyle(), + this.style.setLight(t, e), + this._update(!0) + ); + }), + (i.prototype.getLight = function () { + return this.style.getLight(); + }), + (i.prototype.setFeatureState = function ( + t, + e, + ) { + return ( + this.style.setFeatureState(t, e), + this._update() + ); + }), + (i.prototype.removeFeatureState = function ( + t, + e, + ) { + return ( + this.style.removeFeatureState(t, e), + this._update() + ); + }), + (i.prototype.getFeatureState = function (t) { + return this.style.getFeatureState(t); + }), + (i.prototype.getContainer = function () { + return this._container; + }), + (i.prototype.getCanvasContainer = + function () { + return this._canvasContainer; + }), + (i.prototype.getCanvas = function () { + return this._canvas; + }), + (i.prototype._containerDimensions = + function () { + var t = 0, + e = 0; + return ( + this._container && + ((t = + this._container.clientWidth || 400), + (e = + this._container.clientHeight || + 300)), + [t, e] + ); + }), + (i.prototype._detectMissingCSS = function () { + "rgb(250, 128, 114)" !== + t.window + .getComputedStyle( + this._missingCSSCanary, + ) + .getPropertyValue("background-color") && + t.warnOnce( + "This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.", + ); + }), + (i.prototype._setupContainer = function () { + var t = this._container; + t.classList.add("mapboxgl-map"), + ((this._missingCSSCanary = r.create( + "div", + "mapboxgl-canary", + t, + )).style.visibility = "hidden"), + this._detectMissingCSS(); + var e = (this._canvasContainer = r.create( + "div", + "mapboxgl-canvas-container", + t, + )); + this._interactive && + e.classList.add("mapboxgl-interactive"), + (this._canvas = r.create( + "canvas", + "mapboxgl-canvas", + e, + )), + 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 n = this._containerDimensions(); + this._resizeCanvas(n[0], n[1]); + var i = (this._controlContainer = r.create( + "div", + "mapboxgl-control-container", + t, + )), + a = (this._controlPositions = {}); + [ + "top-left", + "top-right", + "bottom-left", + "bottom-right", + ].forEach(function (t) { + a[t] = r.create( + "div", + "mapboxgl-ctrl-" + t, + i, + ); + }); + }), + (i.prototype._resizeCanvas = function (e, r) { + var n = t.browser.devicePixelRatio || 1; + (this._canvas.width = n * e), + (this._canvas.height = n * r), + (this._canvas.style.width = e + "px"), + (this._canvas.style.height = r + "px"); + }), + (i.prototype._setupPainter = function () { + var r = t.extend( + {}, + e.webGLContextAttributes, + { + failIfMajorPerformanceCaveat: + this._failIfMajorPerformanceCaveat, + preserveDrawingBuffer: + this._preserveDrawingBuffer, + antialias: this._antialias || !1, + }, + ), + n = + this._canvas.getContext("webgl", r) || + this._canvas.getContext( + "experimental-webgl", + r, + ); + n + ? ((this.painter = new Tn( + n, + this.transform, + )), + t.webpSupported.testSupport(n)) + : this.fire( + new t.ErrorEvent( + new Error( + "Failed to initialize WebGL", + ), + ), + ); + }), + (i.prototype._contextLost = function (e) { + e.preventDefault(), + this._frame && + (this._frame.cancel(), + (this._frame = null)), + this.fire( + new t.Event("webglcontextlost", { + originalEvent: e, + }), + ); + }), + (i.prototype._contextRestored = function (e) { + this._setupPainter(), + this.resize(), + this._update(), + this.fire( + new t.Event("webglcontextrestored", { + originalEvent: e, + }), + ); + }), + (i.prototype.loaded = function () { + return ( + !this._styleDirty && + !this._sourcesDirty && + !!this.style && + this.style.loaded() + ); + }), + (i.prototype._update = function (t) { + return this.style + ? ((this._styleDirty = + this._styleDirty || t), + (this._sourcesDirty = !0), + this.triggerRepaint(), + this) + : this; + }), + (i.prototype._requestRenderFrame = function ( + t, + ) { + return ( + this._update(), + this._renderTaskQueue.add(t) + ); + }), + (i.prototype._cancelRenderFrame = function ( + t, + ) { + this._renderTaskQueue.remove(t); + }), + (i.prototype._render = function (e) { + var r, + n = this, + i = 0, + a = this.painter.context.extTimerQuery; + if ( + (this.listens("gpu-timing-frame") && + ((r = a.createQueryEXT()), + a.beginQueryEXT(a.TIME_ELAPSED_EXT, r), + (i = t.browser.now())), + this.painter.context.setDirty(), + this.painter.setBaseState(), + this._renderTaskQueue.run(e), + !this._removed) + ) { + var o = !1; + if (this.style && this._styleDirty) { + this._styleDirty = !1; + var s = this.transform.zoom, + l = t.browser.now(); + this.style.zoomHistory.update(s, l); + var u = new t.EvaluationParameters(s, { + now: l, + fadeDuration: this._fadeDuration, + zoomHistory: this.style.zoomHistory, + transition: + this.style.getTransition(), + }), + c = u.crossFadingFactor(); + (1 === c && + c === this._crossFadingFactor) || + ((o = !0), + (this._crossFadingFactor = c)), + this.style.update(u); + } + if ( + (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._crossSourceCollisions, + )), + this.painter.render(this.style, { + showTileBoundaries: + this.showTileBoundaries, + showOverdrawInspector: + this._showOverdrawInspector, + rotating: this.isRotating(), + zooming: this.isZooming(), + moving: this.isMoving(), + fadeDuration: this._fadeDuration, + showPadding: this.showPadding, + gpuTiming: + !!this.listens("gpu-timing-layer"), + }), + this.fire(new t.Event("render")), + this.loaded() && + !this._loaded && + ((this._loaded = !0), + this.fire(new t.Event("load"))), + this.style && + (this.style.hasTransitions() || o) && + (this._styleDirty = !0), + this.style && + !this._placementDirty && + this.style._releaseSymbolFadeTiles(), + this.listens("gpu-timing-frame")) + ) { + var f = t.browser.now() - i; + a.endQueryEXT(a.TIME_ELAPSED_EXT, r), + setTimeout(function () { + var e = + a.getQueryObjectEXT( + r, + a.QUERY_RESULT_EXT, + ) / 1e6; + a.deleteQueryEXT(r), + n.fire( + new t.Event( + "gpu-timing-frame", + { cpuTime: f, gpuTime: e }, + ), + ); + }, 50); + } + if (this.listens("gpu-timing-layer")) { + var h = this.painter.collectGpuTimers(); + setTimeout(function () { + var e = n.painter.queryGpuTimers(h); + n.fire( + new t.Event("gpu-timing-layer", { + layerTimes: e, + }), + ); + }, 50); + } + return ( + this._sourcesDirty || + this._styleDirty || + this._placementDirty || + this._repaint + ? this.triggerRepaint() + : !this.isMoving() && + this.loaded() && + (this._fullyLoaded || + (this._fullyLoaded = !0), + this.fire(new t.Event("idle"))), + this + ); + } + }), + (i.prototype.remove = function () { + this._hash && this._hash.remove(); + for ( + var e = 0, r = this._controls; + e < r.length; + e += 1 + ) + r[e].onRemove(this); + (this._controls = []), + this._frame && + (this._frame.cancel(), + (this._frame = null)), + this._renderTaskQueue.clear(), + this.painter.destroy(), + this.handlers.destroy(), + delete this.handlers, + this.setStyle(null), + void 0 !== t.window && + (t.window.removeEventListener( + "resize", + this._onWindowResize, + !1, + ), + t.window.removeEventListener( + "online", + this._onWindowOnline, + !1, + )); + var n = + this.painter.context.gl.getExtension( + "WEBGL_lose_context", + ); + n && n.loseContext(), + Ii(this._canvasContainer), + Ii(this._controlContainer), + Ii(this._missingCSSCanary), + this._container.classList.remove( + "mapboxgl-map", + ), + (this._removed = !0), + this.fire(new t.Event("remove")); + }), + (i.prototype.triggerRepaint = function () { + var e = this; + this.style && + !this._frame && + (this._frame = t.browser.frame( + function (t) { + (e._frame = null), e._render(t); + }, + )); + }), + (i.prototype._onWindowOnline = function () { + this._update(); + }), + (i.prototype._onWindowResize = function (t) { + this._trackResize && + this.resize({ + originalEvent: t, + })._update(); + }), + (a.showTileBoundaries.get = function () { + return !!this._showTileBoundaries; + }), + (a.showTileBoundaries.set = function (t) { + this._showTileBoundaries !== t && + ((this._showTileBoundaries = t), + this._update()); + }), + (a.showPadding.get = function () { + return !!this._showPadding; + }), + (a.showPadding.set = function (t) { + this._showPadding !== t && + ((this._showPadding = t), this._update()); + }), + (a.showCollisionBoxes.get = function () { + return !!this._showCollisionBoxes; + }), + (a.showCollisionBoxes.set = function (t) { + this._showCollisionBoxes !== t && + ((this._showCollisionBoxes = t), + t + ? this.style._generateCollisionBoxes() + : this._update()); + }), + (a.showOverdrawInspector.get = function () { + return !!this._showOverdrawInspector; + }), + (a.showOverdrawInspector.set = function (t) { + this._showOverdrawInspector !== t && + ((this._showOverdrawInspector = t), + this._update()); + }), + (a.repaint.get = function () { + return !!this._repaint; + }), + (a.repaint.set = function (t) { + this._repaint !== t && + ((this._repaint = t), + this.triggerRepaint()); + }), + (a.vertices.get = function () { + return !!this._vertices; + }), + (a.vertices.set = function (t) { + (this._vertices = t), this._update(); + }), + (i.prototype._setCacheLimits = function ( + e, + r, + ) { + t.setCacheLimits(e, r); + }), + (a.version.get = function () { + return t.version; + }), + Object.defineProperties(i.prototype, a), + i + ); + })(wi); + function Ii(t) { + t.parentNode && t.parentNode.removeChild(t); + } + var Di = { + showCompass: !0, + showZoom: !0, + visualizePitch: !1, + }, + zi = function (e) { + var n = this; + (this.options = t.extend({}, Di, e)), + (this._container = r.create( + "div", + "mapboxgl-ctrl mapboxgl-ctrl-group", + )), + this._container.addEventListener( + "contextmenu", + function (t) { + return t.preventDefault(); + }, + ), + this.options.showZoom && + (t.bindAll( + ["_setButtonTitle", "_updateZoomButtons"], + this, + ), + (this._zoomInButton = this._createButton( + "mapboxgl-ctrl-zoom-in", + function (t) { + return n._map.zoomIn( + {}, + { originalEvent: t }, + ); + }, + )), + r + .create( + "span", + "mapboxgl-ctrl-icon", + this._zoomInButton, + ) + .setAttribute("aria-hidden", !0), + (this._zoomOutButton = this._createButton( + "mapboxgl-ctrl-zoom-out", + function (t) { + return n._map.zoomOut( + {}, + { originalEvent: t }, + ); + }, + )), + r + .create( + "span", + "mapboxgl-ctrl-icon", + this._zoomOutButton, + ) + .setAttribute("aria-hidden", !0)), + this.options.showCompass && + (t.bindAll(["_rotateCompassArrow"], this), + (this._compass = this._createButton( + "mapboxgl-ctrl-compass", + function (t) { + n.options.visualizePitch + ? n._map.resetNorthPitch( + {}, + { originalEvent: t }, + ) + : n._map.resetNorth( + {}, + { originalEvent: t }, + ); + }, + )), + (this._compassIcon = r.create( + "span", + "mapboxgl-ctrl-icon", + this._compass, + )), + this._compassIcon.setAttribute( + "aria-hidden", + !0, + )); + }; + (zi.prototype._updateZoomButtons = function () { + var t = this._map.getZoom(); + (this._zoomInButton.disabled = + t === this._map.getMaxZoom()), + (this._zoomOutButton.disabled = + t === this._map.getMinZoom()); + }), + (zi.prototype._rotateCompassArrow = function () { + var t = this.options.visualizePitch + ? "scale(" + + 1 / + Math.pow( + Math.cos( + this._map.transform.pitch * + (Math.PI / 180), + ), + 0.5, + ) + + ") rotateX(" + + this._map.transform.pitch + + "deg) rotateZ(" + + this._map.transform.angle * + (180 / Math.PI) + + "deg)" + : "rotate(" + + this._map.transform.angle * + (180 / Math.PI) + + "deg)"; + this._compassIcon.style.transform = t; + }), + (zi.prototype.onAdd = function (t) { + return ( + (this._map = t), + this.options.showZoom && + (this._setButtonTitle( + this._zoomInButton, + "ZoomIn", + ), + this._setButtonTitle( + this._zoomOutButton, + "ZoomOut", + ), + this._map.on( + "zoom", + this._updateZoomButtons, + ), + this._updateZoomButtons()), + this.options.showCompass && + (this._setButtonTitle( + this._compass, + "ResetBearing", + ), + this.options.visualizePitch && + this._map.on( + "pitch", + this._rotateCompassArrow, + ), + this._map.on( + "rotate", + this._rotateCompassArrow, + ), + this._rotateCompassArrow(), + (this._handler = new Ri( + this._map, + this._compass, + this.options.visualizePitch, + ))), + this._container + ); + }), + (zi.prototype.onRemove = function () { + r.remove(this._container), + this.options.showZoom && + this._map.off( + "zoom", + this._updateZoomButtons, + ), + this.options.showCompass && + (this.options.visualizePitch && + this._map.off( + "pitch", + this._rotateCompassArrow, + ), + this._map.off( + "rotate", + this._rotateCompassArrow, + ), + this._handler.off(), + delete this._handler), + delete this._map; + }), + (zi.prototype._createButton = function (t, e) { + var n = r.create("button", t, this._container); + return ( + (n.type = "button"), + n.addEventListener("click", e), + n + ); + }), + (zi.prototype._setButtonTitle = function (t, e) { + var r = this._map._getUIString( + "NavigationControl." + e, + ); + (t.title = r), t.setAttribute("aria-label", r); + }); + var Ri = function (e, n, i) { + void 0 === i && (i = !1), + (this._clickTolerance = 10), + (this.element = n), + (this.mouseRotate = new Jn({ + clickTolerance: + e.dragRotate._mouseRotate._clickTolerance, + })), + (this.map = e), + i && + (this.mousePitch = new Kn({ + clickTolerance: + e.dragRotate._mousePitch._clickTolerance, + })), + t.bindAll( + [ + "mousedown", + "mousemove", + "mouseup", + "touchstart", + "touchmove", + "touchend", + "reset", + ], + this, + ), + r.addEventListener( + n, + "mousedown", + this.mousedown, + ), + r.addEventListener( + n, + "touchstart", + this.touchstart, + { passive: !1 }, + ), + r.addEventListener( + n, + "touchmove", + this.touchmove, + ), + r.addEventListener( + n, + "touchend", + this.touchend, + ), + r.addEventListener( + n, + "touchcancel", + this.reset, + ); + }; + function Fi(e, r, n) { + if (((e = new t.LngLat(e.lng, e.lat)), r)) { + var i = new t.LngLat(e.lng - 360, e.lat), + a = new t.LngLat(e.lng + 360, e.lat), + o = n.locationPoint(e).distSqr(r); + n.locationPoint(i).distSqr(r) < o + ? (e = i) + : n.locationPoint(a).distSqr(r) < o && + (e = a); + } + for (; Math.abs(e.lng - n.center.lng) > 180; ) { + var s = n.locationPoint(e); + if ( + s.x >= 0 && + s.y >= 0 && + s.x <= n.width && + s.y <= n.height + ) + break; + e.lng > n.center.lng + ? (e.lng -= 360) + : (e.lng += 360); + } + return e; + } + (Ri.prototype.down = function (t, e) { + this.mouseRotate.mousedown(t, e), + this.mousePitch && + this.mousePitch.mousedown(t, e), + r.disableDrag(); + }), + (Ri.prototype.move = function (t, e) { + var r = this.map, + n = this.mouseRotate.mousemoveWindow(t, e); + if ( + (n && + n.bearingDelta && + r.setBearing( + r.getBearing() + n.bearingDelta, + ), + this.mousePitch) + ) { + var i = this.mousePitch.mousemoveWindow(t, e); + i && + i.pitchDelta && + r.setPitch(r.getPitch() + i.pitchDelta); + } + }), + (Ri.prototype.off = function () { + var t = this.element; + r.removeEventListener( + t, + "mousedown", + this.mousedown, + ), + r.removeEventListener( + t, + "touchstart", + this.touchstart, + { passive: !1 }, + ), + r.removeEventListener( + t, + "touchmove", + this.touchmove, + ), + r.removeEventListener( + t, + "touchend", + this.touchend, + ), + r.removeEventListener( + t, + "touchcancel", + this.reset, + ), + this.offTemp(); + }), + (Ri.prototype.offTemp = function () { + r.enableDrag(), + r.removeEventListener( + t.window, + "mousemove", + this.mousemove, + ), + r.removeEventListener( + t.window, + "mouseup", + this.mouseup, + ); + }), + (Ri.prototype.mousedown = function (e) { + this.down( + t.extend({}, e, { + ctrlKey: !0, + preventDefault: function () { + return e.preventDefault(); + }, + }), + r.mousePos(this.element, e), + ), + r.addEventListener( + t.window, + "mousemove", + this.mousemove, + ), + r.addEventListener( + t.window, + "mouseup", + this.mouseup, + ); + }), + (Ri.prototype.mousemove = function (t) { + this.move(t, r.mousePos(this.element, t)); + }), + (Ri.prototype.mouseup = function (t) { + this.mouseRotate.mouseupWindow(t), + this.mousePitch && + this.mousePitch.mouseupWindow(t), + this.offTemp(); + }), + (Ri.prototype.touchstart = function (t) { + 1 !== t.targetTouches.length + ? this.reset() + : ((this._startPos = this._lastPos = + r.touchPos( + this.element, + t.targetTouches, + )[0]), + this.down( + { + type: "mousedown", + button: 0, + ctrlKey: !0, + preventDefault: function () { + return t.preventDefault(); + }, + }, + this._startPos, + )); + }), + (Ri.prototype.touchmove = function (t) { + 1 !== t.targetTouches.length + ? this.reset() + : ((this._lastPos = r.touchPos( + this.element, + t.targetTouches, + )[0]), + this.move( + { + preventDefault: function () { + return t.preventDefault(); + }, + }, + this._lastPos, + )); + }), + (Ri.prototype.touchend = function (t) { + 0 === t.targetTouches.length && + this._startPos && + this._lastPos && + this._startPos.dist(this._lastPos) < + this._clickTolerance && + this.element.click(), + this.reset(); + }), + (Ri.prototype.reset = function () { + this.mouseRotate.reset(), + this.mousePitch && this.mousePitch.reset(), + delete this._startPos, + delete this._lastPos, + this.offTemp(); + }); + var Bi = { + center: "translate(-50%,-50%)", + 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%)", + }; + function Ni(t, e, r) { + var n = t.classList; + for (var i in Bi) + n.remove("mapboxgl-" + r + "-anchor-" + i); + n.add("mapboxgl-" + r + "-anchor-" + e); + } + var ji, + Ui = (function (e) { + function n(n, i) { + var a = this; + if ( + (e.call(this), + (n instanceof t.window.HTMLElement || i) && + (n = t.extend({ element: n }, i)), + t.bindAll( + [ + "_update", + "_onMove", + "_onUp", + "_addDragHandler", + "_onMapClick", + "_onKeyPress", + ], + this, + ), + (this._anchor = + (n && n.anchor) || "center"), + (this._color = (n && n.color) || "#3FB1CE"), + (this._draggable = + (n && n.draggable) || !1), + (this._state = "inactive"), + (this._rotation = (n && n.rotation) || 0), + (this._rotationAlignment = + (n && n.rotationAlignment) || "auto"), + (this._pitchAlignment = + n && + n.pitchAlignment && + "auto" !== n.pitchAlignment + ? n.pitchAlignment + : this._rotationAlignment), + n && n.element) + ) + (this._element = n.element), + (this._offset = t.Point.convert( + (n && n.offset) || [0, 0], + )); + else { + (this._defaultMarker = !0), + (this._element = r.create("div")), + this._element.setAttribute( + "aria-label", + "Map marker", + ); + var o = r.createNS( + "http://www.w3.org/2000/svg", + "svg", + ); + o.setAttributeNS(null, "display", "block"), + o.setAttributeNS(null, "height", "41px"), + o.setAttributeNS(null, "width", "27px"), + o.setAttributeNS( + null, + "viewBox", + "0 0 27 41", + ); + var s = r.createNS( + "http://www.w3.org/2000/svg", + "g", + ); + s.setAttributeNS(null, "stroke", "none"), + s.setAttributeNS( + null, + "stroke-width", + "1", + ), + s.setAttributeNS(null, "fill", "none"), + s.setAttributeNS( + null, + "fill-rule", + "evenodd", + ); + var l = r.createNS( + "http://www.w3.org/2000/svg", + "g", + ); + l.setAttributeNS( + null, + "fill-rule", + "nonzero", + ); + var u = r.createNS( + "http://www.w3.org/2000/svg", + "g", + ); + u.setAttributeNS( + null, + "transform", + "translate(3.0, 29.0)", + ), + u.setAttributeNS(null, "fill", "#000000"); + for ( + var c = 0, + f = [ + { 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" }, + ]; + c < f.length; + c += 1 + ) { + var h = f[c], + p = r.createNS( + "http://www.w3.org/2000/svg", + "ellipse", + ); + p.setAttributeNS(null, "opacity", "0.04"), + p.setAttributeNS(null, "cx", "10.5"), + p.setAttributeNS( + null, + "cy", + "5.80029008", + ), + p.setAttributeNS(null, "rx", h.rx), + p.setAttributeNS(null, "ry", h.ry), + u.appendChild(p); + } + var d = r.createNS( + "http://www.w3.org/2000/svg", + "g", + ); + d.setAttributeNS(null, "fill", this._color); + var v = r.createNS( + "http://www.w3.org/2000/svg", + "path", + ); + v.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", + ), + d.appendChild(v); + var g = r.createNS( + "http://www.w3.org/2000/svg", + "g", + ); + g.setAttributeNS(null, "opacity", "0.25"), + g.setAttributeNS(null, "fill", "#000000"); + var y = r.createNS( + "http://www.w3.org/2000/svg", + "path", + ); + y.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(y); + var m = r.createNS( + "http://www.w3.org/2000/svg", + "g", + ); + m.setAttributeNS( + null, + "transform", + "translate(6.0, 7.0)", + ), + m.setAttributeNS(null, "fill", "#FFFFFF"); + var x = r.createNS( + "http://www.w3.org/2000/svg", + "g", + ); + x.setAttributeNS( + null, + "transform", + "translate(8.0, 8.0)", + ); + var b = r.createNS( + "http://www.w3.org/2000/svg", + "circle", + ); + b.setAttributeNS(null, "fill", "#000000"), + b.setAttributeNS(null, "opacity", "0.25"), + b.setAttributeNS(null, "cx", "5.5"), + b.setAttributeNS(null, "cy", "5.5"), + b.setAttributeNS(null, "r", "5.4999962"); + var _ = r.createNS( + "http://www.w3.org/2000/svg", + "circle", + ); + _.setAttributeNS(null, "fill", "#FFFFFF"), + _.setAttributeNS(null, "cx", "5.5"), + _.setAttributeNS(null, "cy", "5.5"), + _.setAttributeNS(null, "r", "5.4999962"), + x.appendChild(b), + x.appendChild(_), + l.appendChild(u), + l.appendChild(d), + l.appendChild(g), + l.appendChild(m), + l.appendChild(x), + o.appendChild(l), + this._element.appendChild(o), + (this._offset = t.Point.convert( + (n && n.offset) || [0, -14], + )); + } + this._element.classList.add( + "mapboxgl-marker", + ), + this._element.addEventListener( + "dragstart", + function (t) { + t.preventDefault(); + }, + ), + this._element.addEventListener( + "mousedown", + function (t) { + t.preventDefault(); + }, + ), + this._element.addEventListener( + "focus", + function () { + var t = a._map.getContainer(); + (t.scrollTop = 0), (t.scrollLeft = 0); + }, + ), + Ni(this._element, this._anchor, "marker"), + (this._popup = null); + } + return ( + e && (n.__proto__ = e), + (n.prototype = Object.create( + e && e.prototype, + )), + (n.prototype.constructor = n), + (n.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.setDraggable(this._draggable), + this._update(), + this._map.on("click", this._onMapClick), + this + ); + }), + (n.prototype.remove = function () { + return ( + this._map && + (this._map.off( + "click", + this._onMapClick, + ), + this._map.off("move", this._update), + this._map.off("moveend", this._update), + this._map.off( + "mousedown", + this._addDragHandler, + ), + this._map.off( + "touchstart", + this._addDragHandler, + ), + this._map.off("mouseup", this._onUp), + this._map.off("touchend", this._onUp), + this._map.off( + "mousemove", + this._onMove, + ), + this._map.off( + "touchmove", + this._onMove, + ), + delete this._map), + r.remove(this._element), + this._popup && this._popup.remove(), + this + ); + }), + (n.prototype.getLngLat = function () { + return this._lngLat; + }), + (n.prototype.setLngLat = function (e) { + return ( + (this._lngLat = t.LngLat.convert(e)), + (this._pos = null), + this._popup && + this._popup.setLngLat(this._lngLat), + this._update(), + this + ); + }), + (n.prototype.getElement = function () { + return this._element; + }), + (n.prototype.setPopup = function (t) { + if ( + (this._popup && + (this._popup.remove(), + (this._popup = null), + this._element.removeEventListener( + "keypress", + this._onKeyPress, + ), + this._originalTabIndex || + this._element.removeAttribute( + "tabindex", + )), + t) + ) { + if (!("offset" in t.options)) { + var e = 13.5, + r = Math.sqrt(Math.pow(e, 2) / 2); + t.options.offset = this._defaultMarker + ? { + top: [0, 0], + "top-left": [0, 0], + "top-right": [0, 0], + bottom: [0, -38.1], + "bottom-left": [ + r, + -1 * (24.6 + r), + ], + "bottom-right": [ + -r, + -1 * (24.6 + r), + ], + left: [e, -24.6], + right: [-13.5, -24.6], + } + : this._offset; + } + (this._popup = t), + this._lngLat && + this._popup.setLngLat(this._lngLat), + (this._originalTabIndex = + this._element.getAttribute( + "tabindex", + )), + this._originalTabIndex || + this._element.setAttribute( + "tabindex", + "0", + ), + this._element.addEventListener( + "keypress", + this._onKeyPress, + ); + } + return this; + }), + (n.prototype._onKeyPress = function (t) { + var e = t.code, + r = t.charCode || t.keyCode; + ("Space" !== e && + "Enter" !== e && + 32 !== r && + 13 !== r) || + this.togglePopup(); + }), + (n.prototype._onMapClick = function (t) { + var e = t.originalEvent.target, + r = this._element; + this._popup && + (e === r || r.contains(e)) && + this.togglePopup(); + }), + (n.prototype.getPopup = function () { + return this._popup; + }), + (n.prototype.togglePopup = function () { + var t = this._popup; + return t + ? (t.isOpen() + ? t.remove() + : t.addTo(this._map), + this) + : this; + }), + (n.prototype._update = function (t) { + if (this._map) { + this._map.transform.renderWorldCopies && + (this._lngLat = Fi( + this._lngLat, + this._pos, + this._map.transform, + )), + (this._pos = this._map + .project(this._lngLat) + ._add(this._offset)); + var e = ""; + "viewport" === this._rotationAlignment || + "auto" === this._rotationAlignment + ? (e = + "rotateZ(" + + this._rotation + + "deg)") + : "map" === this._rotationAlignment && + (e = + "rotateZ(" + + (this._rotation - + this._map.getBearing()) + + "deg)"); + var n = ""; + "viewport" === this._pitchAlignment || + "auto" === this._pitchAlignment + ? (n = "rotateX(0deg)") + : "map" === this._pitchAlignment && + (n = + "rotateX(" + + this._map.getPitch() + + "deg)"), + (t && "moveend" !== t.type) || + (this._pos = this._pos.round()), + r.setTransform( + this._element, + Bi[this._anchor] + + " translate(" + + this._pos.x + + "px, " + + this._pos.y + + "px) " + + n + + " " + + e, + ); + } + }), + (n.prototype.getOffset = function () { + return this._offset; + }), + (n.prototype.setOffset = function (e) { + return ( + (this._offset = t.Point.convert(e)), + this._update(), + this + ); + }), + (n.prototype._onMove = function (e) { + (this._pos = e.point.sub( + this._positionDelta, + )), + (this._lngLat = this._map.unproject( + this._pos, + )), + this.setLngLat(this._lngLat), + (this._element.style.pointerEvents = + "none"), + "pending" === this._state && + ((this._state = "active"), + this.fire(new t.Event("dragstart"))), + this.fire(new t.Event("drag")); + }), + (n.prototype._onUp = function () { + (this._element.style.pointerEvents = + "auto"), + (this._positionDelta = null), + this._map.off("mousemove", this._onMove), + this._map.off("touchmove", this._onMove), + "active" === this._state && + this.fire(new t.Event("dragend")), + (this._state = "inactive"); + }), + (n.prototype._addDragHandler = function (t) { + this._element.contains( + t.originalEvent.target, + ) && + (t.preventDefault(), + (this._positionDelta = t.point + .sub(this._pos) + .add(this._offset)), + (this._state = "pending"), + this._map.on("mousemove", this._onMove), + this._map.on("touchmove", this._onMove), + this._map.once("mouseup", this._onUp), + this._map.once("touchend", this._onUp)); + }), + (n.prototype.setDraggable = function (t) { + return ( + (this._draggable = !!t), + this._map && + (t + ? (this._map.on( + "mousedown", + this._addDragHandler, + ), + this._map.on( + "touchstart", + this._addDragHandler, + )) + : (this._map.off( + "mousedown", + this._addDragHandler, + ), + this._map.off( + "touchstart", + this._addDragHandler, + ))), + this + ); + }), + (n.prototype.isDraggable = function () { + return this._draggable; + }), + (n.prototype.setRotation = function (t) { + return ( + (this._rotation = t || 0), + this._update(), + this + ); + }), + (n.prototype.getRotation = function () { + return this._rotation; + }), + (n.prototype.setRotationAlignment = function ( + t, + ) { + return ( + (this._rotationAlignment = t || "auto"), + this._update(), + this + ); + }), + (n.prototype.getRotationAlignment = + function () { + return this._rotationAlignment; + }), + (n.prototype.setPitchAlignment = function ( + t, + ) { + return ( + (this._pitchAlignment = + t && "auto" !== t + ? t + : this._rotationAlignment), + this._update(), + this + ); + }), + (n.prototype.getPitchAlignment = function () { + return this._pitchAlignment; + }), + n + ); + })(t.Evented), + Vi = { + positionOptions: { + enableHighAccuracy: !1, + maximumAge: 0, + timeout: 6e3, + }, + fitBoundsOptions: { maxZoom: 15 }, + trackUserLocation: !1, + showAccuracyCircle: !0, + showUserLocation: !0, + }; + var Hi = 0, + qi = !1, + Gi = (function (e) { + function n(r) { + e.call(this), + (this.options = t.extend({}, Vi, r)), + t.bindAll( + [ + "_onSuccess", + "_onError", + "_onZoom", + "_finish", + "_setupUI", + "_updateCamera", + "_updateMarker", + ], + this, + ); + } + return ( + e && (n.__proto__ = e), + (n.prototype = Object.create( + e && e.prototype, + )), + (n.prototype.constructor = n), + (n.prototype.onAdd = function (e) { + return ( + (this._map = e), + (this._container = r.create( + "div", + "mapboxgl-ctrl mapboxgl-ctrl-group", + )), + (n = this._setupUI), + void 0 !== ji + ? n(ji) + : void 0 !== + t.window.navigator.permissions + ? t.window.navigator.permissions + .query({ name: "geolocation" }) + .then(function (t) { + (ji = "denied" !== t.state), + n(ji); + }) + : ((ji = + !!t.window.navigator.geolocation), + n(ji)), + this._container + ); + var n; + }), + (n.prototype.onRemove = function () { + void 0 !== this._geolocationWatchID && + (t.window.navigator.geolocation.clearWatch( + this._geolocationWatchID, + ), + (this._geolocationWatchID = void 0)), + this.options.showUserLocation && + this._userLocationDotMarker && + this._userLocationDotMarker.remove(), + this.options.showAccuracyCircle && + this._accuracyCircleMarker && + this._accuracyCircleMarker.remove(), + r.remove(this._container), + this._map.off("zoom", this._onZoom), + (this._map = void 0), + (Hi = 0), + (qi = !1); + }), + (n.prototype._isOutOfMapMaxBounds = function ( + t, + ) { + var e = this._map.getMaxBounds(), + r = t.coords; + return ( + e && + (r.longitude < e.getWest() || + r.longitude > e.getEast() || + r.latitude < e.getSouth() || + r.latitude > e.getNorth()) + ); + }), + (n.prototype._setErrorState = function () { + 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", + ); + } + }), + (n.prototype._onSuccess = function (e) { + if (this._map) { + if (this._isOutOfMapMaxBounds(e)) + return ( + this._setErrorState(), + this.fire( + new t.Event("outofmaxbounds", e), + ), + this._updateMarker(), + void this._finish() + ); + if (this.options.trackUserLocation) + switch ( + ((this._lastKnownPosition = e), + 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(e), + (this.options.trackUserLocation && + "ACTIVE_LOCK" !== this._watchState) || + this._updateCamera(e), + this.options.showUserLocation && + this._dotElement.classList.remove( + "mapboxgl-user-location-dot-stale", + ), + this.fire(new t.Event("geolocate", e)), + this._finish(); + } + }), + (n.prototype._updateCamera = function (e) { + var r = new t.LngLat( + e.coords.longitude, + e.coords.latitude, + ), + n = e.coords.accuracy, + i = this._map.getBearing(), + a = t.extend( + { bearing: i }, + this.options.fitBoundsOptions, + ); + this._map.fitBounds(r.toBounds(n), a, { + geolocateSource: !0, + }); + }), + (n.prototype._updateMarker = function (e) { + if (e) { + var r = new t.LngLat( + e.coords.longitude, + e.coords.latitude, + ); + this._accuracyCircleMarker + .setLngLat(r) + .addTo(this._map), + this._userLocationDotMarker + .setLngLat(r) + .addTo(this._map), + (this._accuracy = e.coords.accuracy), + this.options.showUserLocation && + this.options.showAccuracyCircle && + this._updateCircleRadius(); + } else + this._userLocationDotMarker.remove(), + this._accuracyCircleMarker.remove(); + }), + (n.prototype._updateCircleRadius = + function () { + var t = + this._map._container.clientHeight / 2, + e = this._map.unproject([0, t]), + r = this._map.unproject([1, t]), + n = e.distanceTo(r), + i = Math.ceil((2 * this._accuracy) / n); + (this._circleElement.style.width = + i + "px"), + (this._circleElement.style.height = + i + "px"); + }), + (n.prototype._onZoom = function () { + this.options.showUserLocation && + this.options.showAccuracyCircle && + this._updateCircleRadius(); + }), + (n.prototype._onError = function (e) { + if (this._map) { + if (this.options.trackUserLocation) + if (1 === e.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", + ), + (this._geolocateButton.disabled = + !0); + var r = this._map._getUIString( + "GeolocateControl.LocationNotAvailable", + ); + (this._geolocateButton.title = r), + this._geolocateButton.setAttribute( + "aria-label", + r, + ), + void 0 !== + this._geolocationWatchID && + this._clearWatch(); + } else { + if (3 === e.code && qi) return; + this._setErrorState(); + } + "OFF" !== this._watchState && + this.options.showUserLocation && + this._dotElement.classList.add( + "mapboxgl-user-location-dot-stale", + ), + this.fire(new t.Event("error", e)), + this._finish(); + } + }), + (n.prototype._finish = function () { + this._timeoutId && + clearTimeout(this._timeoutId), + (this._timeoutId = void 0); + }), + (n.prototype._setupUI = function (e) { + var n = this; + if ( + (this._container.addEventListener( + "contextmenu", + function (t) { + return t.preventDefault(); + }, + ), + (this._geolocateButton = r.create( + "button", + "mapboxgl-ctrl-geolocate", + this._container, + )), + r + .create( + "span", + "mapboxgl-ctrl-icon", + this._geolocateButton, + ) + .setAttribute("aria-hidden", !0), + (this._geolocateButton.type = "button"), + !1 === e) + ) { + t.warnOnce( + "Geolocation support is not available so the GeolocateControl will be disabled.", + ); + var i = this._map._getUIString( + "GeolocateControl.LocationNotAvailable", + ); + (this._geolocateButton.disabled = !0), + (this._geolocateButton.title = i), + this._geolocateButton.setAttribute( + "aria-label", + i, + ); + } else { + var a = this._map._getUIString( + "GeolocateControl.FindMyLocation", + ); + (this._geolocateButton.title = a), + this._geolocateButton.setAttribute( + "aria-label", + a, + ); + } + this.options.trackUserLocation && + (this._geolocateButton.setAttribute( + "aria-pressed", + "false", + ), + (this._watchState = "OFF")), + this.options.showUserLocation && + ((this._dotElement = r.create( + "div", + "mapboxgl-user-location-dot", + )), + (this._userLocationDotMarker = new Ui( + this._dotElement, + )), + (this._circleElement = r.create( + "div", + "mapboxgl-user-location-accuracy-circle", + )), + (this._accuracyCircleMarker = new Ui({ + element: this._circleElement, + pitchAlignment: "map", + })), + this.options.trackUserLocation && + (this._watchState = "OFF"), + this._map.on("zoom", this._onZoom)), + this._geolocateButton.addEventListener( + "click", + this.trigger.bind(this), + ), + (this._setup = !0), + this.options.trackUserLocation && + this._map.on("movestart", function (e) { + var r = + e.originalEvent && + "resize" === e.originalEvent.type; + e.geolocateSource || + "ACTIVE_LOCK" !== n._watchState || + r || + ((n._watchState = "BACKGROUND"), + n._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-background", + ), + n._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-active", + ), + n.fire( + new t.Event( + "trackuserlocationend", + ), + )); + }); + }), + (n.prototype.trigger = function () { + if (!this._setup) + return ( + t.warnOnce( + "Geolocate control triggered before added to a map", + ), + !1 + ); + if (this.options.trackUserLocation) { + switch (this._watchState) { + case "OFF": + (this._watchState = "WAITING_ACTIVE"), + this.fire( + new t.Event( + "trackuserlocationstart", + ), + ); + break; + case "WAITING_ACTIVE": + case "ACTIVE_LOCK": + case "ACTIVE_ERROR": + case "BACKGROUND_ERROR": + Hi--, + (qi = !1), + (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( + new t.Event( + "trackuserlocationend", + ), + ); + break; + case "BACKGROUND": + (this._watchState = "ACTIVE_LOCK"), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-background", + ), + this._lastKnownPosition && + this._updateCamera( + this._lastKnownPosition, + ), + this.fire( + new t.Event( + "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", + ); + } + if ( + "OFF" === this._watchState && + void 0 !== this._geolocationWatchID + ) + this._clearWatch(); + else if ( + void 0 === this._geolocationWatchID + ) { + var e; + this._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-waiting", + ), + this._geolocateButton.setAttribute( + "aria-pressed", + "true", + ), + ++Hi > 1 + ? ((e = { + maximumAge: 6e5, + timeout: 0, + }), + (qi = !0)) + : ((e = + this.options.positionOptions), + (qi = !1)), + (this._geolocationWatchID = + t.window.navigator.geolocation.watchPosition( + this._onSuccess, + this._onError, + e, + )); + } + } else + t.window.navigator.geolocation.getCurrentPosition( + this._onSuccess, + this._onError, + this.options.positionOptions, + ), + (this._timeoutId = setTimeout( + this._finish, + 1e4, + )); + return !0; + }), + (n.prototype._clearWatch = function () { + t.window.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); + }), + n + ); + })(t.Evented), + Zi = { maxWidth: 100, unit: "metric" }, + Wi = function (e) { + (this.options = t.extend({}, Zi, e)), + t.bindAll(["_onMove", "setUnit"], this); + }; + function Yi(t, e, r) { + var n = (r && r.maxWidth) || 100, + i = t._container.clientHeight / 2, + a = t.unproject([0, i]), + o = t.unproject([n, i]), + s = a.distanceTo(o); + if (r && "imperial" === r.unit) { + var l = 3.2808 * s; + l > 5280 + ? Xi( + e, + n, + l / 5280, + t._getUIString("ScaleControl.Miles"), + ) + : Xi( + e, + n, + l, + t._getUIString("ScaleControl.Feet"), + ); + } else + r && "nautical" === r.unit + ? Xi( + e, + n, + s / 1852, + t._getUIString( + "ScaleControl.NauticalMiles", + ), + ) + : s >= 1e3 + ? Xi( + e, + n, + s / 1e3, + t._getUIString("ScaleControl.Kilometers"), + ) + : Xi( + e, + n, + s, + t._getUIString("ScaleControl.Meters"), + ); + } + function Xi(t, e, r, n) { + var i, + a, + o, + s = + ((i = r), + (a = Math.pow( + 10, + ("" + Math.floor(i)).length - 1, + )) * + ((o = i / a) >= 10 + ? 10 + : o >= 5 + ? 5 + : o >= 3 + ? 3 + : o >= 2 + ? 2 + : o >= 1 + ? 1 + : (function (t) { + var e = Math.pow( + 10, + Math.ceil(-Math.log(t) / Math.LN10), + ); + return Math.round(t * e) / e; + })(o))), + l = s / r; + (t.style.width = e * l + "px"), + (t.innerHTML = s + " " + n); + } + (Wi.prototype.getDefaultPosition = function () { + return "bottom-left"; + }), + (Wi.prototype._onMove = function () { + Yi(this._map, this._container, this.options); + }), + (Wi.prototype.onAdd = function (t) { + return ( + (this._map = t), + (this._container = r.create( + "div", + "mapboxgl-ctrl mapboxgl-ctrl-scale", + t.getContainer(), + )), + this._map.on("move", this._onMove), + this._onMove(), + this._container + ); + }), + (Wi.prototype.onRemove = function () { + r.remove(this._container), + this._map.off("move", this._onMove), + (this._map = void 0); + }), + (Wi.prototype.setUnit = function (t) { + (this.options.unit = t), + Yi(this._map, this._container, this.options); + }); + var Ji = function (e) { + (this._fullscreen = !1), + e && + e.container && + (e.container instanceof t.window.HTMLElement + ? (this._container = e.container) + : t.warnOnce( + "Full screen control 'container' must be a DOM element.", + )), + t.bindAll( + ["_onClickFullscreen", "_changeIcon"], + this, + ), + "onfullscreenchange" in t.window.document + ? (this._fullscreenchange = + "fullscreenchange") + : "onmozfullscreenchange" in t.window.document + ? (this._fullscreenchange = + "mozfullscreenchange") + : "onwebkitfullscreenchange" in + t.window.document + ? (this._fullscreenchange = + "webkitfullscreenchange") + : "onmsfullscreenchange" in + t.window.document && + (this._fullscreenchange = + "MSFullscreenChange"); + }; + (Ji.prototype.onAdd = function (e) { + return ( + (this._map = e), + this._container || + (this._container = this._map.getContainer()), + (this._controlContainer = r.create( + "div", + "mapboxgl-ctrl mapboxgl-ctrl-group", + )), + this._checkFullscreenSupport() + ? this._setupUI() + : ((this._controlContainer.style.display = + "none"), + t.warnOnce( + "This device does not support fullscreen mode.", + )), + this._controlContainer + ); + }), + (Ji.prototype.onRemove = function () { + r.remove(this._controlContainer), + (this._map = null), + t.window.document.removeEventListener( + this._fullscreenchange, + this._changeIcon, + ); + }), + (Ji.prototype._checkFullscreenSupport = + function () { + return !!( + t.window.document.fullscreenEnabled || + t.window.document.mozFullScreenEnabled || + t.window.document.msFullscreenEnabled || + t.window.document.webkitFullscreenEnabled + ); + }), + (Ji.prototype._setupUI = function () { + var e = (this._fullscreenButton = r.create( + "button", + "mapboxgl-ctrl-fullscreen", + this._controlContainer, + )); + r + .create("span", "mapboxgl-ctrl-icon", e) + .setAttribute("aria-hidden", !0), + (e.type = "button"), + this._updateTitle(), + this._fullscreenButton.addEventListener( + "click", + this._onClickFullscreen, + ), + t.window.document.addEventListener( + this._fullscreenchange, + this._changeIcon, + ); + }), + (Ji.prototype._updateTitle = function () { + var t = this._getTitle(); + this._fullscreenButton.setAttribute( + "aria-label", + t, + ), + (this._fullscreenButton.title = t); + }), + (Ji.prototype._getTitle = function () { + return this._map._getUIString( + this._isFullscreen() + ? "FullscreenControl.Exit" + : "FullscreenControl.Enter", + ); + }), + (Ji.prototype._isFullscreen = function () { + return this._fullscreen; + }), + (Ji.prototype._changeIcon = function () { + ((t.window.document.fullscreenElement || + t.window.document.mozFullScreenElement || + t.window.document.webkitFullscreenElement || + t.window.document.msFullscreenElement) === + this._container) !== + this._fullscreen && + ((this._fullscreen = !this._fullscreen), + this._fullscreenButton.classList.toggle( + "mapboxgl-ctrl-shrink", + ), + this._fullscreenButton.classList.toggle( + "mapboxgl-ctrl-fullscreen", + ), + this._updateTitle()); + }), + (Ji.prototype._onClickFullscreen = function () { + this._isFullscreen() + ? t.window.document.exitFullscreen + ? t.window.document.exitFullscreen() + : t.window.document.mozCancelFullScreen + ? t.window.document.mozCancelFullScreen() + : t.window.document.msExitFullscreen + ? t.window.document.msExitFullscreen() + : t.window.document + .webkitCancelFullScreen && + t.window.document.webkitCancelFullScreen() + : this._container.requestFullscreen + ? this._container.requestFullscreen() + : this._container.mozRequestFullScreen + ? this._container.mozRequestFullScreen() + : this._container.msRequestFullscreen + ? this._container.msRequestFullscreen() + : this._container.webkitRequestFullscreen && + this._container.webkitRequestFullscreen(); + }); + var Ki = { + closeButton: !0, + closeOnClick: !0, + className: "", + maxWidth: "240px", + }, + $i = (function (e) { + function n(r) { + e.call(this), + (this.options = t.extend( + Object.create(Ki), + r, + )), + t.bindAll( + [ + "_update", + "_onClose", + "remove", + "_onMouseMove", + "_onMouseUp", + "_onDrag", + ], + this, + ); + } + return ( + e && (n.__proto__ = e), + (n.prototype = Object.create( + e && e.prototype, + )), + (n.prototype.constructor = n), + (n.prototype.addTo = function (e) { + return ( + this._map && this.remove(), + (this._map = e), + this.options.closeOnClick && + this._map.on("click", this._onClose), + this.options.closeOnMove && + this._map.on("move", this._onClose), + this._map.on("remove", this.remove), + this._update(), + this._trackPointer + ? (this._map.on( + "mousemove", + this._onMouseMove, + ), + this._map.on( + "mouseup", + this._onMouseUp, + ), + this._container && + this._container.classList.add( + "mapboxgl-popup-track-pointer", + ), + this._map._canvasContainer.classList.add( + "mapboxgl-track-pointer", + )) + : this._map.on("move", this._update), + this.fire(new t.Event("open")), + this + ); + }), + (n.prototype.isOpen = function () { + return !!this._map; + }), + (n.prototype.remove = function () { + return ( + this._content && r.remove(this._content), + this._container && + (r.remove(this._container), + delete this._container), + this._map && + (this._map.off("move", this._update), + this._map.off("move", this._onClose), + this._map.off("click", this._onClose), + this._map.off("remove", this.remove), + this._map.off( + "mousemove", + this._onMouseMove, + ), + this._map.off( + "mouseup", + this._onMouseUp, + ), + this._map.off("drag", this._onDrag), + delete this._map), + this.fire(new t.Event("close")), + this + ); + }), + (n.prototype.getLngLat = function () { + return this._lngLat; + }), + (n.prototype.setLngLat = function (e) { + return ( + (this._lngLat = t.LngLat.convert(e)), + (this._pos = null), + (this._trackPointer = !1), + this._update(), + this._map && + (this._map.on("move", this._update), + this._map.off( + "mousemove", + this._onMouseMove, + ), + this._container && + this._container.classList.remove( + "mapboxgl-popup-track-pointer", + ), + this._map._canvasContainer.classList.remove( + "mapboxgl-track-pointer", + )), + this + ); + }), + (n.prototype.trackPointer = function () { + return ( + (this._trackPointer = !0), + (this._pos = null), + this._update(), + this._map && + (this._map.off("move", this._update), + this._map.on( + "mousemove", + this._onMouseMove, + ), + this._map.on("drag", this._onDrag), + this._container && + this._container.classList.add( + "mapboxgl-popup-track-pointer", + ), + this._map._canvasContainer.classList.add( + "mapboxgl-track-pointer", + )), + this + ); + }), + (n.prototype.getElement = function () { + return this._container; + }), + (n.prototype.setText = function (e) { + return this.setDOMContent( + t.window.document.createTextNode(e), + ); + }), + (n.prototype.setHTML = function (e) { + var r, + n = + t.window.document.createDocumentFragment(), + i = + t.window.document.createElement("body"); + for (i.innerHTML = e; (r = i.firstChild); ) + n.appendChild(r); + return this.setDOMContent(n); + }), + (n.prototype.getMaxWidth = function () { + return ( + this._container && + this._container.style.maxWidth + ); + }), + (n.prototype.setMaxWidth = function (t) { + return ( + (this.options.maxWidth = t), + this._update(), + this + ); + }), + (n.prototype.setDOMContent = function (t) { + return ( + this._createContent(), + this._content.appendChild(t), + this._update(), + this + ); + }), + (n.prototype.addClassName = function (t) { + this._container && + this._container.classList.add(t); + }), + (n.prototype.removeClassName = function (t) { + this._container && + this._container.classList.remove(t); + }), + (n.prototype.toggleClassName = function (t) { + if (this._container) + return this._container.classList.toggle( + t, + ); + }), + (n.prototype._createContent = function () { + this._content && r.remove(this._content), + (this._content = r.create( + "div", + "mapboxgl-popup-content", + this._container, + )), + this.options.closeButton && + ((this._closeButton = r.create( + "button", + "mapboxgl-popup-close-button", + this._content, + )), + (this._closeButton.type = "button"), + this._closeButton.setAttribute( + "aria-label", + "Close popup", + ), + (this._closeButton.innerHTML = + "×"), + this._closeButton.addEventListener( + "click", + this._onClose, + )); + }), + (n.prototype._onMouseUp = function (t) { + this._update(t.point); + }), + (n.prototype._onMouseMove = function (t) { + this._update(t.point); + }), + (n.prototype._onDrag = function (t) { + this._update(t.point); + }), + (n.prototype._update = function (t) { + var e = this, + n = this._lngLat || this._trackPointer; + if ( + this._map && + n && + this._content && + (this._container || + ((this._container = r.create( + "div", + "mapboxgl-popup", + this._map.getContainer(), + )), + (this._tip = r.create( + "div", + "mapboxgl-popup-tip", + this._container, + )), + this._container.appendChild( + this._content, + ), + this.options.className && + this.options.className + .split(" ") + .forEach(function (t) { + return e._container.classList.add( + t, + ); + }), + this._trackPointer && + this._container.classList.add( + "mapboxgl-popup-track-pointer", + )), + this.options.maxWidth && + this._container.style.maxWidth !== + this.options.maxWidth && + (this._container.style.maxWidth = + this.options.maxWidth), + this._map.transform.renderWorldCopies && + !this._trackPointer && + (this._lngLat = Fi( + this._lngLat, + this._pos, + this._map.transform, + )), + !this._trackPointer || t) + ) { + var i = (this._pos = + this._trackPointer && t + ? t + : this._map.project(this._lngLat)), + a = this.options.anchor, + o = Qi(this.options.offset); + if (!a) { + var s, + l = this._container.offsetWidth, + u = this._container.offsetHeight; + (s = + i.y + o.bottom.y < u + ? ["top"] + : i.y > + this._map.transform.height - u + ? ["bottom"] + : []), + i.x < l / 2 + ? s.push("left") + : i.x > + this._map.transform.width - + l / 2 && s.push("right"), + (a = + 0 === s.length + ? "bottom" + : s.join("-")); + } + var c = i.add(o[a]).round(); + r.setTransform( + this._container, + Bi[a] + + " translate(" + + c.x + + "px," + + c.y + + "px)", + ), + Ni(this._container, a, "popup"); + } + }), + (n.prototype._onClose = function () { + this.remove(); + }), + n + ); + })(t.Evented); + function Qi(e) { + if (e) { + if ("number" == typeof e) { + var r = Math.round( + Math.sqrt(0.5 * Math.pow(e, 2)), + ); + return { + center: new t.Point(0, 0), + top: new t.Point(0, e), + "top-left": new t.Point(r, r), + "top-right": new t.Point(-r, r), + bottom: new t.Point(0, -e), + "bottom-left": new t.Point(r, -r), + "bottom-right": new t.Point(-r, -r), + left: new t.Point(e, 0), + right: new t.Point(-e, 0), + }; + } + if (e instanceof t.Point || Array.isArray(e)) { + var n = t.Point.convert(e); + return { + center: n, + top: n, + "top-left": n, + "top-right": n, + bottom: n, + "bottom-left": n, + "bottom-right": n, + left: n, + right: n, + }; + } + return { + center: t.Point.convert(e.center || [0, 0]), + top: t.Point.convert(e.top || [0, 0]), + "top-left": t.Point.convert( + e["top-left"] || [0, 0], + ), + "top-right": t.Point.convert( + e["top-right"] || [0, 0], + ), + bottom: t.Point.convert(e.bottom || [0, 0]), + "bottom-left": t.Point.convert( + e["bottom-left"] || [0, 0], + ), + "bottom-right": t.Point.convert( + e["bottom-right"] || [0, 0], + ), + left: t.Point.convert(e.left || [0, 0]), + right: t.Point.convert(e.right || [0, 0]), + }; + } + return Qi(new t.Point(0, 0)); + } + var ta = { + version: t.version, + supported: e, + setRTLTextPlugin: t.setRTLTextPlugin, + getRTLTextPluginStatus: t.getRTLTextPluginStatus, + Map: Pi, + NavigationControl: zi, + GeolocateControl: Gi, + AttributionControl: Ti, + ScaleControl: Wi, + FullscreenControl: Ji, + Popup: $i, + Marker: Ui, + Style: We, + LngLat: t.LngLat, + LngLatBounds: t.LngLatBounds, + Point: t.Point, + MercatorCoordinate: t.MercatorCoordinate, + Evented: t.Evented, + config: t.config, + prewarm: function () { + jt().acquire(Rt); + }, + clearPrewarmedResources: function () { + var t = Bt; + t && + (t.isPreloaded() && 1 === t.numActive() + ? (t.release(Rt), (Bt = null)) + : console.warn( + "Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()", + )); + }, + get accessToken() { + return t.config.ACCESS_TOKEN; + }, + set accessToken(e) { + t.config.ACCESS_TOKEN = e; + }, + get baseApiUrl() { + return t.config.API_URL; + }, + set baseApiUrl(e) { + t.config.API_URL = e; + }, + get workerCount() { + return Ft.workerCount; + }, + set workerCount(t) { + Ft.workerCount = t; + }, + get maxParallelImageRequests() { + return t.config.MAX_PARALLEL_IMAGE_REQUESTS; + }, + set maxParallelImageRequests(e) { + t.config.MAX_PARALLEL_IMAGE_REQUESTS = e; + }, + clearStorage: function (e) { + t.clearTileCache(e); + }, + workerUrl: "", + }; + return ta; + }), + r + ); + })(); + }, + 27084: function (t) { + "use strict"; + t.exports = + Math.log2 || + function (t) { + return Math.log(t) * Math.LOG2E; + }; + }, + 16825: function (t, e, r) { + "use strict"; + t.exports = function (t, e) { + e || ((e = t), (t = window)); + var r = 0, + i = 0, + a = 0, + o = { shift: !1, alt: !1, control: !1, meta: !1 }, + s = !1; + function l(t) { + var e = !1; + return ( + "altKey" in t && + ((e = e || t.altKey !== o.alt), + (o.alt = !!t.altKey)), + "shiftKey" in t && + ((e = e || t.shiftKey !== o.shift), + (o.shift = !!t.shiftKey)), + "ctrlKey" in t && + ((e = e || t.ctrlKey !== o.control), + (o.control = !!t.ctrlKey)), + "metaKey" in t && + ((e = e || t.metaKey !== o.meta), + (o.meta = !!t.metaKey)), + e + ); + } + function u(t, s) { + var u = n.x(s), + c = n.y(s); + "buttons" in s && (t = 0 | s.buttons), + (t !== r || u !== i || c !== a || l(s)) && + ((r = 0 | t), + (i = u || 0), + (a = c || 0), + e && e(r, i, a, o)); + } + function c(t) { + u(0, t); + } + function f() { + (r || + i || + a || + o.shift || + o.alt || + o.meta || + o.control) && + ((i = a = 0), + (r = 0), + (o.shift = o.alt = o.control = o.meta = !1), + e && e(0, 0, 0, o)); + } + function h(t) { + l(t) && e && e(r, i, a, o); + } + function p(t) { + 0 === n.buttons(t) ? u(0, t) : u(r, t); + } + function d(t) { + u(r | n.buttons(t), t); + } + function v(t) { + u(r & ~n.buttons(t), t); + } + function g() { + s || + ((s = !0), + t.addEventListener("mousemove", p), + t.addEventListener("mousedown", d), + t.addEventListener("mouseup", v), + t.addEventListener("mouseleave", c), + t.addEventListener("mouseenter", c), + t.addEventListener("mouseout", c), + t.addEventListener("mouseover", c), + t.addEventListener("blur", f), + t.addEventListener("keyup", h), + t.addEventListener("keydown", h), + t.addEventListener("keypress", h), + t !== window && + (window.addEventListener("blur", f), + window.addEventListener("keyup", h), + window.addEventListener("keydown", h), + window.addEventListener("keypress", h))); + } + g(); + var y = { element: t }; + return ( + Object.defineProperties(y, { + enabled: { + get: function () { + return s; + }, + set: function (e) { + e + ? g() + : s && + ((s = !1), + t.removeEventListener("mousemove", p), + t.removeEventListener("mousedown", d), + t.removeEventListener("mouseup", v), + t.removeEventListener("mouseleave", c), + t.removeEventListener("mouseenter", c), + t.removeEventListener("mouseout", c), + t.removeEventListener("mouseover", c), + t.removeEventListener("blur", f), + t.removeEventListener("keyup", h), + t.removeEventListener("keydown", h), + t.removeEventListener("keypress", h), + t !== window && + (window.removeEventListener("blur", f), + 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 i; + }, + enumerable: !0, + }, + y: { + get: function () { + return a; + }, + enumerable: !0, + }, + mods: { + get: function () { + return o; + }, + enumerable: !0, + }, + }), + y + ); + }; + var n = r(74311); + }, + 48956: function (t) { + var e = { left: 0, top: 0 }; + t.exports = function (t, r, n) { + (r = r || t.currentTarget || t.srcElement), + Array.isArray(n) || (n = [0, 0]); + var i, + a = t.clientX || 0, + o = t.clientY || 0, + s = + (i = r) === window || + i === document || + i === document.body + ? e + : i.getBoundingClientRect(); + return (n[0] = a - s.left), (n[1] = o - s.top), n; + }; + }, + 74311: function (t, e) { + "use strict"; + function r(t) { + return t.target || t.srcElement || window; + } + (e.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; + }), + (e.element = r), + (e.x = function (t) { + if ("object" == typeof t) { + if ("offsetX" in t) return t.offsetX; + var e = r(t).getBoundingClientRect(); + return t.clientX - e.left; + } + return 0; + }), + (e.y = function (t) { + if ("object" == typeof t) { + if ("offsetY" in t) return t.offsetY; + var e = r(t).getBoundingClientRect(); + return t.clientY - e.top; + } + return 0; + }); + }, + 1195: function (t, e, r) { + "use strict"; + var n = r(75686); + t.exports = function (t, e, r) { + "function" == typeof t && + ((r = !!e), (e = t), (t = window)); + var i = n("ex", t), + a = function (t) { + r && t.preventDefault(); + var n = t.deltaX || 0, + a = t.deltaY || 0, + o = t.deltaZ || 0, + s = 1; + switch (t.deltaMode) { + case 1: + s = i; + break; + case 2: + s = window.innerHeight; + } + if (((a *= s), (o *= s), (n *= s) || a || o)) + return e(n, a, o, t); + }; + return t.addEventListener("wheel", a), a; + }; + }, + 7417: function (t, e, r) { + var n; + !(function (i, a, o) { + (a[i] = + a[i] || + (function () { + "use strict"; + var t, + e, + r, + n = Object.prototype.toString, + i = + "undefined" != typeof setImmediate + ? function (t) { + return setImmediate(t); + } + : setTimeout; + try { + Object.defineProperty({}, "x", {}), + (t = function (t, e, r, n) { + return Object.defineProperty(t, e, { + value: r, + writable: !0, + configurable: !1 !== n, + }); + }); + } catch (e) { + t = function (t, e, r) { + return (t[e] = r), t; + }; + } + function a(t, n) { + r.add(t, n), e || (e = i(r.drain)); + } + function o(t) { + var e, + r = typeof t; + return ( + null == t || + ("object" != r && "function" != r) || + (e = t.then), + "function" == typeof e && e + ); + } + function s() { + for (var t = 0; t < this.chain.length; t++) + l( + this, + 1 === this.state + ? this.chain[t].success + : this.chain[t].failure, + this.chain[t], + ); + this.chain.length = 0; + } + function l(t, e, r) { + var n, i; + try { + !1 === e + ? r.reject(t.msg) + : (n = + !0 === e + ? t.msg + : e.call(void 0, t.msg)) === r.promise + ? r.reject(TypeError("Promise-chain cycle")) + : (i = o(n)) + ? i.call(n, r.resolve, r.reject) + : r.resolve(n); + } catch (t) { + r.reject(t); + } + } + function u(t) { + var e, + r = this; + if (!r.triggered) { + (r.triggered = !0), r.def && (r = r.def); + try { + (e = o(t)) + ? a(function () { + var n = new h(r); + try { + e.call( + t, + function () { + u.apply(n, arguments); + }, + function () { + c.apply(n, arguments); + }, + ); + } catch (t) { + c.call(n, t); + } + }) + : ((r.msg = t), + (r.state = 1), + r.chain.length > 0 && a(s, r)); + } catch (t) { + c.call(new h(r), t); + } + } + } + function c(t) { + var e = this; + e.triggered || + ((e.triggered = !0), + e.def && (e = e.def), + (e.msg = t), + (e.state = 2), + e.chain.length > 0 && a(s, e)); + } + function f(t, e, r, n) { + for (var i = 0; i < e.length; i++) + !(function (i) { + t.resolve(e[i]).then(function (t) { + r(i, t); + }, n); + })(i); + } + function h(t) { + (this.def = t), (this.triggered = !1); + } + function p(t) { + (this.promise = t), + (this.state = 0), + (this.triggered = !1), + (this.chain = []), + (this.msg = void 0); + } + function d(t) { + if ("function" != typeof t) + throw TypeError("Not a function"); + if (0 !== this.__NPO__) + throw TypeError("Not a promise"); + this.__NPO__ = 1; + var e = new p(this); + (this.then = function (t, r) { + var n = { + success: "function" != typeof t || t, + failure: "function" == typeof r && r, + }; + return ( + (n.promise = new this.constructor(function ( + t, + e, + ) { + if ( + "function" != typeof t || + "function" != typeof e + ) + throw TypeError("Not a function"); + (n.resolve = t), (n.reject = e); + })), + e.chain.push(n), + 0 !== e.state && a(s, e), + n.promise + ); + }), + (this.catch = function (t) { + return this.then(void 0, t); + }); + try { + t.call( + void 0, + function (t) { + u.call(e, t); + }, + function (t) { + c.call(e, t); + }, + ); + } catch (t) { + c.call(e, t); + } + } + r = (function () { + var t, r, n; + function i(t, e) { + (this.fn = t), + (this.self = e), + (this.next = void 0); + } + return { + add: function (e, a) { + (n = new i(e, a)), + r ? (r.next = n) : (t = n), + (r = n), + (n = void 0); + }, + drain: function () { + var n = t; + for (t = r = e = void 0; n; ) + n.fn.call(n.self), (n = n.next); + }, + }; + })(); + var v = t({}, "constructor", d, !1); + return ( + (d.prototype = v), + t(v, "__NPO__", 0, !1), + t(d, "resolve", function (t) { + return t && + "object" == typeof t && + 1 === t.__NPO__ + ? t + : new this(function (e, r) { + if ( + "function" != typeof e || + "function" != typeof r + ) + throw TypeError("Not a function"); + e(t); + }); + }), + t(d, "reject", function (t) { + return new this(function (e, r) { + if ( + "function" != typeof e || + "function" != typeof r + ) + throw TypeError("Not a function"); + r(t); + }); + }), + t(d, "all", function (t) { + var e = this; + return "[object Array]" != n.call(t) + ? e.reject(TypeError("Not an array")) + : 0 === t.length + ? e.resolve([]) + : new e(function (r, n) { + if ( + "function" != typeof r || + "function" != typeof n + ) + throw TypeError("Not a function"); + var i = t.length, + a = Array(i), + o = 0; + f( + e, + t, + function (t, e) { + (a[t] = e), ++o === i && r(a); + }, + n, + ); + }); + }), + t(d, "race", function (t) { + var e = this; + return "[object Array]" != n.call(t) + ? e.reject(TypeError("Not an array")) + : new e(function (r, n) { + if ( + "function" != typeof r || + "function" != typeof n + ) + throw TypeError("Not a function"); + f( + e, + t, + function (t, e) { + r(e); + }, + n, + ); + }); + }), + d + ); + })()), + t.exports + ? (t.exports = a[i]) + : void 0 === + (n = function () { + return a[i]; + }.call(e, r, e, t)) || (t.exports = n); + })("Promise", void 0 !== r.g ? r.g : this); + }, + 18625: function (t) { + var e = Math.PI, + r = s(120); + function n(t, e, r, n) { + return ["C", t, e, r, n, r, n]; + } + function i(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 a(t, n, i, s, l, u, c, f, h, p) { + if (p) (T = p[0]), (k = p[1]), (_ = p[2]), (w = p[3]); + else { + var d = o(t, n, -l); + (t = d.x), (n = d.y); + var v = (t - (f = (d = o(f, h, -l)).x)) / 2, + g = (n - (h = d.y)) / 2, + y = (v * v) / (i * i) + (g * g) / (s * s); + y > 1 && ((i *= y = Math.sqrt(y)), (s *= y)); + var m = i * i, + x = s * s, + b = + (u == c ? -1 : 1) * + Math.sqrt( + Math.abs( + (m * x - m * g * g - x * v * v) / + (m * g * g + x * v * v), + ), + ); + b == 1 / 0 && (b = 1); + var _ = (b * i * g) / s + (t + f) / 2, + w = (b * -s * v) / i + (n + h) / 2, + T = Math.asin(((n - w) / s).toFixed(9)), + k = Math.asin(((h - w) / s).toFixed(9)); + (T = t < _ ? e - T : T) < 0 && (T = 2 * e + T), + (k = f < _ ? e - k : k) < 0 && (k = 2 * e + k), + c && T > k && (T -= 2 * e), + !c && k > T && (k -= 2 * e); + } + if (Math.abs(k - T) > r) { + var A = k, + M = f, + S = h; + k = T + r * (c && k > T ? 1 : -1); + var E = a( + (f = _ + i * Math.cos(k)), + (h = w + s * Math.sin(k)), + i, + s, + l, + 0, + c, + M, + S, + [k, A, _, w], + ); + } + var L = Math.tan((k - T) / 4), + C = (4 / 3) * i * L, + O = (4 / 3) * s * L, + P = [ + 2 * t - (t + C * Math.sin(T)), + 2 * n - (n - O * Math.cos(T)), + f + C * Math.sin(k), + h - O * Math.cos(k), + f, + h, + ]; + if (p) return P; + E && (P = P.concat(E)); + for (var I = 0; I < P.length; ) { + var D = o(P[I], P[I + 1], l); + (P[I++] = D.x), (P[I++] = D.y); + } + return P; + } + function o(t, e, r) { + return { + x: t * Math.cos(r) - e * Math.sin(r), + y: t * Math.sin(r) + e * Math.cos(r), + }; + } + function s(t) { + return t * (e / 180); + } + t.exports = function (t) { + for ( + var e, + r = [], + o = 0, + l = 0, + u = 0, + c = 0, + f = null, + h = null, + p = 0, + d = 0, + v = 0, + g = t.length; + v < g; + v++ + ) { + var y = t[v], + m = y[0]; + switch (m) { + case "M": + (u = y[1]), (c = y[2]); + break; + case "A": + (y = a( + p, + d, + y[1], + y[2], + s(y[3]), + y[4], + y[5], + y[6], + y[7], + )).unshift("C"), + y.length > 7 && + (r.push(y.splice(0, 7)), y.unshift("C")); + break; + case "S": + var x = p, + b = d; + ("C" != e && "S" != e) || + ((x += x - o), (b += b - l)), + (y = ["C", x, b, y[1], y[2], y[3], y[4]]); + break; + case "T": + "Q" == e || "T" == e + ? ((f = 2 * p - f), (h = 2 * d - h)) + : ((f = p), (h = d)), + (y = i(p, d, f, h, y[1], y[2])); + break; + case "Q": + (f = y[1]), + (h = y[2]), + (y = i(p, d, y[1], y[2], y[3], y[4])); + break; + case "L": + y = n(p, d, y[1], y[2]); + break; + case "H": + y = n(p, d, y[1], d); + break; + case "V": + y = n(p, d, p, y[1]); + break; + case "Z": + y = n(p, d, u, c); + } + (e = m), + (p = y[y.length - 2]), + (d = y[y.length - 1]), + y.length > 4 + ? ((o = y[y.length - 4]), (l = y[y.length - 3])) + : ((o = p), (l = d)), + r.push(y); + } + return r; + }; + }, + 56131: function (t) { + "use strict"; + var e = Object.getOwnPropertySymbols, + r = Object.prototype.hasOwnProperty, + n = Object.prototype.propertyIsEnumerable; + function i(t) { + if (null == t) + throw new TypeError( + "Object.assign cannot be called with null or undefined", + ); + return Object(t); + } + t.exports = (function () { + try { + if (!Object.assign) return !1; + var t = new String("abc"); + if ( + ((t[5] = "de"), + "5" === Object.getOwnPropertyNames(t)[0]) + ) + return !1; + for (var e = {}, r = 0; r < 10; r++) + e["_" + String.fromCharCode(r)] = r; + if ( + "0123456789" !== + Object.getOwnPropertyNames(e) + .map(function (t) { + return e[t]; + }) + .join("") + ) + return !1; + var n = {}; + return ( + "abcdefghijklmnopqrst" + .split("") + .forEach(function (t) { + n[t] = t; + }), + "abcdefghijklmnopqrst" === + Object.keys(Object.assign({}, n)).join("") + ); + } catch (t) { + return !1; + } + })() + ? Object.assign + : function (t, a) { + for ( + var o, s, l = i(t), u = 1; + u < arguments.length; + u++ + ) { + for (var c in (o = Object(arguments[u]))) + r.call(o, c) && (l[c] = o[c]); + if (e) { + s = e(o); + for (var f = 0; f < s.length; f++) + n.call(o, s[f]) && (l[s[f]] = o[s[f]]); + } + } + return l; + }; + }, + 65848: function (t) { + "use strict"; + var e = function (t) { + return t != t; + }; + t.exports = function (t, r) { + return 0 === t && 0 === r + ? 1 / t == 1 / r + : t === r || !(!e(t) || !e(r)); + }; + }, + 64003: function (t, e, r) { + "use strict"; + var n = r(17045), + i = r(68222), + a = r(65848), + o = r(27015), + s = r(55572), + l = i(o(), Object); + n(l, { getPolyfill: o, implementation: a, shim: s }), + (t.exports = l); + }, + 27015: function (t, e, r) { + "use strict"; + var n = r(65848); + t.exports = function () { + return "function" == typeof Object.is ? Object.is : n; + }; + }, + 55572: function (t, e, r) { + "use strict"; + var n = r(27015), + i = r(17045); + t.exports = function () { + var t = n(); + return ( + i( + Object, + { is: t }, + { + is: function () { + return Object.is !== t; + }, + }, + ), + t + ); + }; + }, + 99019: function (t, e, r) { + "use strict"; + var n; + if (!Object.keys) { + var i = Object.prototype.hasOwnProperty, + a = Object.prototype.toString, + o = r(64178), + s = Object.prototype.propertyIsEnumerable, + l = !s.call({ toString: null }, "toString"), + u = s.call(function () {}, "prototype"), + c = [ + "toString", + "toLocaleString", + "valueOf", + "hasOwnProperty", + "isPrototypeOf", + "propertyIsEnumerable", + "constructor", + ], + f = function (t) { + var e = t.constructor; + return e && e.prototype === t; + }, + h = { + $applicationCache: !0, + $console: !0, + $external: !0, + $frame: !0, + $frameElement: !0, + $frames: !0, + $innerHeight: !0, + $innerWidth: !0, + $onmozfullscreenchange: !0, + $onmozfullscreenerror: !0, + $outerHeight: !0, + $outerWidth: !0, + $pageXOffset: !0, + $pageYOffset: !0, + $parent: !0, + $scrollLeft: !0, + $scrollTop: !0, + $scrollX: !0, + $scrollY: !0, + $self: !0, + $webkitIndexedDB: !0, + $webkitStorageInfo: !0, + $window: !0, + }, + p = (function () { + if ("undefined" == typeof window) return !1; + for (var t in window) + try { + if ( + !h["$" + t] && + i.call(window, t) && + null !== window[t] && + "object" == typeof window[t] + ) + try { + f(window[t]); + } catch (t) { + return !0; + } + } catch (t) { + return !0; + } + return !1; + })(); + n = function (t) { + var e = null !== t && "object" == typeof t, + r = "[object Function]" === a.call(t), + n = o(t), + s = e && "[object String]" === a.call(t), + h = []; + if (!e && !r && !n) + throw new TypeError( + "Object.keys called on a non-object", + ); + var d = u && r; + if (s && t.length > 0 && !i.call(t, 0)) + for (var v = 0; v < t.length; ++v) + h.push(String(v)); + if (n && t.length > 0) + for (var g = 0; g < t.length; ++g) + h.push(String(g)); + else + for (var y in t) + (d && "prototype" === y) || + !i.call(t, y) || + h.push(String(y)); + if (l) + for ( + var m = (function (t) { + if ("undefined" == typeof window || !p) + return f(t); + try { + return f(t); + } catch (t) { + return !1; + } + })(t), + x = 0; + x < c.length; + ++x + ) + (m && "constructor" === c[x]) || + !i.call(t, c[x]) || + h.push(c[x]); + return h; + }; + } + t.exports = n; + }, + 8709: function (t, e, r) { + "use strict"; + var n = Array.prototype.slice, + i = r(64178), + a = Object.keys, + o = a + ? function (t) { + return a(t); + } + : r(99019), + s = Object.keys; + (o.shim = function () { + if (Object.keys) { + var t = (function () { + var t = Object.keys(arguments); + return t && t.length === arguments.length; + })(1, 2); + t || + (Object.keys = function (t) { + return i(t) ? s(n.call(t)) : s(t); + }); + } else Object.keys = o; + return Object.keys || o; + }), + (t.exports = o); + }, + 64178: function (t) { + "use strict"; + var e = Object.prototype.toString; + t.exports = function (t) { + var r = e.call(t), + n = "[object Arguments]" === r; + return ( + n || + (n = + "[object Array]" !== r && + null !== t && + "object" == typeof t && + "number" == typeof t.length && + t.length >= 0 && + "[object Function]" === e.call(t.callee)), + n + ); + }; + }, + 88641: function (t) { + "use strict"; + function e(t, e) { + if ("string" != typeof t) return [t]; + var r = [t]; + "string" == typeof e || Array.isArray(e) + ? (e = { brackets: e }) + : e || (e = {}); + var n = e.brackets + ? Array.isArray(e.brackets) + ? e.brackets + : [e.brackets] + : ["{}", "[]", "()"], + i = e.escape || "___", + a = !!e.flat; + n.forEach(function (t) { + var e = new RegExp( + [ + "\\", + t[0], + "[^\\", + t[0], + "\\", + t[1], + "]*\\", + t[1], + ].join(""), + ), + n = []; + function a(e, a, o) { + var s = + r.push(e.slice(t[0].length, -t[1].length)) - 1; + return n.push(s), i + s + i; + } + r.forEach(function (t, n) { + for (var i, o = 0; t != i; ) + if (((i = t), (t = t.replace(e, a)), o++ > 1e4)) + throw Error( + "References have circular dependency. Please, check them.", + ); + r[n] = t; + }), + (n = n.reverse()), + (r = r.map(function (e) { + return ( + n.forEach(function (r) { + e = e.replace( + new RegExp( + "(\\" + i + r + "\\" + i + ")", + "g", + ), + t[0] + "$1" + t[1], + ); + }), + e + ); + })); + }); + var o = new RegExp("\\" + i + "([0-9]+)\\" + i); + return a + ? r + : (function t(e, r, n) { + for (var i, a = [], s = 0; (i = o.exec(e)); ) { + if (s++ > 1e4) + throw Error( + "Circular references in parenthesis", + ); + a.push(e.slice(0, i.index)), + a.push(t(r[i[1]], r)), + (e = e.slice(i.index + i[0].length)); + } + return a.push(e), a; + })(r[0], r); + } + function r(t, e) { + if (e && e.flat) { + var r, + n = (e && e.escape) || "___", + i = t[0]; + if (!i) return ""; + for ( + var a = new RegExp("\\" + n + "([0-9]+)\\" + n), + o = 0; + i != r; + + ) { + if (o++ > 1e4) + throw Error("Circular references in " + t); + (r = i), (i = i.replace(a, s)); + } + return i; + } + return t.reduce(function t(e, r) { + return ( + Array.isArray(r) && (r = r.reduce(t, "")), e + r + ); + }, ""); + function s(e, r) { + if (null == t[r]) + throw Error("Reference " + r + "is undefined"); + return t[r]; + } + } + function n(t, n) { + return Array.isArray(t) ? r(t, n) : e(t, n); + } + (n.parse = e), (n.stringify = r), (t.exports = n); + }, + 18863: function (t, e, r) { + "use strict"; + var n = r(71299); + t.exports = function (t) { + var e; + return ( + arguments.length > 1 && (t = arguments), + "string" == typeof t + ? (t = t.split(/\s/).map(parseFloat)) + : "number" == typeof t && (t = [t]), + t.length && "number" == typeof t[0] + ? (e = + 1 === t.length + ? { width: t[0], height: t[0], x: 0, y: 0 } + : 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 && + ((e = { + x: + (t = n(t, { + left: "x l left Left", + top: "y t top Top", + width: "w width W Width", + height: "h height W Width", + bottom: "b bottom Bottom", + right: "r right Right", + })).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)), + e + ); + }; + }, + 95616: function (t) { + t.exports = function (t) { + var i = []; + return ( + t.replace(r, function (t, r, a) { + var o = r.toLowerCase(); + for ( + a = (function (t) { + var e = t.match(n); + return e ? e.map(Number) : []; + })(a), + "m" == o && + a.length > 2 && + (i.push([r].concat(a.splice(0, 2))), + (o = "l"), + (r = "m" == r ? "l" : "L")); + ; + + ) { + if (a.length == e[o]) + return a.unshift(r), i.push(a); + if (a.length < e[o]) + throw new Error("malformed path data"); + i.push([r].concat(a.splice(0, e[o]))); + } + }), + i + ); + }; + var e = { + a: 7, + c: 6, + h: 1, + l: 2, + m: 2, + q: 4, + s: 4, + t: 2, + v: 1, + z: 0, + }, + r = /([astvzqmhlc])([^astvzqmhlc]*)/gi, + n = /-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi; + }, + 25677: function (t) { + t.exports = function (t, e) { + e || (e = [0, ""]), (t = String(t)); + var r = parseFloat(t, 10); + return ( + (e[0] = r), + (e[1] = t.match(/[\d.\-\+]*\s*(.*)/)[1] || ""), + e + ); + }; + }, + 9748: function (t, e, r) { + var n = r(90386); + (function () { + var e, r, i, a, o, s; + "undefined" != typeof performance && + null !== performance && + performance.now + ? (t.exports = function () { + return performance.now(); + }) + : null != n && n.hrtime + ? ((t.exports = function () { + return (e() - o) / 1e6; + }), + (r = n.hrtime), + (a = (e = function () { + var t; + return 1e9 * (t = r())[0] + t[1]; + })()), + (s = 1e9 * n.uptime()), + (o = a - s)) + : Date.now + ? ((t.exports = function () { + return Date.now() - i; + }), + (i = Date.now())) + : ((t.exports = function () { + return new Date().getTime() - i; + }), + (i = new Date().getTime())); + }).call(this); + }, + 71299: function (t) { + "use strict"; + t.exports = function (t, e, n) { + var i, + a, + o = {}; + if ( + ("string" == typeof e && (e = r(e)), Array.isArray(e)) + ) { + var s = {}; + for (a = 0; a < e.length; a++) s[e[a]] = !0; + e = s; + } + for (i in e) e[i] = r(e[i]); + var l = {}; + for (i in e) { + var u = e[i]; + if (Array.isArray(u)) + for (a = 0; a < u.length; a++) { + var c = u[a]; + if ((n && (l[c] = !0), c in t)) { + if (((o[i] = t[c]), n)) + for (var f = a; f < u.length; f++) + l[u[f]] = !0; + break; + } + } + else + i in t && (e[i] && (o[i] = t[i]), n && (l[i] = !0)); + } + if (n) for (i in t) l[i] || (o[i] = t[i]); + return o; + }; + var e = {}; + function r(t) { + return e[t] + ? e[t] + : ("string" == typeof t && + (t = e[t] = t.split(/\s*,\s*|\s+/)), + t); + } + }, + 38258: function (t) { + t.exports = function (t, e, r, n) { + var i = t[0], + a = t[1], + o = !1; + void 0 === r && (r = 0), void 0 === n && (n = e.length); + for (var s = n - r, l = 0, u = s - 1; l < s; u = l++) { + var c = e[l + r][0], + f = e[l + r][1], + h = e[u + r][0], + p = e[u + r][1]; + f > a != p > a && + i < ((h - c) * (a - f)) / (p - f) + c && + (o = !o); + } + return o; + }; + }, + 52142: function (t, e, r) { + var n, + i = r(69444), + a = r(29023), + o = r(87263), + s = r(11328), + l = r(55968), + u = r(10670), + c = !1, + f = a(); + function h(t, e, r) { + var i = n.segments(t), + a = n.segments(e), + o = r(n.combine(i, a)); + return n.polygon(o); + } + (n = { + buildLog: function (t) { + return ( + !0 === t ? (c = i()) : !1 === t && (c = !1), + !1 !== c && c.list + ); + }, + epsilon: function (t) { + return f.epsilon(t); + }, + segments: function (t) { + var e = o(!0, f, c); + return ( + t.regions.forEach(e.addRegion), + { + segments: e.calculate(t.inverted), + inverted: t.inverted, + } + ); + }, + combine: function (t, e) { + return { + combined: o(!1, f, c).calculate( + t.segments, + t.inverted, + e.segments, + e.inverted, + ), + inverted1: t.inverted, + inverted2: e.inverted, + }; + }, + selectUnion: function (t) { + return { + segments: l.union(t.combined, c), + inverted: t.inverted1 || t.inverted2, + }; + }, + selectIntersect: function (t) { + return { + segments: l.intersect(t.combined, c), + inverted: t.inverted1 && t.inverted2, + }; + }, + selectDifference: function (t) { + return { + segments: l.difference(t.combined, c), + inverted: t.inverted1 && !t.inverted2, + }; + }, + selectDifferenceRev: function (t) { + return { + segments: l.differenceRev(t.combined, c), + inverted: !t.inverted1 && t.inverted2, + }; + }, + selectXor: function (t) { + return { + segments: l.xor(t.combined, c), + inverted: t.inverted1 !== t.inverted2, + }; + }, + polygon: function (t) { + return { + regions: s(t.segments, f, c), + inverted: t.inverted, + }; + }, + polygonFromGeoJSON: function (t) { + return u.toPolygon(n, t); + }, + polygonToGeoJSON: function (t) { + return u.fromPolygon(n, f, t); + }, + union: function (t, e) { + return h(t, e, n.selectUnion); + }, + intersect: function (t, e) { + return h(t, e, n.selectIntersect); + }, + difference: function (t, e) { + return h(t, e, n.selectDifference); + }, + differenceRev: function (t, e) { + return h(t, e, n.selectDifferenceRev); + }, + xor: function (t, e) { + return h(t, e, n.selectXor); + }, + }), + "object" == typeof window && (window.PolyBool = n), + (t.exports = n); + }, + 69444: function (t) { + t.exports = 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"); + }, + }); + }; + }, + 29023: function (t) { + t.exports = 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], + f = e[1] - n[1], + h = (s * f - l * c) / u, + p = (a * f - o * c) / u, + d = { + alongA: 0, + alongB: 0, + pt: [e[0] + h * a, e[1] + h * o], + }; + return ( + (d.alongA = + h <= -t + ? -2 + : h < t + ? -1 + : h - 1 <= -t + ? 0 + : h - 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; + }; + }, + 10670: function (t) { + var e = { + 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( + [ + 0.5 * (t[0][0] + t[1][0]), + 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 f(t) { + var e = [u(t.region, !1)]; + c.push(e); + for (var r = 0; r < t.children.length; r++) + e.push(h(t.children[r])); + } + function h(t) { + for (var e = 0; e < t.children.length; e++) + f(t.children[e]); + return u(t.region, !0); + } + for (s = 0; s < a.children.length; s++) + f(a.children[s]); + return c.length <= 0 + ? { type: "Polygon", coordinates: [] } + : 1 == c.length + ? { type: "Polygon", coordinates: c[0] } + : { type: "MultiPolygon", coordinates: c }; + }, + }; + t.exports = e; + }, + 87263: function (t, e, r) { + var n = r(26859); + t.exports = function (t, e, r) { + function i(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 a = n.create(); + function o(t, r) { + a.insertBefore(t, function (n) { + return ( + (i = t.isStart), + (a = t.pt), + (o = r), + (s = n.isStart), + (l = n.pt), + (u = n.other.pt), + (0 !== (c = e.pointsCompare(a, l)) + ? c + : e.pointsSame(o, u) + ? 0 + : i !== s + ? i + ? 1 + : -1 + : e.pointAboveOrOnLine(o, s ? l : u, s ? u : l) + ? 1 + : -1) < 0 + ); + var i, a, o, s, l, u, c; + }); + } + function s(t, e) { + var r = (function (t, e) { + var r = n.node({ + isStart: !0, + pt: t.start, + seg: t, + primary: e, + other: null, + status: null, + }); + return o(r, t.end), r; + })(t, e); + return ( + (function (t, e, r) { + var i = n.node({ + isStart: !1, + pt: e.end, + seg: e, + primary: r, + other: t, + status: null, + }); + (t.other = i), o(i, t.pt); + })(r, t, e), + r + ); + } + function l(t, e) { + var n = i(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), + o(t.other, t.pt); + })(t, e), + s(n, t.primary) + ); + } + function u(i, o) { + var s = n.create(); + function u(t) { + return s.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) || + e.pointAboveOrOnLine(o, s, l) + ? 1 + : -1 + : e.pointAboveOrOnLine(a, s, l) + ? 1 + : -1) > 0 + ); + }); + } + function c(t, n) { + var i = t.seg, + a = n.seg, + o = i.start, + s = i.end, + u = a.start, + c = a.end; + r && r.checkIntersection(i, a); + var f = e.linesIntersect(o, s, u, c); + if (!1 === f) { + if (!e.pointsCollinear(o, s, u)) return !1; + if (e.pointsSame(o, c) || e.pointsSame(s, u)) + return !1; + var h = e.pointsSame(o, u), + p = e.pointsSame(s, c); + if (h && p) return n; + var d = !h && e.pointBetween(o, u, c), + v = !p && e.pointBetween(s, u, c); + if (h) return v ? l(n, s) : l(t, c), n; + d && (p || (v ? l(n, s) : l(t, c)), l(n, o)); + } else + 0 === f.alongA && + (-1 === f.alongB + ? l(t, u) + : 0 === f.alongB + ? l(t, f.pt) + : 1 === f.alongB && l(t, c)), + 0 === f.alongB && + (-1 === f.alongA + ? l(n, o) + : 0 === f.alongA + ? l(n, f.pt) + : 1 === f.alongA && l(n, s)); + return !1; + } + for (var f = []; !a.isEmpty(); ) { + var h = a.getHead(); + if ((r && r.vert(h.pt[0]), h.isStart)) { + r && r.segmentNew(h.seg, h.primary); + var p = u(h), + d = p.before ? p.before.ev : null, + v = p.after ? p.after.ev : null; + function g() { + if (d) { + var t = c(h, d); + if (t) return t; + } + return !!v && c(h, v); + } + r && + r.tempStatus(h.seg, !!d && d.seg, !!v && v.seg); + var y, + m, + x = g(); + if ( + (x && + (t + ? (m = + null === h.seg.myFill.below || + h.seg.myFill.above !== + h.seg.myFill.below) && + (x.seg.myFill.above = !x.seg.myFill.above) + : (x.seg.otherFill = h.seg.myFill), + r && r.segmentUpdate(x.seg), + h.other.remove(), + h.remove()), + a.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 = v + ? v.seg.myFill.above + : i), + (h.seg.myFill.above = m + ? !h.seg.myFill.below + : h.seg.myFill.below)) + : null === h.seg.otherFill && + ((y = v + ? h.primary === v.primary + ? v.seg.otherFill.above + : v.seg.myFill.above + : h.primary + ? o + : i), + (h.seg.otherFill = { above: y, below: y })), + r && + r.status(h.seg, !!d && d.seg, !!v && v.seg), + (h.other.status = p.insert(n.node({ ev: h }))); + } else { + var b = h.status; + if (null === b) + throw new Error( + "PolyBool: Zero-length segment detected; your epsilon is probably too small or too large", + ); + if ( + (s.exists(b.prev) && + s.exists(b.next) && + c(b.prev.ev, b.next.ev), + r && r.statusRemove(b.ev.seg), + b.remove(), + !h.primary) + ) { + var _ = h.seg.myFill; + (h.seg.myFill = h.seg.otherFill), + (h.seg.otherFill = _); + } + f.push(h.seg); + } + a.getHead().remove(); + } + return r && r.done(), f; + } + return t + ? { + addRegion: function (t) { + for ( + var n, i, a, o = t[t.length - 1], l = 0; + l < t.length; + l++ + ) { + (n = o), (o = t[l]); + var u = e.pointsCompare(n, o); + 0 !== u && + s( + ((i = u < 0 ? n : o), + (a = u < 0 ? o : n), + { + id: r ? r.segmentId() : -1, + start: i, + end: a, + myFill: { above: null, below: null }, + otherFill: null, + }), + !0, + ); + } + }, + calculate: function (t) { + return u(t, !1); + }, + } + : { + calculate: function (t, e, r, n) { + return ( + t.forEach(function (t) { + s(i(t.start, t.end, t), !0); + }), + r.forEach(function (t) { + s(i(t.start, t.end, t), !1); + }), + u(e, n) + ); + }, + }; + }; + }, + 26859: function (t) { + t.exports = { + 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 + ); + }, + }; + }, + 11328: function (t) { + t.exports = 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 f = (g = n[c])[0], + h = (g[1], g[g.length - 1]); + if ((g[g.length - 2], e.pointsSame(f, a))) { + if (k(c, !0, !0)) break; + } else if (e.pointsSame(f, o)) { + if (k(c, !0, !1)) break; + } else if (e.pointsSame(h, a)) { + if (k(c, !1, !0)) break; + } else if (e.pointsSame(h, o) && k(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, + v = s.matches_head, + g = n[p], + y = v ? g[0] : g[g.length - 1], + m = v ? g[1] : g[g.length - 2], + x = v ? g[g.length - 1] : g[0], + b = v ? g[g.length - 2] : g[1]; + return ( + e.pointsCollinear(m, y, d) && + (v + ? (r && r.chainRemoveHead(s.index, d), + g.shift()) + : (r && r.chainRemoveTail(s.index, d), + g.pop()), + (y = m)), + e.pointsSame(x, d) + ? (n.splice(p, 1), + e.pointsCollinear(b, x, y) && + (v + ? (r && r.chainRemoveTail(s.index, y), + g.pop()) + : (r && r.chainRemoveHead(s.index, y), + g.shift())), + r && r.chainClose(s.index), + void i.push(g)) + : void (v + ? (r && r.chainAddHead(s.index, d), + g.unshift(d)) + : (r && r.chainAddTail(s.index, d), + g.push(d))) + ); + } + var _ = s.index, + w = l.index; + r && r.chainConnect(_, w); + var T = n[_].length < n[w].length; + s.matches_head + ? l.matches_head + ? T + ? (A(_), M(_, w)) + : (A(w), M(w, _)) + : M(w, _) + : l.matches_head + ? M(_, w) + : T + ? (A(_), M(w, _)) + : (A(w), M(_, w)); + } + function k(t, e, r) { + return ( + (u.index = t), + (u.matches_head = e), + (u.matches_pt1 = r), + u === s ? ((u = l), !1) : ((u = null), !0) + ); + } + function A(t) { + r && r.chainReverse(t), n[t].reverse(); + } + function M(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 + ); + }; + }, + 55968: function (t) { + function e(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 r = { + union: function (t, r) { + return e( + t, + [0, 2, 1, 0, 2, 2, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], + r, + ); + }, + intersect: function (t, r) { + return e( + t, + [0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 1, 1, 0, 2, 1, 0], + r, + ); + }, + difference: function (t, r) { + return e( + t, + [0, 0, 0, 0, 2, 0, 2, 0, 1, 1, 0, 0, 0, 1, 2, 0], + r, + ); + }, + differenceRev: function (t, r) { + return e( + t, + [0, 2, 1, 0, 0, 0, 1, 1, 0, 2, 0, 2, 0, 0, 0, 0], + r, + ); + }, + xor: function (t, r) { + return e( + t, + [0, 2, 1, 0, 2, 0, 0, 1, 1, 0, 0, 2, 0, 1, 2, 0], + r, + ); + }, + }; + t.exports = r; + }, + 14847: function (t, e, r) { + "use strict"; + var n = r(21630).Transform, + i = r(90715); + function a() { + n.call(this, { readableObjectMode: !0 }); + } + function o(t, e, r) { + Error.call(this), + Error.captureStackTrace + ? Error.captureStackTrace(this, this.constructor) + : (this.stack = new Error().stack || ""), + (this.name = this.constructor.name), + (this.message = t), + e && (this.code = e), + r && (this.statusCode = r); + } + (a.prototype = Object.create(n.prototype)), + (a.prototype.constructor = a), + i(a.prototype), + (e.OF = function (t, e, r) { + for (var n = e, i = 0; i < r.length; ) + if (t[n++] !== r[i++]) return !1; + return !0; + }), + (e.eG = function (t, e) { + var r = [], + n = 0; + if (e && "hex" === e) + for (; n < t.length; ) + r.push(parseInt(t.slice(n, n + 2), 16)), (n += 2); + else + for (; n < t.length; n++) + r.push(255 & t.charCodeAt(n)); + return r; + }), + (e.mP = function (t, e) { + return t[e] | (t[e + 1] << 8); + }), + (e.n8 = function (t, e) { + return t[e + 1] | (t[e] << 8); + }), + (e.nm = function (t, e) { + return ( + t[e] | + (t[e + 1] << 8) | + (t[e + 2] << 16) | + (16777216 * t[e + 3]) + ); + }), + (e.Ag = function (t, e) { + return ( + t[e + 3] | + (t[e + 2] << 8) | + (t[e + 1] << 16) | + (16777216 * t[e]) + ); + }), + (o.prototype = Object.create(Error.prototype)), + (o.prototype.constructor = o); + }, + 71371: function (t) { + "use strict"; + function e(t, e) { + var r = new Error(t); + return (r.code = e), r; + } + function r(t) { + try { + return decodeURIComponent(escape(t)); + } catch (e) { + return t; + } + } + function n(t, r, n) { + (this.input = t.subarray(r, n)), (this.start = r); + var i = String.fromCharCode.apply( + null, + this.input.subarray(0, 4), + ); + if ("II*\0" !== i && "MM\0*" !== i) + throw e("invalid TIFF signature", "EBADDATA"); + this.big_endian = "M" === i[0]; + } + (n.prototype.each = function (t) { + this.aborted = !1; + var e = this.read_uint32(4); + for ( + this.ifds_to_read = [{ id: 0, offset: e }]; + this.ifds_to_read.length > 0 && !this.aborted; + + ) { + var r = this.ifds_to_read.shift(); + r.offset && this.scan_ifd(r.id, r.offset, t); + } + }), + (n.prototype.read_uint16 = function (t) { + var r = this.input; + if (t + 2 > r.length) + throw e("unexpected EOF", "EBADDATA"); + return this.big_endian + ? 256 * r[t] + r[t + 1] + : r[t] + 256 * r[t + 1]; + }), + (n.prototype.read_uint32 = function (t) { + var r = this.input; + if (t + 4 > r.length) + throw e("unexpected EOF", "EBADDATA"); + return this.big_endian + ? 16777216 * r[t] + + 65536 * r[t + 1] + + 256 * r[t + 2] + + r[t + 3] + : r[t] + + 256 * r[t + 1] + + 65536 * r[t + 2] + + 16777216 * r[t + 3]; + }), + (n.prototype.is_subifd_link = function (t, e) { + return ( + (0 === t && 34665 === e) || + (0 === t && 34853 === e) || + (34665 === t && 40965 === e) + ); + }), + (n.prototype.exif_format_length = function (t) { + switch (t) { + case 1: + case 2: + case 6: + case 7: + return 1; + case 3: + case 8: + return 2; + case 4: + case 9: + case 11: + return 4; + case 5: + case 10: + case 12: + return 8; + default: + return 0; + } + }), + (n.prototype.exif_format_read = function (t, e) { + var r; + switch (t) { + case 1: + case 2: + return this.input[e]; + case 6: + return ( + (r = this.input[e]) | (33554430 * (128 & r)) + ); + case 3: + return this.read_uint16(e); + case 8: + return ( + (r = this.read_uint16(e)) | + (131070 * (32768 & r)) + ); + case 4: + return this.read_uint32(e); + case 9: + return 0 | this.read_uint32(e); + default: + return null; + } + }), + (n.prototype.scan_ifd = function (t, n, i) { + var a = this.read_uint16(n); + n += 2; + for (var o = 0; o < a; o++) { + var s = this.read_uint16(n), + l = this.read_uint16(n + 2), + u = this.read_uint32(n + 4), + c = this.exif_format_length(l), + f = u * c, + h = f <= 4 ? n + 8 : this.read_uint32(n + 8), + p = !1; + if (h + f > this.input.length) + throw e("unexpected EOF", "EBADDATA"); + for (var d = [], v = h, g = 0; g < u; g++, v += c) { + var y = this.exif_format_read(l, v); + if (null === y) { + d = null; + break; + } + d.push(y); + } + if ( + (Array.isArray(d) && + 2 === l && + (d = r(String.fromCharCode.apply(null, d))) && + "\0" === d[d.length - 1] && + (d = d.slice(0, -1)), + this.is_subifd_link(t, s) && + Array.isArray(d) && + Number.isInteger(d[0]) && + d[0] > 0 && + (this.ifds_to_read.push({ + id: s, + offset: d[0], + }), + (p = !0)), + !1 === + i({ + is_big_endian: this.big_endian, + ifd: t, + tag: s, + format: l, + count: u, + entry_offset: n + this.start, + data_length: f, + data_offset: h + this.start, + value: d, + is_subifd_link: p, + })) + ) + return void (this.aborted = !0); + n += 12; + } + 0 === t && + this.ifds_to_read.push({ + id: 1, + offset: this.read_uint32(n), + }); + }), + (t.exports.ExifParser = n), + (t.exports.get_orientation = function (t) { + var e = 0; + try { + return ( + new n(t, 0, t.length).each(function (t) { + if ( + 0 === t.ifd && + 274 === t.tag && + Array.isArray(t.value) + ) + return (e = t.value[0]), !1; + }), + e + ); + } catch (t) { + return -1; + } + }); + }, + 76767: function (t, e, r) { + "use strict"; + var n = r(14847).n8, + i = r(14847).Ag; + function a(t, e) { + if (t.length < 4 + e) return null; + var r = i(t, e); + return t.length < r + e || r < 8 + ? null + : { + boxtype: String.fromCharCode.apply( + null, + t.slice(e + 4, e + 8), + ), + data: t.slice(e + 8, e + r), + end: e + r, + }; + } + function o(t, e) { + for (var r = 0; ; ) { + var n = a(t, r); + if (!n) break; + switch (n.boxtype) { + case "ispe": + e.sizes.push({ + width: i(n.data, 4), + height: i(n.data, 8), + }); + break; + case "irot": + e.transforms.push({ + type: "irot", + value: 3 & n.data[0], + }); + break; + case "imir": + e.transforms.push({ + type: "imir", + value: 1 & n.data[0], + }); + } + r = n.end; + } + } + function s(t, e, r) { + for (var n = 0, i = 0; i < r; i++) + n = 256 * n + (t[e + i] || 0); + return n; + } + function l(t, e) { + for ( + var r = (t[4] >> 4) & 15, + i = 15 & t[4], + a = (t[5] >> 4) & 15, + o = n(t, 6), + l = 8, + u = 0; + u < o; + u++ + ) { + var c = n(t, l), + f = n(t, (l += 2)), + h = s(t, (l += 2), a), + p = n(t, (l += a)); + if (((l += 2), 0 === f && 1 === p)) { + var d = s(t, l, r), + v = s(t, l + r, i); + e.item_loc[c] = { length: v, offset: d + h }; + } + l += p * (r + i); + } + } + function u(t, e) { + for (var r = n(t, 4), i = 6, o = 0; o < r; o++) { + var s = a(t, i); + if (!s) break; + if ("infe" === s.boxtype) { + for ( + var l = n(s.data, 4), u = "", c = 8; + c < s.data.length && s.data[c]; + c++ + ) + u += String.fromCharCode(s.data[c]); + e.item_inf[u] = l; + } + i = s.end; + } + } + function c(t, e) { + for (var r = 0; ; ) { + var n = a(t, r); + if (!n) break; + "ipco" === n.boxtype && o(n.data, e), (r = n.end); + } + } + (t.exports.unbox = a), + (t.exports.readSizeFromMeta = function (t) { + var e = { + sizes: [], + transforms: [], + item_inf: {}, + item_loc: {}, + }; + if ( + ((function (t, e) { + for (var r = 4; ; ) { + var n = a(t, r); + if (!n) break; + "iprp" === n.boxtype && c(n.data, e), + "iloc" === n.boxtype && l(n.data, e), + "iinf" === n.boxtype && u(n.data, e), + (r = n.end); + } + })(t, e), + e.sizes.length) + ) { + var r, + n, + i, + o = + ((n = (r = e.sizes).reduce(function (t, e) { + return t.width > e.width || + (t.width === e.width && t.height > e.height) + ? t + : e; + })), + (i = r.reduce(function (t, e) { + return t.height > e.height || + (t.height === e.height && t.width > e.width) + ? t + : e; + })), + n.width > i.height || + (n.width === i.height && n.height > i.width) + ? n + : i), + s = 1; + e.transforms.forEach(function (t) { + var e = { + 1: 6, + 2: 5, + 3: 8, + 4: 7, + 5: 4, + 6: 3, + 7: 2, + 8: 1, + }, + r = { + 1: 4, + 2: 3, + 3: 2, + 4: 1, + 5: 6, + 6: 5, + 7: 8, + 8: 7, + }; + if ( + ("imir" === t.type && + (s = + 0 === t.value + ? r[s] + : e[(s = e[(s = r[s])])]), + "irot" === t.type) + ) + for (var n = 0; n < t.value; n++) s = e[s]; + }); + var f = null; + return ( + e.item_inf.Exif && + (f = e.item_loc[e.item_inf.Exif]), + { + width: o.width, + height: o.height, + orientation: e.transforms.length ? s : null, + variants: e.sizes, + exif_location: f, + } + ); + } + }), + (t.exports.getMimeType = function (t) { + var e = String.fromCharCode.apply( + null, + t.slice(0, 4), + ), + r = {}; + r[e] = !0; + for (var n = 8; n < t.length; n += 4) + r[ + String.fromCharCode.apply(null, t.slice(n, n + 4)) + ] = !0; + if (r.mif1 || r.msf1 || r.miaf) + return "avif" === e || "avis" === e || "avio" === e + ? { type: "avif", mime: "image/avif" } + : "heic" === e || "heix" === e + ? { type: "heic", mime: "image/heic" } + : "hevc" === e || "hevx" === e + ? { type: "heic", mime: "image/heic-sequence" } + : r.avif || r.avis + ? { type: "avif", mime: "image/avif" } + : r.heic || r.heix || r.hevc || r.hevx || r.heis + ? r.msf1 + ? { type: "heif", mime: "image/heif-sequence" } + : { type: "heif", mime: "image/heif" } + : { type: "avif", mime: "image/avif" }; + }); + }, + 24461: function (t, e, r) { + "use strict"; + var n = r(14847).eG, + i = r(14847).OF, + a = r(14847).Ag, + o = r(76767), + s = r(71371), + l = n("ftyp"); + t.exports = function (t) { + if (i(t, 4, l)) { + var e = o.unbox(t, 0); + if (e) { + var r = o.getMimeType(e.data); + if (r) { + for (var n, u = e.end; ; ) { + var c = o.unbox(t, u); + if (!c) break; + if (((u = c.end), "mdat" === c.boxtype)) return; + if ("meta" === c.boxtype) { + n = c.data; + break; + } + } + if (n) { + var f = o.readSizeFromMeta(n); + if (f) { + var h = { + width: f.width, + height: f.height, + type: r.type, + mime: r.mime, + wUnits: "px", + hUnits: "px", + }; + if ( + (f.variants.length > 1 && + (h.variants = f.variants), + f.orientation && + (h.orientation = f.orientation), + f.exif_location && + f.exif_location.offset + + f.exif_location.length <= + t.length) + ) { + var p = a(t, f.exif_location.offset), + d = t.slice( + f.exif_location.offset + p + 4, + f.exif_location.offset + + f.exif_location.length, + ), + v = s.get_orientation(d); + v > 0 && (h.orientation = v); + } + return h; + } + } + } + } + } + }; + }, + 2504: function (t, e, r) { + "use strict"; + var n = r(14847).eG, + i = r(14847).OF, + a = r(14847).mP, + o = n("BM"); + t.exports = function (t) { + if (!(t.length < 26) && i(t, 0, o)) + return { + width: a(t, 18), + height: a(t, 22), + type: "bmp", + mime: "image/bmp", + wUnits: "px", + hUnits: "px", + }; + }; + }, + 47342: function (t, e, r) { + "use strict"; + var n = r(14847).eG, + i = r(14847).OF, + a = r(14847).mP, + o = n("GIF87a"), + s = n("GIF89a"); + t.exports = function (t) { + if (!(t.length < 10) && (i(t, 0, o) || i(t, 0, s))) + return { + width: a(t, 6), + height: a(t, 8), + type: "gif", + mime: "image/gif", + wUnits: "px", + hUnits: "px", + }; + }; + }, + 31355: function (t, e, r) { + "use strict"; + var n = r(14847).mP; + t.exports = function (t) { + var e = n(t, 0), + r = n(t, 2), + i = n(t, 4); + if (0 === e && 1 === r && i) { + for ( + var a = [], o = { width: 0, height: 0 }, s = 0; + s < i; + s++ + ) { + var l = t[6 + 16 * s] || 256, + u = t[6 + 16 * s + 1] || 256, + c = { width: l, height: u }; + a.push(c), (l > o.width || u > o.height) && (o = c); + } + return { + width: o.width, + height: o.height, + variants: a, + type: "ico", + mime: "image/x-icon", + wUnits: "px", + hUnits: "px", + }; + } + }; + }, + 54261: function (t, e, r) { + "use strict"; + var n = r(14847).n8, + i = r(14847).eG, + a = r(14847).OF, + o = r(71371), + s = i("Exif\0\0"); + t.exports = function (t) { + if ( + !(t.length < 2) && + 255 === t[0] && + 216 === t[1] && + 255 === t[2] + ) + for (var e = 2; ; ) { + for (;;) { + if (t.length - e < 2) return; + if (255 === t[e++]) break; + } + for (var r, i, l = t[e++]; 255 === l; ) l = t[e++]; + if ((208 <= l && l <= 217) || 1 === l) r = 0; + else { + if (!(192 <= l && l <= 254)) return; + if (t.length - e < 2) return; + (r = n(t, e) - 2), (e += 2); + } + if (217 === l || 218 === l) return; + if ( + (225 === l && + r >= 10 && + a(t, e, s) && + (i = o.get_orientation(t.slice(e + 6, e + r))), + r >= 5 && + 192 <= l && + l <= 207 && + 196 !== l && + 200 !== l && + 204 !== l) + ) { + if (t.length - e < r) return; + var u = { + width: n(t, e + 3), + height: n(t, e + 1), + type: "jpg", + mime: "image/jpeg", + wUnits: "px", + hUnits: "px", + }; + return i > 0 && (u.orientation = i), u; + } + e += r; + } + }; + }, + 6303: function (t, e, r) { + "use strict"; + var n = r(14847).eG, + i = r(14847).OF, + a = r(14847).Ag, + o = n("‰PNG\r\n\n"), + s = n("IHDR"); + t.exports = function (t) { + if (!(t.length < 24) && i(t, 0, o) && i(t, 12, s)) + return { + width: a(t, 16), + height: a(t, 20), + type: "png", + mime: "image/png", + wUnits: "px", + hUnits: "px", + }; + }; + }, + 38689: function (t, e, r) { + "use strict"; + var n = r(14847).eG, + i = r(14847).OF, + a = r(14847).Ag, + o = n("8BPS\0"); + t.exports = function (t) { + if (!(t.length < 22) && i(t, 0, o)) + return { + width: a(t, 18), + height: a(t, 14), + type: "psd", + mime: "image/vnd.adobe.photoshop", + wUnits: "px", + hUnits: "px", + }; + }; + }, + 6881: function (t) { + "use strict"; + function e(t) { + return "number" == typeof t && isFinite(t) && t > 0; + } + var r = /<[-_.:a-zA-Z0-9][^>]*>/, + n = /^<([-_.:a-zA-Z0-9]+:)?svg\s/, + i = /[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/, + a = /\bheight="([^%]+?)"|\bheight='([^%]+?)'/, + o = /\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/, + s = /in$|mm$|cm$|pt$|pc$|px$|em$|ex$/; + function l(t) { + return s.test(t) ? t.match(s)[0] : "px"; + } + t.exports = function (t) { + if ( + (function (t) { + var e, + r = 0, + n = t.length; + for ( + 239 === t[0] && + 187 === t[1] && + 191 === t[2] && + (r = 3); + r < n && + (32 === (e = t[r]) || + 9 === e || + 13 === e || + 10 === e); + + ) + r++; + return r !== n && 60 === t[r]; + })(t) + ) { + for (var s = "", u = 0; u < t.length; u++) + s += String.fromCharCode(t[u]); + var c = (s.match(r) || [""])[0]; + if (n.test(c)) { + var f = (function (t) { + var e = t.match(i), + r = t.match(a), + n = t.match(o); + return { + width: e && (e[1] || e[2]), + height: r && (r[1] || r[2]), + viewbox: n && (n[1] || n[2]), + }; + })(c), + h = parseFloat(f.width), + p = parseFloat(f.height); + if (f.width && f.height) { + if (!e(h) || !e(p)) return; + return { + width: h, + height: p, + type: "svg", + mime: "image/svg+xml", + wUnits: l(f.width), + hUnits: l(f.height), + }; + } + var d = (f.viewbox || "").split(" "), + v = { width: d[2], height: d[3] }, + g = parseFloat(v.width), + y = parseFloat(v.height); + if (e(g) && e(y) && l(v.width) === l(v.height)) { + var m = g / y; + if (f.width) { + if (!e(h)) return; + return { + width: h, + height: h / m, + type: "svg", + mime: "image/svg+xml", + wUnits: l(f.width), + hUnits: l(f.width), + }; + } + if (f.height) { + if (!e(p)) return; + return { + width: p * m, + height: p, + type: "svg", + mime: "image/svg+xml", + wUnits: l(f.height), + hUnits: l(f.height), + }; + } + return { + width: g, + height: y, + type: "svg", + mime: "image/svg+xml", + wUnits: l(v.width), + hUnits: l(v.height), + }; + } + } + } + }; + }, + 66278: function (t, e, r) { + "use strict"; + var n = r(14847).eG, + i = r(14847).OF, + a = r(14847).mP, + o = r(14847).n8, + s = r(14847).nm, + l = r(14847).Ag, + u = n("II*\0"), + c = n("MM\0*"); + function f(t, e, r) { + return r ? o(t, e) : a(t, e); + } + function h(t, e, r) { + return r ? l(t, e) : s(t, e); + } + function p(t, e, r) { + var n = f(t, e + 2, r); + return 1 !== h(t, e + 4, r) || (3 !== n && 4 !== n) + ? null + : 3 === n + ? f(t, e + 8, r) + : h(t, e + 8, r); + } + t.exports = function (t) { + if (!(t.length < 8) && (i(t, 0, u) || i(t, 0, c))) { + var e = 77 === t[0], + r = h(t, 4, e) - 8; + if (!(r < 0)) { + var n = r + 8; + if (!(t.length - n < 2)) { + var a = 12 * f(t, n + 0, e); + if (!(a <= 0 || ((n += 2), t.length - n < a))) { + var o, s, l, d; + for (o = 0; o < a; o += 12) + 256 === (d = f(t, n + o, e)) + ? (s = p(t, n + o, e)) + : 257 === d && (l = p(t, n + o, e)); + return s && l + ? { + width: s, + height: l, + type: "tiff", + mime: "image/tiff", + wUnits: "px", + hUnits: "px", + } + : void 0; + } + } + } + } + }; + }, + 90784: function (t, e, r) { + "use strict"; + var n = r(14847).eG, + i = r(14847).OF, + a = r(14847).mP, + o = r(14847).nm, + s = r(71371), + l = n("RIFF"), + u = n("WEBP"); + function c(t, e) { + if ( + 157 === t[e + 3] && + 1 === t[e + 4] && + 42 === t[e + 5] + ) + return { + width: 16383 & a(t, e + 6), + height: 16383 & a(t, e + 8), + type: "webp", + mime: "image/webp", + wUnits: "px", + hUnits: "px", + }; + } + function f(t, e) { + if (47 === t[e]) { + var r = o(t, e + 1); + return { + width: 1 + (16383 & r), + height: 1 + ((r >> 14) & 16383), + type: "webp", + mime: "image/webp", + wUnits: "px", + hUnits: "px", + }; + } + } + function h(t, e) { + return { + width: + 1 + ((t[e + 6] << 16) | (t[e + 5] << 8) | t[e + 4]), + height: + 1 + ((t[e + 9] << e) | (t[e + 8] << 8) | t[e + 7]), + type: "webp", + mime: "image/webp", + wUnits: "px", + hUnits: "px", + }; + } + t.exports = function (t) { + if (!(t.length < 16) && (i(t, 0, l) || i(t, 8, u))) { + var e = 12, + r = null, + n = 0, + a = o(t, 4) + 8; + if (!(a > t.length)) { + for (; e + 8 < a; ) + if (0 !== t[e]) { + var p = String.fromCharCode.apply( + null, + t.slice(e, e + 4), + ), + d = o(t, e + 4); + "VP8 " === p && d >= 10 + ? (r = r || c(t, e + 8)) + : "VP8L" === p && d >= 9 + ? (r = r || f(t, e + 8)) + : "VP8X" === p && d >= 10 + ? (r = r || h(t, e + 8)) + : "EXIF" === p && + ((n = s.get_orientation( + t.slice(e + 8, e + 8 + d), + )), + (e = 1 / 0)), + (e += 8 + d); + } else e++; + if (r) return n > 0 && (r.orientation = n), r; + } + } + }; + }, + 91497: function (t, e, r) { + "use strict"; + t.exports = { + avif: r(24461), + bmp: r(2504), + gif: r(47342), + ico: r(31355), + jpeg: r(54261), + png: r(6303), + psd: r(38689), + svg: r(6881), + tiff: r(66278), + webp: r(90784), + }; + }, + 33575: function (t, e, r) { + "use strict"; + var n = r(91497); + (t.exports = function (t) { + return (function (t) { + for ( + var e = Object.keys(n), r = 0; + r < e.length; + r++ + ) { + var i = n[e[r]](t); + if (i) return i; + } + return null; + })(t); + }), + (t.exports.parsers = n); + }, + 90386: function (t) { + var e, + r, + n = (t.exports = {}); + function i() { + throw new Error("setTimeout has not been defined"); + } + function a() { + throw new Error("clearTimeout has not been defined"); + } + function o(t) { + if (e === setTimeout) return setTimeout(t, 0); + if ((e === i || !e) && setTimeout) + return (e = setTimeout), setTimeout(t, 0); + try { + return e(t, 0); + } catch (r) { + try { + return e.call(null, t, 0); + } catch (r) { + return e.call(this, t, 0); + } + } + } + !(function () { + try { + e = "function" == typeof setTimeout ? setTimeout : i; + } catch (t) { + e = i; + } + try { + r = + "function" == typeof clearTimeout + ? clearTimeout + : a; + } catch (t) { + r = a; + } + })(); + var s, + l = [], + u = !1, + c = -1; + function f() { + u && + s && + ((u = !1), + s.length ? (l = s.concat(l)) : (c = -1), + l.length && h()); + } + function h() { + if (!u) { + var t = o(f); + u = !0; + for (var e = l.length; e; ) { + for (s = l, l = []; ++c < e; ) s && s[c].run(); + (c = -1), (e = l.length); + } + (s = null), + (u = !1), + (function (t) { + if (r === clearTimeout) return clearTimeout(t); + if ((r === a || !r) && clearTimeout) + return (r = clearTimeout), clearTimeout(t); + try { + r(t); + } catch (e) { + try { + return r.call(null, t); + } catch (e) { + return r.call(this, t); + } + } + })(t); + } + } + function p(t, e) { + (this.fun = t), (this.array = e); + } + function d() {} + (n.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]; + l.push(new p(t, e)), 1 !== l.length || u || o(h); + }), + (p.prototype.run = function () { + this.fun.apply(null, this.array); + }), + (n.title = "browser"), + (n.browser = !0), + (n.env = {}), + (n.argv = []), + (n.version = ""), + (n.versions = {}), + (n.on = d), + (n.addListener = d), + (n.once = d), + (n.off = d), + (n.removeListener = d), + (n.removeAllListeners = d), + (n.emit = d), + (n.prependListener = d), + (n.prependOnceListener = d), + (n.listeners = function (t) { + return []; + }), + (n.binding = function (t) { + throw new Error("process.binding is not supported"); + }), + (n.cwd = function () { + return "/"; + }), + (n.chdir = function (t) { + throw new Error("process.chdir is not supported"); + }), + (n.umask = function () { + return 0; + }); + }, + 5877: function (t, e, r) { + for ( + var n = r(9748), + i = "undefined" == typeof window ? r.g : window, + a = ["moz", "webkit"], + o = "AnimationFrame", + s = i["request" + o], + l = i["cancel" + o] || i["cancelRequest" + o], + u = 0; + !s && u < a.length; + u++ + ) + (s = i[a[u] + "Request" + o]), + (l = + i[a[u] + "Cancel" + o] || + i[a[u] + "CancelRequest" + o]); + if (!s || !l) { + var c = 0, + f = 0, + h = []; + (s = function (t) { + if (0 === h.length) { + var e = n(), + r = Math.max(0, 16.666666666666668 - (e - c)); + (c = r + e), + setTimeout(function () { + var t = h.slice(0); + h.length = 0; + for (var e = 0; e < t.length; e++) + if (!t[e].cancelled) + try { + t[e].callback(c); + } catch (t) { + setTimeout(function () { + throw t; + }, 0); + } + }, Math.round(r)); + } + return ( + h.push({ handle: ++f, callback: t, cancelled: !1 }), + f + ); + }), + (l = function (t) { + for (var e = 0; e < h.length; e++) + h[e].handle === t && (h[e].cancelled = !0); + }); + } + (t.exports = function (t) { + return s.call(i, t); + }), + (t.exports.cancel = function () { + l.apply(i, arguments); + }), + (t.exports.polyfill = function (t) { + t || (t = i), + (t.requestAnimationFrame = s), + (t.cancelAnimationFrame = l); + }); + }, + 3593: function (t, e, r) { + "use strict"; + var n = r(21527), + i = r(25075), + a = r(93447), + o = r(71299), + s = r(56131), + l = r(30120), + u = r(57060), + c = u.float32, + f = u.fract32; + t.exports = function (t, e) { + if ( + ("function" == typeof t + ? (e || (e = {}), (e.regl = t)) + : (e = t), + e.length && (e.positions = e), + !(t = e.regl).hasExtension("ANGLE_instanced_arrays")) + ) + throw Error( + "regl-error2d: `ANGLE_instanced_arrays` extension should be enabled", + ); + var r, + u, + p, + d, + v, + g, + y = t._gl, + m = { + color: "black", + capSize: 5, + lineWidth: 1, + opacity: 1, + viewport: null, + range: null, + offset: 0, + count: 0, + bounds: null, + positions: [], + errors: [], + }, + x = []; + return ( + (d = t.buffer({ + usage: "dynamic", + type: "uint8", + data: new Uint8Array(0), + })), + (u = t.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(0), + })), + (p = t.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(0), + })), + (v = t.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(0), + })), + (g = t.buffer({ + usage: "static", + type: "float", + data: h, + })), + T(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 highp 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: d, + offset: function (t, e) { + return 4 * e.offset; + }, + divisor: 1, + }, + position: { + buffer: u, + offset: function (t, e) { + return 8 * e.offset; + }, + divisor: 1, + }, + positionFract: { + buffer: p, + offset: function (t, e) { + return 8 * e.offset; + }, + divisor: 1, + }, + error: { + buffer: v, + offset: function (t, e) { + return 16 * e.offset; + }, + divisor: 1, + }, + direction: { buffer: g, stride: 24, offset: 0 }, + lineOffset: { buffer: g, stride: 24, offset: 8 }, + capOffset: { buffer: g, 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: h.length, + })), + s(b, { + update: T, + draw: _, + destroy: k, + regl: t, + gl: y, + canvas: y.canvas, + groups: x, + }), + b + ); + function b(t) { + t ? T(t) : null === t && k(), _(); + } + function _(e) { + if ("number" == typeof e) return w(e); + e && !Array.isArray(e) && (e = [e]), + t._refresh(), + x.forEach(function (t, r) { + t && + (e && (e[r] ? (t.draw = !0) : (t.draw = !1)), + t.draw ? w(r) : (t.draw = !0)); + }); + } + function w(t) { + "number" == typeof t && (t = x[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 T(t) { + if (t) { + null != t.length + ? "number" == typeof t[0] && + (t = [{ positions: t }]) + : Array.isArray(t) || (t = [t]); + var e = 0, + r = 0; + if ( + ((b.groups = x = + t.map(function (t, u) { + var c = x[u]; + return t + ? ("function" == typeof t + ? (t = { after: t }) + : "number" == typeof t[0] && + (t = { positions: t }), + (t = o(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", + })), + c || + ((x[u] = c = + { + id: u, + scale: null, + translate: null, + scaleFract: null, + translateFract: null, + draw: !0, + }), + (t = s({}, m, t))), + a(c, t, [ + { + lineWidth: function (t) { + return 0.5 * +t; + }, + capSize: function (t) { + return 0.5 * +t; + }, + opacity: parseFloat, + errors: function (t) { + return ( + (t = l(t)), (r += t.length), t + ); + }, + positions: function (t, r) { + return ( + (t = l(t, "float64")), + (r.count = Math.floor( + t.length / 2, + )), + (r.bounds = n(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 a = 0; a < r; a++) + t[a] = n; + } + if (t.length < r) + throw Error("Not enough colors"); + for ( + var o = new Uint8Array(4 * r), + s = 0; + s < r; + s++ + ) { + var l = i(t[s], "uint8"); + o.set(l, 4 * s); + } + return o; + }, + 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 = f(e.scale)), + (e.translateFract = f( + 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: y.drawingBufferWidth, + height: + y.drawingBufferHeight, + }), + e + ); + }, + }, + ]), + c) + : c; + })), + e || r) + ) { + var h = x.reduce(function (t, e, r) { + return t + (e ? e.count : 0); + }, 0), + g = new Float64Array(2 * h), + _ = new Uint8Array(4 * h), + w = new Float32Array(4 * h); + x.forEach(function (t, e) { + if (t) { + var r = t.positions, + n = t.count, + i = t.offset, + a = t.color, + o = t.errors; + n && + (_.set(a, 4 * i), + w.set(o, 4 * i), + g.set(r, 2 * i)); + } + }); + var T = c(g); + u(T); + var k = f(g, T); + p(k), d(_), v(w); + } + } + } + function k() { + u.destroy(), + p.destroy(), + d.destroy(), + v.destroy(), + g.destroy(); + } + }; + var h = [ + [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], + ]; + }, + 46075: function (t, e, r) { + "use strict"; + var n = r(25075), + i = r(21527), + a = r(56131), + o = r(56068), + s = r(71299), + l = r(30120), + u = r(11474), + c = r(54), + f = r(57060), + h = f.float32, + p = f.fract32, + d = r(83522), + v = r(18863), + g = r(6851); + function y(t, e) { + if (!(this instanceof y)) return new y(t, e); + if ( + ("function" == typeof t + ? (e || (e = {}), (e.regl = t)) + : (e = t), + e.length && (e.positions = e), + !(t = e.regl).hasExtension("ANGLE_instanced_arrays")) + ) + throw Error( + "regl-error2d: `ANGLE_instanced_arrays` extension should be enabled", + ); + (this.gl = t._gl), + (this.regl = t), + (this.passes = []), + (this.shaders = y.shaders.has(t) + ? y.shaders.get(t) + : y.shaders.set(t, y.createShaders(t)).get(t)), + this.update(e); + } + (t.exports = y), + (y.dashMult = 2), + (y.maxPatternLength = 256), + (y.precisionThreshold = 3e6), + (y.maxPoints = 1e4), + (y.maxLines = 2048), + (y.shaders = new d()), + (y.createShaders = function (t) { + var e, + r = t.buffer({ + usage: "static", + type: "float", + data: [0, 1, 0, 0, 1, 1, 1, 0], + }), + n = { + 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"), + dashTexture: t.prop("dashTexture"), + opacity: t.prop("opacity"), + pixelRatio: t.context("pixelRatio"), + id: t.prop("id"), + dashLength: t.prop("dashLength"), + viewport: function (t, e) { + return [ + e.viewport.x, + e.viewport.y, + t.viewportWidth, + t.viewportHeight, + ]; + }, + depth: t.prop("depth"), + }, + 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; + }, + }, + stencil: { enable: !1 }, + scissor: { enable: !0, box: t.prop("viewport") }, + viewport: t.prop("viewport"), + }, + i = t( + a( + { + vert: o([ + "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;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\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\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scale * viewport.zw);\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: o([ + "precision highp float;\n#define GLSLIFY 1\n\nuniform float dashLength, pixelRatio, thickness, opacity, id;\nuniform sampler2D dashTexture;\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(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n", + ]), + attributes: { + lineEnd: { + buffer: r, + divisor: 0, + stride: 8, + offset: 0, + }, + lineTop: { + buffer: r, + divisor: 0, + stride: 8, + offset: 4, + }, + aCoord: { + buffer: t.prop("positionBuffer"), + stride: 8, + offset: 8, + divisor: 1, + }, + bCoord: { + buffer: t.prop("positionBuffer"), + stride: 8, + offset: 16, + divisor: 1, + }, + aCoordFract: { + buffer: t.prop("positionFractBuffer"), + stride: 8, + offset: 8, + divisor: 1, + }, + bCoordFract: { + buffer: t.prop("positionFractBuffer"), + stride: 8, + offset: 16, + divisor: 1, + }, + color: { + buffer: t.prop("colorBuffer"), + stride: 4, + offset: 0, + divisor: 1, + }, + }, + }, + n, + ), + ); + try { + e = t( + a( + { + cull: { enable: !0, face: "back" }, + vert: o([ + "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;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\nuniform float miterLimit, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIFF = 1e-6;\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// TODO: refactor to rectangular algorithm\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\n vec2 adjustedScale;\n adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n\n vec2 scaleRatio = adjustedScale * viewport.zw;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\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 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\t// FIXME: there should be more elegant solution\n\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\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) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + 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: o([ + "precision highp float;\n#define GLSLIFY 1\n\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\nuniform sampler2D dashTexture;\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(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n", + ]), + attributes: { + lineEnd: { + buffer: r, + divisor: 0, + stride: 8, + offset: 0, + }, + lineTop: { + buffer: r, + divisor: 0, + stride: 8, + offset: 4, + }, + aColor: { + buffer: t.prop("colorBuffer"), + stride: 4, + offset: 0, + divisor: 1, + }, + bColor: { + buffer: t.prop("colorBuffer"), + stride: 4, + offset: 4, + divisor: 1, + }, + prevCoord: { + buffer: t.prop("positionBuffer"), + stride: 8, + offset: 0, + divisor: 1, + }, + aCoord: { + buffer: t.prop("positionBuffer"), + stride: 8, + offset: 8, + divisor: 1, + }, + bCoord: { + buffer: t.prop("positionBuffer"), + stride: 8, + offset: 16, + divisor: 1, + }, + nextCoord: { + buffer: t.prop("positionBuffer"), + stride: 8, + offset: 24, + divisor: 1, + }, + }, + }, + n, + ), + ); + } catch (t) { + e = i; + } + return { + fill: t({ + primitive: "triangle", + elements: function (t, e) { + return e.triangles; + }, + offset: 0, + vert: o([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\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\tfragColor.a *= opacity;\n}\n", + ]), + frag: o([ + "precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\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: t.prop("positionBuffer"), + stride: 8, + offset: 8, + }, + positionFract: { + buffer: t.prop("positionFractBuffer"), + stride: 8, + offset: 8, + }, + }, + blend: n.blend, + depth: { enable: !1 }, + scissor: n.scissor, + stencil: n.stencil, + viewport: n.viewport, + }), + rect: i, + miter: e, + }; + }), + (y.defaults = { + dashes: null, + join: "miter", + miterLimit: 1, + thickness: 10, + cap: "square", + color: "black", + opacity: 1, + overlay: !1, + viewport: null, + range: null, + close: !1, + fill: null, + }), + (y.prototype.render = function () { + for (var t, e = [], r = arguments.length; r--; ) + e[r] = arguments[r]; + e.length && (t = this).update.apply(t, e), + this.draw(); + }), + (y.prototype.draw = function () { + for ( + var t = this, e = [], r = arguments.length; + r--; + + ) + e[r] = arguments[r]; + return ( + (e.length ? e : this.passes).forEach( + function (e, r) { + var n; + if (e && Array.isArray(e)) + return (n = t).draw.apply(n, e); + "number" == typeof e && (e = t.passes[e]), + e && + e.count > 1 && + e.opacity && + (t.regl._refresh(), + e.fill && + e.triangles && + e.triangles.length > 2 && + t.shaders.fill(e), + e.thickness && + (e.scale[0] * e.viewport.width > + y.precisionThreshold || + e.scale[1] * e.viewport.height > + y.precisionThreshold || + "rect" === e.join || + (!e.join && + (e.thickness <= 2 || + e.count >= y.maxPoints)) + ? t.shaders.rect(e) + : t.shaders.miter(e))); + }, + ), + this + ); + }), + (y.prototype.update = function (t) { + var e = this; + if (t) { + null != t.length + ? "number" == typeof t[0] && + (t = [{ positions: t }]) + : Array.isArray(t) || (t = [t]); + var r = this.regl, + o = this.gl; + if ( + (t.forEach(function (t, f) { + var d = e.passes[f]; + if (void 0 !== t) + if (null !== t) { + if ( + ("number" == typeof t[0] && + (t = { positions: t }), + (t = s(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 colour stroke colors colours 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", + splitNull: "splitNull", + })), + d || + ((e.passes[f] = d = + { + id: f, + scale: null, + scaleFract: null, + translate: null, + translateFract: null, + count: 0, + hole: [], + depth: 0, + dashLength: 1, + dashTexture: r.texture({ + channels: 1, + data: new Uint8Array([255]), + width: 1, + height: 1, + mag: "linear", + min: "linear", + }), + colorBuffer: r.buffer({ + usage: "dynamic", + type: "uint8", + data: new Uint8Array(), + }), + positionBuffer: r.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(), + }), + positionFractBuffer: r.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(), + }), + }), + (t = a({}, y.defaults, t))), + null != t.thickness && + (d.thickness = parseFloat(t.thickness)), + null != t.opacity && + (d.opacity = parseFloat(t.opacity)), + null != t.miterLimit && + (d.miterLimit = parseFloat( + t.miterLimit, + )), + null != t.overlay && + ((d.overlay = !!t.overlay), + f < y.maxLines && + (d.depth = + (2 * + (y.maxLines - + 1 - + (f % y.maxLines))) / + y.maxLines - + 1)), + null != t.join && (d.join = t.join), + null != t.hole && (d.hole = t.hole), + null != t.fill && + (d.fill = t.fill + ? n(t.fill, "uint8") + : null), + null != t.viewport && + (d.viewport = v(t.viewport)), + d.viewport || + (d.viewport = v([ + o.drawingBufferWidth, + o.drawingBufferHeight, + ])), + null != t.close && (d.close = t.close), + null === t.positions && + (t.positions = []), + t.positions) + ) { + var m, x; + if (t.positions.x && t.positions.y) { + var b = t.positions.x, + _ = t.positions.y; + (x = d.count = + Math.max(b.length, _.length)), + (m = new Float64Array(2 * x)); + for (var w = 0; w < x; w++) + (m[2 * w] = b[w]), + (m[2 * w + 1] = _[w]); + } else + (m = l(t.positions, "float64")), + (x = d.count = + Math.floor(m.length / 2)); + var T = (d.bounds = i(m, 2)); + if (d.fill) { + for ( + var k = [], + A = {}, + M = 0, + S = 0, + E = 0, + L = d.count; + S < L; + S++ + ) { + var C = m[2 * S], + O = m[2 * S + 1]; + isNaN(C) || + isNaN(O) || + null == C || + null == O + ? ((C = m[2 * M]), + (O = m[2 * M + 1]), + (A[S] = M)) + : (M = S), + (k[E++] = C), + (k[E++] = O); + } + if (t.splitNull) { + d.count - 1 in A || + (A[d.count] = d.count - 1); + var P = Object.keys(A) + .map(Number) + .sort(function (t, e) { + return t - e; + }), + I = [], + D = 0, + z = + null != d.hole ? d.hole[0] : null; + if (null != z) { + var R = g(P, function (t) { + return t >= z; + }); + (P = P.slice(0, R)).push(z); + } + for ( + var F = function (t) { + var e = k + .slice(2 * D, 2 * P[t]) + .concat( + z ? k.slice(2 * z) : [], + ), + r = (d.hole || []).map( + function (e) { + return e - z + (P[t] - D); + }, + ), + n = u(e, r); + (n = n.map(function (e) { + return ( + e + + D + + (e + D < P[t] + ? 0 + : z - P[t]) + ); + })), + I.push.apply(I, n), + (D = P[t] + 1); + }, + B = 0; + B < P.length; + B++ + ) + F(B); + for ( + var N = 0, j = I.length; + N < j; + N++ + ) + null != A[I[N]] && (I[N] = A[I[N]]); + d.triangles = I; + } else { + for ( + var U = u(k, d.hole || []), + V = 0, + H = U.length; + V < H; + V++ + ) + null != A[U[V]] && (U[V] = A[U[V]]); + d.triangles = U; + } + } + var q = new Float64Array(m); + c(q, 2, T); + var G = new Float64Array(2 * x + 6); + d.close + ? m[0] === m[2 * x - 2] && + m[1] === m[2 * x - 1] + ? ((G[0] = q[2 * x - 4]), + (G[1] = q[2 * x - 3])) + : ((G[0] = q[2 * x - 2]), + (G[1] = q[2 * x - 1])) + : ((G[0] = q[0]), (G[1] = q[1])), + G.set(q, 2), + d.close + ? m[0] === m[2 * x - 2] && + m[1] === m[2 * x - 1] + ? ((G[2 * x + 2] = q[2]), + (G[2 * x + 3] = q[3]), + (d.count -= 1)) + : ((G[2 * x + 2] = q[0]), + (G[2 * x + 3] = q[1]), + (G[2 * x + 4] = q[2]), + (G[2 * x + 5] = q[3])) + : ((G[2 * x + 2] = q[2 * x - 2]), + (G[2 * x + 3] = q[2 * x - 1]), + (G[2 * x + 4] = q[2 * x - 2]), + (G[2 * x + 5] = q[2 * x - 1])); + var Z = h(G); + d.positionBuffer(Z); + var W = p(G, Z); + d.positionFractBuffer(W); + } + if ( + (t.range + ? (d.range = t.range) + : d.range || (d.range = d.bounds), + (t.range || t.positions) && d.count) + ) { + var Y = d.bounds, + X = Y[2] - Y[0], + J = Y[3] - Y[1], + K = d.range[2] - d.range[0], + $ = d.range[3] - d.range[1]; + (d.scale = [X / K, J / $]), + (d.translate = [ + -d.range[0] / K + Y[0] / K || 0, + -d.range[1] / $ + Y[1] / $ || 0, + ]), + (d.scaleFract = p(d.scale)), + (d.translateFract = p(d.translate)); + } + if (t.dashes) { + var Q, + tt = 0; + if (!t.dashes || t.dashes.length < 2) + (tt = 1), + (Q = new Uint8Array([ + 255, 255, 255, 255, 255, 255, 255, + 255, + ])); + else { + tt = 0; + for ( + var et = 0; + et < t.dashes.length; + ++et + ) + tt += t.dashes[et]; + Q = new Uint8Array(tt * y.dashMult); + for ( + var rt = 0, nt = 255, it = 0; + it < 2; + it++ + ) + for ( + var at = 0; + at < t.dashes.length; + ++at + ) { + for ( + var ot = 0, + st = + t.dashes[at] * + y.dashMult * + 0.5; + ot < st; + ++ot + ) + Q[rt++] = nt; + nt ^= 255; + } + } + (d.dashLength = tt), + d.dashTexture( + { + channels: 1, + data: Q, + width: Q.length, + height: 1, + mag: "linear", + min: "linear", + }, + 0, + 0, + ); + } + if (t.color) { + var lt = d.count, + ut = t.color; + ut || (ut = "transparent"); + var ct = new Uint8Array(4 * lt + 4); + if ( + Array.isArray(ut) && + "number" != typeof ut[0] + ) { + for (var ft = 0; ft < lt; ft++) { + var ht = n(ut[ft], "uint8"); + ct.set(ht, 4 * ft); + } + ct.set(n(ut[0], "uint8"), 4 * lt); + } else + for ( + var pt = n(ut, "uint8"), dt = 0; + dt < lt + 1; + dt++ + ) + ct.set(pt, 4 * dt); + d.colorBuffer({ + usage: "dynamic", + type: "uint8", + data: ct, + }); + } + } else e.passes[f] = null; + }), + t.length < this.passes.length) + ) { + for ( + var f = t.length; + f < this.passes.length; + f++ + ) { + var d = this.passes[f]; + d && + (d.colorBuffer.destroy(), + d.positionBuffer.destroy(), + d.dashTexture.destroy()); + } + this.passes.length = t.length; + } + for (var m = [], x = 0; x < this.passes.length; x++) + null !== this.passes[x] && m.push(this.passes[x]); + return (this.passes = m), this; + } + }), + (y.prototype.destroy = function () { + return ( + this.passes.forEach(function (t) { + t.colorBuffer.destroy(), + t.positionBuffer.destroy(), + t.dashTexture.destroy(); + }), + (this.passes.length = 0), + this + ); + }); + }, + 11870: function (t, e, r) { + "use strict"; + function n(t, e) { + return ( + (function (t) { + if (Array.isArray(t)) return t; + })(t) || + (function (t, e) { + var r = + null == t + ? null + : ("undefined" != typeof Symbol && + t[Symbol.iterator]) || + t["@@iterator"]; + if (null != r) { + var n, + i, + a, + o, + s = [], + l = !0, + u = !1; + try { + if (((a = (r = r.call(t)).next), 0 === e)) { + if (Object(r) !== r) return; + l = !1; + } else + for ( + ; + !(l = (n = a.call(r)).done) && + (s.push(n.value), s.length !== e); + l = !0 + ); + } catch (t) { + (u = !0), (i = t); + } finally { + try { + if ( + !l && + null != r.return && + ((o = r.return()), Object(o) !== o) + ) + return; + } finally { + if (u) throw i; + } + } + return s; + } + })(t, e) || + i(t, e) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.", + ); + })() + ); + } + function i(t, e) { + if (t) { + if ("string" == typeof t) return a(t, e); + var r = Object.prototype.toString + .call(t) + .slice(8, -1); + return ( + "Object" === r && + t.constructor && + (r = t.constructor.name), + "Map" === r || "Set" === r + ? Array.from(t) + : "Arguments" === r || + /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test( + r, + ) + ? a(t, e) + : void 0 + ); + } + } + function a(t, e) { + (null == e || e > t.length) && (e = t.length); + for (var r = 0, n = new Array(e); r < e; r++) + n[r] = t[r]; + return n; + } + var o = r(25075), + s = r(21527), + l = r(6475), + u = r(88294), + c = r(56131), + f = r(56068), + h = r(71299), + p = r(93447), + d = r(30120), + v = r(62683), + g = r(57060), + y = r(18863), + m = x; + function x(t, e) { + var r = this; + if (!(this instanceof x)) return new x(t, e); + "function" == typeof t + ? (e || (e = {}), (e.regl = t)) + : ((e = t), (t = null)), + e && e.length && (e.positions = e); + var n, + i = (t = e.regl)._gl, + a = []; + (this.tooManyColors = v), + (n = t.texture({ + data: new Uint8Array(1020), + width: 255, + height: 1, + type: "uint8", + format: "rgba", + wrapS: "clamp", + wrapT: "clamp", + mag: "nearest", + min: "nearest", + })), + c(this, { + regl: t, + gl: i, + groups: [], + markerCache: [null], + markerTextures: [null], + palette: a, + paletteIds: {}, + paletteTexture: n, + maxColors: 255, + maxSize: 100, + canvas: i.canvas, + }), + this.update(e); + var o = { + uniforms: { + constPointSize: !!e.constPointSize, + opacity: t.prop("opacity"), + paletteSize: function (t, e) { + return [r.tooManyColors ? 0 : 255, n.height]; + }, + pixelRatio: t.context("pixelRatio"), + scale: t.prop("scale"), + scaleFract: t.prop("scaleFract"), + translate: t.prop("translate"), + translateFract: t.prop("translateFract"), + markerTexture: t.prop("markerTexture"), + paletteTexture: n, + }, + attributes: { + x: function (t, e) { + return ( + e.xAttr || { + buffer: e.positionBuffer, + stride: 8, + offset: 0, + } + ); + }, + y: function (t, e) { + return ( + e.yAttr || { + buffer: e.positionBuffer, + stride: 8, + offset: 4, + } + ); + }, + xFract: function (t, e) { + return e.xAttr + ? { constant: [0, 0] } + : { + buffer: e.positionFractBuffer, + stride: 8, + offset: 0, + }; + }, + yFract: function (t, e) { + return e.yAttr + ? { constant: [0, 0] } + : { + buffer: e.positionFractBuffer, + stride: 8, + offset: 4, + }; + }, + size: function (t, e) { + return e.size.length + ? { + buffer: e.sizeBuffer, + stride: 2, + offset: 0, + } + : { + constant: [ + Math.round((255 * e.size) / r.maxSize), + ], + }; + }, + borderSize: function (t, e) { + return e.borderSize.length + ? { + buffer: e.sizeBuffer, + stride: 2, + offset: 1, + } + : { + constant: [ + Math.round( + (255 * e.borderSize) / r.maxSize, + ), + ], + }; + }, + colorId: function (t, e) { + return e.color.length + ? { + buffer: e.colorBuffer, + stride: r.tooManyColors ? 8 : 4, + offset: 0, + } + : { + constant: r.tooManyColors + ? a.slice(4 * e.color, 4 * e.color + 4) + : [e.color], + }; + }, + borderColorId: function (t, e) { + return e.borderColor.length + ? { + buffer: e.colorBuffer, + stride: r.tooManyColors ? 8 : 4, + offset: r.tooManyColors ? 4 : 2, + } + : { + constant: r.tooManyColors + ? a.slice( + 4 * e.borderColor, + 4 * e.borderColor + 4, + ) + : [e.borderColor], + }; + }, + isActive: function (t, e) { + return !0 === e.activation + ? { constant: [1] } + : e.activation + ? e.activation + : { constant: [0] }; + }, + }, + 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", + }, + s = c({}, o); + (s.frag = f([ + "precision highp float;\n#define GLSLIFY 1\n\nuniform float opacity;\nuniform sampler2D markerTexture;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\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(markerTexture, 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 * opacity);\n }\n else {\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\n}\n", + ])), + (s.vert = f([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\nconst float borderLevel = .5;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragPointSize, fragBorderRadius, fragWidth, fragBorderColorLevel, fragColorLevel;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = 2. * size * pointSizeScale;\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}", + ])), + (this.drawMarker = t(s)); + var l = c({}, o); + (l.frag = f([ + "precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nuniform float opacity;\n\nfloat smoothStep(float edge0, float edge1, float x) {\n\tfloat t;\n\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n\treturn t * t * (3.0 - 2.0 * t);\n}\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}\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", + ])), + (l.vert = f([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pointSizeScale;\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 fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n", + ])), + v && + ((l.frag = l.frag.replace( + "smoothstep", + "smoothStep", + )), + (s.frag = s.frag.replace( + "smoothstep", + "smoothStep", + ))), + (this.drawCircle = t(l)); + } + (x.defaults = { + color: "black", + borderColor: "transparent", + borderSize: 0, + size: 12, + opacity: 1, + marker: void 0, + viewport: null, + range: null, + pixelSize: null, + count: 0, + offset: 0, + bounds: null, + positions: [], + snap: 1e4, + }), + (x.prototype.render = function () { + return ( + arguments.length && + this.update.apply(this, arguments), + this.draw(), + this + ); + }), + (x.prototype.draw = function () { + for ( + var t = this, + e = arguments.length, + r = new Array(e), + n = 0; + n < e; + n++ + ) + r[n] = arguments[n]; + var i = this.groups; + if ( + (1 === r.length && + Array.isArray(r[0]) && + (null === r[0][0] || Array.isArray(r[0][0])) && + (r = r[0]), + this.regl._refresh(), + r.length) + ) + for (var a = 0; a < r.length; a++) + this.drawItem(a, r[a]); + else + i.forEach(function (e, r) { + t.drawItem(r); + }); + return this; + }), + (x.prototype.drawItem = function (t, e) { + var r, + n = this.groups, + o = n[t]; + if ( + ("number" == typeof e && + ((t = e), (o = n[e]), (e = null)), + o && o.count && o.opacity) + ) { + o.activation[0] && + this.drawCircle( + this.getMarkerDrawOptions(0, o, e), + ); + for ( + var s = [], l = 1; + l < o.activation.length; + l++ + ) + o.activation[l] && + (!0 === o.activation[l] || + o.activation[l].data.length) && + s.push.apply( + s, + (function (t) { + if (Array.isArray(t)) return a(t); + })( + (r = this.getMarkerDrawOptions(l, o, e)), + ) || + (function (t) { + if ( + ("undefined" != typeof Symbol && + null != t[Symbol.iterator]) || + null != t["@@iterator"] + ) + return Array.from(t); + })(r) || + i(r) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.", + ); + })(), + ); + s.length && this.drawMarker(s); + } + }), + (x.prototype.getMarkerDrawOptions = function (t, e, r) { + var i = e.range, + a = e.tree, + o = e.viewport, + s = e.activation, + l = e.selectionBuffer, + u = e.count; + if ((this.regl, !a)) + return r + ? [ + c({}, e, { + markerTexture: this.markerTextures[t], + activation: s[t], + count: r.length, + elements: r, + offset: 0, + }), + ] + : [ + c({}, e, { + markerTexture: this.markerTextures[t], + activation: s[t], + offset: 0, + }), + ]; + var f = [], + h = a.range(i, { + lod: !0, + px: [ + (i[2] - i[0]) / o.width, + (i[3] - i[1]) / o.height, + ], + }); + if (r) { + for ( + var p = s[t].data, d = new Uint8Array(u), v = 0; + v < r.length; + v++ + ) { + var g = r[v]; + d[g] = p ? p[g] : 1; + } + l.subdata(d); + } + for (var y = h.length; y--; ) { + var m = n(h[y], 2), + x = m[0], + b = m[1]; + f.push( + c({}, e, { + markerTexture: this.markerTextures[t], + activation: r ? l : s[t], + offset: x, + count: b - x, + }), + ); + } + return f; + }), + (x.prototype.update = function () { + for ( + var t = this, + e = arguments.length, + r = new Array(e), + n = 0; + n < e; + n++ + ) + r[n] = arguments[n]; + if (r.length) { + 1 === r.length && Array.isArray(r[0]) && (r = r[0]); + var i = this.groups, + a = this.gl, + o = this.regl, + l = this.maxSize, + f = this.maxColors, + v = this.palette; + this.groups = i = r.map(function (e, r) { + var n = i[r]; + if (void 0 === e) return n; + null === e + ? (e = { positions: null }) + : "function" == typeof e + ? (e = { ondraw: e }) + : "number" == typeof e[0] && + (e = { positions: e }), + null === + (e = h(e, { + positions: "positions data points", + snap: "snap cluster lod tree", + size: "sizes size radius", + borderSize: + "borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline", + color: + "colors color fill fill-color fillColor", + borderColor: + "borderColors borderColor stroke stroke-color strokeColor", + marker: "markers marker shape", + range: "range dataBox databox", + viewport: + "viewport viewPort viewBox viewbox", + opacity: "opacity alpha transparency", + bounds: "bound bounds boundaries limits", + tooManyColors: + "tooManyColors palette paletteMode optimizePalette enablePalette", + })).positions && (e.positions = []), + null != e.tooManyColors && + (t.tooManyColors = e.tooManyColors), + n || + ((i[r] = n = + { + id: r, + scale: null, + translate: null, + scaleFract: null, + translateFract: null, + activation: [], + selectionBuffer: o.buffer({ + data: new Uint8Array(0), + usage: "stream", + type: "uint8", + }), + sizeBuffer: o.buffer({ + data: new Uint8Array(0), + usage: "dynamic", + type: "uint8", + }), + colorBuffer: o.buffer({ + data: new Uint8Array(0), + usage: "dynamic", + type: "uint8", + }), + positionBuffer: o.buffer({ + data: new Uint8Array(0), + usage: "dynamic", + type: "float", + }), + positionFractBuffer: o.buffer({ + data: new Uint8Array(0), + usage: "dynamic", + type: "float", + }), + }), + (e = c({}, x.defaults, e))), + e.positions && + !("marker" in e) && + ((e.marker = n.marker), delete n.marker), + e.marker && + !("positions" in e) && + ((e.positions = n.positions), + delete n.positions); + var m = 0, + b = 0; + if ( + (p(n, e, [ + { + snap: !0, + size: function (t, e) { + return ( + null == t && (t = x.defaults.size), + (m += t && t.length ? 1 : 0), + t + ); + }, + borderSize: function (t, e) { + return ( + null == t && + (t = x.defaults.borderSize), + (m += t && t.length ? 1 : 0), + t + ); + }, + opacity: parseFloat, + color: function (e, r) { + return ( + null == e && (e = x.defaults.color), + (e = t.updateColor(e)), + b++, + e + ); + }, + borderColor: function (e, r) { + return ( + null == e && + (e = x.defaults.borderColor), + (e = t.updateColor(e)), + b++, + e + ); + }, + bounds: function (t, e, r) { + return ( + "range" in r || (r.range = null), t + ); + }, + positions: function (t, e, r) { + var n = e.snap, + i = e.positionBuffer, + a = e.positionFractBuffer, + l = e.selectionBuffer; + if (t.x || t.y) + return ( + t.x.length + ? (e.xAttr = { + buffer: o.buffer(t.x), + offset: 0, + stride: 4, + count: t.x.length, + }) + : (e.xAttr = { + buffer: t.x.buffer, + offset: 4 * t.x.offset || 0, + stride: 4 * (t.x.stride || 1), + count: t.x.count, + }), + t.y.length + ? (e.yAttr = { + buffer: o.buffer(t.y), + offset: 0, + stride: 4, + count: t.y.length, + }) + : (e.yAttr = { + buffer: t.y.buffer, + offset: 4 * t.y.offset || 0, + stride: 4 * (t.y.stride || 1), + count: t.y.count, + }), + (e.count = Math.max( + e.xAttr.count, + e.yAttr.count, + )), + t + ); + t = d(t, "float64"); + var c = (e.count = Math.floor( + t.length / 2, + )), + f = (e.bounds = c ? s(t, 2) : null); + if ( + (r.range || + e.range || + (delete e.range, (r.range = f)), + r.marker || + e.marker || + (delete e.marker, (r.marker = null)), + n && (!0 === n || c > n) + ? (e.tree = u(t, { bounds: f })) + : n && n.length && (e.tree = n), + e.tree) + ) { + var h = { + primitive: "points", + usage: "static", + data: e.tree, + type: "uint32", + }; + e.elements + ? e.elements(h) + : (e.elements = o.elements(h)); + } + var p = g.float32(t); + return ( + i({ data: p, usage: "dynamic" }), + a({ + data: g.fract32(t, p), + usage: "dynamic", + }), + l({ + data: new Uint8Array(c), + type: "uint8", + usage: "stream", + }), + t + ); + }, + }, + { + marker: function (e, r, n) { + var i = r.activation; + if ( + (i.forEach(function (t) { + return t && t.destroy && t.destroy(); + }), + (i.length = 0), + e && "number" != typeof e[0]) + ) { + for ( + var a = [], + s = 0, + l = Math.min(e.length, r.count); + s < l; + s++ + ) { + var u = t.addMarker(e[s]); + a[u] || + (a[u] = new Uint8Array(r.count)), + (a[u][s] = 1); + } + for (var c = 0; c < a.length; c++) + if (a[c]) { + var f = { + data: a[c], + type: "uint8", + usage: "static", + }; + i[c] + ? i[c](f) + : (i[c] = o.buffer(f)), + (i[c].data = a[c]); + } + } else i[t.addMarker(e)] = !0; + return e; + }, + 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 = g.fract(e.scale)), + (e.translateFract = g.fract( + e.translate, + )), + t + ); + }, + viewport: function (t) { + return y( + t || [ + a.drawingBufferWidth, + a.drawingBufferHeight, + ], + ); + }, + }, + ]), + m) + ) { + var _ = n, + w = _.count, + T = _.size, + k = _.borderSize, + A = _.sizeBuffer, + M = new Uint8Array(2 * w); + if (T.length || k.length) + for (var S = 0; S < w; S++) + (M[2 * S] = Math.round( + (255 * (null == T[S] ? T : T[S])) / l, + )), + (M[2 * S + 1] = Math.round( + (255 * (null == k[S] ? k : k[S])) / l, + )); + A({ data: M, usage: "dynamic" }); + } + if (b) { + var E, + L = n, + C = L.count, + O = L.color, + P = L.borderColor, + I = L.colorBuffer; + if (t.tooManyColors) { + if (O.length || P.length) { + E = new Uint8Array(8 * C); + for (var D = 0; D < C; D++) { + var z = O[D]; + (E[8 * D] = v[4 * z]), + (E[8 * D + 1] = v[4 * z + 1]), + (E[8 * D + 2] = v[4 * z + 2]), + (E[8 * D + 3] = v[4 * z + 3]); + var R = P[D]; + (E[8 * D + 4] = v[4 * R]), + (E[8 * D + 5] = v[4 * R + 1]), + (E[8 * D + 6] = v[4 * R + 2]), + (E[8 * D + 7] = v[4 * R + 3]); + } + } + } else if (O.length || P.length) { + E = new Uint8Array(4 * C + 2); + for (var F = 0; F < C; F++) + null != O[F] && + ((E[4 * F] = O[F] % f), + (E[4 * F + 1] = Math.floor(O[F] / f))), + null != P[F] && + ((E[4 * F + 2] = P[F] % f), + (E[4 * F + 3] = Math.floor(P[F] / f))); + } + I({ + data: E || new Uint8Array(0), + type: "uint8", + usage: "dynamic", + }); + } + return n; + }); + } + }), + (x.prototype.addMarker = function (t) { + var e, + r = this.markerTextures, + n = this.regl, + i = this.markerCache, + a = null == t ? 0 : i.indexOf(t); + if (a >= 0) return a; + if ( + t instanceof Uint8Array || + t instanceof Uint8ClampedArray + ) + e = t; + else { + e = new Uint8Array(t.length); + for (var o = 0, s = t.length; o < s; o++) + e[o] = 255 * t[o]; + } + var l = Math.floor(Math.sqrt(e.length)); + return ( + (a = r.length), + i.push(t), + r.push( + n.texture({ + channels: 1, + data: e, + radius: l, + mag: "linear", + min: "linear", + }), + ), + a + ); + }), + (x.prototype.updateColor = function (t) { + var e = this.paletteIds, + r = this.palette, + n = this.maxColors; + Array.isArray(t) || (t = [t]); + var i = []; + if ("number" == typeof t[0]) { + var a = []; + if (Array.isArray(t)) + for (var s = 0; s < t.length; s += 4) + a.push(t.slice(s, s + 4)); + else + for (var u = 0; u < t.length; u += 4) + a.push(t.subarray(u, u + 4)); + t = a; + } + for (var c = 0; c < t.length; c++) { + var f = t[c]; + f = o(f, "uint8"); + var h = l(f, !1); + if (null == e[h]) { + var p = r.length; + (e[h] = Math.floor(p / 4)), + (r[p] = f[0]), + (r[p + 1] = f[1]), + (r[p + 2] = f[2]), + (r[p + 3] = f[3]); + } + i[c] = e[h]; + } + return ( + !this.tooManyColors && + r.length > 4 * n && + (this.tooManyColors = !0), + this.updatePalette(r), + 1 === i.length ? i[0] : i + ); + }), + (x.prototype.updatePalette = function (t) { + if (!this.tooManyColors) { + var e = this.maxColors, + r = this.paletteTexture, + n = Math.ceil((0.25 * t.length) / e); + if (n > 1) + for ( + var i = (0.25 * (t = t.slice()).length) % e; + i < n * e; + i++ + ) + t.push(0, 0, 0, 0); + r.height < n && r.resize(e, n), + r.subimage( + { + width: Math.min(0.25 * t.length, e), + height: n, + data: t, + }, + 0, + 0, + ); + } + }), + (x.prototype.destroy = function () { + return ( + this.groups.forEach(function (t) { + t.sizeBuffer.destroy(), + t.positionBuffer.destroy(), + t.positionFractBuffer.destroy(), + t.colorBuffer.destroy(), + t.activation.forEach(function (t) { + return t && t.destroy && t.destroy(); + }), + t.selectionBuffer.destroy(), + t.elements && t.elements.destroy(); + }), + (this.groups.length = 0), + this.paletteTexture.destroy(), + this.markerTextures.forEach(function (t) { + return t && t.destroy && t.destroy(); + }), + this + ); + }); + var b = r(56131); + t.exports = function (t, e) { + var r = new m(t, e), + n = r.render.bind(r); + return ( + b(n, { + render: n, + update: r.update.bind(r), + draw: r.draw.bind(r), + destroy: r.destroy.bind(r), + regl: r.regl, + gl: r.gl, + canvas: r.gl.canvas, + groups: r.groups, + markers: r.markerCache, + palette: r.palette, + }), + n + ); + }; + }, + 60487: function (t, e, r) { + "use strict"; + var n = r(11870), + i = r(71299), + a = r(21527), + o = r(5877), + s = r(57471), + l = r(18863), + u = r(30120); + function c(t, e) { + if (!(this instanceof c)) return new c(t, e); + (this.traces = []), + (this.passes = {}), + (this.regl = t), + (this.scatter = n(t)), + (this.canvas = this.scatter.canvas); + } + function f(t, e, r) { + return ( + ((null != t.id ? t.id : t) << 16) | + ((255 & e) << 8) | + (255 & r) + ); + } + function h(t, e, r) { + var n, + i, + a, + o, + s = t[e], + l = t[r]; + return ( + s.length > 2 + ? (s[0], s[2], (n = s[1]), (i = s[3])) + : s.length + ? ((n = s[0]), (i = s[1])) + : (s.x, + (n = s.y), + s.x, + s.width, + (i = s.y + s.height)), + l.length > 2 + ? ((a = l[0]), (o = l[2]), l[1], l[3]) + : l.length + ? ((a = l[0]), (o = l[1])) + : ((a = l.x), + l.y, + (o = l.x + l.width), + l.y, + l.height), + [a, n, o, i] + ); + } + function p(t) { + if ("number" == typeof t) return [t, t, t, t]; + if (2 === t.length) return [t[0], t[1], t[0], t[1]]; + var e = l(t); + return [e.x, e.y, e.x + e.width, e.y + e.height]; + } + (t.exports = c), + (c.prototype.render = function () { + for ( + var t, e = this, r = [], n = arguments.length; + n--; + + ) + r[n] = arguments[n]; + return ( + r.length && (t = this).update.apply(t, r), + this.regl.attributes.preserveDrawingBuffer + ? this.draw() + : (this.dirty + ? null == this.planned && + (this.planned = o(function () { + e.draw(), + (e.dirty = !0), + (e.planned = null); + })) + : (this.draw(), + (this.dirty = !0), + o(function () { + e.dirty = !1; + })), + this) + ); + }), + (c.prototype.update = function () { + for (var t, e = [], r = arguments.length; r--; ) + e[r] = arguments[r]; + if (e.length) { + for (var n = 0; n < e.length; n++) + this.updateItem(n, e[n]); + this.traces = this.traces.filter(Boolean); + for ( + var i = [], a = 0, o = 0; + o < this.traces.length; + o++ + ) { + for ( + var s = this.traces[o], + l = this.traces[o].passes, + u = 0; + u < l.length; + u++ + ) + i.push(this.passes[l[u]]); + (s.passOffset = a), (a += s.passes.length); + } + return (t = this.scatter).update.apply(t, i), this; + } + }), + (c.prototype.updateItem = function (t, e) { + var r = this.regl; + if (null === e) return (this.traces[t] = null), this; + if (!e) return this; + var n, + o = i(e, { + data: "data items columns rows values dimensions samples x", + snap: "snap cluster", + size: "sizes size radius", + color: "colors color fill fill-color fillColor", + opacity: "opacity alpha transparency opaque", + borderSize: + "borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline", + borderColor: + "borderColors borderColor bordercolor stroke stroke-color strokeColor", + marker: "markers marker shape", + range: "range ranges databox dataBox", + viewport: "viewport viewBox viewbox", + domain: "domain domains area areas", + padding: + "pad padding paddings pads margin margins", + transpose: "transpose transposed", + diagonal: "diagonal diag showDiagonal", + upper: + "upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf", + lower: + "lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower", + }), + s = + this.traces[t] || + (this.traces[t] = { + id: t, + buffer: r.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(), + }), + color: "black", + marker: null, + size: 12, + borderColor: "transparent", + borderSize: 1, + viewport: l([ + r._gl.drawingBufferWidth, + r._gl.drawingBufferHeight, + ]), + padding: [0, 0, 0, 0], + opacity: 1, + diagonal: !0, + upper: !0, + lower: !0, + }); + if ( + (null != o.color && (s.color = o.color), + null != o.size && (s.size = o.size), + null != o.marker && (s.marker = o.marker), + null != o.borderColor && + (s.borderColor = o.borderColor), + null != o.borderSize && + (s.borderSize = o.borderSize), + null != o.opacity && (s.opacity = o.opacity), + o.viewport && (s.viewport = l(o.viewport)), + null != o.diagonal && (s.diagonal = o.diagonal), + null != o.upper && (s.upper = o.upper), + null != o.lower && (s.lower = o.lower), + o.data) + ) { + s.buffer(u(o.data)), + (s.columns = o.data.length), + (s.count = o.data[0].length), + (s.bounds = []); + for (var c = 0; c < s.columns; c++) + s.bounds[c] = a(o.data[c], 1); + } + o.range && + ((s.range = o.range), + (n = s.range && "number" != typeof s.range[0])), + o.domain && (s.domain = o.domain); + var d = !1; + null != o.padding && + (Array.isArray(o.padding) && + o.padding.length === s.columns && + "number" == typeof o.padding[o.padding.length - 1] + ? ((s.padding = o.padding.map(p)), (d = !0)) + : (s.padding = p(o.padding))); + var v = s.columns, + g = s.count, + y = s.viewport.width, + m = s.viewport.height, + x = s.viewport.x, + b = s.viewport.y, + _ = y / v, + w = m / v; + s.passes = []; + for (var T = 0; T < v; T++) + for (var k = 0; k < v; k++) + if ( + (s.diagonal || k !== T) && + (s.upper || !(T > k)) && + (s.lower || !(T < k)) + ) { + var A = f(s.id, T, k), + M = this.passes[A] || (this.passes[A] = {}); + if ( + (o.data && + (o.transpose + ? (M.positions = { + x: { + buffer: s.buffer, + offset: k, + count: g, + stride: v, + }, + y: { + buffer: s.buffer, + offset: T, + count: g, + stride: v, + }, + }) + : (M.positions = { + x: { + buffer: s.buffer, + offset: k * g, + count: g, + }, + y: { + buffer: s.buffer, + offset: T * g, + count: g, + }, + }), + (M.bounds = h(s.bounds, T, k))), + o.domain || o.viewport || o.data) + ) { + var S = d ? h(s.padding, T, k) : s.padding; + if (s.domain) { + var E = h(s.domain, T, k), + L = E[0], + C = E[1], + O = E[2], + P = E[3]; + M.viewport = [ + x + L * y + S[0], + b + C * m + S[1], + x + O * y - S[2], + b + P * m - S[3], + ]; + } else + M.viewport = [ + x + k * _ + _ * S[0], + b + T * w + w * S[1], + x + (k + 1) * _ - _ * S[2], + b + (T + 1) * w - w * S[3], + ]; + } + o.color && (M.color = s.color), + o.size && (M.size = s.size), + o.marker && (M.marker = s.marker), + o.borderSize && (M.borderSize = s.borderSize), + o.borderColor && + (M.borderColor = s.borderColor), + o.opacity && (M.opacity = s.opacity), + o.range && + (M.range = n + ? h(s.range, T, k) + : s.range || M.bounds), + s.passes.push(A); + } + return this; + }), + (c.prototype.draw = function () { + for (var t, e = [], r = arguments.length; r--; ) + e[r] = arguments[r]; + if (e.length) { + for (var n = [], i = 0; i < e.length; i++) + if ("number" == typeof e[i]) { + var a = this.traces[e[i]], + o = a.passes, + l = a.passOffset; + n.push.apply(n, s(l, l + o.length)); + } else if (e[i].length) { + var u = e[i], + c = this.traces[i], + f = c.passes, + h = c.passOffset; + f = f.map(function (t, e) { + n[h + e] = u; + }); + } + (t = this.scatter).draw.apply(t, n); + } else this.scatter.draw(); + return this; + }), + (c.prototype.destroy = function () { + return ( + this.traces.forEach(function (t) { + t.buffer && + t.buffer.destroy && + t.buffer.destroy(); + }), + (this.traces = null), + (this.passes = null), + this.scatter.destroy(), + this + ); + }); + }, + 98580: function (t) { + t.exports = (function () { + function t(t, e) { + (this.id = Z++), (this.type = t), (this.data = e); + } + function e(t) { + if (0 === t.length) return []; + var r = t.charAt(0), + n = t.charAt(t.length - 1); + if ( + 1 < t.length && + r === n && + ('"' === r || "'" === r) + ) + return [ + '"' + + t + .substr(1, t.length - 2) + .replace(/\\/g, "\\\\") + .replace(/"/g, '\\"') + + '"', + ]; + if ( + (r = + /\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec( + t, + )) + ) + return e(t.substr(0, r.index)) + .concat(e(r[1])) + .concat(e(t.substr(r.index + r[0].length))); + if (1 === (r = t.split(".")).length) + return [ + '"' + + t.replace(/\\/g, "\\\\").replace(/"/g, '\\"') + + '"', + ]; + for (t = [], n = 0; n < r.length; ++n) + t = t.concat(e(r[n])); + return t; + } + function r(t) { + return "[" + e(t).join("][") + "]"; + } + function n(t) { + return "string" == typeof t ? t.split() : t; + } + function i(t) { + return "string" == typeof t + ? document.querySelector(t) + : t; + } + function a(t) { + var e, + r, + a, + o, + s = t || {}; + t = {}; + var l = [], + u = [], + c = + "undefined" == typeof window + ? 1 + : window.devicePixelRatio, + f = !1, + h = {}, + p = function (t) {}, + d = 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 = i(s.canvas)) + : "container" in s && + (r = i(s.container)), + "attributes" in s && (t = s.attributes), + "extensions" in s && (l = n(s.extensions)), + "optionalExtensions" in s && + (u = n(s.optionalExtensions)), + "onDone" in s && (p = s.onDone), + "profile" in s && (f = !!s.profile), + "pixelRatio" in s && (c = +s.pixelRatio), + "cachedCode" in s && (h = s.cachedCode))), + e && + ("canvas" === e.nodeName.toLowerCase() + ? (a = e) + : (r = e)), + !o) + ) { + if (!a) { + if ( + !(e = (function (t, e, r) { + function n() { + var e = window.innerWidth, + n = window.innerHeight; + t !== document.body && + ((e = + (n = a.getBoundingClientRect()).right - + n.left), + (n = n.bottom - n.top)), + (a.width = r * e), + (a.height = r * n); + } + var i, + a = document.createElement("canvas"); + return ( + G(a.style, { + border: 0, + margin: 0, + padding: 0, + top: 0, + left: 0, + width: "100%", + height: "100%", + }), + t.appendChild(a), + t === document.body && + ((a.style.position = "absolute"), + G(t.style, { margin: 0, padding: 0 })), + t !== document.body && + "function" == typeof ResizeObserver + ? (i = new ResizeObserver(function () { + setTimeout(n); + })).observe(t) + : window.addEventListener( + "resize", + n, + !1, + ), + n(), + { + canvas: a, + onDestroy: function () { + i + ? i.disconnect() + : window.removeEventListener( + "resize", + n, + ), + t.removeChild(a); + }, + } + ); + })(r || document.body, 0, c)) + ) + return null; + (a = e.canvas), (d = e.onDestroy); + } + void 0 === t.premultipliedAlpha && + (t.premultipliedAlpha = !0), + (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: r, + extensions: l, + optionalExtensions: u, + pixelRatio: c, + profile: f, + cachedCode: h, + onDone: p, + onDestroy: d, + } + : (d(), + p( + "webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org", + ), + null); + } + 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() { + function t(t) { + t: { + for (var e = 16; 268435456 >= e; e *= 16) + if (t <= e) { + t = e; + break t; + } + t = 0; + } + return 0 < (e = r[s(t) >> 2]).length + ? e.pop() + : new ArrayBuffer(t); + } + function e(t) { + r[s(t.byteLength) >> 2].push(t); + } + var r = o(8, function () { + return []; + }); + return { + alloc: t, + free: e, + allocType: function (e, r) { + var n = null; + switch (e) { + case 5120: + n = new Int8Array(t(r), 0, r); + break; + case 5121: + n = new Uint8Array(t(r), 0, r); + break; + case 5122: + n = new Int16Array(t(2 * r), 0, r); + break; + case 5123: + n = new Uint16Array(t(2 * r), 0, r); + break; + case 5124: + n = new Int32Array(t(4 * r), 0, r); + break; + case 5125: + n = new Uint32Array(t(4 * r), 0, r); + break; + case 5126: + n = new Float32Array(t(4 * r), 0, r); + break; + default: + return null; + } + return n.length !== r ? n.subarray(0, r) : n; + }, + freeType: function (t) { + e(t.buffer); + }, + }; + } + function u(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) || $(t.data)) + ); + } + 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 f(t, e, r, n, i) { + for (var a = 1, o = r + 1; o < e.length; ++o) + a *= e[o]; + var s = e[r]; + if (4 == e.length - r) { + var l = e[r + 1], + u = e[r + 2]; + for (e = e[r + 3], o = 0; o < s; ++o) + c(t[o], l, u, e, n, i), (i += a); + } else + for (o = 0; o < s; ++o) + f(t[o], e, r + 1, n, i), (i += a); + } + function h(t) { + return 0 | et[Object.prototype.toString.call(t)]; + } + function p(t, e) { + for (var r = 0; r < e.length; ++r) t[r] = e[r]; + } + function d(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 v(t, e, r, n) { + function i(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 a(e, r, n) { + (e.byteLength = r.byteLength), + t.bufferData(e.type, r, n); + } + function o(t, e, r, n, i, o) { + if (((t.usage = r), Array.isArray(e))) { + if (((t.dtype = n || 5126), 0 < e.length)) + if (Array.isArray(e[0])) { + i = at(e); + for (var s = (n = 1); s < i.length; ++s) + n *= i[s]; + (t.dimension = n), + a(t, (e = it(e, i, t.dtype)), r), + o ? (t.persistentData = e) : J.freeType(e); + } else + "number" == typeof e[0] + ? ((t.dimension = i), + p( + (i = J.allocType(t.dtype, e.length)), + e, + ), + a(t, i, r), + o + ? (t.persistentData = i) + : J.freeType(i)) + : $(e[0]) && + ((t.dimension = e[0].length), + (t.dtype = n || h(e[0]) || 5126), + a( + t, + (e = it( + e, + [e.length, e[0].length], + t.dtype, + )), + r, + ), + o + ? (t.persistentData = e) + : J.freeType(e)); + } else if ($(e)) + (t.dtype = n || h(e)), + (t.dimension = i), + a(t, e, r), + o && + (t.persistentData = new Uint8Array( + new Uint8Array(e.buffer), + )); + else if (u(e)) { + i = e.shape; + var l = e.stride, + c = ((s = e.offset), 0), + f = 0, + v = 0, + g = 0; + 1 === i.length + ? ((c = i[0]), (f = 1), (v = l[0]), (g = 0)) + : 2 === i.length && + ((c = i[0]), + (f = i[1]), + (v = l[0]), + (g = l[1])), + (t.dtype = n || h(e.data) || 5126), + (t.dimension = f), + d( + (i = J.allocType(t.dtype, c * f)), + e.data, + c, + f, + v, + g, + s, + ), + a(t, i, r), + o ? (t.persistentData = i) : J.freeType(i); + } else + e instanceof ArrayBuffer && + ((t.dtype = 5121), + (t.dimension = i), + a(t, e, r), + o && + (t.persistentData = new Uint8Array( + new Uint8Array(e), + ))); + } + function s(r) { + e.bufferCount--, + n(r), + t.deleteBuffer(r.buffer), + (r.buffer = null), + delete c[r.id]; + } + var l = 0, + c = {}; + (i.prototype.bind = function () { + t.bindBuffer(this.type, this.buffer); + }), + (i.prototype.destroy = function () { + s(this); + }); + var f = []; + return ( + r.profile && + (e.getTotalBufferSize = function () { + var t = 0; + return ( + Object.keys(c).forEach(function (e) { + t += c[e].stats.size; + }), + t + ); + }), + { + create: function (n, a, l, f) { + function v(e) { + var n = 35044, + i = null, + a = 0, + s = 0, + l = 1; + return ( + Array.isArray(e) || + $(e) || + u(e) || + e instanceof ArrayBuffer + ? (i = e) + : "number" == typeof e + ? (a = 0 | e) + : e && + ("data" in e && (i = e.data), + "usage" in e && (n = nt[e.usage]), + "type" in e && (s = rt[e.type]), + "dimension" in e && + (l = 0 | e.dimension), + "length" in e && (a = 0 | e.length)), + g.bind(), + i + ? o(g, i, n, s, l, f) + : (a && t.bufferData(g.type, a, n), + (g.dtype = s || 5121), + (g.usage = n), + (g.dimension = l), + (g.byteLength = a)), + r.profile && + (g.stats.size = + g.byteLength * ot[g.dtype]), + v + ); + } + e.bufferCount++; + var g = new i(a); + return ( + (c[g.id] = g), + l || v(n), + (v._reglType = "buffer"), + (v._buffer = g), + (v.subdata = function (e, r) { + var n, + i = 0 | (r || 0); + if ( + (g.bind(), + $(e) || e instanceof ArrayBuffer) + ) + t.bufferSubData(g.type, i, e); + else if (Array.isArray(e)) { + if (0 < e.length) + if ("number" == typeof e[0]) { + var a = J.allocType( + g.dtype, + e.length, + ); + p(a, e), + t.bufferSubData(g.type, i, a), + J.freeType(a); + } else + (Array.isArray(e[0]) || $(e[0])) && + ((n = at(e)), + (a = it(e, n, g.dtype)), + t.bufferSubData(g.type, i, a), + J.freeType(a)); + } else if (u(e)) { + n = e.shape; + var o = e.stride, + s = (a = 0), + l = 0, + c = 0; + 1 === n.length + ? ((a = n[0]), + (s = 1), + (l = o[0]), + (c = 0)) + : 2 === n.length && + ((a = n[0]), + (s = n[1]), + (l = o[0]), + (c = o[1])), + (n = Array.isArray(e.data) + ? g.dtype + : h(e.data)), + d( + (n = J.allocType(n, a * s)), + e.data, + a, + s, + l, + c, + e.offset, + ), + t.bufferSubData(g.type, i, n), + J.freeType(n); + } + return v; + }), + r.profile && (v.stats = g.stats), + (v.destroy = function () { + s(g); + }), + v + ); + }, + createStream: function (t, e) { + var r = f.pop(); + return ( + r || (r = new i(t)), + r.bind(), + o(r, e, 35040, 0, 1, !1), + r + ); + }, + destroyStream: function (t) { + f.push(t); + }, + clear: function () { + Q(c).forEach(s), f.forEach(s); + }, + getBuffer: function (t) { + return t && t._buffer instanceof i + ? t._buffer + : null; + }, + restore: function () { + Q(c).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 = l++), + (s[this.id] = this), + (this.buffer = t), + (this.primType = 4), + (this.type = this.vertCount = 0); + } + function a(n, i, a, o, s, l, c) { + var f; + if ( + (n.buffer.bind(), + i + ? ((f = c) || + ($(i) && (!u(i) || $(i.data))) || + (f = e.oes_element_index_uint + ? 5125 + : 5123), + r._initBuffer(n.buffer, i, a, f, 3)) + : (t.bufferData(34963, l, a), + (n.buffer.dtype = f || 5121), + (n.buffer.usage = a), + (n.buffer.dimension = 3), + (n.buffer.byteLength = l)), + (f = c), + !c) + ) { + switch (n.buffer.dtype) { + case 5121: + case 5120: + f = 5121; + break; + case 5123: + case 5122: + f = 5123; + break; + case 5125: + case 5124: + f = 5125; + } + n.buffer.dtype = f; + } + (n.type = f), + 0 > (i = s) && + ((i = n.buffer.byteLength), + 5123 === f + ? (i >>= 1) + : 5125 === f && (i >>= 2)), + (n.vertCount = i), + (i = o), + 0 > o && + ((i = 4), + 1 === (o = n.buffer.dimension) && (i = 0), + 2 === o && (i = 1), + 3 === o && (i = 4)), + (n.primType = i); + } + function o(t) { + n.elementsCount--, + delete s[t.id], + t.buffer.destroy(), + (t.buffer = null); + } + var s = {}, + l = 0, + c = { uint8: 5121, uint16: 5123 }; + e.oes_element_index_uint && (c.uint32 = 5125), + (i.prototype.bind = function () { + this.buffer.bind(); + }); + var f = []; + return { + create: function (t, e) { + function s(t) { + if (t) + if ("number" == typeof t) + l(t), + (f.primType = 4), + (f.vertCount = 0 | t), + (f.type = 5121); + else { + var e = null, + r = 35044, + n = -1, + i = -1, + o = 0, + h = 0; + Array.isArray(t) || $(t) || u(t) + ? (e = t) + : ("data" in t && (e = t.data), + "usage" in t && (r = nt[t.usage]), + "primitive" in t && + (n = st[t.primitive]), + "count" in t && (i = 0 | t.count), + "type" in t && (h = c[t.type]), + "length" in t + ? (o = 0 | t.length) + : ((o = i), + 5123 === h || 5122 === h + ? (o *= 2) + : (5125 !== h && 5124 !== h) || + (o *= 4))), + a(f, e, r, n, i, o, h); + } + else + l(), + (f.primType = 4), + (f.vertCount = 0), + (f.type = 5121); + return s; + } + var l = r.create(null, 34963, !0), + f = new i(l._buffer); + return ( + n.elementsCount++, + s(t), + (s._reglType = "elements"), + (s._elements = f), + (s.subdata = function (t, e) { + return l.subdata(t, e), s; + }), + (s.destroy = function () { + o(f); + }), + s + ); + }, + createStream: function (t) { + var e = f.pop(); + return ( + e || + (e = new i( + r.create(null, 34963, !0, !1)._buffer, + )), + a(e, t, 35040, -1, -1, 0, 0), + e + ); + }, + destroyStream: function (t) { + f.push(t); + }, + getElements: function (t) { + return "function" == typeof t && + t._elements instanceof i + ? t._elements + : null; + }, + clear: function () { + Q(s).forEach(o); + }, + }; + } + function y(t) { + for ( + var e = J.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 { + lt[0] = t[r]; + var n = ((a = ut[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) || $(t); + } + function x(t) { + return "[object " + t + "]"; + } + function b(t) { + return ( + Array.isArray(t) && + (0 === t.length || "number" == typeof t[0]) + ); + } + function _(t) { + return !( + !Array.isArray(t) || + 0 === t.length || + !m(t[0]) + ); + } + function w(t) { + return Object.prototype.toString.call(t); + } + function T(t) { + if (!t) return !1; + var e = w(t); + return 0 <= xt.indexOf(e) || b(t) || _(t) || u(t); + } + function k(t, e) { + 36193 === t.type + ? ((t.data = y(e)), J.freeType(e)) + : (t.data = e); + } + function A(t, e, r, n, i, a) { + if ( + ((t = void 0 !== _t[t] ? _t[t] : ht[t] * bt[e]), + a && (t *= 6), + i) + ) { + for (n = 0; 1 <= r; ) (n += t * r * r), (r /= 2); + return n; + } + return t * r * n; + } + function M(t, e, r, n, i, a, o) { + function s() { + (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 l(t, e) { + (t.internalformat = e.internalformat), + (t.format = e.format), + (t.type = e.type), + (t.compressed = e.compressed), + (t.premultiplyAlpha = e.premultiplyAlpha), + (t.flipY = e.flipY), + (t.unpackAlignment = e.unpackAlignment), + (t.colorSpace = e.colorSpace), + (t.width = e.width), + (t.height = e.height), + (t.channels = e.channels); + } + function 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 = V[e.colorSpace]), + "type" in e && (t.type = H[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 = q[r]), + (t.format = at[n]), + r in H && !("type" in e) && (t.type = H[r]), + r in Z && (t.compressed = !0), + (r = !0)), + !a && r + ? (t.channels = ht[t.format]) + : a && + !r && + t.channels !== ft[t.format] && + (t.format = t.internalformat = + ft[t.channels]); + } + } + function f(e) { + t.pixelStorei(37440, e.flipY), + t.pixelStorei(37441, e.premultiplyAlpha), + t.pixelStorei(37443, e.colorSpace), + t.pixelStorei(3317, e.unpackAlignment); + } + function h() { + s.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 ( + (T(e) + ? (r = e) + : e && + (c(t, e), + "x" in e && (t.xOffset = 0 | e.x), + "y" in e && (t.yOffset = 0 | e.y), + T(e.data) && (r = e.data)), + e.copy) + ) { + var n = i.viewportWidth, + a = i.viewportHeight; + (t.width = t.width || n - t.xOffset), + (t.height = t.height || a - t.yOffset), + (t.needsCopy = !0); + } else if (r) { + if ($(r)) + (t.channels = t.channels || 4), + (t.data = r), + "type" in e || + 5121 !== t.type || + (t.type = + 0 | + et[Object.prototype.toString.call(r)]); + else if (b(r)) { + switch ( + ((t.channels = t.channels || 4), + (a = (n = r).length), + t.type) + ) { + case 5121: + case 5123: + case 5125: + case 5126: + (a = J.allocType(t.type, a)).set(n), + (t.data = a); + break; + case 36193: + t.data = y(n); + } + (t.alignment = 1), (t.needsFree = !0); + } else if (u(r)) { + (n = r.data), + Array.isArray(n) || + 5121 !== t.type || + (t.type = + 0 | + et[Object.prototype.toString.call(n)]), + (a = r.shape); + var o, + s, + l, + f, + h = r.stride; + 3 === a.length + ? ((l = a[2]), (f = h[2])) + : (f = l = 1), + (o = a[0]), + (s = a[1]), + (a = h[0]), + (h = h[1]), + (t.alignment = 1), + (t.width = o), + (t.height = s), + (t.channels = l), + (t.format = t.internalformat = ft[l]), + (t.needsFree = !0), + (o = f), + (r = r.offset), + (l = t.width), + (f = t.height), + (s = t.channels); + for ( + var p = J.allocType( + 36193 === t.type ? 5126 : t.type, + l * f * s, + ), + d = 0, + v = 0; + v < f; + ++v + ) + for (var g = 0; g < l; ++g) + for (var x = 0; x < s; ++x) + p[d++] = n[a * g + h * v + o * x + r]; + k(t, p); + } else if ( + w(r) === pt || + w(r) === dt || + w(r) === vt + ) + w(r) === pt || w(r) === dt + ? (t.element = r) + : (t.element = r.canvas), + (t.width = t.element.width), + (t.height = t.element.height), + (t.channels = 4); + else if (w(r) === gt) + (t.element = r), + (t.width = r.width), + (t.height = r.height), + (t.channels = 4); + else if (w(r) === yt) + (t.element = r), + (t.width = r.naturalWidth), + (t.height = r.naturalHeight), + (t.channels = 4); + else if (w(r) === mt) + (t.element = r), + (t.width = r.videoWidth), + (t.height = r.videoHeight), + (t.channels = 4); + else if (_(r)) { + for ( + n = t.width || r[0].length, + a = t.height || r.length, + h = t.channels, + h = m(r[0][0]) + ? h || r[0][0].length + : h || 1, + o = tt.shape(r), + l = 1, + f = 0; + f < o.length; + ++f + ) + l *= o[f]; + (l = J.allocType( + 36193 === t.type ? 5126 : t.type, + l, + )), + tt.flatten(r, o, "", l), + k(t, l), + (t.alignment = 1), + (t.width = n), + (t.height = a), + (t.channels = h), + (t.format = t.internalformat = ft[h]), + (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, + h = e.type, + p = e.width, + d = e.height; + f(e), + s + ? t.texSubImage2D(r, o, i, a, c, h, 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, h, l); + } + function v() { + return ot.pop() || new h(); + } + function g(t) { + t.needsFree && J.freeType(t.data), + h.call(t), + ot.push(t); + } + function x() { + s.call(this), + (this.genMipmaps = !1), + (this.mipmapHint = 4352), + (this.mipmask = 0), + (this.images = Array(16)); + } + function M(t, e, r) { + var n = (t.images[0] = v()); + (t.mipmask = 1), + (n.width = t.width = e), + (n.height = t.height = r), + (n.channels = t.channels = 4); + } + function S(t, e) { + var r = null; + if (T(e)) + l((r = t.images[0] = v()), 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) + l((r = t.images[i] = v()), t), + (r.width >>= i), + (r.height >>= i), + p(r, n[i]), + (t.mipmask |= 1 << i); + else + l((r = t.images[0] = v()), t), + p(r, e), + (t.mipmask = 1); + l(t, t.images[0]); + } + function E(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, + h = o.internalformat, + p = o.format, + d = o.type, + v = o.width, + g = o.height; + f(o), + u + ? t.texImage2D(s, l, p, p, d, u) + : o.compressed + ? t.compressedTexImage2D(s, l, h, v, g, 0, c) + : o.needsCopy + ? (n(), + t.copyTexImage2D( + s, + l, + p, + o.xOffset, + o.yOffset, + v, + g, + 0, + )) + : t.texImage2D( + s, + l, + p, + v, + g, + 0, + p, + d, + c || null, + ); + } + } + function L() { + var t = st.pop() || new x(); + s.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] && g(e[r]), (e[r] = null); + st.push(t); + } + function O() { + (this.magFilter = this.minFilter = 9728), + (this.wrapT = this.wrapS = 33071), + (this.anisotropic = 1), + (this.genMipmaps = !1), + (this.mipmapHint = 4352); + } + function P(t, e) { + "min" in e && + ((t.minFilter = U[e.min]), + 0 <= ct.indexOf(t.minFilter) && + !("faces" in e) && + (t.genMipmaps = !0)), + "mag" in e && (t.magFilter = j[e.mag]); + var r = t.wrapS, + n = t.wrapT; + if ("wrap" in e) { + var i = e.wrap; + "string" == typeof i + ? (r = n = N[i]) + : Array.isArray(i) && + ((r = N[i[0]]), (n = N[i[1]])); + } else + "wrapS" in e && (r = N[e.wrapS]), + "wrapT" in e && (n = N[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 = B[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 I(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 D(e) { + s.call(this), + (this.mipmask = 0), + (this.internalformat = 6408), + (this.id = lt++), + (this.refCount = 1), + (this.target = e), + (this.texture = t.createTexture()), + (this.unit = -1), + (this.bindCount = 0), + (this.texInfo = new O()), + o.profile && (this.stats = { size: 0 }); + } + function z(e) { + t.activeTexture(33984), + t.bindTexture(e.target, e.texture); + } + function R() { + var e = bt[0]; + e + ? t.bindTexture(e.target, e.texture) + : t.bindTexture(3553, null); + } + function F(e) { + var r = e.texture, + n = e.unit, + i = e.target; + 0 <= n && + (t.activeTexture(33984 + n), + t.bindTexture(i, null), + (bt[n] = null)), + t.deleteTexture(r), + (e.texture = null), + (e.params = null), + (e.pixels = null), + (e.refCount = 0), + delete ut[e.id], + a.textureCount--; + } + var B = { + "don't care": 4352, + "dont care": 4352, + nice: 4354, + fast: 4353, + }, + N = { repeat: 10497, clamp: 33071, mirror: 33648 }, + j = { nearest: 9728, linear: 9729 }, + U = G( + { + mipmap: 9987, + "nearest mipmap nearest": 9984, + "linear mipmap nearest": 9985, + "nearest mipmap linear": 9986, + "linear mipmap linear": 9987, + }, + j, + ), + V = { none: 0, browser: 37444 }, + H = { + uint8: 5121, + rgba4: 32819, + rgb565: 33635, + "rgb5 a1": 32820, + }, + q = { + alpha: 6406, + luminance: 6409, + "luminance alpha": 6410, + rgb: 6407, + rgba: 6408, + rgba4: 32854, + "rgb5 a1": 32855, + rgb565: 36194, + }, + Z = {}; + e.ext_srgb && ((q.srgb = 35904), (q.srgba = 35906)), + e.oes_texture_float && (H.float32 = H.float = 5126), + e.oes_texture_half_float && + (H.float16 = H["half float"] = 36193), + e.webgl_depth_texture && + (G(q, { depth: 6402, "depth stencil": 34041 }), + G(H, { + uint16: 5123, + uint32: 5125, + "depth stencil": 34042, + })), + e.webgl_compressed_texture_s3tc && + G(Z, { + "rgb s3tc dxt1": 33776, + "rgba s3tc dxt1": 33777, + "rgba s3tc dxt3": 33778, + "rgba s3tc dxt5": 33779, + }), + e.webgl_compressed_texture_atc && + G(Z, { + "rgb atc": 35986, + "rgba atc explicit alpha": 35987, + "rgba atc interpolated alpha": 34798, + }), + e.webgl_compressed_texture_pvrtc && + G(Z, { + "rgb pvrtc 4bppv1": 35840, + "rgb pvrtc 2bppv1": 35841, + "rgba pvrtc 4bppv1": 35842, + "rgba pvrtc 2bppv1": 35843, + }), + e.webgl_compressed_texture_etc1 && + (Z["rgb etc1"] = 36196); + var W = Array.prototype.slice.call( + t.getParameter(34467), + ); + Object.keys(Z).forEach(function (t) { + var e = Z[t]; + 0 <= W.indexOf(e) && (q[t] = e); + }); + var Y = Object.keys(q); + r.textureFormats = Y; + var X = []; + Object.keys(q).forEach(function (t) { + X[q[t]] = t; + }); + var K = []; + Object.keys(H).forEach(function (t) { + K[H[t]] = t; + }); + var rt = []; + Object.keys(j).forEach(function (t) { + rt[j[t]] = t; + }); + var nt = []; + Object.keys(U).forEach(function (t) { + nt[U[t]] = t; + }); + var it = []; + Object.keys(N).forEach(function (t) { + it[N[t]] = t; + }); + var at = Y.reduce(function (t, r) { + var n = q[r]; + return ( + 6409 === n || + 6406 === n || + 6409 === n || + 6410 === n || + 6402 === n || + 34041 === n || + (e.ext_srgb && (35904 === n || 35906 === n)) + ? (t[n] = n) + : 32855 === n || 0 <= r.indexOf("rgba") + ? (t[n] = 6408) + : (t[n] = 6407), + t + ); + }, {}), + ot = [], + st = [], + lt = 0, + ut = {}, + xt = r.maxTextureUnits, + bt = Array(xt).map(function () { + return null; + }); + return ( + G(D.prototype, { + bind: function () { + this.bindCount += 1; + var e = this.unit; + if (0 > e) { + for (var r = 0; r < xt; ++r) { + var n = bt[r]; + if (n) { + if (0 < n.bindCount) continue; + n.unit = -1; + } + (bt[r] = this), (e = r); + break; + } + o.profile && + a.maxTextureUnits < e + 1 && + (a.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 && F(this); + }, + }), + o.profile && + (a.getTotalTextureSize = function () { + var t = 0; + return ( + Object.keys(ut).forEach(function (e) { + t += ut[e].stats.size; + }), + t + ); + }), + { + create2D: function (e, r) { + function n(t, e) { + var r = i.texInfo; + O.call(r); + var a = L(); + return ( + "number" == typeof t + ? M( + a, + 0 | t, + "number" == typeof e ? 0 | e : 0 | t, + ) + : t + ? (P(r, t), S(a, t)) + : M(a, 1, 1), + r.genMipmaps && + (a.mipmask = (a.width << 1) - 1), + (i.mipmask = a.mipmask), + l(i, a), + (i.internalformat = a.internalformat), + (n.width = a.width), + (n.height = a.height), + z(i), + E(a, 3553), + I(r, 3553), + R(), + C(a), + o.profile && + (i.stats.size = A( + i.internalformat, + i.type, + a.width, + a.height, + r.genMipmaps, + !1, + )), + (n.format = X[i.internalformat]), + (n.type = K[i.type]), + (n.mag = rt[r.magFilter]), + (n.min = nt[r.minFilter]), + (n.wrapS = it[r.wrapS]), + (n.wrapT = it[r.wrapT]), + n + ); + } + var i = new D(3553); + return ( + (ut[i.id] = i), + a.textureCount++, + n(e, r), + (n.subimage = function (t, e, r, a) { + (e |= 0), (r |= 0), (a |= 0); + var o = v(); + return ( + l(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), + z(i), + d(o, 3553, e, r, a), + R(), + g(o), + n + ); + }), + (n.resize = function (e, r) { + var a = 0 | e, + s = 0 | r || a; + if (a === i.width && s === i.height) + return n; + (n.width = i.width = a), + (n.height = i.height = s), + z(i); + for (var l = 0; i.mipmask >> l; ++l) { + var u = a >> l, + c = s >> l; + if (!u || !c) break; + t.texImage2D( + 3553, + l, + i.format, + u, + c, + 0, + i.format, + i.type, + null, + ); + } + return ( + R(), + o.profile && + (i.stats.size = A( + i.internalformat, + i.type, + a, + s, + !1, + !1, + )), + n + ); + }), + (n._reglType = "texture2d"), + (n._texture = i), + o.profile && (n.stats = i.stats), + (n.destroy = function () { + i.decRef(); + }), + n + ); + }, + createCube: function (e, r, n, i, s, u) { + function f(t, e, r, n, i, a) { + var s, + u = h.texInfo; + for (O.call(u), s = 0; 6 > s; ++s) y[s] = L(); + if ("number" != typeof t && t) { + if ("object" == typeof t) + if (e) + S(y[0], t), + S(y[1], e), + S(y[2], r), + S(y[3], n), + S(y[4], i), + S(y[5], a); + else if ((P(u, t), c(h, t), "faces" in t)) + for (t = t.faces, s = 0; 6 > s; ++s) + l(y[s], h), S(y[s], t[s]); + else for (s = 0; 6 > s; ++s) S(y[s], t); + } else + for (t = 0 | t || 1, s = 0; 6 > s; ++s) + M(y[s], t, t); + for ( + l(h, y[0]), + h.mipmask = u.genMipmaps + ? (y[0].width << 1) - 1 + : y[0].mipmask, + h.internalformat = y[0].internalformat, + f.width = y[0].width, + f.height = y[0].height, + z(h), + s = 0; + 6 > s; + ++s + ) + E(y[s], 34069 + s); + for ( + I(u, 34067), + R(), + o.profile && + (h.stats.size = A( + h.internalformat, + h.type, + f.width, + f.height, + u.genMipmaps, + !0, + )), + f.format = X[h.internalformat], + f.type = K[h.type], + f.mag = rt[u.magFilter], + f.min = nt[u.minFilter], + f.wrapS = it[u.wrapS], + f.wrapT = it[u.wrapT], + s = 0; + 6 > s; + ++s + ) + C(y[s]); + return f; + } + var h = new D(34067); + (ut[h.id] = h), a.cubeCount++; + var y = Array(6); + return ( + f(e, r, n, i, s, u), + (f.subimage = function (t, e, r, n, i) { + (r |= 0), (n |= 0), (i |= 0); + var a = v(); + return ( + l(a, h), + (a.width = 0), + (a.height = 0), + p(a, e), + (a.width = a.width || (h.width >> i) - r), + (a.height = + a.height || (h.height >> i) - n), + z(h), + d(a, 34069 + t, r, n, i), + R(), + g(a), + f + ); + }), + (f.resize = function (e) { + if ((e |= 0) !== h.width) { + (f.width = h.width = e), + (f.height = h.height = e), + z(h); + for (var r = 0; 6 > r; ++r) + for (var n = 0; h.mipmask >> n; ++n) + t.texImage2D( + 34069 + r, + n, + h.format, + e >> n, + e >> n, + 0, + h.format, + h.type, + null, + ); + return ( + R(), + o.profile && + (h.stats.size = A( + h.internalformat, + h.type, + f.width, + f.height, + !1, + !0, + )), + f + ); + } + }), + (f._reglType = "textureCube"), + (f._texture = h), + o.profile && (f.stats = h.stats), + (f.destroy = function () { + h.decRef(); + }), + f + ); + }, + clear: function () { + for (var e = 0; e < xt; ++e) + t.activeTexture(33984 + e), + t.bindTexture(3553, null), + (bt[e] = null); + Q(ut).forEach(F), + (a.cubeCount = 0), + (a.textureCount = 0); + }, + getTexture: function (t) { + return null; + }, + restore: function () { + for (var e = 0; e < xt; ++e) { + var r = bt[e]; + r && + ((r.bindCount = 0), + (r.unit = -1), + (bt[e] = null)); + } + Q(ut).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, + ); + I(e.texInfo, e.target); + }); + }, + refresh: function () { + for (var e = 0; e < xt; ++e) { + var r = bt[e]; + r && + ((r.bindCount = 0), + (r.unit = -1), + (bt[e] = null)), + t.activeTexture(33984 + e), + t.bindTexture(3553, null), + t.bindTexture(34067, null); + } + }, + } + ); + } + function S(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) || + "textureCube" === t + ? (r = i) + : "renderbuffer" === t && + ((n = i), (e = 36161)), + new o(e, r, n) + ); + } + function f(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 h(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), + (t.width = e), + (t.height = r)); + } + function d() { + (this.id = T++), + (k[this.id] = this), + (this.framebuffer = t.createFramebuffer()), + (this.height = this.width = 0), + (this.colorAttachments = []), + (this.depthStencilAttachment = + this.stencilAttachment = + this.depthAttachment = + null); + } + function v(t) { + t.colorAttachments.forEach(s), + s(t.depthAttachment), + s(t.stencilAttachment), + s(t.depthStencilAttachment); + } + function g(e) { + t.deleteFramebuffer(e.framebuffer), + (e.framebuffer = null), + a.framebufferCount--, + delete k[e.id]; + } + function y(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.isContextLost(), + t.bindFramebuffer( + 36160, + x.next ? x.next.framebuffer : null, + ), + (x.cur = x.next), + t.getError(); + } + function m(t, e) { + function r(t, e) { + var i, + a = 0, + o = 0, + s = !0, + u = !0; + i = null; + var p = !0, + d = "rgba", + g = "uint8", + m = 1, + x = null, + w = null, + T = null, + k = !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 && + (m = 0 | t.colorCount), + "colorTexture" in t && + ((p = !!t.colorTexture), (d = "rgba4")), + "colorType" in t && + ((g = t.colorType), !p) && + ("half float" === g || "float16" === g + ? (d = "rgba16f") + : ("float" !== g && "float32" !== g) || + (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) && + (k = !( + !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) + : ((T = t.depthStencil), (u = s = !1)))) + : (a = o = 1); + var A = null, + M = null, + S = null, + E = null; + if (Array.isArray(i)) A = i.map(c); + else if (i) A = [c(i)]; + else + for (A = Array(m), i = 0; i < m; ++i) + A[i] = f(a, o, p, d, g); + for ( + a = a || A[0].width, + o = o || A[0].height, + x + ? (M = c(x)) + : s && + !u && + (M = f(a, o, k, "depth", "uint32")), + w + ? (S = c(w)) + : u && + !s && + (S = f(a, o, !1, "stencil", "uint8")), + T + ? (E = c(T)) + : !x && + !w && + u && + s && + (E = f( + a, + o, + k, + "depth stencil", + "depth stencil", + )), + s = null, + i = 0; + i < A.length; + ++i + ) + l(A[i]), + A[i] && + A[i].texture && + ((u = + kt[A[i].texture._texture.format] * + At[A[i].texture._texture.type]), + null === s && (s = u)); + return ( + l(M), + l(S), + l(E), + v(n), + (n.width = a), + (n.height = o), + (n.colorAttachments = A), + (n.depthAttachment = M), + (n.stencilAttachment = S), + (n.depthStencilAttachment = E), + (r.color = A.map(h)), + (r.depth = h(M)), + (r.stencil = h(S)), + (r.depthStencil = h(E)), + (r.width = n.width), + (r.height = n.height), + y(n), + r + ); + } + var n = new d(); + return ( + a.framebufferCount++, + r(t, e), + G(r, { + resize: function (t, e) { + var i = Math.max(0 | t, 1), + a = Math.max(0 | e || i, 1); + 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), + y(n), + r + ); + }, + _reglType: "framebuffer", + _framebuffer: n, + destroy: function () { + g(n), v(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 T = 0, + k = {}; + return G(x, { + getFramebuffer: function (t) { + return "function" == typeof t && + "framebuffer" === t._reglType && + (t = t._framebuffer) instanceof d + ? t + : null; + }, + create: m, + 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] = m(a)); + } + return G(e, { width: o, height: o, color: t }); + } + var r = Array(6); + return ( + e(t), + G(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 () { + Q(k).forEach(g); + }, + restore: function () { + (x.cur = null), + (x.next = null), + (x.dirty = !0), + Q(k).forEach(function (e) { + (e.framebuffer = t.createFramebuffer()), y(e); + }); + }, + }); + } + function E() { + (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 L(t, e, r, n, i, a, o) { + function s() { + (this.id = ++f), + (this.attributes = []), + (this.elements = null), + (this.ownsElements = !1), + (this.offset = this.count = 0), + (this.instances = -1), + (this.primitive = 4); + var t = e.oes_vertex_array_object; + (this.vao = t ? t.createVertexArrayOES() : null), + (h[this.id] = this), + (this.buffers = []); + } + var l = r.maxAttributes, + c = Array(l); + for (r = 0; r < l; ++r) c[r] = new E(); + var f = 0, + h = {}, + p = { + Record: E, + scope: {}, + state: c, + currentVAO: null, + targetVAO: null, + restore: e.oes_vertex_array_object + ? function () { + e.oes_vertex_array_object && + Q(h).forEach(function (t) { + t.refresh(); + }); + } + : function () {}, + createVAO: function (t) { + function e(t) { + var n; + Array.isArray(t) + ? ((n = t), + r.elements && + r.ownsElements && + r.elements.destroy(), + (r.elements = null), + (r.ownsElements = !1), + (r.offset = 0), + (r.count = 0), + (r.instances = -1), + (r.primitive = 4)) + : (t.elements + ? ((n = t.elements), + r.ownsElements + ? ("function" == typeof n && + "elements" === n._reglType + ? r.elements.destroy() + : r.elements(n), + (r.ownsElements = !1)) + : a.getElements(t.elements) + ? ((r.elements = t.elements), + (r.ownsElements = !1)) + : ((r.elements = a.create( + t.elements, + )), + (r.ownsElements = !0))) + : ((r.elements = null), + (r.ownsElements = !1)), + (n = t.attributes), + (r.offset = 0), + (r.count = -1), + (r.instances = -1), + (r.primitive = 4), + r.elements && + ((r.count = + r.elements._elements.vertCount), + (r.primitive = + r.elements._elements.primType)), + "offset" in t && + (r.offset = 0 | t.offset), + "count" in t && (r.count = 0 | t.count), + "instances" in t && + (r.instances = 0 | t.instances), + "primitive" in t && + (r.primitive = st[t.primitive])), + (t = {}); + var o = r.attributes; + o.length = n.length; + for (var s = 0; s < n.length; ++s) { + var l, + c = n[s], + f = (o[s] = new E()), + h = c.data || c; + Array.isArray(h) || $(h) || u(h) + ? (r.buffers[s] && + ((l = r.buffers[s]), + $(h) && + l._buffer.byteLength >= h.byteLength + ? l.subdata(h) + : (l.destroy(), + (r.buffers[s] = null))), + r.buffers[s] || + (l = r.buffers[s] = + i.create(c, 34962, !1, !0)), + (f.buffer = i.getBuffer(l)), + (f.size = 0 | f.buffer.dimension), + (f.normalized = !1), + (f.type = f.buffer.dtype), + (f.offset = 0), + (f.stride = 0), + (f.divisor = 0), + (f.state = 1), + (t[s] = 1)) + : i.getBuffer(c) + ? ((f.buffer = i.getBuffer(c)), + (f.size = 0 | f.buffer.dimension), + (f.normalized = !1), + (f.type = f.buffer.dtype), + (f.offset = 0), + (f.stride = 0), + (f.divisor = 0), + (f.state = 1)) + : i.getBuffer(c.buffer) + ? ((f.buffer = i.getBuffer(c.buffer)), + (f.size = + 0 | (+c.size || f.buffer.dimension)), + (f.normalized = !!c.normalized || !1), + (f.type = + "type" in c + ? rt[c.type] + : f.buffer.dtype), + (f.offset = 0 | (c.offset || 0)), + (f.stride = 0 | (c.stride || 0)), + (f.divisor = 0 | (c.divisor || 0)), + (f.state = 1)) + : "x" in c && + ((f.x = +c.x || 0), + (f.y = +c.y || 0), + (f.z = +c.z || 0), + (f.w = +c.w || 0), + (f.state = 2)); + } + for (l = 0; l < r.buffers.length; ++l) + !t[l] && + r.buffers[l] && + (r.buffers[l].destroy(), + (r.buffers[l] = null)); + return r.refresh(), e; + } + var r = new s(); + return ( + (n.vaoCount += 1), + (e.destroy = function () { + for (var t = 0; t < r.buffers.length; ++t) + r.buffers[t] && r.buffers[t].destroy(); + (r.buffers.length = 0), + r.ownsElements && + (r.elements.destroy(), + (r.elements = null), + (r.ownsElements = !1)), + r.destroy(); + }), + (e._vao = r), + (e._reglType = "vao"), + e(t) + ); + }, + getVAO: function (t) { + return "function" == typeof t && t._vao + ? t._vao + : null; + }, + destroyBuffer: function (e) { + for (var r = 0; r < c.length; ++r) { + var n = c[r]; + n.buffer === e && + (t.disableVertexAttribArray(r), + (n.buffer = null)); + } + }, + setVAO: e.oes_vertex_array_object + ? function (t) { + if (t !== p.currentVAO) { + var r = e.oes_vertex_array_object; + t + ? r.bindVertexArrayOES(t.vao) + : r.bindVertexArrayOES(null), + (p.currentVAO = t); + } + } + : function (r) { + if (r !== p.currentVAO) { + if (r) r.bindAttrs(); + else { + for ( + var n = e.angle_instanced_arrays, + i = 0; + i < c.length; + ++i + ) { + var a = c[i]; + a.buffer + ? (t.enableVertexAttribArray(i), + a.buffer.bind(), + t.vertexAttribPointer( + i, + a.size, + a.type, + a.normalized, + a.stride, + a.offfset, + ), + n && + a.divisor && + n.vertexAttribDivisorANGLE( + i, + a.divisor, + )) + : (t.disableVertexAttribArray(i), + t.vertexAttrib4f( + i, + a.x, + a.y, + a.z, + a.w, + )); + } + o.elements + ? t.bindBuffer( + 34963, + o.elements.buffer.buffer, + ) + : t.bindBuffer(34963, null); + } + p.currentVAO = r; + } + }, + clear: e.oes_vertex_array_object + ? function () { + Q(h).forEach(function (t) { + t.destroy(); + }); + } + : function () {}, + }; + return ( + (s.prototype.bindAttrs = function () { + for ( + var r = e.angle_instanced_arrays, + n = this.attributes, + i = 0; + i < n.length; + ++i + ) { + var o = n[i]; + o.buffer + ? (t.enableVertexAttribArray(i), + t.bindBuffer(34962, o.buffer.buffer), + t.vertexAttribPointer( + i, + o.size, + o.type, + o.normalized, + o.stride, + o.offset, + ), + r && + o.divisor && + r.vertexAttribDivisorANGLE(i, o.divisor)) + : (t.disableVertexAttribArray(i), + t.vertexAttrib4f(i, o.x, o.y, o.z, o.w)); + } + for (r = n.length; r < l; ++r) + t.disableVertexAttribArray(r); + (r = a.getElements(this.elements)) + ? t.bindBuffer(34963, r.buffer.buffer) + : t.bindBuffer(34963, null); + }), + (s.prototype.refresh = function () { + var t = e.oes_vertex_array_object; + t && + (t.bindVertexArrayOES(this.vao), + this.bindAttrs(), + (p.currentVAO = null), + t.bindVertexArrayOES(null)); + }), + (s.prototype.destroy = function () { + if (this.vao) { + var t = e.oes_vertex_array_object; + this === p.currentVAO && + ((p.currentVAO = null), + t.bindVertexArrayOES(null)), + t.deleteVertexArrayOES(this.vao), + (this.vao = null); + } + this.ownsElements && + (this.elements.destroy(), + (this.elements = null), + (this.ownsElements = !1)), + h[this.id] && (delete h[this.id], --n.vaoCount); + }), + p + ); + } + function C(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 = []), + (this.refCount = 1), + n.profile && + (this.stats = { + uniformsCount: 0, + attributesCount: 0, + }); + } + function l(r, s, l) { + var u; + u = o(35632, r.fragId); + var c = o(35633, r.vertId); + if ( + ((s = r.program = t.createProgram()), + t.attachShader(s, u), + t.attachShader(s, c), + l) + ) + for (u = 0; u < l.length; ++u) + (c = l[u]), t.bindAttribLocation(s, c[0], c[1]); + t.linkProgram(s), + (c = t.getProgramParameter(s, 35718)), + n.profile && (r.stats.uniformsCount = c); + var f = r.uniforms; + for (u = 0; u < c; ++u) + if ((l = t.getActiveUniform(s, u))) + if (1 < l.size) + for (var h = 0; h < l.size; ++h) { + var p = l.name.replace( + "[0]", + "[" + h + "]", + ); + a( + f, + new i( + p, + e.id(p), + t.getUniformLocation(s, p), + l, + ), + ); + } + else + a( + f, + new i( + l.name, + e.id(l.name), + t.getUniformLocation(s, l.name), + l, + ), + ); + for ( + c = t.getProgramParameter(s, 35721), + n.profile && (r.stats.attributesCount = c), + r = r.attributes, + u = 0; + u < c; + ++u + ) + (l = t.getActiveAttrib(s, u)) && + a( + r, + new i( + l.name, + e.id(l.name), + t.getAttribLocation(s, l.name), + l, + ), + ); + } + var u = {}, + c = {}, + f = {}, + h = [], + p = 0; + return ( + n.profile && + ((r.getMaxUniformsCount = function () { + var t = 0; + return ( + h.forEach(function (e) { + e.stats.uniformsCount > t && + (t = e.stats.uniformsCount); + }), + t + ); + }), + (r.getMaxAttributesCount = function () { + var t = 0; + return ( + h.forEach(function (e) { + e.stats.attributesCount > t && + (t = e.stats.attributesCount); + }), + t + ); + })), + { + clear: function () { + var e = t.deleteShader.bind(t); + Q(u).forEach(e), + (u = {}), + Q(c).forEach(e), + (c = {}), + h.forEach(function (e) { + t.deleteProgram(e.program); + }), + (h.length = 0), + (f = {}), + (r.shaderCount = 0); + }, + program: function (e, n, i, a) { + var o = f[n]; + o || (o = f[n] = {}); + var p = o[e]; + if (p && (p.refCount++, !a)) return p; + var d = new s(n, e); + return ( + r.shaderCount++, + l(d, i, a), + p || (o[e] = d), + h.push(d), + G(d, { + destroy: function () { + if ((d.refCount--, 0 >= d.refCount)) { + t.deleteProgram(d.program); + var e = h.indexOf(d); + h.splice(e, 1), r.shaderCount--; + } + 0 >= o[d.vertId].refCount && + (t.deleteShader(c[d.vertId]), + delete c[d.vertId], + delete f[d.fragId][d.vertId]), + Object.keys(f[d.fragId]).length || + (t.deleteShader(u[d.fragId]), + delete u[d.fragId], + delete f[d.fragId]); + }, + }) + ); + }, + restore: function () { + (u = {}), (c = {}); + for (var t = 0; t < h.length; ++t) + l( + h[t], + null, + h[t].attributes.map(function (t) { + return [t.location, t.name]; + }), + ); + }, + shader: o, + frag: -1, + vert: -1, + } + ); + } + function O(t, e, r, n, i, a, o) { + function s(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 ( + $(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 = s(t); + }, + ), + r + ); + })(t) + : s(t); + }; + } + function P(t, e) { + return (t >>> e) | (t << (32 - e)); + } + function I(t, e) { + var r = (65535 & t) + (65535 & e); + return ( + (((t >> 16) + (e >> 16) + (r >> 16)) << 16) | + (65535 & r) + ); + } + function D(t) { + return Array.prototype.slice.call(t); + } + function z(t) { + return D(t).join(""); + } + function R(t) { + function e() { + var t = [], + e = []; + return G( + function () { + t.push.apply(t, D(arguments)); + }, + { + def: function () { + var r = "v" + i++; + return ( + e.push(r), + 0 < arguments.length && + (t.push(r, "="), + t.push.apply(t, D(arguments)), + t.push(";")), + r + ); + }, + toString: function () { + return z([ + 0 < e.length + ? "var " + e.join(",") + ";" + : "", + z(t), + ]); + }, + }, + ); + } + function r() { + function t(t, e) { + n(t, e, "=", r.def(t, e), ";"); + } + var r = e(), + n = e(), + i = r.toString, + a = n.toString; + return G( + function () { + r.apply(r, D(arguments)); + }, + { + def: r.def, + entry: r, + exit: n, + save: t, + set: function (e, n, i) { + t(e, n), r(e, n, "=", i, ";"); + }, + toString: function () { + return i() + a(); + }, + }, + ); + } + var n = t && t.cache, + i = 0, + a = [], + o = [], + s = [], + l = e(), + u = {}; + return { + global: l, + link: function (t, e) { + var r = e && e.stable; + if (!r) + for (var n = 0; n < o.length; ++n) + if (o[n] === t && !s[n]) return a[n]; + return ( + (n = "g" + i++), + a.push(n), + o.push(t), + s.push(r), + n + ); + }, + block: e, + proc: function (t, e) { + function n() { + var t = "a" + i.length; + return i.push(t), t; + } + var i = []; + e = e || 0; + for (var a = 0; a < e; ++a) n(); + var o = (a = r()).toString; + return (u[t] = G(a, { + arg: n, + toString: function () { + return z([ + "function(", + i.join(), + "){", + o(), + "}", + ]); + }, + })); + }, + scope: r, + cond: function () { + var t = z(arguments), + e = r(), + n = r(), + i = e.toString, + a = n.toString; + return G(e, { + then: function () { + return e.apply(e, D(arguments)), this; + }, + else: function () { + return n.apply(n, D(arguments)), this; + }, + toString: function () { + var e = a(); + return ( + e && (e = "else{" + e + "}"), + z(["if(", t, "){", i(), "}", e]) + ); + }, + }); + }, + compile: function () { + var t = ['"use strict";', l, "return {"]; + Object.keys(u).forEach(function (e) { + t.push('"', e, '":', u[e].toString(), ","); + }), + t.push("}"); + var e, + r = z(t) + .replace(/;/g, ";\n") + .replace(/}/g, "}\n") + .replace(/{/g, "{\n"); + return n && + ((e = (function (t) { + for (var e, r = "", n = 0; n < t.length; n++) + (e = t.charCodeAt(n)), + (r += + "0123456789abcdef".charAt( + (e >>> 4) & 15, + ) + "0123456789abcdef".charAt(15 & e)); + return r; + })( + (function (t) { + for ( + var e = Array(t.length >> 2), r = 0; + r < e.length; + r++ + ) + e[r] = 0; + for (r = 0; r < 8 * t.length; r += 8) + e[r >> 5] |= + (255 & t.charCodeAt(r / 8)) << + (24 - (r % 32)); + var n, + i, + a, + o, + s, + l, + u, + c, + f, + h, + p, + d = 8 * t.length; + for ( + t = [ + 1779033703, -1150833019, 1013904242, + -1521486534, 1359893119, -1694144372, + 528734635, 1541459225, + ], + r = Array(64), + e[d >> 5] |= 128 << (24 - (d % 32)), + e[15 + (((d + 64) >> 9) << 4)] = d, + c = 0; + c < e.length; + c += 16 + ) { + for ( + d = t[0], + n = t[1], + i = t[2], + a = t[3], + o = t[4], + s = t[5], + l = t[6], + u = t[7], + f = 0; + 64 > f; + f++ + ) { + var v; + 16 > f + ? (r[f] = e[f + c]) + : ((h = f), + (p = I( + (p = + P((p = r[f - 2]), 17) ^ + P(p, 19) ^ + (p >>> 10)), + r[f - 7], + )), + (v = + P((v = r[f - 15]), 7) ^ + P(v, 18) ^ + (v >>> 3)), + (r[h] = I(I(p, v), r[f - 16]))), + (h = I( + I( + I( + I( + u, + (h = + P((h = o), 6) ^ + P(h, 11) ^ + P(h, 25)), + ), + (o & s) ^ (~o & l), + ), + Mt[f], + ), + r[f], + )), + (p = I( + (u = + P((u = d), 2) ^ + P(u, 13) ^ + P(u, 22)), + (d & n) ^ (d & i) ^ (n & i), + )), + (u = l), + (l = s), + (s = o), + (o = I(a, h)), + (a = i), + (i = n), + (n = d), + (d = I(h, p)); + } + (t[0] = I(d, t[0])), + (t[1] = I(n, t[1])), + (t[2] = I(i, t[2])), + (t[3] = I(a, t[3])), + (t[4] = I(o, t[4])), + (t[5] = I(s, t[5])), + (t[6] = I(l, t[6])), + (t[7] = I(u, t[7])); + } + for ( + e = "", r = 0; + r < 32 * t.length; + r += 8 + ) + e += String.fromCharCode( + (t[r >> 5] >>> (24 - (r % 32))) & 255, + ); + return e; + })( + (function (t) { + for ( + var e, r, n = "", i = -1; + ++i < t.length; + + ) + (e = t.charCodeAt(i)), + (r = + i + 1 < t.length + ? t.charCodeAt(i + 1) + : 0), + 55296 <= e && + 56319 >= e && + 56320 <= r && + 57343 >= r && + ((e = + 65536 + + ((1023 & e) << 10) + + (1023 & r)), + i++), + 127 >= e + ? (n += String.fromCharCode(e)) + : 2047 >= e + ? (n += String.fromCharCode( + 192 | ((e >>> 6) & 31), + 128 | (63 & e), + )) + : 65535 >= e + ? (n += String.fromCharCode( + 224 | ((e >>> 12) & 15), + 128 | ((e >>> 6) & 63), + 128 | (63 & e), + )) + : 2097151 >= e && + (n += String.fromCharCode( + 240 | ((e >>> 18) & 7), + 128 | ((e >>> 12) & 63), + 128 | ((e >>> 6) & 63), + 128 | (63 & e), + )); + return n; + })(r), + ), + )), + n[e]) + ? n[e].apply(null, o) + : ((r = Function.apply(null, a.concat(r))), + n && (n[e] = r), + r.apply(null, o)); + }, + }; + } + function F(t) { + return Array.isArray(t) || $(t) || u(t); + } + function B(t) { + return t.sort(function (t, e) { + return "viewport" === t + ? -1 + : "viewport" === e + ? 1 + : t < e + ? -1 + : 1; + }); + } + function N(t, e, r, n) { + (this.thisDep = t), + (this.contextDep = e), + (this.propDep = r), + (this.append = n); + } + function j(t) { + return t && !(t.thisDep || t.contextDep || t.propDep); + } + function U(t) { + return new N(!1, !1, !1, t); + } + function V(t, e) { + var r = t.type; + if (0 === r) + return new N( + !0, + 1 <= (r = t.data.length), + 2 <= r, + e, + ); + if (4 === r) + return new N( + (r = t.data).thisDep, + r.contextDep, + r.propDep, + e, + ); + if (5 === r) return new N(!1, !1, !1, e); + if (6 === r) { + for ( + var n = (r = !1), i = !1, a = 0; + a < t.data.length; + ++a + ) { + var o = t.data[a]; + 1 === o.type + ? (i = !0) + : 2 === o.type + ? (n = !0) + : 3 === o.type + ? (r = !0) + : 0 === o.type + ? ((r = !0), + 1 <= (o = o.data) && (n = !0), + 2 <= o && (i = !0)) + : 4 === o.type && + ((r = r || o.data.thisDep), + (n = n || o.data.contextDep), + (i = i || o.data.propDep)); + } + return new N(r, n, i, e); + } + return new N(3 === r, 2 === r, 1 === r, e); + } + function H( + t, + e, + r, + n, + i, + a, + s, + l, + u, + c, + f, + h, + p, + d, + v, + g, + ) { + function y(t) { + return t.replace(".", "_"); + } + function x(t, e, r) { + var n = y(t); + at.push(t), (it[n] = nt[n] = !!r), (ot[n] = e); + } + function b(t, e, r) { + var n = y(t); + at.push(t), + Array.isArray(r) + ? ((nt[n] = r.slice()), (it[n] = r.slice())) + : (nt[n] = it[n] = r), + (lt[n] = e); + } + function _() { + var t = R({ cache: v }), + r = t.link, + n = t.global; + (t.id = ft++), (t.batchId = "0"); + var i = r(ut), + a = (t.shared = { props: "a0" }); + Object.keys(ut).forEach(function (t) { + a[t] = n.def(i, ".", t); + }); + var o = (t.next = {}), + s = (t.current = {}); + Object.keys(lt).forEach(function (t) { + Array.isArray(nt[t]) && + ((o[t] = n.def(a.next, ".", t)), + (s[t] = n.def(a.current, ".", t))); + }); + var l = (t.constants = {}); + Object.keys(ct).forEach(function (t) { + l[t] = n.def(JSON.stringify(ct[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; + case 5: + return n.data.toString(); + case 6: + return n.data.map(function (r) { + return t.invoke(e, r); + }); + } + }), + (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 K()), (u[t] = r(n)) + ); + }), + t + ); + } + function w(t, e) { + var r = t.static, + n = t.dynamic; + if ("framebuffer" in r) { + var i = r.framebuffer; + return i + ? ((i = l.getFramebuffer(i)), + U(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 + ); + })) + : U(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 V(a, function (t, e) { + var r = t.invoke(e, a), + n = t.shared, + i = n.framebuffer; + return ( + (r = e.def(i, ".getFramebuffer(", r, ")")), + 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 T(t, r, n) { + function i(t) { + if (t in a) { + var r = e.id(a[t]); + return ( + ((t = U(function () { + return r; + })).id = r), + t + ); + } + if (t in o) { + var n = o[t]; + return V(n, function (t, e) { + var r = t.invoke(e, n); + return e.def( + t.shared.strings, + ".id(", + r, + ")", + ); + }); + } + return null; + } + var a = t.static, + o = t.dynamic, + s = i("frag"), + l = i("vert"), + u = null; + return ( + j(s) && j(l) + ? ((u = f.program(l.id, s.id, null, n)), + (t = U(function (t, e) { + return t.link(u); + }))) + : (t = new N( + (s && s.thisDep) || (l && l.thisDep), + (s && s.contextDep) || (l && l.contextDep), + (s && s.propDep) || (l && l.propDep), + function (t, e) { + var r, + n, + i = t.shared.shader; + return ( + (r = s + ? s.append(t, e) + : e.def(i, ".", "frag")), + (n = l + ? l.append(t, e) + : e.def(i, ".", "vert")), + e.def( + i + ".program(" + n + "," + r + ")", + ) + ); + }, + )), + { frag: s, vert: l, progVar: t, program: u } + ); + } + function k(t, e) { + function r(t, e) { + if (t in n) { + var r = 0 | n[t]; + return ( + e ? (o.offset = r) : (o.instances = r), + U(function (t, n) { + return e && (t.OFFSET = r), r; + }) + ); + } + if (t in i) { + var a = i[t]; + return V(a, function (t, r) { + var n = t.invoke(r, a); + return e && (t.OFFSET = n), n; + }); + } + if (e) { + if (u) + return U(function (t, e) { + return (t.OFFSET = 0); + }); + if (s) + return new N( + l.thisDep, + l.contextDep, + l.propDep, + function (t, e) { + return e.def( + t.shared.vao + + ".currentVAO?" + + t.shared.vao + + ".currentVAO.offset:0", + ); + }, + ); + } else if (s) + return new N( + l.thisDep, + l.contextDep, + l.propDep, + function (t, e) { + return e.def( + t.shared.vao + + ".currentVAO?" + + t.shared.vao + + ".currentVAO.instances:-1", + ); + }, + ); + return null; + } + var n = t.static, + i = t.dynamic, + o = {}, + s = !1, + l = (function () { + if ("vao" in n) { + var t = n.vao; + return ( + null !== t && + null === c.getVAO(t) && + (t = c.createVAO(t)), + (s = !0), + (o.vao = t), + U(function (e) { + var r = c.getVAO(t); + return r ? e.link(r) : "null"; + }) + ); + } + if ("vao" in i) { + s = !0; + var e = i.vao; + return V(e, function (t, r) { + var n = t.invoke(r, e); + return r.def( + t.shared.vao + ".getVAO(" + n + ")", + ); + }); + } + return null; + })(), + u = !1, + f = (function () { + if ("elements" in n) { + var t = n.elements; + if (((o.elements = t), F(t))) { + var e = (o.elements = a.create(t, !0)); + (t = a.getElements(e)), (u = !0); + } else + t && ((t = a.getElements(t)), (u = !0)); + return ( + (e = U(function (e, r) { + if (t) { + var n = e.link(t); + return (e.ELEMENTS = n); + } + return (e.ELEMENTS = null); + })), + (e.value = t), + e + ); + } + if ("elements" in i) { + u = !0; + var r = i.elements; + return V(r, function (t, e) { + var n = (i = t.shared).isBufferArgs, + i = i.elements, + a = t.invoke(e, r), + o = e.def("null"); + return ( + (n = e.def(n, "(", a, ")")), + (a = t + .cond(n) + .then( + o, + "=", + i, + ".createStream(", + a, + ");", + ) + .else( + o, + "=", + i, + ".getElements(", + a, + ");", + )), + e.entry(a), + e.exit( + t + .cond(n) + .then(i, ".destroyStream(", o, ");"), + ), + (t.ELEMENTS = o) + ); + }); + } + return s + ? new N( + l.thisDep, + l.contextDep, + l.propDep, + function (t, e) { + return e.def( + t.shared.vao + + ".currentVAO?" + + t.shared.elements + + ".getElements(" + + t.shared.vao + + ".currentVAO.elements):null", + ); + }, + ) + : null; + })(), + h = r("offset", !0), + p = (function () { + if ("primitive" in n) { + var t = n.primitive; + return ( + (o.primitive = t), + U(function (e, r) { + return st[t]; + }) + ); + } + if ("primitive" in i) { + var e = i.primitive; + return V(e, function (t, r) { + var n = t.constants.primTypes, + i = t.invoke(r, e); + return r.def(n, "[", i, "]"); + }); + } + return u + ? j(f) + ? f.value + ? U(function (t, e) { + return e.def(t.ELEMENTS, ".primType"); + }) + : U(function () { + return 4; + }) + : new N( + f.thisDep, + f.contextDep, + f.propDep, + function (t, e) { + var r = t.ELEMENTS; + return e.def( + r, + "?", + r, + ".primType:", + 4, + ); + }, + ) + : s + ? new N( + l.thisDep, + l.contextDep, + l.propDep, + function (t, e) { + return e.def( + t.shared.vao + + ".currentVAO?" + + t.shared.vao + + ".currentVAO.primitive:4", + ); + }, + ) + : null; + })(), + d = (function () { + if ("count" in n) { + var t = 0 | n.count; + return ( + (o.count = t), + U(function () { + return t; + }) + ); + } + if ("count" in i) { + var e = i.count; + return V(e, function (t, r) { + return t.invoke(r, e); + }); + } + return u + ? j(f) + ? f + ? h + ? new N( + h.thisDep, + h.contextDep, + h.propDep, + function (t, e) { + return e.def( + t.ELEMENTS, + ".vertCount-", + t.OFFSET, + ); + }, + ) + : U(function (t, e) { + return e.def( + t.ELEMENTS, + ".vertCount", + ); + }) + : U(function () { + return -1; + }) + : new N( + f.thisDep || h.thisDep, + f.contextDep || h.contextDep, + f.propDep || h.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"); + }, + ) + : s + ? new N( + l.thisDep, + l.contextDep, + l.propDep, + function (t, e) { + return e.def( + t.shared.vao, + ".currentVAO?", + t.shared.vao, + ".currentVAO.count:-1", + ); + }, + ) + : null; + })(), + v = r("instances", !1); + return { + elements: f, + primitive: p, + count: d, + instances: v, + offset: h, + vao: l, + vaoActive: s, + elementsActive: u, + static: o, + }; + } + 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 K(); + if (F(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 ("constant" in r) { + var l = r.constant; + (s.buffer = "null"), + (s.state = 2), + "number" == typeof l + ? (s.x = l) + : St.forEach(function (t, e) { + e < l.length && (s[t] = l[e]); + }); + } else { + var u = F(r.buffer) + ? i.getBuffer( + i.create(r.buffer, 34962, !1, !0), + ) + : i.getBuffer(r.buffer), + c = 0 | r.offset, + f = 0 | r.stride, + h = 0 | r.size, + p = !!r.normalized, + d = 0; + "type" in r && (d = rt[r.type]), + (r = 0 | r.divisor), + (s.buffer = u), + (s.state = 1), + (s.size = h), + (s.normalized = p), + (s.type = d || u.dtype), + (s.offset = c), + (s.stride = f), + (s.divisor = r); + } + o[t] = U(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] = V(e, function (t, r) { + function n(t) { + r(l[t], "=", i, ".", t, "|0;"); + } + var i = t.invoke(r, e), + a = t.shared, + o = t.constants, + s = a.isBufferArgs, + l = + ((a = a.buffer), { isStream: r.def(!1) }), + u = new K(); + (u.state = 1), + Object.keys(u).forEach(function (t) { + l[t] = r.def("" + u[t]); + }); + var c = l.buffer, + f = l.type; + return ( + r( + "if(", + s, + "(", + i, + ")){", + l.isStream, + "=true;", + c, + "=", + a, + ".createStream(", + 34962, + ",", + i, + ");", + f, + "=", + c, + ".dtype;", + "}else{", + c, + "=", + a, + ".getBuffer(", + i, + ");", + "if(", + c, + "){", + f, + "=", + c, + ".dtype;", + '}else if("constant" in ', + i, + "){", + l.state, + "=", + 2, + ";", + "if(typeof " + + i + + '.constant === "number"){', + l[St[0]], + "=", + i, + ".constant;", + St.slice(1) + .map(function (t) { + return l[t]; + }) + .join("="), + "=0;", + "}else{", + St.map(function (t, e) { + return ( + l[t] + + "=" + + i + + ".constant.length>" + + e + + "?" + + i + + ".constant[" + + e + + "]:0;" + ); + }).join(""), + "}}else{", + "if(", + s, + "(", + i, + ".buffer)){", + c, + "=", + a, + ".createStream(", + 34962, + ",", + i, + ".buffer);", + "}else{", + c, + "=", + a, + ".getBuffer(", + i, + ".buffer);", + "}", + f, + '="type" in ', + i, + "?", + o.glTypes, + "[", + i, + ".type]:", + c, + ".dtype;", + l.normalized, + "=!!", + i, + ".normalized;", + ), + n("size"), + n("offset"), + n("stride"), + n("divisor"), + r("}}"), + r.exit( + "if(", + l.isStream, + "){", + a, + ".destroyStream(", + c, + ");", + "}", + ), + l + ); + }); + }), + o + ); + } + function M(t, e, n, i, a) { + function s(t) { + var e = u[t]; + e && (h[t] = e); + } + var l = (function (t, e) { + if ( + "string" == typeof (r = t.static).frag && + "string" == typeof r.vert + ) { + if (0 < Object.keys(e.dynamic).length) + return null; + var r = e.static, + n = Object.keys(r); + if ( + 0 < n.length && + "number" == typeof r[n[0]] + ) { + for (var i = [], a = 0; a < n.length; ++a) + i.push([0 | r[n[a]], n[a]]); + return i; + } + } + return null; + })(t, e), + u = (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 N( + !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 = V(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 N( + 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 N( + 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, (d = w(t))), + f = k(t), + h = (function (t, e) { + var r = t.static, + n = t.dynamic, + i = {}; + return ( + at.forEach(function (t) { + function e(e, o) { + if (t in r) { + var s = e(r[t]); + i[a] = U(function () { + return s; + }); + } else if (t in n) { + var l = n[t]; + i[a] = V(l, function (t, e) { + return o(t, e, t.invoke(e, l)); + }); + } + } + var a = y(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": + case "lineWidth": + return e( + function (t) { + return t; + }, + function (t, e, r) { + return r; + }, + ); + case "depth.func": + return e( + function (t) { + return Ct[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 [ + Lt[ + "srcRGB" in t ? t.srcRGB : t.src + ], + Lt[ + "dstRGB" in t ? t.dstRGB : t.dst + ], + Lt[ + "srcAlpha" in t + ? t.srcAlpha + : t.src + ], + Lt[ + "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 + ? [$[t], $[t]] + : "object" == typeof t + ? [$[t.rgb], $[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 [ + Ct[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, + Ot[e.fail || "keep"], + Ot[e.zfail || "keep"], + Ot[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 "frontFace": + return e( + function (t) { + return Pt[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), + p = T(t, 0, l); + s("viewport"), s(y("scissor.box")); + var d, + v = 0 < Object.keys(h).length; + if ( + (((d = { + framebuffer: d, + draw: f, + shader: p, + state: h, + dirty: v, + scopeVAO: null, + drawVAO: null, + useVAO: !1, + attributes: {}, + }).profile = (function (t) { + var e, + r = t.static; + if (((t = t.dynamic), "profile" in r)) { + var n = !!r.profile; + (e = U(function (t, e) { + return n; + })).enable = n; + } else if ("profile" in t) { + var i = t.profile; + e = V(i, function (t, e) { + return t.invoke(e, i); + }); + } + return e; + })(t)), + (d.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 = U(function () { + return n; + }); + else if ("function" == typeof n) { + var a = n._reglType; + "texture2d" === a || "textureCube" === a + ? (e = U(function (t) { + return t.link(n); + })) + : ("framebuffer" !== a && + "framebufferCube" !== a) || + (e = U(function (t) { + return t.link(n.color[0]); + })); + } else + m(n) && + (e = U(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] = V(e, function (t, r) { + return t.invoke(r, e); + }); + }), + i + ); + })(n)), + (d.drawVAO = d.scopeVAO = f.vao), + !d.drawVAO && + p.program && + !l && + r.angle_instanced_arrays && + f.static.elements) + ) { + var g = !0; + if ( + ((t = p.program.attributes.map(function (t) { + return (t = e.static[t]), (g = g && !!t), t; + })), + g && 0 < t.length) + ) { + var x = c.getVAO( + c.createVAO({ + attributes: t, + elements: f.static.elements, + }), + ); + (d.drawVAO = new N(null, null, null, function ( + t, + e, + ) { + return t.link(x); + })), + (d.useVAO = !0); + } + } + return ( + l ? (d.useVAO = !0) : (d.attributes = A(e)), + (d.context = (function (t) { + var e = t.static, + r = t.dynamic, + n = {}; + return ( + Object.keys(e).forEach(function (t) { + var r = e[t]; + n[t] = U(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] = V(e, function (t, r) { + return t.invoke(r, e); + }); + }), + n + ); + })(i)), + d + ); + } + function S(t, e, r) { + var n = t.shared.context, + i = t.scope(); + Object.keys(r).forEach(function (a) { + e.save(n, "." + a); + var o = r[a].append(t, e); + Array.isArray(o) + ? i(n, ".", a, "=[", o.join(), "];") + : i(n, ".", a, "=", o, ";"); + }), + e(i); + } + function E(t, e, r, n) { + var i, + a = (s = t.shared).gl, + o = s.framebuffer; + tt && + (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);", + ), + tt && + e( + i, + ".drawBuffersWEBGL(", + s, + "[", + t, + ".colorAttachments.length]);", + ), + e( + "}else{", + a, + ".bindFramebuffer(", + 36160, + ",null);", + ), + tt && e(i, ".drawBuffersWEBGL(", l, ");"), + e("}", o, ".cur=", t, ";"), + n || e("}"); + } + function L(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"); + at.forEach(function (e) { + var n, f; + if (!((e = y(e)) in r.state)) + if (e in s) { + (n = s[e]), (f = a[e]); + var h = o(nt[e].length, function (t) { + return c.def(n, "[", t, "]"); + }); + c( + t + .cond( + h + .map(function (t, e) { + return ( + t + "!==" + f + "[" + e + "]" + ); + }) + .join("||"), + ) + .then( + i, + ".", + lt[e], + "(", + h, + ");", + h + .map(function (t, e) { + return f + "[" + e + "]=" + t; + }) + .join(";"), + ";", + ), + ); + } else + (n = c.def(u, ".", e)), + (h = t.cond(n, "!==", l, ".", e)), + c(h), + e in ot + ? h( + t + .cond(n) + .then(i, ".enable(", ot[e], ");") + .else(i, ".disable(", ot[e], ");"), + l, + ".", + e, + "=", + n, + ";", + ) + : h( + i, + ".", + lt[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, + a = t.shared, + o = t.current, + s = a.current, + l = a.gl; + B(Object.keys(r)).forEach(function (a) { + var u = r[a]; + if (!n || n(u)) { + var c = u.append(t, e); + if (ot[a]) { + var f = ot[a]; + j(u) + ? ((i = t.link(c, { stable: !0 })), + e( + t + .cond(i) + .then(l, ".enable(", f, ");") + .else(l, ".disable(", f, ");"), + ), + e(s, ".", a, "=", i, ";")) + : (e( + t + .cond(c) + .then(l, ".enable(", f, ");") + .else(l, ".disable(", f, ");"), + ), + e(s, ".", a, "=", c, ";")); + } else if (m(c)) { + var h = o[a]; + e( + l, + ".", + lt[a], + "(", + c, + ");", + c + .map(function (t, e) { + return h + "[" + e + "]=" + t; + }) + .join(";"), + ";", + ); + } else + j(u) + ? ((i = t.link(c, { stable: !0 })), + e( + l, + ".", + lt[a], + "(", + i, + ");", + s, + ".", + a, + "=", + i, + ";", + )) + : e( + l, + ".", + lt[a], + "(", + c, + ");", + s, + ".", + a, + "=", + c, + ";", + ); + } + }); + } + function O(t, e) { + Q && + (t.instancing = e.def( + t.shared.extensions, + ".angle_instanced_arrays", + )); + } + function P(t, e, r, n, i) { + function a() { + return "undefined" == typeof performance + ? "Date.now()" + : "performance.now()"; + } + function o(t) { + t((u = e.def()), "=", a(), ";"), + "string" == typeof i + ? t(h, ".count+=", i, ";") + : t(h, ".count++;"), + d && + (n + ? t( + (c = e.def()), + "=", + v, + ".getNumPendingQueries();", + ) + : t(v, ".beginQuery(", h, ");")); + } + function s(t) { + t(h, ".cpuTime+=", a(), "-", u, ";"), + d && + (n + ? t( + v, + ".pushScopeStats(", + c, + ",", + v, + ".getNumPendingQueries(),", + h, + ");", + ) + : t(v, ".endQuery();")); + } + function l(t) { + var r = e.def(p, ".profile"); + e(p, ".profile=", t, ";"), + e.exit(p, ".profile=", r, ";"); + } + var u, + c, + f = t.shared, + h = t.stats, + p = f.current, + v = f.timer; + if ((r = r.profile)) { + if (j(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((f = t.block())), + e("if(", r, "){", f, "}"), + s((t = t.block())), + e.exit("if(", r, "){", t, "}"); + } + function I(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, + ",", + f, + ".buffer);", + l, + ".vertexAttribPointer(", + [u, r, a, i.normalized, i.stride, i.offset], + ");", + c, + ".type=", + a, + ";", + c, + ".size=", + r, + ";", + p + .map(function (t) { + return c + "." + t + "=" + i[t] + ";"; + }) + .join(""), + "}", + ), + 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, + ");", + c, + ".buffer=null;", + "}if(", + St.map(function (t, e) { + return c + "." + t + "!==" + h[e]; + }).join("||"), + "){", + l, + ".vertexAttrib4f(", + u, + ",", + h, + ");", + St.map(function (t, e) { + return c + "." + t + "=" + h[e] + ";"; + }).join(""), + "}", + ); + } + var l = o.gl, + u = e.def(r, ".location"), + c = e.def(o.attributes, "[", u, "]"); + r = i.state; + var f = i.buffer, + h = [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(It)) return; + var u = t.scopeAttrib(s); + (o = {}), + Object.keys(new K()).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 D(t, r, n, i, a, s) { + for ( + var l, u = t.shared, c = u.gl, f = 0; + f < i.length; + ++f + ) { + var h, + p = (g = i[f]).name, + d = g.info.type, + v = n.uniforms[p], + g = t.link(g) + ".location"; + if (v) { + if (!a(v)) continue; + if (j(v)) { + if ( + ((p = v.value), 35678 === d || 35680 === d) + ) + r( + c, + ".uniform1i(", + g, + ",", + (d = t.link( + p._texture || p.color[0]._texture, + )) + ".bind());", + ), + r.exit(d, ".unbind();"); + else if ( + 35674 === d || + 35675 === d || + 35676 === d + ) + (v = 2), + 35675 === d + ? (v = 3) + : 35676 === d && (v = 4), + r( + c, + ".uniformMatrix", + v, + "fv(", + g, + ",false,", + (p = t.global.def( + "new Float32Array([" + + Array.prototype.slice.call(p) + + "])", + )), + ");", + ); + else { + switch (d) { + case 5126: + l = "1f"; + break; + case 35664: + l = "2f"; + break; + case 35665: + l = "3f"; + break; + case 35666: + l = "4f"; + break; + case 35670: + case 5124: + l = "1i"; + break; + case 35671: + case 35667: + l = "2i"; + break; + case 35672: + case 35668: + l = "3i"; + break; + case 35673: + case 35669: + l = "4i"; + } + r( + c, + ".uniform", + l, + "(", + g, + ",", + m(p) ? Array.prototype.slice.call(p) : p, + ");", + ); + } + continue; + } + h = v.append(t, r); + } else { + if (!a(It)) continue; + h = r.def(u.uniforms, "[", e.id(p), "]"); + } + switch ( + (35678 === d + ? r( + "if(", + h, + "&&", + h, + '._reglType==="framebuffer"){', + h, + "=", + h, + ".color[0];", + "}", + ) + : 35680 === d && + r( + "if(", + h, + "&&", + h, + '._reglType==="framebufferCube"){', + h, + "=", + h, + ".color[0];", + "}", + ), + (p = 1), + d) + ) { + case 35678: + case 35680: + (d = r.def(h, "._texture")), + r(c, ".uniform1i(", g, ",", d, ".bind());"), + r.exit(d, ".unbind();"); + continue; + case 5124: + case 35670: + l = "1i"; + break; + case 35667: + case 35671: + (l = "2i"), (p = 2); + break; + case 35668: + case 35672: + (l = "3i"), (p = 3); + break; + case 35669: + case 35673: + (l = "4i"), (p = 4); + break; + case 5126: + l = "1f"; + break; + case 35664: + (l = "2f"), (p = 2); + break; + case 35665: + (l = "3f"), (p = 3); + break; + case 35666: + (l = "4f"), (p = 4); + break; + case 35674: + l = "Matrix2fv"; + break; + case 35675: + l = "Matrix3fv"; + break; + case 35676: + l = "Matrix4fv"; + } + if ("M" === l.charAt(0)) { + r(c, ".uniform", l, "(", g, ","), + (g = Math.pow(d - 35674 + 2, 2)); + var y = t.global.def( + "new Float32Array(", + g, + ")", + ); + Array.isArray(h) + ? r( + "false,(", + o(g, function (t) { + return y + "[" + t + "]=" + h[t]; + }), + ",", + y, + ")", + ) + : r( + "false,(Array.isArray(", + h, + ")||", + h, + " instanceof Float32Array)?", + h, + ":(", + o(g, function (t) { + return ( + y + "[" + t + "]=" + h + "[" + t + "]" + ); + }), + ",", + y, + ")", + ), + r(");"); + } else { + if (1 < p) { + d = []; + var x = []; + for (v = 0; v < p; ++v) + Array.isArray(h) + ? x.push(h[v]) + : x.push(r.def(h + "[" + v + "]")), + s && d.push(r.def()); + s && + r( + "if(!", + t.batchId, + "||", + d + .map(function (t, e) { + return t + "!==" + x[e]; + }) + .join("||"), + "){", + d + .map(function (t, e) { + return t + "=" + x[e] + ";"; + }) + .join(""), + ), + r( + c, + ".uniform", + l, + "(", + g, + ",", + x.join(","), + ");", + ); + } else + s && + ((d = r.def()), + r( + "if(!", + t.batchId, + "||", + d, + "!==", + h, + "){", + d, + "=", + h, + ";", + )), + r(c, ".uniform", l, "(", g, ",", h, ");"); + s && r("}"); + } + } + } + function z(t, e, r, n) { + function i(i) { + var a = h[i]; + return a + ? (a.contextDep && n.contextDynamic) || + a.propDep + ? a.append(t, r) + : a.append(t, e) + : e.def(f, ".", i); + } + function a() { + function t() { + r( + l, + ".drawElementsInstancedANGLE(", + [d, g, y, v + "<<((" + y + "-5121)>>1)", s], + ");", + ); + } + function e() { + r( + l, + ".drawArraysInstancedANGLE(", + [d, v, g, s], + ");", + ); + } + p && "null" !== p + ? m + ? t() + : (r("if(", p, "){"), + t(), + r("}else{"), + e(), + r("}")) + : e(); + } + function o() { + function t() { + r( + c + + ".drawElements(" + + [d, g, y, v + "<<((" + y + "-5121)>>1)"] + + ");", + ); + } + function e() { + r(c + ".drawArrays(" + [d, v, g] + ");"); + } + p && "null" !== p + ? m + ? t() + : (r("if(", p, "){"), + t(), + r("}else{"), + e(), + r("}")) + : e(); + } + var s, + l, + u = t.shared, + c = u.gl, + f = u.draw, + h = n.draw, + p = (function () { + var i = h.elements, + a = e; + return ( + i + ? (((i.contextDep && n.contextDynamic) || + i.propDep) && + (a = r), + (i = i.append(t, a)), + h.elementsActive && + a( + "if(" + + i + + ")" + + c + + ".bindBuffer(34963," + + i + + ".buffer.buffer);", + )) + : ((i = a.def()), + a( + i, + "=", + f, + ".", + "elements", + ";", + "if(", + i, + "){", + c, + ".bindBuffer(", + 34963, + ",", + i, + ".buffer.buffer);}", + "else if(", + u.vao, + ".currentVAO){", + i, + "=", + t.shared.elements + + ".getElements(" + + u.vao, + ".currentVAO.elements);", + et + ? "" + : "if(" + + i + + ")" + + c + + ".bindBuffer(34963," + + i + + ".buffer.buffer);", + "}", + )), + i + ); + })(), + d = i("primitive"), + v = i("offset"), + g = (function () { + var i = h.count, + a = e; + return ( + i + ? (((i.contextDep && n.contextDynamic) || + i.propDep) && + (a = r), + (i = i.append(t, a))) + : (i = a.def(f, ".", "count")), + i + ); + })(); + if ("number" == typeof g) { + if (0 === g) return; + } else r("if(", g, "){"), r.exit("}"); + Q && ((s = i("instances")), (l = t.instancing)); + var y = p + ".type", + m = h.elements && j(h.elements) && !h.vaoActive; + Q && ("number" != typeof s || 0 <= s) + ? "string" == typeof s + ? (r("if(", s, ">0){"), + a(), + r("}else if(", s, "<0){"), + o(), + r("}")) + : a() + : o(); + } + function H(t, e, r, n, i) { + return ( + (i = (e = _()).proc("body", i)), + Q && + (e.instancing = i.def( + e.shared.extensions, + ".angle_instanced_arrays", + )), + t(e, i, r, n), + e.compile().body + ); + } + function q(t, e, r, n) { + O(t, e), + r.useVAO + ? r.drawVAO + ? e( + t.shared.vao, + ".setVAO(", + r.drawVAO.append(t, e), + ");", + ) + : e( + t.shared.vao, + ".setVAO(", + t.shared.vao, + ".targetVAO);", + ) + : (e(t.shared.vao, ".setVAO(null);"), + I(t, e, r, n.attributes, function () { + return !0; + })), + D( + t, + e, + r, + n.uniforms, + function () { + return !0; + }, + !1, + ), + z(t, e, e, r); + } + function Z(t, e, r, n) { + function i() { + return !0; + } + (t.batchId = "a1"), + O(t, e), + I(t, e, r, n.attributes, i), + D(t, e, r, n.uniforms, i, !1), + z(t, e, e, r); + } + function Y(t, e, r, n) { + function i(t) { + return (t.contextDep && o) || t.propDep; + } + function a(t) { + return !i(t); + } + O(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 && S(t, c, r.context), + r.needsFramebuffer && E(t, c, r.framebuffer), + C(t, c, r.state, i), + r.profile && i(r.profile) && P(t, c, r, !1, !0), + n + ? (r.useVAO + ? r.drawVAO + ? i(r.drawVAO) + ? c( + t.shared.vao, + ".setVAO(", + r.drawVAO.append(t, c), + ");", + ) + : u( + t.shared.vao, + ".setVAO(", + r.drawVAO.append(t, u), + ");", + ) + : u( + t.shared.vao, + ".setVAO(", + t.shared.vao, + ".targetVAO);", + ) + : (u(t.shared.vao, ".setVAO(null);"), + I(t, u, r, n.attributes, a), + I(t, c, r, n.attributes, i)), + D(t, u, r, n.uniforms, a, !1), + D(t, c, r, n.uniforms, i, !0), + z(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 H(Z, t, r, e, 2); + }), + "(", + n, + ");}", + u, + ".call(this,a0[", + s, + "],", + s, + ");", + )); + } + function X(t, r) { + function n(e) { + var n = r.shader[e]; + n && + ((n = n.append(t, i)), + isNaN(n) + ? i.set(a.shader, "." + e, n) + : i.set( + a.shader, + "." + e, + t.link(n, { stable: !0 }), + )); + } + var i = t.proc("scope", 3); + t.batchId = "a2"; + var a = t.shared, + o = a.current; + if ( + (S(t, i, r.context), + r.framebuffer && r.framebuffer.append(t, i), + B(Object.keys(r.state)).forEach(function (e) { + var n = r.state[e], + o = n.append(t, i); + m(o) + ? o.forEach(function (r, n) { + isNaN(r) + ? i.set(t.next[e], "[" + n + "]", r) + : i.set( + t.next[e], + "[" + n + "]", + t.link(r, { stable: !0 }), + ); + }) + : j(n) + ? i.set( + a.next, + "." + e, + t.link(o, { stable: !0 }), + ) + : i.set(a.next, "." + e, o); + }), + P(t, i, r, !0, !0), + [ + "elements", + "offset", + "count", + "instances", + "primitive", + ].forEach(function (e) { + var n = r.draw[e]; + n && + ((n = n.append(t, i)), + isNaN(n) + ? i.set(a.draw, "." + e, n) + : i.set(a.draw, "." + e, t.link(n), { + stable: !0, + })); + }), + Object.keys(r.uniforms).forEach(function (n) { + var o = r.uniforms[n].append(t, i); + Array.isArray(o) && + (o = + "[" + + o.map(function (e) { + return isNaN(e) + ? e + : t.link(e, { stable: !0 }); + }) + + "]"), + i.set( + a.uniforms, + "[" + t.link(e.id(n), { stable: !0 }) + "]", + o, + ); + }), + Object.keys(r.attributes).forEach(function (e) { + var n = r.attributes[e].append(t, i), + a = t.scopeAttrib(e); + Object.keys(new K()).forEach(function (t) { + i.set(a, "." + t, n[t]); + }); + }), + r.scopeVAO) + ) { + var s = r.scopeVAO.append(t, i); + isNaN(s) + ? i.set(a.vao, ".targetVAO", s) + : i.set( + a.vao, + ".targetVAO", + t.link(s, { stable: !0 }), + ); + } + 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 J(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 (W.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 (W.isDynamic(r)) + "function" == typeof r && + (r = n[e] = W.unbox(r)), + (e = V(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 W.DynamicVariable(4, { + thisDep: o, + contextDep: s, + propDep: l, + ref: u, + append: function (t, e) { + a.forEach(function (r) { + var i = n[r]; + W.isDynamic(i) && + ((i = t.invoke(e, i)), + e(u, ".", r, "=", i, ";")); + }); + }, + })), + delete e.static[r]; + } + } + var K = c.Record, + $ = { + add: 32774, + subtract: 32778, + "reverse subtract": 32779, + }; + r.ext_blend_minmax && + (($.min = 32775), ($.max = 32776)); + var Q = r.angle_instanced_arrays, + tt = r.webgl_draw_buffers, + et = r.oes_vertex_array_object, + nt = { dirty: !0, profile: g.profile }, + it = {}, + at = [], + ot = {}, + lt = {}; + x("dither", 3024), + x("blend.enable", 3042), + b("blend.color", "blendColor", [0, 0, 0, 0]), + b( + "blend.equation", + "blendEquationSeparate", + [32774, 32774], + ), + b("blend.func", "blendFuncSeparate", [1, 0, 1, 0]), + x("depth.enable", 2929, !0), + b("depth.func", "depthFunc", 513), + b("depth.range", "depthRange", [0, 1]), + b("depth.mask", "depthMask", !0), + b("colorMask", "colorMask", [!0, !0, !0, !0]), + x("cull.enable", 2884), + b("cull.face", "cullFace", 1029), + b("frontFace", "frontFace", 2305), + b("lineWidth", "lineWidth", 1), + x("polygonOffset.enable", 32823), + b("polygonOffset.offset", "polygonOffset", [0, 0]), + x("sample.alpha", 32926), + x("sample.enable", 32928), + b("sample.coverage", "sampleCoverage", [1, !1]), + x("stencil.enable", 2960), + b("stencil.mask", "stencilMask", -1), + b("stencil.func", "stencilFunc", [519, 0, -1]), + b( + "stencil.opFront", + "stencilOpSeparate", + [1028, 7680, 7680, 7680], + ), + b( + "stencil.opBack", + "stencilOpSeparate", + [1029, 7680, 7680, 7680], + ), + x("scissor.enable", 3089), + b("scissor.box", "scissor", [ + 0, + 0, + t.drawingBufferWidth, + t.drawingBufferHeight, + ]), + b("viewport", "viewport", [ + 0, + 0, + t.drawingBufferWidth, + t.drawingBufferHeight, + ]); + var ut = { + gl: t, + context: p, + strings: e, + next: it, + current: nt, + draw: h, + elements: a, + buffer: i, + shader: f, + attributes: c.state, + vao: c, + uniforms: u, + framebuffer: l, + extensions: r, + timer: d, + isBufferArgs: F, + }, + ct = { + primTypes: st, + compareFuncs: Ct, + blendFuncs: Lt, + blendEquations: $, + stencilOps: Ot, + glTypes: rt, + orientationType: Pt, + }; + tt && + ((ct.backBuffer = [1029]), + (ct.drawBuffer = o(n.maxDrawbuffers, function (t) { + return 0 === t + ? [0] + : o(t, function (t) { + return 36064 + t; + }); + }))); + var ft = 0; + return { + next: it, + current: nt, + procs: (function () { + var t = _(), + e = t.proc("poll"), + i = t.proc("refresh"), + a = t.block(); + e(a), i(a); + var s, + l = (f = t.shared).gl, + u = f.next, + c = f.current; + a(c, ".dirty=false;"), + E(t, e), + E(t, i, null, !0), + Q && (s = t.link(Q)), + r.oes_vertex_array_object && + i( + t.link(r.oes_vertex_array_object), + ".bindVertexArrayOES(null);", + ); + var f = i.def(f.attributes), + h = i.def(0), + p = t.cond(h, ".buffer"); + p.then( + l, + ".enableVertexAttribArray(i);", + l, + ".bindBuffer(", + 34962, + ",", + h, + ".buffer.buffer);", + l, + ".vertexAttribPointer(i,", + h, + ".size,", + h, + ".type,", + h, + ".normalized,", + h, + ".stride,", + h, + ".offset);", + ).else( + l, + ".disableVertexAttribArray(i);", + l, + ".vertexAttrib4f(i,", + h, + ".x,", + h, + ".y,", + h, + ".z,", + h, + ".w);", + h, + ".buffer=null;", + ); + var d = t.link(n.maxAttributes, { stable: !0 }); + return ( + i( + "for(var i=0;i<", + d, + ";++i){", + h, + "=", + f, + "[i];", + p, + "}", + ), + Q && + i( + "for(var i=0;i<", + d, + ";++i){", + s, + ".vertexAttribDivisorANGLE(i,", + f, + "[i].divisor);", + "}", + ), + i( + t.shared.vao, + ".currentVAO=null;", + t.shared.vao, + ".setVAO(", + t.shared.vao, + ".targetVAO);", + ), + Object.keys(ot).forEach(function (r) { + var n = ot[r], + o = a.def(u, ".", r), + s = t.block(); + s( + "if(", + o, + "){", + l, + ".enable(", + n, + ")}else{", + l, + ".disable(", + n, + ")}", + c, + ".", + r, + "=", + o, + ";", + ), + i(s), + e("if(", o, "!==", c, ".", r, "){", s, "}"); + }), + Object.keys(lt).forEach(function (r) { + var n, + s, + f = lt[r], + h = nt[r], + p = t.block(); + p(l, ".", f, "("), + m(h) + ? ((f = h.length), + (n = t.global.def(u, ".", r)), + (s = t.global.def(c, ".", r)), + p( + o(f, function (t) { + return n + "[" + t + "]"; + }), + ");", + o(f, function (t) { + return ( + s + + "[" + + t + + "]=" + + n + + "[" + + t + + "];" + ); + }).join(""), + ), + e( + "if(", + o(f, function (t) { + return ( + n + + "[" + + t + + "]!==" + + s + + "[" + + t + + "]" + ); + }).join("||"), + "){", + p, + "}", + )) + : ((n = a.def(u, ".", r)), + (s = a.def(c, ".", r)), + p(n, ");", c, ".", r, "=", n, ";"), + e("if(", n, "!==", s, "){", p, "}")), + i(p); + }), + t.compile() + ); + })(), + compile: function (t, e, r, n, i) { + var a = _(); + (a.stats = a.link(i)), + Object.keys(e.static).forEach(function (t) { + J(a, e, t); + }), + Et.forEach(function (e) { + J(a, t, e); + }); + var o = M(t, e, r, n); + return ( + o.shader.program && + (o.shader.program.attributes.sort( + function (t, e) { + return t.name < e.name ? -1 : 1; + }, + ), + o.shader.program.uniforms.sort( + function (t, e) { + return t.name < e.name ? -1 : 1; + }, + )), + (function (t, e) { + var r = t.proc("draw", 1); + O(t, r), + S(t, r, e.context), + E(t, r, e.framebuffer), + L(t, r, e), + C(t, r, e.state), + P(t, r, e, !1, !0); + var n = e.shader.progVar.append(t, r); + if ( + (r( + t.shared.gl, + ".useProgram(", + n, + ".program);", + ), + e.shader.program) + ) + q(t, r, e, e.shader.program); + else { + r(t.shared.vao, ".setVAO(null);"); + 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 H(q, t, e, r, 1); + }), + "(", + n, + ");", + o, + ".call(this,a0);", + ), + ); + } + 0 < Object.keys(e.state).length && + r(t.shared.current, ".dirty=true;"), + t.shared.vao && + r(t.shared.vao, ".setVAO(null);"); + })(a, o), + X(a, o), + (function (t, e) { + function r(t) { + return (t.contextDep && i) || t.propDep; + } + var n = t.proc("batch", 2); + (t.batchId = "0"), O(t, n); + var i = !1, + a = !0; + Object.keys(e.context).forEach(function (t) { + i = i || e.context[t].propDep; + }), + i || (S(t, n, e.context), (a = !1)); + var o = !1; + if ( + ((s = e.framebuffer) + ? (s.propDep + ? (i = o = !0) + : s.contextDep && i && (o = !0), + o || E(t, n, s)) + : E(t, n, null), + e.state.viewport && + e.state.viewport.propDep && + (i = !0), + L(t, n, e), + C(t, n, e.state, function (t) { + return !r(t); + }), + (e.profile && r(e.profile)) || + P(t, n, e, !1, "a1"), + (e.contextDep = i), + (e.needsContext = a), + (e.needsFramebuffer = o), + ((a = e.shader.progVar).contextDep && i) || + a.propDep) + ) + Y(t, n, e, null); + else if ( + ((a = a.append(t, n)), + n( + t.shared.gl, + ".useProgram(", + a, + ".program);", + ), + e.shader.program) + ) + Y(t, n, e, e.shader.program); + else { + n(t.shared.vao, ".setVAO(null);"); + 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 H(Y, t, e, r, 2); + }), + "(", + a, + ");", + l, + ".call(this,a0,a1);", + ), + ); + } + 0 < Object.keys(e.state).length && + n(t.shared.current, ".dirty=true;"), + t.shared.vao && + n(t.shared.vao, ".setVAO(null);"); + })(a, o), + G(a.compile(), { + destroy: function () { + o.shader.program.destroy(); + }, + }) + ); + }, + }; + } + function q(t, e) { + for (var r = 0; r < t.length; ++r) + if (t[r] === e) return r; + return -1; + } + var G = function (t, e) { + for ( + var r = Object.keys(e), n = 0; + n < r.length; + ++n + ) + t[r[n]] = e[r[n]]; + return t; + }, + Z = 0, + W = { + DynamicVariable: t, + define: function (e, n) { + return new t(e, r(n + "")); + }, + isDynamic: function (e) { + return ( + ("function" == typeof e && !e._reglType) || + e instanceof t + ); + }, + unbox: function e(r, n) { + return "function" == typeof r + ? new t(0, r) + : "number" == typeof r || "boolean" == typeof r + ? new t(5, r) + : Array.isArray(r) + ? new t( + 6, + r.map(function (t, r) { + return e(t, n + "[" + r + "]"); + }), + ) + : r instanceof t + ? r + : void 0; + }, + accessor: r, + }, + Y = { + 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, + }, + X = + "undefined" != typeof performance && performance.now + ? function () { + return performance.now(); + } + : function () { + return +new Date(); + }, + J = l(); + J.zero = l(); + var K = function (t, e) { + var r = 1; + e.ext_texture_filter_anisotropic && + (r = t.getParameter(34047)); + var n = 1, + i = 1; + e.webgl_draw_buffers && + ((n = t.getParameter(34852)), + (i = t.getParameter(36063))); + var a = !!e.oes_texture_float; + if (a) { + (a = t.createTexture()), + t.bindTexture(3553, a), + t.texImage2D( + 3553, + 0, + 6408, + 1, + 1, + 0, + 6408, + 5126, + null, + ); + var o = t.createFramebuffer(); + if ( + (t.bindFramebuffer(36160, o), + t.framebufferTexture2D( + 36160, + 36064, + 3553, + a, + 0, + ), + t.bindTexture(3553, null), + 36053 !== t.checkFramebufferStatus(36160)) + ) + a = !1; + else { + t.viewport(0, 0, 1, 1), + t.clearColor(1, 0, 0, 1), + t.clear(16384); + var s = J.allocType(5126, 4); + t.readPixels(0, 0, 1, 1, 6408, 5126, s), + t.getError() + ? (a = !1) + : (t.deleteFramebuffer(o), + t.deleteTexture(a), + (a = 1 === s[0])), + J.freeType(s); + } + } + return ( + (s = !0), + ("undefined" != typeof navigator && + (/MSIE/.test(navigator.userAgent) || + /Trident\//.test(navigator.appVersion) || + /Edge/.test(navigator.userAgent))) || + ((s = t.createTexture()), + (o = J.allocType(5121, 36)), + t.activeTexture(33984), + t.bindTexture(34067, s), + t.texImage2D( + 34069, + 0, + 6408, + 3, + 3, + 0, + 6408, + 5121, + o, + ), + J.freeType(o), + t.bindTexture(34067, null), + t.deleteTexture(s), + (s = !t.getError())), + { + 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), + readFloat: a, + npotTextureCube: s, + } + ); + }, + $ = 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 + ); + }, + Q = function (t) { + return Object.keys(t).map(function (e) { + return t[e]; + }); + }, + tt = { + 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 || J.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: + f(t, e, 0, r, 0); + } + return r; + }, + }, + et = { + "[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, + }, + rt = { + int8: 5120, + int16: 5122, + int32: 5124, + uint8: 5121, + uint16: 5123, + uint32: 5125, + float: 5126, + float32: 5126, + }, + nt = { dynamic: 35048, stream: 35040, static: 35044 }, + it = tt.flatten, + at = tt.shape, + ot = []; + (ot[5120] = 1), + (ot[5122] = 2), + (ot[5124] = 4), + (ot[5121] = 1), + (ot[5123] = 2), + (ot[5125] = 4), + (ot[5126] = 4); + var st = { + points: 0, + point: 0, + lines: 1, + line: 1, + triangles: 4, + triangle: 4, + "line loop": 2, + "line strip": 3, + "triangle strip": 5, + "triangle fan": 6, + }, + lt = new Float32Array(1), + ut = new Uint32Array(lt.buffer), + ct = [9984, 9986, 9985, 9987], + ft = [0, 6409, 6410, 6407, 6408], + ht = {}; + (ht[6409] = ht[6406] = ht[6402] = 1), + (ht[34041] = ht[6410] = 2), + (ht[6407] = ht[35904] = 3), + (ht[6408] = ht[35906] = 4); + var pt = x("HTMLCanvasElement"), + dt = x("OffscreenCanvas"), + vt = x("CanvasRenderingContext2D"), + gt = x("ImageBitmap"), + yt = x("HTMLImageElement"), + mt = x("HTMLVideoElement"), + xt = Object.keys(et).concat([pt, dt, vt, gt, yt, mt]), + bt = []; + (bt[5121] = 1), + (bt[5126] = 4), + (bt[36193] = 2), + (bt[5123] = 2), + (bt[5125] = 4); + var _t = []; + (_t[32854] = 2), + (_t[32855] = 2), + (_t[36194] = 2), + (_t[34041] = 4), + (_t[33776] = 0.5), + (_t[33777] = 0.5), + (_t[33778] = 1), + (_t[33779] = 1), + (_t[35986] = 0.5), + (_t[35987] = 1), + (_t[34798] = 1), + (_t[35840] = 0.5), + (_t[35841] = 0.25), + (_t[35842] = 0.5), + (_t[35843] = 0.25), + (_t[36196] = 0.5); + var wt = []; + (wt[32854] = 2), + (wt[32855] = 2), + (wt[36194] = 2), + (wt[33189] = 2), + (wt[36168] = 1), + (wt[34041] = 4), + (wt[35907] = 4), + (wt[34836] = 16), + (wt[34842] = 8), + (wt[34843] = 6); + var Tt = 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 = + wt[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.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 = + wt[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 () { + Q(c).forEach(o); + }, + restore: function () { + Q(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); + }, + } + ); + }, + kt = []; + (kt[6408] = 4), (kt[6407] = 3); + var At = []; + (At[5121] = 1), (At[5126] = 4), (At[36193] = 2); + var Mt = [ + 1116352408, 1899447441, -1245643825, -373957723, + 961987163, 1508970993, -1841331548, -1424204075, + -670586216, 310598401, 607225278, 1426881987, + 1925078388, -2132889090, -1680079193, -1046744716, + -459576895, -272742522, 264347078, 604807628, + 770255983, 1249150122, 1555081692, 1996064986, + -1740746414, -1473132947, -1341970488, -1084653625, + -958395405, -710438585, 113926993, 338241895, + 666307205, 773529912, 1294757372, 1396182291, + 1695183700, 1986661051, -2117940946, -1838011259, + -1564481375, -1474664885, -1035236496, -949202525, + -778901479, -694614492, -200395387, 275423344, + 430227734, 506948616, 659060556, 883997877, + 958139571, 1322822218, 1537002063, 1747873779, + 1955562222, 2024104815, -2067236844, -1933114872, + -1866530822, -1538233109, -1090935817, -965641998, + ], + St = ["x", "y", "z", "w"], + Et = + "blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split( + " ", + ), + Lt = { + 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, + }, + Ct = { + 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, + }, + Ot = { + 0: 0, + zero: 0, + keep: 7680, + replace: 7681, + increment: 7682, + decrement: 7683, + "increment wrap": 34055, + "decrement wrap": 34056, + invert: 5386, + }, + Pt = { cw: 2304, ccw: 2305 }, + It = new N(!1, !1, !1, function () {}); + return function (t) { + function e() { + if (0 === J.length) T && T.update(), (et = null); + else { + (et = Y.next(e)), f(); + for (var t = J.length - 1; 0 <= t; --t) { + var r = J[t]; + r && r(P, null, 0); + } + d.flush(), T && T.update(); + } + } + function r() { + !et && 0 < J.length && (et = Y.next(e)); + } + function n() { + et && (Y.cancel(e), (et = null)); + } + function i(t) { + t.preventDefault(), + n(), + $.forEach(function (t) { + t(); + }); + } + function o(t) { + d.getError(), + m.restore(), + F.restore(), + D.restore(), + B.restore(), + N.restore(), + j.restore(), + R.restore(), + T && T.restore(), + U.procs.refresh(), + r(), + Q.forEach(function (t) { + t(); + }); + } + function s(t) { + function e(t, e) { + var r = {}, + n = {}; + return ( + Object.keys(t).forEach(function (i) { + var a = t[i]; + if (W.isDynamic(a)) n[i] = W.unbox(a, i); + else { + if (e && Array.isArray(a)) + for (var o = 0; o < a.length; ++o) + if (W.isDynamic(a[o])) + return void (n[i] = W.unbox(a, i)); + r[i] = a; + } + }), + { dynamic: n, static: r } + ); + } + var r = e(t.context || {}, !0), + n = e(t.uniforms || {}, !0), + i = e(t.attributes || {}, !1); + t = 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 = G({}, t); + return ( + delete r.uniforms, + delete r.attributes, + delete r.context, + delete r.vao, + "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"), + "vao" in t && (r.vao = t.vao), + r + ); + })(t), + !1, + ); + var a = { gpuTime: 0, cpuTime: 0, count: 0 }, + o = U.compile(t, i, n, r, a), + s = o.draw, + l = o.batch, + u = o.scope, + c = []; + return G( + function (t, e) { + var r; + if ("function" == typeof t) + return u.call(this, null, t, 0); + if ("function" == typeof e) + if ("number" == typeof t) + for (r = 0; r < t; ++r) + u.call(this, null, e, r); + else { + if (!Array.isArray(t)) + return u.call(this, t, e, 0); + for (r = 0; r < t.length; ++r) + u.call(this, t[r], e, r); + } + else if ("number" == typeof t) { + if (0 < t) + return l.call( + this, + (function (t) { + for (; c.length < t; ) c.push(null); + return c; + })(0 | t), + 0 | t, + ); + } else { + if (!Array.isArray(t)) return s.call(this, t); + if (t.length) + return l.call(this, t, t.length); + } + }, + { + stats: a, + destroy: function () { + o.destroy(); + }, + }, + ); + } + function l(t, e) { + var r = 0; + U.procs.poll(); + var n = e.color; + n && + (d.clearColor( + +n[0] || 0, + +n[1] || 0, + +n[2] || 0, + +n[3] || 0, + ), + (r |= 16384)), + "depth" in e && + (d.clearDepth(+e.depth), (r |= 256)), + "stencil" in e && + (d.clearStencil(0 | e.stencil), (r |= 1024)), + d.clear(r); + } + function u(t) { + return ( + J.push(t), + r(), + { + cancel: function () { + var e = q(J, t); + J[e] = function t() { + var e = q(J, t); + (J[e] = J[J.length - 1]), + --J.length, + 0 >= J.length && n(); + }; + }, + } + ); + } + function c() { + var t = V.viewport, + e = V.scissor_box; + (t[0] = t[1] = e[0] = e[1] = 0), + (P.viewportWidth = + P.framebufferWidth = + P.drawingBufferWidth = + t[2] = + e[2] = + d.drawingBufferWidth), + (P.viewportHeight = + P.framebufferHeight = + P.drawingBufferHeight = + t[3] = + e[3] = + d.drawingBufferHeight); + } + function f() { + (P.tick += 1), (P.time = p()), c(), U.procs.poll(); + } + function h() { + B.refresh(), + c(), + U.procs.refresh(), + T && T.update(); + } + function p() { + return (X() - k) / 1e3; + } + if (!(t = a(t))) return null; + var d = t.gl, + y = d.getContextAttributes(); + d.isContextLost(); + var m = (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 (n[t] && !r(t)) + throw Error( + "(regl): error restoring extension " + + t, + ); + }); + }, + } + ); + })(d, t); + if (!m) 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 = { + vaoCount: 0, + bufferCount: 0, + elementsCount: 0, + framebufferCount: 0, + shaderCount: 0, + textureCount: 0, + cubeCount: 0, + renderbufferCount: 0, + maxTextureUnits: 0, + }, + _ = t.cachedCode || {}, + w = m.extensions, + T = (function (t, e) { + function r() { + (this.endQueryIndex = this.startQueryIndex = + -1), + (this.sum = 0), + (this.stats = null); + } + function n(t, e, n) { + var i = o.pop() || new r(); + (i.startQueryIndex = t), + (i.endQueryIndex = e), + (i.sum = 0), + (i.stats = n), + s.push(i); + } + if (!e.ext_disjoint_timer_query) return null; + var i = [], + a = [], + o = [], + s = [], + l = [], + u = []; + return { + beginQuery: function (t) { + var r = + i.pop() || + e.ext_disjoint_timer_query.createQueryEXT(); + e.ext_disjoint_timer_query.beginQueryEXT( + 35007, + r, + ), + a.push(r), + n(a.length - 1, a.length, t); + }, + endQuery: function () { + e.ext_disjoint_timer_query.endQueryEXT(35007); + }, + pushScopeStats: n, + update: function () { + var t, r; + 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 n = (u[0] = 0); + for (r = t = 0; r < a.length; ++r) { + var c = a[r]; + e.ext_disjoint_timer_query.getQueryObjectEXT( + c, + 34919, + ) + ? ((n += + e.ext_disjoint_timer_query.getQueryObjectEXT( + c, + 34918, + )), + i.push(c)) + : (a[t++] = c), + (l[r + 1] = n), + (u[r + 1] = t); + } + for ( + a.length = t, r = t = 0; + r < s.length; + ++r + ) { + var f = (n = s[r]).startQueryIndex; + (c = n.endQueryIndex), + (n.sum += l[c] - l[f]), + (f = u[f]), + (c = u[c]) === f + ? ((n.stats.gpuTime += n.sum / 1e6), + o.push(n)) + : ((n.startQueryIndex = f), + (n.endQueryIndex = c), + (s[t++] = n)); + } + s.length = t; + } + }, + getNumPendingQueries: function () { + return a.length; + }, + clear: function () { + i.push.apply(i, a); + for (var t = 0; t < i.length; t++) + e.ext_disjoint_timer_query.deleteQueryEXT( + i[t], + ); + (a.length = 0), (i.length = 0); + }, + restore: function () { + (a.length = 0), (i.length = 0); + }, + }; + })(0, w), + k = X(), + A = d.drawingBufferWidth, + E = d.drawingBufferHeight, + P = { + tick: 0, + time: 0, + viewportWidth: A, + viewportHeight: E, + framebufferWidth: A, + framebufferHeight: E, + drawingBufferWidth: A, + drawingBufferHeight: E, + pixelRatio: t.pixelRatio, + }, + I = + ((A = { + elements: null, + primitive: 4, + count: -1, + offset: 0, + instances: -1, + }), + K(d, w)), + D = v(d, b, t, function (t) { + return R.destroyBuffer(t); + }), + z = g(d, w, D, b), + R = L(d, w, I, b, D, z, A), + F = C(d, x, b, t), + B = M( + d, + w, + I, + function () { + U.procs.poll(); + }, + P, + b, + t, + ), + N = Tt(d, w, 0, b, t), + j = S(d, w, I, B, N, b), + U = H( + d, + x, + w, + I, + D, + z, + 0, + j, + {}, + R, + F, + A, + P, + T, + _, + t, + ), + V = ((x = O(d, j, U.procs.poll, P)), U.next), + Z = d.canvas, + J = [], + $ = [], + Q = [], + tt = [t.onDestroy], + et = null; + Z && + (Z.addEventListener("webglcontextlost", i, !1), + Z.addEventListener("webglcontextrestored", o, !1)); + var rt = (j.setFBO = s({ + framebuffer: W.define.call(null, 1, "framebuffer"), + })); + return ( + h(), + (y = G(s, { + clear: function (t) { + if ("framebuffer" in t) + if ( + t.framebuffer && + "framebufferCube" === t.framebuffer_reglType + ) + for (var e = 0; 6 > e; ++e) + rt( + G( + { + framebuffer: t.framebuffer.faces[e], + }, + t, + ), + l, + ); + else rt(t, l); + else l(0, t); + }, + prop: W.define.bind(null, 1), + context: W.define.bind(null, 2), + this: W.define.bind(null, 3), + draw: s({}), + buffer: function (t) { + return D.create(t, 34962, !1, !1); + }, + elements: function (t) { + return z.create(t, !1); + }, + texture: B.create2D, + cube: B.createCube, + renderbuffer: N.create, + framebuffer: j.create, + framebufferCube: j.createCube, + vao: R.createVAO, + attributes: y, + frame: u, + on: function (t, e) { + var r; + switch (t) { + case "frame": + return u(e); + case "lost": + r = $; + break; + case "restore": + r = Q; + break; + case "destroy": + r = tt; + } + 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: I, + hasExtension: function (t) { + return ( + 0 <= I.extensions.indexOf(t.toLowerCase()) + ); + }, + read: x, + destroy: function () { + (J.length = 0), + n(), + Z && + (Z.removeEventListener( + "webglcontextlost", + i, + ), + Z.removeEventListener( + "webglcontextrestored", + o, + )), + F.clear(), + j.clear(), + N.clear(), + R.clear(), + B.clear(), + z.clear(), + D.clear(), + T && T.clear(), + tt.forEach(function (t) { + t(); + }); + }, + _gl: d, + _refresh: h, + poll: function () { + f(), T && T.update(); + }, + now: p, + stats: b, + getCachedCode: function () { + return _; + }, + preloadCachedCode: function (t) { + Object.entries(t).forEach(function (t) { + _[t[0]] = t[1]; + }); + }, + })), + t.onDone(null, y), + y + ); + }; + })(); + }, + 71665: function (t, e, r) { + var n = r(12856), + i = n.Buffer; + function a(t, e) { + for (var r in t) e[r] = t[r]; + } + function o(t, e, r) { + return i(t, e, r); + } + i.from && i.alloc && i.allocUnsafe && i.allocUnsafeSlow + ? (t.exports = n) + : (a(n, e), (e.Buffer = o)), + (o.prototype = Object.create(i.prototype)), + a(i, o), + (o.from = function (t, e, r) { + if ("number" == typeof t) + throw new TypeError( + "Argument must not be a number", + ); + return i(t, e, r); + }), + (o.alloc = function (t, e, r) { + if ("number" != typeof t) + throw new TypeError("Argument must be a number"); + var n = i(t); + return ( + void 0 !== e + ? "string" == typeof r + ? n.fill(e, r) + : n.fill(e) + : n.fill(0), + n + ); + }), + (o.allocUnsafe = function (t) { + if ("number" != typeof t) + throw new TypeError("Argument must be a number"); + return i(t); + }), + (o.allocUnsafeSlow = function (t) { + if ("number" != typeof t) + throw new TypeError("Argument must be a number"); + return n.SlowBuffer(t); + }); + }, + 21630: function (t, e, r) { + t.exports = i; + var n = r(15398).EventEmitter; + function i() { + n.call(this); + } + r(42018)(i, n), + (i.Readable = r(40410)), + (i.Writable = r(37493)), + (i.Duplex = r(37865)), + (i.Transform = r(74308)), + (i.PassThrough = r(66897)), + (i.finished = r(12726)), + (i.pipeline = r(10168)), + (i.Stream = i), + (i.prototype.pipe = function (t, e) { + var r = this; + function i(e) { + t.writable && + !1 === t.write(e) && + r.pause && + r.pause(); + } + function a() { + r.readable && r.resume && r.resume(); + } + r.on("data", i), + t.on("drain", a), + t._isStdio || + (e && !1 === e.end) || + (r.on("end", s), r.on("close", l)); + var o = !1; + function s() { + o || ((o = !0), t.end()); + } + function l() { + o || + ((o = !0), + "function" == typeof t.destroy && t.destroy()); + } + function u(t) { + if ((c(), 0 === n.listenerCount(this, "error"))) + throw t; + } + function c() { + r.removeListener("data", i), + t.removeListener("drain", a), + r.removeListener("end", s), + r.removeListener("close", l), + r.removeListener("error", u), + t.removeListener("error", u), + r.removeListener("end", c), + r.removeListener("close", c), + t.removeListener("close", c); + } + return ( + r.on("error", u), + t.on("error", u), + r.on("end", c), + r.on("close", c), + t.on("close", c), + t.emit("pipe", r), + t + ); + }); + }, + 74322: function (t) { + "use strict"; + var e = {}; + function r(t, r, n) { + n || (n = Error); + var i = (function (t) { + var e, n; + function i(e, n, i) { + return ( + t.call( + this, + (function (t, e, n) { + return "string" == typeof r ? r : r(t, e, n); + })(e, n, i), + ) || this + ); + } + return ( + (n = t), + ((e = i).prototype = Object.create(n.prototype)), + (e.prototype.constructor = e), + (e.__proto__ = n), + i + ); + })(n); + (i.prototype.name = n.name), + (i.prototype.code = t), + (e[t] = i); + } + function n(t, e) { + if (Array.isArray(t)) { + var r = t.length; + return ( + (t = t.map(function (t) { + return String(t); + })), + r > 2 + ? "one of " + .concat(e, " ") + .concat( + t.slice(0, r - 1).join(", "), + ", or ", + ) + t[r - 1] + : 2 === r + ? "one of " + .concat(e, " ") + .concat(t[0], " or ") + .concat(t[1]) + : "of ".concat(e, " ").concat(t[0]) + ); + } + return "of ".concat(e, " ").concat(String(t)); + } + r( + "ERR_INVALID_OPT_VALUE", + function (t, e) { + return ( + 'The value "' + + e + + '" is invalid for option "' + + t + + '"' + ); + }, + TypeError, + ), + r( + "ERR_INVALID_ARG_TYPE", + function (t, e, r) { + var i, a, o, s, l; + if ( + ("string" == typeof e && + ((a = "not "), e.substr(0, a.length) === a) + ? ((i = "must not be"), + (e = e.replace(/^not /, ""))) + : (i = "must be"), + (function (t, e, r) { + return ( + (void 0 === r || r > t.length) && + (r = t.length), + t.substring(r - e.length, r) === e + ); + })(t, " argument")) + ) + o = "The " + .concat(t, " ") + .concat(i, " ") + .concat(n(e, "type")); + else { + var u = + ("number" != typeof l && (l = 0), + l + ".".length > (s = t).length || + -1 === s.indexOf(".", l) + ? "argument" + : "property"); + o = 'The "' + .concat(t, '" ') + .concat(u, " ") + .concat(i, " ") + .concat(n(e, "type")); + } + return o + ". Received type ".concat(typeof r); + }, + TypeError, + ), + r( + "ERR_STREAM_PUSH_AFTER_EOF", + "stream.push() after EOF", + ), + r("ERR_METHOD_NOT_IMPLEMENTED", function (t) { + return "The " + t + " method is not implemented"; + }), + r("ERR_STREAM_PREMATURE_CLOSE", "Premature close"), + r("ERR_STREAM_DESTROYED", function (t) { + return ( + "Cannot call " + t + " after a stream was destroyed" + ); + }), + r( + "ERR_MULTIPLE_CALLBACK", + "Callback called multiple times", + ), + r( + "ERR_STREAM_CANNOT_PIPE", + "Cannot pipe, not readable", + ), + r("ERR_STREAM_WRITE_AFTER_END", "write after end"), + r( + "ERR_STREAM_NULL_VALUES", + "May not write null values to stream", + TypeError, + ), + r( + "ERR_UNKNOWN_ENCODING", + function (t) { + return "Unknown encoding: " + t; + }, + TypeError, + ), + r( + "ERR_STREAM_UNSHIFT_AFTER_END_EVENT", + "stream.unshift() after end event", + ), + (t.exports.q = e); + }, + 37865: function (t, e, r) { + "use strict"; + var n = r(90386), + i = + Object.keys || + function (t) { + var e = []; + for (var r in t) e.push(r); + return e; + }; + t.exports = c; + var a = r(40410), + o = r(37493); + r(42018)(c, a); + for (var s = i(o.prototype), l = 0; l < s.length; l++) { + var u = s[l]; + c.prototype[u] || (c.prototype[u] = o.prototype[u]); + } + function c(t) { + if (!(this instanceof c)) return new c(t); + a.call(this, t), + o.call(this, t), + (this.allowHalfOpen = !0), + t && + (!1 === t.readable && (this.readable = !1), + !1 === t.writable && (this.writable = !1), + !1 === t.allowHalfOpen && + ((this.allowHalfOpen = !1), this.once("end", f))); + } + function f() { + this._writableState.ended || n.nextTick(h, this); + } + function h(t) { + t.end(); + } + Object.defineProperty( + c.prototype, + "writableHighWaterMark", + { + enumerable: !1, + get: function () { + return this._writableState.highWaterMark; + }, + }, + ), + Object.defineProperty(c.prototype, "writableBuffer", { + enumerable: !1, + get: function () { + return ( + this._writableState && + this._writableState.getBuffer() + ); + }, + }), + Object.defineProperty(c.prototype, "writableLength", { + enumerable: !1, + get: function () { + return this._writableState.length; + }, + }), + Object.defineProperty(c.prototype, "destroyed", { + enumerable: !1, + get: function () { + return ( + void 0 !== this._readableState && + void 0 !== this._writableState && + this._readableState.destroyed && + this._writableState.destroyed + ); + }, + set: function (t) { + void 0 !== this._readableState && + void 0 !== this._writableState && + ((this._readableState.destroyed = t), + (this._writableState.destroyed = t)); + }, + }); + }, + 66897: function (t, e, r) { + "use strict"; + t.exports = i; + var n = r(74308); + function i(t) { + if (!(this instanceof i)) return new i(t); + n.call(this, t); + } + r(42018)(i, n), + (i.prototype._transform = function (t, e, r) { + r(null, t); + }); + }, + 40410: function (t, e, r) { + "use strict"; + var n, + i = r(90386); + (t.exports = A), + (A.ReadableState = k), + r(15398).EventEmitter; + var a, + o = function (t, e) { + return t.listeners(e).length; + }, + s = r(71405), + l = r(12856).Buffer, + u = r.g.Uint8Array || function () {}, + c = r(40964); + a = + c && c.debuglog ? c.debuglog("stream") : function () {}; + var f, + h, + p, + d = r(31125), + v = r(65756), + g = r(56306).getHighWaterMark, + y = r(74322).q, + m = y.ERR_INVALID_ARG_TYPE, + x = y.ERR_STREAM_PUSH_AFTER_EOF, + b = y.ERR_METHOD_NOT_IMPLEMENTED, + _ = y.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; + r(42018)(A, s); + var w = v.errorOrDestroy, + T = ["error", "close", "destroy", "pause", "resume"]; + function k(t, e, i) { + (n = n || r(37865)), + (t = t || {}), + "boolean" != typeof i && (i = e instanceof n), + (this.objectMode = !!t.objectMode), + i && + (this.objectMode = + this.objectMode || !!t.readableObjectMode), + (this.highWaterMark = g( + this, + t, + "readableHighWaterMark", + i, + )), + (this.buffer = new d()), + (this.length = 0), + (this.pipes = null), + (this.pipesCount = 0), + (this.flowing = null), + (this.ended = !1), + (this.endEmitted = !1), + (this.reading = !1), + (this.sync = !0), + (this.needReadable = !1), + (this.emittedReadable = !1), + (this.readableListening = !1), + (this.resumeScheduled = !1), + (this.paused = !0), + (this.emitClose = !1 !== t.emitClose), + (this.autoDestroy = !!t.autoDestroy), + (this.destroyed = !1), + (this.defaultEncoding = t.defaultEncoding || "utf8"), + (this.awaitDrain = 0), + (this.readingMore = !1), + (this.decoder = null), + (this.encoding = null), + t.encoding && + (f || (f = r(68019).s), + (this.decoder = new f(t.encoding)), + (this.encoding = t.encoding)); + } + function A(t) { + if (((n = n || r(37865)), !(this instanceof A))) + return new A(t); + var e = this instanceof n; + (this._readableState = new k(t, this, e)), + (this.readable = !0), + t && + ("function" == typeof t.read && + (this._read = t.read), + "function" == typeof t.destroy && + (this._destroy = t.destroy)), + s.call(this); + } + function M(t, e, r, n, i) { + a("readableAddChunk", e); + var o, + s = t._readableState; + if (null === e) + (s.reading = !1), + (function (t, e) { + if ((a("onEofChunk"), !e.ended)) { + if (e.decoder) { + var r = e.decoder.end(); + r && + r.length && + (e.buffer.push(r), + (e.length += e.objectMode ? 1 : r.length)); + } + (e.ended = !0), + e.sync + ? C(t) + : ((e.needReadable = !1), + e.emittedReadable || + ((e.emittedReadable = !0), O(t))); + } + })(t, s); + else if ( + (i || + (o = (function (t, e) { + var r, n; + return ( + (n = e), + l.isBuffer(n) || + n instanceof u || + "string" == typeof e || + void 0 === e || + t.objectMode || + (r = new m( + "chunk", + ["string", "Buffer", "Uint8Array"], + e, + )), + r + ); + })(s, e)), + o) + ) + w(t, o); + else if (s.objectMode || (e && e.length > 0)) + if ( + ("string" == typeof e || + s.objectMode || + Object.getPrototypeOf(e) === l.prototype || + (e = (function (t) { + return l.from(t); + })(e)), + n) + ) + s.endEmitted ? w(t, new _()) : S(t, s, e, !0); + else if (s.ended) w(t, new x()); + else { + if (s.destroyed) return !1; + (s.reading = !1), + s.decoder && !r + ? ((e = s.decoder.write(e)), + s.objectMode || 0 !== e.length + ? S(t, s, e, !1) + : P(t, s)) + : S(t, s, e, !1); + } + else n || ((s.reading = !1), P(t, s)); + return ( + !s.ended && + (s.length < s.highWaterMark || 0 === s.length) + ); + } + function S(t, e, r, n) { + e.flowing && 0 === e.length && !e.sync + ? ((e.awaitDrain = 0), t.emit("data", r)) + : ((e.length += e.objectMode ? 1 : r.length), + n ? e.buffer.unshift(r) : e.buffer.push(r), + e.needReadable && C(t)), + P(t, e); + } + Object.defineProperty(A.prototype, "destroyed", { + enumerable: !1, + get: function () { + return ( + void 0 !== this._readableState && + this._readableState.destroyed + ); + }, + set: function (t) { + this._readableState && + (this._readableState.destroyed = t); + }, + }), + (A.prototype.destroy = v.destroy), + (A.prototype._undestroy = v.undestroy), + (A.prototype._destroy = function (t, e) { + e(t); + }), + (A.prototype.push = function (t, e) { + var r, + n = this._readableState; + return ( + n.objectMode + ? (r = !0) + : "string" == typeof t && + ((e = e || n.defaultEncoding) !== n.encoding && + ((t = l.from(t, e)), (e = "")), + (r = !0)), + M(this, t, e, !1, r) + ); + }), + (A.prototype.unshift = function (t) { + return M(this, t, null, !0, !1); + }), + (A.prototype.isPaused = function () { + return !1 === this._readableState.flowing; + }), + (A.prototype.setEncoding = function (t) { + f || (f = r(68019).s); + var e = new f(t); + (this._readableState.decoder = e), + (this._readableState.encoding = + this._readableState.decoder.encoding); + for ( + var n = this._readableState.buffer.head, i = ""; + null !== n; + + ) + (i += e.write(n.data)), (n = n.next); + return ( + this._readableState.buffer.clear(), + "" !== i && this._readableState.buffer.push(i), + (this._readableState.length = i.length), + this + ); + }); + var E = 1073741824; + function L(t, e) { + return t <= 0 || (0 === e.length && e.ended) + ? 0 + : e.objectMode + ? 1 + : t != t + ? e.flowing && e.length + ? e.buffer.head.data.length + : e.length + : (t > e.highWaterMark && + (e.highWaterMark = (function (t) { + return ( + t >= E + ? (t = E) + : (t--, + (t |= t >>> 1), + (t |= t >>> 2), + (t |= t >>> 4), + (t |= t >>> 8), + (t |= t >>> 16), + t++), + t + ); + })(t)), + t <= e.length + ? t + : e.ended + ? e.length + : ((e.needReadable = !0), 0)); + } + function C(t) { + var e = t._readableState; + a("emitReadable", e.needReadable, e.emittedReadable), + (e.needReadable = !1), + e.emittedReadable || + (a("emitReadable", e.flowing), + (e.emittedReadable = !0), + i.nextTick(O, t)); + } + function O(t) { + var e = t._readableState; + a("emitReadable_", e.destroyed, e.length, e.ended), + e.destroyed || + (!e.length && !e.ended) || + (t.emit("readable"), (e.emittedReadable = !1)), + (e.needReadable = + !e.flowing && + !e.ended && + e.length <= e.highWaterMark), + F(t); + } + function P(t, e) { + e.readingMore || + ((e.readingMore = !0), i.nextTick(I, t, e)); + } + function I(t, e) { + for ( + ; + !e.reading && + !e.ended && + (e.length < e.highWaterMark || + (e.flowing && 0 === e.length)); + + ) { + var r = e.length; + if ( + (a("maybeReadMore read 0"), + t.read(0), + r === e.length) + ) + break; + } + e.readingMore = !1; + } + function D(t) { + var e = t._readableState; + (e.readableListening = t.listenerCount("readable") > 0), + e.resumeScheduled && !e.paused + ? (e.flowing = !0) + : t.listenerCount("data") > 0 && t.resume(); + } + function z(t) { + a("readable nexttick read 0"), t.read(0); + } + function R(t, e) { + a("resume", e.reading), + e.reading || t.read(0), + (e.resumeScheduled = !1), + t.emit("resume"), + F(t), + e.flowing && !e.reading && t.read(0); + } + function F(t) { + var e = t._readableState; + for ( + a("flow", e.flowing); + e.flowing && null !== t.read(); + + ); + } + function B(t, e) { + return 0 === e.length + ? null + : (e.objectMode + ? (r = e.buffer.shift()) + : !t || t >= e.length + ? ((r = e.decoder + ? e.buffer.join("") + : 1 === e.buffer.length + ? e.buffer.first() + : e.buffer.concat(e.length)), + e.buffer.clear()) + : (r = e.buffer.consume(t, e.decoder)), + r); + var r; + } + function N(t) { + var e = t._readableState; + a("endReadable", e.endEmitted), + e.endEmitted || ((e.ended = !0), i.nextTick(j, e, t)); + } + function j(t, e) { + if ( + (a("endReadableNT", t.endEmitted, t.length), + !t.endEmitted && + 0 === t.length && + ((t.endEmitted = !0), + (e.readable = !1), + e.emit("end"), + t.autoDestroy)) + ) { + var r = e._writableState; + (!r || (r.autoDestroy && r.finished)) && e.destroy(); + } + } + function U(t, e) { + for (var r = 0, n = t.length; r < n; r++) + if (t[r] === e) return r; + return -1; + } + (A.prototype.read = function (t) { + a("read", t), (t = parseInt(t, 10)); + var e = this._readableState, + r = t; + if ( + (0 !== t && (e.emittedReadable = !1), + 0 === t && + e.needReadable && + ((0 !== e.highWaterMark + ? e.length >= e.highWaterMark + : e.length > 0) || + e.ended)) + ) + return ( + a("read: emitReadable", e.length, e.ended), + 0 === e.length && e.ended ? N(this) : C(this), + null + ); + if (0 === (t = L(t, e)) && e.ended) + return 0 === e.length && N(this), null; + var n, + i = e.needReadable; + return ( + a("need readable", i), + (0 === e.length || e.length - t < e.highWaterMark) && + a("length less than watermark", (i = !0)), + e.ended || e.reading + ? a("reading or ended", (i = !1)) + : i && + (a("do read"), + (e.reading = !0), + (e.sync = !0), + 0 === e.length && (e.needReadable = !0), + this._read(e.highWaterMark), + (e.sync = !1), + e.reading || (t = L(r, e))), + null === (n = t > 0 ? B(t, e) : null) + ? ((e.needReadable = e.length <= e.highWaterMark), + (t = 0)) + : ((e.length -= t), (e.awaitDrain = 0)), + 0 === e.length && + (e.ended || (e.needReadable = !0), + r !== t && e.ended && N(this)), + null !== n && this.emit("data", n), + n + ); + }), + (A.prototype._read = function (t) { + w(this, new b("_read()")); + }), + (A.prototype.pipe = function (t, e) { + var r = this, + n = this._readableState; + switch (n.pipesCount) { + case 0: + n.pipes = t; + break; + case 1: + n.pipes = [n.pipes, t]; + break; + default: + n.pipes.push(t); + } + (n.pipesCount += 1), + a("pipe count=%d opts=%j", n.pipesCount, e); + var s = + (e && !1 === e.end) || + t === i.stdout || + t === i.stderr + ? v + : l; + function l() { + a("onend"), t.end(); + } + n.endEmitted ? i.nextTick(s) : r.once("end", s), + t.on("unpipe", function e(i, o) { + a("onunpipe"), + i === r && + o && + !1 === o.hasUnpiped && + ((o.hasUnpiped = !0), + a("cleanup"), + t.removeListener("close", p), + t.removeListener("finish", d), + t.removeListener("drain", u), + t.removeListener("error", h), + t.removeListener("unpipe", e), + r.removeListener("end", l), + r.removeListener("end", v), + r.removeListener("data", f), + (c = !0), + !n.awaitDrain || + (t._writableState && + !t._writableState.needDrain) || + u()); + }); + var u = (function (t) { + return function () { + var e = t._readableState; + a("pipeOnDrain", e.awaitDrain), + e.awaitDrain && e.awaitDrain--, + 0 === e.awaitDrain && + o(t, "data") && + ((e.flowing = !0), F(t)); + }; + })(r); + t.on("drain", u); + var c = !1; + function f(e) { + a("ondata"); + var i = t.write(e); + a("dest.write", i), + !1 === i && + (((1 === n.pipesCount && n.pipes === t) || + (n.pipesCount > 1 && -1 !== U(n.pipes, t))) && + !c && + (a( + "false write response, pause", + n.awaitDrain, + ), + n.awaitDrain++), + r.pause()); + } + function h(e) { + a("onerror", e), + v(), + t.removeListener("error", h), + 0 === o(t, "error") && w(t, e); + } + function p() { + t.removeListener("finish", d), v(); + } + function d() { + a("onfinish"), t.removeListener("close", p), v(); + } + function v() { + a("unpipe"), r.unpipe(t); + } + return ( + r.on("data", f), + (function (t, e, r) { + if ("function" == typeof t.prependListener) + return t.prependListener(e, r); + t._events && t._events.error + ? Array.isArray(t._events.error) + ? t._events.error.unshift(r) + : (t._events.error = [r, t._events.error]) + : t.on(e, r); + })(t, "error", h), + t.once("close", p), + t.once("finish", d), + t.emit("pipe", r), + n.flowing || (a("pipe resume"), r.resume()), + t + ); + }), + (A.prototype.unpipe = function (t) { + var e = this._readableState, + r = { hasUnpiped: !1 }; + if (0 === e.pipesCount) return this; + if (1 === e.pipesCount) + return ( + (t && t !== e.pipes) || + (t || (t = e.pipes), + (e.pipes = null), + (e.pipesCount = 0), + (e.flowing = !1), + t && t.emit("unpipe", this, r)), + this + ); + if (!t) { + var n = e.pipes, + i = e.pipesCount; + (e.pipes = null), + (e.pipesCount = 0), + (e.flowing = !1); + for (var a = 0; a < i; a++) + n[a].emit("unpipe", this, { hasUnpiped: !1 }); + return this; + } + var o = U(e.pipes, t); + return ( + -1 === o || + (e.pipes.splice(o, 1), + (e.pipesCount -= 1), + 1 === e.pipesCount && (e.pipes = e.pipes[0]), + t.emit("unpipe", this, r)), + this + ); + }), + (A.prototype.on = function (t, e) { + var r = s.prototype.on.call(this, t, e), + n = this._readableState; + return ( + "data" === t + ? ((n.readableListening = + this.listenerCount("readable") > 0), + !1 !== n.flowing && this.resume()) + : "readable" === t && + (n.endEmitted || + n.readableListening || + ((n.readableListening = n.needReadable = !0), + (n.flowing = !1), + (n.emittedReadable = !1), + a("on readable", n.length, n.reading), + n.length + ? C(this) + : n.reading || i.nextTick(z, this))), + r + ); + }), + (A.prototype.addListener = A.prototype.on), + (A.prototype.removeListener = function (t, e) { + var r = s.prototype.removeListener.call(this, t, e); + return "readable" === t && i.nextTick(D, this), r; + }), + (A.prototype.removeAllListeners = function (t) { + var e = s.prototype.removeAllListeners.apply( + this, + arguments, + ); + return ( + ("readable" !== t && void 0 !== t) || + i.nextTick(D, this), + e + ); + }), + (A.prototype.resume = function () { + var t = this._readableState; + return ( + t.flowing || + (a("resume"), + (t.flowing = !t.readableListening), + (function (t, e) { + e.resumeScheduled || + ((e.resumeScheduled = !0), + i.nextTick(R, t, e)); + })(this, t)), + (t.paused = !1), + this + ); + }), + (A.prototype.pause = function () { + return ( + a( + "call pause flowing=%j", + this._readableState.flowing, + ), + !1 !== this._readableState.flowing && + (a("pause"), + (this._readableState.flowing = !1), + this.emit("pause")), + (this._readableState.paused = !0), + this + ); + }), + (A.prototype.wrap = function (t) { + var e = this, + r = this._readableState, + n = !1; + for (var i in (t.on("end", function () { + if ((a("wrapped end"), r.decoder && !r.ended)) { + var t = r.decoder.end(); + t && t.length && e.push(t); + } + e.push(null); + }), + t.on("data", function (i) { + a("wrapped data"), + r.decoder && (i = r.decoder.write(i)), + (r.objectMode && null == i) || + ((r.objectMode || (i && i.length)) && + (e.push(i) || ((n = !0), t.pause()))); + }), + t)) + void 0 === this[i] && + "function" == typeof t[i] && + (this[i] = (function (e) { + return function () { + return t[e].apply(t, arguments); + }; + })(i)); + for (var o = 0; o < T.length; o++) + t.on(T[o], this.emit.bind(this, T[o])); + return ( + (this._read = function (e) { + a("wrapped _read", e), + n && ((n = !1), t.resume()); + }), + this + ); + }), + "function" == typeof Symbol && + (A.prototype[Symbol.asyncIterator] = function () { + return void 0 === h && (h = r(68221)), h(this); + }), + Object.defineProperty( + A.prototype, + "readableHighWaterMark", + { + enumerable: !1, + get: function () { + return this._readableState.highWaterMark; + }, + }, + ), + Object.defineProperty(A.prototype, "readableBuffer", { + enumerable: !1, + get: function () { + return ( + this._readableState && this._readableState.buffer + ); + }, + }), + Object.defineProperty(A.prototype, "readableFlowing", { + enumerable: !1, + get: function () { + return this._readableState.flowing; + }, + set: function (t) { + this._readableState && + (this._readableState.flowing = t); + }, + }), + (A._fromList = B), + Object.defineProperty(A.prototype, "readableLength", { + enumerable: !1, + get: function () { + return this._readableState.length; + }, + }), + "function" == typeof Symbol && + (A.from = function (t, e) { + return void 0 === p && (p = r(31748)), p(A, t, e); + }); + }, + 74308: function (t, e, r) { + "use strict"; + t.exports = c; + var n = r(74322).q, + i = n.ERR_METHOD_NOT_IMPLEMENTED, + a = n.ERR_MULTIPLE_CALLBACK, + o = n.ERR_TRANSFORM_ALREADY_TRANSFORMING, + s = n.ERR_TRANSFORM_WITH_LENGTH_0, + l = r(37865); + function u(t, e) { + var r = this._transformState; + r.transforming = !1; + var n = r.writecb; + if (null === n) return this.emit("error", new a()); + (r.writechunk = null), + (r.writecb = null), + null != e && this.push(e), + n(t); + var i = this._readableState; + (i.reading = !1), + (i.needReadable || i.length < i.highWaterMark) && + this._read(i.highWaterMark); + } + function c(t) { + if (!(this instanceof c)) return new c(t); + l.call(this, t), + (this._transformState = { + afterTransform: u.bind(this), + needTransform: !1, + transforming: !1, + writecb: null, + writechunk: null, + writeencoding: null, + }), + (this._readableState.needReadable = !0), + (this._readableState.sync = !1), + t && + ("function" == typeof t.transform && + (this._transform = t.transform), + "function" == typeof t.flush && + (this._flush = t.flush)), + this.on("prefinish", f); + } + function f() { + var t = this; + "function" != typeof this._flush || + this._readableState.destroyed + ? h(this, null, null) + : this._flush(function (e, r) { + h(t, e, r); + }); + } + function h(t, e, r) { + if (e) return t.emit("error", e); + if ((null != r && t.push(r), t._writableState.length)) + throw new s(); + if (t._transformState.transforming) throw new o(); + return t.push(null); + } + r(42018)(c, l), + (c.prototype.push = function (t, e) { + return ( + (this._transformState.needTransform = !1), + l.prototype.push.call(this, t, e) + ); + }), + (c.prototype._transform = function (t, e, r) { + r(new i("_transform()")); + }), + (c.prototype._write = function (t, e, r) { + var n = this._transformState; + if ( + ((n.writecb = r), + (n.writechunk = t), + (n.writeencoding = e), + !n.transforming) + ) { + var i = this._readableState; + (n.needTransform || + i.needReadable || + i.length < i.highWaterMark) && + this._read(i.highWaterMark); + } + }), + (c.prototype._read = function (t) { + var e = this._transformState; + null === e.writechunk || e.transforming + ? (e.needTransform = !0) + : ((e.transforming = !0), + this._transform( + e.writechunk, + e.writeencoding, + e.afterTransform, + )); + }), + (c.prototype._destroy = function (t, e) { + l.prototype._destroy.call(this, t, function (t) { + e(t); + }); + }); + }, + 37493: function (t, e, r) { + "use strict"; + var n, + i = r(90386); + function a(t) { + var e = this; + (this.next = null), + (this.entry = null), + (this.finish = function () { + !(function (t, e, r) { + var n = t.entry; + for (t.entry = null; n; ) { + var i = n.callback; + e.pendingcb--, i(undefined), (n = n.next); + } + e.corkedRequestsFree.next = t; + })(e, t); + }); + } + (t.exports = A), (A.WritableState = k); + var o, + s = { deprecate: r(20588) }, + l = r(71405), + u = r(12856).Buffer, + c = r.g.Uint8Array || function () {}, + f = r(65756), + h = r(56306).getHighWaterMark, + p = r(74322).q, + d = p.ERR_INVALID_ARG_TYPE, + v = p.ERR_METHOD_NOT_IMPLEMENTED, + g = p.ERR_MULTIPLE_CALLBACK, + y = p.ERR_STREAM_CANNOT_PIPE, + m = p.ERR_STREAM_DESTROYED, + x = p.ERR_STREAM_NULL_VALUES, + b = p.ERR_STREAM_WRITE_AFTER_END, + _ = p.ERR_UNKNOWN_ENCODING, + w = f.errorOrDestroy; + function T() {} + function k(t, e, o) { + (n = n || r(37865)), + (t = t || {}), + "boolean" != typeof o && (o = e instanceof n), + (this.objectMode = !!t.objectMode), + o && + (this.objectMode = + this.objectMode || !!t.writableObjectMode), + (this.highWaterMark = h( + this, + t, + "writableHighWaterMark", + o, + )), + (this.finalCalled = !1), + (this.needDrain = !1), + (this.ending = !1), + (this.ended = !1), + (this.finished = !1), + (this.destroyed = !1); + var s = !1 === t.decodeStrings; + (this.decodeStrings = !s), + (this.defaultEncoding = t.defaultEncoding || "utf8"), + (this.length = 0), + (this.writing = !1), + (this.corked = 0), + (this.sync = !0), + (this.bufferProcessing = !1), + (this.onwrite = function (t) { + !(function (t, e) { + var r = t._writableState, + n = r.sync, + a = r.writecb; + if ("function" != typeof a) throw new g(); + if ( + ((function (t) { + (t.writing = !1), + (t.writecb = null), + (t.length -= t.writelen), + (t.writelen = 0); + })(r), + e) + ) + !(function (t, e, r, n, a) { + --e.pendingcb, + r + ? (i.nextTick(a, n), + i.nextTick(O, t, e), + (t._writableState.errorEmitted = !0), + w(t, n)) + : (a(n), + (t._writableState.errorEmitted = !0), + w(t, n), + O(t, e)); + })(t, r, n, e, a); + else { + var o = L(r) || t.destroyed; + o || + r.corked || + r.bufferProcessing || + !r.bufferedRequest || + E(t, r), + n ? i.nextTick(S, t, r, o, a) : S(t, r, o, a); + } + })(e, t); + }), + (this.writecb = null), + (this.writelen = 0), + (this.bufferedRequest = null), + (this.lastBufferedRequest = null), + (this.pendingcb = 0), + (this.prefinished = !1), + (this.errorEmitted = !1), + (this.emitClose = !1 !== t.emitClose), + (this.autoDestroy = !!t.autoDestroy), + (this.bufferedRequestCount = 0), + (this.corkedRequestsFree = new a(this)); + } + function A(t) { + var e = this instanceof (n = n || r(37865)); + if (!e && !o.call(A, this)) return new A(t); + (this._writableState = new k(t, this, e)), + (this.writable = !0), + t && + ("function" == typeof t.write && + (this._write = t.write), + "function" == typeof t.writev && + (this._writev = t.writev), + "function" == typeof t.destroy && + (this._destroy = t.destroy), + "function" == typeof t.final && + (this._final = t.final)), + l.call(this); + } + function M(t, e, r, n, i, a, o) { + (e.writelen = n), + (e.writecb = o), + (e.writing = !0), + (e.sync = !0), + e.destroyed + ? e.onwrite(new m("write")) + : r + ? t._writev(i, e.onwrite) + : t._write(i, a, e.onwrite), + (e.sync = !1); + } + function S(t, e, r, n) { + r || + (function (t, e) { + 0 === e.length && + e.needDrain && + ((e.needDrain = !1), t.emit("drain")); + })(t, e), + e.pendingcb--, + n(), + O(t, e); + } + function E(t, e) { + e.bufferProcessing = !0; + var r = e.bufferedRequest; + if (t._writev && r && r.next) { + var n = e.bufferedRequestCount, + i = new Array(n), + o = e.corkedRequestsFree; + o.entry = r; + for (var s = 0, l = !0; r; ) + (i[s] = r), + r.isBuf || (l = !1), + (r = r.next), + (s += 1); + (i.allBuffers = l), + M(t, e, !0, e.length, i, "", o.finish), + e.pendingcb++, + (e.lastBufferedRequest = null), + o.next + ? ((e.corkedRequestsFree = o.next), + (o.next = null)) + : (e.corkedRequestsFree = new a(e)), + (e.bufferedRequestCount = 0); + } else { + for (; r; ) { + var u = r.chunk, + c = r.encoding, + f = r.callback; + if ( + (M( + t, + e, + !1, + e.objectMode ? 1 : u.length, + u, + c, + f, + ), + (r = r.next), + e.bufferedRequestCount--, + e.writing) + ) + break; + } + null === r && (e.lastBufferedRequest = null); + } + (e.bufferedRequest = r), (e.bufferProcessing = !1); + } + function L(t) { + return ( + t.ending && + 0 === t.length && + null === t.bufferedRequest && + !t.finished && + !t.writing + ); + } + function C(t, e) { + t._final(function (r) { + e.pendingcb--, + r && w(t, r), + (e.prefinished = !0), + t.emit("prefinish"), + O(t, e); + }); + } + function O(t, e) { + var r = L(e); + if ( + r && + ((function (t, e) { + e.prefinished || + e.finalCalled || + ("function" != typeof t._final || e.destroyed + ? ((e.prefinished = !0), t.emit("prefinish")) + : (e.pendingcb++, + (e.finalCalled = !0), + i.nextTick(C, t, e))); + })(t, e), + 0 === e.pendingcb && + ((e.finished = !0), + t.emit("finish"), + e.autoDestroy)) + ) { + var n = t._readableState; + (!n || (n.autoDestroy && n.endEmitted)) && + t.destroy(); + } + return r; + } + r(42018)(A, l), + (k.prototype.getBuffer = function () { + for (var t = this.bufferedRequest, e = []; t; ) + e.push(t), (t = t.next); + return e; + }), + (function () { + try { + Object.defineProperty(k.prototype, "buffer", { + get: s.deprecate( + function () { + return this.getBuffer(); + }, + "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", + "DEP0003", + ), + }); + } catch (t) {} + })(), + "function" == typeof Symbol && + Symbol.hasInstance && + "function" == + typeof Function.prototype[Symbol.hasInstance] + ? ((o = Function.prototype[Symbol.hasInstance]), + Object.defineProperty(A, Symbol.hasInstance, { + value: function (t) { + return ( + !!o.call(this, t) || + (this === A && + t && + t._writableState instanceof k) + ); + }, + })) + : (o = function (t) { + return t instanceof this; + }), + (A.prototype.pipe = function () { + w(this, new y()); + }), + (A.prototype.write = function (t, e, r) { + var n, + a = this._writableState, + o = !1, + s = + !a.objectMode && + ((n = t), u.isBuffer(n) || n instanceof c); + return ( + s && + !u.isBuffer(t) && + (t = (function (t) { + return u.from(t); + })(t)), + "function" == typeof e && ((r = e), (e = null)), + s ? (e = "buffer") : e || (e = a.defaultEncoding), + "function" != typeof r && (r = T), + a.ending + ? (function (t, e) { + var r = new b(); + w(t, r), i.nextTick(e, r); + })(this, r) + : (s || + (function (t, e, r, n) { + var a; + return ( + null === r + ? (a = new x()) + : "string" == typeof r || + e.objectMode || + (a = new d( + "chunk", + ["string", "Buffer"], + r, + )), + !a || (w(t, a), i.nextTick(n, a), !1) + ); + })(this, a, t, r)) && + (a.pendingcb++, + (o = (function (t, e, r, n, i, a) { + if (!r) { + var o = (function (t, e, r) { + return ( + t.objectMode || + !1 === t.decodeStrings || + "string" != typeof e || + (e = u.from(e, r)), + e + ); + })(e, n, i); + n !== o && + ((r = !0), (i = "buffer"), (n = o)); + } + var s = e.objectMode ? 1 : n.length; + e.length += s; + var l = e.length < e.highWaterMark; + if ( + (l || (e.needDrain = !0), + e.writing || e.corked) + ) { + var c = e.lastBufferedRequest; + (e.lastBufferedRequest = { + chunk: n, + encoding: i, + isBuf: r, + callback: a, + next: null, + }), + c + ? (c.next = e.lastBufferedRequest) + : (e.bufferedRequest = + e.lastBufferedRequest), + (e.bufferedRequestCount += 1); + } else M(t, e, !1, s, n, i, a); + return l; + })(this, a, s, t, e, r))), + o + ); + }), + (A.prototype.cork = function () { + this._writableState.corked++; + }), + (A.prototype.uncork = function () { + var t = this._writableState; + t.corked && + (t.corked--, + t.writing || + t.corked || + t.bufferProcessing || + !t.bufferedRequest || + E(this, t)); + }), + (A.prototype.setDefaultEncoding = function (t) { + if ( + ("string" == typeof t && (t = t.toLowerCase()), + !( + [ + "hex", + "utf8", + "utf-8", + "ascii", + "binary", + "base64", + "ucs2", + "ucs-2", + "utf16le", + "utf-16le", + "raw", + ].indexOf((t + "").toLowerCase()) > -1 + )) + ) + throw new _(t); + return ( + (this._writableState.defaultEncoding = t), this + ); + }), + Object.defineProperty(A.prototype, "writableBuffer", { + enumerable: !1, + get: function () { + return ( + this._writableState && + this._writableState.getBuffer() + ); + }, + }), + Object.defineProperty( + A.prototype, + "writableHighWaterMark", + { + enumerable: !1, + get: function () { + return this._writableState.highWaterMark; + }, + }, + ), + (A.prototype._write = function (t, e, r) { + r(new v("_write()")); + }), + (A.prototype._writev = null), + (A.prototype.end = function (t, e, r) { + var n = this._writableState; + return ( + "function" == typeof t + ? ((r = t), (t = null), (e = null)) + : "function" == typeof e && ((r = e), (e = null)), + null != t && this.write(t, e), + n.corked && ((n.corked = 1), this.uncork()), + n.ending || + (function (t, e, r) { + (e.ending = !0), + O(t, e), + r && + (e.finished + ? i.nextTick(r) + : t.once("finish", r)), + (e.ended = !0), + (t.writable = !1); + })(this, n, r), + this + ); + }), + Object.defineProperty(A.prototype, "writableLength", { + enumerable: !1, + get: function () { + return this._writableState.length; + }, + }), + Object.defineProperty(A.prototype, "destroyed", { + enumerable: !1, + get: function () { + return ( + void 0 !== this._writableState && + this._writableState.destroyed + ); + }, + set: function (t) { + this._writableState && + (this._writableState.destroyed = t); + }, + }), + (A.prototype.destroy = f.destroy), + (A.prototype._undestroy = f.undestroy), + (A.prototype._destroy = function (t, e) { + e(t); + }); + }, + 68221: function (t, e, r) { + "use strict"; + var n, + i = r(90386); + function a(t, e, r) { + return ( + e in t + ? Object.defineProperty(t, e, { + value: r, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (t[e] = r), + t + ); + } + var o = r(12726), + s = Symbol("lastResolve"), + l = Symbol("lastReject"), + u = Symbol("error"), + c = Symbol("ended"), + f = Symbol("lastPromise"), + h = Symbol("handlePromise"), + p = Symbol("stream"); + function d(t, e) { + return { value: t, done: e }; + } + function v(t) { + var e = t[s]; + if (null !== e) { + var r = t[p].read(); + null !== r && + ((t[f] = null), + (t[s] = null), + (t[l] = null), + e(d(r, !1))); + } + } + function g(t) { + i.nextTick(v, t); + } + var y = Object.getPrototypeOf(function () {}), + m = Object.setPrototypeOf( + (a( + (n = { + get stream() { + return this[p]; + }, + next: function () { + var t = this, + e = this[u]; + if (null !== e) return Promise.reject(e); + if (this[c]) + return Promise.resolve(d(void 0, !0)); + if (this[p].destroyed) + return new Promise(function (e, r) { + i.nextTick(function () { + t[u] ? r(t[u]) : e(d(void 0, !0)); + }); + }); + var r, + n = this[f]; + if (n) + r = new Promise( + (function (t, e) { + return function (r, n) { + t.then(function () { + e[c] ? r(d(void 0, !0)) : e[h](r, n); + }, n); + }; + })(n, this), + ); + else { + var a = this[p].read(); + if (null !== a) + return Promise.resolve(d(a, !1)); + r = new Promise(this[h]); + } + return (this[f] = r), r; + }, + }), + Symbol.asyncIterator, + function () { + return this; + }, + ), + a(n, "return", function () { + var t = this; + return new Promise(function (e, r) { + t[p].destroy(null, function (t) { + t ? r(t) : e(d(void 0, !0)); + }); + }); + }), + n), + y, + ); + t.exports = function (t) { + var e, + r = Object.create( + m, + (a((e = {}), p, { value: t, writable: !0 }), + a(e, s, { value: null, writable: !0 }), + a(e, l, { value: null, writable: !0 }), + a(e, u, { value: null, writable: !0 }), + a(e, c, { + value: t._readableState.endEmitted, + writable: !0, + }), + a(e, h, { + value: function (t, e) { + var n = r[p].read(); + n + ? ((r[f] = null), + (r[s] = null), + (r[l] = null), + t(d(n, !1))) + : ((r[s] = t), (r[l] = e)); + }, + writable: !0, + }), + e), + ); + return ( + (r[f] = null), + o(t, function (t) { + if (t && "ERR_STREAM_PREMATURE_CLOSE" !== t.code) { + var e = r[l]; + return ( + null !== e && + ((r[f] = null), + (r[s] = null), + (r[l] = null), + e(t)), + void (r[u] = t) + ); + } + var n = r[s]; + null !== n && + ((r[f] = null), + (r[s] = null), + (r[l] = null), + n(d(void 0, !0))), + (r[c] = !0); + }), + t.on("readable", g.bind(null, r)), + r + ); + }; + }, + 31125: function (t, e, r) { + "use strict"; + function n(t, e) { + var r = Object.keys(t); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(t); + e && + (n = n.filter(function (e) { + return Object.getOwnPropertyDescriptor(t, e) + .enumerable; + })), + r.push.apply(r, n); + } + return r; + } + function i(t, e, r) { + return ( + e in t + ? Object.defineProperty(t, e, { + value: r, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (t[e] = r), + t + ); + } + function a(t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r]; + (n.enumerable = n.enumerable || !1), + (n.configurable = !0), + "value" in n && (n.writable = !0), + Object.defineProperty(t, n.key, n); + } + } + var o = r(12856).Buffer, + s = r(69862).inspect, + l = (s && s.custom) || "inspect"; + t.exports = (function () { + function t() { + !(function (t, e) { + if (!(t instanceof e)) + throw new TypeError( + "Cannot call a class as a function", + ); + })(this, t), + (this.head = null), + (this.tail = null), + (this.length = 0); + } + var e, r; + return ( + (e = t), + (r = [ + { + key: "push", + value: function (t) { + var e = { data: t, next: null }; + this.length > 0 + ? (this.tail.next = e) + : (this.head = e), + (this.tail = e), + ++this.length; + }, + }, + { + key: "unshift", + value: function (t) { + var e = { data: t, next: this.head }; + 0 === this.length && (this.tail = e), + (this.head = e), + ++this.length; + }, + }, + { + key: "shift", + value: function () { + if (0 !== this.length) { + var t = this.head.data; + return ( + 1 === this.length + ? (this.head = this.tail = null) + : (this.head = this.head.next), + --this.length, + t + ); + } + }, + }, + { + key: "clear", + value: function () { + (this.head = this.tail = null), + (this.length = 0); + }, + }, + { + key: "join", + value: function (t) { + if (0 === this.length) return ""; + for ( + var e = this.head, r = "" + e.data; + (e = e.next); + + ) + r += t + e.data; + return r; + }, + }, + { + key: "concat", + value: function (t) { + if (0 === this.length) return o.alloc(0); + for ( + var e, + r, + n, + i = o.allocUnsafe(t >>> 0), + a = this.head, + s = 0; + a; + + ) + (e = a.data), + (r = i), + (n = s), + o.prototype.copy.call(e, r, n), + (s += a.data.length), + (a = a.next); + return i; + }, + }, + { + key: "consume", + value: function (t, e) { + var r; + return ( + t < this.head.data.length + ? ((r = this.head.data.slice(0, t)), + (this.head.data = + this.head.data.slice(t))) + : (r = + t === this.head.data.length + ? this.shift() + : e + ? this._getString(t) + : this._getBuffer(t)), + r + ); + }, + }, + { + key: "first", + value: function () { + return this.head.data; + }, + }, + { + key: "_getString", + value: function (t) { + var e = this.head, + r = 1, + n = e.data; + for (t -= n.length; (e = e.next); ) { + var i = e.data, + a = t > i.length ? i.length : t; + if ( + (a === i.length + ? (n += i) + : (n += i.slice(0, t)), + 0 == (t -= a)) + ) { + a === i.length + ? (++r, + e.next + ? (this.head = e.next) + : (this.head = this.tail = null)) + : ((this.head = e), + (e.data = i.slice(a))); + break; + } + ++r; + } + return (this.length -= r), n; + }, + }, + { + key: "_getBuffer", + value: function (t) { + var e = o.allocUnsafe(t), + r = this.head, + n = 1; + for ( + r.data.copy(e), t -= r.data.length; + (r = r.next); + + ) { + var i = r.data, + a = t > i.length ? i.length : t; + if ( + (i.copy(e, e.length - t, 0, a), + 0 == (t -= a)) + ) { + a === i.length + ? (++n, + r.next + ? (this.head = r.next) + : (this.head = this.tail = null)) + : ((this.head = r), + (r.data = i.slice(a))); + break; + } + ++n; + } + return (this.length -= n), e; + }, + }, + { + key: l, + value: function (t, e) { + return s( + this, + (function (t) { + for (var e = 1; e < arguments.length; e++) { + var r = + null != arguments[e] + ? arguments[e] + : {}; + e % 2 + ? n(Object(r), !0).forEach( + function (e) { + i(t, e, r[e]); + }, + ) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + t, + Object.getOwnPropertyDescriptors(r), + ) + : n(Object(r)).forEach(function (e) { + Object.defineProperty( + t, + e, + Object.getOwnPropertyDescriptor( + r, + e, + ), + ); + }); + } + return t; + })({}, e, { depth: 0, customInspect: !1 }), + ); + }, + }, + ]), + r && a(e.prototype, r), + t + ); + })(); + }, + 65756: function (t, e, r) { + "use strict"; + var n = r(90386); + function i(t, e) { + o(t, e), a(t); + } + function a(t) { + (t._writableState && !t._writableState.emitClose) || + (t._readableState && !t._readableState.emitClose) || + t.emit("close"); + } + function o(t, e) { + t.emit("error", e); + } + t.exports = { + destroy: function (t, e) { + var r = this, + s = + this._readableState && + this._readableState.destroyed, + l = + this._writableState && + this._writableState.destroyed; + return s || l + ? (e + ? e(t) + : t && + (this._writableState + ? this._writableState.errorEmitted || + ((this._writableState.errorEmitted = !0), + n.nextTick(o, this, t)) + : n.nextTick(o, this, t)), + this) + : (this._readableState && + (this._readableState.destroyed = !0), + this._writableState && + (this._writableState.destroyed = !0), + this._destroy(t || null, function (t) { + !e && t + ? r._writableState + ? r._writableState.errorEmitted + ? n.nextTick(a, r) + : ((r._writableState.errorEmitted = !0), + n.nextTick(i, r, t)) + : n.nextTick(i, r, t) + : e + ? (n.nextTick(a, r), e(t)) + : n.nextTick(a, r); + }), + this); + }, + undestroy: function () { + this._readableState && + ((this._readableState.destroyed = !1), + (this._readableState.reading = !1), + (this._readableState.ended = !1), + (this._readableState.endEmitted = !1)), + this._writableState && + ((this._writableState.destroyed = !1), + (this._writableState.ended = !1), + (this._writableState.ending = !1), + (this._writableState.finalCalled = !1), + (this._writableState.prefinished = !1), + (this._writableState.finished = !1), + (this._writableState.errorEmitted = !1)); + }, + errorOrDestroy: function (t, e) { + var r = t._readableState, + n = t._writableState; + (r && r.autoDestroy) || (n && n.autoDestroy) + ? t.destroy(e) + : t.emit("error", e); + }, + }; + }, + 12726: function (t, e, r) { + "use strict"; + var n = r(74322).q.ERR_STREAM_PREMATURE_CLOSE; + function i() {} + t.exports = function t(e, r, a) { + if ("function" == typeof r) return t(e, null, r); + r || (r = {}), + (a = (function (t) { + var e = !1; + return function () { + if (!e) { + e = !0; + for ( + var r = arguments.length, + n = new Array(r), + i = 0; + i < r; + i++ + ) + n[i] = arguments[i]; + t.apply(this, n); + } + }; + })(a || i)); + var o = r.readable || (!1 !== r.readable && e.readable), + s = r.writable || (!1 !== r.writable && e.writable), + l = function () { + e.writable || c(); + }, + u = e._writableState && e._writableState.finished, + c = function () { + (s = !1), (u = !0), o || a.call(e); + }, + f = e._readableState && e._readableState.endEmitted, + h = function () { + (o = !1), (f = !0), s || a.call(e); + }, + p = function (t) { + a.call(e, t); + }, + d = function () { + var t; + return o && !f + ? ((e._readableState && e._readableState.ended) || + (t = new n()), + a.call(e, t)) + : s && !u + ? ((e._writableState && e._writableState.ended) || + (t = new n()), + a.call(e, t)) + : void 0; + }, + v = function () { + e.req.on("finish", c); + }; + return ( + (function (t) { + return t.setHeader && "function" == typeof t.abort; + })(e) + ? (e.on("complete", c), + e.on("abort", d), + e.req ? v() : e.on("request", v)) + : s && + !e._writableState && + (e.on("end", l), e.on("close", l)), + e.on("end", h), + e.on("finish", c), + !1 !== r.error && e.on("error", p), + e.on("close", d), + function () { + e.removeListener("complete", c), + e.removeListener("abort", d), + e.removeListener("request", v), + e.req && e.req.removeListener("finish", c), + e.removeListener("end", l), + e.removeListener("close", l), + e.removeListener("finish", c), + e.removeListener("end", h), + e.removeListener("error", p), + e.removeListener("close", d); + } + ); + }; + }, + 31748: function (t) { + t.exports = function () { + throw new Error( + "Readable.from is not available in the browser", + ); + }; + }, + 10168: function (t, e, r) { + "use strict"; + var n, + i = r(74322).q, + a = i.ERR_MISSING_ARGS, + o = i.ERR_STREAM_DESTROYED; + function s(t) { + if (t) throw t; + } + function l(t, e, i, a) { + a = (function (t) { + var e = !1; + return function () { + e || ((e = !0), t.apply(void 0, arguments)); + }; + })(a); + var s = !1; + t.on("close", function () { + s = !0; + }), + void 0 === n && (n = r(12726)), + n(t, { readable: e, writable: i }, function (t) { + if (t) return a(t); + (s = !0), a(); + }); + var l = !1; + return function (e) { + if (!s && !l) + return ( + (l = !0), + (function (t) { + return ( + t.setHeader && "function" == typeof t.abort + ); + })(t) + ? t.abort() + : "function" == typeof t.destroy + ? t.destroy() + : void a(e || new o("pipe")) + ); + }; + } + function u(t) { + t(); + } + function c(t, e) { + return t.pipe(e); + } + function f(t) { + return t.length + ? "function" != typeof t[t.length - 1] + ? s + : t.pop() + : s; + } + t.exports = function () { + for ( + var t = arguments.length, e = new Array(t), r = 0; + r < t; + r++ + ) + e[r] = arguments[r]; + var n, + i = f(e); + if ((Array.isArray(e[0]) && (e = e[0]), e.length < 2)) + throw new a("streams"); + var o = e.map(function (t, r) { + var a = r < e.length - 1; + return l(t, a, r > 0, function (t) { + n || (n = t), + t && o.forEach(u), + a || (o.forEach(u), i(n)); + }); + }); + return e.reduce(c); + }; + }, + 56306: function (t, e, r) { + "use strict"; + var n = r(74322).q.ERR_INVALID_OPT_VALUE; + t.exports = { + getHighWaterMark: function (t, e, r, i) { + var a = (function (t, e, r) { + return null != t.highWaterMark + ? t.highWaterMark + : e + ? t[r] + : null; + })(e, i, r); + if (null != a) { + if (!isFinite(a) || Math.floor(a) !== a || a < 0) + throw new n(i ? r : "highWaterMark", a); + return Math.floor(a); + } + return t.objectMode ? 16 : 16384; + }, + }; + }, + 71405: function (t, e, r) { + t.exports = r(15398).EventEmitter; + }, + 68019: function (t, e, r) { + "use strict"; + var n = r(71665).Buffer, + i = + n.isEncoding || + function (t) { + switch ((t = "" + t) && t.toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + case "raw": + return !0; + default: + return !1; + } + }; + function a(t) { + var e; + switch ( + ((this.encoding = (function (t) { + var e = (function (t) { + if (!t) return "utf8"; + for (var e; ; ) + switch (t) { + case "utf8": + case "utf-8": + return "utf8"; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return "utf16le"; + case "latin1": + case "binary": + return "latin1"; + case "base64": + case "ascii": + case "hex": + return t; + default: + if (e) return; + (t = ("" + t).toLowerCase()), (e = !0); + } + })(t); + if ( + "string" != typeof e && + (n.isEncoding === i || !i(t)) + ) + throw new Error("Unknown encoding: " + t); + return e || t; + })(t)), + this.encoding) + ) { + case "utf16le": + (this.text = l), (this.end = u), (e = 4); + break; + case "utf8": + (this.fillLast = s), (e = 4); + break; + case "base64": + (this.text = c), (this.end = f), (e = 3); + break; + default: + return (this.write = h), void (this.end = p); + } + (this.lastNeed = 0), + (this.lastTotal = 0), + (this.lastChar = n.allocUnsafe(e)); + } + function o(t) { + return t <= 127 + ? 0 + : t >> 5 == 6 + ? 2 + : t >> 4 == 14 + ? 3 + : t >> 3 == 30 + ? 4 + : t >> 6 == 2 + ? -1 + : -2; + } + function s(t) { + var e = this.lastTotal - this.lastNeed, + r = (function (t, e, r) { + if (128 != (192 & e[0])) + return (t.lastNeed = 0), "�"; + if (t.lastNeed > 1 && e.length > 1) { + if (128 != (192 & e[1])) + return (t.lastNeed = 1), "�"; + if ( + t.lastNeed > 2 && + e.length > 2 && + 128 != (192 & e[2]) + ) + return (t.lastNeed = 2), "�"; + } + })(this, t); + return void 0 !== r + ? r + : this.lastNeed <= t.length + ? (t.copy(this.lastChar, e, 0, this.lastNeed), + this.lastChar.toString( + this.encoding, + 0, + this.lastTotal, + )) + : (t.copy(this.lastChar, e, 0, t.length), + void (this.lastNeed -= t.length)); + } + function l(t, e) { + if ((t.length - e) % 2 == 0) { + var r = t.toString("utf16le", e); + if (r) { + var n = r.charCodeAt(r.length - 1); + if (n >= 55296 && n <= 56319) + return ( + (this.lastNeed = 2), + (this.lastTotal = 4), + (this.lastChar[0] = t[t.length - 2]), + (this.lastChar[1] = t[t.length - 1]), + r.slice(0, -1) + ); + } + return r; + } + return ( + (this.lastNeed = 1), + (this.lastTotal = 2), + (this.lastChar[0] = t[t.length - 1]), + t.toString("utf16le", e, t.length - 1) + ); + } + function u(t) { + var e = t && t.length ? this.write(t) : ""; + if (this.lastNeed) { + var r = this.lastTotal - this.lastNeed; + return e + this.lastChar.toString("utf16le", 0, r); + } + return e; + } + function c(t, e) { + var r = (t.length - e) % 3; + return 0 === r + ? t.toString("base64", e) + : ((this.lastNeed = 3 - r), + (this.lastTotal = 3), + 1 === r + ? (this.lastChar[0] = t[t.length - 1]) + : ((this.lastChar[0] = t[t.length - 2]), + (this.lastChar[1] = t[t.length - 1])), + t.toString("base64", e, t.length - r)); + } + function f(t) { + var e = t && t.length ? this.write(t) : ""; + return this.lastNeed + ? e + + this.lastChar.toString( + "base64", + 0, + 3 - this.lastNeed, + ) + : e; + } + function h(t) { + return t.toString(this.encoding); + } + function p(t) { + return t && t.length ? this.write(t) : ""; + } + (e.s = a), + (a.prototype.write = function (t) { + if (0 === t.length) return ""; + var e, r; + if (this.lastNeed) { + if (void 0 === (e = this.fillLast(t))) return ""; + (r = this.lastNeed), (this.lastNeed = 0); + } else r = 0; + return r < t.length + ? e + ? e + this.text(t, r) + : this.text(t, r) + : e || ""; + }), + (a.prototype.end = function (t) { + var e = t && t.length ? this.write(t) : ""; + return this.lastNeed ? e + "�" : e; + }), + (a.prototype.text = function (t, e) { + var r = (function (t, e, r) { + var n = e.length - 1; + if (n < r) return 0; + var i = o(e[n]); + return i >= 0 + ? (i > 0 && (t.lastNeed = i - 1), i) + : --n < r || -2 === i + ? 0 + : (i = o(e[n])) >= 0 + ? (i > 0 && (t.lastNeed = i - 2), i) + : --n < r || -2 === i + ? 0 + : (i = o(e[n])) >= 0 + ? (i > 0 && + (2 === i ? (i = 0) : (t.lastNeed = i - 3)), + i) + : 0; + })(this, t, e); + if (!this.lastNeed) return t.toString("utf8", e); + this.lastTotal = r; + var n = t.length - (r - this.lastNeed); + return ( + t.copy(this.lastChar, 0, n), + t.toString("utf8", e, n) + ); + }), + (a.prototype.fillLast = function (t) { + if (this.lastNeed <= t.length) + return ( + t.copy( + this.lastChar, + this.lastTotal - this.lastNeed, + 0, + this.lastNeed, + ), + this.lastChar.toString( + this.encoding, + 0, + this.lastTotal, + ) + ); + t.copy( + this.lastChar, + this.lastTotal - this.lastNeed, + 0, + t.length, + ), + (this.lastNeed -= t.length); + }); + }, + 90715: function (t, e, r) { + var n = r(32791), + i = r(41633)("stream-parser"); + function a(t) { + i("initializing parser stream"), + (t._parserBytesLeft = 0), + (t._parserBuffers = []), + (t._parserBuffered = 0), + (t._parserState = -1), + (t._parserCallback = null), + "function" == typeof t.push && + (t._parserOutput = t.push.bind(t)), + (t._parserInit = !0); + } + function o(t, e) { + n( + !this._parserCallback, + 'there is already a "callback" set!', + ), + n( + isFinite(t) && t > 0, + 'can only buffer a finite number of bytes > 0, got "' + + t + + '"', + ), + this._parserInit || a(this), + i("buffering %o bytes", t), + (this._parserBytesLeft = t), + (this._parserCallback = e), + (this._parserState = 0); + } + function s(t, e) { + n( + !this._parserCallback, + 'there is already a "callback" set!', + ), + n(t > 0, 'can only skip > 0 bytes, got "' + t + '"'), + this._parserInit || a(this), + i("skipping %o bytes", t), + (this._parserBytesLeft = t), + (this._parserCallback = e), + (this._parserState = 1); + } + function l(t, e) { + n( + !this._parserCallback, + 'There is already a "callback" set!', + ), + n( + t > 0, + 'can only pass through > 0 bytes, got "' + t + '"', + ), + this._parserInit || a(this), + i("passing through %o bytes", t), + (this._parserBytesLeft = t), + (this._parserCallback = e), + (this._parserState = 2); + } + function u(t, e, r) { + this._parserInit || a(this), + i("write(%o bytes)", t.length), + "function" == typeof e && (r = e), + h(this, t, null, r); + } + function c(t, e, r) { + this._parserInit || a(this), + i("transform(%o bytes)", t.length), + "function" != typeof e && (e = this._parserOutput), + h(this, t, e, r); + } + function f(t, e, r, n) { + if ( + ((t._parserBytesLeft -= e.length), + i( + "%o bytes left for stream piece", + t._parserBytesLeft, + ), + 0 === t._parserState + ? (t._parserBuffers.push(e), + (t._parserBuffered += e.length)) + : 2 === t._parserState && r(e), + 0 !== t._parserBytesLeft) + ) + return n; + var a = t._parserCallback; + if ( + (a && + 0 === t._parserState && + t._parserBuffers.length > 1 && + (e = Buffer.concat( + t._parserBuffers, + t._parserBuffered, + )), + 0 !== t._parserState && (e = null), + (t._parserCallback = null), + (t._parserBuffered = 0), + (t._parserState = -1), + t._parserBuffers.splice(0), + a) + ) { + var o = []; + e && o.push(e), r && o.push(r); + var s = a.length > o.length; + s && o.push(p(n)); + var l = a.apply(t, o); + if (!s || n === l) return n; + } + } + t.exports = function (t) { + var e = t && "function" == typeof t._transform, + r = t && "function" == typeof t._write; + if (!e && !r) + throw new Error( + "must pass a Writable or Transform stream in", + ); + i("extending Parser into stream"), + (t._bytes = o), + (t._skipBytes = s), + e && (t._passthrough = l), + e ? (t._transform = c) : (t._write = u); + }; + var h = p(function t(e, r, n, i) { + return e._parserBytesLeft <= 0 + ? i( + new Error( + "got data but not currently parsing anything", + ), + ) + : r.length <= e._parserBytesLeft + ? function () { + return f(e, r, n, i); + } + : function () { + var a = r.slice(0, e._parserBytesLeft); + return f(e, a, n, function (o) { + return o + ? i(o) + : r.length > a.length + ? function () { + return t(e, r.slice(a.length), n, i); + } + : void 0; + }); + }; + }); + function p(t) { + return function () { + for ( + var e = t.apply(this, arguments); + "function" == typeof e; + + ) + e = e(); + return e; + }; + } + }, + 41633: function (t, e, r) { + var n = r(90386); + function i() { + var t; + try { + t = e.storage.debug; + } catch (t) {} + return ( + !t && void 0 !== n && "env" in n && (t = n.env.DEBUG), + t + ); + } + ((e = t.exports = r(74469)).log = function () { + return ( + "object" == typeof console && + console.log && + Function.prototype.apply.call( + console.log, + console, + arguments, + ) + ); + }), + (e.formatArgs = function (t) { + var r = this.useColors; + if ( + ((t[0] = + (r ? "%c" : "") + + this.namespace + + (r ? " %c" : " ") + + t[0] + + (r ? "%c " : " ") + + "+" + + e.humanize(this.diff)), + r) + ) { + var n = "color: " + this.color; + t.splice(1, 0, n, "color: inherit"); + var i = 0, + a = 0; + t[0].replace(/%[a-zA-Z%]/g, function (t) { + "%%" !== t && (i++, "%c" === t && (a = i)); + }), + t.splice(a, 0, n); + } + }), + (e.save = function (t) { + try { + null == t + ? e.storage.removeItem("debug") + : (e.storage.debug = t); + } catch (t) {} + }), + (e.load = i), + (e.useColors = function () { + return ( + !( + "undefined" == typeof window || + !window.process || + "renderer" !== window.process.type + ) || + ("undefined" != typeof document && + document.documentElement && + document.documentElement.style && + document.documentElement.style + .WebkitAppearance) || + ("undefined" != typeof window && + window.console && + (window.console.firebug || + (window.console.exception && + window.console.table))) || + ("undefined" != typeof navigator && + navigator.userAgent && + navigator.userAgent + .toLowerCase() + .match(/firefox\/(\d+)/) && + parseInt(RegExp.$1, 10) >= 31) || + ("undefined" != typeof navigator && + navigator.userAgent && + navigator.userAgent + .toLowerCase() + .match(/applewebkit\/(\d+)/)) + ); + }), + (e.storage = + "undefined" != typeof chrome && + void 0 !== chrome.storage + ? chrome.storage.local + : (function () { + try { + return window.localStorage; + } catch (t) {} + })()), + (e.colors = [ + "lightseagreen", + "forestgreen", + "goldenrod", + "dodgerblue", + "darkorchid", + "crimson", + ]), + (e.formatters.j = function (t) { + try { + return JSON.stringify(t); + } catch (t) { + return "[UnexpectedJSONParseError]: " + t.message; + } + }), + e.enable(i()); + }, + 74469: function (t, e, r) { + var n; + function i(t) { + function r() { + if (r.enabled) { + var t = r, + i = +new Date(), + a = i - (n || i); + (t.diff = a), (t.prev = n), (t.curr = i), (n = i); + for ( + var o = new Array(arguments.length), s = 0; + s < o.length; + s++ + ) + o[s] = arguments[s]; + (o[0] = e.coerce(o[0])), + "string" != typeof o[0] && o.unshift("%O"); + var l = 0; + (o[0] = o[0].replace( + /%([a-zA-Z%])/g, + function (r, n) { + if ("%%" === r) return r; + l++; + var i = e.formatters[n]; + if ("function" == typeof i) { + var a = o[l]; + (r = i.call(t, a)), o.splice(l, 1), l--; + } + return r; + }, + )), + e.formatArgs.call(t, o); + var u = r.log || e.log || console.log.bind(console); + u.apply(t, o); + } + } + return ( + (r.namespace = t), + (r.enabled = e.enabled(t)), + (r.useColors = e.useColors()), + (r.color = (function (t) { + var r, + n = 0; + for (r in t) + (n = (n << 5) - n + t.charCodeAt(r)), (n |= 0); + return e.colors[Math.abs(n) % e.colors.length]; + })(t)), + "function" == typeof e.init && e.init(r), + r + ); + } + ((e = t.exports = i.debug = i.default = i).coerce = + function (t) { + return t instanceof Error ? t.stack || t.message : t; + }), + (e.disable = function () { + e.enable(""); + }), + (e.enable = function (t) { + e.save(t), (e.names = []), (e.skips = []); + for ( + var r = ("string" == typeof t ? t : "").split( + /[\s,]+/, + ), + n = r.length, + i = 0; + i < n; + i++ + ) + r[i] && + ("-" === (t = r[i].replace(/\*/g, ".*?"))[0] + ? e.skips.push( + new RegExp("^" + t.substr(1) + "$"), + ) + : e.names.push(new RegExp("^" + t + "$"))); + }), + (e.enabled = function (t) { + var r, n; + for (r = 0, n = e.skips.length; r < n; r++) + if (e.skips[r].test(t)) return !1; + for (r = 0, n = e.names.length; r < n; r++) + if (e.names[r].test(t)) return !0; + return !1; + }), + (e.humanize = r(11375)), + (e.names = []), + (e.skips = []), + (e.formatters = {}); + }, + 11375: function (t) { + var e = 1e3, + r = 60 * e, + n = 60 * r, + i = 24 * n; + function a(t, e, r) { + if (!(t < e)) + return t < 1.5 * e + ? Math.floor(t / e) + " " + r + : Math.ceil(t / e) + " " + r + "s"; + } + t.exports = function (t, o) { + o = o || {}; + var s, + l = typeof t; + if ("string" === l && t.length > 0) + return (function (t) { + if (!((t = String(t)).length > 100)) { + var a = + /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec( + t, + ); + if (a) { + var o = parseFloat(a[1]); + switch ((a[2] || "ms").toLowerCase()) { + case "years": + case "year": + case "yrs": + case "yr": + case "y": + return 315576e5 * o; + case "days": + case "day": + case "d": + return o * i; + case "hours": + case "hour": + case "hrs": + case "hr": + case "h": + return o * n; + case "minutes": + case "minute": + case "mins": + case "min": + case "m": + return o * r; + case "seconds": + case "second": + case "secs": + case "sec": + case "s": + return o * e; + case "milliseconds": + case "millisecond": + case "msecs": + case "msec": + case "ms": + return o; + default: + return; + } + } + } + })(t); + if ("number" === l && !1 === isNaN(t)) + return o.long + ? a((s = t), i, "day") || + a(s, n, "hour") || + a(s, r, "minute") || + a(s, e, "second") || + s + " ms" + : (function (t) { + return t >= i + ? Math.round(t / i) + "d" + : t >= n + ? Math.round(t / n) + "h" + : t >= r + ? Math.round(t / r) + "m" + : t >= e + ? Math.round(t / e) + "s" + : t + "ms"; + })(t); + throw new Error( + "val is not a non-empty string or a valid number. val=" + + JSON.stringify(t), + ); + }; + }, + 99011: function (t, e, r) { + "use strict"; + var n = r(88641); + t.exports = function (t, e, r) { + if (null == t) + throw Error("First argument should be a string"); + if (null == e) + throw Error( + "Separator should be a string or a RegExp", + ); + r + ? ("string" == typeof r || Array.isArray(r)) && + (r = { ignore: r }) + : (r = {}), + null == r.escape && (r.escape = !0), + null == r.ignore + ? (r.ignore = [ + "[]", + "()", + "{}", + "<>", + '""', + "''", + "``", + "“”", + "«»", + ]) + : ("string" == typeof r.ignore && + (r.ignore = [r.ignore]), + (r.ignore = r.ignore.map(function (t) { + return 1 === t.length && (t += t), t; + }))); + var i = n.parse(t, { flat: !0, brackets: r.ignore }), + a = i[0].split(e); + if (r.escape) { + for (var o = [], s = 0; s < a.length; s++) { + var l = a[s], + u = a[s + 1]; + "\\" === l[l.length - 1] && "\\" !== l[l.length - 2] + ? (o.push(l + e + u), s++) + : o.push(l); + } + a = o; + } + for (s = 0; s < a.length; s++) + (i[0] = a[s]), (a[s] = n.stringify(i, { flat: !0 })); + return a; + }; + }, + 68664: function (t) { + "use strict"; + t.exports = 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, + f = [], + h = []; + 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 v = p[d]; + if (r[v] < 0) { + (r[v] = n[v] = c), + (i[v] = !0), + (c += 1), + l.push(v), + u.push(v); + break; + } + i[v] && (n[e] = 0 | Math.min(n[e], n[v])), + o[v] >= 0 && s[e].push(o[v]); + } + a[e] = d; + } else { + if (n[e] === r[e]) { + var g = [], + y = [], + m = 0; + for (d = l.length - 1; d >= 0; --d) { + var x = l[d]; + if ( + ((i[x] = !1), + g.push(x), + y.push(s[x]), + (m += s[x].length), + (o[x] = f.length), + x === e) + ) { + l.length = d; + break; + } + } + f.push(g); + var b = new Array(m); + for (d = 0; d < y.length; d++) + for (var _ = 0; _ < y[d].length; _++) + b[--m] = y[d][_]; + h.push(b); + } + u.pop(); + } + } + } + for (l = 0; l < e; ++l) r[l] < 0 && p(l); + for (l = 0; l < h.length; l++) { + var d = h[l]; + if (0 !== d.length) { + d.sort(function (t, e) { + return t - e; + }), + (u = [d[0]]); + for (var v = 1; v < d.length; v++) + d[v] !== d[v - 1] && u.push(d[v]); + h[l] = u; + } + } + return { components: f, adjacencyList: h }; + }; + }, + 7095: function (t, e, r) { + "use strict"; + r.r(e); + var n = 2 * Math.PI, + i = 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, + }; + }, + a = function (t, e) { + var r = + 1.5707963267948966 === e + ? 0.551915024494 + : -1.5707963267948966 === e + ? -0.551915024494 + : (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 }, + ]; + }, + o = function (t, e, r, n) { + var i = t * r + e * n; + return ( + i > 1 && (i = 1), + i < -1 && (i = -1), + (t * n - e * r < 0 ? -1 : 1) * Math.acos(i) + ); + }; + e.default = function (t) { + var e = t.px, + r = t.py, + s = t.cx, + l = t.cy, + u = t.rx, + c = t.ry, + f = t.xAxisRotation, + h = void 0 === f ? 0 : f, + p = t.largeArcFlag, + d = void 0 === p ? 0 : p, + v = t.sweepFlag, + g = void 0 === v ? 0 : v, + y = []; + if (0 === u || 0 === c) return []; + var m = Math.sin((h * n) / 360), + x = Math.cos((h * n) / 360), + b = (x * (e - s)) / 2 + (m * (r - l)) / 2, + _ = (-m * (e - s)) / 2 + (x * (r - l)) / 2; + if (0 === b && 0 === _) return []; + (u = Math.abs(u)), (c = Math.abs(c)); + var w = + Math.pow(b, 2) / Math.pow(u, 2) + + Math.pow(_, 2) / Math.pow(c, 2); + w > 1 && ((u *= Math.sqrt(w)), (c *= Math.sqrt(w))); + var T = (function (t, e, r, i, a, s, l, u, c, f, h, p) { + var d = Math.pow(a, 2), + v = Math.pow(s, 2), + g = Math.pow(h, 2), + y = Math.pow(p, 2), + m = d * v - d * y - v * g; + m < 0 && (m = 0), (m /= d * y + v * g); + var x = + (((m = Math.sqrt(m) * (l === u ? -1 : 1)) * a) / + s) * + p, + b = ((m * -s) / a) * h, + _ = f * x - c * b + (t + r) / 2, + w = c * x + f * b + (e + i) / 2, + T = (h - x) / a, + k = (p - b) / s, + A = (-h - x) / a, + M = (-p - b) / s, + S = o(1, 0, T, k), + E = o(T, k, A, M); + return ( + 0 === u && E > 0 && (E -= n), + 1 === u && E < 0 && (E += n), + [_, w, S, E] + ); + })(e, r, s, l, u, c, d, g, m, x, b, _), + k = (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", + ); + })(T, 4), + A = k[0], + M = k[1], + S = k[2], + E = k[3], + L = Math.abs(E) / (n / 4); + Math.abs(1 - L) < 1e-7 && (L = 1); + var C = Math.max(Math.ceil(L), 1); + E /= C; + for (var O = 0; O < C; O++) y.push(a(S, E)), (S += E); + return y.map(function (t) { + var e = i(t[0], u, c, x, m, A, M), + r = e.x, + n = e.y, + a = i(t[1], u, c, x, m, A, M), + o = a.x, + s = a.y, + l = i(t[2], u, c, x, m, A, M); + return { x1: r, y1: n, x2: o, y2: s, x: l.x, y: l.y }; + }); + }; + }, + 1750: function (t, e, r) { + "use strict"; + var n = r(95616), + i = r(65185), + a = r(29988), + o = r(89546), + s = r(32791); + t.exports = function (t) { + if ( + (Array.isArray(t) && + 1 === t.length && + "string" == typeof t[0] && + (t = t[0]), + "string" == typeof t && + (s(o(t), "String is not an SVG path."), (t = n(t))), + s( + Array.isArray(t), + "Argument should be a string or an array of path segments.", + ), + (t = i(t)), + !(t = a(t)).length) + ) + return [0, 0, 0, 0]; + for ( + var e = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + r = 0, + l = t.length; + r < l; + r++ + ) + for ( + var u = t[r].slice(1), c = 0; + c < u.length; + c += 2 + ) + u[c + 0] < e[0] && (e[0] = u[c + 0]), + u[c + 1] < e[1] && (e[1] = u[c + 1]), + u[c + 0] > e[2] && (e[2] = u[c + 0]), + u[c + 1] > e[3] && (e[3] = u[c + 1]); + return e; + }; + }, + 29988: function (t, e, r) { + "use strict"; + t.exports = function (t) { + for ( + var e, + r = [], + o = 0, + s = 0, + l = 0, + u = 0, + c = null, + f = null, + h = 0, + p = 0, + d = 0, + v = t.length; + d < v; + d++ + ) { + var g = t[d], + y = g[0]; + switch (y) { + case "M": + (l = g[1]), (u = g[2]); + break; + case "A": + var m = n({ + px: h, + py: p, + cx: g[6], + cy: g[7], + rx: g[1], + ry: g[2], + xAxisRotation: g[3], + largeArcFlag: g[4], + sweepFlag: g[5], + }); + if (!m.length) continue; + for (var x, b = 0; b < m.length; b++) + (g = [ + "C", + (x = m[b]).x1, + x.y1, + x.x2, + x.y2, + x.x, + x.y, + ]), + b < m.length - 1 && r.push(g); + break; + case "S": + var _ = h, + w = p; + ("C" != e && "S" != e) || + ((_ += _ - o), (w += w - s)), + (g = ["C", _, w, g[1], g[2], g[3], g[4]]); + break; + case "T": + "Q" == e || "T" == e + ? ((c = 2 * h - c), (f = 2 * p - f)) + : ((c = h), (f = p)), + (g = a(h, p, c, f, g[1], g[2])); + break; + case "Q": + (c = g[1]), + (f = g[2]), + (g = a(h, p, g[1], g[2], g[3], g[4])); + break; + case "L": + g = i(h, p, g[1], g[2]); + break; + case "H": + g = i(h, p, g[1], p); + break; + case "V": + g = i(h, p, h, g[1]); + break; + case "Z": + g = i(h, p, l, u); + } + (e = y), + (h = g[g.length - 2]), + (p = g[g.length - 1]), + g.length > 4 + ? ((o = g[g.length - 4]), (s = g[g.length - 3])) + : ((o = h), (s = p)), + r.push(g); + } + return r; + }; + var n = r(7095); + function i(t, e, r, n) { + return ["C", t, e, r, n, r, n]; + } + function a(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, + ]; + } + }, + 82019: function (t, e, r) { + "use strict"; + var n, + i = r(1750), + a = r(95616), + o = r(31457), + s = r(89546), + l = r(44781), + u = document.createElement("canvas"), + c = u.getContext("2d"); + t.exports = function (t, e) { + if (!s(t)) + throw Error( + "Argument should be valid svg path string", + ); + var r, f; + e || (e = {}), + e.shape + ? ((r = e.shape[0]), (f = e.shape[1])) + : ((r = u.width = e.w || e.width || 200), + (f = u.height = e.h || e.height || 200)); + var h = Math.min(r, f), + p = e.stroke || 0, + d = e.viewbox || e.viewBox || i(t), + v = [r / (d[2] - d[0]), f / (d[3] - d[1])], + g = Math.min(v[0] || 0, v[1] || 0) / 2; + if ( + ((c.fillStyle = "black"), + c.fillRect(0, 0, r, f), + (c.fillStyle = "white"), + p && + ("number" != typeof p && (p = 1), + (c.strokeStyle = p > 0 ? "white" : "black"), + (c.lineWidth = Math.abs(p))), + c.translate(0.5 * r, 0.5 * f), + c.scale(g, g), + (function () { + if (null != n) return n; + var t = document + .createElement("canvas") + .getContext("2d"); + if ( + ((t.canvas.width = t.canvas.height = 1), + !window.Path2D) + ) + return (n = !1); + var e = new Path2D("M0,0h1v1h-1v-1Z"); + (t.fillStyle = "black"), t.fill(e); + var r = t.getImageData(0, 0, 1, 1); + return (n = r && r.data && 255 === r.data[3]); + })()) + ) { + var y = new Path2D(t); + c.fill(y), p && c.stroke(y); + } else { + var m = a(t); + o(c, m), c.fill(), p && c.stroke(); + } + return ( + c.setTransform(1, 0, 0, 1, 0, 0), + l(c, { + cutoff: null != e.cutoff ? e.cutoff : 0.5, + radius: null != e.radius ? e.radius : 0.5 * h, + }) + ); + }; + }, + 84267: function (t, e, r) { + var n; + !(function (i) { + var a = /^\s+/, + o = /\s+$/, + s = 0, + l = i.round, + u = i.min, + c = i.max, + f = i.random; + function h(t, e) { + if (((e = e || {}), (t = t || "") instanceof h)) + return t; + if (!(this instanceof h)) return new h(t, e); + var r = (function (t) { + var e, + r, + n, + s = { r: 0, g: 0, b: 0 }, + l = 1, + f = null, + h = null, + p = null, + d = !1, + v = !1; + return ( + "string" == typeof t && + (t = (function (t) { + t = t + .replace(a, "") + .replace(o, "") + .toLowerCase(); + var e, + r = !1; + if (C[t]) (t = C[t]), (r = !0); + else if ("transparent" == t) + return { + r: 0, + g: 0, + b: 0, + a: 0, + format: "name", + }; + return (e = H.rgb.exec(t)) + ? { r: e[1], g: e[2], b: e[3] } + : (e = H.rgba.exec(t)) + ? { r: e[1], g: e[2], b: e[3], a: e[4] } + : (e = H.hsl.exec(t)) + ? { h: e[1], s: e[2], l: e[3] } + : (e = H.hsla.exec(t)) + ? { h: e[1], s: e[2], l: e[3], a: e[4] } + : (e = H.hsv.exec(t)) + ? { h: e[1], s: e[2], v: e[3] } + : (e = H.hsva.exec(t)) + ? { h: e[1], s: e[2], v: e[3], a: e[4] } + : (e = H.hex8.exec(t)) + ? { + r: z(e[1]), + g: z(e[2]), + b: z(e[3]), + a: N(e[4]), + format: r ? "name" : "hex8", + } + : (e = H.hex6.exec(t)) + ? { + r: z(e[1]), + g: z(e[2]), + b: z(e[3]), + format: r ? "name" : "hex", + } + : (e = H.hex4.exec(t)) + ? { + r: z(e[1] + "" + e[1]), + g: z(e[2] + "" + e[2]), + b: z(e[3] + "" + e[3]), + a: N(e[4] + "" + e[4]), + format: r ? "name" : "hex8", + } + : !!(e = H.hex3.exec(t)) && { + r: z(e[1] + "" + e[1]), + g: z(e[2] + "" + e[2]), + b: z(e[3] + "" + e[3]), + format: r ? "name" : "hex", + }; + })(t)), + "object" == typeof t && + (q(t.r) && q(t.g) && q(t.b) + ? ((e = t.r), + (r = t.g), + (n = t.b), + (s = { + r: 255 * I(e, 255), + g: 255 * I(r, 255), + b: 255 * I(n, 255), + }), + (d = !0), + (v = + "%" === String(t.r).substr(-1) + ? "prgb" + : "rgb")) + : q(t.h) && q(t.s) && q(t.v) + ? ((f = F(t.s)), + (h = F(t.v)), + (s = (function (t, e, r) { + (t = 6 * I(t, 360)), + (e = I(e, 100)), + (r = I(r, 100)); + var n = i.floor(t), + a = t - n, + o = r * (1 - e), + s = r * (1 - a * e), + l = r * (1 - (1 - a) * e), + u = n % 6; + return { + r: 255 * [r, s, o, o, l, r][u], + g: 255 * [l, r, r, s, o, o][u], + b: 255 * [o, o, l, r, r, s][u], + }; + })(t.h, f, h)), + (d = !0), + (v = "hsv")) + : q(t.h) && + q(t.s) && + q(t.l) && + ((f = F(t.s)), + (p = F(t.l)), + (s = (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 < 0.5 + ? e + : r < 2 / 3 + ? t + (e - t) * (2 / 3 - r) * 6 + : t + ); + } + if ( + ((t = I(t, 360)), + (e = I(e, 100)), + (r = I(r, 100)), + 0 === e) + ) + n = i = a = r; + else { + var s = + r < 0.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, + }; + })(t.h, f, p)), + (d = !0), + (v = "hsl")), + t.hasOwnProperty("a") && (l = t.a)), + (l = P(l)), + { + ok: d, + format: t.format || v, + r: u(255, c(s.r, 0)), + g: u(255, c(s.g, 0)), + b: u(255, c(s.b, 0)), + a: l, + } + ); + })(t); + (this._originalInput = t), + (this._r = r.r), + (this._g = r.g), + (this._b = r.b), + (this._a = r.a), + (this._roundA = l(100 * this._a) / 100), + (this._format = e.format || r.format), + (this._gradientType = e.gradientType), + this._r < 1 && (this._r = l(this._r)), + this._g < 1 && (this._g = l(this._g)), + this._b < 1 && (this._b = l(this._b)), + (this._ok = r.ok), + (this._tc_id = s++); + } + function p(t, e, r) { + (t = I(t, 255)), (e = I(e, 255)), (r = I(r, 255)); + var n, + i, + a = c(t, e, r), + o = u(t, e, r), + s = (a + o) / 2; + if (a == o) n = i = 0; + else { + var l = a - o; + switch ( + ((i = s > 0.5 ? l / (2 - a - o) : l / (a + o)), a) + ) { + case t: + n = (e - r) / l + (e < r ? 6 : 0); + break; + case e: + n = (r - t) / l + 2; + break; + case r: + n = (t - e) / l + 4; + } + n /= 6; + } + return { h: n, s: i, l: s }; + } + function d(t, e, r) { + (t = I(t, 255)), (e = I(e, 255)), (r = I(r, 255)); + var n, + i, + a = c(t, e, r), + o = u(t, e, r), + s = a, + l = a - o; + if (((i = 0 === a ? 0 : l / a), a == o)) n = 0; + else { + switch (a) { + case t: + n = (e - r) / l + (e < r ? 6 : 0); + break; + case e: + n = (r - t) / l + 2; + break; + case r: + n = (t - e) / l + 4; + } + n /= 6; + } + return { h: n, s: i, v: s }; + } + function v(t, e, r, n) { + var i = [ + R(l(t).toString(16)), + R(l(e).toString(16)), + R(l(r).toString(16)), + ]; + return n && + i[0].charAt(0) == i[0].charAt(1) && + i[1].charAt(0) == i[1].charAt(1) && + i[2].charAt(0) == i[2].charAt(1) + ? i[0].charAt(0) + i[1].charAt(0) + i[2].charAt(0) + : i.join(""); + } + function g(t, e, r, n) { + return [ + R(B(n)), + R(l(t).toString(16)), + R(l(e).toString(16)), + R(l(r).toString(16)), + ].join(""); + } + function y(t, e) { + e = 0 === e ? 0 : e || 10; + var r = h(t).toHsl(); + return (r.s -= e / 100), (r.s = D(r.s)), h(r); + } + function m(t, e) { + e = 0 === e ? 0 : e || 10; + var r = h(t).toHsl(); + return (r.s += e / 100), (r.s = D(r.s)), h(r); + } + function x(t) { + return h(t).desaturate(100); + } + function b(t, e) { + e = 0 === e ? 0 : e || 10; + var r = h(t).toHsl(); + return (r.l += e / 100), (r.l = D(r.l)), h(r); + } + function _(t, e) { + e = 0 === e ? 0 : e || 10; + var r = h(t).toRgb(); + return ( + (r.r = c(0, u(255, r.r - l((-e / 100) * 255)))), + (r.g = c(0, u(255, r.g - l((-e / 100) * 255)))), + (r.b = c(0, u(255, r.b - l((-e / 100) * 255)))), + h(r) + ); + } + function w(t, e) { + e = 0 === e ? 0 : e || 10; + var r = h(t).toHsl(); + return (r.l -= e / 100), (r.l = D(r.l)), h(r); + } + function T(t, e) { + var r = h(t).toHsl(), + n = (r.h + e) % 360; + return (r.h = n < 0 ? 360 + n : n), h(r); + } + function k(t) { + var e = h(t).toHsl(); + return (e.h = (e.h + 180) % 360), h(e); + } + function A(t) { + var e = h(t).toHsl(), + r = e.h; + return [ + h(t), + h({ h: (r + 120) % 360, s: e.s, l: e.l }), + h({ h: (r + 240) % 360, s: e.s, l: e.l }), + ]; + } + function M(t) { + var e = h(t).toHsl(), + r = e.h; + return [ + h(t), + h({ h: (r + 90) % 360, s: e.s, l: e.l }), + h({ h: (r + 180) % 360, s: e.s, l: e.l }), + h({ h: (r + 270) % 360, s: e.s, l: e.l }), + ]; + } + function S(t) { + var e = h(t).toHsl(), + r = e.h; + return [ + h(t), + h({ h: (r + 72) % 360, s: e.s, l: e.l }), + h({ h: (r + 216) % 360, s: e.s, l: e.l }), + ]; + } + function E(t, e, r) { + (e = e || 6), (r = r || 30); + var n = h(t).toHsl(), + i = 360 / r, + a = [h(t)]; + for (n.h = (n.h - ((i * e) >> 1) + 720) % 360; --e; ) + (n.h = (n.h + i) % 360), a.push(h(n)); + return a; + } + function L(t, e) { + e = e || 6; + for ( + var r = h(t).toHsv(), + n = r.h, + i = r.s, + a = r.v, + o = [], + s = 1 / e; + e--; + + ) + o.push(h({ h: n, s: i, v: a })), (a = (a + s) % 1); + return o; + } + (h.prototype = { + isDark: function () { + return this.getBrightness() < 128; + }, + isLight: function () { + return !this.isDark(); + }, + isValid: function () { + return this._ok; + }, + getOriginalInput: function () { + return this._originalInput; + }, + getFormat: function () { + return this._format; + }, + getAlpha: function () { + return this._a; + }, + getBrightness: function () { + var t = this.toRgb(); + return (299 * t.r + 587 * t.g + 114 * t.b) / 1e3; + }, + getLuminance: function () { + var t, + e, + r, + n = this.toRgb(); + return ( + (t = n.r / 255), + (e = n.g / 255), + (r = n.b / 255), + 0.2126 * + (t <= 0.03928 + ? t / 12.92 + : i.pow((t + 0.055) / 1.055, 2.4)) + + 0.7152 * + (e <= 0.03928 + ? e / 12.92 + : i.pow((e + 0.055) / 1.055, 2.4)) + + 0.0722 * + (r <= 0.03928 + ? r / 12.92 + : i.pow((r + 0.055) / 1.055, 2.4)) + ); + }, + setAlpha: function (t) { + return ( + (this._a = P(t)), + (this._roundA = l(100 * this._a) / 100), + this + ); + }, + toHsv: function () { + var t = d(this._r, this._g, this._b); + return { h: 360 * t.h, s: t.s, v: t.v, a: this._a }; + }, + toHsvString: function () { + var t = d(this._r, this._g, this._b), + e = l(360 * t.h), + r = l(100 * t.s), + n = l(100 * t.v); + return 1 == this._a + ? "hsv(" + e + ", " + r + "%, " + n + "%)" + : "hsva(" + + e + + ", " + + r + + "%, " + + n + + "%, " + + this._roundA + + ")"; + }, + toHsl: function () { + var t = p(this._r, this._g, this._b); + return { h: 360 * t.h, s: t.s, l: t.l, a: this._a }; + }, + toHslString: function () { + var t = p(this._r, this._g, this._b), + e = l(360 * t.h), + r = l(100 * t.s), + n = l(100 * t.l); + return 1 == this._a + ? "hsl(" + e + ", " + r + "%, " + n + "%)" + : "hsla(" + + e + + ", " + + r + + "%, " + + n + + "%, " + + this._roundA + + ")"; + }, + toHex: function (t) { + return v(this._r, this._g, this._b, t); + }, + toHexString: function (t) { + return "#" + this.toHex(t); + }, + toHex8: function (t) { + return (function (t, e, r, n, i) { + var a = [ + R(l(t).toString(16)), + R(l(e).toString(16)), + R(l(r).toString(16)), + R(B(n)), + ]; + return i && + a[0].charAt(0) == a[0].charAt(1) && + a[1].charAt(0) == a[1].charAt(1) && + a[2].charAt(0) == a[2].charAt(1) && + a[3].charAt(0) == a[3].charAt(1) + ? a[0].charAt(0) + + a[1].charAt(0) + + a[2].charAt(0) + + a[3].charAt(0) + : a.join(""); + })(this._r, this._g, this._b, this._a, t); + }, + toHex8String: function (t) { + return "#" + this.toHex8(t); + }, + toRgb: function () { + return { + r: l(this._r), + g: l(this._g), + b: l(this._b), + a: this._a, + }; + }, + toRgbString: function () { + return 1 == this._a + ? "rgb(" + + l(this._r) + + ", " + + l(this._g) + + ", " + + l(this._b) + + ")" + : "rgba(" + + l(this._r) + + ", " + + l(this._g) + + ", " + + l(this._b) + + ", " + + this._roundA + + ")"; + }, + toPercentageRgb: function () { + return { + r: l(100 * I(this._r, 255)) + "%", + g: l(100 * I(this._g, 255)) + "%", + b: l(100 * I(this._b, 255)) + "%", + a: this._a, + }; + }, + toPercentageRgbString: function () { + return 1 == this._a + ? "rgb(" + + l(100 * I(this._r, 255)) + + "%, " + + l(100 * I(this._g, 255)) + + "%, " + + l(100 * I(this._b, 255)) + + "%)" + : "rgba(" + + l(100 * I(this._r, 255)) + + "%, " + + l(100 * I(this._g, 255)) + + "%, " + + l(100 * I(this._b, 255)) + + "%, " + + this._roundA + + ")"; + }, + toName: function () { + return 0 === this._a + ? "transparent" + : !(this._a < 1) && + (O[v(this._r, this._g, this._b, !0)] || !1); + }, + toFilter: function (t) { + var e = "#" + g(this._r, this._g, this._b, this._a), + r = e, + n = this._gradientType + ? "GradientType = 1, " + : ""; + if (t) { + var i = h(t); + r = "#" + g(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 h(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(b, arguments); + }, + brighten: function () { + return this._applyModification(_, arguments); + }, + darken: function () { + return this._applyModification(w, arguments); + }, + desaturate: function () { + return this._applyModification(y, arguments); + }, + saturate: function () { + return this._applyModification(m, arguments); + }, + greyscale: function () { + return this._applyModification(x, arguments); + }, + spin: function () { + return this._applyModification(T, arguments); + }, + _applyCombination: function (t, e) { + return t.apply( + null, + [this].concat([].slice.call(e)), + ); + }, + analogous: function () { + return this._applyCombination(E, arguments); + }, + complement: function () { + return this._applyCombination(k, arguments); + }, + monochromatic: function () { + return this._applyCombination(L, arguments); + }, + splitcomplement: function () { + return this._applyCombination(S, arguments); + }, + triad: function () { + return this._applyCombination(A, arguments); + }, + tetrad: function () { + return this._applyCombination(M, arguments); + }, + }), + (h.fromRatio = function (t, e) { + if ("object" == typeof t) { + var r = {}; + for (var n in t) + t.hasOwnProperty(n) && + (r[n] = "a" === n ? t[n] : F(t[n])); + t = r; + } + return h(t, e); + }), + (h.equals = function (t, e) { + return ( + !(!t || !e) && + h(t).toRgbString() == h(e).toRgbString() + ); + }), + (h.random = function () { + return h.fromRatio({ r: f(), g: f(), b: f() }); + }), + (h.mix = function (t, e, r) { + r = 0 === r ? 0 : r || 50; + var n = h(t).toRgb(), + i = h(e).toRgb(), + a = r / 100; + return h({ + 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, + }); + }), + (h.readability = function (t, e) { + var r = h(t), + n = h(e); + return ( + (i.max(r.getLuminance(), n.getLuminance()) + + 0.05) / + (i.min(r.getLuminance(), n.getLuminance()) + 0.05) + ); + }), + (h.isReadable = function (t, e, r) { + var n, + i, + a, + o, + s, + l = h.readability(t, e); + switch ( + ((i = !1), + ((a = r), + (o = ( + (a = a || { level: "AA", size: "small" }) + .level || "AA" + ).toUpperCase()), + (s = (a.size || "small").toLowerCase()), + "AA" !== o && "AAA" !== o && (o = "AA"), + "small" !== s && "large" !== s && (s = "small"), + (n = { level: o, size: s })).level + n.size) + ) { + case "AAsmall": + case "AAAlarge": + i = l >= 4.5; + break; + case "AAlarge": + i = l >= 3; + break; + case "AAAsmall": + i = l >= 7; + } + return i; + }), + (h.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 u = 0; u < e.length; u++) + (n = h.readability(t, e[u])) > l && + ((l = n), (s = h(e[u]))); + return h.isReadable(t, s, { level: a, size: o }) || + !i + ? s + : ((r.includeFallbackColors = !1), + h.mostReadable(t, ["#fff", "#000"], r)); + }); + var C = (h.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", + }), + O = (h.hexNames = (function (t) { + var e = {}; + for (var r in t) + t.hasOwnProperty(r) && (e[t[r]] = r); + return e; + })(C)); + function P(t) { + return ( + (t = parseFloat(t)), + (isNaN(t) || t < 0 || t > 1) && (t = 1), + t + ); + } + function I(t, e) { + (function (t) { + return ( + "string" == typeof t && + -1 != t.indexOf(".") && + 1 === parseFloat(t) + ); + })(t) && (t = "100%"); + var r = (function (t) { + return "string" == typeof t && -1 != t.indexOf("%"); + })(t); + return ( + (t = u(e, c(0, parseFloat(t)))), + r && (t = parseInt(t * e, 10) / 100), + i.abs(t - e) < 1e-6 ? 1 : (t % e) / parseFloat(e) + ); + } + function D(t) { + return u(1, c(0, t)); + } + function z(t) { + return parseInt(t, 16); + } + function R(t) { + return 1 == t.length ? "0" + t : "" + t; + } + function F(t) { + return t <= 1 && (t = 100 * t + "%"), t; + } + function B(t) { + return i.round(255 * parseFloat(t)).toString(16); + } + function N(t) { + return z(t) / 255; + } + var j, + U, + V, + H = + ((U = + "[\\s|\\(]+(" + + (j = + "(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)") + + ")[,|\\s]+(" + + j + + ")[,|\\s]+(" + + j + + ")\\s*\\)?"), + (V = + "[\\s|\\(]+(" + + j + + ")[,|\\s]+(" + + j + + ")[,|\\s]+(" + + j + + ")[,|\\s]+(" + + j + + ")\\s*\\)?"), + { + CSS_UNIT: new RegExp(j), + rgb: new RegExp("rgb" + U), + rgba: new RegExp("rgba" + V), + hsl: new RegExp("hsl" + U), + hsla: new RegExp("hsla" + V), + hsv: new RegExp("hsv" + U), + hsva: new RegExp("hsva" + V), + 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 q(t) { + return !!H.CSS_UNIT.exec(t); + } + t.exports + ? (t.exports = h) + : void 0 === + (n = function () { + return h; + }.call(e, r, e, t)) || (t.exports = n); + })(Math); + }, + 57060: function (t) { + "use strict"; + (t.exports = r), + (t.exports.float32 = t.exports.float = r), + (t.exports.fract32 = t.exports.fract = + function (t, e) { + if (t.length) { + if (t instanceof Float32Array) + return new Float32Array(t.length); + e instanceof Float32Array || (e = r(t)); + for (var n = 0, i = e.length; n < i; n++) + e[n] = t[n] - e[n]; + return e; + } + return r(t - r(t)); + }); + var e = new Float32Array(1); + function r(t) { + return t.length + ? t instanceof Float32Array + ? t + : new Float32Array(t) + : ((e[0] = t), e[0]); + } + }, + 75686: function (t, e, r) { + "use strict"; + var n = r(25677); + function i(t, e) { + var r = n(getComputedStyle(t).getPropertyValue(e)); + return r[0] * a(r[1], t); + } + function a(t, e) { + switch ( + ((e = e || document.body), + (t = (t || "px").trim().toLowerCase()), + (e !== window && e !== document) || + (e = document.body), + t) + ) { + case "%": + return e.clientHeight / 100; + case "ch": + case "ex": + return (function (t, e) { + var r = document.createElement("div"); + (r.style["font-size"] = "128" + t), + e.appendChild(r); + var n = i(r, "font-size") / 128; + return e.removeChild(r), n; + })(t, e); + case "em": + return i(e, "font-size"); + case "rem": + return i(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 96; + case "cm": + return 96 / 2.54; + case "mm": + return 96 / 25.4; + case "pt": + return 96 / 72; + case "pc": + return 16; + } + return 1; + } + t.exports = a; + }, + 96892: function (t, e, r) { + "use strict"; + function n(t) { + return t; + } + function i(t, e) { + return ( + "string" == typeof e && (e = t.objects[e]), + "GeometryCollection" === e.type + ? { + type: "FeatureCollection", + features: e.geometries.map(function (e) { + return a(t, e); + }), + } + : a(t, e) + ); + } + function a(t, e) { + var r = e.id, + i = e.bbox, + a = null == e.properties ? {} : e.properties, + o = (function (t, e) { + var r = (function (t) { + if (null == t) return n; + var e, + r, + i = t.scale[0], + a = t.scale[1], + o = t.translate[0], + s = t.translate[1]; + return function (t, n) { + n || (e = r = 0); + var l = 2, + u = t.length, + c = new Array(u); + for ( + c[0] = (e += t[0]) * i + o, + c[1] = (r += t[1]) * a + s; + l < u; + + ) + (c[l] = t[l]), ++l; + return c; + }; + })(t.transform), + i = t.arcs; + function a(t, e) { + e.length && e.pop(); + for ( + var n = i[t < 0 ? ~t : t], a = 0, o = n.length; + a < o; + ++a + ) + e.push(r(n[a], a)); + t < 0 && + (function (t, e) { + for ( + var r, n = t.length, i = n - e; + i < --n; + + ) + (r = t[i]), (t[i++] = t[n]), (t[n] = r); + })(e, o); + } + function o(t) { + return r(t); + } + function s(t) { + for (var e = [], r = 0, n = t.length; r < n; ++r) + a(t[r], e); + return e.length < 2 && e.push(e[0]), e; + } + function l(t) { + for (var e = s(t); e.length < 4; ) e.push(e[0]); + return e; + } + function u(t) { + return t.map(l); + } + return (function t(e) { + var r, + n = e.type; + switch (n) { + case "GeometryCollection": + return { + type: n, + geometries: e.geometries.map(t), + }; + case "Point": + r = o(e.coordinates); + break; + case "MultiPoint": + r = e.coordinates.map(o); + break; + case "LineString": + r = s(e.arcs); + break; + case "MultiLineString": + r = e.arcs.map(s); + break; + case "Polygon": + r = u(e.arcs); + break; + case "MultiPolygon": + r = e.arcs.map(u); + break; + default: + return null; + } + return { type: n, coordinates: r }; + })(e); + })(t, e); + return null == r && null == i + ? { type: "Feature", properties: a, geometry: o } + : null == i + ? { + type: "Feature", + id: r, + properties: a, + geometry: o, + } + : { + type: "Feature", + id: r, + bbox: i, + properties: a, + geometry: o, + }; + } + r.d(e, { + zL: function () { + return i; + }, + }); + }, + 73116: function (t, e, r) { + "use strict"; + var n = r(24511); + t.exports = function (t) { + if ("function" != typeof t) return !1; + if (!hasOwnProperty.call(t, "length")) return !1; + try { + if ("number" != typeof t.length) return !1; + if ("function" != typeof t.call) return !1; + if ("function" != typeof t.apply) return !1; + } catch (t) { + return !1; + } + return !n(t); + }; + }, + 69190: function (t, e, r) { + "use strict"; + var n = r(24582), + i = r(47403), + a = r(9234), + o = r(6048), + s = function (t, e) { + return t.replace("%v", o(e)); + }; + t.exports = function (t, e, r) { + if (!i(r)) throw new TypeError(s(e, t)); + if (!n(t)) { + if ("default" in r) return r.default; + if (r.isOptional) return null; + } + var o = a(r.errorMessage); + throw (n(o) || (o = e), new TypeError(s(o, t))); + }; + }, + 18497: function (t) { + "use strict"; + t.exports = function (t) { + try { + return t.toString(); + } catch (e) { + try { + return String(t); + } catch (t) { + return null; + } + } + }; + }, + 6048: function (t, e, r) { + "use strict"; + var n = r(18497), + i = /[\n\r\u2028\u2029]/g; + t.exports = function (t) { + var e = n(t); + return null === e + ? "" + : (e.length > 100 && (e = e.slice(0, 99) + "…"), + (e = e.replace(i, function (t) { + switch (t) { + case "\n": + return "\\n"; + case "\r": + return "\\r"; + case "\u2028": + return "\\u2028"; + case "\u2029": + return "\\u2029"; + default: + throw new Error("Unexpected character"); + } + }))); + }; + }, + 47403: function (t, e, r) { + "use strict"; + var n = r(24582), + i = { object: !0, function: !0, undefined: !0 }; + t.exports = function (t) { + return !!n(t) && hasOwnProperty.call(i, typeof t); + }; + }, + 82527: function (t, e, r) { + "use strict"; + var n = r(69190), + i = r(84985); + t.exports = function (t) { + return i(t) + ? t + : n(t, "%v is not a plain function", arguments[1]); + }; + }, + 84985: function (t, e, r) { + "use strict"; + var n = r(73116), + i = /^\s*class[\s{/}]/, + a = Function.prototype.toString; + t.exports = function (t) { + return !!n(t) && !i.test(a.call(t)); + }; + }, + 24511: function (t, e, r) { + "use strict"; + var n = r(47403); + t.exports = function (t) { + if (!n(t)) return !1; + try { + return ( + !!t.constructor && t.constructor.prototype === t + ); + } catch (t) { + return !1; + } + }; + }, + 9234: function (t, e, r) { + "use strict"; + var n = r(24582), + i = r(47403), + a = Object.prototype.toString; + t.exports = function (t) { + if (!n(t)) return null; + if (i(t)) { + var e = t.toString; + if ("function" != typeof e) return null; + if (e === a) return null; + } + try { + return "" + t; + } catch (t) { + return null; + } + }; + }, + 10424: function (t, e, r) { + "use strict"; + var n = r(69190), + i = r(24582); + t.exports = function (t) { + return i(t) ? t : n(t, "Cannot use %v", arguments[1]); + }; + }, + 24582: function (t) { + "use strict"; + t.exports = function (t) { + return null != t; + }; + }, + 58404: function (t, e, r) { + "use strict"; + var n = r(13547), + i = r(12129), + a = r(12856).Buffer; + r.g.__TYPEDARRAY_POOL || + (r.g.__TYPEDARRAY_POOL = { + UINT8: i([32, 0]), + UINT16: i([32, 0]), + UINT32: i([32, 0]), + BIGUINT64: i([32, 0]), + INT8: i([32, 0]), + INT16: i([32, 0]), + INT32: i([32, 0]), + BIGINT64: i([32, 0]), + FLOAT: i([32, 0]), + DOUBLE: i([32, 0]), + DATA: i([32, 0]), + UINT8C: i([32, 0]), + BUFFER: i([32, 0]), + }); + var o = "undefined" != typeof Uint8ClampedArray, + s = "undefined" != typeof BigUint64Array, + l = "undefined" != typeof BigInt64Array, + u = r.g.__TYPEDARRAY_POOL; + u.UINT8C || (u.UINT8C = i([32, 0])), + u.BIGUINT64 || (u.BIGUINT64 = i([32, 0])), + u.BIGINT64 || (u.BIGINT64 = i([32, 0])), + u.BUFFER || (u.BUFFER = i([32, 0])); + var c = u.DATA, + f = u.BUFFER; + function h(t) { + if (t) { + var e = t.length || t.byteLength, + r = n.log2(e); + c[r].push(t); + } + } + function p(t) { + t = n.nextPow2(t); + var e = n.log2(t), + r = c[e]; + return r.length > 0 ? r.pop() : new ArrayBuffer(t); + } + function d(t) { + return new Uint8Array(p(t), 0, t); + } + function v(t) { + return new Uint16Array(p(2 * t), 0, t); + } + function g(t) { + return new Uint32Array(p(4 * t), 0, t); + } + function y(t) { + return new Int8Array(p(t), 0, t); + } + function m(t) { + return new Int16Array(p(2 * t), 0, t); + } + function x(t) { + return new Int32Array(p(4 * t), 0, t); + } + function b(t) { + return new Float32Array(p(4 * t), 0, t); + } + function _(t) { + return new Float64Array(p(8 * t), 0, t); + } + function w(t) { + return o ? new Uint8ClampedArray(p(t), 0, t) : d(t); + } + function T(t) { + return s ? new BigUint64Array(p(8 * t), 0, t) : null; + } + function k(t) { + return l ? new BigInt64Array(p(8 * t), 0, t) : null; + } + function A(t) { + return new DataView(p(t), 0, t); + } + function M(t) { + t = n.nextPow2(t); + var e = n.log2(t), + r = f[e]; + return r.length > 0 ? r.pop() : new a(t); + } + (e.free = function (t) { + if (a.isBuffer(t)) f[n.log2(t.length)].push(t); + else { + if ( + ("[object ArrayBuffer]" !== + Object.prototype.toString.call(t) && + (t = t.buffer), + !t) + ) + return; + var e = t.length || t.byteLength, + r = 0 | n.log2(e); + c[r].push(t); + } + }), + (e.freeUint8 = + e.freeUint16 = + e.freeUint32 = + e.freeBigUint64 = + e.freeInt8 = + e.freeInt16 = + e.freeInt32 = + e.freeBigInt64 = + e.freeFloat32 = + e.freeFloat = + e.freeFloat64 = + e.freeDouble = + e.freeUint8Clamped = + e.freeDataView = + function (t) { + h(t.buffer); + }), + (e.freeArrayBuffer = h), + (e.freeBuffer = function (t) { + f[n.log2(t.length)].push(t); + }), + (e.malloc = function (t, e) { + if (void 0 === e || "arraybuffer" === e) return p(t); + switch (e) { + case "uint8": + return d(t); + case "uint16": + return v(t); + case "uint32": + return g(t); + case "int8": + return y(t); + case "int16": + return m(t); + case "int32": + return x(t); + case "float": + case "float32": + return b(t); + case "double": + case "float64": + return _(t); + case "uint8_clamped": + return w(t); + case "bigint64": + return k(t); + case "biguint64": + return T(t); + case "buffer": + return M(t); + case "data": + case "dataview": + return A(t); + default: + return null; + } + return null; + }), + (e.mallocArrayBuffer = p), + (e.mallocUint8 = d), + (e.mallocUint16 = v), + (e.mallocUint32 = g), + (e.mallocInt8 = y), + (e.mallocInt16 = m), + (e.mallocInt32 = x), + (e.mallocFloat32 = e.mallocFloat = b), + (e.mallocFloat64 = e.mallocDouble = _), + (e.mallocUint8Clamped = w), + (e.mallocBigUint64 = T), + (e.mallocBigInt64 = k), + (e.mallocDataView = A), + (e.mallocBuffer = M), + (e.clearCache = function () { + for (var t = 0; t < 32; ++t) + (u.UINT8[t].length = 0), + (u.UINT16[t].length = 0), + (u.UINT32[t].length = 0), + (u.INT8[t].length = 0), + (u.INT16[t].length = 0), + (u.INT32[t].length = 0), + (u.FLOAT[t].length = 0), + (u.DOUBLE[t].length = 0), + (u.BIGUINT64[t].length = 0), + (u.BIGINT64[t].length = 0), + (u.UINT8C[t].length = 0), + (c[t].length = 0), + (f[t].length = 0); + }); + }, + 90448: function (t) { + var e = /[\'\"]/; + t.exports = function (t) { + return t + ? (e.test(t.charAt(0)) && (t = t.substr(1)), + e.test(t.charAt(t.length - 1)) && + (t = t.substr(0, t.length - 1)), + t) + : ""; + }; + }, + 93447: function (t) { + "use strict"; + t.exports = 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; + }; + }, + 20588: function (t, e, r) { + function n(t) { + try { + if (!r.g.localStorage) return !1; + } catch (t) { + return !1; + } + var e = r.g.localStorage[t]; + return null != e && "true" === String(e).toLowerCase(); + } + t.exports = function (t, e) { + if (n("noDeprecation")) return t; + var r = !1; + return function () { + if (!r) { + if (n("throwDeprecation")) throw new Error(e); + n("traceDeprecation") + ? console.trace(e) + : console.warn(e), + (r = !0); + } + return t.apply(this, arguments); + }; + }; + }, + 45920: function (t) { + t.exports = function (t) { + return ( + t && + "object" == typeof t && + "function" == typeof t.copy && + "function" == typeof t.fill && + "function" == typeof t.readUInt8 + ); + }; + }, + 4936: function (t, e, r) { + "use strict"; + var n = r(47216), + i = r(65481), + a = r(21099), + o = r(9187); + function s(t) { + return t.call.bind(t); + } + var l = "undefined" != typeof BigInt, + u = "undefined" != typeof Symbol, + c = s(Object.prototype.toString), + f = s(Number.prototype.valueOf), + h = s(String.prototype.valueOf), + p = s(Boolean.prototype.valueOf); + if (l) var d = s(BigInt.prototype.valueOf); + if (u) var v = s(Symbol.prototype.valueOf); + function g(t, e) { + if ("object" != typeof t) return !1; + try { + return e(t), !0; + } catch (t) { + return !1; + } + } + function y(t) { + return "[object Map]" === c(t); + } + function m(t) { + return "[object Set]" === c(t); + } + function x(t) { + return "[object WeakMap]" === c(t); + } + function b(t) { + return "[object WeakSet]" === c(t); + } + function _(t) { + return "[object ArrayBuffer]" === c(t); + } + function w(t) { + return ( + "undefined" != typeof ArrayBuffer && + (_.working ? _(t) : t instanceof ArrayBuffer) + ); + } + function T(t) { + return "[object DataView]" === c(t); + } + function k(t) { + return ( + "undefined" != typeof DataView && + (T.working ? T(t) : t instanceof DataView) + ); + } + (e.isArgumentsObject = n), + (e.isGeneratorFunction = i), + (e.isTypedArray = o), + (e.isPromise = function (t) { + return ( + ("undefined" != typeof Promise && + t instanceof Promise) || + (null !== t && + "object" == typeof t && + "function" == typeof t.then && + "function" == typeof t.catch) + ); + }), + (e.isArrayBufferView = function (t) { + return "undefined" != typeof ArrayBuffer && + ArrayBuffer.isView + ? ArrayBuffer.isView(t) + : o(t) || k(t); + }), + (e.isUint8Array = function (t) { + return "Uint8Array" === a(t); + }), + (e.isUint8ClampedArray = function (t) { + return "Uint8ClampedArray" === a(t); + }), + (e.isUint16Array = function (t) { + return "Uint16Array" === a(t); + }), + (e.isUint32Array = function (t) { + return "Uint32Array" === a(t); + }), + (e.isInt8Array = function (t) { + return "Int8Array" === a(t); + }), + (e.isInt16Array = function (t) { + return "Int16Array" === a(t); + }), + (e.isInt32Array = function (t) { + return "Int32Array" === a(t); + }), + (e.isFloat32Array = function (t) { + return "Float32Array" === a(t); + }), + (e.isFloat64Array = function (t) { + return "Float64Array" === a(t); + }), + (e.isBigInt64Array = function (t) { + return "BigInt64Array" === a(t); + }), + (e.isBigUint64Array = function (t) { + return "BigUint64Array" === a(t); + }), + (y.working = "undefined" != typeof Map && y(new Map())), + (e.isMap = function (t) { + return ( + "undefined" != typeof Map && + (y.working ? y(t) : t instanceof Map) + ); + }), + (m.working = "undefined" != typeof Set && m(new Set())), + (e.isSet = function (t) { + return ( + "undefined" != typeof Set && + (m.working ? m(t) : t instanceof Set) + ); + }), + (x.working = + "undefined" != typeof WeakMap && x(new WeakMap())), + (e.isWeakMap = function (t) { + return ( + "undefined" != typeof WeakMap && + (x.working ? x(t) : t instanceof WeakMap) + ); + }), + (b.working = + "undefined" != typeof WeakSet && b(new WeakSet())), + (e.isWeakSet = function (t) { + return b(t); + }), + (_.working = + "undefined" != typeof ArrayBuffer && + _(new ArrayBuffer())), + (e.isArrayBuffer = w), + (T.working = + "undefined" != typeof ArrayBuffer && + "undefined" != typeof DataView && + T(new DataView(new ArrayBuffer(1), 0, 1))), + (e.isDataView = k); + var A = + "undefined" != typeof SharedArrayBuffer + ? SharedArrayBuffer + : void 0; + function M(t) { + return "[object SharedArrayBuffer]" === c(t); + } + function S(t) { + return ( + void 0 !== A && + (void 0 === M.working && (M.working = M(new A())), + M.working ? M(t) : t instanceof A) + ); + } + function E(t) { + return g(t, f); + } + function L(t) { + return g(t, h); + } + function C(t) { + return g(t, p); + } + function O(t) { + return l && g(t, d); + } + function P(t) { + return u && g(t, v); + } + (e.isSharedArrayBuffer = S), + (e.isAsyncFunction = function (t) { + return "[object AsyncFunction]" === c(t); + }), + (e.isMapIterator = function (t) { + return "[object Map Iterator]" === c(t); + }), + (e.isSetIterator = function (t) { + return "[object Set Iterator]" === c(t); + }), + (e.isGeneratorObject = function (t) { + return "[object Generator]" === c(t); + }), + (e.isWebAssemblyCompiledModule = function (t) { + return "[object WebAssembly.Module]" === c(t); + }), + (e.isNumberObject = E), + (e.isStringObject = L), + (e.isBooleanObject = C), + (e.isBigIntObject = O), + (e.isSymbolObject = P), + (e.isBoxedPrimitive = function (t) { + return E(t) || L(t) || C(t) || O(t) || P(t); + }), + (e.isAnyArrayBuffer = function (t) { + return ( + "undefined" != typeof Uint8Array && (w(t) || S(t)) + ); + }), + [ + "isProxy", + "isExternal", + "isModuleNamespaceObject", + ].forEach(function (t) { + Object.defineProperty(e, t, { + enumerable: !1, + value: function () { + throw new Error( + t + " is not supported in userland", + ); + }, + }); + }); + }, + 43827: function (t, e, r) { + var n = r(90386), + i = + Object.getOwnPropertyDescriptors || + function (t) { + for ( + var e = Object.keys(t), r = {}, n = 0; + n < e.length; + n++ + ) + r[e[n]] = Object.getOwnPropertyDescriptor( + t, + e[n], + ); + return r; + }, + a = /%[sdj%]/g; + (e.format = function (t) { + if (!x(t)) { + for (var e = [], r = 0; r < arguments.length; r++) + e.push(u(arguments[r])); + return e.join(" "); + } + r = 1; + for ( + var n = arguments, + i = n.length, + o = String(t).replace(a, function (t) { + if ("%%" === t) return "%"; + if (r >= i) return t; + switch (t) { + case "%s": + return String(n[r++]); + case "%d": + return Number(n[r++]); + case "%j": + try { + return JSON.stringify(n[r++]); + } catch (t) { + return "[Circular]"; + } + default: + return t; + } + }), + s = n[r]; + r < i; + s = n[++r] + ) + y(s) || !w(s) ? (o += " " + s) : (o += " " + u(s)); + return o; + }), + (e.deprecate = function (t, r) { + if (void 0 !== n && !0 === n.noDeprecation) return t; + if (void 0 === n) + return function () { + return e.deprecate(t, r).apply(this, arguments); + }; + var i = !1; + return function () { + if (!i) { + if (n.throwDeprecation) throw new Error(r); + n.traceDeprecation + ? console.trace(r) + : console.error(r), + (i = !0); + } + return t.apply(this, arguments); + }; + }); + var o = {}, + s = /^$/; + if (n.env.NODE_DEBUG) { + var l = n.env.NODE_DEBUG; + (l = l + .replace(/[|\\{}()[\]^$+?.]/g, "\\$&") + .replace(/\*/g, ".*") + .replace(/,/g, "$|^") + .toUpperCase()), + (s = new RegExp("^" + l + "$", "i")); + } + function u(t, r) { + var n = { seen: [], stylize: f }; + return ( + arguments.length >= 3 && (n.depth = arguments[2]), + arguments.length >= 4 && (n.colors = arguments[3]), + g(r) ? (n.showHidden = r) : r && e._extend(n, r), + b(n.showHidden) && (n.showHidden = !1), + b(n.depth) && (n.depth = 2), + b(n.colors) && (n.colors = !1), + b(n.customInspect) && (n.customInspect = !0), + n.colors && (n.stylize = c), + h(n, t, n.depth) + ); + } + function c(t, e) { + var r = u.styles[e]; + return r + ? "[" + + u.colors[r][0] + + "m" + + t + + "[" + + u.colors[r][1] + + "m" + : t; + } + function f(t, e) { + return t; + } + function h(t, r, n) { + if ( + t.customInspect && + r && + A(r.inspect) && + r.inspect !== e.inspect && + (!r.constructor || r.constructor.prototype !== r) + ) { + var i = r.inspect(n, t); + return x(i) || (i = h(t, i, n)), i; + } + var a = (function (t, e) { + if (b(e)) return t.stylize("undefined", "undefined"); + if (x(e)) { + var r = + "'" + + JSON.stringify(e) + .replace(/^"|"$/g, "") + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + + "'"; + return t.stylize(r, "string"); + } + return m(e) + ? t.stylize("" + e, "number") + : g(e) + ? t.stylize("" + e, "boolean") + : y(e) + ? t.stylize("null", "null") + : void 0; + })(t, r); + if (a) return a; + var o = Object.keys(r), + s = (function (t) { + var e = {}; + return ( + t.forEach(function (t, r) { + e[t] = !0; + }), + e + ); + })(o); + if ( + (t.showHidden && (o = Object.getOwnPropertyNames(r)), + k(r) && + (o.indexOf("message") >= 0 || + o.indexOf("description") >= 0)) + ) + return p(r); + if (0 === o.length) { + if (A(r)) { + var l = r.name ? ": " + r.name : ""; + return t.stylize("[Function" + l + "]", "special"); + } + if (_(r)) + return t.stylize( + RegExp.prototype.toString.call(r), + "regexp", + ); + if (T(r)) + return t.stylize( + Date.prototype.toString.call(r), + "date", + ); + if (k(r)) return p(r); + } + var u, + c = "", + f = !1, + w = ["{", "}"]; + return ( + v(r) && ((f = !0), (w = ["[", "]"])), + A(r) && + (c = + " [Function" + + (r.name ? ": " + r.name : "") + + "]"), + _(r) && (c = " " + RegExp.prototype.toString.call(r)), + T(r) && + (c = " " + Date.prototype.toUTCString.call(r)), + k(r) && (c = " " + p(r)), + 0 !== o.length || (f && 0 != r.length) + ? n < 0 + ? _(r) + ? t.stylize( + RegExp.prototype.toString.call(r), + "regexp", + ) + : t.stylize("[Object]", "special") + : (t.seen.push(r), + (u = f + ? (function (t, e, r, n, i) { + for ( + var a = [], o = 0, s = e.length; + o < s; + ++o + ) + C(e, String(o)) + ? a.push(d(t, e, r, n, String(o), !0)) + : a.push(""); + return ( + i.forEach(function (i) { + i.match(/^\d+$/) || + a.push(d(t, e, r, n, i, !0)); + }), + a + ); + })(t, r, n, s, o) + : o.map(function (e) { + return d(t, r, n, s, e, f); + })), + t.seen.pop(), + (function (t, e, r) { + return t.reduce(function (t, e) { + return ( + e.indexOf("\n"), + t + + e.replace(/\u001b\[\d\d?m/g, "") + .length + + 1 + ); + }, 0) > 60 + ? r[0] + + ("" === e ? "" : e + "\n ") + + " " + + t.join(",\n ") + + " " + + r[1] + : r[0] + + e + + " " + + t.join(", ") + + " " + + r[1]; + })(u, c, w)) + : w[0] + c + w[1] + ); + } + function p(t) { + return "[" + Error.prototype.toString.call(t) + "]"; + } + function d(t, e, r, n, i, a) { + var o, s, l; + if ( + ((l = Object.getOwnPropertyDescriptor(e, i) || { + value: e[i], + }).get + ? (s = l.set + ? t.stylize("[Getter/Setter]", "special") + : t.stylize("[Getter]", "special")) + : l.set && (s = t.stylize("[Setter]", "special")), + C(n, i) || (o = "[" + i + "]"), + s || + (t.seen.indexOf(l.value) < 0 + ? (s = y(r) + ? h(t, l.value, null) + : h(t, l.value, r - 1)).indexOf("\n") > -1 && + (s = a + ? s + .split("\n") + .map(function (t) { + return " " + t; + }) + .join("\n") + .slice(2) + : "\n" + + s + .split("\n") + .map(function (t) { + return " " + t; + }) + .join("\n")) + : (s = t.stylize("[Circular]", "special"))), + b(o)) + ) { + if (a && i.match(/^\d+$/)) return s; + (o = JSON.stringify("" + i)).match( + /^"([a-zA-Z_][a-zA-Z_0-9]*)"$/, + ) + ? ((o = o.slice(1, -1)), (o = t.stylize(o, "name"))) + : ((o = o + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + .replace(/(^"|"$)/g, "'")), + (o = t.stylize(o, "string"))); + } + return o + ": " + s; + } + function v(t) { + return Array.isArray(t); + } + function g(t) { + return "boolean" == typeof t; + } + function y(t) { + return null === t; + } + function m(t) { + return "number" == typeof t; + } + function x(t) { + return "string" == typeof t; + } + function b(t) { + return void 0 === t; + } + function _(t) { + return w(t) && "[object RegExp]" === M(t); + } + function w(t) { + return "object" == typeof t && null !== t; + } + function T(t) { + return w(t) && "[object Date]" === M(t); + } + function k(t) { + return ( + w(t) && + ("[object Error]" === M(t) || t instanceof Error) + ); + } + function A(t) { + return "function" == typeof t; + } + function M(t) { + return Object.prototype.toString.call(t); + } + function S(t) { + return t < 10 ? "0" + t.toString(10) : t.toString(10); + } + (e.debuglog = function (t) { + if (((t = t.toUpperCase()), !o[t])) + if (s.test(t)) { + var r = n.pid; + o[t] = function () { + var n = e.format.apply(e, arguments); + console.error("%s %d: %s", t, r, n); + }; + } else o[t] = function () {}; + return o[t]; + }), + (e.inspect = u), + (u.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], + }), + (u.styles = { + special: "cyan", + number: "yellow", + boolean: "yellow", + undefined: "grey", + null: "bold", + string: "green", + date: "magenta", + regexp: "red", + }), + (e.types = r(4936)), + (e.isArray = v), + (e.isBoolean = g), + (e.isNull = y), + (e.isNullOrUndefined = function (t) { + return null == t; + }), + (e.isNumber = m), + (e.isString = x), + (e.isSymbol = function (t) { + return "symbol" == typeof t; + }), + (e.isUndefined = b), + (e.isRegExp = _), + (e.types.isRegExp = _), + (e.isObject = w), + (e.isDate = T), + (e.types.isDate = T), + (e.isError = k), + (e.types.isNativeError = k), + (e.isFunction = A), + (e.isPrimitive = function (t) { + return ( + null === t || + "boolean" == typeof t || + "number" == typeof t || + "string" == typeof t || + "symbol" == typeof t || + void 0 === t + ); + }), + (e.isBuffer = r(45920)); + var E = [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", + ]; + function L() { + var t = new Date(), + e = [ + S(t.getHours()), + S(t.getMinutes()), + S(t.getSeconds()), + ].join(":"); + return [t.getDate(), E[t.getMonth()], e].join(" "); + } + function C(t, e) { + return Object.prototype.hasOwnProperty.call(t, e); + } + (e.log = function () { + console.log( + "%s - %s", + L(), + e.format.apply(e, arguments), + ); + }), + (e.inherits = r(42018)), + (e._extend = function (t, e) { + if (!e || !w(e)) return t; + for (var r = Object.keys(e), n = r.length; n--; ) + t[r[n]] = e[r[n]]; + return t; + }); + var O = + "undefined" != typeof Symbol + ? Symbol("util.promisify.custom") + : void 0; + function P(t, e) { + if (!t) { + var r = new Error( + "Promise was rejected with a falsy value", + ); + (r.reason = t), (t = r); + } + return e(t); + } + (e.promisify = function (t) { + if ("function" != typeof t) + throw new TypeError( + 'The "original" argument must be of type Function', + ); + if (O && t[O]) { + var e; + if ("function" != typeof (e = t[O])) + throw new TypeError( + 'The "util.promisify.custom" argument must be of type Function', + ); + return ( + Object.defineProperty(e, O, { + value: e, + enumerable: !1, + writable: !1, + configurable: !0, + }), + e + ); + } + function e() { + for ( + var e, + r, + n = new Promise(function (t, n) { + (e = t), (r = n); + }), + i = [], + a = 0; + a < arguments.length; + a++ + ) + i.push(arguments[a]); + i.push(function (t, n) { + t ? r(t) : e(n); + }); + try { + t.apply(this, i); + } catch (t) { + r(t); + } + return n; + } + return ( + Object.setPrototypeOf(e, Object.getPrototypeOf(t)), + O && + Object.defineProperty(e, O, { + value: e, + enumerable: !1, + writable: !1, + configurable: !0, + }), + Object.defineProperties(e, i(t)) + ); + }), + (e.promisify.custom = O), + (e.callbackify = function (t) { + if ("function" != typeof t) + throw new TypeError( + 'The "original" argument must be of type Function', + ); + function e() { + for (var e = [], r = 0; r < arguments.length; r++) + e.push(arguments[r]); + var i = e.pop(); + if ("function" != typeof i) + throw new TypeError( + "The last argument must be of type Function", + ); + var a = this, + o = function () { + return i.apply(a, arguments); + }; + t.apply(this, e).then( + function (t) { + n.nextTick(o.bind(null, null, t)); + }, + function (t) { + n.nextTick(P.bind(null, t, o)); + }, + ); + } + return ( + Object.setPrototypeOf(e, Object.getPrototypeOf(t)), + Object.defineProperties(e, i(t)), + e + ); + }); + }, + 40372: function (t, e, r) { + var n = r(86249); + t.exports = function (t) { + return n("webgl", t); + }; + }, + 21099: function (t, e, r) { + "use strict"; + var n = r(31353), + i = r(72077), + a = r(6614), + o = r(40383), + s = a("Object.prototype.toString"), + l = r(84543)(), + u = "undefined" == typeof globalThis ? r.g : globalThis, + c = i(), + f = a("String.prototype.slice"), + h = {}, + p = Object.getPrototypeOf; + l && + o && + p && + n(c, function (t) { + if ("function" == typeof u[t]) { + var e = new u[t](); + if (Symbol.toStringTag in e) { + var r = p(e), + n = o(r, Symbol.toStringTag); + if (!n) { + var i = p(r); + n = o(i, Symbol.toStringTag); + } + h[t] = n.get; + } + } + }); + var d = r(9187); + t.exports = function (t) { + return ( + !!d(t) && + (l && Symbol.toStringTag in t + ? (function (t) { + var e = !1; + return ( + n(h, function (r, n) { + if (!e) + try { + var i = r.call(t); + i === n && (e = i); + } catch (t) {} + }), + e + ); + })(t) + : f(s(t), 8, -1)) + ); + }; + }, + 3961: function (t, e, r) { + var n = r(63489), + i = r(56131), + a = n.instance(); + function o(t) { + this.local = + this.regionalOptions[t || ""] || + this.regionalOptions[""]; + } + (o.prototype = new n.baseCalendar()), + i(o.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(l); + 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(u); + return e ? e[0] : ""; + } + var r = this._validateYear(t), + n = t.month(), + i = [ + "一月", + "二月", + "三月", + "四月", + "五月", + "六月", + "七月", + "八月", + "九月", + "十月", + "十一月", + "十二月", + ][this.toChineseMonth(r, n) - 1]; + return ( + this.isIntercalaryMonth(r, n) && + (i = "闰" + i), + i + ); + }, + monthNamesShort: function (t) { + if ("string" == typeof t) { + var e = t.match(c); + return e ? e[0] : ""; + } + var r = this._validateYear(t), + n = t.month(), + i = [ + "一", + "二", + "三", + "四", + "五", + "六", + "七", + "八", + "九", + "十", + "十一", + "十二", + ][this.toChineseMonth(r, n) - 1]; + return ( + this.isIntercalaryMonth(r, n) && + (i = "闰" + i), + i + ); + }, + parseMonth: function (t, e) { + t = this._validateYear(t); + var r, + n = parseInt(e); + if (isNaN(n)) + "闰" === e[0] && + ((r = !0), (e = e.substring(1))), + "月" === e[e.length - 1] && + (e = e.substring(0, e.length - 1)), + (n = + 1 + + [ + "一", + "二", + "三", + "四", + "五", + "六", + "七", + "八", + "九", + "十", + "十一", + "十二", + ].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 i = this.intercalaryMonth(t); + if ((r && e !== i) || e < 1 || e > 12) + throw n.local.invalidMonth.replace( + /\{0\}/, + this.local.name, + ); + return i ? (!r && e <= i ? 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 n.local.invalidMonth.replace( + /\{0\}/, + this.local.name, + ); + return r ? (e < r ? e + 1 : e) : e + 1; + }, + intercalaryMonth: function (t) { + return ( + (t = this._validateYear(t)), f[t - f[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 i, + o = this._validateYear(t, n.local.invalidyear), + s = h[o - h[0]], + l = (s >> 9) & 4095, + u = (s >> 5) & 15, + c = 31 & s; + (i = a.newDate(l, u, c)).add( + 4 - (i.dayOfWeek() || 7), + "d", + ); + var f = this.toJD(t, e, r) - i.toJD(); + return 1 + Math.floor(f / 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 = f[t - f[0]]; + if (e > (r >> 13 ? 12 : 11)) + throw n.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 i = this._validate( + t, + s, + r, + n.local.invalidDate, + ); + (t = this._validateYear(i.year())), + (e = i.month()), + (r = i.day()); + var o = this.isIntercalaryMonth(t, e), + s = this.toChineseMonth(t, e), + l = (function (t, e, r, n, i) { + var a, o, s; + if ("object" == typeof t) + (o = t), (a = e || {}); + else { + var l; + if ( + !( + "number" == typeof t && + t >= 1888 && + t <= 2111 + ) + ) + throw new Error( + "Lunar year outside range 1888-2111", + ); + if ( + !("number" == typeof e && e >= 1 && e <= 12) + ) + throw new Error( + "Lunar month outside range 1 - 12", + ); + if ( + !("number" == typeof r && r >= 1 && r <= 30) + ) + throw new Error( + "Lunar day outside range 1 - 30", + ); + "object" == typeof n + ? ((l = !1), (a = n)) + : ((l = !!n), (a = {})), + (o = { + year: t, + month: e, + day: r, + isIntercalary: l, + }); + } + s = o.day - 1; + var u, + c = f[o.year - f[0]], + p = c >> 13; + u = + p && (o.month > p || o.isIntercalary) + ? o.month + : o.month - 1; + for (var d = 0; d < u; d++) + s += c & (1 << (12 - d)) ? 30 : 29; + var v = h[o.year - h[0]], + g = new Date( + (v >> 9) & 4095, + ((v >> 5) & 15) - 1, + (31 & v) + s, + ); + return ( + (a.year = g.getFullYear()), + (a.month = 1 + g.getMonth()), + (a.day = g.getDate()), + a + ); + })(t, s, r, o); + return a.toJD(l.year, l.month, l.day); + }, + fromJD: function (t) { + var e = a.fromJD(t), + r = (function (t, e, r, n) { + var i, a; + if ("object" == typeof t) + (i = t), (a = e || {}); + else { + if ( + !( + "number" == typeof t && + t >= 1888 && + t <= 2111 + ) + ) + throw new Error( + "Solar year outside range 1888-2111", + ); + if ( + !("number" == typeof e && e >= 1 && e <= 12) + ) + throw new Error( + "Solar month outside range 1 - 12", + ); + if ( + !("number" == typeof r && r >= 1 && r <= 31) + ) + throw new Error( + "Solar day outside range 1 - 31", + ); + (i = { year: t, month: e, day: r }), (a = {}); + } + var o = h[i.year - h[0]], + s = (i.year << 9) | (i.month << 5) | i.day; + (a.year = s >= o ? i.year : i.year - 1), + (o = h[a.year - h[0]]); + var l, + u = new Date( + (o >> 9) & 4095, + ((o >> 5) & 15) - 1, + 31 & o, + ), + c = new Date(i.year, i.month - 1, i.day); + l = Math.round((c - u) / 864e5); + var p, + d = f[a.year - f[0]]; + for (p = 0; p < 13; p++) { + var v = d & (1 << (12 - p)) ? 30 : 29; + if (l < v) break; + l -= v; + } + var g = d >> 13; + return ( + !g || p < g + ? ((a.isIntercalary = !1), + (a.month = 1 + p)) + : p === g + ? ((a.isIntercalary = !0), (a.month = p)) + : ((a.isIntercalary = !1), (a.month = p)), + (a.day = 1 + l), + 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(s), + 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), + s = this.toChineseMonth(n, i), + l = Object.getPrototypeOf(o.prototype).add.call( + this, + t, + e, + r, + ); + if ("y" === r) { + var u = l.year(), + c = l.month(), + f = this.isIntercalaryMonth(u, s), + h = + a && f + ? this.toMonthIndex(u, s, !0) + : this.toMonthIndex(u, s, !1); + h !== c && l.month(h); + } + return l; + }, + }); + var s = + /^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m, + l = /^\d?\d[iI]?/m, + u = /^闰?十?[一二三四五六七八九]?月/m, + c = /^闰?十?[一二三四五六七八九]?/m; + n.calendars.chinese = o; + var f = [ + 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, + ], + h = [ + 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, + ]; + }, + 38751: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || + this.regionalOptions[""]; + } + (a.prototype = new n.baseCalendar()), + i(a.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, + n.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, + n.local.invalidYear || + n.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, + n.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 i = this._validate( + t, + e, + r, + n.local.invalidDate, + ); + return ( + (t = i.year()) < 0 && t++, + i.day() + + 30 * (i.month() - 1) + + 365 * (t - 1) + + Math.floor(t / 4) + + this.jdEpoch - + 1 + ); + }, + fromJD: function (t) { + var e = Math.floor(t) + 0.5 - this.jdEpoch, + r = + Math.floor( + (e - Math.floor((e + 366) / 1461)) / 365, + ) + 1; + r <= 0 && r--, + (e = + Math.floor(t) + + 0.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); + }, + }), + (n.calendars.coptic = a); + }, + 86825: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || + this.regionalOptions[""]; + } + (a.prototype = new n.baseCalendar()), + i(a.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, + n.local.invalidYear, + ), + !1 + ); + }, + monthsInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ), + 13 + ); + }, + daysInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + n.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, + n.local.invalidMonth, + ); + return this.daysPerMonth[r.month() - 1]; + }, + daysInWeek: function () { + return 8; + }, + dayOfWeek: function (t, e, r) { + return ( + (this._validate( + t, + e, + r, + n.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 i = this._validate( + t, + e, + r, + n.local.invalidDate, + ); + return { + century: + o[Math.floor((i.year() - 1) / 100) + 1] || "", + }; + }, + toJD: function (t, e, r) { + var i = this._validate( + t, + e, + r, + n.local.invalidDate, + ); + return ( + (t = i.year() + (i.year() < 0 ? 1 : 0)), + (e = i.month()), + (r = i.day()) + + (e > 1 ? 16 : 0) + + (e > 2 ? 32 * (e - 2) : 0) + + 400 * (t - 1) + + this.jdEpoch - + 1 + ); + }, + fromJD: function (t) { + t = + Math.floor(t + 0.5) - + Math.floor(this.jdEpoch) - + 1; + var e = Math.floor(t / 400) + 1; + (t -= 400 * (e - 1)), (t += t > 15 ? 16 : 0); + var r = Math.floor(t / 32) + 1, + n = t - 32 * (r - 1) + 1; + return this.newDate(e <= 0 ? e - 1 : e, r, n); + }, + }); + var o = { 20: "Fruitbat", 21: "Anchovy" }; + n.calendars.discworld = a; + }, + 37715: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || + this.regionalOptions[""]; + } + (a.prototype = new n.baseCalendar()), + i(a.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, + n.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, + n.local.invalidYear || + n.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, + n.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 i = this._validate( + t, + e, + r, + n.local.invalidDate, + ); + return ( + (t = i.year()) < 0 && t++, + i.day() + + 30 * (i.month() - 1) + + 365 * (t - 1) + + Math.floor(t / 4) + + this.jdEpoch - + 1 + ); + }, + fromJD: function (t) { + var e = Math.floor(t) + 0.5 - this.jdEpoch, + r = + Math.floor( + (e - Math.floor((e + 366) / 1461)) / 365, + ) + 1; + r <= 0 && r--, + (e = + Math.floor(t) + + 0.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); + }, + }), + (n.calendars.ethiopian = a); + }, + 99384: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || + this.regionalOptions[""]; + } + function o(t, e) { + return t - e * Math.floor(t / e); + } + (a.prototype = new n.baseCalendar()), + i(a.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, + n.local.invalidYear, + ); + return this._leapYear(e.year()); + }, + _leapYear: function (t) { + return o(7 * (t = t < 0 ? t + 1 : t) + 1, 19) < 7; + }, + monthsInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + n.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, + n.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, + n.local.invalidMonth, + ), + (12 === e && this.leapYear(t)) || + (8 === e && 5 === o(this.daysInYear(t), 10)) + ? 30 + : 9 === e && 3 === o(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 i = this._validate( + t, + e, + r, + n.local.invalidDate, + ); + return { + yearType: + (this.leapYear(i) ? "embolismic" : "common") + + " " + + ["deficient", "regular", "complete"][ + (this.daysInYear(i) % 10) - 3 + ], + }; + }, + toJD: function (t, e, r) { + var i = this._validate( + t, + e, + r, + n.local.invalidDate, + ); + (t = i.year()), (e = i.month()), (r = i.day()); + var a = t <= 0 ? t + 1 : t, + o = + this.jdEpoch + + this._delay1(a) + + this._delay2(a) + + r + + 1; + if (e < 7) { + for (var s = 7; s <= this.monthsInYear(t); s++) + o += this.daysInMonth(t, s); + for (s = 1; s < e; s++) + o += this.daysInMonth(t, s); + } else + for (s = 7; s < e; s++) + o += this.daysInMonth(t, s); + return o; + }, + _delay1: function (t) { + var e = Math.floor((235 * t - 234) / 19), + r = 12084 + 13753 * e, + n = 29 * e + Math.floor(r / 25920); + return o(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) + 0.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); + }, + }), + (n.calendars.hebrew = a); + }, + 43805: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || + this.regionalOptions[""]; + } + (a.prototype = new n.baseCalendar()), + i(a.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īs", + "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, + n.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, + n.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 i = this._validate( + t, + e, + r, + n.local.invalidDate, + ); + return ( + (t = i.year()), + (e = i.month()), + (t = t <= 0 ? t + 1 : t), + (r = i.day()) + + 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) + 0.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); + }, + }), + (n.calendars.islamic = a); + }, + 88874: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || + this.regionalOptions[""]; + } + (a.prototype = new n.baseCalendar()), + i(a.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, + n.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, + n.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 i = this._validate( + t, + e, + r, + n.local.invalidDate, + ); + return ( + (t = i.year()), + (e = i.month()), + (r = i.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 + 0.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); + }, + }), + (n.calendars.julian = a); + }, + 83290: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || + this.regionalOptions[""]; + } + function o(t, e) { + return t - e * Math.floor(t / e); + } + function s(t, e) { + return o(t - 1, e) + 1; + } + (a.prototype = new n.baseCalendar()), + i(a.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, + n.local.invalidYear, + ), + !1 + ); + }, + formatYear: function (t) { + t = this._validate( + t, + this.minMonth, + this.minDay, + n.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, + n.local.invalidYear, + ), + 18 + ); + }, + weekOfYear: function (t, e, r) { + return ( + this._validate(t, e, r, n.local.invalidDate), 0 + ); + }, + daysInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ), + 360 + ); + }, + daysInMonth: function (t, e) { + return ( + this._validate( + t, + e, + this.minDay, + n.local.invalidMonth, + ), + 20 + ); + }, + daysInWeek: function () { + return 5; + }, + dayOfWeek: function (t, e, r) { + return this._validate( + t, + e, + r, + n.local.invalidDate, + ).day(); + }, + weekDay: function (t, e, r) { + return ( + this._validate(t, e, r, n.local.invalidDate), !0 + ); + }, + extraInfo: function (t, e, r) { + var i = this._validate( + t, + e, + r, + n.local.invalidDate, + ).toJD(), + a = this._toHaab(i), + o = this._toTzolkin(i); + return { + haabMonthName: this.local.haabMonths[a[0] - 1], + haabMonth: a[0], + haabDay: a[1], + tzolkinDayName: + this.local.tzolkinMonths[o[0] - 1], + tzolkinDay: o[0], + tzolkinTrecena: o[1], + }; + }, + _toHaab: function (t) { + var e = o(8 + (t -= this.jdEpoch) + 340, 365); + return [Math.floor(e / 20) + 1, o(e, 20)]; + }, + _toTzolkin: function (t) { + return [ + s(20 + (t -= this.jdEpoch), 20), + s(t + 4, 13), + ]; + }, + toJD: function (t, e, r) { + var i = this._validate( + t, + e, + r, + n.local.invalidDate, + ); + return ( + i.day() + + 20 * i.month() + + 360 * i.year() + + this.jdEpoch + ); + }, + fromJD: function (t) { + t = Math.floor(t) + 0.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); + }, + }), + (n.calendars.mayan = a); + }, + 29108: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || + this.regionalOptions[""]; + } + a.prototype = new n.baseCalendar(); + var o = n.instance("gregorian"); + i(a.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, + n.local.invalidYear || + n.regionalOptions[""].invalidYear, + ); + return o.leapYear( + e.year() + (e.year() < 1 ? 1 : 0) + 1469, + ); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(1 - (n.dayOfWeek() || 7), "d"), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInMonth: function (t, e) { + var r = this._validate( + t, + e, + this.minDay, + n.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 i = this._validate(t, e, r, n.local.invalidMonth); + (t = i.year()) < 0 && t++; + for (var a = i.day(), s = 1; s < i.month(); s++) + a += this.daysPerMonth[s - 1]; + return a + o.toJD(t + 1468, 3, 13); + }, + fromJD: function (t) { + t = Math.floor(t + 0.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) + 0.5) + 1, + n = 1; + r > this.daysInMonth(e, n); + + ) + (r -= this.daysInMonth(e, n)), n++; + return this.newDate(e, n, r); + }, + }), + (n.calendars.nanakshahi = a); + }, + 55422: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || + this.regionalOptions[""]; + } + (a.prototype = new n.baseCalendar()), + i(a.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, + n.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, + n.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 i = this._validate( + t, + e, + r, + n.local.invalidDate, + ); + (t = i.year()), (e = i.month()), (r = i.day()); + var a = n.instance(), + o = 0, + s = e, + l = t; + this._createMissingCalendarData(t); + var u = + t - + (s > 9 || + (9 === s && r >= this.NEPALI_CALENDAR_DATA[l][0]) + ? 56 + : 57); + for (9 !== e && ((o = r), s--); 9 !== s; ) + s <= 0 && ((s = 12), l--), + (o += this.NEPALI_CALENDAR_DATA[l][s]), + s--; + return ( + 9 === e + ? (o += r - this.NEPALI_CALENDAR_DATA[l][0]) < + 0 && (o += a.daysInYear(u)) + : (o += + this.NEPALI_CALENDAR_DATA[l][9] - + this.NEPALI_CALENDAR_DATA[l][0]), + a.newDate(u, 1, 1).add(o, "d").toJD() + ); + }, + fromJD: function (t) { + var e = n.instance().fromJD(t), + r = e.year(), + i = e.dayOfYear(), + a = r + 56; + this._createMissingCalendarData(a); + for ( + var o = 9, + s = this.NEPALI_CALENDAR_DATA[a][0], + l = this.NEPALI_CALENDAR_DATA[a][o] - s + 1; + i > l; + + ) + ++o > 12 && ((o = 1), a++), + (l += this.NEPALI_CALENDAR_DATA[a][o]); + var u = this.NEPALI_CALENDAR_DATA[a][o] - (l - i); + return this.newDate(a, o, u); + }, + _createMissingCalendarData: function (t) { + var e = this.daysPerMonth.slice(0); + e.unshift(17); + for (var r = t - 1; r < t + 2; r++) + void 0 === this.NEPALI_CALENDAR_DATA[r] && + (this.NEPALI_CALENDAR_DATA[r] = e); + }, + NEPALI_CALENDAR_DATA: { + 1970: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 1971: [ + 18, 31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, + 30, + ], + 1972: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 30, + ], + 1973: [ + 19, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, + 31, + ], + 1974: [ + 19, 31, 31, 32, 30, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 1975: [ + 18, 31, 31, 32, 32, 30, 31, 30, 29, 30, 29, 30, + 30, + ], + 1976: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 31, + ], + 1977: [ + 18, 31, 32, 31, 32, 31, 31, 29, 30, 29, 30, 29, + 31, + ], + 1978: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 1979: [ + 18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, + 30, + ], + 1980: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 31, + ], + 1981: [ + 18, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, + 30, + ], + 1982: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 1983: [ + 18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, + 30, + ], + 1984: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 31, + ], + 1985: [ + 18, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, + 30, + ], + 1986: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 1987: [ + 18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, + 30, + ], + 1988: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 31, + ], + 1989: [ + 18, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 1990: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 1991: [ + 18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, + 30, + ], + 1992: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, + 31, + ], + 1993: [ + 18, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 1994: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 1995: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 30, + ], + 1996: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, + 31, + ], + 1997: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 1998: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 1999: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 31, + ], + 2e3: [ + 17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, + 31, + ], + 2001: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2002: [ + 18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, + 30, + ], + 2003: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 31, + ], + 2004: [ + 17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, + 31, + ], + 2005: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2006: [ + 18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, + 30, + ], + 2007: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 31, + ], + 2008: [ + 17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, + 31, + ], + 2009: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2010: [ + 18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, + 30, + ], + 2011: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 31, + ], + 2012: [ + 17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, + 30, + ], + 2013: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2014: [ + 18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, + 30, + ], + 2015: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 31, + ], + 2016: [ + 17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, + 30, + ], + 2017: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2018: [ + 18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, + 30, + ], + 2019: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, + 31, + ], + 2020: [ + 17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2021: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2022: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 30, + ], + 2023: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, + 31, + ], + 2024: [ + 17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2025: [ + 18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2026: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 31, + ], + 2027: [ + 17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, + 31, + ], + 2028: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2029: [ + 18, 31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, + 30, + ], + 2030: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 30, 30, 30, + 31, + ], + 2031: [ + 17, 31, 32, 31, 32, 31, 31, 31, 31, 31, 31, 31, + 31, + ], + 2032: [ + 17, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, + ], + 2033: [ + 18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, + 30, + ], + 2034: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 31, + ], + 2035: [ + 17, 30, 32, 31, 32, 31, 31, 29, 30, 30, 29, 29, + 31, + ], + 2036: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2037: [ + 18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, + 30, + ], + 2038: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 31, + ], + 2039: [ + 17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, + 30, + ], + 2040: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2041: [ + 18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, + 30, + ], + 2042: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 31, + ], + 2043: [ + 17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, + 30, + ], + 2044: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2045: [ + 18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, + 30, + ], + 2046: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 31, + ], + 2047: [ + 17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2048: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2049: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 30, + ], + 2050: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, + 31, + ], + 2051: [ + 17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2052: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2053: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 30, + ], + 2054: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, + 31, + ], + 2055: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 30, 29, + 30, + ], + 2056: [ + 17, 31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, + 30, + ], + 2057: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 31, + ], + 2058: [ + 17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, + 31, + ], + 2059: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2060: [ + 17, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, + 30, + ], + 2061: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 31, + ], + 2062: [ + 17, 30, 32, 31, 32, 31, 31, 29, 30, 29, 30, 29, + 31, + ], + 2063: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2064: [ + 17, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, + 30, + ], + 2065: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 31, + ], + 2066: [ + 17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, + 31, + ], + 2067: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2068: [ + 17, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, + 30, + ], + 2069: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 31, + ], + 2070: [ + 17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, + 30, + ], + 2071: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2072: [ + 17, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, + 30, + ], + 2073: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 31, + ], + 2074: [ + 17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2075: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2076: [ + 16, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 30, + ], + 2077: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, + 31, + ], + 2078: [ + 17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2079: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, + 30, + ], + 2080: [ + 16, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, + 30, + ], + 2081: [ + 17, 31, 31, 32, 32, 31, 30, 30, 30, 29, 30, 30, + 30, + ], + 2082: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, + 30, + ], + 2083: [ + 17, 31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, + 30, + ], + 2084: [ + 17, 31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, + 30, + ], + 2085: [ + 17, 31, 32, 31, 32, 31, 31, 30, 30, 29, 30, 30, + 30, + ], + 2086: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, + 30, + ], + 2087: [ + 16, 31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, + 30, + ], + 2088: [ + 16, 30, 31, 32, 32, 30, 31, 30, 30, 29, 30, 30, + 30, + ], + 2089: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, + 30, + ], + 2090: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, + 30, + ], + 2091: [ + 16, 31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, + 30, + ], + 2092: [ + 16, 31, 31, 32, 32, 31, 30, 30, 30, 29, 30, 30, + 30, + ], + 2093: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, + 30, + ], + 2094: [ + 17, 31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, + 30, + ], + 2095: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 30, 30, + 30, + ], + 2096: [ + 17, 30, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, + 30, + ], + 2097: [ + 17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, + 30, + ], + 2098: [ + 17, 31, 31, 32, 31, 31, 31, 29, 30, 29, 30, 30, + 31, + ], + 2099: [ + 17, 31, 31, 32, 31, 31, 31, 30, 29, 29, 30, 30, + 30, + ], + 2100: [ + 17, 31, 32, 31, 32, 30, 31, 30, 29, 30, 29, 30, + 30, + ], + }, + }), + (n.calendars.nepali = a); + }, + 94320: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || + this.regionalOptions[""]; + } + function o(t, e) { + return t - e * Math.floor(t / e); + } + (a.prototype = new n.baseCalendar()), + i(a.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æharshambe", + "Panjshambe", + "Jom'e", + "Shambe", + ], + dayNamesShort: [ + "Yek", + "Do", + "Se", + "Chæ", + "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, + n.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, + n.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 i = this._validate( + t, + e, + r, + n.local.invalidDate, + ); + (t = i.year()), (e = i.month()), (r = i.day()); + var a = t - (t >= 0 ? 474 : 473), + s = 474 + o(a, 2820); + return ( + r + + (e <= 7 ? 31 * (e - 1) : 30 * (e - 1) + 6) + + Math.floor((682 * s - 110) / 2816) + + 365 * (s - 1) + + 1029983 * Math.floor(a / 2820) + + this.jdEpoch - + 1 + ); + }, + fromJD: function (t) { + var e = + (t = Math.floor(t) + 0.5) - + this.toJD(475, 1, 1), + r = Math.floor(e / 1029983), + n = o(e, 1029983), + i = 2820; + if (1029982 !== n) { + var a = Math.floor(n / 366), + s = o(n, 366); + i = + Math.floor( + (2134 * a + 2816 * s + 2815) / 1028522, + ) + + a + + 1; + } + var l = i + 2820 * r + 474; + l = l <= 0 ? l - 1 : l; + var u = t - this.toJD(l, 1, 1) + 1, + c = + u <= 186 + ? Math.ceil(u / 31) + : Math.ceil((u - 6) / 30), + f = t - this.toJD(l, c, 1) + 1; + return this.newDate(l, c, f); + }, + }), + (n.calendars.persian = a), + (n.calendars.jalali = a); + }, + 31320: function (t, e, r) { + var n = r(63489), + i = r(56131), + a = n.instance(); + function o(t) { + this.local = + this.regionalOptions[t || ""] || + this.regionalOptions[""]; + } + (o.prototype = new n.baseCalendar()), + i(o.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, + n.local.invalidYear, + ); + return (t = this._t2gYear(e.year())), a.leapYear(t); + }, + weekOfYear: function (t, e, r) { + var i = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ); + return ( + (t = this._t2gYear(i.year())), + a.weekOfYear(t, i.month(), i.day()) + ); + }, + daysInMonth: function (t, e) { + var r = this._validate( + t, + e, + this.minDay, + n.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 i = this._validate( + t, + e, + r, + n.local.invalidDate, + ); + return ( + (t = this._t2gYear(i.year())), + a.toJD(t, i.month(), i.day()) + ); + }, + fromJD: function (t) { + var e = a.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) + ); + }, + }), + (n.calendars.taiwan = o); + }, + 51367: function (t, e, r) { + var n = r(63489), + i = r(56131), + a = n.instance(); + function o(t) { + this.local = + this.regionalOptions[t || ""] || + this.regionalOptions[""]; + } + (o.prototype = new n.baseCalendar()), + i(o.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, + n.local.invalidYear, + ); + return (t = this._t2gYear(e.year())), a.leapYear(t); + }, + weekOfYear: function (t, e, r) { + var i = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ); + return ( + (t = this._t2gYear(i.year())), + a.weekOfYear(t, i.month(), i.day()) + ); + }, + daysInMonth: function (t, e) { + var r = this._validate( + t, + e, + this.minDay, + n.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 i = this._validate( + t, + e, + r, + n.local.invalidDate, + ); + return ( + (t = this._t2gYear(i.year())), + a.toJD(t, i.month(), i.day()) + ); + }, + fromJD: function (t) { + var e = a.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) + ); + }, + }), + (n.calendars.thai = o); + }, + 21457: function (t, e, r) { + var n = r(63489), + i = r(56131); + function a(t) { + this.local = + this.regionalOptions[t || ""] || + this.regionalOptions[""]; + } + (a.prototype = new n.baseCalendar()), + i(a.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āthā’", + "Yawm al-Arba‘ā’", + "Yawm al-Khamīs", + "Yawm al-Jum‘a", + "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, + n.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, + n.local.invalidMonth, + ).toJD() - + 24e5 + + 0.5, + i = 0, + a = 0; + a < o.length; + a++ + ) { + if (o[a] > r) return o[i] - o[i - 1]; + i++; + } + return 30; + }, + weekDay: function (t, e, r) { + return 5 !== this.dayOfWeek(t, e, r); + }, + toJD: function (t, e, r) { + var i = this._validate( + t, + e, + r, + n.local.invalidDate, + ), + a = 12 * (i.year() - 1) + i.month() - 15292; + return i.day() + o[a - 1] - 1 + 24e5 - 0.5; + }, + fromJD: function (t) { + for ( + var e = t - 24e5 + 0.5, r = 0, n = 0; + n < o.length && !(o[n] > e); + n++ + ) + r++; + var i = r + 15292, + a = Math.floor((i - 1) / 12), + s = a + 1, + l = i - 12 * a, + u = e - o[r - 1] + 1; + return this.newDate(s, l, u); + }, + isValid: function (t, e, r) { + var i = n.baseCalendar.prototype.isValid.apply( + this, + arguments, + ); + return ( + i && + (i = + (t = null != t.year ? t.year : t) >= 1276 && + t <= 1500), + i + ); + }, + _validate: function (t, e, r, i) { + var a = n.baseCalendar.prototype._validate.apply( + this, + arguments, + ); + if (a.year < 1276 || a.year > 1500) + throw i.replace(/\{0\}/, this.local.name); + return a; + }, + }), + (n.calendars.ummalqura = a); + var o = [ + 20, 50, 79, 109, 138, 168, 197, 227, 256, 286, 315, 345, + 374, 404, 433, 463, 492, 522, 551, 581, 611, 641, 670, + 700, 729, 759, 788, 818, 847, 877, 906, 936, 965, 995, + 1024, 1054, 1083, 1113, 1142, 1172, 1201, 1231, 1260, + 1290, 1320, 1350, 1379, 1409, 1438, 1468, 1497, 1527, + 1556, 1586, 1615, 1645, 1674, 1704, 1733, 1763, 1792, + 1822, 1851, 1881, 1910, 1940, 1969, 1999, 2028, 2058, + 2087, 2117, 2146, 2176, 2205, 2235, 2264, 2294, 2323, + 2353, 2383, 2413, 2442, 2472, 2501, 2531, 2560, 2590, + 2619, 2649, 2678, 2708, 2737, 2767, 2796, 2826, 2855, + 2885, 2914, 2944, 2973, 3003, 3032, 3062, 3091, 3121, + 3150, 3180, 3209, 3239, 3268, 3298, 3327, 3357, 3386, + 3416, 3446, 3476, 3505, 3535, 3564, 3594, 3623, 3653, + 3682, 3712, 3741, 3771, 3800, 3830, 3859, 3889, 3918, + 3948, 3977, 4007, 4036, 4066, 4095, 4125, 4155, 4185, + 4214, 4244, 4273, 4303, 4332, 4362, 4391, 4421, 4450, + 4480, 4509, 4539, 4568, 4598, 4627, 4657, 4686, 4716, + 4745, 4775, 4804, 4834, 4863, 4893, 4922, 4952, 4981, + 5011, 5040, 5070, 5099, 5129, 5158, 5188, 5218, 5248, + 5277, 5307, 5336, 5366, 5395, 5425, 5454, 5484, 5513, + 5543, 5572, 5602, 5631, 5661, 5690, 5720, 5749, 5779, + 5808, 5838, 5867, 5897, 5926, 5956, 5985, 6015, 6044, + 6074, 6103, 6133, 6162, 6192, 6221, 6251, 6281, 6311, + 6340, 6370, 6399, 6429, 6458, 6488, 6517, 6547, 6576, + 6606, 6635, 6665, 6694, 6724, 6753, 6783, 6812, 6842, + 6871, 6901, 6930, 6960, 6989, 7019, 7048, 7078, 7107, + 7137, 7166, 7196, 7225, 7255, 7284, 7314, 7344, 7374, + 7403, 7433, 7462, 7492, 7521, 7551, 7580, 7610, 7639, + 7669, 7698, 7728, 7757, 7787, 7816, 7846, 7875, 7905, + 7934, 7964, 7993, 8023, 8053, 8083, 8112, 8142, 8171, + 8201, 8230, 8260, 8289, 8319, 8348, 8378, 8407, 8437, + 8466, 8496, 8525, 8555, 8584, 8614, 8643, 8673, 8702, + 8732, 8761, 8791, 8821, 8850, 8880, 8909, 8938, 8968, + 8997, 9027, 9056, 9086, 9115, 9145, 9175, 9205, 9234, + 9264, 9293, 9322, 9352, 9381, 9410, 9440, 9470, 9499, + 9529, 9559, 9589, 9618, 9648, 9677, 9706, 9736, 9765, + 9794, 9824, 9853, 9883, 9913, 9943, 9972, 10002, 10032, + 10061, 10090, 10120, 10149, 10178, 10208, 10237, 10267, + 10297, 10326, 10356, 10386, 10415, 10445, 10474, 10504, + 10533, 10562, 10592, 10621, 10651, 10680, 10710, 10740, + 10770, 10799, 10829, 10858, 10888, 10917, 10947, 10976, + 11005, 11035, 11064, 11094, 11124, 11153, 11183, 11213, + 11242, 11272, 11301, 11331, 11360, 11389, 11419, 11448, + 11478, 11507, 11537, 11567, 11596, 11626, 11655, 11685, + 11715, 11744, 11774, 11803, 11832, 11862, 11891, 11921, + 11950, 11980, 12010, 12039, 12069, 12099, 12128, 12158, + 12187, 12216, 12246, 12275, 12304, 12334, 12364, 12393, + 12423, 12453, 12483, 12512, 12542, 12571, 12600, 12630, + 12659, 12688, 12718, 12747, 12777, 12807, 12837, 12866, + 12896, 12926, 12955, 12984, 13014, 13043, 13072, 13102, + 13131, 13161, 13191, 13220, 13250, 13280, 13310, 13339, + 13368, 13398, 13427, 13456, 13486, 13515, 13545, 13574, + 13604, 13634, 13664, 13693, 13723, 13752, 13782, 13811, + 13840, 13870, 13899, 13929, 13958, 13988, 14018, 14047, + 14077, 14107, 14136, 14166, 14195, 14224, 14254, 14283, + 14313, 14342, 14372, 14401, 14431, 14461, 14490, 14520, + 14550, 14579, 14609, 14638, 14667, 14697, 14726, 14756, + 14785, 14815, 14844, 14874, 14904, 14933, 14963, 14993, + 15021, 15051, 15081, 15110, 15140, 15169, 15199, 15228, + 15258, 15287, 15317, 15347, 15377, 15406, 15436, 15465, + 15494, 15524, 15553, 15582, 15612, 15641, 15671, 15701, + 15731, 15760, 15790, 15820, 15849, 15878, 15908, 15937, + 15966, 15996, 16025, 16055, 16085, 16114, 16144, 16174, + 16204, 16233, 16262, 16292, 16321, 16350, 16380, 16409, + 16439, 16468, 16498, 16528, 16558, 16587, 16617, 16646, + 16676, 16705, 16734, 16764, 16793, 16823, 16852, 16882, + 16912, 16941, 16971, 17001, 17030, 17060, 17089, 17118, + 17148, 17177, 17207, 17236, 17266, 17295, 17325, 17355, + 17384, 17414, 17444, 17473, 17502, 17532, 17561, 17591, + 17620, 17650, 17679, 17709, 17738, 17768, 17798, 17827, + 17857, 17886, 17916, 17945, 17975, 18004, 18034, 18063, + 18093, 18122, 18152, 18181, 18211, 18241, 18270, 18300, + 18330, 18359, 18388, 18418, 18447, 18476, 18506, 18535, + 18565, 18595, 18625, 18654, 18684, 18714, 18743, 18772, + 18802, 18831, 18860, 18890, 18919, 18949, 18979, 19008, + 19038, 19068, 19098, 19127, 19156, 19186, 19215, 19244, + 19274, 19303, 19333, 19362, 19392, 19422, 19452, 19481, + 19511, 19540, 19570, 19599, 19628, 19658, 19687, 19717, + 19746, 19776, 19806, 19836, 19865, 19895, 19924, 19954, + 19983, 20012, 20042, 20071, 20101, 20130, 20160, 20190, + 20219, 20249, 20279, 20308, 20338, 20367, 20396, 20426, + 20455, 20485, 20514, 20544, 20573, 20603, 20633, 20662, + 20692, 20721, 20751, 20780, 20810, 20839, 20869, 20898, + 20928, 20957, 20987, 21016, 21046, 21076, 21105, 21135, + 21164, 21194, 21223, 21253, 21282, 21312, 21341, 21371, + 21400, 21430, 21459, 21489, 21519, 21548, 21578, 21607, + 21637, 21666, 21696, 21725, 21754, 21784, 21813, 21843, + 21873, 21902, 21932, 21962, 21991, 22021, 22050, 22080, + 22109, 22138, 22168, 22197, 22227, 22256, 22286, 22316, + 22346, 22375, 22405, 22434, 22464, 22493, 22522, 22552, + 22581, 22611, 22640, 22670, 22700, 22730, 22759, 22789, + 22818, 22848, 22877, 22906, 22936, 22965, 22994, 23024, + 23054, 23083, 23113, 23143, 23173, 23202, 23232, 23261, + 23290, 23320, 23349, 23379, 23408, 23438, 23467, 23497, + 23527, 23556, 23586, 23616, 23645, 23674, 23704, 23733, + 23763, 23792, 23822, 23851, 23881, 23910, 23940, 23970, + 23999, 24029, 24058, 24088, 24117, 24147, 24176, 24206, + 24235, 24265, 24294, 24324, 24353, 24383, 24413, 24442, + 24472, 24501, 24531, 24560, 24590, 24619, 24648, 24678, + 24707, 24737, 24767, 24796, 24826, 24856, 24885, 24915, + 24944, 24974, 25003, 25032, 25062, 25091, 25121, 25150, + 25180, 25210, 25240, 25269, 25299, 25328, 25358, 25387, + 25416, 25446, 25475, 25505, 25534, 25564, 25594, 25624, + 25653, 25683, 25712, 25742, 25771, 25800, 25830, 25859, + 25888, 25918, 25948, 25977, 26007, 26037, 26067, 26096, + 26126, 26155, 26184, 26214, 26243, 26272, 26302, 26332, + 26361, 26391, 26421, 26451, 26480, 26510, 26539, 26568, + 26598, 26627, 26656, 26686, 26715, 26745, 26775, 26805, + 26834, 26864, 26893, 26923, 26952, 26982, 27011, 27041, + 27070, 27099, 27129, 27159, 27188, 27218, 27248, 27277, + 27307, 27336, 27366, 27395, 27425, 27454, 27484, 27513, + 27542, 27572, 27602, 27631, 27661, 27691, 27720, 27750, + 27779, 27809, 27838, 27868, 27897, 27926, 27956, 27985, + 28015, 28045, 28074, 28104, 28134, 28163, 28193, 28222, + 28252, 28281, 28310, 28340, 28369, 28399, 28428, 28458, + 28488, 28517, 28547, 28577, 28607, 28636, 28665, 28695, + 28724, 28754, 28783, 28813, 28843, 28872, 28901, 28931, + 28960, 28990, 29019, 29049, 29078, 29108, 29137, 29167, + 29196, 29226, 29255, 29285, 29315, 29345, 29375, 29404, + 29434, 29463, 29492, 29522, 29551, 29580, 29610, 29640, + 29669, 29699, 29729, 29759, 29788, 29818, 29847, 29876, + 29906, 29935, 29964, 29994, 30023, 30053, 30082, 30112, + 30141, 30171, 30200, 30230, 30259, 30289, 30318, 30348, + 30378, 30408, 30437, 30467, 30496, 30526, 30555, 30585, + 30614, 30644, 30673, 30703, 30732, 30762, 30791, 30821, + 30850, 30880, 30909, 30939, 30968, 30998, 31027, 31057, + 31086, 31116, 31145, 31175, 31204, 31234, 31263, 31293, + 31322, 31352, 31381, 31411, 31441, 31471, 31500, 31530, + 31559, 31589, 31618, 31648, 31676, 31706, 31736, 31766, + 31795, 31825, 31854, 31884, 31913, 31943, 31972, 32002, + 32031, 32061, 32090, 32120, 32150, 32180, 32209, 32239, + 32268, 32298, 32327, 32357, 32386, 32416, 32445, 32475, + 32504, 32534, 32563, 32593, 32622, 32652, 32681, 32711, + 32740, 32770, 32799, 32829, 32858, 32888, 32917, 32947, + 32976, 33006, 33035, 33065, 33094, 33124, 33153, 33183, + 33213, 33243, 33272, 33302, 33331, 33361, 33390, 33420, + 33450, 33479, 33509, 33539, 33568, 33598, 33627, 33657, + 33686, 33716, 33745, 33775, 33804, 33834, 33863, 33893, + 33922, 33952, 33981, 34011, 34040, 34069, 34099, 34128, + 34158, 34187, 34217, 34247, 34277, 34306, 34336, 34365, + 34395, 34424, 34454, 34483, 34512, 34542, 34571, 34601, + 34631, 34660, 34690, 34719, 34749, 34778, 34808, 34837, + 34867, 34896, 34926, 34955, 34985, 35015, 35044, 35074, + 35103, 35133, 35162, 35192, 35222, 35251, 35280, 35310, + 35340, 35370, 35399, 35429, 35458, 35488, 35517, 35547, + 35576, 35605, 35635, 35665, 35694, 35723, 35753, 35782, + 35811, 35841, 35871, 35901, 35930, 35960, 35989, 36019, + 36048, 36078, 36107, 36136, 36166, 36195, 36225, 36254, + 36284, 36314, 36343, 36373, 36403, 36433, 36462, 36492, + 36521, 36551, 36580, 36610, 36639, 36669, 36698, 36728, + 36757, 36786, 36816, 36845, 36875, 36904, 36934, 36963, + 36993, 37022, 37052, 37081, 37111, 37141, 37170, 37200, + 37229, 37259, 37288, 37318, 37347, 37377, 37406, 37436, + 37465, 37495, 37524, 37554, 37584, 37613, 37643, 37672, + 37701, 37731, 37760, 37790, 37819, 37849, 37878, 37908, + 37938, 37967, 37997, 38027, 38056, 38085, 38115, 38144, + 38174, 38203, 38233, 38262, 38292, 38322, 38351, 38381, + 38410, 38440, 38469, 38499, 38528, 38558, 38587, 38617, + 38646, 38676, 38705, 38735, 38764, 38794, 38823, 38853, + 38882, 38912, 38941, 38971, 39001, 39030, 39059, 39089, + 39118, 39148, 39178, 39208, 39237, 39267, 39297, 39326, + 39355, 39385, 39414, 39444, 39473, 39503, 39532, 39562, + 39592, 39621, 39650, 39680, 39709, 39739, 39768, 39798, + 39827, 39857, 39886, 39916, 39946, 39975, 40005, 40035, + 40064, 40094, 40123, 40153, 40182, 40212, 40241, 40271, + 40300, 40330, 40359, 40389, 40418, 40448, 40477, 40507, + 40536, 40566, 40595, 40625, 40655, 40685, 40714, 40744, + 40773, 40803, 40832, 40862, 40892, 40921, 40951, 40980, + 41009, 41039, 41068, 41098, 41127, 41157, 41186, 41216, + 41245, 41275, 41304, 41334, 41364, 41393, 41422, 41452, + 41481, 41511, 41540, 41570, 41599, 41629, 41658, 41688, + 41718, 41748, 41777, 41807, 41836, 41865, 41894, 41924, + 41953, 41983, 42012, 42042, 42072, 42102, 42131, 42161, + 42190, 42220, 42249, 42279, 42308, 42337, 42367, 42397, + 42426, 42456, 42485, 42515, 42545, 42574, 42604, 42633, + 42662, 42692, 42721, 42751, 42780, 42810, 42839, 42869, + 42899, 42929, 42958, 42988, 43017, 43046, 43076, 43105, + 43135, 43164, 43194, 43223, 43253, 43283, 43312, 43342, + 43371, 43401, 43430, 43460, 43489, 43519, 43548, 43578, + 43607, 43637, 43666, 43696, 43726, 43755, 43785, 43814, + 43844, 43873, 43903, 43932, 43962, 43991, 44021, 44050, + 44080, 44109, 44139, 44169, 44198, 44228, 44258, 44287, + 44317, 44346, 44375, 44405, 44434, 44464, 44493, 44523, + 44553, 44582, 44612, 44641, 44671, 44700, 44730, 44759, + 44788, 44818, 44847, 44877, 44906, 44936, 44966, 44996, + 45025, 45055, 45084, 45114, 45143, 45172, 45202, 45231, + 45261, 45290, 45320, 45350, 45380, 45409, 45439, 45468, + 45498, 45527, 45556, 45586, 45615, 45644, 45674, 45704, + 45733, 45763, 45793, 45823, 45852, 45882, 45911, 45940, + 45970, 45999, 46028, 46058, 46088, 46117, 46147, 46177, + 46206, 46236, 46265, 46295, 46324, 46354, 46383, 46413, + 46442, 46472, 46501, 46531, 46560, 46590, 46620, 46649, + 46679, 46708, 46738, 46767, 46797, 46826, 46856, 46885, + 46915, 46944, 46974, 47003, 47033, 47063, 47092, 47122, + 47151, 47181, 47210, 47240, 47269, 47298, 47328, 47357, + 47387, 47417, 47446, 47476, 47506, 47535, 47565, 47594, + 47624, 47653, 47682, 47712, 47741, 47771, 47800, 47830, + 47860, 47890, 47919, 47949, 47978, 48008, 48037, 48066, + 48096, 48125, 48155, 48184, 48214, 48244, 48273, 48303, + 48333, 48362, 48392, 48421, 48450, 48480, 48509, 48538, + 48568, 48598, 48627, 48657, 48687, 48717, 48746, 48776, + 48805, 48834, 48864, 48893, 48922, 48952, 48982, 49011, + 49041, 49071, 49100, 49130, 49160, 49189, 49218, 49248, + 49277, 49306, 49336, 49365, 49395, 49425, 49455, 49484, + 49514, 49543, 49573, 49602, 49632, 49661, 49690, 49720, + 49749, 49779, 49809, 49838, 49868, 49898, 49927, 49957, + 49986, 50016, 50045, 50075, 50104, 50133, 50163, 50192, + 50222, 50252, 50281, 50311, 50340, 50370, 50400, 50429, + 50459, 50488, 50518, 50547, 50576, 50606, 50635, 50665, + 50694, 50724, 50754, 50784, 50813, 50843, 50872, 50902, + 50931, 50960, 50990, 51019, 51049, 51078, 51108, 51138, + 51167, 51197, 51227, 51256, 51286, 51315, 51345, 51374, + 51403, 51433, 51462, 51492, 51522, 51552, 51582, 51611, + 51641, 51670, 51699, 51729, 51758, 51787, 51816, 51846, + 51876, 51906, 51936, 51965, 51995, 52025, 52054, 52083, + 52113, 52142, 52171, 52200, 52230, 52260, 52290, 52319, + 52349, 52379, 52408, 52438, 52467, 52497, 52526, 52555, + 52585, 52614, 52644, 52673, 52703, 52733, 52762, 52792, + 52822, 52851, 52881, 52910, 52939, 52969, 52998, 53028, + 53057, 53087, 53116, 53146, 53176, 53205, 53235, 53264, + 53294, 53324, 53353, 53383, 53412, 53441, 53471, 53500, + 53530, 53559, 53589, 53619, 53648, 53678, 53708, 53737, + 53767, 53796, 53825, 53855, 53884, 53913, 53943, 53973, + 54003, 54032, 54062, 54092, 54121, 54151, 54180, 54209, + 54239, 54268, 54297, 54327, 54357, 54387, 54416, 54446, + 54476, 54505, 54535, 54564, 54593, 54623, 54652, 54681, + 54711, 54741, 54770, 54800, 54830, 54859, 54889, 54919, + 54948, 54977, 55007, 55036, 55066, 55095, 55125, 55154, + 55184, 55213, 55243, 55273, 55302, 55332, 55361, 55391, + 55420, 55450, 55479, 55508, 55538, 55567, 55597, 55627, + 55657, 55686, 55716, 55745, 55775, 55804, 55834, 55863, + 55892, 55922, 55951, 55981, 56011, 56040, 56070, 56100, + 56129, 56159, 56188, 56218, 56247, 56276, 56306, 56335, + 56365, 56394, 56424, 56454, 56483, 56513, 56543, 56572, + 56601, 56631, 56660, 56690, 56719, 56749, 56778, 56808, + 56837, 56867, 56897, 56926, 56956, 56985, 57015, 57044, + 57074, 57103, 57133, 57162, 57192, 57221, 57251, 57280, + 57310, 57340, 57369, 57399, 57429, 57458, 57487, 57517, + 57546, 57576, 57605, 57634, 57664, 57694, 57723, 57753, + 57783, 57813, 57842, 57871, 57901, 57930, 57959, 57989, + 58018, 58048, 58077, 58107, 58137, 58167, 58196, 58226, + 58255, 58285, 58314, 58343, 58373, 58402, 58432, 58461, + 58491, 58521, 58551, 58580, 58610, 58639, 58669, 58698, + 58727, 58757, 58786, 58816, 58845, 58875, 58905, 58934, + 58964, 58994, 59023, 59053, 59082, 59111, 59141, 59170, + 59200, 59229, 59259, 59288, 59318, 59348, 59377, 59407, + 59436, 59466, 59495, 59525, 59554, 59584, 59613, 59643, + 59672, 59702, 59731, 59761, 59791, 59820, 59850, 59879, + 59909, 59939, 59968, 59997, 60027, 60056, 60086, 60115, + 60145, 60174, 60204, 60234, 60264, 60293, 60323, 60352, + 60381, 60411, 60440, 60469, 60499, 60528, 60558, 60588, + 60618, 60648, 60677, 60707, 60736, 60765, 60795, 60824, + 60853, 60883, 60912, 60942, 60972, 61002, 61031, 61061, + 61090, 61120, 61149, 61179, 61208, 61237, 61267, 61296, + 61326, 61356, 61385, 61415, 61445, 61474, 61504, 61533, + 61563, 61592, 61621, 61651, 61680, 61710, 61739, 61769, + 61799, 61828, 61858, 61888, 61917, 61947, 61976, 62006, + 62035, 62064, 62094, 62123, 62153, 62182, 62212, 62242, + 62271, 62301, 62331, 62360, 62390, 62419, 62448, 62478, + 62507, 62537, 62566, 62596, 62625, 62655, 62685, 62715, + 62744, 62774, 62803, 62832, 62862, 62891, 62921, 62950, + 62980, 63009, 63039, 63069, 63099, 63128, 63157, 63187, + 63216, 63246, 63275, 63305, 63334, 63363, 63393, 63423, + 63453, 63482, 63512, 63541, 63571, 63600, 63630, 63659, + 63689, 63718, 63747, 63777, 63807, 63836, 63866, 63895, + 63925, 63955, 63984, 64014, 64043, 64073, 64102, 64131, + 64161, 64190, 64220, 64249, 64279, 64309, 64339, 64368, + 64398, 64427, 64457, 64486, 64515, 64545, 64574, 64603, + 64633, 64663, 64692, 64722, 64752, 64782, 64811, 64841, + 64870, 64899, 64929, 64958, 64987, 65017, 65047, 65076, + 65106, 65136, 65166, 65195, 65225, 65254, 65283, 65313, + 65342, 65371, 65401, 65431, 65460, 65490, 65520, 65549, + 65579, 65608, 65638, 65667, 65697, 65726, 65755, 65785, + 65815, 65844, 65874, 65903, 65933, 65963, 65992, 66022, + 66051, 66081, 66110, 66140, 66169, 66199, 66228, 66258, + 66287, 66317, 66346, 66376, 66405, 66435, 66465, 66494, + 66524, 66553, 66583, 66612, 66641, 66671, 66700, 66730, + 66760, 66789, 66819, 66849, 66878, 66908, 66937, 66967, + 66996, 67025, 67055, 67084, 67114, 67143, 67173, 67203, + 67233, 67262, 67292, 67321, 67351, 67380, 67409, 67439, + 67468, 67497, 67527, 67557, 67587, 67617, 67646, 67676, + 67705, 67735, 67764, 67793, 67823, 67852, 67882, 67911, + 67941, 67971, 68e3, 68030, 68060, 68089, 68119, 68148, + 68177, 68207, 68236, 68266, 68295, 68325, 68354, 68384, + 68414, 68443, 68473, 68502, 68532, 68561, 68591, 68620, + 68650, 68679, 68708, 68738, 68768, 68797, 68827, 68857, + 68886, 68916, 68946, 68975, 69004, 69034, 69063, 69092, + 69122, 69152, 69181, 69211, 69240, 69270, 69300, 69330, + 69359, 69388, 69418, 69447, 69476, 69506, 69535, 69565, + 69595, 69624, 69654, 69684, 69713, 69743, 69772, 69802, + 69831, 69861, 69890, 69919, 69949, 69978, 70008, 70038, + 70067, 70097, 70126, 70156, 70186, 70215, 70245, 70274, + 70303, 70333, 70362, 70392, 70421, 70451, 70481, 70510, + 70540, 70570, 70599, 70629, 70658, 70687, 70717, 70746, + 70776, 70805, 70835, 70864, 70894, 70924, 70954, 70983, + 71013, 71042, 71071, 71101, 71130, 71159, 71189, 71218, + 71248, 71278, 71308, 71337, 71367, 71397, 71426, 71455, + 71485, 71514, 71543, 71573, 71602, 71632, 71662, 71691, + 71721, 71751, 71781, 71810, 71839, 71869, 71898, 71927, + 71957, 71986, 72016, 72046, 72075, 72105, 72135, 72164, + 72194, 72223, 72253, 72282, 72311, 72341, 72370, 72400, + 72429, 72459, 72489, 72518, 72548, 72577, 72607, 72637, + 72666, 72695, 72725, 72754, 72784, 72813, 72843, 72872, + 72902, 72931, 72961, 72991, 73020, 73050, 73080, 73109, + 73139, 73168, 73197, 73227, 73256, 73286, 73315, 73345, + 73375, 73404, 73434, 73464, 73493, 73523, 73552, 73581, + 73611, 73640, 73669, 73699, 73729, 73758, 73788, 73818, + 73848, 73877, 73907, 73936, 73965, 73995, 74024, 74053, + 74083, 74113, 74142, 74172, 74202, 74231, 74261, 74291, + 74320, 74349, 74379, 74408, 74437, 74467, 74497, 74526, + 74556, 74586, 74615, 74645, 74675, 74704, 74733, 74763, + 74792, 74822, 74851, 74881, 74910, 74940, 74969, 74999, + 75029, 75058, 75088, 75117, 75147, 75176, 75206, 75235, + 75264, 75294, 75323, 75353, 75383, 75412, 75442, 75472, + 75501, 75531, 75560, 75590, 75619, 75648, 75678, 75707, + 75737, 75766, 75796, 75826, 75856, 75885, 75915, 75944, + 75974, 76003, 76032, 76062, 76091, 76121, 76150, 76180, + 76210, 76239, 76269, 76299, 76328, 76358, 76387, 76416, + 76446, 76475, 76505, 76534, 76564, 76593, 76623, 76653, + 76682, 76712, 76741, 76771, 76801, 76830, 76859, 76889, + 76918, 76948, 76977, 77007, 77036, 77066, 77096, 77125, + 77155, 77185, 77214, 77243, 77273, 77302, 77332, 77361, + 77390, 77420, 77450, 77479, 77509, 77539, 77569, 77598, + 77627, 77657, 77686, 77715, 77745, 77774, 77804, 77833, + 77863, 77893, 77923, 77952, 77982, 78011, 78041, 78070, + 78099, 78129, 78158, 78188, 78217, 78247, 78277, 78307, + 78336, 78366, 78395, 78425, 78454, 78483, 78513, 78542, + 78572, 78601, 78631, 78661, 78690, 78720, 78750, 78779, + 78808, 78838, 78867, 78897, 78926, 78956, 78985, 79015, + 79044, 79074, 79104, 79133, 79163, 79192, 79222, 79251, + 79281, 79310, 79340, 79369, 79399, 79428, 79458, 79487, + 79517, 79546, 79576, 79606, 79635, 79665, 79695, 79724, + 79753, 79783, 79812, 79841, 79871, 79900, 79930, 79960, + 79990, + ]; + }, + 63489: function (t, e, r) { + var n = r(56131); + function i() { + (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 a(t, e, r, n) { + if ( + ((this._calendar = t), + (this._year = e), + (this._month = r), + (this._day = n), + 0 === this._calendar._validateLevel && + !this._calendar.isValid( + this._year, + this._month, + this._day, + )) + ) + throw ( + u.local.invalidDate || + u.regionalOptions[""].invalidDate + ).replace(/\{0\}/, this._calendar.local.name); + } + function o(t, e) { + return ( + "000000".substring(0, e - (t = "" + t).length) + t + ); + } + function s() { + this.shortYearCutoff = "+10"; + } + function l(t) { + this.local = + this.regionalOptions[t] || this.regionalOptions[""]; + } + n(i.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] + ); + }; + }, + }), + n(a.prototype, { + newDate: function (t, e, r) { + return this._calendar.newDate( + null == t ? this : t, + e, + r, + ); + }, + year: function (t) { + return 0 === arguments.length + ? this._year + : this.set(t, "y"); + }, + month: function (t) { + return 0 === arguments.length + ? this._month + : this.set(t, "m"); + }, + day: function (t) { + return 0 === arguments.length + ? this._day + : this.set(t, "d"); + }, + date: function (t, e, r) { + if (!this._calendar.isValid(t, e, r)) + throw ( + u.local.invalidDate || + u.regionalOptions[""].invalidDate + ).replace(/\{0\}/, this._calendar.local.name); + return ( + (this._year = t), + (this._month = e), + (this._day = r), + this + ); + }, + leapYear: function () { + return this._calendar.leapYear(this); + }, + epoch: function () { + return this._calendar.epoch(this); + }, + formatYear: function () { + return this._calendar.formatYear(this); + }, + monthOfYear: function () { + return this._calendar.monthOfYear(this); + }, + weekOfYear: function () { + return this._calendar.weekOfYear(this); + }, + daysInYear: function () { + return this._calendar.daysInYear(this); + }, + dayOfYear: function () { + return this._calendar.dayOfYear(this); + }, + daysInMonth: function () { + return this._calendar.daysInMonth(this); + }, + dayOfWeek: function () { + return this._calendar.dayOfWeek(this); + }, + weekDay: function () { + return this._calendar.weekDay(this); + }, + extraInfo: function () { + return this._calendar.extraInfo(this); + }, + add: function (t, e) { + return this._calendar.add(this, t, e); + }, + set: function (t, e) { + return this._calendar.set(this, t, e); + }, + compareTo: function (t) { + if (this._calendar.name !== t._calendar.name) + throw ( + u.local.differentCalendars || + u.regionalOptions[""].differentCalendars + ) + .replace(/\{0\}/, this._calendar.local.name) + .replace(/\{1\}/, t._calendar.local.name); + var e = + this._year !== t._year + ? this._year - t._year + : this._month !== t._month + ? this.monthOfYear() - t.monthOfYear() + : this._day - t._day; + return 0 === e ? 0 : e < 0 ? -1 : 1; + }, + calendar: function () { + return this._calendar; + }, + toJD: function () { + return this._calendar.toJD(this); + }, + fromJD: function (t) { + return this._calendar.fromJD(t); + }, + toJSDate: function () { + return this._calendar.toJSDate(this); + }, + fromJSDate: function (t) { + return this._calendar.fromJSDate(t); + }, + toString: function () { + return ( + (this.year() < 0 ? "-" : "") + + o(Math.abs(this.year()), 4) + + "-" + + o(this.month(), 2) + + "-" + + o(this.day(), 2) + ); + }, + }), + n(s.prototype, { + _validateLevel: 0, + newDate: function (t, e, r) { + return null == t + ? this.today() + : (t.year && + (this._validate( + t, + e, + r, + u.local.invalidDate || + u.regionalOptions[""].invalidDate, + ), + (r = t.day()), + (e = t.month()), + (t = t.year())), + new a(this, t, e, r)); + }, + today: function () { + return this.fromJSDate(new Date()); + }, + epoch: function (t) { + return this._validate( + t, + this.minMonth, + this.minDay, + u.local.invalidYear || + u.regionalOptions[""].invalidYear, + ).year() < 0 + ? this.local.epochs[0] + : this.local.epochs[1]; + }, + formatYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + u.local.invalidYear || + u.regionalOptions[""].invalidYear, + ); + return ( + (e.year() < 0 ? "-" : "") + + o(Math.abs(e.year()), 4) + ); + }, + monthsInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + u.local.invalidYear || + u.regionalOptions[""].invalidYear, + ), + 12 + ); + }, + monthOfYear: function (t, e) { + var r = this._validate( + t, + e, + this.minDay, + u.local.invalidMonth || + u.regionalOptions[""].invalidMonth, + ); + return ( + ((r.month() + + this.monthsInYear(r) - + this.firstMonth) % + this.monthsInYear(r)) + + this.minMonth + ); + }, + fromMonthOfYear: function (t, e) { + var r = + ((e + this.firstMonth - 2 * this.minMonth) % + this.monthsInYear(t)) + + this.minMonth; + return ( + this._validate( + t, + r, + this.minDay, + u.local.invalidMonth || + u.regionalOptions[""].invalidMonth, + ), + r + ); + }, + daysInYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + u.local.invalidYear || + u.regionalOptions[""].invalidYear, + ); + return this.leapYear(e) ? 366 : 365; + }, + dayOfYear: function (t, e, r) { + var n = this._validate( + t, + e, + r, + u.local.invalidDate || + u.regionalOptions[""].invalidDate, + ); + return ( + n.toJD() - + this.newDate( + n.year(), + this.fromMonthOfYear(n.year(), this.minMonth), + this.minDay, + ).toJD() + + 1 + ); + }, + daysInWeek: function () { + return 7; + }, + dayOfWeek: function (t, e, r) { + var n = this._validate( + t, + e, + r, + u.local.invalidDate || + u.regionalOptions[""].invalidDate, + ); + return ( + (Math.floor(this.toJD(n)) + 2) % this.daysInWeek() + ); + }, + extraInfo: function (t, e, r) { + return ( + this._validate( + t, + e, + r, + u.local.invalidDate || + u.regionalOptions[""].invalidDate, + ), + {} + ); + }, + add: function (t, e, r) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + u.local.invalidDate || + u.regionalOptions[""].invalidDate, + ), + this._correctAdd(t, this._add(t, e, r), e, r) + ); + }, + _add: function (t, e, r) { + if ( + (this._validateLevel++, "d" === r || "w" === r) + ) { + var n = + t.toJD() + + e * ("w" === r ? this.daysInWeek() : 1), + i = t.calendar().fromJD(n); + return ( + this._validateLevel--, + [i.year(), i.month(), i.day()] + ); + } + try { + var a = t.year() + ("y" === r ? e : 0), + o = t.monthOfYear() + ("m" === r ? e : 0); + (i = t.day()), + "y" === r + ? (t.month() !== this.fromMonthOfYear(a, o) && + (o = this.newDate( + a, + t.month(), + this.minDay, + ).monthOfYear()), + (o = Math.min(o, this.monthsInYear(a))), + (i = Math.min( + i, + this.daysInMonth( + a, + this.fromMonthOfYear(a, o), + ), + ))) + : "m" === r && + ((function (t) { + for (; o < t.minMonth; ) + a--, (o += t.monthsInYear(a)); + for ( + var e = t.monthsInYear(a); + o > e - 1 + t.minMonth; + + ) + a++, (o -= e), (e = t.monthsInYear(a)); + })(this), + (i = Math.min( + i, + this.daysInMonth( + a, + this.fromMonthOfYear(a, o), + ), + ))); + var s = [a, this.fromMonthOfYear(a, o), i]; + return this._validateLevel--, s; + } catch (t) { + throw (this._validateLevel--, t); + } + }, + _correctAdd: function (t, e, r, n) { + if ( + !( + this.hasYearZero || + ("y" !== n && "m" !== n) || + (0 !== e[0] && t.year() > 0 == e[0] > 0) + ) + ) { + var i = { + y: [1, 1, "y"], + m: [1, this.monthsInYear(-1), "m"], + w: [ + this.daysInWeek(), + this.daysInYear(-1), + "d", + ], + d: [1, this.daysInYear(-1), "d"], + }[n], + a = r < 0 ? -1 : 1; + e = this._add(t, r * i[0] + a * i[1], i[2]); + } + return t.date(e[0], e[1], e[2]); + }, + set: function (t, e, r) { + this._validate( + t, + this.minMonth, + this.minDay, + u.local.invalidDate || + u.regionalOptions[""].invalidDate, + ); + var n = "y" === r ? e : t.year(), + i = "m" === r ? e : t.month(), + a = "d" === r ? e : t.day(); + return ( + ("y" !== r && "m" !== r) || + (a = Math.min(a, this.daysInMonth(n, i))), + t.date(n, i, a) + ); + }, + isValid: function (t, e, r) { + this._validateLevel++; + var n = this.hasYearZero || 0 !== t; + if (n) { + var i = this.newDate(t, e, this.minDay); + n = + e >= this.minMonth && + e - this.minMonth < this.monthsInYear(i) && + r >= this.minDay && + r - this.minDay < this.daysInMonth(i); + } + return this._validateLevel--, n; + }, + toJSDate: function (t, e, r) { + var n = this._validate( + t, + e, + r, + u.local.invalidDate || + u.regionalOptions[""].invalidDate, + ); + return u.instance().fromJD(this.toJD(n)).toJSDate(); + }, + fromJSDate: function (t) { + return this.fromJD( + u.instance().fromJSDate(t).toJD(), + ); + }, + _validate: function (t, e, r, n) { + if (t.year) { + if ( + 0 === this._validateLevel && + this.name !== t.calendar().name + ) + throw ( + u.local.differentCalendars || + u.regionalOptions[""].differentCalendars + ) + .replace(/\{0\}/, this.local.name) + .replace(/\{1\}/, t.calendar().local.name); + return t; + } + try { + if ( + (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); + } + }, + }), + (l.prototype = new s()), + n(l.prototype, { + name: "Gregorian", + jdEpoch: 1721425.5, + daysPerMonth: [ + 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, + ], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + "": { + name: "Gregorian", + epochs: ["BCE", "CE"], + monthNames: [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December", + ], + monthNamesShort: [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", + ], + dayNames: [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + ], + dayNamesShort: [ + "Sun", + "Mon", + "Tue", + "Wed", + "Thu", + "Fri", + "Sat", + ], + dayNamesMin: [ + "Su", + "Mo", + "Tu", + "We", + "Th", + "Fr", + "Sa", + ], + digits: null, + dateFormat: "mm/dd/yyyy", + firstDay: 0, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + u.local.invalidYear || + u.regionalOptions[""].invalidYear, + ); + 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, + u.local.invalidMonth || + u.regionalOptions[""].invalidMonth, + ); + return ( + this.daysPerMonth[r.month() - 1] + + (2 === r.month() && this.leapYear(r.year()) + ? 1 + : 0) + ); + }, + weekDay: function (t, e, r) { + return (this.dayOfWeek(t, e, r) || 7) < 6; + }, + toJD: function (t, e, r) { + var n = this._validate( + t, + e, + r, + u.local.invalidDate || + u.regionalOptions[""].invalidDate, + ); + (t = n.year()), + (e = n.month()), + (r = n.day()), + t < 0 && t++, + e < 3 && ((e += 12), t--); + var i = Math.floor(t / 100), + a = 2 - i + Math.floor(i / 4); + return ( + Math.floor(365.25 * (t + 4716)) + + Math.floor(30.6001 * (e + 1)) + + r + + a - + 1524.5 + ); + }, + fromJD: function (t) { + var e = Math.floor(t + 0.5), + r = Math.floor((e - 1867216.25) / 36524.25), + n = 1524 + (r = e + 1 + r - Math.floor(r / 4)), + i = Math.floor((n - 122.1) / 365.25), + a = Math.floor(365.25 * i), + o = Math.floor((n - a) / 30.6001), + s = n - a - Math.floor(30.6001 * o), + l = o - (o > 13.5 ? 13 : 1), + u = i - (l > 2.5 ? 4716 : 4715); + return u <= 0 && u--, this.newDate(u, l, s); + }, + toJSDate: function (t, e, r) { + var n = this._validate( + t, + e, + r, + u.local.invalidDate || + u.regionalOptions[""].invalidDate, + ), + i = new Date(n.year(), n.month() - 1, n.day()); + return ( + i.setHours(0), + i.setMinutes(0), + i.setSeconds(0), + i.setMilliseconds(0), + i.setHours( + i.getHours() > 12 ? i.getHours() + 2 : 0, + ), + i + ); + }, + fromJSDate: function (t) { + return this.newDate( + t.getFullYear(), + t.getMonth() + 1, + t.getDate(), + ); + }, + }); + var u = (t.exports = new i()); + (u.cdate = a), + (u.baseCalendar = s), + (u.calendars.gregorian = l); + }, + 94338: function (t, e, r) { + var n = r(56131), + i = r(63489); + n(i.regionalOptions[""], { + invalidArguments: "Invalid arguments", + invalidFormat: + "Cannot format a date from another calendar", + missingNumberAt: "Missing number at position {0}", + unknownNameAt: "Unknown name at position {0}", + unexpectedLiteralAt: + "Unexpected literal at position {0}", + unexpectedText: "Additional text found at end", + }), + (i.local = i.regionalOptions[""]), + n(i.cdate.prototype, { + formatDate: function (t, e) { + return ( + "string" != typeof t && ((e = t), (t = "")), + this._calendar.formatDate(t || "", this, e) + ); + }, + }), + n(i.baseCalendar.prototype, { + UNIX_EPOCH: i.instance().newDate(1970, 1, 1).toJD(), + SECS_PER_DAY: 86400, + TICKS_EPOCH: i.instance().jdEpoch, + TICKS_PER_DAY: 864e9, + ATOM: "yyyy-mm-dd", + COOKIE: "D, dd M yyyy", + FULL: "DD, MM d, yyyy", + ISO_8601: "yyyy-mm-dd", + JULIAN: "J", + RFC_822: "D, d M yy", + RFC_850: "DD, dd-M-yy", + RFC_1036: "D, d M yy", + RFC_1123: "D, d M yyyy", + RFC_2822: "D, d M yyyy", + RSS: "D, d M yy", + TICKS: "!", + TIMESTAMP: "@", + W3C: "yyyy-mm-dd", + formatDate: function (t, e, r) { + if ( + ("string" != typeof t && + ((r = e), (e = t), (t = "")), + !e) + ) + return ""; + if (e.calendar() !== this) + throw ( + i.local.invalidFormat || + i.regionalOptions[""].invalidFormat + ); + t = t || this.local.dateFormat; + for ( + var n, + 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, + f = r.monthNames || this.local.monthNames, + h = + (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 (h(t, n)) + for (; i.length < r; ) i = "0" + i; + return i; + }, + d = this, + v = function (t) { + return "function" == typeof u + ? u.call(d, t, h("m")) + : m(p("m", t.month(), 2)); + }, + g = function (t, e) { + return e + ? "function" == typeof f + ? f.call(d, t) + : f[t.month() - d.minMonth] + : "function" == typeof c + ? c.call(d, t) + : c[t.month() - d.minMonth]; + }, + y = this.local.digits, + m = function (t) { + return r.localNumbers && y ? y(t) : t; + }, + x = "", + b = !1, + _ = 0; + _ < t.length; + _++ + ) + if (b) + "'" !== t.charAt(_) || h("'") + ? (x += t.charAt(_)) + : (b = !1); + else + switch (t.charAt(_)) { + case "d": + x += m(p("d", e.day(), 2)); + break; + case "D": + x += + ("D", + (n = e.dayOfWeek()), + (a = s), + (o = l), + h("D") ? o[n] : a[n]); + break; + case "o": + x += p("o", e.dayOfYear(), 3); + break; + case "w": + x += p("w", e.weekOfYear(), 2); + break; + case "m": + x += v(e); + break; + case "M": + x += g(e, h("M")); + break; + case "y": + x += h("y", 2) + ? e.year() + : (e.year() % 100 < 10 ? "0" : "") + + (e.year() % 100); + break; + case "Y": + h("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 "'": + h("'") ? (x += "'") : (b = !0); + break; + default: + x += t.charAt(_); + } + return x; + }, + parseDate: function (t, e, r) { + if (null == e) + throw ( + i.local.invalidArguments || + i.regionalOptions[""].invalidArguments + ); + if ( + "" === + (e = "object" == typeof e ? e.toString() : e + "") + ) + return null; + t = t || this.local.dateFormat; + var n = + (r = r || {}).shortYearCutoff || + this.shortYearCutoff; + n = + "string" != typeof n + ? n + : (this.today().year() % 100) + parseInt(n, 10); + for ( + var a = + r.dayNamesShort || this.local.dayNamesShort, + o = r.dayNames || this.local.dayNames, + s = r.parseMonth || this.local.parseMonth, + l = r.monthNumbers || this.local.monthNumbers, + u = + r.monthNamesShort || + this.local.monthNamesShort, + c = r.monthNames || this.local.monthNames, + f = -1, + h = -1, + p = -1, + d = -1, + v = -1, + g = !1, + y = !1, + m = function (e, r) { + for ( + var n = 1; + M + n < t.length && t.charAt(M + n) === e; + + ) + n++; + return ( + (M += n - 1), Math.floor(n / (r || 1)) > 1 + ); + }, + x = function (t, r) { + var n = m(t, r), + a = [ + 2, + 3, + n ? 4 : 2, + n ? 4 : 2, + 10, + 11, + 20, + ]["oyYJ@!".indexOf(t) + 1], + o = new RegExp("^-?\\d{1," + a + "}"), + s = e.substring(A).match(o); + if (!s) + throw ( + i.local.missingNumberAt || + i.regionalOptions[""].missingNumberAt + ).replace(/\{0\}/, A); + return (A += s[0].length), parseInt(s[0], 10); + }, + b = this, + _ = function () { + if ("function" == typeof l) { + m("m"); + var t = l.call(b, e.substring(A)); + return (A += t.length), t; + } + return x("m"); + }, + w = function (t, r, n, a) { + for ( + var o = m(t, a) ? n : r, s = 0; + s < o.length; + s++ + ) + if ( + e.substr(A, o[s].length).toLowerCase() === + o[s].toLowerCase() + ) + return (A += o[s].length), s + b.minMonth; + throw ( + i.local.unknownNameAt || + i.regionalOptions[""].unknownNameAt + ).replace(/\{0\}/, A); + }, + T = function () { + if ("function" == typeof c) { + var t = m("M") + ? c.call(b, e.substring(A)) + : u.call(b, e.substring(A)); + return (A += t.length), t; + } + return w("M", u, c); + }, + k = function () { + if (e.charAt(A) !== t.charAt(M)) + throw ( + i.local.unexpectedLiteralAt || + i.regionalOptions[""].unexpectedLiteralAt + ).replace(/\{0\}/, A); + A++; + }, + A = 0, + M = 0; + M < t.length; + M++ + ) + if (y) + "'" !== t.charAt(M) || m("'") ? k() : (y = !1); + else + switch (t.charAt(M)) { + case "d": + d = x("d"); + break; + case "D": + w("D", a, o); + break; + case "o": + v = x("o"); + break; + case "w": + x("w"); + break; + case "m": + p = _(); + break; + case "M": + p = T(); + break; + case "y": + var S = M; + (g = !m("y", 2)), (M = S), (h = x("y", 2)); + break; + case "Y": + h = x("Y", 2); + break; + case "J": + (f = x("J") + 0.5), + "." === e.charAt(A) && (A++, x("J")); + break; + case "@": + f = + x("@") / this.SECS_PER_DAY + + this.UNIX_EPOCH; + break; + case "!": + f = + x("!") / this.TICKS_PER_DAY + + this.TICKS_EPOCH; + break; + case "*": + A = e.length; + break; + case "'": + m("'") ? k() : (y = !0); + break; + default: + k(); + } + if (A < e.length) + throw ( + i.local.unexpectedText || + i.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 p && (p = s.call(this, h, p)), + v > -1) + ) { + (p = 1), (d = v); + for ( + var E = this.daysInMonth(h, p); + d > E; + E = this.daysInMonth(h, p) + ) + p++, (d -= E); + } + return f > -1 + ? this.fromJD(f) + : this.newDate(h, p, d); + }, + 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), + 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) + ); + }, + }); + }, + 69862: function () {}, + 40964: function () {}, + 72077: function (t, e, r) { + "use strict"; + var n = [ + "BigInt64Array", + "BigUint64Array", + "Float32Array", + "Float64Array", + "Int16Array", + "Int32Array", + "Int8Array", + "Uint16Array", + "Uint32Array", + "Uint8Array", + "Uint8ClampedArray", + ], + i = "undefined" == typeof globalThis ? r.g : globalThis; + t.exports = function () { + for (var t = [], e = 0; e < n.length; e++) + "function" == typeof i[n[e]] && (t[t.length] = n[e]); + return t; + }; + }, + 81684: function (t, e, r) { + "use strict"; + function n(t, e, r) { + (t.prototype = e.prototype = r), (r.constructor = t); + } + function i(t, e) { + var r = Object.create(t.prototype); + for (var n in e) r[n] = e[n]; + return r; + } + function a() {} + r.d(e, { + sX: function () { + return Q; + }, + k4: function () { + return G; + }, + }); + var o = 0.7, + s = 1 / o, + l = "\\s*([+-]?\\d+)\\s*", + u = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", + c = + "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", + f = /^#([0-9a-f]{3,8})$/, + h = new RegExp( + "^rgb\\(" + .concat(l, ",") + .concat(l, ",") + .concat(l, "\\)$"), + ), + p = new RegExp( + "^rgb\\(" + .concat(c, ",") + .concat(c, ",") + .concat(c, "\\)$"), + ), + d = new RegExp( + "^rgba\\(" + .concat(l, ",") + .concat(l, ",") + .concat(l, ",") + .concat(u, "\\)$"), + ), + v = new RegExp( + "^rgba\\(" + .concat(c, ",") + .concat(c, ",") + .concat(c, ",") + .concat(u, "\\)$"), + ), + g = new RegExp( + "^hsl\\(" + .concat(u, ",") + .concat(c, ",") + .concat(c, "\\)$"), + ), + y = new RegExp( + "^hsla\\(" + .concat(u, ",") + .concat(c, ",") + .concat(c, ",") + .concat(u, "\\)$"), + ), + m = { + 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 x() { + return this.rgb().formatHex(); + } + function b() { + return this.rgb().formatRgb(); + } + function _(t) { + var e, r; + return ( + (t = (t + "").trim().toLowerCase()), + (e = f.exec(t)) + ? ((r = e[1].length), + (e = parseInt(e[1], 16)), + 6 === r + ? w(e) + : 3 === r + ? new M( + ((e >> 8) & 15) | ((e >> 4) & 240), + ((e >> 4) & 15) | (240 & e), + ((15 & e) << 4) | (15 & e), + 1, + ) + : 8 === r + ? T( + (e >> 24) & 255, + (e >> 16) & 255, + (e >> 8) & 255, + (255 & e) / 255, + ) + : 4 === r + ? T( + ((e >> 12) & 15) | ((e >> 8) & 240), + ((e >> 8) & 15) | ((e >> 4) & 240), + ((e >> 4) & 15) | (240 & e), + (((15 & e) << 4) | (15 & e)) / 255, + ) + : null) + : (e = h.exec(t)) + ? new M(e[1], e[2], e[3], 1) + : (e = p.exec(t)) + ? new M( + (255 * e[1]) / 100, + (255 * e[2]) / 100, + (255 * e[3]) / 100, + 1, + ) + : (e = d.exec(t)) + ? T(e[1], e[2], e[3], e[4]) + : (e = v.exec(t)) + ? T( + (255 * e[1]) / 100, + (255 * e[2]) / 100, + (255 * e[3]) / 100, + e[4], + ) + : (e = g.exec(t)) + ? P(e[1], e[2] / 100, e[3] / 100, 1) + : (e = y.exec(t)) + ? P(e[1], e[2] / 100, e[3] / 100, e[4]) + : m.hasOwnProperty(t) + ? w(m[t]) + : "transparent" === t + ? new M(NaN, NaN, NaN, 0) + : null + ); + } + function w(t) { + return new M( + (t >> 16) & 255, + (t >> 8) & 255, + 255 & t, + 1, + ); + } + function T(t, e, r, n) { + return n <= 0 && (t = e = r = NaN), new M(t, e, r, n); + } + function k(t) { + return ( + t instanceof a || (t = _(t)), + t + ? new M((t = t.rgb()).r, t.g, t.b, t.opacity) + : new M() + ); + } + function A(t, e, r, n) { + return 1 === arguments.length + ? k(t) + : new M(t, e, r, null == n ? 1 : n); + } + function M(t, e, r, n) { + (this.r = +t), + (this.g = +e), + (this.b = +r), + (this.opacity = +n); + } + function S() { + return "#" + .concat(O(this.r)) + .concat(O(this.g)) + .concat(O(this.b)); + } + function E() { + var t = L(this.opacity); + return "" + .concat(1 === t ? "rgb(" : "rgba(") + .concat(C(this.r), ", ") + .concat(C(this.g), ", ") + .concat(C(this.b)) + .concat(1 === t ? ")" : ", ".concat(t, ")")); + } + function L(t) { + return isNaN(t) ? 1 : Math.max(0, Math.min(1, t)); + } + function C(t) { + return Math.max(0, Math.min(255, Math.round(t) || 0)); + } + function O(t) { + return ((t = C(t)) < 16 ? "0" : "") + t.toString(16); + } + function P(t, e, r, n) { + return ( + n <= 0 + ? (t = e = r = NaN) + : r <= 0 || r >= 1 + ? (t = e = NaN) + : e <= 0 && (t = NaN), + new D(t, e, r, n) + ); + } + function I(t) { + if (t instanceof D) + return new D(t.h, t.s, t.l, t.opacity); + if ((t instanceof a || (t = _(t)), !t)) return new D(); + if (t instanceof D) return t; + var e = (t = t.rgb()).r / 255, + r = t.g / 255, + n = t.b / 255, + i = Math.min(e, r, n), + o = Math.max(e, r, n), + s = NaN, + l = o - i, + u = (o + i) / 2; + return ( + l + ? ((s = + e === o + ? (r - n) / l + 6 * (r < n) + : r === o + ? (n - e) / l + 2 + : (e - r) / l + 4), + (l /= u < 0.5 ? o + i : 2 - o - i), + (s *= 60)) + : (l = u > 0 && u < 1 ? 0 : s), + new D(s, l, u, t.opacity) + ); + } + function D(t, e, r, n) { + (this.h = +t), + (this.s = +e), + (this.l = +r), + (this.opacity = +n); + } + function z(t) { + return (t = (t || 0) % 360) < 0 ? t + 360 : t; + } + function R(t) { + return Math.max(0, Math.min(1, t || 0)); + } + function F(t, e, r) { + return ( + 255 * + (t < 60 + ? e + ((r - e) * t) / 60 + : t < 180 + ? r + : t < 240 + ? e + ((r - e) * (240 - t)) / 60 + : e) + ); + } + function B(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 + ); + } + n(a, _, { + copy: function (t) { + return Object.assign(new this.constructor(), this, t); + }, + displayable: function () { + return this.rgb().displayable(); + }, + hex: x, + formatHex: x, + formatHex8: function () { + return this.rgb().formatHex8(); + }, + formatHsl: function () { + return I(this).formatHsl(); + }, + formatRgb: b, + toString: b, + }), + n( + M, + A, + i(a, { + brighter: function (t) { + return ( + (t = null == t ? s : Math.pow(s, t)), + new M( + this.r * t, + this.g * t, + this.b * t, + this.opacity, + ) + ); + }, + darker: function (t) { + return ( + (t = null == t ? o : Math.pow(o, t)), + new M( + this.r * t, + this.g * t, + this.b * t, + this.opacity, + ) + ); + }, + rgb: function () { + return this; + }, + clamp: function () { + return new M( + C(this.r), + C(this.g), + C(this.b), + L(this.opacity), + ); + }, + displayable: function () { + return ( + -0.5 <= this.r && + this.r < 255.5 && + -0.5 <= this.g && + this.g < 255.5 && + -0.5 <= this.b && + this.b < 255.5 && + 0 <= this.opacity && + this.opacity <= 1 + ); + }, + hex: S, + formatHex: S, + formatHex8: function () { + return "#" + .concat(O(this.r)) + .concat(O(this.g)) + .concat(O(this.b)) + .concat( + O( + 255 * + (isNaN(this.opacity) ? 1 : this.opacity), + ), + ); + }, + formatRgb: E, + toString: E, + }), + ), + n( + D, + function (t, e, r, n) { + return 1 === arguments.length + ? I(t) + : new D(t, e, r, null == n ? 1 : n); + }, + i(a, { + brighter: function (t) { + return ( + (t = null == t ? s : Math.pow(s, t)), + new D(this.h, this.s, this.l * t, this.opacity) + ); + }, + darker: function (t) { + return ( + (t = null == t ? o : Math.pow(o, t)), + new D(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 < 0.5 ? r : 1 - r) * e, + i = 2 * r - n; + return new M( + F(t >= 240 ? t - 240 : t + 120, i, n), + F(t, i, n), + F(t < 120 ? t + 240 : t - 120, i, n), + this.opacity, + ); + }, + clamp: function () { + return new D( + z(this.h), + R(this.s), + R(this.l), + L(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 + ); + }, + formatHsl: function () { + var t = L(this.opacity); + return "" + .concat(1 === t ? "hsl(" : "hsla(") + .concat(z(this.h), ", ") + .concat(100 * R(this.s), "%, ") + .concat(100 * R(this.l), "%") + .concat(1 === t ? ")" : ", ".concat(t, ")")); + }, + }), + ); + var N = function (t) { + return function () { + return t; + }; + }; + function j(t, e) { + var r = e - t; + return r + ? (function (t, e) { + return function (r) { + return t + r * e; + }; + })(t, r) + : N(isNaN(t) ? e : t); + } + var U = (function t(e) { + var r = (function (t) { + return 1 == (t = +t) + ? j + : 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) + : N(isNaN(e) ? r : e); + }; + })(e); + function n(t, e) { + var n = r((t = A(t)).r, (e = A(e)).r), + i = r(t.g, e.g), + a = r(t.b, e.b), + o = j(t.opacity, e.opacity); + return function (e) { + return ( + (t.r = n(e)), + (t.g = i(e)), + (t.b = a(e)), + (t.opacity = o(e)), + t + "" + ); + }; + } + return (n.gamma = t), n; + })(1); + function V(t) { + return function (e) { + var r, + n, + i = e.length, + a = new Array(i), + o = new Array(i), + s = new Array(i); + for (r = 0; r < i; ++r) + (n = A(e[r])), + (a[r] = n.r || 0), + (o[r] = n.g || 0), + (s[r] = n.b || 0); + return ( + (a = t(a)), + (o = t(o)), + (s = t(s)), + (n.opacity = 1), + function (t) { + return ( + (n.r = a(t)), (n.g = o(t)), (n.b = s(t)), n + "" + ); + } + ); + }; + } + function H(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] = Q(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; + }; + } + function q(t, e) { + var r = new Date(); + return ( + (t = +t), + (e = +e), + function (n) { + return r.setTime(t * (1 - n) + e * n), r; + } + ); + } + function G(t, e) { + return ( + (t = +t), + (e = +e), + function (r) { + return t * (1 - r) + e * r; + } + ); + } + function Z(t) { + return ( + (Z = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function (t) { + return typeof t; + } + : function (t) { + return t && + "function" == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? "symbol" + : typeof t; + }), + Z(t) + ); + } + function W(t, e) { + var r, + n = {}, + i = {}; + for (r in ((null !== t && "object" === Z(t)) || + (t = {}), + (null !== e && "object" === Z(e)) || (e = {}), + e)) + r in t ? (n[r] = Q(t[r], e[r])) : (i[r] = e[r]); + return function (t) { + for (r in n) i[r] = n[r](t); + return i; + }; + } + V(function (t) { + var e = t.length - 1; + return function (r) { + var n = + r <= 0 + ? (r = 0) + : r >= 1 + ? ((r = 1), e - 1) + : Math.floor(r * e), + i = t[n], + a = t[n + 1], + o = n > 0 ? t[n - 1] : 2 * i - a, + s = n < e - 1 ? t[n + 2] : 2 * a - i; + return B((r - n / e) * e, o, i, a, s); + }; + }), + V(function (t) { + var e = t.length; + return function (r) { + var n = Math.floor(((r %= 1) < 0 ? ++r : r) * e), + i = t[(n + e - 1) % e], + a = t[n % e], + o = t[(n + 1) % e], + s = t[(n + 2) % e]; + return B((r - n / e) * e, i, a, o, s); + }; + }); + var Y = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, + X = new RegExp(Y.source, "g"); + function J(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: G(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(""); + }) + ); + } + function K(t, e) { + e || (e = []); + var r, + n = t ? Math.min(e.length, t.length) : 0, + i = e.slice(); + return function (a) { + for (r = 0; r < n; ++r) + i[r] = t[r] * (1 - a) + e[r] * a; + return i; + }; + } + function $(t) { + return ( + ($ = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function (t) { + return typeof t; + } + : function (t) { + return t && + "function" == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? "symbol" + : typeof t; + }), + $(t) + ); + } + function Q(t, e) { + var r, + n, + i = $(e); + return null == e || "boolean" === i + ? N(e) + : ("number" === i + ? G + : "string" === i + ? (r = _(e)) + ? ((e = r), U) + : J + : e instanceof _ + ? U + : e instanceof Date + ? q + : ((n = e), + !ArrayBuffer.isView(n) || n instanceof DataView + ? Array.isArray(e) + ? H + : ("function" != typeof e.valueOf && + "function" != typeof e.toString) || + isNaN(e) + ? W + : G + : K))(t, e); + } + }, + 40402: function (t) { + "use strict"; + t.exports = JSON.parse( + '["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller"]', + ); + }, + 83794: function (t) { + "use strict"; + t.exports = JSON.parse( + '["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]', + ); + }, + 96209: function (t) { + "use strict"; + t.exports = JSON.parse('["normal","italic","oblique"]'); + }, + 15659: function (t) { + "use strict"; + t.exports = JSON.parse( + '["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]', + ); + }, + 38732: function (t) { + "use strict"; + t.exports = JSON.parse('["inherit","initial","unset"]'); + }, + 41901: function (t) { + "use strict"; + t.exports = JSON.parse( + '["caption","icon","menu","message-box","small-caption","status-bar"]', + ); + }, + }, + e = {}; + function r(n) { + var i = e[n]; + if (void 0 !== i) return i.exports; + var a = (e[n] = { exports: {} }); + return t[n].call(a.exports, a, a.exports, r), a.exports; + } + return ( + (r.n = function (t) { + var e = + t && t.__esModule + ? function () { + return t.default; + } + : function () { + return t; + }; + return r.d(e, { a: e }), e; + }), + (r.d = function (t, e) { + for (var n in e) + r.o(e, n) && + !r.o(t, n) && + Object.defineProperty(t, n, { + enumerable: !0, + get: e[n], + }); + }), + (r.g = (function () { + if ("object" == typeof globalThis) return globalThis; + try { + return this || new Function("return this")(); + } catch (t) { + if ("object" == typeof window) return window; + } + })()), + (r.o = function (t, e) { + return Object.prototype.hasOwnProperty.call(t, e); + }), + (r.r = function (t) { + "undefined" != typeof Symbol && + Symbol.toStringTag && + Object.defineProperty(t, Symbol.toStringTag, { + value: "Module", + }), + Object.defineProperty(t, "__esModule", { value: !0 }); + }), + r(27909) + ); + })(); + }), + (t.exports = e()); + }, + 146: (e) => { + "use strict"; + e.exports = t; + }, + 147: (t) => { + "use strict"; + t.exports = JSON.parse( + '{"name":"jupyterlab-plotly","version":"5.17.0","description":"The plotly Jupyter extension","author":"The plotly.py team","license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"https://github.com/plotly/plotly.py"},"keywords":["jupyter","widgets","ipython","ipywidgets","plotly"],"files":["lib/**/*.js","dist/*.js","style/*.*"],"scripts":{"build:dev":"npm run build:lib && npm run build:nbextension && npm run build:labextension:dev","build:prod":"npm run build:lib && npm run build:nbextension && npm run build:labextension","build:labextension":"jupyter labextension build .","build:labextension:dev":"jupyter labextension build --development True .","build:lib":"tsc","build:nbextension":"webpack --mode=production","clean":"npm run clean:lib && npm run clean:nbextension && npm run clean:labextension","clean:lib":"rimraf lib","clean:labextension":"rimraf ../../python/plotly/jupyterlab_plotly/labextension","clean:nbextension":"rimraf ../../python/plotly/jupyterlab_plotly/nbextension/index.js*","lint":"eslint . --ext .ts,.tsx --fix","lint:check":"eslint . --ext .ts,.tsx","prepack":"npm run build:lib","test":"echo \\"Error: no test specified\\" && exit 1","watch":"npm-run-all -p watch:*","watch:lib":"tsc -w","watch:nbextension":"webpack --watch"},"devDependencies":{"@jupyterlab/builder":"^3.0.0","@lumino/application":"^1.6.0","@types/plotly.js":"^1.54.10","@types/webpack-env":"^1.13.6","acorn":"^7.2.0","css-loader":"^5.2.6","fs-extra":"^7.0.0","mkdirp":"^0.5.1","npm-run-all":"^4.1.3","prettier":"^2.0.5","rimraf":"^2.6.2","source-map-loader":"^1.1.3","style-loader":"^1.0.0","ts-loader":"^8.0.0","typescript":"~4.1.3","webpack":"^5.0.0","webpack-cli":"^4.0.0"},"dependencies":{"@jupyter-widgets/base":">=2.0.0 <7.0.0","@jupyterlab/rendermime-interfaces":"^1.3.0 || ^2.0.0 || ^3.0.0","@lumino/messaging":"^1.2.3","@lumino/widgets":"^1.8.1","lodash":"^4.17.4","plotly.js":"^2.26.0"},"jupyterlab":{"extension":"lib/jupyterlab-plugin","mimeExtension":"lib/plotly-renderer","outputDir":"../../python/plotly/jupyterlab_plotly/labextension","sharedPackages":{"@jupyter-widgets/base":{"bundled":false,"singleton":true}}}}', + ); + }, + }, + r = {}; + function n(t) { + var i = r[t]; + if (void 0 !== i) return i.exports; + var a = (r[t] = { id: t, loaded: !1, exports: {} }); + return e[t].call(a.exports, a, a.exports, n), (a.loaded = !0), a.exports; + } + (n.n = (t) => { + var e = t && t.__esModule ? () => t.default : () => t; + return n.d(e, { a: e }), e; + }), + (n.d = (t, e) => { + for (var r in e) + n.o(e, r) && + !n.o(t, r) && + Object.defineProperty(t, r, { enumerable: !0, get: e[r] }); + }), + (n.g = (function () { + if ("object" == typeof globalThis) return globalThis; + try { + return this || new Function("return this")(); + } catch (t) { + if ("object" == typeof window) return window; + } + })()), + (n.o = (t, e) => Object.prototype.hasOwnProperty.call(t, e)), + (n.r = (t) => { + "undefined" != typeof Symbol && + Symbol.toStringTag && + Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), + Object.defineProperty(t, "__esModule", { value: !0 }); + }), + (n.nmd = (t) => ((t.paths = []), t.children || (t.children = []), t)); + var i = {}; + return ( + (() => { + "use strict"; + n.r(i), + n.d(i, { + FigureModel: () => f, + FigureView: () => h, + MODULE_NAME: () => u, + MODULE_VERSION: () => l, + }); + var t = n(146), + e = n(486), + r = n.n(e), + a = n(478), + o = n.n(a); + const s = n(147), + l = s.version, + u = s.name; + window.PlotlyConfig = { MathJaxConfig: "local" }; + const c = "^" + l; + class f extends t.DOMWidgetModel { + defaults() { + return Object.assign(Object.assign({}, super.defaults()), { + _model_name: f.model_name, + _model_module: f.model_module, + _model_module_version: f.model_module_version, + _view_name: f.view_name, + _view_module: f.view_module, + _view_module_version: f.view_module_version, + _data: [], + _layout: {}, + _config: {}, + _py2js_addTraces: null, + _py2js_deleteTraces: null, + _py2js_moveTraces: null, + _py2js_restyle: null, + _py2js_relayout: null, + _py2js_update: null, + _py2js_animate: null, + _py2js_removeLayoutProps: null, + _py2js_removeTraceProps: null, + _js2py_restyle: null, + _js2py_relayout: null, + _js2py_update: null, + _js2py_layoutDelta: null, + _js2py_traceDeltas: null, + _js2py_pointsCallback: null, + _last_layout_edit_id: 0, + _last_trace_edit_id: 0, + }); + } + initialize() { + super.initialize.apply(this, arguments), + this.on("change:_data", this.do_data, this), + this.on("change:_layout", this.do_layout, this), + this.on("change:_py2js_addTraces", this.do_addTraces, this), + this.on("change:_py2js_deleteTraces", this.do_deleteTraces, this), + this.on("change:_py2js_moveTraces", this.do_moveTraces, this), + this.on("change:_py2js_restyle", this.do_restyle, this), + this.on("change:_py2js_relayout", this.do_relayout, this), + this.on("change:_py2js_update", this.do_update, this), + this.on("change:_py2js_animate", this.do_animate, this), + this.on( + "change:_py2js_removeLayoutProps", + this.do_removeLayoutProps, + this, + ), + this.on( + "change:_py2js_removeTraceProps", + this.do_removeTraceProps, + this, + ); + } + _normalize_trace_indexes(t) { + if (null == t) { + var e = this.get("_data").length; + t = r().range(e); + } + return Array.isArray(t) || (t = [t]), t; + } + do_data() {} + do_layout() {} + do_addTraces() { + var t = this.get("_py2js_addTraces"); + if (null !== t) { + var e = this.get("_data"), + n = t.trace_data; + r().forEach(n, function (t) { + e.push(t); + }); + } + } + do_deleteTraces() { + var t = this.get("_py2js_deleteTraces"); + if (null !== t) { + var e = t.delete_inds, + r = this.get("_data"); + e.slice() + .reverse() + .forEach(function (t) { + r.splice(t, 1); + }); + } + } + do_moveTraces() { + var t = this.get("_py2js_moveTraces"); + null !== t && + (function (t, e, n) { + for (var i = [], a = e.length - 1; a >= 0; a--) + i.splice(0, 0, t[e[a]]), t.splice(e[a], 1); + var o = r()(n).zip(i).sortBy(0).unzip().value(); + (n = o[0]), (i = o[1]); + for (var s = 0; s < n.length; s++) t.splice(n[s], 0, i[s]); + })(this.get("_data"), t.current_trace_inds, t.new_trace_inds); + } + do_restyle() { + var t = this.get("_py2js_restyle"); + if (null !== t) { + var e = t.restyle_data, + r = this._normalize_trace_indexes(t.restyle_traces); + m(this.get("_data"), e, r); + } + } + do_relayout() { + var t = this.get("_py2js_relayout"); + null !== t && y(this.get("_layout"), t.relayout_data); + } + do_update() { + var t = this.get("_py2js_update"); + if (null !== t) { + var e = t.style_data, + r = t.layout_data, + n = this._normalize_trace_indexes(t.style_traces); + m(this.get("_data"), e, n), y(this.get("_layout"), r); + } + } + do_animate() { + var t = this.get("_py2js_animate"); + if (null !== t) { + for ( + var e = t.style_data, + r = t.layout_data, + n = this._normalize_trace_indexes(t.style_traces), + i = 0; + i < e.length; + i++ + ) { + var a = e[i], + o = n[i]; + y(this.get("_data")[o], a); + } + y(this.get("_layout"), r); + } + } + do_removeLayoutProps() { + var t = this.get("_py2js_removeLayoutProps"); + if (null !== t) { + var e = t.remove_props; + x(this.get("_layout"), e); + } + } + do_removeTraceProps() { + var t = this.get("_py2js_removeTraceProps"); + if (null !== t) { + var e = t.remove_props, + r = t.remove_trace; + x(this.get("_data")[r], e); + } + } + } + (f.serializers = Object.assign( + Object.assign({}, t.DOMWidgetModel.serializers), + { + _data: { deserialize: v, serialize: d }, + _layout: { deserialize: v, serialize: d }, + _py2js_addTraces: { deserialize: v, serialize: d }, + _py2js_deleteTraces: { deserialize: v, serialize: d }, + _py2js_moveTraces: { deserialize: v, serialize: d }, + _py2js_restyle: { deserialize: v, serialize: d }, + _py2js_relayout: { deserialize: v, serialize: d }, + _py2js_update: { deserialize: v, serialize: d }, + _py2js_animate: { deserialize: v, serialize: d }, + _py2js_removeLayoutProps: { deserialize: v, serialize: d }, + _py2js_removeTraceProps: { deserialize: v, serialize: d }, + _js2py_restyle: { deserialize: v, serialize: d }, + _js2py_relayout: { deserialize: v, serialize: d }, + _js2py_update: { deserialize: v, serialize: d }, + _js2py_layoutDelta: { deserialize: v, serialize: d }, + _js2py_traceDeltas: { deserialize: v, serialize: d }, + _js2py_pointsCallback: { deserialize: v, serialize: d }, + }, + )), + (f.model_name = "FigureModel"), + (f.model_module = u), + (f.model_module_version = c), + (f.view_name = "FigureView"), + (f.view_module = u), + (f.view_module_version = c); + class h extends t.DOMWidgetView { + perform_render() { + var t, + e, + n, + i, + a = this; + this.model.on("change:_py2js_addTraces", this.do_addTraces, this), + this.model.on( + "change:_py2js_deleteTraces", + this.do_deleteTraces, + this, + ), + this.model.on( + "change:_py2js_moveTraces", + this.do_moveTraces, + this, + ), + this.model.on("change:_py2js_restyle", this.do_restyle, this), + this.model.on("change:_py2js_relayout", this.do_relayout, this), + this.model.on("change:_py2js_update", this.do_update, this), + this.model.on("change:_py2js_animate", this.do_animate, this), + null === + (i = + null === + (n = + null === + (e = + null === (t = window) || void 0 === t + ? void 0 + : t.MathJax) || void 0 === e + ? void 0 + : e.Hub) || void 0 === n + ? void 0 + : n.Config) || + void 0 === i || + i.call(n, { SVG: { font: "STIX-Web" } }); + var s = this.model.get("_last_layout_edit_id"), + l = this.model.get("_last_trace_edit_id"); + this.viewID = _(); + var u = r().cloneDeep(this.model.get("_data")), + c = r().cloneDeep(this.model.get("_layout")); + c.height || (c.height = 360); + var f = this.model.get("_config"); + (f.editSelection = !1), + o() + .newPlot(a.el, u, c, f) + .then(function () { + a._sendTraceDeltas(l), + a._sendLayoutDelta(s), + a.el.on("plotly_restyle", function (t) { + a.handle_plotly_restyle(t); + }), + a.el.on("plotly_relayout", function (t) { + a.handle_plotly_relayout(t); + }), + a.el.on("plotly_update", function (t) { + a.handle_plotly_update(t); + }), + a.el.on("plotly_click", function (t) { + a.handle_plotly_click(t); + }), + a.el.on("plotly_hover", function (t) { + a.handle_plotly_hover(t); + }), + a.el.on("plotly_unhover", function (t) { + a.handle_plotly_unhover(t); + }), + a.el.on("plotly_selected", function (t) { + a.handle_plotly_selected(t); + }), + a.el.on("plotly_deselect", function (t) { + a.handle_plotly_deselect(t); + }), + a.el.on("plotly_doubleclick", function (t) { + a.handle_plotly_doubleclick(t); + }); + var t = new CustomEvent("plotlywidget-after-render", { + detail: { element: a.el, viewID: a.viewID }, + }); + document.dispatchEvent(t); + }); + } + _processLuminoMessage(t, e) { + switch ((e.apply(this, arguments), t.type)) { + case "before-attach": + var r = { showgrid: !1, showline: !1, tickvals: [] }; + o().newPlot(this.el, [], { xaxis: r, yaxis: r }), + (this.resizeEventListener = () => { + this.autosizeFigure(); + }), + window.addEventListener("resize", this.resizeEventListener); + break; + case "after-attach": + this.perform_render(); + break; + case "after-show": + case "resize": + this.autosizeFigure(); + } + } + processPhosphorMessage(t) { + this._processLuminoMessage(t, super.processPhosphorMessage); + } + processLuminoMessage(t) { + this._processLuminoMessage(t, super.processLuminoMessage); + } + autosizeFigure() { + var t = this, + e = t.model.get("_layout"); + (r().isNil(e) || r().isNil(e.width)) && + o() + .Plots.resize(t.el) + .then(function () { + var e = t.model.get("_last_layout_edit_id"); + t._sendLayoutDelta(e); + }); + } + remove() { + super.remove(), + o().purge(this.el), + window.removeEventListener("resize", this.resizeEventListener); + } + getFullData() { + return r().mergeWith({}, this.el._fullData, this.el.data, g); + } + getFullLayout() { + return r().mergeWith({}, this.el._fullLayout, this.el.layout, g); + } + buildPointsObject(t) { + var e; + if (t.hasOwnProperty("points")) { + var r = t.points, + n = r.length, + i = !0; + for ( + let t = 0; + t < n && (i = i && r[t].hasOwnProperty("pointNumbers")); + t++ + ); + var a = n; + if (i) { + a = 0; + for (let t = 0; t < n; t++) a += r[t].pointNumbers.length; + } + if ( + ((e = { + trace_indexes: new Array(a), + point_indexes: new Array(a), + xs: new Array(a), + ys: new Array(a), + }), + i) + ) { + for (var o = 0, s = 0; s < n; s++) + for (let t = 0; t < r[s].pointNumbers.length; t++, o++) + (e.point_indexes[o] = r[s].pointNumbers[t]), + (e.xs[o] = r[s].x), + (e.ys[o] = r[s].y), + (e.trace_indexes[o] = r[s].curveNumber); + let t = !0; + for ( + let r = 1; + r < a && + ((t = t && e.trace_indexes[r - 1] === e.trace_indexes[r]), t); + r++ + ); + t && + e.point_indexes.sort(function (t, e) { + return t - e; + }); + } else + for (s = 0; s < n; s++) + (e.trace_indexes[s] = r[s].curveNumber), + (e.point_indexes[s] = r[s].pointNumber), + (e.xs[s] = r[s].x), + (e.ys[s] = r[s].y); + if (void 0 !== r[0] && r[0].hasOwnProperty("z")) + for (e.zs = new Array(n), s = 0; s < n; s++) e.zs[s] = r[s].z; + return e; + } + return null; + } + buildInputDeviceStateObject(t) { + var e = t.event; + return void 0 === e + ? null + : { + alt: e.altKey, + ctrl: e.ctrlKey, + meta: e.metaKey, + shift: e.shiftKey, + button: e.button, + buttons: e.buttons, + }; + } + buildSelectorObject(t) { + return t.hasOwnProperty("range") + ? { + type: "box", + selector_state: { xrange: t.range.x, yrange: t.range.y }, + } + : t.hasOwnProperty("lassoPoints") + ? { + type: "lasso", + selector_state: { xs: t.lassoPoints.x, ys: t.lassoPoints.y }, + } + : null; + } + handle_plotly_restyle(t) { + if ( + !(null == t || (t[0] && t[0].hasOwnProperty("_doNotReportToPy"))) + ) { + var e = { + style_data: t[0], + style_traces: t[1], + source_view_id: this.viewID, + }; + this.model.set("_js2py_restyle", e), this.touch(); + } + } + handle_plotly_relayout(t) { + if (null != t && !t.hasOwnProperty("_doNotReportToPy")) { + var e = { relayout_data: t, source_view_id: this.viewID }; + this.model.set("_js2py_relayout", e), this.touch(); + } + } + handle_plotly_update(t) { + if ( + !( + null == t || + (t.data && t.data[0].hasOwnProperty("_doNotReportToPy")) + ) + ) { + var e = { + style_data: t.data[0], + style_traces: t.data[1], + layout_data: t.layout, + source_view_id: this.viewID, + }; + this.model.set("_js2py_update", e), this.touch(); + } + } + handle_plotly_click(t) { + this._send_points_callback_message(t, "plotly_click"); + } + handle_plotly_hover(t) { + this._send_points_callback_message(t, "plotly_hover"); + } + handle_plotly_unhover(t) { + this._send_points_callback_message(t, "plotly_unhover"); + } + handle_plotly_selected(t) { + this._send_points_callback_message(t, "plotly_selected"); + } + handle_plotly_deselect(t) { + (t = { points: [] }), + this._send_points_callback_message(t, "plotly_deselect"); + } + _send_points_callback_message(t, e) { + if (null != t) { + var r = { + event_type: e, + points: this.buildPointsObject(t), + device_state: this.buildInputDeviceStateObject(t), + selector: this.buildSelectorObject(t), + }; + null != r.points && + (this.model.set("_js2py_pointsCallback", r), this.touch()); + } + } + handle_plotly_doubleclick(t) {} + do_addTraces() { + var t = this.model.get("_py2js_addTraces"); + if (null !== t) { + var e = this; + o() + .addTraces(this.el, t.trace_data) + .then(function () { + e._sendTraceDeltas(t.trace_edit_id); + var r = t.layout_edit_id; + e._sendLayoutDelta(r); + }); + } + } + do_deleteTraces() { + var t = this.model.get("_py2js_deleteTraces"); + if (null !== t) { + var e = t.delete_inds, + r = this; + o() + .deleteTraces(this.el, e) + .then(function () { + var e = t.trace_edit_id; + r._sendTraceDeltas(e); + var n = t.layout_edit_id; + r._sendLayoutDelta(n); + }); + } + } + do_moveTraces() { + var t = this.model.get("_py2js_moveTraces"); + if (null !== t) { + var e = t.current_trace_inds, + n = t.new_trace_inds; + r().isEqual(e, n) || o().moveTraces(this.el, e, n); + } + } + do_restyle() { + var t = this.model.get("_py2js_restyle"); + if (null !== t) { + var e = t.restyle_data, + r = this.model._normalize_trace_indexes(t.restyle_traces); + (e._doNotReportToPy = !0), + o().restyle(this.el, e, r), + this._sendTraceDeltas(t.trace_edit_id); + var n = t.layout_edit_id; + this._sendLayoutDelta(n); + } + } + do_relayout() { + var t = this.model.get("_py2js_relayout"); + if (null !== t) { + t.source_view_id !== this.viewID && + ((t.relayout_data._doNotReportToPy = !0), + o().relayout(this.el, t.relayout_data)); + var e = t.layout_edit_id; + this._sendLayoutDelta(e); + } + } + do_update() { + var t = this.model.get("_py2js_update"); + if (null !== t) { + var e = t.style_data || {}, + r = t.layout_data || {}, + n = this.model._normalize_trace_indexes(t.style_traces); + (e._doNotReportToPy = !0), + o().update(this.el, e, r, n), + this._sendTraceDeltas(t.trace_edit_id); + var i = t.layout_edit_id; + this._sendLayoutDelta(i); + } + } + do_animate() { + var t = this.model.get("_py2js_animate"); + if (null !== t) { + var e = t.animation_opts, + r = { + data: t.style_data, + layout: t.layout_data, + traces: this.model._normalize_trace_indexes(t.style_traces), + _doNotReportToPy: !0, + }, + n = this; + o() + .animate(this.el, r, e) + .then(function () { + n._sendTraceDeltas(t.trace_edit_id); + var e = t.layout_edit_id; + n._sendLayoutDelta(e); + }); + } + } + _sendLayoutDelta(t) { + var e = { + layout_delta: b(this.getFullLayout(), this.model.get("_layout")), + layout_edit_id: t, + }; + this.model.set("_js2py_layoutDelta", e), this.touch(); + } + _sendTraceDeltas(t) { + for ( + var e = this.model.get("_data"), + n = r().range(e.length), + i = new Array(n.length), + a = this.getFullData(), + o = 0; + o < n.length; + o++ + ) { + var s = n[o]; + i[o] = b(a[s], e[s]); + } + var l = { trace_deltas: i, trace_edit_id: t }; + this.model.set("_js2py_traceDeltas", l), this.touch(); + } + } + const p = { + int8: Int8Array, + int16: Int16Array, + int32: Int32Array, + uint8: Uint8Array, + uint16: Uint16Array, + uint32: Uint32Array, + float32: Float32Array, + float64: Float64Array, + }; + function d(t, e) { + var n; + if (r().isTypedArray(t)) + n = (function (t) { + var e; + if (t instanceof Int8Array) e = "int8"; + else if (t instanceof Int16Array) e = "int16"; + else if (t instanceof Int32Array) e = "int32"; + else if (t instanceof Uint8Array) e = "uint8"; + else if (t instanceof Uint16Array) e = "uint16"; + else if (t instanceof Uint32Array) e = "uint32"; + else if (t instanceof Float32Array) e = "float32"; + else { + if (!(t instanceof Float64Array)) return t; + e = "float64"; + } + return { dtype: e, shape: [t.length], value: t.buffer }; + })(t); + else if (Array.isArray(t)) { + n = new Array(t.length); + for (var i = 0; i < t.length; i++) n[i] = d(t[i]); + } else if (r().isPlainObject(t)) + for (var a in ((n = {}), t)) + t.hasOwnProperty(a) && (n[a] = d(t[a])); + else n = void 0 === t ? "_undefined_" : t; + return n; + } + function v(t, e) { + var n; + if (Array.isArray(t)) { + n = new Array(t.length); + for (var i = 0; i < t.length; i++) n[i] = v(t[i]); + } else if (r().isPlainObject(t)) + if ( + (r().has(t, "value") || r().has(t, "buffer")) && + r().has(t, "dtype") && + r().has(t, "shape") + ) + n = new (0, p[t.dtype])( + r().has(t, "value") ? t.value.buffer : t.buffer.buffer, + ); + else + for (var a in ((n = {}), t)) + t.hasOwnProperty(a) && (n[a] = v(t[a])); + else n = "_undefined_" === t ? void 0 : t; + return n; + } + function g(t, e, r) { + return "_" === r[0] + ? null + : ((n = e), + !ArrayBuffer.isView(n) || n instanceof DataView ? void 0 : e); + var n; + } + function y(t, e) { + for (var n in e) + if (e.hasOwnProperty(n)) { + var i = e[n]; + null === i ? r().unset(t, n) : r().set(t, n, i); + } + } + function m(t, e, n) { + for (var i in e) + if (e.hasOwnProperty(i)) { + var a = e[i]; + Array.isArray(a) || (a = [a]); + for (var o = 0; o < n.length; o++) { + var s = t[n[o]], + l = a[o % a.length]; + null === l ? r().unset(s, i) : void 0 !== l && r().set(s, i, l); + } + } + } + function x(t, e) { + for (var n = 0; n < e.length; n++) { + var i = e[n]; + r().unset(t, i); + } + } + function b(t, e) { + var n; + for (var i in ((n = Array.isArray(t) ? new Array(t.length) : {}), + null == e && (e = {}), + t)) + if ( + "_" !== i[0] && + t.hasOwnProperty(i) && + null !== t[i] && + (!r().isEqual(t[i], e[i]) || "uid" === i) + ) { + var a = t[i]; + if (e.hasOwnProperty(i) && "object" == typeof a) + if (Array.isArray(a)) + if (a.length > 0 && "object" == typeof a[0]) { + n[i] = new Array(a.length); + for (var o = 0; o < a.length; o++) + !Array.isArray(e[i]) || e[i].length <= o + ? (n[i][o] = a[o]) + : (n[i][o] = b(a[o], e[i][o])); + } else n[i] = a; + else { + var s = b(a, e[i]); + Object.keys(s).length > 0 && (n[i] = s); + } + else + "object" != typeof a || Array.isArray(a) + ? void 0 !== a && "function" != typeof a && (n[i] = a) + : (n[i] = b(a, {})); + } + return n; + } + function _(t, e, r, n) { + if ((r || (r = 16), void 0 === e && (e = 24), e <= 0)) return "0"; + var i, + a, + o = Math.log(Math.pow(2, e)) / Math.log(r), + s = ""; + for (i = 2; o === 1 / 0; i *= 2) + o = (Math.log(Math.pow(2, e / i)) / Math.log(r)) * i; + var l = o - Math.floor(o); + for (i = 0; i < Math.floor(o); i++) + s = Math.floor(Math.random() * r).toString(r) + s; + l && + ((a = Math.pow(r, l)), + (s = Math.floor(Math.random() * a).toString(r) + s)); + var u = parseInt(s, r); + return (t && t[s]) || (u !== 1 / 0 && u >= Math.pow(2, e)) + ? n > 10 + ? (console.warn("randstr failed uniqueness"), s) + : _(t, e, r, (n || 0) + 1) + : s; + } + window.__webpack_public_path__ = + document.querySelector("body").getAttribute("data-base-url") + + "nbextensions/jupyterlab-plotly"; + })(), + i + ); + })()); diff --git a/stock-env/share/man/man1/ttx.1 b/stock-env/share/man/man1/ttx.1 index bba23b5..cfd779c 100644 --- a/stock-env/share/man/man1/ttx.1 +++ b/stock-env/share/man/man1/ttx.1 @@ -222,4 +222,4 @@ restrictions. .\" fill-column: 72 .\" sentence-end: "[.?!][]\"')}]*\\($\\| $\\| \\| \\)[ \n]*" .\" sentence-end-double-space: t -.\" End: \ No newline at end of file +.\" End: diff --git a/tests/test_package.py b/tests/test_package.py index 3d7b370..cd7e18b 100644 --- a/tests/test_package.py +++ b/tests/test_package.py @@ -2,8 +2,6 @@ import importlib.metadata -import pystocktopus as m - def test_version(): assert importlib.metadata.version("pystocktopus") == "0.1"